.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 {
  -moz-osx-font-smoothing: grayscale;
  -webkit-font-smoothing: antialiased;
  font-family: Roboto, sans-serif;
  /* @alternate */
  font-family: var(--mdc-typography-subtitle1-font-family, var(--mdc-typography-font-family, Roboto, sans-serif));
  font-size: 1rem;
  /* @alternate */
  font-size: var(--mdc-typography-subtitle1-font-size, 1rem);
  line-height: 1.75rem;
  /* @alternate */
  line-height: var(--mdc-typography-subtitle1-line-height, 1.75rem);
  font-weight: 400;
  /* @alternate */
  font-weight: var(--mdc-typography-subtitle1-font-weight, 400);
  letter-spacing: 0.009375em;
  /* @alternate */
  letter-spacing: var(--mdc-typography-subtitle1-letter-spacing, 0.009375em);
  text-decoration: inherit;
  /* @alternate */
  text-decoration: var(--mdc-typography-subtitle1-text-decoration, inherit);
  text-transform: inherit;
  /* @alternate */
  text-transform: var(--mdc-typography-subtitle1-text-transform, inherit);
  /* @alternate */
  line-height: 1.5rem;
  margin: 0;
  padding: 8px 0;
  list-style-type: none;
  color: rgba(0, 0, 0, 0.87);
  /* @alternate */
  color: var(--mdc-theme-text-primary-on-background, rgba(0, 0, 0, 0.87));
}

.mdc-list:focus {
  outline: none;
}

.mdc-list-item {
  height: 48px;
}

.mdc-list-item__secondary-text {
  color: rgba(0, 0, 0, 0.54);
  /* @alternate */
  color: var(--mdc-theme-text-secondary-on-background, rgba(0, 0, 0, 0.54));
}

.mdc-list-item__graphic {
  background-color: transparent;
}

.mdc-list-item__graphic {
  color: rgba(0, 0, 0, 0.38);
  /* @alternate */
  color: var(--mdc-theme-text-icon-on-background, rgba(0, 0, 0, 0.38));
}

.mdc-list-item__meta {
  color: rgba(0, 0, 0, 0.38);
  /* @alternate */
  color: var(--mdc-theme-text-hint-on-background, rgba(0, 0, 0, 0.38));
}

.mdc-list-group__subheader {
  color: rgba(0, 0, 0, 0.87);
  /* @alternate */
  color: var(--mdc-theme-text-primary-on-background, rgba(0, 0, 0, 0.87));
}

.mdc-list-item--disabled .mdc-list-item__text {
  opacity: 0.38;
}

.mdc-list-item--disabled .mdc-list-item__text,
.mdc-list-item--disabled .mdc-list-item__primary-text,
.mdc-list-item--disabled .mdc-list-item__secondary-text {
  color: #000;
  /* @alternate */
  color: var(--mdc-theme-on-surface, #000);
}

.mdc-list--dense {
  padding-top: 4px;
  padding-bottom: 4px;
  font-size: 0.812rem;
}

.mdc-list-item {
  display: flex;
  position: relative;
  align-items: center;
  justify-content: flex-start;
  padding: 0 16px;
  overflow: hidden;
}

.mdc-list-item:focus {
  outline: none;
}

.mdc-list-item--selected,
.mdc-list-item--activated {
  color: #00AEEF;
  /* @alternate */
  color: var(--mdc-theme-primary, #00AEEF);
}

.mdc-list-item--selected .mdc-list-item__graphic,
.mdc-list-item--activated .mdc-list-item__graphic {
  color: #00AEEF;
  /* @alternate */
  color: var(--mdc-theme-primary, #00AEEF);
}

.mdc-list-item__graphic {
  /* @noflip */
  margin-left: 0;
  /* @noflip */
  margin-right: 32px;
  width: 24px;
  height: 24px;
  flex-shrink: 0;
  align-items: center;
  justify-content: center;
  fill: currentColor;
}

.mdc-list-item[dir=rtl] .mdc-list-item__graphic, [dir=rtl] .mdc-list-item .mdc-list-item__graphic {
  /* @noflip */
  margin-left: 32px;
  /* @noflip */
  margin-right: 0;
}

.mdc-list .mdc-list-item__graphic {
  display: inline-flex;
}

.mdc-list-item__meta {
  /* @noflip */
  margin-left: auto;
  /* @noflip */
  margin-right: 0;
}

.mdc-list-item__meta:not(.material-icons) {
  -moz-osx-font-smoothing: grayscale;
  -webkit-font-smoothing: antialiased;
  font-family: Roboto, sans-serif;
  /* @alternate */
  font-family: var(--mdc-typography-caption-font-family, var(--mdc-typography-font-family, Roboto, sans-serif));
  font-size: 0.75rem;
  /* @alternate */
  font-size: var(--mdc-typography-caption-font-size, 0.75rem);
  line-height: 1.25rem;
  /* @alternate */
  line-height: var(--mdc-typography-caption-line-height, 1.25rem);
  font-weight: 400;
  /* @alternate */
  font-weight: var(--mdc-typography-caption-font-weight, 400);
  letter-spacing: 0.0333333333em;
  /* @alternate */
  letter-spacing: var(--mdc-typography-caption-letter-spacing, 0.0333333333em);
  text-decoration: inherit;
  /* @alternate */
  text-decoration: var(--mdc-typography-caption-text-decoration, inherit);
  text-transform: inherit;
  /* @alternate */
  text-transform: var(--mdc-typography-caption-text-transform, inherit);
}

.mdc-list-item[dir=rtl] .mdc-list-item__meta, [dir=rtl] .mdc-list-item .mdc-list-item__meta {
  /* @noflip */
  margin-left: 0;
  /* @noflip */
  margin-right: auto;
}

.mdc-list-item__text {
  text-overflow: ellipsis;
  white-space: nowrap;
  overflow: hidden;
}

.mdc-list-item__text[for] {
  pointer-events: none;
}

.mdc-list-item__primary-text {
  text-overflow: ellipsis;
  white-space: nowrap;
  overflow: hidden;
  display: block;
  margin-top: 0;
  /* @alternate */
  line-height: normal;
  margin-bottom: -20px;
}

.mdc-list-item__primary-text::before {
  display: inline-block;
  width: 0;
  height: 32px;
  content: "";
  vertical-align: 0;
}

.mdc-list-item__primary-text::after {
  display: inline-block;
  width: 0;
  height: 20px;
  content: "";
  vertical-align: -20px;
}

.mdc-list--dense .mdc-list-item__primary-text {
  display: block;
  margin-top: 0;
  /* @alternate */
  line-height: normal;
  margin-bottom: -20px;
}

.mdc-list--dense .mdc-list-item__primary-text::before {
  display: inline-block;
  width: 0;
  height: 24px;
  content: "";
  vertical-align: 0;
}

.mdc-list--dense .mdc-list-item__primary-text::after {
  display: inline-block;
  width: 0;
  height: 20px;
  content: "";
  vertical-align: -20px;
}

.mdc-list-item__secondary-text {
  -moz-osx-font-smoothing: grayscale;
  -webkit-font-smoothing: antialiased;
  font-family: Roboto, sans-serif;
  /* @alternate */
  font-family: var(--mdc-typography-body2-font-family, var(--mdc-typography-font-family, Roboto, sans-serif));
  font-size: 0.875rem;
  /* @alternate */
  font-size: var(--mdc-typography-body2-font-size, 0.875rem);
  line-height: 1.25rem;
  /* @alternate */
  line-height: var(--mdc-typography-body2-line-height, 1.25rem);
  font-weight: 400;
  /* @alternate */
  font-weight: var(--mdc-typography-body2-font-weight, 400);
  letter-spacing: 0.0178571429em;
  /* @alternate */
  letter-spacing: var(--mdc-typography-body2-letter-spacing, 0.0178571429em);
  text-decoration: inherit;
  /* @alternate */
  text-decoration: var(--mdc-typography-body2-text-decoration, inherit);
  text-transform: inherit;
  /* @alternate */
  text-transform: var(--mdc-typography-body2-text-transform, inherit);
  text-overflow: ellipsis;
  white-space: nowrap;
  overflow: hidden;
  display: block;
  margin-top: 0;
  /* @alternate */
  line-height: normal;
}

.mdc-list-item__secondary-text::before {
  display: inline-block;
  width: 0;
  height: 20px;
  content: "";
  vertical-align: 0;
}

.mdc-list--dense .mdc-list-item__secondary-text {
  font-size: inherit;
}

.mdc-list--dense .mdc-list-item {
  height: 40px;
}

.mdc-list--dense .mdc-list-item__graphic {
  /* @noflip */
  margin-left: 0;
  /* @noflip */
  margin-right: 36px;
  width: 20px;
  height: 20px;
}

.mdc-list-item[dir=rtl] .mdc-list--dense .mdc-list-item__graphic, [dir=rtl] .mdc-list-item .mdc-list--dense .mdc-list-item__graphic {
  /* @noflip */
  margin-left: 36px;
  /* @noflip */
  margin-right: 0;
}

.mdc-list--avatar-list .mdc-list-item {
  height: 56px;
}

.mdc-list--avatar-list .mdc-list-item__graphic {
  /* @noflip */
  margin-left: 0;
  /* @noflip */
  margin-right: 16px;
  width: 40px;
  height: 40px;
  border-radius: 50%;
}

.mdc-list-item[dir=rtl] .mdc-list--avatar-list .mdc-list-item__graphic, [dir=rtl] .mdc-list-item .mdc-list--avatar-list .mdc-list-item__graphic {
  /* @noflip */
  margin-left: 16px;
  /* @noflip */
  margin-right: 0;
}

.mdc-list--two-line .mdc-list-item__text {
  align-self: flex-start;
}

.mdc-list--two-line .mdc-list-item {
  height: 72px;
}

.mdc-list--two-line.mdc-list--dense .mdc-list-item,
.mdc-list--avatar-list.mdc-list--dense .mdc-list-item {
  height: 60px;
}

.mdc-list--avatar-list.mdc-list--dense .mdc-list-item__graphic {
  /* @noflip */
  margin-left: 0;
  /* @noflip */
  margin-right: 20px;
  width: 36px;
  height: 36px;
}

.mdc-list-item[dir=rtl] .mdc-list--avatar-list.mdc-list--dense .mdc-list-item__graphic, [dir=rtl] .mdc-list-item .mdc-list--avatar-list.mdc-list--dense .mdc-list-item__graphic {
  /* @noflip */
  margin-left: 20px;
  /* @noflip */
  margin-right: 0;
}

:not(.mdc-list--non-interactive) > :not(.mdc-list-item--disabled).mdc-list-item {
  cursor: pointer;
}

a.mdc-list-item {
  color: inherit;
  text-decoration: none;
}

.mdc-list-divider {
  height: 0;
  margin: 0;
  border: none;
  border-bottom-width: 1px;
  border-bottom-style: solid;
}

.mdc-list-divider {
  border-bottom-color: rgba(0, 0, 0, 0.12);
}

.mdc-list-divider--padded {
  margin: 0 16px;
}

.mdc-list-divider--inset {
  /* @noflip */
  margin-left: 72px;
  /* @noflip */
  margin-right: 0;
  width: calc(100% - 72px);
}

.mdc-list-group[dir=rtl] .mdc-list-divider--inset, [dir=rtl] .mdc-list-group .mdc-list-divider--inset {
  /* @noflip */
  margin-left: 0;
  /* @noflip */
  margin-right: 72px;
}

.mdc-list-divider--inset.mdc-list-divider--padded {
  width: calc(100% - 72px - 16px);
}

.mdc-list-group .mdc-list {
  padding: 0;
}

.mdc-list-group__subheader {
  -moz-osx-font-smoothing: grayscale;
  -webkit-font-smoothing: antialiased;
  font-family: Roboto, sans-serif;
  /* @alternate */
  font-family: var(--mdc-typography-subtitle1-font-family, var(--mdc-typography-font-family, Roboto, sans-serif));
  font-size: 1rem;
  /* @alternate */
  font-size: var(--mdc-typography-subtitle1-font-size, 1rem);
  line-height: 1.75rem;
  /* @alternate */
  line-height: var(--mdc-typography-subtitle1-line-height, 1.75rem);
  font-weight: 400;
  /* @alternate */
  font-weight: var(--mdc-typography-subtitle1-font-weight, 400);
  letter-spacing: 0.009375em;
  /* @alternate */
  letter-spacing: var(--mdc-typography-subtitle1-letter-spacing, 0.009375em);
  text-decoration: inherit;
  /* @alternate */
  text-decoration: var(--mdc-typography-subtitle1-text-decoration, inherit);
  text-transform: inherit;
  /* @alternate */
  text-transform: var(--mdc-typography-subtitle1-text-transform, inherit);
  margin: calc((3rem - 1.5rem) / 2) 16px;
}

:not(.mdc-list--non-interactive) > :not(.mdc-list-item--disabled).mdc-list-item {
  --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);
}

:not(.mdc-list--non-interactive) > :not(.mdc-list-item--disabled).mdc-list-item::before, :not(.mdc-list--non-interactive) > :not(.mdc-list-item--disabled).mdc-list-item::after {
  position: absolute;
  border-radius: 50%;
  opacity: 0;
  pointer-events: none;
  content: "";
}

:not(.mdc-list--non-interactive) > :not(.mdc-list-item--disabled).mdc-list-item::before {
  transition: opacity 15ms linear, background-color 15ms linear;
  z-index: 1;
}

:not(.mdc-list--non-interactive) > :not(.mdc-list-item--disabled).mdc-list-item.mdc-ripple-upgraded::before {
  transform: scale(var(--mdc-ripple-fg-scale, 1));
}

:not(.mdc-list--non-interactive) > :not(.mdc-list-item--disabled).mdc-list-item.mdc-ripple-upgraded::after {
  top: 0;
  /* @noflip */
  left: 0;
  transform: scale(0);
  transform-origin: center center;
}

:not(.mdc-list--non-interactive) > :not(.mdc-list-item--disabled).mdc-list-item.mdc-ripple-upgraded--unbounded::after {
  top: var(--mdc-ripple-top, 0);
  /* @noflip */
  left: var(--mdc-ripple-left, 0);
}

:not(.mdc-list--non-interactive) > :not(.mdc-list-item--disabled).mdc-list-item.mdc-ripple-upgraded--foreground-activation::after {
  animation: mdc-ripple-fg-radius-in 225ms forwards, mdc-ripple-fg-opacity-in 75ms forwards;
}

:not(.mdc-list--non-interactive) > :not(.mdc-list-item--disabled).mdc-list-item.mdc-ripple-upgraded--foreground-deactivation::after {
  animation: mdc-ripple-fg-opacity-out 150ms;
  transform: translate(var(--mdc-ripple-fg-translate-end, 0)) scale(var(--mdc-ripple-fg-scale, 1));
}

:not(.mdc-list--non-interactive) > :not(.mdc-list-item--disabled).mdc-list-item::before, :not(.mdc-list--non-interactive) > :not(.mdc-list-item--disabled).mdc-list-item::after {
  top: calc(50% - 100%);
  /* @noflip */
  left: calc(50% - 100%);
  width: 200%;
  height: 200%;
}

:not(.mdc-list--non-interactive) > :not(.mdc-list-item--disabled).mdc-list-item.mdc-ripple-upgraded::after {
  width: var(--mdc-ripple-fg-size, 100%);
  height: var(--mdc-ripple-fg-size, 100%);
}

:not(.mdc-list--non-interactive) > :not(.mdc-list-item--disabled).mdc-list-item::before, :not(.mdc-list--non-interactive) > :not(.mdc-list-item--disabled).mdc-list-item::after {
  background-color: #000;
}

:not(.mdc-list--non-interactive) > :not(.mdc-list-item--disabled).mdc-list-item:hover::before {
  opacity: 0.04;
}

:not(.mdc-list--non-interactive) > :not(.mdc-list-item--disabled).mdc-list-item.mdc-ripple-upgraded--background-focused::before, :not(.mdc-list--non-interactive) > :not(.mdc-list-item--disabled).mdc-list-item:not(.mdc-ripple-upgraded):focus::before {
  transition-duration: 75ms;
  opacity: 0.12;
}

:not(.mdc-list--non-interactive) > :not(.mdc-list-item--disabled).mdc-list-item:not(.mdc-ripple-upgraded)::after {
  transition: opacity 150ms linear;
}

:not(.mdc-list--non-interactive) > :not(.mdc-list-item--disabled).mdc-list-item:not(.mdc-ripple-upgraded):active::after {
  transition-duration: 75ms;
  opacity: 0.12;
}

:not(.mdc-list--non-interactive) > :not(.mdc-list-item--disabled).mdc-list-item.mdc-ripple-upgraded {
  --mdc-ripple-fg-opacity: 0.12;
}

:not(.mdc-list--non-interactive) > :not(.mdc-list-item--disabled).mdc-list-item--activated::before {
  opacity: 0.24;
}

:not(.mdc-list--non-interactive) > :not(.mdc-list-item--disabled).mdc-list-item--activated::before, :not(.mdc-list--non-interactive) > :not(.mdc-list-item--disabled).mdc-list-item--activated::after {
  background-color: #00AEEF;
  /* @alternate */
  background-color: var(--mdc-theme-primary, #00AEEF);
}

:not(.mdc-list--non-interactive) > :not(.mdc-list-item--disabled).mdc-list-item--activated:hover::before {
  opacity: 0.32;
}

:not(.mdc-list--non-interactive) > :not(.mdc-list-item--disabled).mdc-list-item--activated.mdc-ripple-upgraded--background-focused::before, :not(.mdc-list--non-interactive) > :not(.mdc-list-item--disabled).mdc-list-item--activated:not(.mdc-ripple-upgraded):focus::before {
  transition-duration: 75ms;
  opacity: 0.48;
}

:not(.mdc-list--non-interactive) > :not(.mdc-list-item--disabled).mdc-list-item--activated:not(.mdc-ripple-upgraded)::after {
  transition: opacity 150ms linear;
}

:not(.mdc-list--non-interactive) > :not(.mdc-list-item--disabled).mdc-list-item--activated:not(.mdc-ripple-upgraded):active::after {
  transition-duration: 75ms;
  opacity: 0.48;
}

:not(.mdc-list--non-interactive) > :not(.mdc-list-item--disabled).mdc-list-item--activated.mdc-ripple-upgraded {
  --mdc-ripple-fg-opacity: 0.48;
}

:not(.mdc-list--non-interactive) > :not(.mdc-list-item--disabled).mdc-list-item--selected::before {
  opacity: 0.16;
}

:not(.mdc-list--non-interactive) > :not(.mdc-list-item--disabled).mdc-list-item--selected::before, :not(.mdc-list--non-interactive) > :not(.mdc-list-item--disabled).mdc-list-item--selected::after {
  background-color: #00AEEF;
  /* @alternate */
  background-color: var(--mdc-theme-primary, #00AEEF);
}

:not(.mdc-list--non-interactive) > :not(.mdc-list-item--disabled).mdc-list-item--selected:hover::before {
  opacity: 0.24;
}

:not(.mdc-list--non-interactive) > :not(.mdc-list-item--disabled).mdc-list-item--selected.mdc-ripple-upgraded--background-focused::before, :not(.mdc-list--non-interactive) > :not(.mdc-list-item--disabled).mdc-list-item--selected:not(.mdc-ripple-upgraded):focus::before {
  transition-duration: 75ms;
  opacity: 0.4;
}

:not(.mdc-list--non-interactive) > :not(.mdc-list-item--disabled).mdc-list-item--selected:not(.mdc-ripple-upgraded)::after {
  transition: opacity 150ms linear;
}

:not(.mdc-list--non-interactive) > :not(.mdc-list-item--disabled).mdc-list-item--selected:not(.mdc-ripple-upgraded):active::after {
  transition-duration: 75ms;
  opacity: 0.4;
}

:not(.mdc-list--non-interactive) > :not(.mdc-list-item--disabled).mdc-list-item--selected.mdc-ripple-upgraded {
  --mdc-ripple-fg-opacity: 0.4;
}

:not(.mdc-list--non-interactive) > .mdc-list-item--disabled {
  --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);
}

:not(.mdc-list--non-interactive) > .mdc-list-item--disabled::before, :not(.mdc-list--non-interactive) > .mdc-list-item--disabled::after {
  position: absolute;
  border-radius: 50%;
  opacity: 0;
  pointer-events: none;
  content: "";
}

:not(.mdc-list--non-interactive) > .mdc-list-item--disabled::before {
  transition: opacity 15ms linear, background-color 15ms linear;
  z-index: 1;
}

:not(.mdc-list--non-interactive) > .mdc-list-item--disabled.mdc-ripple-upgraded::before {
  transform: scale(var(--mdc-ripple-fg-scale, 1));
}

:not(.mdc-list--non-interactive) > .mdc-list-item--disabled.mdc-ripple-upgraded::after {
  top: 0;
  /* @noflip */
  left: 0;
  transform: scale(0);
  transform-origin: center center;
}

:not(.mdc-list--non-interactive) > .mdc-list-item--disabled.mdc-ripple-upgraded--unbounded::after {
  top: var(--mdc-ripple-top, 0);
  /* @noflip */
  left: var(--mdc-ripple-left, 0);
}

:not(.mdc-list--non-interactive) > .mdc-list-item--disabled.mdc-ripple-upgraded--foreground-activation::after {
  animation: mdc-ripple-fg-radius-in 225ms forwards, mdc-ripple-fg-opacity-in 75ms forwards;
}

:not(.mdc-list--non-interactive) > .mdc-list-item--disabled.mdc-ripple-upgraded--foreground-deactivation::after {
  animation: mdc-ripple-fg-opacity-out 150ms;
  transform: translate(var(--mdc-ripple-fg-translate-end, 0)) scale(var(--mdc-ripple-fg-scale, 1));
}

:not(.mdc-list--non-interactive) > .mdc-list-item--disabled::before, :not(.mdc-list--non-interactive) > .mdc-list-item--disabled::after {
  top: calc(50% - 100%);
  /* @noflip */
  left: calc(50% - 100%);
  width: 200%;
  height: 200%;
}

:not(.mdc-list--non-interactive) > .mdc-list-item--disabled.mdc-ripple-upgraded::after {
  width: var(--mdc-ripple-fg-size, 100%);
  height: var(--mdc-ripple-fg-size, 100%);
}

:not(.mdc-list--non-interactive) > .mdc-list-item--disabled::before, :not(.mdc-list--non-interactive) > .mdc-list-item--disabled::after {
  background-color: #000;
}

:not(.mdc-list--non-interactive) > .mdc-list-item--disabled.mdc-ripple-upgraded--background-focused::before, :not(.mdc-list--non-interactive) > .mdc-list-item--disabled:not(.mdc-ripple-upgraded):focus::before {
  transition-duration: 75ms;
  opacity: 0.24;
}

.mdc-menu {
  min-width: 112px;
}

.mdc-menu .mdc-list-item__meta {
  color: rgba(0, 0, 0, 0.87);
}

.mdc-menu .mdc-list-item__graphic {
  color: rgba(0, 0, 0, 0.87);
}

.mdc-menu .mdc-list {
  color: rgba(0, 0, 0, 0.87);
  /* @alternate */
  position: relative;
}

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

.mdc-menu .mdc-list-divider {
  margin: 8px 0;
}

.mdc-menu .mdc-list-item {
  user-select: none;
}

.mdc-menu .mdc-list-item--disabled {
  cursor: auto;
}

.mdc-menu a.mdc-list-item .mdc-list-item__text,
.mdc-menu a.mdc-list-item .mdc-list-item__graphic {
  pointer-events: none;
}

.mdc-menu__selection-group {
  padding: 0;
  fill: currentColor;
}

.mdc-menu__selection-group .mdc-list-item {
  /* @noflip */
  padding-left: 56px;
  /* @noflip */
  padding-right: 16px;
}

[dir=rtl] .mdc-menu__selection-group .mdc-list-item, .mdc-menu__selection-group .mdc-list-item[dir=rtl] {
  /* @noflip */
  padding-left: 16px;
  /* @noflip */
  padding-right: 56px;
}

.mdc-menu__selection-group .mdc-menu__selection-group-icon {
  /* @noflip */
  left: 16px;
  /* @noflip */
  right: initial;
  display: none;
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
}

[dir=rtl] .mdc-menu__selection-group .mdc-menu__selection-group-icon, .mdc-menu__selection-group .mdc-menu__selection-group-icon[dir=rtl] {
  /* @noflip */
  left: initial;
  /* @noflip */
  right: 16px;
}

.mdc-menu-item--selected .mdc-menu__selection-group-icon {
  display: inline;
}

.mdc-menu-surface {
  display: none;
  position: absolute;
  box-sizing: border-box;
  max-width: calc(100vw - 32px);
  max-height: calc(100vh - 32px);
  margin: 0;
  padding: 0;
  transform: scale(1);
  transform-origin: top left;
  opacity: 0;
  overflow: auto;
  will-change: transform, opacity;
  z-index: 8;
  transition: opacity 0.03s linear, transform 0.12s cubic-bezier(0, 0, 0.2, 1);
  /* @alternate */
  box-shadow: 0px 5px 5px -3px rgba(0, 0, 0, 0.2), 0px 8px 10px 1px rgba(0, 0, 0, 0.14), 0px 3px 14px 2px rgba(0, 0, 0, 0.12);
  background-color: #fff;
  /* @alternate */
  background-color: var(--mdc-theme-surface, #fff);
  color: #000;
  /* @alternate */
  color: var(--mdc-theme-on-surface, #000);
  border-radius: 4px;
  /* @noflip */
  transform-origin-left: top left;
  /* @noflip */
  transform-origin-right: top right;
}

.mdc-menu-surface:focus {
  outline: none;
}

.mdc-menu-surface--open {
  display: inline-block;
  transform: scale(1);
  opacity: 1;
}

.mdc-menu-surface--animating-open {
  display: inline-block;
  transform: scale(0.8);
  opacity: 0;
}

.mdc-menu-surface--animating-closed {
  display: inline-block;
  opacity: 0;
  transition: opacity 0.075s linear;
}

[dir=rtl] .mdc-menu-surface, .mdc-menu-surface[dir=rtl] {
  /* @noflip */
  transform-origin-left: top right;
  /* @noflip */
  transform-origin-right: top left;
}

.mdc-menu-surface--anchor {
  position: relative;
  overflow: visible;
}

.mdc-menu-surface--fixed {
  position: fixed;
}

.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;
}

.years__toggle {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  user-select: none;
  position: absolute;
  overflow: hidden;
  background-color: #00AEEF;
  border: none;
  margin: 0 auto;
  height: 48px;
  width: 48px;
  border-radius: 4px;
  color: #fff;
  background-repeat: no-repeat;
  background-position: center;
  background-size: 27px 30px;
  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%2031%2034%22%3E%3Cpath%20d%3D%22M27.5,33h-24A2.53,2.53,0,0,1,1,30.43V5.67A2.53,2.53,0,0,1,3.49,3.1H6V4.76H3.49a.89.89,0,0,0-.88.91v4.48H28.38V5.67a.89.89,0,0,0-.88-.91H24V3.1H27.5A2.51,2.51,0,0,1,30,5.61V30.38A2.54,2.54,0,0,1,27.5,33Zm.88-21.2H2.61V30.43a.9.9,0,0,0,.88.91h24a.89.89,0,0,0,.88-.91ZM21.72,22.73h2.71v2.79H21.72Zm0-4.95h2.71v2.79H21.72Zm-5,4.95h2.71v2.79H16.67Zm0-4.95h2.71v2.79H16.67Zm-5.05,4.95h2.71v2.79H11.62Zm0-4.95h2.71v2.79H11.62Zm-5,4.95H9.28v2.79H6.57Zm0-4.95H9.28v2.79H6.57ZM21,4.76V1h1.94V6.77H21ZM10.2,3.93V3.1h9.65V4.76H10.2Zm-3.07.83V1h2V6.77H7.13Z%22/%3E%3Cpath%20d%3D%22M31,34H0V0H31Z%22%20fill%3D%22none%22/%3E%3C/svg%3E");
  z-index: 8;
  --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);
}
.years__toggle::before, .years__toggle::after {
  position: absolute;
  border-radius: 50%;
  opacity: 0;
  pointer-events: none;
  content: "";
}
.years__toggle::before {
  transition: opacity 15ms linear, background-color 15ms linear;
  z-index: 1;
}
.years__toggle.mdc-ripple-upgraded::before {
  transform: scale(var(--mdc-ripple-fg-scale, 1));
}
.years__toggle.mdc-ripple-upgraded::after {
  top: 0;
  /* @noflip */
  left: 0;
  transform: scale(0);
  transform-origin: center center;
}
.years__toggle.mdc-ripple-upgraded--unbounded::after {
  top: var(--mdc-ripple-top, 0);
  /* @noflip */
  left: var(--mdc-ripple-left, 0);
}
.years__toggle.mdc-ripple-upgraded--foreground-activation::after {
  animation: mdc-ripple-fg-radius-in 225ms forwards, mdc-ripple-fg-opacity-in 75ms forwards;
}
.years__toggle.mdc-ripple-upgraded--foreground-deactivation::after {
  animation: mdc-ripple-fg-opacity-out 150ms;
  transform: translate(var(--mdc-ripple-fg-translate-end, 0)) scale(var(--mdc-ripple-fg-scale, 1));
}
.years__toggle::before, .years__toggle::after {
  top: calc(50% - 100%);
  /* @noflip */
  left: calc(50% - 100%);
  width: 200%;
  height: 200%;
}
.years__toggle.mdc-ripple-upgraded::after {
  width: var(--mdc-ripple-fg-size, 100%);
  height: var(--mdc-ripple-fg-size, 100%);
}
.years__toggle::before, .years__toggle::after {
  background-color: #201d1d;
}
.years__toggle:hover::before {
  opacity: 0;
}
.years__toggle.mdc-ripple-upgraded--background-focused::before, .years__toggle:not(.mdc-ripple-upgraded):focus::before {
  transition-duration: 75ms;
  opacity: 0;
}
.years__toggle:not(.mdc-ripple-upgraded)::after {
  transition: opacity 150ms linear;
}
.years__toggle:not(.mdc-ripple-upgraded):active::after {
  transition-duration: 75ms;
  opacity: 0.12;
}
.years__toggle.mdc-ripple-upgraded {
  --mdc-ripple-fg-opacity: 0.12;
}
@media (min-width: 992px) {
  .years__toggle {
    height: 52px;
    width: 52px;
    background-size: 31px 34px;
  }
}
.years__toggle:focus {
  outline: none;
}
.years__toggle:active {
  padding: 0;
}
.tab-navigation .years__toggle:focus {
  outline: none;
}
.tab-navigation .years__toggle:focus.mdc-ripple-upgraded--background-focused::before, .tab-navigation .years__toggle:focus:not(.mdc-ripple-upgraded):focus::before {
  transition-duration: 75ms;
  opacity: 0.2;
}
.years__menu {
  display: block;
  flex-direction: column;
  padding: 4px 8px 4px 8px;
}
.years__row {
  display: flex;
  padding: 4px 0;
}
@media (min-width: 992px) {
  .years__row {
    padding: 10px 0;
  }
}
.years__item {
  color: #fff !important;
  height: 38px;
  display: flex;
  position: relative;
  align-items: center;
  justify-content: flex-start;
  padding: 0 8px;
  overflow: hidden;
  text-decoration: none;
  border-radius: 48px;
  margin: 0 5px;
  transform: translateZ(0);
}
@media (min-width: 992px) {
  .years__item {
    padding: 16px;
  }
}
.years__item--active {
  color: #fff !important;
  height: 38px;
  display: flex;
  position: relative;
  align-items: center;
  justify-content: flex-start;
  padding: 0 8px;
  overflow: hidden;
  text-decoration: none;
  border-radius: 48px;
  margin: 0 5px;
  background-color: #2653B9;
}
@media (min-width: 992px) {
  .years__item--active {
    padding: 16px;
  }
}
.years__item-label {
  position: relative;
  z-index: 1;
  transform: translateZ(0);
}
.years .mdc-menu {
  background-color: #00AEEF;
  color: #fff;
  font-size: 16px;
  transform-origin: right top 0 !important;
  top: -1 !important;
  bottom: auto !important;
  right: -53px !important;
  left: auto !important;
}
.years .mdc-menu-surface {
  box-shadow: none;
}
.years__selected {
  color: #fff;
  background-color: #2653B9;
  position: absolute;
  top: -15px;
  left: 0;
  width: 48px;
  height: 22px;
  text-align: center;
  border-radius: 22px;
  line-height: 22px;
  letter-spacing: 0;
  user-select: none;
  font-size: 14px;
  z-index: 9;
}
@media (min-width: 992px) {
  .years__selected {
    width: 52px;
    border-radius: 24px;
    line-height: 24px;
    height: 24px;
    top: -18px;
    font-size: 16px;
  }
}

.partner {
  position: relative;
  text-align: center;
}
@media (min-width: 1200px) {
  .partner:focus-within .partner__content {
    opacity: 1;
    user-select: auto;
  }
}
.partner__canvas {
  background-color: #fff;
  margin: 0;
  display: block;
  width: 100%;
  max-width: 100%;
  user-select: none;
}
.partner__content {
  background-color: #2653B9;
  color: #fff;
  opacity: 1;
  user-select: none;
  transition: opacity 0.12s;
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  align-items: center;
}
@media (min-width: 1200px) {
  .partner__content {
    opacity: 0;
  }
}
@media (min-width: 1200px) {
  .partner:hover .partner__content {
    opacity: 1;
    user-select: auto;
  }
}
.partner__logo, .partner__image {
  position: absolute;
  margin: auto;
  top: -100%;
  bottom: -100%;
  left: -100%;
  right: -100%;
  max-width: 100%;
  max-height: 100%;
}
.partner__head {
  display: block;
  margin: 0 auto;
  width: 50%;
  height: 75px;
  background-color: #fff;
  border: 1px solid #fff;
  position: relative;
}
.partner__description .ezrichtext-field {
  font-size: 14px;
  line-height: 18px;
  font-weight: 300;
  padding: 0 30px;
  margin: 0;
  max-height: 108px;
  max-width: 100%;
  overflow: hidden;
  display: -webkit-box;
  -webkit-line-clamp: 6;
  -webkit-box-orient: vertical;
  text-overflow: ellipsis;
}
@media (min-width: 480px) {
  .partner__description .ezrichtext-field {
    padding: 0 8px;
    font-size: 12px;
    line-height: 14px;
    -webkit-line-clamp: 5;
    max-height: 80px;
  }
}
@media (min-width: 768px) {
  .partner__description .ezrichtext-field {
    padding: 0 30px;
    font-size: 15px;
    line-height: 20px;
    max-height: 120px;
    -webkit-line-clamp: 6;
  }
}
.partner__more {
  margin-bottom: 25px;
  text-transform: none;
  min-width: 112px;
  font-size: 14px;
  font-weight: 300;
}
@media (min-width: 768px) {
  .partner__more {
    font-size: 15px;
  }
}
.partner__more:not(:disabled) {
  border-color: #a3adec;
  color: #fff;
}

.pagination {
  text-align: center;
  margin-top: 30px;
  user-select: none;
  margin-left: -23px;
  margin-right: -23px;
}
@media (min-width: 992px) {
  .pagination {
    margin-left: 0;
    margin-right: 0;
  }
}
.pagination__list {
  list-style: none;
  font-size: 0;
  margin: 0;
  padding: 0;
}
.pagination__item {
  display: inline-block;
  vertical-align: middle;
  font-size: 13px;
}
@media (min-width: 992px) {
  .pagination__item {
    font-size: 19px;
  }
}
.pagination__action {
  color: #201d1d;
  display: block;
  width: 48px;
  height: 48px;
  line-height: 48px;
  text-align: center;
  border-radius: 48px;
  overflow: hidden;
  position: relative;
  --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);
  transition: background-color 0.2s;
}
.pagination__action::before, .pagination__action::after {
  position: absolute;
  border-radius: 50%;
  opacity: 0;
  pointer-events: none;
  content: "";
}
.pagination__action::before {
  transition: opacity 15ms linear, background-color 15ms linear;
  z-index: 1;
}
.pagination__action.mdc-ripple-upgraded::before {
  transform: scale(var(--mdc-ripple-fg-scale, 1));
}
.pagination__action.mdc-ripple-upgraded::after {
  top: 0;
  /* @noflip */
  left: 0;
  transform: scale(0);
  transform-origin: center center;
}
.pagination__action.mdc-ripple-upgraded--unbounded::after {
  top: var(--mdc-ripple-top, 0);
  /* @noflip */
  left: var(--mdc-ripple-left, 0);
}
.pagination__action.mdc-ripple-upgraded--foreground-activation::after {
  animation: mdc-ripple-fg-radius-in 225ms forwards, mdc-ripple-fg-opacity-in 75ms forwards;
}
.pagination__action.mdc-ripple-upgraded--foreground-deactivation::after {
  animation: mdc-ripple-fg-opacity-out 150ms;
  transform: translate(var(--mdc-ripple-fg-translate-end, 0)) scale(var(--mdc-ripple-fg-scale, 1));
}
.pagination__action::before, .pagination__action::after {
  top: calc(50% - 100%);
  /* @noflip */
  left: calc(50% - 100%);
  width: 200%;
  height: 200%;
}
.pagination__action.mdc-ripple-upgraded::after {
  width: var(--mdc-ripple-fg-size, 100%);
  height: var(--mdc-ripple-fg-size, 100%);
}
.pagination__action::before, .pagination__action::after {
  background-color: #201d1d;
}
.pagination__action:hover::before {
  opacity: 0;
}
.pagination__action.mdc-ripple-upgraded--background-focused::before, .pagination__action:not(.mdc-ripple-upgraded):focus::before {
  transition-duration: 75ms;
  opacity: 0;
}
.pagination__action:not(.mdc-ripple-upgraded)::after {
  transition: opacity 150ms linear;
}
.pagination__action:not(.mdc-ripple-upgraded):active::after {
  transition-duration: 75ms;
  opacity: 0.04;
}
.pagination__action.mdc-ripple-upgraded {
  --mdc-ripple-fg-opacity: 0.04;
}
.pagination__action:hover, .pagination__action:focus {
  color: #201d1d;
}
.pagination__action:hover {
  background-color: rgba(32, 29, 29, 0.03);
}
.pagination__action.active {
  color: #00AEEF;
  font-size: 15px;
}
@media (min-width: 992px) {
  .pagination__action.active {
    font-size: 24px;
  }
}
.tab-navigation .pagination__action:focus {
  background-color: rgba(32, 29, 29, 0.03);
}
.pagination__dots {
  display: block;
  width: 48px;
  height: 48px;
  line-height: 48px;
  text-align: center;
  user-select: none;
}
.pagination__prev, .pagination__next {
  display: block;
  width: 48px;
  height: 48px;
  line-height: 48px;
  text-align: center;
  border-radius: 48px;
  overflow: hidden;
  position: relative;
  --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);
  transition: background-color 0.2s;
}
.pagination__prev::before, .pagination__prev::after, .pagination__next::before, .pagination__next::after {
  position: absolute;
  border-radius: 50%;
  opacity: 0;
  pointer-events: none;
  content: "";
}
.pagination__prev::before, .pagination__next::before {
  transition: opacity 15ms linear, background-color 15ms linear;
  z-index: 1;
}
.pagination__prev.mdc-ripple-upgraded::before, .pagination__next.mdc-ripple-upgraded::before {
  transform: scale(var(--mdc-ripple-fg-scale, 1));
}
.pagination__prev.mdc-ripple-upgraded::after, .pagination__next.mdc-ripple-upgraded::after {
  top: 0;
  /* @noflip */
  left: 0;
  transform: scale(0);
  transform-origin: center center;
}
.pagination__prev.mdc-ripple-upgraded--unbounded::after, .pagination__next.mdc-ripple-upgraded--unbounded::after {
  top: var(--mdc-ripple-top, 0);
  /* @noflip */
  left: var(--mdc-ripple-left, 0);
}
.pagination__prev.mdc-ripple-upgraded--foreground-activation::after, .pagination__next.mdc-ripple-upgraded--foreground-activation::after {
  animation: mdc-ripple-fg-radius-in 225ms forwards, mdc-ripple-fg-opacity-in 75ms forwards;
}
.pagination__prev.mdc-ripple-upgraded--foreground-deactivation::after, .pagination__next.mdc-ripple-upgraded--foreground-deactivation::after {
  animation: mdc-ripple-fg-opacity-out 150ms;
  transform: translate(var(--mdc-ripple-fg-translate-end, 0)) scale(var(--mdc-ripple-fg-scale, 1));
}
.pagination__prev::before, .pagination__prev::after, .pagination__next::before, .pagination__next::after {
  top: calc(50% - 50%);
  /* @noflip */
  left: calc(50% - 50%);
  width: 100%;
  height: 100%;
}
.pagination__prev.mdc-ripple-upgraded::before, .pagination__prev.mdc-ripple-upgraded::after, .pagination__next.mdc-ripple-upgraded::before, .pagination__next.mdc-ripple-upgraded::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%);
}
.pagination__prev.mdc-ripple-upgraded::after, .pagination__next.mdc-ripple-upgraded::after {
  width: var(--mdc-ripple-fg-size, 100%);
  height: var(--mdc-ripple-fg-size, 100%);
}
.pagination__prev::before, .pagination__prev::after, .pagination__next::before, .pagination__next::after {
  background-color: #201d1d;
}
.pagination__prev:hover::before, .pagination__next:hover::before {
  opacity: 0;
}
.pagination__prev.mdc-ripple-upgraded--background-focused::before, .pagination__prev:not(.mdc-ripple-upgraded):focus::before, .pagination__next.mdc-ripple-upgraded--background-focused::before, .pagination__next:not(.mdc-ripple-upgraded):focus::before {
  transition-duration: 75ms;
  opacity: 0;
}
.pagination__prev:not(.mdc-ripple-upgraded)::after, .pagination__next:not(.mdc-ripple-upgraded)::after {
  transition: opacity 150ms linear;
}
.pagination__prev:not(.mdc-ripple-upgraded):active::after, .pagination__next:not(.mdc-ripple-upgraded):active::after {
  transition-duration: 75ms;
  opacity: 0.04;
}
.pagination__prev.mdc-ripple-upgraded, .pagination__next.mdc-ripple-upgraded {
  --mdc-ripple-fg-opacity: 0.04;
}
.pagination__prev:hover, .pagination__next:hover {
  background-color: rgba(32, 29, 29, 0.03);
}
.tab-navigation .pagination__prev:focus, .tab-navigation .pagination__next:focus {
  background-color: rgba(32, 29, 29, 0.03);
}
.pagination__prev {
  background-repeat: no-repeat;
  background-position: center;
  background-size: 20px 20px;
  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%2036%2036%22%3E%3Cpath%20d%3D%22M27,2.13a1.13,1.13,0,0,1-.33.8L11.72,18l15,15.07a1.13,1.13,0,0,1,0,1.6,1.12,1.12,0,0,1-1.59,0L9.33,18.8a1.13,1.13,0,0,1,0-1.6L25.08,1.33a1.13,1.13,0,0,1,1.92.8Z%22/%3E%3Cpath%20d%3D%22M36,36H0V0H36Z%22%20fill%3D%22none%22/%3E%3C/svg%3E");
}
@media (min-width: 992px) {
  .pagination__prev {
    background-size: 26px 26px;
    margin-right: 10px;
  }
}
.pagination__next {
  background-repeat: no-repeat;
  background-position: center;
  background-size: 20px 20px;
  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%2036%2036%22%3E%3Cpath%20d%3D%22M9,33.87a1.13,1.13,0,0,1,.33-.8L24.28,18,9.33,2.93a1.13,1.13,0,0,1,0-1.6,1.12,1.12,0,0,1,1.59,0L26.67,17.2a1.13,1.13,0,0,1,0,1.6L10.92,34.67A1.13,1.13,0,0,1,9,33.87Z%22/%3E%3Cpath%20d%3D%22M36,36H0V0H36Z%22%20fill%3D%22none%22/%3E%3C/svg%3E");
}
@media (min-width: 992px) {
  .pagination__next {
    background-size: 26px 26px;
    margin-left: 10px;
  }
}

.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;
}

.partners-list {
  position: relative;
}
@media (max-width: 991.9px) {
  .partners-list {
    padding: 0 23px;
  }
}
.partners-list__title {
  font-size: 28px;
  font-weight: 700;
  text-transform: uppercase;
  color: #00AEEF;
  margin-bottom: 25px;
  text-align: center;
  margin-top: 25px;
  letter-spacing: 0.2px;
}
@media (min-width: 992px) {
  .partners-list__title {
    letter-spacing: 0.5px;
    text-align: left;
    font-size: 48px;
    max-width: 1254px;
    margin-left: auto;
    margin-right: auto;
    margin-top: 5px;
  }
}
@media (min-width: 1200px) {
  .partners-list__title {
    margin-bottom: 28px;
  }
}
@media (min-width: 1656px) {
  .partners-list__title {
    margin-bottom: 58px;
  }
}
.partners-list__description {
  margin-bottom: 25px;
}
@media (min-width: 992px) {
  .partners-list__description {
    max-width: 1254px;
    margin-left: auto;
    margin-right: auto;
  }
}
@media (min-width: 1200px) {
  .partners-list__description {
    margin-bottom: 28px;
  }
}
@media (min-width: 1656px) {
  .partners-list__description {
    margin-bottom: 58px;
  }
}
.partners-list__row {
  border-bottom: 1px solid rgba(0, 174, 239, 0.3);
  margin: auto;
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
}
@media (min-width: 992px) {
  .partners-list__row {
    border-bottom: none;
  }
}
.partners-list__item {
  margin-bottom: 23px;
  margin-right: 0;
  outline: 1px solid #2653B9;
}
@media (min-width: 480px) {
  .partners-list__item {
    width: calc(50% - 12px);
    margin-right: 23px;
  }
}
@media (min-width: 992px) {
  .partners-list__item {
    width: calc(33.333% - 23px);
    margin-right: 30px;
    margin-bottom: 30px;
  }
}
@media (min-width: 1200px) {
  .partners-list__item {
    width: calc(25% - 30px);
  }
}
@media (min-width: 1400px) {
  .partners-list__item {
    width: calc(25% - 30px);
  }
}
@media (min-width: 480px) and (max-width: 991.9px) {
  .partners-list__item:nth-of-type(2n) {
    margin-right: 0;
  }
}
@media (min-width: 992px) and (max-width: 1199.9px) {
  .partners-list__item:nth-of-type(3n) {
    margin-right: 0;
  }
}
@media (min-width: 1200px) {
  .partners-list__item:nth-of-type(4n) {
    margin-right: 0;
  }
}
.partners-list .breadcrumb {
  display: none;
}
@media (min-width: 992px) {
  .partners-list .breadcrumb {
    display: block;
  }
}

.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;
}

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;
  }
}

.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--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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGFydG5lcnMtbGlzdC5jc3MiLCJtYXBwaW5ncyI6IkFBQUE7RUFDRTtFQzRNTTtFRDFNTixnQkVtUzRCO0VGbFM1QjtFQUNBLFdFWVM7RUZYVCx5QkVzbENrQztFRnJsQ2xDO0FHQ0Y7QUY0SUk7RURwSko7SUNrTlUsaUNBWFE7RUUzTGhCO0FBQ0Y7QUNERTtFSkRFLFdFTU87RUZMUDtBR0tKO0FDREU7RUpDSTtBR0dOOztBSFFBO0VBQ0U7RUFDQTtFQUNBO0FHTEY7O0FIV0E7RUFDRTtBR1JGOztBRTlCQTtFQUdFLGlCSHk0QmtDO0VHeDRCbEMsZ0JIdzRCa0M7RUR4dEI5QjtFSTdLSiwyQ0gwNEJrQztFR3o0QmxDO0VBQ0E7RUFDQSxnREgyNEJrQztFRzE0QmxDO0VDT0U7QUh3Qko7QUU1QkU7RUFDRSxzQkg4M0JnQztBQ2gyQnBDO0FFM0JFO0VBQ0U7QUY2Qko7QUUxQkU7RUFDRTtFQUNBO0FGNEJKO0FFekJFO0VBQ0U7QUYyQko7O0FFdkJBO0VBQ0U7RUFDQTtFQUNBO0VBQ0EsY0h2QlM7RUd3QlQsMkNIbTNCa0M7RUdsM0JsQztFQUNBO0VDWkU7RUFDQTtBSHVDSjs7QUV4QkE7RUFDRSxnQkhpMkJrQztBQ3QwQnBDOztBSXhDRTtFQU9NO0FKcUNSOztBS2hCRTtFQUNFO0lBRUUsNkJDVmM7RU40QmxCO0VLZkU7SUFDRSxxREU1QytCO0VQNkRuQztFS2RFO0lBQ0U7RUxnQko7QUFDRjtBS2JFO0VBQ0U7SUFFRTtFTGNKO0VLWEU7SUFDRTtFTGFKO0VLVkU7SUFDRTtFTFlKO0FBQ0Y7QUtURTtFQUNFO0lBQ0UscURFbkUrQjtJRm9FL0I7SUFDQTtFTFdKO0VLUkU7SUFDRTtJQUNBO0VMVUo7QUFDRjtBS1BFO0VBQ0U7SUFDRSxxREVsRitCO0lGbUYvQjtJQUNBO0VMU0o7RUtORTtJQUNFO0lBQ0E7RUxRSjtBQUNGO0FLTEU7RUFDRTtJQUNFLHNEQ2hFbUM7SURpRW5DO0lBQ0E7RUxPSjtFS0pFO0lBQ0U7SUFDQTtFTE1KO0FBQ0Y7QUtIRTtFQUNFO0lBQ0U7SUFDQTtJQUNBO0VMS0o7RUtGRTtJQUNFO0lBQ0E7RUxJSjtBQUNGO0FLREU7RUFDRTtJQUNFLHNEQzFGbUM7SUQyRm5DO0lBQ0E7RUxHSjtFS0FFO0lBQ0U7SUFDQTtFTEVKO0FBQ0Y7QUtDRTtFQUNFO0lBQ0U7SUFDQTtJQUNBO0VMQ0o7RUtFRTtJQUVFO0lBQ0E7RUxESjtBQUNGO0FRbkdFO0VBNFhBO0VBQ0E7RUFDQTtFQUNBO0VBQ0EsV0ZoYVU7RUVpYVYsWUZqYVU7RUVrYVY7RUFDQTtFQUNBO0VBQ0E7RUF0TUUsYUFIaUI7QVI1RXJCOztBUTZORTs7O0VDM1RFO0VBQ0E7RUFDQTtBVG9HSjs7QVVIRTtFRG5HRTtFQUNBO0VBQ0E7QVQwR0o7O0FVZ0NJO0VBR0ksYUFyQjBCO0FWVmxDOztBVWlFTTtFQWVGO0VBSUEsYUF0RThCO0FWVGxDOztBVTJGSTtFQUVJO0FWekZSOztBVThGTTtFQUVJLHlCQ3RSUztFRDJSVCxhQTVGd0I7QVZKbEM7O0FVc0dFO0VBRUk7QVZwR047O0FVL0JFOztFRG5HRTtFQUNBO0VBQ0E7QVR1SUo7O0FRdUNFO0VBRUksU0FSZTtFQVNmLFVBVGU7QVI1QnJCOztBUXlDRTtFQUVJO0VBQ0E7RUFDQSxXQWhDRztFQWlDSCxZQWpDRztBUk5UOztBUXNNSTtFQUNFLFFBSks7RUFLTCxVQUxLO0VBTUwsU0FOSztFQU9MLFdBcE1HO0VBcU1ILFlBck1HO0FSRVQ7O0FRc2JFO0VDMWxCRTtFQUFBO0FUeUtKOztBUWliRTs7O0VDbmxCRTtFQUNBO0VBQ0E7RUFGQTtFQUNBO0VBQ0E7QVQyS0o7O0FLaE9FO0VBQ0U7SUkyQ0E7SUFBQTtFVDBMRjtFS2hPRTtJSTZDQTtJQUNBO0lBQ0E7SUFGQTtJQUNBO0lBQ0E7RVR5TEY7QUFDRjtBS25PRTtFQUNFO0lJc0NBO0lBQ0E7SUFDQTtJQUZBO0lBQ0E7SUFDQTtFVG1NRjtFS3JPRTtJSXlCQTtJQUFBO0VUZ05GO0FBQ0Y7QVE0Q1E7RUFFSTtBUjNDWjs7QVFrRFE7RUFFSTtBUmhEWjs7QVFrWUU7RUMxbEJFO0VBQUE7QVQ2Tko7O0FRNlhFOzs7RUMxbEJFO0VBQUE7QVRvT0o7O0FRbWZJO0VDdnRCQTtBVHdPSjs7QVFxZkk7RUM3dEJBO0FUNE9KOztBUTJlSTtFQ3Z0QkE7QVRnUEo7O0FRNmVJO0VDN3RCQTtBVG9QSjs7QVFqUEU7RUF1bEJBO0lDMWxCRTtJQUFBO0VUMFBGO0VRZ1dBOzs7SUMxbEJFO0lBQUE7RVRnUUY7RVF1ZEU7SUN2dEJBO0VUbVFGO0VRMGRFO0lDN3RCQTtFVHNRRjtFUXpQRTtJQUVJO0VSMFBOO0FBQ0Y7QVFyUEU7RUF5V0E7RUFDQTtBUmpIRjs7QVFuUEU7RUFvaEJFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQSxXRi9sQlE7RUVnbUJSLFlGaG1CUTtFRWttQlI7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQVVBLHNIQUNFO0FSeFNOOztBUWdTRTtFQ3ZqQkU7RUFDQTtFQUNBO0FUMlJKOztBUXJRRTtFQTJuQkU7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFJQTtBUnJYSjs7QVF3WEU7RUFFSTtBUnRYTjs7QVFoUkU7RUF5c0JFO0VBSUE7RUFDQTtFQUNBLDZCRjF3QmdCO0VFMndCaEIsNEJGM3dCZ0I7QU5tVnBCOztBUXBSRTtFQTJ0QkU7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBSUEsMEdBQ0U7QVJ2Y047O0FReFJJOzs7O0VBMFZGO0FSM0RGOztBUXlFSTtFQUNFO0VBQ0E7QVJ0RU47O0FRMkVJO0VBSUU7RUFDQTtBUjNFTjs7QVFnRkk7RUFDRTtFQUNBO0FSN0VOOztBUWtGSTtFQUNFO0VBQ0E7QVIvRU47O0FRb0ZJO0VBQ0U7RUFDQTtBUmpGTjs7QVFvRkk7RUFDRTtFQUNBO0FSakZOOztBUXNGSTtFQUNFO0VBQ0E7QVJuRk47O0FRc0ZJO0VBQ0U7RUFDQTtBUm5GTjs7QVF3Rkk7RUFFRSx5RUFDRTtFQUNGO0FSdkZOOztBUTVURTs7O0VBK2dCQSxrSEFDRTtBUjlNSjs7QVEzVEk7OztFQW9yQkY7QVJuWEY7O0FRelRFO0VBNmhCRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUlBLDBHQUNFO0FScE9OOztBUWhVRTtFQThpQkU7RUFDQSxhRnJxQnNCO0VFeXFCdEIsc0dBQ0U7QVI5T047O0FRbFVFO0VBd2pCQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FSbFBGOztBUXJVSTtFQXFTRjtFQUNBO0FSb0NGOztBUW5VRTtFSjFGRSxlQUhzQjtFQUl0QixrQkFKc0I7RUFXcEIsaUJBSHdCO0VBSXhCLGdCQUp3QjtBSitaOUI7O0FReEVJO0VBQ0UsU0FKSztFQUtMLFdBTEs7RUFNTCxVQU5LO0VBT0wsV0k1Wkc7RUo2WkgsWUk3Wkc7QVp3ZVQ7O0FRelVJO0VBMGtCQSx3R0FDRTtFQUtGO0FSbFFKOztBUTFVSTtFQXFxQkY7QVJ2VkY7O0FRdFVJOztFQTZrQkE7RUFDQTtFQUlBLDBHQUNFO0FSdFFOOztBUXpVSTs7RUE2cEJGO0VBQ0E7QVIvVUY7O0FheGZFO0VBQ0U7SUFDRSx1RE5QMkI7SU1ZM0I7RWJ1Zko7RWFwZkU7SUFDRTtFYnNmSjtBQUNGO0FhbmZFO0VBQ0U7SUFDRTtJQUNBO0VicWZKO0VhbGZFO0lBQ0U7RWJvZko7QUFDRjtBYWpmRTtFQUNFO0lBQ0U7SUFDQTtFYm1mSjtFYWhmRTtJQUNFO0Via2ZKO0FBQ0Y7QVExVkU7RUU3SEU7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBRUE7QVZ5ZEo7O0FVcmRFOztFQUdJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QVZ1ZE47O0FVbmRFO0VBR0ksNkRBQ0U7RUFLRjtBVitjTjs7QVV4Y0k7RUFFSTtBVjBjUjs7QVV0Y0k7RUFFSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FWd2NSOztBVWxjSTtFQUVJO0VBQ0E7RUFDQTtBVm9jUjs7QVU5Ykk7RUFFSSx5RkFDRTtBVitiVjs7QVV4Ykk7RUFFSTtFQUtBO0FWc2JSOztBVTVhRTtFRG5HRTtFQUNBO0VBQ0E7QVRtaEJKOztBVXpZSTtFQUdJLGFBckIwQjtBVitabEM7O0FVeFdNO0VBZUY7RUFJQSxhQXRFOEI7QVZnYWxDOztBVTlVSTtFQUVJO0FWZ1ZSOztBVTNVTTtFQUVJLHlCQ3RSUztFRDJSVCxhQTVGd0I7QVZxYWxDOztBVW5VRTtFQUVJO0FWcVVOOztBVTlORTs7RUFHSTtFQUNBO0VBQ0E7RUFDQSxXQVRLO0VBVUwsWUFWSztBVjBPWDs7QVUzTkk7O0VBR0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBVjZOUjs7QVV6Tkk7RUFFSTtFQUNBO0FWMk5SOztBUXpiRTtFRXlRRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBR0E7QVZrTEo7O0FROWJFO0VBRUk7QVJnY047O0FjN2NFO0VBckpNO0VBQ0E7RUFDQTtFQUNBO0VBTUE7RUxHSjtBVCtsQko7O0FlL25CRTs7RUFHSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FmaW9CTjs7QWU3bkJFO0VBYUk7RUFDQSxVQ2xDSTtBaEJzcEJWOztBZS9XRTtFTjFQRTtFQUNBO0VBQ0E7QVQ2bUJKOztBZTNXRTtFQUVJO0FmNldOOztBZXJXRTtFQUVJO0FmdVdOOztBZS9WRTtFQUVJO0FmaVdOOztBZXJWRTtFQUdJO0Fmc1ZOOztBZXRVRTtFQUVJLGdCQzlXTTtBaEJzckJaOztBZXpUUTtFQU5OO0lBT1EsNkJBVGE7RWZzVXJCO0FBQ0Y7QWUxVFE7RUFYTjtJQVlRLGdCQ2xZRTtFaEIrckJWO0FBQ0Y7QWVqVEU7RUFlTSw2QkFqQmU7QWZzVHZCOztBZS9SRTtFQUlFO0lBRUk7SUFXQTtFZm9STjtBQUNGO0FldldFO0VFNVZFO0FqQnNzQko7O0FlbHFCRTtFQUVJO0VBQ0E7QWZvcUJOOztBZTlwQkU7RUFFSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBR0E7QWY4cEJOOztBZTFwQkU7RURHRTtFQUNBO0VBYkE7RUFDQSw4SEFvR1c7RUN0RlQ7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUVBO0FmMnBCTjs7QWMxakJFO0VBNUZJLFdDbEIyQztFRG1CM0MsWUNuQjJDO0VEc0J6QztFQUNBO0VBQ0E7QWR3cEJSOztBa0I1c0JRO0VINENBO0VBQ0E7QWZvcUJSOztBZS9wQkU7RUlLRSxjSkorRDtFSXdEN0Q7RUFDQTtFQUNBO0VBN0ZGO0VBQ0E7RVZwQkE7RUFDQTtFQUNBO0VBRkE7RUFDQTtFQUNBO0VBRkE7RUFDQTtFQUNBO0VBRkE7RUFDQTtFQUNBO0VBRkE7RUFDQTtFQUNBO0VBRkE7RUFDQTtFQUNBO0VBRkE7RUFDQTtFQUNBO0VNd0RFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBZnlyQk47O0FtQnZuQkU7RUEyQkE7RUFDQTtFQUNBLFlKeEdpRDtFSXlHakQ7RUExQkk7QW5CMm5CTjs7QWtCN3ZCUTtFSCtEQTtFQUNBO0Fma3NCUjs7QWU1ckJFO0VBSUk7QWY0ckJOOztBZXhyQkU7RUk5REU7RUFDQTtFVnBCQTtFQUNBO0VBQ0E7RUFGQTtFQUNBO0VBQ0E7RUFGQTtFQUNBO0VBQ0E7RUFGQTtFQUNBO0VBQ0E7RUFGQTtFQUNBO0VBQ0E7RUFGQTtFQUNBO0VBQ0E7RUFGQTtFQUNBO0VBQ0E7RU1tRkU7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FmK3NCTjs7QWUzc0JJO0VBRUk7QWY2c0JSOztBZXhzQkk7RUFFSTtBZjBzQlI7O0FlcHNCRTtFQUlJO0Fmb3NCTjs7QWUvckJFO0VBSUk7RUFDQTtBZityQk47O0FlMXJCRTtFQUdJO0FmMnJCTjs7QWV0ckJFO0VBR0k7QWZ1ckJOOztBZW5yQkU7RUFFSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQSxZQzlMWTtFRCtMWjtBZnFyQk47O0FlbHJCSTtFQUVJO0VBQ0E7QWZvckJSOztBZS9xQkU7RUcyQ0U7RUFHRjtFQUhFO0VBR0Y7RUhsQ0k7RUFDQTtFQUNBO0FmMnFCTjs7QWtCdDFCTTtFQXdNRjtFQUdGO0VBSEU7RUFHRjtBbEJrcEJGOztBZTNyQkk7RUdzQ0E7RUFHRjtFQUhFO0VBR0Y7QWxCeXBCRjs7QWtCcDJCTTtFQXdNRjtFQUdGO0VBSEU7RUFHRjtBbEJncUJGOztBa0JqM0JRO0VIb0xBO0VBQ0E7QWZpc0JSOztBZTdyQkk7RUFFSTtBZityQlI7O0FlMXJCRTs7O0VBSUk7QWY0ckJOOztBZXZyQkk7RUFFSTtBZnlyQlI7O0FlcnJCSTtFQUVJO0FmdXJCUjs7QWVqckJJOztFQUdJO0FmbXJCUjs7QWUvcUJJO0VBR0k7QWZnckJSOztBZTFxQkk7RUFFSTtBZjRxQlI7O0FleHFCSTtFQUVJO0VBQ0E7QWYwcUJSOztBZWxxQkU7RUFFSTtBZm9xQk47O0FvQjU2QkU7RUQ4QkU7RUFDQTtFVnBCQTtFQUNBO0VBQ0E7RUFGQTtFQUNBO0VBQ0E7RUFGQTtFQUNBO0VBQ0E7RUFGQTtFQUNBO0VBQ0E7RUFGQTtFQUNBO0VBQ0E7RUFGQTtFQUNBO0VBQ0E7RUFGQTtFQUNBO0VBQ0E7RVdzYUE7RUFDQTtFQUlBO0VBQ0E7RUFDQTtFWHBhQTtFQUNBO0VBQ0E7QVRzN0JKOztBb0JsaEJJO0VBQ0U7QXBCcWhCTjs7QW9CamtCRTtFQWdCRSxZQXRCTztBcEIya0JYOztBb0Jsc0JFO0VYOVBFO0VBQ0E7RUFDQTtBVG84Qko7O0FvQjlyQkU7RVgvUUU7QVRpOUJKOztBb0J4ckJFO0VYbFJFO0VBQ0E7RUFDQTtBVDg4Qko7O0FvQnByQkU7RVg1UkU7RUFDQTtFQUNBO0FUbzlCSjs7QW9CeG9CRTtFWDlVRTtFQUNBO0VBQ0E7QVQwOUJKOztBb0Jwb0JFO0VBRUksYUNsWmtCO0FyQndoQ3hCOztBb0I3bkJJOzs7RVhuV0E7RUFDQTtFQUNBO0FUcytCSjs7QW9Cai9CRTtFQUVJO0VBQ0E7RUFDQTtBcEJtL0JOOztBb0IvK0JFO0VBZ2JBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBcEJta0JGOztBb0Jqa0JFO0VBQ0U7QXBCb2tCSjs7QW9CcC9CRTs7RVhQRTtFQUNBO0VBQ0E7QVRnZ0NKOztBb0JodkJFOztFWGxSRTtFQUNBO0VBQ0E7QVR1Z0NKOztBb0I1L0JFO0VGeUxFO0VBR0Y7RUFIRTtFQUdGO0VFcVFBLFdBL2IyQjtFQWdjM0IsWUFoYzJCO0VBRXZCO0VBQ0E7RUFDQTtFQUNBO0FwQmtnQ047O0FrQjloQ1E7RUE4TUo7RUFHRjtFQUhFO0VBR0Y7QWxCbzFCRjs7QW9CbGdDRTtFQUVJO0FwQm9nQ047O0FvQi8vQkU7RUZvS0U7RUFHRjtFQUhFO0VBR0Y7QWxCKzFCRjs7QW9CcGdDSTtFRDVCQTtFQUNBO0VWcEJBO0VBQ0E7RUFDQTtFQUZBO0VBQ0E7RUFDQTtFQUZBO0VBQ0E7RUFDQTtFQUZBO0VBQ0E7RUFDQTtFQUZBO0VBQ0E7RUFDQTtFQUZBO0VBQ0E7RUFDQTtFQUZBO0VBQ0E7RUFDQTtBVDJrQ0o7O0FrQjFrQ1E7RUE4TUo7RUFHRjtFQUhFO0VBR0Y7QWxCZzRCRjs7QW9CM2hDRTtFRDVCRTtFQUNBO0VBQ0E7QW5CMmpDSjs7QW9CM2hDRTtFQUVJO0FwQjZoQ047O0FvQnpoQ0U7RUR4Q0U7RUFDQTtFQUNBO0VBMkJBLGNDZ0JZO0VEb0NWO0VBQ0E7RUFDQTtFQUlBO0FuQnEvQk47O0FtQngrQkU7RUEyQkE7RUFDQTtFQUNBLFlDbExvQztFRG1McEM7RUExQkk7QW5CNCtCTjs7QW1CLzlCRTtFQVVBO0VBQ0E7RUFDQSxZQ2pMc0M7RURrTHRDO0VBVEk7QW5CbStCTjs7QW9CMWlDSTtFRHJCQSxjQXdDZ0Q7RUFZOUM7RUFDQTtFQUNBO0VBSUE7QW5CNmdDTjs7QW1CaGdDRTtFQTJCQTtFQUNBO0VBQ0EsWUNoTDBDO0VEaUwxQztFQTFCSTtBbkJvZ0NOOztBbUJ2L0JFO0VBVUE7RUFDQTtFQUNBLFlDakxzQztFRGtMdEM7RUFUSTtBbkIyL0JOOztBb0J4akNFO0VEdEVFO0VBQ0E7RVZwQkE7RUFDQTtFQUNBO0VBRkE7RUFDQTtFQUNBO0VBRkE7RUFDQTtFQUNBO0VBRkE7RUFDQTtFQUNBO0VBRkE7RUFDQTtFQUNBO0VBRkE7RUFDQTtFQUNBO0VBRkE7RUFDQTtFQUNBO0VVMkJBO0VBQ0E7RUFDQTtFQTJCQSxjQ29DWTtFRGdCVjtFQUNBO0VBQ0E7QW5Ca2tDTjs7QW1CampDRTtFQTJCQTtFQUNBO0VBQ0EsWUNqTHNDO0VEa0x0QztFQTFCSTtBbkJxakNOOztBb0J2bENJO0VBRUk7QXBCeWxDUjs7QW9CbGxDRTtFQUVJO0FwQm9sQ047O0FvQmhsQ0U7RUYrRkU7RUFHRjtFQUhFO0VBR0Y7RUVxUUEsV0FyVzJCO0VBc1czQixZQXRXMkI7QXBCdWxDN0I7O0FrQnhzQ1E7RUE4TUo7RUFHRjtFQUhFO0VBR0Y7QWxCOC9CRjs7QW9CMWxDRTtFQUVJO0FwQjRsQ047O0FvQnhsQ0U7RUZtRkU7RUFHRjtFQUhFO0VBR0Y7RUVxUUEsV0F6VjJCO0VBMFYzQixZQTFWMkI7RUFFdkI7QXBCOGxDTjs7QWtCN3RDUTtFQThNSjtFQUdGO0VBSEU7RUFHRjtBbEJtaENGOztBb0JqbUNFO0VBRUk7QXBCbW1DTjs7QW9CL2xDRTtFQUVJO0FwQmltQ047O0FvQjdsQ0U7O0VBR0k7QXBCK2xDTjs7QW9CM2xDRTtFRndERTtFQUdGO0VBSEU7RUFHRjtFRXFRQSxXQTlUMkI7RUErVDNCLFlBL1QyQjtBcEJrbUM3Qjs7QWtCMXZDUTtFQThNSjtFQUdGO0VBSEU7RUFHRjtBbEJnakNGOztBb0JwbUNFO0VBRUk7QXBCc21DTjs7QW9CaG1DRTtFQUVJO0VBQ0E7QXBCa21DTjs7QW9CN2xDRTtFQUVJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QXBCK2xDTjs7QW9CdDhCRTtFWDNVRTtBVHF4Q0o7O0FvQjNsQ0U7RUFHSTtBcEI0bENOOztBb0J4bENFO0VGWUU7RUFHRjtFQUhFO0VBR0Y7RUVYSTtBcEI0bENOOztBa0JseUNRO0VBOE1KO0VBR0Y7RUFIRTtFQUdGO0FsQndsQ0Y7O0FvQi9sQ0U7RUFFSTtBcEJpbUNOOztBb0IxbENNO0VBQ0U7QXBCNmxDUjs7QW9CeGxDRTtFRHpNRTtFQUNBO0VWcEJBO0VBQ0E7RUFDQTtFQUZBO0VBQ0E7RUFDQTtFQUZBO0VBQ0E7RUFDQTtFQUZBO0VBQ0E7RUFDQTtFQUZBO0VBQ0E7RUFDQTtFQUZBO0VBQ0E7RUFDQTtFQUZBO0VBQ0E7RUFDQTtFV2tPRTtBcEIybUNOOztBb0I5bENFO0VWaE9FO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUVBO0FWaTBDSjs7QVU3ekNFO0VBR0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBVjh6Q047O0FVMXpDRTtFQUdJLDZEQUNFO0VBS0Y7QVZzekNOOztBVS95Q0k7RUFFSTtBVml6Q1I7O0FVN3lDSTtFQUVJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QVYreUNSOztBVXp5Q0k7RUFFSTtFQUNBO0VBQ0E7QVYyeUNSOztBVXJ5Q0k7RUFFSSx5RkFDRTtBVnN5Q1Y7O0FVL3hDSTtFQUVJO0VBS0E7QVY2eENSOztBVWxrQ0U7RUFHSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FWbWtDTjs7QVU5akNJO0VBRUk7RUFDQTtBVmdrQ1I7O0FVaHlDRTtFRDFHRTtBVDg0Q0o7O0FVM3ZDSTtFQUdJLGFBckIwQjtBVml4Q2xDOztBVTF0Q007RUFlRjtFQUlBLGFBdEU4QjtBVmt4Q2xDOztBVWhzQ0k7RUFFSTtBVmtzQ1I7O0FVN3JDTTtFQUVJLHlCQ3RSUztFRDJSVCxhQTVGd0I7QVZ1eENsQzs7QVVyckNFO0VBRUk7QVZ1ckNOOztBVXpwQ0k7RUFHSSxhQVJjO0FWa3FDdEI7O0FVOXpDRTtFRG5HRTtFQUNBO0VBQ0E7QVRxNkNKOztBVTN4Q0k7RUFHSSxhQXJCMEI7QVZpekNsQzs7QVUxdkNNO0VBZUY7RUFJQSxhQXRFOEI7QVZrekNsQzs7QVVodUNJO0VBRUk7QVZrdUNSOztBVTd0Q007RUFFSSx5QkN0UlM7RUQyUlQsYUE1RndCO0FWdXpDbEM7O0FVcnRDRTtFQUVJO0FWdXRDTjs7QVU3cENJO0VBR0ksYUFQYTtBVnFxQ3JCOztBVTkxQ0U7RURuR0U7RUFDQTtFQUNBO0FUcThDSjs7QVUzekNJO0VBR0ksYUFyQjBCO0FWaTFDbEM7O0FVMXhDTTtFQWVGO0VBSUEsWUF0RThCO0FWazFDbEM7O0FVaHdDSTtFQUVJO0FWa3dDUjs7QVU3dkNNO0VBRUkseUJDdFJTO0VEMlJULFlBNUZ3QjtBVnUxQ2xDOztBVXJ2Q0U7RUFFSTtBVnV2Q047O0FvQmx2Q0U7RVZyT0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBRUE7QVYwOUNKOztBVXQ5Q0U7RUFHSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FWdTlDTjs7QVVuOUNFO0VBR0ksNkRBQ0U7RUFLRjtBVis4Q047O0FVeDhDSTtFQUVJO0FWMDhDUjs7QVV0OENJO0VBRUk7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBVnc4Q1I7O0FVbDhDSTtFQUVJO0VBQ0E7RUFDQTtBVm84Q1I7O0FVOTdDSTtFQUVJLHlGQUNFO0FWKzdDVjs7QVV4N0NJO0VBRUk7RUFLQTtBVnM3Q1I7O0FVM3RDRTtFQUdJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QVY0dENOOztBVXZ0Q0k7RUFFSTtFQUNBO0FWeXRDUjs7QVV6N0NFO0VEMUdFO0FUdWlESjs7QVUvMkNNO0VBZUY7RUFJQSxhVTJDNEM7QXBCc3pDaEQ7O0FzQmhsREU7RUFLSSxnQkNqQk07QXZCZ21EWjs7QW9CN3dDRTtFWG5TRTtBVG9qREo7O0FvQjN4Q0U7RVh6UkU7QVR3akRKOztBc0JubERJO0ViMkJBO0VLNEJBO0VBQ0E7QWRpaURKOztBY3I3Q0U7RUE1RkksV1FyRTZDO0VSc0U3QyxZUXRFNkM7RVJ5RTNDO0VBQ0E7RUFDQTtBZG1oRFI7O0FzQjNsREk7RUFFSTtBdEI2bERSOztBc0J6bERJO0VBRUk7QXRCMmxEUjs7QXNCdmxESTtFQUVJO0F0QnlsRFI7O0FzQnBsREk7O0VBR0k7QXRCc2xEUjs7QXNCL2tERTtFQUVJO0VBQ0E7QXRCaWxETjs7QXNCOWtESTtFSitMQTtFQUdGO0VBSEU7RUFHRjtBbEJtNUNGOztBa0I5bERNO0VBd01GO0VBR0Y7RUFIRTtFQUdGO0FsQjA1Q0Y7O0FzQnJsREk7RUp3TEE7RUFHRjtFQUhFO0VBR0Y7RUl2TE07RUFDQTtFQUVBO0VBQ0E7QXRCd2xEUjs7QWtCaG5ETTtFQXdNRjtFQUdGO0VBSEU7RUFHRjtBbEI0NkNGOztBc0J4bERFO0VBRUk7QXRCMGxETjs7QXdCcnFERTtFQWlFRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQSxVQzFGTTtFRDhGTiw0RUFDRTtFVjdCRjtFQUNBLDJIQW9HVztFTDlHWDtFQUNBO0VBQ0E7RUFGQTtFQUNBO0VBQ0E7RVE3Q0E7RUNpUEE7RUFHRjtFQUhFO0VBR0Y7QWxCODhDRjs7QXdCN21ERTtFQUVJO0F4QittRE47O0F3QjFtREU7RUFFSTtFQUNBO0VBQ0E7QXhCNG1ETjs7QXdCeG1ERTtFQUVJO0VBQ0E7RUFDQTtBeEIwbUROOztBd0J0bURFO0VBRUk7RUFDQTtFQUlBO0F4QnFtRE47O0FrQi9xRE07RUF3TUY7RUFHRjtFQUhFO0VBR0Y7QWxCMitDRjs7QXdCcHRERTtFQUVJO0VBQ0E7QXhCc3RETjs7QXdCbHRERTtFQUVJO0F4Qm90RE47O0EwQmh4REE7RUFDSTtFQUNBO0ExQm14REo7O0EwQmh4REE7RUFDSTtFQUNBO0VBQ0E7QTFCbXhESjtBMEJqeERJO0VBQ0k7RUFDQSxzQkNLUTtBM0I4d0RoQjtBMEJoeERJO0VBQ0k7RUFDQTtFQUNBO0VBQ0EseUJDYVk7RURaWjtBMUJreERSO0EwQjl3RFE7RUFDSTtFQUNBO0VBQ0E7QTFCZ3hEWjs7QTBCMXdESTtFQUNJO0VBQ0E7QTFCNndEUjs7QTBCendEQTtFQUNJO0ExQjR3REo7O0EwQnp3REE7RUFDSTtFQUNBO0ExQjR3REo7O0EwQnh3REk7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QTFCMndEUjtBMEJ6d0RRO0VBUko7SUFTUTtJQUNBO0UxQjR3RFY7QUFDRjs7QTRCeDBEQTtFQUNJO0E1QjIwREo7QTRCejBESTtFQUhKO0lBSVE7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQSxpQkQ2RGdCO0lDNURoQjtFNUI0MEROO0FBQ0Y7QTRCMTBESTtFQWZKO0lBZ0JRO0U1QjYwRE47QUFDRjtBNEIzMERJO0VBbkJKO0lBb0JRO0U1QjgwRE47QUFDRjtBNEIzMERRO0VBREo7SUFFUTtFNUI4MERWO0FBQ0Y7QTRCNzBEUTtFQUpKO0lBS1E7RTVCZzFEVjtBQUNGO0E0QjkwRFE7RUFSSjtJQVNRO0U1QmkxRFY7QUFDRjtBNEI3MERRO0VBREo7SUFFUTtFNUJnMURWO0FBQ0Y7QTRCLzBEUTtFQUpKO0lBS1E7RTVCazFEVjtBQUNGO0E0QmgxRFE7RUFSSjtJQVNRO0U1Qm0xRFY7QUFDRjtBNEIvMERRO0VBREo7SUFFUTtFNUJrMURWO0FBQ0Y7QTRCaDFEUTtFQUxKO0lBTVE7RTVCbTFEVjtBQUNGO0E0QmoxRFE7RUFUSjtJQVVRO0U1Qm8xRFY7QUFDRjtBNEJoMURRO0VBREo7SUFFUTtFNUJtMURWO0FBQ0Y7QTRCajFEUTtFQUxKO0lBTVE7SUFDQTtFNUJvMURWO0FBQ0Y7QTRCbDFEUTtFQVZKO0lBV1E7SUFDQSxpQkRIWTtFM0J3MUR0QjtBQUNGO0E0QmwxREk7RUFDSTtFQUNBO0E1Qm8xRFI7QTRCajFESTtFQUNJO0VBRUE7RUFDQTtFQUNBO0E1QmsxRFI7QTRCaDFEUTtFQUNJO0VBQ0E7QTVCazFEWjtBNEIvMERRO0VBQ0k7QTVCaTFEWjtBNEIvMERZO0VBQ0ksY0RqR0M7QTNCazdEakI7QTRCOTBEWTtFQUNJO0E1QmcxRGhCO0E0QjMwREk7RUFDSSxjRGpGUTtBM0I4NURoQjtBNEIzMERRO0VBRUk7QTVCNDBEWjs7QTZCNzdESTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBLHlCRkxTO0VFTVQ7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBLFdGR1E7RUVGUjtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VuQnNFSjtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFFQTtBVjAzREo7QVV0M0RFO0VBR0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBVnMzRE47QVVsM0RFO0VBR0ksNkRBQ0U7RUFLRjtBVjYyRE47QVV0MkRJO0VBRUk7QVZ1MkRSO0FVbjJESTtFQUVJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QVZvMkRSO0FVOTFESTtFQUVJO0VBQ0E7RUFDQTtBVisxRFI7QVV6MURJO0VBRUkseUZBQ0U7QVZ5MURWO0FVbDFESTtFQUVJO0VBS0E7QVYrMERSO0FVcG5ERTtFQUdJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QVZvbkROO0FVL21ESTtFQUVJO0VBQ0E7QVZnbkRSO0FVaDFERTtFRDFHRTtBVDY3REo7QVUxeURJO0VBR0ksVW1CMU1rQztBN0JvL0QxQztBVXh3RE07RUFlRjtFQUlBLFVtQjlQc0M7QTdCdS9EMUM7QVU3dURJO0VBRUk7QVY4dURSO0FVenVETTtFQUVJLHlCQ3RSUztFRDJSVCxhbUJ2UmdDO0E3QjYvRDFDO0FVaHVERTtFQUVJO0FWaXVETjtBNkI5L0RRO0VBM0JKO0lBNEJRO0lBQ0E7SUFDQTtFN0JpZ0VWO0FBQ0Y7QTZCOS9EUTtFQUNJO0E3QmdnRVo7QTZCNy9EUTtFQUNJO0E3QisvRFo7QThCbm9EUTtFQUNJO0E5QnFvRFo7QVV0eURNO0VBZUY7RUFJQSxZb0IrSTBDO0E5QndvRDlDO0E2Qi8vREk7RUFDSTtFQUNBO0VBQ0E7QTdCaWdFUjtBNkI5L0RJO0VBQ0k7RUFDQTtBN0JnZ0VSO0E2QjkvRFE7RUFKSjtJQUtRO0U3QmlnRVY7QUFDRjtBNkI5L0RJO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0E3QmdnRVI7QTZCOS9EUTtFQWRKO0lBZVE7RTdCaWdFVjtBQUNGO0E2Qi8vRFE7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0EseUJGcERPO0EzQnFqRW5CO0E2Qi8vRFk7RUFkSjtJQWVRO0U3QmtnRWQ7QUFDRjtBNkI5L0RJO0VBQ0k7RUFDQTtFQUNBO0E3QmdnRVI7QTZCNy9ESTtFQUNJLHlCRnhHUztFRXlHVCxXRjNGUTtFRTRGUjtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QTdCKy9EUjtBNkI1L0RJO0VBQ0k7QTdCOC9EUjtBNkIzL0RJO0VBQ0ksV0Z6R1E7RUUwR1IseUJGbkZXO0VFb0ZYO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBN0I2L0RSO0E2QjMvRFE7RUFoQko7SUFpQlE7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0U3QjgvRFY7QUFDRjs7QStCOW9FQTtFQUNJO0VBQ0E7QS9CaXBFSjtBK0I3b0VZO0VBREo7SUFFUTtJQUNBO0UvQmdwRWQ7QUFDRjtBK0I1b0VJO0VBQ0ksc0JKR1E7RUlGUjtFQUNBO0VBQ0E7RUFDQTtFQUNBO0EvQjhvRVI7QStCM29FSTtFQUNJLHlCSmlCVztFSWhCWCxXSlBRO0VJUVI7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0EvQjZvRVI7QStCM29FUTtFQWhCSjtJQWlCUTtFL0I4b0VWO0FBQ0Y7QStCM29FWTtFQURKO0lBRVE7SUFDQTtFL0I4b0VkO0FBQ0Y7QStCMW9FSTtFQUVJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QS9CMm9FUjtBK0J4b0VJO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQSxzQkpsRFE7RUltRFI7RUFDQTtBL0Iwb0VSO0ErQnZvRUk7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QS9CeW9FUjtBK0J2b0VRO0VBZEo7SUFlUTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0UvQjBvRVY7QUFDRjtBK0J2b0VRO0VBdkJKO0lBd0JRO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7RS9CMG9FVjtBQUNGO0ErQnRuRUk7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0EvQnduRVI7QStCdG5FUTtFQVBKO0lBUVE7RS9CeW5FVjtBQUNGO0ErQnZuRVE7RUFDSSxxQkp4Rlk7RUl5RlosV0pySEk7QTNCOHVFaEI7O0FnQy92RUE7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FoQ2t3RUo7QWdDaHdFSTtFQVBKO0lBUVE7SUFDQTtFaENtd0VOO0FBQ0Y7QWdDandFSTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0FoQ213RVI7QWdDaHdFSTtFQUNJO0VBQ0E7RUFDQTtBaENrd0VSO0FnQ2h3RVE7RUFMSjtJQU1RO0VoQ213RVY7QUFDRjtBZ0Nod0VJO0VBQ0ksY0xEUTtFS0VSO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RXRCbURKO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUVBO0VzQm5ESTtBaENtd0VSO0FVNXNFRTtFQUdJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QVY0c0VOO0FVeHNFRTtFQUdJLDZEQUNFO0VBS0Y7QVZtc0VOO0FVNXJFSTtFQUVJO0FWNnJFUjtBVXpyRUk7RUFFSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FWMHJFUjtBVXByRUk7RUFFSTtFQUNBO0VBQ0E7QVZxckVSO0FVL3FFSTtFQUVJLHlGQUNFO0FWK3FFVjtBVXhxRUk7RUFFSTtFQUtBO0FWcXFFUjtBVTE4REU7RUFHSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FWMDhETjtBVXI4REk7RUFFSTtFQUNBO0FWczhEUjtBVXRxRUU7RUQxR0U7QVRteEVKO0FVaG9FSTtFQUdJLFVzQnhMa0M7QWhDd3pFMUM7QVU5bEVNO0VBZUY7RUFJQSxVc0I1T3NDO0FoQzJ6RTFDO0FVbmtFSTtFQUVJO0FWb2tFUjtBVS9qRU07RUFFSSx5QkN0UlM7RUQyUlQsYXNCclFnQztBaENpMEUxQztBVXRqRUU7RUFFSTtBVnVqRU47QWdDajBFUTtFQUVJLGNMcEJJO0EzQnMxRWhCO0FnQy96RVE7RUFDSTtBaENpMEVaO0FnQzl6RVE7RUFDSSxjTHRESztFS3VETDtBaENnMEVaO0FnQzl6RVk7RUFKSjtJQUtRO0VoQ2kwRWQ7QUFDRjtBZ0M3ekVZO0VBQ0k7QWhDK3pFaEI7QWdDMXpFSTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBaEM0ekVSO0FnQ3p6RUk7RUFFSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0V0QkRKO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUVBO0VzQkNJO0FoQzJ6RVI7QVV4ekVFO0VBR0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBVnd6RU47QVVwekVFO0VBR0ksNkRBQ0U7RUFLRjtBVit5RU47QVV4eUVJO0VBRUk7QVZ5eUVSO0FVcnlFSTtFQUVJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QVZzeUVSO0FVaHlFSTtFQUVJO0VBQ0E7RUFDQTtBVml5RVI7QVUzeEVJO0VBRUkseUZBQ0U7QVYyeEVWO0FVcHhFSTtFQUVJO0VBS0E7QVZpeEVSO0FVN2hFRTtFQUdJO0VBQ0E7RUFDQTtFQUNBLFdBVEs7RUFVTCxZQVZLO0FWdWlFWDtBVXhoRUk7RUFHSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FWd2hFUjtBVXBoRUk7RUFFSTtFQUNBO0FWcWhFUjtBVXp4RUU7RUQxR0U7QVRzNEVKO0FVbnZFSTtFQUdJLFVzQnBJa0M7QWhDdTNFMUM7QVVqdEVNO0VBZUY7RUFJQSxVc0J4THNDO0FoQzAzRTFDO0FVdHJFSTtFQUVJO0FWdXJFUjtBVWxyRU07RUFFSSx5QkN0UlM7RUQyUlQsYXNCak5nQztBaENnNEUxQztBVXpxRUU7RUFFSTtBVjBxRU47QWdDaDRFUTtFQUNJO0FoQ2s0RVo7QWdDOTNFWTtFQUNJO0FoQ2c0RWhCO0FnQzMzRUk7RUFDSTtFQUNBO0VBQ0E7RUFDQTtBaEM2M0VSO0FnQzMzRVE7RUFOSjtJQU9RO0lBQ0E7RWhDODNFVjtBQUNGO0FnQzMzRUk7RUFDSTtFQUNBO0VBQ0E7RUFDQTtBaEM2M0VSO0FnQzMzRVE7RUFOSjtJQU9RO0lBQ0E7RWhDODNFVjtBQUNGOztBaUNqZ0ZBO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFFQTtFQUNBO0VBQ0E7RUFDQTtBakNtZ0ZKO0FpQ2pnRkk7RUFYSjtJQWFRO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0VqQ21nRk47QUFDRjs7QWlDaGdGQTtFQUNJLFdOVlk7RU1XWjtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBakNtZ0ZKO0FpQ2pnRkk7RUFoQko7SUFpQlE7SUFDQTtJQUNBLHlCTlFRO0lNUFI7SUFDQTtJQUNBO0VqQ29nRk47QUFDRjtBaUNqZ0ZRO0VBREo7SUFFUSx5Qk45Q1c7RTNCa2pGckI7QUFDRjtBaUNoZ0ZRO0VBREo7SUFFUSx5Qk5STTtFM0IyZ0ZoQjtBQUNGO0FpQ2hnRkk7RUFDSSxXTi9DUTtBM0JpakZoQjtBaUMvL0VJO0VBQ0k7RUFDQSx5Qk5sRVM7RU1tRVQsV05yRFE7RU1zRFI7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QWpDaWdGUjtBaUMvL0VRO0VBZko7SUFnQlE7SUFDQTtJQUNBO0lBQ0E7SUFDQTtFakNrZ0ZWO0FBQ0Y7QWlDaGdGUTtFQUNJLHlCTnBGVztBM0JzbEZ2QjtBaUNoZ0ZZO0VBSEo7SUFJUTtFakNtZ0ZkO0FBQ0Y7QWlDaGdGUTtFQUNJLHlCTmhETTtBM0JrakZsQjtBaUNoZ0ZZO0VBSEo7SUFJUTtFakNtZ0ZkO0FBQ0Y7QWlDaGdGUTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FqQ2tnRlo7QWlDaGdGWTtFQVpKO0lBYVE7RWpDbWdGZDtBQUNGO0FpQ2pnRlk7RUFDSTtFQUNBO0VBQ0E7QWpDbWdGaEI7QWlDamdGZ0I7RUFMSjtJQU1RO0VqQ29nRmxCO0FBQ0Y7QWlDamdGWTtFQUNJO0VBQ0E7RUFDQTtBakNtZ0ZoQjtBaUNqZ0ZnQjtFQUxKO0lBTVE7RWpDb2dGbEI7QUFDRjtBaUMvL0VJO0VBQ0kseUJOOUlTO0VNK0lUO0VBQ0E7RUFDQTtFQUNBO0FqQ2lnRlI7QWlDLy9FUTtFQUNJLHlCTmpKVztBM0JrcEZ2QjtBaUM5L0VRO0VBQ0kseUJOekdNO0EzQnltRmxCO0FpQzcvRVE7RUFmSjtJQWdCUTtJQUNBO0lBQ0E7RWpDZ2dGVjtBQUNGO0FpQzcvRVk7RUFESjtJQUVRO0VqQ2dnRmQ7QUFDRjtBaUM1L0VZO0VBREo7SUFFUTtFakMrL0VkO0FBQ0Y7QWlDMy9FSTtFQUNJLFdObEtRO0VNbUtSO0FqQzYvRVI7O0FrQ2pyRkE7RUFDSTtBbENvckZKO0FrQ2xyRkk7RUFISjtJQUlRO0VsQ3FyRk47QUFDRjtBa0NuckZJO0VBQ0k7RUFDQTtFQUNBO0VBQ0EsY1BSUztFT1NUO0VBQ0E7RUFDQTtFQUNBO0FsQ3FyRlI7QWtDbnJGUTtFQVZKO0lBV1E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7RWxDc3JGVjtBQUNGO0FrQ3ByRlE7RUFwQko7SUFxQlE7RWxDdXJGVjtBQUNGO0FrQ3JyRlE7RUF4Qko7SUF5QlE7RWxDd3JGVjtBQUNGO0FrQ3ByRkk7RUFDSTtBbENzckZSO0FrQ3ByRlE7RUFISjtJQUlRO0lBQ0E7SUFDQTtFbEN1ckZWO0FBQ0Y7QWtDcnJGUTtFQVRKO0lBVVE7RWxDd3JGVjtBQUNGO0FrQ3RyRlE7RUFiSjtJQWNRO0VsQ3lyRlY7QUFDRjtBa0N0ckZJO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBbEN3ckZSO0FrQ3RyRlE7RUFQSjtJQVFRO0VsQ3lyRlY7QUFDRjtBa0N0ckZJO0VBQ0k7RUFDQTtFQUNBO0FsQ3dyRlI7QWtDdHJGUTtFQUxKO0lBTVE7SUFDQTtFbEN5ckZWO0FBQ0Y7QWtDdnJGUTtFQVZKO0lBV1E7SUFDQTtJQUNBO0VsQzByRlY7QUFDRjtBa0N4ckZRO0VBaEJKO0lBaUJRO0VsQzJyRlY7QUFDRjtBa0N6ckZRO0VBcEJKO0lBcUJRO0VsQzRyRlY7QUFDRjtBa0N6ckZZO0VBREo7SUFFUTtFbEM0ckZkO0FBQ0Y7QWtDeHJGWTtFQURKO0lBRVE7RWxDMnJGZDtBQUNGO0FrQ3ZyRlk7RUFESjtJQUVRO0VsQzByRmQ7QUFDRjtBa0N0ckZJO0VBQ0k7QWxDd3JGUjtBa0N0ckZRO0VBSEo7SUFJUTtFbEN5ckZWO0FBQ0Y7O0FtQzF5Rkk7RUFDSTtBbkM2eUZSO0FtQzF5Rkk7RUFDSTtFQUNBO0FuQzR5RlI7QW1DMXlGUTtFQUpKO0lBS1E7RW5DNnlGVjtBQUNGO0FtQzN5RlE7RUFSSjtJQVNRO0VuQzh5RlY7QUFDRjtBbUM1eUZRO0VBWko7SUFhUTtFbkMreUZWO0FBQ0Y7QW1DN3lGUTtFQWhCSjtJQWlCUTtFbkNnekZWO0FBQ0Y7QW1DOXlGUTtFQXBCSjtJQXFCUTtFbkNpekZWO0FBQ0Y7QW1DN3lGUTtFQUNJO0VBQ0E7QW5DK3lGWjtBbUM3eUZZO0VBSko7SUFLUTtFbkNnekZkO0FBQ0Y7QW1DOXlGWTtFQVJKO0lBU1E7RW5DaXpGZDtBQUNGO0FtQzd5Rkk7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBbkMreUZSO0FtQzd5RlE7RUFsQko7SUFtQlE7SUFDQTtJQUNBO0VuQ2d6RlY7QUFDRjtBbUM5eUZRO0VBRUk7RUFDQTtBbkMreUZaOztBb0N2M0ZJO0VBQ0k7QXBDMDNGUjs7QW9DdDNGQTtFQUNJO0FwQ3kzRko7O0FvQ3QzRkE7RUFDSTtBcEN5M0ZKO0FvQ3YzRkk7RUFDSTtBcEN5M0ZSO0FvQ3YzRlE7RUFISjtJQUlRO0VwQzAzRlY7QUFDRjs7QXFDOTNGSTtFQUNJO0VBQ0E7QXJDaTRGUjtBcUM3M0ZRO0VBQ0k7RUFDQTtFQUNBO0FyQyszRlo7QXFDNzNGWTtFQUNJO0VBQ0E7QXJDKzNGaEI7QXFDNzNGZ0I7RUFDSTtBckMrM0ZwQjtBcUN6M0ZJO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FyQzIzRlI7QXFDejNGUTtFQVJKO0lBU1E7RXJDNDNGVjtBQUNGO0FxQzEzRlE7RUFaSjtJQWFRO0VyQzYzRlY7QUFDRjtBcUMzM0ZRO0VBQ0k7RUFDQTtFQUNBO0FyQzYzRlo7QXFDeDNGUTs7O0VBR0k7QXJDMDNGWjtBcUN2M0ZRO0VBQ0k7QXJDeTNGWjtBcUNuM0ZZO0VBQ0k7RUFDQTtBckNxM0ZoQjtBcUNoM0ZJO0VBQ0k7RUFDQTtFQUNBO0FyQ2szRlI7QVEveEVFO0VDMWxCRTtFQUFBO0FUNjNGSjtBUW55RUU7OztFQzFsQkU7RUFBQTtBVG00Rko7QUsvNkZFO0VBQ0U7SUkyQ0E7SUFBQTtFVHc0RkY7RUs5NkZFO0lJc0NBO0lBQUE7RVQ0NEZGO0FBQ0Y7QUs3NkZFO0VBQ0U7SUkrQkE7SUFBQTtFVGs1RkY7RUszNkZFO0lJeUJBO0lBQUE7RVRzNUZGO0FBQ0Y7QVExcEZRO0VBRUk7QVIycEZaO0FRcHBGUTtFQUVJO0FScXBGWjtBUXRzRUk7RUN2dEJBO0FUZzZGSjtBUW5zRUk7RUM3dEJBO0FUbTZGSjtBUWptRkU7OztFQ2xVRTtBVHc2Rko7QVU5ekZFO0VEMUdFO0FUMjZGSjtBVXh4Rkk7RUFHSSxhQXJCMEI7QVY2eUZsQztBVXR2Rk07RUFlRjtFQUlBLGFBdEU4QjtBVjZ5RmxDO0FVM3RGSTtFQUVJO0FWNHRGUjtBVXZ0Rk07RUFFSSx5QkN0UlM7RUQyUlQsYUE1RndCO0FWZ3pGbEM7QVU5c0ZFO0VBRUk7QVYrc0ZOO0FVbDFGRTs7RUQxR0U7QVRnOEZKO0FxQ243RlE7RUFDSTtFQUNBO0VBQ0E7QXJDcTdGWjtBcUNuN0ZZO0VBQ0kseUJWNUZDO0VVNkZEO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QXJDcTdGaEI7QXFDbDdGWTtFQUNJLHlCVnJHQztFVXNHRDtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FyQ283RmhCO0FxQzk2RmdCO0VBQ0k7RUFDQSx5QlZsSEg7QTNCa2lHakI7QXFDNzZGZ0I7RUFDSSx5QlZ0SEg7QTNCcWlHakI7QXFDeDZGSTtFQUNJO0VBQ0E7QXJDMDZGUjtBc0N0aUZFO0U3QjFiRTtBVG0rRko7QXNDemlGRTtFN0IxYkU7QVRzK0ZKO0FzQzNqRkU7RTdCM2FFO0FUeStGSjtBc0M1dUZFO0U3QjdQRTtBVDQrRko7QXFDNzZGUTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0FyQys2Rlo7QXFDNzZGWTtFQU5KO0lBT1E7RXJDZzdGZDtBQUNGO0FxQzk2Rlk7RUFWSjtJQVdRO0VyQ2k3RmQ7QUFDRjtBcUM5NkZRO0VBQ0k7RUFDQTtFQUNBO0FyQ2c3Rlo7QXFDOTZGWTtFQUNJLHlCVjdKQztFVThKRDtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FyQ2c3RmhCO0FxQzc2Rlk7RUFDSSx5QlZ0S0M7RVV1S0Q7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBckMrNkZoQjtBcUN6NkZnQjtFQUNJLHlCVmxMSDtFVW1MRztBckMyNkZwQjtBcUNwNkZJO0VBQ0k7RUFDQTtBckNzNkZSO0FxQ2o2Rlk7RUFDSTtBckNtNkZoQjtBcUNqNkZnQjtFQUhKO0lBSVE7RXJDbzZGbEI7QUFDRjtBcUNsNkZnQjtFQVBKO0lBUVE7SUFDQTtFckNxNkZsQjtBQUNGO0FxQ2g2Rkk7RUFDSTtBckNrNkZSO0FxQy81Rkk7RUFDSSxjVjdMWTtBM0I4bEdwQjtBcUM5NUZJO0VBQ0k7QXJDZzZGUjtBcUM5NUZRO0VBQ0k7QXJDZzZGWjtBcUN6NUZnQjtFQUNJO0FyQzI1RnBCO0FxQ3Y1Rm9CO0VBQ0ksY1ZqTko7QTNCMG1HcEI7QXFDLzRGUTtFQUNJO0FyQ2k1Rlo7QXFDLzRGWTtFQUhKO0lBSVE7RXJDazVGZDtBQUNGO0FxQzk0Rlk7RUFDSTtBckNnNUZoQjtBcUM3NEZZO0VBQ0ksY1ZqTkU7QTNCZ21HbEI7QXFDejRGZ0I7RUFDSTtBckMyNEZwQjtBcUN2NEZZO0VBQ0ksY1Y3TkU7QTNCc21HbEI7QXFDcjRGUTs7Ozs7RUFHSTtBckN5NEZaO0FxQ3I0RlE7RUFDSTtBckN1NEZaO0FxQ3I0Rlk7RUFDSTtBckN1NEZoQjtBcUNuNEZRO0VBQ0ksY1ZqUE07QTNCc25HbEI7QXFDbjRGWTtFQUNJLGNWcFBFO0EzQnluR2xCO0FxQ2w0Rlk7RUFDSSxjVnhQRTtFVXlQRjtBckNvNEZoQjtBcUNoNEZRO0VBQ0ksY1Y5UE07QTNCZ29HbEI7QXFDaDRGWTtFQUNJLGNWalFFO0EzQm1vR2xCO0FxQy8zRlk7RUFDSSxjVnJRRTtFVXNRRjtBckNpNEZoQjtBcUM1M0ZZO0VBQ0k7RUFDQTtBckM4M0ZoQjtBcUN6M0ZnQjtFQUNJO0FyQzIzRnBCO0FxQ3YzRlk7Ozs7O0VBR0k7QXJDMjNGaEI7QXFDeDNGWTtFQUNJO0FyQzAzRmhCO0FxQ3YzRlk7RUFDSTtBckN5M0ZoQjtBcUNwM0ZZO0VBQ0k7RUFDQTtBckNzM0ZoQjtBcUNsM0ZnQjtFQUNJO0FyQ28zRnBCO0FxQzkyRlk7RUFDSSxjVnJURTtBM0JxcUdsQjtBcUM5MkZnQjtFQUNJLGNWeFRGO0EzQndxR2xCO0FxQzcyRmdCO0VBQ0ksY1Y1VEY7RVU2VEU7QXJDKzJGcEI7QXFDMzJGWTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBckM2MkZoQjtBcUMzMkZnQjtFQVhKO0lBWVE7RXJDODJGbEI7QUFDRjtBcUMzMkZZO0VBQ0k7RUFDQTtBckM2MkZoQjtBcUN2MkZROzs7RUFHSTtFQUNBO0FyQ3kyRlo7QXFDdjJGWTs7O0VBQ0k7QXJDMjJGaEI7QXFDdjJGUTtFQUNJO0FyQ3kyRlo7QXFDdjJGWTtFQUNJO0FyQ3kyRmhCO0FxQ3AyRlk7RUFDSTtFQUNBO0FyQ3MyRmhCO0FxQ2oyRmdCO0VBQ0k7QXJDbTJGcEI7QXFDLzFGWTs7O0VBR0k7QXJDaTJGaEI7QXFDOTFGWTtFQUNJO0FyQ2cyRmhCO0FxQzcxRlk7RUFDSTtBckMrMUZoQjtBcUMxMUZZO0VBQ0k7RUFDQTtBckM0MUZoQjtBcUN0MUZROzs7RUFHSTtFQUNBO0FyQ3cxRlo7QXFDdDFGWTs7O0VBQ0k7QXJDMDFGaEI7QXFDdDFGUTtFQUNJO0FyQ3cxRlo7QXFDdDFGWTtFQUNJO0FyQ3cxRmhCO0FxQ24xRlk7RUFDSTtFQUNBO0FyQ3ExRmhCO0FxQ2gxRmdCO0VBQ0k7QXJDazFGcEI7QXFDOTBGWTs7O0VBR0k7QXJDZzFGaEI7QXFDNzBGWTtFQUNJO0FyQyswRmhCO0FxQzUwRlk7RUFDSTtBckM4MEZoQjtBcUN6MEZJO0VBQ0k7RUFDQTtBckMyMEZSO0FxQ3owRlE7RUFDSTtFQUNBLGNWdGRRO0VVdWRSO0VBQ0E7RUFDQTtFQUNBO0FyQzIwRlo7QXFDejBGWTtFQVJKO0lBU1E7RXJDNDBGZDtBQUNGO0FxQzEwRlk7RUFaSjtJQWFRO0lBQ0E7RXJDNjBGZDtBQUNGO0FxQzMwRlk7RUFDSTtFQUNBO0VBQ0E7RUFDQTtBckM2MEZoQjtBcUMzMEZnQjtFQU5KO0lBT1E7RXJDODBGbEI7QUFDRjtBcUM1MEZnQjtFQUNJO0FyQzgwRnBCO0FxQzUwRm9CO0VBQ0k7QXJDODBGeEI7QXFDMzBGb0I7RUFDSTtFQUNBO0FyQzYwRnhCO0FxQ3YwRlE7RUFDSTtFQUNBO0FyQ3kwRlo7QXFDdjBGWTtFQUpKO0lBS1E7SUFDQTtFckMwMEZkO0FBQ0Y7QXFDeDBGWTtFQVRKO0lBVVE7SUFDQTtFckMyMEZkO0FBQ0Y7QXFDeDBGZ0I7RUFFSTtFQUNBLGNWNWdCRDtBM0JxMUduQjtBcUNuMEZJO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7QXJDcTBGUjtBcUNuMEZRO0VBTko7SUFPUTtJQUNBO0lBQ0E7RXJDczBGVjtBQUNGO0FxQ2wwRlE7RUFESjtJQUVRO0VyQ3EwRlY7QUFDRjtBcUNsMEZJO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7QXJDbzBGUjtBcUNqMEZJO0VBQ0k7RUFDQTtBckNtMEZSO0FxQ2gwRkk7RUFDSTtFQUNBO0VBQ0E7QXJDazBGUjtBcUMvekZJO0VBQ0k7RUFDQTtFQUNBO0FyQ2kwRlI7QXFDL3pGUTtFQUxKO0lBTVE7RXJDazBGVjtBQUNGO0FxQ2gwRlE7RUFDSTtBckNrMEZaO0FxQy96RlE7RUFDSTtBckNpMEZaO0FxQzl6RlE7RUFDSTtBckNnMEZaO0FxQzd6RlE7RUFDSTtFQUNBO0FyQyt6Rlo7QXFDN3pGWTtFQUpKO0lBS1E7SUFDQTtFckNnMEZkO0FBQ0Y7QXFDOXpGWTtFQUNJO0FyQ2cwRmhCO0FxQzV6RlE7RUFDSTtFQUNBO0FyQzh6Rlo7QXFDMXpGWTtFQURKO0lBRVE7SUFDQTtFckM2ekZkO0FBQ0Y7QXFDMXpGZ0I7RUFESjtJQUVRO0VyQzZ6RmxCO0FBQ0Y7QXFDeHpGWTtFQURKO0lBRVE7SUFDQTtFckMyekZkO0FBQ0Y7QXFDeHpGUTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QXJDMHpGWjtBcUN4ekZZO0VBVko7SUFXUTtJQUNBO0VyQzJ6RmQ7QUFDRjtBcUN2ekZJO0VBQ0k7RUFDQTtBckN5ekZSO0FxQ3Z6RlE7RUFKSjtJQUtRO0lBQ0E7RXJDMHpGVjtBQUNGO0FxQ3Z6Rkk7O0VBRUk7RUFDQTtBckN5ekZSO0FxQ3Z6RlE7O0VBQ0k7QXJDMHpGWjtBcUN2ekZRO0VBVEo7O0lBVVE7RXJDMnpGVjtFcUN6ekZVOztJQUNJO0VyQzR6RmQ7QUFDRjtBcUN2ekZJOztFQUVJO0VBQ0E7QXJDeXpGUjtBcUN2ekZROztFQUNJO0FyQzB6Rlo7QXFDdnpGUTtFQVRKOztJQVVRO0lBQ0E7RXJDMnpGVjtFcUN6ekZVOztJQUNJO0VyQzR6RmQ7QUFDRjtBcUN4ekZJO0VBQ0k7RUFDQTtBckMwekZSO0FxQ3h6RlE7RUFDSTtBckMwekZaO0FxQ3Z6RlE7RUFSSjtJQVNRO0lBQ0E7RXJDMHpGVjtFcUN4ekZVO0lBQ0k7RXJDMHpGZDtBQUNGO0FxQ3B6Rkk7O0VBRUk7QXJDc3pGUjtBcUNwekZROztFQUNJO0FyQ3V6Rlo7QXFDcHpGUTtFQVJKOztJQVNRO0VyQ3d6RlY7RXFDdHpGVTs7SUFDSTtFckN5ekZkO0FBQ0Y7QXFDcnpGSTtFQUNJO0FyQ3V6RlI7QXFDcnpGUTtFQUNJO0FyQ3V6Rlo7QXFDcHpGUTtFQVBKO0lBUVE7RXJDdXpGVjtFcUNyekZVO0lBQ0k7RXJDdXpGZDtBQUNGO0FxQ2p6Rkk7Ozs7RUFJSTtBckNtekZSO0FxQy95RlE7OztFQUdJLHFCVm53QlE7QTNCb2pIcEI7QXFDNXlGUTs7O0VBR0kscUJWM3dCUTtBM0J5akhwQjtBcUN6eUZROzs7RUFHSSxxQlZueEJRO0EzQjhqSHBCO0FxQ3R5RlE7OztFQUdJLHFCVjN4QlE7QTNCbWtIcEI7QXFDbnlGUTs7O0VBR0kscUJWbnlCUTtBM0J3a0hwQjtBcUNoeUZROzs7RUFHSSxxQlYzeUJRO0EzQjZrSHBCO0FxQzl4Rkk7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQSxjVjl4QlU7RVUreEJWO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQSxzQlZ0MEJRO0VVdTBCUjtFQUNBO0FyQ2d5RlI7QXFDOXhGUTtFQWpCSjtJQWtCUTtFckNpeUZWO0FBQ0Y7QXFDL3hGUTtFQXJCSjtJQXNCUTtFckNreUZWO0FBQ0Y7QXFDaHlGUTtFQUNJO0FyQ2t5Rlo7QXFDL3hGUTtFQUNJO0FyQ2l5Rlo7QXFDOXhGUTtFQUNJO0FyQ2d5Rlo7QXFDN3hGUTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBckMreEZaO0FxQzd4Rlk7RUFYSjtJQVlRO0VyQ2d5RmQ7QUFDRjtBcUM1eEZJO0VBQ0ksY1Y5MEJVO0VVKzBCVjtFQUNBO0FyQzh4RlI7QXFDM3hGSTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBLGNWMTFCVTtFVTIxQlY7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBLHNCVmw0QlE7RVVtNEJSO0VBQ0E7QXJDNnhGUjtBcUMzeEZRO0VBakJKO0lBa0JRO0VyQzh4RlY7QUFDRjtBcUM1eEZRO0VBckJKO0lBc0JRO0VyQyt4RlY7QUFDRjtBcUM3eEZRO0VBQ0k7QXJDK3hGWjtBcUMzeEZJO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0EsY1Z4M0JVO0VVeTNCVjtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0Esc0JWaDZCUTtFVWk2QlI7RUFDQTtBckM2eEZSO0FxQzN4RlE7RUFqQko7SUFrQlE7RXJDOHhGVjtBQUNGO0FxQzV4RlE7RUFyQko7SUFzQlE7RXJDK3hGVjtBQUNGO0FxQzd4RlE7RUFDSTtBckMreEZaO0FxQzN4Rkk7RUFDSTtBckM2eEZSO0FxQzN4RlE7RUFISjtJQUlRO0VyQzh4RlY7QUFDRjtBcUMzeEZJO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QXJDNnhGUjtBcUMxeEZJO0VBQ0k7RUFDQTtFQVFBO0VBQ0E7QXJDcXhGUjtBdUNobEhFO0V0Qi9ISTtFQUdGO0FqQmd0SEo7QWtCdnFITTtFRHJDRTtFQUNBO0FqQitzSFI7QXVDdGtIRTtFdEJqSkk7RUFHRjtBakJ3dEhKO0FrQi9xSE07RURyQ0U7RUFDQTtBakJ1dEhSO0F3Qy83R0U7RXZCN1JFO0FqQit0SEo7QXVDbHBIRTs7O0U5QnpDRTtBVGdzSEo7QXVDM29IRTs7O0VBSUksaUJFOUZrQjtBekMwdUh4QjtBdUM1cEhFOzs7RTlCekNFO0FUMHNISjtBdUNqcUhFOzs7RTlCekNFO0FUK3NISjtBd0NoaUhJO0UvQi9LQTtBVGt0SEo7QXFDN3pGUTtFQWJKO0lBY1E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtFckNnMEZWO0FBQ0Y7QXFDOXpGUTtFQUNJO0FyQ2cwRlo7QXFDN3pGUTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBLHNCVm4rQkk7RVVvK0JKO0FyQyt6Rlo7QXFDN3pGWTtFQVZKO0lBV1E7RXJDZzBGZDtBQUNGO0FxQzd6RlE7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QXJDK3pGWjtBcUM3ekZZO0VBZEo7SUFlUTtJQUNBO0lBQ0E7RXJDZzBGZDtBQUNGO0FxQzd6RlE7RUFDSTtFQUNBO0FyQyt6Rlo7QXFDN3pGWTtFQUpKO0lBS1E7RXJDZzBGZDtBQUNGO0FxQzl6Rlk7RUFDSTtBckNnMEZoQjtBcUM5ekZnQjtFQUhKO0lBSVE7RXJDaTBGbEI7QUFDRjtBcUMvekZnQjtFQUNJO0FyQ2kwRnBCO0FxQy96Rm9CO0VBSEo7SUFJUTtFckNrMEZ0QjtBQUNGO0FxQzd6RlE7O0VBRUk7RUFDQSxjVmxoQ1E7QTNCaTFIcEI7QXFDN3pGWTtFQUxKOztJQU1RO0lBQ0E7RXJDaTBGZDtBQUNGO0FxQzV6Rlk7RUFDSTtBckM4ekZoQjtBcUMxekZRO0VBQ0ksY1ZsaUNRO0EzQjgxSHBCO0FxQ3p6RlE7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FyQzJ6Rlo7QXFDdHpGUTtFQURKO0lBRVE7SUFDQTtJQUNBO0lBQ0E7SUFDQTtFckN5ekZWO0FBQ0Y7QXFDdnpGUTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0FyQ3l6Rlo7QXFDdnpGWTtFQU5KO0lBT1E7RXJDMHpGZDtBQUNGO0FxQ3R6Rlk7RUFESjtJQUVRO0lBQ0E7RXJDeXpGZDtBQUNGO0FxQ3J6Rlk7RUFDSTtBckN1ekZoQjtBcUNyekZnQjtFQUhKO0lBSVE7RXJDd3pGbEI7QUFDRjtBcUNwekZROztFQUVJO0FyQ3N6Rlo7QXFDcHpGWTtFQUpKOztJQUtRO0lBQ0E7RXJDd3pGZDtBQUNGO0FxQ2x6RlE7RUFESjtJQUVRO0lBQ0E7SUFDQTtFckNxekZWO0FBQ0Y7QXFDbHpGWTtFQURKO0lBRVE7SUFDQTtFckNxekZkO0FBQ0Y7QXFDbHpGZ0I7RUFESjtJQUVRO0VyQ3F6RmxCO0FBQ0Y7QXFDOXlGZ0I7RUFESjtJQUVRO0lBQ0E7RXJDaXpGbEI7QUFDRjtBcUM5eUZvQjtFQURKO0lBRVE7RXJDaXpGdEI7QUFDRjtBcUN4eUZvQjtFQURKO0lBRVE7RXJDMnlGdEI7QUFDRjtBcUN4eUZ3QjtFQURKO0lBRVE7RXJDMnlGMUI7QUFDRjtBcUNweUZZO0VBREo7SUFFUTtFckN1eUZkO0FBQ0Y7QXFDbHlGSTtFQUNJO0VBQ0E7QXJDb3lGUjtBcUNseUZRO0VBQ0k7RUFDQTtBckNveUZaO0FxQ2p5Rlk7RUFMSjtJQU1RO0VyQ295RmQ7QUFDRjtBcUNoeUZJO0VBQ0k7QXJDa3lGUjtBcUNoeUZRO0VBQ0k7QXJDa3lGWjtBcUMveEZRO0VBQ0k7RUFDQTtBckNpeUZaO0FxQy94Rlk7RUFKSjtJQUtRO0VyQ2t5RmQ7QUFDRjtBcUNoeUZZO0VBUko7SUFTUTtFckNteUZkO0FBQ0Y7QXFDL3hGSTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FyQ2l5RlI7QXFDL3hGUTtFQUNJO0FyQ2l5Rlo7QXFDOXhGUTtFQUNJO0FyQ2d5Rlo7QXFDN3hGUTtFQWpCSjtJQWtCUTtJQUNBO0lBQ0E7SUFDQTtFckNneUZWO0FBQ0Y7QXFDN3hGWTtFQUVJO0FyQzh4RmhCO0FxQ3p4Rkk7RUFDSTtBckMyeEZSOztBcUNyeEZJO0VBQ0k7RUFDQTtBckN3eEZSO0FxQ3R4RlE7RUFDSTtFQUNBO0FyQ3d4Rlo7QXFDcnhGUTtFQUNJLHlCVnZ1Q087QTNCOC9IbkI7QXFDbnhGSTtFQUNJO0VBQ0E7QXJDcXhGUjtBcUNueEZRO0VBQ0ksY1ZydUNNO0EzQjAvSGxCO0FxQ2x4RlE7RUFDSSxjVnJ4Q1c7QTNCeWlJdkI7QXFDanhGUTtFQUNJLGNWM3VDSTtBM0I4L0hoQjs7QXFDN3dGSTtFQUNJO0FyQ2d4RlI7O0FxQzV3RkE7RUFDSTtBckMrd0ZKO0FxQzd3Rkk7RUFDSTtBckMrd0ZSO0FxQzV3Rkk7RUFDSTtBckM4d0ZSO0FxQzN3Rkk7RUFDSTtFQUNBO0FyQzZ3RlI7O0FxQ3p3RkE7RUFDSTtFQUNBO0FyQzR3Rko7QXFDMXdGSTtFQUNJO0FyQzR3RlI7O0FxQ3h3RkE7RUFDSTtBckMyd0ZKOztBcUN2d0ZJO0VBQ0k7QXJDMHdGUjtBcUN4d0ZRO0VBSEo7SUFJUTtFckMyd0ZWO0FBQ0Y7QXFDendGUTtFQVBKO0lBUVE7RXJDNHdGVjtBQUNGO0FxQzF3RlE7RUFDSTtBckM0d0ZaO0FxQ3h3Rkk7RUFDSTtFQUNBO0VBQ0E7RUFDQTtBckMwd0ZSO0FxQ3h3RlE7RUFDSTtBckMwd0ZaO0FxQ3h3Rlk7RUFISjtJQUlRO0VyQzJ3RmQ7QUFDRjtBcUN6d0ZZO0VBUEo7SUFRUTtJQUNBO0VyQzR3RmQ7QUFDRjtBcUN6d0ZRO0VBQ0k7QXJDMndGWjtBcUN2d0ZJO0VBQ0k7OztJQUFBO0FyQzR3RlI7QXFDdndGUTtFQUNJO0VBQ0E7RUFDQTtBckN5d0ZaO0FxQ3Z3Rlk7RUFDSTtBckN5d0ZoQjtBcUN2d0ZnQjtFQUhKO0lBSVE7RXJDMHdGbEI7QUFDRjtBcUNyd0ZJO0VBQ0k7QXJDdXdGUjtBcUNwd0ZJO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBLGNWMTVDUztFVTI1Q1Q7QXJDc3dGUjtBcUNwd0ZRO0VBckJKO0lBc0JRO0VyQ3V3RlY7QUFDRjtBcUNyd0ZRO0VBekJKO0lBMEJRO0VyQ3d3RlY7QUFDRjtBcUN0d0ZRO0VBQ0k7QXJDd3dGWjtBcUNyd0ZRO0VBQ0k7QXJDdXdGWjtBcUNwd0ZRO0VBQ0k7QXJDc3dGWjtBcUNud0ZRO0VBQ0k7QXJDcXdGWjtBcUNud0ZZO0VBQ0k7QXJDcXdGaEI7QXFDbHdGWTtFQUNJO0FyQ293RmhCO0FxQzl2RlE7RUFDSTtFQUNBO0FyQ2d3Rlo7QXFDOXZGWTtFQUpKO0lBS1E7RXJDaXdGZDtBQUNGO0FxQzd2Rkk7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QXJDK3ZGUjtBcUM3dkZRO0VBQ0k7QXJDK3ZGWjtBcUM3dkZZO0VBSEo7SUFJUTtFckNnd0ZkO0FBQ0Y7QXFDN3ZGUTtFQUNJO0FyQyt2Rlo7QXFDN3ZGWTtFQUhKO0lBSVE7RXJDZ3dGZDtBQUNGO0FxQzd2RlE7RUFDSTtBckMrdkZaO0FxQzd2Rlk7RUFISjtJQUlRO0lBQ0E7RXJDZ3dGZDtBQUNGO0FxQzd2RlE7RUFqQ0o7SUFrQ1E7RXJDZ3dGVjtBQUNGO0FxQzd2Rlk7RUFFSTtBckM4dkZoQjs7QXFDdnZGQztFQUNDO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QXJDMHZGRjs7QXFDcnZGQztFQUNDO0FyQ3d2RkY7O0FxQ3B2RkE7RUFDSTtBckN1dkZKO0FxQ3J2Rkk7RUFISjtJQUlRO0VyQ3d2Rk47QUFDRjs7QTBDcndJSTtFQUNFO0ExQ3d3SU47QTBDcndJSTtFQUNFO0ExQ3V3SU47QTBDbndJRTtFQUNFO0lBQ0U7RTFDcXdJSjtBQUNGOztBMENod0lFO0VBQ0U7RUFDQTtBMUNtd0lKO0EwQ2p3SUk7RUFDRTtFQUNBO0ExQ213SU47QTBDL3ZJRTtFQUNFO0VBQ0E7QTFDaXdJSjtBMEMvdklJO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7QTFDaXdJTjtBMEM5dklJO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0ExQ2d3SU47QTBDN3ZJSTtFQUNFO0ExQyt2SU47QTBDN3ZJTTtFQUNFO0ExQyt2SVI7QTBDMXZJTTtFQUNFO0ExQzR2SVI7QTBDeHZJSTs7RUFFRTtBMUMwdklOO0EwQ3R2SUU7RUFDRTtFQUNBO0VBQ0E7QTFDd3ZJSjtBMENydklFO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7QTFDdXZJSjtBMENwdklFO0VBQ0U7QTFDc3ZJSjtBMENudklFO0VBQ0U7RUFDQTtBMUNxdklKO0EwQ2x2SUU7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0ExQ292SUo7QTBDanZJRTtFQUNFO0VBQ0E7RUFDQTtBMUNtdklKO0EwQ2p2SUk7RUFDRTtFQUNBO0VBQ0E7QTFDbXZJTjs7QTBDN3VJRTtFQUNFO0VBQ0E7QTFDZ3ZJSjtBMEM3dUlFO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBMUMrdUlKO0EwQzV1SUU7RUFDRTtFQUNBO0VBQ0E7QTFDOHVJSjtBMEM1dUlJO0VBQ0U7RUFDQTtFQUNBO0ExQzh1SU4sQyIsInNvdXJjZXMiOlsid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9fY2xvc2Uuc2NzcyIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvdmVuZG9yL19yZnMuc2NzcyIsIndlYnBhY2s6Ly8vLi9hc3NldHMvdW5pY2VmL3Njc3MvbGliL19vdmVycmlkZS1ib290c3RyYXA0LXZhcmlhYmxlcy5zY3NzIiwid2VicGFjazovLy8uL2Fzc2V0cy91bmljZWYvc2Nzcy9wYWdlcy9wYXJ0bmVycy1saXN0LnNjc3MiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL21peGlucy9faG92ZXIuc2NzcyIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvX3RvYXN0cy5zY3NzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9taXhpbnMvX2JvcmRlci1yYWRpdXMuc2NzcyIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvQG1hdGVyaWFsL3RvdWNoLXRhcmdldC9fbWl4aW5zLnNjc3MiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL0BtYXRlcmlhbC9jaGVja2JveC9fa2V5ZnJhbWVzLnNjc3MiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL0BtYXRlcmlhbC9jaGVja2JveC9fdmFyaWFibGVzLnNjc3MiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL0BtYXRlcmlhbC9hbmltYXRpb24vX3ZhcmlhYmxlcy5zY3NzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9AbWF0ZXJpYWwvY2hlY2tib3gvX21peGlucy5zY3NzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9AbWF0ZXJpYWwvdGhlbWUvX21peGlucy5zY3NzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9AbWF0ZXJpYWwvcmlwcGxlL19taXhpbnMuc2NzcyIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvQG1hdGVyaWFsL3JpcHBsZS9fdmFyaWFibGVzLnNjc3MiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL0BtYXRlcmlhbC90b3VjaC10YXJnZXQvX3ZhcmlhYmxlcy5zY3NzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9AbWF0ZXJpYWwvcmlwcGxlL19rZXlmcmFtZXMuc2NzcyIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvQG1hdGVyaWFsL2VsZXZhdGlvbi9fbWl4aW5zLnNjc3MiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL0BtYXRlcmlhbC9kaWFsb2cvX21peGlucy5zY3NzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9AbWF0ZXJpYWwvZGlhbG9nL192YXJpYWJsZXMuc2NzcyIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvQG1hdGVyaWFsL3NoYXBlL19taXhpbnMuc2NzcyIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvQG1hdGVyaWFsL3J0bC9fbWl4aW5zLnNjc3MiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL0BtYXRlcmlhbC90eXBvZ3JhcGh5L19taXhpbnMuc2NzcyIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvQG1hdGVyaWFsL2xpc3QvX21peGlucy5zY3NzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9AbWF0ZXJpYWwvbGlzdC9fdmFyaWFibGVzLnNjc3MiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL0BtYXRlcmlhbC9tZW51L19taXhpbnMuc2NzcyIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvQG1hdGVyaWFsL21lbnUvX3ZhcmlhYmxlcy5zY3NzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9AbWF0ZXJpYWwvbWVudS1zdXJmYWNlL19taXhpbnMuc2NzcyIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvQG1hdGVyaWFsL21lbnUtc3VyZmFjZS9fdmFyaWFibGVzLnNjc3MiLCJ3ZWJwYWNrOi8vLy4vYXNzZXRzL3VuaWNlZi9zY3NzL2NvbXBvbmVudHMvX21hdGVyaWFsLnNjc3MiLCJ3ZWJwYWNrOi8vLy4vYXNzZXRzL3VuaWNlZi9zY3NzL2xpYi9fcHJvamVjdC12YXJpYWJsZXMuc2NzcyIsIndlYnBhY2s6Ly8vLi9hc3NldHMvdW5pY2VmL3Njc3MvY29tcG9uZW50cy9fYnJlYWRjcnVtYi5zY3NzIiwid2VicGFjazovLy8uL2Fzc2V0cy91bmljZWYvc2Nzcy9jb21wb25lbnRzL195ZWFycy5zY3NzIiwid2VicGFjazovLy8uL2Fzc2V0cy91bmljZWYvc2Nzcy9jb21wb25lbnRzL19idXR0b25zLW1peGlucy5zY3NzIiwid2VicGFjazovLy8uL2Fzc2V0cy91bmljZWYvc2Nzcy9jb21wb25lbnRzL19wYXJ0bmVyLnNjc3MiLCJ3ZWJwYWNrOi8vLy4vYXNzZXRzL3VuaWNlZi9zY3NzL2NvbXBvbmVudHMvX3BhZ2luYXRpb24uc2NzcyIsIndlYnBhY2s6Ly8vLi9hc3NldHMvdW5pY2VmL3Njc3MvY29tcG9uZW50cy9fdG9hc3Quc2NzcyIsIndlYnBhY2s6Ly8vLi9hc3NldHMvdW5pY2VmL3Njc3MvY29tcG9uZW50cy9fcGFydG5lcnMtbGlzdC5zY3NzIiwid2VicGFjazovLy8uL2Fzc2V0cy91bmljZWYvc2Nzcy9jb21wb25lbnRzL19tb2RhbC1mdWxsLnNjc3MiLCJ3ZWJwYWNrOi8vLy4vYXNzZXRzL3VuaWNlZi9zY3NzL2NvbXBvbmVudHMvX21haW4tcGFnZS5zY3NzIiwid2VicGFjazovLy8uL2Fzc2V0cy91bmljZWYvc2Nzcy9jb21wb25lbnRzL19zaXRlLWZvcm0uc2NzcyIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvQG1hdGVyaWFsL3JhZGlvL19taXhpbnMuc2NzcyIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvQG1hdGVyaWFsL25vdGNoZWQtb3V0bGluZS9fbWl4aW5zLnNjc3MiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL0BtYXRlcmlhbC9zZWxlY3QvX21peGlucy5zY3NzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9AbWF0ZXJpYWwvc2VsZWN0L192YXJpYWJsZXMuc2NzcyIsIndlYnBhY2s6Ly8vLi9hc3NldHMvdW5pY2VmL3Njc3MvY29tcG9uZW50cy9fbW9kYWwtbmV3c2xldHRlci5zY3NzIl0sInNvdXJjZXNDb250ZW50IjpbIi5jbG9zZSB7XG4gIGZsb2F0OiByaWdodDtcbiAgQGluY2x1ZGUgZm9udC1zaXplKCRjbG9zZS1mb250LXNpemUpO1xuICBmb250LXdlaWdodDogJGNsb3NlLWZvbnQtd2VpZ2h0O1xuICBsaW5lLWhlaWdodDogMTtcbiAgY29sb3I6ICRjbG9zZS1jb2xvcjtcbiAgdGV4dC1zaGFkb3c6ICRjbG9zZS10ZXh0LXNoYWRvdztcbiAgb3BhY2l0eTogLjU7XG5cbiAgLy8gT3ZlcnJpZGUgPGE+J3MgaG92ZXIgc3R5bGVcbiAgQGluY2x1ZGUgaG92ZXIoKSB7XG4gICAgY29sb3I6ICRjbG9zZS1jb2xvcjtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gIH1cblxuICAmOm5vdCg6ZGlzYWJsZWQpOm5vdCguZGlzYWJsZWQpIHtcbiAgICBAaW5jbHVkZSBob3Zlci1mb2N1cygpIHtcbiAgICAgIG9wYWNpdHk6IC43NTtcbiAgICB9XG4gIH1cbn1cblxuLy8gQWRkaXRpb25hbCBwcm9wZXJ0aWVzIGZvciBidXR0b24gdmVyc2lvblxuLy8gaU9TIHJlcXVpcmVzIHRoZSBidXR0b24gZWxlbWVudCBpbnN0ZWFkIG9mIGFuIGFuY2hvciB0YWcuXG4vLyBJZiB5b3Ugd2FudCB0aGUgYW5jaG9yIHZlcnNpb24sIGl0IHJlcXVpcmVzIGBocmVmPVwiI1wiYC5cbi8vIFNlZSBodHRwczovL2RldmVsb3Blci5tb3ppbGxhLm9yZy9lbi1VUy9kb2NzL1dlYi9FdmVudHMvY2xpY2sjU2FmYXJpX01vYmlsZVxuXG4vLyBzdHlsZWxpbnQtZGlzYWJsZS1uZXh0LWxpbmUgc2VsZWN0b3Itbm8tcXVhbGlmeWluZy10eXBlXG5idXR0b24uY2xvc2Uge1xuICBwYWRkaW5nOiAwO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgYm9yZGVyOiAwO1xufVxuXG4vLyBGdXR1cmUtcHJvb2YgZGlzYWJsaW5nIG9mIGNsaWNrcyBvbiBgPGE+YCBlbGVtZW50c1xuXG4vLyBzdHlsZWxpbnQtZGlzYWJsZS1uZXh0LWxpbmUgc2VsZWN0b3Itbm8tcXVhbGlmeWluZy10eXBlXG5hLmNsb3NlLmRpc2FibGVkIHtcbiAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG59XG4iLCIvLyBzdHlsZWxpbnQtZGlzYWJsZSBwcm9wZXJ0eS1ibGFja2xpc3QsIHNjc3MvZG9sbGFyLXZhcmlhYmxlLWRlZmF1bHRcblxuLy8gU0NTUyBSRlMgbWl4aW5cbi8vXG4vLyBBdXRvbWF0ZWQgcmVzcG9uc2l2ZSBmb250IHNpemVzXG4vL1xuLy8gTGljZW5zZWQgdW5kZXIgTUlUIChodHRwczovL2dpdGh1Yi5jb20vdHdicy9yZnMvYmxvYi92OC54L0xJQ0VOU0UpXG5cbi8vIENvbmZpZ3VyYXRpb25cblxuLy8gQmFzZSBmb250IHNpemVcbiRyZnMtYmFzZS1mb250LXNpemU6IDEuMjVyZW0gIWRlZmF1bHQ7XG4kcmZzLWZvbnQtc2l6ZS11bml0OiByZW0gIWRlZmF1bHQ7XG5cbkBpZiAkcmZzLWZvbnQtc2l6ZS11bml0ICE9IHJlbSBhbmQgJHJmcy1mb250LXNpemUtdW5pdCAhPSBweCB7XG4gIEBlcnJvciBcImAjeyRyZnMtZm9udC1zaXplLXVuaXR9YCBpcyBub3QgYSB2YWxpZCB1bml0IGZvciAkcmZzLWZvbnQtc2l6ZS11bml0LiBVc2UgYHB4YCBvciBgcmVtYC5cIjtcbn1cblxuLy8gQnJlYWtwb2ludCBhdCB3aGVyZSBmb250LXNpemUgc3RhcnRzIGRlY3JlYXNpbmcgaWYgc2NyZWVuIHdpZHRoIGlzIHNtYWxsZXJcbiRyZnMtYnJlYWtwb2ludDogMTIwMHB4ICFkZWZhdWx0O1xuJHJmcy1icmVha3BvaW50LXVuaXQ6IHB4ICFkZWZhdWx0O1xuXG5AaWYgJHJmcy1icmVha3BvaW50LXVuaXQgIT0gcHggYW5kICRyZnMtYnJlYWtwb2ludC11bml0ICE9IGVtIGFuZCAkcmZzLWJyZWFrcG9pbnQtdW5pdCAhPSByZW0ge1xuICBAZXJyb3IgXCJgI3skcmZzLWJyZWFrcG9pbnQtdW5pdH1gIGlzIG5vdCBhIHZhbGlkIHVuaXQgZm9yICRyZnMtYnJlYWtwb2ludC11bml0LiBVc2UgYHB4YCwgYGVtYCBvciBgcmVtYC5cIjtcbn1cblxuLy8gUmVzaXplIGZvbnQgc2l6ZSBiYXNlZCBvbiBzY3JlZW4gaGVpZ2h0IGFuZCB3aWR0aFxuJHJmcy10d28tZGltZW5zaW9uYWw6IGZhbHNlICFkZWZhdWx0O1xuXG4vLyBGYWN0b3Igb2YgZGVjcmVhc2VcbiRyZnMtZmFjdG9yOiAxMCAhZGVmYXVsdDtcblxuQGlmIHR5cGUtb2YoJHJmcy1mYWN0b3IpICE9IFwibnVtYmVyXCIgb3IgJHJmcy1mYWN0b3IgPD0gMSB7XG4gIEBlcnJvciBcImAjeyRyZnMtZmFjdG9yfWAgaXMgbm90IGEgdmFsaWQgICRyZnMtZmFjdG9yLCBpdCBtdXN0IGJlIGdyZWF0ZXIgdGhhbiAxLlwiO1xufVxuXG4vLyBHZW5lcmF0ZSBlbmFibGUgb3IgZGlzYWJsZSBjbGFzc2VzLiBQb3NzaWJpbGl0aWVzOiBmYWxzZSwgXCJlbmFibGVcIiBvciBcImRpc2FibGVcIlxuJHJmcy1jbGFzczogZmFsc2UgIWRlZmF1bHQ7XG5cbi8vIDEgcmVtID0gJHJmcy1yZW0tdmFsdWUgcHhcbiRyZnMtcmVtLXZhbHVlOiAxNiAhZGVmYXVsdDtcblxuLy8gU2FmYXJpIGlmcmFtZSByZXNpemUgYnVnOiBodHRwczovL2dpdGh1Yi5jb20vdHdicy9yZnMvaXNzdWVzLzE0XG4kcmZzLXNhZmFyaS1pZnJhbWUtcmVzaXplLWJ1Zy1maXg6IGZhbHNlICFkZWZhdWx0O1xuXG4vLyBEaXNhYmxlIFJGUyBieSBzZXR0aW5nICRlbmFibGUtcmVzcG9uc2l2ZS1mb250LXNpemVzIHRvIGZhbHNlXG4kZW5hYmxlLXJlc3BvbnNpdmUtZm9udC1zaXplczogdHJ1ZSAhZGVmYXVsdDtcblxuLy8gQ2FjaGUgJHJmcy1iYXNlLWZvbnQtc2l6ZSB1bml0XG4kcmZzLWJhc2UtZm9udC1zaXplLXVuaXQ6IHVuaXQoJHJmcy1iYXNlLWZvbnQtc2l6ZSk7XG5cbkBmdW5jdGlvbiBkaXZpZGUoJGRpdmlkZW5kLCAkZGl2aXNvciwgJHByZWNpc2lvbjogMTApIHtcbiAgJHNpZ246IGlmKCRkaXZpZGVuZCA+IDAgYW5kICRkaXZpc29yID4gMCBvciAkZGl2aWRlbmQgPCAwIGFuZCAkZGl2aXNvciA8IDAsIDEsIC0xKTtcbiAgJGRpdmlkZW5kOiBhYnMoJGRpdmlkZW5kKTtcbiAgJGRpdmlzb3I6IGFicygkZGl2aXNvcik7XG4gIEBpZiAkZGl2aWRlbmQgPT0gMCB7XG4gICAgQHJldHVybiAwO1xuICB9XG4gIEBpZiAkZGl2aXNvciA9PSAwIHtcbiAgICBAZXJyb3IgXCJDYW5ub3QgZGl2aWRlIGJ5IDBcIjtcbiAgfVxuICAkcmVtYWluZGVyOiAkZGl2aWRlbmQ7XG4gICRyZXN1bHQ6IDA7XG4gICRmYWN0b3I6IDEwO1xuICBAd2hpbGUgKCRyZW1haW5kZXIgPiAwIGFuZCAkcHJlY2lzaW9uID49IDApIHtcbiAgICAkcXVvdGllbnQ6IDA7XG4gICAgQHdoaWxlICgkcmVtYWluZGVyID49ICRkaXZpc29yKSB7XG4gICAgICAkcmVtYWluZGVyOiAkcmVtYWluZGVyIC0gJGRpdmlzb3I7XG4gICAgICAkcXVvdGllbnQ6ICRxdW90aWVudCArIDE7XG4gICAgfVxuICAgICRyZXN1bHQ6ICRyZXN1bHQgKiAxMCArICRxdW90aWVudDtcbiAgICAkZmFjdG9yOiAkZmFjdG9yICogLjE7XG4gICAgJHJlbWFpbmRlcjogJHJlbWFpbmRlciAqIDEwO1xuICAgICRwcmVjaXNpb246ICRwcmVjaXNpb24gLSAxO1xuICAgIEBpZiAoJHByZWNpc2lvbiA8IDAgYW5kICRyZW1haW5kZXIgPj0gJGRpdmlzb3IgKiA1KSB7XG4gICAgICAkcmVzdWx0OiAkcmVzdWx0ICsgMTtcbiAgICB9XG4gIH1cbiAgJHJlc3VsdDogJHJlc3VsdCAqICRmYWN0b3IgKiAkc2lnbjtcbiAgJGRpdmlkZW5kLXVuaXQ6IHVuaXQoJGRpdmlkZW5kKTtcbiAgJGRpdmlzb3ItdW5pdDogdW5pdCgkZGl2aXNvcik7XG4gICR1bml0LW1hcDogKFxuICAgIFwicHhcIjogMXB4LFxuICAgIFwicmVtXCI6IDFyZW0sXG4gICAgXCJlbVwiOiAxZW0sXG4gICAgXCIlXCI6IDElXG4gICk7XG4gIEBpZiAoJGRpdmlkZW5kLXVuaXQgIT0gJGRpdmlzb3ItdW5pdCBhbmQgbWFwLWhhcy1rZXkoJHVuaXQtbWFwLCAkZGl2aWRlbmQtdW5pdCkpIHtcbiAgICAkcmVzdWx0OiAkcmVzdWx0ICogbWFwLWdldCgkdW5pdC1tYXAsICRkaXZpZGVuZC11bml0KTtcbiAgfVxuICBAcmV0dXJuICRyZXN1bHQ7XG59XG5cbi8vIFJlbW92ZSBweC11bml0IGZyb20gJHJmcy1iYXNlLWZvbnQtc2l6ZSBmb3IgY2FsY3VsYXRpb25zXG5AaWYgJHJmcy1iYXNlLWZvbnQtc2l6ZS11bml0ID09IFwicHhcIiB7XG4gICRyZnMtYmFzZS1mb250LXNpemU6IGRpdmlkZSgkcmZzLWJhc2UtZm9udC1zaXplLCAkcmZzLWJhc2UtZm9udC1zaXplICogMCArIDEpO1xufVxuQGVsc2UgaWYgJHJmcy1iYXNlLWZvbnQtc2l6ZS11bml0ID09IFwicmVtXCIge1xuICAkcmZzLWJhc2UtZm9udC1zaXplOiBkaXZpZGUoJHJmcy1iYXNlLWZvbnQtc2l6ZSwgZGl2aWRlKCRyZnMtYmFzZS1mb250LXNpemUgKiAwICsgMSwgJHJmcy1yZW0tdmFsdWUpKTtcbn1cblxuLy8gQ2FjaGUgJHJmcy1icmVha3BvaW50IHVuaXQgdG8gcHJldmVudCBtdWx0aXBsZSBjYWxsc1xuJHJmcy1icmVha3BvaW50LXVuaXQtY2FjaGU6IHVuaXQoJHJmcy1icmVha3BvaW50KTtcblxuLy8gUmVtb3ZlIHVuaXQgZnJvbSAkcmZzLWJyZWFrcG9pbnQgZm9yIGNhbGN1bGF0aW9uc1xuQGlmICRyZnMtYnJlYWtwb2ludC11bml0LWNhY2hlID09IFwicHhcIiB7XG4gICRyZnMtYnJlYWtwb2ludDogZGl2aWRlKCRyZnMtYnJlYWtwb2ludCwgJHJmcy1icmVha3BvaW50ICogMCArIDEpO1xufVxuQGVsc2UgaWYgJHJmcy1icmVha3BvaW50LXVuaXQtY2FjaGUgPT0gXCJyZW1cIiBvciAkcmZzLWJyZWFrcG9pbnQtdW5pdC1jYWNoZSA9PSBcImVtXCIge1xuICAkcmZzLWJyZWFrcG9pbnQ6IGRpdmlkZSgkcmZzLWJyZWFrcG9pbnQsIGRpdmlkZSgkcmZzLWJyZWFrcG9pbnQgKiAwICsgMSwgJHJmcy1yZW0tdmFsdWUpKTtcbn1cblxuLy8gSW50ZXJuYWwgbWl4aW4gdGhhdCBhZGRzIGRpc2FibGUgY2xhc3NlcyB0byB0aGUgc2VsZWN0b3IgaWYgbmVlZGVkLlxuQG1peGluIF9yZnMtZGlzYWJsZS1jbGFzcyB7XG4gIEBpZiAkcmZzLWNsYXNzID09IFwiZGlzYWJsZVwiIHtcbiAgICAvLyBBZGRpbmcgYW4gZXh0cmEgY2xhc3MgaW5jcmVhc2VzIHNwZWNpZmljaXR5LCB3aGljaCBwcmV2ZW50cyB0aGUgbWVkaWEgcXVlcnkgdG8gb3ZlcnJpZGUgdGhlIGZvbnQgc2l6ZVxuICAgICYsXG4gICAgLmRpc2FibGUtcmVzcG9uc2l2ZS1mb250LXNpemUgJixcbiAgICAmLmRpc2FibGUtcmVzcG9uc2l2ZS1mb250LXNpemUge1xuICAgICAgQGNvbnRlbnQ7XG4gICAgfVxuICB9XG4gIEBlbHNlIHtcbiAgICBAY29udGVudDtcbiAgfVxufVxuXG4vLyBJbnRlcm5hbCBtaXhpbiB0aGF0IGFkZHMgZW5hYmxlIGNsYXNzZXMgdG8gdGhlIHNlbGVjdG9yIGlmIG5lZWRlZC5cbkBtaXhpbiBfcmZzLWVuYWJsZS1jbGFzcyB7XG4gIEBpZiAkcmZzLWNsYXNzID09IFwiZW5hYmxlXCIge1xuICAgIC5lbmFibGUtcmVzcG9uc2l2ZS1mb250LXNpemUgJixcbiAgICAmLmVuYWJsZS1yZXNwb25zaXZlLWZvbnQtc2l6ZSB7XG4gICAgICBAY29udGVudDtcbiAgICB9XG4gIH1cbiAgQGVsc2Uge1xuICAgIEBjb250ZW50O1xuICB9XG59XG5cbi8vIEludGVybmFsIG1peGluIHVzZWQgdG8gZGV0ZXJtaW5lIHdoaWNoIG1lZGlhIHF1ZXJ5IG5lZWRzIHRvIGJlIHVzZWRcbkBtaXhpbiBfcmZzLW1lZGlhLXF1ZXJ5KCRtcS12YWx1ZSkge1xuICBAaWYgJHJmcy10d28tZGltZW5zaW9uYWwge1xuICAgIEBtZWRpYSAobWF4LXdpZHRoOiAjeyRtcS12YWx1ZX0pLCAobWF4LWhlaWdodDogI3skbXEtdmFsdWV9KSB7XG4gICAgICBAY29udGVudDtcbiAgICB9XG4gIH1cbiAgQGVsc2Uge1xuICAgIEBtZWRpYSAobWF4LXdpZHRoOiAjeyRtcS12YWx1ZX0pIHtcbiAgICAgIEBjb250ZW50O1xuICAgIH1cbiAgfVxufVxuXG4vLyBSZXNwb25zaXZlIGZvbnQgc2l6ZSBtaXhpblxuQG1peGluIHJmcygkZnMsICRpbXBvcnRhbnQ6IGZhbHNlKSB7XG4gIC8vIENhY2hlICRmcyB1bml0XG4gICRmcy11bml0OiBpZih0eXBlLW9mKCRmcykgPT0gXCJudW1iZXJcIiwgdW5pdCgkZnMpLCBmYWxzZSk7XG5cbiAgLy8gQWRkICFpbXBvcnRhbnQgc3VmZml4IGlmIG5lZWRlZFxuICAkcmZzLXN1ZmZpeDogaWYoJGltcG9ydGFudCwgXCIgIWltcG9ydGFudFwiLCBcIlwiKTtcblxuICAvLyBJZiAkZnMgaXNuJ3QgYSBudW1iZXIgKGxpa2UgaW5oZXJpdCkgb3IgJGZzIGhhcyBhIHVuaXQgKG5vdCBweCBvciByZW0sIGxpa2UgMS41ZW0pIG9yICQgaXMgMCwganVzdCBwcmludCB0aGUgdmFsdWVcbiAgQGlmIG5vdCAkZnMtdW5pdCBvciAkZnMtdW5pdCAhPSBcIlwiIGFuZCAkZnMtdW5pdCAhPSBcInB4XCIgYW5kICRmcy11bml0ICE9IFwicmVtXCIgb3IgJGZzID09IDAge1xuICAgIGZvbnQtc2l6ZTogI3skZnN9I3skcmZzLXN1ZmZpeH07XG4gIH1cbiAgQGVsc2Uge1xuICAgIC8vIFJlbW92ZSB1bml0IGZyb20gJGZzIGZvciBjYWxjdWxhdGlvbnNcbiAgICBAaWYgJGZzLXVuaXQgPT0gXCJweFwiIHtcbiAgICAgICRmczogZGl2aWRlKCRmcywgJGZzICogMCArIDEpO1xuICAgIH1cbiAgICBAZWxzZSBpZiAkZnMtdW5pdCA9PSBcInJlbVwiIHtcbiAgICAgICRmczogZGl2aWRlKCRmcywgZGl2aWRlKCRmcyAqIDAgKyAxLCAkcmZzLXJlbS12YWx1ZSkpO1xuICAgIH1cblxuICAgIC8vIFNldCBkZWZhdWx0IGZvbnQgc2l6ZVxuICAgICRyZnMtc3RhdGljOiBpZigkcmZzLWZvbnQtc2l6ZS11bml0ID09IHJlbSwgI3tkaXZpZGUoJGZzLCAkcmZzLXJlbS12YWx1ZSl9cmVtLCAjeyRmc31weCk7XG5cbiAgICAvLyBPbmx5IGFkZCB0aGUgbWVkaWEgcXVlcnkgaWYgdGhlIGZvbnQgc2l6ZSBpcyBiaWdnZXIgdGhhbiB0aGUgbWluaW11bSBmb250IHNpemVcbiAgICBAaWYgJGZzIDw9ICRyZnMtYmFzZS1mb250LXNpemUgb3Igbm90ICRlbmFibGUtcmVzcG9uc2l2ZS1mb250LXNpemVzIHtcbiAgICAgIGZvbnQtc2l6ZTogI3skcmZzLXN0YXRpY30jeyRyZnMtc3VmZml4fTtcbiAgICB9XG4gICAgQGVsc2Uge1xuICAgICAgLy8gQ2FsY3VsYXRlIHRoZSBtaW5pbXVtIGZvbnQgc2l6ZSBmb3IgJGZzXG4gICAgICAkZnMtbWluOiAkcmZzLWJhc2UtZm9udC1zaXplICsgZGl2aWRlKCRmcyAtICRyZnMtYmFzZS1mb250LXNpemUsICRyZnMtZmFjdG9yKTtcblxuICAgICAgLy8gQ2FsY3VsYXRlIGRpZmZlcmVuY2UgYmV0d2VlbiAkZnMgYW5kIHRoZSBtaW5pbXVtIGZvbnQgc2l6ZVxuICAgICAgJGZzLWRpZmY6ICRmcyAtICRmcy1taW47XG5cbiAgICAgIC8vIEJhc2UgZm9udC1zaXplIGZvcm1hdHRpbmdcbiAgICAgICRtaW4td2lkdGg6IGlmKCRyZnMtZm9udC1zaXplLXVuaXQgPT0gcmVtLCAje2RpdmlkZSgkZnMtbWluLCAkcmZzLXJlbS12YWx1ZSl9cmVtLCAjeyRmcy1taW59cHgpO1xuXG4gICAgICAvLyBVc2UgYHZtaW5gIGlmIHR3by1kaW1lbnNpb25hbCBpcyBlbmFibGVkXG4gICAgICAkdmFyaWFibGUtdW5pdDogaWYoJHJmcy10d28tZGltZW5zaW9uYWwsIHZtaW4sIHZ3KTtcblxuICAgICAgLy8gQ2FsY3VsYXRlIHRoZSB2YXJpYWJsZSB3aWR0aCBiZXR3ZWVuIDAgYW5kICRyZnMtYnJlYWtwb2ludFxuICAgICAgJHZhcmlhYmxlLXdpZHRoOiAje2RpdmlkZSgkZnMtZGlmZiAqIDEwMCwgJHJmcy1icmVha3BvaW50KX0jeyR2YXJpYWJsZS11bml0fTtcblxuICAgICAgLy8gU2V0IHRoZSBjYWxjdWxhdGVkIGZvbnQtc2l6ZVxuICAgICAgJHJmcy1mbHVpZDogY2FsYygjeyRtaW4td2lkdGh9ICsgI3skdmFyaWFibGUtd2lkdGh9KSAjeyRyZnMtc3VmZml4fTtcblxuICAgICAgLy8gQnJlYWtwb2ludCBmb3JtYXR0aW5nXG4gICAgICAkbXEtdmFsdWU6IGlmKCRyZnMtYnJlYWtwb2ludC11bml0ID09IHB4LCAjeyRyZnMtYnJlYWtwb2ludH1weCwgI3tkaXZpZGUoJHJmcy1icmVha3BvaW50LCAkcmZzLXJlbS12YWx1ZSl9I3skcmZzLWJyZWFrcG9pbnQtdW5pdH0pO1xuXG4gICAgICBAaW5jbHVkZSBfcmZzLWRpc2FibGUtY2xhc3Mge1xuICAgICAgICBmb250LXNpemU6ICN7JHJmcy1zdGF0aWN9I3skcmZzLXN1ZmZpeH07XG4gICAgICB9XG5cbiAgICAgIEBpbmNsdWRlIF9yZnMtbWVkaWEtcXVlcnkoJG1xLXZhbHVlKSB7XG4gICAgICAgIEBpbmNsdWRlIF9yZnMtZW5hYmxlLWNsYXNzIHtcbiAgICAgICAgICBmb250LXNpemU6ICRyZnMtZmx1aWQ7XG4gICAgICAgIH1cblxuICAgICAgICAvLyBJbmNsdWRlIHNhZmFyaSBpZnJhbWUgcmVzaXplIGZpeCBpZiBuZWVkZWRcbiAgICAgICAgbWluLXdpZHRoOiBpZigkcmZzLXNhZmFyaS1pZnJhbWUtcmVzaXplLWJ1Zy1maXgsICgwICogMXZ3KSwgbnVsbCk7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbi8vIFRoZSBmb250LXNpemUgJiByZXNwb25zaXZlLWZvbnQtc2l6ZSBtaXhpbnMgdXNlIFJGUyB0byByZXNjYWxlIHRoZSBmb250IHNpemVcbkBtaXhpbiBmb250LXNpemUoJGZzLCAkaW1wb3J0YW50OiBmYWxzZSkge1xuICBAaW5jbHVkZSByZnMoJGZzLCAkaW1wb3J0YW50KTtcbn1cblxuQG1peGluIHJlc3BvbnNpdmUtZm9udC1zaXplKCRmcywgJGltcG9ydGFudDogZmFsc2UpIHtcbiAgQGluY2x1ZGUgcmZzKCRmcywgJGltcG9ydGFudCk7XG59XG4iLCIvLyBWYXJpYWJsZXNcbi8vXG4vLyBWYXJpYWJsZXMgc2hvdWxkIGZvbGxvdyB0aGUgYCRjb21wb25lbnQtc3RhdGUtcHJvcGVydHktc2l6ZWAgZm9ybXVsYSBmb3Jcbi8vIGNvbnNpc3RlbnQgbmFtaW5nLiBFeDogJG5hdi1saW5rLWRpc2FibGVkLWNvbG9yIGFuZCAkbW9kYWwtY29udGVudC1ib3gtc2hhZG93LXhzLlxuXG4vLyBDb2xvciBzeXN0ZW1cblxuJHdoaXRlOiAgICAjZmZmO1xuJGdyYXktMTAwOiAjZjhmOWZhO1xuJGdyYXktMjAwOiAjZTllY2VmO1xuJGdyYXktMzAwOiAjZGVlMmU2O1xuJGdyYXktNDAwOiAjY2VkNGRhO1xuJGdyYXktNTAwOiAjYWRiNWJkO1xuJGdyYXktNjAwOiAjNmM3NTdkO1xuJGdyYXktNzAwOiAjNDk1MDU3O1xuJGdyYXktODAwOiAjMzQzYTQwO1xuJGdyYXktOTAwOiAjMjAxZDFkO1xuJGJsYWNrOiAgICAjMDAwO1xuXG4kZ3JheXM6ICgpO1xuLy8gc3R5bGVsaW50LWRpc2FibGUtbmV4dC1saW5lIHNjc3MvZG9sbGFyLXZhcmlhYmxlLWRlZmF1bHRcbiRncmF5czogbWFwLW1lcmdlKFxuICAgICAgICAgICAgICAgIChcbiAgICAgICAgICAgICAgICAgICAgICAgIFwiMTAwXCI6ICRncmF5LTEwMCxcbiAgICAgICAgICAgICAgICAgICAgICAgIFwiMjAwXCI6ICRncmF5LTIwMCxcbiAgICAgICAgICAgICAgICAgICAgICAgIFwiMzAwXCI6ICRncmF5LTMwMCxcbiAgICAgICAgICAgICAgICAgICAgICAgIFwiNDAwXCI6ICRncmF5LTQwMCxcbiAgICAgICAgICAgICAgICAgICAgICAgIFwiNTAwXCI6ICRncmF5LTUwMCxcbiAgICAgICAgICAgICAgICAgICAgICAgIFwiNjAwXCI6ICRncmF5LTYwMCxcbiAgICAgICAgICAgICAgICAgICAgICAgIFwiNzAwXCI6ICRncmF5LTcwMCxcbiAgICAgICAgICAgICAgICAgICAgICAgIFwiODAwXCI6ICRncmF5LTgwMCxcbiAgICAgICAgICAgICAgICAgICAgICAgIFwiOTAwXCI6ICRncmF5LTkwMFxuICAgICAgICAgICAgICAgICksXG4gICAgICAgICAgICAgICAgJGdyYXlzXG4pO1xuXG4kYmx1ZTogICAgJHByb2plY3QtcHJpbWFyeTsgLy8gbW9kICMwMDdiZmY7O1xuJGluZGlnbzogICM2NjEwZjI7XG4kcHVycGxlOiAgIzZmNDJjMTtcbiRwaW5rOiAgICAjZTgzZThjO1xuJHJlZDogICAgICNkYzM1NDU7XG4kb3JhbmdlOiAgI2ZkN2UxNDtcbiR5ZWxsb3c6ICAjZmZjMTA3O1xuJGdyZWVuOiAgICMyOGE3NDU7XG4kdGVhbDogICAgIzIwYzk5NztcbiRjeWFuOiAgICAjMTdhMmI4O1xuXG4kY29sb3JzOiAoKTtcbi8vIHN0eWxlbGludC1kaXNhYmxlLW5leHQtbGluZSBzY3NzL2RvbGxhci12YXJpYWJsZS1kZWZhdWx0XG4kY29sb3JzOiBtYXAtbWVyZ2UoXG4gICAgICAgICAgICAgICAgKFxuICAgICAgICAgICAgICAgICAgICAgICAgXCJibHVlXCI6ICAgICAgICRibHVlLFxuICAgICAgICAgICAgICAgICAgICAgICAgXCJpbmRpZ29cIjogICAgICRpbmRpZ28sXG4gICAgICAgICAgICAgICAgICAgICAgICBcInB1cnBsZVwiOiAgICAgJHB1cnBsZSxcbiAgICAgICAgICAgICAgICAgICAgICAgIFwicGlua1wiOiAgICAgICAkcGluayxcbiAgICAgICAgICAgICAgICAgICAgICAgIFwicmVkXCI6ICAgICAgICAkcmVkLFxuICAgICAgICAgICAgICAgICAgICAgICAgXCJvcmFuZ2VcIjogICAgICRvcmFuZ2UsXG4gICAgICAgICAgICAgICAgICAgICAgICBcInllbGxvd1wiOiAgICAgJHllbGxvdyxcbiAgICAgICAgICAgICAgICAgICAgICAgIFwiZ3JlZW5cIjogICAgICAkZ3JlZW4sXG4gICAgICAgICAgICAgICAgICAgICAgICBcInRlYWxcIjogICAgICAgJHRlYWwsXG4gICAgICAgICAgICAgICAgICAgICAgICBcImN5YW5cIjogICAgICAgJGN5YW4sXG4gICAgICAgICAgICAgICAgICAgICAgICBcIndoaXRlXCI6ICAgICAgJHdoaXRlLFxuICAgICAgICAgICAgICAgICAgICAgICAgXCJncmF5XCI6ICAgICAgICRncmF5LTYwMCxcbiAgICAgICAgICAgICAgICAgICAgICAgIFwiZ3JheS1kYXJrXCI6ICAkZ3JheS04MDBcbiAgICAgICAgICAgICAgICApLFxuICAgICAgICAgICAgICAgICRjb2xvcnNcbik7XG5cbiRwcmltYXJ5OiAgICAgICAkYmx1ZTtcbiRzZWNvbmRhcnk6ICAgICAkZ3JheS02MDA7XG4kc3VjY2VzczogICAgICAgJGdyZWVuO1xuJGluZm86ICAgICAgICAgICRjeWFuO1xuJHdhcm5pbmc6ICAgICAgICR5ZWxsb3c7XG4kZGFuZ2VyOiAgICAgICAgJHJlZDtcbiRsaWdodDogICAgICAgICAkZ3JheS0xMDA7XG4kZGFyazogICAgICAgICAgJGdyYXktODAwO1xuXG4kdGhlbWUtY29sb3JzOiAoKTtcbi8vIHN0eWxlbGludC1kaXNhYmxlLW5leHQtbGluZSBzY3NzL2RvbGxhci12YXJpYWJsZS1kZWZhdWx0XG4kdGhlbWUtY29sb3JzOiBtYXAtbWVyZ2UoXG4gICAgICAgICAgICAgICAgKFxuICAgICAgICAgICAgICAgICAgICAgICAgXCJwcmltYXJ5XCI6ICAgICRwcmltYXJ5LFxuICAgICAgICAgICAgICAgICAgICAgICAgXCJzZWNvbmRhcnlcIjogICRzZWNvbmRhcnksXG4gICAgICAgICAgICAgICAgICAgICAgICBcInN1Y2Nlc3NcIjogICAgJHN1Y2Nlc3MsXG4gICAgICAgICAgICAgICAgICAgICAgICBcImluZm9cIjogICAgICAgJGluZm8sXG4gICAgICAgICAgICAgICAgICAgICAgICBcIndhcm5pbmdcIjogICAgJHdhcm5pbmcsXG4gICAgICAgICAgICAgICAgICAgICAgICBcImRhbmdlclwiOiAgICAgJGRhbmdlcixcbiAgICAgICAgICAgICAgICAgICAgICAgIFwibGlnaHRcIjogICAgICAkbGlnaHQsXG4gICAgICAgICAgICAgICAgICAgICAgICBcImRhcmtcIjogICAgICAgJGRhcmtcbiAgICAgICAgICAgICAgICApLFxuICAgICAgICAgICAgICAgICR0aGVtZS1jb2xvcnNcbik7XG5cbi8vIFNldCBhIHNwZWNpZmljIGp1bXAgcG9pbnQgZm9yIHJlcXVlc3RpbmcgY29sb3IganVtcHNcbiR0aGVtZS1jb2xvci1pbnRlcnZhbDogICAgICA4JTtcblxuLy8gVGhlIHlpcSBsaWdodG5lc3MgdmFsdWUgdGhhdCBkZXRlcm1pbmVzIHdoZW4gdGhlIGxpZ2h0bmVzcyBvZiBjb2xvciBjaGFuZ2VzIGZyb20gXCJkYXJrXCIgdG8gXCJsaWdodFwiLiBBY2NlcHRhYmxlIHZhbHVlcyBhcmUgYmV0d2VlbiAwIGFuZCAyNTUuXG4keWlxLWNvbnRyYXN0ZWQtdGhyZXNob2xkOiAgMTUwO1xuXG4vLyBDdXN0b21pemUgdGhlIGxpZ2h0IGFuZCBkYXJrIHRleHQgY29sb3JzIGZvciB1c2UgaW4gb3VyIFlJUSBjb2xvciBjb250cmFzdCBmdW5jdGlvbi5cbiR5aXEtdGV4dC1kYXJrOiAgICAgICAgICAgICAkZ3JheS05MDA7XG4keWlxLXRleHQtbGlnaHQ6ICAgICAgICAgICAgJHdoaXRlO1xuXG4vLyBDaGFyYWN0ZXJzIHdoaWNoIGFyZSBlc2NhcGVkIGJ5IHRoZSBlc2NhcGUtc3ZnIGZ1bmN0aW9uXG4kZXNjYXBlZC1jaGFyYWN0ZXJzOiAoXG4gICAgICAgICAgICAgICAgKFwiPFwiLFwiJTNjXCIpLFxuICAgICAgICAgICAgICAgIChcIj5cIixcIiUzZVwiKSxcbiAgICAgICAgICAgICAgICAoXCIjXCIsXCIlMjNcIiksXG4pO1xuXG5cbi8vIE9wdGlvbnNcbi8vXG4vLyBRdWlja2x5IG1vZGlmeSBnbG9iYWwgc3R5bGluZyBieSBlbmFibGluZyBvciBkaXNhYmxpbmcgb3B0aW9uYWwgZmVhdHVyZXMuXG5cbiRlbmFibGUtY2FyZXQ6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0cnVlO1xuJGVuYWJsZS1yb3VuZGVkOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRydWU7XG4kZW5hYmxlLXNoYWRvd3M6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZmFsc2U7XG4kZW5hYmxlLWdyYWRpZW50czogICAgICAgICAgICAgICAgICAgICAgICAgICAgZmFsc2U7XG4kZW5hYmxlLXRyYW5zaXRpb25zOiAgICAgICAgICAgICAgICAgICAgICAgICAgdHJ1ZTtcbiRlbmFibGUtcHJlZmVycy1yZWR1Y2VkLW1vdGlvbi1tZWRpYS1xdWVyeTogICB0cnVlO1xuJGVuYWJsZS1ob3Zlci1tZWRpYS1xdWVyeTogICAgICAgICAgICAgICAgICAgIGZhbHNlOyAvLyBEZXByZWNhdGVkLCBubyBsb25nZXIgYWZmZWN0cyBhbnkgY29tcGlsZWQgQ1NTXG4kZW5hYmxlLWdyaWQtY2xhc3NlczogICAgICAgICAgICAgICAgICAgICAgICAgdHJ1ZTtcbiRlbmFibGUtcG9pbnRlci1jdXJzb3ItZm9yLWJ1dHRvbnM6ICAgICAgICAgICB0cnVlO1xuJGVuYWJsZS1wcmludC1zdHlsZXM6ICAgICAgICAgICAgICAgICAgICAgICAgIHRydWU7XG4kZW5hYmxlLXJlc3BvbnNpdmUtZm9udC1zaXplczogICAgICAgICAgICAgICAgdHJ1ZTtcbiRlbmFibGUtdmFsaWRhdGlvbi1pY29uczogICAgICAgICAgICAgICAgICAgICB0cnVlO1xuJGVuYWJsZS1kZXByZWNhdGlvbi1tZXNzYWdlczogICAgICAgICAgICAgICAgIHRydWU7XG5cblxuLy8gU3BhY2luZ1xuLy9cbi8vIENvbnRyb2wgdGhlIGRlZmF1bHQgc3R5bGluZyBvZiBtb3N0IEJvb3RzdHJhcCBlbGVtZW50cyBieSBtb2RpZnlpbmcgdGhlc2Vcbi8vIHZhcmlhYmxlcy4gTW9zdGx5IGZvY3VzZWQgb24gc3BhY2luZy5cbi8vIFlvdSBjYW4gYWRkIG1vcmUgZW50cmllcyB0byB0aGUgJHNwYWNlcnMgbWFwLCBzaG91bGQgeW91IG5lZWQgbW9yZSB2YXJpYXRpb24uXG5cbiRzcGFjZXI6IDFyZW07XG4kc3BhY2VyczogKCk7XG4vLyBzdHlsZWxpbnQtZGlzYWJsZS1uZXh0LWxpbmUgc2Nzcy9kb2xsYXItdmFyaWFibGUtZGVmYXVsdFxuJHNwYWNlcnM6IG1hcC1tZXJnZShcbiAgICAgICAgICAgICAgICAoXG4gICAgICAgICAgICAgICAgICAgICAgICAwOiAwLFxuICAgICAgICAgICAgICAgICAgICAgICAgMTogKCRzcGFjZXIgKiAuMjUpLFxuICAgICAgICAgICAgICAgICAgICAgICAgMjogKCRzcGFjZXIgKiAuNSksXG4gICAgICAgICAgICAgICAgICAgICAgICAzOiAkc3BhY2VyLFxuICAgICAgICAgICAgICAgICAgICAgICAgNDogKCRzcGFjZXIgKiAxLjUpLFxuICAgICAgICAgICAgICAgICAgICAgICAgNTogKCRzcGFjZXIgKiAzKVxuICAgICAgICAgICAgICAgICksXG4gICAgICAgICAgICAgICAgJHNwYWNlcnNcbik7XG5cbi8vIFRoaXMgdmFyaWFibGUgYWZmZWN0cyB0aGUgYC5oLSpgIGFuZCBgLnctKmAgY2xhc3Nlcy5cbiRzaXplczogKCk7XG4vLyBzdHlsZWxpbnQtZGlzYWJsZS1uZXh0LWxpbmUgc2Nzcy9kb2xsYXItdmFyaWFibGUtZGVmYXVsdFxuJHNpemVzOiBtYXAtbWVyZ2UoXG4gICAgICAgICAgICAgICAgKFxuICAgICAgICAgICAgICAgICAgICAgICAgMjU6IDI1JSxcbiAgICAgICAgICAgICAgICAgICAgICAgIDUwOiA1MCUsXG4gICAgICAgICAgICAgICAgICAgICAgICA3NTogNzUlLFxuICAgICAgICAgICAgICAgICAgICAgICAgMTAwOiAxMDAlLFxuICAgICAgICAgICAgICAgICAgICAgICAgYXV0bzogYXV0b1xuICAgICAgICAgICAgICAgICksXG4gICAgICAgICAgICAgICAgJHNpemVzXG4pO1xuXG5cbi8vIEJvZHlcbi8vXG4vLyBTZXR0aW5ncyBmb3IgdGhlIGA8Ym9keT5gIGVsZW1lbnQuXG5cbiRib2R5LWJnOiAgICAgICAgICAgICAgICAgICAkd2hpdGU7XG4kYm9keS1jb2xvcjogICAgICAgICAgICAgICAgJGdyYXktOTAwO1xuXG5cbi8vIExpbmtzXG4vL1xuLy8gU3R5bGUgYW5jaG9yIGVsZW1lbnRzLlxuXG4kbGluay1jb2xvcjogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkcHJvamVjdC1ibHVlLWQ1MDA7XG4kbGluay1kZWNvcmF0aW9uOiAgICAgICAgICAgICAgICAgICAgICAgICBub25lO1xuJGxpbmstaG92ZXItY29sb3I6ICAgICAgICAgICAgICAgICAgICAgICAgJGxpbmstY29sb3I7XG4kbGluay1ob3Zlci1kZWNvcmF0aW9uOiAgICAgICAgICAgICAgICAgICB1bmRlcmxpbmU7XG4vLyBEYXJrZW4gcGVyY2VudGFnZSBmb3IgbGlua3Mgd2l0aCBgLnRleHQtKmAgY2xhc3MgKGUuZy4gYC50ZXh0LXN1Y2Nlc3NgKVxuJGVtcGhhc2l6ZWQtbGluay1ob3Zlci1kYXJrZW4tcGVyY2VudGFnZTogMTUlO1xuXG4vLyBQYXJhZ3JhcGhzXG4vL1xuLy8gU3R5bGUgcCBlbGVtZW50LlxuXG4kcGFyYWdyYXBoLW1hcmdpbi1ib3R0b206ICAgMXJlbTtcblxuXG4vLyBHcmlkIGJyZWFrcG9pbnRzXG4vL1xuLy8gRGVmaW5lIHRoZSBtaW5pbXVtIGRpbWVuc2lvbnMgYXQgd2hpY2ggeW91ciBsYXlvdXQgd2lsbCBjaGFuZ2UsXG4vLyBhZGFwdGluZyB0byBkaWZmZXJlbnQgc2NyZWVuIHNpemVzLCBmb3IgdXNlIGluIG1lZGlhIHF1ZXJpZXMuXG5cbiRncmlkLWJyZWFrcG9pbnRzOiAoXG4gICAgICAgIHhzOiAwLFxuICAgICAgICBzbTogNDgwcHgsXG4gICAgICAgIG1kOiA3NjhweCxcbiAgICAgICAgbGc6IDk5MnB4LFxuICAgICAgICB4bDogMTIwMHB4LFxuICAgICAgICBoZzogMTQyMHB4XG4pO1xuXG5AaW5jbHVkZSBfYXNzZXJ0LWFzY2VuZGluZygkZ3JpZC1icmVha3BvaW50cywgXCIkZ3JpZC1icmVha3BvaW50c1wiKTtcbkBpbmNsdWRlIF9hc3NlcnQtc3RhcnRzLWF0LXplcm8oJGdyaWQtYnJlYWtwb2ludHMsIFwiJGdyaWQtYnJlYWtwb2ludHNcIik7XG5cblxuLy8gR3JpZCBjb250YWluZXJzXG4vL1xuLy8gRGVmaW5lIHRoZSBtYXhpbXVtIHdpZHRoIG9mIGAuY29udGFpbmVyYCBmb3IgZGlmZmVyZW50IHNjcmVlbiBzaXplcy5cblxuJGNvbnRhaW5lci1tYXgtd2lkdGhzOiAoXG4gICAgICAgIHNtOiA1NDBweCxcbiAgICAgICAgbWQ6IDc1MHB4LFxuICAgICAgICBsZzogOTYwcHgsXG4gICAgICAgIHhsOiAxMTQwcHgsXG4gICAgICAgIGhnOiAkc2l0ZS1jb250YWluZXJcbik7XG5cbkBpbmNsdWRlIF9hc3NlcnQtYXNjZW5kaW5nKCRjb250YWluZXItbWF4LXdpZHRocywgXCIkY29udGFpbmVyLW1heC13aWR0aHNcIik7XG5cblxuLy8gR3JpZCBjb2x1bW5zXG4vL1xuLy8gU2V0IHRoZSBudW1iZXIgb2YgY29sdW1ucyBhbmQgc3BlY2lmeSB0aGUgd2lkdGggb2YgdGhlIGd1dHRlcnMuXG5cbiRncmlkLWNvbHVtbnM6ICAgICAgICAgICAgICAgIDEyO1xuJGdyaWQtZ3V0dGVyLXdpZHRoOiAgICAgICAgICAgMzBweDtcbiRncmlkLXJvdy1jb2x1bW5zOiAgICAgICAgICAgIDY7XG5cblxuLy8gQ29tcG9uZW50c1xuLy9cbi8vIERlZmluZSBjb21tb24gcGFkZGluZyBhbmQgYm9yZGVyIHJhZGl1cyBzaXplcyBhbmQgbW9yZS5cblxuJGxpbmUtaGVpZ2h0LWxnOiAgICAgICAgICAgICAgMS41O1xuJGxpbmUtaGVpZ2h0LXNtOiAgICAgICAgICAgICAgMS41O1xuXG4kYm9yZGVyLXdpZHRoOiAgICAgICAgICAgICAgICAxcHg7XG4kYm9yZGVyLWNvbG9yOiAgICAgICAgICAgICAgICAkZ3JheS0zMDA7XG5cbiRib3JkZXItcmFkaXVzOiAgICAgICAgICAgICAgIC4yNXJlbTtcbiRib3JkZXItcmFkaXVzLWxnOiAgICAgICAgICAgIC4zcmVtO1xuJGJvcmRlci1yYWRpdXMtc206ICAgICAgICAgICAgLjJyZW07XG5cbiRyb3VuZGVkLXBpbGw6ICAgICAgICAgICAgICAgIDUwcmVtO1xuXG4kYm94LXNoYWRvdy1zbTogICAgICAgICAgICAgICAwIC4xMjVyZW0gLjI1cmVtIHJnYmEoJGJsYWNrLCAuMDc1KTtcbiRib3gtc2hhZG93OiAgICAgICAgICAgICAgICAgIDAgLjVyZW0gMXJlbSByZ2JhKCRibGFjaywgLjE1KTtcbiRib3gtc2hhZG93LWxnOiAgICAgICAgICAgICAgIDAgMXJlbSAzcmVtIHJnYmEoJGJsYWNrLCAuMTc1KTtcblxuJGNvbXBvbmVudC1hY3RpdmUtY29sb3I6ICAgICAgJHdoaXRlO1xuJGNvbXBvbmVudC1hY3RpdmUtYmc6ICAgICAgICAgdGhlbWUtY29sb3IoXCJwcmltYXJ5XCIpO1xuXG4kY2FyZXQtd2lkdGg6ICAgICAgICAgICAgICAgICAuM2VtO1xuJGNhcmV0LXZlcnRpY2FsLWFsaWduOiAgICAgICAgJGNhcmV0LXdpZHRoICogLjg1O1xuJGNhcmV0LXNwYWNpbmc6ICAgICAgICAgICAgICAgJGNhcmV0LXdpZHRoICogLjg1O1xuXG4kdHJhbnNpdGlvbi1iYXNlOiAgICAgICAgICAgICBhbGwgLjJzIGVhc2UtaW4tb3V0O1xuJHRyYW5zaXRpb24tZmFkZTogICAgICAgICAgICAgb3BhY2l0eSAuMTVzIGxpbmVhcjtcbiR0cmFuc2l0aW9uLWNvbGxhcHNlOiAgICAgICAgIGhlaWdodCAuMzVzIGVhc2U7XG5cbiRlbWJlZC1yZXNwb25zaXZlLWFzcGVjdC1yYXRpb3M6ICgpO1xuLy8gc3R5bGVsaW50LWRpc2FibGUtbmV4dC1saW5lIHNjc3MvZG9sbGFyLXZhcmlhYmxlLWRlZmF1bHRcbiRlbWJlZC1yZXNwb25zaXZlLWFzcGVjdC1yYXRpb3M6IGpvaW4oXG4gICAgICAgICAgICAgICAgICAgICAgICAoXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDIxIDkpLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxNiA5KSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoNCAzKSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSAxKSxcbiAgICAgICAgICAgICAgICAgICAgICAgICksXG4gICAgICAgICAgICAgICAgJGVtYmVkLXJlc3BvbnNpdmUtYXNwZWN0LXJhdGlvc1xuKTtcblxuLy8gVHlwb2dyYXBoeVxuLy9cbi8vIEZvbnQsIGxpbmUtaGVpZ2h0LCBhbmQgY29sb3IgZm9yIGJvZHkgdGV4dCwgaGVhZGluZ3MsIGFuZCBtb3JlLlxuXG4vLyBzdHlsZWxpbnQtZGlzYWJsZSB2YWx1ZS1rZXl3b3JkLWNhc2VcbiRmb250LWZhbWlseS1zYW5zLXNlcmlmOiAgICAgICdSb2JvdG9XZWInLCBzYW5zLXNlcmlmO1xuJGZvbnQtZmFtaWx5LW1vbm9zcGFjZTogICAgICAgU0ZNb25vLVJlZ3VsYXIsIE1lbmxvLCBNb25hY28sIENvbnNvbGFzLCBcIkxpYmVyYXRpb24gTW9ub1wiLCBcIkNvdXJpZXIgTmV3XCIsIG1vbm9zcGFjZTtcbiRmb250LWZhbWlseS1iYXNlOiAgICAgICAgICAgICRmb250LWZhbWlseS1zYW5zLXNlcmlmO1xuLy8gc3R5bGVsaW50LWVuYWJsZSB2YWx1ZS1rZXl3b3JkLWNhc2VcblxuJGZvbnQtc2l6ZS1iYXNlOiAgICAgICAgICAgICAgMXJlbTsgLy8gQXNzdW1lcyB0aGUgYnJvd3NlciBkZWZhdWx0LCB0eXBpY2FsbHkgYDE2cHhgXG4kZm9udC1zaXplLWxnOiAgICAgICAgICAgICAgICAkZm9udC1zaXplLWJhc2UgKiAxLjI1O1xuJGZvbnQtc2l6ZS1zbTogICAgICAgICAgICAgICAgJGZvbnQtc2l6ZS1iYXNlICogLjg3NTtcblxuJGZvbnQtd2VpZ2h0LWxpZ2h0ZXI6ICAgICAgICAgbGlnaHRlcjtcbiRmb250LXdlaWdodC1saWdodDogICAgICAgICAgIDMwMDtcbiRmb250LXdlaWdodC1ub3JtYWw6ICAgICAgICAgIDQwMDtcbiRmb250LXdlaWdodC1ib2xkOiAgICAgICAgICAgIDcwMDtcbiRmb250LXdlaWdodC1ib2xkZXI6ICAgICAgICAgIGJvbGRlcjtcblxuJGZvbnQtd2VpZ2h0LWJhc2U6ICAgICAgICAgICAgJGZvbnQtd2VpZ2h0LW5vcm1hbDtcbiRsaW5lLWhlaWdodC1iYXNlOiAgICAgICAgICAgIDEuNTtcblxuJGgxLWZvbnQtc2l6ZTogICAgICAgICAgICAgICAgJGZvbnQtc2l6ZS1iYXNlICogMi41O1xuJGgyLWZvbnQtc2l6ZTogICAgICAgICAgICAgICAgJGZvbnQtc2l6ZS1iYXNlICogMjtcbiRoMy1mb250LXNpemU6ICAgICAgICAgICAgICAgICRmb250LXNpemUtYmFzZSAqIDEuNzU7XG4kaDQtZm9udC1zaXplOiAgICAgICAgICAgICAgICAkZm9udC1zaXplLWJhc2UgKiAxLjU7XG4kaDUtZm9udC1zaXplOiAgICAgICAgICAgICAgICAkZm9udC1zaXplLWJhc2UgKiAxLjI1O1xuJGg2LWZvbnQtc2l6ZTogICAgICAgICAgICAgICAgJGZvbnQtc2l6ZS1iYXNlO1xuXG4kaGVhZGluZ3MtbWFyZ2luLWJvdHRvbTogICAgICAkc3BhY2VyIC8gMjtcbiRoZWFkaW5ncy1mb250LWZhbWlseTogICAgICAgIG51bGw7XG4kaGVhZGluZ3MtZm9udC13ZWlnaHQ6ICAgICAgICA1MDA7XG4kaGVhZGluZ3MtbGluZS1oZWlnaHQ6ICAgICAgICAxLjI7XG4kaGVhZGluZ3MtY29sb3I6ICAgICAgICAgICAgICBudWxsO1xuXG4kZGlzcGxheTEtc2l6ZTogICAgICAgICAgICAgICA2cmVtO1xuJGRpc3BsYXkyLXNpemU6ICAgICAgICAgICAgICAgNS41cmVtO1xuJGRpc3BsYXkzLXNpemU6ICAgICAgICAgICAgICAgNC41cmVtO1xuJGRpc3BsYXk0LXNpemU6ICAgICAgICAgICAgICAgMy41cmVtO1xuXG4kZGlzcGxheTEtd2VpZ2h0OiAgICAgICAgICAgICAzMDA7XG4kZGlzcGxheTItd2VpZ2h0OiAgICAgICAgICAgICAzMDA7XG4kZGlzcGxheTMtd2VpZ2h0OiAgICAgICAgICAgICAzMDA7XG4kZGlzcGxheTQtd2VpZ2h0OiAgICAgICAgICAgICAzMDA7XG4kZGlzcGxheS1saW5lLWhlaWdodDogICAgICAgICAkaGVhZGluZ3MtbGluZS1oZWlnaHQ7XG5cbiRsZWFkLWZvbnQtc2l6ZTogICAgICAgICAgICAgICRmb250LXNpemUtYmFzZSAqIDEuMjU7XG4kbGVhZC1mb250LXdlaWdodDogICAgICAgICAgICAzMDA7XG5cbiRzbWFsbC1mb250LXNpemU6ICAgICAgICAgICAgIDgwJTtcblxuJHRleHQtbXV0ZWQ6ICAgICAgICAgICAgICAgICAgJGdyYXktNjAwO1xuXG4kYmxvY2txdW90ZS1zbWFsbC1jb2xvcjogICAgICAkZ3JheS02MDA7XG4kYmxvY2txdW90ZS1zbWFsbC1mb250LXNpemU6ICAkc21hbGwtZm9udC1zaXplO1xuJGJsb2NrcXVvdGUtZm9udC1zaXplOiAgICAgICAgJGZvbnQtc2l6ZS1iYXNlICogMS4yNTtcblxuJGhyLWJvcmRlci1jb2xvcjogICAgICAgICAgICAgcmdiYSgkYmxhY2ssIC4xKTtcbiRoci1ib3JkZXItd2lkdGg6ICAgICAgICAgICAgICRib3JkZXItd2lkdGg7XG5cbiRtYXJrLXBhZGRpbmc6ICAgICAgICAgICAgICAgIC4yZW07XG5cbiRkdC1mb250LXdlaWdodDogICAgICAgICAgICAgICRmb250LXdlaWdodC1ib2xkO1xuXG4ka2JkLWJveC1zaGFkb3c6ICAgICAgICAgICAgICBpbnNldCAwIC0uMXJlbSAwIHJnYmEoJGJsYWNrLCAuMjUpO1xuJG5lc3RlZC1rYmQtZm9udC13ZWlnaHQ6ICAgICAgJGZvbnQtd2VpZ2h0LWJvbGQ7XG5cbiRsaXN0LWlubGluZS1wYWRkaW5nOiAgICAgICAgIC41cmVtO1xuXG4kbWFyay1iZzogICAgICAgICAgICAgICAgICAgICAjZmNmOGUzO1xuXG4kaHItbWFyZ2luLXk6ICAgICAgICAgICAgICAgICAkc3BhY2VyO1xuXG5cbi8vIFRhYmxlc1xuLy9cbi8vIEN1c3RvbWl6ZXMgdGhlIGAudGFibGVgIGNvbXBvbmVudCB3aXRoIGJhc2ljIHZhbHVlcywgZWFjaCB1c2VkIGFjcm9zcyBhbGwgdGFibGUgdmFyaWF0aW9ucy5cblxuJHRhYmxlLWNlbGwtcGFkZGluZzogICAgICAgICAgLjc1cmVtO1xuJHRhYmxlLWNlbGwtcGFkZGluZy1zbTogICAgICAgLjNyZW07XG5cbiR0YWJsZS1jb2xvcjogICAgICAgICAgICAgICAgICRib2R5LWNvbG9yO1xuJHRhYmxlLWJnOiAgICAgICAgICAgICAgICAgICAgbnVsbDtcbiR0YWJsZS1hY2NlbnQtYmc6ICAgICAgICAgICAgIHJnYmEoJGJsYWNrLCAuMDUpO1xuJHRhYmxlLWhvdmVyLWNvbG9yOiAgICAgICAgICAgJHRhYmxlLWNvbG9yO1xuJHRhYmxlLWhvdmVyLWJnOiAgICAgICAgICAgICAgcmdiYSgkYmxhY2ssIC4wNzUpO1xuJHRhYmxlLWFjdGl2ZS1iZzogICAgICAgICAgICAgJHRhYmxlLWhvdmVyLWJnO1xuXG4kdGFibGUtYm9yZGVyLXdpZHRoOiAgICAgICAgICAkYm9yZGVyLXdpZHRoO1xuJHRhYmxlLWJvcmRlci1jb2xvcjogICAgICAgICAgJGJvcmRlci1jb2xvcjtcblxuJHRhYmxlLWhlYWQtYmc6ICAgICAgICAgICAgICAgJGdyYXktMjAwO1xuJHRhYmxlLWhlYWQtY29sb3I6ICAgICAgICAgICAgJGdyYXktNzAwO1xuXG4kdGFibGUtZGFyay1jb2xvcjogICAgICAgICAgICAkd2hpdGU7XG4kdGFibGUtZGFyay1iZzogICAgICAgICAgICAgICAkZ3JheS04MDA7XG4kdGFibGUtZGFyay1hY2NlbnQtYmc6ICAgICAgICByZ2JhKCR3aGl0ZSwgLjA1KTtcbiR0YWJsZS1kYXJrLWhvdmVyLWNvbG9yOiAgICAgICR0YWJsZS1kYXJrLWNvbG9yO1xuJHRhYmxlLWRhcmstaG92ZXItYmc6ICAgICAgICAgcmdiYSgkd2hpdGUsIC4wNzUpO1xuJHRhYmxlLWRhcmstYm9yZGVyLWNvbG9yOiAgICAgbGlnaHRlbigkdGFibGUtZGFyay1iZywgNy41JSk7XG5cbiR0YWJsZS1zdHJpcGVkLW9yZGVyOiAgICAgICAgIG9kZDtcblxuJHRhYmxlLWNhcHRpb24tY29sb3I6ICAgICAgICAgJHRleHQtbXV0ZWQ7XG5cbiR0YWJsZS1iZy1sZXZlbDogICAgICAgICAgICAgIC05O1xuJHRhYmxlLWJvcmRlci1sZXZlbDogICAgICAgICAgLTY7XG5cblxuLy8gQnV0dG9ucyArIEZvcm1zXG4vL1xuLy8gU2hhcmVkIHZhcmlhYmxlcyB0aGF0IGFyZSByZWFzc2lnbmVkIHRvIGAkaW5wdXQtYCBhbmQgYCRidG4tYCBzcGVjaWZpYyB2YXJpYWJsZXMuXG5cbiRpbnB1dC1idG4tcGFkZGluZy15OiAgICAgICAgIC4zNzVyZW07XG4kaW5wdXQtYnRuLXBhZGRpbmcteDogICAgICAgICAuNzVyZW07XG4kaW5wdXQtYnRuLWZvbnQtZmFtaWx5OiAgICAgICBudWxsO1xuJGlucHV0LWJ0bi1mb250LXNpemU6ICAgICAgICAgJGZvbnQtc2l6ZS1iYXNlO1xuJGlucHV0LWJ0bi1saW5lLWhlaWdodDogICAgICAgJGxpbmUtaGVpZ2h0LWJhc2U7XG5cbiRpbnB1dC1idG4tZm9jdXMtd2lkdGg6ICAgICAgIC4ycmVtO1xuJGlucHV0LWJ0bi1mb2N1cy1jb2xvcjogICAgICAgcmdiYSgkY29tcG9uZW50LWFjdGl2ZS1iZywgLjI1KTtcbiRpbnB1dC1idG4tZm9jdXMtYm94LXNoYWRvdzogIDAgMCAwICRpbnB1dC1idG4tZm9jdXMtd2lkdGggJGlucHV0LWJ0bi1mb2N1cy1jb2xvcjtcblxuJGlucHV0LWJ0bi1wYWRkaW5nLXktc206ICAgICAgLjI1cmVtO1xuJGlucHV0LWJ0bi1wYWRkaW5nLXgtc206ICAgICAgLjVyZW07XG4kaW5wdXQtYnRuLWZvbnQtc2l6ZS1zbTogICAgICAkZm9udC1zaXplLXNtO1xuJGlucHV0LWJ0bi1saW5lLWhlaWdodC1zbTogICAgJGxpbmUtaGVpZ2h0LXNtO1xuXG4kaW5wdXQtYnRuLXBhZGRpbmcteS1sZzogICAgICAuNXJlbTtcbiRpbnB1dC1idG4tcGFkZGluZy14LWxnOiAgICAgIDFyZW07XG4kaW5wdXQtYnRuLWZvbnQtc2l6ZS1sZzogICAgICAkZm9udC1zaXplLWxnO1xuJGlucHV0LWJ0bi1saW5lLWhlaWdodC1sZzogICAgJGxpbmUtaGVpZ2h0LWxnO1xuXG4kaW5wdXQtYnRuLWJvcmRlci13aWR0aDogICAgICAkYm9yZGVyLXdpZHRoO1xuXG5cbi8vIEJ1dHRvbnNcbi8vXG4vLyBGb3IgZWFjaCBvZiBCb290c3RyYXAncyBidXR0b25zLCBkZWZpbmUgdGV4dCwgYmFja2dyb3VuZCwgYW5kIGJvcmRlciBjb2xvci5cblxuJGJ0bi1wYWRkaW5nLXk6ICAgICAgICAgICAgICAgJGlucHV0LWJ0bi1wYWRkaW5nLXk7XG4kYnRuLXBhZGRpbmcteDogICAgICAgICAgICAgICAkaW5wdXQtYnRuLXBhZGRpbmcteDtcbiRidG4tZm9udC1mYW1pbHk6ICAgICAgICAgICAgICRpbnB1dC1idG4tZm9udC1mYW1pbHk7XG4kYnRuLWZvbnQtc2l6ZTogICAgICAgICAgICAgICAkaW5wdXQtYnRuLWZvbnQtc2l6ZTtcbiRidG4tbGluZS1oZWlnaHQ6ICAgICAgICAgICAgICRpbnB1dC1idG4tbGluZS1oZWlnaHQ7XG4kYnRuLXdoaXRlLXNwYWNlOiAgICAgICAgICAgICBudWxsOyAvLyBTZXQgdG8gYG5vd3JhcGAgdG8gcHJldmVudCB0ZXh0IHdyYXBwaW5nXG5cbiRidG4tcGFkZGluZy15LXNtOiAgICAgICAgICAgICRpbnB1dC1idG4tcGFkZGluZy15LXNtO1xuJGJ0bi1wYWRkaW5nLXgtc206ICAgICAgICAgICAgJGlucHV0LWJ0bi1wYWRkaW5nLXgtc207XG4kYnRuLWZvbnQtc2l6ZS1zbTogICAgICAgICAgICAkaW5wdXQtYnRuLWZvbnQtc2l6ZS1zbTtcbiRidG4tbGluZS1oZWlnaHQtc206ICAgICAgICAgICRpbnB1dC1idG4tbGluZS1oZWlnaHQtc207XG5cbiRidG4tcGFkZGluZy15LWxnOiAgICAgICAgICAgICRpbnB1dC1idG4tcGFkZGluZy15LWxnO1xuJGJ0bi1wYWRkaW5nLXgtbGc6ICAgICAgICAgICAgJGlucHV0LWJ0bi1wYWRkaW5nLXgtbGc7XG4kYnRuLWZvbnQtc2l6ZS1sZzogICAgICAgICAgICAkaW5wdXQtYnRuLWZvbnQtc2l6ZS1sZztcbiRidG4tbGluZS1oZWlnaHQtbGc6ICAgICAgICAgICRpbnB1dC1idG4tbGluZS1oZWlnaHQtbGc7XG5cbiRidG4tYm9yZGVyLXdpZHRoOiAgICAgICAgICAgICRpbnB1dC1idG4tYm9yZGVyLXdpZHRoO1xuXG4kYnRuLWZvbnQtd2VpZ2h0OiAgICAgICAgICAgICAkZm9udC13ZWlnaHQtbm9ybWFsO1xuJGJ0bi1ib3gtc2hhZG93OiAgICAgICAgICAgICAgaW5zZXQgMCAxcHggMCByZ2JhKCR3aGl0ZSwgLjE1KSwgMCAxcHggMXB4IHJnYmEoJGJsYWNrLCAuMDc1KTtcbiRidG4tZm9jdXMtd2lkdGg6ICAgICAgICAgICAgICRpbnB1dC1idG4tZm9jdXMtd2lkdGg7XG4kYnRuLWZvY3VzLWJveC1zaGFkb3c6ICAgICAgICAkaW5wdXQtYnRuLWZvY3VzLWJveC1zaGFkb3c7XG4kYnRuLWRpc2FibGVkLW9wYWNpdHk6ICAgICAgICAuNjU7XG4kYnRuLWFjdGl2ZS1ib3gtc2hhZG93OiAgICAgICBpbnNldCAwIDNweCA1cHggcmdiYSgkYmxhY2ssIC4xMjUpO1xuXG4kYnRuLWxpbmstZGlzYWJsZWQtY29sb3I6ICAgICAkZ3JheS02MDA7XG5cbiRidG4tYmxvY2stc3BhY2luZy15OiAgICAgICAgIC41cmVtO1xuXG4vLyBBbGxvd3MgZm9yIGN1c3RvbWl6aW5nIGJ1dHRvbiByYWRpdXMgaW5kZXBlbmRlbnRseSBmcm9tIGdsb2JhbCBib3JkZXIgcmFkaXVzXG4kYnRuLWJvcmRlci1yYWRpdXM6ICAgICAgICAgICAkYm9yZGVyLXJhZGl1cztcbiRidG4tYm9yZGVyLXJhZGl1cy1sZzogICAgICAgICRib3JkZXItcmFkaXVzLWxnO1xuJGJ0bi1ib3JkZXItcmFkaXVzLXNtOiAgICAgICAgJGJvcmRlci1yYWRpdXMtc207XG5cbiRidG4tdHJhbnNpdGlvbjogICAgICAgICAgICAgIGNvbG9yIC4xNXMgZWFzZS1pbi1vdXQsIGJhY2tncm91bmQtY29sb3IgLjE1cyBlYXNlLWluLW91dCwgYm9yZGVyLWNvbG9yIC4xNXMgZWFzZS1pbi1vdXQsIGJveC1zaGFkb3cgLjE1cyBlYXNlLWluLW91dDtcblxuXG4vLyBGb3Jtc1xuXG4kbGFiZWwtbWFyZ2luLWJvdHRvbTogICAgICAgICAgICAgICAgICAgLjVyZW07XG5cbiRpbnB1dC1wYWRkaW5nLXk6ICAgICAgICAgICAgICAgICAgICAgICAkaW5wdXQtYnRuLXBhZGRpbmcteTtcbiRpbnB1dC1wYWRkaW5nLXg6ICAgICAgICAgICAgICAgICAgICAgICAkaW5wdXQtYnRuLXBhZGRpbmcteDtcbiRpbnB1dC1mb250LWZhbWlseTogICAgICAgICAgICAgICAgICAgICAkaW5wdXQtYnRuLWZvbnQtZmFtaWx5O1xuJGlucHV0LWZvbnQtc2l6ZTogICAgICAgICAgICAgICAgICAgICAgICRpbnB1dC1idG4tZm9udC1zaXplO1xuJGlucHV0LWZvbnQtd2VpZ2h0OiAgICAgICAgICAgICAgICAgICAgICRmb250LXdlaWdodC1iYXNlO1xuJGlucHV0LWxpbmUtaGVpZ2h0OiAgICAgICAgICAgICAgICAgICAgICRpbnB1dC1idG4tbGluZS1oZWlnaHQ7XG5cbiRpbnB1dC1wYWRkaW5nLXktc206ICAgICAgICAgICAgICAgICAgICAkaW5wdXQtYnRuLXBhZGRpbmcteS1zbTtcbiRpbnB1dC1wYWRkaW5nLXgtc206ICAgICAgICAgICAgICAgICAgICAkaW5wdXQtYnRuLXBhZGRpbmcteC1zbTtcbiRpbnB1dC1mb250LXNpemUtc206ICAgICAgICAgICAgICAgICAgICAkaW5wdXQtYnRuLWZvbnQtc2l6ZS1zbTtcbiRpbnB1dC1saW5lLWhlaWdodC1zbTogICAgICAgICAgICAgICAgICAkaW5wdXQtYnRuLWxpbmUtaGVpZ2h0LXNtO1xuXG4kaW5wdXQtcGFkZGluZy15LWxnOiAgICAgICAgICAgICAgICAgICAgJGlucHV0LWJ0bi1wYWRkaW5nLXktbGc7XG4kaW5wdXQtcGFkZGluZy14LWxnOiAgICAgICAgICAgICAgICAgICAgJGlucHV0LWJ0bi1wYWRkaW5nLXgtbGc7XG4kaW5wdXQtZm9udC1zaXplLWxnOiAgICAgICAgICAgICAgICAgICAgJGlucHV0LWJ0bi1mb250LXNpemUtbGc7XG4kaW5wdXQtbGluZS1oZWlnaHQtbGc6ICAgICAgICAgICAgICAgICAgJGlucHV0LWJ0bi1saW5lLWhlaWdodC1sZztcblxuJGlucHV0LWJnOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICR3aGl0ZTtcbiRpbnB1dC1kaXNhYmxlZC1iZzogICAgICAgICAgICAgICAgICAgICAkZ3JheS0yMDA7XG5cbiRpbnB1dC1jb2xvcjogICAgICAgICAgICAgICAgICAgICAgICAgICAkZ3JheS03MDA7XG4kaW5wdXQtYm9yZGVyLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgJGdyYXktNDAwO1xuJGlucHV0LWJvcmRlci13aWR0aDogICAgICAgICAgICAgICAgICAgICRpbnB1dC1idG4tYm9yZGVyLXdpZHRoO1xuJGlucHV0LWJveC1zaGFkb3c6ICAgICAgICAgICAgICAgICAgICAgIGluc2V0IDAgMXB4IDFweCByZ2JhKCRibGFjaywgLjA3NSk7XG5cbiRpbnB1dC1ib3JkZXItcmFkaXVzOiAgICAgICAgICAgICAgICAgICAkYm9yZGVyLXJhZGl1cztcbiRpbnB1dC1ib3JkZXItcmFkaXVzLWxnOiAgICAgICAgICAgICAgICAkYm9yZGVyLXJhZGl1cy1sZztcbiRpbnB1dC1ib3JkZXItcmFkaXVzLXNtOiAgICAgICAgICAgICAgICAkYm9yZGVyLXJhZGl1cy1zbTtcblxuJGlucHV0LWZvY3VzLWJnOiAgICAgICAgICAgICAgICAgICAgICAgICRpbnB1dC1iZztcbiRpbnB1dC1mb2N1cy1ib3JkZXItY29sb3I6ICAgICAgICAgICAgICBsaWdodGVuKCRjb21wb25lbnQtYWN0aXZlLWJnLCAyNSUpO1xuJGlucHV0LWZvY3VzLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICRpbnB1dC1jb2xvcjtcbiRpbnB1dC1mb2N1cy13aWR0aDogICAgICAgICAgICAgICAgICAgICAkaW5wdXQtYnRuLWZvY3VzLXdpZHRoO1xuJGlucHV0LWZvY3VzLWJveC1zaGFkb3c6ICAgICAgICAgICAgICAgICRpbnB1dC1idG4tZm9jdXMtYm94LXNoYWRvdztcblxuJGlucHV0LXBsYWNlaG9sZGVyLWNvbG9yOiAgICAgICAgICAgICAgICRncmF5LTYwMDtcbiRpbnB1dC1wbGFpbnRleHQtY29sb3I6ICAgICAgICAgICAgICAgICAkYm9keS1jb2xvcjtcblxuJGlucHV0LWhlaWdodC1ib3JkZXI6ICAgICAgICAgICAgICAgICAgICRpbnB1dC1ib3JkZXItd2lkdGggKiAyO1xuXG4kaW5wdXQtaGVpZ2h0LWlubmVyOiAgICAgICAgICAgICAgICAgICAgYWRkKCRpbnB1dC1saW5lLWhlaWdodCAqIDFlbSwgJGlucHV0LXBhZGRpbmcteSAqIDIpO1xuJGlucHV0LWhlaWdodC1pbm5lci1oYWxmOiAgICAgICAgICAgICAgIGFkZCgkaW5wdXQtbGluZS1oZWlnaHQgKiAuNWVtLCAkaW5wdXQtcGFkZGluZy15KTtcbiRpbnB1dC1oZWlnaHQtaW5uZXItcXVhcnRlcjogICAgICAgICAgICBhZGQoJGlucHV0LWxpbmUtaGVpZ2h0ICogLjI1ZW0sICRpbnB1dC1wYWRkaW5nLXkgLyAyKTtcblxuJGlucHV0LWhlaWdodDogICAgICAgICAgICAgICAgICAgICAgICAgIGFkZCgkaW5wdXQtbGluZS1oZWlnaHQgKiAxZW0sIGFkZCgkaW5wdXQtcGFkZGluZy15ICogMiwgJGlucHV0LWhlaWdodC1ib3JkZXIsIGZhbHNlKSk7XG4kaW5wdXQtaGVpZ2h0LXNtOiAgICAgICAgICAgICAgICAgICAgICAgYWRkKCRpbnB1dC1saW5lLWhlaWdodC1zbSAqIDFlbSwgYWRkKCRpbnB1dC1wYWRkaW5nLXktc20gKiAyLCAkaW5wdXQtaGVpZ2h0LWJvcmRlciwgZmFsc2UpKTtcbiRpbnB1dC1oZWlnaHQtbGc6ICAgICAgICAgICAgICAgICAgICAgICBhZGQoJGlucHV0LWxpbmUtaGVpZ2h0LWxnICogMWVtLCBhZGQoJGlucHV0LXBhZGRpbmcteS1sZyAqIDIsICRpbnB1dC1oZWlnaHQtYm9yZGVyLCBmYWxzZSkpO1xuXG4kaW5wdXQtdHJhbnNpdGlvbjogICAgICAgICAgICAgICAgICAgICAgYm9yZGVyLWNvbG9yIC4xNXMgZWFzZS1pbi1vdXQsIGJveC1zaGFkb3cgLjE1cyBlYXNlLWluLW91dDtcblxuJGZvcm0tdGV4dC1tYXJnaW4tdG9wOiAgICAgICAgICAgICAgICAgIC4yNXJlbTtcblxuJGZvcm0tY2hlY2staW5wdXQtZ3V0dGVyOiAgICAgICAgICAgICAgIDEuMjVyZW07XG4kZm9ybS1jaGVjay1pbnB1dC1tYXJnaW4teTogICAgICAgICAgICAgLjNyZW07XG4kZm9ybS1jaGVjay1pbnB1dC1tYXJnaW4teDogICAgICAgICAgICAgLjI1cmVtO1xuXG4kZm9ybS1jaGVjay1pbmxpbmUtbWFyZ2luLXg6ICAgICAgICAgICAgLjc1cmVtO1xuJGZvcm0tY2hlY2staW5saW5lLWlucHV0LW1hcmdpbi14OiAgICAgIC4zMTI1cmVtO1xuXG4kZm9ybS1ncmlkLWd1dHRlci13aWR0aDogICAgICAgICAgICAgICAgMTBweDtcbiRmb3JtLWdyb3VwLW1hcmdpbi1ib3R0b206ICAgICAgICAgICAgICAxcmVtO1xuXG4kaW5wdXQtZ3JvdXAtYWRkb24tY29sb3I6ICAgICAgICAgICAgICAgJGlucHV0LWNvbG9yO1xuJGlucHV0LWdyb3VwLWFkZG9uLWJnOiAgICAgICAgICAgICAgICAgICRncmF5LTIwMDtcbiRpbnB1dC1ncm91cC1hZGRvbi1ib3JkZXItY29sb3I6ICAgICAgICAkaW5wdXQtYm9yZGVyLWNvbG9yO1xuXG4kY3VzdG9tLWZvcm1zLXRyYW5zaXRpb246ICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvciAuMTVzIGVhc2UtaW4tb3V0LCBib3JkZXItY29sb3IgLjE1cyBlYXNlLWluLW91dCwgYm94LXNoYWRvdyAuMTVzIGVhc2UtaW4tb3V0O1xuXG4kY3VzdG9tLWNvbnRyb2wtZ3V0dGVyOiAgICAgICAgICAgICAgICAgLjVyZW07XG4kY3VzdG9tLWNvbnRyb2wtc3BhY2VyLXg6ICAgICAgICAgICAgICAgMXJlbTtcbiRjdXN0b20tY29udHJvbC1jdXJzb3I6ICAgICAgICAgICAgICAgICBudWxsO1xuXG4kY3VzdG9tLWNvbnRyb2wtaW5kaWNhdG9yLXNpemU6ICAgICAgICAgMXJlbTtcbiRjdXN0b20tY29udHJvbC1pbmRpY2F0b3ItYmc6ICAgICAgICAgICAkaW5wdXQtYmc7XG5cbiRjdXN0b20tY29udHJvbC1pbmRpY2F0b3ItYmctc2l6ZTogICAgICA1MCUgNTAlO1xuJGN1c3RvbS1jb250cm9sLWluZGljYXRvci1ib3gtc2hhZG93OiAgICRpbnB1dC1ib3gtc2hhZG93O1xuJGN1c3RvbS1jb250cm9sLWluZGljYXRvci1ib3JkZXItY29sb3I6ICRncmF5LTUwMDtcbiRjdXN0b20tY29udHJvbC1pbmRpY2F0b3ItYm9yZGVyLXdpZHRoOiAkaW5wdXQtYm9yZGVyLXdpZHRoO1xuXG4kY3VzdG9tLWNvbnRyb2wtbGFiZWwtY29sb3I6ICAgICAgICAgICAgbnVsbDtcblxuJGN1c3RvbS1jb250cm9sLWluZGljYXRvci1kaXNhYmxlZC1iZzogICAgICAgICAgJGlucHV0LWRpc2FibGVkLWJnO1xuJGN1c3RvbS1jb250cm9sLWxhYmVsLWRpc2FibGVkLWNvbG9yOiAgICAgICAgICAgJGdyYXktNjAwO1xuXG4kY3VzdG9tLWNvbnRyb2wtaW5kaWNhdG9yLWNoZWNrZWQtY29sb3I6ICAgICAgICAkY29tcG9uZW50LWFjdGl2ZS1jb2xvcjtcbiRjdXN0b20tY29udHJvbC1pbmRpY2F0b3ItY2hlY2tlZC1iZzogICAgICAgICAgICRjb21wb25lbnQtYWN0aXZlLWJnO1xuJGN1c3RvbS1jb250cm9sLWluZGljYXRvci1jaGVja2VkLWRpc2FibGVkLWJnOiAgcmdiYSh0aGVtZS1jb2xvcihcInByaW1hcnlcIiksIC41KTtcbiRjdXN0b20tY29udHJvbC1pbmRpY2F0b3ItY2hlY2tlZC1ib3gtc2hhZG93OiAgIG5vbmU7XG4kY3VzdG9tLWNvbnRyb2wtaW5kaWNhdG9yLWNoZWNrZWQtYm9yZGVyLWNvbG9yOiAkY3VzdG9tLWNvbnRyb2wtaW5kaWNhdG9yLWNoZWNrZWQtYmc7XG5cbiRjdXN0b20tY29udHJvbC1pbmRpY2F0b3ItZm9jdXMtYm94LXNoYWRvdzogICAgICRpbnB1dC1mb2N1cy1ib3gtc2hhZG93O1xuJGN1c3RvbS1jb250cm9sLWluZGljYXRvci1mb2N1cy1ib3JkZXItY29sb3I6ICAgJGlucHV0LWZvY3VzLWJvcmRlci1jb2xvcjtcblxuJGN1c3RvbS1jb250cm9sLWluZGljYXRvci1hY3RpdmUtY29sb3I6ICAgICAgICAgJGNvbXBvbmVudC1hY3RpdmUtY29sb3I7XG4kY3VzdG9tLWNvbnRyb2wtaW5kaWNhdG9yLWFjdGl2ZS1iZzogICAgICAgICAgICBsaWdodGVuKCRjb21wb25lbnQtYWN0aXZlLWJnLCAzNSUpO1xuJGN1c3RvbS1jb250cm9sLWluZGljYXRvci1hY3RpdmUtYm94LXNoYWRvdzogICAgbm9uZTtcbiRjdXN0b20tY29udHJvbC1pbmRpY2F0b3ItYWN0aXZlLWJvcmRlci1jb2xvcjogICRjdXN0b20tY29udHJvbC1pbmRpY2F0b3ItYWN0aXZlLWJnO1xuXG4kY3VzdG9tLWNoZWNrYm94LWluZGljYXRvci1ib3JkZXItcmFkaXVzOiAgICAgICAkYm9yZGVyLXJhZGl1cztcbiRjdXN0b20tY2hlY2tib3gtaW5kaWNhdG9yLWljb24tY2hlY2tlZDogICAgICAgIHVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbCw8c3ZnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Zycgd2lkdGg9JzgnIGhlaWdodD0nOCcgdmlld0JveD0nMCAwIDggOCc+PHBhdGggZmlsbD0nI3skY3VzdG9tLWNvbnRyb2wtaW5kaWNhdG9yLWNoZWNrZWQtY29sb3J9JyBkPSdNNi41NjQuNzVsLTMuNTkgMy42MTItMS41MzgtMS41NUwwIDQuMjZsMi45NzQgMi45OUw4IDIuMTkzeicvPjwvc3ZnPlwiKTtcblxuJGN1c3RvbS1jaGVja2JveC1pbmRpY2F0b3ItaW5kZXRlcm1pbmF0ZS1iZzogICAgICAgICAgICRjb21wb25lbnQtYWN0aXZlLWJnO1xuJGN1c3RvbS1jaGVja2JveC1pbmRpY2F0b3ItaW5kZXRlcm1pbmF0ZS1jb2xvcjogICAgICAgICRjdXN0b20tY29udHJvbC1pbmRpY2F0b3ItY2hlY2tlZC1jb2xvcjtcbiRjdXN0b20tY2hlY2tib3gtaW5kaWNhdG9yLWljb24taW5kZXRlcm1pbmF0ZTogICAgICAgICB1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWwsPHN2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHdpZHRoPSc0JyBoZWlnaHQ9JzQnIHZpZXdCb3g9JzAgMCA0IDQnPjxwYXRoIHN0cm9rZT0nI3skY3VzdG9tLWNoZWNrYm94LWluZGljYXRvci1pbmRldGVybWluYXRlLWNvbG9yfScgZD0nTTAgMmg0Jy8+PC9zdmc+XCIpO1xuJGN1c3RvbS1jaGVja2JveC1pbmRpY2F0b3ItaW5kZXRlcm1pbmF0ZS1ib3gtc2hhZG93OiAgIG5vbmU7XG4kY3VzdG9tLWNoZWNrYm94LWluZGljYXRvci1pbmRldGVybWluYXRlLWJvcmRlci1jb2xvcjogJGN1c3RvbS1jaGVja2JveC1pbmRpY2F0b3ItaW5kZXRlcm1pbmF0ZS1iZztcblxuJGN1c3RvbS1yYWRpby1pbmRpY2F0b3ItYm9yZGVyLXJhZGl1czogICAgICAgICAgNTAlO1xuJGN1c3RvbS1yYWRpby1pbmRpY2F0b3ItaWNvbi1jaGVja2VkOiAgICAgICAgICAgdXJsKFwiZGF0YTppbWFnZS9zdmcreG1sLDxzdmcgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyB3aWR0aD0nMTInIGhlaWdodD0nMTInIHZpZXdCb3g9Jy00IC00IDggOCc+PGNpcmNsZSByPSczJyBmaWxsPScjeyRjdXN0b20tY29udHJvbC1pbmRpY2F0b3ItY2hlY2tlZC1jb2xvcn0nLz48L3N2Zz5cIik7XG5cbiRjdXN0b20tc3dpdGNoLXdpZHRoOiAgICAgICAgICAgICAgICAgICAgICAgICAgICRjdXN0b20tY29udHJvbC1pbmRpY2F0b3Itc2l6ZSAqIDEuNzU7XG4kY3VzdG9tLXN3aXRjaC1pbmRpY2F0b3ItYm9yZGVyLXJhZGl1czogICAgICAgICAkY3VzdG9tLWNvbnRyb2wtaW5kaWNhdG9yLXNpemUgLyAyO1xuJGN1c3RvbS1zd2l0Y2gtaW5kaWNhdG9yLXNpemU6ICAgICAgICAgICAgICAgICAgc3VidHJhY3QoJGN1c3RvbS1jb250cm9sLWluZGljYXRvci1zaXplLCAkY3VzdG9tLWNvbnRyb2wtaW5kaWNhdG9yLWJvcmRlci13aWR0aCAqIDQpO1xuXG4kY3VzdG9tLXNlbGVjdC1wYWRkaW5nLXk6ICAgICAgICAgICAkaW5wdXQtcGFkZGluZy15O1xuJGN1c3RvbS1zZWxlY3QtcGFkZGluZy14OiAgICAgICAgICAgJGlucHV0LXBhZGRpbmcteDtcbiRjdXN0b20tc2VsZWN0LWZvbnQtZmFtaWx5OiAgICAgICAgICRpbnB1dC1mb250LWZhbWlseTtcbiRjdXN0b20tc2VsZWN0LWZvbnQtc2l6ZTogICAgICAgICAgICRpbnB1dC1mb250LXNpemU7XG4kY3VzdG9tLXNlbGVjdC1oZWlnaHQ6ICAgICAgICAgICAgICAkaW5wdXQtaGVpZ2h0O1xuJGN1c3RvbS1zZWxlY3QtaW5kaWNhdG9yLXBhZGRpbmc6ICAgMXJlbTsgLy8gRXh0cmEgcGFkZGluZyB0byBhY2NvdW50IGZvciB0aGUgcHJlc2VuY2Ugb2YgdGhlIGJhY2tncm91bmQtaW1hZ2UgYmFzZWQgaW5kaWNhdG9yXG4kY3VzdG9tLXNlbGVjdC1mb250LXdlaWdodDogICAgICAgICAkaW5wdXQtZm9udC13ZWlnaHQ7XG4kY3VzdG9tLXNlbGVjdC1saW5lLWhlaWdodDogICAgICAgICAkaW5wdXQtbGluZS1oZWlnaHQ7XG4kY3VzdG9tLXNlbGVjdC1jb2xvcjogICAgICAgICAgICAgICAkaW5wdXQtY29sb3I7XG4kY3VzdG9tLXNlbGVjdC1kaXNhYmxlZC1jb2xvcjogICAgICAkZ3JheS02MDA7XG4kY3VzdG9tLXNlbGVjdC1iZzogICAgICAgICAgICAgICAgICAkaW5wdXQtYmc7XG4kY3VzdG9tLXNlbGVjdC1kaXNhYmxlZC1iZzogICAgICAgICAkZ3JheS0yMDA7XG4kY3VzdG9tLXNlbGVjdC1iZy1zaXplOiAgICAgICAgICAgICA4cHggMTBweDsgLy8gSW4gcGl4ZWxzIGJlY2F1c2UgaW1hZ2UgZGltZW5zaW9uc1xuJGN1c3RvbS1zZWxlY3QtaW5kaWNhdG9yLWNvbG9yOiAgICAgJGdyYXktODAwO1xuJGN1c3RvbS1zZWxlY3QtaW5kaWNhdG9yOiAgICAgICAgICAgdXJsKFwiZGF0YTppbWFnZS9zdmcreG1sLDxzdmcgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyB3aWR0aD0nNCcgaGVpZ2h0PSc1JyB2aWV3Qm94PScwIDAgNCA1Jz48cGF0aCBmaWxsPScjeyRjdXN0b20tc2VsZWN0LWluZGljYXRvci1jb2xvcn0nIGQ9J00yIDBMMCAyaDR6bTAgNUwwIDNoNHonLz48L3N2Zz5cIik7XG4kY3VzdG9tLXNlbGVjdC1iYWNrZ3JvdW5kOiAgICAgICAgICBlc2NhcGUtc3ZnKCRjdXN0b20tc2VsZWN0LWluZGljYXRvcikgbm8tcmVwZWF0IHJpZ2h0ICRjdXN0b20tc2VsZWN0LXBhZGRpbmcteCBjZW50ZXIgLyAkY3VzdG9tLXNlbGVjdC1iZy1zaXplOyAvLyBVc2VkIHNvIHdlIGNhbiBoYXZlIG11bHRpcGxlIGJhY2tncm91bmQgZWxlbWVudHMgKGUuZy4sIGFycm93IGFuZCBmZWVkYmFjayBpY29uKVxuXG4kY3VzdG9tLXNlbGVjdC1mZWVkYmFjay1pY29uLXBhZGRpbmctcmlnaHQ6IGFkZCgxZW0gKiAuNzUsICgyICogJGN1c3RvbS1zZWxlY3QtcGFkZGluZy15ICogLjc1KSArICRjdXN0b20tc2VsZWN0LXBhZGRpbmcteCArICRjdXN0b20tc2VsZWN0LWluZGljYXRvci1wYWRkaW5nKTtcbiRjdXN0b20tc2VsZWN0LWZlZWRiYWNrLWljb24tcG9zaXRpb246ICAgICAgY2VudGVyIHJpZ2h0ICgkY3VzdG9tLXNlbGVjdC1wYWRkaW5nLXggKyAkY3VzdG9tLXNlbGVjdC1pbmRpY2F0b3ItcGFkZGluZyk7XG4kY3VzdG9tLXNlbGVjdC1mZWVkYmFjay1pY29uLXNpemU6ICAgICAgICAgICRpbnB1dC1oZWlnaHQtaW5uZXItaGFsZiAkaW5wdXQtaGVpZ2h0LWlubmVyLWhhbGY7XG5cbiRjdXN0b20tc2VsZWN0LWJvcmRlci13aWR0aDogICAgICAgICRpbnB1dC1ib3JkZXItd2lkdGg7XG4kY3VzdG9tLXNlbGVjdC1ib3JkZXItY29sb3I6ICAgICAgICAkaW5wdXQtYm9yZGVyLWNvbG9yO1xuJGN1c3RvbS1zZWxlY3QtYm9yZGVyLXJhZGl1czogICAgICAgJGJvcmRlci1yYWRpdXM7XG4kY3VzdG9tLXNlbGVjdC1ib3gtc2hhZG93OiAgICAgICAgICBpbnNldCAwIDFweCAycHggcmdiYSgkYmxhY2ssIC4wNzUpO1xuXG4kY3VzdG9tLXNlbGVjdC1mb2N1cy1ib3JkZXItY29sb3I6ICAkaW5wdXQtZm9jdXMtYm9yZGVyLWNvbG9yO1xuJGN1c3RvbS1zZWxlY3QtZm9jdXMtd2lkdGg6ICAgICAgICAgJGlucHV0LWZvY3VzLXdpZHRoO1xuJGN1c3RvbS1zZWxlY3QtZm9jdXMtYm94LXNoYWRvdzogICAgMCAwIDAgJGN1c3RvbS1zZWxlY3QtZm9jdXMtd2lkdGggJGlucHV0LWJ0bi1mb2N1cy1jb2xvcjtcblxuJGN1c3RvbS1zZWxlY3QtcGFkZGluZy15LXNtOiAgICAgICAgJGlucHV0LXBhZGRpbmcteS1zbTtcbiRjdXN0b20tc2VsZWN0LXBhZGRpbmcteC1zbTogICAgICAgICRpbnB1dC1wYWRkaW5nLXgtc207XG4kY3VzdG9tLXNlbGVjdC1mb250LXNpemUtc206ICAgICAgICAkaW5wdXQtZm9udC1zaXplLXNtO1xuJGN1c3RvbS1zZWxlY3QtaGVpZ2h0LXNtOiAgICAgICAgICAgJGlucHV0LWhlaWdodC1zbTtcblxuJGN1c3RvbS1zZWxlY3QtcGFkZGluZy15LWxnOiAgICAgICAgJGlucHV0LXBhZGRpbmcteS1sZztcbiRjdXN0b20tc2VsZWN0LXBhZGRpbmcteC1sZzogICAgICAgICRpbnB1dC1wYWRkaW5nLXgtbGc7XG4kY3VzdG9tLXNlbGVjdC1mb250LXNpemUtbGc6ICAgICAgICAkaW5wdXQtZm9udC1zaXplLWxnO1xuJGN1c3RvbS1zZWxlY3QtaGVpZ2h0LWxnOiAgICAgICAgICAgJGlucHV0LWhlaWdodC1sZztcblxuJGN1c3RvbS1yYW5nZS10cmFjay13aWR0aDogICAgICAgICAgMTAwJTtcbiRjdXN0b20tcmFuZ2UtdHJhY2staGVpZ2h0OiAgICAgICAgIC41cmVtO1xuJGN1c3RvbS1yYW5nZS10cmFjay1jdXJzb3I6ICAgICAgICAgcG9pbnRlcjtcbiRjdXN0b20tcmFuZ2UtdHJhY2stYmc6ICAgICAgICAgICAgICRncmF5LTMwMDtcbiRjdXN0b20tcmFuZ2UtdHJhY2stYm9yZGVyLXJhZGl1czogIDFyZW07XG4kY3VzdG9tLXJhbmdlLXRyYWNrLWJveC1zaGFkb3c6ICAgICBpbnNldCAwIC4yNXJlbSAuMjVyZW0gcmdiYSgkYmxhY2ssIC4xKTtcblxuJGN1c3RvbS1yYW5nZS10aHVtYi13aWR0aDogICAgICAgICAgICAgICAgICAgMXJlbTtcbiRjdXN0b20tcmFuZ2UtdGh1bWItaGVpZ2h0OiAgICAgICAgICAgICAgICAgICRjdXN0b20tcmFuZ2UtdGh1bWItd2lkdGg7XG4kY3VzdG9tLXJhbmdlLXRodW1iLWJnOiAgICAgICAgICAgICAgICAgICAgICAkY29tcG9uZW50LWFjdGl2ZS1iZztcbiRjdXN0b20tcmFuZ2UtdGh1bWItYm9yZGVyOiAgICAgICAgICAgICAgICAgIDA7XG4kY3VzdG9tLXJhbmdlLXRodW1iLWJvcmRlci1yYWRpdXM6ICAgICAgICAgICAxcmVtO1xuJGN1c3RvbS1yYW5nZS10aHVtYi1ib3gtc2hhZG93OiAgICAgICAgICAgICAgMCAuMXJlbSAuMjVyZW0gcmdiYSgkYmxhY2ssIC4xKTtcbiRjdXN0b20tcmFuZ2UtdGh1bWItZm9jdXMtYm94LXNoYWRvdzogICAgICAgIDAgMCAwIDFweCAkYm9keS1iZywgJGlucHV0LWZvY3VzLWJveC1zaGFkb3c7XG4kY3VzdG9tLXJhbmdlLXRodW1iLWZvY3VzLWJveC1zaGFkb3ctd2lkdGg6ICAkaW5wdXQtZm9jdXMtd2lkdGg7IC8vIEZvciBmb2N1cyBib3ggc2hhZG93IGlzc3VlIGluIElFL0VkZ2VcbiRjdXN0b20tcmFuZ2UtdGh1bWItYWN0aXZlLWJnOiAgICAgICAgICAgICAgIGxpZ2h0ZW4oJGNvbXBvbmVudC1hY3RpdmUtYmcsIDM1JSk7XG4kY3VzdG9tLXJhbmdlLXRodW1iLWRpc2FibGVkLWJnOiAgICAgICAgICAgICAkZ3JheS01MDA7XG5cbiRjdXN0b20tZmlsZS1oZWlnaHQ6ICAgICAgICAgICAgICAgICRpbnB1dC1oZWlnaHQ7XG4kY3VzdG9tLWZpbGUtaGVpZ2h0LWlubmVyOiAgICAgICAgICAkaW5wdXQtaGVpZ2h0LWlubmVyO1xuJGN1c3RvbS1maWxlLWZvY3VzLWJvcmRlci1jb2xvcjogICAgJGlucHV0LWZvY3VzLWJvcmRlci1jb2xvcjtcbiRjdXN0b20tZmlsZS1mb2N1cy1ib3gtc2hhZG93OiAgICAgICRpbnB1dC1mb2N1cy1ib3gtc2hhZG93O1xuJGN1c3RvbS1maWxlLWRpc2FibGVkLWJnOiAgICAgICAgICAgJGlucHV0LWRpc2FibGVkLWJnO1xuXG4kY3VzdG9tLWZpbGUtcGFkZGluZy15OiAgICAgICAgICAgICAkaW5wdXQtcGFkZGluZy15O1xuJGN1c3RvbS1maWxlLXBhZGRpbmcteDogICAgICAgICAgICAgJGlucHV0LXBhZGRpbmcteDtcbiRjdXN0b20tZmlsZS1saW5lLWhlaWdodDogICAgICAgICAgICRpbnB1dC1saW5lLWhlaWdodDtcbiRjdXN0b20tZmlsZS1mb250LWZhbWlseTogICAgICAgICAgICRpbnB1dC1mb250LWZhbWlseTtcbiRjdXN0b20tZmlsZS1mb250LXdlaWdodDogICAgICAgICAgICRpbnB1dC1mb250LXdlaWdodDtcbiRjdXN0b20tZmlsZS1jb2xvcjogICAgICAgICAgICAgICAgICRpbnB1dC1jb2xvcjtcbiRjdXN0b20tZmlsZS1iZzogICAgICAgICAgICAgICAgICAgICRpbnB1dC1iZztcbiRjdXN0b20tZmlsZS1ib3JkZXItd2lkdGg6ICAgICAgICAgICRpbnB1dC1ib3JkZXItd2lkdGg7XG4kY3VzdG9tLWZpbGUtYm9yZGVyLWNvbG9yOiAgICAgICAgICAkaW5wdXQtYm9yZGVyLWNvbG9yO1xuJGN1c3RvbS1maWxlLWJvcmRlci1yYWRpdXM6ICAgICAgICAgJGlucHV0LWJvcmRlci1yYWRpdXM7XG4kY3VzdG9tLWZpbGUtYm94LXNoYWRvdzogICAgICAgICAgICAkaW5wdXQtYm94LXNoYWRvdztcbiRjdXN0b20tZmlsZS1idXR0b24tY29sb3I6ICAgICAgICAgICRjdXN0b20tZmlsZS1jb2xvcjtcbiRjdXN0b20tZmlsZS1idXR0b24tYmc6ICAgICAgICAgICAgICRpbnB1dC1ncm91cC1hZGRvbi1iZztcbiRjdXN0b20tZmlsZS10ZXh0OiAoXG4gICAgICAgIGVuOiBcIkJyb3dzZVwiXG4pO1xuXG5cbi8vIEZvcm0gdmFsaWRhdGlvblxuXG4kZm9ybS1mZWVkYmFjay1tYXJnaW4tdG9wOiAgICAgICAgICAkZm9ybS10ZXh0LW1hcmdpbi10b3A7XG4kZm9ybS1mZWVkYmFjay1mb250LXNpemU6ICAgICAgICAgICAkc21hbGwtZm9udC1zaXplO1xuJGZvcm0tZmVlZGJhY2stdmFsaWQtY29sb3I6ICAgICAgICAgdGhlbWUtY29sb3IoXCJzdWNjZXNzXCIpO1xuJGZvcm0tZmVlZGJhY2staW52YWxpZC1jb2xvcjogICAgICAgdGhlbWUtY29sb3IoXCJkYW5nZXJcIik7XG5cbiRmb3JtLWZlZWRiYWNrLWljb24tdmFsaWQtY29sb3I6ICAgICRmb3JtLWZlZWRiYWNrLXZhbGlkLWNvbG9yO1xuJGZvcm0tZmVlZGJhY2staWNvbi12YWxpZDogICAgICAgICAgdXJsKFwiZGF0YTppbWFnZS9zdmcreG1sLDxzdmcgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyB3aWR0aD0nOCcgaGVpZ2h0PSc4JyB2aWV3Qm94PScwIDAgOCA4Jz48cGF0aCBmaWxsPScjeyRmb3JtLWZlZWRiYWNrLWljb24tdmFsaWQtY29sb3J9JyBkPSdNMi4zIDYuNzNMLjYgNC41M2MtLjQtMS4wNC40Ni0xLjQgMS4xLS44bDEuMSAxLjQgMy40LTMuOGMuNi0uNjMgMS42LS4yNyAxLjIuN2wtNCA0LjZjLS40My41LS44LjQtMS4xLjF6Jy8+PC9zdmc+XCIpO1xuJGZvcm0tZmVlZGJhY2staWNvbi1pbnZhbGlkLWNvbG9yOiAgJGZvcm0tZmVlZGJhY2staW52YWxpZC1jb2xvcjtcbiRmb3JtLWZlZWRiYWNrLWljb24taW52YWxpZDogICAgICAgIHVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbCw8c3ZnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Zycgd2lkdGg9JzEyJyBoZWlnaHQ9JzEyJyBmaWxsPSdub25lJyBzdHJva2U9JyN7JGZvcm0tZmVlZGJhY2staWNvbi1pbnZhbGlkLWNvbG9yfScgdmlld0JveD0nMCAwIDEyIDEyJz48Y2lyY2xlIGN4PSc2JyBjeT0nNicgcj0nNC41Jy8+PHBhdGggc3Ryb2tlLWxpbmVqb2luPSdyb3VuZCcgZD0nTTUuOCAzLjZoLjRMNiA2LjV6Jy8+PGNpcmNsZSBjeD0nNicgY3k9JzguMicgcj0nLjYnIGZpbGw9JyN7JGZvcm0tZmVlZGJhY2staWNvbi1pbnZhbGlkLWNvbG9yfScgc3Ryb2tlPSdub25lJy8+PC9zdmc+XCIpO1xuXG4kZm9ybS12YWxpZGF0aW9uLXN0YXRlczogKCk7XG4vLyBzdHlsZWxpbnQtZGlzYWJsZS1uZXh0LWxpbmUgc2Nzcy9kb2xsYXItdmFyaWFibGUtZGVmYXVsdFxuJGZvcm0tdmFsaWRhdGlvbi1zdGF0ZXM6IG1hcC1tZXJnZShcbiAgICAgICAgICAgICAgICAoXG4gICAgICAgICAgICAgICAgICAgICAgICBcInZhbGlkXCI6IChcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCJjb2xvclwiOiAkZm9ybS1mZWVkYmFjay12YWxpZC1jb2xvcixcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCJpY29uXCI6ICRmb3JtLWZlZWRiYWNrLWljb24tdmFsaWRcbiAgICAgICAgICAgICAgICAgICAgICAgICksXG4gICAgICAgICAgICAgICAgICAgICAgICBcImludmFsaWRcIjogKFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcImNvbG9yXCI6ICRmb3JtLWZlZWRiYWNrLWludmFsaWQtY29sb3IsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwiaWNvblwiOiAkZm9ybS1mZWVkYmFjay1pY29uLWludmFsaWRcbiAgICAgICAgICAgICAgICAgICAgICAgICksXG4gICAgICAgICAgICAgICAgKSxcbiAgICAgICAgICAgICAgICAkZm9ybS12YWxpZGF0aW9uLXN0YXRlc1xuKTtcblxuLy8gWi1pbmRleCBtYXN0ZXIgbGlzdFxuLy9cbi8vIFdhcm5pbmc6IEF2b2lkIGN1c3RvbWl6aW5nIHRoZXNlIHZhbHVlcy4gVGhleSdyZSB1c2VkIGZvciBhIGJpcmQncyBleWUgdmlld1xuLy8gb2YgY29tcG9uZW50cyBkZXBlbmRlbnQgb24gdGhlIHotYXhpcyBhbmQgYXJlIGRlc2lnbmVkIHRvIGFsbCB3b3JrIHRvZ2V0aGVyLlxuXG4kemluZGV4LWRyb3Bkb3duOiAgICAgICAgICAgICAgICAgICAxMDAwO1xuJHppbmRleC1zdGlja3k6ICAgICAgICAgICAgICAgICAgICAgMTAyMDtcbiR6aW5kZXgtZml4ZWQ6ICAgICAgICAgICAgICAgICAgICAgIDEwMzA7XG4kemluZGV4LW1vZGFsLWJhY2tkcm9wOiAgICAgICAgICAgICAxMDQwO1xuJHppbmRleC1tb2RhbDogICAgICAgICAgICAgICAgICAgICAgMTA1MDtcbiR6aW5kZXgtcG9wb3ZlcjogICAgICAgICAgICAgICAgICAgIDEwNjA7XG4kemluZGV4LXRvb2x0aXA6ICAgICAgICAgICAgICAgICAgICAxMDcwO1xuXG5cbi8vIE5hdnNcblxuJG5hdi1saW5rLXBhZGRpbmcteTogICAgICAgICAgICAgICAgLjVyZW07XG4kbmF2LWxpbmstcGFkZGluZy14OiAgICAgICAgICAgICAgICAxcmVtO1xuJG5hdi1saW5rLWRpc2FibGVkLWNvbG9yOiAgICAgICAgICAgJGdyYXktNjAwO1xuXG4kbmF2LXRhYnMtYm9yZGVyLWNvbG9yOiAgICAgICAgICAgICAkZ3JheS0zMDA7XG4kbmF2LXRhYnMtYm9yZGVyLXdpZHRoOiAgICAgICAgICAgICAkYm9yZGVyLXdpZHRoO1xuJG5hdi10YWJzLWJvcmRlci1yYWRpdXM6ICAgICAgICAgICAgJGJvcmRlci1yYWRpdXM7XG4kbmF2LXRhYnMtbGluay1ob3Zlci1ib3JkZXItY29sb3I6ICAkZ3JheS0yMDAgJGdyYXktMjAwICRuYXYtdGFicy1ib3JkZXItY29sb3I7XG4kbmF2LXRhYnMtbGluay1hY3RpdmUtY29sb3I6ICAgICAgICAkZ3JheS03MDA7XG4kbmF2LXRhYnMtbGluay1hY3RpdmUtYmc6ICAgICAgICAgICAkYm9keS1iZztcbiRuYXYtdGFicy1saW5rLWFjdGl2ZS1ib3JkZXItY29sb3I6ICRncmF5LTMwMCAkZ3JheS0zMDAgJG5hdi10YWJzLWxpbmstYWN0aXZlLWJnO1xuXG4kbmF2LXBpbGxzLWJvcmRlci1yYWRpdXM6ICAgICAgICAgICAkYm9yZGVyLXJhZGl1cztcbiRuYXYtcGlsbHMtbGluay1hY3RpdmUtY29sb3I6ICAgICAgICRjb21wb25lbnQtYWN0aXZlLWNvbG9yO1xuJG5hdi1waWxscy1saW5rLWFjdGl2ZS1iZzogICAgICAgICAgJGNvbXBvbmVudC1hY3RpdmUtYmc7XG5cbiRuYXYtZGl2aWRlci1jb2xvcjogICAgICAgICAgICAgICAgICRncmF5LTIwMDtcbiRuYXYtZGl2aWRlci1tYXJnaW4teTogICAgICAgICAgICAgICRzcGFjZXIgLyAyO1xuXG5cbi8vIE5hdmJhclxuXG4kbmF2YmFyLXBhZGRpbmcteTogICAgICAgICAgICAgICAgICAkc3BhY2VyIC8gMjtcbiRuYXZiYXItcGFkZGluZy14OiAgICAgICAgICAgICAgICAgICRzcGFjZXI7XG5cbiRuYXZiYXItbmF2LWxpbmstcGFkZGluZy14OiAgICAgICAgIC41cmVtO1xuXG4kbmF2YmFyLWJyYW5kLWZvbnQtc2l6ZTogICAgICAgICAgICAkZm9udC1zaXplLWxnO1xuLy8gQ29tcHV0ZSB0aGUgbmF2YmFyLWJyYW5kIHBhZGRpbmcteSBzbyB0aGUgbmF2YmFyLWJyYW5kIHdpbGwgaGF2ZSB0aGUgc2FtZSBoZWlnaHQgYXMgbmF2YmFyLXRleHQgYW5kIG5hdi1saW5rXG4kbmF2LWxpbmstaGVpZ2h0OiAgICAgICAgICAgICAgICAgICAkZm9udC1zaXplLWJhc2UgKiAkbGluZS1oZWlnaHQtYmFzZSArICRuYXYtbGluay1wYWRkaW5nLXkgKiAyO1xuJG5hdmJhci1icmFuZC1oZWlnaHQ6ICAgICAgICAgICAgICAgJG5hdmJhci1icmFuZC1mb250LXNpemUgKiAkbGluZS1oZWlnaHQtYmFzZTtcbiRuYXZiYXItYnJhbmQtcGFkZGluZy15OiAgICAgICAgICAgICgkbmF2LWxpbmstaGVpZ2h0IC0gJG5hdmJhci1icmFuZC1oZWlnaHQpIC8gMjtcblxuJG5hdmJhci10b2dnbGVyLXBhZGRpbmcteTogICAgICAgICAgLjI1cmVtO1xuJG5hdmJhci10b2dnbGVyLXBhZGRpbmcteDogICAgICAgICAgLjc1cmVtO1xuJG5hdmJhci10b2dnbGVyLWZvbnQtc2l6ZTogICAgICAgICAgJGZvbnQtc2l6ZS1sZztcbiRuYXZiYXItdG9nZ2xlci1ib3JkZXItcmFkaXVzOiAgICAgICRidG4tYm9yZGVyLXJhZGl1cztcblxuJG5hdmJhci1kYXJrLWNvbG9yOiAgICAgICAgICAgICAgICAgcmdiYSgkd2hpdGUsIC41KTtcbiRuYXZiYXItZGFyay1ob3Zlci1jb2xvcjogICAgICAgICAgIHJnYmEoJHdoaXRlLCAuNzUpO1xuJG5hdmJhci1kYXJrLWFjdGl2ZS1jb2xvcjogICAgICAgICAgJHdoaXRlO1xuJG5hdmJhci1kYXJrLWRpc2FibGVkLWNvbG9yOiAgICAgICAgcmdiYSgkd2hpdGUsIC4yNSk7XG4kbmF2YmFyLWRhcmstdG9nZ2xlci1pY29uLWJnOiAgICAgICB1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWwsPHN2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHdpZHRoPSczMCcgaGVpZ2h0PSczMCcgdmlld0JveD0nMCAwIDMwIDMwJz48cGF0aCBzdHJva2U9JyN7JG5hdmJhci1kYXJrLWNvbG9yfScgc3Ryb2tlLWxpbmVjYXA9J3JvdW5kJyBzdHJva2UtbWl0ZXJsaW1pdD0nMTAnIHN0cm9rZS13aWR0aD0nMicgZD0nTTQgN2gyMk00IDE1aDIyTTQgMjNoMjInLz48L3N2Zz5cIik7XG4kbmF2YmFyLWRhcmstdG9nZ2xlci1ib3JkZXItY29sb3I6ICByZ2JhKCR3aGl0ZSwgLjEpO1xuXG4kbmF2YmFyLWxpZ2h0LWNvbG9yOiAgICAgICAgICAgICAgICByZ2JhKCRibGFjaywgLjUpO1xuJG5hdmJhci1saWdodC1ob3Zlci1jb2xvcjogICAgICAgICAgcmdiYSgkYmxhY2ssIC43KTtcbiRuYXZiYXItbGlnaHQtYWN0aXZlLWNvbG9yOiAgICAgICAgIHJnYmEoJGJsYWNrLCAuOSk7XG4kbmF2YmFyLWxpZ2h0LWRpc2FibGVkLWNvbG9yOiAgICAgICByZ2JhKCRibGFjaywgLjMpO1xuJG5hdmJhci1saWdodC10b2dnbGVyLWljb24tYmc6ICAgICAgdXJsKFwiZGF0YTppbWFnZS9zdmcreG1sLDxzdmcgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyB3aWR0aD0nMzAnIGhlaWdodD0nMzAnIHZpZXdCb3g9JzAgMCAzMCAzMCc+PHBhdGggc3Ryb2tlPScjeyRuYXZiYXItbGlnaHQtY29sb3J9JyBzdHJva2UtbGluZWNhcD0ncm91bmQnIHN0cm9rZS1taXRlcmxpbWl0PScxMCcgc3Ryb2tlLXdpZHRoPScyJyBkPSdNNCA3aDIyTTQgMTVoMjJNNCAyM2gyMicvPjwvc3ZnPlwiKTtcbiRuYXZiYXItbGlnaHQtdG9nZ2xlci1ib3JkZXItY29sb3I6IHJnYmEoJGJsYWNrLCAuMSk7XG5cbiRuYXZiYXItbGlnaHQtYnJhbmQtY29sb3I6ICAgICAgICAgICAgICAgICRuYXZiYXItbGlnaHQtYWN0aXZlLWNvbG9yO1xuJG5hdmJhci1saWdodC1icmFuZC1ob3Zlci1jb2xvcjogICAgICAgICAgJG5hdmJhci1saWdodC1hY3RpdmUtY29sb3I7XG4kbmF2YmFyLWRhcmstYnJhbmQtY29sb3I6ICAgICAgICAgICAgICAgICAkbmF2YmFyLWRhcmstYWN0aXZlLWNvbG9yO1xuJG5hdmJhci1kYXJrLWJyYW5kLWhvdmVyLWNvbG9yOiAgICAgICAgICAgJG5hdmJhci1kYXJrLWFjdGl2ZS1jb2xvcjtcblxuXG4vLyBEcm9wZG93bnNcbi8vXG4vLyBEcm9wZG93biBtZW51IGNvbnRhaW5lciBhbmQgY29udGVudHMuXG5cbiRkcm9wZG93bi1taW4td2lkdGg6ICAgICAgICAgICAgICAgIDEwcmVtO1xuJGRyb3Bkb3duLXBhZGRpbmcteTogICAgICAgICAgICAgICAgLjVyZW07XG4kZHJvcGRvd24tc3BhY2VyOiAgICAgICAgICAgICAgICAgICAuMTI1cmVtO1xuJGRyb3Bkb3duLWZvbnQtc2l6ZTogICAgICAgICAgICAgICAgJGZvbnQtc2l6ZS1iYXNlO1xuJGRyb3Bkb3duLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgJGJvZHktY29sb3I7XG4kZHJvcGRvd24tYmc6ICAgICAgICAgICAgICAgICAgICAgICAkd2hpdGU7XG4kZHJvcGRvd24tYm9yZGVyLWNvbG9yOiAgICAgICAgICAgICByZ2JhKCRibGFjaywgLjE1KTtcbiRkcm9wZG93bi1ib3JkZXItcmFkaXVzOiAgICAgICAgICAgICRib3JkZXItcmFkaXVzO1xuJGRyb3Bkb3duLWJvcmRlci13aWR0aDogICAgICAgICAgICAgJGJvcmRlci13aWR0aDtcbiRkcm9wZG93bi1pbm5lci1ib3JkZXItcmFkaXVzOiAgICAgIHN1YnRyYWN0KCRkcm9wZG93bi1ib3JkZXItcmFkaXVzLCAkZHJvcGRvd24tYm9yZGVyLXdpZHRoKTtcbiRkcm9wZG93bi1kaXZpZGVyLWJnOiAgICAgICAgICAgICAgICRncmF5LTIwMDtcbiRkcm9wZG93bi1kaXZpZGVyLW1hcmdpbi15OiAgICAgICAgICRuYXYtZGl2aWRlci1tYXJnaW4teTtcbiRkcm9wZG93bi1ib3gtc2hhZG93OiAgICAgICAgICAgICAgIDAgLjVyZW0gMXJlbSByZ2JhKCRibGFjaywgLjE3NSk7XG5cbiRkcm9wZG93bi1saW5rLWNvbG9yOiAgICAgICAgICAgICAgICRncmF5LTkwMDtcbiRkcm9wZG93bi1saW5rLWhvdmVyLWNvbG9yOiAgICAgICAgIGRhcmtlbigkZ3JheS05MDAsIDUlKTtcbiRkcm9wZG93bi1saW5rLWhvdmVyLWJnOiAgICAgICAgICAgICRncmF5LTEwMDtcblxuJGRyb3Bkb3duLWxpbmstYWN0aXZlLWNvbG9yOiAgICAgICAgJGNvbXBvbmVudC1hY3RpdmUtY29sb3I7XG4kZHJvcGRvd24tbGluay1hY3RpdmUtYmc6ICAgICAgICAgICAkY29tcG9uZW50LWFjdGl2ZS1iZztcblxuJGRyb3Bkb3duLWxpbmstZGlzYWJsZWQtY29sb3I6ICAgICAgJGdyYXktNjAwO1xuXG4kZHJvcGRvd24taXRlbS1wYWRkaW5nLXk6ICAgICAgICAgICAuMjVyZW07XG4kZHJvcGRvd24taXRlbS1wYWRkaW5nLXg6ICAgICAgICAgICAxLjVyZW07XG5cbiRkcm9wZG93bi1oZWFkZXItY29sb3I6ICAgICAgICAgICAgICRncmF5LTYwMDtcblxuXG4vLyBQYWdpbmF0aW9uXG5cbiRwYWdpbmF0aW9uLXBhZGRpbmcteTogICAgICAgICAgICAgIC41cmVtO1xuJHBhZ2luYXRpb24tcGFkZGluZy14OiAgICAgICAgICAgICAgLjc1cmVtO1xuJHBhZ2luYXRpb24tcGFkZGluZy15LXNtOiAgICAgICAgICAgLjI1cmVtO1xuJHBhZ2luYXRpb24tcGFkZGluZy14LXNtOiAgICAgICAgICAgLjVyZW07XG4kcGFnaW5hdGlvbi1wYWRkaW5nLXktbGc6ICAgICAgICAgICAuNzVyZW07XG4kcGFnaW5hdGlvbi1wYWRkaW5nLXgtbGc6ICAgICAgICAgICAxLjVyZW07XG4kcGFnaW5hdGlvbi1saW5lLWhlaWdodDogICAgICAgICAgICAxLjI1O1xuXG4kcGFnaW5hdGlvbi1jb2xvcjogICAgICAgICAgICAgICAgICAkbGluay1jb2xvcjtcbiRwYWdpbmF0aW9uLWJnOiAgICAgICAgICAgICAgICAgICAgICR3aGl0ZTtcbiRwYWdpbmF0aW9uLWJvcmRlci13aWR0aDogICAgICAgICAgICRib3JkZXItd2lkdGg7XG4kcGFnaW5hdGlvbi1ib3JkZXItY29sb3I6ICAgICAgICAgICAkZ3JheS0zMDA7XG5cbiRwYWdpbmF0aW9uLWZvY3VzLWJveC1zaGFkb3c6ICAgICAgICRpbnB1dC1idG4tZm9jdXMtYm94LXNoYWRvdztcbiRwYWdpbmF0aW9uLWZvY3VzLW91dGxpbmU6ICAgICAgICAgIDA7XG5cbiRwYWdpbmF0aW9uLWhvdmVyLWNvbG9yOiAgICAgICAgICAgICRsaW5rLWhvdmVyLWNvbG9yO1xuJHBhZ2luYXRpb24taG92ZXItYmc6ICAgICAgICAgICAgICAgJGdyYXktMjAwO1xuJHBhZ2luYXRpb24taG92ZXItYm9yZGVyLWNvbG9yOiAgICAgJGdyYXktMzAwO1xuXG4kcGFnaW5hdGlvbi1hY3RpdmUtY29sb3I6ICAgICAgICAgICAkY29tcG9uZW50LWFjdGl2ZS1jb2xvcjtcbiRwYWdpbmF0aW9uLWFjdGl2ZS1iZzogICAgICAgICAgICAgICRjb21wb25lbnQtYWN0aXZlLWJnO1xuJHBhZ2luYXRpb24tYWN0aXZlLWJvcmRlci1jb2xvcjogICAgJHBhZ2luYXRpb24tYWN0aXZlLWJnO1xuXG4kcGFnaW5hdGlvbi1kaXNhYmxlZC1jb2xvcjogICAgICAgICAkZ3JheS02MDA7XG4kcGFnaW5hdGlvbi1kaXNhYmxlZC1iZzogICAgICAgICAgICAkd2hpdGU7XG4kcGFnaW5hdGlvbi1kaXNhYmxlZC1ib3JkZXItY29sb3I6ICAkZ3JheS0zMDA7XG5cblxuLy8gSnVtYm90cm9uXG5cbiRqdW1ib3Ryb24tcGFkZGluZzogICAgICAgICAgICAgICAgIDJyZW07XG4kanVtYm90cm9uLWNvbG9yOiAgICAgICAgICAgICAgICAgICBudWxsO1xuJGp1bWJvdHJvbi1iZzogICAgICAgICAgICAgICAgICAgICAgJGdyYXktMjAwO1xuXG5cbi8vIENhcmRzXG5cbiRjYXJkLXNwYWNlci15OiAgICAgICAgICAgICAgICAgICAgIC43NXJlbTtcbiRjYXJkLXNwYWNlci14OiAgICAgICAgICAgICAgICAgICAgIDEuMjVyZW07XG4kY2FyZC1ib3JkZXItd2lkdGg6ICAgICAgICAgICAgICAgICAkYm9yZGVyLXdpZHRoO1xuJGNhcmQtYm9yZGVyLXJhZGl1czogICAgICAgICAgICAgICAgJGJvcmRlci1yYWRpdXM7XG4kY2FyZC1ib3JkZXItY29sb3I6ICAgICAgICAgICAgICAgICByZ2JhKCRibGFjaywgLjEyNSk7XG4kY2FyZC1pbm5lci1ib3JkZXItcmFkaXVzOiAgICAgICAgICBzdWJ0cmFjdCgkY2FyZC1ib3JkZXItcmFkaXVzLCAkY2FyZC1ib3JkZXItd2lkdGgpO1xuJGNhcmQtY2FwLWJnOiAgICAgICAgICAgICAgICAgICAgICAgcmdiYSgkYmxhY2ssIC4wMyk7XG4kY2FyZC1jYXAtY29sb3I6ICAgICAgICAgICAgICAgICAgICBudWxsO1xuJGNhcmQtaGVpZ2h0OiAgICAgICAgICAgICAgICAgICAgICAgbnVsbDtcbiRjYXJkLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICAgIG51bGw7XG4kY2FyZC1iZzogICAgICAgICAgICAgICAgICAgICAgICAgICAkd2hpdGU7XG5cbiRjYXJkLWltZy1vdmVybGF5LXBhZGRpbmc6ICAgICAgICAgIDEuMjVyZW07XG5cbiRjYXJkLWdyb3VwLW1hcmdpbjogICAgICAgICAgICAgICAgICRncmlkLWd1dHRlci13aWR0aCAvIDI7XG4kY2FyZC1kZWNrLW1hcmdpbjogICAgICAgICAgICAgICAgICAkY2FyZC1ncm91cC1tYXJnaW47XG5cbiRjYXJkLWNvbHVtbnMtY291bnQ6ICAgICAgICAgICAgICAgIDM7XG4kY2FyZC1jb2x1bW5zLWdhcDogICAgICAgICAgICAgICAgICAxLjI1cmVtO1xuJGNhcmQtY29sdW1ucy1tYXJnaW46ICAgICAgICAgICAgICAgJGNhcmQtc3BhY2VyLXk7XG5cblxuLy8gVG9vbHRpcHNcblxuJHRvb2x0aXAtZm9udC1zaXplOiAgICAgICAgICAgICAgICAgJGZvbnQtc2l6ZS1zbTtcbiR0b29sdGlwLW1heC13aWR0aDogICAgICAgICAgICAgICAgIDIwMHB4O1xuJHRvb2x0aXAtY29sb3I6ICAgICAgICAgICAgICAgICAgICAgJHdoaXRlO1xuJHRvb2x0aXAtYmc6ICAgICAgICAgICAgICAgICAgICAgICAgJGJsYWNrO1xuJHRvb2x0aXAtYm9yZGVyLXJhZGl1czogICAgICAgICAgICAgJGJvcmRlci1yYWRpdXM7XG4kdG9vbHRpcC1vcGFjaXR5OiAgICAgICAgICAgICAgICAgICAuOTtcbiR0b29sdGlwLXBhZGRpbmcteTogICAgICAgICAgICAgICAgIC4yNXJlbTtcbiR0b29sdGlwLXBhZGRpbmcteDogICAgICAgICAgICAgICAgIC41cmVtO1xuJHRvb2x0aXAtbWFyZ2luOiAgICAgICAgICAgICAgICAgICAgMDtcblxuJHRvb2x0aXAtYXJyb3ctd2lkdGg6ICAgICAgICAgICAgICAgLjhyZW07XG4kdG9vbHRpcC1hcnJvdy1oZWlnaHQ6ICAgICAgICAgICAgICAuNHJlbTtcbiR0b29sdGlwLWFycm93LWNvbG9yOiAgICAgICAgICAgICAgICR0b29sdGlwLWJnO1xuXG4vLyBGb3JtIHRvb2x0aXBzIG11c3QgY29tZSBhZnRlciByZWd1bGFyIHRvb2x0aXBzXG4kZm9ybS1mZWVkYmFjay10b29sdGlwLXBhZGRpbmcteTogICAgICR0b29sdGlwLXBhZGRpbmcteTtcbiRmb3JtLWZlZWRiYWNrLXRvb2x0aXAtcGFkZGluZy14OiAgICAgJHRvb2x0aXAtcGFkZGluZy14O1xuJGZvcm0tZmVlZGJhY2stdG9vbHRpcC1mb250LXNpemU6ICAgICAkdG9vbHRpcC1mb250LXNpemU7XG4kZm9ybS1mZWVkYmFjay10b29sdGlwLWxpbmUtaGVpZ2h0OiAgICRsaW5lLWhlaWdodC1iYXNlO1xuJGZvcm0tZmVlZGJhY2stdG9vbHRpcC1vcGFjaXR5OiAgICAgICAkdG9vbHRpcC1vcGFjaXR5O1xuJGZvcm0tZmVlZGJhY2stdG9vbHRpcC1ib3JkZXItcmFkaXVzOiAkdG9vbHRpcC1ib3JkZXItcmFkaXVzO1xuXG5cbi8vIFBvcG92ZXJzXG5cbiRwb3BvdmVyLWZvbnQtc2l6ZTogICAgICAgICAgICAgICAgICRmb250LXNpemUtc207XG4kcG9wb3Zlci1iZzogICAgICAgICAgICAgICAgICAgICAgICAkd2hpdGU7XG4kcG9wb3Zlci1tYXgtd2lkdGg6ICAgICAgICAgICAgICAgICAyNzZweDtcbiRwb3BvdmVyLWJvcmRlci13aWR0aDogICAgICAgICAgICAgICRib3JkZXItd2lkdGg7XG4kcG9wb3Zlci1ib3JkZXItY29sb3I6ICAgICAgICAgICAgICByZ2JhKCRibGFjaywgLjIpO1xuJHBvcG92ZXItYm9yZGVyLXJhZGl1czogICAgICAgICAgICAgJGJvcmRlci1yYWRpdXMtbGc7XG4kcG9wb3Zlci1pbm5lci1ib3JkZXItcmFkaXVzOiAgICAgICBzdWJ0cmFjdCgkcG9wb3Zlci1ib3JkZXItcmFkaXVzLCAkcG9wb3Zlci1ib3JkZXItd2lkdGgpO1xuJHBvcG92ZXItYm94LXNoYWRvdzogICAgICAgICAgICAgICAgMCAuMjVyZW0gLjVyZW0gcmdiYSgkYmxhY2ssIC4yKTtcblxuJHBvcG92ZXItaGVhZGVyLWJnOiAgICAgICAgICAgICAgICAgZGFya2VuKCRwb3BvdmVyLWJnLCAzJSk7XG4kcG9wb3Zlci1oZWFkZXItY29sb3I6ICAgICAgICAgICAgICAkaGVhZGluZ3MtY29sb3I7XG4kcG9wb3Zlci1oZWFkZXItcGFkZGluZy15OiAgICAgICAgICAuNXJlbTtcbiRwb3BvdmVyLWhlYWRlci1wYWRkaW5nLXg6ICAgICAgICAgIC43NXJlbTtcblxuJHBvcG92ZXItYm9keS1jb2xvcjogICAgICAgICAgICAgICAgJGJvZHktY29sb3I7XG4kcG9wb3Zlci1ib2R5LXBhZGRpbmcteTogICAgICAgICAgICAkcG9wb3Zlci1oZWFkZXItcGFkZGluZy15O1xuJHBvcG92ZXItYm9keS1wYWRkaW5nLXg6ICAgICAgICAgICAgJHBvcG92ZXItaGVhZGVyLXBhZGRpbmcteDtcblxuJHBvcG92ZXItYXJyb3ctd2lkdGg6ICAgICAgICAgICAgICAgMXJlbTtcbiRwb3BvdmVyLWFycm93LWhlaWdodDogICAgICAgICAgICAgIC41cmVtO1xuJHBvcG92ZXItYXJyb3ctY29sb3I6ICAgICAgICAgICAgICAgJHBvcG92ZXItYmc7XG5cbiRwb3BvdmVyLWFycm93LW91dGVyLWNvbG9yOiAgICAgICAgIGZhZGUtaW4oJHBvcG92ZXItYm9yZGVyLWNvbG9yLCAuMDUpO1xuXG5cbi8vIFRvYXN0c1xuXG4kdG9hc3QtbWF4LXdpZHRoOiAgICAgICAgICAgICAgICAgICAzNTBweDtcbiR0b2FzdC1wYWRkaW5nLXg6ICAgICAgICAgICAgICAgICAgIC43NXJlbTtcbiR0b2FzdC1wYWRkaW5nLXk6ICAgICAgICAgICAgICAgICAgIC4yNXJlbTtcbiR0b2FzdC1mb250LXNpemU6ICAgICAgICAgICAgICAgICAgIC44NzVyZW07XG4kdG9hc3QtY29sb3I6ICAgICAgICAgICAgICAgICAgICAgICBudWxsO1xuJHRvYXN0LWJhY2tncm91bmQtY29sb3I6ICAgICAgICAgICAgcmdiYSgkd2hpdGUsIC44NSk7XG4kdG9hc3QtYm9yZGVyLXdpZHRoOiAgICAgICAgICAgICAgICAxcHg7XG4kdG9hc3QtYm9yZGVyLWNvbG9yOiAgICAgICAgICAgICAgICByZ2JhKDAsIDAsIDAsIC4xKTtcbiR0b2FzdC1ib3JkZXItcmFkaXVzOiAgICAgICAgICAgICAgIC4yNXJlbTtcbiR0b2FzdC1ib3gtc2hhZG93OiAgICAgICAgICAgICAgICAgIDAgLjI1cmVtIC43NXJlbSByZ2JhKCRibGFjaywgLjEpO1xuXG4kdG9hc3QtaGVhZGVyLWNvbG9yOiAgICAgICAgICAgICAgICAkZ3JheS02MDA7XG4kdG9hc3QtaGVhZGVyLWJhY2tncm91bmQtY29sb3I6ICAgICByZ2JhKCR3aGl0ZSwgLjg1KTtcbiR0b2FzdC1oZWFkZXItYm9yZGVyLWNvbG9yOiAgICAgICAgIHJnYmEoMCwgMCwgMCwgLjA1KTtcblxuXG4vLyBCYWRnZXNcblxuJGJhZGdlLWZvbnQtc2l6ZTogICAgICAgICAgICAgICAgICAgNzUlO1xuJGJhZGdlLWZvbnQtd2VpZ2h0OiAgICAgICAgICAgICAgICAgJGZvbnQtd2VpZ2h0LWJvbGQ7XG4kYmFkZ2UtcGFkZGluZy15OiAgICAgICAgICAgICAgICAgICAuMjVlbTtcbiRiYWRnZS1wYWRkaW5nLXg6ICAgICAgICAgICAgICAgICAgIC40ZW07XG4kYmFkZ2UtYm9yZGVyLXJhZGl1czogICAgICAgICAgICAgICAkYm9yZGVyLXJhZGl1cztcblxuJGJhZGdlLXRyYW5zaXRpb246ICAgICAgICAgICAgICAgICAgJGJ0bi10cmFuc2l0aW9uO1xuJGJhZGdlLWZvY3VzLXdpZHRoOiAgICAgICAgICAgICAgICAgJGlucHV0LWJ0bi1mb2N1cy13aWR0aDtcblxuJGJhZGdlLXBpbGwtcGFkZGluZy14OiAgICAgICAgICAgICAgLjZlbTtcbi8vIFVzZSBhIGhpZ2hlciB0aGFuIG5vcm1hbCB2YWx1ZSB0byBlbnN1cmUgY29tcGxldGVseSByb3VuZGVkIGVkZ2VzIHdoZW5cbi8vIGN1c3RvbWl6aW5nIHBhZGRpbmcgb3IgZm9udC1zaXplIG9uIGxhYmVscy5cbiRiYWRnZS1waWxsLWJvcmRlci1yYWRpdXM6ICAgICAgICAgIDEwcmVtO1xuXG5cbi8vIE1vZGFsc1xuXG4vLyBQYWRkaW5nIGFwcGxpZWQgdG8gdGhlIG1vZGFsIGJvZHlcbiRtb2RhbC1pbm5lci1wYWRkaW5nOiAgICAgICAgICAgICAgIDFyZW07XG5cbi8vIE1hcmdpbiBiZXR3ZWVuIGVsZW1lbnRzIGluIGZvb3RlciwgbXVzdCBiZSBsb3dlciB0aGFuIG9yIGVxdWFsIHRvIDIgKiAkbW9kYWwtaW5uZXItcGFkZGluZ1xuJG1vZGFsLWZvb3Rlci1tYXJnaW4tYmV0d2VlbjogICAgICAgLjVyZW07XG5cbiRtb2RhbC1kaWFsb2ctbWFyZ2luOiAgICAgICAgICAgICAgIC41cmVtO1xuJG1vZGFsLWRpYWxvZy1tYXJnaW4teS1zbS11cDogICAgICAgMS43NXJlbTtcblxuJG1vZGFsLXRpdGxlLWxpbmUtaGVpZ2h0OiAgICAgICAgICAgJGxpbmUtaGVpZ2h0LWJhc2U7XG5cbiRtb2RhbC1jb250ZW50LWNvbG9yOiAgICAgICAgICAgICAgIG51bGw7XG4kbW9kYWwtY29udGVudC1iZzogICAgICAgICAgICAgICAgICAkd2hpdGU7XG4kbW9kYWwtY29udGVudC1ib3JkZXItY29sb3I6ICAgICAgICByZ2JhKCRibGFjaywgLjIpO1xuJG1vZGFsLWNvbnRlbnQtYm9yZGVyLXdpZHRoOiAgICAgICAgJGJvcmRlci13aWR0aDtcbiRtb2RhbC1jb250ZW50LWJvcmRlci1yYWRpdXM6ICAgICAgICRib3JkZXItcmFkaXVzLWxnO1xuJG1vZGFsLWNvbnRlbnQtaW5uZXItYm9yZGVyLXJhZGl1czogc3VidHJhY3QoJG1vZGFsLWNvbnRlbnQtYm9yZGVyLXJhZGl1cywgJG1vZGFsLWNvbnRlbnQtYm9yZGVyLXdpZHRoKTtcbiRtb2RhbC1jb250ZW50LWJveC1zaGFkb3cteHM6ICAgICAgIDAgLjI1cmVtIC41cmVtIHJnYmEoJGJsYWNrLCAuNSk7XG4kbW9kYWwtY29udGVudC1ib3gtc2hhZG93LXNtLXVwOiAgICAwIC41cmVtIDFyZW0gcmdiYSgkYmxhY2ssIC41KTtcblxuJG1vZGFsLWJhY2tkcm9wLWJnOiAgICAgICAgICAgICAgICAgJGJsYWNrO1xuJG1vZGFsLWJhY2tkcm9wLW9wYWNpdHk6ICAgICAgICAgICAgLjU7XG4kbW9kYWwtaGVhZGVyLWJvcmRlci1jb2xvcjogICAgICAgICAkYm9yZGVyLWNvbG9yO1xuJG1vZGFsLWZvb3Rlci1ib3JkZXItY29sb3I6ICAgICAgICAgJG1vZGFsLWhlYWRlci1ib3JkZXItY29sb3I7XG4kbW9kYWwtaGVhZGVyLWJvcmRlci13aWR0aDogICAgICAgICAkbW9kYWwtY29udGVudC1ib3JkZXItd2lkdGg7XG4kbW9kYWwtZm9vdGVyLWJvcmRlci13aWR0aDogICAgICAgICAkbW9kYWwtaGVhZGVyLWJvcmRlci13aWR0aDtcbiRtb2RhbC1oZWFkZXItcGFkZGluZy15OiAgICAgICAgICAgIDFyZW07XG4kbW9kYWwtaGVhZGVyLXBhZGRpbmcteDogICAgICAgICAgICAxcmVtO1xuJG1vZGFsLWhlYWRlci1wYWRkaW5nOiAgICAgICAgICAgICAgJG1vZGFsLWhlYWRlci1wYWRkaW5nLXkgJG1vZGFsLWhlYWRlci1wYWRkaW5nLXg7IC8vIEtlZXAgdGhpcyBmb3IgYmFja3dhcmRzIGNvbXBhdGliaWxpdHlcblxuJG1vZGFsLXhsOiAgICAgICAgICAgICAgICAgICAgICAgICAgMTE0MHB4O1xuJG1vZGFsLWxnOiAgICAgICAgICAgICAgICAgICAgICAgICAgODAwcHg7XG4kbW9kYWwtbWQ6ICAgICAgICAgICAgICAgICAgICAgICAgICA1MDBweDtcbiRtb2RhbC1zbTogICAgICAgICAgICAgICAgICAgICAgICAgIDMwMHB4O1xuXG4kbW9kYWwtZmFkZS10cmFuc2Zvcm06ICAgICAgICAgICAgICB0cmFuc2xhdGUoMCwgLTUwcHgpO1xuJG1vZGFsLXNob3ctdHJhbnNmb3JtOiAgICAgICAgICAgICAgbm9uZTtcbiRtb2RhbC10cmFuc2l0aW9uOiAgICAgICAgICAgICAgICAgIHRyYW5zZm9ybSAuM3MgZWFzZS1vdXQ7XG4kbW9kYWwtc2NhbGUtdHJhbnNmb3JtOiAgICAgICAgICAgICBzY2FsZSgxLjAyKTtcblxuXG4vLyBBbGVydHNcbi8vXG4vLyBEZWZpbmUgYWxlcnQgY29sb3JzLCBib3JkZXIgcmFkaXVzLCBhbmQgcGFkZGluZy5cblxuJGFsZXJ0LXBhZGRpbmcteTogICAgICAgICAgICAgICAgICAgLjc1cmVtO1xuJGFsZXJ0LXBhZGRpbmcteDogICAgICAgICAgICAgICAgICAgMS4yNXJlbTtcbiRhbGVydC1tYXJnaW4tYm90dG9tOiAgICAgICAgICAgICAgIDFyZW07XG4kYWxlcnQtYm9yZGVyLXJhZGl1czogICAgICAgICAgICAgICAkYm9yZGVyLXJhZGl1cztcbiRhbGVydC1saW5rLWZvbnQtd2VpZ2h0OiAgICAgICAgICAgICRmb250LXdlaWdodC1ib2xkO1xuJGFsZXJ0LWJvcmRlci13aWR0aDogICAgICAgICAgICAgICAgJGJvcmRlci13aWR0aDtcblxuJGFsZXJ0LWJnLWxldmVsOiAgICAgICAgICAgICAgICAgICAgLTEwO1xuJGFsZXJ0LWJvcmRlci1sZXZlbDogICAgICAgICAgICAgICAgLTk7XG4kYWxlcnQtY29sb3ItbGV2ZWw6ICAgICAgICAgICAgICAgICA2O1xuXG5cbi8vIFByb2dyZXNzIGJhcnNcblxuJHByb2dyZXNzLWhlaWdodDogICAgICAgICAgICAgICAgICAgMXJlbTtcbiRwcm9ncmVzcy1mb250LXNpemU6ICAgICAgICAgICAgICAgICRmb250LXNpemUtYmFzZSAqIC43NTtcbiRwcm9ncmVzcy1iZzogICAgICAgICAgICAgICAgICAgICAgICRncmF5LTIwMDtcbiRwcm9ncmVzcy1ib3JkZXItcmFkaXVzOiAgICAgICAgICAgICRib3JkZXItcmFkaXVzO1xuJHByb2dyZXNzLWJveC1zaGFkb3c6ICAgICAgICAgICAgICAgaW5zZXQgMCAuMXJlbSAuMXJlbSByZ2JhKCRibGFjaywgLjEpO1xuJHByb2dyZXNzLWJhci1jb2xvcjogICAgICAgICAgICAgICAgJHdoaXRlO1xuJHByb2dyZXNzLWJhci1iZzogICAgICAgICAgICAgICAgICAgdGhlbWUtY29sb3IoXCJwcmltYXJ5XCIpO1xuJHByb2dyZXNzLWJhci1hbmltYXRpb24tdGltaW5nOiAgICAgMXMgbGluZWFyIGluZmluaXRlO1xuJHByb2dyZXNzLWJhci10cmFuc2l0aW9uOiAgICAgICAgICAgd2lkdGggLjZzIGVhc2U7XG5cblxuLy8gTGlzdCBncm91cFxuXG4kbGlzdC1ncm91cC1jb2xvcjogICAgICAgICAgICAgICAgICBudWxsO1xuJGxpc3QtZ3JvdXAtYmc6ICAgICAgICAgICAgICAgICAgICAgJHdoaXRlO1xuJGxpc3QtZ3JvdXAtYm9yZGVyLWNvbG9yOiAgICAgICAgICAgcmdiYSgkYmxhY2ssIC4xMjUpO1xuJGxpc3QtZ3JvdXAtYm9yZGVyLXdpZHRoOiAgICAgICAgICAgJGJvcmRlci13aWR0aDtcbiRsaXN0LWdyb3VwLWJvcmRlci1yYWRpdXM6ICAgICAgICAgICRib3JkZXItcmFkaXVzO1xuXG4kbGlzdC1ncm91cC1pdGVtLXBhZGRpbmcteTogICAgICAgICAuNzVyZW07XG4kbGlzdC1ncm91cC1pdGVtLXBhZGRpbmcteDogICAgICAgICAxLjI1cmVtO1xuXG4kbGlzdC1ncm91cC1ob3Zlci1iZzogICAgICAgICAgICAgICAkZ3JheS0xMDA7XG4kbGlzdC1ncm91cC1hY3RpdmUtY29sb3I6ICAgICAgICAgICAkY29tcG9uZW50LWFjdGl2ZS1jb2xvcjtcbiRsaXN0LWdyb3VwLWFjdGl2ZS1iZzogICAgICAgICAgICAgICRjb21wb25lbnQtYWN0aXZlLWJnO1xuJGxpc3QtZ3JvdXAtYWN0aXZlLWJvcmRlci1jb2xvcjogICAgJGxpc3QtZ3JvdXAtYWN0aXZlLWJnO1xuXG4kbGlzdC1ncm91cC1kaXNhYmxlZC1jb2xvcjogICAgICAgICAkZ3JheS02MDA7XG4kbGlzdC1ncm91cC1kaXNhYmxlZC1iZzogICAgICAgICAgICAkbGlzdC1ncm91cC1iZztcblxuJGxpc3QtZ3JvdXAtYWN0aW9uLWNvbG9yOiAgICAgICAgICAgJGdyYXktNzAwO1xuJGxpc3QtZ3JvdXAtYWN0aW9uLWhvdmVyLWNvbG9yOiAgICAgJGxpc3QtZ3JvdXAtYWN0aW9uLWNvbG9yO1xuXG4kbGlzdC1ncm91cC1hY3Rpb24tYWN0aXZlLWNvbG9yOiAgICAkYm9keS1jb2xvcjtcbiRsaXN0LWdyb3VwLWFjdGlvbi1hY3RpdmUtYmc6ICAgICAgICRncmF5LTIwMDtcblxuXG4vLyBJbWFnZSB0aHVtYm5haWxzXG5cbiR0aHVtYm5haWwtcGFkZGluZzogICAgICAgICAgICAgICAgIC4yNXJlbTtcbiR0aHVtYm5haWwtYmc6ICAgICAgICAgICAgICAgICAgICAgICRib2R5LWJnO1xuJHRodW1ibmFpbC1ib3JkZXItd2lkdGg6ICAgICAgICAgICAgJGJvcmRlci13aWR0aDtcbiR0aHVtYm5haWwtYm9yZGVyLWNvbG9yOiAgICAgICAgICAgICRncmF5LTMwMDtcbiR0aHVtYm5haWwtYm9yZGVyLXJhZGl1czogICAgICAgICAgICRib3JkZXItcmFkaXVzO1xuJHRodW1ibmFpbC1ib3gtc2hhZG93OiAgICAgICAgICAgICAgMCAxcHggMnB4IHJnYmEoJGJsYWNrLCAuMDc1KTtcblxuXG4vLyBGaWd1cmVzXG5cbiRmaWd1cmUtY2FwdGlvbi1mb250LXNpemU6ICAgICAgICAgIDkwJTtcbiRmaWd1cmUtY2FwdGlvbi1jb2xvcjogICAgICAgICAgICAgICRncmF5LTYwMDtcblxuXG4vLyBCcmVhZGNydW1ic1xuXG4kYnJlYWRjcnVtYi1mb250LXNpemU6ICAgICAgICAgICAgICBudWxsO1xuXG4kYnJlYWRjcnVtYi1wYWRkaW5nLXk6ICAgICAgICAgICAgICAuNzVyZW07XG4kYnJlYWRjcnVtYi1wYWRkaW5nLXg6ICAgICAgICAgICAgICAxcmVtO1xuJGJyZWFkY3J1bWItaXRlbS1wYWRkaW5nOiAgICAgICAgICAgLjVyZW07XG5cbiRicmVhZGNydW1iLW1hcmdpbi1ib3R0b206ICAgICAgICAgIDFyZW07XG5cbiRicmVhZGNydW1iLWJnOiAgICAgICAgICAgICAgICAgICAgICRncmF5LTIwMDtcbiRicmVhZGNydW1iLWRpdmlkZXItY29sb3I6ICAgICAgICAgICRncmF5LTYwMDtcbiRicmVhZGNydW1iLWFjdGl2ZS1jb2xvcjogICAgICAgICAgICRncmF5LTYwMDtcbiRicmVhZGNydW1iLWRpdmlkZXI6ICAgICAgICAgICAgICAgIHF1b3RlKFwiL1wiKTtcblxuJGJyZWFkY3J1bWItYm9yZGVyLXJhZGl1czogICAgICAgICAgJGJvcmRlci1yYWRpdXM7XG5cblxuLy8gQ2Fyb3VzZWxcblxuJGNhcm91c2VsLWNvbnRyb2wtY29sb3I6ICAgICAgICAgICAgICR3aGl0ZTtcbiRjYXJvdXNlbC1jb250cm9sLXdpZHRoOiAgICAgICAgICAgICAxNSU7XG4kY2Fyb3VzZWwtY29udHJvbC1vcGFjaXR5OiAgICAgICAgICAgLjU7XG4kY2Fyb3VzZWwtY29udHJvbC1ob3Zlci1vcGFjaXR5OiAgICAgLjk7XG4kY2Fyb3VzZWwtY29udHJvbC10cmFuc2l0aW9uOiAgICAgICAgb3BhY2l0eSAuMTVzIGVhc2U7XG5cbiRjYXJvdXNlbC1pbmRpY2F0b3Itd2lkdGg6ICAgICAgICAgICAzMHB4O1xuJGNhcm91c2VsLWluZGljYXRvci1oZWlnaHQ6ICAgICAgICAgIDNweDtcbiRjYXJvdXNlbC1pbmRpY2F0b3ItaGl0LWFyZWEtaGVpZ2h0OiAxMHB4O1xuJGNhcm91c2VsLWluZGljYXRvci1zcGFjZXI6ICAgICAgICAgIDNweDtcbiRjYXJvdXNlbC1pbmRpY2F0b3ItYWN0aXZlLWJnOiAgICAgICAkd2hpdGU7XG4kY2Fyb3VzZWwtaW5kaWNhdG9yLXRyYW5zaXRpb246ICAgICAgb3BhY2l0eSAuNnMgZWFzZTtcblxuJGNhcm91c2VsLWNhcHRpb24td2lkdGg6ICAgICAgICAgICAgIDcwJTtcbiRjYXJvdXNlbC1jYXB0aW9uLWNvbG9yOiAgICAgICAgICAgICAkd2hpdGU7XG5cbiRjYXJvdXNlbC1jb250cm9sLWljb24td2lkdGg6ICAgICAgICAyMHB4O1xuXG4kY2Fyb3VzZWwtY29udHJvbC1wcmV2LWljb24tYmc6ICAgICAgdXJsKFwiZGF0YTppbWFnZS9zdmcreG1sLDxzdmcgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyBmaWxsPScjeyRjYXJvdXNlbC1jb250cm9sLWNvbG9yfScgd2lkdGg9JzgnIGhlaWdodD0nOCcgdmlld0JveD0nMCAwIDggOCc+PHBhdGggZD0nTTUuMjUgMGwtNCA0IDQgNCAxLjUtMS41TDQuMjUgNGwyLjUtMi41TDUuMjUgMHonLz48L3N2Zz5cIik7XG4kY2Fyb3VzZWwtY29udHJvbC1uZXh0LWljb24tYmc6ICAgICAgdXJsKFwiZGF0YTppbWFnZS9zdmcreG1sLDxzdmcgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyBmaWxsPScjeyRjYXJvdXNlbC1jb250cm9sLWNvbG9yfScgd2lkdGg9JzgnIGhlaWdodD0nOCcgdmlld0JveD0nMCAwIDggOCc+PHBhdGggZD0nTTIuNzUgMGwtMS41IDEuNUwzLjc1IDRsLTIuNSAyLjVMMi43NSA4bDQtNC00LTR6Jy8+PC9zdmc+XCIpO1xuXG4kY2Fyb3VzZWwtdHJhbnNpdGlvbi1kdXJhdGlvbjogICAgICAgLjZzO1xuJGNhcm91c2VsLXRyYW5zaXRpb246ICAgICAgICAgICAgICAgIHRyYW5zZm9ybSAkY2Fyb3VzZWwtdHJhbnNpdGlvbi1kdXJhdGlvbiBlYXNlLWluLW91dDsgLy8gRGVmaW5lIHRyYW5zZm9ybSB0cmFuc2l0aW9uIGZpcnN0IGlmIHVzaW5nIG11bHRpcGxlIHRyYW5zaXRpb25zIChlLmcuLCBgdHJhbnNmb3JtIDJzIGVhc2UsIG9wYWNpdHkgLjVzIGVhc2Utb3V0YClcblxuXG4vLyBTcGlubmVyc1xuXG4kc3Bpbm5lci13aWR0aDogICAgICAgICAycmVtO1xuJHNwaW5uZXItaGVpZ2h0OiAgICAgICAgJHNwaW5uZXItd2lkdGg7XG4kc3Bpbm5lci1ib3JkZXItd2lkdGg6ICAuMjVlbTtcblxuJHNwaW5uZXItd2lkdGgtc206ICAgICAgICAxcmVtO1xuJHNwaW5uZXItaGVpZ2h0LXNtOiAgICAgICAkc3Bpbm5lci13aWR0aC1zbTtcbiRzcGlubmVyLWJvcmRlci13aWR0aC1zbTogLjJlbTtcblxuXG4vLyBDbG9zZVxuXG4kY2xvc2UtZm9udC1zaXplOiAgICAgICAgICAgICAgICAgICAkZm9udC1zaXplLWJhc2UgKiAxLjU7XG4kY2xvc2UtZm9udC13ZWlnaHQ6ICAgICAgICAgICAgICAgICAkZm9udC13ZWlnaHQtYm9sZDtcbiRjbG9zZS1jb2xvcjogICAgICAgICAgICAgICAgICAgICAgICRibGFjaztcbiRjbG9zZS10ZXh0LXNoYWRvdzogICAgICAgICAgICAgICAgIDAgMXB4IDAgJHdoaXRlO1xuXG5cbi8vIENvZGVcblxuJGNvZGUtZm9udC1zaXplOiAgICAgICAgICAgICAgICAgICAgODcuNSU7XG4kY29kZS1jb2xvcjogICAgICAgICAgICAgICAgICAgICAgICAkcGluaztcblxuJGtiZC1wYWRkaW5nLXk6ICAgICAgICAgICAgICAgICAgICAgLjJyZW07XG4ka2JkLXBhZGRpbmcteDogICAgICAgICAgICAgICAgICAgICAuNHJlbTtcbiRrYmQtZm9udC1zaXplOiAgICAgICAgICAgICAgICAgICAgICRjb2RlLWZvbnQtc2l6ZTtcbiRrYmQtY29sb3I6ICAgICAgICAgICAgICAgICAgICAgICAgICR3aGl0ZTtcbiRrYmQtYmc6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICRncmF5LTkwMDtcblxuJHByZS1jb2xvcjogICAgICAgICAgICAgICAgICAgICAgICAgJGdyYXktOTAwO1xuJHByZS1zY3JvbGxhYmxlLW1heC1oZWlnaHQ6ICAgICAgICAgMzQwcHg7XG5cblxuLy8gVXRpbGl0aWVzXG5cbiRkaXNwbGF5czogbm9uZSwgaW5saW5lLCBpbmxpbmUtYmxvY2ssIGJsb2NrLCB0YWJsZSwgdGFibGUtcm93LCB0YWJsZS1jZWxsLCBmbGV4LCBpbmxpbmUtZmxleDtcbiRvdmVyZmxvd3M6IGF1dG8sIGhpZGRlbjtcbiRwb3NpdGlvbnM6IHN0YXRpYywgcmVsYXRpdmUsIGFic29sdXRlLCBmaXhlZCwgc3RpY2t5O1xuXG5cbi8vIFByaW50aW5nXG5cbiRwcmludC1wYWdlLXNpemU6ICAgICAgICAgICAgICAgICAgIGEzO1xuJHByaW50LWJvZHktbWluLXdpZHRoOiAgICAgICAgICAgICAgbWFwLWdldCgkZ3JpZC1icmVha3BvaW50cywgXCJsZ1wiKTtcblxuIiwiLmNsb3NlIHtcbiAgZmxvYXQ6IHJpZ2h0O1xuICBmb250LXNpemU6IDEuNXJlbTtcbiAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgbGluZS1oZWlnaHQ6IDE7XG4gIGNvbG9yOiAjMDAwO1xuICB0ZXh0LXNoYWRvdzogMCAxcHggMCAjZmZmO1xuICBvcGFjaXR5OiAwLjU7XG59XG5AbWVkaWEgKG1heC13aWR0aDogMTIwMHB4KSB7XG4gIC5jbG9zZSB7XG4gICAgZm9udC1zaXplOiBjYWxjKDEuMjc1cmVtICsgMC4zdncpO1xuICB9XG59XG4uY2xvc2U6aG92ZXIge1xuICBjb2xvcjogIzAwMDtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xufVxuLmNsb3NlOm5vdCg6ZGlzYWJsZWQpOm5vdCguZGlzYWJsZWQpOmhvdmVyLCAuY2xvc2U6bm90KDpkaXNhYmxlZCk6bm90KC5kaXNhYmxlZCk6Zm9jdXMge1xuICBvcGFjaXR5OiAwLjc1O1xufVxuXG5idXR0b24uY2xvc2Uge1xuICBwYWRkaW5nOiAwO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgYm9yZGVyOiAwO1xufVxuXG5hLmNsb3NlLmRpc2FibGVkIHtcbiAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG59XG5cbi50b2FzdCB7XG4gIGZsZXgtYmFzaXM6IDM1MHB4O1xuICBtYXgtd2lkdGg6IDM1MHB4O1xuICBmb250LXNpemU6IDAuODc1cmVtO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuODUpO1xuICBiYWNrZ3JvdW5kLWNsaXA6IHBhZGRpbmctYm94O1xuICBib3JkZXI6IDFweCBzb2xpZCByZ2JhKDAsIDAsIDAsIDAuMSk7XG4gIGJveC1zaGFkb3c6IDAgMC4yNXJlbSAwLjc1cmVtIHJnYmEoMCwgMCwgMCwgMC4xKTtcbiAgb3BhY2l0eTogMDtcbiAgYm9yZGVyLXJhZGl1czogMC4yNXJlbTtcbn1cbi50b2FzdDpub3QoOmxhc3QtY2hpbGQpIHtcbiAgbWFyZ2luLWJvdHRvbTogMC43NXJlbTtcbn1cbi50b2FzdC5zaG93aW5nIHtcbiAgb3BhY2l0eTogMTtcbn1cbi50b2FzdC5zaG93IHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIG9wYWNpdHk6IDE7XG59XG4udG9hc3QuaGlkZSB7XG4gIGRpc3BsYXk6IG5vbmU7XG59XG5cbi50b2FzdC1oZWFkZXIge1xuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBwYWRkaW5nOiAwLjI1cmVtIDAuNzVyZW07XG4gIGNvbG9yOiAjNmM3NTdkO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuODUpO1xuICBiYWNrZ3JvdW5kLWNsaXA6IHBhZGRpbmctYm94O1xuICBib3JkZXItYm90dG9tOiAxcHggc29saWQgcmdiYSgwLCAwLCAwLCAwLjA1KTtcbiAgYm9yZGVyLXRvcC1sZWZ0LXJhZGl1czogY2FsYygwLjI1cmVtIC0gMXB4KTtcbiAgYm9yZGVyLXRvcC1yaWdodC1yYWRpdXM6IGNhbGMoMC4yNXJlbSAtIDFweCk7XG59XG5cbi50b2FzdC1ib2R5IHtcbiAgcGFkZGluZzogMC43NXJlbTtcbn1cblxuLm1kYy10b3VjaC10YXJnZXQtd3JhcHBlciB7XG4gIGRpc3BsYXk6IGlubGluZTtcbn1cblxuQGtleWZyYW1lcyBtZGMtY2hlY2tib3gtdW5jaGVja2VkLWNoZWNrZWQtY2hlY2ttYXJrLXBhdGgge1xuICAwJSwgNTAlIHtcbiAgICBzdHJva2UtZGFzaG9mZnNldDogMjkuNzgzMzM4NTtcbiAgfVxuICA1MCUge1xuICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLCAwLCAwLjIsIDEpO1xuICB9XG4gIDEwMCUge1xuICAgIHN0cm9rZS1kYXNob2Zmc2V0OiAwO1xuICB9XG59XG5Aa2V5ZnJhbWVzIG1kYy1jaGVja2JveC11bmNoZWNrZWQtaW5kZXRlcm1pbmF0ZS1taXhlZG1hcmsge1xuICAwJSwgNjguMiUge1xuICAgIHRyYW5zZm9ybTogc2NhbGVYKDApO1xuICB9XG4gIDY4LjIlIHtcbiAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMCwgMCwgMCwgMSk7XG4gIH1cbiAgMTAwJSB7XG4gICAgdHJhbnNmb3JtOiBzY2FsZVgoMSk7XG4gIH1cbn1cbkBrZXlmcmFtZXMgbWRjLWNoZWNrYm94LWNoZWNrZWQtdW5jaGVja2VkLWNoZWNrbWFyay1wYXRoIHtcbiAgZnJvbSB7XG4gICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuNCwgMCwgMSwgMSk7XG4gICAgb3BhY2l0eTogMTtcbiAgICBzdHJva2UtZGFzaG9mZnNldDogMDtcbiAgfVxuICB0byB7XG4gICAgb3BhY2l0eTogMDtcbiAgICBzdHJva2UtZGFzaG9mZnNldDogLTI5Ljc4MzMzODU7XG4gIH1cbn1cbkBrZXlmcmFtZXMgbWRjLWNoZWNrYm94LWNoZWNrZWQtaW5kZXRlcm1pbmF0ZS1jaGVja21hcmsge1xuICBmcm9tIHtcbiAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMCwgMCwgMC4yLCAxKTtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZSgwZGVnKTtcbiAgICBvcGFjaXR5OiAxO1xuICB9XG4gIHRvIHtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZSg0NWRlZyk7XG4gICAgb3BhY2l0eTogMDtcbiAgfVxufVxuQGtleWZyYW1lcyBtZGMtY2hlY2tib3gtaW5kZXRlcm1pbmF0ZS1jaGVja2VkLWNoZWNrbWFyayB7XG4gIGZyb20ge1xuICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjE0LCAwLCAwLCAxKTtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZSg0NWRlZyk7XG4gICAgb3BhY2l0eTogMDtcbiAgfVxuICB0byB7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUoMzYwZGVnKTtcbiAgICBvcGFjaXR5OiAxO1xuICB9XG59XG5Aa2V5ZnJhbWVzIG1kYy1jaGVja2JveC1jaGVja2VkLWluZGV0ZXJtaW5hdGUtbWl4ZWRtYXJrIHtcbiAgZnJvbSB7XG4gICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogbWRjLWFuaW1hdGlvbi1kZWNlbGVyYXRpb24tY3VydmUtdGltaW5nLWZ1bmN0aW9uO1xuICAgIHRyYW5zZm9ybTogcm90YXRlKC00NWRlZyk7XG4gICAgb3BhY2l0eTogMDtcbiAgfVxuICB0byB7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUoMGRlZyk7XG4gICAgb3BhY2l0eTogMTtcbiAgfVxufVxuQGtleWZyYW1lcyBtZGMtY2hlY2tib3gtaW5kZXRlcm1pbmF0ZS1jaGVja2VkLW1peGVkbWFyayB7XG4gIGZyb20ge1xuICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjE0LCAwLCAwLCAxKTtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZSgwZGVnKTtcbiAgICBvcGFjaXR5OiAxO1xuICB9XG4gIHRvIHtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZSgzMTVkZWcpO1xuICAgIG9wYWNpdHk6IDA7XG4gIH1cbn1cbkBrZXlmcmFtZXMgbWRjLWNoZWNrYm94LWluZGV0ZXJtaW5hdGUtdW5jaGVja2VkLW1peGVkbWFyayB7XG4gIDAlIHtcbiAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBsaW5lYXI7XG4gICAgdHJhbnNmb3JtOiBzY2FsZVgoMSk7XG4gICAgb3BhY2l0eTogMTtcbiAgfVxuICAzMi44JSwgMTAwJSB7XG4gICAgdHJhbnNmb3JtOiBzY2FsZVgoMCk7XG4gICAgb3BhY2l0eTogMDtcbiAgfVxufVxuLm1kYy1jaGVja2JveCB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBmbGV4OiAwIDAgMThweDtcbiAgYm94LXNpemluZzogY29udGVudC1ib3g7XG4gIHdpZHRoOiAxOHB4O1xuICBoZWlnaHQ6IDE4cHg7XG4gIGxpbmUtaGVpZ2h0OiAwO1xuICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIHZlcnRpY2FsLWFsaWduOiBib3R0b207XG4gIHBhZGRpbmc6IDExcHg7XG59XG5cbi5tZGMtY2hlY2tib3ggLm1kYy1jaGVja2JveF9fbmF0aXZlLWNvbnRyb2w6Y2hlY2tlZCB+IC5tZGMtY2hlY2tib3hfX2JhY2tncm91bmQ6OmJlZm9yZSxcbi5tZGMtY2hlY2tib3ggLm1kYy1jaGVja2JveF9fbmF0aXZlLWNvbnRyb2w6aW5kZXRlcm1pbmF0ZSB+IC5tZGMtY2hlY2tib3hfX2JhY2tncm91bmQ6OmJlZm9yZSxcbi5tZGMtY2hlY2tib3ggLm1kYy1jaGVja2JveF9fbmF0aXZlLWNvbnRyb2xbZGF0YS1pbmRldGVybWluYXRlPXRydWVdIH4gLm1kYy1jaGVja2JveF9fYmFja2dyb3VuZDo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzAxODc4NjtcbiAgLyogQGFsdGVybmF0ZSAqL1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1tZGMtdGhlbWUtc2Vjb25kYXJ5LCAjMDE4Nzg2KTtcbn1cblxuLm1kYy1jaGVja2JveC5tZGMtY2hlY2tib3gtLXNlbGVjdGVkIC5tZGMtY2hlY2tib3hfX3JpcHBsZTo6YmVmb3JlLCAubWRjLWNoZWNrYm94Lm1kYy1jaGVja2JveC0tc2VsZWN0ZWQgLm1kYy1jaGVja2JveF9fcmlwcGxlOjphZnRlciB7XG4gIGJhY2tncm91bmQtY29sb3I6ICMwMTg3ODY7XG4gIC8qIEBhbHRlcm5hdGUgKi9cbiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tbWRjLXRoZW1lLXNlY29uZGFyeSwgIzAxODc4Nik7XG59XG5cbi5tZGMtY2hlY2tib3gubWRjLWNoZWNrYm94LS1zZWxlY3RlZDpob3ZlciAubWRjLWNoZWNrYm94X19yaXBwbGU6OmJlZm9yZSB7XG4gIG9wYWNpdHk6IDAuMDQ7XG59XG5cbi5tZGMtY2hlY2tib3gubWRjLWNoZWNrYm94LS1zZWxlY3RlZC5tZGMtcmlwcGxlLXVwZ3JhZGVkLS1iYWNrZ3JvdW5kLWZvY3VzZWQgLm1kYy1jaGVja2JveF9fcmlwcGxlOjpiZWZvcmUsIC5tZGMtY2hlY2tib3gubWRjLWNoZWNrYm94LS1zZWxlY3RlZDpub3QoLm1kYy1yaXBwbGUtdXBncmFkZWQpOmZvY3VzIC5tZGMtY2hlY2tib3hfX3JpcHBsZTo6YmVmb3JlIHtcbiAgdHJhbnNpdGlvbi1kdXJhdGlvbjogNzVtcztcbiAgb3BhY2l0eTogMC4xMjtcbn1cblxuLm1kYy1jaGVja2JveC5tZGMtY2hlY2tib3gtLXNlbGVjdGVkOm5vdCgubWRjLXJpcHBsZS11cGdyYWRlZCkgLm1kYy1jaGVja2JveF9fcmlwcGxlOjphZnRlciB7XG4gIHRyYW5zaXRpb246IG9wYWNpdHkgMTUwbXMgbGluZWFyO1xufVxuXG4ubWRjLWNoZWNrYm94Lm1kYy1jaGVja2JveC0tc2VsZWN0ZWQ6bm90KC5tZGMtcmlwcGxlLXVwZ3JhZGVkKTphY3RpdmUgLm1kYy1jaGVja2JveF9fcmlwcGxlOjphZnRlciB7XG4gIHRyYW5zaXRpb24tZHVyYXRpb246IDc1bXM7XG4gIG9wYWNpdHk6IDAuMTI7XG59XG5cbi5tZGMtY2hlY2tib3gubWRjLWNoZWNrYm94LS1zZWxlY3RlZC5tZGMtcmlwcGxlLXVwZ3JhZGVkIHtcbiAgLS1tZGMtcmlwcGxlLWZnLW9wYWNpdHk6IDAuMTI7XG59XG5cbi5tZGMtY2hlY2tib3gubWRjLXJpcHBsZS11cGdyYWRlZC0tYmFja2dyb3VuZC1mb2N1c2VkLm1kYy1jaGVja2JveC0tc2VsZWN0ZWQgLm1kYy1jaGVja2JveF9fcmlwcGxlOjpiZWZvcmUsXG4ubWRjLWNoZWNrYm94Lm1kYy1yaXBwbGUtdXBncmFkZWQtLWJhY2tncm91bmQtZm9jdXNlZC5tZGMtY2hlY2tib3gtLXNlbGVjdGVkIC5tZGMtY2hlY2tib3hfX3JpcHBsZTo6YWZ0ZXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDE4Nzg2O1xuICAvKiBAYWx0ZXJuYXRlICovXG4gIGJhY2tncm91bmQtY29sb3I6IHZhcigtLW1kYy10aGVtZS1zZWNvbmRhcnksICMwMTg3ODYpO1xufVxuXG4ubWRjLWNoZWNrYm94IC5tZGMtY2hlY2tib3hfX2JhY2tncm91bmQge1xuICB0b3A6IDExcHg7XG4gIGxlZnQ6IDExcHg7XG59XG5cbi5tZGMtY2hlY2tib3ggLm1kYy1jaGVja2JveF9fYmFja2dyb3VuZDo6YmVmb3JlIHtcbiAgdG9wOiAtMTNweDtcbiAgbGVmdDogLTEzcHg7XG4gIHdpZHRoOiA0MHB4O1xuICBoZWlnaHQ6IDQwcHg7XG59XG5cbi5tZGMtY2hlY2tib3ggLm1kYy1jaGVja2JveF9fbmF0aXZlLWNvbnRyb2wge1xuICB0b3A6IDBweDtcbiAgcmlnaHQ6IDBweDtcbiAgbGVmdDogMHB4O1xuICB3aWR0aDogNDBweDtcbiAgaGVpZ2h0OiA0MHB4O1xufVxuXG4ubWRjLWNoZWNrYm94X19uYXRpdmUtY29udHJvbDplbmFibGVkOm5vdCg6Y2hlY2tlZCk6bm90KDppbmRldGVybWluYXRlKTpub3QoW2RhdGEtaW5kZXRlcm1pbmF0ZT10cnVlXSkgfiAubWRjLWNoZWNrYm94X19iYWNrZ3JvdW5kIHtcbiAgYm9yZGVyLWNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuNTQpO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbn1cblxuLm1kYy1jaGVja2JveF9fbmF0aXZlLWNvbnRyb2w6ZW5hYmxlZDpjaGVja2VkIH4gLm1kYy1jaGVja2JveF9fYmFja2dyb3VuZCxcbi5tZGMtY2hlY2tib3hfX25hdGl2ZS1jb250cm9sOmVuYWJsZWQ6aW5kZXRlcm1pbmF0ZSB+IC5tZGMtY2hlY2tib3hfX2JhY2tncm91bmQsXG4ubWRjLWNoZWNrYm94X19uYXRpdmUtY29udHJvbFtkYXRhLWluZGV0ZXJtaW5hdGU9dHJ1ZV06ZW5hYmxlZCB+IC5tZGMtY2hlY2tib3hfX2JhY2tncm91bmQge1xuICBib3JkZXItY29sb3I6ICMwMTg3ODY7XG4gIC8qIEBhbHRlcm5hdGUgKi9cbiAgYm9yZGVyLWNvbG9yOiB2YXIoLS1tZGMtdGhlbWUtc2Vjb25kYXJ5LCAjMDE4Nzg2KTtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzAxODc4NjtcbiAgLyogQGFsdGVybmF0ZSAqL1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1tZGMtdGhlbWUtc2Vjb25kYXJ5LCAjMDE4Nzg2KTtcbn1cblxuQGtleWZyYW1lcyBtZGMtY2hlY2tib3gtZmFkZS1pbi1iYWNrZ3JvdW5kLThBMDAwMDAwc2Vjb25kYXJ5MDAwMDAwMDBzZWNvbmRhcnkge1xuICAwJSB7XG4gICAgYm9yZGVyLWNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuNTQpO1xuICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICB9XG4gIDUwJSB7XG4gICAgYm9yZGVyLWNvbG9yOiAjMDE4Nzg2O1xuICAgIC8qIEBhbHRlcm5hdGUgKi9cbiAgICBib3JkZXItY29sb3I6IHZhcigtLW1kYy10aGVtZS1zZWNvbmRhcnksICMwMTg3ODYpO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICMwMTg3ODY7XG4gICAgLyogQGFsdGVybmF0ZSAqL1xuICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLW1kYy10aGVtZS1zZWNvbmRhcnksICMwMTg3ODYpO1xuICB9XG59XG5Aa2V5ZnJhbWVzIG1kYy1jaGVja2JveC1mYWRlLW91dC1iYWNrZ3JvdW5kLThBMDAwMDAwc2Vjb25kYXJ5MDAwMDAwMDBzZWNvbmRhcnkge1xuICAwJSwgODAlIHtcbiAgICBib3JkZXItY29sb3I6ICMwMTg3ODY7XG4gICAgLyogQGFsdGVybmF0ZSAqL1xuICAgIGJvcmRlci1jb2xvcjogdmFyKC0tbWRjLXRoZW1lLXNlY29uZGFyeSwgIzAxODc4Nik7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzAxODc4NjtcbiAgICAvKiBAYWx0ZXJuYXRlICovXG4gICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tbWRjLXRoZW1lLXNlY29uZGFyeSwgIzAxODc4Nik7XG4gIH1cbiAgMTAwJSB7XG4gICAgYm9yZGVyLWNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuNTQpO1xuICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICB9XG59XG4ubWRjLWNoZWNrYm94LS1hbmltLXVuY2hlY2tlZC1jaGVja2VkIC5tZGMtY2hlY2tib3hfX25hdGl2ZS1jb250cm9sOmVuYWJsZWQgfiAubWRjLWNoZWNrYm94X19iYWNrZ3JvdW5kLCAubWRjLWNoZWNrYm94LS1hbmltLXVuY2hlY2tlZC1pbmRldGVybWluYXRlIC5tZGMtY2hlY2tib3hfX25hdGl2ZS1jb250cm9sOmVuYWJsZWQgfiAubWRjLWNoZWNrYm94X19iYWNrZ3JvdW5kIHtcbiAgYW5pbWF0aW9uLW5hbWU6IG1kYy1jaGVja2JveC1mYWRlLWluLWJhY2tncm91bmQtOEEwMDAwMDBzZWNvbmRhcnkwMDAwMDAwMHNlY29uZGFyeTtcbn1cblxuLm1kYy1jaGVja2JveC0tYW5pbS1jaGVja2VkLXVuY2hlY2tlZCAubWRjLWNoZWNrYm94X19uYXRpdmUtY29udHJvbDplbmFibGVkIH4gLm1kYy1jaGVja2JveF9fYmFja2dyb3VuZCwgLm1kYy1jaGVja2JveC0tYW5pbS1pbmRldGVybWluYXRlLXVuY2hlY2tlZCAubWRjLWNoZWNrYm94X19uYXRpdmUtY29udHJvbDplbmFibGVkIH4gLm1kYy1jaGVja2JveF9fYmFja2dyb3VuZCB7XG4gIGFuaW1hdGlvbi1uYW1lOiBtZGMtY2hlY2tib3gtZmFkZS1vdXQtYmFja2dyb3VuZC04QTAwMDAwMHNlY29uZGFyeTAwMDAwMDAwc2Vjb25kYXJ5O1xufVxuXG4ubWRjLWNoZWNrYm94X19uYXRpdmUtY29udHJvbFtkaXNhYmxlZF06bm90KDpjaGVja2VkKTpub3QoOmluZGV0ZXJtaW5hdGUpOm5vdChbZGF0YS1pbmRldGVybWluYXRlPXRydWVdKSB+IC5tZGMtY2hlY2tib3hfX2JhY2tncm91bmQge1xuICBib3JkZXItY29sb3I6IHJnYmEoMCwgMCwgMCwgMC4zOCk7XG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xufVxuXG4ubWRjLWNoZWNrYm94X19uYXRpdmUtY29udHJvbFtkaXNhYmxlZF06Y2hlY2tlZCB+IC5tZGMtY2hlY2tib3hfX2JhY2tncm91bmQsXG4ubWRjLWNoZWNrYm94X19uYXRpdmUtY29udHJvbFtkaXNhYmxlZF06aW5kZXRlcm1pbmF0ZSB+IC5tZGMtY2hlY2tib3hfX2JhY2tncm91bmQsXG4ubWRjLWNoZWNrYm94X19uYXRpdmUtY29udHJvbFtkYXRhLWluZGV0ZXJtaW5hdGU9dHJ1ZV1bZGlzYWJsZWRdIH4gLm1kYy1jaGVja2JveF9fYmFja2dyb3VuZCB7XG4gIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMCwgMCwgMCwgMC4zOCk7XG59XG5cbi5tZGMtY2hlY2tib3hfX25hdGl2ZS1jb250cm9sOmVuYWJsZWQgfiAubWRjLWNoZWNrYm94X19iYWNrZ3JvdW5kIC5tZGMtY2hlY2tib3hfX2NoZWNrbWFyayB7XG4gIGNvbG9yOiAjZmZmO1xufVxuXG4ubWRjLWNoZWNrYm94X19uYXRpdmUtY29udHJvbDplbmFibGVkIH4gLm1kYy1jaGVja2JveF9fYmFja2dyb3VuZCAubWRjLWNoZWNrYm94X19taXhlZG1hcmsge1xuICBib3JkZXItY29sb3I6ICNmZmY7XG59XG5cbi5tZGMtY2hlY2tib3hfX25hdGl2ZS1jb250cm9sOmRpc2FibGVkIH4gLm1kYy1jaGVja2JveF9fYmFja2dyb3VuZCAubWRjLWNoZWNrYm94X19jaGVja21hcmsge1xuICBjb2xvcjogI2ZmZjtcbn1cblxuLm1kYy1jaGVja2JveF9fbmF0aXZlLWNvbnRyb2w6ZGlzYWJsZWQgfiAubWRjLWNoZWNrYm94X19iYWNrZ3JvdW5kIC5tZGMtY2hlY2tib3hfX21peGVkbWFyayB7XG4gIGJvcmRlci1jb2xvcjogI2ZmZjtcbn1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKC1tcy1oaWdoLWNvbnRyYXN0OiBhY3RpdmUpIHtcbiAgLm1kYy1jaGVja2JveF9fbmF0aXZlLWNvbnRyb2xbZGlzYWJsZWRdOm5vdCg6Y2hlY2tlZCk6bm90KDppbmRldGVybWluYXRlKTpub3QoW2RhdGEtaW5kZXRlcm1pbmF0ZT10cnVlXSkgfiAubWRjLWNoZWNrYm94X19iYWNrZ3JvdW5kIHtcbiAgICBib3JkZXItY29sb3I6IEdyYXlUZXh0O1xuICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICB9XG4gIC5tZGMtY2hlY2tib3hfX25hdGl2ZS1jb250cm9sW2Rpc2FibGVkXTpjaGVja2VkIH4gLm1kYy1jaGVja2JveF9fYmFja2dyb3VuZCxcbiAgLm1kYy1jaGVja2JveF9fbmF0aXZlLWNvbnRyb2xbZGlzYWJsZWRdOmluZGV0ZXJtaW5hdGUgfiAubWRjLWNoZWNrYm94X19iYWNrZ3JvdW5kLFxuICAubWRjLWNoZWNrYm94X19uYXRpdmUtY29udHJvbFtkYXRhLWluZGV0ZXJtaW5hdGU9dHJ1ZV1bZGlzYWJsZWRdIH4gLm1kYy1jaGVja2JveF9fYmFja2dyb3VuZCB7XG4gICAgYm9yZGVyLWNvbG9yOiBHcmF5VGV4dDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgfVxuICAubWRjLWNoZWNrYm94X19uYXRpdmUtY29udHJvbDpkaXNhYmxlZCB+IC5tZGMtY2hlY2tib3hfX2JhY2tncm91bmQgLm1kYy1jaGVja2JveF9fY2hlY2ttYXJrIHtcbiAgICBjb2xvcjogR3JheVRleHQ7XG4gIH1cbiAgLm1kYy1jaGVja2JveF9fbmF0aXZlLWNvbnRyb2w6ZGlzYWJsZWQgfiAubWRjLWNoZWNrYm94X19iYWNrZ3JvdW5kIC5tZGMtY2hlY2tib3hfX21peGVkbWFyayB7XG4gICAgYm9yZGVyLWNvbG9yOiBHcmF5VGV4dDtcbiAgfVxuICAubWRjLWNoZWNrYm94X19taXhlZG1hcmsge1xuICAgIG1hcmdpbjogMCAxcHg7XG4gIH1cbn1cbi5tZGMtY2hlY2tib3gtLWRpc2FibGVkIHtcbiAgY3Vyc29yOiBkZWZhdWx0O1xuICBwb2ludGVyLWV2ZW50czogbm9uZTtcbn1cblxuLm1kYy1jaGVja2JveF9fYmFja2dyb3VuZCB7XG4gIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICB3aWR0aDogMThweDtcbiAgaGVpZ2h0OiAxOHB4O1xuICBib3JkZXI6IDJweCBzb2xpZCBjdXJyZW50Q29sb3I7XG4gIGJvcmRlci1yYWRpdXM6IDJweDtcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICB3aWxsLWNoYW5nZTogYmFja2dyb3VuZC1jb2xvciwgYm9yZGVyLWNvbG9yO1xuICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDkwbXMgMG1zIGN1YmljLWJlemllcigwLjQsIDAsIDAuNiwgMSksIGJvcmRlci1jb2xvciA5MG1zIDBtcyBjdWJpYy1iZXppZXIoMC40LCAwLCAwLjYsIDEpO1xufVxuXG4ubWRjLWNoZWNrYm94X19iYWNrZ3JvdW5kIC5tZGMtY2hlY2tib3hfX2JhY2tncm91bmQ6OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtY29sb3I6ICMwMDA7XG4gIC8qIEBhbHRlcm5hdGUgKi9cbiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tbWRjLXRoZW1lLW9uLXN1cmZhY2UsICMwMDApO1xufVxuXG4ubWRjLWNoZWNrYm94X19jaGVja21hcmsge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMDtcbiAgcmlnaHQ6IDA7XG4gIGJvdHRvbTogMDtcbiAgbGVmdDogMDtcbiAgd2lkdGg6IDEwMCU7XG4gIG9wYWNpdHk6IDA7XG4gIHRyYW5zaXRpb246IG9wYWNpdHkgMTgwbXMgMG1zIGN1YmljLWJlemllcigwLjQsIDAsIDAuNiwgMSk7XG59XG5cbi5tZGMtY2hlY2tib3gtLXVwZ3JhZGVkIC5tZGMtY2hlY2tib3hfX2NoZWNrbWFyayB7XG4gIG9wYWNpdHk6IDE7XG59XG5cbi5tZGMtY2hlY2tib3hfX2NoZWNrbWFyay1wYXRoIHtcbiAgdHJhbnNpdGlvbjogc3Ryb2tlLWRhc2hvZmZzZXQgMTgwbXMgMG1zIGN1YmljLWJlemllcigwLjQsIDAsIDAuNiwgMSk7XG4gIHN0cm9rZTogY3VycmVudENvbG9yO1xuICBzdHJva2Utd2lkdGg6IDMuMTJweDtcbiAgc3Ryb2tlLWRhc2hvZmZzZXQ6IDI5Ljc4MzMzODU7XG4gIHN0cm9rZS1kYXNoYXJyYXk6IDI5Ljc4MzMzODU7XG59XG5cbi5tZGMtY2hlY2tib3hfX21peGVkbWFyayB7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDA7XG4gIHRyYW5zZm9ybTogc2NhbGVYKDApIHJvdGF0ZSgwZGVnKTtcbiAgYm9yZGVyLXdpZHRoOiAxcHg7XG4gIGJvcmRlci1zdHlsZTogc29saWQ7XG4gIG9wYWNpdHk6IDA7XG4gIHRyYW5zaXRpb246IG9wYWNpdHkgOTBtcyAwbXMgY3ViaWMtYmV6aWVyKDAuNCwgMCwgMC42LCAxKSwgdHJhbnNmb3JtIDkwbXMgMG1zIGN1YmljLWJlemllcigwLjQsIDAsIDAuNiwgMSk7XG59XG5cbi5tZGMtY2hlY2tib3gtLXVwZ3JhZGVkIC5tZGMtY2hlY2tib3hfX2JhY2tncm91bmQsXG4ubWRjLWNoZWNrYm94LS11cGdyYWRlZCAubWRjLWNoZWNrYm94X19jaGVja21hcmssXG4ubWRjLWNoZWNrYm94LS11cGdyYWRlZCAubWRjLWNoZWNrYm94X19jaGVja21hcmstcGF0aCxcbi5tZGMtY2hlY2tib3gtLXVwZ3JhZGVkIC5tZGMtY2hlY2tib3hfX21peGVkbWFyayB7XG4gIHRyYW5zaXRpb246IG5vbmUgIWltcG9ydGFudDtcbn1cblxuLm1kYy1jaGVja2JveC0tYW5pbS11bmNoZWNrZWQtY2hlY2tlZCAubWRjLWNoZWNrYm94X19iYWNrZ3JvdW5kLCAubWRjLWNoZWNrYm94LS1hbmltLXVuY2hlY2tlZC1pbmRldGVybWluYXRlIC5tZGMtY2hlY2tib3hfX2JhY2tncm91bmQsIC5tZGMtY2hlY2tib3gtLWFuaW0tY2hlY2tlZC11bmNoZWNrZWQgLm1kYy1jaGVja2JveF9fYmFja2dyb3VuZCwgLm1kYy1jaGVja2JveC0tYW5pbS1pbmRldGVybWluYXRlLXVuY2hlY2tlZCAubWRjLWNoZWNrYm94X19iYWNrZ3JvdW5kIHtcbiAgYW5pbWF0aW9uLWR1cmF0aW9uOiAxODBtcztcbiAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogbGluZWFyO1xufVxuXG4ubWRjLWNoZWNrYm94LS1hbmltLXVuY2hlY2tlZC1jaGVja2VkIC5tZGMtY2hlY2tib3hfX2NoZWNrbWFyay1wYXRoIHtcbiAgYW5pbWF0aW9uOiBtZGMtY2hlY2tib3gtdW5jaGVja2VkLWNoZWNrZWQtY2hlY2ttYXJrLXBhdGggMTgwbXMgbGluZWFyIDBzO1xuICB0cmFuc2l0aW9uOiBub25lO1xufVxuXG4ubWRjLWNoZWNrYm94LS1hbmltLXVuY2hlY2tlZC1pbmRldGVybWluYXRlIC5tZGMtY2hlY2tib3hfX21peGVkbWFyayB7XG4gIGFuaW1hdGlvbjogbWRjLWNoZWNrYm94LXVuY2hlY2tlZC1pbmRldGVybWluYXRlLW1peGVkbWFyayA5MG1zIGxpbmVhciAwcztcbiAgdHJhbnNpdGlvbjogbm9uZTtcbn1cblxuLm1kYy1jaGVja2JveC0tYW5pbS1jaGVja2VkLXVuY2hlY2tlZCAubWRjLWNoZWNrYm94X19jaGVja21hcmstcGF0aCB7XG4gIGFuaW1hdGlvbjogbWRjLWNoZWNrYm94LWNoZWNrZWQtdW5jaGVja2VkLWNoZWNrbWFyay1wYXRoIDkwbXMgbGluZWFyIDBzO1xuICB0cmFuc2l0aW9uOiBub25lO1xufVxuXG4ubWRjLWNoZWNrYm94LS1hbmltLWNoZWNrZWQtaW5kZXRlcm1pbmF0ZSAubWRjLWNoZWNrYm94X19jaGVja21hcmsge1xuICBhbmltYXRpb246IG1kYy1jaGVja2JveC1jaGVja2VkLWluZGV0ZXJtaW5hdGUtY2hlY2ttYXJrIDkwbXMgbGluZWFyIDBzO1xuICB0cmFuc2l0aW9uOiBub25lO1xufVxuXG4ubWRjLWNoZWNrYm94LS1hbmltLWNoZWNrZWQtaW5kZXRlcm1pbmF0ZSAubWRjLWNoZWNrYm94X19taXhlZG1hcmsge1xuICBhbmltYXRpb246IG1kYy1jaGVja2JveC1jaGVja2VkLWluZGV0ZXJtaW5hdGUtbWl4ZWRtYXJrIDkwbXMgbGluZWFyIDBzO1xuICB0cmFuc2l0aW9uOiBub25lO1xufVxuXG4ubWRjLWNoZWNrYm94LS1hbmltLWluZGV0ZXJtaW5hdGUtY2hlY2tlZCAubWRjLWNoZWNrYm94X19jaGVja21hcmsge1xuICBhbmltYXRpb246IG1kYy1jaGVja2JveC1pbmRldGVybWluYXRlLWNoZWNrZWQtY2hlY2ttYXJrIDUwMG1zIGxpbmVhciAwcztcbiAgdHJhbnNpdGlvbjogbm9uZTtcbn1cblxuLm1kYy1jaGVja2JveC0tYW5pbS1pbmRldGVybWluYXRlLWNoZWNrZWQgLm1kYy1jaGVja2JveF9fbWl4ZWRtYXJrIHtcbiAgYW5pbWF0aW9uOiBtZGMtY2hlY2tib3gtaW5kZXRlcm1pbmF0ZS1jaGVja2VkLW1peGVkbWFyayA1MDBtcyBsaW5lYXIgMHM7XG4gIHRyYW5zaXRpb246IG5vbmU7XG59XG5cbi5tZGMtY2hlY2tib3gtLWFuaW0taW5kZXRlcm1pbmF0ZS11bmNoZWNrZWQgLm1kYy1jaGVja2JveF9fbWl4ZWRtYXJrIHtcbiAgYW5pbWF0aW9uOiBtZGMtY2hlY2tib3gtaW5kZXRlcm1pbmF0ZS11bmNoZWNrZWQtbWl4ZWRtYXJrIDMwMG1zIGxpbmVhciAwcztcbiAgdHJhbnNpdGlvbjogbm9uZTtcbn1cblxuLm1kYy1jaGVja2JveF9fbmF0aXZlLWNvbnRyb2w6Y2hlY2tlZCB+IC5tZGMtY2hlY2tib3hfX2JhY2tncm91bmQsXG4ubWRjLWNoZWNrYm94X19uYXRpdmUtY29udHJvbDppbmRldGVybWluYXRlIH4gLm1kYy1jaGVja2JveF9fYmFja2dyb3VuZCxcbi5tZGMtY2hlY2tib3hfX25hdGl2ZS1jb250cm9sW2RhdGEtaW5kZXRlcm1pbmF0ZT10cnVlXSB+IC5tZGMtY2hlY2tib3hfX2JhY2tncm91bmQge1xuICB0cmFuc2l0aW9uOiBib3JkZXItY29sb3IgOTBtcyAwbXMgY3ViaWMtYmV6aWVyKDAsIDAsIDAuMiwgMSksIGJhY2tncm91bmQtY29sb3IgOTBtcyAwbXMgY3ViaWMtYmV6aWVyKDAsIDAsIDAuMiwgMSk7XG59XG5cbi5tZGMtY2hlY2tib3hfX25hdGl2ZS1jb250cm9sOmNoZWNrZWQgfiAubWRjLWNoZWNrYm94X19iYWNrZ3JvdW5kIC5tZGMtY2hlY2tib3hfX2NoZWNrbWFyay1wYXRoLFxuLm1kYy1jaGVja2JveF9fbmF0aXZlLWNvbnRyb2w6aW5kZXRlcm1pbmF0ZSB+IC5tZGMtY2hlY2tib3hfX2JhY2tncm91bmQgLm1kYy1jaGVja2JveF9fY2hlY2ttYXJrLXBhdGgsXG4ubWRjLWNoZWNrYm94X19uYXRpdmUtY29udHJvbFtkYXRhLWluZGV0ZXJtaW5hdGU9dHJ1ZV0gfiAubWRjLWNoZWNrYm94X19iYWNrZ3JvdW5kIC5tZGMtY2hlY2tib3hfX2NoZWNrbWFyay1wYXRoIHtcbiAgc3Ryb2tlLWRhc2hvZmZzZXQ6IDA7XG59XG5cbi5tZGMtY2hlY2tib3hfX2JhY2tncm91bmQ6OmJlZm9yZSB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdHJhbnNmb3JtOiBzY2FsZSgwLCAwKTtcbiAgYm9yZGVyLXJhZGl1czogNTAlO1xuICBvcGFjaXR5OiAwO1xuICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgY29udGVudDogXCJcIjtcbiAgd2lsbC1jaGFuZ2U6IG9wYWNpdHksIHRyYW5zZm9ybTtcbiAgdHJhbnNpdGlvbjogb3BhY2l0eSA5MG1zIDBtcyBjdWJpYy1iZXppZXIoMC40LCAwLCAwLjYsIDEpLCB0cmFuc2Zvcm0gOTBtcyAwbXMgY3ViaWMtYmV6aWVyKDAuNCwgMCwgMC42LCAxKTtcbn1cblxuLm1kYy1jaGVja2JveF9fbmF0aXZlLWNvbnRyb2w6Zm9jdXMgfiAubWRjLWNoZWNrYm94X19iYWNrZ3JvdW5kOjpiZWZvcmUge1xuICB0cmFuc2Zvcm06IHNjYWxlKDEpO1xuICBvcGFjaXR5OiAwLjEyO1xuICB0cmFuc2l0aW9uOiBvcGFjaXR5IDgwbXMgMG1zIGN1YmljLWJlemllcigwLCAwLCAwLjIsIDEpLCB0cmFuc2Zvcm0gODBtcyAwbXMgY3ViaWMtYmV6aWVyKDAsIDAsIDAuMiwgMSk7XG59XG5cbi5tZGMtY2hlY2tib3hfX25hdGl2ZS1jb250cm9sIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBtYXJnaW46IDA7XG4gIHBhZGRpbmc6IDA7XG4gIG9wYWNpdHk6IDA7XG4gIGN1cnNvcjogaW5oZXJpdDtcbn1cblxuLm1kYy1jaGVja2JveF9fbmF0aXZlLWNvbnRyb2w6ZGlzYWJsZWQge1xuICBjdXJzb3I6IGRlZmF1bHQ7XG4gIHBvaW50ZXItZXZlbnRzOiBub25lO1xufVxuXG4ubWRjLWNoZWNrYm94LS10b3VjaCB7XG4gIG1hcmdpbi10b3A6IDRweDtcbiAgbWFyZ2luLWJvdHRvbTogNHB4O1xuICBtYXJnaW4tcmlnaHQ6IDRweDtcbiAgbWFyZ2luLWxlZnQ6IDRweDtcbn1cblxuLm1kYy1jaGVja2JveC0tdG91Y2ggLm1kYy1jaGVja2JveF9fbmF0aXZlLWNvbnRyb2wge1xuICB0b3A6IC00cHg7XG4gIHJpZ2h0OiAtNHB4O1xuICBsZWZ0OiAtNHB4O1xuICB3aWR0aDogNDhweDtcbiAgaGVpZ2h0OiA0OHB4O1xufVxuXG4ubWRjLWNoZWNrYm94X19uYXRpdmUtY29udHJvbDpjaGVja2VkIH4gLm1kYy1jaGVja2JveF9fYmFja2dyb3VuZCAubWRjLWNoZWNrYm94X19jaGVja21hcmsge1xuICB0cmFuc2l0aW9uOiBvcGFjaXR5IDE4MG1zIDBtcyBjdWJpYy1iZXppZXIoMCwgMCwgMC4yLCAxKSwgdHJhbnNmb3JtIDE4MG1zIDBtcyBjdWJpYy1iZXppZXIoMCwgMCwgMC4yLCAxKTtcbiAgb3BhY2l0eTogMTtcbn1cblxuLm1kYy1jaGVja2JveF9fbmF0aXZlLWNvbnRyb2w6Y2hlY2tlZCB+IC5tZGMtY2hlY2tib3hfX2JhY2tncm91bmQgLm1kYy1jaGVja2JveF9fbWl4ZWRtYXJrIHtcbiAgdHJhbnNmb3JtOiBzY2FsZVgoMSkgcm90YXRlKC00NWRlZyk7XG59XG5cbi5tZGMtY2hlY2tib3hfX25hdGl2ZS1jb250cm9sOmluZGV0ZXJtaW5hdGUgfiAubWRjLWNoZWNrYm94X19iYWNrZ3JvdW5kIC5tZGMtY2hlY2tib3hfX2NoZWNrbWFyayxcbi5tZGMtY2hlY2tib3hfX25hdGl2ZS1jb250cm9sW2RhdGEtaW5kZXRlcm1pbmF0ZT10cnVlXSB+IC5tZGMtY2hlY2tib3hfX2JhY2tncm91bmQgLm1kYy1jaGVja2JveF9fY2hlY2ttYXJrIHtcbiAgdHJhbnNmb3JtOiByb3RhdGUoNDVkZWcpO1xuICBvcGFjaXR5OiAwO1xuICB0cmFuc2l0aW9uOiBvcGFjaXR5IDkwbXMgMG1zIGN1YmljLWJlemllcigwLjQsIDAsIDAuNiwgMSksIHRyYW5zZm9ybSA5MG1zIDBtcyBjdWJpYy1iZXppZXIoMC40LCAwLCAwLjYsIDEpO1xufVxuXG4ubWRjLWNoZWNrYm94X19uYXRpdmUtY29udHJvbDppbmRldGVybWluYXRlIH4gLm1kYy1jaGVja2JveF9fYmFja2dyb3VuZCAubWRjLWNoZWNrYm94X19taXhlZG1hcmssXG4ubWRjLWNoZWNrYm94X19uYXRpdmUtY29udHJvbFtkYXRhLWluZGV0ZXJtaW5hdGU9dHJ1ZV0gfiAubWRjLWNoZWNrYm94X19iYWNrZ3JvdW5kIC5tZGMtY2hlY2tib3hfX21peGVkbWFyayB7XG4gIHRyYW5zZm9ybTogc2NhbGVYKDEpIHJvdGF0ZSgwZGVnKTtcbiAgb3BhY2l0eTogMTtcbn1cblxuQGtleWZyYW1lcyBtZGMtcmlwcGxlLWZnLXJhZGl1cy1pbiB7XG4gIGZyb20ge1xuICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjQsIDAsIDAuMiwgMSk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUodmFyKC0tbWRjLXJpcHBsZS1mZy10cmFuc2xhdGUtc3RhcnQsIDApKSBzY2FsZSgxKTtcbiAgfVxuICB0byB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUodmFyKC0tbWRjLXJpcHBsZS1mZy10cmFuc2xhdGUtZW5kLCAwKSkgc2NhbGUodmFyKC0tbWRjLXJpcHBsZS1mZy1zY2FsZSwgMSkpO1xuICB9XG59XG5Aa2V5ZnJhbWVzIG1kYy1yaXBwbGUtZmctb3BhY2l0eS1pbiB7XG4gIGZyb20ge1xuICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGxpbmVhcjtcbiAgICBvcGFjaXR5OiAwO1xuICB9XG4gIHRvIHtcbiAgICBvcGFjaXR5OiB2YXIoLS1tZGMtcmlwcGxlLWZnLW9wYWNpdHksIDApO1xuICB9XG59XG5Aa2V5ZnJhbWVzIG1kYy1yaXBwbGUtZmctb3BhY2l0eS1vdXQge1xuICBmcm9tIHtcbiAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBsaW5lYXI7XG4gICAgb3BhY2l0eTogdmFyKC0tbWRjLXJpcHBsZS1mZy1vcGFjaXR5LCAwKTtcbiAgfVxuICB0byB7XG4gICAgb3BhY2l0eTogMDtcbiAgfVxufVxuLm1kYy1jaGVja2JveCB7XG4gIC0tbWRjLXJpcHBsZS1mZy1zaXplOiAwO1xuICAtLW1kYy1yaXBwbGUtbGVmdDogMDtcbiAgLS1tZGMtcmlwcGxlLXRvcDogMDtcbiAgLS1tZGMtcmlwcGxlLWZnLXNjYWxlOiAxO1xuICAtLW1kYy1yaXBwbGUtZmctdHJhbnNsYXRlLWVuZDogMDtcbiAgLS1tZGMtcmlwcGxlLWZnLXRyYW5zbGF0ZS1zdGFydDogMDtcbiAgLXdlYmtpdC10YXAtaGlnaGxpZ2h0LWNvbG9yOiByZ2JhKDAsIDAsIDAsIDApO1xufVxuXG4ubWRjLWNoZWNrYm94IC5tZGMtY2hlY2tib3hfX3JpcHBsZTo6YmVmb3JlLFxuLm1kYy1jaGVja2JveCAubWRjLWNoZWNrYm94X19yaXBwbGU6OmFmdGVyIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBib3JkZXItcmFkaXVzOiA1MCU7XG4gIG9wYWNpdHk6IDA7XG4gIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICBjb250ZW50OiBcIlwiO1xufVxuXG4ubWRjLWNoZWNrYm94IC5tZGMtY2hlY2tib3hfX3JpcHBsZTo6YmVmb3JlIHtcbiAgdHJhbnNpdGlvbjogb3BhY2l0eSAxNW1zIGxpbmVhciwgYmFja2dyb3VuZC1jb2xvciAxNW1zIGxpbmVhcjtcbiAgei1pbmRleDogMTtcbn1cblxuLm1kYy1jaGVja2JveC5tZGMtcmlwcGxlLXVwZ3JhZGVkIC5tZGMtY2hlY2tib3hfX3JpcHBsZTo6YmVmb3JlIHtcbiAgdHJhbnNmb3JtOiBzY2FsZSh2YXIoLS1tZGMtcmlwcGxlLWZnLXNjYWxlLCAxKSk7XG59XG5cbi5tZGMtY2hlY2tib3gubWRjLXJpcHBsZS11cGdyYWRlZCAubWRjLWNoZWNrYm94X19yaXBwbGU6OmFmdGVyIHtcbiAgdG9wOiAwO1xuICAvKiBAbm9mbGlwICovXG4gIGxlZnQ6IDA7XG4gIHRyYW5zZm9ybTogc2NhbGUoMCk7XG4gIHRyYW5zZm9ybS1vcmlnaW46IGNlbnRlciBjZW50ZXI7XG59XG5cbi5tZGMtY2hlY2tib3gubWRjLXJpcHBsZS11cGdyYWRlZC0tdW5ib3VuZGVkIC5tZGMtY2hlY2tib3hfX3JpcHBsZTo6YWZ0ZXIge1xuICB0b3A6IHZhcigtLW1kYy1yaXBwbGUtdG9wLCAwKTtcbiAgLyogQG5vZmxpcCAqL1xuICBsZWZ0OiB2YXIoLS1tZGMtcmlwcGxlLWxlZnQsIDApO1xufVxuXG4ubWRjLWNoZWNrYm94Lm1kYy1yaXBwbGUtdXBncmFkZWQtLWZvcmVncm91bmQtYWN0aXZhdGlvbiAubWRjLWNoZWNrYm94X19yaXBwbGU6OmFmdGVyIHtcbiAgYW5pbWF0aW9uOiBtZGMtcmlwcGxlLWZnLXJhZGl1cy1pbiAyMjVtcyBmb3J3YXJkcywgbWRjLXJpcHBsZS1mZy1vcGFjaXR5LWluIDc1bXMgZm9yd2FyZHM7XG59XG5cbi5tZGMtY2hlY2tib3gubWRjLXJpcHBsZS11cGdyYWRlZC0tZm9yZWdyb3VuZC1kZWFjdGl2YXRpb24gLm1kYy1jaGVja2JveF9fcmlwcGxlOjphZnRlciB7XG4gIGFuaW1hdGlvbjogbWRjLXJpcHBsZS1mZy1vcGFjaXR5LW91dCAxNTBtcztcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGUodmFyKC0tbWRjLXJpcHBsZS1mZy10cmFuc2xhdGUtZW5kLCAwKSkgc2NhbGUodmFyKC0tbWRjLXJpcHBsZS1mZy1zY2FsZSwgMSkpO1xufVxuXG4ubWRjLWNoZWNrYm94IC5tZGMtY2hlY2tib3hfX3JpcHBsZTo6YmVmb3JlLCAubWRjLWNoZWNrYm94IC5tZGMtY2hlY2tib3hfX3JpcHBsZTo6YWZ0ZXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDAwO1xuICAvKiBAYWx0ZXJuYXRlICovXG4gIGJhY2tncm91bmQtY29sb3I6IHZhcigtLW1kYy10aGVtZS1vbi1zdXJmYWNlLCAjMDAwKTtcbn1cblxuLm1kYy1jaGVja2JveDpob3ZlciAubWRjLWNoZWNrYm94X19yaXBwbGU6OmJlZm9yZSB7XG4gIG9wYWNpdHk6IDAuMDQ7XG59XG5cbi5tZGMtY2hlY2tib3gubWRjLXJpcHBsZS11cGdyYWRlZC0tYmFja2dyb3VuZC1mb2N1c2VkIC5tZGMtY2hlY2tib3hfX3JpcHBsZTo6YmVmb3JlLCAubWRjLWNoZWNrYm94Om5vdCgubWRjLXJpcHBsZS11cGdyYWRlZCk6Zm9jdXMgLm1kYy1jaGVja2JveF9fcmlwcGxlOjpiZWZvcmUge1xuICB0cmFuc2l0aW9uLWR1cmF0aW9uOiA3NW1zO1xuICBvcGFjaXR5OiAwLjEyO1xufVxuXG4ubWRjLWNoZWNrYm94Om5vdCgubWRjLXJpcHBsZS11cGdyYWRlZCkgLm1kYy1jaGVja2JveF9fcmlwcGxlOjphZnRlciB7XG4gIHRyYW5zaXRpb246IG9wYWNpdHkgMTUwbXMgbGluZWFyO1xufVxuXG4ubWRjLWNoZWNrYm94Om5vdCgubWRjLXJpcHBsZS11cGdyYWRlZCk6YWN0aXZlIC5tZGMtY2hlY2tib3hfX3JpcHBsZTo6YWZ0ZXIge1xuICB0cmFuc2l0aW9uLWR1cmF0aW9uOiA3NW1zO1xuICBvcGFjaXR5OiAwLjEyO1xufVxuXG4ubWRjLWNoZWNrYm94Lm1kYy1yaXBwbGUtdXBncmFkZWQge1xuICAtLW1kYy1yaXBwbGUtZmctb3BhY2l0eTogMC4xMjtcbn1cblxuLm1kYy1jaGVja2JveCAubWRjLWNoZWNrYm94X19yaXBwbGU6OmJlZm9yZSxcbi5tZGMtY2hlY2tib3ggLm1kYy1jaGVja2JveF9fcmlwcGxlOjphZnRlciB7XG4gIHRvcDogY2FsYyg1MCUgLSA1MCUpO1xuICAvKiBAbm9mbGlwICovXG4gIGxlZnQ6IGNhbGMoNTAlIC0gNTAlKTtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogMTAwJTtcbn1cblxuLm1kYy1jaGVja2JveC5tZGMtcmlwcGxlLXVwZ3JhZGVkIC5tZGMtY2hlY2tib3hfX3JpcHBsZTo6YmVmb3JlLFxuLm1kYy1jaGVja2JveC5tZGMtcmlwcGxlLXVwZ3JhZGVkIC5tZGMtY2hlY2tib3hfX3JpcHBsZTo6YWZ0ZXIge1xuICB0b3A6IHZhcigtLW1kYy1yaXBwbGUtdG9wLCBjYWxjKDUwJSAtIDUwJSkpO1xuICAvKiBAbm9mbGlwICovXG4gIGxlZnQ6IHZhcigtLW1kYy1yaXBwbGUtbGVmdCwgY2FsYyg1MCUgLSA1MCUpKTtcbiAgd2lkdGg6IHZhcigtLW1kYy1yaXBwbGUtZmctc2l6ZSwgMTAwJSk7XG4gIGhlaWdodDogdmFyKC0tbWRjLXJpcHBsZS1mZy1zaXplLCAxMDAlKTtcbn1cblxuLm1kYy1jaGVja2JveC5tZGMtcmlwcGxlLXVwZ3JhZGVkIC5tZGMtY2hlY2tib3hfX3JpcHBsZTo6YWZ0ZXIge1xuICB3aWR0aDogdmFyKC0tbWRjLXJpcHBsZS1mZy1zaXplLCAxMDAlKTtcbiAgaGVpZ2h0OiB2YXIoLS1tZGMtcmlwcGxlLWZnLXNpemUsIDEwMCUpO1xufVxuXG4ubWRjLWNoZWNrYm94X19yaXBwbGUge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMDtcbiAgbGVmdDogMDtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogMTAwJTtcbiAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG59XG5cbi5tZGMtcmlwcGxlLXVwZ3JhZGVkLS1iYWNrZ3JvdW5kLWZvY3VzZWQgLm1kYy1jaGVja2JveF9fYmFja2dyb3VuZDo6YmVmb3JlIHtcbiAgY29udGVudDogbm9uZTtcbn1cblxuLm1kYy1lbGV2YXRpb24tb3ZlcmxheSB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgYm9yZGVyLXJhZGl1czogaW5oZXJpdDtcbiAgb3BhY2l0eTogMDtcbiAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gIHRyYW5zaXRpb246IG9wYWNpdHkgMjgwbXMgY3ViaWMtYmV6aWVyKDAuNCwgMCwgMC4yLCAxKTtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcbn1cblxuLm1kYy1kaWFsb2csXG4ubWRjLWRpYWxvZ19fc2NyaW0ge1xuICBwb3NpdGlvbjogZml4ZWQ7XG4gIHRvcDogMDtcbiAgbGVmdDogMDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDEwMCU7XG59XG5cbi5tZGMtZGlhbG9nIHtcbiAgZGlzcGxheTogbm9uZTtcbiAgei1pbmRleDogNztcbn1cblxuLm1kYy1kaWFsb2cgLm1kYy1kaWFsb2dfX3N1cmZhY2Uge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xuICAvKiBAYWx0ZXJuYXRlICovXG4gIGJhY2tncm91bmQtY29sb3I6IHZhcigtLW1kYy10aGVtZS1zdXJmYWNlLCAjZmZmKTtcbn1cblxuLm1kYy1kaWFsb2cgLm1kYy1kaWFsb2dfX3NjcmltIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgwLCAwLCAwLCAwLjMyKTtcbn1cblxuLm1kYy1kaWFsb2cgLm1kYy1kaWFsb2dfX3RpdGxlIHtcbiAgY29sb3I6IHJnYmEoMCwgMCwgMCwgMC44Nyk7XG59XG5cbi5tZGMtZGlhbG9nIC5tZGMtZGlhbG9nX19jb250ZW50IHtcbiAgY29sb3I6IHJnYmEoMCwgMCwgMCwgMC42KTtcbn1cblxuLm1kYy1kaWFsb2cubWRjLWRpYWxvZy0tc2Nyb2xsYWJsZSAubWRjLWRpYWxvZ19fdGl0bGUsIC5tZGMtZGlhbG9nLm1kYy1kaWFsb2ctLXNjcm9sbGFibGUgLm1kYy1kaWFsb2dfX2FjdGlvbnMge1xuICBib3JkZXItY29sb3I6IHJnYmEoMCwgMCwgMCwgMC4xMik7XG59XG5cbi5tZGMtZGlhbG9nIC5tZGMtZGlhbG9nX19zdXJmYWNlIHtcbiAgbWluLXdpZHRoOiAyODBweDtcbn1cblxuQG1lZGlhIChtYXgtd2lkdGg6IDU5MnB4KSB7XG4gIC5tZGMtZGlhbG9nIC5tZGMtZGlhbG9nX19zdXJmYWNlIHtcbiAgICBtYXgtd2lkdGg6IGNhbGMoMTAwdncgLSAzMnB4KTtcbiAgfVxufVxuQG1lZGlhIChtaW4td2lkdGg6IDU5MnB4KSB7XG4gIC5tZGMtZGlhbG9nIC5tZGMtZGlhbG9nX19zdXJmYWNlIHtcbiAgICBtYXgtd2lkdGg6IDU2MHB4O1xuICB9XG59XG4ubWRjLWRpYWxvZyAubWRjLWRpYWxvZ19fc3VyZmFjZSB7XG4gIG1heC1oZWlnaHQ6IGNhbGMoMTAwJSAtIDMycHgpO1xufVxuXG5AbWVkaWEgYWxsIGFuZCAoLW1zLWhpZ2gtY29udHJhc3Q6IG5vbmUpLCAoLW1zLWhpZ2gtY29udHJhc3Q6IGFjdGl2ZSkge1xuICAubWRjLWRpYWxvZyAubWRjLWRpYWxvZ19fY29udGFpbmVyIHtcbiAgICAvKiBzdHlsZWxpbnQtZGlzYWJsZSAqL1xuICAgIC8qIHN0eWxlbGludC1lbmFibGUqL1xuICB9XG59XG4ubWRjLWRpYWxvZyAubWRjLWRpYWxvZ19fc3VyZmFjZSB7XG4gIGJvcmRlci1yYWRpdXM6IDRweDtcbn1cblxuLm1kYy1kaWFsb2dfX3NjcmltIHtcbiAgb3BhY2l0eTogMDtcbiAgei1pbmRleDogLTE7XG59XG5cbi5tZGMtZGlhbG9nX19jb250YWluZXIge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWFyb3VuZDtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgaGVpZ2h0OiAxMDAlO1xuICB0cmFuc2Zvcm06IHNjYWxlKDAuOCk7XG4gIG9wYWNpdHk6IDA7XG4gIHBvaW50ZXItZXZlbnRzOiBub25lO1xufVxuXG4ubWRjLWRpYWxvZ19fc3VyZmFjZSB7XG4gIC8qIEBhbHRlcm5hdGUgKi9cbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAvKiBAYWx0ZXJuYXRlICovXG4gIGJveC1zaGFkb3c6IDBweCAxMXB4IDE1cHggLTdweCByZ2JhKDAsIDAsIDAsIDAuMiksIDBweCAyNHB4IDM4cHggM3B4IHJnYmEoMCwgMCwgMCwgMC4xNCksIDBweCA5cHggNDZweCA4cHggcmdiYSgwLCAwLCAwLCAwLjEyKTtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgZmxleC1ncm93OiAwO1xuICBmbGV4LXNocmluazogMDtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgbWF4LXdpZHRoOiAxMDAlO1xuICBtYXgtaGVpZ2h0OiAxMDAlO1xuICBwb2ludGVyLWV2ZW50czogYXV0bztcbiAgb3ZlcmZsb3cteTogYXV0bztcbn1cblxuLm1kYy1kaWFsb2dfX3N1cmZhY2UgLm1kYy1lbGV2YXRpb24tb3ZlcmxheSB7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDEwMCU7XG4gIHRvcDogMDtcbiAgLyogQG5vZmxpcCAqL1xuICBsZWZ0OiAwO1xufVxuXG4ubWRjLWRpYWxvZ1tkaXI9cnRsXSAubWRjLWRpYWxvZ19fc3VyZmFjZSwgW2Rpcj1ydGxdIC5tZGMtZGlhbG9nIC5tZGMtZGlhbG9nX19zdXJmYWNlIHtcbiAgLyogQG5vZmxpcCAqL1xuICB0ZXh0LWFsaWduOiByaWdodDtcbn1cblxuLm1kYy1kaWFsb2dfX3RpdGxlIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIG1hcmdpbi10b3A6IDA7XG4gIC8qIEBhbHRlcm5hdGUgKi9cbiAgbGluZS1oZWlnaHQ6IG5vcm1hbDtcbiAgLW1vei1vc3gtZm9udC1zbW9vdGhpbmc6IGdyYXlzY2FsZTtcbiAgLXdlYmtpdC1mb250LXNtb290aGluZzogYW50aWFsaWFzZWQ7XG4gIGZvbnQtZmFtaWx5OiBSb2JvdG8sIHNhbnMtc2VyaWY7XG4gIC8qIEBhbHRlcm5hdGUgKi9cbiAgZm9udC1mYW1pbHk6IHZhcigtLW1kYy10eXBvZ3JhcGh5LWhlYWRsaW5lNi1mb250LWZhbWlseSwgdmFyKC0tbWRjLXR5cG9ncmFwaHktZm9udC1mYW1pbHksIFJvYm90bywgc2Fucy1zZXJpZikpO1xuICBmb250LXNpemU6IDEuMjVyZW07XG4gIC8qIEBhbHRlcm5hdGUgKi9cbiAgZm9udC1zaXplOiB2YXIoLS1tZGMtdHlwb2dyYXBoeS1oZWFkbGluZTYtZm9udC1zaXplLCAxLjI1cmVtKTtcbiAgbGluZS1oZWlnaHQ6IDJyZW07XG4gIC8qIEBhbHRlcm5hdGUgKi9cbiAgbGluZS1oZWlnaHQ6IHZhcigtLW1kYy10eXBvZ3JhcGh5LWhlYWRsaW5lNi1saW5lLWhlaWdodCwgMnJlbSk7XG4gIGZvbnQtd2VpZ2h0OiA1MDA7XG4gIC8qIEBhbHRlcm5hdGUgKi9cbiAgZm9udC13ZWlnaHQ6IHZhcigtLW1kYy10eXBvZ3JhcGh5LWhlYWRsaW5lNi1mb250LXdlaWdodCwgNTAwKTtcbiAgbGV0dGVyLXNwYWNpbmc6IDAuMDEyNWVtO1xuICAvKiBAYWx0ZXJuYXRlICovXG4gIGxldHRlci1zcGFjaW5nOiB2YXIoLS1tZGMtdHlwb2dyYXBoeS1oZWFkbGluZTYtbGV0dGVyLXNwYWNpbmcsIDAuMDEyNWVtKTtcbiAgdGV4dC1kZWNvcmF0aW9uOiBpbmhlcml0O1xuICAvKiBAYWx0ZXJuYXRlICovXG4gIHRleHQtZGVjb3JhdGlvbjogdmFyKC0tbWRjLXR5cG9ncmFwaHktaGVhZGxpbmU2LXRleHQtZGVjb3JhdGlvbiwgaW5oZXJpdCk7XG4gIHRleHQtdHJhbnNmb3JtOiBpbmhlcml0O1xuICAvKiBAYWx0ZXJuYXRlICovXG4gIHRleHQtdHJhbnNmb3JtOiB2YXIoLS1tZGMtdHlwb2dyYXBoeS1oZWFkbGluZTYtdGV4dC10cmFuc2Zvcm0sIGluaGVyaXQpO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGZsZXgtc2hyaW5rOiAwO1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICBtYXJnaW46IDA7XG4gIHBhZGRpbmc6IDAgMjRweCA5cHg7XG4gIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCB0cmFuc3BhcmVudDtcbn1cblxuLm1kYy1kaWFsb2dfX3RpdGxlOjpiZWZvcmUge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHdpZHRoOiAwO1xuICBoZWlnaHQ6IDQwcHg7XG4gIGNvbnRlbnQ6IFwiXCI7XG4gIHZlcnRpY2FsLWFsaWduOiAwO1xufVxuXG4ubWRjLWRpYWxvZ1tkaXI9cnRsXSAubWRjLWRpYWxvZ19fdGl0bGUsIFtkaXI9cnRsXSAubWRjLWRpYWxvZyAubWRjLWRpYWxvZ19fdGl0bGUge1xuICAvKiBAbm9mbGlwICovXG4gIHRleHQtYWxpZ246IHJpZ2h0O1xufVxuXG4ubWRjLWRpYWxvZy0tc2Nyb2xsYWJsZSAubWRjLWRpYWxvZ19fdGl0bGUge1xuICBwYWRkaW5nLWJvdHRvbTogMTVweDtcbn1cblxuLm1kYy1kaWFsb2dfX2NvbnRlbnQge1xuICAtbW96LW9zeC1mb250LXNtb290aGluZzogZ3JheXNjYWxlO1xuICAtd2Via2l0LWZvbnQtc21vb3RoaW5nOiBhbnRpYWxpYXNlZDtcbiAgZm9udC1mYW1pbHk6IFJvYm90bywgc2Fucy1zZXJpZjtcbiAgLyogQGFsdGVybmF0ZSAqL1xuICBmb250LWZhbWlseTogdmFyKC0tbWRjLXR5cG9ncmFwaHktYm9keTEtZm9udC1mYW1pbHksIHZhcigtLW1kYy10eXBvZ3JhcGh5LWZvbnQtZmFtaWx5LCBSb2JvdG8sIHNhbnMtc2VyaWYpKTtcbiAgZm9udC1zaXplOiAxcmVtO1xuICAvKiBAYWx0ZXJuYXRlICovXG4gIGZvbnQtc2l6ZTogdmFyKC0tbWRjLXR5cG9ncmFwaHktYm9keTEtZm9udC1zaXplLCAxcmVtKTtcbiAgbGluZS1oZWlnaHQ6IDEuNXJlbTtcbiAgLyogQGFsdGVybmF0ZSAqL1xuICBsaW5lLWhlaWdodDogdmFyKC0tbWRjLXR5cG9ncmFwaHktYm9keTEtbGluZS1oZWlnaHQsIDEuNXJlbSk7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7XG4gIC8qIEBhbHRlcm5hdGUgKi9cbiAgZm9udC13ZWlnaHQ6IHZhcigtLW1kYy10eXBvZ3JhcGh5LWJvZHkxLWZvbnQtd2VpZ2h0LCA0MDApO1xuICBsZXR0ZXItc3BhY2luZzogMC4wMzEyNWVtO1xuICAvKiBAYWx0ZXJuYXRlICovXG4gIGxldHRlci1zcGFjaW5nOiB2YXIoLS1tZGMtdHlwb2dyYXBoeS1ib2R5MS1sZXR0ZXItc3BhY2luZywgMC4wMzEyNWVtKTtcbiAgdGV4dC1kZWNvcmF0aW9uOiBpbmhlcml0O1xuICAvKiBAYWx0ZXJuYXRlICovXG4gIHRleHQtZGVjb3JhdGlvbjogdmFyKC0tbWRjLXR5cG9ncmFwaHktYm9keTEtdGV4dC1kZWNvcmF0aW9uLCBpbmhlcml0KTtcbiAgdGV4dC10cmFuc2Zvcm06IGluaGVyaXQ7XG4gIC8qIEBhbHRlcm5hdGUgKi9cbiAgdGV4dC10cmFuc2Zvcm06IHZhcigtLW1kYy10eXBvZ3JhcGh5LWJvZHkxLXRleHQtdHJhbnNmb3JtLCBpbmhlcml0KTtcbiAgZmxleC1ncm93OiAxO1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICBtYXJnaW46IDA7XG4gIHBhZGRpbmc6IDIwcHggMjRweDtcbiAgb3ZlcmZsb3c6IGF1dG87XG4gIC13ZWJraXQtb3ZlcmZsb3ctc2Nyb2xsaW5nOiB0b3VjaDtcbn1cblxuLm1kYy1kaWFsb2dfX2NvbnRlbnQgPiA6Zmlyc3QtY2hpbGQge1xuICBtYXJnaW4tdG9wOiAwO1xufVxuXG4ubWRjLWRpYWxvZ19fY29udGVudCA+IDpsYXN0LWNoaWxkIHtcbiAgbWFyZ2luLWJvdHRvbTogMDtcbn1cblxuLm1kYy1kaWFsb2dfX3RpdGxlICsgLm1kYy1kaWFsb2dfX2NvbnRlbnQge1xuICBwYWRkaW5nLXRvcDogMDtcbn1cblxuLm1kYy1kaWFsb2ctLXNjcm9sbGFibGUgLm1kYy1kaWFsb2dfX2NvbnRlbnQge1xuICBwYWRkaW5nLXRvcDogOHB4O1xuICBwYWRkaW5nLWJvdHRvbTogOHB4O1xufVxuXG4ubWRjLWRpYWxvZ19fY29udGVudCAubWRjLWxpc3Q6Zmlyc3QtY2hpbGQ6bGFzdC1jaGlsZCB7XG4gIHBhZGRpbmc6IDZweCAwIDA7XG59XG5cbi5tZGMtZGlhbG9nLS1zY3JvbGxhYmxlIC5tZGMtZGlhbG9nX19jb250ZW50IC5tZGMtbGlzdDpmaXJzdC1jaGlsZDpsYXN0LWNoaWxkIHtcbiAgcGFkZGluZzogMDtcbn1cblxuLm1kYy1kaWFsb2dfX2FjdGlvbnMge1xuICBkaXNwbGF5OiBmbGV4O1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGZsZXgtc2hyaW5rOiAwO1xuICBmbGV4LXdyYXA6IHdyYXA7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gIG1pbi1oZWlnaHQ6IDUycHg7XG4gIG1hcmdpbjogMDtcbiAgcGFkZGluZzogOHB4O1xuICBib3JkZXItdG9wOiAxcHggc29saWQgdHJhbnNwYXJlbnQ7XG59XG5cbi5tZGMtZGlhbG9nLS1zdGFja2VkIC5tZGMtZGlhbG9nX19hY3Rpb25zIHtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgYWxpZ24taXRlbXM6IGZsZXgtZW5kO1xufVxuXG4ubWRjLWRpYWxvZ19fYnV0dG9uIHtcbiAgLyogQG5vZmxpcCAqL1xuICBtYXJnaW4tbGVmdDogOHB4O1xuICAvKiBAbm9mbGlwICovXG4gIG1hcmdpbi1yaWdodDogMDtcbiAgbWF4LXdpZHRoOiAxMDAlO1xuICAvKiBAbm9mbGlwICovXG4gIHRleHQtYWxpZ246IHJpZ2h0O1xufVxuXG5bZGlyPXJ0bF0gLm1kYy1kaWFsb2dfX2J1dHRvbiwgLm1kYy1kaWFsb2dfX2J1dHRvbltkaXI9cnRsXSB7XG4gIC8qIEBub2ZsaXAgKi9cbiAgbWFyZ2luLWxlZnQ6IDA7XG4gIC8qIEBub2ZsaXAgKi9cbiAgbWFyZ2luLXJpZ2h0OiA4cHg7XG59XG5cbi5tZGMtZGlhbG9nX19idXR0b246Zmlyc3QtY2hpbGQge1xuICAvKiBAbm9mbGlwICovXG4gIG1hcmdpbi1sZWZ0OiAwO1xuICAvKiBAbm9mbGlwICovXG4gIG1hcmdpbi1yaWdodDogMDtcbn1cblxuW2Rpcj1ydGxdIC5tZGMtZGlhbG9nX19idXR0b246Zmlyc3QtY2hpbGQsIC5tZGMtZGlhbG9nX19idXR0b246Zmlyc3QtY2hpbGRbZGlyPXJ0bF0ge1xuICAvKiBAbm9mbGlwICovXG4gIG1hcmdpbi1sZWZ0OiAwO1xuICAvKiBAbm9mbGlwICovXG4gIG1hcmdpbi1yaWdodDogMDtcbn1cblxuLm1kYy1kaWFsb2dbZGlyPXJ0bF0gLm1kYy1kaWFsb2dfX2J1dHRvbiwgW2Rpcj1ydGxdIC5tZGMtZGlhbG9nIC5tZGMtZGlhbG9nX19idXR0b24ge1xuICAvKiBAbm9mbGlwICovXG4gIHRleHQtYWxpZ246IGxlZnQ7XG59XG5cbi5tZGMtZGlhbG9nLS1zdGFja2VkIC5tZGMtZGlhbG9nX19idXR0b246bm90KDpmaXJzdC1jaGlsZCkge1xuICBtYXJnaW4tdG9wOiAxMnB4O1xufVxuXG4ubWRjLWRpYWxvZy0tb3Blbixcbi5tZGMtZGlhbG9nLS1vcGVuaW5nLFxuLm1kYy1kaWFsb2ctLWNsb3Npbmcge1xuICBkaXNwbGF5OiBmbGV4O1xufVxuXG4ubWRjLWRpYWxvZy0tb3BlbmluZyAubWRjLWRpYWxvZ19fc2NyaW0ge1xuICB0cmFuc2l0aW9uOiBvcGFjaXR5IDE1MG1zIGxpbmVhcjtcbn1cblxuLm1kYy1kaWFsb2ctLW9wZW5pbmcgLm1kYy1kaWFsb2dfX2NvbnRhaW5lciB7XG4gIHRyYW5zaXRpb246IG9wYWNpdHkgNzVtcyBsaW5lYXIsIHRyYW5zZm9ybSAxNTBtcyAwbXMgY3ViaWMtYmV6aWVyKDAsIDAsIDAuMiwgMSk7XG59XG5cbi5tZGMtZGlhbG9nLS1jbG9zaW5nIC5tZGMtZGlhbG9nX19zY3JpbSxcbi5tZGMtZGlhbG9nLS1jbG9zaW5nIC5tZGMtZGlhbG9nX19jb250YWluZXIge1xuICB0cmFuc2l0aW9uOiBvcGFjaXR5IDc1bXMgbGluZWFyO1xufVxuXG4ubWRjLWRpYWxvZy0tY2xvc2luZyAubWRjLWRpYWxvZ19fY29udGFpbmVyIHtcbiAgdHJhbnNmb3JtOiBzY2FsZSgxKTtcbn1cblxuLm1kYy1kaWFsb2ctLW9wZW4gLm1kYy1kaWFsb2dfX3NjcmltIHtcbiAgb3BhY2l0eTogMTtcbn1cblxuLm1kYy1kaWFsb2ctLW9wZW4gLm1kYy1kaWFsb2dfX2NvbnRhaW5lciB7XG4gIHRyYW5zZm9ybTogc2NhbGUoMSk7XG4gIG9wYWNpdHk6IDE7XG59XG5cbi5tZGMtZGlhbG9nLXNjcm9sbC1sb2NrIHtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbn1cblxuLm1kYy1saXN0IHtcbiAgLW1vei1vc3gtZm9udC1zbW9vdGhpbmc6IGdyYXlzY2FsZTtcbiAgLXdlYmtpdC1mb250LXNtb290aGluZzogYW50aWFsaWFzZWQ7XG4gIGZvbnQtZmFtaWx5OiBSb2JvdG8sIHNhbnMtc2VyaWY7XG4gIC8qIEBhbHRlcm5hdGUgKi9cbiAgZm9udC1mYW1pbHk6IHZhcigtLW1kYy10eXBvZ3JhcGh5LXN1YnRpdGxlMS1mb250LWZhbWlseSwgdmFyKC0tbWRjLXR5cG9ncmFwaHktZm9udC1mYW1pbHksIFJvYm90bywgc2Fucy1zZXJpZikpO1xuICBmb250LXNpemU6IDFyZW07XG4gIC8qIEBhbHRlcm5hdGUgKi9cbiAgZm9udC1zaXplOiB2YXIoLS1tZGMtdHlwb2dyYXBoeS1zdWJ0aXRsZTEtZm9udC1zaXplLCAxcmVtKTtcbiAgbGluZS1oZWlnaHQ6IDEuNzVyZW07XG4gIC8qIEBhbHRlcm5hdGUgKi9cbiAgbGluZS1oZWlnaHQ6IHZhcigtLW1kYy10eXBvZ3JhcGh5LXN1YnRpdGxlMS1saW5lLWhlaWdodCwgMS43NXJlbSk7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7XG4gIC8qIEBhbHRlcm5hdGUgKi9cbiAgZm9udC13ZWlnaHQ6IHZhcigtLW1kYy10eXBvZ3JhcGh5LXN1YnRpdGxlMS1mb250LXdlaWdodCwgNDAwKTtcbiAgbGV0dGVyLXNwYWNpbmc6IDAuMDA5Mzc1ZW07XG4gIC8qIEBhbHRlcm5hdGUgKi9cbiAgbGV0dGVyLXNwYWNpbmc6IHZhcigtLW1kYy10eXBvZ3JhcGh5LXN1YnRpdGxlMS1sZXR0ZXItc3BhY2luZywgMC4wMDkzNzVlbSk7XG4gIHRleHQtZGVjb3JhdGlvbjogaW5oZXJpdDtcbiAgLyogQGFsdGVybmF0ZSAqL1xuICB0ZXh0LWRlY29yYXRpb246IHZhcigtLW1kYy10eXBvZ3JhcGh5LXN1YnRpdGxlMS10ZXh0LWRlY29yYXRpb24sIGluaGVyaXQpO1xuICB0ZXh0LXRyYW5zZm9ybTogaW5oZXJpdDtcbiAgLyogQGFsdGVybmF0ZSAqL1xuICB0ZXh0LXRyYW5zZm9ybTogdmFyKC0tbWRjLXR5cG9ncmFwaHktc3VidGl0bGUxLXRleHQtdHJhbnNmb3JtLCBpbmhlcml0KTtcbiAgLyogQGFsdGVybmF0ZSAqL1xuICBsaW5lLWhlaWdodDogMS41cmVtO1xuICBtYXJnaW46IDA7XG4gIHBhZGRpbmc6IDhweCAwO1xuICBsaXN0LXN0eWxlLXR5cGU6IG5vbmU7XG4gIGNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuODcpO1xuICAvKiBAYWx0ZXJuYXRlICovXG4gIGNvbG9yOiB2YXIoLS1tZGMtdGhlbWUtdGV4dC1wcmltYXJ5LW9uLWJhY2tncm91bmQsIHJnYmEoMCwgMCwgMCwgMC44NykpO1xufVxuXG4ubWRjLWxpc3Q6Zm9jdXMge1xuICBvdXRsaW5lOiBub25lO1xufVxuXG4ubWRjLWxpc3QtaXRlbSB7XG4gIGhlaWdodDogNDhweDtcbn1cblxuLm1kYy1saXN0LWl0ZW1fX3NlY29uZGFyeS10ZXh0IHtcbiAgY29sb3I6IHJnYmEoMCwgMCwgMCwgMC41NCk7XG4gIC8qIEBhbHRlcm5hdGUgKi9cbiAgY29sb3I6IHZhcigtLW1kYy10aGVtZS10ZXh0LXNlY29uZGFyeS1vbi1iYWNrZ3JvdW5kLCByZ2JhKDAsIDAsIDAsIDAuNTQpKTtcbn1cblxuLm1kYy1saXN0LWl0ZW1fX2dyYXBoaWMge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbn1cblxuLm1kYy1saXN0LWl0ZW1fX2dyYXBoaWMge1xuICBjb2xvcjogcmdiYSgwLCAwLCAwLCAwLjM4KTtcbiAgLyogQGFsdGVybmF0ZSAqL1xuICBjb2xvcjogdmFyKC0tbWRjLXRoZW1lLXRleHQtaWNvbi1vbi1iYWNrZ3JvdW5kLCByZ2JhKDAsIDAsIDAsIDAuMzgpKTtcbn1cblxuLm1kYy1saXN0LWl0ZW1fX21ldGEge1xuICBjb2xvcjogcmdiYSgwLCAwLCAwLCAwLjM4KTtcbiAgLyogQGFsdGVybmF0ZSAqL1xuICBjb2xvcjogdmFyKC0tbWRjLXRoZW1lLXRleHQtaGludC1vbi1iYWNrZ3JvdW5kLCByZ2JhKDAsIDAsIDAsIDAuMzgpKTtcbn1cblxuLm1kYy1saXN0LWdyb3VwX19zdWJoZWFkZXIge1xuICBjb2xvcjogcmdiYSgwLCAwLCAwLCAwLjg3KTtcbiAgLyogQGFsdGVybmF0ZSAqL1xuICBjb2xvcjogdmFyKC0tbWRjLXRoZW1lLXRleHQtcHJpbWFyeS1vbi1iYWNrZ3JvdW5kLCByZ2JhKDAsIDAsIDAsIDAuODcpKTtcbn1cblxuLm1kYy1saXN0LWl0ZW0tLWRpc2FibGVkIC5tZGMtbGlzdC1pdGVtX190ZXh0IHtcbiAgb3BhY2l0eTogMC4zODtcbn1cblxuLm1kYy1saXN0LWl0ZW0tLWRpc2FibGVkIC5tZGMtbGlzdC1pdGVtX190ZXh0LFxuLm1kYy1saXN0LWl0ZW0tLWRpc2FibGVkIC5tZGMtbGlzdC1pdGVtX19wcmltYXJ5LXRleHQsXG4ubWRjLWxpc3QtaXRlbS0tZGlzYWJsZWQgLm1kYy1saXN0LWl0ZW1fX3NlY29uZGFyeS10ZXh0IHtcbiAgY29sb3I6ICMwMDA7XG4gIC8qIEBhbHRlcm5hdGUgKi9cbiAgY29sb3I6IHZhcigtLW1kYy10aGVtZS1vbi1zdXJmYWNlLCAjMDAwKTtcbn1cblxuLm1kYy1saXN0LS1kZW5zZSB7XG4gIHBhZGRpbmctdG9wOiA0cHg7XG4gIHBhZGRpbmctYm90dG9tOiA0cHg7XG4gIGZvbnQtc2l6ZTogMC44MTJyZW07XG59XG5cbi5tZGMtbGlzdC1pdGVtIHtcbiAgZGlzcGxheTogZmxleDtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7XG4gIHBhZGRpbmc6IDAgMTZweDtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbn1cblxuLm1kYy1saXN0LWl0ZW06Zm9jdXMge1xuICBvdXRsaW5lOiBub25lO1xufVxuXG4ubWRjLWxpc3QtaXRlbS0tc2VsZWN0ZWQsXG4ubWRjLWxpc3QtaXRlbS0tYWN0aXZhdGVkIHtcbiAgY29sb3I6ICMwMEFFRUY7XG4gIC8qIEBhbHRlcm5hdGUgKi9cbiAgY29sb3I6IHZhcigtLW1kYy10aGVtZS1wcmltYXJ5LCAjMDBBRUVGKTtcbn1cblxuLm1kYy1saXN0LWl0ZW0tLXNlbGVjdGVkIC5tZGMtbGlzdC1pdGVtX19ncmFwaGljLFxuLm1kYy1saXN0LWl0ZW0tLWFjdGl2YXRlZCAubWRjLWxpc3QtaXRlbV9fZ3JhcGhpYyB7XG4gIGNvbG9yOiAjMDBBRUVGO1xuICAvKiBAYWx0ZXJuYXRlICovXG4gIGNvbG9yOiB2YXIoLS1tZGMtdGhlbWUtcHJpbWFyeSwgIzAwQUVFRik7XG59XG5cbi5tZGMtbGlzdC1pdGVtX19ncmFwaGljIHtcbiAgLyogQG5vZmxpcCAqL1xuICBtYXJnaW4tbGVmdDogMDtcbiAgLyogQG5vZmxpcCAqL1xuICBtYXJnaW4tcmlnaHQ6IDMycHg7XG4gIHdpZHRoOiAyNHB4O1xuICBoZWlnaHQ6IDI0cHg7XG4gIGZsZXgtc2hyaW5rOiAwO1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgZmlsbDogY3VycmVudENvbG9yO1xufVxuXG4ubWRjLWxpc3QtaXRlbVtkaXI9cnRsXSAubWRjLWxpc3QtaXRlbV9fZ3JhcGhpYywgW2Rpcj1ydGxdIC5tZGMtbGlzdC1pdGVtIC5tZGMtbGlzdC1pdGVtX19ncmFwaGljIHtcbiAgLyogQG5vZmxpcCAqL1xuICBtYXJnaW4tbGVmdDogMzJweDtcbiAgLyogQG5vZmxpcCAqL1xuICBtYXJnaW4tcmlnaHQ6IDA7XG59XG5cbi5tZGMtbGlzdCAubWRjLWxpc3QtaXRlbV9fZ3JhcGhpYyB7XG4gIGRpc3BsYXk6IGlubGluZS1mbGV4O1xufVxuXG4ubWRjLWxpc3QtaXRlbV9fbWV0YSB7XG4gIC8qIEBub2ZsaXAgKi9cbiAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gIC8qIEBub2ZsaXAgKi9cbiAgbWFyZ2luLXJpZ2h0OiAwO1xufVxuXG4ubWRjLWxpc3QtaXRlbV9fbWV0YTpub3QoLm1hdGVyaWFsLWljb25zKSB7XG4gIC1tb3otb3N4LWZvbnQtc21vb3RoaW5nOiBncmF5c2NhbGU7XG4gIC13ZWJraXQtZm9udC1zbW9vdGhpbmc6IGFudGlhbGlhc2VkO1xuICBmb250LWZhbWlseTogUm9ib3RvLCBzYW5zLXNlcmlmO1xuICAvKiBAYWx0ZXJuYXRlICovXG4gIGZvbnQtZmFtaWx5OiB2YXIoLS1tZGMtdHlwb2dyYXBoeS1jYXB0aW9uLWZvbnQtZmFtaWx5LCB2YXIoLS1tZGMtdHlwb2dyYXBoeS1mb250LWZhbWlseSwgUm9ib3RvLCBzYW5zLXNlcmlmKSk7XG4gIGZvbnQtc2l6ZTogMC43NXJlbTtcbiAgLyogQGFsdGVybmF0ZSAqL1xuICBmb250LXNpemU6IHZhcigtLW1kYy10eXBvZ3JhcGh5LWNhcHRpb24tZm9udC1zaXplLCAwLjc1cmVtKTtcbiAgbGluZS1oZWlnaHQ6IDEuMjVyZW07XG4gIC8qIEBhbHRlcm5hdGUgKi9cbiAgbGluZS1oZWlnaHQ6IHZhcigtLW1kYy10eXBvZ3JhcGh5LWNhcHRpb24tbGluZS1oZWlnaHQsIDEuMjVyZW0pO1xuICBmb250LXdlaWdodDogNDAwO1xuICAvKiBAYWx0ZXJuYXRlICovXG4gIGZvbnQtd2VpZ2h0OiB2YXIoLS1tZGMtdHlwb2dyYXBoeS1jYXB0aW9uLWZvbnQtd2VpZ2h0LCA0MDApO1xuICBsZXR0ZXItc3BhY2luZzogMC4wMzMzMzMzMzMzZW07XG4gIC8qIEBhbHRlcm5hdGUgKi9cbiAgbGV0dGVyLXNwYWNpbmc6IHZhcigtLW1kYy10eXBvZ3JhcGh5LWNhcHRpb24tbGV0dGVyLXNwYWNpbmcsIDAuMDMzMzMzMzMzM2VtKTtcbiAgdGV4dC1kZWNvcmF0aW9uOiBpbmhlcml0O1xuICAvKiBAYWx0ZXJuYXRlICovXG4gIHRleHQtZGVjb3JhdGlvbjogdmFyKC0tbWRjLXR5cG9ncmFwaHktY2FwdGlvbi10ZXh0LWRlY29yYXRpb24sIGluaGVyaXQpO1xuICB0ZXh0LXRyYW5zZm9ybTogaW5oZXJpdDtcbiAgLyogQGFsdGVybmF0ZSAqL1xuICB0ZXh0LXRyYW5zZm9ybTogdmFyKC0tbWRjLXR5cG9ncmFwaHktY2FwdGlvbi10ZXh0LXRyYW5zZm9ybSwgaW5oZXJpdCk7XG59XG5cbi5tZGMtbGlzdC1pdGVtW2Rpcj1ydGxdIC5tZGMtbGlzdC1pdGVtX19tZXRhLCBbZGlyPXJ0bF0gLm1kYy1saXN0LWl0ZW0gLm1kYy1saXN0LWl0ZW1fX21ldGEge1xuICAvKiBAbm9mbGlwICovXG4gIG1hcmdpbi1sZWZ0OiAwO1xuICAvKiBAbm9mbGlwICovXG4gIG1hcmdpbi1yaWdodDogYXV0bztcbn1cblxuLm1kYy1saXN0LWl0ZW1fX3RleHQge1xuICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbn1cblxuLm1kYy1saXN0LWl0ZW1fX3RleHRbZm9yXSB7XG4gIHBvaW50ZXItZXZlbnRzOiBub25lO1xufVxuXG4ubWRjLWxpc3QtaXRlbV9fcHJpbWFyeS10ZXh0IHtcbiAgdGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBtYXJnaW4tdG9wOiAwO1xuICAvKiBAYWx0ZXJuYXRlICovXG4gIGxpbmUtaGVpZ2h0OiBub3JtYWw7XG4gIG1hcmdpbi1ib3R0b206IC0yMHB4O1xufVxuXG4ubWRjLWxpc3QtaXRlbV9fcHJpbWFyeS10ZXh0OjpiZWZvcmUge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHdpZHRoOiAwO1xuICBoZWlnaHQ6IDMycHg7XG4gIGNvbnRlbnQ6IFwiXCI7XG4gIHZlcnRpY2FsLWFsaWduOiAwO1xufVxuXG4ubWRjLWxpc3QtaXRlbV9fcHJpbWFyeS10ZXh0OjphZnRlciB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgd2lkdGg6IDA7XG4gIGhlaWdodDogMjBweDtcbiAgY29udGVudDogXCJcIjtcbiAgdmVydGljYWwtYWxpZ246IC0yMHB4O1xufVxuXG4ubWRjLWxpc3QtLWRlbnNlIC5tZGMtbGlzdC1pdGVtX19wcmltYXJ5LXRleHQge1xuICBkaXNwbGF5OiBibG9jaztcbiAgbWFyZ2luLXRvcDogMDtcbiAgLyogQGFsdGVybmF0ZSAqL1xuICBsaW5lLWhlaWdodDogbm9ybWFsO1xuICBtYXJnaW4tYm90dG9tOiAtMjBweDtcbn1cblxuLm1kYy1saXN0LS1kZW5zZSAubWRjLWxpc3QtaXRlbV9fcHJpbWFyeS10ZXh0OjpiZWZvcmUge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHdpZHRoOiAwO1xuICBoZWlnaHQ6IDI0cHg7XG4gIGNvbnRlbnQ6IFwiXCI7XG4gIHZlcnRpY2FsLWFsaWduOiAwO1xufVxuXG4ubWRjLWxpc3QtLWRlbnNlIC5tZGMtbGlzdC1pdGVtX19wcmltYXJ5LXRleHQ6OmFmdGVyIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB3aWR0aDogMDtcbiAgaGVpZ2h0OiAyMHB4O1xuICBjb250ZW50OiBcIlwiO1xuICB2ZXJ0aWNhbC1hbGlnbjogLTIwcHg7XG59XG5cbi5tZGMtbGlzdC1pdGVtX19zZWNvbmRhcnktdGV4dCB7XG4gIC1tb3otb3N4LWZvbnQtc21vb3RoaW5nOiBncmF5c2NhbGU7XG4gIC13ZWJraXQtZm9udC1zbW9vdGhpbmc6IGFudGlhbGlhc2VkO1xuICBmb250LWZhbWlseTogUm9ib3RvLCBzYW5zLXNlcmlmO1xuICAvKiBAYWx0ZXJuYXRlICovXG4gIGZvbnQtZmFtaWx5OiB2YXIoLS1tZGMtdHlwb2dyYXBoeS1ib2R5Mi1mb250LWZhbWlseSwgdmFyKC0tbWRjLXR5cG9ncmFwaHktZm9udC1mYW1pbHksIFJvYm90bywgc2Fucy1zZXJpZikpO1xuICBmb250LXNpemU6IDAuODc1cmVtO1xuICAvKiBAYWx0ZXJuYXRlICovXG4gIGZvbnQtc2l6ZTogdmFyKC0tbWRjLXR5cG9ncmFwaHktYm9keTItZm9udC1zaXplLCAwLjg3NXJlbSk7XG4gIGxpbmUtaGVpZ2h0OiAxLjI1cmVtO1xuICAvKiBAYWx0ZXJuYXRlICovXG4gIGxpbmUtaGVpZ2h0OiB2YXIoLS1tZGMtdHlwb2dyYXBoeS1ib2R5Mi1saW5lLWhlaWdodCwgMS4yNXJlbSk7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7XG4gIC8qIEBhbHRlcm5hdGUgKi9cbiAgZm9udC13ZWlnaHQ6IHZhcigtLW1kYy10eXBvZ3JhcGh5LWJvZHkyLWZvbnQtd2VpZ2h0LCA0MDApO1xuICBsZXR0ZXItc3BhY2luZzogMC4wMTc4NTcxNDI5ZW07XG4gIC8qIEBhbHRlcm5hdGUgKi9cbiAgbGV0dGVyLXNwYWNpbmc6IHZhcigtLW1kYy10eXBvZ3JhcGh5LWJvZHkyLWxldHRlci1zcGFjaW5nLCAwLjAxNzg1NzE0MjllbSk7XG4gIHRleHQtZGVjb3JhdGlvbjogaW5oZXJpdDtcbiAgLyogQGFsdGVybmF0ZSAqL1xuICB0ZXh0LWRlY29yYXRpb246IHZhcigtLW1kYy10eXBvZ3JhcGh5LWJvZHkyLXRleHQtZGVjb3JhdGlvbiwgaW5oZXJpdCk7XG4gIHRleHQtdHJhbnNmb3JtOiBpbmhlcml0O1xuICAvKiBAYWx0ZXJuYXRlICovXG4gIHRleHQtdHJhbnNmb3JtOiB2YXIoLS1tZGMtdHlwb2dyYXBoeS1ib2R5Mi10ZXh0LXRyYW5zZm9ybSwgaW5oZXJpdCk7XG4gIHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xuICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBkaXNwbGF5OiBibG9jaztcbiAgbWFyZ2luLXRvcDogMDtcbiAgLyogQGFsdGVybmF0ZSAqL1xuICBsaW5lLWhlaWdodDogbm9ybWFsO1xufVxuXG4ubWRjLWxpc3QtaXRlbV9fc2Vjb25kYXJ5LXRleHQ6OmJlZm9yZSB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgd2lkdGg6IDA7XG4gIGhlaWdodDogMjBweDtcbiAgY29udGVudDogXCJcIjtcbiAgdmVydGljYWwtYWxpZ246IDA7XG59XG5cbi5tZGMtbGlzdC0tZGVuc2UgLm1kYy1saXN0LWl0ZW1fX3NlY29uZGFyeS10ZXh0IHtcbiAgZm9udC1zaXplOiBpbmhlcml0O1xufVxuXG4ubWRjLWxpc3QtLWRlbnNlIC5tZGMtbGlzdC1pdGVtIHtcbiAgaGVpZ2h0OiA0MHB4O1xufVxuXG4ubWRjLWxpc3QtLWRlbnNlIC5tZGMtbGlzdC1pdGVtX19ncmFwaGljIHtcbiAgLyogQG5vZmxpcCAqL1xuICBtYXJnaW4tbGVmdDogMDtcbiAgLyogQG5vZmxpcCAqL1xuICBtYXJnaW4tcmlnaHQ6IDM2cHg7XG4gIHdpZHRoOiAyMHB4O1xuICBoZWlnaHQ6IDIwcHg7XG59XG5cbi5tZGMtbGlzdC1pdGVtW2Rpcj1ydGxdIC5tZGMtbGlzdC0tZGVuc2UgLm1kYy1saXN0LWl0ZW1fX2dyYXBoaWMsIFtkaXI9cnRsXSAubWRjLWxpc3QtaXRlbSAubWRjLWxpc3QtLWRlbnNlIC5tZGMtbGlzdC1pdGVtX19ncmFwaGljIHtcbiAgLyogQG5vZmxpcCAqL1xuICBtYXJnaW4tbGVmdDogMzZweDtcbiAgLyogQG5vZmxpcCAqL1xuICBtYXJnaW4tcmlnaHQ6IDA7XG59XG5cbi5tZGMtbGlzdC0tYXZhdGFyLWxpc3QgLm1kYy1saXN0LWl0ZW0ge1xuICBoZWlnaHQ6IDU2cHg7XG59XG5cbi5tZGMtbGlzdC0tYXZhdGFyLWxpc3QgLm1kYy1saXN0LWl0ZW1fX2dyYXBoaWMge1xuICAvKiBAbm9mbGlwICovXG4gIG1hcmdpbi1sZWZ0OiAwO1xuICAvKiBAbm9mbGlwICovXG4gIG1hcmdpbi1yaWdodDogMTZweDtcbiAgd2lkdGg6IDQwcHg7XG4gIGhlaWdodDogNDBweDtcbiAgYm9yZGVyLXJhZGl1czogNTAlO1xufVxuXG4ubWRjLWxpc3QtaXRlbVtkaXI9cnRsXSAubWRjLWxpc3QtLWF2YXRhci1saXN0IC5tZGMtbGlzdC1pdGVtX19ncmFwaGljLCBbZGlyPXJ0bF0gLm1kYy1saXN0LWl0ZW0gLm1kYy1saXN0LS1hdmF0YXItbGlzdCAubWRjLWxpc3QtaXRlbV9fZ3JhcGhpYyB7XG4gIC8qIEBub2ZsaXAgKi9cbiAgbWFyZ2luLWxlZnQ6IDE2cHg7XG4gIC8qIEBub2ZsaXAgKi9cbiAgbWFyZ2luLXJpZ2h0OiAwO1xufVxuXG4ubWRjLWxpc3QtLXR3by1saW5lIC5tZGMtbGlzdC1pdGVtX190ZXh0IHtcbiAgYWxpZ24tc2VsZjogZmxleC1zdGFydDtcbn1cblxuLm1kYy1saXN0LS10d28tbGluZSAubWRjLWxpc3QtaXRlbSB7XG4gIGhlaWdodDogNzJweDtcbn1cblxuLm1kYy1saXN0LS10d28tbGluZS5tZGMtbGlzdC0tZGVuc2UgLm1kYy1saXN0LWl0ZW0sXG4ubWRjLWxpc3QtLWF2YXRhci1saXN0Lm1kYy1saXN0LS1kZW5zZSAubWRjLWxpc3QtaXRlbSB7XG4gIGhlaWdodDogNjBweDtcbn1cblxuLm1kYy1saXN0LS1hdmF0YXItbGlzdC5tZGMtbGlzdC0tZGVuc2UgLm1kYy1saXN0LWl0ZW1fX2dyYXBoaWMge1xuICAvKiBAbm9mbGlwICovXG4gIG1hcmdpbi1sZWZ0OiAwO1xuICAvKiBAbm9mbGlwICovXG4gIG1hcmdpbi1yaWdodDogMjBweDtcbiAgd2lkdGg6IDM2cHg7XG4gIGhlaWdodDogMzZweDtcbn1cblxuLm1kYy1saXN0LWl0ZW1bZGlyPXJ0bF0gLm1kYy1saXN0LS1hdmF0YXItbGlzdC5tZGMtbGlzdC0tZGVuc2UgLm1kYy1saXN0LWl0ZW1fX2dyYXBoaWMsIFtkaXI9cnRsXSAubWRjLWxpc3QtaXRlbSAubWRjLWxpc3QtLWF2YXRhci1saXN0Lm1kYy1saXN0LS1kZW5zZSAubWRjLWxpc3QtaXRlbV9fZ3JhcGhpYyB7XG4gIC8qIEBub2ZsaXAgKi9cbiAgbWFyZ2luLWxlZnQ6IDIwcHg7XG4gIC8qIEBub2ZsaXAgKi9cbiAgbWFyZ2luLXJpZ2h0OiAwO1xufVxuXG46bm90KC5tZGMtbGlzdC0tbm9uLWludGVyYWN0aXZlKSA+IDpub3QoLm1kYy1saXN0LWl0ZW0tLWRpc2FibGVkKS5tZGMtbGlzdC1pdGVtIHtcbiAgY3Vyc29yOiBwb2ludGVyO1xufVxuXG5hLm1kYy1saXN0LWl0ZW0ge1xuICBjb2xvcjogaW5oZXJpdDtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xufVxuXG4ubWRjLWxpc3QtZGl2aWRlciB7XG4gIGhlaWdodDogMDtcbiAgbWFyZ2luOiAwO1xuICBib3JkZXI6IG5vbmU7XG4gIGJvcmRlci1ib3R0b20td2lkdGg6IDFweDtcbiAgYm9yZGVyLWJvdHRvbS1zdHlsZTogc29saWQ7XG59XG5cbi5tZGMtbGlzdC1kaXZpZGVyIHtcbiAgYm9yZGVyLWJvdHRvbS1jb2xvcjogcmdiYSgwLCAwLCAwLCAwLjEyKTtcbn1cblxuLm1kYy1saXN0LWRpdmlkZXItLXBhZGRlZCB7XG4gIG1hcmdpbjogMCAxNnB4O1xufVxuXG4ubWRjLWxpc3QtZGl2aWRlci0taW5zZXQge1xuICAvKiBAbm9mbGlwICovXG4gIG1hcmdpbi1sZWZ0OiA3MnB4O1xuICAvKiBAbm9mbGlwICovXG4gIG1hcmdpbi1yaWdodDogMDtcbiAgd2lkdGg6IGNhbGMoMTAwJSAtIDcycHgpO1xufVxuXG4ubWRjLWxpc3QtZ3JvdXBbZGlyPXJ0bF0gLm1kYy1saXN0LWRpdmlkZXItLWluc2V0LCBbZGlyPXJ0bF0gLm1kYy1saXN0LWdyb3VwIC5tZGMtbGlzdC1kaXZpZGVyLS1pbnNldCB7XG4gIC8qIEBub2ZsaXAgKi9cbiAgbWFyZ2luLWxlZnQ6IDA7XG4gIC8qIEBub2ZsaXAgKi9cbiAgbWFyZ2luLXJpZ2h0OiA3MnB4O1xufVxuXG4ubWRjLWxpc3QtZGl2aWRlci0taW5zZXQubWRjLWxpc3QtZGl2aWRlci0tcGFkZGVkIHtcbiAgd2lkdGg6IGNhbGMoMTAwJSAtIDcycHggLSAxNnB4KTtcbn1cblxuLm1kYy1saXN0LWdyb3VwIC5tZGMtbGlzdCB7XG4gIHBhZGRpbmc6IDA7XG59XG5cbi5tZGMtbGlzdC1ncm91cF9fc3ViaGVhZGVyIHtcbiAgLW1vei1vc3gtZm9udC1zbW9vdGhpbmc6IGdyYXlzY2FsZTtcbiAgLXdlYmtpdC1mb250LXNtb290aGluZzogYW50aWFsaWFzZWQ7XG4gIGZvbnQtZmFtaWx5OiBSb2JvdG8sIHNhbnMtc2VyaWY7XG4gIC8qIEBhbHRlcm5hdGUgKi9cbiAgZm9udC1mYW1pbHk6IHZhcigtLW1kYy10eXBvZ3JhcGh5LXN1YnRpdGxlMS1mb250LWZhbWlseSwgdmFyKC0tbWRjLXR5cG9ncmFwaHktZm9udC1mYW1pbHksIFJvYm90bywgc2Fucy1zZXJpZikpO1xuICBmb250LXNpemU6IDFyZW07XG4gIC8qIEBhbHRlcm5hdGUgKi9cbiAgZm9udC1zaXplOiB2YXIoLS1tZGMtdHlwb2dyYXBoeS1zdWJ0aXRsZTEtZm9udC1zaXplLCAxcmVtKTtcbiAgbGluZS1oZWlnaHQ6IDEuNzVyZW07XG4gIC8qIEBhbHRlcm5hdGUgKi9cbiAgbGluZS1oZWlnaHQ6IHZhcigtLW1kYy10eXBvZ3JhcGh5LXN1YnRpdGxlMS1saW5lLWhlaWdodCwgMS43NXJlbSk7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7XG4gIC8qIEBhbHRlcm5hdGUgKi9cbiAgZm9udC13ZWlnaHQ6IHZhcigtLW1kYy10eXBvZ3JhcGh5LXN1YnRpdGxlMS1mb250LXdlaWdodCwgNDAwKTtcbiAgbGV0dGVyLXNwYWNpbmc6IDAuMDA5Mzc1ZW07XG4gIC8qIEBhbHRlcm5hdGUgKi9cbiAgbGV0dGVyLXNwYWNpbmc6IHZhcigtLW1kYy10eXBvZ3JhcGh5LXN1YnRpdGxlMS1sZXR0ZXItc3BhY2luZywgMC4wMDkzNzVlbSk7XG4gIHRleHQtZGVjb3JhdGlvbjogaW5oZXJpdDtcbiAgLyogQGFsdGVybmF0ZSAqL1xuICB0ZXh0LWRlY29yYXRpb246IHZhcigtLW1kYy10eXBvZ3JhcGh5LXN1YnRpdGxlMS10ZXh0LWRlY29yYXRpb24sIGluaGVyaXQpO1xuICB0ZXh0LXRyYW5zZm9ybTogaW5oZXJpdDtcbiAgLyogQGFsdGVybmF0ZSAqL1xuICB0ZXh0LXRyYW5zZm9ybTogdmFyKC0tbWRjLXR5cG9ncmFwaHktc3VidGl0bGUxLXRleHQtdHJhbnNmb3JtLCBpbmhlcml0KTtcbiAgbWFyZ2luOiBjYWxjKCgzcmVtIC0gMS41cmVtKSAvIDIpIDE2cHg7XG59XG5cbjpub3QoLm1kYy1saXN0LS1ub24taW50ZXJhY3RpdmUpID4gOm5vdCgubWRjLWxpc3QtaXRlbS0tZGlzYWJsZWQpLm1kYy1saXN0LWl0ZW0ge1xuICAtLW1kYy1yaXBwbGUtZmctc2l6ZTogMDtcbiAgLS1tZGMtcmlwcGxlLWxlZnQ6IDA7XG4gIC0tbWRjLXJpcHBsZS10b3A6IDA7XG4gIC0tbWRjLXJpcHBsZS1mZy1zY2FsZTogMTtcbiAgLS1tZGMtcmlwcGxlLWZnLXRyYW5zbGF0ZS1lbmQ6IDA7XG4gIC0tbWRjLXJpcHBsZS1mZy10cmFuc2xhdGUtc3RhcnQ6IDA7XG4gIC13ZWJraXQtdGFwLWhpZ2hsaWdodC1jb2xvcjogcmdiYSgwLCAwLCAwLCAwKTtcbn1cblxuOm5vdCgubWRjLWxpc3QtLW5vbi1pbnRlcmFjdGl2ZSkgPiA6bm90KC5tZGMtbGlzdC1pdGVtLS1kaXNhYmxlZCkubWRjLWxpc3QtaXRlbTo6YmVmb3JlLCA6bm90KC5tZGMtbGlzdC0tbm9uLWludGVyYWN0aXZlKSA+IDpub3QoLm1kYy1saXN0LWl0ZW0tLWRpc2FibGVkKS5tZGMtbGlzdC1pdGVtOjphZnRlciB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgYm9yZGVyLXJhZGl1czogNTAlO1xuICBvcGFjaXR5OiAwO1xuICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgY29udGVudDogXCJcIjtcbn1cblxuOm5vdCgubWRjLWxpc3QtLW5vbi1pbnRlcmFjdGl2ZSkgPiA6bm90KC5tZGMtbGlzdC1pdGVtLS1kaXNhYmxlZCkubWRjLWxpc3QtaXRlbTo6YmVmb3JlIHtcbiAgdHJhbnNpdGlvbjogb3BhY2l0eSAxNW1zIGxpbmVhciwgYmFja2dyb3VuZC1jb2xvciAxNW1zIGxpbmVhcjtcbiAgei1pbmRleDogMTtcbn1cblxuOm5vdCgubWRjLWxpc3QtLW5vbi1pbnRlcmFjdGl2ZSkgPiA6bm90KC5tZGMtbGlzdC1pdGVtLS1kaXNhYmxlZCkubWRjLWxpc3QtaXRlbS5tZGMtcmlwcGxlLXVwZ3JhZGVkOjpiZWZvcmUge1xuICB0cmFuc2Zvcm06IHNjYWxlKHZhcigtLW1kYy1yaXBwbGUtZmctc2NhbGUsIDEpKTtcbn1cblxuOm5vdCgubWRjLWxpc3QtLW5vbi1pbnRlcmFjdGl2ZSkgPiA6bm90KC5tZGMtbGlzdC1pdGVtLS1kaXNhYmxlZCkubWRjLWxpc3QtaXRlbS5tZGMtcmlwcGxlLXVwZ3JhZGVkOjphZnRlciB7XG4gIHRvcDogMDtcbiAgLyogQG5vZmxpcCAqL1xuICBsZWZ0OiAwO1xuICB0cmFuc2Zvcm06IHNjYWxlKDApO1xuICB0cmFuc2Zvcm0tb3JpZ2luOiBjZW50ZXIgY2VudGVyO1xufVxuXG46bm90KC5tZGMtbGlzdC0tbm9uLWludGVyYWN0aXZlKSA+IDpub3QoLm1kYy1saXN0LWl0ZW0tLWRpc2FibGVkKS5tZGMtbGlzdC1pdGVtLm1kYy1yaXBwbGUtdXBncmFkZWQtLXVuYm91bmRlZDo6YWZ0ZXIge1xuICB0b3A6IHZhcigtLW1kYy1yaXBwbGUtdG9wLCAwKTtcbiAgLyogQG5vZmxpcCAqL1xuICBsZWZ0OiB2YXIoLS1tZGMtcmlwcGxlLWxlZnQsIDApO1xufVxuXG46bm90KC5tZGMtbGlzdC0tbm9uLWludGVyYWN0aXZlKSA+IDpub3QoLm1kYy1saXN0LWl0ZW0tLWRpc2FibGVkKS5tZGMtbGlzdC1pdGVtLm1kYy1yaXBwbGUtdXBncmFkZWQtLWZvcmVncm91bmQtYWN0aXZhdGlvbjo6YWZ0ZXIge1xuICBhbmltYXRpb246IG1kYy1yaXBwbGUtZmctcmFkaXVzLWluIDIyNW1zIGZvcndhcmRzLCBtZGMtcmlwcGxlLWZnLW9wYWNpdHktaW4gNzVtcyBmb3J3YXJkcztcbn1cblxuOm5vdCgubWRjLWxpc3QtLW5vbi1pbnRlcmFjdGl2ZSkgPiA6bm90KC5tZGMtbGlzdC1pdGVtLS1kaXNhYmxlZCkubWRjLWxpc3QtaXRlbS5tZGMtcmlwcGxlLXVwZ3JhZGVkLS1mb3JlZ3JvdW5kLWRlYWN0aXZhdGlvbjo6YWZ0ZXIge1xuICBhbmltYXRpb246IG1kYy1yaXBwbGUtZmctb3BhY2l0eS1vdXQgMTUwbXM7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlKHZhcigtLW1kYy1yaXBwbGUtZmctdHJhbnNsYXRlLWVuZCwgMCkpIHNjYWxlKHZhcigtLW1kYy1yaXBwbGUtZmctc2NhbGUsIDEpKTtcbn1cblxuOm5vdCgubWRjLWxpc3QtLW5vbi1pbnRlcmFjdGl2ZSkgPiA6bm90KC5tZGMtbGlzdC1pdGVtLS1kaXNhYmxlZCkubWRjLWxpc3QtaXRlbTo6YmVmb3JlLCA6bm90KC5tZGMtbGlzdC0tbm9uLWludGVyYWN0aXZlKSA+IDpub3QoLm1kYy1saXN0LWl0ZW0tLWRpc2FibGVkKS5tZGMtbGlzdC1pdGVtOjphZnRlciB7XG4gIHRvcDogY2FsYyg1MCUgLSAxMDAlKTtcbiAgLyogQG5vZmxpcCAqL1xuICBsZWZ0OiBjYWxjKDUwJSAtIDEwMCUpO1xuICB3aWR0aDogMjAwJTtcbiAgaGVpZ2h0OiAyMDAlO1xufVxuXG46bm90KC5tZGMtbGlzdC0tbm9uLWludGVyYWN0aXZlKSA+IDpub3QoLm1kYy1saXN0LWl0ZW0tLWRpc2FibGVkKS5tZGMtbGlzdC1pdGVtLm1kYy1yaXBwbGUtdXBncmFkZWQ6OmFmdGVyIHtcbiAgd2lkdGg6IHZhcigtLW1kYy1yaXBwbGUtZmctc2l6ZSwgMTAwJSk7XG4gIGhlaWdodDogdmFyKC0tbWRjLXJpcHBsZS1mZy1zaXplLCAxMDAlKTtcbn1cblxuOm5vdCgubWRjLWxpc3QtLW5vbi1pbnRlcmFjdGl2ZSkgPiA6bm90KC5tZGMtbGlzdC1pdGVtLS1kaXNhYmxlZCkubWRjLWxpc3QtaXRlbTo6YmVmb3JlLCA6bm90KC5tZGMtbGlzdC0tbm9uLWludGVyYWN0aXZlKSA+IDpub3QoLm1kYy1saXN0LWl0ZW0tLWRpc2FibGVkKS5tZGMtbGlzdC1pdGVtOjphZnRlciB7XG4gIGJhY2tncm91bmQtY29sb3I6ICMwMDA7XG59XG5cbjpub3QoLm1kYy1saXN0LS1ub24taW50ZXJhY3RpdmUpID4gOm5vdCgubWRjLWxpc3QtaXRlbS0tZGlzYWJsZWQpLm1kYy1saXN0LWl0ZW06aG92ZXI6OmJlZm9yZSB7XG4gIG9wYWNpdHk6IDAuMDQ7XG59XG5cbjpub3QoLm1kYy1saXN0LS1ub24taW50ZXJhY3RpdmUpID4gOm5vdCgubWRjLWxpc3QtaXRlbS0tZGlzYWJsZWQpLm1kYy1saXN0LWl0ZW0ubWRjLXJpcHBsZS11cGdyYWRlZC0tYmFja2dyb3VuZC1mb2N1c2VkOjpiZWZvcmUsIDpub3QoLm1kYy1saXN0LS1ub24taW50ZXJhY3RpdmUpID4gOm5vdCgubWRjLWxpc3QtaXRlbS0tZGlzYWJsZWQpLm1kYy1saXN0LWl0ZW06bm90KC5tZGMtcmlwcGxlLXVwZ3JhZGVkKTpmb2N1czo6YmVmb3JlIHtcbiAgdHJhbnNpdGlvbi1kdXJhdGlvbjogNzVtcztcbiAgb3BhY2l0eTogMC4xMjtcbn1cblxuOm5vdCgubWRjLWxpc3QtLW5vbi1pbnRlcmFjdGl2ZSkgPiA6bm90KC5tZGMtbGlzdC1pdGVtLS1kaXNhYmxlZCkubWRjLWxpc3QtaXRlbTpub3QoLm1kYy1yaXBwbGUtdXBncmFkZWQpOjphZnRlciB7XG4gIHRyYW5zaXRpb246IG9wYWNpdHkgMTUwbXMgbGluZWFyO1xufVxuXG46bm90KC5tZGMtbGlzdC0tbm9uLWludGVyYWN0aXZlKSA+IDpub3QoLm1kYy1saXN0LWl0ZW0tLWRpc2FibGVkKS5tZGMtbGlzdC1pdGVtOm5vdCgubWRjLXJpcHBsZS11cGdyYWRlZCk6YWN0aXZlOjphZnRlciB7XG4gIHRyYW5zaXRpb24tZHVyYXRpb246IDc1bXM7XG4gIG9wYWNpdHk6IDAuMTI7XG59XG5cbjpub3QoLm1kYy1saXN0LS1ub24taW50ZXJhY3RpdmUpID4gOm5vdCgubWRjLWxpc3QtaXRlbS0tZGlzYWJsZWQpLm1kYy1saXN0LWl0ZW0ubWRjLXJpcHBsZS11cGdyYWRlZCB7XG4gIC0tbWRjLXJpcHBsZS1mZy1vcGFjaXR5OiAwLjEyO1xufVxuXG46bm90KC5tZGMtbGlzdC0tbm9uLWludGVyYWN0aXZlKSA+IDpub3QoLm1kYy1saXN0LWl0ZW0tLWRpc2FibGVkKS5tZGMtbGlzdC1pdGVtLS1hY3RpdmF0ZWQ6OmJlZm9yZSB7XG4gIG9wYWNpdHk6IDAuMjQ7XG59XG5cbjpub3QoLm1kYy1saXN0LS1ub24taW50ZXJhY3RpdmUpID4gOm5vdCgubWRjLWxpc3QtaXRlbS0tZGlzYWJsZWQpLm1kYy1saXN0LWl0ZW0tLWFjdGl2YXRlZDo6YmVmb3JlLCA6bm90KC5tZGMtbGlzdC0tbm9uLWludGVyYWN0aXZlKSA+IDpub3QoLm1kYy1saXN0LWl0ZW0tLWRpc2FibGVkKS5tZGMtbGlzdC1pdGVtLS1hY3RpdmF0ZWQ6OmFmdGVyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzAwQUVFRjtcbiAgLyogQGFsdGVybmF0ZSAqL1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1tZGMtdGhlbWUtcHJpbWFyeSwgIzAwQUVFRik7XG59XG5cbjpub3QoLm1kYy1saXN0LS1ub24taW50ZXJhY3RpdmUpID4gOm5vdCgubWRjLWxpc3QtaXRlbS0tZGlzYWJsZWQpLm1kYy1saXN0LWl0ZW0tLWFjdGl2YXRlZDpob3Zlcjo6YmVmb3JlIHtcbiAgb3BhY2l0eTogMC4zMjtcbn1cblxuOm5vdCgubWRjLWxpc3QtLW5vbi1pbnRlcmFjdGl2ZSkgPiA6bm90KC5tZGMtbGlzdC1pdGVtLS1kaXNhYmxlZCkubWRjLWxpc3QtaXRlbS0tYWN0aXZhdGVkLm1kYy1yaXBwbGUtdXBncmFkZWQtLWJhY2tncm91bmQtZm9jdXNlZDo6YmVmb3JlLCA6bm90KC5tZGMtbGlzdC0tbm9uLWludGVyYWN0aXZlKSA+IDpub3QoLm1kYy1saXN0LWl0ZW0tLWRpc2FibGVkKS5tZGMtbGlzdC1pdGVtLS1hY3RpdmF0ZWQ6bm90KC5tZGMtcmlwcGxlLXVwZ3JhZGVkKTpmb2N1czo6YmVmb3JlIHtcbiAgdHJhbnNpdGlvbi1kdXJhdGlvbjogNzVtcztcbiAgb3BhY2l0eTogMC40ODtcbn1cblxuOm5vdCgubWRjLWxpc3QtLW5vbi1pbnRlcmFjdGl2ZSkgPiA6bm90KC5tZGMtbGlzdC1pdGVtLS1kaXNhYmxlZCkubWRjLWxpc3QtaXRlbS0tYWN0aXZhdGVkOm5vdCgubWRjLXJpcHBsZS11cGdyYWRlZCk6OmFmdGVyIHtcbiAgdHJhbnNpdGlvbjogb3BhY2l0eSAxNTBtcyBsaW5lYXI7XG59XG5cbjpub3QoLm1kYy1saXN0LS1ub24taW50ZXJhY3RpdmUpID4gOm5vdCgubWRjLWxpc3QtaXRlbS0tZGlzYWJsZWQpLm1kYy1saXN0LWl0ZW0tLWFjdGl2YXRlZDpub3QoLm1kYy1yaXBwbGUtdXBncmFkZWQpOmFjdGl2ZTo6YWZ0ZXIge1xuICB0cmFuc2l0aW9uLWR1cmF0aW9uOiA3NW1zO1xuICBvcGFjaXR5OiAwLjQ4O1xufVxuXG46bm90KC5tZGMtbGlzdC0tbm9uLWludGVyYWN0aXZlKSA+IDpub3QoLm1kYy1saXN0LWl0ZW0tLWRpc2FibGVkKS5tZGMtbGlzdC1pdGVtLS1hY3RpdmF0ZWQubWRjLXJpcHBsZS11cGdyYWRlZCB7XG4gIC0tbWRjLXJpcHBsZS1mZy1vcGFjaXR5OiAwLjQ4O1xufVxuXG46bm90KC5tZGMtbGlzdC0tbm9uLWludGVyYWN0aXZlKSA+IDpub3QoLm1kYy1saXN0LWl0ZW0tLWRpc2FibGVkKS5tZGMtbGlzdC1pdGVtLS1zZWxlY3RlZDo6YmVmb3JlIHtcbiAgb3BhY2l0eTogMC4xNjtcbn1cblxuOm5vdCgubWRjLWxpc3QtLW5vbi1pbnRlcmFjdGl2ZSkgPiA6bm90KC5tZGMtbGlzdC1pdGVtLS1kaXNhYmxlZCkubWRjLWxpc3QtaXRlbS0tc2VsZWN0ZWQ6OmJlZm9yZSwgOm5vdCgubWRjLWxpc3QtLW5vbi1pbnRlcmFjdGl2ZSkgPiA6bm90KC5tZGMtbGlzdC1pdGVtLS1kaXNhYmxlZCkubWRjLWxpc3QtaXRlbS0tc2VsZWN0ZWQ6OmFmdGVyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzAwQUVFRjtcbiAgLyogQGFsdGVybmF0ZSAqL1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1tZGMtdGhlbWUtcHJpbWFyeSwgIzAwQUVFRik7XG59XG5cbjpub3QoLm1kYy1saXN0LS1ub24taW50ZXJhY3RpdmUpID4gOm5vdCgubWRjLWxpc3QtaXRlbS0tZGlzYWJsZWQpLm1kYy1saXN0LWl0ZW0tLXNlbGVjdGVkOmhvdmVyOjpiZWZvcmUge1xuICBvcGFjaXR5OiAwLjI0O1xufVxuXG46bm90KC5tZGMtbGlzdC0tbm9uLWludGVyYWN0aXZlKSA+IDpub3QoLm1kYy1saXN0LWl0ZW0tLWRpc2FibGVkKS5tZGMtbGlzdC1pdGVtLS1zZWxlY3RlZC5tZGMtcmlwcGxlLXVwZ3JhZGVkLS1iYWNrZ3JvdW5kLWZvY3VzZWQ6OmJlZm9yZSwgOm5vdCgubWRjLWxpc3QtLW5vbi1pbnRlcmFjdGl2ZSkgPiA6bm90KC5tZGMtbGlzdC1pdGVtLS1kaXNhYmxlZCkubWRjLWxpc3QtaXRlbS0tc2VsZWN0ZWQ6bm90KC5tZGMtcmlwcGxlLXVwZ3JhZGVkKTpmb2N1czo6YmVmb3JlIHtcbiAgdHJhbnNpdGlvbi1kdXJhdGlvbjogNzVtcztcbiAgb3BhY2l0eTogMC40O1xufVxuXG46bm90KC5tZGMtbGlzdC0tbm9uLWludGVyYWN0aXZlKSA+IDpub3QoLm1kYy1saXN0LWl0ZW0tLWRpc2FibGVkKS5tZGMtbGlzdC1pdGVtLS1zZWxlY3RlZDpub3QoLm1kYy1yaXBwbGUtdXBncmFkZWQpOjphZnRlciB7XG4gIHRyYW5zaXRpb246IG9wYWNpdHkgMTUwbXMgbGluZWFyO1xufVxuXG46bm90KC5tZGMtbGlzdC0tbm9uLWludGVyYWN0aXZlKSA+IDpub3QoLm1kYy1saXN0LWl0ZW0tLWRpc2FibGVkKS5tZGMtbGlzdC1pdGVtLS1zZWxlY3RlZDpub3QoLm1kYy1yaXBwbGUtdXBncmFkZWQpOmFjdGl2ZTo6YWZ0ZXIge1xuICB0cmFuc2l0aW9uLWR1cmF0aW9uOiA3NW1zO1xuICBvcGFjaXR5OiAwLjQ7XG59XG5cbjpub3QoLm1kYy1saXN0LS1ub24taW50ZXJhY3RpdmUpID4gOm5vdCgubWRjLWxpc3QtaXRlbS0tZGlzYWJsZWQpLm1kYy1saXN0LWl0ZW0tLXNlbGVjdGVkLm1kYy1yaXBwbGUtdXBncmFkZWQge1xuICAtLW1kYy1yaXBwbGUtZmctb3BhY2l0eTogMC40O1xufVxuXG46bm90KC5tZGMtbGlzdC0tbm9uLWludGVyYWN0aXZlKSA+IC5tZGMtbGlzdC1pdGVtLS1kaXNhYmxlZCB7XG4gIC0tbWRjLXJpcHBsZS1mZy1zaXplOiAwO1xuICAtLW1kYy1yaXBwbGUtbGVmdDogMDtcbiAgLS1tZGMtcmlwcGxlLXRvcDogMDtcbiAgLS1tZGMtcmlwcGxlLWZnLXNjYWxlOiAxO1xuICAtLW1kYy1yaXBwbGUtZmctdHJhbnNsYXRlLWVuZDogMDtcbiAgLS1tZGMtcmlwcGxlLWZnLXRyYW5zbGF0ZS1zdGFydDogMDtcbiAgLXdlYmtpdC10YXAtaGlnaGxpZ2h0LWNvbG9yOiByZ2JhKDAsIDAsIDAsIDApO1xufVxuXG46bm90KC5tZGMtbGlzdC0tbm9uLWludGVyYWN0aXZlKSA+IC5tZGMtbGlzdC1pdGVtLS1kaXNhYmxlZDo6YmVmb3JlLCA6bm90KC5tZGMtbGlzdC0tbm9uLWludGVyYWN0aXZlKSA+IC5tZGMtbGlzdC1pdGVtLS1kaXNhYmxlZDo6YWZ0ZXIge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgb3BhY2l0eTogMDtcbiAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gIGNvbnRlbnQ6IFwiXCI7XG59XG5cbjpub3QoLm1kYy1saXN0LS1ub24taW50ZXJhY3RpdmUpID4gLm1kYy1saXN0LWl0ZW0tLWRpc2FibGVkOjpiZWZvcmUge1xuICB0cmFuc2l0aW9uOiBvcGFjaXR5IDE1bXMgbGluZWFyLCBiYWNrZ3JvdW5kLWNvbG9yIDE1bXMgbGluZWFyO1xuICB6LWluZGV4OiAxO1xufVxuXG46bm90KC5tZGMtbGlzdC0tbm9uLWludGVyYWN0aXZlKSA+IC5tZGMtbGlzdC1pdGVtLS1kaXNhYmxlZC5tZGMtcmlwcGxlLXVwZ3JhZGVkOjpiZWZvcmUge1xuICB0cmFuc2Zvcm06IHNjYWxlKHZhcigtLW1kYy1yaXBwbGUtZmctc2NhbGUsIDEpKTtcbn1cblxuOm5vdCgubWRjLWxpc3QtLW5vbi1pbnRlcmFjdGl2ZSkgPiAubWRjLWxpc3QtaXRlbS0tZGlzYWJsZWQubWRjLXJpcHBsZS11cGdyYWRlZDo6YWZ0ZXIge1xuICB0b3A6IDA7XG4gIC8qIEBub2ZsaXAgKi9cbiAgbGVmdDogMDtcbiAgdHJhbnNmb3JtOiBzY2FsZSgwKTtcbiAgdHJhbnNmb3JtLW9yaWdpbjogY2VudGVyIGNlbnRlcjtcbn1cblxuOm5vdCgubWRjLWxpc3QtLW5vbi1pbnRlcmFjdGl2ZSkgPiAubWRjLWxpc3QtaXRlbS0tZGlzYWJsZWQubWRjLXJpcHBsZS11cGdyYWRlZC0tdW5ib3VuZGVkOjphZnRlciB7XG4gIHRvcDogdmFyKC0tbWRjLXJpcHBsZS10b3AsIDApO1xuICAvKiBAbm9mbGlwICovXG4gIGxlZnQ6IHZhcigtLW1kYy1yaXBwbGUtbGVmdCwgMCk7XG59XG5cbjpub3QoLm1kYy1saXN0LS1ub24taW50ZXJhY3RpdmUpID4gLm1kYy1saXN0LWl0ZW0tLWRpc2FibGVkLm1kYy1yaXBwbGUtdXBncmFkZWQtLWZvcmVncm91bmQtYWN0aXZhdGlvbjo6YWZ0ZXIge1xuICBhbmltYXRpb246IG1kYy1yaXBwbGUtZmctcmFkaXVzLWluIDIyNW1zIGZvcndhcmRzLCBtZGMtcmlwcGxlLWZnLW9wYWNpdHktaW4gNzVtcyBmb3J3YXJkcztcbn1cblxuOm5vdCgubWRjLWxpc3QtLW5vbi1pbnRlcmFjdGl2ZSkgPiAubWRjLWxpc3QtaXRlbS0tZGlzYWJsZWQubWRjLXJpcHBsZS11cGdyYWRlZC0tZm9yZWdyb3VuZC1kZWFjdGl2YXRpb246OmFmdGVyIHtcbiAgYW5pbWF0aW9uOiBtZGMtcmlwcGxlLWZnLW9wYWNpdHktb3V0IDE1MG1zO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSh2YXIoLS1tZGMtcmlwcGxlLWZnLXRyYW5zbGF0ZS1lbmQsIDApKSBzY2FsZSh2YXIoLS1tZGMtcmlwcGxlLWZnLXNjYWxlLCAxKSk7XG59XG5cbjpub3QoLm1kYy1saXN0LS1ub24taW50ZXJhY3RpdmUpID4gLm1kYy1saXN0LWl0ZW0tLWRpc2FibGVkOjpiZWZvcmUsIDpub3QoLm1kYy1saXN0LS1ub24taW50ZXJhY3RpdmUpID4gLm1kYy1saXN0LWl0ZW0tLWRpc2FibGVkOjphZnRlciB7XG4gIHRvcDogY2FsYyg1MCUgLSAxMDAlKTtcbiAgLyogQG5vZmxpcCAqL1xuICBsZWZ0OiBjYWxjKDUwJSAtIDEwMCUpO1xuICB3aWR0aDogMjAwJTtcbiAgaGVpZ2h0OiAyMDAlO1xufVxuXG46bm90KC5tZGMtbGlzdC0tbm9uLWludGVyYWN0aXZlKSA+IC5tZGMtbGlzdC1pdGVtLS1kaXNhYmxlZC5tZGMtcmlwcGxlLXVwZ3JhZGVkOjphZnRlciB7XG4gIHdpZHRoOiB2YXIoLS1tZGMtcmlwcGxlLWZnLXNpemUsIDEwMCUpO1xuICBoZWlnaHQ6IHZhcigtLW1kYy1yaXBwbGUtZmctc2l6ZSwgMTAwJSk7XG59XG5cbjpub3QoLm1kYy1saXN0LS1ub24taW50ZXJhY3RpdmUpID4gLm1kYy1saXN0LWl0ZW0tLWRpc2FibGVkOjpiZWZvcmUsIDpub3QoLm1kYy1saXN0LS1ub24taW50ZXJhY3RpdmUpID4gLm1kYy1saXN0LWl0ZW0tLWRpc2FibGVkOjphZnRlciB7XG4gIGJhY2tncm91bmQtY29sb3I6ICMwMDA7XG59XG5cbjpub3QoLm1kYy1saXN0LS1ub24taW50ZXJhY3RpdmUpID4gLm1kYy1saXN0LWl0ZW0tLWRpc2FibGVkLm1kYy1yaXBwbGUtdXBncmFkZWQtLWJhY2tncm91bmQtZm9jdXNlZDo6YmVmb3JlLCA6bm90KC5tZGMtbGlzdC0tbm9uLWludGVyYWN0aXZlKSA+IC5tZGMtbGlzdC1pdGVtLS1kaXNhYmxlZDpub3QoLm1kYy1yaXBwbGUtdXBncmFkZWQpOmZvY3VzOjpiZWZvcmUge1xuICB0cmFuc2l0aW9uLWR1cmF0aW9uOiA3NW1zO1xuICBvcGFjaXR5OiAwLjI0O1xufVxuXG4ubWRjLW1lbnUge1xuICBtaW4td2lkdGg6IDExMnB4O1xufVxuXG4ubWRjLW1lbnUgLm1kYy1saXN0LWl0ZW1fX21ldGEge1xuICBjb2xvcjogcmdiYSgwLCAwLCAwLCAwLjg3KTtcbn1cblxuLm1kYy1tZW51IC5tZGMtbGlzdC1pdGVtX19ncmFwaGljIHtcbiAgY29sb3I6IHJnYmEoMCwgMCwgMCwgMC44Nyk7XG59XG5cbi5tZGMtbWVudSAubWRjLWxpc3Qge1xuICBjb2xvcjogcmdiYSgwLCAwLCAwLCAwLjg3KTtcbiAgLyogQGFsdGVybmF0ZSAqL1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG59XG5cbi5tZGMtbWVudSAubWRjLWxpc3QgLm1kYy1lbGV2YXRpb24tb3ZlcmxheSB7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDEwMCU7XG4gIHRvcDogMDtcbiAgLyogQG5vZmxpcCAqL1xuICBsZWZ0OiAwO1xufVxuXG4ubWRjLW1lbnUgLm1kYy1saXN0LWRpdmlkZXIge1xuICBtYXJnaW46IDhweCAwO1xufVxuXG4ubWRjLW1lbnUgLm1kYy1saXN0LWl0ZW0ge1xuICB1c2VyLXNlbGVjdDogbm9uZTtcbn1cblxuLm1kYy1tZW51IC5tZGMtbGlzdC1pdGVtLS1kaXNhYmxlZCB7XG4gIGN1cnNvcjogYXV0bztcbn1cblxuLm1kYy1tZW51IGEubWRjLWxpc3QtaXRlbSAubWRjLWxpc3QtaXRlbV9fdGV4dCxcbi5tZGMtbWVudSBhLm1kYy1saXN0LWl0ZW0gLm1kYy1saXN0LWl0ZW1fX2dyYXBoaWMge1xuICBwb2ludGVyLWV2ZW50czogbm9uZTtcbn1cblxuLm1kYy1tZW51X19zZWxlY3Rpb24tZ3JvdXAge1xuICBwYWRkaW5nOiAwO1xuICBmaWxsOiBjdXJyZW50Q29sb3I7XG59XG5cbi5tZGMtbWVudV9fc2VsZWN0aW9uLWdyb3VwIC5tZGMtbGlzdC1pdGVtIHtcbiAgLyogQG5vZmxpcCAqL1xuICBwYWRkaW5nLWxlZnQ6IDU2cHg7XG4gIC8qIEBub2ZsaXAgKi9cbiAgcGFkZGluZy1yaWdodDogMTZweDtcbn1cblxuW2Rpcj1ydGxdIC5tZGMtbWVudV9fc2VsZWN0aW9uLWdyb3VwIC5tZGMtbGlzdC1pdGVtLCAubWRjLW1lbnVfX3NlbGVjdGlvbi1ncm91cCAubWRjLWxpc3QtaXRlbVtkaXI9cnRsXSB7XG4gIC8qIEBub2ZsaXAgKi9cbiAgcGFkZGluZy1sZWZ0OiAxNnB4O1xuICAvKiBAbm9mbGlwICovXG4gIHBhZGRpbmctcmlnaHQ6IDU2cHg7XG59XG5cbi5tZGMtbWVudV9fc2VsZWN0aW9uLWdyb3VwIC5tZGMtbWVudV9fc2VsZWN0aW9uLWdyb3VwLWljb24ge1xuICAvKiBAbm9mbGlwICovXG4gIGxlZnQ6IDE2cHg7XG4gIC8qIEBub2ZsaXAgKi9cbiAgcmlnaHQ6IGluaXRpYWw7XG4gIGRpc3BsYXk6IG5vbmU7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiA1MCU7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTtcbn1cblxuW2Rpcj1ydGxdIC5tZGMtbWVudV9fc2VsZWN0aW9uLWdyb3VwIC5tZGMtbWVudV9fc2VsZWN0aW9uLWdyb3VwLWljb24sIC5tZGMtbWVudV9fc2VsZWN0aW9uLWdyb3VwIC5tZGMtbWVudV9fc2VsZWN0aW9uLWdyb3VwLWljb25bZGlyPXJ0bF0ge1xuICAvKiBAbm9mbGlwICovXG4gIGxlZnQ6IGluaXRpYWw7XG4gIC8qIEBub2ZsaXAgKi9cbiAgcmlnaHQ6IDE2cHg7XG59XG5cbi5tZGMtbWVudS1pdGVtLS1zZWxlY3RlZCAubWRjLW1lbnVfX3NlbGVjdGlvbi1ncm91cC1pY29uIHtcbiAgZGlzcGxheTogaW5saW5lO1xufVxuXG4ubWRjLW1lbnUtc3VyZmFjZSB7XG4gIGRpc3BsYXk6IG5vbmU7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgbWF4LXdpZHRoOiBjYWxjKDEwMHZ3IC0gMzJweCk7XG4gIG1heC1oZWlnaHQ6IGNhbGMoMTAwdmggLSAzMnB4KTtcbiAgbWFyZ2luOiAwO1xuICBwYWRkaW5nOiAwO1xuICB0cmFuc2Zvcm06IHNjYWxlKDEpO1xuICB0cmFuc2Zvcm0tb3JpZ2luOiB0b3AgbGVmdDtcbiAgb3BhY2l0eTogMDtcbiAgb3ZlcmZsb3c6IGF1dG87XG4gIHdpbGwtY2hhbmdlOiB0cmFuc2Zvcm0sIG9wYWNpdHk7XG4gIHotaW5kZXg6IDg7XG4gIHRyYW5zaXRpb246IG9wYWNpdHkgMC4wM3MgbGluZWFyLCB0cmFuc2Zvcm0gMC4xMnMgY3ViaWMtYmV6aWVyKDAsIDAsIDAuMiwgMSk7XG4gIC8qIEBhbHRlcm5hdGUgKi9cbiAgYm94LXNoYWRvdzogMHB4IDVweCA1cHggLTNweCByZ2JhKDAsIDAsIDAsIDAuMiksIDBweCA4cHggMTBweCAxcHggcmdiYSgwLCAwLCAwLCAwLjE0KSwgMHB4IDNweCAxNHB4IDJweCByZ2JhKDAsIDAsIDAsIDAuMTIpO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xuICAvKiBAYWx0ZXJuYXRlICovXG4gIGJhY2tncm91bmQtY29sb3I6IHZhcigtLW1kYy10aGVtZS1zdXJmYWNlLCAjZmZmKTtcbiAgY29sb3I6ICMwMDA7XG4gIC8qIEBhbHRlcm5hdGUgKi9cbiAgY29sb3I6IHZhcigtLW1kYy10aGVtZS1vbi1zdXJmYWNlLCAjMDAwKTtcbiAgYm9yZGVyLXJhZGl1czogNHB4O1xuICAvKiBAbm9mbGlwICovXG4gIHRyYW5zZm9ybS1vcmlnaW4tbGVmdDogdG9wIGxlZnQ7XG4gIC8qIEBub2ZsaXAgKi9cbiAgdHJhbnNmb3JtLW9yaWdpbi1yaWdodDogdG9wIHJpZ2h0O1xufVxuXG4ubWRjLW1lbnUtc3VyZmFjZTpmb2N1cyB7XG4gIG91dGxpbmU6IG5vbmU7XG59XG5cbi5tZGMtbWVudS1zdXJmYWNlLS1vcGVuIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB0cmFuc2Zvcm06IHNjYWxlKDEpO1xuICBvcGFjaXR5OiAxO1xufVxuXG4ubWRjLW1lbnUtc3VyZmFjZS0tYW5pbWF0aW5nLW9wZW4ge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHRyYW5zZm9ybTogc2NhbGUoMC44KTtcbiAgb3BhY2l0eTogMDtcbn1cblxuLm1kYy1tZW51LXN1cmZhY2UtLWFuaW1hdGluZy1jbG9zZWQge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIG9wYWNpdHk6IDA7XG4gIHRyYW5zaXRpb246IG9wYWNpdHkgMC4wNzVzIGxpbmVhcjtcbn1cblxuW2Rpcj1ydGxdIC5tZGMtbWVudS1zdXJmYWNlLCAubWRjLW1lbnUtc3VyZmFjZVtkaXI9cnRsXSB7XG4gIC8qIEBub2ZsaXAgKi9cbiAgdHJhbnNmb3JtLW9yaWdpbi1sZWZ0OiB0b3AgcmlnaHQ7XG4gIC8qIEBub2ZsaXAgKi9cbiAgdHJhbnNmb3JtLW9yaWdpbi1yaWdodDogdG9wIGxlZnQ7XG59XG5cbi5tZGMtbWVudS1zdXJmYWNlLS1hbmNob3Ige1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIG92ZXJmbG93OiB2aXNpYmxlO1xufVxuXG4ubWRjLW1lbnUtc3VyZmFjZS0tZml4ZWQge1xuICBwb3NpdGlvbjogZml4ZWQ7XG59XG5cbi5tZGMtbGlzdC1pdGVtLS1kaXNhYmxlZCB7XG4gIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICBjb2xvcjogcmdiYSgzMiwgMjksIDI5LCAwLjMpO1xufVxuXG4ubWRjLW1lbnUtc3VyZmFjZSB7XG4gIHNjcm9sbGJhci13aWR0aDogdGhpbjtcbiAgc2Nyb2xsYmFyLWNvbG9yOiAjZDZkOGRhICNmZmY7XG4gIHotaW5kZXg6IDIwO1xufVxuLm1kYy1tZW51LXN1cmZhY2U6Oi13ZWJraXQtc2Nyb2xsYmFyIHtcbiAgd2lkdGg6IDhweDtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcbn1cbi5tZGMtbWVudS1zdXJmYWNlOjotd2Via2l0LXNjcm9sbGJhci10aHVtYiB7XG4gIG91dGxpbmU6IG5vbmU7XG4gIHdpZHRoOiA3cHg7XG4gIGJvcmRlci1yYWRpdXM6IDdweDtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2Q2ZDhkYTtcbiAgYm9yZGVyOiAxcHggc29saWQgI2ZmZjtcbn1cbi5tZGMtbWVudS1zdXJmYWNlLS1hbmNob3IgPiBidXR0b24ge1xuICBkaXNwbGF5OiBibG9jaztcbiAgdGV4dC1hbGlnbjogbGVmdDtcbiAgdGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7XG59XG5cbi5tZGMtaWNvbi1idXR0b24ubWF0ZXJpYWwtaWNvbnMge1xuICB3aWR0aDogNDhweDtcbiAgZm9udC1mYW1pbHk6IG1hdGVyaWFsSWNvbnNSb3VuZFdlYiwgc2Fucy1zZXJpZjtcbn1cblxuLm1kYy1yYWRpbyB7XG4gIG92ZXJmbG93OiBoaWRkZW47XG59XG5cbi5tZGMtcmFkaW9fX3JpcHBsZSB7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIGJvcmRlci1yYWRpdXM6IDEwMHB4O1xufVxuXG4ubWRjLW1lbnUgLm1kYy1saXN0LWl0ZW0ge1xuICBoZWlnaHQ6IGF1dG87XG4gIGRpc3BsYXk6IGJsb2NrO1xuICB0ZXh0LWFsaWduOiBsZWZ0O1xuICBwYWRkaW5nLXRvcDogNnB4O1xuICBwYWRkaW5nLWJvdHRvbTogNnB4O1xuICBsaW5lLWhlaWdodDogMS4yO1xufVxuQG1lZGlhIChtaW4td2lkdGg6IDk5MnB4KSB7XG4gIC5tZGMtbWVudSAubWRjLWxpc3QtaXRlbSB7XG4gICAgcGFkZGluZy10b3A6IDEwcHg7XG4gICAgcGFkZGluZy1ib3R0b206IDEwcHg7XG4gIH1cbn1cblxuLmJyZWFkY3J1bWIge1xuICBkaXNwbGF5OiBub25lO1xufVxuQG1lZGlhIChtaW4td2lkdGg6IDk5MnB4KSB7XG4gIC5icmVhZGNydW1iIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBsaXN0LXN0eWxlOiBub25lO1xuICAgIG1hcmdpbjogMzBweCBhdXRvIDE1cHggYXV0bztcbiAgICBmb250LXNpemU6IDA7XG4gICAgZm9udC13ZWlnaHQ6IDMwMDtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBwYWRkaW5nOiAwIDE1cHg7XG4gICAgbWF4LXdpZHRoOiAxMjg0cHg7XG4gICAgbGV0dGVyLXNwYWNpbmc6IDAuNHB4O1xuICB9XG59XG5AbWVkaWEgKG1pbi13aWR0aDogMTIwMHB4KSB7XG4gIC5icmVhZGNydW1iIHtcbiAgICBtYXJnaW46IDM1cHggYXV0byAyMHB4IGF1dG87XG4gIH1cbn1cbkBtZWRpYSAobWluLXdpZHRoOiAxNDAwcHgpIHtcbiAgLmJyZWFkY3J1bWIge1xuICAgIG1hcmdpbjogNzVweCBhdXRvIDIwcHggYXV0bztcbiAgfVxufVxuQG1lZGlhIChtaW4td2lkdGg6IDk5MnB4KSB7XG4gIC5oZXJvLTM2NSArIC5icmVhZGNydW1iIHtcbiAgICBtYXJnaW46IDE1cHggYXV0byAxNnB4IGF1dG87XG4gIH1cbn1cbkBtZWRpYSAobWluLXdpZHRoOiAxMjAwcHgpIHtcbiAgLmhlcm8tMzY1ICsgLmJyZWFkY3J1bWIge1xuICAgIG1hcmdpbjogMjVweCBhdXRvIDI2cHggYXV0bztcbiAgfVxufVxuQG1lZGlhIChtaW4td2lkdGg6IDE0MDBweCkge1xuICAuaGVyby0zNjUgKyAuYnJlYWRjcnVtYiB7XG4gICAgbWFyZ2luOiAzNnB4IGF1dG8gMzVweCBhdXRvO1xuICB9XG59XG5AbWVkaWEgKG1pbi13aWR0aDogOTkycHgpIHtcbiAgLmhlcm8tcGFnZSArIC5icmVhZGNydW1iIHtcbiAgICBtYXJnaW46IDE1cHggYXV0bztcbiAgfVxufVxuQG1lZGlhIChtaW4td2lkdGg6IDEyMDBweCkge1xuICAuaGVyby1wYWdlICsgLmJyZWFkY3J1bWIge1xuICAgIG1hcmdpbjogMjVweCBhdXRvIDIwcHggYXV0bztcbiAgfVxufVxuQG1lZGlhIChtaW4td2lkdGg6IDE0MDBweCkge1xuICAuaGVyby1wYWdlICsgLmJyZWFkY3J1bWIge1xuICAgIG1hcmdpbjogMzZweCBhdXRvIDIwcHggYXV0bztcbiAgfVxufVxuQG1lZGlhIChtaW4td2lkdGg6IDk5MnB4KSB7XG4gIC5oZXJvLXNlY3Rpb24gKyAuYnJlYWRjcnVtYiB7XG4gICAgbWFyZ2luOiAzMHB4IGF1dG8gMTVweCBhdXRvO1xuICB9XG59XG5AbWVkaWEgKG1pbi13aWR0aDogMTIwMHB4KSB7XG4gIC5oZXJvLXNlY3Rpb24gKyAuYnJlYWRjcnVtYiB7XG4gICAgbWFyZ2luOiAyNXB4IGF1dG8gNDVweCBhdXRvO1xuICB9XG59XG5AbWVkaWEgKG1pbi13aWR0aDogMTQwMHB4KSB7XG4gIC5oZXJvLXNlY3Rpb24gKyAuYnJlYWRjcnVtYiB7XG4gICAgbWFyZ2luOiAzNnB4IGF1dG8gOTVweCBhdXRvO1xuICB9XG59XG5AbWVkaWEgKG1pbi13aWR0aDogOTkycHgpIHtcbiAgLmxhbmRpbmdwYWdlLXZpZXcgLmJyZWFkY3J1bWIge1xuICAgIG1hcmdpbjogMTVweCBhdXRvO1xuICB9XG59XG5AbWVkaWEgKG1pbi13aWR0aDogMTIwMHB4KSB7XG4gIC5sYW5kaW5ncGFnZS12aWV3IC5icmVhZGNydW1iIHtcbiAgICBtYXgtd2lkdGg6IDEwODBweDtcbiAgICBtYXJnaW46IDI1cHggYXV0byAyM3B4IGF1dG87XG4gIH1cbn1cbkBtZWRpYSAobWluLXdpZHRoOiAxNDAwcHgpIHtcbiAgLmxhbmRpbmdwYWdlLXZpZXcgLmJyZWFkY3J1bWIge1xuICAgIG1hcmdpbjogMzZweCBhdXRvIDM0cHggYXV0bztcbiAgICBtYXgtd2lkdGg6IDEyODRweDtcbiAgfVxufVxuLmJyZWFkY3J1bWJfX2xpc3Qge1xuICBwYWRkaW5nOiAwO1xuICBtYXJnaW46IDA7XG59XG4uYnJlYWRjcnVtYl9faXRlbSB7XG4gIGZvbnQtc2l6ZTogMTRweDtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB2ZXJ0aWNhbC1hbGlnbjogdG9wO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG59XG4uYnJlYWRjcnVtYl9faXRlbTphZnRlciB7XG4gIGNvbnRlbnQ6IFwiPlwiO1xuICBtYXJnaW46IDAgNXB4IDAgNHB4O1xufVxuLmJyZWFkY3J1bWJfX2l0ZW06bGFzdC1vZi10eXBlIHtcbiAgZm9udC13ZWlnaHQ6IDUwMDtcbn1cbi5icmVhZGNydW1iX19pdGVtOmxhc3Qtb2YtdHlwZSBhIHtcbiAgY29sb3I6ICMwMEFFRUY7XG59XG4uYnJlYWRjcnVtYl9faXRlbTpsYXN0LW9mLXR5cGU6YWZ0ZXIge1xuICBkaXNwbGF5OiBub25lO1xufVxuLmJyZWFkY3J1bWJfX2xpbmsge1xuICBjb2xvcjogIzIwMWQxZDtcbn1cbi5icmVhZGNydW1iX19saW5rOmhvdmVyLCAuYnJlYWRjcnVtYl9fbGluazpmb2N1cyB7XG4gIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xufVxuXG4ueWVhcnNfX3RvZ2dsZSB7XG4gIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgdXNlci1zZWxlY3Q6IG5vbmU7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzAwQUVFRjtcbiAgYm9yZGVyOiBub25lO1xuICBtYXJnaW46IDAgYXV0bztcbiAgaGVpZ2h0OiA0OHB4O1xuICB3aWR0aDogNDhweDtcbiAgYm9yZGVyLXJhZGl1czogNHB4O1xuICBjb2xvcjogI2ZmZjtcbiAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyO1xuICBiYWNrZ3JvdW5kLXNpemU6IDI3cHggMzBweDtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiZGF0YTppbWFnZS9zdmcreG1sO2NoYXJzZXQ9dXRmOCwlM0NzdmclMjB4bWxucyUzRCUyMmh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJTIyJTIwZmlsbCUzRCUyMiUyM2ZmZiUyMiUyMHZpZXdCb3glM0QlMjIwJTIwMCUyMDMxJTIwMzQlMjIlM0UlM0NwYXRoJTIwZCUzRCUyMk0yNy41LDMzaC0yNEEyLjUzLDIuNTMsMCwwLDEsMSwzMC40M1Y1LjY3QTIuNTMsMi41MywwLDAsMSwzLjQ5LDMuMUg2VjQuNzZIMy40OWEuODkuODksMCwwLDAtLjg4LjkxdjQuNDhIMjguMzhWNS42N2EuODkuODksMCwwLDAtLjg4LS45MUgyNFYzLjFIMjcuNUEyLjUxLDIuNTEsMCwwLDEsMzAsNS42MVYzMC4zOEEyLjU0LDIuNTQsMCwwLDEsMjcuNSwzM1ptLjg4LTIxLjJIMi42MVYzMC40M2EuOS45LDAsMCwwLC44OC45MWgyNGEuODkuODksMCwwLDAsLjg4LS45MVpNMjEuNzIsMjIuNzNoMi43MXYyLjc5SDIxLjcyWm0wLTQuOTVoMi43MXYyLjc5SDIxLjcyWm0tNSw0Ljk1aDIuNzF2Mi43OUgxNi42N1ptMC00Ljk1aDIuNzF2Mi43OUgxNi42N1ptLTUuMDUsNC45NWgyLjcxdjIuNzlIMTEuNjJabTAtNC45NWgyLjcxdjIuNzlIMTEuNjJabS01LDQuOTVIOS4yOHYyLjc5SDYuNTdabTAtNC45NUg5LjI4djIuNzlINi41N1pNMjEsNC43NlYxaDEuOTRWNi43N0gyMVpNMTAuMiwzLjkzVjMuMWg5LjY1VjQuNzZIMTAuMlptLTMuMDcuODNWMWgyVjYuNzdINy4xM1olMjIvJTNFJTNDcGF0aCUyMGQlM0QlMjJNMzEsMzRIMFYwSDMxWiUyMiUyMGZpbGwlM0QlMjJub25lJTIyLyUzRSUzQy9zdmclM0VcIik7XG4gIHotaW5kZXg6IDg7XG4gIC0tbWRjLXJpcHBsZS1mZy1zaXplOiAwO1xuICAtLW1kYy1yaXBwbGUtbGVmdDogMDtcbiAgLS1tZGMtcmlwcGxlLXRvcDogMDtcbiAgLS1tZGMtcmlwcGxlLWZnLXNjYWxlOiAxO1xuICAtLW1kYy1yaXBwbGUtZmctdHJhbnNsYXRlLWVuZDogMDtcbiAgLS1tZGMtcmlwcGxlLWZnLXRyYW5zbGF0ZS1zdGFydDogMDtcbiAgLXdlYmtpdC10YXAtaGlnaGxpZ2h0LWNvbG9yOiByZ2JhKDAsIDAsIDAsIDApO1xufVxuLnllYXJzX190b2dnbGU6OmJlZm9yZSwgLnllYXJzX190b2dnbGU6OmFmdGVyIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBib3JkZXItcmFkaXVzOiA1MCU7XG4gIG9wYWNpdHk6IDA7XG4gIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICBjb250ZW50OiBcIlwiO1xufVxuLnllYXJzX190b2dnbGU6OmJlZm9yZSB7XG4gIHRyYW5zaXRpb246IG9wYWNpdHkgMTVtcyBsaW5lYXIsIGJhY2tncm91bmQtY29sb3IgMTVtcyBsaW5lYXI7XG4gIHotaW5kZXg6IDE7XG59XG4ueWVhcnNfX3RvZ2dsZS5tZGMtcmlwcGxlLXVwZ3JhZGVkOjpiZWZvcmUge1xuICB0cmFuc2Zvcm06IHNjYWxlKHZhcigtLW1kYy1yaXBwbGUtZmctc2NhbGUsIDEpKTtcbn1cbi55ZWFyc19fdG9nZ2xlLm1kYy1yaXBwbGUtdXBncmFkZWQ6OmFmdGVyIHtcbiAgdG9wOiAwO1xuICAvKiBAbm9mbGlwICovXG4gIGxlZnQ6IDA7XG4gIHRyYW5zZm9ybTogc2NhbGUoMCk7XG4gIHRyYW5zZm9ybS1vcmlnaW46IGNlbnRlciBjZW50ZXI7XG59XG4ueWVhcnNfX3RvZ2dsZS5tZGMtcmlwcGxlLXVwZ3JhZGVkLS11bmJvdW5kZWQ6OmFmdGVyIHtcbiAgdG9wOiB2YXIoLS1tZGMtcmlwcGxlLXRvcCwgMCk7XG4gIC8qIEBub2ZsaXAgKi9cbiAgbGVmdDogdmFyKC0tbWRjLXJpcHBsZS1sZWZ0LCAwKTtcbn1cbi55ZWFyc19fdG9nZ2xlLm1kYy1yaXBwbGUtdXBncmFkZWQtLWZvcmVncm91bmQtYWN0aXZhdGlvbjo6YWZ0ZXIge1xuICBhbmltYXRpb246IG1kYy1yaXBwbGUtZmctcmFkaXVzLWluIDIyNW1zIGZvcndhcmRzLCBtZGMtcmlwcGxlLWZnLW9wYWNpdHktaW4gNzVtcyBmb3J3YXJkcztcbn1cbi55ZWFyc19fdG9nZ2xlLm1kYy1yaXBwbGUtdXBncmFkZWQtLWZvcmVncm91bmQtZGVhY3RpdmF0aW9uOjphZnRlciB7XG4gIGFuaW1hdGlvbjogbWRjLXJpcHBsZS1mZy1vcGFjaXR5LW91dCAxNTBtcztcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGUodmFyKC0tbWRjLXJpcHBsZS1mZy10cmFuc2xhdGUtZW5kLCAwKSkgc2NhbGUodmFyKC0tbWRjLXJpcHBsZS1mZy1zY2FsZSwgMSkpO1xufVxuLnllYXJzX190b2dnbGU6OmJlZm9yZSwgLnllYXJzX190b2dnbGU6OmFmdGVyIHtcbiAgdG9wOiBjYWxjKDUwJSAtIDEwMCUpO1xuICAvKiBAbm9mbGlwICovXG4gIGxlZnQ6IGNhbGMoNTAlIC0gMTAwJSk7XG4gIHdpZHRoOiAyMDAlO1xuICBoZWlnaHQ6IDIwMCU7XG59XG4ueWVhcnNfX3RvZ2dsZS5tZGMtcmlwcGxlLXVwZ3JhZGVkOjphZnRlciB7XG4gIHdpZHRoOiB2YXIoLS1tZGMtcmlwcGxlLWZnLXNpemUsIDEwMCUpO1xuICBoZWlnaHQ6IHZhcigtLW1kYy1yaXBwbGUtZmctc2l6ZSwgMTAwJSk7XG59XG4ueWVhcnNfX3RvZ2dsZTo6YmVmb3JlLCAueWVhcnNfX3RvZ2dsZTo6YWZ0ZXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMjAxZDFkO1xufVxuLnllYXJzX190b2dnbGU6aG92ZXI6OmJlZm9yZSB7XG4gIG9wYWNpdHk6IDA7XG59XG4ueWVhcnNfX3RvZ2dsZS5tZGMtcmlwcGxlLXVwZ3JhZGVkLS1iYWNrZ3JvdW5kLWZvY3VzZWQ6OmJlZm9yZSwgLnllYXJzX190b2dnbGU6bm90KC5tZGMtcmlwcGxlLXVwZ3JhZGVkKTpmb2N1czo6YmVmb3JlIHtcbiAgdHJhbnNpdGlvbi1kdXJhdGlvbjogNzVtcztcbiAgb3BhY2l0eTogMDtcbn1cbi55ZWFyc19fdG9nZ2xlOm5vdCgubWRjLXJpcHBsZS11cGdyYWRlZCk6OmFmdGVyIHtcbiAgdHJhbnNpdGlvbjogb3BhY2l0eSAxNTBtcyBsaW5lYXI7XG59XG4ueWVhcnNfX3RvZ2dsZTpub3QoLm1kYy1yaXBwbGUtdXBncmFkZWQpOmFjdGl2ZTo6YWZ0ZXIge1xuICB0cmFuc2l0aW9uLWR1cmF0aW9uOiA3NW1zO1xuICBvcGFjaXR5OiAwLjEyO1xufVxuLnllYXJzX190b2dnbGUubWRjLXJpcHBsZS11cGdyYWRlZCB7XG4gIC0tbWRjLXJpcHBsZS1mZy1vcGFjaXR5OiAwLjEyO1xufVxuQG1lZGlhIChtaW4td2lkdGg6IDk5MnB4KSB7XG4gIC55ZWFyc19fdG9nZ2xlIHtcbiAgICBoZWlnaHQ6IDUycHg7XG4gICAgd2lkdGg6IDUycHg7XG4gICAgYmFja2dyb3VuZC1zaXplOiAzMXB4IDM0cHg7XG4gIH1cbn1cbi55ZWFyc19fdG9nZ2xlOmZvY3VzIHtcbiAgb3V0bGluZTogbm9uZTtcbn1cbi55ZWFyc19fdG9nZ2xlOmFjdGl2ZSB7XG4gIHBhZGRpbmc6IDA7XG59XG4udGFiLW5hdmlnYXRpb24gLnllYXJzX190b2dnbGU6Zm9jdXMge1xuICBvdXRsaW5lOiBub25lO1xufVxuLnRhYi1uYXZpZ2F0aW9uIC55ZWFyc19fdG9nZ2xlOmZvY3VzLm1kYy1yaXBwbGUtdXBncmFkZWQtLWJhY2tncm91bmQtZm9jdXNlZDo6YmVmb3JlLCAudGFiLW5hdmlnYXRpb24gLnllYXJzX190b2dnbGU6Zm9jdXM6bm90KC5tZGMtcmlwcGxlLXVwZ3JhZGVkKTpmb2N1czo6YmVmb3JlIHtcbiAgdHJhbnNpdGlvbi1kdXJhdGlvbjogNzVtcztcbiAgb3BhY2l0eTogMC4yO1xufVxuLnllYXJzX19tZW51IHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIHBhZGRpbmc6IDRweCA4cHggNHB4IDhweDtcbn1cbi55ZWFyc19fcm93IHtcbiAgZGlzcGxheTogZmxleDtcbiAgcGFkZGluZzogNHB4IDA7XG59XG5AbWVkaWEgKG1pbi13aWR0aDogOTkycHgpIHtcbiAgLnllYXJzX19yb3cge1xuICAgIHBhZGRpbmc6IDEwcHggMDtcbiAgfVxufVxuLnllYXJzX19pdGVtIHtcbiAgY29sb3I6ICNmZmYgIWltcG9ydGFudDtcbiAgaGVpZ2h0OiAzOHB4O1xuICBkaXNwbGF5OiBmbGV4O1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDtcbiAgcGFkZGluZzogMCA4cHg7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgYm9yZGVyLXJhZGl1czogNDhweDtcbiAgbWFyZ2luOiAwIDVweDtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVaKDApO1xufVxuQG1lZGlhIChtaW4td2lkdGg6IDk5MnB4KSB7XG4gIC55ZWFyc19faXRlbSB7XG4gICAgcGFkZGluZzogMTZweDtcbiAgfVxufVxuLnllYXJzX19pdGVtLS1hY3RpdmUge1xuICBjb2xvcjogI2ZmZiAhaW1wb3J0YW50O1xuICBoZWlnaHQ6IDM4cHg7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0O1xuICBwYWRkaW5nOiAwIDhweDtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICBib3JkZXItcmFkaXVzOiA0OHB4O1xuICBtYXJnaW46IDAgNXB4O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMjY1M0I5O1xufVxuQG1lZGlhIChtaW4td2lkdGg6IDk5MnB4KSB7XG4gIC55ZWFyc19faXRlbS0tYWN0aXZlIHtcbiAgICBwYWRkaW5nOiAxNnB4O1xuICB9XG59XG4ueWVhcnNfX2l0ZW0tbGFiZWwge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHotaW5kZXg6IDE7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWigwKTtcbn1cbi55ZWFycyAubWRjLW1lbnUge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDBBRUVGO1xuICBjb2xvcjogI2ZmZjtcbiAgZm9udC1zaXplOiAxNnB4O1xuICB0cmFuc2Zvcm0tb3JpZ2luOiByaWdodCB0b3AgMCAhaW1wb3J0YW50O1xuICB0b3A6IC0xICFpbXBvcnRhbnQ7XG4gIGJvdHRvbTogYXV0byAhaW1wb3J0YW50O1xuICByaWdodDogLTUzcHggIWltcG9ydGFudDtcbiAgbGVmdDogYXV0byAhaW1wb3J0YW50O1xufVxuLnllYXJzIC5tZGMtbWVudS1zdXJmYWNlIHtcbiAgYm94LXNoYWRvdzogbm9uZTtcbn1cbi55ZWFyc19fc2VsZWN0ZWQge1xuICBjb2xvcjogI2ZmZjtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzI2NTNCOTtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IC0xNXB4O1xuICBsZWZ0OiAwO1xuICB3aWR0aDogNDhweDtcbiAgaGVpZ2h0OiAyMnB4O1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIGJvcmRlci1yYWRpdXM6IDIycHg7XG4gIGxpbmUtaGVpZ2h0OiAyMnB4O1xuICBsZXR0ZXItc3BhY2luZzogMDtcbiAgdXNlci1zZWxlY3Q6IG5vbmU7XG4gIGZvbnQtc2l6ZTogMTRweDtcbiAgei1pbmRleDogOTtcbn1cbkBtZWRpYSAobWluLXdpZHRoOiA5OTJweCkge1xuICAueWVhcnNfX3NlbGVjdGVkIHtcbiAgICB3aWR0aDogNTJweDtcbiAgICBib3JkZXItcmFkaXVzOiAyNHB4O1xuICAgIGxpbmUtaGVpZ2h0OiAyNHB4O1xuICAgIGhlaWdodDogMjRweDtcbiAgICB0b3A6IC0xOHB4O1xuICAgIGZvbnQtc2l6ZTogMTZweDtcbiAgfVxufVxuXG4ucGFydG5lciB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xufVxuQG1lZGlhIChtaW4td2lkdGg6IDEyMDBweCkge1xuICAucGFydG5lcjpmb2N1cy13aXRoaW4gLnBhcnRuZXJfX2NvbnRlbnQge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgdXNlci1zZWxlY3Q6IGF1dG87XG4gIH1cbn1cbi5wYXJ0bmVyX19jYW52YXMge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xuICBtYXJnaW46IDA7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICB3aWR0aDogMTAwJTtcbiAgbWF4LXdpZHRoOiAxMDAlO1xuICB1c2VyLXNlbGVjdDogbm9uZTtcbn1cbi5wYXJ0bmVyX19jb250ZW50IHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzI2NTNCOTtcbiAgY29sb3I6ICNmZmY7XG4gIG9wYWNpdHk6IDE7XG4gIHVzZXItc2VsZWN0OiBub25lO1xuICB0cmFuc2l0aW9uOiBvcGFjaXR5IDAuMTJzO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMDtcbiAgbGVmdDogMDtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogMTAwJTtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xufVxuQG1lZGlhIChtaW4td2lkdGg6IDEyMDBweCkge1xuICAucGFydG5lcl9fY29udGVudCB7XG4gICAgb3BhY2l0eTogMDtcbiAgfVxufVxuQG1lZGlhIChtaW4td2lkdGg6IDEyMDBweCkge1xuICAucGFydG5lcjpob3ZlciAucGFydG5lcl9fY29udGVudCB7XG4gICAgb3BhY2l0eTogMTtcbiAgICB1c2VyLXNlbGVjdDogYXV0bztcbiAgfVxufVxuLnBhcnRuZXJfX2xvZ28sIC5wYXJ0bmVyX19pbWFnZSB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgbWFyZ2luOiBhdXRvO1xuICB0b3A6IC0xMDAlO1xuICBib3R0b206IC0xMDAlO1xuICBsZWZ0OiAtMTAwJTtcbiAgcmlnaHQ6IC0xMDAlO1xuICBtYXgtd2lkdGg6IDEwMCU7XG4gIG1heC1oZWlnaHQ6IDEwMCU7XG59XG4ucGFydG5lcl9faGVhZCB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBtYXJnaW46IDAgYXV0bztcbiAgd2lkdGg6IDUwJTtcbiAgaGVpZ2h0OiA3NXB4O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xuICBib3JkZXI6IDFweCBzb2xpZCAjZmZmO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG59XG4ucGFydG5lcl9fZGVzY3JpcHRpb24gLmV6cmljaHRleHQtZmllbGQge1xuICBmb250LXNpemU6IDE0cHg7XG4gIGxpbmUtaGVpZ2h0OiAxOHB4O1xuICBmb250LXdlaWdodDogMzAwO1xuICBwYWRkaW5nOiAwIDMwcHg7XG4gIG1hcmdpbjogMDtcbiAgbWF4LWhlaWdodDogMTA4cHg7XG4gIG1heC13aWR0aDogMTAwJTtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgZGlzcGxheTogLXdlYmtpdC1ib3g7XG4gIC13ZWJraXQtbGluZS1jbGFtcDogNjtcbiAgLXdlYmtpdC1ib3gtb3JpZW50OiB2ZXJ0aWNhbDtcbiAgdGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7XG59XG5AbWVkaWEgKG1pbi13aWR0aDogNDgwcHgpIHtcbiAgLnBhcnRuZXJfX2Rlc2NyaXB0aW9uIC5lenJpY2h0ZXh0LWZpZWxkIHtcbiAgICBwYWRkaW5nOiAwIDhweDtcbiAgICBmb250LXNpemU6IDEycHg7XG4gICAgbGluZS1oZWlnaHQ6IDE0cHg7XG4gICAgLXdlYmtpdC1saW5lLWNsYW1wOiA1O1xuICAgIG1heC1oZWlnaHQ6IDgwcHg7XG4gIH1cbn1cbkBtZWRpYSAobWluLXdpZHRoOiA3NjhweCkge1xuICAucGFydG5lcl9fZGVzY3JpcHRpb24gLmV6cmljaHRleHQtZmllbGQge1xuICAgIHBhZGRpbmc6IDAgMzBweDtcbiAgICBmb250LXNpemU6IDE1cHg7XG4gICAgbGluZS1oZWlnaHQ6IDIwcHg7XG4gICAgbWF4LWhlaWdodDogMTIwcHg7XG4gICAgLXdlYmtpdC1saW5lLWNsYW1wOiA2O1xuICB9XG59XG4ucGFydG5lcl9fbW9yZSB7XG4gIG1hcmdpbi1ib3R0b206IDI1cHg7XG4gIHRleHQtdHJhbnNmb3JtOiBub25lO1xuICBtaW4td2lkdGg6IDExMnB4O1xuICBmb250LXNpemU6IDE0cHg7XG4gIGZvbnQtd2VpZ2h0OiAzMDA7XG59XG5AbWVkaWEgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgLnBhcnRuZXJfX21vcmUge1xuICAgIGZvbnQtc2l6ZTogMTVweDtcbiAgfVxufVxuLnBhcnRuZXJfX21vcmU6bm90KDpkaXNhYmxlZCkge1xuICBib3JkZXItY29sb3I6ICNhM2FkZWM7XG4gIGNvbG9yOiAjZmZmO1xufVxuXG4ucGFnaW5hdGlvbiB7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgbWFyZ2luLXRvcDogMzBweDtcbiAgdXNlci1zZWxlY3Q6IG5vbmU7XG4gIG1hcmdpbi1sZWZ0OiAtMjNweDtcbiAgbWFyZ2luLXJpZ2h0OiAtMjNweDtcbn1cbkBtZWRpYSAobWluLXdpZHRoOiA5OTJweCkge1xuICAucGFnaW5hdGlvbiB7XG4gICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgbWFyZ2luLXJpZ2h0OiAwO1xuICB9XG59XG4ucGFnaW5hdGlvbl9fbGlzdCB7XG4gIGxpc3Qtc3R5bGU6IG5vbmU7XG4gIGZvbnQtc2l6ZTogMDtcbiAgbWFyZ2luOiAwO1xuICBwYWRkaW5nOiAwO1xufVxuLnBhZ2luYXRpb25fX2l0ZW0ge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gIGZvbnQtc2l6ZTogMTNweDtcbn1cbkBtZWRpYSAobWluLXdpZHRoOiA5OTJweCkge1xuICAucGFnaW5hdGlvbl9faXRlbSB7XG4gICAgZm9udC1zaXplOiAxOXB4O1xuICB9XG59XG4ucGFnaW5hdGlvbl9fYWN0aW9uIHtcbiAgY29sb3I6ICMyMDFkMWQ7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICB3aWR0aDogNDhweDtcbiAgaGVpZ2h0OiA0OHB4O1xuICBsaW5lLWhlaWdodDogNDhweDtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBib3JkZXItcmFkaXVzOiA0OHB4O1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIC0tbWRjLXJpcHBsZS1mZy1zaXplOiAwO1xuICAtLW1kYy1yaXBwbGUtbGVmdDogMDtcbiAgLS1tZGMtcmlwcGxlLXRvcDogMDtcbiAgLS1tZGMtcmlwcGxlLWZnLXNjYWxlOiAxO1xuICAtLW1kYy1yaXBwbGUtZmctdHJhbnNsYXRlLWVuZDogMDtcbiAgLS1tZGMtcmlwcGxlLWZnLXRyYW5zbGF0ZS1zdGFydDogMDtcbiAgLXdlYmtpdC10YXAtaGlnaGxpZ2h0LWNvbG9yOiByZ2JhKDAsIDAsIDAsIDApO1xuICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDAuMnM7XG59XG4ucGFnaW5hdGlvbl9fYWN0aW9uOjpiZWZvcmUsIC5wYWdpbmF0aW9uX19hY3Rpb246OmFmdGVyIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBib3JkZXItcmFkaXVzOiA1MCU7XG4gIG9wYWNpdHk6IDA7XG4gIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICBjb250ZW50OiBcIlwiO1xufVxuLnBhZ2luYXRpb25fX2FjdGlvbjo6YmVmb3JlIHtcbiAgdHJhbnNpdGlvbjogb3BhY2l0eSAxNW1zIGxpbmVhciwgYmFja2dyb3VuZC1jb2xvciAxNW1zIGxpbmVhcjtcbiAgei1pbmRleDogMTtcbn1cbi5wYWdpbmF0aW9uX19hY3Rpb24ubWRjLXJpcHBsZS11cGdyYWRlZDo6YmVmb3JlIHtcbiAgdHJhbnNmb3JtOiBzY2FsZSh2YXIoLS1tZGMtcmlwcGxlLWZnLXNjYWxlLCAxKSk7XG59XG4ucGFnaW5hdGlvbl9fYWN0aW9uLm1kYy1yaXBwbGUtdXBncmFkZWQ6OmFmdGVyIHtcbiAgdG9wOiAwO1xuICAvKiBAbm9mbGlwICovXG4gIGxlZnQ6IDA7XG4gIHRyYW5zZm9ybTogc2NhbGUoMCk7XG4gIHRyYW5zZm9ybS1vcmlnaW46IGNlbnRlciBjZW50ZXI7XG59XG4ucGFnaW5hdGlvbl9fYWN0aW9uLm1kYy1yaXBwbGUtdXBncmFkZWQtLXVuYm91bmRlZDo6YWZ0ZXIge1xuICB0b3A6IHZhcigtLW1kYy1yaXBwbGUtdG9wLCAwKTtcbiAgLyogQG5vZmxpcCAqL1xuICBsZWZ0OiB2YXIoLS1tZGMtcmlwcGxlLWxlZnQsIDApO1xufVxuLnBhZ2luYXRpb25fX2FjdGlvbi5tZGMtcmlwcGxlLXVwZ3JhZGVkLS1mb3JlZ3JvdW5kLWFjdGl2YXRpb246OmFmdGVyIHtcbiAgYW5pbWF0aW9uOiBtZGMtcmlwcGxlLWZnLXJhZGl1cy1pbiAyMjVtcyBmb3J3YXJkcywgbWRjLXJpcHBsZS1mZy1vcGFjaXR5LWluIDc1bXMgZm9yd2FyZHM7XG59XG4ucGFnaW5hdGlvbl9fYWN0aW9uLm1kYy1yaXBwbGUtdXBncmFkZWQtLWZvcmVncm91bmQtZGVhY3RpdmF0aW9uOjphZnRlciB7XG4gIGFuaW1hdGlvbjogbWRjLXJpcHBsZS1mZy1vcGFjaXR5LW91dCAxNTBtcztcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGUodmFyKC0tbWRjLXJpcHBsZS1mZy10cmFuc2xhdGUtZW5kLCAwKSkgc2NhbGUodmFyKC0tbWRjLXJpcHBsZS1mZy1zY2FsZSwgMSkpO1xufVxuLnBhZ2luYXRpb25fX2FjdGlvbjo6YmVmb3JlLCAucGFnaW5hdGlvbl9fYWN0aW9uOjphZnRlciB7XG4gIHRvcDogY2FsYyg1MCUgLSAxMDAlKTtcbiAgLyogQG5vZmxpcCAqL1xuICBsZWZ0OiBjYWxjKDUwJSAtIDEwMCUpO1xuICB3aWR0aDogMjAwJTtcbiAgaGVpZ2h0OiAyMDAlO1xufVxuLnBhZ2luYXRpb25fX2FjdGlvbi5tZGMtcmlwcGxlLXVwZ3JhZGVkOjphZnRlciB7XG4gIHdpZHRoOiB2YXIoLS1tZGMtcmlwcGxlLWZnLXNpemUsIDEwMCUpO1xuICBoZWlnaHQ6IHZhcigtLW1kYy1yaXBwbGUtZmctc2l6ZSwgMTAwJSk7XG59XG4ucGFnaW5hdGlvbl9fYWN0aW9uOjpiZWZvcmUsIC5wYWdpbmF0aW9uX19hY3Rpb246OmFmdGVyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzIwMWQxZDtcbn1cbi5wYWdpbmF0aW9uX19hY3Rpb246aG92ZXI6OmJlZm9yZSB7XG4gIG9wYWNpdHk6IDA7XG59XG4ucGFnaW5hdGlvbl9fYWN0aW9uLm1kYy1yaXBwbGUtdXBncmFkZWQtLWJhY2tncm91bmQtZm9jdXNlZDo6YmVmb3JlLCAucGFnaW5hdGlvbl9fYWN0aW9uOm5vdCgubWRjLXJpcHBsZS11cGdyYWRlZCk6Zm9jdXM6OmJlZm9yZSB7XG4gIHRyYW5zaXRpb24tZHVyYXRpb246IDc1bXM7XG4gIG9wYWNpdHk6IDA7XG59XG4ucGFnaW5hdGlvbl9fYWN0aW9uOm5vdCgubWRjLXJpcHBsZS11cGdyYWRlZCk6OmFmdGVyIHtcbiAgdHJhbnNpdGlvbjogb3BhY2l0eSAxNTBtcyBsaW5lYXI7XG59XG4ucGFnaW5hdGlvbl9fYWN0aW9uOm5vdCgubWRjLXJpcHBsZS11cGdyYWRlZCk6YWN0aXZlOjphZnRlciB7XG4gIHRyYW5zaXRpb24tZHVyYXRpb246IDc1bXM7XG4gIG9wYWNpdHk6IDAuMDQ7XG59XG4ucGFnaW5hdGlvbl9fYWN0aW9uLm1kYy1yaXBwbGUtdXBncmFkZWQge1xuICAtLW1kYy1yaXBwbGUtZmctb3BhY2l0eTogMC4wNDtcbn1cbi5wYWdpbmF0aW9uX19hY3Rpb246aG92ZXIsIC5wYWdpbmF0aW9uX19hY3Rpb246Zm9jdXMge1xuICBjb2xvcjogIzIwMWQxZDtcbn1cbi5wYWdpbmF0aW9uX19hY3Rpb246aG92ZXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDMyLCAyOSwgMjksIDAuMDMpO1xufVxuLnBhZ2luYXRpb25fX2FjdGlvbi5hY3RpdmUge1xuICBjb2xvcjogIzAwQUVFRjtcbiAgZm9udC1zaXplOiAxNXB4O1xufVxuQG1lZGlhIChtaW4td2lkdGg6IDk5MnB4KSB7XG4gIC5wYWdpbmF0aW9uX19hY3Rpb24uYWN0aXZlIHtcbiAgICBmb250LXNpemU6IDI0cHg7XG4gIH1cbn1cbi50YWItbmF2aWdhdGlvbiAucGFnaW5hdGlvbl9fYWN0aW9uOmZvY3VzIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgzMiwgMjksIDI5LCAwLjAzKTtcbn1cbi5wYWdpbmF0aW9uX19kb3RzIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHdpZHRoOiA0OHB4O1xuICBoZWlnaHQ6IDQ4cHg7XG4gIGxpbmUtaGVpZ2h0OiA0OHB4O1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIHVzZXItc2VsZWN0OiBub25lO1xufVxuLnBhZ2luYXRpb25fX3ByZXYsIC5wYWdpbmF0aW9uX19uZXh0IHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHdpZHRoOiA0OHB4O1xuICBoZWlnaHQ6IDQ4cHg7XG4gIGxpbmUtaGVpZ2h0OiA0OHB4O1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIGJvcmRlci1yYWRpdXM6IDQ4cHg7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgLS1tZGMtcmlwcGxlLWZnLXNpemU6IDA7XG4gIC0tbWRjLXJpcHBsZS1sZWZ0OiAwO1xuICAtLW1kYy1yaXBwbGUtdG9wOiAwO1xuICAtLW1kYy1yaXBwbGUtZmctc2NhbGU6IDE7XG4gIC0tbWRjLXJpcHBsZS1mZy10cmFuc2xhdGUtZW5kOiAwO1xuICAtLW1kYy1yaXBwbGUtZmctdHJhbnNsYXRlLXN0YXJ0OiAwO1xuICAtd2Via2l0LXRhcC1oaWdobGlnaHQtY29sb3I6IHJnYmEoMCwgMCwgMCwgMCk7XG4gIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMC4ycztcbn1cbi5wYWdpbmF0aW9uX19wcmV2OjpiZWZvcmUsIC5wYWdpbmF0aW9uX19wcmV2OjphZnRlciwgLnBhZ2luYXRpb25fX25leHQ6OmJlZm9yZSwgLnBhZ2luYXRpb25fX25leHQ6OmFmdGVyIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBib3JkZXItcmFkaXVzOiA1MCU7XG4gIG9wYWNpdHk6IDA7XG4gIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICBjb250ZW50OiBcIlwiO1xufVxuLnBhZ2luYXRpb25fX3ByZXY6OmJlZm9yZSwgLnBhZ2luYXRpb25fX25leHQ6OmJlZm9yZSB7XG4gIHRyYW5zaXRpb246IG9wYWNpdHkgMTVtcyBsaW5lYXIsIGJhY2tncm91bmQtY29sb3IgMTVtcyBsaW5lYXI7XG4gIHotaW5kZXg6IDE7XG59XG4ucGFnaW5hdGlvbl9fcHJldi5tZGMtcmlwcGxlLXVwZ3JhZGVkOjpiZWZvcmUsIC5wYWdpbmF0aW9uX19uZXh0Lm1kYy1yaXBwbGUtdXBncmFkZWQ6OmJlZm9yZSB7XG4gIHRyYW5zZm9ybTogc2NhbGUodmFyKC0tbWRjLXJpcHBsZS1mZy1zY2FsZSwgMSkpO1xufVxuLnBhZ2luYXRpb25fX3ByZXYubWRjLXJpcHBsZS11cGdyYWRlZDo6YWZ0ZXIsIC5wYWdpbmF0aW9uX19uZXh0Lm1kYy1yaXBwbGUtdXBncmFkZWQ6OmFmdGVyIHtcbiAgdG9wOiAwO1xuICAvKiBAbm9mbGlwICovXG4gIGxlZnQ6IDA7XG4gIHRyYW5zZm9ybTogc2NhbGUoMCk7XG4gIHRyYW5zZm9ybS1vcmlnaW46IGNlbnRlciBjZW50ZXI7XG59XG4ucGFnaW5hdGlvbl9fcHJldi5tZGMtcmlwcGxlLXVwZ3JhZGVkLS11bmJvdW5kZWQ6OmFmdGVyLCAucGFnaW5hdGlvbl9fbmV4dC5tZGMtcmlwcGxlLXVwZ3JhZGVkLS11bmJvdW5kZWQ6OmFmdGVyIHtcbiAgdG9wOiB2YXIoLS1tZGMtcmlwcGxlLXRvcCwgMCk7XG4gIC8qIEBub2ZsaXAgKi9cbiAgbGVmdDogdmFyKC0tbWRjLXJpcHBsZS1sZWZ0LCAwKTtcbn1cbi5wYWdpbmF0aW9uX19wcmV2Lm1kYy1yaXBwbGUtdXBncmFkZWQtLWZvcmVncm91bmQtYWN0aXZhdGlvbjo6YWZ0ZXIsIC5wYWdpbmF0aW9uX19uZXh0Lm1kYy1yaXBwbGUtdXBncmFkZWQtLWZvcmVncm91bmQtYWN0aXZhdGlvbjo6YWZ0ZXIge1xuICBhbmltYXRpb246IG1kYy1yaXBwbGUtZmctcmFkaXVzLWluIDIyNW1zIGZvcndhcmRzLCBtZGMtcmlwcGxlLWZnLW9wYWNpdHktaW4gNzVtcyBmb3J3YXJkcztcbn1cbi5wYWdpbmF0aW9uX19wcmV2Lm1kYy1yaXBwbGUtdXBncmFkZWQtLWZvcmVncm91bmQtZGVhY3RpdmF0aW9uOjphZnRlciwgLnBhZ2luYXRpb25fX25leHQubWRjLXJpcHBsZS11cGdyYWRlZC0tZm9yZWdyb3VuZC1kZWFjdGl2YXRpb246OmFmdGVyIHtcbiAgYW5pbWF0aW9uOiBtZGMtcmlwcGxlLWZnLW9wYWNpdHktb3V0IDE1MG1zO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSh2YXIoLS1tZGMtcmlwcGxlLWZnLXRyYW5zbGF0ZS1lbmQsIDApKSBzY2FsZSh2YXIoLS1tZGMtcmlwcGxlLWZnLXNjYWxlLCAxKSk7XG59XG4ucGFnaW5hdGlvbl9fcHJldjo6YmVmb3JlLCAucGFnaW5hdGlvbl9fcHJldjo6YWZ0ZXIsIC5wYWdpbmF0aW9uX19uZXh0OjpiZWZvcmUsIC5wYWdpbmF0aW9uX19uZXh0OjphZnRlciB7XG4gIHRvcDogY2FsYyg1MCUgLSA1MCUpO1xuICAvKiBAbm9mbGlwICovXG4gIGxlZnQ6IGNhbGMoNTAlIC0gNTAlKTtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogMTAwJTtcbn1cbi5wYWdpbmF0aW9uX19wcmV2Lm1kYy1yaXBwbGUtdXBncmFkZWQ6OmJlZm9yZSwgLnBhZ2luYXRpb25fX3ByZXYubWRjLXJpcHBsZS11cGdyYWRlZDo6YWZ0ZXIsIC5wYWdpbmF0aW9uX19uZXh0Lm1kYy1yaXBwbGUtdXBncmFkZWQ6OmJlZm9yZSwgLnBhZ2luYXRpb25fX25leHQubWRjLXJpcHBsZS11cGdyYWRlZDo6YWZ0ZXIge1xuICB0b3A6IHZhcigtLW1kYy1yaXBwbGUtdG9wLCBjYWxjKDUwJSAtIDUwJSkpO1xuICAvKiBAbm9mbGlwICovXG4gIGxlZnQ6IHZhcigtLW1kYy1yaXBwbGUtbGVmdCwgY2FsYyg1MCUgLSA1MCUpKTtcbiAgd2lkdGg6IHZhcigtLW1kYy1yaXBwbGUtZmctc2l6ZSwgMTAwJSk7XG4gIGhlaWdodDogdmFyKC0tbWRjLXJpcHBsZS1mZy1zaXplLCAxMDAlKTtcbn1cbi5wYWdpbmF0aW9uX19wcmV2Lm1kYy1yaXBwbGUtdXBncmFkZWQ6OmFmdGVyLCAucGFnaW5hdGlvbl9fbmV4dC5tZGMtcmlwcGxlLXVwZ3JhZGVkOjphZnRlciB7XG4gIHdpZHRoOiB2YXIoLS1tZGMtcmlwcGxlLWZnLXNpemUsIDEwMCUpO1xuICBoZWlnaHQ6IHZhcigtLW1kYy1yaXBwbGUtZmctc2l6ZSwgMTAwJSk7XG59XG4ucGFnaW5hdGlvbl9fcHJldjo6YmVmb3JlLCAucGFnaW5hdGlvbl9fcHJldjo6YWZ0ZXIsIC5wYWdpbmF0aW9uX19uZXh0OjpiZWZvcmUsIC5wYWdpbmF0aW9uX19uZXh0OjphZnRlciB7XG4gIGJhY2tncm91bmQtY29sb3I6ICMyMDFkMWQ7XG59XG4ucGFnaW5hdGlvbl9fcHJldjpob3Zlcjo6YmVmb3JlLCAucGFnaW5hdGlvbl9fbmV4dDpob3Zlcjo6YmVmb3JlIHtcbiAgb3BhY2l0eTogMDtcbn1cbi5wYWdpbmF0aW9uX19wcmV2Lm1kYy1yaXBwbGUtdXBncmFkZWQtLWJhY2tncm91bmQtZm9jdXNlZDo6YmVmb3JlLCAucGFnaW5hdGlvbl9fcHJldjpub3QoLm1kYy1yaXBwbGUtdXBncmFkZWQpOmZvY3VzOjpiZWZvcmUsIC5wYWdpbmF0aW9uX19uZXh0Lm1kYy1yaXBwbGUtdXBncmFkZWQtLWJhY2tncm91bmQtZm9jdXNlZDo6YmVmb3JlLCAucGFnaW5hdGlvbl9fbmV4dDpub3QoLm1kYy1yaXBwbGUtdXBncmFkZWQpOmZvY3VzOjpiZWZvcmUge1xuICB0cmFuc2l0aW9uLWR1cmF0aW9uOiA3NW1zO1xuICBvcGFjaXR5OiAwO1xufVxuLnBhZ2luYXRpb25fX3ByZXY6bm90KC5tZGMtcmlwcGxlLXVwZ3JhZGVkKTo6YWZ0ZXIsIC5wYWdpbmF0aW9uX19uZXh0Om5vdCgubWRjLXJpcHBsZS11cGdyYWRlZCk6OmFmdGVyIHtcbiAgdHJhbnNpdGlvbjogb3BhY2l0eSAxNTBtcyBsaW5lYXI7XG59XG4ucGFnaW5hdGlvbl9fcHJldjpub3QoLm1kYy1yaXBwbGUtdXBncmFkZWQpOmFjdGl2ZTo6YWZ0ZXIsIC5wYWdpbmF0aW9uX19uZXh0Om5vdCgubWRjLXJpcHBsZS11cGdyYWRlZCk6YWN0aXZlOjphZnRlciB7XG4gIHRyYW5zaXRpb24tZHVyYXRpb246IDc1bXM7XG4gIG9wYWNpdHk6IDAuMDQ7XG59XG4ucGFnaW5hdGlvbl9fcHJldi5tZGMtcmlwcGxlLXVwZ3JhZGVkLCAucGFnaW5hdGlvbl9fbmV4dC5tZGMtcmlwcGxlLXVwZ3JhZGVkIHtcbiAgLS1tZGMtcmlwcGxlLWZnLW9wYWNpdHk6IDAuMDQ7XG59XG4ucGFnaW5hdGlvbl9fcHJldjpob3ZlciwgLnBhZ2luYXRpb25fX25leHQ6aG92ZXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDMyLCAyOSwgMjksIDAuMDMpO1xufVxuLnRhYi1uYXZpZ2F0aW9uIC5wYWdpbmF0aW9uX19wcmV2OmZvY3VzLCAudGFiLW5hdmlnYXRpb24gLnBhZ2luYXRpb25fX25leHQ6Zm9jdXMge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDMyLCAyOSwgMjksIDAuMDMpO1xufVxuLnBhZ2luYXRpb25fX3ByZXYge1xuICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXI7XG4gIGJhY2tncm91bmQtc2l6ZTogMjBweCAyMHB4O1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWw7Y2hhcnNldD11dGY4LCUzQ3N2ZyUyMHhtbG5zJTNEJTIyaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmclMjIlMjBmaWxsJTNEJTIyJTIzMDBBRUVGJTIyJTIwdmlld0JveCUzRCUyMjAlMjAwJTIwMzYlMjAzNiUyMiUzRSUzQ3BhdGglMjBkJTNEJTIyTTI3LDIuMTNhMS4xMywxLjEzLDAsMCwxLS4zMy44TDExLjcyLDE4bDE1LDE1LjA3YTEuMTMsMS4xMywwLDAsMSwwLDEuNiwxLjEyLDEuMTIsMCwwLDEtMS41OSwwTDkuMzMsMTguOGExLjEzLDEuMTMsMCwwLDEsMC0xLjZMMjUuMDgsMS4zM2ExLjEzLDEuMTMsMCwwLDEsMS45Mi44WiUyMi8lM0UlM0NwYXRoJTIwZCUzRCUyMk0zNiwzNkgwVjBIMzZaJTIyJTIwZmlsbCUzRCUyMm5vbmUlMjIvJTNFJTNDL3N2ZyUzRVwiKTtcbn1cbkBtZWRpYSAobWluLXdpZHRoOiA5OTJweCkge1xuICAucGFnaW5hdGlvbl9fcHJldiB7XG4gICAgYmFja2dyb3VuZC1zaXplOiAyNnB4IDI2cHg7XG4gICAgbWFyZ2luLXJpZ2h0OiAxMHB4O1xuICB9XG59XG4ucGFnaW5hdGlvbl9fbmV4dCB7XG4gIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlcjtcbiAgYmFja2dyb3VuZC1zaXplOiAyMHB4IDIwcHg7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbDtjaGFyc2V0PXV0ZjgsJTNDc3ZnJTIweG1sbnMlM0QlMjJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyUyMiUyMGZpbGwlM0QlMjIlMjMwMEFFRUYlMjIlMjB2aWV3Qm94JTNEJTIyMCUyMDAlMjAzNiUyMDM2JTIyJTNFJTNDcGF0aCUyMGQlM0QlMjJNOSwzMy44N2ExLjEzLDEuMTMsMCwwLDEsLjMzLS44TDI0LjI4LDE4LDkuMzMsMi45M2ExLjEzLDEuMTMsMCwwLDEsMC0xLjYsMS4xMiwxLjEyLDAsMCwxLDEuNTksMEwyNi42NywxNy4yYTEuMTMsMS4xMywwLDAsMSwwLDEuNkwxMC45MiwzNC42N0ExLjEzLDEuMTMsMCwwLDEsOSwzMy44N1olMjIvJTNFJTNDcGF0aCUyMGQlM0QlMjJNMzYsMzZIMFYwSDM2WiUyMiUyMGZpbGwlM0QlMjJub25lJTIyLyUzRSUzQy9zdmclM0VcIik7XG59XG5AbWVkaWEgKG1pbi13aWR0aDogOTkycHgpIHtcbiAgLnBhZ2luYXRpb25fX25leHQge1xuICAgIGJhY2tncm91bmQtc2l6ZTogMjZweCAyNnB4O1xuICAgIG1hcmdpbi1sZWZ0OiAxMHB4O1xuICB9XG59XG5cbi50b2FzdHMge1xuICBwb3NpdGlvbjogZml4ZWQ7XG4gIHRvcDogMDtcbiAgbGVmdDogMDtcbiAgbWFyZ2luOiBhdXRvO1xuICB6LWluZGV4OiAxOTEyO1xuICB3aWR0aDogMTAwJTtcbiAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gIHVzZXItc2VsZWN0OiBub25lO1xufVxuQG1lZGlhIChtaW4td2lkdGg6IDk5MnB4KSB7XG4gIC50b2FzdHMge1xuICAgIHotaW5kZXg6IDE5MTI7XG4gICAgd2lkdGg6IDA7XG4gICAgbGVmdDogYXV0bztcbiAgICByaWdodDogMDtcbiAgICB0b3A6IDA7XG4gICAgaGVpZ2h0OiAxMDB2aDtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDtcbiAgICBhbGlnbi1pdGVtczogZmxleC1lbmQ7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgfVxufVxuXG4udG9hc3Qge1xuICBjb2xvcjogI2ZmZjtcbiAgZm9udC13ZWlnaHQ6IDMwMDtcbiAgYm94LXNoYWRvdzogbm9uZTtcbiAgYm9yZGVyOiBub25lO1xuICB3aWR0aDogMTAwJTtcbiAgbWFyZ2luOiAwO1xuICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgdXNlci1zZWxlY3Q6IG5vbmU7XG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICBib3JkZXItcmFkaXVzOiAwO1xuICBtYXgtd2lkdGg6IG5vbmU7XG4gIGxpbmUtaGVpZ2h0OiAxLjQ7XG4gIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuNSk7XG4gIGZsZXgtYmFzaXM6IGF1dG87XG59XG5AbWVkaWEgKG1pbi13aWR0aDogOTkycHgpIHtcbiAgLnRvYXN0IHtcbiAgICB3aWR0aDogMjQwcHg7XG4gICAgbWFyZ2luOiAyMHB4IDIwcHggMTBweCAwO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICM2ZWMwMWU7XG4gICAgYm9yZGVyLXJhZGl1czogNXB4O1xuICAgIGJveC1zaGFkb3c6IC0zcHggM3B4IDZweCByZ2JhKDAsIDAsIDAsIDAuMTIpO1xuICAgIGJvcmRlci1ib3R0b206IG5vbmU7XG4gIH1cbn1cbkBtZWRpYSAobWluLXdpZHRoOiA5OTJweCkge1xuICAudG9hc3QudG9hc3QtLXdhcm5pbmcge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNGMjZBMjE7XG4gIH1cbn1cbkBtZWRpYSAobWluLXdpZHRoOiA5OTJweCkge1xuICAudG9hc3QudG9hc3QtLWFsZXJ0IHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmYwMDAwO1xuICB9XG59XG4udG9hc3QgYSB7XG4gIGNvbG9yOiAjZmZmO1xufVxuLnRvYXN0LWhlYWRlciB7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDBBRUVGO1xuICBjb2xvcjogI2ZmZjtcbiAgZm9udC13ZWlnaHQ6IDMwMDtcbiAgZm9udC1zaXplOiAxNi41cHg7XG4gIGJvcmRlcjogbm9uZTtcbiAgcG9pbnRlci1ldmVudHM6IGF1dG87XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDU4cHg7XG4gIGxpbmUtaGVpZ2h0OiA1OHB4O1xuICBwYWRkaW5nOiAwIDU1cHggMCA1MHB4O1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIG1hcmdpbi1ib3R0b206IC0zcHg7XG59XG5AbWVkaWEgKG1pbi13aWR0aDogOTkycHgpIHtcbiAgLnRvYXN0LWhlYWRlciB7XG4gICAgcGFkZGluZzogMTVweCAyNXB4IDAgMTVweDtcbiAgICBmb250LXNpemU6IDE5cHg7XG4gICAgaGVpZ2h0OiBhdXRvO1xuICAgIGxpbmUtaGVpZ2h0OiBpbmhlcml0O1xuICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICB9XG59XG4udG9hc3QtLXdhcm5pbmcgLnRvYXN0LWhlYWRlciB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNGMjZBMjE7XG59XG5AbWVkaWEgKG1pbi13aWR0aDogOTkycHgpIHtcbiAgLnRvYXN0LS13YXJuaW5nIC50b2FzdC1oZWFkZXIge1xuICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICB9XG59XG4udG9hc3QtLWFsZXJ0IC50b2FzdC1oZWFkZXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmYwMDAwO1xufVxuQG1lZGlhIChtaW4td2lkdGg6IDk5MnB4KSB7XG4gIC50b2FzdC0tYWxlcnQgLnRvYXN0LWhlYWRlciB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIH1cbn1cbi50b2FzdC1oZWFkZXI6YmVmb3JlIHtcbiAgY29udGVudDogXCJcIjtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICB3aWR0aDogMThweDtcbiAgaGVpZ2h0OiAxOHB4O1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWw7Y2hhcnNldD11dGY4LCUzQ3N2ZyUyMHhtbG5zJTNEJTIyaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmclMjIlMjBmaWxsJTNEJTIyJTIzMDBBRUVGJTIyJTIwdmlld0JveCUzRCUyMjAlMjAwJTIwMjYlMjAyNiUyMiUzRSUzQ3BhdGglMjBkJTNEJTIyTTI1LDEzQTEyLDEyLDAsMSwxLDEzLDEsMTIsMTIsMCwwLDEsMjUsMTNaJTIyJTIwZmlsbCUzRCUyMiUyM2ZmZiUyMi8lM0UlM0NwYXRoJTIwZCUzRCUyMk0xMS4zLDE4LjY2LDUuNjUsMTNsMi4yNi0yLjI2LDMuMzksMy4zOSw2Ljc5LTYuNzksMi4yNiwyLjI3WiUyMiUyMGZpbGwlM0QlMjIlMjMwMEFFRUYlMjIvJTNFJTNDcGF0aCUyMGQlM0QlMjJNMjYsMjZIMFYwSDI2WiUyMiUyMGZpbGwlM0QlMjJub25lJTIyLyUzRSUzQy9zdmclM0VcIik7XG4gIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gIGJhY2tncm91bmQtc2l6ZTogMTAwJTtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyO1xuICBtYXJnaW4tcmlnaHQ6IDVweDtcbn1cbkBtZWRpYSAobWluLXdpZHRoOiA5OTJweCkge1xuICAudG9hc3QtaGVhZGVyOmJlZm9yZSB7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiZGF0YTppbWFnZS9zdmcreG1sO2NoYXJzZXQ9dXRmOCwlM0NzdmclMjB4bWxucyUzRCUyMmh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJTIyJTIwZmlsbCUzRCUyMiUyMzZlYzAxZSUyMiUyMHZpZXdCb3glM0QlMjIwJTIwMCUyMDI2JTIwMjYlMjIlM0UlM0NwYXRoJTIwZCUzRCUyMk0yNSwxM0ExMiwxMiwwLDEsMSwxMywxLDEyLDEyLDAsMCwxLDI1LDEzWiUyMiUyMGZpbGwlM0QlMjIlMjNmZmYlMjIvJTNFJTNDcGF0aCUyMGQlM0QlMjJNMTEuMywxOC42Niw1LjY1LDEzbDIuMjYtMi4yNiwzLjM5LDMuMzksNi43OS02Ljc5LDIuMjYsMi4yN1olMjIlMjBmaWxsJTNEJTIyJTIzNmVjMDFlJTIyLyUzRSUzQ3BhdGglMjBkJTNEJTIyTTI2LDI2SDBWMEgyNlolMjIlMjBmaWxsJTNEJTIybm9uZSUyMi8lM0UlM0Mvc3ZnJTNFXCIpO1xuICB9XG59XG4udG9hc3QtLXdhcm5pbmcgLnRvYXN0LWhlYWRlcjpiZWZvcmUge1xuICB3aWR0aDogMjBweDtcbiAgaGVpZ2h0OiAyMHB4O1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWw7Y2hhcnNldD11dGY4LCUzQ3N2ZyUyMHhtbG5zJTNEJTIyaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmclMjIlMjBmaWxsJTNEJTIyJTIzZmZmJTIyJTIwdmlld0JveCUzRCUyMjAlMjAwJTIwMjQlMjAyNCUyMiUzRSUzQ3BhdGglMjBkJTNEJTIyTTElMjAyMWgyMkwxMiUyMDIlMjAxJTIwMjF6bTEyLTNoLTJ2LTJoMnYyem0wLTRoLTJ2LTRoMnY0eiUyMi8lM0UlM0Mvc3ZnJTNFXCIpO1xufVxuQG1lZGlhIChtaW4td2lkdGg6IDk5MnB4KSB7XG4gIC50b2FzdC0td2FybmluZyAudG9hc3QtaGVhZGVyOmJlZm9yZSB7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiZGF0YTppbWFnZS9zdmcreG1sO2NoYXJzZXQ9dXRmOCwlM0NzdmclMjB4bWxucyUzRCUyMmh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJTIyJTIwZmlsbCUzRCUyMiUyM2ZmZiUyMiUyMHZpZXdCb3glM0QlMjIwJTIwMCUyMDI0JTIwMjQlMjIlM0UlM0NwYXRoJTIwZCUzRCUyMk0xJTIwMjFoMjJMMTIlMjAyJTIwMSUyMDIxem0xMi0zaC0ydi0yaDJ2MnptMC00aC0ydi00aDJ2NHolMjIvJTNFJTNDL3N2ZyUzRVwiKTtcbiAgfVxufVxuLnRvYXN0LS1hbGVydCAudG9hc3QtaGVhZGVyOmJlZm9yZSB7XG4gIHdpZHRoOiAyMHB4O1xuICBoZWlnaHQ6IDIwcHg7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbDtjaGFyc2V0PXV0ZjgsJTNDc3ZnJTIweG1sbnMlM0QlMjJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyUyMiUyMGZpbGwlM0QlMjIlMjNmZmYlMjIlMjB2aWV3Qm94JTNEJTIyMCUyMDAlMjAyNCUyMDI0JTIyJTNFJTNDcGF0aCUyMGQlM0QlMjJNMTIlMjAyQzYuNDglMjAyJTIwMiUyMDYuNDglMjAyJTIwMTJzNC40OCUyMDEwJTIwMTAlMjAxMCUyMDEwLTQuNDglMjAxMC0xMFMxNy41MiUyMDIlMjAxMiUyMDJ6bTElMjAxNWgtMnYtMmgydjJ6bTAtNGgtMlY3aDJ2NnolMjIvJTNFJTNDL3N2ZyUzRVwiKTtcbn1cbkBtZWRpYSAobWluLXdpZHRoOiA5OTJweCkge1xuICAudG9hc3QtLWFsZXJ0IC50b2FzdC1oZWFkZXI6YmVmb3JlIHtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWw7Y2hhcnNldD11dGY4LCUzQ3N2ZyUyMHhtbG5zJTNEJTIyaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmclMjIlMjBmaWxsJTNEJTIyJTIzZmZmJTIyJTIwdmlld0JveCUzRCUyMjAlMjAwJTIwMjQlMjAyNCUyMiUzRSUzQ3BhdGglMjBkJTNEJTIyTTEyJTIwMkM2LjQ4JTIwMiUyMDIlMjA2LjQ4JTIwMiUyMDEyczQuNDglMjAxMCUyMDEwJTIwMTAlMjAxMC00LjQ4JTIwMTAtMTBTMTcuNTIlMjAyJTIwMTIlMjAyem0xJTIwMTVoLTJ2LTJoMnYyem0wLTRoLTJWN2gydjZ6JTIyLyUzRSUzQy9zdmclM0VcIik7XG4gIH1cbn1cbi50b2FzdC1ib2R5IHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzAwQUVFRjtcbiAgcG9pbnRlci1ldmVudHM6IGF1dG87XG4gIGZvbnQtc2l6ZTogMTYuNXB4O1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIHBhZGRpbmc6IDVweCAyM3B4IDIzcHggMjNweDtcbn1cbi50b2FzdC0td2FybmluZyAudG9hc3QtYm9keSB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNGMjZBMjE7XG59XG4udG9hc3QtLWFsZXJ0IC50b2FzdC1ib2R5IHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZmMDAwMDtcbn1cbkBtZWRpYSAobWluLXdpZHRoOiA5OTJweCkge1xuICAudG9hc3QtYm9keSB7XG4gICAgcGFkZGluZzogMTVweDtcbiAgICBmb250LXNpemU6IDE5cHg7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIH1cbn1cbkBtZWRpYSAobWluLXdpZHRoOiA5OTJweCkge1xuICAudG9hc3QtLXdhcm5pbmcgLnRvYXN0LWJvZHkge1xuICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICB9XG59XG5AbWVkaWEgKG1pbi13aWR0aDogOTkycHgpIHtcbiAgLnRvYXN0LS1hbGVydCAudG9hc3QtYm9keSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIH1cbn1cbi50b2FzdCAuY2xvc2Uge1xuICBjb2xvcjogI2ZmZjtcbiAgb3BhY2l0eTogMTtcbn1cblxuLnBhcnRuZXJzLWxpc3Qge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG59XG5AbWVkaWEgKG1heC13aWR0aDogOTkxLjlweCkge1xuICAucGFydG5lcnMtbGlzdCB7XG4gICAgcGFkZGluZzogMCAyM3B4O1xuICB9XG59XG4ucGFydG5lcnMtbGlzdF9fdGl0bGUge1xuICBmb250LXNpemU6IDI4cHg7XG4gIGZvbnQtd2VpZ2h0OiA3MDA7XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gIGNvbG9yOiAjMDBBRUVGO1xuICBtYXJnaW4tYm90dG9tOiAyNXB4O1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIG1hcmdpbi10b3A6IDI1cHg7XG4gIGxldHRlci1zcGFjaW5nOiAwLjJweDtcbn1cbkBtZWRpYSAobWluLXdpZHRoOiA5OTJweCkge1xuICAucGFydG5lcnMtbGlzdF9fdGl0bGUge1xuICAgIGxldHRlci1zcGFjaW5nOiAwLjVweDtcbiAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgIGZvbnQtc2l6ZTogNDhweDtcbiAgICBtYXgtd2lkdGg6IDEyNTRweDtcbiAgICBtYXJnaW4tbGVmdDogYXV0bztcbiAgICBtYXJnaW4tcmlnaHQ6IGF1dG87XG4gICAgbWFyZ2luLXRvcDogNXB4O1xuICB9XG59XG5AbWVkaWEgKG1pbi13aWR0aDogMTIwMHB4KSB7XG4gIC5wYXJ0bmVycy1saXN0X190aXRsZSB7XG4gICAgbWFyZ2luLWJvdHRvbTogMjhweDtcbiAgfVxufVxuQG1lZGlhIChtaW4td2lkdGg6IDE2NTZweCkge1xuICAucGFydG5lcnMtbGlzdF9fdGl0bGUge1xuICAgIG1hcmdpbi1ib3R0b206IDU4cHg7XG4gIH1cbn1cbi5wYXJ0bmVycy1saXN0X19kZXNjcmlwdGlvbiB7XG4gIG1hcmdpbi1ib3R0b206IDI1cHg7XG59XG5AbWVkaWEgKG1pbi13aWR0aDogOTkycHgpIHtcbiAgLnBhcnRuZXJzLWxpc3RfX2Rlc2NyaXB0aW9uIHtcbiAgICBtYXgtd2lkdGg6IDEyNTRweDtcbiAgICBtYXJnaW4tbGVmdDogYXV0bztcbiAgICBtYXJnaW4tcmlnaHQ6IGF1dG87XG4gIH1cbn1cbkBtZWRpYSAobWluLXdpZHRoOiAxMjAwcHgpIHtcbiAgLnBhcnRuZXJzLWxpc3RfX2Rlc2NyaXB0aW9uIHtcbiAgICBtYXJnaW4tYm90dG9tOiAyOHB4O1xuICB9XG59XG5AbWVkaWEgKG1pbi13aWR0aDogMTY1NnB4KSB7XG4gIC5wYXJ0bmVycy1saXN0X19kZXNjcmlwdGlvbiB7XG4gICAgbWFyZ2luLWJvdHRvbTogNThweDtcbiAgfVxufVxuLnBhcnRuZXJzLWxpc3RfX3JvdyB7XG4gIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCByZ2JhKDAsIDE3NCwgMjM5LCAwLjMpO1xuICBtYXJnaW46IGF1dG87XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtd3JhcDogd3JhcDtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG59XG5AbWVkaWEgKG1pbi13aWR0aDogOTkycHgpIHtcbiAgLnBhcnRuZXJzLWxpc3RfX3JvdyB7XG4gICAgYm9yZGVyLWJvdHRvbTogbm9uZTtcbiAgfVxufVxuLnBhcnRuZXJzLWxpc3RfX2l0ZW0ge1xuICBtYXJnaW4tYm90dG9tOiAyM3B4O1xuICBtYXJnaW4tcmlnaHQ6IDA7XG4gIG91dGxpbmU6IDFweCBzb2xpZCAjMjY1M0I5O1xufVxuQG1lZGlhIChtaW4td2lkdGg6IDQ4MHB4KSB7XG4gIC5wYXJ0bmVycy1saXN0X19pdGVtIHtcbiAgICB3aWR0aDogY2FsYyg1MCUgLSAxMnB4KTtcbiAgICBtYXJnaW4tcmlnaHQ6IDIzcHg7XG4gIH1cbn1cbkBtZWRpYSAobWluLXdpZHRoOiA5OTJweCkge1xuICAucGFydG5lcnMtbGlzdF9faXRlbSB7XG4gICAgd2lkdGg6IGNhbGMoMzMuMzMzJSAtIDIzcHgpO1xuICAgIG1hcmdpbi1yaWdodDogMzBweDtcbiAgICBtYXJnaW4tYm90dG9tOiAzMHB4O1xuICB9XG59XG5AbWVkaWEgKG1pbi13aWR0aDogMTIwMHB4KSB7XG4gIC5wYXJ0bmVycy1saXN0X19pdGVtIHtcbiAgICB3aWR0aDogY2FsYygyNSUgLSAzMHB4KTtcbiAgfVxufVxuQG1lZGlhIChtaW4td2lkdGg6IDE0MDBweCkge1xuICAucGFydG5lcnMtbGlzdF9faXRlbSB7XG4gICAgd2lkdGg6IGNhbGMoMjUlIC0gMzBweCk7XG4gIH1cbn1cbkBtZWRpYSAobWluLXdpZHRoOiA0ODBweCkgYW5kIChtYXgtd2lkdGg6IDk5MS45cHgpIHtcbiAgLnBhcnRuZXJzLWxpc3RfX2l0ZW06bnRoLW9mLXR5cGUoMm4pIHtcbiAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gIH1cbn1cbkBtZWRpYSAobWluLXdpZHRoOiA5OTJweCkgYW5kIChtYXgtd2lkdGg6IDExOTkuOXB4KSB7XG4gIC5wYXJ0bmVycy1saXN0X19pdGVtOm50aC1vZi10eXBlKDNuKSB7XG4gICAgbWFyZ2luLXJpZ2h0OiAwO1xuICB9XG59XG5AbWVkaWEgKG1pbi13aWR0aDogMTIwMHB4KSB7XG4gIC5wYXJ0bmVycy1saXN0X19pdGVtOm50aC1vZi10eXBlKDRuKSB7XG4gICAgbWFyZ2luLXJpZ2h0OiAwO1xuICB9XG59XG4ucGFydG5lcnMtbGlzdCAuYnJlYWRjcnVtYiB7XG4gIGRpc3BsYXk6IG5vbmU7XG59XG5AbWVkaWEgKG1pbi13aWR0aDogOTkycHgpIHtcbiAgLnBhcnRuZXJzLWxpc3QgLmJyZWFkY3J1bWIge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICB9XG59XG5cbi5tb2RhbC1mdWxsIC5tZGMtZGlhbG9nX19zY3JpbSB7XG4gIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMzgsIDgzLCAxODUsIDAuNSk7XG59XG4ubW9kYWwtZnVsbCAubWRjLWRpYWxvZ19fc3VyZmFjZSB7XG4gIG1heC13aWR0aDogY2FsYygxMDAlIC0gNDBweCk7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbn1cbkBtZWRpYSAobWluLXdpZHRoOiA3NjhweCkge1xuICAubW9kYWwtZnVsbCAubWRjLWRpYWxvZ19fc3VyZmFjZSB7XG4gICAgbWF4LXdpZHRoOiA3MjBweDtcbiAgfVxufVxuQG1lZGlhIChtaW4td2lkdGg6IDk5MnB4KSB7XG4gIC5tb2RhbC1mdWxsIC5tZGMtZGlhbG9nX19zdXJmYWNlIHtcbiAgICBtYXgtd2lkdGg6IDg4MHB4O1xuICB9XG59XG5AbWVkaWEgKG1pbi13aWR0aDogMTIwMHB4KSB7XG4gIC5tb2RhbC1mdWxsIC5tZGMtZGlhbG9nX19zdXJmYWNlIHtcbiAgICBtYXgtd2lkdGg6IDEwODBweDtcbiAgfVxufVxuQG1lZGlhIChtaW4td2lkdGg6IDE0MDBweCkge1xuICAubW9kYWwtZnVsbCAubWRjLWRpYWxvZ19fc3VyZmFjZSB7XG4gICAgbWF4LXdpZHRoOiAxMjgwcHg7XG4gIH1cbn1cbkBtZWRpYSAobWluLXdpZHRoOiAxNjU2cHgpIHtcbiAgLm1vZGFsLWZ1bGwgLm1kYy1kaWFsb2dfX3N1cmZhY2Uge1xuICAgIG1heC13aWR0aDogMTUwMHB4O1xuICB9XG59XG4ubWRjLWRpYWxvZyAubW9kYWwtZnVsbF9fY29udGVudCB7XG4gIGxldHRlci1zcGFjaW5nOiAwLjJweDtcbiAgcGFkZGluZzogNXB4O1xufVxuQG1lZGlhIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gIC5tZGMtZGlhbG9nIC5tb2RhbC1mdWxsX19jb250ZW50IHtcbiAgICBwYWRkaW5nOiAxMHB4O1xuICB9XG59XG5AbWVkaWEgKG1pbi13aWR0aDogMTIwMHB4KSB7XG4gIC5tZGMtZGlhbG9nIC5tb2RhbC1mdWxsX19jb250ZW50IHtcbiAgICBwYWRkaW5nOiAyMHB4O1xuICB9XG59XG4ubW9kYWwtZnVsbF9fY2xvc2Uge1xuICBib3JkZXI6IDA7XG4gIG1hcmdpbjogMDtcbiAgcGFkZGluZzogMDtcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgei1pbmRleDogNTA7XG4gIHRvcDogMnB4O1xuICByaWdodDogMnB4O1xuICB3aWR0aDogNDhweDtcbiAgaGVpZ2h0OiA0OHB4O1xuICBvdXRsaW5lOiBub25lO1xuICB1c2VyLXNlbGVjdDogbm9uZTtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiZGF0YTppbWFnZS9zdmcreG1sO2NoYXJzZXQ9dXRmOCwlM0NzdmclMjB4bWxucyUzRCUyMmh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJTIyJTIwZmlsbCUzRCUyMiUyMzIwMWQxZCUyMiUyMHZpZXdCb3glM0QlMjIwJTIwMCUyMDM2JTIwMzYlMjIlM0UlM0NwYXRoJTIwZCUzRCUyMk0yLjU0LDEuMTdoMGExLjA4LDEuMDgsMCwwLDEsLjg2LjM5TDE4LDE2LjEyLDMyLjUyLDEuNTZhMS4xMywxLjEzLDAsMCwxLC45Mi0uMzksMS4yNCwxLjI0LDAsMCwxLDEsLjM5LDEuMzIsMS4zMiwwLDAsMSwuMzYuOTIsMS4yOCwxLjI4LDAsMCwxLS4zOS45MkwxOS43OSwxOCwzNC4zNiwzMi41MmExLjI2LDEuMjYsMCwwLDEsLjM5LjkyLDEuMzMsMS4zMywwLDAsMS0uMzYuOTIsMS4yLDEuMiwwLDAsMS0uOTIuMzksMS4zLDEuMywwLDAsMS0uOTUtLjM5TDE4LDE5Ljc5LDMuNCwzNC4zNmExLjI4LDEuMjgsMCwwLDEtLjkyLjM5LDEuMjYsMS4yNiwwLDAsMS0uOTItLjM5LDEuMjgsMS4yOCwwLDAsMS0uMzktLjkyLDEuMjYsMS4yNiwwLDAsMSwuMzktLjkyTDE2LjEyLDE4LDEuNTYsMy40YTEuMjgsMS4yOCwwLDAsMS0uMzktLjkyLDEuMjYsMS4yNiwwLDAsMSwuMzktLjkyLDEuMjYsMS4yNiwwLDAsMSwuOTItLjM5WiUyMi8lM0UlM0NwYXRoJTIwZCUzRCUyMk0zNiwzNkgwVjBIMzZaJTIyJTIwZmlsbCUzRCUyMm5vbmUlMjIvJTNFJTNDL3N2ZyUzRVwiKTtcbiAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgYmFja2dyb3VuZC1zaXplOiAxOHB4IDE4cHg7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlcjtcbn1cbkBtZWRpYSAobWluLXdpZHRoOiA3NjhweCkge1xuICAubW9kYWwtZnVsbF9fY2xvc2Uge1xuICAgIHRvcDogMjRweDtcbiAgICByaWdodDogMjRweDtcbiAgICBiYWNrZ3JvdW5kLXNpemU6IDIycHggMjJweDtcbiAgfVxufVxuLm1vZGFsLWZ1bGxfX2Nsb3NlOmhvdmVyLCAubW9kYWwtZnVsbF9fY2xvc2U6Zm9jdXMge1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIG91dGxpbmU6IG5vbmU7XG59XG5cbmJvZHk6YmVmb3JlIHtcbiAgZGlzcGxheTogbm9uZTtcbn1cblxuLm1haW4ge1xuICBvcGFjaXR5OiAxO1xufVxuXG4uc2xpY2stc2xpZGVyIHtcbiAgZGlzcGxheTogYmxvY2s7XG59XG4uc2xpY2stc2xpZGVyLnByb2R1Y3QtY2FyZF9fY29udHJvbCB7XG4gIGRpc3BsYXk6IG5vbmU7XG59XG5AbWVkaWEgKG1pbi13aWR0aDogOTkycHgpIHtcbiAgLnNsaWNrLXNsaWRlci5wcm9kdWN0LWNhcmRfX2NvbnRyb2wge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICB9XG59XG5cbi5zaXRlLWZvcm0gLm1kYy10ZXh0LWZpZWxkLS1vdXRsaW5lZDpub3QoLm1kYy10ZXh0LWZpZWxkLS1pbnZhbGlkKTpub3QoLm1kYy10ZXh0LWZpZWxkLS1kaXNhYmxlZCkgaW5wdXQ6LXdlYmtpdC1hdXRvZmlsbCB7XG4gIC13ZWJraXQtdGV4dC1maWxsLWNvbG9yOiAjMDBBRUVGICFpbXBvcnRhbnQ7XG4gIC13ZWJraXQtYm94LXNoYWRvdzogMCAwIDAgNjBweCAjZjVmY2ZlIGluc2V0ICFpbXBvcnRhbnQ7XG59XG4uc2l0ZS1mb3JtX19jaGVja2JveC0tcmVhZG9ubHkge1xuICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgdXNlci1zZWxlY3Q6IG5vbmU7XG4gIG9wYWNpdHk6IDAuMztcbn1cbi5zaXRlLWZvcm1fX2NoZWNrYm94LS1yZWFkb25seSB+IGxhYmVsIHtcbiAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gIHVzZXItc2VsZWN0OiBub25lO1xufVxuLnNpdGUtZm9ybV9fY2hlY2tib3gtLXJlYWRvbmx5IH4gbGFiZWwgYSB7XG4gIHBvaW50ZXItZXZlbnRzOiBhdXRvO1xufVxuLnNpdGUtZm9ybSAubWRjLWZsb2F0aW5nLWxhYmVsIHtcbiAgdXNlci1zZWxlY3Q6IG5vbmU7XG4gIG1hcmdpbi1ib3R0b206IDA7XG4gIGZvbnQtd2VpZ2h0OiAzMDA7XG4gIGxldHRlci1zcGFjaW5nOiAtMC4ycHg7XG4gIGxpbmUtaGVpZ2h0OiAxLjE1O1xuICBkaXNwbGF5OiBibG9jaztcbn1cbkBtZWRpYSAobWluLXdpZHRoOiA3NjhweCkge1xuICAuc2l0ZS1mb3JtIC5tZGMtZmxvYXRpbmctbGFiZWwge1xuICAgIGxldHRlci1zcGFjaW5nOiAwO1xuICB9XG59XG5AbWVkaWEgKG1pbi13aWR0aDogMTY1NnB4KSB7XG4gIC5zaXRlLWZvcm0gLm1kYy1mbG9hdGluZy1sYWJlbCB7XG4gICAgZm9udC1zaXplOiAxOXB4O1xuICB9XG59XG4uc2l0ZS1mb3JtIC5tZGMtZmxvYXRpbmctbGFiZWwubWRjLWZsb2F0aW5nLWxhYmVsLS1mbG9hdC1hYm92ZSB7XG4gIHRleHQtb3ZlcmZsb3c6IGNsaXA7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgdmVydGljYWwtYWxpZ246IHRvcDtcbn1cbi5zaXRlLWZvcm0gaW5wdXRbcmVhZG9ubHldICsgLm1kYy1ub3RjaGVkLW91dGxpbmUtLW5vdGNoZWQgLm1kYy1ub3RjaGVkLW91dGxpbmVfX2xlYWRpbmcsXG4uc2l0ZS1mb3JtIGlucHV0W3JlYWRvbmx5XSArIC5tZGMtbm90Y2hlZC1vdXRsaW5lLS1ub3RjaGVkIC5tZGMtbm90Y2hlZC1vdXRsaW5lX19ub3RjaCxcbi5zaXRlLWZvcm0gaW5wdXRbcmVhZG9ubHldICsgLm1kYy1ub3RjaGVkLW91dGxpbmUtLW5vdGNoZWQgLm1kYy1ub3RjaGVkLW91dGxpbmVfX3RyYWlsaW5nIHtcbiAgYm9yZGVyLXdpZHRoOiAxcHg7XG59XG4uc2l0ZS1mb3JtIGlucHV0W3JlYWRvbmx5XSArIC5tZGMtbm90Y2hlZC1vdXRsaW5lLS1ub3RjaGVkIC5tZGMtZmxvYXRpbmctbGFiZWwge1xuICB1c2VyLXNlbGVjdDogbm9uZTtcbn1cbi5zaXRlLWZvcm0gLm1kYy1zZWxlY3QtLW91dGxpbmVkIC5tZGMtZmxvYXRpbmctbGFiZWwubWRjLWZsb2F0aW5nLWxhYmVsLS1mbG9hdC1hYm92ZSB7XG4gIG1pbi13aWR0aDogMDtcbiAgbWF4LXdpZHRoOiBub25lO1xufVxuLnNpdGUtZm9ybSAubWRjLWNoZWNrYm94IHtcbiAgbWFyZ2luLWxlZnQ6IC0xMXB4O1xuICBtYXJnaW4tYm90dG9tOiAtOHB4O1xuICBvdmVyZmxvdzogaGlkZGVuO1xufVxuLnNpdGUtZm9ybSAubWRjLWNoZWNrYm94IC5tZGMtY2hlY2tib3hfX25hdGl2ZS1jb250cm9sOmVuYWJsZWQ6bm90KDpjaGVja2VkKTpub3QoOmluZGV0ZXJtaW5hdGUpOm5vdChbZGF0YS1pbmRldGVybWluYXRlPXRydWVdKSB+IC5tZGMtY2hlY2tib3hfX2JhY2tncm91bmQge1xuICBib3JkZXItY29sb3I6ICMwMGE1ZTM7XG4gIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMCwgMCwgMCwgMCk7XG59XG4uc2l0ZS1mb3JtIC5tZGMtY2hlY2tib3ggLm1kYy1jaGVja2JveF9fbmF0aXZlLWNvbnRyb2w6ZW5hYmxlZDpjaGVja2VkIH4gLm1kYy1jaGVja2JveF9fYmFja2dyb3VuZCxcbi5zaXRlLWZvcm0gLm1kYy1jaGVja2JveCAubWRjLWNoZWNrYm94X19uYXRpdmUtY29udHJvbDplbmFibGVkOmluZGV0ZXJtaW5hdGUgfiAubWRjLWNoZWNrYm94X19iYWNrZ3JvdW5kLFxuLnNpdGUtZm9ybSAubWRjLWNoZWNrYm94IC5tZGMtY2hlY2tib3hfX25hdGl2ZS1jb250cm9sW2RhdGEtaW5kZXRlcm1pbmF0ZT10cnVlXTplbmFibGVkIH4gLm1kYy1jaGVja2JveF9fYmFja2dyb3VuZCB7XG4gIGJvcmRlci1jb2xvcjogIzAwYTVlMztcbiAgYmFja2dyb3VuZC1jb2xvcjogIzAwYTVlMztcbn1cbkBrZXlmcmFtZXMgbWRjLWNoZWNrYm94LWZhZGUtaW4tYmFja2dyb3VuZC1GRjAwQTVFM0ZGMDBBNUUzMDAwMDAwMDBGRjAwQTVFMyB7XG4gIDAlIHtcbiAgICBib3JkZXItY29sb3I6ICMwMGE1ZTM7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgwLCAwLCAwLCAwKTtcbiAgfVxuICA1MCUge1xuICAgIGJvcmRlci1jb2xvcjogIzAwYTVlMztcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDBhNWUzO1xuICB9XG59XG5Aa2V5ZnJhbWVzIG1kYy1jaGVja2JveC1mYWRlLW91dC1iYWNrZ3JvdW5kLUZGMDBBNUUzRkYwMEE1RTMwMDAwMDAwMEZGMDBBNUUzIHtcbiAgMCUsIDgwJSB7XG4gICAgYm9yZGVyLWNvbG9yOiAjMDBhNWUzO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICMwMGE1ZTM7XG4gIH1cbiAgMTAwJSB7XG4gICAgYm9yZGVyLWNvbG9yOiAjMDBhNWUzO1xuICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMCwgMCwgMCwgMCk7XG4gIH1cbn1cbi5zaXRlLWZvcm0gLm1kYy1jaGVja2JveC5tZGMtY2hlY2tib3gtLWFuaW0tdW5jaGVja2VkLWNoZWNrZWQgLm1kYy1jaGVja2JveF9fbmF0aXZlLWNvbnRyb2w6ZW5hYmxlZCB+IC5tZGMtY2hlY2tib3hfX2JhY2tncm91bmQsIC5zaXRlLWZvcm0gLm1kYy1jaGVja2JveC5tZGMtY2hlY2tib3gtLWFuaW0tdW5jaGVja2VkLWluZGV0ZXJtaW5hdGUgLm1kYy1jaGVja2JveF9fbmF0aXZlLWNvbnRyb2w6ZW5hYmxlZCB+IC5tZGMtY2hlY2tib3hfX2JhY2tncm91bmQge1xuICBhbmltYXRpb24tbmFtZTogbWRjLWNoZWNrYm94LWZhZGUtaW4tYmFja2dyb3VuZC1GRjAwQTVFM0ZGMDBBNUUzMDAwMDAwMDBGRjAwQTVFMztcbn1cbi5zaXRlLWZvcm0gLm1kYy1jaGVja2JveC5tZGMtY2hlY2tib3gtLWFuaW0tY2hlY2tlZC11bmNoZWNrZWQgLm1kYy1jaGVja2JveF9fbmF0aXZlLWNvbnRyb2w6ZW5hYmxlZCB+IC5tZGMtY2hlY2tib3hfX2JhY2tncm91bmQsIC5zaXRlLWZvcm0gLm1kYy1jaGVja2JveC5tZGMtY2hlY2tib3gtLWFuaW0taW5kZXRlcm1pbmF0ZS11bmNoZWNrZWQgLm1kYy1jaGVja2JveF9fbmF0aXZlLWNvbnRyb2w6ZW5hYmxlZCB+IC5tZGMtY2hlY2tib3hfX2JhY2tncm91bmQge1xuICBhbmltYXRpb24tbmFtZTogbWRjLWNoZWNrYm94LWZhZGUtb3V0LWJhY2tncm91bmQtRkYwMEE1RTNGRjAwQTVFMzAwMDAwMDAwRkYwMEE1RTM7XG59XG4uc2l0ZS1mb3JtIC5tZGMtY2hlY2tib3ggLm1kYy1jaGVja2JveF9fbmF0aXZlLWNvbnRyb2w6ZW5hYmxlZCB+IC5tZGMtY2hlY2tib3hfX2JhY2tncm91bmQgLm1kYy1jaGVja2JveF9fY2hlY2ttYXJrIHtcbiAgY29sb3I6ICNmZmY7XG59XG4uc2l0ZS1mb3JtIC5tZGMtY2hlY2tib3ggLm1kYy1jaGVja2JveF9fbmF0aXZlLWNvbnRyb2w6ZW5hYmxlZCB+IC5tZGMtY2hlY2tib3hfX2JhY2tncm91bmQgLm1kYy1jaGVja2JveF9fbWl4ZWRtYXJrIHtcbiAgYm9yZGVyLWNvbG9yOiAjZmZmO1xufVxuLnNpdGUtZm9ybSAubWRjLWNoZWNrYm94IC5tZGMtY2hlY2tib3hfX25hdGl2ZS1jb250cm9sOmNoZWNrZWQgfiAubWRjLWNoZWNrYm94X19iYWNrZ3JvdW5kOjpiZWZvcmUsXG4uc2l0ZS1mb3JtIC5tZGMtY2hlY2tib3ggLm1kYy1jaGVja2JveF9fbmF0aXZlLWNvbnRyb2w6aW5kZXRlcm1pbmF0ZSB+IC5tZGMtY2hlY2tib3hfX2JhY2tncm91bmQ6OmJlZm9yZSxcbi5zaXRlLWZvcm0gLm1kYy1jaGVja2JveCAubWRjLWNoZWNrYm94X19uYXRpdmUtY29udHJvbFtkYXRhLWluZGV0ZXJtaW5hdGU9dHJ1ZV0gfiAubWRjLWNoZWNrYm94X19iYWNrZ3JvdW5kOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDBhNWUzO1xufVxuLnNpdGUtZm9ybSAubWRjLWNoZWNrYm94Lm1kYy1jaGVja2JveC0tc2VsZWN0ZWQgLm1kYy1jaGVja2JveF9fcmlwcGxlOjpiZWZvcmUsIC5zaXRlLWZvcm0gLm1kYy1jaGVja2JveC5tZGMtY2hlY2tib3gtLXNlbGVjdGVkIC5tZGMtY2hlY2tib3hfX3JpcHBsZTo6YWZ0ZXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDBhNWUzO1xufVxuLnNpdGUtZm9ybSAubWRjLWNoZWNrYm94Lm1kYy1jaGVja2JveC0tc2VsZWN0ZWQ6aG92ZXIgLm1kYy1jaGVja2JveF9fcmlwcGxlOjpiZWZvcmUge1xuICBvcGFjaXR5OiAwLjA4O1xufVxuLnNpdGUtZm9ybSAubWRjLWNoZWNrYm94Lm1kYy1jaGVja2JveC0tc2VsZWN0ZWQubWRjLXJpcHBsZS11cGdyYWRlZC0tYmFja2dyb3VuZC1mb2N1c2VkIC5tZGMtY2hlY2tib3hfX3JpcHBsZTo6YmVmb3JlLCAuc2l0ZS1mb3JtIC5tZGMtY2hlY2tib3gubWRjLWNoZWNrYm94LS1zZWxlY3RlZDpub3QoLm1kYy1yaXBwbGUtdXBncmFkZWQpOmZvY3VzIC5tZGMtY2hlY2tib3hfX3JpcHBsZTo6YmVmb3JlIHtcbiAgdHJhbnNpdGlvbi1kdXJhdGlvbjogNzVtcztcbiAgb3BhY2l0eTogMC4yNDtcbn1cbi5zaXRlLWZvcm0gLm1kYy1jaGVja2JveC5tZGMtY2hlY2tib3gtLXNlbGVjdGVkOm5vdCgubWRjLXJpcHBsZS11cGdyYWRlZCkgLm1kYy1jaGVja2JveF9fcmlwcGxlOjphZnRlciB7XG4gIHRyYW5zaXRpb246IG9wYWNpdHkgMTUwbXMgbGluZWFyO1xufVxuLnNpdGUtZm9ybSAubWRjLWNoZWNrYm94Lm1kYy1jaGVja2JveC0tc2VsZWN0ZWQ6bm90KC5tZGMtcmlwcGxlLXVwZ3JhZGVkKTphY3RpdmUgLm1kYy1jaGVja2JveF9fcmlwcGxlOjphZnRlciB7XG4gIHRyYW5zaXRpb24tZHVyYXRpb246IDc1bXM7XG4gIG9wYWNpdHk6IDAuMjQ7XG59XG4uc2l0ZS1mb3JtIC5tZGMtY2hlY2tib3gubWRjLWNoZWNrYm94LS1zZWxlY3RlZC5tZGMtcmlwcGxlLXVwZ3JhZGVkIHtcbiAgLS1tZGMtcmlwcGxlLWZnLW9wYWNpdHk6IDAuMjQ7XG59XG4uc2l0ZS1mb3JtIC5tZGMtY2hlY2tib3gubWRjLXJpcHBsZS11cGdyYWRlZC0tYmFja2dyb3VuZC1mb2N1c2VkLm1kYy1jaGVja2JveC0tc2VsZWN0ZWQgLm1kYy1jaGVja2JveF9fcmlwcGxlOjpiZWZvcmUsXG4uc2l0ZS1mb3JtIC5tZGMtY2hlY2tib3gubWRjLXJpcHBsZS11cGdyYWRlZC0tYmFja2dyb3VuZC1mb2N1c2VkLm1kYy1jaGVja2JveC0tc2VsZWN0ZWQgLm1kYy1jaGVja2JveF9fcmlwcGxlOjphZnRlciB7XG4gIGJhY2tncm91bmQtY29sb3I6ICMwMGE1ZTM7XG59XG4uc2l0ZS1mb3JtIC5tZGMtY2hlY2tib3ggLm1kYy1jaGVja2JveF9fcmlwcGxlIHtcbiAgYm9yZGVyLXJhZGl1czogMTAwcHg7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWigwKTtcbn1cbi5zaXRlLWZvcm0gLm1kYy1jaGVja2JveCAubWRjLWNoZWNrYm94X19yaXBwbGU6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzAwQUVFRjtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAxMDAlO1xuICBsZWZ0OiAwO1xuICB0b3A6IDA7XG59XG4uc2l0ZS1mb3JtIC5tZGMtY2hlY2tib3ggLm1kYy1jaGVja2JveF9fcmlwcGxlOmFmdGVyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzAwQUVFRjtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAxMDAlO1xuICBsZWZ0OiAwO1xuICB0b3A6IDA7XG59XG4uc2l0ZS1mb3JtIC5tZGMtY2hlY2tib3g6aG92ZXIgLm1kYy1jaGVja2JveF9fcmlwcGxlOmJlZm9yZSB7XG4gIG9wYWNpdHk6IDAuMDg7XG4gIGJhY2tncm91bmQtY29sb3I6ICMwMEFFRUY7XG59XG4uc2l0ZS1mb3JtIC5tZGMtY2hlY2tib3g6aG92ZXIgLm1kYy1jaGVja2JveF9fcmlwcGxlOmFmdGVyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzAwQUVFRjtcbn1cbi5zaXRlLWZvcm0gLm1kYy1yYWRpbyB7XG4gIG1hcmdpbi1sZWZ0OiAtMTFweDtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbn1cbi5zaXRlLWZvcm0gLm1kYy1yYWRpbyAubWRjLXJhZGlvX19uYXRpdmUtY29udHJvbDplbmFibGVkOm5vdCg6Y2hlY2tlZCkgKyAubWRjLXJhZGlvX19iYWNrZ3JvdW5kIC5tZGMtcmFkaW9fX291dGVyLWNpcmNsZSB7XG4gIGJvcmRlci1jb2xvcjogIzAwYTVlMztcbn1cbi5zaXRlLWZvcm0gLm1kYy1yYWRpbyAubWRjLXJhZGlvX19uYXRpdmUtY29udHJvbDplbmFibGVkOmNoZWNrZWQgKyAubWRjLXJhZGlvX19iYWNrZ3JvdW5kIC5tZGMtcmFkaW9fX291dGVyLWNpcmNsZSB7XG4gIGJvcmRlci1jb2xvcjogIzAwYTVlMztcbn1cbi5zaXRlLWZvcm0gLm1kYy1yYWRpbyAubWRjLXJhZGlvX19uYXRpdmUtY29udHJvbDplbmFibGVkICsgLm1kYy1yYWRpb19fYmFja2dyb3VuZCAubWRjLXJhZGlvX19pbm5lci1jaXJjbGUge1xuICBib3JkZXItY29sb3I6ICMwMGE1ZTM7XG59XG4uc2l0ZS1mb3JtIC5tZGMtcmFkaW8gLm1kYy1yYWRpb19fYmFja2dyb3VuZDo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzAwQUVFRjtcbn1cbi5zaXRlLWZvcm0gLm1kYy1yYWRpbyArIGxhYmVsIHtcbiAgZm9udC1zaXplOiAxMi41cHg7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgZm9udC13ZWlnaHQ6IDMwMDtcbiAgbGluZS1oZWlnaHQ6IDEuNTtcbn1cbkBtZWRpYSAobWluLXdpZHRoOiA3NjhweCkge1xuICAuc2l0ZS1mb3JtIC5tZGMtcmFkaW8gKyBsYWJlbCB7XG4gICAgZm9udC1zaXplOiAxNnB4O1xuICB9XG59XG5AbWVkaWEgKG1pbi13aWR0aDogMTY1NnB4KSB7XG4gIC5zaXRlLWZvcm0gLm1kYy1yYWRpbyArIGxhYmVsIHtcbiAgICBmb250LXNpemU6IDE5cHg7XG4gIH1cbn1cbi5zaXRlLWZvcm0gLm1kYy1yYWRpbyAubWRjLXJhZGlvX19yaXBwbGUge1xuICBib3JkZXItcmFkaXVzOiAxMDBweDtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVaKDApO1xufVxuLnNpdGUtZm9ybSAubWRjLXJhZGlvIC5tZGMtcmFkaW9fX3JpcHBsZTpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDBBRUVGO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDEwMCU7XG4gIGxlZnQ6IDA7XG4gIHRvcDogMDtcbn1cbi5zaXRlLWZvcm0gLm1kYy1yYWRpbyAubWRjLXJhZGlvX19yaXBwbGU6YWZ0ZXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDBBRUVGO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDEwMCU7XG4gIGxlZnQ6IDA7XG4gIHRvcDogMDtcbn1cbi5zaXRlLWZvcm0gLm1kYy1yYWRpbzpob3ZlciAubWRjLXJhZGlvX19yaXBwbGU6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzAwQUVFRjtcbiAgb3BhY2l0eTogMC4wODtcbn1cbi5zaXRlLWZvcm0gLm1kYy1yYWRpby1maWVsZCB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgcGFkZGluZy1ib3R0b206IDE1cHg7XG59XG4uc2l0ZS1mb3JtIC5tZGMtZm9ybS1maWVsZCAubWRjLXJhZGlvICsgbGFiZWwge1xuICBtYXJnaW4tdG9wOiAxMS41cHg7XG59XG5AbWVkaWEgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgLnNpdGUtZm9ybSAubWRjLWZvcm0tZmllbGQgLm1kYy1yYWRpbyArIGxhYmVsIHtcbiAgICBtYXJnaW4tdG9wOiA4cHg7XG4gIH1cbn1cbkBtZWRpYSAobWluLXdpZHRoOiAxNjU2cHgpIHtcbiAgLnNpdGUtZm9ybSAubWRjLWZvcm0tZmllbGQgLm1kYy1yYWRpbyArIGxhYmVsIHtcbiAgICBtYXJnaW4tdG9wOiA2cHg7XG4gICAgcGFkZGluZy1sZWZ0OiA1cHg7XG4gIH1cbn1cbi5zaXRlLWZvcm0gLm1kYy10ZXh0LWZpZWxkIC5tZGMtdGV4dC1maWVsZF9faW5wdXQge1xuICBjYXJldC1jb2xvcjogIzIwMWQxZCAhaW1wb3J0YW50O1xufVxuLnNpdGUtZm9ybSAubWRjLXRleHQtZmllbGQ6bm90KC5tZGMtdGV4dC1maWVsZC0tZGlzYWJsZWQpIC5tZGMtZmxvYXRpbmctbGFiZWwubWRjLWZsb2F0aW5nLWxhYmVsLS1mbG9hdC1hYm92ZSB7XG4gIGNvbG9yOiAjMDBhNWUzO1xufVxuLnNpdGUtZm9ybSAubWRjLXRleHQtZmllbGQtLWludmFsaWQ6bm90KC5tZGMtdGV4dC1maWVsZC0tZGlzYWJsZWQpIC5tZGMtZmxvYXRpbmctbGFiZWwge1xuICBjb2xvcjogcmdiYSgwLCAwLCAwLCAwLjYpO1xufVxuLnNpdGUtZm9ybSAubWRjLXRleHQtZmllbGQtLWludmFsaWQ6bm90KC5tZGMtdGV4dC1maWVsZC0tZGlzYWJsZWQpIC5tZGMtZmxvYXRpbmctbGFiZWw6YWZ0ZXIge1xuICBjb2xvcjogcmdiYSgwLCAwLCAwLCAwLjYpO1xufVxuLnNpdGUtZm9ybSAubWRjLXRleHQtZmllbGQtLWludmFsaWQ6bm90KC5tZGMtdGV4dC1maWVsZC0tZGlzYWJsZWQpIC5tZGMtdGV4dC1maWVsZF9faW5wdXQ6cmVxdWlyZWQgfiAubWRjLW5vdGNoZWQtb3V0bGluZSAubWRjLWZsb2F0aW5nLWxhYmVsOmFmdGVyIHtcbiAgY29sb3I6IHJnYmEoMCwgMCwgMCwgMC42KTtcbn1cbi5zaXRlLWZvcm0gLm1kYy10ZXh0LWZpZWxkLS1pbnZhbGlkOm5vdCgubWRjLXRleHQtZmllbGQtLWRpc2FibGVkKSAubWRjLXRleHQtZmllbGRfX2lucHV0OnJlcXVpcmVkIH4gLm1kYy1ub3RjaGVkLW91dGxpbmUgLm1kYy1mbG9hdGluZy1sYWJlbC5tZGMtZmxvYXRpbmctbGFiZWwtLWZsb2F0LWFib3ZlOmFmdGVyIHtcbiAgY29sb3I6ICMwMGE1ZTM7XG59XG4ud2FzLXZhbGlkYXRlZCAuc2l0ZS1mb3JtIC5tZGMtdGV4dC1maWVsZC0taW52YWxpZCwgLnNpdGUtZm9ybS53YXMtdmFsaWRhdGVkIC5tZGMtdGV4dC1maWVsZC0taW52YWxpZCB7XG4gIG1hcmdpbi1ib3R0b206IDZweDtcbn1cbkBtZWRpYSAobWluLXdpZHRoOiAxNjU2cHgpIHtcbiAgLndhcy12YWxpZGF0ZWQgLnNpdGUtZm9ybSAubWRjLXRleHQtZmllbGQtLWludmFsaWQsIC5zaXRlLWZvcm0ud2FzLXZhbGlkYXRlZCAubWRjLXRleHQtZmllbGQtLWludmFsaWQge1xuICAgIG1hcmdpbi1ib3R0b206IDA7XG4gIH1cbn1cbi53YXMtdmFsaWRhdGVkIC5zaXRlLWZvcm0gLm1kYy1jaGVja2JveCAubWRjLWNoZWNrYm94X19uYXRpdmUtY29udHJvbDppbnZhbGlkIH4gLm1kYy1jaGVja2JveF9fYmFja2dyb3VuZCwgLnNpdGUtZm9ybS53YXMtdmFsaWRhdGVkIC5tZGMtY2hlY2tib3ggLm1kYy1jaGVja2JveF9fbmF0aXZlLWNvbnRyb2w6aW52YWxpZCB+IC5tZGMtY2hlY2tib3hfX2JhY2tncm91bmQge1xuICBib3JkZXItY29sb3I6ICNmZjAwMDAgIWltcG9ydGFudDtcbn1cbi53YXMtdmFsaWRhdGVkIC5zaXRlLWZvcm0gLm1kYy1jaGVja2JveCAubWRjLWNoZWNrYm94X19uYXRpdmUtY29udHJvbDppbnZhbGlkIH4gbGFiZWwsIC5zaXRlLWZvcm0ud2FzLXZhbGlkYXRlZCAubWRjLWNoZWNrYm94IC5tZGMtY2hlY2tib3hfX25hdGl2ZS1jb250cm9sOmludmFsaWQgfiBsYWJlbCB7XG4gIGNvbG9yOiAjZmYwMDAwO1xufVxuLndhcy12YWxpZGF0ZWQgLnNpdGUtZm9ybSAubWRjLXJhZGlvIC5tZGMtcmFkaW9fX25hdGl2ZS1jb250cm9sOmludmFsaWQgfiAubWRjLXJhZGlvX19iYWNrZ3JvdW5kIC5tZGMtcmFkaW9fX291dGVyLWNpcmNsZSwgLndhcy12YWxpZGF0ZWQgLnNpdGUtZm9ybSAubWRjLXJhZGlvIC5tZGMtcmFkaW9fX25hdGl2ZS1jb250cm9sOmludmFsaWQgfiAubWRjLXJhZGlvX19iYWNrZ3JvdW5kIC5tZGMtcmFkaW9fX2lubmVyLWNpcmNsZSwgLnNpdGUtZm9ybS53YXMtdmFsaWRhdGVkIC5tZGMtcmFkaW8gLm1kYy1yYWRpb19fbmF0aXZlLWNvbnRyb2w6aW52YWxpZCB+IC5tZGMtcmFkaW9fX2JhY2tncm91bmQgLm1kYy1yYWRpb19fb3V0ZXItY2lyY2xlLCAuc2l0ZS1mb3JtLndhcy12YWxpZGF0ZWQgLm1kYy1yYWRpbyAubWRjLXJhZGlvX19uYXRpdmUtY29udHJvbDppbnZhbGlkIH4gLm1kYy1yYWRpb19fYmFja2dyb3VuZCAubWRjLXJhZGlvX19pbm5lci1jaXJjbGUge1xuICBib3JkZXItY29sb3I6ICNmZjAwMDAgIWltcG9ydGFudDtcbn1cbi53YXMtdmFsaWRhdGVkIC5zaXRlLWZvcm0gLm1kYy1yYWRpbyAubWRjLXJhZGlvX19uYXRpdmUtY29udHJvbDppbnZhbGlkIH4gbGFiZWwsIC5zaXRlLWZvcm0ud2FzLXZhbGlkYXRlZCAubWRjLXJhZGlvIC5tZGMtcmFkaW9fX25hdGl2ZS1jb250cm9sOmludmFsaWQgfiBsYWJlbCB7XG4gIGNvbG9yOiAjZmYwMDAwO1xufVxuLndhcy12YWxpZGF0ZWQgLnNpdGUtZm9ybSAubWRjLXRleHQtZmllbGRfX2lucHV0OmludmFsaWQgfiAubWRjLW5vdGNoZWQtb3V0bGluZSAubWRjLW5vdGNoZWQtb3V0bGluZV9fbGVhZGluZyxcbi53YXMtdmFsaWRhdGVkIC5zaXRlLWZvcm0gLm1kYy10ZXh0LWZpZWxkX19pbnB1dDppbnZhbGlkIH4gLm1kYy1ub3RjaGVkLW91dGxpbmUgLm1kYy1ub3RjaGVkLW91dGxpbmVfX25vdGNoLFxuLndhcy12YWxpZGF0ZWQgLnNpdGUtZm9ybSAubWRjLXRleHQtZmllbGRfX2lucHV0OmludmFsaWQgfiAubWRjLW5vdGNoZWQtb3V0bGluZSAubWRjLW5vdGNoZWQtb3V0bGluZV9fdHJhaWxpbmcsIC5zaXRlLWZvcm0ud2FzLXZhbGlkYXRlZCAubWRjLXRleHQtZmllbGRfX2lucHV0OmludmFsaWQgfiAubWRjLW5vdGNoZWQtb3V0bGluZSAubWRjLW5vdGNoZWQtb3V0bGluZV9fbGVhZGluZyxcbi5zaXRlLWZvcm0ud2FzLXZhbGlkYXRlZCAubWRjLXRleHQtZmllbGRfX2lucHV0OmludmFsaWQgfiAubWRjLW5vdGNoZWQtb3V0bGluZSAubWRjLW5vdGNoZWQtb3V0bGluZV9fbm90Y2gsXG4uc2l0ZS1mb3JtLndhcy12YWxpZGF0ZWQgLm1kYy10ZXh0LWZpZWxkX19pbnB1dDppbnZhbGlkIH4gLm1kYy1ub3RjaGVkLW91dGxpbmUgLm1kYy1ub3RjaGVkLW91dGxpbmVfX3RyYWlsaW5nIHtcbiAgYm9yZGVyLWNvbG9yOiAjZmYwMDAwICFpbXBvcnRhbnQ7XG59XG4ud2FzLXZhbGlkYXRlZCAuc2l0ZS1mb3JtIC5tZGMtdGV4dC1maWVsZF9faW5wdXQ6aW52YWxpZCB+IC5tZGMtbm90Y2hlZC1vdXRsaW5lIC5tZGMtZmxvYXRpbmctbGFiZWwsIC5zaXRlLWZvcm0ud2FzLXZhbGlkYXRlZCAubWRjLXRleHQtZmllbGRfX2lucHV0OmludmFsaWQgfiAubWRjLW5vdGNoZWQtb3V0bGluZSAubWRjLWZsb2F0aW5nLWxhYmVsIHtcbiAgY29sb3I6ICNmZjAwMDAgIWltcG9ydGFudDtcbn1cbi53YXMtdmFsaWRhdGVkIC5zaXRlLWZvcm0gLm1kYy10ZXh0LWZpZWxkX19pbnB1dDppbnZhbGlkIH4gLm1kYy1ub3RjaGVkLW91dGxpbmUgLm1kYy1mbG9hdGluZy1sYWJlbDphZnRlciwgLnNpdGUtZm9ybS53YXMtdmFsaWRhdGVkIC5tZGMtdGV4dC1maWVsZF9faW5wdXQ6aW52YWxpZCB+IC5tZGMtbm90Y2hlZC1vdXRsaW5lIC5tZGMtZmxvYXRpbmctbGFiZWw6YWZ0ZXIge1xuICBjb2xvcjogI2ZmMDAwMCAhaW1wb3J0YW50O1xufVxuLndhcy12YWxpZGF0ZWQgLnNpdGUtZm9ybSAuc2l0ZS1mb3JtX19jaGVja2JveC0tcmVxdWlyZWQuc2l0ZS1mb3JtX19jaGVja2JveC0tdW5jaGVja2VkIH4gbGFiZWwsIC5zaXRlLWZvcm0ud2FzLXZhbGlkYXRlZCAuc2l0ZS1mb3JtX19jaGVja2JveC0tcmVxdWlyZWQuc2l0ZS1mb3JtX19jaGVja2JveC0tdW5jaGVja2VkIH4gbGFiZWwge1xuICBjb2xvcjogI2ZmMDAwMDtcbn1cbi53YXMtdmFsaWRhdGVkIC5zaXRlLWZvcm0gLnNpdGUtZm9ybV9fY2hlY2tib3gtLXJlcXVpcmVkLnNpdGUtZm9ybV9fY2hlY2tib3gtLXVuY2hlY2tlZCB+IGxhYmVsOmFmdGVyLCAuc2l0ZS1mb3JtLndhcy12YWxpZGF0ZWQgLnNpdGUtZm9ybV9fY2hlY2tib3gtLXJlcXVpcmVkLnNpdGUtZm9ybV9fY2hlY2tib3gtLXVuY2hlY2tlZCB+IGxhYmVsOmFmdGVyIHtcbiAgY29sb3I6ICNmZjAwMDA7XG59XG4ud2FzLXZhbGlkYXRlZCAuc2l0ZS1mb3JtIC5zaXRlLWZvcm1fX2NoZWNrYm94LS1yZXF1aXJlZC5zaXRlLWZvcm1fX2NoZWNrYm94LS11bmNoZWNrZWQgfiBsYWJlbCBhLCAuc2l0ZS1mb3JtLndhcy12YWxpZGF0ZWQgLnNpdGUtZm9ybV9fY2hlY2tib3gtLXJlcXVpcmVkLnNpdGUtZm9ybV9fY2hlY2tib3gtLXVuY2hlY2tlZCB+IGxhYmVsIGEge1xuICBjb2xvcjogI2ZmMDAwMDtcbiAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG59XG4ud2FzLXZhbGlkYXRlZCAuc2l0ZS1mb3JtIC5zaXRlLWZvcm1fX3JhZGlvLS1yZXF1aXJlZC5zaXRlLWZvcm1fX3JhZGlvLS11bmNoZWNrZWQgfiBsYWJlbCwgLnNpdGUtZm9ybS53YXMtdmFsaWRhdGVkIC5zaXRlLWZvcm1fX3JhZGlvLS1yZXF1aXJlZC5zaXRlLWZvcm1fX3JhZGlvLS11bmNoZWNrZWQgfiBsYWJlbCB7XG4gIGNvbG9yOiAjZmYwMDAwO1xufVxuLndhcy12YWxpZGF0ZWQgLnNpdGUtZm9ybSAuc2l0ZS1mb3JtX19yYWRpby0tcmVxdWlyZWQuc2l0ZS1mb3JtX19yYWRpby0tdW5jaGVja2VkIH4gbGFiZWw6YWZ0ZXIsIC5zaXRlLWZvcm0ud2FzLXZhbGlkYXRlZCAuc2l0ZS1mb3JtX19yYWRpby0tcmVxdWlyZWQuc2l0ZS1mb3JtX19yYWRpby0tdW5jaGVja2VkIH4gbGFiZWw6YWZ0ZXIge1xuICBjb2xvcjogI2ZmMDAwMDtcbn1cbi53YXMtdmFsaWRhdGVkIC5zaXRlLWZvcm0gLnNpdGUtZm9ybV9fcmFkaW8tLXJlcXVpcmVkLnNpdGUtZm9ybV9fcmFkaW8tLXVuY2hlY2tlZCB+IGxhYmVsIGEsIC5zaXRlLWZvcm0ud2FzLXZhbGlkYXRlZCAuc2l0ZS1mb3JtX19yYWRpby0tcmVxdWlyZWQuc2l0ZS1mb3JtX19yYWRpby0tdW5jaGVja2VkIH4gbGFiZWwgYSB7XG4gIGNvbG9yOiAjZmYwMDAwO1xuICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcbn1cbi53YXMtdmFsaWRhdGVkIC5zaXRlLWZvcm0gLm1kYy1zZWxlY3QtLW91dGxpbmVkLm1kYy1zZWxlY3QtLWludmFsaWQgLm1kYy1zZWxlY3RfX2FuY2hvciwgLnNpdGUtZm9ybS53YXMtdmFsaWRhdGVkIC5tZGMtc2VsZWN0LS1vdXRsaW5lZC5tZGMtc2VsZWN0LS1pbnZhbGlkIC5tZGMtc2VsZWN0X19hbmNob3Ige1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWw7Y2hhcnNldD11dGY4LCUzQ3N2ZyUyMHhtbG5zJTNEJTIyaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmclMjIlMjBmaWxsJTNEJTIyJTIzZmYwMDAwJTIyJTIwdmlld0JveCUzRCUyMjAlMjAwJTIwMTYlMjAzMiUyMiUzRSUzQ3BhdGglMjBkJTNEJTIyTTE0LDExLjFIM0w4LjUsMlpNMywyMUgxNEw4LjUsMzAuMVolMjIvJTNFJTNDcGF0aCUyMGQlM0QlMjJNMTYsMzJIMFYwSDE2WiUyMiUyMGZpbGwlM0QlMjJub25lJTIyLyUzRSUzQy9zdmclM0VcIik7XG4gIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMjU1LCAwLCAwLCAwKTtcbn1cbi53YXMtdmFsaWRhdGVkIC5zaXRlLWZvcm0gLm1kYy1zZWxlY3QtLW91dGxpbmVkLm1kYy1zZWxlY3QtLWludmFsaWQ6aG92ZXIgLm1kYy1zZWxlY3RfX2FuY2hvciwgLndhcy12YWxpZGF0ZWQgLnNpdGUtZm9ybSAubWRjLXNlbGVjdC0tb3V0bGluZWQubWRjLXNlbGVjdC0taW52YWxpZDpmb2N1cyAubWRjLXNlbGVjdF9fYW5jaG9yLCAuc2l0ZS1mb3JtLndhcy12YWxpZGF0ZWQgLm1kYy1zZWxlY3QtLW91dGxpbmVkLm1kYy1zZWxlY3QtLWludmFsaWQ6aG92ZXIgLm1kYy1zZWxlY3RfX2FuY2hvciwgLnNpdGUtZm9ybS53YXMtdmFsaWRhdGVkIC5tZGMtc2VsZWN0LS1vdXRsaW5lZC5tZGMtc2VsZWN0LS1pbnZhbGlkOmZvY3VzIC5tZGMtc2VsZWN0X19hbmNob3Ige1xuICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDI1NSwgMCwgMCwgMCk7XG59XG4ud2FzLXZhbGlkYXRlZCAuc2l0ZS1mb3JtIC5tZGMtc2VsZWN0LS1vdXRsaW5lZC5tZGMtc2VsZWN0LS1pbnZhbGlkIC5tZGMtbm90Y2hlZC1vdXRsaW5lX19sZWFkaW5nLFxuLndhcy12YWxpZGF0ZWQgLnNpdGUtZm9ybSAubWRjLXNlbGVjdC0tb3V0bGluZWQubWRjLXNlbGVjdC0taW52YWxpZCAubWRjLW5vdGNoZWQtb3V0bGluZV9fbm90Y2gsXG4ud2FzLXZhbGlkYXRlZCAuc2l0ZS1mb3JtIC5tZGMtc2VsZWN0LS1vdXRsaW5lZC5tZGMtc2VsZWN0LS1pbnZhbGlkIC5tZGMtbm90Y2hlZC1vdXRsaW5lX190cmFpbGluZywgLnNpdGUtZm9ybS53YXMtdmFsaWRhdGVkIC5tZGMtc2VsZWN0LS1vdXRsaW5lZC5tZGMtc2VsZWN0LS1pbnZhbGlkIC5tZGMtbm90Y2hlZC1vdXRsaW5lX19sZWFkaW5nLFxuLnNpdGUtZm9ybS53YXMtdmFsaWRhdGVkIC5tZGMtc2VsZWN0LS1vdXRsaW5lZC5tZGMtc2VsZWN0LS1pbnZhbGlkIC5tZGMtbm90Y2hlZC1vdXRsaW5lX19ub3RjaCxcbi5zaXRlLWZvcm0ud2FzLXZhbGlkYXRlZCAubWRjLXNlbGVjdC0tb3V0bGluZWQubWRjLXNlbGVjdC0taW52YWxpZCAubWRjLW5vdGNoZWQtb3V0bGluZV9fdHJhaWxpbmcge1xuICBib3JkZXItY29sb3I6ICNmZjAwMDAgIWltcG9ydGFudDtcbn1cbi53YXMtdmFsaWRhdGVkIC5zaXRlLWZvcm0gLm1kYy1zZWxlY3QtLW91dGxpbmVkLm1kYy1zZWxlY3QtLWludmFsaWQgLm1kYy1mbG9hdGluZy1sYWJlbCwgLnNpdGUtZm9ybS53YXMtdmFsaWRhdGVkIC5tZGMtc2VsZWN0LS1vdXRsaW5lZC5tZGMtc2VsZWN0LS1pbnZhbGlkIC5tZGMtZmxvYXRpbmctbGFiZWwge1xuICBjb2xvcjogI2ZmMDAwMCAhaW1wb3J0YW50O1xufVxuLndhcy12YWxpZGF0ZWQgLnNpdGUtZm9ybSAubWRjLXNlbGVjdC0tb3V0bGluZWQubWRjLXNlbGVjdC0taW52YWxpZCAuc2l0ZS1mb3JtX192YWxpZGF0aW9uLXRleHQsIC5zaXRlLWZvcm0ud2FzLXZhbGlkYXRlZCAubWRjLXNlbGVjdC0tb3V0bGluZWQubWRjLXNlbGVjdC0taW52YWxpZCAuc2l0ZS1mb3JtX192YWxpZGF0aW9uLXRleHQge1xuICBkaXNwbGF5OiB0YWJsZTtcbn1cbi53YXMtdmFsaWRhdGVkIC5zaXRlLWZvcm0gLm1kYy1yYWRpby1maWVsZCAuc2l0ZS1mb3JtX192YWxpZGF0aW9uLXRleHQsIC5zaXRlLWZvcm0ud2FzLXZhbGlkYXRlZCAubWRjLXJhZGlvLWZpZWxkIC5zaXRlLWZvcm1fX3ZhbGlkYXRpb24tdGV4dCB7XG4gIGxlZnQ6IDM1cHg7XG4gIGJvdHRvbTogMTBweDtcbn1cbi53YXMtdmFsaWRhdGVkIC5zaXRlLWZvcm0gLm1kYy1yYWRpby1maWVsZC0taW52YWxpZCAuc2l0ZS1mb3JtX192YWxpZGF0aW9uLXRleHQsIC5zaXRlLWZvcm0ud2FzLXZhbGlkYXRlZCAubWRjLXJhZGlvLWZpZWxkLS1pbnZhbGlkIC5zaXRlLWZvcm1fX3ZhbGlkYXRpb24tdGV4dCB7XG4gIGRpc3BsYXk6IHRhYmxlO1xufVxuLndhcy12YWxpZGF0ZWQgLnNpdGUtZm9ybSAubWRjLWZvcm0tZmllbGQtLWludmFsaWQgbGFiZWwsIC5zaXRlLWZvcm0ud2FzLXZhbGlkYXRlZCAubWRjLWZvcm0tZmllbGQtLWludmFsaWQgbGFiZWwge1xuICBjb2xvcjogI2ZmMDAwMDtcbn1cbi53YXMtdmFsaWRhdGVkIC5zaXRlLWZvcm0gLm1kYy1mb3JtLWZpZWxkLS1pbnZhbGlkIGxhYmVsOmFmdGVyLCAuc2l0ZS1mb3JtLndhcy12YWxpZGF0ZWQgLm1kYy1mb3JtLWZpZWxkLS1pbnZhbGlkIGxhYmVsOmFmdGVyIHtcbiAgY29sb3I6ICNmZjAwMDA7XG59XG4ud2FzLXZhbGlkYXRlZCAuc2l0ZS1mb3JtIC5tZGMtZm9ybS1maWVsZC0taW52YWxpZCBsYWJlbCBhLCAuc2l0ZS1mb3JtLndhcy12YWxpZGF0ZWQgLm1kYy1mb3JtLWZpZWxkLS1pbnZhbGlkIGxhYmVsIGEge1xuICBjb2xvcjogI2ZmMDAwMDtcbiAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG59XG4ud2FzLXZhbGlkYXRlZCAuc2l0ZS1mb3JtIC5tZGMtZm9ybS1maWVsZC0taW52YWxpZCB+IC5zaXRlLWZvcm1fX3ZhbGlkYXRpb24tdGV4dCwgLnNpdGUtZm9ybS53YXMtdmFsaWRhdGVkIC5tZGMtZm9ybS1maWVsZC0taW52YWxpZCB+IC5zaXRlLWZvcm1fX3ZhbGlkYXRpb24tdGV4dCB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBwb3NpdGlvbjogc3RhdGljO1xuICBwYWRkaW5nLWxlZnQ6IDA7XG4gIHBhZGRpbmctcmlnaHQ6IDA7XG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICBtYXJnaW46IDZweCAwIDAgMDtcbiAgd2lkdGg6IDEwMCU7XG4gIG1heC13aWR0aDogbm9uZTtcbiAgdHJhbnNmb3JtOiBub25lO1xufVxuQG1lZGlhIChtaW4td2lkdGg6IDE2NTZweCkge1xuICAud2FzLXZhbGlkYXRlZCAuc2l0ZS1mb3JtIC5tZGMtZm9ybS1maWVsZC0taW52YWxpZCB+IC5zaXRlLWZvcm1fX3ZhbGlkYXRpb24tdGV4dCwgLnNpdGUtZm9ybS53YXMtdmFsaWRhdGVkIC5tZGMtZm9ybS1maWVsZC0taW52YWxpZCB+IC5zaXRlLWZvcm1fX3ZhbGlkYXRpb24tdGV4dCB7XG4gICAgcGFkZGluZy1sZWZ0OiA0NHB4O1xuICB9XG59XG4ud2FzLXZhbGlkYXRlZCAuc2l0ZS1mb3JtIC5tZGMtZm9ybS1maWVsZC0taW52YWxpZCB+IC5uZXdzbGV0dGVyLWFncmVlbWVudHNfX2luZm8gfiAuc2l0ZS1mb3JtX192YWxpZGF0aW9uLXRleHQsIC5zaXRlLWZvcm0ud2FzLXZhbGlkYXRlZCAubWRjLWZvcm0tZmllbGQtLWludmFsaWQgfiAubmV3c2xldHRlci1hZ3JlZW1lbnRzX19pbmZvIH4gLnNpdGUtZm9ybV9fdmFsaWRhdGlvbi10ZXh0IHtcbiAgbWFyZ2luLXRvcDogLTEwcHg7XG4gIG1hcmdpbi1ib3R0b206IDE4cHg7XG59XG4uc2l0ZS1mb3JtLnNlcnZlci1zaWRlLXZhbGlkYXRlZCAuc2VydmVyLXNpZGUtLWludmFsaWQgfiAubWRjLW5vdGNoZWQtb3V0bGluZSAubWRjLW5vdGNoZWQtb3V0bGluZV9fbGVhZGluZyxcbi5zaXRlLWZvcm0uc2VydmVyLXNpZGUtdmFsaWRhdGVkIC5zZXJ2ZXItc2lkZS0taW52YWxpZCB+IC5tZGMtbm90Y2hlZC1vdXRsaW5lIC5tZGMtbm90Y2hlZC1vdXRsaW5lX19ub3RjaCxcbi5zaXRlLWZvcm0uc2VydmVyLXNpZGUtdmFsaWRhdGVkIC5zZXJ2ZXItc2lkZS0taW52YWxpZCB+IC5tZGMtbm90Y2hlZC1vdXRsaW5lIC5tZGMtbm90Y2hlZC1vdXRsaW5lX190cmFpbGluZyB7XG4gIGJvcmRlci1jb2xvcjogI2ZmMDAwMCAhaW1wb3J0YW50O1xuICBjb2xvcjogI2ZmMDAwMCAhaW1wb3J0YW50O1xufVxuLnNpdGUtZm9ybS5zZXJ2ZXItc2lkZS12YWxpZGF0ZWQgLnNlcnZlci1zaWRlLS1pbnZhbGlkIH4gLm1kYy1ub3RjaGVkLW91dGxpbmUgLm1kYy1ub3RjaGVkLW91dGxpbmVfX2xlYWRpbmc6YWZ0ZXIsXG4uc2l0ZS1mb3JtLnNlcnZlci1zaWRlLXZhbGlkYXRlZCAuc2VydmVyLXNpZGUtLWludmFsaWQgfiAubWRjLW5vdGNoZWQtb3V0bGluZSAubWRjLW5vdGNoZWQtb3V0bGluZV9fbm90Y2g6YWZ0ZXIsXG4uc2l0ZS1mb3JtLnNlcnZlci1zaWRlLXZhbGlkYXRlZCAuc2VydmVyLXNpZGUtLWludmFsaWQgfiAubWRjLW5vdGNoZWQtb3V0bGluZSAubWRjLW5vdGNoZWQtb3V0bGluZV9fdHJhaWxpbmc6YWZ0ZXIge1xuICBjb2xvcjogI2ZmMDAwMCAhaW1wb3J0YW50O1xufVxuLnNpdGUtZm9ybS5zZXJ2ZXItc2lkZS12YWxpZGF0ZWQgLnNlcnZlci1zaWRlLS1pbnZhbGlkIH4gLm1kYy1ub3RjaGVkLW91dGxpbmUgLm1kYy1mbG9hdGluZy1sYWJlbCB7XG4gIGNvbG9yOiAjZmYwMDAwICFpbXBvcnRhbnQ7XG59XG4uc2l0ZS1mb3JtLnNlcnZlci1zaWRlLXZhbGlkYXRlZCAuc2VydmVyLXNpZGUtLWludmFsaWQgfiAubWRjLW5vdGNoZWQtb3V0bGluZSAubWRjLWZsb2F0aW5nLWxhYmVsOmFmdGVyIHtcbiAgY29sb3I6ICNmZjAwMDAgIWltcG9ydGFudDtcbn1cbi5zaXRlLWZvcm0uc2VydmVyLXNpZGUtdmFsaWRhdGVkIC5tZGMtc2VsZWN0LS1vdXRsaW5lZC5zZXJ2ZXItc2lkZS0taW52YWxpZCAubWRjLXNlbGVjdF9fYW5jaG9yIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiZGF0YTppbWFnZS9zdmcreG1sO2NoYXJzZXQ9dXRmOCwlM0NzdmclMjB4bWxucyUzRCUyMmh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJTIyJTIwZmlsbCUzRCUyMiUyM2ZmMDAwMCUyMiUyMHZpZXdCb3glM0QlMjIwJTIwMCUyMDE2JTIwMzIlMjIlM0UlM0NwYXRoJTIwZCUzRCUyMk0xNCwxMS4xSDNMOC41LDJaTTMsMjFIMTRMOC41LDMwLjFaJTIyLyUzRSUzQ3BhdGglMjBkJTNEJTIyTTE2LDMySDBWMEgxNlolMjIlMjBmaWxsJTNEJTIybm9uZSUyMi8lM0UlM0Mvc3ZnJTNFXCIpO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDI1NSwgMCwgMCwgMCk7XG59XG4uc2l0ZS1mb3JtLnNlcnZlci1zaWRlLXZhbGlkYXRlZCAubWRjLXNlbGVjdC0tb3V0bGluZWQuc2VydmVyLXNpZGUtLWludmFsaWQ6aG92ZXIgLm1kYy1zZWxlY3RfX2FuY2hvciwgLnNpdGUtZm9ybS5zZXJ2ZXItc2lkZS12YWxpZGF0ZWQgLm1kYy1zZWxlY3QtLW91dGxpbmVkLnNlcnZlci1zaWRlLS1pbnZhbGlkOmZvY3VzIC5tZGMtc2VsZWN0X19hbmNob3Ige1xuICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDI1NSwgMCwgMCwgMCk7XG59XG4uc2l0ZS1mb3JtLnNlcnZlci1zaWRlLXZhbGlkYXRlZCAubWRjLXNlbGVjdC0tb3V0bGluZWQuc2VydmVyLXNpZGUtLWludmFsaWQgLm1kYy1ub3RjaGVkLW91dGxpbmVfX2xlYWRpbmcsXG4uc2l0ZS1mb3JtLnNlcnZlci1zaWRlLXZhbGlkYXRlZCAubWRjLXNlbGVjdC0tb3V0bGluZWQuc2VydmVyLXNpZGUtLWludmFsaWQgLm1kYy1ub3RjaGVkLW91dGxpbmVfX25vdGNoLFxuLnNpdGUtZm9ybS5zZXJ2ZXItc2lkZS12YWxpZGF0ZWQgLm1kYy1zZWxlY3QtLW91dGxpbmVkLnNlcnZlci1zaWRlLS1pbnZhbGlkIC5tZGMtbm90Y2hlZC1vdXRsaW5lX190cmFpbGluZyB7XG4gIGJvcmRlci1jb2xvcjogI2ZmMDAwMCAhaW1wb3J0YW50O1xufVxuLnNpdGUtZm9ybS5zZXJ2ZXItc2lkZS12YWxpZGF0ZWQgLm1kYy1zZWxlY3QtLW91dGxpbmVkLnNlcnZlci1zaWRlLS1pbnZhbGlkIC5tZGMtZmxvYXRpbmctbGFiZWwge1xuICBjb2xvcjogI2ZmMDAwMCAhaW1wb3J0YW50O1xufVxuLnNpdGUtZm9ybS5zZXJ2ZXItc2lkZS12YWxpZGF0ZWQgLm1kYy1zZWxlY3QtLW91dGxpbmVkLnNlcnZlci1zaWRlLS1pbnZhbGlkIC5zaXRlLWZvcm1fX3ZhbGlkYXRpb24tdGV4dCB7XG4gIGRpc3BsYXk6IHRhYmxlO1xufVxuLnNpdGUtZm9ybS5zZXJ2ZXItc2lkZS12YWxpZGF0ZWQgLmZpbGVpbnB1dC1jb250YWluZXIuZmlsZWlucHV0LWNvbnRhaW5lci0taW52YWxpZCAuZmlsZWlucHV0Om5vdCguZmlsZWlucHV0LWV4aXN0cykgfiAuc2l0ZS1mb3JtX19zZXJ2ZXItdmFsaWRhdGlvbi10ZXh0IHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGJvdHRvbTogLTVweDtcbn1cbi5zaXRlLWZvcm0uanMtc2lkZS12YWxpZGF0ZWQgLmpzLXNpZGUtLWludmFsaWQgfiAubWRjLW5vdGNoZWQtb3V0bGluZSAubWRjLW5vdGNoZWQtb3V0bGluZV9fbGVhZGluZyxcbi5zaXRlLWZvcm0uanMtc2lkZS12YWxpZGF0ZWQgLmpzLXNpZGUtLWludmFsaWQgfiAubWRjLW5vdGNoZWQtb3V0bGluZSAubWRjLW5vdGNoZWQtb3V0bGluZV9fbm90Y2gsXG4uc2l0ZS1mb3JtLmpzLXNpZGUtdmFsaWRhdGVkIC5qcy1zaWRlLS1pbnZhbGlkIH4gLm1kYy1ub3RjaGVkLW91dGxpbmUgLm1kYy1ub3RjaGVkLW91dGxpbmVfX3RyYWlsaW5nIHtcbiAgYm9yZGVyLWNvbG9yOiAjZmYwMDAwICFpbXBvcnRhbnQ7XG4gIGNvbG9yOiAjZmYwMDAwICFpbXBvcnRhbnQ7XG59XG4uc2l0ZS1mb3JtLmpzLXNpZGUtdmFsaWRhdGVkIC5qcy1zaWRlLS1pbnZhbGlkIH4gLm1kYy1ub3RjaGVkLW91dGxpbmUgLm1kYy1ub3RjaGVkLW91dGxpbmVfX2xlYWRpbmc6YWZ0ZXIsXG4uc2l0ZS1mb3JtLmpzLXNpZGUtdmFsaWRhdGVkIC5qcy1zaWRlLS1pbnZhbGlkIH4gLm1kYy1ub3RjaGVkLW91dGxpbmUgLm1kYy1ub3RjaGVkLW91dGxpbmVfX25vdGNoOmFmdGVyLFxuLnNpdGUtZm9ybS5qcy1zaWRlLXZhbGlkYXRlZCAuanMtc2lkZS0taW52YWxpZCB+IC5tZGMtbm90Y2hlZC1vdXRsaW5lIC5tZGMtbm90Y2hlZC1vdXRsaW5lX190cmFpbGluZzphZnRlciB7XG4gIGNvbG9yOiAjZmYwMDAwICFpbXBvcnRhbnQ7XG59XG4uc2l0ZS1mb3JtLmpzLXNpZGUtdmFsaWRhdGVkIC5qcy1zaWRlLS1pbnZhbGlkIH4gLm1kYy1ub3RjaGVkLW91dGxpbmUgLm1kYy1mbG9hdGluZy1sYWJlbCB7XG4gIGNvbG9yOiAjZmYwMDAwICFpbXBvcnRhbnQ7XG59XG4uc2l0ZS1mb3JtLmpzLXNpZGUtdmFsaWRhdGVkIC5qcy1zaWRlLS1pbnZhbGlkIH4gLm1kYy1ub3RjaGVkLW91dGxpbmUgLm1kYy1mbG9hdGluZy1sYWJlbDphZnRlciB7XG4gIGNvbG9yOiAjZmYwMDAwICFpbXBvcnRhbnQ7XG59XG4uc2l0ZS1mb3JtLmpzLXNpZGUtdmFsaWRhdGVkIC5tZGMtc2VsZWN0LS1vdXRsaW5lZC5qcy1zaWRlLS1pbnZhbGlkIC5tZGMtc2VsZWN0X19hbmNob3Ige1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWw7Y2hhcnNldD11dGY4LCUzQ3N2ZyUyMHhtbG5zJTNEJTIyaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmclMjIlMjBmaWxsJTNEJTIyJTIzZmYwMDAwJTIyJTIwdmlld0JveCUzRCUyMjAlMjAwJTIwMTYlMjAzMiUyMiUzRSUzQ3BhdGglMjBkJTNEJTIyTTE0LDExLjFIM0w4LjUsMlpNMywyMUgxNEw4LjUsMzAuMVolMjIvJTNFJTNDcGF0aCUyMGQlM0QlMjJNMTYsMzJIMFYwSDE2WiUyMiUyMGZpbGwlM0QlMjJub25lJTIyLyUzRSUzQy9zdmclM0VcIik7XG4gIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMjU1LCAwLCAwLCAwKTtcbn1cbi5zaXRlLWZvcm0uanMtc2lkZS12YWxpZGF0ZWQgLm1kYy1zZWxlY3QtLW91dGxpbmVkLmpzLXNpZGUtLWludmFsaWQ6aG92ZXIgLm1kYy1zZWxlY3RfX2FuY2hvciwgLnNpdGUtZm9ybS5qcy1zaWRlLXZhbGlkYXRlZCAubWRjLXNlbGVjdC0tb3V0bGluZWQuanMtc2lkZS0taW52YWxpZDpmb2N1cyAubWRjLXNlbGVjdF9fYW5jaG9yIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgyNTUsIDAsIDAsIDApO1xufVxuLnNpdGUtZm9ybS5qcy1zaWRlLXZhbGlkYXRlZCAubWRjLXNlbGVjdC0tb3V0bGluZWQuanMtc2lkZS0taW52YWxpZCAubWRjLW5vdGNoZWQtb3V0bGluZV9fbGVhZGluZyxcbi5zaXRlLWZvcm0uanMtc2lkZS12YWxpZGF0ZWQgLm1kYy1zZWxlY3QtLW91dGxpbmVkLmpzLXNpZGUtLWludmFsaWQgLm1kYy1ub3RjaGVkLW91dGxpbmVfX25vdGNoLFxuLnNpdGUtZm9ybS5qcy1zaWRlLXZhbGlkYXRlZCAubWRjLXNlbGVjdC0tb3V0bGluZWQuanMtc2lkZS0taW52YWxpZCAubWRjLW5vdGNoZWQtb3V0bGluZV9fdHJhaWxpbmcge1xuICBib3JkZXItY29sb3I6ICNmZjAwMDAgIWltcG9ydGFudDtcbn1cbi5zaXRlLWZvcm0uanMtc2lkZS12YWxpZGF0ZWQgLm1kYy1zZWxlY3QtLW91dGxpbmVkLmpzLXNpZGUtLWludmFsaWQgLm1kYy1mbG9hdGluZy1sYWJlbCB7XG4gIGNvbG9yOiAjZmYwMDAwICFpbXBvcnRhbnQ7XG59XG4uc2l0ZS1mb3JtLmpzLXNpZGUtdmFsaWRhdGVkIC5tZGMtc2VsZWN0LS1vdXRsaW5lZC5qcy1zaWRlLS1pbnZhbGlkIC5zaXRlLWZvcm1fX3ZhbGlkYXRpb24tdGV4dCB7XG4gIGRpc3BsYXk6IHRhYmxlO1xufVxuLnNpdGUtZm9ybSAubWRjLWZvcm0tZmllbGQge1xuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogZmxleC1zdGFydDtcbn1cbi5zaXRlLWZvcm0gLm1kYy1mb3JtLWZpZWxkLS1jaGVja2JveCB7XG4gIGZvbnQtd2VpZ2h0OiAzMDA7XG4gIGNvbG9yOiAjNDE0MDQyO1xuICBmb250LXNpemU6IDE1cHg7XG4gIG1hcmdpbi1ib3R0b206IDEwcHg7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZmxleC13cmFwOiB3cmFwO1xufVxuQG1lZGlhIChtaW4td2lkdGg6IDM3NXB4KSB7XG4gIC5zaXRlLWZvcm0gLm1kYy1mb3JtLWZpZWxkLS1jaGVja2JveCB7XG4gICAgZm9udC1zaXplOiAxN3B4O1xuICB9XG59XG5AbWVkaWEgKG1pbi13aWR0aDogMTY1NnB4KSB7XG4gIC5zaXRlLWZvcm0gLm1kYy1mb3JtLWZpZWxkLS1jaGVja2JveCB7XG4gICAgZm9udC1zaXplOiAxOXB4O1xuICAgIG1hcmdpbi1ib3R0b206IDE0cHg7XG4gIH1cbn1cbi5zaXRlLWZvcm0gLm1kYy1mb3JtLWZpZWxkLS1jaGVja2JveCBsYWJlbCB7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgbWF4LXdpZHRoOiBjYWxjKDEwMCUgLSA0MHB4KTtcbiAgbWFyZ2luLXRvcDogNnB4ICFpbXBvcnRhbnQ7XG4gIGxpbmUtaGVpZ2h0OiAxLjUyO1xufVxuQG1lZGlhIChtaW4td2lkdGg6IDE0MDBweCkge1xuICAuc2l0ZS1mb3JtIC5tZGMtZm9ybS1maWVsZC0tY2hlY2tib3ggbGFiZWwge1xuICAgIGxpbmUtaGVpZ2h0OiAxLjU3ODtcbiAgfVxufVxuLnNpdGUtZm9ybSAubWRjLWZvcm0tZmllbGQtLWNoZWNrYm94IGxhYmVsIC5lenJpY2h0ZXh0LWZpZWxkIHtcbiAgZGlzcGxheTogaW5saW5lO1xufVxuLnNpdGUtZm9ybSAubWRjLWZvcm0tZmllbGQtLWNoZWNrYm94IGxhYmVsIC5lenJpY2h0ZXh0LWZpZWxkIHA6bGFzdC1vZi10eXBlIHtcbiAgZGlzcGxheTogaW5saW5lO1xufVxuLnNpdGUtZm9ybSAubWRjLWZvcm0tZmllbGQtLWNoZWNrYm94IGxhYmVsIC5lenJpY2h0ZXh0LWZpZWxkOmFmdGVyIHtcbiAgY29udGVudDogbm9uZTtcbiAgZGlzcGxheTogbm9uZTtcbn1cbi5zaXRlLWZvcm0gLm1kYy1mb3JtLWZpZWxkIGxhYmVsIHtcbiAgbWFyZ2luOiA5cHggMCAwIDA7XG4gIHBhZGRpbmctbGVmdDogMnB4O1xufVxuQG1lZGlhIChtaW4td2lkdGg6IDM3NXB4KSB7XG4gIC5zaXRlLWZvcm0gLm1kYy1mb3JtLWZpZWxkIGxhYmVsIHtcbiAgICBwYWRkaW5nLWxlZnQ6IDVweDtcbiAgICBtYXJnaW46IDhweCAwIDAgMDtcbiAgfVxufVxuQG1lZGlhIChtaW4td2lkdGg6IDE2NTZweCkge1xuICAuc2l0ZS1mb3JtIC5tZGMtZm9ybS1maWVsZCBsYWJlbCB7XG4gICAgbWFyZ2luOiA2cHggMCAwIDA7XG4gICAgcGFkZGluZy1sZWZ0OiAxNHB4O1xuICB9XG59XG4uc2l0ZS1mb3JtIC5tZGMtZm9ybS1maWVsZCBsYWJlbCBhOmhvdmVyLCAuc2l0ZS1mb3JtIC5tZGMtZm9ybS1maWVsZCBsYWJlbCBhOmZvY3VzIHtcbiAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG4gIGNvbG9yOiAjMjY1M0I5O1xufVxuLnNpdGUtZm9ybSAubWRjLXRleHQtZmllbGQge1xuICBib3JkZXItcmFkaXVzOiAwO1xuICBsZXR0ZXItc3BhY2luZzogMDtcbiAgbGluZS1oZWlnaHQ6IDEuMTU7XG4gIGhlaWdodDogNDhweDtcbn1cbkBtZWRpYSAobWluLXdpZHRoOiAxNjU2cHgpIHtcbiAgLnNpdGUtZm9ybSAubWRjLXRleHQtZmllbGQge1xuICAgIGxpbmUtaGVpZ2h0OiAxLjU1O1xuICAgIGhlaWdodDogNjRweDtcbiAgICBmb250LXNpemU6IDE5cHg7XG4gIH1cbn1cbkBtZWRpYSAobWluLXdpZHRoOiAxNjU2cHgpIHtcbiAgLnNpdGUtZm9ybSAubWRjLXRleHQtZmllbGRfX2lucHV0IHtcbiAgICBmb250LXNpemU6IDE5cHg7XG4gIH1cbn1cbi5zaXRlLWZvcm0gLnRleHQtZmllbGQtcm93IHtcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IHN0cmV0Y2g7XG4gIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDtcbiAgZmxleC13cmFwOiB3cmFwO1xufVxuLnNpdGUtZm9ybSAudGV4dC1maWVsZC1oZWxwZXIge1xuICBmb250LXNpemU6IDAuOXJlbTtcbiAgbWFyZ2luLWJvdHRvbTogMXJlbTtcbn1cbi5zaXRlLWZvcm0gLnRleHQtZmllbGQtZGVzY3JpcHRpb24ge1xuICBkaXNwbGF5OiBibG9jaztcbiAgbWFyZ2luLXRvcDogMTBweDtcbiAgZm9udC1zaXplOiAxMnB4O1xufVxuLnNpdGUtZm9ybSAudGV4dC1maWVsZC1jb250YWluZXIge1xuICBtYXJnaW4tYm90dG9tOiAxM3B4O1xuICB3aWR0aDogMTAwJTtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xufVxuQG1lZGlhIChtaW4td2lkdGg6IDE2NTZweCkge1xuICAuc2l0ZS1mb3JtIC50ZXh0LWZpZWxkLWNvbnRhaW5lciB7XG4gICAgbWFyZ2luLWJvdHRvbTogMjhweDtcbiAgfVxufVxuLnNpdGUtZm9ybSAudGV4dC1maWVsZC1jb250YWluZXIgLm1kYy10ZXh0LWZpZWxkIHtcbiAgd2lkdGg6IDEwMCU7XG59XG4uc2l0ZS1mb3JtIC50ZXh0LWZpZWxkLWNvbnRhaW5lciAudGV4dC1maWVsZC1jb250YWluZXIge1xuICBtYXJnaW4tYm90dG9tOiAwO1xufVxuLnNpdGUtZm9ybSAudGV4dC1maWVsZC1jb250YWluZXItLWZ1bGwge1xuICB3aWR0aDogMTAwJTtcbn1cbi5zaXRlLWZvcm0gLnRleHQtZmllbGQtY29udGFpbmVyLS1oYWxmIHtcbiAgd2lkdGg6IGNhbGMoNTAlIC0gNnB4KTtcbiAgbWFyZ2luLXJpZ2h0OiAxMnB4O1xufVxuQG1lZGlhIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gIC5zaXRlLWZvcm0gLnRleHQtZmllbGQtY29udGFpbmVyLS1oYWxmIHtcbiAgICB3aWR0aDogY2FsYyg1MCUgLSAxMHB4KTtcbiAgICBtYXJnaW4tcmlnaHQ6IDIwcHg7XG4gIH1cbn1cbi5zaXRlLWZvcm0gLnRleHQtZmllbGQtY29udGFpbmVyLS1oYWxmICsgLnRleHQtZmllbGQtY29udGFpbmVyLS1oYWxmIHtcbiAgbWFyZ2luLXJpZ2h0OiAwO1xufVxuLnNpdGUtZm9ybSAudGV4dC1maWVsZC1jb250YWluZXItLWhhbGYtc2xhc2gge1xuICB3aWR0aDogY2FsYyg1MCUgLSAxNnB4KTtcbiAgbWFyZ2luLXJpZ2h0OiAwO1xufVxuQG1lZGlhIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gIC5zaXRlLWZvcm0gLnRleHQtZmllbGQtY29udGFpbmVyLS1kZXNrdG9wLWhhbGYge1xuICAgIHdpZHRoOiBjYWxjKDUwJSAtIDEwcHgpO1xuICAgIG1hcmdpbi1yaWdodDogMjBweDtcbiAgfVxufVxuQG1lZGlhIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gIC5zaXRlLWZvcm0gLnRleHQtZmllbGQtY29udGFpbmVyLS1kZXNrdG9wLWhhbGYgKyAudGV4dC1maWVsZC1jb250YWluZXItLWRlc2t0b3AtaGFsZiB7XG4gICAgbWFyZ2luLXJpZ2h0OiAwO1xuICB9XG59XG5AbWVkaWEgKG1heC13aWR0aDogNzY3LjlweCkge1xuICAuc2l0ZS1mb3JtIC50ZXh0LWZpZWxkLWNvbnRhaW5lci0tbW9iaWxlLWZ1bGwge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIG1hcmdpbi1yaWdodDogMDtcbiAgfVxufVxuLnNpdGUtZm9ybSAudGV4dC1maWVsZC1jb250YWluZXItLXJvdy1zbGFzaCB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0O1xuICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gIGZsZXgtd3JhcDogbm93cmFwO1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWw7Y2hhcnNldD11dGY4LCUzQ3N2ZyUyMHhtbG5zJTNEJTIyaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmclMjIlMjBmaWxsJTNEJTIyJTIzN2E3YTdhJTIyJTIwdmlld0JveCUzRCUyMjAlMjAwJTIwMTklMjAzMyUyMiUzRSUzQ3BhdGglMjBkJTNEJTIyTTE3LjU1LDEuNTQsMy44OSwzMS43OGEuMzguMzgsMCwwLDEtLjM0LjIySDEuMzhBLjM4LjM4LDAsMCwxLDEsMzEuNDZMMTQuNjksMS4yMkEuMzkuMzksMCwwLDEsMTUsMUgxNy4yQS4zOC4zOCwwLDAsMSwxNy41NSwxLjU0WiUyMi8lM0UlM0NwYXRoJTIwZCUzRCUyMk0xOSwzM0gwVjBIMTlaJTIyJTIwZmlsbCUzRCUyMm5vbmUlMjIvJTNFJTNDL3N2ZyUzRVwiKTtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogdG9wIDE2cHggY2VudGVyO1xuICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICBiYWNrZ3JvdW5kLXNpemU6IDlweCAxOHB4O1xufVxuQG1lZGlhIChtaW4td2lkdGg6IDE2NTZweCkge1xuICAuc2l0ZS1mb3JtIC50ZXh0LWZpZWxkLWNvbnRhaW5lci0tcm93LXNsYXNoIHtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiB0b3AgMjFweCBjZW50ZXI7XG4gICAgYmFja2dyb3VuZC1zaXplOiAxMHB4IDIwcHg7XG4gIH1cbn1cbi5zaXRlLWZvcm0gLm1kYy1idXR0b24ge1xuICBtaW4taGVpZ2h0OiA0OHB4O1xuICBmb250LXNpemU6IDE2cHg7XG59XG5AbWVkaWEgKG1pbi13aWR0aDogMTY1NnB4KSB7XG4gIC5zaXRlLWZvcm0gLm1kYy1idXR0b24ge1xuICAgIG1pbi1oZWlnaHQ6IDY0cHg7XG4gICAgZm9udC1zaXplOiAyNHB4O1xuICB9XG59XG4uc2l0ZS1mb3JtIC5tZGMtdGV4dC1maWVsZC0tb3V0bGluZWQgLm1kYy1mbG9hdGluZy1sYWJlbCxcbi5zaXRlLWZvcm0gLm1kYy10ZXh0LWZpZWxkLS10ZXh0YXJlYSAubWRjLWZsb2F0aW5nLWxhYmVsIHtcbiAgdG9wOiAxNHB4O1xuICB0cmFuc2Zvcm06IG5vbmU7XG59XG4uZmlyZWZveCAuc2l0ZS1mb3JtIC5tZGMtdGV4dC1maWVsZC0tb3V0bGluZWQgLm1kYy1mbG9hdGluZy1sYWJlbCxcbi5maXJlZm94IC5zaXRlLWZvcm0gLm1kYy10ZXh0LWZpZWxkLS10ZXh0YXJlYSAubWRjLWZsb2F0aW5nLWxhYmVsIHtcbiAgdG9wOiAxM3B4O1xufVxuQG1lZGlhIChtaW4td2lkdGg6IDE2NTZweCkge1xuICAuc2l0ZS1mb3JtIC5tZGMtdGV4dC1maWVsZC0tb3V0bGluZWQgLm1kYy1mbG9hdGluZy1sYWJlbCxcbiAgLnNpdGUtZm9ybSAubWRjLXRleHQtZmllbGQtLXRleHRhcmVhIC5tZGMtZmxvYXRpbmctbGFiZWwge1xuICAgIHRvcDogMTlweDtcbiAgfVxuICAuZmlyZWZveCAuc2l0ZS1mb3JtIC5tZGMtdGV4dC1maWVsZC0tb3V0bGluZWQgLm1kYy1mbG9hdGluZy1sYWJlbCxcbiAgLmZpcmVmb3ggLnNpdGUtZm9ybSAubWRjLXRleHQtZmllbGQtLXRleHRhcmVhIC5tZGMtZmxvYXRpbmctbGFiZWwge1xuICAgIHRvcDogMThweDtcbiAgfVxufVxuLnNpdGUtZm9ybSAubWRjLXRleHQtZmllbGQtLW91dGxpbmVkIC5tZGMtbm90Y2hlZC1vdXRsaW5lLS11cGdyYWRlZCAubWRjLWZsb2F0aW5nLWxhYmVsLS1mbG9hdC1hYm92ZSxcbi5zaXRlLWZvcm0gLm1kYy10ZXh0LWZpZWxkLS1vdXRsaW5lZC5tZGMtbm90Y2hlZC1vdXRsaW5lLS11cGdyYWRlZCAubWRjLWZsb2F0aW5nLWxhYmVsLS1mbG9hdC1hYm92ZSB7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMTUwJSkgc2NhbGUoMC43NSk7XG4gIHRvcDogMjFweDtcbn1cbi5maXJlZm94IC5zaXRlLWZvcm0gLm1kYy10ZXh0LWZpZWxkLS1vdXRsaW5lZCAubWRjLW5vdGNoZWQtb3V0bGluZS0tdXBncmFkZWQgLm1kYy1mbG9hdGluZy1sYWJlbC0tZmxvYXQtYWJvdmUsXG4uZmlyZWZveCAuc2l0ZS1mb3JtIC5tZGMtdGV4dC1maWVsZC0tb3V0bGluZWQubWRjLW5vdGNoZWQtb3V0bGluZS0tdXBncmFkZWQgLm1kYy1mbG9hdGluZy1sYWJlbC0tZmxvYXQtYWJvdmUge1xuICB0b3A6IDIwcHg7XG59XG5AbWVkaWEgKG1pbi13aWR0aDogMTY1NnB4KSB7XG4gIC5zaXRlLWZvcm0gLm1kYy10ZXh0LWZpZWxkLS1vdXRsaW5lZCAubWRjLW5vdGNoZWQtb3V0bGluZS0tdXBncmFkZWQgLm1kYy1mbG9hdGluZy1sYWJlbC0tZmxvYXQtYWJvdmUsXG4gIC5zaXRlLWZvcm0gLm1kYy10ZXh0LWZpZWxkLS1vdXRsaW5lZC5tZGMtbm90Y2hlZC1vdXRsaW5lLS11cGdyYWRlZCAubWRjLWZsb2F0aW5nLWxhYmVsLS1mbG9hdC1hYm92ZSB7XG4gICAgZm9udC1zaXplOiAxOXB4O1xuICAgIHRvcDogMjRweDtcbiAgfVxuICAuZmlyZWZveCAuc2l0ZS1mb3JtIC5tZGMtdGV4dC1maWVsZC0tb3V0bGluZWQgLm1kYy1ub3RjaGVkLW91dGxpbmUtLXVwZ3JhZGVkIC5tZGMtZmxvYXRpbmctbGFiZWwtLWZsb2F0LWFib3ZlLFxuICAuZmlyZWZveCAuc2l0ZS1mb3JtIC5tZGMtdGV4dC1maWVsZC0tb3V0bGluZWQubWRjLW5vdGNoZWQtb3V0bGluZS0tdXBncmFkZWQgLm1kYy1mbG9hdGluZy1sYWJlbC0tZmxvYXQtYWJvdmUge1xuICAgIHRvcDogMjBweDtcbiAgfVxufVxuLnNpdGUtZm9ybSAubWRjLXRleHQtZmllbGQtLXRleHRhcmVhIC5tZGMtbm90Y2hlZC1vdXRsaW5lLS11cGdyYWRlZCAubWRjLWZsb2F0aW5nLWxhYmVsLS1mbG9hdC1hYm92ZSB7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMTUwJSkgc2NhbGUoMC43NSk7XG4gIHRvcDogMjNweDtcbn1cbi5maXJlZm94IC5zaXRlLWZvcm0gLm1kYy10ZXh0LWZpZWxkLS10ZXh0YXJlYSAubWRjLW5vdGNoZWQtb3V0bGluZS0tdXBncmFkZWQgLm1kYy1mbG9hdGluZy1sYWJlbC0tZmxvYXQtYWJvdmUge1xuICB0b3A6IDIycHg7XG59XG5AbWVkaWEgKG1pbi13aWR0aDogMTY1NnB4KSB7XG4gIC5zaXRlLWZvcm0gLm1kYy10ZXh0LWZpZWxkLS10ZXh0YXJlYSAubWRjLW5vdGNoZWQtb3V0bGluZS0tdXBncmFkZWQgLm1kYy1mbG9hdGluZy1sYWJlbC0tZmxvYXQtYWJvdmUge1xuICAgIGZvbnQtc2l6ZTogMTlweDtcbiAgICB0b3A6IDI1cHg7XG4gIH1cbiAgLmZpcmVmb3ggLnNpdGUtZm9ybSAubWRjLXRleHQtZmllbGQtLXRleHRhcmVhIC5tZGMtbm90Y2hlZC1vdXRsaW5lLS11cGdyYWRlZCAubWRjLWZsb2F0aW5nLWxhYmVsLS1mbG9hdC1hYm92ZSB7XG4gICAgdG9wOiAyMXB4O1xuICB9XG59XG4uc2l0ZS1mb3JtIC5tZGMtdGV4dC1maWVsZC0tb3V0bGluZWQubWRjLXRleHQtZmllbGQtLWZvY3VzZWQgLm1kYy1ub3RjaGVkLW91dGxpbmUtLXVwZ3JhZGVkIC5tZGMtZmxvYXRpbmctbGFiZWwtLWZsb2F0LWFib3ZlLFxuLnNpdGUtZm9ybSAubWRjLXRleHQtZmllbGQtLW91dGxpbmVkLm1kYy10ZXh0LWZpZWxkLS1mb2N1c2VkLm1kYy1ub3RjaGVkLW91dGxpbmUtLXVwZ3JhZGVkIC5tZGMtZmxvYXRpbmctbGFiZWwtLWZsb2F0LWFib3ZlIHtcbiAgdG9wOiAyMHB4O1xufVxuLmZpcmVmb3ggLnNpdGUtZm9ybSAubWRjLXRleHQtZmllbGQtLW91dGxpbmVkLm1kYy10ZXh0LWZpZWxkLS1mb2N1c2VkIC5tZGMtbm90Y2hlZC1vdXRsaW5lLS11cGdyYWRlZCAubWRjLWZsb2F0aW5nLWxhYmVsLS1mbG9hdC1hYm92ZSxcbi5maXJlZm94IC5zaXRlLWZvcm0gLm1kYy10ZXh0LWZpZWxkLS1vdXRsaW5lZC5tZGMtdGV4dC1maWVsZC0tZm9jdXNlZC5tZGMtbm90Y2hlZC1vdXRsaW5lLS11cGdyYWRlZCAubWRjLWZsb2F0aW5nLWxhYmVsLS1mbG9hdC1hYm92ZSB7XG4gIHRvcDogMTlweDtcbn1cbkBtZWRpYSAobWluLXdpZHRoOiAxNjU2cHgpIHtcbiAgLnNpdGUtZm9ybSAubWRjLXRleHQtZmllbGQtLW91dGxpbmVkLm1kYy10ZXh0LWZpZWxkLS1mb2N1c2VkIC5tZGMtbm90Y2hlZC1vdXRsaW5lLS11cGdyYWRlZCAubWRjLWZsb2F0aW5nLWxhYmVsLS1mbG9hdC1hYm92ZSxcbiAgLnNpdGUtZm9ybSAubWRjLXRleHQtZmllbGQtLW91dGxpbmVkLm1kYy10ZXh0LWZpZWxkLS1mb2N1c2VkLm1kYy1ub3RjaGVkLW91dGxpbmUtLXVwZ3JhZGVkIC5tZGMtZmxvYXRpbmctbGFiZWwtLWZsb2F0LWFib3ZlIHtcbiAgICB0b3A6IDIzcHg7XG4gIH1cbiAgLmZpcmVmb3ggLnNpdGUtZm9ybSAubWRjLXRleHQtZmllbGQtLW91dGxpbmVkLm1kYy10ZXh0LWZpZWxkLS1mb2N1c2VkIC5tZGMtbm90Y2hlZC1vdXRsaW5lLS11cGdyYWRlZCAubWRjLWZsb2F0aW5nLWxhYmVsLS1mbG9hdC1hYm92ZSxcbiAgLmZpcmVmb3ggLnNpdGUtZm9ybSAubWRjLXRleHQtZmllbGQtLW91dGxpbmVkLm1kYy10ZXh0LWZpZWxkLS1mb2N1c2VkLm1kYy1ub3RjaGVkLW91dGxpbmUtLXVwZ3JhZGVkIC5tZGMtZmxvYXRpbmctbGFiZWwtLWZsb2F0LWFib3ZlIHtcbiAgICB0b3A6IDE5cHg7XG4gIH1cbn1cbi5zaXRlLWZvcm0gLm1kYy10ZXh0LWZpZWxkLS10ZXh0YXJlYS5tZGMtdGV4dC1maWVsZC0tZm9jdXNlZCAubWRjLW5vdGNoZWQtb3V0bGluZS0tdXBncmFkZWQgLm1kYy1mbG9hdGluZy1sYWJlbC0tZmxvYXQtYWJvdmUge1xuICB0b3A6IDIzcHg7XG59XG4uZmlyZWZveCAuc2l0ZS1mb3JtIC5tZGMtdGV4dC1maWVsZC0tdGV4dGFyZWEubWRjLXRleHQtZmllbGQtLWZvY3VzZWQgLm1kYy1ub3RjaGVkLW91dGxpbmUtLXVwZ3JhZGVkIC5tZGMtZmxvYXRpbmctbGFiZWwtLWZsb2F0LWFib3ZlIHtcbiAgdG9wOiAyMnB4O1xufVxuQG1lZGlhIChtaW4td2lkdGg6IDE2NTZweCkge1xuICAuc2l0ZS1mb3JtIC5tZGMtdGV4dC1maWVsZC0tdGV4dGFyZWEubWRjLXRleHQtZmllbGQtLWZvY3VzZWQgLm1kYy1ub3RjaGVkLW91dGxpbmUtLXVwZ3JhZGVkIC5tZGMtZmxvYXRpbmctbGFiZWwtLWZsb2F0LWFib3ZlIHtcbiAgICB0b3A6IDI1cHg7XG4gIH1cbiAgLmZpcmVmb3ggLnNpdGUtZm9ybSAubWRjLXRleHQtZmllbGQtLXRleHRhcmVhLm1kYy10ZXh0LWZpZWxkLS1mb2N1c2VkIC5tZGMtbm90Y2hlZC1vdXRsaW5lLS11cGdyYWRlZCAubWRjLWZsb2F0aW5nLWxhYmVsLS1mbG9hdC1hYm92ZSB7XG4gICAgdG9wOiAyMXB4O1xuICB9XG59XG4uc2l0ZS1mb3JtIC5tZGMtdGV4dC1maWVsZC0tb3V0bGluZWQgLm1kYy1ub3RjaGVkLW91dGxpbmUgLm1kYy1ub3RjaGVkLW91dGxpbmVfX2xlYWRpbmcsXG4uc2l0ZS1mb3JtIC5tZGMtdGV4dC1maWVsZC0tdGV4dGFyZWEgLm1kYy1ub3RjaGVkLW91dGxpbmUgLm1kYy1ub3RjaGVkLW91dGxpbmVfX2xlYWRpbmcsXG4uc2l0ZS1mb3JtIC5tZGMtdGV4dC1maWVsZC0tb3V0bGluZWQgLm1kYy1ub3RjaGVkLW91dGxpbmUgLm1kYy1ub3RjaGVkLW91dGxpbmVfX3RyYWlsaW5nLFxuLnNpdGUtZm9ybSAubWRjLXRleHQtZmllbGQtLXRleHRhcmVhIC5tZGMtbm90Y2hlZC1vdXRsaW5lIC5tZGMtbm90Y2hlZC1vdXRsaW5lX190cmFpbGluZyB7XG4gIGJvcmRlci1yYWRpdXM6IDA7XG59XG4uc2l0ZS1mb3JtIC5tZGMtdGV4dC1maWVsZC0tb3V0bGluZWQ6bm90KC5tZGMtdGV4dC1maWVsZC0tZGlzYWJsZWQpOm5vdCgubWRjLXRleHQtZmllbGQtLWludmFsaWQpIC5tZGMtbm90Y2hlZC1vdXRsaW5lX19sZWFkaW5nLFxuLnNpdGUtZm9ybSAubWRjLXRleHQtZmllbGQtLW91dGxpbmVkOm5vdCgubWRjLXRleHQtZmllbGQtLWRpc2FibGVkKTpub3QoLm1kYy10ZXh0LWZpZWxkLS1pbnZhbGlkKSAubWRjLW5vdGNoZWQtb3V0bGluZV9fbm90Y2gsXG4uc2l0ZS1mb3JtIC5tZGMtdGV4dC1maWVsZC0tb3V0bGluZWQ6bm90KC5tZGMtdGV4dC1maWVsZC0tZGlzYWJsZWQpOm5vdCgubWRjLXRleHQtZmllbGQtLWludmFsaWQpIC5tZGMtbm90Y2hlZC1vdXRsaW5lX190cmFpbGluZyB7XG4gIGJvcmRlci1jb2xvcjogIzAwYTVlMztcbn1cbi5zaXRlLWZvcm0gLm1kYy10ZXh0LWZpZWxkLS10ZXh0YXJlYTpub3QoLm1kYy10ZXh0LWZpZWxkLS1kaXNhYmxlZCk6bm90KC5tZGMtdGV4dC1maWVsZC0taW52YWxpZCkgLm1kYy1ub3RjaGVkLW91dGxpbmVfX2xlYWRpbmcsXG4uc2l0ZS1mb3JtIC5tZGMtdGV4dC1maWVsZC0tdGV4dGFyZWE6bm90KC5tZGMtdGV4dC1maWVsZC0tZGlzYWJsZWQpOm5vdCgubWRjLXRleHQtZmllbGQtLWludmFsaWQpIC5tZGMtbm90Y2hlZC1vdXRsaW5lX19ub3RjaCxcbi5zaXRlLWZvcm0gLm1kYy10ZXh0LWZpZWxkLS10ZXh0YXJlYTpub3QoLm1kYy10ZXh0LWZpZWxkLS1kaXNhYmxlZCk6bm90KC5tZGMtdGV4dC1maWVsZC0taW52YWxpZCkgLm1kYy1ub3RjaGVkLW91dGxpbmVfX3RyYWlsaW5nIHtcbiAgYm9yZGVyLWNvbG9yOiAjMDBhNWUzO1xufVxuLnNpdGUtZm9ybSAubWRjLXRleHQtZmllbGQtLW91dGxpbmVkOm5vdCgubWRjLXRleHQtZmllbGQtLWRpc2FibGVkKS5tZGMtdGV4dC1maWVsZC0taW52YWxpZCAubWRjLW5vdGNoZWQtb3V0bGluZV9fbGVhZGluZyxcbi5zaXRlLWZvcm0gLm1kYy10ZXh0LWZpZWxkLS1vdXRsaW5lZDpub3QoLm1kYy10ZXh0LWZpZWxkLS1kaXNhYmxlZCkubWRjLXRleHQtZmllbGQtLWludmFsaWQgLm1kYy1ub3RjaGVkLW91dGxpbmVfX25vdGNoLFxuLnNpdGUtZm9ybSAubWRjLXRleHQtZmllbGQtLW91dGxpbmVkOm5vdCgubWRjLXRleHQtZmllbGQtLWRpc2FibGVkKS5tZGMtdGV4dC1maWVsZC0taW52YWxpZCAubWRjLW5vdGNoZWQtb3V0bGluZV9fdHJhaWxpbmcge1xuICBib3JkZXItY29sb3I6ICMwMGE1ZTM7XG59XG4uc2l0ZS1mb3JtIC5tZGMtdGV4dC1maWVsZC0tdGV4dGFyZWE6bm90KC5tZGMtdGV4dC1maWVsZC0tZGlzYWJsZWQpLm1kYy10ZXh0LWZpZWxkLS1pbnZhbGlkIC5tZGMtbm90Y2hlZC1vdXRsaW5lX19sZWFkaW5nLFxuLnNpdGUtZm9ybSAubWRjLXRleHQtZmllbGQtLXRleHRhcmVhOm5vdCgubWRjLXRleHQtZmllbGQtLWRpc2FibGVkKS5tZGMtdGV4dC1maWVsZC0taW52YWxpZCAubWRjLW5vdGNoZWQtb3V0bGluZV9fbm90Y2gsXG4uc2l0ZS1mb3JtIC5tZGMtdGV4dC1maWVsZC0tdGV4dGFyZWE6bm90KC5tZGMtdGV4dC1maWVsZC0tZGlzYWJsZWQpLm1kYy10ZXh0LWZpZWxkLS1pbnZhbGlkIC5tZGMtbm90Y2hlZC1vdXRsaW5lX190cmFpbGluZyB7XG4gIGJvcmRlci1jb2xvcjogIzAwYTVlMztcbn1cbi5zaXRlLWZvcm0gLm1kYy10ZXh0LWZpZWxkOm5vdCgubWRjLXRleHQtZmllbGQtLWZvY3VzZWQpOm5vdCgubWRjLXRleHQtZmllbGQtLWludmFsaWQpIC5tZGMtdGV4dC1maWVsZF9faW5wdXQ6aG92ZXIgfiAubWRjLW5vdGNoZWQtb3V0bGluZSAubWRjLW5vdGNoZWQtb3V0bGluZV9fbGVhZGluZyxcbi5zaXRlLWZvcm0gLm1kYy10ZXh0LWZpZWxkOm5vdCgubWRjLXRleHQtZmllbGQtLWZvY3VzZWQpOm5vdCgubWRjLXRleHQtZmllbGQtLWludmFsaWQpIC5tZGMtdGV4dC1maWVsZF9faW5wdXQ6aG92ZXIgfiAubWRjLW5vdGNoZWQtb3V0bGluZSAubWRjLW5vdGNoZWQtb3V0bGluZV9fbm90Y2gsXG4uc2l0ZS1mb3JtIC5tZGMtdGV4dC1maWVsZDpub3QoLm1kYy10ZXh0LWZpZWxkLS1mb2N1c2VkKTpub3QoLm1kYy10ZXh0LWZpZWxkLS1pbnZhbGlkKSAubWRjLXRleHQtZmllbGRfX2lucHV0OmhvdmVyIH4gLm1kYy1ub3RjaGVkLW91dGxpbmUgLm1kYy1ub3RjaGVkLW91dGxpbmVfX3RyYWlsaW5nIHtcbiAgYm9yZGVyLWNvbG9yOiAjMDBhNWUzO1xufVxuLnNpdGUtZm9ybSAubWRjLXRleHQtZmllbGQ6bm90KC5tZGMtdGV4dC1maWVsZC0tZm9jdXNlZCkubWRjLXRleHQtZmllbGQtLWludmFsaWQgLm1kYy10ZXh0LWZpZWxkX19pbnB1dDpob3ZlciB+IC5tZGMtbm90Y2hlZC1vdXRsaW5lIC5tZGMtbm90Y2hlZC1vdXRsaW5lX19sZWFkaW5nLFxuLnNpdGUtZm9ybSAubWRjLXRleHQtZmllbGQ6bm90KC5tZGMtdGV4dC1maWVsZC0tZm9jdXNlZCkubWRjLXRleHQtZmllbGQtLWludmFsaWQgLm1kYy10ZXh0LWZpZWxkX19pbnB1dDpob3ZlciB+IC5tZGMtbm90Y2hlZC1vdXRsaW5lIC5tZGMtbm90Y2hlZC1vdXRsaW5lX19ub3RjaCxcbi5zaXRlLWZvcm0gLm1kYy10ZXh0LWZpZWxkOm5vdCgubWRjLXRleHQtZmllbGQtLWZvY3VzZWQpLm1kYy10ZXh0LWZpZWxkLS1pbnZhbGlkIC5tZGMtdGV4dC1maWVsZF9faW5wdXQ6aG92ZXIgfiAubWRjLW5vdGNoZWQtb3V0bGluZSAubWRjLW5vdGNoZWQtb3V0bGluZV9fdHJhaWxpbmcge1xuICBib3JkZXItY29sb3I6ICMwMGE1ZTM7XG59XG4uc2l0ZS1mb3JtX192YWxpZGF0aW9uLXRleHQge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIG1hcmdpbjogYXV0bztcbiAgbWF4LXdpZHRoOiBjYWxjKDEwMCUgLSAyNnB4KTtcbiAgYm90dG9tOiAwO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoNTAlKTtcbiAgbGVmdDogMTNweDtcbiAgY29sb3I6ICNmZjAwMDA7XG4gIGZvbnQtc2l6ZTogMTAuNXB4O1xuICBsaW5lLWhlaWdodDogMTtcbiAgZGlzcGxheTogbm9uZTtcbiAgcGFkZGluZy1sZWZ0OiAycHg7XG4gIHBhZGRpbmctcmlnaHQ6IDJweDtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcbiAgZm9udC13ZWlnaHQ6IDMwMDtcbiAgdXNlci1zZWxlY3Q6IG5vbmU7XG59XG5AbWVkaWEgKG1pbi13aWR0aDogMzc1cHgpIHtcbiAgLnNpdGUtZm9ybV9fdmFsaWRhdGlvbi10ZXh0IHtcbiAgICBmb250LXNpemU6IDEycHg7XG4gIH1cbn1cbkBtZWRpYSAobWluLXdpZHRoOiAxNjU2cHgpIHtcbiAgLnNpdGUtZm9ybV9fdmFsaWRhdGlvbi10ZXh0IHtcbiAgICBmb250LXNpemU6IDEzcHg7XG4gIH1cbn1cbmlucHV0OnZhbGlkIH4gLnNpdGUtZm9ybV9fdmFsaWRhdGlvbi10ZXh0IHtcbiAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xufVxuLndhcy12YWxpZGF0ZWQgaW5wdXQ6aW52YWxpZCB+IC5zaXRlLWZvcm1fX3ZhbGlkYXRpb24tdGV4dCB7XG4gIGRpc3BsYXk6IGJsb2NrICFpbXBvcnRhbnQ7XG59XG4ud2FzLXZhbGlkYXRlZCAubWRjLXRleHQtZmllbGQtLWludmFsaWQgLnNpdGUtZm9ybV9fdmFsaWRhdGlvbi10ZXh0IHtcbiAgZGlzcGxheTogYmxvY2s7XG59XG4ud2FzLXZhbGlkYXRlZCAuc2l0ZS1mb3JtX19jaGVja2JveC0tcmVxdWlyZWQuc2l0ZS1mb3JtX19jaGVja2JveC0tdW5jaGVja2VkIH4gLnNpdGUtZm9ybV9fdmFsaWRhdGlvbi10ZXh0IHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHBvc2l0aW9uOiBzdGF0aWM7XG4gIHBhZGRpbmctbGVmdDogMDtcbiAgcGFkZGluZy1yaWdodDogMDtcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIG1hcmdpbjogNnB4IDAgMCAwO1xuICB3aWR0aDogMTAwJTtcbiAgbWF4LXdpZHRoOiBub25lO1xuICB0cmFuc2Zvcm06IG5vbmU7XG59XG5AbWVkaWEgKG1pbi13aWR0aDogMTY1NnB4KSB7XG4gIC53YXMtdmFsaWRhdGVkIC5zaXRlLWZvcm1fX2NoZWNrYm94LS1yZXF1aXJlZC5zaXRlLWZvcm1fX2NoZWNrYm94LS11bmNoZWNrZWQgfiAuc2l0ZS1mb3JtX192YWxpZGF0aW9uLXRleHQge1xuICAgIHBhZGRpbmctbGVmdDogNDRweDtcbiAgfVxufVxuLnNpdGUtZm9ybV9fc2VydmVyLWVycm9yIHtcbiAgY29sb3I6ICNmZjAwMDA7XG4gIGZvbnQtd2VpZ2h0OiAzMDA7XG4gIG1hcmdpbi1ib3R0b206IDIwcHg7XG59XG4uc2l0ZS1mb3JtX19zZXJ2ZXItdmFsaWRhdGlvbi10ZXh0IHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBtYXJnaW46IGF1dG87XG4gIG1heC13aWR0aDogY2FsYygxMDAlIC0gMjZweCk7XG4gIGJvdHRvbTogMDtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDUwJSk7XG4gIGxlZnQ6IDEzcHg7XG4gIGNvbG9yOiAjZmYwMDAwO1xuICBmb250LXNpemU6IDEwLjVweDtcbiAgbGluZS1oZWlnaHQ6IDE7XG4gIGRpc3BsYXk6IG5vbmU7XG4gIHBhZGRpbmctbGVmdDogMnB4O1xuICBwYWRkaW5nLXJpZ2h0OiAycHg7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZmY7XG4gIGZvbnQtd2VpZ2h0OiAzMDA7XG4gIHVzZXItc2VsZWN0OiBub25lO1xufVxuQG1lZGlhIChtaW4td2lkdGg6IDM3NXB4KSB7XG4gIC5zaXRlLWZvcm1fX3NlcnZlci12YWxpZGF0aW9uLXRleHQge1xuICAgIGZvbnQtc2l6ZTogMTJweDtcbiAgfVxufVxuQG1lZGlhIChtaW4td2lkdGg6IDE2NTZweCkge1xuICAuc2l0ZS1mb3JtX19zZXJ2ZXItdmFsaWRhdGlvbi10ZXh0IHtcbiAgICBmb250LXNpemU6IDEzcHg7XG4gIH1cbn1cbi5zZXJ2ZXItc2lkZS12YWxpZGF0ZWQgLnNlcnZlci1zaWRlLS1pbnZhbGlkIH4gLnNpdGUtZm9ybV9fc2VydmVyLXZhbGlkYXRpb24tdGV4dCB7XG4gIGRpc3BsYXk6IGJsb2NrO1xufVxuLnNpdGUtZm9ybV9fanMtdmFsaWRhdGlvbi10ZXh0IHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBtYXJnaW46IGF1dG87XG4gIG1heC13aWR0aDogY2FsYygxMDAlIC0gMjZweCk7XG4gIGJvdHRvbTogMDtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDUwJSk7XG4gIGxlZnQ6IDEzcHg7XG4gIGNvbG9yOiAjZmYwMDAwO1xuICBmb250LXNpemU6IDEwLjVweDtcbiAgbGluZS1oZWlnaHQ6IDE7XG4gIGRpc3BsYXk6IG5vbmU7XG4gIHBhZGRpbmctbGVmdDogMnB4O1xuICBwYWRkaW5nLXJpZ2h0OiAycHg7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZmY7XG4gIGZvbnQtd2VpZ2h0OiAzMDA7XG4gIHVzZXItc2VsZWN0OiBub25lO1xufVxuQG1lZGlhIChtaW4td2lkdGg6IDM3NXB4KSB7XG4gIC5zaXRlLWZvcm1fX2pzLXZhbGlkYXRpb24tdGV4dCB7XG4gICAgZm9udC1zaXplOiAxMnB4O1xuICB9XG59XG5AbWVkaWEgKG1pbi13aWR0aDogMTY1NnB4KSB7XG4gIC5zaXRlLWZvcm1fX2pzLXZhbGlkYXRpb24tdGV4dCB7XG4gICAgZm9udC1zaXplOiAxM3B4O1xuICB9XG59XG4uanMtc2lkZS12YWxpZGF0ZWQgLmpzLXNpZGUtLWludmFsaWQgfiAuc2l0ZS1mb3JtX19qcy12YWxpZGF0aW9uLXRleHQge1xuICBkaXNwbGF5OiBibG9jaztcbn1cbi5zaXRlLWZvcm0gLm1kYy1tZW51IHtcbiAgei1pbmRleDogMjAwMDtcbn1cbkBtZWRpYSAobWluLXdpZHRoOiA5OTJweCkge1xuICAuc2l0ZS1mb3JtIC5tZGMtbWVudSB7XG4gICAgei1pbmRleDogMTA7XG4gIH1cbn1cbi5zaXRlLWZvcm0gLm1kYy1saXN0LWl0ZW0ge1xuICBoZWlnaHQ6IGF1dG87XG4gIG1pbi1oZWlnaHQ6IDQ4cHg7XG4gIHBhZGRpbmctdG9wOiAxMHB4O1xuICBwYWRkaW5nLWJvdHRvbTogMTBweDtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xuICB3aWR0aDogMTAwJTtcbn1cbi5zaXRlLWZvcm0gLm1kYy1zZWxlY3QtLW91dGxpbmVkIHtcbiAgYm9yZGVyLXJhZGl1czogMDtcbiAgbGV0dGVyLXNwYWNpbmc6IDA7XG4gIGxpbmUtaGVpZ2h0OiAxLjE1O1xuICBoZWlnaHQ6IDQ4cHg7XG59XG4uc2l0ZS1mb3JtIC5tZGMtc2VsZWN0LS1vdXRsaW5lZCAubWRjLW5vdGNoZWQtb3V0bGluZSAubWRjLW5vdGNoZWQtb3V0bGluZV9fbGVhZGluZyB7XG4gIC8qIEBub2ZsaXAgKi9cbiAgYm9yZGVyLXJhZGl1czogMCAwIDAgMDtcbn1cbltkaXI9cnRsXSAuc2l0ZS1mb3JtIC5tZGMtc2VsZWN0LS1vdXRsaW5lZCAubWRjLW5vdGNoZWQtb3V0bGluZSAubWRjLW5vdGNoZWQtb3V0bGluZV9fbGVhZGluZywgLnNpdGUtZm9ybSAubWRjLXNlbGVjdC0tb3V0bGluZWQgLm1kYy1ub3RjaGVkLW91dGxpbmUgLm1kYy1ub3RjaGVkLW91dGxpbmVfX2xlYWRpbmdbZGlyPXJ0bF0ge1xuICAvKiBAbm9mbGlwICovXG4gIGJvcmRlci1yYWRpdXM6IDAgMCAwIDA7XG59XG4uc2l0ZS1mb3JtIC5tZGMtc2VsZWN0LS1vdXRsaW5lZCAubWRjLW5vdGNoZWQtb3V0bGluZSAubWRjLW5vdGNoZWQtb3V0bGluZV9fdHJhaWxpbmcge1xuICAvKiBAbm9mbGlwICovXG4gIGJvcmRlci1yYWRpdXM6IDAgMCAwIDA7XG59XG5bZGlyPXJ0bF0gLnNpdGUtZm9ybSAubWRjLXNlbGVjdC0tb3V0bGluZWQgLm1kYy1ub3RjaGVkLW91dGxpbmUgLm1kYy1ub3RjaGVkLW91dGxpbmVfX3RyYWlsaW5nLCAuc2l0ZS1mb3JtIC5tZGMtc2VsZWN0LS1vdXRsaW5lZCAubWRjLW5vdGNoZWQtb3V0bGluZSAubWRjLW5vdGNoZWQtb3V0bGluZV9fdHJhaWxpbmdbZGlyPXJ0bF0ge1xuICAvKiBAbm9mbGlwICovXG4gIGJvcmRlci1yYWRpdXM6IDAgMCAwIDA7XG59XG4uc2l0ZS1mb3JtIC5tZGMtc2VsZWN0LS1vdXRsaW5lZCAubWRjLXNlbGVjdF9fc2VsZWN0ZWQtdGV4dCB7XG4gIGJvcmRlci1yYWRpdXM6IDA7XG59XG4uc2l0ZS1mb3JtIC5tZGMtc2VsZWN0LS1vdXRsaW5lZDpub3QoLm1kYy1zZWxlY3QtLWRpc2FibGVkKSAubWRjLW5vdGNoZWQtb3V0bGluZV9fbGVhZGluZyxcbi5zaXRlLWZvcm0gLm1kYy1zZWxlY3QtLW91dGxpbmVkOm5vdCgubWRjLXNlbGVjdC0tZGlzYWJsZWQpIC5tZGMtbm90Y2hlZC1vdXRsaW5lX19ub3RjaCxcbi5zaXRlLWZvcm0gLm1kYy1zZWxlY3QtLW91dGxpbmVkOm5vdCgubWRjLXNlbGVjdC0tZGlzYWJsZWQpIC5tZGMtbm90Y2hlZC1vdXRsaW5lX190cmFpbGluZyB7XG4gIGJvcmRlci1jb2xvcjogIzAwYTVlMztcbn1cbi5zaXRlLWZvcm0gLm1kYy1zZWxlY3QtLW91dGxpbmVkOm5vdCgubWRjLXNlbGVjdC0tZGlzYWJsZWQpLm1kYy1zZWxlY3QtLWZvY3VzZWQgLm1kYy1ub3RjaGVkLW91dGxpbmUgLm1kYy1ub3RjaGVkLW91dGxpbmVfX2xlYWRpbmcsXG4uc2l0ZS1mb3JtIC5tZGMtc2VsZWN0LS1vdXRsaW5lZDpub3QoLm1kYy1zZWxlY3QtLWRpc2FibGVkKS5tZGMtc2VsZWN0LS1mb2N1c2VkIC5tZGMtbm90Y2hlZC1vdXRsaW5lIC5tZGMtbm90Y2hlZC1vdXRsaW5lX19ub3RjaCxcbi5zaXRlLWZvcm0gLm1kYy1zZWxlY3QtLW91dGxpbmVkOm5vdCgubWRjLXNlbGVjdC0tZGlzYWJsZWQpLm1kYy1zZWxlY3QtLWZvY3VzZWQgLm1kYy1ub3RjaGVkLW91dGxpbmUgLm1kYy1ub3RjaGVkLW91dGxpbmVfX3RyYWlsaW5nIHtcbiAgYm9yZGVyLXdpZHRoOiAycHg7XG59XG4uc2l0ZS1mb3JtIC5tZGMtc2VsZWN0LS1vdXRsaW5lZDpub3QoLm1kYy1zZWxlY3QtLWRpc2FibGVkKS5tZGMtc2VsZWN0LS1mb2N1c2VkIC5tZGMtbm90Y2hlZC1vdXRsaW5lIC5tZGMtbm90Y2hlZC1vdXRsaW5lX19sZWFkaW5nLFxuLnNpdGUtZm9ybSAubWRjLXNlbGVjdC0tb3V0bGluZWQ6bm90KC5tZGMtc2VsZWN0LS1kaXNhYmxlZCkubWRjLXNlbGVjdC0tZm9jdXNlZCAubWRjLW5vdGNoZWQtb3V0bGluZSAubWRjLW5vdGNoZWQtb3V0bGluZV9fbm90Y2gsXG4uc2l0ZS1mb3JtIC5tZGMtc2VsZWN0LS1vdXRsaW5lZDpub3QoLm1kYy1zZWxlY3QtLWRpc2FibGVkKS5tZGMtc2VsZWN0LS1mb2N1c2VkIC5tZGMtbm90Y2hlZC1vdXRsaW5lIC5tZGMtbm90Y2hlZC1vdXRsaW5lX190cmFpbGluZyB7XG4gIGJvcmRlci1jb2xvcjogIzAwYTVlMztcbn1cbi5zaXRlLWZvcm0gLm1kYy1zZWxlY3QtLW91dGxpbmVkOm5vdCgubWRjLXNlbGVjdC0tZGlzYWJsZWQpOm5vdCgubWRjLXNlbGVjdC0tZm9jdXNlZCkgLm1kYy1zZWxlY3RfX2FuY2hvcjpob3ZlciAubWRjLW5vdGNoZWQtb3V0bGluZSAubWRjLW5vdGNoZWQtb3V0bGluZV9fbGVhZGluZyxcbi5zaXRlLWZvcm0gLm1kYy1zZWxlY3QtLW91dGxpbmVkOm5vdCgubWRjLXNlbGVjdC0tZGlzYWJsZWQpOm5vdCgubWRjLXNlbGVjdC0tZm9jdXNlZCkgLm1kYy1zZWxlY3RfX2FuY2hvcjpob3ZlciAubWRjLW5vdGNoZWQtb3V0bGluZSAubWRjLW5vdGNoZWQtb3V0bGluZV9fbm90Y2gsXG4uc2l0ZS1mb3JtIC5tZGMtc2VsZWN0LS1vdXRsaW5lZDpub3QoLm1kYy1zZWxlY3QtLWRpc2FibGVkKTpub3QoLm1kYy1zZWxlY3QtLWZvY3VzZWQpIC5tZGMtc2VsZWN0X19hbmNob3I6aG92ZXIgLm1kYy1ub3RjaGVkLW91dGxpbmUgLm1kYy1ub3RjaGVkLW91dGxpbmVfX3RyYWlsaW5nIHtcbiAgYm9yZGVyLWNvbG9yOiAjMDBhNWUzO1xufVxuLnNpdGUtZm9ybSAubWRjLXNlbGVjdC0tb3V0bGluZWQ6bm90KC5tZGMtc2VsZWN0LS1kaXNhYmxlZCkubWRjLXNlbGVjdC0tZm9jdXNlZCAubWRjLWZsb2F0aW5nLWxhYmVsIHtcbiAgY29sb3I6ICMwMGE1ZTM7XG59XG5AbWVkaWEgKG1pbi13aWR0aDogMTY1NnB4KSB7XG4gIC5zaXRlLWZvcm0gLm1kYy1zZWxlY3QtLW91dGxpbmVkIHtcbiAgICBiYWNrZ3JvdW5kLXNpemU6IDE1cHggMzFweDtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiByaWdodCAxNHB4IGNlbnRlcjtcbiAgICBsaW5lLWhlaWdodDogMS40O1xuICAgIGhlaWdodDogNjRweDtcbiAgICBmb250LXNpemU6IDE5cHg7XG4gIH1cbn1cbi5zaXRlLWZvcm0gLm1kYy1zZWxlY3QtLW91dGxpbmVkIC5tZGMtbWVudSB7XG4gIHdpZHRoOiAxMDAlO1xufVxuLnNpdGUtZm9ybSAubWRjLXNlbGVjdC0tb3V0bGluZWQgLm1kYy1zZWxlY3RfX2FuY2hvciB7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDQ4cHg7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IHJpZ2h0IDEycHggY2VudGVyO1xuICBiYWNrZ3JvdW5kLXNpemU6IDEycHggMjVweDtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiZGF0YTppbWFnZS9zdmcreG1sO2NoYXJzZXQ9dXRmOCwlM0NzdmclMjB4bWxucyUzRCUyMmh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJTIyJTIwZmlsbCUzRCUyMiUyMzAwQUVFRiUyMiUyMHZpZXdCb3glM0QlMjIwJTIwMCUyMDE2JTIwMzIlMjIlM0UlM0NwYXRoJTIwZCUzRCUyMk0xNCwxMS4xSDNMOC41LDJaTTMsMjFIMTRMOC41LDMwLjFaJTIyLyUzRSUzQ3BhdGglMjBkJTNEJTIyTTE2LDMySDBWMEgxNlolMjIlMjBmaWxsJTNEJTIybm9uZSUyMi8lM0UlM0Mvc3ZnJTNFXCIpO1xuICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xuICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDAuMnM7XG59XG5AbWVkaWEgKG1pbi13aWR0aDogMTY1NnB4KSB7XG4gIC5zaXRlLWZvcm0gLm1kYy1zZWxlY3QtLW91dGxpbmVkIC5tZGMtc2VsZWN0X19hbmNob3Ige1xuICAgIGhlaWdodDogNjRweDtcbiAgfVxufVxuLnNpdGUtZm9ybSAubWRjLXNlbGVjdC0tb3V0bGluZWQgLm1kYy1zZWxlY3RfX3NlbGVjdGVkLXRleHQge1xuICBsaW5lLWhlaWdodDogNDdweDtcbiAgcGFkZGluZy10b3A6IDA7XG4gIHBhZGRpbmctYm90dG9tOiAwO1xuICBoZWlnaHQ6IDEwMCU7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xuICB3aWR0aDogMTAwJTtcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHBhZGRpbmctcmlnaHQ6IDI4cHg7XG4gIG1pbi13aWR0aDogMDtcbiAgdXNlci1zZWxlY3Q6IG5vbmU7XG59XG5AbWVkaWEgKG1pbi13aWR0aDogMTY1NnB4KSB7XG4gIC5zaXRlLWZvcm0gLm1kYy1zZWxlY3QtLW91dGxpbmVkIC5tZGMtc2VsZWN0X19zZWxlY3RlZC10ZXh0IHtcbiAgICBsaW5lLWhlaWdodDogNjJweDtcbiAgICBmb250LXNpemU6IDE5cHg7XG4gICAgcGFkZGluZy1yaWdodDogNTJweDtcbiAgfVxufVxuLnNpdGUtZm9ybSAubWRjLXNlbGVjdC0tb3V0bGluZWQgLm1kYy1mbG9hdGluZy1sYWJlbCB7XG4gIHRvcDogMjJweDtcbiAgY3Vyc29yOiBwb2ludGVyO1xufVxuQG1lZGlhIChtaW4td2lkdGg6IDE2NTZweCkge1xuICAuc2l0ZS1mb3JtIC5tZGMtc2VsZWN0LS1vdXRsaW5lZCAubWRjLWZsb2F0aW5nLWxhYmVsIHtcbiAgICB0b3A6IDMwcHg7XG4gIH1cbn1cbi5zaXRlLWZvcm0gLm1kYy1zZWxlY3QtLW91dGxpbmVkIC5tZGMtZmxvYXRpbmctbGFiZWwubWRjLWZsb2F0aW5nLWxhYmVsLS1mbG9hdC1hYm92ZSB7XG4gIHRvcDogMTNweDtcbn1cbkBtZWRpYSAobWluLXdpZHRoOiAxNjU2cHgpIHtcbiAgLnNpdGUtZm9ybSAubWRjLXNlbGVjdC0tb3V0bGluZWQgLm1kYy1mbG9hdGluZy1sYWJlbC5tZGMtZmxvYXRpbmctbGFiZWwtLWZsb2F0LWFib3ZlIHtcbiAgICB0b3A6IDI0cHg7XG4gIH1cbn1cbi5maXJlZm94IC5zaXRlLWZvcm0gLm1kYy1zZWxlY3QtLW91dGxpbmVkIC5tZGMtZmxvYXRpbmctbGFiZWwubWRjLWZsb2F0aW5nLWxhYmVsLS1mbG9hdC1hYm92ZSB7XG4gIHRvcDogMTJweDtcbn1cbkBtZWRpYSAobWluLXdpZHRoOiAxNjU2cHgpIHtcbiAgLmZpcmVmb3ggLnNpdGUtZm9ybSAubWRjLXNlbGVjdC0tb3V0bGluZWQgLm1kYy1mbG9hdGluZy1sYWJlbC5tZGMtZmxvYXRpbmctbGFiZWwtLWZsb2F0LWFib3ZlIHtcbiAgICB0b3A6IDIycHg7XG4gIH1cbn1cbi5zaXRlLWZvcm0gLm1kYy1zZWxlY3QtLW91dGxpbmVkIC5tZGMtc2VsZWN0X19hbmNob3IgLm1kYy1ub3RjaGVkLW91dGxpbmUtLXVwZ3JhZGVkIC5tZGMtZmxvYXRpbmctbGFiZWwtLWZsb2F0LWFib3ZlLFxuLnNpdGUtZm9ybSAubWRjLXNlbGVjdC0tb3V0bGluZWQgLm1kYy1zZWxlY3RfX2FuY2hvci5tZGMtbm90Y2hlZC1vdXRsaW5lLS11cGdyYWRlZCAubWRjLWZsb2F0aW5nLWxhYmVsLS1mbG9hdC1hYm92ZSB7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMTA2JSkgc2NhbGUoMC43NSk7XG4gIGNvbG9yOiAjMDBhNWUzO1xufVxuQG1lZGlhIChtaW4td2lkdGg6IDE2NTZweCkge1xuICAuc2l0ZS1mb3JtIC5tZGMtc2VsZWN0LS1vdXRsaW5lZCAubWRjLXNlbGVjdF9fYW5jaG9yIC5tZGMtbm90Y2hlZC1vdXRsaW5lLS11cGdyYWRlZCAubWRjLWZsb2F0aW5nLWxhYmVsLS1mbG9hdC1hYm92ZSxcbiAgLnNpdGUtZm9ybSAubWRjLXNlbGVjdC0tb3V0bGluZWQgLm1kYy1zZWxlY3RfX2FuY2hvci5tZGMtbm90Y2hlZC1vdXRsaW5lLS11cGdyYWRlZCAubWRjLWZsb2F0aW5nLWxhYmVsLS1mbG9hdC1hYm92ZSB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0xNDclKSBzY2FsZSgwLjc1KTtcbiAgICBmb250LXNpemU6IDE5cHg7XG4gIH1cbn1cbi5zaXRlLWZvcm0gLm1kYy1zZWxlY3QtLW91dGxpbmVkOmhvdmVyIC5tZGMtc2VsZWN0X19hbmNob3IsIC5zaXRlLWZvcm0gLm1kYy1zZWxlY3QtLW91dGxpbmVkOmZvY3VzIC5tZGMtc2VsZWN0X19hbmNob3Ige1xuICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDAsIDE3NCwgMjM5LCAwLjA2KTtcbn1cbi5zaXRlLWZvcm0gLm1kYy1zZWxlY3QtLW91dGxpbmVkOm5vdCgubWRjLXNlbGVjdC0tZGlzYWJsZWQpIC5tZGMtZmxvYXRpbmctbGFiZWwge1xuICBjb2xvcjogIzAwYTVlMztcbn1cbi5zaXRlLWZvcm0gLm1kYy1zZWxlY3QtLW91dGxpbmVkIC5tZGMtc2VsZWN0LWlucHV0LWhpZGRlbiB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAtMTAwcHg7XG4gIGxlZnQ6IDA7XG4gIHotaW5kZXg6IC0xO1xuICB1c2VyLXNlbGVjdDogbm9uZTtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogMTAwJTtcbiAgb3BhY2l0eTogMDtcbn1cbkBtZWRpYSAobWluLXdpZHRoOiAxNjU2cHgpIHtcbiAgLnNpdGUtZm9ybSAubWRjLXNlbGVjdC0tY29tcGFjdCB7XG4gICAgYmFja2dyb3VuZC1zaXplOiAxNXB4IDMxcHg7XG4gICAgYmFja2dyb3VuZC1wb3NpdGlvbjogcmlnaHQgMTRweCBjZW50ZXI7XG4gICAgbGluZS1oZWlnaHQ6IDEuNDtcbiAgICBoZWlnaHQ6IDU0cHg7XG4gICAgZm9udC1zaXplOiAxNnB4O1xuICB9XG59XG4uc2l0ZS1mb3JtIC5tZGMtc2VsZWN0LS1jb21wYWN0IC5tZGMtc2VsZWN0X19hbmNob3Ige1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiA0OHB4O1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiByaWdodCAxMnB4IGNlbnRlcjtcbiAgYmFja2dyb3VuZC1zaXplOiAxMnB4IDI1cHg7XG59XG5AbWVkaWEgKG1pbi13aWR0aDogMTY1NnB4KSB7XG4gIC5zaXRlLWZvcm0gLm1kYy1zZWxlY3QtLWNvbXBhY3QgLm1kYy1zZWxlY3RfX2FuY2hvciB7XG4gICAgaGVpZ2h0OiA1NHB4O1xuICB9XG59XG5AbWVkaWEgKG1pbi13aWR0aDogMTY1NnB4KSB7XG4gIC5zaXRlLWZvcm0gLm1kYy1zZWxlY3QtLWNvbXBhY3QgLm1kYy1zZWxlY3RfX3NlbGVjdGVkLXRleHQge1xuICAgIGxpbmUtaGVpZ2h0OiA1M3B4O1xuICAgIGZvbnQtc2l6ZTogMTZweDtcbiAgfVxufVxuLnNpdGUtZm9ybSAubWRjLXNlbGVjdC0tY29tcGFjdCAubWRjLWZsb2F0aW5nLWxhYmVsLm1kYy1mbG9hdGluZy1sYWJlbC0tZmxvYXQtYWJvdmUge1xuICB0b3A6IDEzcHg7XG59XG5AbWVkaWEgKG1pbi13aWR0aDogMTY1NnB4KSB7XG4gIC5zaXRlLWZvcm0gLm1kYy1zZWxlY3QtLWNvbXBhY3QgLm1kYy1mbG9hdGluZy1sYWJlbC5tZGMtZmxvYXRpbmctbGFiZWwtLWZsb2F0LWFib3ZlIHtcbiAgICB0b3A6IDE5cHg7XG4gIH1cbn1cbi5zaXRlLWZvcm0gLm1kYy1zZWxlY3QtLWNvbXBhY3QgLm1kYy1zZWxlY3RfX2FuY2hvciAubWRjLW5vdGNoZWQtb3V0bGluZS0tdXBncmFkZWQgLm1kYy1mbG9hdGluZy1sYWJlbC0tZmxvYXQtYWJvdmUsXG4uc2l0ZS1mb3JtIC5tZGMtc2VsZWN0LS1jb21wYWN0IC5tZGMtc2VsZWN0X19hbmNob3IubWRjLW5vdGNoZWQtb3V0bGluZS0tdXBncmFkZWQgLm1kYy1mbG9hdGluZy1sYWJlbC0tZmxvYXQtYWJvdmUge1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTEwNCUpIHNjYWxlKDAuNzUpO1xufVxuQG1lZGlhIChtaW4td2lkdGg6IDE2NTZweCkge1xuICAuc2l0ZS1mb3JtIC5tZGMtc2VsZWN0LS1jb21wYWN0IC5tZGMtc2VsZWN0X19hbmNob3IgLm1kYy1ub3RjaGVkLW91dGxpbmUtLXVwZ3JhZGVkIC5tZGMtZmxvYXRpbmctbGFiZWwtLWZsb2F0LWFib3ZlLFxuICAuc2l0ZS1mb3JtIC5tZGMtc2VsZWN0LS1jb21wYWN0IC5tZGMtc2VsZWN0X19hbmNob3IubWRjLW5vdGNoZWQtb3V0bGluZS0tdXBncmFkZWQgLm1kYy1mbG9hdGluZy1sYWJlbC0tZmxvYXQtYWJvdmUge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMTQ3JSkgc2NhbGUoMC43NSk7XG4gICAgZm9udC1zaXplOiAxNnB4O1xuICB9XG59XG5AbWVkaWEgKG1pbi13aWR0aDogMTY1NnB4KSB7XG4gIC5zaXRlLWZvcm0gLm1kYy10ZXh0LWZpZWxkLS1jb21wYWN0IHtcbiAgICBsaW5lLWhlaWdodDogMS41NTtcbiAgICBoZWlnaHQ6IDU0cHg7XG4gICAgZm9udC1zaXplOiAxNnB4O1xuICB9XG59XG5AbWVkaWEgKG1pbi13aWR0aDogMTY1NnB4KSB7XG4gIC5zaXRlLWZvcm0gLm1kYy10ZXh0LWZpZWxkLS1jb21wYWN0IC5tZGMtZmxvYXRpbmctbGFiZWwge1xuICAgIHRvcDogMTdweDtcbiAgICBmb250LXNpemU6IDE2cHg7XG4gIH1cbn1cbkBtZWRpYSAobWluLXdpZHRoOiAxNjU2cHgpIHtcbiAgLmZpcmVmb3ggLnNpdGUtZm9ybSAubWRjLXRleHQtZmllbGQtLWNvbXBhY3QgLm1kYy1mbG9hdGluZy1sYWJlbCB7XG4gICAgdG9wOiAxNnB4O1xuICB9XG59XG5AbWVkaWEgKG1pbi13aWR0aDogMTY1NnB4KSB7XG4gIC5zaXRlLWZvcm0gLm1kYy10ZXh0LWZpZWxkLS1jb21wYWN0IC5tZGMtbm90Y2hlZC1vdXRsaW5lLS11cGdyYWRlZCAubWRjLWZsb2F0aW5nLWxhYmVsLS1mbG9hdC1hYm92ZSB7XG4gICAgdG9wOiAyMHB4O1xuICAgIGZvbnQtc2l6ZTogMTZweDtcbiAgfVxufVxuQG1lZGlhIChtaW4td2lkdGg6IDE2NTZweCkge1xuICAuZmlyZWZveCAuc2l0ZS1mb3JtIC5tZGMtdGV4dC1maWVsZC0tY29tcGFjdCAubWRjLW5vdGNoZWQtb3V0bGluZS0tdXBncmFkZWQgLm1kYy1mbG9hdGluZy1sYWJlbC0tZmxvYXQtYWJvdmUge1xuICAgIHRvcDogMTlweDtcbiAgfVxufVxuQG1lZGlhIChtaW4td2lkdGg6IDE2NTZweCkge1xuICAuc2l0ZS1mb3JtIC5tZGMtdGV4dC1maWVsZC0tY29tcGFjdC5tZGMtdGV4dC1maWVsZC0tZm9jdXNlZCAubWRjLW5vdGNoZWQtb3V0bGluZS0tdXBncmFkZWQgLm1kYy1mbG9hdGluZy1sYWJlbC0tZmxvYXQtYWJvdmUge1xuICAgIHRvcDogMTlweDtcbiAgfVxufVxuQG1lZGlhIChtaW4td2lkdGg6IDE2NTZweCkge1xuICAuZmlyZWZveCAuc2l0ZS1mb3JtIC5tZGMtdGV4dC1maWVsZC0tY29tcGFjdC5tZGMtdGV4dC1maWVsZC0tZm9jdXNlZCAubWRjLW5vdGNoZWQtb3V0bGluZS0tdXBncmFkZWQgLm1kYy1mbG9hdGluZy1sYWJlbC0tZmxvYXQtYWJvdmUge1xuICAgIHRvcDogMThweDtcbiAgfVxufVxuQG1lZGlhIChtaW4td2lkdGg6IDE2NTZweCkge1xuICAuc2l0ZS1mb3JtIC5tZGMtdGV4dC1maWVsZC0tY29tcGFjdCAubWRjLXRleHQtZmllbGRfX2lucHV0IHtcbiAgICBmb250LXNpemU6IDE2cHg7XG4gIH1cbn1cbi5zaXRlLWZvcm0gLm1kYy10ZXh0LWZpZWxkLS10ZXh0YXJlYSB7XG4gIGhlaWdodDogYXV0bztcbiAgd2lkdGg6IDEwMCU7XG59XG4uc2l0ZS1mb3JtIC5tZGMtdGV4dC1maWVsZC0tdGV4dGFyZWEgLm1kYy10ZXh0LWZpZWxkX19pbnB1dCB7XG4gIHJlc2l6ZTogbm9uZTtcbiAgbWFyZ2luLXRvcDogMTBweDtcbn1cbkBtZWRpYSAobWluLXdpZHRoOiAxNjU2cHgpIHtcbiAgLnNpdGUtZm9ybSAubWRjLXRleHQtZmllbGQtLXRleHRhcmVhIC5tZGMtdGV4dC1maWVsZF9faW5wdXQge1xuICAgIG1hcmdpbi10b3A6IDE3cHg7XG4gIH1cbn1cbi5zaXRlLWZvcm1fX2hlbHAtdGV4dCB7XG4gIG1hcmdpbi10b3A6IDEwcHg7XG59XG4ubWRjLWZvcm0tZmllbGQtLWNoZWNrYm94ID4gLnNpdGUtZm9ybV9faGVscC10ZXh0IHtcbiAgcGFkZGluZy1sZWZ0OiA0NXB4O1xufVxuLnNpdGUtZm9ybV9faGVscC10ZXh0LS1zbWFsbCB7XG4gIGZvbnQtc2l6ZTogMTAuNXB4O1xuICBmb250LXdlaWdodDogMzAwO1xufVxuQG1lZGlhIChtaW4td2lkdGg6IDM3NXB4KSB7XG4gIC5zaXRlLWZvcm1fX2hlbHAtdGV4dC0tc21hbGwge1xuICAgIGZvbnQtc2l6ZTogMTJweDtcbiAgfVxufVxuQG1lZGlhIChtaW4td2lkdGg6IDE2NTZweCkge1xuICAuc2l0ZS1mb3JtX19oZWxwLXRleHQtLXNtYWxsIHtcbiAgICBmb250LXNpemU6IDEzcHg7XG4gIH1cbn1cbi5zaXRlLWZvcm1fX2luZm8ge1xuICB0ZXh0LWFsaWduOiBsZWZ0O1xuICBmb250LXdlaWdodDogMzAwO1xuICBmb250LXNpemU6IDEyLjVweDtcbiAgbWFyZ2luLXRvcDogMTVweDtcbiAgbWFyZ2luLWJvdHRvbTogNXB4O1xuICBwYWRkaW5nOiAwO1xuICBsaW5lLWhlaWdodDogMS40Mztcbn1cbi5zaXRlLWZvcm1fX2luZm8tLWNlbnRlciB7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbn1cbi5zaXRlLWZvcm1fX2luZm8tLXNwYWNlZCB7XG4gIG1hcmdpbi10b3A6IDMycHg7XG59XG5AbWVkaWEgKG1pbi13aWR0aDogMTY1NnB4KSB7XG4gIC5zaXRlLWZvcm1fX2luZm8ge1xuICAgIG1hcmdpbi10b3A6IDIwcHg7XG4gICAgbWFyZ2luLWJvdHRvbTogMTBweDtcbiAgICBsaW5lLWhlaWdodDogMS43O1xuICAgIGZvbnQtc2l6ZTogMTRweDtcbiAgfVxufVxuLnNpdGUtZm9ybV9faW5mbyBhOmhvdmVyLCAuc2l0ZS1mb3JtX19pbmZvIGE6Zm9jdXMge1xuICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcbn1cbi5zaXRlLWZvcm0gLm1kYy10ZXh0LWZpZWxkX19pbnB1dDpyZXF1aXJlZCB+IC5tZGMtZmxvYXRpbmctbGFiZWw6bm90KC5yZXF1aXJlZCk6OmFmdGVyLCAuc2l0ZS1mb3JtIC5tZGMtdGV4dC1maWVsZF9faW5wdXQ6cmVxdWlyZWQgfiAubWRjLW5vdGNoZWQtb3V0bGluZSAubWRjLWZsb2F0aW5nLWxhYmVsOm5vdCgucmVxdWlyZWQpOjphZnRlciB7XG4gIGRpc3BsYXk6IG5vbmU7XG59XG5cbi5rYWxpb3BjdXN0b21mb3Jtcy1mb3JtLS1kZWZhdWx0IHtcbiAgbWF4LXdpZHRoOiA2MjBweDtcbiAgbWFyZ2luOiAwIGF1dG87XG59XG4ua2FsaW9wY3VzdG9tZm9ybXMtZm9ybS0tZGVmYXVsdCBidXR0b25bdHlwZT1zdWJtaXRdIHtcbiAgbWFyZ2luOiAwIGF1dG87XG4gIGRpc3BsYXk6IGJsb2NrO1xufVxuLmthbGlvcGN1c3RvbWZvcm1zLWZvcm0tLWRlZmF1bHQgLmJ0bi0tYmx1ZTpkaXNhYmxlZCB7XG4gIGJhY2tncm91bmQtY29sb3I6ICMyNjUzQjk7XG59XG4ua2FsaW9wY3VzdG9tZm9ybXMtZm9ybV9fbWVzc2FnZS1jb250YWluZXIge1xuICBwYWRkaW5nLWJvdHRvbTogMTBweDtcbiAgZm9udC1zaXplOiAxNnB4O1xufVxuLmthbGlvcGN1c3RvbWZvcm1zLWZvcm1fX21lc3NhZ2UtY29udGFpbmVyLS1lcnJvciB7XG4gIGNvbG9yOiAjZmYwMDAwO1xufVxuLmthbGlvcGN1c3RvbWZvcm1zLWZvcm1fX21lc3NhZ2UtY29udGFpbmVyLS13YXJuaW5nIHtcbiAgY29sb3I6ICNGMjZBMjE7XG59XG4ua2FsaW9wY3VzdG9tZm9ybXMtZm9ybV9fbWVzc2FnZS1jb250YWluZXItLXN1Y2Nlc3Mge1xuICBjb2xvcjogIzZlYzAxZTtcbn1cblxuLmN1c3RvbS1maWVsZC0taW5kZW50ZWQge1xuICBtYXJnaW4tbGVmdDogMzVweDtcbn1cblxuLnN0YXRpY190ZXh0LWZpZWxkIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xufVxuLnN0YXRpY190ZXh0LWZpZWxkLS1zbWFsbCB7XG4gIGZvbnQtc2l6ZTogMTJweDtcbn1cbi5zdGF0aWNfdGV4dC1maWVsZC0tbm9ybWFsIHtcbiAgZm9udC1zaXplOiAxNHB4O1xufVxuLnN0YXRpY190ZXh0LWZpZWxkLS1sYXJnZSB7XG4gIGZvbnQtc2l6ZTogMTlweDtcbiAgZm9udC13ZWlnaHQ6IDQwMDtcbn1cblxuLnRpbWVsZXNzLWZvcm0ge1xuICBtYXgtd2lkdGg6IDY4MnB4O1xuICBtYXJnaW46IDAgYXV0bztcbn1cbi50aW1lbGVzcy1mb3JtX19hY3Rpb25zIHtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xufVxuXG4uYW5udWFsLWZvcm0ge1xuICBtYXgtd2lkdGg6IDQwMHB4O1xufVxuXG4ubmV3c2xldHRlci1hZ3JlZW1lbnRzIC5lenJpY2h0ZXh0LWZpZWxkLCAubmV3c2xldHRlci1hZ3JlZW1lbnRzIC5uZ2wtcmljaF90ZXh0IHtcbiAgZm9udC1zaXplOiAxNXB4O1xufVxuQG1lZGlhIChtaW4td2lkdGg6IDM3NXB4KSB7XG4gIC5uZXdzbGV0dGVyLWFncmVlbWVudHMgLmV6cmljaHRleHQtZmllbGQsIC5uZXdzbGV0dGVyLWFncmVlbWVudHMgLm5nbC1yaWNoX3RleHQge1xuICAgIGZvbnQtc2l6ZTogMTdweDtcbiAgfVxufVxuQG1lZGlhIChtaW4td2lkdGg6IDE2NTZweCkge1xuICAubmV3c2xldHRlci1hZ3JlZW1lbnRzIC5lenJpY2h0ZXh0LWZpZWxkLCAubmV3c2xldHRlci1hZ3JlZW1lbnRzIC5uZ2wtcmljaF90ZXh0IHtcbiAgICBmb250LXNpemU6IDE5cHg7XG4gIH1cbn1cbi5uZXdzbGV0dGVyLWFncmVlbWVudHMgLmV6cmljaHRleHQtZmllbGQgcDpub3QoW2NsYXNzXSksIC5uZXdzbGV0dGVyLWFncmVlbWVudHMgLm5nbC1yaWNoX3RleHQgcDpub3QoW2NsYXNzXSkge1xuICBtYXJnaW4tYm90dG9tOiAwO1xufVxuLm5ld3NsZXR0ZXItYWdyZWVtZW50c19fdGl0bGUge1xuICBmb250LXdlaWdodDogMzAwO1xuICBwYWRkaW5nLXRvcDogOHB4O1xuICBtYXJnaW4tYm90dG9tOiAwLjhyZW07XG4gIHRleHQtYWxpZ246IGxlZnQ7XG59XG4ubmV3c2xldHRlci1hZ3JlZW1lbnRzX190aXRsZSAuZXpyaWNodGV4dC1maWVsZCwgLm5ld3NsZXR0ZXItYWdyZWVtZW50c19fdGl0bGUgLm5nbC1yaWNoX3RleHQsIC5uZXdzbGV0dGVyLWFncmVlbWVudHNfX3RpdGxlIHtcbiAgZm9udC1zaXplOiAxNXB4O1xufVxuQG1lZGlhIChtaW4td2lkdGg6IDM3NXB4KSB7XG4gIC5uZXdzbGV0dGVyLWFncmVlbWVudHNfX3RpdGxlIC5lenJpY2h0ZXh0LWZpZWxkLCAubmV3c2xldHRlci1hZ3JlZW1lbnRzX190aXRsZSAubmdsLXJpY2hfdGV4dCwgLm5ld3NsZXR0ZXItYWdyZWVtZW50c19fdGl0bGUge1xuICAgIGZvbnQtc2l6ZTogMTdweDtcbiAgfVxufVxuQG1lZGlhIChtaW4td2lkdGg6IDE2NTZweCkge1xuICAubmV3c2xldHRlci1hZ3JlZW1lbnRzX190aXRsZSAuZXpyaWNodGV4dC1maWVsZCwgLm5ld3NsZXR0ZXItYWdyZWVtZW50c19fdGl0bGUgLm5nbC1yaWNoX3RleHQsIC5uZXdzbGV0dGVyLWFncmVlbWVudHNfX3RpdGxlIHtcbiAgICBmb250LXNpemU6IDE5cHg7XG4gICAgbGV0dGVyLXNwYWNpbmc6IDAuNHB4O1xuICB9XG59XG4ubmV3c2xldHRlci1hZ3JlZW1lbnRzX190aXRsZS0tYm9sZCB7XG4gIGZvbnQtd2VpZ2h0OiA1MDA7XG59XG4ubmV3c2xldHRlci1hZ3JlZW1lbnRzX19jaG9pY2VzIHtcbiAgLypwYWRkaW5nLWxlZnQ6IDQ4cHg7XG4gIC5uZXdzbGV0dGVyLWFncmVlbWVudHMtLWNvbGxhcHNhYmxlICYge1xuICAgICAgcGFkZGluZy1sZWZ0OiAwO1xuICB9Ki9cbn1cbi5jbGllbnQtc2V0dGluZ3MgLm5ld3NsZXR0ZXItYWdyZWVtZW50c19fY2hvaWNlcyB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtd3JhcDogd3JhcDtcbiAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xufVxuLmNsaWVudC1zZXR0aW5ncyAubmV3c2xldHRlci1hZ3JlZW1lbnRzX19jaG9pY2VzIC5uZXdzbGV0dGVyLWFncmVlbWVudHNfX2Nob2ljZSB7XG4gIHdpZHRoOiAxMDAlO1xufVxuQG1lZGlhIChtaW4td2lkdGg6IDEyMDBweCkge1xuICAuY2xpZW50LXNldHRpbmdzIC5uZXdzbGV0dGVyLWFncmVlbWVudHNfX2Nob2ljZXMgLm5ld3NsZXR0ZXItYWdyZWVtZW50c19fY2hvaWNlIHtcbiAgICB3aWR0aDogNDclO1xuICB9XG59XG4ubmV3c2xldHRlci1hZ3JlZW1lbnRzX19jaG9pY2Uge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG59XG4ubmV3c2xldHRlci1hZ3JlZW1lbnRzX190b2dnbGUge1xuICBib3JkZXI6IG5vbmU7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIGZvbnQtZmFtaWx5OiBpbmhlcml0O1xuICBvdXRsaW5lOiBub25lO1xuICBtYXJnaW46IDA7XG4gIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gIGJhY2tncm91bmQtc2l6ZTogMThweCAxOHB4O1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiByaWdodCAwIGNlbnRlcjtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiZGF0YTppbWFnZS9zdmcreG1sO2NoYXJzZXQ9dXRmOCwlM0NzdmclMjB4bWxucyUzRCUyMmh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJTIyJTIwZmlsbCUzRCUyMiUyMzIwMWQxZCUyMiUyMHZpZXdCb3glM0QlMjIwJTIwMCUyMDM2JTIwMzYlMjIlM0UlM0NwYXRoJTIwZCUzRCUyMk0zMy44NywyN2ExLjEzLDEuMTMsMCwwLDEtLjgtLjMzTDE4LDExLjcybC0xNS4wNywxNWExLjEzLDEuMTMsMCwwLDEtMS42LDAsMS4xMiwxLjEyLDAsMCwxLDAtMS41OUwxNy4yLDkuMzNhMS4xMywxLjEzLDAsMCwxLDEuNiwwTDM0LjY3LDI1LjA4YTEuMTMsMS4xMywwLDAsMS0uOCwxLjkyWiUyMi8lM0UlM0NwYXRoJTIwZCUzRCUyMk0zNiwzNkgwVjBIMzZaJTIyJTIwZmlsbCUzRCUyMm5vbmUlMjIvJTNFJTNDL3N2ZyUzRVwiKTtcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIGZvbnQtd2VpZ2h0OiAzMDA7XG4gIGxpbmUtaGVpZ2h0OiAxLjI1O1xuICB1c2VyLXNlbGVjdDogbm9uZTtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDdweDtcbiAgcmlnaHQ6IDA7XG4gIHBhZGRpbmctcmlnaHQ6IDMwcHg7XG4gIGNvbG9yOiAjMDBBRUVGO1xuICBmb250LXNpemU6IDE1cHg7XG59XG5AbWVkaWEgKG1pbi13aWR0aDogMzc1cHgpIHtcbiAgLm5ld3NsZXR0ZXItYWdyZWVtZW50c19fdG9nZ2xlIHtcbiAgICBmb250LXNpemU6IDE3cHg7XG4gIH1cbn1cbkBtZWRpYSAobWluLXdpZHRoOiAxNjU2cHgpIHtcbiAgLm5ld3NsZXR0ZXItYWdyZWVtZW50c19fdG9nZ2xlIHtcbiAgICBmb250LXNpemU6IDE5cHg7XG4gIH1cbn1cbi5uZXdzbGV0dGVyLWFncmVlbWVudHNfX3RvZ2dsZTpmb2N1cyB7XG4gIG91dGxpbmU6IG5vbmU7XG59XG4ubmV3c2xldHRlci1hZ3JlZW1lbnRzX190b2dnbGUgLm5ld3NsZXR0ZXItYWdyZWVtZW50c19fdG9nZ2xlLS1jb2xsYXBzZWQge1xuICBkaXNwbGF5OiBub25lO1xufVxuLm5ld3NsZXR0ZXItYWdyZWVtZW50c19fdG9nZ2xlIC5uZXdzbGV0dGVyLWFncmVlbWVudHNfX3RvZ2dsZS0tc2hvd24ge1xuICBkaXNwbGF5OiBpbmxpbmU7XG59XG4ubmV3c2xldHRlci1hZ3JlZW1lbnRzX190b2dnbGUuY29sbGFwc2VkIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiZGF0YTppbWFnZS9zdmcreG1sO2NoYXJzZXQ9dXRmOCwlM0NzdmclMjB4bWxucyUzRCUyMmh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJTIyJTIwZmlsbCUzRCUyMiUyMzIwMWQxZCUyMiUyMHZpZXdCb3glM0QlMjIwJTIwMCUyMDM2JTIwMzYlMjIlM0UlM0NwYXRoJTIwZCUzRCUyMk0yLjEzLDlhMS4xMywxLjEzLDAsMCwxLC44LjMzTDE4LDI0LjI4LDMzLjA3LDkuMzNhMS4xMywxLjEzLDAsMCwxLDEuNiwwLDEuMTIsMS4xMiwwLDAsMSwwLDEuNTlMMTguOCwyNi42N2ExLjEzLDEuMTMsMCwwLDEtMS42LDBMMS4zMywxMC45MkExLjEzLDEuMTMsMCwwLDEsMi4xMyw5WiUyMi8lM0UlM0NwYXRoJTIwZCUzRCUyMk0zNiwzNkgwVjBIMzZaJTIyJTIwZmlsbCUzRCUyMm5vbmUlMjIvJTNFJTNDL3N2ZyUzRVwiKTtcbn1cbi5uZXdzbGV0dGVyLWFncmVlbWVudHNfX3RvZ2dsZS5jb2xsYXBzZWQgLm5ld3NsZXR0ZXItYWdyZWVtZW50c19fdG9nZ2xlLS1jb2xsYXBzZWQge1xuICBkaXNwbGF5OiBpbmxpbmU7XG59XG4ubmV3c2xldHRlci1hZ3JlZW1lbnRzX190b2dnbGUuY29sbGFwc2VkIC5uZXdzbGV0dGVyLWFncmVlbWVudHNfX3RvZ2dsZS0tc2hvd24ge1xuICBkaXNwbGF5OiBub25lO1xufVxuLm5ld3NsZXR0ZXItYWdyZWVtZW50c19fcGFuZWwgLm5ld3NsZXR0ZXItYWdyZWVtZW50c19faW5mbyB7XG4gIG1hcmdpbjogMDtcbiAgcGFkZGluZy1ib3R0b206IDI4cHg7XG59XG5AbWVkaWEgKG1pbi13aWR0aDogMTY1NnB4KSB7XG4gIC5uZXdzbGV0dGVyLWFncmVlbWVudHNfX3BhbmVsIC5uZXdzbGV0dGVyLWFncmVlbWVudHNfX2luZm8ge1xuICAgIHBhZGRpbmctYm90dG9tOiAxNnB4O1xuICB9XG59XG4ubmV3c2xldHRlci1hZ3JlZW1lbnRzX19pbmZvIHtcbiAgdGV4dC1hbGlnbjogbGVmdDtcbiAgZm9udC13ZWlnaHQ6IDMwMDtcbiAgbWFyZ2luLXRvcDogMjJweDtcbiAgbWFyZ2luLWJvdHRvbTogMjhweDtcbiAgcGFkZGluZzogMDtcbiAgbGluZS1oZWlnaHQ6IDEuNDM7XG59XG4ubmV3c2xldHRlci1hZ3JlZW1lbnRzX19pbmZvLS1zcGFjZWQge1xuICBtYXJnaW4tdG9wOiAzMnB4O1xufVxuQG1lZGlhIChtaW4td2lkdGg6IDE2NTZweCkge1xuICAubmV3c2xldHRlci1hZ3JlZW1lbnRzX19pbmZvLS1zcGFjZWQge1xuICAgIG1hcmdpbi10b3A6IDIycHg7XG4gIH1cbn1cbi5uZXdzbGV0dGVyLWFncmVlbWVudHNfX2luZm8tLWluZGVudGVkLCAubmV3c2xldHRlci1hZ3JlZW1lbnRzX19jaG9pY2UgLm5ld3NsZXR0ZXItYWdyZWVtZW50c19faW5mbyB7XG4gIHBhZGRpbmctbGVmdDogMzVweDtcbn1cbkBtZWRpYSAobWluLXdpZHRoOiAxNjU2cHgpIHtcbiAgLm5ld3NsZXR0ZXItYWdyZWVtZW50c19faW5mby0taW5kZW50ZWQsIC5uZXdzbGV0dGVyLWFncmVlbWVudHNfX2Nob2ljZSAubmV3c2xldHRlci1hZ3JlZW1lbnRzX19pbmZvIHtcbiAgICBwYWRkaW5nLWxlZnQ6IDQ1cHg7XG4gIH1cbn1cbi5uZXdzbGV0dGVyLWFncmVlbWVudHNfX2luZm8gLmV6cmljaHRleHQtZmllbGQsIC5uZXdzbGV0dGVyLWFncmVlbWVudHNfX2luZm8gLm5nbC1yaWNoX3RleHQsIC5uZXdzbGV0dGVyLWFncmVlbWVudHNfX2luZm8ge1xuICBmb250LXNpemU6IDEyLjVweDtcbn1cbkBtZWRpYSAobWluLXdpZHRoOiAxNjU2cHgpIHtcbiAgLm5ld3NsZXR0ZXItYWdyZWVtZW50c19faW5mbyAuZXpyaWNodGV4dC1maWVsZCwgLm5ld3NsZXR0ZXItYWdyZWVtZW50c19faW5mbyAubmdsLXJpY2hfdGV4dCwgLm5ld3NsZXR0ZXItYWdyZWVtZW50c19faW5mbyB7XG4gICAgbGluZS1oZWlnaHQ6IDEuNztcbiAgICBmb250LXNpemU6IDE0cHg7XG4gIH1cbn1cbkBtZWRpYSAobWluLXdpZHRoOiAxNjU2cHgpIHtcbiAgLm5ld3NsZXR0ZXItYWdyZWVtZW50c19faW5mbyB7XG4gICAgbWFyZ2luLWJvdHRvbTogMTZweDtcbiAgfVxufVxuLm5ld3NsZXR0ZXItYWdyZWVtZW50c19faW5mbyBhOmhvdmVyLCAubmV3c2xldHRlci1hZ3JlZW1lbnRzX19pbmZvIGE6Zm9jdXMge1xuICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcbn1cblxuLm1kYy1jaGVja2JveC1tdWx0aXBsZSAuc2l0ZS1mb3JtX192YWxpZGF0aW9uLXRleHQge1xuICBsZWZ0OiAwO1xuICBib3R0b206IDA7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgbWFyZ2luLWJvdHRvbTogMTRweDtcbiAgbWF4LXdpZHRoOiB1bnNldDtcbn1cblxuLnNlcnZlci1zaWRlLS1pbnZhbGlkIC5zaXRlLWZvcm1fX3ZhbGlkYXRpb24tdGV4dCB7XG4gIGRpc3BsYXk6IGJsb2NrO1xufVxuXG4ud2FzLXZhbGlkYXRlZCAubmV3c2xldHRlci1hZ3JlZW1lbnRzIC5zaXRlLWZvcm1fX2NoZWNrYm94LS1yZXF1aXJlZC5zaXRlLWZvcm1fX2NoZWNrYm94LS11bmNoZWNrZWQgfiAuc2l0ZS1mb3JtX192YWxpZGF0aW9uLXRleHQge1xuICBwYWRkaW5nLWxlZnQ6IDM1cHg7XG59XG5AbWVkaWEgKG1pbi13aWR0aDogMTY1NnB4KSB7XG4gIC53YXMtdmFsaWRhdGVkIC5uZXdzbGV0dGVyLWFncmVlbWVudHMgLnNpdGUtZm9ybV9fY2hlY2tib3gtLXJlcXVpcmVkLnNpdGUtZm9ybV9fY2hlY2tib3gtLXVuY2hlY2tlZCB+IC5zaXRlLWZvcm1fX3ZhbGlkYXRpb24tdGV4dCB7XG4gICAgcGFkZGluZy1sZWZ0OiA0NHB4O1xuICB9XG59XG5cbi5tb2RhbC1mdWxsLS1uZXdzbGV0dGVyIC5tb2RhbC1mdWxsX19jb250ZW50IHtcbiAgcGFkZGluZzogMDtcbn1cbi5tb2RhbC1mdWxsLS1uZXdzbGV0dGVyIC5tb2RhbC1mdWxsX19jbG9zZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbDtjaGFyc2V0PXV0ZjgsJTNDc3ZnJTIweG1sbnMlM0QlMjJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyUyMiUyMGZpbGwlM0QlMjIlMjNmZmYlMjIlMjB2aWV3Qm94JTNEJTIyMCUyMDAlMjAzNiUyMDM2JTIyJTNFJTNDcGF0aCUyMGQlM0QlMjJNMi41NCwxLjE3aDBhMS4wOCwxLjA4LDAsMCwxLC44Ni4zOUwxOCwxNi4xMiwzMi41MiwxLjU2YTEuMTMsMS4xMywwLDAsMSwuOTItLjM5LDEuMjQsMS4yNCwwLDAsMSwxLC4zOSwxLjMyLDEuMzIsMCwwLDEsLjM2LjkyLDEuMjgsMS4yOCwwLDAsMS0uMzkuOTJMMTkuNzksMTgsMzQuMzYsMzIuNTJhMS4yNiwxLjI2LDAsMCwxLC4zOS45MiwxLjMzLDEuMzMsMCwwLDEtLjM2LjkyLDEuMiwxLjIsMCwwLDEtLjkyLjM5LDEuMywxLjMsMCwwLDEtLjk1LS4zOUwxOCwxOS43OSwzLjQsMzQuMzZhMS4yOCwxLjI4LDAsMCwxLS45Mi4zOSwxLjI2LDEuMjYsMCwwLDEtLjkyLS4zOSwxLjI4LDEuMjgsMCwwLDEtLjM5LS45MiwxLjI2LDEuMjYsMCwwLDEsLjM5LS45MkwxNi4xMiwxOCwxLjU2LDMuNGExLjI4LDEuMjgsMCwwLDEtLjM5LS45MiwxLjI2LDEuMjYsMCwwLDEsLjM5LS45MiwxLjI2LDEuMjYsMCwwLDEsLjkyLS4zOVolMjIvJTNFJTNDcGF0aCUyMGQlM0QlMjJNMzYsMzZIMFYwSDM2WiUyMiUyMGZpbGwlM0QlMjJub25lJTIyLyUzRSUzQy9zdmclM0VcIik7XG59XG5AbWVkaWEgKG1pbi13aWR0aDogOTkycHgpIHtcbiAgLm1vZGFsLWZ1bGwtLW5ld3NsZXR0ZXIgLm1kYy1kaWFsb2dfX3N1cmZhY2Uge1xuICAgIG1heC13aWR0aDogNzUwcHg7XG4gIH1cbn1cblxuLm1vZGFsLW5ld3NsZXR0ZXJfX3JvdyB7XG4gIG1hcmdpbi1ib3R0b206IDIwcHg7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbn1cbi5tb2RhbC1uZXdzbGV0dGVyX19yb3ctLWNlbnRlciB7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGRpc3BsYXk6IGZsZXg7XG59XG4ubW9kYWwtbmV3c2xldHRlcl9fZm9ybSB7XG4gIHBhZGRpbmc6IDAgNTBweDtcbiAgbWFyZ2luLXRvcDogLTQ1cHg7XG59XG4ubW9kYWwtbmV3c2xldHRlcl9fZm9ybSAubWRjLXRleHQtZmllbGQge1xuICBib3JkZXI6IDFweCBzb2xpZCAjMDBBRUVGO1xuICBib3JkZXItcmFkaXVzOiAwO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xuICB3aWR0aDogMTAwJTtcbn1cbi5tb2RhbC1uZXdzbGV0dGVyX19mb3JtIC5jdXN0b20tdmFsaWRhdGlvbi10ZXh0IHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBtYXJnaW46IGF1dG87XG4gIG1heC13aWR0aDogY2FsYygxMDAlIC0gMjZweCk7XG4gIGJvdHRvbTogLTE0cHg7XG4gIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDUwJSk7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWSg1MCUpO1xuICBsZWZ0OiAwO1xuICBmb250LXNpemU6IDEwLjVweDtcbiAgbGluZS1oZWlnaHQ6IDE7XG4gIGRpc3BsYXk6IG5vbmU7XG4gIHBhZGRpbmctbGVmdDogMnB4O1xuICBwYWRkaW5nLXJpZ2h0OiAycHg7XG4gIGZvbnQtd2VpZ2h0OiA1MDA7XG4gIC13ZWJraXQtdXNlci1zZWxlY3Q6IG5vbmU7XG4gIC1tb3otdXNlci1zZWxlY3Q6IG5vbmU7XG4gIC1tcy11c2VyLXNlbGVjdDogbm9uZTtcbiAgdXNlci1zZWxlY3Q6IG5vbmU7XG4gIGNvbG9yOiAjZmYwMDAwICFpbXBvcnRhbnQ7XG59XG4ubW9kYWwtbmV3c2xldHRlcl9fZm9ybSAubWRjLXRleHQtZmllbGQtLWludmFsaWQge1xuICBib3JkZXItY29sb3I6ICNmZjAwMDAgIWltcG9ydGFudDtcbn1cbi5tb2RhbC1uZXdzbGV0dGVyX19mb3JtIC5tZGMtdGV4dC1maWVsZC0taW52YWxpZCBsYWJlbCB7XG4gIGNvbG9yOiAjZmYwMDAwICFpbXBvcnRhbnQ7XG59XG4ubW9kYWwtbmV3c2xldHRlcl9fZm9ybSAubWRjLWNoZWNrYm94LS1pbnZhbGlkIH4gbGFiZWwge1xuICBjb2xvcjogI2ZmMDAwMCAhaW1wb3J0YW50O1xufVxuLm1vZGFsLW5ld3NsZXR0ZXJfX2Zvcm0gLm1kYy10ZXh0LWZpZWxkLS1pbnZhbGlkIH4gLmN1c3RvbS12YWxpZGF0aW9uLXRleHQsXG4ubW9kYWwtbmV3c2xldHRlcl9fZm9ybSAubWRjLWNoZWNrYm94LS1pbnZhbGlkIH4gLmN1c3RvbS12YWxpZGF0aW9uLXRleHQge1xuICBkaXNwbGF5OiBibG9jaztcbn1cbi5tb2RhbC1uZXdzbGV0dGVyX19zZW5kIHtcbiAgd2lkdGg6IDYwJTtcbiAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gIG1hcmdpbi1yaWdodDogYXV0bztcbn1cbi5tb2RhbC1uZXdzbGV0dGVyX19pbmZvIHtcbiAgZm9udC13ZWlnaHQ6IDMwMDtcbiAgZm9udC1zaXplOiAxMnB4O1xuICBsaW5lLWhlaWdodDogMTZweDtcbiAgbWFyZ2luLXRvcDogMTBweDtcbn1cbi5tb2RhbC1uZXdzbGV0dGVyIC5zaXRlLWZvcm0gLm1kYy1mb3JtLWZpZWxkLS1jaGVja2JveCBsYWJlbCB7XG4gIGZvbnQtc2l6ZTogMTRweCAhaW1wb3J0YW50O1xufVxuLm1vZGFsLW5ld3NsZXR0ZXJfX2ZpZ3VyZSB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlzcGxheTogYmxvY2s7XG59XG4ubW9kYWwtbmV3c2xldHRlcl9fY2FudmFzIHtcbiAgbWFyZ2luOiAwO1xuICB3aWR0aDogMTAwJTtcbiAgbWF4LXdpZHRoOiAxMDAlO1xuICB1c2VyLXNlbGVjdDogbm9uZTtcbiAgZGlzcGxheTogYmxvY2s7XG59XG4ubW9kYWwtbmV3c2xldHRlcl9faW1nIHtcbiAgd2lkdGg6IDEwMCU7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICB1c2VyLXNlbGVjdDogbm9uZTtcbn1cbmNhbnZhcyArIHBpY3R1cmUgLm1vZGFsLW5ld3NsZXR0ZXJfX2ltZyB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgbGVmdDogMDtcbiAgdG9wOiAwO1xufVxuXG4ubW9kYWwtbmV3c2xldHRlci10aGFua3NfX2ZpZ3VyZSB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlzcGxheTogYmxvY2s7XG59XG4ubW9kYWwtbmV3c2xldHRlci10aGFua3NfX2NhbnZhcyB7XG4gIG1hcmdpbjogMDtcbiAgd2lkdGg6IDEwMCU7XG4gIG1heC13aWR0aDogMTAwJTtcbiAgdXNlci1zZWxlY3Q6IG5vbmU7XG4gIGRpc3BsYXk6IGJsb2NrO1xufVxuLm1vZGFsLW5ld3NsZXR0ZXItdGhhbmtzX19pbWcge1xuICB3aWR0aDogMTAwJTtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHVzZXItc2VsZWN0OiBub25lO1xufVxuY2FudmFzICsgcGljdHVyZSAubW9kYWwtbmV3c2xldHRlci10aGFua3NfX2ltZyB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgbGVmdDogMDtcbiAgdG9wOiAwO1xufSIsIi8vIEhvdmVyIG1peGluIGFuZCBgJGVuYWJsZS1ob3Zlci1tZWRpYS1xdWVyeWAgYXJlIGRlcHJlY2F0ZWQuXG4vL1xuLy8gT3JpZ2luYWxseSBhZGRlZCBkdXJpbmcgb3VyIGFscGhhcyBhbmQgbWFpbnRhaW5lZCBkdXJpbmcgYmV0YXMsIHRoaXMgbWl4aW4gd2FzXG4vLyBkZXNpZ25lZCB0byBwcmV2ZW50IGA6aG92ZXJgIHN0aWNraW5lc3Mgb24gaU9TLWFuIGlzc3VlIHdoZXJlIGhvdmVyIHN0eWxlc1xuLy8gd291bGQgcGVyc2lzdCBhZnRlciBpbml0aWFsIHRvdWNoLlxuLy9cbi8vIEZvciBiYWNrd2FyZCBjb21wYXRpYmlsaXR5LCB3ZSd2ZSBrZXB0IHRoZXNlIG1peGlucyBhbmQgdXBkYXRlZCB0aGVtIHRvXG4vLyBhbHdheXMgcmV0dXJuIHRoZWlyIHJlZ3VsYXIgcHNldWRvLWNsYXNzZXMgaW5zdGVhZCBvZiBhIHNoaW1tZWQgbWVkaWEgcXVlcnkuXG4vL1xuLy8gSXNzdWU6IGh0dHBzOi8vZ2l0aHViLmNvbS90d2JzL2Jvb3RzdHJhcC9pc3N1ZXMvMjUxOTVcblxuQG1peGluIGhvdmVyKCkge1xuICAmOmhvdmVyIHsgQGNvbnRlbnQ7IH1cbn1cblxuQG1peGluIGhvdmVyLWZvY3VzKCkge1xuICAmOmhvdmVyLFxuICAmOmZvY3VzIHtcbiAgICBAY29udGVudDtcbiAgfVxufVxuXG5AbWl4aW4gcGxhaW4taG92ZXItZm9jdXMoKSB7XG4gICYsXG4gICY6aG92ZXIsXG4gICY6Zm9jdXMge1xuICAgIEBjb250ZW50O1xuICB9XG59XG5cbkBtaXhpbiBob3Zlci1mb2N1cy1hY3RpdmUoKSB7XG4gICY6aG92ZXIsXG4gICY6Zm9jdXMsXG4gICY6YWN0aXZlIHtcbiAgICBAY29udGVudDtcbiAgfVxufVxuIiwiLnRvYXN0IHtcbiAgLy8gUHJldmVudHMgZnJvbSBzaHJpbmtpbmcgaW4gSUUxMSwgd2hlbiBpbiBhIGZsZXggY29udGFpbmVyXG4gIC8vIFNlZSBodHRwczovL2dpdGh1Yi5jb20vdHdicy9ib290c3RyYXAvaXNzdWVzLzI4MzQxXG4gIGZsZXgtYmFzaXM6ICR0b2FzdC1tYXgtd2lkdGg7XG4gIG1heC13aWR0aDogJHRvYXN0LW1heC13aWR0aDtcbiAgQGluY2x1ZGUgZm9udC1zaXplKCR0b2FzdC1mb250LXNpemUpO1xuICBjb2xvcjogJHRvYXN0LWNvbG9yO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkdG9hc3QtYmFja2dyb3VuZC1jb2xvcjtcbiAgYmFja2dyb3VuZC1jbGlwOiBwYWRkaW5nLWJveDtcbiAgYm9yZGVyOiAkdG9hc3QtYm9yZGVyLXdpZHRoIHNvbGlkICR0b2FzdC1ib3JkZXItY29sb3I7XG4gIGJveC1zaGFkb3c6ICR0b2FzdC1ib3gtc2hhZG93O1xuICBvcGFjaXR5OiAwO1xuICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKCR0b2FzdC1ib3JkZXItcmFkaXVzKTtcblxuICAmOm5vdCg6bGFzdC1jaGlsZCkge1xuICAgIG1hcmdpbi1ib3R0b206ICR0b2FzdC1wYWRkaW5nLXg7XG4gIH1cblxuICAmLnNob3dpbmcge1xuICAgIG9wYWNpdHk6IDE7XG4gIH1cblxuICAmLnNob3cge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIG9wYWNpdHk6IDE7XG4gIH1cblxuICAmLmhpZGUge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cbn1cblxuLnRvYXN0LWhlYWRlciB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIHBhZGRpbmc6ICR0b2FzdC1wYWRkaW5nLXkgJHRvYXN0LXBhZGRpbmcteDtcbiAgY29sb3I6ICR0b2FzdC1oZWFkZXItY29sb3I7XG4gIGJhY2tncm91bmQtY29sb3I6ICR0b2FzdC1oZWFkZXItYmFja2dyb3VuZC1jb2xvcjtcbiAgYmFja2dyb3VuZC1jbGlwOiBwYWRkaW5nLWJveDtcbiAgYm9yZGVyLWJvdHRvbTogJHRvYXN0LWJvcmRlci13aWR0aCBzb2xpZCAkdG9hc3QtaGVhZGVyLWJvcmRlci1jb2xvcjtcbiAgQGluY2x1ZGUgYm9yZGVyLXRvcC1yYWRpdXMoc3VidHJhY3QoJHRvYXN0LWJvcmRlci1yYWRpdXMsICR0b2FzdC1ib3JkZXItd2lkdGgpKTtcbn1cblxuLnRvYXN0LWJvZHkge1xuICBwYWRkaW5nOiAkdG9hc3QtcGFkZGluZy14OyAvLyBhcHBseSB0byBib3RoIHZlcnRpY2FsIGFuZCBob3Jpem9udGFsXG59XG4iLCIvLyBzdHlsZWxpbnQtZGlzYWJsZSBwcm9wZXJ0eS1kaXNhbGxvd2VkLWxpc3Rcbi8vIFNpbmdsZSBzaWRlIGJvcmRlci1yYWRpdXNcblxuLy8gSGVscGVyIGZ1bmN0aW9uIHRvIHJlcGxhY2UgbmVnYXRpdmUgdmFsdWVzIHdpdGggMFxuQGZ1bmN0aW9uIHZhbGlkLXJhZGl1cygkcmFkaXVzKSB7XG4gICRyZXR1cm46ICgpO1xuICBAZWFjaCAkdmFsdWUgaW4gJHJhZGl1cyB7XG4gICAgQGlmIHR5cGUtb2YoJHZhbHVlKSA9PSBudW1iZXIge1xuICAgICAgJHJldHVybjogYXBwZW5kKCRyZXR1cm4sIG1heCgkdmFsdWUsIDApKTtcbiAgICB9IEBlbHNlIHtcbiAgICAgICRyZXR1cm46IGFwcGVuZCgkcmV0dXJuLCAkdmFsdWUpO1xuICAgIH1cbiAgfVxuICBAcmV0dXJuICRyZXR1cm47XG59XG5cbkBtaXhpbiBib3JkZXItcmFkaXVzKCRyYWRpdXM6ICRib3JkZXItcmFkaXVzLCAkZmFsbGJhY2stYm9yZGVyLXJhZGl1czogZmFsc2UpIHtcbiAgQGlmICRlbmFibGUtcm91bmRlZCB7XG4gICAgYm9yZGVyLXJhZGl1czogdmFsaWQtcmFkaXVzKCRyYWRpdXMpO1xuICB9XG4gIEBlbHNlIGlmICRmYWxsYmFjay1ib3JkZXItcmFkaXVzICE9IGZhbHNlIHtcbiAgICBib3JkZXItcmFkaXVzOiAkZmFsbGJhY2stYm9yZGVyLXJhZGl1cztcbiAgfVxufVxuXG5AbWl4aW4gYm9yZGVyLXRvcC1yYWRpdXMoJHJhZGl1cykge1xuICBAaWYgJGVuYWJsZS1yb3VuZGVkIHtcbiAgICBib3JkZXItdG9wLWxlZnQtcmFkaXVzOiB2YWxpZC1yYWRpdXMoJHJhZGl1cyk7XG4gICAgYm9yZGVyLXRvcC1yaWdodC1yYWRpdXM6IHZhbGlkLXJhZGl1cygkcmFkaXVzKTtcbiAgfVxufVxuXG5AbWl4aW4gYm9yZGVyLXJpZ2h0LXJhZGl1cygkcmFkaXVzKSB7XG4gIEBpZiAkZW5hYmxlLXJvdW5kZWQge1xuICAgIGJvcmRlci10b3AtcmlnaHQtcmFkaXVzOiB2YWxpZC1yYWRpdXMoJHJhZGl1cyk7XG4gICAgYm9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6IHZhbGlkLXJhZGl1cygkcmFkaXVzKTtcbiAgfVxufVxuXG5AbWl4aW4gYm9yZGVyLWJvdHRvbS1yYWRpdXMoJHJhZGl1cykge1xuICBAaWYgJGVuYWJsZS1yb3VuZGVkIHtcbiAgICBib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1czogdmFsaWQtcmFkaXVzKCRyYWRpdXMpO1xuICAgIGJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6IHZhbGlkLXJhZGl1cygkcmFkaXVzKTtcbiAgfVxufVxuXG5AbWl4aW4gYm9yZGVyLWxlZnQtcmFkaXVzKCRyYWRpdXMpIHtcbiAgQGlmICRlbmFibGUtcm91bmRlZCB7XG4gICAgYm9yZGVyLXRvcC1sZWZ0LXJhZGl1czogdmFsaWQtcmFkaXVzKCRyYWRpdXMpO1xuICAgIGJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6IHZhbGlkLXJhZGl1cygkcmFkaXVzKTtcbiAgfVxufVxuXG5AbWl4aW4gYm9yZGVyLXRvcC1sZWZ0LXJhZGl1cygkcmFkaXVzKSB7XG4gIEBpZiAkZW5hYmxlLXJvdW5kZWQge1xuICAgIGJvcmRlci10b3AtbGVmdC1yYWRpdXM6IHZhbGlkLXJhZGl1cygkcmFkaXVzKTtcbiAgfVxufVxuXG5AbWl4aW4gYm9yZGVyLXRvcC1yaWdodC1yYWRpdXMoJHJhZGl1cykge1xuICBAaWYgJGVuYWJsZS1yb3VuZGVkIHtcbiAgICBib3JkZXItdG9wLXJpZ2h0LXJhZGl1czogdmFsaWQtcmFkaXVzKCRyYWRpdXMpO1xuICB9XG59XG5cbkBtaXhpbiBib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1cygkcmFkaXVzKSB7XG4gIEBpZiAkZW5hYmxlLXJvdW5kZWQge1xuICAgIGJvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzOiB2YWxpZC1yYWRpdXMoJHJhZGl1cyk7XG4gIH1cbn1cblxuQG1peGluIGJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXMoJHJhZGl1cykge1xuICBAaWYgJGVuYWJsZS1yb3VuZGVkIHtcbiAgICBib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOiB2YWxpZC1yYWRpdXMoJHJhZGl1cyk7XG4gIH1cbn1cbiIsIi8vXG4vLyBDb3B5cmlnaHQgMjAxOSBHb29nbGUgSW5jLlxuLy9cbi8vIFBlcm1pc3Npb24gaXMgaGVyZWJ5IGdyYW50ZWQsIGZyZWUgb2YgY2hhcmdlLCB0byBhbnkgcGVyc29uIG9idGFpbmluZyBhIGNvcHlcbi8vIG9mIHRoaXMgc29mdHdhcmUgYW5kIGFzc29jaWF0ZWQgZG9jdW1lbnRhdGlvbiBmaWxlcyAodGhlIFwiU29mdHdhcmVcIiksIHRvIGRlYWxcbi8vIGluIHRoZSBTb2Z0d2FyZSB3aXRob3V0IHJlc3RyaWN0aW9uLCBpbmNsdWRpbmcgd2l0aG91dCBsaW1pdGF0aW9uIHRoZSByaWdodHNcbi8vIHRvIHVzZSwgY29weSwgbW9kaWZ5LCBtZXJnZSwgcHVibGlzaCwgZGlzdHJpYnV0ZSwgc3VibGljZW5zZSwgYW5kL29yIHNlbGxcbi8vIGNvcGllcyBvZiB0aGUgU29mdHdhcmUsIGFuZCB0byBwZXJtaXQgcGVyc29ucyB0byB3aG9tIHRoZSBTb2Z0d2FyZSBpc1xuLy8gZnVybmlzaGVkIHRvIGRvIHNvLCBzdWJqZWN0IHRvIHRoZSBmb2xsb3dpbmcgY29uZGl0aW9uczpcbi8vXG4vLyBUaGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSBhbmQgdGhpcyBwZXJtaXNzaW9uIG5vdGljZSBzaGFsbCBiZSBpbmNsdWRlZCBpblxuLy8gYWxsIGNvcGllcyBvciBzdWJzdGFudGlhbCBwb3J0aW9ucyBvZiB0aGUgU29mdHdhcmUuXG4vL1xuLy8gVEhFIFNPRlRXQVJFIElTIFBST1ZJREVEIFwiQVMgSVNcIiwgV0lUSE9VVCBXQVJSQU5UWSBPRiBBTlkgS0lORCwgRVhQUkVTUyBPUlxuLy8gSU1QTElFRCwgSU5DTFVESU5HIEJVVCBOT1QgTElNSVRFRCBUTyBUSEUgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFksXG4vLyBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBTkQgTk9OSU5GUklOR0VNRU5ULiBJTiBOTyBFVkVOVCBTSEFMTCBUSEVcbi8vIEFVVEhPUlMgT1IgQ09QWVJJR0hUIEhPTERFUlMgQkUgTElBQkxFIEZPUiBBTlkgQ0xBSU0sIERBTUFHRVMgT1IgT1RIRVJcbi8vIExJQUJJTElUWSwgV0hFVEhFUiBJTiBBTiBBQ1RJT04gT0YgQ09OVFJBQ1QsIFRPUlQgT1IgT1RIRVJXSVNFLCBBUklTSU5HIEZST00sXG4vLyBPVVQgT0YgT1IgSU4gQ09OTkVDVElPTiBXSVRIIFRIRSBTT0ZUV0FSRSBPUiBUSEUgVVNFIE9SIE9USEVSIERFQUxJTkdTIElOXG4vLyBUSEUgU09GVFdBUkUuXG4vL1xuXG5AdXNlIFwiQG1hdGVyaWFsL2Jhc2UvbWl4aW5zXCIgYXMgYmFzZS1taXhpbnM7XG5AdXNlIFwiQG1hdGVyaWFsL2ZlYXR1cmUtdGFyZ2V0aW5nL2Z1bmN0aW9uc1wiO1xuQHVzZSBcIkBtYXRlcmlhbC9mZWF0dXJlLXRhcmdldGluZy9taXhpbnNcIiBhcyBmZWF0dXJlLXRhcmdldGluZy1taXhpbnM7XG5AdXNlIFwiLi92YXJpYWJsZXNcIjtcblxuLy8vIFN0eWxlcyBhcHBsaWVkIHRvIHRoZSBjb21wb25lbnQncyB0b3VjaCB0YXJnZXQgd3JhcHBlciBlbGVtZW50LlxuQG1peGluIHdyYXBwZXIoJHF1ZXJ5OiBmdW5jdGlvbnMuYWxsKCkpIHtcbiAgJGZlYXQtc3RydWN0dXJlOiBmdW5jdGlvbnMuY3JlYXRlLXRhcmdldCgkcXVlcnksIHN0cnVjdHVyZSk7XG5cbiAgLm1kYy10b3VjaC10YXJnZXQtd3JhcHBlciB7XG4gICAgQGluY2x1ZGUgZmVhdHVyZS10YXJnZXRpbmctbWl4aW5zLnRhcmdldHMoJGZlYXQtc3RydWN0dXJlKSB7XG4gICAgICAvLyBFbnN1cmUgdGhhdCBzdHlsZXMgYXJlIG9ubHkgZW1pdHRlZCBvbmNlIGFjcm9zcyBhbGwgY29tcG9uZW50cyB0aGF0XG4gICAgICAvLyBoYXZlIGluY3JlYXNlZCB0b3VjaCB0YXJnZXRzLlxuICAgICAgQGluY2x1ZGUgYmFzZS1taXhpbnMuZW1pdC1vbmNlKFwibWRjLXRvdWNoLXRhcmdldC93cmFwcGVyXCIpIHtcbiAgICAgICAgLy8gTk9URTogV2lsbCBjaGFuZ2UgdG8gYGlubGluZS1ibG9ja2AgaW4gdGhlIGZ1dHVyZSwgYnV0IGtlZXBpbmcgYXMgaXNcbiAgICAgICAgLy8gdGVtcG9yYXJpbHkgZm9yIGJhY2t3YXJkcy1jb21wYXRpYmlsaXR5LlxuICAgICAgICBkaXNwbGF5OiBpbmxpbmU7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbi8vLyBTdHlsZXMgYXBwbGllZCB0byB0aGUgY29tcG9uZW50J3MgaW5uZXIgdG91Y2ggdGFyZ2V0IGVsZW1lbnQuXG4vLy8gQnkgZGVmYXVsdCwgb25seSBzZXRzIHRoZSBpbm5lciBlbGVtZW50IGhlaWdodCB0byB0aGUgbWluaW11bSB0b3VjaCB0YXJnZXRcbi8vLyBoZWlnaHQgKCRtZGMtdG91Y2gtdGFyZ2V0LWhlaWdodCkuXG4vLy8gQHBhcmFtIHtCb29sZWFufSAkc2V0LXdpZHRoIFtmYWxzZV0gLSBTZXRzIHRoZSBpbm5lciBlbGVtZW50IHdpZHRoIHRvIHRoZVxuLy8vICAgICBtaW5pbXVtIHRvdWNoIHRhcmdldCB3aWR0aCAoJG1kYy10b3VjaC10YXJnZXQtd2lkdGgpLlxuQG1peGluIHRvdWNoLXRhcmdldCgkc2V0LXdpZHRoOiBmYWxzZSwgJHF1ZXJ5OiBmdW5jdGlvbnMuYWxsKCkpIHtcbiAgJGZlYXQtc3RydWN0dXJlOiBmdW5jdGlvbnMuY3JlYXRlLXRhcmdldCgkcXVlcnksIHN0cnVjdHVyZSk7XG5cbiAgQGluY2x1ZGUgZmVhdHVyZS10YXJnZXRpbmctbWl4aW5zLnRhcmdldHMoJGZlYXQtc3RydWN0dXJlKSB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogNTAlO1xuICAgIHJpZ2h0OiAwO1xuICAgIGhlaWdodDogdmFyaWFibGVzLiRoZWlnaHQ7XG4gIH1cblxuICBAaWYgJHNldC13aWR0aCB7XG4gICAgQGluY2x1ZGUgZmVhdHVyZS10YXJnZXRpbmctbWl4aW5zLnRhcmdldHMoJGZlYXQtc3RydWN0dXJlKSB7XG4gICAgICAvKiBAbm9mbGlwICovXG4gICAgICBsZWZ0OiA1MCU7XG4gICAgICB3aWR0aDogdmFyaWFibGVzLiR3aWR0aDtcbiAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIC01MCUpO1xuICAgIH1cbiAgfSBAZWxzZSB7XG4gICAgQGluY2x1ZGUgZmVhdHVyZS10YXJnZXRpbmctbWl4aW5zLnRhcmdldHMoJGZlYXQtc3RydWN0dXJlKSB7XG4gICAgICBsZWZ0OiAwO1xuICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpO1xuICAgIH1cbiAgfVxufVxuXG4vLy8gQXBwbGllcyBtYXJnaW4gdG8gdGhlIGNvbXBvbmVudCB3aXRoIHRoZSBpbmNyZWFzZWQgdG91Y2ggdGFyZ2V0LFxuLy8vIHRvIGNvbXBlbnNhdGUgZm9yIHRoZSB0b3VjaCB0YXJnZXQuXG5AbWl4aW4gbWFyZ2luKCRjb21wb25lbnQtaGVpZ2h0LCAkY29tcG9uZW50LXdpZHRoOiBudWxsLCAkcXVlcnk6IGZ1bmN0aW9ucy5hbGwoKSkge1xuICAkZmVhdC1zdHJ1Y3R1cmU6IGZ1bmN0aW9ucy5jcmVhdGUtdGFyZ2V0KCRxdWVyeSwgc3RydWN0dXJlKTtcblxuICAkdmVydGljYWwtbWFyZ2luLXZhbHVlOiAodmFyaWFibGVzLiRoZWlnaHQgLSAkY29tcG9uZW50LWhlaWdodCkgLyAyO1xuXG4gIEBpbmNsdWRlIGZlYXR1cmUtdGFyZ2V0aW5nLW1peGlucy50YXJnZXRzKCRmZWF0LXN0cnVjdHVyZSkge1xuICAgIG1hcmdpbi10b3A6ICR2ZXJ0aWNhbC1tYXJnaW4tdmFsdWU7XG4gICAgbWFyZ2luLWJvdHRvbTogJHZlcnRpY2FsLW1hcmdpbi12YWx1ZTtcbiAgfVxuXG4gIEBpZiAkY29tcG9uZW50LXdpZHRoIHtcbiAgICAkaG9yaXpvbnRhbC1tYXJnaW4tdmFsdWU6ICh2YXJpYWJsZXMuJHdpZHRoIC0gJGNvbXBvbmVudC13aWR0aCkgLyAyO1xuXG4gICAgQGluY2x1ZGUgZmVhdHVyZS10YXJnZXRpbmctbWl4aW5zLnRhcmdldHMoJGZlYXQtc3RydWN0dXJlKSB7XG4gICAgICBtYXJnaW4tcmlnaHQ6ICRob3Jpem9udGFsLW1hcmdpbi12YWx1ZTtcbiAgICAgIG1hcmdpbi1sZWZ0OiAkaG9yaXpvbnRhbC1tYXJnaW4tdmFsdWU7XG4gICAgfVxuICB9XG59XG4iLCIvL1xuLy8gQ29weXJpZ2h0IDIwMTcgR29vZ2xlIEluYy5cbi8vXG4vLyBQZXJtaXNzaW9uIGlzIGhlcmVieSBncmFudGVkLCBmcmVlIG9mIGNoYXJnZSwgdG8gYW55IHBlcnNvbiBvYnRhaW5pbmcgYSBjb3B5XG4vLyBvZiB0aGlzIHNvZnR3YXJlIGFuZCBhc3NvY2lhdGVkIGRvY3VtZW50YXRpb24gZmlsZXMgKHRoZSBcIlNvZnR3YXJlXCIpLCB0byBkZWFsXG4vLyBpbiB0aGUgU29mdHdhcmUgd2l0aG91dCByZXN0cmljdGlvbiwgaW5jbHVkaW5nIHdpdGhvdXQgbGltaXRhdGlvbiB0aGUgcmlnaHRzXG4vLyB0byB1c2UsIGNvcHksIG1vZGlmeSwgbWVyZ2UsIHB1Ymxpc2gsIGRpc3RyaWJ1dGUsIHN1YmxpY2Vuc2UsIGFuZC9vciBzZWxsXG4vLyBjb3BpZXMgb2YgdGhlIFNvZnR3YXJlLCBhbmQgdG8gcGVybWl0IHBlcnNvbnMgdG8gd2hvbSB0aGUgU29mdHdhcmUgaXNcbi8vIGZ1cm5pc2hlZCB0byBkbyBzbywgc3ViamVjdCB0byB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnM6XG4vL1xuLy8gVGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UgYW5kIHRoaXMgcGVybWlzc2lvbiBub3RpY2Ugc2hhbGwgYmUgaW5jbHVkZWQgaW5cbi8vIGFsbCBjb3BpZXMgb3Igc3Vic3RhbnRpYWwgcG9ydGlvbnMgb2YgdGhlIFNvZnR3YXJlLlxuLy9cbi8vIFRIRSBTT0ZUV0FSRSBJUyBQUk9WSURFRCBcIkFTIElTXCIsIFdJVEhPVVQgV0FSUkFOVFkgT0YgQU5ZIEtJTkQsIEVYUFJFU1MgT1Jcbi8vIElNUExJRUQsIElOQ0xVRElORyBCVVQgTk9UIExJTUlURUQgVE8gVEhFIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZLFxuLy8gRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQU5EIE5PTklORlJJTkdFTUVOVC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFXG4vLyBBVVRIT1JTIE9SIENPUFlSSUdIVCBIT0xERVJTIEJFIExJQUJMRSBGT1IgQU5ZIENMQUlNLCBEQU1BR0VTIE9SIE9USEVSXG4vLyBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQU4gQUNUSU9OIE9GIENPTlRSQUNULCBUT1JUIE9SIE9USEVSV0lTRSwgQVJJU0lORyBGUk9NLFxuLy8gT1VUIE9GIE9SIElOIENPTk5FQ1RJT04gV0lUSCBUSEUgU09GVFdBUkUgT1IgVEhFIFVTRSBPUiBPVEhFUiBERUFMSU5HUyBJTlxuLy8gVEhFIFNPRlRXQVJFLlxuLy9cblxuQHVzZSBcIkBtYXRlcmlhbC9hbmltYXRpb24vdmFyaWFibGVzXCIgYXMgYW5pbWF0aW9uLXZhcmlhYmxlcztcbkB1c2UgXCJAbWF0ZXJpYWwvdGhlbWUvbWl4aW5zXCI7XG5AdXNlIFwiLi92YXJpYWJsZXNcIjtcblxuQG1peGluIGNvbnRhaW5lci1rZXlmcmFtZXNfKFxuICAkZnJvbS1zdHJva2UtY29sb3IsXG4gICR0by1zdHJva2UtY29sb3IsXG4gICRmcm9tLWZpbGwtY29sb3IsXG4gICR0by1maWxsLWNvbG9yLFxuICAkdWlkKSB7XG4gIEBrZXlmcmFtZXMgbWRjLWNoZWNrYm94LWZhZGUtaW4tYmFja2dyb3VuZC0jeyR1aWR9IHtcbiAgICAwJSB7XG4gICAgICBAaW5jbHVkZSBtaXhpbnMucHJvcChib3JkZXItY29sb3IsICRmcm9tLXN0cm9rZS1jb2xvcik7XG4gICAgICBAaW5jbHVkZSBtaXhpbnMucHJvcChiYWNrZ3JvdW5kLWNvbG9yLCAkZnJvbS1maWxsLWNvbG9yKTtcbiAgICB9XG5cbiAgICA1MCUge1xuICAgICAgQGluY2x1ZGUgbWl4aW5zLnByb3AoYm9yZGVyLWNvbG9yLCAkdG8tc3Ryb2tlLWNvbG9yKTtcbiAgICAgIEBpbmNsdWRlIG1peGlucy5wcm9wKGJhY2tncm91bmQtY29sb3IsICR0by1maWxsLWNvbG9yKTtcbiAgICB9XG4gIH1cblxuICBAa2V5ZnJhbWVzIG1kYy1jaGVja2JveC1mYWRlLW91dC1iYWNrZ3JvdW5kLSN7JHVpZH0ge1xuICAgIDAlLFxuICAgIDgwJSB7XG4gICAgICBAaW5jbHVkZSBtaXhpbnMucHJvcChib3JkZXItY29sb3IsICR0by1zdHJva2UtY29sb3IpO1xuICAgICAgQGluY2x1ZGUgbWl4aW5zLnByb3AoYmFja2dyb3VuZC1jb2xvciwgJHRvLWZpbGwtY29sb3IpO1xuICAgIH1cblxuICAgIDEwMCUge1xuICAgICAgQGluY2x1ZGUgbWl4aW5zLnByb3AoYm9yZGVyLWNvbG9yLCAkZnJvbS1zdHJva2UtY29sb3IpO1xuICAgICAgQGluY2x1ZGUgbWl4aW5zLnByb3AoYmFja2dyb3VuZC1jb2xvciwgJGZyb20tZmlsbC1jb2xvcik7XG4gICAgfVxuICB9XG59XG5cbkBtaXhpbiBtYXJrLWtleWZyYW1lc18ge1xuICBAa2V5ZnJhbWVzIG1kYy1jaGVja2JveC11bmNoZWNrZWQtY2hlY2tlZC1jaGVja21hcmstcGF0aCB7XG4gICAgMCUsXG4gICAgNTAlIHtcbiAgICAgIHN0cm9rZS1kYXNob2Zmc2V0OiB2YXJpYWJsZXMuJG1hcmstcGF0aC1sZW5ndGhfO1xuICAgIH1cblxuICAgIDUwJSB7XG4gICAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBhbmltYXRpb24tdmFyaWFibGVzLiRkZWNlbGVyYXRpb24tY3VydmUtdGltaW5nLWZ1bmN0aW9uO1xuICAgIH1cblxuICAgIDEwMCUge1xuICAgICAgc3Ryb2tlLWRhc2hvZmZzZXQ6IDA7XG4gICAgfVxuICB9XG5cbiAgQGtleWZyYW1lcyBtZGMtY2hlY2tib3gtdW5jaGVja2VkLWluZGV0ZXJtaW5hdGUtbWl4ZWRtYXJrIHtcbiAgICAwJSxcbiAgICA2OC4yJSB7XG4gICAgICB0cmFuc2Zvcm06IHNjYWxlWCgwKTtcbiAgICB9XG5cbiAgICA2OC4yJSB7XG4gICAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMCwgMCwgMCwgMSk7XG4gICAgfVxuXG4gICAgMTAwJSB7XG4gICAgICB0cmFuc2Zvcm06IHNjYWxlWCgxKTtcbiAgICB9XG4gIH1cblxuICBAa2V5ZnJhbWVzIG1kYy1jaGVja2JveC1jaGVja2VkLXVuY2hlY2tlZC1jaGVja21hcmstcGF0aCB7XG4gICAgZnJvbSB7XG4gICAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBhbmltYXRpb24tdmFyaWFibGVzLiRhY2NlbGVyYXRpb24tY3VydmUtdGltaW5nLWZ1bmN0aW9uO1xuICAgICAgb3BhY2l0eTogMTtcbiAgICAgIHN0cm9rZS1kYXNob2Zmc2V0OiAwO1xuICAgIH1cblxuICAgIHRvIHtcbiAgICAgIG9wYWNpdHk6IDA7XG4gICAgICBzdHJva2UtZGFzaG9mZnNldDogdmFyaWFibGVzLiRtYXJrLXBhdGgtbGVuZ3RoXyAqIC0xO1xuICAgIH1cbiAgfVxuXG4gIEBrZXlmcmFtZXMgbWRjLWNoZWNrYm94LWNoZWNrZWQtaW5kZXRlcm1pbmF0ZS1jaGVja21hcmsge1xuICAgIGZyb20ge1xuICAgICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogYW5pbWF0aW9uLXZhcmlhYmxlcy4kZGVjZWxlcmF0aW9uLWN1cnZlLXRpbWluZy1mdW5jdGlvbjtcbiAgICAgIHRyYW5zZm9ybTogcm90YXRlKDBkZWcpO1xuICAgICAgb3BhY2l0eTogMTtcbiAgICB9XG5cbiAgICB0byB7XG4gICAgICB0cmFuc2Zvcm06IHJvdGF0ZSg0NWRlZyk7XG4gICAgICBvcGFjaXR5OiAwO1xuICAgIH1cbiAgfVxuXG4gIEBrZXlmcmFtZXMgbWRjLWNoZWNrYm94LWluZGV0ZXJtaW5hdGUtY2hlY2tlZC1jaGVja21hcmsge1xuICAgIGZyb20ge1xuICAgICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogdmFyaWFibGVzLiRpbmRldGVybWluYXRlLWNoZWNrZWQtZWFzaW5nLWZ1bmN0aW9uXztcbiAgICAgIHRyYW5zZm9ybTogcm90YXRlKDQ1ZGVnKTtcbiAgICAgIG9wYWNpdHk6IDA7XG4gICAgfVxuXG4gICAgdG8ge1xuICAgICAgdHJhbnNmb3JtOiByb3RhdGUoMzYwZGVnKTtcbiAgICAgIG9wYWNpdHk6IDE7XG4gICAgfVxuICB9XG5cbiAgQGtleWZyYW1lcyBtZGMtY2hlY2tib3gtY2hlY2tlZC1pbmRldGVybWluYXRlLW1peGVkbWFyayB7XG4gICAgZnJvbSB7XG4gICAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBtZGMtYW5pbWF0aW9uLWRlY2VsZXJhdGlvbi1jdXJ2ZS10aW1pbmctZnVuY3Rpb247XG4gICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgtNDVkZWcpO1xuICAgICAgb3BhY2l0eTogMDtcbiAgICB9XG5cbiAgICB0byB7XG4gICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgwZGVnKTtcbiAgICAgIG9wYWNpdHk6IDE7XG4gICAgfVxuICB9XG5cbiAgQGtleWZyYW1lcyBtZGMtY2hlY2tib3gtaW5kZXRlcm1pbmF0ZS1jaGVja2VkLW1peGVkbWFyayB7XG4gICAgZnJvbSB7XG4gICAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiB2YXJpYWJsZXMuJGluZGV0ZXJtaW5hdGUtY2hlY2tlZC1lYXNpbmctZnVuY3Rpb25fO1xuICAgICAgdHJhbnNmb3JtOiByb3RhdGUoMGRlZyk7XG4gICAgICBvcGFjaXR5OiAxO1xuICAgIH1cblxuICAgIHRvIHtcbiAgICAgIHRyYW5zZm9ybTogcm90YXRlKDMxNWRlZyk7XG4gICAgICBvcGFjaXR5OiAwO1xuICAgIH1cbiAgfVxuXG4gIEBrZXlmcmFtZXMgbWRjLWNoZWNrYm94LWluZGV0ZXJtaW5hdGUtdW5jaGVja2VkLW1peGVkbWFyayB7XG4gICAgMCUge1xuICAgICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogbGluZWFyO1xuICAgICAgdHJhbnNmb3JtOiBzY2FsZVgoMSk7XG4gICAgICBvcGFjaXR5OiAxO1xuICAgIH1cblxuICAgIDMyLjglLFxuICAgIDEwMCUge1xuICAgICAgdHJhbnNmb3JtOiBzY2FsZVgoMCk7XG4gICAgICBvcGFjaXR5OiAwO1xuICAgIH1cbiAgfVxufVxuIiwiLy9cbi8vIENvcHlyaWdodCAyMDE3IEdvb2dsZSBJbmMuXG4vL1xuLy8gUGVybWlzc2lvbiBpcyBoZXJlYnkgZ3JhbnRlZCwgZnJlZSBvZiBjaGFyZ2UsIHRvIGFueSBwZXJzb24gb2J0YWluaW5nIGEgY29weVxuLy8gb2YgdGhpcyBzb2Z0d2FyZSBhbmQgYXNzb2NpYXRlZCBkb2N1bWVudGF0aW9uIGZpbGVzICh0aGUgXCJTb2Z0d2FyZVwiKSwgdG8gZGVhbFxuLy8gaW4gdGhlIFNvZnR3YXJlIHdpdGhvdXQgcmVzdHJpY3Rpb24sIGluY2x1ZGluZyB3aXRob3V0IGxpbWl0YXRpb24gdGhlIHJpZ2h0c1xuLy8gdG8gdXNlLCBjb3B5LCBtb2RpZnksIG1lcmdlLCBwdWJsaXNoLCBkaXN0cmlidXRlLCBzdWJsaWNlbnNlLCBhbmQvb3Igc2VsbFxuLy8gY29waWVzIG9mIHRoZSBTb2Z0d2FyZSwgYW5kIHRvIHBlcm1pdCBwZXJzb25zIHRvIHdob20gdGhlIFNvZnR3YXJlIGlzXG4vLyBmdXJuaXNoZWQgdG8gZG8gc28sIHN1YmplY3QgdG8gdGhlIGZvbGxvd2luZyBjb25kaXRpb25zOlxuLy9cbi8vIFRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlIGFuZCB0aGlzIHBlcm1pc3Npb24gbm90aWNlIHNoYWxsIGJlIGluY2x1ZGVkIGluXG4vLyBhbGwgY29waWVzIG9yIHN1YnN0YW50aWFsIHBvcnRpb25zIG9mIHRoZSBTb2Z0d2FyZS5cbi8vXG4vLyBUSEUgU09GVFdBUkUgSVMgUFJPVklERUQgXCJBUyBJU1wiLCBXSVRIT1VUIFdBUlJBTlRZIE9GIEFOWSBLSU5ELCBFWFBSRVNTIE9SXG4vLyBJTVBMSUVELCBJTkNMVURJTkcgQlVUIE5PVCBMSU1JVEVEIFRPIFRIRSBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSxcbi8vIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFORCBOT05JTkZSSU5HRU1FTlQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRVxuLy8gQVVUSE9SUyBPUiBDT1BZUklHSFQgSE9MREVSUyBCRSBMSUFCTEUgRk9SIEFOWSBDTEFJTSwgREFNQUdFUyBPUiBPVEhFUlxuLy8gTElBQklMSVRZLCBXSEVUSEVSIElOIEFOIEFDVElPTiBPRiBDT05UUkFDVCwgVE9SVCBPUiBPVEhFUldJU0UsIEFSSVNJTkcgRlJPTSxcbi8vIE9VVCBPRiBPUiBJTiBDT05ORUNUSU9OIFdJVEggVEhFIFNPRlRXQVJFIE9SIFRIRSBVU0UgT1IgT1RIRVIgREVBTElOR1MgSU5cbi8vIFRIRSBTT0ZUV0FSRS5cbi8vXG5cbkB1c2UgXCJzYXNzOm1hcFwiO1xuQHVzZSBcIkBtYXRlcmlhbC9yaXBwbGUvdmFyaWFibGVzXCIgYXMgcmlwcGxlLXZhcmlhYmxlcztcbkB1c2UgXCJAbWF0ZXJpYWwvdGhlbWUvdmFyaWFibGVzXCIgYXMgdGhlbWUtdmFyaWFibGVzO1xuQHVzZSBcIkBtYXRlcmlhbC9kZW5zaXR5L3ZhcmlhYmxlc1wiIGFzIGRlbnNpdHktdmFyaWFibGVzO1xuXG4kYmFzZWxpbmUtdGhlbWUtY29sb3I6IHNlY29uZGFyeSAhZGVmYXVsdDtcbiRtYXJrLWNvbG9yOiB0aGVtZS12YXJpYWJsZXMucHJvcC12YWx1ZShvbi1zZWNvbmRhcnkpICFkZWZhdWx0O1xuJGJvcmRlci1jb2xvcjogcmdiYSh0aGVtZS12YXJpYWJsZXMucHJvcC12YWx1ZShvbi1zdXJmYWNlKSwgLjU0KSAhZGVmYXVsdDtcbiRkaXNhYmxlZC1jb2xvcjogcmdiYSh0aGVtZS12YXJpYWJsZXMucHJvcC12YWx1ZShvbi1zdXJmYWNlKSwgLjM4KSAhZGVmYXVsdDtcblxuJHJpcHBsZS1zaXplOiA0MHB4ICFkZWZhdWx0O1xuJGljb24tc2l6ZTogMThweCAhZGVmYXVsdDtcbiRtYXJrLXN0cm9rZS1zaXplOiAyIC8gMTUgKiAkaWNvbi1zaXplICFkZWZhdWx0O1xuJGJvcmRlci13aWR0aDogMnB4ICFkZWZhdWx0O1xuJHRyYW5zaXRpb24tZHVyYXRpb246IDkwbXMgIWRlZmF1bHQ7XG4kaXRlbS1zcGFjaW5nOiA0cHggIWRlZmF1bHQ7XG4kZm9jdXMtaW5kaWNhdG9yLW9wYWNpdHk6IG1hcC5nZXQocmlwcGxlLXZhcmlhYmxlcy4kZGFyay1pbmstb3BhY2l0aWVzLCBmb2N1cykgIWRlZmF1bHQ7XG5cbiRtaW5pbXVtLXNpemU6IDI4cHggIWRlZmF1bHQ7XG4kbWF4aW11bS1zaXplOiAkcmlwcGxlLXNpemUgIWRlZmF1bHQ7XG4kZGVuc2l0eS1zY2FsZTogZGVuc2l0eS12YXJpYWJsZXMuJGRlZmF1bHQtc2NhbGUgIWRlZmF1bHQ7XG4kZGVuc2l0eS1jb25maWc6IChcbiAgc2l6ZTogKFxuICAgIG1pbmltdW06ICRtaW5pbXVtLXNpemUsXG4gICAgZGVmYXVsdDogJHJpcHBsZS1zaXplLFxuICAgIG1heGltdW06ICRtYXhpbXVtLXNpemUsXG4gICksXG4pICFkZWZhdWx0O1xuXG4vLyBNYW51YWwgY2FsY3VsYXRpb24gZG9uZSBvbiBTVkdcbiRtYXJrLXBhdGgtbGVuZ3RoXzogMjkuNzgzMzM4NSAhZGVmYXVsdDtcbiRpbmRldGVybWluYXRlLWNoZWNrZWQtZWFzaW5nLWZ1bmN0aW9uXzogY3ViaWMtYmV6aWVyKC4xNCwgMCwgMCwgMSkgIWRlZmF1bHQ7XG4iLCIvL1xuLy8gQ29weXJpZ2h0IDIwMTcgR29vZ2xlIEluYy5cbi8vXG4vLyBQZXJtaXNzaW9uIGlzIGhlcmVieSBncmFudGVkLCBmcmVlIG9mIGNoYXJnZSwgdG8gYW55IHBlcnNvbiBvYnRhaW5pbmcgYSBjb3B5XG4vLyBvZiB0aGlzIHNvZnR3YXJlIGFuZCBhc3NvY2lhdGVkIGRvY3VtZW50YXRpb24gZmlsZXMgKHRoZSBcIlNvZnR3YXJlXCIpLCB0byBkZWFsXG4vLyBpbiB0aGUgU29mdHdhcmUgd2l0aG91dCByZXN0cmljdGlvbiwgaW5jbHVkaW5nIHdpdGhvdXQgbGltaXRhdGlvbiB0aGUgcmlnaHRzXG4vLyB0byB1c2UsIGNvcHksIG1vZGlmeSwgbWVyZ2UsIHB1Ymxpc2gsIGRpc3RyaWJ1dGUsIHN1YmxpY2Vuc2UsIGFuZC9vciBzZWxsXG4vLyBjb3BpZXMgb2YgdGhlIFNvZnR3YXJlLCBhbmQgdG8gcGVybWl0IHBlcnNvbnMgdG8gd2hvbSB0aGUgU29mdHdhcmUgaXNcbi8vIGZ1cm5pc2hlZCB0byBkbyBzbywgc3ViamVjdCB0byB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnM6XG4vL1xuLy8gVGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UgYW5kIHRoaXMgcGVybWlzc2lvbiBub3RpY2Ugc2hhbGwgYmUgaW5jbHVkZWQgaW5cbi8vIGFsbCBjb3BpZXMgb3Igc3Vic3RhbnRpYWwgcG9ydGlvbnMgb2YgdGhlIFNvZnR3YXJlLlxuLy9cbi8vIFRIRSBTT0ZUV0FSRSBJUyBQUk9WSURFRCBcIkFTIElTXCIsIFdJVEhPVVQgV0FSUkFOVFkgT0YgQU5ZIEtJTkQsIEVYUFJFU1MgT1Jcbi8vIElNUExJRUQsIElOQ0xVRElORyBCVVQgTk9UIExJTUlURUQgVE8gVEhFIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZLFxuLy8gRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQU5EIE5PTklORlJJTkdFTUVOVC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFXG4vLyBBVVRIT1JTIE9SIENPUFlSSUdIVCBIT0xERVJTIEJFIExJQUJMRSBGT1IgQU5ZIENMQUlNLCBEQU1BR0VTIE9SIE9USEVSXG4vLyBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQU4gQUNUSU9OIE9GIENPTlRSQUNULCBUT1JUIE9SIE9USEVSV0lTRSwgQVJJU0lORyBGUk9NLFxuLy8gT1VUIE9GIE9SIElOIENPTk5FQ1RJT04gV0lUSCBUSEUgU09GVFdBUkUgT1IgVEhFIFVTRSBPUiBPVEhFUiBERUFMSU5HUyBJTlxuLy8gVEhFIFNPRlRXQVJFLlxuLy9cblxuJGRlY2VsZXJhdGlvbi1jdXJ2ZS10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLCAwLCAuMiwgMSkgIWRlZmF1bHQ7XG4kc3RhbmRhcmQtY3VydmUtdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoLjQsIDAsIC4yLCAxKSAhZGVmYXVsdDtcbiRhY2NlbGVyYXRpb24tY3VydmUtdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoLjQsIDAsIDEsIDEpICFkZWZhdWx0O1xuJHNoYXJwLWN1cnZlLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKC40LCAwLCAuNiwgMSkgIWRlZmF1bHQ7XG4iLCIvL1xuLy8gQ29weXJpZ2h0IDIwMTYgR29vZ2xlIEluYy5cbi8vXG4vLyBQZXJtaXNzaW9uIGlzIGhlcmVieSBncmFudGVkLCBmcmVlIG9mIGNoYXJnZSwgdG8gYW55IHBlcnNvbiBvYnRhaW5pbmcgYSBjb3B5XG4vLyBvZiB0aGlzIHNvZnR3YXJlIGFuZCBhc3NvY2lhdGVkIGRvY3VtZW50YXRpb24gZmlsZXMgKHRoZSBcIlNvZnR3YXJlXCIpLCB0byBkZWFsXG4vLyBpbiB0aGUgU29mdHdhcmUgd2l0aG91dCByZXN0cmljdGlvbiwgaW5jbHVkaW5nIHdpdGhvdXQgbGltaXRhdGlvbiB0aGUgcmlnaHRzXG4vLyB0byB1c2UsIGNvcHksIG1vZGlmeSwgbWVyZ2UsIHB1Ymxpc2gsIGRpc3RyaWJ1dGUsIHN1YmxpY2Vuc2UsIGFuZC9vciBzZWxsXG4vLyBjb3BpZXMgb2YgdGhlIFNvZnR3YXJlLCBhbmQgdG8gcGVybWl0IHBlcnNvbnMgdG8gd2hvbSB0aGUgU29mdHdhcmUgaXNcbi8vIGZ1cm5pc2hlZCB0byBkbyBzbywgc3ViamVjdCB0byB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnM6XG4vL1xuLy8gVGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UgYW5kIHRoaXMgcGVybWlzc2lvbiBub3RpY2Ugc2hhbGwgYmUgaW5jbHVkZWQgaW5cbi8vIGFsbCBjb3BpZXMgb3Igc3Vic3RhbnRpYWwgcG9ydGlvbnMgb2YgdGhlIFNvZnR3YXJlLlxuLy9cbi8vIFRIRSBTT0ZUV0FSRSBJUyBQUk9WSURFRCBcIkFTIElTXCIsIFdJVEhPVVQgV0FSUkFOVFkgT0YgQU5ZIEtJTkQsIEVYUFJFU1MgT1Jcbi8vIElNUExJRUQsIElOQ0xVRElORyBCVVQgTk9UIExJTUlURUQgVE8gVEhFIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZLFxuLy8gRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQU5EIE5PTklORlJJTkdFTUVOVC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFXG4vLyBBVVRIT1JTIE9SIENPUFlSSUdIVCBIT0xERVJTIEJFIExJQUJMRSBGT1IgQU5ZIENMQUlNLCBEQU1BR0VTIE9SIE9USEVSXG4vLyBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQU4gQUNUSU9OIE9GIENPTlRSQUNULCBUT1JUIE9SIE9USEVSV0lTRSwgQVJJU0lORyBGUk9NLFxuLy8gT1VUIE9GIE9SIElOIENPTk5FQ1RJT04gV0lUSCBUSEUgU09GVFdBUkUgT1IgVEhFIFVTRSBPUiBPVEhFUiBERUFMSU5HUyBJTlxuLy8gVEhFIFNPRlRXQVJFLlxuLy9cblxuQHVzZSBcInNhc3M6bWF0aFwiO1xuQHVzZSBcIkBtYXRlcmlhbC9hbmltYXRpb24vZnVuY3Rpb25zXCIgYXMgZnVuY3Rpb25zMjtcbkB1c2UgXCJAbWF0ZXJpYWwvZGVuc2l0eS9mdW5jdGlvbnNcIiBhcyBkZW5zaXR5LWZ1bmN0aW9ucztcbkB1c2UgXCJAbWF0ZXJpYWwvZmVhdHVyZS10YXJnZXRpbmcvZnVuY3Rpb25zXCIgYXMgZmVhdHVyZS10YXJnZXRpbmctZnVuY3Rpb25zO1xuQHVzZSBcIkBtYXRlcmlhbC9mZWF0dXJlLXRhcmdldGluZy9taXhpbnNcIiBhcyBmZWF0dXJlLXRhcmdldGluZy1taXhpbnM7XG5AdXNlIFwiQG1hdGVyaWFsL3JpcHBsZS9taXhpbnNcIiBhcyByaXBwbGUtbWl4aW5zO1xuQHVzZSBcIkBtYXRlcmlhbC90b3VjaC10YXJnZXQvbWl4aW5zXCIgYXMgdG91Y2gtdGFyZ2V0LW1peGlucztcbkB1c2UgXCJAbWF0ZXJpYWwvdGhlbWUvZnVuY3Rpb25zXCIgYXMgdGhlbWUtZnVuY3Rpb25zO1xuQHVzZSBcIi4vZnVuY3Rpb25zXCI7XG5AdXNlIFwiLi9rZXlmcmFtZXNcIjtcbkB1c2UgXCIuL3ZhcmlhYmxlc1wiO1xuQHVzZSBcIkBtYXRlcmlhbC90aGVtZS9taXhpbnNcIiBhcyB0aGVtZS1taXhpbnM7XG5AdXNlIFwiQG1hdGVyaWFsL3RvdWNoLXRhcmdldC92YXJpYWJsZXNcIiBhcyB0b3VjaC10YXJnZXQtdmFyaWFibGVzO1xuXG4vL1xuLy8gUHVibGljXG4vL1xuXG4kcmlwcGxlLXRhcmdldDogXCIubWRjLWNoZWNrYm94X19yaXBwbGVcIjtcblxuLy8vXG4vLy8gQ2hlY2tib3ggY29yZSBzdHlsZXMuXG4vLy9cbkBtaXhpbiBjb3JlLXN0eWxlcygkcXVlcnk6IGZlYXR1cmUtdGFyZ2V0aW5nLWZ1bmN0aW9ucy5hbGwoKSkge1xuICBAaW5jbHVkZSB3aXRob3V0LXJpcHBsZSgkcXVlcnkpO1xuICBAaW5jbHVkZSByaXBwbGUoJHF1ZXJ5KTtcbn1cblxuLy8gVGhpcyBBUEkgaXMgaW50ZW5kZWQgZm9yIHVzZSBieSBmcmFtZXdvcmtzIHRoYXQgbWF5IHdhbnQgdG8gc2VwYXJhdGUgdGhlIHJpcHBsZS1yZWxhdGVkIHN0eWxlcyBmcm9tIHRoZSBvdGhlclxuLy8gY2hlY2tib3ggc3R5bGVzLiBJdCBpcyByZWNvbW1lbmRlZCB0aGF0IG1vc3QgdXNlcnMgdXNlIGBtZGMtY2hlY2tib3gtY29yZS1zdHlsZXNgIGluc3RlYWQuXG5AbWl4aW4gd2l0aG91dC1yaXBwbGUoJHF1ZXJ5OiBmZWF0dXJlLXRhcmdldGluZy1mdW5jdGlvbnMuYWxsKCkpIHtcbiAgLy8gcG9zdGNzcy1iZW0tbGludGVyOiBkZWZpbmUgY2hlY2tib3hcblxuICAkZmVhdC1hbmltYXRpb246IGZlYXR1cmUtdGFyZ2V0aW5nLWZ1bmN0aW9ucy5jcmVhdGUtdGFyZ2V0KCRxdWVyeSwgYW5pbWF0aW9uKTtcbiAgJGZlYXQtY29sb3I6IGZlYXR1cmUtdGFyZ2V0aW5nLWZ1bmN0aW9ucy5jcmVhdGUtdGFyZ2V0KCRxdWVyeSwgY29sb3IpO1xuICAkZmVhdC1zdHJ1Y3R1cmU6IGZlYXR1cmUtdGFyZ2V0aW5nLWZ1bmN0aW9ucy5jcmVhdGUtdGFyZ2V0KCRxdWVyeSwgc3RydWN0dXJlKTtcblxuICBAaW5jbHVkZSB0b3VjaC10YXJnZXQtbWl4aW5zLndyYXBwZXIoJHF1ZXJ5KTsgLy8gQ09QWUJBUkFfQ09NTUVOVF9USElTX0xJTkVcblxuICBAaW5jbHVkZSBmZWF0dXJlLXRhcmdldGluZy1taXhpbnMudGFyZ2V0cygkZmVhdC1hbmltYXRpb24pIHtcbiAgICBAaW5jbHVkZSBrZXlmcmFtZXMubWFyay1rZXlmcmFtZXNfO1xuICB9XG5cbiAgLm1kYy1jaGVja2JveCB7XG4gICAgQGluY2x1ZGUgZmVhdHVyZS10YXJnZXRpbmctbWl4aW5zLnRhcmdldHMoJGZlYXQtc3RydWN0dXJlKSB7XG4gICAgICBAaW5jbHVkZSBiYXNlXztcbiAgICB9XG5cbiAgICBAaW5jbHVkZSBmb2N1cy1pbmRpY2F0b3ItY29sb3IodmFyaWFibGVzLiRiYXNlbGluZS10aGVtZS1jb2xvciwgJHF1ZXJ5OiAkcXVlcnkpO1xuICAgIEBpbmNsdWRlIGRlbnNpdHkodmFyaWFibGVzLiRkZW5zaXR5LXNjYWxlLCAkcXVlcnk6ICRxdWVyeSk7XG4gIH1cblxuICBAaW5jbHVkZSBjb250YWluZXItY29sb3JzKCRxdWVyeTogJHF1ZXJ5KTtcbiAgQGluY2x1ZGUgZGlzYWJsZWQtY29udGFpbmVyLWNvbG9ycygkcXVlcnk6ICRxdWVyeSk7XG4gIEBpbmNsdWRlIGluay1jb2xvcih2YXJpYWJsZXMuJG1hcmstY29sb3IsICRxdWVyeTogJHF1ZXJ5KTtcbiAgQGluY2x1ZGUgZGlzYWJsZWQtaW5rLWNvbG9yKHZhcmlhYmxlcy4kbWFyay1jb2xvciwgJHF1ZXJ5OiAkcXVlcnkpO1xuXG4gIEBtZWRpYSBzY3JlZW4gYW5kICgtbXMtaGlnaC1jb250cmFzdDogYWN0aXZlKSB7XG4gICAgQGluY2x1ZGUgZGlzYWJsZWQtY29udGFpbmVyLWNvbG9ycyhcbiAgICAgICR1bm1hcmtlZC1zdHJva2UtY29sb3I6IEdyYXlUZXh0LFxuICAgICAgJHVubWFya2VkLWZpbGwtY29sb3I6IHRyYW5zcGFyZW50LFxuICAgICAgJG1hcmtlZC1zdHJva2UtY29sb3I6IEdyYXlUZXh0LFxuICAgICAgJG1hcmtlZC1maWxsLWNvbG9yOiB0cmFuc3BhcmVudCxcbiAgICAgICRxdWVyeTogJHF1ZXJ5XG4gICAgKTtcbiAgICBAaW5jbHVkZSBkaXNhYmxlZC1pbmstY29sb3IoR3JheVRleHQsICRxdWVyeTogJHF1ZXJ5KTtcblxuICAgIC5tZGMtY2hlY2tib3hfX21peGVkbWFyayB7XG4gICAgICBAaW5jbHVkZSBmZWF0dXJlLXRhcmdldGluZy1taXhpbnMudGFyZ2V0cygkZmVhdC1zdHJ1Y3R1cmUpIHtcbiAgICAgICAgbWFyZ2luOiAwIDFweDsgLy8gRXh0cmEgaG9yaXpvbnRhbCBzcGFjZSBhcm91bmQgbWl4ZWRtYXJrIHN5bWJvbC5cbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAvLyBOZWVkZWQgdG8gZGlzYWJsZSBob3ZlciBlZmZlY3RzIG9uIENTUy1vbmx5IChub24tSlMpIGNoZWNrYm94ZXNcbiAgLm1kYy1jaGVja2JveC0tZGlzYWJsZWQge1xuICAgIEBpbmNsdWRlIGZlYXR1cmUtdGFyZ2V0aW5nLW1peGlucy50YXJnZXRzKCRmZWF0LXN0cnVjdHVyZSkge1xuICAgICAgQGluY2x1ZGUgZGlzYWJsZWRfO1xuICAgIH1cbiAgfVxuXG4gIC5tZGMtY2hlY2tib3hfX2JhY2tncm91bmQge1xuICAgIEBpbmNsdWRlIGJhY2tncm91bmRfKCRxdWVyeSk7XG4gIH1cblxuICAubWRjLWNoZWNrYm94X19jaGVja21hcmsge1xuICAgIEBpbmNsdWRlIGNoZWNrbWFya18oJHF1ZXJ5KTtcbiAgfVxuXG4gIC5tZGMtY2hlY2tib3hfX2NoZWNrbWFyay1wYXRoIHtcbiAgICBAaW5jbHVkZSBjaGVja21hcmstcGF0aF8oJHF1ZXJ5KTtcbiAgfVxuXG4gIC5tZGMtY2hlY2tib3hfX21peGVkbWFyayB7XG4gICAgQGluY2x1ZGUgbWl4ZWRtYXJrXygkcXVlcnkpO1xuICB9XG5cbiAgLy8gSlMgY2hlY2tib3hcbiAgLm1kYy1jaGVja2JveC0tdXBncmFkZWQge1xuICAgIC5tZGMtY2hlY2tib3hfX2JhY2tncm91bmQsXG4gICAgLm1kYy1jaGVja2JveF9fY2hlY2ttYXJrLFxuICAgIC5tZGMtY2hlY2tib3hfX2NoZWNrbWFyay1wYXRoLFxuICAgIC5tZGMtY2hlY2tib3hfX21peGVkbWFyayB7XG4gICAgICBAaW5jbHVkZSBmZWF0dXJlLXRhcmdldGluZy1taXhpbnMudGFyZ2V0cygkZmVhdC1hbmltYXRpb24pIHtcbiAgICAgICAgQGluY2x1ZGUgY2hpbGQtLXVwZ3JhZGVkXztcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAubWRjLWNoZWNrYm94LS1hbmltIHtcbiAgICBAaW5jbHVkZSBmZWF0dXJlLXRhcmdldGluZy1taXhpbnMudGFyZ2V0cygkZmVhdC1hbmltYXRpb24pIHtcbiAgICAgIEBpbmNsdWRlIGFuaW1fO1xuICAgIH1cbiAgfVxuXG4gIC5tZGMtY2hlY2tib3hfX25hdGl2ZS1jb250cm9sOmNoZWNrZWQgfiAubWRjLWNoZWNrYm94X19iYWNrZ3JvdW5kLFxuICAubWRjLWNoZWNrYm94X19uYXRpdmUtY29udHJvbDppbmRldGVybWluYXRlIH4gLm1kYy1jaGVja2JveF9fYmFja2dyb3VuZCxcbiAgLm1kYy1jaGVja2JveF9fbmF0aXZlLWNvbnRyb2xbZGF0YS1pbmRldGVybWluYXRlPVwidHJ1ZVwiXSB+IC5tZGMtY2hlY2tib3hfX2JhY2tncm91bmQge1xuICAgIEBpbmNsdWRlIGZlYXR1cmUtdGFyZ2V0aW5nLW1peGlucy50YXJnZXRzKCRmZWF0LWFuaW1hdGlvbikge1xuICAgICAgQGluY2x1ZGUgYmFja2dyb3VuZC0tbWFya2VkXztcbiAgICB9XG5cbiAgICAubWRjLWNoZWNrYm94X19jaGVja21hcmstcGF0aCB7XG4gICAgICBAaW5jbHVkZSBmZWF0dXJlLXRhcmdldGluZy1taXhpbnMudGFyZ2V0cygkZmVhdC1zdHJ1Y3R1cmUpIHtcbiAgICAgICAgQGluY2x1ZGUgY2hlY2ttYXJrLXBhdGgtLW1hcmtlZF87XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLy8gVGhlIGZyYW1lJ3MgOjpiZWZvcmUgZWxlbWVudCBpcyB1c2VkIGFzIGEgZm9jdXMgaW5kaWNhdG9yIGZvciB0aGUgY2hlY2tib3hcbiAgLm1kYy1jaGVja2JveF9fYmFja2dyb3VuZDo6YmVmb3JlIHtcbiAgICBAaW5jbHVkZSBmb2N1cy1pbmRpY2F0b3JfKCRxdWVyeSk7XG4gIH1cblxuICAubWRjLWNoZWNrYm94X19uYXRpdmUtY29udHJvbDpmb2N1cyB+IC5tZGMtY2hlY2tib3hfX2JhY2tncm91bmQ6OmJlZm9yZSB7XG4gICAgQGluY2x1ZGUgZm9jdXMtaW5kaWNhdG9yLS1mb2N1c2VkXygkcXVlcnkpO1xuICB9XG5cbiAgLm1kYy1jaGVja2JveF9fbmF0aXZlLWNvbnRyb2wge1xuICAgIEBpbmNsdWRlIGZlYXR1cmUtdGFyZ2V0aW5nLW1peGlucy50YXJnZXRzKCRmZWF0LXN0cnVjdHVyZSkge1xuICAgICAgQGluY2x1ZGUgbmF0aXZlLWNvbnRyb2xfO1xuICAgIH1cblxuICAgICY6ZGlzYWJsZWQge1xuICAgICAgQGluY2x1ZGUgZmVhdHVyZS10YXJnZXRpbmctbWl4aW5zLnRhcmdldHMoJGZlYXQtc3RydWN0dXJlKSB7XG4gICAgICAgIEBpbmNsdWRlIGRpc2FibGVkXztcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAubWRjLWNoZWNrYm94LS10b3VjaCB7XG4gICAgQGluY2x1ZGUgdG91Y2gtdGFyZ2V0LW1peGlucy5tYXJnaW4oXG4gICAgICAkY29tcG9uZW50LWhlaWdodDogdmFyaWFibGVzLiRyaXBwbGUtc2l6ZSxcbiAgICAgICRjb21wb25lbnQtd2lkdGg6IHZhcmlhYmxlcy4kcmlwcGxlLXNpemUsXG4gICAgICAkcXVlcnk6ICRxdWVyeSk7XG4gICAgQGluY2x1ZGUgdG91Y2gtdGFyZ2V0KHRvdWNoLXRhcmdldC12YXJpYWJsZXMuJGhlaWdodCwgJHF1ZXJ5OiAkcXVlcnkpO1xuICB9XG5cbiAgLm1kYy1jaGVja2JveF9fbmF0aXZlLWNvbnRyb2w6Y2hlY2tlZCB+IC5tZGMtY2hlY2tib3hfX2JhY2tncm91bmQge1xuICAgIC5tZGMtY2hlY2tib3hfX2NoZWNrbWFyayB7XG4gICAgICBAaW5jbHVkZSBjaGVja21hcmstLWNoZWNrZWRfKCRxdWVyeSk7XG4gICAgfVxuXG4gICAgLm1kYy1jaGVja2JveF9fbWl4ZWRtYXJrIHtcbiAgICAgIEBpbmNsdWRlIGZlYXR1cmUtdGFyZ2V0aW5nLW1peGlucy50YXJnZXRzKCRmZWF0LXN0cnVjdHVyZSkge1xuICAgICAgICBAaW5jbHVkZSBtaXhlZG1hcmstLWNoZWNrZWRfO1xuICAgICAgfVxuICAgIH1cbiAgfVxuICAubWRjLWNoZWNrYm94X19uYXRpdmUtY29udHJvbDppbmRldGVybWluYXRlIH4gLm1kYy1jaGVja2JveF9fYmFja2dyb3VuZCxcbiAgLm1kYy1jaGVja2JveF9fbmF0aXZlLWNvbnRyb2xbZGF0YS1pbmRldGVybWluYXRlPVwidHJ1ZVwiXSB+IC5tZGMtY2hlY2tib3hfX2JhY2tncm91bmQge1xuICAgIC5tZGMtY2hlY2tib3hfX2NoZWNrbWFyayB7XG4gICAgICBAaW5jbHVkZSBjaGVja21hcmstLWluZGV0ZXJtaW5hdGVfKCRxdWVyeSk7XG4gICAgfVxuXG4gICAgLm1kYy1jaGVja2JveF9fbWl4ZWRtYXJrIHtcbiAgICAgIEBpbmNsdWRlIGZlYXR1cmUtdGFyZ2V0aW5nLW1peGlucy50YXJnZXRzKCRmZWF0LXN0cnVjdHVyZSkge1xuICAgICAgICBAaW5jbHVkZSBtaXhlZG1hcmstLWluZGV0ZXJtaW5hdGVfO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC8vIHBvc3Rjc3MtYmVtLWxpbnRlcjogZW5kXG59XG5cbi8vIFRoaXMgQVBJIGlzIGludGVuZGVkIGZvciB1c2UgYnkgZnJhbWV3b3JrcyB0aGF0IG1heSB3YW50IHRvIHNlcGFyYXRlIHRoZSByaXBwbGUtcmVsYXRlZCBzdHlsZXMgZnJvbSB0aGUgb3RoZXJcbi8vIGNoZWNrYm94IHN0eWxlcy4gSXQgaXMgcmVjb21tZW5kZWQgdGhhdCBtb3N0IHVzZXJzIHVzZSBgbWRjLWNoZWNrYm94LWNvcmUtc3R5bGVzYCBpbnN0ZWFkLlxuQG1peGluIHJpcHBsZSgkcXVlcnk6IGZlYXR1cmUtdGFyZ2V0aW5nLWZ1bmN0aW9ucy5hbGwoKSkge1xuICAkZmVhdC1zdHJ1Y3R1cmU6IGZlYXR1cmUtdGFyZ2V0aW5nLWZ1bmN0aW9ucy5jcmVhdGUtdGFyZ2V0KCRxdWVyeSwgc3RydWN0dXJlKTtcblxuICBAaW5jbHVkZSByaXBwbGUtbWl4aW5zLmNvbW1vbigkcXVlcnkpOyAvLyBDT1BZQkFSQV9DT01NRU5UX1RISVNfTElORVxuXG4gIC5tZGMtY2hlY2tib3gge1xuICAgIEBpbmNsdWRlIHJpcHBsZS1taXhpbnMuc3VyZmFjZSgkcXVlcnk6ICRxdWVyeSwgJHJpcHBsZS10YXJnZXQ6ICRyaXBwbGUtdGFyZ2V0KTtcbiAgICBAaW5jbHVkZSByaXBwbGUtbWl4aW5zLnN0YXRlcygkY29sb3I6IG9uLXN1cmZhY2UsICRxdWVyeTogJHF1ZXJ5LCAkcmlwcGxlLXRhcmdldDogJHJpcHBsZS10YXJnZXQpO1xuICAgIEBpbmNsdWRlIHJpcHBsZS1taXhpbnMucmFkaXVzLXVuYm91bmRlZCgkcXVlcnk6ICRxdWVyeSwgJHJpcHBsZS10YXJnZXQ6ICRyaXBwbGUtdGFyZ2V0KTtcbiAgfVxuXG4gICN7JHJpcHBsZS10YXJnZXR9IHtcbiAgICBAaW5jbHVkZSByaXBwbGUtbWl4aW5zLnRhcmdldC1jb21tb24oJHF1ZXJ5OiAkcXVlcnkpO1xuICB9XG5cbiAgLm1kYy1yaXBwbGUtdXBncmFkZWQtLWJhY2tncm91bmQtZm9jdXNlZCAubWRjLWNoZWNrYm94X19iYWNrZ3JvdW5kOjpiZWZvcmUge1xuICAgIEBpbmNsdWRlIGZlYXR1cmUtdGFyZ2V0aW5nLW1peGlucy50YXJnZXRzKCRmZWF0LXN0cnVjdHVyZSkge1xuICAgICAgY29udGVudDogbm9uZTtcbiAgICB9XG4gIH1cbn1cblxuLy8vXG4vLy8gU2V0cyBkZW5zaXR5IHNjYWxlIGZvciBjaGVja2JveC5cbi8vL1xuLy8vIEBwYXJhbSB7TnVtYmVyIHwgU3RyaW5nfSAkZGVuc2l0eS1zY2FsZSAtIERlbnNpdHkgc2NhbGUgdmFsdWUgZm9yIGNvbXBvbmVudC4gU3VwcG9ydGVkIGRlbnNpdHkgc2NhbGUgdmFsdWVzXG4vLy8gICAgIGAtM2AsIGAtMmAsIGAtMWAsIGAwYC5cbi8vL1xuQG1peGluIGRlbnNpdHkoJGRlbnNpdHktc2NhbGUsICRxdWVyeTogZmVhdHVyZS10YXJnZXRpbmctZnVuY3Rpb25zLmFsbCgpKSB7XG4gICRzaXplOiBkZW5zaXR5LWZ1bmN0aW9ucy5wcm9wLXZhbHVlKFxuICAgICRkZW5zaXR5LWNvbmZpZzogdmFyaWFibGVzLiRkZW5zaXR5LWNvbmZpZyxcbiAgICAkZGVuc2l0eS1zY2FsZTogJGRlbnNpdHktc2NhbGUsXG4gICAgJHByb3BlcnR5LW5hbWU6IHNpemUsXG4gICk7XG5cbiAgQGluY2x1ZGUgcmlwcGxlLXNpemUoJHNpemUsICRxdWVyeTogJHF1ZXJ5KTtcblxuICBAaWYgJGRlbnNpdHktc2NhbGUgIT0gMCB7XG4gICAgQGluY2x1ZGUgdG91Y2gtdGFyZ2V0LXJlc2V0XygkcXVlcnk6ICRxdWVyeSk7XG4gIH1cbn1cblxuQG1peGluIHJpcHBsZS1zaXplKCRyaXBwbGUtc2l6ZSwgJHF1ZXJ5OiBmZWF0dXJlLXRhcmdldGluZy1mdW5jdGlvbnMuYWxsKCkpIHtcbiAgJGZlYXQtc3RydWN0dXJlOiBmZWF0dXJlLXRhcmdldGluZy1mdW5jdGlvbnMuY3JlYXRlLXRhcmdldCgkcXVlcnksIHN0cnVjdHVyZSk7XG4gICRjaGVja2JveC1wYWRkaW5nOiAoJHJpcHBsZS1zaXplIC0gdmFyaWFibGVzLiRpY29uLXNpemUpIC8gMjtcblxuICBAaW5jbHVkZSBmZWF0dXJlLXRhcmdldGluZy1taXhpbnMudGFyZ2V0cygkZmVhdC1zdHJ1Y3R1cmUpIHtcbiAgICBwYWRkaW5nOiAkY2hlY2tib3gtcGFkZGluZztcbiAgfVxuXG4gIC5tZGMtY2hlY2tib3hfX2JhY2tncm91bmQge1xuICAgIEBpbmNsdWRlIGZlYXR1cmUtdGFyZ2V0aW5nLW1peGlucy50YXJnZXRzKCRmZWF0LXN0cnVjdHVyZSkge1xuICAgICAgdG9wOiAkY2hlY2tib3gtcGFkZGluZztcbiAgICAgIGxlZnQ6ICRjaGVja2JveC1wYWRkaW5nO1xuICAgIH1cbiAgfVxuXG4gIC5tZGMtY2hlY2tib3hfX2JhY2tncm91bmQ6OmJlZm9yZSB7XG4gICAgQGluY2x1ZGUgZmVhdHVyZS10YXJnZXRpbmctbWl4aW5zLnRhcmdldHMoJGZlYXQtc3RydWN0dXJlKSB7XG4gICAgICB0b3A6IC0odmFyaWFibGVzLiRib3JkZXItd2lkdGgpIC0gJGNoZWNrYm94LXBhZGRpbmc7XG4gICAgICBsZWZ0OiAtKHZhcmlhYmxlcy4kYm9yZGVyLXdpZHRoKSAtICRjaGVja2JveC1wYWRkaW5nO1xuICAgICAgd2lkdGg6ICRyaXBwbGUtc2l6ZTtcbiAgICAgIGhlaWdodDogJHJpcHBsZS1zaXplO1xuICAgIH1cbiAgfVxuXG4gIEBpbmNsdWRlIHRvdWNoLXRhcmdldCgkcmlwcGxlLXNpemUsICRyaXBwbGUtc2l6ZTogJHJpcHBsZS1zaXplLCAkcXVlcnk6ICRxdWVyeSk7XG59XG5cbi8vL1xuLy8vIFNldHMgc3Ryb2tlICYgZmlsbCBjb2xvcnMgZm9yIGJvdGggbWFya2VkIGFuZCB1bm1hcmtlZCBzdGF0ZSBvZiBlbmFibGVkIGNoZWNrYm94LlxuLy8vIFNldCAkZ2VuZXJhdGUta2V5ZnJhbWVzIHRvIGZhbHNlIHRvIHByZXZlbnQgdGhlIG1peGluIGZyb20gZ2VuZXJhdGluZyBAa2V5ZnJhbWVzXG4vLy8gQHBhcmFtIHtDb2xvcn0gJHVubWFya2VkLXN0cm9rZS1jb2xvciAtIFRoZSBkZXNpcmVkIHN0cm9rZSBjb2xvciBmb3IgdGhlIHVubWFya2VkIHN0YXRlXG4vLy8gQHBhcmFtIHtDb2xvcn0gJHVubWFya2VkLWZpbGwtY29sb3IgLSBUaGUgZGVzaXJlZCBmaWxsIGNvbG9yIGZvciB0aGUgdW5tYXJrZWQgc3RhdGVcbi8vLyBAcGFyYW0ge0NvbG9yfSAkbWFya2VkLXN0cm9rZS1jb2xvciAtIFRoZSBkZXNpcmVkIHN0cm9rZSBjb2xvciBmb3IgdGhlIG1hcmtlZCBzdGF0ZVxuLy8vIEBwYXJhbSB7Q29sb3J9ICRtYXJrZWQtZmlsbC1jb2xvciAtIFRoZSBkZXNpcmVkIGZpbGwgY29sb3IgZm9yIHRoZSBtYXJrZWQgc3RhdGVcbi8vLyBAcGFyYW0ge0Jvb2xlYW59ICRnZW5lcmF0ZS1rZXlmcmFtZXMgW3RydWVdIC0gV2hldGhlciBhbmltYXRpb24ga2V5ZnJhbWVzIHNob3VsZCBiZSBnZW5lcmF0ZWRcbi8vL1xuQG1peGluIGNvbnRhaW5lci1jb2xvcnMoXG4gICR1bm1hcmtlZC1zdHJva2UtY29sb3I6IHZhcmlhYmxlcy4kYm9yZGVyLWNvbG9yLFxuICAkdW5tYXJrZWQtZmlsbC1jb2xvcjogdHJhbnNwYXJlbnQsXG4gICRtYXJrZWQtc3Ryb2tlLWNvbG9yOiB2YXJpYWJsZXMuJGJhc2VsaW5lLXRoZW1lLWNvbG9yLFxuICAkbWFya2VkLWZpbGwtY29sb3I6IHZhcmlhYmxlcy4kYmFzZWxpbmUtdGhlbWUtY29sb3IsXG4gICRnZW5lcmF0ZS1rZXlmcmFtZXM6IHRydWUsXG4gICRxdWVyeTogZmVhdHVyZS10YXJnZXRpbmctZnVuY3Rpb25zLmFsbCgpXG4pIHtcbiAgJGZlYXQtYW5pbWF0aW9uOiBmZWF0dXJlLXRhcmdldGluZy1mdW5jdGlvbnMuY3JlYXRlLXRhcmdldCgkcXVlcnksIGFuaW1hdGlvbik7XG4gICRmZWF0LWNvbG9yOiBmZWF0dXJlLXRhcmdldGluZy1mdW5jdGlvbnMuY3JlYXRlLXRhcmdldCgkcXVlcnksIGNvbG9yKTtcblxuICBAaW5jbHVkZSBpZi11bm1hcmtlZC1lbmFibGVkXyB7XG4gICAgQGluY2x1ZGUgY29udGFpbmVyLWNvbG9yc18oJHVubWFya2VkLXN0cm9rZS1jb2xvciwgJHVubWFya2VkLWZpbGwtY29sb3IsICRxdWVyeTogJHF1ZXJ5KTtcbiAgfVxuXG4gIEBpbmNsdWRlIGlmLW1hcmtlZC1lbmFibGVkXyB7XG4gICAgQGluY2x1ZGUgY29udGFpbmVyLWNvbG9yc18oJG1hcmtlZC1zdHJva2UtY29sb3IsICRtYXJrZWQtZmlsbC1jb2xvciwgJHF1ZXJ5OiAkcXVlcnkpO1xuICB9XG5cbiAgQGlmICRnZW5lcmF0ZS1rZXlmcmFtZXMge1xuICAgICR1aWQ6IHRoZW1lLWZ1bmN0aW9ucy5jb2xvci1oYXNoKCR1bm1hcmtlZC1zdHJva2UtY29sb3IpICtcbiAgICAgIHRoZW1lLWZ1bmN0aW9ucy5jb2xvci1oYXNoKCRtYXJrZWQtc3Ryb2tlLWNvbG9yKSArXG4gICAgICB0aGVtZS1mdW5jdGlvbnMuY29sb3ItaGFzaCgkdW5tYXJrZWQtZmlsbC1jb2xvcikgK1xuICAgICAgdGhlbWUtZnVuY3Rpb25zLmNvbG9yLWhhc2goJG1hcmtlZC1maWxsLWNvbG9yKTtcblxuICAgICRhbmltLXNlbGVjdG9yOiBpZigmLCBcIiYubWRjLWNoZWNrYm94LS1hbmltXCIsIFwiLm1kYy1jaGVja2JveC0tYW5pbVwiKTtcblxuICAgIEBpbmNsdWRlIGZlYXR1cmUtdGFyZ2V0aW5nLW1peGlucy50YXJnZXRzKCRmZWF0LWFuaW1hdGlvbiwgJGZlYXQtY29sb3IpIHtcbiAgICAgIEBpbmNsdWRlIGtleWZyYW1lcy5jb250YWluZXIta2V5ZnJhbWVzXyhcbiAgICAgICAgJGZyb20tc3Ryb2tlLWNvbG9yOiAkdW5tYXJrZWQtc3Ryb2tlLWNvbG9yLFxuICAgICAgICAkdG8tc3Ryb2tlLWNvbG9yOiAkbWFya2VkLXN0cm9rZS1jb2xvcixcbiAgICAgICAgJGZyb20tZmlsbC1jb2xvcjogJHVubWFya2VkLWZpbGwtY29sb3IsXG4gICAgICAgICR0by1maWxsLWNvbG9yOiAkbWFya2VkLWZpbGwtY29sb3IsXG4gICAgICAgICR1aWQ6ICN7JHVpZH1cbiAgICAgICk7XG4gICAgfVxuXG4gICAgLy8gc3R5bGVsaW50LWRpc2FibGUgbWF4LW5lc3RpbmctZGVwdGhcblxuICAgICN7JGFuaW0tc2VsZWN0b3J9IHtcbiAgICAgICYtdW5jaGVja2VkLWNoZWNrZWQsXG4gICAgICAmLXVuY2hlY2tlZC1pbmRldGVybWluYXRlIHtcbiAgICAgICAgLm1kYy1jaGVja2JveF9fbmF0aXZlLWNvbnRyb2w6ZW5hYmxlZCB+IC5tZGMtY2hlY2tib3hfX2JhY2tncm91bmQge1xuICAgICAgICAgIEBpbmNsdWRlIGZlYXR1cmUtdGFyZ2V0aW5nLW1peGlucy50YXJnZXRzKCRmZWF0LWFuaW1hdGlvbikge1xuICAgICAgICAgICAgYW5pbWF0aW9uLW5hbWU6IG1kYy1jaGVja2JveC1mYWRlLWluLWJhY2tncm91bmQtI3skdWlkfTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgJi1jaGVja2VkLXVuY2hlY2tlZCxcbiAgICAgICYtaW5kZXRlcm1pbmF0ZS11bmNoZWNrZWQge1xuICAgICAgICAubWRjLWNoZWNrYm94X19uYXRpdmUtY29udHJvbDplbmFibGVkIH4gLm1kYy1jaGVja2JveF9fYmFja2dyb3VuZCB7XG4gICAgICAgICAgQGluY2x1ZGUgZmVhdHVyZS10YXJnZXRpbmctbWl4aW5zLnRhcmdldHMoJGZlYXQtYW5pbWF0aW9uKSB7XG4gICAgICAgICAgICBhbmltYXRpb24tbmFtZTogbWRjLWNoZWNrYm94LWZhZGUtb3V0LWJhY2tncm91bmQtI3skdWlkfTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBzdHlsZWxpbnQtZW5hYmxlIG1heC1uZXN0aW5nLWRlcHRoXG4gIH1cbn1cblxuLy8vXG4vLy8gU2V0cyBzdHJva2UgJiBmaWxsIGNvbG9ycyBmb3IgYm90aCBtYXJrZWQgYW5kIHVubWFya2VkIHN0YXRlIG9mIGRpc2FibGVkIGNoZWNrYm94LlxuLy8vIEBwYXJhbSB7Q29sb3J9ICR1bm1hcmtlZC1zdHJva2UtY29sb3IgLSBUaGUgZGVzaXJlZCBzdHJva2UgY29sb3IgZm9yIHRoZSB1bm1hcmtlZCBzdGF0ZVxuLy8vIEBwYXJhbSB7Q29sb3J9ICR1bm1hcmtlZC1maWxsLWNvbG9yIC0gVGhlIGRlc2lyZWQgZmlsbCBjb2xvciBmb3IgdGhlIHVubWFya2VkIHN0YXRlXG4vLy8gQHBhcmFtIHtDb2xvcn0gJG1hcmtlZC1zdHJva2UtY29sb3IgLSBUaGUgZGVzaXJlZCBzdHJva2UgY29sb3IgZm9yIHRoZSBtYXJrZWQgc3RhdGVcbi8vLyBAcGFyYW0ge0NvbG9yfSAkbWFya2VkLWZpbGwtY29sb3IgLSBUaGUgZGVzaXJlZCBmaWxsIGNvbG9yIGZvciB0aGUgbWFya2VkIHN0YXRlXG4vLy9cbkBtaXhpbiBkaXNhYmxlZC1jb250YWluZXItY29sb3JzKFxuICAkdW5tYXJrZWQtc3Ryb2tlLWNvbG9yOiB2YXJpYWJsZXMuJGRpc2FibGVkLWNvbG9yLFxuICAkdW5tYXJrZWQtZmlsbC1jb2xvcjogdHJhbnNwYXJlbnQsXG4gICRtYXJrZWQtc3Ryb2tlLWNvbG9yOiB0cmFuc3BhcmVudCxcbiAgJG1hcmtlZC1maWxsLWNvbG9yOiB2YXJpYWJsZXMuJGRpc2FibGVkLWNvbG9yLFxuICAkcXVlcnk6IGZlYXR1cmUtdGFyZ2V0aW5nLWZ1bmN0aW9ucy5hbGwoKVxuKSB7XG4gIEBpbmNsdWRlIGlmLXVubWFya2VkLWRpc2FibGVkXyB7XG4gICAgQGluY2x1ZGUgY29udGFpbmVyLWNvbG9yc18oJHVubWFya2VkLXN0cm9rZS1jb2xvciwgJHVubWFya2VkLWZpbGwtY29sb3IsICRxdWVyeTogJHF1ZXJ5KTtcbiAgfVxuXG4gIEBpbmNsdWRlIGlmLW1hcmtlZC1kaXNhYmxlZF8ge1xuICAgIEBpbmNsdWRlIGNvbnRhaW5lci1jb2xvcnNfKCRtYXJrZWQtc3Ryb2tlLWNvbG9yLCAkbWFya2VkLWZpbGwtY29sb3IsICRxdWVyeTogJHF1ZXJ5KTtcbiAgfVxufVxuXG4vLy9cbi8vLyBTZXRzIHRoZSBpbmsgY29sb3Igb2YgdGhlIGNoZWNrZWQgYW5kIGluZGV0ZXJtaW5hdGUgaWNvbnMgZm9yIGFuIGVuYWJsZWQgY2hlY2tib3hcbi8vLyBAcGFyYW0ge0NvbG9yfSAkY29sb3IgLSBUaGUgZGVzaXJlZCBpbmsgY29sb3IgaW4gZW5hYmxlZCBzdGF0ZVxuLy8vXG5AbWl4aW4gaW5rLWNvbG9yKCRjb2xvciwgJHF1ZXJ5OiBmZWF0dXJlLXRhcmdldGluZy1mdW5jdGlvbnMuYWxsKCkpIHtcbiAgQGluY2x1ZGUgaWYtZW5hYmxlZF8ge1xuICAgIEBpbmNsdWRlIGluay1jb2xvcl8oJGNvbG9yLCAkcXVlcnk6ICRxdWVyeSk7XG4gIH1cbn1cblxuLy8vXG4vLy8gU2V0cyB0aGUgaW5rIGNvbG9yIG9mIHRoZSBjaGVja2VkIGFuZCBpbmRldGVybWluYXRlIGljb25zIGZvciBhIGRpc2FibGVkIGNoZWNrYm94XG4vLy8gQHBhcmFtIHtDb2xvcn0gJGNvbG9yIC0gVGhlIGRlc2lyZWQgaW5rIGNvbG9yIGluIGRpc2FibGVkIHN0YXRlXG4vLy9cbkBtaXhpbiBkaXNhYmxlZC1pbmstY29sb3IoJGNvbG9yLCAkcXVlcnk6IGZlYXR1cmUtdGFyZ2V0aW5nLWZ1bmN0aW9ucy5hbGwoKSkge1xuICAkZmVhdC1jb2xvcjogZmVhdHVyZS10YXJnZXRpbmctZnVuY3Rpb25zLmNyZWF0ZS10YXJnZXQoJHF1ZXJ5LCBjb2xvcik7XG5cbiAgQGluY2x1ZGUgaWYtZGlzYWJsZWRfIHtcbiAgICBAaW5jbHVkZSBpbmstY29sb3JfKCRjb2xvciwgJHF1ZXJ5OiAkcXVlcnkpO1xuICB9XG59XG5cbkBtaXhpbiBmb2N1cy1pbmRpY2F0b3ItY29sb3IoJGNvbG9yLCAkcXVlcnk6IGZlYXR1cmUtdGFyZ2V0aW5nLWZ1bmN0aW9ucy5hbGwoKSkge1xuICAkZmVhdC1jb2xvcjogZmVhdHVyZS10YXJnZXRpbmctZnVuY3Rpb25zLmNyZWF0ZS10YXJnZXQoJHF1ZXJ5LCBjb2xvcik7XG5cbiAgLm1kYy1jaGVja2JveF9fbmF0aXZlLWNvbnRyb2w6Y2hlY2tlZCB+IC5tZGMtY2hlY2tib3hfX2JhY2tncm91bmQ6OmJlZm9yZSxcbiAgLm1kYy1jaGVja2JveF9fbmF0aXZlLWNvbnRyb2w6aW5kZXRlcm1pbmF0ZSB+IC5tZGMtY2hlY2tib3hfX2JhY2tncm91bmQ6OmJlZm9yZSxcbiAgLm1kYy1jaGVja2JveF9fbmF0aXZlLWNvbnRyb2xbZGF0YS1pbmRldGVybWluYXRlPVwidHJ1ZVwiXSB+IC5tZGMtY2hlY2tib3hfX2JhY2tncm91bmQ6OmJlZm9yZSB7XG4gICAgQGluY2x1ZGUgZmVhdHVyZS10YXJnZXRpbmctbWl4aW5zLnRhcmdldHMoJGZlYXQtY29sb3IpIHtcbiAgICAgIEBpbmNsdWRlIHRoZW1lLW1peGlucy5wcm9wKGJhY2tncm91bmQtY29sb3IsICRjb2xvcik7XG4gICAgfVxuICB9XG5cbiAgJi5tZGMtY2hlY2tib3gtLXNlbGVjdGVkIHtcbiAgICBAaW5jbHVkZSByaXBwbGUtbWl4aW5zLnN0YXRlcygkY29sb3I6ICRjb2xvciwgJHF1ZXJ5OiAkcXVlcnksICRyaXBwbGUtdGFyZ2V0OiAkcmlwcGxlLXRhcmdldCk7XG4gIH1cblxuICAmLm1kYy1yaXBwbGUtdXBncmFkZWQtLWJhY2tncm91bmQtZm9jdXNlZC5tZGMtY2hlY2tib3gtLXNlbGVjdGVkIHtcbiAgICBAaW5jbHVkZSByaXBwbGUtbWl4aW5zLnN0YXRlcy1iYXNlLWNvbG9yKCRjb2xvcjogJGNvbG9yLCAkcXVlcnk6ICRxdWVyeSwgJHJpcHBsZS10YXJnZXQ6ICRyaXBwbGUtdGFyZ2V0KTtcbiAgfVxufVxuXG4vLy9cbi8vLyBTZXRzIGNoZWNrYm94IHRvdWNoIHRhcmdldCBzaXplIHdoaWNoIGNhbiBiZSBtb3JlIHRoYW4gdGhlIHJpcHBsZSBzaXplLiBQYXJhbSBgJHJpcHBsZS1zaXplYCBpcyByZXF1aXJlZCBmb3IgY3VzdG9tXG4vLy8gcmlwcGxlIHNpemUuXG4vLy9cbi8vLyBAcGFyYW0ge051bWJlcn0gJHNpemUgU2l6ZSBvZiB0b3VjaCB0YXJnZXQgKE5hdGl2ZSBpbnB1dCkgaW4gYHB4YC5cbi8vLyBAcGFyYW0ge051bWJlcn0gJHJpcHBsZS1zaXplIFNpemUgb2YgcmlwcGxlIGluIGBweGAuIFJlcXVpcmVkIG9ubHkgZm9yIGN1c3RvbSByaXBwbGUgc2l6ZS5cbi8vL1xuQG1peGluIHRvdWNoLXRhcmdldChcbiAgJHNpemU6IHZhcmlhYmxlcy4kcmlwcGxlLXNpemUsXG4gICRyaXBwbGUtc2l6ZTogdmFyaWFibGVzLiRyaXBwbGUtc2l6ZSxcbiAgJHF1ZXJ5OiBmZWF0dXJlLXRhcmdldGluZy1mdW5jdGlvbnMuYWxsKCkpIHtcbiAgJGZlYXQtc3RydWN0dXJlOiBmZWF0dXJlLXRhcmdldGluZy1mdW5jdGlvbnMuY3JlYXRlLXRhcmdldCgkcXVlcnksIHN0cnVjdHVyZSk7XG4gICRvZmZzZXQ6ICgkcmlwcGxlLXNpemUgLSAkc2l6ZSkgLyAyO1xuXG4gIEBpbmNsdWRlIGZlYXR1cmUtdGFyZ2V0aW5nLW1peGlucy50YXJnZXRzKCRmZWF0LXN0cnVjdHVyZSkge1xuICAgIC5tZGMtY2hlY2tib3hfX25hdGl2ZS1jb250cm9sIHtcbiAgICAgIHRvcDogJG9mZnNldDtcbiAgICAgIHJpZ2h0OiAkb2Zmc2V0O1xuICAgICAgbGVmdDogJG9mZnNldDtcbiAgICAgIHdpZHRoOiAkc2l6ZTtcbiAgICAgIGhlaWdodDogJHNpemU7XG4gICAgfVxuICB9XG59XG5cbi8vXG4vLyBQcml2YXRlXG4vL1xuXG5AbWl4aW4gYmFzZV8ge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZmxleDogMCAwIHZhcmlhYmxlcy4kaWNvbi1zaXplO1xuICBib3gtc2l6aW5nOiBjb250ZW50LWJveDtcbiAgd2lkdGg6IHZhcmlhYmxlcy4kaWNvbi1zaXplO1xuICBoZWlnaHQ6IHZhcmlhYmxlcy4kaWNvbi1zaXplO1xuICBsaW5lLWhlaWdodDogMDtcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICB2ZXJ0aWNhbC1hbGlnbjogYm90dG9tO1xufVxuXG5AbWl4aW4gZGlzYWJsZWRfIHtcbiAgY3Vyc29yOiBkZWZhdWx0O1xuICBwb2ludGVyLWV2ZW50czogbm9uZTtcbn1cblxuQG1peGluIGNoaWxkLS11cGdyYWRlZF8ge1xuICAvLyBEdWUgdG8gdGhlIG15cmlhZCBvZiBzZWxlY3RvciBjb21ib3MgdXNlZCB0byBwcm9wZXJseSBzdHlsZSBhIENTUy1vbmx5IGNoZWNrYm94LCBhbGwgb2ZcbiAgLy8gd2hpY2ggaGF2ZSB2YXJ5aW5nIHNlbGVjdG9yIHByZWNlZGVuY2UgYW5kIG1ha2UgdXNlIG9mIHRyYW5zaXRpb25zLCBpdCBpcyBjbGVhbmVyIGFuZCBtb3JlXG4gIC8vIGVmZmljaWVudCBoZXJlIHRvIHNpbXBseSB1c2UgIWltcG9ydGFudCwgc2luY2UgdGhlIG1kYy1jaGVja2JveC0tYW5pbS0qIGNsYXNzZXMgd2lsbCB0YWtlXG4gIC8vIG92ZXIgZnJvbSBoZXJlLlxuICB0cmFuc2l0aW9uOiBub25lICFpbXBvcnRhbnQ7XG59XG5cbi8vIEFuaW1hdGlvblxuXG5AbWl4aW4gYW5pbV8ge1xuICAkbWRjLWNoZWNrYm94LWluZGV0ZXJtaW5hdGUtY2hhbmdlLWR1cmF0aW9uXzogNTAwbXM7XG5cbiAgLy8gc3R5bGVsaW50LWRpc2FibGUgc2VsZWN0b3ItbWF4LXR5cGVcblxuICAmLXVuY2hlY2tlZC1jaGVja2VkLFxuICAmLXVuY2hlY2tlZC1pbmRldGVybWluYXRlLFxuICAmLWNoZWNrZWQtdW5jaGVja2VkLFxuICAmLWluZGV0ZXJtaW5hdGUtdW5jaGVja2VkIHtcbiAgICAubWRjLWNoZWNrYm94X19iYWNrZ3JvdW5kIHtcbiAgICAgIGFuaW1hdGlvbi1kdXJhdGlvbjogdmFyaWFibGVzLiR0cmFuc2l0aW9uLWR1cmF0aW9uICogMjtcbiAgICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGxpbmVhcjtcbiAgICB9XG4gIH1cblxuICAmLXVuY2hlY2tlZC1jaGVja2VkIHtcbiAgICAubWRjLWNoZWNrYm94X19jaGVja21hcmstcGF0aCB7XG4gICAgICAvLyBJbnN0ZWFkIG9mIGRlbGF5aW5nIHRoZSBhbmltYXRpb24sIHdlIHNpbXBseSBtdWx0aXBseSBpdHMgbGVuZ3RoIGJ5IDIgYW5kIGJlZ2luIHRoZVxuICAgICAgLy8gYW5pbWF0aW9uIGF0IDUwJSBpbiBvcmRlciB0byBwcmV2ZW50IGEgZmxhc2ggb2Ygc3R5bGVzIGFwcGxpZWQgdG8gYSBjaGVja2VkIGNoZWNrbWFya1xuICAgICAgLy8gYXMgdGhlIGJhY2tncm91bmQgaXMgZmFkaW5nIGluIGJlZm9yZSB0aGUgYW5pbWF0aW9uIGJlZ2lucy5cbiAgICAgIGFuaW1hdGlvbjogbWRjLWNoZWNrYm94LXVuY2hlY2tlZC1jaGVja2VkLWNoZWNrbWFyay1wYXRoIHZhcmlhYmxlcy4kdHJhbnNpdGlvbi1kdXJhdGlvbiAqIDIgbGluZWFyIDBzO1xuICAgICAgdHJhbnNpdGlvbjogbm9uZTtcbiAgICB9XG4gIH1cblxuICAmLXVuY2hlY2tlZC1pbmRldGVybWluYXRlIHtcbiAgICAubWRjLWNoZWNrYm94X19taXhlZG1hcmsge1xuICAgICAgYW5pbWF0aW9uOiBtZGMtY2hlY2tib3gtdW5jaGVja2VkLWluZGV0ZXJtaW5hdGUtbWl4ZWRtYXJrIHZhcmlhYmxlcy4kdHJhbnNpdGlvbi1kdXJhdGlvbiBsaW5lYXIgMHM7XG4gICAgICB0cmFuc2l0aW9uOiBub25lO1xuICAgIH1cbiAgfVxuXG4gICYtY2hlY2tlZC11bmNoZWNrZWQge1xuICAgIC5tZGMtY2hlY2tib3hfX2NoZWNrbWFyay1wYXRoIHtcbiAgICAgIGFuaW1hdGlvbjogbWRjLWNoZWNrYm94LWNoZWNrZWQtdW5jaGVja2VkLWNoZWNrbWFyay1wYXRoIHZhcmlhYmxlcy4kdHJhbnNpdGlvbi1kdXJhdGlvbiBsaW5lYXIgMHM7XG4gICAgICB0cmFuc2l0aW9uOiBub25lO1xuICAgIH1cbiAgfVxuXG4gICYtY2hlY2tlZC1pbmRldGVybWluYXRlIHtcbiAgICAubWRjLWNoZWNrYm94X19jaGVja21hcmsge1xuICAgICAgYW5pbWF0aW9uOiBtZGMtY2hlY2tib3gtY2hlY2tlZC1pbmRldGVybWluYXRlLWNoZWNrbWFyayB2YXJpYWJsZXMuJHRyYW5zaXRpb24tZHVyYXRpb24gbGluZWFyIDBzO1xuICAgICAgdHJhbnNpdGlvbjogbm9uZTtcbiAgICB9XG5cbiAgICAubWRjLWNoZWNrYm94X19taXhlZG1hcmsge1xuICAgICAgYW5pbWF0aW9uOiBtZGMtY2hlY2tib3gtY2hlY2tlZC1pbmRldGVybWluYXRlLW1peGVkbWFyayB2YXJpYWJsZXMuJHRyYW5zaXRpb24tZHVyYXRpb24gbGluZWFyIDBzO1xuICAgICAgdHJhbnNpdGlvbjogbm9uZTtcbiAgICB9XG4gIH1cblxuICAmLWluZGV0ZXJtaW5hdGUtY2hlY2tlZCB7XG4gICAgLm1kYy1jaGVja2JveF9fY2hlY2ttYXJrIHtcbiAgICAgIGFuaW1hdGlvbjogbWRjLWNoZWNrYm94LWluZGV0ZXJtaW5hdGUtY2hlY2tlZC1jaGVja21hcmsgJG1kYy1jaGVja2JveC1pbmRldGVybWluYXRlLWNoYW5nZS1kdXJhdGlvbl8gbGluZWFyIDBzO1xuICAgICAgdHJhbnNpdGlvbjogbm9uZTtcbiAgICB9XG5cbiAgICAubWRjLWNoZWNrYm94X19taXhlZG1hcmsge1xuICAgICAgYW5pbWF0aW9uOiBtZGMtY2hlY2tib3gtaW5kZXRlcm1pbmF0ZS1jaGVja2VkLW1peGVkbWFyayAkbWRjLWNoZWNrYm94LWluZGV0ZXJtaW5hdGUtY2hhbmdlLWR1cmF0aW9uXyBsaW5lYXIgMHM7XG4gICAgICB0cmFuc2l0aW9uOiBub25lO1xuICAgIH1cbiAgfVxuXG4gICYtaW5kZXRlcm1pbmF0ZS11bmNoZWNrZWQge1xuICAgIC5tZGMtY2hlY2tib3hfX21peGVkbWFyayB7XG4gICAgICAvLyBzdHlsZWxpbnQtZGlzYWJsZS1uZXh0LWxpbmUgZGVjbGFyYXRpb24tY29sb24tc3BhY2UtYWZ0ZXJcbiAgICAgIGFuaW1hdGlvbjpcbiAgICAgICAgbWRjLWNoZWNrYm94LWluZGV0ZXJtaW5hdGUtdW5jaGVja2VkLW1peGVkbWFyayAkbWRjLWNoZWNrYm94LWluZGV0ZXJtaW5hdGUtY2hhbmdlLWR1cmF0aW9uXyAqIC42IGxpbmVhciAwcztcbiAgICAgIHRyYW5zaXRpb246IG5vbmU7XG4gICAgfVxuICB9XG5cbiAgLy8gc3R5bGVsaW50LWVuYWJsZSBzZWxlY3Rvci1tYXgtdHlwZVxufVxuXG4vLyBCYWNrZ3JvdW5kXG5cbi8vL1xuLy8vIEhlbHBzIHNlbGVjdCB0aGUgY2hlY2tib3ggYmFja2dyb3VuZCBvbmx5IHdoZW4gaXRzIG5hdGl2ZSBjb250cm9sIGlzIGluXG4vLy8gZW5hYmxlZCBzdGF0ZS5cbi8vLyBAYWNjZXNzIHByaXZhdGVcbi8vL1xuQG1peGluIGlmLWVuYWJsZWRfIHtcbiAgLm1kYy1jaGVja2JveF9fbmF0aXZlLWNvbnRyb2w6ZW5hYmxlZCB+IHtcbiAgICBAY29udGVudDtcbiAgfVxufVxuXG4vLy9cbi8vLyBIZWxwcyBzZWxlY3QgdGhlIGNoZWNrYm94IGJhY2tncm91bmQgb25seSB3aGVuIGl0cyBuYXRpdmUgY29udHJvbCBpcyBpblxuLy8vIGRpc2FibGVkIHN0YXRlLlxuLy8vIEBhY2Nlc3MgcHJpdmF0ZVxuLy8vXG5AbWl4aW4gaWYtZGlzYWJsZWRfIHtcbiAgLm1kYy1jaGVja2JveF9fbmF0aXZlLWNvbnRyb2w6ZGlzYWJsZWQgfiB7XG4gICAgQGNvbnRlbnQ7XG4gIH1cbn1cblxuLy8vXG4vLy8gSGVscHMgc2VsZWN0IHRoZSBjaGVja2JveCBiYWNrZ3JvdW5kIG9ubHkgd2hlbiBpdHMgbmF0aXZlIGNvbnRyb2wgaXMgaW5cbi8vLyB1bm1hcmtlZCAmIGVuYWJsZWQgc3RhdGUuXG4vLy8gQGFjY2VzcyBwcml2YXRlXG4vLy9cbkBtaXhpbiBpZi11bm1hcmtlZC1lbmFibGVkXyB7XG4gIC5tZGMtY2hlY2tib3hfX25hdGl2ZS1jb250cm9sOmVuYWJsZWQ6bm90KDpjaGVja2VkKTpub3QoOmluZGV0ZXJtaW5hdGUpOm5vdChbZGF0YS1pbmRldGVybWluYXRlPVwidHJ1ZVwiXSkgfiB7XG4gICAgQGNvbnRlbnQ7XG4gIH1cbn1cblxuLy8vXG4vLy8gSGVscHMgc2VsZWN0IHRoZSBjaGVja2JveCBiYWNrZ3JvdW5kIG9ubHkgd2hlbiBpdHMgbmF0aXZlIGNvbnRyb2wgaXMgaW5cbi8vLyB1bm1hcmtlZCAmIGRpc2FibGVkIHN0YXRlLlxuLy8vIEBhY2Nlc3MgcHJpdmF0ZVxuLy8vXG5AbWl4aW4gaWYtdW5tYXJrZWQtZGlzYWJsZWRfIHtcbiAgLy8gTm90ZTogd2UgbXVzdCB1c2UgYFtkaXNhYmxlZF1gIGluc3RlYWQgb2YgYDpkaXNhYmxlZGAgYmVsb3cgYmVjYXVzZSBFZGdlIGRvZXMgbm90IGFsd2F5cyByZWNhbGN1bGF0ZSB0aGUgc3R5bGVcbiAgLy8gcHJvcGVydHkgd2hlbiB0aGUgYDpkaXNhYmxlZGAgcHNldWRvLWNsYXNzIGlzIGZvbGxvd2VkIGJ5IGEgc2libGluZyBjb21iaW5hdG9yLiBTZWU6XG4gIC8vIGh0dHBzOi8vZGV2ZWxvcGVyLm1pY3Jvc29mdC5jb20vZW4tdXMvbWljcm9zb2Z0LWVkZ2UvcGxhdGZvcm0vaXNzdWVzLzExMjk1MjMxL1xuICAubWRjLWNoZWNrYm94X19uYXRpdmUtY29udHJvbFtkaXNhYmxlZF06bm90KDpjaGVja2VkKTpub3QoOmluZGV0ZXJtaW5hdGUpOm5vdChbZGF0YS1pbmRldGVybWluYXRlPVwidHJ1ZVwiXSkgfiB7XG4gICAgQGNvbnRlbnQ7XG4gIH1cbn1cblxuLy8vXG4vLy8gSGVscHMgc2VsZWN0IHRoZSBjaGVja2JveCBiYWNrZ3JvdW5kIG9ubHkgd2hlbiBpdHMgbmF0aXZlIGNvbnRyb2wgaXMgaW5cbi8vLyBtYXJrZWQgJiBlbmFibGVkIHN0YXRlLlxuLy8vIEBhY2Nlc3MgcHJpdmF0ZVxuLy8vXG5AbWl4aW4gaWYtbWFya2VkLWVuYWJsZWRfIHtcbiAgLm1kYy1jaGVja2JveF9fbmF0aXZlLWNvbnRyb2w6ZW5hYmxlZDpjaGVja2VkLFxuICAubWRjLWNoZWNrYm94X19uYXRpdmUtY29udHJvbDplbmFibGVkOmluZGV0ZXJtaW5hdGUsXG4gIC5tZGMtY2hlY2tib3hfX25hdGl2ZS1jb250cm9sW2RhdGEtaW5kZXRlcm1pbmF0ZT1cInRydWVcIl06ZW5hYmxlZCB7XG4gICAgfiB7XG4gICAgICBAY29udGVudDtcbiAgICB9XG4gIH1cbn1cblxuLy8vXG4vLy8gSGVscHMgc2VsZWN0IHRoZSBjaGVja2JveCBiYWNrZ3JvdW5kIG9ubHkgd2hlbiBpdHMgbmF0aXZlIGNvbnRyb2wgaXMgaW5cbi8vLyBtYXJrZWQgJiBkaXNhYmxlZCBzdGF0ZS5cbi8vLyBAYWNjZXNzIHByaXZhdGVcbi8vL1xuQG1peGluIGlmLW1hcmtlZC1kaXNhYmxlZF8ge1xuICAvLyBOb3RlOiB3ZSBtdXN0IHVzZSBgW2Rpc2FibGVkXWAgaW5zdGVhZCBvZiBgOmRpc2FibGVkYCBiZWxvdyBiZWNhdXNlIEVkZ2UgZG9lcyBub3QgYWx3YXlzIHJlY2FsY3VsYXRlIHRoZSBzdHlsZVxuICAvLyBwcm9wZXJ0eSB3aGVuIHRoZSBgOmRpc2FibGVkYCBwc2V1ZG8tY2xhc3MgaXMgZm9sbG93ZWQgYnkgYSBzaWJsaW5nIGNvbWJpbmF0b3IuIFNlZTpcbiAgLy8gaHR0cHM6Ly9kZXZlbG9wZXIubWljcm9zb2Z0LmNvbS9lbi11cy9taWNyb3NvZnQtZWRnZS9wbGF0Zm9ybS9pc3N1ZXMvMTEyOTUyMzEvXG4gIC5tZGMtY2hlY2tib3hfX25hdGl2ZS1jb250cm9sW2Rpc2FibGVkXTpjaGVja2VkLFxuICAubWRjLWNoZWNrYm94X19uYXRpdmUtY29udHJvbFtkaXNhYmxlZF06aW5kZXRlcm1pbmF0ZSxcbiAgLm1kYy1jaGVja2JveF9fbmF0aXZlLWNvbnRyb2xbZGF0YS1pbmRldGVybWluYXRlPVwidHJ1ZVwiXVtkaXNhYmxlZF0ge1xuICAgIH4ge1xuICAgICAgQGNvbnRlbnQ7XG4gICAgfVxuICB9XG59XG5cbkBtaXhpbiBiYWNrZ3JvdW5kXygkcXVlcnk6IGZlYXR1cmUtdGFyZ2V0aW5nLWZ1bmN0aW9ucy5hbGwoKSkge1xuICAkZmVhdC1hbmltYXRpb246IGZlYXR1cmUtdGFyZ2V0aW5nLWZ1bmN0aW9ucy5jcmVhdGUtdGFyZ2V0KCRxdWVyeSwgYW5pbWF0aW9uKTtcbiAgJGZlYXQtc3RydWN0dXJlOiBmZWF0dXJlLXRhcmdldGluZy1mdW5jdGlvbnMuY3JlYXRlLXRhcmdldCgkcXVlcnksIHN0cnVjdHVyZSk7XG4gICRmZWF0LWNvbG9yOiBmZWF0dXJlLXRhcmdldGluZy1mdW5jdGlvbnMuY3JlYXRlLXRhcmdldCgkcXVlcnksIGNvbG9yKTtcblxuICBAaW5jbHVkZSBmZWF0dXJlLXRhcmdldGluZy1taXhpbnMudGFyZ2V0cygkZmVhdC1zdHJ1Y3R1cmUpIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgIHdpZHRoOiB2YXJpYWJsZXMuJGljb24tc2l6ZTtcbiAgICBoZWlnaHQ6IHZhcmlhYmxlcy4kaWNvbi1zaXplO1xuICAgIC8vIGJvcmRlci1jb2xvciBpcyBvdmVycmlkZGVuIGJ5IHRoZSBtZGMtY2hlY2tib3gtdW5tYXJrZWQtc3Ryb2tlLWNvbG9yKCkgbWl4aW5cbiAgICBib3JkZXI6IHZhcmlhYmxlcy4kYm9yZGVyLXdpZHRoIHNvbGlkIGN1cnJlbnRDb2xvcjtcbiAgICBib3JkZXItcmFkaXVzOiAycHg7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gICAgd2lsbC1jaGFuZ2U6IGJhY2tncm91bmQtY29sb3IsIGJvcmRlci1jb2xvcjtcbiAgfVxuXG4gIC5tZGMtY2hlY2tib3hfX2JhY2tncm91bmQ6OmJlZm9yZSB7XG4gICAgQGluY2x1ZGUgZmVhdHVyZS10YXJnZXRpbmctbWl4aW5zLnRhcmdldHMoJGZlYXQtY29sb3IpIHtcbiAgICAgIEBpbmNsdWRlIHRoZW1lLW1peGlucy5wcm9wKGJhY2tncm91bmQtY29sb3IsIG9uLXN1cmZhY2UpO1xuICAgIH1cbiAgfVxuXG4gIEBpbmNsdWRlIGZlYXR1cmUtdGFyZ2V0aW5nLW1peGlucy50YXJnZXRzKCRmZWF0LWFuaW1hdGlvbikge1xuICAgIHRyYW5zaXRpb246XG4gICAgICBmdW5jdGlvbnMudHJhbnNpdGlvbi1leGl0KGJhY2tncm91bmQtY29sb3IpLFxuICAgICAgZnVuY3Rpb25zLnRyYW5zaXRpb24tZXhpdChib3JkZXItY29sb3IpO1xuICB9XG59XG5cbkBtaXhpbiBiYWNrZ3JvdW5kLS1tYXJrZWRfIHtcbiAgdHJhbnNpdGlvbjpcbiAgICBmdW5jdGlvbnMudHJhbnNpdGlvbi1lbnRlcihib3JkZXItY29sb3IpLFxuICAgIGZ1bmN0aW9ucy50cmFuc2l0aW9uLWVudGVyKGJhY2tncm91bmQtY29sb3IpO1xufVxuXG4vLy9cbi8vLyBTZXRzIHRoZSBzdHJva2UgJiBmaWxsIGNvbG9ycyBmb3IgdGhlIGNoZWNrYm94LlxuLy8vIFRoaXMgbWl4aW4gc2hvdWxkIGJlIHdyYXBwZWQgaW4gYSBtaXhpbiB0aGF0IHF1YWxpZmllcyBzdGF0ZSBzdWNoIGFzXG4vLy8gYG1kYy1jaGVja2JveC1pZi11bm1hcmtlZC1lbmFibGVkX2AuXG4vLy8gQGFjY2VzcyBwcml2YXRlXG4vLy9cbkBtaXhpbiBjb250YWluZXItY29sb3JzXygkc3Ryb2tlLWNvbG9yLCAkZmlsbC1jb2xvciwgJHF1ZXJ5OiBmZWF0dXJlLXRhcmdldGluZy1mdW5jdGlvbnMuYWxsKCkpIHtcbiAgJGZlYXQtY29sb3I6IGZlYXR1cmUtdGFyZ2V0aW5nLWZ1bmN0aW9ucy5jcmVhdGUtdGFyZ2V0KCRxdWVyeSwgY29sb3IpO1xuXG4gIC5tZGMtY2hlY2tib3hfX2JhY2tncm91bmQge1xuICAgIEBpbmNsdWRlIGZlYXR1cmUtdGFyZ2V0aW5nLW1peGlucy50YXJnZXRzKCRmZWF0LWNvbG9yKSB7XG4gICAgICBAaW5jbHVkZSB0aGVtZS1taXhpbnMucHJvcChib3JkZXItY29sb3IsICRzdHJva2UtY29sb3IpO1xuICAgICAgQGluY2x1ZGUgdGhlbWUtbWl4aW5zLnByb3AoYmFja2dyb3VuZC1jb2xvciwgJGZpbGwtY29sb3IpO1xuICAgIH1cbiAgfVxufVxuXG4vLyBGb2N1cyBpbmRpY2F0b3JcblxuQG1peGluIGZvY3VzLWluZGljYXRvcl8oJHF1ZXJ5OiBmZWF0dXJlLXRhcmdldGluZy1mdW5jdGlvbnMuYWxsKCkpIHtcbiAgJGZlYXQtYW5pbWF0aW9uOiBmZWF0dXJlLXRhcmdldGluZy1mdW5jdGlvbnMuY3JlYXRlLXRhcmdldCgkcXVlcnksIGFuaW1hdGlvbik7XG4gICRmZWF0LXN0cnVjdHVyZTogZmVhdHVyZS10YXJnZXRpbmctZnVuY3Rpb25zLmNyZWF0ZS10YXJnZXQoJHF1ZXJ5LCBzdHJ1Y3R1cmUpO1xuXG4gIEBpbmNsdWRlIGZlYXR1cmUtdGFyZ2V0aW5nLW1peGlucy50YXJnZXRzKCRmZWF0LXN0cnVjdHVyZSkge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlKDAsIDApO1xuICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgICBvcGFjaXR5OiAwO1xuICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgd2lsbC1jaGFuZ2U6IG9wYWNpdHksIHRyYW5zZm9ybTtcbiAgfVxuXG4gIEBpbmNsdWRlIGZlYXR1cmUtdGFyZ2V0aW5nLW1peGlucy50YXJnZXRzKCRmZWF0LWFuaW1hdGlvbikge1xuICAgIHRyYW5zaXRpb246XG4gICAgICBmdW5jdGlvbnMudHJhbnNpdGlvbi1leGl0KG9wYWNpdHkpLFxuICAgICAgZnVuY3Rpb25zLnRyYW5zaXRpb24tZXhpdCh0cmFuc2Zvcm0pO1xuICB9XG59XG5cbkBtaXhpbiBmb2N1cy1pbmRpY2F0b3ItLWZvY3VzZWRfKCRxdWVyeTogZmVhdHVyZS10YXJnZXRpbmctZnVuY3Rpb25zLmFsbCgpKSB7XG4gICRmZWF0LWFuaW1hdGlvbjogZmVhdHVyZS10YXJnZXRpbmctZnVuY3Rpb25zLmNyZWF0ZS10YXJnZXQoJHF1ZXJ5LCBhbmltYXRpb24pO1xuICAkZmVhdC1zdHJ1Y3R1cmU6IGZlYXR1cmUtdGFyZ2V0aW5nLWZ1bmN0aW9ucy5jcmVhdGUtdGFyZ2V0KCRxdWVyeSwgc3RydWN0dXJlKTtcblxuICBAaW5jbHVkZSBmZWF0dXJlLXRhcmdldGluZy1taXhpbnMudGFyZ2V0cygkZmVhdC1zdHJ1Y3R1cmUpIHtcbiAgICB0cmFuc2Zvcm06IHNjYWxlKDEpO1xuICAgIG9wYWNpdHk6IHZhcmlhYmxlcy4kZm9jdXMtaW5kaWNhdG9yLW9wYWNpdHk7XG4gIH1cblxuICBAaW5jbHVkZSBmZWF0dXJlLXRhcmdldGluZy1taXhpbnMudGFyZ2V0cygkZmVhdC1hbmltYXRpb24pIHtcbiAgICB0cmFuc2l0aW9uOlxuICAgICAgZnVuY3Rpb25zLnRyYW5zaXRpb24tZW50ZXIob3BhY2l0eSwgMG1zLCA4MG1zKSxcbiAgICAgIGZ1bmN0aW9ucy50cmFuc2l0aW9uLWVudGVyKHRyYW5zZm9ybSwgMG1zLCA4MG1zKTtcbiAgfVxufVxuXG4vLyBOYXRpdmUgaW5wdXRcblxuQG1peGluIG5hdGl2ZS1jb250cm9sXyB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgbWFyZ2luOiAwO1xuICBwYWRkaW5nOiAwO1xuICBvcGFjaXR5OiAwO1xuICBjdXJzb3I6IGluaGVyaXQ7XG59XG5cbi8vIENoZWNrIG1hcmtcblxuQG1peGluIGNoZWNrbWFya18oJHF1ZXJ5OiBmZWF0dXJlLXRhcmdldGluZy1mdW5jdGlvbnMuYWxsKCkpIHtcbiAgJGZlYXQtYW5pbWF0aW9uOiBmZWF0dXJlLXRhcmdldGluZy1mdW5jdGlvbnMuY3JlYXRlLXRhcmdldCgkcXVlcnksIGFuaW1hdGlvbik7XG4gICRmZWF0LXN0cnVjdHVyZTogZmVhdHVyZS10YXJnZXRpbmctZnVuY3Rpb25zLmNyZWF0ZS10YXJnZXQoJHF1ZXJ5LCBzdHJ1Y3R1cmUpO1xuXG4gIEBpbmNsdWRlIGZlYXR1cmUtdGFyZ2V0aW5nLW1peGlucy50YXJnZXRzKCRmZWF0LXN0cnVjdHVyZSkge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDA7XG4gICAgcmlnaHQ6IDA7XG4gICAgYm90dG9tOiAwO1xuICAgIGxlZnQ6IDA7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgb3BhY2l0eTogMDtcbiAgfVxuXG4gIEBpbmNsdWRlIGZlYXR1cmUtdGFyZ2V0aW5nLW1peGlucy50YXJnZXRzKCRmZWF0LWFuaW1hdGlvbikge1xuICAgIHRyYW5zaXRpb246IGZ1bmN0aW9ucy50cmFuc2l0aW9uLWV4aXQob3BhY2l0eSwgMG1zLCB2YXJpYWJsZXMuJHRyYW5zaXRpb24tZHVyYXRpb24gKiAyKTtcbiAgfVxuXG4gIC5tZGMtY2hlY2tib3gtLXVwZ3JhZGVkICYge1xuICAgIEBpbmNsdWRlIGZlYXR1cmUtdGFyZ2V0aW5nLW1peGlucy50YXJnZXRzKCRmZWF0LXN0cnVjdHVyZSkge1xuICAgICAgb3BhY2l0eTogMTtcbiAgICB9XG4gIH1cbn1cblxuQG1peGluIGNoZWNrbWFyay0tY2hlY2tlZF8oJHF1ZXJ5OiBmZWF0dXJlLXRhcmdldGluZy1mdW5jdGlvbnMuYWxsKCkpIHtcbiAgJGZlYXQtYW5pbWF0aW9uOiBmZWF0dXJlLXRhcmdldGluZy1mdW5jdGlvbnMuY3JlYXRlLXRhcmdldCgkcXVlcnksIGFuaW1hdGlvbik7XG4gICRmZWF0LXN0cnVjdHVyZTogZmVhdHVyZS10YXJnZXRpbmctZnVuY3Rpb25zLmNyZWF0ZS10YXJnZXQoJHF1ZXJ5LCBzdHJ1Y3R1cmUpO1xuXG4gIEBpbmNsdWRlIGZlYXR1cmUtdGFyZ2V0aW5nLW1peGlucy50YXJnZXRzKCRmZWF0LWFuaW1hdGlvbikge1xuICAgIHRyYW5zaXRpb246XG4gICAgICBmdW5jdGlvbnMudHJhbnNpdGlvbi1lbnRlcihvcGFjaXR5LCAwbXMsIHZhcmlhYmxlcy4kdHJhbnNpdGlvbi1kdXJhdGlvbiAqIDIpLFxuICAgICAgZnVuY3Rpb25zLnRyYW5zaXRpb24tZW50ZXIodHJhbnNmb3JtLCAwbXMsIHZhcmlhYmxlcy4kdHJhbnNpdGlvbi1kdXJhdGlvbiAqIDIpO1xuICB9XG5cbiAgQGluY2x1ZGUgZmVhdHVyZS10YXJnZXRpbmctbWl4aW5zLnRhcmdldHMoJGZlYXQtc3RydWN0dXJlKSB7XG4gICAgb3BhY2l0eTogMTtcbiAgfVxufVxuXG5AbWl4aW4gY2hlY2ttYXJrLS1pbmRldGVybWluYXRlXygkcXVlcnk6IGZlYXR1cmUtdGFyZ2V0aW5nLWZ1bmN0aW9ucy5hbGwoKSkge1xuICAkZmVhdC1hbmltYXRpb246IGZlYXR1cmUtdGFyZ2V0aW5nLWZ1bmN0aW9ucy5jcmVhdGUtdGFyZ2V0KCRxdWVyeSwgYW5pbWF0aW9uKTtcbiAgJGZlYXQtc3RydWN0dXJlOiBmZWF0dXJlLXRhcmdldGluZy1mdW5jdGlvbnMuY3JlYXRlLXRhcmdldCgkcXVlcnksIHN0cnVjdHVyZSk7XG5cbiAgQGluY2x1ZGUgZmVhdHVyZS10YXJnZXRpbmctbWl4aW5zLnRhcmdldHMoJGZlYXQtc3RydWN0dXJlKSB7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUoNDVkZWcpO1xuICAgIG9wYWNpdHk6IDA7XG4gIH1cblxuICBAaW5jbHVkZSBmZWF0dXJlLXRhcmdldGluZy1taXhpbnMudGFyZ2V0cygkZmVhdC1hbmltYXRpb24pIHtcbiAgICB0cmFuc2l0aW9uOlxuICAgICAgZnVuY3Rpb25zLnRyYW5zaXRpb24tZXhpdChvcGFjaXR5LCAwbXMsIHZhcmlhYmxlcy4kdHJhbnNpdGlvbi1kdXJhdGlvbiksXG4gICAgICBmdW5jdGlvbnMudHJhbnNpdGlvbi1leGl0KHRyYW5zZm9ybSwgMG1zLCB2YXJpYWJsZXMuJHRyYW5zaXRpb24tZHVyYXRpb24pO1xuICB9XG59XG5cbi8vL1xuLy8vIFNldHMgdGhlIGluayBjb2xvciBvZiB0aGUgY2hlY2tlZCBhbmQgaW5kZXRlcm1pbmF0ZSBpY29ucyBmb3IgYSBjaGVja2JveC5cbi8vLyBUaGlzIG1peGluIHNob3VsZCBiZSB3cmFwcGVkIGluIGEgbWl4aW4gdGhhdCBxdWFsaWZpZXMgc3RhdGUgc3VjaCBhc1xuLy8vIGBtZGMtY2hlY2tib3gtaWYtdW5tYXJrZWRfYC5cbi8vLyBAYWNjZXNzIHByaXZhdGVcbi8vL1xuQG1peGluIGluay1jb2xvcl8oJGNvbG9yLCAkcXVlcnk6IGZlYXR1cmUtdGFyZ2V0aW5nLWZ1bmN0aW9ucy5hbGwoKSkge1xuICAkZmVhdC1jb2xvcjogZmVhdHVyZS10YXJnZXRpbmctZnVuY3Rpb25zLmNyZWF0ZS10YXJnZXQoJHF1ZXJ5LCBjb2xvcik7XG5cbiAgLm1kYy1jaGVja2JveF9fYmFja2dyb3VuZCB7XG4gICAgLm1kYy1jaGVja2JveF9fY2hlY2ttYXJrIHtcbiAgICAgIEBpbmNsdWRlIGZlYXR1cmUtdGFyZ2V0aW5nLW1peGlucy50YXJnZXRzKCRmZWF0LWNvbG9yKSB7XG4gICAgICAgIEBpbmNsdWRlIHRoZW1lLW1peGlucy5wcm9wKGNvbG9yLCAkY29sb3IpO1xuICAgICAgfVxuICAgIH1cblxuICAgIC5tZGMtY2hlY2tib3hfX21peGVkbWFyayB7XG4gICAgICBAaW5jbHVkZSBmZWF0dXJlLXRhcmdldGluZy1taXhpbnMudGFyZ2V0cygkZmVhdC1jb2xvcikge1xuICAgICAgICBAaW5jbHVkZSB0aGVtZS1taXhpbnMucHJvcChib3JkZXItY29sb3IsICRjb2xvcik7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbi8vIENoZWNrIG1hcmsgcGF0aFxuXG5AbWl4aW4gY2hlY2ttYXJrLXBhdGhfKCRxdWVyeTogZmVhdHVyZS10YXJnZXRpbmctZnVuY3Rpb25zLmFsbCgpKSB7XG4gICRmZWF0LWFuaW1hdGlvbjogZmVhdHVyZS10YXJnZXRpbmctZnVuY3Rpb25zLmNyZWF0ZS10YXJnZXQoJHF1ZXJ5LCBhbmltYXRpb24pO1xuICAkZmVhdC1zdHJ1Y3R1cmU6IGZlYXR1cmUtdGFyZ2V0aW5nLWZ1bmN0aW9ucy5jcmVhdGUtdGFyZ2V0KCRxdWVyeSwgc3RydWN0dXJlKTtcblxuICBAaW5jbHVkZSBmZWF0dXJlLXRhcmdldGluZy1taXhpbnMudGFyZ2V0cygkZmVhdC1hbmltYXRpb24pIHtcbiAgICB0cmFuc2l0aW9uOiBmdW5jdGlvbnMudHJhbnNpdGlvbi1leGl0KHN0cm9rZS1kYXNob2Zmc2V0LCAwbXMsIHZhcmlhYmxlcy4kdHJhbnNpdGlvbi1kdXJhdGlvbiAqIDIpO1xuICB9XG5cbiAgQGluY2x1ZGUgZmVhdHVyZS10YXJnZXRpbmctbWl4aW5zLnRhcmdldHMoJGZlYXQtc3RydWN0dXJlKSB7XG4gICAgc3Ryb2tlOiBjdXJyZW50Q29sb3I7XG4gICAgc3Ryb2tlLXdpZHRoOiB2YXJpYWJsZXMuJG1hcmstc3Ryb2tlLXNpemUgKiAxLjM7XG4gICAgc3Ryb2tlLWRhc2hvZmZzZXQ6IHZhcmlhYmxlcy4kbWFyay1wYXRoLWxlbmd0aF87XG4gICAgc3Ryb2tlLWRhc2hhcnJheTogdmFyaWFibGVzLiRtYXJrLXBhdGgtbGVuZ3RoXztcbiAgfVxufVxuXG5AbWl4aW4gY2hlY2ttYXJrLXBhdGgtLW1hcmtlZF8ge1xuICBzdHJva2UtZGFzaG9mZnNldDogMDtcbn1cblxuLy8gTWl4ZWQgbWFya1xuXG5AbWl4aW4gbWl4ZWRtYXJrXygkcXVlcnk6IGZlYXR1cmUtdGFyZ2V0aW5nLWZ1bmN0aW9ucy5hbGwoKSkge1xuICAkZmVhdC1hbmltYXRpb246IGZlYXR1cmUtdGFyZ2V0aW5nLWZ1bmN0aW9ucy5jcmVhdGUtdGFyZ2V0KCRxdWVyeSwgYW5pbWF0aW9uKTtcbiAgJGZlYXQtc3RydWN0dXJlOiBmZWF0dXJlLXRhcmdldGluZy1mdW5jdGlvbnMuY3JlYXRlLXRhcmdldCgkcXVlcnksIHN0cnVjdHVyZSk7XG5cbiAgQGluY2x1ZGUgZmVhdHVyZS10YXJnZXRpbmctbWl4aW5zLnRhcmdldHMoJGZlYXQtc3RydWN0dXJlKSB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiAwO1xuICAgIHRyYW5zZm9ybTogc2NhbGVYKDApIHJvdGF0ZSgwZGVnKTtcbiAgICBib3JkZXItd2lkdGg6IG1hdGguZmxvb3IodmFyaWFibGVzLiRtYXJrLXN0cm9rZS1zaXplKSAvIDI7XG4gICAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcbiAgICBvcGFjaXR5OiAwO1xuICB9XG5cbiAgQGluY2x1ZGUgZmVhdHVyZS10YXJnZXRpbmctbWl4aW5zLnRhcmdldHMoJGZlYXQtYW5pbWF0aW9uKSB7XG4gICAgdHJhbnNpdGlvbjpcbiAgICAgIGZ1bmN0aW9ucy50cmFuc2l0aW9uLWV4aXQob3BhY2l0eSksXG4gICAgICBmdW5jdGlvbnMudHJhbnNpdGlvbi1leGl0KHRyYW5zZm9ybSk7XG4gIH1cbn1cblxuQG1peGluIG1peGVkbWFyay0tY2hlY2tlZF8ge1xuICB0cmFuc2Zvcm06IHNjYWxlWCgxKSByb3RhdGUoLTQ1ZGVnKTtcbn1cblxuQG1peGluIG1peGVkbWFyay0taW5kZXRlcm1pbmF0ZV8ge1xuICB0cmFuc2Zvcm06IHNjYWxlWCgxKSByb3RhdGUoMGRlZyk7XG4gIG9wYWNpdHk6IDE7XG59XG5cbi8vL1xuLy8vIFJlc2V0cyB0b3VjaCB0YXJnZXQtcmVsYXRlZCBzdHlsZXMuIFRoaXMgaXMgY2FsbGVkIGZyb20gdGhlIGRlbnNpdHkgbWl4aW4gdG9cbi8vLyBhdXRvbWF0aWNhbGx5IHJlbW92ZSB0aGUgaW5jcmVhc2VkIHRvdWNoIHRhcmdldCwgc2luY2UgZGVuc2UgY29tcG9uZW50c1xuLy8vIGRvbid0IGhhdmUgdGhlIHNhbWUgZGVmYXVsdCBhMTF5IHJlcXVpcmVtZW50cy5cbi8vLyBAYWNjZXNzIHByaXZhdGVcbi8vL1xuQG1peGluIHRvdWNoLXRhcmdldC1yZXNldF8oJHF1ZXJ5OiBmZWF0dXJlLXRhcmdldGluZy1mdW5jdGlvbnMuYWxsKCkpIHtcbiAgJGZlYXQtc3RydWN0dXJlOiBmZWF0dXJlLXRhcmdldGluZy1mdW5jdGlvbnMuY3JlYXRlLXRhcmdldCgkcXVlcnksIHN0cnVjdHVyZSk7XG5cbiAgQGluY2x1ZGUgZmVhdHVyZS10YXJnZXRpbmctbWl4aW5zLnRhcmdldHMoJGZlYXQtc3RydWN0dXJlKSB7XG4gICAgbWFyZ2luOiAwO1xuICB9XG59XG4iLCIvL1xuLy8gQ29weXJpZ2h0IDIwMTcgR29vZ2xlIEluYy5cbi8vXG4vLyBQZXJtaXNzaW9uIGlzIGhlcmVieSBncmFudGVkLCBmcmVlIG9mIGNoYXJnZSwgdG8gYW55IHBlcnNvbiBvYnRhaW5pbmcgYSBjb3B5XG4vLyBvZiB0aGlzIHNvZnR3YXJlIGFuZCBhc3NvY2lhdGVkIGRvY3VtZW50YXRpb24gZmlsZXMgKHRoZSBcIlNvZnR3YXJlXCIpLCB0byBkZWFsXG4vLyBpbiB0aGUgU29mdHdhcmUgd2l0aG91dCByZXN0cmljdGlvbiwgaW5jbHVkaW5nIHdpdGhvdXQgbGltaXRhdGlvbiB0aGUgcmlnaHRzXG4vLyB0byB1c2UsIGNvcHksIG1vZGlmeSwgbWVyZ2UsIHB1Ymxpc2gsIGRpc3RyaWJ1dGUsIHN1YmxpY2Vuc2UsIGFuZC9vciBzZWxsXG4vLyBjb3BpZXMgb2YgdGhlIFNvZnR3YXJlLCBhbmQgdG8gcGVybWl0IHBlcnNvbnMgdG8gd2hvbSB0aGUgU29mdHdhcmUgaXNcbi8vIGZ1cm5pc2hlZCB0byBkbyBzbywgc3ViamVjdCB0byB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnM6XG4vL1xuLy8gVGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UgYW5kIHRoaXMgcGVybWlzc2lvbiBub3RpY2Ugc2hhbGwgYmUgaW5jbHVkZWQgaW5cbi8vIGFsbCBjb3BpZXMgb3Igc3Vic3RhbnRpYWwgcG9ydGlvbnMgb2YgdGhlIFNvZnR3YXJlLlxuLy9cbi8vIFRIRSBTT0ZUV0FSRSBJUyBQUk9WSURFRCBcIkFTIElTXCIsIFdJVEhPVVQgV0FSUkFOVFkgT0YgQU5ZIEtJTkQsIEVYUFJFU1MgT1Jcbi8vIElNUExJRUQsIElOQ0xVRElORyBCVVQgTk9UIExJTUlURUQgVE8gVEhFIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZLFxuLy8gRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQU5EIE5PTklORlJJTkdFTUVOVC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFXG4vLyBBVVRIT1JTIE9SIENPUFlSSUdIVCBIT0xERVJTIEJFIExJQUJMRSBGT1IgQU5ZIENMQUlNLCBEQU1BR0VTIE9SIE9USEVSXG4vLyBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQU4gQUNUSU9OIE9GIENPTlRSQUNULCBUT1JUIE9SIE9USEVSV0lTRSwgQVJJU0lORyBGUk9NLFxuLy8gT1VUIE9GIE9SIElOIENPTk5FQ1RJT04gV0lUSCBUSEUgU09GVFdBUkUgT1IgVEhFIFVTRSBPUiBPVEhFUiBERUFMSU5HUyBJTlxuLy8gVEhFIFNPRlRXQVJFLlxuLy9cblxuQHVzZSBcInNhc3M6bWFwXCI7XG5AdXNlIFwiQG1hdGVyaWFsL2ZlYXR1cmUtdGFyZ2V0aW5nL2Z1bmN0aW9uc1wiIGFzIGZlYXR1cmUtdGFyZ2V0aW5nLWZ1bmN0aW9ucztcbkB1c2UgXCJAbWF0ZXJpYWwvZmVhdHVyZS10YXJnZXRpbmcvbWl4aW5zXCI7XG5AdXNlIFwiLi92YXJpYWJsZXNcIjtcbkB1c2UgXCIuL2Z1bmN0aW9uc1wiO1xuXG5AbWl4aW4gY29yZS1zdHlsZXMoJHF1ZXJ5OiBmZWF0dXJlLXRhcmdldGluZy1mdW5jdGlvbnMuYWxsKCkpIHtcbiAgJGZlYXQtY29sb3I6IGZlYXR1cmUtdGFyZ2V0aW5nLWZ1bmN0aW9ucy5jcmVhdGUtdGFyZ2V0KCRxdWVyeSwgY29sb3IpO1xuXG4gIDpyb290IHtcbiAgICBAaW5jbHVkZSBtaXhpbnMudGFyZ2V0cygkZmVhdC1jb2xvcikge1xuICAgICAgQGVhY2ggJHN0eWxlIGluIG1hcC5rZXlzKHZhcmlhYmxlcy4kcHJvcGVydHktdmFsdWVzKSB7XG4gICAgICAgIC0tbWRjLXRoZW1lLSN7JHN0eWxlfTogI3ttYXAuZ2V0KHZhcmlhYmxlcy4kcHJvcGVydHktdmFsdWVzLCAkc3R5bGUpfTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBAZWFjaCAkc3R5bGUgaW4gbWFwLmtleXModmFyaWFibGVzLiRwcm9wZXJ0eS12YWx1ZXMpIHtcbiAgICBAaWYgJHN0eWxlICE9IFwiYmFja2dyb3VuZFwiIGFuZCAkc3R5bGUgIT0gXCJzdXJmYWNlXCIge1xuICAgICAgLm1kYy10aGVtZS0tI3skc3R5bGV9IHtcbiAgICAgICAgQGluY2x1ZGUgbWl4aW5zLnRhcmdldHMoJGZlYXQtY29sb3IpIHtcbiAgICAgICAgICBAaW5jbHVkZSBwcm9wKGNvbG9yLCAkc3R5bGUsIHRydWUpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfSBAZWxzZSB7XG4gICAgICAubWRjLXRoZW1lLS0jeyRzdHlsZX0ge1xuICAgICAgICBAaW5jbHVkZSBtaXhpbnMudGFyZ2V0cygkZmVhdC1jb2xvcikge1xuICAgICAgICAgIEBpbmNsdWRlIHByb3AoYmFja2dyb3VuZC1jb2xvciwgJHN0eWxlKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC8vIENTUyBydWxlcyBmb3IgdXNpbmcgcHJpbWFyeSBhbmQgc2Vjb25kYXJ5IChwbHVzIGxpZ2h0L2RhcmsgdmFyaWFudHMpIGFzIGJhY2tncm91bmQgY29sb3JzLlxuICBAZWFjaCAkc3R5bGUgaW4gKFwicHJpbWFyeVwiLCBcInNlY29uZGFyeVwiKSB7XG4gICAgLm1kYy10aGVtZS0tI3skc3R5bGV9LWJnIHtcbiAgICAgIEBpbmNsdWRlIG1peGlucy50YXJnZXRzKCRmZWF0LWNvbG9yKSB7XG4gICAgICAgIEBpbmNsdWRlIHByb3AoYmFja2dyb3VuZC1jb2xvciwgJHN0eWxlLCB0cnVlKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuLy8gQXBwbGllcyB0aGUgY29ycmVjdCB0aGVtZSBjb2xvciBzdHlsZSB0byB0aGUgc3BlY2lmaWVkIHByb3BlcnR5LlxuLy8gJHByb3BlcnR5IGlzIHR5cGljYWxseSBjb2xvciBvciBiYWNrZ3JvdW5kLWNvbG9yLCBidXQgY2FuIGJlIGFueSBDU1MgcHJvcGVydHkgdGhhdCBhY2NlcHRzIGNvbG9yIHZhbHVlcy5cbi8vICRzdHlsZSBzaG91bGQgYmUgb25lIG9mIHRoZSBtYXAga2V5cyBpbiAkbWRjLXRoZW1lLXByb3BlcnR5LXZhbHVlcyAoX3ZhcmlhYmxlcy5zY3NzKSwgb3IgYSBjb2xvciB2YWx1ZS5cbkBtaXhpbiBwcm9wKCRwcm9wZXJ0eSwgJHN0eWxlLCAkaW1wb3J0YW50OiBmYWxzZSkge1xuICAkaW1wb3J0YW50LXJ1bGU6IGlmKCRpbXBvcnRhbnQsIFwiIWltcG9ydGFudFwiLCBcIlwiKTtcblxuICBAaWYgZnVuY3Rpb25zLmlzLXZhci13aXRoLWZhbGxiYWNrXygkc3R5bGUpIHtcbiAgICAjeyRwcm9wZXJ0eX06IGZ1bmN0aW9ucy5nZXQtdmFyLWZhbGxiYWNrXygkc3R5bGUpICN7JGltcG9ydGFudC1ydWxlfTtcbiAgICAvKiBAYWx0ZXJuYXRlICovXG4gICAgI3skcHJvcGVydHl9OiBmdW5jdGlvbnMudmFyXygkc3R5bGUpICN7JGltcG9ydGFudC1ydWxlfTtcbiAgfSBAZWxzZSBpZiB2YXJpYWJsZXMuaXMtdmFsaWQtdGhlbWUtcHJvcC12YWx1ZV8oJHN0eWxlKSB7XG4gICAgI3skcHJvcGVydHl9OiAkc3R5bGUgI3skaW1wb3J0YW50LXJ1bGV9O1xuICB9IEBlbHNlIHtcbiAgICBAaWYgbm90IG1hcC5oYXMta2V5KHZhcmlhYmxlcy4kcHJvcGVydHktdmFsdWVzLCAkc3R5bGUpIHtcbiAgICAgIEBlcnJvciBcIkludmFsaWQgc3R5bGU6ICcjeyRzdHlsZX0nLiBDaG9vc2Ugb25lIG9mOiAje21hcC5rZXlzKHZhcmlhYmxlcy4kcHJvcGVydHktdmFsdWVzKX1cIjtcbiAgICB9XG4gICAgJHZhbHVlOiBtYXAuZ2V0KHZhcmlhYmxlcy4kcHJvcGVydHktdmFsdWVzLCAkc3R5bGUpO1xuXG4gICAgI3skcHJvcGVydHl9OiAkdmFsdWUgI3skaW1wb3J0YW50LXJ1bGV9O1xuICAgIC8qIEBhbHRlcm5hdGUgKi9cbiAgICAjeyRwcm9wZXJ0eX06IHZhcigtLW1kYy10aGVtZS0jeyRzdHlsZX0sICR2YWx1ZSkgI3skaW1wb3J0YW50LXJ1bGV9O1xuICB9XG59XG4iLCIvL1xuLy8gQ29weXJpZ2h0IDIwMTYgR29vZ2xlIEluYy5cbi8vXG4vLyBQZXJtaXNzaW9uIGlzIGhlcmVieSBncmFudGVkLCBmcmVlIG9mIGNoYXJnZSwgdG8gYW55IHBlcnNvbiBvYnRhaW5pbmcgYSBjb3B5XG4vLyBvZiB0aGlzIHNvZnR3YXJlIGFuZCBhc3NvY2lhdGVkIGRvY3VtZW50YXRpb24gZmlsZXMgKHRoZSBcIlNvZnR3YXJlXCIpLCB0byBkZWFsXG4vLyBpbiB0aGUgU29mdHdhcmUgd2l0aG91dCByZXN0cmljdGlvbiwgaW5jbHVkaW5nIHdpdGhvdXQgbGltaXRhdGlvbiB0aGUgcmlnaHRzXG4vLyB0byB1c2UsIGNvcHksIG1vZGlmeSwgbWVyZ2UsIHB1Ymxpc2gsIGRpc3RyaWJ1dGUsIHN1YmxpY2Vuc2UsIGFuZC9vciBzZWxsXG4vLyBjb3BpZXMgb2YgdGhlIFNvZnR3YXJlLCBhbmQgdG8gcGVybWl0IHBlcnNvbnMgdG8gd2hvbSB0aGUgU29mdHdhcmUgaXNcbi8vIGZ1cm5pc2hlZCB0byBkbyBzbywgc3ViamVjdCB0byB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnM6XG4vL1xuLy8gVGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UgYW5kIHRoaXMgcGVybWlzc2lvbiBub3RpY2Ugc2hhbGwgYmUgaW5jbHVkZWQgaW5cbi8vIGFsbCBjb3BpZXMgb3Igc3Vic3RhbnRpYWwgcG9ydGlvbnMgb2YgdGhlIFNvZnR3YXJlLlxuLy9cbi8vIFRIRSBTT0ZUV0FSRSBJUyBQUk9WSURFRCBcIkFTIElTXCIsIFdJVEhPVVQgV0FSUkFOVFkgT0YgQU5ZIEtJTkQsIEVYUFJFU1MgT1Jcbi8vIElNUExJRUQsIElOQ0xVRElORyBCVVQgTk9UIExJTUlURUQgVE8gVEhFIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZLFxuLy8gRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQU5EIE5PTklORlJJTkdFTUVOVC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFXG4vLyBBVVRIT1JTIE9SIENPUFlSSUdIVCBIT0xERVJTIEJFIExJQUJMRSBGT1IgQU5ZIENMQUlNLCBEQU1BR0VTIE9SIE9USEVSXG4vLyBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQU4gQUNUSU9OIE9GIENPTlRSQUNULCBUT1JUIE9SIE9USEVSV0lTRSwgQVJJU0lORyBGUk9NLFxuLy8gT1VUIE9GIE9SIElOIENPTk5FQ1RJT04gV0lUSCBUSEUgU09GVFdBUkUgT1IgVEhFIFVTRSBPUiBPVEhFUiBERUFMSU5HUyBJTlxuLy8gVEhFIFNPRlRXQVJFLlxuLy9cblxuQHVzZSBcInNhc3M6Y29sb3JcIjtcbkB1c2UgXCJzYXNzOm1hcFwiO1xuQHVzZSBcIkBtYXRlcmlhbC9hbmltYXRpb24vZnVuY3Rpb25zXCIgYXMgZnVuY3Rpb25zMjtcbkB1c2UgXCJAbWF0ZXJpYWwvYW5pbWF0aW9uL3ZhcmlhYmxlc1wiIGFzIHZhcmlhYmxlczI7XG5AdXNlIFwiQG1hdGVyaWFsL2Jhc2UvbWl4aW5zXCIgYXMgYmFzZS1taXhpbnM7XG5AdXNlIFwiQG1hdGVyaWFsL2ZlYXR1cmUtdGFyZ2V0aW5nL2Z1bmN0aW9uc1wiIGFzIGZlYXR1cmUtdGFyZ2V0aW5nLWZ1bmN0aW9ucztcbkB1c2UgXCJAbWF0ZXJpYWwvZmVhdHVyZS10YXJnZXRpbmcvbWl4aW5zXCIgYXMgZmVhdHVyZS10YXJnZXRpbmctbWl4aW5zO1xuQHVzZSBcIkBtYXRlcmlhbC90aGVtZS9taXhpbnNcIiBhcyB0aGVtZS1taXhpbnM7XG5AdXNlIFwiLi9mdW5jdGlvbnNcIjtcbkB1c2UgXCIuL2tleWZyYW1lc1wiO1xuQHVzZSBcIi4vdmFyaWFibGVzXCI7XG5AdXNlIFwiQG1hdGVyaWFsL3RoZW1lL3ZhcmlhYmxlc1wiIGFzIHRoZW1lLXZhcmlhYmxlcztcblxuQG1peGluIGNvcmUtc3R5bGVzKCRxdWVyeTogZmVhdHVyZS10YXJnZXRpbmctZnVuY3Rpb25zLmFsbCgpKSB7XG4gIC8vIHBvc3Rjc3MtYmVtLWxpbnRlcjogZGVmaW5lIHJpcHBsZS1zdXJmYWNlXG5cbiAgJGZlYXQtc3RydWN0dXJlOiBmZWF0dXJlLXRhcmdldGluZy1mdW5jdGlvbnMuY3JlYXRlLXRhcmdldCgkcXVlcnksIHN0cnVjdHVyZSk7XG5cbiAgLm1kYy1yaXBwbGUtc3VyZmFjZSB7XG4gICAgQGluY2x1ZGUgc3VyZmFjZSgkcXVlcnk6ICRxdWVyeSk7XG4gICAgQGluY2x1ZGUgc3RhdGVzKCRxdWVyeTogJHF1ZXJ5KTtcbiAgICBAaW5jbHVkZSByYWRpdXMtYm91bmRlZCgkcXVlcnk6ICRxdWVyeSk7XG5cbiAgICBAaW5jbHVkZSBmZWF0dXJlLXRhcmdldGluZy1taXhpbnMudGFyZ2V0cygkZmVhdC1zdHJ1Y3R1cmUpIHtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgIG91dGxpbmU6IG5vbmU7XG4gICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIH1cblxuICAgICZbZGF0YS1tZGMtcmlwcGxlLWlzLXVuYm91bmRlZF0ge1xuICAgICAgQGluY2x1ZGUgcmFkaXVzLXVuYm91bmRlZCgkcXVlcnk6ICRxdWVyeSk7XG5cbiAgICAgIEBpbmNsdWRlIGZlYXR1cmUtdGFyZ2V0aW5nLW1peGlucy50YXJnZXRzKCRmZWF0LXN0cnVjdHVyZSkge1xuICAgICAgICBvdmVyZmxvdzogdmlzaWJsZTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAmLS1wcmltYXJ5IHtcbiAgICAgIEBpbmNsdWRlIHN0YXRlcyhwcmltYXJ5LCAkcXVlcnk6ICRxdWVyeSk7XG4gICAgfVxuXG4gICAgJi0tYWNjZW50IHtcbiAgICAgIEBpbmNsdWRlIHN0YXRlcyhzZWNvbmRhcnksICRxdWVyeTogJHF1ZXJ5KTtcbiAgICB9XG4gIH1cblxuICAvLyBwb3N0Y3NzLWJlbS1saW50ZXI6IGVuZFxufVxuXG5AbWl4aW4gY29tbW9uKCRxdWVyeTogZmVhdHVyZS10YXJnZXRpbmctZnVuY3Rpb25zLmFsbCgpKSB7XG4gICRmZWF0LWFuaW1hdGlvbjogZmVhdHVyZS10YXJnZXRpbmctZnVuY3Rpb25zLmNyZWF0ZS10YXJnZXQoJHF1ZXJ5LCBhbmltYXRpb24pO1xuXG4gIC8vIEVuc3VyZSB0aGF0IHN0eWxlcyBuZWVkZWQgYnkgYW55IGNvbXBvbmVudCB1c2luZyBNREMgUmlwcGxlIGFyZSBlbWl0dGVkLCBidXQgb25seSBvbmNlLlxuICAvLyAoRXZlcnkgY29tcG9uZW50IHVzaW5nIE1EQyBSaXBwbGUgaW1wb3J0cyB0aGVzZSBtaXhpbnMsIGJ1dCBkb2Vzbid0IG5lY2Vzc2FyaWx5IGltcG9ydFxuICAvLyBtZGMtcmlwcGxlLnNjc3MuKVxuICBAaW5jbHVkZSBmZWF0dXJlLXRhcmdldGluZy1taXhpbnMudGFyZ2V0cygkZmVhdC1hbmltYXRpb24pIHtcbiAgICBAaW5jbHVkZSBiYXNlLW1peGlucy5lbWl0LW9uY2UoXCJtZGMtcmlwcGxlL2NvbW1vbi9hbmltYXRpb25cIikge1xuICAgICAgQGluY2x1ZGUga2V5ZnJhbWVzLmtleWZyYW1lc187XG4gICAgfVxuICB9XG59XG5cbkBtaXhpbiBzdXJmYWNlKCRxdWVyeTogZmVhdHVyZS10YXJnZXRpbmctZnVuY3Rpb25zLmFsbCgpLCAkcmlwcGxlLXRhcmdldDogXCImXCIpIHtcbiAgJGZlYXQtYW5pbWF0aW9uOiBmZWF0dXJlLXRhcmdldGluZy1mdW5jdGlvbnMuY3JlYXRlLXRhcmdldCgkcXVlcnksIGFuaW1hdGlvbik7XG4gICRmZWF0LXN0cnVjdHVyZTogZmVhdHVyZS10YXJnZXRpbmctZnVuY3Rpb25zLmNyZWF0ZS10YXJnZXQoJHF1ZXJ5LCBzdHJ1Y3R1cmUpO1xuXG4gIEBpbmNsdWRlIGZlYXR1cmUtdGFyZ2V0aW5nLW1peGlucy50YXJnZXRzKCRmZWF0LXN0cnVjdHVyZSkge1xuICAgIC0tbWRjLXJpcHBsZS1mZy1zaXplOiAwO1xuICAgIC0tbWRjLXJpcHBsZS1sZWZ0OiAwO1xuICAgIC0tbWRjLXJpcHBsZS10b3A6IDA7XG4gICAgLS1tZGMtcmlwcGxlLWZnLXNjYWxlOiAxO1xuICAgIC0tbWRjLXJpcHBsZS1mZy10cmFuc2xhdGUtZW5kOiAwO1xuICAgIC0tbWRjLXJpcHBsZS1mZy10cmFuc2xhdGUtc3RhcnQ6IDA7XG5cbiAgICAtd2Via2l0LXRhcC1oaWdobGlnaHQtY29sb3I6IHJnYmEoMCwgMCwgMCwgMCk7XG4gICAgLy8gISFETyBOT1QgUkVNT1ZFISEgbWRjLXJpcHBsZS13aWxsLWNoYW5nZS1yZXBsYWNlclxuICB9XG5cbiAgI3skcmlwcGxlLXRhcmdldH06OmJlZm9yZSxcbiAgI3skcmlwcGxlLXRhcmdldH06OmFmdGVyIHtcbiAgICBAaW5jbHVkZSBmZWF0dXJlLXRhcmdldGluZy1taXhpbnMudGFyZ2V0cygkZmVhdC1zdHJ1Y3R1cmUpIHtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgICAgIG9wYWNpdHk6IDA7XG4gICAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgfVxuICB9XG5cbiAgI3skcmlwcGxlLXRhcmdldH06OmJlZm9yZSB7XG4gICAgQGluY2x1ZGUgZmVhdHVyZS10YXJnZXRpbmctbWl4aW5zLnRhcmdldHMoJGZlYXQtYW5pbWF0aW9uKSB7XG4gICAgICAvLyBBbHNvIHRyYW5zaXRpb24gYmFja2dyb3VuZC1jb2xvciB0byBhdm9pZCB1bm5hdHVyYWwgY29sb3IgZmxhc2hlcyB3aGVuIHRvZ2dsaW5nIGFjdGl2YXRlZC9zZWxlY3RlZCBzdGF0ZVxuICAgICAgdHJhbnNpdGlvbjpcbiAgICAgICAgb3BhY2l0eSB2YXJpYWJsZXMuJHN0YXRlcy13YXNoLWR1cmF0aW9uIGxpbmVhcixcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvciB2YXJpYWJsZXMuJHN0YXRlcy13YXNoLWR1cmF0aW9uIGxpbmVhcjtcbiAgICB9XG5cbiAgICBAaW5jbHVkZSBmZWF0dXJlLXRhcmdldGluZy1taXhpbnMudGFyZ2V0cygkZmVhdC1zdHJ1Y3R1cmUpIHtcbiAgICAgIHotaW5kZXg6IDE7IC8vIEVuc3VyZSB0aGF0IHRoZSByaXBwbGUgd2FzaCBmb3IgaG92ZXIvZm9jdXMgc3RhdGVzIGlzIGRpc3BsYXllZCBvbiB0b3Agb2YgcG9zaXRpb25lZCBjaGlsZCBlbGVtZW50c1xuICAgIH1cbiAgfVxuXG4gIC8vIENvbW1vbiBzdHlsZXMgZm9yIHVwZ3JhZGVkIHN1cmZhY2VzIChzb21lIG9mIHRoZXNlIGRlcGVuZCBvbiBjdXN0b20gcHJvcGVydGllcyBzZXQgdmlhIEpTIG9yIG90aGVyIG1peGlucylcblxuICAmLm1kYy1yaXBwbGUtdXBncmFkZWQge1xuICAgICN7JHJpcHBsZS10YXJnZXR9OjpiZWZvcmUge1xuICAgICAgQGluY2x1ZGUgZmVhdHVyZS10YXJnZXRpbmctbWl4aW5zLnRhcmdldHMoJGZlYXQtc3RydWN0dXJlKSB7XG4gICAgICAgIHRyYW5zZm9ybTogc2NhbGUodmFyKC0tbWRjLXJpcHBsZS1mZy1zY2FsZSwgMSkpO1xuICAgICAgfVxuICAgIH1cblxuICAgICN7JHJpcHBsZS10YXJnZXR9OjphZnRlciB7XG4gICAgICBAaW5jbHVkZSBmZWF0dXJlLXRhcmdldGluZy1taXhpbnMudGFyZ2V0cygkZmVhdC1zdHJ1Y3R1cmUpIHtcbiAgICAgICAgdG9wOiAwO1xuICAgICAgICAvKiBAbm9mbGlwICovXG4gICAgICAgIGxlZnQ6IDA7XG4gICAgICAgIHRyYW5zZm9ybTogc2NhbGUoMCk7XG4gICAgICAgIHRyYW5zZm9ybS1vcmlnaW46IGNlbnRlciBjZW50ZXI7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgJi5tZGMtcmlwcGxlLXVwZ3JhZGVkLS11bmJvdW5kZWQge1xuICAgICN7JHJpcHBsZS10YXJnZXR9OjphZnRlciB7XG4gICAgICBAaW5jbHVkZSBmZWF0dXJlLXRhcmdldGluZy1taXhpbnMudGFyZ2V0cygkZmVhdC1zdHJ1Y3R1cmUpIHtcbiAgICAgICAgdG9wOiB2YXIoLS1tZGMtcmlwcGxlLXRvcCwgMCk7XG4gICAgICAgIC8qIEBub2ZsaXAgKi9cbiAgICAgICAgbGVmdDogdmFyKC0tbWRjLXJpcHBsZS1sZWZ0LCAwKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAmLm1kYy1yaXBwbGUtdXBncmFkZWQtLWZvcmVncm91bmQtYWN0aXZhdGlvbiB7XG4gICAgI3skcmlwcGxlLXRhcmdldH06OmFmdGVyIHtcbiAgICAgIEBpbmNsdWRlIGZlYXR1cmUtdGFyZ2V0aW5nLW1peGlucy50YXJnZXRzKCRmZWF0LWFuaW1hdGlvbikge1xuICAgICAgICBhbmltYXRpb246XG4gICAgICAgICAgbWRjLXJpcHBsZS1mZy1yYWRpdXMtaW4gdmFyaWFibGVzLiR0cmFuc2xhdGUtZHVyYXRpb24gZm9yd2FyZHMsXG4gICAgICAgICAgbWRjLXJpcHBsZS1mZy1vcGFjaXR5LWluIHZhcmlhYmxlcy4kZmFkZS1pbi1kdXJhdGlvbiBmb3J3YXJkcztcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAmLm1kYy1yaXBwbGUtdXBncmFkZWQtLWZvcmVncm91bmQtZGVhY3RpdmF0aW9uIHtcbiAgICAjeyRyaXBwbGUtdGFyZ2V0fTo6YWZ0ZXIge1xuICAgICAgQGluY2x1ZGUgZmVhdHVyZS10YXJnZXRpbmctbWl4aW5zLnRhcmdldHMoJGZlYXQtYW5pbWF0aW9uKSB7XG4gICAgICAgIGFuaW1hdGlvbjogbWRjLXJpcHBsZS1mZy1vcGFjaXR5LW91dCB2YXJpYWJsZXMuJGZhZGUtb3V0LWR1cmF0aW9uO1xuICAgICAgfVxuXG4gICAgICBAaW5jbHVkZSBmZWF0dXJlLXRhcmdldGluZy1taXhpbnMudGFyZ2V0cygkZmVhdC1zdHJ1Y3R1cmUpIHtcbiAgICAgICAgLy8gUmV0YWluIHRyYW5zZm9ybSBmcm9tIG1kYy1yaXBwbGUtZmctcmFkaXVzLWluIGFjdGl2YXRpb25cbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUodmFyKC0tbWRjLXJpcHBsZS1mZy10cmFuc2xhdGUtZW5kLCAwKSkgc2NhbGUodmFyKC0tbWRjLXJpcHBsZS1mZy1zY2FsZSwgMSkpO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG5AbWl4aW4gc3RhdGVzLWJhc2UtY29sb3IoXG4gICRjb2xvciwgJHF1ZXJ5OiBmZWF0dXJlLXRhcmdldGluZy1mdW5jdGlvbnMuYWxsKCksICRyaXBwbGUtdGFyZ2V0OiBcIiZcIikge1xuICAkZmVhdC1jb2xvcjogZmVhdHVyZS10YXJnZXRpbmctZnVuY3Rpb25zLmNyZWF0ZS10YXJnZXQoJHF1ZXJ5LCBjb2xvcik7XG5cbiAgI3skcmlwcGxlLXRhcmdldH06OmJlZm9yZSxcbiAgI3skcmlwcGxlLXRhcmdldH06OmFmdGVyIHtcbiAgICBAaW5jbHVkZSBmZWF0dXJlLXRhcmdldGluZy1taXhpbnMudGFyZ2V0cygkZmVhdC1jb2xvcikge1xuICAgICAgQGlmIGNvbG9yLmFscGhhKHRoZW1lLXZhcmlhYmxlcy5wcm9wLXZhbHVlKCRjb2xvcikpID4gMCB7XG4gICAgICAgIEBpbmNsdWRlIHRoZW1lLW1peGlucy5wcm9wKGJhY2tncm91bmQtY29sb3IsICRjb2xvcik7XG4gICAgICB9IEBlbHNlIHtcbiAgICAgICAgLy8gSWYgYSBjb2xvciB3aXRoIDAgYWxwaGEgaXMgc3BlY2lmaWVkLCBkb24ndCByZW5kZXIgdGhlIHJpcHBsZSBwc2V1ZG8tZWxlbWVudHMgYXQgYWxsLlxuICAgICAgICAvLyBUaGlzIGF2b2lkcyB1bm5lY2Vzc2FyeSB0cmFuc2l0aW9ucyBhbmQgb3ZlcmZsb3cuXG4gICAgICAgIGNvbnRlbnQ6IG5vbmU7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbi8vL1xuLy8vIEN1c3RvbWl6ZXMgcmlwcGxlIG9wYWNpdGllcyBpbiBgaG92ZXJgLCBgZm9jdXNgLCBvciBgcHJlc3NgIHN0YXRlc1xuLy8vIEBwYXJhbSB7bWFwfSAkb3BhY2l0eS1tYXAgLSBtYXAgc3BlY2lmeWluZyBjdXN0b20gb3BhY2l0eSBvZiB6ZXJvIG9yIG1vcmUgc3RhdGVzXG4vLy8gQHBhcmFtIHtib29sfSAkaGFzLW5lc3RlZC1mb2N1c2FibGUtZWxlbWVudCAtIHdoZXRoZXIgdGhlIGNvbXBvbmVudCBjb250YWlucyBhIGZvY3VzYWJsZSBlbGVtZW50IGluIHRoZSByb290XG4vLy8gQHBhcmFtIHtzdHJpbmd9ICRyaXBwbGUtdGFyZ2V0IC0gdGhlIG9wdGlvbmFsIHNlbGVjdG9yIGZvciB0aGUgcmlwcGxlIGVsZW1lbnRcbi8vL1xuQG1peGluIHN0YXRlcy1vcGFjaXRpZXMoJG9wYWNpdHktbWFwOiAoKSwgJGhhcy1uZXN0ZWQtZm9jdXNhYmxlLWVsZW1lbnQ6IGZhbHNlLCAkcmlwcGxlLXRhcmdldDogXCImXCIsICRxdWVyeTogZmVhdHVyZS10YXJnZXRpbmctZnVuY3Rpb25zLmFsbCgpKSB7XG4gIC8vIEVuc3VyZSBzdWZmaWNpZW50IHNwZWNpZmljaXR5IHRvIG92ZXJyaWRlIGJhc2Ugc3RhdGUgb3BhY2l0aWVzXG4gIEBpZiBtYXAuaGFzLWtleSgkb3BhY2l0eS1tYXAsIGhvdmVyKSB7XG4gICAgQGluY2x1ZGUgc3RhdGVzLWhvdmVyLW9wYWNpdHkobWFwLmdldCgkb3BhY2l0eS1tYXAsIGhvdmVyKSwgJHJpcHBsZS10YXJnZXQ6ICRyaXBwbGUtdGFyZ2V0LCAkcXVlcnk6ICRxdWVyeSk7XG4gIH1cblxuICBAaWYgbWFwLmhhcy1rZXkoJG9wYWNpdHktbWFwLCBmb2N1cykge1xuICAgIEBpbmNsdWRlIHN0YXRlcy1mb2N1cy1vcGFjaXR5KG1hcC5nZXQoJG9wYWNpdHktbWFwLCBmb2N1cyksICRyaXBwbGUtdGFyZ2V0OiAkcmlwcGxlLXRhcmdldCwgJGhhcy1uZXN0ZWQtZm9jdXNhYmxlLWVsZW1lbnQ6ICRoYXMtbmVzdGVkLWZvY3VzYWJsZS1lbGVtZW50LCAkcXVlcnk6ICRxdWVyeSk7XG4gIH1cblxuICBAaWYgbWFwLmhhcy1rZXkoJG9wYWNpdHktbWFwLCBwcmVzcykge1xuICAgIEBpbmNsdWRlIHN0YXRlcy1wcmVzcy1vcGFjaXR5KG1hcC5nZXQoJG9wYWNpdHktbWFwLCBwcmVzcyksICRyaXBwbGUtdGFyZ2V0OiAkcmlwcGxlLXRhcmdldCwgJHF1ZXJ5OiAkcXVlcnkpO1xuICB9XG59XG5cbkBtaXhpbiBzdGF0ZXMtaG92ZXItb3BhY2l0eShcbiAgJG9wYWNpdHksICRxdWVyeTogZmVhdHVyZS10YXJnZXRpbmctZnVuY3Rpb25zLmFsbCgpLCAkcmlwcGxlLXRhcmdldDogXCImXCIpIHtcbiAgJGZlYXQtY29sb3I6IGZlYXR1cmUtdGFyZ2V0aW5nLWZ1bmN0aW9ucy5jcmVhdGUtdGFyZ2V0KCRxdWVyeSwgY29sb3IpO1xuXG4gIC8vIEJhY2tncm91bmQgd2FzaCBzdHlsZXMsIGZvciBib3RoIENTUy1vbmx5IGFuZCB1cGdyYWRlZCBzdGF0ZWZ1bCBzdXJmYWNlc1xuICAmOmhvdmVyIHtcbiAgICAjeyRyaXBwbGUtdGFyZ2V0fTo6YmVmb3JlIHtcbiAgICAgIC8vIE9wYWNpdHkgZmFsbHMgdW5kZXIgY29sb3IgYmVjYXVzZSB0aGUgY2hvc2VuIG9wYWNpdHkgaXMgY29sb3ItZGVwZW5kZW50IGluIHR5cGljYWwgdXNhZ2VcbiAgICAgIEBpbmNsdWRlIGZlYXR1cmUtdGFyZ2V0aW5nLW1peGlucy50YXJnZXRzKCRmZWF0LWNvbG9yKSB7XG4gICAgICAgIG9wYWNpdHk6ICRvcGFjaXR5O1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG5AbWl4aW4gc3RhdGVzLWZvY3VzLW9wYWNpdHkoXG4gICRvcGFjaXR5LFxuICAkaGFzLW5lc3RlZC1mb2N1c2FibGUtZWxlbWVudDogZmFsc2UsXG4gICRxdWVyeTogZmVhdHVyZS10YXJnZXRpbmctZnVuY3Rpb25zLmFsbCgpLFxuICAkcmlwcGxlLXRhcmdldDogXCImXCIpIHtcblxuICAvLyBGb2N1cyBvdmVycmlkZXMgaG92ZXIgYnkgcmV1c2luZyB0aGUgOjpiZWZvcmUgcHNldWRvLWVsZW1lbnQuXG4gIC8vIDpmb2N1cy13aXRoaW4gZ2VuZXJhbGx5IHdvcmtzIG9uIG5vbi1NUyBicm93c2VycyBhbmQgbWF0Y2hlcyB3aGVuIGEgKmNoaWxkKiBvZiB0aGUgZWxlbWVudCBoYXMgZm9jdXMuXG4gIC8vIEl0IGlzIHVzZWZ1bCBmb3IgY2FzZXMgd2hlcmUgYSBjb21wb25lbnQgaGFzIGEgZm9jdXNhYmxlIGVsZW1lbnQgd2l0aGluIHRoZSByb290IG5vZGUsIGUuZy4gdGV4dCBmaWVsZCxcbiAgLy8gYnV0IHVuZGVzaXJhYmxlIGluIGdlbmVyYWwgaW4gY2FzZSBvZiBuZXN0ZWQgc3RhdGVmdWwgY29tcG9uZW50cy5cbiAgLy8gV2UgdXNlIGEgbW9kaWZpZXIgY2xhc3MgZm9yIEpTLWVuYWJsZWQgc3VyZmFjZXMgdG8gc3VwcG9ydCBhbGwgdXNlIGNhc2VzIGluIGFsbCBicm93c2Vycy5cbiAgQGlmICRoYXMtbmVzdGVkLWZvY3VzYWJsZS1lbGVtZW50IHtcbiAgICAvLyBKUy1lbmFibGVkIHNlbGVjdG9ycy5cbiAgICAmLm1kYy1yaXBwbGUtdXBncmFkZWQtLWJhY2tncm91bmQtZm9jdXNlZCxcbiAgICAmLm1kYy1yaXBwbGUtdXBncmFkZWQ6Zm9jdXMtd2l0aGluLFxuICAgIC8vIENTUy1vbmx5IHNlbGVjdG9ycy5cbiAgICAmOm5vdCgubWRjLXJpcHBsZS11cGdyYWRlZCk6Zm9jdXMsXG4gICAgJjpub3QoLm1kYy1yaXBwbGUtdXBncmFkZWQpOmZvY3VzLXdpdGhpbiB7XG4gICAgICAjeyRyaXBwbGUtdGFyZ2V0fTo6YmVmb3JlIHtcbiAgICAgICAgQGluY2x1ZGUgc3RhdGVzLWZvY3VzLW9wYWNpdHktcHJvcGVydGllc18oXG4gICAgICAgICAgJG9wYWNpdHk6ICRvcGFjaXR5LCAkcXVlcnk6ICRxdWVyeSk7XG4gICAgICB9XG4gICAgfVxuICB9IEBlbHNlIHtcbiAgICAvLyBKUy1lbmFibGVkIHNlbGVjdG9ycy5cbiAgICAmLm1kYy1yaXBwbGUtdXBncmFkZWQtLWJhY2tncm91bmQtZm9jdXNlZCxcbiAgICAvLyBDU1Mtb25seSBzZWxlY3RvcnMuXG4gICAgJjpub3QoLm1kYy1yaXBwbGUtdXBncmFkZWQpOmZvY3VzIHtcbiAgICAgICN7JHJpcHBsZS10YXJnZXR9OjpiZWZvcmUge1xuICAgICAgICBAaW5jbHVkZSBzdGF0ZXMtZm9jdXMtb3BhY2l0eS1wcm9wZXJ0aWVzXyhcbiAgICAgICAgICAkb3BhY2l0eTogJG9wYWNpdHksICRxdWVyeTogJHF1ZXJ5KTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuQG1peGluIHN0YXRlcy1mb2N1cy1vcGFjaXR5LXByb3BlcnRpZXNfKCRvcGFjaXR5LCAkcXVlcnkpIHtcbiAgJGZlYXQtYW5pbWF0aW9uOiBmZWF0dXJlLXRhcmdldGluZy1mdW5jdGlvbnMuY3JlYXRlLXRhcmdldCgkcXVlcnksIGFuaW1hdGlvbik7XG4gIC8vIE9wYWNpdHkgZmFsbHMgdW5kZXIgY29sb3IgYmVjYXVzZSB0aGUgY2hvc2VuIG9wYWNpdHkgaXMgY29sb3ItZGVwZW5kZW50IGluIHR5cGljYWwgdXNhZ2VcbiAgJGZlYXQtY29sb3I6IGZlYXR1cmUtdGFyZ2V0aW5nLWZ1bmN0aW9ucy5jcmVhdGUtdGFyZ2V0KCRxdWVyeSwgY29sb3IpO1xuXG4gIC8vIE5vdGUgdGhhdCB0aGlzIGR1cmF0aW9uIGlzIG9ubHkgZWZmZWN0aXZlIG9uIGZvY3VzLCBub3QgYmx1clxuICBAaW5jbHVkZSBmZWF0dXJlLXRhcmdldGluZy1taXhpbnMudGFyZ2V0cygkZmVhdC1hbmltYXRpb24pIHtcbiAgICB0cmFuc2l0aW9uLWR1cmF0aW9uOiA3NW1zO1xuICB9XG5cbiAgQGluY2x1ZGUgZmVhdHVyZS10YXJnZXRpbmctbWl4aW5zLnRhcmdldHMoJGZlYXQtY29sb3IpIHtcbiAgICBvcGFjaXR5OiAkb3BhY2l0eTtcbiAgfVxufVxuXG5AbWl4aW4gc3RhdGVzLXByZXNzLW9wYWNpdHkoJG9wYWNpdHksICRxdWVyeTogZmVhdHVyZS10YXJnZXRpbmctZnVuY3Rpb25zLmFsbCgpLCAkcmlwcGxlLXRhcmdldDogXCImXCIpIHtcbiAgJGZlYXQtYW5pbWF0aW9uOiBmZWF0dXJlLXRhcmdldGluZy1mdW5jdGlvbnMuY3JlYXRlLXRhcmdldCgkcXVlcnksIGFuaW1hdGlvbik7XG4gICRmZWF0LWNvbG9yOiBmZWF0dXJlLXRhcmdldGluZy1mdW5jdGlvbnMuY3JlYXRlLXRhcmdldCgkcXVlcnksIGNvbG9yKTtcblxuICAvLyBTdHlsZXMgZm9yIG5vbi11cGdyYWRlZCAoQ1NTLW9ubHkpIHN0YXRlZnVsIHN1cmZhY2VzXG5cbiAgJjpub3QoLm1kYy1yaXBwbGUtdXBncmFkZWQpIHtcbiAgICAvLyBBcHBseSBwcmVzcyBhZGRpdGl2ZWx5IGJ5IHVzaW5nIHRoZSA6OmFmdGVyIHBzZXVkby1lbGVtZW50XG4gICAgI3skcmlwcGxlLXRhcmdldH06OmFmdGVyIHtcbiAgICAgIEBpbmNsdWRlIGZlYXR1cmUtdGFyZ2V0aW5nLW1peGlucy50YXJnZXRzKCRmZWF0LWFuaW1hdGlvbikge1xuICAgICAgICB0cmFuc2l0aW9uOiBvcGFjaXR5IHZhcmlhYmxlcy4kZmFkZS1vdXQtZHVyYXRpb24gbGluZWFyO1xuICAgICAgfVxuICAgIH1cblxuICAgICY6YWN0aXZlIHtcbiAgICAgICN7JHJpcHBsZS10YXJnZXR9OjphZnRlciB7XG4gICAgICAgIEBpbmNsdWRlIGZlYXR1cmUtdGFyZ2V0aW5nLW1peGlucy50YXJnZXRzKCRmZWF0LWFuaW1hdGlvbikge1xuICAgICAgICAgIHRyYW5zaXRpb24tZHVyYXRpb246IHZhcmlhYmxlcy4kZmFkZS1pbi1kdXJhdGlvbjtcbiAgICAgICAgfVxuXG4gICAgICAgIC8vIE9wYWNpdHkgZmFsbHMgdW5kZXIgY29sb3IgYmVjYXVzZSB0aGUgY2hvc2VuIG9wYWNpdHkgaXMgY29sb3ItZGVwZW5kZW50IGluIHR5cGljYWwgdXNhZ2VcbiAgICAgICAgQGluY2x1ZGUgZmVhdHVyZS10YXJnZXRpbmctbWl4aW5zLnRhcmdldHMoJGZlYXQtY29sb3IpIHtcbiAgICAgICAgICBvcGFjaXR5OiAkb3BhY2l0eTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gICYubWRjLXJpcHBsZS11cGdyYWRlZCB7XG4gICAgQGluY2x1ZGUgZmVhdHVyZS10YXJnZXRpbmctbWl4aW5zLnRhcmdldHMoJGZlYXQtY29sb3IpIHtcbiAgICAgIC0tbWRjLXJpcHBsZS1mZy1vcGFjaXR5OiAjeyRvcGFjaXR5fTtcbiAgICB9XG4gIH1cbn1cblxuLy8gU2ltcGxlIG1peGluIGZvciBiYXNlIHN0YXRlcyB3aGljaCBhdXRvbWF0aWNhbGx5IHNlbGVjdHMgb3BhY2l0eSB2YWx1ZXMgYmFzZWQgb24gd2hldGhlciB0aGUgaW5rIGNvbG9yIGlzXG4vLyBsaWdodCBvciBkYXJrLlxuQG1peGluIHN0YXRlcyhcbiAgJGNvbG9yOiB0aGVtZS12YXJpYWJsZXMucHJvcC12YWx1ZShvbi1zdXJmYWNlKSxcbiAgJGhhcy1uZXN0ZWQtZm9jdXNhYmxlLWVsZW1lbnQ6IGZhbHNlLFxuICAkcXVlcnk6IGZlYXR1cmUtdGFyZ2V0aW5nLWZ1bmN0aW9ucy5hbGwoKSxcbiAgJHJpcHBsZS10YXJnZXQ6IFwiJlwiLFxuKSB7XG4gIEBpbmNsdWRlIHN0YXRlcy1pbnRlcmFjdGlvbnNfKFxuICAgICRjb2xvcjogJGNvbG9yLFxuICAgICRoYXMtbmVzdGVkLWZvY3VzYWJsZS1lbGVtZW50OiAkaGFzLW5lc3RlZC1mb2N1c2FibGUtZWxlbWVudCxcbiAgICAkcXVlcnk6ICRxdWVyeSxcbiAgICAkcmlwcGxlLXRhcmdldDogJHJpcHBsZS10YXJnZXQpO1xufVxuXG4vLyBTaW1wbGUgbWl4aW4gZm9yIGFjdGl2YXRlZCBzdGF0ZXMgd2hpY2ggYXV0b21hdGljYWxseSBzZWxlY3RzIG9wYWNpdHkgdmFsdWVzIGJhc2VkIG9uIHdoZXRoZXIgdGhlIGluayBjb2xvciBpc1xuLy8gbGlnaHQgb3IgZGFyay5cbkBtaXhpbiBzdGF0ZXMtYWN0aXZhdGVkKFxuICAkY29sb3IsICRoYXMtbmVzdGVkLWZvY3VzYWJsZS1lbGVtZW50OiBmYWxzZSwgJHF1ZXJ5OiBmZWF0dXJlLXRhcmdldGluZy1mdW5jdGlvbnMuYWxsKCksICRyaXBwbGUtdGFyZ2V0OiBcIiZcIikge1xuICAkZmVhdC1jb2xvcjogZmVhdHVyZS10YXJnZXRpbmctZnVuY3Rpb25zLmNyZWF0ZS10YXJnZXQoJHF1ZXJ5LCBjb2xvcik7XG4gICRhY3RpdmF0ZWQtb3BhY2l0eTogZnVuY3Rpb25zLnN0YXRlcy1vcGFjaXR5KCRjb2xvciwgYWN0aXZhdGVkKTtcblxuICAmLS1hY3RpdmF0ZWQge1xuICAgIC8vIFN0eWxlbGludCBzZWVtcyB0byB0aGluayB0aGF0ICcmJyBxdWFsaWZpZXMgYXMgYSB0eXBlIHNlbGVjdG9yIGhlcmU/XG4gICAgLy8gc3R5bGVsaW50LWRpc2FibGUtbmV4dC1saW5lIHNlbGVjdG9yLW1heC10eXBlXG4gICAgI3skcmlwcGxlLXRhcmdldH06OmJlZm9yZSB7XG4gICAgICAvLyBPcGFjaXR5IGZhbGxzIHVuZGVyIGNvbG9yIGJlY2F1c2UgdGhlIGNob3NlbiBvcGFjaXR5IGlzIGNvbG9yLWRlcGVuZGVudC5cbiAgICAgIEBpbmNsdWRlIGZlYXR1cmUtdGFyZ2V0aW5nLW1peGlucy50YXJnZXRzKCRmZWF0LWNvbG9yKSB7XG4gICAgICAgIG9wYWNpdHk6ICRhY3RpdmF0ZWQtb3BhY2l0eTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBAaW5jbHVkZSBzdGF0ZXMtaW50ZXJhY3Rpb25zXyhcbiAgICAgICRjb2xvcjogJGNvbG9yLFxuICAgICAgJGhhcy1uZXN0ZWQtZm9jdXNhYmxlLWVsZW1lbnQ6ICRoYXMtbmVzdGVkLWZvY3VzYWJsZS1lbGVtZW50LFxuICAgICAgJG9wYWNpdHktbW9kaWZpZXI6ICRhY3RpdmF0ZWQtb3BhY2l0eSxcbiAgICAgICRxdWVyeTogJHF1ZXJ5LFxuICAgICAgJHJpcHBsZS10YXJnZXQ6ICRyaXBwbGUtdGFyZ2V0KTtcbiAgfVxufVxuXG4vLyBTaW1wbGUgbWl4aW4gZm9yIHNlbGVjdGVkIHN0YXRlcyB3aGljaCBhdXRvbWF0aWNhbGx5IHNlbGVjdHMgb3BhY2l0eSB2YWx1ZXMgYmFzZWQgb24gd2hldGhlciB0aGUgaW5rIGNvbG9yIGlzXG4vLyBsaWdodCBvciBkYXJrLlxuQG1peGluIHN0YXRlcy1zZWxlY3RlZChcbiAgJGNvbG9yLFxuICAkaGFzLW5lc3RlZC1mb2N1c2FibGUtZWxlbWVudDogZmFsc2UsXG4gICRxdWVyeTogZmVhdHVyZS10YXJnZXRpbmctZnVuY3Rpb25zLmFsbCgpLFxuICAkcmlwcGxlLXRhcmdldDogXCImXCIpIHtcbiAgJGZlYXQtY29sb3I6IGZlYXR1cmUtdGFyZ2V0aW5nLWZ1bmN0aW9ucy5jcmVhdGUtdGFyZ2V0KCRxdWVyeSwgY29sb3IpO1xuICAkc2VsZWN0ZWQtb3BhY2l0eTogZnVuY3Rpb25zLnN0YXRlcy1vcGFjaXR5KCRjb2xvciwgc2VsZWN0ZWQpO1xuXG4gICYtLXNlbGVjdGVkIHtcbiAgICAvLyBzdHlsZWxpbnQtZGlzYWJsZS1uZXh0LWxpbmUgc2VsZWN0b3ItbWF4LXR5cGVcbiAgICAjeyRyaXBwbGUtdGFyZ2V0fTo6YmVmb3JlIHtcbiAgICAgIC8vIE9wYWNpdHkgZmFsbHMgdW5kZXIgY29sb3IgYmVjYXVzZSB0aGUgY2hvc2VuIG9wYWNpdHkgaXMgY29sb3ItZGVwZW5kZW50LlxuICAgICAgQGluY2x1ZGUgZmVhdHVyZS10YXJnZXRpbmctbWl4aW5zLnRhcmdldHMoJGZlYXQtY29sb3IpIHtcbiAgICAgICAgb3BhY2l0eTogJHNlbGVjdGVkLW9wYWNpdHk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgc3RhdGVzLWludGVyYWN0aW9uc18oXG4gICAgICAkY29sb3I6ICRjb2xvcixcbiAgICAgICRoYXMtbmVzdGVkLWZvY3VzYWJsZS1lbGVtZW50OiAkaGFzLW5lc3RlZC1mb2N1c2FibGUtZWxlbWVudCxcbiAgICAgICRvcGFjaXR5LW1vZGlmaWVyOiAkc2VsZWN0ZWQtb3BhY2l0eSxcbiAgICAgICRxdWVyeTogJHF1ZXJ5LFxuICAgICAgJHJpcHBsZS10YXJnZXQ6ICRyaXBwbGUtdGFyZ2V0KTtcbiAgfVxufVxuXG5AbWl4aW4gcmFkaXVzLWJvdW5kZWQoXG4gICRyYWRpdXM6IDEwMCUsICRxdWVyeTogZmVhdHVyZS10YXJnZXRpbmctZnVuY3Rpb25zLmFsbCgpLCAkcmlwcGxlLXRhcmdldDogXCImXCIpIHtcbiAgJGZlYXQtc3RydXR1cmU6IGZlYXR1cmUtdGFyZ2V0aW5nLWZ1bmN0aW9ucy5jcmVhdGUtdGFyZ2V0KCRxdWVyeSwgc3RydWN0dXJlKTtcblxuICAjeyRyaXBwbGUtdGFyZ2V0fTo6YmVmb3JlLFxuICAjeyRyaXBwbGUtdGFyZ2V0fTo6YWZ0ZXIge1xuICAgIEBpbmNsdWRlIGZlYXR1cmUtdGFyZ2V0aW5nLW1peGlucy50YXJnZXRzKCRmZWF0LXN0cnV0dXJlKSB7XG4gICAgICB0b3A6IGNhbGMoNTAlIC0gI3skcmFkaXVzfSk7XG4gICAgICAvKiBAbm9mbGlwICovXG4gICAgICBsZWZ0OiBjYWxjKDUwJSAtICN7JHJhZGl1c30pO1xuICAgICAgd2lkdGg6ICRyYWRpdXMgKiAyO1xuICAgICAgaGVpZ2h0OiAkcmFkaXVzICogMjtcbiAgICB9XG4gIH1cblxuICAmLm1kYy1yaXBwbGUtdXBncmFkZWQge1xuICAgICN7JHJpcHBsZS10YXJnZXR9OjphZnRlciB7XG4gICAgICBAaW5jbHVkZSBmZWF0dXJlLXRhcmdldGluZy1taXhpbnMudGFyZ2V0cygkZmVhdC1zdHJ1dHVyZSkge1xuICAgICAgICB3aWR0aDogdmFyKC0tbWRjLXJpcHBsZS1mZy1zaXplLCAkcmFkaXVzKTtcbiAgICAgICAgaGVpZ2h0OiB2YXIoLS1tZGMtcmlwcGxlLWZnLXNpemUsICRyYWRpdXMpO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG5AbWl4aW4gcmFkaXVzLXVuYm91bmRlZChcbiAgJHJhZGl1czogMTAwJSwgJHF1ZXJ5OiBmZWF0dXJlLXRhcmdldGluZy1mdW5jdGlvbnMuYWxsKCksICRyaXBwbGUtdGFyZ2V0OiBcIiZcIikge1xuICAkZmVhdC1zdHJ1dHVyZTogZmVhdHVyZS10YXJnZXRpbmctZnVuY3Rpb25zLmNyZWF0ZS10YXJnZXQoJHF1ZXJ5LCBzdHJ1Y3R1cmUpO1xuXG4gICN7JHJpcHBsZS10YXJnZXR9OjpiZWZvcmUsXG4gICN7JHJpcHBsZS10YXJnZXR9OjphZnRlciB7XG4gICAgQGluY2x1ZGUgZmVhdHVyZS10YXJnZXRpbmctbWl4aW5zLnRhcmdldHMoJGZlYXQtc3RydXR1cmUpIHtcbiAgICAgIHRvcDogY2FsYyg1MCUgLSAjeyRyYWRpdXMgLyAyfSk7XG4gICAgICAvKiBAbm9mbGlwICovXG4gICAgICBsZWZ0OiBjYWxjKDUwJSAtICN7JHJhZGl1cyAvIDJ9KTtcbiAgICAgIHdpZHRoOiAkcmFkaXVzO1xuICAgICAgaGVpZ2h0OiAkcmFkaXVzO1xuICAgIH1cbiAgfVxuXG4gICYubWRjLXJpcHBsZS11cGdyYWRlZCB7XG4gICAgI3skcmlwcGxlLXRhcmdldH06OmJlZm9yZSxcbiAgICAjeyRyaXBwbGUtdGFyZ2V0fTo6YWZ0ZXIge1xuICAgICAgQGluY2x1ZGUgZmVhdHVyZS10YXJnZXRpbmctbWl4aW5zLnRhcmdldHMoJGZlYXQtc3RydXR1cmUpIHtcbiAgICAgICAgdG9wOiB2YXIoLS1tZGMtcmlwcGxlLXRvcCwgY2FsYyg1MCUgLSAjeyRyYWRpdXMgLyAyfSkpO1xuICAgICAgICAvKiBAbm9mbGlwICovXG4gICAgICAgIGxlZnQ6IHZhcigtLW1kYy1yaXBwbGUtbGVmdCwgY2FsYyg1MCUgLSAjeyRyYWRpdXMgLyAyfSkpO1xuICAgICAgICB3aWR0aDogdmFyKC0tbWRjLXJpcHBsZS1mZy1zaXplLCAkcmFkaXVzKTtcbiAgICAgICAgaGVpZ2h0OiB2YXIoLS1tZGMtcmlwcGxlLWZnLXNpemUsICRyYWRpdXMpO1xuICAgICAgfVxuICAgIH1cblxuICAgICN7JHJpcHBsZS10YXJnZXR9OjphZnRlciB7XG4gICAgICBAaW5jbHVkZSBmZWF0dXJlLXRhcmdldGluZy1taXhpbnMudGFyZ2V0cygkZmVhdC1zdHJ1dHVyZSkge1xuICAgICAgICB3aWR0aDogdmFyKC0tbWRjLXJpcHBsZS1mZy1zaXplLCAkcmFkaXVzKTtcbiAgICAgICAgaGVpZ2h0OiB2YXIoLS1tZGMtcmlwcGxlLWZnLXNpemUsICRyYWRpdXMpO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG5AbWl4aW4gc3RhdGVzLWludGVyYWN0aW9uc18oXG4gICRjb2xvcixcbiAgJGhhcy1uZXN0ZWQtZm9jdXNhYmxlLWVsZW1lbnQsXG4gICRvcGFjaXR5LW1vZGlmaWVyOiAwLFxuICAkcXVlcnk6IGZlYXR1cmUtdGFyZ2V0aW5nLWZ1bmN0aW9ucy5hbGwoKSxcbiAgJHJpcHBsZS10YXJnZXQ6IFwiJlwiLFxuKSB7XG4gIEBpbmNsdWRlIHRhcmdldC1zZWxlY3RvcigkcmlwcGxlLXRhcmdldCkge1xuICAgIEBpbmNsdWRlIHN0YXRlcy1iYXNlLWNvbG9yKCRjb2xvciwgJHF1ZXJ5KTtcbiAgfVxuXG4gICRvcGFjaXR5LW1hcDogKFxuICAgIGhvdmVyOiBmdW5jdGlvbnMuc3RhdGVzLW9wYWNpdHkoJGNvbG9yLCBob3ZlcikgKyAkb3BhY2l0eS1tb2RpZmllcixcbiAgICBmb2N1czogZnVuY3Rpb25zLnN0YXRlcy1vcGFjaXR5KCRjb2xvciwgZm9jdXMpICsgJG9wYWNpdHktbW9kaWZpZXIsXG4gICAgcHJlc3M6IGZ1bmN0aW9ucy5zdGF0ZXMtb3BhY2l0eSgkY29sb3IsIHByZXNzKSArICRvcGFjaXR5LW1vZGlmaWVyLFxuICApO1xuXG4gIEBpbmNsdWRlIHN0YXRlcy1vcGFjaXRpZXMoJG9wYWNpdHktbWFwLCAkaGFzLW5lc3RlZC1mb2N1c2FibGUtZWxlbWVudDogJGhhcy1uZXN0ZWQtZm9jdXNhYmxlLWVsZW1lbnQsICRyaXBwbGUtdGFyZ2V0OiAkcmlwcGxlLXRhcmdldCwgJHF1ZXJ5OiAkcXVlcnkpO1xufVxuXG4vLyBXcmFwcyBjb250ZW50IGluIHRoZSBgcmlwcGxlLXRhcmdldGAgc2VsZWN0b3IgaWYgaXQgZXhpc3RzLlxuQG1peGluIHRhcmdldC1zZWxlY3RvcigkcmlwcGxlLXRhcmdldDogXCImXCIpIHtcbiAgQGlmICRyaXBwbGUtdGFyZ2V0ID09IFwiJlwiIHtcbiAgICBAY29udGVudDtcbiAgfSBAZWxzZSB7XG4gICAgI3skcmlwcGxlLXRhcmdldH0ge1xuICAgICAgQGNvbnRlbnQ7XG4gICAgfVxuICB9XG59XG5cbi8vIENvbW1vbiBzdHlsZXMgZm9yIGEgcmlwcGxlIHRhcmdldCBlbGVtZW50LlxuLy8gVXNlZCBmb3IgY29tcG9uZW50cyB3aGljaCBoYXZlIGFuIGlubmVyIHJpcHBsZSB0YXJnZXQgZWxlbWVudC5cbkBtaXhpbiB0YXJnZXQtY29tbW9uKCRxdWVyeTogZmVhdHVyZS10YXJnZXRpbmctZnVuY3Rpb25zLmFsbCgpKSB7XG4gICRmZWF0LXN0cnVjdHVyZTogZmVhdHVyZS10YXJnZXRpbmctZnVuY3Rpb25zLmNyZWF0ZS10YXJnZXQoJHF1ZXJ5LCBzdHJ1Y3R1cmUpO1xuXG4gIEBpbmNsdWRlIGZlYXR1cmUtdGFyZ2V0aW5nLW1peGlucy50YXJnZXRzKCRmZWF0LXN0cnVjdHVyZSkge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDA7XG4gICAgbGVmdDogMDtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgLy8gTmVjZXNzYXJ5IGZvciBjbGlja3Mgb24gb3RoZXIgaW5uZXIgZWxlbWVudHMgKGUuZy4gY2xvc2UgaWNvbiBpbiBjaGlwKVxuICAgIC8vIHRvIGdvIHRocm91Z2guXG4gICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gIH1cbn1cbiIsIi8vXG4vLyBDb3B5cmlnaHQgMjAxNiBHb29nbGUgSW5jLlxuLy9cbi8vIFBlcm1pc3Npb24gaXMgaGVyZWJ5IGdyYW50ZWQsIGZyZWUgb2YgY2hhcmdlLCB0byBhbnkgcGVyc29uIG9idGFpbmluZyBhIGNvcHlcbi8vIG9mIHRoaXMgc29mdHdhcmUgYW5kIGFzc29jaWF0ZWQgZG9jdW1lbnRhdGlvbiBmaWxlcyAodGhlIFwiU29mdHdhcmVcIiksIHRvIGRlYWxcbi8vIGluIHRoZSBTb2Z0d2FyZSB3aXRob3V0IHJlc3RyaWN0aW9uLCBpbmNsdWRpbmcgd2l0aG91dCBsaW1pdGF0aW9uIHRoZSByaWdodHNcbi8vIHRvIHVzZSwgY29weSwgbW9kaWZ5LCBtZXJnZSwgcHVibGlzaCwgZGlzdHJpYnV0ZSwgc3VibGljZW5zZSwgYW5kL29yIHNlbGxcbi8vIGNvcGllcyBvZiB0aGUgU29mdHdhcmUsIGFuZCB0byBwZXJtaXQgcGVyc29ucyB0byB3aG9tIHRoZSBTb2Z0d2FyZSBpc1xuLy8gZnVybmlzaGVkIHRvIGRvIHNvLCBzdWJqZWN0IHRvIHRoZSBmb2xsb3dpbmcgY29uZGl0aW9uczpcbi8vXG4vLyBUaGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSBhbmQgdGhpcyBwZXJtaXNzaW9uIG5vdGljZSBzaGFsbCBiZSBpbmNsdWRlZCBpblxuLy8gYWxsIGNvcGllcyBvciBzdWJzdGFudGlhbCBwb3J0aW9ucyBvZiB0aGUgU29mdHdhcmUuXG4vL1xuLy8gVEhFIFNPRlRXQVJFIElTIFBST1ZJREVEIFwiQVMgSVNcIiwgV0lUSE9VVCBXQVJSQU5UWSBPRiBBTlkgS0lORCwgRVhQUkVTUyBPUlxuLy8gSU1QTElFRCwgSU5DTFVESU5HIEJVVCBOT1QgTElNSVRFRCBUTyBUSEUgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFksXG4vLyBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBTkQgTk9OSU5GUklOR0VNRU5ULiBJTiBOTyBFVkVOVCBTSEFMTCBUSEVcbi8vIEFVVEhPUlMgT1IgQ09QWVJJR0hUIEhPTERFUlMgQkUgTElBQkxFIEZPUiBBTlkgQ0xBSU0sIERBTUFHRVMgT1IgT1RIRVJcbi8vIExJQUJJTElUWSwgV0hFVEhFUiBJTiBBTiBBQ1RJT04gT0YgQ09OVFJBQ1QsIFRPUlQgT1IgT1RIRVJXSVNFLCBBUklTSU5HIEZST00sXG4vLyBPVVQgT0YgT1IgSU4gQ09OTkVDVElPTiBXSVRIIFRIRSBTT0ZUV0FSRSBPUiBUSEUgVVNFIE9SIE9USEVSIERFQUxJTkdTIElOXG4vLyBUSEUgU09GVFdBUkUuXG4vL1xuXG4kZmFkZS1pbi1kdXJhdGlvbjogNzVtcyAhZGVmYXVsdDtcbiRmYWRlLW91dC1kdXJhdGlvbjogMTUwbXMgIWRlZmF1bHQ7XG4kdHJhbnNsYXRlLWR1cmF0aW9uOiAyMjVtcyAhZGVmYXVsdDtcbiRzdGF0ZXMtd2FzaC1kdXJhdGlvbjogMTVtcyAhZGVmYXVsdDtcblxuLy8gTm90ZXMgb24gc3RhdGVzOlxuLy8gKiBmb2N1cyB0YWtlcyBwcmVjZWRlbmNlIG92ZXIgaG92ZXIgKGkuZS4gaWYgYW4gZWxlbWVudCBpcyBib3RoIGZvY3VzZWQgYW5kIGhvdmVyZWQsIG9ubHkgZm9jdXMgdmFsdWUgYXBwbGllcylcbi8vICogcHJlc3Mgc3RhdGUgYXBwbGllcyB0byBhIHNlcGFyYXRlIHBzZXVkby1lbGVtZW50LCBzbyBpdCBoYXMgYW4gYWRkaXRpdmUgZWZmZWN0IG9uIHRvcCBvZiBvdGhlciBzdGF0ZXNcbi8vICogc2VsZWN0ZWQvYWN0aXZhdGVkIGFyZSBhcHBsaWVkIGFkZGl0aXZlbHkgdG8gaG92ZXIvZm9jdXMgdmlhIGNhbGN1bGF0aW9ucyBhdCBwcmVwcm9jZXNzaW5nIHRpbWVcblxuJGRhcmstaW5rLW9wYWNpdGllczogKFxuICBob3ZlcjogLjA0LFxuICBmb2N1czogLjEyLFxuICBwcmVzczogLjEyLFxuICBzZWxlY3RlZDogLjA4LFxuICBhY3RpdmF0ZWQ6IC4xMlxuKSAhZGVmYXVsdDtcblxuJGxpZ2h0LWluay1vcGFjaXRpZXM6IChcbiAgaG92ZXI6IC4wOCxcbiAgZm9jdXM6IC4yNCxcbiAgcHJlc3M6IC4yNCxcbiAgc2VsZWN0ZWQ6IC4xNixcbiAgYWN0aXZhdGVkOiAuMjRcbikgIWRlZmF1bHQ7XG5cbi8vIExlZ2FjeVxuXG4kcHJlc3NlZC1kYXJrLWluay1vcGFjaXR5OiAuMTYgIWRlZmF1bHQ7XG4kcHJlc3NlZC1saWdodC1pbmstb3BhY2l0eTogLjMyICFkZWZhdWx0O1xuIiwiLy9cbi8vIENvcHlyaWdodCAyMDE5IEdvb2dsZSBJbmMuXG4vL1xuLy8gUGVybWlzc2lvbiBpcyBoZXJlYnkgZ3JhbnRlZCwgZnJlZSBvZiBjaGFyZ2UsIHRvIGFueSBwZXJzb24gb2J0YWluaW5nIGEgY29weVxuLy8gb2YgdGhpcyBzb2Z0d2FyZSBhbmQgYXNzb2NpYXRlZCBkb2N1bWVudGF0aW9uIGZpbGVzICh0aGUgXCJTb2Z0d2FyZVwiKSwgdG8gZGVhbFxuLy8gaW4gdGhlIFNvZnR3YXJlIHdpdGhvdXQgcmVzdHJpY3Rpb24sIGluY2x1ZGluZyB3aXRob3V0IGxpbWl0YXRpb24gdGhlIHJpZ2h0c1xuLy8gdG8gdXNlLCBjb3B5LCBtb2RpZnksIG1lcmdlLCBwdWJsaXNoLCBkaXN0cmlidXRlLCBzdWJsaWNlbnNlLCBhbmQvb3Igc2VsbFxuLy8gY29waWVzIG9mIHRoZSBTb2Z0d2FyZSwgYW5kIHRvIHBlcm1pdCBwZXJzb25zIHRvIHdob20gdGhlIFNvZnR3YXJlIGlzXG4vLyBmdXJuaXNoZWQgdG8gZG8gc28sIHN1YmplY3QgdG8gdGhlIGZvbGxvd2luZyBjb25kaXRpb25zOlxuLy9cbi8vIFRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlIGFuZCB0aGlzIHBlcm1pc3Npb24gbm90aWNlIHNoYWxsIGJlIGluY2x1ZGVkIGluXG4vLyBhbGwgY29waWVzIG9yIHN1YnN0YW50aWFsIHBvcnRpb25zIG9mIHRoZSBTb2Z0d2FyZS5cbi8vXG4vLyBUSEUgU09GVFdBUkUgSVMgUFJPVklERUQgXCJBUyBJU1wiLCBXSVRIT1VUIFdBUlJBTlRZIE9GIEFOWSBLSU5ELCBFWFBSRVNTIE9SXG4vLyBJTVBMSUVELCBJTkNMVURJTkcgQlVUIE5PVCBMSU1JVEVEIFRPIFRIRSBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSxcbi8vIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFORCBOT05JTkZSSU5HRU1FTlQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRVxuLy8gQVVUSE9SUyBPUiBDT1BZUklHSFQgSE9MREVSUyBCRSBMSUFCTEUgRk9SIEFOWSBDTEFJTSwgREFNQUdFUyBPUiBPVEhFUlxuLy8gTElBQklMSVRZLCBXSEVUSEVSIElOIEFOIEFDVElPTiBPRiBDT05UUkFDVCwgVE9SVCBPUiBPVEhFUldJU0UsIEFSSVNJTkcgRlJPTSxcbi8vIE9VVCBPRiBPUiBJTiBDT05ORUNUSU9OIFdJVEggVEhFIFNPRlRXQVJFIE9SIFRIRSBVU0UgT1IgT1RIRVIgREVBTElOR1MgSU5cbi8vIFRIRSBTT0ZUV0FSRS5cbi8vXG5cbiRoZWlnaHQ6IDQ4cHggIWRlZmF1bHQ7XG4kd2lkdGg6ICRoZWlnaHQgIWRlZmF1bHQ7XG4iLCIvL1xuLy8gQ29weXJpZ2h0IDIwMTcgR29vZ2xlIEluYy5cbi8vXG4vLyBQZXJtaXNzaW9uIGlzIGhlcmVieSBncmFudGVkLCBmcmVlIG9mIGNoYXJnZSwgdG8gYW55IHBlcnNvbiBvYnRhaW5pbmcgYSBjb3B5XG4vLyBvZiB0aGlzIHNvZnR3YXJlIGFuZCBhc3NvY2lhdGVkIGRvY3VtZW50YXRpb24gZmlsZXMgKHRoZSBcIlNvZnR3YXJlXCIpLCB0byBkZWFsXG4vLyBpbiB0aGUgU29mdHdhcmUgd2l0aG91dCByZXN0cmljdGlvbiwgaW5jbHVkaW5nIHdpdGhvdXQgbGltaXRhdGlvbiB0aGUgcmlnaHRzXG4vLyB0byB1c2UsIGNvcHksIG1vZGlmeSwgbWVyZ2UsIHB1Ymxpc2gsIGRpc3RyaWJ1dGUsIHN1YmxpY2Vuc2UsIGFuZC9vciBzZWxsXG4vLyBjb3BpZXMgb2YgdGhlIFNvZnR3YXJlLCBhbmQgdG8gcGVybWl0IHBlcnNvbnMgdG8gd2hvbSB0aGUgU29mdHdhcmUgaXNcbi8vIGZ1cm5pc2hlZCB0byBkbyBzbywgc3ViamVjdCB0byB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnM6XG4vL1xuLy8gVGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UgYW5kIHRoaXMgcGVybWlzc2lvbiBub3RpY2Ugc2hhbGwgYmUgaW5jbHVkZWQgaW5cbi8vIGFsbCBjb3BpZXMgb3Igc3Vic3RhbnRpYWwgcG9ydGlvbnMgb2YgdGhlIFNvZnR3YXJlLlxuLy9cbi8vIFRIRSBTT0ZUV0FSRSBJUyBQUk9WSURFRCBcIkFTIElTXCIsIFdJVEhPVVQgV0FSUkFOVFkgT0YgQU5ZIEtJTkQsIEVYUFJFU1MgT1Jcbi8vIElNUExJRUQsIElOQ0xVRElORyBCVVQgTk9UIExJTUlURUQgVE8gVEhFIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZLFxuLy8gRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQU5EIE5PTklORlJJTkdFTUVOVC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFXG4vLyBBVVRIT1JTIE9SIENPUFlSSUdIVCBIT0xERVJTIEJFIExJQUJMRSBGT1IgQU5ZIENMQUlNLCBEQU1BR0VTIE9SIE9USEVSXG4vLyBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQU4gQUNUSU9OIE9GIENPTlRSQUNULCBUT1JUIE9SIE9USEVSV0lTRSwgQVJJU0lORyBGUk9NLFxuLy8gT1VUIE9GIE9SIElOIENPTk5FQ1RJT04gV0lUSCBUSEUgU09GVFdBUkUgT1IgVEhFIFVTRSBPUiBPVEhFUiBERUFMSU5HUyBJTlxuLy8gVEhFIFNPRlRXQVJFLlxuLy9cblxuLy8gTURDIFJpcHBsZSBrZXlmcmFtZXMgYXJlIHNwbGl0IGludG8gdGhlaXIgb3duIGZpbGUgc28gdGhhdCBfbWl4aW5zLnNjc3MgY2FuIHJlbHkgb24gdGhlbS5cblxuQHVzZSBcIkBtYXRlcmlhbC9hbmltYXRpb24vdmFyaWFibGVzXCI7XG5AdXNlIFwiLi92YXJpYWJsZXNcIiBhcyB2YXJpYWJsZXMyO1xuXG5AbWl4aW4ga2V5ZnJhbWVzXyB7XG4gIEBrZXlmcmFtZXMgbWRjLXJpcHBsZS1mZy1yYWRpdXMtaW4ge1xuICAgIGZyb20ge1xuICAgICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogdmFyaWFibGVzLiRzdGFuZGFyZC1jdXJ2ZS10aW1pbmctZnVuY3Rpb247XG4gICAgICAvLyBOT1RFOiBGb3IgdGhlc2Uga2V5ZnJhbWVzLCB3ZSBkbyBub3QgbmVlZCBjdXN0b20gcHJvcGVydHkgZmFsbGJhY2tzIGJlY2F1c2UgdGhleSBhcmUgb25seVxuICAgICAgLy8gdXNlZCBpbiBjb25qdW5jdGlvbiB3aXRoIGAubWRjLXJpcHBsZS11cGdyYWRlZGAuIFNpbmNlIE1EQ1JpcHBsZUZvdW5kYXRpb24gY2hlY2tzIHRvIGVuc3VyZVxuICAgICAgLy8gdGhhdCBjdXN0b20gcHJvcGVydGllcyBhcmUgc3VwcG9ydGVkIHdpdGhpbiB0aGUgYnJvd3NlciBiZWZvcmUgYWRkaW5nIHRoaXMgY2xhc3MsIHdlIGNhblxuICAgICAgLy8gc2FmZWx5IHVzZSB0aGVtIHdpdGhvdXQgYSBmYWxsYmFjay5cbiAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKHZhcigtLW1kYy1yaXBwbGUtZmctdHJhbnNsYXRlLXN0YXJ0LCAwKSkgc2NhbGUoMSk7XG4gICAgfVxuXG4gICAgdG8ge1xuICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUodmFyKC0tbWRjLXJpcHBsZS1mZy10cmFuc2xhdGUtZW5kLCAwKSkgc2NhbGUodmFyKC0tbWRjLXJpcHBsZS1mZy1zY2FsZSwgMSkpO1xuICAgIH1cbiAgfVxuXG4gIEBrZXlmcmFtZXMgbWRjLXJpcHBsZS1mZy1vcGFjaXR5LWluIHtcbiAgICBmcm9tIHtcbiAgICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGxpbmVhcjtcbiAgICAgIG9wYWNpdHk6IDA7XG4gICAgfVxuXG4gICAgdG8ge1xuICAgICAgb3BhY2l0eTogdmFyKC0tbWRjLXJpcHBsZS1mZy1vcGFjaXR5LCAwKTtcbiAgICB9XG4gIH1cblxuICBAa2V5ZnJhbWVzIG1kYy1yaXBwbGUtZmctb3BhY2l0eS1vdXQge1xuICAgIGZyb20ge1xuICAgICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogbGluZWFyO1xuICAgICAgb3BhY2l0eTogdmFyKC0tbWRjLXJpcHBsZS1mZy1vcGFjaXR5LCAwKTtcbiAgICB9XG5cbiAgICB0byB7XG4gICAgICBvcGFjaXR5OiAwO1xuICAgIH1cbiAgfVxufVxuIiwiLy9cbi8vIENvcHlyaWdodCAyMDE3IEdvb2dsZSBJbmMuXG4vL1xuLy8gUGVybWlzc2lvbiBpcyBoZXJlYnkgZ3JhbnRlZCwgZnJlZSBvZiBjaGFyZ2UsIHRvIGFueSBwZXJzb24gb2J0YWluaW5nIGEgY29weVxuLy8gb2YgdGhpcyBzb2Z0d2FyZSBhbmQgYXNzb2NpYXRlZCBkb2N1bWVudGF0aW9uIGZpbGVzICh0aGUgXCJTb2Z0d2FyZVwiKSwgdG8gZGVhbFxuLy8gaW4gdGhlIFNvZnR3YXJlIHdpdGhvdXQgcmVzdHJpY3Rpb24sIGluY2x1ZGluZyB3aXRob3V0IGxpbWl0YXRpb24gdGhlIHJpZ2h0c1xuLy8gdG8gdXNlLCBjb3B5LCBtb2RpZnksIG1lcmdlLCBwdWJsaXNoLCBkaXN0cmlidXRlLCBzdWJsaWNlbnNlLCBhbmQvb3Igc2VsbFxuLy8gY29waWVzIG9mIHRoZSBTb2Z0d2FyZSwgYW5kIHRvIHBlcm1pdCBwZXJzb25zIHRvIHdob20gdGhlIFNvZnR3YXJlIGlzXG4vLyBmdXJuaXNoZWQgdG8gZG8gc28sIHN1YmplY3QgdG8gdGhlIGZvbGxvd2luZyBjb25kaXRpb25zOlxuLy9cbi8vIFRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlIGFuZCB0aGlzIHBlcm1pc3Npb24gbm90aWNlIHNoYWxsIGJlIGluY2x1ZGVkIGluXG4vLyBhbGwgY29waWVzIG9yIHN1YnN0YW50aWFsIHBvcnRpb25zIG9mIHRoZSBTb2Z0d2FyZS5cbi8vXG4vLyBUSEUgU09GVFdBUkUgSVMgUFJPVklERUQgXCJBUyBJU1wiLCBXSVRIT1VUIFdBUlJBTlRZIE9GIEFOWSBLSU5ELCBFWFBSRVNTIE9SXG4vLyBJTVBMSUVELCBJTkNMVURJTkcgQlVUIE5PVCBMSU1JVEVEIFRPIFRIRSBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSxcbi8vIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFORCBOT05JTkZSSU5HRU1FTlQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRVxuLy8gQVVUSE9SUyBPUiBDT1BZUklHSFQgSE9MREVSUyBCRSBMSUFCTEUgRk9SIEFOWSBDTEFJTSwgREFNQUdFUyBPUiBPVEhFUlxuLy8gTElBQklMSVRZLCBXSEVUSEVSIElOIEFOIEFDVElPTiBPRiBDT05UUkFDVCwgVE9SVCBPUiBPVEhFUldJU0UsIEFSSVNJTkcgRlJPTSxcbi8vIE9VVCBPRiBPUiBJTiBDT05ORUNUSU9OIFdJVEggVEhFIFNPRlRXQVJFIE9SIFRIRSBVU0UgT1IgT1RIRVIgREVBTElOR1MgSU5cbi8vIFRIRSBTT0ZUV0FSRS5cbi8vXG5cbkB1c2UgXCJzYXNzOm1hcFwiO1xuQHVzZSBcInNhc3M6bWF0aFwiO1xuQHVzZSBcInNhc3M6bWV0YVwiO1xuQHVzZSBcIkBtYXRlcmlhbC9iYXNlL21peGluc1wiIGFzIGJhc2UtbWl4aW5zO1xuQHVzZSBcIkBtYXRlcmlhbC9mZWF0dXJlLXRhcmdldGluZy9mdW5jdGlvbnNcIiBhcyBmZWF0dXJlLXRhcmdldGluZy1mdW5jdGlvbnM7XG5AdXNlIFwiQG1hdGVyaWFsL2ZlYXR1cmUtdGFyZ2V0aW5nL21peGluc1wiIGFzIGZlYXR1cmUtdGFyZ2V0aW5nLW1peGlucztcbkB1c2UgXCJAbWF0ZXJpYWwvdGhlbWUvbWl4aW5zXCIgYXMgdGhlbWUtbWl4aW5zO1xuQHVzZSBcIkBtYXRlcmlhbC90aGVtZS92YXJpYWJsZXNcIiBhcyB0aGVtZS12YXJpYWJsZXM7XG5AdXNlIFwiLi9mdW5jdGlvbnNcIjtcbkB1c2UgXCIuL3ZhcmlhYmxlc1wiO1xuXG5AbWl4aW4gY29yZS1zdHlsZXMoJHF1ZXJ5OiBmZWF0dXJlLXRhcmdldGluZy1mdW5jdGlvbnMuYWxsKCkpIHtcbiAgJGZlYXQtYW5pbWF0aW9uOiBmZWF0dXJlLXRhcmdldGluZy1mdW5jdGlvbnMuY3JlYXRlLXRhcmdldCgkcXVlcnksIGFuaW1hdGlvbik7XG4gICRmZWF0LXN0cnVjdHVyZTogZmVhdHVyZS10YXJnZXRpbmctZnVuY3Rpb25zLmNyZWF0ZS10YXJnZXQoJHF1ZXJ5LCBzdHJ1Y3R1cmUpO1xuXG4gIEBmb3IgJHotdmFsdWUgZnJvbSAwIHRocm91Z2ggMjQge1xuICAgIC5tZGMtZWxldmF0aW9uLS16I3skei12YWx1ZX0ge1xuICAgICAgQGluY2x1ZGUgZWxldmF0aW9uKCR6LXZhbHVlLCAkcXVlcnk6ICRxdWVyeSk7XG4gICAgfVxuICB9XG5cbiAgLm1kYy1lbGV2YXRpb24tdHJhbnNpdGlvbiB7XG4gICAgQGluY2x1ZGUgZmVhdHVyZS10YXJnZXRpbmctbWl4aW5zLnRhcmdldHMoJGZlYXQtYW5pbWF0aW9uKSB7XG4gICAgICB0cmFuc2l0aW9uOiBmdW5jdGlvbnMudHJhbnNpdGlvbi12YWx1ZSgpO1xuICAgIH1cblxuICAgIEBpbmNsdWRlIGZlYXR1cmUtdGFyZ2V0aW5nLW1peGlucy50YXJnZXRzKCRmZWF0LXN0cnVjdHVyZSkge1xuICAgICAgd2lsbC1jaGFuZ2U6IHZhcmlhYmxlcy4kcHJvcGVydHk7XG4gICAgfVxuICB9XG59XG5cbi8vL1xuLy8vIENhbGxlZCBvbmNlIHBlciBhcHBsaWNhdGlvbiB0byBzZXQgdXAgdGhlIGdsb2JhbCBkZWZhdWx0IGVsZXZhdGlvbiBzdHlsZXMuXG4vLy9cbkBtaXhpbiBvdmVybGF5LWNvbW1vbigkcXVlcnk6IGZlYXR1cmUtdGFyZ2V0aW5nLWZ1bmN0aW9ucy5hbGwoKSkge1xuICAkZmVhdC1hbmltYXRpb246IGZlYXR1cmUtdGFyZ2V0aW5nLWZ1bmN0aW9ucy5jcmVhdGUtdGFyZ2V0KCRxdWVyeSwgYW5pbWF0aW9uKTtcbiAgJGZlYXQtc3RydWN0dXJlOiBmZWF0dXJlLXRhcmdldGluZy1mdW5jdGlvbnMuY3JlYXRlLXRhcmdldCgkcXVlcnksIHN0cnVjdHVyZSk7XG5cbiAgQGluY2x1ZGUgb3ZlcmxheS1zZWxlY3Rvcl8ge1xuICAgIEBpbmNsdWRlIGZlYXR1cmUtdGFyZ2V0aW5nLW1peGlucy50YXJnZXRzKCRmZWF0LXN0cnVjdHVyZSkge1xuICAgICAgQGluY2x1ZGUgYmFzZS1taXhpbnMuZW1pdC1vbmNlKFwibWRjLWVsZXZhdGlvbi9jb21tb24vc3RydWN0dXJlXCIpIHtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICBib3JkZXItcmFkaXVzOiBpbmhlcml0O1xuICAgICAgICBvcGFjaXR5OiAwO1xuICAgICAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBAaW5jbHVkZSBmZWF0dXJlLXRhcmdldGluZy1taXhpbnMudGFyZ2V0cygkZmVhdC1hbmltYXRpb24pIHtcbiAgICAgIEBpbmNsdWRlIGJhc2UtbWl4aW5zLmVtaXQtb25jZShcIm1kYy1lbGV2YXRpb24vY29tbW9uL2FuaW1hdGlvblwiKSB7XG4gICAgICAgIHRyYW5zaXRpb246IGZ1bmN0aW9ucy5vdmVybGF5LXRyYW5zaXRpb24tdmFsdWUoKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBAaW5jbHVkZSBiYXNlLW1peGlucy5lbWl0LW9uY2UoXCJtZGMtZWxldmF0aW9uL2NvbW1vbi9jb2xvclwiKSB7XG4gICAgICBAaW5jbHVkZSBvdmVybGF5LWZpbGwtY29sb3IodmFyaWFibGVzLiRvdmVybGF5LWNvbG9yLCAkcXVlcnk6ICRxdWVyeSk7XG4gICAgfVxuICB9XG59XG5cbi8vL1xuLy8vIFNldHMgdGhlIHNoYWRvdyBvZiB0aGUgZWxlbWVudC5cbi8vL1xuLy8vIEBwYXJhbSB7U3RyaW5nfSAkYm94LXNoYWRvdyAtIFRoZSBzaGFkb3cgdG8gYXBwbHkgdG8gdGhlIGVsZW1lbnQuXG4vLy9cbkBtaXhpbiBzaGFkb3coJGJveC1zaGFkb3csICRxdWVyeTogZmVhdHVyZS10YXJnZXRpbmctZnVuY3Rpb25zLmFsbCgpKSB7XG4gICRmZWF0LWNvbG9yOiBmZWF0dXJlLXRhcmdldGluZy1mdW5jdGlvbnMuY3JlYXRlLXRhcmdldCgkcXVlcnksIGNvbG9yKTtcblxuICBAaW5jbHVkZSBmZWF0dXJlLXRhcmdldGluZy1taXhpbnMudGFyZ2V0cygkZmVhdC1jb2xvcikge1xuICAgIC8qIEBhbHRlcm5hdGUgKi9cbiAgICBib3gtc2hhZG93OiAkYm94LXNoYWRvdztcbiAgfVxufVxuXG4vLy9cbi8vLyBTZXRzIHRoZSBlbGV2YXRpb24gb3ZlcmxheSBzdXJmYWNlIHJlcXVpcmVkIHBvc2l0aW9uaW5nLlxuLy8vXG5AbWl4aW4gb3ZlcmxheS1zdXJmYWNlLXBvc2l0aW9uKCRxdWVyeTogZmVhdHVyZS10YXJnZXRpbmctZnVuY3Rpb25zLmFsbCgpKSB7XG4gICRmZWF0LXN0cnVjdHVyZTogZmVhdHVyZS10YXJnZXRpbmctZnVuY3Rpb25zLmNyZWF0ZS10YXJnZXQoJHF1ZXJ5LCBzdHJ1Y3R1cmUpO1xuXG4gIEBpbmNsdWRlIGZlYXR1cmUtdGFyZ2V0aW5nLW1peGlucy50YXJnZXRzKCRmZWF0LXN0cnVjdHVyZSkge1xuICAgIC8qIEBhbHRlcm5hdGUgKi9cbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIH1cbn1cblxuLy8vXG4vLy8gU2V0cyB0aGUgZGltZW5zaW9ucyBvZiB0aGUgZWxldmF0aW9uIG92ZXJsYXksIGluY2x1ZGluZyBwb3NpdGlvbmluZyBhbmQgc2l6aW5nLlxuLy8vXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICR3aWR0aCAtIFRoZSB3aWR0aCBvZiB0aGUgZWxldmF0aW9uIG92ZXJsYXlcbi8vLyBAcGFyYW0ge051bWJlcn0gWyRoZWlnaHRdIC0gVGhlIGhlaWdodCBvZiB0aGUgZWxldmF0aW9uIG92ZXJsYXlcbi8vLyBAcGFyYW0ge0Jvb2xlYW59IFskaGFzLWNvbnRlbnQtc2l6aW5nXSAtIFNldCB0byBmYWxzZSBpZiB0aGUgY29udGFpbmVyIGhhcyBubyBjb250ZW50IHNpemluZ1xuLy8vXG5AbWl4aW4gb3ZlcmxheS1kaW1lbnNpb25zKCR3aWR0aCwgJGhlaWdodDogJHdpZHRoLCAkaGFzLWNvbnRlbnQtc2l6aW5nOiB0cnVlLCAkcXVlcnk6IGZlYXR1cmUtdGFyZ2V0aW5nLWZ1bmN0aW9ucy5hbGwoKSkge1xuICAkZmVhdC1zdHJ1Y3R1cmU6IGZlYXR1cmUtdGFyZ2V0aW5nLWZ1bmN0aW9ucy5jcmVhdGUtdGFyZ2V0KCRxdWVyeSwgc3RydWN0dXJlKTtcblxuICBAaW5jbHVkZSBvdmVybGF5LXNlbGVjdG9yXyB7XG4gICAgQGluY2x1ZGUgZmVhdHVyZS10YXJnZXRpbmctbWl4aW5zLnRhcmdldHMoJGZlYXQtc3RydWN0dXJlKSB7XG4gICAgICB3aWR0aDogJHdpZHRoO1xuICAgICAgaGVpZ2h0OiAkaGVpZ2h0O1xuXG4gICAgICBAaWYgJGhhcy1jb250ZW50LXNpemluZyB7XG4gICAgICAgIHRvcDogMDtcbiAgICAgICAgLyogQG5vZmxpcCAqL1xuICAgICAgICBsZWZ0OiAwO1xuICAgICAgfSBAZWxzZSB7XG4gICAgICAgIHRvcDogNTAlO1xuICAgICAgICAvKiBAbm9mbGlwICovXG4gICAgICAgIGxlZnQ6IDUwJTtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgLTUwJSk7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbi8vL1xuLy8vIFNldHMgdGhlIGVsZXZhdGlvbiBvdmVybGF5IGZpbGwgY29sb3IuXG4vLy8gRXhwZWN0ZWQgdG8gYmUgY2FsbGVkIGRpcmVjdGx5IG9uIHRoZSBlbGV2YXRpb24gb3ZlcmxheSBlbGVtZW50LlxuLy8vXG4vLy8gQHBhcmFtIHtDb2xvcn0gJGNvbG9yIC0gVGhlIGNvbG9yIG9mIHRoZSBlbGV2YXRpb24gb3ZlcmxheS5cbi8vL1xuQG1peGluIG92ZXJsYXktZmlsbC1jb2xvcigkY29sb3IsICRxdWVyeTogZmVhdHVyZS10YXJnZXRpbmctZnVuY3Rpb25zLmFsbCgpKSB7XG4gICRmZWF0LWNvbG9yOiBmZWF0dXJlLXRhcmdldGluZy1mdW5jdGlvbnMuY3JlYXRlLXRhcmdldCgkcXVlcnksIGNvbG9yKTtcblxuICBAaW5jbHVkZSBmZWF0dXJlLXRhcmdldGluZy1taXhpbnMudGFyZ2V0cygkZmVhdC1jb2xvcikge1xuICAgIEBpbmNsdWRlIHRoZW1lLW1peGlucy5wcm9wKGJhY2tncm91bmQtY29sb3IsICRjb2xvcik7XG4gIH1cbn1cblxuLy8vXG4vLy8gU2V0cyB0aGUgZWxldmF0aW9uIG92ZXJsYXkgb3BhY2l0eS5cbi8vLyBFeHBlY3RlZCB0byBiZSBjYWxsZWQgZnJvbSBhIHBhcmVudCBlbGVtZW50LlxuLy8vXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRvcGFjaXR5IC0gVGhlIG9wYWNpdHkgb2YgdGhlIGVsZXZhdGlvbiBvdmVybGF5LlxuLy8vXG5AbWl4aW4gb3ZlcmxheS1vcGFjaXR5KCRvcGFjaXR5LCAkcXVlcnk6IGZlYXR1cmUtdGFyZ2V0aW5nLWZ1bmN0aW9ucy5hbGwoKSkge1xuICAkZmVhdC1jb2xvcjogZmVhdHVyZS10YXJnZXRpbmctZnVuY3Rpb25zLmNyZWF0ZS10YXJnZXQoJHF1ZXJ5LCBjb2xvcik7XG5cbiAgQGluY2x1ZGUgb3ZlcmxheS1zZWxlY3Rvcl8ge1xuICAgIEBpbmNsdWRlIGZlYXR1cmUtdGFyZ2V0aW5nLW1peGlucy50YXJnZXRzKCRmZWF0LWNvbG9yKSB7XG4gICAgICBvcGFjaXR5OiAkb3BhY2l0eTtcbiAgICB9XG4gIH1cbn1cblxuLy8gQXBwbGllcyB0aGUgY29ycmVjdCBDU1MgcnVsZXMgdG8gYW4gZWxlbWVudCB0byBnaXZlIGl0IHRoZSBlbGV2YXRpb24gc3BlY2lmaWVkIGJ5ICR6LXZhbHVlLlxuLy8gVGhlICR6LXZhbHVlIG11c3QgYmUgYmV0d2VlbiAwIGFuZCAyNC5cbi8vIElmICRjb2xvciBoYXMgYW4gYWxwaGEgY2hhbm5lbCwgaXQgd2lsbCBiZSBpZ25vcmVkIGFuZCBvdmVycmlkZGVuLiBUbyBpbmNyZWFzZSB0aGUgb3BhY2l0eSBvZiB0aGUgc2hhZG93LCB1c2Vcbi8vICRvcGFjaXR5LWJvb3N0LlxuQG1peGluIGVsZXZhdGlvbigkei12YWx1ZSwgJGNvbG9yOiB2YXJpYWJsZXMuJGJhc2VsaW5lLWNvbG9yLCAkb3BhY2l0eS1ib29zdDogMCwgJHF1ZXJ5OiBmZWF0dXJlLXRhcmdldGluZy1mdW5jdGlvbnMuYWxsKCkpIHtcbiAgQGlmIG1ldGEudHlwZS1vZigkei12YWx1ZSkgIT0gbnVtYmVyIG9yIG5vdCBtYXRoLmlzLXVuaXRsZXNzKCR6LXZhbHVlKSB7XG4gICAgQGVycm9yIFwiJHotdmFsdWUgbXVzdCBiZSBhIHVuaXRsZXNzIG51bWJlciwgYnV0IHJlY2VpdmVkICcjeyR6LXZhbHVlfSdcIjtcbiAgfVxuXG4gIEBpZiAkei12YWx1ZSA8IDAgb3IgJHotdmFsdWUgPiAyNCB7XG4gICAgQGVycm9yIFwiJHotdmFsdWUgbXVzdCBiZSBiZXR3ZWVuIDAgYW5kIDI0LCBidXQgcmVjZWl2ZWQgJyN7JHotdmFsdWV9J1wiO1xuICB9XG5cbiAgJGZlYXQtY29sb3I6IGZlYXR1cmUtdGFyZ2V0aW5nLWZ1bmN0aW9ucy5jcmVhdGUtdGFyZ2V0KCRxdWVyeSwgY29sb3IpO1xuXG4gICRjb2xvcjogdGhlbWUtdmFyaWFibGVzLnByb3AtdmFsdWUoJGNvbG9yKTtcblxuICAkdW1icmEtei12YWx1ZTogbWFwLmdldCh2YXJpYWJsZXMuJHVtYnJhLW1hcCwgJHotdmFsdWUpO1xuICAkcGVudW1icmEtei12YWx1ZTogbWFwLmdldCh2YXJpYWJsZXMuJHBlbnVtYnJhLW1hcCwgJHotdmFsdWUpO1xuICAkYW1iaWVudC16LXZhbHVlOiBtYXAuZ2V0KHZhcmlhYmxlcy4kYW1iaWVudC1tYXAsICR6LXZhbHVlKTtcblxuICAkdW1icmEtY29sb3I6IHJnYmEoJGNvbG9yLCB2YXJpYWJsZXMuJHVtYnJhLW9wYWNpdHkgKyAkb3BhY2l0eS1ib29zdCk7XG4gICRwZW51bWJyYS1jb2xvcjogcmdiYSgkY29sb3IsIHZhcmlhYmxlcy4kcGVudW1icmEtb3BhY2l0eSArICRvcGFjaXR5LWJvb3N0KTtcbiAgJGFtYmllbnQtY29sb3I6IHJnYmEoJGNvbG9yLCB2YXJpYWJsZXMuJGFtYmllbnQtb3BhY2l0eSArICRvcGFjaXR5LWJvb3N0KTtcblxuICAkYm94LXNoYWRvdzogKFxuICAgICN7XCIjeyR1bWJyYS16LXZhbHVlfSAjeyR1bWJyYS1jb2xvcn1cIn0sXG4gICAgI3tcIiN7JHBlbnVtYnJhLXotdmFsdWV9ICN7JHBlbnVtYnJhLWNvbG9yfVwifSxcbiAgICAjeyRhbWJpZW50LXotdmFsdWV9ICRhbWJpZW50LWNvbG9yLFxuICApO1xuXG4gIEBpbmNsdWRlIHNoYWRvdygkYm94LXNoYWRvdywgJHF1ZXJ5OiAkcXVlcnkpO1xufVxuXG4vLyBQcml2YXRlXG5cbi8vL1xuLy8vIFNldHMgdGhlIGVsZXZhdGlvbiBvdmVybGF5IHRyYW5zaXRpb24gdmFsdWUuXG4vLy9cbi8vLyBAcGFyYW0ge1N0cmluZ30gJGR1cmF0aW9uIC0gVGhlIGR1cmF0aW9uIG9mIHRoZSB0cmFuc2l0aW9uLlxuLy8vIEBwYXJhbSB7U3RyaW5nfSAkZWFzaW5nIC0gVGhlIGVhc2luZyBmdW5jdGlvbiBmb3IgdGhlIHRyYW5zaXRpb24uXG4vLy8gQHJldHVybiB7U3RyaW5nfVxuLy8vIEBhY2Nlc3MgcHJpdmF0ZVxuLy8vXG5AbWl4aW4gb3ZlcmxheS1zZWxlY3Rvcl8ge1xuICAubWRjLWVsZXZhdGlvbi1vdmVybGF5IHtcbiAgICBAY29udGVudDtcbiAgfVxufVxuIiwiLy9cbi8vIENvcHlyaWdodCAyMDE4IEdvb2dsZSBJbmMuXG4vL1xuLy8gUGVybWlzc2lvbiBpcyBoZXJlYnkgZ3JhbnRlZCwgZnJlZSBvZiBjaGFyZ2UsIHRvIGFueSBwZXJzb24gb2J0YWluaW5nIGEgY29weVxuLy8gb2YgdGhpcyBzb2Z0d2FyZSBhbmQgYXNzb2NpYXRlZCBkb2N1bWVudGF0aW9uIGZpbGVzICh0aGUgXCJTb2Z0d2FyZVwiKSwgdG8gZGVhbFxuLy8gaW4gdGhlIFNvZnR3YXJlIHdpdGhvdXQgcmVzdHJpY3Rpb24sIGluY2x1ZGluZyB3aXRob3V0IGxpbWl0YXRpb24gdGhlIHJpZ2h0c1xuLy8gdG8gdXNlLCBjb3B5LCBtb2RpZnksIG1lcmdlLCBwdWJsaXNoLCBkaXN0cmlidXRlLCBzdWJsaWNlbnNlLCBhbmQvb3Igc2VsbFxuLy8gY29waWVzIG9mIHRoZSBTb2Z0d2FyZSwgYW5kIHRvIHBlcm1pdCBwZXJzb25zIHRvIHdob20gdGhlIFNvZnR3YXJlIGlzXG4vLyBmdXJuaXNoZWQgdG8gZG8gc28sIHN1YmplY3QgdG8gdGhlIGZvbGxvd2luZyBjb25kaXRpb25zOlxuLy9cbi8vIFRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlIGFuZCB0aGlzIHBlcm1pc3Npb24gbm90aWNlIHNoYWxsIGJlIGluY2x1ZGVkIGluXG4vLyBhbGwgY29waWVzIG9yIHN1YnN0YW50aWFsIHBvcnRpb25zIG9mIHRoZSBTb2Z0d2FyZS5cbi8vXG4vLyBUSEUgU09GVFdBUkUgSVMgUFJPVklERUQgXCJBUyBJU1wiLCBXSVRIT1VUIFdBUlJBTlRZIE9GIEFOWSBLSU5ELCBFWFBSRVNTIE9SXG4vLyBJTVBMSUVELCBJTkNMVURJTkcgQlVUIE5PVCBMSU1JVEVEIFRPIFRIRSBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSxcbi8vIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFORCBOT05JTkZSSU5HRU1FTlQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRVxuLy8gQVVUSE9SUyBPUiBDT1BZUklHSFQgSE9MREVSUyBCRSBMSUFCTEUgRk9SIEFOWSBDTEFJTSwgREFNQUdFUyBPUiBPVEhFUlxuLy8gTElBQklMSVRZLCBXSEVUSEVSIElOIEFOIEFDVElPTiBPRiBDT05UUkFDVCwgVE9SVCBPUiBPVEhFUldJU0UsIEFSSVNJTkcgRlJPTSxcbi8vIE9VVCBPRiBPUiBJTiBDT05ORUNUSU9OIFdJVEggVEhFIFNPRlRXQVJFIE9SIFRIRSBVU0UgT1IgT1RIRVIgREVBTElOR1MgSU5cbi8vIFRIRSBTT0ZUV0FSRS5cbi8vXG5cbkB1c2UgXCJzYXNzOm1hdGhcIjtcbkB1c2UgXCJAbWF0ZXJpYWwvYW5pbWF0aW9uL2Z1bmN0aW9uc1wiIGFzIGFuaW1hdGlvbi1mdW5jdGlvbnM7XG5AdXNlIFwiQG1hdGVyaWFsL2J1dHRvbi92YXJpYWJsZXNcIiBhcyBidXR0b24tdmFyaWFibGVzO1xuQHVzZSBcIkBtYXRlcmlhbC9lbGV2YXRpb24vbWl4aW5zXCIgYXMgZWxldmF0aW9uLW1peGlucztcbkB1c2UgXCJAbWF0ZXJpYWwvZmVhdHVyZS10YXJnZXRpbmcvZnVuY3Rpb25zXCIgYXMgZmVhdHVyZS10YXJnZXRpbmctZnVuY3Rpb25zO1xuQHVzZSBcIkBtYXRlcmlhbC9mZWF0dXJlLXRhcmdldGluZy9taXhpbnNcIiBhcyBmZWF0dXJlLXRhcmdldGluZy1taXhpbnM7XG5AdXNlIFwiQG1hdGVyaWFsL3J0bC9taXhpbnNcIiBhcyBydGwtbWl4aW5zO1xuQHVzZSBcIkBtYXRlcmlhbC9zaGFwZS9taXhpbnNcIiBhcyBzaGFwZS1taXhpbnM7XG5AdXNlIFwiQG1hdGVyaWFsL3RoZW1lL21peGluc1wiIGFzIHRoZW1lLW1peGlucztcbkB1c2UgXCJAbWF0ZXJpYWwvdGhlbWUvdmFyaWFibGVzXCIgYXMgdGhlbWUtdmFyaWFibGVzOyAvLyBmb3IgbWRjLXRoZW1lLXByb3AtdmFsdWVcbkB1c2UgXCJAbWF0ZXJpYWwvdG91Y2gtdGFyZ2V0L3ZhcmlhYmxlc1wiIGFzIHRvdWNoLXRhcmdldC12YXJpYWJsZXM7XG5AdXNlIFwiQG1hdGVyaWFsL3R5cG9ncmFwaHkvbWl4aW5zXCIgYXMgdHlwb2dyYXBoeS1taXhpbnM7XG5AdXNlIFwiLi92YXJpYWJsZXNcIjtcblxuQG1peGluIGNvcmUtc3R5bGVzKCRxdWVyeTogZmVhdHVyZS10YXJnZXRpbmctZnVuY3Rpb25zLmFsbCgpKSB7XG4gICRmZWF0LWFuaW1hdGlvbjogZmVhdHVyZS10YXJnZXRpbmctZnVuY3Rpb25zLmNyZWF0ZS10YXJnZXQoJHF1ZXJ5LCBhbmltYXRpb24pO1xuICAkZmVhdC1zdHJ1Y3R1cmU6IGZlYXR1cmUtdGFyZ2V0aW5nLWZ1bmN0aW9ucy5jcmVhdGUtdGFyZ2V0KCRxdWVyeSwgc3RydWN0dXJlKTtcblxuICBAaW5jbHVkZSBlbGV2YXRpb24tbWl4aW5zLm92ZXJsYXktY29tbW9uKCRxdWVyeSk7IC8vIENPUFlCQVJBX0NPTU1FTlRfVEhJU19MSU5FXG5cbiAgLy8gcG9zdGNzcy1iZW0tbGludGVyOiBkZWZpbmUgZGlhbG9nXG5cbiAgLm1kYy1kaWFsb2csXG4gIC5tZGMtZGlhbG9nX19zY3JpbSB7XG4gICAgQGluY2x1ZGUgZmVhdHVyZS10YXJnZXRpbmctbWl4aW5zLnRhcmdldHMoJGZlYXQtc3RydWN0dXJlKSB7XG4gICAgICBwb3NpdGlvbjogZml4ZWQ7XG4gICAgICB0b3A6IDA7XG4gICAgICBsZWZ0OiAwO1xuICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgIH1cbiAgfVxuXG4gIC5tZGMtZGlhbG9nIHtcbiAgICBAaW5jbHVkZSBjb250YWluZXItZmlsbC1jb2xvcihzdXJmYWNlLCAkcXVlcnk6ICRxdWVyeSk7XG4gICAgQGluY2x1ZGUgc2NyaW0tY29sb3IodmFyaWFibGVzLiRzY3JpbS1jb2xvciwgJHF1ZXJ5OiAkcXVlcnkpO1xuICAgIEBpbmNsdWRlIHRpdGxlLWluay1jb2xvcih2YXJpYWJsZXMuJHRpdGxlLWluay1jb2xvciwgJHF1ZXJ5OiAkcXVlcnkpO1xuICAgIEBpbmNsdWRlIGNvbnRlbnQtaW5rLWNvbG9yKHZhcmlhYmxlcy4kY29udGVudC1pbmstY29sb3IsICRxdWVyeTogJHF1ZXJ5KTtcbiAgICBAaW5jbHVkZSBzY3JvbGwtZGl2aWRlci1jb2xvcih2YXJpYWJsZXMuJHNjcm9sbC1kaXZpZGVyLWNvbG9yLCAkcXVlcnk6ICRxdWVyeSk7XG4gICAgQGluY2x1ZGUgbWluLXdpZHRoKHZhcmlhYmxlcy4kbWluLXdpZHRoLCAkcXVlcnk6ICRxdWVyeSk7XG4gICAgQGluY2x1ZGUgbWF4LXdpZHRoKHZhcmlhYmxlcy4kbWF4LXdpZHRoLCB2YXJpYWJsZXMuJG1hcmdpbiwgJHF1ZXJ5OiAkcXVlcnkpO1xuICAgIEBpbmNsdWRlIG1heC1oZWlnaHQobnVsbCwgdmFyaWFibGVzLiRtYXJnaW4sICRxdWVyeTogJHF1ZXJ5KTtcbiAgICBAaW5jbHVkZSBzaGFwZS1yYWRpdXMobWVkaXVtLCAkcXVlcnk6ICRxdWVyeSk7XG5cbiAgICBAaW5jbHVkZSBmZWF0dXJlLXRhcmdldGluZy1taXhpbnMudGFyZ2V0cygkZmVhdC1zdHJ1Y3R1cmUpIHtcbiAgICAgIC8vIFVzZSBgZGlzcGxheTogbm9uZWAgaW5zdGVhZCBvZiBgdmlzaWJpbGl0eTogaGlkZGVuYCB0byBhdm9pZCByZWNhbGN1bGF0aW5nIGxheW91dCB3aGVuIHRoZSBkaWFsb2cgaXMgY2xvc2VkLlxuICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgIHotaW5kZXg6IHZhcmlhYmxlcy4kei1pbmRleDtcbiAgICB9XG4gIH1cblxuICAubWRjLWRpYWxvZ19fc2NyaW0ge1xuICAgIEBpbmNsdWRlIGZlYXR1cmUtdGFyZ2V0aW5nLW1peGlucy50YXJnZXRzKCRmZWF0LXN0cnVjdHVyZSkge1xuICAgICAgb3BhY2l0eTogMDtcbiAgICAgIHotaW5kZXg6IC0xO1xuICAgIH1cbiAgfVxuXG4gIC8vIFRoaXMgd3JhcHBlciBlbGVtZW50IGlzIG5lZWRlZCB0byBtYWtlIG1heC1oZWlnaHQgd29yayBpbiBJRSAxMS5cbiAgLy8gU2VlIGh0dHBzOi8vZ2l0aHViLmNvbS9waGlsaXB3YWx0b24vZmxleGJ1Z3MvaXNzdWVzLzIxNlxuICAubWRjLWRpYWxvZ19fY29udGFpbmVyIHtcbiAgICBAaW5jbHVkZSBmZWF0dXJlLXRhcmdldGluZy1taXhpbnMudGFyZ2V0cygkZmVhdC1zdHJ1Y3R1cmUpIHtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBmbGV4LWRpcmVjdGlvbjogcm93OyAvLyBJRSAxMVxuICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYXJvdW5kOyAvLyBFbnN1cmUgU2FmYXJpIGNlbnRlcnMgdGhlIGRpYWxvZyAoYmVjYXVzZSBpdCB0cmVhdHMgdGhlIGNvbnRhaW5lcidzIHdpZHRoIG9kZGx5KVxuICAgICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgIHRyYW5zZm9ybTogc2NhbGUoLjgpO1xuICAgICAgb3BhY2l0eTogMDtcbiAgICAgIC8vIFRoaXMgZWxlbWVudCBpcyBuZWNlc3NhcnkgZm9yIElFIDExIGFuZCBuZWVkcyB0byBoYXZlIGBoZWlnaHQ6IDEwMCVgLlxuICAgICAgLy8gTGV0IGNsaWNrcyBvbiBlbGVtZW50IGZhbGwgdGhyb3VnaCB0byBzY3JpbSBlbGVtZW50IHVuZGVybmVhdGguXG4gICAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgICB9XG4gIH1cblxuICAubWRjLWRpYWxvZ19fc3VyZmFjZSB7XG4gICAgQGluY2x1ZGUgZWxldmF0aW9uLW1peGlucy5vdmVybGF5LXN1cmZhY2UtcG9zaXRpb24oJHF1ZXJ5OiAkcXVlcnkpO1xuICAgIEBpbmNsdWRlIGVsZXZhdGlvbi1taXhpbnMub3ZlcmxheS1kaW1lbnNpb25zKDEwMCUsICRxdWVyeTogJHF1ZXJ5KTtcbiAgICBAaW5jbHVkZSBlbGV2YXRpb24tbWl4aW5zLmVsZXZhdGlvbigyNCwgJHF1ZXJ5OiAkcXVlcnkpO1xuXG4gICAgQGluY2x1ZGUgZmVhdHVyZS10YXJnZXRpbmctbWl4aW5zLnRhcmdldHMoJGZlYXQtc3RydWN0dXJlKSB7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgIGZsZXgtZ3JvdzogMDsgLy8gSUUgMTFcbiAgICAgIGZsZXgtc2hyaW5rOiAwOyAvLyBJRSAxMVxuICAgICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICAgIG1heC13aWR0aDogMTAwJTsgLy8gSUUgMTFcbiAgICAgIG1heC1oZWlnaHQ6IDEwMCU7IC8vIElFIDExXG4gICAgICBwb2ludGVyLWV2ZW50czogYXV0bzsgLy8gT3ZlcnJpZGUgZnJvbSBgLm1kYy1kaWFsb2dfX2NvbnRhaW5lcmAuXG4gICAgICAvLyBJRSAxMTogT3RoZXJ3aXNlLCBzY3JvbGxpbmcgY29udGVudCBpbiBgbWRjLWRpYWxvZ19fY29udGVudGAgb3ZlcmZsb3dzLlxuICAgICAgb3ZlcmZsb3cteTogYXV0bztcblxuICAgICAgQGluY2x1ZGUgcnRsLW1peGlucy5ydGwoXCIubWRjLWRpYWxvZ1wiKSB7XG4gICAgICAgIC8qIEBub2ZsaXAgKi9cbiAgICAgICAgdGV4dC1hbGlnbjogcmlnaHQ7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLm1kYy1kaWFsb2dfX3RpdGxlIHtcbiAgICBAaW5jbHVkZSB0eXBvZ3JhcGh5LW1peGlucy50ZXh0LWJhc2VsaW5lKCR0b3A6IDQwcHgsICRkaXNwbGF5OiBibG9jaywgJHF1ZXJ5OiAkcXVlcnkpO1xuICAgIEBpbmNsdWRlIHR5cG9ncmFwaHktbWl4aW5zLnR5cG9ncmFwaHkoaGVhZGxpbmU2LCAkcXVlcnk6ICRxdWVyeSk7XG5cbiAgICBAaW5jbHVkZSBmZWF0dXJlLXRhcmdldGluZy1taXhpbnMudGFyZ2V0cygkZmVhdC1zdHJ1Y3R1cmUpIHtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgIGZsZXgtc2hyaW5rOiAwO1xuICAgICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICAgIG1hcmdpbjogMDtcbiAgICAgIHBhZGRpbmc6IDAgMjRweCB2YXJpYWJsZXMuJHRpdGxlLWJvdHRvbS1wYWRkaW5nO1xuICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIHRyYW5zcGFyZW50O1xuXG4gICAgICBAaW5jbHVkZSBydGwtbWl4aW5zLnJ0bChcIi5tZGMtZGlhbG9nXCIpIHtcbiAgICAgICAgLyogQG5vZmxpcCAqL1xuICAgICAgICB0ZXh0LWFsaWduOiByaWdodDtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAvLyBzdHlsZWxpbnQtZGlzYWJsZS1uZXh0LWxpbmUgcGx1Z2luL3NlbGVjdG9yLWJlbS1wYXR0ZXJuXG4gIC5tZGMtZGlhbG9nLS1zY3JvbGxhYmxlIC5tZGMtZGlhbG9nX190aXRsZSB7XG4gICAgQGluY2x1ZGUgZmVhdHVyZS10YXJnZXRpbmctbWl4aW5zLnRhcmdldHMoJGZlYXQtc3RydWN0dXJlKSB7XG4gICAgICAvLyBBZGp1c3QgYm90dG9tIHBhZGRpbmcgdG8gbWFrZSB0aXRsZSBoZWlnaHQgYWxpZ24gdG8gc3BlYyB3aGVuIGRpdmlkZXIgaXMgcHJlc2VudC5cbiAgICAgIC8vIChUaXRsZXMgZm9yIGFsZXJ0IGRpYWxvZ3Mgdy9vIGRpdmlkZXJzIGFsaWduIGJhc2VkIG9uIHRleHQgYmFzZWxpbmUuIEFsbCBzcGVjIHZhbHVlcyBhcmUgZGl2aXNpYmxlIGJ5IDQuKVxuICAgICAgcGFkZGluZy1ib3R0b206IHZhcmlhYmxlcy4kdGl0bGUtYm90dG9tLXBhZGRpbmcgKyA2cHg7XG4gICAgfVxuICB9XG5cbiAgLm1kYy1kaWFsb2dfX2NvbnRlbnQge1xuICAgIEBpbmNsdWRlIHR5cG9ncmFwaHktbWl4aW5zLnR5cG9ncmFwaHkoYm9keTEsICRxdWVyeTogJHF1ZXJ5KTtcblxuICAgIEBpbmNsdWRlIGZlYXR1cmUtdGFyZ2V0aW5nLW1peGlucy50YXJnZXRzKCRmZWF0LXN0cnVjdHVyZSkge1xuICAgICAgZmxleC1ncm93OiAxO1xuICAgICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICAgIG1hcmdpbjogMDtcbiAgICAgIHBhZGRpbmc6IDIwcHggMjRweDsgLy8gTm90ZTogdGhlIHRvcCBwYWRkaW5nIGlzIG9ubHkgMjBweCBmb3IgZGlhbG9ncyB3aXRob3V0IHRpdGxlczsgc2VlIGJlbG93IGZvciBvdmVycmlkZVxuICAgICAgb3ZlcmZsb3c6IGF1dG87XG4gICAgICAtd2Via2l0LW92ZXJmbG93LXNjcm9sbGluZzogdG91Y2g7XG4gICAgfVxuXG4gICAgLy8gVGhlIGNvbnRlbnQgZWxlbWVudCBhbHJlYWR5IGhhcyB0b3AvYm90dG9tIHBhZGRpbmcsIHNvIHdlIG5lZWQgdG8gc3VwcHJlc3MgbWFyZ2lucyBvbiBpdHMgZmlyc3QvbGFzdCBjaGlsZHJlbi5cbiAgICA+IDpmaXJzdC1jaGlsZCB7XG4gICAgICBAaW5jbHVkZSBmZWF0dXJlLXRhcmdldGluZy1taXhpbnMudGFyZ2V0cygkZmVhdC1zdHJ1Y3R1cmUpIHtcbiAgICAgICAgbWFyZ2luLXRvcDogMDtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBUaGUgY29udGVudCBlbGVtZW50IGFscmVhZHkgaGFzIHRvcC9ib3R0b20gcGFkZGluZywgc28gd2UgbmVlZCB0byBzdXBwcmVzcyBtYXJnaW5zIG9uIGl0cyBmaXJzdC9sYXN0IGNoaWxkcmVuLlxuICAgID4gOmxhc3QtY2hpbGQge1xuICAgICAgQGluY2x1ZGUgZmVhdHVyZS10YXJnZXRpbmctbWl4aW5zLnRhcmdldHMoJGZlYXQtc3RydWN0dXJlKSB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLy8gc3R5bGVsaW50LWRpc2FibGUtbmV4dC1saW5lIHBsdWdpbi9zZWxlY3Rvci1iZW0tcGF0dGVyblxuICAubWRjLWRpYWxvZ19fdGl0bGUgKyAubWRjLWRpYWxvZ19fY29udGVudCB7XG4gICAgQGluY2x1ZGUgZmVhdHVyZS10YXJnZXRpbmctbWl4aW5zLnRhcmdldHMoJGZlYXQtc3RydWN0dXJlKSB7XG4gICAgICAvLyBFbGltaW5hdGUgcGFkZGluZyB0byBicmluZyBhcyBjbG9zZSB0byBzcGVjIGFzIHBvc3NpYmxlLCByZWx5aW5nIG9uIHRpdGxlIHBhZGRpbmcuXG4gICAgICAvLyAoU3BlYyBzZWVtcyBpbmNvbnNpc3RlbnQgUkUgdGl0bGUvYm9keSBzcGFjaW5nIG9uIGFsZXJ0IHZzLiBzaW1wbGUgdmFyaWFudHMuKVxuICAgICAgcGFkZGluZy10b3A6IDA7XG4gICAgfVxuICB9XG5cbiAgLy8gc3R5bGVsaW50LWRpc2FibGUtbmV4dC1saW5lIHBsdWdpbi9zZWxlY3Rvci1iZW0tcGF0dGVyblxuICAubWRjLWRpYWxvZy0tc2Nyb2xsYWJsZSAubWRjLWRpYWxvZ19fY29udGVudCB7XG4gICAgQGluY2x1ZGUgZmVhdHVyZS10YXJnZXRpbmctbWl4aW5zLnRhcmdldHMoJGZlYXQtc3RydWN0dXJlKSB7XG4gICAgICAvLyBSZWR1Y2UgYW5kIGVxdWFsaXplIHZlcnRpY2FsIHBhZGRpbmdzIHdoZW4gc2Nyb2xsYWJsZSBkaXZpZGVycyBhcmUgcHJlc2VudFxuICAgICAgLy8gKE5vdGU6IHRoaXMgaXMgaW50ZW50aW9uYWxseSBhZnRlciB0aXRsZSArIGNvbnRlbnQgdG8gdGFrZSBwcmVjZWRlbmNlKVxuICAgICAgcGFkZGluZy10b3A6IDhweDtcbiAgICAgIHBhZGRpbmctYm90dG9tOiA4cHg7XG4gICAgfVxuICB9XG5cbiAgLy8gc3R5bGVsaW50LWRpc2FibGUtbmV4dC1saW5lIHBsdWdpbi9zZWxlY3Rvci1iZW0tcGF0dGVyblxuICAubWRjLWRpYWxvZ19fY29udGVudCAubWRjLWxpc3Q6Zmlyc3QtY2hpbGQ6bGFzdC1jaGlsZCB7XG4gICAgQGluY2x1ZGUgZmVhdHVyZS10YXJnZXRpbmctbWl4aW5zLnRhcmdldHMoJGZlYXQtc3RydWN0dXJlKSB7XG4gICAgICAvLyBPdmVycmlkZSBkZWZhdWx0IC5tZGMtbGlzdCBwYWRkaW5nIGZvciBjb250ZW50IGNvbnNpc3RpbmcgZXhjbHVzaXZlbHkgb2YgYSBNREMgTGlzdFxuICAgICAgcGFkZGluZzogNnB4IDAgMDsgLy8gVG9wIHBhZGRpbmcgYmFsYW5jZXMgd2l0aCB0aXRsZSBoZWlnaHRcbiAgICB9XG4gIH1cblxuICAvLyBzdHlsZWxpbnQtZGlzYWJsZS1uZXh0LWxpbmUgcGx1Z2luL3NlbGVjdG9yLWJlbS1wYXR0ZXJuLCBzZWxlY3Rvci1tYXgtc3BlY2lmaWNpdHlcbiAgLm1kYy1kaWFsb2ctLXNjcm9sbGFibGUgLm1kYy1kaWFsb2dfX2NvbnRlbnQgLm1kYy1saXN0OmZpcnN0LWNoaWxkOmxhc3QtY2hpbGQge1xuICAgIEBpbmNsdWRlIGZlYXR1cmUtdGFyZ2V0aW5nLW1peGlucy50YXJnZXRzKCRmZWF0LXN0cnVjdHVyZSkge1xuICAgICAgLy8gT3ZlcnJpZGUgZGVmYXVsdCAubWRjLWxpc3QgcGFkZGluZyBmb3IgY29udGVudCBjb25zaXN0aW5nIGV4Y2x1c2l2ZWx5IG9mIGEgTURDIExpc3RcbiAgICAgIHBhZGRpbmc6IDA7XG4gICAgfVxuICB9XG5cbiAgLm1kYy1kaWFsb2dfX2FjdGlvbnMge1xuICAgIEBpbmNsdWRlIGZlYXR1cmUtdGFyZ2V0aW5nLW1peGlucy50YXJnZXRzKCRmZWF0LXN0cnVjdHVyZSkge1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgIGZsZXgtc2hyaW5rOiAwO1xuICAgICAgZmxleC13cmFwOiB3cmFwO1xuICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XG4gICAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgICAgbWluLWhlaWdodDogNTJweDtcbiAgICAgIG1hcmdpbjogMDtcbiAgICAgIHBhZGRpbmc6IHZhcmlhYmxlcy4kYWN0aW9ucy1wYWRkaW5nO1xuICAgICAgYm9yZGVyLXRvcDogMXB4IHNvbGlkIHRyYW5zcGFyZW50O1xuICAgIH1cblxuICAgIC5tZGMtZGlhbG9nLS1zdGFja2VkICYge1xuICAgICAgQGluY2x1ZGUgZmVhdHVyZS10YXJnZXRpbmctbWl4aW5zLnRhcmdldHMoJGZlYXQtc3RydWN0dXJlKSB7XG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICAgIGFsaWduLWl0ZW1zOiBmbGV4LWVuZDtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAubWRjLWRpYWxvZ19fYnV0dG9uIHtcbiAgICBAaW5jbHVkZSBmZWF0dXJlLXRhcmdldGluZy1taXhpbnMudGFyZ2V0cygkZmVhdC1zdHJ1Y3R1cmUpIHtcbiAgICAgIEBpbmNsdWRlIHJ0bC1taXhpbnMucmVmbGV4aXZlLWJveChtYXJnaW4sIGxlZnQsIDhweCk7XG4gICAgfVxuXG4gICAgJjpmaXJzdC1jaGlsZCB7XG4gICAgICBAaW5jbHVkZSBmZWF0dXJlLXRhcmdldGluZy1taXhpbnMudGFyZ2V0cygkZmVhdC1zdHJ1Y3R1cmUpIHtcbiAgICAgICAgQGluY2x1ZGUgcnRsLW1peGlucy5yZWZsZXhpdmUtYm94KG1hcmdpbiwgbGVmdCwgMCk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgZmVhdHVyZS10YXJnZXRpbmctbWl4aW5zLnRhcmdldHMoJGZlYXQtc3RydWN0dXJlKSB7XG4gICAgICBtYXgtd2lkdGg6IDEwMCU7IC8vIFByZXZlbnQgbG9uZyB0ZXh0IGZyb20gb3ZlcmZsb3dpbmcgcGFyZW50IGVsZW1lbnQgaW4gSUUgMTFcbiAgICAgIC8qIEBub2ZsaXAgKi9cbiAgICAgIHRleHQtYWxpZ246IHJpZ2h0O1xuXG4gICAgICBAaW5jbHVkZSBydGwtbWl4aW5zLnJ0bChcIi5tZGMtZGlhbG9nXCIpIHtcbiAgICAgICAgLyogQG5vZmxpcCAqL1xuICAgICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgICAgfVxuICAgIH1cblxuICAgIC5tZGMtZGlhbG9nLS1zdGFja2VkICY6bm90KDpmaXJzdC1jaGlsZCkge1xuICAgICAgQGluY2x1ZGUgZmVhdHVyZS10YXJnZXRpbmctbWl4aW5zLnRhcmdldHMoJGZlYXQtc3RydWN0dXJlKSB7XG4gICAgICAgIG1hcmdpbi10b3A6IDEycHg7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLm1kYy1kaWFsb2ctLW9wZW4sXG4gIC5tZGMtZGlhbG9nLS1vcGVuaW5nLFxuICAubWRjLWRpYWxvZy0tY2xvc2luZyB7XG4gICAgQGluY2x1ZGUgZmVhdHVyZS10YXJnZXRpbmctbWl4aW5zLnRhcmdldHMoJGZlYXQtc3RydWN0dXJlKSB7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgIH1cbiAgfVxuXG4gIC5tZGMtZGlhbG9nLS1vcGVuaW5nIHtcbiAgICAubWRjLWRpYWxvZ19fc2NyaW0ge1xuICAgICAgQGluY2x1ZGUgZmVhdHVyZS10YXJnZXRpbmctbWl4aW5zLnRhcmdldHMoJGZlYXQtYW5pbWF0aW9uKSB7XG4gICAgICAgIHRyYW5zaXRpb246IG9wYWNpdHkgMTUwbXMgbGluZWFyO1xuICAgICAgfVxuICAgIH1cblxuICAgIC5tZGMtZGlhbG9nX19jb250YWluZXIge1xuICAgICAgQGluY2x1ZGUgZmVhdHVyZS10YXJnZXRpbmctbWl4aW5zLnRhcmdldHMoJGZlYXQtYW5pbWF0aW9uKSB7XG4gICAgICAgIHRyYW5zaXRpb246IG9wYWNpdHkgNzVtcyBsaW5lYXIsIGFuaW1hdGlvbi1mdW5jdGlvbnMuZW50ZXIodHJhbnNmb3JtLCAxNTBtcyk7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLm1kYy1kaWFsb2ctLWNsb3Npbmcge1xuICAgIC5tZGMtZGlhbG9nX19zY3JpbSxcbiAgICAubWRjLWRpYWxvZ19fY29udGFpbmVyIHtcbiAgICAgIEBpbmNsdWRlIGZlYXR1cmUtdGFyZ2V0aW5nLW1peGlucy50YXJnZXRzKCRmZWF0LWFuaW1hdGlvbikge1xuICAgICAgICB0cmFuc2l0aW9uOiBvcGFjaXR5IDc1bXMgbGluZWFyO1xuICAgICAgfVxuICAgIH1cblxuICAgIC5tZGMtZGlhbG9nX19jb250YWluZXIge1xuICAgICAgQGluY2x1ZGUgZmVhdHVyZS10YXJnZXRpbmctbWl4aW5zLnRhcmdldHMoJGZlYXQtc3RydWN0dXJlKSB7XG4gICAgICAgIC8vIERpYWxvZyBjb250YWluZXIgc2NhbGVzIHVwIHdoaWxlIG9wZW5pbmcsIGJ1dCBzaG91bGQgcmVtYWluIHNjYWxlZCB1cCB3aGlsZSBjbG9zaW5nXG4gICAgICAgIHRyYW5zZm9ybTogc2NhbGUoMSk7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLm1kYy1kaWFsb2ctLW9wZW4ge1xuICAgIC5tZGMtZGlhbG9nX19zY3JpbSB7XG4gICAgICBAaW5jbHVkZSBmZWF0dXJlLXRhcmdldGluZy1taXhpbnMudGFyZ2V0cygkZmVhdC1zdHJ1Y3R1cmUpIHtcbiAgICAgICAgb3BhY2l0eTogMTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAubWRjLWRpYWxvZ19fY29udGFpbmVyIHtcbiAgICAgIEBpbmNsdWRlIGZlYXR1cmUtdGFyZ2V0aW5nLW1peGlucy50YXJnZXRzKCRmZWF0LXN0cnVjdHVyZSkge1xuICAgICAgICB0cmFuc2Zvcm06IHNjYWxlKDEpO1xuICAgICAgICBvcGFjaXR5OiAxO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC8vIHBvc3Rjc3MtYmVtLWxpbnRlcjogZW5kXG5cbiAgLy8gQ2xhc3MgYXBwbGllZCB0byBib2R5IHdoaWxlIGRpYWxvZyBpcyBvcGVuLCB0byBwcmV2ZW50IHNjcm9sbGluZyBiZWhpbmQgdGhlIGRpYWxvZ1xuICAubWRjLWRpYWxvZy1zY3JvbGwtbG9jayB7XG4gICAgQGluY2x1ZGUgZmVhdHVyZS10YXJnZXRpbmctbWl4aW5zLnRhcmdldHMoJGZlYXQtc3RydWN0dXJlKSB7XG4gICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIH1cbiAgfVxufVxuXG5AbWl4aW4gY29udGFpbmVyLWZpbGwtY29sb3IoJGNvbG9yLCAkcXVlcnk6IGZlYXR1cmUtdGFyZ2V0aW5nLWZ1bmN0aW9ucy5hbGwoKSkge1xuICAkZmVhdC1jb2xvcjogZmVhdHVyZS10YXJnZXRpbmctZnVuY3Rpb25zLmNyZWF0ZS10YXJnZXQoJHF1ZXJ5LCBjb2xvcik7XG5cbiAgLm1kYy1kaWFsb2dfX3N1cmZhY2Uge1xuICAgIEBpbmNsdWRlIGZlYXR1cmUtdGFyZ2V0aW5nLW1peGlucy50YXJnZXRzKCRmZWF0LWNvbG9yKSB7XG4gICAgICBAaW5jbHVkZSB0aGVtZS1taXhpbnMucHJvcChiYWNrZ3JvdW5kLWNvbG9yLCAkY29sb3IpO1xuICAgIH1cbiAgfVxufVxuXG5AbWl4aW4gc2NyaW0tY29sb3IoJGNvbG9yLCAkb3BhY2l0eTogdmFyaWFibGVzLiRzY3JpbS1vcGFjaXR5LCAkcXVlcnk6IGZlYXR1cmUtdGFyZ2V0aW5nLWZ1bmN0aW9ucy5hbGwoKSkge1xuICAkZmVhdC1jb2xvcjogZmVhdHVyZS10YXJnZXRpbmctZnVuY3Rpb25zLmNyZWF0ZS10YXJnZXQoJHF1ZXJ5LCBjb2xvcik7XG5cbiAgLm1kYy1kaWFsb2dfX3NjcmltIHtcbiAgICBAaW5jbHVkZSBmZWF0dXJlLXRhcmdldGluZy1taXhpbnMudGFyZ2V0cygkZmVhdC1jb2xvcikge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSh0aGVtZS12YXJpYWJsZXMucHJvcC12YWx1ZSgkY29sb3IpLCAkb3BhY2l0eSk7XG4gICAgfVxuICB9XG59XG5cbkBtaXhpbiB0aXRsZS1pbmstY29sb3IoJGNvbG9yLCAkb3BhY2l0eTogdmFyaWFibGVzLiR0aXRsZS1pbmstb3BhY2l0eSwgJHF1ZXJ5OiBmZWF0dXJlLXRhcmdldGluZy1mdW5jdGlvbnMuYWxsKCkpIHtcbiAgJGZlYXQtY29sb3I6IGZlYXR1cmUtdGFyZ2V0aW5nLWZ1bmN0aW9ucy5jcmVhdGUtdGFyZ2V0KCRxdWVyeSwgY29sb3IpO1xuXG4gIC5tZGMtZGlhbG9nX190aXRsZSB7XG4gICAgQGluY2x1ZGUgZmVhdHVyZS10YXJnZXRpbmctbWl4aW5zLnRhcmdldHMoJGZlYXQtY29sb3IpIHtcbiAgICAgIGNvbG9yOiByZ2JhKHRoZW1lLXZhcmlhYmxlcy5wcm9wLXZhbHVlKCRjb2xvciksICRvcGFjaXR5KTtcbiAgICB9XG4gIH1cbn1cblxuQG1peGluIGNvbnRlbnQtaW5rLWNvbG9yKCRjb2xvciwgJG9wYWNpdHk6IHZhcmlhYmxlcy4kY29udGVudC1pbmstb3BhY2l0eSwgJHF1ZXJ5OiBmZWF0dXJlLXRhcmdldGluZy1mdW5jdGlvbnMuYWxsKCkpIHtcbiAgJGZlYXQtY29sb3I6IGZlYXR1cmUtdGFyZ2V0aW5nLWZ1bmN0aW9ucy5jcmVhdGUtdGFyZ2V0KCRxdWVyeSwgY29sb3IpO1xuXG4gIC5tZGMtZGlhbG9nX19jb250ZW50IHtcbiAgICBAaW5jbHVkZSBmZWF0dXJlLXRhcmdldGluZy1taXhpbnMudGFyZ2V0cygkZmVhdC1jb2xvcikge1xuICAgICAgY29sb3I6IHJnYmEodGhlbWUtdmFyaWFibGVzLnByb3AtdmFsdWUoJGNvbG9yKSwgJG9wYWNpdHkpO1xuICAgIH1cbiAgfVxufVxuXG5AbWl4aW4gc2Nyb2xsLWRpdmlkZXItY29sb3IoXG4gICRjb2xvcixcbiAgJG9wYWNpdHk6IHZhcmlhYmxlcy4kc2Nyb2xsLWRpdmlkZXItb3BhY2l0eSxcbiAgJHF1ZXJ5OiBmZWF0dXJlLXRhcmdldGluZy1mdW5jdGlvbnMuYWxsKClcbikge1xuICAkZmVhdC1jb2xvcjogZmVhdHVyZS10YXJnZXRpbmctZnVuY3Rpb25zLmNyZWF0ZS10YXJnZXQoJHF1ZXJ5LCBjb2xvcik7XG5cbiAgJi5tZGMtZGlhbG9nLS1zY3JvbGxhYmxlIC5tZGMtZGlhbG9nX190aXRsZSxcbiAgJi5tZGMtZGlhbG9nLS1zY3JvbGxhYmxlIC5tZGMtZGlhbG9nX19hY3Rpb25zIHtcbiAgICBAaW5jbHVkZSBmZWF0dXJlLXRhcmdldGluZy1taXhpbnMudGFyZ2V0cygkZmVhdC1jb2xvcikge1xuICAgICAgYm9yZGVyLWNvbG9yOiByZ2JhKHRoZW1lLXZhcmlhYmxlcy5wcm9wLXZhbHVlKCRjb2xvciksICRvcGFjaXR5KTtcbiAgICB9XG4gIH1cbn1cblxuQG1peGluIHNoYXBlLXJhZGl1cygkcmFkaXVzLCAkcnRsLXJlZmxleGl2ZTogZmFsc2UsICRxdWVyeTogZmVhdHVyZS10YXJnZXRpbmctZnVuY3Rpb25zLmFsbCgpKSB7XG4gICRmZWF0LXN0cnVjdHVyZTogZmVhdHVyZS10YXJnZXRpbmctZnVuY3Rpb25zLmNyZWF0ZS10YXJnZXQoJHF1ZXJ5LCBzdHJ1Y3R1cmUpO1xuXG4gIC5tZGMtZGlhbG9nX19zdXJmYWNlIHtcbiAgICBAaW5jbHVkZSBzaGFwZS1taXhpbnMucmFkaXVzKCRyYWRpdXMsICRydGwtcmVmbGV4aXZlLCAkcXVlcnk6ICRxdWVyeSk7XG4gIH1cbn1cblxuQG1peGluIG1pbi13aWR0aCgkbWluLXdpZHRoLCAkcXVlcnk6IGZlYXR1cmUtdGFyZ2V0aW5nLWZ1bmN0aW9ucy5hbGwoKSkge1xuICAkZmVhdC1zdHJ1Y3R1cmU6IGZlYXR1cmUtdGFyZ2V0aW5nLWZ1bmN0aW9ucy5jcmVhdGUtdGFyZ2V0KCRxdWVyeSwgc3RydWN0dXJlKTtcblxuICAubWRjLWRpYWxvZ19fc3VyZmFjZSB7XG4gICAgQGluY2x1ZGUgZmVhdHVyZS10YXJnZXRpbmctbWl4aW5zLnRhcmdldHMoJGZlYXQtc3RydWN0dXJlKSB7XG4gICAgICBtaW4td2lkdGg6ICRtaW4td2lkdGg7XG4gICAgfVxuICB9XG59XG5cbkBtaXhpbiBtYXgtd2lkdGgoJG1heC13aWR0aCwgJG1hcmdpbiwgJHF1ZXJ5OiBmZWF0dXJlLXRhcmdldGluZy1mdW5jdGlvbnMuYWxsKCkpIHtcbiAgJGZlYXQtc3RydWN0dXJlOiBmZWF0dXJlLXRhcmdldGluZy1mdW5jdGlvbnMuY3JlYXRlLXRhcmdldCgkcXVlcnksIHN0cnVjdHVyZSk7XG4gICRtYXgtc2l6ZS1jYWxjLWV4cHI6IGNhbGMoMTAwdncgLSAjeyRtYXJnaW4gKiAyfSk7XG5cbiAgLm1kYy1kaWFsb2dfX3N1cmZhY2Uge1xuICAgIEBpbmNsdWRlIGZlYXR1cmUtdGFyZ2V0aW5nLW1peGlucy50YXJnZXRzKCRmZWF0LXN0cnVjdHVyZSkge1xuICAgICAgQGlmICRtYXgtd2lkdGgge1xuICAgICAgICAkbWF4LXdpZHRoLWJyZWFrcG9pbnQ6ICRtYXgtd2lkdGggKyAoJG1hcmdpbiAqIDIpO1xuXG4gICAgICAgIC8vIEZpdCBzbnVnbHkgd2l0aGluIHRoZSB2aWV3cG9ydCBhdCBzbWFsbGVyIHNjcmVlbiBzaXplcy5cbiAgICAgICAgQG1lZGlhIChtYXgtd2lkdGg6ICRtYXgtd2lkdGgtYnJlYWtwb2ludCkge1xuICAgICAgICAgIG1heC13aWR0aDogJG1heC1zaXplLWNhbGMtZXhwcjtcbiAgICAgICAgfVxuXG4gICAgICAgIC8vIE9uY2UgdGhlIHNjcmVlbiBnZXRzIGJpZyBlbm91Z2gsIGFwcGx5IGEgZml4ZWQgbWF4aW11bSB3aWR0aC5cbiAgICAgICAgQG1lZGlhIChtaW4td2lkdGg6ICRtYXgtd2lkdGgtYnJlYWtwb2ludCkge1xuICAgICAgICAgIG1heC13aWR0aDogJG1heC13aWR0aDtcbiAgICAgICAgfVxuICAgICAgfSBAZWxzZSB7XG4gICAgICAgIG1heC13aWR0aDogJG1heC1zaXplLWNhbGMtZXhwcjtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuQG1peGluIG1heC1oZWlnaHQoJG1heC1oZWlnaHQsICRtYXJnaW4sICRxdWVyeTogZmVhdHVyZS10YXJnZXRpbmctZnVuY3Rpb25zLmFsbCgpKSB7XG4gICRmZWF0LXN0cnVjdHVyZTogZmVhdHVyZS10YXJnZXRpbmctZnVuY3Rpb25zLmNyZWF0ZS10YXJnZXQoJHF1ZXJ5LCBzdHJ1Y3R1cmUpO1xuICAkbWF4LXNpemUtY2FsYy1leHByOiBjYWxjKDEwMCUgLSAjeyRtYXJnaW4gKiAyfSk7XG5cbiAgLm1kYy1kaWFsb2dfX3N1cmZhY2Uge1xuICAgIEBpbmNsdWRlIGZlYXR1cmUtdGFyZ2V0aW5nLW1peGlucy50YXJnZXRzKCRmZWF0LXN0cnVjdHVyZSkge1xuICAgICAgQGlmICRtYXgtaGVpZ2h0IHtcbiAgICAgICAgJG1heC1oZWlnaHQtYnJlYWtwb2ludDogJG1heC1oZWlnaHQgKyAoJG1hcmdpbiAqIDIpO1xuXG4gICAgICAgIC8vIEZpdCBzbnVnbHkgd2l0aGluIHRoZSB2aWV3cG9ydCBhdCBzbWFsbGVyIHNjcmVlbiBzaXplcy5cbiAgICAgICAgQG1lZGlhIChtYXgtaGVpZ2h0OiAkbWF4LWhlaWdodC1icmVha3BvaW50KSB7XG4gICAgICAgICAgbWF4LWhlaWdodDogJG1heC1zaXplLWNhbGMtZXhwcjtcbiAgICAgICAgfVxuXG4gICAgICAgIC8vIE9uY2UgdGhlIHNjcmVlbiBnZXRzIGJpZyBlbm91Z2gsIGFwcGx5IGEgZml4ZWQgbWF4aW11bSBoZWlnaHQuXG4gICAgICAgIEBtZWRpYSAobWluLWhlaWdodDogJG1heC1oZWlnaHQtYnJlYWtwb2ludCkge1xuICAgICAgICAgIG1heC1oZWlnaHQ6ICRtYXgtaGVpZ2h0O1xuICAgICAgICB9XG4gICAgICB9IEBlbHNlIHtcbiAgICAgICAgbWF4LWhlaWdodDogJG1heC1zaXplLWNhbGMtZXhwcjtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAvLyBUYXJnZXQgSUUgMTEuXG4gIEBtZWRpYSBhbGwgYW5kICgtbXMtaGlnaC1jb250cmFzdDogbm9uZSksICgtbXMtaGlnaC1jb250cmFzdDogYWN0aXZlKSB7XG4gICAgLy8gT24gSUUgMTEsIGlmIHN1cmZhY2UgaGVpZ2h0IGlzIGZpeGVkIGFuZCBjb250YWluZXIgaGVpZ2h0IGlzIDEwMCUsXG4gICAgLy8gc2Nyb2xsaW5nIGNvbnRlbnQgb3ZlcmZsb3dzLiBTbywgcmVzZXQgaGVpZ2h0IGlmIHN1cmZhY2UgaGVpZ2h0XG4gICAgLy8gaXMgZml4ZWQuXG4gICAgLm1kYy1kaWFsb2dfX2NvbnRhaW5lciB7XG4gICAgICBAaW5jbHVkZSBmZWF0dXJlLXRhcmdldGluZy1taXhpbnMudGFyZ2V0cygkZmVhdC1zdHJ1Y3R1cmUpIHtcbiAgICAgICAgLyogc3R5bGVsaW50LWRpc2FibGUgKi9cbiAgICAgICAgLy8gRGlzYWJsZSBzdHlsZWxpbnQgaGVyZSwgYXMgbmVzdGluZyBkZXB0aCA+IDMgaXMgcmVxdWlyZWQgdG9cbiAgICAgICAgLy8gd29yayBhcm91bmQgSUUgMTEuXG4gICAgICAgIEBpZiAkbWF4LWhlaWdodCB7XG4gICAgICAgICAgJG1heC1oZWlnaHQtYnJlYWtwb2ludDogJG1heC1oZWlnaHQgKyAoJG1hcmdpbiAqIDIpO1xuXG4gICAgICAgICAgQG1lZGlhIChtaW4taGVpZ2h0OiAkbWF4LWhlaWdodC1icmVha3BvaW50KSB7XG4gICAgICAgICAgICBhbGlnbi1pdGVtczogc3RyZXRjaDtcbiAgICAgICAgICAgIGhlaWdodDogYXV0bztcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgLyogc3R5bGVsaW50LWVuYWJsZSovXG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbi8vIEFwcGxpZWQgdG8gZGlhbG9ncyB0aGF0IGhhdmUgYnV0dG9ucyB3aXRoIGFuIGluY3JlYXNlZCB0b3VjaCB0YXJnZXQuXG5AbWl4aW4gd2l0aC10b3VjaC10YXJnZXQoJHF1ZXJ5OiBmZWF0dXJlLXRhcmdldGluZy1mdW5jdGlvbnMuYWxsKCkpIHtcbiAgJGZlYXQtc3RydWN0dXJlOiBmZWF0dXJlLXRhcmdldGluZy1mdW5jdGlvbnMuY3JlYXRlLXRhcmdldCgkcXVlcnksIHN0cnVjdHVyZSk7XG4gICR0b3VjaC10YXJnZXQtbWFyZ2luOlxuICAgICh0b3VjaC10YXJnZXQtdmFyaWFibGVzLiRoZWlnaHQgLSBidXR0b24tdmFyaWFibGVzLiRoZWlnaHQpIC8gMjtcbiAgJHZlcnRpY2FsLXBhZGRpbmc6IG1hdGgubWF4KDAsIHZhcmlhYmxlcy4kYWN0aW9ucy1wYWRkaW5nIC0gJHRvdWNoLXRhcmdldC1tYXJnaW4pO1xuXG4gIC8vIEJ1dHRvbnMgd2l0aCBhbiBpbmNyZWFzZWQgdG91Y2ggdGFyZ2V0IGhhdmUgYWRkZWQgdmVydGljYWwgbWFyZ2luLCBzb1xuICAvLyBkZWNyZWFzZSB0aGUgYWN0aW9ucyBlbGVtZW50IHBhZGRpbmcgdG8gY29tcGVuc2F0ZS5cbiAgLm1kYy1kaWFsb2dfX2FjdGlvbnMge1xuICAgIEBpbmNsdWRlIGZlYXR1cmUtdGFyZ2V0aW5nLW1peGlucy50YXJnZXRzKCRmZWF0LXN0cnVjdHVyZSkge1xuICAgICAgcGFkZGluZy10b3A6ICR2ZXJ0aWNhbC1wYWRkaW5nO1xuICAgICAgcGFkZGluZy1ib3R0b206ICR2ZXJ0aWNhbC1wYWRkaW5nO1xuXG4gICAgICAvLyBUaGUgYmVsb3cgc3R5bGVzIG92ZXJyaWRlIHRoZSBkZWZhdWx0IGJ1dHRvbiB0b3VjaCB0YXJnZXQgdmFsdWVzLFxuICAgICAgLy8gd2hpY2ggb3RoZXJ3aXNlIGNhdXNlIGBtZGMtZGlhbG9nX19zdXJmYWNlYCB0byBzY3JvbGwgdW5ubmVjZXNzYXJpbHlcbiAgICAgIC8vIGluIElFIDExLlxuICAgICAgLm1kYy1idXR0b25fX3RvdWNoIHtcbiAgICAgICAgdG9wOiAtJHRvdWNoLXRhcmdldC1tYXJnaW47IC8vIElFIDExXG4gICAgICAgIHRyYW5zZm9ybTogbm9uZTsgLy8gSUUgMTFcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsIi8vXG4vLyBDb3B5cmlnaHQgMjAxOCBHb29nbGUgSW5jLlxuLy9cbi8vIFBlcm1pc3Npb24gaXMgaGVyZWJ5IGdyYW50ZWQsIGZyZWUgb2YgY2hhcmdlLCB0byBhbnkgcGVyc29uIG9idGFpbmluZyBhIGNvcHlcbi8vIG9mIHRoaXMgc29mdHdhcmUgYW5kIGFzc29jaWF0ZWQgZG9jdW1lbnRhdGlvbiBmaWxlcyAodGhlIFwiU29mdHdhcmVcIiksIHRvIGRlYWxcbi8vIGluIHRoZSBTb2Z0d2FyZSB3aXRob3V0IHJlc3RyaWN0aW9uLCBpbmNsdWRpbmcgd2l0aG91dCBsaW1pdGF0aW9uIHRoZSByaWdodHNcbi8vIHRvIHVzZSwgY29weSwgbW9kaWZ5LCBtZXJnZSwgcHVibGlzaCwgZGlzdHJpYnV0ZSwgc3VibGljZW5zZSwgYW5kL29yIHNlbGxcbi8vIGNvcGllcyBvZiB0aGUgU29mdHdhcmUsIGFuZCB0byBwZXJtaXQgcGVyc29ucyB0byB3aG9tIHRoZSBTb2Z0d2FyZSBpc1xuLy8gZnVybmlzaGVkIHRvIGRvIHNvLCBzdWJqZWN0IHRvIHRoZSBmb2xsb3dpbmcgY29uZGl0aW9uczpcbi8vXG4vLyBUaGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSBhbmQgdGhpcyBwZXJtaXNzaW9uIG5vdGljZSBzaGFsbCBiZSBpbmNsdWRlZCBpblxuLy8gYWxsIGNvcGllcyBvciBzdWJzdGFudGlhbCBwb3J0aW9ucyBvZiB0aGUgU29mdHdhcmUuXG4vL1xuLy8gVEhFIFNPRlRXQVJFIElTIFBST1ZJREVEIFwiQVMgSVNcIiwgV0lUSE9VVCBXQVJSQU5UWSBPRiBBTlkgS0lORCwgRVhQUkVTUyBPUlxuLy8gSU1QTElFRCwgSU5DTFVESU5HIEJVVCBOT1QgTElNSVRFRCBUTyBUSEUgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFksXG4vLyBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBTkQgTk9OSU5GUklOR0VNRU5ULiBJTiBOTyBFVkVOVCBTSEFMTCBUSEVcbi8vIEFVVEhPUlMgT1IgQ09QWVJJR0hUIEhPTERFUlMgQkUgTElBQkxFIEZPUiBBTlkgQ0xBSU0sIERBTUFHRVMgT1IgT1RIRVJcbi8vIExJQUJJTElUWSwgV0hFVEhFUiBJTiBBTiBBQ1RJT04gT0YgQ09OVFJBQ1QsIFRPUlQgT1IgT1RIRVJXSVNFLCBBUklTSU5HIEZST00sXG4vLyBPVVQgT0YgT1IgSU4gQ09OTkVDVElPTiBXSVRIIFRIRSBTT0ZUV0FSRSBPUiBUSEUgVVNFIE9SIE9USEVSIERFQUxJTkdTIElOXG4vLyBUSEUgU09GVFdBUkUuXG4vL1xuXG4kc2NyaW0tY29sb3I6IG9uLXN1cmZhY2UgIWRlZmF1bHQ7XG4kdGl0bGUtaW5rLWNvbG9yOiBvbi1zdXJmYWNlICFkZWZhdWx0O1xuJGNvbnRlbnQtaW5rLWNvbG9yOiBvbi1zdXJmYWNlICFkZWZhdWx0O1xuJHNjcm9sbC1kaXZpZGVyLWNvbG9yOiBvbi1zdXJmYWNlICFkZWZhdWx0O1xuXG4kc2NyaW0tb3BhY2l0eTogLjMyICFkZWZhdWx0O1xuJHRpdGxlLWluay1vcGFjaXR5OiAuODcgIWRlZmF1bHQ7XG4kY29udGVudC1pbmstb3BhY2l0eTogLjYgIWRlZmF1bHQ7XG4kc2Nyb2xsLWRpdmlkZXItb3BhY2l0eTogLjEyICFkZWZhdWx0O1xuXG4kbWluLXdpZHRoOiAyODBweCAhZGVmYXVsdDtcbiRtYXgtd2lkdGg6IDU2MHB4ICFkZWZhdWx0O1xuJG1hcmdpbjogMTZweCAhZGVmYXVsdDtcbiR0aXRsZS1ib3R0b20tcGFkZGluZzogOXB4ICFkZWZhdWx0O1xuJGFjdGlvbnMtcGFkZGluZzogOHB4ICFkZWZhdWx0O1xuXG4kei1pbmRleDogNyAhZGVmYXVsdDtcbiIsIi8vXG4vLyBDb3B5cmlnaHQgMjAxOCBHb29nbGUgSW5jLlxuLy9cbi8vIFBlcm1pc3Npb24gaXMgaGVyZWJ5IGdyYW50ZWQsIGZyZWUgb2YgY2hhcmdlLCB0byBhbnkgcGVyc29uIG9idGFpbmluZyBhIGNvcHlcbi8vIG9mIHRoaXMgc29mdHdhcmUgYW5kIGFzc29jaWF0ZWQgZG9jdW1lbnRhdGlvbiBmaWxlcyAodGhlIFwiU29mdHdhcmVcIiksIHRvIGRlYWxcbi8vIGluIHRoZSBTb2Z0d2FyZSB3aXRob3V0IHJlc3RyaWN0aW9uLCBpbmNsdWRpbmcgd2l0aG91dCBsaW1pdGF0aW9uIHRoZSByaWdodHNcbi8vIHRvIHVzZSwgY29weSwgbW9kaWZ5LCBtZXJnZSwgcHVibGlzaCwgZGlzdHJpYnV0ZSwgc3VibGljZW5zZSwgYW5kL29yIHNlbGxcbi8vIGNvcGllcyBvZiB0aGUgU29mdHdhcmUsIGFuZCB0byBwZXJtaXQgcGVyc29ucyB0byB3aG9tIHRoZSBTb2Z0d2FyZSBpc1xuLy8gZnVybmlzaGVkIHRvIGRvIHNvLCBzdWJqZWN0IHRvIHRoZSBmb2xsb3dpbmcgY29uZGl0aW9uczpcbi8vXG4vLyBUaGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSBhbmQgdGhpcyBwZXJtaXNzaW9uIG5vdGljZSBzaGFsbCBiZSBpbmNsdWRlZCBpblxuLy8gYWxsIGNvcGllcyBvciBzdWJzdGFudGlhbCBwb3J0aW9ucyBvZiB0aGUgU29mdHdhcmUuXG4vL1xuLy8gVEhFIFNPRlRXQVJFIElTIFBST1ZJREVEIFwiQVMgSVNcIiwgV0lUSE9VVCBXQVJSQU5UWSBPRiBBTlkgS0lORCwgRVhQUkVTUyBPUlxuLy8gSU1QTElFRCwgSU5DTFVESU5HIEJVVCBOT1QgTElNSVRFRCBUTyBUSEUgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFksXG4vLyBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBTkQgTk9OSU5GUklOR0VNRU5ULiBJTiBOTyBFVkVOVCBTSEFMTCBUSEVcbi8vIEFVVEhPUlMgT1IgQ09QWVJJR0hUIEhPTERFUlMgQkUgTElBQkxFIEZPUiBBTlkgQ0xBSU0sIERBTUFHRVMgT1IgT1RIRVJcbi8vIExJQUJJTElUWSwgV0hFVEhFUiBJTiBBTiBBQ1RJT04gT0YgQ09OVFJBQ1QsIFRPUlQgT1IgT1RIRVJXSVNFLCBBUklTSU5HIEZST00sXG4vLyBPVVQgT0YgT1IgSU4gQ09OTkVDVElPTiBXSVRIIFRIRSBTT0ZUV0FSRSBPUiBUSEUgVVNFIE9SIE9USEVSIERFQUxJTkdTIElOXG4vLyBUSEUgU09GVFdBUkUuXG4vL1xuXG5AdXNlIFwic2FzczpsaXN0XCI7XG5AdXNlIFwiQG1hdGVyaWFsL2ZlYXR1cmUtdGFyZ2V0aW5nL2Z1bmN0aW9uc1wiIGFzIGZlYXR1cmUtdGFyZ2V0aW5nLWZ1bmN0aW9ucztcbkB1c2UgXCJAbWF0ZXJpYWwvZmVhdHVyZS10YXJnZXRpbmcvbWl4aW5zXCIgYXMgZmVhdHVyZS10YXJnZXRpbmctbWl4aW5zO1xuQHVzZSBcIkBtYXRlcmlhbC9ydGwvbWl4aW5zXCIgYXMgcnRsLW1peGlucztcbkB1c2UgXCIuL3ZhcmlhYmxlc1wiO1xuQHVzZSBcIi4vZnVuY3Rpb25zXCI7XG5cbkBtaXhpbiByYWRpdXMoJHJhZGl1cywgJHJ0bC1yZWZsZXhpdmU6IGZhbHNlLCAkcXVlcnk6IGZlYXR1cmUtdGFyZ2V0aW5nLWZ1bmN0aW9ucy5hbGwoKSkge1xuICAkZmVhdC1zdHJ1Y3R1cmU6IGZlYXR1cmUtdGFyZ2V0aW5nLWZ1bmN0aW9ucy5jcmVhdGUtdGFyZ2V0KCRxdWVyeSwgc3RydWN0dXJlKTtcblxuICBAaW5jbHVkZSBmZWF0dXJlLXRhcmdldGluZy1taXhpbnMudGFyZ2V0cygkZmVhdC1zdHJ1Y3R1cmUpIHtcbiAgICAvLyBFdmVuIGlmICRydGwtcmVmbGV4aXZlIGlzIHRydWUsIG9ubHkgZW1pdCBSVEwgc3R5bGVzIGlmIHdlIGNhbid0IGVhc2lseSB0ZWxsIHRoYXQgdGhlIGdpdmVuIHJhZGl1cyBpcyBzeW1tZXRyaWNhbFxuICAgICRuZWVkcy1mbGlwOiAkcnRsLXJlZmxleGl2ZSBhbmQgbGlzdC5sZW5ndGgoJHJhZGl1cykgPiAxO1xuXG4gICAgQGlmICgkbmVlZHMtZmxpcCkge1xuICAgICAgLyogQG5vZmxpcCAqL1xuICAgIH1cblxuICAgIGJvcmRlci1yYWRpdXM6IGZ1bmN0aW9ucy5wcm9wLXZhbHVlKCRyYWRpdXMpO1xuXG4gICAgQGlmICgkbmVlZHMtZmxpcCkge1xuICAgICAgQGluY2x1ZGUgcnRsLW1peGlucy5ydGwge1xuICAgICAgICAvKiBAbm9mbGlwICovXG4gICAgICAgIGJvcmRlci1yYWRpdXM6IGZ1bmN0aW9ucy5mbGlwLXJhZGl1cyhmdW5jdGlvbnMucHJvcC12YWx1ZSgkcmFkaXVzKSk7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iLCIvL1xuLy8gQ29weXJpZ2h0IDIwMTcgR29vZ2xlIEluYy5cbi8vXG4vLyBQZXJtaXNzaW9uIGlzIGhlcmVieSBncmFudGVkLCBmcmVlIG9mIGNoYXJnZSwgdG8gYW55IHBlcnNvbiBvYnRhaW5pbmcgYSBjb3B5XG4vLyBvZiB0aGlzIHNvZnR3YXJlIGFuZCBhc3NvY2lhdGVkIGRvY3VtZW50YXRpb24gZmlsZXMgKHRoZSBcIlNvZnR3YXJlXCIpLCB0byBkZWFsXG4vLyBpbiB0aGUgU29mdHdhcmUgd2l0aG91dCByZXN0cmljdGlvbiwgaW5jbHVkaW5nIHdpdGhvdXQgbGltaXRhdGlvbiB0aGUgcmlnaHRzXG4vLyB0byB1c2UsIGNvcHksIG1vZGlmeSwgbWVyZ2UsIHB1Ymxpc2gsIGRpc3RyaWJ1dGUsIHN1YmxpY2Vuc2UsIGFuZC9vciBzZWxsXG4vLyBjb3BpZXMgb2YgdGhlIFNvZnR3YXJlLCBhbmQgdG8gcGVybWl0IHBlcnNvbnMgdG8gd2hvbSB0aGUgU29mdHdhcmUgaXNcbi8vIGZ1cm5pc2hlZCB0byBkbyBzbywgc3ViamVjdCB0byB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnM6XG4vL1xuLy8gVGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UgYW5kIHRoaXMgcGVybWlzc2lvbiBub3RpY2Ugc2hhbGwgYmUgaW5jbHVkZWQgaW5cbi8vIGFsbCBjb3BpZXMgb3Igc3Vic3RhbnRpYWwgcG9ydGlvbnMgb2YgdGhlIFNvZnR3YXJlLlxuLy9cbi8vIFRIRSBTT0ZUV0FSRSBJUyBQUk9WSURFRCBcIkFTIElTXCIsIFdJVEhPVVQgV0FSUkFOVFkgT0YgQU5ZIEtJTkQsIEVYUFJFU1MgT1Jcbi8vIElNUExJRUQsIElOQ0xVRElORyBCVVQgTk9UIExJTUlURUQgVE8gVEhFIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZLFxuLy8gRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQU5EIE5PTklORlJJTkdFTUVOVC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFXG4vLyBBVVRIT1JTIE9SIENPUFlSSUdIVCBIT0xERVJTIEJFIExJQUJMRSBGT1IgQU5ZIENMQUlNLCBEQU1BR0VTIE9SIE9USEVSXG4vLyBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQU4gQUNUSU9OIE9GIENPTlRSQUNULCBUT1JUIE9SIE9USEVSV0lTRSwgQVJJU0lORyBGUk9NLFxuLy8gT1VUIE9GIE9SIElOIENPTk5FQ1RJT04gV0lUSCBUSEUgU09GVFdBUkUgT1IgVEhFIFVTRSBPUiBPVEhFUiBERUFMSU5HUyBJTlxuLy8gVEhFIFNPRlRXQVJFLlxuLy9cblxuQHVzZSBcInNhc3M6bGlzdFwiO1xuQHVzZSBcIi4vdmFyaWFibGVzXCI7XG5cbi8vIENyZWF0ZXMgYSBydWxlIHRoYXQgd2lsbCBiZSBhcHBsaWVkIHdoZW4gYW4gTURDIFdlYiBjb21wb25lbnQgaXMgd2l0aGluIHRoZSBjb250ZXh0IG9mIGFuIFJUTCBsYXlvdXQuXG4vL1xuLy8gVXNhZ2UgRXhhbXBsZTpcbi8vXG4vLyBgYGBzY3NzXG4vLyAubWRjLWZvbyB7XG4vLyAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbi8vICAgbGVmdDogMDtcbi8vXG4vLyAgIEBpbmNsdWRlIHJ0bCB7XG4vLyAgICAgbGVmdDogYXV0bztcbi8vICAgICByaWdodDogMDtcbi8vICAgfVxuLy9cbi8vICAgJl9fYmFyIHtcbi8vICAgICBtYXJnaW4tbGVmdDogNHB4O1xuLy8gICAgIEBpbmNsdWRlIHJ0bChcIi5tZGMtZm9vXCIpIHtcbi8vICAgICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xuLy8gICAgICAgbWFyZ2luLXJpZ2h0OiA0cHg7XG4vLyAgICAgfVxuLy8gICB9XG4vLyB9XG4vL1xuLy8gLm1kYy1mb28tLW1vZCB7XG4vLyAgIHBhZGRpbmctbGVmdDogNHB4O1xuLy9cbi8vICAgQGluY2x1ZGUgcnRsIHtcbi8vICAgICBwYWRkaW5nLWxlZnQ6IGF1dG87XG4vLyAgICAgcGFkZGluZy1yaWdodDogNHB4O1xuLy8gICB9XG4vLyB9XG4vLyBgYGBcbi8vXG4vLyBOb3RlIHRoYXQgdGhpcyBtaXhpbiB3b3JrcyBieSBjaGVja2luZyBmb3IgYW4gYW5jZXN0b3IgZWxlbWVudCB3aXRoIGBbZGlyPVwicnRsXCJdYC5cbi8vIEFzIGEgcmVzdWx0LCBuZXN0ZWQgYGRpcmAgdmFsdWVzIGFyZSBub3Qgc3VwcG9ydGVkOlxuLy9cbi8vIGBgYGh0bWxcbi8vIDxodG1sIGRpcj1cInJ0bFwiPlxuLy8gICA8IS0tIC4uLiAtLT5cbi8vICAgPGRpdiBkaXI9XCJsdHJcIj5cbi8vICAgICA8ZGl2IGNsYXNzPVwibWRjLWZvb1wiPlN0eWxlZCBpbmNvcnJlY3RseSBhcyBSVEwhPC9kaXY+XG4vLyAgIDwvZGl2PlxuLy8gPC9odG1sPlxuLy8gYGBgXG4vL1xuLy8gSW4gdGhlIGZ1dHVyZSwgc2VsZWN0b3JzIHN1Y2ggYXMgdGhlIGA6ZGlyYCBwc2V1ZG8tY2xhc3MgKGh0dHA6Ly9tZG4uaW8vY3NzLzpkaXIpIHdpbGwgaGVscCB1cyBtaXRpZ2F0ZSB0aGlzLlxuQG1peGluIHJ0bCgkcm9vdC1zZWxlY3RvcjogbnVsbCkge1xuICBAaWYgKHZhcmlhYmxlcy4kaW5jbHVkZSkge1xuICAgIEBpZiAoJHJvb3Qtc2VsZWN0b3IpIHtcbiAgICAgIEBhdC1yb290IHtcbiAgICAgICAgI3skcm9vdC1zZWxlY3Rvcn1bZGlyPVwicnRsXCJdICYsXG4gICAgICAgIFtkaXI9XCJydGxcIl0gI3skcm9vdC1zZWxlY3Rvcn0gJiB7XG4gICAgICAgICAgQGNvbnRlbnQ7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9IEBlbHNlIHtcbiAgICAgIFtkaXI9XCJydGxcIl0gJixcbiAgICAgICZbZGlyPVwicnRsXCJdIHtcbiAgICAgICAgQGNvbnRlbnQ7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbi8vIFRha2VzIGEgYmFzZSBib3gtbW9kZWwgcHJvcGVydHkgbmFtZSAoYG1hcmdpbmAsIGBib3JkZXJgLCBgcGFkZGluZ2AsIGV0Yy4pIGFsb25nIHdpdGggYVxuLy8gZGVmYXVsdCBkaXJlY3Rpb24gKGBsZWZ0YCBvciBgcmlnaHRgKSBhbmQgdmFsdWUsIGFuZCBlbWl0cyBydWxlcyB3aGljaCBhcHBseSB0aGUgZ2l2ZW4gdmFsdWUgdG8gdGhlXG4vLyBzcGVjaWZpZWQgZGlyZWN0aW9uIGJ5IGRlZmF1bHQgYW5kIHRoZSBvcHBvc2l0ZSBkaXJlY3Rpb24gaW4gUlRMLlxuLy9cbi8vIEZvciBleGFtcGxlOlxuLy9cbi8vIGBgYHNjc3Ncbi8vIC5tZGMtZm9vIHtcbi8vICAgQGluY2x1ZGUgcnRsLXJlZmxleGl2ZS1ib3gobWFyZ2luLCBsZWZ0LCA4cHgpO1xuLy8gfVxuLy8gYGBgXG4vL1xuLy8gaXMgZXF1aXZhbGVudCB0bzpcbi8vXG4vLyBgYGBzY3NzXG4vLyAubWRjLWZvbyB7XG4vLyAgIG1hcmdpbi1sZWZ0OiA4cHg7XG4vLyAgIG1hcmdpbi1yaWdodDogMDtcbi8vXG4vLyAgIEBpbmNsdWRlIHJ0bCB7XG4vLyAgICAgbWFyZ2luLWxlZnQ6IDA7XG4vLyAgICAgbWFyZ2luLXJpZ2h0OiA4cHg7XG4vLyAgIH1cbi8vIH1cbi8vIGBgYFxuLy9cbi8vIHdoZXJlYXM6XG4vL1xuLy8gYGBgc2Nzc1xuLy8gLm1kYy1mb28ge1xuLy8gICBAaW5jbHVkZSBydGwtcmVmbGV4aXZlLWJveChtYXJnaW4sIHJpZ2h0LCA4cHgpO1xuLy8gfVxuLy8gYGBgXG4vL1xuLy8gaXMgZXF1aXZhbGVudCB0bzpcbi8vXG4vLyBgYGBzY3NzXG4vLyAubWRjLWZvbyB7XG4vLyAgIG1hcmdpbi1sZWZ0OiAwO1xuLy8gICBtYXJnaW4tcmlnaHQ6IDhweDtcbi8vXG4vLyAgIEBpbmNsdWRlIHJ0bCB7XG4vLyAgICAgbWFyZ2luLWxlZnQ6IDhweDtcbi8vICAgICBtYXJnaW4tcmlnaHQ6IDA7XG4vLyAgIH1cbi8vIH1cbi8vIGBgYFxuLy9cbi8vIFlvdSBjYW4gYWxzbyBwYXNzIGFuIG9wdGlvbmFsIDR0aCBgJHJvb3Qtc2VsZWN0b3JgIGFyZ3VtZW50IHdoaWNoIHdpbGwgYmUgZm9yd2FyZGVkIHRvIGBtZGMtcnRsYCxcbi8vIGUuZy4gYEBpbmNsdWRlIHJ0bC1yZWZsZXhpdmUtYm94KG1hcmdpbiwgbGVmdCwgOHB4LCBcIi5tZGMtY29tcG9uZW50XCIpYC5cbi8vXG4vLyBOb3RlIHRoYXQgdGhpcyBmdW5jdGlvbiB3aWxsIGFsd2F5cyB6ZXJvIG91dCB0aGUgb3JpZ2luYWwgdmFsdWUgaW4gYW4gUlRMIGNvbnRleHQuXG4vLyBJZiB5b3UncmUgdHJ5aW5nIHRvIGZsaXAgdGhlIHZhbHVlcywgdXNlIGBtZGMtcnRsLXJlZmxleGl2ZS1wcm9wZXJ0eSgpYCBpbnN0ZWFkLlxuQG1peGluIHJlZmxleGl2ZS1ib3goJGJhc2UtcHJvcGVydHksICRkZWZhdWx0LWRpcmVjdGlvbiwgJHZhbHVlLCAkcm9vdC1zZWxlY3RvcjogbnVsbCkge1xuICBAaWYgKGxpc3QuaW5kZXgoKHJpZ2h0LCBsZWZ0KSwgJGRlZmF1bHQtZGlyZWN0aW9uKSA9PSBudWxsKSB7XG4gICAgQGVycm9yIFwiSW52YWxpZCBkZWZhdWx0IGRpcmVjdGlvbjogJyN7JGRlZmF1bHQtZGlyZWN0aW9ufScuIFBsZWFzZSBzcGVjaWZpeSBlaXRoZXIgJ3JpZ2h0JyBvciAnbGVmdCcuXCI7XG4gIH1cblxuICAkbGVmdC12YWx1ZTogJHZhbHVlO1xuICAkcmlnaHQtdmFsdWU6IDA7XG5cbiAgQGlmICgkZGVmYXVsdC1kaXJlY3Rpb24gPT0gcmlnaHQpIHtcbiAgICAkbGVmdC12YWx1ZTogMDtcbiAgICAkcmlnaHQtdmFsdWU6ICR2YWx1ZTtcbiAgfVxuXG4gIEBpbmNsdWRlIHJlZmxleGl2ZS1wcm9wZXJ0eSgkYmFzZS1wcm9wZXJ0eSwgJGxlZnQtdmFsdWUsICRyaWdodC12YWx1ZSwgJHJvb3Qtc2VsZWN0b3IpO1xufVxuXG4vLyBUYWtlcyBhIGJhc2UgcHJvcGVydHkgYW5kIGVtaXRzIHJ1bGVzIHRoYXQgYXNzaWduIDxiYXNlLXByb3BlcnR5Pi1sZWZ0IHRvIDxsZWZ0LXZhbHVlPiBhbmRcbi8vIDxiYXNlLXByb3BlcnR5Pi1yaWdodCB0byA8cmlnaHQtdmFsdWU+IGluIGEgTFRSIGNvbnRleHQsIGFuZCB2aWNlIHZlcnNhIGluIGEgUlRMIGNvbnRleHQuXG4vLyBGb3IgZXhhbXBsZTpcbi8vXG4vLyBgYGBzY3NzXG4vLyAubWRjLWZvbyB7XG4vLyAgIEBpbmNsdWRlIHJ0bC1yZWZsZXhpdmUtcHJvcGVydHkobWFyZ2luLCBhdXRvLCAxMnB4KTtcbi8vIH1cbi8vIGBgYFxuLy9cbi8vIGlzIGVxdWl2YWxlbnQgdG86XG4vL1xuLy8gYGBgc2Nzc1xuLy8gLm1kYy1mb28ge1xuLy8gICBtYXJnaW4tbGVmdDogYXV0bztcbi8vICAgbWFyZ2luLXJpZ2h0OiAxMnB4O1xuLy9cbi8vICAgQGluY2x1ZGUgcnRsIHtcbi8vICAgICBtYXJnaW4tbGVmdDogMTJweDtcbi8vICAgICBtYXJnaW4tcmlnaHQ6IGF1dG87XG4vLyAgIH1cbi8vIH1cbi8vIGBgYFxuLy9cbi8vIEFuIG9wdGlvbmFsIDR0aCBgJHJvb3Qtc2VsZWN0b3JgIGFyZ3VtZW50IGNhbiBiZSBnaXZlbiwgd2hpY2ggd2lsbCBiZSBwYXNzZWQgdG8gYG1kYy1ydGxgLlxuQG1peGluIHJlZmxleGl2ZS1wcm9wZXJ0eSgkYmFzZS1wcm9wZXJ0eSwgJGxlZnQtdmFsdWUsICRyaWdodC12YWx1ZSwgJHJvb3Qtc2VsZWN0b3I6IG51bGwpIHtcbiAgJHByb3AtbGVmdDogI3skYmFzZS1wcm9wZXJ0eX0tbGVmdDtcbiAgJHByb3AtcmlnaHQ6ICN7JGJhc2UtcHJvcGVydHl9LXJpZ2h0O1xuXG4gIEBpbmNsdWRlIHJlZmxleGl2ZSgkcHJvcC1sZWZ0LCAkbGVmdC12YWx1ZSwgJHByb3AtcmlnaHQsICRyaWdodC12YWx1ZSwgJHJvb3Qtc2VsZWN0b3IpO1xufVxuXG4vLyBUYWtlcyBhbiBhcmd1bWVudCBzcGVjaWZ5aW5nIGEgaG9yaXpvbnRhbCBwb3NpdGlvbiBwcm9wZXJ0eSAoZWl0aGVyIFwibGVmdFwiIG9yIFwicmlnaHRcIikgYXMgd2VsbFxuLy8gYXMgYSB2YWx1ZSwgYW5kIGFwcGxpZXMgdGhhdCB2YWx1ZSB0byB0aGUgc3BlY2lmaWVkIHBvc2l0aW9uIGluIGEgTFRSIGNvbnRleHQsIGFuZCBmbGlwcyBpdCBpbiBhXG4vLyBSVEwgY29udGV4dC4gRm9yIGV4YW1wbGU6XG4vL1xuLy8gYGBgc2Nzc1xuLy8gLm1kYy1mb28ge1xuLy8gICBAaW5jbHVkZSBydGwtcmVmbGV4aXZlLXBvc2l0aW9uKGxlZnQsIDApO1xuLy8gfVxuLy8gYGBgXG4vL1xuLy8gaXMgZXF1aXZhbGVudCB0bzpcbi8vXG4vLyBgYGBzY3NzXG4vLyAubWRjLWZvbyB7XG4vLyAgIGxlZnQ6IDA7XG4vLyAgIHJpZ2h0OiBpbml0aWFsO1xuLy9cbi8vICAgQGluY2x1ZGUgcnRsIHtcbi8vICAgICBsZWZ0OiBpbml0aWFsO1xuLy8gICAgIHJpZ2h0OiAwO1xuLy8gICB9XG4vLyB9XG4vLyBgYGBcbi8vXG4vLyBBbiBvcHRpb25hbCB0aGlyZCAkcm9vdC1zZWxlY3RvciBhcmd1bWVudCBtYXkgYWxzbyBiZSBnaXZlbiwgd2hpY2ggaXMgcGFzc2VkIHRvIGBtZGMtcnRsYC5cbkBtaXhpbiByZWZsZXhpdmUtcG9zaXRpb24oJHBvc2l0aW9uLXByb3BlcnR5LCAkdmFsdWUsICRyb290LXNlbGVjdG9yOiBudWxsKSB7XG4gIEBpZiAobGlzdC5pbmRleCgocmlnaHQsIGxlZnQpLCAkcG9zaXRpb24tcHJvcGVydHkpID09IG51bGwpIHtcbiAgICBAZXJyb3IgXCJJbnZhbGlkIHBvc2l0aW9uICN7cG9zaXRpb24tcHJvcGVydHl9LiBQbGVhc2Ugc3BlY2lmaXkgZWl0aGVyIHJpZ2h0IG9yIGxlZnRcIjtcbiAgfVxuXG4gIC8vIFRPRE86IFwiaW5pdGlhbFwiIGlzIG5vdCBzdXBwb3J0ZWQgaW4gSUUgMTEuIGh0dHBzOi8vY2FuaXVzZS5jb20vI2ZlYXQ9Y3NzLWluaXRpYWwtdmFsdWVcbiAgJGxlZnQtdmFsdWU6ICR2YWx1ZTtcbiAgJHJpZ2h0LXZhbHVlOiBpbml0aWFsO1xuXG4gIEBpZiAoJHBvc2l0aW9uLXByb3BlcnR5ID09IHJpZ2h0KSB7XG4gICAgJHJpZ2h0LXZhbHVlOiAkdmFsdWU7XG4gICAgJGxlZnQtdmFsdWU6IGluaXRpYWw7XG4gIH1cblxuICBAaW5jbHVkZSByZWZsZXhpdmUobGVmdCwgJGxlZnQtdmFsdWUsIHJpZ2h0LCAkcmlnaHQtdmFsdWUsICRyb290LXNlbGVjdG9yKTtcbn1cblxuLy8gVGFrZXMgcGFpciBvZiBwcm9wZXJ0aWVzIHdpdGggdmFsdWVzIGFzIGFyZ3VtZW50cyBhbmQgZmxpcHMgaXQgaW4gUlRMIGNvbnRleHQuXG4vLyBGb3IgZXhhbXBsZTpcbi8vXG4vLyBgYGBzY3NzXG4vLyAubWRjLWZvbyB7XG4vLyAgIEBpbmNsdWRlIHJ0bC1yZWZsZXhpdmUobGVmdCwgMnB4LCByaWdodCwgNXB4KTtcbi8vIH1cbi8vIGBgYFxuLy9cbi8vIGlzIGVxdWl2YWxlbnQgdG86XG4vL1xuLy8gYGBgc2Nzc1xuLy8gLm1kYy1mb28ge1xuLy8gICBsZWZ0OiAycHg7XG4vLyAgIHJpZ2h0OiA1cHg7XG4vL1xuLy8gICBAaW5jbHVkZSBydGwge1xuLy8gICAgIHJpZ2h0OiAycHg7XG4vLyAgICAgbGVmdDogNXB4O1xuLy8gICB9XG4vLyB9XG4vLyBgYGBcbi8vXG4vLyBBbiBvcHRpb25hbCBmaWZ0aCBgJHJvb3Qtc2VsZWN0b3JgIGFyZ3VtZW50IG1heSBhbHNvIGJlIGdpdmVuLCB3aGljaCBpcyBwYXNzZWQgdG8gYG1kYy1ydGxgLlxuQG1peGluIHJlZmxleGl2ZShcbiAgJGxlZnQtcHJvcGVydHksXG4gICRsZWZ0LXZhbHVlLFxuICAkcmlnaHQtcHJvcGVydHksXG4gICRyaWdodC12YWx1ZSxcbiAgJHJvb3Qtc2VsZWN0b3I6IG51bGxcbikge1xuICBAaW5jbHVkZSBwcm9wZXJ0eV8oJGxlZnQtcHJvcGVydHksICRsZWZ0LXZhbHVlKTtcbiAgQGluY2x1ZGUgcHJvcGVydHlfKCRyaWdodC1wcm9wZXJ0eSwgJHJpZ2h0LXZhbHVlKTtcblxuICBAaW5jbHVkZSBydGwoJHJvb3Qtc2VsZWN0b3IpIHtcbiAgICBAaW5jbHVkZSBwcm9wZXJ0eV8oJGxlZnQtcHJvcGVydHksICRyaWdodC12YWx1ZSk7XG4gICAgQGluY2x1ZGUgcHJvcGVydHlfKCRyaWdodC1wcm9wZXJ0eSwgJGxlZnQtdmFsdWUpO1xuICB9XG59XG5cbi8vL1xuLy8vIEFkZHMgYEBub2ZsaXBgIGFubm90YXRpb24gd2hlbiBgJG1kYy1ydGwtaW5jbHVkZWAgaXMgdHJ1ZS5cbi8vL1xuLy8vIEBwYXJhbSB7U3RyaW5nfSAkcHJvcGVydHlcbi8vLyBAcGFyYW0ge1N0cmluZ30gJHZhbHVlXG4vLy8gQGFjY2VzcyBwcml2YXRlXG4vLy9cbkBtaXhpbiBwcm9wZXJ0eV8oJHByb3BlcnR5LCAkdmFsdWUpIHtcbiAgQGlmIHZhcmlhYmxlcy4kaW5jbHVkZSB7XG4gICAgLyogQG5vZmxpcCAqL1xuICB9XG5cbiAgI3skcHJvcGVydHl9OiAjeyR2YWx1ZX07XG59XG4iLCIvL1xuLy8gQ29weXJpZ2h0IDIwMTcgR29vZ2xlIEluYy5cbi8vXG4vLyBQZXJtaXNzaW9uIGlzIGhlcmVieSBncmFudGVkLCBmcmVlIG9mIGNoYXJnZSwgdG8gYW55IHBlcnNvbiBvYnRhaW5pbmcgYSBjb3B5XG4vLyBvZiB0aGlzIHNvZnR3YXJlIGFuZCBhc3NvY2lhdGVkIGRvY3VtZW50YXRpb24gZmlsZXMgKHRoZSBcIlNvZnR3YXJlXCIpLCB0byBkZWFsXG4vLyBpbiB0aGUgU29mdHdhcmUgd2l0aG91dCByZXN0cmljdGlvbiwgaW5jbHVkaW5nIHdpdGhvdXQgbGltaXRhdGlvbiB0aGUgcmlnaHRzXG4vLyB0byB1c2UsIGNvcHksIG1vZGlmeSwgbWVyZ2UsIHB1Ymxpc2gsIGRpc3RyaWJ1dGUsIHN1YmxpY2Vuc2UsIGFuZC9vciBzZWxsXG4vLyBjb3BpZXMgb2YgdGhlIFNvZnR3YXJlLCBhbmQgdG8gcGVybWl0IHBlcnNvbnMgdG8gd2hvbSB0aGUgU29mdHdhcmUgaXNcbi8vIGZ1cm5pc2hlZCB0byBkbyBzbywgc3ViamVjdCB0byB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnM6XG4vL1xuLy8gVGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UgYW5kIHRoaXMgcGVybWlzc2lvbiBub3RpY2Ugc2hhbGwgYmUgaW5jbHVkZWQgaW5cbi8vIGFsbCBjb3BpZXMgb3Igc3Vic3RhbnRpYWwgcG9ydGlvbnMgb2YgdGhlIFNvZnR3YXJlLlxuLy9cbi8vIFRIRSBTT0ZUV0FSRSBJUyBQUk9WSURFRCBcIkFTIElTXCIsIFdJVEhPVVQgV0FSUkFOVFkgT0YgQU5ZIEtJTkQsIEVYUFJFU1MgT1Jcbi8vIElNUExJRUQsIElOQ0xVRElORyBCVVQgTk9UIExJTUlURUQgVE8gVEhFIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZLFxuLy8gRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQU5EIE5PTklORlJJTkdFTUVOVC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFXG4vLyBBVVRIT1JTIE9SIENPUFlSSUdIVCBIT0xERVJTIEJFIExJQUJMRSBGT1IgQU5ZIENMQUlNLCBEQU1BR0VTIE9SIE9USEVSXG4vLyBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQU4gQUNUSU9OIE9GIENPTlRSQUNULCBUT1JUIE9SIE9USEVSV0lTRSwgQVJJU0lORyBGUk9NLFxuLy8gT1VUIE9GIE9SIElOIENPTk5FQ1RJT04gV0lUSCBUSEUgU09GVFdBUkUgT1IgVEhFIFVTRSBPUiBPVEhFUiBERUFMSU5HUyBJTlxuLy8gVEhFIFNPRlRXQVJFLlxuLy9cblxuQHVzZSBcInNhc3M6bGlzdFwiO1xuQHVzZSBcInNhc3M6bWFwXCI7XG5AdXNlIFwic2FzczpzdHJpbmdcIjtcbkB1c2UgXCJAbWF0ZXJpYWwvZmVhdHVyZS10YXJnZXRpbmcvZnVuY3Rpb25zXCIgYXMgZmVhdHVyZS10YXJnZXRpbmctZnVuY3Rpb25zO1xuQHVzZSBcIkBtYXRlcmlhbC9mZWF0dXJlLXRhcmdldGluZy9taXhpbnNcIiBhcyBmZWF0dXJlLXRhcmdldGluZy1taXhpbnM7XG5AdXNlIFwiQG1hdGVyaWFsL3RoZW1lL21peGluc1wiIGFzIHRoZW1lLW1peGlucztcbkB1c2UgXCIuL3ZhcmlhYmxlc1wiO1xuXG5AbWl4aW4gY29yZS1zdHlsZXMoJHF1ZXJ5OiBmZWF0dXJlLXRhcmdldGluZy1mdW5jdGlvbnMuYWxsKCkpIHtcbiAgLm1kYy10eXBvZ3JhcGh5IHtcbiAgICBAaW5jbHVkZSBiYXNlKCRxdWVyeTogJHF1ZXJ5KTtcbiAgfVxuXG4gIEBlYWNoICRzdHlsZSBpbiBtYXAua2V5cyh2YXJpYWJsZXMuJHN0eWxlcykge1xuICAgIC5tZGMtdHlwb2dyYXBoeS0tI3skc3R5bGV9IHtcbiAgICAgIEBpbmNsdWRlIHR5cG9ncmFwaHkoJHN0eWxlLCAkcXVlcnk6ICRxdWVyeSk7XG4gICAgfVxuICB9XG59XG5cbkBtaXhpbiBiYXNlKCRxdWVyeTogZmVhdHVyZS10YXJnZXRpbmctZnVuY3Rpb25zLmFsbCgpKSB7XG4gICRmZWF0LXR5cG9ncmFwaHk6IGZlYXR1cmUtdGFyZ2V0aW5nLWZ1bmN0aW9ucy5jcmVhdGUtdGFyZ2V0KCRxdWVyeSwgdHlwb2dyYXBoeSk7XG5cbiAgQGluY2x1ZGUgc21vb3RoLWZvbnQoJHF1ZXJ5OiAkcXVlcnkpO1xuICBAaW5jbHVkZSBmZWF0dXJlLXRhcmdldGluZy1taXhpbnMudGFyZ2V0cygkZmVhdC10eXBvZ3JhcGh5KSB7XG4gICAgQGluY2x1ZGUgdGhlbWUtbWl4aW5zLnByb3AoZm9udC1mYW1pbHksIChcbiAgICAgIHZhcm5hbWU6IC0tbWRjLXR5cG9ncmFwaHktZm9udC1mYW1pbHksXG4gICAgICBmYWxsYmFjazogbWFwLmdldCh2YXJpYWJsZXMuJGJhc2UsICdmb250LWZhbWlseScpXG4gICAgKSk7XG4gIH1cbn1cblxuQG1peGluIHR5cG9ncmFwaHkoJHN0eWxlLCAkcXVlcnk6IGZlYXR1cmUtdGFyZ2V0aW5nLWZ1bmN0aW9ucy5hbGwoKSwgJGV4Y2x1ZGUtcHJvcHM6ICgpKSB7XG4gICRmZWF0LXR5cG9ncmFwaHk6IGZlYXR1cmUtdGFyZ2V0aW5nLWZ1bmN0aW9ucy5jcmVhdGUtdGFyZ2V0KCRxdWVyeSwgdHlwb2dyYXBoeSk7XG4gICRzdHlsZS1wcm9wczogbWFwLmdldCh2YXJpYWJsZXMuJHN0eWxlcywgJHN0eWxlKTtcblxuICBAaWYgbm90IG1hcC5oYXMta2V5KHZhcmlhYmxlcy4kc3R5bGVzLCAkc3R5bGUpIHtcbiAgICBAZXJyb3IgXCJJbnZhbGlkIHN0eWxlIHNwZWNpZmllZCEgI3skc3R5bGV9IGRvZXNuJ3QgZXhpc3QuIENob29zZSBvbmUgb2YgI3ttYXAua2V5cyh2YXJpYWJsZXMuJHN0eWxlcyl9XCI7XG4gIH1cblxuICBAaW5jbHVkZSBzbW9vdGgtZm9udCgkcXVlcnk6ICRxdWVyeSk7XG4gIEBpbmNsdWRlIGZlYXR1cmUtdGFyZ2V0aW5nLW1peGlucy50YXJnZXRzKCRmZWF0LXR5cG9ncmFwaHkpIHtcbiAgICBAZWFjaCAka2V5LCAkdmFsdWUgaW4gJHN0eWxlLXByb3BzIHtcbiAgICAgIEBpZiBsaXN0LmluZGV4KCRleGNsdWRlLXByb3BzLCAka2V5KSA9PSBudWxsIHtcbiAgICAgICAgJGZhbGxiYWNrOiAkdmFsdWU7XG4gICAgICAgIEBpZiAka2V5ID09IFwiZm9udC1mYW1pbHlcIiB7XG4gICAgICAgICAgLy8gRWFjaCBzdHlsZSBoYXMgaXRzIG93biBmb250LWZhbWlseSBjdXN0b20gcHJvcGVydHksIGJ1dCBzaG91bGRcbiAgICAgICAgICAvLyBmYWxsYmFjayB0byBhIGdlbmVyaWMgZm9udC1mYW1pbHkgcHJvcGVydHkuIFRoaXMgYWxsb3dzXG4gICAgICAgICAgLy8gY3VzdG9taXppbmcgdGhlIGZvbnQtZmFtaWx5IGZvciBhbGwgc3R5bGVzIG9yIG9ubHkgc3BlY2lmaWMgb25lcy5cbiAgICAgICAgICAkZmFsbGJhY2s6IChcbiAgICAgICAgICAgIHZhcm5hbWU6IC0tbWRjLXR5cG9ncmFwaHktZm9udC1mYW1pbHksXG4gICAgICAgICAgICBmYWxsYmFjazogJGZhbGxiYWNrXG4gICAgICAgICAgKTtcbiAgICAgICAgfVxuXG4gICAgICAgIEBpbmNsdWRlIHRoZW1lLW1peGlucy5wcm9wKCRrZXksIChcbiAgICAgICAgICB2YXJuYW1lOiAtLW1kYy10eXBvZ3JhcGh5LSN7JHN0eWxlfS0jeyRrZXl9LFxuICAgICAgICAgIGZhbGxiYWNrOiAkZmFsbGJhY2tcbiAgICAgICAgKSk7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbi8vLyBBcHBsaWVzIGFudGlhbGlhc2luZyB2aWEgZm9udC1zbW9vdGhpbmcgdG8gdGV4dC5cbkBtaXhpbiBzbW9vdGgtZm9udCgkcXVlcnk6IGZlYXR1cmUtdGFyZ2V0aW5nLWZ1bmN0aW9ucy5hbGwoKSkge1xuICAkZmVhdC10eXBvZ3JhcGh5OiBmZWF0dXJlLXRhcmdldGluZy1mdW5jdGlvbnMuY3JlYXRlLXRhcmdldCgkcXVlcnksIHR5cG9ncmFwaHkpO1xuXG4gIEBpbmNsdWRlIGZlYXR1cmUtdGFyZ2V0aW5nLW1peGlucy50YXJnZXRzKCRmZWF0LXR5cG9ncmFwaHkpIHtcbiAgICAtbW96LW9zeC1mb250LXNtb290aGluZzogZ3JheXNjYWxlO1xuICAgIC13ZWJraXQtZm9udC1zbW9vdGhpbmc6IGFudGlhbGlhc2VkO1xuICB9XG59XG5cbi8vIEVsZW1lbnQgbXVzdCBiZSBgZGlzcGxheTogYmxvY2tgIG9yIGBkaXNwbGF5OiBpbmxpbmUtYmxvY2tgIGZvciB0aGlzIHRvIHdvcmsuXG5AbWl4aW4gb3ZlcmZsb3ctZWxsaXBzaXMoJHF1ZXJ5OiBmZWF0dXJlLXRhcmdldGluZy1mdW5jdGlvbnMuYWxsKCkpIHtcbiAgJGZlYXQtc3RydWN0dXJlOiBmZWF0dXJlLXRhcmdldGluZy1mdW5jdGlvbnMuY3JlYXRlLXRhcmdldCgkcXVlcnksIHN0cnVjdHVyZSk7XG5cbiAgQGluY2x1ZGUgZmVhdHVyZS10YXJnZXRpbmctbWl4aW5zLnRhcmdldHMoJGZlYXQtc3RydWN0dXJlKSB7XG4gICAgdGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7XG4gICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICB9XG59XG5cbi8vLyBTZXRzIGEgY29udGFpbmVyJ3MgYmFzZWxpbmUgdGhhdCB0ZXh0IGNvbnRlbnQgd2lsbCBhbGlnbiB0by5cbi8vL1xuLy8vIElmIHRoZSBgJGRpc3BsYXlgIGlzIHNldCB0byBhIGZsZXhib3ggZGlzcGxheSwgb25seSBgJHRvcGAgYmFzZWxpbmUgbWF5IGJlXG4vLy8gc2V0LiBBIHNlcGFyYXRlIGVsZW1lbnQgbXVzdCBiZSBhZGRlZCBhcyBhIGNoaWxkIG9mIHRoZSBjb250YWluZXIgd2l0aCBhXG4vLy8gYCRib3R0b21gIGJhc2VsaW5lLlxuLy8vXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICR0b3AgLSB0aGUgZGlzdGFuY2UgZnJvbSB0aGUgdG9wIG9mIHRoZSBjb250YWluZXIgdG8gdGhlXG4vLy8gICAgIHRleHQncyBiYXNlbGluZS5cbi8vLyBAcGFyYW0ge051bWJlcn0gJGJvdHRvbSAtIHRoZSBkaXN0YW5jZSBmcm9tIHRoZSB0ZXh0J3MgYmFzZWxpbmUgdG8gdGhlXG4vLy8gICAgIGJvdHRvbSBvZiB0aGUgY29udGFpbmVyLlxuLy8vIEBwYXJhbSB7U3RyaW5nfSAkZGlzcGxheSAtIHRoZSBkaXNwbGF5IHR5cGUgb2YgdGhlIGNvbnRhaW5lci4gTWF5IGJlIGBmbGV4YCxcbi8vLyAgICAgYGlubGluZS1mbGV4YCwgYGJsb2NrYCwgb3IgYGlubGluZS1ibG9ja2AuXG5AbWl4aW4gYmFzZWxpbmUoJHRvcDogMCwgJGJvdHRvbTogMCwgJGRpc3BsYXk6IGJsb2NrLCAkcXVlcnk6IGZlYXR1cmUtdGFyZ2V0aW5nLWZ1bmN0aW9ucy5hbGwoKSkge1xuICAkdmFsaWREaXNwbGF5VHlwZXM6IChmbGV4LCBpbmxpbmUtZmxleCwgYmxvY2ssIGlubGluZS1ibG9jayk7XG5cbiAgQGlmIGxpc3QuaW5kZXgoJHZhbGlkRGlzcGxheVR5cGVzLCAkZGlzcGxheSkgPT0gbnVsbCB7XG4gICAgQGVycm9yIFwibWRjLXR5cG9ncmFwaHk6IGludmFsaWQgZGlzcGxheSBzcGVjaWZpZWQhICN7JGRpc3BsYXl9IG11c3QgYmUgb25lIG9mICN7JHZhbGlkRGlzcGxheVR5cGVzfVwiO1xuICB9XG5cbiAgJGlzRmxleGJveDogJGRpc3BsYXkgPT0gXCJmbGV4XCIgb3IgJGRpc3BsYXkgPT0gXCJpbmxpbmUtZmxleFwiO1xuICAkZmVhdC1zdHJ1Y3R1cmU6IGZlYXR1cmUtdGFyZ2V0aW5nLWZ1bmN0aW9ucy5jcmVhdGUtdGFyZ2V0KCRxdWVyeSwgc3RydWN0dXJlKTtcblxuICBAaW5jbHVkZSBmZWF0dXJlLXRhcmdldGluZy1taXhpbnMudGFyZ2V0cygkZmVhdC1zdHJ1Y3R1cmUpIHtcbiAgICBkaXNwbGF5OiAkZGlzcGxheTtcblxuICAgIEBpZiAkaXNGbGV4Ym94IHtcbiAgICAgIGFsaWduLWl0ZW1zOiBiYXNlbGluZTtcbiAgICB9XG4gIH1cblxuICBAaWYgJHRvcCA+IDAge1xuICAgIEBpbmNsdWRlIGJhc2VsaW5lLXRvcCgkdG9wLCAkcXVlcnk6ICRxdWVyeSk7XG4gIH1cblxuICBAaWYgJGJvdHRvbSA+IDAge1xuICAgIEBpZiAkaXNGbGV4Ym94IHtcbiAgICAgIEBlcnJvciBcIm1kYy10eXBvZ3JhcGh5OiBpbnZhbGlkIGJhc2VsaW5lIHdpdGggZGlzcGxheSB0eXBlLiAjeyRkaXNwbGF5fSBjYW5ub3Qgc3BlY2lmaXkgJGJvdHRvbS4gQWRkIGEgc2VwYXJhdGUgY2hpbGQgZWxlbWVudCB3aXRoIGl0cyBvd24gJGJvdHRvbS5cIjtcbiAgICB9XG5cbiAgICBAaW5jbHVkZSBiYXNlbGluZS1ib3R0b20oJGJvdHRvbSwgJHF1ZXJ5OiAkcXVlcnkpO1xuICB9XG59XG5cbi8vLyBTZXRzIHRoZSBiYXNlbGluZSBvZiBmbG93IHRleHQgY29udGVudC5cbi8vL1xuLy8vIFNlcGFyYXRlIGAkdG9wYCBhbmQgYCRib3R0b21gIGJhc2VsaW5lcyBtYXkgYmUgc3BlY2lmaWVkLiBZb3Ugc2hvdWxkIGVuc3VyZVxuLy8vIHRoYXQgdGhlIGAkdG9wYCBiYXNlbGluZSBtYXRjaGVzIHRoZSBwcmV2aW91cyB0ZXh0IGNvbnRlbnQncyAkYm90dG9tXG4vLy8gYmFzZWxpbmUgdG8gZW5zdXJlIHRleHQgaXMgcG9zaXRpb25lZCBhcHByb3ByaWF0ZWx5LlxuLy8vXG4vLy8gU2VlIGdvL2Nzcy1iYXNlbGluZSBmb3IgcmVmZXJlbmNlIG9uIGhvdyB0aGlzIG1peGluIHdvcmtzLlxuLy8vXG4vLy8gVGhpcyBpcyBpbnRlbmRlZCBmb3IgdGV4dCBmbG93IGNvbnRlbnQgb25seSAoZS5nLiBgPGgxPmAsIGA8cD5gLCBgPHNwYW4+YCxcbi8vLyBvciBgPGRpdj5gIHdpdGggb25seSB0ZXh0IGNvbnRlbnQpLiBVc2UgYGJhc2VsaW5lKClgIHRvIHNldCB0aGUgYmFzZWxpbmUgb2Zcbi8vLyBjb250YWluZXJzIHRoYXQgYXJlIGZsZXhib3ggb3IgaGF2ZSBub24tZmxvdyBjb250ZW50IGNoaWxkcmVuLlxuLy8vXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICR0b3AgLSB0aGUgZGlzdGFuY2UgZnJvbSB0aGUgdG9wIG9mIHRoZSBjb250YWluZXIgdG8gdGhlXG4vLy8gICAgIHRleHQncyBiYXNlbGluZS5cbi8vLyBAcGFyYW0ge051bWJlcn0gJGJvdHRvbSAtIHRoZSBkaXN0YW5jZSBmcm9tIHRoZSB0ZXh0J3MgYmFzZWxpbmUgdG8gdGhlXG4vLy8gICAgIGJvdHRvbSBvZiB0aGUgY29udGFpbmVyLlxuLy8vIEBwYXJhbSB7Qm9vbGVhbn0gJGxpbmVIZWlnaHQgLSB0aGUgbGluZS1oZWlnaHQgdG8gdXNlIGZvciB0aGUgdGV4dC4gVGhpc1xuLy8vICAgICBpcyB0aGUgZGlzdGFuY2UgYmV0d2VlbiBiYXNlbGluZXMgb2YgbXVsdGlwbGUgbGluZXMgb2YgdGV4dC5cbi8vLyBAcGFyYW0ge1N0cmluZ30gJGRpc3BsYXkgLSB0aGUgZGlzcGxheSB0eXBlIG9mIHRoZSBjb250YWluZXIuIE1heSBiZSBgYmxvY2tgXG4vLy8gICAgIG9yIGBpbmxpbmUtYmxvY2tgLlxuQG1peGluIHRleHQtYmFzZWxpbmUoJHRvcDogMCwgJGJvdHRvbTogMCwgJGRpc3BsYXk6IGJsb2NrLCAkbGluZUhlaWdodDogbm9ybWFsLCAkcXVlcnk6IGZlYXR1cmUtdGFyZ2V0aW5nLWZ1bmN0aW9ucy5hbGwoKSkge1xuICAkdmFsaWREaXNwbGF5VHlwZXM6IChibG9jaywgaW5saW5lLWJsb2NrKTtcblxuICBAaWYgbGlzdC5pbmRleCgkdmFsaWREaXNwbGF5VHlwZXMsICRkaXNwbGF5KSA9PSBudWxsIHtcbiAgICBAZXJyb3IgXCJtZGMtdHlwb2dyYXBoeTogaW52YWxpZCBkaXNwbGF5IHNwZWNpZmllZCEgI3skZGlzcGxheX0gbXVzdCBiZSBvbmUgb2YgI3skdmFsaWREaXNwbGF5VHlwZXN9XCI7XG4gIH1cblxuICAkZmVhdC1zdHJ1Y3R1cmU6IGZlYXR1cmUtdGFyZ2V0aW5nLWZ1bmN0aW9ucy5jcmVhdGUtdGFyZ2V0KCRxdWVyeSwgc3RydWN0dXJlKTtcblxuICBAaW5jbHVkZSBiYXNlbGluZSgkZGlzcGxheTogJGRpc3BsYXksICR0b3A6ICR0b3AsICRib3R0b206ICRib3R0b20sICRxdWVyeTogJHF1ZXJ5KTtcbiAgQGluY2x1ZGUgZmVhdHVyZS10YXJnZXRpbmctbWl4aW5zLnRhcmdldHMoJGZlYXQtc3RydWN0dXJlKSB7XG4gICAgQGlmICR0b3AgPiAwIHtcbiAgICAgIG1hcmdpbi10b3A6IDA7XG4gICAgICAvKiBAYWx0ZXJuYXRlICovXG4gICAgICBsaW5lLWhlaWdodDogI3skbGluZUhlaWdodH07XG4gICAgfVxuXG4gICAgQGlmICRib3R0b20gPiAwIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IC0xICogJGJvdHRvbTtcbiAgICB9XG4gIH1cbn1cblxuLy8vIENyZWF0ZXMgYSBiYXNlbGluZSBzdHJ1dCBmcm9tIHRoZSB0b3Agb2YgYSBjb250YWluZXIuIFRoaXMgbWl4aW4gaXMgZm9yXG4vLy8gYWR2YW5jZWQgdXNlcnMsIHByZWZlciBgYmFzZWxpbmUoKWAuXG4vLy9cbi8vLyBAcGFyYW0ge051bWJlcn0gJGRpc3RhbmNlIC0gVGhlIGRpc3RhbmNlIGZyb20gdGhlIHRvcCBvZiB0aGUgY29udGFpbmVyIHRvXG4vLy8gICAgIHRoZSB0ZXh0J3MgYmFzZWxpbmUuXG5AbWl4aW4gYmFzZWxpbmUtdG9wKCRkaXN0YW5jZSwgJHF1ZXJ5OiBmZWF0dXJlLXRhcmdldGluZy1mdW5jdGlvbnMuYWxsKCkpIHtcbiAgJGZlYXQtc3RydWN0dXJlOiBmZWF0dXJlLXRhcmdldGluZy1mdW5jdGlvbnMuY3JlYXRlLXRhcmdldCgkcXVlcnksIHN0cnVjdHVyZSk7XG5cbiAgJjo6YmVmb3JlIHtcbiAgICBAaW5jbHVkZSBmZWF0dXJlLXRhcmdldGluZy1taXhpbnMudGFyZ2V0cygkZmVhdC1zdHJ1Y3R1cmUpIHtcbiAgICAgIEBpbmNsdWRlIGJhc2VsaW5lLXN0cnV0XygkZGlzdGFuY2UpO1xuXG4gICAgICB2ZXJ0aWNhbC1hbGlnbjogMDtcbiAgICB9XG4gIH1cbn1cblxuLy8vIENyZWF0ZXMgYSBiYXNlbGluZSBzdHJ1dCBmcm9tIHRoZSBiYXNlbGluZSB0byB0aGUgYm90dG9tIG9mIGEgY29udGFpbmVyLlxuLy8vIFRoaXMgbWl4aW4gaXMgZm9yIGFkdmFuY2VkIHVzZXJzLCBwcmVmZXIgYGJhc2VsaW5lKClgLlxuLy8vXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRkaXN0YW5jZSAtIFRoZSBkaXN0YW5jZSBmcm9tIHRoZSB0ZXh0J3MgYmFzZWxpbmUgdG8gdGhlXG4vLy8gICAgIGJvdHRvbSBvZiB0aGUgY29udGFpbmVyLlxuQG1peGluIGJhc2VsaW5lLWJvdHRvbSgkZGlzdGFuY2UsICRxdWVyeTogZmVhdHVyZS10YXJnZXRpbmctZnVuY3Rpb25zLmFsbCgpKSB7XG4gICRmZWF0LXN0cnVjdHVyZTogZmVhdHVyZS10YXJnZXRpbmctZnVuY3Rpb25zLmNyZWF0ZS10YXJnZXQoJHF1ZXJ5LCBzdHJ1Y3R1cmUpO1xuXG4gICY6OmFmdGVyIHtcbiAgICBAaW5jbHVkZSBmZWF0dXJlLXRhcmdldGluZy1taXhpbnMudGFyZ2V0cygkZmVhdC1zdHJ1Y3R1cmUpIHtcbiAgICAgIEBpbmNsdWRlIGJhc2VsaW5lLXN0cnV0XygkZGlzdGFuY2UpO1xuXG4gICAgICB2ZXJ0aWNhbC1hbGlnbjogLTEgKiAkZGlzdGFuY2U7XG4gICAgfVxuICB9XG59XG5cbkBtaXhpbiBiYXNlbGluZS1zdHJ1dF8oJGRpc3RhbmNlKSB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgd2lkdGg6IDA7XG4gIGhlaWdodDogJGRpc3RhbmNlO1xuICBjb250ZW50OiBcIlwiO1xufVxuIiwiLy8gQ29weXJpZ2h0IDIwMTYgR29vZ2xlIEluYy5cbi8vXG4vLyBQZXJtaXNzaW9uIGlzIGhlcmVieSBncmFudGVkLCBmcmVlIG9mIGNoYXJnZSwgdG8gYW55IHBlcnNvbiBvYnRhaW5pbmcgYSBjb3B5XG4vLyBvZiB0aGlzIHNvZnR3YXJlIGFuZCBhc3NvY2lhdGVkIGRvY3VtZW50YXRpb24gZmlsZXMgKHRoZSBcIlNvZnR3YXJlXCIpLCB0byBkZWFsXG4vLyBpbiB0aGUgU29mdHdhcmUgd2l0aG91dCByZXN0cmljdGlvbiwgaW5jbHVkaW5nIHdpdGhvdXQgbGltaXRhdGlvbiB0aGUgcmlnaHRzXG4vLyB0byB1c2UsIGNvcHksIG1vZGlmeSwgbWVyZ2UsIHB1Ymxpc2gsIGRpc3RyaWJ1dGUsIHN1YmxpY2Vuc2UsIGFuZC9vciBzZWxsXG4vLyBjb3BpZXMgb2YgdGhlIFNvZnR3YXJlLCBhbmQgdG8gcGVybWl0IHBlcnNvbnMgdG8gd2hvbSB0aGUgU29mdHdhcmUgaXNcbi8vIGZ1cm5pc2hlZCB0byBkbyBzbywgc3ViamVjdCB0byB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnM6XG4vL1xuLy8gVGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UgYW5kIHRoaXMgcGVybWlzc2lvbiBub3RpY2Ugc2hhbGwgYmUgaW5jbHVkZWQgaW5cbi8vIGFsbCBjb3BpZXMgb3Igc3Vic3RhbnRpYWwgcG9ydGlvbnMgb2YgdGhlIFNvZnR3YXJlLlxuLy9cbi8vIFRIRSBTT0ZUV0FSRSBJUyBQUk9WSURFRCBcIkFTIElTXCIsIFdJVEhPVVQgV0FSUkFOVFkgT0YgQU5ZIEtJTkQsIEVYUFJFU1MgT1Jcbi8vIElNUExJRUQsIElOQ0xVRElORyBCVVQgTk9UIExJTUlURUQgVE8gVEhFIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZLFxuLy8gRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQU5EIE5PTklORlJJTkdFTUVOVC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFXG4vLyBBVVRIT1JTIE9SIENPUFlSSUdIVCBIT0xERVJTIEJFIExJQUJMRSBGT1IgQU5ZIENMQUlNLCBEQU1BR0VTIE9SIE9USEVSXG4vLyBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQU4gQUNUSU9OIE9GIENPTlRSQUNULCBUT1JUIE9SIE9USEVSV0lTRSwgQVJJU0lORyBGUk9NLFxuLy8gT1VUIE9GIE9SIElOIENPTk5FQ1RJT04gV0lUSCBUSEUgU09GVFdBUkUgT1IgVEhFIFVTRSBPUiBPVEhFUiBERUFMSU5HUyBJTlxuLy8gVEhFIFNPRlRXQVJFLlxuXG5AdXNlIFwic2FzczptYXBcIjtcbkB1c2UgXCJAbWF0ZXJpYWwvZGVuc2l0eS9mdW5jdGlvbnNcIiBhcyBkZW5zaXR5LWZ1bmN0aW9ucztcbkB1c2UgXCJAbWF0ZXJpYWwvcnRsL21peGluc1wiIGFzIHJ0bC1taXhpbnM7XG5AdXNlIFwiQG1hdGVyaWFsL3RoZW1lL21peGluc1wiIGFzIHRoZW1lLW1peGlucztcbkB1c2UgXCJAbWF0ZXJpYWwvc2hhcGUvZnVuY3Rpb25zXCIgYXMgc2hhcGUtZnVuY3Rpb25zO1xuQHVzZSBcIkBtYXRlcmlhbC9zaGFwZS9taXhpbnNcIiBhcyBzaGFwZS1taXhpbnM7XG5AdXNlIFwiQG1hdGVyaWFsL3JpcHBsZS9taXhpbnNcIiBhcyByaXBwbGUtbWl4aW5zO1xuQHVzZSBcIkBtYXRlcmlhbC90aGVtZS9mdW5jdGlvbnNcIiBhcyB0aGVtZS1mdW5jdGlvbnM7XG5AdXNlIFwiQG1hdGVyaWFsL3R5cG9ncmFwaHkvbWl4aW5zXCIgYXMgdHlwb2dyYXBoeS1taXhpbnM7XG5AdXNlIFwiQG1hdGVyaWFsL3R5cG9ncmFwaHkvdmFyaWFibGVzXCIgYXMgdHlwb2dyYXBoeS12YXJpYWJsZXM7XG5AdXNlIFwiQG1hdGVyaWFsL2ZlYXR1cmUtdGFyZ2V0aW5nL2Z1bmN0aW9uc1wiIGFzIGZlYXR1cmUtdGFyZ2V0aW5nLWZ1bmN0aW9ucztcbkB1c2UgXCJAbWF0ZXJpYWwvZmVhdHVyZS10YXJnZXRpbmcvbWl4aW5zXCIgYXMgZmVhdHVyZS10YXJnZXRpbmctbWl4aW5zO1xuQHVzZSBcIi4vdmFyaWFibGVzXCI7XG5AdXNlIFwiQG1hdGVyaWFsL3JpcHBsZS9mdW5jdGlvbnNcIiBhcyByaXBwbGUtZnVuY3Rpb25zO1xuQHVzZSBcIkBtYXRlcmlhbC90aGVtZS92YXJpYWJsZXNcIiBhcyB0aGVtZS12YXJpYWJsZXM7XG5cbi8vXG4vLyBQdWJsaWNcbi8vXG5cbkBtaXhpbiBjb3JlLXN0eWxlcygkcXVlcnk6IGZlYXR1cmUtdGFyZ2V0aW5nLWZ1bmN0aW9ucy5hbGwoKSkge1xuICBAaW5jbHVkZSB3aXRob3V0LXJpcHBsZSgkcXVlcnkpO1xuICBAaW5jbHVkZSByaXBwbGUoJHF1ZXJ5KTtcbn1cblxuLy8gVGhpcyBBUEkgaXMgaW50ZW5kZWQgZm9yIHVzZSBieSBmcmFtZXdvcmtzIHRoYXQgbWF5IHdhbnQgdG8gc2VwYXJhdGUgdGhlIHJpcHBsZS1yZWxhdGVkIHN0eWxlcyBmcm9tIHRoZSBvdGhlclxuLy8gbGlzdCBzdHlsZXMuIEl0IGlzIHJlY29tbWVuZGVkIHRoYXQgbW9zdCB1c2VycyB1c2UgYG1kYy1saXN0LWNvcmUtc3R5bGVzYCBpbnN0ZWFkLlxuQG1peGluIHdpdGhvdXQtcmlwcGxlKCRxdWVyeTogZmVhdHVyZS10YXJnZXRpbmctZnVuY3Rpb25zLmFsbCgpKSB7XG4gICRmZWF0LWNvbG9yOiBmZWF0dXJlLXRhcmdldGluZy1mdW5jdGlvbnMuY3JlYXRlLXRhcmdldCgkcXVlcnksIGNvbG9yKTtcbiAgJGZlYXQtc3RydWN0dXJlOiBmZWF0dXJlLXRhcmdldGluZy1mdW5jdGlvbnMuY3JlYXRlLXRhcmdldCgkcXVlcnksIHN0cnVjdHVyZSk7XG4gICRmZWF0LXR5cG9ncmFwaHk6IGZlYXR1cmUtdGFyZ2V0aW5nLWZ1bmN0aW9ucy5jcmVhdGUtdGFyZ2V0KCRxdWVyeSwgdHlwb2dyYXBoeSk7XG5cbiAgJGl0ZW0tcHJpbWFyeS10ZXh0LWJhc2VsaW5lLWhlaWdodDogMzJweDtcbiAgJGl0ZW0tc2Vjb25kYXJ5LXRleHQtYmFzZWxpbmUtaGVpZ2h0OiAyMHB4O1xuICAkZGVuc2UtaXRlbS1wcmltYXJ5LXRleHQtYmFzZWxpbmUtaGVpZ2h0OiAyNHB4O1xuICAkZGl2aWRlci1jb2xvcjogaWYoXG4gICAgdGhlbWUtZnVuY3Rpb25zLnRvbmUodGhlbWUtdmFyaWFibGVzLiRiYWNrZ3JvdW5kKSA9PSBcImRhcmtcIixcbiAgICB2YXJpYWJsZXMuJGRpdmlkZXItY29sb3Itb24tZGFyay1iZyxcbiAgICB2YXJpYWJsZXMuJGRpdmlkZXItY29sb3Itb24tbGlnaHQtYmdcbiAgKTtcblxuICAubWRjLWxpc3Qge1xuICAgIEBpbmNsdWRlIGJhc2VfKCRxdWVyeSk7XG4gIH1cblxuICBAaW5jbHVkZSBzaW5nbGUtbGluZS1kZW5zaXR5KHZhcmlhYmxlcy4kc2luZ2xlLWxpbmUtZGVuc2l0eS1zY2FsZSwgJHF1ZXJ5OiAkcXVlcnkpO1xuICBAaW5jbHVkZSBpdGVtLXNlY29uZGFyeS10ZXh0LWluay1jb2xvcih0ZXh0LXNlY29uZGFyeS1vbi1iYWNrZ3JvdW5kLCAkcXVlcnkpO1xuICBAaW5jbHVkZSBpdGVtLWdyYXBoaWMtZmlsbC1jb2xvcih0cmFuc3BhcmVudCwgJHF1ZXJ5KTtcbiAgQGluY2x1ZGUgaXRlbS1ncmFwaGljLWluay1jb2xvcih0ZXh0LWljb24tb24tYmFja2dyb3VuZCwgJHF1ZXJ5KTtcbiAgQGluY2x1ZGUgaXRlbS1tZXRhLWluay1jb2xvcih0ZXh0LWhpbnQtb24tYmFja2dyb3VuZCwgJHF1ZXJ5KTtcbiAgQGluY2x1ZGUgZ3JvdXAtc3ViaGVhZGVyLWluay1jb2xvcih0ZXh0LXByaW1hcnktb24tYmFja2dyb3VuZCwgJHF1ZXJ5KTtcbiAgQGluY2x1ZGUgaXRlbS1kaXNhYmxlZC10ZXh0LW9wYWNpdHkodmFyaWFibGVzLiR0ZXh0LWRpc2FibGVkLW9wYWNpdHksICRxdWVyeSk7XG4gIEBpbmNsdWRlIGl0ZW0tZGlzYWJsZWQtdGV4dC1jb2xvcih2YXJpYWJsZXMuJHRleHQtZGlzYWJsZWQtY29sb3IsICRxdWVyeSk7XG5cbiAgLm1kYy1saXN0LS1kZW5zZSB7XG4gICAgQGluY2x1ZGUgZmVhdHVyZS10YXJnZXRpbmctbWl4aW5zLnRhcmdldHMoJGZlYXQtc3RydWN0dXJlKSB7XG4gICAgICBwYWRkaW5nLXRvcDogNHB4O1xuICAgICAgcGFkZGluZy1ib3R0b206IDRweDtcbiAgICAgIGZvbnQtc2l6ZTogLjgxMnJlbTtcbiAgICB9XG4gIH1cblxuICAubWRjLWxpc3QtaXRlbSB7XG4gICAgQGluY2x1ZGUgZmVhdHVyZS10YXJnZXRpbmctbWl4aW5zLnRhcmdldHMoJGZlYXQtc3RydWN0dXJlKSB7XG4gICAgICBAaW5jbHVkZSBpdGVtLWJhc2VfO1xuICAgIH1cbiAgfVxuXG4gIC8vIFwiU2VsZWN0ZWRcIiBpcyBlcGhlbWVyYWwgYW5kIGxpa2VseSB0byBjaGFuZ2Ugc29vbi4gRS5nLiwgc2VsZWN0aW5nIG9uZSBvciBtb3JlIHBob3RvcyB0byBzaGFyZSBpbiBHb29nbGUgUGhvdG9zLlxuICAvLyBcIkFjdGl2YXRlZFwiIGlzIG1vcmUgcGVybWFuZW50LiBFLmcuLCB0aGUgY3VycmVudGx5IGhpZ2hsaWdodGVkIG5hdmlnYXRpb24gZGVzdGluYXRpb24gaW4gYSBkcmF3ZXIuXG4gIC5tZGMtbGlzdC1pdGVtLS1zZWxlY3RlZCxcbiAgLm1kYy1saXN0LWl0ZW0tLWFjdGl2YXRlZCB7XG4gICAgQGluY2x1ZGUgaXRlbS1wcmltYXJ5LXRleHQtaW5rLWNvbG9yKHByaW1hcnksICRxdWVyeSk7XG4gICAgQGluY2x1ZGUgaXRlbS1ncmFwaGljLWluay1jb2xvcihwcmltYXJ5LCAkcXVlcnkpO1xuICB9XG5cbiAgLm1kYy1saXN0LWl0ZW1fX2dyYXBoaWMge1xuICAgIEBpbmNsdWRlIGZlYXR1cmUtdGFyZ2V0aW5nLW1peGlucy50YXJnZXRzKCRmZWF0LXN0cnVjdHVyZSkge1xuICAgICAgQGluY2x1ZGUgZ3JhcGhpYy1zaXplXygyNHB4KTtcblxuICAgICAgZmxleC1zaHJpbms6IDA7XG4gICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICBmaWxsOiBjdXJyZW50Q29sb3I7XG4gICAgfVxuICB9XG5cbiAgLy8gRXh0cmEgc3BlY2lmaWNpdHkgaXMgdG8gb3ZlcnJpZGUgLm1hdGVyaWFsLWljb25zIGRpc3BsYXkgc3R5bGUgaWYgdXNlZCBpblxuICAvLyBjb25qdW5jdGlvbiB3aXRoIG1kYy1saXN0LWl0ZW1fX2dyYXBoaWNcbiAgLy8gc3R5bGVsaW50LWRpc2FibGUgcGx1Z2luL3NlbGVjdG9yLWJlbS1wYXR0ZXJuXG4gIC5tZGMtbGlzdCAubWRjLWxpc3QtaXRlbV9fZ3JhcGhpYyB7XG4gICAgQGluY2x1ZGUgZmVhdHVyZS10YXJnZXRpbmctbWl4aW5zLnRhcmdldHMoJGZlYXQtc3RydWN0dXJlKSB7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgICB9XG4gIH1cbiAgLy8gc3R5bGVsaW50LWVuYWJsZSBwbHVnaW4vc2VsZWN0b3ItYmVtLXBhdHRlcm5cblxuICAubWRjLWxpc3QtaXRlbV9fbWV0YSB7XG4gICAgLy8gc3R5bGVsaW50LWRpc2FibGUgc2VsZWN0b3ItY2xhc3MtcGF0dGVyblxuICAgICY6bm90KC5tYXRlcmlhbC1pY29ucykge1xuICAgICAgQGluY2x1ZGUgdHlwb2dyYXBoeS1taXhpbnMudHlwb2dyYXBoeShjYXB0aW9uLCAkcXVlcnkpO1xuICAgIH1cbiAgICAvLyBzdHlsZWxpbnQtZW5hYmxlIHNlbGVjdG9yLWNsYXNzLXBhdHRlcm5cblxuICAgIEBpbmNsdWRlIGZlYXR1cmUtdGFyZ2V0aW5nLW1peGlucy50YXJnZXRzKCRmZWF0LXN0cnVjdHVyZSkge1xuICAgICAgQGluY2x1ZGUgcnRsLW1peGlucy5yZWZsZXhpdmUtcHJvcGVydHkobWFyZ2luLCBhdXRvLCAwLCBcIi5tZGMtbGlzdC1pdGVtXCIpO1xuICAgIH1cbiAgfVxuXG4gIC5tZGMtbGlzdC1pdGVtX190ZXh0IHtcbiAgICBAaW5jbHVkZSB0eXBvZ3JhcGh5LW1peGlucy5vdmVyZmxvdy1lbGxpcHNpcygkcXVlcnkpO1xuICB9XG5cbiAgLy8gRGlzYWJsZSBpbnRlcmFjdGlvbiBvbiBsYWJlbCBlbGVtZW50cyB0aGF0IG1heSBhdXRvbWF0aWNhbGx5XG4gIC8vIHRvZ2dsZSBjb3JyZXNwb25kaW5nIGNoZWNrYm94IC8gcmFkaW8gaW5wdXQuXG4gIC5tZGMtbGlzdC1pdGVtX190ZXh0W2Zvcl0ge1xuICAgIEBpbmNsdWRlIGZlYXR1cmUtdGFyZ2V0aW5nLW1peGlucy50YXJnZXRzKCRmZWF0LXN0cnVjdHVyZSkge1xuICAgICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gICAgfVxuICB9XG5cbiAgLm1kYy1saXN0LWl0ZW1fX3ByaW1hcnktdGV4dCB7XG4gICAgQGluY2x1ZGUgdHlwb2dyYXBoeS1taXhpbnMub3ZlcmZsb3ctZWxsaXBzaXMoJHF1ZXJ5KTtcbiAgICBAaW5jbHVkZSB0eXBvZ3JhcGh5LW1peGlucy50ZXh0LWJhc2VsaW5lKFxuICAgICAgJHRvcDogJGl0ZW0tcHJpbWFyeS10ZXh0LWJhc2VsaW5lLWhlaWdodCxcbiAgICAgICRib3R0b206ICRpdGVtLXNlY29uZGFyeS10ZXh0LWJhc2VsaW5lLWhlaWdodCxcbiAgICAgICRkaXNwbGF5OiBibG9jayxcbiAgICAgICRxdWVyeTogJHF1ZXJ5XG4gICAgKTtcblxuICAgIC8vIHN0eWxlbGludC1kaXNhYmxlIHBsdWdpbi9zZWxlY3Rvci1iZW0tcGF0dGVyblxuICAgIC5tZGMtbGlzdC0tZGVuc2UgJiB7XG4gICAgICBAaW5jbHVkZSB0eXBvZ3JhcGh5LW1peGlucy50ZXh0LWJhc2VsaW5lKFxuICAgICAgICAkdG9wOiAkZGVuc2UtaXRlbS1wcmltYXJ5LXRleHQtYmFzZWxpbmUtaGVpZ2h0LFxuICAgICAgICAkYm90dG9tOiAkaXRlbS1zZWNvbmRhcnktdGV4dC1iYXNlbGluZS1oZWlnaHQsXG4gICAgICAgICRxdWVyeTogJHF1ZXJ5XG4gICAgICApO1xuICAgIH1cbiAgICAvLyBzdHlsZWxpbnQtZW5hYmxlIHBsdWdpbi9zZWxlY3Rvci1iZW0tcGF0dGVyblxuICB9XG5cbiAgLm1kYy1saXN0LWl0ZW1fX3NlY29uZGFyeS10ZXh0IHtcbiAgICBAaW5jbHVkZSB0eXBvZ3JhcGh5LW1peGlucy50eXBvZ3JhcGh5KGJvZHkyLCAkcXVlcnkpO1xuICAgIEBpbmNsdWRlIHR5cG9ncmFwaHktbWl4aW5zLm92ZXJmbG93LWVsbGlwc2lzKCRxdWVyeSk7XG4gICAgQGluY2x1ZGUgdHlwb2dyYXBoeS1taXhpbnMudGV4dC1iYXNlbGluZShcbiAgICAgICR0b3A6ICRpdGVtLXNlY29uZGFyeS10ZXh0LWJhc2VsaW5lLWhlaWdodCxcbiAgICAgICRkaXNwbGF5OiBibG9jayxcbiAgICAgICRxdWVyeTogJHF1ZXJ5XG4gICAgKTtcblxuICAgIC8vIHN0eWxlbGludC1kaXNhYmxlIHBsdWdpbi9zZWxlY3Rvci1iZW0tcGF0dGVyblxuICAgIC5tZGMtbGlzdC0tZGVuc2UgJiB7XG4gICAgICBAaW5jbHVkZSBmZWF0dXJlLXRhcmdldGluZy1taXhpbnMudGFyZ2V0cygkZmVhdC1zdHJ1Y3R1cmUpIHtcbiAgICAgICAgZm9udC1zaXplOiBpbmhlcml0O1xuICAgICAgfVxuICAgIH1cbiAgICAvLyBzdHlsZWxpbnQtZW5hYmxlIHBsdWdpbi9zZWxlY3Rvci1iZW0tcGF0dGVyblxuICB9XG5cbiAgLy8gc3R5bGVsaW50LWRpc2FibGUgcGx1Z2luL3NlbGVjdG9yLWJlbS1wYXR0ZXJuXG4gIC5tZGMtbGlzdC0tZGVuc2UgLm1kYy1saXN0LWl0ZW0ge1xuICAgIEBpbmNsdWRlIGZlYXR1cmUtdGFyZ2V0aW5nLW1peGlucy50YXJnZXRzKCRmZWF0LXN0cnVjdHVyZSkge1xuICAgICAgaGVpZ2h0OiA0MHB4O1xuICAgIH1cbiAgfVxuXG4gIC5tZGMtbGlzdC0tZGVuc2UgLm1kYy1saXN0LWl0ZW1fX2dyYXBoaWMge1xuICAgIEBpbmNsdWRlIGZlYXR1cmUtdGFyZ2V0aW5nLW1peGlucy50YXJnZXRzKCRmZWF0LXN0cnVjdHVyZSkge1xuICAgICAgQGluY2x1ZGUgZ3JhcGhpYy1zaXplXygyMHB4KTtcbiAgICB9XG4gIH1cblxuICAubWRjLWxpc3QtLWF2YXRhci1saXN0IC5tZGMtbGlzdC1pdGVtIHtcbiAgICBAaW5jbHVkZSBmZWF0dXJlLXRhcmdldGluZy1taXhpbnMudGFyZ2V0cygkZmVhdC1zdHJ1Y3R1cmUpIHtcbiAgICAgIGhlaWdodDogNTZweDtcbiAgICB9XG4gIH1cblxuICAubWRjLWxpc3QtLWF2YXRhci1saXN0IC5tZGMtbGlzdC1pdGVtX19ncmFwaGljIHtcbiAgICBAaW5jbHVkZSBmZWF0dXJlLXRhcmdldGluZy1taXhpbnMudGFyZ2V0cygkZmVhdC1zdHJ1Y3R1cmUpIHtcbiAgICAgIEBpbmNsdWRlIGdyYXBoaWMtc2l6ZV8oNDBweCk7XG5cbiAgICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgICB9XG4gIH1cblxuICAubWRjLWxpc3QtLXR3by1saW5lIC5tZGMtbGlzdC1pdGVtX190ZXh0IHtcbiAgICBAaW5jbHVkZSBmZWF0dXJlLXRhcmdldGluZy1taXhpbnMudGFyZ2V0cygkZmVhdC1zdHJ1Y3R1cmUpIHtcbiAgICAgIGFsaWduLXNlbGY6IGZsZXgtc3RhcnQ7XG4gICAgfVxuICB9XG5cbiAgLm1kYy1saXN0LS10d28tbGluZSAubWRjLWxpc3QtaXRlbSB7XG4gICAgQGluY2x1ZGUgZmVhdHVyZS10YXJnZXRpbmctbWl4aW5zLnRhcmdldHMoJGZlYXQtc3RydWN0dXJlKSB7XG4gICAgICBoZWlnaHQ6IDcycHg7XG4gICAgfVxuICB9XG5cbiAgLm1kYy1saXN0LS10d28tbGluZS5tZGMtbGlzdC0tZGVuc2UgLm1kYy1saXN0LWl0ZW0sXG4gIC5tZGMtbGlzdC0tYXZhdGFyLWxpc3QubWRjLWxpc3QtLWRlbnNlIC5tZGMtbGlzdC1pdGVtIHtcbiAgICBAaW5jbHVkZSBmZWF0dXJlLXRhcmdldGluZy1taXhpbnMudGFyZ2V0cygkZmVhdC1zdHJ1Y3R1cmUpIHtcbiAgICAgIGhlaWdodDogNjBweDtcbiAgICB9XG4gIH1cblxuICAubWRjLWxpc3QtLWF2YXRhci1saXN0Lm1kYy1saXN0LS1kZW5zZSAubWRjLWxpc3QtaXRlbV9fZ3JhcGhpYyB7XG4gICAgQGluY2x1ZGUgZmVhdHVyZS10YXJnZXRpbmctbWl4aW5zLnRhcmdldHMoJGZlYXQtc3RydWN0dXJlKSB7XG4gICAgICBAaW5jbHVkZSBncmFwaGljLXNpemVfKDM2cHgpO1xuICAgIH1cbiAgfVxuXG4gIC8vIE9ubHkgY2hhbmdlIG1vdXNlIGN1cnNvciBmb3IgaW50ZXJhY3RpdmUgbGlzdCBpdGVtcyB3aGljaCBhcmUgbm90IGRpc2FibGVkLlxuICA6bm90KC5tZGMtbGlzdC0tbm9uLWludGVyYWN0aXZlKSA+IDpub3QoLm1kYy1saXN0LWl0ZW0tLWRpc2FibGVkKS5tZGMtbGlzdC1pdGVtIHtcbiAgICBAaW5jbHVkZSBmZWF0dXJlLXRhcmdldGluZy1taXhpbnMudGFyZ2V0cygkZmVhdC1zdHJ1Y3R1cmUpIHtcbiAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICB9XG4gIH1cblxuICAvLyBPdmVycmlkZSBhbmNob3IgdGFnIHN0eWxlcyBmb3IgdGhlIHVzZS1jYXNlIG9mIGEgbGlzdCBiZWluZyB1c2VkIGZvciBuYXZpZ2F0aW9uXG4gIC8vIHN0eWxlbGludC1kaXNhYmxlIHNlbGVjdG9yLW1heC10eXBlLHNlbGVjdG9yLW5vLXF1YWxpZnlpbmctdHlwZVxuICBhLm1kYy1saXN0LWl0ZW0ge1xuICAgIEBpbmNsdWRlIGZlYXR1cmUtdGFyZ2V0aW5nLW1peGlucy50YXJnZXRzKCRmZWF0LXN0cnVjdHVyZSkge1xuICAgICAgY29sb3I6IGluaGVyaXQ7XG4gICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgfVxuICB9XG4gIC8vIHN0eWxlbGludC1lbmFibGUgc2VsZWN0b3ItbWF4LXR5cGUsc2VsZWN0b3Itbm8tcXVhbGlmeWluZy10eXBlXG5cbiAgLm1kYy1saXN0LWRpdmlkZXIge1xuICAgIEBpbmNsdWRlIGZlYXR1cmUtdGFyZ2V0aW5nLW1peGlucy50YXJnZXRzKCRmZWF0LXN0cnVjdHVyZSkge1xuICAgICAgaGVpZ2h0OiAwO1xuICAgICAgbWFyZ2luOiAwO1xuICAgICAgYm9yZGVyOiBub25lO1xuICAgICAgYm9yZGVyLWJvdHRvbS13aWR0aDogMXB4O1xuICAgICAgYm9yZGVyLWJvdHRvbS1zdHlsZTogc29saWQ7XG4gICAgfVxuICB9XG5cbiAgLy8gTm90ZTogaWRlYWxseSB3ZSdkIGJlIGFibGUgdG8gaG9pc3QgdGhpcyB0byB0aGUgdG9wLWxldmVsIGAkZmVhdC1jb2xvcmAsIGJ1dCBkb2luZyBzb1xuICAvLyB3aWxsIGNhdXNlIHRoZSBgYm9yZGVyYCBkZWNsYXJhdGlvbiBvbiBgLm1kYy1saXN0LWRpdmlkZXJgIGFib3ZlIHRvIG92ZXJyaWRlIGl0LlxuICBAaW5jbHVkZSBkaXZpZGVyLWNvbG9yKCRkaXZpZGVyLWNvbG9yLCAkcXVlcnkpO1xuXG4gIC5tZGMtbGlzdC1kaXZpZGVyLS1wYWRkZWQge1xuICAgIEBpbmNsdWRlIGZlYXR1cmUtdGFyZ2V0aW5nLW1peGlucy50YXJnZXRzKCRmZWF0LXN0cnVjdHVyZSkge1xuICAgICAgLy8gTGVhdmUgZ2FwcyBvbiBlYWNoIHNpZGUgdG8gbWF0Y2ggdGhlIHBhZGRpbmcgb24gbGlzdCBpdGVtc1xuICAgICAgbWFyZ2luOiAwIHZhcmlhYmxlcy4kc2lkZS1wYWRkaW5nO1xuICAgIH1cbiAgfVxuXG4gIC5tZGMtbGlzdC1kaXZpZGVyLS1pbnNldCB7XG4gICAgQGluY2x1ZGUgZmVhdHVyZS10YXJnZXRpbmctbWl4aW5zLnRhcmdldHMoJGZlYXQtc3RydWN0dXJlKSB7XG4gICAgICBAaW5jbHVkZSBydGwtbWl4aW5zLnJlZmxleGl2ZS1ib3gobWFyZ2luLCBsZWZ0LCB2YXJpYWJsZXMuJHRleHQtb2Zmc2V0LCBcIi5tZGMtbGlzdC1ncm91cFwiKTtcblxuICAgICAgd2lkdGg6IGNhbGMoMTAwJSAtICN7dmFyaWFibGVzLiR0ZXh0LW9mZnNldH0pO1xuICAgIH1cbiAgfVxuXG4gIC5tZGMtbGlzdC1kaXZpZGVyLS1pbnNldC5tZGMtbGlzdC1kaXZpZGVyLS1wYWRkZWQge1xuICAgIEBpbmNsdWRlIGZlYXR1cmUtdGFyZ2V0aW5nLW1peGlucy50YXJnZXRzKCRmZWF0LXN0cnVjdHVyZSkge1xuICAgICAgd2lkdGg6IGNhbGMoMTAwJSAtICN7dmFyaWFibGVzLiR0ZXh0LW9mZnNldH0gLSAje3ZhcmlhYmxlcy4kc2lkZS1wYWRkaW5nfSk7XG4gICAgfVxuICB9XG5cbiAgLm1kYy1saXN0LWdyb3VwIHtcbiAgICBAaW5jbHVkZSBmZWF0dXJlLXRhcmdldGluZy1taXhpbnMudGFyZ2V0cygkZmVhdC1zdHJ1Y3R1cmUpIHtcbiAgICAgIC8vIENhbmNlbCB0b3AvYm90dG9tIHBhZGRpbmcgb24gaW5kaXZpZHVhbCBsaXN0cyB3aXRoaW4gZ3JvdXBcbiAgICAgIC5tZGMtbGlzdCB7XG4gICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLm1kYy1saXN0LWdyb3VwX19zdWJoZWFkZXIge1xuICAgICRtZGMtbGlzdC1zdWJoZWFkZXItdmlydHVhbC1oZWlnaHQ6IDNyZW07XG4gICAgJG1kYy1saXN0LXN1YmhlYWRlci1sZWFkaW5nOiBtYXAuZ2V0KG1hcC5nZXQodHlwb2dyYXBoeS12YXJpYWJsZXMuJHN0eWxlcywgYm9keTEpLCBsaW5lLWhlaWdodCk7XG4gICAgJG1kYy1saXN0LXN1YmhlYWRlci1tYXJnaW46IGNhbGMoKCN7JG1kYy1saXN0LXN1YmhlYWRlci12aXJ0dWFsLWhlaWdodH0gLSAjeyRtZGMtbGlzdC1zdWJoZWFkZXItbGVhZGluZ30pIC8gMik7XG5cbiAgICBAaW5jbHVkZSB0eXBvZ3JhcGh5LW1peGlucy50eXBvZ3JhcGh5KHN1YnRpdGxlMSwgJHF1ZXJ5KTtcblxuICAgIEBpbmNsdWRlIGZlYXR1cmUtdGFyZ2V0aW5nLW1peGlucy50YXJnZXRzKCRmZWF0LXN0cnVjdHVyZSkge1xuICAgICAgbWFyZ2luOiAkbWRjLWxpc3Qtc3ViaGVhZGVyLW1hcmdpbiB2YXJpYWJsZXMuJHNpZGUtcGFkZGluZztcbiAgICB9XG4gIH1cbn1cblxuLy8gVGhpcyBBUEkgaXMgaW50ZW5kZWQgZm9yIHVzZSBieSBmcmFtZXdvcmtzIHRoYXQgbWF5IHdhbnQgdG8gc2VwYXJhdGUgdGhlIHJpcHBsZS1yZWxhdGVkIHN0eWxlcyBmcm9tIHRoZSBvdGhlclxuLy8gbGlzdCBzdHlsZXMuIEl0IGlzIHJlY29tbWVuZGVkIHRoYXQgbW9zdCB1c2VycyB1c2UgYG1kYy1saXN0LWNvcmUtc3R5bGVzYCBpbnN0ZWFkLlxuQG1peGluIHJpcHBsZSgkcXVlcnk6IGZlYXR1cmUtdGFyZ2V0aW5nLWZ1bmN0aW9ucy5hbGwoKSkge1xuICBAaW5jbHVkZSByaXBwbGUtbWl4aW5zLmNvbW1vbigkcXVlcnkpOyAvLyBDT1BZQkFSQV9DT01NRU5UX1RISVNfTElORVxuXG4gIC8vIExpc3QgaXRlbXMgc2hvdWxkIHN1cHBvcnQgc3RhdGVzIGJ5IGRlZmF1bHQsIGJ1dCBpdCBzaG91bGQgYmUgcG9zc2libGUgdG8gb3B0IG91dC5cbiAgLy8gRGlyZWN0IGNoaWxkIGNvbWJpbmF0b3IgaXMgbmVjZXNzYXJ5IGZvciBub24taW50ZXJhY3RpdmUgbW9kaWZpZXIgb24gcGFyZW50IHRvIG5vdFxuICAvLyBtYXRjaCB0aGlzIHNlbGVjdG9yLlxuICA6bm90KC5tZGMtbGlzdC0tbm9uLWludGVyYWN0aXZlKSA+IDpub3QoLm1kYy1saXN0LWl0ZW0tLWRpc2FibGVkKS5tZGMtbGlzdC1pdGVtIHtcbiAgICBAaW5jbHVkZSBpdGVtLWludGVyYWN0aXZlLXJpcHBsZV8oJHF1ZXJ5KTtcbiAgfVxuXG4gIC8vIFNldCBzdHlsZXMgb25seSBmb3IgZm9jdXMgc3RhdGUgb24gZGlzYWJsZWQgbGlzdCBpdGVtLlxuICA6bm90KC5tZGMtbGlzdC0tbm9uLWludGVyYWN0aXZlKSA+IC5tZGMtbGlzdC1pdGVtLS1kaXNhYmxlZCB7XG4gICAgQGluY2x1ZGUgcmlwcGxlLW1peGlucy5zdXJmYWNlKCRxdWVyeTogJHF1ZXJ5KTtcbiAgICBAaW5jbHVkZSByaXBwbGUtbWl4aW5zLnJhZGl1cy1ib3VuZGVkKCRxdWVyeTogJHF1ZXJ5KTtcbiAgICBAaW5jbHVkZSByaXBwbGUtbWl4aW5zLnN0YXRlcy1iYXNlLWNvbG9yKHRoZW1lLXZhcmlhYmxlcy5wcm9wLXZhbHVlKG9uLXN1cmZhY2UpLCAkcXVlcnk6ICRxdWVyeSk7XG4gICAgQGluY2x1ZGUgcmlwcGxlLW1peGlucy5zdGF0ZXMtZm9jdXMtb3BhY2l0eShyaXBwbGUtZnVuY3Rpb25zLnN0YXRlcy1vcGFjaXR5KHByaW1hcnksIGZvY3VzKSwgJHF1ZXJ5OiAkcXVlcnkpO1xuICB9XG59XG5cbkBtaXhpbiBpdGVtLXByaW1hcnktdGV4dC1pbmstY29sb3IoJGNvbG9yLCAkcXVlcnk6IGZlYXR1cmUtdGFyZ2V0aW5nLWZ1bmN0aW9ucy5hbGwoKSkge1xuICAkZmVhdC1jb2xvcjogZmVhdHVyZS10YXJnZXRpbmctZnVuY3Rpb25zLmNyZWF0ZS10YXJnZXQoJHF1ZXJ5LCBjb2xvcik7XG5cbiAgQGluY2x1ZGUgZmVhdHVyZS10YXJnZXRpbmctbWl4aW5zLnRhcmdldHMoJGZlYXQtY29sb3IpIHtcbiAgICBAaW5jbHVkZSB0aGVtZS1taXhpbnMucHJvcChjb2xvciwgJGNvbG9yKTtcbiAgfVxufVxuXG5AbWl4aW4gaXRlbS1zZWNvbmRhcnktdGV4dC1pbmstY29sb3IoJGNvbG9yLCAkcXVlcnk6IGZlYXR1cmUtdGFyZ2V0aW5nLWZ1bmN0aW9ucy5hbGwoKSkge1xuICAkZmVhdC1jb2xvcjogZmVhdHVyZS10YXJnZXRpbmctZnVuY3Rpb25zLmNyZWF0ZS10YXJnZXQoJHF1ZXJ5LCBjb2xvcik7XG5cbiAgLm1kYy1saXN0LWl0ZW1fX3NlY29uZGFyeS10ZXh0IHtcbiAgICBAaW5jbHVkZSBmZWF0dXJlLXRhcmdldGluZy1taXhpbnMudGFyZ2V0cygkZmVhdC1jb2xvcikge1xuICAgICAgQGluY2x1ZGUgdGhlbWUtbWl4aW5zLnByb3AoY29sb3IsICRjb2xvcik7XG4gICAgfVxuICB9XG59XG5cbkBtaXhpbiBpdGVtLWdyYXBoaWMtZmlsbC1jb2xvcigkY29sb3IsICRxdWVyeTogZmVhdHVyZS10YXJnZXRpbmctZnVuY3Rpb25zLmFsbCgpKSB7XG4gICRmZWF0LWNvbG9yOiBmZWF0dXJlLXRhcmdldGluZy1mdW5jdGlvbnMuY3JlYXRlLXRhcmdldCgkcXVlcnksIGNvbG9yKTtcblxuICAubWRjLWxpc3QtaXRlbV9fZ3JhcGhpYyB7XG4gICAgQGluY2x1ZGUgZmVhdHVyZS10YXJnZXRpbmctbWl4aW5zLnRhcmdldHMoJGZlYXQtY29sb3IpIHtcbiAgICAgIEBpbmNsdWRlIHRoZW1lLW1peGlucy5wcm9wKGJhY2tncm91bmQtY29sb3IsICRjb2xvcik7XG4gICAgfVxuICB9XG59XG5cbkBtaXhpbiBpdGVtLWdyYXBoaWMtaW5rLWNvbG9yKCRjb2xvciwgJHF1ZXJ5OiBmZWF0dXJlLXRhcmdldGluZy1mdW5jdGlvbnMuYWxsKCkpIHtcbiAgJGZlYXQtY29sb3I6IGZlYXR1cmUtdGFyZ2V0aW5nLWZ1bmN0aW9ucy5jcmVhdGUtdGFyZ2V0KCRxdWVyeSwgY29sb3IpO1xuXG4gIC5tZGMtbGlzdC1pdGVtX19ncmFwaGljIHtcbiAgICBAaW5jbHVkZSBmZWF0dXJlLXRhcmdldGluZy1taXhpbnMudGFyZ2V0cygkZmVhdC1jb2xvcikge1xuICAgICAgQGluY2x1ZGUgdGhlbWUtbWl4aW5zLnByb3AoY29sb3IsICRjb2xvcik7XG4gICAgfVxuICB9XG59XG5cbkBtaXhpbiBpdGVtLW1ldGEtaW5rLWNvbG9yKCRjb2xvciwgJHF1ZXJ5OiBmZWF0dXJlLXRhcmdldGluZy1mdW5jdGlvbnMuYWxsKCkpIHtcbiAgJGZlYXQtY29sb3I6IGZlYXR1cmUtdGFyZ2V0aW5nLWZ1bmN0aW9ucy5jcmVhdGUtdGFyZ2V0KCRxdWVyeSwgY29sb3IpO1xuXG4gIC5tZGMtbGlzdC1pdGVtX19tZXRhIHtcbiAgICBAaW5jbHVkZSBmZWF0dXJlLXRhcmdldGluZy1taXhpbnMudGFyZ2V0cygkZmVhdC1jb2xvcikge1xuICAgICAgQGluY2x1ZGUgdGhlbWUtbWl4aW5zLnByb3AoY29sb3IsICRjb2xvcik7XG4gICAgfVxuICB9XG59XG5cbi8vL1xuLy8vIFNldHMgc2hhcGUgcmFkaXVzIChyb3VuZGVkKSB0byBzaW5nbGUgbGluZSBsaXN0IHZhcmlhbnQuXG4vLy9cbi8vLyBAcGFyYW0ge051bWJlciB8IExpc3Q8TnVtYmVyPn0gJHJhZGl1cyBSYWRpdXMgc2l6ZSBpbiBgcHhgIG9yIHBlcmNlbnRhZ2UuIEl0IGNhbiBiZSA0IHZhbHVlIGNvcm5lciBvciBzaW5nbGUgcmFkaXVzLlxuLy8vICAgICBTZXQgdG8gYDUwJWAgZm9yIHJvdW5kZWQgc2hhcGUuXG4vLy8gQHBhcmFtIHtCb29sZWFufSAkcnRsLXJlZmxleGl2ZSBTZXQgdG8gdHJ1ZSB0byBmbGlwIGJvcmRlciByYWRpdXMgaW4gUlRMIGNvbnRleHQuIERlZmF1bHRzIHRvIGBmYWxzZWAuXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRkZW5zaXR5LXNjYWxlIERlbnNpdHkgc2NhbGUgb2Ygc2luZ2xlIGxpbmUgbGlzdC4gU2V0IHRoaXMgb25seSB3aGVuIGN1c3RvbSBkZW5zaXR5IGlzIGFwcGxpZWQuXG4vLy8gICAgIERlZmF1bHRzIHRvIGAkbWRjLWxpc3Qtc2luZ2xlLWxpbmUtZGVuc2l0eS1zY2FsZWAuXG4vLy9cbi8vLyBAYWNjZXNzIHB1YmxpY1xuLy8vXG5AbWl4aW4gc2luZ2xlLWxpbmUtc2hhcGUtcmFkaXVzKFxuICAkcmFkaXVzLFxuICAkcnRsLXJlZmxleGl2ZTogZmFsc2UsXG4gICRkZW5zaXR5LXNjYWxlOiB2YXJpYWJsZXMuJHNpbmdsZS1saW5lLWRlbnNpdHktc2NhbGUsXG4gICRxdWVyeTogZmVhdHVyZS10YXJnZXRpbmctZnVuY3Rpb25zLmFsbCgpKSB7XG5cbiAgJGhlaWdodDogZGVuc2l0eS1mdW5jdGlvbnMucHJvcC12YWx1ZShcbiAgICAkZGVuc2l0eS1jb25maWc6IHZhcmlhYmxlcy4kc2luZ2xlLWxpbmUtZGVuc2l0eS1jb25maWcsXG4gICAgJGRlbnNpdHktc2NhbGU6ICRkZW5zaXR5LXNjYWxlLFxuICAgICRwcm9wZXJ0eS1uYW1lOiBoZWlnaHQsXG4gICk7XG5cbiAgJHJlc29sdmVkLXJhZGl1czogc2hhcGUtZnVuY3Rpb25zLnJlc29sdmUtcGVyY2VudGFnZS1yYWRpdXMoJGhlaWdodCwgJHJhZGl1cyk7XG5cbiAgLm1kYy1saXN0LWl0ZW0ge1xuICAgIEBpbmNsdWRlIHNoYXBlLW1peGlucy5yYWRpdXMoJHJlc29sdmVkLXJhZGl1cywgJHJ0bC1yZWZsZXhpdmUsICRxdWVyeTogJHF1ZXJ5KTtcbiAgfVxufVxuXG5AbWl4aW4gZGl2aWRlci1jb2xvcigkY29sb3IsICRxdWVyeTogZmVhdHVyZS10YXJnZXRpbmctZnVuY3Rpb25zLmFsbCgpKSB7XG4gICRmZWF0LWNvbG9yOiBmZWF0dXJlLXRhcmdldGluZy1mdW5jdGlvbnMuY3JlYXRlLXRhcmdldCgkcXVlcnksIGNvbG9yKTtcblxuICAubWRjLWxpc3QtZGl2aWRlciB7XG4gICAgQGluY2x1ZGUgZmVhdHVyZS10YXJnZXRpbmctbWl4aW5zLnRhcmdldHMoJGZlYXQtY29sb3IpIHtcbiAgICAgIEBpbmNsdWRlIHRoZW1lLW1peGlucy5wcm9wKGJvcmRlci1ib3R0b20tY29sb3IsICRjb2xvcik7XG4gICAgfVxuICB9XG59XG5cbkBtaXhpbiBncm91cC1zdWJoZWFkZXItaW5rLWNvbG9yKCRjb2xvciwgJHF1ZXJ5OiBmZWF0dXJlLXRhcmdldGluZy1mdW5jdGlvbnMuYWxsKCkpIHtcbiAgJGZlYXQtY29sb3I6IGZlYXR1cmUtdGFyZ2V0aW5nLWZ1bmN0aW9ucy5jcmVhdGUtdGFyZ2V0KCRxdWVyeSwgY29sb3IpO1xuXG4gIC5tZGMtbGlzdC1ncm91cF9fc3ViaGVhZGVyIHtcbiAgICBAaW5jbHVkZSBmZWF0dXJlLXRhcmdldGluZy1taXhpbnMudGFyZ2V0cygkZmVhdC1jb2xvcikge1xuICAgICAgQGluY2x1ZGUgdGhlbWUtbWl4aW5zLnByb3AoY29sb3IsICRjb2xvcik7XG4gICAgfVxuICB9XG59XG5cbkBtaXhpbiBpdGVtLWRpc2FibGVkLXRleHQtb3BhY2l0eSgkb3BhY2l0eSwgJHF1ZXJ5OiBmZWF0dXJlLXRhcmdldGluZy1mdW5jdGlvbnMuYWxsKCkpIHtcbiAgJGZlYXQtY29sb3I6IGZlYXR1cmUtdGFyZ2V0aW5nLWZ1bmN0aW9ucy5jcmVhdGUtdGFyZ2V0KCRxdWVyeSwgY29sb3IpO1xuXG4gIC5tZGMtbGlzdC1pdGVtLS1kaXNhYmxlZCAubWRjLWxpc3QtaXRlbV9fdGV4dCB7XG4gICAgQGluY2x1ZGUgZmVhdHVyZS10YXJnZXRpbmctbWl4aW5zLnRhcmdldHMoJGZlYXQtY29sb3IpIHtcbiAgICAgIG9wYWNpdHk6ICRvcGFjaXR5O1xuICAgIH1cbiAgfVxufVxuXG5AbWl4aW4gaXRlbS1kaXNhYmxlZC10ZXh0LWNvbG9yKCRjb2xvciwgJHF1ZXJ5OiBmZWF0dXJlLXRhcmdldGluZy1mdW5jdGlvbnMuYWxsKCkpIHtcbiAgJGZlYXQtY29sb3I6IGZlYXR1cmUtdGFyZ2V0aW5nLWZ1bmN0aW9ucy5jcmVhdGUtdGFyZ2V0KCRxdWVyeSwgY29sb3IpO1xuXG4gIC5tZGMtbGlzdC1pdGVtLS1kaXNhYmxlZCB7XG4gICAgLm1kYy1saXN0LWl0ZW1fX3RleHQsXG4gICAgLm1kYy1saXN0LWl0ZW1fX3ByaW1hcnktdGV4dCxcbiAgICAubWRjLWxpc3QtaXRlbV9fc2Vjb25kYXJ5LXRleHQge1xuICAgICAgQGluY2x1ZGUgZmVhdHVyZS10YXJnZXRpbmctbWl4aW5zLnRhcmdldHMoJGZlYXQtY29sb3IpIHtcbiAgICAgICAgQGluY2x1ZGUgdGhlbWUtbWl4aW5zLnByb3AoY29sb3IsICRjb2xvcik7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbi8vL1xuLy8vIFNldHMgZGVuc2l0eSBzY2FsZSB0byBzaW5nbGUgbGluZSBsaXN0IHZhcmlhbnQuXG4vLy9cbi8vLyBAcGFyYW0ge051bWJlcn0gJGRlbnNpdHktc2NhbGUgRGVuc2l0eSBzY2FsZSBmb3IgbGlzdC4gU3VwcG9ydGVkIGRlbnNpdHkgc2NhbGVzIGFyZSBgLTRgLCBgLTNgLCBgLTJgLCBgLTFgIGFuZCAgYDBgLlxuLy8vXG4vLy8gQGFjY2VzcyBwdWJsaWNcbi8vL1xuQG1peGluIHNpbmdsZS1saW5lLWRlbnNpdHkoJGRlbnNpdHktc2NhbGUsICRxdWVyeTogZmVhdHVyZS10YXJnZXRpbmctZnVuY3Rpb25zLmFsbCgpKSB7XG4gICRoZWlnaHQ6IGRlbnNpdHktZnVuY3Rpb25zLnByb3AtdmFsdWUoXG4gICAgJGRlbnNpdHktY29uZmlnOiB2YXJpYWJsZXMuJHNpbmdsZS1saW5lLWRlbnNpdHktY29uZmlnLFxuICAgICRkZW5zaXR5LXNjYWxlOiAkZGVuc2l0eS1zY2FsZSxcbiAgICAkcHJvcGVydHktbmFtZTogaGVpZ2h0LFxuICApO1xuXG4gIC5tZGMtbGlzdC1pdGVtIHtcbiAgICBAaW5jbHVkZSBzaW5nbGUtbGluZS1oZWlnaHQoJGhlaWdodCwgJHF1ZXJ5OiAkcXVlcnkpO1xuICB9XG59XG5cbi8vL1xuLy8vIFNldHMgaGVpZ2h0IHRvIHNpbmdsZSBsaW5lIGxpc3QgdmFyaWFudC5cbi8vL1xuLy8vIEBwYXJhbSB7TnVtYmVyfSAkaGVpZ2h0IEhlaWdodCB2YWx1ZSBpbiBgcHhgLlxuLy8vXG4vLy8gQGFjY2VzcyBwdWJsaWNcbi8vL1xuQG1peGluIHNpbmdsZS1saW5lLWhlaWdodCgkaGVpZ2h0LCAkcXVlcnk6IGZlYXR1cmUtdGFyZ2V0aW5nLWZ1bmN0aW9ucy5hbGwoKSkge1xuICAkZmVhdC1zdHJ1Y3R1cmU6IGZlYXR1cmUtdGFyZ2V0aW5nLWZ1bmN0aW9ucy5jcmVhdGUtdGFyZ2V0KCRxdWVyeSwgc3RydWN0dXJlKTtcblxuICBAaW5jbHVkZSBmZWF0dXJlLXRhcmdldGluZy1taXhpbnMudGFyZ2V0cygkZmVhdC1zdHJ1Y3R1cmUpIHtcbiAgICBoZWlnaHQ6ICRoZWlnaHQ7XG4gIH1cbn1cblxuLy9cbi8vIFByaXZhdGVcbi8vXG5cbkBtaXhpbiBiYXNlXygkcXVlcnk6IGZlYXR1cmUtdGFyZ2V0aW5nLWZ1bmN0aW9ucy5hbGwoKSkge1xuICAkZmVhdC1jb2xvcjogZmVhdHVyZS10YXJnZXRpbmctZnVuY3Rpb25zLmNyZWF0ZS10YXJnZXQoJHF1ZXJ5LCBjb2xvcik7XG4gICRmZWF0LXN0cnVjdHVyZTogZmVhdHVyZS10YXJnZXRpbmctZnVuY3Rpb25zLmNyZWF0ZS10YXJnZXQoJHF1ZXJ5LCBzdHJ1Y3R1cmUpO1xuICAkZmVhdC10eXBvZ3JhcGh5OiBmZWF0dXJlLXRhcmdldGluZy1mdW5jdGlvbnMuY3JlYXRlLXRhcmdldCgkcXVlcnksIHR5cG9ncmFwaHkpO1xuXG4gIEBpbmNsdWRlIHR5cG9ncmFwaHktbWl4aW5zLnR5cG9ncmFwaHkoc3VidGl0bGUxLCAkcXVlcnkpO1xuXG4gIEBpbmNsdWRlIGZlYXR1cmUtdGFyZ2V0aW5nLW1peGlucy50YXJnZXRzKCRmZWF0LXR5cG9ncmFwaHkpIHtcbiAgICAvLyBBY2NvcmRpbmcgdG8gdGhlIG1vY2tzIGFuZCBzdGlja2Vyc2hlZXQsIHRoZSBsaW5lLWhlaWdodCBpc1xuICAgIC8vIGFkanVzdGVkIHRvIDI0cHggZm9yIHRleHQgY29udGVudCwgc2FtZSBhcyBmb3IgYm9keTEuXG4gICAgLyogQGFsdGVybmF0ZSAqL1xuICAgIGxpbmUtaGVpZ2h0OiBtYXAuZ2V0KG1hcC5nZXQodHlwb2dyYXBoeS12YXJpYWJsZXMuJHN0eWxlcywgYm9keTEpLCBsaW5lLWhlaWdodCk7XG4gIH1cblxuICBAaW5jbHVkZSBmZWF0dXJlLXRhcmdldGluZy1taXhpbnMudGFyZ2V0cygkZmVhdC1zdHJ1Y3R1cmUpIHtcbiAgICBtYXJnaW46IDA7XG4gICAgcGFkZGluZzogOHB4IDA7XG4gICAgbGlzdC1zdHlsZS10eXBlOiBub25lO1xuXG4gICAgJjpmb2N1cyB7XG4gICAgICBvdXRsaW5lOiBub25lO1xuICAgIH1cbiAgfVxuXG4gIEBpbmNsdWRlIGl0ZW0tcHJpbWFyeS10ZXh0LWluay1jb2xvcih0ZXh0LXByaW1hcnktb24tYmFja2dyb3VuZCwgJHF1ZXJ5KTtcbn1cblxuQG1peGluIGl0ZW0tYmFzZV8ge1xuICBkaXNwbGF5OiBmbGV4O1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDtcbiAgcGFkZGluZzogMCB2YXJpYWJsZXMuJHNpZGUtcGFkZGluZztcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcblxuICAmOmZvY3VzIHtcbiAgICBvdXRsaW5lOiBub25lO1xuICB9XG59XG5cbi8vIFJpcHBsZSBzdHlsZXMgZm9yIGFuIGludGVyYWN0aXZlIGxpc3QgaXRlbSAob25lIHRoYXQgaXMgZW5hYmxlZCBhbmQgaW5zaWRlIGFuIGludGVyYWN0aXZlIGxpc3QpLlxuQG1peGluIGl0ZW0taW50ZXJhY3RpdmUtcmlwcGxlXygkcXVlcnk6IGZlYXR1cmUtdGFyZ2V0aW5nLWZ1bmN0aW9ucy5hbGwoKSkge1xuICBAaW5jbHVkZSByaXBwbGUtbWl4aW5zLnN1cmZhY2UoJHF1ZXJ5KTtcbiAgQGluY2x1ZGUgcmlwcGxlLW1peGlucy5yYWRpdXMtYm91bmRlZCgkcXVlcnk6ICRxdWVyeSk7XG4gIEBpbmNsdWRlIHJpcHBsZS1taXhpbnMuc3RhdGVzKHRoZW1lLXZhcmlhYmxlcy5wcm9wLXZhbHVlKG9uLXN1cmZhY2UpLCBmYWxzZSwgJHF1ZXJ5KTtcbiAgQGluY2x1ZGUgcmlwcGxlLW1peGlucy5zdGF0ZXMtYWN0aXZhdGVkKHByaW1hcnksIGZhbHNlLCAkcXVlcnkpO1xuICBAaW5jbHVkZSByaXBwbGUtbWl4aW5zLnN0YXRlcy1zZWxlY3RlZChwcmltYXJ5LCBmYWxzZSwgJHF1ZXJ5KTtcbn1cblxuLy8gU2V0cyB0aGUgd2lkdGggYW5kIGhlaWdodCBvZiB0aGUgZ3JhcGhpYyBlbGVtZW50LCBhcyB3ZWxsIGFzIGNhbGN1bGF0ZXMgdGhlIG1hcmdpbnMgZm9yXG4vLyB0aGUgZ3JhcGhpYyBlbGVtZW50IHN1Y2ggdGhhdCB0aGUgdGV4dCBpcyBhbHdheXMgb2Zmc2V0IGJ5IDcycHgsIHdoaWNoIGlzIGRlZmluZWQgd2l0aGluXG4vLyB0aGUgc3BlYy5cbkBtaXhpbiBncmFwaGljLXNpemVfKCRzaXplKSB7XG4gICR0ZXh0LW9mZnNldDogNzJweDtcbiAgJHNpZGUtcGFkZGluZzogdmFyaWFibGVzLiRzaWRlLXBhZGRpbmc7XG4gICRtYXJnaW4tdmFsdWU6ICR0ZXh0LW9mZnNldCAtICRzaWRlLXBhZGRpbmcgLSAkc2l6ZTtcblxuICBAaW5jbHVkZSBydGwtbWl4aW5zLnJlZmxleGl2ZS1ib3gobWFyZ2luLCByaWdodCwgJG1hcmdpbi12YWx1ZSwgXCIubWRjLWxpc3QtaXRlbVwiKTtcblxuICB3aWR0aDogJHNpemU7XG4gIGhlaWdodDogJHNpemU7XG59XG4iLCIvLyBDb3B5cmlnaHQgMjAxNiBHb29nbGUgSW5jLlxuLy9cbi8vIFBlcm1pc3Npb24gaXMgaGVyZWJ5IGdyYW50ZWQsIGZyZWUgb2YgY2hhcmdlLCB0byBhbnkgcGVyc29uIG9idGFpbmluZyBhIGNvcHlcbi8vIG9mIHRoaXMgc29mdHdhcmUgYW5kIGFzc29jaWF0ZWQgZG9jdW1lbnRhdGlvbiBmaWxlcyAodGhlIFwiU29mdHdhcmVcIiksIHRvIGRlYWxcbi8vIGluIHRoZSBTb2Z0d2FyZSB3aXRob3V0IHJlc3RyaWN0aW9uLCBpbmNsdWRpbmcgd2l0aG91dCBsaW1pdGF0aW9uIHRoZSByaWdodHNcbi8vIHRvIHVzZSwgY29weSwgbW9kaWZ5LCBtZXJnZSwgcHVibGlzaCwgZGlzdHJpYnV0ZSwgc3VibGljZW5zZSwgYW5kL29yIHNlbGxcbi8vIGNvcGllcyBvZiB0aGUgU29mdHdhcmUsIGFuZCB0byBwZXJtaXQgcGVyc29ucyB0byB3aG9tIHRoZSBTb2Z0d2FyZSBpc1xuLy8gZnVybmlzaGVkIHRvIGRvIHNvLCBzdWJqZWN0IHRvIHRoZSBmb2xsb3dpbmcgY29uZGl0aW9uczpcbi8vXG4vLyBUaGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSBhbmQgdGhpcyBwZXJtaXNzaW9uIG5vdGljZSBzaGFsbCBiZSBpbmNsdWRlZCBpblxuLy8gYWxsIGNvcGllcyBvciBzdWJzdGFudGlhbCBwb3J0aW9ucyBvZiB0aGUgU29mdHdhcmUuXG4vL1xuLy8gVEhFIFNPRlRXQVJFIElTIFBST1ZJREVEIFwiQVMgSVNcIiwgV0lUSE9VVCBXQVJSQU5UWSBPRiBBTlkgS0lORCwgRVhQUkVTUyBPUlxuLy8gSU1QTElFRCwgSU5DTFVESU5HIEJVVCBOT1QgTElNSVRFRCBUTyBUSEUgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFksXG4vLyBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBTkQgTk9OSU5GUklOR0VNRU5ULiBJTiBOTyBFVkVOVCBTSEFMTCBUSEVcbi8vIEFVVEhPUlMgT1IgQ09QWVJJR0hUIEhPTERFUlMgQkUgTElBQkxFIEZPUiBBTlkgQ0xBSU0sIERBTUFHRVMgT1IgT1RIRVJcbi8vIExJQUJJTElUWSwgV0hFVEhFUiBJTiBBTiBBQ1RJT04gT0YgQ09OVFJBQ1QsIFRPUlQgT1IgT1RIRVJXSVNFLCBBUklTSU5HIEZST00sXG4vLyBPVVQgT0YgT1IgSU4gQ09OTkVDVElPTiBXSVRIIFRIRSBTT0ZUV0FSRSBPUiBUSEUgVVNFIE9SIE9USEVSIERFQUxJTkdTIElOXG4vLyBUSEUgU09GVFdBUkUuXG5cbkB1c2UgXCJAbWF0ZXJpYWwvZGVuc2l0eS92YXJpYWJsZXNcIiBhcyBkZW5zaXR5LXZhcmlhYmxlcztcbkB1c2UgXCJAbWF0ZXJpYWwvdGhlbWUvdmFyaWFibGVzXCIgYXMgdGhlbWUtdmFyaWFibGVzO1xuXG4kZGl2aWRlci1jb2xvci1vbi1saWdodC1iZzogcmdiYSgwLCAwLCAwLCAuMTIpICFkZWZhdWx0O1xuJGRpdmlkZXItY29sb3Itb24tZGFyay1iZzogcmdiYSgyNTUsIDI1NSwgMjU1LCAuMikgIWRlZmF1bHQ7XG4kc2lkZS1wYWRkaW5nOiAxNnB4ICFkZWZhdWx0O1xuJHRleHQtb2Zmc2V0OiA3MnB4ICFkZWZhdWx0O1xuJHRleHQtZGlzYWJsZWQtb3BhY2l0eTogdGhlbWUtdmFyaWFibGVzLnRleHQtZW1waGFzaXMoZGlzYWJsZWQpICFkZWZhdWx0O1xuJHRleHQtZGlzYWJsZWQtY29sb3I6IG9uLXN1cmZhY2UgIWRlZmF1bHQ7XG5cbiRzaW5nbGUtbGluZS1oZWlnaHQ6IDQ4cHggIWRlZmF1bHQ7XG4kc2luZ2xlLWxpbmUtbWluaW11bS1oZWlnaHQ6IDI0cHggIWRlZmF1bHQ7XG4kc2luZ2xlLWxpbmUtbWF4aW11bS1oZWlnaHQ6ICRzaW5nbGUtbGluZS1oZWlnaHQgIWRlZmF1bHQ7XG4kc2luZ2xlLWxpbmUtZGVuc2l0eS1zY2FsZTogZGVuc2l0eS12YXJpYWJsZXMuJGRlZmF1bHQtc2NhbGUgIWRlZmF1bHQ7XG4kc2luZ2xlLWxpbmUtZGVuc2l0eS1jb25maWc6IChcbiAgaGVpZ2h0OiAoXG4gICAgZGVmYXVsdDogJHNpbmdsZS1saW5lLWhlaWdodCxcbiAgICBtYXhpbXVtOiAkc2luZ2xlLWxpbmUtbWF4aW11bS1oZWlnaHQsXG4gICAgbWluaW11bTogJHNpbmdsZS1saW5lLW1pbmltdW0taGVpZ2h0LFxuICApLFxuKSAhZGVmYXVsdDtcbiIsIi8vXG4vLyBDb3B5cmlnaHQgMjAxOCBHb29nbGUgSW5jLlxuLy9cbi8vIFBlcm1pc3Npb24gaXMgaGVyZWJ5IGdyYW50ZWQsIGZyZWUgb2YgY2hhcmdlLCB0byBhbnkgcGVyc29uIG9idGFpbmluZyBhIGNvcHlcbi8vIG9mIHRoaXMgc29mdHdhcmUgYW5kIGFzc29jaWF0ZWQgZG9jdW1lbnRhdGlvbiBmaWxlcyAodGhlIFwiU29mdHdhcmVcIiksIHRvIGRlYWxcbi8vIGluIHRoZSBTb2Z0d2FyZSB3aXRob3V0IHJlc3RyaWN0aW9uLCBpbmNsdWRpbmcgd2l0aG91dCBsaW1pdGF0aW9uIHRoZSByaWdodHNcbi8vIHRvIHVzZSwgY29weSwgbW9kaWZ5LCBtZXJnZSwgcHVibGlzaCwgZGlzdHJpYnV0ZSwgc3VibGljZW5zZSwgYW5kL29yIHNlbGxcbi8vIGNvcGllcyBvZiB0aGUgU29mdHdhcmUsIGFuZCB0byBwZXJtaXQgcGVyc29ucyB0byB3aG9tIHRoZSBTb2Z0d2FyZSBpc1xuLy8gZnVybmlzaGVkIHRvIGRvIHNvLCBzdWJqZWN0IHRvIHRoZSBmb2xsb3dpbmcgY29uZGl0aW9uczpcbi8vXG4vLyBUaGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSBhbmQgdGhpcyBwZXJtaXNzaW9uIG5vdGljZSBzaGFsbCBiZSBpbmNsdWRlZCBpblxuLy8gYWxsIGNvcGllcyBvciBzdWJzdGFudGlhbCBwb3J0aW9ucyBvZiB0aGUgU29mdHdhcmUuXG4vL1xuLy8gVEhFIFNPRlRXQVJFIElTIFBST1ZJREVEIFwiQVMgSVNcIiwgV0lUSE9VVCBXQVJSQU5UWSBPRiBBTlkgS0lORCwgRVhQUkVTUyBPUlxuLy8gSU1QTElFRCwgSU5DTFVESU5HIEJVVCBOT1QgTElNSVRFRCBUTyBUSEUgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFksXG4vLyBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBTkQgTk9OSU5GUklOR0VNRU5ULiBJTiBOTyBFVkVOVCBTSEFMTCBUSEVcbi8vIEFVVEhPUlMgT1IgQ09QWVJJR0hUIEhPTERFUlMgQkUgTElBQkxFIEZPUiBBTlkgQ0xBSU0sIERBTUFHRVMgT1IgT1RIRVJcbi8vIExJQUJJTElUWSwgV0hFVEhFUiBJTiBBTiBBQ1RJT04gT0YgQ09OVFJBQ1QsIFRPUlQgT1IgT1RIRVJXSVNFLCBBUklTSU5HIEZST00sXG4vLyBPVVQgT0YgT1IgSU4gQ09OTkVDVElPTiBXSVRIIFRIRSBTT0ZUV0FSRSBPUiBUSEUgVVNFIE9SIE9USEVSIERFQUxJTkdTIElOXG4vLyBUSEUgU09GVFdBUkUuXG4vL1xuXG5AdXNlIFwic2FzczptYXRoXCI7XG5AdXNlIFwiQG1hdGVyaWFsL2VsZXZhdGlvbi9taXhpbnNcIiBhcyBlbGV2YXRpb24tbWl4aW5zO1xuQHVzZSBcIkBtYXRlcmlhbC9mZWF0dXJlLXRhcmdldGluZy9mdW5jdGlvbnNcIjtcbkB1c2UgXCJAbWF0ZXJpYWwvZmVhdHVyZS10YXJnZXRpbmcvbWl4aW5zXCIgYXMgZmVhdHVyZS10YXJnZXRpbmctbWl4aW5zO1xuQHVzZSBcIkBtYXRlcmlhbC9ydGwvbWl4aW5zXCIgYXMgcnRsLW1peGlucztcbkB1c2UgXCJAbWF0ZXJpYWwvbGlzdC9taXhpbnNcIiBhcyBsaXN0LW1peGlucztcbkB1c2UgXCJAbWF0ZXJpYWwvbGlzdC92YXJpYWJsZXNcIiBhcyBsaXN0LXZhcmlhYmxlcztcbkB1c2UgXCJAbWF0ZXJpYWwvcmlwcGxlL21peGluc1wiIGFzIHJpcHBsZS1taXhpbnM7XG5AdXNlIFwiLi92YXJpYWJsZXNcIjtcblxuQG1peGluIGNvcmUtc3R5bGVzKCRxdWVyeTogZnVuY3Rpb25zLmFsbCgpKSB7XG4gICRmZWF0LWNvbG9yOiBmdW5jdGlvbnMuY3JlYXRlLXRhcmdldCgkcXVlcnksIGNvbG9yKTtcbiAgJGZlYXQtc3RydWN0dXJlOiBmdW5jdGlvbnMuY3JlYXRlLXRhcmdldCgkcXVlcnksIHN0cnVjdHVyZSk7XG5cbiAgQGluY2x1ZGUgcmlwcGxlLW1peGlucy5jb21tb24oJHF1ZXJ5KTsgLy8gQ09QWUJBUkFfQ09NTUVOVF9USElTX0xJTkVcbiAgQGluY2x1ZGUgZWxldmF0aW9uLW1peGlucy5vdmVybGF5LWNvbW1vbigkcXVlcnkpOyAvLyBDT1BZQkFSQV9DT01NRU5UX1RISVNfTElORVxuXG4gIC8vIEN1c3RvbWl6ZSB0aGUgbWVudS1zdXJmYWNlIGFuZCBjb250YWluZWQgbGlzdCB0byBtYXRjaCB0aGUgbWRjLW1lbnUgc3R5bGVzLlxuICAubWRjLW1lbnUge1xuICAgIEBpbmNsdWRlIGxpc3QtbWl4aW5zLml0ZW0tbWV0YS1pbmstY29sb3IodmFyaWFibGVzLiRpbmstY29sb3IsICRxdWVyeSk7XG4gICAgQGluY2x1ZGUgbGlzdC1taXhpbnMuaXRlbS1ncmFwaGljLWluay1jb2xvcih2YXJpYWJsZXMuJGluay1jb2xvciwgJHF1ZXJ5KTtcblxuICAgIEBpbmNsdWRlIGZlYXR1cmUtdGFyZ2V0aW5nLW1peGlucy50YXJnZXRzKCRmZWF0LXN0cnVjdHVyZSkge1xuICAgICAgbWluLXdpZHRoOiB2YXJpYWJsZXMuJG1pbi13aWR0aDtcbiAgICB9XG5cbiAgICAvLyBJbmNsdWRlIG1kYy1saXN0IHNlbGVjdG9yIHRvIGVuc3VyZSBsaXN0LWluc2lkZS1tZW51IG92ZXJyaWRlcyBkZWZhdWx0IGxpc3Qgc3R5bGVzXG4gICAgLm1kYy1saXN0IHtcbiAgICAgIEBpbmNsdWRlIGxpc3QtbWl4aW5zLml0ZW0tcHJpbWFyeS10ZXh0LWluay1jb2xvcih2YXJpYWJsZXMuJGluay1jb2xvciwgJHF1ZXJ5KTtcbiAgICAgIEBpbmNsdWRlIGVsZXZhdGlvbi1taXhpbnMub3ZlcmxheS1zdXJmYWNlLXBvc2l0aW9uKCRxdWVyeTogJHF1ZXJ5KTtcbiAgICAgIEBpbmNsdWRlIGVsZXZhdGlvbi1taXhpbnMub3ZlcmxheS1kaW1lbnNpb25zKDEwMCUsICRxdWVyeTogJHF1ZXJ5KTtcbiAgICB9XG5cbiAgICAubWRjLWxpc3QtZGl2aWRlciB7XG4gICAgICBAaW5jbHVkZSBmZWF0dXJlLXRhcmdldGluZy1taXhpbnMudGFyZ2V0cygkZmVhdC1zdHJ1Y3R1cmUpIHtcbiAgICAgICAgbWFyZ2luOiA4cHggMDtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAubWRjLWxpc3QtaXRlbSB7XG4gICAgICBAaW5jbHVkZSBmZWF0dXJlLXRhcmdldGluZy1taXhpbnMudGFyZ2V0cygkZmVhdC1zdHJ1Y3R1cmUpIHtcbiAgICAgICAgdXNlci1zZWxlY3Q6IG5vbmU7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLm1kYy1saXN0LWl0ZW0tLWRpc2FibGVkIHtcbiAgICAgIEBpbmNsdWRlIGZlYXR1cmUtdGFyZ2V0aW5nLW1peGlucy50YXJnZXRzKCRmZWF0LXN0cnVjdHVyZSkge1xuICAgICAgICBjdXJzb3I6IGF1dG87XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy9zdHlsZWxpbnQtZGlzYWJsZSBzZWxlY3Rvci1uby1xdWFsaWZ5aW5nLXR5cGVcbiAgICBhLm1kYy1saXN0LWl0ZW0gLm1kYy1saXN0LWl0ZW1fX3RleHQsXG4gICAgYS5tZGMtbGlzdC1pdGVtIC5tZGMtbGlzdC1pdGVtX19ncmFwaGljIHtcbiAgICAgIEBpbmNsdWRlIGZlYXR1cmUtdGFyZ2V0aW5nLW1peGlucy50YXJnZXRzKCRmZWF0LXN0cnVjdHVyZSkge1xuICAgICAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgICAgIH1cbiAgICB9XG4gICAgLy8gc3R5bGVsaW50LWVuYWJsZSBzZWxlY3Rvci1uby1xdWFsaWZ5aW5nLXR5cGVcbiAgfVxuXG4gIC8vIHBvc3Rjc3MtYmVtLWxpbnRlcjogZGVmaW5lIG1lbnVcbiAgLm1kYy1tZW51X19zZWxlY3Rpb24tZ3JvdXAge1xuICAgIEBpbmNsdWRlIGZlYXR1cmUtdGFyZ2V0aW5nLW1peGlucy50YXJnZXRzKCRmZWF0LXN0cnVjdHVyZSkge1xuICAgICAgcGFkZGluZzogMDtcbiAgICAgIGZpbGw6IGN1cnJlbnRDb2xvcjtcbiAgICB9XG5cbiAgICAubWRjLWxpc3QtaXRlbSB7XG4gICAgICBAaW5jbHVkZSBmZWF0dXJlLXRhcmdldGluZy1taXhpbnMudGFyZ2V0cygkZmVhdC1zdHJ1Y3R1cmUpIHtcbiAgICAgICAgQGluY2x1ZGUgcnRsLW1peGlucy5yZWZsZXhpdmUtcHJvcGVydHkocGFkZGluZywgNTZweCwgbGlzdC12YXJpYWJsZXMuJHNpZGUtcGFkZGluZyk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gRXh0cmEgc3BlY2lmaWNpdHkgcmVxdWlyZWQgdG8gb3ZlcnJpZGUgYGRpc3BsYXlgIHByb3BlcnR5IG9uIGBtZGMtbGlzdC1pdGVtX19ncmFwaGljYC5cbiAgICAubWRjLW1lbnVfX3NlbGVjdGlvbi1ncm91cC1pY29uIHtcbiAgICAgIEBpbmNsdWRlIGZlYXR1cmUtdGFyZ2V0aW5nLW1peGlucy50YXJnZXRzKCRmZWF0LXN0cnVjdHVyZSkge1xuICAgICAgICBAaW5jbHVkZSBydGwtbWl4aW5zLnJlZmxleGl2ZS1wb3NpdGlvbihsZWZ0LCAxNnB4KTtcblxuICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIC8vIElFMTEgcmVxdWlyZXMgdGhlIGljb24gdG8gYmUgdmVydGljYWxseSBjZW50ZXJlZCBkdWUgdG8gaXRzIGFic29sdXRlIHBvc2l0aW9uaW5nXG4gICAgICAgIHRvcDogNTAlO1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7XG4gICAgICB9XG4gICAgfVxuICB9XG4gIC8vIHBvc3Rjc3MtYmVtLWxpbnRlcjogZW5kXG5cbiAgLy8gc3R5bGVsaW50LWRpc2FibGUtbmV4dC1saW5lIHBsdWdpbi9zZWxlY3Rvci1iZW0tcGF0dGVyblxuICAubWRjLW1lbnUtaXRlbS0tc2VsZWN0ZWQgLm1kYy1tZW51X19zZWxlY3Rpb24tZ3JvdXAtaWNvbiB7XG4gICAgQGluY2x1ZGUgZmVhdHVyZS10YXJnZXRpbmctbWl4aW5zLnRhcmdldHMoJGZlYXQtc3RydWN0dXJlKSB7XG4gICAgICBkaXNwbGF5OiBpbmxpbmU7XG4gICAgfVxuICB9XG59XG5cbkBtaXhpbiB3aWR0aCgkd2lkdGgsICRxdWVyeTogZnVuY3Rpb25zLmFsbCgpKSB7XG4gICRmZWF0LXN0cnVjdHVyZTogZnVuY3Rpb25zLmNyZWF0ZS10YXJnZXQoJHF1ZXJ5LCBjb2xvcik7XG5cbiAgQGluY2x1ZGUgZmVhdHVyZS10YXJnZXRpbmctbWl4aW5zLnRhcmdldHMoJGZlYXQtc3RydWN0dXJlKSB7XG4gICAgQGlmIG1hdGguaXMtdW5pdGxlc3MoJHdpZHRoKSB7XG4gICAgICB3aWR0aDogJHdpZHRoICogdmFyaWFibGVzLiR3aWR0aC1iYXNlO1xuICAgIH0gQGVsc2Uge1xuICAgICAgd2lkdGg6ICR3aWR0aDtcbiAgICB9XG4gIH1cbn1cbiIsIi8vXG4vLyBDb3B5cmlnaHQgMjAxOCBHb29nbGUgSW5jLlxuLy9cbi8vIFBlcm1pc3Npb24gaXMgaGVyZWJ5IGdyYW50ZWQsIGZyZWUgb2YgY2hhcmdlLCB0byBhbnkgcGVyc29uIG9idGFpbmluZyBhIGNvcHlcbi8vIG9mIHRoaXMgc29mdHdhcmUgYW5kIGFzc29jaWF0ZWQgZG9jdW1lbnRhdGlvbiBmaWxlcyAodGhlIFwiU29mdHdhcmVcIiksIHRvIGRlYWxcbi8vIGluIHRoZSBTb2Z0d2FyZSB3aXRob3V0IHJlc3RyaWN0aW9uLCBpbmNsdWRpbmcgd2l0aG91dCBsaW1pdGF0aW9uIHRoZSByaWdodHNcbi8vIHRvIHVzZSwgY29weSwgbW9kaWZ5LCBtZXJnZSwgcHVibGlzaCwgZGlzdHJpYnV0ZSwgc3VibGljZW5zZSwgYW5kL29yIHNlbGxcbi8vIGNvcGllcyBvZiB0aGUgU29mdHdhcmUsIGFuZCB0byBwZXJtaXQgcGVyc29ucyB0byB3aG9tIHRoZSBTb2Z0d2FyZSBpc1xuLy8gZnVybmlzaGVkIHRvIGRvIHNvLCBzdWJqZWN0IHRvIHRoZSBmb2xsb3dpbmcgY29uZGl0aW9uczpcbi8vXG4vLyBUaGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSBhbmQgdGhpcyBwZXJtaXNzaW9uIG5vdGljZSBzaGFsbCBiZSBpbmNsdWRlZCBpblxuLy8gYWxsIGNvcGllcyBvciBzdWJzdGFudGlhbCBwb3J0aW9ucyBvZiB0aGUgU29mdHdhcmUuXG4vL1xuLy8gVEhFIFNPRlRXQVJFIElTIFBST1ZJREVEIFwiQVMgSVNcIiwgV0lUSE9VVCBXQVJSQU5UWSBPRiBBTlkgS0lORCwgRVhQUkVTUyBPUlxuLy8gSU1QTElFRCwgSU5DTFVESU5HIEJVVCBOT1QgTElNSVRFRCBUTyBUSEUgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFksXG4vLyBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBTkQgTk9OSU5GUklOR0VNRU5ULiBJTiBOTyBFVkVOVCBTSEFMTCBUSEVcbi8vIEFVVEhPUlMgT1IgQ09QWVJJR0hUIEhPTERFUlMgQkUgTElBQkxFIEZPUiBBTlkgQ0xBSU0sIERBTUFHRVMgT1IgT1RIRVJcbi8vIExJQUJJTElUWSwgV0hFVEhFUiBJTiBBTiBBQ1RJT04gT0YgQ09OVFJBQ1QsIFRPUlQgT1IgT1RIRVJXSVNFLCBBUklTSU5HIEZST00sXG4vLyBPVVQgT0YgT1IgSU4gQ09OTkVDVElPTiBXSVRIIFRIRSBTT0ZUV0FSRSBPUiBUSEUgVVNFIE9SIE9USEVSIERFQUxJTkdTIElOXG4vLyBUSEUgU09GVFdBUkUuXG4vL1xuXG5AdXNlIFwiQG1hdGVyaWFsL3RoZW1lL21peGluc1wiO1xuQHVzZSBcIkBtYXRlcmlhbC90aGVtZS92YXJpYWJsZXNcIjtcblxuJGluay1jb2xvcjogcmdiYSh2YXJpYWJsZXMucHJvcC12YWx1ZShvbi1zdXJmYWNlKSwgdmFyaWFibGVzLnRleHQtZW1waGFzaXMoaGlnaCkpICFkZWZhdWx0O1xuXG4kd2lkdGgtYmFzZTogNTZweCAhZGVmYXVsdDtcbiRtaW4td2lkdGg6IDIgKiAkd2lkdGgtYmFzZSAhZGVmYXVsdDtcbiIsIi8vXG4vLyBDb3B5cmlnaHQgMjAxOCBHb29nbGUgSW5jLlxuLy9cbi8vIFBlcm1pc3Npb24gaXMgaGVyZWJ5IGdyYW50ZWQsIGZyZWUgb2YgY2hhcmdlLCB0byBhbnkgcGVyc29uIG9idGFpbmluZyBhIGNvcHlcbi8vIG9mIHRoaXMgc29mdHdhcmUgYW5kIGFzc29jaWF0ZWQgZG9jdW1lbnRhdGlvbiBmaWxlcyAodGhlIFwiU29mdHdhcmVcIiksIHRvIGRlYWxcbi8vIGluIHRoZSBTb2Z0d2FyZSB3aXRob3V0IHJlc3RyaWN0aW9uLCBpbmNsdWRpbmcgd2l0aG91dCBsaW1pdGF0aW9uIHRoZSByaWdodHNcbi8vIHRvIHVzZSwgY29weSwgbW9kaWZ5LCBtZXJnZSwgcHVibGlzaCwgZGlzdHJpYnV0ZSwgc3VibGljZW5zZSwgYW5kL29yIHNlbGxcbi8vIGNvcGllcyBvZiB0aGUgU29mdHdhcmUsIGFuZCB0byBwZXJtaXQgcGVyc29ucyB0byB3aG9tIHRoZSBTb2Z0d2FyZSBpc1xuLy8gZnVybmlzaGVkIHRvIGRvIHNvLCBzdWJqZWN0IHRvIHRoZSBmb2xsb3dpbmcgY29uZGl0aW9uczpcbi8vXG4vLyBUaGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSBhbmQgdGhpcyBwZXJtaXNzaW9uIG5vdGljZSBzaGFsbCBiZSBpbmNsdWRlZCBpblxuLy8gYWxsIGNvcGllcyBvciBzdWJzdGFudGlhbCBwb3J0aW9ucyBvZiB0aGUgU29mdHdhcmUuXG4vL1xuLy8gVEhFIFNPRlRXQVJFIElTIFBST1ZJREVEIFwiQVMgSVNcIiwgV0lUSE9VVCBXQVJSQU5UWSBPRiBBTlkgS0lORCwgRVhQUkVTUyBPUlxuLy8gSU1QTElFRCwgSU5DTFVESU5HIEJVVCBOT1QgTElNSVRFRCBUTyBUSEUgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFksXG4vLyBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBTkQgTk9OSU5GUklOR0VNRU5ULiBJTiBOTyBFVkVOVCBTSEFMTCBUSEVcbi8vIEFVVEhPUlMgT1IgQ09QWVJJR0hUIEhPTERFUlMgQkUgTElBQkxFIEZPUiBBTlkgQ0xBSU0sIERBTUFHRVMgT1IgT1RIRVJcbi8vIExJQUJJTElUWSwgV0hFVEhFUiBJTiBBTiBBQ1RJT04gT0YgQ09OVFJBQ1QsIFRPUlQgT1IgT1RIRVJXSVNFLCBBUklTSU5HIEZST00sXG4vLyBPVVQgT0YgT1IgSU4gQ09OTkVDVElPTiBXSVRIIFRIRSBTT0ZUV0FSRSBPUiBUSEUgVVNFIE9SIE9USEVSIERFQUxJTkdTIElOXG4vLyBUSEUgU09GVFdBUkUuXG4vL1xuXG5AdXNlIFwiQG1hdGVyaWFsL2ZlYXR1cmUtdGFyZ2V0aW5nL2Z1bmN0aW9uc1wiO1xuQHVzZSBcIkBtYXRlcmlhbC9mZWF0dXJlLXRhcmdldGluZy9taXhpbnNcIiBhcyBmZWF0dXJlLXRhcmdldGluZy1taXhpbnM7XG5AdXNlIFwiQG1hdGVyaWFsL3RoZW1lL21peGluc1wiIGFzIHRoZW1lLW1peGlucztcbkB1c2UgXCJAbWF0ZXJpYWwvc2hhcGUvbWl4aW5zXCIgYXMgc2hhcGUtbWl4aW5zO1xuQHVzZSBcIkBtYXRlcmlhbC9hbmltYXRpb24vdmFyaWFibGVzXCIgYXMgYW5pbWF0aW9uLXZhcmlhYmxlcztcbkB1c2UgXCJAbWF0ZXJpYWwvZWxldmF0aW9uL21peGluc1wiIGFzIGVsZXZhdGlvbi1taXhpbnM7XG5AdXNlIFwiQG1hdGVyaWFsL3J0bC9taXhpbnNcIiBhcyBydGwtbWl4aW5zO1xuQHVzZSBcIi4vdmFyaWFibGVzXCI7XG5cbi8vXG4vLyBQdWJsaWNcbi8vXG5cbkBtaXhpbiBjb3JlLXN0eWxlcygkcXVlcnk6IGZ1bmN0aW9ucy5hbGwoKSkge1xuICAkZmVhdC1zdHJ1Y3R1cmU6IGZ1bmN0aW9ucy5jcmVhdGUtdGFyZ2V0KCRxdWVyeSwgc3RydWN0dXJlKTtcblxuICAvLyBwb3N0Y3NzLWJlbS1saW50ZXI6IGRlZmluZSBtZW51LXN1cmZhY2VcbiAgLm1kYy1tZW51LXN1cmZhY2Uge1xuICAgIEBpbmNsdWRlIGJhc2VfKCRxdWVyeSk7XG4gICAgQGluY2x1ZGUgZWxldmF0aW9uLW1peGlucy5lbGV2YXRpb24oJHotdmFsdWU6IDgsICRxdWVyeTogJHF1ZXJ5KTtcbiAgICBAaW5jbHVkZSBmaWxsLWNvbG9yKHN1cmZhY2UsICRxdWVyeSk7XG4gICAgQGluY2x1ZGUgaW5rLWNvbG9yKG9uLXN1cmZhY2UsICRxdWVyeSk7XG4gICAgQGluY2x1ZGUgc2hhcGUtcmFkaXVzKG1lZGl1bSwgZmFsc2UsICRxdWVyeSk7XG5cbiAgICBAaW5jbHVkZSBmZWF0dXJlLXRhcmdldGluZy1taXhpbnMudGFyZ2V0cygkZmVhdC1zdHJ1Y3R1cmUpIHtcbiAgICAgIEBpbmNsdWRlIHJ0bC1taXhpbnMucmVmbGV4aXZlLXByb3BlcnR5KHRyYW5zZm9ybS1vcmlnaW4sIHRvcCBsZWZ0LCB0b3AgcmlnaHQpO1xuICAgIH1cbiAgfVxuXG4gIC5tZGMtbWVudS1zdXJmYWNlLS1hbmNob3Ige1xuICAgIEBpbmNsdWRlIGZlYXR1cmUtdGFyZ2V0aW5nLW1peGlucy50YXJnZXRzKCRmZWF0LXN0cnVjdHVyZSkge1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgb3ZlcmZsb3c6IHZpc2libGU7XG4gICAgfVxuICB9XG5cbiAgLm1kYy1tZW51LXN1cmZhY2UtLWZpeGVkIHtcbiAgICBAaW5jbHVkZSBmZWF0dXJlLXRhcmdldGluZy1taXhpbnMudGFyZ2V0cygkZmVhdC1zdHJ1Y3R1cmUpIHtcbiAgICAgIHBvc2l0aW9uOiBmaXhlZDtcbiAgICB9XG4gIH1cbiAgLy8gcG9zdGNzcy1iZW0tbGludGVyOiBlbmRcbn1cblxuQG1peGluIGluay1jb2xvcigkY29sb3IsICRxdWVyeTogZnVuY3Rpb25zLmFsbCgpKSB7XG4gICRmZWF0LWNvbG9yOiBmdW5jdGlvbnMuY3JlYXRlLXRhcmdldCgkcXVlcnksIGNvbG9yKTtcblxuICBAaW5jbHVkZSBmZWF0dXJlLXRhcmdldGluZy1taXhpbnMudGFyZ2V0cygkZmVhdC1jb2xvcikge1xuICAgIEBpbmNsdWRlIHRoZW1lLW1peGlucy5wcm9wKGNvbG9yLCAkY29sb3IpO1xuICB9XG59XG5cbkBtaXhpbiBmaWxsLWNvbG9yKCRjb2xvciwgJHF1ZXJ5OiBmdW5jdGlvbnMuYWxsKCkpIHtcbiAgJGZlYXQtY29sb3I6IGZ1bmN0aW9ucy5jcmVhdGUtdGFyZ2V0KCRxdWVyeSwgY29sb3IpO1xuXG4gIEBpbmNsdWRlIGZlYXR1cmUtdGFyZ2V0aW5nLW1peGlucy50YXJnZXRzKCRmZWF0LWNvbG9yKSB7XG4gICAgQGluY2x1ZGUgdGhlbWUtbWl4aW5zLnByb3AoYmFja2dyb3VuZC1jb2xvciwgJGNvbG9yKTtcbiAgfVxufVxuXG5AbWl4aW4gc2hhcGUtcmFkaXVzKCRyYWRpdXMsICRydGwtcmVmbGV4aXZlOiBmYWxzZSwgJHF1ZXJ5OiBmdW5jdGlvbnMuYWxsKCkpIHtcbiAgQGluY2x1ZGUgc2hhcGUtbWl4aW5zLnJhZGl1cygkcmFkaXVzLCAkcnRsLXJlZmxleGl2ZSwgJHF1ZXJ5OiAkcXVlcnkpO1xufVxuXG4vLyBVc2VkIGJ5IGZpbGxlZCB2YXJpYW50cyBvZiBHTSBjb21wb25lbnRzIHRvIGNvbmRpdGlvbmFsbHkgZmxhdHRlbiB0aGUgdG9wXG4vLyBjb3JuZXJzIG9mIHRoZSBtZW51LlxuQG1peGluIGZsYXR0ZW4tdG9wLXdoZW4tb3BlbmVkLWJlbG93IHtcbiAgLm1kYy1tZW51LXN1cmZhY2UtLWlzLW9wZW4tYmVsb3cge1xuICAgIGJvcmRlci10b3AtbGVmdC1yYWRpdXM6IDBweDtcbiAgICBib3JkZXItdG9wLXJpZ2h0LXJhZGl1czogMHB4O1xuICB9XG59XG5cbi8vXG4vLyBQcml2YXRlXG4vL1xuXG5AbWl4aW4gYmFzZV8oJHF1ZXJ5OiBmdW5jdGlvbnMuYWxsKCkpIHtcbiAgJGZlYXQtc3RydWN0dXJlOiBmdW5jdGlvbnMuY3JlYXRlLXRhcmdldCgkcXVlcnksIHN0cnVjdHVyZSk7XG4gICRmZWF0LWFuaW1hdGlvbjogZnVuY3Rpb25zLmNyZWF0ZS10YXJnZXQoJHF1ZXJ5LCBhbmltYXRpb24pO1xuXG4gIEBpbmNsdWRlIGZlYXR1cmUtdGFyZ2V0aW5nLW1peGlucy50YXJnZXRzKCRmZWF0LXN0cnVjdHVyZSkge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgbWF4LXdpZHRoOiBjYWxjKDEwMHZ3IC0gI3t2YXJpYWJsZXMuJG1pbi1kaXN0YW5jZS1mcm9tLWVkZ2V9KTtcbiAgICBtYXgtaGVpZ2h0OiBjYWxjKDEwMHZoIC0gI3t2YXJpYWJsZXMuJG1pbi1kaXN0YW5jZS1mcm9tLWVkZ2V9KTtcbiAgICBtYXJnaW46IDA7XG4gICAgcGFkZGluZzogMDtcbiAgICB0cmFuc2Zvcm06IHNjYWxlKDEpO1xuICAgIHRyYW5zZm9ybS1vcmlnaW46IHRvcCBsZWZ0O1xuICAgIG9wYWNpdHk6IDA7XG4gICAgb3ZlcmZsb3c6IGF1dG87XG4gICAgd2lsbC1jaGFuZ2U6IHRyYW5zZm9ybSwgb3BhY2l0eTtcbiAgICB6LWluZGV4OiB2YXJpYWJsZXMuJHotaW5kZXg7XG4gIH1cblxuICBAaW5jbHVkZSBmZWF0dXJlLXRhcmdldGluZy1taXhpbnMudGFyZ2V0cygkZmVhdC1hbmltYXRpb24pIHtcbiAgICB0cmFuc2l0aW9uOlxuICAgICAgb3BhY2l0eSB2YXJpYWJsZXMuJGZhZGUtaW4tZHVyYXRpb24gbGluZWFyLFxuICAgICAgdHJhbnNmb3JtIHZhcmlhYmxlcy4kc2NhbGUtZHVyYXRpb24gYW5pbWF0aW9uLXZhcmlhYmxlcy4kZGVjZWxlcmF0aW9uLWN1cnZlLXRpbWluZy1mdW5jdGlvbjtcbiAgfVxuXG4gICY6Zm9jdXMge1xuICAgIEBpbmNsdWRlIGZlYXR1cmUtdGFyZ2V0aW5nLW1peGlucy50YXJnZXRzKCRmZWF0LXN0cnVjdHVyZSkge1xuICAgICAgb3V0bGluZTogbm9uZTtcbiAgICB9XG4gIH1cblxuICAvLyBzdHlsZWxpbnQtZGlzYWJsZS1uZXh0LWxpbmUgc2VsZWN0b3ItbWF4LXR5cGVcbiAgJi0tb3BlbiB7XG4gICAgQGluY2x1ZGUgZmVhdHVyZS10YXJnZXRpbmctbWl4aW5zLnRhcmdldHMoJGZlYXQtc3RydWN0dXJlKSB7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICB0cmFuc2Zvcm06IHNjYWxlKDEpO1xuICAgICAgb3BhY2l0eTogMTtcbiAgICB9XG4gIH1cblxuICAmLS1hbmltYXRpbmctb3BlbiB7XG4gICAgQGluY2x1ZGUgZmVhdHVyZS10YXJnZXRpbmctbWl4aW5zLnRhcmdldHMoJGZlYXQtc3RydWN0dXJlKSB7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICB0cmFuc2Zvcm06IHNjYWxlKC44KTtcbiAgICAgIG9wYWNpdHk6IDA7XG4gICAgfVxuICB9XG5cbiAgJi0tYW5pbWF0aW5nLWNsb3NlZCB7XG4gICAgQGluY2x1ZGUgZmVhdHVyZS10YXJnZXRpbmctbWl4aW5zLnRhcmdldHMoJGZlYXQtc3RydWN0dXJlKSB7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICBvcGFjaXR5OiAwO1xuICAgIH1cblxuICAgIEBpbmNsdWRlIGZlYXR1cmUtdGFyZ2V0aW5nLW1peGlucy50YXJnZXRzKCRmZWF0LWFuaW1hdGlvbikge1xuICAgICAgdHJhbnNpdGlvbjogb3BhY2l0eSB2YXJpYWJsZXMuJGZhZGUtb3V0LWR1cmF0aW9uIGxpbmVhcjtcbiAgICB9XG4gIH1cbn1cbiIsIi8vXG4vLyBDb3B5cmlnaHQgMjAxOCBHb29nbGUgSW5jLlxuLy9cbi8vIFBlcm1pc3Npb24gaXMgaGVyZWJ5IGdyYW50ZWQsIGZyZWUgb2YgY2hhcmdlLCB0byBhbnkgcGVyc29uIG9idGFpbmluZyBhIGNvcHlcbi8vIG9mIHRoaXMgc29mdHdhcmUgYW5kIGFzc29jaWF0ZWQgZG9jdW1lbnRhdGlvbiBmaWxlcyAodGhlIFwiU29mdHdhcmVcIiksIHRvIGRlYWxcbi8vIGluIHRoZSBTb2Z0d2FyZSB3aXRob3V0IHJlc3RyaWN0aW9uLCBpbmNsdWRpbmcgd2l0aG91dCBsaW1pdGF0aW9uIHRoZSByaWdodHNcbi8vIHRvIHVzZSwgY29weSwgbW9kaWZ5LCBtZXJnZSwgcHVibGlzaCwgZGlzdHJpYnV0ZSwgc3VibGljZW5zZSwgYW5kL29yIHNlbGxcbi8vIGNvcGllcyBvZiB0aGUgU29mdHdhcmUsIGFuZCB0byBwZXJtaXQgcGVyc29ucyB0byB3aG9tIHRoZSBTb2Z0d2FyZSBpc1xuLy8gZnVybmlzaGVkIHRvIGRvIHNvLCBzdWJqZWN0IHRvIHRoZSBmb2xsb3dpbmcgY29uZGl0aW9uczpcbi8vXG4vLyBUaGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSBhbmQgdGhpcyBwZXJtaXNzaW9uIG5vdGljZSBzaGFsbCBiZSBpbmNsdWRlZCBpblxuLy8gYWxsIGNvcGllcyBvciBzdWJzdGFudGlhbCBwb3J0aW9ucyBvZiB0aGUgU29mdHdhcmUuXG4vL1xuLy8gVEhFIFNPRlRXQVJFIElTIFBST1ZJREVEIFwiQVMgSVNcIiwgV0lUSE9VVCBXQVJSQU5UWSBPRiBBTlkgS0lORCwgRVhQUkVTUyBPUlxuLy8gSU1QTElFRCwgSU5DTFVESU5HIEJVVCBOT1QgTElNSVRFRCBUTyBUSEUgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFksXG4vLyBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBTkQgTk9OSU5GUklOR0VNRU5ULiBJTiBOTyBFVkVOVCBTSEFMTCBUSEVcbi8vIEFVVEhPUlMgT1IgQ09QWVJJR0hUIEhPTERFUlMgQkUgTElBQkxFIEZPUiBBTlkgQ0xBSU0sIERBTUFHRVMgT1IgT1RIRVJcbi8vIExJQUJJTElUWSwgV0hFVEhFUiBJTiBBTiBBQ1RJT04gT0YgQ09OVFJBQ1QsIFRPUlQgT1IgT1RIRVJXSVNFLCBBUklTSU5HIEZST00sXG4vLyBPVVQgT0YgT1IgSU4gQ09OTkVDVElPTiBXSVRIIFRIRSBTT0ZUV0FSRSBPUiBUSEUgVVNFIE9SIE9USEVSIERFQUxJTkdTIElOXG4vLyBUSEUgU09GVFdBUkUuXG4vL1xuXG4kZmFkZS1pbi1kdXJhdGlvbjogLjAzcyAhZGVmYXVsdDtcbiRmYWRlLW91dC1kdXJhdGlvbjogLjA3NXMgIWRlZmF1bHQ7XG4kc2NhbGUtZHVyYXRpb246IC4xMnMgIWRlZmF1bHQ7XG4kbWluLWRpc3RhbmNlLWZyb20tZWRnZTogMzJweCAhZGVmYXVsdDtcbiR6LWluZGV4OiA4ICFkZWZhdWx0OyAvLyBPbmUgYWJvdmUgbWRjLWRpYWxvZ1xuIiwiLm1kYy1saXN0LWl0ZW0tLWRpc2FibGVkIHtcbiAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgICBjb2xvcjogcmdiYSgkcHJvamVjdC1ibGFjaywgMC4zKTtcbn1cblxuLm1kYy1tZW51LXN1cmZhY2Uge1xuICAgIHNjcm9sbGJhci13aWR0aDogdGhpbjtcbiAgICBzY3JvbGxiYXItY29sb3I6ICRwcm9qZWN0LWdyYXktbDUwMCAkcHJvamVjdC13aGl0ZTtcbiAgICB6LWluZGV4OiAyMDtcblxuICAgICY6Oi13ZWJraXQtc2Nyb2xsYmFyIHtcbiAgICAgICAgd2lkdGg6IDhweDtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHByb2plY3Qtd2hpdGU7XG4gICAgfVxuXG4gICAgJjo6LXdlYmtpdC1zY3JvbGxiYXItdGh1bWIge1xuICAgICAgICBvdXRsaW5lOiBub25lO1xuICAgICAgICB3aWR0aDogN3B4O1xuICAgICAgICBib3JkZXItcmFkaXVzOiA3cHg7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRwcm9qZWN0LWdyYXktbDUwMDtcbiAgICAgICAgYm9yZGVyOiAxcHggc29saWQgJHByb2plY3Qtd2hpdGU7XG4gICAgfVxuXG4gICAgJi0tYW5jaG9yIHtcbiAgICAgICAgPiBidXR0b24ge1xuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgICAgICAgICAgdGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi5tZGMtaWNvbi1idXR0b24ge1xuICAgICYubWF0ZXJpYWwtaWNvbnMge1xuICAgICAgICB3aWR0aDogNDhweDtcbiAgICAgICAgZm9udC1mYW1pbHk6IG1hdGVyaWFsSWNvbnNSb3VuZFdlYiwgc2Fucy1zZXJpZjtcbiAgICB9XG59XG5cbi5tZGMtcmFkaW8ge1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG59XG5cbi5tZGMtcmFkaW9fX3JpcHBsZSB7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICBib3JkZXItcmFkaXVzOiAxMDBweDtcbn1cblxuLm1kYy1tZW51IHtcbiAgICAubWRjLWxpc3QtaXRlbSB7XG4gICAgICAgIGhlaWdodDogYXV0bztcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgICAgIHBhZGRpbmctdG9wOiA2cHg7XG4gICAgICAgIHBhZGRpbmctYm90dG9tOiA2cHg7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxLjI7XG5cbiAgICAgICAgQG1lZGlhKG1pbi13aWR0aDogJHNjcmVlbi1tZCkge1xuICAgICAgICAgICAgcGFkZGluZy10b3A6IDEwcHg7XG4gICAgICAgICAgICBwYWRkaW5nLWJvdHRvbTogMTBweDtcbiAgICAgICAgfVxuICAgIH1cbn1cbiIsIi8vIEN1c3RvbSB2YXJpYWJsZXMgaGVyZVxuXG4vLyBjb2xvcnMgYnJhbmRib29rXG4kcHJvamVjdC11bmljZWY6ICMwMEFFRUY7XG4kcHJvamVjdC1wYW50b25lLTM1NjogIzAwODMzRDtcbiRwcm9qZWN0LXBhbnRvbmUtMzc2OiAjODBCRDQxO1xuJHByb2plY3QtcGFudG9uZS03NTQ4OiAjRkZDMjBFO1xuJHByb2plY3QtcGFudG9uZS0xNTA1OiAjRjI2QTIxO1xuJHByb2plY3QtcGFudG9uZS00ODU6ICNFMjIzMUE7XG4kcHJvamVjdC1wYW50b25lLTIyMTogIzk2MUE0OTtcbiRwcm9qZWN0LXBhbnRvbmUtMjYxMzogIzZBMUU3NDtcbiRwcm9qZWN0LXBhbnRvbmUtd2FybS1ncmV5LTE6ICNEOEQxQzk7XG4kcHJvamVjdC1wYW50b25lLWNvb2wtZ3JleS05OiAjNzc3Nzc5O1xuJHByb2plY3QtcGFudG9uZS1ibGFjazogIzJEMjkyNjtcbiRwcm9qZWN0LXBhbnRvbmUtNzY4NTogIzM3NEVBMjtcblxuLy8gcHNkIHdlYnBhZ2UgY29sb3JzXG4kcHJvamVjdC13aGl0ZTogI2ZmZjtcbiRwcm9qZWN0LWJsdWU6ICRwcm9qZWN0LXVuaWNlZjtcbiRwcm9qZWN0LWJsdWUtaG92ZXI6ICMwMDlhZTA7XG4kcHJvamVjdC1ibHVlLWw4MDA6ICNkMmVlZjk7XG4kcHJvamVjdC1ibHVlLWw3MDA6ICM3ZmQyZjE7XG4kcHJvamVjdC1ibHVlLWw5MDA6ICNlMWY0ZmQ7XG4kcHJvamVjdC1ibHVlLWw5NTA6ICNmNWZjZmU7XG4kcHJvamVjdC1ibHVlLWw1MDA6ICMwN2JhZmQ7XG4kcHJvamVjdC1ibHVlLWw2MDA6ICMyMmI5ZjE7XG4kcHJvamVjdC1ibHVlLWw2NTA6ICM5YmRhZjI7XG4kcHJvamVjdC1ibHVlLWQ1MDA6ICMwMGE1ZTM7XG4kcHJvamVjdC1ibHVlLWQ2MDA6ICMwMGEzZTA7XG4kcHJvamVjdC1ibGFjazogIzIwMWQxZDtcbiRwcm9qZWN0LWdyYXktbDMwMDogI2M0YzRjNDtcbiRwcm9qZWN0LWdyYXktbDQwMDogI2QwZDJkMztcbiRwcm9qZWN0LWdyYXktbDUwMDogI2Q2ZDhkYTtcbiRwcm9qZWN0LWdyYXktbDYwMDogI2U2ZTZlNjtcbiRwcm9qZWN0LWdyYXktZDIwMDogIzgwN2U3ZTtcbiRwcm9qZWN0LWdyYXktZDMwMDogIzdhN2E3YTtcbiRwcm9qZWN0LWdyYXktZDQwMDogIzQxNDA0MjtcbiRwcm9qZWN0LWdyYXktZDUwMDogIzNkNDI0NDtcbiRwcm9qZWN0LWdyYXktZDYwMDogIzE4MTgxOTtcbiRwcm9qZWN0LWdyYXktZDcwMDogIzBlMGUwZTtcbiRwcm9qZWN0LW5hdnlibHVlOiAjMjY1M0I5O1xuJHByb2plY3QtbmF2eWJsdWUtaG92ZXI6IGxpZ2h0ZW4oJHByb2plY3QtbmF2eWJsdWUsIDYlKTtcbiRwcm9qZWN0LW5hdnlibHVlLWwyMDA6ICMzMTQyYWQ7XG4kcHJvamVjdC1uYXZ5Ymx1ZS1sMzAwOiAjNDk1YTk0O1xuJHByb2plY3QtbmF2eWJsdWUtbDQwMDogIzU5NWY4ZTtcbiRwcm9qZWN0LW5hdnlibHVlLWw1MDA6ICNhM2FkZWM7XG4kcHJvamVjdC1uYXZ5LWJsdWUtZGFyazogIzI5M2I5NTtcbiRwcm9qZWN0LXJlZDogI0ZGRkYwMDtcbiRwcm9qZWN0LXJlZC1ob3ZlcjogI2Q3ZDcwMDtcbiRwcm9qZWN0LW9sZC1yZWQ6ICNmZjQ1MDA7O1xuJHByb2plY3Qtb2xkLXJlZC1ob3ZlcjogI2Y1MmUwMDtcbiRwcm9qZWN0LW5ldy1yZWQ6ICNmZjAwMDA7O1xuJHByb2plY3QtbmV3LXJlZC1ob3ZlcjogI2YwMDAwMDtcbiRwcm9qZWN0LWdyZWVuOiAjNmVjMDFlO1xuJHByb2plY3QtZ3JlZW4taG92ZXI6ICM1NmI2MTY7XG4kcHJvamVjdC1vcmFuZ2U6ICNGMjZBMjE7XG4kcHJvamVjdC1vcmFuZ2UtaG92ZXI6ICNEMzVCMUY7XG4kcHJvamVjdC15ZWxsb3c6ICNmOWM0MTI7XG4kcHJvamVjdC1vcmFuZ2U6ICRwcm9qZWN0LXBhbnRvbmUtMTUwNTtcblxuLy9cbiRwcm9qZWN0LXByaW1hcnk6ICRwcm9qZWN0LWJsdWU7XG4kcHJvamVjdC1wcmltYXJ5LXdlbGw6ICMwMGEzZTA7IC8vIG1lbnUgcGFuZWwgbW9iaWxlXG4kcHJvamVjdC10ZXh0OiAkcHJvamVjdC1ibGFjaztcbiRwcm9qZWN0LXRyYW5zcGFyZW50OiByZ2JhKDAsIDAsIDAsIDApO1xuJHByb2plY3QtdHJhbnNwYXJlbnQtaG92ZXI6IHJnYmEoMCwgMCwgMCwgMC4xKTtcbiRwcm9qZWN0LWVycm9yOiAkcHJvamVjdC1uZXctcmVkO1xuJHByb2plY3Qtd2FybmluZzogJHByb2plY3Qtb3JhbmdlO1xuJHByb2plY3QtZGlzYWJsZWQ6ICRwcm9qZWN0LWdyYXktbDUwMDtcblxuLy8gZ3JpZFxuJHNpdGUtY29udGFpbmVyOiAxMzY5cHg7XG4kc2l0ZS1jb250YWluZXItbmFycm93OiAxMjg0cHg7XG5cbiRzY3JlZW4teHh4czogMzIwcHg7XG4kc2NyZWVuLXh4czogMzc1cHg7XG4kc2NyZWVuLXhzOiA0ODBweDtcbiRzY3JlZW4tc206IDc2OHB4O1xuJHNjcmVlbi1tZDogOTkycHg7XG4kc2NyZWVuLWxnOiAxMjAwcHg7XG4kc2NyZWVuLXhsOiAxNDAwcHg7XG4kc2NyZWVuLXh4bDogMTY1NnB4O1xuJHNjcmVlbi1oZDogMTg5MHB4O1xuIiwiLmJyZWFkY3J1bWIge1xuICAgIGRpc3BsYXk6IG5vbmU7XG5cbiAgICBAbWVkaWEobWluLXdpZHRoOiAkc2NyZWVuLW1kKSB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICBsaXN0LXN0eWxlOiBub25lO1xuICAgICAgICBtYXJnaW46IDMwcHggYXV0byAxNXB4IGF1dG87XG4gICAgICAgIGZvbnQtc2l6ZTogMDtcbiAgICAgICAgZm9udC13ZWlnaHQ6IDMwMDtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIHBhZGRpbmc6IDAgMTVweDtcbiAgICAgICAgbWF4LXdpZHRoOiAkc2l0ZS1jb250YWluZXItbmFycm93O1xuICAgICAgICBsZXR0ZXItc3BhY2luZzogMC40cHg7XG4gICAgfVxuXG4gICAgQG1lZGlhKG1pbi13aWR0aDogJHNjcmVlbi1sZykge1xuICAgICAgICBtYXJnaW46IDM1cHggYXV0byAyMHB4IGF1dG87XG4gICAgfVxuXG4gICAgQG1lZGlhKG1pbi13aWR0aDogJHNjcmVlbi14bCkge1xuICAgICAgICBtYXJnaW46IDc1cHggYXV0byAyMHB4IGF1dG87XG4gICAgfVxuICAgIFxuICAgIC5oZXJvLTM2NSArICYge1xuICAgICAgICBAbWVkaWEobWluLXdpZHRoOiAkc2NyZWVuLW1kKSB7XG4gICAgICAgICAgICBtYXJnaW46IDE1cHggYXV0byAxNnB4IGF1dG87XG4gICAgICAgIH1cbiAgICAgICAgQG1lZGlhKG1pbi13aWR0aDogJHNjcmVlbi1sZykge1xuICAgICAgICAgICAgbWFyZ2luOiAyNXB4IGF1dG8gMjZweCBhdXRvO1xuICAgICAgICB9XG5cbiAgICAgICAgQG1lZGlhKG1pbi13aWR0aDogJHNjcmVlbi14bCkge1xuICAgICAgICAgICAgbWFyZ2luOiAzNnB4IGF1dG8gMzVweCBhdXRvO1xuICAgICAgICB9XG4gICAgfVxuICAgIFxuICAgIC5oZXJvLXBhZ2UgKyAmIHtcbiAgICAgICAgQG1lZGlhKG1pbi13aWR0aDogJHNjcmVlbi1tZCkge1xuICAgICAgICAgICAgbWFyZ2luOiAxNXB4IGF1dG87XG4gICAgICAgIH1cbiAgICAgICAgQG1lZGlhKG1pbi13aWR0aDogJHNjcmVlbi1sZykge1xuICAgICAgICAgICAgbWFyZ2luOiAyNXB4IGF1dG8gMjBweCBhdXRvO1xuICAgICAgICB9XG4gICAgICAgIFxuICAgICAgICBAbWVkaWEobWluLXdpZHRoOiAkc2NyZWVuLXhsKSB7XG4gICAgICAgICAgICBtYXJnaW46IDM2cHggYXV0byAyMHB4IGF1dG87XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAuaGVyby1zZWN0aW9uICsgJiB7XG4gICAgICAgIEBtZWRpYShtaW4td2lkdGg6ICRzY3JlZW4tbWQpIHtcbiAgICAgICAgICAgIG1hcmdpbjogMzBweCBhdXRvIDE1cHggYXV0bztcbiAgICAgICAgfVxuXG4gICAgICAgIEBtZWRpYShtaW4td2lkdGg6ICRzY3JlZW4tbGcpIHtcbiAgICAgICAgICAgIG1hcmdpbjogMjVweCBhdXRvIDQ1cHggYXV0bztcbiAgICAgICAgfVxuXG4gICAgICAgIEBtZWRpYShtaW4td2lkdGg6ICRzY3JlZW4teGwpIHtcbiAgICAgICAgICAgIG1hcmdpbjogMzZweCBhdXRvIDk1cHggYXV0bztcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5sYW5kaW5ncGFnZS12aWV3ICYge1xuICAgICAgICBAbWVkaWEobWluLXdpZHRoOiAkc2NyZWVuLW1kKSB7XG4gICAgICAgICAgICBtYXJnaW46IDE1cHggYXV0bztcbiAgICAgICAgfVxuICAgICAgICBcbiAgICAgICAgQG1lZGlhKG1pbi13aWR0aDogJHNjcmVlbi1sZykge1xuICAgICAgICAgICAgbWF4LXdpZHRoOiAxMDgwcHg7XG4gICAgICAgICAgICBtYXJnaW46IDI1cHggYXV0byAyM3B4IGF1dG87XG4gICAgICAgIH1cblxuICAgICAgICBAbWVkaWEobWluLXdpZHRoOiAkc2NyZWVuLXhsKSB7XG4gICAgICAgICAgICBtYXJnaW46IDM2cHggYXV0byAzNHB4IGF1dG87XG4gICAgICAgICAgICBtYXgtd2lkdGg6ICRzaXRlLWNvbnRhaW5lci1uYXJyb3c7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmX19saXN0IHtcbiAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgbWFyZ2luOiAwO1xuICAgIH1cblxuICAgICZfX2l0ZW0ge1xuICAgICAgICBmb250LXNpemU6IDE0cHg7XG4gICAgICAgIFxuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgIHZlcnRpY2FsLWFsaWduOiB0b3A7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAgICAgICAmOmFmdGVyIHtcbiAgICAgICAgICAgIGNvbnRlbnQ6IFwiPlwiO1xuICAgICAgICAgICAgbWFyZ2luOiAwIDVweCAwIDRweDtcbiAgICAgICAgfVxuXG4gICAgICAgICY6bGFzdC1vZi10eXBlIHtcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA1MDA7XG4gICAgICAgICAgICBcbiAgICAgICAgICAgIGEge1xuICAgICAgICAgICAgICAgIGNvbG9yOiAkcHJvamVjdC1ibHVlO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgXG4gICAgICAgICAgICAmOmFmdGVyIHtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgJl9fbGluayB7XG4gICAgICAgIGNvbG9yOiAkcHJvamVjdC1ibGFjaztcblxuICAgICAgICAmOmhvdmVyLFxuICAgICAgICAmOmZvY3VzIHtcbiAgICAgICAgICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xuICAgICAgICB9XG4gICAgfVxufSIsIi55ZWFycyB7XG4gICAgJl9fdG9nZ2xlIHtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgICB1c2VyLXNlbGVjdDogbm9uZTtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkcHJvamVjdC1wcmltYXJ5O1xuICAgICAgICBib3JkZXI6IG5vbmU7XG4gICAgICAgIG1hcmdpbjogMCBhdXRvO1xuICAgICAgICBoZWlnaHQ6IDQ4cHg7XG4gICAgICAgIHdpZHRoOiA0OHB4O1xuICAgICAgICBib3JkZXItcmFkaXVzOiA0cHg7XG4gICAgICAgIGNvbG9yOiAkcHJvamVjdC13aGl0ZTtcbiAgICAgICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyO1xuICAgICAgICBiYWNrZ3JvdW5kLXNpemU6IDI3cHggMzBweDtcbiAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogaWNvbnMtcHJvamVjdF9fY2FsZW5kYXIoJHByb2plY3Qtd2hpdGUpO1xuICAgICAgICB6LWluZGV4OiA4O1xuXG4gICAgICAgIEBpbmNsdWRlIG1kYy1yaXBwbGUtc3VyZmFjZTtcbiAgICAgICAgQGluY2x1ZGUgbWRjLXJpcHBsZS1yYWRpdXMtYm91bmRlZDtcbiAgICAgICAgQGluY2x1ZGUgbWRjLXN0YXRlcy1iYXNlLWNvbG9yKCRwcm9qZWN0LWJsYWNrKTtcbiAgICAgICAgQGluY2x1ZGUgbWRjLXN0YXRlcy1ob3Zlci1vcGFjaXR5KC4wKTtcbiAgICAgICAgQGluY2x1ZGUgbWRjLXN0YXRlcy1mb2N1cy1vcGFjaXR5KC4wKTtcbiAgICAgICAgQGluY2x1ZGUgbWRjLXN0YXRlcy1wcmVzcy1vcGFjaXR5KC4xMik7XG5cbiAgICAgICAgQG1lZGlhKG1pbi13aWR0aDogJHNjcmVlbi1tZCkge1xuICAgICAgICAgICAgaGVpZ2h0OiA1MnB4O1xuICAgICAgICAgICAgd2lkdGg6IDUycHg7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLXNpemU6IDMxcHggMzRweDtcblxuICAgICAgICB9XG5cbiAgICAgICAgJjpmb2N1cyB7XG4gICAgICAgICAgICBvdXRsaW5lOiBub25lO1xuICAgICAgICB9XG5cbiAgICAgICAgJjphY3RpdmUge1xuICAgICAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgfVxuXG4gICAgICAgIEBpbmNsdWRlIGJ1dHRvbi10YWItbmF2aWdhdGlvbjtcblxuICAgIH1cblxuICAgICZfX21lbnUge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgICAgcGFkZGluZzogNHB4IDhweCA0cHggOHB4O1xuICAgIH1cblxuICAgICZfX3JvdyB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIHBhZGRpbmc6IDRweCAwO1xuXG4gICAgICAgIEBtZWRpYShtaW4td2lkdGg6ICRzY3JlZW4tbWQpIHtcbiAgICAgICAgICAgIHBhZGRpbmc6IDEwcHggMDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgICZfX2l0ZW0ge1xuICAgICAgICBjb2xvcjogJHByb2plY3Qtd2hpdGUgIWltcG9ydGFudDtcbiAgICAgICAgaGVpZ2h0OiAzOHB4O1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDtcbiAgICAgICAgcGFkZGluZzogMCA4cHg7XG4gICAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogNDhweDtcbiAgICAgICAgbWFyZ2luOiAwIDVweDtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVaKDApO1xuXG4gICAgICAgIEBtZWRpYShtaW4td2lkdGg6ICRzY3JlZW4tbWQpIHtcbiAgICAgICAgICAgIHBhZGRpbmc6IDE2cHg7XG4gICAgICAgIH1cblxuICAgICAgICAmLS1hY3RpdmUge1xuICAgICAgICAgICAgY29sb3I6ICRwcm9qZWN0LXdoaXRlICFpbXBvcnRhbnQ7XG4gICAgICAgICAgICBoZWlnaHQ6IDM4cHg7XG4gICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDtcbiAgICAgICAgICAgIHBhZGRpbmc6IDAgOHB4O1xuICAgICAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAgICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDQ4cHg7XG4gICAgICAgICAgICBtYXJnaW46IDAgNXB4O1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHByb2plY3QtbmF2eWJsdWU7XG5cbiAgICAgICAgICAgIEBtZWRpYShtaW4td2lkdGg6ICRzY3JlZW4tbWQpIHtcbiAgICAgICAgICAgICAgICBwYWRkaW5nOiAxNnB4O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgJl9faXRlbS1sYWJlbCB7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgei1pbmRleDogMTtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVaKDApO1xuICAgIH1cblxuICAgIC5tZGMtbWVudSB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRwcm9qZWN0LWJsdWU7XG4gICAgICAgIGNvbG9yOiAkcHJvamVjdC13aGl0ZTtcbiAgICAgICAgZm9udC1zaXplOiAxNnB4O1xuICAgICAgICB0cmFuc2Zvcm0tb3JpZ2luOiByaWdodCB0b3AgMCAhaW1wb3J0YW50O1xuICAgICAgICB0b3A6IC0xICFpbXBvcnRhbnQ7XG4gICAgICAgIGJvdHRvbTogYXV0byAhaW1wb3J0YW50O1xuICAgICAgICByaWdodDogLTUzcHggIWltcG9ydGFudDtcbiAgICAgICAgbGVmdDogYXV0byAhaW1wb3J0YW50O1xuICAgIH1cblxuICAgIC5tZGMtbWVudS1zdXJmYWNlIHtcbiAgICAgICAgYm94LXNoYWRvdzogbm9uZTtcbiAgICB9XG5cbiAgICAmX19zZWxlY3RlZCB7XG4gICAgICAgIGNvbG9yOiAkcHJvamVjdC13aGl0ZTtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHByb2plY3QtbmF2eWJsdWU7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgdG9wOiAtMTVweDtcbiAgICAgICAgbGVmdDogMDtcbiAgICAgICAgd2lkdGg6IDQ4cHg7XG4gICAgICAgIGhlaWdodDogMjJweDtcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICBib3JkZXItcmFkaXVzOiAyMnB4O1xuICAgICAgICBsaW5lLWhlaWdodDogMjJweDtcbiAgICAgICAgbGV0dGVyLXNwYWNpbmc6IDA7XG4gICAgICAgIHVzZXItc2VsZWN0OiBub25lO1xuICAgICAgICBmb250LXNpemU6IDE0cHg7XG4gICAgICAgIHotaW5kZXg6IDk7XG5cbiAgICAgICAgQG1lZGlhKG1pbi13aWR0aDogJHNjcmVlbi1tZCkge1xuICAgICAgICAgICAgd2lkdGg6IDUycHg7XG4gICAgICAgICAgICBib3JkZXItcmFkaXVzOiAyNHB4O1xuICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDI0cHg7XG4gICAgICAgICAgICBoZWlnaHQ6IDI0cHg7XG4gICAgICAgICAgICB0b3A6IC0xOHB4O1xuICAgICAgICAgICAgZm9udC1zaXplOiAxNnB4O1xuICAgICAgICB9XG4gICAgfVxufSIsIkBtaXhpbiBidXR0b24ge1xuICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICAgIGZvbnQtc2l6ZTogMTZweDtcbiAgICBwYWRkaW5nOiA1cHggMjVweDtcbiAgICBoZWlnaHQ6IGF1dG87XG4gICAgbWluLWhlaWdodDogNDJweDtcbiAgICBtaW4td2lkdGg6IDE1MHB4O1xuICAgIFxuICAgIEBtZWRpYShtaW4td2lkdGg6ICRzY3JlZW4tc20pIHtcbiAgICAgICAgbWluLXdpZHRoOiAxODBweDtcbiAgICB9XG4gICAgXG4gICAgQG1lZGlhKG1pbi13aWR0aDogJHNjcmVlbi1tZCkge1xuICAgICAgICBwYWRkaW5nOiA1cHggNDRweDtcbiAgICAgICAgZm9udC1zaXplOiAxOHB4O1xuICAgICAgICBtaW4taGVpZ2h0OiA1NnB4O1xuICAgIH1cbiAgICBcbiAgICBAbWVkaWEobWluLXdpZHRoOiAkc2NyZWVuLXh4bCkge1xuICAgICAgICBmb250LXNpemU6IDI0cHg7XG4gICAgfVxuICAgIFxuICAgIC5pZSAmIHtcbiAgICAgICAgaGVpZ2h0OiA0MnB4O1xuICAgIFxuICAgICAgICBAbWVkaWEobWluLXdpZHRoOiAkc2NyZWVuLW1kKSB7XG4gICAgICAgICAgICBoZWlnaHQ6IDU2cHg7XG4gICAgICAgIH1cbiAgICB9XG59XG5cbkBtaXhpbiBidXR0b24tbGcge1xuICAgIG1pbi1oZWlnaHQ6IDQycHg7XG4gICAgXG4gICAgQG1lZGlhKG1pbi13aWR0aDogJHNjcmVlbi1tZCkge1xuICAgICAgICBtaW4taGVpZ2h0OiA1NnB4O1xuICAgICAgICBmb250LXNpemU6IDE4cHg7XG4gICAgfVxuICAgIFxuICAgIEBtZWRpYShtaW4td2lkdGg6ICRzY3JlZW4teHhsKSB7XG4gICAgICAgIG1pbi1oZWlnaHQ6IDc2cHg7XG4gICAgICAgIGZvbnQtc2l6ZTogMjRweDtcbiAgICB9XG4gICAgXG4gICAgLmllICYge1xuICAgICAgICBoZWlnaHQ6IDQycHg7XG4gICAgXG4gICAgICAgIEBtZWRpYShtaW4td2lkdGg6ICRzY3JlZW4tbWQpIHtcbiAgICAgICAgICAgIGhlaWdodDogNzZweDtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuQG1peGluIGJ1dHRvbi1odWdlIHtcbiAgICBtaW4taGVpZ2h0OiA2NnB4O1xuICAgIGZvbnQtc2l6ZTogMThweDtcbiAgICBsaW5lLWhlaWdodDogMS4yO1xuICAgIGxldHRlci1zcGFjaW5nOiAwLjRweDtcblxuICAgIEBtZWRpYShtaW4td2lkdGg6ICRzY3JlZW4teHhzKSB7XG4gICAgICAgIGZvbnQtc2l6ZTogMThweDtcbiAgICB9XG5cbiAgICBAbWVkaWEobWluLXdpZHRoOiAkc2NyZWVuLXh4bCkge1xuICAgICAgICBtaW4taGVpZ2h0OiA3NnB4O1xuICAgICAgICBmb250LXNpemU6IDI0cHg7XG4gICAgfVxuICAgIFxuICAgIC5pZSAmIHtcbiAgICAgICAgaGVpZ2h0OiA2NnB4O1xuICAgIFxuICAgICAgICBAbWVkaWEobWluLXdpZHRoOiAkc2NyZWVuLXh4bCkge1xuICAgICAgICAgICAgaGVpZ2h0OiA3NnB4O1xuICAgICAgICB9XG4gICAgfVxufVxuXG5AbWl4aW4gYnV0dG9uLXNtIHtcbiAgICBtaW4taGVpZ2h0OiA0MHB4O1xuICAgIGZvbnQtc2l6ZTogMTlweDtcbiAgICBwYWRkaW5nLXRvcDogNHB4O1xuICAgIHBhZGRpbmctYm90dG9tOiA0cHg7XG5cbiAgICBAbWVkaWEobWluLXdpZHRoOiAkc2NyZWVuLW1kKSB7XG4gICAgICAgIGZvbnQtc2l6ZTogMTlweDtcbiAgICAgICAgbWluLWhlaWdodDogMzlweDtcbiAgICAgICAgcGFkZGluZy10b3A6IDRweDtcbiAgICAgICAgcGFkZGluZy1ib3R0b206IDRweDtcbiAgICB9XG4gICAgXG4gICAgLmllICYge1xuICAgICAgICBoZWlnaHQ6IDQwcHg7XG4gICAgXG4gICAgICAgIEBtZWRpYShtaW4td2lkdGg6ICRzY3JlZW4tbWQpIHtcbiAgICAgICAgICAgIGhlaWdodDogMzlweDtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuQG1peGluIGJ1dHRvbi14cyB7XG4gICAgbWluLWhlaWdodDogMzhweDtcbiAgICBmb250LXNpemU6IDE2cHg7XG4gICAgcGFkZGluZy10b3A6IDNweDtcbiAgICBwYWRkaW5nLWJvdHRvbTogM3B4O1xuXG4gICAgQG1lZGlhKG1pbi13aWR0aDogJHNjcmVlbi1tZCkge1xuICAgICAgICBmb250LXNpemU6IDE5cHg7XG4gICAgfVxuICAgIFxuICAgIC5pZSAmIHtcbiAgICAgICAgaGVpZ2h0OiAzOHB4O1xuICAgIH1cbn1cblxuQG1peGluIGJ1dHRvbi1oZXJvIHtcbiAgICBsZXR0ZXItc3BhY2luZzogMXB4O1xuICAgIGZvbnQtc2l6ZTogMTZweDtcblxuICAgIEBtZWRpYShtaW4td2lkdGg6ICRzY3JlZW4tc20pIHtcbiAgICAgICAgZm9udC1zaXplOiAxOHB4O1xuICAgICAgICBtaW4td2lkdGg6IDE4MHB4O1xuICAgIH1cblxuICAgIEBtZWRpYShtaW4td2lkdGg6ICRzY3JlZW4tbGcpIHtcbiAgICAgICAgZm9udC1zaXplOiAxLjI0NnZ3OyAvLyAyNHB4O1xuICAgICAgICBoZWlnaHQ6IDQuNTE1dnc7IC8vIDg3cHhcbiAgICAgICAgbWluLXdpZHRoOiAxMy4zODh2dzsgLy8gMjU4cHhcbiAgICB9XG4gICAgXG4gICAgLmllICYge1xuICAgICAgICBAbWVkaWEobWluLXdpZHRoOiAkc2NyZWVuLWxnKSB7XG4gICAgICAgICAgICBoZWlnaHQ6IDg3cHg7XG4gICAgICAgIH1cbiAgICB9XG59XG5cbkBtaXhpbiBidXR0b24tc2hhZG93LTQwIHtcbiAgICBAbWVkaWEobWluLXdpZHRoOiAkc2NyZWVuLXNtKSB7XG4gICAgICAgIGJveC1zaGFkb3c6IDAgOHB4IDIwcHggcmdiYSgwLDAsMCwuMyk7XG4gICAgfVxuXG4gICAgQG1lZGlhKG1pbi13aWR0aDogJHNjcmVlbi1sZykge1xuICAgICAgICBib3gtc2hhZG93OiAwIDAuNzc5dncgMi4wNzZ2dyByZ2JhKDAsMCwwLC4zKTsgLy8gMCAxNXB4IDQwcHhcbiAgICB9XG59XG5cbkBtaXhpbiBidXR0b24tcmVkIHtcbiAgICBAaW5jbHVkZSBtZGMtYnV0dG9uLWNvbnRhaW5lci1maWxsLWNvbG9yKCRwcm9qZWN0LXJlZCk7XG5cbiAgICAmOm5vdCg6ZGlzYWJsZWQpIHtcbiAgICAgICAgY29sb3I6ICRwcm9qZWN0LWJsYWNrO1xuICAgIH1cblxuICAgICY6ZGlzYWJsZWQge1xuICAgICAgICBjb2xvcjogcmdiYSgkcHJvamVjdC1ibGFjaywwLjMpO1xuICAgIH1cblxuICAgICY6aG92ZXIge1xuICAgICAgICBAaW5jbHVkZSBtZGMtYnV0dG9uLWNvbnRhaW5lci1maWxsLWNvbG9yKCRwcm9qZWN0LXJlZC1ob3Zlcik7XG4gICAgfVxufVxuXG5AbWl4aW4gYnV0dG9uLW9sZC1yZWQge1xuICAgIEBpbmNsdWRlIG1kYy1idXR0b24tY29udGFpbmVyLWZpbGwtY29sb3IoJHByb2plY3Qtb2xkLXJlZCk7XG5cbiAgICAmOm5vdCg6ZGlzYWJsZWQpIHtcbiAgICAgICAgY29sb3I6ICRwcm9qZWN0LXdoaXRlO1xuICAgIH1cblxuICAgICY6ZGlzYWJsZWQge1xuICAgICAgICBjb2xvcjogcmdiYSgkcHJvamVjdC13aGl0ZSwwLjMpO1xuICAgIH1cblxuICAgICY6aG92ZXIge1xuICAgICAgICBAaW5jbHVkZSBtZGMtYnV0dG9uLWNvbnRhaW5lci1maWxsLWNvbG9yKCRwcm9qZWN0LW9sZC1yZWQtaG92ZXIpO1xuICAgIH1cbn1cblxuQG1peGluIGJ1dHRvbi1uZXctcmVkIHtcblx0QGluY2x1ZGUgbWRjLWJ1dHRvbi1jb250YWluZXItZmlsbC1jb2xvcigkcHJvamVjdC1uZXctcmVkKTtcblxuXHQmOm5vdCg6ZGlzYWJsZWQpIHtcblx0XHRjb2xvcjogJHByb2plY3Qtd2hpdGU7XG5cdH1cblxuXHQmOmRpc2FibGVkIHtcblx0XHRjb2xvcjogcmdiYSgkcHJvamVjdC13aGl0ZSwwLjMpO1xuXHR9XG5cblx0Jjpob3ZlciB7XG5cdFx0QGluY2x1ZGUgbWRjLWJ1dHRvbi1jb250YWluZXItZmlsbC1jb2xvcigkcHJvamVjdC1uZXctcmVkLWhvdmVyKTtcblx0fVxufVxuXG5AbWl4aW4gYnV0dG9uLXRyYW5zcGFyZW50IHtcbiAgICBAaW5jbHVkZSBtZGMtYnV0dG9uLWNvbnRhaW5lci1maWxsLWNvbG9yKCRwcm9qZWN0LXRyYW5zcGFyZW50KTtcblxuICAgICY6bm90KDpkaXNhYmxlZCkge1xuICAgICAgICBjb2xvcjogJHByb2plY3Qtd2hpdGU7XG4gICAgICAgIEBtZWRpYShtYXgtd2lkdGg6ICRzY3JlZW4tc20pIHtcbiAgICAgICAgICAgIGNvbG9yOiAkcHJvamVjdC1ibHVlO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgJjpkaXNhYmxlZCB7XG4gICAgICAgIGNvbG9yOiByZ2JhKCRwcm9qZWN0LXdoaXRlLDAuMyk7XG4gICAgICAgIEBtZWRpYShtYXgtd2lkdGg6ICRzY3JlZW4tc20pIHtcbiAgICAgICAgICAgIGNvbG9yOiByZ2JhKCRwcm9qZWN0LWJsdWUsMC4zKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgICY6aG92ZXIge1xuICAgICAgICBAaW5jbHVkZSBtZGMtYnV0dG9uLWNvbnRhaW5lci1maWxsLWNvbG9yKCRwcm9qZWN0LXRyYW5zcGFyZW50LWhvdmVyKTtcbiAgICAgICAgQG1lZGlhKG1heC13aWR0aDogJHNjcmVlbi1zbSkge1xuICAgICAgICAgICAgQGluY2x1ZGUgbWRjLWJ1dHRvbi1jb250YWluZXItZmlsbC1jb2xvcigkcHJvamVjdC1ibHVlLWhvdmVyKTtcbiAgICAgICAgICAgIGNvbG9yOiAkcHJvamVjdC13aGl0ZTtcbiAgICAgICAgfVxuICAgIH1cblxufVxuXG5AbWl4aW4gYnV0dG9uLWJsdWUge1xuICAgIEBpbmNsdWRlIG1kYy1idXR0b24tY29udGFpbmVyLWZpbGwtY29sb3IoJHByb2plY3QtYmx1ZSk7XG5cbiAgICAmOm5vdCg6ZGlzYWJsZWQpIHtcbiAgICAgICAgY29sb3I6ICRwcm9qZWN0LXdoaXRlO1xuICAgIH1cblxuICAgICY6ZGlzYWJsZWQge1xuICAgICAgICBjb2xvcjogcmdiYSgkcHJvamVjdC13aGl0ZSwwLjMpO1xuICAgIH1cblxuICAgICY6aG92ZXIge1xuICAgICAgICBAaW5jbHVkZSBtZGMtYnV0dG9uLWNvbnRhaW5lci1maWxsLWNvbG9yKCRwcm9qZWN0LWJsdWUtaG92ZXIpO1xuICAgIH1cbn1cblxuQG1peGluIGJ1dHRvbi1uYXZ5Ymx1ZSB7XG4gICAgQGluY2x1ZGUgbWRjLWJ1dHRvbi1jb250YWluZXItZmlsbC1jb2xvcigkcHJvamVjdC1uYXZ5Ymx1ZSk7XG4gICAgQGluY2x1ZGUgbWRjLXN0YXRlcy1iYXNlLWNvbG9yKCRwcm9qZWN0LXdoaXRlKTtcbiAgICBAaW5jbHVkZSBtZGMtc3RhdGVzLWhvdmVyLW9wYWNpdHkoLjApO1xuICAgIEBpbmNsdWRlIG1kYy1zdGF0ZXMtZm9jdXMtb3BhY2l0eSguMCk7XG4gICAgQGluY2x1ZGUgbWRjLXN0YXRlcy1wcmVzcy1vcGFjaXR5KC4xMik7XG5cbiAgICAmOm5vdCg6ZGlzYWJsZWQpIHtcbiAgICAgICAgY29sb3I6ICRwcm9qZWN0LXdoaXRlO1xuICAgIH1cblxuICAgICY6ZGlzYWJsZWQge1xuICAgICAgICBjb2xvcjogcmdiYSgkcHJvamVjdC13aGl0ZSwwLjMpO1xuICAgIH1cblxuICAgICY6aG92ZXIge1xuICAgICAgICBAaW5jbHVkZSBtZGMtYnV0dG9uLWNvbnRhaW5lci1maWxsLWNvbG9yKCRwcm9qZWN0LW5hdnlibHVlLWhvdmVyKTtcbiAgICB9XG59XG5cbkBtaXhpbiBidXR0b24tZ3JlZW4ge1xuICAgIEBpbmNsdWRlIG1kYy1idXR0b24tY29udGFpbmVyLWZpbGwtY29sb3IoJHByb2plY3QtZ3JlZW4pO1xuXG4gICAgJjpub3QoOmRpc2FibGVkKSB7XG4gICAgICAgIGNvbG9yOiAkcHJvamVjdC13aGl0ZTtcbiAgICB9XG5cbiAgICAmOmRpc2FibGVkIHtcbiAgICAgICAgY29sb3I6IHJnYmEoJHByb2plY3Qtd2hpdGUsMC4zKTtcbiAgICB9XG5cbiAgICAmOmhvdmVyIHtcbiAgICAgICAgQGluY2x1ZGUgbWRjLWJ1dHRvbi1jb250YWluZXItZmlsbC1jb2xvcigkcHJvamVjdC1ncmVlbi1ob3Zlcik7XG4gICAgfVxufVxuXG5AbWl4aW4gYnV0dG9uLW9yYW5nZSB7XG4gICAgQGluY2x1ZGUgbWRjLWJ1dHRvbi1jb250YWluZXItZmlsbC1jb2xvcigkcHJvamVjdC1vcmFuZ2UpO1xuXG4gICAgJjpub3QoOmRpc2FibGVkKSB7XG4gICAgICAgIGNvbG9yOiAkcHJvamVjdC13aGl0ZTtcbiAgICB9XG5cbiAgICAmOmRpc2FibGVkIHtcbiAgICAgICAgY29sb3I6IHJnYmEoJHByb2plY3Qtd2hpdGUsMC4zKTtcbiAgICB9XG5cbiAgICAmOmhvdmVyIHtcbiAgICAgICAgQGluY2x1ZGUgbWRjLWJ1dHRvbi1jb250YWluZXItZmlsbC1jb2xvcigkcHJvamVjdC1vcmFuZ2UtaG92ZXIpO1xuICAgIH1cbn1cblxuQG1peGluIGJ1dHRvbi1vcmFuZ2Utb3V0bGluZWQge1xuICAgIGJvcmRlci13aWR0aDogMnB4O1xuICAgIGJvcmRlci1zdHlsZTogc29saWQ7XG5cbiAgICBAaW5jbHVkZSBtZGMtYnV0dG9uLWNvbnRhaW5lci1maWxsLWNvbG9yKCRwcm9qZWN0LXdoaXRlKTtcbiAgICBAaW5jbHVkZSBtZGMtYnV0dG9uLW91dGxpbmUtY29sb3IoJHByb2plY3Qtb3JhbmdlKTtcbiAgICBAaW5jbHVkZSBtZGMtc3RhdGVzLWJhc2UtY29sb3IoJHByb2plY3Qtb3JhbmdlKTtcbiAgICBAaW5jbHVkZSBtZGMtc3RhdGVzLW9wYWNpdGllcygoaG92ZXI6IC4wLCBmb2N1czogLjAsIHByZXNzOiAuMDgpKTtcblxuICAgICY6bm90KDpkaXNhYmxlZCkge1xuICAgICAgICBjb2xvcjogJHByb2plY3Qtb3JhbmdlO1xuICAgIH1cblxuICAgICY6ZGlzYWJsZWQge1xuICAgICAgICBjb2xvcjogcmdiYSgkcHJvamVjdC1vcmFuZ2UsMC4zKTtcbiAgICB9XG5cbiAgICAmOmhvdmVyIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHByb2plY3QtYmx1ZS1sOTUwO1xuICAgIH1cbn1cblxuQG1peGluIGJ1dHRvbi1vdXRsaW5lZCB7XG4gICAgQGluY2x1ZGUgbWRjLWJ1dHRvbi1jb250YWluZXItZmlsbC1jb2xvcigkcHJvamVjdC13aGl0ZSk7XG4gICAgQGluY2x1ZGUgbWRjLWJ1dHRvbi1vdXRsaW5lLWNvbG9yKCRwcm9qZWN0LWJsdWUpO1xuICAgIEBpbmNsdWRlIG1kYy1zdGF0ZXMtYmFzZS1jb2xvcigkcHJvamVjdC1ibHVlKTtcbiAgICBAaW5jbHVkZSBtZGMtc3RhdGVzLW9wYWNpdGllcygoaG92ZXI6IC4wLCBmb2N1czogLjAsIHByZXNzOiAuMDgpKTtcblxuICAgIHRleHQtdHJhbnNmb3JtOiBub25lO1xuXG4gICAgJjpub3QoOmRpc2FibGVkKSB7XG4gICAgICAgIGNvbG9yOiAkcHJvamVjdC1uYXZ5Ymx1ZTtcbiAgICB9XG5cbiAgICAmOmRpc2FibGVkIHtcbiAgICAgICAgY29sb3I6IHJnYmEoJHByb2plY3QtbmF2eWJsdWUsMC4zKTtcbiAgICB9XG5cbiAgICAmOmhvdmVyIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHByb2plY3QtYmx1ZS1sOTUwO1xuICAgIH1cbn1cblxuXG5AbWl4aW4gYnV0dG9uLXdoaXRlLW91dGxpbmVkIHtcbiAgICBAaW5jbHVkZSBtZGMtYnV0dG9uLW91dGxpbmUtY29sb3IoJHByb2plY3Qtd2hpdGUpO1xuICAgIEBpbmNsdWRlIG1kYy1zdGF0ZXMtYmFzZS1jb2xvcigkcHJvamVjdC1ibGFjayk7XG4gICAgQGluY2x1ZGUgbWRjLXN0YXRlcy1vcGFjaXRpZXMoKGhvdmVyOiAuMCwgZm9jdXM6IC4wLCBwcmVzczogLjA4KSk7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgkcHJvamVjdC13aGl0ZSwgMCk7XG4gICAgdGV4dC10cmFuc2Zvcm06IG5vbmU7XG5cbiAgICAmOm5vdCg6ZGlzYWJsZWQpIHtcbiAgICAgICAgY29sb3I6ICRwcm9qZWN0LXdoaXRlO1xuICAgIH1cblxuICAgICY6ZGlzYWJsZWQge1xuICAgICAgICBjb2xvcjogcmdiYSgkcHJvamVjdC13aGl0ZSwwLjMpO1xuICAgIH1cblxuICAgICY6aG92ZXIge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKCRwcm9qZWN0LXdoaXRlLCAwLjA2KTtcbiAgICB9XG5cbn1cblxuQG1peGluIGJ1dHRvbi1ibHVlLW91dGxpbmVkIHtcbiAgICBAaW5jbHVkZSBtZGMtYnV0dG9uLW91dGxpbmUtY29sb3IoJHByb2plY3QtYmx1ZSk7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgkcHJvamVjdC13aGl0ZSwgMCk7XG4gICAgdGV4dC10cmFuc2Zvcm06IG5vbmU7XG4gICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAuMnM7XG5cbiAgICAmOm5vdCg6ZGlzYWJsZWQpIHtcbiAgICAgICAgY29sb3I6ICRwcm9qZWN0LWJsdWU7XG4gICAgfVxuXG4gICAgJjpkaXNhYmxlZCB7XG4gICAgICAgIGNvbG9yOiByZ2JhKCRwcm9qZWN0LWJsdWUsMC4zKTtcbiAgICB9XG5cbiAgICAmOmhvdmVyIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgkcHJvamVjdC1ibHVlLCAwLjA2KTtcbiAgICB9XG5cbn1cblxuQG1peGluIGJ1dHRvbi1ibHVlLXdoaXRlIHtcbiAgICBAaW5jbHVkZSBtZGMtYnV0dG9uLWNvbnRhaW5lci1maWxsLWNvbG9yKHJnYmEoJHByb2plY3Qtd2hpdGUsIDApKTtcbiAgICBAaW5jbHVkZSBtZGMtYnV0dG9uLW91dGxpbmUtY29sb3IoJHByb2plY3Qtd2hpdGUpO1xuICAgIEBpbmNsdWRlIG1kYy1zdGF0ZXMtYmFzZS1jb2xvcigkcHJvamVjdC1ibHVlKTtcbiAgICBAaW5jbHVkZSBtZGMtc3RhdGVzLWhvdmVyLW9wYWNpdHkoLjApO1xuICAgIEBpbmNsdWRlIG1kYy1zdGF0ZXMtZm9jdXMtb3BhY2l0eSguMCk7XG4gICAgQGluY2x1ZGUgbWRjLXN0YXRlcy1wcmVzcy1vcGFjaXR5KC4wNyk7XG4gICAgdGV4dC10cmFuc2Zvcm06IG5vbmU7XG4gICAgbGV0dGVyLXNwYWNpbmc6IDAuNHB4O1xuICAgIGJvcmRlcjogMXB4IHNvbGlkO1xuXG4gICAgJjpub3QoOmRpc2FibGVkKSB7XG4gICAgICAgIGNvbG9yOiAkcHJvamVjdC1ibHVlO1xuICAgIH1cblxuICAgICY6ZGlzYWJsZWQge1xuICAgICAgICBjb2xvcjogcmdiYSgkcHJvamVjdC1ibHVlLDAuMyk7XG4gICAgfVxuXG4gICAgJjpob3ZlciB7XG4gICAgICAgIEBpbmNsdWRlIG1kYy1idXR0b24tY29udGFpbmVyLWZpbGwtY29sb3IocmdiYSgkcHJvamVjdC1ibHVlLCAwLjA2KSk7XG4gICAgfVxufVxuXG5AbWl4aW4gYnV0dG9uLW91dGxpbmVkLWJsdWUtYmxhY2sge1xuICAgIEBpbmNsdWRlIG1kYy1idXR0b24tY29udGFpbmVyLWZpbGwtY29sb3IoJHByb2plY3Qtd2hpdGUpO1xuICAgIEBpbmNsdWRlIG1kYy1idXR0b24tb3V0bGluZS1jb2xvcigkcHJvamVjdC1ibHVlKTtcbiAgICBAaW5jbHVkZSBtZGMtc3RhdGVzLWJhc2UtY29sb3IoJHByb2plY3QtYmx1ZSk7XG4gICAgQGluY2x1ZGUgbWRjLXN0YXRlcy1vcGFjaXRpZXMoKGhvdmVyOiAuMCwgZm9jdXM6IC4wLCBwcmVzczogLjA4KSk7XG4gICAgdGV4dC10cmFuc2Zvcm06IG5vbmU7XG5cbiAgICAmOm5vdCg6ZGlzYWJsZWQpIHtcbiAgICAgICAgY29sb3I6ICRwcm9qZWN0LWJsYWNrO1xuICAgIH1cblxuICAgICY6ZGlzYWJsZWQge1xuICAgICAgICBjb2xvcjogcmdiYSgkcHJvamVjdC1ibGFjaywwLjMpO1xuICAgIH1cblxuICAgICY6aG92ZXIge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKCRwcm9qZWN0LWJsdWUsMC4wNik7XG4gICAgfVxufVxuXG5AbWl4aW4gYnV0dG9uLXRhYi1uYXZpZ2F0aW9uIHtcbiAgICAmOmZvY3VzIHtcbiAgICAgICAgLnRhYi1uYXZpZ2F0aW9uICYge1xuICAgICAgICAgICAgb3V0bGluZTogbm9uZTtcbiAgICAgICAgICAgIEBpbmNsdWRlIG1kYy1zdGF0ZXMtZm9jdXMtb3BhY2l0eSguMik7XG4gICAgICAgIH1cbiAgICB9XG59IiwiLnBhcnRuZXIge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG5cbiAgICAmOmZvY3VzLXdpdGhpbiB7XG4gICAgICAgIC5wYXJ0bmVyX19jb250ZW50IHtcbiAgICAgICAgICAgIEBtZWRpYShtaW4td2lkdGg6ICRzY3JlZW4tbGcpIHtcbiAgICAgICAgICAgICAgICBvcGFjaXR5OiAxO1xuICAgICAgICAgICAgICAgIHVzZXItc2VsZWN0OiBhdXRvO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgJl9fY2FudmFzIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHByb2plY3Qtd2hpdGU7XG4gICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgICAgIHVzZXItc2VsZWN0OiBub25lO1xuICAgIH1cblxuICAgICZfX2NvbnRlbnQge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkcHJvamVjdC1uYXZ5Ymx1ZTtcbiAgICAgICAgY29sb3I6ICRwcm9qZWN0LXdoaXRlO1xuICAgICAgICBvcGFjaXR5OiAxO1xuICAgICAgICB1c2VyLXNlbGVjdDogbm9uZTtcbiAgICAgICAgdHJhbnNpdGlvbjogb3BhY2l0eSAuMTJzO1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHRvcDogMDtcbiAgICAgICAgbGVmdDogMDtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuXG4gICAgICAgIEBtZWRpYShtaW4td2lkdGg6ICRzY3JlZW4tbGcpIHtcbiAgICAgICAgICAgIG9wYWNpdHk6IDA7XG4gICAgICAgIH1cblxuICAgICAgICAucGFydG5lcjpob3ZlciAmIHtcbiAgICAgICAgICAgIEBtZWRpYShtaW4td2lkdGg6ICRzY3JlZW4tbGcpIHtcbiAgICAgICAgICAgICAgICBvcGFjaXR5OiAxO1xuICAgICAgICAgICAgICAgIHVzZXItc2VsZWN0OiBhdXRvO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgJl9fbG9nbyxcbiAgICAmX19pbWFnZSB7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgbWFyZ2luOiBhdXRvO1xuICAgICAgICB0b3A6IC0xMDAlO1xuICAgICAgICBib3R0b206IC0xMDAlO1xuICAgICAgICBsZWZ0OiAtMTAwJTtcbiAgICAgICAgcmlnaHQ6IC0xMDAlO1xuICAgICAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgICAgIG1heC1oZWlnaHQ6IDEwMCU7XG4gICAgfVxuXG4gICAgJl9faGVhZCB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICBtYXJnaW46IDAgYXV0bztcbiAgICAgICAgd2lkdGg6IDUwJTtcbiAgICAgICAgaGVpZ2h0OiA3NXB4O1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkcHJvamVjdC13aGl0ZTtcbiAgICAgICAgYm9yZGVyOiAxcHggc29saWQgJHByb2plY3Qtd2hpdGU7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB9XG5cbiAgICAmX19kZXNjcmlwdGlvbiAuZXpyaWNodGV4dC1maWVsZCB7XG4gICAgICAgIGZvbnQtc2l6ZTogMTRweDtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDE4cHg7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiAzMDA7XG4gICAgICAgIHBhZGRpbmc6IDAgMzBweDtcbiAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICBtYXgtaGVpZ2h0OiAxMDhweDtcbiAgICAgICAgbWF4LXdpZHRoOiAxMDAlOyAvLyBpZVxuICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgICAgICBkaXNwbGF5OiAtd2Via2l0LWJveDtcbiAgICAgICAgLXdlYmtpdC1saW5lLWNsYW1wOiA2O1xuICAgICAgICAtd2Via2l0LWJveC1vcmllbnQ6IHZlcnRpY2FsO1xuICAgICAgICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcblxuICAgICAgICBAbWVkaWEobWluLXdpZHRoOiAkc2NyZWVuLXhzKSB7XG4gICAgICAgICAgICBwYWRkaW5nOiAwIDhweDtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMTJweDtcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAxNHB4O1xuICAgICAgICAgICAgLXdlYmtpdC1saW5lLWNsYW1wOiA1O1xuICAgICAgICAgICAgbWF4LWhlaWdodDogODBweDtcbiAgICAgICAgfVxuXG5cbiAgICAgICAgQG1lZGlhKG1pbi13aWR0aDogJHNjcmVlbi1zbSkge1xuICAgICAgICAgICAgcGFkZGluZzogMCAzMHB4O1xuICAgICAgICAgICAgZm9udC1zaXplOiAxNXB4O1xuICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDIwcHg7XG4gICAgICAgICAgICBtYXgtaGVpZ2h0OiAxMjBweDtcbiAgICAgICAgICAgIC13ZWJraXQtbGluZS1jbGFtcDogNjtcbiAgICAgICAgfVxuICAgICAgICAvL1xuICAgICAgICAvL0BtZWRpYShtaW4td2lkdGg6ICRzY3JlZW4tbWQpIHtcbiAgICAgICAgLy8gICAgZm9udC1zaXplOiAxNnB4O1xuICAgICAgICAvL31cbiAgICAgICAgLy9cbiAgICAgICAgLy9AbWVkaWEobWluLXdpZHRoOiAkc2NyZWVuLWxnKSB7XG4gICAgICAgIC8vICAgIGZvbnQtc2l6ZTogMTVweDtcbiAgICAgICAgLy99XG4gICAgICAgIC8vXG4gICAgICAgIC8vQG1lZGlhKG1pbi13aWR0aDogJHNjcmVlbi14bCkge1xuICAgICAgICAvLyAgICBmb250LXNpemU6IDE4cHg7XG4gICAgICAgIC8vfVxuICAgICAgICAvL1xuICAgICAgICAvL0BtZWRpYShtaW4td2lkdGg6ICRzY3JlZW4teHhsKSB7XG4gICAgICAgIC8vICAgIGZvbnQtc2l6ZTogMTlweDtcbiAgICAgICAgLy99XG5cbiAgICB9XG5cbiAgICAmX19tb3JlIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMjVweDtcbiAgICAgICAgdGV4dC10cmFuc2Zvcm06IG5vbmU7XG4gICAgICAgIG1pbi13aWR0aDogMTEycHg7XG4gICAgICAgIGZvbnQtc2l6ZTogMTRweDtcbiAgICAgICAgZm9udC13ZWlnaHQ6IDMwMDtcblxuICAgICAgICBAbWVkaWEobWluLXdpZHRoOiAkc2NyZWVuLXNtKSB7XG4gICAgICAgICAgICBmb250LXNpemU6IDE1cHg7XG4gICAgICAgIH1cblxuICAgICAgICAmOm5vdCg6ZGlzYWJsZWQpIHtcbiAgICAgICAgICAgIGJvcmRlci1jb2xvcjogJHByb2plY3QtbmF2eWJsdWUtbDUwMDtcbiAgICAgICAgICAgIGNvbG9yOiAkcHJvamVjdC13aGl0ZTtcbiAgICAgICAgfVxuICAgIH1cbn0iLCIucGFnaW5hdGlvbiB7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIG1hcmdpbi10b3A6IDMwcHg7XG4gICAgdXNlci1zZWxlY3Q6IG5vbmU7XG4gICAgbWFyZ2luLWxlZnQ6IC0yM3B4O1xuICAgIG1hcmdpbi1yaWdodDogLTIzcHg7XG4gICAgXG4gICAgQG1lZGlhKG1pbi13aWR0aDogJHNjcmVlbi1tZCkge1xuICAgICAgICBtYXJnaW4tbGVmdDogMDtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAwO1xuICAgIH1cbiAgICBcbiAgICAmX19saXN0IHtcbiAgICAgICAgbGlzdC1zdHlsZTogbm9uZTtcbiAgICAgICAgZm9udC1zaXplOiAwO1xuICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgIHBhZGRpbmc6IDA7XG4gICAgfVxuICAgIFxuICAgICZfX2l0ZW0ge1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gICAgICAgIGZvbnQtc2l6ZTogMTNweDtcbiAgICAgICAgXG4gICAgICAgIEBtZWRpYShtaW4td2lkdGg6ICRzY3JlZW4tbWQpIHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMTlweDtcbiAgICAgICAgfVxuICAgIH1cbiAgICBcbiAgICAmX19hY3Rpb24ge1xuICAgICAgICBjb2xvcjogJHByb2plY3QtYmxhY2s7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICB3aWR0aDogNDhweDtcbiAgICAgICAgaGVpZ2h0OiA0OHB4O1xuICAgICAgICBsaW5lLWhlaWdodDogNDhweDtcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICBib3JkZXItcmFkaXVzOiA0OHB4O1xuICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIEBpbmNsdWRlIG1kYy1yaXBwbGUtc3VyZmFjZTtcbiAgICAgICAgQGluY2x1ZGUgbWRjLXJpcHBsZS1yYWRpdXMtYm91bmRlZDtcbiAgICAgICAgQGluY2x1ZGUgbWRjLXN0YXRlcy1iYXNlLWNvbG9yKCRwcm9qZWN0LWJsYWNrKTtcbiAgICAgICAgQGluY2x1ZGUgbWRjLXN0YXRlcy1ob3Zlci1vcGFjaXR5KC4wKTtcbiAgICAgICAgQGluY2x1ZGUgbWRjLXN0YXRlcy1mb2N1cy1vcGFjaXR5KC4wKTtcbiAgICAgICAgQGluY2x1ZGUgbWRjLXN0YXRlcy1wcmVzcy1vcGFjaXR5KC4wNCk7XG4gICAgICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMC4ycztcbiAgICAgICAgXG4gICAgICAgICY6aG92ZXIsXG4gICAgICAgICY6Zm9jdXMge1xuICAgICAgICAgICAgY29sb3I6ICRwcm9qZWN0LWJsYWNrO1xuICAgICAgICB9XG4gICAgICAgIFxuICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoJHByb2plY3QtYmxhY2ssIDAuMDMpO1xuICAgICAgICB9XG4gICAgICAgIFxuICAgICAgICAmLmFjdGl2ZSB7XG4gICAgICAgICAgICBjb2xvcjogJHByb2plY3QtcHJpbWFyeTtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMTVweDtcbiAgICAgICAgICAgIFxuICAgICAgICAgICAgQG1lZGlhKG1pbi13aWR0aDogJHNjcmVlbi1tZCkge1xuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMjRweFxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIFxuICAgICAgICAmOmZvY3VzIHtcbiAgICAgICAgICAgIC50YWItbmF2aWdhdGlvbiAmIHtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKCRwcm9qZWN0LWJsYWNrLCAwLjAzKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbiAgICBcbiAgICAmX19kb3RzIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIHdpZHRoOiA0OHB4O1xuICAgICAgICBoZWlnaHQ6IDQ4cHg7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiA0OHB4O1xuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgIHVzZXItc2VsZWN0OiBub25lO1xuICAgIH1cbiAgICBcbiAgICAmX19wcmV2LFxuICAgICZfX25leHQge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgd2lkdGg6IDQ4cHg7XG4gICAgICAgIGhlaWdodDogNDhweDtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDQ4cHg7XG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogNDhweDtcbiAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICBAaW5jbHVkZSBtZGMtcmlwcGxlLXN1cmZhY2U7XG4gICAgICAgIEBpbmNsdWRlIG1kYy1yaXBwbGUtcmFkaXVzLXVuYm91bmRlZDtcbiAgICAgICAgQGluY2x1ZGUgbWRjLXN0YXRlcy1iYXNlLWNvbG9yKCRwcm9qZWN0LWJsYWNrKTtcbiAgICAgICAgQGluY2x1ZGUgbWRjLXN0YXRlcy1ob3Zlci1vcGFjaXR5KC4wKTtcbiAgICAgICAgQGluY2x1ZGUgbWRjLXN0YXRlcy1mb2N1cy1vcGFjaXR5KC4wKTtcbiAgICAgICAgQGluY2x1ZGUgbWRjLXN0YXRlcy1wcmVzcy1vcGFjaXR5KC4wNCk7XG4gICAgICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMC4ycztcbiAgICAgICAgXG4gICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgkcHJvamVjdC1ibGFjaywgMC4wMyk7XG4gICAgICAgIH1cbiAgICBcbiAgICAgICAgJjpmb2N1cyB7XG4gICAgICAgICAgICAudGFiLW5hdmlnYXRpb24gJiB7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgkcHJvamVjdC1ibGFjaywgMC4wMyk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG4gICAgXG4gICAgJl9fcHJldiB7XG4gICAgICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlcjtcbiAgICAgICAgYmFja2dyb3VuZC1zaXplOiAyMHB4IDIwcHg7XG4gICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IGljb25zLXByb2plY3RfX2Fycm93LWxlZnQoJHByb2plY3QtcHJpbWFyeSk7XG4gICAgICAgIFxuICAgICAgICBAbWVkaWEobWluLXdpZHRoOiAkc2NyZWVuLW1kKSB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLXNpemU6IDI2cHggMjZweDtcbiAgICAgICAgICAgIG1hcmdpbi1yaWdodDogMTBweDtcbiAgICAgICAgfVxuICAgIH1cbiAgICBcbiAgICAmX19uZXh0IHtcbiAgICAgICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyO1xuICAgICAgICBiYWNrZ3JvdW5kLXNpemU6IDIwcHggMjBweDtcbiAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogaWNvbnMtcHJvamVjdF9fYXJyb3ctcmlnaHQoJHByb2plY3QtcHJpbWFyeSk7XG4gICAgICAgIFxuICAgICAgICBAbWVkaWEobWluLXdpZHRoOiAkc2NyZWVuLW1kKSB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLXNpemU6IDI2cHggMjZweDtcbiAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiAxMHB4O1xuICAgICAgICB9XG4gICAgfVxufSIsIi50b2FzdHMge1xuICAgIHBvc2l0aW9uOiBmaXhlZDtcbiAgICB0b3A6IDA7XG4gICAgbGVmdDogMDtcbiAgICBtYXJnaW46IGF1dG87XG4gICAgLy8gei1pbmRleDogMTgxMjsgY2hhbmdlZCB0byBiZSBvdmVyIG1vZGFsXG4gICAgei1pbmRleDogMTkxMjtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgICB1c2VyLXNlbGVjdDogbm9uZTtcblxuICAgIEBtZWRpYShtaW4td2lkdGg6ICRzY3JlZW4tbWQpIHtcbiAgICAgICAgLy8gei1pbmRleDogMTI7XG4gICAgICAgIHotaW5kZXg6IDE5MTI7XG4gICAgICAgIHdpZHRoOiAwO1xuICAgICAgICBsZWZ0OiBhdXRvO1xuICAgICAgICByaWdodDogMDtcbiAgICAgICAgdG9wOiAwO1xuICAgICAgICBoZWlnaHQ6IDEwMHZoO1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBmbGV4LWVuZDtcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICB9XG59XG5cbi50b2FzdCB7XG4gICAgY29sb3I6ICRwcm9qZWN0LXdoaXRlO1xuICAgIGZvbnQtd2VpZ2h0OiAzMDA7XG4gICAgYm94LXNoYWRvdzogbm9uZTtcbiAgICBib3JkZXI6IG5vbmU7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgbWFyZ2luOiAwO1xuICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICAgIHVzZXItc2VsZWN0OiBub25lO1xuICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgIGJvcmRlci1yYWRpdXM6IDA7XG4gICAgbWF4LXdpZHRoOiBub25lO1xuICAgIGxpbmUtaGVpZ2h0OiAxLjQ7XG4gICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIHJnYmEoJHByb2plY3Qtd2hpdGUsIDAuNSk7XG4gICAgZmxleC1iYXNpczogYXV0bztcblxuICAgIEBtZWRpYShtaW4td2lkdGg6ICRzY3JlZW4tbWQpIHtcbiAgICAgICAgd2lkdGg6IDI0MHB4O1xuICAgICAgICBtYXJnaW46IDIwcHggMjBweCAxMHB4IDA7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRwcm9qZWN0LWdyZWVuO1xuICAgICAgICBib3JkZXItcmFkaXVzOiA1cHg7XG4gICAgICAgIGJveC1zaGFkb3c6IC0zcHggM3B4IDZweCByZ2JhKDAsIDAsIDAsIDAuMTIpO1xuICAgICAgICBib3JkZXItYm90dG9tOiBub25lO1xuICAgIH1cbiAgICBcbiAgICAmLnRvYXN0LS13YXJuaW5nIHtcbiAgICAgICAgQG1lZGlhKG1pbi13aWR0aDogJHNjcmVlbi1tZCkge1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHByb2plY3Qtd2FybmluZztcbiAgICAgICAgfVxuICAgIH1cbiAgICBcbiAgICAmLnRvYXN0LS1hbGVydCB7XG4gICAgICAgIEBtZWRpYShtaW4td2lkdGg6ICRzY3JlZW4tbWQpIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRwcm9qZWN0LWVycm9yO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgYSB7XG4gICAgICAgIGNvbG9yOiAkcHJvamVjdC13aGl0ZTtcbiAgICB9XG5cbiAgICAmLWhlYWRlciB7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkcHJvamVjdC1ibHVlO1xuICAgICAgICBjb2xvcjogJHByb2plY3Qtd2hpdGU7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiAzMDA7XG4gICAgICAgIGZvbnQtc2l6ZTogMTYuNXB4O1xuICAgICAgICBib3JkZXI6IG5vbmU7XG4gICAgICAgIHBvaW50ZXItZXZlbnRzOiBhdXRvO1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgaGVpZ2h0OiA1OHB4O1xuICAgICAgICBsaW5lLWhlaWdodDogNThweDtcbiAgICAgICAgcGFkZGluZzogMCA1NXB4IDAgNTBweDtcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAtM3B4O1xuICAgIFxuICAgICAgICBAbWVkaWEobWluLXdpZHRoOiAkc2NyZWVuLW1kKSB7XG4gICAgICAgICAgICBwYWRkaW5nOiAxNXB4IDI1cHggMCAxNXB4O1xuICAgICAgICAgICAgZm9udC1zaXplOiAxOXB4O1xuICAgICAgICAgICAgaGVpZ2h0OiBhdXRvO1xuICAgICAgICAgICAgbGluZS1oZWlnaHQ6IGluaGVyaXQ7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICAgICAgfVxuICAgIFxuICAgICAgICAudG9hc3QtLXdhcm5pbmcgJiB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkcHJvamVjdC13YXJuaW5nO1xuICAgIFxuICAgICAgICAgICAgQG1lZGlhKG1pbi13aWR0aDogJHNjcmVlbi1tZCkge1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgXG4gICAgICAgIC50b2FzdC0tYWxlcnQgJiB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkcHJvamVjdC1lcnJvcjtcbiAgICBcbiAgICAgICAgICAgIEBtZWRpYShtaW4td2lkdGg6ICRzY3JlZW4tbWQpIHtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICAgICAgICAgICAgd2lkdGg6IDE4cHg7XG4gICAgICAgICAgICBoZWlnaHQ6IDE4cHg7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiBpY29ucy1wcm9qZWN0X19jaGVjay1jaXJjbGUtaW52ZXJ0KCRwcm9qZWN0LWJsdWUpO1xuICAgICAgICAgICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICAgICAgICAgIGJhY2tncm91bmQtc2l6ZTogMTAwJTtcbiAgICAgICAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlcjtcbiAgICAgICAgICAgIG1hcmdpbi1yaWdodDogNXB4O1xuICAgICAgICAgICAgXG4gICAgICAgICAgICBAbWVkaWEobWluLXdpZHRoOiAkc2NyZWVuLW1kKSB7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogaWNvbnMtcHJvamVjdF9fY2hlY2stY2lyY2xlLWludmVydCgkcHJvamVjdC1ncmVlbik7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBcbiAgICAgICAgICAgIC50b2FzdC0td2FybmluZyAmIHtcbiAgICAgICAgICAgICAgICB3aWR0aDogMjBweDtcbiAgICAgICAgICAgICAgICBoZWlnaHQ6IDIwcHg7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogaWNvbnMtbWF0ZXJpYWxfX3dhcm5pbmcoJHByb2plY3Qtd2hpdGUpO1xuICAgIFxuICAgICAgICAgICAgICAgIEBtZWRpYShtaW4td2lkdGg6ICRzY3JlZW4tbWQpIHtcbiAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogaWNvbnMtbWF0ZXJpYWxfX3dhcm5pbmcoJHByb2plY3Qtd2hpdGUpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICBcbiAgICAgICAgICAgIC50b2FzdC0tYWxlcnQgJiB7XG4gICAgICAgICAgICAgICAgd2lkdGg6IDIwcHg7XG4gICAgICAgICAgICAgICAgaGVpZ2h0OiAyMHB4O1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IGljb25zLW1hdGVyaWFsX19lcnJvcigkcHJvamVjdC13aGl0ZSk7XG4gICAgXG4gICAgICAgICAgICAgICAgQG1lZGlhKG1pbi13aWR0aDogJHNjcmVlbi1tZCkge1xuICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiBpY29ucy1tYXRlcmlhbF9fZXJyb3IoJHByb2plY3Qtd2hpdGUpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgICYtYm9keSB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRwcm9qZWN0LWJsdWU7XG4gICAgICAgIHBvaW50ZXItZXZlbnRzOiBhdXRvO1xuICAgICAgICBmb250LXNpemU6IDE2LjVweDtcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICBwYWRkaW5nOiA1cHggMjNweCAyM3B4IDIzcHg7XG4gICAgXG4gICAgICAgIC50b2FzdC0td2FybmluZyAmIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRwcm9qZWN0LXdhcm5pbmc7XG4gICAgICAgIH1cbiAgICBcbiAgICAgICAgLnRvYXN0LS1hbGVydCAmIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRwcm9qZWN0LWVycm9yO1xuICAgICAgICB9XG5cbiAgICAgICAgQG1lZGlhKG1pbi13aWR0aDogJHNjcmVlbi1tZCkge1xuICAgICAgICAgICAgcGFkZGluZzogMTVweDtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMTlweDtcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgICAgICB9XG4gICAgXG4gICAgICAgIC50b2FzdC0td2FybmluZyAmIHtcbiAgICAgICAgICAgIEBtZWRpYShtaW4td2lkdGg6ICRzY3JlZW4tbWQpIHtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIFxuICAgICAgICAudG9hc3QtLWFsZXJ0ICYge1xuICAgICAgICAgICAgQG1lZGlhKG1pbi13aWR0aDogJHNjcmVlbi1tZCkge1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgLmNsb3NlIHtcbiAgICAgICAgY29sb3I6ICRwcm9qZWN0LXdoaXRlO1xuICAgICAgICBvcGFjaXR5OiAxO1xuICAgIH1cbn1cbiIsIi5wYXJ0bmVycy1saXN0IHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgICBAbWVkaWEobWF4LXdpZHRoOiAkc2NyZWVuLW1kIC0gMC4xKSB7XG4gICAgICAgIHBhZGRpbmc6IDAgMjNweDtcbiAgICB9XG5cbiAgICAmX190aXRsZSB7XG4gICAgICAgIGZvbnQtc2l6ZTogMjhweDtcbiAgICAgICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICAgICAgY29sb3I6ICRwcm9qZWN0LXByaW1hcnk7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDI1cHg7XG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgbWFyZ2luLXRvcDogMjVweDtcbiAgICAgICAgbGV0dGVyLXNwYWNpbmc6IDAuMnB4O1xuXG4gICAgICAgIEBtZWRpYShtaW4td2lkdGg6ICRzY3JlZW4tbWQpIHtcbiAgICAgICAgICAgIGxldHRlci1zcGFjaW5nOiAwLjVweDtcbiAgICAgICAgICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgICAgICAgICBmb250LXNpemU6IDQ4cHg7XG4gICAgICAgICAgICBtYXgtd2lkdGg6IDEyNTRweDtcbiAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xuICAgICAgICAgICAgbWFyZ2luLXRvcDogNXB4O1xuICAgICAgICB9XG5cbiAgICAgICAgQG1lZGlhKG1pbi13aWR0aDogJHNjcmVlbi1sZykge1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMjhweDtcbiAgICAgICAgfVxuXG4gICAgICAgIEBtZWRpYShtaW4td2lkdGg6ICRzY3JlZW4teHhsKSB7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiA1OHB4O1xuICAgICAgICB9XG5cbiAgICB9XG5cbiAgICAmX19kZXNjcmlwdGlvbiB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDI1cHg7XG5cbiAgICAgICAgQG1lZGlhKG1pbi13aWR0aDogJHNjcmVlbi1tZCkge1xuICAgICAgICAgICAgbWF4LXdpZHRoOiAxMjU0cHg7XG4gICAgICAgICAgICBtYXJnaW4tbGVmdDogYXV0bztcbiAgICAgICAgICAgIG1hcmdpbi1yaWdodDogYXV0bztcbiAgICAgICAgfVxuXG4gICAgICAgIEBtZWRpYShtaW4td2lkdGg6ICRzY3JlZW4tbGcpIHtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDI4cHg7XG4gICAgICAgIH1cblxuICAgICAgICBAbWVkaWEobWluLXdpZHRoOiAkc2NyZWVuLXh4bCkge1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogNThweDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgICZfX3JvdyB7XG4gICAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCByZ2JhKCRwcm9qZWN0LXByaW1hcnksIDAuMyk7XG4gICAgICAgIG1hcmdpbjogYXV0bztcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgZmxleC13cmFwOiB3cmFwO1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcblxuICAgICAgICBAbWVkaWEobWluLXdpZHRoOiAkc2NyZWVuLW1kKSB7XG4gICAgICAgICAgICBib3JkZXItYm90dG9tOiBub25lO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgJl9faXRlbSB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDIzcHg7XG4gICAgICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICAgICAgb3V0bGluZTogMXB4IHNvbGlkICRwcm9qZWN0LW5hdnlibHVlO1xuXG4gICAgICAgIEBtZWRpYShtaW4td2lkdGg6ICRzY3JlZW4teHMpIHtcbiAgICAgICAgICAgIHdpZHRoOiBjYWxjKDUwJSAtIDEycHgpO1xuICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiAyM3B4O1xuICAgICAgICB9XG5cbiAgICAgICAgQG1lZGlhKG1pbi13aWR0aDogJHNjcmVlbi1tZCkge1xuICAgICAgICAgICAgd2lkdGg6IGNhbGMoMzMuMzMzJSAtIDIzcHgpO1xuICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiAzMHB4O1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMzBweDtcbiAgICAgICAgfVxuXG4gICAgICAgIEBtZWRpYShtaW4td2lkdGg6ICRzY3JlZW4tbGcpIHtcbiAgICAgICAgICAgIHdpZHRoOiBjYWxjKDI1JSAtIDMwcHgpO1xuICAgICAgICB9XG5cbiAgICAgICAgQG1lZGlhKG1pbi13aWR0aDogJHNjcmVlbi14bCkge1xuICAgICAgICAgICAgd2lkdGg6IGNhbGMoMjUlIC0gMzBweCk7XG4gICAgICAgIH1cblxuICAgICAgICAmOm50aC1vZi10eXBlKDJuKSB7XG4gICAgICAgICAgICBAbWVkaWEobWluLXdpZHRoOiAkc2NyZWVuLXhzKSBhbmQgKG1heC13aWR0aDogJHNjcmVlbi1tZCAtIDAuMSkge1xuICAgICAgICAgICAgICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgICY6bnRoLW9mLXR5cGUoM24pIHtcbiAgICAgICAgICAgIEBtZWRpYShtaW4td2lkdGg6ICRzY3JlZW4tbWQpIGFuZCAobWF4LXdpZHRoOiAkc2NyZWVuLWxnIC0gMC4xKSB7XG4gICAgICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiAwO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgJjpudGgtb2YtdHlwZSg0bikge1xuICAgICAgICAgICAgQG1lZGlhKG1pbi13aWR0aDogJHNjcmVlbi1sZykge1xuICAgICAgICAgICAgICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5icmVhZGNydW1iIHtcbiAgICAgICAgZGlzcGxheTogbm9uZTtcblxuICAgICAgICBAbWVkaWEobWluLXdpZHRoOiAkc2NyZWVuLW1kKSB7XG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgfVxuICAgIH1cbn0iLCIubW9kYWwtZnVsbCB7XG5cbiAgICAubWRjLWRpYWxvZ19fc2NyaW0ge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKCRwcm9qZWN0LW5hdnlibHVlLCAwLjUpO1xuICAgIH1cblxuICAgIC5tZGMtZGlhbG9nX19zdXJmYWNlIHtcbiAgICAgICAgbWF4LXdpZHRoOiBjYWxjKDEwMCUgLSA0MHB4KTtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gICAgICAgIEBtZWRpYShtaW4td2lkdGg6ICRzY3JlZW4tc20pIHtcbiAgICAgICAgICAgIG1heC13aWR0aDogNzIwcHg7XG4gICAgICAgIH1cblxuICAgICAgICBAbWVkaWEobWluLXdpZHRoOiAkc2NyZWVuLW1kKSB7XG4gICAgICAgICAgICBtYXgtd2lkdGg6IDg4MHB4O1xuICAgICAgICB9XG5cbiAgICAgICAgQG1lZGlhKG1pbi13aWR0aDogJHNjcmVlbi1sZykge1xuICAgICAgICAgICAgbWF4LXdpZHRoOiAxMDgwcHg7XG4gICAgICAgIH1cblxuICAgICAgICBAbWVkaWEobWluLXdpZHRoOiAkc2NyZWVuLXhsKSB7XG4gICAgICAgICAgICBtYXgtd2lkdGg6IDEyODBweDtcbiAgICAgICAgfVxuXG4gICAgICAgIEBtZWRpYShtaW4td2lkdGg6ICRzY3JlZW4teHhsKSB7XG4gICAgICAgICAgICBtYXgtd2lkdGg6IDE1MDBweDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgICZfX2NvbnRlbnQge1xuICAgICAgICAubWRjLWRpYWxvZyAmIHtcbiAgICAgICAgICAgIGxldHRlci1zcGFjaW5nOiAwLjJweDtcbiAgICAgICAgICAgIHBhZGRpbmc6IDVweDtcblxuICAgICAgICAgICAgQG1lZGlhKG1pbi13aWR0aDogJHNjcmVlbi1zbSkge1xuICAgICAgICAgICAgICAgIHBhZGRpbmc6IDEwcHg7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIEBtZWRpYShtaW4td2lkdGg6ICRzY3JlZW4tbGcpIHtcbiAgICAgICAgICAgICAgICBwYWRkaW5nOiAyMHB4O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgJl9fY2xvc2Uge1xuICAgICAgICBib3JkZXI6IDA7XG4gICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgei1pbmRleDogNTA7XG4gICAgICAgIHRvcDogMnB4O1xuICAgICAgICByaWdodDogMnB4O1xuICAgICAgICB3aWR0aDogNDhweDtcbiAgICAgICAgaGVpZ2h0OiA0OHB4O1xuICAgICAgICBvdXRsaW5lOiBub25lO1xuICAgICAgICB1c2VyLXNlbGVjdDogbm9uZTtcbiAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogaWNvbnMtcHJvamVjdF9fY2xvc2UoJHByb2plY3QtYmxhY2spO1xuICAgICAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICAgICAgICBiYWNrZ3JvdW5kLXNpemU6IDE4cHggMThweDtcbiAgICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyO1xuXG4gICAgICAgIEBtZWRpYShtaW4td2lkdGg6ICRzY3JlZW4tc20pIHtcbiAgICAgICAgICAgIHRvcDogMjRweDtcbiAgICAgICAgICAgIHJpZ2h0OiAyNHB4O1xuICAgICAgICAgICAgYmFja2dyb3VuZC1zaXplOiAyMnB4IDIycHg7XG4gICAgICAgIH1cblxuICAgICAgICAmOmhvdmVyLFxuICAgICAgICAmOmZvY3VzIHtcbiAgICAgICAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAgICAgICAgIG91dGxpbmU6IG5vbmU7XG4gICAgICAgIH1cbiAgICB9XG59XG4iLCJib2R5IHtcbiAgICAmOmJlZm9yZSB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxufVxuXG4ubWFpbiB7XG4gICAgb3BhY2l0eTogMTtcbn1cblxuLnNsaWNrLXNsaWRlciB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgXG4gICAgJi5wcm9kdWN0LWNhcmRfX2NvbnRyb2wge1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgIFxuICAgICAgICBAbWVkaWEobWluLXdpZHRoOiAkc2NyZWVuLW1kKSB7XG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgfVxuICAgIH1cbn0iLCJAaW1wb3J0IFwiQG1hdGVyaWFsL2NoZWNrYm94L2Z1bmN0aW9uc1wiO1xuQGltcG9ydCBcIkBtYXRlcmlhbC9jaGVja2JveC9taXhpbnNcIjtcbkBpbXBvcnQgXCJAbWF0ZXJpYWwvY2hlY2tib3gvdmFyaWFibGVzXCI7XG5cbkBpbXBvcnQgXCJAbWF0ZXJpYWwvcmFkaW8vZnVuY3Rpb25zXCI7XG5AaW1wb3J0IFwiQG1hdGVyaWFsL3JhZGlvL21peGluc1wiO1xuQGltcG9ydCBcIkBtYXRlcmlhbC9yYWRpby92YXJpYWJsZXNcIjtcblxuQGltcG9ydCBcIkBtYXRlcmlhbC9zZWxlY3QvZnVuY3Rpb25zXCI7XG5AaW1wb3J0IFwiQG1hdGVyaWFsL3NlbGVjdC9taXhpbnNcIjtcbkBpbXBvcnQgXCJAbWF0ZXJpYWwvc2VsZWN0L3ZhcmlhYmxlc1wiO1xuXG4uc2l0ZS1mb3JtIHtcblxuICAgIC5tZGMtdGV4dC1maWVsZC0tb3V0bGluZWQ6bm90KC5tZGMtdGV4dC1maWVsZC0taW52YWxpZCk6bm90KC5tZGMtdGV4dC1maWVsZC0tZGlzYWJsZWQpIGlucHV0Oi13ZWJraXQtYXV0b2ZpbGwge1xuICAgICAgICAtd2Via2l0LXRleHQtZmlsbC1jb2xvcjogJHByb2plY3QtcHJpbWFyeSAhaW1wb3J0YW50O1xuICAgICAgICAtd2Via2l0LWJveC1zaGFkb3c6IDAgMCAwIDYwcHggJHByb2plY3QtYmx1ZS1sOTUwIGluc2V0ICFpbXBvcnRhbnQ7XG4gICAgfVxuXG4gICAgJl9fY2hlY2tib3gge1xuICAgICAgICAmLS1yZWFkb25seSB7XG4gICAgICAgICAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgICAgICAgICAgIHVzZXItc2VsZWN0OiBub25lO1xuICAgICAgICAgICAgb3BhY2l0eTogMC4zO1xuXG4gICAgICAgICAgICB+IGxhYmVsIHtcbiAgICAgICAgICAgICAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgICAgICAgICAgICAgICB1c2VyLXNlbGVjdDogbm9uZTtcblxuICAgICAgICAgICAgICAgIGEge1xuICAgICAgICAgICAgICAgICAgICBwb2ludGVyLWV2ZW50czogYXV0bztcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAubWRjLWZsb2F0aW5nLWxhYmVsIHtcbiAgICAgICAgdXNlci1zZWxlY3Q6IG5vbmU7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiAzMDA7XG4gICAgICAgIGxldHRlci1zcGFjaW5nOiAtMC4ycHg7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxLjE1O1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcblxuICAgICAgICBAbWVkaWEobWluLXdpZHRoOiAkc2NyZWVuLXNtKSB7XG4gICAgICAgICAgICBsZXR0ZXItc3BhY2luZzogMDtcbiAgICAgICAgfVxuXG4gICAgICAgIEBtZWRpYShtaW4td2lkdGg6ICRzY3JlZW4teHhsKSB7XG4gICAgICAgICAgICBmb250LXNpemU6IDE5cHg7XG4gICAgICAgIH1cblxuICAgICAgICAmLm1kYy1mbG9hdGluZy1sYWJlbC0tZmxvYXQtYWJvdmUge1xuICAgICAgICAgICAgdGV4dC1vdmVyZmxvdzogY2xpcDtcbiAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgICAgIHZlcnRpY2FsLWFsaWduOiB0b3A7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBpbnB1dFtyZWFkb25seV0gKyAubWRjLW5vdGNoZWQtb3V0bGluZS0tbm90Y2hlZCB7XG4gICAgICAgIC5tZGMtbm90Y2hlZC1vdXRsaW5lX19sZWFkaW5nLFxuICAgICAgICAubWRjLW5vdGNoZWQtb3V0bGluZV9fbm90Y2gsXG4gICAgICAgIC5tZGMtbm90Y2hlZC1vdXRsaW5lX190cmFpbGluZyB7XG4gICAgICAgICAgICBib3JkZXItd2lkdGg6IDFweDtcbiAgICAgICAgfVxuXG4gICAgICAgIC5tZGMtZmxvYXRpbmctbGFiZWwge1xuICAgICAgICAgICAgdXNlci1zZWxlY3Q6IG5vbmU7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAubWRjLXNlbGVjdC0tb3V0bGluZWQge1xuICAgICAgICAubWRjLWZsb2F0aW5nLWxhYmVsIHtcbiAgICAgICAgICAgICYubWRjLWZsb2F0aW5nLWxhYmVsLS1mbG9hdC1hYm92ZSB7XG4gICAgICAgICAgICAgICAgbWluLXdpZHRoOiAwO1xuICAgICAgICAgICAgICAgIG1heC13aWR0aDogbm9uZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5tZGMtY2hlY2tib3gge1xuICAgICAgICBtYXJnaW4tbGVmdDogLTExcHg7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IC04cHg7XG4gICAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgICAgICAgICAvL0BpbmNsdWRlIG1kYy1jaGVja2JveC1jb250YWluZXItY29sb3JzKCR1bm1hcmtlZC1zdHJva2UtY29sb3IsICR1bm1hcmtlZC1maWxsLWNvbG9yLCAkbWFya2VkLXN0cm9rZS1jb2xvciwgJG1hcmtlZC1maWxsLWNvbG9yLCAkZ2VuZXJhdGUta2V5ZnJhbWVzKTtcbiAgICAgICAgQGluY2x1ZGUgbWRjLWNoZWNrYm94LWNvbnRhaW5lci1jb2xvcnMoJHByb2plY3QtYmx1ZS1kNTAwLCAkcHJvamVjdC10cmFuc3BhcmVudCwgJHByb2plY3QtYmx1ZS1kNTAwLCAkcHJvamVjdC1ibHVlLWQ1MDAsICdmYWxzZScpO1xuICAgICAgICBAaW5jbHVkZSBtZGMtY2hlY2tib3gtaW5rLWNvbG9yKCRwcm9qZWN0LXdoaXRlKTtcbiAgICAgICAgQGluY2x1ZGUgbWRjLWNoZWNrYm94LWZvY3VzLWluZGljYXRvci1jb2xvcigkcHJvamVjdC1ibHVlLWQ1MDApO1xuXG4gICAgICAgIC5tZGMtY2hlY2tib3hfX3JpcHBsZSB7XG4gICAgICAgICAgICBib3JkZXItcmFkaXVzOiAxMDBweDtcbiAgICAgICAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVooMCk7XG5cbiAgICAgICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkcHJvamVjdC1ibHVlO1xuICAgICAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgICAgICB3aWR0aDoxMDAlO1xuICAgICAgICAgICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgICAgICAgICBsZWZ0OjA7XG4gICAgICAgICAgICAgICAgdG9wOjA7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICY6YWZ0ZXIge1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRwcm9qZWN0LWJsdWU7XG4gICAgICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgICAgIHdpZHRoOjEwMCU7XG4gICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICAgICAgICAgIGxlZnQ6MDtcbiAgICAgICAgICAgICAgICB0b3A6MDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgLm1kYy1jaGVja2JveF9fcmlwcGxlIHtcbiAgICAgICAgICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICAgICAgICAgIG9wYWNpdHk6IC4wODtcbiAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHByb2plY3QtYmx1ZTtcbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAmOmFmdGVyIHtcbiAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHByb2plY3QtYmx1ZTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cblxuICAgIC5tZGMtcmFkaW8ge1xuICAgICAgICBtYXJnaW4tbGVmdDogLTExcHg7XG4gICAgICAgIG92ZXJmbG93OiBoaWRkZW47XG5cbiAgICAgICAgQGluY2x1ZGUgbWRjLXJhZGlvLXVuY2hlY2tlZC1zdHJva2UtY29sb3IoJHByb2plY3QtYmx1ZS1kNTAwKTsgLy9TZXRzIHRoZSBzdHJva2UgY29sb3Igb2YgYW4gdW5jaGVja2VkIHJhZGlvIGJ1dHRvblxuICAgICAgICBAaW5jbHVkZSBtZGMtcmFkaW8tY2hlY2tlZC1zdHJva2UtY29sb3IoJHByb2plY3QtYmx1ZS1kNTAwKTsgLy9TZXRzIHRoZSBzdHJva2UgY29sb3Igb2YgYSBjaGVja2VkIHJhZGlvIGJ1dHRvblxuICAgICAgICBAaW5jbHVkZSBtZGMtcmFkaW8taW5rLWNvbG9yKCRwcm9qZWN0LWJsdWUtZDUwMCk7IC8vU2V0cyB0aGUgaW5rIGNvbG9yIG9mIGEgcmFkaW8gYnV0dG9uXG4gICAgICAgIEBpbmNsdWRlIG1kYy1yYWRpby1mb2N1cy1pbmRpY2F0b3ItY29sb3IoJHByb2plY3QtYmx1ZSk7IC8vU2V0cyB0aGUgY29sb3Igb2YgdGhlIGZvY3VzIGluZGljYXRvclxuXG4gICAgICAgIC8vQGluY2x1ZGUgbWRjLXJhZGlvLWZvY3VzLWluZGljYXRvci1jb2xvcigkY29sb3IpO1xuXG4gICAgICAgICsgbGFiZWwge1xuICAgICAgICAgICAgZm9udC1zaXplOiAxMi41cHg7XG4gICAgICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgICAgICAgICBmb250LXdlaWdodDogMzAwO1xuICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDEuNTtcblxuICAgICAgICAgICAgQG1lZGlhKG1pbi13aWR0aDogJHNjcmVlbi1zbSkge1xuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMTZweDtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgQG1lZGlhKG1pbi13aWR0aDogJHNjcmVlbi14eGwpIHtcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IDE5cHg7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAubWRjLXJhZGlvX19yaXBwbGUge1xuICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogMTAwcHg7XG4gICAgICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVaKDApO1xuXG4gICAgICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHByb2plY3QtYmx1ZTtcbiAgICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICAgICAgd2lkdGg6MTAwJTtcbiAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgICAgICAgICAgbGVmdDowO1xuICAgICAgICAgICAgICAgIHRvcDowO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAmOmFmdGVyIHtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkcHJvamVjdC1ibHVlO1xuICAgICAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgICAgICB3aWR0aDoxMDAlO1xuICAgICAgICAgICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgICAgICAgICBsZWZ0OjA7XG4gICAgICAgICAgICAgICAgdG9wOjA7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICAgIC5tZGMtcmFkaW9fX3JpcHBsZSB7XG4gICAgICAgICAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkcHJvamVjdC1ibHVlO1xuICAgICAgICAgICAgICAgICAgICBvcGFjaXR5OiAuMDg7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICB9XG5cbiAgICAubWRjLXJhZGlvLWZpZWxkIHtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICBwYWRkaW5nLWJvdHRvbTogMTVweDtcbiAgICB9XG5cbiAgICAubWRjLWZvcm0tZmllbGQge1xuICAgICAgICAubWRjLXJhZGlvIHtcbiAgICAgICAgICAgICsgbGFiZWwge1xuICAgICAgICAgICAgICAgIG1hcmdpbi10b3A6IDExLjVweDtcblxuICAgICAgICAgICAgICAgIEBtZWRpYShtaW4td2lkdGg6ICRzY3JlZW4tc20pIHtcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luLXRvcDogOHB4O1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIEBtZWRpYShtaW4td2lkdGg6ICRzY3JlZW4teHhsKSB7XG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbi10b3A6IDZweDtcbiAgICAgICAgICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiA1cHg7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgLm1kYy10ZXh0LWZpZWxkIC5tZGMtdGV4dC1maWVsZF9faW5wdXQge1xuICAgICAgICBjYXJldC1jb2xvcjogJHByb2plY3QtYmxhY2sgIWltcG9ydGFudDtcbiAgICB9XG5cbiAgICAubWRjLXRleHQtZmllbGQ6bm90KC5tZGMtdGV4dC1maWVsZC0tZGlzYWJsZWQpIC5tZGMtZmxvYXRpbmctbGFiZWwubWRjLWZsb2F0aW5nLWxhYmVsLS1mbG9hdC1hYm92ZSB7XG4gICAgICAgIGNvbG9yOiAkcHJvamVjdC1ibHVlLWQ1MDA7XG4gICAgfVxuXG4gICAgLm1kYy10ZXh0LWZpZWxkLS1pbnZhbGlkOm5vdCgubWRjLXRleHQtZmllbGQtLWRpc2FibGVkKSAubWRjLWZsb2F0aW5nLWxhYmVsIHtcbiAgICAgICAgY29sb3I6IHJnYmEoMCwwLDAsLjYpO1xuXG4gICAgICAgICY6YWZ0ZXIge1xuICAgICAgICAgICAgY29sb3I6IHJnYmEoMCwwLDAsLjYpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLm1kYy10ZXh0LWZpZWxkLS1pbnZhbGlkOm5vdCgubWRjLXRleHQtZmllbGQtLWRpc2FibGVkKSAubWRjLXRleHQtZmllbGRfX2lucHV0OnJlcXVpcmVkIHtcbiAgICAgICAgJiB+IC5tZGMtbm90Y2hlZC1vdXRsaW5lIHtcbiAgICAgICAgICAgIC5tZGMtZmxvYXRpbmctbGFiZWwge1xuICAgICAgICAgICAgICAgICY6YWZ0ZXIge1xuICAgICAgICAgICAgICAgICAgICBjb2xvcjogcmdiYSgwLDAsMCwuNik7XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgJi5tZGMtZmxvYXRpbmctbGFiZWwtLWZsb2F0LWFib3ZlIHtcbiAgICAgICAgICAgICAgICAgICAgJjphZnRlciB7XG4gICAgICAgICAgICAgICAgICAgICAgICBjb2xvcjogJHByb2plY3QtYmx1ZS1kNTAwO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgLndhcy12YWxpZGF0ZWQgJixcbiAgICAmLndhcy12YWxpZGF0ZWQge1xuXG4gICAgICAgIC5tZGMtdGV4dC1maWVsZC0taW52YWxpZCB7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiA2cHg7XG5cbiAgICAgICAgICAgIEBtZWRpYShtaW4td2lkdGg6ICRzY3JlZW4teHhsKSB7XG4gICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC5tZGMtY2hlY2tib3gge1xuICAgICAgICAgICAgLm1kYy1jaGVja2JveF9fbmF0aXZlLWNvbnRyb2w6aW52YWxpZCB+IC5tZGMtY2hlY2tib3hfX2JhY2tncm91bmQge1xuICAgICAgICAgICAgICAgIGJvcmRlci1jb2xvcjogJHByb2plY3QtbmV3LXJlZCAhaW1wb3J0YW50O1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAubWRjLWNoZWNrYm94X19uYXRpdmUtY29udHJvbDppbnZhbGlkIH4gbGFiZWwge1xuICAgICAgICAgICAgICAgIGNvbG9yOiAkcHJvamVjdC1uZXctcmVkO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLm1kYy1yYWRpbyB7XG4gICAgICAgICAgICAubWRjLXJhZGlvX19uYXRpdmUtY29udHJvbDppbnZhbGlkIH4gLm1kYy1yYWRpb19fYmFja2dyb3VuZCB7XG4gICAgICAgICAgICAgICAgLm1kYy1yYWRpb19fb3V0ZXItY2lyY2xlLCAubWRjLXJhZGlvX19pbm5lci1jaXJjbGUge1xuICAgICAgICAgICAgICAgICAgICBib3JkZXItY29sb3I6ICRwcm9qZWN0LW5ldy1yZWQgIWltcG9ydGFudDtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC5tZGMtcmFkaW9fX25hdGl2ZS1jb250cm9sOmludmFsaWQgfiBsYWJlbCB7XG4gICAgICAgICAgICAgICAgY29sb3I6ICRwcm9qZWN0LW5ldy1yZWQ7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAubWRjLXRleHQtZmllbGRfX2lucHV0OmludmFsaWQgfiAubWRjLW5vdGNoZWQtb3V0bGluZSAubWRjLW5vdGNoZWQtb3V0bGluZV9fbGVhZGluZyxcbiAgICAgICAgLm1kYy10ZXh0LWZpZWxkX19pbnB1dDppbnZhbGlkIH4gLm1kYy1ub3RjaGVkLW91dGxpbmUgLm1kYy1ub3RjaGVkLW91dGxpbmVfX25vdGNoLFxuICAgICAgICAubWRjLXRleHQtZmllbGRfX2lucHV0OmludmFsaWQgfiAubWRjLW5vdGNoZWQtb3V0bGluZSAubWRjLW5vdGNoZWQtb3V0bGluZV9fdHJhaWxpbmcge1xuICAgICAgICAgICAgYm9yZGVyLWNvbG9yOiAkcHJvamVjdC1uZXctcmVkICFpbXBvcnRhbnQ7XG4gICAgICAgIH1cblxuXG4gICAgICAgIC5tZGMtdGV4dC1maWVsZF9faW5wdXQ6aW52YWxpZCB+IC5tZGMtbm90Y2hlZC1vdXRsaW5lIC5tZGMtZmxvYXRpbmctbGFiZWwge1xuICAgICAgICAgICAgY29sb3I6ICRwcm9qZWN0LW5ldy1yZWQgIWltcG9ydGFudDtcblxuICAgICAgICAgICAgJjphZnRlciB7XG4gICAgICAgICAgICAgICAgY29sb3I6ICRwcm9qZWN0LW5ldy1yZWQgIWltcG9ydGFudDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC5zaXRlLWZvcm1fX2NoZWNrYm94LS1yZXF1aXJlZC5zaXRlLWZvcm1fX2NoZWNrYm94LS11bmNoZWNrZWQgfiBsYWJlbCB7XG4gICAgICAgICAgICBjb2xvcjogJHByb2plY3QtbmV3LXJlZDtcblxuICAgICAgICAgICAgJjphZnRlciB7XG4gICAgICAgICAgICAgICAgY29sb3I6ICRwcm9qZWN0LW5ldy1yZWQ7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIGEge1xuICAgICAgICAgICAgICAgIGNvbG9yOiAkcHJvamVjdC1uZXctcmVkO1xuICAgICAgICAgICAgICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLnNpdGUtZm9ybV9fcmFkaW8tLXJlcXVpcmVkLnNpdGUtZm9ybV9fcmFkaW8tLXVuY2hlY2tlZCB+IGxhYmVsIHtcbiAgICAgICAgICAgIGNvbG9yOiAkcHJvamVjdC1uZXctcmVkO1xuXG4gICAgICAgICAgICAmOmFmdGVyIHtcbiAgICAgICAgICAgICAgICBjb2xvcjogJHByb2plY3QtbmV3LXJlZDtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgYSB7XG4gICAgICAgICAgICAgICAgY29sb3I6ICRwcm9qZWN0LW5ldy1yZWQ7XG4gICAgICAgICAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAubWRjLXNlbGVjdC0tb3V0bGluZWQubWRjLXNlbGVjdC0taW52YWxpZCB7XG4gICAgICAgICAgICAubWRjLXNlbGVjdF9fYW5jaG9yIHtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiBpY29ucy1wcm9qZWN0X19zZWxlY3QtY2FyZXQoJHByb2plY3QtbmV3LXJlZCk7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgkcHJvamVjdC1uZXctcmVkLCAwKTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgJjpob3ZlcixcbiAgICAgICAgICAgICY6Zm9jdXMge1xuICAgICAgICAgICAgICAgIC5tZGMtc2VsZWN0X19hbmNob3Ige1xuICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKCRwcm9qZWN0LW5ldy1yZWQsIDApO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLm1kYy1ub3RjaGVkLW91dGxpbmVfX2xlYWRpbmcsXG4gICAgICAgICAgICAubWRjLW5vdGNoZWQtb3V0bGluZV9fbm90Y2gsXG4gICAgICAgICAgICAubWRjLW5vdGNoZWQtb3V0bGluZV9fdHJhaWxpbmcge1xuICAgICAgICAgICAgICAgIGJvcmRlci1jb2xvcjogJHByb2plY3QtbmV3LXJlZCAhaW1wb3J0YW50O1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAubWRjLWZsb2F0aW5nLWxhYmVsIHtcbiAgICAgICAgICAgICAgICBjb2xvcjogJHByb2plY3QtbmV3LXJlZCAhaW1wb3J0YW50O1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAuc2l0ZS1mb3JtX192YWxpZGF0aW9uLXRleHQge1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IHRhYmxlO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLm1kYy1yYWRpby1maWVsZCB7XG4gICAgICAgICAgICAuc2l0ZS1mb3JtX192YWxpZGF0aW9uLXRleHQge1xuICAgICAgICAgICAgICAgIGxlZnQ6IDM1cHg7XG4gICAgICAgICAgICAgICAgYm90dG9tOiAxMHB4O1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAmLS1pbnZhbGlkIHtcbiAgICAgICAgICAgICAgICAuc2l0ZS1mb3JtX192YWxpZGF0aW9uLXRleHQge1xuICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiB0YWJsZTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAubWRjLWZvcm0tZmllbGQtLWludmFsaWQge1xuICAgICAgICAgICAgbGFiZWwge1xuICAgICAgICAgICAgICAgIGNvbG9yOiAkcHJvamVjdC1uZXctcmVkO1xuXG4gICAgICAgICAgICAgICAgJjphZnRlciB7XG4gICAgICAgICAgICAgICAgICAgIGNvbG9yOiAkcHJvamVjdC1uZXctcmVkO1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIGEge1xuICAgICAgICAgICAgICAgICAgICBjb2xvcjogJHByb2plY3QtbmV3LXJlZDtcbiAgICAgICAgICAgICAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAmIH4gLnNpdGUtZm9ybV9fdmFsaWRhdGlvbi10ZXh0IHtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgICAgICBwb3NpdGlvbjogc3RhdGljO1xuICAgICAgICAgICAgICAgIHBhZGRpbmctbGVmdDogMDtcbiAgICAgICAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiAwO1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgICAgICAgICAgICAgIG1hcmdpbjogNnB4IDAgMCAwO1xuICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgICAgIG1heC13aWR0aDogbm9uZTtcbiAgICAgICAgICAgICAgICB0cmFuc2Zvcm06IG5vbmU7XG5cbiAgICAgICAgICAgICAgICBAbWVkaWEobWluLXdpZHRoOiAkc2NyZWVuLXh4bCkge1xuICAgICAgICAgICAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDQ0cHg7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAmIH4gLm5ld3NsZXR0ZXItYWdyZWVtZW50c19faW5mbyB+IC5zaXRlLWZvcm1fX3ZhbGlkYXRpb24tdGV4dCB7XG4gICAgICAgICAgICAgICAgbWFyZ2luLXRvcDogLTEwcHg7XG4gICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMThweDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgICYuc2VydmVyLXNpZGUtdmFsaWRhdGVkIHtcbiAgICAgICAgLnNlcnZlci1zaWRlLS1pbnZhbGlkIH4gLm1kYy1ub3RjaGVkLW91dGxpbmUgLm1kYy1ub3RjaGVkLW91dGxpbmVfX2xlYWRpbmcsXG4gICAgICAgIC5zZXJ2ZXItc2lkZS0taW52YWxpZCB+IC5tZGMtbm90Y2hlZC1vdXRsaW5lIC5tZGMtbm90Y2hlZC1vdXRsaW5lX19ub3RjaCxcbiAgICAgICAgLnNlcnZlci1zaWRlLS1pbnZhbGlkIH4gLm1kYy1ub3RjaGVkLW91dGxpbmUgLm1kYy1ub3RjaGVkLW91dGxpbmVfX3RyYWlsaW5nIHtcbiAgICAgICAgICAgIGJvcmRlci1jb2xvcjogJHByb2plY3QtbmV3LXJlZCAhaW1wb3J0YW50O1xuICAgICAgICAgICAgY29sb3I6ICRwcm9qZWN0LW5ldy1yZWQgIWltcG9ydGFudDtcblxuICAgICAgICAgICAgJjphZnRlciB7XG4gICAgICAgICAgICAgICAgY29sb3I6ICRwcm9qZWN0LW5ldy1yZWQgIWltcG9ydGFudDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC5zZXJ2ZXItc2lkZS0taW52YWxpZCB+IC5tZGMtbm90Y2hlZC1vdXRsaW5lIC5tZGMtZmxvYXRpbmctbGFiZWwge1xuICAgICAgICAgICAgY29sb3I6ICRwcm9qZWN0LW5ldy1yZWQgIWltcG9ydGFudDtcblxuICAgICAgICAgICAgJjphZnRlciB7XG4gICAgICAgICAgICAgICAgY29sb3I6ICRwcm9qZWN0LW5ldy1yZWQgIWltcG9ydGFudDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC5tZGMtc2VsZWN0LS1vdXRsaW5lZC5zZXJ2ZXItc2lkZS0taW52YWxpZCB7XG4gICAgICAgICAgICAubWRjLXNlbGVjdF9fYW5jaG9yIHtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiBpY29ucy1wcm9qZWN0X19zZWxlY3QtY2FyZXQoJHByb2plY3QtbmV3LXJlZCk7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgkcHJvamVjdC1uZXctcmVkLCAwKTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgJjpob3ZlcixcbiAgICAgICAgICAgICY6Zm9jdXMge1xuICAgICAgICAgICAgICAgIC5tZGMtc2VsZWN0X19hbmNob3Ige1xuICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKCRwcm9qZWN0LW5ldy1yZWQsIDApO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLm1kYy1ub3RjaGVkLW91dGxpbmVfX2xlYWRpbmcsXG4gICAgICAgICAgICAubWRjLW5vdGNoZWQtb3V0bGluZV9fbm90Y2gsXG4gICAgICAgICAgICAubWRjLW5vdGNoZWQtb3V0bGluZV9fdHJhaWxpbmcge1xuICAgICAgICAgICAgICAgIGJvcmRlci1jb2xvcjogJHByb2plY3QtbmV3LXJlZCAhaW1wb3J0YW50O1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAubWRjLWZsb2F0aW5nLWxhYmVsIHtcbiAgICAgICAgICAgICAgICBjb2xvcjogJHByb2plY3QtbmV3LXJlZCAhaW1wb3J0YW50O1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAuc2l0ZS1mb3JtX192YWxpZGF0aW9uLXRleHQge1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IHRhYmxlO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLmZpbGVpbnB1dC1jb250YWluZXIuZmlsZWlucHV0LWNvbnRhaW5lci0taW52YWxpZCB7XG4gICAgICAgICAgICAuZmlsZWlucHV0Om5vdCguZmlsZWlucHV0LWV4aXN0cykgfiAuc2l0ZS1mb3JtX19zZXJ2ZXItdmFsaWRhdGlvbi10ZXh0IHtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgICAgICBib3R0b206IC01cHg7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmLmpzLXNpZGUtdmFsaWRhdGVkIHtcbiAgICAgICAgLmpzLXNpZGUtLWludmFsaWQgfiAubWRjLW5vdGNoZWQtb3V0bGluZSAubWRjLW5vdGNoZWQtb3V0bGluZV9fbGVhZGluZyxcbiAgICAgICAgLmpzLXNpZGUtLWludmFsaWQgfiAubWRjLW5vdGNoZWQtb3V0bGluZSAubWRjLW5vdGNoZWQtb3V0bGluZV9fbm90Y2gsXG4gICAgICAgIC5qcy1zaWRlLS1pbnZhbGlkIH4gLm1kYy1ub3RjaGVkLW91dGxpbmUgLm1kYy1ub3RjaGVkLW91dGxpbmVfX3RyYWlsaW5nIHtcbiAgICAgICAgICAgIGJvcmRlci1jb2xvcjogJHByb2plY3QtbmV3LXJlZCAhaW1wb3J0YW50O1xuICAgICAgICAgICAgY29sb3I6ICRwcm9qZWN0LW5ldy1yZWQgIWltcG9ydGFudDtcblxuICAgICAgICAgICAgJjphZnRlciB7XG4gICAgICAgICAgICAgICAgY29sb3I6ICRwcm9qZWN0LW5ldy1yZWQgIWltcG9ydGFudDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC5qcy1zaWRlLS1pbnZhbGlkIH4gLm1kYy1ub3RjaGVkLW91dGxpbmUgLm1kYy1mbG9hdGluZy1sYWJlbCB7XG4gICAgICAgICAgICBjb2xvcjogJHByb2plY3QtbmV3LXJlZCAhaW1wb3J0YW50O1xuXG4gICAgICAgICAgICAmOmFmdGVyIHtcbiAgICAgICAgICAgICAgICBjb2xvcjogJHByb2plY3QtbmV3LXJlZCAhaW1wb3J0YW50O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLm1kYy1zZWxlY3QtLW91dGxpbmVkLmpzLXNpZGUtLWludmFsaWQge1xuICAgICAgICAgICAgLm1kYy1zZWxlY3RfX2FuY2hvciB7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogaWNvbnMtcHJvamVjdF9fc2VsZWN0LWNhcmV0KCRwcm9qZWN0LW5ldy1yZWQpO1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoJHByb2plY3QtbmV3LXJlZCwgMCk7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICY6aG92ZXIsXG4gICAgICAgICAgICAmOmZvY3VzIHtcbiAgICAgICAgICAgICAgICAubWRjLXNlbGVjdF9fYW5jaG9yIHtcbiAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgkcHJvamVjdC1uZXctcmVkLCAwKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC5tZGMtbm90Y2hlZC1vdXRsaW5lX19sZWFkaW5nLFxuICAgICAgICAgICAgLm1kYy1ub3RjaGVkLW91dGxpbmVfX25vdGNoLFxuICAgICAgICAgICAgLm1kYy1ub3RjaGVkLW91dGxpbmVfX3RyYWlsaW5nIHtcbiAgICAgICAgICAgICAgICBib3JkZXItY29sb3I6ICRwcm9qZWN0LW5ldy1yZWQgIWltcG9ydGFudDtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLm1kYy1mbG9hdGluZy1sYWJlbCB7XG4gICAgICAgICAgICAgICAgY29sb3I6ICRwcm9qZWN0LW5ldy1yZWQgIWltcG9ydGFudDtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLnNpdGUtZm9ybV9fdmFsaWRhdGlvbi10ZXh0IHtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiB0YWJsZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5tZGMtZm9ybS1maWVsZCB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0O1xuXG4gICAgICAgICYtLWNoZWNrYm94IHtcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiAzMDA7XG4gICAgICAgICAgICBjb2xvcjogJHByb2plY3QtZ3JheS1kNDAwO1xuICAgICAgICAgICAgZm9udC1zaXplOiAxNXB4O1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMTBweDtcbiAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgICAgIGZsZXgtd3JhcDogd3JhcDtcblxuICAgICAgICAgICAgQG1lZGlhKG1pbi13aWR0aDogJHNjcmVlbi14eHMpIHtcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IDE3cHg7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIEBtZWRpYShtaW4td2lkdGg6ICRzY3JlZW4teHhsKSB7XG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiAxOXB4O1xuICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDE0cHg7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIGxhYmVsIHtcbiAgICAgICAgICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgICAgICAgICAgICAgbWF4LXdpZHRoOiBjYWxjKDEwMCUgLSA0MHB4KTtcbiAgICAgICAgICAgICAgICBtYXJnaW4tdG9wOiA2cHggIWltcG9ydGFudDtcbiAgICAgICAgICAgICAgICBsaW5lLWhlaWdodDogMS41MjtcblxuICAgICAgICAgICAgICAgIEBtZWRpYShtaW4td2lkdGg6ICRzY3JlZW4teGwpIHtcbiAgICAgICAgICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDEuNTc4O1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIC5lenJpY2h0ZXh0LWZpZWxkIHtcbiAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogaW5saW5lO1xuXG4gICAgICAgICAgICAgICAgICAgIHA6bGFzdC1vZi10eXBlIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZTtcbiAgICAgICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgICAgICY6YWZ0ZXIge1xuICAgICAgICAgICAgICAgICAgICAgICAgY29udGVudDogbm9uZTtcbiAgICAgICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICBsYWJlbCB7XG4gICAgICAgICAgICBtYXJnaW46IDlweCAwIDAgMDtcbiAgICAgICAgICAgIHBhZGRpbmctbGVmdDogMnB4O1xuXG4gICAgICAgICAgICBAbWVkaWEobWluLXdpZHRoOiAkc2NyZWVuLXh4cykge1xuICAgICAgICAgICAgICAgIHBhZGRpbmctbGVmdDogNXB4O1xuICAgICAgICAgICAgICAgIG1hcmdpbjogOHB4IDAgMCAwO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBAbWVkaWEobWluLXdpZHRoOiAkc2NyZWVuLXh4bCkge1xuICAgICAgICAgICAgICAgIG1hcmdpbjogNnB4IDAgMCAwO1xuICAgICAgICAgICAgICAgIHBhZGRpbmctbGVmdDogMTRweDtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgYSB7XG4gICAgICAgICAgICAgICAgJjpob3ZlcixcbiAgICAgICAgICAgICAgICAmOmZvY3VzIHtcbiAgICAgICAgICAgICAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG4gICAgICAgICAgICAgICAgICAgIGNvbG9yOiAkcHJvamVjdC1uYXZ5Ymx1ZTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAubWRjLXRleHQtZmllbGQge1xuICAgICAgICBib3JkZXItcmFkaXVzOiAwO1xuICAgICAgICBsZXR0ZXItc3BhY2luZzogMDtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDEuMTU7XG4gICAgICAgIGhlaWdodDogNDhweDtcblxuICAgICAgICBAbWVkaWEobWluLXdpZHRoOiAkc2NyZWVuLXh4bCkge1xuICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDEuNTU7XG4gICAgICAgICAgICBoZWlnaHQ6IDY0cHg7XG4gICAgICAgICAgICBmb250LXNpemU6IDE5cHg7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAubWRjLXRleHQtZmllbGRfX2lucHV0IHtcbiAgICAgICAgQG1lZGlhKG1pbi13aWR0aDogJHNjcmVlbi14eGwpIHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMTlweDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC50ZXh0LWZpZWxkLXJvdyB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBzdHJldGNoO1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7XG4gICAgICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICB9XG5cbiAgICAudGV4dC1maWVsZC1oZWxwZXIge1xuICAgICAgICBmb250LXNpemU6IDAuOXJlbTtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMXJlbTtcbiAgICB9XG5cbiAgICAudGV4dC1maWVsZC1kZXNjcmlwdGlvbiB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICBtYXJnaW4tdG9wOiAxMHB4O1xuICAgICAgICBmb250LXNpemU6IDEycHg7XG4gICAgfVxuXG4gICAgLnRleHQtZmllbGQtY29udGFpbmVyIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMTNweDtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAgICAgICBAbWVkaWEobWluLXdpZHRoOiAkc2NyZWVuLXh4bCkge1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMjhweDtcbiAgICAgICAgfVxuXG4gICAgICAgIC5tZGMtdGV4dC1maWVsZCB7XG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgfVxuXG4gICAgICAgIC50ZXh0LWZpZWxkLWNvbnRhaW5lciB7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgICAgICB9XG5cbiAgICAgICAgJi0tZnVsbCB7XG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgfVxuXG4gICAgICAgICYtLWhhbGYge1xuICAgICAgICAgICAgd2lkdGg6IGNhbGMoNTAlIC0gNnB4KTtcbiAgICAgICAgICAgIG1hcmdpbi1yaWdodDogMTJweDtcblxuICAgICAgICAgICAgQG1lZGlhKG1pbi13aWR0aDogJHNjcmVlbi1zbSkge1xuICAgICAgICAgICAgICAgIHdpZHRoOiBjYWxjKDUwJSAtIDEwcHgpO1xuICAgICAgICAgICAgICAgIG1hcmdpbi1yaWdodDogMjBweDtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgKyAudGV4dC1maWVsZC1jb250YWluZXItLWhhbGYge1xuICAgICAgICAgICAgICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgICYtLWhhbGYtc2xhc2gge1xuICAgICAgICAgICAgd2lkdGg6IGNhbGMoNTAlIC0gMTZweCk7XG4gICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gICAgICAgIH1cblxuICAgICAgICAmLS1kZXNrdG9wLWhhbGYge1xuICAgICAgICAgICAgQG1lZGlhKG1pbi13aWR0aDogJHNjcmVlbi1zbSkge1xuICAgICAgICAgICAgICAgIHdpZHRoOiBjYWxjKDUwJSAtIDEwcHgpO1xuICAgICAgICAgICAgICAgIG1hcmdpbi1yaWdodDogMjBweDtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgKyAudGV4dC1maWVsZC1jb250YWluZXItLWRlc2t0b3AtaGFsZiB7XG4gICAgICAgICAgICAgICAgQG1lZGlhKG1pbi13aWR0aDogJHNjcmVlbi1zbSkge1xuICAgICAgICAgICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgJi0tbW9iaWxlLWZ1bGwge1xuICAgICAgICAgICAgQG1lZGlhKG1heC13aWR0aDogJHNjcmVlbi1zbSAtIDAuMSkge1xuICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgICYtLXJvdy1zbGFzaCB7XG4gICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7XG4gICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gICAgICAgICAgICBmbGV4LXdyYXA6IG5vd3JhcDtcbiAgICAgICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IGljb25zLXByb2plY3RfX3NsYXNoKCRwcm9qZWN0LWdyYXktZDMwMCk7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiB0b3AgMTZweCBjZW50ZXI7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICAgICAgICAgICAgYmFja2dyb3VuZC1zaXplOiA5cHggMThweDtcblxuICAgICAgICAgICAgQG1lZGlhKG1pbi13aWR0aDogJHNjcmVlbi14eGwpIHtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiB0b3AgMjFweCBjZW50ZXI7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1zaXplOiAxMHB4IDIwcHg7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAubWRjLWJ1dHRvbiB7XG4gICAgICAgIG1pbi1oZWlnaHQ6IDQ4cHg7XG4gICAgICAgIGZvbnQtc2l6ZTogMTZweDtcblxuICAgICAgICBAbWVkaWEobWluLXdpZHRoOiAkc2NyZWVuLXh4bCkge1xuICAgICAgICAgICAgbWluLWhlaWdodDogNjRweDtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMjRweDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5tZGMtdGV4dC1maWVsZC0tb3V0bGluZWQgLm1kYy1mbG9hdGluZy1sYWJlbCxcbiAgICAubWRjLXRleHQtZmllbGQtLXRleHRhcmVhIC5tZGMtZmxvYXRpbmctbGFiZWwge1xuICAgICAgICB0b3A6IDE0cHg7XG4gICAgICAgIHRyYW5zZm9ybTogbm9uZTtcblxuICAgICAgICAuZmlyZWZveCAmIHtcbiAgICAgICAgICAgIHRvcDogMTNweDtcbiAgICAgICAgfVxuXG4gICAgICAgIEBtZWRpYShtaW4td2lkdGg6ICRzY3JlZW4teHhsKSB7XG4gICAgICAgICAgICB0b3A6IDE5cHg7XG5cbiAgICAgICAgICAgIC5maXJlZm94ICYge1xuICAgICAgICAgICAgICAgIHRvcDogMThweDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8vIG5vdCBmb2N1c2VkIGJvcmRlciAxcHhcbiAgICAubWRjLXRleHQtZmllbGQtLW91dGxpbmVkIC5tZGMtbm90Y2hlZC1vdXRsaW5lLS11cGdyYWRlZCAubWRjLWZsb2F0aW5nLWxhYmVsLS1mbG9hdC1hYm92ZSxcbiAgICAubWRjLXRleHQtZmllbGQtLW91dGxpbmVkLm1kYy1ub3RjaGVkLW91dGxpbmUtLXVwZ3JhZGVkIC5tZGMtZmxvYXRpbmctbGFiZWwtLWZsb2F0LWFib3ZlIHtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0xNTAlKSBzY2FsZSguNzUpO1xuICAgICAgICB0b3A6IDIxcHg7XG5cbiAgICAgICAgLmZpcmVmb3ggJiB7XG4gICAgICAgICAgICB0b3A6IDIwcHg7XG4gICAgICAgIH1cblxuICAgICAgICBAbWVkaWEobWluLXdpZHRoOiAkc2NyZWVuLXh4bCkge1xuICAgICAgICAgICAgZm9udC1zaXplOiAxOXB4O1xuICAgICAgICAgICAgdG9wOiAyNHB4O1xuXG4gICAgICAgICAgICAuZmlyZWZveCAmIHtcbiAgICAgICAgICAgICAgICB0b3A6IDIwcHg7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAubWRjLXRleHQtZmllbGQtLXRleHRhcmVhIC5tZGMtbm90Y2hlZC1vdXRsaW5lLS11cGdyYWRlZCAubWRjLWZsb2F0aW5nLWxhYmVsLS1mbG9hdC1hYm92ZSB7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMTUwJSkgc2NhbGUoLjc1KTtcbiAgICAgICAgdG9wOiAyM3B4O1xuXG4gICAgICAgIC5maXJlZm94ICYge1xuICAgICAgICAgICAgdG9wOiAyMnB4O1xuICAgICAgICB9XG5cbiAgICAgICAgQG1lZGlhKG1pbi13aWR0aDogJHNjcmVlbi14eGwpIHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMTlweDtcbiAgICAgICAgICAgIHRvcDogMjVweDtcblxuICAgICAgICAgICAgLmZpcmVmb3ggJiB7XG4gICAgICAgICAgICAgICAgdG9wOiAyMXB4O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuICAgIC8vXG5cbiAgICAvLyBmb2N1c2VkIGJvcmRlciAycHhcbiAgICAubWRjLXRleHQtZmllbGQtLW91dGxpbmVkLm1kYy10ZXh0LWZpZWxkLS1mb2N1c2VkIC5tZGMtbm90Y2hlZC1vdXRsaW5lLS11cGdyYWRlZCAubWRjLWZsb2F0aW5nLWxhYmVsLS1mbG9hdC1hYm92ZSxcbiAgICAubWRjLXRleHQtZmllbGQtLW91dGxpbmVkLm1kYy10ZXh0LWZpZWxkLS1mb2N1c2VkLm1kYy1ub3RjaGVkLW91dGxpbmUtLXVwZ3JhZGVkIC5tZGMtZmxvYXRpbmctbGFiZWwtLWZsb2F0LWFib3ZlIHtcbiAgICAgICAgdG9wOiAyMHB4O1xuXG4gICAgICAgIC5maXJlZm94ICYge1xuICAgICAgICAgICAgdG9wOiAxOXB4O1xuICAgICAgICB9XG5cbiAgICAgICAgQG1lZGlhKG1pbi13aWR0aDogJHNjcmVlbi14eGwpIHtcbiAgICAgICAgICAgIHRvcDogMjNweDtcblxuICAgICAgICAgICAgLmZpcmVmb3ggJiB7XG4gICAgICAgICAgICAgICAgdG9wOiAxOXB4O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgLm1kYy10ZXh0LWZpZWxkLS10ZXh0YXJlYS5tZGMtdGV4dC1maWVsZC0tZm9jdXNlZCAubWRjLW5vdGNoZWQtb3V0bGluZS0tdXBncmFkZWQgLm1kYy1mbG9hdGluZy1sYWJlbC0tZmxvYXQtYWJvdmUge1xuICAgICAgICB0b3A6IDIzcHg7XG5cbiAgICAgICAgLmZpcmVmb3ggJiB7XG4gICAgICAgICAgICB0b3A6IDIycHg7XG4gICAgICAgIH1cblxuICAgICAgICBAbWVkaWEobWluLXdpZHRoOiAkc2NyZWVuLXh4bCkge1xuICAgICAgICAgICAgdG9wOiAyNXB4O1xuXG4gICAgICAgICAgICAuZmlyZWZveCAmIHtcbiAgICAgICAgICAgICAgICB0b3A6IDIxcHg7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG4gICAgLy9cblxuXG4gICAgLm1kYy10ZXh0LWZpZWxkLS1vdXRsaW5lZCAubWRjLW5vdGNoZWQtb3V0bGluZSAubWRjLW5vdGNoZWQtb3V0bGluZV9fbGVhZGluZyxcbiAgICAubWRjLXRleHQtZmllbGQtLXRleHRhcmVhIC5tZGMtbm90Y2hlZC1vdXRsaW5lIC5tZGMtbm90Y2hlZC1vdXRsaW5lX19sZWFkaW5nLFxuICAgIC5tZGMtdGV4dC1maWVsZC0tb3V0bGluZWQgLm1kYy1ub3RjaGVkLW91dGxpbmUgLm1kYy1ub3RjaGVkLW91dGxpbmVfX3RyYWlsaW5nLFxuICAgIC5tZGMtdGV4dC1maWVsZC0tdGV4dGFyZWEgLm1kYy1ub3RjaGVkLW91dGxpbmUgLm1kYy1ub3RjaGVkLW91dGxpbmVfX3RyYWlsaW5nIHtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogMDtcbiAgICB9XG5cbiAgICAubWRjLXRleHQtZmllbGQtLW91dGxpbmVkOm5vdCgubWRjLXRleHQtZmllbGQtLWRpc2FibGVkKTpub3QoLm1kYy10ZXh0LWZpZWxkLS1pbnZhbGlkKSB7XG4gICAgICAgIC5tZGMtbm90Y2hlZC1vdXRsaW5lX19sZWFkaW5nLFxuICAgICAgICAubWRjLW5vdGNoZWQtb3V0bGluZV9fbm90Y2gsXG4gICAgICAgIC5tZGMtbm90Y2hlZC1vdXRsaW5lX190cmFpbGluZyB7XG4gICAgICAgICAgICBib3JkZXItY29sb3I6ICRwcm9qZWN0LWJsdWUtZDUwMDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5tZGMtdGV4dC1maWVsZC0tdGV4dGFyZWE6bm90KC5tZGMtdGV4dC1maWVsZC0tZGlzYWJsZWQpOm5vdCgubWRjLXRleHQtZmllbGQtLWludmFsaWQpIHtcbiAgICAgICAgLm1kYy1ub3RjaGVkLW91dGxpbmVfX2xlYWRpbmcsXG4gICAgICAgIC5tZGMtbm90Y2hlZC1vdXRsaW5lX19ub3RjaCxcbiAgICAgICAgLm1kYy1ub3RjaGVkLW91dGxpbmVfX3RyYWlsaW5nIHtcbiAgICAgICAgICAgIGJvcmRlci1jb2xvcjogJHByb2plY3QtYmx1ZS1kNTAwO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLm1kYy10ZXh0LWZpZWxkLS1vdXRsaW5lZDpub3QoLm1kYy10ZXh0LWZpZWxkLS1kaXNhYmxlZCkubWRjLXRleHQtZmllbGQtLWludmFsaWQge1xuICAgICAgICAubWRjLW5vdGNoZWQtb3V0bGluZV9fbGVhZGluZyxcbiAgICAgICAgLm1kYy1ub3RjaGVkLW91dGxpbmVfX25vdGNoLFxuICAgICAgICAubWRjLW5vdGNoZWQtb3V0bGluZV9fdHJhaWxpbmcge1xuICAgICAgICAgICAgYm9yZGVyLWNvbG9yOiAkcHJvamVjdC1ibHVlLWQ1MDA7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAubWRjLXRleHQtZmllbGQtLXRleHRhcmVhOm5vdCgubWRjLXRleHQtZmllbGQtLWRpc2FibGVkKS5tZGMtdGV4dC1maWVsZC0taW52YWxpZCB7XG4gICAgICAgIC5tZGMtbm90Y2hlZC1vdXRsaW5lX19sZWFkaW5nLFxuICAgICAgICAubWRjLW5vdGNoZWQtb3V0bGluZV9fbm90Y2gsXG4gICAgICAgIC5tZGMtbm90Y2hlZC1vdXRsaW5lX190cmFpbGluZyB7XG4gICAgICAgICAgICBib3JkZXItY29sb3I6ICRwcm9qZWN0LWJsdWUtZDUwMDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5tZGMtdGV4dC1maWVsZDpub3QoLm1kYy10ZXh0LWZpZWxkLS1mb2N1c2VkKTpub3QoLm1kYy10ZXh0LWZpZWxkLS1pbnZhbGlkKSB7XG4gICAgICAgIC5tZGMtdGV4dC1maWVsZF9faW5wdXQ6aG92ZXIgfiAubWRjLW5vdGNoZWQtb3V0bGluZSAubWRjLW5vdGNoZWQtb3V0bGluZV9fbGVhZGluZyxcbiAgICAgICAgLm1kYy10ZXh0LWZpZWxkX19pbnB1dDpob3ZlciB+IC5tZGMtbm90Y2hlZC1vdXRsaW5lIC5tZGMtbm90Y2hlZC1vdXRsaW5lX19ub3RjaCxcbiAgICAgICAgLm1kYy10ZXh0LWZpZWxkX19pbnB1dDpob3ZlciB+IC5tZGMtbm90Y2hlZC1vdXRsaW5lIC5tZGMtbm90Y2hlZC1vdXRsaW5lX190cmFpbGluZyB7XG4gICAgICAgICAgICBib3JkZXItY29sb3I6ICRwcm9qZWN0LWJsdWUtZDUwMDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5tZGMtdGV4dC1maWVsZDpub3QoLm1kYy10ZXh0LWZpZWxkLS1mb2N1c2VkKS5tZGMtdGV4dC1maWVsZC0taW52YWxpZCB7XG4gICAgICAgIC5tZGMtdGV4dC1maWVsZF9faW5wdXQ6aG92ZXIgfiAubWRjLW5vdGNoZWQtb3V0bGluZSAubWRjLW5vdGNoZWQtb3V0bGluZV9fbGVhZGluZyxcbiAgICAgICAgLm1kYy10ZXh0LWZpZWxkX19pbnB1dDpob3ZlciB+IC5tZGMtbm90Y2hlZC1vdXRsaW5lIC5tZGMtbm90Y2hlZC1vdXRsaW5lX19ub3RjaCxcbiAgICAgICAgLm1kYy10ZXh0LWZpZWxkX19pbnB1dDpob3ZlciB+IC5tZGMtbm90Y2hlZC1vdXRsaW5lIC5tZGMtbm90Y2hlZC1vdXRsaW5lX190cmFpbGluZyB7XG4gICAgICAgICAgICBib3JkZXItY29sb3I6ICRwcm9qZWN0LWJsdWUtZDUwMDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgICZfX3ZhbGlkYXRpb24tdGV4dCB7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgbWFyZ2luOiBhdXRvO1xuICAgICAgICBtYXgtd2lkdGg6IGNhbGMoMTAwJSAtIDI2cHgpO1xuICAgICAgICBib3R0b206IDA7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSg1MCUpO1xuICAgICAgICBsZWZ0OiAxM3B4O1xuICAgICAgICBjb2xvcjogJHByb2plY3QtbmV3LXJlZDtcbiAgICAgICAgZm9udC1zaXplOiAxMC41cHg7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxO1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICBwYWRkaW5nLWxlZnQ6IDJweDtcbiAgICAgICAgcGFkZGluZy1yaWdodDogMnB4O1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkcHJvamVjdC13aGl0ZTtcbiAgICAgICAgZm9udC13ZWlnaHQ6IDMwMDtcbiAgICAgICAgdXNlci1zZWxlY3Q6IG5vbmU7XG5cbiAgICAgICAgQG1lZGlhKG1pbi13aWR0aDogJHNjcmVlbi14eHMpIHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMTJweDtcbiAgICAgICAgfVxuXG4gICAgICAgIEBtZWRpYShtaW4td2lkdGg6ICRzY3JlZW4teHhsKSB7XG4gICAgICAgICAgICBmb250LXNpemU6IDEzcHg7XG4gICAgICAgIH1cblxuICAgICAgICBpbnB1dDp2YWxpZCB+ICYge1xuICAgICAgICAgICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuICAgICAgICB9XG5cbiAgICAgICAgLndhcy12YWxpZGF0ZWQgaW5wdXQ6aW52YWxpZCB+ICYge1xuICAgICAgICAgICAgZGlzcGxheTogYmxvY2sgIWltcG9ydGFudDtcbiAgICAgICAgfVxuXG4gICAgICAgIC53YXMtdmFsaWRhdGVkIC5tZGMtdGV4dC1maWVsZC0taW52YWxpZCAmIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICB9XG5cbiAgICAgICAgLndhcy12YWxpZGF0ZWQgLnNpdGUtZm9ybV9fY2hlY2tib3gtLXJlcXVpcmVkLnNpdGUtZm9ybV9fY2hlY2tib3gtLXVuY2hlY2tlZCB+ICYge1xuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICBwb3NpdGlvbjogc3RhdGljO1xuICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiAwO1xuICAgICAgICAgICAgcGFkZGluZy1yaWdodDogMDtcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgICAgICAgICAgbWFyZ2luOiA2cHggMCAwIDA7XG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgIG1heC13aWR0aDogbm9uZTtcbiAgICAgICAgICAgIHRyYW5zZm9ybTogbm9uZTtcblxuICAgICAgICAgICAgQG1lZGlhKG1pbi13aWR0aDogJHNjcmVlbi14eGwpIHtcbiAgICAgICAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDQ0cHg7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmX19zZXJ2ZXItZXJyb3Ige1xuICAgICAgICBjb2xvcjogJHByb2plY3QtbmV3LXJlZDtcbiAgICAgICAgZm9udC13ZWlnaHQ6IDMwMDtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMjBweDtcbiAgICB9XG5cbiAgICAmX19zZXJ2ZXItdmFsaWRhdGlvbi10ZXh0IHtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICBtYXJnaW46IGF1dG87XG4gICAgICAgIG1heC13aWR0aDogY2FsYygxMDAlIC0gMjZweCk7XG4gICAgICAgIGJvdHRvbTogMDtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDUwJSk7XG4gICAgICAgIGxlZnQ6IDEzcHg7XG4gICAgICAgIGNvbG9yOiAkcHJvamVjdC1uZXctcmVkO1xuICAgICAgICBmb250LXNpemU6IDEwLjVweDtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDE7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgIHBhZGRpbmctbGVmdDogMnB4O1xuICAgICAgICBwYWRkaW5nLXJpZ2h0OiAycHg7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRwcm9qZWN0LXdoaXRlO1xuICAgICAgICBmb250LXdlaWdodDogMzAwO1xuICAgICAgICB1c2VyLXNlbGVjdDogbm9uZTtcblxuICAgICAgICBAbWVkaWEobWluLXdpZHRoOiAkc2NyZWVuLXh4cykge1xuICAgICAgICAgICAgZm9udC1zaXplOiAxMnB4O1xuICAgICAgICB9XG5cbiAgICAgICAgQG1lZGlhKG1pbi13aWR0aDogJHNjcmVlbi14eGwpIHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMTNweDtcbiAgICAgICAgfVxuXG4gICAgICAgIC5zZXJ2ZXItc2lkZS12YWxpZGF0ZWQgLnNlcnZlci1zaWRlLS1pbnZhbGlkIH4gJiB7XG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgfVxuICAgIH1cblxuICAgICZfX2pzLXZhbGlkYXRpb24tdGV4dCB7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgbWFyZ2luOiBhdXRvO1xuICAgICAgICBtYXgtd2lkdGg6IGNhbGMoMTAwJSAtIDI2cHgpO1xuICAgICAgICBib3R0b206IDA7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSg1MCUpO1xuICAgICAgICBsZWZ0OiAxM3B4O1xuICAgICAgICBjb2xvcjogJHByb2plY3QtbmV3LXJlZDtcbiAgICAgICAgZm9udC1zaXplOiAxMC41cHg7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxO1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICBwYWRkaW5nLWxlZnQ6IDJweDtcbiAgICAgICAgcGFkZGluZy1yaWdodDogMnB4O1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkcHJvamVjdC13aGl0ZTtcbiAgICAgICAgZm9udC13ZWlnaHQ6IDMwMDtcbiAgICAgICAgdXNlci1zZWxlY3Q6IG5vbmU7XG5cbiAgICAgICAgQG1lZGlhKG1pbi13aWR0aDogJHNjcmVlbi14eHMpIHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMTJweDtcbiAgICAgICAgfVxuXG4gICAgICAgIEBtZWRpYShtaW4td2lkdGg6ICRzY3JlZW4teHhsKSB7XG4gICAgICAgICAgICBmb250LXNpemU6IDEzcHg7XG4gICAgICAgIH1cblxuICAgICAgICAuanMtc2lkZS12YWxpZGF0ZWQgLmpzLXNpZGUtLWludmFsaWQgfiAmIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLm1kYy1tZW51IHtcbiAgICAgICAgei1pbmRleDogMjAwMDtcblxuICAgICAgICBAbWVkaWEobWluLXdpZHRoOiAkc2NyZWVuLW1kKSB7XG4gICAgICAgICAgICB6LWluZGV4OiAxMDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5tZGMtbGlzdC1pdGVtIHtcbiAgICAgICAgaGVpZ2h0OiBhdXRvO1xuICAgICAgICBtaW4taGVpZ2h0OiA0OHB4O1xuICAgICAgICBwYWRkaW5nLXRvcDogMTBweDtcbiAgICAgICAgcGFkZGluZy1ib3R0b206IDEwcHg7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgfVxuXG4gICAgLm1kYy1zZWxlY3QtLW91dGxpbmVkIHtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogMDtcbiAgICAgICAgbGV0dGVyLXNwYWNpbmc6IDA7XG4gICAgICAgIEBpbmNsdWRlIG1kYy1zZWxlY3Qtb3V0bGluZS1zaGFwZS1yYWRpdXMoMCwgZmFsc2UpO1xuICAgICAgICBAaW5jbHVkZSBtZGMtc2VsZWN0LW91dGxpbmUtY29sb3IoJHByb2plY3QtYmx1ZS1kNTAwKTtcbiAgICAgICAgQGluY2x1ZGUgbWRjLXNlbGVjdC1mb2N1c2VkLW91dGxpbmUtY29sb3IoJHByb2plY3QtYmx1ZS1kNTAwKTtcbiAgICAgICAgQGluY2x1ZGUgbWRjLXNlbGVjdC1ob3Zlci1vdXRsaW5lLWNvbG9yKCRwcm9qZWN0LWJsdWUtZDUwMCk7XG4gICAgICAgIC8vQGluY2x1ZGUgbWRjLXNlbGVjdC1sYWJlbC1jb2xvcigkcHJvamVjdC1ibHVlLWQ1MDApO1xuICAgICAgICBAaW5jbHVkZSBtZGMtc2VsZWN0LWZvY3VzZWQtbGFiZWwtY29sb3IoJHByb2plY3QtYmx1ZS1kNTAwKTtcblxuICAgICAgICBsaW5lLWhlaWdodDogMS4xNTtcbiAgICAgICAgaGVpZ2h0OiA0OHB4O1xuXG4gICAgICAgIEBtZWRpYShtaW4td2lkdGg6ICRzY3JlZW4teHhsKSB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLXNpemU6IDE1cHggMzFweDtcbiAgICAgICAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IHJpZ2h0IDE0cHggY2VudGVyO1xuICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDEuNDtcbiAgICAgICAgICAgIGhlaWdodDogNjRweDtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMTlweDtcbiAgICAgICAgfVxuXG4gICAgICAgIC5tZGMtbWVudSB7XG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgfVxuXG4gICAgICAgIC5tZGMtc2VsZWN0X19hbmNob3Ige1xuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICBoZWlnaHQ6IDQ4cHg7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiByaWdodCAxMnB4IGNlbnRlcjtcbiAgICAgICAgICAgIGJhY2tncm91bmQtc2l6ZTogMTJweCAyNXB4O1xuICAgICAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogaWNvbnMtcHJvamVjdF9fc2VsZWN0LWNhcmV0KCRwcm9qZWN0LXByaW1hcnkpO1xuICAgICAgICAgICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRwcm9qZWN0LXdoaXRlO1xuICAgICAgICAgICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAwLjJzO1xuXG4gICAgICAgICAgICBAbWVkaWEobWluLXdpZHRoOiAkc2NyZWVuLXh4bCkge1xuICAgICAgICAgICAgICAgIGhlaWdodDogNjRweDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC5tZGMtc2VsZWN0X19zZWxlY3RlZC10ZXh0IHtcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiA0N3B4O1xuICAgICAgICAgICAgcGFkZGluZy10b3A6IDA7XG4gICAgICAgICAgICBwYWRkaW5nLWJvdHRvbTogMDtcbiAgICAgICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgICAgICAgICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgcGFkZGluZy1yaWdodDogMjhweDtcbiAgICAgICAgICAgIG1pbi13aWR0aDogMDtcbiAgICAgICAgICAgIHVzZXItc2VsZWN0OiBub25lO1xuXG4gICAgICAgICAgICBAbWVkaWEobWluLXdpZHRoOiAkc2NyZWVuLXh4bCkge1xuICAgICAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiA2MnB4O1xuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMTlweDtcbiAgICAgICAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiA1MnB4O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLm1kYy1mbG9hdGluZy1sYWJlbCB7XG4gICAgICAgICAgICB0b3A6IDIycHg7XG4gICAgICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XG5cbiAgICAgICAgICAgIEBtZWRpYShtaW4td2lkdGg6ICRzY3JlZW4teHhsKSB7XG4gICAgICAgICAgICAgICAgdG9wOiAzMHB4O1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAmLm1kYy1mbG9hdGluZy1sYWJlbC0tZmxvYXQtYWJvdmUge1xuICAgICAgICAgICAgICAgIHRvcDogMTNweDtcblxuICAgICAgICAgICAgICAgIEBtZWRpYShtaW4td2lkdGg6ICRzY3JlZW4teHhsKSB7XG4gICAgICAgICAgICAgICAgICAgIHRvcDogMjRweDtcbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAuZmlyZWZveCAmIHtcbiAgICAgICAgICAgICAgICAgICAgdG9wOiAxMnB4O1xuXG4gICAgICAgICAgICAgICAgICAgIEBtZWRpYShtaW4td2lkdGg6ICRzY3JlZW4teHhsKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICB0b3A6IDIycHg7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAubWRjLXNlbGVjdF9fYW5jaG9yIC5tZGMtbm90Y2hlZC1vdXRsaW5lLS11cGdyYWRlZCAubWRjLWZsb2F0aW5nLWxhYmVsLS1mbG9hdC1hYm92ZSxcbiAgICAgICAgLm1kYy1zZWxlY3RfX2FuY2hvci5tZGMtbm90Y2hlZC1vdXRsaW5lLS11cGdyYWRlZCAubWRjLWZsb2F0aW5nLWxhYmVsLS1mbG9hdC1hYm92ZSB7XG4gICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTEwNiUpIHNjYWxlKC43NSk7XG4gICAgICAgICAgICBjb2xvcjogJHByb2plY3QtYmx1ZS1kNTAwO1xuXG4gICAgICAgICAgICBAbWVkaWEobWluLXdpZHRoOiAkc2NyZWVuLXh4bCkge1xuICAgICAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMTQ3JSkgc2NhbGUoLjc1KTtcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IDE5cHg7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAmOmhvdmVyLFxuICAgICAgICAmOmZvY3VzIHtcbiAgICAgICAgICAgIC5tZGMtc2VsZWN0X19hbmNob3Ige1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoJHByb2plY3QtYmx1ZSwgMC4wNik7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAmOm5vdCgubWRjLXNlbGVjdC0tZGlzYWJsZWQpIC5tZGMtZmxvYXRpbmctbGFiZWwge1xuICAgICAgICAgICAgY29sb3I6ICRwcm9qZWN0LWJsdWUtZDUwMDtcbiAgICAgICAgfVxuXG4gICAgICAgIC5tZGMtc2VsZWN0LWlucHV0LWhpZGRlbiB7XG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICB0b3A6IC0xMDBweDtcbiAgICAgICAgICAgIGxlZnQ6IDA7XG4gICAgICAgICAgICB6LWluZGV4OiAtMTtcbiAgICAgICAgICAgIHVzZXItc2VsZWN0OiBub25lO1xuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgICAgICBvcGFjaXR5OiAwO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLm1kYy1zZWxlY3QtLWNvbXBhY3Qge1xuICAgICAgICBAbWVkaWEobWluLXdpZHRoOiAkc2NyZWVuLXh4bCkge1xuICAgICAgICAgICAgYmFja2dyb3VuZC1zaXplOiAxNXB4IDMxcHg7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiByaWdodCAxNHB4IGNlbnRlcjtcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAxLjQ7XG4gICAgICAgICAgICBoZWlnaHQ6IDU0cHg7XG4gICAgICAgICAgICBmb250LXNpemU6IDE2cHg7XG4gICAgICAgIH1cblxuICAgICAgICAubWRjLXNlbGVjdF9fYW5jaG9yIHtcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgaGVpZ2h0OiA0OHB4O1xuICAgICAgICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogcmlnaHQgMTJweCBjZW50ZXI7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLXNpemU6IDEycHggMjVweDtcblxuICAgICAgICAgICAgQG1lZGlhKG1pbi13aWR0aDogJHNjcmVlbi14eGwpIHtcbiAgICAgICAgICAgICAgICBoZWlnaHQ6IDU0cHg7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAubWRjLXNlbGVjdF9fc2VsZWN0ZWQtdGV4dCB7XG4gICAgICAgICAgICBAbWVkaWEobWluLXdpZHRoOiAkc2NyZWVuLXh4bCkge1xuICAgICAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiA1M3B4O1xuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMTZweDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC5tZGMtZmxvYXRpbmctbGFiZWwge1xuICAgICAgICAgICAgJi5tZGMtZmxvYXRpbmctbGFiZWwtLWZsb2F0LWFib3ZlIHtcbiAgICAgICAgICAgICAgICB0b3A6IDEzcHg7XG5cbiAgICAgICAgICAgICAgICBAbWVkaWEobWluLXdpZHRoOiAkc2NyZWVuLXh4bCkge1xuICAgICAgICAgICAgICAgICAgICB0b3A6IDE5cHg7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLm1kYy1zZWxlY3RfX2FuY2hvciAubWRjLW5vdGNoZWQtb3V0bGluZS0tdXBncmFkZWQgLm1kYy1mbG9hdGluZy1sYWJlbC0tZmxvYXQtYWJvdmUsXG4gICAgICAgIC5tZGMtc2VsZWN0X19hbmNob3IubWRjLW5vdGNoZWQtb3V0bGluZS0tdXBncmFkZWQgLm1kYy1mbG9hdGluZy1sYWJlbC0tZmxvYXQtYWJvdmUge1xuICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0xMDQlKSBzY2FsZSguNzUpO1xuXG4gICAgICAgICAgICBAbWVkaWEobWluLXdpZHRoOiAkc2NyZWVuLXh4bCkge1xuICAgICAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMTQ3JSkgc2NhbGUoLjc1KTtcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IDE2cHg7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgIH1cblxuICAgIC5tZGMtdGV4dC1maWVsZC0tY29tcGFjdCB7XG4gICAgICAgIEBtZWRpYShtaW4td2lkdGg6ICRzY3JlZW4teHhsKSB7XG4gICAgICAgICAgICBsaW5lLWhlaWdodDogMS41NTtcbiAgICAgICAgICAgIGhlaWdodDogNTRweDtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMTZweDtcbiAgICAgICAgfVxuXG4gICAgICAgIC5tZGMtZmxvYXRpbmctbGFiZWwge1xuICAgICAgICAgICAgQG1lZGlhKG1pbi13aWR0aDogJHNjcmVlbi14eGwpIHtcbiAgICAgICAgICAgICAgICB0b3A6IDE3cHg7XG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiAxNnB4O1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAuZmlyZWZveCAmIHtcbiAgICAgICAgICAgICAgICBAbWVkaWEobWluLXdpZHRoOiAkc2NyZWVuLXh4bCkge1xuICAgICAgICAgICAgICAgICAgICB0b3A6IDE2cHg7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLy8gbm90IGZvY3VzZWQgMXB4IGJvcmRlclxuICAgICAgICAubWRjLW5vdGNoZWQtb3V0bGluZS0tdXBncmFkZWQge1xuICAgICAgICAgICAgLm1kYy1mbG9hdGluZy1sYWJlbC0tZmxvYXQtYWJvdmUge1xuICAgICAgICAgICAgICAgIEBtZWRpYShtaW4td2lkdGg6ICRzY3JlZW4teHhsKSB7XG4gICAgICAgICAgICAgICAgICAgIHRvcDogMjBweDtcbiAgICAgICAgICAgICAgICAgICAgZm9udC1zaXplOiAxNnB4O1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIC5maXJlZm94ICYge1xuICAgICAgICAgICAgICAgICAgICBAbWVkaWEobWluLXdpZHRoOiAkc2NyZWVuLXh4bCkge1xuICAgICAgICAgICAgICAgICAgICAgICAgdG9wOiAxOXB4O1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLy8gZm9jdXNlZCAycHggYm9yZGVyXG4gICAgICAgICYubWRjLXRleHQtZmllbGQtLWZvY3VzZWQge1xuICAgICAgICAgICAgLm1kYy1ub3RjaGVkLW91dGxpbmUtLXVwZ3JhZGVkIHtcbiAgICAgICAgICAgICAgICAubWRjLWZsb2F0aW5nLWxhYmVsLS1mbG9hdC1hYm92ZSB7XG4gICAgICAgICAgICAgICAgICAgIEBtZWRpYShtaW4td2lkdGg6ICRzY3JlZW4teHhsKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICB0b3A6IDE5cHg7XG4gICAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICAgICAuZmlyZWZveCAmIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIEBtZWRpYShtaW4td2lkdGg6ICRzY3JlZW4teHhsKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdG9wOiAxOHB4O1xuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLm1kYy10ZXh0LWZpZWxkX19pbnB1dCB7XG4gICAgICAgICAgICBAbWVkaWEobWluLXdpZHRoOiAkc2NyZWVuLXh4bCkge1xuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMTZweDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8vIHRleHRhcmVhXG4gICAgLm1kYy10ZXh0LWZpZWxkLS10ZXh0YXJlYSB7XG4gICAgICAgIGhlaWdodDogYXV0bztcbiAgICAgICAgd2lkdGg6IDEwMCU7XG5cbiAgICAgICAgLm1kYy10ZXh0LWZpZWxkX19pbnB1dCB7XG4gICAgICAgICAgICByZXNpemU6IG5vbmU7XG4gICAgICAgICAgICBtYXJnaW4tdG9wOiAxMHB4O1xuXG5cbiAgICAgICAgICAgIEBtZWRpYShtaW4td2lkdGg6ICRzY3JlZW4teHhsKSB7XG4gICAgICAgICAgICAgICAgbWFyZ2luLXRvcDogMTdweDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgICZfX2hlbHAtdGV4dCB7XG4gICAgICAgIG1hcmdpbi10b3A6IDEwcHg7XG5cbiAgICAgICAgLm1kYy1mb3JtLWZpZWxkLS1jaGVja2JveCA+ICYge1xuICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiA0NXB4O1xuICAgICAgICB9XG5cbiAgICAgICAgJi0tc21hbGwge1xuICAgICAgICAgICAgZm9udC1zaXplOiAxMC41cHg7XG4gICAgICAgICAgICBmb250LXdlaWdodDogMzAwO1xuXG4gICAgICAgICAgICBAbWVkaWEobWluLXdpZHRoOiAkc2NyZWVuLXh4cykge1xuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMTJweDtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgQG1lZGlhKG1pbi13aWR0aDogJHNjcmVlbi14eGwpIHtcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IDEzcHg7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmX19pbmZvIHtcbiAgICAgICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICAgICAgZm9udC13ZWlnaHQ6IDMwMDtcbiAgICAgICAgZm9udC1zaXplOiAxMi41cHg7XG4gICAgICAgIG1hcmdpbi10b3A6IDE1cHg7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDVweDtcbiAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDEuNDM7XG5cbiAgICAgICAgJi0tY2VudGVyIHtcbiAgICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgfVxuXG4gICAgICAgICYtLXNwYWNlZCB7XG4gICAgICAgICAgICBtYXJnaW4tdG9wOiAzMnB4O1xuICAgICAgICB9XG5cbiAgICAgICAgQG1lZGlhKG1pbi13aWR0aDogJHNjcmVlbi14eGwpIHtcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IDIwcHg7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAxMHB4O1xuICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDEuNztcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMTRweDtcbiAgICAgICAgfVxuXG4gICAgICAgIGEge1xuICAgICAgICAgICAgJjpob3ZlcixcbiAgICAgICAgICAgICY6Zm9jdXMge1xuICAgICAgICAgICAgICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgLm1kYy10ZXh0LWZpZWxkX19pbnB1dDpyZXF1aXJlZH4ubWRjLWZsb2F0aW5nLWxhYmVsOm5vdCgucmVxdWlyZWQpOjphZnRlciwgLm1kYy10ZXh0LWZpZWxkX19pbnB1dDpyZXF1aXJlZH4ubWRjLW5vdGNoZWQtb3V0bGluZSAubWRjLWZsb2F0aW5nLWxhYmVsOm5vdCgucmVxdWlyZWQpOjphZnRlciB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxufVxuXG4vLyBDdXN0b20gS2FsaW9wIGZvcm1zXG4ua2FsaW9wY3VzdG9tZm9ybXMtZm9ybSB7XG4gICAgJi0tZGVmYXVsdCB7XG4gICAgICAgIG1heC13aWR0aDogNjIwcHg7XG4gICAgICAgIG1hcmdpbjogMCBhdXRvO1xuXG4gICAgICAgIGJ1dHRvblt0eXBlPVwic3VibWl0XCJdIHtcbiAgICAgICAgICAgIG1hcmdpbjogMCBhdXRvO1xuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIH1cblxuICAgICAgICAuYnRuLS1ibHVlOmRpc2FibGVkIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRwcm9qZWN0LW5hdnlibHVlO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgJl9fbWVzc2FnZS1jb250YWluZXIge1xuICAgICAgICBwYWRkaW5nLWJvdHRvbTogMTBweDtcbiAgICAgICAgZm9udC1zaXplOiAxNnB4O1xuXG4gICAgICAgICYtLWVycm9yIHtcbiAgICAgICAgICAgIGNvbG9yOiAkcHJvamVjdC1lcnJvcjtcbiAgICAgICAgfVxuXG4gICAgICAgICYtLXdhcm5pbmcge1xuICAgICAgICAgICAgY29sb3I6ICRwcm9qZWN0LXdhcm5pbmc7XG4gICAgICAgIH1cblxuICAgICAgICAmLS1zdWNjZXNzIHtcbiAgICAgICAgICAgIGNvbG9yOiAkcHJvamVjdC1ncmVlbjtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuLmN1c3RvbS1maWVsZCB7XG4gICAgJi0taW5kZW50ZWQge1xuICAgICAgICBtYXJnaW4tbGVmdDogMzVweDtcbiAgICB9XG59XG5cbi5zdGF0aWNfdGV4dC1maWVsZCB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuXG4gICAgJi0tc21hbGwge1xuICAgICAgICBmb250LXNpemU6IDEycHg7XG4gICAgfVxuXG4gICAgJi0tbm9ybWFsIHtcbiAgICAgICAgZm9udC1zaXplOiAxNHB4O1xuICAgIH1cblxuICAgICYtLWxhcmdlIHtcbiAgICAgICAgZm9udC1zaXplOiAxOXB4O1xuICAgICAgICBmb250LXdlaWdodDogNDAwO1xuICAgIH1cbn1cblxuLnRpbWVsZXNzLWZvcm0ge1xuICAgIG1heC13aWR0aDogNjgycHg7XG4gICAgbWFyZ2luOiAwIGF1dG87XG5cbiAgICAmX19hY3Rpb25zIHtcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIH1cbn1cblxuLmFubnVhbC1mb3JtIHtcbiAgICBtYXgtd2lkdGg6IDQwMHB4O1xufVxuXG4ubmV3c2xldHRlci1hZ3JlZW1lbnRzIHtcbiAgICAuZXpyaWNodGV4dC1maWVsZCwgLm5nbC1yaWNoX3RleHQge1xuICAgICAgICBmb250LXNpemU6IDE1cHg7XG5cbiAgICAgICAgQG1lZGlhIChtaW4td2lkdGg6ICRzY3JlZW4teHhzKSB7XG4gICAgICAgICAgICBmb250LXNpemU6IDE3cHg7XG4gICAgICAgIH1cblxuICAgICAgICBAbWVkaWEgKG1pbi13aWR0aDogJHNjcmVlbi14eGwpIHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMTlweDtcbiAgICAgICAgfVxuXG4gICAgICAgIHA6bm90KFtjbGFzc10pIHtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmX190aXRsZSB7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiAzMDA7XG4gICAgICAgIHBhZGRpbmctdG9wOiA4cHg7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDAuOHJlbTtcbiAgICAgICAgdGV4dC1hbGlnbjogbGVmdDtcblxuICAgICAgICAuZXpyaWNodGV4dC1maWVsZCwgLm5nbC1yaWNoX3RleHQsICYge1xuICAgICAgICAgICAgZm9udC1zaXplOiAxNXB4O1xuXG4gICAgICAgICAgICBAbWVkaWEobWluLXdpZHRoOiAkc2NyZWVuLXh4cykge1xuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMTdweDtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgQG1lZGlhKG1pbi13aWR0aDogJHNjcmVlbi14eGwpIHtcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IDE5cHg7XG4gICAgICAgICAgICAgICAgbGV0dGVyLXNwYWNpbmc6IDAuNHB4O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgJi0tYm9sZCB7XG4gICAgICAgICAgICBmb250LXdlaWdodDogNTAwO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgJl9fY2hvaWNlcyB7XG4gICAgICAgIC8qcGFkZGluZy1sZWZ0OiA0OHB4O1xuICAgICAgICAubmV3c2xldHRlci1hZ3JlZW1lbnRzLS1jb2xsYXBzYWJsZSAmIHtcbiAgICAgICAgICAgIHBhZGRpbmctbGVmdDogMDtcbiAgICAgICAgfSovXG5cbiAgICAgICAgLmNsaWVudC1zZXR0aW5ncyAmIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG5cbiAgICAgICAgICAgIC5uZXdzbGV0dGVyLWFncmVlbWVudHNfX2Nob2ljZSB7XG4gICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG5cbiAgICAgICAgICAgICAgICBAbWVkaWEobWluLXdpZHRoOiAkc2NyZWVuLWxnKSB7XG4gICAgICAgICAgICAgICAgICAgIHdpZHRoOiA0NyU7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgJl9fY2hvaWNlIHtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIH1cblxuICAgICZfX3RvZ2dsZSB7XG4gICAgICAgIGJvcmRlcjogbm9uZTtcbiAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAgICAgZm9udC1mYW1pbHk6IGluaGVyaXQ7XG4gICAgICAgIG91dGxpbmU6IG5vbmU7XG4gICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICAgICAgYmFja2dyb3VuZC1zaXplOiAxOHB4IDE4cHg7XG4gICAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IHJpZ2h0IDAgY2VudGVyO1xuICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiBpY29ucy1wcm9qZWN0X19hcnJvdy10b3AoJHByb2plY3QtYmxhY2spO1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICAgICAgZm9udC13ZWlnaHQ6IDMwMDtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDEuMjU7XG4gICAgICAgIHVzZXItc2VsZWN0OiBub25lO1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHRvcDogN3B4O1xuICAgICAgICByaWdodDogMDtcbiAgICAgICAgcGFkZGluZy1yaWdodDogMzBweDtcbiAgICAgICAgY29sb3I6ICRwcm9qZWN0LWJsdWU7XG4gICAgICAgIGZvbnQtc2l6ZTogMTVweDtcblxuICAgICAgICBAbWVkaWEobWluLXdpZHRoOiAkc2NyZWVuLXh4cykge1xuICAgICAgICAgICAgZm9udC1zaXplOiAxN3B4O1xuICAgICAgICB9XG5cbiAgICAgICAgQG1lZGlhKG1pbi13aWR0aDogJHNjcmVlbi14eGwpIHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMTlweDtcbiAgICAgICAgfVxuXG4gICAgICAgICY6Zm9jdXMge1xuICAgICAgICAgICAgb3V0bGluZTogbm9uZTtcbiAgICAgICAgfVxuXG4gICAgICAgIC5uZXdzbGV0dGVyLWFncmVlbWVudHNfX3RvZ2dsZS0tY29sbGFwc2VkIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgIH1cblxuICAgICAgICAubmV3c2xldHRlci1hZ3JlZW1lbnRzX190b2dnbGUtLXNob3duIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZTtcbiAgICAgICAgfVxuXG4gICAgICAgICYuY29sbGFwc2VkIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IGljb25zLXByb2plY3RfX2Fycm93LWJvdHRvbSgkcHJvamVjdC1ibGFjayk7XG5cbiAgICAgICAgICAgIC5uZXdzbGV0dGVyLWFncmVlbWVudHNfX3RvZ2dsZS0tY29sbGFwc2VkIHtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmU7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC5uZXdzbGV0dGVyLWFncmVlbWVudHNfX3RvZ2dsZS0tc2hvd24ge1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmX19wYW5lbCB7XG4gICAgICAgIC5uZXdzbGV0dGVyLWFncmVlbWVudHNfX2luZm8ge1xuICAgICAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICAgICAgcGFkZGluZy1ib3R0b206IDI4cHg7XG5cbiAgICAgICAgICAgIEBtZWRpYShtaW4td2lkdGg6ICRzY3JlZW4teHhsKSB7XG4gICAgICAgICAgICAgICAgcGFkZGluZy1ib3R0b206IDE2cHg7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmX19pbmZvIHtcbiAgICAgICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICAgICAgZm9udC13ZWlnaHQ6IDMwMDtcbiAgICAgICAgbWFyZ2luLXRvcDogMjJweDtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMjhweDtcbiAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDEuNDM7XG5cbiAgICAgICAgJi0tc3BhY2VkIHtcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IDMycHg7XG5cbiAgICAgICAgICAgIEBtZWRpYShtaW4td2lkdGg6ICRzY3JlZW4teHhsKSB7XG4gICAgICAgICAgICAgICAgbWFyZ2luLXRvcDogMjJweDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgICYtLWluZGVudGVkLCAubmV3c2xldHRlci1hZ3JlZW1lbnRzX19jaG9pY2UgJiB7XG4gICAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDM1cHg7XG5cbiAgICAgICAgICAgIEBtZWRpYShtaW4td2lkdGg6ICRzY3JlZW4teHhsKSB7XG4gICAgICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiA0NXB4O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLmV6cmljaHRleHQtZmllbGQsIC5uZ2wtcmljaF90ZXh0LCAmIHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMTIuNXB4O1xuXG4gICAgICAgICAgICBAbWVkaWEobWluLXdpZHRoOiAkc2NyZWVuLXh4bCkge1xuICAgICAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAxLjc7XG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiAxNHB4O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgQG1lZGlhKG1pbi13aWR0aDogJHNjcmVlbi14eGwpIHtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDE2cHg7XG4gICAgICAgIH1cblxuICAgICAgICBhIHtcbiAgICAgICAgICAgICY6aG92ZXIsXG4gICAgICAgICAgICAmOmZvY3VzIHtcbiAgICAgICAgICAgICAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbn1cblxuLm1kYy1jaGVja2JveC1tdWx0aXBsZSB7XG5cdC5zaXRlLWZvcm1fX3ZhbGlkYXRpb24tdGV4dCB7XG5cdFx0bGVmdDogMDtcblx0XHRib3R0b206IDA7XG5cdFx0cG9zaXRpb246IHJlbGF0aXZlO1xuXHRcdG1hcmdpbi1ib3R0b206IDE0cHg7XG5cdFx0bWF4LXdpZHRoOiB1bnNldDtcblx0fVxufVxuXG4uc2VydmVyLXNpZGUtLWludmFsaWQge1xuXHQuc2l0ZS1mb3JtX192YWxpZGF0aW9uLXRleHQge1xuXHRcdGRpc3BsYXk6YmxvY2s7XG5cdH1cbn1cblxuLndhcy12YWxpZGF0ZWQgLm5ld3NsZXR0ZXItYWdyZWVtZW50cyAuc2l0ZS1mb3JtX19jaGVja2JveC0tcmVxdWlyZWQuc2l0ZS1mb3JtX19jaGVja2JveC0tdW5jaGVja2VkIH4gLnNpdGUtZm9ybV9fdmFsaWRhdGlvbi10ZXh0IHtcbiAgICBwYWRkaW5nLWxlZnQ6IDM1cHg7XG5cbiAgICBAbWVkaWEobWluLXdpZHRoOiAkc2NyZWVuLXh4bCkge1xuICAgICAgICBwYWRkaW5nLWxlZnQ6IDQ0cHg7XG4gICAgfVxufSIsIi8vXG4vLyBDb3B5cmlnaHQgMjAxNiBHb29nbGUgSW5jLlxuLy9cbi8vIFBlcm1pc3Npb24gaXMgaGVyZWJ5IGdyYW50ZWQsIGZyZWUgb2YgY2hhcmdlLCB0byBhbnkgcGVyc29uIG9idGFpbmluZyBhIGNvcHlcbi8vIG9mIHRoaXMgc29mdHdhcmUgYW5kIGFzc29jaWF0ZWQgZG9jdW1lbnRhdGlvbiBmaWxlcyAodGhlIFwiU29mdHdhcmVcIiksIHRvIGRlYWxcbi8vIGluIHRoZSBTb2Z0d2FyZSB3aXRob3V0IHJlc3RyaWN0aW9uLCBpbmNsdWRpbmcgd2l0aG91dCBsaW1pdGF0aW9uIHRoZSByaWdodHNcbi8vIHRvIHVzZSwgY29weSwgbW9kaWZ5LCBtZXJnZSwgcHVibGlzaCwgZGlzdHJpYnV0ZSwgc3VibGljZW5zZSwgYW5kL29yIHNlbGxcbi8vIGNvcGllcyBvZiB0aGUgU29mdHdhcmUsIGFuZCB0byBwZXJtaXQgcGVyc29ucyB0byB3aG9tIHRoZSBTb2Z0d2FyZSBpc1xuLy8gZnVybmlzaGVkIHRvIGRvIHNvLCBzdWJqZWN0IHRvIHRoZSBmb2xsb3dpbmcgY29uZGl0aW9uczpcbi8vXG4vLyBUaGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSBhbmQgdGhpcyBwZXJtaXNzaW9uIG5vdGljZSBzaGFsbCBiZSBpbmNsdWRlZCBpblxuLy8gYWxsIGNvcGllcyBvciBzdWJzdGFudGlhbCBwb3J0aW9ucyBvZiB0aGUgU29mdHdhcmUuXG4vL1xuLy8gVEhFIFNPRlRXQVJFIElTIFBST1ZJREVEIFwiQVMgSVNcIiwgV0lUSE9VVCBXQVJSQU5UWSBPRiBBTlkgS0lORCwgRVhQUkVTUyBPUlxuLy8gSU1QTElFRCwgSU5DTFVESU5HIEJVVCBOT1QgTElNSVRFRCBUTyBUSEUgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFksXG4vLyBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBTkQgTk9OSU5GUklOR0VNRU5ULiBJTiBOTyBFVkVOVCBTSEFMTCBUSEVcbi8vIEFVVEhPUlMgT1IgQ09QWVJJR0hUIEhPTERFUlMgQkUgTElBQkxFIEZPUiBBTlkgQ0xBSU0sIERBTUFHRVMgT1IgT1RIRVJcbi8vIExJQUJJTElUWSwgV0hFVEhFUiBJTiBBTiBBQ1RJT04gT0YgQ09OVFJBQ1QsIFRPUlQgT1IgT1RIRVJXSVNFLCBBUklTSU5HIEZST00sXG4vLyBPVVQgT0YgT1IgSU4gQ09OTkVDVElPTiBXSVRIIFRIRSBTT0ZUV0FSRSBPUiBUSEUgVVNFIE9SIE9USEVSIERFQUxJTkdTIElOXG4vLyBUSEUgU09GVFdBUkUuXG4vL1xuXG5AdXNlIFwic2FzczptYXBcIjtcbkB1c2UgXCJAbWF0ZXJpYWwvYW5pbWF0aW9uL2Z1bmN0aW9uc1wiIGFzIGZ1bmN0aW9uczI7XG5AdXNlIFwiQG1hdGVyaWFsL2RlbnNpdHkvZnVuY3Rpb25zXCIgYXMgZGVuc2l0eS1mdW5jdGlvbnM7XG5AdXNlIFwiQG1hdGVyaWFsL2ZlYXR1cmUtdGFyZ2V0aW5nL2Z1bmN0aW9uc1wiIGFzIGZlYXR1cmUtdGFyZ2V0aW5nLWZ1bmN0aW9ucztcbkB1c2UgXCJAbWF0ZXJpYWwvZmVhdHVyZS10YXJnZXRpbmcvbWl4aW5zXCIgYXMgZmVhdHVyZS10YXJnZXRpbmctbWl4aW5zO1xuQHVzZSBcIkBtYXRlcmlhbC9yaXBwbGUvbWl4aW5zXCIgYXMgcmlwcGxlLW1peGlucztcbkB1c2UgXCJAbWF0ZXJpYWwvcmlwcGxlL3ZhcmlhYmxlc1wiIGFzIHJpcHBsZS12YXJpYWJsZXM7XG5AdXNlIFwiQG1hdGVyaWFsL3RoZW1lL21peGluc1wiIGFzIHRoZW1lLW1peGlucztcbkB1c2UgXCJAbWF0ZXJpYWwvdGhlbWUvdmFyaWFibGVzXCIgYXMgdmFyaWFibGVzMjtcbkB1c2UgXCJAbWF0ZXJpYWwvdG91Y2gtdGFyZ2V0L21peGluc1wiIGFzIHRvdWNoLXRhcmdldC1taXhpbnM7XG5AdXNlIFwiQG1hdGVyaWFsL3RvdWNoLXRhcmdldC92YXJpYWJsZXNcIiBhcyB0b3VjaC10YXJnZXQtdmFyaWFibGVzO1xuQHVzZSBcIi4vZnVuY3Rpb25zXCI7XG5AdXNlIFwiLi92YXJpYWJsZXNcIjtcblxuJHJpcHBsZS10YXJnZXQ6IFwiLm1kYy1yYWRpb19fcmlwcGxlXCI7XG5cbi8vL1xuLy8vIFJhZGlvIGNvcmUgc3R5bGVzLlxuLy8vXG5AbWl4aW4gY29yZS1zdHlsZXMoJHF1ZXJ5OiBmZWF0dXJlLXRhcmdldGluZy1mdW5jdGlvbnMuYWxsKCkpIHtcbiAgQGluY2x1ZGUgd2l0aG91dC1yaXBwbGUoJHF1ZXJ5KTtcbiAgQGluY2x1ZGUgcmlwcGxlKCRxdWVyeSk7XG59XG5cbi8vIFRoaXMgQVBJIGlzIGludGVuZGVkIGZvciB1c2UgYnkgZnJhbWV3b3JrcyB0aGF0IG1heSB3YW50IHRvIHNlcGFyYXRlIHRoZSByaXBwbGUtcmVsYXRlZCBzdHlsZXMgZnJvbSB0aGUgb3RoZXJcbi8vIHJhZGlvIHN0eWxlcy4gSXQgaXMgcmVjb21tZW5kZWQgdGhhdCBtb3N0IHVzZXJzIHVzZSBgbWRjLXJhZGlvLWNvcmUtc3R5bGVzYCBpbnN0ZWFkLlxuQG1peGluIHdpdGhvdXQtcmlwcGxlKCRxdWVyeTogZmVhdHVyZS10YXJnZXRpbmctZnVuY3Rpb25zLmFsbCgpKSB7XG4gIC8vIHBvc3Rjc3MtYmVtLWxpbnRlcjogZGVmaW5lIHJhZGlvXG5cbiAgJGZlYXQtYW5pbWF0aW9uOiBmZWF0dXJlLXRhcmdldGluZy1mdW5jdGlvbnMuY3JlYXRlLXRhcmdldCgkcXVlcnksIGFuaW1hdGlvbik7XG4gICRmZWF0LWNvbG9yOiBmZWF0dXJlLXRhcmdldGluZy1mdW5jdGlvbnMuY3JlYXRlLXRhcmdldCgkcXVlcnksIGNvbG9yKTtcbiAgJGZlYXQtc3RydWN0dXJlOiBmZWF0dXJlLXRhcmdldGluZy1mdW5jdGlvbnMuY3JlYXRlLXRhcmdldCgkcXVlcnksIHN0cnVjdHVyZSk7XG5cbiAgQGluY2x1ZGUgdG91Y2gtdGFyZ2V0LW1peGlucy53cmFwcGVyKCRxdWVyeSk7IC8vIENPUFlCQVJBX0NPTU1FTlRfVEhJU19MSU5FXG5cbiAgLm1kYy1yYWRpbyB7XG4gICAgQGluY2x1ZGUgdW5jaGVja2VkLXN0cm9rZS1jb2xvcih2YXJpYWJsZXMuJHVuY2hlY2tlZC1jb2xvciwgJHF1ZXJ5OiAkcXVlcnkpO1xuICAgIEBpbmNsdWRlIGNoZWNrZWQtc3Ryb2tlLWNvbG9yKHZhcmlhYmxlcy4kYmFzZWxpbmUtdGhlbWUtY29sb3IsICRxdWVyeTogJHF1ZXJ5KTtcbiAgICBAaW5jbHVkZSBpbmstY29sb3IodmFyaWFibGVzLiRiYXNlbGluZS10aGVtZS1jb2xvciwgJHF1ZXJ5OiAkcXVlcnkpO1xuICAgIEBpbmNsdWRlIGRpc2FibGVkLXVuY2hlY2tlZC1zdHJva2UtY29sb3IodmFyaWFibGVzLiRkaXNhYmxlZC1jaXJjbGUtY29sb3IsICRxdWVyeTogJHF1ZXJ5KTtcbiAgICBAaW5jbHVkZSBkaXNhYmxlZC1jaGVja2VkLXN0cm9rZS1jb2xvcih2YXJpYWJsZXMuJGRpc2FibGVkLWNpcmNsZS1jb2xvciwgJHF1ZXJ5OiAkcXVlcnkpO1xuICAgIEBpbmNsdWRlIGRpc2FibGVkLWluay1jb2xvcih2YXJpYWJsZXMuJGRpc2FibGVkLWNpcmNsZS1jb2xvciwgJHF1ZXJ5OiAkcXVlcnkpO1xuICAgIEBpbmNsdWRlIGZvY3VzLWluZGljYXRvci1jb2xvcih2YXJpYWJsZXMuJGJhc2VsaW5lLXRoZW1lLWNvbG9yLCAkcXVlcnk6ICRxdWVyeSk7XG4gICAgQGluY2x1ZGUgZGVuc2l0eSh2YXJpYWJsZXMuJGRlbnNpdHktc2NhbGUsICRxdWVyeTogJHF1ZXJ5KTtcblxuICAgIEBpbmNsdWRlIGZlYXR1cmUtdGFyZ2V0aW5nLW1peGlucy50YXJnZXRzKCRmZWF0LXN0cnVjdHVyZSkge1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgZmxleDogMCAwIGF1dG87XG4gICAgICBib3gtc2l6aW5nOiBjb250ZW50LWJveDtcbiAgICAgIHdpZHRoOiB2YXJpYWJsZXMuJGljb24tc2l6ZTtcbiAgICAgIGhlaWdodDogdmFyaWFibGVzLiRpY29uLXNpemU7XG4gICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgICAvKiBAYWx0ZXJuYXRlICovXG4gICAgICB3aWxsLWNoYW5nZTogb3BhY2l0eSwgdHJhbnNmb3JtLCBib3JkZXItY29sb3IsIGNvbG9yO1xuICAgIH1cblxuICAgIC8vIENvbnRhaW5lciBmb3IgcmFkaW8gY2lyY2xlcyBhbmQgcmlwcGxlLlxuICAgICZfX2JhY2tncm91bmQge1xuICAgICAgQGluY2x1ZGUgZmVhdHVyZS10YXJnZXRpbmctbWl4aW5zLnRhcmdldHMoJGZlYXQtc3RydWN0dXJlKSB7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgICAgICB3aWR0aDogdmFyaWFibGVzLiRpY29uLXNpemU7XG4gICAgICAgIGhlaWdodDogdmFyaWFibGVzLiRpY29uLXNpemU7XG4gICAgICB9XG5cbiAgICAgICY6OmJlZm9yZSB7XG4gICAgICAgIEBpbmNsdWRlIGZlYXR1cmUtdGFyZ2V0aW5nLW1peGlucy50YXJnZXRzKCRmZWF0LXN0cnVjdHVyZSkge1xuICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICB0cmFuc2Zvcm06IHNjYWxlKDAsIDApO1xuICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgICAgICAgICBvcGFjaXR5OiAwO1xuICAgICAgICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICAgICAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICAgIH1cblxuICAgICAgICBAaW5jbHVkZSBmZWF0dXJlLXRhcmdldGluZy1taXhpbnMudGFyZ2V0cygkZmVhdC1hbmltYXRpb24pIHtcbiAgICAgICAgICB0cmFuc2l0aW9uOiBmdW5jdGlvbnMuZXhpdChvcGFjaXR5KSwgZnVuY3Rpb25zLmV4aXQodHJhbnNmb3JtKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgICZfX291dGVyLWNpcmNsZSB7XG4gICAgICBAaW5jbHVkZSBmZWF0dXJlLXRhcmdldGluZy1taXhpbnMudGFyZ2V0cygkZmVhdC1zdHJ1Y3R1cmUpIHtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB0b3A6IDA7XG4gICAgICAgIGxlZnQ6IDA7XG4gICAgICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgIGJvcmRlci13aWR0aDogMnB4O1xuICAgICAgICBib3JkZXItc3R5bGU6IHNvbGlkO1xuICAgICAgICBib3JkZXItcmFkaXVzOiA1MCU7XG4gICAgICB9XG5cbiAgICAgIEBpbmNsdWRlIGZlYXR1cmUtdGFyZ2V0aW5nLW1peGlucy50YXJnZXRzKCRmZWF0LWFuaW1hdGlvbikge1xuICAgICAgICB0cmFuc2l0aW9uOiBmdW5jdGlvbnMuZXhpdChib3JkZXItY29sb3IpO1xuICAgICAgfVxuICAgIH1cblxuICAgICZfX2lubmVyLWNpcmNsZSB7XG4gICAgICBAaW5jbHVkZSBmZWF0dXJlLXRhcmdldGluZy1taXhpbnMudGFyZ2V0cygkZmVhdC1zdHJ1Y3R1cmUpIHtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB0b3A6IDA7XG4gICAgICAgIGxlZnQ6IDA7XG4gICAgICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgIHRyYW5zZm9ybTogc2NhbGUoMCwgMCk7XG4gICAgICAgIGJvcmRlci13aWR0aDogMTBweDtcbiAgICAgICAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogNTAlO1xuICAgICAgfVxuXG4gICAgICBAaW5jbHVkZSBmZWF0dXJlLXRhcmdldGluZy1taXhpbnMudGFyZ2V0cygkZmVhdC1hbmltYXRpb24pIHtcbiAgICAgICAgdHJhbnNpdGlvbjpcbiAgICAgICAgICBmdW5jdGlvbnMuZXhpdCh0cmFuc2Zvcm0pLFxuICAgICAgICAgIGZ1bmN0aW9ucy5leGl0KGJvcmRlci1jb2xvcik7XG4gICAgICB9XG4gICAgfVxuXG4gICAgJl9fbmF0aXZlLWNvbnRyb2wge1xuICAgICAgQGluY2x1ZGUgZmVhdHVyZS10YXJnZXRpbmctbWl4aW5zLnRhcmdldHMoJGZlYXQtc3RydWN0dXJlKSB7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgICBvcGFjaXR5OiAwO1xuICAgICAgICBjdXJzb3I6IGluaGVyaXQ7XG4gICAgICAgIHotaW5kZXg6IDE7XG4gICAgICB9XG4gICAgfVxuXG4gICAgJi0tdG91Y2gge1xuICAgICAgQGluY2x1ZGUgdG91Y2gtdGFyZ2V0LW1peGlucy5tYXJnaW4oXG4gICAgICAgICRjb21wb25lbnQtaGVpZ2h0OiB2YXJpYWJsZXMuJHJpcHBsZS1zaXplLFxuICAgICAgICAkY29tcG9uZW50LXdpZHRoOiB2YXJpYWJsZXMuJHJpcHBsZS1zaXplLFxuICAgICAgICAkcXVlcnk6ICRxdWVyeSk7XG4gICAgICBAaW5jbHVkZSB0b3VjaC10YXJnZXQoJHNpemU6IHRvdWNoLXRhcmdldC12YXJpYWJsZXMuJGhlaWdodCwgJHF1ZXJ5OiAkcXVlcnkpO1xuICAgIH1cbiAgfVxuXG4gIC5tZGMtcmFkaW9fX25hdGl2ZS1jb250cm9sOmNoZWNrZWQsXG4gIC5tZGMtcmFkaW9fX25hdGl2ZS1jb250cm9sOmRpc2FibGVkIHtcbiAgICArIC5tZGMtcmFkaW9fX2JhY2tncm91bmQge1xuICAgICAgQGluY2x1ZGUgZmVhdHVyZS10YXJnZXRpbmctbWl4aW5zLnRhcmdldHMoJGZlYXQtYW5pbWF0aW9uKSB7XG4gICAgICAgIHRyYW5zaXRpb246XG4gICAgICAgICAgZnVuY3Rpb25zLmVudGVyKG9wYWNpdHkpLFxuICAgICAgICAgIGZ1bmN0aW9ucy5lbnRlcih0cmFuc2Zvcm0pO1xuICAgICAgfVxuXG4gICAgICAubWRjLXJhZGlvX19vdXRlci1jaXJjbGUge1xuICAgICAgICBAaW5jbHVkZSBmZWF0dXJlLXRhcmdldGluZy1taXhpbnMudGFyZ2V0cygkZmVhdC1hbmltYXRpb24pIHtcbiAgICAgICAgICB0cmFuc2l0aW9uOiBmdW5jdGlvbnMuZW50ZXIoYm9yZGVyLWNvbG9yKTtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICAubWRjLXJhZGlvX19pbm5lci1jaXJjbGUge1xuICAgICAgICBAaW5jbHVkZSBmZWF0dXJlLXRhcmdldGluZy1taXhpbnMudGFyZ2V0cygkZmVhdC1hbmltYXRpb24pIHtcbiAgICAgICAgICB0cmFuc2l0aW9uOlxuICAgICAgICAgICAgZnVuY3Rpb25zLmVudGVyKHRyYW5zZm9ybSksXG4gICAgICAgICAgICBmdW5jdGlvbnMuZW50ZXIoYm9yZGVyLWNvbG9yKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC5tZGMtcmFkaW8tLWRpc2FibGVkIHtcbiAgICBAaW5jbHVkZSBmZWF0dXJlLXRhcmdldGluZy1taXhpbnMudGFyZ2V0cygkZmVhdC1zdHJ1Y3R1cmUpIHtcbiAgICAgIGN1cnNvcjogZGVmYXVsdDtcbiAgICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICAgIH1cbiAgfVxuXG4gIC5tZGMtcmFkaW9fX25hdGl2ZS1jb250cm9sOmNoZWNrZWQge1xuICAgICsgLm1kYy1yYWRpb19fYmFja2dyb3VuZCB7XG4gICAgICAubWRjLXJhZGlvX19pbm5lci1jaXJjbGUge1xuICAgICAgICBAaW5jbHVkZSBmZWF0dXJlLXRhcmdldGluZy1taXhpbnMudGFyZ2V0cygkZmVhdC1zdHJ1Y3R1cmUpIHtcbiAgICAgICAgICB0cmFuc2Zvcm06IHNjYWxlKC41KTtcbiAgICAgICAgfVxuXG4gICAgICAgIEBpbmNsdWRlIGZlYXR1cmUtdGFyZ2V0aW5nLW1peGlucy50YXJnZXRzKCRmZWF0LWFuaW1hdGlvbikge1xuICAgICAgICAgIHRyYW5zaXRpb246XG4gICAgICAgICAgICBmdW5jdGlvbnMuZW50ZXIodHJhbnNmb3JtKSxcbiAgICAgICAgICAgIGZ1bmN0aW9ucy5lbnRlcihib3JkZXItY29sb3IpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLm1kYy1yYWRpb19fbmF0aXZlLWNvbnRyb2w6ZGlzYWJsZWQsXG4gIFthcmlhLWRpc2FibGVkPVwidHJ1ZVwiXSAubWRjLXJhZGlvX19uYXRpdmUtY29udHJvbCB7XG4gICAgKyAubWRjLXJhZGlvX19iYWNrZ3JvdW5kIHtcbiAgICAgIEBpbmNsdWRlIGZlYXR1cmUtdGFyZ2V0aW5nLW1peGlucy50YXJnZXRzKCRmZWF0LXN0cnVjdHVyZSkge1xuICAgICAgICBjdXJzb3I6IGRlZmF1bHQ7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLm1kYy1yYWRpb19fbmF0aXZlLWNvbnRyb2w6Zm9jdXMge1xuICAgICsgLm1kYy1yYWRpb19fYmFja2dyb3VuZDo6YmVmb3JlIHtcbiAgICAgIEBpbmNsdWRlIGZlYXR1cmUtdGFyZ2V0aW5nLW1peGlucy50YXJnZXRzKCRmZWF0LXN0cnVjdHVyZSkge1xuICAgICAgICB0cmFuc2Zvcm06IHNjYWxlKDEpO1xuICAgICAgICBvcGFjaXR5OiBtYXAuZ2V0KHJpcHBsZS12YXJpYWJsZXMuJGRhcmstaW5rLW9wYWNpdGllcywgZm9jdXMpO1xuICAgICAgfVxuXG4gICAgICBAaW5jbHVkZSBmZWF0dXJlLXRhcmdldGluZy1taXhpbnMudGFyZ2V0cygkZmVhdC1hbmltYXRpb24pIHtcbiAgICAgICAgdHJhbnNpdGlvbjpcbiAgICAgICAgICBmdW5jdGlvbnMuZW50ZXIob3BhY2l0eSksXG4gICAgICAgICAgZnVuY3Rpb25zLmVudGVyKHRyYW5zZm9ybSk7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLy8gcG9zdGNzcy1iZW0tbGludGVyOiBlbmRcbn1cblxuLy8gVGhpcyBBUEkgaXMgaW50ZW5kZWQgZm9yIHVzZSBieSBmcmFtZXdvcmtzIHRoYXQgbWF5IHdhbnQgdG8gc2VwYXJhdGUgdGhlIHJpcHBsZS1yZWxhdGVkIHN0eWxlcyBmcm9tIHRoZSBvdGhlclxuLy8gcmFkaW8gc3R5bGVzLiBJdCBpcyByZWNvbW1lbmRlZCB0aGF0IG1vc3QgdXNlcnMgdXNlIGBtZGMtcmFkaW8tY29yZS1zdHlsZXNgIGluc3RlYWQuXG5AbWl4aW4gcmlwcGxlKCRxdWVyeTogZmVhdHVyZS10YXJnZXRpbmctZnVuY3Rpb25zLmFsbCgpKSB7XG4gICRmZWF0LXN0cnVjdHVyZTogZmVhdHVyZS10YXJnZXRpbmctZnVuY3Rpb25zLmNyZWF0ZS10YXJnZXQoJHF1ZXJ5LCBzdHJ1Y3R1cmUpO1xuXG4gIEBpbmNsdWRlIHJpcHBsZS1taXhpbnMuY29tbW9uKCRxdWVyeSk7IC8vIENPUFlCQVJBX0NPTU1FTlRfVEhJU19MSU5FXG5cbiAgLm1kYy1yYWRpbyB7XG4gICAgQGluY2x1ZGUgcmlwcGxlLW1peGlucy5zdXJmYWNlKCRxdWVyeTogJHF1ZXJ5LCAkcmlwcGxlLXRhcmdldDogJHJpcHBsZS10YXJnZXQpO1xuICAgIEBpbmNsdWRlIHJpcHBsZS1taXhpbnMucmFkaXVzLXVuYm91bmRlZCgkcXVlcnk6ICRxdWVyeSwgJHJpcHBsZS10YXJnZXQ6ICRyaXBwbGUtdGFyZ2V0KTtcbiAgICBAaW5jbHVkZSByaXBwbGUtbWl4aW5zLnN0YXRlcyhcbiAgICAgICRjb2xvcjogdmFyaWFibGVzLiRiYXNlbGluZS10aGVtZS1jb2xvciwgJHF1ZXJ5OiAkcXVlcnksICRyaXBwbGUtdGFyZ2V0OiAkcmlwcGxlLXRhcmdldCk7XG5cbiAgICAmLm1kYy1yaXBwbGUtdXBncmFkZWQtLWJhY2tncm91bmQtZm9jdXNlZCB7XG4gICAgICAubWRjLXJhZGlvX19iYWNrZ3JvdW5kOjpiZWZvcmUge1xuICAgICAgICBAaW5jbHVkZSBmZWF0dXJlLXRhcmdldGluZy1taXhpbnMudGFyZ2V0cygkZmVhdC1zdHJ1Y3R1cmUpIHtcbiAgICAgICAgICBjb250ZW50OiBub25lO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgI3skcmlwcGxlLXRhcmdldH0ge1xuICAgIEBpbmNsdWRlIHJpcHBsZS1taXhpbnMudGFyZ2V0LWNvbW1vbigkcXVlcnk6ICRxdWVyeSk7XG4gIH1cbn1cblxuLy8vXG4vLy8gU2V0cyB0aGUgc3Ryb2tlIGNvbG9yIG9mIGFuIHVuY2hlY2tlZCwgZW5hYmxlZCByYWRpbyBidXR0b24uXG4vLy8gQHBhcmFtIHtDb2xvcn0gJGNvbG9yIC0gVGhlIGRlc2lyZWQgc3Ryb2tlIGNvbG9yLlxuLy8vXG5AbWl4aW4gdW5jaGVja2VkLXN0cm9rZS1jb2xvcigkY29sb3IsICRxdWVyeTogZmVhdHVyZS10YXJnZXRpbmctZnVuY3Rpb25zLmFsbCgpKSB7XG4gIEBpbmNsdWRlIGlmLWVuYWJsZWQtdW5jaGVja2VkXyB7XG4gICAgQGluY2x1ZGUgc3Ryb2tlLWNvbG9yXygkY29sb3IsICRxdWVyeTogJHF1ZXJ5KTtcbiAgfVxufVxuXG4vLy9cbi8vLyBTZXRzIHRoZSBzdHJva2UgY29sb3Igb2YgYSBjaGVja2VkLCBlbmFibGVkIHJhZGlvIGJ1dHRvbi5cbi8vLyBAcGFyYW0ge0NvbG9yfSAkY29sb3IgLSBUaGUgZGVzaXJlZCBzdHJva2UgY29sb3IuXG4vLy9cbkBtaXhpbiBjaGVja2VkLXN0cm9rZS1jb2xvcigkY29sb3IsICRxdWVyeTogZmVhdHVyZS10YXJnZXRpbmctZnVuY3Rpb25zLmFsbCgpKSB7XG4gIEBpbmNsdWRlIGlmLWVuYWJsZWQtY2hlY2tlZF8ge1xuICAgIEBpbmNsdWRlIHN0cm9rZS1jb2xvcl8oJGNvbG9yLCAkcXVlcnk6JHF1ZXJ5KTtcbiAgfVxufVxuXG4vLy9cbi8vLyBTZXRzIHRoZSBpbmsgY29sb3Igb2YgYW4gZW5hYmxlZCByYWRpbyBidXR0b24uXG4vLy8gQHBhcmFtIHtDb2xvcn0gJGNvbG9yIC0gVGhlIGRlc2lyZWQgaW5rIGNvbG9yLlxuLy8vXG5AbWl4aW4gaW5rLWNvbG9yKCRjb2xvciwgJHF1ZXJ5OiBmZWF0dXJlLXRhcmdldGluZy1mdW5jdGlvbnMuYWxsKCkpIHtcbiAgQGluY2x1ZGUgaWYtZW5hYmxlZF8ge1xuICAgIEBpbmNsdWRlIGluay1jb2xvcl8oJGNvbG9yLCAkcXVlcnk6ICRxdWVyeSk7XG4gIH1cbn1cblxuLy8vXG4vLy8gU2V0cyB0aGUgc3Ryb2tlIGNvbG9yIG9mIGFuIHVuY2hlY2tlZCwgZGlzYWJsZWQgcmFkaW8gYnV0dG9uLlxuLy8vIEBwYXJhbSB7Q29sb3J9ICRjb2xvciAtIFRoZSBkZXNpcmVkIHN0cm9rZSBjb2xvci5cbi8vL1xuQG1peGluIGRpc2FibGVkLXVuY2hlY2tlZC1zdHJva2UtY29sb3IoJGNvbG9yLCAkcXVlcnk6IGZlYXR1cmUtdGFyZ2V0aW5nLWZ1bmN0aW9ucy5hbGwoKSkge1xuICBAaW5jbHVkZSBpZi1kaXNhYmxlZC11bmNoZWNrZWRfIHtcbiAgICBAaW5jbHVkZSBzdHJva2UtY29sb3JfKCRjb2xvciwgJHF1ZXJ5OiAkcXVlcnkpO1xuICB9XG59XG5cbi8vL1xuLy8vIFNldHMgdGhlIHN0cm9rZSBjb2xvciBvZiBhIGNoZWNrZWQsIGRpc2FibGVkIHJhZGlvIGJ1dHRvbi5cbi8vLyBAcGFyYW0ge0NvbG9yfSAkY29sb3IgLSBUaGUgZGVzaXJlZCBzdHJva2UgY29sb3IuXG4vLy9cbkBtaXhpbiBkaXNhYmxlZC1jaGVja2VkLXN0cm9rZS1jb2xvcigkY29sb3IsICRxdWVyeTogZmVhdHVyZS10YXJnZXRpbmctZnVuY3Rpb25zLmFsbCgpKSB7XG4gIEBpbmNsdWRlIGlmLWRpc2FibGVkLWNoZWNrZWRfIHtcbiAgICBAaW5jbHVkZSBzdHJva2UtY29sb3JfKCRjb2xvciwgJHF1ZXJ5OiAkcXVlcnkpO1xuICB9XG59XG5cbi8vL1xuLy8vIFNldHMgdGhlIGluayBjb2xvciBvZiBhIGRpc2FibGVkIHJhZGlvIGJ1dHRvbi5cbi8vLyBAcGFyYW0ge0NvbG9yfSAkY29sb3IgLSBUaGUgZGVzaXJlZCBpbmsgY29sb3Jcbi8vL1xuQG1peGluIGRpc2FibGVkLWluay1jb2xvcigkY29sb3IsICRxdWVyeTogZmVhdHVyZS10YXJnZXRpbmctZnVuY3Rpb25zLmFsbCgpKSB7XG4gIEBpbmNsdWRlIGlmLWRpc2FibGVkXyB7XG4gICAgQGluY2x1ZGUgaW5rLWNvbG9yXygkY29sb3IsICRxdWVyeTogJHF1ZXJ5KTtcbiAgfVxufVxuXG5AbWl4aW4gZm9jdXMtaW5kaWNhdG9yLWNvbG9yKCRjb2xvciwgJHF1ZXJ5OiBmZWF0dXJlLXRhcmdldGluZy1mdW5jdGlvbnMuYWxsKCkpIHtcbiAgJGZlYXQtY29sb3I6IGZlYXR1cmUtdGFyZ2V0aW5nLWZ1bmN0aW9ucy5jcmVhdGUtdGFyZ2V0KCRxdWVyeSwgY29sb3IpO1xuXG4gIC5tZGMtcmFkaW9fX2JhY2tncm91bmQ6OmJlZm9yZSB7XG4gICAgQGluY2x1ZGUgZmVhdHVyZS10YXJnZXRpbmctbWl4aW5zLnRhcmdldHMoJGZlYXQtY29sb3IpIHtcbiAgICAgIEBpbmNsdWRlIHRoZW1lLW1peGlucy5wcm9wKGJhY2tncm91bmQtY29sb3IsICRjb2xvcik7XG4gICAgfVxuICB9XG59XG5cbi8vL1xuLy8vIFNldHMgcmFkaW8gdG91Y2ggdGFyZ2V0IHNpemUgd2hpY2ggY2FuIGJlIG1vcmUgdGhhbiB0aGUgcmlwcGxlIHNpemUuIFBhcmFtIGAkcmlwcGxlLXNpemVgIGlzIHJlcXVpcmVkIGZvciBjdXN0b21cbi8vLyByaXBwbGUgc2l6ZS5cbi8vL1xuLy8vIEBwYXJhbSB7TnVtYmVyfSAkc2l6ZSBTaXplIG9mIHRvdWNoIHRhcmdldCAoTmF0aXZlIGlucHV0KSBpbiBgcHhgLlxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkcmlwcGxlLXNpemUgU2l6ZSBvZiByaXBwbGUgaW4gYHB4YC4gUmVxdWlyZWQgb25seSBmb3IgY3VzdG9tIHJpcHBsZSBzaXplLlxuLy8vXG5AbWl4aW4gdG91Y2gtdGFyZ2V0KFxuICAkc2l6ZTogdmFyaWFibGVzLiRyaXBwbGUtc2l6ZSxcbiAgJHJpcHBsZS1zaXplOiB2YXJpYWJsZXMuJHJpcHBsZS1zaXplLFxuICAkcXVlcnk6IGZlYXR1cmUtdGFyZ2V0aW5nLWZ1bmN0aW9ucy5hbGwoKSkge1xuICAkZmVhdC1zdHJ1Y3R1cmU6IGZlYXR1cmUtdGFyZ2V0aW5nLWZ1bmN0aW9ucy5jcmVhdGUtdGFyZ2V0KCRxdWVyeSwgc3RydWN0dXJlKTtcbiAgJG9mZnNldDogKCRyaXBwbGUtc2l6ZSAtICRzaXplKSAvIDI7XG5cbiAgLm1kYy1yYWRpb19fbmF0aXZlLWNvbnRyb2wge1xuICAgIEBpbmNsdWRlIGZlYXR1cmUtdGFyZ2V0aW5nLW1peGlucy50YXJnZXRzKCRmZWF0LXN0cnVjdHVyZSkge1xuICAgICAgdG9wOiAkb2Zmc2V0O1xuICAgICAgcmlnaHQ6ICRvZmZzZXQ7XG4gICAgICBsZWZ0OiAkb2Zmc2V0O1xuICAgICAgd2lkdGg6ICRzaXplO1xuICAgICAgaGVpZ2h0OiAkc2l6ZTtcbiAgICB9XG4gIH1cbn1cblxuLy8vXG4vLy8gU2V0cyBkZW5zaXR5IHNjYWxlIGZvciByYWRpby5cbi8vL1xuLy8vIEBwYXJhbSB7TnVtYmVyIHwgU3RyaW5nfSAkZGVuc2l0eS1zY2FsZSAtIERlbnNpdHkgc2NhbGUgdmFsdWUgZm9yIGNvbXBvbmVudC4gU3VwcG9ydGVkIGRlbnNpdHkgc2NhbGUgdmFsdWVzXG4vLy8gICAgIGAtM2AsIGAtMmAsIGAtMWAsIGAwYC5cbi8vL1xuQG1peGluIGRlbnNpdHkoJGRlbnNpdHktc2NhbGUsICRxdWVyeTogZmVhdHVyZS10YXJnZXRpbmctZnVuY3Rpb25zLmFsbCgpKSB7XG4gICRzaXplOiBkZW5zaXR5LWZ1bmN0aW9ucy5wcm9wLXZhbHVlKFxuICAgICRkZW5zaXR5LWNvbmZpZzogdmFyaWFibGVzLiRkZW5zaXR5LWNvbmZpZyxcbiAgICAkZGVuc2l0eS1zY2FsZTogJGRlbnNpdHktc2NhbGUsXG4gICAgJHByb3BlcnR5LW5hbWU6IHNpemUsXG4gICk7XG5cbiAgQGluY2x1ZGUgcmlwcGxlLXNpemUoJHNpemUsICRxdWVyeTogJHF1ZXJ5KTtcbiAgLy8gU2V0cyB0b3VjaCB0YXJnZXQgc2l6ZSBzYW1lIGFzIHJpcHBsZSBzaXplLlxuICBAaW5jbHVkZSB0b3VjaC10YXJnZXQoJHNpemU6ICRzaXplLCAkcmlwcGxlLXNpemU6ICRzaXplLCAkcXVlcnk6ICRxdWVyeSk7XG5cbiAgQGlmICRkZW5zaXR5LXNjYWxlICE9IDAge1xuICAgIEBpbmNsdWRlIHRvdWNoLXRhcmdldC1yZXNldF8oJHF1ZXJ5OiAkcXVlcnkpO1xuICB9XG59XG5cbi8vL1xuLy8vIFNldHMgcmFkaW8gcmlwcGxlIHNpemUuXG4vLy9cbi8vLyBAcGFyYW0ge051bWJlcn0gJHNpemUgLSBSaXBwbGUgc2l6ZSBpbiBgcHhgLlxuLy8vXG5AbWl4aW4gcmlwcGxlLXNpemUoJHNpemUsICRxdWVyeTogZmVhdHVyZS10YXJnZXRpbmctZnVuY3Rpb25zLmFsbCgpKSB7XG4gICRmZWF0LXN0cnVjdHVyZTogZmVhdHVyZS10YXJnZXRpbmctZnVuY3Rpb25zLmNyZWF0ZS10YXJnZXQoJHF1ZXJ5LCBzdHJ1Y3R1cmUpO1xuICAkcGFkZGluZzogKCRzaXplIC0gdmFyaWFibGVzLiRpY29uLXNpemUpIC8gMjtcblxuICBAaW5jbHVkZSBmZWF0dXJlLXRhcmdldGluZy1taXhpbnMudGFyZ2V0cygkZmVhdC1zdHJ1Y3R1cmUpIHtcbiAgICBwYWRkaW5nOiAkcGFkZGluZztcbiAgfVxuXG4gIC5tZGMtcmFkaW9fX2JhY2tncm91bmQ6OmJlZm9yZSB7XG4gICAgQGluY2x1ZGUgZmVhdHVyZS10YXJnZXRpbmctbWl4aW5zLnRhcmdldHMoJGZlYXQtc3RydWN0dXJlKSB7XG4gICAgICB0b3A6IC0kcGFkZGluZztcbiAgICAgIGxlZnQ6IC0kcGFkZGluZztcbiAgICAgIHdpZHRoOiAkc2l6ZTtcbiAgICAgIGhlaWdodDogJHNpemU7XG4gICAgfVxuICB9XG59XG5cbi8vL1xuLy8vIFJlc2V0cyB0b3VjaCB0YXJnZXQtcmVsYXRlZCBzdHlsZXMuIFRoaXMgaXMgY2FsbGVkIGZyb20gdGhlIGRlbnNpdHkgbWl4aW4gdG9cbi8vLyBhdXRvbWF0aWNhbGx5IHJlbW92ZSB0aGUgaW5jcmVhc2VkIHRvdWNoIHRhcmdldCwgc2luY2UgZGVuc2UgY29tcG9uZW50c1xuLy8vIGRvbid0IGhhdmUgdGhlIHNhbWUgZGVmYXVsdCBhMTF5IHJlcXVpcmVtZW50cy5cbi8vLyBAYWNjZXNzIHByaXZhdGVcbi8vL1xuQG1peGluIHRvdWNoLXRhcmdldC1yZXNldF8oJHF1ZXJ5OiBmZWF0dXJlLXRhcmdldGluZy1mdW5jdGlvbnMuYWxsKCkpIHtcbiAgJGZlYXQtc3RydWN0dXJlOiBmZWF0dXJlLXRhcmdldGluZy1mdW5jdGlvbnMuY3JlYXRlLXRhcmdldCgkcXVlcnksIHN0cnVjdHVyZSk7XG5cbiAgQGluY2x1ZGUgZmVhdHVyZS10YXJnZXRpbmctbWl4aW5zLnRhcmdldHMoJGZlYXQtc3RydWN0dXJlKSB7XG4gICAgbWFyZ2luOiAwO1xuICB9XG59XG5cbi8vL1xuLy8vIEhlbHBzIHNlbGVjdCB0aGUgcmFkaW8gYmFja2dyb3VuZCBvbmx5IHdoZW4gaXRzIG5hdGl2ZSBjb250cm9sIGlzIGluIHRoZVxuLy8vIGVuYWJsZWQgc3RhdGUuXG4vLy8gQGFjY2VzcyBwcml2YXRlXG4vLy9cbkBtaXhpbiBpZi1lbmFibGVkXyB7XG4gIC5tZGMtcmFkaW9fX25hdGl2ZS1jb250cm9sOmVuYWJsZWQgKyB7XG4gICAgQGNvbnRlbnQ7XG4gIH1cbn1cblxuLy8vXG4vLy8gSGVscHMgc2VsZWN0IHRoZSByYWRpbyBiYWNrZ3JvdW5kIG9ubHkgd2hlbiBpdHMgbmF0aXZlIGNvbnRyb2wgaXMgaW4gdGhlXG4vLy8gZW5hYmxlZCAmIHVuY2hlY2tlZCBzdGF0ZS5cbi8vLyBAYWNjZXNzIHByaXZhdGVcbi8vL1xuQG1peGluIGlmLWVuYWJsZWQtdW5jaGVja2VkXyB7XG4gIC5tZGMtcmFkaW9fX25hdGl2ZS1jb250cm9sOmVuYWJsZWQ6bm90KDpjaGVja2VkKSArIHtcbiAgICBAY29udGVudDtcbiAgfVxufVxuXG4vLy9cbi8vLyBIZWxwcyBzZWxlY3QgdGhlIHJhZGlvIGJhY2tncm91bmQgb25seSB3aGVuIGl0cyBuYXRpdmUgY29udHJvbCBpcyBpbiB0aGVcbi8vLyBlbmFibGVkICYgY2hlY2tlZCBzdGF0ZS5cbi8vLyBAYWNjZXNzIHByaXZhdGVcbi8vL1xuQG1peGluIGlmLWVuYWJsZWQtY2hlY2tlZF8ge1xuICAubWRjLXJhZGlvX19uYXRpdmUtY29udHJvbDplbmFibGVkOmNoZWNrZWQgKyB7XG4gICAgQGNvbnRlbnQ7XG4gIH1cbn1cblxuLy8vXG4vLy8gSGVscHMgc2VsZWN0IHRoZSByYWRpbyBiYWNrZ3JvdW5kIG9ubHkgd2hlbiBpdHMgbmF0aXZlIGNvbnRyb2wgaXMgaW4gdGhlXG4vLy8gZGlzYWJsZWQgc3RhdGUuXG4vLy8gQGFjY2VzcyBwcml2YXRlXG4vLy9cbkBtaXhpbiBpZi1kaXNhYmxlZF8ge1xuICBbYXJpYS1kaXNhYmxlZD1cInRydWVcIl0gLm1kYy1yYWRpb19fbmF0aXZlLWNvbnRyb2wsXG4gIC5tZGMtcmFkaW9fX25hdGl2ZS1jb250cm9sOmRpc2FibGVkIHtcbiAgICArIHtcbiAgICAgIEBjb250ZW50O1xuICAgIH1cbiAgfVxufVxuXG4vLy9cbi8vLyBIZWxwcyBzZWxlY3QgdGhlIHJhZGlvIGJhY2tncm91bmQgb25seSB3aGVuIGl0cyBuYXRpdmUgY29udHJvbCBpcyBpbiB0aGVcbi8vLyBkaXNhYmxlZCAmIHVuY2hlY2tlZCBzdGF0ZS5cbi8vLyBAYWNjZXNzIHByaXZhdGVcbi8vL1xuQG1peGluIGlmLWRpc2FibGVkLXVuY2hlY2tlZF8ge1xuICBbYXJpYS1kaXNhYmxlZD1cInRydWVcIl0gLm1kYy1yYWRpb19fbmF0aXZlLWNvbnRyb2wsXG4gIC5tZGMtcmFkaW9fX25hdGl2ZS1jb250cm9sOmRpc2FibGVkIHtcbiAgICAmOm5vdCg6Y2hlY2tlZCkgKyB7XG4gICAgICBAY29udGVudDtcbiAgICB9XG4gIH1cbn1cblxuLy8vXG4vLy8gSGVscHMgc2VsZWN0IHRoZSByYWRpbyBiYWNrZ3JvdW5kIG9ubHkgd2hlbiBpdHMgbmF0aXZlIGNvbnRyb2wgaXMgaW4gdGhlXG4vLy8gZGlzYWJsZWQgJiBjaGVja2VkIHN0YXRlLlxuLy8vIEBhY2Nlc3MgcHJpdmF0ZVxuLy8vXG5AbWl4aW4gaWYtZGlzYWJsZWQtY2hlY2tlZF8ge1xuICBbYXJpYS1kaXNhYmxlZD1cInRydWVcIl0gLm1kYy1yYWRpb19fbmF0aXZlLWNvbnRyb2wsXG4gIC5tZGMtcmFkaW9fX25hdGl2ZS1jb250cm9sOmRpc2FibGVkIHtcbiAgICAmOmNoZWNrZWQgKyB7XG4gICAgICBAY29udGVudDtcbiAgICB9XG4gIH1cbn1cblxuLy8vXG4vLy8gU2V0cyB0aGUgaW5rIGNvbG9yIGZvciByYWRpby4gVGhpcyBpcyB3cmFwcGVkIGluIGEgbWl4aW5cbi8vLyB0aGF0IHF1YWxpZmllcyBzdGF0ZSBzdWNoIGFzIGBtZGMtcmFkaW8taWYtZW5hYmxlZF9gXG4vLy8gQGFjY2VzcyBwcml2YXRlXG4vLy9cbkBtaXhpbiBpbmstY29sb3JfKCRjb2xvciwgJHF1ZXJ5OiBmZWF0dXJlLXRhcmdldGluZy1mdW5jdGlvbnMuYWxsKCkpIHtcbiAgJGZlYXQtY29sb3I6IGZlYXR1cmUtdGFyZ2V0aW5nLWZ1bmN0aW9ucy5jcmVhdGUtdGFyZ2V0KCRxdWVyeSwgY29sb3IpO1xuXG4gIC5tZGMtcmFkaW9fX2JhY2tncm91bmQgLm1kYy1yYWRpb19faW5uZXItY2lyY2xlIHtcbiAgICBAaW5jbHVkZSBmZWF0dXJlLXRhcmdldGluZy1taXhpbnMudGFyZ2V0cygkZmVhdC1jb2xvcikge1xuICAgICAgQGluY2x1ZGUgdGhlbWUtbWl4aW5zLnByb3AoYm9yZGVyLWNvbG9yLCAkY29sb3IpO1xuICAgIH1cbiAgfVxufVxuXG4vLy9cbi8vLyBTZXRzIHRoZSBzdHJva2UgY29sb3IgZm9yIHJhZGlvLiBUaGlzIGlzIHdyYXBwZWQgaW4gYSBtaXhpblxuLy8vIHRoYXQgcXVhbGlmaWVzIHN0YXRlIHN1Y2ggYXMgYG1kYy1yYWRpby1pZi1lbmFibGVkX2Bcbi8vLyBAYWNjZXNzIHByaXZhdGVcbi8vL1xuQG1peGluIHN0cm9rZS1jb2xvcl8oJGNvbG9yLCAkcXVlcnk6IGZlYXR1cmUtdGFyZ2V0aW5nLWZ1bmN0aW9ucy5hbGwoKSkge1xuICAkZmVhdC1jb2xvcjogZmVhdHVyZS10YXJnZXRpbmctZnVuY3Rpb25zLmNyZWF0ZS10YXJnZXQoJHF1ZXJ5LCBjb2xvcik7XG5cbiAgLm1kYy1yYWRpb19fYmFja2dyb3VuZCAubWRjLXJhZGlvX19vdXRlci1jaXJjbGUge1xuICAgIEBpbmNsdWRlIGZlYXR1cmUtdGFyZ2V0aW5nLW1peGlucy50YXJnZXRzKCRmZWF0LWNvbG9yKSB7XG4gICAgICBAaW5jbHVkZSB0aGVtZS1taXhpbnMucHJvcChib3JkZXItY29sb3IsICRjb2xvcik7XG4gICAgfVxuICB9XG59XG4iLCIvL1xuLy8gQ29weXJpZ2h0IDIwMTggR29vZ2xlIEluYy5cbi8vXG4vLyBQZXJtaXNzaW9uIGlzIGhlcmVieSBncmFudGVkLCBmcmVlIG9mIGNoYXJnZSwgdG8gYW55IHBlcnNvbiBvYnRhaW5pbmcgYSBjb3B5XG4vLyBvZiB0aGlzIHNvZnR3YXJlIGFuZCBhc3NvY2lhdGVkIGRvY3VtZW50YXRpb24gZmlsZXMgKHRoZSBcIlNvZnR3YXJlXCIpLCB0byBkZWFsXG4vLyBpbiB0aGUgU29mdHdhcmUgd2l0aG91dCByZXN0cmljdGlvbiwgaW5jbHVkaW5nIHdpdGhvdXQgbGltaXRhdGlvbiB0aGUgcmlnaHRzXG4vLyB0byB1c2UsIGNvcHksIG1vZGlmeSwgbWVyZ2UsIHB1Ymxpc2gsIGRpc3RyaWJ1dGUsIHN1YmxpY2Vuc2UsIGFuZC9vciBzZWxsXG4vLyBjb3BpZXMgb2YgdGhlIFNvZnR3YXJlLCBhbmQgdG8gcGVybWl0IHBlcnNvbnMgdG8gd2hvbSB0aGUgU29mdHdhcmUgaXNcbi8vIGZ1cm5pc2hlZCB0byBkbyBzbywgc3ViamVjdCB0byB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnM6XG4vL1xuLy8gVGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UgYW5kIHRoaXMgcGVybWlzc2lvbiBub3RpY2Ugc2hhbGwgYmUgaW5jbHVkZWQgaW5cbi8vIGFsbCBjb3BpZXMgb3Igc3Vic3RhbnRpYWwgcG9ydGlvbnMgb2YgdGhlIFNvZnR3YXJlLlxuLy9cbi8vIFRIRSBTT0ZUV0FSRSBJUyBQUk9WSURFRCBcIkFTIElTXCIsIFdJVEhPVVQgV0FSUkFOVFkgT0YgQU5ZIEtJTkQsIEVYUFJFU1MgT1Jcbi8vIElNUExJRUQsIElOQ0xVRElORyBCVVQgTk9UIExJTUlURUQgVE8gVEhFIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZLFxuLy8gRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQU5EIE5PTklORlJJTkdFTUVOVC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFXG4vLyBBVVRIT1JTIE9SIENPUFlSSUdIVCBIT0xERVJTIEJFIExJQUJMRSBGT1IgQU5ZIENMQUlNLCBEQU1BR0VTIE9SIE9USEVSXG4vLyBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQU4gQUNUSU9OIE9GIENPTlRSQUNULCBUT1JUIE9SIE9USEVSV0lTRSwgQVJJU0lORyBGUk9NLFxuLy8gT1VUIE9GIE9SIElOIENPTk5FQ1RJT04gV0lUSCBUSEUgU09GVFdBUkUgT1IgVEhFIFVTRSBPUiBPVEhFUiBERUFMSU5HUyBJTlxuLy8gVEhFIFNPRlRXQVJFLlxuLy9cblxuQHVzZSBcInNhc3M6bGlzdFwiO1xuQHVzZSBcIkBtYXRlcmlhbC90aGVtZS9taXhpbnNcIiBhcyB0aGVtZS1taXhpbnM7XG5AdXNlIFwiQG1hdGVyaWFsL3NoYXBlL21peGluc1wiIGFzIHNoYXBlLW1peGlucztcbkB1c2UgXCJAbWF0ZXJpYWwvZmxvYXRpbmctbGFiZWwvbWl4aW5zXCIgYXMgZmxvYXRpbmctbGFiZWwtbWl4aW5zO1xuQHVzZSBcIkBtYXRlcmlhbC9zaGFwZS9mdW5jdGlvbnNcIiBhcyBzaGFwZS1mdW5jdGlvbnM7XG5AdXNlIFwiQG1hdGVyaWFsL2ZlYXR1cmUtdGFyZ2V0aW5nL2Z1bmN0aW9uc1wiIGFzIGZlYXR1cmUtdGFyZ2V0aW5nLWZ1bmN0aW9ucztcbkB1c2UgXCJAbWF0ZXJpYWwvZmVhdHVyZS10YXJnZXRpbmcvbWl4aW5zXCIgYXMgZmVhdHVyZS10YXJnZXRpbmctbWl4aW5zO1xuQHVzZSBcIkBtYXRlcmlhbC9ydGwvbWl4aW5zXCIgYXMgcnRsLW1peGlucztcbkB1c2UgXCIuL3ZhcmlhYmxlc1wiO1xuXG5AbWl4aW4gY29yZS1zdHlsZXMoJHF1ZXJ5OiBmZWF0dXJlLXRhcmdldGluZy1mdW5jdGlvbnMuYWxsKCkpIHtcbiAgJGZlYXQtc3RydWN0dXJlOiBmZWF0dXJlLXRhcmdldGluZy1mdW5jdGlvbnMuY3JlYXRlLXRhcmdldCgkcXVlcnksIHN0cnVjdHVyZSk7XG5cbiAgLm1kYy1ub3RjaGVkLW91dGxpbmUge1xuICAgIEBpbmNsdWRlIGJhc2VfKCRxdWVyeSk7XG5cbiAgICAmX19sZWFkaW5nLFxuICAgICZfX25vdGNoLFxuICAgICZfX3RyYWlsaW5nIHtcbiAgICAgIEBpbmNsdWRlIGZlYXR1cmUtdGFyZ2V0aW5nLW1peGlucy50YXJnZXRzKCRmZWF0LXN0cnVjdHVyZSkge1xuICAgICAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgIGJvcmRlci10b3A6IHZhcmlhYmxlcy4kYm9yZGVyLXdpZHRoIHNvbGlkO1xuICAgICAgICBib3JkZXItYm90dG9tOiB2YXJpYWJsZXMuJGJvcmRlci13aWR0aCBzb2xpZDtcbiAgICAgICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gICAgICB9XG4gICAgfVxuXG4gICAgJl9fbGVhZGluZyB7XG4gICAgICBAaW5jbHVkZSBmZWF0dXJlLXRhcmdldGluZy1taXhpbnMudGFyZ2V0cygkZmVhdC1zdHJ1Y3R1cmUpIHtcbiAgICAgICAgQGluY2x1ZGUgcnRsLW1peGlucy5yZWZsZXhpdmUtcHJvcGVydHkoYm9yZGVyLCB2YXJpYWJsZXMuJGJvcmRlci13aWR0aCBzb2xpZCwgbm9uZSk7XG5cbiAgICAgICAgd2lkdGg6IHZhcmlhYmxlcy4kbGVhZGluZy13aWR0aDtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAmX190cmFpbGluZyB7XG4gICAgICBAaW5jbHVkZSBmZWF0dXJlLXRhcmdldGluZy1taXhpbnMudGFyZ2V0cygkZmVhdC1zdHJ1Y3R1cmUpIHtcbiAgICAgICAgQGluY2x1ZGUgcnRsLW1peGlucy5yZWZsZXhpdmUtcHJvcGVydHkoYm9yZGVyLCBub25lLCB2YXJpYWJsZXMuJGJvcmRlci13aWR0aCBzb2xpZCk7XG5cbiAgICAgICAgZmxleC1ncm93OiAxO1xuICAgICAgfVxuICAgIH1cblxuICAgICZfX25vdGNoIHtcbiAgICAgIEBpbmNsdWRlIGZlYXR1cmUtdGFyZ2V0aW5nLW1peGlucy50YXJnZXRzKCRmZWF0LXN0cnVjdHVyZSkge1xuICAgICAgICBmbGV4OiAwIDAgYXV0bztcbiAgICAgICAgd2lkdGg6IGF1dG87XG4gICAgICAgIG1heC13aWR0aDogY2FsYygxMDAlIC0gI3t2YXJpYWJsZXMuJGxlYWRpbmctd2lkdGh9ICogMik7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLm1kYy1mbG9hdGluZy1sYWJlbCB7XG4gICAgICBAaW5jbHVkZSBmZWF0dXJlLXRhcmdldGluZy1taXhpbnMudGFyZ2V0cygkZmVhdC1zdHJ1Y3R1cmUpIHtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIG1heC13aWR0aDogMTAwJTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAubWRjLWZsb2F0aW5nLWxhYmVsLS1mbG9hdC1hYm92ZSB7XG4gICAgICBAaW5jbHVkZSBmZWF0dXJlLXRhcmdldGluZy1taXhpbnMudGFyZ2V0cygkZmVhdC1zdHJ1Y3R1cmUpIHtcbiAgICAgICAgdGV4dC1vdmVyZmxvdzogY2xpcDtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAmLS11cGdyYWRlZCAubWRjLWZsb2F0aW5nLWxhYmVsLS1mbG9hdC1hYm92ZSB7XG4gICAgICBAaW5jbHVkZSBmZWF0dXJlLXRhcmdldGluZy1taXhpbnMudGFyZ2V0cygkZmVhdC1zdHJ1Y3R1cmUpIHtcbiAgICAgICAgbWF4LXdpZHRoOiBjYWxjKDEwMCUgLyAuNzUpO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC5tZGMtbm90Y2hlZC1vdXRsaW5lLS1ub3RjaGVkIHtcbiAgICAubWRjLW5vdGNoZWQtb3V0bGluZV9fbm90Y2gge1xuICAgICAgQGluY2x1ZGUgZmVhdHVyZS10YXJnZXRpbmctbWl4aW5zLnRhcmdldHMoJGZlYXQtc3RydWN0dXJlKSB7XG4gICAgICAgIEBpbmNsdWRlIHJ0bC1taXhpbnMucmVmbGV4aXZlLWJveChwYWRkaW5nLCByaWdodCwgOHB4KTtcblxuICAgICAgICBib3JkZXItdG9wOiBub25lO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC5tZGMtbm90Y2hlZC1vdXRsaW5lLS1uby1sYWJlbCB7XG4gICAgLm1kYy1ub3RjaGVkLW91dGxpbmVfX25vdGNoIHtcbiAgICAgIEBpbmNsdWRlIGZlYXR1cmUtdGFyZ2V0aW5nLW1peGlucy50YXJnZXRzKCRmZWF0LXN0cnVjdHVyZSkge1xuICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG5AbWl4aW4gY29sb3IoJGNvbG9yLCAkcXVlcnk6IGZlYXR1cmUtdGFyZ2V0aW5nLWZ1bmN0aW9ucy5hbGwoKSkge1xuICAkZmVhdC1jb2xvcjogZmVhdHVyZS10YXJnZXRpbmctZnVuY3Rpb25zLmNyZWF0ZS10YXJnZXQoJHF1ZXJ5LCBjb2xvcik7XG5cbiAgLm1kYy1ub3RjaGVkLW91dGxpbmVfX2xlYWRpbmcsXG4gIC5tZGMtbm90Y2hlZC1vdXRsaW5lX19ub3RjaCxcbiAgLm1kYy1ub3RjaGVkLW91dGxpbmVfX3RyYWlsaW5nIHtcbiAgICBAaW5jbHVkZSBmZWF0dXJlLXRhcmdldGluZy1taXhpbnMudGFyZ2V0cygkZmVhdC1jb2xvcikge1xuICAgICAgQGluY2x1ZGUgdGhlbWUtbWl4aW5zLnByb3AoYm9yZGVyLWNvbG9yLCAkY29sb3IpO1xuICAgIH1cbiAgfVxufVxuXG5AbWl4aW4gc3Ryb2tlLXdpZHRoKCR3aWR0aCwgJHF1ZXJ5OiBmZWF0dXJlLXRhcmdldGluZy1mdW5jdGlvbnMuYWxsKCkpIHtcbiAgJGZlYXQtc3RydWN0dXJlOiBmZWF0dXJlLXRhcmdldGluZy1mdW5jdGlvbnMuY3JlYXRlLXRhcmdldCgkcXVlcnksIHN0cnVjdHVyZSk7XG5cbiAgLm1kYy1ub3RjaGVkLW91dGxpbmVfX2xlYWRpbmcsXG4gIC5tZGMtbm90Y2hlZC1vdXRsaW5lX19ub3RjaCxcbiAgLm1kYy1ub3RjaGVkLW91dGxpbmVfX3RyYWlsaW5nIHtcbiAgICBAaW5jbHVkZSBmZWF0dXJlLXRhcmdldGluZy1taXhpbnMudGFyZ2V0cygkZmVhdC1zdHJ1Y3R1cmUpIHtcbiAgICAgIGJvcmRlci13aWR0aDogJHdpZHRoO1xuICAgIH1cbiAgfVxufVxuXG4vLy9cbi8vLyBBZGRzIHRvcCBvZmZzZXQgdG8gY29tcGVuc2F0ZSBmb3IgYm9yZGVyIHdpZHRoIGJveCBzaXplIHdoZW4gaXQgaXMgbm90Y2hlZC5cbi8vLyBVc2UgdGhpcyB3aGVuIGZsb2F0aW5nIGxhYmVsIGlzIGFsaWduZWQgdG8gY2VudGVyIHRvIHByZXZlbnQgbGFiZWwganVtcCBvbiBmb2N1cy5cbi8vLyBAcGFyYW0ge051bWJlcn0gJHN0cm9rZS13aWR0aCBTdHJva2Ugd2lkdGggb2Ygbm90Y2hlZCBvdXRsaW5lIHRoYXQgbmVlZHMgdG8gYmUgb2Zmc2V0LlxuLy8vXG5AbWl4aW4gbm90Y2gtb2Zmc2V0KCRzdHJva2Utd2lkdGgsICRxdWVyeTogZmVhdHVyZS10YXJnZXRpbmctZnVuY3Rpb25zLmFsbCgpKSB7XG4gICRmZWF0LXN0cnVjdHVyZTogZmVhdHVyZS10YXJnZXRpbmctZnVuY3Rpb25zLmNyZWF0ZS10YXJnZXQoJHF1ZXJ5LCBzdHJ1Y3R1cmUpO1xuXG4gIC5tZGMtbm90Y2hlZC1vdXRsaW5lLS1ub3RjaGVkIC5tZGMtbm90Y2hlZC1vdXRsaW5lX19ub3RjaCB7XG4gICAgQGluY2x1ZGUgZmVhdHVyZS10YXJnZXRpbmctbWl4aW5zLnRhcmdldHMoJGZlYXQtc3RydWN0dXJlKSB7XG4gICAgICBwYWRkaW5nLXRvcDogJHN0cm9rZS13aWR0aDtcbiAgICB9XG4gIH1cbn1cblxuQG1peGluIHNoYXBlLXJhZGl1cygkcmFkaXVzLCAkcnRsLXJlZmxleGl2ZTogZmFsc2UsICRxdWVyeTogZmVhdHVyZS10YXJnZXRpbmctZnVuY3Rpb25zLmFsbCgpKSB7XG4gICRmZWF0LXN0cnVjdHVyZTogZmVhdHVyZS10YXJnZXRpbmctZnVuY3Rpb25zLmNyZWF0ZS10YXJnZXQoJHF1ZXJ5LCBzdHJ1Y3R1cmUpO1xuICAkcmFkaXVzOiBzaGFwZS1mdW5jdGlvbnMucHJvcC12YWx1ZSgkcmFkaXVzKTtcblxuICBAaWYgKGxpc3QubGVuZ3RoKCRyYWRpdXMpID4gMSkge1xuICAgIC8vIHN0eWxlbGludC1kaXNhYmxlLW5leHQtbGluZSBtYXgtbGluZS1sZW5ndGhcbiAgICBAd2FybiBcIm1kYy1ub3RjaGVkLW91dGxpbmUtc2hhcGUtcmFkaXVzIG9ubHkgc3VwcG9ydHMgYSBzaW5nbGUgcmFkaXVzOyBzZWUgaHR0cHM6Ly9naXRodWIuY29tL21hdGVyaWFsLWNvbXBvbmVudHMvbWF0ZXJpYWwtY29tcG9uZW50cy13ZWIvaXNzdWVzLzQxNDBcIjtcbiAgfVxuXG4gICRyYWRpdXM6IGxpc3QubnRoKCRyYWRpdXMsIDEpO1xuXG4gIC5tZGMtbm90Y2hlZC1vdXRsaW5lX19sZWFkaW5nIHtcbiAgICBAaW5jbHVkZSBzaGFwZS1taXhpbnMucmFkaXVzKHNoYXBlLWZ1bmN0aW9ucy5tYXNrLXJhZGl1cygkcmFkaXVzLCAxIDAgMCAxKSwgJHJ0bC1yZWZsZXhpdmU6IHRydWUsICRxdWVyeTogJHF1ZXJ5KTtcblxuICAgIEBpbmNsdWRlIGZlYXR1cmUtdGFyZ2V0aW5nLW1peGlucy50YXJnZXRzKCRmZWF0LXN0cnVjdHVyZSkge1xuICAgICAgQGlmICgkcmFkaXVzID4gdmFyaWFibGVzLiRsZWFkaW5nLXdpZHRoKSB7XG4gICAgICAgIHdpZHRoOiAkcmFkaXVzO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIEBpZiAoJHJhZGl1cyA+IHZhcmlhYmxlcy4kbGVhZGluZy13aWR0aCkge1xuICAgIC5tZGMtbm90Y2hlZC1vdXRsaW5lX19ub3RjaCB7XG4gICAgICBAaW5jbHVkZSBmZWF0dXJlLXRhcmdldGluZy1taXhpbnMudGFyZ2V0cygkZmVhdC1zdHJ1Y3R1cmUpIHtcbiAgICAgICAgbWF4LXdpZHRoOiBjYWxjKDEwMCUgLSAjeyRyYWRpdXN9ICogMik7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLm1kYy1ub3RjaGVkLW91dGxpbmVfX3RyYWlsaW5nIHtcbiAgICBAaW5jbHVkZSBzaGFwZS1taXhpbnMucmFkaXVzKHNoYXBlLWZ1bmN0aW9ucy5tYXNrLXJhZGl1cygkcmFkaXVzLCAwIDEgMSAwKSwgJHJ0bC1yZWZsZXhpdmU6IHRydWUsICRxdWVyeTogJHF1ZXJ5KTtcbiAgfVxufVxuXG5AbWl4aW4gZmxvYXRpbmctbGFiZWwtZmxvYXQtcG9zaXRpb24oXG4gICRwb3NpdGlvblksICRwb3NpdGlvblg6IDAlLCAkc2NhbGU6IC43NSwgJHF1ZXJ5OiBmZWF0dXJlLXRhcmdldGluZy1mdW5jdGlvbnMuYWxsKCkpIHtcbiAgJGZlYXQtc3RydWN0dXJlOiBmZWF0dXJlLXRhcmdldGluZy1mdW5jdGlvbnMuY3JlYXRlLXRhcmdldCgkcXVlcnksIHN0cnVjdHVyZSk7XG5cbiAgQGluY2x1ZGUgZmxvYXRpbmctbGFiZWwtbWl4aW5zLmZsb2F0LXBvc2l0aW9uKFxuICAgICRwb3NpdGlvblkgKyB2YXJpYWJsZXMuJGxhYmVsLWFkanVzdCwgJHBvc2l0aW9uWCwgMSwgJHF1ZXJ5OiAkcXVlcnkpO1xuXG4gIC5tZGMtZmxvYXRpbmctbGFiZWwtLWZsb2F0LWFib3ZlIHtcbiAgICBAaW5jbHVkZSBmZWF0dXJlLXRhcmdldGluZy1taXhpbnMudGFyZ2V0cygkZmVhdC1zdHJ1Y3R1cmUpIHtcbiAgICAgIGZvbnQtc2l6ZTogKCRzY2FsZSAqIDFyZW0pO1xuICAgIH1cbiAgfVxuXG4gIC8vIFR3byBzZWxlY3RvcnMgdG8gZW5zdXJlIHdlIHNlbGVjdCB0aGUgYXBwcm9wcmlhdGUgY2xhc3Mgd2hlbiBhcHBsaWVkIGZyb20gdGhpcyBjb21wb25lbnQgb3IgYSBwYXJlbnQgY29tcG9uZW50LlxuICAmLm1kYy1ub3RjaGVkLW91dGxpbmUtLXVwZ3JhZGVkLFxuICAubWRjLW5vdGNoZWQtb3V0bGluZS0tdXBncmFkZWQge1xuICAgIEBpbmNsdWRlIGZsb2F0aW5nLWxhYmVsLW1peGlucy5mbG9hdC1wb3NpdGlvbigkcG9zaXRpb25ZLCAkcG9zaXRpb25YLCAkc2NhbGUsICRxdWVyeTogJHF1ZXJ5KTtcblxuICAgIC8vIHN0eWxlbGludC1kaXNhYmxlLW5leHQtbGluZSBuby1kZXNjZW5kaW5nLXNwZWNpZmljaXR5XG4gICAgLm1kYy1mbG9hdGluZy1sYWJlbC0tZmxvYXQtYWJvdmUge1xuICAgICAgQGluY2x1ZGUgZmVhdHVyZS10YXJnZXRpbmctbWl4aW5zLnRhcmdldHMoJGZlYXQtc3RydWN0dXJlKSB7XG4gICAgICAgIGZvbnQtc2l6ZTogMXJlbTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuLy8vXG4vLy8gU2V0cyBmbG9hdGluZyBsYWJlbCBwb3NpdGlvbiBpbiBub3RjaGVkIG91dGxpbmUgd2hlbiBsYWJlbCBpcyBhZmxvYXQuXG4vLy9cbi8vLyBAcGFyYW0ge051bWJlcn0gJHBvc2l0aW9uWSBBYnNvbHV0ZSBZLWF4aXMgcG9zaXRpb24gaW4gYHB4YC5cbi8vLyBAcGFyYW0ge051bWJlcn0gJHBvc2l0aW9uWCBBYnNvbHV0ZSBYLWF4aXMgcG9zaXRpb24gaW4gYHB4YC4gRGVmYXVsdHMgdG8gYDBgLlxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkc2NhbGUgRGVmYXVsdHMgdG8gYC43NWAuXG4vLy9cbi8vLyBAdG9kbyBSZXBsYWNlIG1peGluIGBtZGMtbm90Y2hlZC1vdXRsaW5lLWZsb2F0aW5nLWxhYmVsLWZsb2F0LXBvc2l0aW9uYCB3aXRoIHRoaXMgbWl4aW4gd2hlbiBmbG9hdGluZyBsYWJlbCBpc1xuLy8vICAgICBjZW50ZXIgYWxpZ25lZCBpbiBhbGwgdGhlIHBsYWNlcy5cbi8vL1xuQG1peGluIGZsb2F0aW5nLWxhYmVsLWZsb2F0LXBvc2l0aW9uLWFic29sdXRlKFxuICAkcG9zaXRpb25ZLCAkcG9zaXRpb25YOiAwLCAkc2NhbGU6IC43NSwgJHF1ZXJ5OiBmZWF0dXJlLXRhcmdldGluZy1mdW5jdGlvbnMuYWxsKCkpIHtcbiAgJGZlYXQtc3RydWN0dXJlOiBmZWF0dXJlLXRhcmdldGluZy1mdW5jdGlvbnMuY3JlYXRlLXRhcmdldCgkcXVlcnksIHN0cnVjdHVyZSk7XG5cbiAgQGluY2x1ZGUgZmxvYXRpbmctbGFiZWwtbWl4aW5zLmZsb2F0LXBvc2l0aW9uKFxuICAgICRwb3NpdGlvblkgKyB2YXJpYWJsZXMuJGxhYmVsLWFkanVzdC1hYnNvbHV0ZSwgJHBvc2l0aW9uWCwgMSwgJHF1ZXJ5OiAkcXVlcnkpO1xuXG4gIC5tZGMtZmxvYXRpbmctbGFiZWwtLWZsb2F0LWFib3ZlIHtcbiAgICBAaW5jbHVkZSBmZWF0dXJlLXRhcmdldGluZy1taXhpbnMudGFyZ2V0cygkZmVhdC1zdHJ1Y3R1cmUpIHtcbiAgICAgIGZvbnQtc2l6ZTogKCRzY2FsZSAqIDFyZW0pO1xuICAgIH1cbiAgfVxuXG4gIC8vIFR3byBzZWxlY3RvcnMgdG8gZW5zdXJlIHdlIHNlbGVjdCB0aGUgYXBwcm9wcmlhdGUgY2xhc3Mgd2hlbiBhcHBsaWVkIGZyb20gdGhpcyBjb21wb25lbnQgb3IgYSBwYXJlbnQgY29tcG9uZW50LlxuICAmLm1kYy1ub3RjaGVkLW91dGxpbmUtLXVwZ3JhZGVkLFxuICAubWRjLW5vdGNoZWQtb3V0bGluZS0tdXBncmFkZWQge1xuICAgIEBpbmNsdWRlIGZsb2F0aW5nLWxhYmVsLW1peGlucy5mbG9hdC1wb3NpdGlvbihcbiAgICAgICRwb3NpdGlvblksICRwb3NpdGlvblgsICRzY2FsZSwgJHF1ZXJ5OiAkcXVlcnkpO1xuXG4gICAgLy8gc3R5bGVsaW50LWRpc2FibGUtbmV4dC1saW5lIG5vLWRlc2NlbmRpbmctc3BlY2lmaWNpdHlcbiAgICAubWRjLWZsb2F0aW5nLWxhYmVsLS1mbG9hdC1hYm92ZSB7XG4gICAgICBAaW5jbHVkZSBmZWF0dXJlLXRhcmdldGluZy1taXhpbnMudGFyZ2V0cygkZmVhdC1zdHJ1Y3R1cmUpIHtcbiAgICAgICAgZm9udC1zaXplOiAxcmVtO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG4vLy9cbi8vLyBTZXRzIHRoZSBtYXgtd2lkdGggZm9yIHRoZSBub3RjaFxuLy8vXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRtYXgtd2lkdGggTWF4LXdpZHRoIGZvciB0aGUgbm90Y2hcbi8vL1xuQG1peGluIG5vdGNoLW1heC13aWR0aCgkbWF4LXdpZHRoLCAkcXVlcnk6IGZlYXR1cmUtdGFyZ2V0aW5nLWZ1bmN0aW9ucy5hbGwoKSkge1xuICAkZmVhdC1zdHJ1Y3R1cmU6IGZlYXR1cmUtdGFyZ2V0aW5nLWZ1bmN0aW9ucy5jcmVhdGUtdGFyZ2V0KCRxdWVyeSwgc3RydWN0dXJlKTtcblxuICA6bm90KC5tZGMtbm90Y2hlZC1vdXRsaW5lLS1ub3RjaGVkKSAubWRjLW5vdGNoZWQtb3V0bGluZV9fbm90Y2gge1xuICAgIEBpbmNsdWRlIGZlYXR1cmUtdGFyZ2V0aW5nLW1peGlucy50YXJnZXRzKCRmZWF0LXN0cnVjdHVyZSkge1xuICAgICAgbWF4LXdpZHRoOiAkbWF4LXdpZHRoO1xuICAgIH1cbiAgfVxufVxuXG4vL1xuLy8gUHJpdmF0ZVxuLy9cbkBtaXhpbiBiYXNlXygkcXVlcnkpIHtcbiAgJGZlYXQtc3RydWN0dXJlOiBmZWF0dXJlLXRhcmdldGluZy1mdW5jdGlvbnMuY3JlYXRlLXRhcmdldCgkcXVlcnksIHN0cnVjdHVyZSk7XG5cbiAgQGluY2x1ZGUgZmVhdHVyZS10YXJnZXRpbmctbWl4aW5zLnRhcmdldHMoJGZlYXQtc3RydWN0dXJlKSB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAwO1xuICAgIHJpZ2h0OiAwO1xuICAgIGxlZnQ6IDA7XG4gICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIC8qIEBub2ZsaXAgKi9cbiAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xuXG4gICAgQGluY2x1ZGUgcnRsLW1peGlucy5ydGwge1xuICAgICAgLyogQG5vZmxpcCAqL1xuICAgICAgdGV4dC1hbGlnbjogcmlnaHQ7XG4gICAgfVxuICB9XG59XG4iLCIvL1xuLy8gQ29weXJpZ2h0IDIwMTggR29vZ2xlIEluYy5cbi8vXG4vLyBQZXJtaXNzaW9uIGlzIGhlcmVieSBncmFudGVkLCBmcmVlIG9mIGNoYXJnZSwgdG8gYW55IHBlcnNvbiBvYnRhaW5pbmcgYSBjb3B5XG4vLyBvZiB0aGlzIHNvZnR3YXJlIGFuZCBhc3NvY2lhdGVkIGRvY3VtZW50YXRpb24gZmlsZXMgKHRoZSBcIlNvZnR3YXJlXCIpLCB0byBkZWFsXG4vLyBpbiB0aGUgU29mdHdhcmUgd2l0aG91dCByZXN0cmljdGlvbiwgaW5jbHVkaW5nIHdpdGhvdXQgbGltaXRhdGlvbiB0aGUgcmlnaHRzXG4vLyB0byB1c2UsIGNvcHksIG1vZGlmeSwgbWVyZ2UsIHB1Ymxpc2gsIGRpc3RyaWJ1dGUsIHN1YmxpY2Vuc2UsIGFuZC9vciBzZWxsXG4vLyBjb3BpZXMgb2YgdGhlIFNvZnR3YXJlLCBhbmQgdG8gcGVybWl0IHBlcnNvbnMgdG8gd2hvbSB0aGUgU29mdHdhcmUgaXNcbi8vIGZ1cm5pc2hlZCB0byBkbyBzbywgc3ViamVjdCB0byB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnM6XG4vL1xuLy8gVGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UgYW5kIHRoaXMgcGVybWlzc2lvbiBub3RpY2Ugc2hhbGwgYmUgaW5jbHVkZWQgaW5cbi8vIGFsbCBjb3BpZXMgb3Igc3Vic3RhbnRpYWwgcG9ydGlvbnMgb2YgdGhlIFNvZnR3YXJlLlxuLy9cbi8vIFRIRSBTT0ZUV0FSRSBJUyBQUk9WSURFRCBcIkFTIElTXCIsIFdJVEhPVVQgV0FSUkFOVFkgT0YgQU5ZIEtJTkQsIEVYUFJFU1MgT1Jcbi8vIElNUExJRUQsIElOQ0xVRElORyBCVVQgTk9UIExJTUlURUQgVE8gVEhFIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZLFxuLy8gRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQU5EIE5PTklORlJJTkdFTUVOVC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFXG4vLyBBVVRIT1JTIE9SIENPUFlSSUdIVCBIT0xERVJTIEJFIExJQUJMRSBGT1IgQU5ZIENMQUlNLCBEQU1BR0VTIE9SIE9USEVSXG4vLyBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQU4gQUNUSU9OIE9GIENPTlRSQUNULCBUT1JUIE9SIE9USEVSV0lTRSwgQVJJU0lORyBGUk9NLFxuLy8gT1VUIE9GIE9SIElOIENPTk5FQ1RJT04gV0lUSCBUSEUgU09GVFdBUkUgT1IgVEhFIFVTRSBPUiBPVEhFUiBERUFMSU5HUyBJTlxuLy8gVEhFIFNPRlRXQVJFLlxuLy9cblxuQHVzZSBcInNhc3M6bGlzdFwiO1xuQHVzZSBcInNhc3M6c3RyaW5nXCI7XG5AdXNlIFwiQG1hdGVyaWFsL2FuaW1hdGlvbi92YXJpYWJsZXNcIiBhcyBhbmltYXRpb24tdmFyaWFibGVzO1xuQHVzZSBcIkBtYXRlcmlhbC9mZWF0dXJlLXRhcmdldGluZy9mdW5jdGlvbnNcIiBhcyBmZWF0dXJlLXRhcmdldGluZy1mdW5jdGlvbnM7XG5AdXNlIFwiQG1hdGVyaWFsL2ZlYXR1cmUtdGFyZ2V0aW5nL21peGluc1wiIGFzIGZlYXR1cmUtdGFyZ2V0aW5nLW1peGlucztcbkB1c2UgXCJAbWF0ZXJpYWwvZmxvYXRpbmctbGFiZWwvbWl4aW5zXCIgYXMgZmxvYXRpbmctbGFiZWwtbWl4aW5zO1xuQHVzZSBcIkBtYXRlcmlhbC9saW5lLXJpcHBsZS9taXhpbnNcIiBhcyBsaW5lLXJpcHBsZS1taXhpbnM7XG5AdXNlIFwiQG1hdGVyaWFsL25vdGNoZWQtb3V0bGluZS9taXhpbnNcIiBhcyBub3RjaGVkLW91dGxpbmUtbWl4aW5zO1xuQHVzZSBcIkBtYXRlcmlhbC9ub3RjaGVkLW91dGxpbmUvdmFyaWFibGVzXCIgYXMgbm90Y2hlZC1vdXRsaW5lLXZhcmlhYmxlcztcbkB1c2UgXCJAbWF0ZXJpYWwvcmlwcGxlL21peGluc1wiIGFzIHJpcHBsZS1taXhpbnM7XG5AdXNlIFwiQG1hdGVyaWFsL3JpcHBsZS9mdW5jdGlvbnNcIiBhcyByaXBwbGUtZnVuY3Rpb25zO1xuQHVzZSBcIkBtYXRlcmlhbC9ydGwvbWl4aW5zXCIgYXMgcnRsLW1peGlucztcbkB1c2UgXCJAbWF0ZXJpYWwvc2hhcGUvbWl4aW5zXCIgYXMgc2hhcGUtbWl4aW5zO1xuQHVzZSBcIkBtYXRlcmlhbC9zaGFwZS9mdW5jdGlvbnNcIjtcbkB1c2UgXCJAbWF0ZXJpYWwvdGhlbWUvbWl4aW5zXCIgYXMgdGhlbWUtbWl4aW5zO1xuQHVzZSBcIkBtYXRlcmlhbC90aGVtZS92YXJpYWJsZXNcIiBhcyB0aGVtZS12YXJpYWJsZXM7XG5AdXNlIFwiQG1hdGVyaWFsL3R5cG9ncmFwaHkvbWl4aW5zXCIgYXMgdHlwb2dyYXBoeS1taXhpbnM7XG5AdXNlIFwiLi9oZWxwZXItdGV4dC9taXhpbnNcIiBhcyBoZWxwZXItdGV4dC1taXhpbnM7XG5AdXNlIFwiLi9pY29uL3ZhcmlhYmxlc1wiIGFzIGljb24tdmFyaWFibGVzO1xuQHVzZSBcIi4vdmFyaWFibGVzXCI7XG5cbkBtaXhpbiBjb3JlLXN0eWxlcygkcXVlcnk6IGZlYXR1cmUtdGFyZ2V0aW5nLWZ1bmN0aW9ucy5hbGwoKSkge1xuICBAaW5jbHVkZSByaXBwbGUoJHF1ZXJ5KTtcbiAgQGluY2x1ZGUgd2l0aG91dC1yaXBwbGUoJHF1ZXJ5KTtcbn1cblxuQG1peGluIHdpdGhvdXQtcmlwcGxlKCRxdWVyeTogZmVhdHVyZS10YXJnZXRpbmctZnVuY3Rpb25zLmFsbCgpKSB7XG4gICAkZmVhdC1hbmltYXRpb246IGZlYXR1cmUtdGFyZ2V0aW5nLWZ1bmN0aW9ucy5jcmVhdGUtdGFyZ2V0KCRxdWVyeSwgYW5pbWF0aW9uKTtcbiAgICRmZWF0LWNvbG9yOiBmZWF0dXJlLXRhcmdldGluZy1mdW5jdGlvbnMuY3JlYXRlLXRhcmdldCgkcXVlcnksIGNvbG9yKTtcbiAgICRmZWF0LXN0cnVjdHVyZTogZmVhdHVyZS10YXJnZXRpbmctZnVuY3Rpb25zLmNyZWF0ZS10YXJnZXQoJHF1ZXJ5LCBzdHJ1Y3R1cmUpO1xuXG4gIC5tZGMtc2VsZWN0IHtcbiAgICBAaW5jbHVkZSBjb250YWluZXItZmlsbC1jb2xvcih2YXJpYWJsZXMuJGZpbGwtY29sb3IsICRxdWVyeTogJHF1ZXJ5KTtcbiAgICBAaW5jbHVkZSBpbmstY29sb3IodmFyaWFibGVzLiRpbmstY29sb3IsICRxdWVyeTogJHF1ZXJ5KTtcbiAgICBAaW5jbHVkZSBsYWJlbC1jb2xvcih2YXJpYWJsZXMuJGxhYmVsLWNvbG9yLCAkcXVlcnk6ICRxdWVyeSk7XG4gICAgQGluY2x1ZGUgYm90dG9tLWxpbmUtY29sb3IodmFyaWFibGVzLiRib3R0b20tbGluZS1pZGxlLWNvbG9yLCAkcXVlcnk6ICRxdWVyeSk7XG4gICAgQGluY2x1ZGUgaGVscGVyLXRleHQtbWl4aW5zLmhlbHBlci10ZXh0LWNvbG9yKHZhcmlhYmxlcy4kaGVscGVyLXRleHQtY29sb3IsICRxdWVyeTogJHF1ZXJ5KTtcblxuICAgIC8vIEZvY3VzZWQgc3RhdGUgY29sb3JzXG4gICAgQGluY2x1ZGUgZm9jdXNlZC1ib3R0b20tbGluZS1jb2xvcihwcmltYXJ5LCAkcXVlcnk6ICRxdWVyeSk7XG4gICAgQGluY2x1ZGUgZm9jdXNlZC1sYWJlbC1jb2xvcih2YXJpYWJsZXMuJGZvY3VzZWQtbGFiZWwtY29sb3IsICRxdWVyeTogJHF1ZXJ5KTtcblxuICAgIC8vIEhvdmVyIHN0YXRlIGNvbG9yc1xuICAgIEBpbmNsdWRlIGhvdmVyLWJvdHRvbS1saW5lLWNvbG9yKHZhcmlhYmxlcy4kYm90dG9tLWxpbmUtaG92ZXItY29sb3IsICRxdWVyeTogJHF1ZXJ5KTtcblxuICAgIC8vIEZsb2F0aW5nIGxhYmVsIHByaXZhdGUgbWl4aW5cbiAgICBAaW5jbHVkZSBmbG9hdGluZy1sYWJlbF8oJHF1ZXJ5OiAkcXVlcnkpO1xuXG4gICAgLy8gc3RydWN0dXJhbFxuICAgIEBpbmNsdWRlIHNoYXBlLXJhZGl1cyhzbWFsbCwgJHF1ZXJ5OiAkcXVlcnkpO1xuICAgIEBpbmNsdWRlIHBhZGRpbmctaG9yaXpvbnRhbF8oXG4gICAgICAkbGVmdDogdmFyaWFibGVzLiRhbmNob3ItcGFkZGluZy1sZWZ0LFxuICAgICAgJGxlZnQtd2l0aC1sZWFkaW5nLWljb246IHZhcmlhYmxlcy4kYW5jaG9yLXBhZGRpbmctbGVmdC13aXRoLWxlYWRpbmctaWNvbixcbiAgICAgICRyaWdodDogdmFyaWFibGVzLiRhbmNob3ItcGFkZGluZy1yaWdodCxcbiAgICAgICRxdWVyeTogJHF1ZXJ5XG4gICAgKTtcblxuICAgIEBpbmNsdWRlIGZlYXR1cmUtdGFyZ2V0aW5nLW1peGlucy50YXJnZXRzKCRmZWF0LXN0cnVjdHVyZSkge1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlOyAvLyBNZW51IGlzIGFic29sdXRlbHkgcG9zaXRpb25lZCByZWxhdGl2ZSB0byB0aGlzLlxuICAgIH1cblxuICAgICZfX2Ryb3Bkb3duLWljb24ge1xuICAgICAgQGluY2x1ZGUgZGQtYXJyb3ctc3ZnLWJnXyh2YXJpYWJsZXMuJGRyb3Bkb3duLWNvbG9yLCB2YXJpYWJsZXMuJGRyb3Bkb3duLW9wYWNpdHksICRxdWVyeTogJHF1ZXJ5KTtcblxuICAgICAgQGluY2x1ZGUgZmVhdHVyZS10YXJnZXRpbmctbWl4aW5zLnRhcmdldHMoJGZlYXQtc3RydWN0dXJlKSB7XG4gICAgICAgIEBpbmNsdWRlIHJ0bC1taXhpbnMucmVmbGV4aXZlLXByb3BlcnR5KG1hcmdpbixcbiAgICAgICAgICBpY29uLXZhcmlhYmxlcy4kaWNvbi1ob3Jpem9udGFsLW1hcmdpbixcbiAgICAgICAgICBpY29uLXZhcmlhYmxlcy4kaWNvbi1ob3Jpem9udGFsLW1hcmdpbik7XG4gICAgICAgIHdpZHRoOiAyNHB4O1xuICAgICAgICBoZWlnaHQ6IDI0cHg7XG4gICAgICAgIGFsaWduLXNlbGY6IGNlbnRlcjtcbiAgICAgICAgZmxleC1zaHJpbms6IDA7XG4gICAgICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICAgICAgfVxuXG4gICAgICBAaW5jbHVkZSBmZWF0dXJlLXRhcmdldGluZy1taXhpbnMudGFyZ2V0cygkZmVhdC1hbmltYXRpb24pIHtcbiAgICAgICAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIHZhcmlhYmxlcy4kZHJvcGRvd24tdHJhbnNpdGlvbi1kdXJhdGlvbiBhbmltYXRpb24tdmFyaWFibGVzLiRzdGFuZGFyZC1jdXJ2ZS10aW1pbmctZnVuY3Rpb247XG4gICAgICB9XG5cbiAgICAgIC5tZGMtc2VsZWN0LS1mb2N1c2VkICYge1xuICAgICAgICBAaW5jbHVkZSBkZC1hcnJvdy1zdmctYmdfKHRoZW1lLXZhcmlhYmxlcy5wcm9wLXZhbHVlKHByaW1hcnkpLCAxLCAkcXVlcnk6ICRxdWVyeSk7XG4gICAgICB9XG5cbiAgICAgIC5tZGMtc2VsZWN0LS1hY3RpdmF0ZWQgJiB7XG4gICAgICAgIEBpbmNsdWRlIGZlYXR1cmUtdGFyZ2V0aW5nLW1peGlucy50YXJnZXRzKCRmZWF0LXN0cnVjdHVyZSkge1xuICAgICAgICAgIHRyYW5zZm9ybTogcm90YXRlKDE4MGRlZykgdHJhbnNsYXRlWSgtNXB4KTtcbiAgICAgICAgfVxuXG4gICAgICAgIEBpbmNsdWRlIGZlYXR1cmUtdGFyZ2V0aW5nLW1peGlucy50YXJnZXRzKCRmZWF0LWFuaW1hdGlvbikge1xuICAgICAgICAgIHRyYW5zaXRpb246IHRyYW5zZm9ybSB2YXJpYWJsZXMuJGRyb3Bkb3duLXRyYW5zaXRpb24tZHVyYXRpb24gYW5pbWF0aW9uLXZhcmlhYmxlcy4kc3RhbmRhcmQtY3VydmUtdGltaW5nLWZ1bmN0aW9uO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLm1kYy1zZWxlY3RfX2FuY2hvciB7XG4gICAgQGluY2x1ZGUgaGVpZ2h0KHZhcmlhYmxlcy4kaGVpZ2h0LCAkcXVlcnk6ICRxdWVyeSk7XG4gICAgQGluY2x1ZGUgZmxvYXRpbmctbGFiZWwtbWl4aW5zLmZsb2F0LXBvc2l0aW9uKHZhcmlhYmxlcy4kbGFiZWwtcG9zaXRpb24teSwgJHF1ZXJ5OiAkcXVlcnkpO1xuXG4gICAgQGluY2x1ZGUgZmVhdHVyZS10YXJnZXRpbmctbWl4aW5zLnRhcmdldHMoJGZlYXQtc3RydWN0dXJlKSB7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgICAgb3V0bGluZTogbm9uZTtcbiAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAgIG1pbi13aWR0aDogMjAwcHg7XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgZm9jdXNlZC1saW5lLXJpcHBsZV8ge1xuICAgICAgJjo6YWZ0ZXIge1xuICAgICAgICBAaW5jbHVkZSBmZWF0dXJlLXRhcmdldGluZy1taXhpbnMudGFyZ2V0cygkZmVhdC1zdHJ1Y3R1cmUpIHtcbiAgICAgICAgICB0cmFuc2Zvcm06IHNjYWxlKDEsIDIpO1xuICAgICAgICAgIG9wYWNpdHk6IDE7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBAaW5jbHVkZSBoZWxwZXItdGV4dF8oJHF1ZXJ5OiAkcXVlcnkpO1xuICBAaW5jbHVkZSB0ZXh0XygkcXVlcnk6ICRxdWVyeSk7XG5cbiAgLm1kYy1zZWxlY3QtLW91dGxpbmVkIHtcbiAgICBAaW5jbHVkZSBvdXRsaW5lZF8oJHF1ZXJ5OiAkcXVlcnkpO1xuICB9XG5cbiAgLm1kYy1zZWxlY3QtLWludmFsaWQge1xuICAgIEBpbmNsdWRlIGxhYmVsLWNvbG9yKHZhcmlhYmxlcy4kZXJyb3ItY29sb3IsICRxdWVyeTogJHF1ZXJ5KTtcbiAgICBAaW5jbHVkZSBib3R0b20tbGluZS1jb2xvcih2YXJpYWJsZXMuJGVycm9yLWNvbG9yLCAkcXVlcnk6ICRxdWVyeSk7XG4gICAgQGluY2x1ZGUgZm9jdXNlZC1ib3R0b20tbGluZS1jb2xvcih2YXJpYWJsZXMuJGVycm9yLWNvbG9yLCAkcXVlcnk6ICRxdWVyeSk7XG4gICAgQGluY2x1ZGUgZm9jdXNlZC1sYWJlbC1jb2xvcih2YXJpYWJsZXMuJGVycm9yLWNvbG9yLCAkcXVlcnk6ICRxdWVyeSk7XG4gICAgQGluY2x1ZGUgaGVscGVyLXRleHQtbWl4aW5zLmhlbHBlci10ZXh0LXZhbGlkYXRpb24tY29sb3IodmFyaWFibGVzLiRlcnJvci1jb2xvciwgJHF1ZXJ5OiAkcXVlcnkpO1xuXG4gICAgLy8gSG92ZXIgc3RhdGUgY29sb3JzXG4gICAgQGluY2x1ZGUgaG92ZXItYm90dG9tLWxpbmUtY29sb3IodmFyaWFibGVzLiRlcnJvci1jb2xvciwgJHF1ZXJ5OiAkcXVlcnkpO1xuXG4gICAgJi5tZGMtc2VsZWN0LS1vdXRsaW5lZCB7XG4gICAgICBAaW5jbHVkZSBvdXRsaW5lLWNvbG9yKHZhcmlhYmxlcy4kZXJyb3ItY29sb3IsICRxdWVyeTogJHF1ZXJ5KTtcbiAgICAgIEBpbmNsdWRlIGhvdmVyLW91dGxpbmUtY29sb3IodmFyaWFibGVzLiRlcnJvci1jb2xvciwgJHF1ZXJ5OiAkcXVlcnkpO1xuICAgICAgQGluY2x1ZGUgZm9jdXNlZC1vdXRsaW5lLWNvbG9yKHZhcmlhYmxlcy4kZXJyb3ItY29sb3IsICRxdWVyeTogJHF1ZXJ5KTtcbiAgICB9XG5cbiAgICAubWRjLXNlbGVjdF9fZHJvcGRvd24taWNvbiB7XG4gICAgICBAaW5jbHVkZSBkZC1hcnJvdy1zdmctYmdfKHZhcmlhYmxlcy4kZXJyb3ItY29sb3IsIDEsICRxdWVyeTogJHF1ZXJ5KTtcbiAgICB9XG5cbiAgICAvLyBzdHlsZWxpbnQtZGlzYWJsZS1uZXh0LWxpbmUgcGx1Z2luL3NlbGVjdG9yLWJlbS1wYXR0ZXJuXG4gICAgKyAubWRjLXNlbGVjdC1oZWxwZXItdGV4dC0tdmFsaWRhdGlvbi1tc2cge1xuICAgICAgQGluY2x1ZGUgZmVhdHVyZS10YXJnZXRpbmctbWl4aW5zLnRhcmdldHMoJGZlYXQtc3RydWN0dXJlKSB7XG4gICAgICAgIG9wYWNpdHk6IDE7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLm1kYy1zZWxlY3QtLXJlcXVpcmVkIHtcbiAgICAvLyBzdHlsZWxpbnQtZGlzYWJsZS1uZXh0LWxpbmUgcGx1Z2luL3NlbGVjdG9yLWJlbS1wYXR0ZXJuXG4gICAgLm1kYy1mbG9hdGluZy1sYWJlbDo6YWZ0ZXIge1xuICAgICAgQGluY2x1ZGUgZmVhdHVyZS10YXJnZXRpbmctbWl4aW5zLnRhcmdldHMoJGZlYXQtc3RydWN0dXJlKSB7XG4gICAgICAgIGNvbnRlbnQ6IFwiKlwiO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC5tZGMtc2VsZWN0LS1kaXNhYmxlZCB7XG4gICAgQGluY2x1ZGUgZGlzYWJsZWRfKCRxdWVyeTogJHF1ZXJ5KTtcbiAgfVxuXG4gIC5tZGMtc2VsZWN0LS13aXRoLWxlYWRpbmctaWNvbiB7XG4gICAgQGluY2x1ZGUgd2l0aC1sZWFkaW5nLWljb25fKCRxdWVyeTogJHF1ZXJ5KTtcbiAgfVxuXG4gIC5tZGMtc2VsZWN0X19tZW51IC5tZGMtbGlzdCAubWRjLWxpc3QtaXRlbS0tc2VsZWN0ZWQge1xuICAgIEBpbmNsdWRlIGZlYXR1cmUtdGFyZ2V0aW5nLW1peGlucy50YXJnZXRzKCRmZWF0LWNvbG9yKSB7XG4gICAgICBAaW5jbHVkZSB0aGVtZS1taXhpbnMucHJvcChjb2xvciwgb24tc3VyZmFjZSk7XG4gICAgfVxuICB9XG5cbiAgQGluY2x1ZGUgZmxvYXRpbmctbGFiZWwtbWl4aW5zLnNoYWtlLWtleWZyYW1lcyhcbiAgICBzZWxlY3Qtb3V0bGluZWQtbGVhZGluZy1pY29uLFxuICAgIHZhcmlhYmxlcy4kb3V0bGluZWQtbGFiZWwtcG9zaXRpb24teSxcbiAgICB2YXJpYWJsZXMuJG91dGxpbmVkLXdpdGgtbGVhZGluZy1pY29uLWxhYmVsLXBvc2l0aW9uLXgsXG4gICAgJHF1ZXJ5OiAkcXVlcnlcbiAgKTtcbiAgQGluY2x1ZGUgZmxvYXRpbmctbGFiZWwtbWl4aW5zLnNoYWtlLWtleWZyYW1lcyhcbiAgICBzZWxlY3Qtb3V0bGluZWQtbGVhZGluZy1pY29uLXJ0bCxcbiAgICB2YXJpYWJsZXMuJG91dGxpbmVkLWxhYmVsLXBvc2l0aW9uLXksXG4gICAgLSh2YXJpYWJsZXMuJG91dGxpbmVkLXdpdGgtbGVhZGluZy1pY29uLWxhYmVsLXBvc2l0aW9uLXgpLFxuICAgICRxdWVyeTogJHF1ZXJ5XG4gICk7XG59XG5cbkBtaXhpbiByaXBwbGUoJHF1ZXJ5OiBmZWF0dXJlLXRhcmdldGluZy1mdW5jdGlvbnMuYWxsKCkpIHtcbiAgLm1kYy1zZWxlY3RfX2FuY2hvciB7XG4gICAgQGluY2x1ZGUgcmlwcGxlLW1peGlucy5zdXJmYWNlKCRyaXBwbGUtdGFyZ2V0OiB2YXJpYWJsZXMuJHJpcHBsZS10YXJnZXQsICRxdWVyeTogJHF1ZXJ5KTtcbiAgICBAaW5jbHVkZSByaXBwbGUtbWl4aW5zLnJhZGl1cy1ib3VuZGVkKCRyaXBwbGUtdGFyZ2V0OiB2YXJpYWJsZXMuJHJpcHBsZS10YXJnZXQsICRxdWVyeTogJHF1ZXJ5KTtcbiAgICBAaW5jbHVkZSByaXBwbGUtbWl4aW5zLnN0YXRlcy1iYXNlLWNvbG9yKHZhcmlhYmxlcy4kaW5rLWNvbG9yLCAkcmlwcGxlLXRhcmdldDogdmFyaWFibGVzLiRyaXBwbGUtdGFyZ2V0LCAkcXVlcnk6ICRxdWVyeSk7XG4gICAgQGluY2x1ZGUgcmlwcGxlLW1peGlucy5zdGF0ZXMtb3BhY2l0aWVzKFxuICAgICAgKFxuICAgICAgICBob3ZlcjogcmlwcGxlLWZ1bmN0aW9ucy5zdGF0ZXMtb3BhY2l0eSh2YXJpYWJsZXMuJGluay1jb2xvciwgaG92ZXIpLFxuICAgICAgICBmb2N1czogcmlwcGxlLWZ1bmN0aW9ucy5zdGF0ZXMtb3BhY2l0eSh2YXJpYWJsZXMuJGluay1jb2xvciwgZm9jdXMpLFxuICAgICAgKSxcbiAgICAgICRyaXBwbGUtdGFyZ2V0OiB2YXJpYWJsZXMuJHJpcHBsZS10YXJnZXQsXG4gICAgICAkcXVlcnk6ICRxdWVyeVxuICAgICk7XG5cbiAgICAje3ZhcmlhYmxlcy4kcmlwcGxlLXRhcmdldH0ge1xuICAgICAgQGluY2x1ZGUgcmlwcGxlLW1peGlucy50YXJnZXQtY29tbW9uKCRxdWVyeTogJHF1ZXJ5KTtcbiAgICB9XG4gIH1cblxuICAubWRjLXNlbGVjdF9fbWVudSAubWRjLWxpc3QgLm1kYy1saXN0LWl0ZW0tLXNlbGVjdGVkIHtcbiAgICBAaW5jbHVkZSByaXBwbGUtbWl4aW5zLnN0YXRlcyhvbi1zdXJmYWNlLCAkcXVlcnk6ICRxdWVyeSk7XG4gIH1cbn1cblxuQG1peGluIGluay1jb2xvcigkY29sb3IsICRxdWVyeTogZmVhdHVyZS10YXJnZXRpbmctZnVuY3Rpb25zLmFsbCgpKSB7XG4gICY6bm90KC5tZGMtc2VsZWN0LS1kaXNhYmxlZCkge1xuICAgIEBpbmNsdWRlIGluay1jb2xvcl8oJGNvbG9yLCAkcXVlcnk6ICRxdWVyeSk7XG4gIH1cbn1cblxuQG1peGluIGNvbnRhaW5lci1maWxsLWNvbG9yKCRjb2xvciwgJHF1ZXJ5OiBmZWF0dXJlLXRhcmdldGluZy1mdW5jdGlvbnMuYWxsKCkpIHtcbiAgJjpub3QoLm1kYy1zZWxlY3QtLWRpc2FibGVkKSB7XG4gICAgQGluY2x1ZGUgY29udGFpbmVyLWZpbGwtY29sb3JfKCRjb2xvciwgJHF1ZXJ5OiAkcXVlcnkpO1xuICB9XG59XG5cbkBtaXhpbiBmb2N1c2VkLWxhYmVsLWNvbG9yKCRjb2xvciwgJHF1ZXJ5OiBmZWF0dXJlLXRhcmdldGluZy1mdW5jdGlvbnMuYWxsKCkpIHtcbiAgJjpub3QoLm1kYy1zZWxlY3QtLWRpc2FibGVkKSB7XG4gICAgJi5tZGMtc2VsZWN0LS1mb2N1c2VkIC5tZGMtZmxvYXRpbmctbGFiZWwge1xuICAgICAgQGluY2x1ZGUgZmxvYXRpbmctbGFiZWwtbWl4aW5zLmluay1jb2xvcih0aGVtZS12YXJpYWJsZXMucHJvcC12YWx1ZSgkY29sb3IpLCAkcXVlcnk6ICRxdWVyeSk7XG4gICAgfVxuICB9XG59XG5cbkBtaXhpbiBob3Zlci1ib3R0b20tbGluZS1jb2xvcigkY29sb3IsICRxdWVyeTogZmVhdHVyZS10YXJnZXRpbmctZnVuY3Rpb25zLmFsbCgpKSB7XG4gICY6bm90KC5tZGMtc2VsZWN0LS1kaXNhYmxlZCk6aG92ZXIge1xuICAgIEBpbmNsdWRlIGJvdHRvbS1saW5lLWNvbG9yXygkY29sb3IsICRxdWVyeTogJHF1ZXJ5KTtcbiAgfVxufVxuXG5AbWl4aW4gYm90dG9tLWxpbmUtY29sb3IoJGNvbG9yLCAkcXVlcnk6IGZlYXR1cmUtdGFyZ2V0aW5nLWZ1bmN0aW9ucy5hbGwoKSkge1xuICAmOm5vdCgubWRjLXNlbGVjdC0tZGlzYWJsZWQpIHtcbiAgICBAaW5jbHVkZSBib3R0b20tbGluZS1jb2xvcl8oJGNvbG9yLCAkcXVlcnk6ICRxdWVyeSk7XG4gIH1cbn1cblxuQG1peGluIGZvY3VzZWQtYm90dG9tLWxpbmUtY29sb3IoJGNvbG9yLCAkcXVlcnk6IGZlYXR1cmUtdGFyZ2V0aW5nLWZ1bmN0aW9ucy5hbGwoKSkge1xuICAmOm5vdCgubWRjLXNlbGVjdC0tZGlzYWJsZWQpIHtcbiAgICBAaW5jbHVkZSBmb2N1c2VkLWxpbmUtcmlwcGxlLWNvbG9yXygkY29sb3IsICRxdWVyeTogJHF1ZXJ5KTtcbiAgfVxufVxuXG5AbWl4aW4gbGFiZWwtY29sb3IoJGNvbG9yLCAkcXVlcnk6IGZlYXR1cmUtdGFyZ2V0aW5nLWZ1bmN0aW9ucy5hbGwoKSkge1xuICAmOm5vdCgubWRjLXNlbGVjdC0tZGlzYWJsZWQpIC5tZGMtZmxvYXRpbmctbGFiZWwge1xuICAgIEBpbmNsdWRlIGZsb2F0aW5nLWxhYmVsLW1peGlucy5pbmstY29sb3IoJGNvbG9yLCAkcXVlcnk6ICRxdWVyeSk7XG4gIH1cbn1cblxuQG1peGluIG91dGxpbmUtY29sb3IoJGNvbG9yLCAkcXVlcnk6IGZlYXR1cmUtdGFyZ2V0aW5nLWZ1bmN0aW9ucy5hbGwoKSkge1xuICAmOm5vdCgubWRjLXNlbGVjdC0tZGlzYWJsZWQpIHtcbiAgICBAaW5jbHVkZSBvdXRsaW5lLWNvbG9yXygkY29sb3IsICRxdWVyeTogJHF1ZXJ5KTtcbiAgfVxufVxuXG5AbWl4aW4gaG92ZXItb3V0bGluZS1jb2xvcigkY29sb3IsICRxdWVyeTogZmVhdHVyZS10YXJnZXRpbmctZnVuY3Rpb25zLmFsbCgpKSB7XG4gICY6bm90KC5tZGMtc2VsZWN0LS1kaXNhYmxlZCkge1xuICAgIEBpbmNsdWRlIGhvdmVyLW91dGxpbmUtY29sb3JfKCRjb2xvciwgJHF1ZXJ5OiAkcXVlcnkpO1xuICB9XG59XG5cbkBtaXhpbiBmb2N1c2VkLW91dGxpbmUtY29sb3IoJGNvbG9yLCAkcXVlcnk6IGZlYXR1cmUtdGFyZ2V0aW5nLWZ1bmN0aW9ucy5hbGwoKSkge1xuICAmOm5vdCgubWRjLXNlbGVjdC0tZGlzYWJsZWQpIHtcbiAgICBAaW5jbHVkZSBmb2N1c2VkLW91dGxpbmUtY29sb3JfKCRjb2xvciwgJHF1ZXJ5OiAkcXVlcnkpO1xuICB9XG59XG5cbkBtaXhpbiBzaGFwZS1yYWRpdXMoJHJhZGl1cywgJHJ0bC1yZWZsZXhpdmU6IGZhbHNlLCAkcXVlcnk6IGZlYXR1cmUtdGFyZ2V0aW5nLWZ1bmN0aW9ucy5hbGwoKSkge1xuICBAaWYgbGlzdC5sZW5ndGgoJHJhZGl1cykgPiAyIHtcbiAgICBAZXJyb3IgXCJJbnZhbGlkIHJhZGl1czogJyN7JHJhZGl1c30nIGNvbXBvbmVudCBkb2Vzbid0IGFsbG93IGN1c3RvbWl6aW5nIGFsbCBjb3JuZXJzXCI7XG4gIH1cblxuICAkbWFza2VkLXJhZGl1czogZnVuY3Rpb25zLm1hc2stcmFkaXVzKCRyYWRpdXMsIDEgMSAwIDApO1xuXG4gIC5tZGMtc2VsZWN0X19hbmNob3Ige1xuICAgIEBpbmNsdWRlIHNoYXBlLW1peGlucy5yYWRpdXMoZnVuY3Rpb25zLnJlc29sdmUtcGVyY2VudGFnZS1yYWRpdXModmFyaWFibGVzLiRoZWlnaHQsICRtYXNrZWQtcmFkaXVzKSwgJHJ0bC1yZWZsZXhpdmUsICRxdWVyeTogJHF1ZXJ5KTtcbiAgfVxufVxuXG5AbWl4aW4gb3V0bGluZS1zaGFwZS1yYWRpdXMoJHJhZGl1cywgJHJ0bC1yZWZsZXhpdmU6IGZhbHNlLCAkcXVlcnk6IGZlYXR1cmUtdGFyZ2V0aW5nLWZ1bmN0aW9ucy5hbGwoKSkge1xuICAkZmVhdC1zdHJ1Y3R1cmU6IGZlYXR1cmUtdGFyZ2V0aW5nLWZ1bmN0aW9ucy5jcmVhdGUtdGFyZ2V0KCRxdWVyeSwgc3RydWN0dXJlKTtcblxuICAkcmVzb2x2ZWQtcmFkaXVzOiBsaXN0Lm50aChmdW5jdGlvbnMucmVzb2x2ZS1wZXJjZW50YWdlLXJhZGl1cyh2YXJpYWJsZXMuJGhlaWdodCwgZnVuY3Rpb25zLnByb3AtdmFsdWUoJHJhZGl1cykpLCAxKTtcblxuICBAaWYgKGxpc3QubGVuZ3RoKGZ1bmN0aW9ucy5wcm9wLXZhbHVlKCRyYWRpdXMpKSA+IDEpIHtcbiAgICAvLyBzdHlsZWxpbnQtZGlzYWJsZS1uZXh0LWxpbmUgbWF4LWxpbmUtbGVuZ3RoXG4gICAgQHdhcm4gXCJtZGMtc2VsZWN0LW91dGxpbmUtc2hhcGUtcmFkaXVzIG9ubHkgc3VwcG9ydHMgYSBzaW5nbGUgcmFkaXVzOyBzZWUgaHR0cHM6Ly9naXRodWIuY29tL21hdGVyaWFsLWNvbXBvbmVudHMvbWF0ZXJpYWwtY29tcG9uZW50cy13ZWIvaXNzdWVzLzQxNDBcIjtcbiAgfVxuXG4gIC5tZGMtbm90Y2hlZC1vdXRsaW5lIHtcbiAgICBAaW5jbHVkZSBub3RjaGVkLW91dGxpbmUtbWl4aW5zLnNoYXBlLXJhZGl1cygkcmVzb2x2ZWQtcmFkaXVzLCAkcnRsLXJlZmxleGl2ZSwgJHF1ZXJ5OiAkcXVlcnkpO1xuICB9XG5cbiAgLm1kYy1zZWxlY3RfX3NlbGVjdGVkLXRleHQge1xuICAgIEBpbmNsdWRlIHNoYXBlLW1peGlucy5yYWRpdXMoJHJlc29sdmVkLXJhZGl1cywgJHJ0bC1yZWZsZXhpdmUsICRxdWVyeTogJHF1ZXJ5KTtcbiAgfVxuXG4gIEBpZiAoJHJlc29sdmVkLXJhZGl1cyA+IG5vdGNoZWQtb3V0bGluZS12YXJpYWJsZXMuJGxlYWRpbmctd2lkdGgpIHtcbiAgICAubWRjLXNlbGVjdF9fYW5jaG9yIHtcbiAgICAgIEBpbmNsdWRlIGZlYXR1cmUtdGFyZ2V0aW5nLW1peGlucy50YXJnZXRzKCRmZWF0LXN0cnVjdHVyZSkge1xuICAgICAgICBAaW5jbHVkZSBydGwtbWl4aW5zLnJlZmxleGl2ZS1wcm9wZXJ0eShcbiAgICAgICAgICBwYWRkaW5nLFxuICAgICAgICAgICRyZXNvbHZlZC1yYWRpdXMgKyBub3RjaGVkLW91dGxpbmUtdmFyaWFibGVzLiRwYWRkaW5nLFxuICAgICAgICAgIDBcbiAgICAgICAgKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICArIC5tZGMtc2VsZWN0LWhlbHBlci10ZXh0IHtcbiAgICAgIEBpbmNsdWRlIGZlYXR1cmUtdGFyZ2V0aW5nLW1peGlucy50YXJnZXRzKCRmZWF0LXN0cnVjdHVyZSkge1xuICAgICAgICBAaW5jbHVkZSBydGwtbWl4aW5zLnJlZmxleGl2ZS1wcm9wZXJ0eShcbiAgICAgICAgICBtYXJnaW4sXG4gICAgICAgICAgJHJlc29sdmVkLXJhZGl1cyArIG5vdGNoZWQtb3V0bGluZS12YXJpYWJsZXMuJHBhZGRpbmcsXG4gICAgICAgICAgdmFyaWFibGVzLiRvdXRsaW5lLWxhYmVsLW9mZnNldFxuICAgICAgICApO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG4vLyBQcml2YXRlXG5AbWl4aW4gZm9jdXNlZC1saW5lLXJpcHBsZV8ge1xuICAmLm1kYy1zZWxlY3QtLWZvY3VzZWQgLm1kYy1saW5lLXJpcHBsZSB7XG4gICAgQGNvbnRlbnQ7XG4gIH1cbn1cblxuQG1peGluIGZvY3VzZWQtb3V0bGluZV8ge1xuICAmLm1kYy1zZWxlY3QtLWZvY3VzZWQgLm1kYy1ub3RjaGVkLW91dGxpbmUge1xuICAgIEBjb250ZW50O1xuICB9XG59XG5cbkBtaXhpbiBmb2N1c2VkLW91dGxpbmUtaWRsZV8ge1xuICAmLm1kYy1zZWxlY3QtLWZvY3VzZWQge1xuICAgIEBjb250ZW50O1xuICB9XG59XG5cbkBtaXhpbiBpbmstY29sb3JfKCRjb2xvciwgJHF1ZXJ5OiBmZWF0dXJlLXRhcmdldGluZy1mdW5jdGlvbnMuYWxsKCkpIHtcbiAgJGZlYXQtY29sb3I6IGZlYXR1cmUtdGFyZ2V0aW5nLWZ1bmN0aW9ucy5jcmVhdGUtdGFyZ2V0KCRxdWVyeSwgY29sb3IpO1xuXG4gIC5tZGMtc2VsZWN0X19zZWxlY3RlZC10ZXh0IHtcbiAgICBAaW5jbHVkZSBmZWF0dXJlLXRhcmdldGluZy1taXhpbnMudGFyZ2V0cygkZmVhdC1jb2xvcikge1xuICAgICAgQGluY2x1ZGUgdGhlbWUtbWl4aW5zLnByb3AoY29sb3IsICRjb2xvcik7XG4gICAgfVxuICB9XG59XG5cbkBtaXhpbiBjb250YWluZXItZmlsbC1jb2xvcl8oJGNvbG9yLCAkcXVlcnk6IGZlYXR1cmUtdGFyZ2V0aW5nLWZ1bmN0aW9ucy5hbGwoKSkge1xuICAkZmVhdC1jb2xvcjogZmVhdHVyZS10YXJnZXRpbmctZnVuY3Rpb25zLmNyZWF0ZS10YXJnZXQoJHF1ZXJ5LCBjb2xvcik7XG5cbiAgLm1kYy1zZWxlY3RfX2FuY2hvciB7XG4gICAgQGluY2x1ZGUgZmVhdHVyZS10YXJnZXRpbmctbWl4aW5zLnRhcmdldHMoJGZlYXQtY29sb3IpIHtcbiAgICAgIEBpbmNsdWRlIHRoZW1lLW1peGlucy5wcm9wKGJhY2tncm91bmQtY29sb3IsICRjb2xvcik7XG4gICAgfVxuICB9XG59XG5cbkBtaXhpbiBib3R0b20tbGluZS1jb2xvcl8oJGNvbG9yLCAkcXVlcnk6IGZlYXR1cmUtdGFyZ2V0aW5nLWZ1bmN0aW9ucy5hbGwoKSkge1xuICAubWRjLWxpbmUtcmlwcGxlIHtcbiAgICBAaW5jbHVkZSBsaW5lLXJpcHBsZS1taXhpbnMuaW5hY3RpdmUtY29sb3IoJGNvbG9yLCAkcXVlcnk6ICRxdWVyeSk7XG4gIH1cbn1cblxuQG1peGluIGZvY3VzZWQtbGluZS1yaXBwbGUtY29sb3JfKCRjb2xvciwgJHF1ZXJ5OiBmZWF0dXJlLXRhcmdldGluZy1mdW5jdGlvbnMuYWxsKCkpIHtcbiAgQGluY2x1ZGUgZm9jdXNlZC1saW5lLXJpcHBsZV8ge1xuICAgIEBpbmNsdWRlIGxpbmUtcmlwcGxlLW1peGlucy5hY3RpdmUtY29sb3IoJGNvbG9yLCAkcXVlcnk6ICRxdWVyeSk7XG4gIH1cbn1cblxuQG1peGluIGRkLWFycm93LXN2Zy1iZ18oJGZpbGwtaGV4LW51bWJlciwgJG9wYWNpdHksICRxdWVyeTogZmVhdHVyZS10YXJnZXRpbmctZnVuY3Rpb25zLmFsbCgpKSB7XG4gIC8vIExvb2t1cCBjb2xvciBhbmQgcmVtb3ZlIGxlYWRpbmcgIy5cbiAgJGZpbGwtaGV4LW51bWJlcjogdGhlbWUtdmFyaWFibGVzLnByb3AtdmFsdWUoJGZpbGwtaGV4LW51bWJlcik7XG4gICRmaWxsLWhleC1udW1iZXI6IHN0cmluZy5zbGljZShzdHJpbmcudW5xdW90ZShcIiN7JGZpbGwtaGV4LW51bWJlcn1cIiksIDIpO1xuXG4gICRmZWF0LXN0cnVjdHVyZTogZmVhdHVyZS10YXJnZXRpbmctZnVuY3Rpb25zLmNyZWF0ZS10YXJnZXQoJHF1ZXJ5LCBzdHJ1Y3R1cmUpO1xuXG4gIEBpbmNsdWRlIGZlYXR1cmUtdGFyZ2V0aW5nLW1peGlucy50YXJnZXRzKCRmZWF0LXN0cnVjdHVyZSkge1xuICAgIC8vIHN0eWxlbGludC1kaXNhYmxlLW5leHQtbGluZSBmdW5jdGlvbi11cmwtcXVvdGVzXG4gICAgYmFja2dyb3VuZDogdXJsKCdkYXRhOmltYWdlL3N2Zyt4bWwsJTNDc3ZnJTIwd2lkdGglM0QlMjIxMHB4JTIyJTIwaGVpZ2h0JTNEJTIyNXB4JTIyJTIwdmlld0JveCUzRCUyMjclMjAxMCUyMDEwJTIwNSUyMiUyMHZlcnNpb24lM0QlMjIxLjElMjIlMjB4bWxucyUzRCUyMmh0dHAlM0ElMkYlMkZ3d3cudzMub3JnJTJGMjAwMCUyRnN2ZyUyMiUyMHhtbG5zJTNBeGxpbmslM0QlMjJodHRwJTNBJTJGJTJGd3d3LnczLm9yZyUyRjE5OTklMkZ4bGluayUyMiUzRSUwQSUyMCUyMCUyMCUyMCUzQ3BvbHlnb24lMjBpZCUzRCUyMlNoYXBlJTIyJTIwc3Ryb2tlJTNEJTIybm9uZSUyMiUyMGZpbGwlM0QlMjIlMjMjeyRmaWxsLWhleC1udW1iZXJ9JTIyJTIwZmlsbC1ydWxlJTNEJTIyZXZlbm9kZCUyMiUyMG9wYWNpdHklM0QlMjIjeyRvcGFjaXR5fSUyMiUyMHBvaW50cyUzRCUyMjclMjAxMCUyMDEyJTIwMTUlMjAxNyUyMDEwJTIyJTNFJTNDJTJGcG9seWdvbiUzRSUwQSUzQyUyRnN2ZyUzRScpXG4gICAgICBuby1yZXBlYXRcbiAgICAgIGNlbnRlcjtcbiAgfVxufVxuXG5AbWl4aW4gb3V0bGluZS1jb2xvcl8oJGNvbG9yLCAkcXVlcnk6IGZlYXR1cmUtdGFyZ2V0aW5nLWZ1bmN0aW9ucy5hbGwoKSkge1xuICBAaW5jbHVkZSBub3RjaGVkLW91dGxpbmUtbWl4aW5zLmNvbG9yKCRjb2xvciwgJHF1ZXJ5OiAkcXVlcnkpO1xufVxuXG5AbWl4aW4gaG92ZXItb3V0bGluZS1jb2xvcl8oJGNvbG9yLCAkcXVlcnk6IGZlYXR1cmUtdGFyZ2V0aW5nLWZ1bmN0aW9ucy5hbGwoKSkge1xuICAvLyBzdHlsZWxpbnQtZGlzYWJsZS1uZXh0LWxpbmUgc2VsZWN0b3ItY29tYmluYXRvci1zcGFjZS1hZnRlclxuICAmOm5vdCgubWRjLXNlbGVjdC0tZm9jdXNlZCkgLm1kYy1zZWxlY3RfX2FuY2hvcjpob3ZlciB7XG4gICAgLm1kYy1ub3RjaGVkLW91dGxpbmUge1xuICAgICAgQGluY2x1ZGUgbm90Y2hlZC1vdXRsaW5lLW1peGlucy5jb2xvcigkY29sb3IsICRxdWVyeTogJHF1ZXJ5KTtcbiAgICB9XG4gIH1cbn1cblxuQG1peGluIGZvY3VzZWQtb3V0bGluZS1jb2xvcl8oJGNvbG9yLCAkcXVlcnk6IGZlYXR1cmUtdGFyZ2V0aW5nLWZ1bmN0aW9ucy5hbGwoKSkge1xuICBAaW5jbHVkZSBmb2N1c2VkLW91dGxpbmVfIHtcbiAgICBAaW5jbHVkZSBub3RjaGVkLW91dGxpbmUtbWl4aW5zLnN0cm9rZS13aWR0aCh2YXJpYWJsZXMuJG91dGxpbmVkLXN0cm9rZS13aWR0aCwgJHF1ZXJ5OiAkcXVlcnkpO1xuICAgIEBpbmNsdWRlIG5vdGNoZWQtb3V0bGluZS1taXhpbnMuY29sb3IoJGNvbG9yLCAkcXVlcnk6ICRxdWVyeSk7XG4gIH1cbn1cblxuQG1peGluIGZsb2F0aW5nLWxhYmVsXygkcXVlcnk6IGZlYXR1cmUtdGFyZ2V0aW5nLWZ1bmN0aW9ucy5hbGwoKSkge1xuICAkZmVhdC1zdHJ1Y3R1cmU6IGZlYXR1cmUtdGFyZ2V0aW5nLWZ1bmN0aW9ucy5jcmVhdGUtdGFyZ2V0KCRxdWVyeSwgc3RydWN0dXJlKTtcblxuICAubWRjLWZsb2F0aW5nLWxhYmVsIHtcbiAgICBAaW5jbHVkZSBmZWF0dXJlLXRhcmdldGluZy1taXhpbnMudGFyZ2V0cygkZmVhdC1zdHJ1Y3R1cmUpIHtcbiAgICAgIEBpbmNsdWRlIHJ0bC1taXhpbnMucmVmbGV4aXZlLXBvc2l0aW9uKGxlZnQsIHZhcmlhYmxlcy4kb3V0bGluZS1sYWJlbC1vZmZzZXQpO1xuXG4gICAgICB0b3A6IDUwJTtcbiAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTtcbiAgICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICAgIH1cbiAgfVxuXG4gICYubWRjLXNlbGVjdC0tb3V0bGluZWQge1xuICAgIC5tZGMtZmxvYXRpbmctbGFiZWwge1xuICAgICAgQGluY2x1ZGUgZmVhdHVyZS10YXJnZXRpbmctbWl4aW5zLnRhcmdldHMoJGZlYXQtc3RydWN0dXJlKSB7XG4gICAgICAgIEBpbmNsdWRlIHJ0bC1taXhpbnMucmVmbGV4aXZlLXBvc2l0aW9uKGxlZnQsIG5vdGNoZWQtb3V0bGluZS12YXJpYWJsZXMuJHBhZGRpbmcpO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG5AbWl4aW4gd2l0aC1sZWFkaW5nLWljb25fKCRxdWVyeTogZmVhdHVyZS10YXJnZXRpbmctZnVuY3Rpb25zLmFsbCgpKSB7XG4gICRmZWF0LXN0cnVjdHVyZTogZmVhdHVyZS10YXJnZXRpbmctZnVuY3Rpb25zLmNyZWF0ZS10YXJnZXQoJHF1ZXJ5LCBzdHJ1Y3R1cmUpO1xuXG4gICRpY29uLXRvdGFsLXdpZHRoOiBpY29uLXZhcmlhYmxlcy4kaWNvbi1zaXplICsgMiAqIGljb24tdmFyaWFibGVzLiRpY29uLWhvcml6b250YWwtbWFyZ2luO1xuXG4gIC5tZGMtZmxvYXRpbmctbGFiZWwge1xuICAgIEBpbmNsdWRlIGZlYXR1cmUtdGFyZ2V0aW5nLW1peGlucy50YXJnZXRzKCRmZWF0LXN0cnVjdHVyZSkge1xuICAgICAgQGluY2x1ZGUgcnRsLW1peGlucy5yZWZsZXhpdmUtcG9zaXRpb24obGVmdCwgJGljb24tdG90YWwtd2lkdGgpO1xuICAgIH1cbiAgfVxuXG4gICYubWRjLXNlbGVjdC0tb3V0bGluZWQge1xuICAgIC5tZGMtZmxvYXRpbmctbGFiZWwge1xuICAgICAgQGluY2x1ZGUgZmVhdHVyZS10YXJnZXRpbmctbWl4aW5zLnRhcmdldHMoJGZlYXQtc3RydWN0dXJlKSB7XG4gICAgICAgIEBpbmNsdWRlIHJ0bC1taXhpbnMucmVmbGV4aXZlLXBvc2l0aW9uKGxlZnQsICRpY29uLXRvdGFsLXdpZHRoIC0gbm90Y2hlZC1vdXRsaW5lLXZhcmlhYmxlcy4kbGVhZGluZy13aWR0aCk7XG4gICAgICB9XG5cbiAgICAgICYtLWZsb2F0LWFib3ZlIHtcbiAgICAgICAgQGluY2x1ZGUgZmVhdHVyZS10YXJnZXRpbmctbWl4aW5zLnRhcmdldHMoJGZlYXQtc3RydWN0dXJlKSB7XG4gICAgICAgICAgQGluY2x1ZGUgcnRsLW1peGlucy5yZWZsZXhpdmUtcG9zaXRpb24obGVmdCwgJGljb24tdG90YWwtd2lkdGggLSBub3RjaGVkLW91dGxpbmUtdmFyaWFibGVzLiRsZWFkaW5nLXdpZHRoKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIEBpbmNsdWRlIG5vdGNoZWQtb3V0bGluZS1taXhpbnMuZmxvYXRpbmctbGFiZWwtZmxvYXQtcG9zaXRpb24tYWJzb2x1dGUoXG4gICAgICB2YXJpYWJsZXMuJG91dGxpbmVkLWxhYmVsLXBvc2l0aW9uLXksXG4gICAgICAkaWNvbi10b3RhbC13aWR0aCAtIGljb24tdmFyaWFibGVzLiRpY29uLWhvcml6b250YWwtbWFyZ2luIC0gbm90Y2hlZC1vdXRsaW5lLXZhcmlhYmxlcy4kbm90Y2gtZ3V0dGVyLXNpemUsXG4gICAgICAkcXVlcnk6ICRxdWVyeVxuICAgICk7XG4gICAgQGluY2x1ZGUgZmxvYXRpbmctbGFiZWwtbWl4aW5zLnNoYWtlLWFuaW1hdGlvbihzZWxlY3Qtb3V0bGluZWQtbGVhZGluZy1pY29uLCAkcXVlcnk6ICRxdWVyeSk7XG5cbiAgICBAaW5jbHVkZSBydGwtbWl4aW5zLnJ0bCB7XG4gICAgICBAaW5jbHVkZSBmbG9hdGluZy1sYWJlbC1taXhpbnMuc2hha2UtYW5pbWF0aW9uKHNlbGVjdC1vdXRsaW5lZC1sZWFkaW5nLWljb24tcnRsLCAkcXVlcnk6ICRxdWVyeSk7XG4gICAgfVxuICB9XG5cbiAgJi5tZGMtc2VsZWN0X19tZW51IC5tZGMtbGlzdC1pdGVtX190ZXh0IHtcbiAgICBAaW5jbHVkZSBmZWF0dXJlLXRhcmdldGluZy1taXhpbnMudGFyZ2V0cygkZmVhdC1zdHJ1Y3R1cmUpIHtcbiAgICAgIEBpbmNsdWRlIHJ0bC1taXhpbnMucmVmbGV4aXZlLXByb3BlcnR5KHBhZGRpbmcsIDMycHggLyogbGVmdC12YWx1ZSAqLywgMzJweCAvKiByaWdodC12YWx1ZSAqLyk7XG4gICAgfVxuICB9XG59XG5cbkBtaXhpbiB0ZXh0XygkcXVlcnk6IGZlYXR1cmUtdGFyZ2V0aW5nLWZ1bmN0aW9ucy5hbGwoKSkge1xuICAkZmVhdC1zdHJ1Y3R1cmU6IGZlYXR1cmUtdGFyZ2V0aW5nLWZ1bmN0aW9ucy5jcmVhdGUtdGFyZ2V0KCRxdWVyeSwgc3RydWN0dXJlKTtcbiAgJGZlYXQtY29sb3I6IGZlYXR1cmUtdGFyZ2V0aW5nLWZ1bmN0aW9ucy5jcmVhdGUtdGFyZ2V0KCRxdWVyeSwgY29sb3IpO1xuXG4gIC5tZGMtc2VsZWN0X19zZWxlY3RlZC10ZXh0IHtcbiAgICBAaW5jbHVkZSB0eXBvZ3JhcGh5LW1peGlucy50eXBvZ3JhcGh5KHN1YnRpdGxlMSwgJHF1ZXJ5OiAkcXVlcnkpO1xuXG4gICAgQGluY2x1ZGUgZmVhdHVyZS10YXJnZXRpbmctbWl4aW5zLnRhcmdldHMoJGZlYXQtc3RydWN0dXJlKSB7XG4gICAgICAmOjotbXMtZXhwYW5kIHtcbiAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgIH1cblxuICAgICAgJjo6LW1zLXZhbHVlIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgICAgIGNvbG9yOiBpbmhlcml0O1xuICAgICAgfVxuXG4gICAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgICAgd2lkdGg6IDA7XG4gICAgICBmbGV4LWdyb3c6IDE7XG4gICAgICBoZWlnaHQ6IHZhcmlhYmxlcy4kc2VsZWN0ZWQtdGV4dC1oZWlnaHQ7XG4gICAgICBib3JkZXI6IG5vbmU7XG4gICAgICBvdXRsaW5lOiBub25lO1xuICAgICAgcGFkZGluZzogMDtcbiAgICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gICAgICBhcHBlYXJhbmNlOiBub25lO1xuICAgICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gICAgICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcbiAgICB9XG5cbiAgICBAaW5jbHVkZSBmZWF0dXJlLXRhcmdldGluZy1taXhpbnMudGFyZ2V0cygkZmVhdC1jb2xvcikge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgICBjb2xvcjogaW5oZXJpdDsgLy8gT3ZlcnJpZGUgZGVmYXVsdCB1c2VyIGFnZW50IHN0eWxlc2hlZXRcbiAgICB9XG4gIH1cbn1cblxuQG1peGluIGRpc2FibGVkXygkcXVlcnk6IGZlYXR1cmUtdGFyZ2V0aW5nLWZ1bmN0aW9ucy5hbGwoKSkge1xuICAkZmVhdC1jb2xvcjogZmVhdHVyZS10YXJnZXRpbmctZnVuY3Rpb25zLmNyZWF0ZS10YXJnZXQoJHF1ZXJ5LCBjb2xvcik7XG4gICRmZWF0LXN0cnVjdHVyZTogZmVhdHVyZS10YXJnZXRpbmctZnVuY3Rpb25zLmNyZWF0ZS10YXJnZXQoJHF1ZXJ5LCBzdHJ1Y3R1cmUpO1xuXG4gIEBpbmNsdWRlIGNvbnRhaW5lci1maWxsLWNvbG9yXyh2YXJpYWJsZXMuJGRpc2FibGVkLWZpbGwtY29sb3IsICRxdWVyeTogJHF1ZXJ5KTtcblxuICAubWRjLWZsb2F0aW5nLWxhYmVsIHtcbiAgICBAaW5jbHVkZSBmbG9hdGluZy1sYWJlbC1taXhpbnMuaW5rLWNvbG9yKHZhcmlhYmxlcy4kZGlzYWJsZWQtbGFiZWwtY29sb3IsICRxdWVyeTogJHF1ZXJ5KTtcbiAgfVxuXG4gIC5tZGMtc2VsZWN0X19kcm9wZG93bi1pY29uIHtcbiAgICBAaW5jbHVkZSBkZC1hcnJvdy1zdmctYmdfKHZhcmlhYmxlcy4kZHJvcGRvd24tY29sb3IsIHZhcmlhYmxlcy4kZGlzYWJsZWQtZHJvcGRvd24tb3BhY2l0eSwgJHF1ZXJ5OiAkcXVlcnkpO1xuICB9XG5cbiAgLm1kYy1saW5lLXJpcHBsZSB7XG4gICAgQGluY2x1ZGUgbGluZS1yaXBwbGUtbWl4aW5zLmluYWN0aXZlLWNvbG9yKHZhcmlhYmxlcy4kZGlzYWJsZWQtaW5rLWNvbG9yLCAkcXVlcnk6ICRxdWVyeSk7XG5cbiAgICAmOjpiZWZvcmUge1xuICAgICAgQGluY2x1ZGUgZmVhdHVyZS10YXJnZXRpbmctbWl4aW5zLnRhcmdldHMoJGZlYXQtc3RydWN0dXJlKSB7XG4gICAgICAgIC8vIFRPRE8oYi8xNDYwODAwMDYpOiBGaXggaW5jb3JyZWN0IHN0eWxpbmdcbiAgICAgICAgYm9yZGVyLWJvdHRvbS1zdHlsZTogZG90dGVkO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC5tZGMtc2VsZWN0X19pY29uIHtcbiAgICBAaW5jbHVkZSBmZWF0dXJlLXRhcmdldGluZy1taXhpbnMudGFyZ2V0cygkZmVhdC1jb2xvcikge1xuICAgICAgQGluY2x1ZGUgdGhlbWUtbWl4aW5zLnByb3AoY29sb3IsIHZhcmlhYmxlcy4kZGlzYWJsZWQtaWNvbi1jb2xvcik7XG4gICAgfVxuICB9XG5cbiAgLm1kYy1zZWxlY3RfX3NlbGVjdGVkLXRleHQge1xuICAgIEBpbmNsdWRlIGZlYXR1cmUtdGFyZ2V0aW5nLW1peGlucy50YXJnZXRzKCRmZWF0LWNvbG9yKSB7XG4gICAgICBAaW5jbHVkZSB0aGVtZS1taXhpbnMucHJvcChjb2xvciwgdmFyaWFibGVzLiRkaXNhYmxlZC1pbmstY29sb3IpO1xuICAgIH1cblxuICAgIEBpbmNsdWRlIGZlYXR1cmUtdGFyZ2V0aW5nLW1peGlucy50YXJnZXRzKCRmZWF0LXN0cnVjdHVyZSkge1xuICAgICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gICAgfVxuICB9XG5cbiAgJi5tZGMtc2VsZWN0LS1vdXRsaW5lZCB7XG4gICAgQGluY2x1ZGUgY29udGFpbmVyLWZpbGwtY29sb3JfKHRyYW5zcGFyZW50LCAkcXVlcnk6ICRxdWVyeSk7XG4gICAgQGluY2x1ZGUgb3V0bGluZS1jb2xvcl8odmFyaWFibGVzLiRvdXRsaW5lZC1kaXNhYmxlZC1ib3JkZXIsICRxdWVyeTogJHF1ZXJ5KTtcbiAgfVxuXG4gIEBpbmNsdWRlIGZlYXR1cmUtdGFyZ2V0aW5nLW1peGlucy50YXJnZXRzKCRmZWF0LXN0cnVjdHVyZSkge1xuICAgIGN1cnNvcjogZGVmYXVsdDtcbiAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgfVxufVxuXG5AbWl4aW4gb3V0bGluZWRfKCRxdWVyeTogZmVhdHVyZS10YXJnZXRpbmctZnVuY3Rpb25zLmFsbCgpKSB7XG4gICRmZWF0LXN0cnVjdHVyZTogZmVhdHVyZS10YXJnZXRpbmctZnVuY3Rpb25zLmNyZWF0ZS10YXJnZXQoJHF1ZXJ5LCBzdHJ1Y3R1cmUpO1xuICAkZmVhdC1jb2xvcjogZmVhdHVyZS10YXJnZXRpbmctZnVuY3Rpb25zLmNyZWF0ZS10YXJnZXQoJHF1ZXJ5LCBjb2xvcik7XG5cbiAgQGluY2x1ZGUgY29udGFpbmVyLWZpbGwtY29sb3IodHJhbnNwYXJlbnQsICRxdWVyeTogJHF1ZXJ5KTtcbiAgQGluY2x1ZGUgb3V0bGluZS1jb2xvcih2YXJpYWJsZXMuJG91dGxpbmVkLWlkbGUtYm9yZGVyLCAkcXVlcnk6ICRxdWVyeSk7XG4gIEBpbmNsdWRlIGhvdmVyLW91dGxpbmUtY29sb3IodmFyaWFibGVzLiRvdXRsaW5lZC1ob3Zlci1ib3JkZXIsICRxdWVyeTogJHF1ZXJ5KTtcbiAgQGluY2x1ZGUgZm9jdXNlZC1vdXRsaW5lLWNvbG9yKHByaW1hcnksICRxdWVyeTogJHF1ZXJ5KTtcbiAgQGluY2x1ZGUgb3V0bGluZS1zaGFwZS1yYWRpdXMoc21hbGwsICRxdWVyeTogJHF1ZXJ5KTtcbiAgQGluY2x1ZGUgY29udGFpbmVyLWZpbGwtY29sb3IodHJhbnNwYXJlbnQsICRxdWVyeTogJHF1ZXJ5KTtcblxuICBAaW5jbHVkZSBmZWF0dXJlLXRhcmdldGluZy1taXhpbnMudGFyZ2V0cygkZmVhdC1zdHJ1Y3R1cmUpIHtcbiAgICBib3JkZXI6IG5vbmU7XG4gIH1cblxuICAubWRjLXNlbGVjdF9fYW5jaG9yIHtcbiAgICBAaW5jbHVkZSBmbG9hdGluZy1sYWJlbC1taXhpbnMuc2hha2UtYW5pbWF0aW9uKHNlbGVjdC1vdXRsaW5lZCwgJHF1ZXJ5OiAkcXVlcnkpO1xuICAgIEBpbmNsdWRlIG5vdGNoZWQtb3V0bGluZS1taXhpbnMuZmxvYXRpbmctbGFiZWwtZmxvYXQtcG9zaXRpb24tYWJzb2x1dGUodmFyaWFibGVzLiRvdXRsaW5lZC1sYWJlbC1wb3NpdGlvbi15LCAkcXVlcnk6ICRxdWVyeSk7XG4gICAgQGluY2x1ZGUgbm90Y2hlZC1vdXRsaW5lLW1peGlucy5ub3RjaC1vZmZzZXQobm90Y2hlZC1vdXRsaW5lLXZhcmlhYmxlcy4kYm9yZGVyLXdpZHRoLCAkcXVlcnk6ICRxdWVyeSk7XG5cbiAgICBAaW5jbHVkZSBmZWF0dXJlLXRhcmdldGluZy1taXhpbnMudGFyZ2V0cygkZmVhdC1zdHJ1Y3R1cmUpIHtcbiAgICAgIG92ZXJmbG93OiB2aXNpYmxlO1xuICAgIH1cbiAgfVxuXG4gIC5tZGMtc2VsZWN0X19zZWxlY3RlZC10ZXh0IHtcbiAgICBAaW5jbHVkZSBmZWF0dXJlLXRhcmdldGluZy1taXhpbnMudGFyZ2V0cygkZmVhdC1zdHJ1Y3R1cmUpIHtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBib3JkZXI6IG5vbmU7XG4gICAgICB6LWluZGV4OiAxO1xuICAgIH1cblxuICAgIEBpbmNsdWRlIGZlYXR1cmUtdGFyZ2V0aW5nLW1peGlucy50YXJnZXRzKCRmZWF0LWNvbG9yKSB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICB9XG4gIH1cblxuICAubWRjLXNlbGVjdF9faWNvbiB7XG4gICAgQGluY2x1ZGUgZmVhdHVyZS10YXJnZXRpbmctbWl4aW5zLnRhcmdldHMoJGZlYXQtc3RydWN0dXJlKSB7XG4gICAgICB6LWluZGV4OiAyO1xuICAgIH1cbiAgfVxuXG4gIC5tZGMtZmxvYXRpbmctbGFiZWwge1xuICAgIEBpbmNsdWRlIGZlYXR1cmUtdGFyZ2V0aW5nLW1peGlucy50YXJnZXRzKCRmZWF0LXN0cnVjdHVyZSkge1xuICAgICAgbGluZS1oZWlnaHQ6IDEuMTVyZW07XG4gICAgICBwb2ludGVyLWV2ZW50czogYXV0bztcbiAgICB9XG4gIH1cblxuICAmLm1kYy1zZWxlY3QtLWZvY3VzZWQge1xuICAgIEBpbmNsdWRlIG5vdGNoZWQtb3V0bGluZS1taXhpbnMubm90Y2gtb2Zmc2V0KHZhcmlhYmxlcy4kb3V0bGluZWQtc3Ryb2tlLXdpZHRoLCAkcXVlcnk6ICRxdWVyeSk7XG4gIH1cbn1cblxuQG1peGluIGhlbHBlci10ZXh0XygkcXVlcnk6IGZlYXR1cmUtdGFyZ2V0aW5nLWZ1bmN0aW9ucy5hbGwoKSkge1xuICAkZmVhdC1zdHJ1Y3R1cmU6IGZlYXR1cmUtdGFyZ2V0aW5nLWZ1bmN0aW9ucy5jcmVhdGUtdGFyZ2V0KCRxdWVyeSwgc3RydWN0dXJlKTtcblxuICAubWRjLXNlbGVjdC1oZWxwZXItdGV4dCB7XG4gICAgLy8gc3R5bGVsaW50LWRpc2FibGUgcGx1Z2luL3NlbGVjdG9yLWJlbS1wYXR0ZXJuXG4gICAgLm1kYy1zZWxlY3RfX2FuY2hvciArICYge1xuICAgICAgQGluY2x1ZGUgZmVhdHVyZS10YXJnZXRpbmctbWl4aW5zLnRhcmdldHMoJGZlYXQtc3RydWN0dXJlKSB7XG4gICAgICAgIG1hcmdpbi1yaWdodDogMTZweDtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IDE2cHg7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLm1kYy1zZWxlY3QtLWZvY3VzZWQgLm1kYy1zZWxlY3RfX2FuY2hvciArIC5tZGMtc2VsZWN0LWhlbHBlci10ZXh0Om5vdCgubWRjLXNlbGVjdC1oZWxwZXItdGV4dC0tdmFsaWRhdGlvbi1tc2cpIHtcbiAgICBAaW5jbHVkZSBmZWF0dXJlLXRhcmdldGluZy1taXhpbnMudGFyZ2V0cygkZmVhdC1zdHJ1Y3R1cmUpIHtcbiAgICAgIG9wYWNpdHk6IDE7XG4gICAgfVxuICB9XG59XG5cbi8vLyBBZGRzIGhvcml6b250YWwgcGFkZGluZyB0byB0aGUgc2VsZWN0ZWQgdGV4dFxuLy8vXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRsZWZ0IC0gbGVmdCBzaWRlIHBhZGRpbmdcbi8vLyBAcGFyYW0ge051bWJlcn0gJGxlZnQtd2l0aC1sZWFkaW5nLWljb24gLSBsZWZ0LXNpZGUgcGFkZGluZyB3aGVuIGEgbGVhZGluZ1xuLy8vICAgICBpY29uIGlzIHByZXNlbnRcbi8vLyBAcGFyYW0ge051bWJlcn0gJHJpZ2h0IC0gcmlnaHQtc2lkZSBwYWRkaW5nOyBub3RlIHRoYXQgYSB0cmFpbGluZyBpY29uIGlzXG4vLy8gICAgIGFsd2F5cyBwcmVzZW50LlxuQG1peGluIHBhZGRpbmctaG9yaXpvbnRhbF8oXG4gICRsZWZ0LFxuICAkbGVmdC13aXRoLWxlYWRpbmctaWNvbixcbiAgJHJpZ2h0LFxuICAkcXVlcnk6IGZlYXR1cmUtdGFyZ2V0aW5nLWZ1bmN0aW9ucy5hbGwoKVxuKSB7XG4gICRmZWF0LXN0cnVjdHVyZTogZmVhdHVyZS10YXJnZXRpbmctZnVuY3Rpb25zLmNyZWF0ZS10YXJnZXQoJHF1ZXJ5LCBzdHJ1Y3R1cmUpO1xuXG4gIC5tZGMtc2VsZWN0X19hbmNob3Ige1xuICAgIEBpbmNsdWRlIGZlYXR1cmUtdGFyZ2V0aW5nLW1peGlucy50YXJnZXRzKCRmZWF0LXN0cnVjdHVyZSkge1xuICAgICAgQGluY2x1ZGUgcnRsLW1peGlucy5yZWZsZXhpdmUtcHJvcGVydHkoXG4gICAgICAgIHBhZGRpbmcsXG4gICAgICAgICRsZWZ0LFxuICAgICAgICAkcmlnaHRcbiAgICAgICk7XG4gICAgfVxuICB9XG5cbiAgJi5tZGMtc2VsZWN0LS13aXRoLWxlYWRpbmctaWNvbiAubWRjLXNlbGVjdF9fYW5jaG9yIHtcbiAgICBAaW5jbHVkZSBmZWF0dXJlLXRhcmdldGluZy1taXhpbnMudGFyZ2V0cygkZmVhdC1zdHJ1Y3R1cmUpIHtcbiAgICAgIEBpbmNsdWRlIHJ0bC1taXhpbnMucmVmbGV4aXZlLXByb3BlcnR5KFxuICAgICAgICBwYWRkaW5nLFxuICAgICAgICAkbGVmdC13aXRoLWxlYWRpbmctaWNvbixcbiAgICAgICAgJHJpZ2h0XG4gICAgICApO1xuICAgIH1cbiAgfVxufVxuXG4vLy9cbi8vLyBTZXRzIGhlaWdodCBvZiBkZWZhdWx0IHNlbGVjdCB2YXJpYW50LlxuLy8vXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRoZWlnaHRcbi8vLyBAcGFyYW0ge051bWJlcn0gJG1pbmltdW0taGVpZ2h0LWZvci1maWxsZWQtbGFiZWwgU2V0cyB0aGUgbWluaW11bSBoZWlnaHQgZm9yXG4vLy8gICAgIGZpbGxlZCBzZWxlY3RzIGF0IHdoaWNoIHRvIGFsbG93IGZsb2F0aW5nIGxhYmVscy5cbi8vLyBAcGFyYW0ge051bWJlcn0gJGZpbGxlZC1iYXNlbGluZS10b3AgVGhlIGJhc2VsaW5lIGZyb20gdGhlIHRvcCBvZiB0aGUgYW5jaG9yXG4vLy8gICAgIHRoYXQgdGhlIGlucHV0IHNob3VsZCBiZSBhbGlnbmVkIHRvIGZvciBhIGZpbGxlZCB2YXJpYW50IHdpdGggYSBsYWJlbFxuLy8vIEBhY2Nlc3MgcHVibGljXG4vLy9cbkBtaXhpbiBoZWlnaHQoXG4gICRoZWlnaHQsXG4gICRtaW5pbXVtLWhlaWdodC1mb3ItZmlsbGVkLWxhYmVsOiB2YXJpYWJsZXMuJG1pbmltdW0taGVpZ2h0LWZvci1maWxsZWQtbGFiZWwsXG4gICRmaWxsZWQtYmFzZWxpbmUtdG9wOiB2YXJpYWJsZXMuJGZpbGxlZC1iYXNlbGluZS10b3AsXG4gICRxdWVyeTogZmVhdHVyZS10YXJnZXRpbmctZnVuY3Rpb25zLmFsbCgpXG4pIHtcbiAgJGZlYXQtc3RydWN0dXJlOiBmZWF0dXJlLXRhcmdldGluZy1mdW5jdGlvbnMuY3JlYXRlLXRhcmdldCgkcXVlcnksIHN0cnVjdHVyZSk7XG4gIEBpbmNsdWRlIGZlYXR1cmUtdGFyZ2V0aW5nLW1peGlucy50YXJnZXRzKCRmZWF0LXN0cnVjdHVyZSkge1xuICAgIGhlaWdodDogJGhlaWdodDtcbiAgfVxuXG4gIC8vIEZpbGxlZCB2YXJpYW50IGlzIGFsaWduZWQgdG8gYmFzZWxpbmUuLi5cbiAgQGluY2x1ZGUgdHlwb2dyYXBoeS1taXhpbnMuYmFzZWxpbmUoJHRvcDogJGZpbGxlZC1iYXNlbGluZS10b3AsICRkaXNwbGF5OiBpbmxpbmUtZmxleCwgJHF1ZXJ5OiAkcXVlcnkpO1xuICAvLyAuLi51bmxlc3MgaXQgaXMgdG9vIHNtYWxsIHRvIGRpc3BsYXkgYSBsYWJlbFxuICBAaWYgJGhlaWdodCA8ICRtaW5pbXVtLWhlaWdodC1mb3ItZmlsbGVkLWxhYmVsIHtcbiAgICBAaW5jbHVkZSBjZW50ZXItYWxpZ25lZF8oJHF1ZXJ5OiAkcXVlcnkpO1xuXG4gICAgQGluY2x1ZGUgZmVhdHVyZS10YXJnZXRpbmctbWl4aW5zLnRhcmdldHMoJGZlYXQtc3RydWN0dXJlKSB7XG4gICAgICAmOm5vdCgubWRjLXNlbGVjdC0tb3V0bGluZWQpIHtcbiAgICAgICAgLm1kYy1mbG9hdGluZy1sYWJlbCB7XG4gICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC8vIE91dGxpbmVkIGFuZCBuby1sYWJlbCB2YXJpYW50cyBhcmUgYWx3YXlzIGNlbnRlcmVkXG4gIC5tZGMtc2VsZWN0LS1vdXRsaW5lZCAmLFxuICAubWRjLXNlbGVjdC0tbm8tbGFiZWwgJiB7XG4gICAgQGluY2x1ZGUgY2VudGVyLWFsaWduZWRfKCRxdWVyeTogJHF1ZXJ5KTtcbiAgfVxufVxuXG4vLyBSZW1vdmVzIGZpbGxlZCBiYXNlbGluZSBhbGlnbm1lbnRcbkBtaXhpbiBjZW50ZXItYWxpZ25lZF8oJHF1ZXJ5OiBmZWF0dXJlLXRhcmdldGluZy1mdW5jdGlvbnMuYWxsKCkpIHtcbiAgJGZlYXQtc3RydWN0dXJlOiBmZWF0dXJlLXRhcmdldGluZy1mdW5jdGlvbnMuY3JlYXRlLXRhcmdldCgkcXVlcnksIHN0cnVjdHVyZSk7XG5cbiAgQGluY2x1ZGUgZmVhdHVyZS10YXJnZXRpbmctbWl4aW5zLnRhcmdldHMoJGZlYXQtc3RydWN0dXJlKSB7XG4gICAgLy8gSW4gb3JkZXIgZm9yIGEgZmxleGJveCBjb250YWluZXIgdG8gcGFydGljaXBhdGUgaW4gYmFzZWxpbmUgYWxpZ25tZW50LFxuICAgIC8vIGl0IGZvbGxvd3MgdGhlc2UgcnVsZXMgdG8gZGV0ZXJtaW5lIHdoZXJlIGl0cyBiYXNlbGluZSBpczpcbiAgICAvLyBodHRwczovL3d3dy53My5vcmcvVFIvY3NzLWZsZXhib3gtMS8jZmxleC1iYXNlbGluZXNcbiAgICAvL1xuICAgIC8vIEluIG9yZGVyIHRvIGF2b2lkIGxlYWRpbmcgaWNvbnMgXCJjb250cm9sbGluZ1wiIHRoZSBiYXNlbGluZSAoc2luY2UgdGhleVxuICAgIC8vIGFyZSB0aGUgZmlyc3QgY2hpbGQpLCBmbGV4Ym94IHdpbGwgZ2VuZXJhdGUgYSBiYXNlbGluZSBmcm9tIGFueSBjaGlsZFxuICAgIC8vIGZsZXggaXRlbXMgdGhhdCBwYXJ0aWNpcGF0ZSBpbiBiYXNlbGluZSBhbGlnbm1lbnQuXG4gICAgLy9cbiAgICAvLyBJY29ucyBhcmUgc2V0IHRvIFwiYWxpZ24tc2VsZjogY2VudGVyXCIsIHdoaWxlIGFsbCBvdGhlciBjaGlsZHJlbiBhcmVcbiAgICAvLyBhbGlnbmVkIHRvIGJhc2VsaW5lLiBUaGUgbmV4dCBwcm9ibGVtIGlzIGRlY2lkaW5nIHdoaWNoIGNoaWxkIGlzXG4gICAgLy8gdXNlZCB0byBkZXRlcm1pbmUgdGhlIGJhc2VsaW5lLlxuICAgIC8vXG4gICAgLy8gQWNjb3JkaW5nIHRvIHNwZWMsIHRoZSBpdGVtIHdpdGggdGhlIGxhcmdlc3QgZGlzdGFuY2UgYmV0d2VlbiBpdHNcbiAgICAvLyBiYXNlbGluZSBhbmQgdGhlIGVkZ2Ugb2YgdGhlIGNyb3NzIGF4aXMgaXMgcGxhY2VkIGZsdXNoIHdpdGggdGhhdCBlZGdlLFxuICAgIC8vIG1ha2luZyBpdCB0aGUgYmFzZWxpbmUgb2YgdGhlIGNvbnRhaW5lci5cbiAgICAvLyBodHRwczovL3d3dy53My5vcmcvVFIvY3NzLWZsZXhib3gtMS8jYmFzZWxpbmUtcGFydGljaXBhdGlvblxuICAgIC8vXG4gICAgLy8gRm9yIHRoZSBmaWxsZWQgdmFyaWFudCwgdGhlIHBzZXVkbyA6OmJlZm9yZSBzdHJ1dCBpcyB0aGUgXCJsYXJnZXN0XCJcbiAgICAvLyBjaGlsZCBzaW5jZSB0aGUgaW5wdXQgaGFzIGEgaGVpZ2h0IG9mIDI4cHggYW5kIHRoZSBzdHJ1dCBpcyA0MHB4LiBXZVxuICAgIC8vIGNhbiBlbXVsYXRlIGNlbnRlciBhbGlnbm1lbnQgYW5kIGZvcmNlIHRoZSBiYXNlbGluZSB0byB1c2UgdGhlIGlucHV0XG4gICAgLy8gdGV4dCBieSBtYWtpbmcgdGhlIGlucHV0IHRoZSBmdWxsIGhlaWdodCBvZiB0aGUgY29udGFpbmVyIGFuZCByZW1vdmluZ1xuICAgIC8vIHRoZSBiYXNlbGluZSBzdHJ1dC5cbiAgICAvL1xuICAgIC8vIElFMTEgZG9lcyBub3QgcmVzcGVjdCB0aGlzLCBhbmQgbWFrZXMgdGhlIGxlYWRpbmcgaWNvbiAoaWYgcHJlc2VudClcbiAgICAvLyB0aGUgYmFzZWxpbmUuXG4gICAgLm1kYy1zZWxlY3RfX3NlbGVjdGVkLXRleHQge1xuICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgIH1cblxuICAgICY6OmJlZm9yZSB7XG4gICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cbiAgfVxufVxuIiwiLy9cbi8vIENvcHlyaWdodCAyMDE3IEdvb2dsZSBJbmMuXG4vL1xuLy8gUGVybWlzc2lvbiBpcyBoZXJlYnkgZ3JhbnRlZCwgZnJlZSBvZiBjaGFyZ2UsIHRvIGFueSBwZXJzb24gb2J0YWluaW5nIGEgY29weVxuLy8gb2YgdGhpcyBzb2Z0d2FyZSBhbmQgYXNzb2NpYXRlZCBkb2N1bWVudGF0aW9uIGZpbGVzICh0aGUgXCJTb2Z0d2FyZVwiKSwgdG8gZGVhbFxuLy8gaW4gdGhlIFNvZnR3YXJlIHdpdGhvdXQgcmVzdHJpY3Rpb24sIGluY2x1ZGluZyB3aXRob3V0IGxpbWl0YXRpb24gdGhlIHJpZ2h0c1xuLy8gdG8gdXNlLCBjb3B5LCBtb2RpZnksIG1lcmdlLCBwdWJsaXNoLCBkaXN0cmlidXRlLCBzdWJsaWNlbnNlLCBhbmQvb3Igc2VsbFxuLy8gY29waWVzIG9mIHRoZSBTb2Z0d2FyZSwgYW5kIHRvIHBlcm1pdCBwZXJzb25zIHRvIHdob20gdGhlIFNvZnR3YXJlIGlzXG4vLyBmdXJuaXNoZWQgdG8gZG8gc28sIHN1YmplY3QgdG8gdGhlIGZvbGxvd2luZyBjb25kaXRpb25zOlxuLy9cbi8vIFRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlIGFuZCB0aGlzIHBlcm1pc3Npb24gbm90aWNlIHNoYWxsIGJlIGluY2x1ZGVkIGluXG4vLyBhbGwgY29waWVzIG9yIHN1YnN0YW50aWFsIHBvcnRpb25zIG9mIHRoZSBTb2Z0d2FyZS5cbi8vXG4vLyBUSEUgU09GVFdBUkUgSVMgUFJPVklERUQgXCJBUyBJU1wiLCBXSVRIT1VUIFdBUlJBTlRZIE9GIEFOWSBLSU5ELCBFWFBSRVNTIE9SXG4vLyBJTVBMSUVELCBJTkNMVURJTkcgQlVUIE5PVCBMSU1JVEVEIFRPIFRIRSBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSxcbi8vIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFORCBOT05JTkZSSU5HRU1FTlQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRVxuLy8gQVVUSE9SUyBPUiBDT1BZUklHSFQgSE9MREVSUyBCRSBMSUFCTEUgRk9SIEFOWSBDTEFJTSwgREFNQUdFUyBPUiBPVEhFUlxuLy8gTElBQklMSVRZLCBXSEVUSEVSIElOIEFOIEFDVElPTiBPRiBDT05UUkFDVCwgVE9SVCBPUiBPVEhFUldJU0UsIEFSSVNJTkcgRlJPTSxcbi8vIE9VVCBPRiBPUiBJTiBDT05ORUNUSU9OIFdJVEggVEhFIFNPRlRXQVJFIE9SIFRIRSBVU0UgT1IgT1RIRVIgREVBTElOR1MgSU5cbi8vIFRIRSBTT0ZUV0FSRS5cbi8vXG5cbkB1c2UgXCJzYXNzOmNvbG9yXCI7XG5AdXNlIFwiQG1hdGVyaWFsL25vdGNoZWQtb3V0bGluZS92YXJpYWJsZXNcIiBhcyBub3RjaGVkLW91dGxpbmUtdmFyaWFibGVzO1xuQHVzZSBcIkBtYXRlcmlhbC90aGVtZS92YXJpYWJsZXNcIjtcblxuQGZ1bmN0aW9uIGdldC1vdXRsaW5lZC1sYWJlbC1wb3NpdGlvbi15KCRzZWxlY3QtYW5jaG9yLWhlaWdodCkge1xuICBAcmV0dXJuICRzZWxlY3QtYW5jaG9yLWhlaWdodCAvIDIgKyBub3RjaGVkLW91dGxpbmUtdmFyaWFibGVzLiRsYWJlbC1ib3gtaGVpZ2h0IC8gMjtcbn1cbiRyaXBwbGUtdGFyZ2V0OiAnLm1kYy1zZWxlY3RfX3JpcHBsZSc7XG4kYXJyb3ctcGFkZGluZzogNTJweCAhZGVmYXVsdDtcbiRsYWJlbC1wYWRkaW5nOiAxNnB4ICFkZWZhdWx0O1xuJGhlaWdodDogNTZweCAhZGVmYXVsdDtcbiRtaW5pbXVtLWhlaWdodC1mb3ItZmlsbGVkLWxhYmVsOiA1MnB4ICFkZWZhdWx0O1xuJGZpbGxlZC1iYXNlbGluZS10b3A6IDQwcHggIWRlZmF1bHQ7XG4kc2VsZWN0ZWQtdGV4dC1oZWlnaHQ6IDI4cHggIWRlZmF1bHQ7XG4kYW5jaG9yLXBhZGRpbmctbGVmdDogMTZweCAhZGVmYXVsdDtcbiRhbmNob3ItcGFkZGluZy1sZWZ0LXdpdGgtbGVhZGluZy1pY29uOiAwICFkZWZhdWx0O1xuJGFuY2hvci1wYWRkaW5nLXJpZ2h0OiAwICFkZWZhdWx0O1xuJG91dGxpbmVkLXN0cm9rZS13aWR0aDogMnB4ICFkZWZhdWx0O1xuXG4kaW5rLWNvbG9yOiByZ2JhKHZhcmlhYmxlcy5wcm9wLXZhbHVlKG9uLXN1cmZhY2UpLCAuODcpICFkZWZhdWx0O1xuJGRyb3Bkb3duLWNvbG9yOiB2YXJpYWJsZXMucHJvcC12YWx1ZShvbi1zdXJmYWNlKSAhZGVmYXVsdDtcbiRpY29uLWNvbG9yOiByZ2JhKHZhcmlhYmxlcy5wcm9wLXZhbHVlKG9uLXN1cmZhY2UpLCAuNTQpICFkZWZhdWx0O1xuJGxhYmVsLWNvbG9yOiByZ2JhKHZhcmlhYmxlcy5wcm9wLXZhbHVlKG9uLXN1cmZhY2UpLCAuNikgIWRlZmF1bHQ7XG4kZm9jdXNlZC1sYWJlbC1jb2xvcjogcmdiYSh2YXJpYWJsZXMucHJvcC12YWx1ZShwcmltYXJ5KSwgLjg3KSAhZGVmYXVsdDtcbiRib3R0b20tbGluZS1pZGxlLWNvbG9yOiByZ2JhKHZhcmlhYmxlcy5wcm9wLXZhbHVlKG9uLXN1cmZhY2UpLCAuNDIpICFkZWZhdWx0O1xuJGJvdHRvbS1saW5lLWhvdmVyLWNvbG9yOiByZ2JhKHZhcmlhYmxlcy5wcm9wLXZhbHVlKG9uLXN1cmZhY2UpLCAuODcpICFkZWZhdWx0O1xuJGhlbHBlci10ZXh0LWNvbG9yOiByZ2JhKHZhcmlhYmxlcy5wcm9wLXZhbHVlKG9uLXN1cmZhY2UpLCAuNikgIWRlZmF1bHQ7XG5cbiRmaWxsLWNvbG9yOiBjb2xvci5taXgodmFyaWFibGVzLnByb3AtdmFsdWUob24tc3VyZmFjZSksIHZhcmlhYmxlcy5wcm9wLXZhbHVlKHN1cmZhY2UpLCA0JSkgIWRlZmF1bHQ7XG5cbiRkcm9wZG93bi1vcGFjaXR5OiAuNTQgIWRlZmF1bHQ7XG5cbi8vIERpc2FibGVkIFN0eWxlc1xuJGRpc2FibGVkLWxhYmVsLWNvbG9yOiByZ2JhKHZhcmlhYmxlcy5wcm9wLXZhbHVlKG9uLXN1cmZhY2UpLCAuMzgpICFkZWZhdWx0O1xuJGRpc2FibGVkLWljb24tY29sb3I6IHJnYmEodmFyaWFibGVzLnByb3AtdmFsdWUob24tc3VyZmFjZSksIC4zOCkgIWRlZmF1bHQ7XG4kZGlzYWJsZWQtaW5rLWNvbG9yOiByZ2JhKHZhcmlhYmxlcy5wcm9wLXZhbHVlKG9uLXN1cmZhY2UpLCAuMzgpICFkZWZhdWx0O1xuJGRpc2FibGVkLWZpbGwtY29sb3I6IGNvbG9yLm1peCh2YXJpYWJsZXMucHJvcC12YWx1ZShvbi1zdXJmYWNlKSwgdmFyaWFibGVzLnByb3AtdmFsdWUoc3VyZmFjZSksIDIlKSAhZGVmYXVsdDtcbiRkaXNhYmxlZC1kcm9wZG93bi1vcGFjaXR5OiAuMzggIWRlZmF1bHQ7XG5cbiRvdXRsaW5lZC1pZGxlLWJvcmRlcjogcmdiYSh2YXJpYWJsZXMucHJvcC12YWx1ZShvbi1zdXJmYWNlKSwgLjM4KSAhZGVmYXVsdDtcbiRvdXRsaW5lZC1ob3Zlci1ib3JkZXI6IHJnYmEodmFyaWFibGVzLnByb3AtdmFsdWUob24tc3VyZmFjZSksIC44NykgIWRlZmF1bHQ7XG5cbi8vIHNob3VsZCBiZSAuMDYgYWZ0ZXIgbWRjLXNlbGVjdCBvcGFjaXR5IGlzIGFwcGxpZWRcbiRvdXRsaW5lZC1kaXNhYmxlZC1ib3JkZXI6IHJnYmEodmFyaWFibGVzLnByb3AtdmFsdWUob24tc3VyZmFjZSksIC4xNikgIWRlZmF1bHQ7XG5cbiRsYWJlbC1wb3NpdGlvbi15OiAxMDYlICFkZWZhdWx0O1xuJG91dGxpbmUtbGFiZWwtb2Zmc2V0OiAxNnB4ICFkZWZhdWx0O1xuJG91dGxpbmVkLWxhYmVsLXBvc2l0aW9uLXk6IGdldC1vdXRsaW5lZC1sYWJlbC1wb3NpdGlvbi15KCRoZWlnaHQpICFkZWZhdWx0O1xuJG91dGxpbmVkLXdpdGgtbGVhZGluZy1pY29uLWxhYmVsLXBvc2l0aW9uLXg6IDMycHggIWRlZmF1bHQ7XG5cbiRkcm9wZG93bi10cmFuc2l0aW9uLWR1cmF0aW9uOiAxNTBtcyAhZGVmYXVsdDtcblxuLy8gRXJyb3IgY29sb3JzXG4kZXJyb3ItY29sb3I6IGVycm9yICFkZWZhdWx0O1xuIiwiLm1vZGFsLWZ1bGwtLW5ld3NsZXR0ZXIge1xuICAubW9kYWwtZnVsbCB7XG4gICAgJl9fY29udGVudCB7XG4gICAgICBwYWRkaW5nOiAwO1xuICAgIH1cblxuICAgICZfX2Nsb3NlIHtcbiAgICAgIGJhY2tncm91bmQtaW1hZ2U6IGljb25zLXByb2plY3RfX2Nsb3NlKCRwcm9qZWN0LXdoaXRlKTtcbiAgICB9XG4gIH1cblxuICBAbWVkaWEgKG1pbi13aWR0aDogOTkycHgpIHtcbiAgICAubWRjLWRpYWxvZ19fc3VyZmFjZSB7XG4gICAgICBtYXgtd2lkdGg6IDc1MHB4O1xuICAgIH1cbiAgfVxufVxuXG4ubW9kYWwtbmV3c2xldHRlciB7XG4gICZfX3JvdyB7XG4gICAgbWFyZ2luLWJvdHRvbTogMjBweDtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgICAmLS1jZW50ZXIge1xuICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgfVxuICB9XG5cbiAgJl9fZm9ybSB7XG4gICAgcGFkZGluZzogMCA1MHB4O1xuICAgIG1hcmdpbi10b3A6IC00NXB4O1xuXG4gICAgLm1kYy10ZXh0LWZpZWxkIHtcbiAgICAgIGJvcmRlcjogMXB4IHNvbGlkICRwcm9qZWN0LXVuaWNlZjtcbiAgICAgIGJvcmRlci1yYWRpdXM6IDA7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgfVxuXG4gICAgLmN1c3RvbS12YWxpZGF0aW9uLXRleHQge1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgbWFyZ2luOiBhdXRvO1xuICAgICAgbWF4LXdpZHRoOiBjYWxjKDEwMCUgLSAyNnB4KTtcbiAgICAgIGJvdHRvbTogLTE0cHg7XG4gICAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWSg1MCUpO1xuICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDUwJSk7XG4gICAgICBsZWZ0OiAwO1xuICAgICAgZm9udC1zaXplOiAxMC41cHg7XG4gICAgICBsaW5lLWhlaWdodDogMTtcbiAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICBwYWRkaW5nLWxlZnQ6IDJweDtcbiAgICAgIHBhZGRpbmctcmlnaHQ6IDJweDtcbiAgICAgIGZvbnQtd2VpZ2h0OiA1MDA7XG4gICAgICAtd2Via2l0LXVzZXItc2VsZWN0OiBub25lO1xuICAgICAgLW1vei11c2VyLXNlbGVjdDogbm9uZTtcbiAgICAgIC1tcy11c2VyLXNlbGVjdDogbm9uZTtcbiAgICAgIHVzZXItc2VsZWN0OiBub25lO1xuICAgICAgY29sb3I6ICRwcm9qZWN0LW5ldy1yZWQgIWltcG9ydGFudDtcbiAgICB9XG5cbiAgICAubWRjLXRleHQtZmllbGQtLWludmFsaWQge1xuICAgICAgYm9yZGVyLWNvbG9yOiAkcHJvamVjdC1uZXctcmVkICFpbXBvcnRhbnQ7XG5cbiAgICAgIGxhYmVsIHtcbiAgICAgICAgY29sb3I6ICRwcm9qZWN0LW5ldy1yZWQgIWltcG9ydGFudDtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAubWRjLWNoZWNrYm94LS1pbnZhbGlkIHtcbiAgICAgICYgfiBsYWJlbCB7XG4gICAgICAgIGNvbG9yOiAkcHJvamVjdC1uZXctcmVkICFpbXBvcnRhbnQ7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLm1kYy10ZXh0LWZpZWxkLS1pbnZhbGlkIH4gLmN1c3RvbS12YWxpZGF0aW9uLXRleHQsXG4gICAgLm1kYy1jaGVja2JveC0taW52YWxpZCB+IC5jdXN0b20tdmFsaWRhdGlvbi10ZXh0IHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIH1cbiAgfVxuXG4gICZfX3NlbmQge1xuICAgIHdpZHRoOiA2MCU7XG4gICAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gICAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xuICB9XG5cbiAgJl9faW5mbyB7XG4gICAgZm9udC13ZWlnaHQ6IDMwMDtcbiAgICBmb250LXNpemU6IDEycHg7XG4gICAgbGluZS1oZWlnaHQ6IDE2cHg7XG4gICAgbWFyZ2luLXRvcDogMTBweDtcbiAgfVxuXG4gIC5zaXRlLWZvcm0gLm1kYy1mb3JtLWZpZWxkLS1jaGVja2JveCBsYWJlbCB7XG4gICAgZm9udC1zaXplOiAxNHB4ICFpbXBvcnRhbnQ7XG4gIH1cblxuICAmX19maWd1cmUge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgfVxuXG4gICZfX2NhbnZhcyB7XG4gICAgbWFyZ2luOiAwO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIG1heC13aWR0aDogMTAwJTtcbiAgICB1c2VyLXNlbGVjdDogbm9uZTtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgfVxuXG4gICZfX2ltZyB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgdXNlci1zZWxlY3Q6IG5vbmU7XG5cbiAgICBjYW52YXMgKyBwaWN0dXJlICYge1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgbGVmdDogMDtcbiAgICAgIHRvcDogMDtcbiAgICB9XG4gIH1cbn1cblxuLm1vZGFsLW5ld3NsZXR0ZXItdGhhbmtzIHtcbiAgJl9fZmlndXJlIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gIH1cblxuICAmX19jYW52YXMge1xuICAgIG1hcmdpbjogMDtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgdXNlci1zZWxlY3Q6IG5vbmU7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gIH1cblxuICAmX19pbWcge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHVzZXItc2VsZWN0OiBub25lO1xuXG4gICAgY2FudmFzICsgcGljdHVyZSAmIHtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIGxlZnQ6IDA7XG4gICAgICB0b3A6IDA7XG4gICAgfVxuICB9XG59Il0sIm5hbWVzIjpbXSwic291cmNlUm9vdCI6IiJ9*/