.close {
  float: right;
  font-size: 1.5rem;
  font-weight: 700;
  line-height: 1;
  color: #000;
  text-shadow: 0 1px 0 #fff;
  opacity: 0.5;
}
@media (max-width: 1200px) {
  .close {
    font-size: calc(1.275rem + 0.3vw);
  }
}
.close:hover {
  color: #000;
  text-decoration: none;
}
.close:not(:disabled):not(.disabled):hover, .close:not(:disabled):not(.disabled):focus {
  opacity: 0.75;
}

button.close {
  padding: 0;
  background-color: transparent;
  border: 0;
}

a.close.disabled {
  pointer-events: none;
}

.toast {
  flex-basis: 350px;
  max-width: 350px;
  font-size: 0.875rem;
  background-color: rgba(255, 255, 255, 0.85);
  background-clip: padding-box;
  border: 1px solid rgba(0, 0, 0, 0.1);
  box-shadow: 0 0.25rem 0.75rem rgba(0, 0, 0, 0.1);
  opacity: 0;
  border-radius: 0.25rem;
}
.toast:not(:last-child) {
  margin-bottom: 0.75rem;
}
.toast.showing {
  opacity: 1;
}
.toast.show {
  display: block;
  opacity: 1;
}
.toast.hide {
  display: none;
}

.toast-header {
  display: flex;
  align-items: center;
  padding: 0.25rem 0.75rem;
  color: #6c757d;
  background-color: rgba(255, 255, 255, 0.85);
  background-clip: padding-box;
  border-bottom: 1px solid rgba(0, 0, 0, 0.05);
  border-top-left-radius: calc(0.25rem - 1px);
  border-top-right-radius: calc(0.25rem - 1px);
}

.toast-body {
  padding: 0.75rem;
}

.mdc-touch-target-wrapper {
  display: inline;
}

@keyframes mdc-checkbox-unchecked-checked-checkmark-path {
  0%, 50% {
    stroke-dashoffset: 29.7833385;
  }
  50% {
    animation-timing-function: cubic-bezier(0, 0, 0.2, 1);
  }
  100% {
    stroke-dashoffset: 0;
  }
}
@keyframes mdc-checkbox-unchecked-indeterminate-mixedmark {
  0%, 68.2% {
    transform: scaleX(0);
  }
  68.2% {
    animation-timing-function: cubic-bezier(0, 0, 0, 1);
  }
  100% {
    transform: scaleX(1);
  }
}
@keyframes mdc-checkbox-checked-unchecked-checkmark-path {
  from {
    animation-timing-function: cubic-bezier(0.4, 0, 1, 1);
    opacity: 1;
    stroke-dashoffset: 0;
  }
  to {
    opacity: 0;
    stroke-dashoffset: -29.7833385;
  }
}
@keyframes mdc-checkbox-checked-indeterminate-checkmark {
  from {
    animation-timing-function: cubic-bezier(0, 0, 0.2, 1);
    transform: rotate(0deg);
    opacity: 1;
  }
  to {
    transform: rotate(45deg);
    opacity: 0;
  }
}
@keyframes mdc-checkbox-indeterminate-checked-checkmark {
  from {
    animation-timing-function: cubic-bezier(0.14, 0, 0, 1);
    transform: rotate(45deg);
    opacity: 0;
  }
  to {
    transform: rotate(360deg);
    opacity: 1;
  }
}
@keyframes mdc-checkbox-checked-indeterminate-mixedmark {
  from {
    animation-timing-function: mdc-animation-deceleration-curve-timing-function;
    transform: rotate(-45deg);
    opacity: 0;
  }
  to {
    transform: rotate(0deg);
    opacity: 1;
  }
}
@keyframes mdc-checkbox-indeterminate-checked-mixedmark {
  from {
    animation-timing-function: cubic-bezier(0.14, 0, 0, 1);
    transform: rotate(0deg);
    opacity: 1;
  }
  to {
    transform: rotate(315deg);
    opacity: 0;
  }
}
@keyframes mdc-checkbox-indeterminate-unchecked-mixedmark {
  0% {
    animation-timing-function: linear;
    transform: scaleX(1);
    opacity: 1;
  }
  32.8%, 100% {
    transform: scaleX(0);
    opacity: 0;
  }
}
.mdc-checkbox {
  display: inline-block;
  position: relative;
  flex: 0 0 18px;
  box-sizing: content-box;
  width: 18px;
  height: 18px;
  line-height: 0;
  white-space: nowrap;
  cursor: pointer;
  vertical-align: bottom;
  padding: 11px;
}

.mdc-checkbox .mdc-checkbox__native-control:checked ~ .mdc-checkbox__background::before,
.mdc-checkbox .mdc-checkbox__native-control:indeterminate ~ .mdc-checkbox__background::before,
.mdc-checkbox .mdc-checkbox__native-control[data-indeterminate=true] ~ .mdc-checkbox__background::before {
  background-color: #018786;
  /* @alternate */
  background-color: var(--mdc-theme-secondary, #018786);
}

.mdc-checkbox.mdc-checkbox--selected .mdc-checkbox__ripple::before, .mdc-checkbox.mdc-checkbox--selected .mdc-checkbox__ripple::after {
  background-color: #018786;
  /* @alternate */
  background-color: var(--mdc-theme-secondary, #018786);
}

.mdc-checkbox.mdc-checkbox--selected:hover .mdc-checkbox__ripple::before {
  opacity: 0.04;
}

.mdc-checkbox.mdc-checkbox--selected.mdc-ripple-upgraded--background-focused .mdc-checkbox__ripple::before, .mdc-checkbox.mdc-checkbox--selected:not(.mdc-ripple-upgraded):focus .mdc-checkbox__ripple::before {
  transition-duration: 75ms;
  opacity: 0.12;
}

.mdc-checkbox.mdc-checkbox--selected:not(.mdc-ripple-upgraded) .mdc-checkbox__ripple::after {
  transition: opacity 150ms linear;
}

.mdc-checkbox.mdc-checkbox--selected:not(.mdc-ripple-upgraded):active .mdc-checkbox__ripple::after {
  transition-duration: 75ms;
  opacity: 0.12;
}

.mdc-checkbox.mdc-checkbox--selected.mdc-ripple-upgraded {
  --mdc-ripple-fg-opacity: 0.12;
}

.mdc-checkbox.mdc-ripple-upgraded--background-focused.mdc-checkbox--selected .mdc-checkbox__ripple::before,
.mdc-checkbox.mdc-ripple-upgraded--background-focused.mdc-checkbox--selected .mdc-checkbox__ripple::after {
  background-color: #018786;
  /* @alternate */
  background-color: var(--mdc-theme-secondary, #018786);
}

.mdc-checkbox .mdc-checkbox__background {
  top: 11px;
  left: 11px;
}

.mdc-checkbox .mdc-checkbox__background::before {
  top: -13px;
  left: -13px;
  width: 40px;
  height: 40px;
}

.mdc-checkbox .mdc-checkbox__native-control {
  top: 0px;
  right: 0px;
  left: 0px;
  width: 40px;
  height: 40px;
}

.mdc-checkbox__native-control:enabled:not(:checked):not(:indeterminate):not([data-indeterminate=true]) ~ .mdc-checkbox__background {
  border-color: rgba(0, 0, 0, 0.54);
  background-color: transparent;
}

.mdc-checkbox__native-control:enabled:checked ~ .mdc-checkbox__background,
.mdc-checkbox__native-control:enabled:indeterminate ~ .mdc-checkbox__background,
.mdc-checkbox__native-control[data-indeterminate=true]:enabled ~ .mdc-checkbox__background {
  border-color: #018786;
  /* @alternate */
  border-color: var(--mdc-theme-secondary, #018786);
  background-color: #018786;
  /* @alternate */
  background-color: var(--mdc-theme-secondary, #018786);
}

@keyframes mdc-checkbox-fade-in-background-8A000000secondary00000000secondary {
  0% {
    border-color: rgba(0, 0, 0, 0.54);
    background-color: transparent;
  }
  50% {
    border-color: #018786;
    /* @alternate */
    border-color: var(--mdc-theme-secondary, #018786);
    background-color: #018786;
    /* @alternate */
    background-color: var(--mdc-theme-secondary, #018786);
  }
}
@keyframes mdc-checkbox-fade-out-background-8A000000secondary00000000secondary {
  0%, 80% {
    border-color: #018786;
    /* @alternate */
    border-color: var(--mdc-theme-secondary, #018786);
    background-color: #018786;
    /* @alternate */
    background-color: var(--mdc-theme-secondary, #018786);
  }
  100% {
    border-color: rgba(0, 0, 0, 0.54);
    background-color: transparent;
  }
}
.mdc-checkbox--anim-unchecked-checked .mdc-checkbox__native-control:enabled ~ .mdc-checkbox__background, .mdc-checkbox--anim-unchecked-indeterminate .mdc-checkbox__native-control:enabled ~ .mdc-checkbox__background {
  animation-name: mdc-checkbox-fade-in-background-8A000000secondary00000000secondary;
}

.mdc-checkbox--anim-checked-unchecked .mdc-checkbox__native-control:enabled ~ .mdc-checkbox__background, .mdc-checkbox--anim-indeterminate-unchecked .mdc-checkbox__native-control:enabled ~ .mdc-checkbox__background {
  animation-name: mdc-checkbox-fade-out-background-8A000000secondary00000000secondary;
}

.mdc-checkbox__native-control[disabled]:not(:checked):not(:indeterminate):not([data-indeterminate=true]) ~ .mdc-checkbox__background {
  border-color: rgba(0, 0, 0, 0.38);
  background-color: transparent;
}

.mdc-checkbox__native-control[disabled]:checked ~ .mdc-checkbox__background,
.mdc-checkbox__native-control[disabled]:indeterminate ~ .mdc-checkbox__background,
.mdc-checkbox__native-control[data-indeterminate=true][disabled] ~ .mdc-checkbox__background {
  border-color: transparent;
  background-color: rgba(0, 0, 0, 0.38);
}

.mdc-checkbox__native-control:enabled ~ .mdc-checkbox__background .mdc-checkbox__checkmark {
  color: #fff;
}

.mdc-checkbox__native-control:enabled ~ .mdc-checkbox__background .mdc-checkbox__mixedmark {
  border-color: #fff;
}

.mdc-checkbox__native-control:disabled ~ .mdc-checkbox__background .mdc-checkbox__checkmark {
  color: #fff;
}

.mdc-checkbox__native-control:disabled ~ .mdc-checkbox__background .mdc-checkbox__mixedmark {
  border-color: #fff;
}

@media screen and (-ms-high-contrast: active) {
  .mdc-checkbox__native-control[disabled]:not(:checked):not(:indeterminate):not([data-indeterminate=true]) ~ .mdc-checkbox__background {
    border-color: GrayText;
    background-color: transparent;
  }
  .mdc-checkbox__native-control[disabled]:checked ~ .mdc-checkbox__background,
  .mdc-checkbox__native-control[disabled]:indeterminate ~ .mdc-checkbox__background,
  .mdc-checkbox__native-control[data-indeterminate=true][disabled] ~ .mdc-checkbox__background {
    border-color: GrayText;
    background-color: transparent;
  }
  .mdc-checkbox__native-control:disabled ~ .mdc-checkbox__background .mdc-checkbox__checkmark {
    color: GrayText;
  }
  .mdc-checkbox__native-control:disabled ~ .mdc-checkbox__background .mdc-checkbox__mixedmark {
    border-color: GrayText;
  }
  .mdc-checkbox__mixedmark {
    margin: 0 1px;
  }
}
.mdc-checkbox--disabled {
  cursor: default;
  pointer-events: none;
}

.mdc-checkbox__background {
  display: inline-flex;
  position: absolute;
  align-items: center;
  justify-content: center;
  box-sizing: border-box;
  width: 18px;
  height: 18px;
  border: 2px solid currentColor;
  border-radius: 2px;
  background-color: transparent;
  pointer-events: none;
  will-change: background-color, border-color;
  transition: background-color 90ms 0ms cubic-bezier(0.4, 0, 0.6, 1), border-color 90ms 0ms cubic-bezier(0.4, 0, 0.6, 1);
}

.mdc-checkbox__background .mdc-checkbox__background::before {
  background-color: #000;
  /* @alternate */
  background-color: var(--mdc-theme-on-surface, #000);
}

.mdc-checkbox__checkmark {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  width: 100%;
  opacity: 0;
  transition: opacity 180ms 0ms cubic-bezier(0.4, 0, 0.6, 1);
}

.mdc-checkbox--upgraded .mdc-checkbox__checkmark {
  opacity: 1;
}

.mdc-checkbox__checkmark-path {
  transition: stroke-dashoffset 180ms 0ms cubic-bezier(0.4, 0, 0.6, 1);
  stroke: currentColor;
  stroke-width: 3.12px;
  stroke-dashoffset: 29.7833385;
  stroke-dasharray: 29.7833385;
}

.mdc-checkbox__mixedmark {
  width: 100%;
  height: 0;
  transform: scaleX(0) rotate(0deg);
  border-width: 1px;
  border-style: solid;
  opacity: 0;
  transition: opacity 90ms 0ms cubic-bezier(0.4, 0, 0.6, 1), transform 90ms 0ms cubic-bezier(0.4, 0, 0.6, 1);
}

.mdc-checkbox--upgraded .mdc-checkbox__background,
.mdc-checkbox--upgraded .mdc-checkbox__checkmark,
.mdc-checkbox--upgraded .mdc-checkbox__checkmark-path,
.mdc-checkbox--upgraded .mdc-checkbox__mixedmark {
  transition: none !important;
}

.mdc-checkbox--anim-unchecked-checked .mdc-checkbox__background, .mdc-checkbox--anim-unchecked-indeterminate .mdc-checkbox__background, .mdc-checkbox--anim-checked-unchecked .mdc-checkbox__background, .mdc-checkbox--anim-indeterminate-unchecked .mdc-checkbox__background {
  animation-duration: 180ms;
  animation-timing-function: linear;
}

.mdc-checkbox--anim-unchecked-checked .mdc-checkbox__checkmark-path {
  animation: mdc-checkbox-unchecked-checked-checkmark-path 180ms linear 0s;
  transition: none;
}

.mdc-checkbox--anim-unchecked-indeterminate .mdc-checkbox__mixedmark {
  animation: mdc-checkbox-unchecked-indeterminate-mixedmark 90ms linear 0s;
  transition: none;
}

.mdc-checkbox--anim-checked-unchecked .mdc-checkbox__checkmark-path {
  animation: mdc-checkbox-checked-unchecked-checkmark-path 90ms linear 0s;
  transition: none;
}

.mdc-checkbox--anim-checked-indeterminate .mdc-checkbox__checkmark {
  animation: mdc-checkbox-checked-indeterminate-checkmark 90ms linear 0s;
  transition: none;
}

.mdc-checkbox--anim-checked-indeterminate .mdc-checkbox__mixedmark {
  animation: mdc-checkbox-checked-indeterminate-mixedmark 90ms linear 0s;
  transition: none;
}

.mdc-checkbox--anim-indeterminate-checked .mdc-checkbox__checkmark {
  animation: mdc-checkbox-indeterminate-checked-checkmark 500ms linear 0s;
  transition: none;
}

.mdc-checkbox--anim-indeterminate-checked .mdc-checkbox__mixedmark {
  animation: mdc-checkbox-indeterminate-checked-mixedmark 500ms linear 0s;
  transition: none;
}

.mdc-checkbox--anim-indeterminate-unchecked .mdc-checkbox__mixedmark {
  animation: mdc-checkbox-indeterminate-unchecked-mixedmark 300ms linear 0s;
  transition: none;
}

.mdc-checkbox__native-control:checked ~ .mdc-checkbox__background,
.mdc-checkbox__native-control:indeterminate ~ .mdc-checkbox__background,
.mdc-checkbox__native-control[data-indeterminate=true] ~ .mdc-checkbox__background {
  transition: border-color 90ms 0ms cubic-bezier(0, 0, 0.2, 1), background-color 90ms 0ms cubic-bezier(0, 0, 0.2, 1);
}

.mdc-checkbox__native-control:checked ~ .mdc-checkbox__background .mdc-checkbox__checkmark-path,
.mdc-checkbox__native-control:indeterminate ~ .mdc-checkbox__background .mdc-checkbox__checkmark-path,
.mdc-checkbox__native-control[data-indeterminate=true] ~ .mdc-checkbox__background .mdc-checkbox__checkmark-path {
  stroke-dashoffset: 0;
}

.mdc-checkbox__background::before {
  position: absolute;
  transform: scale(0, 0);
  border-radius: 50%;
  opacity: 0;
  pointer-events: none;
  content: "";
  will-change: opacity, transform;
  transition: opacity 90ms 0ms cubic-bezier(0.4, 0, 0.6, 1), transform 90ms 0ms cubic-bezier(0.4, 0, 0.6, 1);
}

.mdc-checkbox__native-control:focus ~ .mdc-checkbox__background::before {
  transform: scale(1);
  opacity: 0.12;
  transition: opacity 80ms 0ms cubic-bezier(0, 0, 0.2, 1), transform 80ms 0ms cubic-bezier(0, 0, 0.2, 1);
}

.mdc-checkbox__native-control {
  position: absolute;
  margin: 0;
  padding: 0;
  opacity: 0;
  cursor: inherit;
}

.mdc-checkbox__native-control:disabled {
  cursor: default;
  pointer-events: none;
}

.mdc-checkbox--touch {
  margin-top: 4px;
  margin-bottom: 4px;
  margin-right: 4px;
  margin-left: 4px;
}

.mdc-checkbox--touch .mdc-checkbox__native-control {
  top: -4px;
  right: -4px;
  left: -4px;
  width: 48px;
  height: 48px;
}

.mdc-checkbox__native-control:checked ~ .mdc-checkbox__background .mdc-checkbox__checkmark {
  transition: opacity 180ms 0ms cubic-bezier(0, 0, 0.2, 1), transform 180ms 0ms cubic-bezier(0, 0, 0.2, 1);
  opacity: 1;
}

.mdc-checkbox__native-control:checked ~ .mdc-checkbox__background .mdc-checkbox__mixedmark {
  transform: scaleX(1) rotate(-45deg);
}

.mdc-checkbox__native-control:indeterminate ~ .mdc-checkbox__background .mdc-checkbox__checkmark,
.mdc-checkbox__native-control[data-indeterminate=true] ~ .mdc-checkbox__background .mdc-checkbox__checkmark {
  transform: rotate(45deg);
  opacity: 0;
  transition: opacity 90ms 0ms cubic-bezier(0.4, 0, 0.6, 1), transform 90ms 0ms cubic-bezier(0.4, 0, 0.6, 1);
}

.mdc-checkbox__native-control:indeterminate ~ .mdc-checkbox__background .mdc-checkbox__mixedmark,
.mdc-checkbox__native-control[data-indeterminate=true] ~ .mdc-checkbox__background .mdc-checkbox__mixedmark {
  transform: scaleX(1) rotate(0deg);
  opacity: 1;
}

@keyframes mdc-ripple-fg-radius-in {
  from {
    animation-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
    transform: translate(var(--mdc-ripple-fg-translate-start, 0)) scale(1);
  }
  to {
    transform: translate(var(--mdc-ripple-fg-translate-end, 0)) scale(var(--mdc-ripple-fg-scale, 1));
  }
}
@keyframes mdc-ripple-fg-opacity-in {
  from {
    animation-timing-function: linear;
    opacity: 0;
  }
  to {
    opacity: var(--mdc-ripple-fg-opacity, 0);
  }
}
@keyframes mdc-ripple-fg-opacity-out {
  from {
    animation-timing-function: linear;
    opacity: var(--mdc-ripple-fg-opacity, 0);
  }
  to {
    opacity: 0;
  }
}
.mdc-checkbox {
  --mdc-ripple-fg-size: 0;
  --mdc-ripple-left: 0;
  --mdc-ripple-top: 0;
  --mdc-ripple-fg-scale: 1;
  --mdc-ripple-fg-translate-end: 0;
  --mdc-ripple-fg-translate-start: 0;
  -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
}

.mdc-checkbox .mdc-checkbox__ripple::before,
.mdc-checkbox .mdc-checkbox__ripple::after {
  position: absolute;
  border-radius: 50%;
  opacity: 0;
  pointer-events: none;
  content: "";
}

.mdc-checkbox .mdc-checkbox__ripple::before {
  transition: opacity 15ms linear, background-color 15ms linear;
  z-index: 1;
}

.mdc-checkbox.mdc-ripple-upgraded .mdc-checkbox__ripple::before {
  transform: scale(var(--mdc-ripple-fg-scale, 1));
}

.mdc-checkbox.mdc-ripple-upgraded .mdc-checkbox__ripple::after {
  top: 0;
  /* @noflip */
  left: 0;
  transform: scale(0);
  transform-origin: center center;
}

.mdc-checkbox.mdc-ripple-upgraded--unbounded .mdc-checkbox__ripple::after {
  top: var(--mdc-ripple-top, 0);
  /* @noflip */
  left: var(--mdc-ripple-left, 0);
}

.mdc-checkbox.mdc-ripple-upgraded--foreground-activation .mdc-checkbox__ripple::after {
  animation: mdc-ripple-fg-radius-in 225ms forwards, mdc-ripple-fg-opacity-in 75ms forwards;
}

.mdc-checkbox.mdc-ripple-upgraded--foreground-deactivation .mdc-checkbox__ripple::after {
  animation: mdc-ripple-fg-opacity-out 150ms;
  transform: translate(var(--mdc-ripple-fg-translate-end, 0)) scale(var(--mdc-ripple-fg-scale, 1));
}

.mdc-checkbox .mdc-checkbox__ripple::before, .mdc-checkbox .mdc-checkbox__ripple::after {
  background-color: #000;
  /* @alternate */
  background-color: var(--mdc-theme-on-surface, #000);
}

.mdc-checkbox:hover .mdc-checkbox__ripple::before {
  opacity: 0.04;
}

.mdc-checkbox.mdc-ripple-upgraded--background-focused .mdc-checkbox__ripple::before, .mdc-checkbox:not(.mdc-ripple-upgraded):focus .mdc-checkbox__ripple::before {
  transition-duration: 75ms;
  opacity: 0.12;
}

.mdc-checkbox:not(.mdc-ripple-upgraded) .mdc-checkbox__ripple::after {
  transition: opacity 150ms linear;
}

.mdc-checkbox:not(.mdc-ripple-upgraded):active .mdc-checkbox__ripple::after {
  transition-duration: 75ms;
  opacity: 0.12;
}

.mdc-checkbox.mdc-ripple-upgraded {
  --mdc-ripple-fg-opacity: 0.12;
}

.mdc-checkbox .mdc-checkbox__ripple::before,
.mdc-checkbox .mdc-checkbox__ripple::after {
  top: calc(50% - 50%);
  /* @noflip */
  left: calc(50% - 50%);
  width: 100%;
  height: 100%;
}

.mdc-checkbox.mdc-ripple-upgraded .mdc-checkbox__ripple::before,
.mdc-checkbox.mdc-ripple-upgraded .mdc-checkbox__ripple::after {
  top: var(--mdc-ripple-top, calc(50% - 50%));
  /* @noflip */
  left: var(--mdc-ripple-left, calc(50% - 50%));
  width: var(--mdc-ripple-fg-size, 100%);
  height: var(--mdc-ripple-fg-size, 100%);
}

.mdc-checkbox.mdc-ripple-upgraded .mdc-checkbox__ripple::after {
  width: var(--mdc-ripple-fg-size, 100%);
  height: var(--mdc-ripple-fg-size, 100%);
}

.mdc-checkbox__ripple {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  pointer-events: none;
}

.mdc-ripple-upgraded--background-focused .mdc-checkbox__background::before {
  content: none;
}

.mdc-elevation-overlay {
  position: absolute;
  border-radius: inherit;
  opacity: 0;
  pointer-events: none;
  transition: opacity 280ms cubic-bezier(0.4, 0, 0.2, 1);
  background-color: #fff;
}

.mdc-dialog,
.mdc-dialog__scrim {
  position: fixed;
  top: 0;
  left: 0;
  align-items: center;
  justify-content: center;
  box-sizing: border-box;
  width: 100%;
  height: 100%;
}

.mdc-dialog {
  display: none;
  z-index: 7;
}

.mdc-dialog .mdc-dialog__surface {
  background-color: #fff;
  /* @alternate */
  background-color: var(--mdc-theme-surface, #fff);
}

.mdc-dialog .mdc-dialog__scrim {
  background-color: rgba(0, 0, 0, 0.32);
}

.mdc-dialog .mdc-dialog__title {
  color: rgba(0, 0, 0, 0.87);
}

.mdc-dialog .mdc-dialog__content {
  color: rgba(0, 0, 0, 0.6);
}

.mdc-dialog.mdc-dialog--scrollable .mdc-dialog__title, .mdc-dialog.mdc-dialog--scrollable .mdc-dialog__actions {
  border-color: rgba(0, 0, 0, 0.12);
}

.mdc-dialog .mdc-dialog__surface {
  min-width: 280px;
}

@media (max-width: 592px) {
  .mdc-dialog .mdc-dialog__surface {
    max-width: calc(100vw - 32px);
  }
}
@media (min-width: 592px) {
  .mdc-dialog .mdc-dialog__surface {
    max-width: 560px;
  }
}
.mdc-dialog .mdc-dialog__surface {
  max-height: calc(100% - 32px);
}

@media all and (-ms-high-contrast: none), (-ms-high-contrast: active) {
  .mdc-dialog .mdc-dialog__container {
    /* stylelint-disable */
    /* stylelint-enable*/
  }
}
.mdc-dialog .mdc-dialog__surface {
  border-radius: 4px;
}

.mdc-dialog__scrim {
  opacity: 0;
  z-index: -1;
}

.mdc-dialog__container {
  display: flex;
  flex-direction: row;
  align-items: center;
  justify-content: space-around;
  box-sizing: border-box;
  height: 100%;
  transform: scale(0.8);
  opacity: 0;
  pointer-events: none;
}

.mdc-dialog__surface {
  /* @alternate */
  position: relative;
  /* @alternate */
  box-shadow: 0px 11px 15px -7px rgba(0, 0, 0, 0.2), 0px 24px 38px 3px rgba(0, 0, 0, 0.14), 0px 9px 46px 8px rgba(0, 0, 0, 0.12);
  display: flex;
  flex-direction: column;
  flex-grow: 0;
  flex-shrink: 0;
  box-sizing: border-box;
  max-width: 100%;
  max-height: 100%;
  pointer-events: auto;
  overflow-y: auto;
}

.mdc-dialog__surface .mdc-elevation-overlay {
  width: 100%;
  height: 100%;
  top: 0;
  /* @noflip */
  left: 0;
}

.mdc-dialog[dir=rtl] .mdc-dialog__surface, [dir=rtl] .mdc-dialog .mdc-dialog__surface {
  /* @noflip */
  text-align: right;
}

.mdc-dialog__title {
  display: block;
  margin-top: 0;
  /* @alternate */
  line-height: normal;
  -moz-osx-font-smoothing: grayscale;
  -webkit-font-smoothing: antialiased;
  font-family: Roboto, sans-serif;
  /* @alternate */
  font-family: var(--mdc-typography-headline6-font-family, var(--mdc-typography-font-family, Roboto, sans-serif));
  font-size: 1.25rem;
  /* @alternate */
  font-size: var(--mdc-typography-headline6-font-size, 1.25rem);
  line-height: 2rem;
  /* @alternate */
  line-height: var(--mdc-typography-headline6-line-height, 2rem);
  font-weight: 500;
  /* @alternate */
  font-weight: var(--mdc-typography-headline6-font-weight, 500);
  letter-spacing: 0.0125em;
  /* @alternate */
  letter-spacing: var(--mdc-typography-headline6-letter-spacing, 0.0125em);
  text-decoration: inherit;
  /* @alternate */
  text-decoration: var(--mdc-typography-headline6-text-decoration, inherit);
  text-transform: inherit;
  /* @alternate */
  text-transform: var(--mdc-typography-headline6-text-transform, inherit);
  position: relative;
  flex-shrink: 0;
  box-sizing: border-box;
  margin: 0;
  padding: 0 24px 9px;
  border-bottom: 1px solid transparent;
}

.mdc-dialog__title::before {
  display: inline-block;
  width: 0;
  height: 40px;
  content: "";
  vertical-align: 0;
}

.mdc-dialog[dir=rtl] .mdc-dialog__title, [dir=rtl] .mdc-dialog .mdc-dialog__title {
  /* @noflip */
  text-align: right;
}

.mdc-dialog--scrollable .mdc-dialog__title {
  padding-bottom: 15px;
}

.mdc-dialog__content {
  -moz-osx-font-smoothing: grayscale;
  -webkit-font-smoothing: antialiased;
  font-family: Roboto, sans-serif;
  /* @alternate */
  font-family: var(--mdc-typography-body1-font-family, var(--mdc-typography-font-family, Roboto, sans-serif));
  font-size: 1rem;
  /* @alternate */
  font-size: var(--mdc-typography-body1-font-size, 1rem);
  line-height: 1.5rem;
  /* @alternate */
  line-height: var(--mdc-typography-body1-line-height, 1.5rem);
  font-weight: 400;
  /* @alternate */
  font-weight: var(--mdc-typography-body1-font-weight, 400);
  letter-spacing: 0.03125em;
  /* @alternate */
  letter-spacing: var(--mdc-typography-body1-letter-spacing, 0.03125em);
  text-decoration: inherit;
  /* @alternate */
  text-decoration: var(--mdc-typography-body1-text-decoration, inherit);
  text-transform: inherit;
  /* @alternate */
  text-transform: var(--mdc-typography-body1-text-transform, inherit);
  flex-grow: 1;
  box-sizing: border-box;
  margin: 0;
  padding: 20px 24px;
  overflow: auto;
  -webkit-overflow-scrolling: touch;
}

.mdc-dialog__content > :first-child {
  margin-top: 0;
}

.mdc-dialog__content > :last-child {
  margin-bottom: 0;
}

.mdc-dialog__title + .mdc-dialog__content {
  padding-top: 0;
}

.mdc-dialog--scrollable .mdc-dialog__content {
  padding-top: 8px;
  padding-bottom: 8px;
}

.mdc-dialog__content .mdc-list:first-child:last-child {
  padding: 6px 0 0;
}

.mdc-dialog--scrollable .mdc-dialog__content .mdc-list:first-child:last-child {
  padding: 0;
}

.mdc-dialog__actions {
  display: flex;
  position: relative;
  flex-shrink: 0;
  flex-wrap: wrap;
  align-items: center;
  justify-content: flex-end;
  box-sizing: border-box;
  min-height: 52px;
  margin: 0;
  padding: 8px;
  border-top: 1px solid transparent;
}

.mdc-dialog--stacked .mdc-dialog__actions {
  flex-direction: column;
  align-items: flex-end;
}

.mdc-dialog__button {
  /* @noflip */
  margin-left: 8px;
  /* @noflip */
  margin-right: 0;
  max-width: 100%;
  /* @noflip */
  text-align: right;
}

[dir=rtl] .mdc-dialog__button, .mdc-dialog__button[dir=rtl] {
  /* @noflip */
  margin-left: 0;
  /* @noflip */
  margin-right: 8px;
}

.mdc-dialog__button:first-child {
  /* @noflip */
  margin-left: 0;
  /* @noflip */
  margin-right: 0;
}

[dir=rtl] .mdc-dialog__button:first-child, .mdc-dialog__button:first-child[dir=rtl] {
  /* @noflip */
  margin-left: 0;
  /* @noflip */
  margin-right: 0;
}

.mdc-dialog[dir=rtl] .mdc-dialog__button, [dir=rtl] .mdc-dialog .mdc-dialog__button {
  /* @noflip */
  text-align: left;
}

.mdc-dialog--stacked .mdc-dialog__button:not(:first-child) {
  margin-top: 12px;
}

.mdc-dialog--open,
.mdc-dialog--opening,
.mdc-dialog--closing {
  display: flex;
}

.mdc-dialog--opening .mdc-dialog__scrim {
  transition: opacity 150ms linear;
}

.mdc-dialog--opening .mdc-dialog__container {
  transition: opacity 75ms linear, transform 150ms 0ms cubic-bezier(0, 0, 0.2, 1);
}

.mdc-dialog--closing .mdc-dialog__scrim,
.mdc-dialog--closing .mdc-dialog__container {
  transition: opacity 75ms linear;
}

.mdc-dialog--closing .mdc-dialog__container {
  transform: scale(1);
}

.mdc-dialog--open .mdc-dialog__scrim {
  opacity: 1;
}

.mdc-dialog--open .mdc-dialog__container {
  transform: scale(1);
  opacity: 1;
}

.mdc-dialog-scroll-lock {
  overflow: hidden;
}

.mdc-list-item--disabled {
  pointer-events: none;
  color: rgba(32, 29, 29, 0.3);
}

.mdc-menu-surface {
  scrollbar-width: thin;
  scrollbar-color: #d6d8da #fff;
  z-index: 20;
}
.mdc-menu-surface::-webkit-scrollbar {
  width: 8px;
  background-color: #fff;
}
.mdc-menu-surface::-webkit-scrollbar-thumb {
  outline: none;
  width: 7px;
  border-radius: 7px;
  background-color: #d6d8da;
  border: 1px solid #fff;
}
.mdc-menu-surface--anchor > button {
  display: block;
  text-align: left;
  text-overflow: ellipsis;
}

.mdc-icon-button.material-icons {
  width: 48px;
  font-family: materialIconsRoundWeb, sans-serif;
}

.mdc-radio {
  overflow: hidden;
}

.mdc-radio__ripple {
  overflow: hidden;
  border-radius: 100px;
}

.mdc-menu .mdc-list-item {
  height: auto;
  display: block;
  text-align: left;
  padding-top: 6px;
  padding-bottom: 6px;
  line-height: 1.2;
}
@media (min-width: 992px) {
  .mdc-menu .mdc-list-item {
    padding-top: 10px;
    padding-bottom: 10px;
  }
}

.breadcrumb {
  display: none;
}
@media (min-width: 992px) {
  .breadcrumb {
    display: block;
    list-style: none;
    margin: 30px auto 15px auto;
    font-size: 0;
    font-weight: 300;
    width: 100%;
    padding: 0 15px;
    max-width: 1284px;
    letter-spacing: 0.4px;
  }
}
@media (min-width: 1200px) {
  .breadcrumb {
    margin: 35px auto 20px auto;
  }
}
@media (min-width: 1400px) {
  .breadcrumb {
    margin: 75px auto 20px auto;
  }
}
@media (min-width: 992px) {
  .hero-365 + .breadcrumb {
    margin: 15px auto 16px auto;
  }
}
@media (min-width: 1200px) {
  .hero-365 + .breadcrumb {
    margin: 25px auto 26px auto;
  }
}
@media (min-width: 1400px) {
  .hero-365 + .breadcrumb {
    margin: 36px auto 35px auto;
  }
}
@media (min-width: 992px) {
  .hero-page + .breadcrumb {
    margin: 15px auto;
  }
}
@media (min-width: 1200px) {
  .hero-page + .breadcrumb {
    margin: 25px auto 20px auto;
  }
}
@media (min-width: 1400px) {
  .hero-page + .breadcrumb {
    margin: 36px auto 20px auto;
  }
}
@media (min-width: 992px) {
  .hero-section + .breadcrumb {
    margin: 30px auto 15px auto;
  }
}
@media (min-width: 1200px) {
  .hero-section + .breadcrumb {
    margin: 25px auto 45px auto;
  }
}
@media (min-width: 1400px) {
  .hero-section + .breadcrumb {
    margin: 36px auto 95px auto;
  }
}
@media (min-width: 992px) {
  .landingpage-view .breadcrumb {
    margin: 15px auto;
  }
}
@media (min-width: 1200px) {
  .landingpage-view .breadcrumb {
    max-width: 1080px;
    margin: 25px auto 23px auto;
  }
}
@media (min-width: 1400px) {
  .landingpage-view .breadcrumb {
    margin: 36px auto 34px auto;
    max-width: 1284px;
  }
}
.breadcrumb__list {
  padding: 0;
  margin: 0;
}
.breadcrumb__item {
  font-size: 14px;
  display: inline-block;
  vertical-align: top;
  position: relative;
}
.breadcrumb__item:after {
  content: ">";
  margin: 0 5px 0 4px;
}
.breadcrumb__item:last-of-type {
  font-weight: 500;
}
.breadcrumb__item:last-of-type a {
  color: #00AEEF;
}
.breadcrumb__item:last-of-type:after {
  display: none;
}
.breadcrumb__link {
  color: #201d1d;
}
.breadcrumb__link:hover, .breadcrumb__link:focus {
  text-decoration: underline;
}

.site-form .mdc-text-field--outlined:not(.mdc-text-field--invalid):not(.mdc-text-field--disabled) input:-webkit-autofill {
  -webkit-text-fill-color: #00AEEF !important;
  -webkit-box-shadow: 0 0 0 60px #f5fcfe inset !important;
}
.site-form__checkbox--readonly {
  pointer-events: none;
  user-select: none;
  opacity: 0.3;
}
.site-form__checkbox--readonly ~ label {
  pointer-events: none;
  user-select: none;
}
.site-form__checkbox--readonly ~ label a {
  pointer-events: auto;
}
.site-form .mdc-floating-label {
  user-select: none;
  margin-bottom: 0;
  font-weight: 300;
  letter-spacing: -0.2px;
  line-height: 1.15;
  display: block;
}
@media (min-width: 768px) {
  .site-form .mdc-floating-label {
    letter-spacing: 0;
  }
}
@media (min-width: 1656px) {
  .site-form .mdc-floating-label {
    font-size: 19px;
  }
}
.site-form .mdc-floating-label.mdc-floating-label--float-above {
  text-overflow: clip;
  display: inline-block;
  vertical-align: top;
}
.site-form input[readonly] + .mdc-notched-outline--notched .mdc-notched-outline__leading,
.site-form input[readonly] + .mdc-notched-outline--notched .mdc-notched-outline__notch,
.site-form input[readonly] + .mdc-notched-outline--notched .mdc-notched-outline__trailing {
  border-width: 1px;
}
.site-form input[readonly] + .mdc-notched-outline--notched .mdc-floating-label {
  user-select: none;
}
.site-form .mdc-select--outlined .mdc-floating-label.mdc-floating-label--float-above {
  min-width: 0;
  max-width: none;
}
.site-form .mdc-checkbox {
  margin-left: -11px;
  margin-bottom: -8px;
  overflow: hidden;
}
.site-form .mdc-checkbox .mdc-checkbox__native-control:enabled:not(:checked):not(:indeterminate):not([data-indeterminate=true]) ~ .mdc-checkbox__background {
  border-color: #00a5e3;
  background-color: rgba(0, 0, 0, 0);
}
.site-form .mdc-checkbox .mdc-checkbox__native-control:enabled:checked ~ .mdc-checkbox__background,
.site-form .mdc-checkbox .mdc-checkbox__native-control:enabled:indeterminate ~ .mdc-checkbox__background,
.site-form .mdc-checkbox .mdc-checkbox__native-control[data-indeterminate=true]:enabled ~ .mdc-checkbox__background {
  border-color: #00a5e3;
  background-color: #00a5e3;
}
@keyframes mdc-checkbox-fade-in-background-FF00A5E3FF00A5E300000000FF00A5E3 {
  0% {
    border-color: #00a5e3;
    background-color: rgba(0, 0, 0, 0);
  }
  50% {
    border-color: #00a5e3;
    background-color: #00a5e3;
  }
}
@keyframes mdc-checkbox-fade-out-background-FF00A5E3FF00A5E300000000FF00A5E3 {
  0%, 80% {
    border-color: #00a5e3;
    background-color: #00a5e3;
  }
  100% {
    border-color: #00a5e3;
    background-color: rgba(0, 0, 0, 0);
  }
}
.site-form .mdc-checkbox.mdc-checkbox--anim-unchecked-checked .mdc-checkbox__native-control:enabled ~ .mdc-checkbox__background, .site-form .mdc-checkbox.mdc-checkbox--anim-unchecked-indeterminate .mdc-checkbox__native-control:enabled ~ .mdc-checkbox__background {
  animation-name: mdc-checkbox-fade-in-background-FF00A5E3FF00A5E300000000FF00A5E3;
}
.site-form .mdc-checkbox.mdc-checkbox--anim-checked-unchecked .mdc-checkbox__native-control:enabled ~ .mdc-checkbox__background, .site-form .mdc-checkbox.mdc-checkbox--anim-indeterminate-unchecked .mdc-checkbox__native-control:enabled ~ .mdc-checkbox__background {
  animation-name: mdc-checkbox-fade-out-background-FF00A5E3FF00A5E300000000FF00A5E3;
}
.site-form .mdc-checkbox .mdc-checkbox__native-control:enabled ~ .mdc-checkbox__background .mdc-checkbox__checkmark {
  color: #fff;
}
.site-form .mdc-checkbox .mdc-checkbox__native-control:enabled ~ .mdc-checkbox__background .mdc-checkbox__mixedmark {
  border-color: #fff;
}
.site-form .mdc-checkbox .mdc-checkbox__native-control:checked ~ .mdc-checkbox__background::before,
.site-form .mdc-checkbox .mdc-checkbox__native-control:indeterminate ~ .mdc-checkbox__background::before,
.site-form .mdc-checkbox .mdc-checkbox__native-control[data-indeterminate=true] ~ .mdc-checkbox__background::before {
  background-color: #00a5e3;
}
.site-form .mdc-checkbox.mdc-checkbox--selected .mdc-checkbox__ripple::before, .site-form .mdc-checkbox.mdc-checkbox--selected .mdc-checkbox__ripple::after {
  background-color: #00a5e3;
}
.site-form .mdc-checkbox.mdc-checkbox--selected:hover .mdc-checkbox__ripple::before {
  opacity: 0.08;
}
.site-form .mdc-checkbox.mdc-checkbox--selected.mdc-ripple-upgraded--background-focused .mdc-checkbox__ripple::before, .site-form .mdc-checkbox.mdc-checkbox--selected:not(.mdc-ripple-upgraded):focus .mdc-checkbox__ripple::before {
  transition-duration: 75ms;
  opacity: 0.24;
}
.site-form .mdc-checkbox.mdc-checkbox--selected:not(.mdc-ripple-upgraded) .mdc-checkbox__ripple::after {
  transition: opacity 150ms linear;
}
.site-form .mdc-checkbox.mdc-checkbox--selected:not(.mdc-ripple-upgraded):active .mdc-checkbox__ripple::after {
  transition-duration: 75ms;
  opacity: 0.24;
}
.site-form .mdc-checkbox.mdc-checkbox--selected.mdc-ripple-upgraded {
  --mdc-ripple-fg-opacity: 0.24;
}
.site-form .mdc-checkbox.mdc-ripple-upgraded--background-focused.mdc-checkbox--selected .mdc-checkbox__ripple::before,
.site-form .mdc-checkbox.mdc-ripple-upgraded--background-focused.mdc-checkbox--selected .mdc-checkbox__ripple::after {
  background-color: #00a5e3;
}
.site-form .mdc-checkbox .mdc-checkbox__ripple {
  border-radius: 100px;
  overflow: hidden;
  transform: translateZ(0);
}
.site-form .mdc-checkbox .mdc-checkbox__ripple:before {
  background-color: #00AEEF;
  position: absolute;
  width: 100%;
  height: 100%;
  left: 0;
  top: 0;
}
.site-form .mdc-checkbox .mdc-checkbox__ripple:after {
  background-color: #00AEEF;
  position: absolute;
  width: 100%;
  height: 100%;
  left: 0;
  top: 0;
}
.site-form .mdc-checkbox:hover .mdc-checkbox__ripple:before {
  opacity: 0.08;
  background-color: #00AEEF;
}
.site-form .mdc-checkbox:hover .mdc-checkbox__ripple:after {
  background-color: #00AEEF;
}
.site-form .mdc-radio {
  margin-left: -11px;
  overflow: hidden;
}
.site-form .mdc-radio .mdc-radio__native-control:enabled:not(:checked) + .mdc-radio__background .mdc-radio__outer-circle {
  border-color: #00a5e3;
}
.site-form .mdc-radio .mdc-radio__native-control:enabled:checked + .mdc-radio__background .mdc-radio__outer-circle {
  border-color: #00a5e3;
}
.site-form .mdc-radio .mdc-radio__native-control:enabled + .mdc-radio__background .mdc-radio__inner-circle {
  border-color: #00a5e3;
}
.site-form .mdc-radio .mdc-radio__background::before {
  background-color: #00AEEF;
}
.site-form .mdc-radio + label {
  font-size: 12.5px;
  cursor: pointer;
  font-weight: 300;
  line-height: 1.5;
}
@media (min-width: 768px) {
  .site-form .mdc-radio + label {
    font-size: 16px;
  }
}
@media (min-width: 1656px) {
  .site-form .mdc-radio + label {
    font-size: 19px;
  }
}
.site-form .mdc-radio .mdc-radio__ripple {
  border-radius: 100px;
  overflow: hidden;
  transform: translateZ(0);
}
.site-form .mdc-radio .mdc-radio__ripple:before {
  background-color: #00AEEF;
  position: absolute;
  width: 100%;
  height: 100%;
  left: 0;
  top: 0;
}
.site-form .mdc-radio .mdc-radio__ripple:after {
  background-color: #00AEEF;
  position: absolute;
  width: 100%;
  height: 100%;
  left: 0;
  top: 0;
}
.site-form .mdc-radio:hover .mdc-radio__ripple:before {
  background-color: #00AEEF;
  opacity: 0.08;
}
.site-form .mdc-radio-field {
  position: relative;
  padding-bottom: 15px;
}
.site-form .mdc-form-field .mdc-radio + label {
  margin-top: 11.5px;
}
@media (min-width: 768px) {
  .site-form .mdc-form-field .mdc-radio + label {
    margin-top: 8px;
  }
}
@media (min-width: 1656px) {
  .site-form .mdc-form-field .mdc-radio + label {
    margin-top: 6px;
    padding-left: 5px;
  }
}
.site-form .mdc-text-field .mdc-text-field__input {
  caret-color: #201d1d !important;
}
.site-form .mdc-text-field:not(.mdc-text-field--disabled) .mdc-floating-label.mdc-floating-label--float-above {
  color: #00a5e3;
}
.site-form .mdc-text-field--invalid:not(.mdc-text-field--disabled) .mdc-floating-label {
  color: rgba(0, 0, 0, 0.6);
}
.site-form .mdc-text-field--invalid:not(.mdc-text-field--disabled) .mdc-floating-label:after {
  color: rgba(0, 0, 0, 0.6);
}
.site-form .mdc-text-field--invalid:not(.mdc-text-field--disabled) .mdc-text-field__input:required ~ .mdc-notched-outline .mdc-floating-label:after {
  color: rgba(0, 0, 0, 0.6);
}
.site-form .mdc-text-field--invalid:not(.mdc-text-field--disabled) .mdc-text-field__input:required ~ .mdc-notched-outline .mdc-floating-label.mdc-floating-label--float-above:after {
  color: #00a5e3;
}
.was-validated .site-form .mdc-text-field--invalid, .site-form.was-validated .mdc-text-field--invalid {
  margin-bottom: 6px;
}
@media (min-width: 1656px) {
  .was-validated .site-form .mdc-text-field--invalid, .site-form.was-validated .mdc-text-field--invalid {
    margin-bottom: 0;
  }
}
.was-validated .site-form .mdc-checkbox .mdc-checkbox__native-control:invalid ~ .mdc-checkbox__background, .site-form.was-validated .mdc-checkbox .mdc-checkbox__native-control:invalid ~ .mdc-checkbox__background {
  border-color: #ff0000 !important;
}
.was-validated .site-form .mdc-checkbox .mdc-checkbox__native-control:invalid ~ label, .site-form.was-validated .mdc-checkbox .mdc-checkbox__native-control:invalid ~ label {
  color: #ff0000;
}
.was-validated .site-form .mdc-radio .mdc-radio__native-control:invalid ~ .mdc-radio__background .mdc-radio__outer-circle, .was-validated .site-form .mdc-radio .mdc-radio__native-control:invalid ~ .mdc-radio__background .mdc-radio__inner-circle, .site-form.was-validated .mdc-radio .mdc-radio__native-control:invalid ~ .mdc-radio__background .mdc-radio__outer-circle, .site-form.was-validated .mdc-radio .mdc-radio__native-control:invalid ~ .mdc-radio__background .mdc-radio__inner-circle {
  border-color: #ff0000 !important;
}
.was-validated .site-form .mdc-radio .mdc-radio__native-control:invalid ~ label, .site-form.was-validated .mdc-radio .mdc-radio__native-control:invalid ~ label {
  color: #ff0000;
}
.was-validated .site-form .mdc-text-field__input:invalid ~ .mdc-notched-outline .mdc-notched-outline__leading,
.was-validated .site-form .mdc-text-field__input:invalid ~ .mdc-notched-outline .mdc-notched-outline__notch,
.was-validated .site-form .mdc-text-field__input:invalid ~ .mdc-notched-outline .mdc-notched-outline__trailing, .site-form.was-validated .mdc-text-field__input:invalid ~ .mdc-notched-outline .mdc-notched-outline__leading,
.site-form.was-validated .mdc-text-field__input:invalid ~ .mdc-notched-outline .mdc-notched-outline__notch,
.site-form.was-validated .mdc-text-field__input:invalid ~ .mdc-notched-outline .mdc-notched-outline__trailing {
  border-color: #ff0000 !important;
}
.was-validated .site-form .mdc-text-field__input:invalid ~ .mdc-notched-outline .mdc-floating-label, .site-form.was-validated .mdc-text-field__input:invalid ~ .mdc-notched-outline .mdc-floating-label {
  color: #ff0000 !important;
}
.was-validated .site-form .mdc-text-field__input:invalid ~ .mdc-notched-outline .mdc-floating-label:after, .site-form.was-validated .mdc-text-field__input:invalid ~ .mdc-notched-outline .mdc-floating-label:after {
  color: #ff0000 !important;
}
.was-validated .site-form .site-form__checkbox--required.site-form__checkbox--unchecked ~ label, .site-form.was-validated .site-form__checkbox--required.site-form__checkbox--unchecked ~ label {
  color: #ff0000;
}
.was-validated .site-form .site-form__checkbox--required.site-form__checkbox--unchecked ~ label:after, .site-form.was-validated .site-form__checkbox--required.site-form__checkbox--unchecked ~ label:after {
  color: #ff0000;
}
.was-validated .site-form .site-form__checkbox--required.site-form__checkbox--unchecked ~ label a, .site-form.was-validated .site-form__checkbox--required.site-form__checkbox--unchecked ~ label a {
  color: #ff0000;
  text-decoration: underline;
}
.was-validated .site-form .site-form__radio--required.site-form__radio--unchecked ~ label, .site-form.was-validated .site-form__radio--required.site-form__radio--unchecked ~ label {
  color: #ff0000;
}
.was-validated .site-form .site-form__radio--required.site-form__radio--unchecked ~ label:after, .site-form.was-validated .site-form__radio--required.site-form__radio--unchecked ~ label:after {
  color: #ff0000;
}
.was-validated .site-form .site-form__radio--required.site-form__radio--unchecked ~ label a, .site-form.was-validated .site-form__radio--required.site-form__radio--unchecked ~ label a {
  color: #ff0000;
  text-decoration: underline;
}
.was-validated .site-form .mdc-select--outlined.mdc-select--invalid .mdc-select__anchor, .site-form.was-validated .mdc-select--outlined.mdc-select--invalid .mdc-select__anchor {
  background-image: url("data:image/svg+xml;charset=utf8,%3Csvg%20xmlns%3D%22http://www.w3.org/2000/svg%22%20fill%3D%22%23ff0000%22%20viewBox%3D%220%200%2016%2032%22%3E%3Cpath%20d%3D%22M14,11.1H3L8.5,2ZM3,21H14L8.5,30.1Z%22/%3E%3Cpath%20d%3D%22M16,32H0V0H16Z%22%20fill%3D%22none%22/%3E%3C/svg%3E");
  background-color: rgba(255, 0, 0, 0);
}
.was-validated .site-form .mdc-select--outlined.mdc-select--invalid:hover .mdc-select__anchor, .was-validated .site-form .mdc-select--outlined.mdc-select--invalid:focus .mdc-select__anchor, .site-form.was-validated .mdc-select--outlined.mdc-select--invalid:hover .mdc-select__anchor, .site-form.was-validated .mdc-select--outlined.mdc-select--invalid:focus .mdc-select__anchor {
  background-color: rgba(255, 0, 0, 0);
}
.was-validated .site-form .mdc-select--outlined.mdc-select--invalid .mdc-notched-outline__leading,
.was-validated .site-form .mdc-select--outlined.mdc-select--invalid .mdc-notched-outline__notch,
.was-validated .site-form .mdc-select--outlined.mdc-select--invalid .mdc-notched-outline__trailing, .site-form.was-validated .mdc-select--outlined.mdc-select--invalid .mdc-notched-outline__leading,
.site-form.was-validated .mdc-select--outlined.mdc-select--invalid .mdc-notched-outline__notch,
.site-form.was-validated .mdc-select--outlined.mdc-select--invalid .mdc-notched-outline__trailing {
  border-color: #ff0000 !important;
}
.was-validated .site-form .mdc-select--outlined.mdc-select--invalid .mdc-floating-label, .site-form.was-validated .mdc-select--outlined.mdc-select--invalid .mdc-floating-label {
  color: #ff0000 !important;
}
.was-validated .site-form .mdc-select--outlined.mdc-select--invalid .site-form__validation-text, .site-form.was-validated .mdc-select--outlined.mdc-select--invalid .site-form__validation-text {
  display: table;
}
.was-validated .site-form .mdc-radio-field .site-form__validation-text, .site-form.was-validated .mdc-radio-field .site-form__validation-text {
  left: 35px;
  bottom: 10px;
}
.was-validated .site-form .mdc-radio-field--invalid .site-form__validation-text, .site-form.was-validated .mdc-radio-field--invalid .site-form__validation-text {
  display: table;
}
.was-validated .site-form .mdc-form-field--invalid label, .site-form.was-validated .mdc-form-field--invalid label {
  color: #ff0000;
}
.was-validated .site-form .mdc-form-field--invalid label:after, .site-form.was-validated .mdc-form-field--invalid label:after {
  color: #ff0000;
}
.was-validated .site-form .mdc-form-field--invalid label a, .site-form.was-validated .mdc-form-field--invalid label a {
  color: #ff0000;
  text-decoration: underline;
}
.was-validated .site-form .mdc-form-field--invalid ~ .site-form__validation-text, .site-form.was-validated .mdc-form-field--invalid ~ .site-form__validation-text {
  display: block;
  position: static;
  padding-left: 0;
  padding-right: 0;
  background-color: transparent;
  margin: 6px 0 0 0;
  width: 100%;
  max-width: none;
  transform: none;
}
@media (min-width: 1656px) {
  .was-validated .site-form .mdc-form-field--invalid ~ .site-form__validation-text, .site-form.was-validated .mdc-form-field--invalid ~ .site-form__validation-text {
    padding-left: 44px;
  }
}
.was-validated .site-form .mdc-form-field--invalid ~ .newsletter-agreements__info ~ .site-form__validation-text, .site-form.was-validated .mdc-form-field--invalid ~ .newsletter-agreements__info ~ .site-form__validation-text {
  margin-top: -10px;
  margin-bottom: 18px;
}
.site-form.server-side-validated .server-side--invalid ~ .mdc-notched-outline .mdc-notched-outline__leading,
.site-form.server-side-validated .server-side--invalid ~ .mdc-notched-outline .mdc-notched-outline__notch,
.site-form.server-side-validated .server-side--invalid ~ .mdc-notched-outline .mdc-notched-outline__trailing {
  border-color: #ff0000 !important;
  color: #ff0000 !important;
}
.site-form.server-side-validated .server-side--invalid ~ .mdc-notched-outline .mdc-notched-outline__leading:after,
.site-form.server-side-validated .server-side--invalid ~ .mdc-notched-outline .mdc-notched-outline__notch:after,
.site-form.server-side-validated .server-side--invalid ~ .mdc-notched-outline .mdc-notched-outline__trailing:after {
  color: #ff0000 !important;
}
.site-form.server-side-validated .server-side--invalid ~ .mdc-notched-outline .mdc-floating-label {
  color: #ff0000 !important;
}
.site-form.server-side-validated .server-side--invalid ~ .mdc-notched-outline .mdc-floating-label:after {
  color: #ff0000 !important;
}
.site-form.server-side-validated .mdc-select--outlined.server-side--invalid .mdc-select__anchor {
  background-image: url("data:image/svg+xml;charset=utf8,%3Csvg%20xmlns%3D%22http://www.w3.org/2000/svg%22%20fill%3D%22%23ff0000%22%20viewBox%3D%220%200%2016%2032%22%3E%3Cpath%20d%3D%22M14,11.1H3L8.5,2ZM3,21H14L8.5,30.1Z%22/%3E%3Cpath%20d%3D%22M16,32H0V0H16Z%22%20fill%3D%22none%22/%3E%3C/svg%3E");
  background-color: rgba(255, 0, 0, 0);
}
.site-form.server-side-validated .mdc-select--outlined.server-side--invalid:hover .mdc-select__anchor, .site-form.server-side-validated .mdc-select--outlined.server-side--invalid:focus .mdc-select__anchor {
  background-color: rgba(255, 0, 0, 0);
}
.site-form.server-side-validated .mdc-select--outlined.server-side--invalid .mdc-notched-outline__leading,
.site-form.server-side-validated .mdc-select--outlined.server-side--invalid .mdc-notched-outline__notch,
.site-form.server-side-validated .mdc-select--outlined.server-side--invalid .mdc-notched-outline__trailing {
  border-color: #ff0000 !important;
}
.site-form.server-side-validated .mdc-select--outlined.server-side--invalid .mdc-floating-label {
  color: #ff0000 !important;
}
.site-form.server-side-validated .mdc-select--outlined.server-side--invalid .site-form__validation-text {
  display: table;
}
.site-form.server-side-validated .fileinput-container.fileinput-container--invalid .fileinput:not(.fileinput-exists) ~ .site-form__server-validation-text {
  display: block;
  bottom: -5px;
}
.site-form.js-side-validated .js-side--invalid ~ .mdc-notched-outline .mdc-notched-outline__leading,
.site-form.js-side-validated .js-side--invalid ~ .mdc-notched-outline .mdc-notched-outline__notch,
.site-form.js-side-validated .js-side--invalid ~ .mdc-notched-outline .mdc-notched-outline__trailing {
  border-color: #ff0000 !important;
  color: #ff0000 !important;
}
.site-form.js-side-validated .js-side--invalid ~ .mdc-notched-outline .mdc-notched-outline__leading:after,
.site-form.js-side-validated .js-side--invalid ~ .mdc-notched-outline .mdc-notched-outline__notch:after,
.site-form.js-side-validated .js-side--invalid ~ .mdc-notched-outline .mdc-notched-outline__trailing:after {
  color: #ff0000 !important;
}
.site-form.js-side-validated .js-side--invalid ~ .mdc-notched-outline .mdc-floating-label {
  color: #ff0000 !important;
}
.site-form.js-side-validated .js-side--invalid ~ .mdc-notched-outline .mdc-floating-label:after {
  color: #ff0000 !important;
}
.site-form.js-side-validated .mdc-select--outlined.js-side--invalid .mdc-select__anchor {
  background-image: url("data:image/svg+xml;charset=utf8,%3Csvg%20xmlns%3D%22http://www.w3.org/2000/svg%22%20fill%3D%22%23ff0000%22%20viewBox%3D%220%200%2016%2032%22%3E%3Cpath%20d%3D%22M14,11.1H3L8.5,2ZM3,21H14L8.5,30.1Z%22/%3E%3Cpath%20d%3D%22M16,32H0V0H16Z%22%20fill%3D%22none%22/%3E%3C/svg%3E");
  background-color: rgba(255, 0, 0, 0);
}
.site-form.js-side-validated .mdc-select--outlined.js-side--invalid:hover .mdc-select__anchor, .site-form.js-side-validated .mdc-select--outlined.js-side--invalid:focus .mdc-select__anchor {
  background-color: rgba(255, 0, 0, 0);
}
.site-form.js-side-validated .mdc-select--outlined.js-side--invalid .mdc-notched-outline__leading,
.site-form.js-side-validated .mdc-select--outlined.js-side--invalid .mdc-notched-outline__notch,
.site-form.js-side-validated .mdc-select--outlined.js-side--invalid .mdc-notched-outline__trailing {
  border-color: #ff0000 !important;
}
.site-form.js-side-validated .mdc-select--outlined.js-side--invalid .mdc-floating-label {
  color: #ff0000 !important;
}
.site-form.js-side-validated .mdc-select--outlined.js-side--invalid .site-form__validation-text {
  display: table;
}
.site-form .mdc-form-field {
  display: flex;
  align-items: flex-start;
}
.site-form .mdc-form-field--checkbox {
  font-weight: 300;
  color: #414042;
  font-size: 15px;
  margin-bottom: 10px;
  position: relative;
  flex-wrap: wrap;
}
@media (min-width: 375px) {
  .site-form .mdc-form-field--checkbox {
    font-size: 17px;
  }
}
@media (min-width: 1656px) {
  .site-form .mdc-form-field--checkbox {
    font-size: 19px;
    margin-bottom: 14px;
  }
}
.site-form .mdc-form-field--checkbox label {
  cursor: pointer;
  max-width: calc(100% - 40px);
  margin-top: 6px !important;
  line-height: 1.52;
}
@media (min-width: 1400px) {
  .site-form .mdc-form-field--checkbox label {
    line-height: 1.578;
  }
}
.site-form .mdc-form-field--checkbox label .ezrichtext-field {
  display: inline;
}
.site-form .mdc-form-field--checkbox label .ezrichtext-field p:last-of-type {
  display: inline;
}
.site-form .mdc-form-field--checkbox label .ezrichtext-field:after {
  content: none;
  display: none;
}
.site-form .mdc-form-field label {
  margin: 9px 0 0 0;
  padding-left: 2px;
}
@media (min-width: 375px) {
  .site-form .mdc-form-field label {
    padding-left: 5px;
    margin: 8px 0 0 0;
  }
}
@media (min-width: 1656px) {
  .site-form .mdc-form-field label {
    margin: 6px 0 0 0;
    padding-left: 14px;
  }
}
.site-form .mdc-form-field label a:hover, .site-form .mdc-form-field label a:focus {
  text-decoration: underline;
  color: #2653B9;
}
.site-form .mdc-text-field {
  border-radius: 0;
  letter-spacing: 0;
  line-height: 1.15;
  height: 48px;
}
@media (min-width: 1656px) {
  .site-form .mdc-text-field {
    line-height: 1.55;
    height: 64px;
    font-size: 19px;
  }
}
@media (min-width: 1656px) {
  .site-form .mdc-text-field__input {
    font-size: 19px;
  }
}
.site-form .text-field-row {
  display: flex;
  align-items: stretch;
  justify-content: flex-start;
  flex-wrap: wrap;
}
.site-form .text-field-helper {
  font-size: 0.9rem;
  margin-bottom: 1rem;
}
.site-form .text-field-description {
  display: block;
  margin-top: 10px;
  font-size: 12px;
}
.site-form .text-field-container {
  margin-bottom: 13px;
  width: 100%;
  position: relative;
}
@media (min-width: 1656px) {
  .site-form .text-field-container {
    margin-bottom: 28px;
  }
}
.site-form .text-field-container .mdc-text-field {
  width: 100%;
}
.site-form .text-field-container .text-field-container {
  margin-bottom: 0;
}
.site-form .text-field-container--full {
  width: 100%;
}
.site-form .text-field-container--half {
  width: calc(50% - 6px);
  margin-right: 12px;
}
@media (min-width: 768px) {
  .site-form .text-field-container--half {
    width: calc(50% - 10px);
    margin-right: 20px;
  }
}
.site-form .text-field-container--half + .text-field-container--half {
  margin-right: 0;
}
.site-form .text-field-container--half-slash {
  width: calc(50% - 16px);
  margin-right: 0;
}
@media (min-width: 768px) {
  .site-form .text-field-container--desktop-half {
    width: calc(50% - 10px);
    margin-right: 20px;
  }
}
@media (min-width: 768px) {
  .site-form .text-field-container--desktop-half + .text-field-container--desktop-half {
    margin-right: 0;
  }
}
@media (max-width: 767.9px) {
  .site-form .text-field-container--mobile-full {
    width: 100%;
    margin-right: 0;
  }
}
.site-form .text-field-container--row-slash {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  flex-wrap: nowrap;
  background-image: url("data:image/svg+xml;charset=utf8,%3Csvg%20xmlns%3D%22http://www.w3.org/2000/svg%22%20fill%3D%22%237a7a7a%22%20viewBox%3D%220%200%2019%2033%22%3E%3Cpath%20d%3D%22M17.55,1.54,3.89,31.78a.38.38,0,0,1-.34.22H1.38A.38.38,0,0,1,1,31.46L14.69,1.22A.39.39,0,0,1,15,1H17.2A.38.38,0,0,1,17.55,1.54Z%22/%3E%3Cpath%20d%3D%22M19,33H0V0H19Z%22%20fill%3D%22none%22/%3E%3C/svg%3E");
  background-position: top 16px center;
  background-repeat: no-repeat;
  background-size: 9px 18px;
}
@media (min-width: 1656px) {
  .site-form .text-field-container--row-slash {
    background-position: top 21px center;
    background-size: 10px 20px;
  }
}
.site-form .mdc-button {
  min-height: 48px;
  font-size: 16px;
}
@media (min-width: 1656px) {
  .site-form .mdc-button {
    min-height: 64px;
    font-size: 24px;
  }
}
.site-form .mdc-text-field--outlined .mdc-floating-label,
.site-form .mdc-text-field--textarea .mdc-floating-label {
  top: 14px;
  transform: none;
}
.firefox .site-form .mdc-text-field--outlined .mdc-floating-label,
.firefox .site-form .mdc-text-field--textarea .mdc-floating-label {
  top: 13px;
}
@media (min-width: 1656px) {
  .site-form .mdc-text-field--outlined .mdc-floating-label,
  .site-form .mdc-text-field--textarea .mdc-floating-label {
    top: 19px;
  }
  .firefox .site-form .mdc-text-field--outlined .mdc-floating-label,
  .firefox .site-form .mdc-text-field--textarea .mdc-floating-label {
    top: 18px;
  }
}
.site-form .mdc-text-field--outlined .mdc-notched-outline--upgraded .mdc-floating-label--float-above,
.site-form .mdc-text-field--outlined.mdc-notched-outline--upgraded .mdc-floating-label--float-above {
  transform: translateY(-150%) scale(0.75);
  top: 21px;
}
.firefox .site-form .mdc-text-field--outlined .mdc-notched-outline--upgraded .mdc-floating-label--float-above,
.firefox .site-form .mdc-text-field--outlined.mdc-notched-outline--upgraded .mdc-floating-label--float-above {
  top: 20px;
}
@media (min-width: 1656px) {
  .site-form .mdc-text-field--outlined .mdc-notched-outline--upgraded .mdc-floating-label--float-above,
  .site-form .mdc-text-field--outlined.mdc-notched-outline--upgraded .mdc-floating-label--float-above {
    font-size: 19px;
    top: 24px;
  }
  .firefox .site-form .mdc-text-field--outlined .mdc-notched-outline--upgraded .mdc-floating-label--float-above,
  .firefox .site-form .mdc-text-field--outlined.mdc-notched-outline--upgraded .mdc-floating-label--float-above {
    top: 20px;
  }
}
.site-form .mdc-text-field--textarea .mdc-notched-outline--upgraded .mdc-floating-label--float-above {
  transform: translateY(-150%) scale(0.75);
  top: 23px;
}
.firefox .site-form .mdc-text-field--textarea .mdc-notched-outline--upgraded .mdc-floating-label--float-above {
  top: 22px;
}
@media (min-width: 1656px) {
  .site-form .mdc-text-field--textarea .mdc-notched-outline--upgraded .mdc-floating-label--float-above {
    font-size: 19px;
    top: 25px;
  }
  .firefox .site-form .mdc-text-field--textarea .mdc-notched-outline--upgraded .mdc-floating-label--float-above {
    top: 21px;
  }
}
.site-form .mdc-text-field--outlined.mdc-text-field--focused .mdc-notched-outline--upgraded .mdc-floating-label--float-above,
.site-form .mdc-text-field--outlined.mdc-text-field--focused.mdc-notched-outline--upgraded .mdc-floating-label--float-above {
  top: 20px;
}
.firefox .site-form .mdc-text-field--outlined.mdc-text-field--focused .mdc-notched-outline--upgraded .mdc-floating-label--float-above,
.firefox .site-form .mdc-text-field--outlined.mdc-text-field--focused.mdc-notched-outline--upgraded .mdc-floating-label--float-above {
  top: 19px;
}
@media (min-width: 1656px) {
  .site-form .mdc-text-field--outlined.mdc-text-field--focused .mdc-notched-outline--upgraded .mdc-floating-label--float-above,
  .site-form .mdc-text-field--outlined.mdc-text-field--focused.mdc-notched-outline--upgraded .mdc-floating-label--float-above {
    top: 23px;
  }
  .firefox .site-form .mdc-text-field--outlined.mdc-text-field--focused .mdc-notched-outline--upgraded .mdc-floating-label--float-above,
  .firefox .site-form .mdc-text-field--outlined.mdc-text-field--focused.mdc-notched-outline--upgraded .mdc-floating-label--float-above {
    top: 19px;
  }
}
.site-form .mdc-text-field--textarea.mdc-text-field--focused .mdc-notched-outline--upgraded .mdc-floating-label--float-above {
  top: 23px;
}
.firefox .site-form .mdc-text-field--textarea.mdc-text-field--focused .mdc-notched-outline--upgraded .mdc-floating-label--float-above {
  top: 22px;
}
@media (min-width: 1656px) {
  .site-form .mdc-text-field--textarea.mdc-text-field--focused .mdc-notched-outline--upgraded .mdc-floating-label--float-above {
    top: 25px;
  }
  .firefox .site-form .mdc-text-field--textarea.mdc-text-field--focused .mdc-notched-outline--upgraded .mdc-floating-label--float-above {
    top: 21px;
  }
}
.site-form .mdc-text-field--outlined .mdc-notched-outline .mdc-notched-outline__leading,
.site-form .mdc-text-field--textarea .mdc-notched-outline .mdc-notched-outline__leading,
.site-form .mdc-text-field--outlined .mdc-notched-outline .mdc-notched-outline__trailing,
.site-form .mdc-text-field--textarea .mdc-notched-outline .mdc-notched-outline__trailing {
  border-radius: 0;
}
.site-form .mdc-text-field--outlined:not(.mdc-text-field--disabled):not(.mdc-text-field--invalid) .mdc-notched-outline__leading,
.site-form .mdc-text-field--outlined:not(.mdc-text-field--disabled):not(.mdc-text-field--invalid) .mdc-notched-outline__notch,
.site-form .mdc-text-field--outlined:not(.mdc-text-field--disabled):not(.mdc-text-field--invalid) .mdc-notched-outline__trailing {
  border-color: #00a5e3;
}
.site-form .mdc-text-field--textarea:not(.mdc-text-field--disabled):not(.mdc-text-field--invalid) .mdc-notched-outline__leading,
.site-form .mdc-text-field--textarea:not(.mdc-text-field--disabled):not(.mdc-text-field--invalid) .mdc-notched-outline__notch,
.site-form .mdc-text-field--textarea:not(.mdc-text-field--disabled):not(.mdc-text-field--invalid) .mdc-notched-outline__trailing {
  border-color: #00a5e3;
}
.site-form .mdc-text-field--outlined:not(.mdc-text-field--disabled).mdc-text-field--invalid .mdc-notched-outline__leading,
.site-form .mdc-text-field--outlined:not(.mdc-text-field--disabled).mdc-text-field--invalid .mdc-notched-outline__notch,
.site-form .mdc-text-field--outlined:not(.mdc-text-field--disabled).mdc-text-field--invalid .mdc-notched-outline__trailing {
  border-color: #00a5e3;
}
.site-form .mdc-text-field--textarea:not(.mdc-text-field--disabled).mdc-text-field--invalid .mdc-notched-outline__leading,
.site-form .mdc-text-field--textarea:not(.mdc-text-field--disabled).mdc-text-field--invalid .mdc-notched-outline__notch,
.site-form .mdc-text-field--textarea:not(.mdc-text-field--disabled).mdc-text-field--invalid .mdc-notched-outline__trailing {
  border-color: #00a5e3;
}
.site-form .mdc-text-field:not(.mdc-text-field--focused):not(.mdc-text-field--invalid) .mdc-text-field__input:hover ~ .mdc-notched-outline .mdc-notched-outline__leading,
.site-form .mdc-text-field:not(.mdc-text-field--focused):not(.mdc-text-field--invalid) .mdc-text-field__input:hover ~ .mdc-notched-outline .mdc-notched-outline__notch,
.site-form .mdc-text-field:not(.mdc-text-field--focused):not(.mdc-text-field--invalid) .mdc-text-field__input:hover ~ .mdc-notched-outline .mdc-notched-outline__trailing {
  border-color: #00a5e3;
}
.site-form .mdc-text-field:not(.mdc-text-field--focused).mdc-text-field--invalid .mdc-text-field__input:hover ~ .mdc-notched-outline .mdc-notched-outline__leading,
.site-form .mdc-text-field:not(.mdc-text-field--focused).mdc-text-field--invalid .mdc-text-field__input:hover ~ .mdc-notched-outline .mdc-notched-outline__notch,
.site-form .mdc-text-field:not(.mdc-text-field--focused).mdc-text-field--invalid .mdc-text-field__input:hover ~ .mdc-notched-outline .mdc-notched-outline__trailing {
  border-color: #00a5e3;
}
.site-form__validation-text {
  position: absolute;
  margin: auto;
  max-width: calc(100% - 26px);
  bottom: 0;
  transform: translateY(50%);
  left: 13px;
  color: #ff0000;
  font-size: 10.5px;
  line-height: 1;
  display: none;
  padding-left: 2px;
  padding-right: 2px;
  background-color: #fff;
  font-weight: 300;
  user-select: none;
}
@media (min-width: 375px) {
  .site-form__validation-text {
    font-size: 12px;
  }
}
@media (min-width: 1656px) {
  .site-form__validation-text {
    font-size: 13px;
  }
}
input:valid ~ .site-form__validation-text {
  display: none !important;
}
.was-validated input:invalid ~ .site-form__validation-text {
  display: block !important;
}
.was-validated .mdc-text-field--invalid .site-form__validation-text {
  display: block;
}
.was-validated .site-form__checkbox--required.site-form__checkbox--unchecked ~ .site-form__validation-text {
  display: block;
  position: static;
  padding-left: 0;
  padding-right: 0;
  background-color: transparent;
  margin: 6px 0 0 0;
  width: 100%;
  max-width: none;
  transform: none;
}
@media (min-width: 1656px) {
  .was-validated .site-form__checkbox--required.site-form__checkbox--unchecked ~ .site-form__validation-text {
    padding-left: 44px;
  }
}
.site-form__server-error {
  color: #ff0000;
  font-weight: 300;
  margin-bottom: 20px;
}
.site-form__server-validation-text {
  position: absolute;
  margin: auto;
  max-width: calc(100% - 26px);
  bottom: 0;
  transform: translateY(50%);
  left: 13px;
  color: #ff0000;
  font-size: 10.5px;
  line-height: 1;
  display: none;
  padding-left: 2px;
  padding-right: 2px;
  background-color: #fff;
  font-weight: 300;
  user-select: none;
}
@media (min-width: 375px) {
  .site-form__server-validation-text {
    font-size: 12px;
  }
}
@media (min-width: 1656px) {
  .site-form__server-validation-text {
    font-size: 13px;
  }
}
.server-side-validated .server-side--invalid ~ .site-form__server-validation-text {
  display: block;
}
.site-form__js-validation-text {
  position: absolute;
  margin: auto;
  max-width: calc(100% - 26px);
  bottom: 0;
  transform: translateY(50%);
  left: 13px;
  color: #ff0000;
  font-size: 10.5px;
  line-height: 1;
  display: none;
  padding-left: 2px;
  padding-right: 2px;
  background-color: #fff;
  font-weight: 300;
  user-select: none;
}
@media (min-width: 375px) {
  .site-form__js-validation-text {
    font-size: 12px;
  }
}
@media (min-width: 1656px) {
  .site-form__js-validation-text {
    font-size: 13px;
  }
}
.js-side-validated .js-side--invalid ~ .site-form__js-validation-text {
  display: block;
}
.site-form .mdc-menu {
  z-index: 2000;
}
@media (min-width: 992px) {
  .site-form .mdc-menu {
    z-index: 10;
  }
}
.site-form .mdc-list-item {
  height: auto;
  min-height: 48px;
  padding-top: 10px;
  padding-bottom: 10px;
  display: block;
  text-overflow: ellipsis;
  width: 100%;
}
.site-form .mdc-select--outlined {
  border-radius: 0;
  letter-spacing: 0;
  line-height: 1.15;
  height: 48px;
}
.site-form .mdc-select--outlined .mdc-notched-outline .mdc-notched-outline__leading {
  /* @noflip */
  border-radius: 0 0 0 0;
}
[dir=rtl] .site-form .mdc-select--outlined .mdc-notched-outline .mdc-notched-outline__leading, .site-form .mdc-select--outlined .mdc-notched-outline .mdc-notched-outline__leading[dir=rtl] {
  /* @noflip */
  border-radius: 0 0 0 0;
}
.site-form .mdc-select--outlined .mdc-notched-outline .mdc-notched-outline__trailing {
  /* @noflip */
  border-radius: 0 0 0 0;
}
[dir=rtl] .site-form .mdc-select--outlined .mdc-notched-outline .mdc-notched-outline__trailing, .site-form .mdc-select--outlined .mdc-notched-outline .mdc-notched-outline__trailing[dir=rtl] {
  /* @noflip */
  border-radius: 0 0 0 0;
}
.site-form .mdc-select--outlined .mdc-select__selected-text {
  border-radius: 0;
}
.site-form .mdc-select--outlined:not(.mdc-select--disabled) .mdc-notched-outline__leading,
.site-form .mdc-select--outlined:not(.mdc-select--disabled) .mdc-notched-outline__notch,
.site-form .mdc-select--outlined:not(.mdc-select--disabled) .mdc-notched-outline__trailing {
  border-color: #00a5e3;
}
.site-form .mdc-select--outlined:not(.mdc-select--disabled).mdc-select--focused .mdc-notched-outline .mdc-notched-outline__leading,
.site-form .mdc-select--outlined:not(.mdc-select--disabled).mdc-select--focused .mdc-notched-outline .mdc-notched-outline__notch,
.site-form .mdc-select--outlined:not(.mdc-select--disabled).mdc-select--focused .mdc-notched-outline .mdc-notched-outline__trailing {
  border-width: 2px;
}
.site-form .mdc-select--outlined:not(.mdc-select--disabled).mdc-select--focused .mdc-notched-outline .mdc-notched-outline__leading,
.site-form .mdc-select--outlined:not(.mdc-select--disabled).mdc-select--focused .mdc-notched-outline .mdc-notched-outline__notch,
.site-form .mdc-select--outlined:not(.mdc-select--disabled).mdc-select--focused .mdc-notched-outline .mdc-notched-outline__trailing {
  border-color: #00a5e3;
}
.site-form .mdc-select--outlined:not(.mdc-select--disabled):not(.mdc-select--focused) .mdc-select__anchor:hover .mdc-notched-outline .mdc-notched-outline__leading,
.site-form .mdc-select--outlined:not(.mdc-select--disabled):not(.mdc-select--focused) .mdc-select__anchor:hover .mdc-notched-outline .mdc-notched-outline__notch,
.site-form .mdc-select--outlined:not(.mdc-select--disabled):not(.mdc-select--focused) .mdc-select__anchor:hover .mdc-notched-outline .mdc-notched-outline__trailing {
  border-color: #00a5e3;
}
.site-form .mdc-select--outlined:not(.mdc-select--disabled).mdc-select--focused .mdc-floating-label {
  color: #00a5e3;
}
@media (min-width: 1656px) {
  .site-form .mdc-select--outlined {
    background-size: 15px 31px;
    background-position: right 14px center;
    line-height: 1.4;
    height: 64px;
    font-size: 19px;
  }
}
.site-form .mdc-select--outlined .mdc-menu {
  width: 100%;
}
.site-form .mdc-select--outlined .mdc-select__anchor {
  width: 100%;
  height: 48px;
  background-position: right 12px center;
  background-size: 12px 25px;
  background-image: url("data:image/svg+xml;charset=utf8,%3Csvg%20xmlns%3D%22http://www.w3.org/2000/svg%22%20fill%3D%22%2300AEEF%22%20viewBox%3D%220%200%2016%2032%22%3E%3Cpath%20d%3D%22M14,11.1H3L8.5,2ZM3,21H14L8.5,30.1Z%22/%3E%3Cpath%20d%3D%22M16,32H0V0H16Z%22%20fill%3D%22none%22/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-color: #fff;
  transition: background-color 0.2s;
}
@media (min-width: 1656px) {
  .site-form .mdc-select--outlined .mdc-select__anchor {
    height: 64px;
  }
}
.site-form .mdc-select--outlined .mdc-select__selected-text {
  line-height: 47px;
  padding-top: 0;
  padding-bottom: 0;
  height: 100%;
  overflow: hidden;
  text-overflow: ellipsis;
  width: 100%;
  white-space: nowrap;
  display: block;
  padding-right: 28px;
  min-width: 0;
  user-select: none;
}
@media (min-width: 1656px) {
  .site-form .mdc-select--outlined .mdc-select__selected-text {
    line-height: 62px;
    font-size: 19px;
    padding-right: 52px;
  }
}
.site-form .mdc-select--outlined .mdc-floating-label {
  top: 22px;
  cursor: pointer;
}
@media (min-width: 1656px) {
  .site-form .mdc-select--outlined .mdc-floating-label {
    top: 30px;
  }
}
.site-form .mdc-select--outlined .mdc-floating-label.mdc-floating-label--float-above {
  top: 13px;
}
@media (min-width: 1656px) {
  .site-form .mdc-select--outlined .mdc-floating-label.mdc-floating-label--float-above {
    top: 24px;
  }
}
.firefox .site-form .mdc-select--outlined .mdc-floating-label.mdc-floating-label--float-above {
  top: 12px;
}
@media (min-width: 1656px) {
  .firefox .site-form .mdc-select--outlined .mdc-floating-label.mdc-floating-label--float-above {
    top: 22px;
  }
}
.site-form .mdc-select--outlined .mdc-select__anchor .mdc-notched-outline--upgraded .mdc-floating-label--float-above,
.site-form .mdc-select--outlined .mdc-select__anchor.mdc-notched-outline--upgraded .mdc-floating-label--float-above {
  transform: translateY(-106%) scale(0.75);
  color: #00a5e3;
}
@media (min-width: 1656px) {
  .site-form .mdc-select--outlined .mdc-select__anchor .mdc-notched-outline--upgraded .mdc-floating-label--float-above,
  .site-form .mdc-select--outlined .mdc-select__anchor.mdc-notched-outline--upgraded .mdc-floating-label--float-above {
    transform: translateY(-147%) scale(0.75);
    font-size: 19px;
  }
}
.site-form .mdc-select--outlined:hover .mdc-select__anchor, .site-form .mdc-select--outlined:focus .mdc-select__anchor {
  background-color: rgba(0, 174, 239, 0.06);
}
.site-form .mdc-select--outlined:not(.mdc-select--disabled) .mdc-floating-label {
  color: #00a5e3;
}
.site-form .mdc-select--outlined .mdc-select-input-hidden {
  position: absolute;
  top: -100px;
  left: 0;
  z-index: -1;
  user-select: none;
  width: 100%;
  height: 100%;
  opacity: 0;
}
@media (min-width: 1656px) {
  .site-form .mdc-select--compact {
    background-size: 15px 31px;
    background-position: right 14px center;
    line-height: 1.4;
    height: 54px;
    font-size: 16px;
  }
}
.site-form .mdc-select--compact .mdc-select__anchor {
  width: 100%;
  height: 48px;
  background-position: right 12px center;
  background-size: 12px 25px;
}
@media (min-width: 1656px) {
  .site-form .mdc-select--compact .mdc-select__anchor {
    height: 54px;
  }
}
@media (min-width: 1656px) {
  .site-form .mdc-select--compact .mdc-select__selected-text {
    line-height: 53px;
    font-size: 16px;
  }
}
.site-form .mdc-select--compact .mdc-floating-label.mdc-floating-label--float-above {
  top: 13px;
}
@media (min-width: 1656px) {
  .site-form .mdc-select--compact .mdc-floating-label.mdc-floating-label--float-above {
    top: 19px;
  }
}
.site-form .mdc-select--compact .mdc-select__anchor .mdc-notched-outline--upgraded .mdc-floating-label--float-above,
.site-form .mdc-select--compact .mdc-select__anchor.mdc-notched-outline--upgraded .mdc-floating-label--float-above {
  transform: translateY(-104%) scale(0.75);
}
@media (min-width: 1656px) {
  .site-form .mdc-select--compact .mdc-select__anchor .mdc-notched-outline--upgraded .mdc-floating-label--float-above,
  .site-form .mdc-select--compact .mdc-select__anchor.mdc-notched-outline--upgraded .mdc-floating-label--float-above {
    transform: translateY(-147%) scale(0.75);
    font-size: 16px;
  }
}
@media (min-width: 1656px) {
  .site-form .mdc-text-field--compact {
    line-height: 1.55;
    height: 54px;
    font-size: 16px;
  }
}
@media (min-width: 1656px) {
  .site-form .mdc-text-field--compact .mdc-floating-label {
    top: 17px;
    font-size: 16px;
  }
}
@media (min-width: 1656px) {
  .firefox .site-form .mdc-text-field--compact .mdc-floating-label {
    top: 16px;
  }
}
@media (min-width: 1656px) {
  .site-form .mdc-text-field--compact .mdc-notched-outline--upgraded .mdc-floating-label--float-above {
    top: 20px;
    font-size: 16px;
  }
}
@media (min-width: 1656px) {
  .firefox .site-form .mdc-text-field--compact .mdc-notched-outline--upgraded .mdc-floating-label--float-above {
    top: 19px;
  }
}
@media (min-width: 1656px) {
  .site-form .mdc-text-field--compact.mdc-text-field--focused .mdc-notched-outline--upgraded .mdc-floating-label--float-above {
    top: 19px;
  }
}
@media (min-width: 1656px) {
  .firefox .site-form .mdc-text-field--compact.mdc-text-field--focused .mdc-notched-outline--upgraded .mdc-floating-label--float-above {
    top: 18px;
  }
}
@media (min-width: 1656px) {
  .site-form .mdc-text-field--compact .mdc-text-field__input {
    font-size: 16px;
  }
}
.site-form .mdc-text-field--textarea {
  height: auto;
  width: 100%;
}
.site-form .mdc-text-field--textarea .mdc-text-field__input {
  resize: none;
  margin-top: 10px;
}
@media (min-width: 1656px) {
  .site-form .mdc-text-field--textarea .mdc-text-field__input {
    margin-top: 17px;
  }
}
.site-form__help-text {
  margin-top: 10px;
}
.mdc-form-field--checkbox > .site-form__help-text {
  padding-left: 45px;
}
.site-form__help-text--small {
  font-size: 10.5px;
  font-weight: 300;
}
@media (min-width: 375px) {
  .site-form__help-text--small {
    font-size: 12px;
  }
}
@media (min-width: 1656px) {
  .site-form__help-text--small {
    font-size: 13px;
  }
}
.site-form__info {
  text-align: left;
  font-weight: 300;
  font-size: 12.5px;
  margin-top: 15px;
  margin-bottom: 5px;
  padding: 0;
  line-height: 1.43;
}
.site-form__info--center {
  text-align: center;
}
.site-form__info--spaced {
  margin-top: 32px;
}
@media (min-width: 1656px) {
  .site-form__info {
    margin-top: 20px;
    margin-bottom: 10px;
    line-height: 1.7;
    font-size: 14px;
  }
}
.site-form__info a:hover, .site-form__info a:focus {
  text-decoration: underline;
}
.site-form .mdc-text-field__input:required ~ .mdc-floating-label:not(.required)::after, .site-form .mdc-text-field__input:required ~ .mdc-notched-outline .mdc-floating-label:not(.required)::after {
  display: none;
}

.kaliopcustomforms-form--default {
  max-width: 620px;
  margin: 0 auto;
}
.kaliopcustomforms-form--default button[type=submit] {
  margin: 0 auto;
  display: block;
}
.kaliopcustomforms-form--default .btn--blue:disabled {
  background-color: #2653B9;
}
.kaliopcustomforms-form__message-container {
  padding-bottom: 10px;
  font-size: 16px;
}
.kaliopcustomforms-form__message-container--error {
  color: #ff0000;
}
.kaliopcustomforms-form__message-container--warning {
  color: #F26A21;
}
.kaliopcustomforms-form__message-container--success {
  color: #6ec01e;
}

.custom-field--indented {
  margin-left: 35px;
}

.static_text-field {
  display: inline-block;
}
.static_text-field--small {
  font-size: 12px;
}
.static_text-field--normal {
  font-size: 14px;
}
.static_text-field--large {
  font-size: 19px;
  font-weight: 400;
}

.timeless-form {
  max-width: 682px;
  margin: 0 auto;
}
.timeless-form__actions {
  text-align: center;
}

.annual-form {
  max-width: 400px;
}

.newsletter-agreements .ezrichtext-field, .newsletter-agreements .ngl-rich_text {
  font-size: 15px;
}
@media (min-width: 375px) {
  .newsletter-agreements .ezrichtext-field, .newsletter-agreements .ngl-rich_text {
    font-size: 17px;
  }
}
@media (min-width: 1656px) {
  .newsletter-agreements .ezrichtext-field, .newsletter-agreements .ngl-rich_text {
    font-size: 19px;
  }
}
.newsletter-agreements .ezrichtext-field p:not([class]), .newsletter-agreements .ngl-rich_text p:not([class]) {
  margin-bottom: 0;
}
.newsletter-agreements__title {
  font-weight: 300;
  padding-top: 8px;
  margin-bottom: 0.8rem;
  text-align: left;
}
.newsletter-agreements__title .ezrichtext-field, .newsletter-agreements__title .ngl-rich_text, .newsletter-agreements__title {
  font-size: 15px;
}
@media (min-width: 375px) {
  .newsletter-agreements__title .ezrichtext-field, .newsletter-agreements__title .ngl-rich_text, .newsletter-agreements__title {
    font-size: 17px;
  }
}
@media (min-width: 1656px) {
  .newsletter-agreements__title .ezrichtext-field, .newsletter-agreements__title .ngl-rich_text, .newsletter-agreements__title {
    font-size: 19px;
    letter-spacing: 0.4px;
  }
}
.newsletter-agreements__title--bold {
  font-weight: 500;
}
.newsletter-agreements__choices {
  /*padding-left: 48px;
  .newsletter-agreements--collapsable & {
      padding-left: 0;
  }*/
}
.client-settings .newsletter-agreements__choices {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
}
.client-settings .newsletter-agreements__choices .newsletter-agreements__choice {
  width: 100%;
}
@media (min-width: 1200px) {
  .client-settings .newsletter-agreements__choices .newsletter-agreements__choice {
    width: 47%;
  }
}
.newsletter-agreements__choice {
  position: relative;
}
.newsletter-agreements__toggle {
  border: none;
  overflow: hidden;
  font-family: inherit;
  outline: none;
  margin: 0;
  background-repeat: no-repeat;
  background-size: 18px 18px;
  background-position: right 0 center;
  background-image: url("data:image/svg+xml;charset=utf8,%3Csvg%20xmlns%3D%22http://www.w3.org/2000/svg%22%20fill%3D%22%23201d1d%22%20viewBox%3D%220%200%2036%2036%22%3E%3Cpath%20d%3D%22M33.87,27a1.13,1.13,0,0,1-.8-.33L18,11.72l-15.07,15a1.13,1.13,0,0,1-1.6,0,1.12,1.12,0,0,1,0-1.59L17.2,9.33a1.13,1.13,0,0,1,1.6,0L34.67,25.08a1.13,1.13,0,0,1-.8,1.92Z%22/%3E%3Cpath%20d%3D%22M36,36H0V0H36Z%22%20fill%3D%22none%22/%3E%3C/svg%3E");
  background-color: transparent;
  font-weight: 300;
  line-height: 1.25;
  user-select: none;
  position: absolute;
  top: 7px;
  right: 0;
  padding-right: 30px;
  color: #00AEEF;
  font-size: 15px;
}
@media (min-width: 375px) {
  .newsletter-agreements__toggle {
    font-size: 17px;
  }
}
@media (min-width: 1656px) {
  .newsletter-agreements__toggle {
    font-size: 19px;
  }
}
.newsletter-agreements__toggle:focus {
  outline: none;
}
.newsletter-agreements__toggle .newsletter-agreements__toggle--collapsed {
  display: none;
}
.newsletter-agreements__toggle .newsletter-agreements__toggle--shown {
  display: inline;
}
.newsletter-agreements__toggle.collapsed {
  background-image: url("data:image/svg+xml;charset=utf8,%3Csvg%20xmlns%3D%22http://www.w3.org/2000/svg%22%20fill%3D%22%23201d1d%22%20viewBox%3D%220%200%2036%2036%22%3E%3Cpath%20d%3D%22M2.13,9a1.13,1.13,0,0,1,.8.33L18,24.28,33.07,9.33a1.13,1.13,0,0,1,1.6,0,1.12,1.12,0,0,1,0,1.59L18.8,26.67a1.13,1.13,0,0,1-1.6,0L1.33,10.92A1.13,1.13,0,0,1,2.13,9Z%22/%3E%3Cpath%20d%3D%22M36,36H0V0H36Z%22%20fill%3D%22none%22/%3E%3C/svg%3E");
}
.newsletter-agreements__toggle.collapsed .newsletter-agreements__toggle--collapsed {
  display: inline;
}
.newsletter-agreements__toggle.collapsed .newsletter-agreements__toggle--shown {
  display: none;
}
.newsletter-agreements__panel .newsletter-agreements__info {
  margin: 0;
  padding-bottom: 28px;
}
@media (min-width: 1656px) {
  .newsletter-agreements__panel .newsletter-agreements__info {
    padding-bottom: 16px;
  }
}
.newsletter-agreements__info {
  text-align: left;
  font-weight: 300;
  margin-top: 22px;
  margin-bottom: 28px;
  padding: 0;
  line-height: 1.43;
}
.newsletter-agreements__info--spaced {
  margin-top: 32px;
}
@media (min-width: 1656px) {
  .newsletter-agreements__info--spaced {
    margin-top: 22px;
  }
}
.newsletter-agreements__info--indented, .newsletter-agreements__choice .newsletter-agreements__info {
  padding-left: 35px;
}
@media (min-width: 1656px) {
  .newsletter-agreements__info--indented, .newsletter-agreements__choice .newsletter-agreements__info {
    padding-left: 45px;
  }
}
.newsletter-agreements__info .ezrichtext-field, .newsletter-agreements__info .ngl-rich_text, .newsletter-agreements__info {
  font-size: 12.5px;
}
@media (min-width: 1656px) {
  .newsletter-agreements__info .ezrichtext-field, .newsletter-agreements__info .ngl-rich_text, .newsletter-agreements__info {
    line-height: 1.7;
    font-size: 14px;
  }
}
@media (min-width: 1656px) {
  .newsletter-agreements__info {
    margin-bottom: 16px;
  }
}
.newsletter-agreements__info a:hover, .newsletter-agreements__info a:focus {
  text-decoration: underline;
}

.mdc-checkbox-multiple .site-form__validation-text {
  left: 0;
  bottom: 0;
  position: relative;
  margin-bottom: 14px;
  max-width: unset;
}

.server-side--invalid .site-form__validation-text {
  display: block;
}

.was-validated .newsletter-agreements .site-form__checkbox--required.site-form__checkbox--unchecked ~ .site-form__validation-text {
  padding-left: 35px;
}
@media (min-width: 1656px) {
  .was-validated .newsletter-agreements .site-form__checkbox--required.site-form__checkbox--unchecked ~ .site-form__validation-text {
    padding-left: 44px;
  }
}

.modal-full .mdc-dialog__scrim {
  background-color: rgba(38, 83, 185, 0.5);
}
.modal-full .mdc-dialog__surface {
  max-width: calc(100% - 40px);
  position: relative;
}
@media (min-width: 768px) {
  .modal-full .mdc-dialog__surface {
    max-width: 720px;
  }
}
@media (min-width: 992px) {
  .modal-full .mdc-dialog__surface {
    max-width: 880px;
  }
}
@media (min-width: 1200px) {
  .modal-full .mdc-dialog__surface {
    max-width: 1080px;
  }
}
@media (min-width: 1400px) {
  .modal-full .mdc-dialog__surface {
    max-width: 1280px;
  }
}
@media (min-width: 1656px) {
  .modal-full .mdc-dialog__surface {
    max-width: 1500px;
  }
}
.mdc-dialog .modal-full__content {
  letter-spacing: 0.2px;
  padding: 5px;
}
@media (min-width: 768px) {
  .mdc-dialog .modal-full__content {
    padding: 10px;
  }
}
@media (min-width: 1200px) {
  .mdc-dialog .modal-full__content {
    padding: 20px;
  }
}
.modal-full__close {
  border: 0;
  margin: 0;
  padding: 0;
  background-color: transparent;
  position: absolute;
  z-index: 50;
  top: 2px;
  right: 2px;
  width: 48px;
  height: 48px;
  outline: none;
  user-select: none;
  background-image: url("data:image/svg+xml;charset=utf8,%3Csvg%20xmlns%3D%22http://www.w3.org/2000/svg%22%20fill%3D%22%23201d1d%22%20viewBox%3D%220%200%2036%2036%22%3E%3Cpath%20d%3D%22M2.54,1.17h0a1.08,1.08,0,0,1,.86.39L18,16.12,32.52,1.56a1.13,1.13,0,0,1,.92-.39,1.24,1.24,0,0,1,1,.39,1.32,1.32,0,0,1,.36.92,1.28,1.28,0,0,1-.39.92L19.79,18,34.36,32.52a1.26,1.26,0,0,1,.39.92,1.33,1.33,0,0,1-.36.92,1.2,1.2,0,0,1-.92.39,1.3,1.3,0,0,1-.95-.39L18,19.79,3.4,34.36a1.28,1.28,0,0,1-.92.39,1.26,1.26,0,0,1-.92-.39,1.28,1.28,0,0,1-.39-.92,1.26,1.26,0,0,1,.39-.92L16.12,18,1.56,3.4a1.28,1.28,0,0,1-.39-.92,1.26,1.26,0,0,1,.39-.92,1.26,1.26,0,0,1,.92-.39Z%22/%3E%3Cpath%20d%3D%22M36,36H0V0H36Z%22%20fill%3D%22none%22/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-size: 18px 18px;
  background-position: center;
}
@media (min-width: 768px) {
  .modal-full__close {
    top: 24px;
    right: 24px;
    background-size: 22px 22px;
  }
}
.modal-full__close:hover, .modal-full__close:focus {
  cursor: pointer;
  outline: none;
}

.register {
  position: relative;
}
@media (min-width: 768px) {
  .register {
    max-width: 768px;
  }
}
@media (min-width: 992px) {
  .register {
    max-width: 1369px;
  }
}
.register__title {
  font-size: 28px;
  font-weight: 700;
  text-transform: uppercase;
  color: #00AEEF;
  margin-bottom: 39px;
  text-align: center;
  margin-top: 35px;
  letter-spacing: 0.2px;
}
@media (min-width: 992px) {
  .register__title {
    letter-spacing: 0.5px;
    text-align: left;
    font-size: 48px;
    margin-top: 5px;
    margin-bottom: 30px;
  }
}
@media (min-width: 1656px) {
  .register__title {
    padding-left: 42px;
  }
}
.register__subtitle {
  font-weight: 300;
  text-align: center;
  font-size: 20px;
  margin-bottom: 28px;
}
@media (min-width: 992px) {
  .register__subtitle {
    font-weight: 400;
    text-align: inherit;
    display: block;
    font-size: 24px;
    margin-bottom: 36px;
    letter-spacing: 0.6px;
  }
}
@media (min-width: 1656px) {
  .register__subtitle {
    margin-top: 32px;
  }
}
.register .breadcrumb {
  display: none;
}
@media (min-width: 992px) {
  .register .breadcrumb {
    display: block;
  }
}
.register__row {
  display: flex;
  flex-direction: column;
}
@media (min-width: 992px) {
  .register__row {
    flex-direction: row;
    justify-content: space-between;
  }
}
.register__content {
  width: 100%;
}
@media (min-width: 992px) {
  .register__content {
    flex: 0 1 calc(100% - 375px);
    max-width: calc(100% - 375px);
    padding-right: 40px;
  }
}
@media (min-width: 1656px) {
  .register__content {
    flex: 0 1 710px;
    max-width: 710px;
    padding-left: 42px;
  }
}
.register__context {
  margin-top: 45px;
  margin: 45px -23px -30px -23px;
  background-color: #e1f4fd;
}
@media (min-width: 768px) {
  .register__context {
    background-color: transparent;
  }
}
@media (min-width: 992px) {
  .register__context {
    margin: 0 auto;
    flex: 0 0 425px;
    max-width: 425px;
  }
}
@media (min-width: 1400px) {
  .register__context {
    flex: 0 0 475px;
    max-width: 475px;
  }
}
@media (min-width: 1656px) {
  .register__context {
    margin: 0;
    flex: 0 0 540px;
    max-width: 540px;
  }
}
.register__marketing-note {
  margin-top: 25px;
  font-size: 12.5px;
  padding-left: 33px;
}
@media (min-width: 992px) {
  .register__marketing-note {
    font-size: 16px;
    margin-top: 30px;
  }
}
@media (min-width: 1656px) {
  .register__marketing-note {
    padding-left: 42px;
    font-size: 16px;
    margin-top: 30px;
  }
}
.register__marketing-note p {
  margin: 0;
}
.register__personal-data-toggle {
  font-weight: 400;
  text-transform: none;
}
.site-form .register__personal-data-toggle {
  font-size: 12.5px;
  height: auto;
  min-height: 48px;
  line-height: 1.2;
  padding: 4px 15px;
  margin-left: -15px;
  margin-bottom: -16px;
}
@media (min-width: 992px) {
  .site-form .register__personal-data-toggle {
    font-size: 16px;
  }
}
.register__personal-data-info p {
  margin-bottom: 8px;
}
.register__personal-data-info a {
  font-weight: 400;
}
.register__personal-data-info a:hover, .register__personal-data-info a:focus {
  text-decoration: underline;
}
.register__personal-data-info h4 {
  margin-top: 20px;
  margin-bottom: 8px;
  font-size: inherit;
  font-weight: 700;
}
.register__personal-data-info ul {
  margin-bottom: 0;
}
.register__personal-data-info li {
  margin-bottom: 8px;
}
.register__figure {
  position: relative;
  overflow: hidden;
  margin: 0 auto;
  display: flex;
  flex-direction: column;
  background-color: #f3f5f7;
}
@media (min-width: 768px) {
  .register__figure {
    margin-bottom: 40px;
    max-width: 375px;
  }
}
@media (min-width: 992px) {
  .register__figure {
    margin-bottom: 0;
    max-width: none;
    display: block;
  }
}
.register__canvas {
  display: none;
}
@media (min-width: 992px) {
  .register__canvas {
    background-color: #D8D1C9;
    margin: 0;
    display: block;
    width: 100%;
    max-width: 100%;
    user-select: none;
  }
}
.register__img {
  width: 100%;
  display: block;
  user-select: none;
  order: 2;
}
@media (min-width: 992px) {
  canvas + picture .register__img {
    position: absolute;
    left: 0;
    top: 0;
  }
}
.register__picture {
  order: 2;
  margin-top: -100%;
}
.register__figcaption {
  width: 100%;
  padding: 45px 15px 20px 15px;
  order: 1;
  position: relative;
}
@media (min-width: 375px) {
  .register__figcaption {
    padding: 45px 30px 20px 15px;
  }
}
@media (min-width: 992px) {
  .register__figcaption {
    padding: 30px 15px 20px 15px;
    position: absolute;
    top: 0;
    left: 0;
  }
}
@media (min-width: 1656px) {
  .register__figcaption {
    padding: 30px 40px;
  }
}
.register__figcaption .ezrichtext-field ul:not(.mdc-list):not(.share__links) {
  margin-top: 35px;
}
.register__passwords {
  margin-bottom: 34px;
}
@media (min-width: 992px) {
  .register__passwords {
    margin-bottom: 28px;
  }
}
.register__passwords + .mdc-form-field {
  padding-right: 20px;
}
.register__send {
  margin: 0 auto;
  display: flex;
  text-transform: none;
  font-weight: 400;
  width: 100%;
  margin-top: 45px;
}
@media (min-width: 768px) {
  .register__send {
    width: auto;
  }
}
@media (min-width: 1656px) {
  .register__send {
    margin-top: 92px;
  }
}
.register__context-title {
  text-align: center;
  font-size: 20px;
  font-weight: 300;
  margin-bottom: 37px;
}
@media (min-width: 992px) {
  .register__context-title {
    margin-bottom: 20px;
  }
}
@media (min-width: 1656px) {
  .register__context-title {
    text-align: inherit;
    font-size: 24px;
    margin-bottom: 42px;
    letter-spacing: 0.6px;
  }
}
.register__context-list {
  font-weight: 300;
  padding: 0;
  list-style: none;
}
@media (min-width: 1656px) {
  .register__context-list {
    font-size: 21px;
  }
}
.register__context-list li {
  padding-left: 32px;
  position: relative;
  margin-bottom: 12px;
}
@media (min-width: 1656px) {
  .register__context-list li {
    padding-left: 50px;
    margin-bottom: 30px;
  }
}
.register__context-list li:before {
  content: "";
  display: block;
  position: absolute;
  left: 2px;
  top: 3px;
  width: 18px;
  height: 18px;
  background-repeat: no-repeat;
  background-position: center;
  background-image: url("data:image/svg+xml;charset=utf8,%3Csvg%20xmlns%3D%22http://www.w3.org/2000/svg%22%20fill%3D%22%2300AEEF%22%20viewBox%3D%220%200%2026%2026%22%3E%3Cpath%20d%3D%22M25,13A12,12,0,1,1,13,1,12,12,0,0,1,25,13Z%22/%3E%3Cpath%20d%3D%22M11.3,18.66,5.65,13l2.26-2.26,3.39,3.39,6.79-6.79,2.26,2.27Z%22%20fill%3D%22%23fff%22/%3E%3Cpath%20d%3D%22M26,26H0V0H26Z%22%20fill%3D%22none%22/%3E%3C/svg%3E");
  background-size: 18px 18px;
}
@media (min-width: 1656px) {
  .register__context-list li:before {
    top: 5px;
    left: 6px;
    width: 22px;
    height: 22px;
    background-size: 22px 22px;
  }
}
.register__newsletter-tooltip {
  position: absolute;
  top: 9px;
  right: 0;
}
@media (min-width: 375px) {
  .register__newsletter-tooltip {
    position: relative;
    right: auto;
  }
}
@media (min-width: 1656px) {
  .register__newsletter-tooltip {
    top: 6px;
  }
}

.toasts {
  position: fixed;
  top: 0;
  left: 0;
  margin: auto;
  z-index: 1912;
  width: 100%;
  pointer-events: none;
  user-select: none;
}
@media (min-width: 992px) {
  .toasts {
    z-index: 1912;
    width: 0;
    left: auto;
    right: 0;
    top: 0;
    height: 100vh;
    display: flex;
    justify-content: flex-start;
    align-items: flex-end;
    flex-direction: column;
  }
}

.toast {
  color: #fff;
  font-weight: 300;
  box-shadow: none;
  border: none;
  width: 100%;
  margin: 0;
  pointer-events: none;
  user-select: none;
  background-color: transparent;
  border-radius: 0;
  max-width: none;
  line-height: 1.4;
  border-bottom: 1px solid rgba(255, 255, 255, 0.5);
  flex-basis: auto;
}
@media (min-width: 992px) {
  .toast {
    width: 240px;
    margin: 20px 20px 10px 0;
    background-color: #6ec01e;
    border-radius: 5px;
    box-shadow: -3px 3px 6px rgba(0, 0, 0, 0.12);
    border-bottom: none;
  }
}
@media (min-width: 992px) {
  .toast.toast--warning {
    background-color: #F26A21;
  }
}
@media (min-width: 992px) {
  .toast.toast--alert {
    background-color: #ff0000;
  }
}
.toast a {
  color: #fff;
}
.toast-header {
  justify-content: center;
  background-color: #00AEEF;
  color: #fff;
  font-weight: 300;
  font-size: 16.5px;
  border: none;
  pointer-events: auto;
  width: 100%;
  height: 58px;
  line-height: 58px;
  padding: 0 55px 0 50px;
  text-align: center;
  margin-bottom: -3px;
}
@media (min-width: 992px) {
  .toast-header {
    padding: 15px 25px 0 15px;
    font-size: 19px;
    height: auto;
    line-height: inherit;
    background-color: transparent;
  }
}
.toast--warning .toast-header {
  background-color: #F26A21;
}
@media (min-width: 992px) {
  .toast--warning .toast-header {
    background-color: transparent;
  }
}
.toast--alert .toast-header {
  background-color: #ff0000;
}
@media (min-width: 992px) {
  .toast--alert .toast-header {
    background-color: transparent;
  }
}
.toast-header:before {
  content: "";
  display: inline-block;
  vertical-align: middle;
  width: 18px;
  height: 18px;
  background-image: url("data:image/svg+xml;charset=utf8,%3Csvg%20xmlns%3D%22http://www.w3.org/2000/svg%22%20fill%3D%22%2300AEEF%22%20viewBox%3D%220%200%2026%2026%22%3E%3Cpath%20d%3D%22M25,13A12,12,0,1,1,13,1,12,12,0,0,1,25,13Z%22%20fill%3D%22%23fff%22/%3E%3Cpath%20d%3D%22M11.3,18.66,5.65,13l2.26-2.26,3.39,3.39,6.79-6.79,2.26,2.27Z%22%20fill%3D%22%2300AEEF%22/%3E%3Cpath%20d%3D%22M26,26H0V0H26Z%22%20fill%3D%22none%22/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-size: 100%;
  background-position: center;
  margin-right: 5px;
}
@media (min-width: 992px) {
  .toast-header:before {
    background-image: url("data:image/svg+xml;charset=utf8,%3Csvg%20xmlns%3D%22http://www.w3.org/2000/svg%22%20fill%3D%22%236ec01e%22%20viewBox%3D%220%200%2026%2026%22%3E%3Cpath%20d%3D%22M25,13A12,12,0,1,1,13,1,12,12,0,0,1,25,13Z%22%20fill%3D%22%23fff%22/%3E%3Cpath%20d%3D%22M11.3,18.66,5.65,13l2.26-2.26,3.39,3.39,6.79-6.79,2.26,2.27Z%22%20fill%3D%22%236ec01e%22/%3E%3Cpath%20d%3D%22M26,26H0V0H26Z%22%20fill%3D%22none%22/%3E%3C/svg%3E");
  }
}
.toast--warning .toast-header:before {
  width: 20px;
  height: 20px;
  background-image: url("data:image/svg+xml;charset=utf8,%3Csvg%20xmlns%3D%22http://www.w3.org/2000/svg%22%20fill%3D%22%23fff%22%20viewBox%3D%220%200%2024%2024%22%3E%3Cpath%20d%3D%22M1%2021h22L12%202%201%2021zm12-3h-2v-2h2v2zm0-4h-2v-4h2v4z%22/%3E%3C/svg%3E");
}
@media (min-width: 992px) {
  .toast--warning .toast-header:before {
    background-image: url("data:image/svg+xml;charset=utf8,%3Csvg%20xmlns%3D%22http://www.w3.org/2000/svg%22%20fill%3D%22%23fff%22%20viewBox%3D%220%200%2024%2024%22%3E%3Cpath%20d%3D%22M1%2021h22L12%202%201%2021zm12-3h-2v-2h2v2zm0-4h-2v-4h2v4z%22/%3E%3C/svg%3E");
  }
}
.toast--alert .toast-header:before {
  width: 20px;
  height: 20px;
  background-image: url("data:image/svg+xml;charset=utf8,%3Csvg%20xmlns%3D%22http://www.w3.org/2000/svg%22%20fill%3D%22%23fff%22%20viewBox%3D%220%200%2024%2024%22%3E%3Cpath%20d%3D%22M12%202C6.48%202%202%206.48%202%2012s4.48%2010%2010%2010%2010-4.48%2010-10S17.52%202%2012%202zm1%2015h-2v-2h2v2zm0-4h-2V7h2v6z%22/%3E%3C/svg%3E");
}
@media (min-width: 992px) {
  .toast--alert .toast-header:before {
    background-image: url("data:image/svg+xml;charset=utf8,%3Csvg%20xmlns%3D%22http://www.w3.org/2000/svg%22%20fill%3D%22%23fff%22%20viewBox%3D%220%200%2024%2024%22%3E%3Cpath%20d%3D%22M12%202C6.48%202%202%206.48%202%2012s4.48%2010%2010%2010%2010-4.48%2010-10S17.52%202%2012%202zm1%2015h-2v-2h2v2zm0-4h-2V7h2v6z%22/%3E%3C/svg%3E");
  }
}
.toast-body {
  background-color: #00AEEF;
  pointer-events: auto;
  font-size: 16.5px;
  text-align: center;
  padding: 5px 23px 23px 23px;
}
.toast--warning .toast-body {
  background-color: #F26A21;
}
.toast--alert .toast-body {
  background-color: #ff0000;
}
@media (min-width: 992px) {
  .toast-body {
    padding: 15px;
    font-size: 19px;
    background-color: transparent;
  }
}
@media (min-width: 992px) {
  .toast--warning .toast-body {
    background-color: transparent;
  }
}
@media (min-width: 992px) {
  .toast--alert .toast-body {
    background-color: transparent;
  }
}
.toast .close {
  color: #fff;
  opacity: 1;
}

body:before {
  display: none;
}

.main {
  opacity: 1;
}

.slick-slider {
  display: block;
}
.slick-slider.product-card__control {
  display: none;
}
@media (min-width: 992px) {
  .slick-slider.product-card__control {
    display: block;
  }
}

.modal-full--newsletter .modal-full__content {
  padding: 0;
}
.modal-full--newsletter .modal-full__close {
  background-image: url("data:image/svg+xml;charset=utf8,%3Csvg%20xmlns%3D%22http://www.w3.org/2000/svg%22%20fill%3D%22%23fff%22%20viewBox%3D%220%200%2036%2036%22%3E%3Cpath%20d%3D%22M2.54,1.17h0a1.08,1.08,0,0,1,.86.39L18,16.12,32.52,1.56a1.13,1.13,0,0,1,.92-.39,1.24,1.24,0,0,1,1,.39,1.32,1.32,0,0,1,.36.92,1.28,1.28,0,0,1-.39.92L19.79,18,34.36,32.52a1.26,1.26,0,0,1,.39.92,1.33,1.33,0,0,1-.36.92,1.2,1.2,0,0,1-.92.39,1.3,1.3,0,0,1-.95-.39L18,19.79,3.4,34.36a1.28,1.28,0,0,1-.92.39,1.26,1.26,0,0,1-.92-.39,1.28,1.28,0,0,1-.39-.92,1.26,1.26,0,0,1,.39-.92L16.12,18,1.56,3.4a1.28,1.28,0,0,1-.39-.92,1.26,1.26,0,0,1,.39-.92,1.26,1.26,0,0,1,.92-.39Z%22/%3E%3Cpath%20d%3D%22M36,36H0V0H36Z%22%20fill%3D%22none%22/%3E%3C/svg%3E");
}
@media (min-width: 992px) {
  .modal-full--newsletter .mdc-dialog__surface {
    max-width: 750px;
  }
}

.modal-newsletter__row {
  margin-bottom: 20px;
  position: relative;
}
.modal-newsletter__row--center {
  align-items: center;
  display: flex;
}
.modal-newsletter__form {
  padding: 0 50px;
  margin-top: -45px;
}
.modal-newsletter__form .mdc-text-field {
  border: 1px solid #00AEEF;
  border-radius: 0;
  background-color: #fff;
  width: 100%;
}
.modal-newsletter__form .custom-validation-text {
  position: absolute;
  margin: auto;
  max-width: calc(100% - 26px);
  bottom: -14px;
  -webkit-transform: translateY(50%);
  transform: translateY(50%);
  left: 0;
  font-size: 10.5px;
  line-height: 1;
  display: none;
  padding-left: 2px;
  padding-right: 2px;
  font-weight: 500;
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
  color: #ff0000 !important;
}
.modal-newsletter__form .mdc-text-field--invalid {
  border-color: #ff0000 !important;
}
.modal-newsletter__form .mdc-text-field--invalid label {
  color: #ff0000 !important;
}
.modal-newsletter__form .mdc-checkbox--invalid ~ label {
  color: #ff0000 !important;
}
.modal-newsletter__form .mdc-text-field--invalid ~ .custom-validation-text,
.modal-newsletter__form .mdc-checkbox--invalid ~ .custom-validation-text {
  display: block;
}
.modal-newsletter__send {
  width: 60%;
  margin-left: auto;
  margin-right: auto;
}
.modal-newsletter__info {
  font-weight: 300;
  font-size: 12px;
  line-height: 16px;
  margin-top: 10px;
}
.modal-newsletter .site-form .mdc-form-field--checkbox label {
  font-size: 14px !important;
}
.modal-newsletter__figure {
  position: relative;
  display: block;
}
.modal-newsletter__canvas {
  margin: 0;
  width: 100%;
  max-width: 100%;
  user-select: none;
  display: block;
}
.modal-newsletter__img {
  width: 100%;
  display: block;
  user-select: none;
}
canvas + picture .modal-newsletter__img {
  position: absolute;
  left: 0;
  top: 0;
}

.modal-newsletter-thanks__figure {
  position: relative;
  display: block;
}
.modal-newsletter-thanks__canvas {
  margin: 0;
  width: 100%;
  max-width: 100%;
  user-select: none;
  display: block;
}
.modal-newsletter-thanks__img {
  width: 100%;
  display: block;
  user-select: none;
}
canvas + picture .modal-newsletter-thanks__img {
  position: absolute;
  left: 0;
  top: 0;
}

/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVnaXN0ZXIuY3NzIiwibWFwcGluZ3MiOiJBQUFBO0VBQ0U7RUM0TU07RUQxTU4sZ0JFbVM0QjtFRmxTNUI7RUFDQSxXRVlTO0VGWFQseUJFc2xDa0M7RUZybENsQztBR0NGO0FGNElJO0VEcEpKO0lDa05VLGlDQVhRO0VFM0xoQjtBQUNGO0FDREU7RUpERSxXRU1PO0VGTFA7QUdLSjtBQ0RFO0VKQ0k7QUdHTjs7QUhRQTtFQUNFO0VBQ0E7RUFDQTtBR0xGOztBSFdBO0VBQ0U7QUdSRjs7QUU5QkE7RUFHRSxpQkh5NEJrQztFR3g0QmxDLGdCSHc0QmtDO0VEeHRCOUI7RUk3S0osMkNIMDRCa0M7RUd6NEJsQztFQUNBO0VBQ0EsZ0RIMjRCa0M7RUcxNEJsQztFQ09FO0FId0JKO0FFNUJFO0VBQ0Usc0JIODNCZ0M7QUNoMkJwQztBRTNCRTtFQUNFO0FGNkJKO0FFMUJFO0VBQ0U7RUFDQTtBRjRCSjtBRXpCRTtFQUNFO0FGMkJKOztBRXZCQTtFQUNFO0VBQ0E7RUFDQTtFQUNBLGNIdkJTO0VHd0JULDJDSG0zQmtDO0VHbDNCbEM7RUFDQTtFQ1pFO0VBQ0E7QUh1Q0o7O0FFeEJBO0VBQ0UsZ0JIaTJCa0M7QUN0MEJwQzs7QUl4Q0U7RUFPTTtBSnFDUjs7QUtoQkU7RUFDRTtJQUVFLDZCQ1ZjO0VONEJsQjtFS2ZFO0lBQ0UscURFNUMrQjtFUDZEbkM7RUtkRTtJQUNFO0VMZ0JKO0FBQ0Y7QUtiRTtFQUNFO0lBRUU7RUxjSjtFS1hFO0lBQ0U7RUxhSjtFS1ZFO0lBQ0U7RUxZSjtBQUNGO0FLVEU7RUFDRTtJQUNFLHFERW5FK0I7SUZvRS9CO0lBQ0E7RUxXSjtFS1JFO0lBQ0U7SUFDQTtFTFVKO0FBQ0Y7QUtQRTtFQUNFO0lBQ0UscURFbEYrQjtJRm1GL0I7SUFDQTtFTFNKO0VLTkU7SUFDRTtJQUNBO0VMUUo7QUFDRjtBS0xFO0VBQ0U7SUFDRSxzRENoRW1DO0lEaUVuQztJQUNBO0VMT0o7RUtKRTtJQUNFO0lBQ0E7RUxNSjtBQUNGO0FLSEU7RUFDRTtJQUNFO0lBQ0E7SUFDQTtFTEtKO0VLRkU7SUFDRTtJQUNBO0VMSUo7QUFDRjtBS0RFO0VBQ0U7SUFDRSxzREMxRm1DO0lEMkZuQztJQUNBO0VMR0o7RUtBRTtJQUNFO0lBQ0E7RUxFSjtBQUNGO0FLQ0U7RUFDRTtJQUNFO0lBQ0E7SUFDQTtFTENKO0VLRUU7SUFFRTtJQUNBO0VMREo7QUFDRjtBUW5HRTtFQTRYQTtFQUNBO0VBQ0E7RUFDQTtFQUNBLFdGaGFVO0VFaWFWLFlGamFVO0VFa2FWO0VBQ0E7RUFDQTtFQUNBO0VBdE1FLGFBSGlCO0FSNUVyQjs7QVE2TkU7OztFQzNURTtFQUNBO0VBQ0E7QVRvR0o7O0FVSEU7RURuR0U7RUFDQTtFQUNBO0FUMEdKOztBVWdDSTtFQUdJLGFBckIwQjtBVlZsQzs7QVVpRU07RUFlRjtFQUlBLGFBdEU4QjtBVlRsQzs7QVUyRkk7RUFFSTtBVnpGUjs7QVU4Rk07RUFFSSx5QkN0UlM7RUQyUlQsYUE1RndCO0FWSmxDOztBVXNHRTtFQUVJO0FWcEdOOztBVS9CRTs7RURuR0U7RUFDQTtFQUNBO0FUdUlKOztBUXVDRTtFQUVJLFNBUmU7RUFTZixVQVRlO0FSNUJyQjs7QVF5Q0U7RUFFSTtFQUNBO0VBQ0EsV0FoQ0c7RUFpQ0gsWUFqQ0c7QVJOVDs7QVFzTUk7RUFDRSxRQUpLO0VBS0wsVUFMSztFQU1MLFNBTks7RUFPTCxXQXBNRztFQXFNSCxZQXJNRztBUkVUOztBUXNiRTtFQzFsQkU7RUFBQTtBVHlLSjs7QVFpYkU7OztFQ25sQkU7RUFDQTtFQUNBO0VBRkE7RUFDQTtFQUNBO0FUMktKOztBS2hPRTtFQUNFO0lJMkNBO0lBQUE7RVQwTEY7RUtoT0U7SUk2Q0E7SUFDQTtJQUNBO0lBRkE7SUFDQTtJQUNBO0VUeUxGO0FBQ0Y7QUtuT0U7RUFDRTtJSXNDQTtJQUNBO0lBQ0E7SUFGQTtJQUNBO0lBQ0E7RVRtTUY7RUtyT0U7SUl5QkE7SUFBQTtFVGdORjtBQUNGO0FRNENRO0VBRUk7QVIzQ1o7O0FRa0RRO0VBRUk7QVJoRFo7O0FRa1lFO0VDMWxCRTtFQUFBO0FUNk5KOztBUTZYRTs7O0VDMWxCRTtFQUFBO0FUb09KOztBUW1mSTtFQ3Z0QkE7QVR3T0o7O0FRcWZJO0VDN3RCQTtBVDRPSjs7QVEyZUk7RUN2dEJBO0FUZ1BKOztBUTZlSTtFQzd0QkE7QVRvUEo7O0FRalBFO0VBdWxCQTtJQzFsQkU7SUFBQTtFVDBQRjtFUWdXQTs7O0lDMWxCRTtJQUFBO0VUZ1FGO0VRdWRFO0lDdnRCQTtFVG1RRjtFUTBkRTtJQzd0QkE7RVRzUUY7RVF6UEU7SUFFSTtFUjBQTjtBQUNGO0FRclBFO0VBeVdBO0VBQ0E7QVJqSEY7O0FRblBFO0VBb2hCRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0EsV0YvbEJRO0VFZ21CUixZRmhtQlE7RUVrbUJSO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFVQSxzSEFDRTtBUnhTTjs7QVFnU0U7RUN2akJFO0VBQ0E7RUFDQTtBVDJSSjs7QVFyUUU7RUEybkJFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBSUE7QVJyWEo7O0FRd1hFO0VBRUk7QVJ0WE47O0FRaFJFO0VBeXNCRTtFQUlBO0VBQ0E7RUFDQSw2QkYxd0JnQjtFRTJ3QmhCLDRCRjN3QmdCO0FObVZwQjs7QVFwUkU7RUEydEJFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUlBLDBHQUNFO0FSdmNOOztBUXhSSTs7OztFQTBWRjtBUjNERjs7QVF5RUk7RUFDRTtFQUNBO0FSdEVOOztBUTJFSTtFQUlFO0VBQ0E7QVIzRU47O0FRZ0ZJO0VBQ0U7RUFDQTtBUjdFTjs7QVFrRkk7RUFDRTtFQUNBO0FSL0VOOztBUW9GSTtFQUNFO0VBQ0E7QVJqRk47O0FRb0ZJO0VBQ0U7RUFDQTtBUmpGTjs7QVFzRkk7RUFDRTtFQUNBO0FSbkZOOztBUXNGSTtFQUNFO0VBQ0E7QVJuRk47O0FRd0ZJO0VBRUUseUVBQ0U7RUFDRjtBUnZGTjs7QVE1VEU7OztFQStnQkEsa0hBQ0U7QVI5TUo7O0FRM1RJOzs7RUFvckJGO0FSblhGOztBUXpURTtFQTZoQkU7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFJQSwwR0FDRTtBUnBPTjs7QVFoVUU7RUE4aUJFO0VBQ0EsYUZycUJzQjtFRXlxQnRCLHNHQUNFO0FSOU9OOztBUWxVRTtFQXdqQkE7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBUmxQRjs7QVFyVUk7RUFxU0Y7RUFDQTtBUm9DRjs7QVFuVUU7RUoxRkUsZUFIc0I7RUFJdEIsa0JBSnNCO0VBV3BCLGlCQUh3QjtFQUl4QixnQkFKd0I7QUorWjlCOztBUXhFSTtFQUNFLFNBSks7RUFLTCxXQUxLO0VBTUwsVUFOSztFQU9MLFdJNVpHO0VKNlpILFlJN1pHO0Fad2VUOztBUXpVSTtFQTBrQkEsd0dBQ0U7RUFLRjtBUmxRSjs7QVExVUk7RUFxcUJGO0FSdlZGOztBUXRVSTs7RUE2a0JBO0VBQ0E7RUFJQSwwR0FDRTtBUnRRTjs7QVF6VUk7O0VBNnBCRjtFQUNBO0FSL1VGOztBYXhmRTtFQUNFO0lBQ0UsdUROUDJCO0lNWTNCO0VidWZKO0VhcGZFO0lBQ0U7RWJzZko7QUFDRjtBYW5mRTtFQUNFO0lBQ0U7SUFDQTtFYnFmSjtFYWxmRTtJQUNFO0Vib2ZKO0FBQ0Y7QWFqZkU7RUFDRTtJQUNFO0lBQ0E7RWJtZko7RWFoZkU7SUFDRTtFYmtmSjtBQUNGO0FRMVZFO0VFN0hFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUVBO0FWeWRKOztBVXJkRTs7RUFHSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FWdWROOztBVW5kRTtFQUdJLDZEQUNFO0VBS0Y7QVYrY047O0FVeGNJO0VBRUk7QVYwY1I7O0FVdGNJO0VBRUk7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBVndjUjs7QVVsY0k7RUFFSTtFQUNBO0VBQ0E7QVZvY1I7O0FVOWJJO0VBRUkseUZBQ0U7QVYrYlY7O0FVeGJJO0VBRUk7RUFLQTtBVnNiUjs7QVU1YUU7RURuR0U7RUFDQTtFQUNBO0FUbWhCSjs7QVV6WUk7RUFHSSxhQXJCMEI7QVYrWmxDOztBVXhXTTtFQWVGO0VBSUEsYUF0RThCO0FWZ2FsQzs7QVU5VUk7RUFFSTtBVmdWUjs7QVUzVU07RUFFSSx5QkN0UlM7RUQyUlQsYUE1RndCO0FWcWFsQzs7QVVuVUU7RUFFSTtBVnFVTjs7QVU5TkU7O0VBR0k7RUFDQTtFQUNBO0VBQ0EsV0FUSztFQVVMLFlBVks7QVYwT1g7O0FVM05JOztFQUdJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QVY2TlI7O0FVek5JO0VBRUk7RUFDQTtBVjJOUjs7QVF6YkU7RUV5UUU7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUdBO0FWa0xKOztBUTliRTtFQUVJO0FSZ2NOOztBYzdjRTtFQXJKTTtFQUNBO0VBQ0E7RUFDQTtFQU1BO0VMR0o7QVQrbEJKOztBZS9uQkU7O0VBR0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBZmlvQk47O0FlN25CRTtFQWFJO0VBQ0EsVUNsQ0k7QWhCc3BCVjs7QWUvV0U7RU4xUEU7RUFDQTtFQUNBO0FUNm1CSjs7QWUzV0U7RUFFSTtBZjZXTjs7QWVyV0U7RUFFSTtBZnVXTjs7QWUvVkU7RUFFSTtBZmlXTjs7QWVyVkU7RUFHSTtBZnNWTjs7QWV0VUU7RUFFSSxnQkM5V007QWhCc3JCWjs7QWV6VFE7RUFOTjtJQU9RLDZCQVRhO0Vmc1VyQjtBQUNGO0FlMVRRO0VBWE47SUFZUSxnQkNsWUU7RWhCK3JCVjtBQUNGO0FlalRFO0VBZU0sNkJBakJlO0Fmc1R2Qjs7QWUvUkU7RUFJRTtJQUVJO0lBV0E7RWZvUk47QUFDRjtBZXZXRTtFRTVWRTtBakJzc0JKOztBZWxxQkU7RUFFSTtFQUNBO0Fmb3FCTjs7QWU5cEJFO0VBRUk7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUdBO0FmOHBCTjs7QWUxcEJFO0VER0U7RUFDQTtFQWJBO0VBQ0EsOEhBb0dXO0VDdEZUO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFFQTtBZjJwQk47O0FjMWpCRTtFQTVGSSxXQ2xCMkM7RURtQjNDLFlDbkIyQztFRHNCekM7RUFDQTtFQUNBO0Fkd3BCUjs7QWtCNXNCUTtFSDRDQTtFQUNBO0Fmb3FCUjs7QWUvcEJFO0VJS0UsY0pKK0Q7RUl3RDdEO0VBQ0E7RUFDQTtFQTdGRjtFQUNBO0VWcEJBO0VBQ0E7RUFDQTtFQUZBO0VBQ0E7RUFDQTtFQUZBO0VBQ0E7RUFDQTtFQUZBO0VBQ0E7RUFDQTtFQUZBO0VBQ0E7RUFDQTtFQUZBO0VBQ0E7RUFDQTtFQUZBO0VBQ0E7RUFDQTtFTXdERTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QWZ5ckJOOztBbUJ2bkJFO0VBMkJBO0VBQ0E7RUFDQSxZSnhHaUQ7RUl5R2pEO0VBMUJJO0FuQjJuQk47O0FrQjd2QlE7RUgrREE7RUFDQTtBZmtzQlI7O0FlNXJCRTtFQUlJO0FmNHJCTjs7QWV4ckJFO0VJOURFO0VBQ0E7RVZwQkE7RUFDQTtFQUNBO0VBRkE7RUFDQTtFQUNBO0VBRkE7RUFDQTtFQUNBO0VBRkE7RUFDQTtFQUNBO0VBRkE7RUFDQTtFQUNBO0VBRkE7RUFDQTtFQUNBO0VBRkE7RUFDQTtFQUNBO0VNbUZFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBZitzQk47O0FlM3NCSTtFQUVJO0FmNnNCUjs7QWV4c0JJO0VBRUk7QWYwc0JSOztBZXBzQkU7RUFJSTtBZm9zQk47O0FlL3JCRTtFQUlJO0VBQ0E7QWYrckJOOztBZTFyQkU7RUFHSTtBZjJyQk47O0FldHJCRTtFQUdJO0FmdXJCTjs7QWVuckJFO0VBRUk7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0EsWUM5TFk7RUQrTFo7QWZxckJOOztBZWxyQkk7RUFFSTtFQUNBO0Fmb3JCUjs7QWUvcUJFO0VHMkNFO0VBR0Y7RUFIRTtFQUdGO0VIbENJO0VBQ0E7RUFDQTtBZjJxQk47O0FrQnQxQk07RUF3TUY7RUFHRjtFQUhFO0VBR0Y7QWxCa3BCRjs7QWUzckJJO0VHc0NBO0VBR0Y7RUFIRTtFQUdGO0FsQnlwQkY7O0FrQnAyQk07RUF3TUY7RUFHRjtFQUhFO0VBR0Y7QWxCZ3FCRjs7QWtCajNCUTtFSG9MQTtFQUNBO0FmaXNCUjs7QWU3ckJJO0VBRUk7QWYrckJSOztBZTFyQkU7OztFQUlJO0FmNHJCTjs7QWV2ckJJO0VBRUk7QWZ5ckJSOztBZXJyQkk7RUFFSTtBZnVyQlI7O0FlanJCSTs7RUFHSTtBZm1yQlI7O0FlL3FCSTtFQUdJO0FmZ3JCUjs7QWUxcUJJO0VBRUk7QWY0cUJSOztBZXhxQkk7RUFFSTtFQUNBO0FmMHFCUjs7QWVscUJFO0VBRUk7QWZvcUJOOztBb0J6K0JBO0VBQ0k7RUFDQTtBcEI0K0JKOztBb0J6K0JBO0VBQ0k7RUFDQTtFQUNBO0FwQjQrQko7QW9CMStCSTtFQUNJO0VBQ0Esc0JDS1E7QXJCdStCaEI7QW9CeitCSTtFQUNJO0VBQ0E7RUFDQTtFQUNBLHlCQ2FZO0VEWlo7QXBCMitCUjtBb0J2K0JRO0VBQ0k7RUFDQTtFQUNBO0FwQnkrQlo7O0FvQm4rQkk7RUFDSTtFQUNBO0FwQnMrQlI7O0FvQmwrQkE7RUFDSTtBcEJxK0JKOztBb0JsK0JBO0VBQ0k7RUFDQTtBcEJxK0JKOztBb0JqK0JJO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FwQm8rQlI7QW9CbCtCUTtFQVJKO0lBU1E7SUFDQTtFcEJxK0JWO0FBQ0Y7O0FzQmppQ0E7RUFDSTtBdEJvaUNKO0FzQmxpQ0k7RUFISjtJQUlRO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0EsaUJENkRnQjtJQzVEaEI7RXRCcWlDTjtBQUNGO0FzQm5pQ0k7RUFmSjtJQWdCUTtFdEJzaUNOO0FBQ0Y7QXNCcGlDSTtFQW5CSjtJQW9CUTtFdEJ1aUNOO0FBQ0Y7QXNCcGlDUTtFQURKO0lBRVE7RXRCdWlDVjtBQUNGO0FzQnRpQ1E7RUFKSjtJQUtRO0V0QnlpQ1Y7QUFDRjtBc0J2aUNRO0VBUko7SUFTUTtFdEIwaUNWO0FBQ0Y7QXNCdGlDUTtFQURKO0lBRVE7RXRCeWlDVjtBQUNGO0FzQnhpQ1E7RUFKSjtJQUtRO0V0QjJpQ1Y7QUFDRjtBc0J6aUNRO0VBUko7SUFTUTtFdEI0aUNWO0FBQ0Y7QXNCeGlDUTtFQURKO0lBRVE7RXRCMmlDVjtBQUNGO0FzQnppQ1E7RUFMSjtJQU1RO0V0QjRpQ1Y7QUFDRjtBc0IxaUNRO0VBVEo7SUFVUTtFdEI2aUNWO0FBQ0Y7QXNCemlDUTtFQURKO0lBRVE7RXRCNGlDVjtBQUNGO0FzQjFpQ1E7RUFMSjtJQU1RO0lBQ0E7RXRCNmlDVjtBQUNGO0FzQjNpQ1E7RUFWSjtJQVdRO0lBQ0EsaUJESFk7RXJCaWpDdEI7QUFDRjtBc0IzaUNJO0VBQ0k7RUFDQTtBdEI2aUNSO0FzQjFpQ0k7RUFDSTtFQUVBO0VBQ0E7RUFDQTtBdEIyaUNSO0FzQnppQ1E7RUFDSTtFQUNBO0F0QjJpQ1o7QXNCeGlDUTtFQUNJO0F0QjBpQ1o7QXNCeGlDWTtFQUNJLGNEakdDO0FyQjJvQ2pCO0FzQnZpQ1k7RUFDSTtBdEJ5aUNoQjtBc0JwaUNJO0VBQ0ksY0RqRlE7QXJCdW5DaEI7QXNCcGlDUTtFQUVJO0F0QnFpQ1o7O0F1QnpvQ0k7RUFDSTtFQUNBO0F2QjRvQ1I7QXVCeG9DUTtFQUNJO0VBQ0E7RUFDQTtBdkIwb0NaO0F1QnhvQ1k7RUFDSTtFQUNBO0F2QjBvQ2hCO0F1QnhvQ2dCO0VBQ0k7QXZCMG9DcEI7QXVCcG9DSTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBdkJzb0NSO0F1QnBvQ1E7RUFSSjtJQVNRO0V2QnVvQ1Y7QUFDRjtBdUJyb0NRO0VBWko7SUFhUTtFdkJ3b0NWO0FBQ0Y7QXVCdG9DUTtFQUNJO0VBQ0E7RUFDQTtBdkJ3b0NaO0F1Qm5vQ1E7OztFQUdJO0F2QnFvQ1o7QXVCbG9DUTtFQUNJO0F2Qm9vQ1o7QXVCOW5DWTtFQUNJO0VBQ0E7QXZCZ29DaEI7QXVCM25DSTtFQUNJO0VBQ0E7RUFDQTtBdkI2bkNSO0FRMWlCRTtFQzFsQkU7RUFBQTtBVHdvQ0o7QVE5aUJFOzs7RUMxbEJFO0VBQUE7QVQ4b0NKO0FLMXJDRTtFQUNFO0lJMkNBO0lBQUE7RVRtcENGO0VLenJDRTtJSXNDQTtJQUFBO0VUdXBDRjtBQUNGO0FLeHJDRTtFQUNFO0lJK0JBO0lBQUE7RVQ2cENGO0VLdHJDRTtJSXlCQTtJQUFBO0VUaXFDRjtBQUNGO0FRcjZCUTtFQUVJO0FSczZCWjtBUS81QlE7RUFFSTtBUmc2Qlo7QVFqZEk7RUN2dEJBO0FUMnFDSjtBUTljSTtFQzd0QkE7QVQ4cUNKO0FRNTJCRTs7O0VDbFVFO0FUbXJDSjtBVXprQ0U7RUQxR0U7QVRzckNKO0FVbmlDSTtFQUdJLGFBckIwQjtBVndqQ2xDO0FVamdDTTtFQWVGO0VBSUEsYUF0RThCO0FWd2pDbEM7QVV0K0JJO0VBRUk7QVZ1K0JSO0FVbCtCTTtFQUVJLHlCQ3RSUztFRDJSVCxhQTVGd0I7QVYyakNsQztBVXo5QkU7RUFFSTtBVjA5Qk47QVU3bENFOztFRDFHRTtBVDJzQ0o7QXVCOXJDUTtFQUNJO0VBQ0E7RUFDQTtBdkJnc0NaO0F1QjlyQ1k7RUFDSSx5QkY1RkM7RUU2RkQ7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBdkJnc0NoQjtBdUI3ckNZO0VBQ0kseUJGckdDO0VFc0dEO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QXZCK3JDaEI7QXVCenJDZ0I7RUFDSTtFQUNBLHlCRmxISDtBckI2eUNqQjtBdUJ4ckNnQjtFQUNJLHlCRnRISDtBckJnekNqQjtBdUJuckNJO0VBQ0k7RUFDQTtBdkJxckNSO0F3Qmp6QkU7RWYxYkU7QVQ4dUNKO0F3QnB6QkU7RWYxYkU7QVRpdkNKO0F3QnQwQkU7RWYzYUU7QVRvdkNKO0F3QnYvQkU7RWY3UEU7QVR1dkNKO0F1QnhyQ1E7RUFDSTtFQUNBO0VBQ0E7RUFDQTtBdkIwckNaO0F1QnhyQ1k7RUFOSjtJQU9RO0V2QjJyQ2Q7QUFDRjtBdUJ6ckNZO0VBVko7SUFXUTtFdkI0ckNkO0FBQ0Y7QXVCenJDUTtFQUNJO0VBQ0E7RUFDQTtBdkIyckNaO0F1QnpyQ1k7RUFDSSx5QkY3SkM7RUU4SkQ7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBdkIyckNoQjtBdUJ4ckNZO0VBQ0kseUJGdEtDO0VFdUtEO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QXZCMHJDaEI7QXVCcHJDZ0I7RUFDSSx5QkZsTEg7RUVtTEc7QXZCc3JDcEI7QXVCL3FDSTtFQUNJO0VBQ0E7QXZCaXJDUjtBdUI1cUNZO0VBQ0k7QXZCOHFDaEI7QXVCNXFDZ0I7RUFISjtJQUlRO0V2QitxQ2xCO0FBQ0Y7QXVCN3FDZ0I7RUFQSjtJQVFRO0lBQ0E7RXZCZ3JDbEI7QUFDRjtBdUIzcUNJO0VBQ0k7QXZCNnFDUjtBdUIxcUNJO0VBQ0ksY0Y3TFk7QXJCeTJDcEI7QXVCenFDSTtFQUNJO0F2QjJxQ1I7QXVCenFDUTtFQUNJO0F2QjJxQ1o7QXVCcHFDZ0I7RUFDSTtBdkJzcUNwQjtBdUJscUNvQjtFQUNJLGNGak5KO0FyQnEzQ3BCO0F1QjFwQ1E7RUFDSTtBdkI0cENaO0F1QjFwQ1k7RUFISjtJQUlRO0V2QjZwQ2Q7QUFDRjtBdUJ6cENZO0VBQ0k7QXZCMnBDaEI7QXVCeHBDWTtFQUNJLGNGak5FO0FyQjIyQ2xCO0F1QnBwQ2dCO0VBQ0k7QXZCc3BDcEI7QXVCbHBDWTtFQUNJLGNGN05FO0FyQmkzQ2xCO0F1QmhwQ1E7Ozs7O0VBR0k7QXZCb3BDWjtBdUJocENRO0VBQ0k7QXZCa3BDWjtBdUJocENZO0VBQ0k7QXZCa3BDaEI7QXVCOW9DUTtFQUNJLGNGalBNO0FyQmk0Q2xCO0F1QjlvQ1k7RUFDSSxjRnBQRTtBckJvNENsQjtBdUI3b0NZO0VBQ0ksY0Z4UEU7RUV5UEY7QXZCK29DaEI7QXVCM29DUTtFQUNJLGNGOVBNO0FyQjI0Q2xCO0F1QjNvQ1k7RUFDSSxjRmpRRTtBckI4NENsQjtBdUIxb0NZO0VBQ0ksY0ZyUUU7RUVzUUY7QXZCNG9DaEI7QXVCdm9DWTtFQUNJO0VBQ0E7QXZCeW9DaEI7QXVCcG9DZ0I7RUFDSTtBdkJzb0NwQjtBdUJsb0NZOzs7OztFQUdJO0F2QnNvQ2hCO0F1Qm5vQ1k7RUFDSTtBdkJxb0NoQjtBdUJsb0NZO0VBQ0k7QXZCb29DaEI7QXVCL25DWTtFQUNJO0VBQ0E7QXZCaW9DaEI7QXVCN25DZ0I7RUFDSTtBdkIrbkNwQjtBdUJ6bkNZO0VBQ0ksY0ZyVEU7QXJCZzdDbEI7QXVCem5DZ0I7RUFDSSxjRnhURjtBckJtN0NsQjtBdUJ4bkNnQjtFQUNJLGNGNVRGO0VFNlRFO0F2QjBuQ3BCO0F1QnRuQ1k7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QXZCd25DaEI7QXVCdG5DZ0I7RUFYSjtJQVlRO0V2QnluQ2xCO0FBQ0Y7QXVCdG5DWTtFQUNJO0VBQ0E7QXZCd25DaEI7QXVCbG5DUTs7O0VBR0k7RUFDQTtBdkJvbkNaO0F1QmxuQ1k7OztFQUNJO0F2QnNuQ2hCO0F1QmxuQ1E7RUFDSTtBdkJvbkNaO0F1QmxuQ1k7RUFDSTtBdkJvbkNoQjtBdUIvbUNZO0VBQ0k7RUFDQTtBdkJpbkNoQjtBdUI1bUNnQjtFQUNJO0F2QjhtQ3BCO0F1QjFtQ1k7OztFQUdJO0F2QjRtQ2hCO0F1QnptQ1k7RUFDSTtBdkIybUNoQjtBdUJ4bUNZO0VBQ0k7QXZCMG1DaEI7QXVCcm1DWTtFQUNJO0VBQ0E7QXZCdW1DaEI7QXVCam1DUTs7O0VBR0k7RUFDQTtBdkJtbUNaO0F1QmptQ1k7OztFQUNJO0F2QnFtQ2hCO0F1QmptQ1E7RUFDSTtBdkJtbUNaO0F1QmptQ1k7RUFDSTtBdkJtbUNoQjtBdUI5bENZO0VBQ0k7RUFDQTtBdkJnbUNoQjtBdUIzbENnQjtFQUNJO0F2QjZsQ3BCO0F1QnpsQ1k7OztFQUdJO0F2QjJsQ2hCO0F1QnhsQ1k7RUFDSTtBdkIwbENoQjtBdUJ2bENZO0VBQ0k7QXZCeWxDaEI7QXVCcGxDSTtFQUNJO0VBQ0E7QXZCc2xDUjtBdUJwbENRO0VBQ0k7RUFDQSxjRnRkUTtFRXVkUjtFQUNBO0VBQ0E7RUFDQTtBdkJzbENaO0F1QnBsQ1k7RUFSSjtJQVNRO0V2QnVsQ2Q7QUFDRjtBdUJybENZO0VBWko7SUFhUTtJQUNBO0V2QndsQ2Q7QUFDRjtBdUJ0bENZO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7QXZCd2xDaEI7QXVCdGxDZ0I7RUFOSjtJQU9RO0V2QnlsQ2xCO0FBQ0Y7QXVCdmxDZ0I7RUFDSTtBdkJ5bENwQjtBdUJ2bENvQjtFQUNJO0F2QnlsQ3hCO0F1QnRsQ29CO0VBQ0k7RUFDQTtBdkJ3bEN4QjtBdUJsbENRO0VBQ0k7RUFDQTtBdkJvbENaO0F1QmxsQ1k7RUFKSjtJQUtRO0lBQ0E7RXZCcWxDZDtBQUNGO0F1Qm5sQ1k7RUFUSjtJQVVRO0lBQ0E7RXZCc2xDZDtBQUNGO0F1Qm5sQ2dCO0VBRUk7RUFDQSxjRjVnQkQ7QXJCZ21EbkI7QXVCOWtDSTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0F2QmdsQ1I7QXVCOWtDUTtFQU5KO0lBT1E7SUFDQTtJQUNBO0V2QmlsQ1Y7QUFDRjtBdUI3a0NRO0VBREo7SUFFUTtFdkJnbENWO0FBQ0Y7QXVCN2tDSTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0F2QitrQ1I7QXVCNWtDSTtFQUNJO0VBQ0E7QXZCOGtDUjtBdUIza0NJO0VBQ0k7RUFDQTtFQUNBO0F2QjZrQ1I7QXVCMWtDSTtFQUNJO0VBQ0E7RUFDQTtBdkI0a0NSO0F1QjFrQ1E7RUFMSjtJQU1RO0V2QjZrQ1Y7QUFDRjtBdUIza0NRO0VBQ0k7QXZCNmtDWjtBdUIxa0NRO0VBQ0k7QXZCNGtDWjtBdUJ6a0NRO0VBQ0k7QXZCMmtDWjtBdUJ4a0NRO0VBQ0k7RUFDQTtBdkIwa0NaO0F1QnhrQ1k7RUFKSjtJQUtRO0lBQ0E7RXZCMmtDZDtBQUNGO0F1QnprQ1k7RUFDSTtBdkIya0NoQjtBdUJ2a0NRO0VBQ0k7RUFDQTtBdkJ5a0NaO0F1QnJrQ1k7RUFESjtJQUVRO0lBQ0E7RXZCd2tDZDtBQUNGO0F1QnJrQ2dCO0VBREo7SUFFUTtFdkJ3a0NsQjtBQUNGO0F1Qm5rQ1k7RUFESjtJQUVRO0lBQ0E7RXZCc2tDZDtBQUNGO0F1Qm5rQ1E7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0F2QnFrQ1o7QXVCbmtDWTtFQVZKO0lBV1E7SUFDQTtFdkJza0NkO0FBQ0Y7QXVCbGtDSTtFQUNJO0VBQ0E7QXZCb2tDUjtBdUJsa0NRO0VBSko7SUFLUTtJQUNBO0V2QnFrQ1Y7QUFDRjtBdUJsa0NJOztFQUVJO0VBQ0E7QXZCb2tDUjtBdUJsa0NROztFQUNJO0F2QnFrQ1o7QXVCbGtDUTtFQVRKOztJQVVRO0V2QnNrQ1Y7RXVCcGtDVTs7SUFDSTtFdkJ1a0NkO0FBQ0Y7QXVCbGtDSTs7RUFFSTtFQUNBO0F2Qm9rQ1I7QXVCbGtDUTs7RUFDSTtBdkJxa0NaO0F1QmxrQ1E7RUFUSjs7SUFVUTtJQUNBO0V2QnNrQ1Y7RXVCcGtDVTs7SUFDSTtFdkJ1a0NkO0FBQ0Y7QXVCbmtDSTtFQUNJO0VBQ0E7QXZCcWtDUjtBdUJua0NRO0VBQ0k7QXZCcWtDWjtBdUJsa0NRO0VBUko7SUFTUTtJQUNBO0V2QnFrQ1Y7RXVCbmtDVTtJQUNJO0V2QnFrQ2Q7QUFDRjtBdUIvakNJOztFQUVJO0F2QmlrQ1I7QXVCL2pDUTs7RUFDSTtBdkJra0NaO0F1Qi9qQ1E7RUFSSjs7SUFTUTtFdkJta0NWO0V1QmprQ1U7O0lBQ0k7RXZCb2tDZDtBQUNGO0F1QmhrQ0k7RUFDSTtBdkJra0NSO0F1QmhrQ1E7RUFDSTtBdkJra0NaO0F1Qi9qQ1E7RUFQSjtJQVFRO0V2QmtrQ1Y7RXVCaGtDVTtJQUNJO0V2QmtrQ2Q7QUFDRjtBdUI1akNJOzs7O0VBSUk7QXZCOGpDUjtBdUIxakNROzs7RUFHSSxxQkZud0JRO0FyQit6RHBCO0F1QnZqQ1E7OztFQUdJLHFCRjN3QlE7QXJCbzBEcEI7QXVCcGpDUTs7O0VBR0kscUJGbnhCUTtBckJ5MERwQjtBdUJqakNROzs7RUFHSSxxQkYzeEJRO0FyQjgwRHBCO0F1QjlpQ1E7OztFQUdJLHFCRm55QlE7QXJCbTFEcEI7QXVCM2lDUTs7O0VBR0kscUJGM3lCUTtBckJ3MURwQjtBdUJ6aUNJO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0EsY0Y5eEJVO0VFK3hCVjtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0Esc0JGdDBCUTtFRXUwQlI7RUFDQTtBdkIyaUNSO0F1QnppQ1E7RUFqQko7SUFrQlE7RXZCNGlDVjtBQUNGO0F1QjFpQ1E7RUFyQko7SUFzQlE7RXZCNmlDVjtBQUNGO0F1QjNpQ1E7RUFDSTtBdkI2aUNaO0F1QjFpQ1E7RUFDSTtBdkI0aUNaO0F1QnppQ1E7RUFDSTtBdkIyaUNaO0F1QnhpQ1E7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QXZCMGlDWjtBdUJ4aUNZO0VBWEo7SUFZUTtFdkIyaUNkO0FBQ0Y7QXVCdmlDSTtFQUNJLGNGOTBCVTtFRSswQlY7RUFDQTtBdkJ5aUNSO0F1QnRpQ0k7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQSxjRjExQlU7RUUyMUJWO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQSxzQkZsNEJRO0VFbTRCUjtFQUNBO0F2QndpQ1I7QXVCdGlDUTtFQWpCSjtJQWtCUTtFdkJ5aUNWO0FBQ0Y7QXVCdmlDUTtFQXJCSjtJQXNCUTtFdkIwaUNWO0FBQ0Y7QXVCeGlDUTtFQUNJO0F2QjBpQ1o7QXVCdGlDSTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBLGNGeDNCVTtFRXkzQlY7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBLHNCRmg2QlE7RUVpNkJSO0VBQ0E7QXZCd2lDUjtBdUJ0aUNRO0VBakJKO0lBa0JRO0V2QnlpQ1Y7QUFDRjtBdUJ2aUNRO0VBckJKO0lBc0JRO0V2QjBpQ1Y7QUFDRjtBdUJ4aUNRO0VBQ0k7QXZCMGlDWjtBdUJ0aUNJO0VBQ0k7QXZCd2lDUjtBdUJ0aUNRO0VBSEo7SUFJUTtFdkJ5aUNWO0FBQ0Y7QXVCdGlDSTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0F2QndpQ1I7QXVCcmlDSTtFQUNJO0VBQ0E7RUFRQTtFQUNBO0F2QmdpQ1I7QXlCMzFERTtFUi9ISTtFQUdGO0FqQjI5REo7QWtCbDdETTtFRHJDRTtFQUNBO0FqQjA5RFI7QXlCajFERTtFUmpKSTtFQUdGO0FqQm0rREo7QWtCMTdETTtFRHJDRTtFQUNBO0FqQmsrRFI7QTBCMXNERTtFVDdSRTtBakIwK0RKO0F5Qjc1REU7OztFaEJ6Q0U7QVQyOERKO0F5QnQ1REU7OztFQUlJLGlCRTlGa0I7QTNCcS9EeEI7QXlCdjZERTs7O0VoQnpDRTtBVHE5REo7QXlCNTZERTs7O0VoQnpDRTtBVDA5REo7QTBCM3lESTtFakIvS0E7QVQ2OURKO0F1QnhrQ1E7RUFiSjtJQWNRO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7RXZCMmtDVjtBQUNGO0F1QnprQ1E7RUFDSTtBdkIya0NaO0F1QnhrQ1E7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQSxzQkZuK0JJO0VFbytCSjtBdkIwa0NaO0F1QnhrQ1k7RUFWSjtJQVdRO0V2QjJrQ2Q7QUFDRjtBdUJ4a0NRO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0F2QjBrQ1o7QXVCeGtDWTtFQWRKO0lBZVE7SUFDQTtJQUNBO0V2QjJrQ2Q7QUFDRjtBdUJ4a0NRO0VBQ0k7RUFDQTtBdkIwa0NaO0F1QnhrQ1k7RUFKSjtJQUtRO0V2QjJrQ2Q7QUFDRjtBdUJ6a0NZO0VBQ0k7QXZCMmtDaEI7QXVCemtDZ0I7RUFISjtJQUlRO0V2QjRrQ2xCO0FBQ0Y7QXVCMWtDZ0I7RUFDSTtBdkI0a0NwQjtBdUIxa0NvQjtFQUhKO0lBSVE7RXZCNmtDdEI7QUFDRjtBdUJ4a0NROztFQUVJO0VBQ0EsY0ZsaENRO0FyQjRsRXBCO0F1QnhrQ1k7RUFMSjs7SUFNUTtJQUNBO0V2QjRrQ2Q7QUFDRjtBdUJ2a0NZO0VBQ0k7QXZCeWtDaEI7QXVCcmtDUTtFQUNJLGNGbGlDUTtBckJ5bUVwQjtBdUJwa0NRO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBdkJza0NaO0F1QmprQ1E7RUFESjtJQUVRO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7RXZCb2tDVjtBQUNGO0F1QmxrQ1E7RUFDSTtFQUNBO0VBQ0E7RUFDQTtBdkJva0NaO0F1QmxrQ1k7RUFOSjtJQU9RO0V2QnFrQ2Q7QUFDRjtBdUJqa0NZO0VBREo7SUFFUTtJQUNBO0V2Qm9rQ2Q7QUFDRjtBdUJoa0NZO0VBQ0k7QXZCa2tDaEI7QXVCaGtDZ0I7RUFISjtJQUlRO0V2Qm1rQ2xCO0FBQ0Y7QXVCL2pDUTs7RUFFSTtBdkJpa0NaO0F1Qi9qQ1k7RUFKSjs7SUFLUTtJQUNBO0V2Qm1rQ2Q7QUFDRjtBdUI3akNRO0VBREo7SUFFUTtJQUNBO0lBQ0E7RXZCZ2tDVjtBQUNGO0F1QjdqQ1k7RUFESjtJQUVRO0lBQ0E7RXZCZ2tDZDtBQUNGO0F1QjdqQ2dCO0VBREo7SUFFUTtFdkJna0NsQjtBQUNGO0F1QnpqQ2dCO0VBREo7SUFFUTtJQUNBO0V2QjRqQ2xCO0FBQ0Y7QXVCempDb0I7RUFESjtJQUVRO0V2QjRqQ3RCO0FBQ0Y7QXVCbmpDb0I7RUFESjtJQUVRO0V2QnNqQ3RCO0FBQ0Y7QXVCbmpDd0I7RUFESjtJQUVRO0V2QnNqQzFCO0FBQ0Y7QXVCL2lDWTtFQURKO0lBRVE7RXZCa2pDZDtBQUNGO0F1QjdpQ0k7RUFDSTtFQUNBO0F2QitpQ1I7QXVCN2lDUTtFQUNJO0VBQ0E7QXZCK2lDWjtBdUI1aUNZO0VBTEo7SUFNUTtFdkIraUNkO0FBQ0Y7QXVCM2lDSTtFQUNJO0F2QjZpQ1I7QXVCM2lDUTtFQUNJO0F2QjZpQ1o7QXVCMWlDUTtFQUNJO0VBQ0E7QXZCNGlDWjtBdUIxaUNZO0VBSko7SUFLUTtFdkI2aUNkO0FBQ0Y7QXVCM2lDWTtFQVJKO0lBU1E7RXZCOGlDZDtBQUNGO0F1QjFpQ0k7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBdkI0aUNSO0F1QjFpQ1E7RUFDSTtBdkI0aUNaO0F1QnppQ1E7RUFDSTtBdkIyaUNaO0F1QnhpQ1E7RUFqQko7SUFrQlE7SUFDQTtJQUNBO0lBQ0E7RXZCMmlDVjtBQUNGO0F1QnhpQ1k7RUFFSTtBdkJ5aUNoQjtBdUJwaUNJO0VBQ0k7QXZCc2lDUjs7QXVCaGlDSTtFQUNJO0VBQ0E7QXZCbWlDUjtBdUJqaUNRO0VBQ0k7RUFDQTtBdkJtaUNaO0F1QmhpQ1E7RUFDSSx5QkZ2dUNPO0FyQnl3RW5CO0F1QjloQ0k7RUFDSTtFQUNBO0F2QmdpQ1I7QXVCOWhDUTtFQUNJLGNGcnVDTTtBckJxd0VsQjtBdUI3aENRO0VBQ0ksY0ZyeENXO0FyQm96RXZCO0F1QjVoQ1E7RUFDSSxjRjN1Q0k7QXJCeXdFaEI7O0F1QnhoQ0k7RUFDSTtBdkIyaENSOztBdUJ2aENBO0VBQ0k7QXZCMGhDSjtBdUJ4aENJO0VBQ0k7QXZCMGhDUjtBdUJ2aENJO0VBQ0k7QXZCeWhDUjtBdUJ0aENJO0VBQ0k7RUFDQTtBdkJ3aENSOztBdUJwaENBO0VBQ0k7RUFDQTtBdkJ1aENKO0F1QnJoQ0k7RUFDSTtBdkJ1aENSOztBdUJuaENBO0VBQ0k7QXZCc2hDSjs7QXVCbGhDSTtFQUNJO0F2QnFoQ1I7QXVCbmhDUTtFQUhKO0lBSVE7RXZCc2hDVjtBQUNGO0F1QnBoQ1E7RUFQSjtJQVFRO0V2QnVoQ1Y7QUFDRjtBdUJyaENRO0VBQ0k7QXZCdWhDWjtBdUJuaENJO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7QXZCcWhDUjtBdUJuaENRO0VBQ0k7QXZCcWhDWjtBdUJuaENZO0VBSEo7SUFJUTtFdkJzaENkO0FBQ0Y7QXVCcGhDWTtFQVBKO0lBUVE7SUFDQTtFdkJ1aENkO0FBQ0Y7QXVCcGhDUTtFQUNJO0F2QnNoQ1o7QXVCbGhDSTtFQUNJOzs7SUFBQTtBdkJ1aENSO0F1QmxoQ1E7RUFDSTtFQUNBO0VBQ0E7QXZCb2hDWjtBdUJsaENZO0VBQ0k7QXZCb2hDaEI7QXVCbGhDZ0I7RUFISjtJQUlRO0V2QnFoQ2xCO0FBQ0Y7QXVCaGhDSTtFQUNJO0F2QmtoQ1I7QXVCL2dDSTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQSxjRjE1Q1M7RUUyNUNUO0F2QmloQ1I7QXVCL2dDUTtFQXJCSjtJQXNCUTtFdkJraENWO0FBQ0Y7QXVCaGhDUTtFQXpCSjtJQTBCUTtFdkJtaENWO0FBQ0Y7QXVCamhDUTtFQUNJO0F2Qm1oQ1o7QXVCaGhDUTtFQUNJO0F2QmtoQ1o7QXVCL2dDUTtFQUNJO0F2QmloQ1o7QXVCOWdDUTtFQUNJO0F2QmdoQ1o7QXVCOWdDWTtFQUNJO0F2QmdoQ2hCO0F1QjdnQ1k7RUFDSTtBdkIrZ0NoQjtBdUJ6Z0NRO0VBQ0k7RUFDQTtBdkIyZ0NaO0F1QnpnQ1k7RUFKSjtJQUtRO0V2QjRnQ2Q7QUFDRjtBdUJ4Z0NJO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0F2QjBnQ1I7QXVCeGdDUTtFQUNJO0F2QjBnQ1o7QXVCeGdDWTtFQUhKO0lBSVE7RXZCMmdDZDtBQUNGO0F1QnhnQ1E7RUFDSTtBdkIwZ0NaO0F1QnhnQ1k7RUFISjtJQUlRO0V2QjJnQ2Q7QUFDRjtBdUJ4Z0NRO0VBQ0k7QXZCMGdDWjtBdUJ4Z0NZO0VBSEo7SUFJUTtJQUNBO0V2QjJnQ2Q7QUFDRjtBdUJ4Z0NRO0VBakNKO0lBa0NRO0V2QjJnQ1Y7QUFDRjtBdUJ4Z0NZO0VBRUk7QXZCeWdDaEI7O0F1QmxnQ0M7RUFDQztFQUNBO0VBQ0E7RUFDQTtFQUNBO0F2QnFnQ0Y7O0F1QmhnQ0M7RUFDQztBdkJtZ0NGOztBdUIvL0JBO0VBQ0k7QXZCa2dDSjtBdUJoZ0NJO0VBSEo7SUFJUTtFdkJtZ0NOO0FBQ0Y7O0E0QmhoRkk7RUFDSTtBNUJtaEZSO0E0QmhoRkk7RUFDSTtFQUNBO0E1QmtoRlI7QTRCaGhGUTtFQUpKO0lBS1E7RTVCbWhGVjtBQUNGO0E0QmpoRlE7RUFSSjtJQVNRO0U1Qm9oRlY7QUFDRjtBNEJsaEZRO0VBWko7SUFhUTtFNUJxaEZWO0FBQ0Y7QTRCbmhGUTtFQWhCSjtJQWlCUTtFNUJzaEZWO0FBQ0Y7QTRCcGhGUTtFQXBCSjtJQXFCUTtFNUJ1aEZWO0FBQ0Y7QTRCbmhGUTtFQUNJO0VBQ0E7QTVCcWhGWjtBNEJuaEZZO0VBSko7SUFLUTtFNUJzaEZkO0FBQ0Y7QTRCcGhGWTtFQVJKO0lBU1E7RTVCdWhGZDtBQUNGO0E0Qm5oRkk7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBNUJxaEZSO0E0Qm5oRlE7RUFsQko7SUFtQlE7SUFDQTtJQUNBO0U1QnNoRlY7QUFDRjtBNEJwaEZRO0VBRUk7RUFDQTtBNUJxaEZaOztBNkI5bEZBO0VBQ0k7QTdCaW1GSjtBNkIvbEZJO0VBSEo7SUFJUTtFN0JrbUZOO0FBQ0Y7QTZCaG1GSTtFQVBKO0lBUVEsaUJSK0RTO0VyQm9pRmY7QUFDRjtBNkJobUZJO0VBQ0k7RUFDQTtFQUNBO0VBQ0EsY1JiUztFUWNUO0VBQ0E7RUFDQTtFQUNBO0E3QmttRlI7QTZCaG1GUTtFQVZKO0lBV1E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtFN0JtbUZWO0FBQ0Y7QTZCaG1GUTtFQW5CSjtJQW9CUTtFN0JtbUZWO0FBQ0Y7QTZCaG1GSTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0E3QmttRlI7QTZCaG1GUTtFQU5KO0lBT1E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0U3Qm1tRlY7QUFDRjtBNkJqbUZRO0VBZko7SUFnQlE7RTdCb21GVjtBQUNGO0E2QmptRkk7RUFDSTtBN0JtbUZSO0E2QmptRlE7RUFISjtJQUlRO0U3Qm9tRlY7QUFDRjtBNkJqbUZJO0VBQ0k7RUFDQTtBN0JtbUZSO0E2QmptRlE7RUFKSjtJQUtRO0lBQ0E7RTdCb21GVjtBQUNGO0E2QmptRkk7RUFDSTtBN0JtbUZSO0E2QmptRlE7RUFISjtJQUlRO0lBQ0E7SUFDQTtFN0JvbUZWO0FBQ0Y7QTZCbG1GUTtFQVRKO0lBVVE7SUFDQTtJQUNBO0U3QnFtRlY7QUFDRjtBNkJsbUZJO0VBQ0k7RUFDQTtFQUNBLHlCUnZFWTtBckIycUZwQjtBNkJsbUZRO0VBTEo7SUFNUTtFN0JxbUZWO0FBQ0Y7QTZCbm1GUTtFQVRKO0lBVVE7SUFDQTtJQUNBO0U3QnNtRlY7QUFDRjtBNkJwbUZRO0VBZko7SUFnQlE7SUFDQTtFN0J1bUZWO0FBQ0Y7QTZCcm1GUTtFQXBCSjtJQXFCUTtJQUNBO0lBQ0E7RTdCd21GVjtBQUNGO0E2QnJtRkk7RUFDSTtFQUNBO0VBQ0E7QTdCdW1GUjtBNkJybUZRO0VBTEo7SUFNUTtJQUNBO0U3QndtRlY7QUFDRjtBNkJ0bUZRO0VBVko7SUFXUTtJQUNBO0lBQ0E7RTdCeW1GVjtBQUNGO0E2QnZtRlE7RUFDSTtBN0J5bUZaO0E2QnJtRkk7RUFDSTtFQUNBO0E3QnVtRlI7QTZCcm1GUTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0E3QnVtRlo7QTZCcm1GWTtFQVRKO0lBVVE7RTdCd21GZDtBQUNGO0E2Qm5tRlE7RUFDSTtBN0JxbUZaO0E2QmxtRlE7RUFDSTtBN0JvbUZaO0E2QmxtRlk7RUFFSTtBN0JtbUZoQjtBNkIvbEZRO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7QTdCaW1GWjtBNkI5bEZRO0VBQ0k7QTdCZ21GWjtBNkI3bEZRO0VBQ0k7QTdCK2xGWjtBNkIzbEZJO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0E3QjZsRlI7QTZCM2xGUTtFQVJKO0lBU1E7SUFDQTtFN0I4bEZWO0FBQ0Y7QTZCNWxGUTtFQWJKO0lBY1E7SUFDQTtJQUNBO0U3QitsRlY7QUFDRjtBNkI1bEZJO0VBQ0k7QTdCOGxGUjtBNkI1bEZRO0VBSEo7SUFJUSx5QlJ4TWtCO0lReU1sQjtJQUNBO0lBQ0E7SUFDQTtJQUNBO0U3QitsRlY7QUFDRjtBNkI1bEZJO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7QTdCOGxGUjtBNkIzbEZZO0VBREo7SUFFUTtJQUNBO0lBQ0E7RTdCOGxGZDtBQUNGO0E2QjFsRkk7RUFDSTtFQUNBO0E3QjRsRlI7QTZCemxGSTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0E3QjJsRlI7QTZCemxGUTtFQU5KO0lBT1E7RTdCNGxGVjtBQUNGO0E2QjFsRlE7RUFWSjtJQVdRO0lBQ0E7SUFDQTtJQUNBO0U3QjZsRlY7QUFDRjtBNkIzbEZRO0VBakJKO0lBa0JRO0U3QjhsRlY7QUFDRjtBNkI1bEZRO0VBQ0k7QTdCOGxGWjtBNkIxbEZJO0VBQ0k7QTdCNGxGUjtBNkIxbEZRO0VBSEo7SUFJUTtFN0I2bEZWO0FBQ0Y7QTZCM2xGUTtFQUNJO0E3QjZsRlo7QTZCemxGSTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBN0IybEZSO0E2QnpsRlE7RUFSSjtJQVNRO0U3QjRsRlY7QUFDRjtBNkIxbEZRO0VBWko7SUFhUTtFN0I2bEZWO0FBQ0Y7QTZCMWxGSTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0E3QjRsRlI7QTZCMWxGUTtFQU5KO0lBT1E7RTdCNmxGVjtBQUNGO0E2QjNsRlE7RUFWSjtJQVdRO0lBQ0E7SUFDQTtJQUNBO0U3QjhsRlY7QUFDRjtBNkIzbEZJO0VBQ0k7RUFDQTtFQUNBO0E3QjZsRlI7QTZCM2xGUTtFQUxKO0lBTVE7RTdCOGxGVjtBQUNGO0E2QjVsRlE7RUFDSTtFQUNBO0VBQ0E7QTdCOGxGWjtBNkI1bEZZO0VBTEo7SUFNUTtJQUNBO0U3QitsRmQ7QUFDRjtBNkI3bEZZO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBN0IrbEZoQjtBNkI3bEZnQjtFQWJKO0lBY1E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtFN0JnbUZsQjtBQUNGO0E2QjNsRkk7RUFDSTtFQUNBO0VBQ0E7QTdCNmxGUjtBNkIzbEZRO0VBTEo7SUFNUTtJQUNBO0U3QjhsRlY7QUFDRjtBNkI1bEZRO0VBVko7SUFXUTtFN0IrbEZWO0FBQ0Y7O0E4Qi84RkE7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUVBO0VBQ0E7RUFDQTtFQUNBO0E5Qmk5Rko7QThCLzhGSTtFQVhKO0lBYVE7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7RTlCaTlGTjtBQUNGOztBOEI5OEZBO0VBQ0ksV1RWWTtFU1daO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0E5Qmk5Rko7QThCLzhGSTtFQWhCSjtJQWlCUTtJQUNBO0lBQ0EseUJUUVE7SVNQUjtJQUNBO0lBQ0E7RTlCazlGTjtBQUNGO0E4Qi84RlE7RUFESjtJQUVRLHlCVDlDVztFckJnZ0dyQjtBQUNGO0E4Qjk4RlE7RUFESjtJQUVRLHlCVFJNO0VyQnk5RmhCO0FBQ0Y7QThCOThGSTtFQUNJLFdUL0NRO0FyQisvRmhCO0E4Qjc4Rkk7RUFDSTtFQUNBLHlCVGxFUztFU21FVCxXVHJEUTtFU3NEUjtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBOUIrOEZSO0E4Qjc4RlE7RUFmSjtJQWdCUTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0U5Qmc5RlY7QUFDRjtBOEI5OEZRO0VBQ0kseUJUcEZXO0FyQm9pR3ZCO0E4Qjk4Rlk7RUFISjtJQUlRO0U5Qmk5RmQ7QUFDRjtBOEI5OEZRO0VBQ0kseUJUaERNO0FyQmdnR2xCO0E4Qjk4Rlk7RUFISjtJQUlRO0U5Qmk5RmQ7QUFDRjtBOEI5OEZRO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QTlCZzlGWjtBOEI5OEZZO0VBWko7SUFhUTtFOUJpOUZkO0FBQ0Y7QThCLzhGWTtFQUNJO0VBQ0E7RUFDQTtBOUJpOUZoQjtBOEIvOEZnQjtFQUxKO0lBTVE7RTlCazlGbEI7QUFDRjtBOEIvOEZZO0VBQ0k7RUFDQTtFQUNBO0E5Qmk5RmhCO0E4Qi84RmdCO0VBTEo7SUFNUTtFOUJrOUZsQjtBQUNGO0E4Qjc4Rkk7RUFDSSx5QlQ5SVM7RVMrSVQ7RUFDQTtFQUNBO0VBQ0E7QTlCKzhGUjtBOEI3OEZRO0VBQ0kseUJUakpXO0FyQmdtR3ZCO0E4QjU4RlE7RUFDSSx5QlR6R007QXJCdWpHbEI7QThCMzhGUTtFQWZKO0lBZ0JRO0lBQ0E7SUFDQTtFOUI4OEZWO0FBQ0Y7QThCMzhGWTtFQURKO0lBRVE7RTlCODhGZDtBQUNGO0E4QjE4Rlk7RUFESjtJQUVRO0U5QjY4RmQ7QUFDRjtBOEJ6OEZJO0VBQ0ksV1RsS1E7RVNtS1I7QTlCMjhGUjs7QStCOW5HSTtFQUNJO0EvQmlvR1I7O0ErQjduR0E7RUFDSTtBL0Jnb0dKOztBK0I3bkdBO0VBQ0k7QS9CZ29HSjtBK0I5bkdJO0VBQ0k7QS9CZ29HUjtBK0I5bkdRO0VBSEo7SUFJUTtFL0Jpb0dWO0FBQ0Y7O0FnQ2pwR0k7RUFDRTtBaENvcEdOO0FnQ2pwR0k7RUFDRTtBaENtcEdOO0FnQy9vR0U7RUFDRTtJQUNFO0VoQ2lwR0o7QUFDRjs7QWdDNW9HRTtFQUNFO0VBQ0E7QWhDK29HSjtBZ0M3b0dJO0VBQ0U7RUFDQTtBaEMrb0dOO0FnQzNvR0U7RUFDRTtFQUNBO0FoQzZvR0o7QWdDM29HSTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0FoQzZvR047QWdDMW9HSTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBaEM0b0dOO0FnQ3pvR0k7RUFDRTtBaEMyb0dOO0FnQ3pvR007RUFDRTtBaEMyb0dSO0FnQ3RvR007RUFDRTtBaEN3b0dSO0FnQ3BvR0k7O0VBRUU7QWhDc29HTjtBZ0Nsb0dFO0VBQ0U7RUFDQTtFQUNBO0FoQ29vR0o7QWdDam9HRTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0FoQ21vR0o7QWdDaG9HRTtFQUNFO0FoQ2tvR0o7QWdDL25HRTtFQUNFO0VBQ0E7QWhDaW9HSjtBZ0M5bkdFO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBaENnb0dKO0FnQzduR0U7RUFDRTtFQUNBO0VBQ0E7QWhDK25HSjtBZ0M3bkdJO0VBQ0U7RUFDQTtFQUNBO0FoQytuR047O0FnQ3puR0U7RUFDRTtFQUNBO0FoQzRuR0o7QWdDem5HRTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QWhDMm5HSjtBZ0N4bkdFO0VBQ0U7RUFDQTtFQUNBO0FoQzBuR0o7QWdDeG5HSTtFQUNFO0VBQ0E7RUFDQTtBaEMwbkdOLEMiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvX2Nsb3NlLnNjc3MiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL3ZlbmRvci9fcmZzLnNjc3MiLCJ3ZWJwYWNrOi8vLy4vYXNzZXRzL3VuaWNlZi9zY3NzL2xpYi9fb3ZlcnJpZGUtYm9vdHN0cmFwNC12YXJpYWJsZXMuc2NzcyIsIndlYnBhY2s6Ly8vLi9hc3NldHMvdW5pY2VmL3Njc3MvcGFnZXMvcmVnaXN0ZXIuc2NzcyIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvbWl4aW5zL19ob3Zlci5zY3NzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9fdG9hc3RzLnNjc3MiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL21peGlucy9fYm9yZGVyLXJhZGl1cy5zY3NzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9AbWF0ZXJpYWwvdG91Y2gtdGFyZ2V0L19taXhpbnMuc2NzcyIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvQG1hdGVyaWFsL2NoZWNrYm94L19rZXlmcmFtZXMuc2NzcyIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvQG1hdGVyaWFsL2NoZWNrYm94L192YXJpYWJsZXMuc2NzcyIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvQG1hdGVyaWFsL2FuaW1hdGlvbi9fdmFyaWFibGVzLnNjc3MiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL0BtYXRlcmlhbC9jaGVja2JveC9fbWl4aW5zLnNjc3MiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL0BtYXRlcmlhbC90aGVtZS9fbWl4aW5zLnNjc3MiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL0BtYXRlcmlhbC9yaXBwbGUvX21peGlucy5zY3NzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9AbWF0ZXJpYWwvcmlwcGxlL192YXJpYWJsZXMuc2NzcyIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvQG1hdGVyaWFsL3RvdWNoLXRhcmdldC9fdmFyaWFibGVzLnNjc3MiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL0BtYXRlcmlhbC9yaXBwbGUvX2tleWZyYW1lcy5zY3NzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9AbWF0ZXJpYWwvZWxldmF0aW9uL19taXhpbnMuc2NzcyIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvQG1hdGVyaWFsL2RpYWxvZy9fbWl4aW5zLnNjc3MiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL0BtYXRlcmlhbC9kaWFsb2cvX3ZhcmlhYmxlcy5zY3NzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9AbWF0ZXJpYWwvc2hhcGUvX21peGlucy5zY3NzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9AbWF0ZXJpYWwvcnRsL19taXhpbnMuc2NzcyIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvQG1hdGVyaWFsL3R5cG9ncmFwaHkvX21peGlucy5zY3NzIiwid2VicGFjazovLy8uL2Fzc2V0cy91bmljZWYvc2Nzcy9jb21wb25lbnRzL19tYXRlcmlhbC5zY3NzIiwid2VicGFjazovLy8uL2Fzc2V0cy91bmljZWYvc2Nzcy9saWIvX3Byb2plY3QtdmFyaWFibGVzLnNjc3MiLCJ3ZWJwYWNrOi8vLy4vYXNzZXRzL3VuaWNlZi9zY3NzL2NvbXBvbmVudHMvX2JyZWFkY3J1bWIuc2NzcyIsIndlYnBhY2s6Ly8vLi9hc3NldHMvdW5pY2VmL3Njc3MvY29tcG9uZW50cy9fc2l0ZS1mb3JtLnNjc3MiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL0BtYXRlcmlhbC9yYWRpby9fbWl4aW5zLnNjc3MiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL0BtYXRlcmlhbC9ub3RjaGVkLW91dGxpbmUvX21peGlucy5zY3NzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9AbWF0ZXJpYWwvc2VsZWN0L19taXhpbnMuc2NzcyIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvQG1hdGVyaWFsL3NlbGVjdC9fdmFyaWFibGVzLnNjc3MiLCJ3ZWJwYWNrOi8vLy4vYXNzZXRzL3VuaWNlZi9zY3NzL2NvbXBvbmVudHMvX21vZGFsLWZ1bGwuc2NzcyIsIndlYnBhY2s6Ly8vLi9hc3NldHMvdW5pY2VmL3Njc3MvY29tcG9uZW50cy9fcmVnaXN0ZXIuc2NzcyIsIndlYnBhY2s6Ly8vLi9hc3NldHMvdW5pY2VmL3Njc3MvY29tcG9uZW50cy9fdG9hc3Quc2NzcyIsIndlYnBhY2s6Ly8vLi9hc3NldHMvdW5pY2VmL3Njc3MvY29tcG9uZW50cy9fbWFpbi1wYWdlLnNjc3MiLCJ3ZWJwYWNrOi8vLy4vYXNzZXRzL3VuaWNlZi9zY3NzL2NvbXBvbmVudHMvX21vZGFsLW5ld3NsZXR0ZXIuc2NzcyJdLCJzb3VyY2VzQ29udGVudCI6WyIuY2xvc2Uge1xuICBmbG9hdDogcmlnaHQ7XG4gIEBpbmNsdWRlIGZvbnQtc2l6ZSgkY2xvc2UtZm9udC1zaXplKTtcbiAgZm9udC13ZWlnaHQ6ICRjbG9zZS1mb250LXdlaWdodDtcbiAgbGluZS1oZWlnaHQ6IDE7XG4gIGNvbG9yOiAkY2xvc2UtY29sb3I7XG4gIHRleHQtc2hhZG93OiAkY2xvc2UtdGV4dC1zaGFkb3c7XG4gIG9wYWNpdHk6IC41O1xuXG4gIC8vIE92ZXJyaWRlIDxhPidzIGhvdmVyIHN0eWxlXG4gIEBpbmNsdWRlIGhvdmVyKCkge1xuICAgIGNvbG9yOiAkY2xvc2UtY29sb3I7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICB9XG5cbiAgJjpub3QoOmRpc2FibGVkKTpub3QoLmRpc2FibGVkKSB7XG4gICAgQGluY2x1ZGUgaG92ZXItZm9jdXMoKSB7XG4gICAgICBvcGFjaXR5OiAuNzU7XG4gICAgfVxuICB9XG59XG5cbi8vIEFkZGl0aW9uYWwgcHJvcGVydGllcyBmb3IgYnV0dG9uIHZlcnNpb25cbi8vIGlPUyByZXF1aXJlcyB0aGUgYnV0dG9uIGVsZW1lbnQgaW5zdGVhZCBvZiBhbiBhbmNob3IgdGFnLlxuLy8gSWYgeW91IHdhbnQgdGhlIGFuY2hvciB2ZXJzaW9uLCBpdCByZXF1aXJlcyBgaHJlZj1cIiNcImAuXG4vLyBTZWUgaHR0cHM6Ly9kZXZlbG9wZXIubW96aWxsYS5vcmcvZW4tVVMvZG9jcy9XZWIvRXZlbnRzL2NsaWNrI1NhZmFyaV9Nb2JpbGVcblxuLy8gc3R5bGVsaW50LWRpc2FibGUtbmV4dC1saW5lIHNlbGVjdG9yLW5vLXF1YWxpZnlpbmctdHlwZVxuYnV0dG9uLmNsb3NlIHtcbiAgcGFkZGluZzogMDtcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIGJvcmRlcjogMDtcbn1cblxuLy8gRnV0dXJlLXByb29mIGRpc2FibGluZyBvZiBjbGlja3Mgb24gYDxhPmAgZWxlbWVudHNcblxuLy8gc3R5bGVsaW50LWRpc2FibGUtbmV4dC1saW5lIHNlbGVjdG9yLW5vLXF1YWxpZnlpbmctdHlwZVxuYS5jbG9zZS5kaXNhYmxlZCB7XG4gIHBvaW50ZXItZXZlbnRzOiBub25lO1xufVxuIiwiLy8gc3R5bGVsaW50LWRpc2FibGUgcHJvcGVydHktYmxhY2tsaXN0LCBzY3NzL2RvbGxhci12YXJpYWJsZS1kZWZhdWx0XG5cbi8vIFNDU1MgUkZTIG1peGluXG4vL1xuLy8gQXV0b21hdGVkIHJlc3BvbnNpdmUgZm9udCBzaXplc1xuLy9cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCAoaHR0cHM6Ly9naXRodWIuY29tL3R3YnMvcmZzL2Jsb2IvdjgueC9MSUNFTlNFKVxuXG4vLyBDb25maWd1cmF0aW9uXG5cbi8vIEJhc2UgZm9udCBzaXplXG4kcmZzLWJhc2UtZm9udC1zaXplOiAxLjI1cmVtICFkZWZhdWx0O1xuJHJmcy1mb250LXNpemUtdW5pdDogcmVtICFkZWZhdWx0O1xuXG5AaWYgJHJmcy1mb250LXNpemUtdW5pdCAhPSByZW0gYW5kICRyZnMtZm9udC1zaXplLXVuaXQgIT0gcHgge1xuICBAZXJyb3IgXCJgI3skcmZzLWZvbnQtc2l6ZS11bml0fWAgaXMgbm90IGEgdmFsaWQgdW5pdCBmb3IgJHJmcy1mb250LXNpemUtdW5pdC4gVXNlIGBweGAgb3IgYHJlbWAuXCI7XG59XG5cbi8vIEJyZWFrcG9pbnQgYXQgd2hlcmUgZm9udC1zaXplIHN0YXJ0cyBkZWNyZWFzaW5nIGlmIHNjcmVlbiB3aWR0aCBpcyBzbWFsbGVyXG4kcmZzLWJyZWFrcG9pbnQ6IDEyMDBweCAhZGVmYXVsdDtcbiRyZnMtYnJlYWtwb2ludC11bml0OiBweCAhZGVmYXVsdDtcblxuQGlmICRyZnMtYnJlYWtwb2ludC11bml0ICE9IHB4IGFuZCAkcmZzLWJyZWFrcG9pbnQtdW5pdCAhPSBlbSBhbmQgJHJmcy1icmVha3BvaW50LXVuaXQgIT0gcmVtIHtcbiAgQGVycm9yIFwiYCN7JHJmcy1icmVha3BvaW50LXVuaXR9YCBpcyBub3QgYSB2YWxpZCB1bml0IGZvciAkcmZzLWJyZWFrcG9pbnQtdW5pdC4gVXNlIGBweGAsIGBlbWAgb3IgYHJlbWAuXCI7XG59XG5cbi8vIFJlc2l6ZSBmb250IHNpemUgYmFzZWQgb24gc2NyZWVuIGhlaWdodCBhbmQgd2lkdGhcbiRyZnMtdHdvLWRpbWVuc2lvbmFsOiBmYWxzZSAhZGVmYXVsdDtcblxuLy8gRmFjdG9yIG9mIGRlY3JlYXNlXG4kcmZzLWZhY3RvcjogMTAgIWRlZmF1bHQ7XG5cbkBpZiB0eXBlLW9mKCRyZnMtZmFjdG9yKSAhPSBcIm51bWJlclwiIG9yICRyZnMtZmFjdG9yIDw9IDEge1xuICBAZXJyb3IgXCJgI3skcmZzLWZhY3Rvcn1gIGlzIG5vdCBhIHZhbGlkICAkcmZzLWZhY3RvciwgaXQgbXVzdCBiZSBncmVhdGVyIHRoYW4gMS5cIjtcbn1cblxuLy8gR2VuZXJhdGUgZW5hYmxlIG9yIGRpc2FibGUgY2xhc3Nlcy4gUG9zc2liaWxpdGllczogZmFsc2UsIFwiZW5hYmxlXCIgb3IgXCJkaXNhYmxlXCJcbiRyZnMtY2xhc3M6IGZhbHNlICFkZWZhdWx0O1xuXG4vLyAxIHJlbSA9ICRyZnMtcmVtLXZhbHVlIHB4XG4kcmZzLXJlbS12YWx1ZTogMTYgIWRlZmF1bHQ7XG5cbi8vIFNhZmFyaSBpZnJhbWUgcmVzaXplIGJ1ZzogaHR0cHM6Ly9naXRodWIuY29tL3R3YnMvcmZzL2lzc3Vlcy8xNFxuJHJmcy1zYWZhcmktaWZyYW1lLXJlc2l6ZS1idWctZml4OiBmYWxzZSAhZGVmYXVsdDtcblxuLy8gRGlzYWJsZSBSRlMgYnkgc2V0dGluZyAkZW5hYmxlLXJlc3BvbnNpdmUtZm9udC1zaXplcyB0byBmYWxzZVxuJGVuYWJsZS1yZXNwb25zaXZlLWZvbnQtc2l6ZXM6IHRydWUgIWRlZmF1bHQ7XG5cbi8vIENhY2hlICRyZnMtYmFzZS1mb250LXNpemUgdW5pdFxuJHJmcy1iYXNlLWZvbnQtc2l6ZS11bml0OiB1bml0KCRyZnMtYmFzZS1mb250LXNpemUpO1xuXG5AZnVuY3Rpb24gZGl2aWRlKCRkaXZpZGVuZCwgJGRpdmlzb3IsICRwcmVjaXNpb246IDEwKSB7XG4gICRzaWduOiBpZigkZGl2aWRlbmQgPiAwIGFuZCAkZGl2aXNvciA+IDAgb3IgJGRpdmlkZW5kIDwgMCBhbmQgJGRpdmlzb3IgPCAwLCAxLCAtMSk7XG4gICRkaXZpZGVuZDogYWJzKCRkaXZpZGVuZCk7XG4gICRkaXZpc29yOiBhYnMoJGRpdmlzb3IpO1xuICBAaWYgJGRpdmlkZW5kID09IDAge1xuICAgIEByZXR1cm4gMDtcbiAgfVxuICBAaWYgJGRpdmlzb3IgPT0gMCB7XG4gICAgQGVycm9yIFwiQ2Fubm90IGRpdmlkZSBieSAwXCI7XG4gIH1cbiAgJHJlbWFpbmRlcjogJGRpdmlkZW5kO1xuICAkcmVzdWx0OiAwO1xuICAkZmFjdG9yOiAxMDtcbiAgQHdoaWxlICgkcmVtYWluZGVyID4gMCBhbmQgJHByZWNpc2lvbiA+PSAwKSB7XG4gICAgJHF1b3RpZW50OiAwO1xuICAgIEB3aGlsZSAoJHJlbWFpbmRlciA+PSAkZGl2aXNvcikge1xuICAgICAgJHJlbWFpbmRlcjogJHJlbWFpbmRlciAtICRkaXZpc29yO1xuICAgICAgJHF1b3RpZW50OiAkcXVvdGllbnQgKyAxO1xuICAgIH1cbiAgICAkcmVzdWx0OiAkcmVzdWx0ICogMTAgKyAkcXVvdGllbnQ7XG4gICAgJGZhY3RvcjogJGZhY3RvciAqIC4xO1xuICAgICRyZW1haW5kZXI6ICRyZW1haW5kZXIgKiAxMDtcbiAgICAkcHJlY2lzaW9uOiAkcHJlY2lzaW9uIC0gMTtcbiAgICBAaWYgKCRwcmVjaXNpb24gPCAwIGFuZCAkcmVtYWluZGVyID49ICRkaXZpc29yICogNSkge1xuICAgICAgJHJlc3VsdDogJHJlc3VsdCArIDE7XG4gICAgfVxuICB9XG4gICRyZXN1bHQ6ICRyZXN1bHQgKiAkZmFjdG9yICogJHNpZ247XG4gICRkaXZpZGVuZC11bml0OiB1bml0KCRkaXZpZGVuZCk7XG4gICRkaXZpc29yLXVuaXQ6IHVuaXQoJGRpdmlzb3IpO1xuICAkdW5pdC1tYXA6IChcbiAgICBcInB4XCI6IDFweCxcbiAgICBcInJlbVwiOiAxcmVtLFxuICAgIFwiZW1cIjogMWVtLFxuICAgIFwiJVwiOiAxJVxuICApO1xuICBAaWYgKCRkaXZpZGVuZC11bml0ICE9ICRkaXZpc29yLXVuaXQgYW5kIG1hcC1oYXMta2V5KCR1bml0LW1hcCwgJGRpdmlkZW5kLXVuaXQpKSB7XG4gICAgJHJlc3VsdDogJHJlc3VsdCAqIG1hcC1nZXQoJHVuaXQtbWFwLCAkZGl2aWRlbmQtdW5pdCk7XG4gIH1cbiAgQHJldHVybiAkcmVzdWx0O1xufVxuXG4vLyBSZW1vdmUgcHgtdW5pdCBmcm9tICRyZnMtYmFzZS1mb250LXNpemUgZm9yIGNhbGN1bGF0aW9uc1xuQGlmICRyZnMtYmFzZS1mb250LXNpemUtdW5pdCA9PSBcInB4XCIge1xuICAkcmZzLWJhc2UtZm9udC1zaXplOiBkaXZpZGUoJHJmcy1iYXNlLWZvbnQtc2l6ZSwgJHJmcy1iYXNlLWZvbnQtc2l6ZSAqIDAgKyAxKTtcbn1cbkBlbHNlIGlmICRyZnMtYmFzZS1mb250LXNpemUtdW5pdCA9PSBcInJlbVwiIHtcbiAgJHJmcy1iYXNlLWZvbnQtc2l6ZTogZGl2aWRlKCRyZnMtYmFzZS1mb250LXNpemUsIGRpdmlkZSgkcmZzLWJhc2UtZm9udC1zaXplICogMCArIDEsICRyZnMtcmVtLXZhbHVlKSk7XG59XG5cbi8vIENhY2hlICRyZnMtYnJlYWtwb2ludCB1bml0IHRvIHByZXZlbnQgbXVsdGlwbGUgY2FsbHNcbiRyZnMtYnJlYWtwb2ludC11bml0LWNhY2hlOiB1bml0KCRyZnMtYnJlYWtwb2ludCk7XG5cbi8vIFJlbW92ZSB1bml0IGZyb20gJHJmcy1icmVha3BvaW50IGZvciBjYWxjdWxhdGlvbnNcbkBpZiAkcmZzLWJyZWFrcG9pbnQtdW5pdC1jYWNoZSA9PSBcInB4XCIge1xuICAkcmZzLWJyZWFrcG9pbnQ6IGRpdmlkZSgkcmZzLWJyZWFrcG9pbnQsICRyZnMtYnJlYWtwb2ludCAqIDAgKyAxKTtcbn1cbkBlbHNlIGlmICRyZnMtYnJlYWtwb2ludC11bml0LWNhY2hlID09IFwicmVtXCIgb3IgJHJmcy1icmVha3BvaW50LXVuaXQtY2FjaGUgPT0gXCJlbVwiIHtcbiAgJHJmcy1icmVha3BvaW50OiBkaXZpZGUoJHJmcy1icmVha3BvaW50LCBkaXZpZGUoJHJmcy1icmVha3BvaW50ICogMCArIDEsICRyZnMtcmVtLXZhbHVlKSk7XG59XG5cbi8vIEludGVybmFsIG1peGluIHRoYXQgYWRkcyBkaXNhYmxlIGNsYXNzZXMgdG8gdGhlIHNlbGVjdG9yIGlmIG5lZWRlZC5cbkBtaXhpbiBfcmZzLWRpc2FibGUtY2xhc3Mge1xuICBAaWYgJHJmcy1jbGFzcyA9PSBcImRpc2FibGVcIiB7XG4gICAgLy8gQWRkaW5nIGFuIGV4dHJhIGNsYXNzIGluY3JlYXNlcyBzcGVjaWZpY2l0eSwgd2hpY2ggcHJldmVudHMgdGhlIG1lZGlhIHF1ZXJ5IHRvIG92ZXJyaWRlIHRoZSBmb250IHNpemVcbiAgICAmLFxuICAgIC5kaXNhYmxlLXJlc3BvbnNpdmUtZm9udC1zaXplICYsXG4gICAgJi5kaXNhYmxlLXJlc3BvbnNpdmUtZm9udC1zaXplIHtcbiAgICAgIEBjb250ZW50O1xuICAgIH1cbiAgfVxuICBAZWxzZSB7XG4gICAgQGNvbnRlbnQ7XG4gIH1cbn1cblxuLy8gSW50ZXJuYWwgbWl4aW4gdGhhdCBhZGRzIGVuYWJsZSBjbGFzc2VzIHRvIHRoZSBzZWxlY3RvciBpZiBuZWVkZWQuXG5AbWl4aW4gX3Jmcy1lbmFibGUtY2xhc3Mge1xuICBAaWYgJHJmcy1jbGFzcyA9PSBcImVuYWJsZVwiIHtcbiAgICAuZW5hYmxlLXJlc3BvbnNpdmUtZm9udC1zaXplICYsXG4gICAgJi5lbmFibGUtcmVzcG9uc2l2ZS1mb250LXNpemUge1xuICAgICAgQGNvbnRlbnQ7XG4gICAgfVxuICB9XG4gIEBlbHNlIHtcbiAgICBAY29udGVudDtcbiAgfVxufVxuXG4vLyBJbnRlcm5hbCBtaXhpbiB1c2VkIHRvIGRldGVybWluZSB3aGljaCBtZWRpYSBxdWVyeSBuZWVkcyB0byBiZSB1c2VkXG5AbWl4aW4gX3Jmcy1tZWRpYS1xdWVyeSgkbXEtdmFsdWUpIHtcbiAgQGlmICRyZnMtdHdvLWRpbWVuc2lvbmFsIHtcbiAgICBAbWVkaWEgKG1heC13aWR0aDogI3skbXEtdmFsdWV9KSwgKG1heC1oZWlnaHQ6ICN7JG1xLXZhbHVlfSkge1xuICAgICAgQGNvbnRlbnQ7XG4gICAgfVxuICB9XG4gIEBlbHNlIHtcbiAgICBAbWVkaWEgKG1heC13aWR0aDogI3skbXEtdmFsdWV9KSB7XG4gICAgICBAY29udGVudDtcbiAgICB9XG4gIH1cbn1cblxuLy8gUmVzcG9uc2l2ZSBmb250IHNpemUgbWl4aW5cbkBtaXhpbiByZnMoJGZzLCAkaW1wb3J0YW50OiBmYWxzZSkge1xuICAvLyBDYWNoZSAkZnMgdW5pdFxuICAkZnMtdW5pdDogaWYodHlwZS1vZigkZnMpID09IFwibnVtYmVyXCIsIHVuaXQoJGZzKSwgZmFsc2UpO1xuXG4gIC8vIEFkZCAhaW1wb3J0YW50IHN1ZmZpeCBpZiBuZWVkZWRcbiAgJHJmcy1zdWZmaXg6IGlmKCRpbXBvcnRhbnQsIFwiICFpbXBvcnRhbnRcIiwgXCJcIik7XG5cbiAgLy8gSWYgJGZzIGlzbid0IGEgbnVtYmVyIChsaWtlIGluaGVyaXQpIG9yICRmcyBoYXMgYSB1bml0IChub3QgcHggb3IgcmVtLCBsaWtlIDEuNWVtKSBvciAkIGlzIDAsIGp1c3QgcHJpbnQgdGhlIHZhbHVlXG4gIEBpZiBub3QgJGZzLXVuaXQgb3IgJGZzLXVuaXQgIT0gXCJcIiBhbmQgJGZzLXVuaXQgIT0gXCJweFwiIGFuZCAkZnMtdW5pdCAhPSBcInJlbVwiIG9yICRmcyA9PSAwIHtcbiAgICBmb250LXNpemU6ICN7JGZzfSN7JHJmcy1zdWZmaXh9O1xuICB9XG4gIEBlbHNlIHtcbiAgICAvLyBSZW1vdmUgdW5pdCBmcm9tICRmcyBmb3IgY2FsY3VsYXRpb25zXG4gICAgQGlmICRmcy11bml0ID09IFwicHhcIiB7XG4gICAgICAkZnM6IGRpdmlkZSgkZnMsICRmcyAqIDAgKyAxKTtcbiAgICB9XG4gICAgQGVsc2UgaWYgJGZzLXVuaXQgPT0gXCJyZW1cIiB7XG4gICAgICAkZnM6IGRpdmlkZSgkZnMsIGRpdmlkZSgkZnMgKiAwICsgMSwgJHJmcy1yZW0tdmFsdWUpKTtcbiAgICB9XG5cbiAgICAvLyBTZXQgZGVmYXVsdCBmb250IHNpemVcbiAgICAkcmZzLXN0YXRpYzogaWYoJHJmcy1mb250LXNpemUtdW5pdCA9PSByZW0sICN7ZGl2aWRlKCRmcywgJHJmcy1yZW0tdmFsdWUpfXJlbSwgI3skZnN9cHgpO1xuXG4gICAgLy8gT25seSBhZGQgdGhlIG1lZGlhIHF1ZXJ5IGlmIHRoZSBmb250IHNpemUgaXMgYmlnZ2VyIHRoYW4gdGhlIG1pbmltdW0gZm9udCBzaXplXG4gICAgQGlmICRmcyA8PSAkcmZzLWJhc2UtZm9udC1zaXplIG9yIG5vdCAkZW5hYmxlLXJlc3BvbnNpdmUtZm9udC1zaXplcyB7XG4gICAgICBmb250LXNpemU6ICN7JHJmcy1zdGF0aWN9I3skcmZzLXN1ZmZpeH07XG4gICAgfVxuICAgIEBlbHNlIHtcbiAgICAgIC8vIENhbGN1bGF0ZSB0aGUgbWluaW11bSBmb250IHNpemUgZm9yICRmc1xuICAgICAgJGZzLW1pbjogJHJmcy1iYXNlLWZvbnQtc2l6ZSArIGRpdmlkZSgkZnMgLSAkcmZzLWJhc2UtZm9udC1zaXplLCAkcmZzLWZhY3Rvcik7XG5cbiAgICAgIC8vIENhbGN1bGF0ZSBkaWZmZXJlbmNlIGJldHdlZW4gJGZzIGFuZCB0aGUgbWluaW11bSBmb250IHNpemVcbiAgICAgICRmcy1kaWZmOiAkZnMgLSAkZnMtbWluO1xuXG4gICAgICAvLyBCYXNlIGZvbnQtc2l6ZSBmb3JtYXR0aW5nXG4gICAgICAkbWluLXdpZHRoOiBpZigkcmZzLWZvbnQtc2l6ZS11bml0ID09IHJlbSwgI3tkaXZpZGUoJGZzLW1pbiwgJHJmcy1yZW0tdmFsdWUpfXJlbSwgI3skZnMtbWlufXB4KTtcblxuICAgICAgLy8gVXNlIGB2bWluYCBpZiB0d28tZGltZW5zaW9uYWwgaXMgZW5hYmxlZFxuICAgICAgJHZhcmlhYmxlLXVuaXQ6IGlmKCRyZnMtdHdvLWRpbWVuc2lvbmFsLCB2bWluLCB2dyk7XG5cbiAgICAgIC8vIENhbGN1bGF0ZSB0aGUgdmFyaWFibGUgd2lkdGggYmV0d2VlbiAwIGFuZCAkcmZzLWJyZWFrcG9pbnRcbiAgICAgICR2YXJpYWJsZS13aWR0aDogI3tkaXZpZGUoJGZzLWRpZmYgKiAxMDAsICRyZnMtYnJlYWtwb2ludCl9I3skdmFyaWFibGUtdW5pdH07XG5cbiAgICAgIC8vIFNldCB0aGUgY2FsY3VsYXRlZCBmb250LXNpemVcbiAgICAgICRyZnMtZmx1aWQ6IGNhbGMoI3skbWluLXdpZHRofSArICN7JHZhcmlhYmxlLXdpZHRofSkgI3skcmZzLXN1ZmZpeH07XG5cbiAgICAgIC8vIEJyZWFrcG9pbnQgZm9ybWF0dGluZ1xuICAgICAgJG1xLXZhbHVlOiBpZigkcmZzLWJyZWFrcG9pbnQtdW5pdCA9PSBweCwgI3skcmZzLWJyZWFrcG9pbnR9cHgsICN7ZGl2aWRlKCRyZnMtYnJlYWtwb2ludCwgJHJmcy1yZW0tdmFsdWUpfSN7JHJmcy1icmVha3BvaW50LXVuaXR9KTtcblxuICAgICAgQGluY2x1ZGUgX3Jmcy1kaXNhYmxlLWNsYXNzIHtcbiAgICAgICAgZm9udC1zaXplOiAjeyRyZnMtc3RhdGljfSN7JHJmcy1zdWZmaXh9O1xuICAgICAgfVxuXG4gICAgICBAaW5jbHVkZSBfcmZzLW1lZGlhLXF1ZXJ5KCRtcS12YWx1ZSkge1xuICAgICAgICBAaW5jbHVkZSBfcmZzLWVuYWJsZS1jbGFzcyB7XG4gICAgICAgICAgZm9udC1zaXplOiAkcmZzLWZsdWlkO1xuICAgICAgICB9XG5cbiAgICAgICAgLy8gSW5jbHVkZSBzYWZhcmkgaWZyYW1lIHJlc2l6ZSBmaXggaWYgbmVlZGVkXG4gICAgICAgIG1pbi13aWR0aDogaWYoJHJmcy1zYWZhcmktaWZyYW1lLXJlc2l6ZS1idWctZml4LCAoMCAqIDF2dyksIG51bGwpO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG4vLyBUaGUgZm9udC1zaXplICYgcmVzcG9uc2l2ZS1mb250LXNpemUgbWl4aW5zIHVzZSBSRlMgdG8gcmVzY2FsZSB0aGUgZm9udCBzaXplXG5AbWl4aW4gZm9udC1zaXplKCRmcywgJGltcG9ydGFudDogZmFsc2UpIHtcbiAgQGluY2x1ZGUgcmZzKCRmcywgJGltcG9ydGFudCk7XG59XG5cbkBtaXhpbiByZXNwb25zaXZlLWZvbnQtc2l6ZSgkZnMsICRpbXBvcnRhbnQ6IGZhbHNlKSB7XG4gIEBpbmNsdWRlIHJmcygkZnMsICRpbXBvcnRhbnQpO1xufVxuIiwiLy8gVmFyaWFibGVzXG4vL1xuLy8gVmFyaWFibGVzIHNob3VsZCBmb2xsb3cgdGhlIGAkY29tcG9uZW50LXN0YXRlLXByb3BlcnR5LXNpemVgIGZvcm11bGEgZm9yXG4vLyBjb25zaXN0ZW50IG5hbWluZy4gRXg6ICRuYXYtbGluay1kaXNhYmxlZC1jb2xvciBhbmQgJG1vZGFsLWNvbnRlbnQtYm94LXNoYWRvdy14cy5cblxuLy8gQ29sb3Igc3lzdGVtXG5cbiR3aGl0ZTogICAgI2ZmZjtcbiRncmF5LTEwMDogI2Y4ZjlmYTtcbiRncmF5LTIwMDogI2U5ZWNlZjtcbiRncmF5LTMwMDogI2RlZTJlNjtcbiRncmF5LTQwMDogI2NlZDRkYTtcbiRncmF5LTUwMDogI2FkYjViZDtcbiRncmF5LTYwMDogIzZjNzU3ZDtcbiRncmF5LTcwMDogIzQ5NTA1NztcbiRncmF5LTgwMDogIzM0M2E0MDtcbiRncmF5LTkwMDogIzIwMWQxZDtcbiRibGFjazogICAgIzAwMDtcblxuJGdyYXlzOiAoKTtcbi8vIHN0eWxlbGludC1kaXNhYmxlLW5leHQtbGluZSBzY3NzL2RvbGxhci12YXJpYWJsZS1kZWZhdWx0XG4kZ3JheXM6IG1hcC1tZXJnZShcbiAgICAgICAgICAgICAgICAoXG4gICAgICAgICAgICAgICAgICAgICAgICBcIjEwMFwiOiAkZ3JheS0xMDAsXG4gICAgICAgICAgICAgICAgICAgICAgICBcIjIwMFwiOiAkZ3JheS0yMDAsXG4gICAgICAgICAgICAgICAgICAgICAgICBcIjMwMFwiOiAkZ3JheS0zMDAsXG4gICAgICAgICAgICAgICAgICAgICAgICBcIjQwMFwiOiAkZ3JheS00MDAsXG4gICAgICAgICAgICAgICAgICAgICAgICBcIjUwMFwiOiAkZ3JheS01MDAsXG4gICAgICAgICAgICAgICAgICAgICAgICBcIjYwMFwiOiAkZ3JheS02MDAsXG4gICAgICAgICAgICAgICAgICAgICAgICBcIjcwMFwiOiAkZ3JheS03MDAsXG4gICAgICAgICAgICAgICAgICAgICAgICBcIjgwMFwiOiAkZ3JheS04MDAsXG4gICAgICAgICAgICAgICAgICAgICAgICBcIjkwMFwiOiAkZ3JheS05MDBcbiAgICAgICAgICAgICAgICApLFxuICAgICAgICAgICAgICAgICRncmF5c1xuKTtcblxuJGJsdWU6ICAgICRwcm9qZWN0LXByaW1hcnk7IC8vIG1vZCAjMDA3YmZmOztcbiRpbmRpZ286ICAjNjYxMGYyO1xuJHB1cnBsZTogICM2ZjQyYzE7XG4kcGluazogICAgI2U4M2U4YztcbiRyZWQ6ICAgICAjZGMzNTQ1O1xuJG9yYW5nZTogICNmZDdlMTQ7XG4keWVsbG93OiAgI2ZmYzEwNztcbiRncmVlbjogICAjMjhhNzQ1O1xuJHRlYWw6ICAgICMyMGM5OTc7XG4kY3lhbjogICAgIzE3YTJiODtcblxuJGNvbG9yczogKCk7XG4vLyBzdHlsZWxpbnQtZGlzYWJsZS1uZXh0LWxpbmUgc2Nzcy9kb2xsYXItdmFyaWFibGUtZGVmYXVsdFxuJGNvbG9yczogbWFwLW1lcmdlKFxuICAgICAgICAgICAgICAgIChcbiAgICAgICAgICAgICAgICAgICAgICAgIFwiYmx1ZVwiOiAgICAgICAkYmx1ZSxcbiAgICAgICAgICAgICAgICAgICAgICAgIFwiaW5kaWdvXCI6ICAgICAkaW5kaWdvLFxuICAgICAgICAgICAgICAgICAgICAgICAgXCJwdXJwbGVcIjogICAgICRwdXJwbGUsXG4gICAgICAgICAgICAgICAgICAgICAgICBcInBpbmtcIjogICAgICAgJHBpbmssXG4gICAgICAgICAgICAgICAgICAgICAgICBcInJlZFwiOiAgICAgICAgJHJlZCxcbiAgICAgICAgICAgICAgICAgICAgICAgIFwib3JhbmdlXCI6ICAgICAkb3JhbmdlLFxuICAgICAgICAgICAgICAgICAgICAgICAgXCJ5ZWxsb3dcIjogICAgICR5ZWxsb3csXG4gICAgICAgICAgICAgICAgICAgICAgICBcImdyZWVuXCI6ICAgICAgJGdyZWVuLFxuICAgICAgICAgICAgICAgICAgICAgICAgXCJ0ZWFsXCI6ICAgICAgICR0ZWFsLFxuICAgICAgICAgICAgICAgICAgICAgICAgXCJjeWFuXCI6ICAgICAgICRjeWFuLFxuICAgICAgICAgICAgICAgICAgICAgICAgXCJ3aGl0ZVwiOiAgICAgICR3aGl0ZSxcbiAgICAgICAgICAgICAgICAgICAgICAgIFwiZ3JheVwiOiAgICAgICAkZ3JheS02MDAsXG4gICAgICAgICAgICAgICAgICAgICAgICBcImdyYXktZGFya1wiOiAgJGdyYXktODAwXG4gICAgICAgICAgICAgICAgKSxcbiAgICAgICAgICAgICAgICAkY29sb3JzXG4pO1xuXG4kcHJpbWFyeTogICAgICAgJGJsdWU7XG4kc2Vjb25kYXJ5OiAgICAgJGdyYXktNjAwO1xuJHN1Y2Nlc3M6ICAgICAgICRncmVlbjtcbiRpbmZvOiAgICAgICAgICAkY3lhbjtcbiR3YXJuaW5nOiAgICAgICAkeWVsbG93O1xuJGRhbmdlcjogICAgICAgICRyZWQ7XG4kbGlnaHQ6ICAgICAgICAgJGdyYXktMTAwO1xuJGRhcms6ICAgICAgICAgICRncmF5LTgwMDtcblxuJHRoZW1lLWNvbG9yczogKCk7XG4vLyBzdHlsZWxpbnQtZGlzYWJsZS1uZXh0LWxpbmUgc2Nzcy9kb2xsYXItdmFyaWFibGUtZGVmYXVsdFxuJHRoZW1lLWNvbG9yczogbWFwLW1lcmdlKFxuICAgICAgICAgICAgICAgIChcbiAgICAgICAgICAgICAgICAgICAgICAgIFwicHJpbWFyeVwiOiAgICAkcHJpbWFyeSxcbiAgICAgICAgICAgICAgICAgICAgICAgIFwic2Vjb25kYXJ5XCI6ICAkc2Vjb25kYXJ5LFxuICAgICAgICAgICAgICAgICAgICAgICAgXCJzdWNjZXNzXCI6ICAgICRzdWNjZXNzLFxuICAgICAgICAgICAgICAgICAgICAgICAgXCJpbmZvXCI6ICAgICAgICRpbmZvLFxuICAgICAgICAgICAgICAgICAgICAgICAgXCJ3YXJuaW5nXCI6ICAgICR3YXJuaW5nLFxuICAgICAgICAgICAgICAgICAgICAgICAgXCJkYW5nZXJcIjogICAgICRkYW5nZXIsXG4gICAgICAgICAgICAgICAgICAgICAgICBcImxpZ2h0XCI6ICAgICAgJGxpZ2h0LFxuICAgICAgICAgICAgICAgICAgICAgICAgXCJkYXJrXCI6ICAgICAgICRkYXJrXG4gICAgICAgICAgICAgICAgKSxcbiAgICAgICAgICAgICAgICAkdGhlbWUtY29sb3JzXG4pO1xuXG4vLyBTZXQgYSBzcGVjaWZpYyBqdW1wIHBvaW50IGZvciByZXF1ZXN0aW5nIGNvbG9yIGp1bXBzXG4kdGhlbWUtY29sb3ItaW50ZXJ2YWw6ICAgICAgOCU7XG5cbi8vIFRoZSB5aXEgbGlnaHRuZXNzIHZhbHVlIHRoYXQgZGV0ZXJtaW5lcyB3aGVuIHRoZSBsaWdodG5lc3Mgb2YgY29sb3IgY2hhbmdlcyBmcm9tIFwiZGFya1wiIHRvIFwibGlnaHRcIi4gQWNjZXB0YWJsZSB2YWx1ZXMgYXJlIGJldHdlZW4gMCBhbmQgMjU1LlxuJHlpcS1jb250cmFzdGVkLXRocmVzaG9sZDogIDE1MDtcblxuLy8gQ3VzdG9taXplIHRoZSBsaWdodCBhbmQgZGFyayB0ZXh0IGNvbG9ycyBmb3IgdXNlIGluIG91ciBZSVEgY29sb3IgY29udHJhc3QgZnVuY3Rpb24uXG4keWlxLXRleHQtZGFyazogICAgICAgICAgICAgJGdyYXktOTAwO1xuJHlpcS10ZXh0LWxpZ2h0OiAgICAgICAgICAgICR3aGl0ZTtcblxuLy8gQ2hhcmFjdGVycyB3aGljaCBhcmUgZXNjYXBlZCBieSB0aGUgZXNjYXBlLXN2ZyBmdW5jdGlvblxuJGVzY2FwZWQtY2hhcmFjdGVyczogKFxuICAgICAgICAgICAgICAgIChcIjxcIixcIiUzY1wiKSxcbiAgICAgICAgICAgICAgICAoXCI+XCIsXCIlM2VcIiksXG4gICAgICAgICAgICAgICAgKFwiI1wiLFwiJTIzXCIpLFxuKTtcblxuXG4vLyBPcHRpb25zXG4vL1xuLy8gUXVpY2tseSBtb2RpZnkgZ2xvYmFsIHN0eWxpbmcgYnkgZW5hYmxpbmcgb3IgZGlzYWJsaW5nIG9wdGlvbmFsIGZlYXR1cmVzLlxuXG4kZW5hYmxlLWNhcmV0OiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdHJ1ZTtcbiRlbmFibGUtcm91bmRlZDogICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0cnVlO1xuJGVuYWJsZS1zaGFkb3dzOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZhbHNlO1xuJGVuYWJsZS1ncmFkaWVudHM6ICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZhbHNlO1xuJGVuYWJsZS10cmFuc2l0aW9uczogICAgICAgICAgICAgICAgICAgICAgICAgIHRydWU7XG4kZW5hYmxlLXByZWZlcnMtcmVkdWNlZC1tb3Rpb24tbWVkaWEtcXVlcnk6ICAgdHJ1ZTtcbiRlbmFibGUtaG92ZXItbWVkaWEtcXVlcnk6ICAgICAgICAgICAgICAgICAgICBmYWxzZTsgLy8gRGVwcmVjYXRlZCwgbm8gbG9uZ2VyIGFmZmVjdHMgYW55IGNvbXBpbGVkIENTU1xuJGVuYWJsZS1ncmlkLWNsYXNzZXM6ICAgICAgICAgICAgICAgICAgICAgICAgIHRydWU7XG4kZW5hYmxlLXBvaW50ZXItY3Vyc29yLWZvci1idXR0b25zOiAgICAgICAgICAgdHJ1ZTtcbiRlbmFibGUtcHJpbnQtc3R5bGVzOiAgICAgICAgICAgICAgICAgICAgICAgICB0cnVlO1xuJGVuYWJsZS1yZXNwb25zaXZlLWZvbnQtc2l6ZXM6ICAgICAgICAgICAgICAgIHRydWU7XG4kZW5hYmxlLXZhbGlkYXRpb24taWNvbnM6ICAgICAgICAgICAgICAgICAgICAgdHJ1ZTtcbiRlbmFibGUtZGVwcmVjYXRpb24tbWVzc2FnZXM6ICAgICAgICAgICAgICAgICB0cnVlO1xuXG5cbi8vIFNwYWNpbmdcbi8vXG4vLyBDb250cm9sIHRoZSBkZWZhdWx0IHN0eWxpbmcgb2YgbW9zdCBCb290c3RyYXAgZWxlbWVudHMgYnkgbW9kaWZ5aW5nIHRoZXNlXG4vLyB2YXJpYWJsZXMuIE1vc3RseSBmb2N1c2VkIG9uIHNwYWNpbmcuXG4vLyBZb3UgY2FuIGFkZCBtb3JlIGVudHJpZXMgdG8gdGhlICRzcGFjZXJzIG1hcCwgc2hvdWxkIHlvdSBuZWVkIG1vcmUgdmFyaWF0aW9uLlxuXG4kc3BhY2VyOiAxcmVtO1xuJHNwYWNlcnM6ICgpO1xuLy8gc3R5bGVsaW50LWRpc2FibGUtbmV4dC1saW5lIHNjc3MvZG9sbGFyLXZhcmlhYmxlLWRlZmF1bHRcbiRzcGFjZXJzOiBtYXAtbWVyZ2UoXG4gICAgICAgICAgICAgICAgKFxuICAgICAgICAgICAgICAgICAgICAgICAgMDogMCxcbiAgICAgICAgICAgICAgICAgICAgICAgIDE6ICgkc3BhY2VyICogLjI1KSxcbiAgICAgICAgICAgICAgICAgICAgICAgIDI6ICgkc3BhY2VyICogLjUpLFxuICAgICAgICAgICAgICAgICAgICAgICAgMzogJHNwYWNlcixcbiAgICAgICAgICAgICAgICAgICAgICAgIDQ6ICgkc3BhY2VyICogMS41KSxcbiAgICAgICAgICAgICAgICAgICAgICAgIDU6ICgkc3BhY2VyICogMylcbiAgICAgICAgICAgICAgICApLFxuICAgICAgICAgICAgICAgICRzcGFjZXJzXG4pO1xuXG4vLyBUaGlzIHZhcmlhYmxlIGFmZmVjdHMgdGhlIGAuaC0qYCBhbmQgYC53LSpgIGNsYXNzZXMuXG4kc2l6ZXM6ICgpO1xuLy8gc3R5bGVsaW50LWRpc2FibGUtbmV4dC1saW5lIHNjc3MvZG9sbGFyLXZhcmlhYmxlLWRlZmF1bHRcbiRzaXplczogbWFwLW1lcmdlKFxuICAgICAgICAgICAgICAgIChcbiAgICAgICAgICAgICAgICAgICAgICAgIDI1OiAyNSUsXG4gICAgICAgICAgICAgICAgICAgICAgICA1MDogNTAlLFxuICAgICAgICAgICAgICAgICAgICAgICAgNzU6IDc1JSxcbiAgICAgICAgICAgICAgICAgICAgICAgIDEwMDogMTAwJSxcbiAgICAgICAgICAgICAgICAgICAgICAgIGF1dG86IGF1dG9cbiAgICAgICAgICAgICAgICApLFxuICAgICAgICAgICAgICAgICRzaXplc1xuKTtcblxuXG4vLyBCb2R5XG4vL1xuLy8gU2V0dGluZ3MgZm9yIHRoZSBgPGJvZHk+YCBlbGVtZW50LlxuXG4kYm9keS1iZzogICAgICAgICAgICAgICAgICAgJHdoaXRlO1xuJGJvZHktY29sb3I6ICAgICAgICAgICAgICAgICRncmF5LTkwMDtcblxuXG4vLyBMaW5rc1xuLy9cbi8vIFN0eWxlIGFuY2hvciBlbGVtZW50cy5cblxuJGxpbmstY29sb3I6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJHByb2plY3QtYmx1ZS1kNTAwO1xuJGxpbmstZGVjb3JhdGlvbjogICAgICAgICAgICAgICAgICAgICAgICAgbm9uZTtcbiRsaW5rLWhvdmVyLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICAgICRsaW5rLWNvbG9yO1xuJGxpbmstaG92ZXItZGVjb3JhdGlvbjogICAgICAgICAgICAgICAgICAgdW5kZXJsaW5lO1xuLy8gRGFya2VuIHBlcmNlbnRhZ2UgZm9yIGxpbmtzIHdpdGggYC50ZXh0LSpgIGNsYXNzIChlLmcuIGAudGV4dC1zdWNjZXNzYClcbiRlbXBoYXNpemVkLWxpbmstaG92ZXItZGFya2VuLXBlcmNlbnRhZ2U6IDE1JTtcblxuLy8gUGFyYWdyYXBoc1xuLy9cbi8vIFN0eWxlIHAgZWxlbWVudC5cblxuJHBhcmFncmFwaC1tYXJnaW4tYm90dG9tOiAgIDFyZW07XG5cblxuLy8gR3JpZCBicmVha3BvaW50c1xuLy9cbi8vIERlZmluZSB0aGUgbWluaW11bSBkaW1lbnNpb25zIGF0IHdoaWNoIHlvdXIgbGF5b3V0IHdpbGwgY2hhbmdlLFxuLy8gYWRhcHRpbmcgdG8gZGlmZmVyZW50IHNjcmVlbiBzaXplcywgZm9yIHVzZSBpbiBtZWRpYSBxdWVyaWVzLlxuXG4kZ3JpZC1icmVha3BvaW50czogKFxuICAgICAgICB4czogMCxcbiAgICAgICAgc206IDQ4MHB4LFxuICAgICAgICBtZDogNzY4cHgsXG4gICAgICAgIGxnOiA5OTJweCxcbiAgICAgICAgeGw6IDEyMDBweCxcbiAgICAgICAgaGc6IDE0MjBweFxuKTtcblxuQGluY2x1ZGUgX2Fzc2VydC1hc2NlbmRpbmcoJGdyaWQtYnJlYWtwb2ludHMsIFwiJGdyaWQtYnJlYWtwb2ludHNcIik7XG5AaW5jbHVkZSBfYXNzZXJ0LXN0YXJ0cy1hdC16ZXJvKCRncmlkLWJyZWFrcG9pbnRzLCBcIiRncmlkLWJyZWFrcG9pbnRzXCIpO1xuXG5cbi8vIEdyaWQgY29udGFpbmVyc1xuLy9cbi8vIERlZmluZSB0aGUgbWF4aW11bSB3aWR0aCBvZiBgLmNvbnRhaW5lcmAgZm9yIGRpZmZlcmVudCBzY3JlZW4gc2l6ZXMuXG5cbiRjb250YWluZXItbWF4LXdpZHRoczogKFxuICAgICAgICBzbTogNTQwcHgsXG4gICAgICAgIG1kOiA3NTBweCxcbiAgICAgICAgbGc6IDk2MHB4LFxuICAgICAgICB4bDogMTE0MHB4LFxuICAgICAgICBoZzogJHNpdGUtY29udGFpbmVyXG4pO1xuXG5AaW5jbHVkZSBfYXNzZXJ0LWFzY2VuZGluZygkY29udGFpbmVyLW1heC13aWR0aHMsIFwiJGNvbnRhaW5lci1tYXgtd2lkdGhzXCIpO1xuXG5cbi8vIEdyaWQgY29sdW1uc1xuLy9cbi8vIFNldCB0aGUgbnVtYmVyIG9mIGNvbHVtbnMgYW5kIHNwZWNpZnkgdGhlIHdpZHRoIG9mIHRoZSBndXR0ZXJzLlxuXG4kZ3JpZC1jb2x1bW5zOiAgICAgICAgICAgICAgICAxMjtcbiRncmlkLWd1dHRlci13aWR0aDogICAgICAgICAgIDMwcHg7XG4kZ3JpZC1yb3ctY29sdW1uczogICAgICAgICAgICA2O1xuXG5cbi8vIENvbXBvbmVudHNcbi8vXG4vLyBEZWZpbmUgY29tbW9uIHBhZGRpbmcgYW5kIGJvcmRlciByYWRpdXMgc2l6ZXMgYW5kIG1vcmUuXG5cbiRsaW5lLWhlaWdodC1sZzogICAgICAgICAgICAgIDEuNTtcbiRsaW5lLWhlaWdodC1zbTogICAgICAgICAgICAgIDEuNTtcblxuJGJvcmRlci13aWR0aDogICAgICAgICAgICAgICAgMXB4O1xuJGJvcmRlci1jb2xvcjogICAgICAgICAgICAgICAgJGdyYXktMzAwO1xuXG4kYm9yZGVyLXJhZGl1czogICAgICAgICAgICAgICAuMjVyZW07XG4kYm9yZGVyLXJhZGl1cy1sZzogICAgICAgICAgICAuM3JlbTtcbiRib3JkZXItcmFkaXVzLXNtOiAgICAgICAgICAgIC4ycmVtO1xuXG4kcm91bmRlZC1waWxsOiAgICAgICAgICAgICAgICA1MHJlbTtcblxuJGJveC1zaGFkb3ctc206ICAgICAgICAgICAgICAgMCAuMTI1cmVtIC4yNXJlbSByZ2JhKCRibGFjaywgLjA3NSk7XG4kYm94LXNoYWRvdzogICAgICAgICAgICAgICAgICAwIC41cmVtIDFyZW0gcmdiYSgkYmxhY2ssIC4xNSk7XG4kYm94LXNoYWRvdy1sZzogICAgICAgICAgICAgICAwIDFyZW0gM3JlbSByZ2JhKCRibGFjaywgLjE3NSk7XG5cbiRjb21wb25lbnQtYWN0aXZlLWNvbG9yOiAgICAgICR3aGl0ZTtcbiRjb21wb25lbnQtYWN0aXZlLWJnOiAgICAgICAgIHRoZW1lLWNvbG9yKFwicHJpbWFyeVwiKTtcblxuJGNhcmV0LXdpZHRoOiAgICAgICAgICAgICAgICAgLjNlbTtcbiRjYXJldC12ZXJ0aWNhbC1hbGlnbjogICAgICAgICRjYXJldC13aWR0aCAqIC44NTtcbiRjYXJldC1zcGFjaW5nOiAgICAgICAgICAgICAgICRjYXJldC13aWR0aCAqIC44NTtcblxuJHRyYW5zaXRpb24tYmFzZTogICAgICAgICAgICAgYWxsIC4ycyBlYXNlLWluLW91dDtcbiR0cmFuc2l0aW9uLWZhZGU6ICAgICAgICAgICAgIG9wYWNpdHkgLjE1cyBsaW5lYXI7XG4kdHJhbnNpdGlvbi1jb2xsYXBzZTogICAgICAgICBoZWlnaHQgLjM1cyBlYXNlO1xuXG4kZW1iZWQtcmVzcG9uc2l2ZS1hc3BlY3QtcmF0aW9zOiAoKTtcbi8vIHN0eWxlbGludC1kaXNhYmxlLW5leHQtbGluZSBzY3NzL2RvbGxhci12YXJpYWJsZS1kZWZhdWx0XG4kZW1iZWQtcmVzcG9uc2l2ZS1hc3BlY3QtcmF0aW9zOiBqb2luKFxuICAgICAgICAgICAgICAgICAgICAgICAgKFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgyMSA5KSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMTYgOSksXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDQgMyksXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEgMSksXG4gICAgICAgICAgICAgICAgICAgICAgICApLFxuICAgICAgICAgICAgICAgICRlbWJlZC1yZXNwb25zaXZlLWFzcGVjdC1yYXRpb3Ncbik7XG5cbi8vIFR5cG9ncmFwaHlcbi8vXG4vLyBGb250LCBsaW5lLWhlaWdodCwgYW5kIGNvbG9yIGZvciBib2R5IHRleHQsIGhlYWRpbmdzLCBhbmQgbW9yZS5cblxuLy8gc3R5bGVsaW50LWRpc2FibGUgdmFsdWUta2V5d29yZC1jYXNlXG4kZm9udC1mYW1pbHktc2Fucy1zZXJpZjogICAgICAnUm9ib3RvV2ViJywgc2Fucy1zZXJpZjtcbiRmb250LWZhbWlseS1tb25vc3BhY2U6ICAgICAgIFNGTW9uby1SZWd1bGFyLCBNZW5sbywgTW9uYWNvLCBDb25zb2xhcywgXCJMaWJlcmF0aW9uIE1vbm9cIiwgXCJDb3VyaWVyIE5ld1wiLCBtb25vc3BhY2U7XG4kZm9udC1mYW1pbHktYmFzZTogICAgICAgICAgICAkZm9udC1mYW1pbHktc2Fucy1zZXJpZjtcbi8vIHN0eWxlbGludC1lbmFibGUgdmFsdWUta2V5d29yZC1jYXNlXG5cbiRmb250LXNpemUtYmFzZTogICAgICAgICAgICAgIDFyZW07IC8vIEFzc3VtZXMgdGhlIGJyb3dzZXIgZGVmYXVsdCwgdHlwaWNhbGx5IGAxNnB4YFxuJGZvbnQtc2l6ZS1sZzogICAgICAgICAgICAgICAgJGZvbnQtc2l6ZS1iYXNlICogMS4yNTtcbiRmb250LXNpemUtc206ICAgICAgICAgICAgICAgICRmb250LXNpemUtYmFzZSAqIC44NzU7XG5cbiRmb250LXdlaWdodC1saWdodGVyOiAgICAgICAgIGxpZ2h0ZXI7XG4kZm9udC13ZWlnaHQtbGlnaHQ6ICAgICAgICAgICAzMDA7XG4kZm9udC13ZWlnaHQtbm9ybWFsOiAgICAgICAgICA0MDA7XG4kZm9udC13ZWlnaHQtYm9sZDogICAgICAgICAgICA3MDA7XG4kZm9udC13ZWlnaHQtYm9sZGVyOiAgICAgICAgICBib2xkZXI7XG5cbiRmb250LXdlaWdodC1iYXNlOiAgICAgICAgICAgICRmb250LXdlaWdodC1ub3JtYWw7XG4kbGluZS1oZWlnaHQtYmFzZTogICAgICAgICAgICAxLjU7XG5cbiRoMS1mb250LXNpemU6ICAgICAgICAgICAgICAgICRmb250LXNpemUtYmFzZSAqIDIuNTtcbiRoMi1mb250LXNpemU6ICAgICAgICAgICAgICAgICRmb250LXNpemUtYmFzZSAqIDI7XG4kaDMtZm9udC1zaXplOiAgICAgICAgICAgICAgICAkZm9udC1zaXplLWJhc2UgKiAxLjc1O1xuJGg0LWZvbnQtc2l6ZTogICAgICAgICAgICAgICAgJGZvbnQtc2l6ZS1iYXNlICogMS41O1xuJGg1LWZvbnQtc2l6ZTogICAgICAgICAgICAgICAgJGZvbnQtc2l6ZS1iYXNlICogMS4yNTtcbiRoNi1mb250LXNpemU6ICAgICAgICAgICAgICAgICRmb250LXNpemUtYmFzZTtcblxuJGhlYWRpbmdzLW1hcmdpbi1ib3R0b206ICAgICAgJHNwYWNlciAvIDI7XG4kaGVhZGluZ3MtZm9udC1mYW1pbHk6ICAgICAgICBudWxsO1xuJGhlYWRpbmdzLWZvbnQtd2VpZ2h0OiAgICAgICAgNTAwO1xuJGhlYWRpbmdzLWxpbmUtaGVpZ2h0OiAgICAgICAgMS4yO1xuJGhlYWRpbmdzLWNvbG9yOiAgICAgICAgICAgICAgbnVsbDtcblxuJGRpc3BsYXkxLXNpemU6ICAgICAgICAgICAgICAgNnJlbTtcbiRkaXNwbGF5Mi1zaXplOiAgICAgICAgICAgICAgIDUuNXJlbTtcbiRkaXNwbGF5My1zaXplOiAgICAgICAgICAgICAgIDQuNXJlbTtcbiRkaXNwbGF5NC1zaXplOiAgICAgICAgICAgICAgIDMuNXJlbTtcblxuJGRpc3BsYXkxLXdlaWdodDogICAgICAgICAgICAgMzAwO1xuJGRpc3BsYXkyLXdlaWdodDogICAgICAgICAgICAgMzAwO1xuJGRpc3BsYXkzLXdlaWdodDogICAgICAgICAgICAgMzAwO1xuJGRpc3BsYXk0LXdlaWdodDogICAgICAgICAgICAgMzAwO1xuJGRpc3BsYXktbGluZS1oZWlnaHQ6ICAgICAgICAgJGhlYWRpbmdzLWxpbmUtaGVpZ2h0O1xuXG4kbGVhZC1mb250LXNpemU6ICAgICAgICAgICAgICAkZm9udC1zaXplLWJhc2UgKiAxLjI1O1xuJGxlYWQtZm9udC13ZWlnaHQ6ICAgICAgICAgICAgMzAwO1xuXG4kc21hbGwtZm9udC1zaXplOiAgICAgICAgICAgICA4MCU7XG5cbiR0ZXh0LW11dGVkOiAgICAgICAgICAgICAgICAgICRncmF5LTYwMDtcblxuJGJsb2NrcXVvdGUtc21hbGwtY29sb3I6ICAgICAgJGdyYXktNjAwO1xuJGJsb2NrcXVvdGUtc21hbGwtZm9udC1zaXplOiAgJHNtYWxsLWZvbnQtc2l6ZTtcbiRibG9ja3F1b3RlLWZvbnQtc2l6ZTogICAgICAgICRmb250LXNpemUtYmFzZSAqIDEuMjU7XG5cbiRoci1ib3JkZXItY29sb3I6ICAgICAgICAgICAgIHJnYmEoJGJsYWNrLCAuMSk7XG4kaHItYm9yZGVyLXdpZHRoOiAgICAgICAgICAgICAkYm9yZGVyLXdpZHRoO1xuXG4kbWFyay1wYWRkaW5nOiAgICAgICAgICAgICAgICAuMmVtO1xuXG4kZHQtZm9udC13ZWlnaHQ6ICAgICAgICAgICAgICAkZm9udC13ZWlnaHQtYm9sZDtcblxuJGtiZC1ib3gtc2hhZG93OiAgICAgICAgICAgICAgaW5zZXQgMCAtLjFyZW0gMCByZ2JhKCRibGFjaywgLjI1KTtcbiRuZXN0ZWQta2JkLWZvbnQtd2VpZ2h0OiAgICAgICRmb250LXdlaWdodC1ib2xkO1xuXG4kbGlzdC1pbmxpbmUtcGFkZGluZzogICAgICAgICAuNXJlbTtcblxuJG1hcmstYmc6ICAgICAgICAgICAgICAgICAgICAgI2ZjZjhlMztcblxuJGhyLW1hcmdpbi15OiAgICAgICAgICAgICAgICAgJHNwYWNlcjtcblxuXG4vLyBUYWJsZXNcbi8vXG4vLyBDdXN0b21pemVzIHRoZSBgLnRhYmxlYCBjb21wb25lbnQgd2l0aCBiYXNpYyB2YWx1ZXMsIGVhY2ggdXNlZCBhY3Jvc3MgYWxsIHRhYmxlIHZhcmlhdGlvbnMuXG5cbiR0YWJsZS1jZWxsLXBhZGRpbmc6ICAgICAgICAgIC43NXJlbTtcbiR0YWJsZS1jZWxsLXBhZGRpbmctc206ICAgICAgIC4zcmVtO1xuXG4kdGFibGUtY29sb3I6ICAgICAgICAgICAgICAgICAkYm9keS1jb2xvcjtcbiR0YWJsZS1iZzogICAgICAgICAgICAgICAgICAgIG51bGw7XG4kdGFibGUtYWNjZW50LWJnOiAgICAgICAgICAgICByZ2JhKCRibGFjaywgLjA1KTtcbiR0YWJsZS1ob3Zlci1jb2xvcjogICAgICAgICAgICR0YWJsZS1jb2xvcjtcbiR0YWJsZS1ob3Zlci1iZzogICAgICAgICAgICAgIHJnYmEoJGJsYWNrLCAuMDc1KTtcbiR0YWJsZS1hY3RpdmUtYmc6ICAgICAgICAgICAgICR0YWJsZS1ob3Zlci1iZztcblxuJHRhYmxlLWJvcmRlci13aWR0aDogICAgICAgICAgJGJvcmRlci13aWR0aDtcbiR0YWJsZS1ib3JkZXItY29sb3I6ICAgICAgICAgICRib3JkZXItY29sb3I7XG5cbiR0YWJsZS1oZWFkLWJnOiAgICAgICAgICAgICAgICRncmF5LTIwMDtcbiR0YWJsZS1oZWFkLWNvbG9yOiAgICAgICAgICAgICRncmF5LTcwMDtcblxuJHRhYmxlLWRhcmstY29sb3I6ICAgICAgICAgICAgJHdoaXRlO1xuJHRhYmxlLWRhcmstYmc6ICAgICAgICAgICAgICAgJGdyYXktODAwO1xuJHRhYmxlLWRhcmstYWNjZW50LWJnOiAgICAgICAgcmdiYSgkd2hpdGUsIC4wNSk7XG4kdGFibGUtZGFyay1ob3Zlci1jb2xvcjogICAgICAkdGFibGUtZGFyay1jb2xvcjtcbiR0YWJsZS1kYXJrLWhvdmVyLWJnOiAgICAgICAgIHJnYmEoJHdoaXRlLCAuMDc1KTtcbiR0YWJsZS1kYXJrLWJvcmRlci1jb2xvcjogICAgIGxpZ2h0ZW4oJHRhYmxlLWRhcmstYmcsIDcuNSUpO1xuXG4kdGFibGUtc3RyaXBlZC1vcmRlcjogICAgICAgICBvZGQ7XG5cbiR0YWJsZS1jYXB0aW9uLWNvbG9yOiAgICAgICAgICR0ZXh0LW11dGVkO1xuXG4kdGFibGUtYmctbGV2ZWw6ICAgICAgICAgICAgICAtOTtcbiR0YWJsZS1ib3JkZXItbGV2ZWw6ICAgICAgICAgIC02O1xuXG5cbi8vIEJ1dHRvbnMgKyBGb3Jtc1xuLy9cbi8vIFNoYXJlZCB2YXJpYWJsZXMgdGhhdCBhcmUgcmVhc3NpZ25lZCB0byBgJGlucHV0LWAgYW5kIGAkYnRuLWAgc3BlY2lmaWMgdmFyaWFibGVzLlxuXG4kaW5wdXQtYnRuLXBhZGRpbmcteTogICAgICAgICAuMzc1cmVtO1xuJGlucHV0LWJ0bi1wYWRkaW5nLXg6ICAgICAgICAgLjc1cmVtO1xuJGlucHV0LWJ0bi1mb250LWZhbWlseTogICAgICAgbnVsbDtcbiRpbnB1dC1idG4tZm9udC1zaXplOiAgICAgICAgICRmb250LXNpemUtYmFzZTtcbiRpbnB1dC1idG4tbGluZS1oZWlnaHQ6ICAgICAgICRsaW5lLWhlaWdodC1iYXNlO1xuXG4kaW5wdXQtYnRuLWZvY3VzLXdpZHRoOiAgICAgICAuMnJlbTtcbiRpbnB1dC1idG4tZm9jdXMtY29sb3I6ICAgICAgIHJnYmEoJGNvbXBvbmVudC1hY3RpdmUtYmcsIC4yNSk7XG4kaW5wdXQtYnRuLWZvY3VzLWJveC1zaGFkb3c6ICAwIDAgMCAkaW5wdXQtYnRuLWZvY3VzLXdpZHRoICRpbnB1dC1idG4tZm9jdXMtY29sb3I7XG5cbiRpbnB1dC1idG4tcGFkZGluZy15LXNtOiAgICAgIC4yNXJlbTtcbiRpbnB1dC1idG4tcGFkZGluZy14LXNtOiAgICAgIC41cmVtO1xuJGlucHV0LWJ0bi1mb250LXNpemUtc206ICAgICAgJGZvbnQtc2l6ZS1zbTtcbiRpbnB1dC1idG4tbGluZS1oZWlnaHQtc206ICAgICRsaW5lLWhlaWdodC1zbTtcblxuJGlucHV0LWJ0bi1wYWRkaW5nLXktbGc6ICAgICAgLjVyZW07XG4kaW5wdXQtYnRuLXBhZGRpbmcteC1sZzogICAgICAxcmVtO1xuJGlucHV0LWJ0bi1mb250LXNpemUtbGc6ICAgICAgJGZvbnQtc2l6ZS1sZztcbiRpbnB1dC1idG4tbGluZS1oZWlnaHQtbGc6ICAgICRsaW5lLWhlaWdodC1sZztcblxuJGlucHV0LWJ0bi1ib3JkZXItd2lkdGg6ICAgICAgJGJvcmRlci13aWR0aDtcblxuXG4vLyBCdXR0b25zXG4vL1xuLy8gRm9yIGVhY2ggb2YgQm9vdHN0cmFwJ3MgYnV0dG9ucywgZGVmaW5lIHRleHQsIGJhY2tncm91bmQsIGFuZCBib3JkZXIgY29sb3IuXG5cbiRidG4tcGFkZGluZy15OiAgICAgICAgICAgICAgICRpbnB1dC1idG4tcGFkZGluZy15O1xuJGJ0bi1wYWRkaW5nLXg6ICAgICAgICAgICAgICAgJGlucHV0LWJ0bi1wYWRkaW5nLXg7XG4kYnRuLWZvbnQtZmFtaWx5OiAgICAgICAgICAgICAkaW5wdXQtYnRuLWZvbnQtZmFtaWx5O1xuJGJ0bi1mb250LXNpemU6ICAgICAgICAgICAgICAgJGlucHV0LWJ0bi1mb250LXNpemU7XG4kYnRuLWxpbmUtaGVpZ2h0OiAgICAgICAgICAgICAkaW5wdXQtYnRuLWxpbmUtaGVpZ2h0O1xuJGJ0bi13aGl0ZS1zcGFjZTogICAgICAgICAgICAgbnVsbDsgLy8gU2V0IHRvIGBub3dyYXBgIHRvIHByZXZlbnQgdGV4dCB3cmFwcGluZ1xuXG4kYnRuLXBhZGRpbmcteS1zbTogICAgICAgICAgICAkaW5wdXQtYnRuLXBhZGRpbmcteS1zbTtcbiRidG4tcGFkZGluZy14LXNtOiAgICAgICAgICAgICRpbnB1dC1idG4tcGFkZGluZy14LXNtO1xuJGJ0bi1mb250LXNpemUtc206ICAgICAgICAgICAgJGlucHV0LWJ0bi1mb250LXNpemUtc207XG4kYnRuLWxpbmUtaGVpZ2h0LXNtOiAgICAgICAgICAkaW5wdXQtYnRuLWxpbmUtaGVpZ2h0LXNtO1xuXG4kYnRuLXBhZGRpbmcteS1sZzogICAgICAgICAgICAkaW5wdXQtYnRuLXBhZGRpbmcteS1sZztcbiRidG4tcGFkZGluZy14LWxnOiAgICAgICAgICAgICRpbnB1dC1idG4tcGFkZGluZy14LWxnO1xuJGJ0bi1mb250LXNpemUtbGc6ICAgICAgICAgICAgJGlucHV0LWJ0bi1mb250LXNpemUtbGc7XG4kYnRuLWxpbmUtaGVpZ2h0LWxnOiAgICAgICAgICAkaW5wdXQtYnRuLWxpbmUtaGVpZ2h0LWxnO1xuXG4kYnRuLWJvcmRlci13aWR0aDogICAgICAgICAgICAkaW5wdXQtYnRuLWJvcmRlci13aWR0aDtcblxuJGJ0bi1mb250LXdlaWdodDogICAgICAgICAgICAgJGZvbnQtd2VpZ2h0LW5vcm1hbDtcbiRidG4tYm94LXNoYWRvdzogICAgICAgICAgICAgIGluc2V0IDAgMXB4IDAgcmdiYSgkd2hpdGUsIC4xNSksIDAgMXB4IDFweCByZ2JhKCRibGFjaywgLjA3NSk7XG4kYnRuLWZvY3VzLXdpZHRoOiAgICAgICAgICAgICAkaW5wdXQtYnRuLWZvY3VzLXdpZHRoO1xuJGJ0bi1mb2N1cy1ib3gtc2hhZG93OiAgICAgICAgJGlucHV0LWJ0bi1mb2N1cy1ib3gtc2hhZG93O1xuJGJ0bi1kaXNhYmxlZC1vcGFjaXR5OiAgICAgICAgLjY1O1xuJGJ0bi1hY3RpdmUtYm94LXNoYWRvdzogICAgICAgaW5zZXQgMCAzcHggNXB4IHJnYmEoJGJsYWNrLCAuMTI1KTtcblxuJGJ0bi1saW5rLWRpc2FibGVkLWNvbG9yOiAgICAgJGdyYXktNjAwO1xuXG4kYnRuLWJsb2NrLXNwYWNpbmcteTogICAgICAgICAuNXJlbTtcblxuLy8gQWxsb3dzIGZvciBjdXN0b21pemluZyBidXR0b24gcmFkaXVzIGluZGVwZW5kZW50bHkgZnJvbSBnbG9iYWwgYm9yZGVyIHJhZGl1c1xuJGJ0bi1ib3JkZXItcmFkaXVzOiAgICAgICAgICAgJGJvcmRlci1yYWRpdXM7XG4kYnRuLWJvcmRlci1yYWRpdXMtbGc6ICAgICAgICAkYm9yZGVyLXJhZGl1cy1sZztcbiRidG4tYm9yZGVyLXJhZGl1cy1zbTogICAgICAgICRib3JkZXItcmFkaXVzLXNtO1xuXG4kYnRuLXRyYW5zaXRpb246ICAgICAgICAgICAgICBjb2xvciAuMTVzIGVhc2UtaW4tb3V0LCBiYWNrZ3JvdW5kLWNvbG9yIC4xNXMgZWFzZS1pbi1vdXQsIGJvcmRlci1jb2xvciAuMTVzIGVhc2UtaW4tb3V0LCBib3gtc2hhZG93IC4xNXMgZWFzZS1pbi1vdXQ7XG5cblxuLy8gRm9ybXNcblxuJGxhYmVsLW1hcmdpbi1ib3R0b206ICAgICAgICAgICAgICAgICAgIC41cmVtO1xuXG4kaW5wdXQtcGFkZGluZy15OiAgICAgICAgICAgICAgICAgICAgICAgJGlucHV0LWJ0bi1wYWRkaW5nLXk7XG4kaW5wdXQtcGFkZGluZy14OiAgICAgICAgICAgICAgICAgICAgICAgJGlucHV0LWJ0bi1wYWRkaW5nLXg7XG4kaW5wdXQtZm9udC1mYW1pbHk6ICAgICAgICAgICAgICAgICAgICAgJGlucHV0LWJ0bi1mb250LWZhbWlseTtcbiRpbnB1dC1mb250LXNpemU6ICAgICAgICAgICAgICAgICAgICAgICAkaW5wdXQtYnRuLWZvbnQtc2l6ZTtcbiRpbnB1dC1mb250LXdlaWdodDogICAgICAgICAgICAgICAgICAgICAkZm9udC13ZWlnaHQtYmFzZTtcbiRpbnB1dC1saW5lLWhlaWdodDogICAgICAgICAgICAgICAgICAgICAkaW5wdXQtYnRuLWxpbmUtaGVpZ2h0O1xuXG4kaW5wdXQtcGFkZGluZy15LXNtOiAgICAgICAgICAgICAgICAgICAgJGlucHV0LWJ0bi1wYWRkaW5nLXktc207XG4kaW5wdXQtcGFkZGluZy14LXNtOiAgICAgICAgICAgICAgICAgICAgJGlucHV0LWJ0bi1wYWRkaW5nLXgtc207XG4kaW5wdXQtZm9udC1zaXplLXNtOiAgICAgICAgICAgICAgICAgICAgJGlucHV0LWJ0bi1mb250LXNpemUtc207XG4kaW5wdXQtbGluZS1oZWlnaHQtc206ICAgICAgICAgICAgICAgICAgJGlucHV0LWJ0bi1saW5lLWhlaWdodC1zbTtcblxuJGlucHV0LXBhZGRpbmcteS1sZzogICAgICAgICAgICAgICAgICAgICRpbnB1dC1idG4tcGFkZGluZy15LWxnO1xuJGlucHV0LXBhZGRpbmcteC1sZzogICAgICAgICAgICAgICAgICAgICRpbnB1dC1idG4tcGFkZGluZy14LWxnO1xuJGlucHV0LWZvbnQtc2l6ZS1sZzogICAgICAgICAgICAgICAgICAgICRpbnB1dC1idG4tZm9udC1zaXplLWxnO1xuJGlucHV0LWxpbmUtaGVpZ2h0LWxnOiAgICAgICAgICAgICAgICAgICRpbnB1dC1idG4tbGluZS1oZWlnaHQtbGc7XG5cbiRpbnB1dC1iZzogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkd2hpdGU7XG4kaW5wdXQtZGlzYWJsZWQtYmc6ICAgICAgICAgICAgICAgICAgICAgJGdyYXktMjAwO1xuXG4kaW5wdXQtY29sb3I6ICAgICAgICAgICAgICAgICAgICAgICAgICAgJGdyYXktNzAwO1xuJGlucHV0LWJvcmRlci1jb2xvcjogICAgICAgICAgICAgICAgICAgICRncmF5LTQwMDtcbiRpbnB1dC1ib3JkZXItd2lkdGg6ICAgICAgICAgICAgICAgICAgICAkaW5wdXQtYnRuLWJvcmRlci13aWR0aDtcbiRpbnB1dC1ib3gtc2hhZG93OiAgICAgICAgICAgICAgICAgICAgICBpbnNldCAwIDFweCAxcHggcmdiYSgkYmxhY2ssIC4wNzUpO1xuXG4kaW5wdXQtYm9yZGVyLXJhZGl1czogICAgICAgICAgICAgICAgICAgJGJvcmRlci1yYWRpdXM7XG4kaW5wdXQtYm9yZGVyLXJhZGl1cy1sZzogICAgICAgICAgICAgICAgJGJvcmRlci1yYWRpdXMtbGc7XG4kaW5wdXQtYm9yZGVyLXJhZGl1cy1zbTogICAgICAgICAgICAgICAgJGJvcmRlci1yYWRpdXMtc207XG5cbiRpbnB1dC1mb2N1cy1iZzogICAgICAgICAgICAgICAgICAgICAgICAkaW5wdXQtYmc7XG4kaW5wdXQtZm9jdXMtYm9yZGVyLWNvbG9yOiAgICAgICAgICAgICAgbGlnaHRlbigkY29tcG9uZW50LWFjdGl2ZS1iZywgMjUlKTtcbiRpbnB1dC1mb2N1cy1jb2xvcjogICAgICAgICAgICAgICAgICAgICAkaW5wdXQtY29sb3I7XG4kaW5wdXQtZm9jdXMtd2lkdGg6ICAgICAgICAgICAgICAgICAgICAgJGlucHV0LWJ0bi1mb2N1cy13aWR0aDtcbiRpbnB1dC1mb2N1cy1ib3gtc2hhZG93OiAgICAgICAgICAgICAgICAkaW5wdXQtYnRuLWZvY3VzLWJveC1zaGFkb3c7XG5cbiRpbnB1dC1wbGFjZWhvbGRlci1jb2xvcjogICAgICAgICAgICAgICAkZ3JheS02MDA7XG4kaW5wdXQtcGxhaW50ZXh0LWNvbG9yOiAgICAgICAgICAgICAgICAgJGJvZHktY29sb3I7XG5cbiRpbnB1dC1oZWlnaHQtYm9yZGVyOiAgICAgICAgICAgICAgICAgICAkaW5wdXQtYm9yZGVyLXdpZHRoICogMjtcblxuJGlucHV0LWhlaWdodC1pbm5lcjogICAgICAgICAgICAgICAgICAgIGFkZCgkaW5wdXQtbGluZS1oZWlnaHQgKiAxZW0sICRpbnB1dC1wYWRkaW5nLXkgKiAyKTtcbiRpbnB1dC1oZWlnaHQtaW5uZXItaGFsZjogICAgICAgICAgICAgICBhZGQoJGlucHV0LWxpbmUtaGVpZ2h0ICogLjVlbSwgJGlucHV0LXBhZGRpbmcteSk7XG4kaW5wdXQtaGVpZ2h0LWlubmVyLXF1YXJ0ZXI6ICAgICAgICAgICAgYWRkKCRpbnB1dC1saW5lLWhlaWdodCAqIC4yNWVtLCAkaW5wdXQtcGFkZGluZy15IC8gMik7XG5cbiRpbnB1dC1oZWlnaHQ6ICAgICAgICAgICAgICAgICAgICAgICAgICBhZGQoJGlucHV0LWxpbmUtaGVpZ2h0ICogMWVtLCBhZGQoJGlucHV0LXBhZGRpbmcteSAqIDIsICRpbnB1dC1oZWlnaHQtYm9yZGVyLCBmYWxzZSkpO1xuJGlucHV0LWhlaWdodC1zbTogICAgICAgICAgICAgICAgICAgICAgIGFkZCgkaW5wdXQtbGluZS1oZWlnaHQtc20gKiAxZW0sIGFkZCgkaW5wdXQtcGFkZGluZy15LXNtICogMiwgJGlucHV0LWhlaWdodC1ib3JkZXIsIGZhbHNlKSk7XG4kaW5wdXQtaGVpZ2h0LWxnOiAgICAgICAgICAgICAgICAgICAgICAgYWRkKCRpbnB1dC1saW5lLWhlaWdodC1sZyAqIDFlbSwgYWRkKCRpbnB1dC1wYWRkaW5nLXktbGcgKiAyLCAkaW5wdXQtaGVpZ2h0LWJvcmRlciwgZmFsc2UpKTtcblxuJGlucHV0LXRyYW5zaXRpb246ICAgICAgICAgICAgICAgICAgICAgIGJvcmRlci1jb2xvciAuMTVzIGVhc2UtaW4tb3V0LCBib3gtc2hhZG93IC4xNXMgZWFzZS1pbi1vdXQ7XG5cbiRmb3JtLXRleHQtbWFyZ2luLXRvcDogICAgICAgICAgICAgICAgICAuMjVyZW07XG5cbiRmb3JtLWNoZWNrLWlucHV0LWd1dHRlcjogICAgICAgICAgICAgICAxLjI1cmVtO1xuJGZvcm0tY2hlY2staW5wdXQtbWFyZ2luLXk6ICAgICAgICAgICAgIC4zcmVtO1xuJGZvcm0tY2hlY2staW5wdXQtbWFyZ2luLXg6ICAgICAgICAgICAgIC4yNXJlbTtcblxuJGZvcm0tY2hlY2staW5saW5lLW1hcmdpbi14OiAgICAgICAgICAgIC43NXJlbTtcbiRmb3JtLWNoZWNrLWlubGluZS1pbnB1dC1tYXJnaW4teDogICAgICAuMzEyNXJlbTtcblxuJGZvcm0tZ3JpZC1ndXR0ZXItd2lkdGg6ICAgICAgICAgICAgICAgIDEwcHg7XG4kZm9ybS1ncm91cC1tYXJnaW4tYm90dG9tOiAgICAgICAgICAgICAgMXJlbTtcblxuJGlucHV0LWdyb3VwLWFkZG9uLWNvbG9yOiAgICAgICAgICAgICAgICRpbnB1dC1jb2xvcjtcbiRpbnB1dC1ncm91cC1hZGRvbi1iZzogICAgICAgICAgICAgICAgICAkZ3JheS0yMDA7XG4kaW5wdXQtZ3JvdXAtYWRkb24tYm9yZGVyLWNvbG9yOiAgICAgICAgJGlucHV0LWJvcmRlci1jb2xvcjtcblxuJGN1c3RvbS1mb3Jtcy10cmFuc2l0aW9uOiAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3IgLjE1cyBlYXNlLWluLW91dCwgYm9yZGVyLWNvbG9yIC4xNXMgZWFzZS1pbi1vdXQsIGJveC1zaGFkb3cgLjE1cyBlYXNlLWluLW91dDtcblxuJGN1c3RvbS1jb250cm9sLWd1dHRlcjogICAgICAgICAgICAgICAgIC41cmVtO1xuJGN1c3RvbS1jb250cm9sLXNwYWNlci14OiAgICAgICAgICAgICAgIDFyZW07XG4kY3VzdG9tLWNvbnRyb2wtY3Vyc29yOiAgICAgICAgICAgICAgICAgbnVsbDtcblxuJGN1c3RvbS1jb250cm9sLWluZGljYXRvci1zaXplOiAgICAgICAgIDFyZW07XG4kY3VzdG9tLWNvbnRyb2wtaW5kaWNhdG9yLWJnOiAgICAgICAgICAgJGlucHV0LWJnO1xuXG4kY3VzdG9tLWNvbnRyb2wtaW5kaWNhdG9yLWJnLXNpemU6ICAgICAgNTAlIDUwJTtcbiRjdXN0b20tY29udHJvbC1pbmRpY2F0b3ItYm94LXNoYWRvdzogICAkaW5wdXQtYm94LXNoYWRvdztcbiRjdXN0b20tY29udHJvbC1pbmRpY2F0b3ItYm9yZGVyLWNvbG9yOiAkZ3JheS01MDA7XG4kY3VzdG9tLWNvbnRyb2wtaW5kaWNhdG9yLWJvcmRlci13aWR0aDogJGlucHV0LWJvcmRlci13aWR0aDtcblxuJGN1c3RvbS1jb250cm9sLWxhYmVsLWNvbG9yOiAgICAgICAgICAgIG51bGw7XG5cbiRjdXN0b20tY29udHJvbC1pbmRpY2F0b3ItZGlzYWJsZWQtYmc6ICAgICAgICAgICRpbnB1dC1kaXNhYmxlZC1iZztcbiRjdXN0b20tY29udHJvbC1sYWJlbC1kaXNhYmxlZC1jb2xvcjogICAgICAgICAgICRncmF5LTYwMDtcblxuJGN1c3RvbS1jb250cm9sLWluZGljYXRvci1jaGVja2VkLWNvbG9yOiAgICAgICAgJGNvbXBvbmVudC1hY3RpdmUtY29sb3I7XG4kY3VzdG9tLWNvbnRyb2wtaW5kaWNhdG9yLWNoZWNrZWQtYmc6ICAgICAgICAgICAkY29tcG9uZW50LWFjdGl2ZS1iZztcbiRjdXN0b20tY29udHJvbC1pbmRpY2F0b3ItY2hlY2tlZC1kaXNhYmxlZC1iZzogIHJnYmEodGhlbWUtY29sb3IoXCJwcmltYXJ5XCIpLCAuNSk7XG4kY3VzdG9tLWNvbnRyb2wtaW5kaWNhdG9yLWNoZWNrZWQtYm94LXNoYWRvdzogICBub25lO1xuJGN1c3RvbS1jb250cm9sLWluZGljYXRvci1jaGVja2VkLWJvcmRlci1jb2xvcjogJGN1c3RvbS1jb250cm9sLWluZGljYXRvci1jaGVja2VkLWJnO1xuXG4kY3VzdG9tLWNvbnRyb2wtaW5kaWNhdG9yLWZvY3VzLWJveC1zaGFkb3c6ICAgICAkaW5wdXQtZm9jdXMtYm94LXNoYWRvdztcbiRjdXN0b20tY29udHJvbC1pbmRpY2F0b3ItZm9jdXMtYm9yZGVyLWNvbG9yOiAgICRpbnB1dC1mb2N1cy1ib3JkZXItY29sb3I7XG5cbiRjdXN0b20tY29udHJvbC1pbmRpY2F0b3ItYWN0aXZlLWNvbG9yOiAgICAgICAgICRjb21wb25lbnQtYWN0aXZlLWNvbG9yO1xuJGN1c3RvbS1jb250cm9sLWluZGljYXRvci1hY3RpdmUtYmc6ICAgICAgICAgICAgbGlnaHRlbigkY29tcG9uZW50LWFjdGl2ZS1iZywgMzUlKTtcbiRjdXN0b20tY29udHJvbC1pbmRpY2F0b3ItYWN0aXZlLWJveC1zaGFkb3c6ICAgIG5vbmU7XG4kY3VzdG9tLWNvbnRyb2wtaW5kaWNhdG9yLWFjdGl2ZS1ib3JkZXItY29sb3I6ICAkY3VzdG9tLWNvbnRyb2wtaW5kaWNhdG9yLWFjdGl2ZS1iZztcblxuJGN1c3RvbS1jaGVja2JveC1pbmRpY2F0b3ItYm9yZGVyLXJhZGl1czogICAgICAgJGJvcmRlci1yYWRpdXM7XG4kY3VzdG9tLWNoZWNrYm94LWluZGljYXRvci1pY29uLWNoZWNrZWQ6ICAgICAgICB1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWwsPHN2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHdpZHRoPSc4JyBoZWlnaHQ9JzgnIHZpZXdCb3g9JzAgMCA4IDgnPjxwYXRoIGZpbGw9JyN7JGN1c3RvbS1jb250cm9sLWluZGljYXRvci1jaGVja2VkLWNvbG9yfScgZD0nTTYuNTY0Ljc1bC0zLjU5IDMuNjEyLTEuNTM4LTEuNTVMMCA0LjI2bDIuOTc0IDIuOTlMOCAyLjE5M3onLz48L3N2Zz5cIik7XG5cbiRjdXN0b20tY2hlY2tib3gtaW5kaWNhdG9yLWluZGV0ZXJtaW5hdGUtYmc6ICAgICAgICAgICAkY29tcG9uZW50LWFjdGl2ZS1iZztcbiRjdXN0b20tY2hlY2tib3gtaW5kaWNhdG9yLWluZGV0ZXJtaW5hdGUtY29sb3I6ICAgICAgICAkY3VzdG9tLWNvbnRyb2wtaW5kaWNhdG9yLWNoZWNrZWQtY29sb3I7XG4kY3VzdG9tLWNoZWNrYm94LWluZGljYXRvci1pY29uLWluZGV0ZXJtaW5hdGU6ICAgICAgICAgdXJsKFwiZGF0YTppbWFnZS9zdmcreG1sLDxzdmcgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyB3aWR0aD0nNCcgaGVpZ2h0PSc0JyB2aWV3Qm94PScwIDAgNCA0Jz48cGF0aCBzdHJva2U9JyN7JGN1c3RvbS1jaGVja2JveC1pbmRpY2F0b3ItaW5kZXRlcm1pbmF0ZS1jb2xvcn0nIGQ9J00wIDJoNCcvPjwvc3ZnPlwiKTtcbiRjdXN0b20tY2hlY2tib3gtaW5kaWNhdG9yLWluZGV0ZXJtaW5hdGUtYm94LXNoYWRvdzogICBub25lO1xuJGN1c3RvbS1jaGVja2JveC1pbmRpY2F0b3ItaW5kZXRlcm1pbmF0ZS1ib3JkZXItY29sb3I6ICRjdXN0b20tY2hlY2tib3gtaW5kaWNhdG9yLWluZGV0ZXJtaW5hdGUtYmc7XG5cbiRjdXN0b20tcmFkaW8taW5kaWNhdG9yLWJvcmRlci1yYWRpdXM6ICAgICAgICAgIDUwJTtcbiRjdXN0b20tcmFkaW8taW5kaWNhdG9yLWljb24tY2hlY2tlZDogICAgICAgICAgIHVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbCw8c3ZnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Zycgd2lkdGg9JzEyJyBoZWlnaHQ9JzEyJyB2aWV3Qm94PSctNCAtNCA4IDgnPjxjaXJjbGUgcj0nMycgZmlsbD0nI3skY3VzdG9tLWNvbnRyb2wtaW5kaWNhdG9yLWNoZWNrZWQtY29sb3J9Jy8+PC9zdmc+XCIpO1xuXG4kY3VzdG9tLXN3aXRjaC13aWR0aDogICAgICAgICAgICAgICAgICAgICAgICAgICAkY3VzdG9tLWNvbnRyb2wtaW5kaWNhdG9yLXNpemUgKiAxLjc1O1xuJGN1c3RvbS1zd2l0Y2gtaW5kaWNhdG9yLWJvcmRlci1yYWRpdXM6ICAgICAgICAgJGN1c3RvbS1jb250cm9sLWluZGljYXRvci1zaXplIC8gMjtcbiRjdXN0b20tc3dpdGNoLWluZGljYXRvci1zaXplOiAgICAgICAgICAgICAgICAgIHN1YnRyYWN0KCRjdXN0b20tY29udHJvbC1pbmRpY2F0b3Itc2l6ZSwgJGN1c3RvbS1jb250cm9sLWluZGljYXRvci1ib3JkZXItd2lkdGggKiA0KTtcblxuJGN1c3RvbS1zZWxlY3QtcGFkZGluZy15OiAgICAgICAgICAgJGlucHV0LXBhZGRpbmcteTtcbiRjdXN0b20tc2VsZWN0LXBhZGRpbmcteDogICAgICAgICAgICRpbnB1dC1wYWRkaW5nLXg7XG4kY3VzdG9tLXNlbGVjdC1mb250LWZhbWlseTogICAgICAgICAkaW5wdXQtZm9udC1mYW1pbHk7XG4kY3VzdG9tLXNlbGVjdC1mb250LXNpemU6ICAgICAgICAgICAkaW5wdXQtZm9udC1zaXplO1xuJGN1c3RvbS1zZWxlY3QtaGVpZ2h0OiAgICAgICAgICAgICAgJGlucHV0LWhlaWdodDtcbiRjdXN0b20tc2VsZWN0LWluZGljYXRvci1wYWRkaW5nOiAgIDFyZW07IC8vIEV4dHJhIHBhZGRpbmcgdG8gYWNjb3VudCBmb3IgdGhlIHByZXNlbmNlIG9mIHRoZSBiYWNrZ3JvdW5kLWltYWdlIGJhc2VkIGluZGljYXRvclxuJGN1c3RvbS1zZWxlY3QtZm9udC13ZWlnaHQ6ICAgICAgICAgJGlucHV0LWZvbnQtd2VpZ2h0O1xuJGN1c3RvbS1zZWxlY3QtbGluZS1oZWlnaHQ6ICAgICAgICAgJGlucHV0LWxpbmUtaGVpZ2h0O1xuJGN1c3RvbS1zZWxlY3QtY29sb3I6ICAgICAgICAgICAgICAgJGlucHV0LWNvbG9yO1xuJGN1c3RvbS1zZWxlY3QtZGlzYWJsZWQtY29sb3I6ICAgICAgJGdyYXktNjAwO1xuJGN1c3RvbS1zZWxlY3QtYmc6ICAgICAgICAgICAgICAgICAgJGlucHV0LWJnO1xuJGN1c3RvbS1zZWxlY3QtZGlzYWJsZWQtYmc6ICAgICAgICAgJGdyYXktMjAwO1xuJGN1c3RvbS1zZWxlY3QtYmctc2l6ZTogICAgICAgICAgICAgOHB4IDEwcHg7IC8vIEluIHBpeGVscyBiZWNhdXNlIGltYWdlIGRpbWVuc2lvbnNcbiRjdXN0b20tc2VsZWN0LWluZGljYXRvci1jb2xvcjogICAgICRncmF5LTgwMDtcbiRjdXN0b20tc2VsZWN0LWluZGljYXRvcjogICAgICAgICAgIHVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbCw8c3ZnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Zycgd2lkdGg9JzQnIGhlaWdodD0nNScgdmlld0JveD0nMCAwIDQgNSc+PHBhdGggZmlsbD0nI3skY3VzdG9tLXNlbGVjdC1pbmRpY2F0b3ItY29sb3J9JyBkPSdNMiAwTDAgMmg0em0wIDVMMCAzaDR6Jy8+PC9zdmc+XCIpO1xuJGN1c3RvbS1zZWxlY3QtYmFja2dyb3VuZDogICAgICAgICAgZXNjYXBlLXN2ZygkY3VzdG9tLXNlbGVjdC1pbmRpY2F0b3IpIG5vLXJlcGVhdCByaWdodCAkY3VzdG9tLXNlbGVjdC1wYWRkaW5nLXggY2VudGVyIC8gJGN1c3RvbS1zZWxlY3QtYmctc2l6ZTsgLy8gVXNlZCBzbyB3ZSBjYW4gaGF2ZSBtdWx0aXBsZSBiYWNrZ3JvdW5kIGVsZW1lbnRzIChlLmcuLCBhcnJvdyBhbmQgZmVlZGJhY2sgaWNvbilcblxuJGN1c3RvbS1zZWxlY3QtZmVlZGJhY2staWNvbi1wYWRkaW5nLXJpZ2h0OiBhZGQoMWVtICogLjc1LCAoMiAqICRjdXN0b20tc2VsZWN0LXBhZGRpbmcteSAqIC43NSkgKyAkY3VzdG9tLXNlbGVjdC1wYWRkaW5nLXggKyAkY3VzdG9tLXNlbGVjdC1pbmRpY2F0b3ItcGFkZGluZyk7XG4kY3VzdG9tLXNlbGVjdC1mZWVkYmFjay1pY29uLXBvc2l0aW9uOiAgICAgIGNlbnRlciByaWdodCAoJGN1c3RvbS1zZWxlY3QtcGFkZGluZy14ICsgJGN1c3RvbS1zZWxlY3QtaW5kaWNhdG9yLXBhZGRpbmcpO1xuJGN1c3RvbS1zZWxlY3QtZmVlZGJhY2staWNvbi1zaXplOiAgICAgICAgICAkaW5wdXQtaGVpZ2h0LWlubmVyLWhhbGYgJGlucHV0LWhlaWdodC1pbm5lci1oYWxmO1xuXG4kY3VzdG9tLXNlbGVjdC1ib3JkZXItd2lkdGg6ICAgICAgICAkaW5wdXQtYm9yZGVyLXdpZHRoO1xuJGN1c3RvbS1zZWxlY3QtYm9yZGVyLWNvbG9yOiAgICAgICAgJGlucHV0LWJvcmRlci1jb2xvcjtcbiRjdXN0b20tc2VsZWN0LWJvcmRlci1yYWRpdXM6ICAgICAgICRib3JkZXItcmFkaXVzO1xuJGN1c3RvbS1zZWxlY3QtYm94LXNoYWRvdzogICAgICAgICAgaW5zZXQgMCAxcHggMnB4IHJnYmEoJGJsYWNrLCAuMDc1KTtcblxuJGN1c3RvbS1zZWxlY3QtZm9jdXMtYm9yZGVyLWNvbG9yOiAgJGlucHV0LWZvY3VzLWJvcmRlci1jb2xvcjtcbiRjdXN0b20tc2VsZWN0LWZvY3VzLXdpZHRoOiAgICAgICAgICRpbnB1dC1mb2N1cy13aWR0aDtcbiRjdXN0b20tc2VsZWN0LWZvY3VzLWJveC1zaGFkb3c6ICAgIDAgMCAwICRjdXN0b20tc2VsZWN0LWZvY3VzLXdpZHRoICRpbnB1dC1idG4tZm9jdXMtY29sb3I7XG5cbiRjdXN0b20tc2VsZWN0LXBhZGRpbmcteS1zbTogICAgICAgICRpbnB1dC1wYWRkaW5nLXktc207XG4kY3VzdG9tLXNlbGVjdC1wYWRkaW5nLXgtc206ICAgICAgICAkaW5wdXQtcGFkZGluZy14LXNtO1xuJGN1c3RvbS1zZWxlY3QtZm9udC1zaXplLXNtOiAgICAgICAgJGlucHV0LWZvbnQtc2l6ZS1zbTtcbiRjdXN0b20tc2VsZWN0LWhlaWdodC1zbTogICAgICAgICAgICRpbnB1dC1oZWlnaHQtc207XG5cbiRjdXN0b20tc2VsZWN0LXBhZGRpbmcteS1sZzogICAgICAgICRpbnB1dC1wYWRkaW5nLXktbGc7XG4kY3VzdG9tLXNlbGVjdC1wYWRkaW5nLXgtbGc6ICAgICAgICAkaW5wdXQtcGFkZGluZy14LWxnO1xuJGN1c3RvbS1zZWxlY3QtZm9udC1zaXplLWxnOiAgICAgICAgJGlucHV0LWZvbnQtc2l6ZS1sZztcbiRjdXN0b20tc2VsZWN0LWhlaWdodC1sZzogICAgICAgICAgICRpbnB1dC1oZWlnaHQtbGc7XG5cbiRjdXN0b20tcmFuZ2UtdHJhY2std2lkdGg6ICAgICAgICAgIDEwMCU7XG4kY3VzdG9tLXJhbmdlLXRyYWNrLWhlaWdodDogICAgICAgICAuNXJlbTtcbiRjdXN0b20tcmFuZ2UtdHJhY2stY3Vyc29yOiAgICAgICAgIHBvaW50ZXI7XG4kY3VzdG9tLXJhbmdlLXRyYWNrLWJnOiAgICAgICAgICAgICAkZ3JheS0zMDA7XG4kY3VzdG9tLXJhbmdlLXRyYWNrLWJvcmRlci1yYWRpdXM6ICAxcmVtO1xuJGN1c3RvbS1yYW5nZS10cmFjay1ib3gtc2hhZG93OiAgICAgaW5zZXQgMCAuMjVyZW0gLjI1cmVtIHJnYmEoJGJsYWNrLCAuMSk7XG5cbiRjdXN0b20tcmFuZ2UtdGh1bWItd2lkdGg6ICAgICAgICAgICAgICAgICAgIDFyZW07XG4kY3VzdG9tLXJhbmdlLXRodW1iLWhlaWdodDogICAgICAgICAgICAgICAgICAkY3VzdG9tLXJhbmdlLXRodW1iLXdpZHRoO1xuJGN1c3RvbS1yYW5nZS10aHVtYi1iZzogICAgICAgICAgICAgICAgICAgICAgJGNvbXBvbmVudC1hY3RpdmUtYmc7XG4kY3VzdG9tLXJhbmdlLXRodW1iLWJvcmRlcjogICAgICAgICAgICAgICAgICAwO1xuJGN1c3RvbS1yYW5nZS10aHVtYi1ib3JkZXItcmFkaXVzOiAgICAgICAgICAgMXJlbTtcbiRjdXN0b20tcmFuZ2UtdGh1bWItYm94LXNoYWRvdzogICAgICAgICAgICAgIDAgLjFyZW0gLjI1cmVtIHJnYmEoJGJsYWNrLCAuMSk7XG4kY3VzdG9tLXJhbmdlLXRodW1iLWZvY3VzLWJveC1zaGFkb3c6ICAgICAgICAwIDAgMCAxcHggJGJvZHktYmcsICRpbnB1dC1mb2N1cy1ib3gtc2hhZG93O1xuJGN1c3RvbS1yYW5nZS10aHVtYi1mb2N1cy1ib3gtc2hhZG93LXdpZHRoOiAgJGlucHV0LWZvY3VzLXdpZHRoOyAvLyBGb3IgZm9jdXMgYm94IHNoYWRvdyBpc3N1ZSBpbiBJRS9FZGdlXG4kY3VzdG9tLXJhbmdlLXRodW1iLWFjdGl2ZS1iZzogICAgICAgICAgICAgICBsaWdodGVuKCRjb21wb25lbnQtYWN0aXZlLWJnLCAzNSUpO1xuJGN1c3RvbS1yYW5nZS10aHVtYi1kaXNhYmxlZC1iZzogICAgICAgICAgICAgJGdyYXktNTAwO1xuXG4kY3VzdG9tLWZpbGUtaGVpZ2h0OiAgICAgICAgICAgICAgICAkaW5wdXQtaGVpZ2h0O1xuJGN1c3RvbS1maWxlLWhlaWdodC1pbm5lcjogICAgICAgICAgJGlucHV0LWhlaWdodC1pbm5lcjtcbiRjdXN0b20tZmlsZS1mb2N1cy1ib3JkZXItY29sb3I6ICAgICRpbnB1dC1mb2N1cy1ib3JkZXItY29sb3I7XG4kY3VzdG9tLWZpbGUtZm9jdXMtYm94LXNoYWRvdzogICAgICAkaW5wdXQtZm9jdXMtYm94LXNoYWRvdztcbiRjdXN0b20tZmlsZS1kaXNhYmxlZC1iZzogICAgICAgICAgICRpbnB1dC1kaXNhYmxlZC1iZztcblxuJGN1c3RvbS1maWxlLXBhZGRpbmcteTogICAgICAgICAgICAgJGlucHV0LXBhZGRpbmcteTtcbiRjdXN0b20tZmlsZS1wYWRkaW5nLXg6ICAgICAgICAgICAgICRpbnB1dC1wYWRkaW5nLXg7XG4kY3VzdG9tLWZpbGUtbGluZS1oZWlnaHQ6ICAgICAgICAgICAkaW5wdXQtbGluZS1oZWlnaHQ7XG4kY3VzdG9tLWZpbGUtZm9udC1mYW1pbHk6ICAgICAgICAgICAkaW5wdXQtZm9udC1mYW1pbHk7XG4kY3VzdG9tLWZpbGUtZm9udC13ZWlnaHQ6ICAgICAgICAgICAkaW5wdXQtZm9udC13ZWlnaHQ7XG4kY3VzdG9tLWZpbGUtY29sb3I6ICAgICAgICAgICAgICAgICAkaW5wdXQtY29sb3I7XG4kY3VzdG9tLWZpbGUtYmc6ICAgICAgICAgICAgICAgICAgICAkaW5wdXQtYmc7XG4kY3VzdG9tLWZpbGUtYm9yZGVyLXdpZHRoOiAgICAgICAgICAkaW5wdXQtYm9yZGVyLXdpZHRoO1xuJGN1c3RvbS1maWxlLWJvcmRlci1jb2xvcjogICAgICAgICAgJGlucHV0LWJvcmRlci1jb2xvcjtcbiRjdXN0b20tZmlsZS1ib3JkZXItcmFkaXVzOiAgICAgICAgICRpbnB1dC1ib3JkZXItcmFkaXVzO1xuJGN1c3RvbS1maWxlLWJveC1zaGFkb3c6ICAgICAgICAgICAgJGlucHV0LWJveC1zaGFkb3c7XG4kY3VzdG9tLWZpbGUtYnV0dG9uLWNvbG9yOiAgICAgICAgICAkY3VzdG9tLWZpbGUtY29sb3I7XG4kY3VzdG9tLWZpbGUtYnV0dG9uLWJnOiAgICAgICAgICAgICAkaW5wdXQtZ3JvdXAtYWRkb24tYmc7XG4kY3VzdG9tLWZpbGUtdGV4dDogKFxuICAgICAgICBlbjogXCJCcm93c2VcIlxuKTtcblxuXG4vLyBGb3JtIHZhbGlkYXRpb25cblxuJGZvcm0tZmVlZGJhY2stbWFyZ2luLXRvcDogICAgICAgICAgJGZvcm0tdGV4dC1tYXJnaW4tdG9wO1xuJGZvcm0tZmVlZGJhY2stZm9udC1zaXplOiAgICAgICAgICAgJHNtYWxsLWZvbnQtc2l6ZTtcbiRmb3JtLWZlZWRiYWNrLXZhbGlkLWNvbG9yOiAgICAgICAgIHRoZW1lLWNvbG9yKFwic3VjY2Vzc1wiKTtcbiRmb3JtLWZlZWRiYWNrLWludmFsaWQtY29sb3I6ICAgICAgIHRoZW1lLWNvbG9yKFwiZGFuZ2VyXCIpO1xuXG4kZm9ybS1mZWVkYmFjay1pY29uLXZhbGlkLWNvbG9yOiAgICAkZm9ybS1mZWVkYmFjay12YWxpZC1jb2xvcjtcbiRmb3JtLWZlZWRiYWNrLWljb24tdmFsaWQ6ICAgICAgICAgIHVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbCw8c3ZnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Zycgd2lkdGg9JzgnIGhlaWdodD0nOCcgdmlld0JveD0nMCAwIDggOCc+PHBhdGggZmlsbD0nI3skZm9ybS1mZWVkYmFjay1pY29uLXZhbGlkLWNvbG9yfScgZD0nTTIuMyA2LjczTC42IDQuNTNjLS40LTEuMDQuNDYtMS40IDEuMS0uOGwxLjEgMS40IDMuNC0zLjhjLjYtLjYzIDEuNi0uMjcgMS4yLjdsLTQgNC42Yy0uNDMuNS0uOC40LTEuMS4xeicvPjwvc3ZnPlwiKTtcbiRmb3JtLWZlZWRiYWNrLWljb24taW52YWxpZC1jb2xvcjogICRmb3JtLWZlZWRiYWNrLWludmFsaWQtY29sb3I7XG4kZm9ybS1mZWVkYmFjay1pY29uLWludmFsaWQ6ICAgICAgICB1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWwsPHN2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHdpZHRoPScxMicgaGVpZ2h0PScxMicgZmlsbD0nbm9uZScgc3Ryb2tlPScjeyRmb3JtLWZlZWRiYWNrLWljb24taW52YWxpZC1jb2xvcn0nIHZpZXdCb3g9JzAgMCAxMiAxMic+PGNpcmNsZSBjeD0nNicgY3k9JzYnIHI9JzQuNScvPjxwYXRoIHN0cm9rZS1saW5lam9pbj0ncm91bmQnIGQ9J001LjggMy42aC40TDYgNi41eicvPjxjaXJjbGUgY3g9JzYnIGN5PSc4LjInIHI9Jy42JyBmaWxsPScjeyRmb3JtLWZlZWRiYWNrLWljb24taW52YWxpZC1jb2xvcn0nIHN0cm9rZT0nbm9uZScvPjwvc3ZnPlwiKTtcblxuJGZvcm0tdmFsaWRhdGlvbi1zdGF0ZXM6ICgpO1xuLy8gc3R5bGVsaW50LWRpc2FibGUtbmV4dC1saW5lIHNjc3MvZG9sbGFyLXZhcmlhYmxlLWRlZmF1bHRcbiRmb3JtLXZhbGlkYXRpb24tc3RhdGVzOiBtYXAtbWVyZ2UoXG4gICAgICAgICAgICAgICAgKFxuICAgICAgICAgICAgICAgICAgICAgICAgXCJ2YWxpZFwiOiAoXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwiY29sb3JcIjogJGZvcm0tZmVlZGJhY2stdmFsaWQtY29sb3IsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwiaWNvblwiOiAkZm9ybS1mZWVkYmFjay1pY29uLXZhbGlkXG4gICAgICAgICAgICAgICAgICAgICAgICApLFxuICAgICAgICAgICAgICAgICAgICAgICAgXCJpbnZhbGlkXCI6IChcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCJjb2xvclwiOiAkZm9ybS1mZWVkYmFjay1pbnZhbGlkLWNvbG9yLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcImljb25cIjogJGZvcm0tZmVlZGJhY2staWNvbi1pbnZhbGlkXG4gICAgICAgICAgICAgICAgICAgICAgICApLFxuICAgICAgICAgICAgICAgICksXG4gICAgICAgICAgICAgICAgJGZvcm0tdmFsaWRhdGlvbi1zdGF0ZXNcbik7XG5cbi8vIFotaW5kZXggbWFzdGVyIGxpc3Rcbi8vXG4vLyBXYXJuaW5nOiBBdm9pZCBjdXN0b21pemluZyB0aGVzZSB2YWx1ZXMuIFRoZXkncmUgdXNlZCBmb3IgYSBiaXJkJ3MgZXllIHZpZXdcbi8vIG9mIGNvbXBvbmVudHMgZGVwZW5kZW50IG9uIHRoZSB6LWF4aXMgYW5kIGFyZSBkZXNpZ25lZCB0byBhbGwgd29yayB0b2dldGhlci5cblxuJHppbmRleC1kcm9wZG93bjogICAgICAgICAgICAgICAgICAgMTAwMDtcbiR6aW5kZXgtc3RpY2t5OiAgICAgICAgICAgICAgICAgICAgIDEwMjA7XG4kemluZGV4LWZpeGVkOiAgICAgICAgICAgICAgICAgICAgICAxMDMwO1xuJHppbmRleC1tb2RhbC1iYWNrZHJvcDogICAgICAgICAgICAgMTA0MDtcbiR6aW5kZXgtbW9kYWw6ICAgICAgICAgICAgICAgICAgICAgIDEwNTA7XG4kemluZGV4LXBvcG92ZXI6ICAgICAgICAgICAgICAgICAgICAxMDYwO1xuJHppbmRleC10b29sdGlwOiAgICAgICAgICAgICAgICAgICAgMTA3MDtcblxuXG4vLyBOYXZzXG5cbiRuYXYtbGluay1wYWRkaW5nLXk6ICAgICAgICAgICAgICAgIC41cmVtO1xuJG5hdi1saW5rLXBhZGRpbmcteDogICAgICAgICAgICAgICAgMXJlbTtcbiRuYXYtbGluay1kaXNhYmxlZC1jb2xvcjogICAgICAgICAgICRncmF5LTYwMDtcblxuJG5hdi10YWJzLWJvcmRlci1jb2xvcjogICAgICAgICAgICAgJGdyYXktMzAwO1xuJG5hdi10YWJzLWJvcmRlci13aWR0aDogICAgICAgICAgICAgJGJvcmRlci13aWR0aDtcbiRuYXYtdGFicy1ib3JkZXItcmFkaXVzOiAgICAgICAgICAgICRib3JkZXItcmFkaXVzO1xuJG5hdi10YWJzLWxpbmstaG92ZXItYm9yZGVyLWNvbG9yOiAgJGdyYXktMjAwICRncmF5LTIwMCAkbmF2LXRhYnMtYm9yZGVyLWNvbG9yO1xuJG5hdi10YWJzLWxpbmstYWN0aXZlLWNvbG9yOiAgICAgICAgJGdyYXktNzAwO1xuJG5hdi10YWJzLWxpbmstYWN0aXZlLWJnOiAgICAgICAgICAgJGJvZHktYmc7XG4kbmF2LXRhYnMtbGluay1hY3RpdmUtYm9yZGVyLWNvbG9yOiAkZ3JheS0zMDAgJGdyYXktMzAwICRuYXYtdGFicy1saW5rLWFjdGl2ZS1iZztcblxuJG5hdi1waWxscy1ib3JkZXItcmFkaXVzOiAgICAgICAgICAgJGJvcmRlci1yYWRpdXM7XG4kbmF2LXBpbGxzLWxpbmstYWN0aXZlLWNvbG9yOiAgICAgICAkY29tcG9uZW50LWFjdGl2ZS1jb2xvcjtcbiRuYXYtcGlsbHMtbGluay1hY3RpdmUtYmc6ICAgICAgICAgICRjb21wb25lbnQtYWN0aXZlLWJnO1xuXG4kbmF2LWRpdmlkZXItY29sb3I6ICAgICAgICAgICAgICAgICAkZ3JheS0yMDA7XG4kbmF2LWRpdmlkZXItbWFyZ2luLXk6ICAgICAgICAgICAgICAkc3BhY2VyIC8gMjtcblxuXG4vLyBOYXZiYXJcblxuJG5hdmJhci1wYWRkaW5nLXk6ICAgICAgICAgICAgICAgICAgJHNwYWNlciAvIDI7XG4kbmF2YmFyLXBhZGRpbmcteDogICAgICAgICAgICAgICAgICAkc3BhY2VyO1xuXG4kbmF2YmFyLW5hdi1saW5rLXBhZGRpbmcteDogICAgICAgICAuNXJlbTtcblxuJG5hdmJhci1icmFuZC1mb250LXNpemU6ICAgICAgICAgICAgJGZvbnQtc2l6ZS1sZztcbi8vIENvbXB1dGUgdGhlIG5hdmJhci1icmFuZCBwYWRkaW5nLXkgc28gdGhlIG5hdmJhci1icmFuZCB3aWxsIGhhdmUgdGhlIHNhbWUgaGVpZ2h0IGFzIG5hdmJhci10ZXh0IGFuZCBuYXYtbGlua1xuJG5hdi1saW5rLWhlaWdodDogICAgICAgICAgICAgICAgICAgJGZvbnQtc2l6ZS1iYXNlICogJGxpbmUtaGVpZ2h0LWJhc2UgKyAkbmF2LWxpbmstcGFkZGluZy15ICogMjtcbiRuYXZiYXItYnJhbmQtaGVpZ2h0OiAgICAgICAgICAgICAgICRuYXZiYXItYnJhbmQtZm9udC1zaXplICogJGxpbmUtaGVpZ2h0LWJhc2U7XG4kbmF2YmFyLWJyYW5kLXBhZGRpbmcteTogICAgICAgICAgICAoJG5hdi1saW5rLWhlaWdodCAtICRuYXZiYXItYnJhbmQtaGVpZ2h0KSAvIDI7XG5cbiRuYXZiYXItdG9nZ2xlci1wYWRkaW5nLXk6ICAgICAgICAgIC4yNXJlbTtcbiRuYXZiYXItdG9nZ2xlci1wYWRkaW5nLXg6ICAgICAgICAgIC43NXJlbTtcbiRuYXZiYXItdG9nZ2xlci1mb250LXNpemU6ICAgICAgICAgICRmb250LXNpemUtbGc7XG4kbmF2YmFyLXRvZ2dsZXItYm9yZGVyLXJhZGl1czogICAgICAkYnRuLWJvcmRlci1yYWRpdXM7XG5cbiRuYXZiYXItZGFyay1jb2xvcjogICAgICAgICAgICAgICAgIHJnYmEoJHdoaXRlLCAuNSk7XG4kbmF2YmFyLWRhcmstaG92ZXItY29sb3I6ICAgICAgICAgICByZ2JhKCR3aGl0ZSwgLjc1KTtcbiRuYXZiYXItZGFyay1hY3RpdmUtY29sb3I6ICAgICAgICAgICR3aGl0ZTtcbiRuYXZiYXItZGFyay1kaXNhYmxlZC1jb2xvcjogICAgICAgIHJnYmEoJHdoaXRlLCAuMjUpO1xuJG5hdmJhci1kYXJrLXRvZ2dsZXItaWNvbi1iZzogICAgICAgdXJsKFwiZGF0YTppbWFnZS9zdmcreG1sLDxzdmcgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyB3aWR0aD0nMzAnIGhlaWdodD0nMzAnIHZpZXdCb3g9JzAgMCAzMCAzMCc+PHBhdGggc3Ryb2tlPScjeyRuYXZiYXItZGFyay1jb2xvcn0nIHN0cm9rZS1saW5lY2FwPSdyb3VuZCcgc3Ryb2tlLW1pdGVybGltaXQ9JzEwJyBzdHJva2Utd2lkdGg9JzInIGQ9J000IDdoMjJNNCAxNWgyMk00IDIzaDIyJy8+PC9zdmc+XCIpO1xuJG5hdmJhci1kYXJrLXRvZ2dsZXItYm9yZGVyLWNvbG9yOiAgcmdiYSgkd2hpdGUsIC4xKTtcblxuJG5hdmJhci1saWdodC1jb2xvcjogICAgICAgICAgICAgICAgcmdiYSgkYmxhY2ssIC41KTtcbiRuYXZiYXItbGlnaHQtaG92ZXItY29sb3I6ICAgICAgICAgIHJnYmEoJGJsYWNrLCAuNyk7XG4kbmF2YmFyLWxpZ2h0LWFjdGl2ZS1jb2xvcjogICAgICAgICByZ2JhKCRibGFjaywgLjkpO1xuJG5hdmJhci1saWdodC1kaXNhYmxlZC1jb2xvcjogICAgICAgcmdiYSgkYmxhY2ssIC4zKTtcbiRuYXZiYXItbGlnaHQtdG9nZ2xlci1pY29uLWJnOiAgICAgIHVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbCw8c3ZnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Zycgd2lkdGg9JzMwJyBoZWlnaHQ9JzMwJyB2aWV3Qm94PScwIDAgMzAgMzAnPjxwYXRoIHN0cm9rZT0nI3skbmF2YmFyLWxpZ2h0LWNvbG9yfScgc3Ryb2tlLWxpbmVjYXA9J3JvdW5kJyBzdHJva2UtbWl0ZXJsaW1pdD0nMTAnIHN0cm9rZS13aWR0aD0nMicgZD0nTTQgN2gyMk00IDE1aDIyTTQgMjNoMjInLz48L3N2Zz5cIik7XG4kbmF2YmFyLWxpZ2h0LXRvZ2dsZXItYm9yZGVyLWNvbG9yOiByZ2JhKCRibGFjaywgLjEpO1xuXG4kbmF2YmFyLWxpZ2h0LWJyYW5kLWNvbG9yOiAgICAgICAgICAgICAgICAkbmF2YmFyLWxpZ2h0LWFjdGl2ZS1jb2xvcjtcbiRuYXZiYXItbGlnaHQtYnJhbmQtaG92ZXItY29sb3I6ICAgICAgICAgICRuYXZiYXItbGlnaHQtYWN0aXZlLWNvbG9yO1xuJG5hdmJhci1kYXJrLWJyYW5kLWNvbG9yOiAgICAgICAgICAgICAgICAgJG5hdmJhci1kYXJrLWFjdGl2ZS1jb2xvcjtcbiRuYXZiYXItZGFyay1icmFuZC1ob3Zlci1jb2xvcjogICAgICAgICAgICRuYXZiYXItZGFyay1hY3RpdmUtY29sb3I7XG5cblxuLy8gRHJvcGRvd25zXG4vL1xuLy8gRHJvcGRvd24gbWVudSBjb250YWluZXIgYW5kIGNvbnRlbnRzLlxuXG4kZHJvcGRvd24tbWluLXdpZHRoOiAgICAgICAgICAgICAgICAxMHJlbTtcbiRkcm9wZG93bi1wYWRkaW5nLXk6ICAgICAgICAgICAgICAgIC41cmVtO1xuJGRyb3Bkb3duLXNwYWNlcjogICAgICAgICAgICAgICAgICAgLjEyNXJlbTtcbiRkcm9wZG93bi1mb250LXNpemU6ICAgICAgICAgICAgICAgICRmb250LXNpemUtYmFzZTtcbiRkcm9wZG93bi1jb2xvcjogICAgICAgICAgICAgICAgICAgICRib2R5LWNvbG9yO1xuJGRyb3Bkb3duLWJnOiAgICAgICAgICAgICAgICAgICAgICAgJHdoaXRlO1xuJGRyb3Bkb3duLWJvcmRlci1jb2xvcjogICAgICAgICAgICAgcmdiYSgkYmxhY2ssIC4xNSk7XG4kZHJvcGRvd24tYm9yZGVyLXJhZGl1czogICAgICAgICAgICAkYm9yZGVyLXJhZGl1cztcbiRkcm9wZG93bi1ib3JkZXItd2lkdGg6ICAgICAgICAgICAgICRib3JkZXItd2lkdGg7XG4kZHJvcGRvd24taW5uZXItYm9yZGVyLXJhZGl1czogICAgICBzdWJ0cmFjdCgkZHJvcGRvd24tYm9yZGVyLXJhZGl1cywgJGRyb3Bkb3duLWJvcmRlci13aWR0aCk7XG4kZHJvcGRvd24tZGl2aWRlci1iZzogICAgICAgICAgICAgICAkZ3JheS0yMDA7XG4kZHJvcGRvd24tZGl2aWRlci1tYXJnaW4teTogICAgICAgICAkbmF2LWRpdmlkZXItbWFyZ2luLXk7XG4kZHJvcGRvd24tYm94LXNoYWRvdzogICAgICAgICAgICAgICAwIC41cmVtIDFyZW0gcmdiYSgkYmxhY2ssIC4xNzUpO1xuXG4kZHJvcGRvd24tbGluay1jb2xvcjogICAgICAgICAgICAgICAkZ3JheS05MDA7XG4kZHJvcGRvd24tbGluay1ob3Zlci1jb2xvcjogICAgICAgICBkYXJrZW4oJGdyYXktOTAwLCA1JSk7XG4kZHJvcGRvd24tbGluay1ob3Zlci1iZzogICAgICAgICAgICAkZ3JheS0xMDA7XG5cbiRkcm9wZG93bi1saW5rLWFjdGl2ZS1jb2xvcjogICAgICAgICRjb21wb25lbnQtYWN0aXZlLWNvbG9yO1xuJGRyb3Bkb3duLWxpbmstYWN0aXZlLWJnOiAgICAgICAgICAgJGNvbXBvbmVudC1hY3RpdmUtYmc7XG5cbiRkcm9wZG93bi1saW5rLWRpc2FibGVkLWNvbG9yOiAgICAgICRncmF5LTYwMDtcblxuJGRyb3Bkb3duLWl0ZW0tcGFkZGluZy15OiAgICAgICAgICAgLjI1cmVtO1xuJGRyb3Bkb3duLWl0ZW0tcGFkZGluZy14OiAgICAgICAgICAgMS41cmVtO1xuXG4kZHJvcGRvd24taGVhZGVyLWNvbG9yOiAgICAgICAgICAgICAkZ3JheS02MDA7XG5cblxuLy8gUGFnaW5hdGlvblxuXG4kcGFnaW5hdGlvbi1wYWRkaW5nLXk6ICAgICAgICAgICAgICAuNXJlbTtcbiRwYWdpbmF0aW9uLXBhZGRpbmcteDogICAgICAgICAgICAgIC43NXJlbTtcbiRwYWdpbmF0aW9uLXBhZGRpbmcteS1zbTogICAgICAgICAgIC4yNXJlbTtcbiRwYWdpbmF0aW9uLXBhZGRpbmcteC1zbTogICAgICAgICAgIC41cmVtO1xuJHBhZ2luYXRpb24tcGFkZGluZy15LWxnOiAgICAgICAgICAgLjc1cmVtO1xuJHBhZ2luYXRpb24tcGFkZGluZy14LWxnOiAgICAgICAgICAgMS41cmVtO1xuJHBhZ2luYXRpb24tbGluZS1oZWlnaHQ6ICAgICAgICAgICAgMS4yNTtcblxuJHBhZ2luYXRpb24tY29sb3I6ICAgICAgICAgICAgICAgICAgJGxpbmstY29sb3I7XG4kcGFnaW5hdGlvbi1iZzogICAgICAgICAgICAgICAgICAgICAkd2hpdGU7XG4kcGFnaW5hdGlvbi1ib3JkZXItd2lkdGg6ICAgICAgICAgICAkYm9yZGVyLXdpZHRoO1xuJHBhZ2luYXRpb24tYm9yZGVyLWNvbG9yOiAgICAgICAgICAgJGdyYXktMzAwO1xuXG4kcGFnaW5hdGlvbi1mb2N1cy1ib3gtc2hhZG93OiAgICAgICAkaW5wdXQtYnRuLWZvY3VzLWJveC1zaGFkb3c7XG4kcGFnaW5hdGlvbi1mb2N1cy1vdXRsaW5lOiAgICAgICAgICAwO1xuXG4kcGFnaW5hdGlvbi1ob3Zlci1jb2xvcjogICAgICAgICAgICAkbGluay1ob3Zlci1jb2xvcjtcbiRwYWdpbmF0aW9uLWhvdmVyLWJnOiAgICAgICAgICAgICAgICRncmF5LTIwMDtcbiRwYWdpbmF0aW9uLWhvdmVyLWJvcmRlci1jb2xvcjogICAgICRncmF5LTMwMDtcblxuJHBhZ2luYXRpb24tYWN0aXZlLWNvbG9yOiAgICAgICAgICAgJGNvbXBvbmVudC1hY3RpdmUtY29sb3I7XG4kcGFnaW5hdGlvbi1hY3RpdmUtYmc6ICAgICAgICAgICAgICAkY29tcG9uZW50LWFjdGl2ZS1iZztcbiRwYWdpbmF0aW9uLWFjdGl2ZS1ib3JkZXItY29sb3I6ICAgICRwYWdpbmF0aW9uLWFjdGl2ZS1iZztcblxuJHBhZ2luYXRpb24tZGlzYWJsZWQtY29sb3I6ICAgICAgICAgJGdyYXktNjAwO1xuJHBhZ2luYXRpb24tZGlzYWJsZWQtYmc6ICAgICAgICAgICAgJHdoaXRlO1xuJHBhZ2luYXRpb24tZGlzYWJsZWQtYm9yZGVyLWNvbG9yOiAgJGdyYXktMzAwO1xuXG5cbi8vIEp1bWJvdHJvblxuXG4kanVtYm90cm9uLXBhZGRpbmc6ICAgICAgICAgICAgICAgICAycmVtO1xuJGp1bWJvdHJvbi1jb2xvcjogICAgICAgICAgICAgICAgICAgbnVsbDtcbiRqdW1ib3Ryb24tYmc6ICAgICAgICAgICAgICAgICAgICAgICRncmF5LTIwMDtcblxuXG4vLyBDYXJkc1xuXG4kY2FyZC1zcGFjZXIteTogICAgICAgICAgICAgICAgICAgICAuNzVyZW07XG4kY2FyZC1zcGFjZXIteDogICAgICAgICAgICAgICAgICAgICAxLjI1cmVtO1xuJGNhcmQtYm9yZGVyLXdpZHRoOiAgICAgICAgICAgICAgICAgJGJvcmRlci13aWR0aDtcbiRjYXJkLWJvcmRlci1yYWRpdXM6ICAgICAgICAgICAgICAgICRib3JkZXItcmFkaXVzO1xuJGNhcmQtYm9yZGVyLWNvbG9yOiAgICAgICAgICAgICAgICAgcmdiYSgkYmxhY2ssIC4xMjUpO1xuJGNhcmQtaW5uZXItYm9yZGVyLXJhZGl1czogICAgICAgICAgc3VidHJhY3QoJGNhcmQtYm9yZGVyLXJhZGl1cywgJGNhcmQtYm9yZGVyLXdpZHRoKTtcbiRjYXJkLWNhcC1iZzogICAgICAgICAgICAgICAgICAgICAgIHJnYmEoJGJsYWNrLCAuMDMpO1xuJGNhcmQtY2FwLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgbnVsbDtcbiRjYXJkLWhlaWdodDogICAgICAgICAgICAgICAgICAgICAgIG51bGw7XG4kY2FyZC1jb2xvcjogICAgICAgICAgICAgICAgICAgICAgICBudWxsO1xuJGNhcmQtYmc6ICAgICAgICAgICAgICAgICAgICAgICAgICAgJHdoaXRlO1xuXG4kY2FyZC1pbWctb3ZlcmxheS1wYWRkaW5nOiAgICAgICAgICAxLjI1cmVtO1xuXG4kY2FyZC1ncm91cC1tYXJnaW46ICAgICAgICAgICAgICAgICAkZ3JpZC1ndXR0ZXItd2lkdGggLyAyO1xuJGNhcmQtZGVjay1tYXJnaW46ICAgICAgICAgICAgICAgICAgJGNhcmQtZ3JvdXAtbWFyZ2luO1xuXG4kY2FyZC1jb2x1bW5zLWNvdW50OiAgICAgICAgICAgICAgICAzO1xuJGNhcmQtY29sdW1ucy1nYXA6ICAgICAgICAgICAgICAgICAgMS4yNXJlbTtcbiRjYXJkLWNvbHVtbnMtbWFyZ2luOiAgICAgICAgICAgICAgICRjYXJkLXNwYWNlci15O1xuXG5cbi8vIFRvb2x0aXBzXG5cbiR0b29sdGlwLWZvbnQtc2l6ZTogICAgICAgICAgICAgICAgICRmb250LXNpemUtc207XG4kdG9vbHRpcC1tYXgtd2lkdGg6ICAgICAgICAgICAgICAgICAyMDBweDtcbiR0b29sdGlwLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICR3aGl0ZTtcbiR0b29sdGlwLWJnOiAgICAgICAgICAgICAgICAgICAgICAgICRibGFjaztcbiR0b29sdGlwLWJvcmRlci1yYWRpdXM6ICAgICAgICAgICAgICRib3JkZXItcmFkaXVzO1xuJHRvb2x0aXAtb3BhY2l0eTogICAgICAgICAgICAgICAgICAgLjk7XG4kdG9vbHRpcC1wYWRkaW5nLXk6ICAgICAgICAgICAgICAgICAuMjVyZW07XG4kdG9vbHRpcC1wYWRkaW5nLXg6ICAgICAgICAgICAgICAgICAuNXJlbTtcbiR0b29sdGlwLW1hcmdpbjogICAgICAgICAgICAgICAgICAgIDA7XG5cbiR0b29sdGlwLWFycm93LXdpZHRoOiAgICAgICAgICAgICAgIC44cmVtO1xuJHRvb2x0aXAtYXJyb3ctaGVpZ2h0OiAgICAgICAgICAgICAgLjRyZW07XG4kdG9vbHRpcC1hcnJvdy1jb2xvcjogICAgICAgICAgICAgICAkdG9vbHRpcC1iZztcblxuLy8gRm9ybSB0b29sdGlwcyBtdXN0IGNvbWUgYWZ0ZXIgcmVndWxhciB0b29sdGlwc1xuJGZvcm0tZmVlZGJhY2stdG9vbHRpcC1wYWRkaW5nLXk6ICAgICAkdG9vbHRpcC1wYWRkaW5nLXk7XG4kZm9ybS1mZWVkYmFjay10b29sdGlwLXBhZGRpbmcteDogICAgICR0b29sdGlwLXBhZGRpbmcteDtcbiRmb3JtLWZlZWRiYWNrLXRvb2x0aXAtZm9udC1zaXplOiAgICAgJHRvb2x0aXAtZm9udC1zaXplO1xuJGZvcm0tZmVlZGJhY2stdG9vbHRpcC1saW5lLWhlaWdodDogICAkbGluZS1oZWlnaHQtYmFzZTtcbiRmb3JtLWZlZWRiYWNrLXRvb2x0aXAtb3BhY2l0eTogICAgICAgJHRvb2x0aXAtb3BhY2l0eTtcbiRmb3JtLWZlZWRiYWNrLXRvb2x0aXAtYm9yZGVyLXJhZGl1czogJHRvb2x0aXAtYm9yZGVyLXJhZGl1cztcblxuXG4vLyBQb3BvdmVyc1xuXG4kcG9wb3Zlci1mb250LXNpemU6ICAgICAgICAgICAgICAgICAkZm9udC1zaXplLXNtO1xuJHBvcG92ZXItYmc6ICAgICAgICAgICAgICAgICAgICAgICAgJHdoaXRlO1xuJHBvcG92ZXItbWF4LXdpZHRoOiAgICAgICAgICAgICAgICAgMjc2cHg7XG4kcG9wb3Zlci1ib3JkZXItd2lkdGg6ICAgICAgICAgICAgICAkYm9yZGVyLXdpZHRoO1xuJHBvcG92ZXItYm9yZGVyLWNvbG9yOiAgICAgICAgICAgICAgcmdiYSgkYmxhY2ssIC4yKTtcbiRwb3BvdmVyLWJvcmRlci1yYWRpdXM6ICAgICAgICAgICAgICRib3JkZXItcmFkaXVzLWxnO1xuJHBvcG92ZXItaW5uZXItYm9yZGVyLXJhZGl1czogICAgICAgc3VidHJhY3QoJHBvcG92ZXItYm9yZGVyLXJhZGl1cywgJHBvcG92ZXItYm9yZGVyLXdpZHRoKTtcbiRwb3BvdmVyLWJveC1zaGFkb3c6ICAgICAgICAgICAgICAgIDAgLjI1cmVtIC41cmVtIHJnYmEoJGJsYWNrLCAuMik7XG5cbiRwb3BvdmVyLWhlYWRlci1iZzogICAgICAgICAgICAgICAgIGRhcmtlbigkcG9wb3Zlci1iZywgMyUpO1xuJHBvcG92ZXItaGVhZGVyLWNvbG9yOiAgICAgICAgICAgICAgJGhlYWRpbmdzLWNvbG9yO1xuJHBvcG92ZXItaGVhZGVyLXBhZGRpbmcteTogICAgICAgICAgLjVyZW07XG4kcG9wb3Zlci1oZWFkZXItcGFkZGluZy14OiAgICAgICAgICAuNzVyZW07XG5cbiRwb3BvdmVyLWJvZHktY29sb3I6ICAgICAgICAgICAgICAgICRib2R5LWNvbG9yO1xuJHBvcG92ZXItYm9keS1wYWRkaW5nLXk6ICAgICAgICAgICAgJHBvcG92ZXItaGVhZGVyLXBhZGRpbmcteTtcbiRwb3BvdmVyLWJvZHktcGFkZGluZy14OiAgICAgICAgICAgICRwb3BvdmVyLWhlYWRlci1wYWRkaW5nLXg7XG5cbiRwb3BvdmVyLWFycm93LXdpZHRoOiAgICAgICAgICAgICAgIDFyZW07XG4kcG9wb3Zlci1hcnJvdy1oZWlnaHQ6ICAgICAgICAgICAgICAuNXJlbTtcbiRwb3BvdmVyLWFycm93LWNvbG9yOiAgICAgICAgICAgICAgICRwb3BvdmVyLWJnO1xuXG4kcG9wb3Zlci1hcnJvdy1vdXRlci1jb2xvcjogICAgICAgICBmYWRlLWluKCRwb3BvdmVyLWJvcmRlci1jb2xvciwgLjA1KTtcblxuXG4vLyBUb2FzdHNcblxuJHRvYXN0LW1heC13aWR0aDogICAgICAgICAgICAgICAgICAgMzUwcHg7XG4kdG9hc3QtcGFkZGluZy14OiAgICAgICAgICAgICAgICAgICAuNzVyZW07XG4kdG9hc3QtcGFkZGluZy15OiAgICAgICAgICAgICAgICAgICAuMjVyZW07XG4kdG9hc3QtZm9udC1zaXplOiAgICAgICAgICAgICAgICAgICAuODc1cmVtO1xuJHRvYXN0LWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICAgbnVsbDtcbiR0b2FzdC1iYWNrZ3JvdW5kLWNvbG9yOiAgICAgICAgICAgIHJnYmEoJHdoaXRlLCAuODUpO1xuJHRvYXN0LWJvcmRlci13aWR0aDogICAgICAgICAgICAgICAgMXB4O1xuJHRvYXN0LWJvcmRlci1jb2xvcjogICAgICAgICAgICAgICAgcmdiYSgwLCAwLCAwLCAuMSk7XG4kdG9hc3QtYm9yZGVyLXJhZGl1czogICAgICAgICAgICAgICAuMjVyZW07XG4kdG9hc3QtYm94LXNoYWRvdzogICAgICAgICAgICAgICAgICAwIC4yNXJlbSAuNzVyZW0gcmdiYSgkYmxhY2ssIC4xKTtcblxuJHRvYXN0LWhlYWRlci1jb2xvcjogICAgICAgICAgICAgICAgJGdyYXktNjAwO1xuJHRvYXN0LWhlYWRlci1iYWNrZ3JvdW5kLWNvbG9yOiAgICAgcmdiYSgkd2hpdGUsIC44NSk7XG4kdG9hc3QtaGVhZGVyLWJvcmRlci1jb2xvcjogICAgICAgICByZ2JhKDAsIDAsIDAsIC4wNSk7XG5cblxuLy8gQmFkZ2VzXG5cbiRiYWRnZS1mb250LXNpemU6ICAgICAgICAgICAgICAgICAgIDc1JTtcbiRiYWRnZS1mb250LXdlaWdodDogICAgICAgICAgICAgICAgICRmb250LXdlaWdodC1ib2xkO1xuJGJhZGdlLXBhZGRpbmcteTogICAgICAgICAgICAgICAgICAgLjI1ZW07XG4kYmFkZ2UtcGFkZGluZy14OiAgICAgICAgICAgICAgICAgICAuNGVtO1xuJGJhZGdlLWJvcmRlci1yYWRpdXM6ICAgICAgICAgICAgICAgJGJvcmRlci1yYWRpdXM7XG5cbiRiYWRnZS10cmFuc2l0aW9uOiAgICAgICAgICAgICAgICAgICRidG4tdHJhbnNpdGlvbjtcbiRiYWRnZS1mb2N1cy13aWR0aDogICAgICAgICAgICAgICAgICRpbnB1dC1idG4tZm9jdXMtd2lkdGg7XG5cbiRiYWRnZS1waWxsLXBhZGRpbmcteDogICAgICAgICAgICAgIC42ZW07XG4vLyBVc2UgYSBoaWdoZXIgdGhhbiBub3JtYWwgdmFsdWUgdG8gZW5zdXJlIGNvbXBsZXRlbHkgcm91bmRlZCBlZGdlcyB3aGVuXG4vLyBjdXN0b21pemluZyBwYWRkaW5nIG9yIGZvbnQtc2l6ZSBvbiBsYWJlbHMuXG4kYmFkZ2UtcGlsbC1ib3JkZXItcmFkaXVzOiAgICAgICAgICAxMHJlbTtcblxuXG4vLyBNb2RhbHNcblxuLy8gUGFkZGluZyBhcHBsaWVkIHRvIHRoZSBtb2RhbCBib2R5XG4kbW9kYWwtaW5uZXItcGFkZGluZzogICAgICAgICAgICAgICAxcmVtO1xuXG4vLyBNYXJnaW4gYmV0d2VlbiBlbGVtZW50cyBpbiBmb290ZXIsIG11c3QgYmUgbG93ZXIgdGhhbiBvciBlcXVhbCB0byAyICogJG1vZGFsLWlubmVyLXBhZGRpbmdcbiRtb2RhbC1mb290ZXItbWFyZ2luLWJldHdlZW46ICAgICAgIC41cmVtO1xuXG4kbW9kYWwtZGlhbG9nLW1hcmdpbjogICAgICAgICAgICAgICAuNXJlbTtcbiRtb2RhbC1kaWFsb2ctbWFyZ2luLXktc20tdXA6ICAgICAgIDEuNzVyZW07XG5cbiRtb2RhbC10aXRsZS1saW5lLWhlaWdodDogICAgICAgICAgICRsaW5lLWhlaWdodC1iYXNlO1xuXG4kbW9kYWwtY29udGVudC1jb2xvcjogICAgICAgICAgICAgICBudWxsO1xuJG1vZGFsLWNvbnRlbnQtYmc6ICAgICAgICAgICAgICAgICAgJHdoaXRlO1xuJG1vZGFsLWNvbnRlbnQtYm9yZGVyLWNvbG9yOiAgICAgICAgcmdiYSgkYmxhY2ssIC4yKTtcbiRtb2RhbC1jb250ZW50LWJvcmRlci13aWR0aDogICAgICAgICRib3JkZXItd2lkdGg7XG4kbW9kYWwtY29udGVudC1ib3JkZXItcmFkaXVzOiAgICAgICAkYm9yZGVyLXJhZGl1cy1sZztcbiRtb2RhbC1jb250ZW50LWlubmVyLWJvcmRlci1yYWRpdXM6IHN1YnRyYWN0KCRtb2RhbC1jb250ZW50LWJvcmRlci1yYWRpdXMsICRtb2RhbC1jb250ZW50LWJvcmRlci13aWR0aCk7XG4kbW9kYWwtY29udGVudC1ib3gtc2hhZG93LXhzOiAgICAgICAwIC4yNXJlbSAuNXJlbSByZ2JhKCRibGFjaywgLjUpO1xuJG1vZGFsLWNvbnRlbnQtYm94LXNoYWRvdy1zbS11cDogICAgMCAuNXJlbSAxcmVtIHJnYmEoJGJsYWNrLCAuNSk7XG5cbiRtb2RhbC1iYWNrZHJvcC1iZzogICAgICAgICAgICAgICAgICRibGFjaztcbiRtb2RhbC1iYWNrZHJvcC1vcGFjaXR5OiAgICAgICAgICAgIC41O1xuJG1vZGFsLWhlYWRlci1ib3JkZXItY29sb3I6ICAgICAgICAgJGJvcmRlci1jb2xvcjtcbiRtb2RhbC1mb290ZXItYm9yZGVyLWNvbG9yOiAgICAgICAgICRtb2RhbC1oZWFkZXItYm9yZGVyLWNvbG9yO1xuJG1vZGFsLWhlYWRlci1ib3JkZXItd2lkdGg6ICAgICAgICAgJG1vZGFsLWNvbnRlbnQtYm9yZGVyLXdpZHRoO1xuJG1vZGFsLWZvb3Rlci1ib3JkZXItd2lkdGg6ICAgICAgICAgJG1vZGFsLWhlYWRlci1ib3JkZXItd2lkdGg7XG4kbW9kYWwtaGVhZGVyLXBhZGRpbmcteTogICAgICAgICAgICAxcmVtO1xuJG1vZGFsLWhlYWRlci1wYWRkaW5nLXg6ICAgICAgICAgICAgMXJlbTtcbiRtb2RhbC1oZWFkZXItcGFkZGluZzogICAgICAgICAgICAgICRtb2RhbC1oZWFkZXItcGFkZGluZy15ICRtb2RhbC1oZWFkZXItcGFkZGluZy14OyAvLyBLZWVwIHRoaXMgZm9yIGJhY2t3YXJkcyBjb21wYXRpYmlsaXR5XG5cbiRtb2RhbC14bDogICAgICAgICAgICAgICAgICAgICAgICAgIDExNDBweDtcbiRtb2RhbC1sZzogICAgICAgICAgICAgICAgICAgICAgICAgIDgwMHB4O1xuJG1vZGFsLW1kOiAgICAgICAgICAgICAgICAgICAgICAgICAgNTAwcHg7XG4kbW9kYWwtc206ICAgICAgICAgICAgICAgICAgICAgICAgICAzMDBweDtcblxuJG1vZGFsLWZhZGUtdHJhbnNmb3JtOiAgICAgICAgICAgICAgdHJhbnNsYXRlKDAsIC01MHB4KTtcbiRtb2RhbC1zaG93LXRyYW5zZm9ybTogICAgICAgICAgICAgIG5vbmU7XG4kbW9kYWwtdHJhbnNpdGlvbjogICAgICAgICAgICAgICAgICB0cmFuc2Zvcm0gLjNzIGVhc2Utb3V0O1xuJG1vZGFsLXNjYWxlLXRyYW5zZm9ybTogICAgICAgICAgICAgc2NhbGUoMS4wMik7XG5cblxuLy8gQWxlcnRzXG4vL1xuLy8gRGVmaW5lIGFsZXJ0IGNvbG9ycywgYm9yZGVyIHJhZGl1cywgYW5kIHBhZGRpbmcuXG5cbiRhbGVydC1wYWRkaW5nLXk6ICAgICAgICAgICAgICAgICAgIC43NXJlbTtcbiRhbGVydC1wYWRkaW5nLXg6ICAgICAgICAgICAgICAgICAgIDEuMjVyZW07XG4kYWxlcnQtbWFyZ2luLWJvdHRvbTogICAgICAgICAgICAgICAxcmVtO1xuJGFsZXJ0LWJvcmRlci1yYWRpdXM6ICAgICAgICAgICAgICAgJGJvcmRlci1yYWRpdXM7XG4kYWxlcnQtbGluay1mb250LXdlaWdodDogICAgICAgICAgICAkZm9udC13ZWlnaHQtYm9sZDtcbiRhbGVydC1ib3JkZXItd2lkdGg6ICAgICAgICAgICAgICAgICRib3JkZXItd2lkdGg7XG5cbiRhbGVydC1iZy1sZXZlbDogICAgICAgICAgICAgICAgICAgIC0xMDtcbiRhbGVydC1ib3JkZXItbGV2ZWw6ICAgICAgICAgICAgICAgIC05O1xuJGFsZXJ0LWNvbG9yLWxldmVsOiAgICAgICAgICAgICAgICAgNjtcblxuXG4vLyBQcm9ncmVzcyBiYXJzXG5cbiRwcm9ncmVzcy1oZWlnaHQ6ICAgICAgICAgICAgICAgICAgIDFyZW07XG4kcHJvZ3Jlc3MtZm9udC1zaXplOiAgICAgICAgICAgICAgICAkZm9udC1zaXplLWJhc2UgKiAuNzU7XG4kcHJvZ3Jlc3MtYmc6ICAgICAgICAgICAgICAgICAgICAgICAkZ3JheS0yMDA7XG4kcHJvZ3Jlc3MtYm9yZGVyLXJhZGl1czogICAgICAgICAgICAkYm9yZGVyLXJhZGl1cztcbiRwcm9ncmVzcy1ib3gtc2hhZG93OiAgICAgICAgICAgICAgIGluc2V0IDAgLjFyZW0gLjFyZW0gcmdiYSgkYmxhY2ssIC4xKTtcbiRwcm9ncmVzcy1iYXItY29sb3I6ICAgICAgICAgICAgICAgICR3aGl0ZTtcbiRwcm9ncmVzcy1iYXItYmc6ICAgICAgICAgICAgICAgICAgIHRoZW1lLWNvbG9yKFwicHJpbWFyeVwiKTtcbiRwcm9ncmVzcy1iYXItYW5pbWF0aW9uLXRpbWluZzogICAgIDFzIGxpbmVhciBpbmZpbml0ZTtcbiRwcm9ncmVzcy1iYXItdHJhbnNpdGlvbjogICAgICAgICAgIHdpZHRoIC42cyBlYXNlO1xuXG5cbi8vIExpc3QgZ3JvdXBcblxuJGxpc3QtZ3JvdXAtY29sb3I6ICAgICAgICAgICAgICAgICAgbnVsbDtcbiRsaXN0LWdyb3VwLWJnOiAgICAgICAgICAgICAgICAgICAgICR3aGl0ZTtcbiRsaXN0LWdyb3VwLWJvcmRlci1jb2xvcjogICAgICAgICAgIHJnYmEoJGJsYWNrLCAuMTI1KTtcbiRsaXN0LWdyb3VwLWJvcmRlci13aWR0aDogICAgICAgICAgICRib3JkZXItd2lkdGg7XG4kbGlzdC1ncm91cC1ib3JkZXItcmFkaXVzOiAgICAgICAgICAkYm9yZGVyLXJhZGl1cztcblxuJGxpc3QtZ3JvdXAtaXRlbS1wYWRkaW5nLXk6ICAgICAgICAgLjc1cmVtO1xuJGxpc3QtZ3JvdXAtaXRlbS1wYWRkaW5nLXg6ICAgICAgICAgMS4yNXJlbTtcblxuJGxpc3QtZ3JvdXAtaG92ZXItYmc6ICAgICAgICAgICAgICAgJGdyYXktMTAwO1xuJGxpc3QtZ3JvdXAtYWN0aXZlLWNvbG9yOiAgICAgICAgICAgJGNvbXBvbmVudC1hY3RpdmUtY29sb3I7XG4kbGlzdC1ncm91cC1hY3RpdmUtYmc6ICAgICAgICAgICAgICAkY29tcG9uZW50LWFjdGl2ZS1iZztcbiRsaXN0LWdyb3VwLWFjdGl2ZS1ib3JkZXItY29sb3I6ICAgICRsaXN0LWdyb3VwLWFjdGl2ZS1iZztcblxuJGxpc3QtZ3JvdXAtZGlzYWJsZWQtY29sb3I6ICAgICAgICAgJGdyYXktNjAwO1xuJGxpc3QtZ3JvdXAtZGlzYWJsZWQtYmc6ICAgICAgICAgICAgJGxpc3QtZ3JvdXAtYmc7XG5cbiRsaXN0LWdyb3VwLWFjdGlvbi1jb2xvcjogICAgICAgICAgICRncmF5LTcwMDtcbiRsaXN0LWdyb3VwLWFjdGlvbi1ob3Zlci1jb2xvcjogICAgICRsaXN0LWdyb3VwLWFjdGlvbi1jb2xvcjtcblxuJGxpc3QtZ3JvdXAtYWN0aW9uLWFjdGl2ZS1jb2xvcjogICAgJGJvZHktY29sb3I7XG4kbGlzdC1ncm91cC1hY3Rpb24tYWN0aXZlLWJnOiAgICAgICAkZ3JheS0yMDA7XG5cblxuLy8gSW1hZ2UgdGh1bWJuYWlsc1xuXG4kdGh1bWJuYWlsLXBhZGRpbmc6ICAgICAgICAgICAgICAgICAuMjVyZW07XG4kdGh1bWJuYWlsLWJnOiAgICAgICAgICAgICAgICAgICAgICAkYm9keS1iZztcbiR0aHVtYm5haWwtYm9yZGVyLXdpZHRoOiAgICAgICAgICAgICRib3JkZXItd2lkdGg7XG4kdGh1bWJuYWlsLWJvcmRlci1jb2xvcjogICAgICAgICAgICAkZ3JheS0zMDA7XG4kdGh1bWJuYWlsLWJvcmRlci1yYWRpdXM6ICAgICAgICAgICAkYm9yZGVyLXJhZGl1cztcbiR0aHVtYm5haWwtYm94LXNoYWRvdzogICAgICAgICAgICAgIDAgMXB4IDJweCByZ2JhKCRibGFjaywgLjA3NSk7XG5cblxuLy8gRmlndXJlc1xuXG4kZmlndXJlLWNhcHRpb24tZm9udC1zaXplOiAgICAgICAgICA5MCU7XG4kZmlndXJlLWNhcHRpb24tY29sb3I6ICAgICAgICAgICAgICAkZ3JheS02MDA7XG5cblxuLy8gQnJlYWRjcnVtYnNcblxuJGJyZWFkY3J1bWItZm9udC1zaXplOiAgICAgICAgICAgICAgbnVsbDtcblxuJGJyZWFkY3J1bWItcGFkZGluZy15OiAgICAgICAgICAgICAgLjc1cmVtO1xuJGJyZWFkY3J1bWItcGFkZGluZy14OiAgICAgICAgICAgICAgMXJlbTtcbiRicmVhZGNydW1iLWl0ZW0tcGFkZGluZzogICAgICAgICAgIC41cmVtO1xuXG4kYnJlYWRjcnVtYi1tYXJnaW4tYm90dG9tOiAgICAgICAgICAxcmVtO1xuXG4kYnJlYWRjcnVtYi1iZzogICAgICAgICAgICAgICAgICAgICAkZ3JheS0yMDA7XG4kYnJlYWRjcnVtYi1kaXZpZGVyLWNvbG9yOiAgICAgICAgICAkZ3JheS02MDA7XG4kYnJlYWRjcnVtYi1hY3RpdmUtY29sb3I6ICAgICAgICAgICAkZ3JheS02MDA7XG4kYnJlYWRjcnVtYi1kaXZpZGVyOiAgICAgICAgICAgICAgICBxdW90ZShcIi9cIik7XG5cbiRicmVhZGNydW1iLWJvcmRlci1yYWRpdXM6ICAgICAgICAgICRib3JkZXItcmFkaXVzO1xuXG5cbi8vIENhcm91c2VsXG5cbiRjYXJvdXNlbC1jb250cm9sLWNvbG9yOiAgICAgICAgICAgICAkd2hpdGU7XG4kY2Fyb3VzZWwtY29udHJvbC13aWR0aDogICAgICAgICAgICAgMTUlO1xuJGNhcm91c2VsLWNvbnRyb2wtb3BhY2l0eTogICAgICAgICAgIC41O1xuJGNhcm91c2VsLWNvbnRyb2wtaG92ZXItb3BhY2l0eTogICAgIC45O1xuJGNhcm91c2VsLWNvbnRyb2wtdHJhbnNpdGlvbjogICAgICAgIG9wYWNpdHkgLjE1cyBlYXNlO1xuXG4kY2Fyb3VzZWwtaW5kaWNhdG9yLXdpZHRoOiAgICAgICAgICAgMzBweDtcbiRjYXJvdXNlbC1pbmRpY2F0b3ItaGVpZ2h0OiAgICAgICAgICAzcHg7XG4kY2Fyb3VzZWwtaW5kaWNhdG9yLWhpdC1hcmVhLWhlaWdodDogMTBweDtcbiRjYXJvdXNlbC1pbmRpY2F0b3Itc3BhY2VyOiAgICAgICAgICAzcHg7XG4kY2Fyb3VzZWwtaW5kaWNhdG9yLWFjdGl2ZS1iZzogICAgICAgJHdoaXRlO1xuJGNhcm91c2VsLWluZGljYXRvci10cmFuc2l0aW9uOiAgICAgIG9wYWNpdHkgLjZzIGVhc2U7XG5cbiRjYXJvdXNlbC1jYXB0aW9uLXdpZHRoOiAgICAgICAgICAgICA3MCU7XG4kY2Fyb3VzZWwtY2FwdGlvbi1jb2xvcjogICAgICAgICAgICAgJHdoaXRlO1xuXG4kY2Fyb3VzZWwtY29udHJvbC1pY29uLXdpZHRoOiAgICAgICAgMjBweDtcblxuJGNhcm91c2VsLWNvbnRyb2wtcHJldi1pY29uLWJnOiAgICAgIHVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbCw8c3ZnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZycgZmlsbD0nI3skY2Fyb3VzZWwtY29udHJvbC1jb2xvcn0nIHdpZHRoPSc4JyBoZWlnaHQ9JzgnIHZpZXdCb3g9JzAgMCA4IDgnPjxwYXRoIGQ9J001LjI1IDBsLTQgNCA0IDQgMS41LTEuNUw0LjI1IDRsMi41LTIuNUw1LjI1IDB6Jy8+PC9zdmc+XCIpO1xuJGNhcm91c2VsLWNvbnRyb2wtbmV4dC1pY29uLWJnOiAgICAgIHVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbCw8c3ZnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZycgZmlsbD0nI3skY2Fyb3VzZWwtY29udHJvbC1jb2xvcn0nIHdpZHRoPSc4JyBoZWlnaHQ9JzgnIHZpZXdCb3g9JzAgMCA4IDgnPjxwYXRoIGQ9J00yLjc1IDBsLTEuNSAxLjVMMy43NSA0bC0yLjUgMi41TDIuNzUgOGw0LTQtNC00eicvPjwvc3ZnPlwiKTtcblxuJGNhcm91c2VsLXRyYW5zaXRpb24tZHVyYXRpb246ICAgICAgIC42cztcbiRjYXJvdXNlbC10cmFuc2l0aW9uOiAgICAgICAgICAgICAgICB0cmFuc2Zvcm0gJGNhcm91c2VsLXRyYW5zaXRpb24tZHVyYXRpb24gZWFzZS1pbi1vdXQ7IC8vIERlZmluZSB0cmFuc2Zvcm0gdHJhbnNpdGlvbiBmaXJzdCBpZiB1c2luZyBtdWx0aXBsZSB0cmFuc2l0aW9ucyAoZS5nLiwgYHRyYW5zZm9ybSAycyBlYXNlLCBvcGFjaXR5IC41cyBlYXNlLW91dGApXG5cblxuLy8gU3Bpbm5lcnNcblxuJHNwaW5uZXItd2lkdGg6ICAgICAgICAgMnJlbTtcbiRzcGlubmVyLWhlaWdodDogICAgICAgICRzcGlubmVyLXdpZHRoO1xuJHNwaW5uZXItYm9yZGVyLXdpZHRoOiAgLjI1ZW07XG5cbiRzcGlubmVyLXdpZHRoLXNtOiAgICAgICAgMXJlbTtcbiRzcGlubmVyLWhlaWdodC1zbTogICAgICAgJHNwaW5uZXItd2lkdGgtc207XG4kc3Bpbm5lci1ib3JkZXItd2lkdGgtc206IC4yZW07XG5cblxuLy8gQ2xvc2VcblxuJGNsb3NlLWZvbnQtc2l6ZTogICAgICAgICAgICAgICAgICAgJGZvbnQtc2l6ZS1iYXNlICogMS41O1xuJGNsb3NlLWZvbnQtd2VpZ2h0OiAgICAgICAgICAgICAgICAgJGZvbnQtd2VpZ2h0LWJvbGQ7XG4kY2xvc2UtY29sb3I6ICAgICAgICAgICAgICAgICAgICAgICAkYmxhY2s7XG4kY2xvc2UtdGV4dC1zaGFkb3c6ICAgICAgICAgICAgICAgICAwIDFweCAwICR3aGl0ZTtcblxuXG4vLyBDb2RlXG5cbiRjb2RlLWZvbnQtc2l6ZTogICAgICAgICAgICAgICAgICAgIDg3LjUlO1xuJGNvZGUtY29sb3I6ICAgICAgICAgICAgICAgICAgICAgICAgJHBpbms7XG5cbiRrYmQtcGFkZGluZy15OiAgICAgICAgICAgICAgICAgICAgIC4ycmVtO1xuJGtiZC1wYWRkaW5nLXg6ICAgICAgICAgICAgICAgICAgICAgLjRyZW07XG4ka2JkLWZvbnQtc2l6ZTogICAgICAgICAgICAgICAgICAgICAkY29kZS1mb250LXNpemU7XG4ka2JkLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICAgICAkd2hpdGU7XG4ka2JkLWJnOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAkZ3JheS05MDA7XG5cbiRwcmUtY29sb3I6ICAgICAgICAgICAgICAgICAgICAgICAgICRncmF5LTkwMDtcbiRwcmUtc2Nyb2xsYWJsZS1tYXgtaGVpZ2h0OiAgICAgICAgIDM0MHB4O1xuXG5cbi8vIFV0aWxpdGllc1xuXG4kZGlzcGxheXM6IG5vbmUsIGlubGluZSwgaW5saW5lLWJsb2NrLCBibG9jaywgdGFibGUsIHRhYmxlLXJvdywgdGFibGUtY2VsbCwgZmxleCwgaW5saW5lLWZsZXg7XG4kb3ZlcmZsb3dzOiBhdXRvLCBoaWRkZW47XG4kcG9zaXRpb25zOiBzdGF0aWMsIHJlbGF0aXZlLCBhYnNvbHV0ZSwgZml4ZWQsIHN0aWNreTtcblxuXG4vLyBQcmludGluZ1xuXG4kcHJpbnQtcGFnZS1zaXplOiAgICAgICAgICAgICAgICAgICBhMztcbiRwcmludC1ib2R5LW1pbi13aWR0aDogICAgICAgICAgICAgIG1hcC1nZXQoJGdyaWQtYnJlYWtwb2ludHMsIFwibGdcIik7XG5cbiIsIi5jbG9zZSB7XG4gIGZsb2F0OiByaWdodDtcbiAgZm9udC1zaXplOiAxLjVyZW07XG4gIGZvbnQtd2VpZ2h0OiA3MDA7XG4gIGxpbmUtaGVpZ2h0OiAxO1xuICBjb2xvcjogIzAwMDtcbiAgdGV4dC1zaGFkb3c6IDAgMXB4IDAgI2ZmZjtcbiAgb3BhY2l0eTogMC41O1xufVxuQG1lZGlhIChtYXgtd2lkdGg6IDEyMDBweCkge1xuICAuY2xvc2Uge1xuICAgIGZvbnQtc2l6ZTogY2FsYygxLjI3NXJlbSArIDAuM3Z3KTtcbiAgfVxufVxuLmNsb3NlOmhvdmVyIHtcbiAgY29sb3I6ICMwMDA7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbn1cbi5jbG9zZTpub3QoOmRpc2FibGVkKTpub3QoLmRpc2FibGVkKTpob3ZlciwgLmNsb3NlOm5vdCg6ZGlzYWJsZWQpOm5vdCguZGlzYWJsZWQpOmZvY3VzIHtcbiAgb3BhY2l0eTogMC43NTtcbn1cblxuYnV0dG9uLmNsb3NlIHtcbiAgcGFkZGluZzogMDtcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIGJvcmRlcjogMDtcbn1cblxuYS5jbG9zZS5kaXNhYmxlZCB7XG4gIHBvaW50ZXItZXZlbnRzOiBub25lO1xufVxuXG4udG9hc3Qge1xuICBmbGV4LWJhc2lzOiAzNTBweDtcbiAgbWF4LXdpZHRoOiAzNTBweDtcbiAgZm9udC1zaXplOiAwLjg3NXJlbTtcbiAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjg1KTtcbiAgYmFja2dyb3VuZC1jbGlwOiBwYWRkaW5nLWJveDtcbiAgYm9yZGVyOiAxcHggc29saWQgcmdiYSgwLCAwLCAwLCAwLjEpO1xuICBib3gtc2hhZG93OiAwIDAuMjVyZW0gMC43NXJlbSByZ2JhKDAsIDAsIDAsIDAuMSk7XG4gIG9wYWNpdHk6IDA7XG4gIGJvcmRlci1yYWRpdXM6IDAuMjVyZW07XG59XG4udG9hc3Q6bm90KDpsYXN0LWNoaWxkKSB7XG4gIG1hcmdpbi1ib3R0b206IDAuNzVyZW07XG59XG4udG9hc3Quc2hvd2luZyB7XG4gIG9wYWNpdHk6IDE7XG59XG4udG9hc3Quc2hvdyB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBvcGFjaXR5OiAxO1xufVxuLnRvYXN0LmhpZGUge1xuICBkaXNwbGF5OiBub25lO1xufVxuXG4udG9hc3QtaGVhZGVyIHtcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgcGFkZGluZzogMC4yNXJlbSAwLjc1cmVtO1xuICBjb2xvcjogIzZjNzU3ZDtcbiAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjg1KTtcbiAgYmFja2dyb3VuZC1jbGlwOiBwYWRkaW5nLWJveDtcbiAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIHJnYmEoMCwgMCwgMCwgMC4wNSk7XG4gIGJvcmRlci10b3AtbGVmdC1yYWRpdXM6IGNhbGMoMC4yNXJlbSAtIDFweCk7XG4gIGJvcmRlci10b3AtcmlnaHQtcmFkaXVzOiBjYWxjKDAuMjVyZW0gLSAxcHgpO1xufVxuXG4udG9hc3QtYm9keSB7XG4gIHBhZGRpbmc6IDAuNzVyZW07XG59XG5cbi5tZGMtdG91Y2gtdGFyZ2V0LXdyYXBwZXIge1xuICBkaXNwbGF5OiBpbmxpbmU7XG59XG5cbkBrZXlmcmFtZXMgbWRjLWNoZWNrYm94LXVuY2hlY2tlZC1jaGVja2VkLWNoZWNrbWFyay1wYXRoIHtcbiAgMCUsIDUwJSB7XG4gICAgc3Ryb2tlLWRhc2hvZmZzZXQ6IDI5Ljc4MzMzODU7XG4gIH1cbiAgNTAlIHtcbiAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMCwgMCwgMC4yLCAxKTtcbiAgfVxuICAxMDAlIHtcbiAgICBzdHJva2UtZGFzaG9mZnNldDogMDtcbiAgfVxufVxuQGtleWZyYW1lcyBtZGMtY2hlY2tib3gtdW5jaGVja2VkLWluZGV0ZXJtaW5hdGUtbWl4ZWRtYXJrIHtcbiAgMCUsIDY4LjIlIHtcbiAgICB0cmFuc2Zvcm06IHNjYWxlWCgwKTtcbiAgfVxuICA2OC4yJSB7XG4gICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAsIDAsIDAsIDEpO1xuICB9XG4gIDEwMCUge1xuICAgIHRyYW5zZm9ybTogc2NhbGVYKDEpO1xuICB9XG59XG5Aa2V5ZnJhbWVzIG1kYy1jaGVja2JveC1jaGVja2VkLXVuY2hlY2tlZC1jaGVja21hcmstcGF0aCB7XG4gIGZyb20ge1xuICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjQsIDAsIDEsIDEpO1xuICAgIG9wYWNpdHk6IDE7XG4gICAgc3Ryb2tlLWRhc2hvZmZzZXQ6IDA7XG4gIH1cbiAgdG8ge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgc3Ryb2tlLWRhc2hvZmZzZXQ6IC0yOS43ODMzMzg1O1xuICB9XG59XG5Aa2V5ZnJhbWVzIG1kYy1jaGVja2JveC1jaGVja2VkLWluZGV0ZXJtaW5hdGUtY2hlY2ttYXJrIHtcbiAgZnJvbSB7XG4gICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAsIDAsIDAuMiwgMSk7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUoMGRlZyk7XG4gICAgb3BhY2l0eTogMTtcbiAgfVxuICB0byB7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUoNDVkZWcpO1xuICAgIG9wYWNpdHk6IDA7XG4gIH1cbn1cbkBrZXlmcmFtZXMgbWRjLWNoZWNrYm94LWluZGV0ZXJtaW5hdGUtY2hlY2tlZC1jaGVja21hcmsge1xuICBmcm9tIHtcbiAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC4xNCwgMCwgMCwgMSk7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUoNDVkZWcpO1xuICAgIG9wYWNpdHk6IDA7XG4gIH1cbiAgdG8ge1xuICAgIHRyYW5zZm9ybTogcm90YXRlKDM2MGRlZyk7XG4gICAgb3BhY2l0eTogMTtcbiAgfVxufVxuQGtleWZyYW1lcyBtZGMtY2hlY2tib3gtY2hlY2tlZC1pbmRldGVybWluYXRlLW1peGVkbWFyayB7XG4gIGZyb20ge1xuICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IG1kYy1hbmltYXRpb24tZGVjZWxlcmF0aW9uLWN1cnZlLXRpbWluZy1mdW5jdGlvbjtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZSgtNDVkZWcpO1xuICAgIG9wYWNpdHk6IDA7XG4gIH1cbiAgdG8ge1xuICAgIHRyYW5zZm9ybTogcm90YXRlKDBkZWcpO1xuICAgIG9wYWNpdHk6IDE7XG4gIH1cbn1cbkBrZXlmcmFtZXMgbWRjLWNoZWNrYm94LWluZGV0ZXJtaW5hdGUtY2hlY2tlZC1taXhlZG1hcmsge1xuICBmcm9tIHtcbiAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC4xNCwgMCwgMCwgMSk7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUoMGRlZyk7XG4gICAgb3BhY2l0eTogMTtcbiAgfVxuICB0byB7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUoMzE1ZGVnKTtcbiAgICBvcGFjaXR5OiAwO1xuICB9XG59XG5Aa2V5ZnJhbWVzIG1kYy1jaGVja2JveC1pbmRldGVybWluYXRlLXVuY2hlY2tlZC1taXhlZG1hcmsge1xuICAwJSB7XG4gICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogbGluZWFyO1xuICAgIHRyYW5zZm9ybTogc2NhbGVYKDEpO1xuICAgIG9wYWNpdHk6IDE7XG4gIH1cbiAgMzIuOCUsIDEwMCUge1xuICAgIHRyYW5zZm9ybTogc2NhbGVYKDApO1xuICAgIG9wYWNpdHk6IDA7XG4gIH1cbn1cbi5tZGMtY2hlY2tib3gge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZmxleDogMCAwIDE4cHg7XG4gIGJveC1zaXppbmc6IGNvbnRlbnQtYm94O1xuICB3aWR0aDogMThweDtcbiAgaGVpZ2h0OiAxOHB4O1xuICBsaW5lLWhlaWdodDogMDtcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICB2ZXJ0aWNhbC1hbGlnbjogYm90dG9tO1xuICBwYWRkaW5nOiAxMXB4O1xufVxuXG4ubWRjLWNoZWNrYm94IC5tZGMtY2hlY2tib3hfX25hdGl2ZS1jb250cm9sOmNoZWNrZWQgfiAubWRjLWNoZWNrYm94X19iYWNrZ3JvdW5kOjpiZWZvcmUsXG4ubWRjLWNoZWNrYm94IC5tZGMtY2hlY2tib3hfX25hdGl2ZS1jb250cm9sOmluZGV0ZXJtaW5hdGUgfiAubWRjLWNoZWNrYm94X19iYWNrZ3JvdW5kOjpiZWZvcmUsXG4ubWRjLWNoZWNrYm94IC5tZGMtY2hlY2tib3hfX25hdGl2ZS1jb250cm9sW2RhdGEtaW5kZXRlcm1pbmF0ZT10cnVlXSB+IC5tZGMtY2hlY2tib3hfX2JhY2tncm91bmQ6OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtY29sb3I6ICMwMTg3ODY7XG4gIC8qIEBhbHRlcm5hdGUgKi9cbiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tbWRjLXRoZW1lLXNlY29uZGFyeSwgIzAxODc4Nik7XG59XG5cbi5tZGMtY2hlY2tib3gubWRjLWNoZWNrYm94LS1zZWxlY3RlZCAubWRjLWNoZWNrYm94X19yaXBwbGU6OmJlZm9yZSwgLm1kYy1jaGVja2JveC5tZGMtY2hlY2tib3gtLXNlbGVjdGVkIC5tZGMtY2hlY2tib3hfX3JpcHBsZTo6YWZ0ZXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDE4Nzg2O1xuICAvKiBAYWx0ZXJuYXRlICovXG4gIGJhY2tncm91bmQtY29sb3I6IHZhcigtLW1kYy10aGVtZS1zZWNvbmRhcnksICMwMTg3ODYpO1xufVxuXG4ubWRjLWNoZWNrYm94Lm1kYy1jaGVja2JveC0tc2VsZWN0ZWQ6aG92ZXIgLm1kYy1jaGVja2JveF9fcmlwcGxlOjpiZWZvcmUge1xuICBvcGFjaXR5OiAwLjA0O1xufVxuXG4ubWRjLWNoZWNrYm94Lm1kYy1jaGVja2JveC0tc2VsZWN0ZWQubWRjLXJpcHBsZS11cGdyYWRlZC0tYmFja2dyb3VuZC1mb2N1c2VkIC5tZGMtY2hlY2tib3hfX3JpcHBsZTo6YmVmb3JlLCAubWRjLWNoZWNrYm94Lm1kYy1jaGVja2JveC0tc2VsZWN0ZWQ6bm90KC5tZGMtcmlwcGxlLXVwZ3JhZGVkKTpmb2N1cyAubWRjLWNoZWNrYm94X19yaXBwbGU6OmJlZm9yZSB7XG4gIHRyYW5zaXRpb24tZHVyYXRpb246IDc1bXM7XG4gIG9wYWNpdHk6IDAuMTI7XG59XG5cbi5tZGMtY2hlY2tib3gubWRjLWNoZWNrYm94LS1zZWxlY3RlZDpub3QoLm1kYy1yaXBwbGUtdXBncmFkZWQpIC5tZGMtY2hlY2tib3hfX3JpcHBsZTo6YWZ0ZXIge1xuICB0cmFuc2l0aW9uOiBvcGFjaXR5IDE1MG1zIGxpbmVhcjtcbn1cblxuLm1kYy1jaGVja2JveC5tZGMtY2hlY2tib3gtLXNlbGVjdGVkOm5vdCgubWRjLXJpcHBsZS11cGdyYWRlZCk6YWN0aXZlIC5tZGMtY2hlY2tib3hfX3JpcHBsZTo6YWZ0ZXIge1xuICB0cmFuc2l0aW9uLWR1cmF0aW9uOiA3NW1zO1xuICBvcGFjaXR5OiAwLjEyO1xufVxuXG4ubWRjLWNoZWNrYm94Lm1kYy1jaGVja2JveC0tc2VsZWN0ZWQubWRjLXJpcHBsZS11cGdyYWRlZCB7XG4gIC0tbWRjLXJpcHBsZS1mZy1vcGFjaXR5OiAwLjEyO1xufVxuXG4ubWRjLWNoZWNrYm94Lm1kYy1yaXBwbGUtdXBncmFkZWQtLWJhY2tncm91bmQtZm9jdXNlZC5tZGMtY2hlY2tib3gtLXNlbGVjdGVkIC5tZGMtY2hlY2tib3hfX3JpcHBsZTo6YmVmb3JlLFxuLm1kYy1jaGVja2JveC5tZGMtcmlwcGxlLXVwZ3JhZGVkLS1iYWNrZ3JvdW5kLWZvY3VzZWQubWRjLWNoZWNrYm94LS1zZWxlY3RlZCAubWRjLWNoZWNrYm94X19yaXBwbGU6OmFmdGVyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzAxODc4NjtcbiAgLyogQGFsdGVybmF0ZSAqL1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1tZGMtdGhlbWUtc2Vjb25kYXJ5LCAjMDE4Nzg2KTtcbn1cblxuLm1kYy1jaGVja2JveCAubWRjLWNoZWNrYm94X19iYWNrZ3JvdW5kIHtcbiAgdG9wOiAxMXB4O1xuICBsZWZ0OiAxMXB4O1xufVxuXG4ubWRjLWNoZWNrYm94IC5tZGMtY2hlY2tib3hfX2JhY2tncm91bmQ6OmJlZm9yZSB7XG4gIHRvcDogLTEzcHg7XG4gIGxlZnQ6IC0xM3B4O1xuICB3aWR0aDogNDBweDtcbiAgaGVpZ2h0OiA0MHB4O1xufVxuXG4ubWRjLWNoZWNrYm94IC5tZGMtY2hlY2tib3hfX25hdGl2ZS1jb250cm9sIHtcbiAgdG9wOiAwcHg7XG4gIHJpZ2h0OiAwcHg7XG4gIGxlZnQ6IDBweDtcbiAgd2lkdGg6IDQwcHg7XG4gIGhlaWdodDogNDBweDtcbn1cblxuLm1kYy1jaGVja2JveF9fbmF0aXZlLWNvbnRyb2w6ZW5hYmxlZDpub3QoOmNoZWNrZWQpOm5vdCg6aW5kZXRlcm1pbmF0ZSk6bm90KFtkYXRhLWluZGV0ZXJtaW5hdGU9dHJ1ZV0pIH4gLm1kYy1jaGVja2JveF9fYmFja2dyb3VuZCB7XG4gIGJvcmRlci1jb2xvcjogcmdiYSgwLCAwLCAwLCAwLjU0KTtcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG59XG5cbi5tZGMtY2hlY2tib3hfX25hdGl2ZS1jb250cm9sOmVuYWJsZWQ6Y2hlY2tlZCB+IC5tZGMtY2hlY2tib3hfX2JhY2tncm91bmQsXG4ubWRjLWNoZWNrYm94X19uYXRpdmUtY29udHJvbDplbmFibGVkOmluZGV0ZXJtaW5hdGUgfiAubWRjLWNoZWNrYm94X19iYWNrZ3JvdW5kLFxuLm1kYy1jaGVja2JveF9fbmF0aXZlLWNvbnRyb2xbZGF0YS1pbmRldGVybWluYXRlPXRydWVdOmVuYWJsZWQgfiAubWRjLWNoZWNrYm94X19iYWNrZ3JvdW5kIHtcbiAgYm9yZGVyLWNvbG9yOiAjMDE4Nzg2O1xuICAvKiBAYWx0ZXJuYXRlICovXG4gIGJvcmRlci1jb2xvcjogdmFyKC0tbWRjLXRoZW1lLXNlY29uZGFyeSwgIzAxODc4Nik7XG4gIGJhY2tncm91bmQtY29sb3I6ICMwMTg3ODY7XG4gIC8qIEBhbHRlcm5hdGUgKi9cbiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tbWRjLXRoZW1lLXNlY29uZGFyeSwgIzAxODc4Nik7XG59XG5cbkBrZXlmcmFtZXMgbWRjLWNoZWNrYm94LWZhZGUtaW4tYmFja2dyb3VuZC04QTAwMDAwMHNlY29uZGFyeTAwMDAwMDAwc2Vjb25kYXJ5IHtcbiAgMCUge1xuICAgIGJvcmRlci1jb2xvcjogcmdiYSgwLCAwLCAwLCAwLjU0KTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgfVxuICA1MCUge1xuICAgIGJvcmRlci1jb2xvcjogIzAxODc4NjtcbiAgICAvKiBAYWx0ZXJuYXRlICovXG4gICAgYm9yZGVyLWNvbG9yOiB2YXIoLS1tZGMtdGhlbWUtc2Vjb25kYXJ5LCAjMDE4Nzg2KTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDE4Nzg2O1xuICAgIC8qIEBhbHRlcm5hdGUgKi9cbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1tZGMtdGhlbWUtc2Vjb25kYXJ5LCAjMDE4Nzg2KTtcbiAgfVxufVxuQGtleWZyYW1lcyBtZGMtY2hlY2tib3gtZmFkZS1vdXQtYmFja2dyb3VuZC04QTAwMDAwMHNlY29uZGFyeTAwMDAwMDAwc2Vjb25kYXJ5IHtcbiAgMCUsIDgwJSB7XG4gICAgYm9yZGVyLWNvbG9yOiAjMDE4Nzg2O1xuICAgIC8qIEBhbHRlcm5hdGUgKi9cbiAgICBib3JkZXItY29sb3I6IHZhcigtLW1kYy10aGVtZS1zZWNvbmRhcnksICMwMTg3ODYpO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICMwMTg3ODY7XG4gICAgLyogQGFsdGVybmF0ZSAqL1xuICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLW1kYy10aGVtZS1zZWNvbmRhcnksICMwMTg3ODYpO1xuICB9XG4gIDEwMCUge1xuICAgIGJvcmRlci1jb2xvcjogcmdiYSgwLCAwLCAwLCAwLjU0KTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgfVxufVxuLm1kYy1jaGVja2JveC0tYW5pbS11bmNoZWNrZWQtY2hlY2tlZCAubWRjLWNoZWNrYm94X19uYXRpdmUtY29udHJvbDplbmFibGVkIH4gLm1kYy1jaGVja2JveF9fYmFja2dyb3VuZCwgLm1kYy1jaGVja2JveC0tYW5pbS11bmNoZWNrZWQtaW5kZXRlcm1pbmF0ZSAubWRjLWNoZWNrYm94X19uYXRpdmUtY29udHJvbDplbmFibGVkIH4gLm1kYy1jaGVja2JveF9fYmFja2dyb3VuZCB7XG4gIGFuaW1hdGlvbi1uYW1lOiBtZGMtY2hlY2tib3gtZmFkZS1pbi1iYWNrZ3JvdW5kLThBMDAwMDAwc2Vjb25kYXJ5MDAwMDAwMDBzZWNvbmRhcnk7XG59XG5cbi5tZGMtY2hlY2tib3gtLWFuaW0tY2hlY2tlZC11bmNoZWNrZWQgLm1kYy1jaGVja2JveF9fbmF0aXZlLWNvbnRyb2w6ZW5hYmxlZCB+IC5tZGMtY2hlY2tib3hfX2JhY2tncm91bmQsIC5tZGMtY2hlY2tib3gtLWFuaW0taW5kZXRlcm1pbmF0ZS11bmNoZWNrZWQgLm1kYy1jaGVja2JveF9fbmF0aXZlLWNvbnRyb2w6ZW5hYmxlZCB+IC5tZGMtY2hlY2tib3hfX2JhY2tncm91bmQge1xuICBhbmltYXRpb24tbmFtZTogbWRjLWNoZWNrYm94LWZhZGUtb3V0LWJhY2tncm91bmQtOEEwMDAwMDBzZWNvbmRhcnkwMDAwMDAwMHNlY29uZGFyeTtcbn1cblxuLm1kYy1jaGVja2JveF9fbmF0aXZlLWNvbnRyb2xbZGlzYWJsZWRdOm5vdCg6Y2hlY2tlZCk6bm90KDppbmRldGVybWluYXRlKTpub3QoW2RhdGEtaW5kZXRlcm1pbmF0ZT10cnVlXSkgfiAubWRjLWNoZWNrYm94X19iYWNrZ3JvdW5kIHtcbiAgYm9yZGVyLWNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuMzgpO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbn1cblxuLm1kYy1jaGVja2JveF9fbmF0aXZlLWNvbnRyb2xbZGlzYWJsZWRdOmNoZWNrZWQgfiAubWRjLWNoZWNrYm94X19iYWNrZ3JvdW5kLFxuLm1kYy1jaGVja2JveF9fbmF0aXZlLWNvbnRyb2xbZGlzYWJsZWRdOmluZGV0ZXJtaW5hdGUgfiAubWRjLWNoZWNrYm94X19iYWNrZ3JvdW5kLFxuLm1kYy1jaGVja2JveF9fbmF0aXZlLWNvbnRyb2xbZGF0YS1pbmRldGVybWluYXRlPXRydWVdW2Rpc2FibGVkXSB+IC5tZGMtY2hlY2tib3hfX2JhY2tncm91bmQge1xuICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuMzgpO1xufVxuXG4ubWRjLWNoZWNrYm94X19uYXRpdmUtY29udHJvbDplbmFibGVkIH4gLm1kYy1jaGVja2JveF9fYmFja2dyb3VuZCAubWRjLWNoZWNrYm94X19jaGVja21hcmsge1xuICBjb2xvcjogI2ZmZjtcbn1cblxuLm1kYy1jaGVja2JveF9fbmF0aXZlLWNvbnRyb2w6ZW5hYmxlZCB+IC5tZGMtY2hlY2tib3hfX2JhY2tncm91bmQgLm1kYy1jaGVja2JveF9fbWl4ZWRtYXJrIHtcbiAgYm9yZGVyLWNvbG9yOiAjZmZmO1xufVxuXG4ubWRjLWNoZWNrYm94X19uYXRpdmUtY29udHJvbDpkaXNhYmxlZCB+IC5tZGMtY2hlY2tib3hfX2JhY2tncm91bmQgLm1kYy1jaGVja2JveF9fY2hlY2ttYXJrIHtcbiAgY29sb3I6ICNmZmY7XG59XG5cbi5tZGMtY2hlY2tib3hfX25hdGl2ZS1jb250cm9sOmRpc2FibGVkIH4gLm1kYy1jaGVja2JveF9fYmFja2dyb3VuZCAubWRjLWNoZWNrYm94X19taXhlZG1hcmsge1xuICBib3JkZXItY29sb3I6ICNmZmY7XG59XG5cbkBtZWRpYSBzY3JlZW4gYW5kICgtbXMtaGlnaC1jb250cmFzdDogYWN0aXZlKSB7XG4gIC5tZGMtY2hlY2tib3hfX25hdGl2ZS1jb250cm9sW2Rpc2FibGVkXTpub3QoOmNoZWNrZWQpOm5vdCg6aW5kZXRlcm1pbmF0ZSk6bm90KFtkYXRhLWluZGV0ZXJtaW5hdGU9dHJ1ZV0pIH4gLm1kYy1jaGVja2JveF9fYmFja2dyb3VuZCB7XG4gICAgYm9yZGVyLWNvbG9yOiBHcmF5VGV4dDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgfVxuICAubWRjLWNoZWNrYm94X19uYXRpdmUtY29udHJvbFtkaXNhYmxlZF06Y2hlY2tlZCB+IC5tZGMtY2hlY2tib3hfX2JhY2tncm91bmQsXG4gIC5tZGMtY2hlY2tib3hfX25hdGl2ZS1jb250cm9sW2Rpc2FibGVkXTppbmRldGVybWluYXRlIH4gLm1kYy1jaGVja2JveF9fYmFja2dyb3VuZCxcbiAgLm1kYy1jaGVja2JveF9fbmF0aXZlLWNvbnRyb2xbZGF0YS1pbmRldGVybWluYXRlPXRydWVdW2Rpc2FibGVkXSB+IC5tZGMtY2hlY2tib3hfX2JhY2tncm91bmQge1xuICAgIGJvcmRlci1jb2xvcjogR3JheVRleHQ7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIH1cbiAgLm1kYy1jaGVja2JveF9fbmF0aXZlLWNvbnRyb2w6ZGlzYWJsZWQgfiAubWRjLWNoZWNrYm94X19iYWNrZ3JvdW5kIC5tZGMtY2hlY2tib3hfX2NoZWNrbWFyayB7XG4gICAgY29sb3I6IEdyYXlUZXh0O1xuICB9XG4gIC5tZGMtY2hlY2tib3hfX25hdGl2ZS1jb250cm9sOmRpc2FibGVkIH4gLm1kYy1jaGVja2JveF9fYmFja2dyb3VuZCAubWRjLWNoZWNrYm94X19taXhlZG1hcmsge1xuICAgIGJvcmRlci1jb2xvcjogR3JheVRleHQ7XG4gIH1cbiAgLm1kYy1jaGVja2JveF9fbWl4ZWRtYXJrIHtcbiAgICBtYXJnaW46IDAgMXB4O1xuICB9XG59XG4ubWRjLWNoZWNrYm94LS1kaXNhYmxlZCB7XG4gIGN1cnNvcjogZGVmYXVsdDtcbiAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG59XG5cbi5tZGMtY2hlY2tib3hfX2JhY2tncm91bmQge1xuICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgd2lkdGg6IDE4cHg7XG4gIGhlaWdodDogMThweDtcbiAgYm9yZGVyOiAycHggc29saWQgY3VycmVudENvbG9yO1xuICBib3JkZXItcmFkaXVzOiAycHg7XG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgd2lsbC1jaGFuZ2U6IGJhY2tncm91bmQtY29sb3IsIGJvcmRlci1jb2xvcjtcbiAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciA5MG1zIDBtcyBjdWJpYy1iZXppZXIoMC40LCAwLCAwLjYsIDEpLCBib3JkZXItY29sb3IgOTBtcyAwbXMgY3ViaWMtYmV6aWVyKDAuNCwgMCwgMC42LCAxKTtcbn1cblxuLm1kYy1jaGVja2JveF9fYmFja2dyb3VuZCAubWRjLWNoZWNrYm94X19iYWNrZ3JvdW5kOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDAwO1xuICAvKiBAYWx0ZXJuYXRlICovXG4gIGJhY2tncm91bmQtY29sb3I6IHZhcigtLW1kYy10aGVtZS1vbi1zdXJmYWNlLCAjMDAwKTtcbn1cblxuLm1kYy1jaGVja2JveF9fY2hlY2ttYXJrIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDA7XG4gIHJpZ2h0OiAwO1xuICBib3R0b206IDA7XG4gIGxlZnQ6IDA7XG4gIHdpZHRoOiAxMDAlO1xuICBvcGFjaXR5OiAwO1xuICB0cmFuc2l0aW9uOiBvcGFjaXR5IDE4MG1zIDBtcyBjdWJpYy1iZXppZXIoMC40LCAwLCAwLjYsIDEpO1xufVxuXG4ubWRjLWNoZWNrYm94LS11cGdyYWRlZCAubWRjLWNoZWNrYm94X19jaGVja21hcmsge1xuICBvcGFjaXR5OiAxO1xufVxuXG4ubWRjLWNoZWNrYm94X19jaGVja21hcmstcGF0aCB7XG4gIHRyYW5zaXRpb246IHN0cm9rZS1kYXNob2Zmc2V0IDE4MG1zIDBtcyBjdWJpYy1iZXppZXIoMC40LCAwLCAwLjYsIDEpO1xuICBzdHJva2U6IGN1cnJlbnRDb2xvcjtcbiAgc3Ryb2tlLXdpZHRoOiAzLjEycHg7XG4gIHN0cm9rZS1kYXNob2Zmc2V0OiAyOS43ODMzMzg1O1xuICBzdHJva2UtZGFzaGFycmF5OiAyOS43ODMzMzg1O1xufVxuXG4ubWRjLWNoZWNrYm94X19taXhlZG1hcmsge1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAwO1xuICB0cmFuc2Zvcm06IHNjYWxlWCgwKSByb3RhdGUoMGRlZyk7XG4gIGJvcmRlci13aWR0aDogMXB4O1xuICBib3JkZXItc3R5bGU6IHNvbGlkO1xuICBvcGFjaXR5OiAwO1xuICB0cmFuc2l0aW9uOiBvcGFjaXR5IDkwbXMgMG1zIGN1YmljLWJlemllcigwLjQsIDAsIDAuNiwgMSksIHRyYW5zZm9ybSA5MG1zIDBtcyBjdWJpYy1iZXppZXIoMC40LCAwLCAwLjYsIDEpO1xufVxuXG4ubWRjLWNoZWNrYm94LS11cGdyYWRlZCAubWRjLWNoZWNrYm94X19iYWNrZ3JvdW5kLFxuLm1kYy1jaGVja2JveC0tdXBncmFkZWQgLm1kYy1jaGVja2JveF9fY2hlY2ttYXJrLFxuLm1kYy1jaGVja2JveC0tdXBncmFkZWQgLm1kYy1jaGVja2JveF9fY2hlY2ttYXJrLXBhdGgsXG4ubWRjLWNoZWNrYm94LS11cGdyYWRlZCAubWRjLWNoZWNrYm94X19taXhlZG1hcmsge1xuICB0cmFuc2l0aW9uOiBub25lICFpbXBvcnRhbnQ7XG59XG5cbi5tZGMtY2hlY2tib3gtLWFuaW0tdW5jaGVja2VkLWNoZWNrZWQgLm1kYy1jaGVja2JveF9fYmFja2dyb3VuZCwgLm1kYy1jaGVja2JveC0tYW5pbS11bmNoZWNrZWQtaW5kZXRlcm1pbmF0ZSAubWRjLWNoZWNrYm94X19iYWNrZ3JvdW5kLCAubWRjLWNoZWNrYm94LS1hbmltLWNoZWNrZWQtdW5jaGVja2VkIC5tZGMtY2hlY2tib3hfX2JhY2tncm91bmQsIC5tZGMtY2hlY2tib3gtLWFuaW0taW5kZXRlcm1pbmF0ZS11bmNoZWNrZWQgLm1kYy1jaGVja2JveF9fYmFja2dyb3VuZCB7XG4gIGFuaW1hdGlvbi1kdXJhdGlvbjogMTgwbXM7XG4gIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGxpbmVhcjtcbn1cblxuLm1kYy1jaGVja2JveC0tYW5pbS11bmNoZWNrZWQtY2hlY2tlZCAubWRjLWNoZWNrYm94X19jaGVja21hcmstcGF0aCB7XG4gIGFuaW1hdGlvbjogbWRjLWNoZWNrYm94LXVuY2hlY2tlZC1jaGVja2VkLWNoZWNrbWFyay1wYXRoIDE4MG1zIGxpbmVhciAwcztcbiAgdHJhbnNpdGlvbjogbm9uZTtcbn1cblxuLm1kYy1jaGVja2JveC0tYW5pbS11bmNoZWNrZWQtaW5kZXRlcm1pbmF0ZSAubWRjLWNoZWNrYm94X19taXhlZG1hcmsge1xuICBhbmltYXRpb246IG1kYy1jaGVja2JveC11bmNoZWNrZWQtaW5kZXRlcm1pbmF0ZS1taXhlZG1hcmsgOTBtcyBsaW5lYXIgMHM7XG4gIHRyYW5zaXRpb246IG5vbmU7XG59XG5cbi5tZGMtY2hlY2tib3gtLWFuaW0tY2hlY2tlZC11bmNoZWNrZWQgLm1kYy1jaGVja2JveF9fY2hlY2ttYXJrLXBhdGgge1xuICBhbmltYXRpb246IG1kYy1jaGVja2JveC1jaGVja2VkLXVuY2hlY2tlZC1jaGVja21hcmstcGF0aCA5MG1zIGxpbmVhciAwcztcbiAgdHJhbnNpdGlvbjogbm9uZTtcbn1cblxuLm1kYy1jaGVja2JveC0tYW5pbS1jaGVja2VkLWluZGV0ZXJtaW5hdGUgLm1kYy1jaGVja2JveF9fY2hlY2ttYXJrIHtcbiAgYW5pbWF0aW9uOiBtZGMtY2hlY2tib3gtY2hlY2tlZC1pbmRldGVybWluYXRlLWNoZWNrbWFyayA5MG1zIGxpbmVhciAwcztcbiAgdHJhbnNpdGlvbjogbm9uZTtcbn1cblxuLm1kYy1jaGVja2JveC0tYW5pbS1jaGVja2VkLWluZGV0ZXJtaW5hdGUgLm1kYy1jaGVja2JveF9fbWl4ZWRtYXJrIHtcbiAgYW5pbWF0aW9uOiBtZGMtY2hlY2tib3gtY2hlY2tlZC1pbmRldGVybWluYXRlLW1peGVkbWFyayA5MG1zIGxpbmVhciAwcztcbiAgdHJhbnNpdGlvbjogbm9uZTtcbn1cblxuLm1kYy1jaGVja2JveC0tYW5pbS1pbmRldGVybWluYXRlLWNoZWNrZWQgLm1kYy1jaGVja2JveF9fY2hlY2ttYXJrIHtcbiAgYW5pbWF0aW9uOiBtZGMtY2hlY2tib3gtaW5kZXRlcm1pbmF0ZS1jaGVja2VkLWNoZWNrbWFyayA1MDBtcyBsaW5lYXIgMHM7XG4gIHRyYW5zaXRpb246IG5vbmU7XG59XG5cbi5tZGMtY2hlY2tib3gtLWFuaW0taW5kZXRlcm1pbmF0ZS1jaGVja2VkIC5tZGMtY2hlY2tib3hfX21peGVkbWFyayB7XG4gIGFuaW1hdGlvbjogbWRjLWNoZWNrYm94LWluZGV0ZXJtaW5hdGUtY2hlY2tlZC1taXhlZG1hcmsgNTAwbXMgbGluZWFyIDBzO1xuICB0cmFuc2l0aW9uOiBub25lO1xufVxuXG4ubWRjLWNoZWNrYm94LS1hbmltLWluZGV0ZXJtaW5hdGUtdW5jaGVja2VkIC5tZGMtY2hlY2tib3hfX21peGVkbWFyayB7XG4gIGFuaW1hdGlvbjogbWRjLWNoZWNrYm94LWluZGV0ZXJtaW5hdGUtdW5jaGVja2VkLW1peGVkbWFyayAzMDBtcyBsaW5lYXIgMHM7XG4gIHRyYW5zaXRpb246IG5vbmU7XG59XG5cbi5tZGMtY2hlY2tib3hfX25hdGl2ZS1jb250cm9sOmNoZWNrZWQgfiAubWRjLWNoZWNrYm94X19iYWNrZ3JvdW5kLFxuLm1kYy1jaGVja2JveF9fbmF0aXZlLWNvbnRyb2w6aW5kZXRlcm1pbmF0ZSB+IC5tZGMtY2hlY2tib3hfX2JhY2tncm91bmQsXG4ubWRjLWNoZWNrYm94X19uYXRpdmUtY29udHJvbFtkYXRhLWluZGV0ZXJtaW5hdGU9dHJ1ZV0gfiAubWRjLWNoZWNrYm94X19iYWNrZ3JvdW5kIHtcbiAgdHJhbnNpdGlvbjogYm9yZGVyLWNvbG9yIDkwbXMgMG1zIGN1YmljLWJlemllcigwLCAwLCAwLjIsIDEpLCBiYWNrZ3JvdW5kLWNvbG9yIDkwbXMgMG1zIGN1YmljLWJlemllcigwLCAwLCAwLjIsIDEpO1xufVxuXG4ubWRjLWNoZWNrYm94X19uYXRpdmUtY29udHJvbDpjaGVja2VkIH4gLm1kYy1jaGVja2JveF9fYmFja2dyb3VuZCAubWRjLWNoZWNrYm94X19jaGVja21hcmstcGF0aCxcbi5tZGMtY2hlY2tib3hfX25hdGl2ZS1jb250cm9sOmluZGV0ZXJtaW5hdGUgfiAubWRjLWNoZWNrYm94X19iYWNrZ3JvdW5kIC5tZGMtY2hlY2tib3hfX2NoZWNrbWFyay1wYXRoLFxuLm1kYy1jaGVja2JveF9fbmF0aXZlLWNvbnRyb2xbZGF0YS1pbmRldGVybWluYXRlPXRydWVdIH4gLm1kYy1jaGVja2JveF9fYmFja2dyb3VuZCAubWRjLWNoZWNrYm94X19jaGVja21hcmstcGF0aCB7XG4gIHN0cm9rZS1kYXNob2Zmc2V0OiAwO1xufVxuXG4ubWRjLWNoZWNrYm94X19iYWNrZ3JvdW5kOjpiZWZvcmUge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRyYW5zZm9ybTogc2NhbGUoMCwgMCk7XG4gIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgb3BhY2l0eTogMDtcbiAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gIGNvbnRlbnQ6IFwiXCI7XG4gIHdpbGwtY2hhbmdlOiBvcGFjaXR5LCB0cmFuc2Zvcm07XG4gIHRyYW5zaXRpb246IG9wYWNpdHkgOTBtcyAwbXMgY3ViaWMtYmV6aWVyKDAuNCwgMCwgMC42LCAxKSwgdHJhbnNmb3JtIDkwbXMgMG1zIGN1YmljLWJlemllcigwLjQsIDAsIDAuNiwgMSk7XG59XG5cbi5tZGMtY2hlY2tib3hfX25hdGl2ZS1jb250cm9sOmZvY3VzIH4gLm1kYy1jaGVja2JveF9fYmFja2dyb3VuZDo6YmVmb3JlIHtcbiAgdHJhbnNmb3JtOiBzY2FsZSgxKTtcbiAgb3BhY2l0eTogMC4xMjtcbiAgdHJhbnNpdGlvbjogb3BhY2l0eSA4MG1zIDBtcyBjdWJpYy1iZXppZXIoMCwgMCwgMC4yLCAxKSwgdHJhbnNmb3JtIDgwbXMgMG1zIGN1YmljLWJlemllcigwLCAwLCAwLjIsIDEpO1xufVxuXG4ubWRjLWNoZWNrYm94X19uYXRpdmUtY29udHJvbCB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgbWFyZ2luOiAwO1xuICBwYWRkaW5nOiAwO1xuICBvcGFjaXR5OiAwO1xuICBjdXJzb3I6IGluaGVyaXQ7XG59XG5cbi5tZGMtY2hlY2tib3hfX25hdGl2ZS1jb250cm9sOmRpc2FibGVkIHtcbiAgY3Vyc29yOiBkZWZhdWx0O1xuICBwb2ludGVyLWV2ZW50czogbm9uZTtcbn1cblxuLm1kYy1jaGVja2JveC0tdG91Y2gge1xuICBtYXJnaW4tdG9wOiA0cHg7XG4gIG1hcmdpbi1ib3R0b206IDRweDtcbiAgbWFyZ2luLXJpZ2h0OiA0cHg7XG4gIG1hcmdpbi1sZWZ0OiA0cHg7XG59XG5cbi5tZGMtY2hlY2tib3gtLXRvdWNoIC5tZGMtY2hlY2tib3hfX25hdGl2ZS1jb250cm9sIHtcbiAgdG9wOiAtNHB4O1xuICByaWdodDogLTRweDtcbiAgbGVmdDogLTRweDtcbiAgd2lkdGg6IDQ4cHg7XG4gIGhlaWdodDogNDhweDtcbn1cblxuLm1kYy1jaGVja2JveF9fbmF0aXZlLWNvbnRyb2w6Y2hlY2tlZCB+IC5tZGMtY2hlY2tib3hfX2JhY2tncm91bmQgLm1kYy1jaGVja2JveF9fY2hlY2ttYXJrIHtcbiAgdHJhbnNpdGlvbjogb3BhY2l0eSAxODBtcyAwbXMgY3ViaWMtYmV6aWVyKDAsIDAsIDAuMiwgMSksIHRyYW5zZm9ybSAxODBtcyAwbXMgY3ViaWMtYmV6aWVyKDAsIDAsIDAuMiwgMSk7XG4gIG9wYWNpdHk6IDE7XG59XG5cbi5tZGMtY2hlY2tib3hfX25hdGl2ZS1jb250cm9sOmNoZWNrZWQgfiAubWRjLWNoZWNrYm94X19iYWNrZ3JvdW5kIC5tZGMtY2hlY2tib3hfX21peGVkbWFyayB7XG4gIHRyYW5zZm9ybTogc2NhbGVYKDEpIHJvdGF0ZSgtNDVkZWcpO1xufVxuXG4ubWRjLWNoZWNrYm94X19uYXRpdmUtY29udHJvbDppbmRldGVybWluYXRlIH4gLm1kYy1jaGVja2JveF9fYmFja2dyb3VuZCAubWRjLWNoZWNrYm94X19jaGVja21hcmssXG4ubWRjLWNoZWNrYm94X19uYXRpdmUtY29udHJvbFtkYXRhLWluZGV0ZXJtaW5hdGU9dHJ1ZV0gfiAubWRjLWNoZWNrYm94X19iYWNrZ3JvdW5kIC5tZGMtY2hlY2tib3hfX2NoZWNrbWFyayB7XG4gIHRyYW5zZm9ybTogcm90YXRlKDQ1ZGVnKTtcbiAgb3BhY2l0eTogMDtcbiAgdHJhbnNpdGlvbjogb3BhY2l0eSA5MG1zIDBtcyBjdWJpYy1iZXppZXIoMC40LCAwLCAwLjYsIDEpLCB0cmFuc2Zvcm0gOTBtcyAwbXMgY3ViaWMtYmV6aWVyKDAuNCwgMCwgMC42LCAxKTtcbn1cblxuLm1kYy1jaGVja2JveF9fbmF0aXZlLWNvbnRyb2w6aW5kZXRlcm1pbmF0ZSB+IC5tZGMtY2hlY2tib3hfX2JhY2tncm91bmQgLm1kYy1jaGVja2JveF9fbWl4ZWRtYXJrLFxuLm1kYy1jaGVja2JveF9fbmF0aXZlLWNvbnRyb2xbZGF0YS1pbmRldGVybWluYXRlPXRydWVdIH4gLm1kYy1jaGVja2JveF9fYmFja2dyb3VuZCAubWRjLWNoZWNrYm94X19taXhlZG1hcmsge1xuICB0cmFuc2Zvcm06IHNjYWxlWCgxKSByb3RhdGUoMGRlZyk7XG4gIG9wYWNpdHk6IDE7XG59XG5cbkBrZXlmcmFtZXMgbWRjLXJpcHBsZS1mZy1yYWRpdXMtaW4ge1xuICBmcm9tIHtcbiAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC40LCAwLCAwLjIsIDEpO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKHZhcigtLW1kYy1yaXBwbGUtZmctdHJhbnNsYXRlLXN0YXJ0LCAwKSkgc2NhbGUoMSk7XG4gIH1cbiAgdG8ge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKHZhcigtLW1kYy1yaXBwbGUtZmctdHJhbnNsYXRlLWVuZCwgMCkpIHNjYWxlKHZhcigtLW1kYy1yaXBwbGUtZmctc2NhbGUsIDEpKTtcbiAgfVxufVxuQGtleWZyYW1lcyBtZGMtcmlwcGxlLWZnLW9wYWNpdHktaW4ge1xuICBmcm9tIHtcbiAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBsaW5lYXI7XG4gICAgb3BhY2l0eTogMDtcbiAgfVxuICB0byB7XG4gICAgb3BhY2l0eTogdmFyKC0tbWRjLXJpcHBsZS1mZy1vcGFjaXR5LCAwKTtcbiAgfVxufVxuQGtleWZyYW1lcyBtZGMtcmlwcGxlLWZnLW9wYWNpdHktb3V0IHtcbiAgZnJvbSB7XG4gICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogbGluZWFyO1xuICAgIG9wYWNpdHk6IHZhcigtLW1kYy1yaXBwbGUtZmctb3BhY2l0eSwgMCk7XG4gIH1cbiAgdG8ge1xuICAgIG9wYWNpdHk6IDA7XG4gIH1cbn1cbi5tZGMtY2hlY2tib3gge1xuICAtLW1kYy1yaXBwbGUtZmctc2l6ZTogMDtcbiAgLS1tZGMtcmlwcGxlLWxlZnQ6IDA7XG4gIC0tbWRjLXJpcHBsZS10b3A6IDA7XG4gIC0tbWRjLXJpcHBsZS1mZy1zY2FsZTogMTtcbiAgLS1tZGMtcmlwcGxlLWZnLXRyYW5zbGF0ZS1lbmQ6IDA7XG4gIC0tbWRjLXJpcHBsZS1mZy10cmFuc2xhdGUtc3RhcnQ6IDA7XG4gIC13ZWJraXQtdGFwLWhpZ2hsaWdodC1jb2xvcjogcmdiYSgwLCAwLCAwLCAwKTtcbn1cblxuLm1kYy1jaGVja2JveCAubWRjLWNoZWNrYm94X19yaXBwbGU6OmJlZm9yZSxcbi5tZGMtY2hlY2tib3ggLm1kYy1jaGVja2JveF9fcmlwcGxlOjphZnRlciB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgYm9yZGVyLXJhZGl1czogNTAlO1xuICBvcGFjaXR5OiAwO1xuICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgY29udGVudDogXCJcIjtcbn1cblxuLm1kYy1jaGVja2JveCAubWRjLWNoZWNrYm94X19yaXBwbGU6OmJlZm9yZSB7XG4gIHRyYW5zaXRpb246IG9wYWNpdHkgMTVtcyBsaW5lYXIsIGJhY2tncm91bmQtY29sb3IgMTVtcyBsaW5lYXI7XG4gIHotaW5kZXg6IDE7XG59XG5cbi5tZGMtY2hlY2tib3gubWRjLXJpcHBsZS11cGdyYWRlZCAubWRjLWNoZWNrYm94X19yaXBwbGU6OmJlZm9yZSB7XG4gIHRyYW5zZm9ybTogc2NhbGUodmFyKC0tbWRjLXJpcHBsZS1mZy1zY2FsZSwgMSkpO1xufVxuXG4ubWRjLWNoZWNrYm94Lm1kYy1yaXBwbGUtdXBncmFkZWQgLm1kYy1jaGVja2JveF9fcmlwcGxlOjphZnRlciB7XG4gIHRvcDogMDtcbiAgLyogQG5vZmxpcCAqL1xuICBsZWZ0OiAwO1xuICB0cmFuc2Zvcm06IHNjYWxlKDApO1xuICB0cmFuc2Zvcm0tb3JpZ2luOiBjZW50ZXIgY2VudGVyO1xufVxuXG4ubWRjLWNoZWNrYm94Lm1kYy1yaXBwbGUtdXBncmFkZWQtLXVuYm91bmRlZCAubWRjLWNoZWNrYm94X19yaXBwbGU6OmFmdGVyIHtcbiAgdG9wOiB2YXIoLS1tZGMtcmlwcGxlLXRvcCwgMCk7XG4gIC8qIEBub2ZsaXAgKi9cbiAgbGVmdDogdmFyKC0tbWRjLXJpcHBsZS1sZWZ0LCAwKTtcbn1cblxuLm1kYy1jaGVja2JveC5tZGMtcmlwcGxlLXVwZ3JhZGVkLS1mb3JlZ3JvdW5kLWFjdGl2YXRpb24gLm1kYy1jaGVja2JveF9fcmlwcGxlOjphZnRlciB7XG4gIGFuaW1hdGlvbjogbWRjLXJpcHBsZS1mZy1yYWRpdXMtaW4gMjI1bXMgZm9yd2FyZHMsIG1kYy1yaXBwbGUtZmctb3BhY2l0eS1pbiA3NW1zIGZvcndhcmRzO1xufVxuXG4ubWRjLWNoZWNrYm94Lm1kYy1yaXBwbGUtdXBncmFkZWQtLWZvcmVncm91bmQtZGVhY3RpdmF0aW9uIC5tZGMtY2hlY2tib3hfX3JpcHBsZTo6YWZ0ZXIge1xuICBhbmltYXRpb246IG1kYy1yaXBwbGUtZmctb3BhY2l0eS1vdXQgMTUwbXM7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlKHZhcigtLW1kYy1yaXBwbGUtZmctdHJhbnNsYXRlLWVuZCwgMCkpIHNjYWxlKHZhcigtLW1kYy1yaXBwbGUtZmctc2NhbGUsIDEpKTtcbn1cblxuLm1kYy1jaGVja2JveCAubWRjLWNoZWNrYm94X19yaXBwbGU6OmJlZm9yZSwgLm1kYy1jaGVja2JveCAubWRjLWNoZWNrYm94X19yaXBwbGU6OmFmdGVyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzAwMDtcbiAgLyogQGFsdGVybmF0ZSAqL1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1tZGMtdGhlbWUtb24tc3VyZmFjZSwgIzAwMCk7XG59XG5cbi5tZGMtY2hlY2tib3g6aG92ZXIgLm1kYy1jaGVja2JveF9fcmlwcGxlOjpiZWZvcmUge1xuICBvcGFjaXR5OiAwLjA0O1xufVxuXG4ubWRjLWNoZWNrYm94Lm1kYy1yaXBwbGUtdXBncmFkZWQtLWJhY2tncm91bmQtZm9jdXNlZCAubWRjLWNoZWNrYm94X19yaXBwbGU6OmJlZm9yZSwgLm1kYy1jaGVja2JveDpub3QoLm1kYy1yaXBwbGUtdXBncmFkZWQpOmZvY3VzIC5tZGMtY2hlY2tib3hfX3JpcHBsZTo6YmVmb3JlIHtcbiAgdHJhbnNpdGlvbi1kdXJhdGlvbjogNzVtcztcbiAgb3BhY2l0eTogMC4xMjtcbn1cblxuLm1kYy1jaGVja2JveDpub3QoLm1kYy1yaXBwbGUtdXBncmFkZWQpIC5tZGMtY2hlY2tib3hfX3JpcHBsZTo6YWZ0ZXIge1xuICB0cmFuc2l0aW9uOiBvcGFjaXR5IDE1MG1zIGxpbmVhcjtcbn1cblxuLm1kYy1jaGVja2JveDpub3QoLm1kYy1yaXBwbGUtdXBncmFkZWQpOmFjdGl2ZSAubWRjLWNoZWNrYm94X19yaXBwbGU6OmFmdGVyIHtcbiAgdHJhbnNpdGlvbi1kdXJhdGlvbjogNzVtcztcbiAgb3BhY2l0eTogMC4xMjtcbn1cblxuLm1kYy1jaGVja2JveC5tZGMtcmlwcGxlLXVwZ3JhZGVkIHtcbiAgLS1tZGMtcmlwcGxlLWZnLW9wYWNpdHk6IDAuMTI7XG59XG5cbi5tZGMtY2hlY2tib3ggLm1kYy1jaGVja2JveF9fcmlwcGxlOjpiZWZvcmUsXG4ubWRjLWNoZWNrYm94IC5tZGMtY2hlY2tib3hfX3JpcHBsZTo6YWZ0ZXIge1xuICB0b3A6IGNhbGMoNTAlIC0gNTAlKTtcbiAgLyogQG5vZmxpcCAqL1xuICBsZWZ0OiBjYWxjKDUwJSAtIDUwJSk7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDEwMCU7XG59XG5cbi5tZGMtY2hlY2tib3gubWRjLXJpcHBsZS11cGdyYWRlZCAubWRjLWNoZWNrYm94X19yaXBwbGU6OmJlZm9yZSxcbi5tZGMtY2hlY2tib3gubWRjLXJpcHBsZS11cGdyYWRlZCAubWRjLWNoZWNrYm94X19yaXBwbGU6OmFmdGVyIHtcbiAgdG9wOiB2YXIoLS1tZGMtcmlwcGxlLXRvcCwgY2FsYyg1MCUgLSA1MCUpKTtcbiAgLyogQG5vZmxpcCAqL1xuICBsZWZ0OiB2YXIoLS1tZGMtcmlwcGxlLWxlZnQsIGNhbGMoNTAlIC0gNTAlKSk7XG4gIHdpZHRoOiB2YXIoLS1tZGMtcmlwcGxlLWZnLXNpemUsIDEwMCUpO1xuICBoZWlnaHQ6IHZhcigtLW1kYy1yaXBwbGUtZmctc2l6ZSwgMTAwJSk7XG59XG5cbi5tZGMtY2hlY2tib3gubWRjLXJpcHBsZS11cGdyYWRlZCAubWRjLWNoZWNrYm94X19yaXBwbGU6OmFmdGVyIHtcbiAgd2lkdGg6IHZhcigtLW1kYy1yaXBwbGUtZmctc2l6ZSwgMTAwJSk7XG4gIGhlaWdodDogdmFyKC0tbWRjLXJpcHBsZS1mZy1zaXplLCAxMDAlKTtcbn1cblxuLm1kYy1jaGVja2JveF9fcmlwcGxlIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDA7XG4gIGxlZnQ6IDA7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDEwMCU7XG4gIHBvaW50ZXItZXZlbnRzOiBub25lO1xufVxuXG4ubWRjLXJpcHBsZS11cGdyYWRlZC0tYmFja2dyb3VuZC1mb2N1c2VkIC5tZGMtY2hlY2tib3hfX2JhY2tncm91bmQ6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IG5vbmU7XG59XG5cbi5tZGMtZWxldmF0aW9uLW92ZXJsYXkge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGJvcmRlci1yYWRpdXM6IGluaGVyaXQ7XG4gIG9wYWNpdHk6IDA7XG4gIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICB0cmFuc2l0aW9uOiBvcGFjaXR5IDI4MG1zIGN1YmljLWJlemllcigwLjQsIDAsIDAuMiwgMSk7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZmY7XG59XG5cbi5tZGMtZGlhbG9nLFxuLm1kYy1kaWFsb2dfX3NjcmltIHtcbiAgcG9zaXRpb246IGZpeGVkO1xuICB0b3A6IDA7XG4gIGxlZnQ6IDA7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAxMDAlO1xufVxuXG4ubWRjLWRpYWxvZyB7XG4gIGRpc3BsYXk6IG5vbmU7XG4gIHotaW5kZXg6IDc7XG59XG5cbi5tZGMtZGlhbG9nIC5tZGMtZGlhbG9nX19zdXJmYWNlIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcbiAgLyogQGFsdGVybmF0ZSAqL1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1tZGMtdGhlbWUtc3VyZmFjZSwgI2ZmZik7XG59XG5cbi5tZGMtZGlhbG9nIC5tZGMtZGlhbG9nX19zY3JpbSB7XG4gIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMCwgMCwgMCwgMC4zMik7XG59XG5cbi5tZGMtZGlhbG9nIC5tZGMtZGlhbG9nX190aXRsZSB7XG4gIGNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuODcpO1xufVxuXG4ubWRjLWRpYWxvZyAubWRjLWRpYWxvZ19fY29udGVudCB7XG4gIGNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuNik7XG59XG5cbi5tZGMtZGlhbG9nLm1kYy1kaWFsb2ctLXNjcm9sbGFibGUgLm1kYy1kaWFsb2dfX3RpdGxlLCAubWRjLWRpYWxvZy5tZGMtZGlhbG9nLS1zY3JvbGxhYmxlIC5tZGMtZGlhbG9nX19hY3Rpb25zIHtcbiAgYm9yZGVyLWNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuMTIpO1xufVxuXG4ubWRjLWRpYWxvZyAubWRjLWRpYWxvZ19fc3VyZmFjZSB7XG4gIG1pbi13aWR0aDogMjgwcHg7XG59XG5cbkBtZWRpYSAobWF4LXdpZHRoOiA1OTJweCkge1xuICAubWRjLWRpYWxvZyAubWRjLWRpYWxvZ19fc3VyZmFjZSB7XG4gICAgbWF4LXdpZHRoOiBjYWxjKDEwMHZ3IC0gMzJweCk7XG4gIH1cbn1cbkBtZWRpYSAobWluLXdpZHRoOiA1OTJweCkge1xuICAubWRjLWRpYWxvZyAubWRjLWRpYWxvZ19fc3VyZmFjZSB7XG4gICAgbWF4LXdpZHRoOiA1NjBweDtcbiAgfVxufVxuLm1kYy1kaWFsb2cgLm1kYy1kaWFsb2dfX3N1cmZhY2Uge1xuICBtYXgtaGVpZ2h0OiBjYWxjKDEwMCUgLSAzMnB4KTtcbn1cblxuQG1lZGlhIGFsbCBhbmQgKC1tcy1oaWdoLWNvbnRyYXN0OiBub25lKSwgKC1tcy1oaWdoLWNvbnRyYXN0OiBhY3RpdmUpIHtcbiAgLm1kYy1kaWFsb2cgLm1kYy1kaWFsb2dfX2NvbnRhaW5lciB7XG4gICAgLyogc3R5bGVsaW50LWRpc2FibGUgKi9cbiAgICAvKiBzdHlsZWxpbnQtZW5hYmxlKi9cbiAgfVxufVxuLm1kYy1kaWFsb2cgLm1kYy1kaWFsb2dfX3N1cmZhY2Uge1xuICBib3JkZXItcmFkaXVzOiA0cHg7XG59XG5cbi5tZGMtZGlhbG9nX19zY3JpbSB7XG4gIG9wYWNpdHk6IDA7XG4gIHotaW5kZXg6IC0xO1xufVxuXG4ubWRjLWRpYWxvZ19fY29udGFpbmVyIHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAganVzdGlmeS1jb250ZW50OiBzcGFjZS1hcm91bmQ7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gIGhlaWdodDogMTAwJTtcbiAgdHJhbnNmb3JtOiBzY2FsZSgwLjgpO1xuICBvcGFjaXR5OiAwO1xuICBwb2ludGVyLWV2ZW50czogbm9uZTtcbn1cblxuLm1kYy1kaWFsb2dfX3N1cmZhY2Uge1xuICAvKiBAYWx0ZXJuYXRlICovXG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgLyogQGFsdGVybmF0ZSAqL1xuICBib3gtc2hhZG93OiAwcHggMTFweCAxNXB4IC03cHggcmdiYSgwLCAwLCAwLCAwLjIpLCAwcHggMjRweCAzOHB4IDNweCByZ2JhKDAsIDAsIDAsIDAuMTQpLCAwcHggOXB4IDQ2cHggOHB4IHJnYmEoMCwgMCwgMCwgMC4xMik7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIGZsZXgtZ3JvdzogMDtcbiAgZmxleC1zaHJpbms6IDA7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gIG1heC13aWR0aDogMTAwJTtcbiAgbWF4LWhlaWdodDogMTAwJTtcbiAgcG9pbnRlci1ldmVudHM6IGF1dG87XG4gIG92ZXJmbG93LXk6IGF1dG87XG59XG5cbi5tZGMtZGlhbG9nX19zdXJmYWNlIC5tZGMtZWxldmF0aW9uLW92ZXJsYXkge1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAxMDAlO1xuICB0b3A6IDA7XG4gIC8qIEBub2ZsaXAgKi9cbiAgbGVmdDogMDtcbn1cblxuLm1kYy1kaWFsb2dbZGlyPXJ0bF0gLm1kYy1kaWFsb2dfX3N1cmZhY2UsIFtkaXI9cnRsXSAubWRjLWRpYWxvZyAubWRjLWRpYWxvZ19fc3VyZmFjZSB7XG4gIC8qIEBub2ZsaXAgKi9cbiAgdGV4dC1hbGlnbjogcmlnaHQ7XG59XG5cbi5tZGMtZGlhbG9nX190aXRsZSB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBtYXJnaW4tdG9wOiAwO1xuICAvKiBAYWx0ZXJuYXRlICovXG4gIGxpbmUtaGVpZ2h0OiBub3JtYWw7XG4gIC1tb3otb3N4LWZvbnQtc21vb3RoaW5nOiBncmF5c2NhbGU7XG4gIC13ZWJraXQtZm9udC1zbW9vdGhpbmc6IGFudGlhbGlhc2VkO1xuICBmb250LWZhbWlseTogUm9ib3RvLCBzYW5zLXNlcmlmO1xuICAvKiBAYWx0ZXJuYXRlICovXG4gIGZvbnQtZmFtaWx5OiB2YXIoLS1tZGMtdHlwb2dyYXBoeS1oZWFkbGluZTYtZm9udC1mYW1pbHksIHZhcigtLW1kYy10eXBvZ3JhcGh5LWZvbnQtZmFtaWx5LCBSb2JvdG8sIHNhbnMtc2VyaWYpKTtcbiAgZm9udC1zaXplOiAxLjI1cmVtO1xuICAvKiBAYWx0ZXJuYXRlICovXG4gIGZvbnQtc2l6ZTogdmFyKC0tbWRjLXR5cG9ncmFwaHktaGVhZGxpbmU2LWZvbnQtc2l6ZSwgMS4yNXJlbSk7XG4gIGxpbmUtaGVpZ2h0OiAycmVtO1xuICAvKiBAYWx0ZXJuYXRlICovXG4gIGxpbmUtaGVpZ2h0OiB2YXIoLS1tZGMtdHlwb2dyYXBoeS1oZWFkbGluZTYtbGluZS1oZWlnaHQsIDJyZW0pO1xuICBmb250LXdlaWdodDogNTAwO1xuICAvKiBAYWx0ZXJuYXRlICovXG4gIGZvbnQtd2VpZ2h0OiB2YXIoLS1tZGMtdHlwb2dyYXBoeS1oZWFkbGluZTYtZm9udC13ZWlnaHQsIDUwMCk7XG4gIGxldHRlci1zcGFjaW5nOiAwLjAxMjVlbTtcbiAgLyogQGFsdGVybmF0ZSAqL1xuICBsZXR0ZXItc3BhY2luZzogdmFyKC0tbWRjLXR5cG9ncmFwaHktaGVhZGxpbmU2LWxldHRlci1zcGFjaW5nLCAwLjAxMjVlbSk7XG4gIHRleHQtZGVjb3JhdGlvbjogaW5oZXJpdDtcbiAgLyogQGFsdGVybmF0ZSAqL1xuICB0ZXh0LWRlY29yYXRpb246IHZhcigtLW1kYy10eXBvZ3JhcGh5LWhlYWRsaW5lNi10ZXh0LWRlY29yYXRpb24sIGluaGVyaXQpO1xuICB0ZXh0LXRyYW5zZm9ybTogaW5oZXJpdDtcbiAgLyogQGFsdGVybmF0ZSAqL1xuICB0ZXh0LXRyYW5zZm9ybTogdmFyKC0tbWRjLXR5cG9ncmFwaHktaGVhZGxpbmU2LXRleHQtdHJhbnNmb3JtLCBpbmhlcml0KTtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBmbGV4LXNocmluazogMDtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgbWFyZ2luOiAwO1xuICBwYWRkaW5nOiAwIDI0cHggOXB4O1xuICBib3JkZXItYm90dG9tOiAxcHggc29saWQgdHJhbnNwYXJlbnQ7XG59XG5cbi5tZGMtZGlhbG9nX190aXRsZTo6YmVmb3JlIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB3aWR0aDogMDtcbiAgaGVpZ2h0OiA0MHB4O1xuICBjb250ZW50OiBcIlwiO1xuICB2ZXJ0aWNhbC1hbGlnbjogMDtcbn1cblxuLm1kYy1kaWFsb2dbZGlyPXJ0bF0gLm1kYy1kaWFsb2dfX3RpdGxlLCBbZGlyPXJ0bF0gLm1kYy1kaWFsb2cgLm1kYy1kaWFsb2dfX3RpdGxlIHtcbiAgLyogQG5vZmxpcCAqL1xuICB0ZXh0LWFsaWduOiByaWdodDtcbn1cblxuLm1kYy1kaWFsb2ctLXNjcm9sbGFibGUgLm1kYy1kaWFsb2dfX3RpdGxlIHtcbiAgcGFkZGluZy1ib3R0b206IDE1cHg7XG59XG5cbi5tZGMtZGlhbG9nX19jb250ZW50IHtcbiAgLW1vei1vc3gtZm9udC1zbW9vdGhpbmc6IGdyYXlzY2FsZTtcbiAgLXdlYmtpdC1mb250LXNtb290aGluZzogYW50aWFsaWFzZWQ7XG4gIGZvbnQtZmFtaWx5OiBSb2JvdG8sIHNhbnMtc2VyaWY7XG4gIC8qIEBhbHRlcm5hdGUgKi9cbiAgZm9udC1mYW1pbHk6IHZhcigtLW1kYy10eXBvZ3JhcGh5LWJvZHkxLWZvbnQtZmFtaWx5LCB2YXIoLS1tZGMtdHlwb2dyYXBoeS1mb250LWZhbWlseSwgUm9ib3RvLCBzYW5zLXNlcmlmKSk7XG4gIGZvbnQtc2l6ZTogMXJlbTtcbiAgLyogQGFsdGVybmF0ZSAqL1xuICBmb250LXNpemU6IHZhcigtLW1kYy10eXBvZ3JhcGh5LWJvZHkxLWZvbnQtc2l6ZSwgMXJlbSk7XG4gIGxpbmUtaGVpZ2h0OiAxLjVyZW07XG4gIC8qIEBhbHRlcm5hdGUgKi9cbiAgbGluZS1oZWlnaHQ6IHZhcigtLW1kYy10eXBvZ3JhcGh5LWJvZHkxLWxpbmUtaGVpZ2h0LCAxLjVyZW0pO1xuICBmb250LXdlaWdodDogNDAwO1xuICAvKiBAYWx0ZXJuYXRlICovXG4gIGZvbnQtd2VpZ2h0OiB2YXIoLS1tZGMtdHlwb2dyYXBoeS1ib2R5MS1mb250LXdlaWdodCwgNDAwKTtcbiAgbGV0dGVyLXNwYWNpbmc6IDAuMDMxMjVlbTtcbiAgLyogQGFsdGVybmF0ZSAqL1xuICBsZXR0ZXItc3BhY2luZzogdmFyKC0tbWRjLXR5cG9ncmFwaHktYm9keTEtbGV0dGVyLXNwYWNpbmcsIDAuMDMxMjVlbSk7XG4gIHRleHQtZGVjb3JhdGlvbjogaW5oZXJpdDtcbiAgLyogQGFsdGVybmF0ZSAqL1xuICB0ZXh0LWRlY29yYXRpb246IHZhcigtLW1kYy10eXBvZ3JhcGh5LWJvZHkxLXRleHQtZGVjb3JhdGlvbiwgaW5oZXJpdCk7XG4gIHRleHQtdHJhbnNmb3JtOiBpbmhlcml0O1xuICAvKiBAYWx0ZXJuYXRlICovXG4gIHRleHQtdHJhbnNmb3JtOiB2YXIoLS1tZGMtdHlwb2dyYXBoeS1ib2R5MS10ZXh0LXRyYW5zZm9ybSwgaW5oZXJpdCk7XG4gIGZsZXgtZ3JvdzogMTtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgbWFyZ2luOiAwO1xuICBwYWRkaW5nOiAyMHB4IDI0cHg7XG4gIG92ZXJmbG93OiBhdXRvO1xuICAtd2Via2l0LW92ZXJmbG93LXNjcm9sbGluZzogdG91Y2g7XG59XG5cbi5tZGMtZGlhbG9nX19jb250ZW50ID4gOmZpcnN0LWNoaWxkIHtcbiAgbWFyZ2luLXRvcDogMDtcbn1cblxuLm1kYy1kaWFsb2dfX2NvbnRlbnQgPiA6bGFzdC1jaGlsZCB7XG4gIG1hcmdpbi1ib3R0b206IDA7XG59XG5cbi5tZGMtZGlhbG9nX190aXRsZSArIC5tZGMtZGlhbG9nX19jb250ZW50IHtcbiAgcGFkZGluZy10b3A6IDA7XG59XG5cbi5tZGMtZGlhbG9nLS1zY3JvbGxhYmxlIC5tZGMtZGlhbG9nX19jb250ZW50IHtcbiAgcGFkZGluZy10b3A6IDhweDtcbiAgcGFkZGluZy1ib3R0b206IDhweDtcbn1cblxuLm1kYy1kaWFsb2dfX2NvbnRlbnQgLm1kYy1saXN0OmZpcnN0LWNoaWxkOmxhc3QtY2hpbGQge1xuICBwYWRkaW5nOiA2cHggMCAwO1xufVxuXG4ubWRjLWRpYWxvZy0tc2Nyb2xsYWJsZSAubWRjLWRpYWxvZ19fY29udGVudCAubWRjLWxpc3Q6Zmlyc3QtY2hpbGQ6bGFzdC1jaGlsZCB7XG4gIHBhZGRpbmc6IDA7XG59XG5cbi5tZGMtZGlhbG9nX19hY3Rpb25zIHtcbiAgZGlzcGxheTogZmxleDtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBmbGV4LXNocmluazogMDtcbiAgZmxleC13cmFwOiB3cmFwO1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kO1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICBtaW4taGVpZ2h0OiA1MnB4O1xuICBtYXJnaW46IDA7XG4gIHBhZGRpbmc6IDhweDtcbiAgYm9yZGVyLXRvcDogMXB4IHNvbGlkIHRyYW5zcGFyZW50O1xufVxuXG4ubWRjLWRpYWxvZy0tc3RhY2tlZCAubWRjLWRpYWxvZ19fYWN0aW9ucyB7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIGFsaWduLWl0ZW1zOiBmbGV4LWVuZDtcbn1cblxuLm1kYy1kaWFsb2dfX2J1dHRvbiB7XG4gIC8qIEBub2ZsaXAgKi9cbiAgbWFyZ2luLWxlZnQ6IDhweDtcbiAgLyogQG5vZmxpcCAqL1xuICBtYXJnaW4tcmlnaHQ6IDA7XG4gIG1heC13aWR0aDogMTAwJTtcbiAgLyogQG5vZmxpcCAqL1xuICB0ZXh0LWFsaWduOiByaWdodDtcbn1cblxuW2Rpcj1ydGxdIC5tZGMtZGlhbG9nX19idXR0b24sIC5tZGMtZGlhbG9nX19idXR0b25bZGlyPXJ0bF0ge1xuICAvKiBAbm9mbGlwICovXG4gIG1hcmdpbi1sZWZ0OiAwO1xuICAvKiBAbm9mbGlwICovXG4gIG1hcmdpbi1yaWdodDogOHB4O1xufVxuXG4ubWRjLWRpYWxvZ19fYnV0dG9uOmZpcnN0LWNoaWxkIHtcbiAgLyogQG5vZmxpcCAqL1xuICBtYXJnaW4tbGVmdDogMDtcbiAgLyogQG5vZmxpcCAqL1xuICBtYXJnaW4tcmlnaHQ6IDA7XG59XG5cbltkaXI9cnRsXSAubWRjLWRpYWxvZ19fYnV0dG9uOmZpcnN0LWNoaWxkLCAubWRjLWRpYWxvZ19fYnV0dG9uOmZpcnN0LWNoaWxkW2Rpcj1ydGxdIHtcbiAgLyogQG5vZmxpcCAqL1xuICBtYXJnaW4tbGVmdDogMDtcbiAgLyogQG5vZmxpcCAqL1xuICBtYXJnaW4tcmlnaHQ6IDA7XG59XG5cbi5tZGMtZGlhbG9nW2Rpcj1ydGxdIC5tZGMtZGlhbG9nX19idXR0b24sIFtkaXI9cnRsXSAubWRjLWRpYWxvZyAubWRjLWRpYWxvZ19fYnV0dG9uIHtcbiAgLyogQG5vZmxpcCAqL1xuICB0ZXh0LWFsaWduOiBsZWZ0O1xufVxuXG4ubWRjLWRpYWxvZy0tc3RhY2tlZCAubWRjLWRpYWxvZ19fYnV0dG9uOm5vdCg6Zmlyc3QtY2hpbGQpIHtcbiAgbWFyZ2luLXRvcDogMTJweDtcbn1cblxuLm1kYy1kaWFsb2ctLW9wZW4sXG4ubWRjLWRpYWxvZy0tb3BlbmluZyxcbi5tZGMtZGlhbG9nLS1jbG9zaW5nIHtcbiAgZGlzcGxheTogZmxleDtcbn1cblxuLm1kYy1kaWFsb2ctLW9wZW5pbmcgLm1kYy1kaWFsb2dfX3NjcmltIHtcbiAgdHJhbnNpdGlvbjogb3BhY2l0eSAxNTBtcyBsaW5lYXI7XG59XG5cbi5tZGMtZGlhbG9nLS1vcGVuaW5nIC5tZGMtZGlhbG9nX19jb250YWluZXIge1xuICB0cmFuc2l0aW9uOiBvcGFjaXR5IDc1bXMgbGluZWFyLCB0cmFuc2Zvcm0gMTUwbXMgMG1zIGN1YmljLWJlemllcigwLCAwLCAwLjIsIDEpO1xufVxuXG4ubWRjLWRpYWxvZy0tY2xvc2luZyAubWRjLWRpYWxvZ19fc2NyaW0sXG4ubWRjLWRpYWxvZy0tY2xvc2luZyAubWRjLWRpYWxvZ19fY29udGFpbmVyIHtcbiAgdHJhbnNpdGlvbjogb3BhY2l0eSA3NW1zIGxpbmVhcjtcbn1cblxuLm1kYy1kaWFsb2ctLWNsb3NpbmcgLm1kYy1kaWFsb2dfX2NvbnRhaW5lciB7XG4gIHRyYW5zZm9ybTogc2NhbGUoMSk7XG59XG5cbi5tZGMtZGlhbG9nLS1vcGVuIC5tZGMtZGlhbG9nX19zY3JpbSB7XG4gIG9wYWNpdHk6IDE7XG59XG5cbi5tZGMtZGlhbG9nLS1vcGVuIC5tZGMtZGlhbG9nX19jb250YWluZXIge1xuICB0cmFuc2Zvcm06IHNjYWxlKDEpO1xuICBvcGFjaXR5OiAxO1xufVxuXG4ubWRjLWRpYWxvZy1zY3JvbGwtbG9jayB7XG4gIG92ZXJmbG93OiBoaWRkZW47XG59XG5cbi5tZGMtbGlzdC1pdGVtLS1kaXNhYmxlZCB7XG4gIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICBjb2xvcjogcmdiYSgzMiwgMjksIDI5LCAwLjMpO1xufVxuXG4ubWRjLW1lbnUtc3VyZmFjZSB7XG4gIHNjcm9sbGJhci13aWR0aDogdGhpbjtcbiAgc2Nyb2xsYmFyLWNvbG9yOiAjZDZkOGRhICNmZmY7XG4gIHotaW5kZXg6IDIwO1xufVxuLm1kYy1tZW51LXN1cmZhY2U6Oi13ZWJraXQtc2Nyb2xsYmFyIHtcbiAgd2lkdGg6IDhweDtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcbn1cbi5tZGMtbWVudS1zdXJmYWNlOjotd2Via2l0LXNjcm9sbGJhci10aHVtYiB7XG4gIG91dGxpbmU6IG5vbmU7XG4gIHdpZHRoOiA3cHg7XG4gIGJvcmRlci1yYWRpdXM6IDdweDtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2Q2ZDhkYTtcbiAgYm9yZGVyOiAxcHggc29saWQgI2ZmZjtcbn1cbi5tZGMtbWVudS1zdXJmYWNlLS1hbmNob3IgPiBidXR0b24ge1xuICBkaXNwbGF5OiBibG9jaztcbiAgdGV4dC1hbGlnbjogbGVmdDtcbiAgdGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7XG59XG5cbi5tZGMtaWNvbi1idXR0b24ubWF0ZXJpYWwtaWNvbnMge1xuICB3aWR0aDogNDhweDtcbiAgZm9udC1mYW1pbHk6IG1hdGVyaWFsSWNvbnNSb3VuZFdlYiwgc2Fucy1zZXJpZjtcbn1cblxuLm1kYy1yYWRpbyB7XG4gIG92ZXJmbG93OiBoaWRkZW47XG59XG5cbi5tZGMtcmFkaW9fX3JpcHBsZSB7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIGJvcmRlci1yYWRpdXM6IDEwMHB4O1xufVxuXG4ubWRjLW1lbnUgLm1kYy1saXN0LWl0ZW0ge1xuICBoZWlnaHQ6IGF1dG87XG4gIGRpc3BsYXk6IGJsb2NrO1xuICB0ZXh0LWFsaWduOiBsZWZ0O1xuICBwYWRkaW5nLXRvcDogNnB4O1xuICBwYWRkaW5nLWJvdHRvbTogNnB4O1xuICBsaW5lLWhlaWdodDogMS4yO1xufVxuQG1lZGlhIChtaW4td2lkdGg6IDk5MnB4KSB7XG4gIC5tZGMtbWVudSAubWRjLWxpc3QtaXRlbSB7XG4gICAgcGFkZGluZy10b3A6IDEwcHg7XG4gICAgcGFkZGluZy1ib3R0b206IDEwcHg7XG4gIH1cbn1cblxuLmJyZWFkY3J1bWIge1xuICBkaXNwbGF5OiBub25lO1xufVxuQG1lZGlhIChtaW4td2lkdGg6IDk5MnB4KSB7XG4gIC5icmVhZGNydW1iIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBsaXN0LXN0eWxlOiBub25lO1xuICAgIG1hcmdpbjogMzBweCBhdXRvIDE1cHggYXV0bztcbiAgICBmb250LXNpemU6IDA7XG4gICAgZm9udC13ZWlnaHQ6IDMwMDtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBwYWRkaW5nOiAwIDE1cHg7XG4gICAgbWF4LXdpZHRoOiAxMjg0cHg7XG4gICAgbGV0dGVyLXNwYWNpbmc6IDAuNHB4O1xuICB9XG59XG5AbWVkaWEgKG1pbi13aWR0aDogMTIwMHB4KSB7XG4gIC5icmVhZGNydW1iIHtcbiAgICBtYXJnaW46IDM1cHggYXV0byAyMHB4IGF1dG87XG4gIH1cbn1cbkBtZWRpYSAobWluLXdpZHRoOiAxNDAwcHgpIHtcbiAgLmJyZWFkY3J1bWIge1xuICAgIG1hcmdpbjogNzVweCBhdXRvIDIwcHggYXV0bztcbiAgfVxufVxuQG1lZGlhIChtaW4td2lkdGg6IDk5MnB4KSB7XG4gIC5oZXJvLTM2NSArIC5icmVhZGNydW1iIHtcbiAgICBtYXJnaW46IDE1cHggYXV0byAxNnB4IGF1dG87XG4gIH1cbn1cbkBtZWRpYSAobWluLXdpZHRoOiAxMjAwcHgpIHtcbiAgLmhlcm8tMzY1ICsgLmJyZWFkY3J1bWIge1xuICAgIG1hcmdpbjogMjVweCBhdXRvIDI2cHggYXV0bztcbiAgfVxufVxuQG1lZGlhIChtaW4td2lkdGg6IDE0MDBweCkge1xuICAuaGVyby0zNjUgKyAuYnJlYWRjcnVtYiB7XG4gICAgbWFyZ2luOiAzNnB4IGF1dG8gMzVweCBhdXRvO1xuICB9XG59XG5AbWVkaWEgKG1pbi13aWR0aDogOTkycHgpIHtcbiAgLmhlcm8tcGFnZSArIC5icmVhZGNydW1iIHtcbiAgICBtYXJnaW46IDE1cHggYXV0bztcbiAgfVxufVxuQG1lZGlhIChtaW4td2lkdGg6IDEyMDBweCkge1xuICAuaGVyby1wYWdlICsgLmJyZWFkY3J1bWIge1xuICAgIG1hcmdpbjogMjVweCBhdXRvIDIwcHggYXV0bztcbiAgfVxufVxuQG1lZGlhIChtaW4td2lkdGg6IDE0MDBweCkge1xuICAuaGVyby1wYWdlICsgLmJyZWFkY3J1bWIge1xuICAgIG1hcmdpbjogMzZweCBhdXRvIDIwcHggYXV0bztcbiAgfVxufVxuQG1lZGlhIChtaW4td2lkdGg6IDk5MnB4KSB7XG4gIC5oZXJvLXNlY3Rpb24gKyAuYnJlYWRjcnVtYiB7XG4gICAgbWFyZ2luOiAzMHB4IGF1dG8gMTVweCBhdXRvO1xuICB9XG59XG5AbWVkaWEgKG1pbi13aWR0aDogMTIwMHB4KSB7XG4gIC5oZXJvLXNlY3Rpb24gKyAuYnJlYWRjcnVtYiB7XG4gICAgbWFyZ2luOiAyNXB4IGF1dG8gNDVweCBhdXRvO1xuICB9XG59XG5AbWVkaWEgKG1pbi13aWR0aDogMTQwMHB4KSB7XG4gIC5oZXJvLXNlY3Rpb24gKyAuYnJlYWRjcnVtYiB7XG4gICAgbWFyZ2luOiAzNnB4IGF1dG8gOTVweCBhdXRvO1xuICB9XG59XG5AbWVkaWEgKG1pbi13aWR0aDogOTkycHgpIHtcbiAgLmxhbmRpbmdwYWdlLXZpZXcgLmJyZWFkY3J1bWIge1xuICAgIG1hcmdpbjogMTVweCBhdXRvO1xuICB9XG59XG5AbWVkaWEgKG1pbi13aWR0aDogMTIwMHB4KSB7XG4gIC5sYW5kaW5ncGFnZS12aWV3IC5icmVhZGNydW1iIHtcbiAgICBtYXgtd2lkdGg6IDEwODBweDtcbiAgICBtYXJnaW46IDI1cHggYXV0byAyM3B4IGF1dG87XG4gIH1cbn1cbkBtZWRpYSAobWluLXdpZHRoOiAxNDAwcHgpIHtcbiAgLmxhbmRpbmdwYWdlLXZpZXcgLmJyZWFkY3J1bWIge1xuICAgIG1hcmdpbjogMzZweCBhdXRvIDM0cHggYXV0bztcbiAgICBtYXgtd2lkdGg6IDEyODRweDtcbiAgfVxufVxuLmJyZWFkY3J1bWJfX2xpc3Qge1xuICBwYWRkaW5nOiAwO1xuICBtYXJnaW46IDA7XG59XG4uYnJlYWRjcnVtYl9faXRlbSB7XG4gIGZvbnQtc2l6ZTogMTRweDtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB2ZXJ0aWNhbC1hbGlnbjogdG9wO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG59XG4uYnJlYWRjcnVtYl9faXRlbTphZnRlciB7XG4gIGNvbnRlbnQ6IFwiPlwiO1xuICBtYXJnaW46IDAgNXB4IDAgNHB4O1xufVxuLmJyZWFkY3J1bWJfX2l0ZW06bGFzdC1vZi10eXBlIHtcbiAgZm9udC13ZWlnaHQ6IDUwMDtcbn1cbi5icmVhZGNydW1iX19pdGVtOmxhc3Qtb2YtdHlwZSBhIHtcbiAgY29sb3I6ICMwMEFFRUY7XG59XG4uYnJlYWRjcnVtYl9faXRlbTpsYXN0LW9mLXR5cGU6YWZ0ZXIge1xuICBkaXNwbGF5OiBub25lO1xufVxuLmJyZWFkY3J1bWJfX2xpbmsge1xuICBjb2xvcjogIzIwMWQxZDtcbn1cbi5icmVhZGNydW1iX19saW5rOmhvdmVyLCAuYnJlYWRjcnVtYl9fbGluazpmb2N1cyB7XG4gIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xufVxuXG4uc2l0ZS1mb3JtIC5tZGMtdGV4dC1maWVsZC0tb3V0bGluZWQ6bm90KC5tZGMtdGV4dC1maWVsZC0taW52YWxpZCk6bm90KC5tZGMtdGV4dC1maWVsZC0tZGlzYWJsZWQpIGlucHV0Oi13ZWJraXQtYXV0b2ZpbGwge1xuICAtd2Via2l0LXRleHQtZmlsbC1jb2xvcjogIzAwQUVFRiAhaW1wb3J0YW50O1xuICAtd2Via2l0LWJveC1zaGFkb3c6IDAgMCAwIDYwcHggI2Y1ZmNmZSBpbnNldCAhaW1wb3J0YW50O1xufVxuLnNpdGUtZm9ybV9fY2hlY2tib3gtLXJlYWRvbmx5IHtcbiAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gIHVzZXItc2VsZWN0OiBub25lO1xuICBvcGFjaXR5OiAwLjM7XG59XG4uc2l0ZS1mb3JtX19jaGVja2JveC0tcmVhZG9ubHkgfiBsYWJlbCB7XG4gIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICB1c2VyLXNlbGVjdDogbm9uZTtcbn1cbi5zaXRlLWZvcm1fX2NoZWNrYm94LS1yZWFkb25seSB+IGxhYmVsIGEge1xuICBwb2ludGVyLWV2ZW50czogYXV0bztcbn1cbi5zaXRlLWZvcm0gLm1kYy1mbG9hdGluZy1sYWJlbCB7XG4gIHVzZXItc2VsZWN0OiBub25lO1xuICBtYXJnaW4tYm90dG9tOiAwO1xuICBmb250LXdlaWdodDogMzAwO1xuICBsZXR0ZXItc3BhY2luZzogLTAuMnB4O1xuICBsaW5lLWhlaWdodDogMS4xNTtcbiAgZGlzcGxheTogYmxvY2s7XG59XG5AbWVkaWEgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgLnNpdGUtZm9ybSAubWRjLWZsb2F0aW5nLWxhYmVsIHtcbiAgICBsZXR0ZXItc3BhY2luZzogMDtcbiAgfVxufVxuQG1lZGlhIChtaW4td2lkdGg6IDE2NTZweCkge1xuICAuc2l0ZS1mb3JtIC5tZGMtZmxvYXRpbmctbGFiZWwge1xuICAgIGZvbnQtc2l6ZTogMTlweDtcbiAgfVxufVxuLnNpdGUtZm9ybSAubWRjLWZsb2F0aW5nLWxhYmVsLm1kYy1mbG9hdGluZy1sYWJlbC0tZmxvYXQtYWJvdmUge1xuICB0ZXh0LW92ZXJmbG93OiBjbGlwO1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHZlcnRpY2FsLWFsaWduOiB0b3A7XG59XG4uc2l0ZS1mb3JtIGlucHV0W3JlYWRvbmx5XSArIC5tZGMtbm90Y2hlZC1vdXRsaW5lLS1ub3RjaGVkIC5tZGMtbm90Y2hlZC1vdXRsaW5lX19sZWFkaW5nLFxuLnNpdGUtZm9ybSBpbnB1dFtyZWFkb25seV0gKyAubWRjLW5vdGNoZWQtb3V0bGluZS0tbm90Y2hlZCAubWRjLW5vdGNoZWQtb3V0bGluZV9fbm90Y2gsXG4uc2l0ZS1mb3JtIGlucHV0W3JlYWRvbmx5XSArIC5tZGMtbm90Y2hlZC1vdXRsaW5lLS1ub3RjaGVkIC5tZGMtbm90Y2hlZC1vdXRsaW5lX190cmFpbGluZyB7XG4gIGJvcmRlci13aWR0aDogMXB4O1xufVxuLnNpdGUtZm9ybSBpbnB1dFtyZWFkb25seV0gKyAubWRjLW5vdGNoZWQtb3V0bGluZS0tbm90Y2hlZCAubWRjLWZsb2F0aW5nLWxhYmVsIHtcbiAgdXNlci1zZWxlY3Q6IG5vbmU7XG59XG4uc2l0ZS1mb3JtIC5tZGMtc2VsZWN0LS1vdXRsaW5lZCAubWRjLWZsb2F0aW5nLWxhYmVsLm1kYy1mbG9hdGluZy1sYWJlbC0tZmxvYXQtYWJvdmUge1xuICBtaW4td2lkdGg6IDA7XG4gIG1heC13aWR0aDogbm9uZTtcbn1cbi5zaXRlLWZvcm0gLm1kYy1jaGVja2JveCB7XG4gIG1hcmdpbi1sZWZ0OiAtMTFweDtcbiAgbWFyZ2luLWJvdHRvbTogLThweDtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbn1cbi5zaXRlLWZvcm0gLm1kYy1jaGVja2JveCAubWRjLWNoZWNrYm94X19uYXRpdmUtY29udHJvbDplbmFibGVkOm5vdCg6Y2hlY2tlZCk6bm90KDppbmRldGVybWluYXRlKTpub3QoW2RhdGEtaW5kZXRlcm1pbmF0ZT10cnVlXSkgfiAubWRjLWNoZWNrYm94X19iYWNrZ3JvdW5kIHtcbiAgYm9yZGVyLWNvbG9yOiAjMDBhNWUzO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDAsIDAsIDAsIDApO1xufVxuLnNpdGUtZm9ybSAubWRjLWNoZWNrYm94IC5tZGMtY2hlY2tib3hfX25hdGl2ZS1jb250cm9sOmVuYWJsZWQ6Y2hlY2tlZCB+IC5tZGMtY2hlY2tib3hfX2JhY2tncm91bmQsXG4uc2l0ZS1mb3JtIC5tZGMtY2hlY2tib3ggLm1kYy1jaGVja2JveF9fbmF0aXZlLWNvbnRyb2w6ZW5hYmxlZDppbmRldGVybWluYXRlIH4gLm1kYy1jaGVja2JveF9fYmFja2dyb3VuZCxcbi5zaXRlLWZvcm0gLm1kYy1jaGVja2JveCAubWRjLWNoZWNrYm94X19uYXRpdmUtY29udHJvbFtkYXRhLWluZGV0ZXJtaW5hdGU9dHJ1ZV06ZW5hYmxlZCB+IC5tZGMtY2hlY2tib3hfX2JhY2tncm91bmQge1xuICBib3JkZXItY29sb3I6ICMwMGE1ZTM7XG4gIGJhY2tncm91bmQtY29sb3I6ICMwMGE1ZTM7XG59XG5Aa2V5ZnJhbWVzIG1kYy1jaGVja2JveC1mYWRlLWluLWJhY2tncm91bmQtRkYwMEE1RTNGRjAwQTVFMzAwMDAwMDAwRkYwMEE1RTMge1xuICAwJSB7XG4gICAgYm9yZGVyLWNvbG9yOiAjMDBhNWUzO1xuICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMCwgMCwgMCwgMCk7XG4gIH1cbiAgNTAlIHtcbiAgICBib3JkZXItY29sb3I6ICMwMGE1ZTM7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzAwYTVlMztcbiAgfVxufVxuQGtleWZyYW1lcyBtZGMtY2hlY2tib3gtZmFkZS1vdXQtYmFja2dyb3VuZC1GRjAwQTVFM0ZGMDBBNUUzMDAwMDAwMDBGRjAwQTVFMyB7XG4gIDAlLCA4MCUge1xuICAgIGJvcmRlci1jb2xvcjogIzAwYTVlMztcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDBhNWUzO1xuICB9XG4gIDEwMCUge1xuICAgIGJvcmRlci1jb2xvcjogIzAwYTVlMztcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDAsIDAsIDAsIDApO1xuICB9XG59XG4uc2l0ZS1mb3JtIC5tZGMtY2hlY2tib3gubWRjLWNoZWNrYm94LS1hbmltLXVuY2hlY2tlZC1jaGVja2VkIC5tZGMtY2hlY2tib3hfX25hdGl2ZS1jb250cm9sOmVuYWJsZWQgfiAubWRjLWNoZWNrYm94X19iYWNrZ3JvdW5kLCAuc2l0ZS1mb3JtIC5tZGMtY2hlY2tib3gubWRjLWNoZWNrYm94LS1hbmltLXVuY2hlY2tlZC1pbmRldGVybWluYXRlIC5tZGMtY2hlY2tib3hfX25hdGl2ZS1jb250cm9sOmVuYWJsZWQgfiAubWRjLWNoZWNrYm94X19iYWNrZ3JvdW5kIHtcbiAgYW5pbWF0aW9uLW5hbWU6IG1kYy1jaGVja2JveC1mYWRlLWluLWJhY2tncm91bmQtRkYwMEE1RTNGRjAwQTVFMzAwMDAwMDAwRkYwMEE1RTM7XG59XG4uc2l0ZS1mb3JtIC5tZGMtY2hlY2tib3gubWRjLWNoZWNrYm94LS1hbmltLWNoZWNrZWQtdW5jaGVja2VkIC5tZGMtY2hlY2tib3hfX25hdGl2ZS1jb250cm9sOmVuYWJsZWQgfiAubWRjLWNoZWNrYm94X19iYWNrZ3JvdW5kLCAuc2l0ZS1mb3JtIC5tZGMtY2hlY2tib3gubWRjLWNoZWNrYm94LS1hbmltLWluZGV0ZXJtaW5hdGUtdW5jaGVja2VkIC5tZGMtY2hlY2tib3hfX25hdGl2ZS1jb250cm9sOmVuYWJsZWQgfiAubWRjLWNoZWNrYm94X19iYWNrZ3JvdW5kIHtcbiAgYW5pbWF0aW9uLW5hbWU6IG1kYy1jaGVja2JveC1mYWRlLW91dC1iYWNrZ3JvdW5kLUZGMDBBNUUzRkYwMEE1RTMwMDAwMDAwMEZGMDBBNUUzO1xufVxuLnNpdGUtZm9ybSAubWRjLWNoZWNrYm94IC5tZGMtY2hlY2tib3hfX25hdGl2ZS1jb250cm9sOmVuYWJsZWQgfiAubWRjLWNoZWNrYm94X19iYWNrZ3JvdW5kIC5tZGMtY2hlY2tib3hfX2NoZWNrbWFyayB7XG4gIGNvbG9yOiAjZmZmO1xufVxuLnNpdGUtZm9ybSAubWRjLWNoZWNrYm94IC5tZGMtY2hlY2tib3hfX25hdGl2ZS1jb250cm9sOmVuYWJsZWQgfiAubWRjLWNoZWNrYm94X19iYWNrZ3JvdW5kIC5tZGMtY2hlY2tib3hfX21peGVkbWFyayB7XG4gIGJvcmRlci1jb2xvcjogI2ZmZjtcbn1cbi5zaXRlLWZvcm0gLm1kYy1jaGVja2JveCAubWRjLWNoZWNrYm94X19uYXRpdmUtY29udHJvbDpjaGVja2VkIH4gLm1kYy1jaGVja2JveF9fYmFja2dyb3VuZDo6YmVmb3JlLFxuLnNpdGUtZm9ybSAubWRjLWNoZWNrYm94IC5tZGMtY2hlY2tib3hfX25hdGl2ZS1jb250cm9sOmluZGV0ZXJtaW5hdGUgfiAubWRjLWNoZWNrYm94X19iYWNrZ3JvdW5kOjpiZWZvcmUsXG4uc2l0ZS1mb3JtIC5tZGMtY2hlY2tib3ggLm1kYy1jaGVja2JveF9fbmF0aXZlLWNvbnRyb2xbZGF0YS1pbmRldGVybWluYXRlPXRydWVdIH4gLm1kYy1jaGVja2JveF9fYmFja2dyb3VuZDo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzAwYTVlMztcbn1cbi5zaXRlLWZvcm0gLm1kYy1jaGVja2JveC5tZGMtY2hlY2tib3gtLXNlbGVjdGVkIC5tZGMtY2hlY2tib3hfX3JpcHBsZTo6YmVmb3JlLCAuc2l0ZS1mb3JtIC5tZGMtY2hlY2tib3gubWRjLWNoZWNrYm94LS1zZWxlY3RlZCAubWRjLWNoZWNrYm94X19yaXBwbGU6OmFmdGVyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzAwYTVlMztcbn1cbi5zaXRlLWZvcm0gLm1kYy1jaGVja2JveC5tZGMtY2hlY2tib3gtLXNlbGVjdGVkOmhvdmVyIC5tZGMtY2hlY2tib3hfX3JpcHBsZTo6YmVmb3JlIHtcbiAgb3BhY2l0eTogMC4wODtcbn1cbi5zaXRlLWZvcm0gLm1kYy1jaGVja2JveC5tZGMtY2hlY2tib3gtLXNlbGVjdGVkLm1kYy1yaXBwbGUtdXBncmFkZWQtLWJhY2tncm91bmQtZm9jdXNlZCAubWRjLWNoZWNrYm94X19yaXBwbGU6OmJlZm9yZSwgLnNpdGUtZm9ybSAubWRjLWNoZWNrYm94Lm1kYy1jaGVja2JveC0tc2VsZWN0ZWQ6bm90KC5tZGMtcmlwcGxlLXVwZ3JhZGVkKTpmb2N1cyAubWRjLWNoZWNrYm94X19yaXBwbGU6OmJlZm9yZSB7XG4gIHRyYW5zaXRpb24tZHVyYXRpb246IDc1bXM7XG4gIG9wYWNpdHk6IDAuMjQ7XG59XG4uc2l0ZS1mb3JtIC5tZGMtY2hlY2tib3gubWRjLWNoZWNrYm94LS1zZWxlY3RlZDpub3QoLm1kYy1yaXBwbGUtdXBncmFkZWQpIC5tZGMtY2hlY2tib3hfX3JpcHBsZTo6YWZ0ZXIge1xuICB0cmFuc2l0aW9uOiBvcGFjaXR5IDE1MG1zIGxpbmVhcjtcbn1cbi5zaXRlLWZvcm0gLm1kYy1jaGVja2JveC5tZGMtY2hlY2tib3gtLXNlbGVjdGVkOm5vdCgubWRjLXJpcHBsZS11cGdyYWRlZCk6YWN0aXZlIC5tZGMtY2hlY2tib3hfX3JpcHBsZTo6YWZ0ZXIge1xuICB0cmFuc2l0aW9uLWR1cmF0aW9uOiA3NW1zO1xuICBvcGFjaXR5OiAwLjI0O1xufVxuLnNpdGUtZm9ybSAubWRjLWNoZWNrYm94Lm1kYy1jaGVja2JveC0tc2VsZWN0ZWQubWRjLXJpcHBsZS11cGdyYWRlZCB7XG4gIC0tbWRjLXJpcHBsZS1mZy1vcGFjaXR5OiAwLjI0O1xufVxuLnNpdGUtZm9ybSAubWRjLWNoZWNrYm94Lm1kYy1yaXBwbGUtdXBncmFkZWQtLWJhY2tncm91bmQtZm9jdXNlZC5tZGMtY2hlY2tib3gtLXNlbGVjdGVkIC5tZGMtY2hlY2tib3hfX3JpcHBsZTo6YmVmb3JlLFxuLnNpdGUtZm9ybSAubWRjLWNoZWNrYm94Lm1kYy1yaXBwbGUtdXBncmFkZWQtLWJhY2tncm91bmQtZm9jdXNlZC5tZGMtY2hlY2tib3gtLXNlbGVjdGVkIC5tZGMtY2hlY2tib3hfX3JpcHBsZTo6YWZ0ZXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDBhNWUzO1xufVxuLnNpdGUtZm9ybSAubWRjLWNoZWNrYm94IC5tZGMtY2hlY2tib3hfX3JpcHBsZSB7XG4gIGJvcmRlci1yYWRpdXM6IDEwMHB4O1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVooMCk7XG59XG4uc2l0ZS1mb3JtIC5tZGMtY2hlY2tib3ggLm1kYy1jaGVja2JveF9fcmlwcGxlOmJlZm9yZSB7XG4gIGJhY2tncm91bmQtY29sb3I6ICMwMEFFRUY7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogMTAwJTtcbiAgbGVmdDogMDtcbiAgdG9wOiAwO1xufVxuLnNpdGUtZm9ybSAubWRjLWNoZWNrYm94IC5tZGMtY2hlY2tib3hfX3JpcHBsZTphZnRlciB7XG4gIGJhY2tncm91bmQtY29sb3I6ICMwMEFFRUY7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogMTAwJTtcbiAgbGVmdDogMDtcbiAgdG9wOiAwO1xufVxuLnNpdGUtZm9ybSAubWRjLWNoZWNrYm94OmhvdmVyIC5tZGMtY2hlY2tib3hfX3JpcHBsZTpiZWZvcmUge1xuICBvcGFjaXR5OiAwLjA4O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDBBRUVGO1xufVxuLnNpdGUtZm9ybSAubWRjLWNoZWNrYm94OmhvdmVyIC5tZGMtY2hlY2tib3hfX3JpcHBsZTphZnRlciB7XG4gIGJhY2tncm91bmQtY29sb3I6ICMwMEFFRUY7XG59XG4uc2l0ZS1mb3JtIC5tZGMtcmFkaW8ge1xuICBtYXJnaW4tbGVmdDogLTExcHg7XG4gIG92ZXJmbG93OiBoaWRkZW47XG59XG4uc2l0ZS1mb3JtIC5tZGMtcmFkaW8gLm1kYy1yYWRpb19fbmF0aXZlLWNvbnRyb2w6ZW5hYmxlZDpub3QoOmNoZWNrZWQpICsgLm1kYy1yYWRpb19fYmFja2dyb3VuZCAubWRjLXJhZGlvX19vdXRlci1jaXJjbGUge1xuICBib3JkZXItY29sb3I6ICMwMGE1ZTM7XG59XG4uc2l0ZS1mb3JtIC5tZGMtcmFkaW8gLm1kYy1yYWRpb19fbmF0aXZlLWNvbnRyb2w6ZW5hYmxlZDpjaGVja2VkICsgLm1kYy1yYWRpb19fYmFja2dyb3VuZCAubWRjLXJhZGlvX19vdXRlci1jaXJjbGUge1xuICBib3JkZXItY29sb3I6ICMwMGE1ZTM7XG59XG4uc2l0ZS1mb3JtIC5tZGMtcmFkaW8gLm1kYy1yYWRpb19fbmF0aXZlLWNvbnRyb2w6ZW5hYmxlZCArIC5tZGMtcmFkaW9fX2JhY2tncm91bmQgLm1kYy1yYWRpb19faW5uZXItY2lyY2xlIHtcbiAgYm9yZGVyLWNvbG9yOiAjMDBhNWUzO1xufVxuLnNpdGUtZm9ybSAubWRjLXJhZGlvIC5tZGMtcmFkaW9fX2JhY2tncm91bmQ6OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtY29sb3I6ICMwMEFFRUY7XG59XG4uc2l0ZS1mb3JtIC5tZGMtcmFkaW8gKyBsYWJlbCB7XG4gIGZvbnQtc2l6ZTogMTIuNXB4O1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIGZvbnQtd2VpZ2h0OiAzMDA7XG4gIGxpbmUtaGVpZ2h0OiAxLjU7XG59XG5AbWVkaWEgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgLnNpdGUtZm9ybSAubWRjLXJhZGlvICsgbGFiZWwge1xuICAgIGZvbnQtc2l6ZTogMTZweDtcbiAgfVxufVxuQG1lZGlhIChtaW4td2lkdGg6IDE2NTZweCkge1xuICAuc2l0ZS1mb3JtIC5tZGMtcmFkaW8gKyBsYWJlbCB7XG4gICAgZm9udC1zaXplOiAxOXB4O1xuICB9XG59XG4uc2l0ZS1mb3JtIC5tZGMtcmFkaW8gLm1kYy1yYWRpb19fcmlwcGxlIHtcbiAgYm9yZGVyLXJhZGl1czogMTAwcHg7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWigwKTtcbn1cbi5zaXRlLWZvcm0gLm1kYy1yYWRpbyAubWRjLXJhZGlvX19yaXBwbGU6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzAwQUVFRjtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAxMDAlO1xuICBsZWZ0OiAwO1xuICB0b3A6IDA7XG59XG4uc2l0ZS1mb3JtIC5tZGMtcmFkaW8gLm1kYy1yYWRpb19fcmlwcGxlOmFmdGVyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzAwQUVFRjtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAxMDAlO1xuICBsZWZ0OiAwO1xuICB0b3A6IDA7XG59XG4uc2l0ZS1mb3JtIC5tZGMtcmFkaW86aG92ZXIgLm1kYy1yYWRpb19fcmlwcGxlOmJlZm9yZSB7XG4gIGJhY2tncm91bmQtY29sb3I6ICMwMEFFRUY7XG4gIG9wYWNpdHk6IDAuMDg7XG59XG4uc2l0ZS1mb3JtIC5tZGMtcmFkaW8tZmllbGQge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHBhZGRpbmctYm90dG9tOiAxNXB4O1xufVxuLnNpdGUtZm9ybSAubWRjLWZvcm0tZmllbGQgLm1kYy1yYWRpbyArIGxhYmVsIHtcbiAgbWFyZ2luLXRvcDogMTEuNXB4O1xufVxuQG1lZGlhIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gIC5zaXRlLWZvcm0gLm1kYy1mb3JtLWZpZWxkIC5tZGMtcmFkaW8gKyBsYWJlbCB7XG4gICAgbWFyZ2luLXRvcDogOHB4O1xuICB9XG59XG5AbWVkaWEgKG1pbi13aWR0aDogMTY1NnB4KSB7XG4gIC5zaXRlLWZvcm0gLm1kYy1mb3JtLWZpZWxkIC5tZGMtcmFkaW8gKyBsYWJlbCB7XG4gICAgbWFyZ2luLXRvcDogNnB4O1xuICAgIHBhZGRpbmctbGVmdDogNXB4O1xuICB9XG59XG4uc2l0ZS1mb3JtIC5tZGMtdGV4dC1maWVsZCAubWRjLXRleHQtZmllbGRfX2lucHV0IHtcbiAgY2FyZXQtY29sb3I6ICMyMDFkMWQgIWltcG9ydGFudDtcbn1cbi5zaXRlLWZvcm0gLm1kYy10ZXh0LWZpZWxkOm5vdCgubWRjLXRleHQtZmllbGQtLWRpc2FibGVkKSAubWRjLWZsb2F0aW5nLWxhYmVsLm1kYy1mbG9hdGluZy1sYWJlbC0tZmxvYXQtYWJvdmUge1xuICBjb2xvcjogIzAwYTVlMztcbn1cbi5zaXRlLWZvcm0gLm1kYy10ZXh0LWZpZWxkLS1pbnZhbGlkOm5vdCgubWRjLXRleHQtZmllbGQtLWRpc2FibGVkKSAubWRjLWZsb2F0aW5nLWxhYmVsIHtcbiAgY29sb3I6IHJnYmEoMCwgMCwgMCwgMC42KTtcbn1cbi5zaXRlLWZvcm0gLm1kYy10ZXh0LWZpZWxkLS1pbnZhbGlkOm5vdCgubWRjLXRleHQtZmllbGQtLWRpc2FibGVkKSAubWRjLWZsb2F0aW5nLWxhYmVsOmFmdGVyIHtcbiAgY29sb3I6IHJnYmEoMCwgMCwgMCwgMC42KTtcbn1cbi5zaXRlLWZvcm0gLm1kYy10ZXh0LWZpZWxkLS1pbnZhbGlkOm5vdCgubWRjLXRleHQtZmllbGQtLWRpc2FibGVkKSAubWRjLXRleHQtZmllbGRfX2lucHV0OnJlcXVpcmVkIH4gLm1kYy1ub3RjaGVkLW91dGxpbmUgLm1kYy1mbG9hdGluZy1sYWJlbDphZnRlciB7XG4gIGNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuNik7XG59XG4uc2l0ZS1mb3JtIC5tZGMtdGV4dC1maWVsZC0taW52YWxpZDpub3QoLm1kYy10ZXh0LWZpZWxkLS1kaXNhYmxlZCkgLm1kYy10ZXh0LWZpZWxkX19pbnB1dDpyZXF1aXJlZCB+IC5tZGMtbm90Y2hlZC1vdXRsaW5lIC5tZGMtZmxvYXRpbmctbGFiZWwubWRjLWZsb2F0aW5nLWxhYmVsLS1mbG9hdC1hYm92ZTphZnRlciB7XG4gIGNvbG9yOiAjMDBhNWUzO1xufVxuLndhcy12YWxpZGF0ZWQgLnNpdGUtZm9ybSAubWRjLXRleHQtZmllbGQtLWludmFsaWQsIC5zaXRlLWZvcm0ud2FzLXZhbGlkYXRlZCAubWRjLXRleHQtZmllbGQtLWludmFsaWQge1xuICBtYXJnaW4tYm90dG9tOiA2cHg7XG59XG5AbWVkaWEgKG1pbi13aWR0aDogMTY1NnB4KSB7XG4gIC53YXMtdmFsaWRhdGVkIC5zaXRlLWZvcm0gLm1kYy10ZXh0LWZpZWxkLS1pbnZhbGlkLCAuc2l0ZS1mb3JtLndhcy12YWxpZGF0ZWQgLm1kYy10ZXh0LWZpZWxkLS1pbnZhbGlkIHtcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xuICB9XG59XG4ud2FzLXZhbGlkYXRlZCAuc2l0ZS1mb3JtIC5tZGMtY2hlY2tib3ggLm1kYy1jaGVja2JveF9fbmF0aXZlLWNvbnRyb2w6aW52YWxpZCB+IC5tZGMtY2hlY2tib3hfX2JhY2tncm91bmQsIC5zaXRlLWZvcm0ud2FzLXZhbGlkYXRlZCAubWRjLWNoZWNrYm94IC5tZGMtY2hlY2tib3hfX25hdGl2ZS1jb250cm9sOmludmFsaWQgfiAubWRjLWNoZWNrYm94X19iYWNrZ3JvdW5kIHtcbiAgYm9yZGVyLWNvbG9yOiAjZmYwMDAwICFpbXBvcnRhbnQ7XG59XG4ud2FzLXZhbGlkYXRlZCAuc2l0ZS1mb3JtIC5tZGMtY2hlY2tib3ggLm1kYy1jaGVja2JveF9fbmF0aXZlLWNvbnRyb2w6aW52YWxpZCB+IGxhYmVsLCAuc2l0ZS1mb3JtLndhcy12YWxpZGF0ZWQgLm1kYy1jaGVja2JveCAubWRjLWNoZWNrYm94X19uYXRpdmUtY29udHJvbDppbnZhbGlkIH4gbGFiZWwge1xuICBjb2xvcjogI2ZmMDAwMDtcbn1cbi53YXMtdmFsaWRhdGVkIC5zaXRlLWZvcm0gLm1kYy1yYWRpbyAubWRjLXJhZGlvX19uYXRpdmUtY29udHJvbDppbnZhbGlkIH4gLm1kYy1yYWRpb19fYmFja2dyb3VuZCAubWRjLXJhZGlvX19vdXRlci1jaXJjbGUsIC53YXMtdmFsaWRhdGVkIC5zaXRlLWZvcm0gLm1kYy1yYWRpbyAubWRjLXJhZGlvX19uYXRpdmUtY29udHJvbDppbnZhbGlkIH4gLm1kYy1yYWRpb19fYmFja2dyb3VuZCAubWRjLXJhZGlvX19pbm5lci1jaXJjbGUsIC5zaXRlLWZvcm0ud2FzLXZhbGlkYXRlZCAubWRjLXJhZGlvIC5tZGMtcmFkaW9fX25hdGl2ZS1jb250cm9sOmludmFsaWQgfiAubWRjLXJhZGlvX19iYWNrZ3JvdW5kIC5tZGMtcmFkaW9fX291dGVyLWNpcmNsZSwgLnNpdGUtZm9ybS53YXMtdmFsaWRhdGVkIC5tZGMtcmFkaW8gLm1kYy1yYWRpb19fbmF0aXZlLWNvbnRyb2w6aW52YWxpZCB+IC5tZGMtcmFkaW9fX2JhY2tncm91bmQgLm1kYy1yYWRpb19faW5uZXItY2lyY2xlIHtcbiAgYm9yZGVyLWNvbG9yOiAjZmYwMDAwICFpbXBvcnRhbnQ7XG59XG4ud2FzLXZhbGlkYXRlZCAuc2l0ZS1mb3JtIC5tZGMtcmFkaW8gLm1kYy1yYWRpb19fbmF0aXZlLWNvbnRyb2w6aW52YWxpZCB+IGxhYmVsLCAuc2l0ZS1mb3JtLndhcy12YWxpZGF0ZWQgLm1kYy1yYWRpbyAubWRjLXJhZGlvX19uYXRpdmUtY29udHJvbDppbnZhbGlkIH4gbGFiZWwge1xuICBjb2xvcjogI2ZmMDAwMDtcbn1cbi53YXMtdmFsaWRhdGVkIC5zaXRlLWZvcm0gLm1kYy10ZXh0LWZpZWxkX19pbnB1dDppbnZhbGlkIH4gLm1kYy1ub3RjaGVkLW91dGxpbmUgLm1kYy1ub3RjaGVkLW91dGxpbmVfX2xlYWRpbmcsXG4ud2FzLXZhbGlkYXRlZCAuc2l0ZS1mb3JtIC5tZGMtdGV4dC1maWVsZF9faW5wdXQ6aW52YWxpZCB+IC5tZGMtbm90Y2hlZC1vdXRsaW5lIC5tZGMtbm90Y2hlZC1vdXRsaW5lX19ub3RjaCxcbi53YXMtdmFsaWRhdGVkIC5zaXRlLWZvcm0gLm1kYy10ZXh0LWZpZWxkX19pbnB1dDppbnZhbGlkIH4gLm1kYy1ub3RjaGVkLW91dGxpbmUgLm1kYy1ub3RjaGVkLW91dGxpbmVfX3RyYWlsaW5nLCAuc2l0ZS1mb3JtLndhcy12YWxpZGF0ZWQgLm1kYy10ZXh0LWZpZWxkX19pbnB1dDppbnZhbGlkIH4gLm1kYy1ub3RjaGVkLW91dGxpbmUgLm1kYy1ub3RjaGVkLW91dGxpbmVfX2xlYWRpbmcsXG4uc2l0ZS1mb3JtLndhcy12YWxpZGF0ZWQgLm1kYy10ZXh0LWZpZWxkX19pbnB1dDppbnZhbGlkIH4gLm1kYy1ub3RjaGVkLW91dGxpbmUgLm1kYy1ub3RjaGVkLW91dGxpbmVfX25vdGNoLFxuLnNpdGUtZm9ybS53YXMtdmFsaWRhdGVkIC5tZGMtdGV4dC1maWVsZF9faW5wdXQ6aW52YWxpZCB+IC5tZGMtbm90Y2hlZC1vdXRsaW5lIC5tZGMtbm90Y2hlZC1vdXRsaW5lX190cmFpbGluZyB7XG4gIGJvcmRlci1jb2xvcjogI2ZmMDAwMCAhaW1wb3J0YW50O1xufVxuLndhcy12YWxpZGF0ZWQgLnNpdGUtZm9ybSAubWRjLXRleHQtZmllbGRfX2lucHV0OmludmFsaWQgfiAubWRjLW5vdGNoZWQtb3V0bGluZSAubWRjLWZsb2F0aW5nLWxhYmVsLCAuc2l0ZS1mb3JtLndhcy12YWxpZGF0ZWQgLm1kYy10ZXh0LWZpZWxkX19pbnB1dDppbnZhbGlkIH4gLm1kYy1ub3RjaGVkLW91dGxpbmUgLm1kYy1mbG9hdGluZy1sYWJlbCB7XG4gIGNvbG9yOiAjZmYwMDAwICFpbXBvcnRhbnQ7XG59XG4ud2FzLXZhbGlkYXRlZCAuc2l0ZS1mb3JtIC5tZGMtdGV4dC1maWVsZF9faW5wdXQ6aW52YWxpZCB+IC5tZGMtbm90Y2hlZC1vdXRsaW5lIC5tZGMtZmxvYXRpbmctbGFiZWw6YWZ0ZXIsIC5zaXRlLWZvcm0ud2FzLXZhbGlkYXRlZCAubWRjLXRleHQtZmllbGRfX2lucHV0OmludmFsaWQgfiAubWRjLW5vdGNoZWQtb3V0bGluZSAubWRjLWZsb2F0aW5nLWxhYmVsOmFmdGVyIHtcbiAgY29sb3I6ICNmZjAwMDAgIWltcG9ydGFudDtcbn1cbi53YXMtdmFsaWRhdGVkIC5zaXRlLWZvcm0gLnNpdGUtZm9ybV9fY2hlY2tib3gtLXJlcXVpcmVkLnNpdGUtZm9ybV9fY2hlY2tib3gtLXVuY2hlY2tlZCB+IGxhYmVsLCAuc2l0ZS1mb3JtLndhcy12YWxpZGF0ZWQgLnNpdGUtZm9ybV9fY2hlY2tib3gtLXJlcXVpcmVkLnNpdGUtZm9ybV9fY2hlY2tib3gtLXVuY2hlY2tlZCB+IGxhYmVsIHtcbiAgY29sb3I6ICNmZjAwMDA7XG59XG4ud2FzLXZhbGlkYXRlZCAuc2l0ZS1mb3JtIC5zaXRlLWZvcm1fX2NoZWNrYm94LS1yZXF1aXJlZC5zaXRlLWZvcm1fX2NoZWNrYm94LS11bmNoZWNrZWQgfiBsYWJlbDphZnRlciwgLnNpdGUtZm9ybS53YXMtdmFsaWRhdGVkIC5zaXRlLWZvcm1fX2NoZWNrYm94LS1yZXF1aXJlZC5zaXRlLWZvcm1fX2NoZWNrYm94LS11bmNoZWNrZWQgfiBsYWJlbDphZnRlciB7XG4gIGNvbG9yOiAjZmYwMDAwO1xufVxuLndhcy12YWxpZGF0ZWQgLnNpdGUtZm9ybSAuc2l0ZS1mb3JtX19jaGVja2JveC0tcmVxdWlyZWQuc2l0ZS1mb3JtX19jaGVja2JveC0tdW5jaGVja2VkIH4gbGFiZWwgYSwgLnNpdGUtZm9ybS53YXMtdmFsaWRhdGVkIC5zaXRlLWZvcm1fX2NoZWNrYm94LS1yZXF1aXJlZC5zaXRlLWZvcm1fX2NoZWNrYm94LS11bmNoZWNrZWQgfiBsYWJlbCBhIHtcbiAgY29sb3I6ICNmZjAwMDA7XG4gIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xufVxuLndhcy12YWxpZGF0ZWQgLnNpdGUtZm9ybSAuc2l0ZS1mb3JtX19yYWRpby0tcmVxdWlyZWQuc2l0ZS1mb3JtX19yYWRpby0tdW5jaGVja2VkIH4gbGFiZWwsIC5zaXRlLWZvcm0ud2FzLXZhbGlkYXRlZCAuc2l0ZS1mb3JtX19yYWRpby0tcmVxdWlyZWQuc2l0ZS1mb3JtX19yYWRpby0tdW5jaGVja2VkIH4gbGFiZWwge1xuICBjb2xvcjogI2ZmMDAwMDtcbn1cbi53YXMtdmFsaWRhdGVkIC5zaXRlLWZvcm0gLnNpdGUtZm9ybV9fcmFkaW8tLXJlcXVpcmVkLnNpdGUtZm9ybV9fcmFkaW8tLXVuY2hlY2tlZCB+IGxhYmVsOmFmdGVyLCAuc2l0ZS1mb3JtLndhcy12YWxpZGF0ZWQgLnNpdGUtZm9ybV9fcmFkaW8tLXJlcXVpcmVkLnNpdGUtZm9ybV9fcmFkaW8tLXVuY2hlY2tlZCB+IGxhYmVsOmFmdGVyIHtcbiAgY29sb3I6ICNmZjAwMDA7XG59XG4ud2FzLXZhbGlkYXRlZCAuc2l0ZS1mb3JtIC5zaXRlLWZvcm1fX3JhZGlvLS1yZXF1aXJlZC5zaXRlLWZvcm1fX3JhZGlvLS11bmNoZWNrZWQgfiBsYWJlbCBhLCAuc2l0ZS1mb3JtLndhcy12YWxpZGF0ZWQgLnNpdGUtZm9ybV9fcmFkaW8tLXJlcXVpcmVkLnNpdGUtZm9ybV9fcmFkaW8tLXVuY2hlY2tlZCB+IGxhYmVsIGEge1xuICBjb2xvcjogI2ZmMDAwMDtcbiAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG59XG4ud2FzLXZhbGlkYXRlZCAuc2l0ZS1mb3JtIC5tZGMtc2VsZWN0LS1vdXRsaW5lZC5tZGMtc2VsZWN0LS1pbnZhbGlkIC5tZGMtc2VsZWN0X19hbmNob3IsIC5zaXRlLWZvcm0ud2FzLXZhbGlkYXRlZCAubWRjLXNlbGVjdC0tb3V0bGluZWQubWRjLXNlbGVjdC0taW52YWxpZCAubWRjLXNlbGVjdF9fYW5jaG9yIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiZGF0YTppbWFnZS9zdmcreG1sO2NoYXJzZXQ9dXRmOCwlM0NzdmclMjB4bWxucyUzRCUyMmh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJTIyJTIwZmlsbCUzRCUyMiUyM2ZmMDAwMCUyMiUyMHZpZXdCb3glM0QlMjIwJTIwMCUyMDE2JTIwMzIlMjIlM0UlM0NwYXRoJTIwZCUzRCUyMk0xNCwxMS4xSDNMOC41LDJaTTMsMjFIMTRMOC41LDMwLjFaJTIyLyUzRSUzQ3BhdGglMjBkJTNEJTIyTTE2LDMySDBWMEgxNlolMjIlMjBmaWxsJTNEJTIybm9uZSUyMi8lM0UlM0Mvc3ZnJTNFXCIpO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDI1NSwgMCwgMCwgMCk7XG59XG4ud2FzLXZhbGlkYXRlZCAuc2l0ZS1mb3JtIC5tZGMtc2VsZWN0LS1vdXRsaW5lZC5tZGMtc2VsZWN0LS1pbnZhbGlkOmhvdmVyIC5tZGMtc2VsZWN0X19hbmNob3IsIC53YXMtdmFsaWRhdGVkIC5zaXRlLWZvcm0gLm1kYy1zZWxlY3QtLW91dGxpbmVkLm1kYy1zZWxlY3QtLWludmFsaWQ6Zm9jdXMgLm1kYy1zZWxlY3RfX2FuY2hvciwgLnNpdGUtZm9ybS53YXMtdmFsaWRhdGVkIC5tZGMtc2VsZWN0LS1vdXRsaW5lZC5tZGMtc2VsZWN0LS1pbnZhbGlkOmhvdmVyIC5tZGMtc2VsZWN0X19hbmNob3IsIC5zaXRlLWZvcm0ud2FzLXZhbGlkYXRlZCAubWRjLXNlbGVjdC0tb3V0bGluZWQubWRjLXNlbGVjdC0taW52YWxpZDpmb2N1cyAubWRjLXNlbGVjdF9fYW5jaG9yIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgyNTUsIDAsIDAsIDApO1xufVxuLndhcy12YWxpZGF0ZWQgLnNpdGUtZm9ybSAubWRjLXNlbGVjdC0tb3V0bGluZWQubWRjLXNlbGVjdC0taW52YWxpZCAubWRjLW5vdGNoZWQtb3V0bGluZV9fbGVhZGluZyxcbi53YXMtdmFsaWRhdGVkIC5zaXRlLWZvcm0gLm1kYy1zZWxlY3QtLW91dGxpbmVkLm1kYy1zZWxlY3QtLWludmFsaWQgLm1kYy1ub3RjaGVkLW91dGxpbmVfX25vdGNoLFxuLndhcy12YWxpZGF0ZWQgLnNpdGUtZm9ybSAubWRjLXNlbGVjdC0tb3V0bGluZWQubWRjLXNlbGVjdC0taW52YWxpZCAubWRjLW5vdGNoZWQtb3V0bGluZV9fdHJhaWxpbmcsIC5zaXRlLWZvcm0ud2FzLXZhbGlkYXRlZCAubWRjLXNlbGVjdC0tb3V0bGluZWQubWRjLXNlbGVjdC0taW52YWxpZCAubWRjLW5vdGNoZWQtb3V0bGluZV9fbGVhZGluZyxcbi5zaXRlLWZvcm0ud2FzLXZhbGlkYXRlZCAubWRjLXNlbGVjdC0tb3V0bGluZWQubWRjLXNlbGVjdC0taW52YWxpZCAubWRjLW5vdGNoZWQtb3V0bGluZV9fbm90Y2gsXG4uc2l0ZS1mb3JtLndhcy12YWxpZGF0ZWQgLm1kYy1zZWxlY3QtLW91dGxpbmVkLm1kYy1zZWxlY3QtLWludmFsaWQgLm1kYy1ub3RjaGVkLW91dGxpbmVfX3RyYWlsaW5nIHtcbiAgYm9yZGVyLWNvbG9yOiAjZmYwMDAwICFpbXBvcnRhbnQ7XG59XG4ud2FzLXZhbGlkYXRlZCAuc2l0ZS1mb3JtIC5tZGMtc2VsZWN0LS1vdXRsaW5lZC5tZGMtc2VsZWN0LS1pbnZhbGlkIC5tZGMtZmxvYXRpbmctbGFiZWwsIC5zaXRlLWZvcm0ud2FzLXZhbGlkYXRlZCAubWRjLXNlbGVjdC0tb3V0bGluZWQubWRjLXNlbGVjdC0taW52YWxpZCAubWRjLWZsb2F0aW5nLWxhYmVsIHtcbiAgY29sb3I6ICNmZjAwMDAgIWltcG9ydGFudDtcbn1cbi53YXMtdmFsaWRhdGVkIC5zaXRlLWZvcm0gLm1kYy1zZWxlY3QtLW91dGxpbmVkLm1kYy1zZWxlY3QtLWludmFsaWQgLnNpdGUtZm9ybV9fdmFsaWRhdGlvbi10ZXh0LCAuc2l0ZS1mb3JtLndhcy12YWxpZGF0ZWQgLm1kYy1zZWxlY3QtLW91dGxpbmVkLm1kYy1zZWxlY3QtLWludmFsaWQgLnNpdGUtZm9ybV9fdmFsaWRhdGlvbi10ZXh0IHtcbiAgZGlzcGxheTogdGFibGU7XG59XG4ud2FzLXZhbGlkYXRlZCAuc2l0ZS1mb3JtIC5tZGMtcmFkaW8tZmllbGQgLnNpdGUtZm9ybV9fdmFsaWRhdGlvbi10ZXh0LCAuc2l0ZS1mb3JtLndhcy12YWxpZGF0ZWQgLm1kYy1yYWRpby1maWVsZCAuc2l0ZS1mb3JtX192YWxpZGF0aW9uLXRleHQge1xuICBsZWZ0OiAzNXB4O1xuICBib3R0b206IDEwcHg7XG59XG4ud2FzLXZhbGlkYXRlZCAuc2l0ZS1mb3JtIC5tZGMtcmFkaW8tZmllbGQtLWludmFsaWQgLnNpdGUtZm9ybV9fdmFsaWRhdGlvbi10ZXh0LCAuc2l0ZS1mb3JtLndhcy12YWxpZGF0ZWQgLm1kYy1yYWRpby1maWVsZC0taW52YWxpZCAuc2l0ZS1mb3JtX192YWxpZGF0aW9uLXRleHQge1xuICBkaXNwbGF5OiB0YWJsZTtcbn1cbi53YXMtdmFsaWRhdGVkIC5zaXRlLWZvcm0gLm1kYy1mb3JtLWZpZWxkLS1pbnZhbGlkIGxhYmVsLCAuc2l0ZS1mb3JtLndhcy12YWxpZGF0ZWQgLm1kYy1mb3JtLWZpZWxkLS1pbnZhbGlkIGxhYmVsIHtcbiAgY29sb3I6ICNmZjAwMDA7XG59XG4ud2FzLXZhbGlkYXRlZCAuc2l0ZS1mb3JtIC5tZGMtZm9ybS1maWVsZC0taW52YWxpZCBsYWJlbDphZnRlciwgLnNpdGUtZm9ybS53YXMtdmFsaWRhdGVkIC5tZGMtZm9ybS1maWVsZC0taW52YWxpZCBsYWJlbDphZnRlciB7XG4gIGNvbG9yOiAjZmYwMDAwO1xufVxuLndhcy12YWxpZGF0ZWQgLnNpdGUtZm9ybSAubWRjLWZvcm0tZmllbGQtLWludmFsaWQgbGFiZWwgYSwgLnNpdGUtZm9ybS53YXMtdmFsaWRhdGVkIC5tZGMtZm9ybS1maWVsZC0taW52YWxpZCBsYWJlbCBhIHtcbiAgY29sb3I6ICNmZjAwMDA7XG4gIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xufVxuLndhcy12YWxpZGF0ZWQgLnNpdGUtZm9ybSAubWRjLWZvcm0tZmllbGQtLWludmFsaWQgfiAuc2l0ZS1mb3JtX192YWxpZGF0aW9uLXRleHQsIC5zaXRlLWZvcm0ud2FzLXZhbGlkYXRlZCAubWRjLWZvcm0tZmllbGQtLWludmFsaWQgfiAuc2l0ZS1mb3JtX192YWxpZGF0aW9uLXRleHQge1xuICBkaXNwbGF5OiBibG9jaztcbiAgcG9zaXRpb246IHN0YXRpYztcbiAgcGFkZGluZy1sZWZ0OiAwO1xuICBwYWRkaW5nLXJpZ2h0OiAwO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgbWFyZ2luOiA2cHggMCAwIDA7XG4gIHdpZHRoOiAxMDAlO1xuICBtYXgtd2lkdGg6IG5vbmU7XG4gIHRyYW5zZm9ybTogbm9uZTtcbn1cbkBtZWRpYSAobWluLXdpZHRoOiAxNjU2cHgpIHtcbiAgLndhcy12YWxpZGF0ZWQgLnNpdGUtZm9ybSAubWRjLWZvcm0tZmllbGQtLWludmFsaWQgfiAuc2l0ZS1mb3JtX192YWxpZGF0aW9uLXRleHQsIC5zaXRlLWZvcm0ud2FzLXZhbGlkYXRlZCAubWRjLWZvcm0tZmllbGQtLWludmFsaWQgfiAuc2l0ZS1mb3JtX192YWxpZGF0aW9uLXRleHQge1xuICAgIHBhZGRpbmctbGVmdDogNDRweDtcbiAgfVxufVxuLndhcy12YWxpZGF0ZWQgLnNpdGUtZm9ybSAubWRjLWZvcm0tZmllbGQtLWludmFsaWQgfiAubmV3c2xldHRlci1hZ3JlZW1lbnRzX19pbmZvIH4gLnNpdGUtZm9ybV9fdmFsaWRhdGlvbi10ZXh0LCAuc2l0ZS1mb3JtLndhcy12YWxpZGF0ZWQgLm1kYy1mb3JtLWZpZWxkLS1pbnZhbGlkIH4gLm5ld3NsZXR0ZXItYWdyZWVtZW50c19faW5mbyB+IC5zaXRlLWZvcm1fX3ZhbGlkYXRpb24tdGV4dCB7XG4gIG1hcmdpbi10b3A6IC0xMHB4O1xuICBtYXJnaW4tYm90dG9tOiAxOHB4O1xufVxuLnNpdGUtZm9ybS5zZXJ2ZXItc2lkZS12YWxpZGF0ZWQgLnNlcnZlci1zaWRlLS1pbnZhbGlkIH4gLm1kYy1ub3RjaGVkLW91dGxpbmUgLm1kYy1ub3RjaGVkLW91dGxpbmVfX2xlYWRpbmcsXG4uc2l0ZS1mb3JtLnNlcnZlci1zaWRlLXZhbGlkYXRlZCAuc2VydmVyLXNpZGUtLWludmFsaWQgfiAubWRjLW5vdGNoZWQtb3V0bGluZSAubWRjLW5vdGNoZWQtb3V0bGluZV9fbm90Y2gsXG4uc2l0ZS1mb3JtLnNlcnZlci1zaWRlLXZhbGlkYXRlZCAuc2VydmVyLXNpZGUtLWludmFsaWQgfiAubWRjLW5vdGNoZWQtb3V0bGluZSAubWRjLW5vdGNoZWQtb3V0bGluZV9fdHJhaWxpbmcge1xuICBib3JkZXItY29sb3I6ICNmZjAwMDAgIWltcG9ydGFudDtcbiAgY29sb3I6ICNmZjAwMDAgIWltcG9ydGFudDtcbn1cbi5zaXRlLWZvcm0uc2VydmVyLXNpZGUtdmFsaWRhdGVkIC5zZXJ2ZXItc2lkZS0taW52YWxpZCB+IC5tZGMtbm90Y2hlZC1vdXRsaW5lIC5tZGMtbm90Y2hlZC1vdXRsaW5lX19sZWFkaW5nOmFmdGVyLFxuLnNpdGUtZm9ybS5zZXJ2ZXItc2lkZS12YWxpZGF0ZWQgLnNlcnZlci1zaWRlLS1pbnZhbGlkIH4gLm1kYy1ub3RjaGVkLW91dGxpbmUgLm1kYy1ub3RjaGVkLW91dGxpbmVfX25vdGNoOmFmdGVyLFxuLnNpdGUtZm9ybS5zZXJ2ZXItc2lkZS12YWxpZGF0ZWQgLnNlcnZlci1zaWRlLS1pbnZhbGlkIH4gLm1kYy1ub3RjaGVkLW91dGxpbmUgLm1kYy1ub3RjaGVkLW91dGxpbmVfX3RyYWlsaW5nOmFmdGVyIHtcbiAgY29sb3I6ICNmZjAwMDAgIWltcG9ydGFudDtcbn1cbi5zaXRlLWZvcm0uc2VydmVyLXNpZGUtdmFsaWRhdGVkIC5zZXJ2ZXItc2lkZS0taW52YWxpZCB+IC5tZGMtbm90Y2hlZC1vdXRsaW5lIC5tZGMtZmxvYXRpbmctbGFiZWwge1xuICBjb2xvcjogI2ZmMDAwMCAhaW1wb3J0YW50O1xufVxuLnNpdGUtZm9ybS5zZXJ2ZXItc2lkZS12YWxpZGF0ZWQgLnNlcnZlci1zaWRlLS1pbnZhbGlkIH4gLm1kYy1ub3RjaGVkLW91dGxpbmUgLm1kYy1mbG9hdGluZy1sYWJlbDphZnRlciB7XG4gIGNvbG9yOiAjZmYwMDAwICFpbXBvcnRhbnQ7XG59XG4uc2l0ZS1mb3JtLnNlcnZlci1zaWRlLXZhbGlkYXRlZCAubWRjLXNlbGVjdC0tb3V0bGluZWQuc2VydmVyLXNpZGUtLWludmFsaWQgLm1kYy1zZWxlY3RfX2FuY2hvciB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbDtjaGFyc2V0PXV0ZjgsJTNDc3ZnJTIweG1sbnMlM0QlMjJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyUyMiUyMGZpbGwlM0QlMjIlMjNmZjAwMDAlMjIlMjB2aWV3Qm94JTNEJTIyMCUyMDAlMjAxNiUyMDMyJTIyJTNFJTNDcGF0aCUyMGQlM0QlMjJNMTQsMTEuMUgzTDguNSwyWk0zLDIxSDE0TDguNSwzMC4xWiUyMi8lM0UlM0NwYXRoJTIwZCUzRCUyMk0xNiwzMkgwVjBIMTZaJTIyJTIwZmlsbCUzRCUyMm5vbmUlMjIvJTNFJTNDL3N2ZyUzRVwiKTtcbiAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgyNTUsIDAsIDAsIDApO1xufVxuLnNpdGUtZm9ybS5zZXJ2ZXItc2lkZS12YWxpZGF0ZWQgLm1kYy1zZWxlY3QtLW91dGxpbmVkLnNlcnZlci1zaWRlLS1pbnZhbGlkOmhvdmVyIC5tZGMtc2VsZWN0X19hbmNob3IsIC5zaXRlLWZvcm0uc2VydmVyLXNpZGUtdmFsaWRhdGVkIC5tZGMtc2VsZWN0LS1vdXRsaW5lZC5zZXJ2ZXItc2lkZS0taW52YWxpZDpmb2N1cyAubWRjLXNlbGVjdF9fYW5jaG9yIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgyNTUsIDAsIDAsIDApO1xufVxuLnNpdGUtZm9ybS5zZXJ2ZXItc2lkZS12YWxpZGF0ZWQgLm1kYy1zZWxlY3QtLW91dGxpbmVkLnNlcnZlci1zaWRlLS1pbnZhbGlkIC5tZGMtbm90Y2hlZC1vdXRsaW5lX19sZWFkaW5nLFxuLnNpdGUtZm9ybS5zZXJ2ZXItc2lkZS12YWxpZGF0ZWQgLm1kYy1zZWxlY3QtLW91dGxpbmVkLnNlcnZlci1zaWRlLS1pbnZhbGlkIC5tZGMtbm90Y2hlZC1vdXRsaW5lX19ub3RjaCxcbi5zaXRlLWZvcm0uc2VydmVyLXNpZGUtdmFsaWRhdGVkIC5tZGMtc2VsZWN0LS1vdXRsaW5lZC5zZXJ2ZXItc2lkZS0taW52YWxpZCAubWRjLW5vdGNoZWQtb3V0bGluZV9fdHJhaWxpbmcge1xuICBib3JkZXItY29sb3I6ICNmZjAwMDAgIWltcG9ydGFudDtcbn1cbi5zaXRlLWZvcm0uc2VydmVyLXNpZGUtdmFsaWRhdGVkIC5tZGMtc2VsZWN0LS1vdXRsaW5lZC5zZXJ2ZXItc2lkZS0taW52YWxpZCAubWRjLWZsb2F0aW5nLWxhYmVsIHtcbiAgY29sb3I6ICNmZjAwMDAgIWltcG9ydGFudDtcbn1cbi5zaXRlLWZvcm0uc2VydmVyLXNpZGUtdmFsaWRhdGVkIC5tZGMtc2VsZWN0LS1vdXRsaW5lZC5zZXJ2ZXItc2lkZS0taW52YWxpZCAuc2l0ZS1mb3JtX192YWxpZGF0aW9uLXRleHQge1xuICBkaXNwbGF5OiB0YWJsZTtcbn1cbi5zaXRlLWZvcm0uc2VydmVyLXNpZGUtdmFsaWRhdGVkIC5maWxlaW5wdXQtY29udGFpbmVyLmZpbGVpbnB1dC1jb250YWluZXItLWludmFsaWQgLmZpbGVpbnB1dDpub3QoLmZpbGVpbnB1dC1leGlzdHMpIH4gLnNpdGUtZm9ybV9fc2VydmVyLXZhbGlkYXRpb24tdGV4dCB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBib3R0b206IC01cHg7XG59XG4uc2l0ZS1mb3JtLmpzLXNpZGUtdmFsaWRhdGVkIC5qcy1zaWRlLS1pbnZhbGlkIH4gLm1kYy1ub3RjaGVkLW91dGxpbmUgLm1kYy1ub3RjaGVkLW91dGxpbmVfX2xlYWRpbmcsXG4uc2l0ZS1mb3JtLmpzLXNpZGUtdmFsaWRhdGVkIC5qcy1zaWRlLS1pbnZhbGlkIH4gLm1kYy1ub3RjaGVkLW91dGxpbmUgLm1kYy1ub3RjaGVkLW91dGxpbmVfX25vdGNoLFxuLnNpdGUtZm9ybS5qcy1zaWRlLXZhbGlkYXRlZCAuanMtc2lkZS0taW52YWxpZCB+IC5tZGMtbm90Y2hlZC1vdXRsaW5lIC5tZGMtbm90Y2hlZC1vdXRsaW5lX190cmFpbGluZyB7XG4gIGJvcmRlci1jb2xvcjogI2ZmMDAwMCAhaW1wb3J0YW50O1xuICBjb2xvcjogI2ZmMDAwMCAhaW1wb3J0YW50O1xufVxuLnNpdGUtZm9ybS5qcy1zaWRlLXZhbGlkYXRlZCAuanMtc2lkZS0taW52YWxpZCB+IC5tZGMtbm90Y2hlZC1vdXRsaW5lIC5tZGMtbm90Y2hlZC1vdXRsaW5lX19sZWFkaW5nOmFmdGVyLFxuLnNpdGUtZm9ybS5qcy1zaWRlLXZhbGlkYXRlZCAuanMtc2lkZS0taW52YWxpZCB+IC5tZGMtbm90Y2hlZC1vdXRsaW5lIC5tZGMtbm90Y2hlZC1vdXRsaW5lX19ub3RjaDphZnRlcixcbi5zaXRlLWZvcm0uanMtc2lkZS12YWxpZGF0ZWQgLmpzLXNpZGUtLWludmFsaWQgfiAubWRjLW5vdGNoZWQtb3V0bGluZSAubWRjLW5vdGNoZWQtb3V0bGluZV9fdHJhaWxpbmc6YWZ0ZXIge1xuICBjb2xvcjogI2ZmMDAwMCAhaW1wb3J0YW50O1xufVxuLnNpdGUtZm9ybS5qcy1zaWRlLXZhbGlkYXRlZCAuanMtc2lkZS0taW52YWxpZCB+IC5tZGMtbm90Y2hlZC1vdXRsaW5lIC5tZGMtZmxvYXRpbmctbGFiZWwge1xuICBjb2xvcjogI2ZmMDAwMCAhaW1wb3J0YW50O1xufVxuLnNpdGUtZm9ybS5qcy1zaWRlLXZhbGlkYXRlZCAuanMtc2lkZS0taW52YWxpZCB+IC5tZGMtbm90Y2hlZC1vdXRsaW5lIC5tZGMtZmxvYXRpbmctbGFiZWw6YWZ0ZXIge1xuICBjb2xvcjogI2ZmMDAwMCAhaW1wb3J0YW50O1xufVxuLnNpdGUtZm9ybS5qcy1zaWRlLXZhbGlkYXRlZCAubWRjLXNlbGVjdC0tb3V0bGluZWQuanMtc2lkZS0taW52YWxpZCAubWRjLXNlbGVjdF9fYW5jaG9yIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiZGF0YTppbWFnZS9zdmcreG1sO2NoYXJzZXQ9dXRmOCwlM0NzdmclMjB4bWxucyUzRCUyMmh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJTIyJTIwZmlsbCUzRCUyMiUyM2ZmMDAwMCUyMiUyMHZpZXdCb3glM0QlMjIwJTIwMCUyMDE2JTIwMzIlMjIlM0UlM0NwYXRoJTIwZCUzRCUyMk0xNCwxMS4xSDNMOC41LDJaTTMsMjFIMTRMOC41LDMwLjFaJTIyLyUzRSUzQ3BhdGglMjBkJTNEJTIyTTE2LDMySDBWMEgxNlolMjIlMjBmaWxsJTNEJTIybm9uZSUyMi8lM0UlM0Mvc3ZnJTNFXCIpO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDI1NSwgMCwgMCwgMCk7XG59XG4uc2l0ZS1mb3JtLmpzLXNpZGUtdmFsaWRhdGVkIC5tZGMtc2VsZWN0LS1vdXRsaW5lZC5qcy1zaWRlLS1pbnZhbGlkOmhvdmVyIC5tZGMtc2VsZWN0X19hbmNob3IsIC5zaXRlLWZvcm0uanMtc2lkZS12YWxpZGF0ZWQgLm1kYy1zZWxlY3QtLW91dGxpbmVkLmpzLXNpZGUtLWludmFsaWQ6Zm9jdXMgLm1kYy1zZWxlY3RfX2FuY2hvciB7XG4gIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMjU1LCAwLCAwLCAwKTtcbn1cbi5zaXRlLWZvcm0uanMtc2lkZS12YWxpZGF0ZWQgLm1kYy1zZWxlY3QtLW91dGxpbmVkLmpzLXNpZGUtLWludmFsaWQgLm1kYy1ub3RjaGVkLW91dGxpbmVfX2xlYWRpbmcsXG4uc2l0ZS1mb3JtLmpzLXNpZGUtdmFsaWRhdGVkIC5tZGMtc2VsZWN0LS1vdXRsaW5lZC5qcy1zaWRlLS1pbnZhbGlkIC5tZGMtbm90Y2hlZC1vdXRsaW5lX19ub3RjaCxcbi5zaXRlLWZvcm0uanMtc2lkZS12YWxpZGF0ZWQgLm1kYy1zZWxlY3QtLW91dGxpbmVkLmpzLXNpZGUtLWludmFsaWQgLm1kYy1ub3RjaGVkLW91dGxpbmVfX3RyYWlsaW5nIHtcbiAgYm9yZGVyLWNvbG9yOiAjZmYwMDAwICFpbXBvcnRhbnQ7XG59XG4uc2l0ZS1mb3JtLmpzLXNpZGUtdmFsaWRhdGVkIC5tZGMtc2VsZWN0LS1vdXRsaW5lZC5qcy1zaWRlLS1pbnZhbGlkIC5tZGMtZmxvYXRpbmctbGFiZWwge1xuICBjb2xvcjogI2ZmMDAwMCAhaW1wb3J0YW50O1xufVxuLnNpdGUtZm9ybS5qcy1zaWRlLXZhbGlkYXRlZCAubWRjLXNlbGVjdC0tb3V0bGluZWQuanMtc2lkZS0taW52YWxpZCAuc2l0ZS1mb3JtX192YWxpZGF0aW9uLXRleHQge1xuICBkaXNwbGF5OiB0YWJsZTtcbn1cbi5zaXRlLWZvcm0gLm1kYy1mb3JtLWZpZWxkIHtcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7XG59XG4uc2l0ZS1mb3JtIC5tZGMtZm9ybS1maWVsZC0tY2hlY2tib3gge1xuICBmb250LXdlaWdodDogMzAwO1xuICBjb2xvcjogIzQxNDA0MjtcbiAgZm9udC1zaXplOiAxNXB4O1xuICBtYXJnaW4tYm90dG9tOiAxMHB4O1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGZsZXgtd3JhcDogd3JhcDtcbn1cbkBtZWRpYSAobWluLXdpZHRoOiAzNzVweCkge1xuICAuc2l0ZS1mb3JtIC5tZGMtZm9ybS1maWVsZC0tY2hlY2tib3gge1xuICAgIGZvbnQtc2l6ZTogMTdweDtcbiAgfVxufVxuQG1lZGlhIChtaW4td2lkdGg6IDE2NTZweCkge1xuICAuc2l0ZS1mb3JtIC5tZGMtZm9ybS1maWVsZC0tY2hlY2tib3gge1xuICAgIGZvbnQtc2l6ZTogMTlweDtcbiAgICBtYXJnaW4tYm90dG9tOiAxNHB4O1xuICB9XG59XG4uc2l0ZS1mb3JtIC5tZGMtZm9ybS1maWVsZC0tY2hlY2tib3ggbGFiZWwge1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIG1heC13aWR0aDogY2FsYygxMDAlIC0gNDBweCk7XG4gIG1hcmdpbi10b3A6IDZweCAhaW1wb3J0YW50O1xuICBsaW5lLWhlaWdodDogMS41Mjtcbn1cbkBtZWRpYSAobWluLXdpZHRoOiAxNDAwcHgpIHtcbiAgLnNpdGUtZm9ybSAubWRjLWZvcm0tZmllbGQtLWNoZWNrYm94IGxhYmVsIHtcbiAgICBsaW5lLWhlaWdodDogMS41Nzg7XG4gIH1cbn1cbi5zaXRlLWZvcm0gLm1kYy1mb3JtLWZpZWxkLS1jaGVja2JveCBsYWJlbCAuZXpyaWNodGV4dC1maWVsZCB7XG4gIGRpc3BsYXk6IGlubGluZTtcbn1cbi5zaXRlLWZvcm0gLm1kYy1mb3JtLWZpZWxkLS1jaGVja2JveCBsYWJlbCAuZXpyaWNodGV4dC1maWVsZCBwOmxhc3Qtb2YtdHlwZSB7XG4gIGRpc3BsYXk6IGlubGluZTtcbn1cbi5zaXRlLWZvcm0gLm1kYy1mb3JtLWZpZWxkLS1jaGVja2JveCBsYWJlbCAuZXpyaWNodGV4dC1maWVsZDphZnRlciB7XG4gIGNvbnRlbnQ6IG5vbmU7XG4gIGRpc3BsYXk6IG5vbmU7XG59XG4uc2l0ZS1mb3JtIC5tZGMtZm9ybS1maWVsZCBsYWJlbCB7XG4gIG1hcmdpbjogOXB4IDAgMCAwO1xuICBwYWRkaW5nLWxlZnQ6IDJweDtcbn1cbkBtZWRpYSAobWluLXdpZHRoOiAzNzVweCkge1xuICAuc2l0ZS1mb3JtIC5tZGMtZm9ybS1maWVsZCBsYWJlbCB7XG4gICAgcGFkZGluZy1sZWZ0OiA1cHg7XG4gICAgbWFyZ2luOiA4cHggMCAwIDA7XG4gIH1cbn1cbkBtZWRpYSAobWluLXdpZHRoOiAxNjU2cHgpIHtcbiAgLnNpdGUtZm9ybSAubWRjLWZvcm0tZmllbGQgbGFiZWwge1xuICAgIG1hcmdpbjogNnB4IDAgMCAwO1xuICAgIHBhZGRpbmctbGVmdDogMTRweDtcbiAgfVxufVxuLnNpdGUtZm9ybSAubWRjLWZvcm0tZmllbGQgbGFiZWwgYTpob3ZlciwgLnNpdGUtZm9ybSAubWRjLWZvcm0tZmllbGQgbGFiZWwgYTpmb2N1cyB7XG4gIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xuICBjb2xvcjogIzI2NTNCOTtcbn1cbi5zaXRlLWZvcm0gLm1kYy10ZXh0LWZpZWxkIHtcbiAgYm9yZGVyLXJhZGl1czogMDtcbiAgbGV0dGVyLXNwYWNpbmc6IDA7XG4gIGxpbmUtaGVpZ2h0OiAxLjE1O1xuICBoZWlnaHQ6IDQ4cHg7XG59XG5AbWVkaWEgKG1pbi13aWR0aDogMTY1NnB4KSB7XG4gIC5zaXRlLWZvcm0gLm1kYy10ZXh0LWZpZWxkIHtcbiAgICBsaW5lLWhlaWdodDogMS41NTtcbiAgICBoZWlnaHQ6IDY0cHg7XG4gICAgZm9udC1zaXplOiAxOXB4O1xuICB9XG59XG5AbWVkaWEgKG1pbi13aWR0aDogMTY1NnB4KSB7XG4gIC5zaXRlLWZvcm0gLm1kYy10ZXh0LWZpZWxkX19pbnB1dCB7XG4gICAgZm9udC1zaXplOiAxOXB4O1xuICB9XG59XG4uc2l0ZS1mb3JtIC50ZXh0LWZpZWxkLXJvdyB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBzdHJldGNoO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7XG4gIGZsZXgtd3JhcDogd3JhcDtcbn1cbi5zaXRlLWZvcm0gLnRleHQtZmllbGQtaGVscGVyIHtcbiAgZm9udC1zaXplOiAwLjlyZW07XG4gIG1hcmdpbi1ib3R0b206IDFyZW07XG59XG4uc2l0ZS1mb3JtIC50ZXh0LWZpZWxkLWRlc2NyaXB0aW9uIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIG1hcmdpbi10b3A6IDEwcHg7XG4gIGZvbnQtc2l6ZTogMTJweDtcbn1cbi5zaXRlLWZvcm0gLnRleHQtZmllbGQtY29udGFpbmVyIHtcbiAgbWFyZ2luLWJvdHRvbTogMTNweDtcbiAgd2lkdGg6IDEwMCU7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbn1cbkBtZWRpYSAobWluLXdpZHRoOiAxNjU2cHgpIHtcbiAgLnNpdGUtZm9ybSAudGV4dC1maWVsZC1jb250YWluZXIge1xuICAgIG1hcmdpbi1ib3R0b206IDI4cHg7XG4gIH1cbn1cbi5zaXRlLWZvcm0gLnRleHQtZmllbGQtY29udGFpbmVyIC5tZGMtdGV4dC1maWVsZCB7XG4gIHdpZHRoOiAxMDAlO1xufVxuLnNpdGUtZm9ybSAudGV4dC1maWVsZC1jb250YWluZXIgLnRleHQtZmllbGQtY29udGFpbmVyIHtcbiAgbWFyZ2luLWJvdHRvbTogMDtcbn1cbi5zaXRlLWZvcm0gLnRleHQtZmllbGQtY29udGFpbmVyLS1mdWxsIHtcbiAgd2lkdGg6IDEwMCU7XG59XG4uc2l0ZS1mb3JtIC50ZXh0LWZpZWxkLWNvbnRhaW5lci0taGFsZiB7XG4gIHdpZHRoOiBjYWxjKDUwJSAtIDZweCk7XG4gIG1hcmdpbi1yaWdodDogMTJweDtcbn1cbkBtZWRpYSAobWluLXdpZHRoOiA3NjhweCkge1xuICAuc2l0ZS1mb3JtIC50ZXh0LWZpZWxkLWNvbnRhaW5lci0taGFsZiB7XG4gICAgd2lkdGg6IGNhbGMoNTAlIC0gMTBweCk7XG4gICAgbWFyZ2luLXJpZ2h0OiAyMHB4O1xuICB9XG59XG4uc2l0ZS1mb3JtIC50ZXh0LWZpZWxkLWNvbnRhaW5lci0taGFsZiArIC50ZXh0LWZpZWxkLWNvbnRhaW5lci0taGFsZiB7XG4gIG1hcmdpbi1yaWdodDogMDtcbn1cbi5zaXRlLWZvcm0gLnRleHQtZmllbGQtY29udGFpbmVyLS1oYWxmLXNsYXNoIHtcbiAgd2lkdGg6IGNhbGMoNTAlIC0gMTZweCk7XG4gIG1hcmdpbi1yaWdodDogMDtcbn1cbkBtZWRpYSAobWluLXdpZHRoOiA3NjhweCkge1xuICAuc2l0ZS1mb3JtIC50ZXh0LWZpZWxkLWNvbnRhaW5lci0tZGVza3RvcC1oYWxmIHtcbiAgICB3aWR0aDogY2FsYyg1MCUgLSAxMHB4KTtcbiAgICBtYXJnaW4tcmlnaHQ6IDIwcHg7XG4gIH1cbn1cbkBtZWRpYSAobWluLXdpZHRoOiA3NjhweCkge1xuICAuc2l0ZS1mb3JtIC50ZXh0LWZpZWxkLWNvbnRhaW5lci0tZGVza3RvcC1oYWxmICsgLnRleHQtZmllbGQtY29udGFpbmVyLS1kZXNrdG9wLWhhbGYge1xuICAgIG1hcmdpbi1yaWdodDogMDtcbiAgfVxufVxuQG1lZGlhIChtYXgtd2lkdGg6IDc2Ny45cHgpIHtcbiAgLnNpdGUtZm9ybSAudGV4dC1maWVsZC1jb250YWluZXItLW1vYmlsZS1mdWxsIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gIH1cbn1cbi5zaXRlLWZvcm0gLnRleHQtZmllbGQtY29udGFpbmVyLS1yb3ctc2xhc2gge1xuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogZmxleC1zdGFydDtcbiAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICBmbGV4LXdyYXA6IG5vd3JhcDtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiZGF0YTppbWFnZS9zdmcreG1sO2NoYXJzZXQ9dXRmOCwlM0NzdmclMjB4bWxucyUzRCUyMmh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJTIyJTIwZmlsbCUzRCUyMiUyMzdhN2E3YSUyMiUyMHZpZXdCb3glM0QlMjIwJTIwMCUyMDE5JTIwMzMlMjIlM0UlM0NwYXRoJTIwZCUzRCUyMk0xNy41NSwxLjU0LDMuODksMzEuNzhhLjM4LjM4LDAsMCwxLS4zNC4yMkgxLjM4QS4zOC4zOCwwLDAsMSwxLDMxLjQ2TDE0LjY5LDEuMjJBLjM5LjM5LDAsMCwxLDE1LDFIMTcuMkEuMzguMzgsMCwwLDEsMTcuNTUsMS41NFolMjIvJTNFJTNDcGF0aCUyMGQlM0QlMjJNMTksMzNIMFYwSDE5WiUyMiUyMGZpbGwlM0QlMjJub25lJTIyLyUzRSUzQy9zdmclM0VcIik7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IHRvcCAxNnB4IGNlbnRlcjtcbiAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgYmFja2dyb3VuZC1zaXplOiA5cHggMThweDtcbn1cbkBtZWRpYSAobWluLXdpZHRoOiAxNjU2cHgpIHtcbiAgLnNpdGUtZm9ybSAudGV4dC1maWVsZC1jb250YWluZXItLXJvdy1zbGFzaCB7XG4gICAgYmFja2dyb3VuZC1wb3NpdGlvbjogdG9wIDIxcHggY2VudGVyO1xuICAgIGJhY2tncm91bmQtc2l6ZTogMTBweCAyMHB4O1xuICB9XG59XG4uc2l0ZS1mb3JtIC5tZGMtYnV0dG9uIHtcbiAgbWluLWhlaWdodDogNDhweDtcbiAgZm9udC1zaXplOiAxNnB4O1xufVxuQG1lZGlhIChtaW4td2lkdGg6IDE2NTZweCkge1xuICAuc2l0ZS1mb3JtIC5tZGMtYnV0dG9uIHtcbiAgICBtaW4taGVpZ2h0OiA2NHB4O1xuICAgIGZvbnQtc2l6ZTogMjRweDtcbiAgfVxufVxuLnNpdGUtZm9ybSAubWRjLXRleHQtZmllbGQtLW91dGxpbmVkIC5tZGMtZmxvYXRpbmctbGFiZWwsXG4uc2l0ZS1mb3JtIC5tZGMtdGV4dC1maWVsZC0tdGV4dGFyZWEgLm1kYy1mbG9hdGluZy1sYWJlbCB7XG4gIHRvcDogMTRweDtcbiAgdHJhbnNmb3JtOiBub25lO1xufVxuLmZpcmVmb3ggLnNpdGUtZm9ybSAubWRjLXRleHQtZmllbGQtLW91dGxpbmVkIC5tZGMtZmxvYXRpbmctbGFiZWwsXG4uZmlyZWZveCAuc2l0ZS1mb3JtIC5tZGMtdGV4dC1maWVsZC0tdGV4dGFyZWEgLm1kYy1mbG9hdGluZy1sYWJlbCB7XG4gIHRvcDogMTNweDtcbn1cbkBtZWRpYSAobWluLXdpZHRoOiAxNjU2cHgpIHtcbiAgLnNpdGUtZm9ybSAubWRjLXRleHQtZmllbGQtLW91dGxpbmVkIC5tZGMtZmxvYXRpbmctbGFiZWwsXG4gIC5zaXRlLWZvcm0gLm1kYy10ZXh0LWZpZWxkLS10ZXh0YXJlYSAubWRjLWZsb2F0aW5nLWxhYmVsIHtcbiAgICB0b3A6IDE5cHg7XG4gIH1cbiAgLmZpcmVmb3ggLnNpdGUtZm9ybSAubWRjLXRleHQtZmllbGQtLW91dGxpbmVkIC5tZGMtZmxvYXRpbmctbGFiZWwsXG4gIC5maXJlZm94IC5zaXRlLWZvcm0gLm1kYy10ZXh0LWZpZWxkLS10ZXh0YXJlYSAubWRjLWZsb2F0aW5nLWxhYmVsIHtcbiAgICB0b3A6IDE4cHg7XG4gIH1cbn1cbi5zaXRlLWZvcm0gLm1kYy10ZXh0LWZpZWxkLS1vdXRsaW5lZCAubWRjLW5vdGNoZWQtb3V0bGluZS0tdXBncmFkZWQgLm1kYy1mbG9hdGluZy1sYWJlbC0tZmxvYXQtYWJvdmUsXG4uc2l0ZS1mb3JtIC5tZGMtdGV4dC1maWVsZC0tb3V0bGluZWQubWRjLW5vdGNoZWQtb3V0bGluZS0tdXBncmFkZWQgLm1kYy1mbG9hdGluZy1sYWJlbC0tZmxvYXQtYWJvdmUge1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTE1MCUpIHNjYWxlKDAuNzUpO1xuICB0b3A6IDIxcHg7XG59XG4uZmlyZWZveCAuc2l0ZS1mb3JtIC5tZGMtdGV4dC1maWVsZC0tb3V0bGluZWQgLm1kYy1ub3RjaGVkLW91dGxpbmUtLXVwZ3JhZGVkIC5tZGMtZmxvYXRpbmctbGFiZWwtLWZsb2F0LWFib3ZlLFxuLmZpcmVmb3ggLnNpdGUtZm9ybSAubWRjLXRleHQtZmllbGQtLW91dGxpbmVkLm1kYy1ub3RjaGVkLW91dGxpbmUtLXVwZ3JhZGVkIC5tZGMtZmxvYXRpbmctbGFiZWwtLWZsb2F0LWFib3ZlIHtcbiAgdG9wOiAyMHB4O1xufVxuQG1lZGlhIChtaW4td2lkdGg6IDE2NTZweCkge1xuICAuc2l0ZS1mb3JtIC5tZGMtdGV4dC1maWVsZC0tb3V0bGluZWQgLm1kYy1ub3RjaGVkLW91dGxpbmUtLXVwZ3JhZGVkIC5tZGMtZmxvYXRpbmctbGFiZWwtLWZsb2F0LWFib3ZlLFxuICAuc2l0ZS1mb3JtIC5tZGMtdGV4dC1maWVsZC0tb3V0bGluZWQubWRjLW5vdGNoZWQtb3V0bGluZS0tdXBncmFkZWQgLm1kYy1mbG9hdGluZy1sYWJlbC0tZmxvYXQtYWJvdmUge1xuICAgIGZvbnQtc2l6ZTogMTlweDtcbiAgICB0b3A6IDI0cHg7XG4gIH1cbiAgLmZpcmVmb3ggLnNpdGUtZm9ybSAubWRjLXRleHQtZmllbGQtLW91dGxpbmVkIC5tZGMtbm90Y2hlZC1vdXRsaW5lLS11cGdyYWRlZCAubWRjLWZsb2F0aW5nLWxhYmVsLS1mbG9hdC1hYm92ZSxcbiAgLmZpcmVmb3ggLnNpdGUtZm9ybSAubWRjLXRleHQtZmllbGQtLW91dGxpbmVkLm1kYy1ub3RjaGVkLW91dGxpbmUtLXVwZ3JhZGVkIC5tZGMtZmxvYXRpbmctbGFiZWwtLWZsb2F0LWFib3ZlIHtcbiAgICB0b3A6IDIwcHg7XG4gIH1cbn1cbi5zaXRlLWZvcm0gLm1kYy10ZXh0LWZpZWxkLS10ZXh0YXJlYSAubWRjLW5vdGNoZWQtb3V0bGluZS0tdXBncmFkZWQgLm1kYy1mbG9hdGluZy1sYWJlbC0tZmxvYXQtYWJvdmUge1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTE1MCUpIHNjYWxlKDAuNzUpO1xuICB0b3A6IDIzcHg7XG59XG4uZmlyZWZveCAuc2l0ZS1mb3JtIC5tZGMtdGV4dC1maWVsZC0tdGV4dGFyZWEgLm1kYy1ub3RjaGVkLW91dGxpbmUtLXVwZ3JhZGVkIC5tZGMtZmxvYXRpbmctbGFiZWwtLWZsb2F0LWFib3ZlIHtcbiAgdG9wOiAyMnB4O1xufVxuQG1lZGlhIChtaW4td2lkdGg6IDE2NTZweCkge1xuICAuc2l0ZS1mb3JtIC5tZGMtdGV4dC1maWVsZC0tdGV4dGFyZWEgLm1kYy1ub3RjaGVkLW91dGxpbmUtLXVwZ3JhZGVkIC5tZGMtZmxvYXRpbmctbGFiZWwtLWZsb2F0LWFib3ZlIHtcbiAgICBmb250LXNpemU6IDE5cHg7XG4gICAgdG9wOiAyNXB4O1xuICB9XG4gIC5maXJlZm94IC5zaXRlLWZvcm0gLm1kYy10ZXh0LWZpZWxkLS10ZXh0YXJlYSAubWRjLW5vdGNoZWQtb3V0bGluZS0tdXBncmFkZWQgLm1kYy1mbG9hdGluZy1sYWJlbC0tZmxvYXQtYWJvdmUge1xuICAgIHRvcDogMjFweDtcbiAgfVxufVxuLnNpdGUtZm9ybSAubWRjLXRleHQtZmllbGQtLW91dGxpbmVkLm1kYy10ZXh0LWZpZWxkLS1mb2N1c2VkIC5tZGMtbm90Y2hlZC1vdXRsaW5lLS11cGdyYWRlZCAubWRjLWZsb2F0aW5nLWxhYmVsLS1mbG9hdC1hYm92ZSxcbi5zaXRlLWZvcm0gLm1kYy10ZXh0LWZpZWxkLS1vdXRsaW5lZC5tZGMtdGV4dC1maWVsZC0tZm9jdXNlZC5tZGMtbm90Y2hlZC1vdXRsaW5lLS11cGdyYWRlZCAubWRjLWZsb2F0aW5nLWxhYmVsLS1mbG9hdC1hYm92ZSB7XG4gIHRvcDogMjBweDtcbn1cbi5maXJlZm94IC5zaXRlLWZvcm0gLm1kYy10ZXh0LWZpZWxkLS1vdXRsaW5lZC5tZGMtdGV4dC1maWVsZC0tZm9jdXNlZCAubWRjLW5vdGNoZWQtb3V0bGluZS0tdXBncmFkZWQgLm1kYy1mbG9hdGluZy1sYWJlbC0tZmxvYXQtYWJvdmUsXG4uZmlyZWZveCAuc2l0ZS1mb3JtIC5tZGMtdGV4dC1maWVsZC0tb3V0bGluZWQubWRjLXRleHQtZmllbGQtLWZvY3VzZWQubWRjLW5vdGNoZWQtb3V0bGluZS0tdXBncmFkZWQgLm1kYy1mbG9hdGluZy1sYWJlbC0tZmxvYXQtYWJvdmUge1xuICB0b3A6IDE5cHg7XG59XG5AbWVkaWEgKG1pbi13aWR0aDogMTY1NnB4KSB7XG4gIC5zaXRlLWZvcm0gLm1kYy10ZXh0LWZpZWxkLS1vdXRsaW5lZC5tZGMtdGV4dC1maWVsZC0tZm9jdXNlZCAubWRjLW5vdGNoZWQtb3V0bGluZS0tdXBncmFkZWQgLm1kYy1mbG9hdGluZy1sYWJlbC0tZmxvYXQtYWJvdmUsXG4gIC5zaXRlLWZvcm0gLm1kYy10ZXh0LWZpZWxkLS1vdXRsaW5lZC5tZGMtdGV4dC1maWVsZC0tZm9jdXNlZC5tZGMtbm90Y2hlZC1vdXRsaW5lLS11cGdyYWRlZCAubWRjLWZsb2F0aW5nLWxhYmVsLS1mbG9hdC1hYm92ZSB7XG4gICAgdG9wOiAyM3B4O1xuICB9XG4gIC5maXJlZm94IC5zaXRlLWZvcm0gLm1kYy10ZXh0LWZpZWxkLS1vdXRsaW5lZC5tZGMtdGV4dC1maWVsZC0tZm9jdXNlZCAubWRjLW5vdGNoZWQtb3V0bGluZS0tdXBncmFkZWQgLm1kYy1mbG9hdGluZy1sYWJlbC0tZmxvYXQtYWJvdmUsXG4gIC5maXJlZm94IC5zaXRlLWZvcm0gLm1kYy10ZXh0LWZpZWxkLS1vdXRsaW5lZC5tZGMtdGV4dC1maWVsZC0tZm9jdXNlZC5tZGMtbm90Y2hlZC1vdXRsaW5lLS11cGdyYWRlZCAubWRjLWZsb2F0aW5nLWxhYmVsLS1mbG9hdC1hYm92ZSB7XG4gICAgdG9wOiAxOXB4O1xuICB9XG59XG4uc2l0ZS1mb3JtIC5tZGMtdGV4dC1maWVsZC0tdGV4dGFyZWEubWRjLXRleHQtZmllbGQtLWZvY3VzZWQgLm1kYy1ub3RjaGVkLW91dGxpbmUtLXVwZ3JhZGVkIC5tZGMtZmxvYXRpbmctbGFiZWwtLWZsb2F0LWFib3ZlIHtcbiAgdG9wOiAyM3B4O1xufVxuLmZpcmVmb3ggLnNpdGUtZm9ybSAubWRjLXRleHQtZmllbGQtLXRleHRhcmVhLm1kYy10ZXh0LWZpZWxkLS1mb2N1c2VkIC5tZGMtbm90Y2hlZC1vdXRsaW5lLS11cGdyYWRlZCAubWRjLWZsb2F0aW5nLWxhYmVsLS1mbG9hdC1hYm92ZSB7XG4gIHRvcDogMjJweDtcbn1cbkBtZWRpYSAobWluLXdpZHRoOiAxNjU2cHgpIHtcbiAgLnNpdGUtZm9ybSAubWRjLXRleHQtZmllbGQtLXRleHRhcmVhLm1kYy10ZXh0LWZpZWxkLS1mb2N1c2VkIC5tZGMtbm90Y2hlZC1vdXRsaW5lLS11cGdyYWRlZCAubWRjLWZsb2F0aW5nLWxhYmVsLS1mbG9hdC1hYm92ZSB7XG4gICAgdG9wOiAyNXB4O1xuICB9XG4gIC5maXJlZm94IC5zaXRlLWZvcm0gLm1kYy10ZXh0LWZpZWxkLS10ZXh0YXJlYS5tZGMtdGV4dC1maWVsZC0tZm9jdXNlZCAubWRjLW5vdGNoZWQtb3V0bGluZS0tdXBncmFkZWQgLm1kYy1mbG9hdGluZy1sYWJlbC0tZmxvYXQtYWJvdmUge1xuICAgIHRvcDogMjFweDtcbiAgfVxufVxuLnNpdGUtZm9ybSAubWRjLXRleHQtZmllbGQtLW91dGxpbmVkIC5tZGMtbm90Y2hlZC1vdXRsaW5lIC5tZGMtbm90Y2hlZC1vdXRsaW5lX19sZWFkaW5nLFxuLnNpdGUtZm9ybSAubWRjLXRleHQtZmllbGQtLXRleHRhcmVhIC5tZGMtbm90Y2hlZC1vdXRsaW5lIC5tZGMtbm90Y2hlZC1vdXRsaW5lX19sZWFkaW5nLFxuLnNpdGUtZm9ybSAubWRjLXRleHQtZmllbGQtLW91dGxpbmVkIC5tZGMtbm90Y2hlZC1vdXRsaW5lIC5tZGMtbm90Y2hlZC1vdXRsaW5lX190cmFpbGluZyxcbi5zaXRlLWZvcm0gLm1kYy10ZXh0LWZpZWxkLS10ZXh0YXJlYSAubWRjLW5vdGNoZWQtb3V0bGluZSAubWRjLW5vdGNoZWQtb3V0bGluZV9fdHJhaWxpbmcge1xuICBib3JkZXItcmFkaXVzOiAwO1xufVxuLnNpdGUtZm9ybSAubWRjLXRleHQtZmllbGQtLW91dGxpbmVkOm5vdCgubWRjLXRleHQtZmllbGQtLWRpc2FibGVkKTpub3QoLm1kYy10ZXh0LWZpZWxkLS1pbnZhbGlkKSAubWRjLW5vdGNoZWQtb3V0bGluZV9fbGVhZGluZyxcbi5zaXRlLWZvcm0gLm1kYy10ZXh0LWZpZWxkLS1vdXRsaW5lZDpub3QoLm1kYy10ZXh0LWZpZWxkLS1kaXNhYmxlZCk6bm90KC5tZGMtdGV4dC1maWVsZC0taW52YWxpZCkgLm1kYy1ub3RjaGVkLW91dGxpbmVfX25vdGNoLFxuLnNpdGUtZm9ybSAubWRjLXRleHQtZmllbGQtLW91dGxpbmVkOm5vdCgubWRjLXRleHQtZmllbGQtLWRpc2FibGVkKTpub3QoLm1kYy10ZXh0LWZpZWxkLS1pbnZhbGlkKSAubWRjLW5vdGNoZWQtb3V0bGluZV9fdHJhaWxpbmcge1xuICBib3JkZXItY29sb3I6ICMwMGE1ZTM7XG59XG4uc2l0ZS1mb3JtIC5tZGMtdGV4dC1maWVsZC0tdGV4dGFyZWE6bm90KC5tZGMtdGV4dC1maWVsZC0tZGlzYWJsZWQpOm5vdCgubWRjLXRleHQtZmllbGQtLWludmFsaWQpIC5tZGMtbm90Y2hlZC1vdXRsaW5lX19sZWFkaW5nLFxuLnNpdGUtZm9ybSAubWRjLXRleHQtZmllbGQtLXRleHRhcmVhOm5vdCgubWRjLXRleHQtZmllbGQtLWRpc2FibGVkKTpub3QoLm1kYy10ZXh0LWZpZWxkLS1pbnZhbGlkKSAubWRjLW5vdGNoZWQtb3V0bGluZV9fbm90Y2gsXG4uc2l0ZS1mb3JtIC5tZGMtdGV4dC1maWVsZC0tdGV4dGFyZWE6bm90KC5tZGMtdGV4dC1maWVsZC0tZGlzYWJsZWQpOm5vdCgubWRjLXRleHQtZmllbGQtLWludmFsaWQpIC5tZGMtbm90Y2hlZC1vdXRsaW5lX190cmFpbGluZyB7XG4gIGJvcmRlci1jb2xvcjogIzAwYTVlMztcbn1cbi5zaXRlLWZvcm0gLm1kYy10ZXh0LWZpZWxkLS1vdXRsaW5lZDpub3QoLm1kYy10ZXh0LWZpZWxkLS1kaXNhYmxlZCkubWRjLXRleHQtZmllbGQtLWludmFsaWQgLm1kYy1ub3RjaGVkLW91dGxpbmVfX2xlYWRpbmcsXG4uc2l0ZS1mb3JtIC5tZGMtdGV4dC1maWVsZC0tb3V0bGluZWQ6bm90KC5tZGMtdGV4dC1maWVsZC0tZGlzYWJsZWQpLm1kYy10ZXh0LWZpZWxkLS1pbnZhbGlkIC5tZGMtbm90Y2hlZC1vdXRsaW5lX19ub3RjaCxcbi5zaXRlLWZvcm0gLm1kYy10ZXh0LWZpZWxkLS1vdXRsaW5lZDpub3QoLm1kYy10ZXh0LWZpZWxkLS1kaXNhYmxlZCkubWRjLXRleHQtZmllbGQtLWludmFsaWQgLm1kYy1ub3RjaGVkLW91dGxpbmVfX3RyYWlsaW5nIHtcbiAgYm9yZGVyLWNvbG9yOiAjMDBhNWUzO1xufVxuLnNpdGUtZm9ybSAubWRjLXRleHQtZmllbGQtLXRleHRhcmVhOm5vdCgubWRjLXRleHQtZmllbGQtLWRpc2FibGVkKS5tZGMtdGV4dC1maWVsZC0taW52YWxpZCAubWRjLW5vdGNoZWQtb3V0bGluZV9fbGVhZGluZyxcbi5zaXRlLWZvcm0gLm1kYy10ZXh0LWZpZWxkLS10ZXh0YXJlYTpub3QoLm1kYy10ZXh0LWZpZWxkLS1kaXNhYmxlZCkubWRjLXRleHQtZmllbGQtLWludmFsaWQgLm1kYy1ub3RjaGVkLW91dGxpbmVfX25vdGNoLFxuLnNpdGUtZm9ybSAubWRjLXRleHQtZmllbGQtLXRleHRhcmVhOm5vdCgubWRjLXRleHQtZmllbGQtLWRpc2FibGVkKS5tZGMtdGV4dC1maWVsZC0taW52YWxpZCAubWRjLW5vdGNoZWQtb3V0bGluZV9fdHJhaWxpbmcge1xuICBib3JkZXItY29sb3I6ICMwMGE1ZTM7XG59XG4uc2l0ZS1mb3JtIC5tZGMtdGV4dC1maWVsZDpub3QoLm1kYy10ZXh0LWZpZWxkLS1mb2N1c2VkKTpub3QoLm1kYy10ZXh0LWZpZWxkLS1pbnZhbGlkKSAubWRjLXRleHQtZmllbGRfX2lucHV0OmhvdmVyIH4gLm1kYy1ub3RjaGVkLW91dGxpbmUgLm1kYy1ub3RjaGVkLW91dGxpbmVfX2xlYWRpbmcsXG4uc2l0ZS1mb3JtIC5tZGMtdGV4dC1maWVsZDpub3QoLm1kYy10ZXh0LWZpZWxkLS1mb2N1c2VkKTpub3QoLm1kYy10ZXh0LWZpZWxkLS1pbnZhbGlkKSAubWRjLXRleHQtZmllbGRfX2lucHV0OmhvdmVyIH4gLm1kYy1ub3RjaGVkLW91dGxpbmUgLm1kYy1ub3RjaGVkLW91dGxpbmVfX25vdGNoLFxuLnNpdGUtZm9ybSAubWRjLXRleHQtZmllbGQ6bm90KC5tZGMtdGV4dC1maWVsZC0tZm9jdXNlZCk6bm90KC5tZGMtdGV4dC1maWVsZC0taW52YWxpZCkgLm1kYy10ZXh0LWZpZWxkX19pbnB1dDpob3ZlciB+IC5tZGMtbm90Y2hlZC1vdXRsaW5lIC5tZGMtbm90Y2hlZC1vdXRsaW5lX190cmFpbGluZyB7XG4gIGJvcmRlci1jb2xvcjogIzAwYTVlMztcbn1cbi5zaXRlLWZvcm0gLm1kYy10ZXh0LWZpZWxkOm5vdCgubWRjLXRleHQtZmllbGQtLWZvY3VzZWQpLm1kYy10ZXh0LWZpZWxkLS1pbnZhbGlkIC5tZGMtdGV4dC1maWVsZF9faW5wdXQ6aG92ZXIgfiAubWRjLW5vdGNoZWQtb3V0bGluZSAubWRjLW5vdGNoZWQtb3V0bGluZV9fbGVhZGluZyxcbi5zaXRlLWZvcm0gLm1kYy10ZXh0LWZpZWxkOm5vdCgubWRjLXRleHQtZmllbGQtLWZvY3VzZWQpLm1kYy10ZXh0LWZpZWxkLS1pbnZhbGlkIC5tZGMtdGV4dC1maWVsZF9faW5wdXQ6aG92ZXIgfiAubWRjLW5vdGNoZWQtb3V0bGluZSAubWRjLW5vdGNoZWQtb3V0bGluZV9fbm90Y2gsXG4uc2l0ZS1mb3JtIC5tZGMtdGV4dC1maWVsZDpub3QoLm1kYy10ZXh0LWZpZWxkLS1mb2N1c2VkKS5tZGMtdGV4dC1maWVsZC0taW52YWxpZCAubWRjLXRleHQtZmllbGRfX2lucHV0OmhvdmVyIH4gLm1kYy1ub3RjaGVkLW91dGxpbmUgLm1kYy1ub3RjaGVkLW91dGxpbmVfX3RyYWlsaW5nIHtcbiAgYm9yZGVyLWNvbG9yOiAjMDBhNWUzO1xufVxuLnNpdGUtZm9ybV9fdmFsaWRhdGlvbi10ZXh0IHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBtYXJnaW46IGF1dG87XG4gIG1heC13aWR0aDogY2FsYygxMDAlIC0gMjZweCk7XG4gIGJvdHRvbTogMDtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDUwJSk7XG4gIGxlZnQ6IDEzcHg7XG4gIGNvbG9yOiAjZmYwMDAwO1xuICBmb250LXNpemU6IDEwLjVweDtcbiAgbGluZS1oZWlnaHQ6IDE7XG4gIGRpc3BsYXk6IG5vbmU7XG4gIHBhZGRpbmctbGVmdDogMnB4O1xuICBwYWRkaW5nLXJpZ2h0OiAycHg7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZmY7XG4gIGZvbnQtd2VpZ2h0OiAzMDA7XG4gIHVzZXItc2VsZWN0OiBub25lO1xufVxuQG1lZGlhIChtaW4td2lkdGg6IDM3NXB4KSB7XG4gIC5zaXRlLWZvcm1fX3ZhbGlkYXRpb24tdGV4dCB7XG4gICAgZm9udC1zaXplOiAxMnB4O1xuICB9XG59XG5AbWVkaWEgKG1pbi13aWR0aDogMTY1NnB4KSB7XG4gIC5zaXRlLWZvcm1fX3ZhbGlkYXRpb24tdGV4dCB7XG4gICAgZm9udC1zaXplOiAxM3B4O1xuICB9XG59XG5pbnB1dDp2YWxpZCB+IC5zaXRlLWZvcm1fX3ZhbGlkYXRpb24tdGV4dCB7XG4gIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbn1cbi53YXMtdmFsaWRhdGVkIGlucHV0OmludmFsaWQgfiAuc2l0ZS1mb3JtX192YWxpZGF0aW9uLXRleHQge1xuICBkaXNwbGF5OiBibG9jayAhaW1wb3J0YW50O1xufVxuLndhcy12YWxpZGF0ZWQgLm1kYy10ZXh0LWZpZWxkLS1pbnZhbGlkIC5zaXRlLWZvcm1fX3ZhbGlkYXRpb24tdGV4dCB7XG4gIGRpc3BsYXk6IGJsb2NrO1xufVxuLndhcy12YWxpZGF0ZWQgLnNpdGUtZm9ybV9fY2hlY2tib3gtLXJlcXVpcmVkLnNpdGUtZm9ybV9fY2hlY2tib3gtLXVuY2hlY2tlZCB+IC5zaXRlLWZvcm1fX3ZhbGlkYXRpb24tdGV4dCB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBwb3NpdGlvbjogc3RhdGljO1xuICBwYWRkaW5nLWxlZnQ6IDA7XG4gIHBhZGRpbmctcmlnaHQ6IDA7XG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICBtYXJnaW46IDZweCAwIDAgMDtcbiAgd2lkdGg6IDEwMCU7XG4gIG1heC13aWR0aDogbm9uZTtcbiAgdHJhbnNmb3JtOiBub25lO1xufVxuQG1lZGlhIChtaW4td2lkdGg6IDE2NTZweCkge1xuICAud2FzLXZhbGlkYXRlZCAuc2l0ZS1mb3JtX19jaGVja2JveC0tcmVxdWlyZWQuc2l0ZS1mb3JtX19jaGVja2JveC0tdW5jaGVja2VkIH4gLnNpdGUtZm9ybV9fdmFsaWRhdGlvbi10ZXh0IHtcbiAgICBwYWRkaW5nLWxlZnQ6IDQ0cHg7XG4gIH1cbn1cbi5zaXRlLWZvcm1fX3NlcnZlci1lcnJvciB7XG4gIGNvbG9yOiAjZmYwMDAwO1xuICBmb250LXdlaWdodDogMzAwO1xuICBtYXJnaW4tYm90dG9tOiAyMHB4O1xufVxuLnNpdGUtZm9ybV9fc2VydmVyLXZhbGlkYXRpb24tdGV4dCB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgbWFyZ2luOiBhdXRvO1xuICBtYXgtd2lkdGg6IGNhbGMoMTAwJSAtIDI2cHgpO1xuICBib3R0b206IDA7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWSg1MCUpO1xuICBsZWZ0OiAxM3B4O1xuICBjb2xvcjogI2ZmMDAwMDtcbiAgZm9udC1zaXplOiAxMC41cHg7XG4gIGxpbmUtaGVpZ2h0OiAxO1xuICBkaXNwbGF5OiBub25lO1xuICBwYWRkaW5nLWxlZnQ6IDJweDtcbiAgcGFkZGluZy1yaWdodDogMnB4O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xuICBmb250LXdlaWdodDogMzAwO1xuICB1c2VyLXNlbGVjdDogbm9uZTtcbn1cbkBtZWRpYSAobWluLXdpZHRoOiAzNzVweCkge1xuICAuc2l0ZS1mb3JtX19zZXJ2ZXItdmFsaWRhdGlvbi10ZXh0IHtcbiAgICBmb250LXNpemU6IDEycHg7XG4gIH1cbn1cbkBtZWRpYSAobWluLXdpZHRoOiAxNjU2cHgpIHtcbiAgLnNpdGUtZm9ybV9fc2VydmVyLXZhbGlkYXRpb24tdGV4dCB7XG4gICAgZm9udC1zaXplOiAxM3B4O1xuICB9XG59XG4uc2VydmVyLXNpZGUtdmFsaWRhdGVkIC5zZXJ2ZXItc2lkZS0taW52YWxpZCB+IC5zaXRlLWZvcm1fX3NlcnZlci12YWxpZGF0aW9uLXRleHQge1xuICBkaXNwbGF5OiBibG9jaztcbn1cbi5zaXRlLWZvcm1fX2pzLXZhbGlkYXRpb24tdGV4dCB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgbWFyZ2luOiBhdXRvO1xuICBtYXgtd2lkdGg6IGNhbGMoMTAwJSAtIDI2cHgpO1xuICBib3R0b206IDA7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWSg1MCUpO1xuICBsZWZ0OiAxM3B4O1xuICBjb2xvcjogI2ZmMDAwMDtcbiAgZm9udC1zaXplOiAxMC41cHg7XG4gIGxpbmUtaGVpZ2h0OiAxO1xuICBkaXNwbGF5OiBub25lO1xuICBwYWRkaW5nLWxlZnQ6IDJweDtcbiAgcGFkZGluZy1yaWdodDogMnB4O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xuICBmb250LXdlaWdodDogMzAwO1xuICB1c2VyLXNlbGVjdDogbm9uZTtcbn1cbkBtZWRpYSAobWluLXdpZHRoOiAzNzVweCkge1xuICAuc2l0ZS1mb3JtX19qcy12YWxpZGF0aW9uLXRleHQge1xuICAgIGZvbnQtc2l6ZTogMTJweDtcbiAgfVxufVxuQG1lZGlhIChtaW4td2lkdGg6IDE2NTZweCkge1xuICAuc2l0ZS1mb3JtX19qcy12YWxpZGF0aW9uLXRleHQge1xuICAgIGZvbnQtc2l6ZTogMTNweDtcbiAgfVxufVxuLmpzLXNpZGUtdmFsaWRhdGVkIC5qcy1zaWRlLS1pbnZhbGlkIH4gLnNpdGUtZm9ybV9fanMtdmFsaWRhdGlvbi10ZXh0IHtcbiAgZGlzcGxheTogYmxvY2s7XG59XG4uc2l0ZS1mb3JtIC5tZGMtbWVudSB7XG4gIHotaW5kZXg6IDIwMDA7XG59XG5AbWVkaWEgKG1pbi13aWR0aDogOTkycHgpIHtcbiAgLnNpdGUtZm9ybSAubWRjLW1lbnUge1xuICAgIHotaW5kZXg6IDEwO1xuICB9XG59XG4uc2l0ZS1mb3JtIC5tZGMtbGlzdC1pdGVtIHtcbiAgaGVpZ2h0OiBhdXRvO1xuICBtaW4taGVpZ2h0OiA0OHB4O1xuICBwYWRkaW5nLXRvcDogMTBweDtcbiAgcGFkZGluZy1ib3R0b206IDEwcHg7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcbiAgd2lkdGg6IDEwMCU7XG59XG4uc2l0ZS1mb3JtIC5tZGMtc2VsZWN0LS1vdXRsaW5lZCB7XG4gIGJvcmRlci1yYWRpdXM6IDA7XG4gIGxldHRlci1zcGFjaW5nOiAwO1xuICBsaW5lLWhlaWdodDogMS4xNTtcbiAgaGVpZ2h0OiA0OHB4O1xufVxuLnNpdGUtZm9ybSAubWRjLXNlbGVjdC0tb3V0bGluZWQgLm1kYy1ub3RjaGVkLW91dGxpbmUgLm1kYy1ub3RjaGVkLW91dGxpbmVfX2xlYWRpbmcge1xuICAvKiBAbm9mbGlwICovXG4gIGJvcmRlci1yYWRpdXM6IDAgMCAwIDA7XG59XG5bZGlyPXJ0bF0gLnNpdGUtZm9ybSAubWRjLXNlbGVjdC0tb3V0bGluZWQgLm1kYy1ub3RjaGVkLW91dGxpbmUgLm1kYy1ub3RjaGVkLW91dGxpbmVfX2xlYWRpbmcsIC5zaXRlLWZvcm0gLm1kYy1zZWxlY3QtLW91dGxpbmVkIC5tZGMtbm90Y2hlZC1vdXRsaW5lIC5tZGMtbm90Y2hlZC1vdXRsaW5lX19sZWFkaW5nW2Rpcj1ydGxdIHtcbiAgLyogQG5vZmxpcCAqL1xuICBib3JkZXItcmFkaXVzOiAwIDAgMCAwO1xufVxuLnNpdGUtZm9ybSAubWRjLXNlbGVjdC0tb3V0bGluZWQgLm1kYy1ub3RjaGVkLW91dGxpbmUgLm1kYy1ub3RjaGVkLW91dGxpbmVfX3RyYWlsaW5nIHtcbiAgLyogQG5vZmxpcCAqL1xuICBib3JkZXItcmFkaXVzOiAwIDAgMCAwO1xufVxuW2Rpcj1ydGxdIC5zaXRlLWZvcm0gLm1kYy1zZWxlY3QtLW91dGxpbmVkIC5tZGMtbm90Y2hlZC1vdXRsaW5lIC5tZGMtbm90Y2hlZC1vdXRsaW5lX190cmFpbGluZywgLnNpdGUtZm9ybSAubWRjLXNlbGVjdC0tb3V0bGluZWQgLm1kYy1ub3RjaGVkLW91dGxpbmUgLm1kYy1ub3RjaGVkLW91dGxpbmVfX3RyYWlsaW5nW2Rpcj1ydGxdIHtcbiAgLyogQG5vZmxpcCAqL1xuICBib3JkZXItcmFkaXVzOiAwIDAgMCAwO1xufVxuLnNpdGUtZm9ybSAubWRjLXNlbGVjdC0tb3V0bGluZWQgLm1kYy1zZWxlY3RfX3NlbGVjdGVkLXRleHQge1xuICBib3JkZXItcmFkaXVzOiAwO1xufVxuLnNpdGUtZm9ybSAubWRjLXNlbGVjdC0tb3V0bGluZWQ6bm90KC5tZGMtc2VsZWN0LS1kaXNhYmxlZCkgLm1kYy1ub3RjaGVkLW91dGxpbmVfX2xlYWRpbmcsXG4uc2l0ZS1mb3JtIC5tZGMtc2VsZWN0LS1vdXRsaW5lZDpub3QoLm1kYy1zZWxlY3QtLWRpc2FibGVkKSAubWRjLW5vdGNoZWQtb3V0bGluZV9fbm90Y2gsXG4uc2l0ZS1mb3JtIC5tZGMtc2VsZWN0LS1vdXRsaW5lZDpub3QoLm1kYy1zZWxlY3QtLWRpc2FibGVkKSAubWRjLW5vdGNoZWQtb3V0bGluZV9fdHJhaWxpbmcge1xuICBib3JkZXItY29sb3I6ICMwMGE1ZTM7XG59XG4uc2l0ZS1mb3JtIC5tZGMtc2VsZWN0LS1vdXRsaW5lZDpub3QoLm1kYy1zZWxlY3QtLWRpc2FibGVkKS5tZGMtc2VsZWN0LS1mb2N1c2VkIC5tZGMtbm90Y2hlZC1vdXRsaW5lIC5tZGMtbm90Y2hlZC1vdXRsaW5lX19sZWFkaW5nLFxuLnNpdGUtZm9ybSAubWRjLXNlbGVjdC0tb3V0bGluZWQ6bm90KC5tZGMtc2VsZWN0LS1kaXNhYmxlZCkubWRjLXNlbGVjdC0tZm9jdXNlZCAubWRjLW5vdGNoZWQtb3V0bGluZSAubWRjLW5vdGNoZWQtb3V0bGluZV9fbm90Y2gsXG4uc2l0ZS1mb3JtIC5tZGMtc2VsZWN0LS1vdXRsaW5lZDpub3QoLm1kYy1zZWxlY3QtLWRpc2FibGVkKS5tZGMtc2VsZWN0LS1mb2N1c2VkIC5tZGMtbm90Y2hlZC1vdXRsaW5lIC5tZGMtbm90Y2hlZC1vdXRsaW5lX190cmFpbGluZyB7XG4gIGJvcmRlci13aWR0aDogMnB4O1xufVxuLnNpdGUtZm9ybSAubWRjLXNlbGVjdC0tb3V0bGluZWQ6bm90KC5tZGMtc2VsZWN0LS1kaXNhYmxlZCkubWRjLXNlbGVjdC0tZm9jdXNlZCAubWRjLW5vdGNoZWQtb3V0bGluZSAubWRjLW5vdGNoZWQtb3V0bGluZV9fbGVhZGluZyxcbi5zaXRlLWZvcm0gLm1kYy1zZWxlY3QtLW91dGxpbmVkOm5vdCgubWRjLXNlbGVjdC0tZGlzYWJsZWQpLm1kYy1zZWxlY3QtLWZvY3VzZWQgLm1kYy1ub3RjaGVkLW91dGxpbmUgLm1kYy1ub3RjaGVkLW91dGxpbmVfX25vdGNoLFxuLnNpdGUtZm9ybSAubWRjLXNlbGVjdC0tb3V0bGluZWQ6bm90KC5tZGMtc2VsZWN0LS1kaXNhYmxlZCkubWRjLXNlbGVjdC0tZm9jdXNlZCAubWRjLW5vdGNoZWQtb3V0bGluZSAubWRjLW5vdGNoZWQtb3V0bGluZV9fdHJhaWxpbmcge1xuICBib3JkZXItY29sb3I6ICMwMGE1ZTM7XG59XG4uc2l0ZS1mb3JtIC5tZGMtc2VsZWN0LS1vdXRsaW5lZDpub3QoLm1kYy1zZWxlY3QtLWRpc2FibGVkKTpub3QoLm1kYy1zZWxlY3QtLWZvY3VzZWQpIC5tZGMtc2VsZWN0X19hbmNob3I6aG92ZXIgLm1kYy1ub3RjaGVkLW91dGxpbmUgLm1kYy1ub3RjaGVkLW91dGxpbmVfX2xlYWRpbmcsXG4uc2l0ZS1mb3JtIC5tZGMtc2VsZWN0LS1vdXRsaW5lZDpub3QoLm1kYy1zZWxlY3QtLWRpc2FibGVkKTpub3QoLm1kYy1zZWxlY3QtLWZvY3VzZWQpIC5tZGMtc2VsZWN0X19hbmNob3I6aG92ZXIgLm1kYy1ub3RjaGVkLW91dGxpbmUgLm1kYy1ub3RjaGVkLW91dGxpbmVfX25vdGNoLFxuLnNpdGUtZm9ybSAubWRjLXNlbGVjdC0tb3V0bGluZWQ6bm90KC5tZGMtc2VsZWN0LS1kaXNhYmxlZCk6bm90KC5tZGMtc2VsZWN0LS1mb2N1c2VkKSAubWRjLXNlbGVjdF9fYW5jaG9yOmhvdmVyIC5tZGMtbm90Y2hlZC1vdXRsaW5lIC5tZGMtbm90Y2hlZC1vdXRsaW5lX190cmFpbGluZyB7XG4gIGJvcmRlci1jb2xvcjogIzAwYTVlMztcbn1cbi5zaXRlLWZvcm0gLm1kYy1zZWxlY3QtLW91dGxpbmVkOm5vdCgubWRjLXNlbGVjdC0tZGlzYWJsZWQpLm1kYy1zZWxlY3QtLWZvY3VzZWQgLm1kYy1mbG9hdGluZy1sYWJlbCB7XG4gIGNvbG9yOiAjMDBhNWUzO1xufVxuQG1lZGlhIChtaW4td2lkdGg6IDE2NTZweCkge1xuICAuc2l0ZS1mb3JtIC5tZGMtc2VsZWN0LS1vdXRsaW5lZCB7XG4gICAgYmFja2dyb3VuZC1zaXplOiAxNXB4IDMxcHg7XG4gICAgYmFja2dyb3VuZC1wb3NpdGlvbjogcmlnaHQgMTRweCBjZW50ZXI7XG4gICAgbGluZS1oZWlnaHQ6IDEuNDtcbiAgICBoZWlnaHQ6IDY0cHg7XG4gICAgZm9udC1zaXplOiAxOXB4O1xuICB9XG59XG4uc2l0ZS1mb3JtIC5tZGMtc2VsZWN0LS1vdXRsaW5lZCAubWRjLW1lbnUge1xuICB3aWR0aDogMTAwJTtcbn1cbi5zaXRlLWZvcm0gLm1kYy1zZWxlY3QtLW91dGxpbmVkIC5tZGMtc2VsZWN0X19hbmNob3Ige1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiA0OHB4O1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiByaWdodCAxMnB4IGNlbnRlcjtcbiAgYmFja2dyb3VuZC1zaXplOiAxMnB4IDI1cHg7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbDtjaGFyc2V0PXV0ZjgsJTNDc3ZnJTIweG1sbnMlM0QlMjJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyUyMiUyMGZpbGwlM0QlMjIlMjMwMEFFRUYlMjIlMjB2aWV3Qm94JTNEJTIyMCUyMDAlMjAxNiUyMDMyJTIyJTNFJTNDcGF0aCUyMGQlM0QlMjJNMTQsMTEuMUgzTDguNSwyWk0zLDIxSDE0TDguNSwzMC4xWiUyMi8lM0UlM0NwYXRoJTIwZCUzRCUyMk0xNiwzMkgwVjBIMTZaJTIyJTIwZmlsbCUzRCUyMm5vbmUlMjIvJTNFJTNDL3N2ZyUzRVwiKTtcbiAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcbiAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAwLjJzO1xufVxuQG1lZGlhIChtaW4td2lkdGg6IDE2NTZweCkge1xuICAuc2l0ZS1mb3JtIC5tZGMtc2VsZWN0LS1vdXRsaW5lZCAubWRjLXNlbGVjdF9fYW5jaG9yIHtcbiAgICBoZWlnaHQ6IDY0cHg7XG4gIH1cbn1cbi5zaXRlLWZvcm0gLm1kYy1zZWxlY3QtLW91dGxpbmVkIC5tZGMtc2VsZWN0X19zZWxlY3RlZC10ZXh0IHtcbiAgbGluZS1oZWlnaHQ6IDQ3cHg7XG4gIHBhZGRpbmctdG9wOiAwO1xuICBwYWRkaW5nLWJvdHRvbTogMDtcbiAgaGVpZ2h0OiAxMDAlO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcbiAgd2lkdGg6IDEwMCU7XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBwYWRkaW5nLXJpZ2h0OiAyOHB4O1xuICBtaW4td2lkdGg6IDA7XG4gIHVzZXItc2VsZWN0OiBub25lO1xufVxuQG1lZGlhIChtaW4td2lkdGg6IDE2NTZweCkge1xuICAuc2l0ZS1mb3JtIC5tZGMtc2VsZWN0LS1vdXRsaW5lZCAubWRjLXNlbGVjdF9fc2VsZWN0ZWQtdGV4dCB7XG4gICAgbGluZS1oZWlnaHQ6IDYycHg7XG4gICAgZm9udC1zaXplOiAxOXB4O1xuICAgIHBhZGRpbmctcmlnaHQ6IDUycHg7XG4gIH1cbn1cbi5zaXRlLWZvcm0gLm1kYy1zZWxlY3QtLW91dGxpbmVkIC5tZGMtZmxvYXRpbmctbGFiZWwge1xuICB0b3A6IDIycHg7XG4gIGN1cnNvcjogcG9pbnRlcjtcbn1cbkBtZWRpYSAobWluLXdpZHRoOiAxNjU2cHgpIHtcbiAgLnNpdGUtZm9ybSAubWRjLXNlbGVjdC0tb3V0bGluZWQgLm1kYy1mbG9hdGluZy1sYWJlbCB7XG4gICAgdG9wOiAzMHB4O1xuICB9XG59XG4uc2l0ZS1mb3JtIC5tZGMtc2VsZWN0LS1vdXRsaW5lZCAubWRjLWZsb2F0aW5nLWxhYmVsLm1kYy1mbG9hdGluZy1sYWJlbC0tZmxvYXQtYWJvdmUge1xuICB0b3A6IDEzcHg7XG59XG5AbWVkaWEgKG1pbi13aWR0aDogMTY1NnB4KSB7XG4gIC5zaXRlLWZvcm0gLm1kYy1zZWxlY3QtLW91dGxpbmVkIC5tZGMtZmxvYXRpbmctbGFiZWwubWRjLWZsb2F0aW5nLWxhYmVsLS1mbG9hdC1hYm92ZSB7XG4gICAgdG9wOiAyNHB4O1xuICB9XG59XG4uZmlyZWZveCAuc2l0ZS1mb3JtIC5tZGMtc2VsZWN0LS1vdXRsaW5lZCAubWRjLWZsb2F0aW5nLWxhYmVsLm1kYy1mbG9hdGluZy1sYWJlbC0tZmxvYXQtYWJvdmUge1xuICB0b3A6IDEycHg7XG59XG5AbWVkaWEgKG1pbi13aWR0aDogMTY1NnB4KSB7XG4gIC5maXJlZm94IC5zaXRlLWZvcm0gLm1kYy1zZWxlY3QtLW91dGxpbmVkIC5tZGMtZmxvYXRpbmctbGFiZWwubWRjLWZsb2F0aW5nLWxhYmVsLS1mbG9hdC1hYm92ZSB7XG4gICAgdG9wOiAyMnB4O1xuICB9XG59XG4uc2l0ZS1mb3JtIC5tZGMtc2VsZWN0LS1vdXRsaW5lZCAubWRjLXNlbGVjdF9fYW5jaG9yIC5tZGMtbm90Y2hlZC1vdXRsaW5lLS11cGdyYWRlZCAubWRjLWZsb2F0aW5nLWxhYmVsLS1mbG9hdC1hYm92ZSxcbi5zaXRlLWZvcm0gLm1kYy1zZWxlY3QtLW91dGxpbmVkIC5tZGMtc2VsZWN0X19hbmNob3IubWRjLW5vdGNoZWQtb3V0bGluZS0tdXBncmFkZWQgLm1kYy1mbG9hdGluZy1sYWJlbC0tZmxvYXQtYWJvdmUge1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTEwNiUpIHNjYWxlKDAuNzUpO1xuICBjb2xvcjogIzAwYTVlMztcbn1cbkBtZWRpYSAobWluLXdpZHRoOiAxNjU2cHgpIHtcbiAgLnNpdGUtZm9ybSAubWRjLXNlbGVjdC0tb3V0bGluZWQgLm1kYy1zZWxlY3RfX2FuY2hvciAubWRjLW5vdGNoZWQtb3V0bGluZS0tdXBncmFkZWQgLm1kYy1mbG9hdGluZy1sYWJlbC0tZmxvYXQtYWJvdmUsXG4gIC5zaXRlLWZvcm0gLm1kYy1zZWxlY3QtLW91dGxpbmVkIC5tZGMtc2VsZWN0X19hbmNob3IubWRjLW5vdGNoZWQtb3V0bGluZS0tdXBncmFkZWQgLm1kYy1mbG9hdGluZy1sYWJlbC0tZmxvYXQtYWJvdmUge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMTQ3JSkgc2NhbGUoMC43NSk7XG4gICAgZm9udC1zaXplOiAxOXB4O1xuICB9XG59XG4uc2l0ZS1mb3JtIC5tZGMtc2VsZWN0LS1vdXRsaW5lZDpob3ZlciAubWRjLXNlbGVjdF9fYW5jaG9yLCAuc2l0ZS1mb3JtIC5tZGMtc2VsZWN0LS1vdXRsaW5lZDpmb2N1cyAubWRjLXNlbGVjdF9fYW5jaG9yIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgwLCAxNzQsIDIzOSwgMC4wNik7XG59XG4uc2l0ZS1mb3JtIC5tZGMtc2VsZWN0LS1vdXRsaW5lZDpub3QoLm1kYy1zZWxlY3QtLWRpc2FibGVkKSAubWRjLWZsb2F0aW5nLWxhYmVsIHtcbiAgY29sb3I6ICMwMGE1ZTM7XG59XG4uc2l0ZS1mb3JtIC5tZGMtc2VsZWN0LS1vdXRsaW5lZCAubWRjLXNlbGVjdC1pbnB1dC1oaWRkZW4ge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogLTEwMHB4O1xuICBsZWZ0OiAwO1xuICB6LWluZGV4OiAtMTtcbiAgdXNlci1zZWxlY3Q6IG5vbmU7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDEwMCU7XG4gIG9wYWNpdHk6IDA7XG59XG5AbWVkaWEgKG1pbi13aWR0aDogMTY1NnB4KSB7XG4gIC5zaXRlLWZvcm0gLm1kYy1zZWxlY3QtLWNvbXBhY3Qge1xuICAgIGJhY2tncm91bmQtc2l6ZTogMTVweCAzMXB4O1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IHJpZ2h0IDE0cHggY2VudGVyO1xuICAgIGxpbmUtaGVpZ2h0OiAxLjQ7XG4gICAgaGVpZ2h0OiA1NHB4O1xuICAgIGZvbnQtc2l6ZTogMTZweDtcbiAgfVxufVxuLnNpdGUtZm9ybSAubWRjLXNlbGVjdC0tY29tcGFjdCAubWRjLXNlbGVjdF9fYW5jaG9yIHtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogNDhweDtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogcmlnaHQgMTJweCBjZW50ZXI7XG4gIGJhY2tncm91bmQtc2l6ZTogMTJweCAyNXB4O1xufVxuQG1lZGlhIChtaW4td2lkdGg6IDE2NTZweCkge1xuICAuc2l0ZS1mb3JtIC5tZGMtc2VsZWN0LS1jb21wYWN0IC5tZGMtc2VsZWN0X19hbmNob3Ige1xuICAgIGhlaWdodDogNTRweDtcbiAgfVxufVxuQG1lZGlhIChtaW4td2lkdGg6IDE2NTZweCkge1xuICAuc2l0ZS1mb3JtIC5tZGMtc2VsZWN0LS1jb21wYWN0IC5tZGMtc2VsZWN0X19zZWxlY3RlZC10ZXh0IHtcbiAgICBsaW5lLWhlaWdodDogNTNweDtcbiAgICBmb250LXNpemU6IDE2cHg7XG4gIH1cbn1cbi5zaXRlLWZvcm0gLm1kYy1zZWxlY3QtLWNvbXBhY3QgLm1kYy1mbG9hdGluZy1sYWJlbC5tZGMtZmxvYXRpbmctbGFiZWwtLWZsb2F0LWFib3ZlIHtcbiAgdG9wOiAxM3B4O1xufVxuQG1lZGlhIChtaW4td2lkdGg6IDE2NTZweCkge1xuICAuc2l0ZS1mb3JtIC5tZGMtc2VsZWN0LS1jb21wYWN0IC5tZGMtZmxvYXRpbmctbGFiZWwubWRjLWZsb2F0aW5nLWxhYmVsLS1mbG9hdC1hYm92ZSB7XG4gICAgdG9wOiAxOXB4O1xuICB9XG59XG4uc2l0ZS1mb3JtIC5tZGMtc2VsZWN0LS1jb21wYWN0IC5tZGMtc2VsZWN0X19hbmNob3IgLm1kYy1ub3RjaGVkLW91dGxpbmUtLXVwZ3JhZGVkIC5tZGMtZmxvYXRpbmctbGFiZWwtLWZsb2F0LWFib3ZlLFxuLnNpdGUtZm9ybSAubWRjLXNlbGVjdC0tY29tcGFjdCAubWRjLXNlbGVjdF9fYW5jaG9yLm1kYy1ub3RjaGVkLW91dGxpbmUtLXVwZ3JhZGVkIC5tZGMtZmxvYXRpbmctbGFiZWwtLWZsb2F0LWFib3ZlIHtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0xMDQlKSBzY2FsZSgwLjc1KTtcbn1cbkBtZWRpYSAobWluLXdpZHRoOiAxNjU2cHgpIHtcbiAgLnNpdGUtZm9ybSAubWRjLXNlbGVjdC0tY29tcGFjdCAubWRjLXNlbGVjdF9fYW5jaG9yIC5tZGMtbm90Y2hlZC1vdXRsaW5lLS11cGdyYWRlZCAubWRjLWZsb2F0aW5nLWxhYmVsLS1mbG9hdC1hYm92ZSxcbiAgLnNpdGUtZm9ybSAubWRjLXNlbGVjdC0tY29tcGFjdCAubWRjLXNlbGVjdF9fYW5jaG9yLm1kYy1ub3RjaGVkLW91dGxpbmUtLXVwZ3JhZGVkIC5tZGMtZmxvYXRpbmctbGFiZWwtLWZsb2F0LWFib3ZlIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTE0NyUpIHNjYWxlKDAuNzUpO1xuICAgIGZvbnQtc2l6ZTogMTZweDtcbiAgfVxufVxuQG1lZGlhIChtaW4td2lkdGg6IDE2NTZweCkge1xuICAuc2l0ZS1mb3JtIC5tZGMtdGV4dC1maWVsZC0tY29tcGFjdCB7XG4gICAgbGluZS1oZWlnaHQ6IDEuNTU7XG4gICAgaGVpZ2h0OiA1NHB4O1xuICAgIGZvbnQtc2l6ZTogMTZweDtcbiAgfVxufVxuQG1lZGlhIChtaW4td2lkdGg6IDE2NTZweCkge1xuICAuc2l0ZS1mb3JtIC5tZGMtdGV4dC1maWVsZC0tY29tcGFjdCAubWRjLWZsb2F0aW5nLWxhYmVsIHtcbiAgICB0b3A6IDE3cHg7XG4gICAgZm9udC1zaXplOiAxNnB4O1xuICB9XG59XG5AbWVkaWEgKG1pbi13aWR0aDogMTY1NnB4KSB7XG4gIC5maXJlZm94IC5zaXRlLWZvcm0gLm1kYy10ZXh0LWZpZWxkLS1jb21wYWN0IC5tZGMtZmxvYXRpbmctbGFiZWwge1xuICAgIHRvcDogMTZweDtcbiAgfVxufVxuQG1lZGlhIChtaW4td2lkdGg6IDE2NTZweCkge1xuICAuc2l0ZS1mb3JtIC5tZGMtdGV4dC1maWVsZC0tY29tcGFjdCAubWRjLW5vdGNoZWQtb3V0bGluZS0tdXBncmFkZWQgLm1kYy1mbG9hdGluZy1sYWJlbC0tZmxvYXQtYWJvdmUge1xuICAgIHRvcDogMjBweDtcbiAgICBmb250LXNpemU6IDE2cHg7XG4gIH1cbn1cbkBtZWRpYSAobWluLXdpZHRoOiAxNjU2cHgpIHtcbiAgLmZpcmVmb3ggLnNpdGUtZm9ybSAubWRjLXRleHQtZmllbGQtLWNvbXBhY3QgLm1kYy1ub3RjaGVkLW91dGxpbmUtLXVwZ3JhZGVkIC5tZGMtZmxvYXRpbmctbGFiZWwtLWZsb2F0LWFib3ZlIHtcbiAgICB0b3A6IDE5cHg7XG4gIH1cbn1cbkBtZWRpYSAobWluLXdpZHRoOiAxNjU2cHgpIHtcbiAgLnNpdGUtZm9ybSAubWRjLXRleHQtZmllbGQtLWNvbXBhY3QubWRjLXRleHQtZmllbGQtLWZvY3VzZWQgLm1kYy1ub3RjaGVkLW91dGxpbmUtLXVwZ3JhZGVkIC5tZGMtZmxvYXRpbmctbGFiZWwtLWZsb2F0LWFib3ZlIHtcbiAgICB0b3A6IDE5cHg7XG4gIH1cbn1cbkBtZWRpYSAobWluLXdpZHRoOiAxNjU2cHgpIHtcbiAgLmZpcmVmb3ggLnNpdGUtZm9ybSAubWRjLXRleHQtZmllbGQtLWNvbXBhY3QubWRjLXRleHQtZmllbGQtLWZvY3VzZWQgLm1kYy1ub3RjaGVkLW91dGxpbmUtLXVwZ3JhZGVkIC5tZGMtZmxvYXRpbmctbGFiZWwtLWZsb2F0LWFib3ZlIHtcbiAgICB0b3A6IDE4cHg7XG4gIH1cbn1cbkBtZWRpYSAobWluLXdpZHRoOiAxNjU2cHgpIHtcbiAgLnNpdGUtZm9ybSAubWRjLXRleHQtZmllbGQtLWNvbXBhY3QgLm1kYy10ZXh0LWZpZWxkX19pbnB1dCB7XG4gICAgZm9udC1zaXplOiAxNnB4O1xuICB9XG59XG4uc2l0ZS1mb3JtIC5tZGMtdGV4dC1maWVsZC0tdGV4dGFyZWEge1xuICBoZWlnaHQ6IGF1dG87XG4gIHdpZHRoOiAxMDAlO1xufVxuLnNpdGUtZm9ybSAubWRjLXRleHQtZmllbGQtLXRleHRhcmVhIC5tZGMtdGV4dC1maWVsZF9faW5wdXQge1xuICByZXNpemU6IG5vbmU7XG4gIG1hcmdpbi10b3A6IDEwcHg7XG59XG5AbWVkaWEgKG1pbi13aWR0aDogMTY1NnB4KSB7XG4gIC5zaXRlLWZvcm0gLm1kYy10ZXh0LWZpZWxkLS10ZXh0YXJlYSAubWRjLXRleHQtZmllbGRfX2lucHV0IHtcbiAgICBtYXJnaW4tdG9wOiAxN3B4O1xuICB9XG59XG4uc2l0ZS1mb3JtX19oZWxwLXRleHQge1xuICBtYXJnaW4tdG9wOiAxMHB4O1xufVxuLm1kYy1mb3JtLWZpZWxkLS1jaGVja2JveCA+IC5zaXRlLWZvcm1fX2hlbHAtdGV4dCB7XG4gIHBhZGRpbmctbGVmdDogNDVweDtcbn1cbi5zaXRlLWZvcm1fX2hlbHAtdGV4dC0tc21hbGwge1xuICBmb250LXNpemU6IDEwLjVweDtcbiAgZm9udC13ZWlnaHQ6IDMwMDtcbn1cbkBtZWRpYSAobWluLXdpZHRoOiAzNzVweCkge1xuICAuc2l0ZS1mb3JtX19oZWxwLXRleHQtLXNtYWxsIHtcbiAgICBmb250LXNpemU6IDEycHg7XG4gIH1cbn1cbkBtZWRpYSAobWluLXdpZHRoOiAxNjU2cHgpIHtcbiAgLnNpdGUtZm9ybV9faGVscC10ZXh0LS1zbWFsbCB7XG4gICAgZm9udC1zaXplOiAxM3B4O1xuICB9XG59XG4uc2l0ZS1mb3JtX19pbmZvIHtcbiAgdGV4dC1hbGlnbjogbGVmdDtcbiAgZm9udC13ZWlnaHQ6IDMwMDtcbiAgZm9udC1zaXplOiAxMi41cHg7XG4gIG1hcmdpbi10b3A6IDE1cHg7XG4gIG1hcmdpbi1ib3R0b206IDVweDtcbiAgcGFkZGluZzogMDtcbiAgbGluZS1oZWlnaHQ6IDEuNDM7XG59XG4uc2l0ZS1mb3JtX19pbmZvLS1jZW50ZXIge1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG59XG4uc2l0ZS1mb3JtX19pbmZvLS1zcGFjZWQge1xuICBtYXJnaW4tdG9wOiAzMnB4O1xufVxuQG1lZGlhIChtaW4td2lkdGg6IDE2NTZweCkge1xuICAuc2l0ZS1mb3JtX19pbmZvIHtcbiAgICBtYXJnaW4tdG9wOiAyMHB4O1xuICAgIG1hcmdpbi1ib3R0b206IDEwcHg7XG4gICAgbGluZS1oZWlnaHQ6IDEuNztcbiAgICBmb250LXNpemU6IDE0cHg7XG4gIH1cbn1cbi5zaXRlLWZvcm1fX2luZm8gYTpob3ZlciwgLnNpdGUtZm9ybV9faW5mbyBhOmZvY3VzIHtcbiAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG59XG4uc2l0ZS1mb3JtIC5tZGMtdGV4dC1maWVsZF9faW5wdXQ6cmVxdWlyZWQgfiAubWRjLWZsb2F0aW5nLWxhYmVsOm5vdCgucmVxdWlyZWQpOjphZnRlciwgLnNpdGUtZm9ybSAubWRjLXRleHQtZmllbGRfX2lucHV0OnJlcXVpcmVkIH4gLm1kYy1ub3RjaGVkLW91dGxpbmUgLm1kYy1mbG9hdGluZy1sYWJlbDpub3QoLnJlcXVpcmVkKTo6YWZ0ZXIge1xuICBkaXNwbGF5OiBub25lO1xufVxuXG4ua2FsaW9wY3VzdG9tZm9ybXMtZm9ybS0tZGVmYXVsdCB7XG4gIG1heC13aWR0aDogNjIwcHg7XG4gIG1hcmdpbjogMCBhdXRvO1xufVxuLmthbGlvcGN1c3RvbWZvcm1zLWZvcm0tLWRlZmF1bHQgYnV0dG9uW3R5cGU9c3VibWl0XSB7XG4gIG1hcmdpbjogMCBhdXRvO1xuICBkaXNwbGF5OiBibG9jaztcbn1cbi5rYWxpb3BjdXN0b21mb3Jtcy1mb3JtLS1kZWZhdWx0IC5idG4tLWJsdWU6ZGlzYWJsZWQge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMjY1M0I5O1xufVxuLmthbGlvcGN1c3RvbWZvcm1zLWZvcm1fX21lc3NhZ2UtY29udGFpbmVyIHtcbiAgcGFkZGluZy1ib3R0b206IDEwcHg7XG4gIGZvbnQtc2l6ZTogMTZweDtcbn1cbi5rYWxpb3BjdXN0b21mb3Jtcy1mb3JtX19tZXNzYWdlLWNvbnRhaW5lci0tZXJyb3Ige1xuICBjb2xvcjogI2ZmMDAwMDtcbn1cbi5rYWxpb3BjdXN0b21mb3Jtcy1mb3JtX19tZXNzYWdlLWNvbnRhaW5lci0td2FybmluZyB7XG4gIGNvbG9yOiAjRjI2QTIxO1xufVxuLmthbGlvcGN1c3RvbWZvcm1zLWZvcm1fX21lc3NhZ2UtY29udGFpbmVyLS1zdWNjZXNzIHtcbiAgY29sb3I6ICM2ZWMwMWU7XG59XG5cbi5jdXN0b20tZmllbGQtLWluZGVudGVkIHtcbiAgbWFyZ2luLWxlZnQ6IDM1cHg7XG59XG5cbi5zdGF0aWNfdGV4dC1maWVsZCB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbn1cbi5zdGF0aWNfdGV4dC1maWVsZC0tc21hbGwge1xuICBmb250LXNpemU6IDEycHg7XG59XG4uc3RhdGljX3RleHQtZmllbGQtLW5vcm1hbCB7XG4gIGZvbnQtc2l6ZTogMTRweDtcbn1cbi5zdGF0aWNfdGV4dC1maWVsZC0tbGFyZ2Uge1xuICBmb250LXNpemU6IDE5cHg7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7XG59XG5cbi50aW1lbGVzcy1mb3JtIHtcbiAgbWF4LXdpZHRoOiA2ODJweDtcbiAgbWFyZ2luOiAwIGF1dG87XG59XG4udGltZWxlc3MtZm9ybV9fYWN0aW9ucyB7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbn1cblxuLmFubnVhbC1mb3JtIHtcbiAgbWF4LXdpZHRoOiA0MDBweDtcbn1cblxuLm5ld3NsZXR0ZXItYWdyZWVtZW50cyAuZXpyaWNodGV4dC1maWVsZCwgLm5ld3NsZXR0ZXItYWdyZWVtZW50cyAubmdsLXJpY2hfdGV4dCB7XG4gIGZvbnQtc2l6ZTogMTVweDtcbn1cbkBtZWRpYSAobWluLXdpZHRoOiAzNzVweCkge1xuICAubmV3c2xldHRlci1hZ3JlZW1lbnRzIC5lenJpY2h0ZXh0LWZpZWxkLCAubmV3c2xldHRlci1hZ3JlZW1lbnRzIC5uZ2wtcmljaF90ZXh0IHtcbiAgICBmb250LXNpemU6IDE3cHg7XG4gIH1cbn1cbkBtZWRpYSAobWluLXdpZHRoOiAxNjU2cHgpIHtcbiAgLm5ld3NsZXR0ZXItYWdyZWVtZW50cyAuZXpyaWNodGV4dC1maWVsZCwgLm5ld3NsZXR0ZXItYWdyZWVtZW50cyAubmdsLXJpY2hfdGV4dCB7XG4gICAgZm9udC1zaXplOiAxOXB4O1xuICB9XG59XG4ubmV3c2xldHRlci1hZ3JlZW1lbnRzIC5lenJpY2h0ZXh0LWZpZWxkIHA6bm90KFtjbGFzc10pLCAubmV3c2xldHRlci1hZ3JlZW1lbnRzIC5uZ2wtcmljaF90ZXh0IHA6bm90KFtjbGFzc10pIHtcbiAgbWFyZ2luLWJvdHRvbTogMDtcbn1cbi5uZXdzbGV0dGVyLWFncmVlbWVudHNfX3RpdGxlIHtcbiAgZm9udC13ZWlnaHQ6IDMwMDtcbiAgcGFkZGluZy10b3A6IDhweDtcbiAgbWFyZ2luLWJvdHRvbTogMC44cmVtO1xuICB0ZXh0LWFsaWduOiBsZWZ0O1xufVxuLm5ld3NsZXR0ZXItYWdyZWVtZW50c19fdGl0bGUgLmV6cmljaHRleHQtZmllbGQsIC5uZXdzbGV0dGVyLWFncmVlbWVudHNfX3RpdGxlIC5uZ2wtcmljaF90ZXh0LCAubmV3c2xldHRlci1hZ3JlZW1lbnRzX190aXRsZSB7XG4gIGZvbnQtc2l6ZTogMTVweDtcbn1cbkBtZWRpYSAobWluLXdpZHRoOiAzNzVweCkge1xuICAubmV3c2xldHRlci1hZ3JlZW1lbnRzX190aXRsZSAuZXpyaWNodGV4dC1maWVsZCwgLm5ld3NsZXR0ZXItYWdyZWVtZW50c19fdGl0bGUgLm5nbC1yaWNoX3RleHQsIC5uZXdzbGV0dGVyLWFncmVlbWVudHNfX3RpdGxlIHtcbiAgICBmb250LXNpemU6IDE3cHg7XG4gIH1cbn1cbkBtZWRpYSAobWluLXdpZHRoOiAxNjU2cHgpIHtcbiAgLm5ld3NsZXR0ZXItYWdyZWVtZW50c19fdGl0bGUgLmV6cmljaHRleHQtZmllbGQsIC5uZXdzbGV0dGVyLWFncmVlbWVudHNfX3RpdGxlIC5uZ2wtcmljaF90ZXh0LCAubmV3c2xldHRlci1hZ3JlZW1lbnRzX190aXRsZSB7XG4gICAgZm9udC1zaXplOiAxOXB4O1xuICAgIGxldHRlci1zcGFjaW5nOiAwLjRweDtcbiAgfVxufVxuLm5ld3NsZXR0ZXItYWdyZWVtZW50c19fdGl0bGUtLWJvbGQge1xuICBmb250LXdlaWdodDogNTAwO1xufVxuLm5ld3NsZXR0ZXItYWdyZWVtZW50c19fY2hvaWNlcyB7XG4gIC8qcGFkZGluZy1sZWZ0OiA0OHB4O1xuICAubmV3c2xldHRlci1hZ3JlZW1lbnRzLS1jb2xsYXBzYWJsZSAmIHtcbiAgICAgIHBhZGRpbmctbGVmdDogMDtcbiAgfSovXG59XG4uY2xpZW50LXNldHRpbmdzIC5uZXdzbGV0dGVyLWFncmVlbWVudHNfX2Nob2ljZXMge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LXdyYXA6IHdyYXA7XG4gIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2Vlbjtcbn1cbi5jbGllbnQtc2V0dGluZ3MgLm5ld3NsZXR0ZXItYWdyZWVtZW50c19fY2hvaWNlcyAubmV3c2xldHRlci1hZ3JlZW1lbnRzX19jaG9pY2Uge1xuICB3aWR0aDogMTAwJTtcbn1cbkBtZWRpYSAobWluLXdpZHRoOiAxMjAwcHgpIHtcbiAgLmNsaWVudC1zZXR0aW5ncyAubmV3c2xldHRlci1hZ3JlZW1lbnRzX19jaG9pY2VzIC5uZXdzbGV0dGVyLWFncmVlbWVudHNfX2Nob2ljZSB7XG4gICAgd2lkdGg6IDQ3JTtcbiAgfVxufVxuLm5ld3NsZXR0ZXItYWdyZWVtZW50c19fY2hvaWNlIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xufVxuLm5ld3NsZXR0ZXItYWdyZWVtZW50c19fdG9nZ2xlIHtcbiAgYm9yZGVyOiBub25lO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBmb250LWZhbWlseTogaW5oZXJpdDtcbiAgb3V0bGluZTogbm9uZTtcbiAgbWFyZ2luOiAwO1xuICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICBiYWNrZ3JvdW5kLXNpemU6IDE4cHggMThweDtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogcmlnaHQgMCBjZW50ZXI7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbDtjaGFyc2V0PXV0ZjgsJTNDc3ZnJTIweG1sbnMlM0QlMjJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyUyMiUyMGZpbGwlM0QlMjIlMjMyMDFkMWQlMjIlMjB2aWV3Qm94JTNEJTIyMCUyMDAlMjAzNiUyMDM2JTIyJTNFJTNDcGF0aCUyMGQlM0QlMjJNMzMuODcsMjdhMS4xMywxLjEzLDAsMCwxLS44LS4zM0wxOCwxMS43MmwtMTUuMDcsMTVhMS4xMywxLjEzLDAsMCwxLTEuNiwwLDEuMTIsMS4xMiwwLDAsMSwwLTEuNTlMMTcuMiw5LjMzYTEuMTMsMS4xMywwLDAsMSwxLjYsMEwzNC42NywyNS4wOGExLjEzLDEuMTMsMCwwLDEtLjgsMS45MlolMjIvJTNFJTNDcGF0aCUyMGQlM0QlMjJNMzYsMzZIMFYwSDM2WiUyMiUyMGZpbGwlM0QlMjJub25lJTIyLyUzRSUzQy9zdmclM0VcIik7XG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICBmb250LXdlaWdodDogMzAwO1xuICBsaW5lLWhlaWdodDogMS4yNTtcbiAgdXNlci1zZWxlY3Q6IG5vbmU7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiA3cHg7XG4gIHJpZ2h0OiAwO1xuICBwYWRkaW5nLXJpZ2h0OiAzMHB4O1xuICBjb2xvcjogIzAwQUVFRjtcbiAgZm9udC1zaXplOiAxNXB4O1xufVxuQG1lZGlhIChtaW4td2lkdGg6IDM3NXB4KSB7XG4gIC5uZXdzbGV0dGVyLWFncmVlbWVudHNfX3RvZ2dsZSB7XG4gICAgZm9udC1zaXplOiAxN3B4O1xuICB9XG59XG5AbWVkaWEgKG1pbi13aWR0aDogMTY1NnB4KSB7XG4gIC5uZXdzbGV0dGVyLWFncmVlbWVudHNfX3RvZ2dsZSB7XG4gICAgZm9udC1zaXplOiAxOXB4O1xuICB9XG59XG4ubmV3c2xldHRlci1hZ3JlZW1lbnRzX190b2dnbGU6Zm9jdXMge1xuICBvdXRsaW5lOiBub25lO1xufVxuLm5ld3NsZXR0ZXItYWdyZWVtZW50c19fdG9nZ2xlIC5uZXdzbGV0dGVyLWFncmVlbWVudHNfX3RvZ2dsZS0tY29sbGFwc2VkIHtcbiAgZGlzcGxheTogbm9uZTtcbn1cbi5uZXdzbGV0dGVyLWFncmVlbWVudHNfX3RvZ2dsZSAubmV3c2xldHRlci1hZ3JlZW1lbnRzX190b2dnbGUtLXNob3duIHtcbiAgZGlzcGxheTogaW5saW5lO1xufVxuLm5ld3NsZXR0ZXItYWdyZWVtZW50c19fdG9nZ2xlLmNvbGxhcHNlZCB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbDtjaGFyc2V0PXV0ZjgsJTNDc3ZnJTIweG1sbnMlM0QlMjJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyUyMiUyMGZpbGwlM0QlMjIlMjMyMDFkMWQlMjIlMjB2aWV3Qm94JTNEJTIyMCUyMDAlMjAzNiUyMDM2JTIyJTNFJTNDcGF0aCUyMGQlM0QlMjJNMi4xMyw5YTEuMTMsMS4xMywwLDAsMSwuOC4zM0wxOCwyNC4yOCwzMy4wNyw5LjMzYTEuMTMsMS4xMywwLDAsMSwxLjYsMCwxLjEyLDEuMTIsMCwwLDEsMCwxLjU5TDE4LjgsMjYuNjdhMS4xMywxLjEzLDAsMCwxLTEuNiwwTDEuMzMsMTAuOTJBMS4xMywxLjEzLDAsMCwxLDIuMTMsOVolMjIvJTNFJTNDcGF0aCUyMGQlM0QlMjJNMzYsMzZIMFYwSDM2WiUyMiUyMGZpbGwlM0QlMjJub25lJTIyLyUzRSUzQy9zdmclM0VcIik7XG59XG4ubmV3c2xldHRlci1hZ3JlZW1lbnRzX190b2dnbGUuY29sbGFwc2VkIC5uZXdzbGV0dGVyLWFncmVlbWVudHNfX3RvZ2dsZS0tY29sbGFwc2VkIHtcbiAgZGlzcGxheTogaW5saW5lO1xufVxuLm5ld3NsZXR0ZXItYWdyZWVtZW50c19fdG9nZ2xlLmNvbGxhcHNlZCAubmV3c2xldHRlci1hZ3JlZW1lbnRzX190b2dnbGUtLXNob3duIHtcbiAgZGlzcGxheTogbm9uZTtcbn1cbi5uZXdzbGV0dGVyLWFncmVlbWVudHNfX3BhbmVsIC5uZXdzbGV0dGVyLWFncmVlbWVudHNfX2luZm8ge1xuICBtYXJnaW46IDA7XG4gIHBhZGRpbmctYm90dG9tOiAyOHB4O1xufVxuQG1lZGlhIChtaW4td2lkdGg6IDE2NTZweCkge1xuICAubmV3c2xldHRlci1hZ3JlZW1lbnRzX19wYW5lbCAubmV3c2xldHRlci1hZ3JlZW1lbnRzX19pbmZvIHtcbiAgICBwYWRkaW5nLWJvdHRvbTogMTZweDtcbiAgfVxufVxuLm5ld3NsZXR0ZXItYWdyZWVtZW50c19faW5mbyB7XG4gIHRleHQtYWxpZ246IGxlZnQ7XG4gIGZvbnQtd2VpZ2h0OiAzMDA7XG4gIG1hcmdpbi10b3A6IDIycHg7XG4gIG1hcmdpbi1ib3R0b206IDI4cHg7XG4gIHBhZGRpbmc6IDA7XG4gIGxpbmUtaGVpZ2h0OiAxLjQzO1xufVxuLm5ld3NsZXR0ZXItYWdyZWVtZW50c19faW5mby0tc3BhY2VkIHtcbiAgbWFyZ2luLXRvcDogMzJweDtcbn1cbkBtZWRpYSAobWluLXdpZHRoOiAxNjU2cHgpIHtcbiAgLm5ld3NsZXR0ZXItYWdyZWVtZW50c19faW5mby0tc3BhY2VkIHtcbiAgICBtYXJnaW4tdG9wOiAyMnB4O1xuICB9XG59XG4ubmV3c2xldHRlci1hZ3JlZW1lbnRzX19pbmZvLS1pbmRlbnRlZCwgLm5ld3NsZXR0ZXItYWdyZWVtZW50c19fY2hvaWNlIC5uZXdzbGV0dGVyLWFncmVlbWVudHNfX2luZm8ge1xuICBwYWRkaW5nLWxlZnQ6IDM1cHg7XG59XG5AbWVkaWEgKG1pbi13aWR0aDogMTY1NnB4KSB7XG4gIC5uZXdzbGV0dGVyLWFncmVlbWVudHNfX2luZm8tLWluZGVudGVkLCAubmV3c2xldHRlci1hZ3JlZW1lbnRzX19jaG9pY2UgLm5ld3NsZXR0ZXItYWdyZWVtZW50c19faW5mbyB7XG4gICAgcGFkZGluZy1sZWZ0OiA0NXB4O1xuICB9XG59XG4ubmV3c2xldHRlci1hZ3JlZW1lbnRzX19pbmZvIC5lenJpY2h0ZXh0LWZpZWxkLCAubmV3c2xldHRlci1hZ3JlZW1lbnRzX19pbmZvIC5uZ2wtcmljaF90ZXh0LCAubmV3c2xldHRlci1hZ3JlZW1lbnRzX19pbmZvIHtcbiAgZm9udC1zaXplOiAxMi41cHg7XG59XG5AbWVkaWEgKG1pbi13aWR0aDogMTY1NnB4KSB7XG4gIC5uZXdzbGV0dGVyLWFncmVlbWVudHNfX2luZm8gLmV6cmljaHRleHQtZmllbGQsIC5uZXdzbGV0dGVyLWFncmVlbWVudHNfX2luZm8gLm5nbC1yaWNoX3RleHQsIC5uZXdzbGV0dGVyLWFncmVlbWVudHNfX2luZm8ge1xuICAgIGxpbmUtaGVpZ2h0OiAxLjc7XG4gICAgZm9udC1zaXplOiAxNHB4O1xuICB9XG59XG5AbWVkaWEgKG1pbi13aWR0aDogMTY1NnB4KSB7XG4gIC5uZXdzbGV0dGVyLWFncmVlbWVudHNfX2luZm8ge1xuICAgIG1hcmdpbi1ib3R0b206IDE2cHg7XG4gIH1cbn1cbi5uZXdzbGV0dGVyLWFncmVlbWVudHNfX2luZm8gYTpob3ZlciwgLm5ld3NsZXR0ZXItYWdyZWVtZW50c19faW5mbyBhOmZvY3VzIHtcbiAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG59XG5cbi5tZGMtY2hlY2tib3gtbXVsdGlwbGUgLnNpdGUtZm9ybV9fdmFsaWRhdGlvbi10ZXh0IHtcbiAgbGVmdDogMDtcbiAgYm90dG9tOiAwO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIG1hcmdpbi1ib3R0b206IDE0cHg7XG4gIG1heC13aWR0aDogdW5zZXQ7XG59XG5cbi5zZXJ2ZXItc2lkZS0taW52YWxpZCAuc2l0ZS1mb3JtX192YWxpZGF0aW9uLXRleHQge1xuICBkaXNwbGF5OiBibG9jaztcbn1cblxuLndhcy12YWxpZGF0ZWQgLm5ld3NsZXR0ZXItYWdyZWVtZW50cyAuc2l0ZS1mb3JtX19jaGVja2JveC0tcmVxdWlyZWQuc2l0ZS1mb3JtX19jaGVja2JveC0tdW5jaGVja2VkIH4gLnNpdGUtZm9ybV9fdmFsaWRhdGlvbi10ZXh0IHtcbiAgcGFkZGluZy1sZWZ0OiAzNXB4O1xufVxuQG1lZGlhIChtaW4td2lkdGg6IDE2NTZweCkge1xuICAud2FzLXZhbGlkYXRlZCAubmV3c2xldHRlci1hZ3JlZW1lbnRzIC5zaXRlLWZvcm1fX2NoZWNrYm94LS1yZXF1aXJlZC5zaXRlLWZvcm1fX2NoZWNrYm94LS11bmNoZWNrZWQgfiAuc2l0ZS1mb3JtX192YWxpZGF0aW9uLXRleHQge1xuICAgIHBhZGRpbmctbGVmdDogNDRweDtcbiAgfVxufVxuXG4ubW9kYWwtZnVsbCAubWRjLWRpYWxvZ19fc2NyaW0ge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDM4LCA4MywgMTg1LCAwLjUpO1xufVxuLm1vZGFsLWZ1bGwgLm1kYy1kaWFsb2dfX3N1cmZhY2Uge1xuICBtYXgtd2lkdGg6IGNhbGMoMTAwJSAtIDQwcHgpO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG59XG5AbWVkaWEgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgLm1vZGFsLWZ1bGwgLm1kYy1kaWFsb2dfX3N1cmZhY2Uge1xuICAgIG1heC13aWR0aDogNzIwcHg7XG4gIH1cbn1cbkBtZWRpYSAobWluLXdpZHRoOiA5OTJweCkge1xuICAubW9kYWwtZnVsbCAubWRjLWRpYWxvZ19fc3VyZmFjZSB7XG4gICAgbWF4LXdpZHRoOiA4ODBweDtcbiAgfVxufVxuQG1lZGlhIChtaW4td2lkdGg6IDEyMDBweCkge1xuICAubW9kYWwtZnVsbCAubWRjLWRpYWxvZ19fc3VyZmFjZSB7XG4gICAgbWF4LXdpZHRoOiAxMDgwcHg7XG4gIH1cbn1cbkBtZWRpYSAobWluLXdpZHRoOiAxNDAwcHgpIHtcbiAgLm1vZGFsLWZ1bGwgLm1kYy1kaWFsb2dfX3N1cmZhY2Uge1xuICAgIG1heC13aWR0aDogMTI4MHB4O1xuICB9XG59XG5AbWVkaWEgKG1pbi13aWR0aDogMTY1NnB4KSB7XG4gIC5tb2RhbC1mdWxsIC5tZGMtZGlhbG9nX19zdXJmYWNlIHtcbiAgICBtYXgtd2lkdGg6IDE1MDBweDtcbiAgfVxufVxuLm1kYy1kaWFsb2cgLm1vZGFsLWZ1bGxfX2NvbnRlbnQge1xuICBsZXR0ZXItc3BhY2luZzogMC4ycHg7XG4gIHBhZGRpbmc6IDVweDtcbn1cbkBtZWRpYSAobWluLXdpZHRoOiA3NjhweCkge1xuICAubWRjLWRpYWxvZyAubW9kYWwtZnVsbF9fY29udGVudCB7XG4gICAgcGFkZGluZzogMTBweDtcbiAgfVxufVxuQG1lZGlhIChtaW4td2lkdGg6IDEyMDBweCkge1xuICAubWRjLWRpYWxvZyAubW9kYWwtZnVsbF9fY29udGVudCB7XG4gICAgcGFkZGluZzogMjBweDtcbiAgfVxufVxuLm1vZGFsLWZ1bGxfX2Nsb3NlIHtcbiAgYm9yZGVyOiAwO1xuICBtYXJnaW46IDA7XG4gIHBhZGRpbmc6IDA7XG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHotaW5kZXg6IDUwO1xuICB0b3A6IDJweDtcbiAgcmlnaHQ6IDJweDtcbiAgd2lkdGg6IDQ4cHg7XG4gIGhlaWdodDogNDhweDtcbiAgb3V0bGluZTogbm9uZTtcbiAgdXNlci1zZWxlY3Q6IG5vbmU7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbDtjaGFyc2V0PXV0ZjgsJTNDc3ZnJTIweG1sbnMlM0QlMjJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyUyMiUyMGZpbGwlM0QlMjIlMjMyMDFkMWQlMjIlMjB2aWV3Qm94JTNEJTIyMCUyMDAlMjAzNiUyMDM2JTIyJTNFJTNDcGF0aCUyMGQlM0QlMjJNMi41NCwxLjE3aDBhMS4wOCwxLjA4LDAsMCwxLC44Ni4zOUwxOCwxNi4xMiwzMi41MiwxLjU2YTEuMTMsMS4xMywwLDAsMSwuOTItLjM5LDEuMjQsMS4yNCwwLDAsMSwxLC4zOSwxLjMyLDEuMzIsMCwwLDEsLjM2LjkyLDEuMjgsMS4yOCwwLDAsMS0uMzkuOTJMMTkuNzksMTgsMzQuMzYsMzIuNTJhMS4yNiwxLjI2LDAsMCwxLC4zOS45MiwxLjMzLDEuMzMsMCwwLDEtLjM2LjkyLDEuMiwxLjIsMCwwLDEtLjkyLjM5LDEuMywxLjMsMCwwLDEtLjk1LS4zOUwxOCwxOS43OSwzLjQsMzQuMzZhMS4yOCwxLjI4LDAsMCwxLS45Mi4zOSwxLjI2LDEuMjYsMCwwLDEtLjkyLS4zOSwxLjI4LDEuMjgsMCwwLDEtLjM5LS45MiwxLjI2LDEuMjYsMCwwLDEsLjM5LS45MkwxNi4xMiwxOCwxLjU2LDMuNGExLjI4LDEuMjgsMCwwLDEtLjM5LS45MiwxLjI2LDEuMjYsMCwwLDEsLjM5LS45MiwxLjI2LDEuMjYsMCwwLDEsLjkyLS4zOVolMjIvJTNFJTNDcGF0aCUyMGQlM0QlMjJNMzYsMzZIMFYwSDM2WiUyMiUyMGZpbGwlM0QlMjJub25lJTIyLyUzRSUzQy9zdmclM0VcIik7XG4gIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gIGJhY2tncm91bmQtc2l6ZTogMThweCAxOHB4O1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXI7XG59XG5AbWVkaWEgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgLm1vZGFsLWZ1bGxfX2Nsb3NlIHtcbiAgICB0b3A6IDI0cHg7XG4gICAgcmlnaHQ6IDI0cHg7XG4gICAgYmFja2dyb3VuZC1zaXplOiAyMnB4IDIycHg7XG4gIH1cbn1cbi5tb2RhbC1mdWxsX19jbG9zZTpob3ZlciwgLm1vZGFsLWZ1bGxfX2Nsb3NlOmZvY3VzIHtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICBvdXRsaW5lOiBub25lO1xufVxuXG4ucmVnaXN0ZXIge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG59XG5AbWVkaWEgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgLnJlZ2lzdGVyIHtcbiAgICBtYXgtd2lkdGg6IDc2OHB4O1xuICB9XG59XG5AbWVkaWEgKG1pbi13aWR0aDogOTkycHgpIHtcbiAgLnJlZ2lzdGVyIHtcbiAgICBtYXgtd2lkdGg6IDEzNjlweDtcbiAgfVxufVxuLnJlZ2lzdGVyX190aXRsZSB7XG4gIGZvbnQtc2l6ZTogMjhweDtcbiAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgY29sb3I6ICMwMEFFRUY7XG4gIG1hcmdpbi1ib3R0b206IDM5cHg7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgbWFyZ2luLXRvcDogMzVweDtcbiAgbGV0dGVyLXNwYWNpbmc6IDAuMnB4O1xufVxuQG1lZGlhIChtaW4td2lkdGg6IDk5MnB4KSB7XG4gIC5yZWdpc3Rlcl9fdGl0bGUge1xuICAgIGxldHRlci1zcGFjaW5nOiAwLjVweDtcbiAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgIGZvbnQtc2l6ZTogNDhweDtcbiAgICBtYXJnaW4tdG9wOiA1cHg7XG4gICAgbWFyZ2luLWJvdHRvbTogMzBweDtcbiAgfVxufVxuQG1lZGlhIChtaW4td2lkdGg6IDE2NTZweCkge1xuICAucmVnaXN0ZXJfX3RpdGxlIHtcbiAgICBwYWRkaW5nLWxlZnQ6IDQycHg7XG4gIH1cbn1cbi5yZWdpc3Rlcl9fc3VidGl0bGUge1xuICBmb250LXdlaWdodDogMzAwO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIGZvbnQtc2l6ZTogMjBweDtcbiAgbWFyZ2luLWJvdHRvbTogMjhweDtcbn1cbkBtZWRpYSAobWluLXdpZHRoOiA5OTJweCkge1xuICAucmVnaXN0ZXJfX3N1YnRpdGxlIHtcbiAgICBmb250LXdlaWdodDogNDAwO1xuICAgIHRleHQtYWxpZ246IGluaGVyaXQ7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgZm9udC1zaXplOiAyNHB4O1xuICAgIG1hcmdpbi1ib3R0b206IDM2cHg7XG4gICAgbGV0dGVyLXNwYWNpbmc6IDAuNnB4O1xuICB9XG59XG5AbWVkaWEgKG1pbi13aWR0aDogMTY1NnB4KSB7XG4gIC5yZWdpc3Rlcl9fc3VidGl0bGUge1xuICAgIG1hcmdpbi10b3A6IDMycHg7XG4gIH1cbn1cbi5yZWdpc3RlciAuYnJlYWRjcnVtYiB7XG4gIGRpc3BsYXk6IG5vbmU7XG59XG5AbWVkaWEgKG1pbi13aWR0aDogOTkycHgpIHtcbiAgLnJlZ2lzdGVyIC5icmVhZGNydW1iIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgfVxufVxuLnJlZ2lzdGVyX19yb3cge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xufVxuQG1lZGlhIChtaW4td2lkdGg6IDk5MnB4KSB7XG4gIC5yZWdpc3Rlcl9fcm93IHtcbiAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgfVxufVxuLnJlZ2lzdGVyX19jb250ZW50IHtcbiAgd2lkdGg6IDEwMCU7XG59XG5AbWVkaWEgKG1pbi13aWR0aDogOTkycHgpIHtcbiAgLnJlZ2lzdGVyX19jb250ZW50IHtcbiAgICBmbGV4OiAwIDEgY2FsYygxMDAlIC0gMzc1cHgpO1xuICAgIG1heC13aWR0aDogY2FsYygxMDAlIC0gMzc1cHgpO1xuICAgIHBhZGRpbmctcmlnaHQ6IDQwcHg7XG4gIH1cbn1cbkBtZWRpYSAobWluLXdpZHRoOiAxNjU2cHgpIHtcbiAgLnJlZ2lzdGVyX19jb250ZW50IHtcbiAgICBmbGV4OiAwIDEgNzEwcHg7XG4gICAgbWF4LXdpZHRoOiA3MTBweDtcbiAgICBwYWRkaW5nLWxlZnQ6IDQycHg7XG4gIH1cbn1cbi5yZWdpc3Rlcl9fY29udGV4dCB7XG4gIG1hcmdpbi10b3A6IDQ1cHg7XG4gIG1hcmdpbjogNDVweCAtMjNweCAtMzBweCAtMjNweDtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2UxZjRmZDtcbn1cbkBtZWRpYSAobWluLXdpZHRoOiA3NjhweCkge1xuICAucmVnaXN0ZXJfX2NvbnRleHQge1xuICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICB9XG59XG5AbWVkaWEgKG1pbi13aWR0aDogOTkycHgpIHtcbiAgLnJlZ2lzdGVyX19jb250ZXh0IHtcbiAgICBtYXJnaW46IDAgYXV0bztcbiAgICBmbGV4OiAwIDAgNDI1cHg7XG4gICAgbWF4LXdpZHRoOiA0MjVweDtcbiAgfVxufVxuQG1lZGlhIChtaW4td2lkdGg6IDE0MDBweCkge1xuICAucmVnaXN0ZXJfX2NvbnRleHQge1xuICAgIGZsZXg6IDAgMCA0NzVweDtcbiAgICBtYXgtd2lkdGg6IDQ3NXB4O1xuICB9XG59XG5AbWVkaWEgKG1pbi13aWR0aDogMTY1NnB4KSB7XG4gIC5yZWdpc3Rlcl9fY29udGV4dCB7XG4gICAgbWFyZ2luOiAwO1xuICAgIGZsZXg6IDAgMCA1NDBweDtcbiAgICBtYXgtd2lkdGg6IDU0MHB4O1xuICB9XG59XG4ucmVnaXN0ZXJfX21hcmtldGluZy1ub3RlIHtcbiAgbWFyZ2luLXRvcDogMjVweDtcbiAgZm9udC1zaXplOiAxMi41cHg7XG4gIHBhZGRpbmctbGVmdDogMzNweDtcbn1cbkBtZWRpYSAobWluLXdpZHRoOiA5OTJweCkge1xuICAucmVnaXN0ZXJfX21hcmtldGluZy1ub3RlIHtcbiAgICBmb250LXNpemU6IDE2cHg7XG4gICAgbWFyZ2luLXRvcDogMzBweDtcbiAgfVxufVxuQG1lZGlhIChtaW4td2lkdGg6IDE2NTZweCkge1xuICAucmVnaXN0ZXJfX21hcmtldGluZy1ub3RlIHtcbiAgICBwYWRkaW5nLWxlZnQ6IDQycHg7XG4gICAgZm9udC1zaXplOiAxNnB4O1xuICAgIG1hcmdpbi10b3A6IDMwcHg7XG4gIH1cbn1cbi5yZWdpc3Rlcl9fbWFya2V0aW5nLW5vdGUgcCB7XG4gIG1hcmdpbjogMDtcbn1cbi5yZWdpc3Rlcl9fcGVyc29uYWwtZGF0YS10b2dnbGUge1xuICBmb250LXdlaWdodDogNDAwO1xuICB0ZXh0LXRyYW5zZm9ybTogbm9uZTtcbn1cbi5zaXRlLWZvcm0gLnJlZ2lzdGVyX19wZXJzb25hbC1kYXRhLXRvZ2dsZSB7XG4gIGZvbnQtc2l6ZTogMTIuNXB4O1xuICBoZWlnaHQ6IGF1dG87XG4gIG1pbi1oZWlnaHQ6IDQ4cHg7XG4gIGxpbmUtaGVpZ2h0OiAxLjI7XG4gIHBhZGRpbmc6IDRweCAxNXB4O1xuICBtYXJnaW4tbGVmdDogLTE1cHg7XG4gIG1hcmdpbi1ib3R0b206IC0xNnB4O1xufVxuQG1lZGlhIChtaW4td2lkdGg6IDk5MnB4KSB7XG4gIC5zaXRlLWZvcm0gLnJlZ2lzdGVyX19wZXJzb25hbC1kYXRhLXRvZ2dsZSB7XG4gICAgZm9udC1zaXplOiAxNnB4O1xuICB9XG59XG4ucmVnaXN0ZXJfX3BlcnNvbmFsLWRhdGEtaW5mbyBwIHtcbiAgbWFyZ2luLWJvdHRvbTogOHB4O1xufVxuLnJlZ2lzdGVyX19wZXJzb25hbC1kYXRhLWluZm8gYSB7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7XG59XG4ucmVnaXN0ZXJfX3BlcnNvbmFsLWRhdGEtaW5mbyBhOmhvdmVyLCAucmVnaXN0ZXJfX3BlcnNvbmFsLWRhdGEtaW5mbyBhOmZvY3VzIHtcbiAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG59XG4ucmVnaXN0ZXJfX3BlcnNvbmFsLWRhdGEtaW5mbyBoNCB7XG4gIG1hcmdpbi10b3A6IDIwcHg7XG4gIG1hcmdpbi1ib3R0b206IDhweDtcbiAgZm9udC1zaXplOiBpbmhlcml0O1xuICBmb250LXdlaWdodDogNzAwO1xufVxuLnJlZ2lzdGVyX19wZXJzb25hbC1kYXRhLWluZm8gdWwge1xuICBtYXJnaW4tYm90dG9tOiAwO1xufVxuLnJlZ2lzdGVyX19wZXJzb25hbC1kYXRhLWluZm8gbGkge1xuICBtYXJnaW4tYm90dG9tOiA4cHg7XG59XG4ucmVnaXN0ZXJfX2ZpZ3VyZSB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgbWFyZ2luOiAwIGF1dG87XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIGJhY2tncm91bmQtY29sb3I6ICNmM2Y1Zjc7XG59XG5AbWVkaWEgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgLnJlZ2lzdGVyX19maWd1cmUge1xuICAgIG1hcmdpbi1ib3R0b206IDQwcHg7XG4gICAgbWF4LXdpZHRoOiAzNzVweDtcbiAgfVxufVxuQG1lZGlhIChtaW4td2lkdGg6IDk5MnB4KSB7XG4gIC5yZWdpc3Rlcl9fZmlndXJlIHtcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgIG1heC13aWR0aDogbm9uZTtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgfVxufVxuLnJlZ2lzdGVyX19jYW52YXMge1xuICBkaXNwbGF5OiBub25lO1xufVxuQG1lZGlhIChtaW4td2lkdGg6IDk5MnB4KSB7XG4gIC5yZWdpc3Rlcl9fY2FudmFzIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjRDhEMUM5O1xuICAgIG1hcmdpbjogMDtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB3aWR0aDogMTAwJTtcbiAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgdXNlci1zZWxlY3Q6IG5vbmU7XG4gIH1cbn1cbi5yZWdpc3Rlcl9faW1nIHtcbiAgd2lkdGg6IDEwMCU7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICB1c2VyLXNlbGVjdDogbm9uZTtcbiAgb3JkZXI6IDI7XG59XG5AbWVkaWEgKG1pbi13aWR0aDogOTkycHgpIHtcbiAgY2FudmFzICsgcGljdHVyZSAucmVnaXN0ZXJfX2ltZyB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGxlZnQ6IDA7XG4gICAgdG9wOiAwO1xuICB9XG59XG4ucmVnaXN0ZXJfX3BpY3R1cmUge1xuICBvcmRlcjogMjtcbiAgbWFyZ2luLXRvcDogLTEwMCU7XG59XG4ucmVnaXN0ZXJfX2ZpZ2NhcHRpb24ge1xuICB3aWR0aDogMTAwJTtcbiAgcGFkZGluZzogNDVweCAxNXB4IDIwcHggMTVweDtcbiAgb3JkZXI6IDE7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbn1cbkBtZWRpYSAobWluLXdpZHRoOiAzNzVweCkge1xuICAucmVnaXN0ZXJfX2ZpZ2NhcHRpb24ge1xuICAgIHBhZGRpbmc6IDQ1cHggMzBweCAyMHB4IDE1cHg7XG4gIH1cbn1cbkBtZWRpYSAobWluLXdpZHRoOiA5OTJweCkge1xuICAucmVnaXN0ZXJfX2ZpZ2NhcHRpb24ge1xuICAgIHBhZGRpbmc6IDMwcHggMTVweCAyMHB4IDE1cHg7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMDtcbiAgICBsZWZ0OiAwO1xuICB9XG59XG5AbWVkaWEgKG1pbi13aWR0aDogMTY1NnB4KSB7XG4gIC5yZWdpc3Rlcl9fZmlnY2FwdGlvbiB7XG4gICAgcGFkZGluZzogMzBweCA0MHB4O1xuICB9XG59XG4ucmVnaXN0ZXJfX2ZpZ2NhcHRpb24gLmV6cmljaHRleHQtZmllbGQgdWw6bm90KC5tZGMtbGlzdCk6bm90KC5zaGFyZV9fbGlua3MpIHtcbiAgbWFyZ2luLXRvcDogMzVweDtcbn1cbi5yZWdpc3Rlcl9fcGFzc3dvcmRzIHtcbiAgbWFyZ2luLWJvdHRvbTogMzRweDtcbn1cbkBtZWRpYSAobWluLXdpZHRoOiA5OTJweCkge1xuICAucmVnaXN0ZXJfX3Bhc3N3b3JkcyB7XG4gICAgbWFyZ2luLWJvdHRvbTogMjhweDtcbiAgfVxufVxuLnJlZ2lzdGVyX19wYXNzd29yZHMgKyAubWRjLWZvcm0tZmllbGQge1xuICBwYWRkaW5nLXJpZ2h0OiAyMHB4O1xufVxuLnJlZ2lzdGVyX19zZW5kIHtcbiAgbWFyZ2luOiAwIGF1dG87XG4gIGRpc3BsYXk6IGZsZXg7XG4gIHRleHQtdHJhbnNmb3JtOiBub25lO1xuICBmb250LXdlaWdodDogNDAwO1xuICB3aWR0aDogMTAwJTtcbiAgbWFyZ2luLXRvcDogNDVweDtcbn1cbkBtZWRpYSAobWluLXdpZHRoOiA3NjhweCkge1xuICAucmVnaXN0ZXJfX3NlbmQge1xuICAgIHdpZHRoOiBhdXRvO1xuICB9XG59XG5AbWVkaWEgKG1pbi13aWR0aDogMTY1NnB4KSB7XG4gIC5yZWdpc3Rlcl9fc2VuZCB7XG4gICAgbWFyZ2luLXRvcDogOTJweDtcbiAgfVxufVxuLnJlZ2lzdGVyX19jb250ZXh0LXRpdGxlIHtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBmb250LXNpemU6IDIwcHg7XG4gIGZvbnQtd2VpZ2h0OiAzMDA7XG4gIG1hcmdpbi1ib3R0b206IDM3cHg7XG59XG5AbWVkaWEgKG1pbi13aWR0aDogOTkycHgpIHtcbiAgLnJlZ2lzdGVyX19jb250ZXh0LXRpdGxlIHtcbiAgICBtYXJnaW4tYm90dG9tOiAyMHB4O1xuICB9XG59XG5AbWVkaWEgKG1pbi13aWR0aDogMTY1NnB4KSB7XG4gIC5yZWdpc3Rlcl9fY29udGV4dC10aXRsZSB7XG4gICAgdGV4dC1hbGlnbjogaW5oZXJpdDtcbiAgICBmb250LXNpemU6IDI0cHg7XG4gICAgbWFyZ2luLWJvdHRvbTogNDJweDtcbiAgICBsZXR0ZXItc3BhY2luZzogMC42cHg7XG4gIH1cbn1cbi5yZWdpc3Rlcl9fY29udGV4dC1saXN0IHtcbiAgZm9udC13ZWlnaHQ6IDMwMDtcbiAgcGFkZGluZzogMDtcbiAgbGlzdC1zdHlsZTogbm9uZTtcbn1cbkBtZWRpYSAobWluLXdpZHRoOiAxNjU2cHgpIHtcbiAgLnJlZ2lzdGVyX19jb250ZXh0LWxpc3Qge1xuICAgIGZvbnQtc2l6ZTogMjFweDtcbiAgfVxufVxuLnJlZ2lzdGVyX19jb250ZXh0LWxpc3QgbGkge1xuICBwYWRkaW5nLWxlZnQ6IDMycHg7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgbWFyZ2luLWJvdHRvbTogMTJweDtcbn1cbkBtZWRpYSAobWluLXdpZHRoOiAxNjU2cHgpIHtcbiAgLnJlZ2lzdGVyX19jb250ZXh0LWxpc3QgbGkge1xuICAgIHBhZGRpbmctbGVmdDogNTBweDtcbiAgICBtYXJnaW4tYm90dG9tOiAzMHB4O1xuICB9XG59XG4ucmVnaXN0ZXJfX2NvbnRleHQtbGlzdCBsaTpiZWZvcmUge1xuICBjb250ZW50OiBcIlwiO1xuICBkaXNwbGF5OiBibG9jaztcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBsZWZ0OiAycHg7XG4gIHRvcDogM3B4O1xuICB3aWR0aDogMThweDtcbiAgaGVpZ2h0OiAxOHB4O1xuICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXI7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbDtjaGFyc2V0PXV0ZjgsJTNDc3ZnJTIweG1sbnMlM0QlMjJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyUyMiUyMGZpbGwlM0QlMjIlMjMwMEFFRUYlMjIlMjB2aWV3Qm94JTNEJTIyMCUyMDAlMjAyNiUyMDI2JTIyJTNFJTNDcGF0aCUyMGQlM0QlMjJNMjUsMTNBMTIsMTIsMCwxLDEsMTMsMSwxMiwxMiwwLDAsMSwyNSwxM1olMjIvJTNFJTNDcGF0aCUyMGQlM0QlMjJNMTEuMywxOC42Niw1LjY1LDEzbDIuMjYtMi4yNiwzLjM5LDMuMzksNi43OS02Ljc5LDIuMjYsMi4yN1olMjIlMjBmaWxsJTNEJTIyJTIzZmZmJTIyLyUzRSUzQ3BhdGglMjBkJTNEJTIyTTI2LDI2SDBWMEgyNlolMjIlMjBmaWxsJTNEJTIybm9uZSUyMi8lM0UlM0Mvc3ZnJTNFXCIpO1xuICBiYWNrZ3JvdW5kLXNpemU6IDE4cHggMThweDtcbn1cbkBtZWRpYSAobWluLXdpZHRoOiAxNjU2cHgpIHtcbiAgLnJlZ2lzdGVyX19jb250ZXh0LWxpc3QgbGk6YmVmb3JlIHtcbiAgICB0b3A6IDVweDtcbiAgICBsZWZ0OiA2cHg7XG4gICAgd2lkdGg6IDIycHg7XG4gICAgaGVpZ2h0OiAyMnB4O1xuICAgIGJhY2tncm91bmQtc2l6ZTogMjJweCAyMnB4O1xuICB9XG59XG4ucmVnaXN0ZXJfX25ld3NsZXR0ZXItdG9vbHRpcCB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiA5cHg7XG4gIHJpZ2h0OiAwO1xufVxuQG1lZGlhIChtaW4td2lkdGg6IDM3NXB4KSB7XG4gIC5yZWdpc3Rlcl9fbmV3c2xldHRlci10b29sdGlwIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgcmlnaHQ6IGF1dG87XG4gIH1cbn1cbkBtZWRpYSAobWluLXdpZHRoOiAxNjU2cHgpIHtcbiAgLnJlZ2lzdGVyX19uZXdzbGV0dGVyLXRvb2x0aXAge1xuICAgIHRvcDogNnB4O1xuICB9XG59XG5cbi50b2FzdHMge1xuICBwb3NpdGlvbjogZml4ZWQ7XG4gIHRvcDogMDtcbiAgbGVmdDogMDtcbiAgbWFyZ2luOiBhdXRvO1xuICB6LWluZGV4OiAxOTEyO1xuICB3aWR0aDogMTAwJTtcbiAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gIHVzZXItc2VsZWN0OiBub25lO1xufVxuQG1lZGlhIChtaW4td2lkdGg6IDk5MnB4KSB7XG4gIC50b2FzdHMge1xuICAgIHotaW5kZXg6IDE5MTI7XG4gICAgd2lkdGg6IDA7XG4gICAgbGVmdDogYXV0bztcbiAgICByaWdodDogMDtcbiAgICB0b3A6IDA7XG4gICAgaGVpZ2h0OiAxMDB2aDtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDtcbiAgICBhbGlnbi1pdGVtczogZmxleC1lbmQ7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgfVxufVxuXG4udG9hc3Qge1xuICBjb2xvcjogI2ZmZjtcbiAgZm9udC13ZWlnaHQ6IDMwMDtcbiAgYm94LXNoYWRvdzogbm9uZTtcbiAgYm9yZGVyOiBub25lO1xuICB3aWR0aDogMTAwJTtcbiAgbWFyZ2luOiAwO1xuICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgdXNlci1zZWxlY3Q6IG5vbmU7XG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICBib3JkZXItcmFkaXVzOiAwO1xuICBtYXgtd2lkdGg6IG5vbmU7XG4gIGxpbmUtaGVpZ2h0OiAxLjQ7XG4gIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuNSk7XG4gIGZsZXgtYmFzaXM6IGF1dG87XG59XG5AbWVkaWEgKG1pbi13aWR0aDogOTkycHgpIHtcbiAgLnRvYXN0IHtcbiAgICB3aWR0aDogMjQwcHg7XG4gICAgbWFyZ2luOiAyMHB4IDIwcHggMTBweCAwO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICM2ZWMwMWU7XG4gICAgYm9yZGVyLXJhZGl1czogNXB4O1xuICAgIGJveC1zaGFkb3c6IC0zcHggM3B4IDZweCByZ2JhKDAsIDAsIDAsIDAuMTIpO1xuICAgIGJvcmRlci1ib3R0b206IG5vbmU7XG4gIH1cbn1cbkBtZWRpYSAobWluLXdpZHRoOiA5OTJweCkge1xuICAudG9hc3QudG9hc3QtLXdhcm5pbmcge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNGMjZBMjE7XG4gIH1cbn1cbkBtZWRpYSAobWluLXdpZHRoOiA5OTJweCkge1xuICAudG9hc3QudG9hc3QtLWFsZXJ0IHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmYwMDAwO1xuICB9XG59XG4udG9hc3QgYSB7XG4gIGNvbG9yOiAjZmZmO1xufVxuLnRvYXN0LWhlYWRlciB7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDBBRUVGO1xuICBjb2xvcjogI2ZmZjtcbiAgZm9udC13ZWlnaHQ6IDMwMDtcbiAgZm9udC1zaXplOiAxNi41cHg7XG4gIGJvcmRlcjogbm9uZTtcbiAgcG9pbnRlci1ldmVudHM6IGF1dG87XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDU4cHg7XG4gIGxpbmUtaGVpZ2h0OiA1OHB4O1xuICBwYWRkaW5nOiAwIDU1cHggMCA1MHB4O1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIG1hcmdpbi1ib3R0b206IC0zcHg7XG59XG5AbWVkaWEgKG1pbi13aWR0aDogOTkycHgpIHtcbiAgLnRvYXN0LWhlYWRlciB7XG4gICAgcGFkZGluZzogMTVweCAyNXB4IDAgMTVweDtcbiAgICBmb250LXNpemU6IDE5cHg7XG4gICAgaGVpZ2h0OiBhdXRvO1xuICAgIGxpbmUtaGVpZ2h0OiBpbmhlcml0O1xuICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICB9XG59XG4udG9hc3QtLXdhcm5pbmcgLnRvYXN0LWhlYWRlciB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNGMjZBMjE7XG59XG5AbWVkaWEgKG1pbi13aWR0aDogOTkycHgpIHtcbiAgLnRvYXN0LS13YXJuaW5nIC50b2FzdC1oZWFkZXIge1xuICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICB9XG59XG4udG9hc3QtLWFsZXJ0IC50b2FzdC1oZWFkZXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmYwMDAwO1xufVxuQG1lZGlhIChtaW4td2lkdGg6IDk5MnB4KSB7XG4gIC50b2FzdC0tYWxlcnQgLnRvYXN0LWhlYWRlciB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIH1cbn1cbi50b2FzdC1oZWFkZXI6YmVmb3JlIHtcbiAgY29udGVudDogXCJcIjtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICB3aWR0aDogMThweDtcbiAgaGVpZ2h0OiAxOHB4O1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWw7Y2hhcnNldD11dGY4LCUzQ3N2ZyUyMHhtbG5zJTNEJTIyaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmclMjIlMjBmaWxsJTNEJTIyJTIzMDBBRUVGJTIyJTIwdmlld0JveCUzRCUyMjAlMjAwJTIwMjYlMjAyNiUyMiUzRSUzQ3BhdGglMjBkJTNEJTIyTTI1LDEzQTEyLDEyLDAsMSwxLDEzLDEsMTIsMTIsMCwwLDEsMjUsMTNaJTIyJTIwZmlsbCUzRCUyMiUyM2ZmZiUyMi8lM0UlM0NwYXRoJTIwZCUzRCUyMk0xMS4zLDE4LjY2LDUuNjUsMTNsMi4yNi0yLjI2LDMuMzksMy4zOSw2Ljc5LTYuNzksMi4yNiwyLjI3WiUyMiUyMGZpbGwlM0QlMjIlMjMwMEFFRUYlMjIvJTNFJTNDcGF0aCUyMGQlM0QlMjJNMjYsMjZIMFYwSDI2WiUyMiUyMGZpbGwlM0QlMjJub25lJTIyLyUzRSUzQy9zdmclM0VcIik7XG4gIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gIGJhY2tncm91bmQtc2l6ZTogMTAwJTtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyO1xuICBtYXJnaW4tcmlnaHQ6IDVweDtcbn1cbkBtZWRpYSAobWluLXdpZHRoOiA5OTJweCkge1xuICAudG9hc3QtaGVhZGVyOmJlZm9yZSB7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiZGF0YTppbWFnZS9zdmcreG1sO2NoYXJzZXQ9dXRmOCwlM0NzdmclMjB4bWxucyUzRCUyMmh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJTIyJTIwZmlsbCUzRCUyMiUyMzZlYzAxZSUyMiUyMHZpZXdCb3glM0QlMjIwJTIwMCUyMDI2JTIwMjYlMjIlM0UlM0NwYXRoJTIwZCUzRCUyMk0yNSwxM0ExMiwxMiwwLDEsMSwxMywxLDEyLDEyLDAsMCwxLDI1LDEzWiUyMiUyMGZpbGwlM0QlMjIlMjNmZmYlMjIvJTNFJTNDcGF0aCUyMGQlM0QlMjJNMTEuMywxOC42Niw1LjY1LDEzbDIuMjYtMi4yNiwzLjM5LDMuMzksNi43OS02Ljc5LDIuMjYsMi4yN1olMjIlMjBmaWxsJTNEJTIyJTIzNmVjMDFlJTIyLyUzRSUzQ3BhdGglMjBkJTNEJTIyTTI2LDI2SDBWMEgyNlolMjIlMjBmaWxsJTNEJTIybm9uZSUyMi8lM0UlM0Mvc3ZnJTNFXCIpO1xuICB9XG59XG4udG9hc3QtLXdhcm5pbmcgLnRvYXN0LWhlYWRlcjpiZWZvcmUge1xuICB3aWR0aDogMjBweDtcbiAgaGVpZ2h0OiAyMHB4O1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWw7Y2hhcnNldD11dGY4LCUzQ3N2ZyUyMHhtbG5zJTNEJTIyaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmclMjIlMjBmaWxsJTNEJTIyJTIzZmZmJTIyJTIwdmlld0JveCUzRCUyMjAlMjAwJTIwMjQlMjAyNCUyMiUzRSUzQ3BhdGglMjBkJTNEJTIyTTElMjAyMWgyMkwxMiUyMDIlMjAxJTIwMjF6bTEyLTNoLTJ2LTJoMnYyem0wLTRoLTJ2LTRoMnY0eiUyMi8lM0UlM0Mvc3ZnJTNFXCIpO1xufVxuQG1lZGlhIChtaW4td2lkdGg6IDk5MnB4KSB7XG4gIC50b2FzdC0td2FybmluZyAudG9hc3QtaGVhZGVyOmJlZm9yZSB7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiZGF0YTppbWFnZS9zdmcreG1sO2NoYXJzZXQ9dXRmOCwlM0NzdmclMjB4bWxucyUzRCUyMmh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJTIyJTIwZmlsbCUzRCUyMiUyM2ZmZiUyMiUyMHZpZXdCb3glM0QlMjIwJTIwMCUyMDI0JTIwMjQlMjIlM0UlM0NwYXRoJTIwZCUzRCUyMk0xJTIwMjFoMjJMMTIlMjAyJTIwMSUyMDIxem0xMi0zaC0ydi0yaDJ2MnptMC00aC0ydi00aDJ2NHolMjIvJTNFJTNDL3N2ZyUzRVwiKTtcbiAgfVxufVxuLnRvYXN0LS1hbGVydCAudG9hc3QtaGVhZGVyOmJlZm9yZSB7XG4gIHdpZHRoOiAyMHB4O1xuICBoZWlnaHQ6IDIwcHg7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbDtjaGFyc2V0PXV0ZjgsJTNDc3ZnJTIweG1sbnMlM0QlMjJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyUyMiUyMGZpbGwlM0QlMjIlMjNmZmYlMjIlMjB2aWV3Qm94JTNEJTIyMCUyMDAlMjAyNCUyMDI0JTIyJTNFJTNDcGF0aCUyMGQlM0QlMjJNMTIlMjAyQzYuNDglMjAyJTIwMiUyMDYuNDglMjAyJTIwMTJzNC40OCUyMDEwJTIwMTAlMjAxMCUyMDEwLTQuNDglMjAxMC0xMFMxNy41MiUyMDIlMjAxMiUyMDJ6bTElMjAxNWgtMnYtMmgydjJ6bTAtNGgtMlY3aDJ2NnolMjIvJTNFJTNDL3N2ZyUzRVwiKTtcbn1cbkBtZWRpYSAobWluLXdpZHRoOiA5OTJweCkge1xuICAudG9hc3QtLWFsZXJ0IC50b2FzdC1oZWFkZXI6YmVmb3JlIHtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWw7Y2hhcnNldD11dGY4LCUzQ3N2ZyUyMHhtbG5zJTNEJTIyaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmclMjIlMjBmaWxsJTNEJTIyJTIzZmZmJTIyJTIwdmlld0JveCUzRCUyMjAlMjAwJTIwMjQlMjAyNCUyMiUzRSUzQ3BhdGglMjBkJTNEJTIyTTEyJTIwMkM2LjQ4JTIwMiUyMDIlMjA2LjQ4JTIwMiUyMDEyczQuNDglMjAxMCUyMDEwJTIwMTAlMjAxMC00LjQ4JTIwMTAtMTBTMTcuNTIlMjAyJTIwMTIlMjAyem0xJTIwMTVoLTJ2LTJoMnYyem0wLTRoLTJWN2gydjZ6JTIyLyUzRSUzQy9zdmclM0VcIik7XG4gIH1cbn1cbi50b2FzdC1ib2R5IHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzAwQUVFRjtcbiAgcG9pbnRlci1ldmVudHM6IGF1dG87XG4gIGZvbnQtc2l6ZTogMTYuNXB4O1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIHBhZGRpbmc6IDVweCAyM3B4IDIzcHggMjNweDtcbn1cbi50b2FzdC0td2FybmluZyAudG9hc3QtYm9keSB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNGMjZBMjE7XG59XG4udG9hc3QtLWFsZXJ0IC50b2FzdC1ib2R5IHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZmMDAwMDtcbn1cbkBtZWRpYSAobWluLXdpZHRoOiA5OTJweCkge1xuICAudG9hc3QtYm9keSB7XG4gICAgcGFkZGluZzogMTVweDtcbiAgICBmb250LXNpemU6IDE5cHg7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIH1cbn1cbkBtZWRpYSAobWluLXdpZHRoOiA5OTJweCkge1xuICAudG9hc3QtLXdhcm5pbmcgLnRvYXN0LWJvZHkge1xuICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICB9XG59XG5AbWVkaWEgKG1pbi13aWR0aDogOTkycHgpIHtcbiAgLnRvYXN0LS1hbGVydCAudG9hc3QtYm9keSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIH1cbn1cbi50b2FzdCAuY2xvc2Uge1xuICBjb2xvcjogI2ZmZjtcbiAgb3BhY2l0eTogMTtcbn1cblxuYm9keTpiZWZvcmUge1xuICBkaXNwbGF5OiBub25lO1xufVxuXG4ubWFpbiB7XG4gIG9wYWNpdHk6IDE7XG59XG5cbi5zbGljay1zbGlkZXIge1xuICBkaXNwbGF5OiBibG9jaztcbn1cbi5zbGljay1zbGlkZXIucHJvZHVjdC1jYXJkX19jb250cm9sIHtcbiAgZGlzcGxheTogbm9uZTtcbn1cbkBtZWRpYSAobWluLXdpZHRoOiA5OTJweCkge1xuICAuc2xpY2stc2xpZGVyLnByb2R1Y3QtY2FyZF9fY29udHJvbCB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gIH1cbn1cblxuLm1vZGFsLWZ1bGwtLW5ld3NsZXR0ZXIgLm1vZGFsLWZ1bGxfX2NvbnRlbnQge1xuICBwYWRkaW5nOiAwO1xufVxuLm1vZGFsLWZ1bGwtLW5ld3NsZXR0ZXIgLm1vZGFsLWZ1bGxfX2Nsb3NlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiZGF0YTppbWFnZS9zdmcreG1sO2NoYXJzZXQ9dXRmOCwlM0NzdmclMjB4bWxucyUzRCUyMmh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJTIyJTIwZmlsbCUzRCUyMiUyM2ZmZiUyMiUyMHZpZXdCb3glM0QlMjIwJTIwMCUyMDM2JTIwMzYlMjIlM0UlM0NwYXRoJTIwZCUzRCUyMk0yLjU0LDEuMTdoMGExLjA4LDEuMDgsMCwwLDEsLjg2LjM5TDE4LDE2LjEyLDMyLjUyLDEuNTZhMS4xMywxLjEzLDAsMCwxLC45Mi0uMzksMS4yNCwxLjI0LDAsMCwxLDEsLjM5LDEuMzIsMS4zMiwwLDAsMSwuMzYuOTIsMS4yOCwxLjI4LDAsMCwxLS4zOS45MkwxOS43OSwxOCwzNC4zNiwzMi41MmExLjI2LDEuMjYsMCwwLDEsLjM5LjkyLDEuMzMsMS4zMywwLDAsMS0uMzYuOTIsMS4yLDEuMiwwLDAsMS0uOTIuMzksMS4zLDEuMywwLDAsMS0uOTUtLjM5TDE4LDE5Ljc5LDMuNCwzNC4zNmExLjI4LDEuMjgsMCwwLDEtLjkyLjM5LDEuMjYsMS4yNiwwLDAsMS0uOTItLjM5LDEuMjgsMS4yOCwwLDAsMS0uMzktLjkyLDEuMjYsMS4yNiwwLDAsMSwuMzktLjkyTDE2LjEyLDE4LDEuNTYsMy40YTEuMjgsMS4yOCwwLDAsMS0uMzktLjkyLDEuMjYsMS4yNiwwLDAsMSwuMzktLjkyLDEuMjYsMS4yNiwwLDAsMSwuOTItLjM5WiUyMi8lM0UlM0NwYXRoJTIwZCUzRCUyMk0zNiwzNkgwVjBIMzZaJTIyJTIwZmlsbCUzRCUyMm5vbmUlMjIvJTNFJTNDL3N2ZyUzRVwiKTtcbn1cbkBtZWRpYSAobWluLXdpZHRoOiA5OTJweCkge1xuICAubW9kYWwtZnVsbC0tbmV3c2xldHRlciAubWRjLWRpYWxvZ19fc3VyZmFjZSB7XG4gICAgbWF4LXdpZHRoOiA3NTBweDtcbiAgfVxufVxuXG4ubW9kYWwtbmV3c2xldHRlcl9fcm93IHtcbiAgbWFyZ2luLWJvdHRvbTogMjBweDtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xufVxuLm1vZGFsLW5ld3NsZXR0ZXJfX3Jvdy0tY2VudGVyIHtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgZGlzcGxheTogZmxleDtcbn1cbi5tb2RhbC1uZXdzbGV0dGVyX19mb3JtIHtcbiAgcGFkZGluZzogMCA1MHB4O1xuICBtYXJnaW4tdG9wOiAtNDVweDtcbn1cbi5tb2RhbC1uZXdzbGV0dGVyX19mb3JtIC5tZGMtdGV4dC1maWVsZCB7XG4gIGJvcmRlcjogMXB4IHNvbGlkICMwMEFFRUY7XG4gIGJvcmRlci1yYWRpdXM6IDA7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZmY7XG4gIHdpZHRoOiAxMDAlO1xufVxuLm1vZGFsLW5ld3NsZXR0ZXJfX2Zvcm0gLmN1c3RvbS12YWxpZGF0aW9uLXRleHQge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIG1hcmdpbjogYXV0bztcbiAgbWF4LXdpZHRoOiBjYWxjKDEwMCUgLSAyNnB4KTtcbiAgYm90dG9tOiAtMTRweDtcbiAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoNTAlKTtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDUwJSk7XG4gIGxlZnQ6IDA7XG4gIGZvbnQtc2l6ZTogMTAuNXB4O1xuICBsaW5lLWhlaWdodDogMTtcbiAgZGlzcGxheTogbm9uZTtcbiAgcGFkZGluZy1sZWZ0OiAycHg7XG4gIHBhZGRpbmctcmlnaHQ6IDJweDtcbiAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgLXdlYmtpdC11c2VyLXNlbGVjdDogbm9uZTtcbiAgLW1vei11c2VyLXNlbGVjdDogbm9uZTtcbiAgLW1zLXVzZXItc2VsZWN0OiBub25lO1xuICB1c2VyLXNlbGVjdDogbm9uZTtcbiAgY29sb3I6ICNmZjAwMDAgIWltcG9ydGFudDtcbn1cbi5tb2RhbC1uZXdzbGV0dGVyX19mb3JtIC5tZGMtdGV4dC1maWVsZC0taW52YWxpZCB7XG4gIGJvcmRlci1jb2xvcjogI2ZmMDAwMCAhaW1wb3J0YW50O1xufVxuLm1vZGFsLW5ld3NsZXR0ZXJfX2Zvcm0gLm1kYy10ZXh0LWZpZWxkLS1pbnZhbGlkIGxhYmVsIHtcbiAgY29sb3I6ICNmZjAwMDAgIWltcG9ydGFudDtcbn1cbi5tb2RhbC1uZXdzbGV0dGVyX19mb3JtIC5tZGMtY2hlY2tib3gtLWludmFsaWQgfiBsYWJlbCB7XG4gIGNvbG9yOiAjZmYwMDAwICFpbXBvcnRhbnQ7XG59XG4ubW9kYWwtbmV3c2xldHRlcl9fZm9ybSAubWRjLXRleHQtZmllbGQtLWludmFsaWQgfiAuY3VzdG9tLXZhbGlkYXRpb24tdGV4dCxcbi5tb2RhbC1uZXdzbGV0dGVyX19mb3JtIC5tZGMtY2hlY2tib3gtLWludmFsaWQgfiAuY3VzdG9tLXZhbGlkYXRpb24tdGV4dCB7XG4gIGRpc3BsYXk6IGJsb2NrO1xufVxuLm1vZGFsLW5ld3NsZXR0ZXJfX3NlbmQge1xuICB3aWR0aDogNjAlO1xuICBtYXJnaW4tbGVmdDogYXV0bztcbiAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xufVxuLm1vZGFsLW5ld3NsZXR0ZXJfX2luZm8ge1xuICBmb250LXdlaWdodDogMzAwO1xuICBmb250LXNpemU6IDEycHg7XG4gIGxpbmUtaGVpZ2h0OiAxNnB4O1xuICBtYXJnaW4tdG9wOiAxMHB4O1xufVxuLm1vZGFsLW5ld3NsZXR0ZXIgLnNpdGUtZm9ybSAubWRjLWZvcm0tZmllbGQtLWNoZWNrYm94IGxhYmVsIHtcbiAgZm9udC1zaXplOiAxNHB4ICFpbXBvcnRhbnQ7XG59XG4ubW9kYWwtbmV3c2xldHRlcl9fZmlndXJlIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBkaXNwbGF5OiBibG9jaztcbn1cbi5tb2RhbC1uZXdzbGV0dGVyX19jYW52YXMge1xuICBtYXJnaW46IDA7XG4gIHdpZHRoOiAxMDAlO1xuICBtYXgtd2lkdGg6IDEwMCU7XG4gIHVzZXItc2VsZWN0OiBub25lO1xuICBkaXNwbGF5OiBibG9jaztcbn1cbi5tb2RhbC1uZXdzbGV0dGVyX19pbWcge1xuICB3aWR0aDogMTAwJTtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHVzZXItc2VsZWN0OiBub25lO1xufVxuY2FudmFzICsgcGljdHVyZSAubW9kYWwtbmV3c2xldHRlcl9faW1nIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBsZWZ0OiAwO1xuICB0b3A6IDA7XG59XG5cbi5tb2RhbC1uZXdzbGV0dGVyLXRoYW5rc19fZmlndXJlIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBkaXNwbGF5OiBibG9jaztcbn1cbi5tb2RhbC1uZXdzbGV0dGVyLXRoYW5rc19fY2FudmFzIHtcbiAgbWFyZ2luOiAwO1xuICB3aWR0aDogMTAwJTtcbiAgbWF4LXdpZHRoOiAxMDAlO1xuICB1c2VyLXNlbGVjdDogbm9uZTtcbiAgZGlzcGxheTogYmxvY2s7XG59XG4ubW9kYWwtbmV3c2xldHRlci10aGFua3NfX2ltZyB7XG4gIHdpZHRoOiAxMDAlO1xuICBkaXNwbGF5OiBibG9jaztcbiAgdXNlci1zZWxlY3Q6IG5vbmU7XG59XG5jYW52YXMgKyBwaWN0dXJlIC5tb2RhbC1uZXdzbGV0dGVyLXRoYW5rc19faW1nIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBsZWZ0OiAwO1xuICB0b3A6IDA7XG59IiwiLy8gSG92ZXIgbWl4aW4gYW5kIGAkZW5hYmxlLWhvdmVyLW1lZGlhLXF1ZXJ5YCBhcmUgZGVwcmVjYXRlZC5cbi8vXG4vLyBPcmlnaW5hbGx5IGFkZGVkIGR1cmluZyBvdXIgYWxwaGFzIGFuZCBtYWludGFpbmVkIGR1cmluZyBiZXRhcywgdGhpcyBtaXhpbiB3YXNcbi8vIGRlc2lnbmVkIHRvIHByZXZlbnQgYDpob3ZlcmAgc3RpY2tpbmVzcyBvbiBpT1MtYW4gaXNzdWUgd2hlcmUgaG92ZXIgc3R5bGVzXG4vLyB3b3VsZCBwZXJzaXN0IGFmdGVyIGluaXRpYWwgdG91Y2guXG4vL1xuLy8gRm9yIGJhY2t3YXJkIGNvbXBhdGliaWxpdHksIHdlJ3ZlIGtlcHQgdGhlc2UgbWl4aW5zIGFuZCB1cGRhdGVkIHRoZW0gdG9cbi8vIGFsd2F5cyByZXR1cm4gdGhlaXIgcmVndWxhciBwc2V1ZG8tY2xhc3NlcyBpbnN0ZWFkIG9mIGEgc2hpbW1lZCBtZWRpYSBxdWVyeS5cbi8vXG4vLyBJc3N1ZTogaHR0cHM6Ly9naXRodWIuY29tL3R3YnMvYm9vdHN0cmFwL2lzc3Vlcy8yNTE5NVxuXG5AbWl4aW4gaG92ZXIoKSB7XG4gICY6aG92ZXIgeyBAY29udGVudDsgfVxufVxuXG5AbWl4aW4gaG92ZXItZm9jdXMoKSB7XG4gICY6aG92ZXIsXG4gICY6Zm9jdXMge1xuICAgIEBjb250ZW50O1xuICB9XG59XG5cbkBtaXhpbiBwbGFpbi1ob3Zlci1mb2N1cygpIHtcbiAgJixcbiAgJjpob3ZlcixcbiAgJjpmb2N1cyB7XG4gICAgQGNvbnRlbnQ7XG4gIH1cbn1cblxuQG1peGluIGhvdmVyLWZvY3VzLWFjdGl2ZSgpIHtcbiAgJjpob3ZlcixcbiAgJjpmb2N1cyxcbiAgJjphY3RpdmUge1xuICAgIEBjb250ZW50O1xuICB9XG59XG4iLCIudG9hc3Qge1xuICAvLyBQcmV2ZW50cyBmcm9tIHNocmlua2luZyBpbiBJRTExLCB3aGVuIGluIGEgZmxleCBjb250YWluZXJcbiAgLy8gU2VlIGh0dHBzOi8vZ2l0aHViLmNvbS90d2JzL2Jvb3RzdHJhcC9pc3N1ZXMvMjgzNDFcbiAgZmxleC1iYXNpczogJHRvYXN0LW1heC13aWR0aDtcbiAgbWF4LXdpZHRoOiAkdG9hc3QtbWF4LXdpZHRoO1xuICBAaW5jbHVkZSBmb250LXNpemUoJHRvYXN0LWZvbnQtc2l6ZSk7XG4gIGNvbG9yOiAkdG9hc3QtY29sb3I7XG4gIGJhY2tncm91bmQtY29sb3I6ICR0b2FzdC1iYWNrZ3JvdW5kLWNvbG9yO1xuICBiYWNrZ3JvdW5kLWNsaXA6IHBhZGRpbmctYm94O1xuICBib3JkZXI6ICR0b2FzdC1ib3JkZXItd2lkdGggc29saWQgJHRvYXN0LWJvcmRlci1jb2xvcjtcbiAgYm94LXNoYWRvdzogJHRvYXN0LWJveC1zaGFkb3c7XG4gIG9wYWNpdHk6IDA7XG4gIEBpbmNsdWRlIGJvcmRlci1yYWRpdXMoJHRvYXN0LWJvcmRlci1yYWRpdXMpO1xuXG4gICY6bm90KDpsYXN0LWNoaWxkKSB7XG4gICAgbWFyZ2luLWJvdHRvbTogJHRvYXN0LXBhZGRpbmcteDtcbiAgfVxuXG4gICYuc2hvd2luZyB7XG4gICAgb3BhY2l0eTogMTtcbiAgfVxuXG4gICYuc2hvdyB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgb3BhY2l0eTogMTtcbiAgfVxuXG4gICYuaGlkZSB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxufVxuXG4udG9hc3QtaGVhZGVyIHtcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgcGFkZGluZzogJHRvYXN0LXBhZGRpbmcteSAkdG9hc3QtcGFkZGluZy14O1xuICBjb2xvcjogJHRvYXN0LWhlYWRlci1jb2xvcjtcbiAgYmFja2dyb3VuZC1jb2xvcjogJHRvYXN0LWhlYWRlci1iYWNrZ3JvdW5kLWNvbG9yO1xuICBiYWNrZ3JvdW5kLWNsaXA6IHBhZGRpbmctYm94O1xuICBib3JkZXItYm90dG9tOiAkdG9hc3QtYm9yZGVyLXdpZHRoIHNvbGlkICR0b2FzdC1oZWFkZXItYm9yZGVyLWNvbG9yO1xuICBAaW5jbHVkZSBib3JkZXItdG9wLXJhZGl1cyhzdWJ0cmFjdCgkdG9hc3QtYm9yZGVyLXJhZGl1cywgJHRvYXN0LWJvcmRlci13aWR0aCkpO1xufVxuXG4udG9hc3QtYm9keSB7XG4gIHBhZGRpbmc6ICR0b2FzdC1wYWRkaW5nLXg7IC8vIGFwcGx5IHRvIGJvdGggdmVydGljYWwgYW5kIGhvcml6b250YWxcbn1cbiIsIi8vIHN0eWxlbGludC1kaXNhYmxlIHByb3BlcnR5LWRpc2FsbG93ZWQtbGlzdFxuLy8gU2luZ2xlIHNpZGUgYm9yZGVyLXJhZGl1c1xuXG4vLyBIZWxwZXIgZnVuY3Rpb24gdG8gcmVwbGFjZSBuZWdhdGl2ZSB2YWx1ZXMgd2l0aCAwXG5AZnVuY3Rpb24gdmFsaWQtcmFkaXVzKCRyYWRpdXMpIHtcbiAgJHJldHVybjogKCk7XG4gIEBlYWNoICR2YWx1ZSBpbiAkcmFkaXVzIHtcbiAgICBAaWYgdHlwZS1vZigkdmFsdWUpID09IG51bWJlciB7XG4gICAgICAkcmV0dXJuOiBhcHBlbmQoJHJldHVybiwgbWF4KCR2YWx1ZSwgMCkpO1xuICAgIH0gQGVsc2Uge1xuICAgICAgJHJldHVybjogYXBwZW5kKCRyZXR1cm4sICR2YWx1ZSk7XG4gICAgfVxuICB9XG4gIEByZXR1cm4gJHJldHVybjtcbn1cblxuQG1peGluIGJvcmRlci1yYWRpdXMoJHJhZGl1czogJGJvcmRlci1yYWRpdXMsICRmYWxsYmFjay1ib3JkZXItcmFkaXVzOiBmYWxzZSkge1xuICBAaWYgJGVuYWJsZS1yb3VuZGVkIHtcbiAgICBib3JkZXItcmFkaXVzOiB2YWxpZC1yYWRpdXMoJHJhZGl1cyk7XG4gIH1cbiAgQGVsc2UgaWYgJGZhbGxiYWNrLWJvcmRlci1yYWRpdXMgIT0gZmFsc2Uge1xuICAgIGJvcmRlci1yYWRpdXM6ICRmYWxsYmFjay1ib3JkZXItcmFkaXVzO1xuICB9XG59XG5cbkBtaXhpbiBib3JkZXItdG9wLXJhZGl1cygkcmFkaXVzKSB7XG4gIEBpZiAkZW5hYmxlLXJvdW5kZWQge1xuICAgIGJvcmRlci10b3AtbGVmdC1yYWRpdXM6IHZhbGlkLXJhZGl1cygkcmFkaXVzKTtcbiAgICBib3JkZXItdG9wLXJpZ2h0LXJhZGl1czogdmFsaWQtcmFkaXVzKCRyYWRpdXMpO1xuICB9XG59XG5cbkBtaXhpbiBib3JkZXItcmlnaHQtcmFkaXVzKCRyYWRpdXMpIHtcbiAgQGlmICRlbmFibGUtcm91bmRlZCB7XG4gICAgYm9yZGVyLXRvcC1yaWdodC1yYWRpdXM6IHZhbGlkLXJhZGl1cygkcmFkaXVzKTtcbiAgICBib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1czogdmFsaWQtcmFkaXVzKCRyYWRpdXMpO1xuICB9XG59XG5cbkBtaXhpbiBib3JkZXItYm90dG9tLXJhZGl1cygkcmFkaXVzKSB7XG4gIEBpZiAkZW5hYmxlLXJvdW5kZWQge1xuICAgIGJvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzOiB2YWxpZC1yYWRpdXMoJHJhZGl1cyk7XG4gICAgYm9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czogdmFsaWQtcmFkaXVzKCRyYWRpdXMpO1xuICB9XG59XG5cbkBtaXhpbiBib3JkZXItbGVmdC1yYWRpdXMoJHJhZGl1cykge1xuICBAaWYgJGVuYWJsZS1yb3VuZGVkIHtcbiAgICBib3JkZXItdG9wLWxlZnQtcmFkaXVzOiB2YWxpZC1yYWRpdXMoJHJhZGl1cyk7XG4gICAgYm9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czogdmFsaWQtcmFkaXVzKCRyYWRpdXMpO1xuICB9XG59XG5cbkBtaXhpbiBib3JkZXItdG9wLWxlZnQtcmFkaXVzKCRyYWRpdXMpIHtcbiAgQGlmICRlbmFibGUtcm91bmRlZCB7XG4gICAgYm9yZGVyLXRvcC1sZWZ0LXJhZGl1czogdmFsaWQtcmFkaXVzKCRyYWRpdXMpO1xuICB9XG59XG5cbkBtaXhpbiBib3JkZXItdG9wLXJpZ2h0LXJhZGl1cygkcmFkaXVzKSB7XG4gIEBpZiAkZW5hYmxlLXJvdW5kZWQge1xuICAgIGJvcmRlci10b3AtcmlnaHQtcmFkaXVzOiB2YWxpZC1yYWRpdXMoJHJhZGl1cyk7XG4gIH1cbn1cblxuQG1peGluIGJvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzKCRyYWRpdXMpIHtcbiAgQGlmICRlbmFibGUtcm91bmRlZCB7XG4gICAgYm9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6IHZhbGlkLXJhZGl1cygkcmFkaXVzKTtcbiAgfVxufVxuXG5AbWl4aW4gYm9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1cygkcmFkaXVzKSB7XG4gIEBpZiAkZW5hYmxlLXJvdW5kZWQge1xuICAgIGJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6IHZhbGlkLXJhZGl1cygkcmFkaXVzKTtcbiAgfVxufVxuIiwiLy9cbi8vIENvcHlyaWdodCAyMDE5IEdvb2dsZSBJbmMuXG4vL1xuLy8gUGVybWlzc2lvbiBpcyBoZXJlYnkgZ3JhbnRlZCwgZnJlZSBvZiBjaGFyZ2UsIHRvIGFueSBwZXJzb24gb2J0YWluaW5nIGEgY29weVxuLy8gb2YgdGhpcyBzb2Z0d2FyZSBhbmQgYXNzb2NpYXRlZCBkb2N1bWVudGF0aW9uIGZpbGVzICh0aGUgXCJTb2Z0d2FyZVwiKSwgdG8gZGVhbFxuLy8gaW4gdGhlIFNvZnR3YXJlIHdpdGhvdXQgcmVzdHJpY3Rpb24sIGluY2x1ZGluZyB3aXRob3V0IGxpbWl0YXRpb24gdGhlIHJpZ2h0c1xuLy8gdG8gdXNlLCBjb3B5LCBtb2RpZnksIG1lcmdlLCBwdWJsaXNoLCBkaXN0cmlidXRlLCBzdWJsaWNlbnNlLCBhbmQvb3Igc2VsbFxuLy8gY29waWVzIG9mIHRoZSBTb2Z0d2FyZSwgYW5kIHRvIHBlcm1pdCBwZXJzb25zIHRvIHdob20gdGhlIFNvZnR3YXJlIGlzXG4vLyBmdXJuaXNoZWQgdG8gZG8gc28sIHN1YmplY3QgdG8gdGhlIGZvbGxvd2luZyBjb25kaXRpb25zOlxuLy9cbi8vIFRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlIGFuZCB0aGlzIHBlcm1pc3Npb24gbm90aWNlIHNoYWxsIGJlIGluY2x1ZGVkIGluXG4vLyBhbGwgY29waWVzIG9yIHN1YnN0YW50aWFsIHBvcnRpb25zIG9mIHRoZSBTb2Z0d2FyZS5cbi8vXG4vLyBUSEUgU09GVFdBUkUgSVMgUFJPVklERUQgXCJBUyBJU1wiLCBXSVRIT1VUIFdBUlJBTlRZIE9GIEFOWSBLSU5ELCBFWFBSRVNTIE9SXG4vLyBJTVBMSUVELCBJTkNMVURJTkcgQlVUIE5PVCBMSU1JVEVEIFRPIFRIRSBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSxcbi8vIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFORCBOT05JTkZSSU5HRU1FTlQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRVxuLy8gQVVUSE9SUyBPUiBDT1BZUklHSFQgSE9MREVSUyBCRSBMSUFCTEUgRk9SIEFOWSBDTEFJTSwgREFNQUdFUyBPUiBPVEhFUlxuLy8gTElBQklMSVRZLCBXSEVUSEVSIElOIEFOIEFDVElPTiBPRiBDT05UUkFDVCwgVE9SVCBPUiBPVEhFUldJU0UsIEFSSVNJTkcgRlJPTSxcbi8vIE9VVCBPRiBPUiBJTiBDT05ORUNUSU9OIFdJVEggVEhFIFNPRlRXQVJFIE9SIFRIRSBVU0UgT1IgT1RIRVIgREVBTElOR1MgSU5cbi8vIFRIRSBTT0ZUV0FSRS5cbi8vXG5cbkB1c2UgXCJAbWF0ZXJpYWwvYmFzZS9taXhpbnNcIiBhcyBiYXNlLW1peGlucztcbkB1c2UgXCJAbWF0ZXJpYWwvZmVhdHVyZS10YXJnZXRpbmcvZnVuY3Rpb25zXCI7XG5AdXNlIFwiQG1hdGVyaWFsL2ZlYXR1cmUtdGFyZ2V0aW5nL21peGluc1wiIGFzIGZlYXR1cmUtdGFyZ2V0aW5nLW1peGlucztcbkB1c2UgXCIuL3ZhcmlhYmxlc1wiO1xuXG4vLy8gU3R5bGVzIGFwcGxpZWQgdG8gdGhlIGNvbXBvbmVudCdzIHRvdWNoIHRhcmdldCB3cmFwcGVyIGVsZW1lbnQuXG5AbWl4aW4gd3JhcHBlcigkcXVlcnk6IGZ1bmN0aW9ucy5hbGwoKSkge1xuICAkZmVhdC1zdHJ1Y3R1cmU6IGZ1bmN0aW9ucy5jcmVhdGUtdGFyZ2V0KCRxdWVyeSwgc3RydWN0dXJlKTtcblxuICAubWRjLXRvdWNoLXRhcmdldC13cmFwcGVyIHtcbiAgICBAaW5jbHVkZSBmZWF0dXJlLXRhcmdldGluZy1taXhpbnMudGFyZ2V0cygkZmVhdC1zdHJ1Y3R1cmUpIHtcbiAgICAgIC8vIEVuc3VyZSB0aGF0IHN0eWxlcyBhcmUgb25seSBlbWl0dGVkIG9uY2UgYWNyb3NzIGFsbCBjb21wb25lbnRzIHRoYXRcbiAgICAgIC8vIGhhdmUgaW5jcmVhc2VkIHRvdWNoIHRhcmdldHMuXG4gICAgICBAaW5jbHVkZSBiYXNlLW1peGlucy5lbWl0LW9uY2UoXCJtZGMtdG91Y2gtdGFyZ2V0L3dyYXBwZXJcIikge1xuICAgICAgICAvLyBOT1RFOiBXaWxsIGNoYW5nZSB0byBgaW5saW5lLWJsb2NrYCBpbiB0aGUgZnV0dXJlLCBidXQga2VlcGluZyBhcyBpc1xuICAgICAgICAvLyB0ZW1wb3JhcmlseSBmb3IgYmFja3dhcmRzLWNvbXBhdGliaWxpdHkuXG4gICAgICAgIGRpc3BsYXk6IGlubGluZTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuLy8vIFN0eWxlcyBhcHBsaWVkIHRvIHRoZSBjb21wb25lbnQncyBpbm5lciB0b3VjaCB0YXJnZXQgZWxlbWVudC5cbi8vLyBCeSBkZWZhdWx0LCBvbmx5IHNldHMgdGhlIGlubmVyIGVsZW1lbnQgaGVpZ2h0IHRvIHRoZSBtaW5pbXVtIHRvdWNoIHRhcmdldFxuLy8vIGhlaWdodCAoJG1kYy10b3VjaC10YXJnZXQtaGVpZ2h0KS5cbi8vLyBAcGFyYW0ge0Jvb2xlYW59ICRzZXQtd2lkdGggW2ZhbHNlXSAtIFNldHMgdGhlIGlubmVyIGVsZW1lbnQgd2lkdGggdG8gdGhlXG4vLy8gICAgIG1pbmltdW0gdG91Y2ggdGFyZ2V0IHdpZHRoICgkbWRjLXRvdWNoLXRhcmdldC13aWR0aCkuXG5AbWl4aW4gdG91Y2gtdGFyZ2V0KCRzZXQtd2lkdGg6IGZhbHNlLCAkcXVlcnk6IGZ1bmN0aW9ucy5hbGwoKSkge1xuICAkZmVhdC1zdHJ1Y3R1cmU6IGZ1bmN0aW9ucy5jcmVhdGUtdGFyZ2V0KCRxdWVyeSwgc3RydWN0dXJlKTtcblxuICBAaW5jbHVkZSBmZWF0dXJlLXRhcmdldGluZy1taXhpbnMudGFyZ2V0cygkZmVhdC1zdHJ1Y3R1cmUpIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiA1MCU7XG4gICAgcmlnaHQ6IDA7XG4gICAgaGVpZ2h0OiB2YXJpYWJsZXMuJGhlaWdodDtcbiAgfVxuXG4gIEBpZiAkc2V0LXdpZHRoIHtcbiAgICBAaW5jbHVkZSBmZWF0dXJlLXRhcmdldGluZy1taXhpbnMudGFyZ2V0cygkZmVhdC1zdHJ1Y3R1cmUpIHtcbiAgICAgIC8qIEBub2ZsaXAgKi9cbiAgICAgIGxlZnQ6IDUwJTtcbiAgICAgIHdpZHRoOiB2YXJpYWJsZXMuJHdpZHRoO1xuICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgLTUwJSk7XG4gICAgfVxuICB9IEBlbHNlIHtcbiAgICBAaW5jbHVkZSBmZWF0dXJlLXRhcmdldGluZy1taXhpbnMudGFyZ2V0cygkZmVhdC1zdHJ1Y3R1cmUpIHtcbiAgICAgIGxlZnQ6IDA7XG4gICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7XG4gICAgfVxuICB9XG59XG5cbi8vLyBBcHBsaWVzIG1hcmdpbiB0byB0aGUgY29tcG9uZW50IHdpdGggdGhlIGluY3JlYXNlZCB0b3VjaCB0YXJnZXQsXG4vLy8gdG8gY29tcGVuc2F0ZSBmb3IgdGhlIHRvdWNoIHRhcmdldC5cbkBtaXhpbiBtYXJnaW4oJGNvbXBvbmVudC1oZWlnaHQsICRjb21wb25lbnQtd2lkdGg6IG51bGwsICRxdWVyeTogZnVuY3Rpb25zLmFsbCgpKSB7XG4gICRmZWF0LXN0cnVjdHVyZTogZnVuY3Rpb25zLmNyZWF0ZS10YXJnZXQoJHF1ZXJ5LCBzdHJ1Y3R1cmUpO1xuXG4gICR2ZXJ0aWNhbC1tYXJnaW4tdmFsdWU6ICh2YXJpYWJsZXMuJGhlaWdodCAtICRjb21wb25lbnQtaGVpZ2h0KSAvIDI7XG5cbiAgQGluY2x1ZGUgZmVhdHVyZS10YXJnZXRpbmctbWl4aW5zLnRhcmdldHMoJGZlYXQtc3RydWN0dXJlKSB7XG4gICAgbWFyZ2luLXRvcDogJHZlcnRpY2FsLW1hcmdpbi12YWx1ZTtcbiAgICBtYXJnaW4tYm90dG9tOiAkdmVydGljYWwtbWFyZ2luLXZhbHVlO1xuICB9XG5cbiAgQGlmICRjb21wb25lbnQtd2lkdGgge1xuICAgICRob3Jpem9udGFsLW1hcmdpbi12YWx1ZTogKHZhcmlhYmxlcy4kd2lkdGggLSAkY29tcG9uZW50LXdpZHRoKSAvIDI7XG5cbiAgICBAaW5jbHVkZSBmZWF0dXJlLXRhcmdldGluZy1taXhpbnMudGFyZ2V0cygkZmVhdC1zdHJ1Y3R1cmUpIHtcbiAgICAgIG1hcmdpbi1yaWdodDogJGhvcml6b250YWwtbWFyZ2luLXZhbHVlO1xuICAgICAgbWFyZ2luLWxlZnQ6ICRob3Jpem9udGFsLW1hcmdpbi12YWx1ZTtcbiAgICB9XG4gIH1cbn1cbiIsIi8vXG4vLyBDb3B5cmlnaHQgMjAxNyBHb29nbGUgSW5jLlxuLy9cbi8vIFBlcm1pc3Npb24gaXMgaGVyZWJ5IGdyYW50ZWQsIGZyZWUgb2YgY2hhcmdlLCB0byBhbnkgcGVyc29uIG9idGFpbmluZyBhIGNvcHlcbi8vIG9mIHRoaXMgc29mdHdhcmUgYW5kIGFzc29jaWF0ZWQgZG9jdW1lbnRhdGlvbiBmaWxlcyAodGhlIFwiU29mdHdhcmVcIiksIHRvIGRlYWxcbi8vIGluIHRoZSBTb2Z0d2FyZSB3aXRob3V0IHJlc3RyaWN0aW9uLCBpbmNsdWRpbmcgd2l0aG91dCBsaW1pdGF0aW9uIHRoZSByaWdodHNcbi8vIHRvIHVzZSwgY29weSwgbW9kaWZ5LCBtZXJnZSwgcHVibGlzaCwgZGlzdHJpYnV0ZSwgc3VibGljZW5zZSwgYW5kL29yIHNlbGxcbi8vIGNvcGllcyBvZiB0aGUgU29mdHdhcmUsIGFuZCB0byBwZXJtaXQgcGVyc29ucyB0byB3aG9tIHRoZSBTb2Z0d2FyZSBpc1xuLy8gZnVybmlzaGVkIHRvIGRvIHNvLCBzdWJqZWN0IHRvIHRoZSBmb2xsb3dpbmcgY29uZGl0aW9uczpcbi8vXG4vLyBUaGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSBhbmQgdGhpcyBwZXJtaXNzaW9uIG5vdGljZSBzaGFsbCBiZSBpbmNsdWRlZCBpblxuLy8gYWxsIGNvcGllcyBvciBzdWJzdGFudGlhbCBwb3J0aW9ucyBvZiB0aGUgU29mdHdhcmUuXG4vL1xuLy8gVEhFIFNPRlRXQVJFIElTIFBST1ZJREVEIFwiQVMgSVNcIiwgV0lUSE9VVCBXQVJSQU5UWSBPRiBBTlkgS0lORCwgRVhQUkVTUyBPUlxuLy8gSU1QTElFRCwgSU5DTFVESU5HIEJVVCBOT1QgTElNSVRFRCBUTyBUSEUgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFksXG4vLyBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBTkQgTk9OSU5GUklOR0VNRU5ULiBJTiBOTyBFVkVOVCBTSEFMTCBUSEVcbi8vIEFVVEhPUlMgT1IgQ09QWVJJR0hUIEhPTERFUlMgQkUgTElBQkxFIEZPUiBBTlkgQ0xBSU0sIERBTUFHRVMgT1IgT1RIRVJcbi8vIExJQUJJTElUWSwgV0hFVEhFUiBJTiBBTiBBQ1RJT04gT0YgQ09OVFJBQ1QsIFRPUlQgT1IgT1RIRVJXSVNFLCBBUklTSU5HIEZST00sXG4vLyBPVVQgT0YgT1IgSU4gQ09OTkVDVElPTiBXSVRIIFRIRSBTT0ZUV0FSRSBPUiBUSEUgVVNFIE9SIE9USEVSIERFQUxJTkdTIElOXG4vLyBUSEUgU09GVFdBUkUuXG4vL1xuXG5AdXNlIFwiQG1hdGVyaWFsL2FuaW1hdGlvbi92YXJpYWJsZXNcIiBhcyBhbmltYXRpb24tdmFyaWFibGVzO1xuQHVzZSBcIkBtYXRlcmlhbC90aGVtZS9taXhpbnNcIjtcbkB1c2UgXCIuL3ZhcmlhYmxlc1wiO1xuXG5AbWl4aW4gY29udGFpbmVyLWtleWZyYW1lc18oXG4gICRmcm9tLXN0cm9rZS1jb2xvcixcbiAgJHRvLXN0cm9rZS1jb2xvcixcbiAgJGZyb20tZmlsbC1jb2xvcixcbiAgJHRvLWZpbGwtY29sb3IsXG4gICR1aWQpIHtcbiAgQGtleWZyYW1lcyBtZGMtY2hlY2tib3gtZmFkZS1pbi1iYWNrZ3JvdW5kLSN7JHVpZH0ge1xuICAgIDAlIHtcbiAgICAgIEBpbmNsdWRlIG1peGlucy5wcm9wKGJvcmRlci1jb2xvciwgJGZyb20tc3Ryb2tlLWNvbG9yKTtcbiAgICAgIEBpbmNsdWRlIG1peGlucy5wcm9wKGJhY2tncm91bmQtY29sb3IsICRmcm9tLWZpbGwtY29sb3IpO1xuICAgIH1cblxuICAgIDUwJSB7XG4gICAgICBAaW5jbHVkZSBtaXhpbnMucHJvcChib3JkZXItY29sb3IsICR0by1zdHJva2UtY29sb3IpO1xuICAgICAgQGluY2x1ZGUgbWl4aW5zLnByb3AoYmFja2dyb3VuZC1jb2xvciwgJHRvLWZpbGwtY29sb3IpO1xuICAgIH1cbiAgfVxuXG4gIEBrZXlmcmFtZXMgbWRjLWNoZWNrYm94LWZhZGUtb3V0LWJhY2tncm91bmQtI3skdWlkfSB7XG4gICAgMCUsXG4gICAgODAlIHtcbiAgICAgIEBpbmNsdWRlIG1peGlucy5wcm9wKGJvcmRlci1jb2xvciwgJHRvLXN0cm9rZS1jb2xvcik7XG4gICAgICBAaW5jbHVkZSBtaXhpbnMucHJvcChiYWNrZ3JvdW5kLWNvbG9yLCAkdG8tZmlsbC1jb2xvcik7XG4gICAgfVxuXG4gICAgMTAwJSB7XG4gICAgICBAaW5jbHVkZSBtaXhpbnMucHJvcChib3JkZXItY29sb3IsICRmcm9tLXN0cm9rZS1jb2xvcik7XG4gICAgICBAaW5jbHVkZSBtaXhpbnMucHJvcChiYWNrZ3JvdW5kLWNvbG9yLCAkZnJvbS1maWxsLWNvbG9yKTtcbiAgICB9XG4gIH1cbn1cblxuQG1peGluIG1hcmsta2V5ZnJhbWVzXyB7XG4gIEBrZXlmcmFtZXMgbWRjLWNoZWNrYm94LXVuY2hlY2tlZC1jaGVja2VkLWNoZWNrbWFyay1wYXRoIHtcbiAgICAwJSxcbiAgICA1MCUge1xuICAgICAgc3Ryb2tlLWRhc2hvZmZzZXQ6IHZhcmlhYmxlcy4kbWFyay1wYXRoLWxlbmd0aF87XG4gICAgfVxuXG4gICAgNTAlIHtcbiAgICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGFuaW1hdGlvbi12YXJpYWJsZXMuJGRlY2VsZXJhdGlvbi1jdXJ2ZS10aW1pbmctZnVuY3Rpb247XG4gICAgfVxuXG4gICAgMTAwJSB7XG4gICAgICBzdHJva2UtZGFzaG9mZnNldDogMDtcbiAgICB9XG4gIH1cblxuICBAa2V5ZnJhbWVzIG1kYy1jaGVja2JveC11bmNoZWNrZWQtaW5kZXRlcm1pbmF0ZS1taXhlZG1hcmsge1xuICAgIDAlLFxuICAgIDY4LjIlIHtcbiAgICAgIHRyYW5zZm9ybTogc2NhbGVYKDApO1xuICAgIH1cblxuICAgIDY4LjIlIHtcbiAgICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLCAwLCAwLCAxKTtcbiAgICB9XG5cbiAgICAxMDAlIHtcbiAgICAgIHRyYW5zZm9ybTogc2NhbGVYKDEpO1xuICAgIH1cbiAgfVxuXG4gIEBrZXlmcmFtZXMgbWRjLWNoZWNrYm94LWNoZWNrZWQtdW5jaGVja2VkLWNoZWNrbWFyay1wYXRoIHtcbiAgICBmcm9tIHtcbiAgICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGFuaW1hdGlvbi12YXJpYWJsZXMuJGFjY2VsZXJhdGlvbi1jdXJ2ZS10aW1pbmctZnVuY3Rpb247XG4gICAgICBvcGFjaXR5OiAxO1xuICAgICAgc3Ryb2tlLWRhc2hvZmZzZXQ6IDA7XG4gICAgfVxuXG4gICAgdG8ge1xuICAgICAgb3BhY2l0eTogMDtcbiAgICAgIHN0cm9rZS1kYXNob2Zmc2V0OiB2YXJpYWJsZXMuJG1hcmstcGF0aC1sZW5ndGhfICogLTE7XG4gICAgfVxuICB9XG5cbiAgQGtleWZyYW1lcyBtZGMtY2hlY2tib3gtY2hlY2tlZC1pbmRldGVybWluYXRlLWNoZWNrbWFyayB7XG4gICAgZnJvbSB7XG4gICAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBhbmltYXRpb24tdmFyaWFibGVzLiRkZWNlbGVyYXRpb24tY3VydmUtdGltaW5nLWZ1bmN0aW9uO1xuICAgICAgdHJhbnNmb3JtOiByb3RhdGUoMGRlZyk7XG4gICAgICBvcGFjaXR5OiAxO1xuICAgIH1cblxuICAgIHRvIHtcbiAgICAgIHRyYW5zZm9ybTogcm90YXRlKDQ1ZGVnKTtcbiAgICAgIG9wYWNpdHk6IDA7XG4gICAgfVxuICB9XG5cbiAgQGtleWZyYW1lcyBtZGMtY2hlY2tib3gtaW5kZXRlcm1pbmF0ZS1jaGVja2VkLWNoZWNrbWFyayB7XG4gICAgZnJvbSB7XG4gICAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiB2YXJpYWJsZXMuJGluZGV0ZXJtaW5hdGUtY2hlY2tlZC1lYXNpbmctZnVuY3Rpb25fO1xuICAgICAgdHJhbnNmb3JtOiByb3RhdGUoNDVkZWcpO1xuICAgICAgb3BhY2l0eTogMDtcbiAgICB9XG5cbiAgICB0byB7XG4gICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgzNjBkZWcpO1xuICAgICAgb3BhY2l0eTogMTtcbiAgICB9XG4gIH1cblxuICBAa2V5ZnJhbWVzIG1kYy1jaGVja2JveC1jaGVja2VkLWluZGV0ZXJtaW5hdGUtbWl4ZWRtYXJrIHtcbiAgICBmcm9tIHtcbiAgICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IG1kYy1hbmltYXRpb24tZGVjZWxlcmF0aW9uLWN1cnZlLXRpbWluZy1mdW5jdGlvbjtcbiAgICAgIHRyYW5zZm9ybTogcm90YXRlKC00NWRlZyk7XG4gICAgICBvcGFjaXR5OiAwO1xuICAgIH1cblxuICAgIHRvIHtcbiAgICAgIHRyYW5zZm9ybTogcm90YXRlKDBkZWcpO1xuICAgICAgb3BhY2l0eTogMTtcbiAgICB9XG4gIH1cblxuICBAa2V5ZnJhbWVzIG1kYy1jaGVja2JveC1pbmRldGVybWluYXRlLWNoZWNrZWQtbWl4ZWRtYXJrIHtcbiAgICBmcm9tIHtcbiAgICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IHZhcmlhYmxlcy4kaW5kZXRlcm1pbmF0ZS1jaGVja2VkLWVhc2luZy1mdW5jdGlvbl87XG4gICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgwZGVnKTtcbiAgICAgIG9wYWNpdHk6IDE7XG4gICAgfVxuXG4gICAgdG8ge1xuICAgICAgdHJhbnNmb3JtOiByb3RhdGUoMzE1ZGVnKTtcbiAgICAgIG9wYWNpdHk6IDA7XG4gICAgfVxuICB9XG5cbiAgQGtleWZyYW1lcyBtZGMtY2hlY2tib3gtaW5kZXRlcm1pbmF0ZS11bmNoZWNrZWQtbWl4ZWRtYXJrIHtcbiAgICAwJSB7XG4gICAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBsaW5lYXI7XG4gICAgICB0cmFuc2Zvcm06IHNjYWxlWCgxKTtcbiAgICAgIG9wYWNpdHk6IDE7XG4gICAgfVxuXG4gICAgMzIuOCUsXG4gICAgMTAwJSB7XG4gICAgICB0cmFuc2Zvcm06IHNjYWxlWCgwKTtcbiAgICAgIG9wYWNpdHk6IDA7XG4gICAgfVxuICB9XG59XG4iLCIvL1xuLy8gQ29weXJpZ2h0IDIwMTcgR29vZ2xlIEluYy5cbi8vXG4vLyBQZXJtaXNzaW9uIGlzIGhlcmVieSBncmFudGVkLCBmcmVlIG9mIGNoYXJnZSwgdG8gYW55IHBlcnNvbiBvYnRhaW5pbmcgYSBjb3B5XG4vLyBvZiB0aGlzIHNvZnR3YXJlIGFuZCBhc3NvY2lhdGVkIGRvY3VtZW50YXRpb24gZmlsZXMgKHRoZSBcIlNvZnR3YXJlXCIpLCB0byBkZWFsXG4vLyBpbiB0aGUgU29mdHdhcmUgd2l0aG91dCByZXN0cmljdGlvbiwgaW5jbHVkaW5nIHdpdGhvdXQgbGltaXRhdGlvbiB0aGUgcmlnaHRzXG4vLyB0byB1c2UsIGNvcHksIG1vZGlmeSwgbWVyZ2UsIHB1Ymxpc2gsIGRpc3RyaWJ1dGUsIHN1YmxpY2Vuc2UsIGFuZC9vciBzZWxsXG4vLyBjb3BpZXMgb2YgdGhlIFNvZnR3YXJlLCBhbmQgdG8gcGVybWl0IHBlcnNvbnMgdG8gd2hvbSB0aGUgU29mdHdhcmUgaXNcbi8vIGZ1cm5pc2hlZCB0byBkbyBzbywgc3ViamVjdCB0byB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnM6XG4vL1xuLy8gVGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UgYW5kIHRoaXMgcGVybWlzc2lvbiBub3RpY2Ugc2hhbGwgYmUgaW5jbHVkZWQgaW5cbi8vIGFsbCBjb3BpZXMgb3Igc3Vic3RhbnRpYWwgcG9ydGlvbnMgb2YgdGhlIFNvZnR3YXJlLlxuLy9cbi8vIFRIRSBTT0ZUV0FSRSBJUyBQUk9WSURFRCBcIkFTIElTXCIsIFdJVEhPVVQgV0FSUkFOVFkgT0YgQU5ZIEtJTkQsIEVYUFJFU1MgT1Jcbi8vIElNUExJRUQsIElOQ0xVRElORyBCVVQgTk9UIExJTUlURUQgVE8gVEhFIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZLFxuLy8gRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQU5EIE5PTklORlJJTkdFTUVOVC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFXG4vLyBBVVRIT1JTIE9SIENPUFlSSUdIVCBIT0xERVJTIEJFIExJQUJMRSBGT1IgQU5ZIENMQUlNLCBEQU1BR0VTIE9SIE9USEVSXG4vLyBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQU4gQUNUSU9OIE9GIENPTlRSQUNULCBUT1JUIE9SIE9USEVSV0lTRSwgQVJJU0lORyBGUk9NLFxuLy8gT1VUIE9GIE9SIElOIENPTk5FQ1RJT04gV0lUSCBUSEUgU09GVFdBUkUgT1IgVEhFIFVTRSBPUiBPVEhFUiBERUFMSU5HUyBJTlxuLy8gVEhFIFNPRlRXQVJFLlxuLy9cblxuQHVzZSBcInNhc3M6bWFwXCI7XG5AdXNlIFwiQG1hdGVyaWFsL3JpcHBsZS92YXJpYWJsZXNcIiBhcyByaXBwbGUtdmFyaWFibGVzO1xuQHVzZSBcIkBtYXRlcmlhbC90aGVtZS92YXJpYWJsZXNcIiBhcyB0aGVtZS12YXJpYWJsZXM7XG5AdXNlIFwiQG1hdGVyaWFsL2RlbnNpdHkvdmFyaWFibGVzXCIgYXMgZGVuc2l0eS12YXJpYWJsZXM7XG5cbiRiYXNlbGluZS10aGVtZS1jb2xvcjogc2Vjb25kYXJ5ICFkZWZhdWx0O1xuJG1hcmstY29sb3I6IHRoZW1lLXZhcmlhYmxlcy5wcm9wLXZhbHVlKG9uLXNlY29uZGFyeSkgIWRlZmF1bHQ7XG4kYm9yZGVyLWNvbG9yOiByZ2JhKHRoZW1lLXZhcmlhYmxlcy5wcm9wLXZhbHVlKG9uLXN1cmZhY2UpLCAuNTQpICFkZWZhdWx0O1xuJGRpc2FibGVkLWNvbG9yOiByZ2JhKHRoZW1lLXZhcmlhYmxlcy5wcm9wLXZhbHVlKG9uLXN1cmZhY2UpLCAuMzgpICFkZWZhdWx0O1xuXG4kcmlwcGxlLXNpemU6IDQwcHggIWRlZmF1bHQ7XG4kaWNvbi1zaXplOiAxOHB4ICFkZWZhdWx0O1xuJG1hcmstc3Ryb2tlLXNpemU6IDIgLyAxNSAqICRpY29uLXNpemUgIWRlZmF1bHQ7XG4kYm9yZGVyLXdpZHRoOiAycHggIWRlZmF1bHQ7XG4kdHJhbnNpdGlvbi1kdXJhdGlvbjogOTBtcyAhZGVmYXVsdDtcbiRpdGVtLXNwYWNpbmc6IDRweCAhZGVmYXVsdDtcbiRmb2N1cy1pbmRpY2F0b3Itb3BhY2l0eTogbWFwLmdldChyaXBwbGUtdmFyaWFibGVzLiRkYXJrLWluay1vcGFjaXRpZXMsIGZvY3VzKSAhZGVmYXVsdDtcblxuJG1pbmltdW0tc2l6ZTogMjhweCAhZGVmYXVsdDtcbiRtYXhpbXVtLXNpemU6ICRyaXBwbGUtc2l6ZSAhZGVmYXVsdDtcbiRkZW5zaXR5LXNjYWxlOiBkZW5zaXR5LXZhcmlhYmxlcy4kZGVmYXVsdC1zY2FsZSAhZGVmYXVsdDtcbiRkZW5zaXR5LWNvbmZpZzogKFxuICBzaXplOiAoXG4gICAgbWluaW11bTogJG1pbmltdW0tc2l6ZSxcbiAgICBkZWZhdWx0OiAkcmlwcGxlLXNpemUsXG4gICAgbWF4aW11bTogJG1heGltdW0tc2l6ZSxcbiAgKSxcbikgIWRlZmF1bHQ7XG5cbi8vIE1hbnVhbCBjYWxjdWxhdGlvbiBkb25lIG9uIFNWR1xuJG1hcmstcGF0aC1sZW5ndGhfOiAyOS43ODMzMzg1ICFkZWZhdWx0O1xuJGluZGV0ZXJtaW5hdGUtY2hlY2tlZC1lYXNpbmctZnVuY3Rpb25fOiBjdWJpYy1iZXppZXIoLjE0LCAwLCAwLCAxKSAhZGVmYXVsdDtcbiIsIi8vXG4vLyBDb3B5cmlnaHQgMjAxNyBHb29nbGUgSW5jLlxuLy9cbi8vIFBlcm1pc3Npb24gaXMgaGVyZWJ5IGdyYW50ZWQsIGZyZWUgb2YgY2hhcmdlLCB0byBhbnkgcGVyc29uIG9idGFpbmluZyBhIGNvcHlcbi8vIG9mIHRoaXMgc29mdHdhcmUgYW5kIGFzc29jaWF0ZWQgZG9jdW1lbnRhdGlvbiBmaWxlcyAodGhlIFwiU29mdHdhcmVcIiksIHRvIGRlYWxcbi8vIGluIHRoZSBTb2Z0d2FyZSB3aXRob3V0IHJlc3RyaWN0aW9uLCBpbmNsdWRpbmcgd2l0aG91dCBsaW1pdGF0aW9uIHRoZSByaWdodHNcbi8vIHRvIHVzZSwgY29weSwgbW9kaWZ5LCBtZXJnZSwgcHVibGlzaCwgZGlzdHJpYnV0ZSwgc3VibGljZW5zZSwgYW5kL29yIHNlbGxcbi8vIGNvcGllcyBvZiB0aGUgU29mdHdhcmUsIGFuZCB0byBwZXJtaXQgcGVyc29ucyB0byB3aG9tIHRoZSBTb2Z0d2FyZSBpc1xuLy8gZnVybmlzaGVkIHRvIGRvIHNvLCBzdWJqZWN0IHRvIHRoZSBmb2xsb3dpbmcgY29uZGl0aW9uczpcbi8vXG4vLyBUaGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSBhbmQgdGhpcyBwZXJtaXNzaW9uIG5vdGljZSBzaGFsbCBiZSBpbmNsdWRlZCBpblxuLy8gYWxsIGNvcGllcyBvciBzdWJzdGFudGlhbCBwb3J0aW9ucyBvZiB0aGUgU29mdHdhcmUuXG4vL1xuLy8gVEhFIFNPRlRXQVJFIElTIFBST1ZJREVEIFwiQVMgSVNcIiwgV0lUSE9VVCBXQVJSQU5UWSBPRiBBTlkgS0lORCwgRVhQUkVTUyBPUlxuLy8gSU1QTElFRCwgSU5DTFVESU5HIEJVVCBOT1QgTElNSVRFRCBUTyBUSEUgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFksXG4vLyBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBTkQgTk9OSU5GUklOR0VNRU5ULiBJTiBOTyBFVkVOVCBTSEFMTCBUSEVcbi8vIEFVVEhPUlMgT1IgQ09QWVJJR0hUIEhPTERFUlMgQkUgTElBQkxFIEZPUiBBTlkgQ0xBSU0sIERBTUFHRVMgT1IgT1RIRVJcbi8vIExJQUJJTElUWSwgV0hFVEhFUiBJTiBBTiBBQ1RJT04gT0YgQ09OVFJBQ1QsIFRPUlQgT1IgT1RIRVJXSVNFLCBBUklTSU5HIEZST00sXG4vLyBPVVQgT0YgT1IgSU4gQ09OTkVDVElPTiBXSVRIIFRIRSBTT0ZUV0FSRSBPUiBUSEUgVVNFIE9SIE9USEVSIERFQUxJTkdTIElOXG4vLyBUSEUgU09GVFdBUkUuXG4vL1xuXG4kZGVjZWxlcmF0aW9uLWN1cnZlLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAsIDAsIC4yLCAxKSAhZGVmYXVsdDtcbiRzdGFuZGFyZC1jdXJ2ZS10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllciguNCwgMCwgLjIsIDEpICFkZWZhdWx0O1xuJGFjY2VsZXJhdGlvbi1jdXJ2ZS10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllciguNCwgMCwgMSwgMSkgIWRlZmF1bHQ7XG4kc2hhcnAtY3VydmUtdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoLjQsIDAsIC42LCAxKSAhZGVmYXVsdDtcbiIsIi8vXG4vLyBDb3B5cmlnaHQgMjAxNiBHb29nbGUgSW5jLlxuLy9cbi8vIFBlcm1pc3Npb24gaXMgaGVyZWJ5IGdyYW50ZWQsIGZyZWUgb2YgY2hhcmdlLCB0byBhbnkgcGVyc29uIG9idGFpbmluZyBhIGNvcHlcbi8vIG9mIHRoaXMgc29mdHdhcmUgYW5kIGFzc29jaWF0ZWQgZG9jdW1lbnRhdGlvbiBmaWxlcyAodGhlIFwiU29mdHdhcmVcIiksIHRvIGRlYWxcbi8vIGluIHRoZSBTb2Z0d2FyZSB3aXRob3V0IHJlc3RyaWN0aW9uLCBpbmNsdWRpbmcgd2l0aG91dCBsaW1pdGF0aW9uIHRoZSByaWdodHNcbi8vIHRvIHVzZSwgY29weSwgbW9kaWZ5LCBtZXJnZSwgcHVibGlzaCwgZGlzdHJpYnV0ZSwgc3VibGljZW5zZSwgYW5kL29yIHNlbGxcbi8vIGNvcGllcyBvZiB0aGUgU29mdHdhcmUsIGFuZCB0byBwZXJtaXQgcGVyc29ucyB0byB3aG9tIHRoZSBTb2Z0d2FyZSBpc1xuLy8gZnVybmlzaGVkIHRvIGRvIHNvLCBzdWJqZWN0IHRvIHRoZSBmb2xsb3dpbmcgY29uZGl0aW9uczpcbi8vXG4vLyBUaGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSBhbmQgdGhpcyBwZXJtaXNzaW9uIG5vdGljZSBzaGFsbCBiZSBpbmNsdWRlZCBpblxuLy8gYWxsIGNvcGllcyBvciBzdWJzdGFudGlhbCBwb3J0aW9ucyBvZiB0aGUgU29mdHdhcmUuXG4vL1xuLy8gVEhFIFNPRlRXQVJFIElTIFBST1ZJREVEIFwiQVMgSVNcIiwgV0lUSE9VVCBXQVJSQU5UWSBPRiBBTlkgS0lORCwgRVhQUkVTUyBPUlxuLy8gSU1QTElFRCwgSU5DTFVESU5HIEJVVCBOT1QgTElNSVRFRCBUTyBUSEUgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFksXG4vLyBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBTkQgTk9OSU5GUklOR0VNRU5ULiBJTiBOTyBFVkVOVCBTSEFMTCBUSEVcbi8vIEFVVEhPUlMgT1IgQ09QWVJJR0hUIEhPTERFUlMgQkUgTElBQkxFIEZPUiBBTlkgQ0xBSU0sIERBTUFHRVMgT1IgT1RIRVJcbi8vIExJQUJJTElUWSwgV0hFVEhFUiBJTiBBTiBBQ1RJT04gT0YgQ09OVFJBQ1QsIFRPUlQgT1IgT1RIRVJXSVNFLCBBUklTSU5HIEZST00sXG4vLyBPVVQgT0YgT1IgSU4gQ09OTkVDVElPTiBXSVRIIFRIRSBTT0ZUV0FSRSBPUiBUSEUgVVNFIE9SIE9USEVSIERFQUxJTkdTIElOXG4vLyBUSEUgU09GVFdBUkUuXG4vL1xuXG5AdXNlIFwic2FzczptYXRoXCI7XG5AdXNlIFwiQG1hdGVyaWFsL2FuaW1hdGlvbi9mdW5jdGlvbnNcIiBhcyBmdW5jdGlvbnMyO1xuQHVzZSBcIkBtYXRlcmlhbC9kZW5zaXR5L2Z1bmN0aW9uc1wiIGFzIGRlbnNpdHktZnVuY3Rpb25zO1xuQHVzZSBcIkBtYXRlcmlhbC9mZWF0dXJlLXRhcmdldGluZy9mdW5jdGlvbnNcIiBhcyBmZWF0dXJlLXRhcmdldGluZy1mdW5jdGlvbnM7XG5AdXNlIFwiQG1hdGVyaWFsL2ZlYXR1cmUtdGFyZ2V0aW5nL21peGluc1wiIGFzIGZlYXR1cmUtdGFyZ2V0aW5nLW1peGlucztcbkB1c2UgXCJAbWF0ZXJpYWwvcmlwcGxlL21peGluc1wiIGFzIHJpcHBsZS1taXhpbnM7XG5AdXNlIFwiQG1hdGVyaWFsL3RvdWNoLXRhcmdldC9taXhpbnNcIiBhcyB0b3VjaC10YXJnZXQtbWl4aW5zO1xuQHVzZSBcIkBtYXRlcmlhbC90aGVtZS9mdW5jdGlvbnNcIiBhcyB0aGVtZS1mdW5jdGlvbnM7XG5AdXNlIFwiLi9mdW5jdGlvbnNcIjtcbkB1c2UgXCIuL2tleWZyYW1lc1wiO1xuQHVzZSBcIi4vdmFyaWFibGVzXCI7XG5AdXNlIFwiQG1hdGVyaWFsL3RoZW1lL21peGluc1wiIGFzIHRoZW1lLW1peGlucztcbkB1c2UgXCJAbWF0ZXJpYWwvdG91Y2gtdGFyZ2V0L3ZhcmlhYmxlc1wiIGFzIHRvdWNoLXRhcmdldC12YXJpYWJsZXM7XG5cbi8vXG4vLyBQdWJsaWNcbi8vXG5cbiRyaXBwbGUtdGFyZ2V0OiBcIi5tZGMtY2hlY2tib3hfX3JpcHBsZVwiO1xuXG4vLy9cbi8vLyBDaGVja2JveCBjb3JlIHN0eWxlcy5cbi8vL1xuQG1peGluIGNvcmUtc3R5bGVzKCRxdWVyeTogZmVhdHVyZS10YXJnZXRpbmctZnVuY3Rpb25zLmFsbCgpKSB7XG4gIEBpbmNsdWRlIHdpdGhvdXQtcmlwcGxlKCRxdWVyeSk7XG4gIEBpbmNsdWRlIHJpcHBsZSgkcXVlcnkpO1xufVxuXG4vLyBUaGlzIEFQSSBpcyBpbnRlbmRlZCBmb3IgdXNlIGJ5IGZyYW1ld29ya3MgdGhhdCBtYXkgd2FudCB0byBzZXBhcmF0ZSB0aGUgcmlwcGxlLXJlbGF0ZWQgc3R5bGVzIGZyb20gdGhlIG90aGVyXG4vLyBjaGVja2JveCBzdHlsZXMuIEl0IGlzIHJlY29tbWVuZGVkIHRoYXQgbW9zdCB1c2VycyB1c2UgYG1kYy1jaGVja2JveC1jb3JlLXN0eWxlc2AgaW5zdGVhZC5cbkBtaXhpbiB3aXRob3V0LXJpcHBsZSgkcXVlcnk6IGZlYXR1cmUtdGFyZ2V0aW5nLWZ1bmN0aW9ucy5hbGwoKSkge1xuICAvLyBwb3N0Y3NzLWJlbS1saW50ZXI6IGRlZmluZSBjaGVja2JveFxuXG4gICRmZWF0LWFuaW1hdGlvbjogZmVhdHVyZS10YXJnZXRpbmctZnVuY3Rpb25zLmNyZWF0ZS10YXJnZXQoJHF1ZXJ5LCBhbmltYXRpb24pO1xuICAkZmVhdC1jb2xvcjogZmVhdHVyZS10YXJnZXRpbmctZnVuY3Rpb25zLmNyZWF0ZS10YXJnZXQoJHF1ZXJ5LCBjb2xvcik7XG4gICRmZWF0LXN0cnVjdHVyZTogZmVhdHVyZS10YXJnZXRpbmctZnVuY3Rpb25zLmNyZWF0ZS10YXJnZXQoJHF1ZXJ5LCBzdHJ1Y3R1cmUpO1xuXG4gIEBpbmNsdWRlIHRvdWNoLXRhcmdldC1taXhpbnMud3JhcHBlcigkcXVlcnkpOyAvLyBDT1BZQkFSQV9DT01NRU5UX1RISVNfTElORVxuXG4gIEBpbmNsdWRlIGZlYXR1cmUtdGFyZ2V0aW5nLW1peGlucy50YXJnZXRzKCRmZWF0LWFuaW1hdGlvbikge1xuICAgIEBpbmNsdWRlIGtleWZyYW1lcy5tYXJrLWtleWZyYW1lc187XG4gIH1cblxuICAubWRjLWNoZWNrYm94IHtcbiAgICBAaW5jbHVkZSBmZWF0dXJlLXRhcmdldGluZy1taXhpbnMudGFyZ2V0cygkZmVhdC1zdHJ1Y3R1cmUpIHtcbiAgICAgIEBpbmNsdWRlIGJhc2VfO1xuICAgIH1cblxuICAgIEBpbmNsdWRlIGZvY3VzLWluZGljYXRvci1jb2xvcih2YXJpYWJsZXMuJGJhc2VsaW5lLXRoZW1lLWNvbG9yLCAkcXVlcnk6ICRxdWVyeSk7XG4gICAgQGluY2x1ZGUgZGVuc2l0eSh2YXJpYWJsZXMuJGRlbnNpdHktc2NhbGUsICRxdWVyeTogJHF1ZXJ5KTtcbiAgfVxuXG4gIEBpbmNsdWRlIGNvbnRhaW5lci1jb2xvcnMoJHF1ZXJ5OiAkcXVlcnkpO1xuICBAaW5jbHVkZSBkaXNhYmxlZC1jb250YWluZXItY29sb3JzKCRxdWVyeTogJHF1ZXJ5KTtcbiAgQGluY2x1ZGUgaW5rLWNvbG9yKHZhcmlhYmxlcy4kbWFyay1jb2xvciwgJHF1ZXJ5OiAkcXVlcnkpO1xuICBAaW5jbHVkZSBkaXNhYmxlZC1pbmstY29sb3IodmFyaWFibGVzLiRtYXJrLWNvbG9yLCAkcXVlcnk6ICRxdWVyeSk7XG5cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKC1tcy1oaWdoLWNvbnRyYXN0OiBhY3RpdmUpIHtcbiAgICBAaW5jbHVkZSBkaXNhYmxlZC1jb250YWluZXItY29sb3JzKFxuICAgICAgJHVubWFya2VkLXN0cm9rZS1jb2xvcjogR3JheVRleHQsXG4gICAgICAkdW5tYXJrZWQtZmlsbC1jb2xvcjogdHJhbnNwYXJlbnQsXG4gICAgICAkbWFya2VkLXN0cm9rZS1jb2xvcjogR3JheVRleHQsXG4gICAgICAkbWFya2VkLWZpbGwtY29sb3I6IHRyYW5zcGFyZW50LFxuICAgICAgJHF1ZXJ5OiAkcXVlcnlcbiAgICApO1xuICAgIEBpbmNsdWRlIGRpc2FibGVkLWluay1jb2xvcihHcmF5VGV4dCwgJHF1ZXJ5OiAkcXVlcnkpO1xuXG4gICAgLm1kYy1jaGVja2JveF9fbWl4ZWRtYXJrIHtcbiAgICAgIEBpbmNsdWRlIGZlYXR1cmUtdGFyZ2V0aW5nLW1peGlucy50YXJnZXRzKCRmZWF0LXN0cnVjdHVyZSkge1xuICAgICAgICBtYXJnaW46IDAgMXB4OyAvLyBFeHRyYSBob3Jpem9udGFsIHNwYWNlIGFyb3VuZCBtaXhlZG1hcmsgc3ltYm9sLlxuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC8vIE5lZWRlZCB0byBkaXNhYmxlIGhvdmVyIGVmZmVjdHMgb24gQ1NTLW9ubHkgKG5vbi1KUykgY2hlY2tib3hlc1xuICAubWRjLWNoZWNrYm94LS1kaXNhYmxlZCB7XG4gICAgQGluY2x1ZGUgZmVhdHVyZS10YXJnZXRpbmctbWl4aW5zLnRhcmdldHMoJGZlYXQtc3RydWN0dXJlKSB7XG4gICAgICBAaW5jbHVkZSBkaXNhYmxlZF87XG4gICAgfVxuICB9XG5cbiAgLm1kYy1jaGVja2JveF9fYmFja2dyb3VuZCB7XG4gICAgQGluY2x1ZGUgYmFja2dyb3VuZF8oJHF1ZXJ5KTtcbiAgfVxuXG4gIC5tZGMtY2hlY2tib3hfX2NoZWNrbWFyayB7XG4gICAgQGluY2x1ZGUgY2hlY2ttYXJrXygkcXVlcnkpO1xuICB9XG5cbiAgLm1kYy1jaGVja2JveF9fY2hlY2ttYXJrLXBhdGgge1xuICAgIEBpbmNsdWRlIGNoZWNrbWFyay1wYXRoXygkcXVlcnkpO1xuICB9XG5cbiAgLm1kYy1jaGVja2JveF9fbWl4ZWRtYXJrIHtcbiAgICBAaW5jbHVkZSBtaXhlZG1hcmtfKCRxdWVyeSk7XG4gIH1cblxuICAvLyBKUyBjaGVja2JveFxuICAubWRjLWNoZWNrYm94LS11cGdyYWRlZCB7XG4gICAgLm1kYy1jaGVja2JveF9fYmFja2dyb3VuZCxcbiAgICAubWRjLWNoZWNrYm94X19jaGVja21hcmssXG4gICAgLm1kYy1jaGVja2JveF9fY2hlY2ttYXJrLXBhdGgsXG4gICAgLm1kYy1jaGVja2JveF9fbWl4ZWRtYXJrIHtcbiAgICAgIEBpbmNsdWRlIGZlYXR1cmUtdGFyZ2V0aW5nLW1peGlucy50YXJnZXRzKCRmZWF0LWFuaW1hdGlvbikge1xuICAgICAgICBAaW5jbHVkZSBjaGlsZC0tdXBncmFkZWRfO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC5tZGMtY2hlY2tib3gtLWFuaW0ge1xuICAgIEBpbmNsdWRlIGZlYXR1cmUtdGFyZ2V0aW5nLW1peGlucy50YXJnZXRzKCRmZWF0LWFuaW1hdGlvbikge1xuICAgICAgQGluY2x1ZGUgYW5pbV87XG4gICAgfVxuICB9XG5cbiAgLm1kYy1jaGVja2JveF9fbmF0aXZlLWNvbnRyb2w6Y2hlY2tlZCB+IC5tZGMtY2hlY2tib3hfX2JhY2tncm91bmQsXG4gIC5tZGMtY2hlY2tib3hfX25hdGl2ZS1jb250cm9sOmluZGV0ZXJtaW5hdGUgfiAubWRjLWNoZWNrYm94X19iYWNrZ3JvdW5kLFxuICAubWRjLWNoZWNrYm94X19uYXRpdmUtY29udHJvbFtkYXRhLWluZGV0ZXJtaW5hdGU9XCJ0cnVlXCJdIH4gLm1kYy1jaGVja2JveF9fYmFja2dyb3VuZCB7XG4gICAgQGluY2x1ZGUgZmVhdHVyZS10YXJnZXRpbmctbWl4aW5zLnRhcmdldHMoJGZlYXQtYW5pbWF0aW9uKSB7XG4gICAgICBAaW5jbHVkZSBiYWNrZ3JvdW5kLS1tYXJrZWRfO1xuICAgIH1cblxuICAgIC5tZGMtY2hlY2tib3hfX2NoZWNrbWFyay1wYXRoIHtcbiAgICAgIEBpbmNsdWRlIGZlYXR1cmUtdGFyZ2V0aW5nLW1peGlucy50YXJnZXRzKCRmZWF0LXN0cnVjdHVyZSkge1xuICAgICAgICBAaW5jbHVkZSBjaGVja21hcmstcGF0aC0tbWFya2VkXztcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAvLyBUaGUgZnJhbWUncyA6OmJlZm9yZSBlbGVtZW50IGlzIHVzZWQgYXMgYSBmb2N1cyBpbmRpY2F0b3IgZm9yIHRoZSBjaGVja2JveFxuICAubWRjLWNoZWNrYm94X19iYWNrZ3JvdW5kOjpiZWZvcmUge1xuICAgIEBpbmNsdWRlIGZvY3VzLWluZGljYXRvcl8oJHF1ZXJ5KTtcbiAgfVxuXG4gIC5tZGMtY2hlY2tib3hfX25hdGl2ZS1jb250cm9sOmZvY3VzIH4gLm1kYy1jaGVja2JveF9fYmFja2dyb3VuZDo6YmVmb3JlIHtcbiAgICBAaW5jbHVkZSBmb2N1cy1pbmRpY2F0b3ItLWZvY3VzZWRfKCRxdWVyeSk7XG4gIH1cblxuICAubWRjLWNoZWNrYm94X19uYXRpdmUtY29udHJvbCB7XG4gICAgQGluY2x1ZGUgZmVhdHVyZS10YXJnZXRpbmctbWl4aW5zLnRhcmdldHMoJGZlYXQtc3RydWN0dXJlKSB7XG4gICAgICBAaW5jbHVkZSBuYXRpdmUtY29udHJvbF87XG4gICAgfVxuXG4gICAgJjpkaXNhYmxlZCB7XG4gICAgICBAaW5jbHVkZSBmZWF0dXJlLXRhcmdldGluZy1taXhpbnMudGFyZ2V0cygkZmVhdC1zdHJ1Y3R1cmUpIHtcbiAgICAgICAgQGluY2x1ZGUgZGlzYWJsZWRfO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC5tZGMtY2hlY2tib3gtLXRvdWNoIHtcbiAgICBAaW5jbHVkZSB0b3VjaC10YXJnZXQtbWl4aW5zLm1hcmdpbihcbiAgICAgICRjb21wb25lbnQtaGVpZ2h0OiB2YXJpYWJsZXMuJHJpcHBsZS1zaXplLFxuICAgICAgJGNvbXBvbmVudC13aWR0aDogdmFyaWFibGVzLiRyaXBwbGUtc2l6ZSxcbiAgICAgICRxdWVyeTogJHF1ZXJ5KTtcbiAgICBAaW5jbHVkZSB0b3VjaC10YXJnZXQodG91Y2gtdGFyZ2V0LXZhcmlhYmxlcy4kaGVpZ2h0LCAkcXVlcnk6ICRxdWVyeSk7XG4gIH1cblxuICAubWRjLWNoZWNrYm94X19uYXRpdmUtY29udHJvbDpjaGVja2VkIH4gLm1kYy1jaGVja2JveF9fYmFja2dyb3VuZCB7XG4gICAgLm1kYy1jaGVja2JveF9fY2hlY2ttYXJrIHtcbiAgICAgIEBpbmNsdWRlIGNoZWNrbWFyay0tY2hlY2tlZF8oJHF1ZXJ5KTtcbiAgICB9XG5cbiAgICAubWRjLWNoZWNrYm94X19taXhlZG1hcmsge1xuICAgICAgQGluY2x1ZGUgZmVhdHVyZS10YXJnZXRpbmctbWl4aW5zLnRhcmdldHMoJGZlYXQtc3RydWN0dXJlKSB7XG4gICAgICAgIEBpbmNsdWRlIG1peGVkbWFyay0tY2hlY2tlZF87XG4gICAgICB9XG4gICAgfVxuICB9XG4gIC5tZGMtY2hlY2tib3hfX25hdGl2ZS1jb250cm9sOmluZGV0ZXJtaW5hdGUgfiAubWRjLWNoZWNrYm94X19iYWNrZ3JvdW5kLFxuICAubWRjLWNoZWNrYm94X19uYXRpdmUtY29udHJvbFtkYXRhLWluZGV0ZXJtaW5hdGU9XCJ0cnVlXCJdIH4gLm1kYy1jaGVja2JveF9fYmFja2dyb3VuZCB7XG4gICAgLm1kYy1jaGVja2JveF9fY2hlY2ttYXJrIHtcbiAgICAgIEBpbmNsdWRlIGNoZWNrbWFyay0taW5kZXRlcm1pbmF0ZV8oJHF1ZXJ5KTtcbiAgICB9XG5cbiAgICAubWRjLWNoZWNrYm94X19taXhlZG1hcmsge1xuICAgICAgQGluY2x1ZGUgZmVhdHVyZS10YXJnZXRpbmctbWl4aW5zLnRhcmdldHMoJGZlYXQtc3RydWN0dXJlKSB7XG4gICAgICAgIEBpbmNsdWRlIG1peGVkbWFyay0taW5kZXRlcm1pbmF0ZV87XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLy8gcG9zdGNzcy1iZW0tbGludGVyOiBlbmRcbn1cblxuLy8gVGhpcyBBUEkgaXMgaW50ZW5kZWQgZm9yIHVzZSBieSBmcmFtZXdvcmtzIHRoYXQgbWF5IHdhbnQgdG8gc2VwYXJhdGUgdGhlIHJpcHBsZS1yZWxhdGVkIHN0eWxlcyBmcm9tIHRoZSBvdGhlclxuLy8gY2hlY2tib3ggc3R5bGVzLiBJdCBpcyByZWNvbW1lbmRlZCB0aGF0IG1vc3QgdXNlcnMgdXNlIGBtZGMtY2hlY2tib3gtY29yZS1zdHlsZXNgIGluc3RlYWQuXG5AbWl4aW4gcmlwcGxlKCRxdWVyeTogZmVhdHVyZS10YXJnZXRpbmctZnVuY3Rpb25zLmFsbCgpKSB7XG4gICRmZWF0LXN0cnVjdHVyZTogZmVhdHVyZS10YXJnZXRpbmctZnVuY3Rpb25zLmNyZWF0ZS10YXJnZXQoJHF1ZXJ5LCBzdHJ1Y3R1cmUpO1xuXG4gIEBpbmNsdWRlIHJpcHBsZS1taXhpbnMuY29tbW9uKCRxdWVyeSk7IC8vIENPUFlCQVJBX0NPTU1FTlRfVEhJU19MSU5FXG5cbiAgLm1kYy1jaGVja2JveCB7XG4gICAgQGluY2x1ZGUgcmlwcGxlLW1peGlucy5zdXJmYWNlKCRxdWVyeTogJHF1ZXJ5LCAkcmlwcGxlLXRhcmdldDogJHJpcHBsZS10YXJnZXQpO1xuICAgIEBpbmNsdWRlIHJpcHBsZS1taXhpbnMuc3RhdGVzKCRjb2xvcjogb24tc3VyZmFjZSwgJHF1ZXJ5OiAkcXVlcnksICRyaXBwbGUtdGFyZ2V0OiAkcmlwcGxlLXRhcmdldCk7XG4gICAgQGluY2x1ZGUgcmlwcGxlLW1peGlucy5yYWRpdXMtdW5ib3VuZGVkKCRxdWVyeTogJHF1ZXJ5LCAkcmlwcGxlLXRhcmdldDogJHJpcHBsZS10YXJnZXQpO1xuICB9XG5cbiAgI3skcmlwcGxlLXRhcmdldH0ge1xuICAgIEBpbmNsdWRlIHJpcHBsZS1taXhpbnMudGFyZ2V0LWNvbW1vbigkcXVlcnk6ICRxdWVyeSk7XG4gIH1cblxuICAubWRjLXJpcHBsZS11cGdyYWRlZC0tYmFja2dyb3VuZC1mb2N1c2VkIC5tZGMtY2hlY2tib3hfX2JhY2tncm91bmQ6OmJlZm9yZSB7XG4gICAgQGluY2x1ZGUgZmVhdHVyZS10YXJnZXRpbmctbWl4aW5zLnRhcmdldHMoJGZlYXQtc3RydWN0dXJlKSB7XG4gICAgICBjb250ZW50OiBub25lO1xuICAgIH1cbiAgfVxufVxuXG4vLy9cbi8vLyBTZXRzIGRlbnNpdHkgc2NhbGUgZm9yIGNoZWNrYm94LlxuLy8vXG4vLy8gQHBhcmFtIHtOdW1iZXIgfCBTdHJpbmd9ICRkZW5zaXR5LXNjYWxlIC0gRGVuc2l0eSBzY2FsZSB2YWx1ZSBmb3IgY29tcG9uZW50LiBTdXBwb3J0ZWQgZGVuc2l0eSBzY2FsZSB2YWx1ZXNcbi8vLyAgICAgYC0zYCwgYC0yYCwgYC0xYCwgYDBgLlxuLy8vXG5AbWl4aW4gZGVuc2l0eSgkZGVuc2l0eS1zY2FsZSwgJHF1ZXJ5OiBmZWF0dXJlLXRhcmdldGluZy1mdW5jdGlvbnMuYWxsKCkpIHtcbiAgJHNpemU6IGRlbnNpdHktZnVuY3Rpb25zLnByb3AtdmFsdWUoXG4gICAgJGRlbnNpdHktY29uZmlnOiB2YXJpYWJsZXMuJGRlbnNpdHktY29uZmlnLFxuICAgICRkZW5zaXR5LXNjYWxlOiAkZGVuc2l0eS1zY2FsZSxcbiAgICAkcHJvcGVydHktbmFtZTogc2l6ZSxcbiAgKTtcblxuICBAaW5jbHVkZSByaXBwbGUtc2l6ZSgkc2l6ZSwgJHF1ZXJ5OiAkcXVlcnkpO1xuXG4gIEBpZiAkZGVuc2l0eS1zY2FsZSAhPSAwIHtcbiAgICBAaW5jbHVkZSB0b3VjaC10YXJnZXQtcmVzZXRfKCRxdWVyeTogJHF1ZXJ5KTtcbiAgfVxufVxuXG5AbWl4aW4gcmlwcGxlLXNpemUoJHJpcHBsZS1zaXplLCAkcXVlcnk6IGZlYXR1cmUtdGFyZ2V0aW5nLWZ1bmN0aW9ucy5hbGwoKSkge1xuICAkZmVhdC1zdHJ1Y3R1cmU6IGZlYXR1cmUtdGFyZ2V0aW5nLWZ1bmN0aW9ucy5jcmVhdGUtdGFyZ2V0KCRxdWVyeSwgc3RydWN0dXJlKTtcbiAgJGNoZWNrYm94LXBhZGRpbmc6ICgkcmlwcGxlLXNpemUgLSB2YXJpYWJsZXMuJGljb24tc2l6ZSkgLyAyO1xuXG4gIEBpbmNsdWRlIGZlYXR1cmUtdGFyZ2V0aW5nLW1peGlucy50YXJnZXRzKCRmZWF0LXN0cnVjdHVyZSkge1xuICAgIHBhZGRpbmc6ICRjaGVja2JveC1wYWRkaW5nO1xuICB9XG5cbiAgLm1kYy1jaGVja2JveF9fYmFja2dyb3VuZCB7XG4gICAgQGluY2x1ZGUgZmVhdHVyZS10YXJnZXRpbmctbWl4aW5zLnRhcmdldHMoJGZlYXQtc3RydWN0dXJlKSB7XG4gICAgICB0b3A6ICRjaGVja2JveC1wYWRkaW5nO1xuICAgICAgbGVmdDogJGNoZWNrYm94LXBhZGRpbmc7XG4gICAgfVxuICB9XG5cbiAgLm1kYy1jaGVja2JveF9fYmFja2dyb3VuZDo6YmVmb3JlIHtcbiAgICBAaW5jbHVkZSBmZWF0dXJlLXRhcmdldGluZy1taXhpbnMudGFyZ2V0cygkZmVhdC1zdHJ1Y3R1cmUpIHtcbiAgICAgIHRvcDogLSh2YXJpYWJsZXMuJGJvcmRlci13aWR0aCkgLSAkY2hlY2tib3gtcGFkZGluZztcbiAgICAgIGxlZnQ6IC0odmFyaWFibGVzLiRib3JkZXItd2lkdGgpIC0gJGNoZWNrYm94LXBhZGRpbmc7XG4gICAgICB3aWR0aDogJHJpcHBsZS1zaXplO1xuICAgICAgaGVpZ2h0OiAkcmlwcGxlLXNpemU7XG4gICAgfVxuICB9XG5cbiAgQGluY2x1ZGUgdG91Y2gtdGFyZ2V0KCRyaXBwbGUtc2l6ZSwgJHJpcHBsZS1zaXplOiAkcmlwcGxlLXNpemUsICRxdWVyeTogJHF1ZXJ5KTtcbn1cblxuLy8vXG4vLy8gU2V0cyBzdHJva2UgJiBmaWxsIGNvbG9ycyBmb3IgYm90aCBtYXJrZWQgYW5kIHVubWFya2VkIHN0YXRlIG9mIGVuYWJsZWQgY2hlY2tib3guXG4vLy8gU2V0ICRnZW5lcmF0ZS1rZXlmcmFtZXMgdG8gZmFsc2UgdG8gcHJldmVudCB0aGUgbWl4aW4gZnJvbSBnZW5lcmF0aW5nIEBrZXlmcmFtZXNcbi8vLyBAcGFyYW0ge0NvbG9yfSAkdW5tYXJrZWQtc3Ryb2tlLWNvbG9yIC0gVGhlIGRlc2lyZWQgc3Ryb2tlIGNvbG9yIGZvciB0aGUgdW5tYXJrZWQgc3RhdGVcbi8vLyBAcGFyYW0ge0NvbG9yfSAkdW5tYXJrZWQtZmlsbC1jb2xvciAtIFRoZSBkZXNpcmVkIGZpbGwgY29sb3IgZm9yIHRoZSB1bm1hcmtlZCBzdGF0ZVxuLy8vIEBwYXJhbSB7Q29sb3J9ICRtYXJrZWQtc3Ryb2tlLWNvbG9yIC0gVGhlIGRlc2lyZWQgc3Ryb2tlIGNvbG9yIGZvciB0aGUgbWFya2VkIHN0YXRlXG4vLy8gQHBhcmFtIHtDb2xvcn0gJG1hcmtlZC1maWxsLWNvbG9yIC0gVGhlIGRlc2lyZWQgZmlsbCBjb2xvciBmb3IgdGhlIG1hcmtlZCBzdGF0ZVxuLy8vIEBwYXJhbSB7Qm9vbGVhbn0gJGdlbmVyYXRlLWtleWZyYW1lcyBbdHJ1ZV0gLSBXaGV0aGVyIGFuaW1hdGlvbiBrZXlmcmFtZXMgc2hvdWxkIGJlIGdlbmVyYXRlZFxuLy8vXG5AbWl4aW4gY29udGFpbmVyLWNvbG9ycyhcbiAgJHVubWFya2VkLXN0cm9rZS1jb2xvcjogdmFyaWFibGVzLiRib3JkZXItY29sb3IsXG4gICR1bm1hcmtlZC1maWxsLWNvbG9yOiB0cmFuc3BhcmVudCxcbiAgJG1hcmtlZC1zdHJva2UtY29sb3I6IHZhcmlhYmxlcy4kYmFzZWxpbmUtdGhlbWUtY29sb3IsXG4gICRtYXJrZWQtZmlsbC1jb2xvcjogdmFyaWFibGVzLiRiYXNlbGluZS10aGVtZS1jb2xvcixcbiAgJGdlbmVyYXRlLWtleWZyYW1lczogdHJ1ZSxcbiAgJHF1ZXJ5OiBmZWF0dXJlLXRhcmdldGluZy1mdW5jdGlvbnMuYWxsKClcbikge1xuICAkZmVhdC1hbmltYXRpb246IGZlYXR1cmUtdGFyZ2V0aW5nLWZ1bmN0aW9ucy5jcmVhdGUtdGFyZ2V0KCRxdWVyeSwgYW5pbWF0aW9uKTtcbiAgJGZlYXQtY29sb3I6IGZlYXR1cmUtdGFyZ2V0aW5nLWZ1bmN0aW9ucy5jcmVhdGUtdGFyZ2V0KCRxdWVyeSwgY29sb3IpO1xuXG4gIEBpbmNsdWRlIGlmLXVubWFya2VkLWVuYWJsZWRfIHtcbiAgICBAaW5jbHVkZSBjb250YWluZXItY29sb3JzXygkdW5tYXJrZWQtc3Ryb2tlLWNvbG9yLCAkdW5tYXJrZWQtZmlsbC1jb2xvciwgJHF1ZXJ5OiAkcXVlcnkpO1xuICB9XG5cbiAgQGluY2x1ZGUgaWYtbWFya2VkLWVuYWJsZWRfIHtcbiAgICBAaW5jbHVkZSBjb250YWluZXItY29sb3JzXygkbWFya2VkLXN0cm9rZS1jb2xvciwgJG1hcmtlZC1maWxsLWNvbG9yLCAkcXVlcnk6ICRxdWVyeSk7XG4gIH1cblxuICBAaWYgJGdlbmVyYXRlLWtleWZyYW1lcyB7XG4gICAgJHVpZDogdGhlbWUtZnVuY3Rpb25zLmNvbG9yLWhhc2goJHVubWFya2VkLXN0cm9rZS1jb2xvcikgK1xuICAgICAgdGhlbWUtZnVuY3Rpb25zLmNvbG9yLWhhc2goJG1hcmtlZC1zdHJva2UtY29sb3IpICtcbiAgICAgIHRoZW1lLWZ1bmN0aW9ucy5jb2xvci1oYXNoKCR1bm1hcmtlZC1maWxsLWNvbG9yKSArXG4gICAgICB0aGVtZS1mdW5jdGlvbnMuY29sb3ItaGFzaCgkbWFya2VkLWZpbGwtY29sb3IpO1xuXG4gICAgJGFuaW0tc2VsZWN0b3I6IGlmKCYsIFwiJi5tZGMtY2hlY2tib3gtLWFuaW1cIiwgXCIubWRjLWNoZWNrYm94LS1hbmltXCIpO1xuXG4gICAgQGluY2x1ZGUgZmVhdHVyZS10YXJnZXRpbmctbWl4aW5zLnRhcmdldHMoJGZlYXQtYW5pbWF0aW9uLCAkZmVhdC1jb2xvcikge1xuICAgICAgQGluY2x1ZGUga2V5ZnJhbWVzLmNvbnRhaW5lci1rZXlmcmFtZXNfKFxuICAgICAgICAkZnJvbS1zdHJva2UtY29sb3I6ICR1bm1hcmtlZC1zdHJva2UtY29sb3IsXG4gICAgICAgICR0by1zdHJva2UtY29sb3I6ICRtYXJrZWQtc3Ryb2tlLWNvbG9yLFxuICAgICAgICAkZnJvbS1maWxsLWNvbG9yOiAkdW5tYXJrZWQtZmlsbC1jb2xvcixcbiAgICAgICAgJHRvLWZpbGwtY29sb3I6ICRtYXJrZWQtZmlsbC1jb2xvcixcbiAgICAgICAgJHVpZDogI3skdWlkfVxuICAgICAgKTtcbiAgICB9XG5cbiAgICAvLyBzdHlsZWxpbnQtZGlzYWJsZSBtYXgtbmVzdGluZy1kZXB0aFxuXG4gICAgI3skYW5pbS1zZWxlY3Rvcn0ge1xuICAgICAgJi11bmNoZWNrZWQtY2hlY2tlZCxcbiAgICAgICYtdW5jaGVja2VkLWluZGV0ZXJtaW5hdGUge1xuICAgICAgICAubWRjLWNoZWNrYm94X19uYXRpdmUtY29udHJvbDplbmFibGVkIH4gLm1kYy1jaGVja2JveF9fYmFja2dyb3VuZCB7XG4gICAgICAgICAgQGluY2x1ZGUgZmVhdHVyZS10YXJnZXRpbmctbWl4aW5zLnRhcmdldHMoJGZlYXQtYW5pbWF0aW9uKSB7XG4gICAgICAgICAgICBhbmltYXRpb24tbmFtZTogbWRjLWNoZWNrYm94LWZhZGUtaW4tYmFja2dyb3VuZC0jeyR1aWR9O1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICAmLWNoZWNrZWQtdW5jaGVja2VkLFxuICAgICAgJi1pbmRldGVybWluYXRlLXVuY2hlY2tlZCB7XG4gICAgICAgIC5tZGMtY2hlY2tib3hfX25hdGl2ZS1jb250cm9sOmVuYWJsZWQgfiAubWRjLWNoZWNrYm94X19iYWNrZ3JvdW5kIHtcbiAgICAgICAgICBAaW5jbHVkZSBmZWF0dXJlLXRhcmdldGluZy1taXhpbnMudGFyZ2V0cygkZmVhdC1hbmltYXRpb24pIHtcbiAgICAgICAgICAgIGFuaW1hdGlvbi1uYW1lOiBtZGMtY2hlY2tib3gtZmFkZS1vdXQtYmFja2dyb3VuZC0jeyR1aWR9O1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIC8vIHN0eWxlbGludC1lbmFibGUgbWF4LW5lc3RpbmctZGVwdGhcbiAgfVxufVxuXG4vLy9cbi8vLyBTZXRzIHN0cm9rZSAmIGZpbGwgY29sb3JzIGZvciBib3RoIG1hcmtlZCBhbmQgdW5tYXJrZWQgc3RhdGUgb2YgZGlzYWJsZWQgY2hlY2tib3guXG4vLy8gQHBhcmFtIHtDb2xvcn0gJHVubWFya2VkLXN0cm9rZS1jb2xvciAtIFRoZSBkZXNpcmVkIHN0cm9rZSBjb2xvciBmb3IgdGhlIHVubWFya2VkIHN0YXRlXG4vLy8gQHBhcmFtIHtDb2xvcn0gJHVubWFya2VkLWZpbGwtY29sb3IgLSBUaGUgZGVzaXJlZCBmaWxsIGNvbG9yIGZvciB0aGUgdW5tYXJrZWQgc3RhdGVcbi8vLyBAcGFyYW0ge0NvbG9yfSAkbWFya2VkLXN0cm9rZS1jb2xvciAtIFRoZSBkZXNpcmVkIHN0cm9rZSBjb2xvciBmb3IgdGhlIG1hcmtlZCBzdGF0ZVxuLy8vIEBwYXJhbSB7Q29sb3J9ICRtYXJrZWQtZmlsbC1jb2xvciAtIFRoZSBkZXNpcmVkIGZpbGwgY29sb3IgZm9yIHRoZSBtYXJrZWQgc3RhdGVcbi8vL1xuQG1peGluIGRpc2FibGVkLWNvbnRhaW5lci1jb2xvcnMoXG4gICR1bm1hcmtlZC1zdHJva2UtY29sb3I6IHZhcmlhYmxlcy4kZGlzYWJsZWQtY29sb3IsXG4gICR1bm1hcmtlZC1maWxsLWNvbG9yOiB0cmFuc3BhcmVudCxcbiAgJG1hcmtlZC1zdHJva2UtY29sb3I6IHRyYW5zcGFyZW50LFxuICAkbWFya2VkLWZpbGwtY29sb3I6IHZhcmlhYmxlcy4kZGlzYWJsZWQtY29sb3IsXG4gICRxdWVyeTogZmVhdHVyZS10YXJnZXRpbmctZnVuY3Rpb25zLmFsbCgpXG4pIHtcbiAgQGluY2x1ZGUgaWYtdW5tYXJrZWQtZGlzYWJsZWRfIHtcbiAgICBAaW5jbHVkZSBjb250YWluZXItY29sb3JzXygkdW5tYXJrZWQtc3Ryb2tlLWNvbG9yLCAkdW5tYXJrZWQtZmlsbC1jb2xvciwgJHF1ZXJ5OiAkcXVlcnkpO1xuICB9XG5cbiAgQGluY2x1ZGUgaWYtbWFya2VkLWRpc2FibGVkXyB7XG4gICAgQGluY2x1ZGUgY29udGFpbmVyLWNvbG9yc18oJG1hcmtlZC1zdHJva2UtY29sb3IsICRtYXJrZWQtZmlsbC1jb2xvciwgJHF1ZXJ5OiAkcXVlcnkpO1xuICB9XG59XG5cbi8vL1xuLy8vIFNldHMgdGhlIGluayBjb2xvciBvZiB0aGUgY2hlY2tlZCBhbmQgaW5kZXRlcm1pbmF0ZSBpY29ucyBmb3IgYW4gZW5hYmxlZCBjaGVja2JveFxuLy8vIEBwYXJhbSB7Q29sb3J9ICRjb2xvciAtIFRoZSBkZXNpcmVkIGluayBjb2xvciBpbiBlbmFibGVkIHN0YXRlXG4vLy9cbkBtaXhpbiBpbmstY29sb3IoJGNvbG9yLCAkcXVlcnk6IGZlYXR1cmUtdGFyZ2V0aW5nLWZ1bmN0aW9ucy5hbGwoKSkge1xuICBAaW5jbHVkZSBpZi1lbmFibGVkXyB7XG4gICAgQGluY2x1ZGUgaW5rLWNvbG9yXygkY29sb3IsICRxdWVyeTogJHF1ZXJ5KTtcbiAgfVxufVxuXG4vLy9cbi8vLyBTZXRzIHRoZSBpbmsgY29sb3Igb2YgdGhlIGNoZWNrZWQgYW5kIGluZGV0ZXJtaW5hdGUgaWNvbnMgZm9yIGEgZGlzYWJsZWQgY2hlY2tib3hcbi8vLyBAcGFyYW0ge0NvbG9yfSAkY29sb3IgLSBUaGUgZGVzaXJlZCBpbmsgY29sb3IgaW4gZGlzYWJsZWQgc3RhdGVcbi8vL1xuQG1peGluIGRpc2FibGVkLWluay1jb2xvcigkY29sb3IsICRxdWVyeTogZmVhdHVyZS10YXJnZXRpbmctZnVuY3Rpb25zLmFsbCgpKSB7XG4gICRmZWF0LWNvbG9yOiBmZWF0dXJlLXRhcmdldGluZy1mdW5jdGlvbnMuY3JlYXRlLXRhcmdldCgkcXVlcnksIGNvbG9yKTtcblxuICBAaW5jbHVkZSBpZi1kaXNhYmxlZF8ge1xuICAgIEBpbmNsdWRlIGluay1jb2xvcl8oJGNvbG9yLCAkcXVlcnk6ICRxdWVyeSk7XG4gIH1cbn1cblxuQG1peGluIGZvY3VzLWluZGljYXRvci1jb2xvcigkY29sb3IsICRxdWVyeTogZmVhdHVyZS10YXJnZXRpbmctZnVuY3Rpb25zLmFsbCgpKSB7XG4gICRmZWF0LWNvbG9yOiBmZWF0dXJlLXRhcmdldGluZy1mdW5jdGlvbnMuY3JlYXRlLXRhcmdldCgkcXVlcnksIGNvbG9yKTtcblxuICAubWRjLWNoZWNrYm94X19uYXRpdmUtY29udHJvbDpjaGVja2VkIH4gLm1kYy1jaGVja2JveF9fYmFja2dyb3VuZDo6YmVmb3JlLFxuICAubWRjLWNoZWNrYm94X19uYXRpdmUtY29udHJvbDppbmRldGVybWluYXRlIH4gLm1kYy1jaGVja2JveF9fYmFja2dyb3VuZDo6YmVmb3JlLFxuICAubWRjLWNoZWNrYm94X19uYXRpdmUtY29udHJvbFtkYXRhLWluZGV0ZXJtaW5hdGU9XCJ0cnVlXCJdIH4gLm1kYy1jaGVja2JveF9fYmFja2dyb3VuZDo6YmVmb3JlIHtcbiAgICBAaW5jbHVkZSBmZWF0dXJlLXRhcmdldGluZy1taXhpbnMudGFyZ2V0cygkZmVhdC1jb2xvcikge1xuICAgICAgQGluY2x1ZGUgdGhlbWUtbWl4aW5zLnByb3AoYmFja2dyb3VuZC1jb2xvciwgJGNvbG9yKTtcbiAgICB9XG4gIH1cblxuICAmLm1kYy1jaGVja2JveC0tc2VsZWN0ZWQge1xuICAgIEBpbmNsdWRlIHJpcHBsZS1taXhpbnMuc3RhdGVzKCRjb2xvcjogJGNvbG9yLCAkcXVlcnk6ICRxdWVyeSwgJHJpcHBsZS10YXJnZXQ6ICRyaXBwbGUtdGFyZ2V0KTtcbiAgfVxuXG4gICYubWRjLXJpcHBsZS11cGdyYWRlZC0tYmFja2dyb3VuZC1mb2N1c2VkLm1kYy1jaGVja2JveC0tc2VsZWN0ZWQge1xuICAgIEBpbmNsdWRlIHJpcHBsZS1taXhpbnMuc3RhdGVzLWJhc2UtY29sb3IoJGNvbG9yOiAkY29sb3IsICRxdWVyeTogJHF1ZXJ5LCAkcmlwcGxlLXRhcmdldDogJHJpcHBsZS10YXJnZXQpO1xuICB9XG59XG5cbi8vL1xuLy8vIFNldHMgY2hlY2tib3ggdG91Y2ggdGFyZ2V0IHNpemUgd2hpY2ggY2FuIGJlIG1vcmUgdGhhbiB0aGUgcmlwcGxlIHNpemUuIFBhcmFtIGAkcmlwcGxlLXNpemVgIGlzIHJlcXVpcmVkIGZvciBjdXN0b21cbi8vLyByaXBwbGUgc2l6ZS5cbi8vL1xuLy8vIEBwYXJhbSB7TnVtYmVyfSAkc2l6ZSBTaXplIG9mIHRvdWNoIHRhcmdldCAoTmF0aXZlIGlucHV0KSBpbiBgcHhgLlxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkcmlwcGxlLXNpemUgU2l6ZSBvZiByaXBwbGUgaW4gYHB4YC4gUmVxdWlyZWQgb25seSBmb3IgY3VzdG9tIHJpcHBsZSBzaXplLlxuLy8vXG5AbWl4aW4gdG91Y2gtdGFyZ2V0KFxuICAkc2l6ZTogdmFyaWFibGVzLiRyaXBwbGUtc2l6ZSxcbiAgJHJpcHBsZS1zaXplOiB2YXJpYWJsZXMuJHJpcHBsZS1zaXplLFxuICAkcXVlcnk6IGZlYXR1cmUtdGFyZ2V0aW5nLWZ1bmN0aW9ucy5hbGwoKSkge1xuICAkZmVhdC1zdHJ1Y3R1cmU6IGZlYXR1cmUtdGFyZ2V0aW5nLWZ1bmN0aW9ucy5jcmVhdGUtdGFyZ2V0KCRxdWVyeSwgc3RydWN0dXJlKTtcbiAgJG9mZnNldDogKCRyaXBwbGUtc2l6ZSAtICRzaXplKSAvIDI7XG5cbiAgQGluY2x1ZGUgZmVhdHVyZS10YXJnZXRpbmctbWl4aW5zLnRhcmdldHMoJGZlYXQtc3RydWN0dXJlKSB7XG4gICAgLm1kYy1jaGVja2JveF9fbmF0aXZlLWNvbnRyb2wge1xuICAgICAgdG9wOiAkb2Zmc2V0O1xuICAgICAgcmlnaHQ6ICRvZmZzZXQ7XG4gICAgICBsZWZ0OiAkb2Zmc2V0O1xuICAgICAgd2lkdGg6ICRzaXplO1xuICAgICAgaGVpZ2h0OiAkc2l6ZTtcbiAgICB9XG4gIH1cbn1cblxuLy9cbi8vIFByaXZhdGVcbi8vXG5cbkBtaXhpbiBiYXNlXyB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBmbGV4OiAwIDAgdmFyaWFibGVzLiRpY29uLXNpemU7XG4gIGJveC1zaXppbmc6IGNvbnRlbnQtYm94O1xuICB3aWR0aDogdmFyaWFibGVzLiRpY29uLXNpemU7XG4gIGhlaWdodDogdmFyaWFibGVzLiRpY29uLXNpemU7XG4gIGxpbmUtaGVpZ2h0OiAwO1xuICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIHZlcnRpY2FsLWFsaWduOiBib3R0b207XG59XG5cbkBtaXhpbiBkaXNhYmxlZF8ge1xuICBjdXJzb3I6IGRlZmF1bHQ7XG4gIHBvaW50ZXItZXZlbnRzOiBub25lO1xufVxuXG5AbWl4aW4gY2hpbGQtLXVwZ3JhZGVkXyB7XG4gIC8vIER1ZSB0byB0aGUgbXlyaWFkIG9mIHNlbGVjdG9yIGNvbWJvcyB1c2VkIHRvIHByb3Blcmx5IHN0eWxlIGEgQ1NTLW9ubHkgY2hlY2tib3gsIGFsbCBvZlxuICAvLyB3aGljaCBoYXZlIHZhcnlpbmcgc2VsZWN0b3IgcHJlY2VkZW5jZSBhbmQgbWFrZSB1c2Ugb2YgdHJhbnNpdGlvbnMsIGl0IGlzIGNsZWFuZXIgYW5kIG1vcmVcbiAgLy8gZWZmaWNpZW50IGhlcmUgdG8gc2ltcGx5IHVzZSAhaW1wb3J0YW50LCBzaW5jZSB0aGUgbWRjLWNoZWNrYm94LS1hbmltLSogY2xhc3NlcyB3aWxsIHRha2VcbiAgLy8gb3ZlciBmcm9tIGhlcmUuXG4gIHRyYW5zaXRpb246IG5vbmUgIWltcG9ydGFudDtcbn1cblxuLy8gQW5pbWF0aW9uXG5cbkBtaXhpbiBhbmltXyB7XG4gICRtZGMtY2hlY2tib3gtaW5kZXRlcm1pbmF0ZS1jaGFuZ2UtZHVyYXRpb25fOiA1MDBtcztcblxuICAvLyBzdHlsZWxpbnQtZGlzYWJsZSBzZWxlY3Rvci1tYXgtdHlwZVxuXG4gICYtdW5jaGVja2VkLWNoZWNrZWQsXG4gICYtdW5jaGVja2VkLWluZGV0ZXJtaW5hdGUsXG4gICYtY2hlY2tlZC11bmNoZWNrZWQsXG4gICYtaW5kZXRlcm1pbmF0ZS11bmNoZWNrZWQge1xuICAgIC5tZGMtY2hlY2tib3hfX2JhY2tncm91bmQge1xuICAgICAgYW5pbWF0aW9uLWR1cmF0aW9uOiB2YXJpYWJsZXMuJHRyYW5zaXRpb24tZHVyYXRpb24gKiAyO1xuICAgICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogbGluZWFyO1xuICAgIH1cbiAgfVxuXG4gICYtdW5jaGVja2VkLWNoZWNrZWQge1xuICAgIC5tZGMtY2hlY2tib3hfX2NoZWNrbWFyay1wYXRoIHtcbiAgICAgIC8vIEluc3RlYWQgb2YgZGVsYXlpbmcgdGhlIGFuaW1hdGlvbiwgd2Ugc2ltcGx5IG11bHRpcGx5IGl0cyBsZW5ndGggYnkgMiBhbmQgYmVnaW4gdGhlXG4gICAgICAvLyBhbmltYXRpb24gYXQgNTAlIGluIG9yZGVyIHRvIHByZXZlbnQgYSBmbGFzaCBvZiBzdHlsZXMgYXBwbGllZCB0byBhIGNoZWNrZWQgY2hlY2ttYXJrXG4gICAgICAvLyBhcyB0aGUgYmFja2dyb3VuZCBpcyBmYWRpbmcgaW4gYmVmb3JlIHRoZSBhbmltYXRpb24gYmVnaW5zLlxuICAgICAgYW5pbWF0aW9uOiBtZGMtY2hlY2tib3gtdW5jaGVja2VkLWNoZWNrZWQtY2hlY2ttYXJrLXBhdGggdmFyaWFibGVzLiR0cmFuc2l0aW9uLWR1cmF0aW9uICogMiBsaW5lYXIgMHM7XG4gICAgICB0cmFuc2l0aW9uOiBub25lO1xuICAgIH1cbiAgfVxuXG4gICYtdW5jaGVja2VkLWluZGV0ZXJtaW5hdGUge1xuICAgIC5tZGMtY2hlY2tib3hfX21peGVkbWFyayB7XG4gICAgICBhbmltYXRpb246IG1kYy1jaGVja2JveC11bmNoZWNrZWQtaW5kZXRlcm1pbmF0ZS1taXhlZG1hcmsgdmFyaWFibGVzLiR0cmFuc2l0aW9uLWR1cmF0aW9uIGxpbmVhciAwcztcbiAgICAgIHRyYW5zaXRpb246IG5vbmU7XG4gICAgfVxuICB9XG5cbiAgJi1jaGVja2VkLXVuY2hlY2tlZCB7XG4gICAgLm1kYy1jaGVja2JveF9fY2hlY2ttYXJrLXBhdGgge1xuICAgICAgYW5pbWF0aW9uOiBtZGMtY2hlY2tib3gtY2hlY2tlZC11bmNoZWNrZWQtY2hlY2ttYXJrLXBhdGggdmFyaWFibGVzLiR0cmFuc2l0aW9uLWR1cmF0aW9uIGxpbmVhciAwcztcbiAgICAgIHRyYW5zaXRpb246IG5vbmU7XG4gICAgfVxuICB9XG5cbiAgJi1jaGVja2VkLWluZGV0ZXJtaW5hdGUge1xuICAgIC5tZGMtY2hlY2tib3hfX2NoZWNrbWFyayB7XG4gICAgICBhbmltYXRpb246IG1kYy1jaGVja2JveC1jaGVja2VkLWluZGV0ZXJtaW5hdGUtY2hlY2ttYXJrIHZhcmlhYmxlcy4kdHJhbnNpdGlvbi1kdXJhdGlvbiBsaW5lYXIgMHM7XG4gICAgICB0cmFuc2l0aW9uOiBub25lO1xuICAgIH1cblxuICAgIC5tZGMtY2hlY2tib3hfX21peGVkbWFyayB7XG4gICAgICBhbmltYXRpb246IG1kYy1jaGVja2JveC1jaGVja2VkLWluZGV0ZXJtaW5hdGUtbWl4ZWRtYXJrIHZhcmlhYmxlcy4kdHJhbnNpdGlvbi1kdXJhdGlvbiBsaW5lYXIgMHM7XG4gICAgICB0cmFuc2l0aW9uOiBub25lO1xuICAgIH1cbiAgfVxuXG4gICYtaW5kZXRlcm1pbmF0ZS1jaGVja2VkIHtcbiAgICAubWRjLWNoZWNrYm94X19jaGVja21hcmsge1xuICAgICAgYW5pbWF0aW9uOiBtZGMtY2hlY2tib3gtaW5kZXRlcm1pbmF0ZS1jaGVja2VkLWNoZWNrbWFyayAkbWRjLWNoZWNrYm94LWluZGV0ZXJtaW5hdGUtY2hhbmdlLWR1cmF0aW9uXyBsaW5lYXIgMHM7XG4gICAgICB0cmFuc2l0aW9uOiBub25lO1xuICAgIH1cblxuICAgIC5tZGMtY2hlY2tib3hfX21peGVkbWFyayB7XG4gICAgICBhbmltYXRpb246IG1kYy1jaGVja2JveC1pbmRldGVybWluYXRlLWNoZWNrZWQtbWl4ZWRtYXJrICRtZGMtY2hlY2tib3gtaW5kZXRlcm1pbmF0ZS1jaGFuZ2UtZHVyYXRpb25fIGxpbmVhciAwcztcbiAgICAgIHRyYW5zaXRpb246IG5vbmU7XG4gICAgfVxuICB9XG5cbiAgJi1pbmRldGVybWluYXRlLXVuY2hlY2tlZCB7XG4gICAgLm1kYy1jaGVja2JveF9fbWl4ZWRtYXJrIHtcbiAgICAgIC8vIHN0eWxlbGludC1kaXNhYmxlLW5leHQtbGluZSBkZWNsYXJhdGlvbi1jb2xvbi1zcGFjZS1hZnRlclxuICAgICAgYW5pbWF0aW9uOlxuICAgICAgICBtZGMtY2hlY2tib3gtaW5kZXRlcm1pbmF0ZS11bmNoZWNrZWQtbWl4ZWRtYXJrICRtZGMtY2hlY2tib3gtaW5kZXRlcm1pbmF0ZS1jaGFuZ2UtZHVyYXRpb25fICogLjYgbGluZWFyIDBzO1xuICAgICAgdHJhbnNpdGlvbjogbm9uZTtcbiAgICB9XG4gIH1cblxuICAvLyBzdHlsZWxpbnQtZW5hYmxlIHNlbGVjdG9yLW1heC10eXBlXG59XG5cbi8vIEJhY2tncm91bmRcblxuLy8vXG4vLy8gSGVscHMgc2VsZWN0IHRoZSBjaGVja2JveCBiYWNrZ3JvdW5kIG9ubHkgd2hlbiBpdHMgbmF0aXZlIGNvbnRyb2wgaXMgaW5cbi8vLyBlbmFibGVkIHN0YXRlLlxuLy8vIEBhY2Nlc3MgcHJpdmF0ZVxuLy8vXG5AbWl4aW4gaWYtZW5hYmxlZF8ge1xuICAubWRjLWNoZWNrYm94X19uYXRpdmUtY29udHJvbDplbmFibGVkIH4ge1xuICAgIEBjb250ZW50O1xuICB9XG59XG5cbi8vL1xuLy8vIEhlbHBzIHNlbGVjdCB0aGUgY2hlY2tib3ggYmFja2dyb3VuZCBvbmx5IHdoZW4gaXRzIG5hdGl2ZSBjb250cm9sIGlzIGluXG4vLy8gZGlzYWJsZWQgc3RhdGUuXG4vLy8gQGFjY2VzcyBwcml2YXRlXG4vLy9cbkBtaXhpbiBpZi1kaXNhYmxlZF8ge1xuICAubWRjLWNoZWNrYm94X19uYXRpdmUtY29udHJvbDpkaXNhYmxlZCB+IHtcbiAgICBAY29udGVudDtcbiAgfVxufVxuXG4vLy9cbi8vLyBIZWxwcyBzZWxlY3QgdGhlIGNoZWNrYm94IGJhY2tncm91bmQgb25seSB3aGVuIGl0cyBuYXRpdmUgY29udHJvbCBpcyBpblxuLy8vIHVubWFya2VkICYgZW5hYmxlZCBzdGF0ZS5cbi8vLyBAYWNjZXNzIHByaXZhdGVcbi8vL1xuQG1peGluIGlmLXVubWFya2VkLWVuYWJsZWRfIHtcbiAgLm1kYy1jaGVja2JveF9fbmF0aXZlLWNvbnRyb2w6ZW5hYmxlZDpub3QoOmNoZWNrZWQpOm5vdCg6aW5kZXRlcm1pbmF0ZSk6bm90KFtkYXRhLWluZGV0ZXJtaW5hdGU9XCJ0cnVlXCJdKSB+IHtcbiAgICBAY29udGVudDtcbiAgfVxufVxuXG4vLy9cbi8vLyBIZWxwcyBzZWxlY3QgdGhlIGNoZWNrYm94IGJhY2tncm91bmQgb25seSB3aGVuIGl0cyBuYXRpdmUgY29udHJvbCBpcyBpblxuLy8vIHVubWFya2VkICYgZGlzYWJsZWQgc3RhdGUuXG4vLy8gQGFjY2VzcyBwcml2YXRlXG4vLy9cbkBtaXhpbiBpZi11bm1hcmtlZC1kaXNhYmxlZF8ge1xuICAvLyBOb3RlOiB3ZSBtdXN0IHVzZSBgW2Rpc2FibGVkXWAgaW5zdGVhZCBvZiBgOmRpc2FibGVkYCBiZWxvdyBiZWNhdXNlIEVkZ2UgZG9lcyBub3QgYWx3YXlzIHJlY2FsY3VsYXRlIHRoZSBzdHlsZVxuICAvLyBwcm9wZXJ0eSB3aGVuIHRoZSBgOmRpc2FibGVkYCBwc2V1ZG8tY2xhc3MgaXMgZm9sbG93ZWQgYnkgYSBzaWJsaW5nIGNvbWJpbmF0b3IuIFNlZTpcbiAgLy8gaHR0cHM6Ly9kZXZlbG9wZXIubWljcm9zb2Z0LmNvbS9lbi11cy9taWNyb3NvZnQtZWRnZS9wbGF0Zm9ybS9pc3N1ZXMvMTEyOTUyMzEvXG4gIC5tZGMtY2hlY2tib3hfX25hdGl2ZS1jb250cm9sW2Rpc2FibGVkXTpub3QoOmNoZWNrZWQpOm5vdCg6aW5kZXRlcm1pbmF0ZSk6bm90KFtkYXRhLWluZGV0ZXJtaW5hdGU9XCJ0cnVlXCJdKSB+IHtcbiAgICBAY29udGVudDtcbiAgfVxufVxuXG4vLy9cbi8vLyBIZWxwcyBzZWxlY3QgdGhlIGNoZWNrYm94IGJhY2tncm91bmQgb25seSB3aGVuIGl0cyBuYXRpdmUgY29udHJvbCBpcyBpblxuLy8vIG1hcmtlZCAmIGVuYWJsZWQgc3RhdGUuXG4vLy8gQGFjY2VzcyBwcml2YXRlXG4vLy9cbkBtaXhpbiBpZi1tYXJrZWQtZW5hYmxlZF8ge1xuICAubWRjLWNoZWNrYm94X19uYXRpdmUtY29udHJvbDplbmFibGVkOmNoZWNrZWQsXG4gIC5tZGMtY2hlY2tib3hfX25hdGl2ZS1jb250cm9sOmVuYWJsZWQ6aW5kZXRlcm1pbmF0ZSxcbiAgLm1kYy1jaGVja2JveF9fbmF0aXZlLWNvbnRyb2xbZGF0YS1pbmRldGVybWluYXRlPVwidHJ1ZVwiXTplbmFibGVkIHtcbiAgICB+IHtcbiAgICAgIEBjb250ZW50O1xuICAgIH1cbiAgfVxufVxuXG4vLy9cbi8vLyBIZWxwcyBzZWxlY3QgdGhlIGNoZWNrYm94IGJhY2tncm91bmQgb25seSB3aGVuIGl0cyBuYXRpdmUgY29udHJvbCBpcyBpblxuLy8vIG1hcmtlZCAmIGRpc2FibGVkIHN0YXRlLlxuLy8vIEBhY2Nlc3MgcHJpdmF0ZVxuLy8vXG5AbWl4aW4gaWYtbWFya2VkLWRpc2FibGVkXyB7XG4gIC8vIE5vdGU6IHdlIG11c3QgdXNlIGBbZGlzYWJsZWRdYCBpbnN0ZWFkIG9mIGA6ZGlzYWJsZWRgIGJlbG93IGJlY2F1c2UgRWRnZSBkb2VzIG5vdCBhbHdheXMgcmVjYWxjdWxhdGUgdGhlIHN0eWxlXG4gIC8vIHByb3BlcnR5IHdoZW4gdGhlIGA6ZGlzYWJsZWRgIHBzZXVkby1jbGFzcyBpcyBmb2xsb3dlZCBieSBhIHNpYmxpbmcgY29tYmluYXRvci4gU2VlOlxuICAvLyBodHRwczovL2RldmVsb3Blci5taWNyb3NvZnQuY29tL2VuLXVzL21pY3Jvc29mdC1lZGdlL3BsYXRmb3JtL2lzc3Vlcy8xMTI5NTIzMS9cbiAgLm1kYy1jaGVja2JveF9fbmF0aXZlLWNvbnRyb2xbZGlzYWJsZWRdOmNoZWNrZWQsXG4gIC5tZGMtY2hlY2tib3hfX25hdGl2ZS1jb250cm9sW2Rpc2FibGVkXTppbmRldGVybWluYXRlLFxuICAubWRjLWNoZWNrYm94X19uYXRpdmUtY29udHJvbFtkYXRhLWluZGV0ZXJtaW5hdGU9XCJ0cnVlXCJdW2Rpc2FibGVkXSB7XG4gICAgfiB7XG4gICAgICBAY29udGVudDtcbiAgICB9XG4gIH1cbn1cblxuQG1peGluIGJhY2tncm91bmRfKCRxdWVyeTogZmVhdHVyZS10YXJnZXRpbmctZnVuY3Rpb25zLmFsbCgpKSB7XG4gICRmZWF0LWFuaW1hdGlvbjogZmVhdHVyZS10YXJnZXRpbmctZnVuY3Rpb25zLmNyZWF0ZS10YXJnZXQoJHF1ZXJ5LCBhbmltYXRpb24pO1xuICAkZmVhdC1zdHJ1Y3R1cmU6IGZlYXR1cmUtdGFyZ2V0aW5nLWZ1bmN0aW9ucy5jcmVhdGUtdGFyZ2V0KCRxdWVyeSwgc3RydWN0dXJlKTtcbiAgJGZlYXQtY29sb3I6IGZlYXR1cmUtdGFyZ2V0aW5nLWZ1bmN0aW9ucy5jcmVhdGUtdGFyZ2V0KCRxdWVyeSwgY29sb3IpO1xuXG4gIEBpbmNsdWRlIGZlYXR1cmUtdGFyZ2V0aW5nLW1peGlucy50YXJnZXRzKCRmZWF0LXN0cnVjdHVyZSkge1xuICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgd2lkdGg6IHZhcmlhYmxlcy4kaWNvbi1zaXplO1xuICAgIGhlaWdodDogdmFyaWFibGVzLiRpY29uLXNpemU7XG4gICAgLy8gYm9yZGVyLWNvbG9yIGlzIG92ZXJyaWRkZW4gYnkgdGhlIG1kYy1jaGVja2JveC11bm1hcmtlZC1zdHJva2UtY29sb3IoKSBtaXhpblxuICAgIGJvcmRlcjogdmFyaWFibGVzLiRib3JkZXItd2lkdGggc29saWQgY3VycmVudENvbG9yO1xuICAgIGJvcmRlci1yYWRpdXM6IDJweDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgICB3aWxsLWNoYW5nZTogYmFja2dyb3VuZC1jb2xvciwgYm9yZGVyLWNvbG9yO1xuICB9XG5cbiAgLm1kYy1jaGVja2JveF9fYmFja2dyb3VuZDo6YmVmb3JlIHtcbiAgICBAaW5jbHVkZSBmZWF0dXJlLXRhcmdldGluZy1taXhpbnMudGFyZ2V0cygkZmVhdC1jb2xvcikge1xuICAgICAgQGluY2x1ZGUgdGhlbWUtbWl4aW5zLnByb3AoYmFja2dyb3VuZC1jb2xvciwgb24tc3VyZmFjZSk7XG4gICAgfVxuICB9XG5cbiAgQGluY2x1ZGUgZmVhdHVyZS10YXJnZXRpbmctbWl4aW5zLnRhcmdldHMoJGZlYXQtYW5pbWF0aW9uKSB7XG4gICAgdHJhbnNpdGlvbjpcbiAgICAgIGZ1bmN0aW9ucy50cmFuc2l0aW9uLWV4aXQoYmFja2dyb3VuZC1jb2xvciksXG4gICAgICBmdW5jdGlvbnMudHJhbnNpdGlvbi1leGl0KGJvcmRlci1jb2xvcik7XG4gIH1cbn1cblxuQG1peGluIGJhY2tncm91bmQtLW1hcmtlZF8ge1xuICB0cmFuc2l0aW9uOlxuICAgIGZ1bmN0aW9ucy50cmFuc2l0aW9uLWVudGVyKGJvcmRlci1jb2xvciksXG4gICAgZnVuY3Rpb25zLnRyYW5zaXRpb24tZW50ZXIoYmFja2dyb3VuZC1jb2xvcik7XG59XG5cbi8vL1xuLy8vIFNldHMgdGhlIHN0cm9rZSAmIGZpbGwgY29sb3JzIGZvciB0aGUgY2hlY2tib3guXG4vLy8gVGhpcyBtaXhpbiBzaG91bGQgYmUgd3JhcHBlZCBpbiBhIG1peGluIHRoYXQgcXVhbGlmaWVzIHN0YXRlIHN1Y2ggYXNcbi8vLyBgbWRjLWNoZWNrYm94LWlmLXVubWFya2VkLWVuYWJsZWRfYC5cbi8vLyBAYWNjZXNzIHByaXZhdGVcbi8vL1xuQG1peGluIGNvbnRhaW5lci1jb2xvcnNfKCRzdHJva2UtY29sb3IsICRmaWxsLWNvbG9yLCAkcXVlcnk6IGZlYXR1cmUtdGFyZ2V0aW5nLWZ1bmN0aW9ucy5hbGwoKSkge1xuICAkZmVhdC1jb2xvcjogZmVhdHVyZS10YXJnZXRpbmctZnVuY3Rpb25zLmNyZWF0ZS10YXJnZXQoJHF1ZXJ5LCBjb2xvcik7XG5cbiAgLm1kYy1jaGVja2JveF9fYmFja2dyb3VuZCB7XG4gICAgQGluY2x1ZGUgZmVhdHVyZS10YXJnZXRpbmctbWl4aW5zLnRhcmdldHMoJGZlYXQtY29sb3IpIHtcbiAgICAgIEBpbmNsdWRlIHRoZW1lLW1peGlucy5wcm9wKGJvcmRlci1jb2xvciwgJHN0cm9rZS1jb2xvcik7XG4gICAgICBAaW5jbHVkZSB0aGVtZS1taXhpbnMucHJvcChiYWNrZ3JvdW5kLWNvbG9yLCAkZmlsbC1jb2xvcik7XG4gICAgfVxuICB9XG59XG5cbi8vIEZvY3VzIGluZGljYXRvclxuXG5AbWl4aW4gZm9jdXMtaW5kaWNhdG9yXygkcXVlcnk6IGZlYXR1cmUtdGFyZ2V0aW5nLWZ1bmN0aW9ucy5hbGwoKSkge1xuICAkZmVhdC1hbmltYXRpb246IGZlYXR1cmUtdGFyZ2V0aW5nLWZ1bmN0aW9ucy5jcmVhdGUtdGFyZ2V0KCRxdWVyeSwgYW5pbWF0aW9uKTtcbiAgJGZlYXQtc3RydWN0dXJlOiBmZWF0dXJlLXRhcmdldGluZy1mdW5jdGlvbnMuY3JlYXRlLXRhcmdldCgkcXVlcnksIHN0cnVjdHVyZSk7XG5cbiAgQGluY2x1ZGUgZmVhdHVyZS10YXJnZXRpbmctbWl4aW5zLnRhcmdldHMoJGZlYXQtc3RydWN0dXJlKSB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRyYW5zZm9ybTogc2NhbGUoMCwgMCk7XG4gICAgYm9yZGVyLXJhZGl1czogNTAlO1xuICAgIG9wYWNpdHk6IDA7XG4gICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gICAgY29udGVudDogXCJcIjtcbiAgICB3aWxsLWNoYW5nZTogb3BhY2l0eSwgdHJhbnNmb3JtO1xuICB9XG5cbiAgQGluY2x1ZGUgZmVhdHVyZS10YXJnZXRpbmctbWl4aW5zLnRhcmdldHMoJGZlYXQtYW5pbWF0aW9uKSB7XG4gICAgdHJhbnNpdGlvbjpcbiAgICAgIGZ1bmN0aW9ucy50cmFuc2l0aW9uLWV4aXQob3BhY2l0eSksXG4gICAgICBmdW5jdGlvbnMudHJhbnNpdGlvbi1leGl0KHRyYW5zZm9ybSk7XG4gIH1cbn1cblxuQG1peGluIGZvY3VzLWluZGljYXRvci0tZm9jdXNlZF8oJHF1ZXJ5OiBmZWF0dXJlLXRhcmdldGluZy1mdW5jdGlvbnMuYWxsKCkpIHtcbiAgJGZlYXQtYW5pbWF0aW9uOiBmZWF0dXJlLXRhcmdldGluZy1mdW5jdGlvbnMuY3JlYXRlLXRhcmdldCgkcXVlcnksIGFuaW1hdGlvbik7XG4gICRmZWF0LXN0cnVjdHVyZTogZmVhdHVyZS10YXJnZXRpbmctZnVuY3Rpb25zLmNyZWF0ZS10YXJnZXQoJHF1ZXJ5LCBzdHJ1Y3R1cmUpO1xuXG4gIEBpbmNsdWRlIGZlYXR1cmUtdGFyZ2V0aW5nLW1peGlucy50YXJnZXRzKCRmZWF0LXN0cnVjdHVyZSkge1xuICAgIHRyYW5zZm9ybTogc2NhbGUoMSk7XG4gICAgb3BhY2l0eTogdmFyaWFibGVzLiRmb2N1cy1pbmRpY2F0b3Itb3BhY2l0eTtcbiAgfVxuXG4gIEBpbmNsdWRlIGZlYXR1cmUtdGFyZ2V0aW5nLW1peGlucy50YXJnZXRzKCRmZWF0LWFuaW1hdGlvbikge1xuICAgIHRyYW5zaXRpb246XG4gICAgICBmdW5jdGlvbnMudHJhbnNpdGlvbi1lbnRlcihvcGFjaXR5LCAwbXMsIDgwbXMpLFxuICAgICAgZnVuY3Rpb25zLnRyYW5zaXRpb24tZW50ZXIodHJhbnNmb3JtLCAwbXMsIDgwbXMpO1xuICB9XG59XG5cbi8vIE5hdGl2ZSBpbnB1dFxuXG5AbWl4aW4gbmF0aXZlLWNvbnRyb2xfIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBtYXJnaW46IDA7XG4gIHBhZGRpbmc6IDA7XG4gIG9wYWNpdHk6IDA7XG4gIGN1cnNvcjogaW5oZXJpdDtcbn1cblxuLy8gQ2hlY2sgbWFya1xuXG5AbWl4aW4gY2hlY2ttYXJrXygkcXVlcnk6IGZlYXR1cmUtdGFyZ2V0aW5nLWZ1bmN0aW9ucy5hbGwoKSkge1xuICAkZmVhdC1hbmltYXRpb246IGZlYXR1cmUtdGFyZ2V0aW5nLWZ1bmN0aW9ucy5jcmVhdGUtdGFyZ2V0KCRxdWVyeSwgYW5pbWF0aW9uKTtcbiAgJGZlYXQtc3RydWN0dXJlOiBmZWF0dXJlLXRhcmdldGluZy1mdW5jdGlvbnMuY3JlYXRlLXRhcmdldCgkcXVlcnksIHN0cnVjdHVyZSk7XG5cbiAgQGluY2x1ZGUgZmVhdHVyZS10YXJnZXRpbmctbWl4aW5zLnRhcmdldHMoJGZlYXQtc3RydWN0dXJlKSB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMDtcbiAgICByaWdodDogMDtcbiAgICBib3R0b206IDA7XG4gICAgbGVmdDogMDtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBvcGFjaXR5OiAwO1xuICB9XG5cbiAgQGluY2x1ZGUgZmVhdHVyZS10YXJnZXRpbmctbWl4aW5zLnRhcmdldHMoJGZlYXQtYW5pbWF0aW9uKSB7XG4gICAgdHJhbnNpdGlvbjogZnVuY3Rpb25zLnRyYW5zaXRpb24tZXhpdChvcGFjaXR5LCAwbXMsIHZhcmlhYmxlcy4kdHJhbnNpdGlvbi1kdXJhdGlvbiAqIDIpO1xuICB9XG5cbiAgLm1kYy1jaGVja2JveC0tdXBncmFkZWQgJiB7XG4gICAgQGluY2x1ZGUgZmVhdHVyZS10YXJnZXRpbmctbWl4aW5zLnRhcmdldHMoJGZlYXQtc3RydWN0dXJlKSB7XG4gICAgICBvcGFjaXR5OiAxO1xuICAgIH1cbiAgfVxufVxuXG5AbWl4aW4gY2hlY2ttYXJrLS1jaGVja2VkXygkcXVlcnk6IGZlYXR1cmUtdGFyZ2V0aW5nLWZ1bmN0aW9ucy5hbGwoKSkge1xuICAkZmVhdC1hbmltYXRpb246IGZlYXR1cmUtdGFyZ2V0aW5nLWZ1bmN0aW9ucy5jcmVhdGUtdGFyZ2V0KCRxdWVyeSwgYW5pbWF0aW9uKTtcbiAgJGZlYXQtc3RydWN0dXJlOiBmZWF0dXJlLXRhcmdldGluZy1mdW5jdGlvbnMuY3JlYXRlLXRhcmdldCgkcXVlcnksIHN0cnVjdHVyZSk7XG5cbiAgQGluY2x1ZGUgZmVhdHVyZS10YXJnZXRpbmctbWl4aW5zLnRhcmdldHMoJGZlYXQtYW5pbWF0aW9uKSB7XG4gICAgdHJhbnNpdGlvbjpcbiAgICAgIGZ1bmN0aW9ucy50cmFuc2l0aW9uLWVudGVyKG9wYWNpdHksIDBtcywgdmFyaWFibGVzLiR0cmFuc2l0aW9uLWR1cmF0aW9uICogMiksXG4gICAgICBmdW5jdGlvbnMudHJhbnNpdGlvbi1lbnRlcih0cmFuc2Zvcm0sIDBtcywgdmFyaWFibGVzLiR0cmFuc2l0aW9uLWR1cmF0aW9uICogMik7XG4gIH1cblxuICBAaW5jbHVkZSBmZWF0dXJlLXRhcmdldGluZy1taXhpbnMudGFyZ2V0cygkZmVhdC1zdHJ1Y3R1cmUpIHtcbiAgICBvcGFjaXR5OiAxO1xuICB9XG59XG5cbkBtaXhpbiBjaGVja21hcmstLWluZGV0ZXJtaW5hdGVfKCRxdWVyeTogZmVhdHVyZS10YXJnZXRpbmctZnVuY3Rpb25zLmFsbCgpKSB7XG4gICRmZWF0LWFuaW1hdGlvbjogZmVhdHVyZS10YXJnZXRpbmctZnVuY3Rpb25zLmNyZWF0ZS10YXJnZXQoJHF1ZXJ5LCBhbmltYXRpb24pO1xuICAkZmVhdC1zdHJ1Y3R1cmU6IGZlYXR1cmUtdGFyZ2V0aW5nLWZ1bmN0aW9ucy5jcmVhdGUtdGFyZ2V0KCRxdWVyeSwgc3RydWN0dXJlKTtcblxuICBAaW5jbHVkZSBmZWF0dXJlLXRhcmdldGluZy1taXhpbnMudGFyZ2V0cygkZmVhdC1zdHJ1Y3R1cmUpIHtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZSg0NWRlZyk7XG4gICAgb3BhY2l0eTogMDtcbiAgfVxuXG4gIEBpbmNsdWRlIGZlYXR1cmUtdGFyZ2V0aW5nLW1peGlucy50YXJnZXRzKCRmZWF0LWFuaW1hdGlvbikge1xuICAgIHRyYW5zaXRpb246XG4gICAgICBmdW5jdGlvbnMudHJhbnNpdGlvbi1leGl0KG9wYWNpdHksIDBtcywgdmFyaWFibGVzLiR0cmFuc2l0aW9uLWR1cmF0aW9uKSxcbiAgICAgIGZ1bmN0aW9ucy50cmFuc2l0aW9uLWV4aXQodHJhbnNmb3JtLCAwbXMsIHZhcmlhYmxlcy4kdHJhbnNpdGlvbi1kdXJhdGlvbik7XG4gIH1cbn1cblxuLy8vXG4vLy8gU2V0cyB0aGUgaW5rIGNvbG9yIG9mIHRoZSBjaGVja2VkIGFuZCBpbmRldGVybWluYXRlIGljb25zIGZvciBhIGNoZWNrYm94LlxuLy8vIFRoaXMgbWl4aW4gc2hvdWxkIGJlIHdyYXBwZWQgaW4gYSBtaXhpbiB0aGF0IHF1YWxpZmllcyBzdGF0ZSBzdWNoIGFzXG4vLy8gYG1kYy1jaGVja2JveC1pZi11bm1hcmtlZF9gLlxuLy8vIEBhY2Nlc3MgcHJpdmF0ZVxuLy8vXG5AbWl4aW4gaW5rLWNvbG9yXygkY29sb3IsICRxdWVyeTogZmVhdHVyZS10YXJnZXRpbmctZnVuY3Rpb25zLmFsbCgpKSB7XG4gICRmZWF0LWNvbG9yOiBmZWF0dXJlLXRhcmdldGluZy1mdW5jdGlvbnMuY3JlYXRlLXRhcmdldCgkcXVlcnksIGNvbG9yKTtcblxuICAubWRjLWNoZWNrYm94X19iYWNrZ3JvdW5kIHtcbiAgICAubWRjLWNoZWNrYm94X19jaGVja21hcmsge1xuICAgICAgQGluY2x1ZGUgZmVhdHVyZS10YXJnZXRpbmctbWl4aW5zLnRhcmdldHMoJGZlYXQtY29sb3IpIHtcbiAgICAgICAgQGluY2x1ZGUgdGhlbWUtbWl4aW5zLnByb3AoY29sb3IsICRjb2xvcik7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLm1kYy1jaGVja2JveF9fbWl4ZWRtYXJrIHtcbiAgICAgIEBpbmNsdWRlIGZlYXR1cmUtdGFyZ2V0aW5nLW1peGlucy50YXJnZXRzKCRmZWF0LWNvbG9yKSB7XG4gICAgICAgIEBpbmNsdWRlIHRoZW1lLW1peGlucy5wcm9wKGJvcmRlci1jb2xvciwgJGNvbG9yKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuLy8gQ2hlY2sgbWFyayBwYXRoXG5cbkBtaXhpbiBjaGVja21hcmstcGF0aF8oJHF1ZXJ5OiBmZWF0dXJlLXRhcmdldGluZy1mdW5jdGlvbnMuYWxsKCkpIHtcbiAgJGZlYXQtYW5pbWF0aW9uOiBmZWF0dXJlLXRhcmdldGluZy1mdW5jdGlvbnMuY3JlYXRlLXRhcmdldCgkcXVlcnksIGFuaW1hdGlvbik7XG4gICRmZWF0LXN0cnVjdHVyZTogZmVhdHVyZS10YXJnZXRpbmctZnVuY3Rpb25zLmNyZWF0ZS10YXJnZXQoJHF1ZXJ5LCBzdHJ1Y3R1cmUpO1xuXG4gIEBpbmNsdWRlIGZlYXR1cmUtdGFyZ2V0aW5nLW1peGlucy50YXJnZXRzKCRmZWF0LWFuaW1hdGlvbikge1xuICAgIHRyYW5zaXRpb246IGZ1bmN0aW9ucy50cmFuc2l0aW9uLWV4aXQoc3Ryb2tlLWRhc2hvZmZzZXQsIDBtcywgdmFyaWFibGVzLiR0cmFuc2l0aW9uLWR1cmF0aW9uICogMik7XG4gIH1cblxuICBAaW5jbHVkZSBmZWF0dXJlLXRhcmdldGluZy1taXhpbnMudGFyZ2V0cygkZmVhdC1zdHJ1Y3R1cmUpIHtcbiAgICBzdHJva2U6IGN1cnJlbnRDb2xvcjtcbiAgICBzdHJva2Utd2lkdGg6IHZhcmlhYmxlcy4kbWFyay1zdHJva2Utc2l6ZSAqIDEuMztcbiAgICBzdHJva2UtZGFzaG9mZnNldDogdmFyaWFibGVzLiRtYXJrLXBhdGgtbGVuZ3RoXztcbiAgICBzdHJva2UtZGFzaGFycmF5OiB2YXJpYWJsZXMuJG1hcmstcGF0aC1sZW5ndGhfO1xuICB9XG59XG5cbkBtaXhpbiBjaGVja21hcmstcGF0aC0tbWFya2VkXyB7XG4gIHN0cm9rZS1kYXNob2Zmc2V0OiAwO1xufVxuXG4vLyBNaXhlZCBtYXJrXG5cbkBtaXhpbiBtaXhlZG1hcmtfKCRxdWVyeTogZmVhdHVyZS10YXJnZXRpbmctZnVuY3Rpb25zLmFsbCgpKSB7XG4gICRmZWF0LWFuaW1hdGlvbjogZmVhdHVyZS10YXJnZXRpbmctZnVuY3Rpb25zLmNyZWF0ZS10YXJnZXQoJHF1ZXJ5LCBhbmltYXRpb24pO1xuICAkZmVhdC1zdHJ1Y3R1cmU6IGZlYXR1cmUtdGFyZ2V0aW5nLWZ1bmN0aW9ucy5jcmVhdGUtdGFyZ2V0KCRxdWVyeSwgc3RydWN0dXJlKTtcblxuICBAaW5jbHVkZSBmZWF0dXJlLXRhcmdldGluZy1taXhpbnMudGFyZ2V0cygkZmVhdC1zdHJ1Y3R1cmUpIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IDA7XG4gICAgdHJhbnNmb3JtOiBzY2FsZVgoMCkgcm90YXRlKDBkZWcpO1xuICAgIGJvcmRlci13aWR0aDogbWF0aC5mbG9vcih2YXJpYWJsZXMuJG1hcmstc3Ryb2tlLXNpemUpIC8gMjtcbiAgICBib3JkZXItc3R5bGU6IHNvbGlkO1xuICAgIG9wYWNpdHk6IDA7XG4gIH1cblxuICBAaW5jbHVkZSBmZWF0dXJlLXRhcmdldGluZy1taXhpbnMudGFyZ2V0cygkZmVhdC1hbmltYXRpb24pIHtcbiAgICB0cmFuc2l0aW9uOlxuICAgICAgZnVuY3Rpb25zLnRyYW5zaXRpb24tZXhpdChvcGFjaXR5KSxcbiAgICAgIGZ1bmN0aW9ucy50cmFuc2l0aW9uLWV4aXQodHJhbnNmb3JtKTtcbiAgfVxufVxuXG5AbWl4aW4gbWl4ZWRtYXJrLS1jaGVja2VkXyB7XG4gIHRyYW5zZm9ybTogc2NhbGVYKDEpIHJvdGF0ZSgtNDVkZWcpO1xufVxuXG5AbWl4aW4gbWl4ZWRtYXJrLS1pbmRldGVybWluYXRlXyB7XG4gIHRyYW5zZm9ybTogc2NhbGVYKDEpIHJvdGF0ZSgwZGVnKTtcbiAgb3BhY2l0eTogMTtcbn1cblxuLy8vXG4vLy8gUmVzZXRzIHRvdWNoIHRhcmdldC1yZWxhdGVkIHN0eWxlcy4gVGhpcyBpcyBjYWxsZWQgZnJvbSB0aGUgZGVuc2l0eSBtaXhpbiB0b1xuLy8vIGF1dG9tYXRpY2FsbHkgcmVtb3ZlIHRoZSBpbmNyZWFzZWQgdG91Y2ggdGFyZ2V0LCBzaW5jZSBkZW5zZSBjb21wb25lbnRzXG4vLy8gZG9uJ3QgaGF2ZSB0aGUgc2FtZSBkZWZhdWx0IGExMXkgcmVxdWlyZW1lbnRzLlxuLy8vIEBhY2Nlc3MgcHJpdmF0ZVxuLy8vXG5AbWl4aW4gdG91Y2gtdGFyZ2V0LXJlc2V0XygkcXVlcnk6IGZlYXR1cmUtdGFyZ2V0aW5nLWZ1bmN0aW9ucy5hbGwoKSkge1xuICAkZmVhdC1zdHJ1Y3R1cmU6IGZlYXR1cmUtdGFyZ2V0aW5nLWZ1bmN0aW9ucy5jcmVhdGUtdGFyZ2V0KCRxdWVyeSwgc3RydWN0dXJlKTtcblxuICBAaW5jbHVkZSBmZWF0dXJlLXRhcmdldGluZy1taXhpbnMudGFyZ2V0cygkZmVhdC1zdHJ1Y3R1cmUpIHtcbiAgICBtYXJnaW46IDA7XG4gIH1cbn1cbiIsIi8vXG4vLyBDb3B5cmlnaHQgMjAxNyBHb29nbGUgSW5jLlxuLy9cbi8vIFBlcm1pc3Npb24gaXMgaGVyZWJ5IGdyYW50ZWQsIGZyZWUgb2YgY2hhcmdlLCB0byBhbnkgcGVyc29uIG9idGFpbmluZyBhIGNvcHlcbi8vIG9mIHRoaXMgc29mdHdhcmUgYW5kIGFzc29jaWF0ZWQgZG9jdW1lbnRhdGlvbiBmaWxlcyAodGhlIFwiU29mdHdhcmVcIiksIHRvIGRlYWxcbi8vIGluIHRoZSBTb2Z0d2FyZSB3aXRob3V0IHJlc3RyaWN0aW9uLCBpbmNsdWRpbmcgd2l0aG91dCBsaW1pdGF0aW9uIHRoZSByaWdodHNcbi8vIHRvIHVzZSwgY29weSwgbW9kaWZ5LCBtZXJnZSwgcHVibGlzaCwgZGlzdHJpYnV0ZSwgc3VibGljZW5zZSwgYW5kL29yIHNlbGxcbi8vIGNvcGllcyBvZiB0aGUgU29mdHdhcmUsIGFuZCB0byBwZXJtaXQgcGVyc29ucyB0byB3aG9tIHRoZSBTb2Z0d2FyZSBpc1xuLy8gZnVybmlzaGVkIHRvIGRvIHNvLCBzdWJqZWN0IHRvIHRoZSBmb2xsb3dpbmcgY29uZGl0aW9uczpcbi8vXG4vLyBUaGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSBhbmQgdGhpcyBwZXJtaXNzaW9uIG5vdGljZSBzaGFsbCBiZSBpbmNsdWRlZCBpblxuLy8gYWxsIGNvcGllcyBvciBzdWJzdGFudGlhbCBwb3J0aW9ucyBvZiB0aGUgU29mdHdhcmUuXG4vL1xuLy8gVEhFIFNPRlRXQVJFIElTIFBST1ZJREVEIFwiQVMgSVNcIiwgV0lUSE9VVCBXQVJSQU5UWSBPRiBBTlkgS0lORCwgRVhQUkVTUyBPUlxuLy8gSU1QTElFRCwgSU5DTFVESU5HIEJVVCBOT1QgTElNSVRFRCBUTyBUSEUgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFksXG4vLyBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBTkQgTk9OSU5GUklOR0VNRU5ULiBJTiBOTyBFVkVOVCBTSEFMTCBUSEVcbi8vIEFVVEhPUlMgT1IgQ09QWVJJR0hUIEhPTERFUlMgQkUgTElBQkxFIEZPUiBBTlkgQ0xBSU0sIERBTUFHRVMgT1IgT1RIRVJcbi8vIExJQUJJTElUWSwgV0hFVEhFUiBJTiBBTiBBQ1RJT04gT0YgQ09OVFJBQ1QsIFRPUlQgT1IgT1RIRVJXSVNFLCBBUklTSU5HIEZST00sXG4vLyBPVVQgT0YgT1IgSU4gQ09OTkVDVElPTiBXSVRIIFRIRSBTT0ZUV0FSRSBPUiBUSEUgVVNFIE9SIE9USEVSIERFQUxJTkdTIElOXG4vLyBUSEUgU09GVFdBUkUuXG4vL1xuXG5AdXNlIFwic2FzczptYXBcIjtcbkB1c2UgXCJAbWF0ZXJpYWwvZmVhdHVyZS10YXJnZXRpbmcvZnVuY3Rpb25zXCIgYXMgZmVhdHVyZS10YXJnZXRpbmctZnVuY3Rpb25zO1xuQHVzZSBcIkBtYXRlcmlhbC9mZWF0dXJlLXRhcmdldGluZy9taXhpbnNcIjtcbkB1c2UgXCIuL3ZhcmlhYmxlc1wiO1xuQHVzZSBcIi4vZnVuY3Rpb25zXCI7XG5cbkBtaXhpbiBjb3JlLXN0eWxlcygkcXVlcnk6IGZlYXR1cmUtdGFyZ2V0aW5nLWZ1bmN0aW9ucy5hbGwoKSkge1xuICAkZmVhdC1jb2xvcjogZmVhdHVyZS10YXJnZXRpbmctZnVuY3Rpb25zLmNyZWF0ZS10YXJnZXQoJHF1ZXJ5LCBjb2xvcik7XG5cbiAgOnJvb3Qge1xuICAgIEBpbmNsdWRlIG1peGlucy50YXJnZXRzKCRmZWF0LWNvbG9yKSB7XG4gICAgICBAZWFjaCAkc3R5bGUgaW4gbWFwLmtleXModmFyaWFibGVzLiRwcm9wZXJ0eS12YWx1ZXMpIHtcbiAgICAgICAgLS1tZGMtdGhlbWUtI3skc3R5bGV9OiAje21hcC5nZXQodmFyaWFibGVzLiRwcm9wZXJ0eS12YWx1ZXMsICRzdHlsZSl9O1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIEBlYWNoICRzdHlsZSBpbiBtYXAua2V5cyh2YXJpYWJsZXMuJHByb3BlcnR5LXZhbHVlcykge1xuICAgIEBpZiAkc3R5bGUgIT0gXCJiYWNrZ3JvdW5kXCIgYW5kICRzdHlsZSAhPSBcInN1cmZhY2VcIiB7XG4gICAgICAubWRjLXRoZW1lLS0jeyRzdHlsZX0ge1xuICAgICAgICBAaW5jbHVkZSBtaXhpbnMudGFyZ2V0cygkZmVhdC1jb2xvcikge1xuICAgICAgICAgIEBpbmNsdWRlIHByb3AoY29sb3IsICRzdHlsZSwgdHJ1ZSk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9IEBlbHNlIHtcbiAgICAgIC5tZGMtdGhlbWUtLSN7JHN0eWxlfSB7XG4gICAgICAgIEBpbmNsdWRlIG1peGlucy50YXJnZXRzKCRmZWF0LWNvbG9yKSB7XG4gICAgICAgICAgQGluY2x1ZGUgcHJvcChiYWNrZ3JvdW5kLWNvbG9yLCAkc3R5bGUpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLy8gQ1NTIHJ1bGVzIGZvciB1c2luZyBwcmltYXJ5IGFuZCBzZWNvbmRhcnkgKHBsdXMgbGlnaHQvZGFyayB2YXJpYW50cykgYXMgYmFja2dyb3VuZCBjb2xvcnMuXG4gIEBlYWNoICRzdHlsZSBpbiAoXCJwcmltYXJ5XCIsIFwic2Vjb25kYXJ5XCIpIHtcbiAgICAubWRjLXRoZW1lLS0jeyRzdHlsZX0tYmcge1xuICAgICAgQGluY2x1ZGUgbWl4aW5zLnRhcmdldHMoJGZlYXQtY29sb3IpIHtcbiAgICAgICAgQGluY2x1ZGUgcHJvcChiYWNrZ3JvdW5kLWNvbG9yLCAkc3R5bGUsIHRydWUpO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG4vLyBBcHBsaWVzIHRoZSBjb3JyZWN0IHRoZW1lIGNvbG9yIHN0eWxlIHRvIHRoZSBzcGVjaWZpZWQgcHJvcGVydHkuXG4vLyAkcHJvcGVydHkgaXMgdHlwaWNhbGx5IGNvbG9yIG9yIGJhY2tncm91bmQtY29sb3IsIGJ1dCBjYW4gYmUgYW55IENTUyBwcm9wZXJ0eSB0aGF0IGFjY2VwdHMgY29sb3IgdmFsdWVzLlxuLy8gJHN0eWxlIHNob3VsZCBiZSBvbmUgb2YgdGhlIG1hcCBrZXlzIGluICRtZGMtdGhlbWUtcHJvcGVydHktdmFsdWVzIChfdmFyaWFibGVzLnNjc3MpLCBvciBhIGNvbG9yIHZhbHVlLlxuQG1peGluIHByb3AoJHByb3BlcnR5LCAkc3R5bGUsICRpbXBvcnRhbnQ6IGZhbHNlKSB7XG4gICRpbXBvcnRhbnQtcnVsZTogaWYoJGltcG9ydGFudCwgXCIhaW1wb3J0YW50XCIsIFwiXCIpO1xuXG4gIEBpZiBmdW5jdGlvbnMuaXMtdmFyLXdpdGgtZmFsbGJhY2tfKCRzdHlsZSkge1xuICAgICN7JHByb3BlcnR5fTogZnVuY3Rpb25zLmdldC12YXItZmFsbGJhY2tfKCRzdHlsZSkgI3skaW1wb3J0YW50LXJ1bGV9O1xuICAgIC8qIEBhbHRlcm5hdGUgKi9cbiAgICAjeyRwcm9wZXJ0eX06IGZ1bmN0aW9ucy52YXJfKCRzdHlsZSkgI3skaW1wb3J0YW50LXJ1bGV9O1xuICB9IEBlbHNlIGlmIHZhcmlhYmxlcy5pcy12YWxpZC10aGVtZS1wcm9wLXZhbHVlXygkc3R5bGUpIHtcbiAgICAjeyRwcm9wZXJ0eX06ICRzdHlsZSAjeyRpbXBvcnRhbnQtcnVsZX07XG4gIH0gQGVsc2Uge1xuICAgIEBpZiBub3QgbWFwLmhhcy1rZXkodmFyaWFibGVzLiRwcm9wZXJ0eS12YWx1ZXMsICRzdHlsZSkge1xuICAgICAgQGVycm9yIFwiSW52YWxpZCBzdHlsZTogJyN7JHN0eWxlfScuIENob29zZSBvbmUgb2Y6ICN7bWFwLmtleXModmFyaWFibGVzLiRwcm9wZXJ0eS12YWx1ZXMpfVwiO1xuICAgIH1cbiAgICAkdmFsdWU6IG1hcC5nZXQodmFyaWFibGVzLiRwcm9wZXJ0eS12YWx1ZXMsICRzdHlsZSk7XG5cbiAgICAjeyRwcm9wZXJ0eX06ICR2YWx1ZSAjeyRpbXBvcnRhbnQtcnVsZX07XG4gICAgLyogQGFsdGVybmF0ZSAqL1xuICAgICN7JHByb3BlcnR5fTogdmFyKC0tbWRjLXRoZW1lLSN7JHN0eWxlfSwgJHZhbHVlKSAjeyRpbXBvcnRhbnQtcnVsZX07XG4gIH1cbn1cbiIsIi8vXG4vLyBDb3B5cmlnaHQgMjAxNiBHb29nbGUgSW5jLlxuLy9cbi8vIFBlcm1pc3Npb24gaXMgaGVyZWJ5IGdyYW50ZWQsIGZyZWUgb2YgY2hhcmdlLCB0byBhbnkgcGVyc29uIG9idGFpbmluZyBhIGNvcHlcbi8vIG9mIHRoaXMgc29mdHdhcmUgYW5kIGFzc29jaWF0ZWQgZG9jdW1lbnRhdGlvbiBmaWxlcyAodGhlIFwiU29mdHdhcmVcIiksIHRvIGRlYWxcbi8vIGluIHRoZSBTb2Z0d2FyZSB3aXRob3V0IHJlc3RyaWN0aW9uLCBpbmNsdWRpbmcgd2l0aG91dCBsaW1pdGF0aW9uIHRoZSByaWdodHNcbi8vIHRvIHVzZSwgY29weSwgbW9kaWZ5LCBtZXJnZSwgcHVibGlzaCwgZGlzdHJpYnV0ZSwgc3VibGljZW5zZSwgYW5kL29yIHNlbGxcbi8vIGNvcGllcyBvZiB0aGUgU29mdHdhcmUsIGFuZCB0byBwZXJtaXQgcGVyc29ucyB0byB3aG9tIHRoZSBTb2Z0d2FyZSBpc1xuLy8gZnVybmlzaGVkIHRvIGRvIHNvLCBzdWJqZWN0IHRvIHRoZSBmb2xsb3dpbmcgY29uZGl0aW9uczpcbi8vXG4vLyBUaGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSBhbmQgdGhpcyBwZXJtaXNzaW9uIG5vdGljZSBzaGFsbCBiZSBpbmNsdWRlZCBpblxuLy8gYWxsIGNvcGllcyBvciBzdWJzdGFudGlhbCBwb3J0aW9ucyBvZiB0aGUgU29mdHdhcmUuXG4vL1xuLy8gVEhFIFNPRlRXQVJFIElTIFBST1ZJREVEIFwiQVMgSVNcIiwgV0lUSE9VVCBXQVJSQU5UWSBPRiBBTlkgS0lORCwgRVhQUkVTUyBPUlxuLy8gSU1QTElFRCwgSU5DTFVESU5HIEJVVCBOT1QgTElNSVRFRCBUTyBUSEUgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFksXG4vLyBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBTkQgTk9OSU5GUklOR0VNRU5ULiBJTiBOTyBFVkVOVCBTSEFMTCBUSEVcbi8vIEFVVEhPUlMgT1IgQ09QWVJJR0hUIEhPTERFUlMgQkUgTElBQkxFIEZPUiBBTlkgQ0xBSU0sIERBTUFHRVMgT1IgT1RIRVJcbi8vIExJQUJJTElUWSwgV0hFVEhFUiBJTiBBTiBBQ1RJT04gT0YgQ09OVFJBQ1QsIFRPUlQgT1IgT1RIRVJXSVNFLCBBUklTSU5HIEZST00sXG4vLyBPVVQgT0YgT1IgSU4gQ09OTkVDVElPTiBXSVRIIFRIRSBTT0ZUV0FSRSBPUiBUSEUgVVNFIE9SIE9USEVSIERFQUxJTkdTIElOXG4vLyBUSEUgU09GVFdBUkUuXG4vL1xuXG5AdXNlIFwic2Fzczpjb2xvclwiO1xuQHVzZSBcInNhc3M6bWFwXCI7XG5AdXNlIFwiQG1hdGVyaWFsL2FuaW1hdGlvbi9mdW5jdGlvbnNcIiBhcyBmdW5jdGlvbnMyO1xuQHVzZSBcIkBtYXRlcmlhbC9hbmltYXRpb24vdmFyaWFibGVzXCIgYXMgdmFyaWFibGVzMjtcbkB1c2UgXCJAbWF0ZXJpYWwvYmFzZS9taXhpbnNcIiBhcyBiYXNlLW1peGlucztcbkB1c2UgXCJAbWF0ZXJpYWwvZmVhdHVyZS10YXJnZXRpbmcvZnVuY3Rpb25zXCIgYXMgZmVhdHVyZS10YXJnZXRpbmctZnVuY3Rpb25zO1xuQHVzZSBcIkBtYXRlcmlhbC9mZWF0dXJlLXRhcmdldGluZy9taXhpbnNcIiBhcyBmZWF0dXJlLXRhcmdldGluZy1taXhpbnM7XG5AdXNlIFwiQG1hdGVyaWFsL3RoZW1lL21peGluc1wiIGFzIHRoZW1lLW1peGlucztcbkB1c2UgXCIuL2Z1bmN0aW9uc1wiO1xuQHVzZSBcIi4va2V5ZnJhbWVzXCI7XG5AdXNlIFwiLi92YXJpYWJsZXNcIjtcbkB1c2UgXCJAbWF0ZXJpYWwvdGhlbWUvdmFyaWFibGVzXCIgYXMgdGhlbWUtdmFyaWFibGVzO1xuXG5AbWl4aW4gY29yZS1zdHlsZXMoJHF1ZXJ5OiBmZWF0dXJlLXRhcmdldGluZy1mdW5jdGlvbnMuYWxsKCkpIHtcbiAgLy8gcG9zdGNzcy1iZW0tbGludGVyOiBkZWZpbmUgcmlwcGxlLXN1cmZhY2VcblxuICAkZmVhdC1zdHJ1Y3R1cmU6IGZlYXR1cmUtdGFyZ2V0aW5nLWZ1bmN0aW9ucy5jcmVhdGUtdGFyZ2V0KCRxdWVyeSwgc3RydWN0dXJlKTtcblxuICAubWRjLXJpcHBsZS1zdXJmYWNlIHtcbiAgICBAaW5jbHVkZSBzdXJmYWNlKCRxdWVyeTogJHF1ZXJ5KTtcbiAgICBAaW5jbHVkZSBzdGF0ZXMoJHF1ZXJ5OiAkcXVlcnkpO1xuICAgIEBpbmNsdWRlIHJhZGl1cy1ib3VuZGVkKCRxdWVyeTogJHF1ZXJ5KTtcblxuICAgIEBpbmNsdWRlIGZlYXR1cmUtdGFyZ2V0aW5nLW1peGlucy50YXJnZXRzKCRmZWF0LXN0cnVjdHVyZSkge1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgb3V0bGluZTogbm9uZTtcbiAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgfVxuXG4gICAgJltkYXRhLW1kYy1yaXBwbGUtaXMtdW5ib3VuZGVkXSB7XG4gICAgICBAaW5jbHVkZSByYWRpdXMtdW5ib3VuZGVkKCRxdWVyeTogJHF1ZXJ5KTtcblxuICAgICAgQGluY2x1ZGUgZmVhdHVyZS10YXJnZXRpbmctbWl4aW5zLnRhcmdldHMoJGZlYXQtc3RydWN0dXJlKSB7XG4gICAgICAgIG92ZXJmbG93OiB2aXNpYmxlO1xuICAgICAgfVxuICAgIH1cblxuICAgICYtLXByaW1hcnkge1xuICAgICAgQGluY2x1ZGUgc3RhdGVzKHByaW1hcnksICRxdWVyeTogJHF1ZXJ5KTtcbiAgICB9XG5cbiAgICAmLS1hY2NlbnQge1xuICAgICAgQGluY2x1ZGUgc3RhdGVzKHNlY29uZGFyeSwgJHF1ZXJ5OiAkcXVlcnkpO1xuICAgIH1cbiAgfVxuXG4gIC8vIHBvc3Rjc3MtYmVtLWxpbnRlcjogZW5kXG59XG5cbkBtaXhpbiBjb21tb24oJHF1ZXJ5OiBmZWF0dXJlLXRhcmdldGluZy1mdW5jdGlvbnMuYWxsKCkpIHtcbiAgJGZlYXQtYW5pbWF0aW9uOiBmZWF0dXJlLXRhcmdldGluZy1mdW5jdGlvbnMuY3JlYXRlLXRhcmdldCgkcXVlcnksIGFuaW1hdGlvbik7XG5cbiAgLy8gRW5zdXJlIHRoYXQgc3R5bGVzIG5lZWRlZCBieSBhbnkgY29tcG9uZW50IHVzaW5nIE1EQyBSaXBwbGUgYXJlIGVtaXR0ZWQsIGJ1dCBvbmx5IG9uY2UuXG4gIC8vIChFdmVyeSBjb21wb25lbnQgdXNpbmcgTURDIFJpcHBsZSBpbXBvcnRzIHRoZXNlIG1peGlucywgYnV0IGRvZXNuJ3QgbmVjZXNzYXJpbHkgaW1wb3J0XG4gIC8vIG1kYy1yaXBwbGUuc2Nzcy4pXG4gIEBpbmNsdWRlIGZlYXR1cmUtdGFyZ2V0aW5nLW1peGlucy50YXJnZXRzKCRmZWF0LWFuaW1hdGlvbikge1xuICAgIEBpbmNsdWRlIGJhc2UtbWl4aW5zLmVtaXQtb25jZShcIm1kYy1yaXBwbGUvY29tbW9uL2FuaW1hdGlvblwiKSB7XG4gICAgICBAaW5jbHVkZSBrZXlmcmFtZXMua2V5ZnJhbWVzXztcbiAgICB9XG4gIH1cbn1cblxuQG1peGluIHN1cmZhY2UoJHF1ZXJ5OiBmZWF0dXJlLXRhcmdldGluZy1mdW5jdGlvbnMuYWxsKCksICRyaXBwbGUtdGFyZ2V0OiBcIiZcIikge1xuICAkZmVhdC1hbmltYXRpb246IGZlYXR1cmUtdGFyZ2V0aW5nLWZ1bmN0aW9ucy5jcmVhdGUtdGFyZ2V0KCRxdWVyeSwgYW5pbWF0aW9uKTtcbiAgJGZlYXQtc3RydWN0dXJlOiBmZWF0dXJlLXRhcmdldGluZy1mdW5jdGlvbnMuY3JlYXRlLXRhcmdldCgkcXVlcnksIHN0cnVjdHVyZSk7XG5cbiAgQGluY2x1ZGUgZmVhdHVyZS10YXJnZXRpbmctbWl4aW5zLnRhcmdldHMoJGZlYXQtc3RydWN0dXJlKSB7XG4gICAgLS1tZGMtcmlwcGxlLWZnLXNpemU6IDA7XG4gICAgLS1tZGMtcmlwcGxlLWxlZnQ6IDA7XG4gICAgLS1tZGMtcmlwcGxlLXRvcDogMDtcbiAgICAtLW1kYy1yaXBwbGUtZmctc2NhbGU6IDE7XG4gICAgLS1tZGMtcmlwcGxlLWZnLXRyYW5zbGF0ZS1lbmQ6IDA7XG4gICAgLS1tZGMtcmlwcGxlLWZnLXRyYW5zbGF0ZS1zdGFydDogMDtcblxuICAgIC13ZWJraXQtdGFwLWhpZ2hsaWdodC1jb2xvcjogcmdiYSgwLCAwLCAwLCAwKTtcbiAgICAvLyAhIURPIE5PVCBSRU1PVkUhISBtZGMtcmlwcGxlLXdpbGwtY2hhbmdlLXJlcGxhY2VyXG4gIH1cblxuICAjeyRyaXBwbGUtdGFyZ2V0fTo6YmVmb3JlLFxuICAjeyRyaXBwbGUtdGFyZ2V0fTo6YWZ0ZXIge1xuICAgIEBpbmNsdWRlIGZlYXR1cmUtdGFyZ2V0aW5nLW1peGlucy50YXJnZXRzKCRmZWF0LXN0cnVjdHVyZSkge1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgYm9yZGVyLXJhZGl1czogNTAlO1xuICAgICAgb3BhY2l0eTogMDtcbiAgICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICAgICAgY29udGVudDogXCJcIjtcbiAgICB9XG4gIH1cblxuICAjeyRyaXBwbGUtdGFyZ2V0fTo6YmVmb3JlIHtcbiAgICBAaW5jbHVkZSBmZWF0dXJlLXRhcmdldGluZy1taXhpbnMudGFyZ2V0cygkZmVhdC1hbmltYXRpb24pIHtcbiAgICAgIC8vIEFsc28gdHJhbnNpdGlvbiBiYWNrZ3JvdW5kLWNvbG9yIHRvIGF2b2lkIHVubmF0dXJhbCBjb2xvciBmbGFzaGVzIHdoZW4gdG9nZ2xpbmcgYWN0aXZhdGVkL3NlbGVjdGVkIHN0YXRlXG4gICAgICB0cmFuc2l0aW9uOlxuICAgICAgICBvcGFjaXR5IHZhcmlhYmxlcy4kc3RhdGVzLXdhc2gtZHVyYXRpb24gbGluZWFyLFxuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yIHZhcmlhYmxlcy4kc3RhdGVzLXdhc2gtZHVyYXRpb24gbGluZWFyO1xuICAgIH1cblxuICAgIEBpbmNsdWRlIGZlYXR1cmUtdGFyZ2V0aW5nLW1peGlucy50YXJnZXRzKCRmZWF0LXN0cnVjdHVyZSkge1xuICAgICAgei1pbmRleDogMTsgLy8gRW5zdXJlIHRoYXQgdGhlIHJpcHBsZSB3YXNoIGZvciBob3Zlci9mb2N1cyBzdGF0ZXMgaXMgZGlzcGxheWVkIG9uIHRvcCBvZiBwb3NpdGlvbmVkIGNoaWxkIGVsZW1lbnRzXG4gICAgfVxuICB9XG5cbiAgLy8gQ29tbW9uIHN0eWxlcyBmb3IgdXBncmFkZWQgc3VyZmFjZXMgKHNvbWUgb2YgdGhlc2UgZGVwZW5kIG9uIGN1c3RvbSBwcm9wZXJ0aWVzIHNldCB2aWEgSlMgb3Igb3RoZXIgbWl4aW5zKVxuXG4gICYubWRjLXJpcHBsZS11cGdyYWRlZCB7XG4gICAgI3skcmlwcGxlLXRhcmdldH06OmJlZm9yZSB7XG4gICAgICBAaW5jbHVkZSBmZWF0dXJlLXRhcmdldGluZy1taXhpbnMudGFyZ2V0cygkZmVhdC1zdHJ1Y3R1cmUpIHtcbiAgICAgICAgdHJhbnNmb3JtOiBzY2FsZSh2YXIoLS1tZGMtcmlwcGxlLWZnLXNjYWxlLCAxKSk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgI3skcmlwcGxlLXRhcmdldH06OmFmdGVyIHtcbiAgICAgIEBpbmNsdWRlIGZlYXR1cmUtdGFyZ2V0aW5nLW1peGlucy50YXJnZXRzKCRmZWF0LXN0cnVjdHVyZSkge1xuICAgICAgICB0b3A6IDA7XG4gICAgICAgIC8qIEBub2ZsaXAgKi9cbiAgICAgICAgbGVmdDogMDtcbiAgICAgICAgdHJhbnNmb3JtOiBzY2FsZSgwKTtcbiAgICAgICAgdHJhbnNmb3JtLW9yaWdpbjogY2VudGVyIGNlbnRlcjtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAmLm1kYy1yaXBwbGUtdXBncmFkZWQtLXVuYm91bmRlZCB7XG4gICAgI3skcmlwcGxlLXRhcmdldH06OmFmdGVyIHtcbiAgICAgIEBpbmNsdWRlIGZlYXR1cmUtdGFyZ2V0aW5nLW1peGlucy50YXJnZXRzKCRmZWF0LXN0cnVjdHVyZSkge1xuICAgICAgICB0b3A6IHZhcigtLW1kYy1yaXBwbGUtdG9wLCAwKTtcbiAgICAgICAgLyogQG5vZmxpcCAqL1xuICAgICAgICBsZWZ0OiB2YXIoLS1tZGMtcmlwcGxlLWxlZnQsIDApO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gICYubWRjLXJpcHBsZS11cGdyYWRlZC0tZm9yZWdyb3VuZC1hY3RpdmF0aW9uIHtcbiAgICAjeyRyaXBwbGUtdGFyZ2V0fTo6YWZ0ZXIge1xuICAgICAgQGluY2x1ZGUgZmVhdHVyZS10YXJnZXRpbmctbWl4aW5zLnRhcmdldHMoJGZlYXQtYW5pbWF0aW9uKSB7XG4gICAgICAgIGFuaW1hdGlvbjpcbiAgICAgICAgICBtZGMtcmlwcGxlLWZnLXJhZGl1cy1pbiB2YXJpYWJsZXMuJHRyYW5zbGF0ZS1kdXJhdGlvbiBmb3J3YXJkcyxcbiAgICAgICAgICBtZGMtcmlwcGxlLWZnLW9wYWNpdHktaW4gdmFyaWFibGVzLiRmYWRlLWluLWR1cmF0aW9uIGZvcndhcmRzO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gICYubWRjLXJpcHBsZS11cGdyYWRlZC0tZm9yZWdyb3VuZC1kZWFjdGl2YXRpb24ge1xuICAgICN7JHJpcHBsZS10YXJnZXR9OjphZnRlciB7XG4gICAgICBAaW5jbHVkZSBmZWF0dXJlLXRhcmdldGluZy1taXhpbnMudGFyZ2V0cygkZmVhdC1hbmltYXRpb24pIHtcbiAgICAgICAgYW5pbWF0aW9uOiBtZGMtcmlwcGxlLWZnLW9wYWNpdHktb3V0IHZhcmlhYmxlcy4kZmFkZS1vdXQtZHVyYXRpb247XG4gICAgICB9XG5cbiAgICAgIEBpbmNsdWRlIGZlYXR1cmUtdGFyZ2V0aW5nLW1peGlucy50YXJnZXRzKCRmZWF0LXN0cnVjdHVyZSkge1xuICAgICAgICAvLyBSZXRhaW4gdHJhbnNmb3JtIGZyb20gbWRjLXJpcHBsZS1mZy1yYWRpdXMtaW4gYWN0aXZhdGlvblxuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSh2YXIoLS1tZGMtcmlwcGxlLWZnLXRyYW5zbGF0ZS1lbmQsIDApKSBzY2FsZSh2YXIoLS1tZGMtcmlwcGxlLWZnLXNjYWxlLCAxKSk7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbkBtaXhpbiBzdGF0ZXMtYmFzZS1jb2xvcihcbiAgJGNvbG9yLCAkcXVlcnk6IGZlYXR1cmUtdGFyZ2V0aW5nLWZ1bmN0aW9ucy5hbGwoKSwgJHJpcHBsZS10YXJnZXQ6IFwiJlwiKSB7XG4gICRmZWF0LWNvbG9yOiBmZWF0dXJlLXRhcmdldGluZy1mdW5jdGlvbnMuY3JlYXRlLXRhcmdldCgkcXVlcnksIGNvbG9yKTtcblxuICAjeyRyaXBwbGUtdGFyZ2V0fTo6YmVmb3JlLFxuICAjeyRyaXBwbGUtdGFyZ2V0fTo6YWZ0ZXIge1xuICAgIEBpbmNsdWRlIGZlYXR1cmUtdGFyZ2V0aW5nLW1peGlucy50YXJnZXRzKCRmZWF0LWNvbG9yKSB7XG4gICAgICBAaWYgY29sb3IuYWxwaGEodGhlbWUtdmFyaWFibGVzLnByb3AtdmFsdWUoJGNvbG9yKSkgPiAwIHtcbiAgICAgICAgQGluY2x1ZGUgdGhlbWUtbWl4aW5zLnByb3AoYmFja2dyb3VuZC1jb2xvciwgJGNvbG9yKTtcbiAgICAgIH0gQGVsc2Uge1xuICAgICAgICAvLyBJZiBhIGNvbG9yIHdpdGggMCBhbHBoYSBpcyBzcGVjaWZpZWQsIGRvbid0IHJlbmRlciB0aGUgcmlwcGxlIHBzZXVkby1lbGVtZW50cyBhdCBhbGwuXG4gICAgICAgIC8vIFRoaXMgYXZvaWRzIHVubmVjZXNzYXJ5IHRyYW5zaXRpb25zIGFuZCBvdmVyZmxvdy5cbiAgICAgICAgY29udGVudDogbm9uZTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuLy8vXG4vLy8gQ3VzdG9taXplcyByaXBwbGUgb3BhY2l0aWVzIGluIGBob3ZlcmAsIGBmb2N1c2AsIG9yIGBwcmVzc2Agc3RhdGVzXG4vLy8gQHBhcmFtIHttYXB9ICRvcGFjaXR5LW1hcCAtIG1hcCBzcGVjaWZ5aW5nIGN1c3RvbSBvcGFjaXR5IG9mIHplcm8gb3IgbW9yZSBzdGF0ZXNcbi8vLyBAcGFyYW0ge2Jvb2x9ICRoYXMtbmVzdGVkLWZvY3VzYWJsZS1lbGVtZW50IC0gd2hldGhlciB0aGUgY29tcG9uZW50IGNvbnRhaW5zIGEgZm9jdXNhYmxlIGVsZW1lbnQgaW4gdGhlIHJvb3Rcbi8vLyBAcGFyYW0ge3N0cmluZ30gJHJpcHBsZS10YXJnZXQgLSB0aGUgb3B0aW9uYWwgc2VsZWN0b3IgZm9yIHRoZSByaXBwbGUgZWxlbWVudFxuLy8vXG5AbWl4aW4gc3RhdGVzLW9wYWNpdGllcygkb3BhY2l0eS1tYXA6ICgpLCAkaGFzLW5lc3RlZC1mb2N1c2FibGUtZWxlbWVudDogZmFsc2UsICRyaXBwbGUtdGFyZ2V0OiBcIiZcIiwgJHF1ZXJ5OiBmZWF0dXJlLXRhcmdldGluZy1mdW5jdGlvbnMuYWxsKCkpIHtcbiAgLy8gRW5zdXJlIHN1ZmZpY2llbnQgc3BlY2lmaWNpdHkgdG8gb3ZlcnJpZGUgYmFzZSBzdGF0ZSBvcGFjaXRpZXNcbiAgQGlmIG1hcC5oYXMta2V5KCRvcGFjaXR5LW1hcCwgaG92ZXIpIHtcbiAgICBAaW5jbHVkZSBzdGF0ZXMtaG92ZXItb3BhY2l0eShtYXAuZ2V0KCRvcGFjaXR5LW1hcCwgaG92ZXIpLCAkcmlwcGxlLXRhcmdldDogJHJpcHBsZS10YXJnZXQsICRxdWVyeTogJHF1ZXJ5KTtcbiAgfVxuXG4gIEBpZiBtYXAuaGFzLWtleSgkb3BhY2l0eS1tYXAsIGZvY3VzKSB7XG4gICAgQGluY2x1ZGUgc3RhdGVzLWZvY3VzLW9wYWNpdHkobWFwLmdldCgkb3BhY2l0eS1tYXAsIGZvY3VzKSwgJHJpcHBsZS10YXJnZXQ6ICRyaXBwbGUtdGFyZ2V0LCAkaGFzLW5lc3RlZC1mb2N1c2FibGUtZWxlbWVudDogJGhhcy1uZXN0ZWQtZm9jdXNhYmxlLWVsZW1lbnQsICRxdWVyeTogJHF1ZXJ5KTtcbiAgfVxuXG4gIEBpZiBtYXAuaGFzLWtleSgkb3BhY2l0eS1tYXAsIHByZXNzKSB7XG4gICAgQGluY2x1ZGUgc3RhdGVzLXByZXNzLW9wYWNpdHkobWFwLmdldCgkb3BhY2l0eS1tYXAsIHByZXNzKSwgJHJpcHBsZS10YXJnZXQ6ICRyaXBwbGUtdGFyZ2V0LCAkcXVlcnk6ICRxdWVyeSk7XG4gIH1cbn1cblxuQG1peGluIHN0YXRlcy1ob3Zlci1vcGFjaXR5KFxuICAkb3BhY2l0eSwgJHF1ZXJ5OiBmZWF0dXJlLXRhcmdldGluZy1mdW5jdGlvbnMuYWxsKCksICRyaXBwbGUtdGFyZ2V0OiBcIiZcIikge1xuICAkZmVhdC1jb2xvcjogZmVhdHVyZS10YXJnZXRpbmctZnVuY3Rpb25zLmNyZWF0ZS10YXJnZXQoJHF1ZXJ5LCBjb2xvcik7XG5cbiAgLy8gQmFja2dyb3VuZCB3YXNoIHN0eWxlcywgZm9yIGJvdGggQ1NTLW9ubHkgYW5kIHVwZ3JhZGVkIHN0YXRlZnVsIHN1cmZhY2VzXG4gICY6aG92ZXIge1xuICAgICN7JHJpcHBsZS10YXJnZXR9OjpiZWZvcmUge1xuICAgICAgLy8gT3BhY2l0eSBmYWxscyB1bmRlciBjb2xvciBiZWNhdXNlIHRoZSBjaG9zZW4gb3BhY2l0eSBpcyBjb2xvci1kZXBlbmRlbnQgaW4gdHlwaWNhbCB1c2FnZVxuICAgICAgQGluY2x1ZGUgZmVhdHVyZS10YXJnZXRpbmctbWl4aW5zLnRhcmdldHMoJGZlYXQtY29sb3IpIHtcbiAgICAgICAgb3BhY2l0eTogJG9wYWNpdHk7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbkBtaXhpbiBzdGF0ZXMtZm9jdXMtb3BhY2l0eShcbiAgJG9wYWNpdHksXG4gICRoYXMtbmVzdGVkLWZvY3VzYWJsZS1lbGVtZW50OiBmYWxzZSxcbiAgJHF1ZXJ5OiBmZWF0dXJlLXRhcmdldGluZy1mdW5jdGlvbnMuYWxsKCksXG4gICRyaXBwbGUtdGFyZ2V0OiBcIiZcIikge1xuXG4gIC8vIEZvY3VzIG92ZXJyaWRlcyBob3ZlciBieSByZXVzaW5nIHRoZSA6OmJlZm9yZSBwc2V1ZG8tZWxlbWVudC5cbiAgLy8gOmZvY3VzLXdpdGhpbiBnZW5lcmFsbHkgd29ya3Mgb24gbm9uLU1TIGJyb3dzZXJzIGFuZCBtYXRjaGVzIHdoZW4gYSAqY2hpbGQqIG9mIHRoZSBlbGVtZW50IGhhcyBmb2N1cy5cbiAgLy8gSXQgaXMgdXNlZnVsIGZvciBjYXNlcyB3aGVyZSBhIGNvbXBvbmVudCBoYXMgYSBmb2N1c2FibGUgZWxlbWVudCB3aXRoaW4gdGhlIHJvb3Qgbm9kZSwgZS5nLiB0ZXh0IGZpZWxkLFxuICAvLyBidXQgdW5kZXNpcmFibGUgaW4gZ2VuZXJhbCBpbiBjYXNlIG9mIG5lc3RlZCBzdGF0ZWZ1bCBjb21wb25lbnRzLlxuICAvLyBXZSB1c2UgYSBtb2RpZmllciBjbGFzcyBmb3IgSlMtZW5hYmxlZCBzdXJmYWNlcyB0byBzdXBwb3J0IGFsbCB1c2UgY2FzZXMgaW4gYWxsIGJyb3dzZXJzLlxuICBAaWYgJGhhcy1uZXN0ZWQtZm9jdXNhYmxlLWVsZW1lbnQge1xuICAgIC8vIEpTLWVuYWJsZWQgc2VsZWN0b3JzLlxuICAgICYubWRjLXJpcHBsZS11cGdyYWRlZC0tYmFja2dyb3VuZC1mb2N1c2VkLFxuICAgICYubWRjLXJpcHBsZS11cGdyYWRlZDpmb2N1cy13aXRoaW4sXG4gICAgLy8gQ1NTLW9ubHkgc2VsZWN0b3JzLlxuICAgICY6bm90KC5tZGMtcmlwcGxlLXVwZ3JhZGVkKTpmb2N1cyxcbiAgICAmOm5vdCgubWRjLXJpcHBsZS11cGdyYWRlZCk6Zm9jdXMtd2l0aGluIHtcbiAgICAgICN7JHJpcHBsZS10YXJnZXR9OjpiZWZvcmUge1xuICAgICAgICBAaW5jbHVkZSBzdGF0ZXMtZm9jdXMtb3BhY2l0eS1wcm9wZXJ0aWVzXyhcbiAgICAgICAgICAkb3BhY2l0eTogJG9wYWNpdHksICRxdWVyeTogJHF1ZXJ5KTtcbiAgICAgIH1cbiAgICB9XG4gIH0gQGVsc2Uge1xuICAgIC8vIEpTLWVuYWJsZWQgc2VsZWN0b3JzLlxuICAgICYubWRjLXJpcHBsZS11cGdyYWRlZC0tYmFja2dyb3VuZC1mb2N1c2VkLFxuICAgIC8vIENTUy1vbmx5IHNlbGVjdG9ycy5cbiAgICAmOm5vdCgubWRjLXJpcHBsZS11cGdyYWRlZCk6Zm9jdXMge1xuICAgICAgI3skcmlwcGxlLXRhcmdldH06OmJlZm9yZSB7XG4gICAgICAgIEBpbmNsdWRlIHN0YXRlcy1mb2N1cy1vcGFjaXR5LXByb3BlcnRpZXNfKFxuICAgICAgICAgICRvcGFjaXR5OiAkb3BhY2l0eSwgJHF1ZXJ5OiAkcXVlcnkpO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG5AbWl4aW4gc3RhdGVzLWZvY3VzLW9wYWNpdHktcHJvcGVydGllc18oJG9wYWNpdHksICRxdWVyeSkge1xuICAkZmVhdC1hbmltYXRpb246IGZlYXR1cmUtdGFyZ2V0aW5nLWZ1bmN0aW9ucy5jcmVhdGUtdGFyZ2V0KCRxdWVyeSwgYW5pbWF0aW9uKTtcbiAgLy8gT3BhY2l0eSBmYWxscyB1bmRlciBjb2xvciBiZWNhdXNlIHRoZSBjaG9zZW4gb3BhY2l0eSBpcyBjb2xvci1kZXBlbmRlbnQgaW4gdHlwaWNhbCB1c2FnZVxuICAkZmVhdC1jb2xvcjogZmVhdHVyZS10YXJnZXRpbmctZnVuY3Rpb25zLmNyZWF0ZS10YXJnZXQoJHF1ZXJ5LCBjb2xvcik7XG5cbiAgLy8gTm90ZSB0aGF0IHRoaXMgZHVyYXRpb24gaXMgb25seSBlZmZlY3RpdmUgb24gZm9jdXMsIG5vdCBibHVyXG4gIEBpbmNsdWRlIGZlYXR1cmUtdGFyZ2V0aW5nLW1peGlucy50YXJnZXRzKCRmZWF0LWFuaW1hdGlvbikge1xuICAgIHRyYW5zaXRpb24tZHVyYXRpb246IDc1bXM7XG4gIH1cblxuICBAaW5jbHVkZSBmZWF0dXJlLXRhcmdldGluZy1taXhpbnMudGFyZ2V0cygkZmVhdC1jb2xvcikge1xuICAgIG9wYWNpdHk6ICRvcGFjaXR5O1xuICB9XG59XG5cbkBtaXhpbiBzdGF0ZXMtcHJlc3Mtb3BhY2l0eSgkb3BhY2l0eSwgJHF1ZXJ5OiBmZWF0dXJlLXRhcmdldGluZy1mdW5jdGlvbnMuYWxsKCksICRyaXBwbGUtdGFyZ2V0OiBcIiZcIikge1xuICAkZmVhdC1hbmltYXRpb246IGZlYXR1cmUtdGFyZ2V0aW5nLWZ1bmN0aW9ucy5jcmVhdGUtdGFyZ2V0KCRxdWVyeSwgYW5pbWF0aW9uKTtcbiAgJGZlYXQtY29sb3I6IGZlYXR1cmUtdGFyZ2V0aW5nLWZ1bmN0aW9ucy5jcmVhdGUtdGFyZ2V0KCRxdWVyeSwgY29sb3IpO1xuXG4gIC8vIFN0eWxlcyBmb3Igbm9uLXVwZ3JhZGVkIChDU1Mtb25seSkgc3RhdGVmdWwgc3VyZmFjZXNcblxuICAmOm5vdCgubWRjLXJpcHBsZS11cGdyYWRlZCkge1xuICAgIC8vIEFwcGx5IHByZXNzIGFkZGl0aXZlbHkgYnkgdXNpbmcgdGhlIDo6YWZ0ZXIgcHNldWRvLWVsZW1lbnRcbiAgICAjeyRyaXBwbGUtdGFyZ2V0fTo6YWZ0ZXIge1xuICAgICAgQGluY2x1ZGUgZmVhdHVyZS10YXJnZXRpbmctbWl4aW5zLnRhcmdldHMoJGZlYXQtYW5pbWF0aW9uKSB7XG4gICAgICAgIHRyYW5zaXRpb246IG9wYWNpdHkgdmFyaWFibGVzLiRmYWRlLW91dC1kdXJhdGlvbiBsaW5lYXI7XG4gICAgICB9XG4gICAgfVxuXG4gICAgJjphY3RpdmUge1xuICAgICAgI3skcmlwcGxlLXRhcmdldH06OmFmdGVyIHtcbiAgICAgICAgQGluY2x1ZGUgZmVhdHVyZS10YXJnZXRpbmctbWl4aW5zLnRhcmdldHMoJGZlYXQtYW5pbWF0aW9uKSB7XG4gICAgICAgICAgdHJhbnNpdGlvbi1kdXJhdGlvbjogdmFyaWFibGVzLiRmYWRlLWluLWR1cmF0aW9uO1xuICAgICAgICB9XG5cbiAgICAgICAgLy8gT3BhY2l0eSBmYWxscyB1bmRlciBjb2xvciBiZWNhdXNlIHRoZSBjaG9zZW4gb3BhY2l0eSBpcyBjb2xvci1kZXBlbmRlbnQgaW4gdHlwaWNhbCB1c2FnZVxuICAgICAgICBAaW5jbHVkZSBmZWF0dXJlLXRhcmdldGluZy1taXhpbnMudGFyZ2V0cygkZmVhdC1jb2xvcikge1xuICAgICAgICAgIG9wYWNpdHk6ICRvcGFjaXR5O1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgJi5tZGMtcmlwcGxlLXVwZ3JhZGVkIHtcbiAgICBAaW5jbHVkZSBmZWF0dXJlLXRhcmdldGluZy1taXhpbnMudGFyZ2V0cygkZmVhdC1jb2xvcikge1xuICAgICAgLS1tZGMtcmlwcGxlLWZnLW9wYWNpdHk6ICN7JG9wYWNpdHl9O1xuICAgIH1cbiAgfVxufVxuXG4vLyBTaW1wbGUgbWl4aW4gZm9yIGJhc2Ugc3RhdGVzIHdoaWNoIGF1dG9tYXRpY2FsbHkgc2VsZWN0cyBvcGFjaXR5IHZhbHVlcyBiYXNlZCBvbiB3aGV0aGVyIHRoZSBpbmsgY29sb3IgaXNcbi8vIGxpZ2h0IG9yIGRhcmsuXG5AbWl4aW4gc3RhdGVzKFxuICAkY29sb3I6IHRoZW1lLXZhcmlhYmxlcy5wcm9wLXZhbHVlKG9uLXN1cmZhY2UpLFxuICAkaGFzLW5lc3RlZC1mb2N1c2FibGUtZWxlbWVudDogZmFsc2UsXG4gICRxdWVyeTogZmVhdHVyZS10YXJnZXRpbmctZnVuY3Rpb25zLmFsbCgpLFxuICAkcmlwcGxlLXRhcmdldDogXCImXCIsXG4pIHtcbiAgQGluY2x1ZGUgc3RhdGVzLWludGVyYWN0aW9uc18oXG4gICAgJGNvbG9yOiAkY29sb3IsXG4gICAgJGhhcy1uZXN0ZWQtZm9jdXNhYmxlLWVsZW1lbnQ6ICRoYXMtbmVzdGVkLWZvY3VzYWJsZS1lbGVtZW50LFxuICAgICRxdWVyeTogJHF1ZXJ5LFxuICAgICRyaXBwbGUtdGFyZ2V0OiAkcmlwcGxlLXRhcmdldCk7XG59XG5cbi8vIFNpbXBsZSBtaXhpbiBmb3IgYWN0aXZhdGVkIHN0YXRlcyB3aGljaCBhdXRvbWF0aWNhbGx5IHNlbGVjdHMgb3BhY2l0eSB2YWx1ZXMgYmFzZWQgb24gd2hldGhlciB0aGUgaW5rIGNvbG9yIGlzXG4vLyBsaWdodCBvciBkYXJrLlxuQG1peGluIHN0YXRlcy1hY3RpdmF0ZWQoXG4gICRjb2xvciwgJGhhcy1uZXN0ZWQtZm9jdXNhYmxlLWVsZW1lbnQ6IGZhbHNlLCAkcXVlcnk6IGZlYXR1cmUtdGFyZ2V0aW5nLWZ1bmN0aW9ucy5hbGwoKSwgJHJpcHBsZS10YXJnZXQ6IFwiJlwiKSB7XG4gICRmZWF0LWNvbG9yOiBmZWF0dXJlLXRhcmdldGluZy1mdW5jdGlvbnMuY3JlYXRlLXRhcmdldCgkcXVlcnksIGNvbG9yKTtcbiAgJGFjdGl2YXRlZC1vcGFjaXR5OiBmdW5jdGlvbnMuc3RhdGVzLW9wYWNpdHkoJGNvbG9yLCBhY3RpdmF0ZWQpO1xuXG4gICYtLWFjdGl2YXRlZCB7XG4gICAgLy8gU3R5bGVsaW50IHNlZW1zIHRvIHRoaW5rIHRoYXQgJyYnIHF1YWxpZmllcyBhcyBhIHR5cGUgc2VsZWN0b3IgaGVyZT9cbiAgICAvLyBzdHlsZWxpbnQtZGlzYWJsZS1uZXh0LWxpbmUgc2VsZWN0b3ItbWF4LXR5cGVcbiAgICAjeyRyaXBwbGUtdGFyZ2V0fTo6YmVmb3JlIHtcbiAgICAgIC8vIE9wYWNpdHkgZmFsbHMgdW5kZXIgY29sb3IgYmVjYXVzZSB0aGUgY2hvc2VuIG9wYWNpdHkgaXMgY29sb3ItZGVwZW5kZW50LlxuICAgICAgQGluY2x1ZGUgZmVhdHVyZS10YXJnZXRpbmctbWl4aW5zLnRhcmdldHMoJGZlYXQtY29sb3IpIHtcbiAgICAgICAgb3BhY2l0eTogJGFjdGl2YXRlZC1vcGFjaXR5O1xuICAgICAgfVxuICAgIH1cblxuICAgIEBpbmNsdWRlIHN0YXRlcy1pbnRlcmFjdGlvbnNfKFxuICAgICAgJGNvbG9yOiAkY29sb3IsXG4gICAgICAkaGFzLW5lc3RlZC1mb2N1c2FibGUtZWxlbWVudDogJGhhcy1uZXN0ZWQtZm9jdXNhYmxlLWVsZW1lbnQsXG4gICAgICAkb3BhY2l0eS1tb2RpZmllcjogJGFjdGl2YXRlZC1vcGFjaXR5LFxuICAgICAgJHF1ZXJ5OiAkcXVlcnksXG4gICAgICAkcmlwcGxlLXRhcmdldDogJHJpcHBsZS10YXJnZXQpO1xuICB9XG59XG5cbi8vIFNpbXBsZSBtaXhpbiBmb3Igc2VsZWN0ZWQgc3RhdGVzIHdoaWNoIGF1dG9tYXRpY2FsbHkgc2VsZWN0cyBvcGFjaXR5IHZhbHVlcyBiYXNlZCBvbiB3aGV0aGVyIHRoZSBpbmsgY29sb3IgaXNcbi8vIGxpZ2h0IG9yIGRhcmsuXG5AbWl4aW4gc3RhdGVzLXNlbGVjdGVkKFxuICAkY29sb3IsXG4gICRoYXMtbmVzdGVkLWZvY3VzYWJsZS1lbGVtZW50OiBmYWxzZSxcbiAgJHF1ZXJ5OiBmZWF0dXJlLXRhcmdldGluZy1mdW5jdGlvbnMuYWxsKCksXG4gICRyaXBwbGUtdGFyZ2V0OiBcIiZcIikge1xuICAkZmVhdC1jb2xvcjogZmVhdHVyZS10YXJnZXRpbmctZnVuY3Rpb25zLmNyZWF0ZS10YXJnZXQoJHF1ZXJ5LCBjb2xvcik7XG4gICRzZWxlY3RlZC1vcGFjaXR5OiBmdW5jdGlvbnMuc3RhdGVzLW9wYWNpdHkoJGNvbG9yLCBzZWxlY3RlZCk7XG5cbiAgJi0tc2VsZWN0ZWQge1xuICAgIC8vIHN0eWxlbGludC1kaXNhYmxlLW5leHQtbGluZSBzZWxlY3Rvci1tYXgtdHlwZVxuICAgICN7JHJpcHBsZS10YXJnZXR9OjpiZWZvcmUge1xuICAgICAgLy8gT3BhY2l0eSBmYWxscyB1bmRlciBjb2xvciBiZWNhdXNlIHRoZSBjaG9zZW4gb3BhY2l0eSBpcyBjb2xvci1kZXBlbmRlbnQuXG4gICAgICBAaW5jbHVkZSBmZWF0dXJlLXRhcmdldGluZy1taXhpbnMudGFyZ2V0cygkZmVhdC1jb2xvcikge1xuICAgICAgICBvcGFjaXR5OiAkc2VsZWN0ZWQtb3BhY2l0eTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBAaW5jbHVkZSBzdGF0ZXMtaW50ZXJhY3Rpb25zXyhcbiAgICAgICRjb2xvcjogJGNvbG9yLFxuICAgICAgJGhhcy1uZXN0ZWQtZm9jdXNhYmxlLWVsZW1lbnQ6ICRoYXMtbmVzdGVkLWZvY3VzYWJsZS1lbGVtZW50LFxuICAgICAgJG9wYWNpdHktbW9kaWZpZXI6ICRzZWxlY3RlZC1vcGFjaXR5LFxuICAgICAgJHF1ZXJ5OiAkcXVlcnksXG4gICAgICAkcmlwcGxlLXRhcmdldDogJHJpcHBsZS10YXJnZXQpO1xuICB9XG59XG5cbkBtaXhpbiByYWRpdXMtYm91bmRlZChcbiAgJHJhZGl1czogMTAwJSwgJHF1ZXJ5OiBmZWF0dXJlLXRhcmdldGluZy1mdW5jdGlvbnMuYWxsKCksICRyaXBwbGUtdGFyZ2V0OiBcIiZcIikge1xuICAkZmVhdC1zdHJ1dHVyZTogZmVhdHVyZS10YXJnZXRpbmctZnVuY3Rpb25zLmNyZWF0ZS10YXJnZXQoJHF1ZXJ5LCBzdHJ1Y3R1cmUpO1xuXG4gICN7JHJpcHBsZS10YXJnZXR9OjpiZWZvcmUsXG4gICN7JHJpcHBsZS10YXJnZXR9OjphZnRlciB7XG4gICAgQGluY2x1ZGUgZmVhdHVyZS10YXJnZXRpbmctbWl4aW5zLnRhcmdldHMoJGZlYXQtc3RydXR1cmUpIHtcbiAgICAgIHRvcDogY2FsYyg1MCUgLSAjeyRyYWRpdXN9KTtcbiAgICAgIC8qIEBub2ZsaXAgKi9cbiAgICAgIGxlZnQ6IGNhbGMoNTAlIC0gI3skcmFkaXVzfSk7XG4gICAgICB3aWR0aDogJHJhZGl1cyAqIDI7XG4gICAgICBoZWlnaHQ6ICRyYWRpdXMgKiAyO1xuICAgIH1cbiAgfVxuXG4gICYubWRjLXJpcHBsZS11cGdyYWRlZCB7XG4gICAgI3skcmlwcGxlLXRhcmdldH06OmFmdGVyIHtcbiAgICAgIEBpbmNsdWRlIGZlYXR1cmUtdGFyZ2V0aW5nLW1peGlucy50YXJnZXRzKCRmZWF0LXN0cnV0dXJlKSB7XG4gICAgICAgIHdpZHRoOiB2YXIoLS1tZGMtcmlwcGxlLWZnLXNpemUsICRyYWRpdXMpO1xuICAgICAgICBoZWlnaHQ6IHZhcigtLW1kYy1yaXBwbGUtZmctc2l6ZSwgJHJhZGl1cyk7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbkBtaXhpbiByYWRpdXMtdW5ib3VuZGVkKFxuICAkcmFkaXVzOiAxMDAlLCAkcXVlcnk6IGZlYXR1cmUtdGFyZ2V0aW5nLWZ1bmN0aW9ucy5hbGwoKSwgJHJpcHBsZS10YXJnZXQ6IFwiJlwiKSB7XG4gICRmZWF0LXN0cnV0dXJlOiBmZWF0dXJlLXRhcmdldGluZy1mdW5jdGlvbnMuY3JlYXRlLXRhcmdldCgkcXVlcnksIHN0cnVjdHVyZSk7XG5cbiAgI3skcmlwcGxlLXRhcmdldH06OmJlZm9yZSxcbiAgI3skcmlwcGxlLXRhcmdldH06OmFmdGVyIHtcbiAgICBAaW5jbHVkZSBmZWF0dXJlLXRhcmdldGluZy1taXhpbnMudGFyZ2V0cygkZmVhdC1zdHJ1dHVyZSkge1xuICAgICAgdG9wOiBjYWxjKDUwJSAtICN7JHJhZGl1cyAvIDJ9KTtcbiAgICAgIC8qIEBub2ZsaXAgKi9cbiAgICAgIGxlZnQ6IGNhbGMoNTAlIC0gI3skcmFkaXVzIC8gMn0pO1xuICAgICAgd2lkdGg6ICRyYWRpdXM7XG4gICAgICBoZWlnaHQ6ICRyYWRpdXM7XG4gICAgfVxuICB9XG5cbiAgJi5tZGMtcmlwcGxlLXVwZ3JhZGVkIHtcbiAgICAjeyRyaXBwbGUtdGFyZ2V0fTo6YmVmb3JlLFxuICAgICN7JHJpcHBsZS10YXJnZXR9OjphZnRlciB7XG4gICAgICBAaW5jbHVkZSBmZWF0dXJlLXRhcmdldGluZy1taXhpbnMudGFyZ2V0cygkZmVhdC1zdHJ1dHVyZSkge1xuICAgICAgICB0b3A6IHZhcigtLW1kYy1yaXBwbGUtdG9wLCBjYWxjKDUwJSAtICN7JHJhZGl1cyAvIDJ9KSk7XG4gICAgICAgIC8qIEBub2ZsaXAgKi9cbiAgICAgICAgbGVmdDogdmFyKC0tbWRjLXJpcHBsZS1sZWZ0LCBjYWxjKDUwJSAtICN7JHJhZGl1cyAvIDJ9KSk7XG4gICAgICAgIHdpZHRoOiB2YXIoLS1tZGMtcmlwcGxlLWZnLXNpemUsICRyYWRpdXMpO1xuICAgICAgICBoZWlnaHQ6IHZhcigtLW1kYy1yaXBwbGUtZmctc2l6ZSwgJHJhZGl1cyk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgI3skcmlwcGxlLXRhcmdldH06OmFmdGVyIHtcbiAgICAgIEBpbmNsdWRlIGZlYXR1cmUtdGFyZ2V0aW5nLW1peGlucy50YXJnZXRzKCRmZWF0LXN0cnV0dXJlKSB7XG4gICAgICAgIHdpZHRoOiB2YXIoLS1tZGMtcmlwcGxlLWZnLXNpemUsICRyYWRpdXMpO1xuICAgICAgICBoZWlnaHQ6IHZhcigtLW1kYy1yaXBwbGUtZmctc2l6ZSwgJHJhZGl1cyk7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbkBtaXhpbiBzdGF0ZXMtaW50ZXJhY3Rpb25zXyhcbiAgJGNvbG9yLFxuICAkaGFzLW5lc3RlZC1mb2N1c2FibGUtZWxlbWVudCxcbiAgJG9wYWNpdHktbW9kaWZpZXI6IDAsXG4gICRxdWVyeTogZmVhdHVyZS10YXJnZXRpbmctZnVuY3Rpb25zLmFsbCgpLFxuICAkcmlwcGxlLXRhcmdldDogXCImXCIsXG4pIHtcbiAgQGluY2x1ZGUgdGFyZ2V0LXNlbGVjdG9yKCRyaXBwbGUtdGFyZ2V0KSB7XG4gICAgQGluY2x1ZGUgc3RhdGVzLWJhc2UtY29sb3IoJGNvbG9yLCAkcXVlcnkpO1xuICB9XG5cbiAgJG9wYWNpdHktbWFwOiAoXG4gICAgaG92ZXI6IGZ1bmN0aW9ucy5zdGF0ZXMtb3BhY2l0eSgkY29sb3IsIGhvdmVyKSArICRvcGFjaXR5LW1vZGlmaWVyLFxuICAgIGZvY3VzOiBmdW5jdGlvbnMuc3RhdGVzLW9wYWNpdHkoJGNvbG9yLCBmb2N1cykgKyAkb3BhY2l0eS1tb2RpZmllcixcbiAgICBwcmVzczogZnVuY3Rpb25zLnN0YXRlcy1vcGFjaXR5KCRjb2xvciwgcHJlc3MpICsgJG9wYWNpdHktbW9kaWZpZXIsXG4gICk7XG5cbiAgQGluY2x1ZGUgc3RhdGVzLW9wYWNpdGllcygkb3BhY2l0eS1tYXAsICRoYXMtbmVzdGVkLWZvY3VzYWJsZS1lbGVtZW50OiAkaGFzLW5lc3RlZC1mb2N1c2FibGUtZWxlbWVudCwgJHJpcHBsZS10YXJnZXQ6ICRyaXBwbGUtdGFyZ2V0LCAkcXVlcnk6ICRxdWVyeSk7XG59XG5cbi8vIFdyYXBzIGNvbnRlbnQgaW4gdGhlIGByaXBwbGUtdGFyZ2V0YCBzZWxlY3RvciBpZiBpdCBleGlzdHMuXG5AbWl4aW4gdGFyZ2V0LXNlbGVjdG9yKCRyaXBwbGUtdGFyZ2V0OiBcIiZcIikge1xuICBAaWYgJHJpcHBsZS10YXJnZXQgPT0gXCImXCIge1xuICAgIEBjb250ZW50O1xuICB9IEBlbHNlIHtcbiAgICAjeyRyaXBwbGUtdGFyZ2V0fSB7XG4gICAgICBAY29udGVudDtcbiAgICB9XG4gIH1cbn1cblxuLy8gQ29tbW9uIHN0eWxlcyBmb3IgYSByaXBwbGUgdGFyZ2V0IGVsZW1lbnQuXG4vLyBVc2VkIGZvciBjb21wb25lbnRzIHdoaWNoIGhhdmUgYW4gaW5uZXIgcmlwcGxlIHRhcmdldCBlbGVtZW50LlxuQG1peGluIHRhcmdldC1jb21tb24oJHF1ZXJ5OiBmZWF0dXJlLXRhcmdldGluZy1mdW5jdGlvbnMuYWxsKCkpIHtcbiAgJGZlYXQtc3RydWN0dXJlOiBmZWF0dXJlLXRhcmdldGluZy1mdW5jdGlvbnMuY3JlYXRlLXRhcmdldCgkcXVlcnksIHN0cnVjdHVyZSk7XG5cbiAgQGluY2x1ZGUgZmVhdHVyZS10YXJnZXRpbmctbWl4aW5zLnRhcmdldHMoJGZlYXQtc3RydWN0dXJlKSB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMDtcbiAgICBsZWZ0OiAwO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogMTAwJTtcbiAgICAvLyBOZWNlc3NhcnkgZm9yIGNsaWNrcyBvbiBvdGhlciBpbm5lciBlbGVtZW50cyAoZS5nLiBjbG9zZSBpY29uIGluIGNoaXApXG4gICAgLy8gdG8gZ28gdGhyb3VnaC5cbiAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgfVxufVxuIiwiLy9cbi8vIENvcHlyaWdodCAyMDE2IEdvb2dsZSBJbmMuXG4vL1xuLy8gUGVybWlzc2lvbiBpcyBoZXJlYnkgZ3JhbnRlZCwgZnJlZSBvZiBjaGFyZ2UsIHRvIGFueSBwZXJzb24gb2J0YWluaW5nIGEgY29weVxuLy8gb2YgdGhpcyBzb2Z0d2FyZSBhbmQgYXNzb2NpYXRlZCBkb2N1bWVudGF0aW9uIGZpbGVzICh0aGUgXCJTb2Z0d2FyZVwiKSwgdG8gZGVhbFxuLy8gaW4gdGhlIFNvZnR3YXJlIHdpdGhvdXQgcmVzdHJpY3Rpb24sIGluY2x1ZGluZyB3aXRob3V0IGxpbWl0YXRpb24gdGhlIHJpZ2h0c1xuLy8gdG8gdXNlLCBjb3B5LCBtb2RpZnksIG1lcmdlLCBwdWJsaXNoLCBkaXN0cmlidXRlLCBzdWJsaWNlbnNlLCBhbmQvb3Igc2VsbFxuLy8gY29waWVzIG9mIHRoZSBTb2Z0d2FyZSwgYW5kIHRvIHBlcm1pdCBwZXJzb25zIHRvIHdob20gdGhlIFNvZnR3YXJlIGlzXG4vLyBmdXJuaXNoZWQgdG8gZG8gc28sIHN1YmplY3QgdG8gdGhlIGZvbGxvd2luZyBjb25kaXRpb25zOlxuLy9cbi8vIFRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlIGFuZCB0aGlzIHBlcm1pc3Npb24gbm90aWNlIHNoYWxsIGJlIGluY2x1ZGVkIGluXG4vLyBhbGwgY29waWVzIG9yIHN1YnN0YW50aWFsIHBvcnRpb25zIG9mIHRoZSBTb2Z0d2FyZS5cbi8vXG4vLyBUSEUgU09GVFdBUkUgSVMgUFJPVklERUQgXCJBUyBJU1wiLCBXSVRIT1VUIFdBUlJBTlRZIE9GIEFOWSBLSU5ELCBFWFBSRVNTIE9SXG4vLyBJTVBMSUVELCBJTkNMVURJTkcgQlVUIE5PVCBMSU1JVEVEIFRPIFRIRSBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSxcbi8vIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFORCBOT05JTkZSSU5HRU1FTlQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRVxuLy8gQVVUSE9SUyBPUiBDT1BZUklHSFQgSE9MREVSUyBCRSBMSUFCTEUgRk9SIEFOWSBDTEFJTSwgREFNQUdFUyBPUiBPVEhFUlxuLy8gTElBQklMSVRZLCBXSEVUSEVSIElOIEFOIEFDVElPTiBPRiBDT05UUkFDVCwgVE9SVCBPUiBPVEhFUldJU0UsIEFSSVNJTkcgRlJPTSxcbi8vIE9VVCBPRiBPUiBJTiBDT05ORUNUSU9OIFdJVEggVEhFIFNPRlRXQVJFIE9SIFRIRSBVU0UgT1IgT1RIRVIgREVBTElOR1MgSU5cbi8vIFRIRSBTT0ZUV0FSRS5cbi8vXG5cbiRmYWRlLWluLWR1cmF0aW9uOiA3NW1zICFkZWZhdWx0O1xuJGZhZGUtb3V0LWR1cmF0aW9uOiAxNTBtcyAhZGVmYXVsdDtcbiR0cmFuc2xhdGUtZHVyYXRpb246IDIyNW1zICFkZWZhdWx0O1xuJHN0YXRlcy13YXNoLWR1cmF0aW9uOiAxNW1zICFkZWZhdWx0O1xuXG4vLyBOb3RlcyBvbiBzdGF0ZXM6XG4vLyAqIGZvY3VzIHRha2VzIHByZWNlZGVuY2Ugb3ZlciBob3ZlciAoaS5lLiBpZiBhbiBlbGVtZW50IGlzIGJvdGggZm9jdXNlZCBhbmQgaG92ZXJlZCwgb25seSBmb2N1cyB2YWx1ZSBhcHBsaWVzKVxuLy8gKiBwcmVzcyBzdGF0ZSBhcHBsaWVzIHRvIGEgc2VwYXJhdGUgcHNldWRvLWVsZW1lbnQsIHNvIGl0IGhhcyBhbiBhZGRpdGl2ZSBlZmZlY3Qgb24gdG9wIG9mIG90aGVyIHN0YXRlc1xuLy8gKiBzZWxlY3RlZC9hY3RpdmF0ZWQgYXJlIGFwcGxpZWQgYWRkaXRpdmVseSB0byBob3Zlci9mb2N1cyB2aWEgY2FsY3VsYXRpb25zIGF0IHByZXByb2Nlc3NpbmcgdGltZVxuXG4kZGFyay1pbmstb3BhY2l0aWVzOiAoXG4gIGhvdmVyOiAuMDQsXG4gIGZvY3VzOiAuMTIsXG4gIHByZXNzOiAuMTIsXG4gIHNlbGVjdGVkOiAuMDgsXG4gIGFjdGl2YXRlZDogLjEyXG4pICFkZWZhdWx0O1xuXG4kbGlnaHQtaW5rLW9wYWNpdGllczogKFxuICBob3ZlcjogLjA4LFxuICBmb2N1czogLjI0LFxuICBwcmVzczogLjI0LFxuICBzZWxlY3RlZDogLjE2LFxuICBhY3RpdmF0ZWQ6IC4yNFxuKSAhZGVmYXVsdDtcblxuLy8gTGVnYWN5XG5cbiRwcmVzc2VkLWRhcmstaW5rLW9wYWNpdHk6IC4xNiAhZGVmYXVsdDtcbiRwcmVzc2VkLWxpZ2h0LWluay1vcGFjaXR5OiAuMzIgIWRlZmF1bHQ7XG4iLCIvL1xuLy8gQ29weXJpZ2h0IDIwMTkgR29vZ2xlIEluYy5cbi8vXG4vLyBQZXJtaXNzaW9uIGlzIGhlcmVieSBncmFudGVkLCBmcmVlIG9mIGNoYXJnZSwgdG8gYW55IHBlcnNvbiBvYnRhaW5pbmcgYSBjb3B5XG4vLyBvZiB0aGlzIHNvZnR3YXJlIGFuZCBhc3NvY2lhdGVkIGRvY3VtZW50YXRpb24gZmlsZXMgKHRoZSBcIlNvZnR3YXJlXCIpLCB0byBkZWFsXG4vLyBpbiB0aGUgU29mdHdhcmUgd2l0aG91dCByZXN0cmljdGlvbiwgaW5jbHVkaW5nIHdpdGhvdXQgbGltaXRhdGlvbiB0aGUgcmlnaHRzXG4vLyB0byB1c2UsIGNvcHksIG1vZGlmeSwgbWVyZ2UsIHB1Ymxpc2gsIGRpc3RyaWJ1dGUsIHN1YmxpY2Vuc2UsIGFuZC9vciBzZWxsXG4vLyBjb3BpZXMgb2YgdGhlIFNvZnR3YXJlLCBhbmQgdG8gcGVybWl0IHBlcnNvbnMgdG8gd2hvbSB0aGUgU29mdHdhcmUgaXNcbi8vIGZ1cm5pc2hlZCB0byBkbyBzbywgc3ViamVjdCB0byB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnM6XG4vL1xuLy8gVGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UgYW5kIHRoaXMgcGVybWlzc2lvbiBub3RpY2Ugc2hhbGwgYmUgaW5jbHVkZWQgaW5cbi8vIGFsbCBjb3BpZXMgb3Igc3Vic3RhbnRpYWwgcG9ydGlvbnMgb2YgdGhlIFNvZnR3YXJlLlxuLy9cbi8vIFRIRSBTT0ZUV0FSRSBJUyBQUk9WSURFRCBcIkFTIElTXCIsIFdJVEhPVVQgV0FSUkFOVFkgT0YgQU5ZIEtJTkQsIEVYUFJFU1MgT1Jcbi8vIElNUExJRUQsIElOQ0xVRElORyBCVVQgTk9UIExJTUlURUQgVE8gVEhFIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZLFxuLy8gRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQU5EIE5PTklORlJJTkdFTUVOVC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFXG4vLyBBVVRIT1JTIE9SIENPUFlSSUdIVCBIT0xERVJTIEJFIExJQUJMRSBGT1IgQU5ZIENMQUlNLCBEQU1BR0VTIE9SIE9USEVSXG4vLyBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQU4gQUNUSU9OIE9GIENPTlRSQUNULCBUT1JUIE9SIE9USEVSV0lTRSwgQVJJU0lORyBGUk9NLFxuLy8gT1VUIE9GIE9SIElOIENPTk5FQ1RJT04gV0lUSCBUSEUgU09GVFdBUkUgT1IgVEhFIFVTRSBPUiBPVEhFUiBERUFMSU5HUyBJTlxuLy8gVEhFIFNPRlRXQVJFLlxuLy9cblxuJGhlaWdodDogNDhweCAhZGVmYXVsdDtcbiR3aWR0aDogJGhlaWdodCAhZGVmYXVsdDtcbiIsIi8vXG4vLyBDb3B5cmlnaHQgMjAxNyBHb29nbGUgSW5jLlxuLy9cbi8vIFBlcm1pc3Npb24gaXMgaGVyZWJ5IGdyYW50ZWQsIGZyZWUgb2YgY2hhcmdlLCB0byBhbnkgcGVyc29uIG9idGFpbmluZyBhIGNvcHlcbi8vIG9mIHRoaXMgc29mdHdhcmUgYW5kIGFzc29jaWF0ZWQgZG9jdW1lbnRhdGlvbiBmaWxlcyAodGhlIFwiU29mdHdhcmVcIiksIHRvIGRlYWxcbi8vIGluIHRoZSBTb2Z0d2FyZSB3aXRob3V0IHJlc3RyaWN0aW9uLCBpbmNsdWRpbmcgd2l0aG91dCBsaW1pdGF0aW9uIHRoZSByaWdodHNcbi8vIHRvIHVzZSwgY29weSwgbW9kaWZ5LCBtZXJnZSwgcHVibGlzaCwgZGlzdHJpYnV0ZSwgc3VibGljZW5zZSwgYW5kL29yIHNlbGxcbi8vIGNvcGllcyBvZiB0aGUgU29mdHdhcmUsIGFuZCB0byBwZXJtaXQgcGVyc29ucyB0byB3aG9tIHRoZSBTb2Z0d2FyZSBpc1xuLy8gZnVybmlzaGVkIHRvIGRvIHNvLCBzdWJqZWN0IHRvIHRoZSBmb2xsb3dpbmcgY29uZGl0aW9uczpcbi8vXG4vLyBUaGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSBhbmQgdGhpcyBwZXJtaXNzaW9uIG5vdGljZSBzaGFsbCBiZSBpbmNsdWRlZCBpblxuLy8gYWxsIGNvcGllcyBvciBzdWJzdGFudGlhbCBwb3J0aW9ucyBvZiB0aGUgU29mdHdhcmUuXG4vL1xuLy8gVEhFIFNPRlRXQVJFIElTIFBST1ZJREVEIFwiQVMgSVNcIiwgV0lUSE9VVCBXQVJSQU5UWSBPRiBBTlkgS0lORCwgRVhQUkVTUyBPUlxuLy8gSU1QTElFRCwgSU5DTFVESU5HIEJVVCBOT1QgTElNSVRFRCBUTyBUSEUgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFksXG4vLyBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBTkQgTk9OSU5GUklOR0VNRU5ULiBJTiBOTyBFVkVOVCBTSEFMTCBUSEVcbi8vIEFVVEhPUlMgT1IgQ09QWVJJR0hUIEhPTERFUlMgQkUgTElBQkxFIEZPUiBBTlkgQ0xBSU0sIERBTUFHRVMgT1IgT1RIRVJcbi8vIExJQUJJTElUWSwgV0hFVEhFUiBJTiBBTiBBQ1RJT04gT0YgQ09OVFJBQ1QsIFRPUlQgT1IgT1RIRVJXSVNFLCBBUklTSU5HIEZST00sXG4vLyBPVVQgT0YgT1IgSU4gQ09OTkVDVElPTiBXSVRIIFRIRSBTT0ZUV0FSRSBPUiBUSEUgVVNFIE9SIE9USEVSIERFQUxJTkdTIElOXG4vLyBUSEUgU09GVFdBUkUuXG4vL1xuXG4vLyBNREMgUmlwcGxlIGtleWZyYW1lcyBhcmUgc3BsaXQgaW50byB0aGVpciBvd24gZmlsZSBzbyB0aGF0IF9taXhpbnMuc2NzcyBjYW4gcmVseSBvbiB0aGVtLlxuXG5AdXNlIFwiQG1hdGVyaWFsL2FuaW1hdGlvbi92YXJpYWJsZXNcIjtcbkB1c2UgXCIuL3ZhcmlhYmxlc1wiIGFzIHZhcmlhYmxlczI7XG5cbkBtaXhpbiBrZXlmcmFtZXNfIHtcbiAgQGtleWZyYW1lcyBtZGMtcmlwcGxlLWZnLXJhZGl1cy1pbiB7XG4gICAgZnJvbSB7XG4gICAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiB2YXJpYWJsZXMuJHN0YW5kYXJkLWN1cnZlLXRpbWluZy1mdW5jdGlvbjtcbiAgICAgIC8vIE5PVEU6IEZvciB0aGVzZSBrZXlmcmFtZXMsIHdlIGRvIG5vdCBuZWVkIGN1c3RvbSBwcm9wZXJ0eSBmYWxsYmFja3MgYmVjYXVzZSB0aGV5IGFyZSBvbmx5XG4gICAgICAvLyB1c2VkIGluIGNvbmp1bmN0aW9uIHdpdGggYC5tZGMtcmlwcGxlLXVwZ3JhZGVkYC4gU2luY2UgTURDUmlwcGxlRm91bmRhdGlvbiBjaGVja3MgdG8gZW5zdXJlXG4gICAgICAvLyB0aGF0IGN1c3RvbSBwcm9wZXJ0aWVzIGFyZSBzdXBwb3J0ZWQgd2l0aGluIHRoZSBicm93c2VyIGJlZm9yZSBhZGRpbmcgdGhpcyBjbGFzcywgd2UgY2FuXG4gICAgICAvLyBzYWZlbHkgdXNlIHRoZW0gd2l0aG91dCBhIGZhbGxiYWNrLlxuICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUodmFyKC0tbWRjLXJpcHBsZS1mZy10cmFuc2xhdGUtc3RhcnQsIDApKSBzY2FsZSgxKTtcbiAgICB9XG5cbiAgICB0byB7XG4gICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSh2YXIoLS1tZGMtcmlwcGxlLWZnLXRyYW5zbGF0ZS1lbmQsIDApKSBzY2FsZSh2YXIoLS1tZGMtcmlwcGxlLWZnLXNjYWxlLCAxKSk7XG4gICAgfVxuICB9XG5cbiAgQGtleWZyYW1lcyBtZGMtcmlwcGxlLWZnLW9wYWNpdHktaW4ge1xuICAgIGZyb20ge1xuICAgICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogbGluZWFyO1xuICAgICAgb3BhY2l0eTogMDtcbiAgICB9XG5cbiAgICB0byB7XG4gICAgICBvcGFjaXR5OiB2YXIoLS1tZGMtcmlwcGxlLWZnLW9wYWNpdHksIDApO1xuICAgIH1cbiAgfVxuXG4gIEBrZXlmcmFtZXMgbWRjLXJpcHBsZS1mZy1vcGFjaXR5LW91dCB7XG4gICAgZnJvbSB7XG4gICAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBsaW5lYXI7XG4gICAgICBvcGFjaXR5OiB2YXIoLS1tZGMtcmlwcGxlLWZnLW9wYWNpdHksIDApO1xuICAgIH1cblxuICAgIHRvIHtcbiAgICAgIG9wYWNpdHk6IDA7XG4gICAgfVxuICB9XG59XG4iLCIvL1xuLy8gQ29weXJpZ2h0IDIwMTcgR29vZ2xlIEluYy5cbi8vXG4vLyBQZXJtaXNzaW9uIGlzIGhlcmVieSBncmFudGVkLCBmcmVlIG9mIGNoYXJnZSwgdG8gYW55IHBlcnNvbiBvYnRhaW5pbmcgYSBjb3B5XG4vLyBvZiB0aGlzIHNvZnR3YXJlIGFuZCBhc3NvY2lhdGVkIGRvY3VtZW50YXRpb24gZmlsZXMgKHRoZSBcIlNvZnR3YXJlXCIpLCB0byBkZWFsXG4vLyBpbiB0aGUgU29mdHdhcmUgd2l0aG91dCByZXN0cmljdGlvbiwgaW5jbHVkaW5nIHdpdGhvdXQgbGltaXRhdGlvbiB0aGUgcmlnaHRzXG4vLyB0byB1c2UsIGNvcHksIG1vZGlmeSwgbWVyZ2UsIHB1Ymxpc2gsIGRpc3RyaWJ1dGUsIHN1YmxpY2Vuc2UsIGFuZC9vciBzZWxsXG4vLyBjb3BpZXMgb2YgdGhlIFNvZnR3YXJlLCBhbmQgdG8gcGVybWl0IHBlcnNvbnMgdG8gd2hvbSB0aGUgU29mdHdhcmUgaXNcbi8vIGZ1cm5pc2hlZCB0byBkbyBzbywgc3ViamVjdCB0byB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnM6XG4vL1xuLy8gVGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UgYW5kIHRoaXMgcGVybWlzc2lvbiBub3RpY2Ugc2hhbGwgYmUgaW5jbHVkZWQgaW5cbi8vIGFsbCBjb3BpZXMgb3Igc3Vic3RhbnRpYWwgcG9ydGlvbnMgb2YgdGhlIFNvZnR3YXJlLlxuLy9cbi8vIFRIRSBTT0ZUV0FSRSBJUyBQUk9WSURFRCBcIkFTIElTXCIsIFdJVEhPVVQgV0FSUkFOVFkgT0YgQU5ZIEtJTkQsIEVYUFJFU1MgT1Jcbi8vIElNUExJRUQsIElOQ0xVRElORyBCVVQgTk9UIExJTUlURUQgVE8gVEhFIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZLFxuLy8gRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQU5EIE5PTklORlJJTkdFTUVOVC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFXG4vLyBBVVRIT1JTIE9SIENPUFlSSUdIVCBIT0xERVJTIEJFIExJQUJMRSBGT1IgQU5ZIENMQUlNLCBEQU1BR0VTIE9SIE9USEVSXG4vLyBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQU4gQUNUSU9OIE9GIENPTlRSQUNULCBUT1JUIE9SIE9USEVSV0lTRSwgQVJJU0lORyBGUk9NLFxuLy8gT1VUIE9GIE9SIElOIENPTk5FQ1RJT04gV0lUSCBUSEUgU09GVFdBUkUgT1IgVEhFIFVTRSBPUiBPVEhFUiBERUFMSU5HUyBJTlxuLy8gVEhFIFNPRlRXQVJFLlxuLy9cblxuQHVzZSBcInNhc3M6bWFwXCI7XG5AdXNlIFwic2FzczptYXRoXCI7XG5AdXNlIFwic2FzczptZXRhXCI7XG5AdXNlIFwiQG1hdGVyaWFsL2Jhc2UvbWl4aW5zXCIgYXMgYmFzZS1taXhpbnM7XG5AdXNlIFwiQG1hdGVyaWFsL2ZlYXR1cmUtdGFyZ2V0aW5nL2Z1bmN0aW9uc1wiIGFzIGZlYXR1cmUtdGFyZ2V0aW5nLWZ1bmN0aW9ucztcbkB1c2UgXCJAbWF0ZXJpYWwvZmVhdHVyZS10YXJnZXRpbmcvbWl4aW5zXCIgYXMgZmVhdHVyZS10YXJnZXRpbmctbWl4aW5zO1xuQHVzZSBcIkBtYXRlcmlhbC90aGVtZS9taXhpbnNcIiBhcyB0aGVtZS1taXhpbnM7XG5AdXNlIFwiQG1hdGVyaWFsL3RoZW1lL3ZhcmlhYmxlc1wiIGFzIHRoZW1lLXZhcmlhYmxlcztcbkB1c2UgXCIuL2Z1bmN0aW9uc1wiO1xuQHVzZSBcIi4vdmFyaWFibGVzXCI7XG5cbkBtaXhpbiBjb3JlLXN0eWxlcygkcXVlcnk6IGZlYXR1cmUtdGFyZ2V0aW5nLWZ1bmN0aW9ucy5hbGwoKSkge1xuICAkZmVhdC1hbmltYXRpb246IGZlYXR1cmUtdGFyZ2V0aW5nLWZ1bmN0aW9ucy5jcmVhdGUtdGFyZ2V0KCRxdWVyeSwgYW5pbWF0aW9uKTtcbiAgJGZlYXQtc3RydWN0dXJlOiBmZWF0dXJlLXRhcmdldGluZy1mdW5jdGlvbnMuY3JlYXRlLXRhcmdldCgkcXVlcnksIHN0cnVjdHVyZSk7XG5cbiAgQGZvciAkei12YWx1ZSBmcm9tIDAgdGhyb3VnaCAyNCB7XG4gICAgLm1kYy1lbGV2YXRpb24tLXojeyR6LXZhbHVlfSB7XG4gICAgICBAaW5jbHVkZSBlbGV2YXRpb24oJHotdmFsdWUsICRxdWVyeTogJHF1ZXJ5KTtcbiAgICB9XG4gIH1cblxuICAubWRjLWVsZXZhdGlvbi10cmFuc2l0aW9uIHtcbiAgICBAaW5jbHVkZSBmZWF0dXJlLXRhcmdldGluZy1taXhpbnMudGFyZ2V0cygkZmVhdC1hbmltYXRpb24pIHtcbiAgICAgIHRyYW5zaXRpb246IGZ1bmN0aW9ucy50cmFuc2l0aW9uLXZhbHVlKCk7XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgZmVhdHVyZS10YXJnZXRpbmctbWl4aW5zLnRhcmdldHMoJGZlYXQtc3RydWN0dXJlKSB7XG4gICAgICB3aWxsLWNoYW5nZTogdmFyaWFibGVzLiRwcm9wZXJ0eTtcbiAgICB9XG4gIH1cbn1cblxuLy8vXG4vLy8gQ2FsbGVkIG9uY2UgcGVyIGFwcGxpY2F0aW9uIHRvIHNldCB1cCB0aGUgZ2xvYmFsIGRlZmF1bHQgZWxldmF0aW9uIHN0eWxlcy5cbi8vL1xuQG1peGluIG92ZXJsYXktY29tbW9uKCRxdWVyeTogZmVhdHVyZS10YXJnZXRpbmctZnVuY3Rpb25zLmFsbCgpKSB7XG4gICRmZWF0LWFuaW1hdGlvbjogZmVhdHVyZS10YXJnZXRpbmctZnVuY3Rpb25zLmNyZWF0ZS10YXJnZXQoJHF1ZXJ5LCBhbmltYXRpb24pO1xuICAkZmVhdC1zdHJ1Y3R1cmU6IGZlYXR1cmUtdGFyZ2V0aW5nLWZ1bmN0aW9ucy5jcmVhdGUtdGFyZ2V0KCRxdWVyeSwgc3RydWN0dXJlKTtcblxuICBAaW5jbHVkZSBvdmVybGF5LXNlbGVjdG9yXyB7XG4gICAgQGluY2x1ZGUgZmVhdHVyZS10YXJnZXRpbmctbWl4aW5zLnRhcmdldHMoJGZlYXQtc3RydWN0dXJlKSB7XG4gICAgICBAaW5jbHVkZSBiYXNlLW1peGlucy5lbWl0LW9uY2UoXCJtZGMtZWxldmF0aW9uL2NvbW1vbi9zdHJ1Y3R1cmVcIikge1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IGluaGVyaXQ7XG4gICAgICAgIG9wYWNpdHk6IDA7XG4gICAgICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICAgICAgfVxuICAgIH1cblxuICAgIEBpbmNsdWRlIGZlYXR1cmUtdGFyZ2V0aW5nLW1peGlucy50YXJnZXRzKCRmZWF0LWFuaW1hdGlvbikge1xuICAgICAgQGluY2x1ZGUgYmFzZS1taXhpbnMuZW1pdC1vbmNlKFwibWRjLWVsZXZhdGlvbi9jb21tb24vYW5pbWF0aW9uXCIpIHtcbiAgICAgICAgdHJhbnNpdGlvbjogZnVuY3Rpb25zLm92ZXJsYXktdHJhbnNpdGlvbi12YWx1ZSgpO1xuICAgICAgfVxuICAgIH1cblxuICAgIEBpbmNsdWRlIGJhc2UtbWl4aW5zLmVtaXQtb25jZShcIm1kYy1lbGV2YXRpb24vY29tbW9uL2NvbG9yXCIpIHtcbiAgICAgIEBpbmNsdWRlIG92ZXJsYXktZmlsbC1jb2xvcih2YXJpYWJsZXMuJG92ZXJsYXktY29sb3IsICRxdWVyeTogJHF1ZXJ5KTtcbiAgICB9XG4gIH1cbn1cblxuLy8vXG4vLy8gU2V0cyB0aGUgc2hhZG93IG9mIHRoZSBlbGVtZW50LlxuLy8vXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICRib3gtc2hhZG93IC0gVGhlIHNoYWRvdyB0byBhcHBseSB0byB0aGUgZWxlbWVudC5cbi8vL1xuQG1peGluIHNoYWRvdygkYm94LXNoYWRvdywgJHF1ZXJ5OiBmZWF0dXJlLXRhcmdldGluZy1mdW5jdGlvbnMuYWxsKCkpIHtcbiAgJGZlYXQtY29sb3I6IGZlYXR1cmUtdGFyZ2V0aW5nLWZ1bmN0aW9ucy5jcmVhdGUtdGFyZ2V0KCRxdWVyeSwgY29sb3IpO1xuXG4gIEBpbmNsdWRlIGZlYXR1cmUtdGFyZ2V0aW5nLW1peGlucy50YXJnZXRzKCRmZWF0LWNvbG9yKSB7XG4gICAgLyogQGFsdGVybmF0ZSAqL1xuICAgIGJveC1zaGFkb3c6ICRib3gtc2hhZG93O1xuICB9XG59XG5cbi8vL1xuLy8vIFNldHMgdGhlIGVsZXZhdGlvbiBvdmVybGF5IHN1cmZhY2UgcmVxdWlyZWQgcG9zaXRpb25pbmcuXG4vLy9cbkBtaXhpbiBvdmVybGF5LXN1cmZhY2UtcG9zaXRpb24oJHF1ZXJ5OiBmZWF0dXJlLXRhcmdldGluZy1mdW5jdGlvbnMuYWxsKCkpIHtcbiAgJGZlYXQtc3RydWN0dXJlOiBmZWF0dXJlLXRhcmdldGluZy1mdW5jdGlvbnMuY3JlYXRlLXRhcmdldCgkcXVlcnksIHN0cnVjdHVyZSk7XG5cbiAgQGluY2x1ZGUgZmVhdHVyZS10YXJnZXRpbmctbWl4aW5zLnRhcmdldHMoJGZlYXQtc3RydWN0dXJlKSB7XG4gICAgLyogQGFsdGVybmF0ZSAqL1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgfVxufVxuXG4vLy9cbi8vLyBTZXRzIHRoZSBkaW1lbnNpb25zIG9mIHRoZSBlbGV2YXRpb24gb3ZlcmxheSwgaW5jbHVkaW5nIHBvc2l0aW9uaW5nIGFuZCBzaXppbmcuXG4vLy9cbi8vLyBAcGFyYW0ge051bWJlcn0gJHdpZHRoIC0gVGhlIHdpZHRoIG9mIHRoZSBlbGV2YXRpb24gb3ZlcmxheVxuLy8vIEBwYXJhbSB7TnVtYmVyfSBbJGhlaWdodF0gLSBUaGUgaGVpZ2h0IG9mIHRoZSBlbGV2YXRpb24gb3ZlcmxheVxuLy8vIEBwYXJhbSB7Qm9vbGVhbn0gWyRoYXMtY29udGVudC1zaXppbmddIC0gU2V0IHRvIGZhbHNlIGlmIHRoZSBjb250YWluZXIgaGFzIG5vIGNvbnRlbnQgc2l6aW5nXG4vLy9cbkBtaXhpbiBvdmVybGF5LWRpbWVuc2lvbnMoJHdpZHRoLCAkaGVpZ2h0OiAkd2lkdGgsICRoYXMtY29udGVudC1zaXppbmc6IHRydWUsICRxdWVyeTogZmVhdHVyZS10YXJnZXRpbmctZnVuY3Rpb25zLmFsbCgpKSB7XG4gICRmZWF0LXN0cnVjdHVyZTogZmVhdHVyZS10YXJnZXRpbmctZnVuY3Rpb25zLmNyZWF0ZS10YXJnZXQoJHF1ZXJ5LCBzdHJ1Y3R1cmUpO1xuXG4gIEBpbmNsdWRlIG92ZXJsYXktc2VsZWN0b3JfIHtcbiAgICBAaW5jbHVkZSBmZWF0dXJlLXRhcmdldGluZy1taXhpbnMudGFyZ2V0cygkZmVhdC1zdHJ1Y3R1cmUpIHtcbiAgICAgIHdpZHRoOiAkd2lkdGg7XG4gICAgICBoZWlnaHQ6ICRoZWlnaHQ7XG5cbiAgICAgIEBpZiAkaGFzLWNvbnRlbnQtc2l6aW5nIHtcbiAgICAgICAgdG9wOiAwO1xuICAgICAgICAvKiBAbm9mbGlwICovXG4gICAgICAgIGxlZnQ6IDA7XG4gICAgICB9IEBlbHNlIHtcbiAgICAgICAgdG9wOiA1MCU7XG4gICAgICAgIC8qIEBub2ZsaXAgKi9cbiAgICAgICAgbGVmdDogNTAlO1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAtNTAlKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuLy8vXG4vLy8gU2V0cyB0aGUgZWxldmF0aW9uIG92ZXJsYXkgZmlsbCBjb2xvci5cbi8vLyBFeHBlY3RlZCB0byBiZSBjYWxsZWQgZGlyZWN0bHkgb24gdGhlIGVsZXZhdGlvbiBvdmVybGF5IGVsZW1lbnQuXG4vLy9cbi8vLyBAcGFyYW0ge0NvbG9yfSAkY29sb3IgLSBUaGUgY29sb3Igb2YgdGhlIGVsZXZhdGlvbiBvdmVybGF5LlxuLy8vXG5AbWl4aW4gb3ZlcmxheS1maWxsLWNvbG9yKCRjb2xvciwgJHF1ZXJ5OiBmZWF0dXJlLXRhcmdldGluZy1mdW5jdGlvbnMuYWxsKCkpIHtcbiAgJGZlYXQtY29sb3I6IGZlYXR1cmUtdGFyZ2V0aW5nLWZ1bmN0aW9ucy5jcmVhdGUtdGFyZ2V0KCRxdWVyeSwgY29sb3IpO1xuXG4gIEBpbmNsdWRlIGZlYXR1cmUtdGFyZ2V0aW5nLW1peGlucy50YXJnZXRzKCRmZWF0LWNvbG9yKSB7XG4gICAgQGluY2x1ZGUgdGhlbWUtbWl4aW5zLnByb3AoYmFja2dyb3VuZC1jb2xvciwgJGNvbG9yKTtcbiAgfVxufVxuXG4vLy9cbi8vLyBTZXRzIHRoZSBlbGV2YXRpb24gb3ZlcmxheSBvcGFjaXR5LlxuLy8vIEV4cGVjdGVkIHRvIGJlIGNhbGxlZCBmcm9tIGEgcGFyZW50IGVsZW1lbnQuXG4vLy9cbi8vLyBAcGFyYW0ge051bWJlcn0gJG9wYWNpdHkgLSBUaGUgb3BhY2l0eSBvZiB0aGUgZWxldmF0aW9uIG92ZXJsYXkuXG4vLy9cbkBtaXhpbiBvdmVybGF5LW9wYWNpdHkoJG9wYWNpdHksICRxdWVyeTogZmVhdHVyZS10YXJnZXRpbmctZnVuY3Rpb25zLmFsbCgpKSB7XG4gICRmZWF0LWNvbG9yOiBmZWF0dXJlLXRhcmdldGluZy1mdW5jdGlvbnMuY3JlYXRlLXRhcmdldCgkcXVlcnksIGNvbG9yKTtcblxuICBAaW5jbHVkZSBvdmVybGF5LXNlbGVjdG9yXyB7XG4gICAgQGluY2x1ZGUgZmVhdHVyZS10YXJnZXRpbmctbWl4aW5zLnRhcmdldHMoJGZlYXQtY29sb3IpIHtcbiAgICAgIG9wYWNpdHk6ICRvcGFjaXR5O1xuICAgIH1cbiAgfVxufVxuXG4vLyBBcHBsaWVzIHRoZSBjb3JyZWN0IENTUyBydWxlcyB0byBhbiBlbGVtZW50IHRvIGdpdmUgaXQgdGhlIGVsZXZhdGlvbiBzcGVjaWZpZWQgYnkgJHotdmFsdWUuXG4vLyBUaGUgJHotdmFsdWUgbXVzdCBiZSBiZXR3ZWVuIDAgYW5kIDI0LlxuLy8gSWYgJGNvbG9yIGhhcyBhbiBhbHBoYSBjaGFubmVsLCBpdCB3aWxsIGJlIGlnbm9yZWQgYW5kIG92ZXJyaWRkZW4uIFRvIGluY3JlYXNlIHRoZSBvcGFjaXR5IG9mIHRoZSBzaGFkb3csIHVzZVxuLy8gJG9wYWNpdHktYm9vc3QuXG5AbWl4aW4gZWxldmF0aW9uKCR6LXZhbHVlLCAkY29sb3I6IHZhcmlhYmxlcy4kYmFzZWxpbmUtY29sb3IsICRvcGFjaXR5LWJvb3N0OiAwLCAkcXVlcnk6IGZlYXR1cmUtdGFyZ2V0aW5nLWZ1bmN0aW9ucy5hbGwoKSkge1xuICBAaWYgbWV0YS50eXBlLW9mKCR6LXZhbHVlKSAhPSBudW1iZXIgb3Igbm90IG1hdGguaXMtdW5pdGxlc3MoJHotdmFsdWUpIHtcbiAgICBAZXJyb3IgXCIkei12YWx1ZSBtdXN0IGJlIGEgdW5pdGxlc3MgbnVtYmVyLCBidXQgcmVjZWl2ZWQgJyN7JHotdmFsdWV9J1wiO1xuICB9XG5cbiAgQGlmICR6LXZhbHVlIDwgMCBvciAkei12YWx1ZSA+IDI0IHtcbiAgICBAZXJyb3IgXCIkei12YWx1ZSBtdXN0IGJlIGJldHdlZW4gMCBhbmQgMjQsIGJ1dCByZWNlaXZlZCAnI3skei12YWx1ZX0nXCI7XG4gIH1cblxuICAkZmVhdC1jb2xvcjogZmVhdHVyZS10YXJnZXRpbmctZnVuY3Rpb25zLmNyZWF0ZS10YXJnZXQoJHF1ZXJ5LCBjb2xvcik7XG5cbiAgJGNvbG9yOiB0aGVtZS12YXJpYWJsZXMucHJvcC12YWx1ZSgkY29sb3IpO1xuXG4gICR1bWJyYS16LXZhbHVlOiBtYXAuZ2V0KHZhcmlhYmxlcy4kdW1icmEtbWFwLCAkei12YWx1ZSk7XG4gICRwZW51bWJyYS16LXZhbHVlOiBtYXAuZ2V0KHZhcmlhYmxlcy4kcGVudW1icmEtbWFwLCAkei12YWx1ZSk7XG4gICRhbWJpZW50LXotdmFsdWU6IG1hcC5nZXQodmFyaWFibGVzLiRhbWJpZW50LW1hcCwgJHotdmFsdWUpO1xuXG4gICR1bWJyYS1jb2xvcjogcmdiYSgkY29sb3IsIHZhcmlhYmxlcy4kdW1icmEtb3BhY2l0eSArICRvcGFjaXR5LWJvb3N0KTtcbiAgJHBlbnVtYnJhLWNvbG9yOiByZ2JhKCRjb2xvciwgdmFyaWFibGVzLiRwZW51bWJyYS1vcGFjaXR5ICsgJG9wYWNpdHktYm9vc3QpO1xuICAkYW1iaWVudC1jb2xvcjogcmdiYSgkY29sb3IsIHZhcmlhYmxlcy4kYW1iaWVudC1vcGFjaXR5ICsgJG9wYWNpdHktYm9vc3QpO1xuXG4gICRib3gtc2hhZG93OiAoXG4gICAgI3tcIiN7JHVtYnJhLXotdmFsdWV9ICN7JHVtYnJhLWNvbG9yfVwifSxcbiAgICAje1wiI3skcGVudW1icmEtei12YWx1ZX0gI3skcGVudW1icmEtY29sb3J9XCJ9LFxuICAgICN7JGFtYmllbnQtei12YWx1ZX0gJGFtYmllbnQtY29sb3IsXG4gICk7XG5cbiAgQGluY2x1ZGUgc2hhZG93KCRib3gtc2hhZG93LCAkcXVlcnk6ICRxdWVyeSk7XG59XG5cbi8vIFByaXZhdGVcblxuLy8vXG4vLy8gU2V0cyB0aGUgZWxldmF0aW9uIG92ZXJsYXkgdHJhbnNpdGlvbiB2YWx1ZS5cbi8vL1xuLy8vIEBwYXJhbSB7U3RyaW5nfSAkZHVyYXRpb24gLSBUaGUgZHVyYXRpb24gb2YgdGhlIHRyYW5zaXRpb24uXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICRlYXNpbmcgLSBUaGUgZWFzaW5nIGZ1bmN0aW9uIGZvciB0aGUgdHJhbnNpdGlvbi5cbi8vLyBAcmV0dXJuIHtTdHJpbmd9XG4vLy8gQGFjY2VzcyBwcml2YXRlXG4vLy9cbkBtaXhpbiBvdmVybGF5LXNlbGVjdG9yXyB7XG4gIC5tZGMtZWxldmF0aW9uLW92ZXJsYXkge1xuICAgIEBjb250ZW50O1xuICB9XG59XG4iLCIvL1xuLy8gQ29weXJpZ2h0IDIwMTggR29vZ2xlIEluYy5cbi8vXG4vLyBQZXJtaXNzaW9uIGlzIGhlcmVieSBncmFudGVkLCBmcmVlIG9mIGNoYXJnZSwgdG8gYW55IHBlcnNvbiBvYnRhaW5pbmcgYSBjb3B5XG4vLyBvZiB0aGlzIHNvZnR3YXJlIGFuZCBhc3NvY2lhdGVkIGRvY3VtZW50YXRpb24gZmlsZXMgKHRoZSBcIlNvZnR3YXJlXCIpLCB0byBkZWFsXG4vLyBpbiB0aGUgU29mdHdhcmUgd2l0aG91dCByZXN0cmljdGlvbiwgaW5jbHVkaW5nIHdpdGhvdXQgbGltaXRhdGlvbiB0aGUgcmlnaHRzXG4vLyB0byB1c2UsIGNvcHksIG1vZGlmeSwgbWVyZ2UsIHB1Ymxpc2gsIGRpc3RyaWJ1dGUsIHN1YmxpY2Vuc2UsIGFuZC9vciBzZWxsXG4vLyBjb3BpZXMgb2YgdGhlIFNvZnR3YXJlLCBhbmQgdG8gcGVybWl0IHBlcnNvbnMgdG8gd2hvbSB0aGUgU29mdHdhcmUgaXNcbi8vIGZ1cm5pc2hlZCB0byBkbyBzbywgc3ViamVjdCB0byB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnM6XG4vL1xuLy8gVGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UgYW5kIHRoaXMgcGVybWlzc2lvbiBub3RpY2Ugc2hhbGwgYmUgaW5jbHVkZWQgaW5cbi8vIGFsbCBjb3BpZXMgb3Igc3Vic3RhbnRpYWwgcG9ydGlvbnMgb2YgdGhlIFNvZnR3YXJlLlxuLy9cbi8vIFRIRSBTT0ZUV0FSRSBJUyBQUk9WSURFRCBcIkFTIElTXCIsIFdJVEhPVVQgV0FSUkFOVFkgT0YgQU5ZIEtJTkQsIEVYUFJFU1MgT1Jcbi8vIElNUExJRUQsIElOQ0xVRElORyBCVVQgTk9UIExJTUlURUQgVE8gVEhFIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZLFxuLy8gRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQU5EIE5PTklORlJJTkdFTUVOVC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFXG4vLyBBVVRIT1JTIE9SIENPUFlSSUdIVCBIT0xERVJTIEJFIExJQUJMRSBGT1IgQU5ZIENMQUlNLCBEQU1BR0VTIE9SIE9USEVSXG4vLyBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQU4gQUNUSU9OIE9GIENPTlRSQUNULCBUT1JUIE9SIE9USEVSV0lTRSwgQVJJU0lORyBGUk9NLFxuLy8gT1VUIE9GIE9SIElOIENPTk5FQ1RJT04gV0lUSCBUSEUgU09GVFdBUkUgT1IgVEhFIFVTRSBPUiBPVEhFUiBERUFMSU5HUyBJTlxuLy8gVEhFIFNPRlRXQVJFLlxuLy9cblxuQHVzZSBcInNhc3M6bWF0aFwiO1xuQHVzZSBcIkBtYXRlcmlhbC9hbmltYXRpb24vZnVuY3Rpb25zXCIgYXMgYW5pbWF0aW9uLWZ1bmN0aW9ucztcbkB1c2UgXCJAbWF0ZXJpYWwvYnV0dG9uL3ZhcmlhYmxlc1wiIGFzIGJ1dHRvbi12YXJpYWJsZXM7XG5AdXNlIFwiQG1hdGVyaWFsL2VsZXZhdGlvbi9taXhpbnNcIiBhcyBlbGV2YXRpb24tbWl4aW5zO1xuQHVzZSBcIkBtYXRlcmlhbC9mZWF0dXJlLXRhcmdldGluZy9mdW5jdGlvbnNcIiBhcyBmZWF0dXJlLXRhcmdldGluZy1mdW5jdGlvbnM7XG5AdXNlIFwiQG1hdGVyaWFsL2ZlYXR1cmUtdGFyZ2V0aW5nL21peGluc1wiIGFzIGZlYXR1cmUtdGFyZ2V0aW5nLW1peGlucztcbkB1c2UgXCJAbWF0ZXJpYWwvcnRsL21peGluc1wiIGFzIHJ0bC1taXhpbnM7XG5AdXNlIFwiQG1hdGVyaWFsL3NoYXBlL21peGluc1wiIGFzIHNoYXBlLW1peGlucztcbkB1c2UgXCJAbWF0ZXJpYWwvdGhlbWUvbWl4aW5zXCIgYXMgdGhlbWUtbWl4aW5zO1xuQHVzZSBcIkBtYXRlcmlhbC90aGVtZS92YXJpYWJsZXNcIiBhcyB0aGVtZS12YXJpYWJsZXM7IC8vIGZvciBtZGMtdGhlbWUtcHJvcC12YWx1ZVxuQHVzZSBcIkBtYXRlcmlhbC90b3VjaC10YXJnZXQvdmFyaWFibGVzXCIgYXMgdG91Y2gtdGFyZ2V0LXZhcmlhYmxlcztcbkB1c2UgXCJAbWF0ZXJpYWwvdHlwb2dyYXBoeS9taXhpbnNcIiBhcyB0eXBvZ3JhcGh5LW1peGlucztcbkB1c2UgXCIuL3ZhcmlhYmxlc1wiO1xuXG5AbWl4aW4gY29yZS1zdHlsZXMoJHF1ZXJ5OiBmZWF0dXJlLXRhcmdldGluZy1mdW5jdGlvbnMuYWxsKCkpIHtcbiAgJGZlYXQtYW5pbWF0aW9uOiBmZWF0dXJlLXRhcmdldGluZy1mdW5jdGlvbnMuY3JlYXRlLXRhcmdldCgkcXVlcnksIGFuaW1hdGlvbik7XG4gICRmZWF0LXN0cnVjdHVyZTogZmVhdHVyZS10YXJnZXRpbmctZnVuY3Rpb25zLmNyZWF0ZS10YXJnZXQoJHF1ZXJ5LCBzdHJ1Y3R1cmUpO1xuXG4gIEBpbmNsdWRlIGVsZXZhdGlvbi1taXhpbnMub3ZlcmxheS1jb21tb24oJHF1ZXJ5KTsgLy8gQ09QWUJBUkFfQ09NTUVOVF9USElTX0xJTkVcblxuICAvLyBwb3N0Y3NzLWJlbS1saW50ZXI6IGRlZmluZSBkaWFsb2dcblxuICAubWRjLWRpYWxvZyxcbiAgLm1kYy1kaWFsb2dfX3NjcmltIHtcbiAgICBAaW5jbHVkZSBmZWF0dXJlLXRhcmdldGluZy1taXhpbnMudGFyZ2V0cygkZmVhdC1zdHJ1Y3R1cmUpIHtcbiAgICAgIHBvc2l0aW9uOiBmaXhlZDtcbiAgICAgIHRvcDogMDtcbiAgICAgIGxlZnQ6IDA7XG4gICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgfVxuICB9XG5cbiAgLm1kYy1kaWFsb2cge1xuICAgIEBpbmNsdWRlIGNvbnRhaW5lci1maWxsLWNvbG9yKHN1cmZhY2UsICRxdWVyeTogJHF1ZXJ5KTtcbiAgICBAaW5jbHVkZSBzY3JpbS1jb2xvcih2YXJpYWJsZXMuJHNjcmltLWNvbG9yLCAkcXVlcnk6ICRxdWVyeSk7XG4gICAgQGluY2x1ZGUgdGl0bGUtaW5rLWNvbG9yKHZhcmlhYmxlcy4kdGl0bGUtaW5rLWNvbG9yLCAkcXVlcnk6ICRxdWVyeSk7XG4gICAgQGluY2x1ZGUgY29udGVudC1pbmstY29sb3IodmFyaWFibGVzLiRjb250ZW50LWluay1jb2xvciwgJHF1ZXJ5OiAkcXVlcnkpO1xuICAgIEBpbmNsdWRlIHNjcm9sbC1kaXZpZGVyLWNvbG9yKHZhcmlhYmxlcy4kc2Nyb2xsLWRpdmlkZXItY29sb3IsICRxdWVyeTogJHF1ZXJ5KTtcbiAgICBAaW5jbHVkZSBtaW4td2lkdGgodmFyaWFibGVzLiRtaW4td2lkdGgsICRxdWVyeTogJHF1ZXJ5KTtcbiAgICBAaW5jbHVkZSBtYXgtd2lkdGgodmFyaWFibGVzLiRtYXgtd2lkdGgsIHZhcmlhYmxlcy4kbWFyZ2luLCAkcXVlcnk6ICRxdWVyeSk7XG4gICAgQGluY2x1ZGUgbWF4LWhlaWdodChudWxsLCB2YXJpYWJsZXMuJG1hcmdpbiwgJHF1ZXJ5OiAkcXVlcnkpO1xuICAgIEBpbmNsdWRlIHNoYXBlLXJhZGl1cyhtZWRpdW0sICRxdWVyeTogJHF1ZXJ5KTtcblxuICAgIEBpbmNsdWRlIGZlYXR1cmUtdGFyZ2V0aW5nLW1peGlucy50YXJnZXRzKCRmZWF0LXN0cnVjdHVyZSkge1xuICAgICAgLy8gVXNlIGBkaXNwbGF5OiBub25lYCBpbnN0ZWFkIG9mIGB2aXNpYmlsaXR5OiBoaWRkZW5gIHRvIGF2b2lkIHJlY2FsY3VsYXRpbmcgbGF5b3V0IHdoZW4gdGhlIGRpYWxvZyBpcyBjbG9zZWQuXG4gICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgei1pbmRleDogdmFyaWFibGVzLiR6LWluZGV4O1xuICAgIH1cbiAgfVxuXG4gIC5tZGMtZGlhbG9nX19zY3JpbSB7XG4gICAgQGluY2x1ZGUgZmVhdHVyZS10YXJnZXRpbmctbWl4aW5zLnRhcmdldHMoJGZlYXQtc3RydWN0dXJlKSB7XG4gICAgICBvcGFjaXR5OiAwO1xuICAgICAgei1pbmRleDogLTE7XG4gICAgfVxuICB9XG5cbiAgLy8gVGhpcyB3cmFwcGVyIGVsZW1lbnQgaXMgbmVlZGVkIHRvIG1ha2UgbWF4LWhlaWdodCB3b3JrIGluIElFIDExLlxuICAvLyBTZWUgaHR0cHM6Ly9naXRodWIuY29tL3BoaWxpcHdhbHRvbi9mbGV4YnVncy9pc3N1ZXMvMjE2XG4gIC5tZGMtZGlhbG9nX19jb250YWluZXIge1xuICAgIEBpbmNsdWRlIGZlYXR1cmUtdGFyZ2V0aW5nLW1peGlucy50YXJnZXRzKCRmZWF0LXN0cnVjdHVyZSkge1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7IC8vIElFIDExXG4gICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1hcm91bmQ7IC8vIEVuc3VyZSBTYWZhcmkgY2VudGVycyB0aGUgZGlhbG9nIChiZWNhdXNlIGl0IHRyZWF0cyB0aGUgY29udGFpbmVyJ3Mgd2lkdGggb2RkbHkpXG4gICAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgdHJhbnNmb3JtOiBzY2FsZSguOCk7XG4gICAgICBvcGFjaXR5OiAwO1xuICAgICAgLy8gVGhpcyBlbGVtZW50IGlzIG5lY2Vzc2FyeSBmb3IgSUUgMTEgYW5kIG5lZWRzIHRvIGhhdmUgYGhlaWdodDogMTAwJWAuXG4gICAgICAvLyBMZXQgY2xpY2tzIG9uIGVsZW1lbnQgZmFsbCB0aHJvdWdoIHRvIHNjcmltIGVsZW1lbnQgdW5kZXJuZWF0aC5cbiAgICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICAgIH1cbiAgfVxuXG4gIC5tZGMtZGlhbG9nX19zdXJmYWNlIHtcbiAgICBAaW5jbHVkZSBlbGV2YXRpb24tbWl4aW5zLm92ZXJsYXktc3VyZmFjZS1wb3NpdGlvbigkcXVlcnk6ICRxdWVyeSk7XG4gICAgQGluY2x1ZGUgZWxldmF0aW9uLW1peGlucy5vdmVybGF5LWRpbWVuc2lvbnMoMTAwJSwgJHF1ZXJ5OiAkcXVlcnkpO1xuICAgIEBpbmNsdWRlIGVsZXZhdGlvbi1taXhpbnMuZWxldmF0aW9uKDI0LCAkcXVlcnk6ICRxdWVyeSk7XG5cbiAgICBAaW5jbHVkZSBmZWF0dXJlLXRhcmdldGluZy1taXhpbnMudGFyZ2V0cygkZmVhdC1zdHJ1Y3R1cmUpIHtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgZmxleC1ncm93OiAwOyAvLyBJRSAxMVxuICAgICAgZmxleC1zaHJpbms6IDA7IC8vIElFIDExXG4gICAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgICAgbWF4LXdpZHRoOiAxMDAlOyAvLyBJRSAxMVxuICAgICAgbWF4LWhlaWdodDogMTAwJTsgLy8gSUUgMTFcbiAgICAgIHBvaW50ZXItZXZlbnRzOiBhdXRvOyAvLyBPdmVycmlkZSBmcm9tIGAubWRjLWRpYWxvZ19fY29udGFpbmVyYC5cbiAgICAgIC8vIElFIDExOiBPdGhlcndpc2UsIHNjcm9sbGluZyBjb250ZW50IGluIGBtZGMtZGlhbG9nX19jb250ZW50YCBvdmVyZmxvd3MuXG4gICAgICBvdmVyZmxvdy15OiBhdXRvO1xuXG4gICAgICBAaW5jbHVkZSBydGwtbWl4aW5zLnJ0bChcIi5tZGMtZGlhbG9nXCIpIHtcbiAgICAgICAgLyogQG5vZmxpcCAqL1xuICAgICAgICB0ZXh0LWFsaWduOiByaWdodDtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAubWRjLWRpYWxvZ19fdGl0bGUge1xuICAgIEBpbmNsdWRlIHR5cG9ncmFwaHktbWl4aW5zLnRleHQtYmFzZWxpbmUoJHRvcDogNDBweCwgJGRpc3BsYXk6IGJsb2NrLCAkcXVlcnk6ICRxdWVyeSk7XG4gICAgQGluY2x1ZGUgdHlwb2dyYXBoeS1taXhpbnMudHlwb2dyYXBoeShoZWFkbGluZTYsICRxdWVyeTogJHF1ZXJ5KTtcblxuICAgIEBpbmNsdWRlIGZlYXR1cmUtdGFyZ2V0aW5nLW1peGlucy50YXJnZXRzKCRmZWF0LXN0cnVjdHVyZSkge1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgZmxleC1zaHJpbms6IDA7XG4gICAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgICAgbWFyZ2luOiAwO1xuICAgICAgcGFkZGluZzogMCAyNHB4IHZhcmlhYmxlcy4kdGl0bGUtYm90dG9tLXBhZGRpbmc7XG4gICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgdHJhbnNwYXJlbnQ7XG5cbiAgICAgIEBpbmNsdWRlIHJ0bC1taXhpbnMucnRsKFwiLm1kYy1kaWFsb2dcIikge1xuICAgICAgICAvKiBAbm9mbGlwICovXG4gICAgICAgIHRleHQtYWxpZ246IHJpZ2h0O1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC8vIHN0eWxlbGludC1kaXNhYmxlLW5leHQtbGluZSBwbHVnaW4vc2VsZWN0b3ItYmVtLXBhdHRlcm5cbiAgLm1kYy1kaWFsb2ctLXNjcm9sbGFibGUgLm1kYy1kaWFsb2dfX3RpdGxlIHtcbiAgICBAaW5jbHVkZSBmZWF0dXJlLXRhcmdldGluZy1taXhpbnMudGFyZ2V0cygkZmVhdC1zdHJ1Y3R1cmUpIHtcbiAgICAgIC8vIEFkanVzdCBib3R0b20gcGFkZGluZyB0byBtYWtlIHRpdGxlIGhlaWdodCBhbGlnbiB0byBzcGVjIHdoZW4gZGl2aWRlciBpcyBwcmVzZW50LlxuICAgICAgLy8gKFRpdGxlcyBmb3IgYWxlcnQgZGlhbG9ncyB3L28gZGl2aWRlcnMgYWxpZ24gYmFzZWQgb24gdGV4dCBiYXNlbGluZS4gQWxsIHNwZWMgdmFsdWVzIGFyZSBkaXZpc2libGUgYnkgNC4pXG4gICAgICBwYWRkaW5nLWJvdHRvbTogdmFyaWFibGVzLiR0aXRsZS1ib3R0b20tcGFkZGluZyArIDZweDtcbiAgICB9XG4gIH1cblxuICAubWRjLWRpYWxvZ19fY29udGVudCB7XG4gICAgQGluY2x1ZGUgdHlwb2dyYXBoeS1taXhpbnMudHlwb2dyYXBoeShib2R5MSwgJHF1ZXJ5OiAkcXVlcnkpO1xuXG4gICAgQGluY2x1ZGUgZmVhdHVyZS10YXJnZXRpbmctbWl4aW5zLnRhcmdldHMoJGZlYXQtc3RydWN0dXJlKSB7XG4gICAgICBmbGV4LWdyb3c6IDE7XG4gICAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgICAgbWFyZ2luOiAwO1xuICAgICAgcGFkZGluZzogMjBweCAyNHB4OyAvLyBOb3RlOiB0aGUgdG9wIHBhZGRpbmcgaXMgb25seSAyMHB4IGZvciBkaWFsb2dzIHdpdGhvdXQgdGl0bGVzOyBzZWUgYmVsb3cgZm9yIG92ZXJyaWRlXG4gICAgICBvdmVyZmxvdzogYXV0bztcbiAgICAgIC13ZWJraXQtb3ZlcmZsb3ctc2Nyb2xsaW5nOiB0b3VjaDtcbiAgICB9XG5cbiAgICAvLyBUaGUgY29udGVudCBlbGVtZW50IGFscmVhZHkgaGFzIHRvcC9ib3R0b20gcGFkZGluZywgc28gd2UgbmVlZCB0byBzdXBwcmVzcyBtYXJnaW5zIG9uIGl0cyBmaXJzdC9sYXN0IGNoaWxkcmVuLlxuICAgID4gOmZpcnN0LWNoaWxkIHtcbiAgICAgIEBpbmNsdWRlIGZlYXR1cmUtdGFyZ2V0aW5nLW1peGlucy50YXJnZXRzKCRmZWF0LXN0cnVjdHVyZSkge1xuICAgICAgICBtYXJnaW4tdG9wOiAwO1xuICAgICAgfVxuICAgIH1cblxuICAgIC8vIFRoZSBjb250ZW50IGVsZW1lbnQgYWxyZWFkeSBoYXMgdG9wL2JvdHRvbSBwYWRkaW5nLCBzbyB3ZSBuZWVkIHRvIHN1cHByZXNzIG1hcmdpbnMgb24gaXRzIGZpcnN0L2xhc3QgY2hpbGRyZW4uXG4gICAgPiA6bGFzdC1jaGlsZCB7XG4gICAgICBAaW5jbHVkZSBmZWF0dXJlLXRhcmdldGluZy1taXhpbnMudGFyZ2V0cygkZmVhdC1zdHJ1Y3R1cmUpIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAvLyBzdHlsZWxpbnQtZGlzYWJsZS1uZXh0LWxpbmUgcGx1Z2luL3NlbGVjdG9yLWJlbS1wYXR0ZXJuXG4gIC5tZGMtZGlhbG9nX190aXRsZSArIC5tZGMtZGlhbG9nX19jb250ZW50IHtcbiAgICBAaW5jbHVkZSBmZWF0dXJlLXRhcmdldGluZy1taXhpbnMudGFyZ2V0cygkZmVhdC1zdHJ1Y3R1cmUpIHtcbiAgICAgIC8vIEVsaW1pbmF0ZSBwYWRkaW5nIHRvIGJyaW5nIGFzIGNsb3NlIHRvIHNwZWMgYXMgcG9zc2libGUsIHJlbHlpbmcgb24gdGl0bGUgcGFkZGluZy5cbiAgICAgIC8vIChTcGVjIHNlZW1zIGluY29uc2lzdGVudCBSRSB0aXRsZS9ib2R5IHNwYWNpbmcgb24gYWxlcnQgdnMuIHNpbXBsZSB2YXJpYW50cy4pXG4gICAgICBwYWRkaW5nLXRvcDogMDtcbiAgICB9XG4gIH1cblxuICAvLyBzdHlsZWxpbnQtZGlzYWJsZS1uZXh0LWxpbmUgcGx1Z2luL3NlbGVjdG9yLWJlbS1wYXR0ZXJuXG4gIC5tZGMtZGlhbG9nLS1zY3JvbGxhYmxlIC5tZGMtZGlhbG9nX19jb250ZW50IHtcbiAgICBAaW5jbHVkZSBmZWF0dXJlLXRhcmdldGluZy1taXhpbnMudGFyZ2V0cygkZmVhdC1zdHJ1Y3R1cmUpIHtcbiAgICAgIC8vIFJlZHVjZSBhbmQgZXF1YWxpemUgdmVydGljYWwgcGFkZGluZ3Mgd2hlbiBzY3JvbGxhYmxlIGRpdmlkZXJzIGFyZSBwcmVzZW50XG4gICAgICAvLyAoTm90ZTogdGhpcyBpcyBpbnRlbnRpb25hbGx5IGFmdGVyIHRpdGxlICsgY29udGVudCB0byB0YWtlIHByZWNlZGVuY2UpXG4gICAgICBwYWRkaW5nLXRvcDogOHB4O1xuICAgICAgcGFkZGluZy1ib3R0b206IDhweDtcbiAgICB9XG4gIH1cblxuICAvLyBzdHlsZWxpbnQtZGlzYWJsZS1uZXh0LWxpbmUgcGx1Z2luL3NlbGVjdG9yLWJlbS1wYXR0ZXJuXG4gIC5tZGMtZGlhbG9nX19jb250ZW50IC5tZGMtbGlzdDpmaXJzdC1jaGlsZDpsYXN0LWNoaWxkIHtcbiAgICBAaW5jbHVkZSBmZWF0dXJlLXRhcmdldGluZy1taXhpbnMudGFyZ2V0cygkZmVhdC1zdHJ1Y3R1cmUpIHtcbiAgICAgIC8vIE92ZXJyaWRlIGRlZmF1bHQgLm1kYy1saXN0IHBhZGRpbmcgZm9yIGNvbnRlbnQgY29uc2lzdGluZyBleGNsdXNpdmVseSBvZiBhIE1EQyBMaXN0XG4gICAgICBwYWRkaW5nOiA2cHggMCAwOyAvLyBUb3AgcGFkZGluZyBiYWxhbmNlcyB3aXRoIHRpdGxlIGhlaWdodFxuICAgIH1cbiAgfVxuXG4gIC8vIHN0eWxlbGludC1kaXNhYmxlLW5leHQtbGluZSBwbHVnaW4vc2VsZWN0b3ItYmVtLXBhdHRlcm4sIHNlbGVjdG9yLW1heC1zcGVjaWZpY2l0eVxuICAubWRjLWRpYWxvZy0tc2Nyb2xsYWJsZSAubWRjLWRpYWxvZ19fY29udGVudCAubWRjLWxpc3Q6Zmlyc3QtY2hpbGQ6bGFzdC1jaGlsZCB7XG4gICAgQGluY2x1ZGUgZmVhdHVyZS10YXJnZXRpbmctbWl4aW5zLnRhcmdldHMoJGZlYXQtc3RydWN0dXJlKSB7XG4gICAgICAvLyBPdmVycmlkZSBkZWZhdWx0IC5tZGMtbGlzdCBwYWRkaW5nIGZvciBjb250ZW50IGNvbnNpc3RpbmcgZXhjbHVzaXZlbHkgb2YgYSBNREMgTGlzdFxuICAgICAgcGFkZGluZzogMDtcbiAgICB9XG4gIH1cblxuICAubWRjLWRpYWxvZ19fYWN0aW9ucyB7XG4gICAgQGluY2x1ZGUgZmVhdHVyZS10YXJnZXRpbmctbWl4aW5zLnRhcmdldHMoJGZlYXQtc3RydWN0dXJlKSB7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgZmxleC1zaHJpbms6IDA7XG4gICAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDtcbiAgICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgICBtaW4taGVpZ2h0OiA1MnB4O1xuICAgICAgbWFyZ2luOiAwO1xuICAgICAgcGFkZGluZzogdmFyaWFibGVzLiRhY3Rpb25zLXBhZGRpbmc7XG4gICAgICBib3JkZXItdG9wOiAxcHggc29saWQgdHJhbnNwYXJlbnQ7XG4gICAgfVxuXG4gICAgLm1kYy1kaWFsb2ctLXN0YWNrZWQgJiB7XG4gICAgICBAaW5jbHVkZSBmZWF0dXJlLXRhcmdldGluZy1taXhpbnMudGFyZ2V0cygkZmVhdC1zdHJ1Y3R1cmUpIHtcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgICAgYWxpZ24taXRlbXM6IGZsZXgtZW5kO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC5tZGMtZGlhbG9nX19idXR0b24ge1xuICAgIEBpbmNsdWRlIGZlYXR1cmUtdGFyZ2V0aW5nLW1peGlucy50YXJnZXRzKCRmZWF0LXN0cnVjdHVyZSkge1xuICAgICAgQGluY2x1ZGUgcnRsLW1peGlucy5yZWZsZXhpdmUtYm94KG1hcmdpbiwgbGVmdCwgOHB4KTtcbiAgICB9XG5cbiAgICAmOmZpcnN0LWNoaWxkIHtcbiAgICAgIEBpbmNsdWRlIGZlYXR1cmUtdGFyZ2V0aW5nLW1peGlucy50YXJnZXRzKCRmZWF0LXN0cnVjdHVyZSkge1xuICAgICAgICBAaW5jbHVkZSBydGwtbWl4aW5zLnJlZmxleGl2ZS1ib3gobWFyZ2luLCBsZWZ0LCAwKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBAaW5jbHVkZSBmZWF0dXJlLXRhcmdldGluZy1taXhpbnMudGFyZ2V0cygkZmVhdC1zdHJ1Y3R1cmUpIHtcbiAgICAgIG1heC13aWR0aDogMTAwJTsgLy8gUHJldmVudCBsb25nIHRleHQgZnJvbSBvdmVyZmxvd2luZyBwYXJlbnQgZWxlbWVudCBpbiBJRSAxMVxuICAgICAgLyogQG5vZmxpcCAqL1xuICAgICAgdGV4dC1hbGlnbjogcmlnaHQ7XG5cbiAgICAgIEBpbmNsdWRlIHJ0bC1taXhpbnMucnRsKFwiLm1kYy1kaWFsb2dcIikge1xuICAgICAgICAvKiBAbm9mbGlwICovXG4gICAgICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLm1kYy1kaWFsb2ctLXN0YWNrZWQgJjpub3QoOmZpcnN0LWNoaWxkKSB7XG4gICAgICBAaW5jbHVkZSBmZWF0dXJlLXRhcmdldGluZy1taXhpbnMudGFyZ2V0cygkZmVhdC1zdHJ1Y3R1cmUpIHtcbiAgICAgICAgbWFyZ2luLXRvcDogMTJweDtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAubWRjLWRpYWxvZy0tb3BlbixcbiAgLm1kYy1kaWFsb2ctLW9wZW5pbmcsXG4gIC5tZGMtZGlhbG9nLS1jbG9zaW5nIHtcbiAgICBAaW5jbHVkZSBmZWF0dXJlLXRhcmdldGluZy1taXhpbnMudGFyZ2V0cygkZmVhdC1zdHJ1Y3R1cmUpIHtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgfVxuICB9XG5cbiAgLm1kYy1kaWFsb2ctLW9wZW5pbmcge1xuICAgIC5tZGMtZGlhbG9nX19zY3JpbSB7XG4gICAgICBAaW5jbHVkZSBmZWF0dXJlLXRhcmdldGluZy1taXhpbnMudGFyZ2V0cygkZmVhdC1hbmltYXRpb24pIHtcbiAgICAgICAgdHJhbnNpdGlvbjogb3BhY2l0eSAxNTBtcyBsaW5lYXI7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLm1kYy1kaWFsb2dfX2NvbnRhaW5lciB7XG4gICAgICBAaW5jbHVkZSBmZWF0dXJlLXRhcmdldGluZy1taXhpbnMudGFyZ2V0cygkZmVhdC1hbmltYXRpb24pIHtcbiAgICAgICAgdHJhbnNpdGlvbjogb3BhY2l0eSA3NW1zIGxpbmVhciwgYW5pbWF0aW9uLWZ1bmN0aW9ucy5lbnRlcih0cmFuc2Zvcm0sIDE1MG1zKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAubWRjLWRpYWxvZy0tY2xvc2luZyB7XG4gICAgLm1kYy1kaWFsb2dfX3NjcmltLFxuICAgIC5tZGMtZGlhbG9nX19jb250YWluZXIge1xuICAgICAgQGluY2x1ZGUgZmVhdHVyZS10YXJnZXRpbmctbWl4aW5zLnRhcmdldHMoJGZlYXQtYW5pbWF0aW9uKSB7XG4gICAgICAgIHRyYW5zaXRpb246IG9wYWNpdHkgNzVtcyBsaW5lYXI7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLm1kYy1kaWFsb2dfX2NvbnRhaW5lciB7XG4gICAgICBAaW5jbHVkZSBmZWF0dXJlLXRhcmdldGluZy1taXhpbnMudGFyZ2V0cygkZmVhdC1zdHJ1Y3R1cmUpIHtcbiAgICAgICAgLy8gRGlhbG9nIGNvbnRhaW5lciBzY2FsZXMgdXAgd2hpbGUgb3BlbmluZywgYnV0IHNob3VsZCByZW1haW4gc2NhbGVkIHVwIHdoaWxlIGNsb3NpbmdcbiAgICAgICAgdHJhbnNmb3JtOiBzY2FsZSgxKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAubWRjLWRpYWxvZy0tb3BlbiB7XG4gICAgLm1kYy1kaWFsb2dfX3NjcmltIHtcbiAgICAgIEBpbmNsdWRlIGZlYXR1cmUtdGFyZ2V0aW5nLW1peGlucy50YXJnZXRzKCRmZWF0LXN0cnVjdHVyZSkge1xuICAgICAgICBvcGFjaXR5OiAxO1xuICAgICAgfVxuICAgIH1cblxuICAgIC5tZGMtZGlhbG9nX19jb250YWluZXIge1xuICAgICAgQGluY2x1ZGUgZmVhdHVyZS10YXJnZXRpbmctbWl4aW5zLnRhcmdldHMoJGZlYXQtc3RydWN0dXJlKSB7XG4gICAgICAgIHRyYW5zZm9ybTogc2NhbGUoMSk7XG4gICAgICAgIG9wYWNpdHk6IDE7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLy8gcG9zdGNzcy1iZW0tbGludGVyOiBlbmRcblxuICAvLyBDbGFzcyBhcHBsaWVkIHRvIGJvZHkgd2hpbGUgZGlhbG9nIGlzIG9wZW4sIHRvIHByZXZlbnQgc2Nyb2xsaW5nIGJlaGluZCB0aGUgZGlhbG9nXG4gIC5tZGMtZGlhbG9nLXNjcm9sbC1sb2NrIHtcbiAgICBAaW5jbHVkZSBmZWF0dXJlLXRhcmdldGluZy1taXhpbnMudGFyZ2V0cygkZmVhdC1zdHJ1Y3R1cmUpIHtcbiAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgfVxuICB9XG59XG5cbkBtaXhpbiBjb250YWluZXItZmlsbC1jb2xvcigkY29sb3IsICRxdWVyeTogZmVhdHVyZS10YXJnZXRpbmctZnVuY3Rpb25zLmFsbCgpKSB7XG4gICRmZWF0LWNvbG9yOiBmZWF0dXJlLXRhcmdldGluZy1mdW5jdGlvbnMuY3JlYXRlLXRhcmdldCgkcXVlcnksIGNvbG9yKTtcblxuICAubWRjLWRpYWxvZ19fc3VyZmFjZSB7XG4gICAgQGluY2x1ZGUgZmVhdHVyZS10YXJnZXRpbmctbWl4aW5zLnRhcmdldHMoJGZlYXQtY29sb3IpIHtcbiAgICAgIEBpbmNsdWRlIHRoZW1lLW1peGlucy5wcm9wKGJhY2tncm91bmQtY29sb3IsICRjb2xvcik7XG4gICAgfVxuICB9XG59XG5cbkBtaXhpbiBzY3JpbS1jb2xvcigkY29sb3IsICRvcGFjaXR5OiB2YXJpYWJsZXMuJHNjcmltLW9wYWNpdHksICRxdWVyeTogZmVhdHVyZS10YXJnZXRpbmctZnVuY3Rpb25zLmFsbCgpKSB7XG4gICRmZWF0LWNvbG9yOiBmZWF0dXJlLXRhcmdldGluZy1mdW5jdGlvbnMuY3JlYXRlLXRhcmdldCgkcXVlcnksIGNvbG9yKTtcblxuICAubWRjLWRpYWxvZ19fc2NyaW0ge1xuICAgIEBpbmNsdWRlIGZlYXR1cmUtdGFyZ2V0aW5nLW1peGlucy50YXJnZXRzKCRmZWF0LWNvbG9yKSB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKHRoZW1lLXZhcmlhYmxlcy5wcm9wLXZhbHVlKCRjb2xvciksICRvcGFjaXR5KTtcbiAgICB9XG4gIH1cbn1cblxuQG1peGluIHRpdGxlLWluay1jb2xvcigkY29sb3IsICRvcGFjaXR5OiB2YXJpYWJsZXMuJHRpdGxlLWluay1vcGFjaXR5LCAkcXVlcnk6IGZlYXR1cmUtdGFyZ2V0aW5nLWZ1bmN0aW9ucy5hbGwoKSkge1xuICAkZmVhdC1jb2xvcjogZmVhdHVyZS10YXJnZXRpbmctZnVuY3Rpb25zLmNyZWF0ZS10YXJnZXQoJHF1ZXJ5LCBjb2xvcik7XG5cbiAgLm1kYy1kaWFsb2dfX3RpdGxlIHtcbiAgICBAaW5jbHVkZSBmZWF0dXJlLXRhcmdldGluZy1taXhpbnMudGFyZ2V0cygkZmVhdC1jb2xvcikge1xuICAgICAgY29sb3I6IHJnYmEodGhlbWUtdmFyaWFibGVzLnByb3AtdmFsdWUoJGNvbG9yKSwgJG9wYWNpdHkpO1xuICAgIH1cbiAgfVxufVxuXG5AbWl4aW4gY29udGVudC1pbmstY29sb3IoJGNvbG9yLCAkb3BhY2l0eTogdmFyaWFibGVzLiRjb250ZW50LWluay1vcGFjaXR5LCAkcXVlcnk6IGZlYXR1cmUtdGFyZ2V0aW5nLWZ1bmN0aW9ucy5hbGwoKSkge1xuICAkZmVhdC1jb2xvcjogZmVhdHVyZS10YXJnZXRpbmctZnVuY3Rpb25zLmNyZWF0ZS10YXJnZXQoJHF1ZXJ5LCBjb2xvcik7XG5cbiAgLm1kYy1kaWFsb2dfX2NvbnRlbnQge1xuICAgIEBpbmNsdWRlIGZlYXR1cmUtdGFyZ2V0aW5nLW1peGlucy50YXJnZXRzKCRmZWF0LWNvbG9yKSB7XG4gICAgICBjb2xvcjogcmdiYSh0aGVtZS12YXJpYWJsZXMucHJvcC12YWx1ZSgkY29sb3IpLCAkb3BhY2l0eSk7XG4gICAgfVxuICB9XG59XG5cbkBtaXhpbiBzY3JvbGwtZGl2aWRlci1jb2xvcihcbiAgJGNvbG9yLFxuICAkb3BhY2l0eTogdmFyaWFibGVzLiRzY3JvbGwtZGl2aWRlci1vcGFjaXR5LFxuICAkcXVlcnk6IGZlYXR1cmUtdGFyZ2V0aW5nLWZ1bmN0aW9ucy5hbGwoKVxuKSB7XG4gICRmZWF0LWNvbG9yOiBmZWF0dXJlLXRhcmdldGluZy1mdW5jdGlvbnMuY3JlYXRlLXRhcmdldCgkcXVlcnksIGNvbG9yKTtcblxuICAmLm1kYy1kaWFsb2ctLXNjcm9sbGFibGUgLm1kYy1kaWFsb2dfX3RpdGxlLFxuICAmLm1kYy1kaWFsb2ctLXNjcm9sbGFibGUgLm1kYy1kaWFsb2dfX2FjdGlvbnMge1xuICAgIEBpbmNsdWRlIGZlYXR1cmUtdGFyZ2V0aW5nLW1peGlucy50YXJnZXRzKCRmZWF0LWNvbG9yKSB7XG4gICAgICBib3JkZXItY29sb3I6IHJnYmEodGhlbWUtdmFyaWFibGVzLnByb3AtdmFsdWUoJGNvbG9yKSwgJG9wYWNpdHkpO1xuICAgIH1cbiAgfVxufVxuXG5AbWl4aW4gc2hhcGUtcmFkaXVzKCRyYWRpdXMsICRydGwtcmVmbGV4aXZlOiBmYWxzZSwgJHF1ZXJ5OiBmZWF0dXJlLXRhcmdldGluZy1mdW5jdGlvbnMuYWxsKCkpIHtcbiAgJGZlYXQtc3RydWN0dXJlOiBmZWF0dXJlLXRhcmdldGluZy1mdW5jdGlvbnMuY3JlYXRlLXRhcmdldCgkcXVlcnksIHN0cnVjdHVyZSk7XG5cbiAgLm1kYy1kaWFsb2dfX3N1cmZhY2Uge1xuICAgIEBpbmNsdWRlIHNoYXBlLW1peGlucy5yYWRpdXMoJHJhZGl1cywgJHJ0bC1yZWZsZXhpdmUsICRxdWVyeTogJHF1ZXJ5KTtcbiAgfVxufVxuXG5AbWl4aW4gbWluLXdpZHRoKCRtaW4td2lkdGgsICRxdWVyeTogZmVhdHVyZS10YXJnZXRpbmctZnVuY3Rpb25zLmFsbCgpKSB7XG4gICRmZWF0LXN0cnVjdHVyZTogZmVhdHVyZS10YXJnZXRpbmctZnVuY3Rpb25zLmNyZWF0ZS10YXJnZXQoJHF1ZXJ5LCBzdHJ1Y3R1cmUpO1xuXG4gIC5tZGMtZGlhbG9nX19zdXJmYWNlIHtcbiAgICBAaW5jbHVkZSBmZWF0dXJlLXRhcmdldGluZy1taXhpbnMudGFyZ2V0cygkZmVhdC1zdHJ1Y3R1cmUpIHtcbiAgICAgIG1pbi13aWR0aDogJG1pbi13aWR0aDtcbiAgICB9XG4gIH1cbn1cblxuQG1peGluIG1heC13aWR0aCgkbWF4LXdpZHRoLCAkbWFyZ2luLCAkcXVlcnk6IGZlYXR1cmUtdGFyZ2V0aW5nLWZ1bmN0aW9ucy5hbGwoKSkge1xuICAkZmVhdC1zdHJ1Y3R1cmU6IGZlYXR1cmUtdGFyZ2V0aW5nLWZ1bmN0aW9ucy5jcmVhdGUtdGFyZ2V0KCRxdWVyeSwgc3RydWN0dXJlKTtcbiAgJG1heC1zaXplLWNhbGMtZXhwcjogY2FsYygxMDB2dyAtICN7JG1hcmdpbiAqIDJ9KTtcblxuICAubWRjLWRpYWxvZ19fc3VyZmFjZSB7XG4gICAgQGluY2x1ZGUgZmVhdHVyZS10YXJnZXRpbmctbWl4aW5zLnRhcmdldHMoJGZlYXQtc3RydWN0dXJlKSB7XG4gICAgICBAaWYgJG1heC13aWR0aCB7XG4gICAgICAgICRtYXgtd2lkdGgtYnJlYWtwb2ludDogJG1heC13aWR0aCArICgkbWFyZ2luICogMik7XG5cbiAgICAgICAgLy8gRml0IHNudWdseSB3aXRoaW4gdGhlIHZpZXdwb3J0IGF0IHNtYWxsZXIgc2NyZWVuIHNpemVzLlxuICAgICAgICBAbWVkaWEgKG1heC13aWR0aDogJG1heC13aWR0aC1icmVha3BvaW50KSB7XG4gICAgICAgICAgbWF4LXdpZHRoOiAkbWF4LXNpemUtY2FsYy1leHByO1xuICAgICAgICB9XG5cbiAgICAgICAgLy8gT25jZSB0aGUgc2NyZWVuIGdldHMgYmlnIGVub3VnaCwgYXBwbHkgYSBmaXhlZCBtYXhpbXVtIHdpZHRoLlxuICAgICAgICBAbWVkaWEgKG1pbi13aWR0aDogJG1heC13aWR0aC1icmVha3BvaW50KSB7XG4gICAgICAgICAgbWF4LXdpZHRoOiAkbWF4LXdpZHRoO1xuICAgICAgICB9XG4gICAgICB9IEBlbHNlIHtcbiAgICAgICAgbWF4LXdpZHRoOiAkbWF4LXNpemUtY2FsYy1leHByO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG5AbWl4aW4gbWF4LWhlaWdodCgkbWF4LWhlaWdodCwgJG1hcmdpbiwgJHF1ZXJ5OiBmZWF0dXJlLXRhcmdldGluZy1mdW5jdGlvbnMuYWxsKCkpIHtcbiAgJGZlYXQtc3RydWN0dXJlOiBmZWF0dXJlLXRhcmdldGluZy1mdW5jdGlvbnMuY3JlYXRlLXRhcmdldCgkcXVlcnksIHN0cnVjdHVyZSk7XG4gICRtYXgtc2l6ZS1jYWxjLWV4cHI6IGNhbGMoMTAwJSAtICN7JG1hcmdpbiAqIDJ9KTtcblxuICAubWRjLWRpYWxvZ19fc3VyZmFjZSB7XG4gICAgQGluY2x1ZGUgZmVhdHVyZS10YXJnZXRpbmctbWl4aW5zLnRhcmdldHMoJGZlYXQtc3RydWN0dXJlKSB7XG4gICAgICBAaWYgJG1heC1oZWlnaHQge1xuICAgICAgICAkbWF4LWhlaWdodC1icmVha3BvaW50OiAkbWF4LWhlaWdodCArICgkbWFyZ2luICogMik7XG5cbiAgICAgICAgLy8gRml0IHNudWdseSB3aXRoaW4gdGhlIHZpZXdwb3J0IGF0IHNtYWxsZXIgc2NyZWVuIHNpemVzLlxuICAgICAgICBAbWVkaWEgKG1heC1oZWlnaHQ6ICRtYXgtaGVpZ2h0LWJyZWFrcG9pbnQpIHtcbiAgICAgICAgICBtYXgtaGVpZ2h0OiAkbWF4LXNpemUtY2FsYy1leHByO1xuICAgICAgICB9XG5cbiAgICAgICAgLy8gT25jZSB0aGUgc2NyZWVuIGdldHMgYmlnIGVub3VnaCwgYXBwbHkgYSBmaXhlZCBtYXhpbXVtIGhlaWdodC5cbiAgICAgICAgQG1lZGlhIChtaW4taGVpZ2h0OiAkbWF4LWhlaWdodC1icmVha3BvaW50KSB7XG4gICAgICAgICAgbWF4LWhlaWdodDogJG1heC1oZWlnaHQ7XG4gICAgICAgIH1cbiAgICAgIH0gQGVsc2Uge1xuICAgICAgICBtYXgtaGVpZ2h0OiAkbWF4LXNpemUtY2FsYy1leHByO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC8vIFRhcmdldCBJRSAxMS5cbiAgQG1lZGlhIGFsbCBhbmQgKC1tcy1oaWdoLWNvbnRyYXN0OiBub25lKSwgKC1tcy1oaWdoLWNvbnRyYXN0OiBhY3RpdmUpIHtcbiAgICAvLyBPbiBJRSAxMSwgaWYgc3VyZmFjZSBoZWlnaHQgaXMgZml4ZWQgYW5kIGNvbnRhaW5lciBoZWlnaHQgaXMgMTAwJSxcbiAgICAvLyBzY3JvbGxpbmcgY29udGVudCBvdmVyZmxvd3MuIFNvLCByZXNldCBoZWlnaHQgaWYgc3VyZmFjZSBoZWlnaHRcbiAgICAvLyBpcyBmaXhlZC5cbiAgICAubWRjLWRpYWxvZ19fY29udGFpbmVyIHtcbiAgICAgIEBpbmNsdWRlIGZlYXR1cmUtdGFyZ2V0aW5nLW1peGlucy50YXJnZXRzKCRmZWF0LXN0cnVjdHVyZSkge1xuICAgICAgICAvKiBzdHlsZWxpbnQtZGlzYWJsZSAqL1xuICAgICAgICAvLyBEaXNhYmxlIHN0eWxlbGludCBoZXJlLCBhcyBuZXN0aW5nIGRlcHRoID4gMyBpcyByZXF1aXJlZCB0b1xuICAgICAgICAvLyB3b3JrIGFyb3VuZCBJRSAxMS5cbiAgICAgICAgQGlmICRtYXgtaGVpZ2h0IHtcbiAgICAgICAgICAkbWF4LWhlaWdodC1icmVha3BvaW50OiAkbWF4LWhlaWdodCArICgkbWFyZ2luICogMik7XG5cbiAgICAgICAgICBAbWVkaWEgKG1pbi1oZWlnaHQ6ICRtYXgtaGVpZ2h0LWJyZWFrcG9pbnQpIHtcbiAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBzdHJldGNoO1xuICAgICAgICAgICAgaGVpZ2h0OiBhdXRvO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAvKiBzdHlsZWxpbnQtZW5hYmxlKi9cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuLy8gQXBwbGllZCB0byBkaWFsb2dzIHRoYXQgaGF2ZSBidXR0b25zIHdpdGggYW4gaW5jcmVhc2VkIHRvdWNoIHRhcmdldC5cbkBtaXhpbiB3aXRoLXRvdWNoLXRhcmdldCgkcXVlcnk6IGZlYXR1cmUtdGFyZ2V0aW5nLWZ1bmN0aW9ucy5hbGwoKSkge1xuICAkZmVhdC1zdHJ1Y3R1cmU6IGZlYXR1cmUtdGFyZ2V0aW5nLWZ1bmN0aW9ucy5jcmVhdGUtdGFyZ2V0KCRxdWVyeSwgc3RydWN0dXJlKTtcbiAgJHRvdWNoLXRhcmdldC1tYXJnaW46XG4gICAgKHRvdWNoLXRhcmdldC12YXJpYWJsZXMuJGhlaWdodCAtIGJ1dHRvbi12YXJpYWJsZXMuJGhlaWdodCkgLyAyO1xuICAkdmVydGljYWwtcGFkZGluZzogbWF0aC5tYXgoMCwgdmFyaWFibGVzLiRhY3Rpb25zLXBhZGRpbmcgLSAkdG91Y2gtdGFyZ2V0LW1hcmdpbik7XG5cbiAgLy8gQnV0dG9ucyB3aXRoIGFuIGluY3JlYXNlZCB0b3VjaCB0YXJnZXQgaGF2ZSBhZGRlZCB2ZXJ0aWNhbCBtYXJnaW4sIHNvXG4gIC8vIGRlY3JlYXNlIHRoZSBhY3Rpb25zIGVsZW1lbnQgcGFkZGluZyB0byBjb21wZW5zYXRlLlxuICAubWRjLWRpYWxvZ19fYWN0aW9ucyB7XG4gICAgQGluY2x1ZGUgZmVhdHVyZS10YXJnZXRpbmctbWl4aW5zLnRhcmdldHMoJGZlYXQtc3RydWN0dXJlKSB7XG4gICAgICBwYWRkaW5nLXRvcDogJHZlcnRpY2FsLXBhZGRpbmc7XG4gICAgICBwYWRkaW5nLWJvdHRvbTogJHZlcnRpY2FsLXBhZGRpbmc7XG5cbiAgICAgIC8vIFRoZSBiZWxvdyBzdHlsZXMgb3ZlcnJpZGUgdGhlIGRlZmF1bHQgYnV0dG9uIHRvdWNoIHRhcmdldCB2YWx1ZXMsXG4gICAgICAvLyB3aGljaCBvdGhlcndpc2UgY2F1c2UgYG1kYy1kaWFsb2dfX3N1cmZhY2VgIHRvIHNjcm9sbCB1bm5uZWNlc3NhcmlseVxuICAgICAgLy8gaW4gSUUgMTEuXG4gICAgICAubWRjLWJ1dHRvbl9fdG91Y2gge1xuICAgICAgICB0b3A6IC0kdG91Y2gtdGFyZ2V0LW1hcmdpbjsgLy8gSUUgMTFcbiAgICAgICAgdHJhbnNmb3JtOiBub25lOyAvLyBJRSAxMVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiLy9cbi8vIENvcHlyaWdodCAyMDE4IEdvb2dsZSBJbmMuXG4vL1xuLy8gUGVybWlzc2lvbiBpcyBoZXJlYnkgZ3JhbnRlZCwgZnJlZSBvZiBjaGFyZ2UsIHRvIGFueSBwZXJzb24gb2J0YWluaW5nIGEgY29weVxuLy8gb2YgdGhpcyBzb2Z0d2FyZSBhbmQgYXNzb2NpYXRlZCBkb2N1bWVudGF0aW9uIGZpbGVzICh0aGUgXCJTb2Z0d2FyZVwiKSwgdG8gZGVhbFxuLy8gaW4gdGhlIFNvZnR3YXJlIHdpdGhvdXQgcmVzdHJpY3Rpb24sIGluY2x1ZGluZyB3aXRob3V0IGxpbWl0YXRpb24gdGhlIHJpZ2h0c1xuLy8gdG8gdXNlLCBjb3B5LCBtb2RpZnksIG1lcmdlLCBwdWJsaXNoLCBkaXN0cmlidXRlLCBzdWJsaWNlbnNlLCBhbmQvb3Igc2VsbFxuLy8gY29waWVzIG9mIHRoZSBTb2Z0d2FyZSwgYW5kIHRvIHBlcm1pdCBwZXJzb25zIHRvIHdob20gdGhlIFNvZnR3YXJlIGlzXG4vLyBmdXJuaXNoZWQgdG8gZG8gc28sIHN1YmplY3QgdG8gdGhlIGZvbGxvd2luZyBjb25kaXRpb25zOlxuLy9cbi8vIFRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlIGFuZCB0aGlzIHBlcm1pc3Npb24gbm90aWNlIHNoYWxsIGJlIGluY2x1ZGVkIGluXG4vLyBhbGwgY29waWVzIG9yIHN1YnN0YW50aWFsIHBvcnRpb25zIG9mIHRoZSBTb2Z0d2FyZS5cbi8vXG4vLyBUSEUgU09GVFdBUkUgSVMgUFJPVklERUQgXCJBUyBJU1wiLCBXSVRIT1VUIFdBUlJBTlRZIE9GIEFOWSBLSU5ELCBFWFBSRVNTIE9SXG4vLyBJTVBMSUVELCBJTkNMVURJTkcgQlVUIE5PVCBMSU1JVEVEIFRPIFRIRSBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSxcbi8vIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFORCBOT05JTkZSSU5HRU1FTlQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRVxuLy8gQVVUSE9SUyBPUiBDT1BZUklHSFQgSE9MREVSUyBCRSBMSUFCTEUgRk9SIEFOWSBDTEFJTSwgREFNQUdFUyBPUiBPVEhFUlxuLy8gTElBQklMSVRZLCBXSEVUSEVSIElOIEFOIEFDVElPTiBPRiBDT05UUkFDVCwgVE9SVCBPUiBPVEhFUldJU0UsIEFSSVNJTkcgRlJPTSxcbi8vIE9VVCBPRiBPUiBJTiBDT05ORUNUSU9OIFdJVEggVEhFIFNPRlRXQVJFIE9SIFRIRSBVU0UgT1IgT1RIRVIgREVBTElOR1MgSU5cbi8vIFRIRSBTT0ZUV0FSRS5cbi8vXG5cbiRzY3JpbS1jb2xvcjogb24tc3VyZmFjZSAhZGVmYXVsdDtcbiR0aXRsZS1pbmstY29sb3I6IG9uLXN1cmZhY2UgIWRlZmF1bHQ7XG4kY29udGVudC1pbmstY29sb3I6IG9uLXN1cmZhY2UgIWRlZmF1bHQ7XG4kc2Nyb2xsLWRpdmlkZXItY29sb3I6IG9uLXN1cmZhY2UgIWRlZmF1bHQ7XG5cbiRzY3JpbS1vcGFjaXR5OiAuMzIgIWRlZmF1bHQ7XG4kdGl0bGUtaW5rLW9wYWNpdHk6IC44NyAhZGVmYXVsdDtcbiRjb250ZW50LWluay1vcGFjaXR5OiAuNiAhZGVmYXVsdDtcbiRzY3JvbGwtZGl2aWRlci1vcGFjaXR5OiAuMTIgIWRlZmF1bHQ7XG5cbiRtaW4td2lkdGg6IDI4MHB4ICFkZWZhdWx0O1xuJG1heC13aWR0aDogNTYwcHggIWRlZmF1bHQ7XG4kbWFyZ2luOiAxNnB4ICFkZWZhdWx0O1xuJHRpdGxlLWJvdHRvbS1wYWRkaW5nOiA5cHggIWRlZmF1bHQ7XG4kYWN0aW9ucy1wYWRkaW5nOiA4cHggIWRlZmF1bHQ7XG5cbiR6LWluZGV4OiA3ICFkZWZhdWx0O1xuIiwiLy9cbi8vIENvcHlyaWdodCAyMDE4IEdvb2dsZSBJbmMuXG4vL1xuLy8gUGVybWlzc2lvbiBpcyBoZXJlYnkgZ3JhbnRlZCwgZnJlZSBvZiBjaGFyZ2UsIHRvIGFueSBwZXJzb24gb2J0YWluaW5nIGEgY29weVxuLy8gb2YgdGhpcyBzb2Z0d2FyZSBhbmQgYXNzb2NpYXRlZCBkb2N1bWVudGF0aW9uIGZpbGVzICh0aGUgXCJTb2Z0d2FyZVwiKSwgdG8gZGVhbFxuLy8gaW4gdGhlIFNvZnR3YXJlIHdpdGhvdXQgcmVzdHJpY3Rpb24sIGluY2x1ZGluZyB3aXRob3V0IGxpbWl0YXRpb24gdGhlIHJpZ2h0c1xuLy8gdG8gdXNlLCBjb3B5LCBtb2RpZnksIG1lcmdlLCBwdWJsaXNoLCBkaXN0cmlidXRlLCBzdWJsaWNlbnNlLCBhbmQvb3Igc2VsbFxuLy8gY29waWVzIG9mIHRoZSBTb2Z0d2FyZSwgYW5kIHRvIHBlcm1pdCBwZXJzb25zIHRvIHdob20gdGhlIFNvZnR3YXJlIGlzXG4vLyBmdXJuaXNoZWQgdG8gZG8gc28sIHN1YmplY3QgdG8gdGhlIGZvbGxvd2luZyBjb25kaXRpb25zOlxuLy9cbi8vIFRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlIGFuZCB0aGlzIHBlcm1pc3Npb24gbm90aWNlIHNoYWxsIGJlIGluY2x1ZGVkIGluXG4vLyBhbGwgY29waWVzIG9yIHN1YnN0YW50aWFsIHBvcnRpb25zIG9mIHRoZSBTb2Z0d2FyZS5cbi8vXG4vLyBUSEUgU09GVFdBUkUgSVMgUFJPVklERUQgXCJBUyBJU1wiLCBXSVRIT1VUIFdBUlJBTlRZIE9GIEFOWSBLSU5ELCBFWFBSRVNTIE9SXG4vLyBJTVBMSUVELCBJTkNMVURJTkcgQlVUIE5PVCBMSU1JVEVEIFRPIFRIRSBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSxcbi8vIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFORCBOT05JTkZSSU5HRU1FTlQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRVxuLy8gQVVUSE9SUyBPUiBDT1BZUklHSFQgSE9MREVSUyBCRSBMSUFCTEUgRk9SIEFOWSBDTEFJTSwgREFNQUdFUyBPUiBPVEhFUlxuLy8gTElBQklMSVRZLCBXSEVUSEVSIElOIEFOIEFDVElPTiBPRiBDT05UUkFDVCwgVE9SVCBPUiBPVEhFUldJU0UsIEFSSVNJTkcgRlJPTSxcbi8vIE9VVCBPRiBPUiBJTiBDT05ORUNUSU9OIFdJVEggVEhFIFNPRlRXQVJFIE9SIFRIRSBVU0UgT1IgT1RIRVIgREVBTElOR1MgSU5cbi8vIFRIRSBTT0ZUV0FSRS5cbi8vXG5cbkB1c2UgXCJzYXNzOmxpc3RcIjtcbkB1c2UgXCJAbWF0ZXJpYWwvZmVhdHVyZS10YXJnZXRpbmcvZnVuY3Rpb25zXCIgYXMgZmVhdHVyZS10YXJnZXRpbmctZnVuY3Rpb25zO1xuQHVzZSBcIkBtYXRlcmlhbC9mZWF0dXJlLXRhcmdldGluZy9taXhpbnNcIiBhcyBmZWF0dXJlLXRhcmdldGluZy1taXhpbnM7XG5AdXNlIFwiQG1hdGVyaWFsL3J0bC9taXhpbnNcIiBhcyBydGwtbWl4aW5zO1xuQHVzZSBcIi4vdmFyaWFibGVzXCI7XG5AdXNlIFwiLi9mdW5jdGlvbnNcIjtcblxuQG1peGluIHJhZGl1cygkcmFkaXVzLCAkcnRsLXJlZmxleGl2ZTogZmFsc2UsICRxdWVyeTogZmVhdHVyZS10YXJnZXRpbmctZnVuY3Rpb25zLmFsbCgpKSB7XG4gICRmZWF0LXN0cnVjdHVyZTogZmVhdHVyZS10YXJnZXRpbmctZnVuY3Rpb25zLmNyZWF0ZS10YXJnZXQoJHF1ZXJ5LCBzdHJ1Y3R1cmUpO1xuXG4gIEBpbmNsdWRlIGZlYXR1cmUtdGFyZ2V0aW5nLW1peGlucy50YXJnZXRzKCRmZWF0LXN0cnVjdHVyZSkge1xuICAgIC8vIEV2ZW4gaWYgJHJ0bC1yZWZsZXhpdmUgaXMgdHJ1ZSwgb25seSBlbWl0IFJUTCBzdHlsZXMgaWYgd2UgY2FuJ3QgZWFzaWx5IHRlbGwgdGhhdCB0aGUgZ2l2ZW4gcmFkaXVzIGlzIHN5bW1ldHJpY2FsXG4gICAgJG5lZWRzLWZsaXA6ICRydGwtcmVmbGV4aXZlIGFuZCBsaXN0Lmxlbmd0aCgkcmFkaXVzKSA+IDE7XG5cbiAgICBAaWYgKCRuZWVkcy1mbGlwKSB7XG4gICAgICAvKiBAbm9mbGlwICovXG4gICAgfVxuXG4gICAgYm9yZGVyLXJhZGl1czogZnVuY3Rpb25zLnByb3AtdmFsdWUoJHJhZGl1cyk7XG5cbiAgICBAaWYgKCRuZWVkcy1mbGlwKSB7XG4gICAgICBAaW5jbHVkZSBydGwtbWl4aW5zLnJ0bCB7XG4gICAgICAgIC8qIEBub2ZsaXAgKi9cbiAgICAgICAgYm9yZGVyLXJhZGl1czogZnVuY3Rpb25zLmZsaXAtcmFkaXVzKGZ1bmN0aW9ucy5wcm9wLXZhbHVlKCRyYWRpdXMpKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsIi8vXG4vLyBDb3B5cmlnaHQgMjAxNyBHb29nbGUgSW5jLlxuLy9cbi8vIFBlcm1pc3Npb24gaXMgaGVyZWJ5IGdyYW50ZWQsIGZyZWUgb2YgY2hhcmdlLCB0byBhbnkgcGVyc29uIG9idGFpbmluZyBhIGNvcHlcbi8vIG9mIHRoaXMgc29mdHdhcmUgYW5kIGFzc29jaWF0ZWQgZG9jdW1lbnRhdGlvbiBmaWxlcyAodGhlIFwiU29mdHdhcmVcIiksIHRvIGRlYWxcbi8vIGluIHRoZSBTb2Z0d2FyZSB3aXRob3V0IHJlc3RyaWN0aW9uLCBpbmNsdWRpbmcgd2l0aG91dCBsaW1pdGF0aW9uIHRoZSByaWdodHNcbi8vIHRvIHVzZSwgY29weSwgbW9kaWZ5LCBtZXJnZSwgcHVibGlzaCwgZGlzdHJpYnV0ZSwgc3VibGljZW5zZSwgYW5kL29yIHNlbGxcbi8vIGNvcGllcyBvZiB0aGUgU29mdHdhcmUsIGFuZCB0byBwZXJtaXQgcGVyc29ucyB0byB3aG9tIHRoZSBTb2Z0d2FyZSBpc1xuLy8gZnVybmlzaGVkIHRvIGRvIHNvLCBzdWJqZWN0IHRvIHRoZSBmb2xsb3dpbmcgY29uZGl0aW9uczpcbi8vXG4vLyBUaGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSBhbmQgdGhpcyBwZXJtaXNzaW9uIG5vdGljZSBzaGFsbCBiZSBpbmNsdWRlZCBpblxuLy8gYWxsIGNvcGllcyBvciBzdWJzdGFudGlhbCBwb3J0aW9ucyBvZiB0aGUgU29mdHdhcmUuXG4vL1xuLy8gVEhFIFNPRlRXQVJFIElTIFBST1ZJREVEIFwiQVMgSVNcIiwgV0lUSE9VVCBXQVJSQU5UWSBPRiBBTlkgS0lORCwgRVhQUkVTUyBPUlxuLy8gSU1QTElFRCwgSU5DTFVESU5HIEJVVCBOT1QgTElNSVRFRCBUTyBUSEUgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFksXG4vLyBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBTkQgTk9OSU5GUklOR0VNRU5ULiBJTiBOTyBFVkVOVCBTSEFMTCBUSEVcbi8vIEFVVEhPUlMgT1IgQ09QWVJJR0hUIEhPTERFUlMgQkUgTElBQkxFIEZPUiBBTlkgQ0xBSU0sIERBTUFHRVMgT1IgT1RIRVJcbi8vIExJQUJJTElUWSwgV0hFVEhFUiBJTiBBTiBBQ1RJT04gT0YgQ09OVFJBQ1QsIFRPUlQgT1IgT1RIRVJXSVNFLCBBUklTSU5HIEZST00sXG4vLyBPVVQgT0YgT1IgSU4gQ09OTkVDVElPTiBXSVRIIFRIRSBTT0ZUV0FSRSBPUiBUSEUgVVNFIE9SIE9USEVSIERFQUxJTkdTIElOXG4vLyBUSEUgU09GVFdBUkUuXG4vL1xuXG5AdXNlIFwic2FzczpsaXN0XCI7XG5AdXNlIFwiLi92YXJpYWJsZXNcIjtcblxuLy8gQ3JlYXRlcyBhIHJ1bGUgdGhhdCB3aWxsIGJlIGFwcGxpZWQgd2hlbiBhbiBNREMgV2ViIGNvbXBvbmVudCBpcyB3aXRoaW4gdGhlIGNvbnRleHQgb2YgYW4gUlRMIGxheW91dC5cbi8vXG4vLyBVc2FnZSBFeGFtcGxlOlxuLy9cbi8vIGBgYHNjc3Ncbi8vIC5tZGMtZm9vIHtcbi8vICAgcG9zaXRpb246IGFic29sdXRlO1xuLy8gICBsZWZ0OiAwO1xuLy9cbi8vICAgQGluY2x1ZGUgcnRsIHtcbi8vICAgICBsZWZ0OiBhdXRvO1xuLy8gICAgIHJpZ2h0OiAwO1xuLy8gICB9XG4vL1xuLy8gICAmX19iYXIge1xuLy8gICAgIG1hcmdpbi1sZWZ0OiA0cHg7XG4vLyAgICAgQGluY2x1ZGUgcnRsKFwiLm1kYy1mb29cIikge1xuLy8gICAgICAgbWFyZ2luLWxlZnQ6IGF1dG87XG4vLyAgICAgICBtYXJnaW4tcmlnaHQ6IDRweDtcbi8vICAgICB9XG4vLyAgIH1cbi8vIH1cbi8vXG4vLyAubWRjLWZvby0tbW9kIHtcbi8vICAgcGFkZGluZy1sZWZ0OiA0cHg7XG4vL1xuLy8gICBAaW5jbHVkZSBydGwge1xuLy8gICAgIHBhZGRpbmctbGVmdDogYXV0bztcbi8vICAgICBwYWRkaW5nLXJpZ2h0OiA0cHg7XG4vLyAgIH1cbi8vIH1cbi8vIGBgYFxuLy9cbi8vIE5vdGUgdGhhdCB0aGlzIG1peGluIHdvcmtzIGJ5IGNoZWNraW5nIGZvciBhbiBhbmNlc3RvciBlbGVtZW50IHdpdGggYFtkaXI9XCJydGxcIl1gLlxuLy8gQXMgYSByZXN1bHQsIG5lc3RlZCBgZGlyYCB2YWx1ZXMgYXJlIG5vdCBzdXBwb3J0ZWQ6XG4vL1xuLy8gYGBgaHRtbFxuLy8gPGh0bWwgZGlyPVwicnRsXCI+XG4vLyAgIDwhLS0gLi4uIC0tPlxuLy8gICA8ZGl2IGRpcj1cImx0clwiPlxuLy8gICAgIDxkaXYgY2xhc3M9XCJtZGMtZm9vXCI+U3R5bGVkIGluY29ycmVjdGx5IGFzIFJUTCE8L2Rpdj5cbi8vICAgPC9kaXY+XG4vLyA8L2h0bWw+XG4vLyBgYGBcbi8vXG4vLyBJbiB0aGUgZnV0dXJlLCBzZWxlY3RvcnMgc3VjaCBhcyB0aGUgYDpkaXJgIHBzZXVkby1jbGFzcyAoaHR0cDovL21kbi5pby9jc3MvOmRpcikgd2lsbCBoZWxwIHVzIG1pdGlnYXRlIHRoaXMuXG5AbWl4aW4gcnRsKCRyb290LXNlbGVjdG9yOiBudWxsKSB7XG4gIEBpZiAodmFyaWFibGVzLiRpbmNsdWRlKSB7XG4gICAgQGlmICgkcm9vdC1zZWxlY3Rvcikge1xuICAgICAgQGF0LXJvb3Qge1xuICAgICAgICAjeyRyb290LXNlbGVjdG9yfVtkaXI9XCJydGxcIl0gJixcbiAgICAgICAgW2Rpcj1cInJ0bFwiXSAjeyRyb290LXNlbGVjdG9yfSAmIHtcbiAgICAgICAgICBAY29udGVudDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH0gQGVsc2Uge1xuICAgICAgW2Rpcj1cInJ0bFwiXSAmLFxuICAgICAgJltkaXI9XCJydGxcIl0ge1xuICAgICAgICBAY29udGVudDtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuLy8gVGFrZXMgYSBiYXNlIGJveC1tb2RlbCBwcm9wZXJ0eSBuYW1lIChgbWFyZ2luYCwgYGJvcmRlcmAsIGBwYWRkaW5nYCwgZXRjLikgYWxvbmcgd2l0aCBhXG4vLyBkZWZhdWx0IGRpcmVjdGlvbiAoYGxlZnRgIG9yIGByaWdodGApIGFuZCB2YWx1ZSwgYW5kIGVtaXRzIHJ1bGVzIHdoaWNoIGFwcGx5IHRoZSBnaXZlbiB2YWx1ZSB0byB0aGVcbi8vIHNwZWNpZmllZCBkaXJlY3Rpb24gYnkgZGVmYXVsdCBhbmQgdGhlIG9wcG9zaXRlIGRpcmVjdGlvbiBpbiBSVEwuXG4vL1xuLy8gRm9yIGV4YW1wbGU6XG4vL1xuLy8gYGBgc2Nzc1xuLy8gLm1kYy1mb28ge1xuLy8gICBAaW5jbHVkZSBydGwtcmVmbGV4aXZlLWJveChtYXJnaW4sIGxlZnQsIDhweCk7XG4vLyB9XG4vLyBgYGBcbi8vXG4vLyBpcyBlcXVpdmFsZW50IHRvOlxuLy9cbi8vIGBgYHNjc3Ncbi8vIC5tZGMtZm9vIHtcbi8vICAgbWFyZ2luLWxlZnQ6IDhweDtcbi8vICAgbWFyZ2luLXJpZ2h0OiAwO1xuLy9cbi8vICAgQGluY2x1ZGUgcnRsIHtcbi8vICAgICBtYXJnaW4tbGVmdDogMDtcbi8vICAgICBtYXJnaW4tcmlnaHQ6IDhweDtcbi8vICAgfVxuLy8gfVxuLy8gYGBgXG4vL1xuLy8gd2hlcmVhczpcbi8vXG4vLyBgYGBzY3NzXG4vLyAubWRjLWZvbyB7XG4vLyAgIEBpbmNsdWRlIHJ0bC1yZWZsZXhpdmUtYm94KG1hcmdpbiwgcmlnaHQsIDhweCk7XG4vLyB9XG4vLyBgYGBcbi8vXG4vLyBpcyBlcXVpdmFsZW50IHRvOlxuLy9cbi8vIGBgYHNjc3Ncbi8vIC5tZGMtZm9vIHtcbi8vICAgbWFyZ2luLWxlZnQ6IDA7XG4vLyAgIG1hcmdpbi1yaWdodDogOHB4O1xuLy9cbi8vICAgQGluY2x1ZGUgcnRsIHtcbi8vICAgICBtYXJnaW4tbGVmdDogOHB4O1xuLy8gICAgIG1hcmdpbi1yaWdodDogMDtcbi8vICAgfVxuLy8gfVxuLy8gYGBgXG4vL1xuLy8gWW91IGNhbiBhbHNvIHBhc3MgYW4gb3B0aW9uYWwgNHRoIGAkcm9vdC1zZWxlY3RvcmAgYXJndW1lbnQgd2hpY2ggd2lsbCBiZSBmb3J3YXJkZWQgdG8gYG1kYy1ydGxgLFxuLy8gZS5nLiBgQGluY2x1ZGUgcnRsLXJlZmxleGl2ZS1ib3gobWFyZ2luLCBsZWZ0LCA4cHgsIFwiLm1kYy1jb21wb25lbnRcIilgLlxuLy9cbi8vIE5vdGUgdGhhdCB0aGlzIGZ1bmN0aW9uIHdpbGwgYWx3YXlzIHplcm8gb3V0IHRoZSBvcmlnaW5hbCB2YWx1ZSBpbiBhbiBSVEwgY29udGV4dC5cbi8vIElmIHlvdSdyZSB0cnlpbmcgdG8gZmxpcCB0aGUgdmFsdWVzLCB1c2UgYG1kYy1ydGwtcmVmbGV4aXZlLXByb3BlcnR5KClgIGluc3RlYWQuXG5AbWl4aW4gcmVmbGV4aXZlLWJveCgkYmFzZS1wcm9wZXJ0eSwgJGRlZmF1bHQtZGlyZWN0aW9uLCAkdmFsdWUsICRyb290LXNlbGVjdG9yOiBudWxsKSB7XG4gIEBpZiAobGlzdC5pbmRleCgocmlnaHQsIGxlZnQpLCAkZGVmYXVsdC1kaXJlY3Rpb24pID09IG51bGwpIHtcbiAgICBAZXJyb3IgXCJJbnZhbGlkIGRlZmF1bHQgZGlyZWN0aW9uOiAnI3skZGVmYXVsdC1kaXJlY3Rpb259Jy4gUGxlYXNlIHNwZWNpZml5IGVpdGhlciAncmlnaHQnIG9yICdsZWZ0Jy5cIjtcbiAgfVxuXG4gICRsZWZ0LXZhbHVlOiAkdmFsdWU7XG4gICRyaWdodC12YWx1ZTogMDtcblxuICBAaWYgKCRkZWZhdWx0LWRpcmVjdGlvbiA9PSByaWdodCkge1xuICAgICRsZWZ0LXZhbHVlOiAwO1xuICAgICRyaWdodC12YWx1ZTogJHZhbHVlO1xuICB9XG5cbiAgQGluY2x1ZGUgcmVmbGV4aXZlLXByb3BlcnR5KCRiYXNlLXByb3BlcnR5LCAkbGVmdC12YWx1ZSwgJHJpZ2h0LXZhbHVlLCAkcm9vdC1zZWxlY3Rvcik7XG59XG5cbi8vIFRha2VzIGEgYmFzZSBwcm9wZXJ0eSBhbmQgZW1pdHMgcnVsZXMgdGhhdCBhc3NpZ24gPGJhc2UtcHJvcGVydHk+LWxlZnQgdG8gPGxlZnQtdmFsdWU+IGFuZFxuLy8gPGJhc2UtcHJvcGVydHk+LXJpZ2h0IHRvIDxyaWdodC12YWx1ZT4gaW4gYSBMVFIgY29udGV4dCwgYW5kIHZpY2UgdmVyc2EgaW4gYSBSVEwgY29udGV4dC5cbi8vIEZvciBleGFtcGxlOlxuLy9cbi8vIGBgYHNjc3Ncbi8vIC5tZGMtZm9vIHtcbi8vICAgQGluY2x1ZGUgcnRsLXJlZmxleGl2ZS1wcm9wZXJ0eShtYXJnaW4sIGF1dG8sIDEycHgpO1xuLy8gfVxuLy8gYGBgXG4vL1xuLy8gaXMgZXF1aXZhbGVudCB0bzpcbi8vXG4vLyBgYGBzY3NzXG4vLyAubWRjLWZvbyB7XG4vLyAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xuLy8gICBtYXJnaW4tcmlnaHQ6IDEycHg7XG4vL1xuLy8gICBAaW5jbHVkZSBydGwge1xuLy8gICAgIG1hcmdpbi1sZWZ0OiAxMnB4O1xuLy8gICAgIG1hcmdpbi1yaWdodDogYXV0bztcbi8vICAgfVxuLy8gfVxuLy8gYGBgXG4vL1xuLy8gQW4gb3B0aW9uYWwgNHRoIGAkcm9vdC1zZWxlY3RvcmAgYXJndW1lbnQgY2FuIGJlIGdpdmVuLCB3aGljaCB3aWxsIGJlIHBhc3NlZCB0byBgbWRjLXJ0bGAuXG5AbWl4aW4gcmVmbGV4aXZlLXByb3BlcnR5KCRiYXNlLXByb3BlcnR5LCAkbGVmdC12YWx1ZSwgJHJpZ2h0LXZhbHVlLCAkcm9vdC1zZWxlY3RvcjogbnVsbCkge1xuICAkcHJvcC1sZWZ0OiAjeyRiYXNlLXByb3BlcnR5fS1sZWZ0O1xuICAkcHJvcC1yaWdodDogI3skYmFzZS1wcm9wZXJ0eX0tcmlnaHQ7XG5cbiAgQGluY2x1ZGUgcmVmbGV4aXZlKCRwcm9wLWxlZnQsICRsZWZ0LXZhbHVlLCAkcHJvcC1yaWdodCwgJHJpZ2h0LXZhbHVlLCAkcm9vdC1zZWxlY3Rvcik7XG59XG5cbi8vIFRha2VzIGFuIGFyZ3VtZW50IHNwZWNpZnlpbmcgYSBob3Jpem9udGFsIHBvc2l0aW9uIHByb3BlcnR5IChlaXRoZXIgXCJsZWZ0XCIgb3IgXCJyaWdodFwiKSBhcyB3ZWxsXG4vLyBhcyBhIHZhbHVlLCBhbmQgYXBwbGllcyB0aGF0IHZhbHVlIHRvIHRoZSBzcGVjaWZpZWQgcG9zaXRpb24gaW4gYSBMVFIgY29udGV4dCwgYW5kIGZsaXBzIGl0IGluIGFcbi8vIFJUTCBjb250ZXh0LiBGb3IgZXhhbXBsZTpcbi8vXG4vLyBgYGBzY3NzXG4vLyAubWRjLWZvbyB7XG4vLyAgIEBpbmNsdWRlIHJ0bC1yZWZsZXhpdmUtcG9zaXRpb24obGVmdCwgMCk7XG4vLyB9XG4vLyBgYGBcbi8vXG4vLyBpcyBlcXVpdmFsZW50IHRvOlxuLy9cbi8vIGBgYHNjc3Ncbi8vIC5tZGMtZm9vIHtcbi8vICAgbGVmdDogMDtcbi8vICAgcmlnaHQ6IGluaXRpYWw7XG4vL1xuLy8gICBAaW5jbHVkZSBydGwge1xuLy8gICAgIGxlZnQ6IGluaXRpYWw7XG4vLyAgICAgcmlnaHQ6IDA7XG4vLyAgIH1cbi8vIH1cbi8vIGBgYFxuLy9cbi8vIEFuIG9wdGlvbmFsIHRoaXJkICRyb290LXNlbGVjdG9yIGFyZ3VtZW50IG1heSBhbHNvIGJlIGdpdmVuLCB3aGljaCBpcyBwYXNzZWQgdG8gYG1kYy1ydGxgLlxuQG1peGluIHJlZmxleGl2ZS1wb3NpdGlvbigkcG9zaXRpb24tcHJvcGVydHksICR2YWx1ZSwgJHJvb3Qtc2VsZWN0b3I6IG51bGwpIHtcbiAgQGlmIChsaXN0LmluZGV4KChyaWdodCwgbGVmdCksICRwb3NpdGlvbi1wcm9wZXJ0eSkgPT0gbnVsbCkge1xuICAgIEBlcnJvciBcIkludmFsaWQgcG9zaXRpb24gI3twb3NpdGlvbi1wcm9wZXJ0eX0uIFBsZWFzZSBzcGVjaWZpeSBlaXRoZXIgcmlnaHQgb3IgbGVmdFwiO1xuICB9XG5cbiAgLy8gVE9ETzogXCJpbml0aWFsXCIgaXMgbm90IHN1cHBvcnRlZCBpbiBJRSAxMS4gaHR0cHM6Ly9jYW5pdXNlLmNvbS8jZmVhdD1jc3MtaW5pdGlhbC12YWx1ZVxuICAkbGVmdC12YWx1ZTogJHZhbHVlO1xuICAkcmlnaHQtdmFsdWU6IGluaXRpYWw7XG5cbiAgQGlmICgkcG9zaXRpb24tcHJvcGVydHkgPT0gcmlnaHQpIHtcbiAgICAkcmlnaHQtdmFsdWU6ICR2YWx1ZTtcbiAgICAkbGVmdC12YWx1ZTogaW5pdGlhbDtcbiAgfVxuXG4gIEBpbmNsdWRlIHJlZmxleGl2ZShsZWZ0LCAkbGVmdC12YWx1ZSwgcmlnaHQsICRyaWdodC12YWx1ZSwgJHJvb3Qtc2VsZWN0b3IpO1xufVxuXG4vLyBUYWtlcyBwYWlyIG9mIHByb3BlcnRpZXMgd2l0aCB2YWx1ZXMgYXMgYXJndW1lbnRzIGFuZCBmbGlwcyBpdCBpbiBSVEwgY29udGV4dC5cbi8vIEZvciBleGFtcGxlOlxuLy9cbi8vIGBgYHNjc3Ncbi8vIC5tZGMtZm9vIHtcbi8vICAgQGluY2x1ZGUgcnRsLXJlZmxleGl2ZShsZWZ0LCAycHgsIHJpZ2h0LCA1cHgpO1xuLy8gfVxuLy8gYGBgXG4vL1xuLy8gaXMgZXF1aXZhbGVudCB0bzpcbi8vXG4vLyBgYGBzY3NzXG4vLyAubWRjLWZvbyB7XG4vLyAgIGxlZnQ6IDJweDtcbi8vICAgcmlnaHQ6IDVweDtcbi8vXG4vLyAgIEBpbmNsdWRlIHJ0bCB7XG4vLyAgICAgcmlnaHQ6IDJweDtcbi8vICAgICBsZWZ0OiA1cHg7XG4vLyAgIH1cbi8vIH1cbi8vIGBgYFxuLy9cbi8vIEFuIG9wdGlvbmFsIGZpZnRoIGAkcm9vdC1zZWxlY3RvcmAgYXJndW1lbnQgbWF5IGFsc28gYmUgZ2l2ZW4sIHdoaWNoIGlzIHBhc3NlZCB0byBgbWRjLXJ0bGAuXG5AbWl4aW4gcmVmbGV4aXZlKFxuICAkbGVmdC1wcm9wZXJ0eSxcbiAgJGxlZnQtdmFsdWUsXG4gICRyaWdodC1wcm9wZXJ0eSxcbiAgJHJpZ2h0LXZhbHVlLFxuICAkcm9vdC1zZWxlY3RvcjogbnVsbFxuKSB7XG4gIEBpbmNsdWRlIHByb3BlcnR5XygkbGVmdC1wcm9wZXJ0eSwgJGxlZnQtdmFsdWUpO1xuICBAaW5jbHVkZSBwcm9wZXJ0eV8oJHJpZ2h0LXByb3BlcnR5LCAkcmlnaHQtdmFsdWUpO1xuXG4gIEBpbmNsdWRlIHJ0bCgkcm9vdC1zZWxlY3Rvcikge1xuICAgIEBpbmNsdWRlIHByb3BlcnR5XygkbGVmdC1wcm9wZXJ0eSwgJHJpZ2h0LXZhbHVlKTtcbiAgICBAaW5jbHVkZSBwcm9wZXJ0eV8oJHJpZ2h0LXByb3BlcnR5LCAkbGVmdC12YWx1ZSk7XG4gIH1cbn1cblxuLy8vXG4vLy8gQWRkcyBgQG5vZmxpcGAgYW5ub3RhdGlvbiB3aGVuIGAkbWRjLXJ0bC1pbmNsdWRlYCBpcyB0cnVlLlxuLy8vXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICRwcm9wZXJ0eVxuLy8vIEBwYXJhbSB7U3RyaW5nfSAkdmFsdWVcbi8vLyBAYWNjZXNzIHByaXZhdGVcbi8vL1xuQG1peGluIHByb3BlcnR5XygkcHJvcGVydHksICR2YWx1ZSkge1xuICBAaWYgdmFyaWFibGVzLiRpbmNsdWRlIHtcbiAgICAvKiBAbm9mbGlwICovXG4gIH1cblxuICAjeyRwcm9wZXJ0eX06ICN7JHZhbHVlfTtcbn1cbiIsIi8vXG4vLyBDb3B5cmlnaHQgMjAxNyBHb29nbGUgSW5jLlxuLy9cbi8vIFBlcm1pc3Npb24gaXMgaGVyZWJ5IGdyYW50ZWQsIGZyZWUgb2YgY2hhcmdlLCB0byBhbnkgcGVyc29uIG9idGFpbmluZyBhIGNvcHlcbi8vIG9mIHRoaXMgc29mdHdhcmUgYW5kIGFzc29jaWF0ZWQgZG9jdW1lbnRhdGlvbiBmaWxlcyAodGhlIFwiU29mdHdhcmVcIiksIHRvIGRlYWxcbi8vIGluIHRoZSBTb2Z0d2FyZSB3aXRob3V0IHJlc3RyaWN0aW9uLCBpbmNsdWRpbmcgd2l0aG91dCBsaW1pdGF0aW9uIHRoZSByaWdodHNcbi8vIHRvIHVzZSwgY29weSwgbW9kaWZ5LCBtZXJnZSwgcHVibGlzaCwgZGlzdHJpYnV0ZSwgc3VibGljZW5zZSwgYW5kL29yIHNlbGxcbi8vIGNvcGllcyBvZiB0aGUgU29mdHdhcmUsIGFuZCB0byBwZXJtaXQgcGVyc29ucyB0byB3aG9tIHRoZSBTb2Z0d2FyZSBpc1xuLy8gZnVybmlzaGVkIHRvIGRvIHNvLCBzdWJqZWN0IHRvIHRoZSBmb2xsb3dpbmcgY29uZGl0aW9uczpcbi8vXG4vLyBUaGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSBhbmQgdGhpcyBwZXJtaXNzaW9uIG5vdGljZSBzaGFsbCBiZSBpbmNsdWRlZCBpblxuLy8gYWxsIGNvcGllcyBvciBzdWJzdGFudGlhbCBwb3J0aW9ucyBvZiB0aGUgU29mdHdhcmUuXG4vL1xuLy8gVEhFIFNPRlRXQVJFIElTIFBST1ZJREVEIFwiQVMgSVNcIiwgV0lUSE9VVCBXQVJSQU5UWSBPRiBBTlkgS0lORCwgRVhQUkVTUyBPUlxuLy8gSU1QTElFRCwgSU5DTFVESU5HIEJVVCBOT1QgTElNSVRFRCBUTyBUSEUgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFksXG4vLyBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBTkQgTk9OSU5GUklOR0VNRU5ULiBJTiBOTyBFVkVOVCBTSEFMTCBUSEVcbi8vIEFVVEhPUlMgT1IgQ09QWVJJR0hUIEhPTERFUlMgQkUgTElBQkxFIEZPUiBBTlkgQ0xBSU0sIERBTUFHRVMgT1IgT1RIRVJcbi8vIExJQUJJTElUWSwgV0hFVEhFUiBJTiBBTiBBQ1RJT04gT0YgQ09OVFJBQ1QsIFRPUlQgT1IgT1RIRVJXSVNFLCBBUklTSU5HIEZST00sXG4vLyBPVVQgT0YgT1IgSU4gQ09OTkVDVElPTiBXSVRIIFRIRSBTT0ZUV0FSRSBPUiBUSEUgVVNFIE9SIE9USEVSIERFQUxJTkdTIElOXG4vLyBUSEUgU09GVFdBUkUuXG4vL1xuXG5AdXNlIFwic2FzczpsaXN0XCI7XG5AdXNlIFwic2FzczptYXBcIjtcbkB1c2UgXCJzYXNzOnN0cmluZ1wiO1xuQHVzZSBcIkBtYXRlcmlhbC9mZWF0dXJlLXRhcmdldGluZy9mdW5jdGlvbnNcIiBhcyBmZWF0dXJlLXRhcmdldGluZy1mdW5jdGlvbnM7XG5AdXNlIFwiQG1hdGVyaWFsL2ZlYXR1cmUtdGFyZ2V0aW5nL21peGluc1wiIGFzIGZlYXR1cmUtdGFyZ2V0aW5nLW1peGlucztcbkB1c2UgXCJAbWF0ZXJpYWwvdGhlbWUvbWl4aW5zXCIgYXMgdGhlbWUtbWl4aW5zO1xuQHVzZSBcIi4vdmFyaWFibGVzXCI7XG5cbkBtaXhpbiBjb3JlLXN0eWxlcygkcXVlcnk6IGZlYXR1cmUtdGFyZ2V0aW5nLWZ1bmN0aW9ucy5hbGwoKSkge1xuICAubWRjLXR5cG9ncmFwaHkge1xuICAgIEBpbmNsdWRlIGJhc2UoJHF1ZXJ5OiAkcXVlcnkpO1xuICB9XG5cbiAgQGVhY2ggJHN0eWxlIGluIG1hcC5rZXlzKHZhcmlhYmxlcy4kc3R5bGVzKSB7XG4gICAgLm1kYy10eXBvZ3JhcGh5LS0jeyRzdHlsZX0ge1xuICAgICAgQGluY2x1ZGUgdHlwb2dyYXBoeSgkc3R5bGUsICRxdWVyeTogJHF1ZXJ5KTtcbiAgICB9XG4gIH1cbn1cblxuQG1peGluIGJhc2UoJHF1ZXJ5OiBmZWF0dXJlLXRhcmdldGluZy1mdW5jdGlvbnMuYWxsKCkpIHtcbiAgJGZlYXQtdHlwb2dyYXBoeTogZmVhdHVyZS10YXJnZXRpbmctZnVuY3Rpb25zLmNyZWF0ZS10YXJnZXQoJHF1ZXJ5LCB0eXBvZ3JhcGh5KTtcblxuICBAaW5jbHVkZSBzbW9vdGgtZm9udCgkcXVlcnk6ICRxdWVyeSk7XG4gIEBpbmNsdWRlIGZlYXR1cmUtdGFyZ2V0aW5nLW1peGlucy50YXJnZXRzKCRmZWF0LXR5cG9ncmFwaHkpIHtcbiAgICBAaW5jbHVkZSB0aGVtZS1taXhpbnMucHJvcChmb250LWZhbWlseSwgKFxuICAgICAgdmFybmFtZTogLS1tZGMtdHlwb2dyYXBoeS1mb250LWZhbWlseSxcbiAgICAgIGZhbGxiYWNrOiBtYXAuZ2V0KHZhcmlhYmxlcy4kYmFzZSwgJ2ZvbnQtZmFtaWx5JylcbiAgICApKTtcbiAgfVxufVxuXG5AbWl4aW4gdHlwb2dyYXBoeSgkc3R5bGUsICRxdWVyeTogZmVhdHVyZS10YXJnZXRpbmctZnVuY3Rpb25zLmFsbCgpLCAkZXhjbHVkZS1wcm9wczogKCkpIHtcbiAgJGZlYXQtdHlwb2dyYXBoeTogZmVhdHVyZS10YXJnZXRpbmctZnVuY3Rpb25zLmNyZWF0ZS10YXJnZXQoJHF1ZXJ5LCB0eXBvZ3JhcGh5KTtcbiAgJHN0eWxlLXByb3BzOiBtYXAuZ2V0KHZhcmlhYmxlcy4kc3R5bGVzLCAkc3R5bGUpO1xuXG4gIEBpZiBub3QgbWFwLmhhcy1rZXkodmFyaWFibGVzLiRzdHlsZXMsICRzdHlsZSkge1xuICAgIEBlcnJvciBcIkludmFsaWQgc3R5bGUgc3BlY2lmaWVkISAjeyRzdHlsZX0gZG9lc24ndCBleGlzdC4gQ2hvb3NlIG9uZSBvZiAje21hcC5rZXlzKHZhcmlhYmxlcy4kc3R5bGVzKX1cIjtcbiAgfVxuXG4gIEBpbmNsdWRlIHNtb290aC1mb250KCRxdWVyeTogJHF1ZXJ5KTtcbiAgQGluY2x1ZGUgZmVhdHVyZS10YXJnZXRpbmctbWl4aW5zLnRhcmdldHMoJGZlYXQtdHlwb2dyYXBoeSkge1xuICAgIEBlYWNoICRrZXksICR2YWx1ZSBpbiAkc3R5bGUtcHJvcHMge1xuICAgICAgQGlmIGxpc3QuaW5kZXgoJGV4Y2x1ZGUtcHJvcHMsICRrZXkpID09IG51bGwge1xuICAgICAgICAkZmFsbGJhY2s6ICR2YWx1ZTtcbiAgICAgICAgQGlmICRrZXkgPT0gXCJmb250LWZhbWlseVwiIHtcbiAgICAgICAgICAvLyBFYWNoIHN0eWxlIGhhcyBpdHMgb3duIGZvbnQtZmFtaWx5IGN1c3RvbSBwcm9wZXJ0eSwgYnV0IHNob3VsZFxuICAgICAgICAgIC8vIGZhbGxiYWNrIHRvIGEgZ2VuZXJpYyBmb250LWZhbWlseSBwcm9wZXJ0eS4gVGhpcyBhbGxvd3NcbiAgICAgICAgICAvLyBjdXN0b21pemluZyB0aGUgZm9udC1mYW1pbHkgZm9yIGFsbCBzdHlsZXMgb3Igb25seSBzcGVjaWZpYyBvbmVzLlxuICAgICAgICAgICRmYWxsYmFjazogKFxuICAgICAgICAgICAgdmFybmFtZTogLS1tZGMtdHlwb2dyYXBoeS1mb250LWZhbWlseSxcbiAgICAgICAgICAgIGZhbGxiYWNrOiAkZmFsbGJhY2tcbiAgICAgICAgICApO1xuICAgICAgICB9XG5cbiAgICAgICAgQGluY2x1ZGUgdGhlbWUtbWl4aW5zLnByb3AoJGtleSwgKFxuICAgICAgICAgIHZhcm5hbWU6IC0tbWRjLXR5cG9ncmFwaHktI3skc3R5bGV9LSN7JGtleX0sXG4gICAgICAgICAgZmFsbGJhY2s6ICRmYWxsYmFja1xuICAgICAgICApKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuLy8vIEFwcGxpZXMgYW50aWFsaWFzaW5nIHZpYSBmb250LXNtb290aGluZyB0byB0ZXh0LlxuQG1peGluIHNtb290aC1mb250KCRxdWVyeTogZmVhdHVyZS10YXJnZXRpbmctZnVuY3Rpb25zLmFsbCgpKSB7XG4gICRmZWF0LXR5cG9ncmFwaHk6IGZlYXR1cmUtdGFyZ2V0aW5nLWZ1bmN0aW9ucy5jcmVhdGUtdGFyZ2V0KCRxdWVyeSwgdHlwb2dyYXBoeSk7XG5cbiAgQGluY2x1ZGUgZmVhdHVyZS10YXJnZXRpbmctbWl4aW5zLnRhcmdldHMoJGZlYXQtdHlwb2dyYXBoeSkge1xuICAgIC1tb3otb3N4LWZvbnQtc21vb3RoaW5nOiBncmF5c2NhbGU7XG4gICAgLXdlYmtpdC1mb250LXNtb290aGluZzogYW50aWFsaWFzZWQ7XG4gIH1cbn1cblxuLy8gRWxlbWVudCBtdXN0IGJlIGBkaXNwbGF5OiBibG9ja2Agb3IgYGRpc3BsYXk6IGlubGluZS1ibG9ja2AgZm9yIHRoaXMgdG8gd29yay5cbkBtaXhpbiBvdmVyZmxvdy1lbGxpcHNpcygkcXVlcnk6IGZlYXR1cmUtdGFyZ2V0aW5nLWZ1bmN0aW9ucy5hbGwoKSkge1xuICAkZmVhdC1zdHJ1Y3R1cmU6IGZlYXR1cmUtdGFyZ2V0aW5nLWZ1bmN0aW9ucy5jcmVhdGUtdGFyZ2V0KCRxdWVyeSwgc3RydWN0dXJlKTtcblxuICBAaW5jbHVkZSBmZWF0dXJlLXRhcmdldGluZy1taXhpbnMudGFyZ2V0cygkZmVhdC1zdHJ1Y3R1cmUpIHtcbiAgICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcbiAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gIH1cbn1cblxuLy8vIFNldHMgYSBjb250YWluZXIncyBiYXNlbGluZSB0aGF0IHRleHQgY29udGVudCB3aWxsIGFsaWduIHRvLlxuLy8vXG4vLy8gSWYgdGhlIGAkZGlzcGxheWAgaXMgc2V0IHRvIGEgZmxleGJveCBkaXNwbGF5LCBvbmx5IGAkdG9wYCBiYXNlbGluZSBtYXkgYmVcbi8vLyBzZXQuIEEgc2VwYXJhdGUgZWxlbWVudCBtdXN0IGJlIGFkZGVkIGFzIGEgY2hpbGQgb2YgdGhlIGNvbnRhaW5lciB3aXRoIGFcbi8vLyBgJGJvdHRvbWAgYmFzZWxpbmUuXG4vLy9cbi8vLyBAcGFyYW0ge051bWJlcn0gJHRvcCAtIHRoZSBkaXN0YW5jZSBmcm9tIHRoZSB0b3Agb2YgdGhlIGNvbnRhaW5lciB0byB0aGVcbi8vLyAgICAgdGV4dCdzIGJhc2VsaW5lLlxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkYm90dG9tIC0gdGhlIGRpc3RhbmNlIGZyb20gdGhlIHRleHQncyBiYXNlbGluZSB0byB0aGVcbi8vLyAgICAgYm90dG9tIG9mIHRoZSBjb250YWluZXIuXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICRkaXNwbGF5IC0gdGhlIGRpc3BsYXkgdHlwZSBvZiB0aGUgY29udGFpbmVyLiBNYXkgYmUgYGZsZXhgLFxuLy8vICAgICBgaW5saW5lLWZsZXhgLCBgYmxvY2tgLCBvciBgaW5saW5lLWJsb2NrYC5cbkBtaXhpbiBiYXNlbGluZSgkdG9wOiAwLCAkYm90dG9tOiAwLCAkZGlzcGxheTogYmxvY2ssICRxdWVyeTogZmVhdHVyZS10YXJnZXRpbmctZnVuY3Rpb25zLmFsbCgpKSB7XG4gICR2YWxpZERpc3BsYXlUeXBlczogKGZsZXgsIGlubGluZS1mbGV4LCBibG9jaywgaW5saW5lLWJsb2NrKTtcblxuICBAaWYgbGlzdC5pbmRleCgkdmFsaWREaXNwbGF5VHlwZXMsICRkaXNwbGF5KSA9PSBudWxsIHtcbiAgICBAZXJyb3IgXCJtZGMtdHlwb2dyYXBoeTogaW52YWxpZCBkaXNwbGF5IHNwZWNpZmllZCEgI3skZGlzcGxheX0gbXVzdCBiZSBvbmUgb2YgI3skdmFsaWREaXNwbGF5VHlwZXN9XCI7XG4gIH1cblxuICAkaXNGbGV4Ym94OiAkZGlzcGxheSA9PSBcImZsZXhcIiBvciAkZGlzcGxheSA9PSBcImlubGluZS1mbGV4XCI7XG4gICRmZWF0LXN0cnVjdHVyZTogZmVhdHVyZS10YXJnZXRpbmctZnVuY3Rpb25zLmNyZWF0ZS10YXJnZXQoJHF1ZXJ5LCBzdHJ1Y3R1cmUpO1xuXG4gIEBpbmNsdWRlIGZlYXR1cmUtdGFyZ2V0aW5nLW1peGlucy50YXJnZXRzKCRmZWF0LXN0cnVjdHVyZSkge1xuICAgIGRpc3BsYXk6ICRkaXNwbGF5O1xuXG4gICAgQGlmICRpc0ZsZXhib3gge1xuICAgICAgYWxpZ24taXRlbXM6IGJhc2VsaW5lO1xuICAgIH1cbiAgfVxuXG4gIEBpZiAkdG9wID4gMCB7XG4gICAgQGluY2x1ZGUgYmFzZWxpbmUtdG9wKCR0b3AsICRxdWVyeTogJHF1ZXJ5KTtcbiAgfVxuXG4gIEBpZiAkYm90dG9tID4gMCB7XG4gICAgQGlmICRpc0ZsZXhib3gge1xuICAgICAgQGVycm9yIFwibWRjLXR5cG9ncmFwaHk6IGludmFsaWQgYmFzZWxpbmUgd2l0aCBkaXNwbGF5IHR5cGUuICN7JGRpc3BsYXl9IGNhbm5vdCBzcGVjaWZpeSAkYm90dG9tLiBBZGQgYSBzZXBhcmF0ZSBjaGlsZCBlbGVtZW50IHdpdGggaXRzIG93biAkYm90dG9tLlwiO1xuICAgIH1cblxuICAgIEBpbmNsdWRlIGJhc2VsaW5lLWJvdHRvbSgkYm90dG9tLCAkcXVlcnk6ICRxdWVyeSk7XG4gIH1cbn1cblxuLy8vIFNldHMgdGhlIGJhc2VsaW5lIG9mIGZsb3cgdGV4dCBjb250ZW50LlxuLy8vXG4vLy8gU2VwYXJhdGUgYCR0b3BgIGFuZCBgJGJvdHRvbWAgYmFzZWxpbmVzIG1heSBiZSBzcGVjaWZpZWQuIFlvdSBzaG91bGQgZW5zdXJlXG4vLy8gdGhhdCB0aGUgYCR0b3BgIGJhc2VsaW5lIG1hdGNoZXMgdGhlIHByZXZpb3VzIHRleHQgY29udGVudCdzICRib3R0b21cbi8vLyBiYXNlbGluZSB0byBlbnN1cmUgdGV4dCBpcyBwb3NpdGlvbmVkIGFwcHJvcHJpYXRlbHkuXG4vLy9cbi8vLyBTZWUgZ28vY3NzLWJhc2VsaW5lIGZvciByZWZlcmVuY2Ugb24gaG93IHRoaXMgbWl4aW4gd29ya3MuXG4vLy9cbi8vLyBUaGlzIGlzIGludGVuZGVkIGZvciB0ZXh0IGZsb3cgY29udGVudCBvbmx5IChlLmcuIGA8aDE+YCwgYDxwPmAsIGA8c3Bhbj5gLFxuLy8vIG9yIGA8ZGl2PmAgd2l0aCBvbmx5IHRleHQgY29udGVudCkuIFVzZSBgYmFzZWxpbmUoKWAgdG8gc2V0IHRoZSBiYXNlbGluZSBvZlxuLy8vIGNvbnRhaW5lcnMgdGhhdCBhcmUgZmxleGJveCBvciBoYXZlIG5vbi1mbG93IGNvbnRlbnQgY2hpbGRyZW4uXG4vLy9cbi8vLyBAcGFyYW0ge051bWJlcn0gJHRvcCAtIHRoZSBkaXN0YW5jZSBmcm9tIHRoZSB0b3Agb2YgdGhlIGNvbnRhaW5lciB0byB0aGVcbi8vLyAgICAgdGV4dCdzIGJhc2VsaW5lLlxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkYm90dG9tIC0gdGhlIGRpc3RhbmNlIGZyb20gdGhlIHRleHQncyBiYXNlbGluZSB0byB0aGVcbi8vLyAgICAgYm90dG9tIG9mIHRoZSBjb250YWluZXIuXG4vLy8gQHBhcmFtIHtCb29sZWFufSAkbGluZUhlaWdodCAtIHRoZSBsaW5lLWhlaWdodCB0byB1c2UgZm9yIHRoZSB0ZXh0LiBUaGlzXG4vLy8gICAgIGlzIHRoZSBkaXN0YW5jZSBiZXR3ZWVuIGJhc2VsaW5lcyBvZiBtdWx0aXBsZSBsaW5lcyBvZiB0ZXh0LlxuLy8vIEBwYXJhbSB7U3RyaW5nfSAkZGlzcGxheSAtIHRoZSBkaXNwbGF5IHR5cGUgb2YgdGhlIGNvbnRhaW5lci4gTWF5IGJlIGBibG9ja2Bcbi8vLyAgICAgb3IgYGlubGluZS1ibG9ja2AuXG5AbWl4aW4gdGV4dC1iYXNlbGluZSgkdG9wOiAwLCAkYm90dG9tOiAwLCAkZGlzcGxheTogYmxvY2ssICRsaW5lSGVpZ2h0OiBub3JtYWwsICRxdWVyeTogZmVhdHVyZS10YXJnZXRpbmctZnVuY3Rpb25zLmFsbCgpKSB7XG4gICR2YWxpZERpc3BsYXlUeXBlczogKGJsb2NrLCBpbmxpbmUtYmxvY2spO1xuXG4gIEBpZiBsaXN0LmluZGV4KCR2YWxpZERpc3BsYXlUeXBlcywgJGRpc3BsYXkpID09IG51bGwge1xuICAgIEBlcnJvciBcIm1kYy10eXBvZ3JhcGh5OiBpbnZhbGlkIGRpc3BsYXkgc3BlY2lmaWVkISAjeyRkaXNwbGF5fSBtdXN0IGJlIG9uZSBvZiAjeyR2YWxpZERpc3BsYXlUeXBlc31cIjtcbiAgfVxuXG4gICRmZWF0LXN0cnVjdHVyZTogZmVhdHVyZS10YXJnZXRpbmctZnVuY3Rpb25zLmNyZWF0ZS10YXJnZXQoJHF1ZXJ5LCBzdHJ1Y3R1cmUpO1xuXG4gIEBpbmNsdWRlIGJhc2VsaW5lKCRkaXNwbGF5OiAkZGlzcGxheSwgJHRvcDogJHRvcCwgJGJvdHRvbTogJGJvdHRvbSwgJHF1ZXJ5OiAkcXVlcnkpO1xuICBAaW5jbHVkZSBmZWF0dXJlLXRhcmdldGluZy1taXhpbnMudGFyZ2V0cygkZmVhdC1zdHJ1Y3R1cmUpIHtcbiAgICBAaWYgJHRvcCA+IDAge1xuICAgICAgbWFyZ2luLXRvcDogMDtcbiAgICAgIC8qIEBhbHRlcm5hdGUgKi9cbiAgICAgIGxpbmUtaGVpZ2h0OiAjeyRsaW5lSGVpZ2h0fTtcbiAgICB9XG5cbiAgICBAaWYgJGJvdHRvbSA+IDAge1xuICAgICAgbWFyZ2luLWJvdHRvbTogLTEgKiAkYm90dG9tO1xuICAgIH1cbiAgfVxufVxuXG4vLy8gQ3JlYXRlcyBhIGJhc2VsaW5lIHN0cnV0IGZyb20gdGhlIHRvcCBvZiBhIGNvbnRhaW5lci4gVGhpcyBtaXhpbiBpcyBmb3Jcbi8vLyBhZHZhbmNlZCB1c2VycywgcHJlZmVyIGBiYXNlbGluZSgpYC5cbi8vL1xuLy8vIEBwYXJhbSB7TnVtYmVyfSAkZGlzdGFuY2UgLSBUaGUgZGlzdGFuY2UgZnJvbSB0aGUgdG9wIG9mIHRoZSBjb250YWluZXIgdG9cbi8vLyAgICAgdGhlIHRleHQncyBiYXNlbGluZS5cbkBtaXhpbiBiYXNlbGluZS10b3AoJGRpc3RhbmNlLCAkcXVlcnk6IGZlYXR1cmUtdGFyZ2V0aW5nLWZ1bmN0aW9ucy5hbGwoKSkge1xuICAkZmVhdC1zdHJ1Y3R1cmU6IGZlYXR1cmUtdGFyZ2V0aW5nLWZ1bmN0aW9ucy5jcmVhdGUtdGFyZ2V0KCRxdWVyeSwgc3RydWN0dXJlKTtcblxuICAmOjpiZWZvcmUge1xuICAgIEBpbmNsdWRlIGZlYXR1cmUtdGFyZ2V0aW5nLW1peGlucy50YXJnZXRzKCRmZWF0LXN0cnVjdHVyZSkge1xuICAgICAgQGluY2x1ZGUgYmFzZWxpbmUtc3RydXRfKCRkaXN0YW5jZSk7XG5cbiAgICAgIHZlcnRpY2FsLWFsaWduOiAwO1xuICAgIH1cbiAgfVxufVxuXG4vLy8gQ3JlYXRlcyBhIGJhc2VsaW5lIHN0cnV0IGZyb20gdGhlIGJhc2VsaW5lIHRvIHRoZSBib3R0b20gb2YgYSBjb250YWluZXIuXG4vLy8gVGhpcyBtaXhpbiBpcyBmb3IgYWR2YW5jZWQgdXNlcnMsIHByZWZlciBgYmFzZWxpbmUoKWAuXG4vLy9cbi8vLyBAcGFyYW0ge051bWJlcn0gJGRpc3RhbmNlIC0gVGhlIGRpc3RhbmNlIGZyb20gdGhlIHRleHQncyBiYXNlbGluZSB0byB0aGVcbi8vLyAgICAgYm90dG9tIG9mIHRoZSBjb250YWluZXIuXG5AbWl4aW4gYmFzZWxpbmUtYm90dG9tKCRkaXN0YW5jZSwgJHF1ZXJ5OiBmZWF0dXJlLXRhcmdldGluZy1mdW5jdGlvbnMuYWxsKCkpIHtcbiAgJGZlYXQtc3RydWN0dXJlOiBmZWF0dXJlLXRhcmdldGluZy1mdW5jdGlvbnMuY3JlYXRlLXRhcmdldCgkcXVlcnksIHN0cnVjdHVyZSk7XG5cbiAgJjo6YWZ0ZXIge1xuICAgIEBpbmNsdWRlIGZlYXR1cmUtdGFyZ2V0aW5nLW1peGlucy50YXJnZXRzKCRmZWF0LXN0cnVjdHVyZSkge1xuICAgICAgQGluY2x1ZGUgYmFzZWxpbmUtc3RydXRfKCRkaXN0YW5jZSk7XG5cbiAgICAgIHZlcnRpY2FsLWFsaWduOiAtMSAqICRkaXN0YW5jZTtcbiAgICB9XG4gIH1cbn1cblxuQG1peGluIGJhc2VsaW5lLXN0cnV0XygkZGlzdGFuY2UpIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB3aWR0aDogMDtcbiAgaGVpZ2h0OiAkZGlzdGFuY2U7XG4gIGNvbnRlbnQ6IFwiXCI7XG59XG4iLCIubWRjLWxpc3QtaXRlbS0tZGlzYWJsZWQge1xuICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICAgIGNvbG9yOiByZ2JhKCRwcm9qZWN0LWJsYWNrLCAwLjMpO1xufVxuXG4ubWRjLW1lbnUtc3VyZmFjZSB7XG4gICAgc2Nyb2xsYmFyLXdpZHRoOiB0aGluO1xuICAgIHNjcm9sbGJhci1jb2xvcjogJHByb2plY3QtZ3JheS1sNTAwICRwcm9qZWN0LXdoaXRlO1xuICAgIHotaW5kZXg6IDIwO1xuXG4gICAgJjo6LXdlYmtpdC1zY3JvbGxiYXIge1xuICAgICAgICB3aWR0aDogOHB4O1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkcHJvamVjdC13aGl0ZTtcbiAgICB9XG5cbiAgICAmOjotd2Via2l0LXNjcm9sbGJhci10aHVtYiB7XG4gICAgICAgIG91dGxpbmU6IG5vbmU7XG4gICAgICAgIHdpZHRoOiA3cHg7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDdweDtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHByb2plY3QtZ3JheS1sNTAwO1xuICAgICAgICBib3JkZXI6IDFweCBzb2xpZCAkcHJvamVjdC13aGl0ZTtcbiAgICB9XG5cbiAgICAmLS1hbmNob3Ige1xuICAgICAgICA+IGJ1dHRvbiB7XG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgICAgICAgICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcbiAgICAgICAgfVxuICAgIH1cbn1cblxuLm1kYy1pY29uLWJ1dHRvbiB7XG4gICAgJi5tYXRlcmlhbC1pY29ucyB7XG4gICAgICAgIHdpZHRoOiA0OHB4O1xuICAgICAgICBmb250LWZhbWlseTogbWF0ZXJpYWxJY29uc1JvdW5kV2ViLCBzYW5zLXNlcmlmO1xuICAgIH1cbn1cblxuLm1kYy1yYWRpbyB7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbn1cblxuLm1kYy1yYWRpb19fcmlwcGxlIHtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIGJvcmRlci1yYWRpdXM6IDEwMHB4O1xufVxuXG4ubWRjLW1lbnUge1xuICAgIC5tZGMtbGlzdC1pdGVtIHtcbiAgICAgICAgaGVpZ2h0OiBhdXRvO1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICAgICAgcGFkZGluZy10b3A6IDZweDtcbiAgICAgICAgcGFkZGluZy1ib3R0b206IDZweDtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDEuMjtcblxuICAgICAgICBAbWVkaWEobWluLXdpZHRoOiAkc2NyZWVuLW1kKSB7XG4gICAgICAgICAgICBwYWRkaW5nLXRvcDogMTBweDtcbiAgICAgICAgICAgIHBhZGRpbmctYm90dG9tOiAxMHB4O1xuICAgICAgICB9XG4gICAgfVxufVxuIiwiLy8gQ3VzdG9tIHZhcmlhYmxlcyBoZXJlXG5cbi8vIGNvbG9ycyBicmFuZGJvb2tcbiRwcm9qZWN0LXVuaWNlZjogIzAwQUVFRjtcbiRwcm9qZWN0LXBhbnRvbmUtMzU2OiAjMDA4MzNEO1xuJHByb2plY3QtcGFudG9uZS0zNzY6ICM4MEJENDE7XG4kcHJvamVjdC1wYW50b25lLTc1NDg6ICNGRkMyMEU7XG4kcHJvamVjdC1wYW50b25lLTE1MDU6ICNGMjZBMjE7XG4kcHJvamVjdC1wYW50b25lLTQ4NTogI0UyMjMxQTtcbiRwcm9qZWN0LXBhbnRvbmUtMjIxOiAjOTYxQTQ5O1xuJHByb2plY3QtcGFudG9uZS0yNjEzOiAjNkExRTc0O1xuJHByb2plY3QtcGFudG9uZS13YXJtLWdyZXktMTogI0Q4RDFDOTtcbiRwcm9qZWN0LXBhbnRvbmUtY29vbC1ncmV5LTk6ICM3Nzc3Nzk7XG4kcHJvamVjdC1wYW50b25lLWJsYWNrOiAjMkQyOTI2O1xuJHByb2plY3QtcGFudG9uZS03Njg1OiAjMzc0RUEyO1xuXG4vLyBwc2Qgd2VicGFnZSBjb2xvcnNcbiRwcm9qZWN0LXdoaXRlOiAjZmZmO1xuJHByb2plY3QtYmx1ZTogJHByb2plY3QtdW5pY2VmO1xuJHByb2plY3QtYmx1ZS1ob3ZlcjogIzAwOWFlMDtcbiRwcm9qZWN0LWJsdWUtbDgwMDogI2QyZWVmOTtcbiRwcm9qZWN0LWJsdWUtbDcwMDogIzdmZDJmMTtcbiRwcm9qZWN0LWJsdWUtbDkwMDogI2UxZjRmZDtcbiRwcm9qZWN0LWJsdWUtbDk1MDogI2Y1ZmNmZTtcbiRwcm9qZWN0LWJsdWUtbDUwMDogIzA3YmFmZDtcbiRwcm9qZWN0LWJsdWUtbDYwMDogIzIyYjlmMTtcbiRwcm9qZWN0LWJsdWUtbDY1MDogIzliZGFmMjtcbiRwcm9qZWN0LWJsdWUtZDUwMDogIzAwYTVlMztcbiRwcm9qZWN0LWJsdWUtZDYwMDogIzAwYTNlMDtcbiRwcm9qZWN0LWJsYWNrOiAjMjAxZDFkO1xuJHByb2plY3QtZ3JheS1sMzAwOiAjYzRjNGM0O1xuJHByb2plY3QtZ3JheS1sNDAwOiAjZDBkMmQzO1xuJHByb2plY3QtZ3JheS1sNTAwOiAjZDZkOGRhO1xuJHByb2plY3QtZ3JheS1sNjAwOiAjZTZlNmU2O1xuJHByb2plY3QtZ3JheS1kMjAwOiAjODA3ZTdlO1xuJHByb2plY3QtZ3JheS1kMzAwOiAjN2E3YTdhO1xuJHByb2plY3QtZ3JheS1kNDAwOiAjNDE0MDQyO1xuJHByb2plY3QtZ3JheS1kNTAwOiAjM2Q0MjQ0O1xuJHByb2plY3QtZ3JheS1kNjAwOiAjMTgxODE5O1xuJHByb2plY3QtZ3JheS1kNzAwOiAjMGUwZTBlO1xuJHByb2plY3QtbmF2eWJsdWU6ICMyNjUzQjk7XG4kcHJvamVjdC1uYXZ5Ymx1ZS1ob3ZlcjogbGlnaHRlbigkcHJvamVjdC1uYXZ5Ymx1ZSwgNiUpO1xuJHByb2plY3QtbmF2eWJsdWUtbDIwMDogIzMxNDJhZDtcbiRwcm9qZWN0LW5hdnlibHVlLWwzMDA6ICM0OTVhOTQ7XG4kcHJvamVjdC1uYXZ5Ymx1ZS1sNDAwOiAjNTk1ZjhlO1xuJHByb2plY3QtbmF2eWJsdWUtbDUwMDogI2EzYWRlYztcbiRwcm9qZWN0LW5hdnktYmx1ZS1kYXJrOiAjMjkzYjk1O1xuJHByb2plY3QtcmVkOiAjRkZGRjAwO1xuJHByb2plY3QtcmVkLWhvdmVyOiAjZDdkNzAwO1xuJHByb2plY3Qtb2xkLXJlZDogI2ZmNDUwMDs7XG4kcHJvamVjdC1vbGQtcmVkLWhvdmVyOiAjZjUyZTAwO1xuJHByb2plY3QtbmV3LXJlZDogI2ZmMDAwMDs7XG4kcHJvamVjdC1uZXctcmVkLWhvdmVyOiAjZjAwMDAwO1xuJHByb2plY3QtZ3JlZW46ICM2ZWMwMWU7XG4kcHJvamVjdC1ncmVlbi1ob3ZlcjogIzU2YjYxNjtcbiRwcm9qZWN0LW9yYW5nZTogI0YyNkEyMTtcbiRwcm9qZWN0LW9yYW5nZS1ob3ZlcjogI0QzNUIxRjtcbiRwcm9qZWN0LXllbGxvdzogI2Y5YzQxMjtcbiRwcm9qZWN0LW9yYW5nZTogJHByb2plY3QtcGFudG9uZS0xNTA1O1xuXG4vL1xuJHByb2plY3QtcHJpbWFyeTogJHByb2plY3QtYmx1ZTtcbiRwcm9qZWN0LXByaW1hcnktd2VsbDogIzAwYTNlMDsgLy8gbWVudSBwYW5lbCBtb2JpbGVcbiRwcm9qZWN0LXRleHQ6ICRwcm9qZWN0LWJsYWNrO1xuJHByb2plY3QtdHJhbnNwYXJlbnQ6IHJnYmEoMCwgMCwgMCwgMCk7XG4kcHJvamVjdC10cmFuc3BhcmVudC1ob3ZlcjogcmdiYSgwLCAwLCAwLCAwLjEpO1xuJHByb2plY3QtZXJyb3I6ICRwcm9qZWN0LW5ldy1yZWQ7XG4kcHJvamVjdC13YXJuaW5nOiAkcHJvamVjdC1vcmFuZ2U7XG4kcHJvamVjdC1kaXNhYmxlZDogJHByb2plY3QtZ3JheS1sNTAwO1xuXG4vLyBncmlkXG4kc2l0ZS1jb250YWluZXI6IDEzNjlweDtcbiRzaXRlLWNvbnRhaW5lci1uYXJyb3c6IDEyODRweDtcblxuJHNjcmVlbi14eHhzOiAzMjBweDtcbiRzY3JlZW4teHhzOiAzNzVweDtcbiRzY3JlZW4teHM6IDQ4MHB4O1xuJHNjcmVlbi1zbTogNzY4cHg7XG4kc2NyZWVuLW1kOiA5OTJweDtcbiRzY3JlZW4tbGc6IDEyMDBweDtcbiRzY3JlZW4teGw6IDE0MDBweDtcbiRzY3JlZW4teHhsOiAxNjU2cHg7XG4kc2NyZWVuLWhkOiAxODkwcHg7XG4iLCIuYnJlYWRjcnVtYiB7XG4gICAgZGlzcGxheTogbm9uZTtcblxuICAgIEBtZWRpYShtaW4td2lkdGg6ICRzY3JlZW4tbWQpIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG4gICAgICAgIG1hcmdpbjogMzBweCBhdXRvIDE1cHggYXV0bztcbiAgICAgICAgZm9udC1zaXplOiAwO1xuICAgICAgICBmb250LXdlaWdodDogMzAwO1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgcGFkZGluZzogMCAxNXB4O1xuICAgICAgICBtYXgtd2lkdGg6ICRzaXRlLWNvbnRhaW5lci1uYXJyb3c7XG4gICAgICAgIGxldHRlci1zcGFjaW5nOiAwLjRweDtcbiAgICB9XG5cbiAgICBAbWVkaWEobWluLXdpZHRoOiAkc2NyZWVuLWxnKSB7XG4gICAgICAgIG1hcmdpbjogMzVweCBhdXRvIDIwcHggYXV0bztcbiAgICB9XG5cbiAgICBAbWVkaWEobWluLXdpZHRoOiAkc2NyZWVuLXhsKSB7XG4gICAgICAgIG1hcmdpbjogNzVweCBhdXRvIDIwcHggYXV0bztcbiAgICB9XG4gICAgXG4gICAgLmhlcm8tMzY1ICsgJiB7XG4gICAgICAgIEBtZWRpYShtaW4td2lkdGg6ICRzY3JlZW4tbWQpIHtcbiAgICAgICAgICAgIG1hcmdpbjogMTVweCBhdXRvIDE2cHggYXV0bztcbiAgICAgICAgfVxuICAgICAgICBAbWVkaWEobWluLXdpZHRoOiAkc2NyZWVuLWxnKSB7XG4gICAgICAgICAgICBtYXJnaW46IDI1cHggYXV0byAyNnB4IGF1dG87XG4gICAgICAgIH1cblxuICAgICAgICBAbWVkaWEobWluLXdpZHRoOiAkc2NyZWVuLXhsKSB7XG4gICAgICAgICAgICBtYXJnaW46IDM2cHggYXV0byAzNXB4IGF1dG87XG4gICAgICAgIH1cbiAgICB9XG4gICAgXG4gICAgLmhlcm8tcGFnZSArICYge1xuICAgICAgICBAbWVkaWEobWluLXdpZHRoOiAkc2NyZWVuLW1kKSB7XG4gICAgICAgICAgICBtYXJnaW46IDE1cHggYXV0bztcbiAgICAgICAgfVxuICAgICAgICBAbWVkaWEobWluLXdpZHRoOiAkc2NyZWVuLWxnKSB7XG4gICAgICAgICAgICBtYXJnaW46IDI1cHggYXV0byAyMHB4IGF1dG87XG4gICAgICAgIH1cbiAgICAgICAgXG4gICAgICAgIEBtZWRpYShtaW4td2lkdGg6ICRzY3JlZW4teGwpIHtcbiAgICAgICAgICAgIG1hcmdpbjogMzZweCBhdXRvIDIwcHggYXV0bztcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5oZXJvLXNlY3Rpb24gKyAmIHtcbiAgICAgICAgQG1lZGlhKG1pbi13aWR0aDogJHNjcmVlbi1tZCkge1xuICAgICAgICAgICAgbWFyZ2luOiAzMHB4IGF1dG8gMTVweCBhdXRvO1xuICAgICAgICB9XG5cbiAgICAgICAgQG1lZGlhKG1pbi13aWR0aDogJHNjcmVlbi1sZykge1xuICAgICAgICAgICAgbWFyZ2luOiAyNXB4IGF1dG8gNDVweCBhdXRvO1xuICAgICAgICB9XG5cbiAgICAgICAgQG1lZGlhKG1pbi13aWR0aDogJHNjcmVlbi14bCkge1xuICAgICAgICAgICAgbWFyZ2luOiAzNnB4IGF1dG8gOTVweCBhdXRvO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLmxhbmRpbmdwYWdlLXZpZXcgJiB7XG4gICAgICAgIEBtZWRpYShtaW4td2lkdGg6ICRzY3JlZW4tbWQpIHtcbiAgICAgICAgICAgIG1hcmdpbjogMTVweCBhdXRvO1xuICAgICAgICB9XG4gICAgICAgIFxuICAgICAgICBAbWVkaWEobWluLXdpZHRoOiAkc2NyZWVuLWxnKSB7XG4gICAgICAgICAgICBtYXgtd2lkdGg6IDEwODBweDtcbiAgICAgICAgICAgIG1hcmdpbjogMjVweCBhdXRvIDIzcHggYXV0bztcbiAgICAgICAgfVxuXG4gICAgICAgIEBtZWRpYShtaW4td2lkdGg6ICRzY3JlZW4teGwpIHtcbiAgICAgICAgICAgIG1hcmdpbjogMzZweCBhdXRvIDM0cHggYXV0bztcbiAgICAgICAgICAgIG1heC13aWR0aDogJHNpdGUtY29udGFpbmVyLW5hcnJvdztcbiAgICAgICAgfVxuICAgIH1cblxuICAgICZfX2xpc3Qge1xuICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgICBtYXJnaW46IDA7XG4gICAgfVxuXG4gICAgJl9faXRlbSB7XG4gICAgICAgIGZvbnQtc2l6ZTogMTRweDtcbiAgICAgICAgXG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgdmVydGljYWwtYWxpZ246IHRvcDtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gICAgICAgICY6YWZ0ZXIge1xuICAgICAgICAgICAgY29udGVudDogXCI+XCI7XG4gICAgICAgICAgICBtYXJnaW46IDAgNXB4IDAgNHB4O1xuICAgICAgICB9XG5cbiAgICAgICAgJjpsYXN0LW9mLXR5cGUge1xuICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgICAgICAgICAgIFxuICAgICAgICAgICAgYSB7XG4gICAgICAgICAgICAgICAgY29sb3I6ICRwcm9qZWN0LWJsdWU7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBcbiAgICAgICAgICAgICY6YWZ0ZXIge1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmX19saW5rIHtcbiAgICAgICAgY29sb3I6ICRwcm9qZWN0LWJsYWNrO1xuXG4gICAgICAgICY6aG92ZXIsXG4gICAgICAgICY6Zm9jdXMge1xuICAgICAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG4gICAgICAgIH1cbiAgICB9XG59IiwiQGltcG9ydCBcIkBtYXRlcmlhbC9jaGVja2JveC9mdW5jdGlvbnNcIjtcbkBpbXBvcnQgXCJAbWF0ZXJpYWwvY2hlY2tib3gvbWl4aW5zXCI7XG5AaW1wb3J0IFwiQG1hdGVyaWFsL2NoZWNrYm94L3ZhcmlhYmxlc1wiO1xuXG5AaW1wb3J0IFwiQG1hdGVyaWFsL3JhZGlvL2Z1bmN0aW9uc1wiO1xuQGltcG9ydCBcIkBtYXRlcmlhbC9yYWRpby9taXhpbnNcIjtcbkBpbXBvcnQgXCJAbWF0ZXJpYWwvcmFkaW8vdmFyaWFibGVzXCI7XG5cbkBpbXBvcnQgXCJAbWF0ZXJpYWwvc2VsZWN0L2Z1bmN0aW9uc1wiO1xuQGltcG9ydCBcIkBtYXRlcmlhbC9zZWxlY3QvbWl4aW5zXCI7XG5AaW1wb3J0IFwiQG1hdGVyaWFsL3NlbGVjdC92YXJpYWJsZXNcIjtcblxuLnNpdGUtZm9ybSB7XG5cbiAgICAubWRjLXRleHQtZmllbGQtLW91dGxpbmVkOm5vdCgubWRjLXRleHQtZmllbGQtLWludmFsaWQpOm5vdCgubWRjLXRleHQtZmllbGQtLWRpc2FibGVkKSBpbnB1dDotd2Via2l0LWF1dG9maWxsIHtcbiAgICAgICAgLXdlYmtpdC10ZXh0LWZpbGwtY29sb3I6ICRwcm9qZWN0LXByaW1hcnkgIWltcG9ydGFudDtcbiAgICAgICAgLXdlYmtpdC1ib3gtc2hhZG93OiAwIDAgMCA2MHB4ICRwcm9qZWN0LWJsdWUtbDk1MCBpbnNldCAhaW1wb3J0YW50O1xuICAgIH1cblxuICAgICZfX2NoZWNrYm94IHtcbiAgICAgICAgJi0tcmVhZG9ubHkge1xuICAgICAgICAgICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gICAgICAgICAgICB1c2VyLXNlbGVjdDogbm9uZTtcbiAgICAgICAgICAgIG9wYWNpdHk6IDAuMztcblxuICAgICAgICAgICAgfiBsYWJlbCB7XG4gICAgICAgICAgICAgICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gICAgICAgICAgICAgICAgdXNlci1zZWxlY3Q6IG5vbmU7XG5cbiAgICAgICAgICAgICAgICBhIHtcbiAgICAgICAgICAgICAgICAgICAgcG9pbnRlci1ldmVudHM6IGF1dG87XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgLm1kYy1mbG9hdGluZy1sYWJlbCB7XG4gICAgICAgIHVzZXItc2VsZWN0OiBub25lO1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgICAgICBmb250LXdlaWdodDogMzAwO1xuICAgICAgICBsZXR0ZXItc3BhY2luZzogLTAuMnB4O1xuICAgICAgICBsaW5lLWhlaWdodDogMS4xNTtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG5cbiAgICAgICAgQG1lZGlhKG1pbi13aWR0aDogJHNjcmVlbi1zbSkge1xuICAgICAgICAgICAgbGV0dGVyLXNwYWNpbmc6IDA7XG4gICAgICAgIH1cblxuICAgICAgICBAbWVkaWEobWluLXdpZHRoOiAkc2NyZWVuLXh4bCkge1xuICAgICAgICAgICAgZm9udC1zaXplOiAxOXB4O1xuICAgICAgICB9XG5cbiAgICAgICAgJi5tZGMtZmxvYXRpbmctbGFiZWwtLWZsb2F0LWFib3ZlIHtcbiAgICAgICAgICAgIHRleHQtb3ZlcmZsb3c6IGNsaXA7XG4gICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogdG9wO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgaW5wdXRbcmVhZG9ubHldICsgLm1kYy1ub3RjaGVkLW91dGxpbmUtLW5vdGNoZWQge1xuICAgICAgICAubWRjLW5vdGNoZWQtb3V0bGluZV9fbGVhZGluZyxcbiAgICAgICAgLm1kYy1ub3RjaGVkLW91dGxpbmVfX25vdGNoLFxuICAgICAgICAubWRjLW5vdGNoZWQtb3V0bGluZV9fdHJhaWxpbmcge1xuICAgICAgICAgICAgYm9yZGVyLXdpZHRoOiAxcHg7XG4gICAgICAgIH1cblxuICAgICAgICAubWRjLWZsb2F0aW5nLWxhYmVsIHtcbiAgICAgICAgICAgIHVzZXItc2VsZWN0OiBub25lO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLm1kYy1zZWxlY3QtLW91dGxpbmVkIHtcbiAgICAgICAgLm1kYy1mbG9hdGluZy1sYWJlbCB7XG4gICAgICAgICAgICAmLm1kYy1mbG9hdGluZy1sYWJlbC0tZmxvYXQtYWJvdmUge1xuICAgICAgICAgICAgICAgIG1pbi13aWR0aDogMDtcbiAgICAgICAgICAgICAgICBtYXgtd2lkdGg6IG5vbmU7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAubWRjLWNoZWNrYm94IHtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IC0xMXB4O1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAtOHB4O1xuICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgICAgICAgICAgLy9AaW5jbHVkZSBtZGMtY2hlY2tib3gtY29udGFpbmVyLWNvbG9ycygkdW5tYXJrZWQtc3Ryb2tlLWNvbG9yLCAkdW5tYXJrZWQtZmlsbC1jb2xvciwgJG1hcmtlZC1zdHJva2UtY29sb3IsICRtYXJrZWQtZmlsbC1jb2xvciwgJGdlbmVyYXRlLWtleWZyYW1lcyk7XG4gICAgICAgIEBpbmNsdWRlIG1kYy1jaGVja2JveC1jb250YWluZXItY29sb3JzKCRwcm9qZWN0LWJsdWUtZDUwMCwgJHByb2plY3QtdHJhbnNwYXJlbnQsICRwcm9qZWN0LWJsdWUtZDUwMCwgJHByb2plY3QtYmx1ZS1kNTAwLCAnZmFsc2UnKTtcbiAgICAgICAgQGluY2x1ZGUgbWRjLWNoZWNrYm94LWluay1jb2xvcigkcHJvamVjdC13aGl0ZSk7XG4gICAgICAgIEBpbmNsdWRlIG1kYy1jaGVja2JveC1mb2N1cy1pbmRpY2F0b3ItY29sb3IoJHByb2plY3QtYmx1ZS1kNTAwKTtcblxuICAgICAgICAubWRjLWNoZWNrYm94X19yaXBwbGUge1xuICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogMTAwcHg7XG4gICAgICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVaKDApO1xuXG4gICAgICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHByb2plY3QtYmx1ZTtcbiAgICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICAgICAgd2lkdGg6MTAwJTtcbiAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgICAgICAgICAgbGVmdDowO1xuICAgICAgICAgICAgICAgIHRvcDowO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAmOmFmdGVyIHtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkcHJvamVjdC1ibHVlO1xuICAgICAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgICAgICB3aWR0aDoxMDAlO1xuICAgICAgICAgICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgICAgICAgICBsZWZ0OjA7XG4gICAgICAgICAgICAgICAgdG9wOjA7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICAgIC5tZGMtY2hlY2tib3hfX3JpcHBsZSB7XG4gICAgICAgICAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgICAgICAgICBvcGFjaXR5OiAuMDg7XG4gICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRwcm9qZWN0LWJsdWU7XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgJjphZnRlciB7XG4gICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRwcm9qZWN0LWJsdWU7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG5cbiAgICAubWRjLXJhZGlvIHtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IC0xMXB4O1xuICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xuXG4gICAgICAgIEBpbmNsdWRlIG1kYy1yYWRpby11bmNoZWNrZWQtc3Ryb2tlLWNvbG9yKCRwcm9qZWN0LWJsdWUtZDUwMCk7IC8vU2V0cyB0aGUgc3Ryb2tlIGNvbG9yIG9mIGFuIHVuY2hlY2tlZCByYWRpbyBidXR0b25cbiAgICAgICAgQGluY2x1ZGUgbWRjLXJhZGlvLWNoZWNrZWQtc3Ryb2tlLWNvbG9yKCRwcm9qZWN0LWJsdWUtZDUwMCk7IC8vU2V0cyB0aGUgc3Ryb2tlIGNvbG9yIG9mIGEgY2hlY2tlZCByYWRpbyBidXR0b25cbiAgICAgICAgQGluY2x1ZGUgbWRjLXJhZGlvLWluay1jb2xvcigkcHJvamVjdC1ibHVlLWQ1MDApOyAvL1NldHMgdGhlIGluayBjb2xvciBvZiBhIHJhZGlvIGJ1dHRvblxuICAgICAgICBAaW5jbHVkZSBtZGMtcmFkaW8tZm9jdXMtaW5kaWNhdG9yLWNvbG9yKCRwcm9qZWN0LWJsdWUpOyAvL1NldHMgdGhlIGNvbG9yIG9mIHRoZSBmb2N1cyBpbmRpY2F0b3JcblxuICAgICAgICAvL0BpbmNsdWRlIG1kYy1yYWRpby1mb2N1cy1pbmRpY2F0b3ItY29sb3IoJGNvbG9yKTtcblxuICAgICAgICArIGxhYmVsIHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMTIuNXB4O1xuICAgICAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDMwMDtcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAxLjU7XG5cbiAgICAgICAgICAgIEBtZWRpYShtaW4td2lkdGg6ICRzY3JlZW4tc20pIHtcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IDE2cHg7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIEBtZWRpYShtaW4td2lkdGg6ICRzY3JlZW4teHhsKSB7XG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiAxOXB4O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLm1kYy1yYWRpb19fcmlwcGxlIHtcbiAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDEwMHB4O1xuICAgICAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWigwKTtcblxuICAgICAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRwcm9qZWN0LWJsdWU7XG4gICAgICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgICAgIHdpZHRoOjEwMCU7XG4gICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICAgICAgICAgIGxlZnQ6MDtcbiAgICAgICAgICAgICAgICB0b3A6MDtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgJjphZnRlciB7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHByb2plY3QtYmx1ZTtcbiAgICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICAgICAgd2lkdGg6MTAwJTtcbiAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgICAgICAgICAgbGVmdDowO1xuICAgICAgICAgICAgICAgIHRvcDowO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICAubWRjLXJhZGlvX19yaXBwbGUge1xuICAgICAgICAgICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHByb2plY3QtYmx1ZTtcbiAgICAgICAgICAgICAgICAgICAgb3BhY2l0eTogLjA4O1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgfVxuXG4gICAgLm1kYy1yYWRpby1maWVsZCB7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgcGFkZGluZy1ib3R0b206IDE1cHg7XG4gICAgfVxuXG4gICAgLm1kYy1mb3JtLWZpZWxkIHtcbiAgICAgICAgLm1kYy1yYWRpbyB7XG4gICAgICAgICAgICArIGxhYmVsIHtcbiAgICAgICAgICAgICAgICBtYXJnaW4tdG9wOiAxMS41cHg7XG5cbiAgICAgICAgICAgICAgICBAbWVkaWEobWluLXdpZHRoOiAkc2NyZWVuLXNtKSB7XG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbi10b3A6IDhweDtcbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICBAbWVkaWEobWluLXdpZHRoOiAkc2NyZWVuLXh4bCkge1xuICAgICAgICAgICAgICAgICAgICBtYXJnaW4tdG9wOiA2cHg7XG4gICAgICAgICAgICAgICAgICAgIHBhZGRpbmctbGVmdDogNXB4O1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5tZGMtdGV4dC1maWVsZCAubWRjLXRleHQtZmllbGRfX2lucHV0IHtcbiAgICAgICAgY2FyZXQtY29sb3I6ICRwcm9qZWN0LWJsYWNrICFpbXBvcnRhbnQ7XG4gICAgfVxuXG4gICAgLm1kYy10ZXh0LWZpZWxkOm5vdCgubWRjLXRleHQtZmllbGQtLWRpc2FibGVkKSAubWRjLWZsb2F0aW5nLWxhYmVsLm1kYy1mbG9hdGluZy1sYWJlbC0tZmxvYXQtYWJvdmUge1xuICAgICAgICBjb2xvcjogJHByb2plY3QtYmx1ZS1kNTAwO1xuICAgIH1cblxuICAgIC5tZGMtdGV4dC1maWVsZC0taW52YWxpZDpub3QoLm1kYy10ZXh0LWZpZWxkLS1kaXNhYmxlZCkgLm1kYy1mbG9hdGluZy1sYWJlbCB7XG4gICAgICAgIGNvbG9yOiByZ2JhKDAsMCwwLC42KTtcblxuICAgICAgICAmOmFmdGVyIHtcbiAgICAgICAgICAgIGNvbG9yOiByZ2JhKDAsMCwwLC42KTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5tZGMtdGV4dC1maWVsZC0taW52YWxpZDpub3QoLm1kYy10ZXh0LWZpZWxkLS1kaXNhYmxlZCkgLm1kYy10ZXh0LWZpZWxkX19pbnB1dDpyZXF1aXJlZCB7XG4gICAgICAgICYgfiAubWRjLW5vdGNoZWQtb3V0bGluZSB7XG4gICAgICAgICAgICAubWRjLWZsb2F0aW5nLWxhYmVsIHtcbiAgICAgICAgICAgICAgICAmOmFmdGVyIHtcbiAgICAgICAgICAgICAgICAgICAgY29sb3I6IHJnYmEoMCwwLDAsLjYpO1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICYubWRjLWZsb2F0aW5nLWxhYmVsLS1mbG9hdC1hYm92ZSB7XG4gICAgICAgICAgICAgICAgICAgICY6YWZ0ZXIge1xuICAgICAgICAgICAgICAgICAgICAgICAgY29sb3I6ICRwcm9qZWN0LWJsdWUtZDUwMDtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIC53YXMtdmFsaWRhdGVkICYsXG4gICAgJi53YXMtdmFsaWRhdGVkIHtcblxuICAgICAgICAubWRjLXRleHQtZmllbGQtLWludmFsaWQge1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogNnB4O1xuXG4gICAgICAgICAgICBAbWVkaWEobWluLXdpZHRoOiAkc2NyZWVuLXh4bCkge1xuICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAubWRjLWNoZWNrYm94IHtcbiAgICAgICAgICAgIC5tZGMtY2hlY2tib3hfX25hdGl2ZS1jb250cm9sOmludmFsaWQgfiAubWRjLWNoZWNrYm94X19iYWNrZ3JvdW5kIHtcbiAgICAgICAgICAgICAgICBib3JkZXItY29sb3I6ICRwcm9qZWN0LW5ldy1yZWQgIWltcG9ydGFudDtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLm1kYy1jaGVja2JveF9fbmF0aXZlLWNvbnRyb2w6aW52YWxpZCB+IGxhYmVsIHtcbiAgICAgICAgICAgICAgICBjb2xvcjogJHByb2plY3QtbmV3LXJlZDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC5tZGMtcmFkaW8ge1xuICAgICAgICAgICAgLm1kYy1yYWRpb19fbmF0aXZlLWNvbnRyb2w6aW52YWxpZCB+IC5tZGMtcmFkaW9fX2JhY2tncm91bmQge1xuICAgICAgICAgICAgICAgIC5tZGMtcmFkaW9fX291dGVyLWNpcmNsZSwgLm1kYy1yYWRpb19faW5uZXItY2lyY2xlIHtcbiAgICAgICAgICAgICAgICAgICAgYm9yZGVyLWNvbG9yOiAkcHJvamVjdC1uZXctcmVkICFpbXBvcnRhbnQ7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAubWRjLXJhZGlvX19uYXRpdmUtY29udHJvbDppbnZhbGlkIH4gbGFiZWwge1xuICAgICAgICAgICAgICAgIGNvbG9yOiAkcHJvamVjdC1uZXctcmVkO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLm1kYy10ZXh0LWZpZWxkX19pbnB1dDppbnZhbGlkIH4gLm1kYy1ub3RjaGVkLW91dGxpbmUgLm1kYy1ub3RjaGVkLW91dGxpbmVfX2xlYWRpbmcsXG4gICAgICAgIC5tZGMtdGV4dC1maWVsZF9faW5wdXQ6aW52YWxpZCB+IC5tZGMtbm90Y2hlZC1vdXRsaW5lIC5tZGMtbm90Y2hlZC1vdXRsaW5lX19ub3RjaCxcbiAgICAgICAgLm1kYy10ZXh0LWZpZWxkX19pbnB1dDppbnZhbGlkIH4gLm1kYy1ub3RjaGVkLW91dGxpbmUgLm1kYy1ub3RjaGVkLW91dGxpbmVfX3RyYWlsaW5nIHtcbiAgICAgICAgICAgIGJvcmRlci1jb2xvcjogJHByb2plY3QtbmV3LXJlZCAhaW1wb3J0YW50O1xuICAgICAgICB9XG5cblxuICAgICAgICAubWRjLXRleHQtZmllbGRfX2lucHV0OmludmFsaWQgfiAubWRjLW5vdGNoZWQtb3V0bGluZSAubWRjLWZsb2F0aW5nLWxhYmVsIHtcbiAgICAgICAgICAgIGNvbG9yOiAkcHJvamVjdC1uZXctcmVkICFpbXBvcnRhbnQ7XG5cbiAgICAgICAgICAgICY6YWZ0ZXIge1xuICAgICAgICAgICAgICAgIGNvbG9yOiAkcHJvamVjdC1uZXctcmVkICFpbXBvcnRhbnQ7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAuc2l0ZS1mb3JtX19jaGVja2JveC0tcmVxdWlyZWQuc2l0ZS1mb3JtX19jaGVja2JveC0tdW5jaGVja2VkIH4gbGFiZWwge1xuICAgICAgICAgICAgY29sb3I6ICRwcm9qZWN0LW5ldy1yZWQ7XG5cbiAgICAgICAgICAgICY6YWZ0ZXIge1xuICAgICAgICAgICAgICAgIGNvbG9yOiAkcHJvamVjdC1uZXctcmVkO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBhIHtcbiAgICAgICAgICAgICAgICBjb2xvcjogJHByb2plY3QtbmV3LXJlZDtcbiAgICAgICAgICAgICAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC5zaXRlLWZvcm1fX3JhZGlvLS1yZXF1aXJlZC5zaXRlLWZvcm1fX3JhZGlvLS11bmNoZWNrZWQgfiBsYWJlbCB7XG4gICAgICAgICAgICBjb2xvcjogJHByb2plY3QtbmV3LXJlZDtcblxuICAgICAgICAgICAgJjphZnRlciB7XG4gICAgICAgICAgICAgICAgY29sb3I6ICRwcm9qZWN0LW5ldy1yZWQ7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIGEge1xuICAgICAgICAgICAgICAgIGNvbG9yOiAkcHJvamVjdC1uZXctcmVkO1xuICAgICAgICAgICAgICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLm1kYy1zZWxlY3QtLW91dGxpbmVkLm1kYy1zZWxlY3QtLWludmFsaWQge1xuICAgICAgICAgICAgLm1kYy1zZWxlY3RfX2FuY2hvciB7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogaWNvbnMtcHJvamVjdF9fc2VsZWN0LWNhcmV0KCRwcm9qZWN0LW5ldy1yZWQpO1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoJHByb2plY3QtbmV3LXJlZCwgMCk7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICY6aG92ZXIsXG4gICAgICAgICAgICAmOmZvY3VzIHtcbiAgICAgICAgICAgICAgICAubWRjLXNlbGVjdF9fYW5jaG9yIHtcbiAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgkcHJvamVjdC1uZXctcmVkLCAwKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC5tZGMtbm90Y2hlZC1vdXRsaW5lX19sZWFkaW5nLFxuICAgICAgICAgICAgLm1kYy1ub3RjaGVkLW91dGxpbmVfX25vdGNoLFxuICAgICAgICAgICAgLm1kYy1ub3RjaGVkLW91dGxpbmVfX3RyYWlsaW5nIHtcbiAgICAgICAgICAgICAgICBib3JkZXItY29sb3I6ICRwcm9qZWN0LW5ldy1yZWQgIWltcG9ydGFudDtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLm1kYy1mbG9hdGluZy1sYWJlbCB7XG4gICAgICAgICAgICAgICAgY29sb3I6ICRwcm9qZWN0LW5ldy1yZWQgIWltcG9ydGFudDtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLnNpdGUtZm9ybV9fdmFsaWRhdGlvbi10ZXh0IHtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiB0YWJsZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC5tZGMtcmFkaW8tZmllbGQge1xuICAgICAgICAgICAgLnNpdGUtZm9ybV9fdmFsaWRhdGlvbi10ZXh0IHtcbiAgICAgICAgICAgICAgICBsZWZ0OiAzNXB4O1xuICAgICAgICAgICAgICAgIGJvdHRvbTogMTBweDtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgJi0taW52YWxpZCB7XG4gICAgICAgICAgICAgICAgLnNpdGUtZm9ybV9fdmFsaWRhdGlvbi10ZXh0IHtcbiAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogdGFibGU7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLm1kYy1mb3JtLWZpZWxkLS1pbnZhbGlkIHtcbiAgICAgICAgICAgIGxhYmVsIHtcbiAgICAgICAgICAgICAgICBjb2xvcjogJHByb2plY3QtbmV3LXJlZDtcblxuICAgICAgICAgICAgICAgICY6YWZ0ZXIge1xuICAgICAgICAgICAgICAgICAgICBjb2xvcjogJHByb2plY3QtbmV3LXJlZDtcbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICBhIHtcbiAgICAgICAgICAgICAgICAgICAgY29sb3I6ICRwcm9qZWN0LW5ldy1yZWQ7XG4gICAgICAgICAgICAgICAgICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgJiB+IC5zaXRlLWZvcm1fX3ZhbGlkYXRpb24tdGV4dCB7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICAgICAgcG9zaXRpb246IHN0YXRpYztcbiAgICAgICAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDA7XG4gICAgICAgICAgICAgICAgcGFkZGluZy1yaWdodDogMDtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICAgICAgICAgICAgICBtYXJnaW46IDZweCAwIDAgMDtcbiAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgICAgICBtYXgtd2lkdGg6IG5vbmU7XG4gICAgICAgICAgICAgICAgdHJhbnNmb3JtOiBub25lO1xuXG4gICAgICAgICAgICAgICAgQG1lZGlhKG1pbi13aWR0aDogJHNjcmVlbi14eGwpIHtcbiAgICAgICAgICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiA0NHB4O1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgJiB+IC5uZXdzbGV0dGVyLWFncmVlbWVudHNfX2luZm8gfiAuc2l0ZS1mb3JtX192YWxpZGF0aW9uLXRleHQge1xuICAgICAgICAgICAgICAgIG1hcmdpbi10b3A6IC0xMHB4O1xuICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDE4cHg7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmLnNlcnZlci1zaWRlLXZhbGlkYXRlZCB7XG4gICAgICAgIC5zZXJ2ZXItc2lkZS0taW52YWxpZCB+IC5tZGMtbm90Y2hlZC1vdXRsaW5lIC5tZGMtbm90Y2hlZC1vdXRsaW5lX19sZWFkaW5nLFxuICAgICAgICAuc2VydmVyLXNpZGUtLWludmFsaWQgfiAubWRjLW5vdGNoZWQtb3V0bGluZSAubWRjLW5vdGNoZWQtb3V0bGluZV9fbm90Y2gsXG4gICAgICAgIC5zZXJ2ZXItc2lkZS0taW52YWxpZCB+IC5tZGMtbm90Y2hlZC1vdXRsaW5lIC5tZGMtbm90Y2hlZC1vdXRsaW5lX190cmFpbGluZyB7XG4gICAgICAgICAgICBib3JkZXItY29sb3I6ICRwcm9qZWN0LW5ldy1yZWQgIWltcG9ydGFudDtcbiAgICAgICAgICAgIGNvbG9yOiAkcHJvamVjdC1uZXctcmVkICFpbXBvcnRhbnQ7XG5cbiAgICAgICAgICAgICY6YWZ0ZXIge1xuICAgICAgICAgICAgICAgIGNvbG9yOiAkcHJvamVjdC1uZXctcmVkICFpbXBvcnRhbnQ7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAuc2VydmVyLXNpZGUtLWludmFsaWQgfiAubWRjLW5vdGNoZWQtb3V0bGluZSAubWRjLWZsb2F0aW5nLWxhYmVsIHtcbiAgICAgICAgICAgIGNvbG9yOiAkcHJvamVjdC1uZXctcmVkICFpbXBvcnRhbnQ7XG5cbiAgICAgICAgICAgICY6YWZ0ZXIge1xuICAgICAgICAgICAgICAgIGNvbG9yOiAkcHJvamVjdC1uZXctcmVkICFpbXBvcnRhbnQ7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAubWRjLXNlbGVjdC0tb3V0bGluZWQuc2VydmVyLXNpZGUtLWludmFsaWQge1xuICAgICAgICAgICAgLm1kYy1zZWxlY3RfX2FuY2hvciB7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogaWNvbnMtcHJvamVjdF9fc2VsZWN0LWNhcmV0KCRwcm9qZWN0LW5ldy1yZWQpO1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoJHByb2plY3QtbmV3LXJlZCwgMCk7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICY6aG92ZXIsXG4gICAgICAgICAgICAmOmZvY3VzIHtcbiAgICAgICAgICAgICAgICAubWRjLXNlbGVjdF9fYW5jaG9yIHtcbiAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgkcHJvamVjdC1uZXctcmVkLCAwKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC5tZGMtbm90Y2hlZC1vdXRsaW5lX19sZWFkaW5nLFxuICAgICAgICAgICAgLm1kYy1ub3RjaGVkLW91dGxpbmVfX25vdGNoLFxuICAgICAgICAgICAgLm1kYy1ub3RjaGVkLW91dGxpbmVfX3RyYWlsaW5nIHtcbiAgICAgICAgICAgICAgICBib3JkZXItY29sb3I6ICRwcm9qZWN0LW5ldy1yZWQgIWltcG9ydGFudDtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLm1kYy1mbG9hdGluZy1sYWJlbCB7XG4gICAgICAgICAgICAgICAgY29sb3I6ICRwcm9qZWN0LW5ldy1yZWQgIWltcG9ydGFudDtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLnNpdGUtZm9ybV9fdmFsaWRhdGlvbi10ZXh0IHtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiB0YWJsZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC5maWxlaW5wdXQtY29udGFpbmVyLmZpbGVpbnB1dC1jb250YWluZXItLWludmFsaWQge1xuICAgICAgICAgICAgLmZpbGVpbnB1dDpub3QoLmZpbGVpbnB1dC1leGlzdHMpIH4gLnNpdGUtZm9ybV9fc2VydmVyLXZhbGlkYXRpb24tdGV4dCB7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICAgICAgYm90dG9tOiAtNXB4O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgJi5qcy1zaWRlLXZhbGlkYXRlZCB7XG4gICAgICAgIC5qcy1zaWRlLS1pbnZhbGlkIH4gLm1kYy1ub3RjaGVkLW91dGxpbmUgLm1kYy1ub3RjaGVkLW91dGxpbmVfX2xlYWRpbmcsXG4gICAgICAgIC5qcy1zaWRlLS1pbnZhbGlkIH4gLm1kYy1ub3RjaGVkLW91dGxpbmUgLm1kYy1ub3RjaGVkLW91dGxpbmVfX25vdGNoLFxuICAgICAgICAuanMtc2lkZS0taW52YWxpZCB+IC5tZGMtbm90Y2hlZC1vdXRsaW5lIC5tZGMtbm90Y2hlZC1vdXRsaW5lX190cmFpbGluZyB7XG4gICAgICAgICAgICBib3JkZXItY29sb3I6ICRwcm9qZWN0LW5ldy1yZWQgIWltcG9ydGFudDtcbiAgICAgICAgICAgIGNvbG9yOiAkcHJvamVjdC1uZXctcmVkICFpbXBvcnRhbnQ7XG5cbiAgICAgICAgICAgICY6YWZ0ZXIge1xuICAgICAgICAgICAgICAgIGNvbG9yOiAkcHJvamVjdC1uZXctcmVkICFpbXBvcnRhbnQ7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAuanMtc2lkZS0taW52YWxpZCB+IC5tZGMtbm90Y2hlZC1vdXRsaW5lIC5tZGMtZmxvYXRpbmctbGFiZWwge1xuICAgICAgICAgICAgY29sb3I6ICRwcm9qZWN0LW5ldy1yZWQgIWltcG9ydGFudDtcblxuICAgICAgICAgICAgJjphZnRlciB7XG4gICAgICAgICAgICAgICAgY29sb3I6ICRwcm9qZWN0LW5ldy1yZWQgIWltcG9ydGFudDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC5tZGMtc2VsZWN0LS1vdXRsaW5lZC5qcy1zaWRlLS1pbnZhbGlkIHtcbiAgICAgICAgICAgIC5tZGMtc2VsZWN0X19hbmNob3Ige1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IGljb25zLXByb2plY3RfX3NlbGVjdC1jYXJldCgkcHJvamVjdC1uZXctcmVkKTtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKCRwcm9qZWN0LW5ldy1yZWQsIDApO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAmOmhvdmVyLFxuICAgICAgICAgICAgJjpmb2N1cyB7XG4gICAgICAgICAgICAgICAgLm1kYy1zZWxlY3RfX2FuY2hvciB7XG4gICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoJHByb2plY3QtbmV3LXJlZCwgMCk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAubWRjLW5vdGNoZWQtb3V0bGluZV9fbGVhZGluZyxcbiAgICAgICAgICAgIC5tZGMtbm90Y2hlZC1vdXRsaW5lX19ub3RjaCxcbiAgICAgICAgICAgIC5tZGMtbm90Y2hlZC1vdXRsaW5lX190cmFpbGluZyB7XG4gICAgICAgICAgICAgICAgYm9yZGVyLWNvbG9yOiAkcHJvamVjdC1uZXctcmVkICFpbXBvcnRhbnQ7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC5tZGMtZmxvYXRpbmctbGFiZWwge1xuICAgICAgICAgICAgICAgIGNvbG9yOiAkcHJvamVjdC1uZXctcmVkICFpbXBvcnRhbnQ7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC5zaXRlLWZvcm1fX3ZhbGlkYXRpb24tdGV4dCB7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogdGFibGU7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAubWRjLWZvcm0tZmllbGQge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBhbGlnbi1pdGVtczogZmxleC1zdGFydDtcblxuICAgICAgICAmLS1jaGVja2JveCB7XG4gICAgICAgICAgICBmb250LXdlaWdodDogMzAwO1xuICAgICAgICAgICAgY29sb3I6ICRwcm9qZWN0LWdyYXktZDQwMDtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMTVweDtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDEwcHg7XG4gICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgICAgICBmbGV4LXdyYXA6IHdyYXA7XG5cbiAgICAgICAgICAgIEBtZWRpYShtaW4td2lkdGg6ICRzY3JlZW4teHhzKSB7XG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiAxN3B4O1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBAbWVkaWEobWluLXdpZHRoOiAkc2NyZWVuLXh4bCkge1xuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMTlweDtcbiAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAxNHB4O1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBsYWJlbCB7XG4gICAgICAgICAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgICAgICAgICAgICAgIG1heC13aWR0aDogY2FsYygxMDAlIC0gNDBweCk7XG4gICAgICAgICAgICAgICAgbWFyZ2luLXRvcDogNnB4ICFpbXBvcnRhbnQ7XG4gICAgICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDEuNTI7XG5cbiAgICAgICAgICAgICAgICBAbWVkaWEobWluLXdpZHRoOiAkc2NyZWVuLXhsKSB7XG4gICAgICAgICAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAxLjU3ODtcbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAuZXpyaWNodGV4dC1maWVsZCB7XG4gICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZTtcblxuICAgICAgICAgICAgICAgICAgICBwOmxhc3Qtb2YtdHlwZSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmU7XG4gICAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICAgICAmOmFmdGVyIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbnRlbnQ6IG5vbmU7XG4gICAgICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgbGFiZWwge1xuICAgICAgICAgICAgbWFyZ2luOiA5cHggMCAwIDA7XG4gICAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDJweDtcblxuICAgICAgICAgICAgQG1lZGlhKG1pbi13aWR0aDogJHNjcmVlbi14eHMpIHtcbiAgICAgICAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDVweDtcbiAgICAgICAgICAgICAgICBtYXJnaW46IDhweCAwIDAgMDtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgQG1lZGlhKG1pbi13aWR0aDogJHNjcmVlbi14eGwpIHtcbiAgICAgICAgICAgICAgICBtYXJnaW46IDZweCAwIDAgMDtcbiAgICAgICAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDE0cHg7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIGEge1xuICAgICAgICAgICAgICAgICY6aG92ZXIsXG4gICAgICAgICAgICAgICAgJjpmb2N1cyB7XG4gICAgICAgICAgICAgICAgICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xuICAgICAgICAgICAgICAgICAgICBjb2xvcjogJHByb2plY3QtbmF2eWJsdWU7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgLm1kYy10ZXh0LWZpZWxkIHtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogMDtcbiAgICAgICAgbGV0dGVyLXNwYWNpbmc6IDA7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxLjE1O1xuICAgICAgICBoZWlnaHQ6IDQ4cHg7XG5cbiAgICAgICAgQG1lZGlhKG1pbi13aWR0aDogJHNjcmVlbi14eGwpIHtcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAxLjU1O1xuICAgICAgICAgICAgaGVpZ2h0OiA2NHB4O1xuICAgICAgICAgICAgZm9udC1zaXplOiAxOXB4O1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLm1kYy10ZXh0LWZpZWxkX19pbnB1dCB7XG4gICAgICAgIEBtZWRpYShtaW4td2lkdGg6ICRzY3JlZW4teHhsKSB7XG4gICAgICAgICAgICBmb250LXNpemU6IDE5cHg7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAudGV4dC1maWVsZC1yb3cge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBhbGlnbi1pdGVtczogc3RyZXRjaDtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0O1xuICAgICAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAgfVxuXG4gICAgLnRleHQtZmllbGQtaGVscGVyIHtcbiAgICAgICAgZm9udC1zaXplOiAwLjlyZW07XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDFyZW07XG4gICAgfVxuXG4gICAgLnRleHQtZmllbGQtZGVzY3JpcHRpb24ge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgbWFyZ2luLXRvcDogMTBweDtcbiAgICAgICAgZm9udC1zaXplOiAxMnB4O1xuICAgIH1cblxuICAgIC50ZXh0LWZpZWxkLWNvbnRhaW5lciB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDEzcHg7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgICAgICAgQG1lZGlhKG1pbi13aWR0aDogJHNjcmVlbi14eGwpIHtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDI4cHg7XG4gICAgICAgIH1cblxuICAgICAgICAubWRjLXRleHQtZmllbGQge1xuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIH1cblxuICAgICAgICAudGV4dC1maWVsZC1jb250YWluZXIge1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICAgICAgfVxuXG4gICAgICAgICYtLWZ1bGwge1xuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIH1cblxuICAgICAgICAmLS1oYWxmIHtcbiAgICAgICAgICAgIHdpZHRoOiBjYWxjKDUwJSAtIDZweCk7XG4gICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDEycHg7XG5cbiAgICAgICAgICAgIEBtZWRpYShtaW4td2lkdGg6ICRzY3JlZW4tc20pIHtcbiAgICAgICAgICAgICAgICB3aWR0aDogY2FsYyg1MCUgLSAxMHB4KTtcbiAgICAgICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDIwcHg7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICsgLnRleHQtZmllbGQtY29udGFpbmVyLS1oYWxmIHtcbiAgICAgICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAmLS1oYWxmLXNsYXNoIHtcbiAgICAgICAgICAgIHdpZHRoOiBjYWxjKDUwJSAtIDE2cHgpO1xuICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiAwO1xuICAgICAgICB9XG5cbiAgICAgICAgJi0tZGVza3RvcC1oYWxmIHtcbiAgICAgICAgICAgIEBtZWRpYShtaW4td2lkdGg6ICRzY3JlZW4tc20pIHtcbiAgICAgICAgICAgICAgICB3aWR0aDogY2FsYyg1MCUgLSAxMHB4KTtcbiAgICAgICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDIwcHg7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICsgLnRleHQtZmllbGQtY29udGFpbmVyLS1kZXNrdG9wLWhhbGYge1xuICAgICAgICAgICAgICAgIEBtZWRpYShtaW4td2lkdGg6ICRzY3JlZW4tc20pIHtcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiAwO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgICYtLW1vYmlsZS1mdWxsIHtcbiAgICAgICAgICAgIEBtZWRpYShtYXgtd2lkdGg6ICRzY3JlZW4tc20gLSAwLjEpIHtcbiAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAmLS1yb3ctc2xhc2gge1xuICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0O1xuICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICAgICAgICAgICAgZmxleC13cmFwOiBub3dyYXA7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiBpY29ucy1wcm9qZWN0X19zbGFzaCgkcHJvamVjdC1ncmF5LWQzMDApO1xuICAgICAgICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogdG9wIDE2cHggY2VudGVyO1xuICAgICAgICAgICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICAgICAgICAgIGJhY2tncm91bmQtc2l6ZTogOXB4IDE4cHg7XG5cbiAgICAgICAgICAgIEBtZWRpYShtaW4td2lkdGg6ICRzY3JlZW4teHhsKSB7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogdG9wIDIxcHggY2VudGVyO1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtc2l6ZTogMTBweCAyMHB4O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgLm1kYy1idXR0b24ge1xuICAgICAgICBtaW4taGVpZ2h0OiA0OHB4O1xuICAgICAgICBmb250LXNpemU6IDE2cHg7XG5cbiAgICAgICAgQG1lZGlhKG1pbi13aWR0aDogJHNjcmVlbi14eGwpIHtcbiAgICAgICAgICAgIG1pbi1oZWlnaHQ6IDY0cHg7XG4gICAgICAgICAgICBmb250LXNpemU6IDI0cHg7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAubWRjLXRleHQtZmllbGQtLW91dGxpbmVkIC5tZGMtZmxvYXRpbmctbGFiZWwsXG4gICAgLm1kYy10ZXh0LWZpZWxkLS10ZXh0YXJlYSAubWRjLWZsb2F0aW5nLWxhYmVsIHtcbiAgICAgICAgdG9wOiAxNHB4O1xuICAgICAgICB0cmFuc2Zvcm06IG5vbmU7XG5cbiAgICAgICAgLmZpcmVmb3ggJiB7XG4gICAgICAgICAgICB0b3A6IDEzcHg7XG4gICAgICAgIH1cblxuICAgICAgICBAbWVkaWEobWluLXdpZHRoOiAkc2NyZWVuLXh4bCkge1xuICAgICAgICAgICAgdG9wOiAxOXB4O1xuXG4gICAgICAgICAgICAuZmlyZWZveCAmIHtcbiAgICAgICAgICAgICAgICB0b3A6IDE4cHg7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBub3QgZm9jdXNlZCBib3JkZXIgMXB4XG4gICAgLm1kYy10ZXh0LWZpZWxkLS1vdXRsaW5lZCAubWRjLW5vdGNoZWQtb3V0bGluZS0tdXBncmFkZWQgLm1kYy1mbG9hdGluZy1sYWJlbC0tZmxvYXQtYWJvdmUsXG4gICAgLm1kYy10ZXh0LWZpZWxkLS1vdXRsaW5lZC5tZGMtbm90Y2hlZC1vdXRsaW5lLS11cGdyYWRlZCAubWRjLWZsb2F0aW5nLWxhYmVsLS1mbG9hdC1hYm92ZSB7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMTUwJSkgc2NhbGUoLjc1KTtcbiAgICAgICAgdG9wOiAyMXB4O1xuXG4gICAgICAgIC5maXJlZm94ICYge1xuICAgICAgICAgICAgdG9wOiAyMHB4O1xuICAgICAgICB9XG5cbiAgICAgICAgQG1lZGlhKG1pbi13aWR0aDogJHNjcmVlbi14eGwpIHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMTlweDtcbiAgICAgICAgICAgIHRvcDogMjRweDtcblxuICAgICAgICAgICAgLmZpcmVmb3ggJiB7XG4gICAgICAgICAgICAgICAgdG9wOiAyMHB4O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgLm1kYy10ZXh0LWZpZWxkLS10ZXh0YXJlYSAubWRjLW5vdGNoZWQtb3V0bGluZS0tdXBncmFkZWQgLm1kYy1mbG9hdGluZy1sYWJlbC0tZmxvYXQtYWJvdmUge1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTE1MCUpIHNjYWxlKC43NSk7XG4gICAgICAgIHRvcDogMjNweDtcblxuICAgICAgICAuZmlyZWZveCAmIHtcbiAgICAgICAgICAgIHRvcDogMjJweDtcbiAgICAgICAgfVxuXG4gICAgICAgIEBtZWRpYShtaW4td2lkdGg6ICRzY3JlZW4teHhsKSB7XG4gICAgICAgICAgICBmb250LXNpemU6IDE5cHg7XG4gICAgICAgICAgICB0b3A6IDI1cHg7XG5cbiAgICAgICAgICAgIC5maXJlZm94ICYge1xuICAgICAgICAgICAgICAgIHRvcDogMjFweDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbiAgICAvL1xuXG4gICAgLy8gZm9jdXNlZCBib3JkZXIgMnB4XG4gICAgLm1kYy10ZXh0LWZpZWxkLS1vdXRsaW5lZC5tZGMtdGV4dC1maWVsZC0tZm9jdXNlZCAubWRjLW5vdGNoZWQtb3V0bGluZS0tdXBncmFkZWQgLm1kYy1mbG9hdGluZy1sYWJlbC0tZmxvYXQtYWJvdmUsXG4gICAgLm1kYy10ZXh0LWZpZWxkLS1vdXRsaW5lZC5tZGMtdGV4dC1maWVsZC0tZm9jdXNlZC5tZGMtbm90Y2hlZC1vdXRsaW5lLS11cGdyYWRlZCAubWRjLWZsb2F0aW5nLWxhYmVsLS1mbG9hdC1hYm92ZSB7XG4gICAgICAgIHRvcDogMjBweDtcblxuICAgICAgICAuZmlyZWZveCAmIHtcbiAgICAgICAgICAgIHRvcDogMTlweDtcbiAgICAgICAgfVxuXG4gICAgICAgIEBtZWRpYShtaW4td2lkdGg6ICRzY3JlZW4teHhsKSB7XG4gICAgICAgICAgICB0b3A6IDIzcHg7XG5cbiAgICAgICAgICAgIC5maXJlZm94ICYge1xuICAgICAgICAgICAgICAgIHRvcDogMTlweDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5tZGMtdGV4dC1maWVsZC0tdGV4dGFyZWEubWRjLXRleHQtZmllbGQtLWZvY3VzZWQgLm1kYy1ub3RjaGVkLW91dGxpbmUtLXVwZ3JhZGVkIC5tZGMtZmxvYXRpbmctbGFiZWwtLWZsb2F0LWFib3ZlIHtcbiAgICAgICAgdG9wOiAyM3B4O1xuXG4gICAgICAgIC5maXJlZm94ICYge1xuICAgICAgICAgICAgdG9wOiAyMnB4O1xuICAgICAgICB9XG5cbiAgICAgICAgQG1lZGlhKG1pbi13aWR0aDogJHNjcmVlbi14eGwpIHtcbiAgICAgICAgICAgIHRvcDogMjVweDtcblxuICAgICAgICAgICAgLmZpcmVmb3ggJiB7XG4gICAgICAgICAgICAgICAgdG9wOiAyMXB4O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuICAgIC8vXG5cblxuICAgIC5tZGMtdGV4dC1maWVsZC0tb3V0bGluZWQgLm1kYy1ub3RjaGVkLW91dGxpbmUgLm1kYy1ub3RjaGVkLW91dGxpbmVfX2xlYWRpbmcsXG4gICAgLm1kYy10ZXh0LWZpZWxkLS10ZXh0YXJlYSAubWRjLW5vdGNoZWQtb3V0bGluZSAubWRjLW5vdGNoZWQtb3V0bGluZV9fbGVhZGluZyxcbiAgICAubWRjLXRleHQtZmllbGQtLW91dGxpbmVkIC5tZGMtbm90Y2hlZC1vdXRsaW5lIC5tZGMtbm90Y2hlZC1vdXRsaW5lX190cmFpbGluZyxcbiAgICAubWRjLXRleHQtZmllbGQtLXRleHRhcmVhIC5tZGMtbm90Y2hlZC1vdXRsaW5lIC5tZGMtbm90Y2hlZC1vdXRsaW5lX190cmFpbGluZyB7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDA7XG4gICAgfVxuXG4gICAgLm1kYy10ZXh0LWZpZWxkLS1vdXRsaW5lZDpub3QoLm1kYy10ZXh0LWZpZWxkLS1kaXNhYmxlZCk6bm90KC5tZGMtdGV4dC1maWVsZC0taW52YWxpZCkge1xuICAgICAgICAubWRjLW5vdGNoZWQtb3V0bGluZV9fbGVhZGluZyxcbiAgICAgICAgLm1kYy1ub3RjaGVkLW91dGxpbmVfX25vdGNoLFxuICAgICAgICAubWRjLW5vdGNoZWQtb3V0bGluZV9fdHJhaWxpbmcge1xuICAgICAgICAgICAgYm9yZGVyLWNvbG9yOiAkcHJvamVjdC1ibHVlLWQ1MDA7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAubWRjLXRleHQtZmllbGQtLXRleHRhcmVhOm5vdCgubWRjLXRleHQtZmllbGQtLWRpc2FibGVkKTpub3QoLm1kYy10ZXh0LWZpZWxkLS1pbnZhbGlkKSB7XG4gICAgICAgIC5tZGMtbm90Y2hlZC1vdXRsaW5lX19sZWFkaW5nLFxuICAgICAgICAubWRjLW5vdGNoZWQtb3V0bGluZV9fbm90Y2gsXG4gICAgICAgIC5tZGMtbm90Y2hlZC1vdXRsaW5lX190cmFpbGluZyB7XG4gICAgICAgICAgICBib3JkZXItY29sb3I6ICRwcm9qZWN0LWJsdWUtZDUwMDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5tZGMtdGV4dC1maWVsZC0tb3V0bGluZWQ6bm90KC5tZGMtdGV4dC1maWVsZC0tZGlzYWJsZWQpLm1kYy10ZXh0LWZpZWxkLS1pbnZhbGlkIHtcbiAgICAgICAgLm1kYy1ub3RjaGVkLW91dGxpbmVfX2xlYWRpbmcsXG4gICAgICAgIC5tZGMtbm90Y2hlZC1vdXRsaW5lX19ub3RjaCxcbiAgICAgICAgLm1kYy1ub3RjaGVkLW91dGxpbmVfX3RyYWlsaW5nIHtcbiAgICAgICAgICAgIGJvcmRlci1jb2xvcjogJHByb2plY3QtYmx1ZS1kNTAwO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLm1kYy10ZXh0LWZpZWxkLS10ZXh0YXJlYTpub3QoLm1kYy10ZXh0LWZpZWxkLS1kaXNhYmxlZCkubWRjLXRleHQtZmllbGQtLWludmFsaWQge1xuICAgICAgICAubWRjLW5vdGNoZWQtb3V0bGluZV9fbGVhZGluZyxcbiAgICAgICAgLm1kYy1ub3RjaGVkLW91dGxpbmVfX25vdGNoLFxuICAgICAgICAubWRjLW5vdGNoZWQtb3V0bGluZV9fdHJhaWxpbmcge1xuICAgICAgICAgICAgYm9yZGVyLWNvbG9yOiAkcHJvamVjdC1ibHVlLWQ1MDA7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAubWRjLXRleHQtZmllbGQ6bm90KC5tZGMtdGV4dC1maWVsZC0tZm9jdXNlZCk6bm90KC5tZGMtdGV4dC1maWVsZC0taW52YWxpZCkge1xuICAgICAgICAubWRjLXRleHQtZmllbGRfX2lucHV0OmhvdmVyIH4gLm1kYy1ub3RjaGVkLW91dGxpbmUgLm1kYy1ub3RjaGVkLW91dGxpbmVfX2xlYWRpbmcsXG4gICAgICAgIC5tZGMtdGV4dC1maWVsZF9faW5wdXQ6aG92ZXIgfiAubWRjLW5vdGNoZWQtb3V0bGluZSAubWRjLW5vdGNoZWQtb3V0bGluZV9fbm90Y2gsXG4gICAgICAgIC5tZGMtdGV4dC1maWVsZF9faW5wdXQ6aG92ZXIgfiAubWRjLW5vdGNoZWQtb3V0bGluZSAubWRjLW5vdGNoZWQtb3V0bGluZV9fdHJhaWxpbmcge1xuICAgICAgICAgICAgYm9yZGVyLWNvbG9yOiAkcHJvamVjdC1ibHVlLWQ1MDA7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAubWRjLXRleHQtZmllbGQ6bm90KC5tZGMtdGV4dC1maWVsZC0tZm9jdXNlZCkubWRjLXRleHQtZmllbGQtLWludmFsaWQge1xuICAgICAgICAubWRjLXRleHQtZmllbGRfX2lucHV0OmhvdmVyIH4gLm1kYy1ub3RjaGVkLW91dGxpbmUgLm1kYy1ub3RjaGVkLW91dGxpbmVfX2xlYWRpbmcsXG4gICAgICAgIC5tZGMtdGV4dC1maWVsZF9faW5wdXQ6aG92ZXIgfiAubWRjLW5vdGNoZWQtb3V0bGluZSAubWRjLW5vdGNoZWQtb3V0bGluZV9fbm90Y2gsXG4gICAgICAgIC5tZGMtdGV4dC1maWVsZF9faW5wdXQ6aG92ZXIgfiAubWRjLW5vdGNoZWQtb3V0bGluZSAubWRjLW5vdGNoZWQtb3V0bGluZV9fdHJhaWxpbmcge1xuICAgICAgICAgICAgYm9yZGVyLWNvbG9yOiAkcHJvamVjdC1ibHVlLWQ1MDA7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmX192YWxpZGF0aW9uLXRleHQge1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIG1hcmdpbjogYXV0bztcbiAgICAgICAgbWF4LXdpZHRoOiBjYWxjKDEwMCUgLSAyNnB4KTtcbiAgICAgICAgYm90dG9tOiAwO1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoNTAlKTtcbiAgICAgICAgbGVmdDogMTNweDtcbiAgICAgICAgY29sb3I6ICRwcm9qZWN0LW5ldy1yZWQ7XG4gICAgICAgIGZvbnQtc2l6ZTogMTAuNXB4O1xuICAgICAgICBsaW5lLWhlaWdodDogMTtcbiAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgcGFkZGluZy1sZWZ0OiAycHg7XG4gICAgICAgIHBhZGRpbmctcmlnaHQ6IDJweDtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHByb2plY3Qtd2hpdGU7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiAzMDA7XG4gICAgICAgIHVzZXItc2VsZWN0OiBub25lO1xuXG4gICAgICAgIEBtZWRpYShtaW4td2lkdGg6ICRzY3JlZW4teHhzKSB7XG4gICAgICAgICAgICBmb250LXNpemU6IDEycHg7XG4gICAgICAgIH1cblxuICAgICAgICBAbWVkaWEobWluLXdpZHRoOiAkc2NyZWVuLXh4bCkge1xuICAgICAgICAgICAgZm9udC1zaXplOiAxM3B4O1xuICAgICAgICB9XG5cbiAgICAgICAgaW5wdXQ6dmFsaWQgfiAmIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgICAgICAgfVxuXG4gICAgICAgIC53YXMtdmFsaWRhdGVkIGlucHV0OmludmFsaWQgfiAmIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrICFpbXBvcnRhbnQ7XG4gICAgICAgIH1cblxuICAgICAgICAud2FzLXZhbGlkYXRlZCAubWRjLXRleHQtZmllbGQtLWludmFsaWQgJiB7XG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgfVxuXG4gICAgICAgIC53YXMtdmFsaWRhdGVkIC5zaXRlLWZvcm1fX2NoZWNrYm94LS1yZXF1aXJlZC5zaXRlLWZvcm1fX2NoZWNrYm94LS11bmNoZWNrZWQgfiAmIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgcG9zaXRpb246IHN0YXRpYztcbiAgICAgICAgICAgIHBhZGRpbmctbGVmdDogMDtcbiAgICAgICAgICAgIHBhZGRpbmctcmlnaHQ6IDA7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICAgICAgICAgIG1hcmdpbjogNnB4IDAgMCAwO1xuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICBtYXgtd2lkdGg6IG5vbmU7XG4gICAgICAgICAgICB0cmFuc2Zvcm06IG5vbmU7XG5cbiAgICAgICAgICAgIEBtZWRpYShtaW4td2lkdGg6ICRzY3JlZW4teHhsKSB7XG4gICAgICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiA0NHB4O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgJl9fc2VydmVyLWVycm9yIHtcbiAgICAgICAgY29sb3I6ICRwcm9qZWN0LW5ldy1yZWQ7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiAzMDA7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDIwcHg7XG4gICAgfVxuXG4gICAgJl9fc2VydmVyLXZhbGlkYXRpb24tdGV4dCB7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgbWFyZ2luOiBhdXRvO1xuICAgICAgICBtYXgtd2lkdGg6IGNhbGMoMTAwJSAtIDI2cHgpO1xuICAgICAgICBib3R0b206IDA7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSg1MCUpO1xuICAgICAgICBsZWZ0OiAxM3B4O1xuICAgICAgICBjb2xvcjogJHByb2plY3QtbmV3LXJlZDtcbiAgICAgICAgZm9udC1zaXplOiAxMC41cHg7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxO1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICBwYWRkaW5nLWxlZnQ6IDJweDtcbiAgICAgICAgcGFkZGluZy1yaWdodDogMnB4O1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkcHJvamVjdC13aGl0ZTtcbiAgICAgICAgZm9udC13ZWlnaHQ6IDMwMDtcbiAgICAgICAgdXNlci1zZWxlY3Q6IG5vbmU7XG5cbiAgICAgICAgQG1lZGlhKG1pbi13aWR0aDogJHNjcmVlbi14eHMpIHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMTJweDtcbiAgICAgICAgfVxuXG4gICAgICAgIEBtZWRpYShtaW4td2lkdGg6ICRzY3JlZW4teHhsKSB7XG4gICAgICAgICAgICBmb250LXNpemU6IDEzcHg7XG4gICAgICAgIH1cblxuICAgICAgICAuc2VydmVyLXNpZGUtdmFsaWRhdGVkIC5zZXJ2ZXItc2lkZS0taW52YWxpZCB+ICYge1xuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmX19qcy12YWxpZGF0aW9uLXRleHQge1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIG1hcmdpbjogYXV0bztcbiAgICAgICAgbWF4LXdpZHRoOiBjYWxjKDEwMCUgLSAyNnB4KTtcbiAgICAgICAgYm90dG9tOiAwO1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoNTAlKTtcbiAgICAgICAgbGVmdDogMTNweDtcbiAgICAgICAgY29sb3I6ICRwcm9qZWN0LW5ldy1yZWQ7XG4gICAgICAgIGZvbnQtc2l6ZTogMTAuNXB4O1xuICAgICAgICBsaW5lLWhlaWdodDogMTtcbiAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgcGFkZGluZy1sZWZ0OiAycHg7XG4gICAgICAgIHBhZGRpbmctcmlnaHQ6IDJweDtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHByb2plY3Qtd2hpdGU7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiAzMDA7XG4gICAgICAgIHVzZXItc2VsZWN0OiBub25lO1xuXG4gICAgICAgIEBtZWRpYShtaW4td2lkdGg6ICRzY3JlZW4teHhzKSB7XG4gICAgICAgICAgICBmb250LXNpemU6IDEycHg7XG4gICAgICAgIH1cblxuICAgICAgICBAbWVkaWEobWluLXdpZHRoOiAkc2NyZWVuLXh4bCkge1xuICAgICAgICAgICAgZm9udC1zaXplOiAxM3B4O1xuICAgICAgICB9XG5cbiAgICAgICAgLmpzLXNpZGUtdmFsaWRhdGVkIC5qcy1zaWRlLS1pbnZhbGlkIH4gJiB7XG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5tZGMtbWVudSB7XG4gICAgICAgIHotaW5kZXg6IDIwMDA7XG5cbiAgICAgICAgQG1lZGlhKG1pbi13aWR0aDogJHNjcmVlbi1tZCkge1xuICAgICAgICAgICAgei1pbmRleDogMTA7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAubWRjLWxpc3QtaXRlbSB7XG4gICAgICAgIGhlaWdodDogYXV0bztcbiAgICAgICAgbWluLWhlaWdodDogNDhweDtcbiAgICAgICAgcGFkZGluZy10b3A6IDEwcHg7XG4gICAgICAgIHBhZGRpbmctYm90dG9tOiAxMHB4O1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgdGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgIH1cblxuICAgIC5tZGMtc2VsZWN0LS1vdXRsaW5lZCB7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDA7XG4gICAgICAgIGxldHRlci1zcGFjaW5nOiAwO1xuICAgICAgICBAaW5jbHVkZSBtZGMtc2VsZWN0LW91dGxpbmUtc2hhcGUtcmFkaXVzKDAsIGZhbHNlKTtcbiAgICAgICAgQGluY2x1ZGUgbWRjLXNlbGVjdC1vdXRsaW5lLWNvbG9yKCRwcm9qZWN0LWJsdWUtZDUwMCk7XG4gICAgICAgIEBpbmNsdWRlIG1kYy1zZWxlY3QtZm9jdXNlZC1vdXRsaW5lLWNvbG9yKCRwcm9qZWN0LWJsdWUtZDUwMCk7XG4gICAgICAgIEBpbmNsdWRlIG1kYy1zZWxlY3QtaG92ZXItb3V0bGluZS1jb2xvcigkcHJvamVjdC1ibHVlLWQ1MDApO1xuICAgICAgICAvL0BpbmNsdWRlIG1kYy1zZWxlY3QtbGFiZWwtY29sb3IoJHByb2plY3QtYmx1ZS1kNTAwKTtcbiAgICAgICAgQGluY2x1ZGUgbWRjLXNlbGVjdC1mb2N1c2VkLWxhYmVsLWNvbG9yKCRwcm9qZWN0LWJsdWUtZDUwMCk7XG5cbiAgICAgICAgbGluZS1oZWlnaHQ6IDEuMTU7XG4gICAgICAgIGhlaWdodDogNDhweDtcblxuICAgICAgICBAbWVkaWEobWluLXdpZHRoOiAkc2NyZWVuLXh4bCkge1xuICAgICAgICAgICAgYmFja2dyb3VuZC1zaXplOiAxNXB4IDMxcHg7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiByaWdodCAxNHB4IGNlbnRlcjtcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAxLjQ7XG4gICAgICAgICAgICBoZWlnaHQ6IDY0cHg7XG4gICAgICAgICAgICBmb250LXNpemU6IDE5cHg7XG4gICAgICAgIH1cblxuICAgICAgICAubWRjLW1lbnUge1xuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIH1cblxuICAgICAgICAubWRjLXNlbGVjdF9fYW5jaG9yIHtcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgaGVpZ2h0OiA0OHB4O1xuICAgICAgICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogcmlnaHQgMTJweCBjZW50ZXI7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLXNpemU6IDEycHggMjVweDtcbiAgICAgICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IGljb25zLXByb2plY3RfX3NlbGVjdC1jYXJldCgkcHJvamVjdC1wcmltYXJ5KTtcbiAgICAgICAgICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkcHJvamVjdC13aGl0ZTtcbiAgICAgICAgICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMC4ycztcblxuICAgICAgICAgICAgQG1lZGlhKG1pbi13aWR0aDogJHNjcmVlbi14eGwpIHtcbiAgICAgICAgICAgICAgICBoZWlnaHQ6IDY0cHg7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAubWRjLXNlbGVjdF9fc2VsZWN0ZWQtdGV4dCB7XG4gICAgICAgICAgICBsaW5lLWhlaWdodDogNDdweDtcbiAgICAgICAgICAgIHBhZGRpbmctdG9wOiAwO1xuICAgICAgICAgICAgcGFkZGluZy1ib3R0b206IDA7XG4gICAgICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgICAgICAgICAgdGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7XG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgIHBhZGRpbmctcmlnaHQ6IDI4cHg7XG4gICAgICAgICAgICBtaW4td2lkdGg6IDA7XG4gICAgICAgICAgICB1c2VyLXNlbGVjdDogbm9uZTtcblxuICAgICAgICAgICAgQG1lZGlhKG1pbi13aWR0aDogJHNjcmVlbi14eGwpIHtcbiAgICAgICAgICAgICAgICBsaW5lLWhlaWdodDogNjJweDtcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IDE5cHg7XG4gICAgICAgICAgICAgICAgcGFkZGluZy1yaWdodDogNTJweDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC5tZGMtZmxvYXRpbmctbGFiZWwge1xuICAgICAgICAgICAgdG9wOiAyMnB4O1xuICAgICAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xuXG4gICAgICAgICAgICBAbWVkaWEobWluLXdpZHRoOiAkc2NyZWVuLXh4bCkge1xuICAgICAgICAgICAgICAgIHRvcDogMzBweDtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgJi5tZGMtZmxvYXRpbmctbGFiZWwtLWZsb2F0LWFib3ZlIHtcbiAgICAgICAgICAgICAgICB0b3A6IDEzcHg7XG5cbiAgICAgICAgICAgICAgICBAbWVkaWEobWluLXdpZHRoOiAkc2NyZWVuLXh4bCkge1xuICAgICAgICAgICAgICAgICAgICB0b3A6IDI0cHg7XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgLmZpcmVmb3ggJiB7XG4gICAgICAgICAgICAgICAgICAgIHRvcDogMTJweDtcblxuICAgICAgICAgICAgICAgICAgICBAbWVkaWEobWluLXdpZHRoOiAkc2NyZWVuLXh4bCkge1xuICAgICAgICAgICAgICAgICAgICAgICAgdG9wOiAyMnB4O1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLm1kYy1zZWxlY3RfX2FuY2hvciAubWRjLW5vdGNoZWQtb3V0bGluZS0tdXBncmFkZWQgLm1kYy1mbG9hdGluZy1sYWJlbC0tZmxvYXQtYWJvdmUsXG4gICAgICAgIC5tZGMtc2VsZWN0X19hbmNob3IubWRjLW5vdGNoZWQtb3V0bGluZS0tdXBncmFkZWQgLm1kYy1mbG9hdGluZy1sYWJlbC0tZmxvYXQtYWJvdmUge1xuICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0xMDYlKSBzY2FsZSguNzUpO1xuICAgICAgICAgICAgY29sb3I6ICRwcm9qZWN0LWJsdWUtZDUwMDtcblxuICAgICAgICAgICAgQG1lZGlhKG1pbi13aWR0aDogJHNjcmVlbi14eGwpIHtcbiAgICAgICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTE0NyUpIHNjYWxlKC43NSk7XG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiAxOXB4O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgJjpob3ZlcixcbiAgICAgICAgJjpmb2N1cyB7XG4gICAgICAgICAgICAubWRjLXNlbGVjdF9fYW5jaG9yIHtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKCRwcm9qZWN0LWJsdWUsIDAuMDYpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgJjpub3QoLm1kYy1zZWxlY3QtLWRpc2FibGVkKSAubWRjLWZsb2F0aW5nLWxhYmVsIHtcbiAgICAgICAgICAgIGNvbG9yOiAkcHJvamVjdC1ibHVlLWQ1MDA7XG4gICAgICAgIH1cblxuICAgICAgICAubWRjLXNlbGVjdC1pbnB1dC1oaWRkZW4ge1xuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgdG9wOiAtMTAwcHg7XG4gICAgICAgICAgICBsZWZ0OiAwO1xuICAgICAgICAgICAgei1pbmRleDogLTE7XG4gICAgICAgICAgICB1c2VyLXNlbGVjdDogbm9uZTtcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICAgICAgb3BhY2l0eTogMDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5tZGMtc2VsZWN0LS1jb21wYWN0IHtcbiAgICAgICAgQG1lZGlhKG1pbi13aWR0aDogJHNjcmVlbi14eGwpIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQtc2l6ZTogMTVweCAzMXB4O1xuICAgICAgICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogcmlnaHQgMTRweCBjZW50ZXI7XG4gICAgICAgICAgICBsaW5lLWhlaWdodDogMS40O1xuICAgICAgICAgICAgaGVpZ2h0OiA1NHB4O1xuICAgICAgICAgICAgZm9udC1zaXplOiAxNnB4O1xuICAgICAgICB9XG5cbiAgICAgICAgLm1kYy1zZWxlY3RfX2FuY2hvciB7XG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgIGhlaWdodDogNDhweDtcbiAgICAgICAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IHJpZ2h0IDEycHggY2VudGVyO1xuICAgICAgICAgICAgYmFja2dyb3VuZC1zaXplOiAxMnB4IDI1cHg7XG5cbiAgICAgICAgICAgIEBtZWRpYShtaW4td2lkdGg6ICRzY3JlZW4teHhsKSB7XG4gICAgICAgICAgICAgICAgaGVpZ2h0OiA1NHB4O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLm1kYy1zZWxlY3RfX3NlbGVjdGVkLXRleHQge1xuICAgICAgICAgICAgQG1lZGlhKG1pbi13aWR0aDogJHNjcmVlbi14eGwpIHtcbiAgICAgICAgICAgICAgICBsaW5lLWhlaWdodDogNTNweDtcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IDE2cHg7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAubWRjLWZsb2F0aW5nLWxhYmVsIHtcbiAgICAgICAgICAgICYubWRjLWZsb2F0aW5nLWxhYmVsLS1mbG9hdC1hYm92ZSB7XG4gICAgICAgICAgICAgICAgdG9wOiAxM3B4O1xuXG4gICAgICAgICAgICAgICAgQG1lZGlhKG1pbi13aWR0aDogJHNjcmVlbi14eGwpIHtcbiAgICAgICAgICAgICAgICAgICAgdG9wOiAxOXB4O1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC5tZGMtc2VsZWN0X19hbmNob3IgLm1kYy1ub3RjaGVkLW91dGxpbmUtLXVwZ3JhZGVkIC5tZGMtZmxvYXRpbmctbGFiZWwtLWZsb2F0LWFib3ZlLFxuICAgICAgICAubWRjLXNlbGVjdF9fYW5jaG9yLm1kYy1ub3RjaGVkLW91dGxpbmUtLXVwZ3JhZGVkIC5tZGMtZmxvYXRpbmctbGFiZWwtLWZsb2F0LWFib3ZlIHtcbiAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMTA0JSkgc2NhbGUoLjc1KTtcblxuICAgICAgICAgICAgQG1lZGlhKG1pbi13aWR0aDogJHNjcmVlbi14eGwpIHtcbiAgICAgICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTE0NyUpIHNjYWxlKC43NSk7XG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiAxNnB4O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICB9XG5cbiAgICAubWRjLXRleHQtZmllbGQtLWNvbXBhY3Qge1xuICAgICAgICBAbWVkaWEobWluLXdpZHRoOiAkc2NyZWVuLXh4bCkge1xuICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDEuNTU7XG4gICAgICAgICAgICBoZWlnaHQ6IDU0cHg7XG4gICAgICAgICAgICBmb250LXNpemU6IDE2cHg7XG4gICAgICAgIH1cblxuICAgICAgICAubWRjLWZsb2F0aW5nLWxhYmVsIHtcbiAgICAgICAgICAgIEBtZWRpYShtaW4td2lkdGg6ICRzY3JlZW4teHhsKSB7XG4gICAgICAgICAgICAgICAgdG9wOiAxN3B4O1xuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMTZweDtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLmZpcmVmb3ggJiB7XG4gICAgICAgICAgICAgICAgQG1lZGlhKG1pbi13aWR0aDogJHNjcmVlbi14eGwpIHtcbiAgICAgICAgICAgICAgICAgICAgdG9wOiAxNnB4O1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC8vIG5vdCBmb2N1c2VkIDFweCBib3JkZXJcbiAgICAgICAgLm1kYy1ub3RjaGVkLW91dGxpbmUtLXVwZ3JhZGVkIHtcbiAgICAgICAgICAgIC5tZGMtZmxvYXRpbmctbGFiZWwtLWZsb2F0LWFib3ZlIHtcbiAgICAgICAgICAgICAgICBAbWVkaWEobWluLXdpZHRoOiAkc2NyZWVuLXh4bCkge1xuICAgICAgICAgICAgICAgICAgICB0b3A6IDIwcHg7XG4gICAgICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMTZweDtcbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAuZmlyZWZveCAmIHtcbiAgICAgICAgICAgICAgICAgICAgQG1lZGlhKG1pbi13aWR0aDogJHNjcmVlbi14eGwpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHRvcDogMTlweDtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC8vIGZvY3VzZWQgMnB4IGJvcmRlclxuICAgICAgICAmLm1kYy10ZXh0LWZpZWxkLS1mb2N1c2VkIHtcbiAgICAgICAgICAgIC5tZGMtbm90Y2hlZC1vdXRsaW5lLS11cGdyYWRlZCB7XG4gICAgICAgICAgICAgICAgLm1kYy1mbG9hdGluZy1sYWJlbC0tZmxvYXQtYWJvdmUge1xuICAgICAgICAgICAgICAgICAgICBAbWVkaWEobWluLXdpZHRoOiAkc2NyZWVuLXh4bCkge1xuICAgICAgICAgICAgICAgICAgICAgICAgdG9wOiAxOXB4O1xuICAgICAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAgICAgLmZpcmVmb3ggJiB7XG4gICAgICAgICAgICAgICAgICAgICAgICBAbWVkaWEobWluLXdpZHRoOiAkc2NyZWVuLXh4bCkge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRvcDogMThweDtcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC5tZGMtdGV4dC1maWVsZF9faW5wdXQge1xuICAgICAgICAgICAgQG1lZGlhKG1pbi13aWR0aDogJHNjcmVlbi14eGwpIHtcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IDE2cHg7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvLyB0ZXh0YXJlYVxuICAgIC5tZGMtdGV4dC1maWVsZC0tdGV4dGFyZWEge1xuICAgICAgICBoZWlnaHQ6IGF1dG87XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuXG4gICAgICAgIC5tZGMtdGV4dC1maWVsZF9faW5wdXQge1xuICAgICAgICAgICAgcmVzaXplOiBub25lO1xuICAgICAgICAgICAgbWFyZ2luLXRvcDogMTBweDtcblxuXG4gICAgICAgICAgICBAbWVkaWEobWluLXdpZHRoOiAkc2NyZWVuLXh4bCkge1xuICAgICAgICAgICAgICAgIG1hcmdpbi10b3A6IDE3cHg7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmX19oZWxwLXRleHQge1xuICAgICAgICBtYXJnaW4tdG9wOiAxMHB4O1xuXG4gICAgICAgIC5tZGMtZm9ybS1maWVsZC0tY2hlY2tib3ggPiAmIHtcbiAgICAgICAgICAgIHBhZGRpbmctbGVmdDogNDVweDtcbiAgICAgICAgfVxuXG4gICAgICAgICYtLXNtYWxsIHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMTAuNXB4O1xuICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDMwMDtcblxuICAgICAgICAgICAgQG1lZGlhKG1pbi13aWR0aDogJHNjcmVlbi14eHMpIHtcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IDEycHg7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIEBtZWRpYShtaW4td2lkdGg6ICRzY3JlZW4teHhsKSB7XG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiAxM3B4O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgJl9faW5mbyB7XG4gICAgICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiAzMDA7XG4gICAgICAgIGZvbnQtc2l6ZTogMTIuNXB4O1xuICAgICAgICBtYXJnaW4tdG9wOiAxNXB4O1xuICAgICAgICBtYXJnaW4tYm90dG9tOiA1cHg7XG4gICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxLjQzO1xuXG4gICAgICAgICYtLWNlbnRlciB7XG4gICAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgIH1cblxuICAgICAgICAmLS1zcGFjZWQge1xuICAgICAgICAgICAgbWFyZ2luLXRvcDogMzJweDtcbiAgICAgICAgfVxuXG4gICAgICAgIEBtZWRpYShtaW4td2lkdGg6ICRzY3JlZW4teHhsKSB7XG4gICAgICAgICAgICBtYXJnaW4tdG9wOiAyMHB4O1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMTBweDtcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAxLjc7XG4gICAgICAgICAgICBmb250LXNpemU6IDE0cHg7XG4gICAgICAgIH1cblxuICAgICAgICBhIHtcbiAgICAgICAgICAgICY6aG92ZXIsXG4gICAgICAgICAgICAmOmZvY3VzIHtcbiAgICAgICAgICAgICAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5tZGMtdGV4dC1maWVsZF9faW5wdXQ6cmVxdWlyZWR+Lm1kYy1mbG9hdGluZy1sYWJlbDpub3QoLnJlcXVpcmVkKTo6YWZ0ZXIsIC5tZGMtdGV4dC1maWVsZF9faW5wdXQ6cmVxdWlyZWR+Lm1kYy1ub3RjaGVkLW91dGxpbmUgLm1kYy1mbG9hdGluZy1sYWJlbDpub3QoLnJlcXVpcmVkKTo6YWZ0ZXIge1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cbn1cblxuLy8gQ3VzdG9tIEthbGlvcCBmb3Jtc1xuLmthbGlvcGN1c3RvbWZvcm1zLWZvcm0ge1xuICAgICYtLWRlZmF1bHQge1xuICAgICAgICBtYXgtd2lkdGg6IDYyMHB4O1xuICAgICAgICBtYXJnaW46IDAgYXV0bztcblxuICAgICAgICBidXR0b25bdHlwZT1cInN1Ym1pdFwiXSB7XG4gICAgICAgICAgICBtYXJnaW46IDAgYXV0bztcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICB9XG5cbiAgICAgICAgLmJ0bi0tYmx1ZTpkaXNhYmxlZCB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkcHJvamVjdC1uYXZ5Ymx1ZTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgICZfX21lc3NhZ2UtY29udGFpbmVyIHtcbiAgICAgICAgcGFkZGluZy1ib3R0b206IDEwcHg7XG4gICAgICAgIGZvbnQtc2l6ZTogMTZweDtcblxuICAgICAgICAmLS1lcnJvciB7XG4gICAgICAgICAgICBjb2xvcjogJHByb2plY3QtZXJyb3I7XG4gICAgICAgIH1cblxuICAgICAgICAmLS13YXJuaW5nIHtcbiAgICAgICAgICAgIGNvbG9yOiAkcHJvamVjdC13YXJuaW5nO1xuICAgICAgICB9XG5cbiAgICAgICAgJi0tc3VjY2VzcyB7XG4gICAgICAgICAgICBjb2xvcjogJHByb2plY3QtZ3JlZW47XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi5jdXN0b20tZmllbGQge1xuICAgICYtLWluZGVudGVkIHtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IDM1cHg7XG4gICAgfVxufVxuXG4uc3RhdGljX3RleHQtZmllbGQge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcblxuICAgICYtLXNtYWxsIHtcbiAgICAgICAgZm9udC1zaXplOiAxMnB4O1xuICAgIH1cblxuICAgICYtLW5vcm1hbCB7XG4gICAgICAgIGZvbnQtc2l6ZTogMTRweDtcbiAgICB9XG5cbiAgICAmLS1sYXJnZSB7XG4gICAgICAgIGZvbnQtc2l6ZTogMTlweDtcbiAgICAgICAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgICB9XG59XG5cbi50aW1lbGVzcy1mb3JtIHtcbiAgICBtYXgtd2lkdGg6IDY4MnB4O1xuICAgIG1hcmdpbjogMCBhdXRvO1xuXG4gICAgJl9fYWN0aW9ucyB7XG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICB9XG59XG5cbi5hbm51YWwtZm9ybSB7XG4gICAgbWF4LXdpZHRoOiA0MDBweDtcbn1cblxuLm5ld3NsZXR0ZXItYWdyZWVtZW50cyB7XG4gICAgLmV6cmljaHRleHQtZmllbGQsIC5uZ2wtcmljaF90ZXh0IHtcbiAgICAgICAgZm9udC1zaXplOiAxNXB4O1xuXG4gICAgICAgIEBtZWRpYSAobWluLXdpZHRoOiAkc2NyZWVuLXh4cykge1xuICAgICAgICAgICAgZm9udC1zaXplOiAxN3B4O1xuICAgICAgICB9XG5cbiAgICAgICAgQG1lZGlhIChtaW4td2lkdGg6ICRzY3JlZW4teHhsKSB7XG4gICAgICAgICAgICBmb250LXNpemU6IDE5cHg7XG4gICAgICAgIH1cblxuICAgICAgICBwOm5vdChbY2xhc3NdKSB7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgJl9fdGl0bGUge1xuICAgICAgICBmb250LXdlaWdodDogMzAwO1xuICAgICAgICBwYWRkaW5nLXRvcDogOHB4O1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAwLjhyZW07XG4gICAgICAgIHRleHQtYWxpZ246IGxlZnQ7XG5cbiAgICAgICAgLmV6cmljaHRleHQtZmllbGQsIC5uZ2wtcmljaF90ZXh0LCAmIHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMTVweDtcblxuICAgICAgICAgICAgQG1lZGlhKG1pbi13aWR0aDogJHNjcmVlbi14eHMpIHtcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IDE3cHg7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIEBtZWRpYShtaW4td2lkdGg6ICRzY3JlZW4teHhsKSB7XG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiAxOXB4O1xuICAgICAgICAgICAgICAgIGxldHRlci1zcGFjaW5nOiAwLjRweDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgICYtLWJvbGQge1xuICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgICZfX2Nob2ljZXMge1xuICAgICAgICAvKnBhZGRpbmctbGVmdDogNDhweDtcbiAgICAgICAgLm5ld3NsZXR0ZXItYWdyZWVtZW50cy0tY29sbGFwc2FibGUgJiB7XG4gICAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDA7XG4gICAgICAgIH0qL1xuXG4gICAgICAgIC5jbGllbnQtc2V0dGluZ3MgJiB7XG4gICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAgZmxleC13cmFwOiB3cmFwO1xuICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuXG4gICAgICAgICAgICAubmV3c2xldHRlci1hZ3JlZW1lbnRzX19jaG9pY2Uge1xuICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuXG4gICAgICAgICAgICAgICAgQG1lZGlhKG1pbi13aWR0aDogJHNjcmVlbi1sZykge1xuICAgICAgICAgICAgICAgICAgICB3aWR0aDogNDclO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgICZfX2Nob2ljZSB7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB9XG5cbiAgICAmX190b2dnbGUge1xuICAgICAgICBib3JkZXI6IG5vbmU7XG4gICAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgICAgIGZvbnQtZmFtaWx5OiBpbmhlcml0O1xuICAgICAgICBvdXRsaW5lOiBub25lO1xuICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgICAgIGJhY2tncm91bmQtc2l6ZTogMThweCAxOHB4O1xuICAgICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiByaWdodCAwIGNlbnRlcjtcbiAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogaWNvbnMtcHJvamVjdF9fYXJyb3ctdG9wKCRwcm9qZWN0LWJsYWNrKTtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiAzMDA7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxLjI1O1xuICAgICAgICB1c2VyLXNlbGVjdDogbm9uZTtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB0b3A6IDdweDtcbiAgICAgICAgcmlnaHQ6IDA7XG4gICAgICAgIHBhZGRpbmctcmlnaHQ6IDMwcHg7XG4gICAgICAgIGNvbG9yOiAkcHJvamVjdC1ibHVlO1xuICAgICAgICBmb250LXNpemU6IDE1cHg7XG5cbiAgICAgICAgQG1lZGlhKG1pbi13aWR0aDogJHNjcmVlbi14eHMpIHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMTdweDtcbiAgICAgICAgfVxuXG4gICAgICAgIEBtZWRpYShtaW4td2lkdGg6ICRzY3JlZW4teHhsKSB7XG4gICAgICAgICAgICBmb250LXNpemU6IDE5cHg7XG4gICAgICAgIH1cblxuICAgICAgICAmOmZvY3VzIHtcbiAgICAgICAgICAgIG91dGxpbmU6IG5vbmU7XG4gICAgICAgIH1cblxuICAgICAgICAubmV3c2xldHRlci1hZ3JlZW1lbnRzX190b2dnbGUtLWNvbGxhcHNlZCB7XG4gICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICB9XG5cbiAgICAgICAgLm5ld3NsZXR0ZXItYWdyZWVtZW50c19fdG9nZ2xlLS1zaG93biB7XG4gICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmU7XG4gICAgICAgIH1cblxuICAgICAgICAmLmNvbGxhcHNlZCB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiBpY29ucy1wcm9qZWN0X19hcnJvdy1ib3R0b20oJHByb2plY3QtYmxhY2spO1xuXG4gICAgICAgICAgICAubmV3c2xldHRlci1hZ3JlZW1lbnRzX190b2dnbGUtLWNvbGxhcHNlZCB7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogaW5saW5lO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAubmV3c2xldHRlci1hZ3JlZW1lbnRzX190b2dnbGUtLXNob3duIHtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgJl9fcGFuZWwge1xuICAgICAgICAubmV3c2xldHRlci1hZ3JlZW1lbnRzX19pbmZvIHtcbiAgICAgICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgICAgIHBhZGRpbmctYm90dG9tOiAyOHB4O1xuXG4gICAgICAgICAgICBAbWVkaWEobWluLXdpZHRoOiAkc2NyZWVuLXh4bCkge1xuICAgICAgICAgICAgICAgIHBhZGRpbmctYm90dG9tOiAxNnB4O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgJl9faW5mbyB7XG4gICAgICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiAzMDA7XG4gICAgICAgIG1hcmdpbi10b3A6IDIycHg7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDI4cHg7XG4gICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxLjQzO1xuXG4gICAgICAgICYtLXNwYWNlZCB7XG4gICAgICAgICAgICBtYXJnaW4tdG9wOiAzMnB4O1xuXG4gICAgICAgICAgICBAbWVkaWEobWluLXdpZHRoOiAkc2NyZWVuLXh4bCkge1xuICAgICAgICAgICAgICAgIG1hcmdpbi10b3A6IDIycHg7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAmLS1pbmRlbnRlZCwgLm5ld3NsZXR0ZXItYWdyZWVtZW50c19fY2hvaWNlICYge1xuICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiAzNXB4O1xuXG4gICAgICAgICAgICBAbWVkaWEobWluLXdpZHRoOiAkc2NyZWVuLXh4bCkge1xuICAgICAgICAgICAgICAgIHBhZGRpbmctbGVmdDogNDVweDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC5lenJpY2h0ZXh0LWZpZWxkLCAubmdsLXJpY2hfdGV4dCwgJiB7XG4gICAgICAgICAgICBmb250LXNpemU6IDEyLjVweDtcblxuICAgICAgICAgICAgQG1lZGlhKG1pbi13aWR0aDogJHNjcmVlbi14eGwpIHtcbiAgICAgICAgICAgICAgICBsaW5lLWhlaWdodDogMS43O1xuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMTRweDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIEBtZWRpYShtaW4td2lkdGg6ICRzY3JlZW4teHhsKSB7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAxNnB4O1xuICAgICAgICB9XG5cbiAgICAgICAgYSB7XG4gICAgICAgICAgICAmOmhvdmVyLFxuICAgICAgICAgICAgJjpmb2N1cyB7XG4gICAgICAgICAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi5tZGMtY2hlY2tib3gtbXVsdGlwbGUge1xuXHQuc2l0ZS1mb3JtX192YWxpZGF0aW9uLXRleHQge1xuXHRcdGxlZnQ6IDA7XG5cdFx0Ym90dG9tOiAwO1xuXHRcdHBvc2l0aW9uOiByZWxhdGl2ZTtcblx0XHRtYXJnaW4tYm90dG9tOiAxNHB4O1xuXHRcdG1heC13aWR0aDogdW5zZXQ7XG5cdH1cbn1cblxuLnNlcnZlci1zaWRlLS1pbnZhbGlkIHtcblx0LnNpdGUtZm9ybV9fdmFsaWRhdGlvbi10ZXh0IHtcblx0XHRkaXNwbGF5OmJsb2NrO1xuXHR9XG59XG5cbi53YXMtdmFsaWRhdGVkIC5uZXdzbGV0dGVyLWFncmVlbWVudHMgLnNpdGUtZm9ybV9fY2hlY2tib3gtLXJlcXVpcmVkLnNpdGUtZm9ybV9fY2hlY2tib3gtLXVuY2hlY2tlZCB+IC5zaXRlLWZvcm1fX3ZhbGlkYXRpb24tdGV4dCB7XG4gICAgcGFkZGluZy1sZWZ0OiAzNXB4O1xuXG4gICAgQG1lZGlhKG1pbi13aWR0aDogJHNjcmVlbi14eGwpIHtcbiAgICAgICAgcGFkZGluZy1sZWZ0OiA0NHB4O1xuICAgIH1cbn0iLCIvL1xuLy8gQ29weXJpZ2h0IDIwMTYgR29vZ2xlIEluYy5cbi8vXG4vLyBQZXJtaXNzaW9uIGlzIGhlcmVieSBncmFudGVkLCBmcmVlIG9mIGNoYXJnZSwgdG8gYW55IHBlcnNvbiBvYnRhaW5pbmcgYSBjb3B5XG4vLyBvZiB0aGlzIHNvZnR3YXJlIGFuZCBhc3NvY2lhdGVkIGRvY3VtZW50YXRpb24gZmlsZXMgKHRoZSBcIlNvZnR3YXJlXCIpLCB0byBkZWFsXG4vLyBpbiB0aGUgU29mdHdhcmUgd2l0aG91dCByZXN0cmljdGlvbiwgaW5jbHVkaW5nIHdpdGhvdXQgbGltaXRhdGlvbiB0aGUgcmlnaHRzXG4vLyB0byB1c2UsIGNvcHksIG1vZGlmeSwgbWVyZ2UsIHB1Ymxpc2gsIGRpc3RyaWJ1dGUsIHN1YmxpY2Vuc2UsIGFuZC9vciBzZWxsXG4vLyBjb3BpZXMgb2YgdGhlIFNvZnR3YXJlLCBhbmQgdG8gcGVybWl0IHBlcnNvbnMgdG8gd2hvbSB0aGUgU29mdHdhcmUgaXNcbi8vIGZ1cm5pc2hlZCB0byBkbyBzbywgc3ViamVjdCB0byB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnM6XG4vL1xuLy8gVGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UgYW5kIHRoaXMgcGVybWlzc2lvbiBub3RpY2Ugc2hhbGwgYmUgaW5jbHVkZWQgaW5cbi8vIGFsbCBjb3BpZXMgb3Igc3Vic3RhbnRpYWwgcG9ydGlvbnMgb2YgdGhlIFNvZnR3YXJlLlxuLy9cbi8vIFRIRSBTT0ZUV0FSRSBJUyBQUk9WSURFRCBcIkFTIElTXCIsIFdJVEhPVVQgV0FSUkFOVFkgT0YgQU5ZIEtJTkQsIEVYUFJFU1MgT1Jcbi8vIElNUExJRUQsIElOQ0xVRElORyBCVVQgTk9UIExJTUlURUQgVE8gVEhFIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZLFxuLy8gRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQU5EIE5PTklORlJJTkdFTUVOVC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFXG4vLyBBVVRIT1JTIE9SIENPUFlSSUdIVCBIT0xERVJTIEJFIExJQUJMRSBGT1IgQU5ZIENMQUlNLCBEQU1BR0VTIE9SIE9USEVSXG4vLyBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQU4gQUNUSU9OIE9GIENPTlRSQUNULCBUT1JUIE9SIE9USEVSV0lTRSwgQVJJU0lORyBGUk9NLFxuLy8gT1VUIE9GIE9SIElOIENPTk5FQ1RJT04gV0lUSCBUSEUgU09GVFdBUkUgT1IgVEhFIFVTRSBPUiBPVEhFUiBERUFMSU5HUyBJTlxuLy8gVEhFIFNPRlRXQVJFLlxuLy9cblxuQHVzZSBcInNhc3M6bWFwXCI7XG5AdXNlIFwiQG1hdGVyaWFsL2FuaW1hdGlvbi9mdW5jdGlvbnNcIiBhcyBmdW5jdGlvbnMyO1xuQHVzZSBcIkBtYXRlcmlhbC9kZW5zaXR5L2Z1bmN0aW9uc1wiIGFzIGRlbnNpdHktZnVuY3Rpb25zO1xuQHVzZSBcIkBtYXRlcmlhbC9mZWF0dXJlLXRhcmdldGluZy9mdW5jdGlvbnNcIiBhcyBmZWF0dXJlLXRhcmdldGluZy1mdW5jdGlvbnM7XG5AdXNlIFwiQG1hdGVyaWFsL2ZlYXR1cmUtdGFyZ2V0aW5nL21peGluc1wiIGFzIGZlYXR1cmUtdGFyZ2V0aW5nLW1peGlucztcbkB1c2UgXCJAbWF0ZXJpYWwvcmlwcGxlL21peGluc1wiIGFzIHJpcHBsZS1taXhpbnM7XG5AdXNlIFwiQG1hdGVyaWFsL3JpcHBsZS92YXJpYWJsZXNcIiBhcyByaXBwbGUtdmFyaWFibGVzO1xuQHVzZSBcIkBtYXRlcmlhbC90aGVtZS9taXhpbnNcIiBhcyB0aGVtZS1taXhpbnM7XG5AdXNlIFwiQG1hdGVyaWFsL3RoZW1lL3ZhcmlhYmxlc1wiIGFzIHZhcmlhYmxlczI7XG5AdXNlIFwiQG1hdGVyaWFsL3RvdWNoLXRhcmdldC9taXhpbnNcIiBhcyB0b3VjaC10YXJnZXQtbWl4aW5zO1xuQHVzZSBcIkBtYXRlcmlhbC90b3VjaC10YXJnZXQvdmFyaWFibGVzXCIgYXMgdG91Y2gtdGFyZ2V0LXZhcmlhYmxlcztcbkB1c2UgXCIuL2Z1bmN0aW9uc1wiO1xuQHVzZSBcIi4vdmFyaWFibGVzXCI7XG5cbiRyaXBwbGUtdGFyZ2V0OiBcIi5tZGMtcmFkaW9fX3JpcHBsZVwiO1xuXG4vLy9cbi8vLyBSYWRpbyBjb3JlIHN0eWxlcy5cbi8vL1xuQG1peGluIGNvcmUtc3R5bGVzKCRxdWVyeTogZmVhdHVyZS10YXJnZXRpbmctZnVuY3Rpb25zLmFsbCgpKSB7XG4gIEBpbmNsdWRlIHdpdGhvdXQtcmlwcGxlKCRxdWVyeSk7XG4gIEBpbmNsdWRlIHJpcHBsZSgkcXVlcnkpO1xufVxuXG4vLyBUaGlzIEFQSSBpcyBpbnRlbmRlZCBmb3IgdXNlIGJ5IGZyYW1ld29ya3MgdGhhdCBtYXkgd2FudCB0byBzZXBhcmF0ZSB0aGUgcmlwcGxlLXJlbGF0ZWQgc3R5bGVzIGZyb20gdGhlIG90aGVyXG4vLyByYWRpbyBzdHlsZXMuIEl0IGlzIHJlY29tbWVuZGVkIHRoYXQgbW9zdCB1c2VycyB1c2UgYG1kYy1yYWRpby1jb3JlLXN0eWxlc2AgaW5zdGVhZC5cbkBtaXhpbiB3aXRob3V0LXJpcHBsZSgkcXVlcnk6IGZlYXR1cmUtdGFyZ2V0aW5nLWZ1bmN0aW9ucy5hbGwoKSkge1xuICAvLyBwb3N0Y3NzLWJlbS1saW50ZXI6IGRlZmluZSByYWRpb1xuXG4gICRmZWF0LWFuaW1hdGlvbjogZmVhdHVyZS10YXJnZXRpbmctZnVuY3Rpb25zLmNyZWF0ZS10YXJnZXQoJHF1ZXJ5LCBhbmltYXRpb24pO1xuICAkZmVhdC1jb2xvcjogZmVhdHVyZS10YXJnZXRpbmctZnVuY3Rpb25zLmNyZWF0ZS10YXJnZXQoJHF1ZXJ5LCBjb2xvcik7XG4gICRmZWF0LXN0cnVjdHVyZTogZmVhdHVyZS10YXJnZXRpbmctZnVuY3Rpb25zLmNyZWF0ZS10YXJnZXQoJHF1ZXJ5LCBzdHJ1Y3R1cmUpO1xuXG4gIEBpbmNsdWRlIHRvdWNoLXRhcmdldC1taXhpbnMud3JhcHBlcigkcXVlcnkpOyAvLyBDT1BZQkFSQV9DT01NRU5UX1RISVNfTElORVxuXG4gIC5tZGMtcmFkaW8ge1xuICAgIEBpbmNsdWRlIHVuY2hlY2tlZC1zdHJva2UtY29sb3IodmFyaWFibGVzLiR1bmNoZWNrZWQtY29sb3IsICRxdWVyeTogJHF1ZXJ5KTtcbiAgICBAaW5jbHVkZSBjaGVja2VkLXN0cm9rZS1jb2xvcih2YXJpYWJsZXMuJGJhc2VsaW5lLXRoZW1lLWNvbG9yLCAkcXVlcnk6ICRxdWVyeSk7XG4gICAgQGluY2x1ZGUgaW5rLWNvbG9yKHZhcmlhYmxlcy4kYmFzZWxpbmUtdGhlbWUtY29sb3IsICRxdWVyeTogJHF1ZXJ5KTtcbiAgICBAaW5jbHVkZSBkaXNhYmxlZC11bmNoZWNrZWQtc3Ryb2tlLWNvbG9yKHZhcmlhYmxlcy4kZGlzYWJsZWQtY2lyY2xlLWNvbG9yLCAkcXVlcnk6ICRxdWVyeSk7XG4gICAgQGluY2x1ZGUgZGlzYWJsZWQtY2hlY2tlZC1zdHJva2UtY29sb3IodmFyaWFibGVzLiRkaXNhYmxlZC1jaXJjbGUtY29sb3IsICRxdWVyeTogJHF1ZXJ5KTtcbiAgICBAaW5jbHVkZSBkaXNhYmxlZC1pbmstY29sb3IodmFyaWFibGVzLiRkaXNhYmxlZC1jaXJjbGUtY29sb3IsICRxdWVyeTogJHF1ZXJ5KTtcbiAgICBAaW5jbHVkZSBmb2N1cy1pbmRpY2F0b3ItY29sb3IodmFyaWFibGVzLiRiYXNlbGluZS10aGVtZS1jb2xvciwgJHF1ZXJ5OiAkcXVlcnkpO1xuICAgIEBpbmNsdWRlIGRlbnNpdHkodmFyaWFibGVzLiRkZW5zaXR5LXNjYWxlLCAkcXVlcnk6ICRxdWVyeSk7XG5cbiAgICBAaW5jbHVkZSBmZWF0dXJlLXRhcmdldGluZy1taXhpbnMudGFyZ2V0cygkZmVhdC1zdHJ1Y3R1cmUpIHtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgIGZsZXg6IDAgMCBhdXRvO1xuICAgICAgYm94LXNpemluZzogY29udGVudC1ib3g7XG4gICAgICB3aWR0aDogdmFyaWFibGVzLiRpY29uLXNpemU7XG4gICAgICBoZWlnaHQ6IHZhcmlhYmxlcy4kaWNvbi1zaXplO1xuICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgICAgLyogQGFsdGVybmF0ZSAqL1xuICAgICAgd2lsbC1jaGFuZ2U6IG9wYWNpdHksIHRyYW5zZm9ybSwgYm9yZGVyLWNvbG9yLCBjb2xvcjtcbiAgICB9XG5cbiAgICAvLyBDb250YWluZXIgZm9yIHJhZGlvIGNpcmNsZXMgYW5kIHJpcHBsZS5cbiAgICAmX19iYWNrZ3JvdW5kIHtcbiAgICAgIEBpbmNsdWRlIGZlYXR1cmUtdGFyZ2V0aW5nLW1peGlucy50YXJnZXRzKCRmZWF0LXN0cnVjdHVyZSkge1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICAgICAgd2lkdGg6IHZhcmlhYmxlcy4kaWNvbi1zaXplO1xuICAgICAgICBoZWlnaHQ6IHZhcmlhYmxlcy4kaWNvbi1zaXplO1xuICAgICAgfVxuXG4gICAgICAmOjpiZWZvcmUge1xuICAgICAgICBAaW5jbHVkZSBmZWF0dXJlLXRhcmdldGluZy1taXhpbnMudGFyZ2V0cygkZmVhdC1zdHJ1Y3R1cmUpIHtcbiAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgdHJhbnNmb3JtOiBzY2FsZSgwLCAwKTtcbiAgICAgICAgICBib3JkZXItcmFkaXVzOiA1MCU7XG4gICAgICAgICAgb3BhY2l0eTogMDtcbiAgICAgICAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgICAgICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgICB9XG5cbiAgICAgICAgQGluY2x1ZGUgZmVhdHVyZS10YXJnZXRpbmctbWl4aW5zLnRhcmdldHMoJGZlYXQtYW5pbWF0aW9uKSB7XG4gICAgICAgICAgdHJhbnNpdGlvbjogZnVuY3Rpb25zLmV4aXQob3BhY2l0eSksIGZ1bmN0aW9ucy5leGl0KHRyYW5zZm9ybSk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICAmX19vdXRlci1jaXJjbGUge1xuICAgICAgQGluY2x1ZGUgZmVhdHVyZS10YXJnZXRpbmctbWl4aW5zLnRhcmdldHMoJGZlYXQtc3RydWN0dXJlKSB7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgdG9wOiAwO1xuICAgICAgICBsZWZ0OiAwO1xuICAgICAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICBib3JkZXItd2lkdGg6IDJweDtcbiAgICAgICAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogNTAlO1xuICAgICAgfVxuXG4gICAgICBAaW5jbHVkZSBmZWF0dXJlLXRhcmdldGluZy1taXhpbnMudGFyZ2V0cygkZmVhdC1hbmltYXRpb24pIHtcbiAgICAgICAgdHJhbnNpdGlvbjogZnVuY3Rpb25zLmV4aXQoYm9yZGVyLWNvbG9yKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAmX19pbm5lci1jaXJjbGUge1xuICAgICAgQGluY2x1ZGUgZmVhdHVyZS10YXJnZXRpbmctbWl4aW5zLnRhcmdldHMoJGZlYXQtc3RydWN0dXJlKSB7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgdG9wOiAwO1xuICAgICAgICBsZWZ0OiAwO1xuICAgICAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICB0cmFuc2Zvcm06IHNjYWxlKDAsIDApO1xuICAgICAgICBib3JkZXItd2lkdGg6IDEwcHg7XG4gICAgICAgIGJvcmRlci1zdHlsZTogc29saWQ7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgICAgIH1cblxuICAgICAgQGluY2x1ZGUgZmVhdHVyZS10YXJnZXRpbmctbWl4aW5zLnRhcmdldHMoJGZlYXQtYW5pbWF0aW9uKSB7XG4gICAgICAgIHRyYW5zaXRpb246XG4gICAgICAgICAgZnVuY3Rpb25zLmV4aXQodHJhbnNmb3JtKSxcbiAgICAgICAgICBmdW5jdGlvbnMuZXhpdChib3JkZXItY29sb3IpO1xuICAgICAgfVxuICAgIH1cblxuICAgICZfX25hdGl2ZS1jb250cm9sIHtcbiAgICAgIEBpbmNsdWRlIGZlYXR1cmUtdGFyZ2V0aW5nLW1peGlucy50YXJnZXRzKCRmZWF0LXN0cnVjdHVyZSkge1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgb3BhY2l0eTogMDtcbiAgICAgICAgY3Vyc29yOiBpbmhlcml0O1xuICAgICAgICB6LWluZGV4OiAxO1xuICAgICAgfVxuICAgIH1cblxuICAgICYtLXRvdWNoIHtcbiAgICAgIEBpbmNsdWRlIHRvdWNoLXRhcmdldC1taXhpbnMubWFyZ2luKFxuICAgICAgICAkY29tcG9uZW50LWhlaWdodDogdmFyaWFibGVzLiRyaXBwbGUtc2l6ZSxcbiAgICAgICAgJGNvbXBvbmVudC13aWR0aDogdmFyaWFibGVzLiRyaXBwbGUtc2l6ZSxcbiAgICAgICAgJHF1ZXJ5OiAkcXVlcnkpO1xuICAgICAgQGluY2x1ZGUgdG91Y2gtdGFyZ2V0KCRzaXplOiB0b3VjaC10YXJnZXQtdmFyaWFibGVzLiRoZWlnaHQsICRxdWVyeTogJHF1ZXJ5KTtcbiAgICB9XG4gIH1cblxuICAubWRjLXJhZGlvX19uYXRpdmUtY29udHJvbDpjaGVja2VkLFxuICAubWRjLXJhZGlvX19uYXRpdmUtY29udHJvbDpkaXNhYmxlZCB7XG4gICAgKyAubWRjLXJhZGlvX19iYWNrZ3JvdW5kIHtcbiAgICAgIEBpbmNsdWRlIGZlYXR1cmUtdGFyZ2V0aW5nLW1peGlucy50YXJnZXRzKCRmZWF0LWFuaW1hdGlvbikge1xuICAgICAgICB0cmFuc2l0aW9uOlxuICAgICAgICAgIGZ1bmN0aW9ucy5lbnRlcihvcGFjaXR5KSxcbiAgICAgICAgICBmdW5jdGlvbnMuZW50ZXIodHJhbnNmb3JtKTtcbiAgICAgIH1cblxuICAgICAgLm1kYy1yYWRpb19fb3V0ZXItY2lyY2xlIHtcbiAgICAgICAgQGluY2x1ZGUgZmVhdHVyZS10YXJnZXRpbmctbWl4aW5zLnRhcmdldHMoJGZlYXQtYW5pbWF0aW9uKSB7XG4gICAgICAgICAgdHJhbnNpdGlvbjogZnVuY3Rpb25zLmVudGVyKGJvcmRlci1jb2xvcik7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgLm1kYy1yYWRpb19faW5uZXItY2lyY2xlIHtcbiAgICAgICAgQGluY2x1ZGUgZmVhdHVyZS10YXJnZXRpbmctbWl4aW5zLnRhcmdldHMoJGZlYXQtYW5pbWF0aW9uKSB7XG4gICAgICAgICAgdHJhbnNpdGlvbjpcbiAgICAgICAgICAgIGZ1bmN0aW9ucy5lbnRlcih0cmFuc2Zvcm0pLFxuICAgICAgICAgICAgZnVuY3Rpb25zLmVudGVyKGJvcmRlci1jb2xvcik7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAubWRjLXJhZGlvLS1kaXNhYmxlZCB7XG4gICAgQGluY2x1ZGUgZmVhdHVyZS10YXJnZXRpbmctbWl4aW5zLnRhcmdldHMoJGZlYXQtc3RydWN0dXJlKSB7XG4gICAgICBjdXJzb3I6IGRlZmF1bHQ7XG4gICAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgICB9XG4gIH1cblxuICAubWRjLXJhZGlvX19uYXRpdmUtY29udHJvbDpjaGVja2VkIHtcbiAgICArIC5tZGMtcmFkaW9fX2JhY2tncm91bmQge1xuICAgICAgLm1kYy1yYWRpb19faW5uZXItY2lyY2xlIHtcbiAgICAgICAgQGluY2x1ZGUgZmVhdHVyZS10YXJnZXRpbmctbWl4aW5zLnRhcmdldHMoJGZlYXQtc3RydWN0dXJlKSB7XG4gICAgICAgICAgdHJhbnNmb3JtOiBzY2FsZSguNSk7XG4gICAgICAgIH1cblxuICAgICAgICBAaW5jbHVkZSBmZWF0dXJlLXRhcmdldGluZy1taXhpbnMudGFyZ2V0cygkZmVhdC1hbmltYXRpb24pIHtcbiAgICAgICAgICB0cmFuc2l0aW9uOlxuICAgICAgICAgICAgZnVuY3Rpb25zLmVudGVyKHRyYW5zZm9ybSksXG4gICAgICAgICAgICBmdW5jdGlvbnMuZW50ZXIoYm9yZGVyLWNvbG9yKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC5tZGMtcmFkaW9fX25hdGl2ZS1jb250cm9sOmRpc2FibGVkLFxuICBbYXJpYS1kaXNhYmxlZD1cInRydWVcIl0gLm1kYy1yYWRpb19fbmF0aXZlLWNvbnRyb2wge1xuICAgICsgLm1kYy1yYWRpb19fYmFja2dyb3VuZCB7XG4gICAgICBAaW5jbHVkZSBmZWF0dXJlLXRhcmdldGluZy1taXhpbnMudGFyZ2V0cygkZmVhdC1zdHJ1Y3R1cmUpIHtcbiAgICAgICAgY3Vyc29yOiBkZWZhdWx0O1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC5tZGMtcmFkaW9fX25hdGl2ZS1jb250cm9sOmZvY3VzIHtcbiAgICArIC5tZGMtcmFkaW9fX2JhY2tncm91bmQ6OmJlZm9yZSB7XG4gICAgICBAaW5jbHVkZSBmZWF0dXJlLXRhcmdldGluZy1taXhpbnMudGFyZ2V0cygkZmVhdC1zdHJ1Y3R1cmUpIHtcbiAgICAgICAgdHJhbnNmb3JtOiBzY2FsZSgxKTtcbiAgICAgICAgb3BhY2l0eTogbWFwLmdldChyaXBwbGUtdmFyaWFibGVzLiRkYXJrLWluay1vcGFjaXRpZXMsIGZvY3VzKTtcbiAgICAgIH1cblxuICAgICAgQGluY2x1ZGUgZmVhdHVyZS10YXJnZXRpbmctbWl4aW5zLnRhcmdldHMoJGZlYXQtYW5pbWF0aW9uKSB7XG4gICAgICAgIHRyYW5zaXRpb246XG4gICAgICAgICAgZnVuY3Rpb25zLmVudGVyKG9wYWNpdHkpLFxuICAgICAgICAgIGZ1bmN0aW9ucy5lbnRlcih0cmFuc2Zvcm0pO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC8vIHBvc3Rjc3MtYmVtLWxpbnRlcjogZW5kXG59XG5cbi8vIFRoaXMgQVBJIGlzIGludGVuZGVkIGZvciB1c2UgYnkgZnJhbWV3b3JrcyB0aGF0IG1heSB3YW50IHRvIHNlcGFyYXRlIHRoZSByaXBwbGUtcmVsYXRlZCBzdHlsZXMgZnJvbSB0aGUgb3RoZXJcbi8vIHJhZGlvIHN0eWxlcy4gSXQgaXMgcmVjb21tZW5kZWQgdGhhdCBtb3N0IHVzZXJzIHVzZSBgbWRjLXJhZGlvLWNvcmUtc3R5bGVzYCBpbnN0ZWFkLlxuQG1peGluIHJpcHBsZSgkcXVlcnk6IGZlYXR1cmUtdGFyZ2V0aW5nLWZ1bmN0aW9ucy5hbGwoKSkge1xuICAkZmVhdC1zdHJ1Y3R1cmU6IGZlYXR1cmUtdGFyZ2V0aW5nLWZ1bmN0aW9ucy5jcmVhdGUtdGFyZ2V0KCRxdWVyeSwgc3RydWN0dXJlKTtcblxuICBAaW5jbHVkZSByaXBwbGUtbWl4aW5zLmNvbW1vbigkcXVlcnkpOyAvLyBDT1BZQkFSQV9DT01NRU5UX1RISVNfTElORVxuXG4gIC5tZGMtcmFkaW8ge1xuICAgIEBpbmNsdWRlIHJpcHBsZS1taXhpbnMuc3VyZmFjZSgkcXVlcnk6ICRxdWVyeSwgJHJpcHBsZS10YXJnZXQ6ICRyaXBwbGUtdGFyZ2V0KTtcbiAgICBAaW5jbHVkZSByaXBwbGUtbWl4aW5zLnJhZGl1cy11bmJvdW5kZWQoJHF1ZXJ5OiAkcXVlcnksICRyaXBwbGUtdGFyZ2V0OiAkcmlwcGxlLXRhcmdldCk7XG4gICAgQGluY2x1ZGUgcmlwcGxlLW1peGlucy5zdGF0ZXMoXG4gICAgICAkY29sb3I6IHZhcmlhYmxlcy4kYmFzZWxpbmUtdGhlbWUtY29sb3IsICRxdWVyeTogJHF1ZXJ5LCAkcmlwcGxlLXRhcmdldDogJHJpcHBsZS10YXJnZXQpO1xuXG4gICAgJi5tZGMtcmlwcGxlLXVwZ3JhZGVkLS1iYWNrZ3JvdW5kLWZvY3VzZWQge1xuICAgICAgLm1kYy1yYWRpb19fYmFja2dyb3VuZDo6YmVmb3JlIHtcbiAgICAgICAgQGluY2x1ZGUgZmVhdHVyZS10YXJnZXRpbmctbWl4aW5zLnRhcmdldHMoJGZlYXQtc3RydWN0dXJlKSB7XG4gICAgICAgICAgY29udGVudDogbm9uZTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gICN7JHJpcHBsZS10YXJnZXR9IHtcbiAgICBAaW5jbHVkZSByaXBwbGUtbWl4aW5zLnRhcmdldC1jb21tb24oJHF1ZXJ5OiAkcXVlcnkpO1xuICB9XG59XG5cbi8vL1xuLy8vIFNldHMgdGhlIHN0cm9rZSBjb2xvciBvZiBhbiB1bmNoZWNrZWQsIGVuYWJsZWQgcmFkaW8gYnV0dG9uLlxuLy8vIEBwYXJhbSB7Q29sb3J9ICRjb2xvciAtIFRoZSBkZXNpcmVkIHN0cm9rZSBjb2xvci5cbi8vL1xuQG1peGluIHVuY2hlY2tlZC1zdHJva2UtY29sb3IoJGNvbG9yLCAkcXVlcnk6IGZlYXR1cmUtdGFyZ2V0aW5nLWZ1bmN0aW9ucy5hbGwoKSkge1xuICBAaW5jbHVkZSBpZi1lbmFibGVkLXVuY2hlY2tlZF8ge1xuICAgIEBpbmNsdWRlIHN0cm9rZS1jb2xvcl8oJGNvbG9yLCAkcXVlcnk6ICRxdWVyeSk7XG4gIH1cbn1cblxuLy8vXG4vLy8gU2V0cyB0aGUgc3Ryb2tlIGNvbG9yIG9mIGEgY2hlY2tlZCwgZW5hYmxlZCByYWRpbyBidXR0b24uXG4vLy8gQHBhcmFtIHtDb2xvcn0gJGNvbG9yIC0gVGhlIGRlc2lyZWQgc3Ryb2tlIGNvbG9yLlxuLy8vXG5AbWl4aW4gY2hlY2tlZC1zdHJva2UtY29sb3IoJGNvbG9yLCAkcXVlcnk6IGZlYXR1cmUtdGFyZ2V0aW5nLWZ1bmN0aW9ucy5hbGwoKSkge1xuICBAaW5jbHVkZSBpZi1lbmFibGVkLWNoZWNrZWRfIHtcbiAgICBAaW5jbHVkZSBzdHJva2UtY29sb3JfKCRjb2xvciwgJHF1ZXJ5OiRxdWVyeSk7XG4gIH1cbn1cblxuLy8vXG4vLy8gU2V0cyB0aGUgaW5rIGNvbG9yIG9mIGFuIGVuYWJsZWQgcmFkaW8gYnV0dG9uLlxuLy8vIEBwYXJhbSB7Q29sb3J9ICRjb2xvciAtIFRoZSBkZXNpcmVkIGluayBjb2xvci5cbi8vL1xuQG1peGluIGluay1jb2xvcigkY29sb3IsICRxdWVyeTogZmVhdHVyZS10YXJnZXRpbmctZnVuY3Rpb25zLmFsbCgpKSB7XG4gIEBpbmNsdWRlIGlmLWVuYWJsZWRfIHtcbiAgICBAaW5jbHVkZSBpbmstY29sb3JfKCRjb2xvciwgJHF1ZXJ5OiAkcXVlcnkpO1xuICB9XG59XG5cbi8vL1xuLy8vIFNldHMgdGhlIHN0cm9rZSBjb2xvciBvZiBhbiB1bmNoZWNrZWQsIGRpc2FibGVkIHJhZGlvIGJ1dHRvbi5cbi8vLyBAcGFyYW0ge0NvbG9yfSAkY29sb3IgLSBUaGUgZGVzaXJlZCBzdHJva2UgY29sb3IuXG4vLy9cbkBtaXhpbiBkaXNhYmxlZC11bmNoZWNrZWQtc3Ryb2tlLWNvbG9yKCRjb2xvciwgJHF1ZXJ5OiBmZWF0dXJlLXRhcmdldGluZy1mdW5jdGlvbnMuYWxsKCkpIHtcbiAgQGluY2x1ZGUgaWYtZGlzYWJsZWQtdW5jaGVja2VkXyB7XG4gICAgQGluY2x1ZGUgc3Ryb2tlLWNvbG9yXygkY29sb3IsICRxdWVyeTogJHF1ZXJ5KTtcbiAgfVxufVxuXG4vLy9cbi8vLyBTZXRzIHRoZSBzdHJva2UgY29sb3Igb2YgYSBjaGVja2VkLCBkaXNhYmxlZCByYWRpbyBidXR0b24uXG4vLy8gQHBhcmFtIHtDb2xvcn0gJGNvbG9yIC0gVGhlIGRlc2lyZWQgc3Ryb2tlIGNvbG9yLlxuLy8vXG5AbWl4aW4gZGlzYWJsZWQtY2hlY2tlZC1zdHJva2UtY29sb3IoJGNvbG9yLCAkcXVlcnk6IGZlYXR1cmUtdGFyZ2V0aW5nLWZ1bmN0aW9ucy5hbGwoKSkge1xuICBAaW5jbHVkZSBpZi1kaXNhYmxlZC1jaGVja2VkXyB7XG4gICAgQGluY2x1ZGUgc3Ryb2tlLWNvbG9yXygkY29sb3IsICRxdWVyeTogJHF1ZXJ5KTtcbiAgfVxufVxuXG4vLy9cbi8vLyBTZXRzIHRoZSBpbmsgY29sb3Igb2YgYSBkaXNhYmxlZCByYWRpbyBidXR0b24uXG4vLy8gQHBhcmFtIHtDb2xvcn0gJGNvbG9yIC0gVGhlIGRlc2lyZWQgaW5rIGNvbG9yXG4vLy9cbkBtaXhpbiBkaXNhYmxlZC1pbmstY29sb3IoJGNvbG9yLCAkcXVlcnk6IGZlYXR1cmUtdGFyZ2V0aW5nLWZ1bmN0aW9ucy5hbGwoKSkge1xuICBAaW5jbHVkZSBpZi1kaXNhYmxlZF8ge1xuICAgIEBpbmNsdWRlIGluay1jb2xvcl8oJGNvbG9yLCAkcXVlcnk6ICRxdWVyeSk7XG4gIH1cbn1cblxuQG1peGluIGZvY3VzLWluZGljYXRvci1jb2xvcigkY29sb3IsICRxdWVyeTogZmVhdHVyZS10YXJnZXRpbmctZnVuY3Rpb25zLmFsbCgpKSB7XG4gICRmZWF0LWNvbG9yOiBmZWF0dXJlLXRhcmdldGluZy1mdW5jdGlvbnMuY3JlYXRlLXRhcmdldCgkcXVlcnksIGNvbG9yKTtcblxuICAubWRjLXJhZGlvX19iYWNrZ3JvdW5kOjpiZWZvcmUge1xuICAgIEBpbmNsdWRlIGZlYXR1cmUtdGFyZ2V0aW5nLW1peGlucy50YXJnZXRzKCRmZWF0LWNvbG9yKSB7XG4gICAgICBAaW5jbHVkZSB0aGVtZS1taXhpbnMucHJvcChiYWNrZ3JvdW5kLWNvbG9yLCAkY29sb3IpO1xuICAgIH1cbiAgfVxufVxuXG4vLy9cbi8vLyBTZXRzIHJhZGlvIHRvdWNoIHRhcmdldCBzaXplIHdoaWNoIGNhbiBiZSBtb3JlIHRoYW4gdGhlIHJpcHBsZSBzaXplLiBQYXJhbSBgJHJpcHBsZS1zaXplYCBpcyByZXF1aXJlZCBmb3IgY3VzdG9tXG4vLy8gcmlwcGxlIHNpemUuXG4vLy9cbi8vLyBAcGFyYW0ge051bWJlcn0gJHNpemUgU2l6ZSBvZiB0b3VjaCB0YXJnZXQgKE5hdGl2ZSBpbnB1dCkgaW4gYHB4YC5cbi8vLyBAcGFyYW0ge051bWJlcn0gJHJpcHBsZS1zaXplIFNpemUgb2YgcmlwcGxlIGluIGBweGAuIFJlcXVpcmVkIG9ubHkgZm9yIGN1c3RvbSByaXBwbGUgc2l6ZS5cbi8vL1xuQG1peGluIHRvdWNoLXRhcmdldChcbiAgJHNpemU6IHZhcmlhYmxlcy4kcmlwcGxlLXNpemUsXG4gICRyaXBwbGUtc2l6ZTogdmFyaWFibGVzLiRyaXBwbGUtc2l6ZSxcbiAgJHF1ZXJ5OiBmZWF0dXJlLXRhcmdldGluZy1mdW5jdGlvbnMuYWxsKCkpIHtcbiAgJGZlYXQtc3RydWN0dXJlOiBmZWF0dXJlLXRhcmdldGluZy1mdW5jdGlvbnMuY3JlYXRlLXRhcmdldCgkcXVlcnksIHN0cnVjdHVyZSk7XG4gICRvZmZzZXQ6ICgkcmlwcGxlLXNpemUgLSAkc2l6ZSkgLyAyO1xuXG4gIC5tZGMtcmFkaW9fX25hdGl2ZS1jb250cm9sIHtcbiAgICBAaW5jbHVkZSBmZWF0dXJlLXRhcmdldGluZy1taXhpbnMudGFyZ2V0cygkZmVhdC1zdHJ1Y3R1cmUpIHtcbiAgICAgIHRvcDogJG9mZnNldDtcbiAgICAgIHJpZ2h0OiAkb2Zmc2V0O1xuICAgICAgbGVmdDogJG9mZnNldDtcbiAgICAgIHdpZHRoOiAkc2l6ZTtcbiAgICAgIGhlaWdodDogJHNpemU7XG4gICAgfVxuICB9XG59XG5cbi8vL1xuLy8vIFNldHMgZGVuc2l0eSBzY2FsZSBmb3IgcmFkaW8uXG4vLy9cbi8vLyBAcGFyYW0ge051bWJlciB8IFN0cmluZ30gJGRlbnNpdHktc2NhbGUgLSBEZW5zaXR5IHNjYWxlIHZhbHVlIGZvciBjb21wb25lbnQuIFN1cHBvcnRlZCBkZW5zaXR5IHNjYWxlIHZhbHVlc1xuLy8vICAgICBgLTNgLCBgLTJgLCBgLTFgLCBgMGAuXG4vLy9cbkBtaXhpbiBkZW5zaXR5KCRkZW5zaXR5LXNjYWxlLCAkcXVlcnk6IGZlYXR1cmUtdGFyZ2V0aW5nLWZ1bmN0aW9ucy5hbGwoKSkge1xuICAkc2l6ZTogZGVuc2l0eS1mdW5jdGlvbnMucHJvcC12YWx1ZShcbiAgICAkZGVuc2l0eS1jb25maWc6IHZhcmlhYmxlcy4kZGVuc2l0eS1jb25maWcsXG4gICAgJGRlbnNpdHktc2NhbGU6ICRkZW5zaXR5LXNjYWxlLFxuICAgICRwcm9wZXJ0eS1uYW1lOiBzaXplLFxuICApO1xuXG4gIEBpbmNsdWRlIHJpcHBsZS1zaXplKCRzaXplLCAkcXVlcnk6ICRxdWVyeSk7XG4gIC8vIFNldHMgdG91Y2ggdGFyZ2V0IHNpemUgc2FtZSBhcyByaXBwbGUgc2l6ZS5cbiAgQGluY2x1ZGUgdG91Y2gtdGFyZ2V0KCRzaXplOiAkc2l6ZSwgJHJpcHBsZS1zaXplOiAkc2l6ZSwgJHF1ZXJ5OiAkcXVlcnkpO1xuXG4gIEBpZiAkZGVuc2l0eS1zY2FsZSAhPSAwIHtcbiAgICBAaW5jbHVkZSB0b3VjaC10YXJnZXQtcmVzZXRfKCRxdWVyeTogJHF1ZXJ5KTtcbiAgfVxufVxuXG4vLy9cbi8vLyBTZXRzIHJhZGlvIHJpcHBsZSBzaXplLlxuLy8vXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRzaXplIC0gUmlwcGxlIHNpemUgaW4gYHB4YC5cbi8vL1xuQG1peGluIHJpcHBsZS1zaXplKCRzaXplLCAkcXVlcnk6IGZlYXR1cmUtdGFyZ2V0aW5nLWZ1bmN0aW9ucy5hbGwoKSkge1xuICAkZmVhdC1zdHJ1Y3R1cmU6IGZlYXR1cmUtdGFyZ2V0aW5nLWZ1bmN0aW9ucy5jcmVhdGUtdGFyZ2V0KCRxdWVyeSwgc3RydWN0dXJlKTtcbiAgJHBhZGRpbmc6ICgkc2l6ZSAtIHZhcmlhYmxlcy4kaWNvbi1zaXplKSAvIDI7XG5cbiAgQGluY2x1ZGUgZmVhdHVyZS10YXJnZXRpbmctbWl4aW5zLnRhcmdldHMoJGZlYXQtc3RydWN0dXJlKSB7XG4gICAgcGFkZGluZzogJHBhZGRpbmc7XG4gIH1cblxuICAubWRjLXJhZGlvX19iYWNrZ3JvdW5kOjpiZWZvcmUge1xuICAgIEBpbmNsdWRlIGZlYXR1cmUtdGFyZ2V0aW5nLW1peGlucy50YXJnZXRzKCRmZWF0LXN0cnVjdHVyZSkge1xuICAgICAgdG9wOiAtJHBhZGRpbmc7XG4gICAgICBsZWZ0OiAtJHBhZGRpbmc7XG4gICAgICB3aWR0aDogJHNpemU7XG4gICAgICBoZWlnaHQ6ICRzaXplO1xuICAgIH1cbiAgfVxufVxuXG4vLy9cbi8vLyBSZXNldHMgdG91Y2ggdGFyZ2V0LXJlbGF0ZWQgc3R5bGVzLiBUaGlzIGlzIGNhbGxlZCBmcm9tIHRoZSBkZW5zaXR5IG1peGluIHRvXG4vLy8gYXV0b21hdGljYWxseSByZW1vdmUgdGhlIGluY3JlYXNlZCB0b3VjaCB0YXJnZXQsIHNpbmNlIGRlbnNlIGNvbXBvbmVudHNcbi8vLyBkb24ndCBoYXZlIHRoZSBzYW1lIGRlZmF1bHQgYTExeSByZXF1aXJlbWVudHMuXG4vLy8gQGFjY2VzcyBwcml2YXRlXG4vLy9cbkBtaXhpbiB0b3VjaC10YXJnZXQtcmVzZXRfKCRxdWVyeTogZmVhdHVyZS10YXJnZXRpbmctZnVuY3Rpb25zLmFsbCgpKSB7XG4gICRmZWF0LXN0cnVjdHVyZTogZmVhdHVyZS10YXJnZXRpbmctZnVuY3Rpb25zLmNyZWF0ZS10YXJnZXQoJHF1ZXJ5LCBzdHJ1Y3R1cmUpO1xuXG4gIEBpbmNsdWRlIGZlYXR1cmUtdGFyZ2V0aW5nLW1peGlucy50YXJnZXRzKCRmZWF0LXN0cnVjdHVyZSkge1xuICAgIG1hcmdpbjogMDtcbiAgfVxufVxuXG4vLy9cbi8vLyBIZWxwcyBzZWxlY3QgdGhlIHJhZGlvIGJhY2tncm91bmQgb25seSB3aGVuIGl0cyBuYXRpdmUgY29udHJvbCBpcyBpbiB0aGVcbi8vLyBlbmFibGVkIHN0YXRlLlxuLy8vIEBhY2Nlc3MgcHJpdmF0ZVxuLy8vXG5AbWl4aW4gaWYtZW5hYmxlZF8ge1xuICAubWRjLXJhZGlvX19uYXRpdmUtY29udHJvbDplbmFibGVkICsge1xuICAgIEBjb250ZW50O1xuICB9XG59XG5cbi8vL1xuLy8vIEhlbHBzIHNlbGVjdCB0aGUgcmFkaW8gYmFja2dyb3VuZCBvbmx5IHdoZW4gaXRzIG5hdGl2ZSBjb250cm9sIGlzIGluIHRoZVxuLy8vIGVuYWJsZWQgJiB1bmNoZWNrZWQgc3RhdGUuXG4vLy8gQGFjY2VzcyBwcml2YXRlXG4vLy9cbkBtaXhpbiBpZi1lbmFibGVkLXVuY2hlY2tlZF8ge1xuICAubWRjLXJhZGlvX19uYXRpdmUtY29udHJvbDplbmFibGVkOm5vdCg6Y2hlY2tlZCkgKyB7XG4gICAgQGNvbnRlbnQ7XG4gIH1cbn1cblxuLy8vXG4vLy8gSGVscHMgc2VsZWN0IHRoZSByYWRpbyBiYWNrZ3JvdW5kIG9ubHkgd2hlbiBpdHMgbmF0aXZlIGNvbnRyb2wgaXMgaW4gdGhlXG4vLy8gZW5hYmxlZCAmIGNoZWNrZWQgc3RhdGUuXG4vLy8gQGFjY2VzcyBwcml2YXRlXG4vLy9cbkBtaXhpbiBpZi1lbmFibGVkLWNoZWNrZWRfIHtcbiAgLm1kYy1yYWRpb19fbmF0aXZlLWNvbnRyb2w6ZW5hYmxlZDpjaGVja2VkICsge1xuICAgIEBjb250ZW50O1xuICB9XG59XG5cbi8vL1xuLy8vIEhlbHBzIHNlbGVjdCB0aGUgcmFkaW8gYmFja2dyb3VuZCBvbmx5IHdoZW4gaXRzIG5hdGl2ZSBjb250cm9sIGlzIGluIHRoZVxuLy8vIGRpc2FibGVkIHN0YXRlLlxuLy8vIEBhY2Nlc3MgcHJpdmF0ZVxuLy8vXG5AbWl4aW4gaWYtZGlzYWJsZWRfIHtcbiAgW2FyaWEtZGlzYWJsZWQ9XCJ0cnVlXCJdIC5tZGMtcmFkaW9fX25hdGl2ZS1jb250cm9sLFxuICAubWRjLXJhZGlvX19uYXRpdmUtY29udHJvbDpkaXNhYmxlZCB7XG4gICAgKyB7XG4gICAgICBAY29udGVudDtcbiAgICB9XG4gIH1cbn1cblxuLy8vXG4vLy8gSGVscHMgc2VsZWN0IHRoZSByYWRpbyBiYWNrZ3JvdW5kIG9ubHkgd2hlbiBpdHMgbmF0aXZlIGNvbnRyb2wgaXMgaW4gdGhlXG4vLy8gZGlzYWJsZWQgJiB1bmNoZWNrZWQgc3RhdGUuXG4vLy8gQGFjY2VzcyBwcml2YXRlXG4vLy9cbkBtaXhpbiBpZi1kaXNhYmxlZC11bmNoZWNrZWRfIHtcbiAgW2FyaWEtZGlzYWJsZWQ9XCJ0cnVlXCJdIC5tZGMtcmFkaW9fX25hdGl2ZS1jb250cm9sLFxuICAubWRjLXJhZGlvX19uYXRpdmUtY29udHJvbDpkaXNhYmxlZCB7XG4gICAgJjpub3QoOmNoZWNrZWQpICsge1xuICAgICAgQGNvbnRlbnQ7XG4gICAgfVxuICB9XG59XG5cbi8vL1xuLy8vIEhlbHBzIHNlbGVjdCB0aGUgcmFkaW8gYmFja2dyb3VuZCBvbmx5IHdoZW4gaXRzIG5hdGl2ZSBjb250cm9sIGlzIGluIHRoZVxuLy8vIGRpc2FibGVkICYgY2hlY2tlZCBzdGF0ZS5cbi8vLyBAYWNjZXNzIHByaXZhdGVcbi8vL1xuQG1peGluIGlmLWRpc2FibGVkLWNoZWNrZWRfIHtcbiAgW2FyaWEtZGlzYWJsZWQ9XCJ0cnVlXCJdIC5tZGMtcmFkaW9fX25hdGl2ZS1jb250cm9sLFxuICAubWRjLXJhZGlvX19uYXRpdmUtY29udHJvbDpkaXNhYmxlZCB7XG4gICAgJjpjaGVja2VkICsge1xuICAgICAgQGNvbnRlbnQ7XG4gICAgfVxuICB9XG59XG5cbi8vL1xuLy8vIFNldHMgdGhlIGluayBjb2xvciBmb3IgcmFkaW8uIFRoaXMgaXMgd3JhcHBlZCBpbiBhIG1peGluXG4vLy8gdGhhdCBxdWFsaWZpZXMgc3RhdGUgc3VjaCBhcyBgbWRjLXJhZGlvLWlmLWVuYWJsZWRfYFxuLy8vIEBhY2Nlc3MgcHJpdmF0ZVxuLy8vXG5AbWl4aW4gaW5rLWNvbG9yXygkY29sb3IsICRxdWVyeTogZmVhdHVyZS10YXJnZXRpbmctZnVuY3Rpb25zLmFsbCgpKSB7XG4gICRmZWF0LWNvbG9yOiBmZWF0dXJlLXRhcmdldGluZy1mdW5jdGlvbnMuY3JlYXRlLXRhcmdldCgkcXVlcnksIGNvbG9yKTtcblxuICAubWRjLXJhZGlvX19iYWNrZ3JvdW5kIC5tZGMtcmFkaW9fX2lubmVyLWNpcmNsZSB7XG4gICAgQGluY2x1ZGUgZmVhdHVyZS10YXJnZXRpbmctbWl4aW5zLnRhcmdldHMoJGZlYXQtY29sb3IpIHtcbiAgICAgIEBpbmNsdWRlIHRoZW1lLW1peGlucy5wcm9wKGJvcmRlci1jb2xvciwgJGNvbG9yKTtcbiAgICB9XG4gIH1cbn1cblxuLy8vXG4vLy8gU2V0cyB0aGUgc3Ryb2tlIGNvbG9yIGZvciByYWRpby4gVGhpcyBpcyB3cmFwcGVkIGluIGEgbWl4aW5cbi8vLyB0aGF0IHF1YWxpZmllcyBzdGF0ZSBzdWNoIGFzIGBtZGMtcmFkaW8taWYtZW5hYmxlZF9gXG4vLy8gQGFjY2VzcyBwcml2YXRlXG4vLy9cbkBtaXhpbiBzdHJva2UtY29sb3JfKCRjb2xvciwgJHF1ZXJ5OiBmZWF0dXJlLXRhcmdldGluZy1mdW5jdGlvbnMuYWxsKCkpIHtcbiAgJGZlYXQtY29sb3I6IGZlYXR1cmUtdGFyZ2V0aW5nLWZ1bmN0aW9ucy5jcmVhdGUtdGFyZ2V0KCRxdWVyeSwgY29sb3IpO1xuXG4gIC5tZGMtcmFkaW9fX2JhY2tncm91bmQgLm1kYy1yYWRpb19fb3V0ZXItY2lyY2xlIHtcbiAgICBAaW5jbHVkZSBmZWF0dXJlLXRhcmdldGluZy1taXhpbnMudGFyZ2V0cygkZmVhdC1jb2xvcikge1xuICAgICAgQGluY2x1ZGUgdGhlbWUtbWl4aW5zLnByb3AoYm9yZGVyLWNvbG9yLCAkY29sb3IpO1xuICAgIH1cbiAgfVxufVxuIiwiLy9cbi8vIENvcHlyaWdodCAyMDE4IEdvb2dsZSBJbmMuXG4vL1xuLy8gUGVybWlzc2lvbiBpcyBoZXJlYnkgZ3JhbnRlZCwgZnJlZSBvZiBjaGFyZ2UsIHRvIGFueSBwZXJzb24gb2J0YWluaW5nIGEgY29weVxuLy8gb2YgdGhpcyBzb2Z0d2FyZSBhbmQgYXNzb2NpYXRlZCBkb2N1bWVudGF0aW9uIGZpbGVzICh0aGUgXCJTb2Z0d2FyZVwiKSwgdG8gZGVhbFxuLy8gaW4gdGhlIFNvZnR3YXJlIHdpdGhvdXQgcmVzdHJpY3Rpb24sIGluY2x1ZGluZyB3aXRob3V0IGxpbWl0YXRpb24gdGhlIHJpZ2h0c1xuLy8gdG8gdXNlLCBjb3B5LCBtb2RpZnksIG1lcmdlLCBwdWJsaXNoLCBkaXN0cmlidXRlLCBzdWJsaWNlbnNlLCBhbmQvb3Igc2VsbFxuLy8gY29waWVzIG9mIHRoZSBTb2Z0d2FyZSwgYW5kIHRvIHBlcm1pdCBwZXJzb25zIHRvIHdob20gdGhlIFNvZnR3YXJlIGlzXG4vLyBmdXJuaXNoZWQgdG8gZG8gc28sIHN1YmplY3QgdG8gdGhlIGZvbGxvd2luZyBjb25kaXRpb25zOlxuLy9cbi8vIFRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlIGFuZCB0aGlzIHBlcm1pc3Npb24gbm90aWNlIHNoYWxsIGJlIGluY2x1ZGVkIGluXG4vLyBhbGwgY29waWVzIG9yIHN1YnN0YW50aWFsIHBvcnRpb25zIG9mIHRoZSBTb2Z0d2FyZS5cbi8vXG4vLyBUSEUgU09GVFdBUkUgSVMgUFJPVklERUQgXCJBUyBJU1wiLCBXSVRIT1VUIFdBUlJBTlRZIE9GIEFOWSBLSU5ELCBFWFBSRVNTIE9SXG4vLyBJTVBMSUVELCBJTkNMVURJTkcgQlVUIE5PVCBMSU1JVEVEIFRPIFRIRSBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSxcbi8vIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFORCBOT05JTkZSSU5HRU1FTlQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRVxuLy8gQVVUSE9SUyBPUiBDT1BZUklHSFQgSE9MREVSUyBCRSBMSUFCTEUgRk9SIEFOWSBDTEFJTSwgREFNQUdFUyBPUiBPVEhFUlxuLy8gTElBQklMSVRZLCBXSEVUSEVSIElOIEFOIEFDVElPTiBPRiBDT05UUkFDVCwgVE9SVCBPUiBPVEhFUldJU0UsIEFSSVNJTkcgRlJPTSxcbi8vIE9VVCBPRiBPUiBJTiBDT05ORUNUSU9OIFdJVEggVEhFIFNPRlRXQVJFIE9SIFRIRSBVU0UgT1IgT1RIRVIgREVBTElOR1MgSU5cbi8vIFRIRSBTT0ZUV0FSRS5cbi8vXG5cbkB1c2UgXCJzYXNzOmxpc3RcIjtcbkB1c2UgXCJAbWF0ZXJpYWwvdGhlbWUvbWl4aW5zXCIgYXMgdGhlbWUtbWl4aW5zO1xuQHVzZSBcIkBtYXRlcmlhbC9zaGFwZS9taXhpbnNcIiBhcyBzaGFwZS1taXhpbnM7XG5AdXNlIFwiQG1hdGVyaWFsL2Zsb2F0aW5nLWxhYmVsL21peGluc1wiIGFzIGZsb2F0aW5nLWxhYmVsLW1peGlucztcbkB1c2UgXCJAbWF0ZXJpYWwvc2hhcGUvZnVuY3Rpb25zXCIgYXMgc2hhcGUtZnVuY3Rpb25zO1xuQHVzZSBcIkBtYXRlcmlhbC9mZWF0dXJlLXRhcmdldGluZy9mdW5jdGlvbnNcIiBhcyBmZWF0dXJlLXRhcmdldGluZy1mdW5jdGlvbnM7XG5AdXNlIFwiQG1hdGVyaWFsL2ZlYXR1cmUtdGFyZ2V0aW5nL21peGluc1wiIGFzIGZlYXR1cmUtdGFyZ2V0aW5nLW1peGlucztcbkB1c2UgXCJAbWF0ZXJpYWwvcnRsL21peGluc1wiIGFzIHJ0bC1taXhpbnM7XG5AdXNlIFwiLi92YXJpYWJsZXNcIjtcblxuQG1peGluIGNvcmUtc3R5bGVzKCRxdWVyeTogZmVhdHVyZS10YXJnZXRpbmctZnVuY3Rpb25zLmFsbCgpKSB7XG4gICRmZWF0LXN0cnVjdHVyZTogZmVhdHVyZS10YXJnZXRpbmctZnVuY3Rpb25zLmNyZWF0ZS10YXJnZXQoJHF1ZXJ5LCBzdHJ1Y3R1cmUpO1xuXG4gIC5tZGMtbm90Y2hlZC1vdXRsaW5lIHtcbiAgICBAaW5jbHVkZSBiYXNlXygkcXVlcnkpO1xuXG4gICAgJl9fbGVhZGluZyxcbiAgICAmX19ub3RjaCxcbiAgICAmX190cmFpbGluZyB7XG4gICAgICBAaW5jbHVkZSBmZWF0dXJlLXRhcmdldGluZy1taXhpbnMudGFyZ2V0cygkZmVhdC1zdHJ1Y3R1cmUpIHtcbiAgICAgICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICBib3JkZXItdG9wOiB2YXJpYWJsZXMuJGJvcmRlci13aWR0aCBzb2xpZDtcbiAgICAgICAgYm9yZGVyLWJvdHRvbTogdmFyaWFibGVzLiRib3JkZXItd2lkdGggc29saWQ7XG4gICAgICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICAgICAgfVxuICAgIH1cblxuICAgICZfX2xlYWRpbmcge1xuICAgICAgQGluY2x1ZGUgZmVhdHVyZS10YXJnZXRpbmctbWl4aW5zLnRhcmdldHMoJGZlYXQtc3RydWN0dXJlKSB7XG4gICAgICAgIEBpbmNsdWRlIHJ0bC1taXhpbnMucmVmbGV4aXZlLXByb3BlcnR5KGJvcmRlciwgdmFyaWFibGVzLiRib3JkZXItd2lkdGggc29saWQsIG5vbmUpO1xuXG4gICAgICAgIHdpZHRoOiB2YXJpYWJsZXMuJGxlYWRpbmctd2lkdGg7XG4gICAgICB9XG4gICAgfVxuXG4gICAgJl9fdHJhaWxpbmcge1xuICAgICAgQGluY2x1ZGUgZmVhdHVyZS10YXJnZXRpbmctbWl4aW5zLnRhcmdldHMoJGZlYXQtc3RydWN0dXJlKSB7XG4gICAgICAgIEBpbmNsdWRlIHJ0bC1taXhpbnMucmVmbGV4aXZlLXByb3BlcnR5KGJvcmRlciwgbm9uZSwgdmFyaWFibGVzLiRib3JkZXItd2lkdGggc29saWQpO1xuXG4gICAgICAgIGZsZXgtZ3JvdzogMTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAmX19ub3RjaCB7XG4gICAgICBAaW5jbHVkZSBmZWF0dXJlLXRhcmdldGluZy1taXhpbnMudGFyZ2V0cygkZmVhdC1zdHJ1Y3R1cmUpIHtcbiAgICAgICAgZmxleDogMCAwIGF1dG87XG4gICAgICAgIHdpZHRoOiBhdXRvO1xuICAgICAgICBtYXgtd2lkdGg6IGNhbGMoMTAwJSAtICN7dmFyaWFibGVzLiRsZWFkaW5nLXdpZHRofSAqIDIpO1xuICAgICAgfVxuICAgIH1cblxuICAgIC5tZGMtZmxvYXRpbmctbGFiZWwge1xuICAgICAgQGluY2x1ZGUgZmVhdHVyZS10YXJnZXRpbmctbWl4aW5zLnRhcmdldHMoJGZlYXQtc3RydWN0dXJlKSB7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLm1kYy1mbG9hdGluZy1sYWJlbC0tZmxvYXQtYWJvdmUge1xuICAgICAgQGluY2x1ZGUgZmVhdHVyZS10YXJnZXRpbmctbWl4aW5zLnRhcmdldHMoJGZlYXQtc3RydWN0dXJlKSB7XG4gICAgICAgIHRleHQtb3ZlcmZsb3c6IGNsaXA7XG4gICAgICB9XG4gICAgfVxuXG4gICAgJi0tdXBncmFkZWQgLm1kYy1mbG9hdGluZy1sYWJlbC0tZmxvYXQtYWJvdmUge1xuICAgICAgQGluY2x1ZGUgZmVhdHVyZS10YXJnZXRpbmctbWl4aW5zLnRhcmdldHMoJGZlYXQtc3RydWN0dXJlKSB7XG4gICAgICAgIG1heC13aWR0aDogY2FsYygxMDAlIC8gLjc1KTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAubWRjLW5vdGNoZWQtb3V0bGluZS0tbm90Y2hlZCB7XG4gICAgLm1kYy1ub3RjaGVkLW91dGxpbmVfX25vdGNoIHtcbiAgICAgIEBpbmNsdWRlIGZlYXR1cmUtdGFyZ2V0aW5nLW1peGlucy50YXJnZXRzKCRmZWF0LXN0cnVjdHVyZSkge1xuICAgICAgICBAaW5jbHVkZSBydGwtbWl4aW5zLnJlZmxleGl2ZS1ib3gocGFkZGluZywgcmlnaHQsIDhweCk7XG5cbiAgICAgICAgYm9yZGVyLXRvcDogbm9uZTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAubWRjLW5vdGNoZWQtb3V0bGluZS0tbm8tbGFiZWwge1xuICAgIC5tZGMtbm90Y2hlZC1vdXRsaW5lX19ub3RjaCB7XG4gICAgICBAaW5jbHVkZSBmZWF0dXJlLXRhcmdldGluZy1taXhpbnMudGFyZ2V0cygkZmVhdC1zdHJ1Y3R1cmUpIHtcbiAgICAgICAgcGFkZGluZzogMDtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuQG1peGluIGNvbG9yKCRjb2xvciwgJHF1ZXJ5OiBmZWF0dXJlLXRhcmdldGluZy1mdW5jdGlvbnMuYWxsKCkpIHtcbiAgJGZlYXQtY29sb3I6IGZlYXR1cmUtdGFyZ2V0aW5nLWZ1bmN0aW9ucy5jcmVhdGUtdGFyZ2V0KCRxdWVyeSwgY29sb3IpO1xuXG4gIC5tZGMtbm90Y2hlZC1vdXRsaW5lX19sZWFkaW5nLFxuICAubWRjLW5vdGNoZWQtb3V0bGluZV9fbm90Y2gsXG4gIC5tZGMtbm90Y2hlZC1vdXRsaW5lX190cmFpbGluZyB7XG4gICAgQGluY2x1ZGUgZmVhdHVyZS10YXJnZXRpbmctbWl4aW5zLnRhcmdldHMoJGZlYXQtY29sb3IpIHtcbiAgICAgIEBpbmNsdWRlIHRoZW1lLW1peGlucy5wcm9wKGJvcmRlci1jb2xvciwgJGNvbG9yKTtcbiAgICB9XG4gIH1cbn1cblxuQG1peGluIHN0cm9rZS13aWR0aCgkd2lkdGgsICRxdWVyeTogZmVhdHVyZS10YXJnZXRpbmctZnVuY3Rpb25zLmFsbCgpKSB7XG4gICRmZWF0LXN0cnVjdHVyZTogZmVhdHVyZS10YXJnZXRpbmctZnVuY3Rpb25zLmNyZWF0ZS10YXJnZXQoJHF1ZXJ5LCBzdHJ1Y3R1cmUpO1xuXG4gIC5tZGMtbm90Y2hlZC1vdXRsaW5lX19sZWFkaW5nLFxuICAubWRjLW5vdGNoZWQtb3V0bGluZV9fbm90Y2gsXG4gIC5tZGMtbm90Y2hlZC1vdXRsaW5lX190cmFpbGluZyB7XG4gICAgQGluY2x1ZGUgZmVhdHVyZS10YXJnZXRpbmctbWl4aW5zLnRhcmdldHMoJGZlYXQtc3RydWN0dXJlKSB7XG4gICAgICBib3JkZXItd2lkdGg6ICR3aWR0aDtcbiAgICB9XG4gIH1cbn1cblxuLy8vXG4vLy8gQWRkcyB0b3Agb2Zmc2V0IHRvIGNvbXBlbnNhdGUgZm9yIGJvcmRlciB3aWR0aCBib3ggc2l6ZSB3aGVuIGl0IGlzIG5vdGNoZWQuXG4vLy8gVXNlIHRoaXMgd2hlbiBmbG9hdGluZyBsYWJlbCBpcyBhbGlnbmVkIHRvIGNlbnRlciB0byBwcmV2ZW50IGxhYmVsIGp1bXAgb24gZm9jdXMuXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRzdHJva2Utd2lkdGggU3Ryb2tlIHdpZHRoIG9mIG5vdGNoZWQgb3V0bGluZSB0aGF0IG5lZWRzIHRvIGJlIG9mZnNldC5cbi8vL1xuQG1peGluIG5vdGNoLW9mZnNldCgkc3Ryb2tlLXdpZHRoLCAkcXVlcnk6IGZlYXR1cmUtdGFyZ2V0aW5nLWZ1bmN0aW9ucy5hbGwoKSkge1xuICAkZmVhdC1zdHJ1Y3R1cmU6IGZlYXR1cmUtdGFyZ2V0aW5nLWZ1bmN0aW9ucy5jcmVhdGUtdGFyZ2V0KCRxdWVyeSwgc3RydWN0dXJlKTtcblxuICAubWRjLW5vdGNoZWQtb3V0bGluZS0tbm90Y2hlZCAubWRjLW5vdGNoZWQtb3V0bGluZV9fbm90Y2gge1xuICAgIEBpbmNsdWRlIGZlYXR1cmUtdGFyZ2V0aW5nLW1peGlucy50YXJnZXRzKCRmZWF0LXN0cnVjdHVyZSkge1xuICAgICAgcGFkZGluZy10b3A6ICRzdHJva2Utd2lkdGg7XG4gICAgfVxuICB9XG59XG5cbkBtaXhpbiBzaGFwZS1yYWRpdXMoJHJhZGl1cywgJHJ0bC1yZWZsZXhpdmU6IGZhbHNlLCAkcXVlcnk6IGZlYXR1cmUtdGFyZ2V0aW5nLWZ1bmN0aW9ucy5hbGwoKSkge1xuICAkZmVhdC1zdHJ1Y3R1cmU6IGZlYXR1cmUtdGFyZ2V0aW5nLWZ1bmN0aW9ucy5jcmVhdGUtdGFyZ2V0KCRxdWVyeSwgc3RydWN0dXJlKTtcbiAgJHJhZGl1czogc2hhcGUtZnVuY3Rpb25zLnByb3AtdmFsdWUoJHJhZGl1cyk7XG5cbiAgQGlmIChsaXN0Lmxlbmd0aCgkcmFkaXVzKSA+IDEpIHtcbiAgICAvLyBzdHlsZWxpbnQtZGlzYWJsZS1uZXh0LWxpbmUgbWF4LWxpbmUtbGVuZ3RoXG4gICAgQHdhcm4gXCJtZGMtbm90Y2hlZC1vdXRsaW5lLXNoYXBlLXJhZGl1cyBvbmx5IHN1cHBvcnRzIGEgc2luZ2xlIHJhZGl1czsgc2VlIGh0dHBzOi8vZ2l0aHViLmNvbS9tYXRlcmlhbC1jb21wb25lbnRzL21hdGVyaWFsLWNvbXBvbmVudHMtd2ViL2lzc3Vlcy80MTQwXCI7XG4gIH1cblxuICAkcmFkaXVzOiBsaXN0Lm50aCgkcmFkaXVzLCAxKTtcblxuICAubWRjLW5vdGNoZWQtb3V0bGluZV9fbGVhZGluZyB7XG4gICAgQGluY2x1ZGUgc2hhcGUtbWl4aW5zLnJhZGl1cyhzaGFwZS1mdW5jdGlvbnMubWFzay1yYWRpdXMoJHJhZGl1cywgMSAwIDAgMSksICRydGwtcmVmbGV4aXZlOiB0cnVlLCAkcXVlcnk6ICRxdWVyeSk7XG5cbiAgICBAaW5jbHVkZSBmZWF0dXJlLXRhcmdldGluZy1taXhpbnMudGFyZ2V0cygkZmVhdC1zdHJ1Y3R1cmUpIHtcbiAgICAgIEBpZiAoJHJhZGl1cyA+IHZhcmlhYmxlcy4kbGVhZGluZy13aWR0aCkge1xuICAgICAgICB3aWR0aDogJHJhZGl1cztcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBAaWYgKCRyYWRpdXMgPiB2YXJpYWJsZXMuJGxlYWRpbmctd2lkdGgpIHtcbiAgICAubWRjLW5vdGNoZWQtb3V0bGluZV9fbm90Y2gge1xuICAgICAgQGluY2x1ZGUgZmVhdHVyZS10YXJnZXRpbmctbWl4aW5zLnRhcmdldHMoJGZlYXQtc3RydWN0dXJlKSB7XG4gICAgICAgIG1heC13aWR0aDogY2FsYygxMDAlIC0gI3skcmFkaXVzfSAqIDIpO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC5tZGMtbm90Y2hlZC1vdXRsaW5lX190cmFpbGluZyB7XG4gICAgQGluY2x1ZGUgc2hhcGUtbWl4aW5zLnJhZGl1cyhzaGFwZS1mdW5jdGlvbnMubWFzay1yYWRpdXMoJHJhZGl1cywgMCAxIDEgMCksICRydGwtcmVmbGV4aXZlOiB0cnVlLCAkcXVlcnk6ICRxdWVyeSk7XG4gIH1cbn1cblxuQG1peGluIGZsb2F0aW5nLWxhYmVsLWZsb2F0LXBvc2l0aW9uKFxuICAkcG9zaXRpb25ZLCAkcG9zaXRpb25YOiAwJSwgJHNjYWxlOiAuNzUsICRxdWVyeTogZmVhdHVyZS10YXJnZXRpbmctZnVuY3Rpb25zLmFsbCgpKSB7XG4gICRmZWF0LXN0cnVjdHVyZTogZmVhdHVyZS10YXJnZXRpbmctZnVuY3Rpb25zLmNyZWF0ZS10YXJnZXQoJHF1ZXJ5LCBzdHJ1Y3R1cmUpO1xuXG4gIEBpbmNsdWRlIGZsb2F0aW5nLWxhYmVsLW1peGlucy5mbG9hdC1wb3NpdGlvbihcbiAgICAkcG9zaXRpb25ZICsgdmFyaWFibGVzLiRsYWJlbC1hZGp1c3QsICRwb3NpdGlvblgsIDEsICRxdWVyeTogJHF1ZXJ5KTtcblxuICAubWRjLWZsb2F0aW5nLWxhYmVsLS1mbG9hdC1hYm92ZSB7XG4gICAgQGluY2x1ZGUgZmVhdHVyZS10YXJnZXRpbmctbWl4aW5zLnRhcmdldHMoJGZlYXQtc3RydWN0dXJlKSB7XG4gICAgICBmb250LXNpemU6ICgkc2NhbGUgKiAxcmVtKTtcbiAgICB9XG4gIH1cblxuICAvLyBUd28gc2VsZWN0b3JzIHRvIGVuc3VyZSB3ZSBzZWxlY3QgdGhlIGFwcHJvcHJpYXRlIGNsYXNzIHdoZW4gYXBwbGllZCBmcm9tIHRoaXMgY29tcG9uZW50IG9yIGEgcGFyZW50IGNvbXBvbmVudC5cbiAgJi5tZGMtbm90Y2hlZC1vdXRsaW5lLS11cGdyYWRlZCxcbiAgLm1kYy1ub3RjaGVkLW91dGxpbmUtLXVwZ3JhZGVkIHtcbiAgICBAaW5jbHVkZSBmbG9hdGluZy1sYWJlbC1taXhpbnMuZmxvYXQtcG9zaXRpb24oJHBvc2l0aW9uWSwgJHBvc2l0aW9uWCwgJHNjYWxlLCAkcXVlcnk6ICRxdWVyeSk7XG5cbiAgICAvLyBzdHlsZWxpbnQtZGlzYWJsZS1uZXh0LWxpbmUgbm8tZGVzY2VuZGluZy1zcGVjaWZpY2l0eVxuICAgIC5tZGMtZmxvYXRpbmctbGFiZWwtLWZsb2F0LWFib3ZlIHtcbiAgICAgIEBpbmNsdWRlIGZlYXR1cmUtdGFyZ2V0aW5nLW1peGlucy50YXJnZXRzKCRmZWF0LXN0cnVjdHVyZSkge1xuICAgICAgICBmb250LXNpemU6IDFyZW07XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbi8vL1xuLy8vIFNldHMgZmxvYXRpbmcgbGFiZWwgcG9zaXRpb24gaW4gbm90Y2hlZCBvdXRsaW5lIHdoZW4gbGFiZWwgaXMgYWZsb2F0LlxuLy8vXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRwb3NpdGlvblkgQWJzb2x1dGUgWS1heGlzIHBvc2l0aW9uIGluIGBweGAuXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRwb3NpdGlvblggQWJzb2x1dGUgWC1heGlzIHBvc2l0aW9uIGluIGBweGAuIERlZmF1bHRzIHRvIGAwYC5cbi8vLyBAcGFyYW0ge051bWJlcn0gJHNjYWxlIERlZmF1bHRzIHRvIGAuNzVgLlxuLy8vXG4vLy8gQHRvZG8gUmVwbGFjZSBtaXhpbiBgbWRjLW5vdGNoZWQtb3V0bGluZS1mbG9hdGluZy1sYWJlbC1mbG9hdC1wb3NpdGlvbmAgd2l0aCB0aGlzIG1peGluIHdoZW4gZmxvYXRpbmcgbGFiZWwgaXNcbi8vLyAgICAgY2VudGVyIGFsaWduZWQgaW4gYWxsIHRoZSBwbGFjZXMuXG4vLy9cbkBtaXhpbiBmbG9hdGluZy1sYWJlbC1mbG9hdC1wb3NpdGlvbi1hYnNvbHV0ZShcbiAgJHBvc2l0aW9uWSwgJHBvc2l0aW9uWDogMCwgJHNjYWxlOiAuNzUsICRxdWVyeTogZmVhdHVyZS10YXJnZXRpbmctZnVuY3Rpb25zLmFsbCgpKSB7XG4gICRmZWF0LXN0cnVjdHVyZTogZmVhdHVyZS10YXJnZXRpbmctZnVuY3Rpb25zLmNyZWF0ZS10YXJnZXQoJHF1ZXJ5LCBzdHJ1Y3R1cmUpO1xuXG4gIEBpbmNsdWRlIGZsb2F0aW5nLWxhYmVsLW1peGlucy5mbG9hdC1wb3NpdGlvbihcbiAgICAkcG9zaXRpb25ZICsgdmFyaWFibGVzLiRsYWJlbC1hZGp1c3QtYWJzb2x1dGUsICRwb3NpdGlvblgsIDEsICRxdWVyeTogJHF1ZXJ5KTtcblxuICAubWRjLWZsb2F0aW5nLWxhYmVsLS1mbG9hdC1hYm92ZSB7XG4gICAgQGluY2x1ZGUgZmVhdHVyZS10YXJnZXRpbmctbWl4aW5zLnRhcmdldHMoJGZlYXQtc3RydWN0dXJlKSB7XG4gICAgICBmb250LXNpemU6ICgkc2NhbGUgKiAxcmVtKTtcbiAgICB9XG4gIH1cblxuICAvLyBUd28gc2VsZWN0b3JzIHRvIGVuc3VyZSB3ZSBzZWxlY3QgdGhlIGFwcHJvcHJpYXRlIGNsYXNzIHdoZW4gYXBwbGllZCBmcm9tIHRoaXMgY29tcG9uZW50IG9yIGEgcGFyZW50IGNvbXBvbmVudC5cbiAgJi5tZGMtbm90Y2hlZC1vdXRsaW5lLS11cGdyYWRlZCxcbiAgLm1kYy1ub3RjaGVkLW91dGxpbmUtLXVwZ3JhZGVkIHtcbiAgICBAaW5jbHVkZSBmbG9hdGluZy1sYWJlbC1taXhpbnMuZmxvYXQtcG9zaXRpb24oXG4gICAgICAkcG9zaXRpb25ZLCAkcG9zaXRpb25YLCAkc2NhbGUsICRxdWVyeTogJHF1ZXJ5KTtcblxuICAgIC8vIHN0eWxlbGludC1kaXNhYmxlLW5leHQtbGluZSBuby1kZXNjZW5kaW5nLXNwZWNpZmljaXR5XG4gICAgLm1kYy1mbG9hdGluZy1sYWJlbC0tZmxvYXQtYWJvdmUge1xuICAgICAgQGluY2x1ZGUgZmVhdHVyZS10YXJnZXRpbmctbWl4aW5zLnRhcmdldHMoJGZlYXQtc3RydWN0dXJlKSB7XG4gICAgICAgIGZvbnQtc2l6ZTogMXJlbTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuLy8vXG4vLy8gU2V0cyB0aGUgbWF4LXdpZHRoIGZvciB0aGUgbm90Y2hcbi8vL1xuLy8vIEBwYXJhbSB7TnVtYmVyfSAkbWF4LXdpZHRoIE1heC13aWR0aCBmb3IgdGhlIG5vdGNoXG4vLy9cbkBtaXhpbiBub3RjaC1tYXgtd2lkdGgoJG1heC13aWR0aCwgJHF1ZXJ5OiBmZWF0dXJlLXRhcmdldGluZy1mdW5jdGlvbnMuYWxsKCkpIHtcbiAgJGZlYXQtc3RydWN0dXJlOiBmZWF0dXJlLXRhcmdldGluZy1mdW5jdGlvbnMuY3JlYXRlLXRhcmdldCgkcXVlcnksIHN0cnVjdHVyZSk7XG5cbiAgOm5vdCgubWRjLW5vdGNoZWQtb3V0bGluZS0tbm90Y2hlZCkgLm1kYy1ub3RjaGVkLW91dGxpbmVfX25vdGNoIHtcbiAgICBAaW5jbHVkZSBmZWF0dXJlLXRhcmdldGluZy1taXhpbnMudGFyZ2V0cygkZmVhdC1zdHJ1Y3R1cmUpIHtcbiAgICAgIG1heC13aWR0aDogJG1heC13aWR0aDtcbiAgICB9XG4gIH1cbn1cblxuLy9cbi8vIFByaXZhdGVcbi8vXG5AbWl4aW4gYmFzZV8oJHF1ZXJ5KSB7XG4gICRmZWF0LXN0cnVjdHVyZTogZmVhdHVyZS10YXJnZXRpbmctZnVuY3Rpb25zLmNyZWF0ZS10YXJnZXQoJHF1ZXJ5LCBzdHJ1Y3R1cmUpO1xuXG4gIEBpbmNsdWRlIGZlYXR1cmUtdGFyZ2V0aW5nLW1peGlucy50YXJnZXRzKCRmZWF0LXN0cnVjdHVyZSkge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMDtcbiAgICByaWdodDogMDtcbiAgICBsZWZ0OiAwO1xuICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogMTAwJTtcbiAgICAvKiBAbm9mbGlwICovXG4gICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcblxuICAgIEBpbmNsdWRlIHJ0bC1taXhpbnMucnRsIHtcbiAgICAgIC8qIEBub2ZsaXAgKi9cbiAgICAgIHRleHQtYWxpZ246IHJpZ2h0O1xuICAgIH1cbiAgfVxufVxuIiwiLy9cbi8vIENvcHlyaWdodCAyMDE4IEdvb2dsZSBJbmMuXG4vL1xuLy8gUGVybWlzc2lvbiBpcyBoZXJlYnkgZ3JhbnRlZCwgZnJlZSBvZiBjaGFyZ2UsIHRvIGFueSBwZXJzb24gb2J0YWluaW5nIGEgY29weVxuLy8gb2YgdGhpcyBzb2Z0d2FyZSBhbmQgYXNzb2NpYXRlZCBkb2N1bWVudGF0aW9uIGZpbGVzICh0aGUgXCJTb2Z0d2FyZVwiKSwgdG8gZGVhbFxuLy8gaW4gdGhlIFNvZnR3YXJlIHdpdGhvdXQgcmVzdHJpY3Rpb24sIGluY2x1ZGluZyB3aXRob3V0IGxpbWl0YXRpb24gdGhlIHJpZ2h0c1xuLy8gdG8gdXNlLCBjb3B5LCBtb2RpZnksIG1lcmdlLCBwdWJsaXNoLCBkaXN0cmlidXRlLCBzdWJsaWNlbnNlLCBhbmQvb3Igc2VsbFxuLy8gY29waWVzIG9mIHRoZSBTb2Z0d2FyZSwgYW5kIHRvIHBlcm1pdCBwZXJzb25zIHRvIHdob20gdGhlIFNvZnR3YXJlIGlzXG4vLyBmdXJuaXNoZWQgdG8gZG8gc28sIHN1YmplY3QgdG8gdGhlIGZvbGxvd2luZyBjb25kaXRpb25zOlxuLy9cbi8vIFRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlIGFuZCB0aGlzIHBlcm1pc3Npb24gbm90aWNlIHNoYWxsIGJlIGluY2x1ZGVkIGluXG4vLyBhbGwgY29waWVzIG9yIHN1YnN0YW50aWFsIHBvcnRpb25zIG9mIHRoZSBTb2Z0d2FyZS5cbi8vXG4vLyBUSEUgU09GVFdBUkUgSVMgUFJPVklERUQgXCJBUyBJU1wiLCBXSVRIT1VUIFdBUlJBTlRZIE9GIEFOWSBLSU5ELCBFWFBSRVNTIE9SXG4vLyBJTVBMSUVELCBJTkNMVURJTkcgQlVUIE5PVCBMSU1JVEVEIFRPIFRIRSBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSxcbi8vIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFORCBOT05JTkZSSU5HRU1FTlQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRVxuLy8gQVVUSE9SUyBPUiBDT1BZUklHSFQgSE9MREVSUyBCRSBMSUFCTEUgRk9SIEFOWSBDTEFJTSwgREFNQUdFUyBPUiBPVEhFUlxuLy8gTElBQklMSVRZLCBXSEVUSEVSIElOIEFOIEFDVElPTiBPRiBDT05UUkFDVCwgVE9SVCBPUiBPVEhFUldJU0UsIEFSSVNJTkcgRlJPTSxcbi8vIE9VVCBPRiBPUiBJTiBDT05ORUNUSU9OIFdJVEggVEhFIFNPRlRXQVJFIE9SIFRIRSBVU0UgT1IgT1RIRVIgREVBTElOR1MgSU5cbi8vIFRIRSBTT0ZUV0FSRS5cbi8vXG5cbkB1c2UgXCJzYXNzOmxpc3RcIjtcbkB1c2UgXCJzYXNzOnN0cmluZ1wiO1xuQHVzZSBcIkBtYXRlcmlhbC9hbmltYXRpb24vdmFyaWFibGVzXCIgYXMgYW5pbWF0aW9uLXZhcmlhYmxlcztcbkB1c2UgXCJAbWF0ZXJpYWwvZmVhdHVyZS10YXJnZXRpbmcvZnVuY3Rpb25zXCIgYXMgZmVhdHVyZS10YXJnZXRpbmctZnVuY3Rpb25zO1xuQHVzZSBcIkBtYXRlcmlhbC9mZWF0dXJlLXRhcmdldGluZy9taXhpbnNcIiBhcyBmZWF0dXJlLXRhcmdldGluZy1taXhpbnM7XG5AdXNlIFwiQG1hdGVyaWFsL2Zsb2F0aW5nLWxhYmVsL21peGluc1wiIGFzIGZsb2F0aW5nLWxhYmVsLW1peGlucztcbkB1c2UgXCJAbWF0ZXJpYWwvbGluZS1yaXBwbGUvbWl4aW5zXCIgYXMgbGluZS1yaXBwbGUtbWl4aW5zO1xuQHVzZSBcIkBtYXRlcmlhbC9ub3RjaGVkLW91dGxpbmUvbWl4aW5zXCIgYXMgbm90Y2hlZC1vdXRsaW5lLW1peGlucztcbkB1c2UgXCJAbWF0ZXJpYWwvbm90Y2hlZC1vdXRsaW5lL3ZhcmlhYmxlc1wiIGFzIG5vdGNoZWQtb3V0bGluZS12YXJpYWJsZXM7XG5AdXNlIFwiQG1hdGVyaWFsL3JpcHBsZS9taXhpbnNcIiBhcyByaXBwbGUtbWl4aW5zO1xuQHVzZSBcIkBtYXRlcmlhbC9yaXBwbGUvZnVuY3Rpb25zXCIgYXMgcmlwcGxlLWZ1bmN0aW9ucztcbkB1c2UgXCJAbWF0ZXJpYWwvcnRsL21peGluc1wiIGFzIHJ0bC1taXhpbnM7XG5AdXNlIFwiQG1hdGVyaWFsL3NoYXBlL21peGluc1wiIGFzIHNoYXBlLW1peGlucztcbkB1c2UgXCJAbWF0ZXJpYWwvc2hhcGUvZnVuY3Rpb25zXCI7XG5AdXNlIFwiQG1hdGVyaWFsL3RoZW1lL21peGluc1wiIGFzIHRoZW1lLW1peGlucztcbkB1c2UgXCJAbWF0ZXJpYWwvdGhlbWUvdmFyaWFibGVzXCIgYXMgdGhlbWUtdmFyaWFibGVzO1xuQHVzZSBcIkBtYXRlcmlhbC90eXBvZ3JhcGh5L21peGluc1wiIGFzIHR5cG9ncmFwaHktbWl4aW5zO1xuQHVzZSBcIi4vaGVscGVyLXRleHQvbWl4aW5zXCIgYXMgaGVscGVyLXRleHQtbWl4aW5zO1xuQHVzZSBcIi4vaWNvbi92YXJpYWJsZXNcIiBhcyBpY29uLXZhcmlhYmxlcztcbkB1c2UgXCIuL3ZhcmlhYmxlc1wiO1xuXG5AbWl4aW4gY29yZS1zdHlsZXMoJHF1ZXJ5OiBmZWF0dXJlLXRhcmdldGluZy1mdW5jdGlvbnMuYWxsKCkpIHtcbiAgQGluY2x1ZGUgcmlwcGxlKCRxdWVyeSk7XG4gIEBpbmNsdWRlIHdpdGhvdXQtcmlwcGxlKCRxdWVyeSk7XG59XG5cbkBtaXhpbiB3aXRob3V0LXJpcHBsZSgkcXVlcnk6IGZlYXR1cmUtdGFyZ2V0aW5nLWZ1bmN0aW9ucy5hbGwoKSkge1xuICAgJGZlYXQtYW5pbWF0aW9uOiBmZWF0dXJlLXRhcmdldGluZy1mdW5jdGlvbnMuY3JlYXRlLXRhcmdldCgkcXVlcnksIGFuaW1hdGlvbik7XG4gICAkZmVhdC1jb2xvcjogZmVhdHVyZS10YXJnZXRpbmctZnVuY3Rpb25zLmNyZWF0ZS10YXJnZXQoJHF1ZXJ5LCBjb2xvcik7XG4gICAkZmVhdC1zdHJ1Y3R1cmU6IGZlYXR1cmUtdGFyZ2V0aW5nLWZ1bmN0aW9ucy5jcmVhdGUtdGFyZ2V0KCRxdWVyeSwgc3RydWN0dXJlKTtcblxuICAubWRjLXNlbGVjdCB7XG4gICAgQGluY2x1ZGUgY29udGFpbmVyLWZpbGwtY29sb3IodmFyaWFibGVzLiRmaWxsLWNvbG9yLCAkcXVlcnk6ICRxdWVyeSk7XG4gICAgQGluY2x1ZGUgaW5rLWNvbG9yKHZhcmlhYmxlcy4kaW5rLWNvbG9yLCAkcXVlcnk6ICRxdWVyeSk7XG4gICAgQGluY2x1ZGUgbGFiZWwtY29sb3IodmFyaWFibGVzLiRsYWJlbC1jb2xvciwgJHF1ZXJ5OiAkcXVlcnkpO1xuICAgIEBpbmNsdWRlIGJvdHRvbS1saW5lLWNvbG9yKHZhcmlhYmxlcy4kYm90dG9tLWxpbmUtaWRsZS1jb2xvciwgJHF1ZXJ5OiAkcXVlcnkpO1xuICAgIEBpbmNsdWRlIGhlbHBlci10ZXh0LW1peGlucy5oZWxwZXItdGV4dC1jb2xvcih2YXJpYWJsZXMuJGhlbHBlci10ZXh0LWNvbG9yLCAkcXVlcnk6ICRxdWVyeSk7XG5cbiAgICAvLyBGb2N1c2VkIHN0YXRlIGNvbG9yc1xuICAgIEBpbmNsdWRlIGZvY3VzZWQtYm90dG9tLWxpbmUtY29sb3IocHJpbWFyeSwgJHF1ZXJ5OiAkcXVlcnkpO1xuICAgIEBpbmNsdWRlIGZvY3VzZWQtbGFiZWwtY29sb3IodmFyaWFibGVzLiRmb2N1c2VkLWxhYmVsLWNvbG9yLCAkcXVlcnk6ICRxdWVyeSk7XG5cbiAgICAvLyBIb3ZlciBzdGF0ZSBjb2xvcnNcbiAgICBAaW5jbHVkZSBob3Zlci1ib3R0b20tbGluZS1jb2xvcih2YXJpYWJsZXMuJGJvdHRvbS1saW5lLWhvdmVyLWNvbG9yLCAkcXVlcnk6ICRxdWVyeSk7XG5cbiAgICAvLyBGbG9hdGluZyBsYWJlbCBwcml2YXRlIG1peGluXG4gICAgQGluY2x1ZGUgZmxvYXRpbmctbGFiZWxfKCRxdWVyeTogJHF1ZXJ5KTtcblxuICAgIC8vIHN0cnVjdHVyYWxcbiAgICBAaW5jbHVkZSBzaGFwZS1yYWRpdXMoc21hbGwsICRxdWVyeTogJHF1ZXJ5KTtcbiAgICBAaW5jbHVkZSBwYWRkaW5nLWhvcml6b250YWxfKFxuICAgICAgJGxlZnQ6IHZhcmlhYmxlcy4kYW5jaG9yLXBhZGRpbmctbGVmdCxcbiAgICAgICRsZWZ0LXdpdGgtbGVhZGluZy1pY29uOiB2YXJpYWJsZXMuJGFuY2hvci1wYWRkaW5nLWxlZnQtd2l0aC1sZWFkaW5nLWljb24sXG4gICAgICAkcmlnaHQ6IHZhcmlhYmxlcy4kYW5jaG9yLXBhZGRpbmctcmlnaHQsXG4gICAgICAkcXVlcnk6ICRxdWVyeVxuICAgICk7XG5cbiAgICBAaW5jbHVkZSBmZWF0dXJlLXRhcmdldGluZy1taXhpbnMudGFyZ2V0cygkZmVhdC1zdHJ1Y3R1cmUpIHtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsgLy8gTWVudSBpcyBhYnNvbHV0ZWx5IHBvc2l0aW9uZWQgcmVsYXRpdmUgdG8gdGhpcy5cbiAgICB9XG5cbiAgICAmX19kcm9wZG93bi1pY29uIHtcbiAgICAgIEBpbmNsdWRlIGRkLWFycm93LXN2Zy1iZ18odmFyaWFibGVzLiRkcm9wZG93bi1jb2xvciwgdmFyaWFibGVzLiRkcm9wZG93bi1vcGFjaXR5LCAkcXVlcnk6ICRxdWVyeSk7XG5cbiAgICAgIEBpbmNsdWRlIGZlYXR1cmUtdGFyZ2V0aW5nLW1peGlucy50YXJnZXRzKCRmZWF0LXN0cnVjdHVyZSkge1xuICAgICAgICBAaW5jbHVkZSBydGwtbWl4aW5zLnJlZmxleGl2ZS1wcm9wZXJ0eShtYXJnaW4sXG4gICAgICAgICAgaWNvbi12YXJpYWJsZXMuJGljb24taG9yaXpvbnRhbC1tYXJnaW4sXG4gICAgICAgICAgaWNvbi12YXJpYWJsZXMuJGljb24taG9yaXpvbnRhbC1tYXJnaW4pO1xuICAgICAgICB3aWR0aDogMjRweDtcbiAgICAgICAgaGVpZ2h0OiAyNHB4O1xuICAgICAgICBhbGlnbi1zZWxmOiBjZW50ZXI7XG4gICAgICAgIGZsZXgtc2hyaW5rOiAwO1xuICAgICAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgICAgIH1cblxuICAgICAgQGluY2x1ZGUgZmVhdHVyZS10YXJnZXRpbmctbWl4aW5zLnRhcmdldHMoJGZlYXQtYW5pbWF0aW9uKSB7XG4gICAgICAgIHRyYW5zaXRpb246IHRyYW5zZm9ybSB2YXJpYWJsZXMuJGRyb3Bkb3duLXRyYW5zaXRpb24tZHVyYXRpb24gYW5pbWF0aW9uLXZhcmlhYmxlcy4kc3RhbmRhcmQtY3VydmUtdGltaW5nLWZ1bmN0aW9uO1xuICAgICAgfVxuXG4gICAgICAubWRjLXNlbGVjdC0tZm9jdXNlZCAmIHtcbiAgICAgICAgQGluY2x1ZGUgZGQtYXJyb3ctc3ZnLWJnXyh0aGVtZS12YXJpYWJsZXMucHJvcC12YWx1ZShwcmltYXJ5KSwgMSwgJHF1ZXJ5OiAkcXVlcnkpO1xuICAgICAgfVxuXG4gICAgICAubWRjLXNlbGVjdC0tYWN0aXZhdGVkICYge1xuICAgICAgICBAaW5jbHVkZSBmZWF0dXJlLXRhcmdldGluZy1taXhpbnMudGFyZ2V0cygkZmVhdC1zdHJ1Y3R1cmUpIHtcbiAgICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgxODBkZWcpIHRyYW5zbGF0ZVkoLTVweCk7XG4gICAgICAgIH1cblxuICAgICAgICBAaW5jbHVkZSBmZWF0dXJlLXRhcmdldGluZy1taXhpbnMudGFyZ2V0cygkZmVhdC1hbmltYXRpb24pIHtcbiAgICAgICAgICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gdmFyaWFibGVzLiRkcm9wZG93bi10cmFuc2l0aW9uLWR1cmF0aW9uIGFuaW1hdGlvbi12YXJpYWJsZXMuJHN0YW5kYXJkLWN1cnZlLXRpbWluZy1mdW5jdGlvbjtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC5tZGMtc2VsZWN0X19hbmNob3Ige1xuICAgIEBpbmNsdWRlIGhlaWdodCh2YXJpYWJsZXMuJGhlaWdodCwgJHF1ZXJ5OiAkcXVlcnkpO1xuICAgIEBpbmNsdWRlIGZsb2F0aW5nLWxhYmVsLW1peGlucy5mbG9hdC1wb3NpdGlvbih2YXJpYWJsZXMuJGxhYmVsLXBvc2l0aW9uLXksICRxdWVyeTogJHF1ZXJ5KTtcblxuICAgIEBpbmNsdWRlIGZlYXR1cmUtdGFyZ2V0aW5nLW1peGlucy50YXJnZXRzKCRmZWF0LXN0cnVjdHVyZSkge1xuICAgICAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAgIG91dGxpbmU6IG5vbmU7XG4gICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgICBtaW4td2lkdGg6IDIwMHB4O1xuICAgIH1cblxuICAgIEBpbmNsdWRlIGZvY3VzZWQtbGluZS1yaXBwbGVfIHtcbiAgICAgICY6OmFmdGVyIHtcbiAgICAgICAgQGluY2x1ZGUgZmVhdHVyZS10YXJnZXRpbmctbWl4aW5zLnRhcmdldHMoJGZlYXQtc3RydWN0dXJlKSB7XG4gICAgICAgICAgdHJhbnNmb3JtOiBzY2FsZSgxLCAyKTtcbiAgICAgICAgICBvcGFjaXR5OiAxO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgQGluY2x1ZGUgaGVscGVyLXRleHRfKCRxdWVyeTogJHF1ZXJ5KTtcbiAgQGluY2x1ZGUgdGV4dF8oJHF1ZXJ5OiAkcXVlcnkpO1xuXG4gIC5tZGMtc2VsZWN0LS1vdXRsaW5lZCB7XG4gICAgQGluY2x1ZGUgb3V0bGluZWRfKCRxdWVyeTogJHF1ZXJ5KTtcbiAgfVxuXG4gIC5tZGMtc2VsZWN0LS1pbnZhbGlkIHtcbiAgICBAaW5jbHVkZSBsYWJlbC1jb2xvcih2YXJpYWJsZXMuJGVycm9yLWNvbG9yLCAkcXVlcnk6ICRxdWVyeSk7XG4gICAgQGluY2x1ZGUgYm90dG9tLWxpbmUtY29sb3IodmFyaWFibGVzLiRlcnJvci1jb2xvciwgJHF1ZXJ5OiAkcXVlcnkpO1xuICAgIEBpbmNsdWRlIGZvY3VzZWQtYm90dG9tLWxpbmUtY29sb3IodmFyaWFibGVzLiRlcnJvci1jb2xvciwgJHF1ZXJ5OiAkcXVlcnkpO1xuICAgIEBpbmNsdWRlIGZvY3VzZWQtbGFiZWwtY29sb3IodmFyaWFibGVzLiRlcnJvci1jb2xvciwgJHF1ZXJ5OiAkcXVlcnkpO1xuICAgIEBpbmNsdWRlIGhlbHBlci10ZXh0LW1peGlucy5oZWxwZXItdGV4dC12YWxpZGF0aW9uLWNvbG9yKHZhcmlhYmxlcy4kZXJyb3ItY29sb3IsICRxdWVyeTogJHF1ZXJ5KTtcblxuICAgIC8vIEhvdmVyIHN0YXRlIGNvbG9yc1xuICAgIEBpbmNsdWRlIGhvdmVyLWJvdHRvbS1saW5lLWNvbG9yKHZhcmlhYmxlcy4kZXJyb3ItY29sb3IsICRxdWVyeTogJHF1ZXJ5KTtcblxuICAgICYubWRjLXNlbGVjdC0tb3V0bGluZWQge1xuICAgICAgQGluY2x1ZGUgb3V0bGluZS1jb2xvcih2YXJpYWJsZXMuJGVycm9yLWNvbG9yLCAkcXVlcnk6ICRxdWVyeSk7XG4gICAgICBAaW5jbHVkZSBob3Zlci1vdXRsaW5lLWNvbG9yKHZhcmlhYmxlcy4kZXJyb3ItY29sb3IsICRxdWVyeTogJHF1ZXJ5KTtcbiAgICAgIEBpbmNsdWRlIGZvY3VzZWQtb3V0bGluZS1jb2xvcih2YXJpYWJsZXMuJGVycm9yLWNvbG9yLCAkcXVlcnk6ICRxdWVyeSk7XG4gICAgfVxuXG4gICAgLm1kYy1zZWxlY3RfX2Ryb3Bkb3duLWljb24ge1xuICAgICAgQGluY2x1ZGUgZGQtYXJyb3ctc3ZnLWJnXyh2YXJpYWJsZXMuJGVycm9yLWNvbG9yLCAxLCAkcXVlcnk6ICRxdWVyeSk7XG4gICAgfVxuXG4gICAgLy8gc3R5bGVsaW50LWRpc2FibGUtbmV4dC1saW5lIHBsdWdpbi9zZWxlY3Rvci1iZW0tcGF0dGVyblxuICAgICsgLm1kYy1zZWxlY3QtaGVscGVyLXRleHQtLXZhbGlkYXRpb24tbXNnIHtcbiAgICAgIEBpbmNsdWRlIGZlYXR1cmUtdGFyZ2V0aW5nLW1peGlucy50YXJnZXRzKCRmZWF0LXN0cnVjdHVyZSkge1xuICAgICAgICBvcGFjaXR5OiAxO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC5tZGMtc2VsZWN0LS1yZXF1aXJlZCB7XG4gICAgLy8gc3R5bGVsaW50LWRpc2FibGUtbmV4dC1saW5lIHBsdWdpbi9zZWxlY3Rvci1iZW0tcGF0dGVyblxuICAgIC5tZGMtZmxvYXRpbmctbGFiZWw6OmFmdGVyIHtcbiAgICAgIEBpbmNsdWRlIGZlYXR1cmUtdGFyZ2V0aW5nLW1peGlucy50YXJnZXRzKCRmZWF0LXN0cnVjdHVyZSkge1xuICAgICAgICBjb250ZW50OiBcIipcIjtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAubWRjLXNlbGVjdC0tZGlzYWJsZWQge1xuICAgIEBpbmNsdWRlIGRpc2FibGVkXygkcXVlcnk6ICRxdWVyeSk7XG4gIH1cblxuICAubWRjLXNlbGVjdC0td2l0aC1sZWFkaW5nLWljb24ge1xuICAgIEBpbmNsdWRlIHdpdGgtbGVhZGluZy1pY29uXygkcXVlcnk6ICRxdWVyeSk7XG4gIH1cblxuICAubWRjLXNlbGVjdF9fbWVudSAubWRjLWxpc3QgLm1kYy1saXN0LWl0ZW0tLXNlbGVjdGVkIHtcbiAgICBAaW5jbHVkZSBmZWF0dXJlLXRhcmdldGluZy1taXhpbnMudGFyZ2V0cygkZmVhdC1jb2xvcikge1xuICAgICAgQGluY2x1ZGUgdGhlbWUtbWl4aW5zLnByb3AoY29sb3IsIG9uLXN1cmZhY2UpO1xuICAgIH1cbiAgfVxuXG4gIEBpbmNsdWRlIGZsb2F0aW5nLWxhYmVsLW1peGlucy5zaGFrZS1rZXlmcmFtZXMoXG4gICAgc2VsZWN0LW91dGxpbmVkLWxlYWRpbmctaWNvbixcbiAgICB2YXJpYWJsZXMuJG91dGxpbmVkLWxhYmVsLXBvc2l0aW9uLXksXG4gICAgdmFyaWFibGVzLiRvdXRsaW5lZC13aXRoLWxlYWRpbmctaWNvbi1sYWJlbC1wb3NpdGlvbi14LFxuICAgICRxdWVyeTogJHF1ZXJ5XG4gICk7XG4gIEBpbmNsdWRlIGZsb2F0aW5nLWxhYmVsLW1peGlucy5zaGFrZS1rZXlmcmFtZXMoXG4gICAgc2VsZWN0LW91dGxpbmVkLWxlYWRpbmctaWNvbi1ydGwsXG4gICAgdmFyaWFibGVzLiRvdXRsaW5lZC1sYWJlbC1wb3NpdGlvbi15LFxuICAgIC0odmFyaWFibGVzLiRvdXRsaW5lZC13aXRoLWxlYWRpbmctaWNvbi1sYWJlbC1wb3NpdGlvbi14KSxcbiAgICAkcXVlcnk6ICRxdWVyeVxuICApO1xufVxuXG5AbWl4aW4gcmlwcGxlKCRxdWVyeTogZmVhdHVyZS10YXJnZXRpbmctZnVuY3Rpb25zLmFsbCgpKSB7XG4gIC5tZGMtc2VsZWN0X19hbmNob3Ige1xuICAgIEBpbmNsdWRlIHJpcHBsZS1taXhpbnMuc3VyZmFjZSgkcmlwcGxlLXRhcmdldDogdmFyaWFibGVzLiRyaXBwbGUtdGFyZ2V0LCAkcXVlcnk6ICRxdWVyeSk7XG4gICAgQGluY2x1ZGUgcmlwcGxlLW1peGlucy5yYWRpdXMtYm91bmRlZCgkcmlwcGxlLXRhcmdldDogdmFyaWFibGVzLiRyaXBwbGUtdGFyZ2V0LCAkcXVlcnk6ICRxdWVyeSk7XG4gICAgQGluY2x1ZGUgcmlwcGxlLW1peGlucy5zdGF0ZXMtYmFzZS1jb2xvcih2YXJpYWJsZXMuJGluay1jb2xvciwgJHJpcHBsZS10YXJnZXQ6IHZhcmlhYmxlcy4kcmlwcGxlLXRhcmdldCwgJHF1ZXJ5OiAkcXVlcnkpO1xuICAgIEBpbmNsdWRlIHJpcHBsZS1taXhpbnMuc3RhdGVzLW9wYWNpdGllcyhcbiAgICAgIChcbiAgICAgICAgaG92ZXI6IHJpcHBsZS1mdW5jdGlvbnMuc3RhdGVzLW9wYWNpdHkodmFyaWFibGVzLiRpbmstY29sb3IsIGhvdmVyKSxcbiAgICAgICAgZm9jdXM6IHJpcHBsZS1mdW5jdGlvbnMuc3RhdGVzLW9wYWNpdHkodmFyaWFibGVzLiRpbmstY29sb3IsIGZvY3VzKSxcbiAgICAgICksXG4gICAgICAkcmlwcGxlLXRhcmdldDogdmFyaWFibGVzLiRyaXBwbGUtdGFyZ2V0LFxuICAgICAgJHF1ZXJ5OiAkcXVlcnlcbiAgICApO1xuXG4gICAgI3t2YXJpYWJsZXMuJHJpcHBsZS10YXJnZXR9IHtcbiAgICAgIEBpbmNsdWRlIHJpcHBsZS1taXhpbnMudGFyZ2V0LWNvbW1vbigkcXVlcnk6ICRxdWVyeSk7XG4gICAgfVxuICB9XG5cbiAgLm1kYy1zZWxlY3RfX21lbnUgLm1kYy1saXN0IC5tZGMtbGlzdC1pdGVtLS1zZWxlY3RlZCB7XG4gICAgQGluY2x1ZGUgcmlwcGxlLW1peGlucy5zdGF0ZXMob24tc3VyZmFjZSwgJHF1ZXJ5OiAkcXVlcnkpO1xuICB9XG59XG5cbkBtaXhpbiBpbmstY29sb3IoJGNvbG9yLCAkcXVlcnk6IGZlYXR1cmUtdGFyZ2V0aW5nLWZ1bmN0aW9ucy5hbGwoKSkge1xuICAmOm5vdCgubWRjLXNlbGVjdC0tZGlzYWJsZWQpIHtcbiAgICBAaW5jbHVkZSBpbmstY29sb3JfKCRjb2xvciwgJHF1ZXJ5OiAkcXVlcnkpO1xuICB9XG59XG5cbkBtaXhpbiBjb250YWluZXItZmlsbC1jb2xvcigkY29sb3IsICRxdWVyeTogZmVhdHVyZS10YXJnZXRpbmctZnVuY3Rpb25zLmFsbCgpKSB7XG4gICY6bm90KC5tZGMtc2VsZWN0LS1kaXNhYmxlZCkge1xuICAgIEBpbmNsdWRlIGNvbnRhaW5lci1maWxsLWNvbG9yXygkY29sb3IsICRxdWVyeTogJHF1ZXJ5KTtcbiAgfVxufVxuXG5AbWl4aW4gZm9jdXNlZC1sYWJlbC1jb2xvcigkY29sb3IsICRxdWVyeTogZmVhdHVyZS10YXJnZXRpbmctZnVuY3Rpb25zLmFsbCgpKSB7XG4gICY6bm90KC5tZGMtc2VsZWN0LS1kaXNhYmxlZCkge1xuICAgICYubWRjLXNlbGVjdC0tZm9jdXNlZCAubWRjLWZsb2F0aW5nLWxhYmVsIHtcbiAgICAgIEBpbmNsdWRlIGZsb2F0aW5nLWxhYmVsLW1peGlucy5pbmstY29sb3IodGhlbWUtdmFyaWFibGVzLnByb3AtdmFsdWUoJGNvbG9yKSwgJHF1ZXJ5OiAkcXVlcnkpO1xuICAgIH1cbiAgfVxufVxuXG5AbWl4aW4gaG92ZXItYm90dG9tLWxpbmUtY29sb3IoJGNvbG9yLCAkcXVlcnk6IGZlYXR1cmUtdGFyZ2V0aW5nLWZ1bmN0aW9ucy5hbGwoKSkge1xuICAmOm5vdCgubWRjLXNlbGVjdC0tZGlzYWJsZWQpOmhvdmVyIHtcbiAgICBAaW5jbHVkZSBib3R0b20tbGluZS1jb2xvcl8oJGNvbG9yLCAkcXVlcnk6ICRxdWVyeSk7XG4gIH1cbn1cblxuQG1peGluIGJvdHRvbS1saW5lLWNvbG9yKCRjb2xvciwgJHF1ZXJ5OiBmZWF0dXJlLXRhcmdldGluZy1mdW5jdGlvbnMuYWxsKCkpIHtcbiAgJjpub3QoLm1kYy1zZWxlY3QtLWRpc2FibGVkKSB7XG4gICAgQGluY2x1ZGUgYm90dG9tLWxpbmUtY29sb3JfKCRjb2xvciwgJHF1ZXJ5OiAkcXVlcnkpO1xuICB9XG59XG5cbkBtaXhpbiBmb2N1c2VkLWJvdHRvbS1saW5lLWNvbG9yKCRjb2xvciwgJHF1ZXJ5OiBmZWF0dXJlLXRhcmdldGluZy1mdW5jdGlvbnMuYWxsKCkpIHtcbiAgJjpub3QoLm1kYy1zZWxlY3QtLWRpc2FibGVkKSB7XG4gICAgQGluY2x1ZGUgZm9jdXNlZC1saW5lLXJpcHBsZS1jb2xvcl8oJGNvbG9yLCAkcXVlcnk6ICRxdWVyeSk7XG4gIH1cbn1cblxuQG1peGluIGxhYmVsLWNvbG9yKCRjb2xvciwgJHF1ZXJ5OiBmZWF0dXJlLXRhcmdldGluZy1mdW5jdGlvbnMuYWxsKCkpIHtcbiAgJjpub3QoLm1kYy1zZWxlY3QtLWRpc2FibGVkKSAubWRjLWZsb2F0aW5nLWxhYmVsIHtcbiAgICBAaW5jbHVkZSBmbG9hdGluZy1sYWJlbC1taXhpbnMuaW5rLWNvbG9yKCRjb2xvciwgJHF1ZXJ5OiAkcXVlcnkpO1xuICB9XG59XG5cbkBtaXhpbiBvdXRsaW5lLWNvbG9yKCRjb2xvciwgJHF1ZXJ5OiBmZWF0dXJlLXRhcmdldGluZy1mdW5jdGlvbnMuYWxsKCkpIHtcbiAgJjpub3QoLm1kYy1zZWxlY3QtLWRpc2FibGVkKSB7XG4gICAgQGluY2x1ZGUgb3V0bGluZS1jb2xvcl8oJGNvbG9yLCAkcXVlcnk6ICRxdWVyeSk7XG4gIH1cbn1cblxuQG1peGluIGhvdmVyLW91dGxpbmUtY29sb3IoJGNvbG9yLCAkcXVlcnk6IGZlYXR1cmUtdGFyZ2V0aW5nLWZ1bmN0aW9ucy5hbGwoKSkge1xuICAmOm5vdCgubWRjLXNlbGVjdC0tZGlzYWJsZWQpIHtcbiAgICBAaW5jbHVkZSBob3Zlci1vdXRsaW5lLWNvbG9yXygkY29sb3IsICRxdWVyeTogJHF1ZXJ5KTtcbiAgfVxufVxuXG5AbWl4aW4gZm9jdXNlZC1vdXRsaW5lLWNvbG9yKCRjb2xvciwgJHF1ZXJ5OiBmZWF0dXJlLXRhcmdldGluZy1mdW5jdGlvbnMuYWxsKCkpIHtcbiAgJjpub3QoLm1kYy1zZWxlY3QtLWRpc2FibGVkKSB7XG4gICAgQGluY2x1ZGUgZm9jdXNlZC1vdXRsaW5lLWNvbG9yXygkY29sb3IsICRxdWVyeTogJHF1ZXJ5KTtcbiAgfVxufVxuXG5AbWl4aW4gc2hhcGUtcmFkaXVzKCRyYWRpdXMsICRydGwtcmVmbGV4aXZlOiBmYWxzZSwgJHF1ZXJ5OiBmZWF0dXJlLXRhcmdldGluZy1mdW5jdGlvbnMuYWxsKCkpIHtcbiAgQGlmIGxpc3QubGVuZ3RoKCRyYWRpdXMpID4gMiB7XG4gICAgQGVycm9yIFwiSW52YWxpZCByYWRpdXM6ICcjeyRyYWRpdXN9JyBjb21wb25lbnQgZG9lc24ndCBhbGxvdyBjdXN0b21pemluZyBhbGwgY29ybmVyc1wiO1xuICB9XG5cbiAgJG1hc2tlZC1yYWRpdXM6IGZ1bmN0aW9ucy5tYXNrLXJhZGl1cygkcmFkaXVzLCAxIDEgMCAwKTtcblxuICAubWRjLXNlbGVjdF9fYW5jaG9yIHtcbiAgICBAaW5jbHVkZSBzaGFwZS1taXhpbnMucmFkaXVzKGZ1bmN0aW9ucy5yZXNvbHZlLXBlcmNlbnRhZ2UtcmFkaXVzKHZhcmlhYmxlcy4kaGVpZ2h0LCAkbWFza2VkLXJhZGl1cyksICRydGwtcmVmbGV4aXZlLCAkcXVlcnk6ICRxdWVyeSk7XG4gIH1cbn1cblxuQG1peGluIG91dGxpbmUtc2hhcGUtcmFkaXVzKCRyYWRpdXMsICRydGwtcmVmbGV4aXZlOiBmYWxzZSwgJHF1ZXJ5OiBmZWF0dXJlLXRhcmdldGluZy1mdW5jdGlvbnMuYWxsKCkpIHtcbiAgJGZlYXQtc3RydWN0dXJlOiBmZWF0dXJlLXRhcmdldGluZy1mdW5jdGlvbnMuY3JlYXRlLXRhcmdldCgkcXVlcnksIHN0cnVjdHVyZSk7XG5cbiAgJHJlc29sdmVkLXJhZGl1czogbGlzdC5udGgoZnVuY3Rpb25zLnJlc29sdmUtcGVyY2VudGFnZS1yYWRpdXModmFyaWFibGVzLiRoZWlnaHQsIGZ1bmN0aW9ucy5wcm9wLXZhbHVlKCRyYWRpdXMpKSwgMSk7XG5cbiAgQGlmIChsaXN0Lmxlbmd0aChmdW5jdGlvbnMucHJvcC12YWx1ZSgkcmFkaXVzKSkgPiAxKSB7XG4gICAgLy8gc3R5bGVsaW50LWRpc2FibGUtbmV4dC1saW5lIG1heC1saW5lLWxlbmd0aFxuICAgIEB3YXJuIFwibWRjLXNlbGVjdC1vdXRsaW5lLXNoYXBlLXJhZGl1cyBvbmx5IHN1cHBvcnRzIGEgc2luZ2xlIHJhZGl1czsgc2VlIGh0dHBzOi8vZ2l0aHViLmNvbS9tYXRlcmlhbC1jb21wb25lbnRzL21hdGVyaWFsLWNvbXBvbmVudHMtd2ViL2lzc3Vlcy80MTQwXCI7XG4gIH1cblxuICAubWRjLW5vdGNoZWQtb3V0bGluZSB7XG4gICAgQGluY2x1ZGUgbm90Y2hlZC1vdXRsaW5lLW1peGlucy5zaGFwZS1yYWRpdXMoJHJlc29sdmVkLXJhZGl1cywgJHJ0bC1yZWZsZXhpdmUsICRxdWVyeTogJHF1ZXJ5KTtcbiAgfVxuXG4gIC5tZGMtc2VsZWN0X19zZWxlY3RlZC10ZXh0IHtcbiAgICBAaW5jbHVkZSBzaGFwZS1taXhpbnMucmFkaXVzKCRyZXNvbHZlZC1yYWRpdXMsICRydGwtcmVmbGV4aXZlLCAkcXVlcnk6ICRxdWVyeSk7XG4gIH1cblxuICBAaWYgKCRyZXNvbHZlZC1yYWRpdXMgPiBub3RjaGVkLW91dGxpbmUtdmFyaWFibGVzLiRsZWFkaW5nLXdpZHRoKSB7XG4gICAgLm1kYy1zZWxlY3RfX2FuY2hvciB7XG4gICAgICBAaW5jbHVkZSBmZWF0dXJlLXRhcmdldGluZy1taXhpbnMudGFyZ2V0cygkZmVhdC1zdHJ1Y3R1cmUpIHtcbiAgICAgICAgQGluY2x1ZGUgcnRsLW1peGlucy5yZWZsZXhpdmUtcHJvcGVydHkoXG4gICAgICAgICAgcGFkZGluZyxcbiAgICAgICAgICAkcmVzb2x2ZWQtcmFkaXVzICsgbm90Y2hlZC1vdXRsaW5lLXZhcmlhYmxlcy4kcGFkZGluZyxcbiAgICAgICAgICAwXG4gICAgICAgICk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgKyAubWRjLXNlbGVjdC1oZWxwZXItdGV4dCB7XG4gICAgICBAaW5jbHVkZSBmZWF0dXJlLXRhcmdldGluZy1taXhpbnMudGFyZ2V0cygkZmVhdC1zdHJ1Y3R1cmUpIHtcbiAgICAgICAgQGluY2x1ZGUgcnRsLW1peGlucy5yZWZsZXhpdmUtcHJvcGVydHkoXG4gICAgICAgICAgbWFyZ2luLFxuICAgICAgICAgICRyZXNvbHZlZC1yYWRpdXMgKyBub3RjaGVkLW91dGxpbmUtdmFyaWFibGVzLiRwYWRkaW5nLFxuICAgICAgICAgIHZhcmlhYmxlcy4kb3V0bGluZS1sYWJlbC1vZmZzZXRcbiAgICAgICAgKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuLy8gUHJpdmF0ZVxuQG1peGluIGZvY3VzZWQtbGluZS1yaXBwbGVfIHtcbiAgJi5tZGMtc2VsZWN0LS1mb2N1c2VkIC5tZGMtbGluZS1yaXBwbGUge1xuICAgIEBjb250ZW50O1xuICB9XG59XG5cbkBtaXhpbiBmb2N1c2VkLW91dGxpbmVfIHtcbiAgJi5tZGMtc2VsZWN0LS1mb2N1c2VkIC5tZGMtbm90Y2hlZC1vdXRsaW5lIHtcbiAgICBAY29udGVudDtcbiAgfVxufVxuXG5AbWl4aW4gZm9jdXNlZC1vdXRsaW5lLWlkbGVfIHtcbiAgJi5tZGMtc2VsZWN0LS1mb2N1c2VkIHtcbiAgICBAY29udGVudDtcbiAgfVxufVxuXG5AbWl4aW4gaW5rLWNvbG9yXygkY29sb3IsICRxdWVyeTogZmVhdHVyZS10YXJnZXRpbmctZnVuY3Rpb25zLmFsbCgpKSB7XG4gICRmZWF0LWNvbG9yOiBmZWF0dXJlLXRhcmdldGluZy1mdW5jdGlvbnMuY3JlYXRlLXRhcmdldCgkcXVlcnksIGNvbG9yKTtcblxuICAubWRjLXNlbGVjdF9fc2VsZWN0ZWQtdGV4dCB7XG4gICAgQGluY2x1ZGUgZmVhdHVyZS10YXJnZXRpbmctbWl4aW5zLnRhcmdldHMoJGZlYXQtY29sb3IpIHtcbiAgICAgIEBpbmNsdWRlIHRoZW1lLW1peGlucy5wcm9wKGNvbG9yLCAkY29sb3IpO1xuICAgIH1cbiAgfVxufVxuXG5AbWl4aW4gY29udGFpbmVyLWZpbGwtY29sb3JfKCRjb2xvciwgJHF1ZXJ5OiBmZWF0dXJlLXRhcmdldGluZy1mdW5jdGlvbnMuYWxsKCkpIHtcbiAgJGZlYXQtY29sb3I6IGZlYXR1cmUtdGFyZ2V0aW5nLWZ1bmN0aW9ucy5jcmVhdGUtdGFyZ2V0KCRxdWVyeSwgY29sb3IpO1xuXG4gIC5tZGMtc2VsZWN0X19hbmNob3Ige1xuICAgIEBpbmNsdWRlIGZlYXR1cmUtdGFyZ2V0aW5nLW1peGlucy50YXJnZXRzKCRmZWF0LWNvbG9yKSB7XG4gICAgICBAaW5jbHVkZSB0aGVtZS1taXhpbnMucHJvcChiYWNrZ3JvdW5kLWNvbG9yLCAkY29sb3IpO1xuICAgIH1cbiAgfVxufVxuXG5AbWl4aW4gYm90dG9tLWxpbmUtY29sb3JfKCRjb2xvciwgJHF1ZXJ5OiBmZWF0dXJlLXRhcmdldGluZy1mdW5jdGlvbnMuYWxsKCkpIHtcbiAgLm1kYy1saW5lLXJpcHBsZSB7XG4gICAgQGluY2x1ZGUgbGluZS1yaXBwbGUtbWl4aW5zLmluYWN0aXZlLWNvbG9yKCRjb2xvciwgJHF1ZXJ5OiAkcXVlcnkpO1xuICB9XG59XG5cbkBtaXhpbiBmb2N1c2VkLWxpbmUtcmlwcGxlLWNvbG9yXygkY29sb3IsICRxdWVyeTogZmVhdHVyZS10YXJnZXRpbmctZnVuY3Rpb25zLmFsbCgpKSB7XG4gIEBpbmNsdWRlIGZvY3VzZWQtbGluZS1yaXBwbGVfIHtcbiAgICBAaW5jbHVkZSBsaW5lLXJpcHBsZS1taXhpbnMuYWN0aXZlLWNvbG9yKCRjb2xvciwgJHF1ZXJ5OiAkcXVlcnkpO1xuICB9XG59XG5cbkBtaXhpbiBkZC1hcnJvdy1zdmctYmdfKCRmaWxsLWhleC1udW1iZXIsICRvcGFjaXR5LCAkcXVlcnk6IGZlYXR1cmUtdGFyZ2V0aW5nLWZ1bmN0aW9ucy5hbGwoKSkge1xuICAvLyBMb29rdXAgY29sb3IgYW5kIHJlbW92ZSBsZWFkaW5nICMuXG4gICRmaWxsLWhleC1udW1iZXI6IHRoZW1lLXZhcmlhYmxlcy5wcm9wLXZhbHVlKCRmaWxsLWhleC1udW1iZXIpO1xuICAkZmlsbC1oZXgtbnVtYmVyOiBzdHJpbmcuc2xpY2Uoc3RyaW5nLnVucXVvdGUoXCIjeyRmaWxsLWhleC1udW1iZXJ9XCIpLCAyKTtcblxuICAkZmVhdC1zdHJ1Y3R1cmU6IGZlYXR1cmUtdGFyZ2V0aW5nLWZ1bmN0aW9ucy5jcmVhdGUtdGFyZ2V0KCRxdWVyeSwgc3RydWN0dXJlKTtcblxuICBAaW5jbHVkZSBmZWF0dXJlLXRhcmdldGluZy1taXhpbnMudGFyZ2V0cygkZmVhdC1zdHJ1Y3R1cmUpIHtcbiAgICAvLyBzdHlsZWxpbnQtZGlzYWJsZS1uZXh0LWxpbmUgZnVuY3Rpb24tdXJsLXF1b3Rlc1xuICAgIGJhY2tncm91bmQ6IHVybCgnZGF0YTppbWFnZS9zdmcreG1sLCUzQ3N2ZyUyMHdpZHRoJTNEJTIyMTBweCUyMiUyMGhlaWdodCUzRCUyMjVweCUyMiUyMHZpZXdCb3glM0QlMjI3JTIwMTAlMjAxMCUyMDUlMjIlMjB2ZXJzaW9uJTNEJTIyMS4xJTIyJTIweG1sbnMlM0QlMjJodHRwJTNBJTJGJTJGd3d3LnczLm9yZyUyRjIwMDAlMkZzdmclMjIlMjB4bWxucyUzQXhsaW5rJTNEJTIyaHR0cCUzQSUyRiUyRnd3dy53My5vcmclMkYxOTk5JTJGeGxpbmslMjIlM0UlMEElMjAlMjAlMjAlMjAlM0Nwb2x5Z29uJTIwaWQlM0QlMjJTaGFwZSUyMiUyMHN0cm9rZSUzRCUyMm5vbmUlMjIlMjBmaWxsJTNEJTIyJTIzI3skZmlsbC1oZXgtbnVtYmVyfSUyMiUyMGZpbGwtcnVsZSUzRCUyMmV2ZW5vZGQlMjIlMjBvcGFjaXR5JTNEJTIyI3skb3BhY2l0eX0lMjIlMjBwb2ludHMlM0QlMjI3JTIwMTAlMjAxMiUyMDE1JTIwMTclMjAxMCUyMiUzRSUzQyUyRnBvbHlnb24lM0UlMEElM0MlMkZzdmclM0UnKVxuICAgICAgbm8tcmVwZWF0XG4gICAgICBjZW50ZXI7XG4gIH1cbn1cblxuQG1peGluIG91dGxpbmUtY29sb3JfKCRjb2xvciwgJHF1ZXJ5OiBmZWF0dXJlLXRhcmdldGluZy1mdW5jdGlvbnMuYWxsKCkpIHtcbiAgQGluY2x1ZGUgbm90Y2hlZC1vdXRsaW5lLW1peGlucy5jb2xvcigkY29sb3IsICRxdWVyeTogJHF1ZXJ5KTtcbn1cblxuQG1peGluIGhvdmVyLW91dGxpbmUtY29sb3JfKCRjb2xvciwgJHF1ZXJ5OiBmZWF0dXJlLXRhcmdldGluZy1mdW5jdGlvbnMuYWxsKCkpIHtcbiAgLy8gc3R5bGVsaW50LWRpc2FibGUtbmV4dC1saW5lIHNlbGVjdG9yLWNvbWJpbmF0b3Itc3BhY2UtYWZ0ZXJcbiAgJjpub3QoLm1kYy1zZWxlY3QtLWZvY3VzZWQpIC5tZGMtc2VsZWN0X19hbmNob3I6aG92ZXIge1xuICAgIC5tZGMtbm90Y2hlZC1vdXRsaW5lIHtcbiAgICAgIEBpbmNsdWRlIG5vdGNoZWQtb3V0bGluZS1taXhpbnMuY29sb3IoJGNvbG9yLCAkcXVlcnk6ICRxdWVyeSk7XG4gICAgfVxuICB9XG59XG5cbkBtaXhpbiBmb2N1c2VkLW91dGxpbmUtY29sb3JfKCRjb2xvciwgJHF1ZXJ5OiBmZWF0dXJlLXRhcmdldGluZy1mdW5jdGlvbnMuYWxsKCkpIHtcbiAgQGluY2x1ZGUgZm9jdXNlZC1vdXRsaW5lXyB7XG4gICAgQGluY2x1ZGUgbm90Y2hlZC1vdXRsaW5lLW1peGlucy5zdHJva2Utd2lkdGgodmFyaWFibGVzLiRvdXRsaW5lZC1zdHJva2Utd2lkdGgsICRxdWVyeTogJHF1ZXJ5KTtcbiAgICBAaW5jbHVkZSBub3RjaGVkLW91dGxpbmUtbWl4aW5zLmNvbG9yKCRjb2xvciwgJHF1ZXJ5OiAkcXVlcnkpO1xuICB9XG59XG5cbkBtaXhpbiBmbG9hdGluZy1sYWJlbF8oJHF1ZXJ5OiBmZWF0dXJlLXRhcmdldGluZy1mdW5jdGlvbnMuYWxsKCkpIHtcbiAgJGZlYXQtc3RydWN0dXJlOiBmZWF0dXJlLXRhcmdldGluZy1mdW5jdGlvbnMuY3JlYXRlLXRhcmdldCgkcXVlcnksIHN0cnVjdHVyZSk7XG5cbiAgLm1kYy1mbG9hdGluZy1sYWJlbCB7XG4gICAgQGluY2x1ZGUgZmVhdHVyZS10YXJnZXRpbmctbWl4aW5zLnRhcmdldHMoJGZlYXQtc3RydWN0dXJlKSB7XG4gICAgICBAaW5jbHVkZSBydGwtbWl4aW5zLnJlZmxleGl2ZS1wb3NpdGlvbihsZWZ0LCB2YXJpYWJsZXMuJG91dGxpbmUtbGFiZWwtb2Zmc2V0KTtcblxuICAgICAgdG9wOiA1MCU7XG4gICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7XG4gICAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgICB9XG4gIH1cblxuICAmLm1kYy1zZWxlY3QtLW91dGxpbmVkIHtcbiAgICAubWRjLWZsb2F0aW5nLWxhYmVsIHtcbiAgICAgIEBpbmNsdWRlIGZlYXR1cmUtdGFyZ2V0aW5nLW1peGlucy50YXJnZXRzKCRmZWF0LXN0cnVjdHVyZSkge1xuICAgICAgICBAaW5jbHVkZSBydGwtbWl4aW5zLnJlZmxleGl2ZS1wb3NpdGlvbihsZWZ0LCBub3RjaGVkLW91dGxpbmUtdmFyaWFibGVzLiRwYWRkaW5nKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuQG1peGluIHdpdGgtbGVhZGluZy1pY29uXygkcXVlcnk6IGZlYXR1cmUtdGFyZ2V0aW5nLWZ1bmN0aW9ucy5hbGwoKSkge1xuICAkZmVhdC1zdHJ1Y3R1cmU6IGZlYXR1cmUtdGFyZ2V0aW5nLWZ1bmN0aW9ucy5jcmVhdGUtdGFyZ2V0KCRxdWVyeSwgc3RydWN0dXJlKTtcblxuICAkaWNvbi10b3RhbC13aWR0aDogaWNvbi12YXJpYWJsZXMuJGljb24tc2l6ZSArIDIgKiBpY29uLXZhcmlhYmxlcy4kaWNvbi1ob3Jpem9udGFsLW1hcmdpbjtcblxuICAubWRjLWZsb2F0aW5nLWxhYmVsIHtcbiAgICBAaW5jbHVkZSBmZWF0dXJlLXRhcmdldGluZy1taXhpbnMudGFyZ2V0cygkZmVhdC1zdHJ1Y3R1cmUpIHtcbiAgICAgIEBpbmNsdWRlIHJ0bC1taXhpbnMucmVmbGV4aXZlLXBvc2l0aW9uKGxlZnQsICRpY29uLXRvdGFsLXdpZHRoKTtcbiAgICB9XG4gIH1cblxuICAmLm1kYy1zZWxlY3QtLW91dGxpbmVkIHtcbiAgICAubWRjLWZsb2F0aW5nLWxhYmVsIHtcbiAgICAgIEBpbmNsdWRlIGZlYXR1cmUtdGFyZ2V0aW5nLW1peGlucy50YXJnZXRzKCRmZWF0LXN0cnVjdHVyZSkge1xuICAgICAgICBAaW5jbHVkZSBydGwtbWl4aW5zLnJlZmxleGl2ZS1wb3NpdGlvbihsZWZ0LCAkaWNvbi10b3RhbC13aWR0aCAtIG5vdGNoZWQtb3V0bGluZS12YXJpYWJsZXMuJGxlYWRpbmctd2lkdGgpO1xuICAgICAgfVxuXG4gICAgICAmLS1mbG9hdC1hYm92ZSB7XG4gICAgICAgIEBpbmNsdWRlIGZlYXR1cmUtdGFyZ2V0aW5nLW1peGlucy50YXJnZXRzKCRmZWF0LXN0cnVjdHVyZSkge1xuICAgICAgICAgIEBpbmNsdWRlIHJ0bC1taXhpbnMucmVmbGV4aXZlLXBvc2l0aW9uKGxlZnQsICRpY29uLXRvdGFsLXdpZHRoIC0gbm90Y2hlZC1vdXRsaW5lLXZhcmlhYmxlcy4kbGVhZGluZy13aWR0aCk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICBAaW5jbHVkZSBub3RjaGVkLW91dGxpbmUtbWl4aW5zLmZsb2F0aW5nLWxhYmVsLWZsb2F0LXBvc2l0aW9uLWFic29sdXRlKFxuICAgICAgdmFyaWFibGVzLiRvdXRsaW5lZC1sYWJlbC1wb3NpdGlvbi15LFxuICAgICAgJGljb24tdG90YWwtd2lkdGggLSBpY29uLXZhcmlhYmxlcy4kaWNvbi1ob3Jpem9udGFsLW1hcmdpbiAtIG5vdGNoZWQtb3V0bGluZS12YXJpYWJsZXMuJG5vdGNoLWd1dHRlci1zaXplLFxuICAgICAgJHF1ZXJ5OiAkcXVlcnlcbiAgICApO1xuICAgIEBpbmNsdWRlIGZsb2F0aW5nLWxhYmVsLW1peGlucy5zaGFrZS1hbmltYXRpb24oc2VsZWN0LW91dGxpbmVkLWxlYWRpbmctaWNvbiwgJHF1ZXJ5OiAkcXVlcnkpO1xuXG4gICAgQGluY2x1ZGUgcnRsLW1peGlucy5ydGwge1xuICAgICAgQGluY2x1ZGUgZmxvYXRpbmctbGFiZWwtbWl4aW5zLnNoYWtlLWFuaW1hdGlvbihzZWxlY3Qtb3V0bGluZWQtbGVhZGluZy1pY29uLXJ0bCwgJHF1ZXJ5OiAkcXVlcnkpO1xuICAgIH1cbiAgfVxuXG4gICYubWRjLXNlbGVjdF9fbWVudSAubWRjLWxpc3QtaXRlbV9fdGV4dCB7XG4gICAgQGluY2x1ZGUgZmVhdHVyZS10YXJnZXRpbmctbWl4aW5zLnRhcmdldHMoJGZlYXQtc3RydWN0dXJlKSB7XG4gICAgICBAaW5jbHVkZSBydGwtbWl4aW5zLnJlZmxleGl2ZS1wcm9wZXJ0eShwYWRkaW5nLCAzMnB4IC8qIGxlZnQtdmFsdWUgKi8sIDMycHggLyogcmlnaHQtdmFsdWUgKi8pO1xuICAgIH1cbiAgfVxufVxuXG5AbWl4aW4gdGV4dF8oJHF1ZXJ5OiBmZWF0dXJlLXRhcmdldGluZy1mdW5jdGlvbnMuYWxsKCkpIHtcbiAgJGZlYXQtc3RydWN0dXJlOiBmZWF0dXJlLXRhcmdldGluZy1mdW5jdGlvbnMuY3JlYXRlLXRhcmdldCgkcXVlcnksIHN0cnVjdHVyZSk7XG4gICRmZWF0LWNvbG9yOiBmZWF0dXJlLXRhcmdldGluZy1mdW5jdGlvbnMuY3JlYXRlLXRhcmdldCgkcXVlcnksIGNvbG9yKTtcblxuICAubWRjLXNlbGVjdF9fc2VsZWN0ZWQtdGV4dCB7XG4gICAgQGluY2x1ZGUgdHlwb2dyYXBoeS1taXhpbnMudHlwb2dyYXBoeShzdWJ0aXRsZTEsICRxdWVyeTogJHF1ZXJ5KTtcblxuICAgIEBpbmNsdWRlIGZlYXR1cmUtdGFyZ2V0aW5nLW1peGlucy50YXJnZXRzKCRmZWF0LXN0cnVjdHVyZSkge1xuICAgICAgJjo6LW1zLWV4cGFuZCB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICB9XG5cbiAgICAgICY6Oi1tcy12YWx1ZSB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgICAgICBjb2xvcjogaW5oZXJpdDtcbiAgICAgIH1cblxuICAgICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICAgIHdpZHRoOiAwO1xuICAgICAgZmxleC1ncm93OiAxO1xuICAgICAgaGVpZ2h0OiB2YXJpYWJsZXMuJHNlbGVjdGVkLXRleHQtaGVpZ2h0O1xuICAgICAgYm9yZGVyOiBub25lO1xuICAgICAgb3V0bGluZTogbm9uZTtcbiAgICAgIHBhZGRpbmc6IDA7XG4gICAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICAgICAgYXBwZWFyYW5jZTogbm9uZTtcbiAgICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICAgICAgdGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgZmVhdHVyZS10YXJnZXRpbmctbWl4aW5zLnRhcmdldHMoJGZlYXQtY29sb3IpIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgICAgY29sb3I6IGluaGVyaXQ7IC8vIE92ZXJyaWRlIGRlZmF1bHQgdXNlciBhZ2VudCBzdHlsZXNoZWV0XG4gICAgfVxuICB9XG59XG5cbkBtaXhpbiBkaXNhYmxlZF8oJHF1ZXJ5OiBmZWF0dXJlLXRhcmdldGluZy1mdW5jdGlvbnMuYWxsKCkpIHtcbiAgJGZlYXQtY29sb3I6IGZlYXR1cmUtdGFyZ2V0aW5nLWZ1bmN0aW9ucy5jcmVhdGUtdGFyZ2V0KCRxdWVyeSwgY29sb3IpO1xuICAkZmVhdC1zdHJ1Y3R1cmU6IGZlYXR1cmUtdGFyZ2V0aW5nLWZ1bmN0aW9ucy5jcmVhdGUtdGFyZ2V0KCRxdWVyeSwgc3RydWN0dXJlKTtcblxuICBAaW5jbHVkZSBjb250YWluZXItZmlsbC1jb2xvcl8odmFyaWFibGVzLiRkaXNhYmxlZC1maWxsLWNvbG9yLCAkcXVlcnk6ICRxdWVyeSk7XG5cbiAgLm1kYy1mbG9hdGluZy1sYWJlbCB7XG4gICAgQGluY2x1ZGUgZmxvYXRpbmctbGFiZWwtbWl4aW5zLmluay1jb2xvcih2YXJpYWJsZXMuJGRpc2FibGVkLWxhYmVsLWNvbG9yLCAkcXVlcnk6ICRxdWVyeSk7XG4gIH1cblxuICAubWRjLXNlbGVjdF9fZHJvcGRvd24taWNvbiB7XG4gICAgQGluY2x1ZGUgZGQtYXJyb3ctc3ZnLWJnXyh2YXJpYWJsZXMuJGRyb3Bkb3duLWNvbG9yLCB2YXJpYWJsZXMuJGRpc2FibGVkLWRyb3Bkb3duLW9wYWNpdHksICRxdWVyeTogJHF1ZXJ5KTtcbiAgfVxuXG4gIC5tZGMtbGluZS1yaXBwbGUge1xuICAgIEBpbmNsdWRlIGxpbmUtcmlwcGxlLW1peGlucy5pbmFjdGl2ZS1jb2xvcih2YXJpYWJsZXMuJGRpc2FibGVkLWluay1jb2xvciwgJHF1ZXJ5OiAkcXVlcnkpO1xuXG4gICAgJjo6YmVmb3JlIHtcbiAgICAgIEBpbmNsdWRlIGZlYXR1cmUtdGFyZ2V0aW5nLW1peGlucy50YXJnZXRzKCRmZWF0LXN0cnVjdHVyZSkge1xuICAgICAgICAvLyBUT0RPKGIvMTQ2MDgwMDA2KTogRml4IGluY29ycmVjdCBzdHlsaW5nXG4gICAgICAgIGJvcmRlci1ib3R0b20tc3R5bGU6IGRvdHRlZDtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAubWRjLXNlbGVjdF9faWNvbiB7XG4gICAgQGluY2x1ZGUgZmVhdHVyZS10YXJnZXRpbmctbWl4aW5zLnRhcmdldHMoJGZlYXQtY29sb3IpIHtcbiAgICAgIEBpbmNsdWRlIHRoZW1lLW1peGlucy5wcm9wKGNvbG9yLCB2YXJpYWJsZXMuJGRpc2FibGVkLWljb24tY29sb3IpO1xuICAgIH1cbiAgfVxuXG4gIC5tZGMtc2VsZWN0X19zZWxlY3RlZC10ZXh0IHtcbiAgICBAaW5jbHVkZSBmZWF0dXJlLXRhcmdldGluZy1taXhpbnMudGFyZ2V0cygkZmVhdC1jb2xvcikge1xuICAgICAgQGluY2x1ZGUgdGhlbWUtbWl4aW5zLnByb3AoY29sb3IsIHZhcmlhYmxlcy4kZGlzYWJsZWQtaW5rLWNvbG9yKTtcbiAgICB9XG5cbiAgICBAaW5jbHVkZSBmZWF0dXJlLXRhcmdldGluZy1taXhpbnMudGFyZ2V0cygkZmVhdC1zdHJ1Y3R1cmUpIHtcbiAgICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICAgIH1cbiAgfVxuXG4gICYubWRjLXNlbGVjdC0tb3V0bGluZWQge1xuICAgIEBpbmNsdWRlIGNvbnRhaW5lci1maWxsLWNvbG9yXyh0cmFuc3BhcmVudCwgJHF1ZXJ5OiAkcXVlcnkpO1xuICAgIEBpbmNsdWRlIG91dGxpbmUtY29sb3JfKHZhcmlhYmxlcy4kb3V0bGluZWQtZGlzYWJsZWQtYm9yZGVyLCAkcXVlcnk6ICRxdWVyeSk7XG4gIH1cblxuICBAaW5jbHVkZSBmZWF0dXJlLXRhcmdldGluZy1taXhpbnMudGFyZ2V0cygkZmVhdC1zdHJ1Y3R1cmUpIHtcbiAgICBjdXJzb3I6IGRlZmF1bHQ7XG4gICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gIH1cbn1cblxuQG1peGluIG91dGxpbmVkXygkcXVlcnk6IGZlYXR1cmUtdGFyZ2V0aW5nLWZ1bmN0aW9ucy5hbGwoKSkge1xuICAkZmVhdC1zdHJ1Y3R1cmU6IGZlYXR1cmUtdGFyZ2V0aW5nLWZ1bmN0aW9ucy5jcmVhdGUtdGFyZ2V0KCRxdWVyeSwgc3RydWN0dXJlKTtcbiAgJGZlYXQtY29sb3I6IGZlYXR1cmUtdGFyZ2V0aW5nLWZ1bmN0aW9ucy5jcmVhdGUtdGFyZ2V0KCRxdWVyeSwgY29sb3IpO1xuXG4gIEBpbmNsdWRlIGNvbnRhaW5lci1maWxsLWNvbG9yKHRyYW5zcGFyZW50LCAkcXVlcnk6ICRxdWVyeSk7XG4gIEBpbmNsdWRlIG91dGxpbmUtY29sb3IodmFyaWFibGVzLiRvdXRsaW5lZC1pZGxlLWJvcmRlciwgJHF1ZXJ5OiAkcXVlcnkpO1xuICBAaW5jbHVkZSBob3Zlci1vdXRsaW5lLWNvbG9yKHZhcmlhYmxlcy4kb3V0bGluZWQtaG92ZXItYm9yZGVyLCAkcXVlcnk6ICRxdWVyeSk7XG4gIEBpbmNsdWRlIGZvY3VzZWQtb3V0bGluZS1jb2xvcihwcmltYXJ5LCAkcXVlcnk6ICRxdWVyeSk7XG4gIEBpbmNsdWRlIG91dGxpbmUtc2hhcGUtcmFkaXVzKHNtYWxsLCAkcXVlcnk6ICRxdWVyeSk7XG4gIEBpbmNsdWRlIGNvbnRhaW5lci1maWxsLWNvbG9yKHRyYW5zcGFyZW50LCAkcXVlcnk6ICRxdWVyeSk7XG5cbiAgQGluY2x1ZGUgZmVhdHVyZS10YXJnZXRpbmctbWl4aW5zLnRhcmdldHMoJGZlYXQtc3RydWN0dXJlKSB7XG4gICAgYm9yZGVyOiBub25lO1xuICB9XG5cbiAgLm1kYy1zZWxlY3RfX2FuY2hvciB7XG4gICAgQGluY2x1ZGUgZmxvYXRpbmctbGFiZWwtbWl4aW5zLnNoYWtlLWFuaW1hdGlvbihzZWxlY3Qtb3V0bGluZWQsICRxdWVyeTogJHF1ZXJ5KTtcbiAgICBAaW5jbHVkZSBub3RjaGVkLW91dGxpbmUtbWl4aW5zLmZsb2F0aW5nLWxhYmVsLWZsb2F0LXBvc2l0aW9uLWFic29sdXRlKHZhcmlhYmxlcy4kb3V0bGluZWQtbGFiZWwtcG9zaXRpb24teSwgJHF1ZXJ5OiAkcXVlcnkpO1xuICAgIEBpbmNsdWRlIG5vdGNoZWQtb3V0bGluZS1taXhpbnMubm90Y2gtb2Zmc2V0KG5vdGNoZWQtb3V0bGluZS12YXJpYWJsZXMuJGJvcmRlci13aWR0aCwgJHF1ZXJ5OiAkcXVlcnkpO1xuXG4gICAgQGluY2x1ZGUgZmVhdHVyZS10YXJnZXRpbmctbWl4aW5zLnRhcmdldHMoJGZlYXQtc3RydWN0dXJlKSB7XG4gICAgICBvdmVyZmxvdzogdmlzaWJsZTtcbiAgICB9XG4gIH1cblxuICAubWRjLXNlbGVjdF9fc2VsZWN0ZWQtdGV4dCB7XG4gICAgQGluY2x1ZGUgZmVhdHVyZS10YXJnZXRpbmctbWl4aW5zLnRhcmdldHMoJGZlYXQtc3RydWN0dXJlKSB7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgYm9yZGVyOiBub25lO1xuICAgICAgei1pbmRleDogMTtcbiAgICB9XG5cbiAgICBAaW5jbHVkZSBmZWF0dXJlLXRhcmdldGluZy1taXhpbnMudGFyZ2V0cygkZmVhdC1jb2xvcikge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgfVxuICB9XG5cbiAgLm1kYy1zZWxlY3RfX2ljb24ge1xuICAgIEBpbmNsdWRlIGZlYXR1cmUtdGFyZ2V0aW5nLW1peGlucy50YXJnZXRzKCRmZWF0LXN0cnVjdHVyZSkge1xuICAgICAgei1pbmRleDogMjtcbiAgICB9XG4gIH1cblxuICAubWRjLWZsb2F0aW5nLWxhYmVsIHtcbiAgICBAaW5jbHVkZSBmZWF0dXJlLXRhcmdldGluZy1taXhpbnMudGFyZ2V0cygkZmVhdC1zdHJ1Y3R1cmUpIHtcbiAgICAgIGxpbmUtaGVpZ2h0OiAxLjE1cmVtO1xuICAgICAgcG9pbnRlci1ldmVudHM6IGF1dG87XG4gICAgfVxuICB9XG5cbiAgJi5tZGMtc2VsZWN0LS1mb2N1c2VkIHtcbiAgICBAaW5jbHVkZSBub3RjaGVkLW91dGxpbmUtbWl4aW5zLm5vdGNoLW9mZnNldCh2YXJpYWJsZXMuJG91dGxpbmVkLXN0cm9rZS13aWR0aCwgJHF1ZXJ5OiAkcXVlcnkpO1xuICB9XG59XG5cbkBtaXhpbiBoZWxwZXItdGV4dF8oJHF1ZXJ5OiBmZWF0dXJlLXRhcmdldGluZy1mdW5jdGlvbnMuYWxsKCkpIHtcbiAgJGZlYXQtc3RydWN0dXJlOiBmZWF0dXJlLXRhcmdldGluZy1mdW5jdGlvbnMuY3JlYXRlLXRhcmdldCgkcXVlcnksIHN0cnVjdHVyZSk7XG5cbiAgLm1kYy1zZWxlY3QtaGVscGVyLXRleHQge1xuICAgIC8vIHN0eWxlbGludC1kaXNhYmxlIHBsdWdpbi9zZWxlY3Rvci1iZW0tcGF0dGVyblxuICAgIC5tZGMtc2VsZWN0X19hbmNob3IgKyAmIHtcbiAgICAgIEBpbmNsdWRlIGZlYXR1cmUtdGFyZ2V0aW5nLW1peGlucy50YXJnZXRzKCRmZWF0LXN0cnVjdHVyZSkge1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IDE2cHg7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiAxNnB4O1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC5tZGMtc2VsZWN0LS1mb2N1c2VkIC5tZGMtc2VsZWN0X19hbmNob3IgKyAubWRjLXNlbGVjdC1oZWxwZXItdGV4dDpub3QoLm1kYy1zZWxlY3QtaGVscGVyLXRleHQtLXZhbGlkYXRpb24tbXNnKSB7XG4gICAgQGluY2x1ZGUgZmVhdHVyZS10YXJnZXRpbmctbWl4aW5zLnRhcmdldHMoJGZlYXQtc3RydWN0dXJlKSB7XG4gICAgICBvcGFjaXR5OiAxO1xuICAgIH1cbiAgfVxufVxuXG4vLy8gQWRkcyBob3Jpem9udGFsIHBhZGRpbmcgdG8gdGhlIHNlbGVjdGVkIHRleHRcbi8vL1xuLy8vIEBwYXJhbSB7TnVtYmVyfSAkbGVmdCAtIGxlZnQgc2lkZSBwYWRkaW5nXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRsZWZ0LXdpdGgtbGVhZGluZy1pY29uIC0gbGVmdC1zaWRlIHBhZGRpbmcgd2hlbiBhIGxlYWRpbmdcbi8vLyAgICAgaWNvbiBpcyBwcmVzZW50XG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRyaWdodCAtIHJpZ2h0LXNpZGUgcGFkZGluZzsgbm90ZSB0aGF0IGEgdHJhaWxpbmcgaWNvbiBpc1xuLy8vICAgICBhbHdheXMgcHJlc2VudC5cbkBtaXhpbiBwYWRkaW5nLWhvcml6b250YWxfKFxuICAkbGVmdCxcbiAgJGxlZnQtd2l0aC1sZWFkaW5nLWljb24sXG4gICRyaWdodCxcbiAgJHF1ZXJ5OiBmZWF0dXJlLXRhcmdldGluZy1mdW5jdGlvbnMuYWxsKClcbikge1xuICAkZmVhdC1zdHJ1Y3R1cmU6IGZlYXR1cmUtdGFyZ2V0aW5nLWZ1bmN0aW9ucy5jcmVhdGUtdGFyZ2V0KCRxdWVyeSwgc3RydWN0dXJlKTtcblxuICAubWRjLXNlbGVjdF9fYW5jaG9yIHtcbiAgICBAaW5jbHVkZSBmZWF0dXJlLXRhcmdldGluZy1taXhpbnMudGFyZ2V0cygkZmVhdC1zdHJ1Y3R1cmUpIHtcbiAgICAgIEBpbmNsdWRlIHJ0bC1taXhpbnMucmVmbGV4aXZlLXByb3BlcnR5KFxuICAgICAgICBwYWRkaW5nLFxuICAgICAgICAkbGVmdCxcbiAgICAgICAgJHJpZ2h0XG4gICAgICApO1xuICAgIH1cbiAgfVxuXG4gICYubWRjLXNlbGVjdC0td2l0aC1sZWFkaW5nLWljb24gLm1kYy1zZWxlY3RfX2FuY2hvciB7XG4gICAgQGluY2x1ZGUgZmVhdHVyZS10YXJnZXRpbmctbWl4aW5zLnRhcmdldHMoJGZlYXQtc3RydWN0dXJlKSB7XG4gICAgICBAaW5jbHVkZSBydGwtbWl4aW5zLnJlZmxleGl2ZS1wcm9wZXJ0eShcbiAgICAgICAgcGFkZGluZyxcbiAgICAgICAgJGxlZnQtd2l0aC1sZWFkaW5nLWljb24sXG4gICAgICAgICRyaWdodFxuICAgICAgKTtcbiAgICB9XG4gIH1cbn1cblxuLy8vXG4vLy8gU2V0cyBoZWlnaHQgb2YgZGVmYXVsdCBzZWxlY3QgdmFyaWFudC5cbi8vL1xuLy8vIEBwYXJhbSB7TnVtYmVyfSAkaGVpZ2h0XG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRtaW5pbXVtLWhlaWdodC1mb3ItZmlsbGVkLWxhYmVsIFNldHMgdGhlIG1pbmltdW0gaGVpZ2h0IGZvclxuLy8vICAgICBmaWxsZWQgc2VsZWN0cyBhdCB3aGljaCB0byBhbGxvdyBmbG9hdGluZyBsYWJlbHMuXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRmaWxsZWQtYmFzZWxpbmUtdG9wIFRoZSBiYXNlbGluZSBmcm9tIHRoZSB0b3Agb2YgdGhlIGFuY2hvclxuLy8vICAgICB0aGF0IHRoZSBpbnB1dCBzaG91bGQgYmUgYWxpZ25lZCB0byBmb3IgYSBmaWxsZWQgdmFyaWFudCB3aXRoIGEgbGFiZWxcbi8vLyBAYWNjZXNzIHB1YmxpY1xuLy8vXG5AbWl4aW4gaGVpZ2h0KFxuICAkaGVpZ2h0LFxuICAkbWluaW11bS1oZWlnaHQtZm9yLWZpbGxlZC1sYWJlbDogdmFyaWFibGVzLiRtaW5pbXVtLWhlaWdodC1mb3ItZmlsbGVkLWxhYmVsLFxuICAkZmlsbGVkLWJhc2VsaW5lLXRvcDogdmFyaWFibGVzLiRmaWxsZWQtYmFzZWxpbmUtdG9wLFxuICAkcXVlcnk6IGZlYXR1cmUtdGFyZ2V0aW5nLWZ1bmN0aW9ucy5hbGwoKVxuKSB7XG4gICRmZWF0LXN0cnVjdHVyZTogZmVhdHVyZS10YXJnZXRpbmctZnVuY3Rpb25zLmNyZWF0ZS10YXJnZXQoJHF1ZXJ5LCBzdHJ1Y3R1cmUpO1xuICBAaW5jbHVkZSBmZWF0dXJlLXRhcmdldGluZy1taXhpbnMudGFyZ2V0cygkZmVhdC1zdHJ1Y3R1cmUpIHtcbiAgICBoZWlnaHQ6ICRoZWlnaHQ7XG4gIH1cblxuICAvLyBGaWxsZWQgdmFyaWFudCBpcyBhbGlnbmVkIHRvIGJhc2VsaW5lLi4uXG4gIEBpbmNsdWRlIHR5cG9ncmFwaHktbWl4aW5zLmJhc2VsaW5lKCR0b3A6ICRmaWxsZWQtYmFzZWxpbmUtdG9wLCAkZGlzcGxheTogaW5saW5lLWZsZXgsICRxdWVyeTogJHF1ZXJ5KTtcbiAgLy8gLi4udW5sZXNzIGl0IGlzIHRvbyBzbWFsbCB0byBkaXNwbGF5IGEgbGFiZWxcbiAgQGlmICRoZWlnaHQgPCAkbWluaW11bS1oZWlnaHQtZm9yLWZpbGxlZC1sYWJlbCB7XG4gICAgQGluY2x1ZGUgY2VudGVyLWFsaWduZWRfKCRxdWVyeTogJHF1ZXJ5KTtcblxuICAgIEBpbmNsdWRlIGZlYXR1cmUtdGFyZ2V0aW5nLW1peGlucy50YXJnZXRzKCRmZWF0LXN0cnVjdHVyZSkge1xuICAgICAgJjpub3QoLm1kYy1zZWxlY3QtLW91dGxpbmVkKSB7XG4gICAgICAgIC5tZGMtZmxvYXRpbmctbGFiZWwge1xuICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAvLyBPdXRsaW5lZCBhbmQgbm8tbGFiZWwgdmFyaWFudHMgYXJlIGFsd2F5cyBjZW50ZXJlZFxuICAubWRjLXNlbGVjdC0tb3V0bGluZWQgJixcbiAgLm1kYy1zZWxlY3QtLW5vLWxhYmVsICYge1xuICAgIEBpbmNsdWRlIGNlbnRlci1hbGlnbmVkXygkcXVlcnk6ICRxdWVyeSk7XG4gIH1cbn1cblxuLy8gUmVtb3ZlcyBmaWxsZWQgYmFzZWxpbmUgYWxpZ25tZW50XG5AbWl4aW4gY2VudGVyLWFsaWduZWRfKCRxdWVyeTogZmVhdHVyZS10YXJnZXRpbmctZnVuY3Rpb25zLmFsbCgpKSB7XG4gICRmZWF0LXN0cnVjdHVyZTogZmVhdHVyZS10YXJnZXRpbmctZnVuY3Rpb25zLmNyZWF0ZS10YXJnZXQoJHF1ZXJ5LCBzdHJ1Y3R1cmUpO1xuXG4gIEBpbmNsdWRlIGZlYXR1cmUtdGFyZ2V0aW5nLW1peGlucy50YXJnZXRzKCRmZWF0LXN0cnVjdHVyZSkge1xuICAgIC8vIEluIG9yZGVyIGZvciBhIGZsZXhib3ggY29udGFpbmVyIHRvIHBhcnRpY2lwYXRlIGluIGJhc2VsaW5lIGFsaWdubWVudCxcbiAgICAvLyBpdCBmb2xsb3dzIHRoZXNlIHJ1bGVzIHRvIGRldGVybWluZSB3aGVyZSBpdHMgYmFzZWxpbmUgaXM6XG4gICAgLy8gaHR0cHM6Ly93d3cudzMub3JnL1RSL2Nzcy1mbGV4Ym94LTEvI2ZsZXgtYmFzZWxpbmVzXG4gICAgLy9cbiAgICAvLyBJbiBvcmRlciB0byBhdm9pZCBsZWFkaW5nIGljb25zIFwiY29udHJvbGxpbmdcIiB0aGUgYmFzZWxpbmUgKHNpbmNlIHRoZXlcbiAgICAvLyBhcmUgdGhlIGZpcnN0IGNoaWxkKSwgZmxleGJveCB3aWxsIGdlbmVyYXRlIGEgYmFzZWxpbmUgZnJvbSBhbnkgY2hpbGRcbiAgICAvLyBmbGV4IGl0ZW1zIHRoYXQgcGFydGljaXBhdGUgaW4gYmFzZWxpbmUgYWxpZ25tZW50LlxuICAgIC8vXG4gICAgLy8gSWNvbnMgYXJlIHNldCB0byBcImFsaWduLXNlbGY6IGNlbnRlclwiLCB3aGlsZSBhbGwgb3RoZXIgY2hpbGRyZW4gYXJlXG4gICAgLy8gYWxpZ25lZCB0byBiYXNlbGluZS4gVGhlIG5leHQgcHJvYmxlbSBpcyBkZWNpZGluZyB3aGljaCBjaGlsZCBpc1xuICAgIC8vIHVzZWQgdG8gZGV0ZXJtaW5lIHRoZSBiYXNlbGluZS5cbiAgICAvL1xuICAgIC8vIEFjY29yZGluZyB0byBzcGVjLCB0aGUgaXRlbSB3aXRoIHRoZSBsYXJnZXN0IGRpc3RhbmNlIGJldHdlZW4gaXRzXG4gICAgLy8gYmFzZWxpbmUgYW5kIHRoZSBlZGdlIG9mIHRoZSBjcm9zcyBheGlzIGlzIHBsYWNlZCBmbHVzaCB3aXRoIHRoYXQgZWRnZSxcbiAgICAvLyBtYWtpbmcgaXQgdGhlIGJhc2VsaW5lIG9mIHRoZSBjb250YWluZXIuXG4gICAgLy8gaHR0cHM6Ly93d3cudzMub3JnL1RSL2Nzcy1mbGV4Ym94LTEvI2Jhc2VsaW5lLXBhcnRpY2lwYXRpb25cbiAgICAvL1xuICAgIC8vIEZvciB0aGUgZmlsbGVkIHZhcmlhbnQsIHRoZSBwc2V1ZG8gOjpiZWZvcmUgc3RydXQgaXMgdGhlIFwibGFyZ2VzdFwiXG4gICAgLy8gY2hpbGQgc2luY2UgdGhlIGlucHV0IGhhcyBhIGhlaWdodCBvZiAyOHB4IGFuZCB0aGUgc3RydXQgaXMgNDBweC4gV2VcbiAgICAvLyBjYW4gZW11bGF0ZSBjZW50ZXIgYWxpZ25tZW50IGFuZCBmb3JjZSB0aGUgYmFzZWxpbmUgdG8gdXNlIHRoZSBpbnB1dFxuICAgIC8vIHRleHQgYnkgbWFraW5nIHRoZSBpbnB1dCB0aGUgZnVsbCBoZWlnaHQgb2YgdGhlIGNvbnRhaW5lciBhbmQgcmVtb3ZpbmdcbiAgICAvLyB0aGUgYmFzZWxpbmUgc3RydXQuXG4gICAgLy9cbiAgICAvLyBJRTExIGRvZXMgbm90IHJlc3BlY3QgdGhpcywgYW5kIG1ha2VzIHRoZSBsZWFkaW5nIGljb24gKGlmIHByZXNlbnQpXG4gICAgLy8gdGhlIGJhc2VsaW5lLlxuICAgIC5tZGMtc2VsZWN0X19zZWxlY3RlZC10ZXh0IHtcbiAgICAgIGhlaWdodDogMTAwJTtcbiAgICB9XG5cbiAgICAmOjpiZWZvcmUge1xuICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG4gIH1cbn1cbiIsIi8vXG4vLyBDb3B5cmlnaHQgMjAxNyBHb29nbGUgSW5jLlxuLy9cbi8vIFBlcm1pc3Npb24gaXMgaGVyZWJ5IGdyYW50ZWQsIGZyZWUgb2YgY2hhcmdlLCB0byBhbnkgcGVyc29uIG9idGFpbmluZyBhIGNvcHlcbi8vIG9mIHRoaXMgc29mdHdhcmUgYW5kIGFzc29jaWF0ZWQgZG9jdW1lbnRhdGlvbiBmaWxlcyAodGhlIFwiU29mdHdhcmVcIiksIHRvIGRlYWxcbi8vIGluIHRoZSBTb2Z0d2FyZSB3aXRob3V0IHJlc3RyaWN0aW9uLCBpbmNsdWRpbmcgd2l0aG91dCBsaW1pdGF0aW9uIHRoZSByaWdodHNcbi8vIHRvIHVzZSwgY29weSwgbW9kaWZ5LCBtZXJnZSwgcHVibGlzaCwgZGlzdHJpYnV0ZSwgc3VibGljZW5zZSwgYW5kL29yIHNlbGxcbi8vIGNvcGllcyBvZiB0aGUgU29mdHdhcmUsIGFuZCB0byBwZXJtaXQgcGVyc29ucyB0byB3aG9tIHRoZSBTb2Z0d2FyZSBpc1xuLy8gZnVybmlzaGVkIHRvIGRvIHNvLCBzdWJqZWN0IHRvIHRoZSBmb2xsb3dpbmcgY29uZGl0aW9uczpcbi8vXG4vLyBUaGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSBhbmQgdGhpcyBwZXJtaXNzaW9uIG5vdGljZSBzaGFsbCBiZSBpbmNsdWRlZCBpblxuLy8gYWxsIGNvcGllcyBvciBzdWJzdGFudGlhbCBwb3J0aW9ucyBvZiB0aGUgU29mdHdhcmUuXG4vL1xuLy8gVEhFIFNPRlRXQVJFIElTIFBST1ZJREVEIFwiQVMgSVNcIiwgV0lUSE9VVCBXQVJSQU5UWSBPRiBBTlkgS0lORCwgRVhQUkVTUyBPUlxuLy8gSU1QTElFRCwgSU5DTFVESU5HIEJVVCBOT1QgTElNSVRFRCBUTyBUSEUgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFksXG4vLyBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBTkQgTk9OSU5GUklOR0VNRU5ULiBJTiBOTyBFVkVOVCBTSEFMTCBUSEVcbi8vIEFVVEhPUlMgT1IgQ09QWVJJR0hUIEhPTERFUlMgQkUgTElBQkxFIEZPUiBBTlkgQ0xBSU0sIERBTUFHRVMgT1IgT1RIRVJcbi8vIExJQUJJTElUWSwgV0hFVEhFUiBJTiBBTiBBQ1RJT04gT0YgQ09OVFJBQ1QsIFRPUlQgT1IgT1RIRVJXSVNFLCBBUklTSU5HIEZST00sXG4vLyBPVVQgT0YgT1IgSU4gQ09OTkVDVElPTiBXSVRIIFRIRSBTT0ZUV0FSRSBPUiBUSEUgVVNFIE9SIE9USEVSIERFQUxJTkdTIElOXG4vLyBUSEUgU09GVFdBUkUuXG4vL1xuXG5AdXNlIFwic2Fzczpjb2xvclwiO1xuQHVzZSBcIkBtYXRlcmlhbC9ub3RjaGVkLW91dGxpbmUvdmFyaWFibGVzXCIgYXMgbm90Y2hlZC1vdXRsaW5lLXZhcmlhYmxlcztcbkB1c2UgXCJAbWF0ZXJpYWwvdGhlbWUvdmFyaWFibGVzXCI7XG5cbkBmdW5jdGlvbiBnZXQtb3V0bGluZWQtbGFiZWwtcG9zaXRpb24teSgkc2VsZWN0LWFuY2hvci1oZWlnaHQpIHtcbiAgQHJldHVybiAkc2VsZWN0LWFuY2hvci1oZWlnaHQgLyAyICsgbm90Y2hlZC1vdXRsaW5lLXZhcmlhYmxlcy4kbGFiZWwtYm94LWhlaWdodCAvIDI7XG59XG4kcmlwcGxlLXRhcmdldDogJy5tZGMtc2VsZWN0X19yaXBwbGUnO1xuJGFycm93LXBhZGRpbmc6IDUycHggIWRlZmF1bHQ7XG4kbGFiZWwtcGFkZGluZzogMTZweCAhZGVmYXVsdDtcbiRoZWlnaHQ6IDU2cHggIWRlZmF1bHQ7XG4kbWluaW11bS1oZWlnaHQtZm9yLWZpbGxlZC1sYWJlbDogNTJweCAhZGVmYXVsdDtcbiRmaWxsZWQtYmFzZWxpbmUtdG9wOiA0MHB4ICFkZWZhdWx0O1xuJHNlbGVjdGVkLXRleHQtaGVpZ2h0OiAyOHB4ICFkZWZhdWx0O1xuJGFuY2hvci1wYWRkaW5nLWxlZnQ6IDE2cHggIWRlZmF1bHQ7XG4kYW5jaG9yLXBhZGRpbmctbGVmdC13aXRoLWxlYWRpbmctaWNvbjogMCAhZGVmYXVsdDtcbiRhbmNob3ItcGFkZGluZy1yaWdodDogMCAhZGVmYXVsdDtcbiRvdXRsaW5lZC1zdHJva2Utd2lkdGg6IDJweCAhZGVmYXVsdDtcblxuJGluay1jb2xvcjogcmdiYSh2YXJpYWJsZXMucHJvcC12YWx1ZShvbi1zdXJmYWNlKSwgLjg3KSAhZGVmYXVsdDtcbiRkcm9wZG93bi1jb2xvcjogdmFyaWFibGVzLnByb3AtdmFsdWUob24tc3VyZmFjZSkgIWRlZmF1bHQ7XG4kaWNvbi1jb2xvcjogcmdiYSh2YXJpYWJsZXMucHJvcC12YWx1ZShvbi1zdXJmYWNlKSwgLjU0KSAhZGVmYXVsdDtcbiRsYWJlbC1jb2xvcjogcmdiYSh2YXJpYWJsZXMucHJvcC12YWx1ZShvbi1zdXJmYWNlKSwgLjYpICFkZWZhdWx0O1xuJGZvY3VzZWQtbGFiZWwtY29sb3I6IHJnYmEodmFyaWFibGVzLnByb3AtdmFsdWUocHJpbWFyeSksIC44NykgIWRlZmF1bHQ7XG4kYm90dG9tLWxpbmUtaWRsZS1jb2xvcjogcmdiYSh2YXJpYWJsZXMucHJvcC12YWx1ZShvbi1zdXJmYWNlKSwgLjQyKSAhZGVmYXVsdDtcbiRib3R0b20tbGluZS1ob3Zlci1jb2xvcjogcmdiYSh2YXJpYWJsZXMucHJvcC12YWx1ZShvbi1zdXJmYWNlKSwgLjg3KSAhZGVmYXVsdDtcbiRoZWxwZXItdGV4dC1jb2xvcjogcmdiYSh2YXJpYWJsZXMucHJvcC12YWx1ZShvbi1zdXJmYWNlKSwgLjYpICFkZWZhdWx0O1xuXG4kZmlsbC1jb2xvcjogY29sb3IubWl4KHZhcmlhYmxlcy5wcm9wLXZhbHVlKG9uLXN1cmZhY2UpLCB2YXJpYWJsZXMucHJvcC12YWx1ZShzdXJmYWNlKSwgNCUpICFkZWZhdWx0O1xuXG4kZHJvcGRvd24tb3BhY2l0eTogLjU0ICFkZWZhdWx0O1xuXG4vLyBEaXNhYmxlZCBTdHlsZXNcbiRkaXNhYmxlZC1sYWJlbC1jb2xvcjogcmdiYSh2YXJpYWJsZXMucHJvcC12YWx1ZShvbi1zdXJmYWNlKSwgLjM4KSAhZGVmYXVsdDtcbiRkaXNhYmxlZC1pY29uLWNvbG9yOiByZ2JhKHZhcmlhYmxlcy5wcm9wLXZhbHVlKG9uLXN1cmZhY2UpLCAuMzgpICFkZWZhdWx0O1xuJGRpc2FibGVkLWluay1jb2xvcjogcmdiYSh2YXJpYWJsZXMucHJvcC12YWx1ZShvbi1zdXJmYWNlKSwgLjM4KSAhZGVmYXVsdDtcbiRkaXNhYmxlZC1maWxsLWNvbG9yOiBjb2xvci5taXgodmFyaWFibGVzLnByb3AtdmFsdWUob24tc3VyZmFjZSksIHZhcmlhYmxlcy5wcm9wLXZhbHVlKHN1cmZhY2UpLCAyJSkgIWRlZmF1bHQ7XG4kZGlzYWJsZWQtZHJvcGRvd24tb3BhY2l0eTogLjM4ICFkZWZhdWx0O1xuXG4kb3V0bGluZWQtaWRsZS1ib3JkZXI6IHJnYmEodmFyaWFibGVzLnByb3AtdmFsdWUob24tc3VyZmFjZSksIC4zOCkgIWRlZmF1bHQ7XG4kb3V0bGluZWQtaG92ZXItYm9yZGVyOiByZ2JhKHZhcmlhYmxlcy5wcm9wLXZhbHVlKG9uLXN1cmZhY2UpLCAuODcpICFkZWZhdWx0O1xuXG4vLyBzaG91bGQgYmUgLjA2IGFmdGVyIG1kYy1zZWxlY3Qgb3BhY2l0eSBpcyBhcHBsaWVkXG4kb3V0bGluZWQtZGlzYWJsZWQtYm9yZGVyOiByZ2JhKHZhcmlhYmxlcy5wcm9wLXZhbHVlKG9uLXN1cmZhY2UpLCAuMTYpICFkZWZhdWx0O1xuXG4kbGFiZWwtcG9zaXRpb24teTogMTA2JSAhZGVmYXVsdDtcbiRvdXRsaW5lLWxhYmVsLW9mZnNldDogMTZweCAhZGVmYXVsdDtcbiRvdXRsaW5lZC1sYWJlbC1wb3NpdGlvbi15OiBnZXQtb3V0bGluZWQtbGFiZWwtcG9zaXRpb24teSgkaGVpZ2h0KSAhZGVmYXVsdDtcbiRvdXRsaW5lZC13aXRoLWxlYWRpbmctaWNvbi1sYWJlbC1wb3NpdGlvbi14OiAzMnB4ICFkZWZhdWx0O1xuXG4kZHJvcGRvd24tdHJhbnNpdGlvbi1kdXJhdGlvbjogMTUwbXMgIWRlZmF1bHQ7XG5cbi8vIEVycm9yIGNvbG9yc1xuJGVycm9yLWNvbG9yOiBlcnJvciAhZGVmYXVsdDtcbiIsIi5tb2RhbC1mdWxsIHtcblxuICAgIC5tZGMtZGlhbG9nX19zY3JpbSB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoJHByb2plY3QtbmF2eWJsdWUsIDAuNSk7XG4gICAgfVxuXG4gICAgLm1kYy1kaWFsb2dfX3N1cmZhY2Uge1xuICAgICAgICBtYXgtd2lkdGg6IGNhbGMoMTAwJSAtIDQwcHgpO1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgICAgICAgQG1lZGlhKG1pbi13aWR0aDogJHNjcmVlbi1zbSkge1xuICAgICAgICAgICAgbWF4LXdpZHRoOiA3MjBweDtcbiAgICAgICAgfVxuXG4gICAgICAgIEBtZWRpYShtaW4td2lkdGg6ICRzY3JlZW4tbWQpIHtcbiAgICAgICAgICAgIG1heC13aWR0aDogODgwcHg7XG4gICAgICAgIH1cblxuICAgICAgICBAbWVkaWEobWluLXdpZHRoOiAkc2NyZWVuLWxnKSB7XG4gICAgICAgICAgICBtYXgtd2lkdGg6IDEwODBweDtcbiAgICAgICAgfVxuXG4gICAgICAgIEBtZWRpYShtaW4td2lkdGg6ICRzY3JlZW4teGwpIHtcbiAgICAgICAgICAgIG1heC13aWR0aDogMTI4MHB4O1xuICAgICAgICB9XG5cbiAgICAgICAgQG1lZGlhKG1pbi13aWR0aDogJHNjcmVlbi14eGwpIHtcbiAgICAgICAgICAgIG1heC13aWR0aDogMTUwMHB4O1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgJl9fY29udGVudCB7XG4gICAgICAgIC5tZGMtZGlhbG9nICYge1xuICAgICAgICAgICAgbGV0dGVyLXNwYWNpbmc6IDAuMnB4O1xuICAgICAgICAgICAgcGFkZGluZzogNXB4O1xuXG4gICAgICAgICAgICBAbWVkaWEobWluLXdpZHRoOiAkc2NyZWVuLXNtKSB7XG4gICAgICAgICAgICAgICAgcGFkZGluZzogMTBweDtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgQG1lZGlhKG1pbi13aWR0aDogJHNjcmVlbi1sZykge1xuICAgICAgICAgICAgICAgIHBhZGRpbmc6IDIwcHg7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmX19jbG9zZSB7XG4gICAgICAgIGJvcmRlcjogMDtcbiAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB6LWluZGV4OiA1MDtcbiAgICAgICAgdG9wOiAycHg7XG4gICAgICAgIHJpZ2h0OiAycHg7XG4gICAgICAgIHdpZHRoOiA0OHB4O1xuICAgICAgICBoZWlnaHQ6IDQ4cHg7XG4gICAgICAgIG91dGxpbmU6IG5vbmU7XG4gICAgICAgIHVzZXItc2VsZWN0OiBub25lO1xuICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiBpY29ucy1wcm9qZWN0X19jbG9zZSgkcHJvamVjdC1ibGFjayk7XG4gICAgICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgICAgIGJhY2tncm91bmQtc2l6ZTogMThweCAxOHB4O1xuICAgICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXI7XG5cbiAgICAgICAgQG1lZGlhKG1pbi13aWR0aDogJHNjcmVlbi1zbSkge1xuICAgICAgICAgICAgdG9wOiAyNHB4O1xuICAgICAgICAgICAgcmlnaHQ6IDI0cHg7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLXNpemU6IDIycHggMjJweDtcbiAgICAgICAgfVxuXG4gICAgICAgICY6aG92ZXIsXG4gICAgICAgICY6Zm9jdXMge1xuICAgICAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgICAgICAgICAgb3V0bGluZTogbm9uZTtcbiAgICAgICAgfVxuICAgIH1cbn1cbiIsIi5yZWdpc3RlciB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gICAgQG1lZGlhKG1pbi13aWR0aDogJHNjcmVlbi1zbSkge1xuICAgICAgICBtYXgtd2lkdGg6IDc2OHB4O1xuICAgIH1cblxuICAgIEBtZWRpYShtaW4td2lkdGg6ICRzY3JlZW4tbWQpIHtcbiAgICAgICAgbWF4LXdpZHRoOiAkc2l0ZS1jb250YWluZXI7XG4gICAgICAgIC8vbWFyZ2luLWJvdHRvbTogMzVweDsgLy8gYm90dG9tIHNwYWNlXG4gICAgfVxuXG4gICAgJl9fdGl0bGUge1xuICAgICAgICBmb250LXNpemU6IDI4cHg7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgICAgIGNvbG9yOiAkcHJvamVjdC1wcmltYXJ5O1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAzOXB4O1xuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgIG1hcmdpbi10b3A6IDM1cHg7XG4gICAgICAgIGxldHRlci1zcGFjaW5nOiAwLjJweDtcblxuICAgICAgICBAbWVkaWEobWluLXdpZHRoOiAkc2NyZWVuLW1kKSB7XG4gICAgICAgICAgICBsZXR0ZXItc3BhY2luZzogMC41cHg7XG4gICAgICAgICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgICAgICAgICAgZm9udC1zaXplOiA0OHB4O1xuICAgICAgICAgICAgbWFyZ2luLXRvcDogNXB4O1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMzBweDtcblxuICAgICAgICB9XG5cbiAgICAgICAgQG1lZGlhKG1pbi13aWR0aDogJHNjcmVlbi14eGwpIHtcbiAgICAgICAgICAgIHBhZGRpbmctbGVmdDogNDJweDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgICZfX3N1YnRpdGxlIHtcbiAgICAgICAgZm9udC13ZWlnaHQ6IDMwMDtcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICBmb250LXNpemU6IDIwcHg7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDI4cHg7XG5cbiAgICAgICAgQG1lZGlhKG1pbi13aWR0aDogJHNjcmVlbi1tZCkge1xuICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgICAgICAgICAgIHRleHQtYWxpZ246IGluaGVyaXQ7XG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMjRweDtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDM2cHg7XG4gICAgICAgICAgICBsZXR0ZXItc3BhY2luZzogMC42cHg7XG4gICAgICAgIH1cblxuICAgICAgICBAbWVkaWEobWluLXdpZHRoOiAkc2NyZWVuLXh4bCkge1xuICAgICAgICAgICAgbWFyZ2luLXRvcDogMzJweDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5icmVhZGNydW1iIHtcbiAgICAgICAgZGlzcGxheTogbm9uZTtcblxuICAgICAgICBAbWVkaWEobWluLXdpZHRoOiAkc2NyZWVuLW1kKSB7XG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgfVxuICAgIH1cblxuICAgICZfX3JvdyB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG5cbiAgICAgICAgQG1lZGlhKG1pbi13aWR0aDogJHNjcmVlbi1tZCkge1xuICAgICAgICAgICAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgICAgICAgfVxuICAgIH1cblxuICAgICZfX2NvbnRlbnQge1xuICAgICAgICB3aWR0aDogMTAwJTtcblxuICAgICAgICBAbWVkaWEobWluLXdpZHRoOiAkc2NyZWVuLW1kKSB7XG4gICAgICAgICAgICBmbGV4OiAwIDEgY2FsYygxMDAlIC0gMzc1cHgpO1xuICAgICAgICAgICAgbWF4LXdpZHRoOiBjYWxjKDEwMCUgLSAzNzVweCk7XG4gICAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiA0MHB4O1xuICAgICAgICB9XG5cbiAgICAgICAgQG1lZGlhKG1pbi13aWR0aDogJHNjcmVlbi14eGwpIHtcbiAgICAgICAgICAgIGZsZXg6IDAgMSA3MTBweDtcbiAgICAgICAgICAgIG1heC13aWR0aDogNzEwcHg7XG4gICAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDQycHg7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmX19jb250ZXh0IHtcbiAgICAgICAgbWFyZ2luLXRvcDogNDVweDtcbiAgICAgICAgbWFyZ2luOiA0NXB4IC0yM3B4IC0zMHB4IC0yM3B4O1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkcHJvamVjdC1ibHVlLWw5MDA7XG5cbiAgICAgICAgQG1lZGlhKG1pbi13aWR0aDogJHNjcmVlbi1zbSkge1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgICAgIH1cblxuICAgICAgICBAbWVkaWEobWluLXdpZHRoOiAkc2NyZWVuLW1kKSB7XG4gICAgICAgICAgICBtYXJnaW46IDAgYXV0bztcbiAgICAgICAgICAgIGZsZXg6IDAgMCA0MjVweDtcbiAgICAgICAgICAgIG1heC13aWR0aDogNDI1cHg7XG4gICAgICAgIH1cblxuICAgICAgICBAbWVkaWEobWluLXdpZHRoOiAkc2NyZWVuLXhsKSB7XG4gICAgICAgICAgICBmbGV4OiAwIDAgNDc1cHg7XG4gICAgICAgICAgICBtYXgtd2lkdGg6IDQ3NXB4O1xuICAgICAgICB9XG5cbiAgICAgICAgQG1lZGlhKG1pbi13aWR0aDogJHNjcmVlbi14eGwpIHtcbiAgICAgICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgICAgIGZsZXg6IDAgMCA1NDBweDtcbiAgICAgICAgICAgIG1heC13aWR0aDogNTQwcHg7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmX19tYXJrZXRpbmctbm90ZSB7XG4gICAgICAgIG1hcmdpbi10b3A6IDI1cHg7XG4gICAgICAgIGZvbnQtc2l6ZTogMTIuNXB4O1xuICAgICAgICBwYWRkaW5nLWxlZnQ6IDMzcHg7XG5cbiAgICAgICAgQG1lZGlhKG1pbi13aWR0aDogJHNjcmVlbi1tZCkge1xuICAgICAgICAgICAgZm9udC1zaXplOiAxNnB4O1xuICAgICAgICAgICAgbWFyZ2luLXRvcDogMzBweDtcbiAgICAgICAgfVxuXG4gICAgICAgIEBtZWRpYShtaW4td2lkdGg6ICRzY3JlZW4teHhsKSB7XG4gICAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDQycHg7XG4gICAgICAgICAgICBmb250LXNpemU6IDE2cHg7XG4gICAgICAgICAgICBtYXJnaW4tdG9wOiAzMHB4O1xuICAgICAgICB9XG5cbiAgICAgICAgcCB7XG4gICAgICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmX19wZXJzb25hbC1kYXRhLXRvZ2dsZSB7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiA0MDA7XG4gICAgICAgIHRleHQtdHJhbnNmb3JtOiBub25lO1xuXG4gICAgICAgIC5zaXRlLWZvcm0gJiB7XG4gICAgICAgICAgICBmb250LXNpemU6IDEyLjVweDtcbiAgICAgICAgICAgIGhlaWdodDogYXV0bztcbiAgICAgICAgICAgIG1pbi1oZWlnaHQ6IDQ4cHg7XG4gICAgICAgICAgICBsaW5lLWhlaWdodDogMS4yO1xuICAgICAgICAgICAgcGFkZGluZzogNHB4IDE1cHg7XG4gICAgICAgICAgICBtYXJnaW4tbGVmdDogLTE1cHg7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAtMTZweDtcblxuICAgICAgICAgICAgQG1lZGlhKG1pbi13aWR0aDogJHNjcmVlbi1tZCkge1xuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMTZweDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgICZfX3BlcnNvbmFsLWRhdGEtaW5mbyB7XG4gICAgICAgIHAge1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogOHB4O1xuICAgICAgICB9XG5cbiAgICAgICAgYSB7XG4gICAgICAgICAgICBmb250LXdlaWdodDogNDAwO1xuXG4gICAgICAgICAgICAmOmhvdmVyLFxuICAgICAgICAgICAgJjpmb2N1cyB7XG4gICAgICAgICAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICBoNCB7XG4gICAgICAgICAgICBtYXJnaW4tdG9wOiAyMHB4O1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogOHB4O1xuICAgICAgICAgICAgZm9udC1zaXplOiBpbmhlcml0O1xuICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICAgICAgfVxuXG4gICAgICAgIHVsIHtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgICAgIH1cblxuICAgICAgICBsaSB7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiA4cHg7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmX19maWd1cmUge1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgICAgIG1hcmdpbjogMCBhdXRvO1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjNmNWY3O1xuXG4gICAgICAgIEBtZWRpYShtaW4td2lkdGg6ICRzY3JlZW4tc20pIHtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDQwcHg7XG4gICAgICAgICAgICBtYXgtd2lkdGg6IDM3NXB4O1xuICAgICAgICB9XG5cbiAgICAgICAgQG1lZGlhKG1pbi13aWR0aDogJHNjcmVlbi1tZCkge1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICAgICAgICAgIG1heC13aWR0aDogbm9uZTtcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgJl9fY2FudmFzIHtcbiAgICAgICAgZGlzcGxheTogbm9uZTtcblxuICAgICAgICBAbWVkaWEobWluLXdpZHRoOiAkc2NyZWVuLW1kKSB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkcHJvamVjdC1wYW50b25lLXdhcm0tZ3JleS0xO1xuICAgICAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgIG1heC13aWR0aDogMTAwJTtcbiAgICAgICAgICAgIHVzZXItc2VsZWN0OiBub25lO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgJl9faW1nIHtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICB1c2VyLXNlbGVjdDogbm9uZTtcbiAgICAgICAgb3JkZXI6IDI7XG5cbiAgICAgICAgY2FudmFzICsgcGljdHVyZSAmIHtcbiAgICAgICAgICAgIEBtZWRpYShtaW4td2lkdGg6ICRzY3JlZW4tbWQpIHtcbiAgICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICAgICAgbGVmdDogMDtcbiAgICAgICAgICAgICAgICB0b3A6IDA7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmX19waWN0dXJlIHtcbiAgICAgICAgb3JkZXI6IDI7XG4gICAgICAgIG1hcmdpbi10b3A6IC0xMDAlO1xuICAgIH1cblxuICAgICZfX2ZpZ2NhcHRpb24ge1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgcGFkZGluZzogNDVweCAxNXB4IDIwcHggMTVweDtcbiAgICAgICAgb3JkZXI6IDE7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAgICAgICBAbWVkaWEobWluLXdpZHRoOiAkc2NyZWVuLXh4cykge1xuICAgICAgICAgICAgcGFkZGluZzogNDVweCAzMHB4IDIwcHggMTVweDtcbiAgICAgICAgfVxuXG4gICAgICAgIEBtZWRpYShtaW4td2lkdGg6ICRzY3JlZW4tbWQpIHtcbiAgICAgICAgICAgIHBhZGRpbmc6IDMwcHggMTVweCAyMHB4IDE1cHg7XG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICB0b3A6IDA7XG4gICAgICAgICAgICBsZWZ0OiAwO1xuICAgICAgICB9XG5cbiAgICAgICAgQG1lZGlhKG1pbi13aWR0aDogJHNjcmVlbi14eGwpIHtcbiAgICAgICAgICAgIHBhZGRpbmc6IDMwcHggNDBweDtcbiAgICAgICAgfVxuXG4gICAgICAgIC5lenJpY2h0ZXh0LWZpZWxkIHVsOm5vdCgubWRjLWxpc3QpOm5vdCguc2hhcmVfX2xpbmtzKSB7XG4gICAgICAgICAgICBtYXJnaW4tdG9wOiAzNXB4O1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgJl9fcGFzc3dvcmRzIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMzRweDtcblxuICAgICAgICBAbWVkaWEobWluLXdpZHRoOiAkc2NyZWVuLW1kKSB7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAyOHB4O1xuICAgICAgICB9XG5cbiAgICAgICAgKyAubWRjLWZvcm0tZmllbGQge1xuICAgICAgICAgICAgcGFkZGluZy1yaWdodDogMjBweFxuICAgICAgICB9XG4gICAgfVxuXG4gICAgJl9fc2VuZCB7XG4gICAgICAgIG1hcmdpbjogMCBhdXRvO1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICB0ZXh0LXRyYW5zZm9ybTogbm9uZTtcbiAgICAgICAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIG1hcmdpbi10b3A6IDQ1cHg7XG5cbiAgICAgICAgQG1lZGlhKG1pbi13aWR0aDogJHNjcmVlbi1zbSkge1xuICAgICAgICAgICAgd2lkdGg6IGF1dG87XG4gICAgICAgIH1cblxuICAgICAgICBAbWVkaWEobWluLXdpZHRoOiAkc2NyZWVuLXh4bCkge1xuICAgICAgICAgICAgbWFyZ2luLXRvcDogOTJweDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgICZfX2NvbnRleHQtdGl0bGUge1xuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgIGZvbnQtc2l6ZTogMjBweDtcbiAgICAgICAgZm9udC13ZWlnaHQ6IDMwMDtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMzdweDtcblxuICAgICAgICBAbWVkaWEobWluLXdpZHRoOiAkc2NyZWVuLW1kKSB7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAyMHB4O1xuICAgICAgICB9XG5cbiAgICAgICAgQG1lZGlhKG1pbi13aWR0aDogJHNjcmVlbi14eGwpIHtcbiAgICAgICAgICAgIHRleHQtYWxpZ246IGluaGVyaXQ7XG4gICAgICAgICAgICBmb250LXNpemU6IDI0cHg7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiA0MnB4O1xuICAgICAgICAgICAgbGV0dGVyLXNwYWNpbmc6IDAuNnB4O1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgJl9fY29udGV4dC1saXN0IHtcbiAgICAgICAgZm9udC13ZWlnaHQ6IDMwMDtcbiAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgbGlzdC1zdHlsZTogbm9uZTtcblxuICAgICAgICBAbWVkaWEobWluLXdpZHRoOiAkc2NyZWVuLXh4bCkge1xuICAgICAgICAgICAgZm9udC1zaXplOiAyMXB4O1xuICAgICAgICB9XG5cbiAgICAgICAgbGkge1xuICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiAzMnB4O1xuICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMTJweDtcblxuICAgICAgICAgICAgQG1lZGlhKG1pbi13aWR0aDogJHNjcmVlbi14eGwpIHtcbiAgICAgICAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDUwcHg7XG4gICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMzBweDtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgICAgIGxlZnQ6IDJweDtcbiAgICAgICAgICAgICAgICB0b3A6IDNweDtcbiAgICAgICAgICAgICAgICB3aWR0aDogMThweDtcbiAgICAgICAgICAgICAgICBoZWlnaHQ6IDE4cHg7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXI7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogaWNvbnMtcHJvamVjdF9fY2hlY2stY2lyY2xlKCRwcm9qZWN0LXByaW1hcnkpO1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtc2l6ZTogMThweCAxOHB4O1xuXG4gICAgICAgICAgICAgICAgQG1lZGlhKG1pbi13aWR0aDogJHNjcmVlbi14eGwpIHtcbiAgICAgICAgICAgICAgICAgICAgdG9wOiA1cHg7XG4gICAgICAgICAgICAgICAgICAgIGxlZnQ6IDZweDtcbiAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDIycHg7XG4gICAgICAgICAgICAgICAgICAgIGhlaWdodDogMjJweDtcbiAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZC1zaXplOiAyMnB4IDIycHg7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgJl9fbmV3c2xldHRlci10b29sdGlwIHtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB0b3A6IDlweDtcbiAgICAgICAgcmlnaHQ6IDA7XG5cbiAgICAgICAgQG1lZGlhKG1pbi13aWR0aDogJHNjcmVlbi14eHMpIHtcbiAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgICAgIHJpZ2h0OiBhdXRvO1xuICAgICAgICB9XG5cbiAgICAgICAgQG1lZGlhKG1pbi13aWR0aDogJHNjcmVlbi14eGwpIHtcbiAgICAgICAgICAgIHRvcDogNnB4O1xuICAgICAgICB9XG4gICAgfVxufSIsIi50b2FzdHMge1xuICAgIHBvc2l0aW9uOiBmaXhlZDtcbiAgICB0b3A6IDA7XG4gICAgbGVmdDogMDtcbiAgICBtYXJnaW46IGF1dG87XG4gICAgLy8gei1pbmRleDogMTgxMjsgY2hhbmdlZCB0byBiZSBvdmVyIG1vZGFsXG4gICAgei1pbmRleDogMTkxMjtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgICB1c2VyLXNlbGVjdDogbm9uZTtcblxuICAgIEBtZWRpYShtaW4td2lkdGg6ICRzY3JlZW4tbWQpIHtcbiAgICAgICAgLy8gei1pbmRleDogMTI7XG4gICAgICAgIHotaW5kZXg6IDE5MTI7XG4gICAgICAgIHdpZHRoOiAwO1xuICAgICAgICBsZWZ0OiBhdXRvO1xuICAgICAgICByaWdodDogMDtcbiAgICAgICAgdG9wOiAwO1xuICAgICAgICBoZWlnaHQ6IDEwMHZoO1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBmbGV4LWVuZDtcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICB9XG59XG5cbi50b2FzdCB7XG4gICAgY29sb3I6ICRwcm9qZWN0LXdoaXRlO1xuICAgIGZvbnQtd2VpZ2h0OiAzMDA7XG4gICAgYm94LXNoYWRvdzogbm9uZTtcbiAgICBib3JkZXI6IG5vbmU7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgbWFyZ2luOiAwO1xuICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICAgIHVzZXItc2VsZWN0OiBub25lO1xuICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgIGJvcmRlci1yYWRpdXM6IDA7XG4gICAgbWF4LXdpZHRoOiBub25lO1xuICAgIGxpbmUtaGVpZ2h0OiAxLjQ7XG4gICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIHJnYmEoJHByb2plY3Qtd2hpdGUsIDAuNSk7XG4gICAgZmxleC1iYXNpczogYXV0bztcblxuICAgIEBtZWRpYShtaW4td2lkdGg6ICRzY3JlZW4tbWQpIHtcbiAgICAgICAgd2lkdGg6IDI0MHB4O1xuICAgICAgICBtYXJnaW46IDIwcHggMjBweCAxMHB4IDA7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRwcm9qZWN0LWdyZWVuO1xuICAgICAgICBib3JkZXItcmFkaXVzOiA1cHg7XG4gICAgICAgIGJveC1zaGFkb3c6IC0zcHggM3B4IDZweCByZ2JhKDAsIDAsIDAsIDAuMTIpO1xuICAgICAgICBib3JkZXItYm90dG9tOiBub25lO1xuICAgIH1cbiAgICBcbiAgICAmLnRvYXN0LS13YXJuaW5nIHtcbiAgICAgICAgQG1lZGlhKG1pbi13aWR0aDogJHNjcmVlbi1tZCkge1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHByb2plY3Qtd2FybmluZztcbiAgICAgICAgfVxuICAgIH1cbiAgICBcbiAgICAmLnRvYXN0LS1hbGVydCB7XG4gICAgICAgIEBtZWRpYShtaW4td2lkdGg6ICRzY3JlZW4tbWQpIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRwcm9qZWN0LWVycm9yO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgYSB7XG4gICAgICAgIGNvbG9yOiAkcHJvamVjdC13aGl0ZTtcbiAgICB9XG5cbiAgICAmLWhlYWRlciB7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkcHJvamVjdC1ibHVlO1xuICAgICAgICBjb2xvcjogJHByb2plY3Qtd2hpdGU7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiAzMDA7XG4gICAgICAgIGZvbnQtc2l6ZTogMTYuNXB4O1xuICAgICAgICBib3JkZXI6IG5vbmU7XG4gICAgICAgIHBvaW50ZXItZXZlbnRzOiBhdXRvO1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgaGVpZ2h0OiA1OHB4O1xuICAgICAgICBsaW5lLWhlaWdodDogNThweDtcbiAgICAgICAgcGFkZGluZzogMCA1NXB4IDAgNTBweDtcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAtM3B4O1xuICAgIFxuICAgICAgICBAbWVkaWEobWluLXdpZHRoOiAkc2NyZWVuLW1kKSB7XG4gICAgICAgICAgICBwYWRkaW5nOiAxNXB4IDI1cHggMCAxNXB4O1xuICAgICAgICAgICAgZm9udC1zaXplOiAxOXB4O1xuICAgICAgICAgICAgaGVpZ2h0OiBhdXRvO1xuICAgICAgICAgICAgbGluZS1oZWlnaHQ6IGluaGVyaXQ7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICAgICAgfVxuICAgIFxuICAgICAgICAudG9hc3QtLXdhcm5pbmcgJiB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkcHJvamVjdC13YXJuaW5nO1xuICAgIFxuICAgICAgICAgICAgQG1lZGlhKG1pbi13aWR0aDogJHNjcmVlbi1tZCkge1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgXG4gICAgICAgIC50b2FzdC0tYWxlcnQgJiB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkcHJvamVjdC1lcnJvcjtcbiAgICBcbiAgICAgICAgICAgIEBtZWRpYShtaW4td2lkdGg6ICRzY3JlZW4tbWQpIHtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICAgICAgICAgICAgd2lkdGg6IDE4cHg7XG4gICAgICAgICAgICBoZWlnaHQ6IDE4cHg7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiBpY29ucy1wcm9qZWN0X19jaGVjay1jaXJjbGUtaW52ZXJ0KCRwcm9qZWN0LWJsdWUpO1xuICAgICAgICAgICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICAgICAgICAgIGJhY2tncm91bmQtc2l6ZTogMTAwJTtcbiAgICAgICAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlcjtcbiAgICAgICAgICAgIG1hcmdpbi1yaWdodDogNXB4O1xuICAgICAgICAgICAgXG4gICAgICAgICAgICBAbWVkaWEobWluLXdpZHRoOiAkc2NyZWVuLW1kKSB7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogaWNvbnMtcHJvamVjdF9fY2hlY2stY2lyY2xlLWludmVydCgkcHJvamVjdC1ncmVlbik7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBcbiAgICAgICAgICAgIC50b2FzdC0td2FybmluZyAmIHtcbiAgICAgICAgICAgICAgICB3aWR0aDogMjBweDtcbiAgICAgICAgICAgICAgICBoZWlnaHQ6IDIwcHg7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogaWNvbnMtbWF0ZXJpYWxfX3dhcm5pbmcoJHByb2plY3Qtd2hpdGUpO1xuICAgIFxuICAgICAgICAgICAgICAgIEBtZWRpYShtaW4td2lkdGg6ICRzY3JlZW4tbWQpIHtcbiAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogaWNvbnMtbWF0ZXJpYWxfX3dhcm5pbmcoJHByb2plY3Qtd2hpdGUpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICBcbiAgICAgICAgICAgIC50b2FzdC0tYWxlcnQgJiB7XG4gICAgICAgICAgICAgICAgd2lkdGg6IDIwcHg7XG4gICAgICAgICAgICAgICAgaGVpZ2h0OiAyMHB4O1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IGljb25zLW1hdGVyaWFsX19lcnJvcigkcHJvamVjdC13aGl0ZSk7XG4gICAgXG4gICAgICAgICAgICAgICAgQG1lZGlhKG1pbi13aWR0aDogJHNjcmVlbi1tZCkge1xuICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiBpY29ucy1tYXRlcmlhbF9fZXJyb3IoJHByb2plY3Qtd2hpdGUpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgICYtYm9keSB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRwcm9qZWN0LWJsdWU7XG4gICAgICAgIHBvaW50ZXItZXZlbnRzOiBhdXRvO1xuICAgICAgICBmb250LXNpemU6IDE2LjVweDtcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICBwYWRkaW5nOiA1cHggMjNweCAyM3B4IDIzcHg7XG4gICAgXG4gICAgICAgIC50b2FzdC0td2FybmluZyAmIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRwcm9qZWN0LXdhcm5pbmc7XG4gICAgICAgIH1cbiAgICBcbiAgICAgICAgLnRvYXN0LS1hbGVydCAmIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRwcm9qZWN0LWVycm9yO1xuICAgICAgICB9XG5cbiAgICAgICAgQG1lZGlhKG1pbi13aWR0aDogJHNjcmVlbi1tZCkge1xuICAgICAgICAgICAgcGFkZGluZzogMTVweDtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMTlweDtcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgICAgICB9XG4gICAgXG4gICAgICAgIC50b2FzdC0td2FybmluZyAmIHtcbiAgICAgICAgICAgIEBtZWRpYShtaW4td2lkdGg6ICRzY3JlZW4tbWQpIHtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIFxuICAgICAgICAudG9hc3QtLWFsZXJ0ICYge1xuICAgICAgICAgICAgQG1lZGlhKG1pbi13aWR0aDogJHNjcmVlbi1tZCkge1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgLmNsb3NlIHtcbiAgICAgICAgY29sb3I6ICRwcm9qZWN0LXdoaXRlO1xuICAgICAgICBvcGFjaXR5OiAxO1xuICAgIH1cbn1cbiIsImJvZHkge1xuICAgICY6YmVmb3JlIHtcbiAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG59XG5cbi5tYWluIHtcbiAgICBvcGFjaXR5OiAxO1xufVxuXG4uc2xpY2stc2xpZGVyIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBcbiAgICAmLnByb2R1Y3QtY2FyZF9fY29udHJvbCB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgXG4gICAgICAgIEBtZWRpYShtaW4td2lkdGg6ICRzY3JlZW4tbWQpIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICB9XG4gICAgfVxufSIsIi5tb2RhbC1mdWxsLS1uZXdzbGV0dGVyIHtcbiAgLm1vZGFsLWZ1bGwge1xuICAgICZfX2NvbnRlbnQge1xuICAgICAgcGFkZGluZzogMDtcbiAgICB9XG5cbiAgICAmX19jbG9zZSB7XG4gICAgICBiYWNrZ3JvdW5kLWltYWdlOiBpY29ucy1wcm9qZWN0X19jbG9zZSgkcHJvamVjdC13aGl0ZSk7XG4gICAgfVxuICB9XG5cbiAgQG1lZGlhIChtaW4td2lkdGg6IDk5MnB4KSB7XG4gICAgLm1kYy1kaWFsb2dfX3N1cmZhY2Uge1xuICAgICAgbWF4LXdpZHRoOiA3NTBweDtcbiAgICB9XG4gIH1cbn1cblxuLm1vZGFsLW5ld3NsZXR0ZXIge1xuICAmX19yb3cge1xuICAgIG1hcmdpbi1ib3R0b206IDIwcHg7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gICAgJi0tY2VudGVyIHtcbiAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgIH1cbiAgfVxuXG4gICZfX2Zvcm0ge1xuICAgIHBhZGRpbmc6IDAgNTBweDtcbiAgICBtYXJnaW4tdG9wOiAtNDVweDtcblxuICAgIC5tZGMtdGV4dC1maWVsZCB7XG4gICAgICBib3JkZXI6IDFweCBzb2xpZCAkcHJvamVjdC11bmljZWY7XG4gICAgICBib3JkZXItcmFkaXVzOiAwO1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgIH1cblxuICAgIC5jdXN0b20tdmFsaWRhdGlvbi10ZXh0IHtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIG1hcmdpbjogYXV0bztcbiAgICAgIG1heC13aWR0aDogY2FsYygxMDAlIC0gMjZweCk7XG4gICAgICBib3R0b206IC0xNHB4O1xuICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoNTAlKTtcbiAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSg1MCUpO1xuICAgICAgbGVmdDogMDtcbiAgICAgIGZvbnQtc2l6ZTogMTAuNXB4O1xuICAgICAgbGluZS1oZWlnaHQ6IDE7XG4gICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgcGFkZGluZy1sZWZ0OiAycHg7XG4gICAgICBwYWRkaW5nLXJpZ2h0OiAycHg7XG4gICAgICBmb250LXdlaWdodDogNTAwO1xuICAgICAgLXdlYmtpdC11c2VyLXNlbGVjdDogbm9uZTtcbiAgICAgIC1tb3otdXNlci1zZWxlY3Q6IG5vbmU7XG4gICAgICAtbXMtdXNlci1zZWxlY3Q6IG5vbmU7XG4gICAgICB1c2VyLXNlbGVjdDogbm9uZTtcbiAgICAgIGNvbG9yOiAkcHJvamVjdC1uZXctcmVkICFpbXBvcnRhbnQ7XG4gICAgfVxuXG4gICAgLm1kYy10ZXh0LWZpZWxkLS1pbnZhbGlkIHtcbiAgICAgIGJvcmRlci1jb2xvcjogJHByb2plY3QtbmV3LXJlZCAhaW1wb3J0YW50O1xuXG4gICAgICBsYWJlbCB7XG4gICAgICAgIGNvbG9yOiAkcHJvamVjdC1uZXctcmVkICFpbXBvcnRhbnQ7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLm1kYy1jaGVja2JveC0taW52YWxpZCB7XG4gICAgICAmIH4gbGFiZWwge1xuICAgICAgICBjb2xvcjogJHByb2plY3QtbmV3LXJlZCAhaW1wb3J0YW50O1xuICAgICAgfVxuICAgIH1cblxuICAgIC5tZGMtdGV4dC1maWVsZC0taW52YWxpZCB+IC5jdXN0b20tdmFsaWRhdGlvbi10ZXh0LFxuICAgIC5tZGMtY2hlY2tib3gtLWludmFsaWQgfiAuY3VzdG9tLXZhbGlkYXRpb24tdGV4dCB7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICB9XG4gIH1cblxuICAmX19zZW5kIHtcbiAgICB3aWR0aDogNjAlO1xuICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICAgIG1hcmdpbi1yaWdodDogYXV0bztcbiAgfVxuXG4gICZfX2luZm8ge1xuICAgIGZvbnQtd2VpZ2h0OiAzMDA7XG4gICAgZm9udC1zaXplOiAxMnB4O1xuICAgIGxpbmUtaGVpZ2h0OiAxNnB4O1xuICAgIG1hcmdpbi10b3A6IDEwcHg7XG4gIH1cblxuICAuc2l0ZS1mb3JtIC5tZGMtZm9ybS1maWVsZC0tY2hlY2tib3ggbGFiZWwge1xuICAgIGZvbnQtc2l6ZTogMTRweCAhaW1wb3J0YW50O1xuICB9XG5cbiAgJl9fZmlndXJlIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gIH1cblxuICAmX19jYW52YXMge1xuICAgIG1hcmdpbjogMDtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgdXNlci1zZWxlY3Q6IG5vbmU7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gIH1cblxuICAmX19pbWcge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHVzZXItc2VsZWN0OiBub25lO1xuXG4gICAgY2FudmFzICsgcGljdHVyZSAmIHtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIGxlZnQ6IDA7XG4gICAgICB0b3A6IDA7XG4gICAgfVxuICB9XG59XG5cbi5tb2RhbC1uZXdzbGV0dGVyLXRoYW5rcyB7XG4gICZfX2ZpZ3VyZSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICB9XG5cbiAgJl9fY2FudmFzIHtcbiAgICBtYXJnaW46IDA7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgIHVzZXItc2VsZWN0OiBub25lO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICB9XG5cbiAgJl9faW1nIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB1c2VyLXNlbGVjdDogbm9uZTtcblxuICAgIGNhbnZhcyArIHBpY3R1cmUgJiB7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICBsZWZ0OiAwO1xuICAgICAgdG9wOiAwO1xuICAgIH1cbiAgfVxufSJdLCJuYW1lcyI6W10sInNvdXJjZVJvb3QiOiIifQ==*/