/*!*****************************************************************************************************************************************************************************************************************************************************************************!*\
  !*** css ./node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[4].oneOf[1].use[1]!./node_modules/resolve-url-loader/index.js??ruleSet[1].rules[4].oneOf[1].use[2]!./node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[4].oneOf[1].use[3]!./assets/styles/kendo.scss ***!
  \*****************************************************************************************************************************************************************************************************************************************************************************/
@charset "UTF-8";
:root {
  --kendo-body-bg: var(--kendo-color-app-surface, #ffffff);
  --kendo-body-text: var(--kendo-color-on-app-surface, #323130);
  --kendo-component-bg: var(--kendo-color-surface-alt, #ffffff);
  --kendo-component-text: var(--kendo-color-on-app-surface, #323130);
  --kendo-component-border: color-mix(in srgb, var(--kendo-color-border, #8a8886) 16%, transparent);
  --kendo-link-text: var(--kendo-color-primary, #0078d4);
  --kendo-link-hover-text: var(--kendo-color-primary-hover, #106ebe);
  --kendo-disabled-bg: var(--kendo-color-base-subtle, #edebe9);
  --kendo-disabled-text: color-mix(in srgb, var(--kendo-color-on-app-surface, #323130) 46%, transparent);
  --kendo-disabled-border: transparent;
  --kendo-disabled-opacity: ;
  --kendo-disabled-filter: ;
  --kendo-hover-bg: var(--kendo-color-base-hover, #f3f2f1);
  --kendo-hover-text: var(--kendo-color-on-base, #323130);
  --kendo-hover-border: color-mix(in srgb, var(--kendo-color-border, #8a8886) 10%, transparent);
  --kendo-selected-bg: var(--kendo-color-base-active, #edebe9);
  --kendo-selected-text: var(--kendo-color-on-base, #323130);
  --kendo-selected-border: color-mix(in srgb, var(--kendo-color-border-alt, #323130) 76%, transparent);
  --kendo-selected-hover-bg: var(--kendo-color-base-subtle-active, #d2d0ce);
  --kendo-selected-hover-text: var(--kendo-color-on-base, #323130);
  --kendo-selected-hover-border: color-mix(in srgb, var(--kendo-color-border-alt, #323130) 76%, transparent);
  --kendo-focus-outline: var(--kendo-color-base-emphasis, #605e5c);
  --kendo-subtle-text: var(--kendo-color-subtle, #605e5c);
  --kendo-invalid-bg: initial;
  --kendo-invalid-text: var(--kendo-color-error-on-surface, #a4262c);
  --kendo-invalid-border: var(--kendo-color-error-emphasis, #a4262c);
  --kendo-invalid-shadow: ;
  --kendo-hr-border: color-mix(in srgb, var(--kendo-color-border, #8a8886) 16%, transparent);
  --kendo-marquee-text: var(--kendo-neutral-160, inherit);
  --kendo-marquee-bg: var(--kendo-primary-60, inherit);
  --kendo-marquee-border: var(--kendo-primary-100, inherit);
  --kendo-text-selection-bg: var(--kendo-primary-100, inherit);
}

:root {
  --kendo-icon-size: var( --kendo-icon-size, 1rem );
  --kendo-icon-size-xs: calc(var(--kendo-icon-size, 1rem) * 0.75);
  --kendo-icon-size-sm: calc(var(--kendo-icon-size, 1rem) * 0.875);
  --kendo-icon-size-md: var(--kendo-icon-size, 1rem);
  --kendo-icon-size-lg: calc(var(--kendo-icon-size, 1rem) * 1.25);
  --kendo-icon-size-xl: calc(var(--kendo-icon-size, 1rem) * 1.5);
  --kendo-icon-size-xxl: calc(var(--kendo-icon-size, 1rem) * 2);
  --kendo-icon-size-xxxl: calc(var(--kendo-icon-size, 1rem) * 3);
  --kendo-icon-spacing: var(--kendo-spacing-2, 0.5rem);
  --kendo-icon-padding: var(--kendo-spacing-1, 0.25rem);
}

.k-drag-clue {
  border-radius: var(--kendo-drag-clue-border-radius, var(--kendo-border-radius-md, 0.25rem));
  padding-inline: var(--kendo-drag-clue-padding-x, var(--kendo-spacing-3, 0.75rem));
  padding-block: var(--kendo-drag-clue-padding-y, var(--kendo-spacing-1\.5, 0.375rem));
  border-width: var(--kendo-drag-clue-border-width, 0px);
  border-style: var(--kendo-drag-clue-border-style, solid);
  box-sizing: border-box;
  font-family: var(--kendo-drag-clue-font-family, var(--kendo-font-family, inherit));
  font-size: var(--kendo-drag-clue-font-size, var(--kendo-font-size, inherit));
  line-height: var(--kendo-drag-clue-line-height, var(--kendo-line-height, inherit));
  display: inline-flex;
  flex-flow: row nowrap;
  align-items: center;
  align-content: center;
  white-space: nowrap;
  opacity: var(--kendo-drag-clue-opacity, 0.8);
  overflow: hidden;
  position: absolute;
  z-index: 20000;
  cursor: move;
}

.k-drag-status,
.k-drag-clue .k-drag-status {
  margin: 0;
  margin-inline-end: var(--kendo-drag-clue-spacing, 0.4ex);
}

.k-drop-hint {
  display: flex;
  gap: var(--kendo-drop-hint-arrow-spacing, 3px);
  justify-content: space-between;
  align-items: center;
  position: absolute;
  z-index: 1000;
  transform: translate(-50%, -50%);
}

.k-drop-hint-start,
.k-drop-hint-end {
  flex-shrink: 0;
  border-width: calc(var(--kendo-drop-hint-arrow-size, 6px) / 2);
  border-style: solid;
  border-radius: 50%;
  border-color: transparent;
}

.k-drop-hint-line {
  flex-grow: 1;
}

.k-drop-hint-h .k-drop-hint-line {
  width: var(--kendo-drop-hint-line-h-width, 20px);
  height: var(--kendo-drop-hint-line-h-height, 1px);
}

.k-drop-hint-v {
  flex-direction: column;
}
.k-drop-hint-v .k-drop-hint-line {
  width: var(--kendo-drop-hint-line-v-width, 1px);
  height: var(--kendo-drop-hint-line-v-height, 20px);
}

.k-drag-clue {
  border-color: var(--kendo-drag-clue-border, var(--kendo-selected-border, inherit));
  color: var(--kendo-drag-clue-text, var(--kendo-selected-text, inherit));
  background-color: var(--kendo-drag-clue-bg, var(--kendo-selected-bg, inherit));
  background-image: linear-gradient(var(--kendo-drag-clue-gradient, ));
  box-shadow: var(--kendo-drag-clue-shadow, var(--kendo-box-shadow-depth-2, none));
}

.k-drop-hint-line {
  background-color: var(--kendo-drop-hint-bg, var(--kendo-color-primary, #0078d4));
}

.k-drop-hint-start,
.k-drop-hint-end {
  border-color: var(--kendo-drop-hint-bg, var(--kendo-color-primary, #0078d4));
}

:root {
  --kendo-color-app-surface: #ffffff;
  --kendo-color-on-app-surface: #323130;
  --kendo-color-subtle: #605e5c;
  --kendo-color-surface: #faf9f8;
  --kendo-color-surface-alt: #ffffff;
  --kendo-color-border: #8a8886;
  --kendo-color-border-alt: #323130;
  --kendo-color-base-subtle: #edebe9;
  --kendo-color-base-subtle-hover: #e1dfdd;
  --kendo-color-base-subtle-active: #d2d0ce;
  --kendo-color-base: #ffffff;
  --kendo-color-base-hover: #f3f2f1;
  --kendo-color-base-active: #edebe9;
  --kendo-color-base-emphasis: #605e5c;
  --kendo-color-base-on-subtle: #323130;
  --kendo-color-on-base: #323130;
  --kendo-color-base-on-surface: #323130;
  --kendo-color-primary-subtle: #deecf9;
  --kendo-color-primary-subtle-hover: #c7e0f4;
  --kendo-color-primary-subtle-active: #abd1ef;
  --kendo-color-primary: #0078d4;
  --kendo-color-primary-hover: #106ebe;
  --kendo-color-primary-active: #005a9e;
  --kendo-color-primary-emphasis: #004578;
  --kendo-color-primary-on-subtle: #001c30;
  --kendo-color-on-primary: #ffffff;
  --kendo-color-primary-on-surface: #0078d4;
  --kendo-color-secondary-subtle: #faf9f8;
  --kendo-color-secondary-subtle-hover: #f3f2f1;
  --kendo-color-secondary-subtle-active: #edebe9;
  --kendo-color-secondary: #979593;
  --kendo-color-secondary-hover: #8a8886;
  --kendo-color-secondary-active: #797775;
  --kendo-color-secondary-emphasis: #605e5c;
  --kendo-color-secondary-on-subtle: #323130;
  --kendo-color-on-secondary: #ffffff;
  --kendo-color-secondary-on-surface: #605e5c;
  --kendo-color-tertiary-subtle: #deecf9;
  --kendo-color-tertiary-subtle-hover: #bfdbf3;
  --kendo-color-tertiary-subtle-active: #aacfef;
  --kendo-color-tertiary: #2b88d8;
  --kendo-color-tertiary-hover: #287ec7;
  --kendo-color-tertiary-active: #2473b7;
  --kendo-color-tertiary-emphasis: #2169a6;
  --kendo-color-tertiary-on-subtle: #174974;
  --kendo-color-on-tertiary: #ffffff;
  --kendo-color-tertiary-on-surface: #2b88d8;
  --kendo-color-info-subtle: #cee5ff;
  --kendo-color-info-subtle-hover: #add4ff;
  --kendo-color-info-subtle-active: #8dc3ff;
  --kendo-color-info: #0a7eff;
  --kendo-color-info-hover: #096edf;
  --kendo-color-info-active: #085ebf;
  --kendo-color-info-emphasis: #064f9f;
  --kendo-color-info-on-subtle: #032040;
  --kendo-color-on-info: #ffffff;
  --kendo-color-info-on-surface: #096edf;
  --kendo-color-success-subtle: #dff6dd;
  --kendo-color-success-subtle-hover: #c8e8c6;
  --kendo-color-success-subtle-active: #b1dbaf;
  --kendo-color-success: #55a554;
  --kendo-color-success-hover: #3e973e;
  --kendo-color-success-active: #278a27;
  --kendo-color-success-emphasis: #107c10;
  --kendo-color-success-on-subtle: #063206;
  --kendo-color-on-success: #ffffff;
  --kendo-color-success-on-surface: #107c10;
  --kendo-color-warning-subtle: #fff4ce;
  --kendo-color-warning-subtle-hover: #ffedad;
  --kendo-color-warning-subtle-active: #ffe58d;
  --kendo-color-warning: #ffc80a;
  --kendo-color-warning-hover: #f5c000;
  --kendo-color-warning-active: #e0b000;
  --kendo-color-warning-emphasis: #4e4d4b;
  --kendo-color-warning-on-subtle: #323130;
  --kendo-color-on-warning: #323130;
  --kendo-color-warning-on-surface: #7a6000;
  --kendo-color-error-subtle: #fde7e9;
  --kendo-color-error-subtle-hover: #f3d2d4;
  --kendo-color-error-subtle-active: #e9bcbf;
  --kendo-color-error: #c2666b;
  --kendo-color-error-hover: #b85156;
  --kendo-color-error-active: #ae3b41;
  --kendo-color-error-emphasis: #a4262c;
  --kendo-color-error-on-subtle: #420f12;
  --kendo-color-on-error: #ffffff;
  --kendo-color-error-on-surface: #a4262c;
  --kendo-color-light-subtle: #faf9f8;
  --kendo-color-light-subtle-hover: #f3f2f1;
  --kendo-color-light-subtle-active: #edebe9;
  --kendo-color-light: #d2d0ce;
  --kendo-color-light-hover: #c8c6c4;
  --kendo-color-light-active: #a19f9d;
  --kendo-color-light-emphasis: #e1dfdd;
  --kendo-color-light-on-subtle: #323130;
  --kendo-color-on-light: #323130;
  --kendo-color-light-on-surface: #d2d0ce;
  --kendo-color-dark-subtle: #a19f9d;
  --kendo-color-dark-subtle-hover: #979593;
  --kendo-color-dark-subtle-active: #8a8886;
  --kendo-color-dark: #323130;
  --kendo-color-dark-hover: #201f1e;
  --kendo-color-dark-active: #000000;
  --kendo-color-dark-emphasis: #797775;
  --kendo-color-dark-on-subtle: #201f1e;
  --kendo-color-on-dark: #ffffff;
  --kendo-color-dark-on-surface: #323130;
  --kendo-color-inverse-subtle: #a19f9d;
  --kendo-color-inverse-subtle-hover: #979593;
  --kendo-color-inverse-subtle-active: #8a8886;
  --kendo-color-inverse: #323130;
  --kendo-color-inverse-hover: #201f1e;
  --kendo-color-inverse-active: #000000;
  --kendo-color-inverse-emphasis: #797775;
  --kendo-color-inverse-on-subtle: #201f1e;
  --kendo-color-on-inverse: #ffffff;
  --kendo-color-inverse-on-surface: #323130;
  --kendo-color-series-a: #0099bc;
  --kendo-color-series-a-bold: #00738d;
  --kendo-color-series-a-bolder: #004d5e;
  --kendo-color-series-a-subtle: #40b3cd;
  --kendo-color-series-a-subtler: #80ccdd;
  --kendo-color-series-b: #e74856;
  --kendo-color-series-b-bold: #ad3641;
  --kendo-color-series-b-bolder: #74242b;
  --kendo-color-series-b-subtle: #ed7680;
  --kendo-color-series-b-subtler: #f3a3aa;
  --kendo-color-series-c: #ffb900;
  --kendo-color-series-c-bold: #bf8b00;
  --kendo-color-series-c-bolder: #805d00;
  --kendo-color-series-c-subtle: #ffcb40;
  --kendo-color-series-c-subtler: #ffdc80;
  --kendo-color-series-d: #0078d7;
  --kendo-color-series-d-bold: #005aa1;
  --kendo-color-series-d-bolder: #003c6c;
  --kendo-color-series-d-subtle: #409ae1;
  --kendo-color-series-d-subtler: #80bbeb;
  --kendo-color-series-e: #8764b8;
  --kendo-color-series-e-bold: #654b8a;
  --kendo-color-series-e-bolder: #44325c;
  --kendo-color-series-e-subtle: #a58bca;
  --kendo-color-series-e-subtler: #c3b1db;
  --kendo-color-series-f: #00cc6a;
  --kendo-color-series-f-bold: #009950;
  --kendo-color-series-f-bolder: #006635;
  --kendo-color-series-f-subtle: #40d98f;
  --kendo-color-series-f-subtler: #80e5b4;
}

.k-sr-only {
  position: absolute;
  left: -1px;
  width: 1px;
  height: 1px;
  overflow: hidden;
}

.k-push-right-enter, .k-push-right-appear {
  transform: translate(-100%, 0);
}
.k-push-right-enter-active, .k-push-right-appear-active {
  transform: translate(0, 0);
  transition: transform 300ms ease-in-out;
}
.k-push-right-exit {
  transform: translate(0, 0);
}
.k-push-right-exit-active {
  transform: translate(100%, 0);
  transition: transform 300ms ease-in-out;
}

.k-push-left-enter, .k-push-left-appear {
  transform: translate(100%, 0);
}
.k-push-left-enter-active, .k-push-left-appear-active {
  transform: translate(0, 0);
  transition: transform 300ms ease-in-out;
}
.k-push-left-exit {
  transform: translate(0, 0);
}
.k-push-left-exit-active {
  transform: translate(-100%, 0);
  transition: transform 300ms ease-in-out;
}

.k-push-down-enter, .k-push-down-appear {
  transform: translate(0, -100%);
}
.k-push-down-enter-active, .k-push-down-appear-active {
  transform: translate(0, 0);
  transition: transform 300ms ease-in-out;
}
.k-push-down-exit {
  transform: translate(0, 0);
}
.k-push-down-exit-active {
  transform: translate(0, 100%);
  transition: transform 300ms ease-in-out;
}

.k-push-up-enter, .k-push-up-appear {
  transform: translate(0, 100%);
}
.k-push-up-enter-active, .k-push-up-appear-active {
  transform: translate(0, 0);
  transition: transform 300ms ease-in-out;
}
.k-push-up-exit {
  transform: translate(0, 0);
}
.k-push-up-exit-active {
  transform: translate(0, -100%);
  transition: transform 300ms ease-in-out;
}

.k-expand-vertical-enter, .k-expand-vertical-appear {
  transform: scaleY(0);
}
.k-expand-vertical-enter-active, .k-expand-vertical-appear-active {
  transform: scaleY(1);
  transition: transform 300ms ease-in-out;
}
.k-expand-vertical-exit {
  transform: scaleY(1);
}
.k-expand-vertical-exit-active {
  transform: scaleY(0);
  transition: transform 300ms ease-in-out;
}

.k-expand-horizontal-enter, .k-expand-horizontal-appear {
  transform: scaleX(0);
}
.k-expand-horizontal-enter-active, .k-expand-horizontal-appear-active {
  transform: scaleX(1);
  transition: transform 300ms ease-in-out;
}
.k-expand-horizontal-exit {
  transform: scaleX(1);
}
.k-expand-horizontal-exit-active {
  transform: scaleX(0);
  transition: transform 300ms ease-in-out;
}

.k-fade-enter, .k-fade-appear {
  opacity: 0;
}
.k-fade-enter-active, .k-fade-appear-active {
  opacity: 1;
  transition: opacity 500ms ease-in-out;
}
.k-fade-exit {
  opacity: 1;
}
.k-fade-exit-active {
  opacity: 0;
  transition: opacity 500ms ease-in-out;
}
.k-fade-exit-active + .k-fade-exit-active, .k-fade-enter-active + .k-fade-enter-active {
  display: none;
}

.k-zoom-in-enter, .k-zoom-in-appear {
  opacity: 0;
  transform: scale(0);
}
.k-zoom-in-enter-active, .k-zoom-in-appear-active {
  opacity: 1;
  transform: scale(1);
  transition: transform, opacity 300ms ease-in-out;
}
.k-zoom-in-exit {
  opacity: 1;
  transform: scale(1);
}
.k-zoom-in-exit-active {
  opacity: 0;
  transform: scale(2);
  transition: transform, opacity 300ms ease-in-out;
}

.k-zoom-out-enter, .k-zoom-out-appear {
  opacity: 0;
  transform: scale(2);
}
.k-zoom-out-enter-active, .k-zoom-out-appear-active {
  opacity: 1;
  transform: scale(1);
  transition: transform, opacity 300ms ease-in-out;
}
.k-zoom-out-exit {
  opacity: 1;
  transform: scale(1);
}
.k-zoom-out-exit-active {
  opacity: 0;
  transform: scale(0);
  transition: transform, opacity 300ms ease-in-out;
}

.k-slide-in-appear {
  opacity: 0.1;
  transform: translate(0, -3em);
}
.k-slide-in-appear .k-centered {
  transform: translate(-50%, -60%);
}
.k-slide-in-appear-active {
  opacity: 1;
  transform: translate(0, 0);
  transition: transform 0.3s cubic-bezier(0.2, 0.6, 0.4, 1), opacity 0.3s cubic-bezier(0.2, 1, 0.2, 1);
}
.k-slide-in-appear-active .k-centered {
  transform: translate(-50%, -50%);
}

.k-slide-down-enter, .k-slide-down-appear {
  transform: translateY(-100%);
}
.k-slide-down-enter-active, .k-slide-down-appear-active {
  transform: translateY(0);
  transition: transform 300ms ease-in-out;
}
.k-slide-down-exit {
  transform: translateY(0);
}
.k-slide-down-exit-active {
  transform: translateY(-100%);
  transition: transform 300ms ease-in-out;
}

.k-slide-up-enter, .k-slide-up-appear {
  transform: translateY(100%);
}
.k-slide-up-enter-active, .k-slide-up-appear-active {
  transform: translateY(0);
  transition: transform 300ms ease-in-out;
}
.k-slide-up-exit {
  transform: translateY(0);
}
.k-slide-up-exit-active {
  transform: translateY(100%);
  transition: transform 300ms ease-in-out;
}

.k-slide-right-enter, .k-slide-right-appear {
  transform: translateX(-100%);
}
.k-slide-right-enter-active, .k-slide-right-appear-active {
  transform: translateX(0);
  transition: transform 300ms ease-in-out;
}
.k-slide-right-exit {
  transform: translateX(0);
}
.k-slide-right-exit-active {
  transform: translateX(-100%);
  transition: transform 300ms ease-in-out;
}

.k-slide-left-enter, .k-slide-left-appear {
  transform: translateX(100%);
}
.k-slide-left-enter-active, .k-slide-left-appear-active {
  transform: translateX(0);
  transition: transform 300ms ease-in-out;
}
.k-slide-left-exit {
  transform: translateX(0);
}
.k-slide-left-exit-active {
  transform: translateX(100%);
  transition: transform 300ms ease-in-out;
}

.k-reveal-vertical-enter, .k-reveal-vertical-appear {
  max-height: 0;
}
.k-reveal-vertical-enter-active, .k-reveal-vertical-appear-active {
  transition: max-height 300ms ease-in-out;
}
.k-reveal-vertical-exit-active {
  max-height: 0 !important;
  transition: max-height 300ms ease-in-out;
}

.k-reveal-horizontal-enter, .k-reveal-horizontal-appear {
  max-width: 0;
}
.k-reveal-horizontal-enter-active, .k-reveal-horizontal-appear-active {
  transition: max-width 300ms ease-in-out;
}
.k-reveal-horizontal-exit-active {
  max-width: 0 !important;
  transition: max-width 300ms ease-in-out;
}

.k-fx-end .k-fx-next,
.k-fx-end .k-fx-current {
  transition: all 350ms ease-out;
}

.k-fx {
  position: relative;
}
.k-fx .k-fx-current {
  z-index: 0;
}
.k-fx .k-fx-next {
  z-index: 1;
}

.k-fx-hidden,
.k-fx-hidden * {
  visibility: hidden !important;
}

.k-fx-reverse .k-fx-current {
  z-index: 1;
}
.k-fx-reverse .k-fx-next {
  z-index: 0;
}

.k-fx-zoom.k-fx-start .k-fx-next {
  transform: scale(0) !important;
}
.k-fx-zoom.k-fx-end .k-fx-next {
  transform: scale(1) !important;
}
.k-fx-zoom.k-fx-reverse.k-fx-start .k-fx-next, .k-fx-zoom.k-fx-reverse.k-fx-end .k-fx-next {
  transform: scale(1) !important;
}
.k-fx-zoom.k-fx-reverse.k-fx-start .k-fx-current {
  transform: scale(1) !important;
}
.k-fx-zoom.k-fx-reverse.k-fx-end .k-fx-current {
  transform: scale(0) !important;
}

.k-fx-fade.k-fx-start .k-fx-next {
  will-change: opacity;
  opacity: 0;
}
.k-fx-fade.k-fx-end .k-fx-next {
  opacity: 1;
}
.k-fx-fade.k-fx-reverse.k-fx-start .k-fx-current {
  will-change: opacity;
  opacity: 1;
}
.k-fx-fade.k-fx-reverse.k-fx-end .k-fx-current {
  opacity: 0;
}

.k-fx-slide.k-fx-end .k-fx-next .k-content, .k-fx-slide.k-fx-end .k-fx-next .k-header, .k-fx-slide.k-fx-end .k-fx-next .k-footer, .k-fx-slide.k-fx-end .k-fx-current .k-content, .k-fx-slide.k-fx-end .k-fx-current .k-header, .k-fx-slide.k-fx-end .k-fx-current .k-footer, .k-fx-slide.k-fx-end .k-fx-next .km-content, .k-fx-slide.k-fx-end .k-fx-next .km-header, .k-fx-slide.k-fx-end .k-fx-next .km-footer, .k-fx-slide.k-fx-end .k-fx-current .km-content, .k-fx-slide.k-fx-end .k-fx-current .km-header, .k-fx-slide.k-fx-end .k-fx-current .km-footer {
  transition: all 350ms ease-out;
}
.k-fx-slide.k-fx-start .k-fx-next .k-content, .k-fx-slide.k-fx-start .k-fx-next .km-content {
  will-change: transform;
  transform: translateX(100%);
}
.k-fx-slide.k-fx-start .k-fx-next .k-header, .k-fx-slide.k-fx-start .k-fx-next .k-footer, .k-fx-slide.k-fx-start .k-fx-next .km-header, .k-fx-slide.k-fx-start .k-fx-next .km-footer {
  will-change: opacity;
  opacity: 0;
}
.k-fx-slide.k-fx-end .k-fx-current .k-content, .k-fx-slide.k-fx-end .k-fx-current .km-content {
  transform: translateX(-100%);
}
.k-fx-slide.k-fx-end .k-fx-next .k-header, .k-fx-slide.k-fx-end .k-fx-next .k-footer, .k-fx-slide.k-fx-end .k-fx-next .km-header, .k-fx-slide.k-fx-end .k-fx-next .km-footer {
  opacity: 1;
}
.k-fx-slide.k-fx-reverse.k-fx-start .k-fx-current .k-content, .k-fx-slide.k-fx-reverse.k-fx-start .k-fx-current .km-content {
  will-change: transform;
  transform: translateX(0);
}
.k-fx-slide.k-fx-reverse.k-fx-end .k-fx-current .k-content, .k-fx-slide.k-fx-reverse.k-fx-end .k-fx-current .km-content {
  transform: translateX(100%);
}
.k-fx-slide.k-fx-reverse.k-fx-start .k-fx-next .k-content, .k-fx-slide.k-fx-reverse.k-fx-start .k-fx-next .km-content {
  transform: translateX(-100%);
}
.k-fx-slide.k-fx-reverse.k-fx-end .k-fx-next .k-content, .k-fx-slide.k-fx-reverse.k-fx-end .k-fx-next .km-content {
  transform: translateX(0);
}
.k-fx-slide.k-fx-reverse.k-fx-start .k-fx-current .k-header, .k-fx-slide.k-fx-reverse.k-fx-start .k-fx-current .k-footer, .k-fx-slide.k-fx-reverse.k-fx-start .k-fx-current .km-header, .k-fx-slide.k-fx-reverse.k-fx-start .k-fx-current .km-footer {
  will-change: opacity;
  opacity: 1;
}
.k-fx-slide.k-fx-reverse.k-fx-start .k-fx-next .k-header, .k-fx-slide.k-fx-reverse.k-fx-start .k-fx-next .k-footer, .k-fx-slide.k-fx-reverse.k-fx-start .k-fx-next .km-header, .k-fx-slide.k-fx-reverse.k-fx-start .k-fx-next .km-footer {
  opacity: 1;
}
.k-fx-slide.k-fx-reverse.k-fx-end .k-fx-current .k-header, .k-fx-slide.k-fx-reverse.k-fx-end .k-fx-current .k-footer, .k-fx-slide.k-fx-reverse.k-fx-end .k-fx-current .km-header, .k-fx-slide.k-fx-reverse.k-fx-end .k-fx-current .km-footer {
  opacity: 0;
}
.k-fx-slide.k-fx-reverse.k-fx-end .k-fx-next .k-header, .k-fx-slide.k-fx-reverse.k-fx-end .k-fx-next .k-footer, .k-fx-slide.k-fx-reverse.k-fx-end .k-fx-next .km-header, .k-fx-slide.k-fx-reverse.k-fx-end .k-fx-next .km-footer {
  opacity: 1;
}
.k-fx-slide.k-fx-right.k-fx-start .k-fx-next .k-content, .k-fx-slide.k-fx-right.k-fx-start .k-fx-next .km-content {
  transform: translateX(-100%);
}
.k-fx-slide.k-fx-right.k-fx-end .k-fx-current .k-content, .k-fx-slide.k-fx-right.k-fx-end .k-fx-current .km-content {
  transform: translateX(100%);
}
.k-fx-slide.k-fx-right.k-fx-reverse.k-fx-start .k-fx-current .k-content, .k-fx-slide.k-fx-right.k-fx-reverse.k-fx-start .k-fx-current .km-content {
  transform: translateX(0);
}
.k-fx-slide.k-fx-right.k-fx-reverse.k-fx-end .k-fx-current .k-content, .k-fx-slide.k-fx-right.k-fx-reverse.k-fx-end .k-fx-current .km-content {
  transform: translateX(-100%);
}
.k-fx-slide.k-fx-right.k-fx-reverse.k-fx-start .k-fx-next .k-content, .k-fx-slide.k-fx-right.k-fx-reverse.k-fx-start .k-fx-next .km-content {
  transform: translateX(100%);
}
.k-fx-slide.k-fx-right.k-fx-reverse.k-fx-end .k-fx-next .k-content, .k-fx-slide.k-fx-right.k-fx-reverse.k-fx-end .k-fx-next .km-content {
  transform: translateX(0%);
}

.k-fx-tile.k-fx-start .k-fx-next {
  will-change: transform;
  transform: translateX(100%);
}
.k-fx-tile.k-fx-end .k-fx-current {
  transform: translateX(-100%);
}
.k-fx-tile.k-fx-reverse.k-fx-start .k-fx-current {
  will-change: transform;
  transform: translateX(0);
}
.k-fx-tile.k-fx-reverse.k-fx-end .k-fx-current {
  transform: translateX(100%);
}
.k-fx-tile.k-fx-reverse.k-fx-start .k-fx-next {
  transform: translateX(-100%);
}
.k-fx-tile.k-fx-reverse.k-fx-end .k-fx-next {
  transform: translateX(0);
}
.k-fx-tile.k-fx-right.k-fx-start .k-fx-next {
  transform: translateX(-100%);
}
.k-fx-tile.k-fx-right.k-fx-end .k-fx-current {
  transform: translateX(100%);
}
.k-fx-tile.k-fx-right.k-fx-reverse.k-fx-start .k-fx-current {
  transform: translateX(0);
}
.k-fx-tile.k-fx-right.k-fx-reverse.k-fx-end .k-fx-current {
  transform: translateX(-100%);
}
.k-fx-tile.k-fx-right.k-fx-reverse.k-fx-start .k-fx-next {
  transform: translateX(100%);
}
.k-fx-tile.k-fx-right.k-fx-reverse.k-fx-end .k-fx-next {
  transform: translateX(0%);
}

.k-fx.k-fx-overlay.k-fx-start .k-fx-next, .k-fx.k-fx-overlay.k-fx-left.k-fx-start .k-fx-next {
  will-change: transform;
  transform: translateX(100%);
}
.k-fx.k-fx-overlay.k-fx-right.k-fx-start .k-fx-next {
  transform: translateX(-100%);
}
.k-fx.k-fx-overlay.k-fx-up.k-fx-start .k-fx-next {
  transform: translateY(100%);
}
.k-fx.k-fx-overlay.k-fx-down.k-fx-start .k-fx-next {
  transform: translateY(-100%);
}
.k-fx.k-fx-overlay.k-fx-reverse.k-fx-start .k-fx-next {
  transform: none;
}
.k-fx.k-fx-overlay.k-fx-reverse.k-fx-start .k-fx-current {
  will-change: transform;
  transform: none;
}
.k-fx.k-fx-overlay.k-fx-reverse.k-fx-end .k-fx-current, .k-fx.k-fx-overlay.k-fx-reverse.k-fx-left.k-fx-end .k-fx-current {
  transform: translateX(100%);
}
.k-fx.k-fx-overlay.k-fx-reverse.k-fx-right.k-fx-end .k-fx-current {
  transform: translateX(-100%);
}
.k-fx.k-fx-overlay.k-fx-reverse.k-fx-up.k-fx-end .k-fx-current {
  transform: translateY(100%);
}
.k-fx.k-fx-overlay.k-fx-reverse.k-fx-down.k-fx-end .k-fx-current {
  transform: translateY(-100%);
}

.k-theme-test-class,
.k-common-test-class {
  opacity: 0;
}

.k-hstack, .k-hbox {
  display: flex;
  flex-flow: row nowrap;
}

.k-vstack, .k-vbox {
  display: flex;
  flex-flow: column nowrap;
}

.k-spacer, .k-flex {
  flex: 1 1 auto;
}

.k-spacer-sized {
  flex: none;
}

.k-float-wrap::after, .k-floatwrap::after {
  content: "";
  display: block;
  clear: both;
}

.k-flex-layout {
  display: flex;
}

.k-grid-layout {
  display: grid;
}

.k-separator {
  width: auto;
  height: 0;
  border-width: 1px 0 0;
  border-style: solid;
  border-color: inherit;
  display: block;
  flex-grow: 0 !important;
  flex-shrink: 0 !important;
  align-self: stretch;
}

.k-separator-horizontal,
.k-vstack > .k-separator,
.k-vbox > .k-separator {
  width: auto;
  height: 0;
  border-width: 1px 0 0;
}

.k-separator-vertical,
.k-hstack > .k-separator,
.k-hbox > .k-separator {
  width: 0;
  height: auto;
  border-width: 0 0 0 1px;
}

hr.k-separator {
  margin: 0;
  padding: 0;
}

.k-hidden {
  display: none !important;
}

.k-rtl {
  direction: rtl;
}

[hidden] {
  display: none !important;
}

script {
  display: none !important;
}

.k-disabled,
.k-widget[disabled],
.k-disabled {
  outline: none;
  cursor: default;
  color: var(--kendo-disabled-text, unset);
  background-color: var(--kendo-disabled-bg, unset);
  border-color: var(--kendo-disabled-border, unset);
  opacity: var(--kendo-disabled-opacity, unset);
  filter: var(--kendo-disabled-filter, unset);
  pointer-events: none;
  box-shadow: none;
}
.k-disabled .k-link,
.k-widget[disabled] .k-link,
.k-disabled .k-link {
  cursor: default;
  outline: 0;
}
.k-hr {
  margin-block: var(--kendo-spacing-4, 1rem);
  padding: 0;
  height: 0;
  border-width: 1px 0 0;
  border-style: solid;
  border-color: var(--kendo-hr-border, unset);
  display: block;
  float: none;
  clear: both;
}

.k-d-flex-row > .k-hr {
  margin: 0;
  width: 0;
  height: auto;
  border-width: 0 0 0 1px;
  flex: 0 0 auto;
}

.k-d-flex-col > .k-hr {
  margin: 0;
  flex: 0 0 auto;
}

.k-sprite {
  display: inline-block;
  width: 1rem;
  height: 1rem;
  overflow: hidden;
  background-repeat: no-repeat;
  font-size: 0;
  line-height: 0;
  text-align: center;
}

.k-image {
  display: inline-block;
}

.k-reset {
  margin: 0;
  padding: 0;
  border-width: 0;
  outline: 0;
  text-decoration: none;
  font: inherit;
  list-style: none;
}

kendo-sortable {
  display: block;
}

.k-link,
.k-link:hover {
  color: inherit;
  text-decoration: none;
  outline: 0;
  cursor: pointer;
}

.k-content {
  outline: 0;
}

.k-centered {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}

.k-no-click {
  pointer-events: none;
}

.k-pdf-export-shadow {
  position: absolute;
  overflow: hidden;
  left: -15000px;
  width: 14400px;
}

.kendo-pdf-hide-pseudo-elements::before,
.kendo-pdf-hide-pseudo-elements::after {
  display: none !important;
}

.k-dirty {
  margin: 0;
  padding: 0;
  width: 0;
  height: 0;
  border-width: 3px;
  border-style: solid;
  border-block-start-color: currentColor;
  border-block-end-color: transparent;
  border-inline-start-color: transparent;
  border-inline-end-color: currentColor;
  position: absolute;
  inset-block-start: 0;
  inset-inline-end: 0;
}

.k-marquee {
  position: absolute;
  z-index: 100000;
}

.k-marquee-color,
.k-marquee-text {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}

.k-marquee-color {
  color: var(--kendo-marquee-text, unset);
  background-color: var(--kendo-marquee-bg, unset);
  border-color: var(--kendo-marquee-border, unset);
  opacity: 0.6;
}

.k-marquee-text {
  color: var(--kendo-marquee-text, unset);
}

.k-text-selection ::selection {
  background-color: var(--kendo-text-selection-bg, unset);
  color: var(--kendo-marquee-text, unset);
}

.k-scrollbar {
  position: absolute;
  overflow: scroll;
}

.k-scrollbar-vertical {
  top: 0;
  right: 0;
  width: 17px;
  height: 100%;
  overflow-x: hidden;
}

.k-touch-scrollbar {
  display: none;
  position: absolute;
  z-index: 200000;
  height: 8px;
  width: 8px;
  border: 1px solid #8a8a8a;
  background-color: #858585;
}

.k-resize-handle,
.k-resize-hint {
  position: absolute;
  border-color: inherit;
  z-index: 200;
}

.k-resize-handle {
  display: flex;
  align-items: center;
  justify-content: center;
}

.k-resize-handle::before {
  content: "";
  border: 0 solid;
  border-color: inherit;
}

.k-resize-n {
  width: 100%;
  height: 6px;
  flex-direction: row;
  left: 0;
  top: -3px;
  cursor: n-resize;
}

.k-resize-s {
  width: 100%;
  height: 6px;
  flex-direction: row;
  left: 0;
  bottom: -3px;
  cursor: s-resize;
}

.k-resize-w {
  width: 6px;
  height: 100%;
  flex-direction: column;
  top: 0;
  left: -3px;
  cursor: w-resize;
}

.k-resize-e {
  width: 6px;
  height: 100%;
  flex-direction: column;
  top: 0;
  right: -3px;
  cursor: e-resize;
}

.k-resize-sw,
.k-resize-se,
.k-resize-nw,
.k-resize-ne {
  width: 5px;
  height: 5px;
}

.k-resize-sw {
  cursor: sw-resize;
  bottom: 0;
  left: 0;
}

.k-resize-se {
  cursor: se-resize;
  bottom: 0;
  right: 0;
}

.k-resize-nw {
  cursor: nw-resize;
  top: 0;
  left: 0;
}

.k-resize-ne {
  cursor: ne-resize;
  top: 0;
  right: 0;
}

.k-vertical-resize {
  cursor: row-resize;
}

.k-horizontal-resize {
  cursor: col-resize;
}

.k-resize-hint {
  display: flex;
  flex-direction: column;
  align-items: center;
}
.k-resize-hint .k-resize-hint-handle {
  width: auto;
  height: 20px;
  align-self: stretch;
}
.k-resize-hint .k-resize-hint-marker {
  width: 2px;
  height: auto;
  flex: 1 1 auto;
}

.k-resize-hint-vertical {
  display: flex;
  flex-direction: row;
  align-items: center;
}
.k-resize-hint-vertical .k-resize-hint-handle {
  width: 20px;
  height: auto;
  align-self: stretch;
}
.k-resize-hint-vertical .k-resize-hint-marker {
  width: auto;
  height: 2px;
  flex: 1 1 auto;
}

.k-top-start,
.k-pos-top-start {
  top: 0;
  inset-inline-start: 0;
}

.k-top-end,
.k-pos-top-end {
  top: 0;
  inset-inline-end: 0;
}

.k-bottom-start,
.k-pos-bottom-start {
  bottom: 0;
  inset-inline-start: 0;
}

.k-bottom-end,
.k-pos-bottom-end {
  bottom: 0;
  inset-inline-end: 0;
}

.k-top-center,
.k-pos-top-center {
  top: 0;
  left: 50%;
  transform: translateX(-50%);
}

.k-middle-left,
.k-middle-start,
.k-pos-middle-start {
  top: 50%;
  left: 0;
  transform: translateY(-50%);
}

.k-middle-center {
  top: 50%;
  left: 50%;
  transform: translateY(-50%);
}

.k-middle-right,
.k-middle-end,
.k-pos-middle-end {
  top: 50%;
  right: 0;
  transform: translateY(-50%);
}

.k-bottom-center,
.k-pos-bottom-center {
  bottom: 0;
  left: 50%;
  transform: translateX(-50%);
}

:root {
  --kendo-spacing-0: 0px;
  --kendo-spacing-1px: 1px;
  --kendo-spacing-0\.5: 0.125rem;
  --kendo-spacing-1: 0.25rem;
  --kendo-spacing-1\.5: 0.375rem;
  --kendo-spacing-2: 0.5rem;
  --kendo-spacing-2\.5: 0.625rem;
  --kendo-spacing-3: 0.75rem;
  --kendo-spacing-3\.5: 0.875rem;
  --kendo-spacing-4: 1rem;
  --kendo-spacing-4\.5: 1.125rem;
  --kendo-spacing-5: 1.25rem;
  --kendo-spacing-5\.5: 1.375rem;
  --kendo-spacing-6: 1.5rem;
  --kendo-spacing-6\.5: 1.625rem;
  --kendo-spacing-7: 1.75rem;
  --kendo-spacing-7\.5: 1.875rem;
  --kendo-spacing-8: 2rem;
  --kendo-spacing-9: 2.25rem;
  --kendo-spacing-10: 2.5rem;
  --kendo-spacing-11: 2.75rem;
  --kendo-spacing-12: 3rem;
  --kendo-spacing-13: 3.25rem;
  --kendo-spacing-14: 3.5rem;
  --kendo-spacing-15: 3.75rem;
  --kendo-spacing-16: 4rem;
  --kendo-spacing-17: 4.25rem;
  --kendo-spacing-18: 4.5rem;
  --kendo-spacing-19: 4.75rem;
  --kendo-spacing-20: 5rem;
  --kendo-spacing-21: 5.25rem;
  --kendo-spacing-22: 5.5rem;
  --kendo-spacing-23: 5.75rem;
  --kendo-spacing-24: 6rem;
  --kendo-spacing-25: 7rem;
  --kendo-spacing-26: 8rem;
  --kendo-spacing-27: 9rem;
  --kendo-spacing-28: 10rem;
  --kendo-spacing-29: 11rem;
  --kendo-spacing-30: 12rem;
}

:root {
  --kendo-elevation-1: 0 0.3px 0.9px rgba(0, 0, 0, 0.1), 0 1.6px 3.6px rgba(0, 0, 0, 0.13);
  --kendo-elevation-2: 0 0.6px 1.8px rgba(0, 0, 0, 0.1), 0 3.2px 7.2px rgba(0, 0, 0, 0.13);
  --kendo-elevation-3: 0 0.9px 2.7px rgba(0, 0, 0, 0.1), 0 4.8px 10.8px rgba(0, 0, 0, 0.13);
  --kendo-elevation-4: 0 1.2px 3.6px rgba(0, 0, 0, 0.1), 0 6.4px 14.4px rgba(0, 0, 0, 0.13);
  --kendo-elevation-5: 0 1.8px 5.4px rgba(0, 0, 0, 0.1), 0 9.6px 21.6px rgba(0, 0, 0, 0.13);
  --kendo-elevation-6: 0 2.4px 7.2px rgba(0, 0, 0, 0.18), 0 12.8px 28.8px rgba(0, 0, 0, 0.22);
  --kendo-elevation-7: 0 3.2px 10.8px rgba(0, 0, 0, 0.18), 0 19.2px 43.2px rgba(0, 0, 0, 0.22);
  --kendo-elevation-8: 0 4.8px 14.4px rgba(0, 0, 0, 0.18), 0 25.6px 57.6px rgba(0, 0, 0, 0.22);
  --kendo-elevation-9: 0 6.4px 18px rgba(0, 0, 0, 0.18), 0 32px 72px rgba(0, 0, 0, 0.22);
}

:root {
  --kendo-font-family: "Segoe UI", -apple-system, BlinkMacSystemFont, Roboto, "Helvetica Neue", sans-serif;
  --kendo-font-size: 0.875rem;
  --kendo-line-height: 1.4285714286;
  --kendo-font-weight: 400;
  --kendo-letter-spacing: normal;
  --kendo-font-size-xs: 0.625rem;
  --kendo-font-size-sm: 0.75rem;
  --kendo-font-size-md: 0.875rem;
  --kendo-font-size-lg: 1rem;
  --kendo-font-size-xl: 1.25rem;
  --kendo-line-height-xs: 1;
  --kendo-line-height-sm: 1.25;
  --kendo-line-height-md: 1.4285714286;
  --kendo-line-height-lg: 1.5;
  --kendo-font-weight-thin: 100;
  --kendo-font-weight-extra-light: 200;
  --kendo-font-weight-light: 300;
  --kendo-font-weight-normal: 400;
  --kendo-font-weight-medium: 500;
  --kendo-font-weight-semibold: 600;
  --kendo-font-weight-bold: 700;
  --kendo-letter-spacing-tightest: -0.15px;
  --kendo-letter-spacing-tighter: -0.1px;
  --kendo-letter-spacing-tight: -0.5px;
  --kendo-letter-spacing-normal: 0px;
  --kendo-letter-spacing-wide: 0.5px;
  --kendo-letter-spacing-wider: 0.1px;
  --kendo-letter-spacing-widest: 0.15px;
  --kendo-font-family-sans: Arial, Verdana, Tahoma, Trebuchet MS, Helvetica, Impact, Gill Sans;
  --kendo-font-family-serif: Times New Roman, Georgia, Garamond, Palatino, Baskerville;
  --kendo-font-family-sans-serif: system-ui, -apple-system, Segoe UI, Roboto, Helvetica Neue, Noto Sans, Liberation Sans, Arial, sans-serif, Apple Color Emoji, Segoe UI Emoji, Segoe UI Symbol, Noto Color Emoji;
  --kendo-font-family-monospace: SFMono-Regular, Menlo, Monaco, Consolas, Roboto Mono, Ubuntu Mono, Lucida Console, Courier New, monospace;
}

:root {
  --kendo-border-radius-none: 0px;
  --kendo-border-radius-xs: 1px;
  --kendo-border-radius-sm: 0.125rem;
  --kendo-border-radius-md: 0.25rem;
  --kendo-border-radius-lg: 0.5rem;
  --kendo-border-radius-xl: 0.75rem;
  --kendo-border-radius-xxl: 1rem;
  --kendo-border-radius-xxxl: 1.25rem;
  --kendo-border-radius-full: 9999px;
}

.k-rounded-none {
  border-radius: var(--kendo-border-radius-none, 0px);
}

.k-rounded-xs {
  border-radius: var(--kendo-border-radius-xs, 1px);
}

.k-rounded-sm {
  border-radius: var(--kendo-border-radius-sm, 0.125rem);
}

.k-rounded-md {
  border-radius: var(--kendo-border-radius-md, 0.25rem);
}

.k-rounded-lg {
  border-radius: var(--kendo-border-radius-lg, 0.5rem);
}

.k-rounded-xl {
  border-radius: var(--kendo-border-radius-xl, 0.75rem);
}

.k-rounded-xxl {
  border-radius: var(--kendo-border-radius-xxl, 1rem);
}

.k-rounded-xxxl {
  border-radius: var(--kendo-border-radius-xxxl, 1.25rem);
}

.k-rounded-full {
  border-radius: var(--kendo-border-radius-full, 9999px);
}

:root {
  --kendo-primary-10: #eff6fc;
  --kendo-primary-20: #deecf9;
  --kendo-primary-30: #c7e0f4;
  --kendo-primary-40: #abd1ef;
  --kendo-primary-50: #8ec2eb;
  --kendo-primary-60: #72b3e6;
  --kendo-primary-70: #55a5e2;
  --kendo-primary-80: #3996dd;
  --kendo-primary-90: #1c87d9;
  --kendo-primary-100: #0078d4;
  --kendo-primary-110: #106ebe;
  --kendo-primary-120: #005a9e;
  --kendo-primary-130: #004578;
  --kendo-primary-140: #0f416c;
  --kendo-primary-150: #153b60;
  --kendo-primary-160: #173655;
  --kendo-primary-170: #18304a;
  --kendo-primary-180: #182a3f;
  --kendo-primary-190: #162435;
  --kendo-primary-200: #131d29;
  --kendo-primary-210: #0e151e;
  --kendo-primary-220: #070b10;
  --kendo-neutral-10: #faf9f8;
  --kendo-neutral-20: #f3f2f1;
  --kendo-neutral-30: #edebe9;
  --kendo-neutral-40: #e1dfdd;
  --kendo-neutral-50: #d2d0ce;
  --kendo-neutral-60: #c8c6c4;
  --kendo-neutral-70: #bdbbb8;
  --kendo-neutral-80: #b3b0ad;
  --kendo-neutral-90: #a19f9d;
  --kendo-neutral-100: #979593;
  --kendo-neutral-110: #8a8886;
  --kendo-neutral-120: #797775;
  --kendo-neutral-130: #605e5c;
  --kendo-neutral-140: #484644;
  --kendo-neutral-150: #3b3a39;
  --kendo-neutral-160: #323130;
  --kendo-neutral-170: #292827;
  --kendo-neutral-180: #252423;
  --kendo-neutral-190: #201f1e;
  --kendo-neutral-200: #1b1a19;
  --kendo-neutral-210: #161514;
  --kendo-neutral-220: #11100f;
  --kendo-error-10: #fef3f4;
  --kendo-error-20: #fde7e9;
  --kendo-error-30: #fcdbde;
  --kendo-error-40: #fbcfd3;
  --kendo-error-50: #fac3c8;
  --kendo-error-60: #f9b7bd;
  --kendo-error-70: #f8abb2;
  --kendo-error-80: #f79fa7;
  --kendo-error-90: #f6939c;
  --kendo-error-100: #f58791;
  --kendo-error-110: #e8797f;
  --kendo-error-120: #df6b6f;
  --kendo-error-130: #d75e5f;
  --kendo-error-140: #ce5250;
  --kendo-error-150: #c64541;
  --kendo-error-160: #be3a34;
  --kendo-error-170: #b73029;
  --kendo-error-180: #af251f;
  --kendo-error-190: #a80000;
  --kendo-error-200: #77231c;
  --kendo-error-210: #4d211d;
  --kendo-error-220: #251616;
  --kendo-success-10: #effbee;
  --kendo-success-20: #dff6dd;
  --kendo-success-30: #cff2cc;
  --kendo-success-40: #bfedbb;
  --kendo-success-50: #afe8aa;
  --kendo-success-60: #9fe499;
  --kendo-success-70: #8fdf88;
  --kendo-success-80: #7fdb77;
  --kendo-success-90: #6fd666;
  --kendo-success-100: #5fd255;
  --kendo-success-110: #66b150;
  --kendo-success-120: #5da94c;
  --kendo-success-130: #54a248;
  --kendo-success-140: #4b9b44;
  --kendo-success-150: #429541;
  --kendo-success-160: #388f3e;
  --kendo-success-170: #2e893b;
  --kendo-success-180: #238338;
  --kendo-success-190: #107c10;
  --kendo-success-200: #1d5d34;
  --kendo-success-210: #193e2c;
  --kendo-success-220: #10211d;
  --kendo-warning-10: #fff9e7;
  --kendo-warning-20: #fff4ce;
  --kendo-warning-30: #ffefb6;
  --kendo-warning-40: #ffe99d;
  --kendo-warning-50: #ffe384;
  --kendo-warning-60: #ffde6c;
  --kendo-warning-70: #ffd954;
  --kendo-warning-80: #ffd33b;
  --kendo-warning-90: #ffcd23;
  --kendo-warning-100: #ffc80a;
  --kendo-warning-110: #eebd2f;
  --kendo-warning-120: #deb341;
  --kendo-warning-130: #cfaa4e;
  --kendo-warning-140: #c0a059;
  --kendo-warning-150: #b19862;
  --kendo-warning-160: #a38f69;
  --kendo-warning-170: #94876e;
  --kendo-warning-180: #877f72;
  --kendo-warning-190: #797775;
  --kendo-warning-200: #555557;
  --kendo-warning-210: #35373b;
  --kendo-warning-220: #1a1c20;
  --kendo-info-10: #e7f2ff;
  --kendo-info-20: #cee5ff;
  --kendo-info-30: #b6d8ff;
  --kendo-info-40: #9dcbff;
  --kendo-info-50: #84bfff;
  --kendo-info-60: #6cb2ff;
  --kendo-info-70: #54a5ff;
  --kendo-info-80: #3b98ff;
  --kendo-info-90: #238bff;
  --kendo-info-100: #0a7eff;
  --kendo-info-110: #0974eb;
  --kendo-info-120: #086bd8;
  --kendo-info-130: #0861c4;
  --kendo-info-140: #0757b1;
  --kendo-info-150: #064e9d;
  --kendo-info-160: #054489;
  --kendo-info-170: #053a76;
  --kendo-info-180: #043062;
  --kendo-info-190: #03274e;
  --kendo-info-200: #021d3b;
  --kendo-info-210: #021327;
  --kendo-info-220: #010a14;
  --kendo-tertiary-10: #eaf3fb;
  --kendo-tertiary-20: #deecf9;
  --kendo-tertiary-30: #bfdbf3;
  --kendo-tertiary-40: #aacfef;
  --kendo-tertiary-50: #95c3ec;
  --kendo-tertiary-60: #80b8e8;
  --kendo-tertiary-70: #6bace4;
  --kendo-tertiary-80: #55a0e0;
  --kendo-tertiary-90: #4094dc;
  --kendo-tertiary-100: #2b88d8;
  --kendo-tertiary-110: #287ec7;
  --kendo-tertiary-120: #2473b7;
  --kendo-tertiary-130: #2169a6;
  --kendo-tertiary-140: #1e5e96;
  --kendo-tertiary-150: #1a5485;
  --kendo-tertiary-160: #174974;
  --kendo-tertiary-170: #143f64;
  --kendo-tertiary-180: #113453;
  --kendo-tertiary-190: #0d2a42;
  --kendo-tertiary-200: #0a1f32;
  --kendo-tertiary-210: #071521;
  --kendo-tertiary-220: #030a11;
  --kendo-series-a-10: #bfe6ee;
  --kendo-series-a-20: #aadde8;
  --kendo-series-a-30: #95d4e3;
  --kendo-series-a-40: #80ccde;
  --kendo-series-a-50: #6bc9de;
  --kendo-series-a-60: #55c5df;
  --kendo-series-a-70: #40b3cd;
  --kendo-series-a-80: #2bb4d4;
  --kendo-series-a-90: #15a7c8;
  --kendo-series-a-100: #0099bc;
  --kendo-series-a-110: #008cac;
  --kendo-series-a-120: #00809d;
  --kendo-series-a-130: #00738d;
  --kendo-series-a-140: #00667d;
  --kendo-series-a-150: #00596e;
  --kendo-series-a-160: #004d5e;
  --kendo-series-a-170: #003f4e;
  --kendo-series-a-180: #00333f;
  --kendo-series-a-190: #00262f;
  --kendo-series-a-200: #001c23;
  --kendo-series-a-210: #001318;
  --kendo-series-a-220: #000a0c;
  --kendo-series-b-10: #f9d1d5;
  --kendo-series-b-20: #f7c2c7;
  --kendo-series-b-30: #f5b2b9;
  --kendo-series-b-40: #f3a4ab;
  --kendo-series-b-50: #f1949d;
  --kendo-series-b-60: #ef858e;
  --kendo-series-b-70: #ed7680;
  --kendo-series-b-80: #eb6772;
  --kendo-series-b-90: #e95764;
  --kendo-series-b-100: #e74856;
  --kendo-series-b-110: #d4424f;
  --kendo-series-b-120: #c03c47;
  --kendo-series-b-130: #ad3641;
  --kendo-series-b-140: #9a3039;
  --kendo-series-b-150: #862a32;
  --kendo-series-b-160: #74242b;
  --kendo-series-b-170: #601e24;
  --kendo-series-b-180: #4d181c;
  --kendo-series-b-190: #3a1216;
  --kendo-series-b-200: #2c0e10;
  --kendo-series-b-210: #1d090b;
  --kendo-series-b-220: #0f0505;
  --kendo-series-c-10: #ffeebf;
  --kendo-series-c-20: #ffe7aa;
  --kendo-series-c-30: #ffe295;
  --kendo-series-c-40: #ffdc80;
  --kendo-series-c-50: #ffd66b;
  --kendo-series-c-60: #ffd055;
  --kendo-series-c-70: #ffcb40;
  --kendo-series-c-80: #ffc42b;
  --kendo-series-c-90: #ffbf15;
  --kendo-series-c-100: #ffb900;
  --kendo-series-c-110: #eaaa00;
  --kendo-series-c-120: #d49a00;
  --kendo-series-c-130: #bf8b00;
  --kendo-series-c-140: #aa7b00;
  --kendo-series-c-150: #956c00;
  --kendo-series-c-160: #805d00;
  --kendo-series-c-170: #6b4d00;
  --kendo-series-c-180: #553d00;
  --kendo-series-c-190: #402e00;
  --kendo-series-c-200: #302300;
  --kendo-series-c-210: #201700;
  --kendo-series-c-220: #100c00;
  --kendo-series-d-10: #bfddf5;
  --kendo-series-d-20: #aadde8;
  --kendo-series-d-30: #95c6ee;
  --kendo-series-d-40: #80bceb;
  --kendo-series-d-50: #6bb0e8;
  --kendo-series-d-60: #55a5e4;
  --kendo-series-d-70: #409ae1;
  --kendo-series-d-80: #2b8fde;
  --kendo-series-d-90: #1583da;
  --kendo-series-d-100: #0078d7;
  --kendo-series-d-110: #006ec5;
  --kendo-series-d-120: #0064b3;
  --kendo-series-d-130: #005aa1;
  --kendo-series-d-140: #00508f;
  --kendo-series-d-150: #00467d;
  --kendo-series-d-160: #003c6c;
  --kendo-series-d-170: #003259;
  --kendo-series-d-180: #002848;
  --kendo-series-d-190: #001e36;
  --kendo-series-d-200: #001623;
  --kendo-series-d-210: #000f1b;
  --kendo-series-d-220: #00080e;
  --kendo-series-e-10: #e1d8ed;
  --kendo-series-e-20: #d7cbe7;
  --kendo-series-e-30: #cdbee1;
  --kendo-series-e-40: #c3b2dc;
  --kendo-series-e-50: #b9a4d5;
  --kendo-series-e-60: #af98d0;
  --kendo-series-e-70: #a58bca;
  --kendo-series-e-80: #9b7ec4;
  --kendo-series-e-90: #9171be;
  --kendo-series-e-100: #8764b8;
  --kendo-series-e-110: #7c5ca9;
  --kendo-series-e-120: #705399;
  --kendo-series-e-130: #654b8a;
  --kendo-series-e-140: #5a437b;
  --kendo-series-e-150: #4e3a6b;
  --kendo-series-e-160: #44325c;
  --kendo-series-e-170: #382a4d;
  --kendo-series-e-180: #2d213d;
  --kendo-series-e-190: #22192e;
  --kendo-series-e-200: #1a1323;
  --kendo-series-e-210: #110d17;
  --kendo-series-e-220: #09060c;
  --kendo-series-f-10: #bff2da;
  --kendo-series-f-20: #aaeecd;
  --kendo-series-f-30: #95e9c1;
  --kendo-series-f-40: #80e6b5;
  --kendo-series-f-50: #6be1a8;
  --kendo-series-f-60: #55dd9b;
  --kendo-series-f-70: #40d98f;
  --kendo-series-f-80: #2bd583;
  --kendo-series-f-90: #15d076;
  --kendo-series-f-100: #00cc6a;
  --kendo-series-f-110: #00bb61;
  --kendo-series-f-120: #00aa58;
  --kendo-series-f-130: #009950;
  --kendo-series-f-140: #008846;
  --kendo-series-f-150: #00773e;
  --kendo-series-f-160: #006635;
  --kendo-series-f-170: #00552c;
  --kendo-series-f-180: #004423;
  --kendo-series-f-190: #00331b;
  --kendo-series-f-200: #002614;
  --kendo-series-f-210: #001a0d;
  --kendo-series-f-220: #000d07;
  --kendo-primary-text: var(--kendo-color-primary-emphasis, #004578);
  --kendo-primary-bg: var(--kendo-color-primary-subtle, #deecf9);
  --kendo-primary-border: var(--kendo-color-primary-subtle, #deecf9);
  --kendo-info-text: var(--kendo-color-info-on-surface, #096edf);
  --kendo-info-bg: var(--kendo-color-info-subtle, #cee5ff);
  --kendo-info-border: var(--kendo-color-info-subtle, #cee5ff);
  --kendo-success-text: var(--kendo-color-success-on-surface, #107c10);
  --kendo-success-bg: var(--kendo-color-success-subtle, #dff6dd);
  --kendo-success-border: var(--kendo-color-success-subtle, #dff6dd);
  --kendo-warning-text: var(--kendo-color-warning-on-surface, #7a6000);
  --kendo-warning-bg: var(--kendo-color-warning-subtle, #fff4ce);
  --kendo-warning-border: var(--kendo-color-warning-subtle, #fff4ce);
  --kendo-error-text: var(--kendo-color-error-on-surface, #a4262c);
  --kendo-error-bg: var(--kendo-color-error-subtle, #fde7e9);
  --kendo-error-border: var(--kendo-color-error-subtle, #fde7e9);
}
:root .k-text-primary,
:root .k-color-primary {
  color: var(--kendo-text-primary, var(--kendo-color-primary-emphasis, #004578));
}
:root .\!k-text-primary,
:root .\!k-color-primary {
  color: var(--kendo-text-primary, var(--kendo-color-primary-emphasis, #004578)) !important;
}
:root .k-bg-primary {
  background-color: var(--kendo-bg-primary, var(--kendo-color-primary-emphasis, #004578));
}
:root .\!k-bg-primary {
  background-color: var(--kendo-bg-primary, var(--kendo-color-primary-emphasis, #004578)) !important;
}
:root .k-text-info,
:root .k-color-info {
  color: var(--kendo-text-info, var(--kendo-color-info-on-surface, #096edf));
}
:root .\!k-text-info,
:root .\!k-color-info {
  color: var(--kendo-text-info, var(--kendo-color-info-on-surface, #096edf)) !important;
}
:root .k-bg-info {
  background-color: var(--kendo-bg-info, var(--kendo-color-info-on-surface, #096edf));
}
:root .\!k-bg-info {
  background-color: var(--kendo-bg-info, var(--kendo-color-info-on-surface, #096edf)) !important;
}
:root .k-text-success,
:root .k-color-success {
  color: var(--kendo-text-success, var(--kendo-color-success-on-surface, #107c10));
}
:root .\!k-text-success,
:root .\!k-color-success {
  color: var(--kendo-text-success, var(--kendo-color-success-on-surface, #107c10)) !important;
}
:root .k-bg-success {
  background-color: var(--kendo-bg-success, var(--kendo-color-success-on-surface, #107c10));
}
:root .\!k-bg-success {
  background-color: var(--kendo-bg-success, var(--kendo-color-success-on-surface, #107c10)) !important;
}
:root .k-text-warning,
:root .k-color-warning {
  color: var(--kendo-text-warning, var(--kendo-color-warning-on-surface, #7a6000));
}
:root .\!k-text-warning,
:root .\!k-color-warning {
  color: var(--kendo-text-warning, var(--kendo-color-warning-on-surface, #7a6000)) !important;
}
:root .k-bg-warning {
  background-color: var(--kendo-bg-warning, var(--kendo-color-warning-on-surface, #7a6000));
}
:root .\!k-bg-warning {
  background-color: var(--kendo-bg-warning, var(--kendo-color-warning-on-surface, #7a6000)) !important;
}
:root .k-text-error,
:root .k-color-error {
  color: var(--kendo-text-error, var(--kendo-color-error-on-surface, #a4262c));
}
:root .\!k-text-error,
:root .\!k-color-error {
  color: var(--kendo-text-error, var(--kendo-color-error-on-surface, #a4262c)) !important;
}
:root .k-bg-error {
  background-color: var(--kendo-bg-error, var(--kendo-color-error-on-surface, #a4262c));
}
:root .\!k-bg-error {
  background-color: var(--kendo-bg-error, var(--kendo-color-error-on-surface, #a4262c)) !important;
}

:root {
  --kendo-box-shadow-depth-1: var(--kendo-elevation-1, none);
  --kendo-box-shadow-depth-2: var(--kendo-elevation-2, none);
  --kendo-box-shadow-depth-3: var(--kendo-elevation-3, none);
  --kendo-box-shadow-depth-4: var(--kendo-elevation-4, none);
  --kendo-box-shadow-depth-5: var(--kendo-elevation-5, none);
  --kendo-box-shadow-depth-6: var(--kendo-elevation-6, none);
  --kendo-box-shadow-depth-7: var(--kendo-elevation-7, none);
  --kendo-box-shadow-depth-8: var(--kendo-elevation-8, none);
  --kendo-box-shadow-depth-9: var(--kendo-elevation-8, none);
}

.k-body {
  font-size: var(--kendo-font-size, inherit);
  font-family: var(--kendo-font-family, inherit);
  line-height: var(--kendo-line-height, normal);
  font-weight: var(--kendo-font-weight, normal);
  letter-spacing: var(--kendo-letter-spacing, normal);
  color: var(--kendo-body-text, initial);
  background-color: var(--kendo-body-bg, initial);
  margin: 0;
}
.k-body p {
  margin: var(--kendo-paragraph-margin, 0 0 var(--kendo-font-size, inherit));
}

.k-h1 {
  font-size: var(--kendo-h1-font-size, 32px);
  font-family: var(--kendo-h1-font-family, var(--kendo-font-family, inherit));
  line-height: var(--kendo-h1-line-height, 40px);
  font-weight: var(--kendo-h1-font-weight, var(--kendo-font-weight-semibold, normal));
  letter-spacing: var(--kendo-h1-letter-spacing, var(--kendo-letter-spacing, normal));
  margin: var(--kendo-h1-margin, 0 0 var(--kendo-font-size, inherit));
}

.k-h2 {
  font-size: var(--kendo-h2-font-size, 28px);
  font-family: var(--kendo-h2-font-family, var(--kendo-font-family, inherit));
  line-height: var(--kendo-h2-line-height, 36px);
  font-weight: var(--kendo-h2-font-weight, var(--kendo-font-weight-semibold, normal));
  letter-spacing: var(--kendo-h2-letter-spacing, var(--kendo-letter-spacing, normal));
  margin: var(--kendo-h2-margin, 0 0 var(--kendo-font-size, inherit));
}

.k-h3 {
  font-size: var(--kendo-h3-font-size, 24px);
  font-family: var(--kendo-h3-font-family, var(--kendo-font-family, inherit));
  line-height: var(--kendo-h3-line-height, 32px);
  font-weight: var(--kendo-h3-font-weight, var(--kendo-font-weight-semibold, normal));
  letter-spacing: var(--kendo-h3-letter-spacing, var(--kendo-letter-spacing, normal));
  margin: var(--kendo-h3-margin, 0 0 var(--kendo-font-size, inherit));
}

.k-h4 {
  font-size: var(--kendo-h4-font-size, 20px);
  font-family: var(--kendo-h4-font-family, var(--kendo-font-family, inherit));
  line-height: var(--kendo-h4-line-height, 28px);
  font-weight: var(--kendo-h4-font-weight, var(--kendo-font-weight-semibold, normal));
  letter-spacing: var(--kendo-h4-letter-spacing, var(--kendo-letter-spacing, normal));
  margin: var(--kendo-h4-margin, 0 0 var(--kendo-font-size, inherit));
}

.k-h5 {
  font-size: var(--kendo-h5-font-size, 18px);
  font-family: var(--kendo-h5-font-family, var(--kendo-font-family, inherit));
  line-height: var(--kendo-h5-line-height, 24px);
  font-weight: var(--kendo-h5-font-weight, var(--kendo-font-weight-semibold, normal));
  letter-spacing: var(--kendo-h5-letter-spacing, var(--kendo-letter-spacing, normal));
  margin: var(--kendo-h5-margin, 0 0 var(--kendo-font-size, inherit));
}

.k-h6 {
  font-size: var(--kendo-h6-font-size, 16px);
  font-family: var(--kendo-h6-font-family, var(--kendo-font-family, inherit));
  line-height: var(--kendo-h6-line-height, 22px);
  font-weight: var(--kendo-h6-font-weight, var(--kendo-font-weight-semibold, normal));
  letter-spacing: var(--kendo-h6-letter-spacing, var(--kendo-letter-spacing, normal));
  margin: var(--kendo-h6-margin, 0 0 var(--kendo-font-size, inherit));
}

.k-paragraph {
  font-size: var(--kendo-paragraph-font-size, var(--kendo-font-size, inherit));
  font-family: var(--kendo-paragraph-font-family, var(--kendo-font-family, inherit));
  line-height: var(--kendo-paragraph-line-height, var(--kendo-line-height, normal));
  font-weight: var(--kendo-paragraph-font-weight, var(--kendo-font-weight, normal));
  letter-spacing: var(--kendo-paragraph-letter-spacing, var(--kendo-letter-spacing, normal));
  margin: var(--kendo-paragraph-margin, 0 0 var(--kendo-font-size, inherit));
}

.k-pre,
.k-code {
  font-size: var(--kendo-code-font-size, var(--kendo-font-size, inherit));
  font-family: var(--kendo-code-font-family, SFMono-Regular, Menlo, Monaco, Consolas, Roboto Mono, Ubuntu Mono, Lucida Console, Courier New, monospace);
  line-height: var(--kendo-code-line-height, var(--kendo-line-height, normal));
  font-weight: var(--kendo-code-font-weight, var(--kendo-font-weight, normal));
  letter-spacing: var(--kendo-code-letter-spacing, var(--kendo-letter-spacing, normal));
  border-style: solid;
  border-width: var(--kendo-code-border-width, 1px);
}

.k-pre {
  padding-inline: var(--kendo-pre-padding-x, var(--kendo-spacing-6, 1.5rem));
  padding-block: var(--kendo-pre-padding-y, var(--kendo-spacing-4, 1rem));
  overflow: auto;
}

.k-pre > .k-code {
  padding: 0;
  border-width: 0;
  border-color: transparent;
  background-color: transparent;
  font-family: inherit;
  font-size: inherit;
}

.k-code {
  padding-inline: var(--kendo-code-padding-x, var(--kendo-spacing-1, 0.25rem));
  padding-block: var(--kendo-code-padding-y, var(--kendo-spacing-0, 0px));
}

.k-display-1 {
  font-size: var(--kendo-display1-font-size, calc(var(--kendo-font-size, 0.875rem) * 9));
  font-family: var(--kendo-display1-font-family, var(--kendo-font-family, inherit));
  line-height: var(--kendo-display1-line-height, 118px);
  font-weight: var(--kendo-display1-font-weight, var(--kendo-font-weight-semibold, normal));
  letter-spacing: var(--kendo-display1-letter-spacing, var(--kendo-letter-spacing, normal));
}

.k-display-2 {
  font-size: var(--kendo-display2-font-size, calc(var(--kendo-font-size, 0.875rem) * 6));
  font-family: var(--kendo-display2-font-family, var(--kendo-font-family, inherit));
  line-height: var(--kendo-display2-line-height, 94px);
  font-weight: var(--kendo-display2-font-weight, var(--kendo-font-weight-semibold, normal));
  letter-spacing: var(--kendo-display2-letter-spacing, var(--kendo-letter-spacing, normal));
}

.k-display-3 {
  font-size: var(--kendo-display3-font-size, 68px);
  font-family: var(--kendo-display3-font-family, var(--kendo-font-family, inherit));
  line-height: var(--kendo-display3-line-height, 76px);
  font-weight: var(--kendo-display3-font-weight, var(--kendo-font-weight-semibold, normal));
  letter-spacing: var(--kendo-display3-letter-spacing, var(--kendo-letter-spacing, normal));
}

.k-display-4 {
  font-size: var(--kendo-display4-font-size, calc(var(--kendo-font-size, 0.875rem) * 3));
  font-family: var(--kendo-display4-font-family, var(--kendo-font-family, inherit));
  line-height: var(--kendo-display4-line-height, 52px);
  font-weight: var(--kendo-display4-font-weight, var(--kendo-font-weight-semibold, normal));
  letter-spacing: var(--kendo-display4-letter-spacing, var(--kendo-letter-spacing, normal));
}

.k-body {
  color: var(--kendo-body-text, initial);
  background-color: var(--kendo-body-bg, initial);
}

.k-pre,
.k-code {
  border-color: var(--kendo-code-border, var(--kendo-component-border, initial));
  color: var(--kendo-code-text, var(--kendo-component-text, initial));
  background-color: var(--kendo-code-bg, var(--kendo-component-bg, initial));
}

.k-font-family-sans {
  font-family: var(--kendo-font-family-sans, Arial, Verdana, Tahoma, Trebuchet MS, Helvetica, Impact, Gill Sans);
}

.\!k-font-family-sans {
  font-family: var(--kendo-font-family-sans, Arial, Verdana, Tahoma, Trebuchet MS, Helvetica, Impact, Gill Sans) !important;
}

.k-font-family-serif {
  font-family: var(--kendo-font-family-serif, Times New Roman, Georgia, Garamond, Palatino, Baskerville);
}

.\!k-font-family-serif {
  font-family: var(--kendo-font-family-serif, Times New Roman, Georgia, Garamond, Palatino, Baskerville) !important;
}

.k-font-family-sans-serif {
  font-family: var(--kendo-font-family-sans-serif, system-ui, -apple-system, Segoe UI, Roboto, Helvetica Neue, Noto Sans, Liberation Sans, Arial, sans-serif, Apple Color Emoji, Segoe UI Emoji, Segoe UI Symbol, Noto Color Emoji);
}

.\!k-font-family-sans-serif {
  font-family: var(--kendo-font-family-sans-serif, system-ui, -apple-system, Segoe UI, Roboto, Helvetica Neue, Noto Sans, Liberation Sans, Arial, sans-serif, Apple Color Emoji, Segoe UI Emoji, Segoe UI Symbol, Noto Color Emoji) !important;
}

.k-font-family-monospace {
  font-family: var(--kendo-font-family-monospace, SFMono-Regular, Menlo, Monaco, Consolas, Roboto Mono, Ubuntu Mono, Lucida Console, Courier New, monospace);
}

.\!k-font-family-monospace {
  font-family: var(--kendo-font-family-monospace, SFMono-Regular, Menlo, Monaco, Consolas, Roboto Mono, Ubuntu Mono, Lucida Console, Courier New, monospace) !important;
}

.k-font-size-xs {
  font-size: var(--kendo-font-size-xs, 0.625rem);
}

.\!k-font-size-xs {
  font-size: var(--kendo-font-size-xs, 0.625rem) !important;
}

.k-font-size-sm {
  font-size: var(--kendo-font-size-sm, 0.75rem);
}

.\!k-font-size-sm {
  font-size: var(--kendo-font-size-sm, 0.75rem) !important;
}

.k-font-size-md {
  font-size: var(--kendo-font-size-md, 0.875rem);
}

.\!k-font-size-md {
  font-size: var(--kendo-font-size-md, 0.875rem) !important;
}

.k-font-size-lg {
  font-size: var(--kendo-font-size-lg, 1rem);
}

.\!k-font-size-lg {
  font-size: var(--kendo-font-size-lg, 1rem) !important;
}

.k-font-size-xl {
  font-size: var(--kendo-font-size-xl, 1.25rem);
}

.\!k-font-size-xl {
  font-size: var(--kendo-font-size-xl, 1.25rem) !important;
}

.k-fs-xs {
  font-size: var(--kendo-fs-xs, 0.625rem);
}

.\!k-fs-xs {
  font-size: var(--kendo-fs-xs, 0.625rem) !important;
}

.k-fs-sm {
  font-size: var(--kendo-fs-sm, 0.75rem);
}

.\!k-fs-sm {
  font-size: var(--kendo-fs-sm, 0.75rem) !important;
}

.k-fs-md {
  font-size: var(--kendo-fs-md, 0.875rem);
}

.\!k-fs-md {
  font-size: var(--kendo-fs-md, 0.875rem) !important;
}

.k-fs-lg {
  font-size: var(--kendo-fs-lg, 1rem);
}

.\!k-fs-lg {
  font-size: var(--kendo-fs-lg, 1rem) !important;
}

.k-fs-xl {
  font-size: var(--kendo-fs-xl, 1.25rem);
}

.\!k-fs-xl {
  font-size: var(--kendo-fs-xl, 1.25rem) !important;
}

.k-font-style-italic {
  font-style: var(--kendo-font-style-italic, italic);
}

.\!k-font-style-italic {
  font-style: var(--kendo-font-style-italic, italic) !important;
}

.k-font-style-non-italic {
  font-style: var(--kendo-font-style-non-italic, normal);
}

.\!k-font-style-non-italic {
  font-style: var(--kendo-font-style-non-italic, normal) !important;
}

.k-font-style-oblique {
  font-style: var(--kendo-font-style-oblique, oblique);
}

.\!k-font-style-oblique {
  font-style: var(--kendo-font-style-oblique, oblique) !important;
}

.k-font-thin {
  font-weight: var(--kendo-font-weight-thin, 100);
}

.\!k-font-thin {
  font-weight: var(--kendo-font-weight-thin, 100) !important;
}

.k-font-extra-light {
  font-weight: var(--kendo-font-weight-extra-light, 200);
}

.\!k-font-extra-light {
  font-weight: var(--kendo-font-weight-extra-light, 200) !important;
}

.k-font-light {
  font-weight: var(--kendo-font-weight-light, 300);
}

.\!k-font-light {
  font-weight: var(--kendo-font-weight-light, 300) !important;
}

.k-font-normal {
  font-weight: var(--kendo-font-weight-normal, 400);
}

.\!k-font-normal {
  font-weight: var(--kendo-font-weight-normal, 400) !important;
}

.k-font-medium {
  font-weight: var(--kendo-font-weight-medium, 500);
}

.\!k-font-medium {
  font-weight: var(--kendo-font-weight-medium, 500) !important;
}

.k-font-semibold {
  font-weight: var(--kendo-font-weight-semibold, 600);
}

.\!k-font-semibold {
  font-weight: var(--kendo-font-weight-semibold, 600) !important;
}

.k-font-bold {
  font-weight: var(--kendo-font-weight-bold, 700);
}

.\!k-font-bold {
  font-weight: var(--kendo-font-weight-bold, 700) !important;
}

.k-font-weight-thin {
  font-weight: var(--kendo-font-weight-thin, 100);
}

.\!k-font-weight-thin {
  font-weight: var(--kendo-font-weight-thin, 100) !important;
}

.k-font-weight-extra-light {
  font-weight: var(--kendo-font-weight-extra-light, 200);
}

.\!k-font-weight-extra-light {
  font-weight: var(--kendo-font-weight-extra-light, 200) !important;
}

.k-font-weight-light {
  font-weight: var(--kendo-font-weight-light, 300);
}

.\!k-font-weight-light {
  font-weight: var(--kendo-font-weight-light, 300) !important;
}

.k-font-weight-normal {
  font-weight: var(--kendo-font-weight-normal, 400);
}

.\!k-font-weight-normal {
  font-weight: var(--kendo-font-weight-normal, 400) !important;
}

.k-font-weight-medium {
  font-weight: var(--kendo-font-weight-medium, 500);
}

.\!k-font-weight-medium {
  font-weight: var(--kendo-font-weight-medium, 500) !important;
}

.k-font-weight-semibold {
  font-weight: var(--kendo-font-weight-semibold, 600);
}

.\!k-font-weight-semibold {
  font-weight: var(--kendo-font-weight-semibold, 600) !important;
}

.k-font-weight-bold {
  font-weight: var(--kendo-font-weight-bold, 700);
}

.\!k-font-weight-bold {
  font-weight: var(--kendo-font-weight-bold, 700) !important;
}

.k-letter-spacing-tightest {
  letter-spacing: var(--kendo-letter-spacing-tightest, -0.15px);
}

.\!k-letter-spacing-tightest {
  letter-spacing: var(--kendo-letter-spacing-tightest, -0.15px) !important;
}

.k-letter-spacing-tighter {
  letter-spacing: var(--kendo-letter-spacing-tighter, -0.1px);
}

.\!k-letter-spacing-tighter {
  letter-spacing: var(--kendo-letter-spacing-tighter, -0.1px) !important;
}

.k-letter-spacing-tight {
  letter-spacing: var(--kendo-letter-spacing-tight, -0.5px);
}

.\!k-letter-spacing-tight {
  letter-spacing: var(--kendo-letter-spacing-tight, -0.5px) !important;
}

.k-letter-spacing-normal {
  letter-spacing: var(--kendo-letter-spacing-normal, 0px);
}

.\!k-letter-spacing-normal {
  letter-spacing: var(--kendo-letter-spacing-normal, 0px) !important;
}

.k-letter-spacing-wide {
  letter-spacing: var(--kendo-letter-spacing-wide, 0.5px);
}

.\!k-letter-spacing-wide {
  letter-spacing: var(--kendo-letter-spacing-wide, 0.5px) !important;
}

.k-letter-spacing-wider {
  letter-spacing: var(--kendo-letter-spacing-wider, 0.1px);
}

.\!k-letter-spacing-wider {
  letter-spacing: var(--kendo-letter-spacing-wider, 0.1px) !important;
}

.k-letter-spacing-widest {
  letter-spacing: var(--kendo-letter-spacing-widest, 0.15px);
}

.\!k-letter-spacing-widest {
  letter-spacing: var(--kendo-letter-spacing-widest, 0.15px) !important;
}

.k-line-height-xs {
  line-height: var(--kendo-line-height-xs, 1);
}

.\!k-line-height-xs {
  line-height: var(--kendo-line-height-xs, 1) !important;
}

.k-line-height-sm {
  line-height: var(--kendo-line-height-sm, 1.25);
}

.\!k-line-height-sm {
  line-height: var(--kendo-line-height-sm, 1.25) !important;
}

.k-line-height-md {
  line-height: var(--kendo-line-height-md, 1.4285714286);
}

.\!k-line-height-md {
  line-height: var(--kendo-line-height-md, 1.4285714286) !important;
}

.k-line-height-lg {
  line-height: var(--kendo-line-height-lg, 1.5);
}

.\!k-line-height-lg {
  line-height: var(--kendo-line-height-lg, 1.5) !important;
}

.k-list-none {
  list-style-type: none;
}

.\!k-list-none {
  list-style-type: none !important;
}

.k-list-disc {
  list-style-type: disc;
}

.\!k-list-disc {
  list-style-type: disc !important;
}

.k-list-decimal {
  list-style-type: decimal;
}

.\!k-list-decimal {
  list-style-type: decimal !important;
}

.k-text-left {
  text-align: left;
}

.\!k-text-left {
  text-align: left !important;
}

.k-text-right {
  text-align: right;
}

.\!k-text-right {
  text-align: right !important;
}

.k-text-center {
  text-align: center;
}

.\!k-text-center {
  text-align: center !important;
}

.k-text-justify {
  text-align: justify;
}

.\!k-text-justify {
  text-align: justify !important;
}

.k-text-start {
  text-align: start;
}

.\!k-text-start {
  text-align: start !important;
}

.k-text-end {
  text-align: end;
}

.\!k-text-end {
  text-align: end !important;
}

.k-text-app-surface {
  color: var(--kendo-color-app-surface, #ffffff);
}

.\!k-text-app-surface {
  color: var(--kendo-color-app-surface, #ffffff) !important;
}

.k-text-on-app-surface {
  color: var(--kendo-color-on-app-surface, #323130);
}

.\!k-text-on-app-surface {
  color: var(--kendo-color-on-app-surface, #323130) !important;
}

.k-text-subtle {
  color: var(--kendo-color-subtle, #605e5c);
}

.\!k-text-subtle {
  color: var(--kendo-color-subtle, #605e5c) !important;
}

.k-text-surface {
  color: var(--kendo-color-surface, #faf9f8);
}

.\!k-text-surface {
  color: var(--kendo-color-surface, #faf9f8) !important;
}

.k-text-surface-alt {
  color: var(--kendo-color-surface-alt, #ffffff);
}

.\!k-text-surface-alt {
  color: var(--kendo-color-surface-alt, #ffffff) !important;
}

.k-text-border {
  color: var(--kendo-color-border, #8a8886);
}

.\!k-text-border {
  color: var(--kendo-color-border, #8a8886) !important;
}

.k-text-border-alt {
  color: var(--kendo-color-border-alt, #323130);
}

.\!k-text-border-alt {
  color: var(--kendo-color-border-alt, #323130) !important;
}

.k-text-base-subtle {
  color: var(--kendo-color-base-subtle, #edebe9);
}

.\!k-text-base-subtle {
  color: var(--kendo-color-base-subtle, #edebe9) !important;
}

.k-text-base-emphasis {
  color: var(--kendo-color-base-emphasis, #605e5c);
}

.\!k-text-base-emphasis {
  color: var(--kendo-color-base-emphasis, #605e5c) !important;
}

.k-text-primary-subtle {
  color: var(--kendo-color-primary-subtle, #deecf9);
}

.\!k-text-primary-subtle {
  color: var(--kendo-color-primary-subtle, #deecf9) !important;
}

.k-text-primary {
  color: var(--kendo-color-primary, #0078d4);
}

.\!k-text-primary {
  color: var(--kendo-color-primary, #0078d4) !important;
}

.k-text-primary-emphasis {
  color: var(--kendo-color-primary-emphasis, #004578);
}

.\!k-text-primary-emphasis {
  color: var(--kendo-color-primary-emphasis, #004578) !important;
}

.k-text-secondary-subtle {
  color: var(--kendo-color-secondary-subtle, #faf9f8);
}

.\!k-text-secondary-subtle {
  color: var(--kendo-color-secondary-subtle, #faf9f8) !important;
}

.k-text-secondary {
  color: var(--kendo-color-secondary, #979593);
}

.\!k-text-secondary {
  color: var(--kendo-color-secondary, #979593) !important;
}

.k-text-secondary-emphasis {
  color: var(--kendo-color-secondary-emphasis, #605e5c);
}

.\!k-text-secondary-emphasis {
  color: var(--kendo-color-secondary-emphasis, #605e5c) !important;
}

.k-text-tertiary-subtle {
  color: var(--kendo-color-tertiary-subtle, #deecf9);
}

.\!k-text-tertiary-subtle {
  color: var(--kendo-color-tertiary-subtle, #deecf9) !important;
}

.k-text-tertiary {
  color: var(--kendo-color-tertiary, #2b88d8);
}

.\!k-text-tertiary {
  color: var(--kendo-color-tertiary, #2b88d8) !important;
}

.k-text-tertiary-emphasis {
  color: var(--kendo-color-tertiary-emphasis, #2169a6);
}

.\!k-text-tertiary-emphasis {
  color: var(--kendo-color-tertiary-emphasis, #2169a6) !important;
}

.k-text-info-subtle {
  color: var(--kendo-color-info-subtle, #cee5ff);
}

.\!k-text-info-subtle {
  color: var(--kendo-color-info-subtle, #cee5ff) !important;
}

.k-text-info {
  color: var(--kendo-color-info, #0a7eff);
}

.\!k-text-info {
  color: var(--kendo-color-info, #0a7eff) !important;
}

.k-text-info-emphasis {
  color: var(--kendo-color-info-emphasis, #064f9f);
}

.\!k-text-info-emphasis {
  color: var(--kendo-color-info-emphasis, #064f9f) !important;
}

.k-text-success-subtle {
  color: var(--kendo-color-success-subtle, #dff6dd);
}

.\!k-text-success-subtle {
  color: var(--kendo-color-success-subtle, #dff6dd) !important;
}

.k-text-success {
  color: var(--kendo-color-success, #55a554);
}

.\!k-text-success {
  color: var(--kendo-color-success, #55a554) !important;
}

.k-text-success-emphasis {
  color: var(--kendo-color-success-emphasis, #107c10);
}

.\!k-text-success-emphasis {
  color: var(--kendo-color-success-emphasis, #107c10) !important;
}

.k-text-warning-subtle {
  color: var(--kendo-color-warning-subtle, #fff4ce);
}

.\!k-text-warning-subtle {
  color: var(--kendo-color-warning-subtle, #fff4ce) !important;
}

.k-text-warning {
  color: var(--kendo-color-warning, #ffc80a);
}

.\!k-text-warning {
  color: var(--kendo-color-warning, #ffc80a) !important;
}

.k-text-warning-emphasis {
  color: var(--kendo-color-warning-emphasis, #4e4d4b);
}

.\!k-text-warning-emphasis {
  color: var(--kendo-color-warning-emphasis, #4e4d4b) !important;
}

.k-text-error-subtle {
  color: var(--kendo-color-error-subtle, #fde7e9);
}

.\!k-text-error-subtle {
  color: var(--kendo-color-error-subtle, #fde7e9) !important;
}

.k-text-error {
  color: var(--kendo-color-error, #c2666b);
}

.\!k-text-error {
  color: var(--kendo-color-error, #c2666b) !important;
}

.k-text-error-emphasis {
  color: var(--kendo-color-error-emphasis, #a4262c);
}

.\!k-text-error-emphasis {
  color: var(--kendo-color-error-emphasis, #a4262c) !important;
}

.k-text-light-subtle {
  color: var(--kendo-color-light-subtle, #faf9f8);
}

.\!k-text-light-subtle {
  color: var(--kendo-color-light-subtle, #faf9f8) !important;
}

.k-text-light {
  color: var(--kendo-color-light, #d2d0ce);
}

.\!k-text-light {
  color: var(--kendo-color-light, #d2d0ce) !important;
}

.k-text-light-emphasis {
  color: var(--kendo-color-light-emphasis, #e1dfdd);
}

.\!k-text-light-emphasis {
  color: var(--kendo-color-light-emphasis, #e1dfdd) !important;
}

.k-text-dark-subtle {
  color: var(--kendo-color-dark-subtle, #a19f9d);
}

.\!k-text-dark-subtle {
  color: var(--kendo-color-dark-subtle, #a19f9d) !important;
}

.k-text-dark {
  color: var(--kendo-color-dark, #323130);
}

.\!k-text-dark {
  color: var(--kendo-color-dark, #323130) !important;
}

.k-text-dark-emphasis {
  color: var(--kendo-color-dark-emphasis, #797775);
}

.\!k-text-dark-emphasis {
  color: var(--kendo-color-dark-emphasis, #797775) !important;
}

.k-text-inherit {
  color: var(--kendo-color-inherit, inherit);
}

.\!k-text-inherit {
  color: var(--kendo-color-inherit, inherit) !important;
}

.k-text-current {
  color: var(--kendo-color-current, currentColor);
}

.\!k-text-current {
  color: var(--kendo-color-current, currentColor) !important;
}

.k-text-transparent {
  color: var(--kendo-color-transparent, transparent);
}

.\!k-text-transparent {
  color: var(--kendo-color-transparent, transparent) !important;
}

.k-text-black {
  color: var(--kendo-color-black, black);
}

.\!k-text-black {
  color: var(--kendo-color-black, black) !important;
}

.k-text-white {
  color: var(--kendo-color-white, white);
}

.\!k-text-white {
  color: var(--kendo-color-white, white) !important;
}

.k-color-app-surface {
  color: var(--kendo-color-app-surface, #ffffff);
}

.\!k-color-app-surface {
  color: var(--kendo-color-app-surface, #ffffff) !important;
}

.k-color-on-app-surface {
  color: var(--kendo-color-on-app-surface, #323130);
}

.\!k-color-on-app-surface {
  color: var(--kendo-color-on-app-surface, #323130) !important;
}

.k-color-subtle {
  color: var(--kendo-color-subtle, #605e5c);
}

.\!k-color-subtle {
  color: var(--kendo-color-subtle, #605e5c) !important;
}

.k-color-surface {
  color: var(--kendo-color-surface, #faf9f8);
}

.\!k-color-surface {
  color: var(--kendo-color-surface, #faf9f8) !important;
}

.k-color-surface-alt {
  color: var(--kendo-color-surface-alt, #ffffff);
}

.\!k-color-surface-alt {
  color: var(--kendo-color-surface-alt, #ffffff) !important;
}

.k-color-border {
  color: var(--kendo-color-border, #8a8886);
}

.\!k-color-border {
  color: var(--kendo-color-border, #8a8886) !important;
}

.k-color-border-alt {
  color: var(--kendo-color-border-alt, #323130);
}

.\!k-color-border-alt {
  color: var(--kendo-color-border-alt, #323130) !important;
}

.k-color-base-subtle {
  color: var(--kendo-color-base-subtle, #edebe9);
}

.\!k-color-base-subtle {
  color: var(--kendo-color-base-subtle, #edebe9) !important;
}

.k-color-base-emphasis {
  color: var(--kendo-color-base-emphasis, #605e5c);
}

.\!k-color-base-emphasis {
  color: var(--kendo-color-base-emphasis, #605e5c) !important;
}

.k-color-primary-subtle {
  color: var(--kendo-color-primary-subtle, #deecf9);
}

.\!k-color-primary-subtle {
  color: var(--kendo-color-primary-subtle, #deecf9) !important;
}

.k-color-primary {
  color: var(--kendo-color-primary, #0078d4);
}

.\!k-color-primary {
  color: var(--kendo-color-primary, #0078d4) !important;
}

.k-color-primary-emphasis {
  color: var(--kendo-color-primary-emphasis, #004578);
}

.\!k-color-primary-emphasis {
  color: var(--kendo-color-primary-emphasis, #004578) !important;
}

.k-color-secondary-subtle {
  color: var(--kendo-color-secondary-subtle, #faf9f8);
}

.\!k-color-secondary-subtle {
  color: var(--kendo-color-secondary-subtle, #faf9f8) !important;
}

.k-color-secondary {
  color: var(--kendo-color-secondary, #979593);
}

.\!k-color-secondary {
  color: var(--kendo-color-secondary, #979593) !important;
}

.k-color-secondary-emphasis {
  color: var(--kendo-color-secondary-emphasis, #605e5c);
}

.\!k-color-secondary-emphasis {
  color: var(--kendo-color-secondary-emphasis, #605e5c) !important;
}

.k-color-tertiary-subtle {
  color: var(--kendo-color-tertiary-subtle, #deecf9);
}

.\!k-color-tertiary-subtle {
  color: var(--kendo-color-tertiary-subtle, #deecf9) !important;
}

.k-color-tertiary {
  color: var(--kendo-color-tertiary, #2b88d8);
}

.\!k-color-tertiary {
  color: var(--kendo-color-tertiary, #2b88d8) !important;
}

.k-color-tertiary-emphasis {
  color: var(--kendo-color-tertiary-emphasis, #2169a6);
}

.\!k-color-tertiary-emphasis {
  color: var(--kendo-color-tertiary-emphasis, #2169a6) !important;
}

.k-color-info-subtle {
  color: var(--kendo-color-info-subtle, #cee5ff);
}

.\!k-color-info-subtle {
  color: var(--kendo-color-info-subtle, #cee5ff) !important;
}

.k-color-info {
  color: var(--kendo-color-info, #0a7eff);
}

.\!k-color-info {
  color: var(--kendo-color-info, #0a7eff) !important;
}

.k-color-info-emphasis {
  color: var(--kendo-color-info-emphasis, #064f9f);
}

.\!k-color-info-emphasis {
  color: var(--kendo-color-info-emphasis, #064f9f) !important;
}

.k-color-success-subtle {
  color: var(--kendo-color-success-subtle, #dff6dd);
}

.\!k-color-success-subtle {
  color: var(--kendo-color-success-subtle, #dff6dd) !important;
}

.k-color-success {
  color: var(--kendo-color-success, #55a554);
}

.\!k-color-success {
  color: var(--kendo-color-success, #55a554) !important;
}

.k-color-success-emphasis {
  color: var(--kendo-color-success-emphasis, #107c10);
}

.\!k-color-success-emphasis {
  color: var(--kendo-color-success-emphasis, #107c10) !important;
}

.k-color-warning-subtle {
  color: var(--kendo-color-warning-subtle, #fff4ce);
}

.\!k-color-warning-subtle {
  color: var(--kendo-color-warning-subtle, #fff4ce) !important;
}

.k-color-warning {
  color: var(--kendo-color-warning, #ffc80a);
}

.\!k-color-warning {
  color: var(--kendo-color-warning, #ffc80a) !important;
}

.k-color-warning-emphasis {
  color: var(--kendo-color-warning-emphasis, #4e4d4b);
}

.\!k-color-warning-emphasis {
  color: var(--kendo-color-warning-emphasis, #4e4d4b) !important;
}

.k-color-error-subtle {
  color: var(--kendo-color-error-subtle, #fde7e9);
}

.\!k-color-error-subtle {
  color: var(--kendo-color-error-subtle, #fde7e9) !important;
}

.k-color-error {
  color: var(--kendo-color-error, #c2666b);
}

.\!k-color-error {
  color: var(--kendo-color-error, #c2666b) !important;
}

.k-color-error-emphasis {
  color: var(--kendo-color-error-emphasis, #a4262c);
}

.\!k-color-error-emphasis {
  color: var(--kendo-color-error-emphasis, #a4262c) !important;
}

.k-color-light-subtle {
  color: var(--kendo-color-light-subtle, #faf9f8);
}

.\!k-color-light-subtle {
  color: var(--kendo-color-light-subtle, #faf9f8) !important;
}

.k-color-light {
  color: var(--kendo-color-light, #d2d0ce);
}

.\!k-color-light {
  color: var(--kendo-color-light, #d2d0ce) !important;
}

.k-color-light-emphasis {
  color: var(--kendo-color-light-emphasis, #e1dfdd);
}

.\!k-color-light-emphasis {
  color: var(--kendo-color-light-emphasis, #e1dfdd) !important;
}

.k-color-dark-subtle {
  color: var(--kendo-color-dark-subtle, #a19f9d);
}

.\!k-color-dark-subtle {
  color: var(--kendo-color-dark-subtle, #a19f9d) !important;
}

.k-color-dark {
  color: var(--kendo-color-dark, #323130);
}

.\!k-color-dark {
  color: var(--kendo-color-dark, #323130) !important;
}

.k-color-dark-emphasis {
  color: var(--kendo-color-dark-emphasis, #797775);
}

.\!k-color-dark-emphasis {
  color: var(--kendo-color-dark-emphasis, #797775) !important;
}

.k-color-inherit {
  color: var(--kendo-color-inherit, inherit);
}

.\!k-color-inherit {
  color: var(--kendo-color-inherit, inherit) !important;
}

.k-color-current {
  color: var(--kendo-color-current, currentColor);
}

.\!k-color-current {
  color: var(--kendo-color-current, currentColor) !important;
}

.k-color-transparent {
  color: var(--kendo-color-transparent, transparent);
}

.\!k-color-transparent {
  color: var(--kendo-color-transparent, transparent) !important;
}

.k-color-black {
  color: var(--kendo-color-black, black);
}

.\!k-color-black {
  color: var(--kendo-color-black, black) !important;
}

.k-color-white {
  color: var(--kendo-color-white, white);
}

.\!k-color-white {
  color: var(--kendo-color-white, white) !important;
}

.k-text-underline {
  text-decoration: underline;
}

.\!k-text-underline {
  text-decoration: underline !important;
}

.k-text-overline {
  text-decoration: overline;
}

.\!k-text-overline {
  text-decoration: overline !important;
}

.k-text-line-through {
  text-decoration: line-through;
}

.\!k-text-line-through {
  text-decoration: line-through !important;
}

.k-text-no-underline {
  text-decoration: none;
}

.\!k-text-no-underline {
  text-decoration: none !important;
}

.k-text-clip {
  text-overflow: clip;
}

.\!k-text-clip {
  text-overflow: clip !important;
}

.k-text-ellipsis {
  text-overflow: ellipsis;
}

.\!k-text-ellipsis {
  text-overflow: ellipsis !important;
}

.k-text-truncate, .k-text-ellipsis {
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.\!k-text-truncate, .\!k-text-ellipsis {
  white-space: nowrap !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
}

.k-text-uppercase {
  text-transform: uppercase;
}

.\!k-text-uppercase {
  text-transform: uppercase !important;
}

.k-text-lowercase {
  text-transform: lowercase;
}

.\!k-text-lowercase {
  text-transform: lowercase !important;
}

.k-text-capitalize {
  text-transform: capitalize;
}

.\!k-text-capitalize {
  text-transform: capitalize !important;
}

.k-text-normal-case {
  text-transform: none;
}

.\!k-text-normal-case {
  text-transform: none !important;
}

.k-align-baseline {
  vertical-align: baseline;
}

.\!k-align-baseline {
  vertical-align: baseline !important;
}

.k-align-top {
  vertical-align: top;
}

.\!k-align-top {
  vertical-align: top !important;
}

.k-align-middle {
  vertical-align: middle;
}

.\!k-align-middle {
  vertical-align: middle !important;
}

.k-align-bottom {
  vertical-align: bottom;
}

.\!k-align-bottom {
  vertical-align: bottom !important;
}

.k-align-text-top {
  vertical-align: text-top;
}

.\!k-align-text-top {
  vertical-align: text-top !important;
}

.k-align-text-bottom {
  vertical-align: text-bottom;
}

.\!k-align-text-bottom {
  vertical-align: text-bottom !important;
}

.k-align-sub {
  vertical-align: sub;
}

.\!k-align-sub {
  vertical-align: sub !important;
}

.k-align-super {
  vertical-align: super;
}

.\!k-align-super {
  vertical-align: super !important;
}

.k-white-space-normal {
  white-space: normal;
}

.\!k-white-space-normal {
  white-space: normal !important;
}

.k-white-space-nowrap, .k-text-nowrap {
  white-space: nowrap;
}

.\!k-white-space-nowrap {
  white-space: nowrap !important;
}

.k-white-space-pre {
  white-space: pre;
}

.\!k-white-space-pre {
  white-space: pre !important;
}

.k-white-space-pre-line {
  white-space: pre-line;
}

.\!k-white-space-pre-line {
  white-space: pre-line !important;
}

.k-white-space-pre-wrap {
  white-space: pre-wrap;
}

.\!k-white-space-pre-wrap {
  white-space: pre-wrap !important;
}

.k-white-space-break-spaces {
  white-space: break-spaces;
}

.\!k-white-space-break-spaces {
  white-space: break-spaces !important;
}

.k-whitespace-normal {
  white-space: normal;
}

.\!k-whitespace-normal {
  white-space: normal !important;
}

.k-whitespace-nowrap {
  white-space: nowrap;
}

.\!k-whitespace-nowrap {
  white-space: nowrap !important;
}

.k-whitespace-pre {
  white-space: pre;
}

.\!k-whitespace-pre {
  white-space: pre !important;
}

.k-whitespace-pre-line {
  white-space: pre-line;
}

.\!k-whitespace-pre-line {
  white-space: pre-line !important;
}

.k-whitespace-pre-wrap {
  white-space: pre-wrap;
}

.\!k-whitespace-pre-wrap {
  white-space: pre-wrap !important;
}

.k-whitespace-break-spaces {
  white-space: break-spaces;
}

.\!k-whitespace-break-spaces {
  white-space: break-spaces !important;
}

:root {
  --kendo-transition: color 0.2s ease-in-out, background-color 0.2s ease-in-out, border-color 0.2s ease-in-out, box-shadow 0.2s ease-in-out, opacity 0.2s ease-in-out, width 0.2s ease-in-out, height 0.2s ease-in-out;
}

.k-svg-icon {
  width: var(--kendo-icon-size, 1rem);
  height: var(--kendo-icon-size, 1rem);
  outline: 0;
  line-height: 1;
  display: inline-flex;
  flex-flow: row nowrap;
  align-items: center;
  justify-content: center;
  vertical-align: middle;
  position: relative;
}
.k-svg-icon > svg {
  fill: currentColor;
  flex: 1 1 auto;
}

.k-svg-icon.k-icon-xs {
  width: calc(var(--kendo-icon-size, 1rem) * 0.75);
  height: calc(var(--kendo-icon-size, 1rem) * 0.75);
}
.k-svg-icon.k-icon-sm {
  width: calc(var(--kendo-icon-size, 1rem) * 0.875);
  height: calc(var(--kendo-icon-size, 1rem) * 0.875);
}
.k-svg-icon.k-icon-md {
  width: var(--kendo-icon-size, 1rem);
  height: var(--kendo-icon-size, 1rem);
}
.k-svg-icon.k-icon-lg {
  width: calc(var(--kendo-icon-size, 1rem) * 1.25);
  height: calc(var(--kendo-icon-size, 1rem) * 1.25);
}
.k-svg-icon.k-icon-xl {
  width: calc(var(--kendo-icon-size, 1rem) * 1.5);
  height: calc(var(--kendo-icon-size, 1rem) * 1.5);
}
.k-svg-icon.k-icon-xxl {
  width: calc(var(--kendo-icon-size, 1rem) * 2);
  height: calc(var(--kendo-icon-size, 1rem) * 2);
}
.k-svg-icon.k-icon-xxxl {
  width: calc(var(--kendo-icon-size, 1rem) * 3);
  height: calc(var(--kendo-icon-size, 1rem) * 3);
}

.k-flip-h.k-svg-icon, .k-svg-icon.k-flip-x,
.k-flip-v.k-svg-icon,
.k-svg-icon.k-flip-y,
.k-flip-h.k-flip-v.k-svg-icon {
  transform: none;
}

.k-flip-h > svg, .k-flip-x > svg {
  transform: scaleX(-1);
}

.k-flip-v > svg, .k-flip-y > svg {
  transform: scaleY(-1);
}

.k-flip-h.k-flip-v > svg, .k-flip-h.k-flip-y > svg, .k-flip-v.k-flip-x > svg, .k-flip-x.k-flip-y > svg,
.k-flip-both > svg {
  transform: scale(-1, -1);
}

.k-rotate-0.k-svg-icon {
  transform: none;
}
.k-rotate-0 > svg {
  transform: rotate(0deg);
}

.k-rotate-45.k-svg-icon {
  transform: none;
}
.k-rotate-45 > svg {
  transform: rotate(45deg);
}

.k-rotate-90.k-svg-icon {
  transform: none;
}
.k-rotate-90 > svg {
  transform: rotate(90deg);
}

.k-rotate-135.k-svg-icon {
  transform: none;
}
.k-rotate-135 > svg {
  transform: rotate(135deg);
}

.k-rotate-180.k-svg-icon {
  transform: none;
}
.k-rotate-180 > svg {
  transform: rotate(180deg);
}

.k-rotate-225.k-svg-icon {
  transform: none;
}
.k-rotate-225 > svg {
  transform: rotate(225deg);
}

.k-rotate-270.k-svg-icon {
  transform: none;
}
.k-rotate-270 > svg {
  transform: rotate(270deg);
}

.k-rotate-315.k-svg-icon {
  transform: none;
}
.k-rotate-315 > svg {
  transform: rotate(315deg);
}

.k-icon-wrapper-host {
  display: contents;
}

.k-icon-with-modifier {
  position: relative;
  margin: 0.25em;
}

.k-icon.k-icon-modifier {
  width: 1em;
  height: 1em;
  position: absolute;
  font-size: 0.5em;
  bottom: 0;
  right: 0;
  margin: 0 -0.5em -0.5em 0;
}

.k-icon-action {
  display: inline-flex;
  padding: var(--kendo-icon-padding, 0.25rem);
  line-height: 1;
  align-items: center;
  vertical-align: middle;
  cursor: pointer;
}

.k-rotate-0 {
  transform: rotate(0deg);
}

.\!k-rotate-0 {
  transform: rotate(0deg) !important;
}

.k-rotate-45 {
  transform: rotate(45deg);
}

.\!k-rotate-45 {
  transform: rotate(45deg) !important;
}

.k-rotate-90 {
  transform: rotate(90deg);
}

.\!k-rotate-90 {
  transform: rotate(90deg) !important;
}

.k-rotate-135 {
  transform: rotate(135deg);
}

.\!k-rotate-135 {
  transform: rotate(135deg) !important;
}

.k-rotate-180 {
  transform: rotate(180deg);
}

.\!k-rotate-180 {
  transform: rotate(180deg) !important;
}

.k-rotate-225 {
  transform: rotate(225deg);
}

.\!k-rotate-225 {
  transform: rotate(225deg) !important;
}

.k-rotate-270 {
  transform: rotate(270deg);
}

.\!k-rotate-270 {
  transform: rotate(270deg) !important;
}

.k-rotate-315 {
  transform: rotate(315deg);
}

.\!k-rotate-315 {
  transform: rotate(315deg) !important;
}

.k-flip-h, .k-flip-x {
  transform: scaleX(-1);
}

.\!k-flip-h, .\!k-flip-x {
  transform: scaleX(-1) !important;
}

.k-flip-v, .k-flip-y {
  transform: scaleY(-1);
}

.\!k-flip-v, .\!k-flip-y {
  transform: scaleY(-1) !important;
}

.k-flip-h.k-flip-v, .k-flip-h.k-flip-y, .k-flip-v.k-flip-x, .k-flip-x.k-flip-y {
  transform: scale(-1, -1);
}

.\!k-flip-h.\!k-flip-v, .\!k-flip-h.\!k-flip-y, .\!k-flip-v.\!k-flip-x, .\!k-flip-x.\!k-flip-y {
  transform: scale(-1, -1) !important;
}

.k-messagebox {
  margin: var(--kendo-message-box-margin, 0 0 var(--kendo-spacing-3, 0.75rem) 0);
  padding-inline: var(--kendo-message-box-padding-x, var(--kendo-spacing-3, 0.75rem));
  padding-block: var(--kendo-message-box-padding-y, var(--kendo-spacing-2, 0.5rem));
  border-width: var(--kendo-message-box-border-width, 0);
  border-style: var(--kendo-message-box-border-style, solid);
  box-sizing: border-box;
  font-family: var(--kendo-message-box-font-family, var(--kendo-font-family, inherit));
  font-size: var(--kendo-message-box-font-size, var(--kendo-font-size-sm, inherit));
  line-height: var(--kendo-message-box-line-height, var(--kendo-line-height-sm, normal));
}
.k-messagebox a {
  font-style: var(--kendo-message-box-link-font-style, normal);
  text-decoration: var(--kendo-message-box-link-decoration, underline);
}

.k-messagebox {
  --INTERNAL--kendo-messagebox-text: var( --kendo-messagebox-text );
  --INTERNAL--kendo-messagebox-bg: var( --kendo-messagebox-bg );
  --INTERNAL--kendo-messagebox-border: var( --kendo-messagebox-border );
  color: var(--INTERNAL--kendo-messagebox-text, initial);
  background-color: var(--INTERNAL--kendo-messagebox-bg, initial);
  border-color: var(--INTERNAL--kendo-messagebox-border, initial);
}
.k-messagebox a {
  color: var(--kendo-message-box-link-text, var(--kendo-link-text, initial));
}
.k-messagebox a:hover {
  color: var(--kendo-message-box-link-hover-text, var(--kendo-link-hover-text, initial));
}

.k-messagebox-primary {
  --kendo-messagebox-text: var( --kendo-messagebox-primary-text, currentColor );
  --kendo-messagebox-bg: var( --kendo-messagebox-primary-bg, var(--kendo-color-primary-subtle, #deecf9) );
  --kendo-messagebox-border: var( --kendo-messagebox-primary-border, var(--kendo-color-primary-subtle, #deecf9) );
}

.k-messagebox-info {
  --kendo-messagebox-text: var( --kendo-messagebox-info-text, currentColor );
  --kendo-messagebox-bg: var( --kendo-messagebox-info-bg, var(--kendo-color-info-subtle, #cee5ff) );
  --kendo-messagebox-border: var( --kendo-messagebox-info-border, var(--kendo-color-info-subtle, #cee5ff) );
}

.k-messagebox-success {
  --kendo-messagebox-text: var( --kendo-messagebox-success-text, currentColor );
  --kendo-messagebox-bg: var( --kendo-messagebox-success-bg, var(--kendo-color-success-subtle, #dff6dd) );
  --kendo-messagebox-border: var( --kendo-messagebox-success-border, var(--kendo-color-success-subtle, #dff6dd) );
}

.k-messagebox-warning {
  --kendo-messagebox-text: var( --kendo-messagebox-warning-text, currentColor );
  --kendo-messagebox-bg: var( --kendo-messagebox-warning-bg, var(--kendo-color-warning-subtle, #fff4ce) );
  --kendo-messagebox-border: var( --kendo-messagebox-warning-border, var(--kendo-color-warning-subtle, #fff4ce) );
}

.k-messagebox-error {
  --kendo-messagebox-text: var( --kendo-messagebox-error-text, currentColor );
  --kendo-messagebox-bg: var( --kendo-messagebox-error-bg, var(--kendo-color-error-subtle, #fde7e9) );
  --kendo-messagebox-border: var( --kendo-messagebox-error-border, var(--kendo-color-error-subtle, #fde7e9) );
}

.k-badge {
  padding-inline: var(--INTERNAL--kendo-badge-padding-x, 0);
  padding-block: var(--INTERNAL--kendo-badge-padding-y, 0);
  min-width: var(--INTERNAL--kendo-badge-min-width, auto);
  font-size: var(--INTERNAL--kendo-badge-font-size, 1rem);
  font-weight: var(--kendo-badge-font-weight, var(--kendo-font-weight, normal));
  line-height: var(--INTERNAL--kendo-badge-line-height, normal);
  border-width: var(--kendo-badge-border-width, 1px);
  border-style: solid;
  border-color: transparent;
  box-sizing: border-box;
  color: inherit;
  background-color: transparent;
  text-align: center;
  white-space: nowrap;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  vertical-align: middle;
  overflow: hidden;
  text-overflow: ellipsis;
}
.k-badge *,
.k-badge *::before,
.k-badge *::after {
  box-sizing: border-box;
}

.k-badge > * {
  color: inherit;
}

a.k-badge,
.k-badge > a {
  text-decoration: none;
}

a.k-badge:hover,
.k-badge > a:hover {
  text-decoration: underline;
}

.k-badge-icon {
  max-width: 1em;
  max-height: 1em;
  font-size: inherit;
}

.k-badge-icon svg {
  fill: currentColor;
}

.k-badge-sm {
  --INTERNAL--kendo-badge-padding-x: var( --kendo-badge-sm-padding-x, var(--kendo-spacing-0\.5, 0.125rem) );
  --INTERNAL--kendo-badge-padding-y: var( --kendo-badge-sm-padding-y, var(--kendo-spacing-0\.5, 0.125rem) );
  --INTERNAL--kendo-badge-font-size: var( --kendo-badge-sm-font-size, var(--kendo-font-size-xs, inherit) );
  --INTERNAL--kendo-badge-line-height: var( --kendo-badge-sm-line-height, var(--kendo-line-height-xs, normal) );
  --INTERNAL--kendo-badge-min-width: var( --kendo-badge-sm-min-width, calc(var(--kendo-line-height-xs, normal) * 1em + var(--kendo-spacing-0\.5, 0.125rem) * 2 + 1px * 2) );
}
.k-badge-sm:empty {
  --INTERNAL--kendo-badge-padding-x: var( --kendo-badge-sm-padding-y, var(--kendo-spacing-0\.5, 0.125rem) );
  --INTERNAL--kendo-badge-padding-y: var( --kendo-badge-sm-padding-y, var(--kendo-spacing-0\.5, 0.125rem) );
  min-width: auto;
}

.k-badge-md {
  --INTERNAL--kendo-badge-padding-x: var( --kendo-badge-md-padding-x, var(--kendo-spacing-1, 0.25rem) );
  --INTERNAL--kendo-badge-padding-y: var( --kendo-badge-md-padding-y, var(--kendo-spacing-1, 0.25rem) );
  --INTERNAL--kendo-badge-font-size: var( --kendo-badge-md-font-size, var(--kendo-font-size-xs, inherit) );
  --INTERNAL--kendo-badge-line-height: var( --kendo-badge-md-line-height, var(--kendo-line-height-xs, normal) );
  --INTERNAL--kendo-badge-min-width: var( --kendo-badge-md-min-width, calc(var(--kendo-line-height-xs, normal) * 1em + var(--kendo-spacing-1, 0.25rem) * 2 + 1px * 2) );
}
.k-badge-md:empty {
  --INTERNAL--kendo-badge-padding-x: var( --kendo-badge-md-padding-y, var(--kendo-spacing-1, 0.25rem) );
  --INTERNAL--kendo-badge-padding-y: var( --kendo-badge-md-padding-y, var(--kendo-spacing-1, 0.25rem) );
  min-width: auto;
}

.k-badge-lg {
  --INTERNAL--kendo-badge-padding-x: var( --kendo-badge-lg-padding-x, var(--kendo-spacing-1\.5, 0.375rem) );
  --INTERNAL--kendo-badge-padding-y: var( --kendo-badge-lg-padding-y, var(--kendo-spacing-1\.5, 0.375rem) );
  --INTERNAL--kendo-badge-font-size: var( --kendo-badge-lg-font-size, var(--kendo-font-size-xs, inherit) );
  --INTERNAL--kendo-badge-line-height: var( --kendo-badge-lg-line-height, var(--kendo-line-height-xs, normal) );
  --INTERNAL--kendo-badge-min-width: var( --kendo-badge-lg-min-width, calc(var(--kendo-line-height-xs, normal) * 1em + var(--kendo-spacing-1\.5, 0.375rem) * 2 + 1px * 2) );
}
.k-badge-lg:empty {
  --INTERNAL--kendo-badge-padding-x: var( --kendo-badge-lg-padding-y, var(--kendo-spacing-1\.5, 0.375rem) );
  --INTERNAL--kendo-badge-padding-y: var( --kendo-badge-lg-padding-y, var(--kendo-spacing-1\.5, 0.375rem) );
  min-width: auto;
}

kendo-badge-container {
  display: inline-block;
}

.k-badge-container {
  position: relative;
  overflow: visible;
}

.k-badge-inside {
  position: absolute;
  z-index: 9999;
}
.k-badge-edge {
  position: absolute;
  z-index: 9999;
}
.k-badge-edge.k-top-start {
  transform: translate(-50%, -50%);
}
.k-badge-edge.k-top-end {
  transform: translate(50%, -50%);
}
.k-badge-edge.k-bottom-start {
  transform: translate(-50%, 50%);
}
.k-badge-edge.k-bottom-end {
  transform: translate(50%, 50%);
}

.k-rtl .k-badge-edge.k-top-start,
[dir=rtl].k-badge-edge.k-top-start,
[dir=rtl] .k-badge-edge.k-top-start {
  transform: translate(50%, -50%);
}
.k-rtl .k-badge-edge.k-top-end,
[dir=rtl].k-badge-edge.k-top-end,
[dir=rtl] .k-badge-edge.k-top-end {
  transform: translate(-50%, -50%);
}
.k-rtl .k-badge-edge.k-bottom-start,
[dir=rtl].k-badge-edge.k-bottom-start,
[dir=rtl] .k-badge-edge.k-bottom-start {
  transform: translate(50%, 50%);
}
.k-rtl .k-badge-edge.k-bottom-end,
[dir=rtl].k-badge-edge.k-bottom-end,
[dir=rtl] .k-badge-edge.k-bottom-end {
  transform: translate(-50%, 50%);
}

.k-badge-outside {
  position: absolute;
  z-index: 9999;
}
.k-badge-outside.k-top-start {
  transform: translate(-100%, -100%);
}
.k-badge-outside.k-top-end {
  transform: translate(100%, -100%);
}
.k-badge-outside.k-bottom-start {
  transform: translate(-100%, 100%);
}
.k-badge-outside.k-bottom-end {
  transform: translate(100%, 100%);
}

.k-rtl .k-badge-outside.k-top-start,
[dir=rtl].k-badge-outside.k-top-start,
[dir=rtl] .k-badge-outside.k-top-start {
  transform: translate(100%, -100%);
}
.k-rtl .k-badge-outside.k-top-end,
[dir=rtl].k-badge-outside.k-top-end,
[dir=rtl] .k-badge-outside.k-top-end {
  transform: translate(-100%, -100%);
}
.k-rtl .k-badge-outside.k-bottom-start,
[dir=rtl].k-badge-outside.k-bottom-start,
[dir=rtl] .k-badge-outside.k-bottom-start {
  transform: translate(100%, 100%);
}
.k-rtl .k-badge-outside.k-bottom-end,
[dir=rtl].k-badge-outside.k-bottom-end,
[dir=rtl] .k-badge-outside.k-bottom-end {
  transform: translate(-100%, 100%);
}

.k-badge-border-cutout {
  box-shadow: 0 0 0 2px var(--kendo-component-bg, inherit);
}

.k-badge {
  --INTERNAL--kendo-badge-text: var( --kendo-badge-text, var(--kendo-component-text, initial) );
  --INTERNAL--kendo-badge-bg: var( --kendo-badge-bg, var(--kendo-component-bg, initial) );
  --INTERNAL--kendo-badge-border: var( --kendo-badge-border, var(--kendo-component-border, initial) );
  color: var(--INTERNAL--kendo-badge-text, initial);
  background-color: var(--INTERNAL--kendo-badge-bg, initial);
  border-color: var(--INTERNAL--kendo-badge-border, initial);
}

.k-badge-outline {
  background-color: transparent;
}

.k-badge-solid-primary {
  --kendo-badge-text: var( --kendo-badge-solid-primary-text, var(--kendo-color-on-primary, #ffffff) );
  --kendo-badge-bg: var( --kendo-badge-solid-primary-bg, var(--kendo-color-primary, #0078d4) );
  --kendo-badge-border: var( --kendo-badge-solid-primary-border, var(--kendo-color-primary, #0078d4) );
}

.k-badge-solid-error {
  --kendo-badge-text: var( --kendo-badge-solid-error-text, var(--kendo-color-on-error, #ffffff) );
  --kendo-badge-bg: var( --kendo-badge-solid-error-bg, var(--kendo-color-error, #c2666b) );
  --kendo-badge-border: var( --kendo-badge-solid-error-border, var(--kendo-color-error, #c2666b) );
}

.k-badge-solid-success {
  --kendo-badge-text: var( --kendo-badge-solid-success-text, var(--kendo-color-on-success, #ffffff) );
  --kendo-badge-bg: var( --kendo-badge-solid-success-bg, var(--kendo-color-success, #55a554) );
  --kendo-badge-border: var( --kendo-badge-solid-success-border, var(--kendo-color-success, #55a554) );
}

.k-badge-solid-info {
  --kendo-badge-text: var( --kendo-badge-solid-info-text, var(--kendo-color-on-info, #ffffff) );
  --kendo-badge-bg: var( --kendo-badge-solid-info-bg, var(--kendo-color-info, #0a7eff) );
  --kendo-badge-border: var( --kendo-badge-solid-info-border, var(--kendo-color-info, #0a7eff) );
}

.k-badge-solid-secondary {
  --kendo-badge-text: var( --kendo-badge-solid-secondary-text, var(--kendo-color-on-secondary, #ffffff) );
  --kendo-badge-bg: var( --kendo-badge-solid-secondary-bg, var(--kendo-color-secondary, #979593) );
  --kendo-badge-border: var( --kendo-badge-solid-secondary-border, var(--kendo-color-secondary, #979593) );
}

.k-badge-solid-tertiary {
  --kendo-badge-text: var( --kendo-badge-solid-tertiary-text, var(--kendo-color-on-tertiary, #ffffff) );
  --kendo-badge-bg: var( --kendo-badge-solid-tertiary-bg, var(--kendo-color-tertiary, #2b88d8) );
  --kendo-badge-border: var( --kendo-badge-solid-tertiary-border, var(--kendo-color-tertiary, #2b88d8) );
}

.k-badge-solid-warning {
  --kendo-badge-text: var( --kendo-badge-solid-warning-text, var(--kendo-color-on-warning, #323130) );
  --kendo-badge-bg: var( --kendo-badge-solid-warning-bg, var(--kendo-color-warning, #ffc80a) );
  --kendo-badge-border: var( --kendo-badge-solid-warning-border, var(--kendo-color-warning, #ffc80a) );
}

.k-badge-solid-dark {
  --kendo-badge-text: var( --kendo-badge-solid-dark-text, var(--kendo-color-on-dark, #ffffff) );
  --kendo-badge-bg: var( --kendo-badge-solid-dark-bg, var(--kendo-color-dark, #323130) );
  --kendo-badge-border: var( --kendo-badge-solid-dark-border, var(--kendo-color-dark, #323130) );
}

.k-badge-solid-light {
  --kendo-badge-text: var( --kendo-badge-solid-light-text, var(--kendo-color-on-light, #323130) );
  --kendo-badge-bg: var( --kendo-badge-solid-light-bg, var(--kendo-color-light, #d2d0ce) );
  --kendo-badge-border: var( --kendo-badge-solid-light-border, var(--kendo-color-light, #d2d0ce) );
}

.k-badge-outline-primary {
  --kendo-badge-text: var( --kendo-badge-outline-primary-text, var(--kendo-color-primary, #0078d4) );
  --kendo-badge-bg: var( --kendo-badge-outline-primary-bg, transparent );
  --kendo-badge-border: var( --kendo-badge-outline-primary-border, var(--kendo-color-primary, #0078d4) );
}

.k-badge-outline-error {
  --kendo-badge-text: var( --kendo-badge-outline-error-text, var(--kendo-color-error, #c2666b) );
  --kendo-badge-bg: var( --kendo-badge-outline-error-bg, transparent );
  --kendo-badge-border: var( --kendo-badge-outline-error-border, var(--kendo-color-error, #c2666b) );
}

.k-badge-outline-success {
  --kendo-badge-text: var( --kendo-badge-outline-success-text, var(--kendo-color-success, #55a554) );
  --kendo-badge-bg: var( --kendo-badge-outline-success-bg, transparent );
  --kendo-badge-border: var( --kendo-badge-outline-success-border, var(--kendo-color-success, #55a554) );
}

.k-badge-outline-info {
  --kendo-badge-text: var( --kendo-badge-outline-info-text, var(--kendo-color-info, #0a7eff) );
  --kendo-badge-bg: var( --kendo-badge-outline-info-bg, transparent );
  --kendo-badge-border: var( --kendo-badge-outline-info-border, var(--kendo-color-info, #0a7eff) );
}

.k-badge-outline-secondary {
  --kendo-badge-text: var( --kendo-badge-outline-secondary-text, var(--kendo-color-secondary, #979593) );
  --kendo-badge-bg: var( --kendo-badge-outline-secondary-bg, transparent );
  --kendo-badge-border: var( --kendo-badge-outline-secondary-border, var(--kendo-color-secondary, #979593) );
}

.k-badge-outline-tertiary {
  --kendo-badge-text: var( --kendo-badge-outline-tertiary-text, var(--kendo-color-tertiary, #2b88d8) );
  --kendo-badge-bg: var( --kendo-badge-outline-tertiary-bg, transparent );
  --kendo-badge-border: var( --kendo-badge-outline-tertiary-border, var(--kendo-color-tertiary, #2b88d8) );
}

.k-badge-outline-warning {
  --kendo-badge-text: var( --kendo-badge-outline-warning-text, var(--kendo-color-warning, #ffc80a) );
  --kendo-badge-bg: var( --kendo-badge-outline-warning-bg, transparent );
  --kendo-badge-border: var( --kendo-badge-outline-warning-border, var(--kendo-color-warning, #ffc80a) );
}

.k-badge-outline-dark {
  --kendo-badge-text: var( --kendo-badge-outline-dark-text, var(--kendo-color-dark, #323130) );
  --kendo-badge-bg: var( --kendo-badge-outline-dark-bg, transparent );
  --kendo-badge-border: var( --kendo-badge-outline-dark-border, var(--kendo-color-dark, #323130) );
}

.k-badge-outline-light {
  --kendo-badge-text: var( --kendo-badge-outline-light-text, var(--kendo-color-light, #d2d0ce) );
  --kendo-badge-bg: var( --kendo-badge-outline-light-bg, transparent );
  --kendo-badge-border: var( --kendo-badge-outline-light-border, var(--kendo-color-light, #d2d0ce) );
}

.k-button {
  padding-inline: var(--INTERNAL--kendo-button-padding-x, 0);
  padding-block: var(--INTERNAL--kendo-button-padding-y, 0);
  border-width: var(--kendo-button-border-width, 1px);
  border-style: solid;
  box-sizing: border-box;
  font-family: var(--kendo-button-font-family, var(--kendo-font-family, inherit));
  font-size: var(--INTERNAL--kendo-button-font-size, 1rem);
  font-weight: var(--kendo-button-font-weight, var(--kendo-font-weight-bold, normal));
  line-height: var(--INTERNAL--kendo-button-line-height, normal);
  text-align: center;
  white-space: nowrap;
  text-decoration: none;
  vertical-align: middle;
  display: inline-flex;
  justify-content: center;
  align-items: center;
  gap: var(--kendo-button-spacing, var(--kendo-spacing-2, 0.5rem));
  position: relative;
  cursor: pointer;
  color: inherit;
  background: none;
  outline: none;
  user-select: none;
  -webkit-appearance: none;
}
.k-button *,
.k-button *::before,
.k-button *::after {
  box-sizing: border-box;
}
.k-button::-moz-focus-inner {
  padding: 0;
  outline: 0;
  border: 0;
}
.k-button:hover, .k-button:focus {
  outline: 0;
  text-decoration: none;
}
.k-button:focus::after, .k-button.k-focus::after {
  content: "";
  position: absolute;
  border: medium none;
  inset: var(--kendo-button-focus-offset, var(--kendo-spacing-0\.5, 0.125rem));
  outline-width: var(--kendo-button-focus-outline-width, 1px);
  outline-style: var(--kendo-button-focus-outline-style, solid);
  z-index: 1;
}
.k-button.k-rounded-full:focus::after, .k-button.k-rounded-full.k-focus::after {
  border-radius: inherit;
}

.k-button-sm {
  --INTERNAL--kendo-button-padding-x: var( --kendo-button-sm-padding-x, var(--kendo-spacing-5, 1.25rem) );
  --INTERNAL--kendo-button-padding-y: var( --kendo-button-sm-padding-y, var(--kendo-spacing-1, 0.25rem) );
  --INTERNAL--kendo-button-font-size: var( --kendo-button-sm-font-size, var(--kendo-font-size, inherit) );
  --INTERNAL--kendo-button-line-height: var( --kendo-button-sm-line-height, var(--kendo-line-height, normal) );
}

.k-icon-button.k-button-sm {
  --INTERNAL--kendo-button-padding-x: var( --kendo-icon-button-sm-padding-y, var(--kendo-spacing-1, 0.25rem) );
  --INTERNAL--kendo-button-padding-y: var( --kendo-icon-button-sm-padding-y, var(--kendo-spacing-1, 0.25rem) );
}
.k-icon-button.k-button-sm .k-button-icon {
  min-width: calc(var(--kendo-font-size, inherit) * var(--kendo-line-height, normal));
  min-height: calc(var(--kendo-font-size, inherit) * var(--kendo-line-height, normal));
  display: inline-flex;
  align-items: center;
  justify-content: center;
}
.k-icon-button.k-button-sm .k-button-icon.k-svg-icon > svg, .k-icon-button.k-button-sm .k-button-icon.k-icon-md > svg {
  width: var(--kendo-icon-size-md, 1rem);
  height: var(--kendo-icon-size-md, 1rem);
}
.k-icon-button.k-button-sm .k-button-icon.k-icon-xs > svg {
  width: var(--kendo-icon-size-sm, 0.75rem);
  height: var(--kendo-icon-size-sm, 0.75rem) s;
}
.k-icon-button.k-button-sm .k-button-icon.k-icon-sm > svg {
  width: var(--kendo-icon-size-sm, 0.875rem);
  height: var(--kendo-icon-size-sm, 0.875rem);
}
.k-icon-button.k-button-sm .k-button-icon.k-icon-lg > svg {
  width: var(--kendo-icon-size-lg, 1.25rem);
  height: var(--kendo-icon-size-lg, 1.25rem);
}
.k-icon-button.k-button-sm .k-button-icon.k-icon-xl > svg {
  width: var(--kendo-icon-size-xl, 1.5rem);
  height: var(--kendo-icon-size-xl, 1.5rem);
}
.k-icon-button.k-button-sm .k-button-icon.k-icon-xxl > svg {
  width: var(--kendo-icon-size-xxl, 2rem);
  height: var(--kendo-icon-size-xxl, 2rem);
}
.k-icon-button.k-button-sm .k-button-icon.k-icon-xxxl > svg {
  width: var(--kendo-icon-size-xxl, 3rem);
  height: var(--kendo-icon-size-xxl, 3rem);
}

.k-button-md {
  --INTERNAL--kendo-button-padding-x: var( --kendo-button-md-padding-x, var(--kendo-spacing-5, 1.25rem) );
  --INTERNAL--kendo-button-padding-y: var( --kendo-button-md-padding-y, var(--kendo-spacing-1\.5, 0.375rem) );
  --INTERNAL--kendo-button-font-size: var( --kendo-button-md-font-size, var(--kendo-font-size, inherit) );
  --INTERNAL--kendo-button-line-height: var( --kendo-button-md-line-height, var(--kendo-line-height, normal) );
}

.k-icon-button.k-button-md {
  --INTERNAL--kendo-button-padding-x: var( --kendo-icon-button-md-padding-y, var(--kendo-spacing-1\.5, 0.375rem) );
  --INTERNAL--kendo-button-padding-y: var( --kendo-icon-button-md-padding-y, var(--kendo-spacing-1\.5, 0.375rem) );
}
.k-icon-button.k-button-md .k-button-icon {
  min-width: calc(var(--kendo-font-size, inherit) * var(--kendo-line-height, normal));
  min-height: calc(var(--kendo-font-size, inherit) * var(--kendo-line-height, normal));
  display: inline-flex;
  align-items: center;
  justify-content: center;
}
.k-icon-button.k-button-md .k-button-icon.k-svg-icon > svg, .k-icon-button.k-button-md .k-button-icon.k-icon-md > svg {
  width: var(--kendo-icon-size-md, 1rem);
  height: var(--kendo-icon-size-md, 1rem);
}
.k-icon-button.k-button-md .k-button-icon.k-icon-xs > svg {
  width: var(--kendo-icon-size-sm, 0.75rem);
  height: var(--kendo-icon-size-sm, 0.75rem) s;
}
.k-icon-button.k-button-md .k-button-icon.k-icon-sm > svg {
  width: var(--kendo-icon-size-sm, 0.875rem);
  height: var(--kendo-icon-size-sm, 0.875rem);
}
.k-icon-button.k-button-md .k-button-icon.k-icon-lg > svg {
  width: var(--kendo-icon-size-lg, 1.25rem);
  height: var(--kendo-icon-size-lg, 1.25rem);
}
.k-icon-button.k-button-md .k-button-icon.k-icon-xl > svg {
  width: var(--kendo-icon-size-xl, 1.5rem);
  height: var(--kendo-icon-size-xl, 1.5rem);
}
.k-icon-button.k-button-md .k-button-icon.k-icon-xxl > svg {
  width: var(--kendo-icon-size-xxl, 2rem);
  height: var(--kendo-icon-size-xxl, 2rem);
}
.k-icon-button.k-button-md .k-button-icon.k-icon-xxxl > svg {
  width: var(--kendo-icon-size-xxl, 3rem);
  height: var(--kendo-icon-size-xxl, 3rem);
}

.k-button-lg {
  --INTERNAL--kendo-button-padding-x: var( --kendo-button-lg-padding-x, var(--kendo-spacing-5, 1.25rem) );
  --INTERNAL--kendo-button-padding-y: var( --kendo-button-lg-padding-y, var(--kendo-spacing-2, 0.5rem) );
  --INTERNAL--kendo-button-font-size: var( --kendo-button-lg-font-size, var(--kendo-font-size, inherit) );
  --INTERNAL--kendo-button-line-height: var( --kendo-button-lg-line-height, var(--kendo-line-height, normal) );
}

.k-icon-button.k-button-lg {
  --INTERNAL--kendo-button-padding-x: var( --kendo-icon-button-lg-padding-y, var(--kendo-spacing-2, 0.5rem) );
  --INTERNAL--kendo-button-padding-y: var( --kendo-icon-button-lg-padding-y, var(--kendo-spacing-2, 0.5rem) );
}
.k-icon-button.k-button-lg .k-button-icon {
  min-width: calc(var(--kendo-font-size, inherit) * var(--kendo-line-height, normal));
  min-height: calc(var(--kendo-font-size, inherit) * var(--kendo-line-height, normal));
  display: inline-flex;
  align-items: center;
  justify-content: center;
}
.k-icon-button.k-button-lg .k-button-icon.k-svg-icon > svg, .k-icon-button.k-button-lg .k-button-icon.k-icon-md > svg {
  width: var(--kendo-icon-size-md, 1rem);
  height: var(--kendo-icon-size-md, 1rem);
}
.k-icon-button.k-button-lg .k-button-icon.k-icon-xs > svg {
  width: var(--kendo-icon-size-sm, 0.75rem);
  height: var(--kendo-icon-size-sm, 0.75rem) s;
}
.k-icon-button.k-button-lg .k-button-icon.k-icon-sm > svg {
  width: var(--kendo-icon-size-sm, 0.875rem);
  height: var(--kendo-icon-size-sm, 0.875rem);
}
.k-icon-button.k-button-lg .k-button-icon.k-icon-lg > svg {
  width: var(--kendo-icon-size-lg, 1.25rem);
  height: var(--kendo-icon-size-lg, 1.25rem);
}
.k-icon-button.k-button-lg .k-button-icon.k-icon-xl > svg {
  width: var(--kendo-icon-size-xl, 1.5rem);
  height: var(--kendo-icon-size-xl, 1.5rem);
}
.k-icon-button.k-button-lg .k-button-icon.k-icon-xxl > svg {
  width: var(--kendo-icon-size-xxl, 2rem);
  height: var(--kendo-icon-size-xxl, 2rem);
}
.k-icon-button.k-button-lg .k-button-icon.k-icon-xxxl > svg {
  width: var(--kendo-icon-size-xxl, 3rem);
  height: var(--kendo-icon-size-xxl, 3rem);
}

.k-icon-button {
  gap: 0;
}
.k-icon-button .k-icon {
  display: inline-flex;
}

.k-button-icon {
  align-self: center;
  position: relative;
  color: inherit;
}

.k-button-flat {
  color: inherit;
  border-color: transparent !important;
  box-shadow: none;
}
.k-button-flat:focus::after, .k-button-flat.k-focus::after {
  border-radius: inherit;
  inset: var(--kendo-button-flat-focus-offset, 1px);
  outline-width: var(--kendo-button-flat-focus-outline-width, var(--kendo-spacing-0\.5, 0.125rem));
}

.k-button-flat-base {
  color: inherit;
  background: none !important;
  border-color: transparent !important;
}
.k-button-flat-base::before {
  border-radius: inherit;
  content: "";
  background: currentColor;
  opacity: 0;
  display: block;
  pointer-events: none;
  position: absolute;
  left: -1px;
  right: -1px;
  top: -1px;
  bottom: -1px;
  z-index: 0;
  transition: opacity 0.2s ease-in-out;
}
.k-button-flat-base:hover::before, .k-button-flat-base.k-hover::before {
  opacity: 0.05;
}
.k-button-flat-base:focus::before, .k-button-flat-base.k-focus::before {
  opacity: 0;
}
.k-button-flat-base:focus::after, .k-button-flat-base.k-focus::after {
  outline-color: currentColor !important;
  opacity: 0.13;
}
.k-button-flat-base:focus:hover::before, .k-button-flat-base:focus.k-hover::before, .k-button-flat-base.k-focus:hover::before, .k-button-flat-base.k-focus.k-hover::before {
  opacity: 0.05;
}
.k-button-flat-base.k-no-focus:not(:hover)::before, .k-button-flat-base.k-no-focus:not(.k-hover)::before {
  opacity: 0;
}
.k-button-flat-base:active::before, .k-button-flat-base.k-active::before {
  opacity: 0.08;
}
.k-button-flat-base:active:hover::before, .k-button-flat-base:active.k-hover::before, .k-button-flat-base.k-active:hover::before, .k-button-flat-base.k-active.k-hover::before {
  opacity: 0.05;
}
.k-button-flat-base.k-selected::before {
  opacity: 0.08;
}
.k-button-flat-base.k-selected:hover::before, .k-button-flat-base.k-selected.k-hover::before {
  opacity: 0.05;
}
.k-button-flat-base.k-disabled {
  color: var(--kendo-disabled-text, inherit);
}

.k-button-outline {
  color: inherit;
  border-color: currentColor;
  background: none;
}

.k-button-link {
  border-color: transparent !important;
  text-decoration: none;
  background: none;
}
.k-button-link:focus::after, .k-button-link.k-focus::after {
  border-radius: inherit;
  inset: var(--kendo-button-link-focus-offset, 0);
  outline-width: var(--kendo-button-link-focus-outline-width, 1px);
}
.k-button-link:hover, .k-button-link.k-hover, .k-button-link:focus, .k-button-link.k-focus {
  text-decoration: underline;
}

.k-button-clear {
  border-color: transparent !important;
  color: inherit;
  background: none;
}
.k-button-clear:focus::after, .k-button-clear.k-focus::after {
  inset: auto;
  outline-width: 0;
}

.k-button-group {
  margin: 0;
  padding: 0;
  border-width: 0;
  box-sizing: border-box;
  list-style: none;
  outline: 0;
  display: inline-flex;
  flex-flow: row nowrap;
  vertical-align: middle;
  position: relative;
  -webkit-touch-callout: none;
  -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
}
.k-button-group > .k-button + .k-button {
  margin-inline-start: -1px;
}
.k-button-group > .k-button:hover,
.k-button-group > .k-button.k-hover,
.k-button-group > .k-button:focus,
.k-button-group > .k-button.k-focus,
.k-button-group > .k-button:active,
.k-button-group > .k-button.k-active,
.k-button-group > .k-button.k-selected {
  z-index: 2;
}
.k-button-group .k-button:not(:first-child, :last-child) {
  border-start-end-radius: 0;
  border-end-end-radius: 0;
  border-start-start-radius: 0;
  border-end-start-radius: 0;
}
.k-button-group > .k-button:first-child:not(:only-child) {
  border-start-end-radius: 0;
  border-end-end-radius: 0;
}
.k-button-group > .k-button:last-child:not(:only-child) {
  border-start-start-radius: 0;
  border-end-start-radius: 0;
}
.k-button-group:disabled, .k-button-group[disabled], .k-button-group.k-disabled {
  opacity: 1;
  filter: none;
}

.k-button-group-stretched {
  width: 100%;
}
.k-button-group-stretched > * {
  flex: 1 0 0%;
  overflow: hidden;
}

.k-button {
  --INTERNAL--kendo-button-text: var( --kendo-button-text );
  --INTERNAL--kendo-button-bg: var( --kendo-button-bg );
  --INTERNAL--kendo-button-border: var( --kendo-button-border );
  --INTERNAL--kendo-button-gradient: var( --kendo-button-gradient );
  --INTERNAL--kendo-button-shadow: var( --kendo-button-shadow );
  border-color: var(--INTERNAL--kendo-button-border, initial);
  color: var(--INTERNAL--kendo-button-text, inherit);
  background-color: var(--INTERNAL--kendo-button-bg, initial);
  background-image: linear-gradient(var(--INTERNAL--kendo-button-gradient, transparent, transparent));
  box-shadow: var(--INTERNAL--kendo-button-shadow, none);
}
.k-button:hover, .k-button.k-hover {
  --INTERNAL--kendo-button-text: var( --kendo-button-hover-text );
  --INTERNAL--kendo-button-bg: var( --kendo-button-hover-bg );
  --INTERNAL--kendo-button-border: var( --kendo-button-hover-border );
}
.k-button:focus, .k-button.k-focus {
  --INTERNAL--kendo-button-text: var( --kendo-button-focus-text );
  --INTERNAL--kendo-button-bg: var( --kendo-button-focus-bg );
  --INTERNAL--kendo-button-border: var( --kendo-button-focus-border );
}
.k-button:focus:hover, .k-button:focus.k-hover, .k-button.k-focus:hover, .k-button.k-focus.k-hover {
  --INTERNAL--kendo-button-text: var( --kendo-button-focus-hover-text );
  --INTERNAL--kendo-button-bg: var( --kendo-button-focus-hover-bg );
  --INTERNAL--kendo-button-border: var( --kendo-button-focus-hover-border );
}
.k-button:focus::after, .k-button.k-focus::after {
  outline-color: var(--kendo-button-focus-outline, initial);
}
.k-button:active, .k-button.k-active {
  --INTERNAL--kendo-button-text: var( --kendo-button-active-text );
  --INTERNAL--kendo-button-bg: var( --kendo-button-active-bg );
  --INTERNAL--kendo-button-border: var( --kendo-button-active-border );
}
.k-button:active:hover, .k-button:active.k-hover, .k-button.k-active:hover, .k-button.k-active.k-hover {
  --INTERNAL--kendo-button-text: var( --kendo-button-active-hover-text );
  --INTERNAL--kendo-button-bg: var( --kendo-button-active-hover-bg );
  --INTERNAL--kendo-button-border: var( --kendo-button-active-hover-border );
}
.k-button.k-selected {
  --INTERNAL--kendo-button-text: var( --kendo-button-selected-text );
  --INTERNAL--kendo-button-bg: var( --kendo-button-selected-bg );
  --INTERNAL--kendo-button-border: var( --kendo-button-selected-border );
}
.k-button.k-selected:hover, .k-button.k-selected.k-hover {
  --INTERNAL--kendo-button-text: var( --kendo-button-selected-hover-text );
  --INTERNAL--kendo-button-bg: var( --kendo-button-selected-hover-bg );
  --INTERNAL--kendo-button-border: var( --kendo-button-selected-hover-border );
}

.k-button:disabled,
.k-button.k-disabled,
.k-disabled .k-button,
:disabled .k-button {
  --INTERNAL--kendo-button-text: var( --kendo-button-disabled-text );
  --INTERNAL--kendo-button-bg: var( --kendo-button-disabled-bg );
  --INTERNAL--kendo-button-border: var( --kendo-button-disabled-border );
}

.k-button-solid-base {
  --kendo-button-text: var( --kendo-button-solid-base-text, var(--kendo-color-on-base, #323130) );
  --kendo-button-bg: var( --kendo-button-solid-base-bg, var(--kendo-color-base, #ffffff) );
  --kendo-button-border: var( --kendo-button-solid-base-border, var(--kendo-color-border, #8a8886) );
  --kendo-button-hover-text: var( --kendo-button-solid-base-hover-text, var(--kendo-color-on-base, #323130) );
  --kendo-button-hover-bg: var( --kendo-button-solid-base-hover-bg, var(--kendo-color-base-hover, #f3f2f1) );
  --kendo-button-hover-border: var( --kendo-button-solid-base-hover-border, var(--kendo-color-border, #8a8886) );
  --kendo-button-focus-text: var( --kendo-button-solid-base-focus-text, var(--kendo-color-on-base, #323130) );
  --kendo-button-focus-bg: var( --kendo-button-solid-base-focus-bg, var(--kendo-color-base, #ffffff) );
  --kendo-button-focus-border: var( --kendo-button-solid-base-focus-border, var(--kendo-color-border, #8a8886) );
  --kendo-button-focus-outline: var( --kendo-button-solid-base-focus-outline, var(--kendo-color-on-base, #323130) );
  --kendo-button-focus-hover-text: var( --kendo-button-solid-base-focus-hover-text, var(--kendo-color-on-base, #323130) );
  --kendo-button-focus-hover-bg: var( --kendo-button-solid-base-focus-hover-bg, var(--kendo-color-base-hover, #f3f2f1) );
  --kendo-button-focus-hover-border: var( --kendo-button-solid-base-focus-hover-border, var(--kendo-color-border, #8a8886) );
  --kendo-button-active-text: var( --kendo-button-solid-base-active-text, var(--kendo-color-on-base, #323130) );
  --kendo-button-active-bg: var( --kendo-button-solid-base-active-bg, var(--kendo-color-base-active, #edebe9) );
  --kendo-button-active-border: var( --kendo-button-solid-base-active-border, var(--kendo-color-border, #8a8886) );
  --kendo-button-active-hover-text: var( --kendo-button-solid-base-active-hover-text, var(--kendo-color-on-base, #323130) );
  --kendo-button-active-hover-bg: var( --kendo-button-solid-base-active-hover-bg, var(--kendo-color-base-hover, #f3f2f1) );
  --kendo-button-active-hover-border: var( --kendo-button-solid-base-active-hover-border, var(--kendo-color-border, #8a8886) );
  --kendo-button-selected-text: var( --kendo-button-solid-base-selected-text, var(--kendo-color-on-base, #323130) );
  --kendo-button-selected-bg: var( --kendo-button-solid-base-selected-bg, var(--kendo-color-base-active, #edebe9) );
  --kendo-button-selected-border: var( --kendo-button-solid-base-selected-border, var(--kendo-color-border, #8a8886) );
  --kendo-button-selected-hover-text: var( --kendo-button-solid-base-selected-hover-text, var(--kendo-color-on-base, #323130) );
  --kendo-button-selected-hover-bg: var( --kendo-button-solid-base-selected-hover-bg, var(--kendo-color-base-hover, #f3f2f1) );
  --kendo-button-selected-hover-border: var( --kendo-button-solid-base-selected-hover-border, var(--kendo-color-border, #8a8886) );
  --kendo-button-disabled-text: var( --kendo-button-solid-base-disabled-text, color-mix(in srgb, var(--kendo-color-on-app-surface, #323130) 46%, transparent) );
  --kendo-button-disabled-bg: var( --kendo-button-solid-base-disabled-bg, color-mix(in srgb, var(--kendo-color-on-app-surface, #323130) 6%, transparent) );
  --kendo-button-disabled-border: var( --kendo-button-solid-base-disabled-border, transparent );
}

.k-button-solid-primary {
  --kendo-button-text: var( --kendo-button-solid-primary-text, var(--kendo-color-on-primary, #ffffff) );
  --kendo-button-bg: var( --kendo-button-solid-primary-bg, var(--kendo-color-primary, #0078d4) );
  --kendo-button-border: var( --kendo-button-solid-primary-border, var(--kendo-color-primary, #0078d4) );
  --kendo-button-hover-text: var( --kendo-button-solid-primary-hover-text, var(--kendo-color-on-primary, #ffffff) );
  --kendo-button-hover-bg: var( --kendo-button-solid-primary-hover-bg, var(--kendo-color-primary-hover, #106ebe) );
  --kendo-button-hover-border: var( --kendo-button-solid-primary-hover-border, var(--kendo-color-primary-hover, #106ebe) );
  --kendo-button-focus-text: var( --kendo-button-solid-primary-focus-text, var(--kendo-color-on-primary, #ffffff) );
  --kendo-button-focus-bg: var( --kendo-button-solid-primary-focus-bg, var(--kendo-color-primary, #0078d4) );
  --kendo-button-focus-border: var( --kendo-button-solid-primary-focus-border, var(--kendo-color-primary, #0078d4) );
  --kendo-button-focus-outline: var( --kendo-button-solid-primary-focus-outline, inherit );
  --kendo-button-focus-hover-text: var( --kendo-button-solid-primary-focus-hover-text, var(--kendo-color-on-primary, #ffffff) );
  --kendo-button-focus-hover-bg: var( --kendo-button-solid-primary-focus-hover-bg, var(--kendo-color-primary-hover, #106ebe) );
  --kendo-button-focus-hover-border: var( --kendo-button-solid-primary-focus-hover-border, var(--kendo-color-primary-hover, #106ebe) );
  --kendo-button-active-text: var( --kendo-button-solid-primary-active-text, var(--kendo-color-on-primary, #ffffff) );
  --kendo-button-active-bg: var( --kendo-button-solid-primary-active-bg, var(--kendo-color-primary-active, #005a9e) );
  --kendo-button-active-border: var( --kendo-button-solid-primary-active-border, var(--kendo-color-primary-active, #005a9e) );
  --kendo-button-active-hover-text: var( --kendo-button-solid-primary-active-hover-text, var(--kendo-color-on-primary, #ffffff) );
  --kendo-button-active-hover-bg: var( --kendo-button-solid-primary-active-hover-bg, var(--kendo-color-primary-hover, #106ebe) );
  --kendo-button-active-hover-border: var( --kendo-button-solid-primary-active-hover-border, var(--kendo-color-primary-hover, #106ebe) );
  --kendo-button-selected-text: var( --kendo-button-solid-primary-selected-text, var(--kendo-color-on-primary, #ffffff) );
  --kendo-button-selected-bg: var( --kendo-button-solid-primary-selected-bg, var(--kendo-color-primary-active, #005a9e) );
  --kendo-button-selected-border: var( --kendo-button-solid-primary-selected-border, var(--kendo-color-primary-active, #005a9e) );
  --kendo-button-selected-hover-text: var( --kendo-button-solid-primary-selected-hover-text, var(--kendo-color-on-primary, #ffffff) );
  --kendo-button-selected-hover-bg: var( --kendo-button-solid-primary-selected-hover-bg, var(--kendo-color-primary-hover, #106ebe) );
  --kendo-button-selected-hover-border: var( --kendo-button-solid-primary-selected-hover-border, var(--kendo-color-primary-hover, #106ebe) );
  --kendo-button-disabled-text: var( --kendo-button-solid-primary-disabled-text, color-mix(in srgb, var(--kendo-color-on-app-surface, #323130) 46%, transparent) );
  --kendo-button-disabled-bg: var( --kendo-button-solid-primary-disabled-bg, color-mix(in srgb, var(--kendo-color-on-app-surface, #323130) 6%, transparent) );
  --kendo-button-disabled-border: var( --kendo-button-solid-primary-disabled-border, transparent );
}

.k-button-solid-error {
  --kendo-button-text: var( --kendo-button-solid-error-text, var(--kendo-color-on-error, #ffffff) );
  --kendo-button-bg: var( --kendo-button-solid-error-bg, var(--kendo-color-error, #c2666b) );
  --kendo-button-border: var( --kendo-button-solid-error-border, var(--kendo-color-error, #c2666b) );
  --kendo-button-hover-text: var( --kendo-button-solid-error-hover-text, var(--kendo-color-on-error, #ffffff) );
  --kendo-button-hover-bg: var( --kendo-button-solid-error-hover-bg, var(--kendo-color-error-hover, #b85156) );
  --kendo-button-hover-border: var( --kendo-button-solid-error-hover-border, var(--kendo-color-error-hover, #b85156) );
  --kendo-button-focus-text: var( --kendo-button-solid-error-focus-text, var(--kendo-color-on-error, #ffffff) );
  --kendo-button-focus-bg: var( --kendo-button-solid-error-focus-bg, var(--kendo-color-error, #c2666b) );
  --kendo-button-focus-border: var( --kendo-button-solid-error-focus-border, var(--kendo-color-error, #c2666b) );
  --kendo-button-focus-outline: var( --kendo-button-solid-error-focus-outline, inherit );
  --kendo-button-focus-hover-text: var( --kendo-button-solid-error-focus-hover-text, var(--kendo-color-on-error, #ffffff) );
  --kendo-button-focus-hover-bg: var( --kendo-button-solid-error-focus-hover-bg, var(--kendo-color-error-hover, #b85156) );
  --kendo-button-focus-hover-border: var( --kendo-button-solid-error-focus-hover-border, var(--kendo-color-error-hover, #b85156) );
  --kendo-button-active-text: var( --kendo-button-solid-error-active-text, var(--kendo-color-on-error, #ffffff) );
  --kendo-button-active-bg: var( --kendo-button-solid-error-active-bg, var(--kendo-color-error-active, #ae3b41) );
  --kendo-button-active-border: var( --kendo-button-solid-error-active-border, var(--kendo-color-error-active, #ae3b41) );
  --kendo-button-active-hover-text: var( --kendo-button-solid-error-active-hover-text, var(--kendo-color-on-error, #ffffff) );
  --kendo-button-active-hover-bg: var( --kendo-button-solid-error-active-hover-bg, var(--kendo-color-error-hover, #b85156) );
  --kendo-button-active-hover-border: var( --kendo-button-solid-error-active-hover-border, var(--kendo-color-error-hover, #b85156) );
  --kendo-button-selected-text: var( --kendo-button-solid-error-selected-text, var(--kendo-color-on-error, #ffffff) );
  --kendo-button-selected-bg: var( --kendo-button-solid-error-selected-bg, var(--kendo-color-error-active, #ae3b41) );
  --kendo-button-selected-border: var( --kendo-button-solid-error-selected-border, var(--kendo-color-error-active, #ae3b41) );
  --kendo-button-selected-hover-text: var( --kendo-button-solid-error-selected-hover-text, var(--kendo-color-on-error, #ffffff) );
  --kendo-button-selected-hover-bg: var( --kendo-button-solid-error-selected-hover-bg, var(--kendo-color-error-hover, #b85156) );
  --kendo-button-selected-hover-border: var( --kendo-button-solid-error-selected-hover-border, var(--kendo-color-error-hover, #b85156) );
  --kendo-button-disabled-text: var( --kendo-button-solid-error-disabled-text, color-mix(in srgb, var(--kendo-color-on-app-surface, #323130) 46%, transparent) );
  --kendo-button-disabled-bg: var( --kendo-button-solid-error-disabled-bg, color-mix(in srgb, var(--kendo-color-on-app-surface, #323130) 6%, transparent) );
  --kendo-button-disabled-border: var( --kendo-button-solid-error-disabled-border, transparent );
}

.k-button-solid-success {
  --kendo-button-text: var( --kendo-button-solid-success-text, var(--kendo-color-on-success, #ffffff) );
  --kendo-button-bg: var( --kendo-button-solid-success-bg, var(--kendo-color-success, #55a554) );
  --kendo-button-border: var( --kendo-button-solid-success-border, var(--kendo-color-success, #55a554) );
  --kendo-button-hover-text: var( --kendo-button-solid-success-hover-text, var(--kendo-color-on-success, #ffffff) );
  --kendo-button-hover-bg: var( --kendo-button-solid-success-hover-bg, var(--kendo-color-success-hover, #3e973e) );
  --kendo-button-hover-border: var( --kendo-button-solid-success-hover-border, var(--kendo-color-success-hover, #3e973e) );
  --kendo-button-focus-text: var( --kendo-button-solid-success-focus-text, var(--kendo-color-on-success, #ffffff) );
  --kendo-button-focus-bg: var( --kendo-button-solid-success-focus-bg, var(--kendo-color-success, #55a554) );
  --kendo-button-focus-border: var( --kendo-button-solid-success-focus-border, var(--kendo-color-success, #55a554) );
  --kendo-button-focus-outline: var( --kendo-button-solid-success-focus-outline, inherit );
  --kendo-button-focus-hover-text: var( --kendo-button-solid-success-focus-hover-text, var(--kendo-color-on-success, #ffffff) );
  --kendo-button-focus-hover-bg: var( --kendo-button-solid-success-focus-hover-bg, var(--kendo-color-success-hover, #3e973e) );
  --kendo-button-focus-hover-border: var( --kendo-button-solid-success-focus-hover-border, var(--kendo-color-success-hover, #3e973e) );
  --kendo-button-active-text: var( --kendo-button-solid-success-active-text, var(--kendo-color-on-success, #ffffff) );
  --kendo-button-active-bg: var( --kendo-button-solid-success-active-bg, var(--kendo-color-success-active, #278a27) );
  --kendo-button-active-border: var( --kendo-button-solid-success-active-border, var(--kendo-color-success-active, #278a27) );
  --kendo-button-active-hover-text: var( --kendo-button-solid-success-active-hover-text, var(--kendo-color-on-success, #ffffff) );
  --kendo-button-active-hover-bg: var( --kendo-button-solid-success-active-hover-bg, var(--kendo-color-success-hover, #3e973e) );
  --kendo-button-active-hover-border: var( --kendo-button-solid-success-active-hover-border, var(--kendo-color-success-hover, #3e973e) );
  --kendo-button-selected-text: var( --kendo-button-solid-success-selected-text, var(--kendo-color-on-success, #ffffff) );
  --kendo-button-selected-bg: var( --kendo-button-solid-success-selected-bg, var(--kendo-color-success-active, #278a27) );
  --kendo-button-selected-border: var( --kendo-button-solid-success-selected-border, var(--kendo-color-success-active, #278a27) );
  --kendo-button-selected-hover-text: var( --kendo-button-solid-success-selected-hover-text, var(--kendo-color-on-success, #ffffff) );
  --kendo-button-selected-hover-bg: var( --kendo-button-solid-success-selected-hover-bg, var(--kendo-color-success-hover, #3e973e) );
  --kendo-button-selected-hover-border: var( --kendo-button-solid-success-selected-hover-border, var(--kendo-color-success-hover, #3e973e) );
  --kendo-button-disabled-text: var( --kendo-button-solid-success-disabled-text, color-mix(in srgb, var(--kendo-color-on-app-surface, #323130) 46%, transparent) );
  --kendo-button-disabled-bg: var( --kendo-button-solid-success-disabled-bg, color-mix(in srgb, var(--kendo-color-on-app-surface, #323130) 6%, transparent) );
  --kendo-button-disabled-border: var( --kendo-button-solid-success-disabled-border, transparent );
}

.k-button-solid-info {
  --kendo-button-text: var( --kendo-button-solid-info-text, var(--kendo-color-on-info, #ffffff) );
  --kendo-button-bg: var( --kendo-button-solid-info-bg, var(--kendo-color-info, #0a7eff) );
  --kendo-button-border: var( --kendo-button-solid-info-border, var(--kendo-color-info, #0a7eff) );
  --kendo-button-hover-text: var( --kendo-button-solid-info-hover-text, var(--kendo-color-on-info, #ffffff) );
  --kendo-button-hover-bg: var( --kendo-button-solid-info-hover-bg, var(--kendo-color-info-hover, #096edf) );
  --kendo-button-hover-border: var( --kendo-button-solid-info-hover-border, var(--kendo-color-info-hover, #096edf) );
  --kendo-button-focus-text: var( --kendo-button-solid-info-focus-text, var(--kendo-color-on-info, #ffffff) );
  --kendo-button-focus-bg: var( --kendo-button-solid-info-focus-bg, var(--kendo-color-info, #0a7eff) );
  --kendo-button-focus-border: var( --kendo-button-solid-info-focus-border, var(--kendo-color-info, #0a7eff) );
  --kendo-button-focus-outline: var( --kendo-button-solid-info-focus-outline, inherit );
  --kendo-button-focus-hover-text: var( --kendo-button-solid-info-focus-hover-text, var(--kendo-color-on-info, #ffffff) );
  --kendo-button-focus-hover-bg: var( --kendo-button-solid-info-focus-hover-bg, var(--kendo-color-info-hover, #096edf) );
  --kendo-button-focus-hover-border: var( --kendo-button-solid-info-focus-hover-border, var(--kendo-color-info-hover, #096edf) );
  --kendo-button-active-text: var( --kendo-button-solid-info-active-text, var(--kendo-color-on-info, #ffffff) );
  --kendo-button-active-bg: var( --kendo-button-solid-info-active-bg, var(--kendo-color-info-active, #085ebf) );
  --kendo-button-active-border: var( --kendo-button-solid-info-active-border, var(--kendo-color-info-active, #085ebf) );
  --kendo-button-active-hover-text: var( --kendo-button-solid-info-active-hover-text, var(--kendo-color-on-info, #ffffff) );
  --kendo-button-active-hover-bg: var( --kendo-button-solid-info-active-hover-bg, var(--kendo-color-info-hover, #096edf) );
  --kendo-button-active-hover-border: var( --kendo-button-solid-info-active-hover-border, var(--kendo-color-info-hover, #096edf) );
  --kendo-button-selected-text: var( --kendo-button-solid-info-selected-text, var(--kendo-color-on-info, #ffffff) );
  --kendo-button-selected-bg: var( --kendo-button-solid-info-selected-bg, var(--kendo-color-info-active, #085ebf) );
  --kendo-button-selected-border: var( --kendo-button-solid-info-selected-border, var(--kendo-color-info-active, #085ebf) );
  --kendo-button-selected-hover-text: var( --kendo-button-solid-info-selected-hover-text, var(--kendo-color-on-info, #ffffff) );
  --kendo-button-selected-hover-bg: var( --kendo-button-solid-info-selected-hover-bg, var(--kendo-color-info-hover, #096edf) );
  --kendo-button-selected-hover-border: var( --kendo-button-solid-info-selected-hover-border, var(--kendo-color-info-hover, #096edf) );
  --kendo-button-disabled-text: var( --kendo-button-solid-info-disabled-text, color-mix(in srgb, var(--kendo-color-on-app-surface, #323130) 46%, transparent) );
  --kendo-button-disabled-bg: var( --kendo-button-solid-info-disabled-bg, color-mix(in srgb, var(--kendo-color-on-app-surface, #323130) 6%, transparent) );
  --kendo-button-disabled-border: var( --kendo-button-solid-info-disabled-border, transparent );
}

.k-button-solid-secondary {
  --kendo-button-text: var( --kendo-button-solid-secondary-text, var(--kendo-color-on-secondary, #ffffff) );
  --kendo-button-bg: var( --kendo-button-solid-secondary-bg, var(--kendo-color-secondary, #979593) );
  --kendo-button-border: var( --kendo-button-solid-secondary-border, var(--kendo-color-secondary, #979593) );
  --kendo-button-hover-text: var( --kendo-button-solid-secondary-hover-text, var(--kendo-color-on-secondary, #ffffff) );
  --kendo-button-hover-bg: var( --kendo-button-solid-secondary-hover-bg, var(--kendo-color-secondary-hover, #8a8886) );
  --kendo-button-hover-border: var( --kendo-button-solid-secondary-hover-border, var(--kendo-color-secondary-hover, #8a8886) );
  --kendo-button-focus-text: var( --kendo-button-solid-secondary-focus-text, var(--kendo-color-on-secondary, #ffffff) );
  --kendo-button-focus-bg: var( --kendo-button-solid-secondary-focus-bg, var(--kendo-color-secondary, #979593) );
  --kendo-button-focus-border: var( --kendo-button-solid-secondary-focus-border, var(--kendo-color-secondary, #979593) );
  --kendo-button-focus-outline: var( --kendo-button-solid-secondary-focus-outline, inherit );
  --kendo-button-focus-hover-text: var( --kendo-button-solid-secondary-focus-hover-text, var(--kendo-color-on-secondary, #ffffff) );
  --kendo-button-focus-hover-bg: var( --kendo-button-solid-secondary-focus-hover-bg, var(--kendo-color-secondary-hover, #8a8886) );
  --kendo-button-focus-hover-border: var( --kendo-button-solid-secondary-focus-hover-border, var(--kendo-color-secondary-hover, #8a8886) );
  --kendo-button-active-text: var( --kendo-button-solid-secondary-active-text, var(--kendo-color-on-secondary, #ffffff) );
  --kendo-button-active-bg: var( --kendo-button-solid-secondary-active-bg, var(--kendo-color-secondary-active, #797775) );
  --kendo-button-active-border: var( --kendo-button-solid-secondary-active-border, var(--kendo-color-secondary-active, #797775) );
  --kendo-button-active-hover-text: var( --kendo-button-solid-secondary-active-hover-text, var(--kendo-color-on-secondary, #ffffff) );
  --kendo-button-active-hover-bg: var( --kendo-button-solid-secondary-active-hover-bg, var(--kendo-color-secondary-hover, #8a8886) );
  --kendo-button-active-hover-border: var( --kendo-button-solid-secondary-active-hover-border, var(--kendo-color-secondary-hover, #8a8886) );
  --kendo-button-selected-text: var( --kendo-button-solid-secondary-selected-text, var(--kendo-color-on-secondary, #ffffff) );
  --kendo-button-selected-bg: var( --kendo-button-solid-secondary-selected-bg, var(--kendo-color-secondary-active, #797775) );
  --kendo-button-selected-border: var( --kendo-button-solid-secondary-selected-border, var(--kendo-color-secondary-active, #797775) );
  --kendo-button-selected-hover-text: var( --kendo-button-solid-secondary-selected-hover-text, var(--kendo-color-on-secondary, #ffffff) );
  --kendo-button-selected-hover-bg: var( --kendo-button-solid-secondary-selected-hover-bg, var(--kendo-color-secondary-hover, #8a8886) );
  --kendo-button-selected-hover-border: var( --kendo-button-solid-secondary-selected-hover-border, var(--kendo-color-secondary-hover, #8a8886) );
  --kendo-button-disabled-text: var( --kendo-button-solid-secondary-disabled-text, color-mix(in srgb, var(--kendo-color-on-app-surface, #323130) 46%, transparent) );
  --kendo-button-disabled-bg: var( --kendo-button-solid-secondary-disabled-bg, color-mix(in srgb, var(--kendo-color-on-app-surface, #323130) 6%, transparent) );
  --kendo-button-disabled-border: var( --kendo-button-solid-secondary-disabled-border, transparent );
}

.k-button-solid-tertiary {
  --kendo-button-text: var( --kendo-button-solid-tertiary-text, var(--kendo-color-on-tertiary, #ffffff) );
  --kendo-button-bg: var( --kendo-button-solid-tertiary-bg, var(--kendo-color-tertiary, #2b88d8) );
  --kendo-button-border: var( --kendo-button-solid-tertiary-border, var(--kendo-color-tertiary, #2b88d8) );
  --kendo-button-hover-text: var( --kendo-button-solid-tertiary-hover-text, var(--kendo-color-on-tertiary, #ffffff) );
  --kendo-button-hover-bg: var( --kendo-button-solid-tertiary-hover-bg, var(--kendo-color-tertiary-hover, #287ec7) );
  --kendo-button-hover-border: var( --kendo-button-solid-tertiary-hover-border, var(--kendo-color-tertiary-hover, #287ec7) );
  --kendo-button-focus-text: var( --kendo-button-solid-tertiary-focus-text, var(--kendo-color-on-tertiary, #ffffff) );
  --kendo-button-focus-bg: var( --kendo-button-solid-tertiary-focus-bg, var(--kendo-color-tertiary, #2b88d8) );
  --kendo-button-focus-border: var( --kendo-button-solid-tertiary-focus-border, var(--kendo-color-tertiary, #2b88d8) );
  --kendo-button-focus-outline: var( --kendo-button-solid-tertiary-focus-outline, inherit );
  --kendo-button-focus-hover-text: var( --kendo-button-solid-tertiary-focus-hover-text, var(--kendo-color-on-tertiary, #ffffff) );
  --kendo-button-focus-hover-bg: var( --kendo-button-solid-tertiary-focus-hover-bg, var(--kendo-color-tertiary-hover, #287ec7) );
  --kendo-button-focus-hover-border: var( --kendo-button-solid-tertiary-focus-hover-border, var(--kendo-color-tertiary-hover, #287ec7) );
  --kendo-button-active-text: var( --kendo-button-solid-tertiary-active-text, var(--kendo-color-on-tertiary, #ffffff) );
  --kendo-button-active-bg: var( --kendo-button-solid-tertiary-active-bg, var(--kendo-color-tertiary-active, #2473b7) );
  --kendo-button-active-border: var( --kendo-button-solid-tertiary-active-border, var(--kendo-color-tertiary-active, #2473b7) );
  --kendo-button-active-hover-text: var( --kendo-button-solid-tertiary-active-hover-text, var(--kendo-color-on-tertiary, #ffffff) );
  --kendo-button-active-hover-bg: var( --kendo-button-solid-tertiary-active-hover-bg, var(--kendo-color-tertiary-hover, #287ec7) );
  --kendo-button-active-hover-border: var( --kendo-button-solid-tertiary-active-hover-border, var(--kendo-color-tertiary-hover, #287ec7) );
  --kendo-button-selected-text: var( --kendo-button-solid-tertiary-selected-text, var(--kendo-color-on-tertiary, #ffffff) );
  --kendo-button-selected-bg: var( --kendo-button-solid-tertiary-selected-bg, var(--kendo-color-tertiary-active, #2473b7) );
  --kendo-button-selected-border: var( --kendo-button-solid-tertiary-selected-border, var(--kendo-color-tertiary-active, #2473b7) );
  --kendo-button-selected-hover-text: var( --kendo-button-solid-tertiary-selected-hover-text, var(--kendo-color-on-tertiary, #ffffff) );
  --kendo-button-selected-hover-bg: var( --kendo-button-solid-tertiary-selected-hover-bg, var(--kendo-color-tertiary-hover, #287ec7) );
  --kendo-button-selected-hover-border: var( --kendo-button-solid-tertiary-selected-hover-border, var(--kendo-color-tertiary-hover, #287ec7) );
  --kendo-button-disabled-text: var( --kendo-button-solid-tertiary-disabled-text, color-mix(in srgb, var(--kendo-color-on-app-surface, #323130) 46%, transparent) );
  --kendo-button-disabled-bg: var( --kendo-button-solid-tertiary-disabled-bg, color-mix(in srgb, var(--kendo-color-on-app-surface, #323130) 6%, transparent) );
  --kendo-button-disabled-border: var( --kendo-button-solid-tertiary-disabled-border, transparent );
}

.k-button-solid-warning {
  --kendo-button-text: var( --kendo-button-solid-warning-text, var(--kendo-color-on-warning, #323130) );
  --kendo-button-bg: var( --kendo-button-solid-warning-bg, var(--kendo-color-warning, #ffc80a) );
  --kendo-button-border: var( --kendo-button-solid-warning-border, var(--kendo-color-warning, #ffc80a) );
  --kendo-button-hover-text: var( --kendo-button-solid-warning-hover-text, var(--kendo-color-on-warning, #323130) );
  --kendo-button-hover-bg: var( --kendo-button-solid-warning-hover-bg, var(--kendo-color-warning-hover, #f5c000) );
  --kendo-button-hover-border: var( --kendo-button-solid-warning-hover-border, var(--kendo-color-warning-hover, #f5c000) );
  --kendo-button-focus-text: var( --kendo-button-solid-warning-focus-text, var(--kendo-color-on-warning, #323130) );
  --kendo-button-focus-bg: var( --kendo-button-solid-warning-focus-bg, var(--kendo-color-warning, #ffc80a) );
  --kendo-button-focus-border: var( --kendo-button-solid-warning-focus-border, var(--kendo-color-warning, #ffc80a) );
  --kendo-button-focus-outline: var( --kendo-button-solid-warning-focus-outline, var(--kendo-color-app-surface, #ffffff) );
  --kendo-button-focus-hover-text: var( --kendo-button-solid-warning-focus-hover-text, var(--kendo-color-on-warning, #323130) );
  --kendo-button-focus-hover-bg: var( --kendo-button-solid-warning-focus-hover-bg, var(--kendo-color-warning-hover, #f5c000) );
  --kendo-button-focus-hover-border: var( --kendo-button-solid-warning-focus-hover-border, var(--kendo-color-warning-hover, #f5c000) );
  --kendo-button-active-text: var( --kendo-button-solid-warning-active-text, var(--kendo-color-on-warning, #323130) );
  --kendo-button-active-bg: var( --kendo-button-solid-warning-active-bg, var(--kendo-color-warning-active, #e0b000) );
  --kendo-button-active-border: var( --kendo-button-solid-warning-active-border, var(--kendo-color-warning-active, #e0b000) );
  --kendo-button-active-hover-text: var( --kendo-button-solid-warning-active-hover-text, var(--kendo-color-on-warning, #323130) );
  --kendo-button-active-hover-bg: var( --kendo-button-solid-warning-active-hover-bg, var(--kendo-color-warning-hover, #f5c000) );
  --kendo-button-active-hover-border: var( --kendo-button-solid-warning-active-hover-border, var(--kendo-color-warning-hover, #f5c000) );
  --kendo-button-selected-text: var( --kendo-button-solid-warning-selected-text, var(--kendo-color-on-warning, #323130) );
  --kendo-button-selected-bg: var( --kendo-button-solid-warning-selected-bg, var(--kendo-color-warning-active, #e0b000) );
  --kendo-button-selected-border: var( --kendo-button-solid-warning-selected-border, var(--kendo-color-warning-active, #e0b000) );
  --kendo-button-selected-hover-text: var( --kendo-button-solid-warning-selected-hover-text, var(--kendo-color-on-warning, #323130) );
  --kendo-button-selected-hover-bg: var( --kendo-button-solid-warning-selected-hover-bg, var(--kendo-color-warning-hover, #f5c000) );
  --kendo-button-selected-hover-border: var( --kendo-button-solid-warning-selected-hover-border, var(--kendo-color-warning-hover, #f5c000) );
  --kendo-button-disabled-text: var( --kendo-button-solid-warning-disabled-text, color-mix(in srgb, var(--kendo-color-on-app-surface, #323130) 46%, transparent) );
  --kendo-button-disabled-bg: var( --kendo-button-solid-warning-disabled-bg, color-mix(in srgb, var(--kendo-color-on-app-surface, #323130) 6%, transparent) );
  --kendo-button-disabled-border: var( --kendo-button-solid-warning-disabled-border, transparent );
}

.k-button-solid-dark {
  --kendo-button-text: var( --kendo-button-solid-dark-text, var(--kendo-color-on-dark, #ffffff) );
  --kendo-button-bg: var( --kendo-button-solid-dark-bg, var(--kendo-color-dark, #323130) );
  --kendo-button-border: var( --kendo-button-solid-dark-border, var(--kendo-color-dark, #323130) );
  --kendo-button-hover-text: var( --kendo-button-solid-dark-hover-text, var(--kendo-color-on-dark, #ffffff) );
  --kendo-button-hover-bg: var( --kendo-button-solid-dark-hover-bg, var(--kendo-color-dark-hover, #201f1e) );
  --kendo-button-hover-border: var( --kendo-button-solid-dark-hover-border, var(--kendo-color-dark-hover, #201f1e) );
  --kendo-button-focus-text: var( --kendo-button-solid-dark-focus-text, var(--kendo-color-on-dark, #ffffff) );
  --kendo-button-focus-bg: var( --kendo-button-solid-dark-focus-bg, var(--kendo-color-dark, #323130) );
  --kendo-button-focus-border: var( --kendo-button-solid-dark-focus-border, var(--kendo-color-dark, #323130) );
  --kendo-button-focus-outline: var( --kendo-button-solid-dark-focus-outline, var(--kendo-color-on-dark, #ffffff) );
  --kendo-button-focus-hover-text: var( --kendo-button-solid-dark-focus-hover-text, var(--kendo-color-on-dark, #ffffff) );
  --kendo-button-focus-hover-bg: var( --kendo-button-solid-dark-focus-hover-bg, var(--kendo-color-dark-hover, #201f1e) );
  --kendo-button-focus-hover-border: var( --kendo-button-solid-dark-focus-hover-border, var(--kendo-color-dark-hover, #201f1e) );
  --kendo-button-active-text: var( --kendo-button-solid-dark-active-text, var(--kendo-color-on-dark, #ffffff) );
  --kendo-button-active-bg: var( --kendo-button-solid-dark-active-bg, var(--kendo-color-dark-active, #000000) );
  --kendo-button-active-border: var( --kendo-button-solid-dark-active-border, var(--kendo-color-dark-active, #000000) );
  --kendo-button-active-hover-text: var( --kendo-button-solid-dark-active-hover-text, var(--kendo-color-on-dark, #ffffff) );
  --kendo-button-active-hover-bg: var( --kendo-button-solid-dark-active-hover-bg, var(--kendo-color-dark-hover, #201f1e) );
  --kendo-button-active-hover-border: var( --kendo-button-solid-dark-active-hover-border, var(--kendo-color-dark-hover, #201f1e) );
  --kendo-button-selected-text: var( --kendo-button-solid-dark-selected-text, var(--kendo-color-on-dark, #ffffff) );
  --kendo-button-selected-bg: var( --kendo-button-solid-dark-selected-bg, var(--kendo-color-dark-active, #000000) );
  --kendo-button-selected-border: var( --kendo-button-solid-dark-selected-border, var(--kendo-color-dark-active, #000000) );
  --kendo-button-selected-hover-text: var( --kendo-button-solid-dark-selected-hover-text, var(--kendo-color-on-dark, #ffffff) );
  --kendo-button-selected-hover-bg: var( --kendo-button-solid-dark-selected-hover-bg, var(--kendo-color-dark-hover, #201f1e) );
  --kendo-button-selected-hover-border: var( --kendo-button-solid-dark-selected-hover-border, var(--kendo-color-dark-hover, #201f1e) );
  --kendo-button-disabled-text: var( --kendo-button-solid-dark-disabled-text, color-mix(in srgb, var(--kendo-color-on-app-surface, #323130) 46%, transparent) );
  --kendo-button-disabled-bg: var( --kendo-button-solid-dark-disabled-bg, color-mix(in srgb, var(--kendo-color-on-app-surface, #323130) 6%, transparent) );
  --kendo-button-disabled-border: var( --kendo-button-solid-dark-disabled-border, transparent );
}

.k-button-solid-light {
  --kendo-button-text: var( --kendo-button-solid-light-text, var(--kendo-color-on-light, #323130) );
  --kendo-button-bg: var( --kendo-button-solid-light-bg, var(--kendo-color-light, #d2d0ce) );
  --kendo-button-border: var( --kendo-button-solid-light-border, var(--kendo-color-light, #d2d0ce) );
  --kendo-button-hover-text: var( --kendo-button-solid-light-hover-text, var(--kendo-color-on-light, #323130) );
  --kendo-button-hover-bg: var( --kendo-button-solid-light-hover-bg, var(--kendo-color-light-hover, #c8c6c4) );
  --kendo-button-hover-border: var( --kendo-button-solid-light-hover-border, var(--kendo-color-light-hover, #c8c6c4) );
  --kendo-button-focus-text: var( --kendo-button-solid-light-focus-text, var(--kendo-color-on-light, #323130) );
  --kendo-button-focus-bg: var( --kendo-button-solid-light-focus-bg, var(--kendo-color-light, #d2d0ce) );
  --kendo-button-focus-border: var( --kendo-button-solid-light-focus-border, var(--kendo-color-light, #d2d0ce) );
  --kendo-button-focus-outline: var( --kendo-button-solid-light-focus-outline, var(--kendo-color-app-surface, #ffffff) );
  --kendo-button-focus-hover-text: var( --kendo-button-solid-light-focus-hover-text, var(--kendo-color-on-light, #323130) );
  --kendo-button-focus-hover-bg: var( --kendo-button-solid-light-focus-hover-bg, var(--kendo-color-light-hover, #c8c6c4) );
  --kendo-button-focus-hover-border: var( --kendo-button-solid-light-focus-hover-border, var(--kendo-color-light-hover, #c8c6c4) );
  --kendo-button-active-text: var( --kendo-button-solid-light-active-text, var(--kendo-color-on-light, #323130) );
  --kendo-button-active-bg: var( --kendo-button-solid-light-active-bg, var(--kendo-color-light-active, #a19f9d) );
  --kendo-button-active-border: var( --kendo-button-solid-light-active-border, var(--kendo-color-light-active, #a19f9d) );
  --kendo-button-active-hover-text: var( --kendo-button-solid-light-active-hover-text, var(--kendo-color-on-light, #323130) );
  --kendo-button-active-hover-bg: var( --kendo-button-solid-light-active-hover-bg, var(--kendo-color-light-hover, #c8c6c4) );
  --kendo-button-active-hover-border: var( --kendo-button-solid-light-active-hover-border, var(--kendo-color-light-hover, #c8c6c4) );
  --kendo-button-selected-text: var( --kendo-button-solid-light-selected-text, var(--kendo-color-on-light, #323130) );
  --kendo-button-selected-bg: var( --kendo-button-solid-light-selected-bg, var(--kendo-color-light-active, #a19f9d) );
  --kendo-button-selected-border: var( --kendo-button-solid-light-selected-border, var(--kendo-color-light-active, #a19f9d) );
  --kendo-button-selected-hover-text: var( --kendo-button-solid-light-selected-hover-text, var(--kendo-color-on-light, #323130) );
  --kendo-button-selected-hover-bg: var( --kendo-button-solid-light-selected-hover-bg, var(--kendo-color-light-hover, #c8c6c4) );
  --kendo-button-selected-hover-border: var( --kendo-button-solid-light-selected-hover-border, var(--kendo-color-light-hover, #c8c6c4) );
  --kendo-button-disabled-text: var( --kendo-button-solid-light-disabled-text, color-mix(in srgb, var(--kendo-color-on-app-surface, #323130) 46%, transparent) );
  --kendo-button-disabled-bg: var( --kendo-button-solid-light-disabled-bg, color-mix(in srgb, var(--kendo-color-on-app-surface, #323130) 6%, transparent) );
  --kendo-button-disabled-border: var( --kendo-button-solid-light-disabled-border, transparent );
}

.k-button-outline-base {
  --kendo-button-text: var( --kendo-button-outline-base-text, var(--kendo-color-base-on-surface, #323130) );
  --kendo-button-bg: var( --kendo-button-outline-base-bg, transparent );
  --kendo-button-border: var( --kendo-button-outline-base-border, currentColor );
  --kendo-button-hover-text: var( --kendo-button-outline-base-hover-text, var(--kendo-color-base, #ffffff) );
  --kendo-button-hover-bg: var( --kendo-button-outline-base-hover-bg, var(--kendo-color-on-base, #323130) );
  --kendo-button-hover-border: var( --kendo-button-outline-base-hover-border, var(--kendo-color-on-base, #323130) );
  --kendo-button-focus-text: var( --kendo-button-outline-base-focus-text, var(--kendo-color-base-on-surface, #323130) );
  --kendo-button-focus-bg: var( --kendo-button-outline-base-focus-bg, transparent );
  --kendo-button-focus-border: var( --kendo-button-outline-base-focus-border, currentColor );
  --kendo-button-focus-outline: var( --kendo-button-outline-base-focus-outline, inherit );
  --kendo-button-focus-hover-text: var( --kendo-button-outline-base-focus-hover-text, var(--kendo-color-base, #ffffff) );
  --kendo-button-focus-hover-bg: var( --kendo-button-outline-base-focus-hover-bg, var(--kendo-color-on-base, #323130) );
  --kendo-button-focus-hover-border: var( --kendo-button-outline-base-focus-hover-border, var(--kendo-color-on-base, #323130) );
  --kendo-button-active-text: var( --kendo-button-outline-base-active-text, var(--kendo-color-base, #ffffff) );
  --kendo-button-active-bg: var( --kendo-button-outline-base-active-bg, var(--kendo-color-on-base, #323130) );
  --kendo-button-active-border: var( --kendo-button-outline-base-active-border, var(--kendo-color-on-base, #323130) );
  --kendo-button-active-hover-text: var( --kendo-button-outline-base-active-hover-text, var(--kendo-color-base, #ffffff) );
  --kendo-button-active-hover-bg: var( --kendo-button-outline-base-active-hover-bg, var(--kendo-color-on-base, #323130) );
  --kendo-button-active-hover-border: var( --kendo-button-outline-base-active-hover-border, var(--kendo-color-on-base, #323130) );
  --kendo-button-selected-text: var( --kendo-button-outline-base-selected-text, var(--kendo-color-base, #ffffff) );
  --kendo-button-selected-bg: var( --kendo-button-outline-base-selected-bg, var(--kendo-color-on-base, #323130) );
  --kendo-button-selected-border: var( --kendo-button-outline-base-selected-border, var(--kendo-color-on-base, #323130) );
  --kendo-button-selected-hover-text: var( --kendo-button-outline-base-selected-hover-text, var(--kendo-color-base, #ffffff) );
  --kendo-button-selected-hover-bg: var( --kendo-button-outline-base-selected-hover-bg, var(--kendo-color-on-base, #323130) );
  --kendo-button-selected-hover-border: var( --kendo-button-outline-base-selected-hover-border, var(--kendo-color-on-base, #323130) );
  --kendo-button-disabled-text: var( --kendo-button-outline-base-disabled-text, color-mix(in srgb, var(--kendo-color-on-app-surface, #323130) 46%, transparent) );
  --kendo-button-disabled-bg: var( --kendo-button-outline-base-disabled-bg, initial );
  --kendo-button-disabled-border: var( --kendo-button-outline-base-disabled-border, color-mix(in srgb, var(--kendo-color-on-app-surface, #323130) 46%, transparent) );
}

.k-button-outline-primary {
  --kendo-button-text: var( --kendo-button-outline-primary-text, var(--kendo-color-primary-on-surface, #0078d4) );
  --kendo-button-bg: var( --kendo-button-outline-primary-bg, transparent );
  --kendo-button-border: var( --kendo-button-outline-primary-border, currentColor );
  --kendo-button-hover-text: var( --kendo-button-outline-primary-hover-text, var(--kendo-color-on-primary, #ffffff) );
  --kendo-button-hover-bg: var( --kendo-button-outline-primary-hover-bg, var(--kendo-color-primary, #0078d4) );
  --kendo-button-hover-border: var( --kendo-button-outline-primary-hover-border, var(--kendo-color-primary, #0078d4) );
  --kendo-button-focus-text: var( --kendo-button-outline-primary-focus-text, var(--kendo-color-primary-on-surface, #0078d4) );
  --kendo-button-focus-bg: var( --kendo-button-outline-primary-focus-bg, transparent );
  --kendo-button-focus-border: var( --kendo-button-outline-primary-focus-border, var(--kendo-color-primary, #0078d4) );
  --kendo-button-focus-outline: var( --kendo-button-outline-primary-focus-outline, inherit );
  --kendo-button-focus-hover-text: var( --kendo-button-outline-primary-focus-hover-text, var(--kendo-color-on-primary, #ffffff) );
  --kendo-button-focus-hover-bg: var( --kendo-button-outline-primary-focus-hover-bg, var(--kendo-color-primary, #0078d4) );
  --kendo-button-focus-hover-border: var( --kendo-button-outline-primary-focus-hover-border, var(--kendo-color-primary, #0078d4) );
  --kendo-button-active-text: var( --kendo-button-outline-primary-active-text, var(--kendo-color-on-primary, #ffffff) );
  --kendo-button-active-bg: var( --kendo-button-outline-primary-active-bg, var(--kendo-color-primary, #0078d4) );
  --kendo-button-active-border: var( --kendo-button-outline-primary-active-border, var(--kendo-color-primary, #0078d4) );
  --kendo-button-active-hover-text: var( --kendo-button-outline-primary-active-hover-text, var(--kendo-color-on-primary, #ffffff) );
  --kendo-button-active-hover-bg: var( --kendo-button-outline-primary-active-hover-bg, var(--kendo-color-primary, #0078d4) );
  --kendo-button-active-hover-border: var( --kendo-button-outline-primary-active-hover-border, var(--kendo-color-primary, #0078d4) );
  --kendo-button-selected-text: var( --kendo-button-outline-primary-selected-text, var(--kendo-color-on-primary, #ffffff) );
  --kendo-button-selected-bg: var( --kendo-button-outline-primary-selected-bg, var(--kendo-color-primary, #0078d4) );
  --kendo-button-selected-border: var( --kendo-button-outline-primary-selected-border, var(--kendo-color-primary, #0078d4) );
  --kendo-button-selected-hover-text: var( --kendo-button-outline-primary-selected-hover-text, var(--kendo-color-on-primary, #ffffff) );
  --kendo-button-selected-hover-bg: var( --kendo-button-outline-primary-selected-hover-bg, var(--kendo-color-primary, #0078d4) );
  --kendo-button-selected-hover-border: var( --kendo-button-outline-primary-selected-hover-border, var(--kendo-color-primary, #0078d4) );
  --kendo-button-disabled-text: var( --kendo-button-outline-primary-disabled-text, color-mix(in srgb, var(--kendo-color-on-app-surface, #323130) 46%, transparent) );
  --kendo-button-disabled-bg: var( --kendo-button-outline-primary-disabled-bg, initial );
  --kendo-button-disabled-border: var( --kendo-button-outline-primary-disabled-border, color-mix(in srgb, var(--kendo-color-on-app-surface, #323130) 46%, transparent) );
}

.k-button-outline-error {
  --kendo-button-text: var( --kendo-button-outline-error-text, var(--kendo-color-error-on-surface, #a4262c) );
  --kendo-button-bg: var( --kendo-button-outline-error-bg, transparent );
  --kendo-button-border: var( --kendo-button-outline-error-border, currentColor );
  --kendo-button-hover-text: var( --kendo-button-outline-error-hover-text, var(--kendo-color-on-error, #ffffff) );
  --kendo-button-hover-bg: var( --kendo-button-outline-error-hover-bg, var(--kendo-color-error, #c2666b) );
  --kendo-button-hover-border: var( --kendo-button-outline-error-hover-border, var(--kendo-color-error, #c2666b) );
  --kendo-button-focus-text: var( --kendo-button-outline-error-focus-text, var(--kendo-color-error-on-surface, #a4262c) );
  --kendo-button-focus-bg: var( --kendo-button-outline-error-focus-bg, transparent );
  --kendo-button-focus-border: var( --kendo-button-outline-error-focus-border, var(--kendo-color-error, #c2666b) );
  --kendo-button-focus-outline: var( --kendo-button-outline-error-focus-outline, inherit );
  --kendo-button-focus-hover-text: var( --kendo-button-outline-error-focus-hover-text, var(--kendo-color-on-error, #ffffff) );
  --kendo-button-focus-hover-bg: var( --kendo-button-outline-error-focus-hover-bg, var(--kendo-color-error, #c2666b) );
  --kendo-button-focus-hover-border: var( --kendo-button-outline-error-focus-hover-border, var(--kendo-color-error, #c2666b) );
  --kendo-button-active-text: var( --kendo-button-outline-error-active-text, var(--kendo-color-on-error, #ffffff) );
  --kendo-button-active-bg: var( --kendo-button-outline-error-active-bg, var(--kendo-color-error, #c2666b) );
  --kendo-button-active-border: var( --kendo-button-outline-error-active-border, var(--kendo-color-error, #c2666b) );
  --kendo-button-active-hover-text: var( --kendo-button-outline-error-active-hover-text, var(--kendo-color-on-error, #ffffff) );
  --kendo-button-active-hover-bg: var( --kendo-button-outline-error-active-hover-bg, var(--kendo-color-error, #c2666b) );
  --kendo-button-active-hover-border: var( --kendo-button-outline-error-active-hover-border, var(--kendo-color-error, #c2666b) );
  --kendo-button-selected-text: var( --kendo-button-outline-error-selected-text, var(--kendo-color-on-error, #ffffff) );
  --kendo-button-selected-bg: var( --kendo-button-outline-error-selected-bg, var(--kendo-color-error, #c2666b) );
  --kendo-button-selected-border: var( --kendo-button-outline-error-selected-border, var(--kendo-color-error, #c2666b) );
  --kendo-button-selected-hover-text: var( --kendo-button-outline-error-selected-hover-text, var(--kendo-color-on-error, #ffffff) );
  --kendo-button-selected-hover-bg: var( --kendo-button-outline-error-selected-hover-bg, var(--kendo-color-error, #c2666b) );
  --kendo-button-selected-hover-border: var( --kendo-button-outline-error-selected-hover-border, var(--kendo-color-error, #c2666b) );
  --kendo-button-disabled-text: var( --kendo-button-outline-error-disabled-text, color-mix(in srgb, var(--kendo-color-on-app-surface, #323130) 46%, transparent) );
  --kendo-button-disabled-bg: var( --kendo-button-outline-error-disabled-bg, initial );
  --kendo-button-disabled-border: var( --kendo-button-outline-error-disabled-border, color-mix(in srgb, var(--kendo-color-on-app-surface, #323130) 46%, transparent) );
}

.k-button-outline-success {
  --kendo-button-text: var( --kendo-button-outline-success-text, var(--kendo-color-success-on-surface, #107c10) );
  --kendo-button-bg: var( --kendo-button-outline-success-bg, transparent );
  --kendo-button-border: var( --kendo-button-outline-success-border, currentColor );
  --kendo-button-hover-text: var( --kendo-button-outline-success-hover-text, var(--kendo-color-on-success, #ffffff) );
  --kendo-button-hover-bg: var( --kendo-button-outline-success-hover-bg, var(--kendo-color-success, #55a554) );
  --kendo-button-hover-border: var( --kendo-button-outline-success-hover-border, var(--kendo-color-success, #55a554) );
  --kendo-button-focus-text: var( --kendo-button-outline-success-focus-text, var(--kendo-color-success-on-surface, #107c10) );
  --kendo-button-focus-bg: var( --kendo-button-outline-success-focus-bg, transparent );
  --kendo-button-focus-border: var( --kendo-button-outline-success-focus-border, var(--kendo-color-success, #55a554) );
  --kendo-button-focus-outline: var( --kendo-button-outline-success-focus-outline, inherit );
  --kendo-button-focus-hover-text: var( --kendo-button-outline-success-focus-hover-text, var(--kendo-color-on-success, #ffffff) );
  --kendo-button-focus-hover-bg: var( --kendo-button-outline-success-focus-hover-bg, var(--kendo-color-success, #55a554) );
  --kendo-button-focus-hover-border: var( --kendo-button-outline-success-focus-hover-border, var(--kendo-color-success, #55a554) );
  --kendo-button-active-text: var( --kendo-button-outline-success-active-text, var(--kendo-color-on-success, #ffffff) );
  --kendo-button-active-bg: var( --kendo-button-outline-success-active-bg, var(--kendo-color-success, #55a554) );
  --kendo-button-active-border: var( --kendo-button-outline-success-active-border, var(--kendo-color-success, #55a554) );
  --kendo-button-active-hover-text: var( --kendo-button-outline-success-active-hover-text, var(--kendo-color-on-success, #ffffff) );
  --kendo-button-active-hover-bg: var( --kendo-button-outline-success-active-hover-bg, var(--kendo-color-success, #55a554) );
  --kendo-button-active-hover-border: var( --kendo-button-outline-success-active-hover-border, var(--kendo-color-success, #55a554) );
  --kendo-button-selected-text: var( --kendo-button-outline-success-selected-text, var(--kendo-color-on-success, #ffffff) );
  --kendo-button-selected-bg: var( --kendo-button-outline-success-selected-bg, var(--kendo-color-success, #55a554) );
  --kendo-button-selected-border: var( --kendo-button-outline-success-selected-border, var(--kendo-color-success, #55a554) );
  --kendo-button-selected-hover-text: var( --kendo-button-outline-success-selected-hover-text, var(--kendo-color-on-success, #ffffff) );
  --kendo-button-selected-hover-bg: var( --kendo-button-outline-success-selected-hover-bg, var(--kendo-color-success, #55a554) );
  --kendo-button-selected-hover-border: var( --kendo-button-outline-success-selected-hover-border, var(--kendo-color-success, #55a554) );
  --kendo-button-disabled-text: var( --kendo-button-outline-success-disabled-text, color-mix(in srgb, var(--kendo-color-on-app-surface, #323130) 46%, transparent) );
  --kendo-button-disabled-bg: var( --kendo-button-outline-success-disabled-bg, initial );
  --kendo-button-disabled-border: var( --kendo-button-outline-success-disabled-border, color-mix(in srgb, var(--kendo-color-on-app-surface, #323130) 46%, transparent) );
}

.k-button-outline-info {
  --kendo-button-text: var( --kendo-button-outline-info-text, var(--kendo-color-info-on-surface, #096edf) );
  --kendo-button-bg: var( --kendo-button-outline-info-bg, transparent );
  --kendo-button-border: var( --kendo-button-outline-info-border, currentColor );
  --kendo-button-hover-text: var( --kendo-button-outline-info-hover-text, var(--kendo-color-on-info, #ffffff) );
  --kendo-button-hover-bg: var( --kendo-button-outline-info-hover-bg, var(--kendo-color-info, #0a7eff) );
  --kendo-button-hover-border: var( --kendo-button-outline-info-hover-border, var(--kendo-color-info, #0a7eff) );
  --kendo-button-focus-text: var( --kendo-button-outline-info-focus-text, var(--kendo-color-info-on-surface, #096edf) );
  --kendo-button-focus-bg: var( --kendo-button-outline-info-focus-bg, transparent );
  --kendo-button-focus-border: var( --kendo-button-outline-info-focus-border, var(--kendo-color-info, #0a7eff) );
  --kendo-button-focus-outline: var( --kendo-button-outline-info-focus-outline, inherit );
  --kendo-button-focus-hover-text: var( --kendo-button-outline-info-focus-hover-text, var(--kendo-color-on-info, #ffffff) );
  --kendo-button-focus-hover-bg: var( --kendo-button-outline-info-focus-hover-bg, var(--kendo-color-info, #0a7eff) );
  --kendo-button-focus-hover-border: var( --kendo-button-outline-info-focus-hover-border, var(--kendo-color-info, #0a7eff) );
  --kendo-button-active-text: var( --kendo-button-outline-info-active-text, var(--kendo-color-on-info, #ffffff) );
  --kendo-button-active-bg: var( --kendo-button-outline-info-active-bg, var(--kendo-color-info, #0a7eff) );
  --kendo-button-active-border: var( --kendo-button-outline-info-active-border, var(--kendo-color-info, #0a7eff) );
  --kendo-button-active-hover-text: var( --kendo-button-outline-info-active-hover-text, var(--kendo-color-on-info, #ffffff) );
  --kendo-button-active-hover-bg: var( --kendo-button-outline-info-active-hover-bg, var(--kendo-color-info, #0a7eff) );
  --kendo-button-active-hover-border: var( --kendo-button-outline-info-active-hover-border, var(--kendo-color-info, #0a7eff) );
  --kendo-button-selected-text: var( --kendo-button-outline-info-selected-text, var(--kendo-color-on-info, #ffffff) );
  --kendo-button-selected-bg: var( --kendo-button-outline-info-selected-bg, var(--kendo-color-info, #0a7eff) );
  --kendo-button-selected-border: var( --kendo-button-outline-info-selected-border, var(--kendo-color-info, #0a7eff) );
  --kendo-button-selected-hover-text: var( --kendo-button-outline-info-selected-hover-text, var(--kendo-color-on-info, #ffffff) );
  --kendo-button-selected-hover-bg: var( --kendo-button-outline-info-selected-hover-bg, var(--kendo-color-info, #0a7eff) );
  --kendo-button-selected-hover-border: var( --kendo-button-outline-info-selected-hover-border, var(--kendo-color-info, #0a7eff) );
  --kendo-button-disabled-text: var( --kendo-button-outline-info-disabled-text, color-mix(in srgb, var(--kendo-color-on-app-surface, #323130) 46%, transparent) );
  --kendo-button-disabled-bg: var( --kendo-button-outline-info-disabled-bg, initial );
  --kendo-button-disabled-border: var( --kendo-button-outline-info-disabled-border, color-mix(in srgb, var(--kendo-color-on-app-surface, #323130) 46%, transparent) );
}

.k-button-outline-secondary {
  --kendo-button-text: var( --kendo-button-outline-secondary-text, var(--kendo-color-secondary-on-surface, #605e5c) );
  --kendo-button-bg: var( --kendo-button-outline-secondary-bg, transparent );
  --kendo-button-border: var( --kendo-button-outline-secondary-border, currentColor );
  --kendo-button-hover-text: var( --kendo-button-outline-secondary-hover-text, var(--kendo-color-on-secondary, #ffffff) );
  --kendo-button-hover-bg: var( --kendo-button-outline-secondary-hover-bg, var(--kendo-color-secondary, #979593) );
  --kendo-button-hover-border: var( --kendo-button-outline-secondary-hover-border, var(--kendo-color-secondary, #979593) );
  --kendo-button-focus-text: var( --kendo-button-outline-secondary-focus-text, var(--kendo-color-secondary-on-surface, #605e5c) );
  --kendo-button-focus-bg: var( --kendo-button-outline-secondary-focus-bg, transparent );
  --kendo-button-focus-border: var( --kendo-button-outline-secondary-focus-border, var(--kendo-color-secondary, #979593) );
  --kendo-button-focus-outline: var( --kendo-button-outline-secondary-focus-outline, inherit );
  --kendo-button-focus-hover-text: var( --kendo-button-outline-secondary-focus-hover-text, var(--kendo-color-on-secondary, #ffffff) );
  --kendo-button-focus-hover-bg: var( --kendo-button-outline-secondary-focus-hover-bg, var(--kendo-color-secondary, #979593) );
  --kendo-button-focus-hover-border: var( --kendo-button-outline-secondary-focus-hover-border, var(--kendo-color-secondary, #979593) );
  --kendo-button-active-text: var( --kendo-button-outline-secondary-active-text, var(--kendo-color-on-secondary, #ffffff) );
  --kendo-button-active-bg: var( --kendo-button-outline-secondary-active-bg, var(--kendo-color-secondary, #979593) );
  --kendo-button-active-border: var( --kendo-button-outline-secondary-active-border, var(--kendo-color-secondary, #979593) );
  --kendo-button-active-hover-text: var( --kendo-button-outline-secondary-active-hover-text, var(--kendo-color-on-secondary, #ffffff) );
  --kendo-button-active-hover-bg: var( --kendo-button-outline-secondary-active-hover-bg, var(--kendo-color-secondary, #979593) );
  --kendo-button-active-hover-border: var( --kendo-button-outline-secondary-active-hover-border, var(--kendo-color-secondary, #979593) );
  --kendo-button-selected-text: var( --kendo-button-outline-secondary-selected-text, var(--kendo-color-on-secondary, #ffffff) );
  --kendo-button-selected-bg: var( --kendo-button-outline-secondary-selected-bg, var(--kendo-color-secondary, #979593) );
  --kendo-button-selected-border: var( --kendo-button-outline-secondary-selected-border, var(--kendo-color-secondary, #979593) );
  --kendo-button-selected-hover-text: var( --kendo-button-outline-secondary-selected-hover-text, var(--kendo-color-on-secondary, #ffffff) );
  --kendo-button-selected-hover-bg: var( --kendo-button-outline-secondary-selected-hover-bg, var(--kendo-color-secondary, #979593) );
  --kendo-button-selected-hover-border: var( --kendo-button-outline-secondary-selected-hover-border, var(--kendo-color-secondary, #979593) );
  --kendo-button-disabled-text: var( --kendo-button-outline-secondary-disabled-text, color-mix(in srgb, var(--kendo-color-on-app-surface, #323130) 46%, transparent) );
  --kendo-button-disabled-bg: var( --kendo-button-outline-secondary-disabled-bg, initial );
  --kendo-button-disabled-border: var( --kendo-button-outline-secondary-disabled-border, color-mix(in srgb, var(--kendo-color-on-app-surface, #323130) 46%, transparent) );
}

.k-button-outline-tertiary {
  --kendo-button-text: var( --kendo-button-outline-tertiary-text, var(--kendo-color-tertiary-on-surface, #2b88d8) );
  --kendo-button-bg: var( --kendo-button-outline-tertiary-bg, transparent );
  --kendo-button-border: var( --kendo-button-outline-tertiary-border, currentColor );
  --kendo-button-hover-text: var( --kendo-button-outline-tertiary-hover-text, var(--kendo-color-on-tertiary, #ffffff) );
  --kendo-button-hover-bg: var( --kendo-button-outline-tertiary-hover-bg, var(--kendo-color-tertiary, #2b88d8) );
  --kendo-button-hover-border: var( --kendo-button-outline-tertiary-hover-border, var(--kendo-color-tertiary, #2b88d8) );
  --kendo-button-focus-text: var( --kendo-button-outline-tertiary-focus-text, var(--kendo-color-tertiary-on-surface, #2b88d8) );
  --kendo-button-focus-bg: var( --kendo-button-outline-tertiary-focus-bg, transparent );
  --kendo-button-focus-border: var( --kendo-button-outline-tertiary-focus-border, var(--kendo-color-tertiary, #2b88d8) );
  --kendo-button-focus-outline: var( --kendo-button-outline-tertiary-focus-outline, inherit );
  --kendo-button-focus-hover-text: var( --kendo-button-outline-tertiary-focus-hover-text, var(--kendo-color-on-tertiary, #ffffff) );
  --kendo-button-focus-hover-bg: var( --kendo-button-outline-tertiary-focus-hover-bg, var(--kendo-color-tertiary, #2b88d8) );
  --kendo-button-focus-hover-border: var( --kendo-button-outline-tertiary-focus-hover-border, var(--kendo-color-tertiary, #2b88d8) );
  --kendo-button-active-text: var( --kendo-button-outline-tertiary-active-text, var(--kendo-color-on-tertiary, #ffffff) );
  --kendo-button-active-bg: var( --kendo-button-outline-tertiary-active-bg, var(--kendo-color-tertiary, #2b88d8) );
  --kendo-button-active-border: var( --kendo-button-outline-tertiary-active-border, var(--kendo-color-tertiary, #2b88d8) );
  --kendo-button-active-hover-text: var( --kendo-button-outline-tertiary-active-hover-text, var(--kendo-color-on-tertiary, #ffffff) );
  --kendo-button-active-hover-bg: var( --kendo-button-outline-tertiary-active-hover-bg, var(--kendo-color-tertiary, #2b88d8) );
  --kendo-button-active-hover-border: var( --kendo-button-outline-tertiary-active-hover-border, var(--kendo-color-tertiary, #2b88d8) );
  --kendo-button-selected-text: var( --kendo-button-outline-tertiary-selected-text, var(--kendo-color-on-tertiary, #ffffff) );
  --kendo-button-selected-bg: var( --kendo-button-outline-tertiary-selected-bg, var(--kendo-color-tertiary, #2b88d8) );
  --kendo-button-selected-border: var( --kendo-button-outline-tertiary-selected-border, var(--kendo-color-tertiary, #2b88d8) );
  --kendo-button-selected-hover-text: var( --kendo-button-outline-tertiary-selected-hover-text, var(--kendo-color-on-tertiary, #ffffff) );
  --kendo-button-selected-hover-bg: var( --kendo-button-outline-tertiary-selected-hover-bg, var(--kendo-color-tertiary, #2b88d8) );
  --kendo-button-selected-hover-border: var( --kendo-button-outline-tertiary-selected-hover-border, var(--kendo-color-tertiary, #2b88d8) );
  --kendo-button-disabled-text: var( --kendo-button-outline-tertiary-disabled-text, color-mix(in srgb, var(--kendo-color-on-app-surface, #323130) 46%, transparent) );
  --kendo-button-disabled-bg: var( --kendo-button-outline-tertiary-disabled-bg, initial );
  --kendo-button-disabled-border: var( --kendo-button-outline-tertiary-disabled-border, color-mix(in srgb, var(--kendo-color-on-app-surface, #323130) 46%, transparent) );
}

.k-button-outline-warning {
  --kendo-button-text: var( --kendo-button-outline-warning-text, var(--kendo-color-warning-on-surface, #7a6000) );
  --kendo-button-bg: var( --kendo-button-outline-warning-bg, transparent );
  --kendo-button-border: var( --kendo-button-outline-warning-border, currentColor );
  --kendo-button-hover-text: var( --kendo-button-outline-warning-hover-text, var(--kendo-color-on-warning, #323130) );
  --kendo-button-hover-bg: var( --kendo-button-outline-warning-hover-bg, var(--kendo-color-warning, #ffc80a) );
  --kendo-button-hover-border: var( --kendo-button-outline-warning-hover-border, var(--kendo-color-warning, #ffc80a) );
  --kendo-button-focus-text: var( --kendo-button-outline-warning-focus-text, var(--kendo-color-warning-on-surface, #7a6000) );
  --kendo-button-focus-bg: var( --kendo-button-outline-warning-focus-bg, transparent );
  --kendo-button-focus-border: var( --kendo-button-outline-warning-focus-border, var(--kendo-color-warning-on-surface, #7a6000) );
  --kendo-button-focus-outline: var( --kendo-button-outline-warning-focus-outline, inherit );
  --kendo-button-focus-hover-text: var( --kendo-button-outline-warning-focus-hover-text, var(--kendo-color-on-warning, #323130) );
  --kendo-button-focus-hover-bg: var( --kendo-button-outline-warning-focus-hover-bg, var(--kendo-color-warning, #ffc80a) );
  --kendo-button-focus-hover-border: var( --kendo-button-outline-warning-focus-hover-border, var(--kendo-color-warning, #ffc80a) );
  --kendo-button-active-text: var( --kendo-button-outline-warning-active-text, var(--kendo-color-on-warning, #323130) );
  --kendo-button-active-bg: var( --kendo-button-outline-warning-active-bg, var(--kendo-color-warning, #ffc80a) );
  --kendo-button-active-border: var( --kendo-button-outline-warning-active-border, var(--kendo-color-warning, #ffc80a) );
  --kendo-button-active-hover-text: var( --kendo-button-outline-warning-active-hover-text, var(--kendo-color-on-warning, #323130) );
  --kendo-button-active-hover-bg: var( --kendo-button-outline-warning-active-hover-bg, var(--kendo-color-warning, #ffc80a) );
  --kendo-button-active-hover-border: var( --kendo-button-outline-warning-active-hover-border, var(--kendo-color-warning, #ffc80a) );
  --kendo-button-selected-text: var( --kendo-button-outline-warning-selected-text, var(--kendo-color-on-warning, #323130) );
  --kendo-button-selected-bg: var( --kendo-button-outline-warning-selected-bg, var(--kendo-color-warning, #ffc80a) );
  --kendo-button-selected-border: var( --kendo-button-outline-warning-selected-border, var(--kendo-color-warning, #ffc80a) );
  --kendo-button-selected-hover-text: var( --kendo-button-outline-warning-selected-hover-text, var(--kendo-color-on-warning, #323130) );
  --kendo-button-selected-hover-bg: var( --kendo-button-outline-warning-selected-hover-bg, var(--kendo-color-warning, #ffc80a) );
  --kendo-button-selected-hover-border: var( --kendo-button-outline-warning-selected-hover-border, var(--kendo-color-warning, #ffc80a) );
  --kendo-button-disabled-text: var( --kendo-button-outline-warning-disabled-text, color-mix(in srgb, var(--kendo-color-on-app-surface, #323130) 46%, transparent) );
  --kendo-button-disabled-bg: var( --kendo-button-outline-warning-disabled-bg, initial );
  --kendo-button-disabled-border: var( --kendo-button-outline-warning-disabled-border, color-mix(in srgb, var(--kendo-color-on-app-surface, #323130) 46%, transparent) );
}

.k-button-outline-dark {
  --kendo-button-text: var( --kendo-button-outline-dark-text, var(--kendo-color-dark-on-surface, #323130) );
  --kendo-button-bg: var( --kendo-button-outline-dark-bg, transparent );
  --kendo-button-border: var( --kendo-button-outline-dark-border, currentColor );
  --kendo-button-hover-text: var( --kendo-button-outline-dark-hover-text, var(--kendo-color-on-dark, #ffffff) );
  --kendo-button-hover-bg: var( --kendo-button-outline-dark-hover-bg, var(--kendo-color-dark, #323130) );
  --kendo-button-hover-border: var( --kendo-button-outline-dark-hover-border, var(--kendo-color-dark, #323130) );
  --kendo-button-focus-text: var( --kendo-button-outline-dark-focus-text, var(--kendo-color-dark-on-surface, #323130) );
  --kendo-button-focus-bg: var( --kendo-button-outline-dark-focus-bg, transparent );
  --kendo-button-focus-border: var( --kendo-button-outline-dark-focus-border, var(--kendo-color-dark, #323130) );
  --kendo-button-focus-outline: var( --kendo-button-outline-dark-focus-outline, inherit );
  --kendo-button-focus-hover-text: var( --kendo-button-outline-dark-focus-hover-text, var(--kendo-color-on-dark, #ffffff) );
  --kendo-button-focus-hover-bg: var( --kendo-button-outline-dark-focus-hover-bg, var(--kendo-color-dark, #323130) );
  --kendo-button-focus-hover-border: var( --kendo-button-outline-dark-focus-hover-border, var(--kendo-color-dark, #323130) );
  --kendo-button-active-text: var( --kendo-button-outline-dark-active-text, var(--kendo-color-on-dark, #ffffff) );
  --kendo-button-active-bg: var( --kendo-button-outline-dark-active-bg, var(--kendo-color-dark, #323130) );
  --kendo-button-active-border: var( --kendo-button-outline-dark-active-border, var(--kendo-color-dark, #323130) );
  --kendo-button-active-hover-text: var( --kendo-button-outline-dark-active-hover-text, var(--kendo-color-on-dark, #ffffff) );
  --kendo-button-active-hover-bg: var( --kendo-button-outline-dark-active-hover-bg, var(--kendo-color-dark, #323130) );
  --kendo-button-active-hover-border: var( --kendo-button-outline-dark-active-hover-border, var(--kendo-color-dark, #323130) );
  --kendo-button-selected-text: var( --kendo-button-outline-dark-selected-text, var(--kendo-color-on-dark, #ffffff) );
  --kendo-button-selected-bg: var( --kendo-button-outline-dark-selected-bg, var(--kendo-color-dark, #323130) );
  --kendo-button-selected-border: var( --kendo-button-outline-dark-selected-border, var(--kendo-color-dark, #323130) );
  --kendo-button-selected-hover-text: var( --kendo-button-outline-dark-selected-hover-text, var(--kendo-color-on-dark, #ffffff) );
  --kendo-button-selected-hover-bg: var( --kendo-button-outline-dark-selected-hover-bg, var(--kendo-color-dark, #323130) );
  --kendo-button-selected-hover-border: var( --kendo-button-outline-dark-selected-hover-border, var(--kendo-color-dark, #323130) );
  --kendo-button-disabled-text: var( --kendo-button-outline-dark-disabled-text, color-mix(in srgb, var(--kendo-color-on-app-surface, #323130) 46%, transparent) );
  --kendo-button-disabled-bg: var( --kendo-button-outline-dark-disabled-bg, initial );
  --kendo-button-disabled-border: var( --kendo-button-outline-dark-disabled-border, color-mix(in srgb, var(--kendo-color-on-app-surface, #323130) 46%, transparent) );
}

.k-button-outline-light {
  --kendo-button-text: var( --kendo-button-outline-light-text, var(--kendo-color-light-on-surface, #d2d0ce) );
  --kendo-button-bg: var( --kendo-button-outline-light-bg, transparent );
  --kendo-button-border: var( --kendo-button-outline-light-border, currentColor );
  --kendo-button-hover-text: var( --kendo-button-outline-light-hover-text, var(--kendo-color-on-light, #323130) );
  --kendo-button-hover-bg: var( --kendo-button-outline-light-hover-bg, var(--kendo-color-light, #d2d0ce) );
  --kendo-button-hover-border: var( --kendo-button-outline-light-hover-border, var(--kendo-color-light, #d2d0ce) );
  --kendo-button-focus-text: var( --kendo-button-outline-light-focus-text, var(--kendo-color-light-on-surface, #d2d0ce) );
  --kendo-button-focus-bg: var( --kendo-button-outline-light-focus-bg, transparent );
  --kendo-button-focus-border: var( --kendo-button-outline-light-focus-border, var(--kendo-color-light, #d2d0ce) );
  --kendo-button-focus-outline: var( --kendo-button-outline-light-focus-outline, inherit );
  --kendo-button-focus-hover-text: var( --kendo-button-outline-light-focus-hover-text, var(--kendo-color-on-light, #323130) );
  --kendo-button-focus-hover-bg: var( --kendo-button-outline-light-focus-hover-bg, var(--kendo-color-light, #d2d0ce) );
  --kendo-button-focus-hover-border: var( --kendo-button-outline-light-focus-hover-border, var(--kendo-color-light, #d2d0ce) );
  --kendo-button-active-text: var( --kendo-button-outline-light-active-text, var(--kendo-color-on-light, #323130) );
  --kendo-button-active-bg: var( --kendo-button-outline-light-active-bg, var(--kendo-color-light, #d2d0ce) );
  --kendo-button-active-border: var( --kendo-button-outline-light-active-border, var(--kendo-color-light, #d2d0ce) );
  --kendo-button-active-hover-text: var( --kendo-button-outline-light-active-hover-text, var(--kendo-color-on-light, #323130) );
  --kendo-button-active-hover-bg: var( --kendo-button-outline-light-active-hover-bg, var(--kendo-color-light, #d2d0ce) );
  --kendo-button-active-hover-border: var( --kendo-button-outline-light-active-hover-border, var(--kendo-color-light, #d2d0ce) );
  --kendo-button-selected-text: var( --kendo-button-outline-light-selected-text, var(--kendo-color-on-light, #323130) );
  --kendo-button-selected-bg: var( --kendo-button-outline-light-selected-bg, var(--kendo-color-light, #d2d0ce) );
  --kendo-button-selected-border: var( --kendo-button-outline-light-selected-border, var(--kendo-color-light, #d2d0ce) );
  --kendo-button-selected-hover-text: var( --kendo-button-outline-light-selected-hover-text, var(--kendo-color-on-light, #323130) );
  --kendo-button-selected-hover-bg: var( --kendo-button-outline-light-selected-hover-bg, var(--kendo-color-light, #d2d0ce) );
  --kendo-button-selected-hover-border: var( --kendo-button-outline-light-selected-hover-border, var(--kendo-color-light, #d2d0ce) );
  --kendo-button-disabled-text: var( --kendo-button-outline-light-disabled-text, color-mix(in srgb, var(--kendo-color-on-app-surface, #323130) 46%, transparent) );
  --kendo-button-disabled-bg: var( --kendo-button-outline-light-disabled-bg, initial );
  --kendo-button-disabled-border: var( --kendo-button-outline-light-disabled-border, color-mix(in srgb, var(--kendo-color-on-app-surface, #323130) 46%, transparent) );
}

.k-button-link-base {
  --kendo-button-text: var( --kendo-button-link-base-text, var(--kendo-color-on-base, #323130) );
  --kendo-button-bg: var( --kendo-button-link-base-bg, transparent );
  --kendo-button-border: var( --kendo-button-link-base-border, transparent );
  --kendo-button-hover-text: var( --kendo-button-link-base-hover-text, var(--kendo-color-on-base, #323130) );
  --kendo-button-hover-bg: var( --kendo-button-link-base-hover-bg, transparent );
  --kendo-button-hover-border: var( --kendo-button-link-base-hover-border, transparent );
  --kendo-button-focus-text: var( --kendo-button-link-base-focus-text, var(--kendo-color-on-base, #323130) );
  --kendo-button-focus-bg: var( --kendo-button-link-base-focus-bg, transparent );
  --kendo-button-focus-border: var( --kendo-button-link-base-focus-border, transparent );
  --kendo-button-focus-outline: var( --kendo-button-link-base-focus-outline, var(--kendo-color-base-subtle-active, #d2d0ce) );
  --kendo-button-focus-hover-text: var( --kendo-button-link-base-focus-hover-text, var(--kendo-color-on-base, #323130) );
  --kendo-button-focus-hover-bg: var( --kendo-button-link-base-focus-hover-bg, transparent );
  --kendo-button-focus-hover-border: var( --kendo-button-link-base-focus-hover-border, var(--kendo-color-base-subtle-active, #d2d0ce) );
  --kendo-button-active-text: var( --kendo-button-link-base-active-text, var(--kendo-color-on-base, #323130) );
  --kendo-button-active-bg: var( --kendo-button-link-base-active-bg, transparent );
  --kendo-button-active-border: var( --kendo-button-link-base-active-border, transparent );
  --kendo-button-active-hover-text: var( --kendo-button-link-base-active-hover-text, var(--kendo-color-on-base, #323130) );
  --kendo-button-active-hover-bg: var( --kendo-button-link-base-active-hover-bg, transparent );
  --kendo-button-active-hover-border: var( --kendo-button-link-base-active-hover-border, transparent );
  --kendo-button-selected-text: var( --kendo-button-link-base-selected-text, var(--kendo-color-on-base, #323130) );
  --kendo-button-selected-bg: var( --kendo-button-link-base-selected-bg, transparent );
  --kendo-button-selected-border: var( --kendo-button-link-base-selected-border, transparent );
  --kendo-button-selected-hover-text: var( --kendo-button-link-base-selected-hover-text, var(--kendo-color-on-base, #323130) );
  --kendo-button-selected-hover-bg: var( --kendo-button-link-base-selected-hover-bg, transparent );
  --kendo-button-selected-hover-border: var( --kendo-button-link-base-selected-hover-border, transparent );
  --kendo-button-disabled-text: var( --kendo-button-link-base-disabled-text, color-mix(in srgb, var(--kendo-color-on-app-surface, #323130) 46%, transparent) );
  --kendo-button-disabled-bg: var( --kendo-button-link-base-disabled-bg, initial );
  --kendo-button-disabled-border: var( --kendo-button-link-base-disabled-border, initial );
}

.k-button-link-primary {
  --kendo-button-text: var( --kendo-button-link-primary-text, var(--kendo-color-primary, #0078d4) );
  --kendo-button-bg: var( --kendo-button-link-primary-bg, transparent );
  --kendo-button-border: var( --kendo-button-link-primary-border, transparent );
  --kendo-button-hover-text: var( --kendo-button-link-primary-hover-text, var(--kendo-color-primary-hover, #106ebe) );
  --kendo-button-hover-bg: var( --kendo-button-link-primary-hover-bg, transparent );
  --kendo-button-hover-border: var( --kendo-button-link-primary-hover-border, transparent );
  --kendo-button-focus-text: var( --kendo-button-link-primary-focus-text, var(--kendo-color-primary, #0078d4) );
  --kendo-button-focus-bg: var( --kendo-button-link-primary-focus-bg, transparent );
  --kendo-button-focus-border: var( --kendo-button-link-primary-focus-border, transparent );
  --kendo-button-focus-outline: var( --kendo-button-link-primary-focus-outline, var(--kendo-color-primary-subtle-active, #abd1ef) );
  --kendo-button-focus-hover-text: var( --kendo-button-link-primary-focus-hover-text, var(--kendo-color-primary-hover, #106ebe) );
  --kendo-button-focus-hover-bg: var( --kendo-button-link-primary-focus-hover-bg, transparent );
  --kendo-button-focus-hover-border: var( --kendo-button-link-primary-focus-hover-border, transparent );
  --kendo-button-active-text: var( --kendo-button-link-primary-active-text, var(--kendo-color-primary-active, #005a9e) );
  --kendo-button-active-bg: var( --kendo-button-link-primary-active-bg, transparent );
  --kendo-button-active-border: var( --kendo-button-link-primary-active-border, transparent );
  --kendo-button-active-hover-text: var( --kendo-button-link-primary-active-hover-text, var(--kendo-color-primary-hover, #106ebe) );
  --kendo-button-active-hover-bg: var( --kendo-button-link-primary-active-hover-bg, transparent );
  --kendo-button-active-hover-border: var( --kendo-button-link-primary-active-hover-border, transparent );
  --kendo-button-selected-text: var( --kendo-button-link-primary-selected-text, var(--kendo-color-primary-active, #005a9e) );
  --kendo-button-selected-bg: var( --kendo-button-link-primary-selected-bg, transparent );
  --kendo-button-selected-border: var( --kendo-button-link-primary-selected-border, transparent );
  --kendo-button-selected-hover-text: var( --kendo-button-link-primary-selected-hover-text, var(--kendo-color-primary-hover, #106ebe) );
  --kendo-button-selected-hover-bg: var( --kendo-button-link-primary-selected-hover-bg, transparent );
  --kendo-button-selected-hover-border: var( --kendo-button-link-primary-selected-hover-border, transparent );
  --kendo-button-disabled-text: var( --kendo-button-link-primary-disabled-text, color-mix(in srgb, var(--kendo-color-on-app-surface, #323130) 46%, transparent) );
  --kendo-button-disabled-bg: var( --kendo-button-link-primary-disabled-bg, initial );
  --kendo-button-disabled-border: var( --kendo-button-link-primary-disabled-border, initial );
}

.k-button-link-error {
  --kendo-button-text: var( --kendo-button-link-error-text, var(--kendo-color-error, #c2666b) );
  --kendo-button-bg: var( --kendo-button-link-error-bg, transparent );
  --kendo-button-border: var( --kendo-button-link-error-border, transparent );
  --kendo-button-hover-text: var( --kendo-button-link-error-hover-text, var(--kendo-color-error-hover, #b85156) );
  --kendo-button-hover-bg: var( --kendo-button-link-error-hover-bg, transparent );
  --kendo-button-hover-border: var( --kendo-button-link-error-hover-border, transparent );
  --kendo-button-focus-text: var( --kendo-button-link-error-focus-text, var(--kendo-color-error, #c2666b) );
  --kendo-button-focus-bg: var( --kendo-button-link-error-focus-bg, transparent );
  --kendo-button-focus-border: var( --kendo-button-link-error-focus-border, transparent );
  --kendo-button-focus-outline: var( --kendo-button-link-error-focus-outline, var(--kendo-color-error-subtle-active, #e9bcbf) );
  --kendo-button-focus-hover-text: var( --kendo-button-link-error-focus-hover-text, var(--kendo-color-error-hover, #b85156) );
  --kendo-button-focus-hover-bg: var( --kendo-button-link-error-focus-hover-bg, transparent );
  --kendo-button-focus-hover-border: var( --kendo-button-link-error-focus-hover-border, transparent );
  --kendo-button-active-text: var( --kendo-button-link-error-active-text, var(--kendo-color-error-active, #ae3b41) );
  --kendo-button-active-bg: var( --kendo-button-link-error-active-bg, transparent );
  --kendo-button-active-border: var( --kendo-button-link-error-active-border, transparent );
  --kendo-button-active-hover-text: var( --kendo-button-link-error-active-hover-text, var(--kendo-color-error-hover, #b85156) );
  --kendo-button-active-hover-bg: var( --kendo-button-link-error-active-hover-bg, transparent );
  --kendo-button-active-hover-border: var( --kendo-button-link-error-active-hover-border, transparent );
  --kendo-button-selected-text: var( --kendo-button-link-error-selected-text, var(--kendo-color-error-active, #ae3b41) );
  --kendo-button-selected-bg: var( --kendo-button-link-error-selected-bg, transparent );
  --kendo-button-selected-border: var( --kendo-button-link-error-selected-border, transparent );
  --kendo-button-selected-hover-text: var( --kendo-button-link-error-selected-hover-text, var(--kendo-color-error-hover, #b85156) );
  --kendo-button-selected-hover-bg: var( --kendo-button-link-error-selected-hover-bg, transparent );
  --kendo-button-selected-hover-border: var( --kendo-button-link-error-selected-hover-border, transparent );
  --kendo-button-disabled-text: var( --kendo-button-link-error-disabled-text, color-mix(in srgb, var(--kendo-color-on-app-surface, #323130) 46%, transparent) );
  --kendo-button-disabled-bg: var( --kendo-button-link-error-disabled-bg, initial );
  --kendo-button-disabled-border: var( --kendo-button-link-error-disabled-border, initial );
}

.k-button-link-success {
  --kendo-button-text: var( --kendo-button-link-success-text, var(--kendo-color-success, #55a554) );
  --kendo-button-bg: var( --kendo-button-link-success-bg, transparent );
  --kendo-button-border: var( --kendo-button-link-success-border, transparent );
  --kendo-button-hover-text: var( --kendo-button-link-success-hover-text, var(--kendo-color-success-hover, #3e973e) );
  --kendo-button-hover-bg: var( --kendo-button-link-success-hover-bg, transparent );
  --kendo-button-hover-border: var( --kendo-button-link-success-hover-border, transparent );
  --kendo-button-focus-text: var( --kendo-button-link-success-focus-text, var(--kendo-color-success, #55a554) );
  --kendo-button-focus-bg: var( --kendo-button-link-success-focus-bg, transparent );
  --kendo-button-focus-border: var( --kendo-button-link-success-focus-border, transparent );
  --kendo-button-focus-outline: var( --kendo-button-link-success-focus-outline, var(--kendo-color-success-subtle-active, #b1dbaf) );
  --kendo-button-focus-hover-text: var( --kendo-button-link-success-focus-hover-text, var(--kendo-color-success-hover, #3e973e) );
  --kendo-button-focus-hover-bg: var( --kendo-button-link-success-focus-hover-bg, transparent );
  --kendo-button-focus-hover-border: var( --kendo-button-link-success-focus-hover-border, transparent );
  --kendo-button-active-text: var( --kendo-button-link-success-active-text, var(--kendo-color-success-active, #278a27) );
  --kendo-button-active-bg: var( --kendo-button-link-success-active-bg, transparent );
  --kendo-button-active-border: var( --kendo-button-link-success-active-border, transparent );
  --kendo-button-active-hover-text: var( --kendo-button-link-success-active-hover-text, var(--kendo-color-success-hover, #3e973e) );
  --kendo-button-active-hover-bg: var( --kendo-button-link-success-active-hover-bg, transparent );
  --kendo-button-active-hover-border: var( --kendo-button-link-success-active-hover-border, transparent );
  --kendo-button-selected-text: var( --kendo-button-link-success-selected-text, var(--kendo-color-success-active, #278a27) );
  --kendo-button-selected-bg: var( --kendo-button-link-success-selected-bg, transparent );
  --kendo-button-selected-border: var( --kendo-button-link-success-selected-border, transparent );
  --kendo-button-selected-hover-text: var( --kendo-button-link-success-selected-hover-text, var(--kendo-color-success-hover, #3e973e) );
  --kendo-button-selected-hover-bg: var( --kendo-button-link-success-selected-hover-bg, transparent );
  --kendo-button-selected-hover-border: var( --kendo-button-link-success-selected-hover-border, transparent );
  --kendo-button-disabled-text: var( --kendo-button-link-success-disabled-text, color-mix(in srgb, var(--kendo-color-on-app-surface, #323130) 46%, transparent) );
  --kendo-button-disabled-bg: var( --kendo-button-link-success-disabled-bg, initial );
  --kendo-button-disabled-border: var( --kendo-button-link-success-disabled-border, initial );
}

.k-button-link-info {
  --kendo-button-text: var( --kendo-button-link-info-text, var(--kendo-color-info, #0a7eff) );
  --kendo-button-bg: var( --kendo-button-link-info-bg, transparent );
  --kendo-button-border: var( --kendo-button-link-info-border, transparent );
  --kendo-button-hover-text: var( --kendo-button-link-info-hover-text, var(--kendo-color-info-hover, #096edf) );
  --kendo-button-hover-bg: var( --kendo-button-link-info-hover-bg, transparent );
  --kendo-button-hover-border: var( --kendo-button-link-info-hover-border, transparent );
  --kendo-button-focus-text: var( --kendo-button-link-info-focus-text, var(--kendo-color-info, #0a7eff) );
  --kendo-button-focus-bg: var( --kendo-button-link-info-focus-bg, transparent );
  --kendo-button-focus-border: var( --kendo-button-link-info-focus-border, transparent );
  --kendo-button-focus-outline: var( --kendo-button-link-info-focus-outline, var(--kendo-color-info-subtle-active, #8dc3ff) );
  --kendo-button-focus-hover-text: var( --kendo-button-link-info-focus-hover-text, var(--kendo-color-info-hover, #096edf) );
  --kendo-button-focus-hover-bg: var( --kendo-button-link-info-focus-hover-bg, transparent );
  --kendo-button-focus-hover-border: var( --kendo-button-link-info-focus-hover-border, transparent );
  --kendo-button-active-text: var( --kendo-button-link-info-active-text, var(--kendo-color-info-active, #085ebf) );
  --kendo-button-active-bg: var( --kendo-button-link-info-active-bg, transparent );
  --kendo-button-active-border: var( --kendo-button-link-info-active-border, transparent );
  --kendo-button-active-hover-text: var( --kendo-button-link-info-active-hover-text, var(--kendo-color-info-hover, #096edf) );
  --kendo-button-active-hover-bg: var( --kendo-button-link-info-active-hover-bg, transparent );
  --kendo-button-active-hover-border: var( --kendo-button-link-info-active-hover-border, transparent );
  --kendo-button-selected-text: var( --kendo-button-link-info-selected-text, var(--kendo-color-info-active, #085ebf) );
  --kendo-button-selected-bg: var( --kendo-button-link-info-selected-bg, transparent );
  --kendo-button-selected-border: var( --kendo-button-link-info-selected-border, transparent );
  --kendo-button-selected-hover-text: var( --kendo-button-link-info-selected-hover-text, var(--kendo-color-info-hover, #096edf) );
  --kendo-button-selected-hover-bg: var( --kendo-button-link-info-selected-hover-bg, transparent );
  --kendo-button-selected-hover-border: var( --kendo-button-link-info-selected-hover-border, transparent );
  --kendo-button-disabled-text: var( --kendo-button-link-info-disabled-text, color-mix(in srgb, var(--kendo-color-on-app-surface, #323130) 46%, transparent) );
  --kendo-button-disabled-bg: var( --kendo-button-link-info-disabled-bg, initial );
  --kendo-button-disabled-border: var( --kendo-button-link-info-disabled-border, initial );
}

.k-button-link-secondary {
  --kendo-button-text: var( --kendo-button-link-secondary-text, var(--kendo-color-secondary, #979593) );
  --kendo-button-bg: var( --kendo-button-link-secondary-bg, transparent );
  --kendo-button-border: var( --kendo-button-link-secondary-border, transparent );
  --kendo-button-hover-text: var( --kendo-button-link-secondary-hover-text, var(--kendo-color-secondary-hover, #8a8886) );
  --kendo-button-hover-bg: var( --kendo-button-link-secondary-hover-bg, transparent );
  --kendo-button-hover-border: var( --kendo-button-link-secondary-hover-border, transparent );
  --kendo-button-focus-text: var( --kendo-button-link-secondary-focus-text, var(--kendo-color-secondary, #979593) );
  --kendo-button-focus-bg: var( --kendo-button-link-secondary-focus-bg, transparent );
  --kendo-button-focus-border: var( --kendo-button-link-secondary-focus-border, transparent );
  --kendo-button-focus-outline: var( --kendo-button-link-secondary-focus-outline, var(--kendo-color-secondary-subtle-active, #edebe9) );
  --kendo-button-focus-hover-text: var( --kendo-button-link-secondary-focus-hover-text, var(--kendo-color-secondary-hover, #8a8886) );
  --kendo-button-focus-hover-bg: var( --kendo-button-link-secondary-focus-hover-bg, transparent );
  --kendo-button-focus-hover-border: var( --kendo-button-link-secondary-focus-hover-border, transparent );
  --kendo-button-active-text: var( --kendo-button-link-secondary-active-text, var(--kendo-color-secondary-active, #797775) );
  --kendo-button-active-bg: var( --kendo-button-link-secondary-active-bg, transparent );
  --kendo-button-active-border: var( --kendo-button-link-secondary-active-border, transparent );
  --kendo-button-active-hover-text: var( --kendo-button-link-secondary-active-hover-text, var(--kendo-color-secondary-hover, #8a8886) );
  --kendo-button-active-hover-bg: var( --kendo-button-link-secondary-active-hover-bg, transparent );
  --kendo-button-active-hover-border: var( --kendo-button-link-secondary-active-hover-border, transparent );
  --kendo-button-selected-text: var( --kendo-button-link-secondary-selected-text, var(--kendo-color-secondary-active, #797775) );
  --kendo-button-selected-bg: var( --kendo-button-link-secondary-selected-bg, transparent );
  --kendo-button-selected-border: var( --kendo-button-link-secondary-selected-border, transparent );
  --kendo-button-selected-hover-text: var( --kendo-button-link-secondary-selected-hover-text, var(--kendo-color-secondary-hover, #8a8886) );
  --kendo-button-selected-hover-bg: var( --kendo-button-link-secondary-selected-hover-bg, transparent );
  --kendo-button-selected-hover-border: var( --kendo-button-link-secondary-selected-hover-border, transparent );
  --kendo-button-disabled-text: var( --kendo-button-link-secondary-disabled-text, color-mix(in srgb, var(--kendo-color-on-app-surface, #323130) 46%, transparent) );
  --kendo-button-disabled-bg: var( --kendo-button-link-secondary-disabled-bg, initial );
  --kendo-button-disabled-border: var( --kendo-button-link-secondary-disabled-border, initial );
}

.k-button-link-tertiary {
  --kendo-button-text: var( --kendo-button-link-tertiary-text, var(--kendo-color-tertiary, #2b88d8) );
  --kendo-button-bg: var( --kendo-button-link-tertiary-bg, transparent );
  --kendo-button-border: var( --kendo-button-link-tertiary-border, transparent );
  --kendo-button-hover-text: var( --kendo-button-link-tertiary-hover-text, var(--kendo-color-tertiary-hover, #287ec7) );
  --kendo-button-hover-bg: var( --kendo-button-link-tertiary-hover-bg, transparent );
  --kendo-button-hover-border: var( --kendo-button-link-tertiary-hover-border, transparent );
  --kendo-button-focus-text: var( --kendo-button-link-tertiary-focus-text, var(--kendo-color-tertiary, #2b88d8) );
  --kendo-button-focus-bg: var( --kendo-button-link-tertiary-focus-bg, transparent );
  --kendo-button-focus-border: var( --kendo-button-link-tertiary-focus-border, transparent );
  --kendo-button-focus-outline: var( --kendo-button-link-tertiary-focus-outline, var(--kendo-color-tertiary-subtle-active, #aacfef) );
  --kendo-button-focus-hover-text: var( --kendo-button-link-tertiary-focus-hover-text, var(--kendo-color-tertiary-hover, #287ec7) );
  --kendo-button-focus-hover-bg: var( --kendo-button-link-tertiary-focus-hover-bg, transparent );
  --kendo-button-focus-hover-border: var( --kendo-button-link-tertiary-focus-hover-border, transparent );
  --kendo-button-active-text: var( --kendo-button-link-tertiary-active-text, var(--kendo-color-tertiary-active, #2473b7) );
  --kendo-button-active-bg: var( --kendo-button-link-tertiary-active-bg, transparent );
  --kendo-button-active-border: var( --kendo-button-link-tertiary-active-border, transparent );
  --kendo-button-active-hover-text: var( --kendo-button-link-tertiary-active-hover-text, var(--kendo-color-tertiary-hover, #287ec7) );
  --kendo-button-active-hover-bg: var( --kendo-button-link-tertiary-active-hover-bg, transparent );
  --kendo-button-active-hover-border: var( --kendo-button-link-tertiary-active-hover-border, transparent );
  --kendo-button-selected-text: var( --kendo-button-link-tertiary-selected-text, var(--kendo-color-tertiary-active, #2473b7) );
  --kendo-button-selected-bg: var( --kendo-button-link-tertiary-selected-bg, transparent );
  --kendo-button-selected-border: var( --kendo-button-link-tertiary-selected-border, transparent );
  --kendo-button-selected-hover-text: var( --kendo-button-link-tertiary-selected-hover-text, var(--kendo-color-tertiary-hover, #287ec7) );
  --kendo-button-selected-hover-bg: var( --kendo-button-link-tertiary-selected-hover-bg, transparent );
  --kendo-button-selected-hover-border: var( --kendo-button-link-tertiary-selected-hover-border, transparent );
  --kendo-button-disabled-text: var( --kendo-button-link-tertiary-disabled-text, color-mix(in srgb, var(--kendo-color-on-app-surface, #323130) 46%, transparent) );
  --kendo-button-disabled-bg: var( --kendo-button-link-tertiary-disabled-bg, initial );
  --kendo-button-disabled-border: var( --kendo-button-link-tertiary-disabled-border, initial );
}

.k-button-link-warning {
  --kendo-button-text: var( --kendo-button-link-warning-text, var(--kendo-color-warning, #ffc80a) );
  --kendo-button-bg: var( --kendo-button-link-warning-bg, transparent );
  --kendo-button-border: var( --kendo-button-link-warning-border, transparent );
  --kendo-button-hover-text: var( --kendo-button-link-warning-hover-text, var(--kendo-color-warning-hover, #f5c000) );
  --kendo-button-hover-bg: var( --kendo-button-link-warning-hover-bg, transparent );
  --kendo-button-hover-border: var( --kendo-button-link-warning-hover-border, transparent );
  --kendo-button-focus-text: var( --kendo-button-link-warning-focus-text, var(--kendo-color-warning, #ffc80a) );
  --kendo-button-focus-bg: var( --kendo-button-link-warning-focus-bg, transparent );
  --kendo-button-focus-border: var( --kendo-button-link-warning-focus-border, var(--kendo-color-warning-subtle-active, #ffe58d) );
  --kendo-button-focus-outline: var( --kendo-button-link-warning-focus-outline,  );
  --kendo-button-focus-hover-text: var( --kendo-button-link-warning-focus-hover-text, var(--kendo-color-warning-hover, #f5c000) );
  --kendo-button-focus-hover-bg: var( --kendo-button-link-warning-focus-hover-bg, transparent );
  --kendo-button-focus-hover-border: var( --kendo-button-link-warning-focus-hover-border, transparent );
  --kendo-button-active-text: var( --kendo-button-link-warning-active-text, var(--kendo-color-warning-active, #e0b000) );
  --kendo-button-active-bg: var( --kendo-button-link-warning-active-bg, transparent );
  --kendo-button-active-border: var( --kendo-button-link-warning-active-border, transparent );
  --kendo-button-active-hover-text: var( --kendo-button-link-warning-active-hover-text, var(--kendo-color-warning-hover, #f5c000) );
  --kendo-button-active-hover-bg: var( --kendo-button-link-warning-active-hover-bg, transparent );
  --kendo-button-active-hover-border: var( --kendo-button-link-warning-active-hover-border, transparent );
  --kendo-button-selected-text: var( --kendo-button-link-warning-selected-text, var(--kendo-color-warning-active, #e0b000) );
  --kendo-button-selected-bg: var( --kendo-button-link-warning-selected-bg, transparent );
  --kendo-button-selected-border: var( --kendo-button-link-warning-selected-border, transparent );
  --kendo-button-selected-hover-text: var( --kendo-button-link-warning-selected-hover-text, var(--kendo-color-warning-hover, #f5c000) );
  --kendo-button-selected-hover-bg: var( --kendo-button-link-warning-selected-hover-bg, transparent );
  --kendo-button-selected-hover-border: var( --kendo-button-link-warning-selected-hover-border, transparent );
  --kendo-button-disabled-text: var( --kendo-button-link-warning-disabled-text, color-mix(in srgb, var(--kendo-color-on-app-surface, #323130) 46%, transparent) );
  --kendo-button-disabled-bg: var( --kendo-button-link-warning-disabled-bg, initial );
  --kendo-button-disabled-border: var( --kendo-button-link-warning-disabled-border, initial );
}

.k-button-link-dark {
  --kendo-button-text: var( --kendo-button-link-dark-text, var(--kendo-color-dark, #323130) );
  --kendo-button-bg: var( --kendo-button-link-dark-bg, transparent );
  --kendo-button-border: var( --kendo-button-link-dark-border, transparent );
  --kendo-button-hover-text: var( --kendo-button-link-dark-hover-text, var(--kendo-color-dark-hover, #201f1e) );
  --kendo-button-hover-bg: var( --kendo-button-link-dark-hover-bg, transparent );
  --kendo-button-hover-border: var( --kendo-button-link-dark-hover-border, transparent );
  --kendo-button-focus-text: var( --kendo-button-link-dark-focus-text, var(--kendo-color-dark, #323130) );
  --kendo-button-focus-bg: var( --kendo-button-link-dark-focus-bg, transparent );
  --kendo-button-focus-border: var( --kendo-button-link-dark-focus-border, var(--kendo-color-dark-subtle-active, #8a8886) );
  --kendo-button-focus-outline: var( --kendo-button-link-dark-focus-outline,  );
  --kendo-button-focus-hover-text: var( --kendo-button-link-dark-focus-hover-text, var(--kendo-color-dark-hover, #201f1e) );
  --kendo-button-focus-hover-bg: var( --kendo-button-link-dark-focus-hover-bg, transparent );
  --kendo-button-focus-hover-border: var( --kendo-button-link-dark-focus-hover-border, transparent );
  --kendo-button-active-text: var( --kendo-button-link-dark-active-text, var(--kendo-color-dark-active, #000000) );
  --kendo-button-active-bg: var( --kendo-button-link-dark-active-bg, transparent );
  --kendo-button-active-border: var( --kendo-button-link-dark-active-border, transparent );
  --kendo-button-active-hover-text: var( --kendo-button-link-dark-active-hover-text, var(--kendo-color-dark-hover, #201f1e) );
  --kendo-button-active-hover-bg: var( --kendo-button-link-dark-active-hover-bg, transparent );
  --kendo-button-active-hover-border: var( --kendo-button-link-dark-active-hover-border, transparent );
  --kendo-button-selected-text: var( --kendo-button-link-dark-selected-text, var(--kendo-color-dark-active, #000000) );
  --kendo-button-selected-bg: var( --kendo-button-link-dark-selected-bg, transparent );
  --kendo-button-selected-border: var( --kendo-button-link-dark-selected-border, transparent );
  --kendo-button-selected-hover-text: var( --kendo-button-link-dark-selected-hover-text, var(--kendo-color-dark-hover, #201f1e) );
  --kendo-button-selected-hover-bg: var( --kendo-button-link-dark-selected-hover-bg, transparent );
  --kendo-button-selected-hover-border: var( --kendo-button-link-dark-selected-hover-border, transparent );
  --kendo-button-disabled-text: var( --kendo-button-link-dark-disabled-text, color-mix(in srgb, var(--kendo-color-on-app-surface, #323130) 46%, transparent) );
  --kendo-button-disabled-bg: var( --kendo-button-link-dark-disabled-bg, initial );
  --kendo-button-disabled-border: var( --kendo-button-link-dark-disabled-border, initial );
}

.k-button-link-light {
  --kendo-button-text: var( --kendo-button-link-light-text, var(--kendo-color-light, #d2d0ce) );
  --kendo-button-bg: var( --kendo-button-link-light-bg, transparent );
  --kendo-button-border: var( --kendo-button-link-light-border, transparent );
  --kendo-button-hover-text: var( --kendo-button-link-light-hover-text, var(--kendo-color-light-hover, #c8c6c4) );
  --kendo-button-hover-bg: var( --kendo-button-link-light-hover-bg, transparent );
  --kendo-button-hover-border: var( --kendo-button-link-light-hover-border, transparent );
  --kendo-button-focus-text: var( --kendo-button-link-light-focus-text, var(--kendo-color-light, #d2d0ce) );
  --kendo-button-focus-bg: var( --kendo-button-link-light-focus-bg, transparent );
  --kendo-button-focus-border: var( --kendo-button-link-light-focus-border, var(--kendo-color-light-subtle-active, #edebe9) );
  --kendo-button-focus-outline: var( --kendo-button-link-light-focus-outline,  );
  --kendo-button-focus-hover-text: var( --kendo-button-link-light-focus-hover-text, var(--kendo-color-light-hover, #c8c6c4) );
  --kendo-button-focus-hover-bg: var( --kendo-button-link-light-focus-hover-bg, transparent );
  --kendo-button-focus-hover-border: var( --kendo-button-link-light-focus-hover-border, transparent );
  --kendo-button-active-text: var( --kendo-button-link-light-active-text, var(--kendo-color-light-active, #a19f9d) );
  --kendo-button-active-bg: var( --kendo-button-link-light-active-bg, transparent );
  --kendo-button-active-border: var( --kendo-button-link-light-active-border, transparent );
  --kendo-button-active-hover-text: var( --kendo-button-link-light-active-hover-text, var(--kendo-color-light-hover, #c8c6c4) );
  --kendo-button-active-hover-bg: var( --kendo-button-link-light-active-hover-bg, transparent );
  --kendo-button-active-hover-border: var( --kendo-button-link-light-active-hover-border, transparent );
  --kendo-button-selected-text: var( --kendo-button-link-light-selected-text, var(--kendo-color-light-active, #a19f9d) );
  --kendo-button-selected-bg: var( --kendo-button-link-light-selected-bg, transparent );
  --kendo-button-selected-border: var( --kendo-button-link-light-selected-border, transparent );
  --kendo-button-selected-hover-text: var( --kendo-button-link-light-selected-hover-text, var(--kendo-color-light-hover, #c8c6c4) );
  --kendo-button-selected-hover-bg: var( --kendo-button-link-light-selected-hover-bg, transparent );
  --kendo-button-selected-hover-border: var( --kendo-button-link-light-selected-hover-border, transparent );
  --kendo-button-disabled-text: var( --kendo-button-link-light-disabled-text, color-mix(in srgb, var(--kendo-color-on-app-surface, #323130) 46%, transparent) );
  --kendo-button-disabled-bg: var( --kendo-button-link-light-disabled-bg, initial );
  --kendo-button-disabled-border: var( --kendo-button-link-light-disabled-border, initial );
}

.k-button-clear-base {
  --kendo-button-text: var( --kendo-button-clear-base-text, var(--kendo-color-base-on-surface, #323130) );
  --kendo-button-bg: var( --kendo-button-clear-base-bg, transparent );
  --kendo-button-border: var( --kendo-button-clear-base-border, transparent );
  --kendo-button-hover-text: var( --kendo-button-clear-base-hover-text, var(--kendo-color-base-on-surface, #323130) );
  --kendo-button-hover-bg: var( --kendo-button-clear-base-hover-bg, transparent );
  --kendo-button-hover-border: var( --kendo-button-clear-base-hover-border, transparent );
  --kendo-button-focus-text: var( --kendo-button-clear-base-focus-text, var(--kendo-color-base-on-surface, #323130) );
  --kendo-button-focus-bg: var( --kendo-button-clear-base-focus-bg, var(--kendo-color-base-subtle, #edebe9) );
  --kendo-button-focus-border: var( --kendo-button-clear-base-focus-border, transparent );
  --kendo-button-focus-outline: var( --kendo-button-clear-base-focus-outline, var(--kendo-color-base-active, #edebe9) );
  --kendo-button-focus-hover-text: var( --kendo-button-clear-base-focus-hover-text, var(--kendo-color-base-on-surface, #323130) );
  --kendo-button-focus-hover-bg: var( --kendo-button-clear-base-focus-hover-bg, transparent );
  --kendo-button-focus-hover-border: var( --kendo-button-clear-base-focus-hover-border, transparent );
  --kendo-button-active-text: var( --kendo-button-clear-base-active-text, var(--kendo-color-base-on-surface, #323130) );
  --kendo-button-active-bg: var( --kendo-button-clear-base-active-bg, transparent );
  --kendo-button-active-border: var( --kendo-button-clear-base-active-border, transparent );
  --kendo-button-active-hover-text: var( --kendo-button-clear-base-active-hover-text, var(--kendo-color-base-on-surface, #323130) );
  --kendo-button-active-hover-bg: var( --kendo-button-clear-base-active-hover-bg, transparent );
  --kendo-button-active-hover-border: var( --kendo-button-clear-base-active-hover-border, transparent );
  --kendo-button-selected-text: var( --kendo-button-clear-base-selected-text, var(--kendo-color-base-on-surface, #323130) );
  --kendo-button-selected-bg: var( --kendo-button-clear-base-selected-bg, transparent );
  --kendo-button-selected-border: var( --kendo-button-clear-base-selected-border, transparent );
  --kendo-button-selected-hover-text: var( --kendo-button-clear-base-selected-hover-text, var(--kendo-color-base-on-surface, #323130) );
  --kendo-button-selected-hover-bg: var( --kendo-button-clear-base-selected-hover-bg, transparent );
  --kendo-button-selected-hover-border: var( --kendo-button-clear-base-selected-hover-border, transparent );
  --kendo-button-disabled-text: var( --kendo-button-clear-base-disabled-text, color-mix(in srgb, var(--kendo-color-on-app-surface, #323130) 46%, transparent) );
  --kendo-button-disabled-bg: var( --kendo-button-clear-base-disabled-bg, initial );
  --kendo-button-disabled-border: var( --kendo-button-clear-base-disabled-border, initial );
}

.k-button-clear-primary {
  --kendo-button-text: var( --kendo-button-clear-primary-text, var(--kendo-color-primary-on-surface, #0078d4) );
  --kendo-button-bg: var( --kendo-button-clear-primary-bg, transparent );
  --kendo-button-border: var( --kendo-button-clear-primary-border, transparent );
  --kendo-button-hover-text: var( --kendo-button-clear-primary-hover-text, var(--kendo-color-primary-on-surface, #0078d4) );
  --kendo-button-hover-bg: var( --kendo-button-clear-primary-hover-bg, transparent );
  --kendo-button-hover-border: var( --kendo-button-clear-primary-hover-border, transparent );
  --kendo-button-focus-text: var( --kendo-button-clear-primary-focus-text, var(--kendo-color-primary-on-surface, #0078d4) );
  --kendo-button-focus-bg: var( --kendo-button-clear-primary-focus-bg, var(--kendo-color-primary-subtle, #deecf9) );
  --kendo-button-focus-border: var( --kendo-button-clear-primary-focus-border, transparent );
  --kendo-button-focus-outline: var( --kendo-button-clear-primary-focus-outline,  );
  --kendo-button-focus-hover-text: var( --kendo-button-clear-primary-focus-hover-text, var(--kendo-color-primary-on-surface, #0078d4) );
  --kendo-button-focus-hover-bg: var( --kendo-button-clear-primary-focus-hover-bg, transparent );
  --kendo-button-focus-hover-border: var( --kendo-button-clear-primary-focus-hover-border, transparent );
  --kendo-button-active-text: var( --kendo-button-clear-primary-active-text, var(--kendo-color-primary-on-surface, #0078d4) );
  --kendo-button-active-bg: var( --kendo-button-clear-primary-active-bg, transparent );
  --kendo-button-active-border: var( --kendo-button-clear-primary-active-border, transparent );
  --kendo-button-active-hover-text: var( --kendo-button-clear-primary-active-hover-text, var(--kendo-color-primary-on-surface, #0078d4) );
  --kendo-button-active-hover-bg: var( --kendo-button-clear-primary-active-hover-bg, transparent );
  --kendo-button-active-hover-border: var( --kendo-button-clear-primary-active-hover-border, transparent );
  --kendo-button-selected-text: var( --kendo-button-clear-primary-selected-text, var(--kendo-color-primary-on-surface, #0078d4) );
  --kendo-button-selected-bg: var( --kendo-button-clear-primary-selected-bg, transparent );
  --kendo-button-selected-border: var( --kendo-button-clear-primary-selected-border, transparent );
  --kendo-button-selected-hover-text: var( --kendo-button-clear-primary-selected-hover-text, var(--kendo-color-primary-on-surface, #0078d4) );
  --kendo-button-selected-hover-bg: var( --kendo-button-clear-primary-selected-hover-bg, transparent );
  --kendo-button-selected-hover-border: var( --kendo-button-clear-primary-selected-hover-border, transparent );
  --kendo-button-disabled-text: var( --kendo-button-clear-primary-disabled-text, color-mix(in srgb, var(--kendo-color-on-app-surface, #323130) 46%, transparent) );
  --kendo-button-disabled-bg: var( --kendo-button-clear-primary-disabled-bg, initial );
  --kendo-button-disabled-border: var( --kendo-button-clear-primary-disabled-border, initial );
}

.k-button-clear-error {
  --kendo-button-text: var( --kendo-button-clear-error-text, var(--kendo-color-error-on-surface, #a4262c) );
  --kendo-button-bg: var( --kendo-button-clear-error-bg, transparent );
  --kendo-button-border: var( --kendo-button-clear-error-border, transparent );
  --kendo-button-hover-text: var( --kendo-button-clear-error-hover-text, var(--kendo-color-error-on-surface, #a4262c) );
  --kendo-button-hover-bg: var( --kendo-button-clear-error-hover-bg, transparent );
  --kendo-button-hover-border: var( --kendo-button-clear-error-hover-border, transparent );
  --kendo-button-focus-text: var( --kendo-button-clear-error-focus-text, var(--kendo-color-error-on-surface, #a4262c) );
  --kendo-button-focus-bg: var( --kendo-button-clear-error-focus-bg, var(--kendo-color-error-subtle, #fde7e9) );
  --kendo-button-focus-border: var( --kendo-button-clear-error-focus-border, transparent );
  --kendo-button-focus-outline: var( --kendo-button-clear-error-focus-outline,  );
  --kendo-button-focus-hover-text: var( --kendo-button-clear-error-focus-hover-text, var(--kendo-color-error-on-surface, #a4262c) );
  --kendo-button-focus-hover-bg: var( --kendo-button-clear-error-focus-hover-bg, transparent );
  --kendo-button-focus-hover-border: var( --kendo-button-clear-error-focus-hover-border, transparent );
  --kendo-button-active-text: var( --kendo-button-clear-error-active-text, var(--kendo-color-error-on-surface, #a4262c) );
  --kendo-button-active-bg: var( --kendo-button-clear-error-active-bg, transparent );
  --kendo-button-active-border: var( --kendo-button-clear-error-active-border, transparent );
  --kendo-button-active-hover-text: var( --kendo-button-clear-error-active-hover-text, var(--kendo-color-error-on-surface, #a4262c) );
  --kendo-button-active-hover-bg: var( --kendo-button-clear-error-active-hover-bg, transparent );
  --kendo-button-active-hover-border: var( --kendo-button-clear-error-active-hover-border, transparent );
  --kendo-button-selected-text: var( --kendo-button-clear-error-selected-text, var(--kendo-color-error-on-surface, #a4262c) );
  --kendo-button-selected-bg: var( --kendo-button-clear-error-selected-bg, transparent );
  --kendo-button-selected-border: var( --kendo-button-clear-error-selected-border, transparent );
  --kendo-button-selected-hover-text: var( --kendo-button-clear-error-selected-hover-text, var(--kendo-color-error-on-surface, #a4262c) );
  --kendo-button-selected-hover-bg: var( --kendo-button-clear-error-selected-hover-bg, transparent );
  --kendo-button-selected-hover-border: var( --kendo-button-clear-error-selected-hover-border, transparent );
  --kendo-button-disabled-text: var( --kendo-button-clear-error-disabled-text, color-mix(in srgb, var(--kendo-color-on-app-surface, #323130) 46%, transparent) );
  --kendo-button-disabled-bg: var( --kendo-button-clear-error-disabled-bg, initial );
  --kendo-button-disabled-border: var( --kendo-button-clear-error-disabled-border, initial );
}

.k-button-clear-success {
  --kendo-button-text: var( --kendo-button-clear-success-text, var(--kendo-color-success-on-surface, #107c10) );
  --kendo-button-bg: var( --kendo-button-clear-success-bg, transparent );
  --kendo-button-border: var( --kendo-button-clear-success-border, transparent );
  --kendo-button-hover-text: var( --kendo-button-clear-success-hover-text, var(--kendo-color-success-on-surface, #107c10) );
  --kendo-button-hover-bg: var( --kendo-button-clear-success-hover-bg, transparent );
  --kendo-button-hover-border: var( --kendo-button-clear-success-hover-border, transparent );
  --kendo-button-focus-text: var( --kendo-button-clear-success-focus-text, var(--kendo-color-success-on-surface, #107c10) );
  --kendo-button-focus-bg: var( --kendo-button-clear-success-focus-bg, var(--kendo-color-success-subtle, #dff6dd) );
  --kendo-button-focus-border: var( --kendo-button-clear-success-focus-border, transparent );
  --kendo-button-focus-outline: var( --kendo-button-clear-success-focus-outline,  );
  --kendo-button-focus-hover-text: var( --kendo-button-clear-success-focus-hover-text, var(--kendo-color-success-on-surface, #107c10) );
  --kendo-button-focus-hover-bg: var( --kendo-button-clear-success-focus-hover-bg, transparent );
  --kendo-button-focus-hover-border: var( --kendo-button-clear-success-focus-hover-border, transparent );
  --kendo-button-active-text: var( --kendo-button-clear-success-active-text, var(--kendo-color-success-on-surface, #107c10) );
  --kendo-button-active-bg: var( --kendo-button-clear-success-active-bg, transparent );
  --kendo-button-active-border: var( --kendo-button-clear-success-active-border, transparent );
  --kendo-button-active-hover-text: var( --kendo-button-clear-success-active-hover-text, var(--kendo-color-success-on-surface, #107c10) );
  --kendo-button-active-hover-bg: var( --kendo-button-clear-success-active-hover-bg, transparent );
  --kendo-button-active-hover-border: var( --kendo-button-clear-success-active-hover-border, transparent );
  --kendo-button-selected-text: var( --kendo-button-clear-success-selected-text, var(--kendo-color-success-on-surface, #107c10) );
  --kendo-button-selected-bg: var( --kendo-button-clear-success-selected-bg, transparent );
  --kendo-button-selected-border: var( --kendo-button-clear-success-selected-border, transparent );
  --kendo-button-selected-hover-text: var( --kendo-button-clear-success-selected-hover-text, var(--kendo-color-success-on-surface, #107c10) );
  --kendo-button-selected-hover-bg: var( --kendo-button-clear-success-selected-hover-bg, transparent );
  --kendo-button-selected-hover-border: var( --kendo-button-clear-success-selected-hover-border, transparent );
  --kendo-button-disabled-text: var( --kendo-button-clear-success-disabled-text, color-mix(in srgb, var(--kendo-color-on-app-surface, #323130) 46%, transparent) );
  --kendo-button-disabled-bg: var( --kendo-button-clear-success-disabled-bg, initial );
  --kendo-button-disabled-border: var( --kendo-button-clear-success-disabled-border, initial );
}

.k-button-clear-info {
  --kendo-button-text: var( --kendo-button-clear-info-text, var(--kendo-color-info-on-surface, #096edf) );
  --kendo-button-bg: var( --kendo-button-clear-info-bg, transparent );
  --kendo-button-border: var( --kendo-button-clear-info-border, transparent );
  --kendo-button-hover-text: var( --kendo-button-clear-info-hover-text, var(--kendo-color-info-on-surface, #096edf) );
  --kendo-button-hover-bg: var( --kendo-button-clear-info-hover-bg, transparent );
  --kendo-button-hover-border: var( --kendo-button-clear-info-hover-border, transparent );
  --kendo-button-focus-text: var( --kendo-button-clear-info-focus-text, var(--kendo-color-info-on-surface, #096edf) );
  --kendo-button-focus-bg: var( --kendo-button-clear-info-focus-bg, var(--kendo-color-info-subtle, #cee5ff) );
  --kendo-button-focus-border: var( --kendo-button-clear-info-focus-border, transparent );
  --kendo-button-focus-outline: var( --kendo-button-clear-info-focus-outline,  );
  --kendo-button-focus-hover-text: var( --kendo-button-clear-info-focus-hover-text, var(--kendo-color-info-on-surface, #096edf) );
  --kendo-button-focus-hover-bg: var( --kendo-button-clear-info-focus-hover-bg, transparent );
  --kendo-button-focus-hover-border: var( --kendo-button-clear-info-focus-hover-border, transparent );
  --kendo-button-active-text: var( --kendo-button-clear-info-active-text, var(--kendo-color-info-on-surface, #096edf) );
  --kendo-button-active-bg: var( --kendo-button-clear-info-active-bg, transparent );
  --kendo-button-active-border: var( --kendo-button-clear-info-active-border, transparent );
  --kendo-button-active-hover-text: var( --kendo-button-clear-info-active-hover-text, var(--kendo-color-info-on-surface, #096edf) );
  --kendo-button-active-hover-bg: var( --kendo-button-clear-info-active-hover-bg, transparent );
  --kendo-button-active-hover-border: var( --kendo-button-clear-info-active-hover-border, transparent );
  --kendo-button-selected-text: var( --kendo-button-clear-info-selected-text, var(--kendo-color-info-on-surface, #096edf) );
  --kendo-button-selected-bg: var( --kendo-button-clear-info-selected-bg, transparent );
  --kendo-button-selected-border: var( --kendo-button-clear-info-selected-border, transparent );
  --kendo-button-selected-hover-text: var( --kendo-button-clear-info-selected-hover-text, var(--kendo-color-info-on-surface, #096edf) );
  --kendo-button-selected-hover-bg: var( --kendo-button-clear-info-selected-hover-bg, transparent );
  --kendo-button-selected-hover-border: var( --kendo-button-clear-info-selected-hover-border, transparent );
  --kendo-button-disabled-text: var( --kendo-button-clear-info-disabled-text, color-mix(in srgb, var(--kendo-color-on-app-surface, #323130) 46%, transparent) );
  --kendo-button-disabled-bg: var( --kendo-button-clear-info-disabled-bg, initial );
  --kendo-button-disabled-border: var( --kendo-button-clear-info-disabled-border, initial );
}

.k-button-clear-secondary {
  --kendo-button-text: var( --kendo-button-clear-secondary-text, var(--kendo-color-secondary-on-surface, #605e5c) );
  --kendo-button-bg: var( --kendo-button-clear-secondary-bg, transparent );
  --kendo-button-border: var( --kendo-button-clear-secondary-border, transparent );
  --kendo-button-hover-text: var( --kendo-button-clear-secondary-hover-text, var(--kendo-color-secondary-on-surface, #605e5c) );
  --kendo-button-hover-bg: var( --kendo-button-clear-secondary-hover-bg, transparent );
  --kendo-button-hover-border: var( --kendo-button-clear-secondary-hover-border, transparent );
  --kendo-button-focus-text: var( --kendo-button-clear-secondary-focus-text, var(--kendo-color-secondary-on-surface, #605e5c) );
  --kendo-button-focus-bg: var( --kendo-button-clear-secondary-focus-bg, var(--kendo-color-secondary-subtle, #faf9f8) );
  --kendo-button-focus-border: var( --kendo-button-clear-secondary-focus-border, transparent );
  --kendo-button-focus-outline: var( --kendo-button-clear-secondary-focus-outline,  );
  --kendo-button-focus-hover-text: var( --kendo-button-clear-secondary-focus-hover-text, var(--kendo-color-secondary-on-surface, #605e5c) );
  --kendo-button-focus-hover-bg: var( --kendo-button-clear-secondary-focus-hover-bg, transparent );
  --kendo-button-focus-hover-border: var( --kendo-button-clear-secondary-focus-hover-border, transparent );
  --kendo-button-active-text: var( --kendo-button-clear-secondary-active-text, var(--kendo-color-secondary-on-surface, #605e5c) );
  --kendo-button-active-bg: var( --kendo-button-clear-secondary-active-bg, transparent );
  --kendo-button-active-border: var( --kendo-button-clear-secondary-active-border, transparent );
  --kendo-button-active-hover-text: var( --kendo-button-clear-secondary-active-hover-text, var(--kendo-color-secondary-on-surface, #605e5c) );
  --kendo-button-active-hover-bg: var( --kendo-button-clear-secondary-active-hover-bg, transparent );
  --kendo-button-active-hover-border: var( --kendo-button-clear-secondary-active-hover-border, transparent );
  --kendo-button-selected-text: var( --kendo-button-clear-secondary-selected-text, var(--kendo-color-secondary-on-surface, #605e5c) );
  --kendo-button-selected-bg: var( --kendo-button-clear-secondary-selected-bg, transparent );
  --kendo-button-selected-border: var( --kendo-button-clear-secondary-selected-border, transparent );
  --kendo-button-selected-hover-text: var( --kendo-button-clear-secondary-selected-hover-text, var(--kendo-color-secondary-on-surface, #605e5c) );
  --kendo-button-selected-hover-bg: var( --kendo-button-clear-secondary-selected-hover-bg, transparent );
  --kendo-button-selected-hover-border: var( --kendo-button-clear-secondary-selected-hover-border, transparent );
  --kendo-button-disabled-text: var( --kendo-button-clear-secondary-disabled-text, color-mix(in srgb, var(--kendo-color-on-app-surface, #323130) 46%, transparent) );
  --kendo-button-disabled-bg: var( --kendo-button-clear-secondary-disabled-bg, initial );
  --kendo-button-disabled-border: var( --kendo-button-clear-secondary-disabled-border, initial );
}

.k-button-clear-tertiary {
  --kendo-button-text: var( --kendo-button-clear-tertiary-text, var(--kendo-color-tertiary-on-surface, #2b88d8) );
  --kendo-button-bg: var( --kendo-button-clear-tertiary-bg, transparent );
  --kendo-button-border: var( --kendo-button-clear-tertiary-border, transparent );
  --kendo-button-hover-text: var( --kendo-button-clear-tertiary-hover-text, var(--kendo-color-tertiary-on-surface, #2b88d8) );
  --kendo-button-hover-bg: var( --kendo-button-clear-tertiary-hover-bg, transparent );
  --kendo-button-hover-border: var( --kendo-button-clear-tertiary-hover-border, transparent );
  --kendo-button-focus-text: var( --kendo-button-clear-tertiary-focus-text, var(--kendo-color-tertiary-on-surface, #2b88d8) );
  --kendo-button-focus-bg: var( --kendo-button-clear-tertiary-focus-bg, var(--kendo-color-tertiary-subtle, #deecf9) );
  --kendo-button-focus-border: var( --kendo-button-clear-tertiary-focus-border, transparent );
  --kendo-button-focus-outline: var( --kendo-button-clear-tertiary-focus-outline,  );
  --kendo-button-focus-hover-text: var( --kendo-button-clear-tertiary-focus-hover-text, var(--kendo-color-tertiary-on-surface, #2b88d8) );
  --kendo-button-focus-hover-bg: var( --kendo-button-clear-tertiary-focus-hover-bg, transparent );
  --kendo-button-focus-hover-border: var( --kendo-button-clear-tertiary-focus-hover-border, transparent );
  --kendo-button-active-text: var( --kendo-button-clear-tertiary-active-text, var(--kendo-color-tertiary-on-surface, #2b88d8) );
  --kendo-button-active-bg: var( --kendo-button-clear-tertiary-active-bg, transparent );
  --kendo-button-active-border: var( --kendo-button-clear-tertiary-active-border, transparent );
  --kendo-button-active-hover-text: var( --kendo-button-clear-tertiary-active-hover-text, var(--kendo-color-tertiary-on-surface, #2b88d8) );
  --kendo-button-active-hover-bg: var( --kendo-button-clear-tertiary-active-hover-bg, transparent );
  --kendo-button-active-hover-border: var( --kendo-button-clear-tertiary-active-hover-border, transparent );
  --kendo-button-selected-text: var( --kendo-button-clear-tertiary-selected-text, var(--kendo-color-tertiary-on-surface, #2b88d8) );
  --kendo-button-selected-bg: var( --kendo-button-clear-tertiary-selected-bg, transparent );
  --kendo-button-selected-border: var( --kendo-button-clear-tertiary-selected-border, transparent );
  --kendo-button-selected-hover-text: var( --kendo-button-clear-tertiary-selected-hover-text, var(--kendo-color-tertiary-on-surface, #2b88d8) );
  --kendo-button-selected-hover-bg: var( --kendo-button-clear-tertiary-selected-hover-bg, transparent );
  --kendo-button-selected-hover-border: var( --kendo-button-clear-tertiary-selected-hover-border, transparent );
  --kendo-button-disabled-text: var( --kendo-button-clear-tertiary-disabled-text, color-mix(in srgb, var(--kendo-color-on-app-surface, #323130) 46%, transparent) );
  --kendo-button-disabled-bg: var( --kendo-button-clear-tertiary-disabled-bg, initial );
  --kendo-button-disabled-border: var( --kendo-button-clear-tertiary-disabled-border, initial );
}

.k-button-clear-warning {
  --kendo-button-text: var( --kendo-button-clear-warning-text, var(--kendo-color-warning-on-surface, #7a6000) );
  --kendo-button-bg: var( --kendo-button-clear-warning-bg, transparent );
  --kendo-button-border: var( --kendo-button-clear-warning-border, transparent );
  --kendo-button-hover-text: var( --kendo-button-clear-warning-hover-text, var(--kendo-color-warning-on-surface, #7a6000) );
  --kendo-button-hover-bg: var( --kendo-button-clear-warning-hover-bg, transparent );
  --kendo-button-hover-border: var( --kendo-button-clear-warning-hover-border, transparent );
  --kendo-button-focus-text: var( --kendo-button-clear-warning-focus-text, var(--kendo-color-warning-on-surface, #7a6000) );
  --kendo-button-focus-bg: var( --kendo-button-clear-warning-focus-bg, var(--kendo-color-warning-subtle, #fff4ce) );
  --kendo-button-focus-border: var( --kendo-button-clear-warning-focus-border, transparent );
  --kendo-button-focus-outline: var( --kendo-button-clear-warning-focus-outline,  );
  --kendo-button-focus-hover-text: var( --kendo-button-clear-warning-focus-hover-text, var(--kendo-color-warning-on-surface, #7a6000) );
  --kendo-button-focus-hover-bg: var( --kendo-button-clear-warning-focus-hover-bg, transparent );
  --kendo-button-focus-hover-border: var( --kendo-button-clear-warning-focus-hover-border, transparent );
  --kendo-button-active-text: var( --kendo-button-clear-warning-active-text, var(--kendo-color-warning-on-surface, #7a6000) );
  --kendo-button-active-bg: var( --kendo-button-clear-warning-active-bg, transparent );
  --kendo-button-active-border: var( --kendo-button-clear-warning-active-border, transparent );
  --kendo-button-active-hover-text: var( --kendo-button-clear-warning-active-hover-text, var(--kendo-color-warning-on-surface, #7a6000) );
  --kendo-button-active-hover-bg: var( --kendo-button-clear-warning-active-hover-bg, transparent );
  --kendo-button-active-hover-border: var( --kendo-button-clear-warning-active-hover-border, transparent );
  --kendo-button-selected-text: var( --kendo-button-clear-warning-selected-text, var(--kendo-color-warning-on-surface, #7a6000) );
  --kendo-button-selected-bg: var( --kendo-button-clear-warning-selected-bg, transparent );
  --kendo-button-selected-border: var( --kendo-button-clear-warning-selected-border, transparent );
  --kendo-button-selected-hover-text: var( --kendo-button-clear-warning-selected-hover-text, var(--kendo-color-warning-on-surface, #7a6000) );
  --kendo-button-selected-hover-bg: var( --kendo-button-clear-warning-selected-hover-bg, transparent );
  --kendo-button-selected-hover-border: var( --kendo-button-clear-warning-selected-hover-border, transparent );
  --kendo-button-disabled-text: var( --kendo-button-clear-warning-disabled-text, color-mix(in srgb, var(--kendo-color-on-app-surface, #323130) 46%, transparent) );
  --kendo-button-disabled-bg: var( --kendo-button-clear-warning-disabled-bg, initial );
  --kendo-button-disabled-border: var( --kendo-button-clear-warning-disabled-border, initial );
}

.k-button-clear-dark {
  --kendo-button-text: var( --kendo-button-clear-dark-text, var(--kendo-color-dark-on-surface, #323130) );
  --kendo-button-bg: var( --kendo-button-clear-dark-bg, transparent );
  --kendo-button-border: var( --kendo-button-clear-dark-border, transparent );
  --kendo-button-hover-text: var( --kendo-button-clear-dark-hover-text, var(--kendo-color-dark-on-surface, #323130) );
  --kendo-button-hover-bg: var( --kendo-button-clear-dark-hover-bg, transparent );
  --kendo-button-hover-border: var( --kendo-button-clear-dark-hover-border, transparent );
  --kendo-button-focus-text: var( --kendo-button-clear-dark-focus-text, var(--kendo-color-dark-on-surface, #323130) );
  --kendo-button-focus-bg: var( --kendo-button-clear-dark-focus-bg, var(--kendo-color-dark-subtle, #a19f9d) );
  --kendo-button-focus-border: var( --kendo-button-clear-dark-focus-border, transparent );
  --kendo-button-focus-outline: var( --kendo-button-clear-dark-focus-outline,  );
  --kendo-button-focus-hover-text: var( --kendo-button-clear-dark-focus-hover-text, var(--kendo-color-dark-on-surface, #323130) );
  --kendo-button-focus-hover-bg: var( --kendo-button-clear-dark-focus-hover-bg, transparent );
  --kendo-button-focus-hover-border: var( --kendo-button-clear-dark-focus-hover-border, transparent );
  --kendo-button-active-text: var( --kendo-button-clear-dark-active-text, var(--kendo-color-dark-on-surface, #323130) );
  --kendo-button-active-bg: var( --kendo-button-clear-dark-active-bg, transparent );
  --kendo-button-active-border: var( --kendo-button-clear-dark-active-border, transparent );
  --kendo-button-active-hover-text: var( --kendo-button-clear-dark-active-hover-text, var(--kendo-color-dark-on-surface, #323130) );
  --kendo-button-active-hover-bg: var( --kendo-button-clear-dark-active-hover-bg, transparent );
  --kendo-button-active-hover-border: var( --kendo-button-clear-dark-active-hover-border, transparent );
  --kendo-button-selected-text: var( --kendo-button-clear-dark-selected-text, var(--kendo-color-dark-on-surface, #323130) );
  --kendo-button-selected-bg: var( --kendo-button-clear-dark-selected-bg, transparent );
  --kendo-button-selected-border: var( --kendo-button-clear-dark-selected-border, transparent );
  --kendo-button-selected-hover-text: var( --kendo-button-clear-dark-selected-hover-text, var(--kendo-color-dark-on-surface, #323130) );
  --kendo-button-selected-hover-bg: var( --kendo-button-clear-dark-selected-hover-bg, transparent );
  --kendo-button-selected-hover-border: var( --kendo-button-clear-dark-selected-hover-border, transparent );
  --kendo-button-disabled-text: var( --kendo-button-clear-dark-disabled-text, color-mix(in srgb, var(--kendo-color-on-app-surface, #323130) 46%, transparent) );
  --kendo-button-disabled-bg: var( --kendo-button-clear-dark-disabled-bg, initial );
  --kendo-button-disabled-border: var( --kendo-button-clear-dark-disabled-border, initial );
}

.k-button-clear-light {
  --kendo-button-text: var( --kendo-button-clear-light-text, var(--kendo-color-light-on-surface, #d2d0ce) );
  --kendo-button-bg: var( --kendo-button-clear-light-bg, transparent );
  --kendo-button-border: var( --kendo-button-clear-light-border, transparent );
  --kendo-button-hover-text: var( --kendo-button-clear-light-hover-text, var(--kendo-color-light-on-surface, #d2d0ce) );
  --kendo-button-hover-bg: var( --kendo-button-clear-light-hover-bg, transparent );
  --kendo-button-hover-border: var( --kendo-button-clear-light-hover-border, transparent );
  --kendo-button-focus-text: var( --kendo-button-clear-light-focus-text, var(--kendo-color-light-on-surface, #d2d0ce) );
  --kendo-button-focus-bg: var( --kendo-button-clear-light-focus-bg, var(--kendo-color-light-subtle, #faf9f8) );
  --kendo-button-focus-border: var( --kendo-button-clear-light-focus-border, transparent );
  --kendo-button-focus-outline: var( --kendo-button-clear-light-focus-outline,  );
  --kendo-button-focus-hover-text: var( --kendo-button-clear-light-focus-hover-text, var(--kendo-color-light-on-surface, #d2d0ce) );
  --kendo-button-focus-hover-bg: var( --kendo-button-clear-light-focus-hover-bg, transparent );
  --kendo-button-focus-hover-border: var( --kendo-button-clear-light-focus-hover-border, transparent );
  --kendo-button-active-text: var( --kendo-button-clear-light-active-text, var(--kendo-color-light-on-surface, #d2d0ce) );
  --kendo-button-active-bg: var( --kendo-button-clear-light-active-bg, transparent );
  --kendo-button-active-border: var( --kendo-button-clear-light-active-border, transparent );
  --kendo-button-active-hover-text: var( --kendo-button-clear-light-active-hover-text, var(--kendo-color-light-on-surface, #d2d0ce) );
  --kendo-button-active-hover-bg: var( --kendo-button-clear-light-active-hover-bg, transparent );
  --kendo-button-active-hover-border: var( --kendo-button-clear-light-active-hover-border, transparent );
  --kendo-button-selected-text: var( --kendo-button-clear-light-selected-text, var(--kendo-color-light-on-surface, #d2d0ce) );
  --kendo-button-selected-bg: var( --kendo-button-clear-light-selected-bg, transparent );
  --kendo-button-selected-border: var( --kendo-button-clear-light-selected-border, transparent );
  --kendo-button-selected-hover-text: var( --kendo-button-clear-light-selected-hover-text, var(--kendo-color-light-on-surface, #d2d0ce) );
  --kendo-button-selected-hover-bg: var( --kendo-button-clear-light-selected-hover-bg, transparent );
  --kendo-button-selected-hover-border: var( --kendo-button-clear-light-selected-hover-border, transparent );
  --kendo-button-disabled-text: var( --kendo-button-clear-light-disabled-text, color-mix(in srgb, var(--kendo-color-on-app-surface, #323130) 46%, transparent) );
  --kendo-button-disabled-bg: var( --kendo-button-clear-light-disabled-bg, initial );
  --kendo-button-disabled-border: var( --kendo-button-clear-light-disabled-border, initial );
}

.k-button-flat-primary {
  --kendo-button-text: var( --kendo-button-flat-primary-text, var(--kendo-color-primary-on-surface, #0078d4) );
  --kendo-button-bg: var( --kendo-button-flat-primary-bg, initial );
  --kendo-button-border: var( --kendo-button-flat-primary-border, transparent );
  --kendo-button-hover-text: var( --kendo-button-flat-primary-hover-text, var(--kendo-color-primary-hover, #106ebe) );
  --kendo-button-hover-bg: var( --kendo-button-flat-primary-hover-bg, var(--kendo-color-primary-subtle, #deecf9) );
  --kendo-button-hover-border: var( --kendo-button-flat-primary-hover-border, transparent );
  --kendo-button-focus-text: var( --kendo-button-flat-primary-focus-text, var(--kendo-color-primary-on-surface, #0078d4) );
  --kendo-button-focus-bg: var( --kendo-button-flat-primary-focus-bg, initial );
  --kendo-button-focus-border: var( --kendo-button-flat-primary-focus-border, transparent );
  --kendo-button-focus-outline: var( --kendo-button-flat-primary-focus-outline, var(--kendo-color-primary-subtle-active, #abd1ef) );
  --kendo-button-focus-hover-text: var( --kendo-button-flat-primary-focus-hover-text, var(--kendo-color-primary-hover, #106ebe) );
  --kendo-button-focus-hover-bg: var( --kendo-button-flat-primary-focus-hover-bg, var(--kendo-color-primary-subtle, #deecf9) );
  --kendo-button-focus-hover-border: var( --kendo-button-flat-primary-focus-hover-border, transparent );
  --kendo-button-active-text: var( --kendo-button-flat-primary-active-text, var(--kendo-color-primary-hover, #106ebe) );
  --kendo-button-active-bg: var( --kendo-button-flat-primary-active-bg, var(--kendo-color-primary-subtle-hover, #c7e0f4) );
  --kendo-button-active-border: var( --kendo-button-flat-primary-active-border, transparent );
  --kendo-button-active-hover-text: var( --kendo-button-flat-primary-active-hover-text, var(--kendo-color-primary-hover, #106ebe) );
  --kendo-button-active-hover-bg: var( --kendo-button-flat-primary-active-hover-bg, var(--kendo-color-primary-subtle, #deecf9) );
  --kendo-button-active-hover-border: var( --kendo-button-flat-primary-active-hover-border, transparent );
  --kendo-button-selected-text: var( --kendo-button-flat-primary-selected-text, var(--kendo-color-primary-hover, #106ebe) );
  --kendo-button-selected-bg: var( --kendo-button-flat-primary-selected-bg, var(--kendo-color-primary-subtle-hover, #c7e0f4) );
  --kendo-button-selected-border: var( --kendo-button-flat-primary-selected-border, transparent );
  --kendo-button-selected-hover-text: var( --kendo-button-flat-primary-selected-hover-text, var(--kendo-color-primary-hover, #106ebe) );
  --kendo-button-selected-hover-bg: var( --kendo-button-flat-primary-selected-hover-bg, var(--kendo-color-primary-subtle, #deecf9) );
  --kendo-button-selected-hover-border: var( --kendo-button-flat-primary-selected-hover-border, transparent );
  --kendo-button-disabled-text: var( --kendo-button-flat-primary-disabled-text, color-mix(in srgb, var(--kendo-color-on-app-surface, #323130) 46%, transparent) );
  --kendo-button-disabled-bg: var( --kendo-button-flat-primary-disabled-bg, initial );
  --kendo-button-disabled-border: var( --kendo-button-flat-primary-disabled-border, initial );
}

.k-button-flat-error {
  --kendo-button-text: var( --kendo-button-flat-error-text, var(--kendo-color-error-on-surface, #a4262c) );
  --kendo-button-bg: var( --kendo-button-flat-error-bg, initial );
  --kendo-button-border: var( --kendo-button-flat-error-border, transparent );
  --kendo-button-hover-text: var( --kendo-button-flat-error-hover-text, var(--kendo-color-error-hover, #b85156) );
  --kendo-button-hover-bg: var( --kendo-button-flat-error-hover-bg, var(--kendo-color-error-subtle, #fde7e9) );
  --kendo-button-hover-border: var( --kendo-button-flat-error-hover-border, transparent );
  --kendo-button-focus-text: var( --kendo-button-flat-error-focus-text, var(--kendo-color-error-on-surface, #a4262c) );
  --kendo-button-focus-bg: var( --kendo-button-flat-error-focus-bg, initial );
  --kendo-button-focus-border: var( --kendo-button-flat-error-focus-border, transparent );
  --kendo-button-focus-outline: var( --kendo-button-flat-error-focus-outline, var(--kendo-color-error-subtle-active, #e9bcbf) );
  --kendo-button-focus-hover-text: var( --kendo-button-flat-error-focus-hover-text, var(--kendo-color-error-hover, #b85156) );
  --kendo-button-focus-hover-bg: var( --kendo-button-flat-error-focus-hover-bg, var(--kendo-color-error-subtle, #fde7e9) );
  --kendo-button-focus-hover-border: var( --kendo-button-flat-error-focus-hover-border, transparent );
  --kendo-button-active-text: var( --kendo-button-flat-error-active-text, var(--kendo-color-error-hover, #b85156) );
  --kendo-button-active-bg: var( --kendo-button-flat-error-active-bg, var(--kendo-color-error-subtle-hover, #f3d2d4) );
  --kendo-button-active-border: var( --kendo-button-flat-error-active-border, transparent );
  --kendo-button-active-hover-text: var( --kendo-button-flat-error-active-hover-text, var(--kendo-color-error-hover, #b85156) );
  --kendo-button-active-hover-bg: var( --kendo-button-flat-error-active-hover-bg, var(--kendo-color-error-subtle, #fde7e9) );
  --kendo-button-active-hover-border: var( --kendo-button-flat-error-active-hover-border, transparent );
  --kendo-button-selected-text: var( --kendo-button-flat-error-selected-text, var(--kendo-color-error-hover, #b85156) );
  --kendo-button-selected-bg: var( --kendo-button-flat-error-selected-bg, var(--kendo-color-error-subtle-hover, #f3d2d4) );
  --kendo-button-selected-border: var( --kendo-button-flat-error-selected-border, transparent );
  --kendo-button-selected-hover-text: var( --kendo-button-flat-error-selected-hover-text, var(--kendo-color-error-hover, #b85156) );
  --kendo-button-selected-hover-bg: var( --kendo-button-flat-error-selected-hover-bg, var(--kendo-color-error-subtle, #fde7e9) );
  --kendo-button-selected-hover-border: var( --kendo-button-flat-error-selected-hover-border, transparent );
  --kendo-button-disabled-text: var( --kendo-button-flat-error-disabled-text, color-mix(in srgb, var(--kendo-color-on-app-surface, #323130) 46%, transparent) );
  --kendo-button-disabled-bg: var( --kendo-button-flat-error-disabled-bg, initial );
  --kendo-button-disabled-border: var( --kendo-button-flat-error-disabled-border, initial );
}

.k-button-flat-success {
  --kendo-button-text: var( --kendo-button-flat-success-text, var(--kendo-color-success-on-surface, #107c10) );
  --kendo-button-bg: var( --kendo-button-flat-success-bg, initial );
  --kendo-button-border: var( --kendo-button-flat-success-border, transparent );
  --kendo-button-hover-text: var( --kendo-button-flat-success-hover-text, var(--kendo-color-success-hover, #3e973e) );
  --kendo-button-hover-bg: var( --kendo-button-flat-success-hover-bg, var(--kendo-color-success-subtle, #dff6dd) );
  --kendo-button-hover-border: var( --kendo-button-flat-success-hover-border, transparent );
  --kendo-button-focus-text: var( --kendo-button-flat-success-focus-text, var(--kendo-color-success-on-surface, #107c10) );
  --kendo-button-focus-bg: var( --kendo-button-flat-success-focus-bg, initial );
  --kendo-button-focus-border: var( --kendo-button-flat-success-focus-border, transparent );
  --kendo-button-focus-outline: var( --kendo-button-flat-success-focus-outline, var(--kendo-color-success-subtle-active, #b1dbaf) );
  --kendo-button-focus-hover-text: var( --kendo-button-flat-success-focus-hover-text, var(--kendo-color-success-hover, #3e973e) );
  --kendo-button-focus-hover-bg: var( --kendo-button-flat-success-focus-hover-bg, var(--kendo-color-success-subtle, #dff6dd) );
  --kendo-button-focus-hover-border: var( --kendo-button-flat-success-focus-hover-border, transparent );
  --kendo-button-active-text: var( --kendo-button-flat-success-active-text, var(--kendo-color-success-hover, #3e973e) );
  --kendo-button-active-bg: var( --kendo-button-flat-success-active-bg, var(--kendo-color-success-subtle-hover, #c8e8c6) );
  --kendo-button-active-border: var( --kendo-button-flat-success-active-border, transparent );
  --kendo-button-active-hover-text: var( --kendo-button-flat-success-active-hover-text, var(--kendo-color-success-hover, #3e973e) );
  --kendo-button-active-hover-bg: var( --kendo-button-flat-success-active-hover-bg, var(--kendo-color-success-subtle, #dff6dd) );
  --kendo-button-active-hover-border: var( --kendo-button-flat-success-active-hover-border, transparent );
  --kendo-button-selected-text: var( --kendo-button-flat-success-selected-text, var(--kendo-color-success-hover, #3e973e) );
  --kendo-button-selected-bg: var( --kendo-button-flat-success-selected-bg, var(--kendo-color-success-subtle-hover, #c8e8c6) );
  --kendo-button-selected-border: var( --kendo-button-flat-success-selected-border, transparent );
  --kendo-button-selected-hover-text: var( --kendo-button-flat-success-selected-hover-text, var(--kendo-color-success-hover, #3e973e) );
  --kendo-button-selected-hover-bg: var( --kendo-button-flat-success-selected-hover-bg, var(--kendo-color-success-subtle, #dff6dd) );
  --kendo-button-selected-hover-border: var( --kendo-button-flat-success-selected-hover-border, transparent );
  --kendo-button-disabled-text: var( --kendo-button-flat-success-disabled-text, color-mix(in srgb, var(--kendo-color-on-app-surface, #323130) 46%, transparent) );
  --kendo-button-disabled-bg: var( --kendo-button-flat-success-disabled-bg, initial );
  --kendo-button-disabled-border: var( --kendo-button-flat-success-disabled-border, initial );
}

.k-button-flat-info {
  --kendo-button-text: var( --kendo-button-flat-info-text, var(--kendo-color-info-on-surface, #096edf) );
  --kendo-button-bg: var( --kendo-button-flat-info-bg, initial );
  --kendo-button-border: var( --kendo-button-flat-info-border, transparent );
  --kendo-button-hover-text: var( --kendo-button-flat-info-hover-text, var(--kendo-color-info-hover, #096edf) );
  --kendo-button-hover-bg: var( --kendo-button-flat-info-hover-bg, var(--kendo-color-info-subtle, #cee5ff) );
  --kendo-button-hover-border: var( --kendo-button-flat-info-hover-border, transparent );
  --kendo-button-focus-text: var( --kendo-button-flat-info-focus-text, var(--kendo-color-info-on-surface, #096edf) );
  --kendo-button-focus-bg: var( --kendo-button-flat-info-focus-bg, initial );
  --kendo-button-focus-border: var( --kendo-button-flat-info-focus-border, transparent );
  --kendo-button-focus-outline: var( --kendo-button-flat-info-focus-outline, var(--kendo-color-info-subtle-active, #8dc3ff) );
  --kendo-button-focus-hover-text: var( --kendo-button-flat-info-focus-hover-text, var(--kendo-color-info-hover, #096edf) );
  --kendo-button-focus-hover-bg: var( --kendo-button-flat-info-focus-hover-bg, var(--kendo-color-info-subtle, #cee5ff) );
  --kendo-button-focus-hover-border: var( --kendo-button-flat-info-focus-hover-border, transparent );
  --kendo-button-active-text: var( --kendo-button-flat-info-active-text, var(--kendo-color-info-hover, #096edf) );
  --kendo-button-active-bg: var( --kendo-button-flat-info-active-bg, var(--kendo-color-info-subtle-hover, #add4ff) );
  --kendo-button-active-border: var( --kendo-button-flat-info-active-border, transparent );
  --kendo-button-active-hover-text: var( --kendo-button-flat-info-active-hover-text, var(--kendo-color-info-hover, #096edf) );
  --kendo-button-active-hover-bg: var( --kendo-button-flat-info-active-hover-bg, var(--kendo-color-info-subtle, #cee5ff) );
  --kendo-button-active-hover-border: var( --kendo-button-flat-info-active-hover-border, transparent );
  --kendo-button-selected-text: var( --kendo-button-flat-info-selected-text, var(--kendo-color-info-hover, #096edf) );
  --kendo-button-selected-bg: var( --kendo-button-flat-info-selected-bg, var(--kendo-color-info-subtle-hover, #add4ff) );
  --kendo-button-selected-border: var( --kendo-button-flat-info-selected-border, transparent );
  --kendo-button-selected-hover-text: var( --kendo-button-flat-info-selected-hover-text, var(--kendo-color-info-hover, #096edf) );
  --kendo-button-selected-hover-bg: var( --kendo-button-flat-info-selected-hover-bg, var(--kendo-color-info-subtle, #cee5ff) );
  --kendo-button-selected-hover-border: var( --kendo-button-flat-info-selected-hover-border, transparent );
  --kendo-button-disabled-text: var( --kendo-button-flat-info-disabled-text, color-mix(in srgb, var(--kendo-color-on-app-surface, #323130) 46%, transparent) );
  --kendo-button-disabled-bg: var( --kendo-button-flat-info-disabled-bg, initial );
  --kendo-button-disabled-border: var( --kendo-button-flat-info-disabled-border, initial );
}

.k-button-flat-secondary {
  --kendo-button-text: var( --kendo-button-flat-secondary-text, var(--kendo-color-secondary-on-surface, #605e5c) );
  --kendo-button-bg: var( --kendo-button-flat-secondary-bg, initial );
  --kendo-button-border: var( --kendo-button-flat-secondary-border, transparent );
  --kendo-button-hover-text: var( --kendo-button-flat-secondary-hover-text, var(--kendo-color-secondary-hover, #8a8886) );
  --kendo-button-hover-bg: var( --kendo-button-flat-secondary-hover-bg, var(--kendo-color-secondary-subtle, #faf9f8) );
  --kendo-button-hover-border: var( --kendo-button-flat-secondary-hover-border, transparent );
  --kendo-button-focus-text: var( --kendo-button-flat-secondary-focus-text, var(--kendo-color-secondary-on-surface, #605e5c) );
  --kendo-button-focus-bg: var( --kendo-button-flat-secondary-focus-bg, initial );
  --kendo-button-focus-border: var( --kendo-button-flat-secondary-focus-border, transparent );
  --kendo-button-focus-outline: var( --kendo-button-flat-secondary-focus-outline, var(--kendo-color-secondary-subtle-active, #edebe9) );
  --kendo-button-focus-hover-text: var( --kendo-button-flat-secondary-focus-hover-text, var(--kendo-color-secondary-hover, #8a8886) );
  --kendo-button-focus-hover-bg: var( --kendo-button-flat-secondary-focus-hover-bg, var(--kendo-color-secondary-subtle, #faf9f8) );
  --kendo-button-focus-hover-border: var( --kendo-button-flat-secondary-focus-hover-border, transparent );
  --kendo-button-active-text: var( --kendo-button-flat-secondary-active-text, var(--kendo-color-secondary-hover, #8a8886) );
  --kendo-button-active-bg: var( --kendo-button-flat-secondary-active-bg, var(--kendo-color-secondary-subtle-hover, #f3f2f1) );
  --kendo-button-active-border: var( --kendo-button-flat-secondary-active-border, transparent );
  --kendo-button-active-hover-text: var( --kendo-button-flat-secondary-active-hover-text, var(--kendo-color-secondary-hover, #8a8886) );
  --kendo-button-active-hover-bg: var( --kendo-button-flat-secondary-active-hover-bg, var(--kendo-color-secondary-subtle, #faf9f8) );
  --kendo-button-active-hover-border: var( --kendo-button-flat-secondary-active-hover-border, transparent );
  --kendo-button-selected-text: var( --kendo-button-flat-secondary-selected-text, var(--kendo-color-secondary-hover, #8a8886) );
  --kendo-button-selected-bg: var( --kendo-button-flat-secondary-selected-bg, var(--kendo-color-secondary-subtle-hover, #f3f2f1) );
  --kendo-button-selected-border: var( --kendo-button-flat-secondary-selected-border, transparent );
  --kendo-button-selected-hover-text: var( --kendo-button-flat-secondary-selected-hover-text, var(--kendo-color-secondary-hover, #8a8886) );
  --kendo-button-selected-hover-bg: var( --kendo-button-flat-secondary-selected-hover-bg, var(--kendo-color-secondary-subtle, #faf9f8) );
  --kendo-button-selected-hover-border: var( --kendo-button-flat-secondary-selected-hover-border, transparent );
  --kendo-button-disabled-text: var( --kendo-button-flat-secondary-disabled-text, color-mix(in srgb, var(--kendo-color-on-app-surface, #323130) 46%, transparent) );
  --kendo-button-disabled-bg: var( --kendo-button-flat-secondary-disabled-bg, initial );
  --kendo-button-disabled-border: var( --kendo-button-flat-secondary-disabled-border, initial );
}

.k-button-flat-tertiary {
  --kendo-button-text: var( --kendo-button-flat-tertiary-text, var(--kendo-color-tertiary-on-surface, #2b88d8) );
  --kendo-button-bg: var( --kendo-button-flat-tertiary-bg, initial );
  --kendo-button-border: var( --kendo-button-flat-tertiary-border, transparent );
  --kendo-button-hover-text: var( --kendo-button-flat-tertiary-hover-text, var(--kendo-color-tertiary-hover, #287ec7) );
  --kendo-button-hover-bg: var( --kendo-button-flat-tertiary-hover-bg, var(--kendo-color-tertiary-subtle, #deecf9) );
  --kendo-button-hover-border: var( --kendo-button-flat-tertiary-hover-border, transparent );
  --kendo-button-focus-text: var( --kendo-button-flat-tertiary-focus-text, var(--kendo-color-tertiary-on-surface, #2b88d8) );
  --kendo-button-focus-bg: var( --kendo-button-flat-tertiary-focus-bg, initial );
  --kendo-button-focus-border: var( --kendo-button-flat-tertiary-focus-border, transparent );
  --kendo-button-focus-outline: var( --kendo-button-flat-tertiary-focus-outline, var(--kendo-color-tertiary-subtle-active, #aacfef) );
  --kendo-button-focus-hover-text: var( --kendo-button-flat-tertiary-focus-hover-text, var(--kendo-color-tertiary-hover, #287ec7) );
  --kendo-button-focus-hover-bg: var( --kendo-button-flat-tertiary-focus-hover-bg, var(--kendo-color-tertiary-subtle, #deecf9) );
  --kendo-button-focus-hover-border: var( --kendo-button-flat-tertiary-focus-hover-border, transparent );
  --kendo-button-active-text: var( --kendo-button-flat-tertiary-active-text, var(--kendo-color-tertiary-hover, #287ec7) );
  --kendo-button-active-bg: var( --kendo-button-flat-tertiary-active-bg, var(--kendo-color-tertiary-subtle-hover, #bfdbf3) );
  --kendo-button-active-border: var( --kendo-button-flat-tertiary-active-border, transparent );
  --kendo-button-active-hover-text: var( --kendo-button-flat-tertiary-active-hover-text, var(--kendo-color-tertiary-hover, #287ec7) );
  --kendo-button-active-hover-bg: var( --kendo-button-flat-tertiary-active-hover-bg, var(--kendo-color-tertiary-subtle, #deecf9) );
  --kendo-button-active-hover-border: var( --kendo-button-flat-tertiary-active-hover-border, transparent );
  --kendo-button-selected-text: var( --kendo-button-flat-tertiary-selected-text, var(--kendo-color-tertiary-hover, #287ec7) );
  --kendo-button-selected-bg: var( --kendo-button-flat-tertiary-selected-bg, var(--kendo-color-tertiary-subtle-hover, #bfdbf3) );
  --kendo-button-selected-border: var( --kendo-button-flat-tertiary-selected-border, transparent );
  --kendo-button-selected-hover-text: var( --kendo-button-flat-tertiary-selected-hover-text, var(--kendo-color-tertiary-hover, #287ec7) );
  --kendo-button-selected-hover-bg: var( --kendo-button-flat-tertiary-selected-hover-bg, var(--kendo-color-tertiary-subtle, #deecf9) );
  --kendo-button-selected-hover-border: var( --kendo-button-flat-tertiary-selected-hover-border, transparent );
  --kendo-button-disabled-text: var( --kendo-button-flat-tertiary-disabled-text, color-mix(in srgb, var(--kendo-color-on-app-surface, #323130) 46%, transparent) );
  --kendo-button-disabled-bg: var( --kendo-button-flat-tertiary-disabled-bg, initial );
  --kendo-button-disabled-border: var( --kendo-button-flat-tertiary-disabled-border, initial );
}

.k-button-flat-warning {
  --kendo-button-text: var( --kendo-button-flat-warning-text, var(--kendo-color-warning-on-surface, #7a6000) );
  --kendo-button-bg: var( --kendo-button-flat-warning-bg, initial );
  --kendo-button-border: var( --kendo-button-flat-warning-border, transparent );
  --kendo-button-hover-text: var( --kendo-button-flat-warning-hover-text, var(--kendo-color-warning-hover, #f5c000) );
  --kendo-button-hover-bg: var( --kendo-button-flat-warning-hover-bg, var(--kendo-color-warning-subtle, #fff4ce) );
  --kendo-button-hover-border: var( --kendo-button-flat-warning-hover-border, transparent );
  --kendo-button-focus-text: var( --kendo-button-flat-warning-focus-text, var(--kendo-color-warning-on-surface, #7a6000) );
  --kendo-button-focus-bg: var( --kendo-button-flat-warning-focus-bg, initial );
  --kendo-button-focus-border: var( --kendo-button-flat-warning-focus-border, transparent );
  --kendo-button-focus-outline: var( --kendo-button-flat-warning-focus-outline, var(--kendo-color-warning-subtle-active, #ffe58d) );
  --kendo-button-focus-hover-text: var( --kendo-button-flat-warning-focus-hover-text, var(--kendo-color-warning-hover, #f5c000) );
  --kendo-button-focus-hover-bg: var( --kendo-button-flat-warning-focus-hover-bg, var(--kendo-color-warning-subtle, #fff4ce) );
  --kendo-button-focus-hover-border: var( --kendo-button-flat-warning-focus-hover-border, transparent );
  --kendo-button-active-text: var( --kendo-button-flat-warning-active-text, var(--kendo-color-warning-hover, #f5c000) );
  --kendo-button-active-bg: var( --kendo-button-flat-warning-active-bg, var(--kendo-color-warning-subtle-hover, #ffedad) );
  --kendo-button-active-border: var( --kendo-button-flat-warning-active-border, transparent );
  --kendo-button-active-hover-text: var( --kendo-button-flat-warning-active-hover-text, var(--kendo-color-warning-hover, #f5c000) );
  --kendo-button-active-hover-bg: var( --kendo-button-flat-warning-active-hover-bg, var(--kendo-color-warning-subtle, #fff4ce) );
  --kendo-button-active-hover-border: var( --kendo-button-flat-warning-active-hover-border, transparent );
  --kendo-button-selected-text: var( --kendo-button-flat-warning-selected-text, var(--kendo-color-warning-hover, #f5c000) );
  --kendo-button-selected-bg: var( --kendo-button-flat-warning-selected-bg, var(--kendo-color-warning-subtle-hover, #ffedad) );
  --kendo-button-selected-border: var( --kendo-button-flat-warning-selected-border, transparent );
  --kendo-button-selected-hover-text: var( --kendo-button-flat-warning-selected-hover-text, var(--kendo-color-warning-hover, #f5c000) );
  --kendo-button-selected-hover-bg: var( --kendo-button-flat-warning-selected-hover-bg, var(--kendo-color-warning-subtle, #fff4ce) );
  --kendo-button-selected-hover-border: var( --kendo-button-flat-warning-selected-hover-border, transparent );
  --kendo-button-disabled-text: var( --kendo-button-flat-warning-disabled-text, color-mix(in srgb, var(--kendo-color-on-app-surface, #323130) 46%, transparent) );
  --kendo-button-disabled-bg: var( --kendo-button-flat-warning-disabled-bg, initial );
  --kendo-button-disabled-border: var( --kendo-button-flat-warning-disabled-border, initial );
}

.k-button-flat-dark {
  --kendo-button-text: var( --kendo-button-flat-dark-text, var(--kendo-color-dark-on-surface, #323130) );
  --kendo-button-bg: var( --kendo-button-flat-dark-bg, initial );
  --kendo-button-border: var( --kendo-button-flat-dark-border, transparent );
  --kendo-button-hover-text: var( --kendo-button-flat-dark-hover-text, var(--kendo-color-dark-hover, #201f1e) );
  --kendo-button-hover-bg: var( --kendo-button-flat-dark-hover-bg, var(--kendo-color-dark-subtle, #a19f9d) );
  --kendo-button-hover-border: var( --kendo-button-flat-dark-hover-border, transparent );
  --kendo-button-focus-text: var( --kendo-button-flat-dark-focus-text, var(--kendo-color-dark-on-surface, #323130) );
  --kendo-button-focus-bg: var( --kendo-button-flat-dark-focus-bg, initial );
  --kendo-button-focus-border: var( --kendo-button-flat-dark-focus-border, transparent );
  --kendo-button-focus-outline: var( --kendo-button-flat-dark-focus-outline, var(--kendo-color-dark-subtle-active, #8a8886) );
  --kendo-button-focus-hover-text: var( --kendo-button-flat-dark-focus-hover-text, var(--kendo-color-dark-hover, #201f1e) );
  --kendo-button-focus-hover-bg: var( --kendo-button-flat-dark-focus-hover-bg, var(--kendo-color-dark-subtle, #a19f9d) );
  --kendo-button-focus-hover-border: var( --kendo-button-flat-dark-focus-hover-border, transparent );
  --kendo-button-active-text: var( --kendo-button-flat-dark-active-text, var(--kendo-color-dark-hover, #201f1e) );
  --kendo-button-active-bg: var( --kendo-button-flat-dark-active-bg, var(--kendo-color-dark-subtle-hover, #979593) );
  --kendo-button-active-border: var( --kendo-button-flat-dark-active-border, transparent );
  --kendo-button-active-hover-text: var( --kendo-button-flat-dark-active-hover-text, var(--kendo-color-dark-hover, #201f1e) );
  --kendo-button-active-hover-bg: var( --kendo-button-flat-dark-active-hover-bg, var(--kendo-color-dark-subtle, #a19f9d) );
  --kendo-button-active-hover-border: var( --kendo-button-flat-dark-active-hover-border, transparent );
  --kendo-button-selected-text: var( --kendo-button-flat-dark-selected-text, var(--kendo-color-dark-hover, #201f1e) );
  --kendo-button-selected-bg: var( --kendo-button-flat-dark-selected-bg, var(--kendo-color-dark-subtle-hover, #979593) );
  --kendo-button-selected-border: var( --kendo-button-flat-dark-selected-border, transparent );
  --kendo-button-selected-hover-text: var( --kendo-button-flat-dark-selected-hover-text, var(--kendo-color-dark-hover, #201f1e) );
  --kendo-button-selected-hover-bg: var( --kendo-button-flat-dark-selected-hover-bg, var(--kendo-color-dark-subtle, #a19f9d) );
  --kendo-button-selected-hover-border: var( --kendo-button-flat-dark-selected-hover-border, transparent );
  --kendo-button-disabled-text: var( --kendo-button-flat-dark-disabled-text, color-mix(in srgb, var(--kendo-color-on-app-surface, #323130) 46%, transparent) );
  --kendo-button-disabled-bg: var( --kendo-button-flat-dark-disabled-bg, initial );
  --kendo-button-disabled-border: var( --kendo-button-flat-dark-disabled-border, initial );
}

.k-button-flat-light {
  --kendo-button-text: var( --kendo-button-flat-light-text, var(--kendo-color-light-on-surface, #d2d0ce) );
  --kendo-button-bg: var( --kendo-button-flat-light-bg, initial );
  --kendo-button-border: var( --kendo-button-flat-light-border, transparent );
  --kendo-button-hover-text: var( --kendo-button-flat-light-hover-text, var(--kendo-color-light-hover, #c8c6c4) );
  --kendo-button-hover-bg: var( --kendo-button-flat-light-hover-bg, var(--kendo-color-light-subtle, #faf9f8) );
  --kendo-button-hover-border: var( --kendo-button-flat-light-hover-border, transparent );
  --kendo-button-focus-text: var( --kendo-button-flat-light-focus-text, var(--kendo-color-light-on-surface, #d2d0ce) );
  --kendo-button-focus-bg: var( --kendo-button-flat-light-focus-bg, initial );
  --kendo-button-focus-border: var( --kendo-button-flat-light-focus-border, transparent );
  --kendo-button-focus-outline: var( --kendo-button-flat-light-focus-outline, var(--kendo-color-light-subtle-active, #edebe9) );
  --kendo-button-focus-hover-text: var( --kendo-button-flat-light-focus-hover-text, var(--kendo-color-light-hover, #c8c6c4) );
  --kendo-button-focus-hover-bg: var( --kendo-button-flat-light-focus-hover-bg, var(--kendo-color-light-subtle, #faf9f8) );
  --kendo-button-focus-hover-border: var( --kendo-button-flat-light-focus-hover-border, transparent );
  --kendo-button-active-text: var( --kendo-button-flat-light-active-text, var(--kendo-color-light-hover, #c8c6c4) );
  --kendo-button-active-bg: var( --kendo-button-flat-light-active-bg, var(--kendo-color-light-subtle-hover, #f3f2f1) );
  --kendo-button-active-border: var( --kendo-button-flat-light-active-border, transparent );
  --kendo-button-active-hover-text: var( --kendo-button-flat-light-active-hover-text, var(--kendo-color-light-hover, #c8c6c4) );
  --kendo-button-active-hover-bg: var( --kendo-button-flat-light-active-hover-bg, var(--kendo-color-light-subtle, #faf9f8) );
  --kendo-button-active-hover-border: var( --kendo-button-flat-light-active-hover-border, transparent );
  --kendo-button-selected-text: var( --kendo-button-flat-light-selected-text, var(--kendo-color-light-hover, #c8c6c4) );
  --kendo-button-selected-bg: var( --kendo-button-flat-light-selected-bg, var(--kendo-color-light-subtle-hover, #f3f2f1) );
  --kendo-button-selected-border: var( --kendo-button-flat-light-selected-border, transparent );
  --kendo-button-selected-hover-text: var( --kendo-button-flat-light-selected-hover-text, var(--kendo-color-light-hover, #c8c6c4) );
  --kendo-button-selected-hover-bg: var( --kendo-button-flat-light-selected-hover-bg, var(--kendo-color-light-subtle, #faf9f8) );
  --kendo-button-selected-hover-border: var( --kendo-button-flat-light-selected-hover-border, transparent );
  --kendo-button-disabled-text: var( --kendo-button-flat-light-disabled-text, color-mix(in srgb, var(--kendo-color-on-app-surface, #323130) 46%, transparent) );
  --kendo-button-disabled-bg: var( --kendo-button-flat-light-disabled-bg, initial );
  --kendo-button-disabled-border: var( --kendo-button-flat-light-disabled-border, initial );
}

.k-button-group:disabled,
.k-button-group.k-disabled,
.k-button-group[disabled] {
  background-color: inherit;
}

.k-actions, .k-form-buttons, .k-edit-buttons,
.k-action-buttons,
.k-columnmenu-actions {
  padding-inline: var(--kendo-actions-padding-x, var(--kendo-spacing-3, 0.75rem));
  padding-block: var(--kendo-actions-padding-y, var(--kendo-spacing-3, 0.75rem));
  box-sizing: border-box;
  border-width: var(--kendo-actions-border-width, 0px) 0 0 0;
  border-style: solid;
  border-color: inherit;
  flex-shrink: 0;
  display: flex;
  flex-flow: row nowrap;
  align-items: center;
  gap: var(--kendo-actions-button-spacing, var(--kendo-spacing-2, 0.5rem));
  overflow: hidden;
}
.k-actions *, .k-form-buttons *, .k-edit-buttons *,
.k-action-buttons *,
.k-columnmenu-actions *,
.k-actions *::before,
.k-form-buttons *::before,
.k-edit-buttons *::before,
.k-action-buttons *::before,
.k-columnmenu-actions *::before,
.k-actions *::after,
.k-form-buttons *::after,
.k-edit-buttons *::after,
.k-action-buttons *::after,
.k-columnmenu-actions *::after {
  box-sizing: border-box;
}

.k-actions-start {
  justify-content: flex-start;
}

.k-actions-center {
  justify-content: center;
}

.k-actions-end {
  justify-content: flex-end;
}

.k-actions-justify {
  justify-content: space-between;
}

.k-actions-stretched > * {
  flex: 1 0 0%;
}

.k-actions-horizontal {
  width: 100%;
  flex-flow: row nowrap;
}

.k-actions-vertical {
  flex-flow: column nowrap;
  align-items: normal;
}

.k-actions, .k-form-buttons, .k-edit-buttons,
.k-action-buttons,
.k-columnmenu-actions {
  border-color: var(--kendo-actions-border, inherit);
  color: var(--kendo-actions-text, inherit);
  background-color: var(--kendo-actions-bg, inherit);
}

.k-justify-content-normal {
  justify-content: normal;
}

.\!k-justify-content-normal {
  justify-content: normal !important;
}

.k-justify-content-stretch {
  justify-content: stretch;
}

.\!k-justify-content-stretch {
  justify-content: stretch !important;
}

.k-justify-content-center {
  justify-content: center;
}

.\!k-justify-content-center {
  justify-content: center !important;
}

.k-justify-content-start {
  justify-content: start;
}

.\!k-justify-content-start {
  justify-content: start !important;
}

.k-justify-content-end {
  justify-content: end;
}

.\!k-justify-content-end {
  justify-content: end !important;
}

.k-justify-content-flex-start {
  justify-content: flex-start;
}

.\!k-justify-content-flex-start {
  justify-content: flex-start !important;
}

.k-justify-content-flex-end {
  justify-content: flex-end;
}

.\!k-justify-content-flex-end {
  justify-content: flex-end !important;
}

.k-justify-content-left {
  justify-content: left;
}

.\!k-justify-content-left {
  justify-content: left !important;
}

.k-justify-content-right {
  justify-content: right;
}

.\!k-justify-content-right {
  justify-content: right !important;
}

.k-justify-content-baseline {
  justify-content: baseline;
}

.\!k-justify-content-baseline {
  justify-content: baseline !important;
}

.k-justify-content-first-baseline {
  justify-content: first baseline;
}

.\!k-justify-content-first-baseline {
  justify-content: first baseline !important;
}

.k-justify-content-last-baseline {
  justify-content: last baseline;
}

.\!k-justify-content-last-baseline {
  justify-content: last baseline !important;
}

.k-justify-content-between {
  justify-content: space-between;
}

.\!k-justify-content-between {
  justify-content: space-between !important;
}

.k-justify-content-around {
  justify-content: space-around;
}

.\!k-justify-content-around {
  justify-content: space-around !important;
}

.k-justify-content-evenly {
  justify-content: space-evenly;
}

.\!k-justify-content-evenly {
  justify-content: space-evenly !important;
}

.k-justify-content-stretch > * {
  flex: 1 0 0%;
}

.\!.k-justify-content-stretch > * {
  flex: 1 0 0% !important;
}

.k-list-container {
  display: flex;
  flex-flow: column nowrap;
}
.k-list-container > .k-list {
  flex: 1;
  height: 100%;
}

.k-list {
  margin: 0;
  padding: 0;
  box-sizing: border-box;
  font-family: var(--kendo-list-font-family, var(--kendo-font-family, inherit));
  font-size: var(--INTERNAL--kendo-list-font-size, 1rem);
  line-height: var(--INTERNAL--kendo-list-line-height, normal);
  display: flex;
  flex-flow: column nowrap;
  outline: none;
  position: relative;
  overflow: hidden;
}
.k-list *,
.k-list *::before,
.k-list *::after {
  box-sizing: border-box;
}

.k-popup > .k-list {
  height: 100%;
  border-width: 0;
}

.k-list-group-sticky-header {
  padding-inline: var(--INTERNAL--kendo-list-header-padding-x, 0);
  padding-block: var(--INTERNAL--kendo-list-header-padding-y, 0);
  border-width: 0;
  border-width: var(--kendo-list-header-border-width, 0);
  border-style: solid;
  font-size: var(--INTERNAL--kendo-list-header-font-size, 1rem);
  line-height: var(--INTERNAL--kendo-list-header-line-height, normal);
  font-weight: var(--kendo-list-header-font-weight, var(--kendo-font-weight-bold, normal));
  white-space: nowrap;
  display: flex;
  flex-flow: row nowrap;
  align-items: center;
  flex: none;
  overflow: hidden;
  text-overflow: ellipsis;
  cursor: pointer;
  z-index: 1;
}

.k-list-content {
  border-color: inherit;
  flex: 1 1 auto;
  overflow: hidden;
  overflow-y: auto;
  position: relative;
}

.k-list-ul {
  margin: 0;
  padding: 0;
  border-width: 0;
  border-color: inherit;
  height: auto;
  list-style: none;
}

.k-list-item, .k-list-custom-value, .k-list-optionlabel {
  padding-inline: var(--INTERNAL--kendo-list-item-padding-x, 0);
  padding-block: var(--INTERNAL--kendo-list-item-padding-y, 0);
  border: 0;
  font-size: var(--INTERNAL--kendo-list-item-font-size, 1rem);
  line-height: var(--INTERNAL--kendo-list-item-line-height, normal);
  outline: none;
  cursor: pointer;
  display: flex;
  flex-flow: row nowrap;
  align-items: center;
  align-content: center;
  gap: var(--kendo-icon-spacing, 0.5rem);
  position: relative;
  transition-property: color, background-color, outline-color, box-shadow;
  transition-duration: 200ms;
  transition-timing-function: ease;
}
.k-list-item.k-first::before, .k-first.k-list-custom-value::before, .k-first.k-list-optionlabel::before {
  content: "";
  border-width: 1px 0 0;
  border-style: solid;
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
}

.k-list-item-text::before,
.k-list-header-text::before,
.k-list-optionlabel::before {
  content: "​";
  width: 0px;
  overflow: hidden;
}

.k-list-optionlabel {
  column-gap: 0;
}

.k-list-custom-value {
  font-style: italic;
  position: sticky;
}

.k-list-group-item {
  padding-inline: var(--INTERNAL--kendo-list-group-item-padding-x, 0);
  padding-block: var(--INTERNAL--kendo-list-group-item-padding-y, 0);
  border-width: 0;
  border-width: var(--kendo-list-group-item-border-width, 1px 0 0);
  border-style: solid;
  font-size: var(--INTERNAL--kendo-list-group-item-font-size, 1rem);
  line-height: var(--INTERNAL--kendo-list-group-item-line-height, normal);
  font-weight: var(--kendo-list-group-item-font-weight, var(--kendo-font-weight-bold, normal));
  cursor: default;
  display: flex;
  flex-flow: row nowrap;
  align-items: center;
  align-content: center;
  gap: var(--kendo-icon-spacing, 0.5rem);
  position: relative;
}

.k-list-item-group-label {
  padding-inline: var(--INTERNAL--kendo-list-item-group-label-padding-x, 0);
  padding-block: var(--INTERNAL--kendo-list-item-group-label-padding-y, 0);
  font-size: var(--INTERNAL--kendo-list-item-group-label-font-size, 1rem);
  position: absolute;
  top: 0;
  inset-inline-end: 0;
}

.k-virtual-content,
.k-virtual-list .k-list-content {
  overflow-y: scroll;
}

.k-virtual-list .k-list-item, .k-virtual-list .k-list-optionlabel, .k-virtual-list .k-list-custom-value,
.k-virtual-list .k-list-group-item,
.k-virtual-content .k-list-item,
.k-virtual-content .k-list-optionlabel,
.k-virtual-content .k-list-custom-value,
.k-virtual-content .k-list-group-item {
  position: absolute;
  width: 100%;
}

.k-virtual-list .k-list-item-text,
.k-virtual-list .k-list-header-text {
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.k-virtual-list .k-list-optionlabel {
  position: relative;
}

.k-list-filter {
  display: block;
  position: relative;
  padding: var(--kendo-spacing-2, 0.5rem);
  box-sizing: border-box;
  flex: 0 0 auto;
}

.k-list-sm {
  --INTERNAL--kendo-list-font-size: var( --kendo-list-sm-font-size, var(--kendo-font-size, inherit) );
  --INTERNAL--kendo-list-line-height: var( --kendo-list-sm-line-height, var(--kendo-line-height, normal) );
}
.k-list-sm .k-list-group-sticky-header {
  --INTERNAL--kendo-list-header-padding-x: var( --kendo-list-sm-header-padding-x, var(--kendo-spacing-2, 0.5rem) );
  --INTERNAL--kendo-list-header-padding-y: var( --kendo-list-sm-header-padding-y, var(--kendo-spacing-1\.5, 0.375rem) );
  --INTERNAL--kendo-list-header-font-size: var( --kendo-list-sm-header-font-size, var(--kendo-font-size, inherit) );
  --INTERNAL--kendo-list-header-line-height: var( --kendo-list-sm-header-line-height, var(--kendo-line-height, normal) );
}
.k-list-sm .k-list-item, .k-list-sm .k-list-optionlabel, .k-list-sm .k-list-custom-value {
  --INTERNAL--kendo-list-item-padding-x: var( --kendo-list-sm-item-padding-x, var(--kendo-spacing-2, 0.5rem) );
  --INTERNAL--kendo-list-item-padding-y: var( --kendo-list-sm-item-padding-y, var(--kendo-spacing-1\.5, 0.375rem) );
  --INTERNAL--kendo-list-item-font-size: var( --kendo-list-sm-item-font-size, var(--kendo-font-size, inherit) );
  --INTERNAL--kendo-list-item-line-height: var( --kendo-list-sm-item-line-height, var(--kendo-line-height, normal) );
}
.k-list-sm .k-list-group-item {
  --INTERNAL--kendo-list-group-item-padding-x: var( --kendo-list-sm-group-item-padding-x, var(--kendo-spacing-2, 0.5rem) );
  --INTERNAL--kendo-list-group-item-padding-y: var( --kendo-list-sm-group-item-padding-y, var(--kendo-spacing-1\.5, 0.375rem) );
  --INTERNAL--kendo-list-group-item-font-size: var( --kendo-list-sm-group-item-font-size, var(--kendo-font-size, inherit) );
  --INTERNAL--kendo-list-group-item-line-height: var( --kendo-list-sm-group-item-line-height, var(--kendo-line-height, normal) );
}
.k-list-sm .k-list-item-group-label {
  --INTERNAL--kendo-list-item-group-label-padding-x: var( --kendo-list-sm-item-group-label-padding-x, var(--kendo-spacing-0\.5, 0.125rem) );
  --INTERNAL--kendo-list-item-group-label-padding-y: var( --kendo-list-sm-item-group-label-padding-y, var(--kendo-spacing-0\.5, 0.125rem) );
  --INTERNAL--kendo-list-item-group-label-font-size: var( --kendo-list-sm-item-group-label-font-size, var(--kendo-font-size-xs, inherit) );
}

.k-list-md {
  --INTERNAL--kendo-list-font-size: var( --kendo-list-md-font-size, var(--kendo-font-size, inherit) );
  --INTERNAL--kendo-list-line-height: var( --kendo-list-md-line-height, var(--kendo-line-height, normal) );
}
.k-list-md .k-list-group-sticky-header {
  --INTERNAL--kendo-list-header-padding-x: var( --kendo-list-md-header-padding-x, var(--kendo-spacing-2, 0.5rem) );
  --INTERNAL--kendo-list-header-padding-y: var( --kendo-list-md-header-padding-y, var(--kendo-spacing-2, 0.5rem) );
  --INTERNAL--kendo-list-header-font-size: var( --kendo-list-md-header-font-size, var(--kendo-font-size, inherit) );
  --INTERNAL--kendo-list-header-line-height: var( --kendo-list-md-header-line-height, var(--kendo-line-height, normal) );
}
.k-list-md .k-list-item, .k-list-md .k-list-optionlabel, .k-list-md .k-list-custom-value {
  --INTERNAL--kendo-list-item-padding-x: var( --kendo-list-md-item-padding-x, var(--kendo-spacing-2, 0.5rem) );
  --INTERNAL--kendo-list-item-padding-y: var( --kendo-list-md-item-padding-y, var(--kendo-spacing-2, 0.5rem) );
  --INTERNAL--kendo-list-item-font-size: var( --kendo-list-md-item-font-size, var(--kendo-font-size, inherit) );
  --INTERNAL--kendo-list-item-line-height: var( --kendo-list-md-item-line-height, var(--kendo-line-height, normal) );
}
.k-list-md .k-list-group-item {
  --INTERNAL--kendo-list-group-item-padding-x: var( --kendo-list-md-group-item-padding-x, var(--kendo-spacing-2, 0.5rem) );
  --INTERNAL--kendo-list-group-item-padding-y: var( --kendo-list-md-group-item-padding-y, var(--kendo-spacing-2, 0.5rem) );
  --INTERNAL--kendo-list-group-item-font-size: var( --kendo-list-md-group-item-font-size, var(--kendo-font-size, inherit) );
  --INTERNAL--kendo-list-group-item-line-height: var( --kendo-list-md-group-item-line-height, var(--kendo-line-height, normal) );
}
.k-list-md .k-list-item-group-label {
  --INTERNAL--kendo-list-item-group-label-padding-x: var( --kendo-list-md-item-group-label-padding-x, var(--kendo-spacing-1, 0.25rem) );
  --INTERNAL--kendo-list-item-group-label-padding-y: var( --kendo-list-md-item-group-label-padding-y, var(--kendo-spacing-1, 0.25rem) );
  --INTERNAL--kendo-list-item-group-label-font-size: var( --kendo-list-md-item-group-label-font-size, var(--kendo-font-size-xs, inherit) );
}

.k-list-lg {
  --INTERNAL--kendo-list-font-size: var( --kendo-list-lg-font-size, var(--kendo-font-size, inherit) );
  --INTERNAL--kendo-list-line-height: var( --kendo-list-lg-line-height, var(--kendo-line-height, normal) );
}
.k-list-lg .k-list-group-sticky-header {
  --INTERNAL--kendo-list-header-padding-x: var( --kendo-list-lg-header-padding-x, var(--kendo-spacing-2, 0.5rem) );
  --INTERNAL--kendo-list-header-padding-y: var( --kendo-list-lg-header-padding-y, var(--kendo-spacing-2\.5, 0.625rem) );
  --INTERNAL--kendo-list-header-font-size: var( --kendo-list-lg-header-font-size, var(--kendo-font-size, inherit) );
  --INTERNAL--kendo-list-header-line-height: var( --kendo-list-lg-header-line-height, var(--kendo-line-height, normal) );
}
.k-list-lg .k-list-item, .k-list-lg .k-list-optionlabel, .k-list-lg .k-list-custom-value {
  --INTERNAL--kendo-list-item-padding-x: var( --kendo-list-lg-item-padding-x, var(--kendo-spacing-2, 0.5rem) );
  --INTERNAL--kendo-list-item-padding-y: var( --kendo-list-lg-item-padding-y, var(--kendo-spacing-2\.5, 0.625rem) );
  --INTERNAL--kendo-list-item-font-size: var( --kendo-list-lg-item-font-size, var(--kendo-font-size, inherit) );
  --INTERNAL--kendo-list-item-line-height: var( --kendo-list-lg-item-line-height, var(--kendo-line-height, normal) );
}
.k-list-lg .k-list-group-item {
  --INTERNAL--kendo-list-group-item-padding-x: var( --kendo-list-lg-group-item-padding-x, var(--kendo-spacing-2, 0.5rem) );
  --INTERNAL--kendo-list-group-item-padding-y: var( --kendo-list-lg-group-item-padding-y, var(--kendo-spacing-2\.5, 0.625rem) );
  --INTERNAL--kendo-list-group-item-font-size: var( --kendo-list-lg-group-item-font-size, var(--kendo-font-size, inherit) );
  --INTERNAL--kendo-list-group-item-line-height: var( --kendo-list-lg-group-item-line-height, var(--kendo-line-height, normal) );
}
.k-list-lg .k-list-item-group-label {
  --INTERNAL--kendo-list-item-group-label-padding-x: var( --kendo-list-lg-item-group-label-padding-x, var(--kendo-spacing-1\.5, 0.375rem) );
  --INTERNAL--kendo-list-item-group-label-padding-y: var( --kendo-list-lg-item-group-label-padding-y, var(--kendo-spacing-1\.5, 0.375rem) );
  --INTERNAL--kendo-list-item-group-label-font-size: var( --kendo-list-lg-item-group-label-font-size, var(--kendo-font-size-xs, inherit) );
}

.k-list {
  border-color: var(--kendo-list-border, var(--kendo-component-border, inherit));
  color: var(--kendo-list-text, var(--kendo-component-text, inherit));
  background-color: var(--kendo-list-bg, var(--kendo-component-bg, transparent));
}

.k-list-group-sticky-header {
  border-color: var(--kendo-list-header-border, inherit);
  color: var(--kendo-list-header-text, var(--kendo-color-primary, #0078d4));
  background-color: var(--kendo-list-header-bg, var(--kendo-color-app-surface, #ffffff));
  box-shadow: var(--kendo-list-header-shadow, var(--kendo-elevation-3, none));
}

.k-list-item, .k-list-optionlabel, .k-list-custom-value {
  --INTERNAL--kendo-list-item-text: var( --kendo-list-item-text, var(--kendo-color-on-app-surface, #323130) );
  --INTERNAL--kendo-list-item-bg: var( --kendo-list-item-bg, var(--kendo-color-app-surface, #ffffff) );
  color: var(--INTERNAL--kendo-list-item-text, inherit);
  background-color: var(--INTERNAL--kendo-list-item-bg, transparent);
}
.k-list-item:hover, .k-list-optionlabel:hover, .k-list-custom-value:hover, .k-list-item.k-hover, .k-hover.k-list-optionlabel, .k-hover.k-list-custom-value {
  --INTERNAL--kendo-list-item-text: var( --kendo-list-item-hover-text, var(--kendo-color-on-app-surface, #323130) );
  --INTERNAL--kendo-list-item-bg: var( --kendo-list-item-hover-bg, var(--kendo-color-base-hover, #f3f2f1) );
}
.k-list-item:focus, .k-list-optionlabel:focus, .k-list-custom-value:focus, .k-list-item.k-focus, .k-focus.k-list-optionlabel, .k-focus.k-list-custom-value {
  --INTERNAL--kendo-list-item-text: var( --kendo-list-item-focus-text, var(--kendo-color-on-app-surface, #323130) );
  --INTERNAL--kendo-list-item-bg: var( --kendo-list-item-focus-bg, var(--kendo-color-app-surface, #ffffff) );
  box-shadow: var(--kendo-list-item-focus-shadow, inset 0 0 0 1px var(--kendo-color-base-emphasis, #605e5c));
}
.k-list-item.k-selected, .k-selected.k-list-optionlabel, .k-selected.k-list-custom-value {
  --INTERNAL--kendo-list-item-text: var( --kendo-list-item-selected-text, var(--kendo-color-on-app-surface, #323130) );
  --INTERNAL--kendo-list-item-bg: var( --kendo-list-item-selected-bg, var(--kendo-color-base-active, #edebe9) );
}
.k-list-item.k-selected:hover, .k-selected.k-list-optionlabel:hover, .k-selected.k-list-custom-value:hover, .k-list-item.k-selected.k-hover, .k-selected.k-hover.k-list-optionlabel, .k-selected.k-hover.k-list-custom-value {
  --INTERNAL--kendo-list-item-text: var( --kendo-list-item-selected-hover-text, var(--kendo-color-on-app-surface, #323130) );
  --INTERNAL--kendo-list-item-bg: var( --kendo-list-item-selected-hover-bg, var(--kendo-color-base-active, #edebe9) );
}
.k-list-item:disabled, .k-list-optionlabel:disabled, .k-list-custom-value:disabled, .k-list-item.k-disabled, .k-disabled.k-list-optionlabel, .k-disabled.k-list-custom-value {
  --INTERNAL--kendo-list-item-text: var( --kendo-list-item-disabled-text, color-mix(in srgb, var(--kendo-color-on-app-surface, #323130) 46%, transparent) );
  --INTERNAL--kendo-list-item-bg: var( --kendo-list-item-disabled-bg, var(--kendo-color-app-surface, #ffffff) );
}

.k-list-item .k-icon, .k-list-optionlabel .k-icon, .k-list-custom-value .k-icon {
  color: var(--kendo-list-item-icon-text, var(--kendo-color-primary, #0078d4));
}

.k-list-optionlabel,
.k-list-optionlabel.k-hover,
.k-list-optionlabel:hover {
  color: var(--kendo-list-option-label-text, var(--kendo-color-subtle, #605e5c));
}

.k-list-optionlabel:disabled,
.k-list-optionlabel.k-disabled {
  color: var(--kendo-list-option-label-disabled-text, color-mix(in srgb, var(--kendo-color-on-app-surface, #323130) 46%, transparent));
}

.k-list-group-item {
  border-color: var(--kendo-list-group-item-border, inherit);
  color: var(--kendo-list-group-item-text, var(--kendo-color-primary, #0078d4));
  background-color: var(--kendo-list-group-item-bg, var(--kendo-color-app-surface, #ffffff));
  box-shadow: var(--kendo-list-group-item-shadow, none);
}

.k-list-item-group-label {
  color: var(--kendo-list-bg, var(--kendo-component-bg, transparent));
  background-color: var(--kendo-list-text, var(--kendo-component-text, inherit));
}

.k-listgroup {
  border-radius: var(--kendo-listgroup-border-radius, var(--kendo-border-radius-md, 0.25rem));
  margin: 0;
  padding: 0;
  border-width: var(--kendo-listgroup-border-width, 1px);
  border-style: solid;
  font-size: var(--kendo-listgroup-font-size, var(--kendo-font-size, inherit));
  line-height: var(--kendo-listgroup-line-height, var(--kendo-line-height, normal));
  list-style: none;
  display: flex;
  flex-direction: column;
  position: relative;
  overflow: hidden;
}
.k-listgroup > ul {
  margin: 0;
  padding: 0;
  list-style: none;
  display: flex;
  flex-direction: column;
}
.k-listgroup .k-listgroup-item + .k-listgroup-item {
  border-top-width: var(--kendo-listgroup-item-border-width, 1px);
}

.k-listgroup-flush {
  border-radius: 0;
  border-left-width: 0;
  border-right-width: 0;
}

.k-listgroup-item {
  padding-inline: var(--kendo-listgroup-item-padding-x, var(--kendo-spacing-2, 0.5rem));
  padding-block: var(--kendo-listgroup-item-padding-y, var(--kendo-spacing-2, 0.5rem));
  border-width: 0;
  border-style: solid;
  border-color: inherit;
  display: flex;
  flex-direction: row;
  align-items: center;
  justify-content: flex-start;
  flex: 0 0 auto;
  position: relative;
}
.k-listgroup-item > .k-link {
  margin-inline: var(--kendo-listgroup-item-padding-x, calc(var(--kendo-spacing-2, 0.5rem) * -1));
  margin-block: var(--kendo-listgroup-item-padding-y, calc(var(--kendo-spacing-2, 0.5rem) * -1));
  padding-inline: var(--kendo-listgroup-item-padding-x, var(--kendo-spacing-2, 0.5rem));
  padding-block: var(--kendo-listgroup-item-padding-y, var(--kendo-spacing-2, 0.5rem));
  color: inherit;
  text-decoration: none;
  outline: 0;
  display: flex;
  flex-direction: row;
  align-items: center;
  justify-content: flex-start;
  flex: 1 1 auto;
  position: relative;
}
.k-listgroup-item > .k-link > .k-select {
  padding-inline: var(--kendo-listgroup-item-padding-y, var(--kendo-spacing-2, 0.5rem));
  padding-block: var(--kendo-listgroup-item-padding-y, var(--kendo-spacing-2, 0.5rem));
  display: flex;
  align-items: center;
  flex: 0 0 auto;
  position: absolute;
  top: 50%;
  right: 0;
  transform: translateY(-50%);
}

.k-listgroup-item-segmented {
  align-items: stretch;
}
.k-listgroup-item-segmented > .k-link {
  margin-inline-end: 0;
}
.k-listgroup-item-segmented > .k-select {
  margin-inline-start: 0;
  margin-inline-end: var(--kendo-listgroup-item-padding-x, calc(var(--kendo-spacing-2, 0.5rem) * -1));
  margin-block: var(--kendo-listgroup-item-padding-y, calc(var(--kendo-spacing-2, 0.5rem) * -1));
  padding-inline: var(--kendo-listgroup-item-padding-y, var(--kendo-spacing-2, 0.5rem));
  padding-block: var(--kendo-listgroup-item-padding-y, var(--kendo-spacing-2, 0.5rem));
  border-width: 0 0 0 1px;
  border-style: solid;
  border-color: inherit;
  cursor: pointer;
}

.k-listgroup-form-row {
  margin-inline: var(--kendo-listgroup-item-padding-x, calc(var(--kendo-spacing-2, 0.5rem) * -1));
  margin-block: var(--kendo-listgroup-item-padding-y, calc(var(--kendo-spacing-2, 0.5rem) * -1));
  padding-inline: var(--kendo-listgroup-item-padding-x, var(--kendo-spacing-2, 0.5rem));
  padding-block: var(--kendo-listgroup-item-padding-y, var(--kendo-spacing-2, 0.5rem));
  display: flex;
  flex-direction: row;
  align-items: center;
  justify-content: space-between;
  flex: 1 1 auto;
  position: relative;
}
.k-listgroup-form-row .k-listgroup-form-field-label {
  width: 40%;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.k-listgroup-form-row .k-listgroup-form-field-wrapper {
  width: 50%;
  display: flex;
  flex-direction: row;
  align-items: center;
  justify-content: flex-end;
  text-align: end;
  position: relative;
}
.k-listgroup-form-row .k-listgroup-form-field-wrapper select,
.k-listgroup-form-row .k-listgroup-form-field-wrapper input[type=text],
.k-listgroup-form-row .k-listgroup-form-field-wrapper input[type=password],
.k-listgroup-form-row .k-listgroup-form-field-wrapper input[type=date],
.k-listgroup-form-row .k-listgroup-form-field-wrapper input[type=time],
.k-listgroup-form-row .k-listgroup-form-field-wrapper input[type=datetime-local],
.k-listgroup-form-row .k-listgroup-form-field-wrapper input[type=number],
.k-listgroup-form-row .k-listgroup-form-field-wrapper textarea {
  width: 100%;
  box-sizing: border-box;
  flex: 1 1 100%;
}
.k-listgroup-form-row .k-listgroup-form-field-wrapper textarea {
  min-height: 4em;
  resize: vertical;
}

.k-listgroup-item.k-listgroup-form-row {
  margin: 0;
}

[dir=rtl] .k-listgroup-item > .k-link > .k-select {
  right: auto;
  left: 0;
}
[dir=rtl] .k-listgroup-item-segmented > .k-select {
  border-right-width: 1px;
  border-left-width: 0;
}

.k-listgroup {
  border-color: var(--kendo-listgroup-border, var(--kendo-component-border, inherit));
  color: var(--kendo-listgroup-text, var(--kendo-component-text, inherit));
  background-color: var(--kendo-listgroup-bg, var(--kendo-component-bg, transparent));
}

.k-overlay {
  width: 100%;
  height: 100%;
  opacity: var(--kendo-overlay-opacity, 0.4);
  position: fixed;
  top: 0;
  left: 0;
  z-index: 10001;
}

.k-overlay,
.k-overlay-dark {
  background-color: var(--kendo-overlay-dark, #000000);
}

.k-overlay-light {
  background-color: var(--kendo-overlay-light, #ffffff);
}

.k-animation-container {
  position: absolute;
  overflow: hidden;
  z-index: 100;
  outline: none;
}
.k-animation-container-fixed {
  position: fixed;
}
.k-animation-container-relative {
  position: relative;
  display: inline-block;
}

.k-animation-container {
  border-radius: 0 0 var(--kendo-popup-border-radius, var(--kendo-border-radius-md, 0.25rem)) var(--kendo-popup-border-radius, var(--kendo-border-radius-md, 0.25rem));
}

.k-animation-container-shown {
  overflow: visible;
}

.k-popup {
  margin: 0;
  padding-inline: var(--kendo-popup-padding-x, var(--kendo-spacing-0, 0px));
  padding-block: var(--kendo-popup-padding-y, var(--kendo-spacing-0, 0px));
  border-width: var(--kendo-popup-border-width, 0);
  border-style: solid;
  border-radius: var(--kendo-popup-border-radius, var(--kendo-border-radius-md, 0.25rem));
  box-sizing: border-box;
  font-size: var(--kendo-popup-font-size, var(--kendo-font-size, inherit));
  line-height: var(--kendo-popup-line-height, var(--kendo-line-height, normal));
  display: flex;
  flex-direction: column;
  align-items: stretch;
}
.k-popup .k-item {
  outline: none;
}

.k-popup > .k-colorpalette {
  padding-inline: var(--kendo-popup-content-padding-x, var(--kendo-spacing-2, 0.5rem));
  padding-block: var(--kendo-popup-content-padding-y, var(--kendo-spacing-2, 0.5rem));
}

.k-popup.k-popup-transparent {
  border-width: 0;
  background-color: transparent;
  box-shadow: none;
}

.k-popup.k-popup-flush {
  padding: 0;
}

.k-popup > .k-coloreditor {
  border-width: 0;
  box-shadow: none;
}

.k-popup .k-column-list {
  max-height: 200px;
  overflow-x: hidden;
  overflow-y: auto;
}

.k-popup .k-multicheck-wrap {
  max-height: 300px;
  overflow: auto;
}

.k-popup {
  border-color: var(--kendo-popup-border, var(--kendo-component-border, initial));
  color: var(--kendo-popup-text, var(--kendo-component-text, initial));
  background-color: var(--kendo-popup-bg, var(--kendo-component-bg, initial));
  box-shadow: var(--kendo-popup-shadow, var(--kendo-box-shadow-depth-4, none));
}

.k-ripple-target {
  position: relative;
}

.k-ripple {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  z-index: 1;
  overflow: hidden;
  pointer-events: none;
}

.k-ripple-blob {
  pointer-events: none;
  position: absolute;
  border-radius: 50%;
  padding: 0;
  transform: translate(-50%, -50%) scale(0);
  transition: opacity 100ms linear, transform 500ms cubic-bezier(0.4, 0, 0.2, 1);
  opacity: 0.1;
  background-color: currentColor;
}

.k-primary .k-ripple-blob {
  opacity: 0.2;
}

.k-ripple-focus::after {
  visibility: visible;
  animation: ripple 600ms ease-out;
}

@keyframes ripple {
  0% {
    transform: translate(-50%, -50%) scale(0);
  }
  20% {
    transform: translate(-50%, -50%) scale(1);
  }
  100% {
    opacity: 0;
    transform: translate(-50%, -50%) scale(1);
  }
}
.k-table {
  width: 100%;
  max-width: none;
  border-width: var(--kendo-table-border-width, 1px);
  border-style: solid;
  font-size: var(--INTERNAL--kendo-table-font-size, var(--kendo-font-size, inherit));
  line-height: var(--INTERNAL--kendo-table-line-height, var(--kendo-line-height, inherit));
  text-align: start;
  border-collapse: collapse;
  border-spacing: 0;
  empty-cells: show;
  outline: none;
}

.k-data-table {
  border-width: var(--kendo-table-border-width, 1px);
  border-style: solid;
}
.k-data-table .k-table {
  table-layout: fixed;
}
.k-data-table .k-table-th {
  border-block-start-width: 0;
}

.k-table-thead,
.k-table-tbody,
.k-table-tfoot,
.k-table-row,
.k-table-alt-row {
  border-color: inherit;
  text-align: inherit;
}

.k-table-th,
.k-table-td {
  padding-inline: var(--INTERNAL--kendo-table-cell-padding-x, 0);
  padding-block: var(--INTERNAL--kendo-table-cell-padding-y, 0);
  border-block-width: var(--kendo-table-cell-horizontal-border-width, 1px);
  border-inline-width: var(--kendo-table-cell-vertical-border-width, 0px);
  border-style: solid;
  border-color: inherit;
  box-sizing: border-box;
  font-weight: normal;
  text-align: inherit;
  white-space: nowrap;
  text-overflow: ellipsis;
  display: table-cell;
  overflow: hidden;
  position: relative;
}
.k-table-th:first-child,
.k-table-td:first-child {
  border-inline-start-width: 0;
}

.k-table-th {
  font-weight: var(--kendo-table-header-font-weight, var(--kendo-font-weight-bold, normal));
}

.k-table-header {
  padding-inline-end: var(--kendo-scrollbar-width, 17px);
  border-block-start-width: 0;
  border-block-end-width: 1px;
  border-inline-width: 0;
  border-style: solid;
  box-sizing: border-box;
}
.k-table-header .k-table {
  border-width: 0;
}

.k-table-header-wrap {
  margin-inline-end: calc(var(--kendo-table-border-width, 1px) * -1);
  width: 100%;
  border-block-width: 0;
  border-inline-start-width: 0;
  border-inline-end-width: var(--kendo-table-cell-vertical-border-width, 0px);
  border-style: solid;
  border-color: inherit;
  overflow: hidden;
}

.k-table-header > .k-table,
.k-table-header-wrap > .k-table {
  margin-block-end: calc(var(--kendo-table-border-width, 1px) * -1);
}

.k-table-group-sticky-header,
.k-table-group-header {
  flex: none;
  position: relative;
  z-index: 1;
}
.k-table-group-sticky-header .k-table-th,
.k-table-group-header .k-table-th {
  display: flex;
  flex-flow: row nowrap;
  align-items: center;
  align-content: center;
}

.k-table-list {
  margin: 0;
  padding: 0;
  width: 100%;
  max-width: none;
  border-width: 0;
  display: table;
  border-collapse: collapse;
  border-spacing: 0;
  table-layout: fixed;
  empty-cells: show;
  list-style: none;
  outline: none;
}
.k-table-list .k-table-row {
  position: relative;
}
.k-table-list .k-table-row,
.k-table-list .k-table-group-row {
  width: 100%;
  box-sizing: border-box;
  display: table-row;
}
.k-table-list .k-table-row:first-child .k-table-td,
.k-table-list .k-table-row:last-child .k-table-td {
  border-block-width: 0;
}
.k-table-list .k-table-row.k-first .k-table-td::before {
  content: "";
  display: inherit;
  border-width: 1px 0 0;
  border-style: solid;
  border-color: currentColor;
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
}
.k-table-list .k-table-th,
.k-table-list .k-table-td {
  vertical-align: middle;
}
.k-table-list .k-table-group-row {
  position: sticky;
}
.k-table-list .k-table-group-row::before {
  content: "​";
  padding-inline: var(--INTERNAL--kendo-table-group-row-padding-x, 0);
  padding-block: var(--INTERNAL--kendo-table-group-row-padding-y, 0);
  width: 0;
  display: block;
  overflow: hidden;
}
.k-table-list .k-table-group-row .k-table-th {
  width: 100%;
  border-block-end-width: 1px;
  border-color: inherit;
  color: inherit;
  background-color: inherit;
  position: absolute;
  top: 0;
}
.k-table-list .k-table-spacer-td {
  padding: 0 !important;
  width: 0 !important;
  border-left-width: 0 !important;
  border-right-width: 0 !important;
}
.k-table-list .k-table-group-td {
  padding: 0 !important;
  width: 0 !important;
  border-left-width: 0 !important;
  border-right-width: 0 !important;
  overflow: visible;
}
.k-table-list .k-table-group-td > span {
  padding-inline: var(--INTERNAL--kendo-table-group-label-padding-x, 0);
  padding-block: var(--INTERNAL--kendo-table-group-label-padding-y, 0);
  font-size: var(--INTERNAL--kendo-table-group-label-font-size, 1rem);
  position: absolute;
  inset-block-start: 0;
  inset-inline-end: 0;
}

.k-virtual-table .k-table-row,
.k-virtual-table .k-table-group-row {
  position: absolute;
  width: 100%;
}

.k-table-scroller {
  position: relative;
  overflow: auto;
}
.k-table-scroller > .k-table {
  border-width: 0;
}

.k-table-footer {
  padding-inline-end: var(--kendo-scrollbar-width, 17px);
  border-block-start-width: 1px;
  border-block-end-width: 0;
  border-inline-width: 0;
  border-style: solid;
  box-sizing: border-box;
}
.k-table-footer .k-table {
  border-width: 0;
}
.k-table-footer .k-table-td {
  border-block-width: 0;
}

.k-table-footer-wrap {
  margin-inline-end: calc(var(--kendo-table-border-width, 1px) * -1);
  width: 100%;
  border-block-width: 0;
  border-inline-start-width: 0;
  border-inline-end-width: var(--kendo-table-cell-vertical-border-width, 0px);
  border-style: solid;
  border-color: inherit;
  overflow: hidden;
}

.k-table-sm {
  --INTERNAL--kendo-table-font-size: var( --kendo-table-size-font-size, var(--kendo-font-size, inherit) );
  --INTERNAL--kendo-table-line-height: var( --kendo-table-size-line-height, var(--kendo-line-height, inherit) );
}

.k-table-sm .k-table-th,
.k-table-sm .k-table-td {
  --INTERNAL--kendo-table-cell-padding-x: var( --kendo-table-sm-cell-padding-x, var(--kendo-spacing-3, 0.75rem) );
  --INTERNAL--kendo-table-cell-padding-y: var( --kendo-table-sm-cell-padding-y, var(--kendo-spacing-1\.5, 0.375rem) );
}

.k-table-sm .k-table-list .k-table-group-td > span {
  --INTERNAL--kendo-table-group-label-padding-x: var( --kendo-table-sm-group-label-padding-x, var(--kendo-spacing-0\.5, 0.125rem) );
  --INTERNAL--kendo-table-group-label-padding-y: var( --kendo-table-sm-group-label-padding-y, var(--kendo-spacing-0\.5, 0.125rem) );
  --INTERNAL--kendo-table-group-label-font-size: var( --kendo-table-sm-group-label-padding-y, var(--kendo-font-size-xs, inherit) );
}

.k-table-sm .k-table-list .k-table-group-row::before {
  --INTERNAL--kendo-table-group-row-padding-x: var( --kendo-table-sm-group-row-padding-x, 0 );
  --INTERNAL--kendo-table-group-row-padding-y: var( --kendo-table-sm-group-row-padding-y, var(--kendo-spacing-1\.5, 0.375rem) );
}

.k-table-md {
  --INTERNAL--kendo-table-font-size: var( --kendo-table-size-font-size, var(--kendo-font-size, inherit) );
  --INTERNAL--kendo-table-line-height: var( --kendo-table-size-line-height, var(--kendo-line-height, inherit) );
}

.k-table-md .k-table-th,
.k-table-md .k-table-td {
  --INTERNAL--kendo-table-cell-padding-x: var( --kendo-table-md-cell-padding-x, var(--kendo-spacing-3, 0.75rem) );
  --INTERNAL--kendo-table-cell-padding-y: var( --kendo-table-md-cell-padding-y, var(--kendo-spacing-3, 0.75rem) );
}

.k-table-md .k-table-list .k-table-group-td > span {
  --INTERNAL--kendo-table-group-label-padding-x: var( --kendo-table-md-group-label-padding-x, var(--kendo-spacing-1, 0.25rem) );
  --INTERNAL--kendo-table-group-label-padding-y: var( --kendo-table-md-group-label-padding-y, var(--kendo-spacing-1, 0.25rem) );
  --INTERNAL--kendo-table-group-label-font-size: var( --kendo-table-md-group-label-padding-y, var(--kendo-font-size-xs, inherit) );
}

.k-table-md .k-table-list .k-table-group-row::before {
  --INTERNAL--kendo-table-group-row-padding-x: var( --kendo-table-md-group-row-padding-x, 0 );
  --INTERNAL--kendo-table-group-row-padding-y: var( --kendo-table-md-group-row-padding-y, var(--kendo-spacing-3, 0.75rem) );
}

.k-table-lg {
  --INTERNAL--kendo-table-font-size: var( --kendo-table-size-font-size, var(--kendo-font-size, inherit) );
  --INTERNAL--kendo-table-line-height: var( --kendo-table-size-line-height, var(--kendo-line-height, inherit) );
}

.k-table-lg .k-table-th,
.k-table-lg .k-table-td {
  --INTERNAL--kendo-table-cell-padding-x: var( --kendo-table-lg-cell-padding-x, var(--kendo-spacing-3, 0.75rem) );
  --INTERNAL--kendo-table-cell-padding-y: var( --kendo-table-lg-cell-padding-y, var(--kendo-spacing-3\.5, 0.875rem) );
}

.k-table-lg .k-table-list .k-table-group-td > span {
  --INTERNAL--kendo-table-group-label-padding-x: var( --kendo-table-lg-group-label-padding-x, var(--kendo-spacing-1\.5, 0.375rem) );
  --INTERNAL--kendo-table-group-label-padding-y: var( --kendo-table-lg-group-label-padding-y, var(--kendo-spacing-1\.5, 0.375rem) );
  --INTERNAL--kendo-table-group-label-font-size: var( --kendo-table-lg-group-label-padding-y, var(--kendo-font-size-xs, inherit) );
}

.k-table-lg .k-table-list .k-table-group-row::before {
  --INTERNAL--kendo-table-group-row-padding-x: var( --kendo-table-lg-group-row-padding-x, 0 );
  --INTERNAL--kendo-table-group-row-padding-y: var( --kendo-table-lg-group-row-padding-y, var(--kendo-spacing-3\.5, 0.875rem) );
}

.k-table,
.k-data-table {
  border-color: var(--kendo-table-border, var(--kendo-component-border, initial));
  color: var(--kendo-table-text, var(--kendo-component-text, initial));
  background-color: var(--kendo-table-bg, var(--kendo-component-bg, initial));
}
.k-table .k-table-td-row-span,
.k-data-table .k-table-td-row-span {
  box-shadow: var(--kendo-table-cell-row-span-shadow, inset 0 0 0 1px var(--kendo-component-border, initial));
}

.k-table-thead,
.k-table-header {
  border-color: var(--kendo-table-header-border, var(--kendo-component-border, initial));
  color: var(--kendo-table-header-text, var(--kendo-color-on-app-surface, #323130));
  background-color: var(--kendo-table-header-bg, var(--kendo-component-bg, initial));
}

.k-table-group-sticky-header,
.k-table-group-header {
  border-color: var(--kendo-table-sticky-header-border, inherit);
  color: var(--kendo-table-sticky-header-text, var(--kendo-color-primary, #0078d4));
  background-color: var(--kendo-table-sticky-header-bg, var(--kendo-color-app-surface, #ffffff));
  box-shadow: var(--kendo-table-sticky-header-shadow, var(--kendo-elevation-3, none));
}

.k-table-tfoot,
.k-table-footer {
  border-color: var(--kendo-table-footer-border, var(--kendo-component-border, initial));
  color: var(--kendo-table-footer-text, var(--kendo-color-on-app-surface, #323130));
  background-color: var(--kendo-table-footer-bg, var(--kendo-component-bg, initial));
}

.k-table-group-row {
  border-color: var(--kendo-table-group-row-border, var(--kendo-component-border, initial));
  color: var(--kendo-table-group-row-text, var(--kendo-color-on-app-surface, #323130));
  background-color: var(--kendo-table-group-row-bg, var(--kendo-component-bg, initial));
}

.k-table-group-td > span {
  color: var(--kendo-table-group-text, var(--kendo-component-bg, transparent));
  background-color: var(--kendo-table-group-bg, var(--kendo-component-text, inherit));
}

.k-table-alt-row {
  border-color: var(--kendo-table-alt-row-border, var(--kendo-component-border, initial));
  color: var(--kendo-table-alt-row-text, var(--kendo-component-text, initial));
  background-color: var(--kendo-table-alt-row-bg, initial);
}

.k-table-tbody .k-table-row:hover,
.k-table-list .k-table-row:hover,
.k-table-tbody .k-table-row.k-hover,
.k-table-list .k-table-row.k-hover {
  border-color: var(--kendo-table-hover-border, var(--kendo-component-border, initial));
  color: var(--kendo-table-hover-text, var(--kendo-hover-text, inherit));
  background-color: var(--kendo-table-hover-bg, var(--kendo-hover-bg, inherit));
}

.k-table-tbody .k-table-row.k-focus,
.k-table-list .k-table-row.k-focus,
.k-table-tbody .k-table-td.k-focus,
.k-table-list .k-table-td.k-focus {
  border-color: var(--kendo-table-focus-border, inherit);
  color: var(--kendo-table-focus-text, inherit);
  background-color: var(--kendo-table-focus-bg, inherit);
  box-shadow: var(--kendo-table-focus-shadow, inset 0 0 0 1px var(--kendo-color-base-emphasis, #605e5c));
  transform: scale(1);
}

.k-table-tbody .k-table-row.k-selected > .k-table-td,
.k-table-list .k-table-row.k-selected {
  border-color: var(--kendo-table-selected-border, var(--kendo-component-border, initial));
  color: var(--kendo-table-selected-text, var(--kendo-component-text, initial));
  background-color: var(--kendo-table-selected-bg, color-mix(in srgb, var(--kendo-color-primary, #0078d4) 13%, transparent));
}

.k-virtual-scroller {
  width: 100%;
  height: 100%;
  flex: 1 1 auto;
  overflow: auto;
  position: relative;
}

.k-virtual-scroller-wrap {
  position: relative;
  z-index: 1;
}

.k-virtual-scroller-content {
  position: absolute;
  width: 100%;
  top: 0;
  inset-inline-start: 0;
}

.k-virtual-scroller-size {
  position: relative;
  z-index: 0;
}

.k-no-data, .k-nodata {
  min-height: var(--kendo-no-data-min-height, 140px);
  display: flex;
  align-items: center;
  justify-content: center;
  font-weight: lighter;
  text-align: center;
  white-space: normal;
}

.k-no-data, .k-nodata {
  color: var(--kendo-no-data-text, var(--kendo-color-on-app-surface, #323130));
}

.k-column-menu-sm {
  font-size: var(--kendo-font-size, inherit);
  line-height: var(--kendo-line-height, normal);
}
.k-column-menu-sm .k-columnmenu-item,
.k-column-menu-sm .k-column-list-item {
  padding-block: var(--kendo-spacing-1\.5, 0.375rem);
  padding-inline: var(--kendo-spacing-2, 0.5rem);
  font-size: var(--kendo-font-size, inherit);
  line-height: var(--kendo-line-height, normal);
}

.k-group-menu-sm {
  font-size: var(--kendo-font-size, inherit);
  line-height: var(--kendo-line-height, normal);
}
.k-group-menu-sm .k-group-menu-item {
  padding-block: var(--kendo-spacing-1\.5, 0.375rem);
  padding-inline: var(--kendo-spacing-2, 0.5rem);
  font-size: var(--kendo-font-size, inherit);
  line-height: var(--kendo-line-height, normal);
}

.k-column-menu-md {
  font-size: var(--kendo-font-size, inherit);
  line-height: var(--kendo-line-height, normal);
}
.k-column-menu-md .k-columnmenu-item,
.k-column-menu-md .k-column-list-item {
  padding-block: var(--kendo-spacing-2, 0.5rem);
  padding-inline: var(--kendo-spacing-2, 0.5rem);
  font-size: var(--kendo-font-size, inherit);
  line-height: var(--kendo-line-height, normal);
}

.k-group-menu-md {
  font-size: var(--kendo-font-size, inherit);
  line-height: var(--kendo-line-height, normal);
}
.k-group-menu-md .k-group-menu-item {
  padding-block: var(--kendo-spacing-2, 0.5rem);
  padding-inline: var(--kendo-spacing-2, 0.5rem);
  font-size: var(--kendo-font-size, inherit);
  line-height: var(--kendo-line-height, normal);
}

.k-column-menu-lg {
  font-size: var(--kendo-font-size, inherit);
  line-height: var(--kendo-line-height, normal);
}
.k-column-menu-lg .k-columnmenu-item,
.k-column-menu-lg .k-column-list-item {
  padding-block: var(--kendo-spacing-2\.5, 0.625rem);
  padding-inline: var(--kendo-spacing-2, 0.5rem);
  font-size: var(--kendo-font-size, inherit);
  line-height: var(--kendo-line-height, normal);
}

.k-group-menu-lg {
  font-size: var(--kendo-font-size, inherit);
  line-height: var(--kendo-line-height, normal);
}
.k-group-menu-lg .k-group-menu-item {
  padding-block: var(--kendo-spacing-2\.5, 0.625rem);
  padding-inline: var(--kendo-spacing-2, 0.5rem);
  font-size: var(--kendo-font-size, inherit);
  line-height: var(--kendo-line-height, normal);
}

.k-group-menu .k-group-menu-item-wrap + .k-group-menu-item-wrap {
  border-top: 1px solid;
}

.k-group-menu-item {
  display: flex;
  user-select: none;
  gap: var(--kendo-spacing-1, 0.25rem);
}

.k-group-menu-item-actions {
  display: flex;
  align-items: center;
  justify-content: center;
  margin-block: calc(var(--kendo-spacing-1, 0.25rem) * -1);
  pointer-events: none;
}

.k-group-menu-item-action {
  display: flex;
  align-items: center;
  justify-content: center;
  padding: var(--kendo-spacing-1, 0.25rem);
  border-radius: var(--kendo-border-radius-md, 0.25rem);
  pointer-events: auto;
  cursor: pointer;
}

.k-group-menu-item-drag-action {
  cursor: move;
}

.k-group-menu-item-action:not(.k-group-menu-item-drag-action).k-hover,
.k-group-menu-item-action:not(.k-group-menu-item-drag-action):hover {
  background-color: color-mix(in srgb, currentColor 5%, transparent);
}

.k-group-menu-item-action:not(.k-group-menu-item-drag-action).k-selected,
.k-group-menu-item-action:not(.k-group-menu-item-drag-action):active {
  background-color: color-mix(in srgb, currentColor 8%, transparent);
}

.k-group-menu-item-action.k-group-menu-item-add-action {
  color: var(--kendo-color-primary, #0078d4);
}

.k-group-menu .k-group-menu-item-wrap + .k-group-menu-item-wrap {
  border-top-color: color-mix(in srgb, var(--kendo-color-border, #8a8886) 16%, transparent);
}

.k-avatar {
  border-width: 0;
  border-style: solid;
  box-sizing: border-box;
  vertical-align: middle;
  display: inline-flex;
  flex-flow: row nowrap;
  justify-content: center;
  align-items: center;
  flex-shrink: 0;
  overflow: hidden;
}
.k-avatar *,
.k-avatar *::before,
.k-avatar *::after {
  box-sizing: border-box;
}

.k-avatar-text,
.k-avatar-initials {
  font-size: var(--kendo-avatar-font-size, var(--kendo-font-size, inherit));
  font-family: var(--kendo-avatar-font-family, var(--kendo-font-family, inherit));
  line-height: var(--kendo-avatar-line-height, var(--kendo-line-height, inherit));
}

.k-avatar-icon {
  display: flex;
  flex-flow: row nowrap;
  align-items: center;
}

.k-avatar-image {
  width: 100%;
  height: 100%;
  background-position: center;
  background-size: cover;
  background-repeat: no-repeat;
}
.k-avatar-image > img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  vertical-align: top;
}

.k-avatar-sm {
  width: var(--kendo-avatar-sm-size, var(--kendo-spacing-4, 1rem));
  height: var(--kendo-avatar-sm-size, var(--kendo-spacing-4, 1rem));
  flex-basis: var(--kendo-avatar-sm-size, var(--kendo-spacing-4, 1rem));
}

.k-avatar-md {
  width: var(--kendo-avatar-md-size, var(--kendo-spacing-8, 2rem));
  height: var(--kendo-avatar-md-size, var(--kendo-spacing-8, 2rem));
  flex-basis: var(--kendo-avatar-md-size, var(--kendo-spacing-8, 2rem));
}

.k-avatar-lg {
  width: var(--kendo-avatar-lg-size, var(--kendo-spacing-16, 4rem));
  height: var(--kendo-avatar-lg-size, var(--kendo-spacing-16, 4rem));
  flex-basis: var(--kendo-avatar-lg-size, var(--kendo-spacing-16, 4rem));
}

.k-avatar-bordered {
  border-width: var(--kendo-avatar-border-width, 1px);
}

.k-avatar-solid-primary {
  color: var(--kendo-avatar-solid-primary-text, var(--kendo-color-on-primary, #ffffff));
  background-color: var(--kendo-avatar-solid-primary-bg, var(--kendo-color-primary, #0078d4));
  border-color: var(--kendo-avatar-solid-primary-border, var(--kendo-color-primary, #0078d4));
}

.k-avatar-solid-error {
  color: var(--kendo-avatar-solid-error-text, var(--kendo-color-on-error, #ffffff));
  background-color: var(--kendo-avatar-solid-error-bg, var(--kendo-color-error, #c2666b));
  border-color: var(--kendo-avatar-solid-error-border, var(--kendo-color-error, #c2666b));
}

.k-avatar-solid-success {
  color: var(--kendo-avatar-solid-success-text, var(--kendo-color-on-success, #ffffff));
  background-color: var(--kendo-avatar-solid-success-bg, var(--kendo-color-success, #55a554));
  border-color: var(--kendo-avatar-solid-success-border, var(--kendo-color-success, #55a554));
}

.k-avatar-solid-info {
  color: var(--kendo-avatar-solid-info-text, var(--kendo-color-on-info, #ffffff));
  background-color: var(--kendo-avatar-solid-info-bg, var(--kendo-color-info, #0a7eff));
  border-color: var(--kendo-avatar-solid-info-border, var(--kendo-color-info, #0a7eff));
}

.k-avatar-solid-secondary {
  color: var(--kendo-avatar-solid-secondary-text, var(--kendo-color-on-secondary, #ffffff));
  background-color: var(--kendo-avatar-solid-secondary-bg, var(--kendo-color-secondary, #979593));
  border-color: var(--kendo-avatar-solid-secondary-border, var(--kendo-color-secondary, #979593));
}

.k-avatar-solid-tertiary {
  color: var(--kendo-avatar-solid-tertiary-text, var(--kendo-color-on-tertiary, #ffffff));
  background-color: var(--kendo-avatar-solid-tertiary-bg, var(--kendo-color-tertiary, #2b88d8));
  border-color: var(--kendo-avatar-solid-tertiary-border, var(--kendo-color-tertiary, #2b88d8));
}

.k-avatar-solid-warning {
  color: var(--kendo-avatar-solid-warning-text, var(--kendo-color-on-warning, #323130));
  background-color: var(--kendo-avatar-solid-warning-bg, var(--kendo-color-warning, #ffc80a));
  border-color: var(--kendo-avatar-solid-warning-border, var(--kendo-color-warning, #ffc80a));
}

.k-avatar-solid-dark {
  color: var(--kendo-avatar-solid-dark-text, var(--kendo-color-on-dark, #ffffff));
  background-color: var(--kendo-avatar-solid-dark-bg, var(--kendo-color-dark, #323130));
  border-color: var(--kendo-avatar-solid-dark-border, var(--kendo-color-dark, #323130));
}

.k-avatar-solid-light {
  color: var(--kendo-avatar-solid-light-text, var(--kendo-color-on-light, #323130));
  background-color: var(--kendo-avatar-solid-light-bg, var(--kendo-color-light, #d2d0ce));
  border-color: var(--kendo-avatar-solid-light-border, var(--kendo-color-light, #d2d0ce));
}

.k-avatar-outline-primary {
  color: var(--kendo-avatar-outline-primary-text, var(--kendo-color-primary, #0078d4));
  background-color: var(--kendo-avatar-outline-primary-bg, var(--kendo-color-on-primary, #ffffff));
  border-color: var(--kendo-avatar-outline-primary-border, var(--kendo-color-primary, #0078d4));
}

.k-avatar-outline-error {
  color: var(--kendo-avatar-outline-error-text, var(--kendo-color-error, #c2666b));
  background-color: var(--kendo-avatar-outline-error-bg, var(--kendo-color-on-error, #ffffff));
  border-color: var(--kendo-avatar-outline-error-border, var(--kendo-color-error, #c2666b));
}

.k-avatar-outline-success {
  color: var(--kendo-avatar-outline-success-text, var(--kendo-color-success, #55a554));
  background-color: var(--kendo-avatar-outline-success-bg, var(--kendo-color-on-success, #ffffff));
  border-color: var(--kendo-avatar-outline-success-border, var(--kendo-color-success, #55a554));
}

.k-avatar-outline-info {
  color: var(--kendo-avatar-outline-info-text, var(--kendo-color-info, #0a7eff));
  background-color: var(--kendo-avatar-outline-info-bg, var(--kendo-color-on-info, #ffffff));
  border-color: var(--kendo-avatar-outline-info-border, var(--kendo-color-info, #0a7eff));
}

.k-avatar-outline-secondary {
  color: var(--kendo-avatar-outline-secondary-text, var(--kendo-color-secondary, #979593));
  background-color: var(--kendo-avatar-outline-secondary-bg, var(--kendo-color-on-secondary, #ffffff));
  border-color: var(--kendo-avatar-outline-secondary-border, var(--kendo-color-secondary, #979593));
}

.k-avatar-outline-tertiary {
  color: var(--kendo-avatar-outline-tertiary-text, var(--kendo-color-tertiary, #2b88d8));
  background-color: var(--kendo-avatar-outline-tertiary-bg, var(--kendo-color-on-tertiary, #ffffff));
  border-color: var(--kendo-avatar-outline-tertiary-border, var(--kendo-color-tertiary, #2b88d8));
}

.k-avatar-outline-warning {
  color: var(--kendo-avatar-outline-warning-text, var(--kendo-color-warning, #ffc80a));
  background-color: var(--kendo-avatar-outline-warning-bg, var(--kendo-color-app-surface, #ffffff));
  border-color: var(--kendo-avatar-outline-warning-border, var(--kendo-color-warning, #ffc80a));
}

.k-avatar-outline-dark {
  color: var(--kendo-avatar-outline-dark-text, var(--kendo-color-dark, #323130));
  background-color: var(--kendo-avatar-outline-dark-bg, var(--kendo-color-on-dark, #ffffff));
  border-color: var(--kendo-avatar-outline-dark-border, var(--kendo-color-dark, #323130));
}

.k-avatar-outline-light {
  color: var(--kendo-avatar-outline-light-text, var(--kendo-color-light, #d2d0ce));
  background-color: var(--kendo-avatar-outline-light-bg, var(--kendo-color-app-surface, #ffffff));
  border-color: var(--kendo-avatar-outline-light-border, var(--kendo-color-light, #d2d0ce));
}

.k-chip {
  padding-inline: var(--INTERNAL-kendo-chip-padding-x, 0);
  padding-block: var(--INTERNAL-kendo-chip-padding-y, 0);
  border-width: var(--kendo-chip-border-width, 1px);
  border-style: solid;
  outline: 0;
  font-family: var(--kendo-chip-font-family, var(--kendo-font-family, inherit));
  font-size: var(--INTERNAL-kendo-chip-font-size, 1rem);
  line-height: var(--INTERNAL-kendo-chip-line-height, normal);
  display: inline-flex;
  flex-flow: row nowrap;
  align-items: center;
  justify-content: center;
  gap: var(--kendo-chip-spacing, var(--kendo-spacing-1, 0.25rem));
  position: relative;
  overflow: hidden;
  cursor: pointer;
  user-select: none;
}
.k-chip *,
.k-chip *::before,
.k-chip *::after {
  box-sizing: border-box;
}
.k-chip .k-selected-icon-wrapper {
  display: none !important;
}
.k-chip:hover, .k-chip:focus {
  outline: 0;
  text-decoration: none;
}
.k-chip.k-chip-outline.k-focus::after, .k-chip.k-chip-outline:focus::after {
  content: "";
  position: absolute;
  border: medium none;
  inset: var(--kendo-chip-focus-offset, var(--kendo-spacing-0\.5, 0.125rem));
  outline-width: var(--kendo-chip-focus-outline-width, 1px);
  outline-style: var(--kendo-chip-focus-outline-style, solid);
  z-index: 1;
}

.k-chip-content {
  min-width: 0;
  display: flex;
  flex-flow: row nowrap;
  align-items: center;
  flex: 1 1 auto;
}
.k-chip-content .k-icon-wrapper-host {
  display: initial;
}

.k-chip-content:first-child {
  margin-inline-start: var(--kendo-chip-spacing, var(--kendo-spacing-1, 0.25rem));
}

.k-chip-content:last-child {
  margin-inline-end: var(--kendo-chip-spacing, var(--kendo-spacing-1, 0.25rem));
}

.k-chip-text,
.k-chip-label {
  padding-block: 0.5em;
  padding-inline: 0;
  margin-block: -0.5em;
  margin-inline: 0;
  white-space: nowrap;
  text-overflow: ellipsis;
  overflow: hidden;
  flex: 1 1 auto;
}

.k-chip-avatar {
  width: var(--kendo-chip-avatar-width, 1em);
  height: var(--kendo-chip-avatar-height, 1em);
  flex-basis: var(--kendo-chip-avatar-flex-basis, 1em);
  border-radius: 50%;
  background-size: cover;
  background-position: center;
}

.k-chip-icon {
  display: flex;
  align-items: center;
  justify-content: center;
  flex: none;
}

.k-chip-actions {
  margin-block: -5em;
  margin-inline: 0;
  flex: none;
  display: flex;
  flex-flow: row nowrap;
  align-items: center;
  align-self: center;
}

.k-chip-action {
  flex: none;
  display: flex;
  flex-flow: row nowrap;
  align-items: center;
  align-self: center;
}

.k-chip-list {
  min-width: 0px;
  display: inline-flex;
  flex-wrap: wrap;
  align-items: center;
  position: relative;
}

.k-chip-sm {
  --INTERNAL-kendo-chip-padding-x: var(--kendo-spacing-2, 0.5rem);
  --INTERNAL-kendo-chip-padding-y: var(--kendo-spacing-0\.5, 0.125rem);
  --INTERNAL-kendo-chip-font-size: var(--kendo-font-size, inherit);
  --INTERNAL-kendo-chip-line-height: var(--kendo-line-height, normal);
}
.k-chip-sm .k-chip-action {
  padding: var(--kendo-spacing-0\.5, 0.125rem);
}

.k-chip-md {
  --INTERNAL-kendo-chip-padding-x: var(--kendo-spacing-2, 0.5rem);
  --INTERNAL-kendo-chip-padding-y: var(--kendo-spacing-1, 0.25rem);
  --INTERNAL-kendo-chip-font-size: var(--kendo-font-size, inherit);
  --INTERNAL-kendo-chip-line-height: var(--kendo-line-height, normal);
}
.k-chip-md .k-chip-action {
  padding: var(--kendo-spacing-1, 0.25rem);
}

.k-chip-lg {
  --INTERNAL-kendo-chip-padding-x: var(--kendo-spacing-2, 0.5rem);
  --INTERNAL-kendo-chip-padding-y: var(--kendo-spacing-1\.5, 0.375rem);
  --INTERNAL-kendo-chip-font-size: var(--kendo-font-size, inherit);
  --INTERNAL-kendo-chip-line-height: var(--kendo-line-height, normal);
}
.k-chip-lg .k-chip-action {
  padding: var(--kendo-spacing-1\.5, 0.375rem);
}

.k-chip-list-sm {
  gap: var(--kendo-spacing-1, 0.25rem);
}

.k-chip-list-md {
  gap: var(--kendo-spacing-1, 0.25rem);
}

.k-chip-list-lg {
  gap: var(--kendo-spacing-1, 0.25rem);
}

.k-chip {
  --INTERNAL-kendo-chip-text: var( --kendo-chip-text );
  --INTERNAL-kendo-chip-bg: var( --kendo-chip-bg );
  --INTERNAL-kendo-chip-border: var( --kendo-chip-border );
  border-color: var(--INTERNAL-kendo-chip-border, initial);
  color: var(--INTERNAL-kendo-chip-text, initial);
  background-color: var(--INTERNAL-kendo-chip-bg, initial);
}
.k-chip:hover, .k-chip.k-hover {
  --INTERNAL-kendo-chip-text: var( --kendo-chip-hover-text );
  --INTERNAL-kendo-chip-bg: var( --kendo-chip-hover-bg );
  --INTERNAL-kendo-chip-border: var( --kendo-chip-hover-border );
}
.k-chip:focus, .k-chip.k-focus {
  --INTERNAL-kendo-chip-text: var( --kendo-chip-focus-text );
  --INTERNAL-kendo-chip-bg: var( --kendo-chip-focus-bg );
  --INTERNAL-kendo-chip-border: var( --kendo-chip-focus-border );
}
.k-chip.k-chip-outline:focus::after, .k-chip.k-chip-outline.k-focus::after {
  outline-color: var(--kendo-chip-focus-outline, initial);
}
.k-chip.k-selected {
  --INTERNAL-kendo-chip-text: var( --kendo-chip-selected-text );
  --INTERNAL-kendo-chip-bg: var( --kendo-chip-selected-bg );
  --INTERNAL-kendo-chip-border: var( --kendo-chip-selected-border );
}
.k-chip:disabled, .k-chip.k-disabled {
  --INTERNAL-kendo-chip-text: var( --kendo-chip-disabled-text );
  --INTERNAL-kendo-chip-bg: var( --kendo-chip-disabled-bg );
  --INTERNAL-kendo-chip-border: var( --kendo-chip-disabled-border );
}

.k-chip-solid-base {
  --kendo-chip-text: var( --kendo-chip-solid-base-text, var(--kendo-color-base-on-subtle, #323130) );
  --kendo-chip-bg: var( --kendo-chip-solid-base-bg, var(--kendo-color-base-subtle, #edebe9) );
  --kendo-chip-border: var( --kendo-chip-solid-base-border, var(--kendo-color-base-subtle, #edebe9) );
  --kendo-chip-hover-text: var( --kendo-chip-solid-base-hover-text, var(--kendo-color-base-on-subtle, #323130) );
  --kendo-chip-hover-bg: var( --kendo-chip-solid-base-hover-bg, var(--kendo-color-base-subtle-hover, #e1dfdd) );
  --kendo-chip-hover-border: var( --kendo-chip-solid-base-hover-border, var(--kendo-color-base-subtle-hover, #e1dfdd) );
  --kendo-chip-focus-text: var( --kendo-chip-solid-base-focus-text, var(--kendo-color-base-on-subtle, #323130) );
  --kendo-chip-focus-bg: var( --kendo-chip-solid-base-focus-bg, var(--kendo-color-base-subtle, #edebe9) );
  --kendo-chip-focus-border: var( --kendo-chip-solid-base-focus-border, var(--kendo-color-base-on-subtle, #323130) );
  --kendo-chip-focus-outline: var( --kendo-chip-solid-base-focus-outline,  );
  --kendo-chip-selected-text: var( --kendo-chip-solid-base-selected-text, var(--kendo-color-on-primary, #ffffff) );
  --kendo-chip-selected-bg: var( --kendo-chip-solid-base-selected-bg, var(--kendo-color-primary, #0078d4) );
  --kendo-chip-selected-border: var( --kendo-chip-solid-base-selected-border, var(--kendo-color-primary, #0078d4) );
  --kendo-chip-disabled-text: var( --kendo-chip-solid-base-disabled-text, color-mix(in srgb, var(--kendo-color-on-app-surface, #323130) 46%, transparent) );
  --kendo-chip-disabled-bg: var( --kendo-chip-solid-base-disabled-bg, color-mix(in srgb, var(--kendo-color-on-app-surface, #323130) 6%, transparent) );
  --kendo-chip-disabled-border: var( --kendo-chip-solid-base-disabled-border, transparent );
}

.k-chip-solid-error {
  --kendo-chip-text: var( --kendo-chip-solid-error-text, var(--kendo-color-error-on-subtle, #420f12) );
  --kendo-chip-bg: var( --kendo-chip-solid-error-bg, var(--kendo-color-error-subtle, #fde7e9) );
  --kendo-chip-border: var( --kendo-chip-solid-error-border, var(--kendo-color-error-subtle, #fde7e9) );
  --kendo-chip-hover-text: var( --kendo-chip-solid-error-hover-text, var(--kendo-color-error-on-subtle, #420f12) );
  --kendo-chip-hover-bg: var( --kendo-chip-solid-error-hover-bg, var(--kendo-color-error-subtle-hover, #f3d2d4) );
  --kendo-chip-hover-border: var( --kendo-chip-solid-error-hover-border, var(--kendo-color-error-subtle-hover, #f3d2d4) );
  --kendo-chip-focus-text: var( --kendo-chip-solid-error-focus-text, var(--kendo-color-error-on-subtle, #420f12) );
  --kendo-chip-focus-bg: var( --kendo-chip-solid-error-focus-bg, var(--kendo-color-error-subtle, #fde7e9) );
  --kendo-chip-focus-border: var( --kendo-chip-solid-error-focus-border, var(--kendo-color-error-on-subtle, #420f12) );
  --kendo-chip-focus-outline: var( --kendo-chip-solid-error-focus-outline,  );
  --kendo-chip-selected-text: var( --kendo-chip-solid-error-selected-text, var(--kendo-color-error-on-subtle, #420f12) );
  --kendo-chip-selected-bg: var( --kendo-chip-solid-error-selected-bg, var(--kendo-color-error-subtle-active, #e9bcbf) );
  --kendo-chip-selected-border: var( --kendo-chip-solid-error-selected-border, var(--kendo-color-error-subtle-active, #e9bcbf) );
  --kendo-chip-disabled-text: var( --kendo-chip-solid-error-disabled-text, color-mix(in srgb, var(--kendo-color-on-app-surface, #323130) 46%, transparent) );
  --kendo-chip-disabled-bg: var( --kendo-chip-solid-error-disabled-bg, color-mix(in srgb, var(--kendo-color-on-app-surface, #323130) 6%, transparent) );
  --kendo-chip-disabled-border: var( --kendo-chip-solid-error-disabled-border, transparent );
}

.k-chip-solid-success {
  --kendo-chip-text: var( --kendo-chip-solid-success-text, var(--kendo-color-success-on-subtle, #063206) );
  --kendo-chip-bg: var( --kendo-chip-solid-success-bg, var(--kendo-color-success-subtle, #dff6dd) );
  --kendo-chip-border: var( --kendo-chip-solid-success-border, var(--kendo-color-success-subtle, #dff6dd) );
  --kendo-chip-hover-text: var( --kendo-chip-solid-success-hover-text, var(--kendo-color-success-on-subtle, #063206) );
  --kendo-chip-hover-bg: var( --kendo-chip-solid-success-hover-bg, var(--kendo-color-success-subtle-hover, #c8e8c6) );
  --kendo-chip-hover-border: var( --kendo-chip-solid-success-hover-border, var(--kendo-color-success-subtle-hover, #c8e8c6) );
  --kendo-chip-focus-text: var( --kendo-chip-solid-success-focus-text, var(--kendo-color-success-on-subtle, #063206) );
  --kendo-chip-focus-bg: var( --kendo-chip-solid-success-focus-bg, var(--kendo-color-success-subtle, #dff6dd) );
  --kendo-chip-focus-border: var( --kendo-chip-solid-success-focus-border, var(--kendo-color-success-on-subtle, #063206) );
  --kendo-chip-focus-outline: var( --kendo-chip-solid-success-focus-outline,  );
  --kendo-chip-selected-text: var( --kendo-chip-solid-success-selected-text, var(--kendo-color-success-on-subtle, #063206) );
  --kendo-chip-selected-bg: var( --kendo-chip-solid-success-selected-bg, var(--kendo-color-success-subtle-active, #b1dbaf) );
  --kendo-chip-selected-border: var( --kendo-chip-solid-success-selected-border, var(--kendo-color-success-subtle-active, #b1dbaf) );
  --kendo-chip-disabled-text: var( --kendo-chip-solid-success-disabled-text, color-mix(in srgb, var(--kendo-color-on-app-surface, #323130) 46%, transparent) );
  --kendo-chip-disabled-bg: var( --kendo-chip-solid-success-disabled-bg, color-mix(in srgb, var(--kendo-color-on-app-surface, #323130) 6%, transparent) );
  --kendo-chip-disabled-border: var( --kendo-chip-solid-success-disabled-border, transparent );
}

.k-chip-solid-info {
  --kendo-chip-text: var( --kendo-chip-solid-info-text, var(--kendo-color-info-on-subtle, #032040) );
  --kendo-chip-bg: var( --kendo-chip-solid-info-bg, var(--kendo-color-info-subtle, #cee5ff) );
  --kendo-chip-border: var( --kendo-chip-solid-info-border, var(--kendo-color-info-subtle, #cee5ff) );
  --kendo-chip-hover-text: var( --kendo-chip-solid-info-hover-text, var(--kendo-color-info-on-subtle, #032040) );
  --kendo-chip-hover-bg: var( --kendo-chip-solid-info-hover-bg, var(--kendo-color-info-subtle-hover, #add4ff) );
  --kendo-chip-hover-border: var( --kendo-chip-solid-info-hover-border, var(--kendo-color-info-subtle-hover, #add4ff) );
  --kendo-chip-focus-text: var( --kendo-chip-solid-info-focus-text, var(--kendo-color-info-on-subtle, #032040) );
  --kendo-chip-focus-bg: var( --kendo-chip-solid-info-focus-bg, var(--kendo-color-info-subtle, #cee5ff) );
  --kendo-chip-focus-border: var( --kendo-chip-solid-info-focus-border, var(--kendo-color-info-on-subtle, #032040) );
  --kendo-chip-focus-outline: var( --kendo-chip-solid-info-focus-outline,  );
  --kendo-chip-selected-text: var( --kendo-chip-solid-info-selected-text, var(--kendo-color-info-on-subtle, #032040) );
  --kendo-chip-selected-bg: var( --kendo-chip-solid-info-selected-bg, var(--kendo-color-info-subtle-active, #8dc3ff) );
  --kendo-chip-selected-border: var( --kendo-chip-solid-info-selected-border, var(--kendo-color-info-subtle-active, #8dc3ff) );
  --kendo-chip-disabled-text: var( --kendo-chip-solid-info-disabled-text, color-mix(in srgb, var(--kendo-color-on-app-surface, #323130) 46%, transparent) );
  --kendo-chip-disabled-bg: var( --kendo-chip-solid-info-disabled-bg, color-mix(in srgb, var(--kendo-color-on-app-surface, #323130) 6%, transparent) );
  --kendo-chip-disabled-border: var( --kendo-chip-solid-info-disabled-border, transparent );
}

.k-chip-solid-warning {
  --kendo-chip-text: var( --kendo-chip-solid-warning-text, var(--kendo-color-warning-on-subtle, #323130) );
  --kendo-chip-bg: var( --kendo-chip-solid-warning-bg, var(--kendo-color-warning-subtle, #fff4ce) );
  --kendo-chip-border: var( --kendo-chip-solid-warning-border, var(--kendo-color-warning-subtle, #fff4ce) );
  --kendo-chip-hover-text: var( --kendo-chip-solid-warning-hover-text, var(--kendo-color-warning-on-subtle, #323130) );
  --kendo-chip-hover-bg: var( --kendo-chip-solid-warning-hover-bg, var(--kendo-color-warning-subtle-hover, #ffedad) );
  --kendo-chip-hover-border: var( --kendo-chip-solid-warning-hover-border, var(--kendo-color-warning-subtle-hover, #ffedad) );
  --kendo-chip-focus-text: var( --kendo-chip-solid-warning-focus-text, var(--kendo-color-warning-on-subtle, #323130) );
  --kendo-chip-focus-bg: var( --kendo-chip-solid-warning-focus-bg, var(--kendo-color-warning-subtle, #fff4ce) );
  --kendo-chip-focus-border: var( --kendo-chip-solid-warning-focus-border, var(--kendo-color-warning-on-subtle, #323130) );
  --kendo-chip-focus-outline: var( --kendo-chip-solid-warning-focus-outline,  );
  --kendo-chip-selected-text: var( --kendo-chip-solid-warning-selected-text, var(--kendo-color-warning-on-subtle, #323130) );
  --kendo-chip-selected-bg: var( --kendo-chip-solid-warning-selected-bg, var(--kendo-color-warning-subtle-active, #ffe58d) );
  --kendo-chip-selected-border: var( --kendo-chip-solid-warning-selected-border, var(--kendo-color-warning-subtle-active, #ffe58d) );
  --kendo-chip-disabled-text: var( --kendo-chip-solid-warning-disabled-text, color-mix(in srgb, var(--kendo-color-on-app-surface, #323130) 46%, transparent) );
  --kendo-chip-disabled-bg: var( --kendo-chip-solid-warning-disabled-bg, color-mix(in srgb, var(--kendo-color-on-app-surface, #323130) 6%, transparent) );
  --kendo-chip-disabled-border: var( --kendo-chip-solid-warning-disabled-border, transparent );
}

.k-chip-outline-base {
  --kendo-chip-text: var( --kendo-chip-outline-base-text, var(--kendo-color-base-on-surface, #323130) );
  --kendo-chip-bg: var( --kendo-chip-outline-base-bg, transparent );
  --kendo-chip-border: var( --kendo-chip-outline-base-border, currentColor );
  --kendo-chip-hover-text: var( --kendo-chip-outline-base-hover-text, var(--kendo-color-app-surface, #ffffff) );
  --kendo-chip-hover-bg: var( --kendo-chip-outline-base-hover-bg, var(--kendo-color-base-on-surface, #323130) );
  --kendo-chip-hover-border: var( --kendo-chip-outline-base-hover-border, var(--kendo-color-base-on-surface, #323130) );
  --kendo-chip-focus-text: var( --kendo-chip-outline-base-focus-text, var(--kendo-color-base-on-surface, #323130) );
  --kendo-chip-focus-bg: var( --kendo-chip-outline-base-focus-bg, transparent );
  --kendo-chip-focus-border: var( --kendo-chip-outline-base-focus-border, currentColor );
  --kendo-chip-focus-outline: var( --kendo-chip-outline-base-focus-outline, inherit );
  --kendo-chip-selected-text: var( --kendo-chip-outline-base-selected-text, var(--kendo-color-app-surface, #ffffff) );
  --kendo-chip-selected-bg: var( --kendo-chip-outline-base-selected-bg, var(--kendo-color-base-on-surface, #323130) );
  --kendo-chip-selected-border: var( --kendo-chip-outline-base-selected-border, var(--kendo-color-base-on-surface, #323130) );
  --kendo-chip-disabled-text: var( --kendo-chip-outline-base-disabled-text, color-mix(in srgb, var(--kendo-color-on-app-surface, #323130) 46%, transparent) );
  --kendo-chip-disabled-bg: var( --kendo-chip-outline-base-disabled-bg, initial );
  --kendo-chip-disabled-border: var( --kendo-chip-outline-base-disabled-border, color-mix(in srgb, var(--kendo-color-on-app-surface, #323130) 46%, transparent) );
}

.k-chip-outline-error {
  --kendo-chip-text: var( --kendo-chip-outline-error-text, var(--kendo-color-error-on-surface, #a4262c) );
  --kendo-chip-bg: var( --kendo-chip-outline-error-bg, transparent );
  --kendo-chip-border: var( --kendo-chip-outline-error-border, currentColor );
  --kendo-chip-hover-text: var( --kendo-chip-outline-error-hover-text, var(--kendo-color-app-surface, #ffffff) );
  --kendo-chip-hover-bg: var( --kendo-chip-outline-error-hover-bg, var(--kendo-color-error-on-surface, #a4262c) );
  --kendo-chip-hover-border: var( --kendo-chip-outline-error-hover-border, var(--kendo-color-error-on-surface, #a4262c) );
  --kendo-chip-focus-text: var( --kendo-chip-outline-error-focus-text, var(--kendo-color-error-on-surface, #a4262c) );
  --kendo-chip-focus-bg: var( --kendo-chip-outline-error-focus-bg, transparent );
  --kendo-chip-focus-border: var( --kendo-chip-outline-error-focus-border, var(--kendo-color-error-on-surface, #a4262c) );
  --kendo-chip-focus-outline: var( --kendo-chip-outline-error-focus-outline, inherit );
  --kendo-chip-selected-text: var( --kendo-chip-outline-error-selected-text, var(--kendo-color-app-surface, #ffffff) );
  --kendo-chip-selected-bg: var( --kendo-chip-outline-error-selected-bg, var(--kendo-color-error-on-surface, #a4262c) );
  --kendo-chip-selected-border: var( --kendo-chip-outline-error-selected-border, var(--kendo-color-error-on-surface, #a4262c) );
  --kendo-chip-disabled-text: var( --kendo-chip-outline-error-disabled-text, color-mix(in srgb, var(--kendo-color-on-app-surface, #323130) 46%, transparent) );
  --kendo-chip-disabled-bg: var( --kendo-chip-outline-error-disabled-bg, initial );
  --kendo-chip-disabled-border: var( --kendo-chip-outline-error-disabled-border, color-mix(in srgb, var(--kendo-color-on-app-surface, #323130) 46%, transparent) );
}

.k-chip-outline-success {
  --kendo-chip-text: var( --kendo-chip-outline-success-text, var(--kendo-color-success-on-surface, #107c10) );
  --kendo-chip-bg: var( --kendo-chip-outline-success-bg, transparent );
  --kendo-chip-border: var( --kendo-chip-outline-success-border, currentColor );
  --kendo-chip-hover-text: var( --kendo-chip-outline-success-hover-text, var(--kendo-color-app-surface, #ffffff) );
  --kendo-chip-hover-bg: var( --kendo-chip-outline-success-hover-bg, var(--kendo-color-success-on-surface, #107c10) );
  --kendo-chip-hover-border: var( --kendo-chip-outline-success-hover-border, var(--kendo-color-success-on-surface, #107c10) );
  --kendo-chip-focus-text: var( --kendo-chip-outline-success-focus-text, var(--kendo-color-success-on-surface, #107c10) );
  --kendo-chip-focus-bg: var( --kendo-chip-outline-success-focus-bg, transparent );
  --kendo-chip-focus-border: var( --kendo-chip-outline-success-focus-border, var(--kendo-color-success-on-surface, #107c10) );
  --kendo-chip-focus-outline: var( --kendo-chip-outline-success-focus-outline, inherit );
  --kendo-chip-selected-text: var( --kendo-chip-outline-success-selected-text, var(--kendo-color-app-surface, #ffffff) );
  --kendo-chip-selected-bg: var( --kendo-chip-outline-success-selected-bg, var(--kendo-color-success-on-surface, #107c10) );
  --kendo-chip-selected-border: var( --kendo-chip-outline-success-selected-border, var(--kendo-color-success-on-surface, #107c10) );
  --kendo-chip-disabled-text: var( --kendo-chip-outline-success-disabled-text, color-mix(in srgb, var(--kendo-color-on-app-surface, #323130) 46%, transparent) );
  --kendo-chip-disabled-bg: var( --kendo-chip-outline-success-disabled-bg, initial );
  --kendo-chip-disabled-border: var( --kendo-chip-outline-success-disabled-border, color-mix(in srgb, var(--kendo-color-on-app-surface, #323130) 46%, transparent) );
}

.k-chip-outline-info {
  --kendo-chip-text: var( --kendo-chip-outline-info-text, var(--kendo-color-info-on-surface, #096edf) );
  --kendo-chip-bg: var( --kendo-chip-outline-info-bg, transparent );
  --kendo-chip-border: var( --kendo-chip-outline-info-border, currentColor );
  --kendo-chip-hover-text: var( --kendo-chip-outline-info-hover-text, var(--kendo-color-app-surface, #ffffff) );
  --kendo-chip-hover-bg: var( --kendo-chip-outline-info-hover-bg, var(--kendo-color-info-on-surface, #096edf) );
  --kendo-chip-hover-border: var( --kendo-chip-outline-info-hover-border, var(--kendo-color-info-on-surface, #096edf) );
  --kendo-chip-focus-text: var( --kendo-chip-outline-info-focus-text, var(--kendo-color-info-on-surface, #096edf) );
  --kendo-chip-focus-bg: var( --kendo-chip-outline-info-focus-bg, transparent );
  --kendo-chip-focus-border: var( --kendo-chip-outline-info-focus-border, var(--kendo-color-info-on-surface, #096edf) );
  --kendo-chip-focus-outline: var( --kendo-chip-outline-info-focus-outline, inherit );
  --kendo-chip-selected-text: var( --kendo-chip-outline-info-selected-text, var(--kendo-color-app-surface, #ffffff) );
  --kendo-chip-selected-bg: var( --kendo-chip-outline-info-selected-bg, var(--kendo-color-info-on-surface, #096edf) );
  --kendo-chip-selected-border: var( --kendo-chip-outline-info-selected-border, var(--kendo-color-info-on-surface, #096edf) );
  --kendo-chip-disabled-text: var( --kendo-chip-outline-info-disabled-text, color-mix(in srgb, var(--kendo-color-on-app-surface, #323130) 46%, transparent) );
  --kendo-chip-disabled-bg: var( --kendo-chip-outline-info-disabled-bg, initial );
  --kendo-chip-disabled-border: var( --kendo-chip-outline-info-disabled-border, color-mix(in srgb, var(--kendo-color-on-app-surface, #323130) 46%, transparent) );
}

.k-chip-outline-warning {
  --kendo-chip-text: var( --kendo-chip-outline-warning-text, var(--kendo-color-warning-on-surface, #7a6000) );
  --kendo-chip-bg: var( --kendo-chip-outline-warning-bg, transparent );
  --kendo-chip-border: var( --kendo-chip-outline-warning-border, currentColor );
  --kendo-chip-hover-text: var( --kendo-chip-outline-warning-hover-text, var(--kendo-color-app-surface, #ffffff) );
  --kendo-chip-hover-bg: var( --kendo-chip-outline-warning-hover-bg, var(--kendo-color-warning-on-surface, #7a6000) );
  --kendo-chip-hover-border: var( --kendo-chip-outline-warning-hover-border, var(--kendo-color-warning-on-surface, #7a6000) );
  --kendo-chip-focus-text: var( --kendo-chip-outline-warning-focus-text, var(--kendo-color-warning-on-surface, #7a6000) );
  --kendo-chip-focus-bg: var( --kendo-chip-outline-warning-focus-bg, transparent );
  --kendo-chip-focus-border: var( --kendo-chip-outline-warning-focus-border, var(--kendo-color-warning-on-surface, #7a6000) );
  --kendo-chip-focus-outline: var( --kendo-chip-outline-warning-focus-outline, inherit );
  --kendo-chip-selected-text: var( --kendo-chip-outline-warning-selected-text, var(--kendo-color-app-surface, #ffffff) );
  --kendo-chip-selected-bg: var( --kendo-chip-outline-warning-selected-bg, var(--kendo-color-warning-on-surface, #7a6000) );
  --kendo-chip-selected-border: var( --kendo-chip-outline-warning-selected-border, var(--kendo-color-warning-on-surface, #7a6000) );
  --kendo-chip-disabled-text: var( --kendo-chip-outline-warning-disabled-text, color-mix(in srgb, var(--kendo-color-on-app-surface, #323130) 46%, transparent) );
  --kendo-chip-disabled-bg: var( --kendo-chip-outline-warning-disabled-bg, initial );
  --kendo-chip-disabled-border: var( --kendo-chip-outline-warning-disabled-border, color-mix(in srgb, var(--kendo-color-on-app-surface, #323130) 46%, transparent) );
}

.k-color-preview {
  width: 100%;
  height: 100%;
  border-width: var(--kendo-color-preview-border-width, 1px);
  border-radius: var(--kendo-color-preview-border-radius, var(--kendo-border-radius-md, 0.25rem));
  box-sizing: border-box;
  border-style: solid;
  display: inline-flex;
  flex-flow: row nowrap;
  position: relative;
  overflow: hidden;
}
.k-color-preview *,
.k-color-preview *::before,
.k-color-preview *::after {
  box-sizing: border-box;
}

.k-coloreditor-current-color {
  cursor: pointer;
}

.k-icon-color-preview {
  border-width: 0;
  border-radius: 0;
  display: flex;
  flex-flow: column nowrap;
  align-items: center;
  justify-content: center;
  gap: 2px;
}
.k-icon-color-preview .k-color-preview-mask {
  width: var(--kendo-icon-size, 1rem);
  height: 3px;
}

.k-color-preview-mask {
  width: 100%;
  min-width: var(--kendo-icon-size, 1rem);
  height: 100%;
  position: relative;
}

.k-color-preview-mask::before {
  content: "";
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
  z-index: -1;
  background: var(--kendo-color-preview-transparent-color-image, url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAoAAAAKCAYAAACNMs+9AAAACXBIWXMAAAsTAAALEwEAmpwYAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAuSURBVHgBxYyxDQAwDMJIL+YT+DjtzFRliUfLcklqBCRT4eCTxbD6kdL2/LgYXqpvCbs3kBv/AAAAAElFTkSuQmCC));
  background-size: contain;
  background-position: 0 0;
}

.k-no-color .k-color-preview-mask::before {
  content: "";
  background-color: var(--kendo-color-preview-no-color-bg, var(--kendo-color-app-surface, #ffffff));
  background-image: var(--kendo-color-preview-no-color-image, url("data:image/svg+xml,%3csvg xmlns=%27http://www.w3.org/2000/svg%27 width=%2720%27 height=%2720%27 version=%271.1%27%3e%3cline x1=%270%27 x2=%2720%27 y1=%270%27 y2=%2720%27 stroke=%27var%28--kendo-color-error-on-surface, %23a4262c%29%27 stroke-width=%271%27/%3e%3c/svg%3e"));
  background-size: 100% 100%;
  background-position: 0 0;
}

.k-color-preview {
  border-color: var(--kendo-color-preview-border, color-mix(in srgb, var(--kendo-color-on-app-surface, #323130) 28%, transparent));
  color: var(--kendo-color-preview-text, inherit);
  background-color: var(--kendo-color-preview-bg, transparent);
}
.k-color-preview:hover, .k-color-preview.k-hover {
  border-color: var(--kendo-color-preview-hover-border, color-mix(in srgb, var(--kendo-color-on-app-surface, #323130) 28%, transparent));
}

[disabled] .k-color-preview-mask::before,
.k-disabled .k-color-preview-mask::before {
  background-color: var(--kendo-disabled-bg);
}

.k-loader {
  position: relative;
  display: inline-block;
  vertical-align: middle;
  box-sizing: border-box;
  line-height: 0;
}

.k-loader-canvas {
  display: flex;
  position: relative;
}

.k-loader-segment {
  border-radius: var(--kendo-loader-segment-border-radius, 50%);
  background-color: currentColor;
  position: absolute;
}

.k-loader-sm {
  padding-inline: var(--kendo-loader-sm-padding-x, calc(var(--kendo-spacing-1, 0.25rem) / 2));
  padding-block: var(--kendo-loader-sm-padding-y, calc(var(--kendo-spacing-1, 0.25rem) / 2));
}
.k-loader-sm .k-loader-segment {
  width: var(--kendo-loader-sm-segment-size, var(--kendo-spacing-1, 0.25rem));
  height: var(--kendo-loader-sm-segment-size, var(--kendo-spacing-1, 0.25rem));
}

.k-loader-md {
  padding-inline: var(--kendo-loader-md-padding-x, calc(var(--kendo-spacing-2, 0.5rem) / 2));
  padding-block: var(--kendo-loader-md-padding-y, calc(var(--kendo-spacing-2, 0.5rem) / 2));
}
.k-loader-md .k-loader-segment {
  width: var(--kendo-loader-md-segment-size, var(--kendo-spacing-2, 0.5rem));
  height: var(--kendo-loader-md-segment-size, var(--kendo-spacing-2, 0.5rem));
}

.k-loader-lg {
  padding-inline: var(--kendo-loader-lg-padding-x, calc(var(--kendo-spacing-4, 1rem) / 2));
  padding-block: var(--kendo-loader-lg-padding-y, calc(var(--kendo-spacing-4, 1rem) / 2));
}
.k-loader-lg .k-loader-segment {
  width: var(--kendo-loader-lg-segment-size, var(--kendo-spacing-4, 1rem));
  height: var(--kendo-loader-lg-segment-size, var(--kendo-spacing-4, 1rem));
}

@keyframes pulsing-2-segment {
  0% {
    transform: scale(1);
  }
  50% {
    transform: scale(1.5);
  }
  100% {
    transform: scale(1);
  }
}
.k-loader-pulsing-2 .k-loader-canvas {
  align-items: center;
}
.k-loader-pulsing-2 .k-loader-segment:nth-child(1) {
  left: 0;
  transform: scale(1.5);
  transform-origin: 0 50%;
  animation: pulsing-2-segment 1s ease infinite;
  animation-delay: -0.5s;
}
.k-loader-pulsing-2 .k-loader-segment:nth-child(2) {
  right: 0;
  transform-origin: 100% 50%;
  animation: pulsing-2-segment 1s ease infinite;
}
.k-loader-pulsing-2.k-loader-sm .k-loader-canvas {
  width: calc(var(--kendo-loader-sm-segment-size, var(--kendo-spacing-1, 0.25rem)) * 3);
  height: calc(var(--kendo-loader-sm-segment-size, var(--kendo-spacing-1, 0.25rem)) * 1.5);
}
.k-loader-pulsing-2.k-loader-md .k-loader-canvas {
  width: calc(var(--kendo-loader-md-segment-size, var(--kendo-spacing-2, 0.5rem)) * 3);
  height: calc(var(--kendo-loader-md-segment-size, var(--kendo-spacing-2, 0.5rem)) * 1.5);
}
.k-loader-pulsing-2.k-loader-lg .k-loader-canvas {
  width: calc(var(--kendo-loader-lg-segment-size, var(--kendo-spacing-4, 1rem)) * 3);
  height: calc(var(--kendo-loader-lg-segment-size, var(--kendo-spacing-4, 1rem)) * 1.5);
}

@keyframes spinner-3-segment {
  0% {
    top: 0;
    left: 50%;
  }
  33.3333% {
    top: 100%;
    left: 0;
  }
  66.6666% {
    top: 100%;
    left: 100%;
  }
  100% {
    top: 0;
    left: 50%;
  }
}
.k-loader-spinner-3 .k-loader-segment {
  transform: translate(-50%, -50%);
}
.k-loader-spinner-3 .k-loader-segment:nth-child(1) {
  top: 0;
  left: 50%;
  animation: spinner-3-segment 2s ease infinite;
}
.k-loader-spinner-3 .k-loader-segment:nth-child(2) {
  top: 100%;
  left: 0;
  animation: spinner-3-segment 2s ease infinite;
  animation-delay: -0.6666666667s;
}
.k-loader-spinner-3 .k-loader-segment:nth-child(3) {
  top: 100%;
  left: 100%;
  animation: spinner-3-segment 2s ease infinite;
  animation-delay: -1.3333333333s;
}
.k-loader-spinner-3.k-loader-sm .k-loader-canvas {
  --INTERNAL--kendo-loader-canvas-width: var( --kendo-loader-sm-spinner-3-width, calc(var(--kendo-spacing-1, 0.25rem) * 4) );
  --INTERNAL--kendo-loader-canvas-height: var( --kendo-loader-sm-spinner-3-height, calc(calc(var(--kendo-spacing-1, 0.25rem) * 4) * 0.866) );
  --INTERNAL--kendo-loader-canvas-size: var( --kendo-loader-sm-segment-size, var(--kendo-spacing-1, 0.25rem) );
  margin: calc(var(--kendo-loader-sm-segment-size, var(--kendo-spacing-1, 0.25rem)) / 2);
  width: calc(var(--INTERNAL--kendo-loader-canvas-width) - var(--INTERNAL--kendo-loader-canvas-size));
  height: calc(var(--INTERNAL--kendo-loader-canvas-height) - var(--INTERNAL--kendo-loader-canvas-size));
}
.k-loader-spinner-3.k-loader-md .k-loader-canvas {
  --INTERNAL--kendo-loader-canvas-width: var( --kendo-loader-md-spinner-3-width, calc(var(--kendo-spacing-2, 0.5rem) * 4) );
  --INTERNAL--kendo-loader-canvas-height: var( --kendo-loader-md-spinner-3-height, calc(calc(var(--kendo-spacing-2, 0.5rem) * 4) * 0.866) );
  --INTERNAL--kendo-loader-canvas-size: var( --kendo-loader-md-segment-size, var(--kendo-spacing-2, 0.5rem) );
  margin: calc(var(--kendo-loader-md-segment-size, var(--kendo-spacing-2, 0.5rem)) / 2);
  width: calc(var(--INTERNAL--kendo-loader-canvas-width) - var(--INTERNAL--kendo-loader-canvas-size));
  height: calc(var(--INTERNAL--kendo-loader-canvas-height) - var(--INTERNAL--kendo-loader-canvas-size));
}
.k-loader-spinner-3.k-loader-lg .k-loader-canvas {
  --INTERNAL--kendo-loader-canvas-width: var( --kendo-loader-lg-spinner-3-width, calc(var(--kendo-spacing-4, 1rem) * 4) );
  --INTERNAL--kendo-loader-canvas-height: var( --kendo-loader-lg-spinner-3-height, calc(calc(var(--kendo-spacing-4, 1rem) * 4) * 0.866) );
  --INTERNAL--kendo-loader-canvas-size: var( --kendo-loader-lg-segment-size, var(--kendo-spacing-4, 1rem) );
  margin: calc(var(--kendo-loader-lg-segment-size, var(--kendo-spacing-4, 1rem)) / 2);
  width: calc(var(--INTERNAL--kendo-loader-canvas-width) - var(--INTERNAL--kendo-loader-canvas-size));
  height: calc(var(--INTERNAL--kendo-loader-canvas-height) - var(--INTERNAL--kendo-loader-canvas-size));
}

@keyframes spinner-4-segment-1 {
  0% {
    top: 50%;
    left: 50%;
    transform: translateX(-50%) translateY(-50%);
  }
  33.3% {
    top: 0;
    left: 0;
    transform: translateX(0) translateY(0);
  }
  66.6% {
    top: 0;
    left: 0;
    transform: translateX(0) translateY(0);
  }
  100% {
    top: 50%;
    left: 50%;
    transform: translateX(-50%) translateY(-50%);
  }
}
@keyframes spinner-4-segment-2 {
  0% {
    top: 50%;
    left: 50%;
    transform: translateX(-50%) translateY(-50%);
  }
  33.3% {
    top: 0;
    left: 100%;
    transform: translateX(-100%) translateY(0);
  }
  66.6% {
    top: 0;
    left: 100%;
    transform: translateX(-100%) translateY(0);
  }
  100% {
    top: 50%;
    left: 50%;
    transform: translateX(-50%) translateY(-50%);
  }
}
@keyframes spinner-4-segment-3 {
  0% {
    top: 50%;
    left: 50%;
    transform: translateX(-50%) translateY(-50%);
  }
  33.3% {
    top: 100%;
    left: 100%;
    transform: translateX(-100%) translateY(-100%);
  }
  66.6% {
    top: 100%;
    left: 100%;
    transform: translateX(-100%) translateY(-100%);
  }
  100% {
    top: 50%;
    left: 50%;
    transform: translateX(-50%) translateY(-50%);
  }
}
@keyframes spinner-4-segment-4 {
  0% {
    top: 50%;
    left: 50%;
    transform: translateX(-50%) translateY(-50%);
  }
  33.3% {
    top: 100%;
    left: 0;
    transform: translateX(0) translateY(-100%);
  }
  66.6% {
    top: 100%;
    left: 0;
    transform: translateX(0) translateY(-100%);
  }
  100% {
    top: 50%;
    left: 50%;
    transform: translateX(-50%) translateY(-50%);
  }
}
@keyframes spinner-4 {
  0% {
    transform: rotate(0);
  }
  33.3% {
    transform: rotate(0);
  }
  66.6% {
    transform: rotate(180deg);
  }
  100% {
    transform: rotate(180deg);
  }
}
.k-loader-spinner-4 .k-loader-canvas {
  animation: spinner-4 1.833s ease infinite;
}
.k-loader-spinner-4 .k-loader-segment {
  top: 50%;
  left: 50%;
  transform: translateX(-50%) translateY(-50%);
}
.k-loader-spinner-4 .k-loader-segment:nth-child(1) {
  animation: spinner-4-segment-1 1.833s ease infinite;
}
.k-loader-spinner-4 .k-loader-segment:nth-child(2) {
  animation: spinner-4-segment-2 1.833s ease infinite;
}
.k-loader-spinner-4 .k-loader-segment:nth-child(3) {
  animation: spinner-4-segment-3 1.833s ease infinite;
}
.k-loader-spinner-4 .k-loader-segment:nth-child(4) {
  animation: spinner-4-segment-4 1.833s ease infinite;
}
.k-loader-spinner-4.k-loader-sm .k-loader-canvas {
  width: var(--kendo-loader-sm-spinner-4-width, calc(var(--kendo-spacing-1, 0.25rem) * 4));
  height: var(--kendo-loader-sm-spinner-4-height, calc(var(--kendo-spacing-1, 0.25rem) * 4));
}
.k-loader-spinner-4.k-loader-md .k-loader-canvas {
  width: var(--kendo-loader-md-spinner-4-width, calc(var(--kendo-spacing-2, 0.5rem) * 4));
  height: var(--kendo-loader-md-spinner-4-height, calc(var(--kendo-spacing-2, 0.5rem) * 4));
}
.k-loader-spinner-4.k-loader-lg .k-loader-canvas {
  width: var(--kendo-loader-lg-spinner-4-width, calc(var(--kendo-spacing-4, 1rem) * 4));
  height: var(--kendo-loader-lg-spinner-4-height, calc(var(--kendo-spacing-4, 1rem) * 4));
}

.k-loader-container {
  display: flex;
  align-items: center;
  justify-content: center;
  z-index: 20001;
}
.k-loader-container .k-loader {
  padding: 0;
}

.k-loader-container,
.k-loader-container-overlay {
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
}

.k-loader-container-overlay {
  opacity: var(--kendo-overlay-opacity, 0.4);
}

.k-loader-container-inner {
  display: flex;
  align-items: center;
  position: relative;
  z-index: 2;
}

.k-loader-container-panel {
  border-width: var(--kendo-loader-container-panel-border-width, 1px);
  border-style: var(--kendo-loader-container-panel-border-style, solid);
  border-radius: var(--kendo-loader-container-panel-border-radius, var(--kendo-border-radius-md, 0.25rem));
}

.k-loader-container-sm .k-loader-container-inner {
  padding-inline: var(--kendo-loader-sm-container-padding-x, var(--kendo-spacing-4, 1rem));
  padding-block: var(--kendo-loader-sm-container-padding-y, var(--kendo-spacing-4, 1rem));
  gap: var(--kendo-loader-sm-container-gap, var(--kendo-spacing-1, 0.25rem));
}
.k-loader-container-sm .k-loader-container-label {
  font-size: var(--kendo-loader-sm-container-font-size, var(--kendo-font-size-sm, inherit));
}

.k-loader-container-md .k-loader-container-inner {
  padding-inline: var(--kendo-loader-md-container-padding-x, var(--kendo-spacing-5, 1.25rem));
  padding-block: var(--kendo-loader-md-container-padding-y, var(--kendo-spacing-5, 1.25rem));
  gap: var(--kendo-loader-md-container-gap, var(--kendo-spacing-2, 0.5rem));
}
.k-loader-container-md .k-loader-container-label {
  font-size: var(--kendo-loader-md-container-font-size, var(--kendo-font-size, inherit));
}

.k-loader-container-lg .k-loader-container-inner {
  padding-inline: var(--kendo-loader-lg-container-padding-x, var(--kendo-spacing-6, 1.5rem));
  padding-block: var(--kendo-loader-lg-container-padding-y, var(--kendo-spacing-6, 1.5rem));
  gap: var(--kendo-loader-lg-container-gap, var(--kendo-spacing-3, 0.75rem));
}
.k-loader-container-lg .k-loader-container-label {
  font-size: var(--kendo-loader-lg-container-font-size, var(--kendo-font-size-lg, inherit));
}

.k-loader-top .k-loader-container-inner {
  flex-direction: column;
  text-align: center;
}

.k-loader-end .k-loader-container-label {
  order: -1;
}

.k-loading-mask,
.k-loading-image,
.k-loading-color {
  width: 100%;
  height: 100%;
  box-sizing: border-box;
  position: absolute;
  top: 0;
  left: 0;
}
.k-loading-mask *,
.k-loading-mask *::before,
.k-loading-mask *::after, .k-loading-mask::before, .k-loading-mask::after,
.k-loading-image *,
.k-loading-image *::before,
.k-loading-image *::after,
.k-loading-image::before,
.k-loading-image::after,
.k-loading-color *,
.k-loading-color *::before,
.k-loading-color *::after,
.k-loading-color::before,
.k-loading-color::after {
  box-sizing: border-box;
}

.k-loading-mask {
  z-index: var(--kendo-zindex-loading, 100);
}
.k-loading-mask.k-opaque .k-loading-color {
  opacity: 1;
}

.k-loading-text {
  text-indent: -4000px;
  text-align: center;
  position: absolute;
  color: var(--kendo-loading-text, currentColor);
}

.k-loading-image {
  z-index: 2;
  color: var(--kendo-loading-text, currentColor);
}

.k-loading-color {
  background-color: var(--kendo-loading-bg, var(--kendo-component-bg, initial));
  opacity: var(--kendo-loading-opacity, 0.3);
}

.k-i-loading {
  width: 1em;
  height: 1em;
  line-height: 1;
  display: inline-flex;
  flex-flow: row nowrap;
  align-items: center;
  justify-content: center;
  vertical-align: middle;
  position: relative;
  background-color: transparent;
  box-sizing: border-box;
  color: var(--kendo-loading-text, currentColor);
}
.k-i-loading::before, .k-i-loading::after {
  box-sizing: border-box;
}

.k-i-loading::before,
.k-i-loading::after,
.k-loading-image::before,
.k-loading-image::after {
  position: absolute;
  top: 50%;
  left: 50%;
  display: inline-block;
  content: "";
  box-sizing: inherit;
  border-radius: 50%;
  border-width: 0.05em;
  border-style: solid;
  border-color: currentColor;
  border-top-color: transparent;
  border-bottom-color: transparent;
  background-color: transparent;
}

.k-icon.k-i-loading::before,
.k-icon.k-i-loading::after {
  content: "";
}

.k-i-loading::before,
.k-loading-image::before {
  margin-top: -0.5em;
  margin-left: -0.5em;
  width: 1em;
  height: 1em;
  animation: k-loading-animation 0.7s linear infinite;
}

.k-i-loading::after,
.k-loading-image::after {
  margin-top: -0.25em;
  margin-left: -0.25em;
  width: 0.5em;
  height: 0.5em;
  animation: k-loading-animation reverse 1.4s linear infinite;
}

.k-loading-image::before,
.k-loading-image::after {
  content: "";
  border-width: 1px;
  border-width: clamp(0.015em, 1px, 1px);
  font-size: 4em;
}

@keyframes k-loading-animation {
  0% {
    transform: rotate(0deg);
  }
  100% {
    transform: rotate(360deg);
  }
}
.k-loader-primary {
  color: var(--kendo-loader-primary-bg, var(--kendo-color-primary, #0078d4));
}

.k-loader-secondary {
  color: var(--kendo-loader-secondary-bg, var(--kendo-color-secondary, #979593));
}

.k-loader-tertiary {
  color: var(--kendo-loader-tertiary-bg, var(--kendo-color-tertiary, #2b88d8));
}

.k-loader-error {
  color: var(--kendo-loader-error-bg, var(--kendo-color-error, #c2666b));
}

.k-loader-success {
  color: var(--kendo-loader-success-bg, var(--kendo-color-success, #55a554));
}

.k-loader-warning {
  color: var(--kendo-loader-warning-bg, var(--kendo-color-warning, #ffc80a));
}

.k-loader-info {
  color: var(--kendo-loader-info-bg, var(--kendo-color-info, #0a7eff));
}

.k-loader-dark {
  color: var(--kendo-loader-dark-bg, var(--kendo-color-dark, #323130));
}

.k-loader-light {
  color: var(--kendo-loader-light-bg, var(--kendo-color-light, #d2d0ce));
}

.k-loader-container-panel {
  background-color: var(--kendo-loader-container-panel-bg, var(--kendo-color-app-surface, #ffffff));
  border-color: var(--kendo-loader-container-panel-border-color, var(--kendo-component-border, initial));
}

.k-skeleton, .k-placeholder-line {
  display: block;
}

.k-skeleton-text, .k-placeholder-line {
  border-radius: var(--kendo-skeleton-text-border-radius, var(--kendo-border-radius-md, 0.25rem));
  transform: var(--kendo-skeleton-text-transform, scale(1, 0.6));
}
.k-skeleton-text:empty::before, .k-placeholder-line:empty::before {
  content: "​";
}

.k-skeleton-rect {
  border-radius: var(--kendo-skeleton-rect-border-radius, var(--kendo-border-radius-md, 0.25rem));
}

.k-skeleton-circle {
  border-radius: var(--kendo-skeleton-circle-border-radius, 9999px);
}

@keyframes k-skeleton-wave {
  0% {
    transform: translateX(-100%);
  }
  60% {
    transform: translateX(100%);
  }
  100% {
    transform: translateX(100%);
  }
}
.k-skeleton-wave .k-skeleton, .k-skeleton-wave .k-placeholder-line,
.k-skeleton-wave.k-skeleton,
.k-skeleton-wave.k-placeholder-line {
  position: relative;
  overflow: hidden;
}
.k-skeleton-wave .k-skeleton::after, .k-skeleton-wave .k-placeholder-line::after,
.k-skeleton-wave.k-skeleton::after,
.k-skeleton-wave.k-placeholder-line::after {
  content: "";
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  transform: translateX(-100%);
  animation: k-skeleton-wave 1.6s linear 0.5s infinite;
}

@keyframes k-skeleton-pulse {
  0% {
    opacity: 1;
  }
  50% {
    opacity: 0.4;
  }
  100% {
    opacity: 1;
  }
}
.k-skeleton-pulse .k-skeleton, .k-skeleton-pulse .k-placeholder-line,
.k-skeleton-pulse.k-skeleton,
.k-skeleton-pulse.k-placeholder-line {
  animation: k-skeleton-pulse 1.5s ease-in-out 0.5s infinite;
}

.k-skeleton, .k-placeholder-line {
  background-color: var(--kendo-skeleton-item-bg, color-mix(in srgb, var(--kendo-color-on-app-surface, #323130) 23%, transparent));
}

.k-skeleton-wave .k-skeleton::after, .k-skeleton-wave .k-placeholder-line::after,
.k-skeleton-wave.k-skeleton::after,
.k-skeleton-wave.k-placeholder-line::after {
  background-image: linear-gradient(to right, transparent, var(--kendo-skeleton-wave-bg, var(--kendo-color-base, #ffffff)), transparent);
}

.k-tooltip {
  border-radius: var(--kendo-border-radius-md, 0.25rem);
  margin: 0;
  padding-inline: var(--kendo-tooltip-padding-x, var(--kendo-spacing-2, 0.5rem));
  padding-block: var(--kendo-tooltip-padding-y, var(--kendo-spacing-2, 0.5rem));
  border-width: var(--kendo-tooltip-border-width, 0px);
  border-style: solid;
  box-sizing: border-box;
  background-repeat: repeat-x;
  outline: 0;
  font-family: var(--kendo-tooltip-font-family, var(--kendo-font-family, inherit));
  font-size: var(--kendo-tooltip-font-size, var(--kendo-font-size-sm, inherit));
  line-height: var(--kendo-tooltip-line-height, var(--kendo-line-height, normal));
  display: flex;
  flex-flow: row nowrap;
  align-items: flex-start;
  position: absolute;
  z-index: 12000;
  -webkit-touch-callout: none;
  -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
}
.k-tooltip *,
.k-tooltip *::before,
.k-tooltip *::after {
  box-sizing: border-box;
}

.k-tooltip-icon {
  margin-inline-end: var(--kendo-tooltip-icon-spacing, 0.5rem);
  flex-shrink: 0;
}

.k-tooltip-title {
  margin-block-end: var(--kendo-tooltip-title-margin, var(--kendo-spacing-1, 0.25rem));
  font-size: var(--kendo-tooltip-title-font-size, calc(var(--kendo-font-size-sm, 0.75rem) * 1.25));
  line-height: var(--kendo-tooltip-title-line-height, var(--kendo-line-heigh-xs, normal));
}

.k-tooltip-content {
  align-self: stretch;
  flex: 1 1 auto;
  overflow: hidden;
  text-overflow: ellipsis;
}

.k-tooltip-button {
  margin-inline-start: var(--kendo-tooltip-button-spacing, 0.5rem);
  flex-shrink: 0;
}
.k-tooltip-button .k-icon {
  color: inherit;
  vertical-align: top;
}

.k-callout {
  width: calc(var(--kendo-spacing-2, 0.5rem) * 2);
  height: calc(var(--kendo-spacing-2, 0.5rem) * 2);
  border-width: var(--kendo-spacing-2, 0.5rem);
  border-style: solid;
  border-color: transparent;
  position: absolute;
  pointer-events: none;
  color: inherit;
}

.k-callout-n {
  margin-inline-start: calc(var(--kendo-spacing-2, 0.5rem) * -1);
  border-bottom-color: currentColor;
  top: calc(var(--kendo-spacing-2, 0.5rem) * -1 * 2);
  left: 50%;
  pointer-events: none;
}

.k-callout-e {
  margin-block-start: calc(var(--kendo-spacing-2, 0.5rem) * -1);
  border-left-color: currentColor;
  top: 50%;
  right: calc(var(--kendo-spacing-2, 0.5rem) * -1 * 2);
  pointer-events: none;
}

.k-callout-s {
  margin-inline-start: calc(var(--kendo-spacing-2, 0.5rem) * -1);
  border-top-color: currentColor;
  bottom: calc(var(--kendo-spacing-2, 0.5rem) * -1 * 2);
  left: 50%;
  pointer-events: none;
}

.k-callout-w {
  margin-block-start: calc(var(--kendo-spacing-2, 0.5rem) * -1);
  border-right-color: currentColor;
  top: 50%;
  left: calc(var(--kendo-spacing-2, 0.5rem) * -1 * 2);
  pointer-events: none;
}

.k-tooltip {
  box-shadow: var(--kendo-tooltip-shadow, var(--kendo-box-shadow-depth-2, none));
  --INTERNAL--kendo-tooltip-text: var( --kendo-tooltip-text, var(--kendo-component-text, initial) );
  --INTERNAL--kendo-tooltip-bg: var( --kendo-tooltip-bg, var(--kendo-color-app-surface, #ffffff) );
  --INTERNAL--kendo-tooltip-border: var( --kendo-tooltip-border, transparent );
  color: var(--INTERNAL--kendo-tooltip-text, initial);
  background-color: var(--INTERNAL--kendo-tooltip-bg, initial);
  border-color: var(--INTERNAL--kendo-tooltip-border, initial);
}
.k-tooltip .k-callout {
  color: var(--INTERNAL--kendo-tooltip-bg, initial);
}

.k-tooltip-primary {
  --kendo-tooltip-text: var(--kendo-color-on-primary, #ffffff);
  --kendo-tooltip-bg: var(--kendo-color-primary, #0078d4);
  --kendo-tooltip-border: var(--kendo-color-primary, #0078d4);
}

.k-tooltip-secondary {
  --kendo-tooltip-text: var(--kendo-color-secondary-on-subtle, #323130);
  --kendo-tooltip-bg: var(--kendo-color-secondary-subtle, #faf9f8);
  --kendo-tooltip-border: var(--kendo-color-secondary-subtle, #faf9f8);
}

.k-tooltip-tertiary {
  --kendo-tooltip-text: var(--kendo-color-tertiary-on-subtle, #174974);
  --kendo-tooltip-bg: var(--kendo-color-tertiary-subtle, #deecf9);
  --kendo-tooltip-border: var(--kendo-color-tertiary-subtle, #deecf9);
}

.k-tooltip-success {
  --kendo-tooltip-text: var(--kendo-color-success-on-subtle, #063206);
  --kendo-tooltip-bg: var(--kendo-color-success-subtle, #dff6dd);
  --kendo-tooltip-border: var(--kendo-color-success-subtle, #dff6dd);
}

.k-tooltip-warning {
  --kendo-tooltip-text: var(--kendo-color-warning-on-subtle, #323130);
  --kendo-tooltip-bg: var(--kendo-color-warning-subtle, #fff4ce);
  --kendo-tooltip-border: var(--kendo-color-warning-subtle, #fff4ce);
}

.k-tooltip-error {
  --kendo-tooltip-text: var(--kendo-color-error-on-subtle, #420f12);
  --kendo-tooltip-bg: var(--kendo-color-error-subtle, #fde7e9);
  --kendo-tooltip-border: var(--kendo-color-error-subtle, #fde7e9);
}

.k-tooltip-info {
  --kendo-tooltip-text: var(--kendo-color-info-on-subtle, #032040);
  --kendo-tooltip-bg: var(--kendo-color-info-subtle, #cee5ff);
  --kendo-tooltip-border: var(--kendo-color-info-subtle, #cee5ff);
}

.k-tooltip-dark {
  --kendo-tooltip-text: var(--kendo-color-on-dark, #ffffff);
  --kendo-tooltip-bg: var(--kendo-color-dark, #323130);
  --kendo-tooltip-border: var(--kendo-color-dark, #323130);
}

.k-tooltip-light {
  --kendo-tooltip-text: var(--kendo-color-on-light, #323130);
  --kendo-tooltip-bg: var(--kendo-color-light, #d2d0ce);
  --kendo-tooltip-border: var(--kendo-color-light, #d2d0ce);
}

.k-tooltip-button {
  color: var(--kendo-tooltip-button-text, var(--kendo-color-subtle, #605e5c));
}

.k-current-time {
  width: var(--kendo-current-time-width, 1px);
  position: absolute;
}
.k-current-time.k-current-time-arrow-left, .k-current-time.k-current-time-arrow-right, .k-current-time.k-current-time-arrow-down {
  width: 0;
  height: 0;
  background: transparent;
  border: 4px solid transparent;
}

.k-current-time {
  background: var(--kendo-current-time-color, #ff0000);
}
.k-current-time.k-current-time-arrow-left {
  border-right-color: var(--kendo-current-time-color, #ff0000);
}
.k-current-time.k-current-time-arrow-right {
  border-left-color: var(--kendo-current-time-color, #ff0000);
}
.k-current-time.k-current-time-arrow-down {
  border-top-color: var(--kendo-current-time-color, #ff0000);
}

.k-menu-bar, .k-menu {
  border-width: var(--kendo-menu-border-width, var(--kendo-spacing-0, 0px));
  border-style: solid;
  box-sizing: border-box;
  outline: 0;
  font-family: var(--kendo-menu-font-family, var(--kendo-font-family, inherit));
  font-size: var(--kendo-menu-font-size, var(--kendo-font-size, inherit));
  line-height: var(--kendo-menu-line-height, var(--kendo-line-height, normal));
  display: flex;
  flex-wrap: nowrap;
  align-items: stretch;
  position: relative;
  cursor: default;
  -webkit-touch-callout: none;
  -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
}
.k-menu-bar > .k-separator, .k-menu > .k-separator {
  border-width: 0;
}
.k-menu-bar *, .k-menu *,
.k-menu-bar *::before,
.k-menu *::before,
.k-menu-bar *::after,
.k-menu *::after {
  box-sizing: border-box;
}

.k-menu-item {
  border-width: 0;
  outline: 0;
  display: flex;
  flex-flow: column nowrap;
  flex: none;
  position: relative;
  user-select: none;
}
.k-menu-item:focus, .k-menu-item:focus-visible, .k-menu-item.k-focus {
  outline-offset: var(--kendo-menu-item-focus-outline-offset, calc(var(--kendo-spacing-0\.5, 0.125rem) * -1));
  outline-width: var(--kendo-menu-item-focus-outline-width, 1px);
  outline-style: var(--kendo-menu-item-focus-outline-style, solid);
}
.k-menu-item.k-selected {
  font-weight: var(--kendo-menu-item-selected-font-weight, var(--kendo-font-weight-bold, normal));
}

.k-menu-link {
  padding-inline: var(--kendo-menu-item-padding-x, var(--kendo-spacing-2, 0.5rem));
  padding-block: var(--kendo-menu-item-padding-y, var(--kendo-spacing-3, 0.75rem));
  outline: 0;
  color: inherit;
  display: flex;
  flex-flow: row nowrap;
  flex: 1 1 auto;
  gap: var(--kendo-menu-item-icon-spacing, var(--kendo-icon-spacing, 0.5rem));
  align-items: center;
  position: relative;
  white-space: nowrap;
  cursor: pointer;
}

.k-menu-link-text {
  display: flex;
  flex-flow: row nowrap;
  flex: 1 1 auto;
  overflow: hidden;
  text-overflow: ellipsis;
}

.k-menu-expand-arrow {
  display: inline-flex;
  flex-flow: row wrap;
  align-items: center;
  flex: none;
  position: relative;
}

.k-menu-horizontal {
  flex-direction: row;
}
.k-menu-horizontal > .k-menu-item + .k-menu-item {
  margin-inline-start: var(--kendo-menu-item-spacing, var(--kendo-spacing-0, 0px));
}
.k-menu-horizontal > .k-separator {
  margin-block: var(--kendo-menu-separator-margin-block, var(--kendo-spacing-3, 0.75rem));
  margin-inline: var(--kendo-menu-separator-margin-inline, var(--kendo-spacing-1, 0.25rem));
  width: 0;
  height: auto;
  border-left-width: var(--kendo-menu-separator-width, 1px);
  border-style: solid;
}

.k-menu-vertical {
  flex-direction: column;
  width: 100%;
}
.k-menu-vertical > .k-menu-item > .k-menu-link {
  padding-inline-end: var(--kendo-menu-popup-md-item-padding-end, calc(var(--kendo-spacing-2, 0.5rem) * 2 + var(--kendo-icon-size, 1rem)));
}
.k-menu-vertical > .k-menu-item > .k-menu-link > .k-menu-expand-arrow {
  margin-inline-start: var(--kendo-menu-popup-item-icon-md-margin-start, var(--kendo-spacing-0, 0px));
  margin-inline-end: var(--kendo-menu-popup-item-icon-md-margin-end, calc(-1 * (var(--kendo-icon-size, 1rem) + var(--kendo-spacing-2, 0.5rem))));
}
.k-menu-vertical > .k-menu-item + .k-menu-item {
  margin-block-start: var(--kendo-menu-item-spacing, var(--kendo-spacing-0, 0px));
}
.k-menu-vertical > .k-separator {
  margin-block: var(--kendo-menu-separator-margin-inline, var(--kendo-spacing-1, 0.25rem));
  margin-inline: 0;
  height: 0;
  border-width: 1px 0 0;
  border-style: solid;
  display: block;
}

.k-menu-popup {
  padding-inline: var(--kendo-menu-popup-padding-x, var(--kendo-spacing-0, 0px));
  padding-block: var(--kendo-menu-popup-padding-y, var(--kendo-spacing-0, 0px));
  box-sizing: border-box;
  border-width: var(--kendo-menu-popup-border-width, 0);
  border-style: solid;
  overflow: auto;
  max-height: 80vh;
}
.k-menu-popup *,
.k-menu-popup *::before,
.k-menu-popup *::after {
  box-sizing: border-box;
}
.k-menu-popup .k-menu-item {
  font-weight: initial;
}

.k-menu-group {
  font-size: var(--INTERNAL--kendo-group-font-size, inherit);
  line-height: var(--INTERNAL--kendo-group-line-height, normal);
  margin: 0;
  padding: 0;
  list-style: none;
  display: flex;
  flex-flow: column nowrap;
  gap: var(--kendo-menu-popup-item-spacing, var(--kendo-spacing-0, 0px));
  position: absolute;
}
.k-menu-group .k-menu-link {
  padding-inline-start: var(--INTERNAL--kendo-menu-popup-item-padding-x);
  padding-inline-end: var(--INTERNAL--kendo-menu-popup-item-padding-end);
  padding-block: var(--INTERNAL--kendo-menu-popup-item-padding-y);
}
.k-menu-group .k-menu-expand-arrow {
  margin-inline-start: var(--INTERNAL--kendo-menu-popup-item-icon-margin-start);
  margin-inline-end: var(--INTERNAL--kendo-menu-popup-item-icon-margin-end);
}
.k-menu-group .k-separator {
  margin-block: var(--kendo-menu-separator-margin-inline, var(--kendo-spacing-1, 0.25rem));
  margin-inline: 0;
  height: 0;
  border-width: 0;
  border-top-width: var(--kendo-menu-separator-width, 1px);
  border-style: solid;
  display: block;
}

.k-menu-popup .k-menu-group {
  position: relative;
}

.k-menu-group .k-item:focus > .k-link, .k-menu-group .k-item:focus-visible > .k-link, .k-menu-group .k-item.k-focus > .k-link,
.k-menu.k-context-menu .k-item:focus > .k-link,
.k-menu.k-context-menu .k-item:focus-visible > .k-link,
.k-menu.k-context-menu .k-item.k-focus > .k-link {
  outline-offset: var(--kendo-menu-item-focus-outline-offset, calc(var(--kendo-spacing-0\.5, 0.125rem) * -1));
  outline-width: var(--kendo-menu-item-focus-outline-width, 1px);
  outline-style: var(--kendo-menu-item-focus-outline-style, solid);
}

.k-menu-group-sm {
  --INTERNAL--kendo-group-font-size: var( --kendo-menu-popup-font-size-sm, var(--kendo-font-size, inherit) );
  --INTERNAL--kendo-group-line-height: var( --kendo-menu-popup-line-height-sm, var(--kendo-line-height, 30px) );
}
.k-menu-group-sm .k-menu-link {
  --INTERNAL--kendo-menu-popup-item-padding-x: var( --kendo-menu-popup-item-padding-x-sm, var(--kendo-spacing-2, 0.5rem) );
  --INTERNAL--kendo-menu-popup-item-padding-y: var( --kendo-menu-popup-item-padding-y-sm, var(--kendo-spacing-1\.5, 0.375rem) );
  --INTERNAL--kendo-menu-popup-item-padding-end: var( --kendo-menu-popup-item-padding-end-sm, calc(var(--kendo-spacing-2, 0.5rem) * 2 + var(--kendo-icon-size, 1rem)) );
}
.k-menu-group-sm .k-menu-expand-arrow {
  --INTERNAL--kendo-menu-popup-item-icon-margin-start: var( --kendo-menu-popup-item-icon-margin-start-sm, var(--kendo-spacing-0, 0px) );
  --INTERNAL--kendo-menu-popup-item-icon-margin-end: var( --kendo-menu-popup-item-icon-margin-end-sm, calc(-1 * (var(--kendo-icon-size, 1rem) + var(--kendo-spacing-2, 0.5rem))) );
}

.k-menu-group-md {
  --INTERNAL--kendo-group-font-size: var( --kendo-menu-popup-font-size-md, var(--kendo-font-size, inherit) );
  --INTERNAL--kendo-group-line-height: var( --kendo-menu-popup-line-height-md, var(--kendo-line-height, 30px) );
}
.k-menu-group-md .k-menu-link {
  --INTERNAL--kendo-menu-popup-item-padding-x: var( --kendo-menu-popup-item-padding-x-md, var(--kendo-spacing-2, 0.5rem) );
  --INTERNAL--kendo-menu-popup-item-padding-y: var( --kendo-menu-popup-item-padding-y-md, var(--kendo-spacing-2, 0.5rem) );
  --INTERNAL--kendo-menu-popup-item-padding-end: var( --kendo-menu-popup-item-padding-end-md, calc(var(--kendo-spacing-2, 0.5rem) * 2 + var(--kendo-icon-size, 1rem)) );
}
.k-menu-group-md .k-menu-expand-arrow {
  --INTERNAL--kendo-menu-popup-item-icon-margin-start: var( --kendo-menu-popup-item-icon-margin-start-md, var(--kendo-spacing-0, 0px) );
  --INTERNAL--kendo-menu-popup-item-icon-margin-end: var( --kendo-menu-popup-item-icon-margin-end-md, calc(-1 * (var(--kendo-icon-size, 1rem) + var(--kendo-spacing-2, 0.5rem))) );
}

.k-menu-group-lg {
  --INTERNAL--kendo-group-font-size: var( --kendo-menu-popup-font-size-lg, var(--kendo-font-size-lg, inherit) );
  --INTERNAL--kendo-group-line-height: var( --kendo-menu-popup-line-height-lg, var(--kendo-line-height, 30px) );
}
.k-menu-group-lg .k-menu-link {
  --INTERNAL--kendo-menu-popup-item-padding-x: var( --kendo-menu-popup-item-padding-x-lg, var(--kendo-spacing-2, 0.5rem) );
  --INTERNAL--kendo-menu-popup-item-padding-y: var( --kendo-menu-popup-item-padding-y-lg, var(--kendo-spacing-2\.5, 0.625rem) );
  --INTERNAL--kendo-menu-popup-item-padding-end: var( --kendo-menu-popup-item-padding-end-lg, calc(var(--kendo-spacing-2, 0.5rem) * 2 + var(--kendo-icon-size, 1rem)) );
}
.k-menu-group-lg .k-menu-expand-arrow {
  --INTERNAL--kendo-menu-popup-item-icon-margin-start: var( --kendo-menu-popup-item-icon-margin-start-lg, var(--kendo-spacing-0, 0px) );
  --INTERNAL--kendo-menu-popup-item-icon-margin-end: var( --kendo-menu-popup-item-icon-margin-end-lg, calc(-1 * (var(--kendo-icon-size, 1rem) + var(--kendo-spacing-2, 0.5rem))) );
}

.k-popups-wrapper {
  position: relative;
  border: 0;
  margin: 0;
  padding: 0;
}

.k-context-menu {
  margin: 0;
  padding-inline: var(--kendo-menu-popup-padding-x, var(--kendo-spacing-0, 0px));
  padding-block: var(--kendo-menu-popup-padding-y, var(--kendo-spacing-0, 0px));
  border-width: var(--kendo-menu-popup-border-width, 0);
  border-style: solid;
}
.k-context-menu.k-menu-horizontal {
  padding-inline: var(--kendo-menu-popup-padding-y, var(--kendo-spacing-0, 0px));
  padding-block: var(--kendo-menu-popup-padding-x, var(--kendo-spacing-0, 0px));
}

.k-animation-container .k-context-menu.k-menu-horizontal {
  display: flex !important;
  flex-wrap: nowrap;
}

.k-context-menu-popup {
  z-index: 12000;
}
.k-context-menu-popup .k-context-menu {
  border-width: 0;
}

.k-popup .k-context-menu,
.k-context-menu-popup .k-context-menu {
  border-width: 0;
}

.k-menu-scroll-wrapper {
  margin: 0;
  padding: 0;
  border: 0;
  position: relative;
  display: flex;
  align-items: center;
}
.k-menu-scroll-wrapper .k-menu {
  overflow: hidden;
  flex-wrap: nowrap;
}

.k-menu-scroll-wrapper-vertical {
  flex-direction: column;
}
.k-menu-scroll-wrapper-vertical > .k-menu-scroll-button {
  width: 100%;
}

.k-menu:not(.k-context-menu) {
  color: var(--kendo-menu-text, var(--kendo-body-text, inherit));
  background-color: var(--kendo-menu-bg, transparent);
  border-color: var(--kendo-menu-border, initial);
  box-shadow: var(--kendo-menu-shadow, none);
}
.k-menu:not(.k-context-menu) > .k-item {
  color: var(--kendo-menu-item-text, var(--kendo-body-text, inherit));
  background-color: var(--kendo-menu-item-bg, transparent);
}
.k-menu:not(.k-context-menu) > .k-item:hover, .k-menu:not(.k-context-menu) > .k-item.k-hover {
  color: var(--kendo-menu-item-hover-text, var(--kendo-hover-text, inherit));
  background-color: var(--kendo-menu-item-hover-bg, var(--kendo-hover-bg, initial));
}
.k-menu:not(.k-context-menu) > .k-item:focus, .k-menu:not(.k-context-menu) > .k-item.k-focus {
  color: var(--kendo-menu-item-focus-text, var(--kendo-body-text, inherit));
  background-color: var(--kendo-menu-item-focus-bg, transparent);
  outline-color: var(--kendo-menu-item-focus-outline, var(--kendo-focus-outline, none));
}
.k-menu:not(.k-context-menu) > .k-item:active, .k-menu:not(.k-context-menu) > .k-item.k-active {
  color: var(--kendo-menu-item-active-text, var(--kendo-hover-text, inherit));
  background-color: var(--kendo-menu-item-active-bg, var(--kendo-selected-bg, initial));
}
.k-menu:not(.k-context-menu) > .k-item.k-disabled {
  color: var(--kendo-menu-item-disabled-text, var(--kendo-disabled-text, initial));
  background-color: var(--kendo-menu-item-disabled-bg, transparent);
}
.k-menu:not(.k-context-menu) > .k-item.k-selected {
  color: var(--kendo-menu-item-selected-text, );
  background-color: var(--kendo-menu-item-selected-bg, );
}
.k-menu:not(.k-context-menu) .k-link > .k-icon {
  color: var(--kendo-menu-icon-color, var(--kendo-color-primary, #0078d4));
}
.k-menu:not(.k-context-menu) > .k-separator {
  border-color: var(--kendo-menu-separator-border, color-mix(in srgb, var(--kendo-color-border, #8a8886) 16%, transparent));
}

.k-menu-popup {
  box-shadow: var(--kendo-menu-popup-shadow, var(--kendo-box-shadow-depth-6, none));
}

.k-menu-group,
.k-menu.k-context-menu {
  background-color: var(--kendo-menu-popup-bg, var(--kendo-component-bg, initial));
  border-color: var(--kendo-menu-popup-border, initial);
}
.k-menu-group .k-item > .k-link,
.k-menu.k-context-menu .k-item > .k-link {
  color: var(--kendo-menu-popup-item-text, var(--kendo-color-on-app-surface, #323130));
  background-color: var(--kendo-menu-popup-item-bg, var(--kendo-color-app-surface, #ffffff));
}
.k-menu-group .k-item > .k-link:hover, .k-menu-group .k-item > .k-link.k-hover,
.k-menu.k-context-menu .k-item > .k-link:hover,
.k-menu.k-context-menu .k-item > .k-link.k-hover {
  color: var(--kendo-menu-popup-item-hover-text, var(--kendo-color-on-app-surface, #323130));
  background-color: var(--kendo-menu-popup-item-hover-bg, var(--kendo-color-base-hover, #f3f2f1));
}
.k-menu-group .k-item > .k-link:active, .k-menu-group .k-item > .k-link.k-active, .k-menu-group .k-item > .k-link.k-selected,
.k-menu.k-context-menu .k-item > .k-link:active,
.k-menu.k-context-menu .k-item > .k-link.k-active,
.k-menu.k-context-menu .k-item > .k-link.k-selected {
  color: var(--kendo-menu-popup-item-active-text, var(--kendo-color-on-app-surface, #323130));
  background-color: var(--kendo-menu-popup-item-active-bg, var(--kendo-color-base-active, #edebe9));
}
.k-menu-group .k-item > .k-link.k-disabled,
.k-menu.k-context-menu .k-item > .k-link.k-disabled {
  color: var(--kendo-menu-popup-item-disabled-text, color-mix(in srgb, var(--kendo-color-on-app-surface, #323130) 46%, transparent));
  background-color: var(--kendo-menu-popup-item-disabled-bg, var(--kendo-color-app-surface, #ffffff));
}
.k-menu-group .k-item:focus, .k-menu-group .k-item:focus-visible, .k-menu-group .k-item.k-focus,
.k-menu.k-context-menu .k-item:focus,
.k-menu.k-context-menu .k-item:focus-visible,
.k-menu.k-context-menu .k-item.k-focus {
  outline-color: transparent;
}
.k-menu-group .k-item:focus > .k-link, .k-menu-group .k-item:focus-visible > .k-link, .k-menu-group .k-item.k-focus > .k-link,
.k-menu.k-context-menu .k-item:focus > .k-link,
.k-menu.k-context-menu .k-item:focus-visible > .k-link,
.k-menu.k-context-menu .k-item.k-focus > .k-link {
  outline-color: var(--kendo-menu-popup-item-focus-outline, var(--kendo-color-base-emphasis, #605e5c));
}
.k-menu-group > .k-separator,
.k-menu.k-context-menu > .k-separator {
  border-color: var(--kendo-menu-separator-border, color-mix(in srgb, var(--kendo-color-border, #8a8886) 16%, transparent));
}

.k-menu-scroll-wrapper .k-menu-scroll-button {
  border-color: var(--kendo-menu-scroll-btn-bg, transparent);
  background-color: var(--kendo-menu-scroll-btn-bg, var(--kendo-body-bg, var(--kendo-color-app-surface, #ffffff)));
}

.k-toolbar {
  margin: 0;
  padding-inline: var(--INTERNAL--kendo-toolbar-padding-x, 0);
  padding-block: var(--INTERNAL--kendo-toolbar-padding-y, 0);
  border-width: var(--kendo-toolbar-border-width, 1px);
  border-style: solid;
  box-sizing: border-box;
  outline: 0;
  font-family: var(--kendo-toolbar-font-family, var(--kendo-font-family, inherit));
  font-size: var(--kendo-toolbar-font-size, var(--kendo-font-size, inherit));
  line-height: var(--kendo-toolbar-line-height, var(--kendo-line-height, normal));
  list-style: none;
  display: flex;
  flex-flow: row wrap;
  gap: var(--INTERNAL--kendo-toolbar-spacing, 0);
  align-items: center;
  justify-content: flex-start;
  position: relative;
  overflow: hidden;
  -webkit-touch-callout: none;
  -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
}
.k-toolbar::before {
  content: "";
  height: calc(var(--kendo-line-height, normal) * 1em + var(--kendo-spacing-1\.5, 0.375rem) * 2);
  margin-inline-start: calc(var(--INTERNAL--kendo-toolbar-spacing, 0) * -1);
}
.k-toolbar.k-toolbar-resizable {
  flex-wrap: nowrap;
}
.k-toolbar.k-toolbar-scrollable {
  flex-wrap: nowrap;
  position: relative;
  margin-inline-start: calc(var(--INTERNAL--kendo-toolbar-spacing, 0) * -1);
}
.k-toolbar.k-toolbar-scrollable-overlay::before, .k-toolbar.k-toolbar-scrollable-overlay::after {
  content: "";
  height: 100%;
  aspect-ratio: 1;
  position: absolute;
  z-index: 3;
}
.k-toolbar.k-toolbar-scrollable-overlay::before {
  inset-inline-start: var(--INTERNAL--kendo-toolbar-spacing, 0);
}
.k-toolbar.k-toolbar-scrollable-overlay::after {
  inset-inline-end: 0;
}
.k-toolbar.k-toolbar-scrollable-overlay.k-toolbar-scrollable-start::before, .k-toolbar.k-toolbar-scrollable-overlay.k-toolbar-scrollable-end::after {
  display: none;
}
.k-toolbar > * {
  flex-shrink: 0;
  display: inline-flex;
  align-content: center;
  vertical-align: middle;
}
.k-toolbar > * > label {
  margin-inline-end: var(--INTERNAL--kendo-toolbar-spacing, 0);
  align-self: center;
}
.k-toolbar .k-input,
.k-toolbar .k-picker {
  width: var(--kendo-toolbar-input-width, 10em);
}
.k-toolbar .k-color-picker, .k-toolbar .k-colorpicker {
  width: min-content;
}
.k-toolbar .k-toolbar-overflow-button {
  margin-inline-start: auto;
}
.k-toolbar .k-toolbar-separator.k-toolbar-button-separator {
  margin-inline-start: auto;
  height: var(--INTERNAL--kendo-toolbar-separator-height, 100%);
}
.k-toolbar .k-toolbar-separator.k-toolbar-button-separator + .k-toolbar-overflow-button {
  margin-inline-start: 0;
}
.k-toolbar .k-toolbar-spacer {
  height: calc(var(--kendo-toolbar-line-height, var(--kendo-line-height, normal)) * 1em);
  flex: 1 0 0%;
}
.k-toolbar .k-toolbar-item:focus,
.k-toolbar .k-toolbar-item.k-focus {
  outline-width: var(--kendo-toolbar-item-focus-outline-width, 1px);
  outline-style: var(--kendo-toolbar-item-focus-outline-style, solid);
}

.k-toolbar .k-separator,
.k-toolbar-separator {
  width: 0;
  height: calc(var(--kendo-toolbar-line-height, var(--kendo-line-height, normal)) * 1em);
  border-width: 0 0 0 1px;
  border-style: solid;
  align-self: center;
}

.k-toolbar-items {
  display: flex;
  flex-flow: row nowrap;
  gap: var(--INTERNAL--kendo-toolbar-spacing, 0);
  align-items: center;
  justify-content: flex-start;
  flex: 1 1 auto;
  overflow: hidden;
}

.k-toolbar-items-scroll {
  overflow-x: auto;
  scrollbar-width: none;
}
.k-toolbar-items-scroll::-webkit-scrollbar {
  display: none;
}

.k-toolbar-items-list {
  display: flex;
  flex-flow: row wrap;
  padding-inline: var(--INTERNAL--kendo-toolbar-padding-x, 0);
  padding-block: var(--INTERNAL--kendo-toolbar-padding-y, 0);
  gap: var(--INTERNAL--kendo-toolbar-spacing, 0);
  align-items: center;
  justify-content: flex-start;
  flex: 1 1 auto;
  overflow: hidden;
}

.k-toolbar-outline {
  border-width: var(--kendo-toolbar-outline-border-width, 1px);
  background: none;
}

.k-toolbar-flat {
  border-top-color: transparent !important;
  border-inline-color: transparent !important;
  background: none !important;
}

.k-toolbar-group {
  display: flex;
  flex-direction: inherit;
  flex-wrap: nowrap;
  gap: inherit;
}

.k-toolbar-sm,
.k-toolbar-items-list-sm {
  --INTERNAL--kendo-toolbar-padding-x: var( --kendo-toolbar-sm-padding-x, var(--kendo-spacing-1, 0.25rem) );
  --INTERNAL--kendo-toolbar-padding-y: var( --kendo-toolbar-sm-padding-y, var(--kendo-spacing-1, 0.25rem) );
  --INTERNAL--kendo-toolbar-spacing: var( --kendo-toolbar-sm-spacing, var(--kendo-spacing-2, 0.5rem) );
  --INTERNAL--kendo-toolbar-separator-height: var( --kendo-toolbar-sm-separator-height, calc(var(--kendo-line-height, normal) * 1em + var(--kendo-spacing-1, 0.25rem) * 2 + 1px * 2) );
}

.k-toolbar-md,
.k-toolbar-items-list-md {
  --INTERNAL--kendo-toolbar-padding-x: var( --kendo-toolbar-md-padding-x, var(--kendo-spacing-2, 0.5rem) );
  --INTERNAL--kendo-toolbar-padding-y: var( --kendo-toolbar-md-padding-y, var(--kendo-spacing-2, 0.5rem) );
  --INTERNAL--kendo-toolbar-spacing: var( --kendo-toolbar-md-spacing, var(--kendo-spacing-2, 0.5rem) );
  --INTERNAL--kendo-toolbar-separator-height: var( --kendo-toolbar-md-separator-height, calc(var(--kendo-line-height, normal) * 1em + var(--kendo-spacing-1\.5, 0.375rem) * 2 + 1px * 2) );
}

.k-toolbar-lg,
.k-toolbar-items-list-lg {
  --INTERNAL--kendo-toolbar-padding-x: var( --kendo-toolbar-lg-padding-x, var(--kendo-spacing-2\.5, 0.625rem) );
  --INTERNAL--kendo-toolbar-padding-y: var( --kendo-toolbar-lg-padding-y, var(--kendo-spacing-2\.5, 0.625rem) );
  --INTERNAL--kendo-toolbar-spacing: var( --kendo-toolbar-lg-spacing, var(--kendo-spacing-2, 0.5rem) );
  --INTERNAL--kendo-toolbar-separator-height: var( --kendo-toolbar-lg-separator-height, calc(var(--kendo-line-height, normal) * 1em + var(--kendo-spacing-2, 0.5rem) * 2 + 1px * 2) );
}

.k-toolbar-sm::before {
  height: var(--kendo-button-sm-inner-calc-size, calc(var(--kendo-line-height, normal) * 1em + var(--kendo-spacing-1, 0.25rem) * 2));
}

.k-toolbar-md::before {
  height: var(--kendo-button-md-inner-calc-size, calc(var(--kendo-line-height, normal) * 1em + var(--kendo-spacing-1\.5, 0.375rem) * 2));
}

.k-toolbar-lg::before {
  height: var(--kendo-button-lg-inner-calc-size, calc(var(--kendo-line-height, normal) * 1em + var(--kendo-spacing-2, 0.5rem) * 2));
}

.k-floating-toolbar,
.editorToolbarWindow.k-window-content {
  padding-inline: var(--kendo-toolbar-md-padding-x, var(--kendo-spacing-2, 0.5rem)) !important;
  padding-block: var(--kendo-toolbar-md-padding-y, var(--kendo-spacing-2, 0.5rem)) !important;
  border-width: var(--kendo-toolbar-border-width, 1px);
  border-style: solid;
  display: flex;
  flex-flow: row nowrap;
  gap: var(--kendo-toolbar-md-spacing, var(--kendo-spacing-2, 0.5rem));
  align-items: center;
}
.k-floating-toolbar .k-toolbar,
.editorToolbarWindow.k-window-content .k-toolbar {
  padding: 0;
  border-width: 0;
  flex-shrink: 1;
  color: inherit;
  background: none;
}

.k-editortoolbar-dragHandle {
  cursor: move;
  display: flex;
  align-items: center;
  align-self: stretch;
  flex-shrink: 0;
}

.k-overflow-container {
  font-size: var(--kendo-menu-popup-md-font-size, inherit);
  line-height: var(--kendo-menu-popup-md-line-height, normal);
}
.k-overflow-container > .k-item {
  border-color: inherit;
}
.k-overflow-container .k-separator {
  margin-block: var(--kendo-spacing-1, 0.25rem);
}
.k-overflow-container .k-overflow-tool-group {
  display: block;
}
.k-overflow-container .k-overflow-button {
  padding-inline: var(--kendo-menu-popup-md-item-padding-x, 8px);
  padding-block: var(--kendo-menu-popup-md-item-padding-y, 4px);
  width: 100%;
  height: auto;
  border-width: 0;
  border-radius: 0;
  aspect-ratio: auto;
  color: inherit;
  background-color: transparent;
  background-image: none;
  font: inherit;
  cursor: pointer;
  display: flex;
  flex-flow: row nowrap;
  align-items: center;
  align-content: center;
  gap: var(--kendo-overflow-button-spacing, 0.5rem);
  justify-content: flex-start;
  position: relative;
}
.k-overflow-container .k-button-group {
  box-shadow: none;
  display: flex;
  flex-flow: column nowrap;
}
.k-overflow-container .k-button-group .k-button {
  margin: 0;
}
.k-overflow-container .k-split-button {
  display: flex;
  flex-direction: column;
}
.k-overflow-container .k-overflow-hidden {
  display: none;
}

.k-toolbar .k-toolbar-item:focus,
.k-toolbar .k-toolbar-item.k-focus {
  outline-color: var(--kendo-toolbar-item-focus-outline-color, var(--kendo-color-base-emphasis, #605e5c));
}

.k-toolbar .k-separator,
.k-toolbar-separator {
  border-color: var(--kendo-toolbar-separator-border, inherit);
}

.k-toolbar-items {
  border-color: inherit;
}

.k-toolbar-solid {
  border-color: var(--kendo-toolbar-border, var(--kendo-component-border, initial));
  color: var(--kendo-toolbar-text, var(--kendo-component-text, inherit));
  background-color: var(--kendo-toolbar-bg, var(--kendo-color-surface, #faf9f8));
}
.k-toolbar-solid.k-toolbar-scrollable-overlay::before {
  background: linear-gradient(90deg, var(--kendo-toolbar-scroll-overlay, var(--kendo-color-surface, #faf9f8), color-mix(in srgb, var(--kendo-color-app-surface, #ffffff) 0%, transparent)));
}
.k-toolbar-solid.k-toolbar-scrollable-overlay::after {
  background: linear-gradient(270deg, var(--kendo-toolbar-scroll-overlay, var(--kendo-color-surface, #faf9f8), color-mix(in srgb, var(--kendo-color-app-surface, #ffffff) 0%, transparent)));
}

.k-toolbar-items-list-solid {
  border-color: var(--kendo-toolbar-border, var(--kendo-component-border, initial));
}

.k-toolbar-outline {
  border-color: var(--kendo-toolbar-outline-border, var(--kendo-color-border, #8a8886));
  color: var(--kendo-toolbar-outline-text, );
}
.k-toolbar-outline.k-toolbar-scrollable-overlay::before {
  background: linear-gradient(90deg, var(--kendo-toolbar-outline-scroll-overlay, var(--kendo-color-app-surface, #ffffff), color-mix(in srgb, var(--kendo-color-app-surface, #ffffff) 0%, transparent)));
}
.k-toolbar-outline.k-toolbar-scrollable-overlay::after {
  background: linear-gradient(270deg, var(--kendo-toolbar-outline-scroll-overlay, var(--kendo-color-app-surface, #ffffff), color-mix(in srgb, var(--kendo-color-app-surface, #ffffff) 0%, transparent)));
}

.k-toolbar-items-list-outline {
  border-color: var(--kendo-toolbar-outline-border, var(--kendo-color-border, #8a8886));
}

.k-toolbar-flat {
  border-color: var(--kendo-toolbar-flat-border, var(--kendo-component-border, initial));
  color: var(--kendo-toolbar-flat-text, );
}
.k-toolbar-flat > .k-separator,
.k-toolbar-flat .k-toolbar-separator {
  border-inline-color: var(--kendo-toolbar-flat-border, var(--kendo-component-border, initial));
}
.k-toolbar-flat.k-toolbar-scrollable-overlay::before {
  background: linear-gradient(90deg, var(--kendo-toolbar-flat-scroll-overlay, var(--kendo-color-app-surface, #ffffff), color-mix(in srgb, var(--kendo-color-app-surface, #ffffff) 0%, transparent)));
}
.k-toolbar-flat.k-toolbar-scrollable-overlay::after {
  background: linear-gradient(270deg, var(--kendo-toolbar-flat-scroll-overlay, var(--kendo-color-app-surface, #ffffff), color-mix(in srgb, var(--kendo-color-app-surface, #ffffff) 0%, transparent)));
}

.k-toolbar-items-list-flat {
  border-color: var(--kendo-toolbar-flat-border, var(--kendo-component-border, initial));
}

.k-floating-toolbar,
.editorToolbarWindow.k-window-content {
  color: var(--kendo-toolbar-text, var(--kendo-component-text, inherit));
  background-color: var(--kendo-toolbar-bg, var(--kendo-color-surface, #faf9f8));
  border-color: var(--kendo-toolbar-border, var(--kendo-component-border, initial));
}

.k-overflow-container .k-button:hover, .k-overflow-container .k-button.k-hover {
  color: var(--kendo-menu-popup-item-hover-text, initial);
  background: var(--kendo-menu-popup-item-hover-bg, initial);
}
.k-overflow-container .k-button:focus, .k-overflow-container .k-button.k-focus {
  box-shadow: var(--kendo-menu-popup-item-focus-shadow, initial);
}
.k-overflow-container .k-button:active, .k-overflow-container .k-button.k-active {
  color: var(--kendo-menu-popup-item-hover-text, initial);
  background: var(--kendo-menu-popup-item-hover-bg, initial);
}
.k-overflow-container .k-button.k-selected {
  color: var(--kendo-menu-popup-item-expanded-text, initial);
  background: var(--kendo-menu-popup-item-expanded-bg, initial);
}
.k-overflow-container .k-button:disabled, .k-overflow-container .k-button.k-disabled {
  color: inherit;
}

:is(.k-rtl .k-toolbar-scrollable-overlay, [dir=rtl] .k-toolbar-scrollable-overlay, .k-toolbar-scrollable-overlay.k-rtl, .k-toolbar-scrollable-overlay[dir=rtl])::before {
  background: linear-gradient(270deg, var(--kendo-toolbar-scroll-overlay, var(--kendo-color-surface, #faf9f8), color-mix(in srgb, var(--kendo-color-app-surface, #ffffff) 0%, transparent)));
}
:is(.k-rtl .k-toolbar-scrollable-overlay, [dir=rtl] .k-toolbar-scrollable-overlay, .k-toolbar-scrollable-overlay.k-rtl, .k-toolbar-scrollable-overlay[dir=rtl])::after {
  background: linear-gradient(90deg, var(--kendo-toolbar-scroll-overlay, var(--kendo-color-surface, #faf9f8), color-mix(in srgb, var(--kendo-color-app-surface, #ffffff) 0%, transparent)));
}
:is(.k-rtl .k-toolbar-scrollable-overlay, [dir=rtl] .k-toolbar-scrollable-overlay, .k-toolbar-scrollable-overlay.k-rtl, .k-toolbar-scrollable-overlay[dir=rtl]).k-toolbar-outline::before {
  background: linear-gradient(270deg, var(--kendo-toolbar-outline-scroll-overlay, var(--kendo-color-app-surface, #ffffff), color-mix(in srgb, var(--kendo-color-app-surface, #ffffff) 0%, transparent)));
}
:is(.k-rtl .k-toolbar-scrollable-overlay, [dir=rtl] .k-toolbar-scrollable-overlay, .k-toolbar-scrollable-overlay.k-rtl, .k-toolbar-scrollable-overlay[dir=rtl]).k-toolbar-outline::after {
  background: linear-gradient(90deg, var(--kendo-toolbar-outline-scroll-overlay, var(--kendo-color-app-surface, #ffffff), color-mix(in srgb, var(--kendo-color-app-surface, #ffffff) 0%, transparent)));
}
:is(.k-rtl .k-toolbar-scrollable-overlay, [dir=rtl] .k-toolbar-scrollable-overlay, .k-toolbar-scrollable-overlay.k-rtl, .k-toolbar-scrollable-overlay[dir=rtl]).k-toolbar-flat::before {
  background: linear-gradient(270deg, var(--kendo-toolbar-flat-scroll-overlay, var(--kendo-color-app-surface, #ffffff), color-mix(in srgb, var(--kendo-color-app-surface, #ffffff) 0%, transparent)));
}
:is(.k-rtl .k-toolbar-scrollable-overlay, [dir=rtl] .k-toolbar-scrollable-overlay, .k-toolbar-scrollable-overlay.k-rtl, .k-toolbar-scrollable-overlay[dir=rtl]).k-toolbar-flat::after {
  background: linear-gradient(90deg, var(--kendo-toolbar-flat-scroll-overlay, var(--kendo-color-app-surface, #ffffff), color-mix(in srgb, var(--kendo-color-app-surface, #ffffff) 0%, transparent)));
}

.k-overflow-auto {
  overflow: auto;
}

.\!k-overflow-auto {
  overflow: auto !important;
}

.k-overflow-hidden {
  overflow: hidden;
}

.\!k-overflow-hidden {
  overflow: hidden !important;
}

.k-overflow-visible {
  overflow: visible;
}

.\!k-overflow-visible {
  overflow: visible !important;
}

.k-overflow-scroll {
  overflow: scroll;
}

.\!k-overflow-scroll {
  overflow: scroll !important;
}

.k-overflow-clip {
  overflow: clip;
}

.\!k-overflow-clip {
  overflow: clip !important;
}

.k-overflow-x-auto {
  overflow-x: auto;
}

.\!k-overflow-x-auto {
  overflow-x: auto !important;
}

.k-overflow-x-hidden {
  overflow-x: hidden;
}

.\!k-overflow-x-hidden {
  overflow-x: hidden !important;
}

.k-overflow-x-visible {
  overflow-x: visible;
}

.\!k-overflow-x-visible {
  overflow-x: visible !important;
}

.k-overflow-x-scroll {
  overflow-x: scroll;
}

.\!k-overflow-x-scroll {
  overflow-x: scroll !important;
}

.k-overflow-x-clip {
  overflow-x: clip;
}

.\!k-overflow-x-clip {
  overflow-x: clip !important;
}

.k-overflow-y-auto {
  overflow-y: auto;
}

.\!k-overflow-y-auto {
  overflow-y: auto !important;
}

.k-overflow-y-hidden {
  overflow-y: hidden;
}

.\!k-overflow-y-hidden {
  overflow-y: hidden !important;
}

.k-overflow-y-visible {
  overflow-y: visible;
}

.\!k-overflow-y-visible {
  overflow-y: visible !important;
}

.k-overflow-y-scroll {
  overflow-y: scroll;
}

.\!k-overflow-y-scroll {
  overflow-y: scroll !important;
}

.k-overflow-y-clip {
  overflow-y: clip;
}

.\!k-overflow-y-clip {
  overflow-y: clip !important;
}

.k-form,
.k-form-inline {
  font-size: var(--kendo-form-font-size, var(--kendo-font-size, inherit));
  line-height: var(--kendo-form-line-height, var(--kendo-line-height, normal));
}
.k-form .k-form-field > .k-label,
.k-form-inline .k-form-field > .k-label {
  font-weight: var(--kendo-form-label-font-weight, var(--kendo-font-weight-bold, inherit));
}

kendo-label > .k-label {
  margin: 0;
}

.k-label-optional {
  margin-inline-start: var(--kendo-label-optional-margin-x, var(--kendo-spacing-1\.5, 0.375rem));
  font-size: var(--kendo-label-optional-font-size, var(--kendo-font-size-sm, inherit));
  font-style: var(--kendo-label-optional-font-style, normal);
  align-self: center;
}

.k-label-empty::before {
  content: "";
  display: inline-block;
}

.k-form {
  border: 0;
}
.k-form .k-form-field > .k-label,
.k-form .k-form-field > kendo-label,
.k-form .k-form-label {
  margin-block-end: var(--kendo-form-label-margin-bottom, var(--kendo-spacing-2, 0.5rem));
  display: flex;
  flex-flow: row nowrap;
}
.k-form .k-label + .k-radio {
  margin-inline-start: 0;
}
.k-form .k-form-fieldset {
  margin: var(--kendo-form-fieldset-margin, 2em 0 0);
  padding: var(--kendo-form-fieldset-padding, var(--kendo-spacing-0, 0px));
  border: 0;
}
.k-form .k-form-fieldset > *:not(.k-hidden):first-child, .k-form .k-form-fieldset > *.k-hidden + :not(.k-hidden) {
  margin-block-start: 0;
}
.k-form .k-form-legend {
  margin: var(--kendo-form-legend-margin, 0 0 var(--kendo-spacing-3, 0.75rem));
  padding: var(--kendo-form-legend-padding, var(--kendo-spacing-0, 0px));
  border-width: var(--kendo-form-legend-border-width, 0 0 var(--kendo-spacing-0\.5, 0.125rem));
  border-style: var(--kendo-form-legend-border-style, solid);
  width: var(--kendo-form-legend-width, 100%);
  font-size: var(--kendo-form-legend-font-size, var(--kendo-font-size, inherit));
  text-transform: var(--kendo-form-legend-text-transform, uppercase);
}
.k-form .k-form-group {
  padding: 0;
}
.k-form > *:not(.k-hidden):first-child, .k-form > *.k-hidden + :not(.k-hidden) {
  margin-block-start: 0;
}
.k-form .k-form-field,
.k-form .k-form-field-wrap {
  display: block;
}
.k-form .k-alert-error {
  font-size: var(--kendo-font-size-sm, 0.75rem);
  margin-block-start: calc(var(--kendo-spacing-1, 0.25rem) * 2);
}
.k-form .k-field-info {
  display: inline-block;
  font-size: var(--kendo-font-size-xs, 0.625rem);
  line-height: 1;
  margin-inline: var(--kendo-spacing-2, 0.5rem);
}
.k-form .k-multiselect,
.k-form .k-floating-label-container,
.k-form .k-daterangepicker .k-dateinput,
.k-form .k-signature {
  display: inline-flex;
  width: 100%;
}

.k-form-buttons {
  padding: 0;
  overflow: visible;
}

.k-form-hint,
.k-form-error {
  margin-block-start: var(--kendo-form-hint-margin-top, var(--kendo-spacing-1, 0.25rem));
  display: flex;
  font-size: var(--kendo-form-hint-font-size, var(--kendo-font-size-sm, inherit));
  font-style: var(--kendo-form-hint-font-style, normal);
}

.k-text-start,
.k-buttons-start {
  justify-content: flex-start;
}

.k-text-end,
.k-buttons-end {
  justify-content: flex-end;
}

.k-form-separator {
  margin: var(--kendo-form-separator-margin, var(--kendo-spacing-3, 0.75rem) 0 0);
  border-width: 1px 0 0;
  border-style: solid;
  display: block;
  flex: 0 0 auto;
}

.k-form-horizontal .k-form-field {
  display: flex;
}
.k-form-horizontal .k-form-field > .k-label,
.k-form-horizontal .k-form-field > kendo-label,
.k-form-horizontal .k-form-field > .k-form-label {
  margin-inline-end: var(--kendo-horizontal-form-label-margin-x, var(--kendo-spacing-2, 0.5rem));
  padding-block-start: var(--kendo-horizontal-form-label-padding-top, var(--kendo-spacing-1\.5, 0.375rem));
  width: var(--kendo-horizontal-form-label-width, 25%);
  text-align: end;
  flex-direction: column;
  align-items: var(--kendo-horizontal-form-label-align, flex-end);
  justify-content: flex-start;
}
.k-form-horizontal .k-form-field .k-label-optional {
  margin: 0;
  align-self: inherit;
}
.k-form-horizontal .k-form-field-wrap {
  max-width: var(--kendo-horizontal-form-field-wrap-max-width, calc(100% - 25% - var(--kendo-spacing-2, 0.5rem)));
  flex: 1 1 auto;
}

.k-form-sm .k-form-field {
  margin-block-start: var(--kendo-form-rows-spacing-sm, var(--kendo-spacing-3, 0.75rem));
}
.k-form-sm .k-form-buttons {
  margin-block-start: calc(var(--kendo-form-rows-spacing-sm, var(--kendo-spacing-3, 0.75rem)) * 2);
}

.k-form-md .k-form-field {
  margin-block-start: var(--kendo-form-rows-spacing-md, var(--kendo-spacing-3, 0.75rem));
}
.k-form-md .k-form-buttons {
  margin-block-start: calc(var(--kendo-form-rows-spacing-md, var(--kendo-spacing-3, 0.75rem)) * 2);
}

.k-form-lg .k-form-field {
  margin-block-start: var(--kendo-form-rows-spacing-lg, var(--kendo-spacing-3, 0.75rem));
}
.k-form-lg .k-form-buttons {
  margin-block-start: calc(var(--kendo-form-rows-spacing-lg, var(--kendo-spacing-3, 0.75rem)) * 2);
}

.k-form-inline {
  padding: var(--kendo-form-spacer, var(--kendo-spacing-4, 1rem));
}
.k-form-inline fieldset {
  border-width: 1px 0 0;
  border-style: solid;
  margin-block: calc(var(--kendo-form-spacer, var(--kendo-spacing-4, 1rem)) * 2);
  padding: 0;
}
.k-form-inline fieldset:first-child:first-of-type {
  margin-block-start: 0;
}
.k-form-inline fieldset:last-child:last-of-type {
  margin-block-end: 0;
}
.k-form-inline legend {
  font-size: var(--kendo-font-size-sm, 0.75rem);
  text-align: start;
  font-weight: 600;
  line-height: 1;
  margin-block-end: calc(var(--kendo-spacing-1\.5, 0.375rem) * 2);
  text-transform: uppercase;
  padding-inline-end: var(--kendo-spacing-2, 0.5rem);
  width: auto;
}
.k-form-inline .k-form-field {
  display: flex;
  align-items: flex-start;
  text-align: start;
  margin-block-end: calc(var(--kendo-spacing-1\.5, 0.375rem) * 2);
}
.k-form-inline .k-form-field > span:not(.k-widget) {
  width: var(--kendo-inline-form-element-width, 25%);
  text-align: end;
  line-height: var(--kendo-line-height, 1.4285714286);
  padding-block: calc(var(--kendo-spacing-1, 0.25rem) + 1px);
  padding-inline-end: var(--kendo-spacing-3, 0.75rem);
  align-self: center;
}
.k-form-inline .k-form-field > input {
  align-self: center;
}
.k-form-inline .k-form-field > input:not(.k-checkbox, .k-radio) {
  flex: 1 1 auto;
}
.k-form-inline .k-form-field .k-alert-error {
  font-size: var(--kendo-font-size-sm, 0.75rem);
  margin-block-start: calc(var(--kendo-spacing-1, 0.25rem) * 2);
}
.k-form-inline .k-form-field .k-field-info {
  display: block;
  font-size: var(--kendo-font-size-xs, 0.625rem);
  line-height: 1;
  margin: 0;
}
.k-form-inline .k-form-field:last-child {
  margin-block-end: 0;
}

.k-edit-form-container {
  width: 400px;
  min-width: 400px;
  border-color: inherit;
  position: relative;
}

.k-popup-edit-form > .k-actions, .k-popup-edit-form > .k-edit-buttons,
.k-popup-edit-form > .k-action-buttons,
.k-popup-edit-form > .k-columnmenu-actions, .k-popup-edit-form > .k-form-buttons,
.k-edit-form-container .k-actions,
.k-edit-form-container .k-edit-buttons,
.k-edit-form-container .k-action-buttons,
.k-edit-form-container .k-columnmenu-actions,
.k-edit-form-container .k-form-buttons {
  margin: var(--kendo-spacing-4, 1rem) calc(-1 * var(--kendo-spacing-6, 1.5rem)) calc(-1 * var(--kendo-spacing-3, 0.75rem));
}

.k-edit-label {
  margin-block-end: var(--kendo-spacing-4, 1rem);
  padding-block: calc(var(--kendo-spacing-1\.5, 0.375rem) + 1px);
  width: 30%;
  line-height: var(--kendo-form-line-height, var(--kendo-line-height, normal));
  text-align: end;
  float: left;
  clear: both;
}

.k-edit-field {
  margin-block-end: var(--kendo-spacing-4, 1rem);
  width: 65%;
  float: right;
  clear: right;
  position: relative;
}
.k-edit-field.k-no-editor {
  padding-block: calc(var(--kendo-spacing-1\.5, 0.375rem) + 1px);
}

.k-edit-field > .k-widget {
  width: 100%;
  box-sizing: border-box;
}
.k-edit-field input[type=radio]:not(.k-radio),
.k-edit-field input[type=checkbox]:not(.k-checkbox) {
  margin-inline-end: 0.4ex;
}
.k-edit-field .k-radio-label,
.k-edit-field .k-checkbox-label {
  margin-inline-end: var(--kendo-spacing-4, 1rem);
}
.k-edit-field > .k-reset > li + li {
  margin-block-start: var(--kendo-spacing-2, 0.5rem);
}
.k-edit-field .k-reset .k-widget {
  margin: 0 0.4ex 0 1ex;
}

.k-form,
.k-form-inline {
  color: var(--kendo-form-text, var(--kendo-color-on-app-surface, #323130));
}
.k-form fieldset legend,
.k-form-inline fieldset legend {
  color: var(--kendo-fieldset-legend-text, var(--kendo-color-subtle, #605e5c));
}
.k-form .k-form-legend,
.k-form-inline .k-form-legend {
  border-color: var(--kendo-form-legend-border-color, var(--kendo-component-border, initial));
}
.k-form .k-field-info,
.k-form-inline .k-field-info {
  color: var(--kendo-field-info-text, var(--kendo-color-subtle, #605e5c));
}
.k-form .k-alert-error,
.k-form-inline .k-alert-error {
  color: var(--kendo-forms-invalid-color, var(--kendo-invalid-text, initial));
}

.k-form-error,
.k-text-error,
.k-form-field-error .k-label {
  color: var(--kendo-forms-invalid-color, var(--kendo-invalid-text, initial));
}

.k-form-separator {
  border-color: var(--kendo-form-separator-border-color, var(--kendo-component-border, initial));
}

.k-form-hint,
.k-label-optional {
  color: var(--kendo-form-hint-text, var(--kendo-color-subtle, #605e5c));
}

.k-form-field:disabled,
.k-form-field.k-disabled,
.k-form-field[disabled] {
  background-color: inherit;
}

.k-d-none {
  display: none;
}

.\!k-d-none {
  display: none !important;
}

.k-d-contents {
  display: contents;
}

.\!k-d-contents {
  display: contents !important;
}

.k-d-block {
  display: block;
}

.\!k-d-block {
  display: block !important;
}

.k-d-inline {
  display: inline;
}

.\!k-d-inline {
  display: inline !important;
}

.k-d-inline-block {
  display: inline-block;
}

.\!k-d-inline-block {
  display: inline-block !important;
}

.k-d-flex, .k-d-flex-col, .k-d-flex-row {
  display: flex;
}

.\!k-d-flex, .\!k-d-flex-col, .\!k-d-flex-row {
  display: flex !important;
}

.k-d-inline-flex {
  display: inline-flex;
}

.\!k-d-inline-flex {
  display: inline-flex !important;
}

.k-d-grid {
  display: grid;
}

.\!k-d-grid {
  display: grid !important;
}

.k-d-inline-grid {
  display: inline-grid;
}

.\!k-d-inline-grid {
  display: inline-grid !important;
}

.k-d-table {
  display: table;
}

.\!k-d-table {
  display: table !important;
}

.k-d-inline-table {
  display: inline-table;
}

.\!k-d-inline-table {
  display: inline-table !important;
}

.k-d-table-row {
  display: table-row;
}

.\!k-d-table-row {
  display: table-row !important;
}

.k-d-table-cell {
  display: table-cell;
}

.\!k-d-table-cell {
  display: table-cell !important;
}

.k-d-list-item {
  display: list-item;
}

.\!k-d-list-item {
  display: list-item !important;
}

.k-display-none {
  display: none;
}

.\!k-display-none {
  display: none !important;
}

.k-display-contents {
  display: contents;
}

.\!k-display-contents {
  display: contents !important;
}

.k-display-block {
  display: block;
}

.\!k-display-block {
  display: block !important;
}

.k-display-inline {
  display: inline;
}

.\!k-display-inline {
  display: inline !important;
}

.k-display-inline-block {
  display: inline-block;
}

.\!k-display-inline-block {
  display: inline-block !important;
}

.k-display-flex {
  display: flex;
}

.\!k-display-flex {
  display: flex !important;
}

.k-display-inline-flex {
  display: inline-flex;
}

.\!k-display-inline-flex {
  display: inline-flex !important;
}

.k-display-grid {
  display: grid;
}

.\!k-display-grid {
  display: grid !important;
}

.k-display-inline-grid {
  display: inline-grid;
}

.\!k-display-inline-grid {
  display: inline-grid !important;
}

.k-display-table {
  display: table;
}

.\!k-display-table {
  display: table !important;
}

.k-display-inline-table {
  display: inline-table;
}

.\!k-display-inline-table {
  display: inline-table !important;
}

.k-display-table-row {
  display: table-row;
}

.\!k-display-table-row {
  display: table-row !important;
}

.k-display-table-cell {
  display: table-cell;
}

.\!k-display-table-cell {
  display: table-cell !important;
}

.k-display-list-item {
  display: list-item;
}

.\!k-display-list-item {
  display: list-item !important;
}

.k-gap-0 {
  gap: var(--kendo-spacing-0, 0px);
}

.\!k-gap-0 {
  gap: var(--kendo-spacing-0, 0px) !important;
}

.k-gap-1px {
  gap: var(--kendo-spacing-1px, 1px);
}

.\!k-gap-1px {
  gap: var(--kendo-spacing-1px, 1px) !important;
}

.k-gap-0\.5 {
  gap: var(--kendo-spacing-0\.5, 0.125rem);
}

.\!k-gap-0\.5 {
  gap: var(--kendo-spacing-0\.5, 0.125rem) !important;
}

.k-gap-1 {
  gap: var(--kendo-spacing-1, 0.25rem);
}

.\!k-gap-1 {
  gap: var(--kendo-spacing-1, 0.25rem) !important;
}

.k-gap-1\.5 {
  gap: var(--kendo-spacing-1\.5, 0.375rem);
}

.\!k-gap-1\.5 {
  gap: var(--kendo-spacing-1\.5, 0.375rem) !important;
}

.k-gap-2 {
  gap: var(--kendo-spacing-2, 0.5rem);
}

.\!k-gap-2 {
  gap: var(--kendo-spacing-2, 0.5rem) !important;
}

.k-gap-2\.5 {
  gap: var(--kendo-spacing-2\.5, 0.625rem);
}

.\!k-gap-2\.5 {
  gap: var(--kendo-spacing-2\.5, 0.625rem) !important;
}

.k-gap-3 {
  gap: var(--kendo-spacing-3, 0.75rem);
}

.\!k-gap-3 {
  gap: var(--kendo-spacing-3, 0.75rem) !important;
}

.k-gap-3\.5 {
  gap: var(--kendo-spacing-3\.5, 0.875rem);
}

.\!k-gap-3\.5 {
  gap: var(--kendo-spacing-3\.5, 0.875rem) !important;
}

.k-gap-4 {
  gap: var(--kendo-spacing-4, 1rem);
}

.\!k-gap-4 {
  gap: var(--kendo-spacing-4, 1rem) !important;
}

.k-gap-4\.5 {
  gap: var(--kendo-spacing-4\.5, 1.125rem);
}

.\!k-gap-4\.5 {
  gap: var(--kendo-spacing-4\.5, 1.125rem) !important;
}

.k-gap-5 {
  gap: var(--kendo-spacing-5, 1.25rem);
}

.\!k-gap-5 {
  gap: var(--kendo-spacing-5, 1.25rem) !important;
}

.k-gap-5\.5 {
  gap: var(--kendo-spacing-5\.5, 1.375rem);
}

.\!k-gap-5\.5 {
  gap: var(--kendo-spacing-5\.5, 1.375rem) !important;
}

.k-gap-6 {
  gap: var(--kendo-spacing-6, 1.5rem);
}

.\!k-gap-6 {
  gap: var(--kendo-spacing-6, 1.5rem) !important;
}

.k-gap-6\.5 {
  gap: var(--kendo-spacing-6\.5, 1.625rem);
}

.\!k-gap-6\.5 {
  gap: var(--kendo-spacing-6\.5, 1.625rem) !important;
}

.k-gap-7 {
  gap: var(--kendo-spacing-7, 1.75rem);
}

.\!k-gap-7 {
  gap: var(--kendo-spacing-7, 1.75rem) !important;
}

.k-gap-7\.5 {
  gap: var(--kendo-spacing-7\.5, 1.875rem);
}

.\!k-gap-7\.5 {
  gap: var(--kendo-spacing-7\.5, 1.875rem) !important;
}

.k-gap-8 {
  gap: var(--kendo-spacing-8, 2rem);
}

.\!k-gap-8 {
  gap: var(--kendo-spacing-8, 2rem) !important;
}

.k-gap-9 {
  gap: var(--kendo-spacing-9, 2.25rem);
}

.\!k-gap-9 {
  gap: var(--kendo-spacing-9, 2.25rem) !important;
}

.k-gap-10 {
  gap: var(--kendo-spacing-10, 2.5rem);
}

.\!k-gap-10 {
  gap: var(--kendo-spacing-10, 2.5rem) !important;
}

.k-gap-11 {
  gap: var(--kendo-spacing-11, 2.75rem);
}

.\!k-gap-11 {
  gap: var(--kendo-spacing-11, 2.75rem) !important;
}

.k-gap-12 {
  gap: var(--kendo-spacing-12, 3rem);
}

.\!k-gap-12 {
  gap: var(--kendo-spacing-12, 3rem) !important;
}

.k-gap-13 {
  gap: var(--kendo-spacing-13, 3.25rem);
}

.\!k-gap-13 {
  gap: var(--kendo-spacing-13, 3.25rem) !important;
}

.k-gap-14 {
  gap: var(--kendo-spacing-14, 3.5rem);
}

.\!k-gap-14 {
  gap: var(--kendo-spacing-14, 3.5rem) !important;
}

.k-gap-15 {
  gap: var(--kendo-spacing-15, 3.75rem);
}

.\!k-gap-15 {
  gap: var(--kendo-spacing-15, 3.75rem) !important;
}

.k-gap-16 {
  gap: var(--kendo-spacing-16, 4rem);
}

.\!k-gap-16 {
  gap: var(--kendo-spacing-16, 4rem) !important;
}

.k-gap-17 {
  gap: var(--kendo-spacing-17, 4.25rem);
}

.\!k-gap-17 {
  gap: var(--kendo-spacing-17, 4.25rem) !important;
}

.k-gap-18 {
  gap: var(--kendo-spacing-18, 4.5rem);
}

.\!k-gap-18 {
  gap: var(--kendo-spacing-18, 4.5rem) !important;
}

.k-gap-19 {
  gap: var(--kendo-spacing-19, 4.75rem);
}

.\!k-gap-19 {
  gap: var(--kendo-spacing-19, 4.75rem) !important;
}

.k-gap-20 {
  gap: var(--kendo-spacing-20, 5rem);
}

.\!k-gap-20 {
  gap: var(--kendo-spacing-20, 5rem) !important;
}

.k-gap-21 {
  gap: var(--kendo-spacing-21, 5.25rem);
}

.\!k-gap-21 {
  gap: var(--kendo-spacing-21, 5.25rem) !important;
}

.k-gap-22 {
  gap: var(--kendo-spacing-22, 5.5rem);
}

.\!k-gap-22 {
  gap: var(--kendo-spacing-22, 5.5rem) !important;
}

.k-gap-23 {
  gap: var(--kendo-spacing-23, 5.75rem);
}

.\!k-gap-23 {
  gap: var(--kendo-spacing-23, 5.75rem) !important;
}

.k-gap-24 {
  gap: var(--kendo-spacing-24, 6rem);
}

.\!k-gap-24 {
  gap: var(--kendo-spacing-24, 6rem) !important;
}

.k-gap-25 {
  gap: var(--kendo-spacing-25, 7rem);
}

.\!k-gap-25 {
  gap: var(--kendo-spacing-25, 7rem) !important;
}

.k-gap-26 {
  gap: var(--kendo-spacing-26, 8rem);
}

.\!k-gap-26 {
  gap: var(--kendo-spacing-26, 8rem) !important;
}

.k-gap-27 {
  gap: var(--kendo-spacing-27, 9rem);
}

.\!k-gap-27 {
  gap: var(--kendo-spacing-27, 9rem) !important;
}

.k-gap-28 {
  gap: var(--kendo-spacing-28, 10rem);
}

.\!k-gap-28 {
  gap: var(--kendo-spacing-28, 10rem) !important;
}

.k-gap-29 {
  gap: var(--kendo-spacing-29, 11rem);
}

.\!k-gap-29 {
  gap: var(--kendo-spacing-29, 11rem) !important;
}

.k-gap-30 {
  gap: var(--kendo-spacing-30, 12rem);
}

.\!k-gap-30 {
  gap: var(--kendo-spacing-30, 12rem) !important;
}

.k-gap-xs {
  gap: var(--kendo-spacing-xs, var(--kendo-spacing-1, 0.25rem));
}

.\!k-gap-xs {
  gap: var(--kendo-spacing-xs, var(--kendo-spacing-1, 0.25rem)) !important;
}

.k-gap-sm {
  gap: var(--kendo-spacing-sm, var(--kendo-spacing-2, 0.5rem));
}

.\!k-gap-sm {
  gap: var(--kendo-spacing-sm, var(--kendo-spacing-2, 0.5rem)) !important;
}

.k-gap-md {
  gap: var(--kendo-spacing-md, var(--kendo-spacing-3, 0.75rem));
}

.\!k-gap-md {
  gap: var(--kendo-spacing-md, var(--kendo-spacing-3, 0.75rem)) !important;
}

.k-gap-lg {
  gap: var(--kendo-spacing-lg, var(--kendo-spacing-4, 1rem));
}

.\!k-gap-lg {
  gap: var(--kendo-spacing-lg, var(--kendo-spacing-4, 1rem)) !important;
}

.k-gap-xl {
  gap: var(--kendo-spacing-xl, var(--kendo-spacing-6, 1.5rem));
}

.\!k-gap-xl {
  gap: var(--kendo-spacing-xl, var(--kendo-spacing-6, 1.5rem)) !important;
}

.k-gap-thin {
  gap: var(--kendo-spacing-thin, var(--kendo-spacing-0\.5, 0.125rem));
}

.\!k-gap-thin {
  gap: var(--kendo-spacing-thin, var(--kendo-spacing-0\.5, 0.125rem)) !important;
}

.k-gap-hair {
  gap: var(--kendo-spacing-hair, var(--kendo-spacing-1px, 1px));
}

.\!k-gap-hair {
  gap: var(--kendo-spacing-hair, var(--kendo-spacing-1px, 1px)) !important;
}

.k-gap-x-0 {
  column-gap: var(--kendo-spacing-0, 0px);
}

.\!k-gap-x-0 {
  column-gap: var(--kendo-spacing-0, 0px) !important;
}

.k-gap-x-1px {
  column-gap: var(--kendo-spacing-1px, 1px);
}

.\!k-gap-x-1px {
  column-gap: var(--kendo-spacing-1px, 1px) !important;
}

.k-gap-x-0\.5 {
  column-gap: var(--kendo-spacing-0\.5, 0.125rem);
}

.\!k-gap-x-0\.5 {
  column-gap: var(--kendo-spacing-0\.5, 0.125rem) !important;
}

.k-gap-x-1 {
  column-gap: var(--kendo-spacing-1, 0.25rem);
}

.\!k-gap-x-1 {
  column-gap: var(--kendo-spacing-1, 0.25rem) !important;
}

.k-gap-x-1\.5 {
  column-gap: var(--kendo-spacing-1\.5, 0.375rem);
}

.\!k-gap-x-1\.5 {
  column-gap: var(--kendo-spacing-1\.5, 0.375rem) !important;
}

.k-gap-x-2 {
  column-gap: var(--kendo-spacing-2, 0.5rem);
}

.\!k-gap-x-2 {
  column-gap: var(--kendo-spacing-2, 0.5rem) !important;
}

.k-gap-x-2\.5 {
  column-gap: var(--kendo-spacing-2\.5, 0.625rem);
}

.\!k-gap-x-2\.5 {
  column-gap: var(--kendo-spacing-2\.5, 0.625rem) !important;
}

.k-gap-x-3 {
  column-gap: var(--kendo-spacing-3, 0.75rem);
}

.\!k-gap-x-3 {
  column-gap: var(--kendo-spacing-3, 0.75rem) !important;
}

.k-gap-x-3\.5 {
  column-gap: var(--kendo-spacing-3\.5, 0.875rem);
}

.\!k-gap-x-3\.5 {
  column-gap: var(--kendo-spacing-3\.5, 0.875rem) !important;
}

.k-gap-x-4 {
  column-gap: var(--kendo-spacing-4, 1rem);
}

.\!k-gap-x-4 {
  column-gap: var(--kendo-spacing-4, 1rem) !important;
}

.k-gap-x-4\.5 {
  column-gap: var(--kendo-spacing-4\.5, 1.125rem);
}

.\!k-gap-x-4\.5 {
  column-gap: var(--kendo-spacing-4\.5, 1.125rem) !important;
}

.k-gap-x-5 {
  column-gap: var(--kendo-spacing-5, 1.25rem);
}

.\!k-gap-x-5 {
  column-gap: var(--kendo-spacing-5, 1.25rem) !important;
}

.k-gap-x-5\.5 {
  column-gap: var(--kendo-spacing-5\.5, 1.375rem);
}

.\!k-gap-x-5\.5 {
  column-gap: var(--kendo-spacing-5\.5, 1.375rem) !important;
}

.k-gap-x-6 {
  column-gap: var(--kendo-spacing-6, 1.5rem);
}

.\!k-gap-x-6 {
  column-gap: var(--kendo-spacing-6, 1.5rem) !important;
}

.k-gap-x-6\.5 {
  column-gap: var(--kendo-spacing-6\.5, 1.625rem);
}

.\!k-gap-x-6\.5 {
  column-gap: var(--kendo-spacing-6\.5, 1.625rem) !important;
}

.k-gap-x-7 {
  column-gap: var(--kendo-spacing-7, 1.75rem);
}

.\!k-gap-x-7 {
  column-gap: var(--kendo-spacing-7, 1.75rem) !important;
}

.k-gap-x-7\.5 {
  column-gap: var(--kendo-spacing-7\.5, 1.875rem);
}

.\!k-gap-x-7\.5 {
  column-gap: var(--kendo-spacing-7\.5, 1.875rem) !important;
}

.k-gap-x-8 {
  column-gap: var(--kendo-spacing-8, 2rem);
}

.\!k-gap-x-8 {
  column-gap: var(--kendo-spacing-8, 2rem) !important;
}

.k-gap-x-9 {
  column-gap: var(--kendo-spacing-9, 2.25rem);
}

.\!k-gap-x-9 {
  column-gap: var(--kendo-spacing-9, 2.25rem) !important;
}

.k-gap-x-10 {
  column-gap: var(--kendo-spacing-10, 2.5rem);
}

.\!k-gap-x-10 {
  column-gap: var(--kendo-spacing-10, 2.5rem) !important;
}

.k-gap-x-11 {
  column-gap: var(--kendo-spacing-11, 2.75rem);
}

.\!k-gap-x-11 {
  column-gap: var(--kendo-spacing-11, 2.75rem) !important;
}

.k-gap-x-12 {
  column-gap: var(--kendo-spacing-12, 3rem);
}

.\!k-gap-x-12 {
  column-gap: var(--kendo-spacing-12, 3rem) !important;
}

.k-gap-x-13 {
  column-gap: var(--kendo-spacing-13, 3.25rem);
}

.\!k-gap-x-13 {
  column-gap: var(--kendo-spacing-13, 3.25rem) !important;
}

.k-gap-x-14 {
  column-gap: var(--kendo-spacing-14, 3.5rem);
}

.\!k-gap-x-14 {
  column-gap: var(--kendo-spacing-14, 3.5rem) !important;
}

.k-gap-x-15 {
  column-gap: var(--kendo-spacing-15, 3.75rem);
}

.\!k-gap-x-15 {
  column-gap: var(--kendo-spacing-15, 3.75rem) !important;
}

.k-gap-x-16 {
  column-gap: var(--kendo-spacing-16, 4rem);
}

.\!k-gap-x-16 {
  column-gap: var(--kendo-spacing-16, 4rem) !important;
}

.k-gap-x-17 {
  column-gap: var(--kendo-spacing-17, 4.25rem);
}

.\!k-gap-x-17 {
  column-gap: var(--kendo-spacing-17, 4.25rem) !important;
}

.k-gap-x-18 {
  column-gap: var(--kendo-spacing-18, 4.5rem);
}

.\!k-gap-x-18 {
  column-gap: var(--kendo-spacing-18, 4.5rem) !important;
}

.k-gap-x-19 {
  column-gap: var(--kendo-spacing-19, 4.75rem);
}

.\!k-gap-x-19 {
  column-gap: var(--kendo-spacing-19, 4.75rem) !important;
}

.k-gap-x-20 {
  column-gap: var(--kendo-spacing-20, 5rem);
}

.\!k-gap-x-20 {
  column-gap: var(--kendo-spacing-20, 5rem) !important;
}

.k-gap-x-21 {
  column-gap: var(--kendo-spacing-21, 5.25rem);
}

.\!k-gap-x-21 {
  column-gap: var(--kendo-spacing-21, 5.25rem) !important;
}

.k-gap-x-22 {
  column-gap: var(--kendo-spacing-22, 5.5rem);
}

.\!k-gap-x-22 {
  column-gap: var(--kendo-spacing-22, 5.5rem) !important;
}

.k-gap-x-23 {
  column-gap: var(--kendo-spacing-23, 5.75rem);
}

.\!k-gap-x-23 {
  column-gap: var(--kendo-spacing-23, 5.75rem) !important;
}

.k-gap-x-24 {
  column-gap: var(--kendo-spacing-24, 6rem);
}

.\!k-gap-x-24 {
  column-gap: var(--kendo-spacing-24, 6rem) !important;
}

.k-gap-x-25 {
  column-gap: var(--kendo-spacing-25, 7rem);
}

.\!k-gap-x-25 {
  column-gap: var(--kendo-spacing-25, 7rem) !important;
}

.k-gap-x-26 {
  column-gap: var(--kendo-spacing-26, 8rem);
}

.\!k-gap-x-26 {
  column-gap: var(--kendo-spacing-26, 8rem) !important;
}

.k-gap-x-27 {
  column-gap: var(--kendo-spacing-27, 9rem);
}

.\!k-gap-x-27 {
  column-gap: var(--kendo-spacing-27, 9rem) !important;
}

.k-gap-x-28 {
  column-gap: var(--kendo-spacing-28, 10rem);
}

.\!k-gap-x-28 {
  column-gap: var(--kendo-spacing-28, 10rem) !important;
}

.k-gap-x-29 {
  column-gap: var(--kendo-spacing-29, 11rem);
}

.\!k-gap-x-29 {
  column-gap: var(--kendo-spacing-29, 11rem) !important;
}

.k-gap-x-30 {
  column-gap: var(--kendo-spacing-30, 12rem);
}

.\!k-gap-x-30 {
  column-gap: var(--kendo-spacing-30, 12rem) !important;
}

.k-gap-x-xs {
  column-gap: var(--kendo-spacing-xs, var(--kendo-spacing-1, 0.25rem));
}

.\!k-gap-x-xs {
  column-gap: var(--kendo-spacing-xs, var(--kendo-spacing-1, 0.25rem)) !important;
}

.k-gap-x-sm {
  column-gap: var(--kendo-spacing-sm, var(--kendo-spacing-2, 0.5rem));
}

.\!k-gap-x-sm {
  column-gap: var(--kendo-spacing-sm, var(--kendo-spacing-2, 0.5rem)) !important;
}

.k-gap-x-md {
  column-gap: var(--kendo-spacing-md, var(--kendo-spacing-3, 0.75rem));
}

.\!k-gap-x-md {
  column-gap: var(--kendo-spacing-md, var(--kendo-spacing-3, 0.75rem)) !important;
}

.k-gap-x-lg {
  column-gap: var(--kendo-spacing-lg, var(--kendo-spacing-4, 1rem));
}

.\!k-gap-x-lg {
  column-gap: var(--kendo-spacing-lg, var(--kendo-spacing-4, 1rem)) !important;
}

.k-gap-x-xl {
  column-gap: var(--kendo-spacing-xl, var(--kendo-spacing-6, 1.5rem));
}

.\!k-gap-x-xl {
  column-gap: var(--kendo-spacing-xl, var(--kendo-spacing-6, 1.5rem)) !important;
}

.k-gap-x-thin {
  column-gap: var(--kendo-spacing-thin, var(--kendo-spacing-0\.5, 0.125rem));
}

.\!k-gap-x-thin {
  column-gap: var(--kendo-spacing-thin, var(--kendo-spacing-0\.5, 0.125rem)) !important;
}

.k-gap-x-hair {
  column-gap: var(--kendo-spacing-hair, var(--kendo-spacing-1px, 1px));
}

.\!k-gap-x-hair {
  column-gap: var(--kendo-spacing-hair, var(--kendo-spacing-1px, 1px)) !important;
}

.k-gap-y-0 {
  row-gap: var(--kendo-spacing-0, 0px);
}

.\!k-gap-y-0 {
  row-gap: var(--kendo-spacing-0, 0px) !important;
}

.k-gap-y-1px {
  row-gap: var(--kendo-spacing-1px, 1px);
}

.\!k-gap-y-1px {
  row-gap: var(--kendo-spacing-1px, 1px) !important;
}

.k-gap-y-0\.5 {
  row-gap: var(--kendo-spacing-0\.5, 0.125rem);
}

.\!k-gap-y-0\.5 {
  row-gap: var(--kendo-spacing-0\.5, 0.125rem) !important;
}

.k-gap-y-1 {
  row-gap: var(--kendo-spacing-1, 0.25rem);
}

.\!k-gap-y-1 {
  row-gap: var(--kendo-spacing-1, 0.25rem) !important;
}

.k-gap-y-1\.5 {
  row-gap: var(--kendo-spacing-1\.5, 0.375rem);
}

.\!k-gap-y-1\.5 {
  row-gap: var(--kendo-spacing-1\.5, 0.375rem) !important;
}

.k-gap-y-2 {
  row-gap: var(--kendo-spacing-2, 0.5rem);
}

.\!k-gap-y-2 {
  row-gap: var(--kendo-spacing-2, 0.5rem) !important;
}

.k-gap-y-2\.5 {
  row-gap: var(--kendo-spacing-2\.5, 0.625rem);
}

.\!k-gap-y-2\.5 {
  row-gap: var(--kendo-spacing-2\.5, 0.625rem) !important;
}

.k-gap-y-3 {
  row-gap: var(--kendo-spacing-3, 0.75rem);
}

.\!k-gap-y-3 {
  row-gap: var(--kendo-spacing-3, 0.75rem) !important;
}

.k-gap-y-3\.5 {
  row-gap: var(--kendo-spacing-3\.5, 0.875rem);
}

.\!k-gap-y-3\.5 {
  row-gap: var(--kendo-spacing-3\.5, 0.875rem) !important;
}

.k-gap-y-4 {
  row-gap: var(--kendo-spacing-4, 1rem);
}

.\!k-gap-y-4 {
  row-gap: var(--kendo-spacing-4, 1rem) !important;
}

.k-gap-y-4\.5 {
  row-gap: var(--kendo-spacing-4\.5, 1.125rem);
}

.\!k-gap-y-4\.5 {
  row-gap: var(--kendo-spacing-4\.5, 1.125rem) !important;
}

.k-gap-y-5 {
  row-gap: var(--kendo-spacing-5, 1.25rem);
}

.\!k-gap-y-5 {
  row-gap: var(--kendo-spacing-5, 1.25rem) !important;
}

.k-gap-y-5\.5 {
  row-gap: var(--kendo-spacing-5\.5, 1.375rem);
}

.\!k-gap-y-5\.5 {
  row-gap: var(--kendo-spacing-5\.5, 1.375rem) !important;
}

.k-gap-y-6 {
  row-gap: var(--kendo-spacing-6, 1.5rem);
}

.\!k-gap-y-6 {
  row-gap: var(--kendo-spacing-6, 1.5rem) !important;
}

.k-gap-y-6\.5 {
  row-gap: var(--kendo-spacing-6\.5, 1.625rem);
}

.\!k-gap-y-6\.5 {
  row-gap: var(--kendo-spacing-6\.5, 1.625rem) !important;
}

.k-gap-y-7 {
  row-gap: var(--kendo-spacing-7, 1.75rem);
}

.\!k-gap-y-7 {
  row-gap: var(--kendo-spacing-7, 1.75rem) !important;
}

.k-gap-y-7\.5 {
  row-gap: var(--kendo-spacing-7\.5, 1.875rem);
}

.\!k-gap-y-7\.5 {
  row-gap: var(--kendo-spacing-7\.5, 1.875rem) !important;
}

.k-gap-y-8 {
  row-gap: var(--kendo-spacing-8, 2rem);
}

.\!k-gap-y-8 {
  row-gap: var(--kendo-spacing-8, 2rem) !important;
}

.k-gap-y-9 {
  row-gap: var(--kendo-spacing-9, 2.25rem);
}

.\!k-gap-y-9 {
  row-gap: var(--kendo-spacing-9, 2.25rem) !important;
}

.k-gap-y-10 {
  row-gap: var(--kendo-spacing-10, 2.5rem);
}

.\!k-gap-y-10 {
  row-gap: var(--kendo-spacing-10, 2.5rem) !important;
}

.k-gap-y-11 {
  row-gap: var(--kendo-spacing-11, 2.75rem);
}

.\!k-gap-y-11 {
  row-gap: var(--kendo-spacing-11, 2.75rem) !important;
}

.k-gap-y-12 {
  row-gap: var(--kendo-spacing-12, 3rem);
}

.\!k-gap-y-12 {
  row-gap: var(--kendo-spacing-12, 3rem) !important;
}

.k-gap-y-13 {
  row-gap: var(--kendo-spacing-13, 3.25rem);
}

.\!k-gap-y-13 {
  row-gap: var(--kendo-spacing-13, 3.25rem) !important;
}

.k-gap-y-14 {
  row-gap: var(--kendo-spacing-14, 3.5rem);
}

.\!k-gap-y-14 {
  row-gap: var(--kendo-spacing-14, 3.5rem) !important;
}

.k-gap-y-15 {
  row-gap: var(--kendo-spacing-15, 3.75rem);
}

.\!k-gap-y-15 {
  row-gap: var(--kendo-spacing-15, 3.75rem) !important;
}

.k-gap-y-16 {
  row-gap: var(--kendo-spacing-16, 4rem);
}

.\!k-gap-y-16 {
  row-gap: var(--kendo-spacing-16, 4rem) !important;
}

.k-gap-y-17 {
  row-gap: var(--kendo-spacing-17, 4.25rem);
}

.\!k-gap-y-17 {
  row-gap: var(--kendo-spacing-17, 4.25rem) !important;
}

.k-gap-y-18 {
  row-gap: var(--kendo-spacing-18, 4.5rem);
}

.\!k-gap-y-18 {
  row-gap: var(--kendo-spacing-18, 4.5rem) !important;
}

.k-gap-y-19 {
  row-gap: var(--kendo-spacing-19, 4.75rem);
}

.\!k-gap-y-19 {
  row-gap: var(--kendo-spacing-19, 4.75rem) !important;
}

.k-gap-y-20 {
  row-gap: var(--kendo-spacing-20, 5rem);
}

.\!k-gap-y-20 {
  row-gap: var(--kendo-spacing-20, 5rem) !important;
}

.k-gap-y-21 {
  row-gap: var(--kendo-spacing-21, 5.25rem);
}

.\!k-gap-y-21 {
  row-gap: var(--kendo-spacing-21, 5.25rem) !important;
}

.k-gap-y-22 {
  row-gap: var(--kendo-spacing-22, 5.5rem);
}

.\!k-gap-y-22 {
  row-gap: var(--kendo-spacing-22, 5.5rem) !important;
}

.k-gap-y-23 {
  row-gap: var(--kendo-spacing-23, 5.75rem);
}

.\!k-gap-y-23 {
  row-gap: var(--kendo-spacing-23, 5.75rem) !important;
}

.k-gap-y-24 {
  row-gap: var(--kendo-spacing-24, 6rem);
}

.\!k-gap-y-24 {
  row-gap: var(--kendo-spacing-24, 6rem) !important;
}

.k-gap-y-25 {
  row-gap: var(--kendo-spacing-25, 7rem);
}

.\!k-gap-y-25 {
  row-gap: var(--kendo-spacing-25, 7rem) !important;
}

.k-gap-y-26 {
  row-gap: var(--kendo-spacing-26, 8rem);
}

.\!k-gap-y-26 {
  row-gap: var(--kendo-spacing-26, 8rem) !important;
}

.k-gap-y-27 {
  row-gap: var(--kendo-spacing-27, 9rem);
}

.\!k-gap-y-27 {
  row-gap: var(--kendo-spacing-27, 9rem) !important;
}

.k-gap-y-28 {
  row-gap: var(--kendo-spacing-28, 10rem);
}

.\!k-gap-y-28 {
  row-gap: var(--kendo-spacing-28, 10rem) !important;
}

.k-gap-y-29 {
  row-gap: var(--kendo-spacing-29, 11rem);
}

.\!k-gap-y-29 {
  row-gap: var(--kendo-spacing-29, 11rem) !important;
}

.k-gap-y-30 {
  row-gap: var(--kendo-spacing-30, 12rem);
}

.\!k-gap-y-30 {
  row-gap: var(--kendo-spacing-30, 12rem) !important;
}

.k-gap-y-xs {
  row-gap: var(--kendo-spacing-xs, var(--kendo-spacing-1, 0.25rem));
}

.\!k-gap-y-xs {
  row-gap: var(--kendo-spacing-xs, var(--kendo-spacing-1, 0.25rem)) !important;
}

.k-gap-y-sm {
  row-gap: var(--kendo-spacing-sm, var(--kendo-spacing-2, 0.5rem));
}

.\!k-gap-y-sm {
  row-gap: var(--kendo-spacing-sm, var(--kendo-spacing-2, 0.5rem)) !important;
}

.k-gap-y-md {
  row-gap: var(--kendo-spacing-md, var(--kendo-spacing-3, 0.75rem));
}

.\!k-gap-y-md {
  row-gap: var(--kendo-spacing-md, var(--kendo-spacing-3, 0.75rem)) !important;
}

.k-gap-y-lg {
  row-gap: var(--kendo-spacing-lg, var(--kendo-spacing-4, 1rem));
}

.\!k-gap-y-lg {
  row-gap: var(--kendo-spacing-lg, var(--kendo-spacing-4, 1rem)) !important;
}

.k-gap-y-xl {
  row-gap: var(--kendo-spacing-xl, var(--kendo-spacing-6, 1.5rem));
}

.\!k-gap-y-xl {
  row-gap: var(--kendo-spacing-xl, var(--kendo-spacing-6, 1.5rem)) !important;
}

.k-gap-y-thin {
  row-gap: var(--kendo-spacing-thin, var(--kendo-spacing-0\.5, 0.125rem));
}

.\!k-gap-y-thin {
  row-gap: var(--kendo-spacing-thin, var(--kendo-spacing-0\.5, 0.125rem)) !important;
}

.k-gap-y-hair {
  row-gap: var(--kendo-spacing-hair, var(--kendo-spacing-1px, 1px));
}

.\!k-gap-y-hair {
  row-gap: var(--kendo-spacing-hair, var(--kendo-spacing-1px, 1px)) !important;
}

.k-grid-cols-1 {
  grid-template-columns: repeat(1, minmax(0, 1fr));
}

.\!k-grid-cols-1 {
  grid-template-columns: repeat(1, minmax(0, 1fr)) !important;
}

.k-grid-cols-2 {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.\!k-grid-cols-2 {
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
}

.k-grid-cols-3 {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.\!k-grid-cols-3 {
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
}

.k-grid-cols-4 {
  grid-template-columns: repeat(4, minmax(0, 1fr));
}

.\!k-grid-cols-4 {
  grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
}

.k-grid-cols-5 {
  grid-template-columns: repeat(5, minmax(0, 1fr));
}

.\!k-grid-cols-5 {
  grid-template-columns: repeat(5, minmax(0, 1fr)) !important;
}

.k-grid-cols-6 {
  grid-template-columns: repeat(6, minmax(0, 1fr));
}

.\!k-grid-cols-6 {
  grid-template-columns: repeat(6, minmax(0, 1fr)) !important;
}

.k-grid-cols-7 {
  grid-template-columns: repeat(7, minmax(0, 1fr));
}

.\!k-grid-cols-7 {
  grid-template-columns: repeat(7, minmax(0, 1fr)) !important;
}

.k-grid-cols-8 {
  grid-template-columns: repeat(8, minmax(0, 1fr));
}

.\!k-grid-cols-8 {
  grid-template-columns: repeat(8, minmax(0, 1fr)) !important;
}

.k-grid-cols-9 {
  grid-template-columns: repeat(9, minmax(0, 1fr));
}

.\!k-grid-cols-9 {
  grid-template-columns: repeat(9, minmax(0, 1fr)) !important;
}

.k-grid-cols-10 {
  grid-template-columns: repeat(10, minmax(0, 1fr));
}

.\!k-grid-cols-10 {
  grid-template-columns: repeat(10, minmax(0, 1fr)) !important;
}

.k-grid-cols-11 {
  grid-template-columns: repeat(11, minmax(0, 1fr));
}

.\!k-grid-cols-11 {
  grid-template-columns: repeat(11, minmax(0, 1fr)) !important;
}

.k-grid-cols-12 {
  grid-template-columns: repeat(12, minmax(0, 1fr));
}

.\!k-grid-cols-12 {
  grid-template-columns: repeat(12, minmax(0, 1fr)) !important;
}

.k-grid-cols-none {
  grid-template-columns: none;
}

.\!k-grid-cols-none {
  grid-template-columns: none !important;
}

.k-col-span-1 {
  grid-column: span 1/span 1;
}

.\!k-col-span-1 {
  grid-column: span 1/span 1 !important;
}

.k-col-span-2 {
  grid-column: span 2/span 2;
}

.\!k-col-span-2 {
  grid-column: span 2/span 2 !important;
}

.k-col-span-3 {
  grid-column: span 3/span 3;
}

.\!k-col-span-3 {
  grid-column: span 3/span 3 !important;
}

.k-col-span-4 {
  grid-column: span 4/span 4;
}

.\!k-col-span-4 {
  grid-column: span 4/span 4 !important;
}

.k-col-span-5 {
  grid-column: span 5/span 5;
}

.\!k-col-span-5 {
  grid-column: span 5/span 5 !important;
}

.k-col-span-6 {
  grid-column: span 6/span 6;
}

.\!k-col-span-6 {
  grid-column: span 6/span 6 !important;
}

.k-col-span-7 {
  grid-column: span 7/span 7;
}

.\!k-col-span-7 {
  grid-column: span 7/span 7 !important;
}

.k-col-span-8 {
  grid-column: span 8/span 8;
}

.\!k-col-span-8 {
  grid-column: span 8/span 8 !important;
}

.k-col-span-9 {
  grid-column: span 9/span 9;
}

.\!k-col-span-9 {
  grid-column: span 9/span 9 !important;
}

.k-col-span-10 {
  grid-column: span 10/span 10;
}

.\!k-col-span-10 {
  grid-column: span 10/span 10 !important;
}

.k-col-span-11 {
  grid-column: span 11/span 11;
}

.\!k-col-span-11 {
  grid-column: span 11/span 11 !important;
}

.k-col-span-12 {
  grid-column: span 12/span 12;
}

.\!k-col-span-12 {
  grid-column: span 12/span 12 !important;
}

.k-col-span-full {
  grid-column: 1 / -1;
}

.\!k-col-span-full {
  grid-column: 1 / -1 !important;
}

.k-col-span-auto {
  grid-column: auto;
}

.\!k-col-span-auto {
  grid-column: auto !important;
}

.k-col-start-1 {
  grid-column-start: 1;
}

.\!k-col-start-1 {
  grid-column-start: 1 !important;
}

.k-col-start-2 {
  grid-column-start: 2;
}

.\!k-col-start-2 {
  grid-column-start: 2 !important;
}

.k-col-start-3 {
  grid-column-start: 3;
}

.\!k-col-start-3 {
  grid-column-start: 3 !important;
}

.k-col-start-4 {
  grid-column-start: 4;
}

.\!k-col-start-4 {
  grid-column-start: 4 !important;
}

.k-col-start-5 {
  grid-column-start: 5;
}

.\!k-col-start-5 {
  grid-column-start: 5 !important;
}

.k-col-start-6 {
  grid-column-start: 6;
}

.\!k-col-start-6 {
  grid-column-start: 6 !important;
}

.k-col-start-7 {
  grid-column-start: 7;
}

.\!k-col-start-7 {
  grid-column-start: 7 !important;
}

.k-col-start-8 {
  grid-column-start: 8;
}

.\!k-col-start-8 {
  grid-column-start: 8 !important;
}

.k-col-start-9 {
  grid-column-start: 9;
}

.\!k-col-start-9 {
  grid-column-start: 9 !important;
}

.k-col-start-10 {
  grid-column-start: 10;
}

.\!k-col-start-10 {
  grid-column-start: 10 !important;
}

.k-col-start-11 {
  grid-column-start: 11;
}

.\!k-col-start-11 {
  grid-column-start: 11 !important;
}

.k-col-start-12 {
  grid-column-start: 12;
}

.\!k-col-start-12 {
  grid-column-start: 12 !important;
}

.k-col-start-13 {
  grid-column-start: 13;
}

.\!k-col-start-13 {
  grid-column-start: 13 !important;
}

.k-col-start-auto {
  grid-column-start: auto;
}

.\!k-col-start-auto {
  grid-column-start: auto !important;
}

.k-col-end-1 {
  grid-column-end: 1;
}

.\!k-col-end-1 {
  grid-column-end: 1 !important;
}

.k-col-end-2 {
  grid-column-end: 2;
}

.\!k-col-end-2 {
  grid-column-end: 2 !important;
}

.k-col-end-3 {
  grid-column-end: 3;
}

.\!k-col-end-3 {
  grid-column-end: 3 !important;
}

.k-col-end-4 {
  grid-column-end: 4;
}

.\!k-col-end-4 {
  grid-column-end: 4 !important;
}

.k-col-end-5 {
  grid-column-end: 5;
}

.\!k-col-end-5 {
  grid-column-end: 5 !important;
}

.k-col-end-6 {
  grid-column-end: 6;
}

.\!k-col-end-6 {
  grid-column-end: 6 !important;
}

.k-col-end-7 {
  grid-column-end: 7;
}

.\!k-col-end-7 {
  grid-column-end: 7 !important;
}

.k-col-end-8 {
  grid-column-end: 8;
}

.\!k-col-end-8 {
  grid-column-end: 8 !important;
}

.k-col-end-9 {
  grid-column-end: 9;
}

.\!k-col-end-9 {
  grid-column-end: 9 !important;
}

.k-col-end-10 {
  grid-column-end: 10;
}

.\!k-col-end-10 {
  grid-column-end: 10 !important;
}

.k-col-end-11 {
  grid-column-end: 11;
}

.\!k-col-end-11 {
  grid-column-end: 11 !important;
}

.k-col-end-12 {
  grid-column-end: 12;
}

.\!k-col-end-12 {
  grid-column-end: 12 !important;
}

.k-col-end-13 {
  grid-column-end: 13;
}

.\!k-col-end-13 {
  grid-column-end: 13 !important;
}

.k-col-end-auto {
  grid-column-end: auto;
}

.\!k-col-end-auto {
  grid-column-end: auto !important;
}

.k-colspan-1 {
  grid-column: span 1/span 1;
}

.\!k-colspan-1 {
  grid-column: span 1/span 1 !important;
}

.k-colspan-2 {
  grid-column: span 2/span 2;
}

.\!k-colspan-2 {
  grid-column: span 2/span 2 !important;
}

.k-colspan-3 {
  grid-column: span 3/span 3;
}

.\!k-colspan-3 {
  grid-column: span 3/span 3 !important;
}

.k-colspan-4 {
  grid-column: span 4/span 4;
}

.\!k-colspan-4 {
  grid-column: span 4/span 4 !important;
}

.k-colspan-5 {
  grid-column: span 5/span 5;
}

.\!k-colspan-5 {
  grid-column: span 5/span 5 !important;
}

.k-colspan-6 {
  grid-column: span 6/span 6;
}

.\!k-colspan-6 {
  grid-column: span 6/span 6 !important;
}

.k-colspan-7 {
  grid-column: span 7/span 7;
}

.\!k-colspan-7 {
  grid-column: span 7/span 7 !important;
}

.k-colspan-8 {
  grid-column: span 8/span 8;
}

.\!k-colspan-8 {
  grid-column: span 8/span 8 !important;
}

.k-colspan-9 {
  grid-column: span 9/span 9;
}

.\!k-colspan-9 {
  grid-column: span 9/span 9 !important;
}

.k-colspan-10 {
  grid-column: span 10/span 10;
}

.\!k-colspan-10 {
  grid-column: span 10/span 10 !important;
}

.k-colspan-11 {
  grid-column: span 11/span 11;
}

.\!k-colspan-11 {
  grid-column: span 11/span 11 !important;
}

.k-colspan-12 {
  grid-column: span 12/span 12;
}

.\!k-colspan-12 {
  grid-column: span 12/span 12 !important;
}

.k-colspan-full, .k-colspan-all {
  grid-column: 1 / -1;
}

.\!k-colspan-full, .\!k-colspan-all {
  grid-column: 1 / -1 !important;
}

.k-colspan-auto {
  grid-column: auto;
}

.\!k-colspan-auto {
  grid-column: auto !important;
}

.k-validator-tooltip {
  margin-block-start: calc(var(--kendo-validator-tooltip-margin, var(--kendo-spacing-2, 0.5rem)) + 0px);
  width: auto;
  white-space: normal;
  display: flex;
  align-items: center;
  z-index: 9999;
}

.k-grid .k-validator-tooltip {
  max-width: 300px;
}

.k-floating-label-container {
  padding-top: var(--kendo-floating-label-height, calc(var(--kendo-line-height, normal) * var(--kendo-font-size, inherit)));
  box-sizing: border-box;
  display: inline-flex;
  vertical-align: middle;
  position: relative;
  flex-direction: column;
  justify-content: stretch;
}
.k-floating-label-container *,
.k-floating-label-container *::before,
.k-floating-label-container *::after {
  box-sizing: border-box;
}
.k-floating-label-container > .k-floating-label {
  max-width: var(--kendo-floating-label-max-width, 90%);
  font-size: var(--kendo-floating-label-font-size, var(--kendo-font-size, inherit));
  font-weight: var(--kendo-floating-label-font-weight, var(--kendo-font-weight-bold, inherit));
  line-height: var(--kendo-floating-label-line-height, var(--kendo-line-height, normal));
  white-space: nowrap;
  text-overflow: ellipsis;
  position: absolute;
  top: var(--kendo-floating-label-offset-y, calc(calc(var(--kendo-line-height, normal) * var(--kendo-font-size, inherit)) + 1px + var(--kendo-spacing-1\.5, 0.375rem)));
  left: var(--kendo-floating-label-offset-x, calc(var(--kendo-spacing-2, 0.5rem) + 1px));
  overflow: hidden;
  cursor: text;
  transform-origin: left center;
  transition: transform var(--kendo-floating-label-transition, 0.2s ease-out), color var(--kendo-floating-label-transition, 0.2s ease-out), top var(--kendo-floating-label-transition, 0.2s ease-out), left var(--kendo-floating-label-transition, 0.2s ease-out);
}
.k-floating-label-container.k-empty > .k-floating-label {
  top: var(--kendo-floating-label-offset-y, calc(calc(var(--kendo-line-height, normal) * var(--kendo-font-size, inherit)) + 1px + var(--kendo-spacing-1\.5, 0.375rem)));
  left: var(--kendo-floating-label-offset-x, calc(var(--kendo-spacing-2, 0.5rem) + 1px));
  transform: scale(var(--kendo-floating-label-scale, 1));
  pointer-events: none;
}
.k-floating-label-container > .k-floating-label, .k-floating-label-container:focus-within > .k-floating-label, .k-floating-label-container.k-focus > .k-floating-label {
  top: var(--kendo-floating-label-focus-offset-y, 0);
  left: var(--kendo-floating-label-focus-offset-x, 0);
  transform: scale(var(--kendo-floating-label-focus-scale, 1));
}
.k-floating-label-container.k-empty:not(.k-focus, :focus-within) ::placeholder {
  color: transparent;
}
.k-floating-label-container:disabled, .k-floating-label-container[disabled], .k-floating-label-container.k-disabled {
  background: none;
}

[dir=rtl] .k-floating-label-container > .k-floating-label,
.k-rtl .k-floating-label-container > .k-floating-label,
.k-floating-label-container[dir=rtl] > .k-floating-label {
  transform-origin: right center;
  transition: transform var(--kendo-floating-label-transition, 0.2s ease-out), color var(--kendo-floating-label-transition, 0.2s ease-out), top var(--kendo-floating-label-transition, 0.2s ease-out), right var(--kendo-floating-label-transition, 0.2s ease-out);
}
[dir=rtl] .k-floating-label-container.k-empty > .k-floating-label,
.k-rtl .k-floating-label-container.k-empty > .k-floating-label,
.k-floating-label-container[dir=rtl].k-empty > .k-floating-label {
  left: auto;
  right: var(--kendo-floating-label-offset-x, calc(var(--kendo-spacing-2, 0.5rem) + 1px));
}
[dir=rtl] .k-floating-label-container > .k-floating-label, [dir=rtl] .k-floating-label-container:focus-within > .k-floating-label, [dir=rtl] .k-floating-label-container.k-focus > .k-floating-label,
.k-rtl .k-floating-label-container > .k-floating-label,
.k-rtl .k-floating-label-container:focus-within > .k-floating-label,
.k-rtl .k-floating-label-container.k-focus > .k-floating-label,
.k-floating-label-container[dir=rtl] > .k-floating-label,
.k-floating-label-container[dir=rtl]:focus-within > .k-floating-label,
.k-floating-label-container[dir=rtl].k-focus > .k-floating-label {
  left: auto;
  right: var(--kendo-floating-label-focus-offset-x, 0);
}

.k-floating-label-container > .k-floating-label {
  color: var(--kendo-floating-label-text, inherit);
  background-color: var(--kendo-floating-label-bg, inherit);
}
.k-floating-label-container.k-focus > .k-floating-label {
  color: var(--kendo-floating-label-focus-text, inherit);
  background-color: var(--kendo-floating-label-focus-bg, inherit);
}
.k-floating-label-container.k-invalid > .k-floating-label, .k-floating-label-container.ng-invalid.ng-touched > .k-floating-label, .k-floating-label-container.ng-invalid.ng-dirty > .k-floating-label {
  color: var(--kendo-floating-label-invalid-text, var(--kendo-invalid-text, var(--kendo-color-error-on-surface, #a4262c)));
}

.k-split-button > .k-button:first-child {
  border-inline-end-width: 0;
}
.k-split-button > .k-button:last-child {
  border-inline-start-width: 0;
}

.k-split-button-arrow {
  width: auto;
  padding-inline: var(--kendo-split-button-arrow-padding-x, var(--kendo-spacing-1\.5, 0.375rem));
  padding-block: var(--kendo-split-button-arrow-padding-y, var(--kendo-spacing-1\.5, 0.375rem));
  aspect-ratio: auto;
  flex: none;
}
.k-split-button-arrow .k-button-icon {
  min-width: 0;
}
.k-split-button-arrow .k-button-icon::after {
  content: "";
  width: var(--kendo-split-button-arrow-delimiter-line-size, 1px);
  height: var(--kendo-split-button-arrow-delimiter-size, calc(calc(var(--kendo-line-height, normal) * 1em + var(--kendo-spacing-1\.5, 0.375rem) * 2) / 2));
  position: absolute;
  top: calc((100% - calc(calc(var(--kendo-line-height, normal) * 1em + var(--kendo-spacing-1\.5, 0.375rem) * 2) / 2)) / 2);
  background: var(--kendo-split-button-arrow-delimiter-bg, color-mix(in srgb, var(--kendo-color-on-app-surface, #323130) 28%, transparent));
  z-index: 2;
}
.k-split-button-arrow.k-button-sm {
  padding: var(--kendo-split-button-arrow-padding-y-sm, var(--kendo-spacing-1, 0.25rem));
}
.k-split-button-arrow.k-button-sm .k-button-icon::after {
  inset-inline-start: calc(var(--kendo-split-button-delimiter-offset-sm, var(--kendo-spacing-1, 0.25rem)) * -1);
}
.k-split-button-arrow.k-button-md {
  padding: var(--kendo-split-button-arrow-padding-y-md, var(--kendo-spacing-1\.5, 0.375rem));
}
.k-split-button-arrow.k-button-md .k-button-icon::after {
  inset-inline-start: calc(var(--kendo-split-button-delimiter-offset-md, var(--kendo-spacing-1\.5, 0.375rem)) * -1);
}
.k-split-button-arrow.k-button-lg {
  padding: var(--kendo-split-button-arrow-padding-y-lg, var(--kendo-spacing-2, 0.5rem));
}
.k-split-button-arrow.k-button-lg .k-button-icon::after {
  inset-inline-start: calc(var(--kendo-split-button-delimiter-offset-lg, var(--kendo-spacing-2, 0.5rem)) * -1);
}

.k-menu-button,
.k-dropdown-button {
  aspect-ratio: auto;
  flex-flow: row nowrap;
}
.k-menu-button > .k-button-arrow,
.k-dropdown-button > .k-button-arrow {
  flex: none;
  display: inline-flex;
  align-items: center;
  justify-content: center;
}

.k-input,
.k-picker {
  margin: 0;
  padding: 0;
  width: var(--kendo-input-width, 100%);
  min-width: 0;
  box-sizing: border-box;
  border-width: var(--kendo-input-border-width, 1px);
  border-style: solid;
  outline: 0;
  font-family: var(--kendo-input-font-family, var(--kendo-font-family, inherit));
  font-size: var(--INTERNAL--kendo-input-font-size, inherit);
  line-height: var(--INTERNAL--kendo-input-line-height, 1.4285714286);
  font-weight: var(--kendo-input-font-weight, var(--kendo-font-weight, normal));
  text-align: start;
  box-shadow: none;
  display: inline-flex;
  flex-flow: row nowrap;
  align-items: stretch;
  vertical-align: middle;
  position: relative;
  overflow: hidden;
  text-overflow: ellipsis;
  -webkit-appearance: none;
}
.k-input *,
.k-input *::before,
.k-input *::after,
.k-picker *,
.k-picker *::before,
.k-picker *::after {
  box-sizing: border-box;
}
.k-input > .k-input,
.k-input > .k-picker,
.k-picker > .k-input,
.k-picker > .k-picker {
  border-width: 0 !important;
  color: inherit;
  background: none;
  font: inherit;
  outline: 0;
  box-shadow: none;
}
.k-input > *,
.k-picker > * {
  margin: 0;
}
.k-input::placeholder,
.k-picker::placeholder {
  color: var(--kendo-input-placeholder-text, var(--kendo-color-subtle, #605e5c));
  opacity: var(--kendo-input-placeholder-opacity, 1);
  user-select: none;
}

.k-input:focus::after, .k-input.k-focus::after, .k-input:focus-within::after,
.k-picker:focus::after,
.k-picker.k-focus::after,
.k-picker:focus-within::after {
  content: "";
  display: block;
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  border-width: var(--kendo-input-focus-border-width, 2px);
  border-style: solid;
  border-radius: inherit;
  pointer-events: none;
  z-index: 1;
}

.k-numerictextbox.k-input-solid .k-spinner-increase,
.k-numerictextbox.k-input-solid .k-spinner-decrease,
.k-numerictextbox.k-input-flat .k-spinner-increase,
.k-numerictextbox.k-input-flat .k-spinner-decrease {
  border: none;
}

input.k-input,
textarea.k-textarea {
  padding-inline: var(--INTERNAL--kendo-input-padding-x, 0);
  padding-block: var(--INTERNAL--kendo-input-padding-y, 0);
}

textarea.k-textarea {
  overflow: auto;
}

.k-picker {
  cursor: pointer;
}

select.k-picker {
  padding-inline: var(--INTERNAL--kendo-input-padding-x, 0);
  padding-block: var(--INTERNAL--kendo-input-padding-y, 0);
  appearance: auto;
  align-items: center;
}

.k-input-inner {
  padding-inline: var(--INTERNAL--kendo-input-padding-x, var(--kendo-spacing-2, 0.5rem));
  padding-block: var(--INTERNAL--kendo-input-padding-y, var(--kendo-spacing-1\.5, 0.375rem));
  width: 100%;
  border: 0;
  outline: 0;
  color: inherit;
  background: none;
  font: inherit;
  flex: 1;
  position: relative;
  z-index: 1;
  overflow: hidden;
  text-overflow: ellipsis;
  -webkit-appearance: none;
}
.k-input-inner::placeholder {
  color: var(--kendo-input-placeholder-text, var(--kendo-color-subtle, #605e5c));
  opacity: var(--kendo-input-placeholder-opacity, 1);
  user-select: none;
}
.k-input-inner:invalid {
  box-shadow: none;
}

span.k-input-inner {
  white-space: nowrap;
  display: flex;
  flex-flow: row nowrap;
  align-items: center;
}

textarea.k-input-inner {
  margin: 0;
}

.k-input-value-icon {
  flex: none;
}

.k-input-value-text {
  flex: 1;
  overflow: hidden;
  text-overflow: ellipsis;
}

.k-input-value-text::before {
  content: "​";
  width: 0px;
  overflow: hidden;
  flex: none;
  display: inline-block;
  vertical-align: top;
}

.k-input-values {
  min-width: 0px;
  width: 100%;
  display: flex;
  flex-flow: row wrap;
  align-items: center;
  gap: calc(var(--INTERNAL--kendo-input-padding-y, 0) / 2);
  cursor: text;
}

.k-input-values .k-chip-list {
  display: contents;
}

.k-icon-picker > .k-input-inner {
  padding: 0;
  box-sizing: content-box;
  justify-content: center;
}
.k-icon-picker .k-value-icon {
  border: 0;
  border-radius: 0;
}

.k-input-prefix,
.k-input-suffix {
  border-color: inherit;
  display: flex;
  align-items: center;
  flex: none;
}
.k-input-prefix > *,
.k-input-suffix > * {
  flex-shrink: 0;
  border: none;
}
.k-input-prefix-vertical,
.k-input-suffix-vertical {
  flex-flow: column wrap;
}
.k-input-prefix-horizontal,
.k-input-suffix-horizontal {
  flex-flow: row wrap;
}

.k-input-separator {
  margin: 0;
  border-style: solid;
  border-color: inherit;
  border-width: 0 0 0 1px;
  height: 1rem;
  align-self: center;
}
.k-input-separator-horizontal {
  height: auto;
  margin-inline: var(--kendo-spacing-1\.5, 0.375rem);
  align-self: stretch;
  border-width: 1px 0 0;
}
.k-input-separator-vertical {
  height: auto;
  margin-block: var(--kendo-spacing-1\.5, 0.375rem);
  align-self: stretch;
  border-width: 0 0 0 1px;
}

.k-input-group {
  margin: 0;
  padding: 0;
  border-width: 0;
  box-sizing: border-box;
  list-style: none;
  outline: 0;
  display: inline-flex;
  flex-flow: row nowrap;
  vertical-align: middle;
  position: relative;
  -webkit-touch-callout: none;
  -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
}
.k-input-group > .k-input + .k-input {
  margin-inline-start: -1px;
}
.k-input-group > .k-input:hover,
.k-input-group > .k-input.k-hover,
.k-input-group > .k-input:focus,
.k-input-group > .k-input:focus-within,
.k-input-group > .k-input.k-focus,
.k-input-group > .k-input:active,
.k-input-group > .k-input.k-active,
.k-input-group > .k-input.k-selected {
  z-index: 2;
}
.k-input-group .k-input:not(:first-child):not(:last-child) {
  border-start-end-radius: 0;
  border-end-end-radius: 0;
  border-start-start-radius: 0;
  border-end-start-radius: 0;
}
.k-input-group > .k-input:first-child:not(:only-child) {
  border-start-end-radius: 0;
  border-end-end-radius: 0;
}
.k-input-group > .k-input:last-child:not(:only-child) {
  border-start-start-radius: 0;
  border-end-start-radius: 0;
}
.k-input-group:disabled, .k-input-group[disabled], .k-input-group.k-disabled {
  opacity: 1;
  filter: none;
}

.k-input-icon,
.k-input-validation-icon,
.k-input-loading-icon {
  padding-inline: var(--INTERNAL--kendo-input-padding-y, var(--kendo-spacing-1\.5, 0.375rem));
  padding-block: var(--INTERNAL--kendo-input-padding-y, var(--kendo-spacing-1\.5, 0.375rem));
  flex: none;
  align-self: center;
  display: inline-flex;
  flex-flow: row nowrap;
  align-items: center;
  justify-content: center;
  box-sizing: content-box;
}

.k-input-loading-icon {
  width: 1em;
  height: 1em;
  font-size: var(--kendo-icon-size-md, 1rem);
}

.k-input-icon.k-svg-icon > svg, .k-input-icon.k-icon-md > svg,
.k-input-validation-icon.k-svg-icon > svg,
.k-input-validation-icon.k-icon-md > svg,
.k-input-loading-icon.k-svg-icon > svg,
.k-input-loading-icon.k-icon-md > svg {
  width: var(--kendo-icon-size-md, 1rem);
  height: var(--kendo-icon-size-md, 1rem);
}
.k-input-icon.k-icon-xs > svg,
.k-input-validation-icon.k-icon-xs > svg,
.k-input-loading-icon.k-icon-xs > svg {
  width: var(--kendo-icon-size-sm, 0.75rem);
  height: var(--kendo-icon-size-sm, 0.75rem) s;
}
.k-input-icon.k-icon-sm > svg,
.k-input-validation-icon.k-icon-sm > svg,
.k-input-loading-icon.k-icon-sm > svg {
  width: var(--kendo-icon-size-sm, 0.875rem);
  height: var(--kendo-icon-size-sm, 0.875rem);
}
.k-input-icon.k-icon-lg > svg,
.k-input-validation-icon.k-icon-lg > svg,
.k-input-loading-icon.k-icon-lg > svg {
  width: var(--kendo-icon-size-lg, 1.25rem);
  height: var(--kendo-icon-size-lg, 1.25rem);
}
.k-input-icon.k-icon-xl > svg,
.k-input-validation-icon.k-icon-xl > svg,
.k-input-loading-icon.k-icon-xl > svg {
  width: var(--kendo-icon-size-xl, 1.5rem);
  height: var(--kendo-icon-size-xl, 1.5rem);
}
.k-input-icon.k-icon-xxl > svg,
.k-input-validation-icon.k-icon-xxl > svg,
.k-input-loading-icon.k-icon-xxl > svg {
  width: var(--kendo-icon-size-xxl, 2rem);
  height: var(--kendo-icon-size-xxl, 2rem);
}
.k-input-icon.k-icon-xxxl > svg,
.k-input-validation-icon.k-icon-xxxl > svg,
.k-input-loading-icon.k-icon-xxxl > svg {
  width: var(--kendo-icon-size-xxl, 3rem);
  height: var(--kendo-icon-size-xxl, 3rem);
}

.k-clear-value {
  width: var(--INTERNAL--kendo-input-icon-size, min-content);
  height: var(--INTERNAL--kendo-input-icon-size, min-content);
  outline: 0;
  color: var(--kendo-input-clear-value-text, var(--kendo-color-subtle, #605e5c));
  flex: none;
  align-self: center;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  opacity: var(--kendo-input-clear-value-opacity, 0.6);
}

.k-clear-value:hover,
.k-clear-value.k-hover {
  color: var(--kendo-input-clear-value-hover-text, inherit);
  opacity: var(--kendo-input-clear-value-hover-opacity, 1);
}

.k-clear-value:focus-visible {
  outline: 1px dotted;
  outline-offset: -1px;
}

.k-input-button {
  padding-inline: var(--INTERNAL--kendo-input-button-padding-x, 0);
  padding-block: var(--INTERNAL--kendo-input-button-padding-y, 0);
  border-width: 0;
  border-radius: 0;
  border-color: inherit;
  flex: none;
  aspect-ratio: auto;
  box-shadow: none;
}
.k-input-button > .k-button-icon {
  min-width: auto !important;
}
.k-input-button:focus::after {
  outline: none;
}

.k-input-outline .k-input-button {
  border-inline-start-width: var(--kendo-input-button-border-width, 1px);
}

.k-picker .k-input-button {
  color: inherit;
  background: none;
  border-color: transparent;
}

.k-input-spinner {
  flex: none;
  display: flex;
  flex-flow: column nowrap;
}
.k-input-spinner .k-spinner-increase,
.k-input-spinner .k-spinner-decrease {
  padding-inline: var(--INTERNAL--kendo-input-button-padding-x, 0);
  padding-block: var(--INTERNAL--kendo-input-button-padding-y, 0);
  border-width: 0;
  border-inline-start-width: var(--kendo-input-button-border-width, 1px);
  border-radius: 0;
  border-color: var(--INTERNAL--kendo-input-border, inherit);
  flex: 1 1 50%;
  box-shadow: none;
  position: relative;
  aspect-ratio: auto;
}
.k-input-spinner .k-spinner-increase .k-button-icon,
.k-input-spinner .k-spinner-decrease .k-button-icon {
  margin-block: -1em;
  margin-inline: 0;
  min-width: auto !important;
  min-height: auto !important;
}
.k-input-spinner .k-spinner-increase .k-icon {
  bottom: auto;
}
.k-input-spinner .k-spinner-decrease .k-icon {
  top: auto;
}

.k-searchbar {
  flex: 1 1 auto;
  display: flex;
  flex-flow: row nowrap;
}

.k-picker-wrap,
.k-dropdown-wrap,
.k-dateinput-wrap,
.k-multiselect-wrap,
.k-numeric-wrap {
  width: 100%;
  border-width: 0;
  border-color: inherit;
  box-sizing: border-box;
  flex: 1 1 auto;
  display: flex;
  flex-flow: row nowrap;
  overflow: hidden;
  position: relative;
}

.k-input-flat,
.k-picker-flat {
  border-bottom-right-radius: 0 !important;
  border-bottom-left-radius: 0 !important;
  border-width: var(--kendo-input-border-width, 1px) 0;
  border-top-color: transparent !important;
}
.k-input-flat:focus::after, .k-input-flat.k-focus::after, .k-input-flat:focus-within::after,
.k-picker-flat:focus::after,
.k-picker-flat.k-focus::after,
.k-picker-flat:focus-within::after {
  border-width: 0 0 var(--kendo-input-focus-border-width, 2px) 0;
}
.k-input-flat.k-invalid:focus::after, .k-input-flat.k-invalid.k-focus::after, .k-input-flat.k-invalid:focus-within::after, .k-input-flat.ng-invalid.ng-touched:focus::after, .k-input-flat.ng-invalid.ng-touched.k-focus::after, .k-input-flat.ng-invalid.ng-touched:focus-within::after, .k-input-flat.ng-invalid.ng-dirty:focus::after, .k-input-flat.ng-invalid.ng-dirty.k-focus::after, .k-input-flat.ng-invalid.ng-dirty:focus-within::after,
.k-picker-flat.k-invalid:focus::after,
.k-picker-flat.k-invalid.k-focus::after,
.k-picker-flat.k-invalid:focus-within::after,
.k-picker-flat.ng-invalid.ng-touched:focus::after,
.k-picker-flat.ng-invalid.ng-touched.k-focus::after,
.k-picker-flat.ng-invalid.ng-touched:focus-within::after,
.k-picker-flat.ng-invalid.ng-dirty:focus::after,
.k-picker-flat.ng-invalid.ng-dirty.k-focus::after,
.k-picker-flat.ng-invalid.ng-dirty:focus-within::after {
  border-width: 0 0 var(--kendo-input-focus-border-width, 2px) 0;
}

.k-input-flat,
.k-input-outline {
  background: none !important;
}

.k-input-sm,
.k-picker-sm {
  --INTERNAL--kendo-input-font-size: var(--kendo-font-size, inherit);
  --INTERNAL--kendo-input-line-height: var(--kendo-line-height, normal);
  --INTERNAL--kendo-input-padding-x: var(--kendo-spacing-2, 0.5rem);
  --INTERNAL--kendo-input-padding-y: var(--kendo-spacing-1, 0.25rem);
  --INTERNAL--kendo-input-button-padding-x: var(--kendo-spacing-1, 0.25rem);
  --INTERNAL--kendo-input-button-padding-y: var(--kendo-spacing-1, 0.25rem);
  --INTERNAL--kendo-input-icon-size: calc(var(--kendo-icon-size, 1rem) + var(--kendo-spacing-1\.5, 0.375rem) * 2);
}
.k-input-sm .k-input-button,
.k-picker-sm .k-input-button {
  width: var(--kendo-input-button-width, calc(var(--kendo-line-height, normal) * 1em + var(--kendo-spacing-1, 0.25rem) * 2));
}
.k-input-sm .k-input-spinner,
.k-picker-sm .k-input-spinner {
  width: var(--kendo-input-spinner-width, calc(var(--kendo-line-height, normal) * 1em + var(--kendo-spacing-1, 0.25rem) * 2));
}
.k-input-sm.k-icon-picker > .k-input-inner,
.k-picker-sm.k-icon-picker > .k-input-inner {
  width: var(--kendo-input-icon-picker-width, calc(var(--kendo-line-height, normal) * 1em + var(--kendo-spacing-1, 0.25rem) * 2));
}
.k-input-sm .k-input-prefix > .k-icon,
.k-input-sm .k-input-prefix > .k-input-prefix-text,
.k-input-sm .k-input-suffix > .k-icon,
.k-input-sm .k-input-suffix > .k-input-suffix-text,
.k-picker-sm .k-input-prefix > .k-icon,
.k-picker-sm .k-input-prefix > .k-input-prefix-text,
.k-picker-sm .k-input-suffix > .k-icon,
.k-picker-sm .k-input-suffix > .k-input-suffix-text {
  padding-block: var(--kendo-spacing-1, 0.25rem);
  padding-inline: var(--kendo-spacing-1, 0.25rem);
  box-sizing: content-box;
}
.k-input-sm .k-input-separator-horizontal,
.k-picker-sm .k-input-separator-horizontal {
  margin-inline: var(--kendo-spacing-1, 0.25rem);
}
.k-input-sm .k-input-separator-vertical,
.k-picker-sm .k-input-separator-vertical {
  margin-block: var(--kendo-spacing-1, 0.25rem);
}

.k-input-md,
.k-picker-md {
  --INTERNAL--kendo-input-font-size: var(--kendo-font-size, inherit);
  --INTERNAL--kendo-input-line-height: var(--kendo-line-height, normal);
  --INTERNAL--kendo-input-padding-x: var(--kendo-spacing-2, 0.5rem);
  --INTERNAL--kendo-input-padding-y: var(--kendo-spacing-1\.5, 0.375rem);
  --INTERNAL--kendo-input-button-padding-x: var(--kendo-spacing-1\.5, 0.375rem);
  --INTERNAL--kendo-input-button-padding-y: var(--kendo-spacing-1\.5, 0.375rem);
  --INTERNAL--kendo-input-icon-size: calc(var(--kendo-icon-size, 1rem) + var(--kendo-spacing-1, 0.25rem) * 2);
}
.k-input-md .k-input-button,
.k-picker-md .k-input-button {
  width: var(--kendo-input-button-width, calc(var(--kendo-line-height, normal) * 1em + var(--kendo-spacing-1\.5, 0.375rem) * 2));
}
.k-input-md .k-input-spinner,
.k-picker-md .k-input-spinner {
  width: var(--kendo-input-spinner-width, calc(var(--kendo-line-height, normal) * 1em + var(--kendo-spacing-1\.5, 0.375rem) * 2));
}
.k-input-md.k-icon-picker > .k-input-inner,
.k-picker-md.k-icon-picker > .k-input-inner {
  width: var(--kendo-input-icon-picker-width, calc(var(--kendo-line-height, normal) * 1em + var(--kendo-spacing-1\.5, 0.375rem) * 2));
}
.k-input-md .k-input-prefix > .k-icon,
.k-input-md .k-input-prefix > .k-input-prefix-text,
.k-input-md .k-input-suffix > .k-icon,
.k-input-md .k-input-suffix > .k-input-suffix-text,
.k-picker-md .k-input-prefix > .k-icon,
.k-picker-md .k-input-prefix > .k-input-prefix-text,
.k-picker-md .k-input-suffix > .k-icon,
.k-picker-md .k-input-suffix > .k-input-suffix-text {
  padding-block: var(--kendo-spacing-1\.5, 0.375rem);
  padding-inline: var(--kendo-spacing-1\.5, 0.375rem);
  box-sizing: content-box;
}
.k-input-md .k-input-separator-horizontal,
.k-picker-md .k-input-separator-horizontal {
  margin-inline: var(--kendo-spacing-1\.5, 0.375rem);
}
.k-input-md .k-input-separator-vertical,
.k-picker-md .k-input-separator-vertical {
  margin-block: var(--kendo-spacing-1\.5, 0.375rem);
}

.k-input-lg,
.k-picker-lg {
  --INTERNAL--kendo-input-font-size: var(--kendo-font-size, inherit);
  --INTERNAL--kendo-input-line-height: var(--kendo-line-height, normal);
  --INTERNAL--kendo-input-padding-x: var(--kendo-spacing-2, 0.5rem);
  --INTERNAL--kendo-input-padding-y: var(--kendo-spacing-2, 0.5rem);
  --INTERNAL--kendo-input-button-padding-x: var(--kendo-spacing-2, 0.5rem);
  --INTERNAL--kendo-input-button-padding-y: var(--kendo-spacing-2, 0.5rem);
  --INTERNAL--kendo-input-icon-size: calc(var(--kendo-icon-size, 1rem) + var(--kendo-spacing-2, 0.5rem) * 2);
}
.k-input-lg .k-input-button,
.k-picker-lg .k-input-button {
  width: var(--kendo-input-button-width, calc(var(--kendo-line-height, normal) * 1em + var(--kendo-spacing-2, 0.5rem) * 2));
}
.k-input-lg .k-input-spinner,
.k-picker-lg .k-input-spinner {
  width: var(--kendo-input-spinner-width, calc(var(--kendo-line-height, normal) * 1em + var(--kendo-spacing-2, 0.5rem) * 2));
}
.k-input-lg.k-icon-picker > .k-input-inner,
.k-picker-lg.k-icon-picker > .k-input-inner {
  width: var(--kendo-input-icon-picker-width, calc(var(--kendo-line-height, normal) * 1em + var(--kendo-spacing-2, 0.5rem) * 2));
}
.k-input-lg .k-input-prefix > .k-icon,
.k-input-lg .k-input-prefix > .k-input-prefix-text,
.k-input-lg .k-input-suffix > .k-icon,
.k-input-lg .k-input-suffix > .k-input-suffix-text,
.k-picker-lg .k-input-prefix > .k-icon,
.k-picker-lg .k-input-prefix > .k-input-prefix-text,
.k-picker-lg .k-input-suffix > .k-icon,
.k-picker-lg .k-input-suffix > .k-input-suffix-text {
  padding-block: var(--kendo-spacing-2, 0.5rem);
  padding-inline: var(--kendo-spacing-2, 0.5rem);
  box-sizing: content-box;
}
.k-input-lg .k-input-separator-horizontal,
.k-picker-lg .k-input-separator-horizontal {
  margin-inline: var(--kendo-spacing-2, 0.5rem);
}
.k-input-lg .k-input-separator-vertical,
.k-picker-lg .k-input-separator-vertical {
  margin-block: var(--kendo-spacing-2, 0.5rem);
}

.k-input > kendo-popup,
.k-picker > kendo-popup {
  position: fixed;
}

@keyframes autoFillStart {}
@keyframes autoFillEnd {}
.k-autofill:-webkit-autofill {
  animation-name: autoFillStart;
}

.k-autofill:not(:-webkit-autofill) {
  animation-name: autoFillEnd;
}

.k-input:-webkit-autofill {
  animation-name: autoFillStart;
}

.k-input:not(:-webkit-autofill) {
  animation-name: autoFillEnd;
}

.k-input {
  --INTERNAL--kendo-input-text: var( --kendo-input-text );
  --INTERNAL--kendo-input-bg: var( --kendo-input-bg );
  --INTERNAL--kendo-input-border: var( --kendo-input-border );
  color: var(--INTERNAL--kendo-input-text, initial);
  background-color: var(--INTERNAL--kendo-input-bg, initial);
  border-color: var(--INTERNAL--kendo-input-border, initial);
}
.k-input:hover, .k-input.k-hover {
  --INTERNAL--kendo-input-text: var( --kendo-input-hover-text );
  --INTERNAL--kendo-input-bg: var( --kendo-input-hover-bg );
  --INTERNAL--kendo-input-border: var( --kendo-input-hover-border );
}
.k-input:focus, .k-input.k-focus, .k-input:focus-within {
  --INTERNAL--kendo-input-text: var( --kendo-input-focus-text );
  --INTERNAL--kendo-input-bg: var( --kendo-input-focus-bg );
  --INTERNAL--kendo-input-border: var( --kendo-input-focus-border );
}
.k-input:focus::after, .k-input.k-focus::after, .k-input:focus-within::after {
  border-color: var(--kendo-input-focus-border, transparent);
}
.k-input:focus:hover, .k-input:focus.k-hover, .k-input.k-focus:hover, .k-input.k-focus.k-hover {
  --INTERNAL--kendo-input-text: var( --kendo-input-hover-focus-text );
  --INTERNAL--kendo-input-bg: var( --kendo-input-hover-focus-bg );
  --INTERNAL--kendo-input-border: var( --kendo-input-hover-focus-border );
}
.k-input:disabled, .k-input[disabled], .k-input.k-disabled {
  --INTERNAL--kendo-input-text: var( --kendo-input-disabled-text );
  --INTERNAL--kendo-input-bg: var( --kendo-input-disabled-bg );
  --INTERNAL--kendo-input-border: var( --kendo-input-disabled-border );
}
.k-input:disabled .k-input-prefix, .k-input[disabled] .k-input-prefix, .k-input.k-disabled .k-input-prefix {
  color: var(--kendo-input-prefix-disabled-text, var(--kendo-neutral-60, inherit));
}
.k-input:disabled .k-input-suffix, .k-input[disabled] .k-input-suffix, .k-input.k-disabled .k-input-suffix {
  color: var(--kendo-input-suffix-disabled-text, var(--kendo-neutral-60, inherit));
}
.k-input:disabled .k-input-button, .k-input[disabled] .k-input-button, .k-input.k-disabled .k-input-button {
  color: inherit;
  background: none;
}
.k-input.k-invalid, .k-input.ng-invalid.ng-touched, .k-input.ng-invalid.ng-dirty {
  --INTERNAL--kendo-input-border: var( --kendo-input-invalid-border, var(--kendo-invalid-border, var(--kendo-color-error-emphasis, #a4262c)) );
}
.k-input.k-invalid::after, .k-input.ng-invalid.ng-touched::after, .k-input.ng-invalid.ng-dirty::after {
  border-color: var(--kendo-input-invalid-border, var(--kendo-invalid-border, var(--kendo-color-error-emphasis, #a4262c)));
}
.k-input.k-invalid .k-input-validation-icon, .k-input.ng-invalid.ng-touched .k-input-validation-icon, .k-input.ng-invalid.ng-dirty .k-input-validation-icon {
  color: var(--kendo-input-invalid-text, var(--kendo-invalid-text, var(--kendo-color-error-on-surface, #a4262c)));
}
.k-input.k-invalid:focus:hover, .k-input.k-invalid.k-focus:hover, .k-input.k-invalid:focus.k-hover, .k-input.k-invalid.k-focus.k-hover, .k-input.ng-invalid.ng-touched:focus:hover, .k-input.ng-invalid.ng-touched.k-focus:hover, .k-input.ng-invalid.ng-touched:focus.k-hover, .k-input.ng-invalid.ng-touched.k-focus.k-hover, .k-input.ng-invalid.ng-dirty:focus:hover, .k-input.ng-invalid.ng-dirty.k-focus:hover, .k-input.ng-invalid.ng-dirty:focus.k-hover, .k-input.ng-invalid.ng-dirty.k-focus.k-hover {
  --INTERNAL--kendo-input-border: var( --kendo-input-invalid-border, var(--kendo-invalid-border, var(--kendo-color-error-emphasis, #a4262c)) );
}
.k-input.k-invalid:focus:hover .k-input-validation-icon, .k-input.k-invalid.k-focus:hover .k-input-validation-icon, .k-input.k-invalid:focus.k-hover .k-input-validation-icon, .k-input.k-invalid.k-focus.k-hover .k-input-validation-icon, .k-input.ng-invalid.ng-touched:focus:hover .k-input-validation-icon, .k-input.ng-invalid.ng-touched.k-focus:hover .k-input-validation-icon, .k-input.ng-invalid.ng-touched:focus.k-hover .k-input-validation-icon, .k-input.ng-invalid.ng-touched.k-focus.k-hover .k-input-validation-icon, .k-input.ng-invalid.ng-dirty:focus:hover .k-input-validation-icon, .k-input.ng-invalid.ng-dirty.k-focus:hover .k-input-validation-icon, .k-input.ng-invalid.ng-dirty:focus.k-hover .k-input-validation-icon, .k-input.ng-invalid.ng-dirty.k-focus.k-hover .k-input-validation-icon {
  color: var(--kendo-input-invalid-text, var(--kendo-invalid-text, var(--kendo-color-error-on-surface, #a4262c)));
}
.k-input .k-input-prefix {
  color: var(--kendo-input-prefix-text, var(--kendo-neutral-130, inherit));
}
.k-input .k-input-suffix {
  color: var(--kendo-input-suffix-text, var(--kendo-neutral-130, inherit));
}
.k-input .k-input-separator {
  border-color: var(--kendo-input-separator-text, var(--kendo-neutral-30, inherit));
}

.k-picker {
  --INTERNAL--kendo-picker-text: var( --kendo-picker-text );
  --INTERNAL--kendo-picker-bg: var( --kendo-picker-bg );
  --INTERNAL--kendo-picker-border: var( --kendo-picker-border );
  color: var(--INTERNAL--kendo-picker-text, initial);
  background-color: var(--INTERNAL--kendo-picker-bg, initial);
  border-color: var(--INTERNAL--kendo-picker-border, initial);
}
.k-picker:hover, .k-picker.k-hover {
  --INTERNAL--kendo-picker-text: var( --kendo-picker-hover-text );
  --INTERNAL--kendo-picker-bg: var( --kendo-picker-hover-bg );
  --INTERNAL--kendo-picker-border: var( --kendo-picker-hover-border );
}
.k-picker:focus, .k-picker.k-focus, .k-picker:focus-within {
  --INTERNAL--kendo-picker-text: var( --kendo-picker-focus-text );
  --INTERNAL--kendo-picker-bg: var( --kendo-picker-focus-bg );
  --INTERNAL--kendo-picker-border: var( --kendo-picker-focus-border );
}
.k-picker:focus::after, .k-picker.k-focus::after, .k-picker:focus-within::after {
  border-color: var(--kendo-picker-focus-border);
}
.k-picker:focus:hover, .k-picker:focus.k-hover, .k-picker.k-focus:hover, .k-picker.k-focus.k-hover {
  --INTERNAL--kendo-picker-text: var( --kendo-picker-hover-focus-text );
  --INTERNAL--kendo-picker-bg: var( --kendo-picker-hover-focus-bg );
  --INTERNAL--kendo-picker-border: var( --kendo-picker-hover-focus-border );
}
.k-picker:disabled, .k-picker[disabled], .k-picker.k-disabled {
  --INTERNAL--kendo-picker-text: var( --kendo-picker-disabled-text );
  --INTERNAL--kendo-picker-bg: var( --kendo-picker-disabled-bg );
  --INTERNAL--kendo-picker-border: var( --kendo-picker-disabled-border );
}
.k-picker.k-invalid, .k-picker.ng-invalid.ng-touched, .k-picker.ng-invalid.ng-dirty {
  --INTERNAL--kendo-picker-border: var( --kendo-input-invalid-border, var(--kendo-invalid-border, var(--kendo-color-error-emphasis, #a4262c)) );
}
.k-picker.k-invalid::after, .k-picker.ng-invalid.ng-touched::after, .k-picker.ng-invalid.ng-dirty::after {
  border-color: var(--kendo-input-invalid-border, var(--kendo-invalid-border, var(--kendo-color-error-emphasis, #a4262c)));
}
.k-picker.k-invalid .k-input-validation-icon, .k-picker.ng-invalid.ng-touched .k-input-validation-icon, .k-picker.ng-invalid.ng-dirty .k-input-validation-icon {
  color: var(--kendo-input-invalid-text, var(--kendo-invalid-text, var(--kendo-color-error-on-surface, #a4262c)));
}
.k-picker.k-invalid:focus:hover, .k-picker.k-invalid.k-focus:hover, .k-picker.k-invalid:focus.k-hover, .k-picker.k-invalid.k-focus.k-hover, .k-picker.ng-invalid.ng-touched:focus:hover, .k-picker.ng-invalid.ng-touched.k-focus:hover, .k-picker.ng-invalid.ng-touched:focus.k-hover, .k-picker.ng-invalid.ng-touched.k-focus.k-hover, .k-picker.ng-invalid.ng-dirty:focus:hover, .k-picker.ng-invalid.ng-dirty.k-focus:hover, .k-picker.ng-invalid.ng-dirty:focus.k-hover, .k-picker.ng-invalid.ng-dirty.k-focus.k-hover {
  --INTERNAL--kendo-picker-border: var( --kendo-input-invalid-border, var(--kendo-invalid-border, var(--kendo-color-error-emphasis, #a4262c)) );
}
.k-picker.k-invalid:focus:hover .k-input-validation-icon, .k-picker.k-invalid.k-focus:hover .k-input-validation-icon, .k-picker.k-invalid:focus.k-hover .k-input-validation-icon, .k-picker.k-invalid.k-focus.k-hover .k-input-validation-icon, .k-picker.ng-invalid.ng-touched:focus:hover .k-input-validation-icon, .k-picker.ng-invalid.ng-touched.k-focus:hover .k-input-validation-icon, .k-picker.ng-invalid.ng-touched:focus.k-hover .k-input-validation-icon, .k-picker.ng-invalid.ng-touched.k-focus.k-hover .k-input-validation-icon, .k-picker.ng-invalid.ng-dirty:focus:hover .k-input-validation-icon, .k-picker.ng-invalid.ng-dirty.k-focus:hover .k-input-validation-icon, .k-picker.ng-invalid.ng-dirty:focus.k-hover .k-input-validation-icon, .k-picker.ng-invalid.ng-dirty.k-focus.k-hover .k-input-validation-icon {
  color: var(--kendo-input-invalid-text, var(--kendo-invalid-text, var(--kendo-color-error-on-surface, #a4262c)));
}

.k-input-solid {
  --kendo-input-text: var( --kendo-input-solid-text, var(--kendo-color-on-app-surface, #323130) );
  --kendo-input-bg: var( --kendo-input-solid-bg, var(--kendo-color-app-surface, #ffffff) );
  --kendo-input-border: var( --kendo-input-solid-border, var(--kendo-color-border, #8a8886) );
  --kendo-input-hover-text: var( --kendo-input-solid-hover-text, var(--kendo-color-on-app-surface, #323130) );
  --kendo-input-hover-bg: var( --kendo-input-solid-hover-bg, var(--kendo-color-app-surface, #ffffff) );
  --kendo-input-hover-border: var( --kendo-input-solid-hover-border, var(--kendo-color-border-alt, #323130) );
  --kendo-input-focus-text: var( --kendo-input-solid-focus-text, var(--kendo-color-on-app-surface, #323130) );
  --kendo-input-focus-bg: var( --kendo-input-solid-focus-bg, var(--kendo-color-app-surface, #ffffff));
  --kendo-input-focus-border: var( --kendo-input-solid-focus-border, var(--kendo-color-primary, #0078d4) );
  --kendo-input-hover-focus-text: var( --kendo-input-solid-hover-focus-text, var(--kendo-color-on-app-surface, #323130) );
  --kendo-input-hover-focus-bg: var( --kendo-input-solid-hover-focus-bg, var(--kendo-color-app-surface, #ffffff) );
  --kendo-input-hover-focus-border: var( --kendo-input-solid-hover-focus-border, var(--kendo-color-primary, #0078d4) );
  --kendo-input-disabled-text: var( --kendo-input-solid-disabled-text, color-mix(in srgb, var(--kendo-color-on-app-surface, #323130) 46%, transparent) );
  --kendo-input-disabled-bg: var( --kendo-input-solid-disabled-bg, var(--kendo-color-base-subtle, #edebe9) );
  --kendo-input-disabled-border: var( --kendo-input-solid-disabled-border, transparent );
}

.k-input-outline {
  --kendo-input-text: var( --kendo-input-outline-text, var(--kendo-color-on-app-surface, #323130) );
  --kendo-input-bg: var( --kendo-input-outline-bg, var(--kendo-color-app-surface, #ffffff) );
  --kendo-input-border: var( --kendo-input-outline-border, var(--kendo-color-border, #8a8886) );
  --kendo-input-hover-text: var( --kendo-input-outline-hover-text, var(--kendo-color-on-app-surface, #323130) );
  --kendo-input-hover-bg: var( --kendo-input-outline-hover-bg, var(--kendo-color-app-surface, #ffffff) );
  --kendo-input-hover-border: var( --kendo-input-outline-hover-border, var(--kendo-color-border-alt, #323130) );
  --kendo-input-focus-text: var( --kendo-input-outline-focus-text, var(--kendo-color-on-app-surface, #323130) );
  --kendo-input-focus-bg: var( --kendo-input-outline-focus-bg, var(--kendo-color-app-surface, #ffffff));
  --kendo-input-focus-border: var( --kendo-input-outline-focus-border, var(--kendo-color-primary, #0078d4) );
  --kendo-input-hover-focus-text: var( --kendo-input-outline-hover-focus-text, var(--kendo-color-on-app-surface, #323130) );
  --kendo-input-hover-focus-bg: var( --kendo-input-outline-hover-focus-bg, var(--kendo-color-app-surface, #ffffff) );
  --kendo-input-hover-focus-border: var( --kendo-input-outline-hover-focus-border, var(--kendo-color-primary, #0078d4) );
  --kendo-input-disabled-text: var( --kendo-input-outline-disabled-text, color-mix(in srgb, var(--kendo-color-on-app-surface, #323130) 46%, transparent) );
  --kendo-input-disabled-bg: var( --kendo-input-outline-disabled-bg, none );
  --kendo-input-disabled-border: var( --kendo-input-outline-disabled-border, color-mix(in srgb, var(--kendo-color-on-app-surface, #323130) 46%, transparent) );
}

.k-input-flat {
  --kendo-input-text: var( --kendo-input-flat-text, var(--kendo-color-on-app-surface, #323130) );
  --kendo-input-bg: var( --kendo-input-flat-bg, var(--kendo-color-app-surface, #ffffff) );
  --kendo-input-border: var( --kendo-input-flat-border, var(--kendo-color-border, #8a8886) );
  --kendo-input-hover-text: var( --kendo-input-flat-hover-text, var(--kendo-color-on-app-surface, #323130) );
  --kendo-input-hover-bg: var( --kendo-input-flat-hover-bg, var(--kendo-color-app-surface, #ffffff) );
  --kendo-input-hover-border: var( --kendo-input-flat-hover-border, var(--kendo-color-border-alt, #323130) );
  --kendo-input-focus-text: var( --kendo-input-flat-focus-text, var(--kendo-color-on-app-surface, #323130) );
  --kendo-input-focus-bg: var( --kendo-input-flat-focus-bg, var(--kendo-color-app-surface, #ffffff));
  --kendo-input-focus-border: var( --kendo-input-flat-focus-border, var(--kendo-color-primary, #0078d4) );
  --kendo-input-hover-focus-text: var( --kendo-input-flat-hover-focus-text,  );
  --kendo-input-hover-focus-bg: var( --kendo-input-flat-hover-focus-bg, var(--kendo-color-app-surface, #ffffff) );
  --kendo-input-hover-focus-border: var( --kendo-input-flat-hover-focus-border, var(--kendo-color-primary, #0078d4) );
  --kendo-input-disabled-text: var( --kendo-input-flat-disabled-text, color-mix(in srgb, var(--kendo-color-on-app-surface, #323130) 46%, transparent) );
  --kendo-input-disabled-bg: var( --kendo-input-flat-disabled-bg, none );
  --kendo-input-disabled-border: var( --kendo-input-flat-disabled-border, color-mix(in srgb, var(--kendo-color-on-app-surface, #323130) 46%, transparent) );
}

.k-picker-solid {
  --kendo-picker-text: var( --kendo-picker-solid-text, var(--kendo-color-on-app-surface, #323130) );
  --kendo-picker-bg: var( --kendo-picker-solid-bg, var(--kendo-color-app-surface, #ffffff) );
  --kendo-picker-border: var( --kendo-picker-solid-border, var(--kendo-color-border, #8a8886) );
  --kendo-picker-hover-text: var( --kendo-picker-solid-hover-text, var(--kendo-color-on-app-surface, #323130) );
  --kendo-picker-hover-bg: var( --kendo-picker-solid-hover-bg, var(--kendo-color-app-surface, #ffffff) );
  --kendo-picker-hover-border: var( --kendo-picker-solid-hover-border, var(--kendo-color-border-alt, #323130) );
  --kendo-picker-focus-text: var( --kendo-picker-solid-focus-text, var(--kendo-color-on-app-surface, #323130) );
  --kendo-picker-focus-bg: var( --kendo-picker-solid-focus-bg, var(--kendo-color-app-surface, #ffffff));
  --kendo-picker-focus-border: var( --kendo-picker-solid-focus-border, var(--kendo-color-primary, #0078d4) );
  --kendo-picker-hover-focus-text: var( --kendo-picker-solid-hover-focus-text,  );
  --kendo-picker-hover-focus-bg: var( --kendo-picker-solid-hover-focus-bg, var(--kendo-color-app-surface, #ffffff) );
  --kendo-picker-hover-focus-border: var( --kendo-picker-solid-hover-focus-border, var(--kendo-color-primary, #0078d4) );
  --kendo-picker-disabled-text: var( --kendo-picker-solid-disabled-text, color-mix(in srgb, var(--kendo-color-on-app-surface, #323130) 46%, transparent) );
  --kendo-picker-disabled-bg: var( --kendo-picker-solid-disabled-bg, color-mix(in srgb, var(--kendo-color-on-app-surface, #323130) 9%, transparent) );
  --kendo-picker-disabled-border: var( --kendo-picker-solid-disabled-border, transparent );
}

.k-picker-outline {
  --kendo-picker-text: var( --kendo-picker-outline-text, var(--kendo-color-on-app-surface, #323130) );
  --kendo-picker-bg: var( --kendo-picker-outline-bg, none );
  --kendo-picker-border: var( --kendo-picker-outline-border, var(--kendo-color-on-app-surface, #323130) );
  --kendo-picker-hover-text: var( --kendo-picker-outline-hover-text, var(--kendo-color-app-surface, #ffffff) );
  --kendo-picker-hover-bg: var( --kendo-picker-outline-hover-bg, var(--kendo-color-on-app-surface, #323130) );
  --kendo-picker-hover-border: var( --kendo-picker-outline-hover-border, var(--kendo-color-on-app-surface, #323130) );
  --kendo-picker-focus-text: var( --kendo-picker-outline-focus-text, var(--kendo-color-on-app-surface, #323130) );
  --kendo-picker-focus-bg: var( --kendo-picker-outline-focus-bg, var(--kendo-color-app-surface, #ffffff));
  --kendo-picker-focus-border: var( --kendo-picker-outline-focus-border, var(--kendo-color-primary, #0078d4) );
  --kendo-picker-hover-focus-text: var( --kendo-picker-outline-hover-focus-text, var(--kendo-color-app-surface, #ffffff) );
  --kendo-picker-hover-focus-bg: var( --kendo-picker-outline-hover-focus-bg, var(--kendo-color-on-app-surface, #323130) );
  --kendo-picker-hover-focus-border: var( --kendo-picker-outline-hover-focus-border, var(--kendo-color-primary, #0078d4) );
  --kendo-picker-disabled-text: var( --kendo-picker-outline-disabled-text, color-mix(in srgb, var(--kendo-color-on-app-surface, #323130) 46%, transparent) );
  --kendo-picker-disabled-bg: var( --kendo-picker-outline-disabled-bg, none );
  --kendo-picker-disabled-border: var( --kendo-picker-outline-disabled-border, color-mix(in srgb, var(--kendo-color-on-app-surface, #323130) 46%, transparent) );
}

.k-picker-flat {
  --kendo-picker-text: var( --kendo-picker-flat-text, var(--kendo-color-on-app-surface, #323130) );
  --kendo-picker-bg: var( --kendo-picker-flat-bg, none );
  --kendo-picker-border: var( --kendo-picker-flat-border, var(--kendo-color-border, #8a8886) );
  --kendo-picker-hover-text: var( --kendo-picker-flat-hover-text, var(--kendo-color-on-app-surface, #323130) );
  --kendo-picker-hover-bg: var( --kendo-picker-flat-hover-bg, var(--kendo-color-base-hover, #f3f2f1) );
  --kendo-picker-hover-border: var( --kendo-picker-flat-hover-border, var(--kendo-color-border-alt, #323130) );
  --kendo-picker-focus-text: var( --kendo-picker-flat-focus-text, var(--kendo-color-on-app-surface, #323130) );
  --kendo-picker-focus-bg: var( --kendo-picker-flat-focus-bg, var(--kendo-color-app-surface, #ffffff));
  --kendo-picker-focus-border: var( --kendo-picker-flat-focus-border, var(--kendo-color-primary, #0078d4) );
  --kendo-picker-hover-focus-text: var( --kendo-picker-flat-hover-focus-text,  );
  --kendo-picker-hover-focus-bg: var( --kendo-picker-flat-hover-focus-bg, var(--kendo-color-base-hover, #f3f2f1) );
  --kendo-picker-hover-focus-border: var( --kendo-picker-flat-hover-focus-border, var(--kendo-color-border, #8a8886) );
  --kendo-picker-disabled-text: var( --kendo-picker-flat-disabled-text, color-mix(in srgb, var(--kendo-color-on-app-surface, #323130) 46%, transparent) );
  --kendo-picker-disabled-bg: var( --kendo-picker-flat-disabled-bg, none );
  --kendo-picker-disabled-border: var( --kendo-picker-flat-disabled-border, color-mix(in srgb, var(--kendo-color-on-app-surface, #323130) 46%, transparent) );
}

.k-textarea:has(.k-input-inner[style*=width]) {
  width: max-content;
}

.k-align-items-normal {
  align-items: normal;
}

.\!k-align-items-normal {
  align-items: normal !important;
}

.k-align-items-stretch {
  align-items: stretch;
}

.\!k-align-items-stretch {
  align-items: stretch !important;
}

.k-align-items-center {
  align-items: center;
}

.\!k-align-items-center {
  align-items: center !important;
}

.k-align-items-start {
  align-items: start;
}

.\!k-align-items-start {
  align-items: start !important;
}

.k-align-items-end {
  align-items: end;
}

.\!k-align-items-end {
  align-items: end !important;
}

.k-align-items-flex-start {
  align-items: flex-start;
}

.\!k-align-items-flex-start {
  align-items: flex-start !important;
}

.k-align-items-flex-end {
  align-items: flex-end;
}

.\!k-align-items-flex-end {
  align-items: flex-end !important;
}

.k-align-items-baseline {
  align-items: baseline;
}

.\!k-align-items-baseline {
  align-items: baseline !important;
}

.k-align-items-first-baseline {
  align-items: first baseline;
}

.\!k-align-items-first-baseline {
  align-items: first baseline !important;
}

.k-align-items-last-baseline {
  align-items: last baseline;
}

.\!k-align-items-last-baseline {
  align-items: last baseline !important;
}

.k-align-items-self-start {
  align-items: self-start;
}

.\!k-align-items-self-start {
  align-items: self-start !important;
}

.k-align-items-self-end {
  align-items: self-end;
}

.\!k-align-items-self-end {
  align-items: self-end !important;
}

.k-flex-row, .k-d-flex-row {
  flex-direction: row;
}

.\!k-flex-row, .\!k-d-flex-row, .\!k-d-flex-col {
  flex-direction: row !important;
}

.k-flex-row-reverse {
  flex-direction: row-reverse;
}

.\!k-flex-row-reverse {
  flex-direction: row-reverse !important;
}

.k-flex-col, .k-flex-column, .k-d-flex-col {
  flex-direction: column;
}

.\!k-flex-col {
  flex-direction: column !important;
}

.k-flex-col-reverse, .k-flex-column-reverse {
  flex-direction: column-reverse;
}

.\!k-flex-col-reverse {
  flex-direction: column-reverse !important;
}

.k-flex-1 {
  flex: 1 1 0%;
}

.\!k-flex-1 {
  flex: 1 1 0% !important;
}

.k-flex-auto {
  flex: 1 1 auto;
}

.\!k-flex-auto {
  flex: 1 1 auto !important;
}

.k-flex-initial {
  flex: 0 1 auto;
}

.\!k-flex-initial {
  flex: 0 1 auto !important;
}

.k-flex-none {
  flex: none;
}

.\!k-flex-none {
  flex: none !important;
}

.k-flex-wrap {
  flex-wrap: wrap;
}

.\!k-flex-wrap {
  flex-wrap: wrap !important;
}

.k-flex-wrap-reverse {
  flex-wrap: wrap-reverse;
}

.\!k-flex-wrap-reverse {
  flex-wrap: wrap-reverse !important;
}

.k-flex-nowrap {
  flex-wrap: nowrap;
}

.\!k-flex-nowrap {
  flex-wrap: nowrap !important;
}

.k-resize {
  resize: both;
}

.\!k-resize {
  resize: both !important;
}

.k-resize-none {
  resize: none;
}

.\!k-resize-none {
  resize: none !important;
}

.k-resize-x {
  resize: horizontal;
}

.\!k-resize-x {
  resize: horizontal !important;
}

.k-resize-y {
  resize: vertical;
}

.\!k-resize-y {
  resize: vertical !important;
}

.k-checkbox {
  margin: 0;
  padding: 0;
  width: var(--INTERNAL--kendo-checkbox-width, 1em);
  height: var(--INTERNAL--kendo-checkbox-height, 1em);
  line-height: initial;
  border-width: var(--kendo-checkbox-border-width, 1px);
  border-style: solid;
  outline: 0;
  background-position: center;
  background-repeat: no-repeat;
  background-size: contain;
  display: inline-block;
  flex: none;
  vertical-align: middle;
  position: relative;
  cursor: pointer;
  -webkit-appearance: none;
}

.k-checkbox::before {
  content: "";
  display: block;
  width: 100%;
  height: 100%;
  mask-size: var(--INTERNAL--kendo-checkbox-indicator-size, 100%);
  mask-position: center;
  mask-repeat: no-repeat;
}

.k-checkbox:hover::before,
.k-checkbox.k-hover::before {
  background-color: currentColor;
  mask-image: var(--kendo-checkbox-hover-image, url("data:image/svg+xml,%3csvg xmlns=%27http://www.w3.org/2000/svg%27 viewBox=%270 0 16 16%27%3e%3cpath fill=%27none%27 stroke=%27%23323130%27 stroke-linecap=%27square%27 stroke-linejoin=%27square%27 stroke-width=%272%27 d=%27M3,8 l3,3 l7-7%27/%3e%3c/svg%3e"));
}

.k-checkbox:focus,
.k-checkbox.k-focus {
  outline-offset: 2px;
}

.k-checkbox:checked::before,
.k-checkbox.k-checked::before {
  background-color: currentColor;
  mask-image: var(--kendo-checkbox-checked-image, url("data:image/svg+xml,%3csvg xmlns=%27http://www.w3.org/2000/svg%27 viewBox=%270 0 16 16%27%3e%3cpath fill=%27none%27 stroke=%27%23ffffff%27 stroke-linecap=%27square%27 stroke-linejoin=%27square%27 stroke-width=%272%27 d=%27M3,8 l3,3 l7-7%27/%3e%3c/svg%3e"));
}

.k-checkbox:indeterminate::before,
.k-checkbox.k-indeterminate::before {
  background-color: currentColor;
  mask-image: var(--kendo-checkbox-indeterminate-image, url("data:image/svg+xml,%3csvg xmlns=%27http://www.w3.org/2000/svg%27 viewBox=%270 0 16 16%27%3e%3crect x=%273%27 y=%273%27 width=%2710%27 height=%2710%27 rx=%272%27 fill=%27%230078d4%27/%3e%3c/svg%3e"));
  mask-size: var(--INTERNAL--kendo-checkbox-indeterminate-size, 100%);
}

.k-checkbox:indeterminate:hover::before,
.k-checkbox.k-indeterminate.k-hover::before {
  background-color: currentColor;
  mask-image: var(--kendo-checkbox-hover-indeterminate-image, url("data:image/svg+xml,%3csvg xmlns=%27http://www.w3.org/2000/svg%27 viewBox=%270 0 16 16%27%3e%3crect x=%273%27 y=%273%27 width=%2710%27 height=%2710%27 rx=%272%27 fill=%27%23106ebe%27/%3e%3c/svg%3e"));
}

.k-checkbox:checked:disabled::before,
.k-checkbox.k-checked.k-disabled::before {
  background-color: currentColor;
  mask-image: var(--kendo-checkbox-disabled-checked-image, url("data:image/svg+xml,%3csvg xmlns=%27http://www.w3.org/2000/svg%27 viewBox=%270 0 16 16%27%3e%3cpath fill=%27none%27 stroke=%27%23ffffff%27 stroke-linecap=%27square%27 stroke-linejoin=%27square%27 stroke-width=%272%27 d=%27M3,8 l3,3 l7-7%27/%3e%3c/svg%3e"));
}

.k-checkbox:indeterminate:disabled::before,
.k-checkbox.k-indeterminate.k-disabled::before {
  background-color: currentColor;
  mask-image: var(--kendo-checkbox-disabled-indeterminate-image, url("data:image/svg+xml,%3csvg xmlns=%27http://www.w3.org/2000/svg%27 viewBox=%270 0 16 16%27%3e%3crect x=%273%27 y=%273%27 width=%2710%27 height=%2710%27 rx=%272%27 fill=%27%23323130%27/%3e%3c/svg%3e"));
}

.k-checkbox-wrap {
  flex: none;
  display: inline-flex;
  flex-flow: row nowrap;
  gap: 0;
  align-items: center;
  align-self: flex-start;
  vertical-align: middle;
  position: relative;
}
.k-checkbox-wrap::before {
  content: "​";
  width: 0px;
  overflow: hidden;
  flex: none;
  display: inline-block;
  vertical-align: top;
}

.k-checkbox-label {
  margin: 0;
  padding: 0;
  display: inline-flex;
  align-items: flex-start;
  gap: var(--kendo-checkbox-label-margin-x, var(--kendo-spacing-2, 0.5rem));
  vertical-align: middle;
  position: relative;
  cursor: pointer;
}
.k-checkbox-label .k-ripple {
  visibility: hidden !important;
}

.k-checkbox + .k-label,
.k-checkbox-wrap + .k-label,
.k-checkbox + .k-checkbox-label,
.k-checkbox-wrap + .k-checkbox-label {
  display: inline;
  margin-inline-start: var(--kendo-checkbox-label-margin-x, var(--kendo-spacing-2, 0.5rem));
}

.k-checkbox-label:empty {
  display: none !important;
}

.k-checkbox-label.k-no-text {
  min-width: 1px;
}

.k-checkbox-list {
  margin: 0;
  padding: 0;
  display: flex;
  flex-flow: column nowrap;
  gap: 0;
  list-style: none;
}

.k-checkbox-item,
.k-checkbox-list-item {
  padding-inline: var(--kendo-checkbox-list-item-padding-x, var(--kendo-spacing-0, 0px));
  padding-block: var(--kendo-checkbox-list-item-padding-y, var(--kendo-spacing-2, 0.5rem));
  display: flex;
  flex-flow: row nowrap;
  align-items: center;
  align-content: center;
  gap: var(--kendo-spacing-2, 0.5rem);
}
.k-checkbox-item .k-checkbox-label,
.k-checkbox-list-item .k-checkbox-label {
  margin: 0;
}

.k-checkbox-list-horizontal,
.k-checkbox-list.k-list-horizontal {
  display: flex;
  flex-flow: row wrap;
  gap: var(--kendo-checkbox-list-spacing, var(--kendo-spacing-4, 1rem));
}

.k-ripple-container .k-checkbox::after {
  content: "";
  width: var(--INTERNAL--kendo-ripple-size-width, 300%);
  height: var(--INTERNAL--kendo-ripple-size-height, 300%);
  display: block;
  position: absolute;
  left: 50%;
  top: 50%;
  border-radius: 100%;
  z-index: -1;
  transition: opacity 100ms linear, transform 150ms cubic-bezier(0.4, 0, 0.2, 1);
  transform: translate(-50%, -50%) scale(0);
  transform-origin: center center;
}
.k-ripple-container .k-checkbox:focus,
.k-ripple-container .k-checkbox.k-focus {
  box-shadow: none !important;
  outline: none !important;
}
.k-ripple-container .k-checkbox:disabled::after,
.k-ripple-container .k-checkbox.k-disabled::after {
  display: none;
}

.k-checkbox-sm {
  --INTERNAL--kendo-checkbox-width: var(--kendo-spacing-4, 1rem);
  --INTERNAL--kendo-checkbox-height: var(--kendo-spacing-4, 1rem);
  --INTERNAL--kendo-checkbox-glyph-size: var(--kendo-spacing-3\.5, 0.875rem);
  --INTERNAL--kendo-checkbox-indicator-size: var(--kendo-spacing-4, 1rem);
  --INTERNAL--kendo-checkbox-indeterminate-size: var(--kendo-spacing-3, 0.75rem);
}

.k-ripple-container .k-checkbox-size::after {
  --INTERNAL--kendo-ripple-size-width: 300%;
  --INTERNAL--kendo-ripple-size-height: 300%;
}

.k-checkbox-md {
  --INTERNAL--kendo-checkbox-width: var(--kendo-spacing-5, 1.25rem);
  --INTERNAL--kendo-checkbox-height: var(--kendo-spacing-5, 1.25rem);
  --INTERNAL--kendo-checkbox-glyph-size: var(--kendo-spacing-4\.5, 1.125rem);
  --INTERNAL--kendo-checkbox-indicator-size: var(--kendo-spacing-4, 1rem);
  --INTERNAL--kendo-checkbox-indeterminate-size: var(--kendo-spacing-4, 1rem);
}

.k-ripple-container .k-checkbox-size::after {
  --INTERNAL--kendo-ripple-size-width: 300%;
  --INTERNAL--kendo-ripple-size-height: 300%;
}

.k-checkbox-lg {
  --INTERNAL--kendo-checkbox-width: var(--kendo-spacing-6, 1.5rem);
  --INTERNAL--kendo-checkbox-height: var(--kendo-spacing-6, 1.5rem);
  --INTERNAL--kendo-checkbox-glyph-size: var(--kendo-spacing-5\.5, 1.375rem);
  --INTERNAL--kendo-checkbox-indicator-size: var(--kendo-spacing-4, 1rem);
  --INTERNAL--kendo-checkbox-indeterminate-size: var(--kendo-spacing-5, 1.25rem);
}

.k-ripple-container .k-checkbox-size::after {
  --INTERNAL--kendo-ripple-size-width: 300%;
  --INTERNAL--kendo-ripple-size-height: 300%;
}

.k-checkbox {
  border-color: var(--kendo-checkbox-border, var(--kendo-color-border-alt, #323130));
  color: var(--kendo-checkbox-text, transparent);
  background-color: var(--kendo-checkbox-bg, var(--kendo-color-surface-alt, #ffffff));
}

.k-checkbox:hover,
.k-checkbox.k-hover {
  border-color: var(--kendo-checkbox-hover-border, var(--kendo-color-border-alt, #323130));
  color: var(--kendo-checkbox-hover-text, var(--kendo-color-on-app-surface, #323130));
  background-color: var(--kendo-checkbox-hover-bg, var(--kendo-color-surface-alt, #ffffff));
}

.k-checkbox:focus,
.k-checkbox.k-focus {
  outline: 1px solid var(--kendo-color-base-emphasis, #605e5c);
}

.k-checkbox:checked,
.k-checkbox.k-checked {
  border-color: var(--kendo-checkbox-checked-border, var(--kendo-color-primary, #0078d4));
  color: var(--kendo-checkbox-checked-text, var(--kendo-color-app-surface, #ffffff));
  background-color: var(--kendo-checkbox-checked-bg, var(--kendo-color-primary, #0078d4));
}

.k-checkbox:checked:hover,
.k-checkbox.k-checked.k-hover {
  border-color: var(--kendo-checkbox-hover-checked-border, var(--kendo-color-primary-hover, #106ebe));
  color: var(--kendo-checkbox-hover-checked-text, var(--kendo-color-app-surface, #ffffff));
  background-color: var(--kendo-checkbox-hover-checked-bg, var(--kendo-color-primary-hover, #106ebe));
}

.k-checkbox:indeterminate,
.k-checkbox.k-indeterminate {
  border-color: var(--kendo-checkbox-indeterminate-border, var(--kendo-color-primary, #0078d4));
  color: var(--kendo-checkbox-indeterminate-text, var(--kendo-color-primary, #0078d4));
  background-color: var(--kendo-checkbox-indeterminate-bg, var(--kendo-color-surface-alt, #ffffff));
}

.k-checkbox:indeterminate:hover,
.k-checkbox.k-indeterminate.k-hover {
  border-color: var(--kendo-checkbox-hover-indeterminate-border, var(--kendo-color-primary-hover, #106ebe));
  color: var(--kendo-checkbox-hover-indeterminate-text, var(--kendo-color-primary-hover, #106ebe));
  background-color: var(--kendo-checkbox-hover-indeterminate-bg, var(--kendo-color-surface-alt, #ffffff));
}

.k-checkbox:disabled,
.k-checkbox.k-disabled {
  border-color: var(--kendo-checkbox-disabled-border, color-mix(in srgb, var(--kendo-color-on-app-surface, #323130) 28%, transparent));
  color: var(--kendo-checkbox-disabled-text, color-mix(in srgb, var(--kendo-color-on-app-surface, #323130) 28%, transparent));
  background-color: var(--kendo-checkbox-disabled-bg, var(--kendo-color-surface-alt, #ffffff));
}

.k-checkbox:checked:disabled,
.k-checkbox.k-checked.k-disabled {
  border-color: var(--kendo-checkbox-disabled-checked-border, transparent);
  color: var(--kendo-checkbox-disabled-checked-text, var(--kendo-color-app-surface, #ffffff));
  background-color: var(--kendo-checkbox-disabled-checked-bg, color-mix(in srgb, var(--kendo-color-on-app-surface, #323130) 28%, transparent));
}

.k-checkbox:indeterminate:disabled,
.k-checkbox.k-indeterminate.k-disabled {
  border-color: var(--kendo-checkbox-disabled-indeterminate-border, color-mix(in srgb, var(--kendo-color-on-app-surface, #323130) 28%, transparent));
  color: var(--kendo-checkbox-disabled-indeterminate-text, color-mix(in srgb, var(--kendo-color-on-app-surface, #323130) 28%, transparent));
  background-color: var(--kendo-checkbox-disabled-indeterminate-bg, var(--kendo-color-surface-alt, #ffffff));
}

.k-checkbox.k-invalid,
.k-checkbox.ng-invalid.ng-touched,
.k-checkbox.ng-invalid.ng-dirty {
  border-color: var(--kendo-checkbox-invalid-border, var(--kendo-color-error-emphasis, #a4262c));
}

.k-checkbox.k-invalid + .k-checkbox-label,
.k-checkbox.ng-invalid.ng-touched + .k-checkbox-label,
.k-checkbox.ng-invalid.ng-dirty + .k-checkbox-label {
  color: var(--kendo-checkbox-invalid-text, var(--kendo-color-error-on-surface, #a4262c));
}

.k-checkbox-wrap .k-ripple-blob {
  color: var(--kendo-checkbox-ripple-bg, var(--kendo-color-primary, #0078d4));
  opacity: var(--kendo-checkbox-ripple-opacity, 0.25);
}

.k-ripple-container .k-checkbox::after {
  background: var(--kendo-checkbox-ripple-bg, var(--kendo-color-primary, #0078d4));
  opacity: var(--kendo-checkbox-ripple-opacity, 0.25);
}

.k-listbox {
  width: var(--kendo-listbox-width, 10em);
  height: var(--kendo-listbox-height, 200px);
  border-width: 0;
  outline: 0;
  font-family: var(--kendo-listbox-font-family, var(--kendo-font-family, normal));
  font-size: var(--kendo-listbox-font-size, var(--kendo-font-size, inherit));
  line-height: var(--kendo-listbox-line-height, var(--kendo-line-height, normal));
  vertical-align: top;
  background-color: transparent;
  display: inline-flex;
  gap: var(--kendo-listbox-spacing, var(--kendo-spacing-2, 0.5rem));
  -webkit-touch-callout: none;
  -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
}
.k-listbox .k-listbox-actions {
  display: flex;
  gap: var(--kendo-listbox-button-spacing, var(--kendo-spacing-2, 0.5rem));
}
.k-listbox.k-listbox-actions-left, .k-listbox.k-listbox-actions-right {
  flex-direction: row;
}
.k-listbox.k-listbox-actions-left .k-listbox-actions, .k-listbox.k-listbox-actions-right .k-listbox-actions {
  flex-direction: column;
}
.k-listbox.k-listbox-actions-right {
  flex-direction: row-reverse;
}
.k-listbox.k-listbox-actions-top, .k-listbox.k-listbox-actions-bottom {
  flex-direction: column;
}
.k-listbox.k-listbox-actions-top .k-listbox-actions, .k-listbox.k-listbox-actions-bottom .k-listbox-actions {
  flex-direction: row;
}
.k-listbox.k-listbox-actions-bottom {
  flex-direction: column-reverse;
}
.k-listbox .k-list-scroller {
  width: 100%;
  min-height: 0;
  height: inherit;
  border-width: var(--kendo-listbox-border-width, 1px);
  border-style: solid;
  box-sizing: border-box;
  display: flex;
  flex-flow: column nowrap;
}
.k-listbox .k-list-scroller .k-list-scroller {
  border-width: 0;
}
.k-listbox .k-list-scroller .k-list {
  height: inherit;
  background: transparent;
}
.k-listbox .k-drop-hint {
  border-top-width: var(--kendo-listbox-drop-hint-width, 1px);
  border-top-style: solid;
}
.k-listbox .k-ghost {
  opacity: 0.5;
}

.k-item {
  cursor: default;
}

.k-listbox .k-list-scroller {
  border-color: var(--kendo-listbox-border, var(--kendo-component-border, inherit));
  color: var(--kendo-listbox-text, var(--kendo-component-text, inherit));
  background-color: var(--kendo-listbox-bg, var(--kendo-component-bg, transparent));
}
.k-listbox .k-drop-hint {
  border-top-color: var(--kendo-listbox-drop-hint-border-color, var(--kendo-color-primary, #0078d4));
}

.k-progressbar {
  border-radius: var(--kendo-progressbar-border-radius, var(--kendo-border-radius-sm, initial));
  --kendo-progressbar-value: 0;
  border-width: var(--kendo-progressbar-border-width, 0px);
  border-style: solid;
  box-sizing: border-box;
  outline: 0;
  font-family: var(--kendo-progressbar-font-family, var(--kendo-font-family, inherit));
  font-size: var(--kendo-progressbar-font-size, var(--kendo-font-size-sm, inherit));
  line-height: var(--kendo-progressbar-line-height, var(--kendo-line-height, inherit));
  display: inline-grid;
  vertical-align: middle;
  position: relative;
  -webkit-touch-callout: none;
  -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
}
.k-progressbar *,
.k-progressbar *::before,
.k-progressbar *::after {
  box-sizing: border-box;
}
.k-progressbar > .k-progressbar-value {
  border-width: 0;
  border-style: solid;
  display: flex;
  overflow: hidden;
  grid-column: 1/-1;
  grid-row: 1/-1;
}
.k-progressbar > .k-progressbar-chunks {
  border-width: inherit;
  border-style: inherit;
  white-space: nowrap;
  display: flex;
  align-items: stretch;
  flex: 1;
  gap: 1px;
  grid-column: 1/-1;
  grid-row: 1/-1;
}
.k-progressbar .k-progressbar-chunk {
  display: block;
  border-width: 0;
  flex: 1;
}

.k-progress-status-wrap {
  width: 100%;
  height: 100%;
  display: flex;
  overflow: unset;
  flex-shrink: 0;
  grid-column: 1/-1;
  grid-row: 2/-1;
}
.k-progress-status-wrap.k-progress-start {
  justify-content: flex-start;
}
.k-progress-status-wrap.k-progress-center {
  justify-content: center;
}
.k-progress-status-wrap.k-progress-end {
  justify-content: flex-end;
}

.k-progress-status {
  padding-inline: var(--kendo-progressbar-padding-x, var(--kendo-spacing-0, 0px));
  padding-block: var(--kendo-progressbar-padding-y, var(--kendo-spacing-0, 0px));
  min-width: 10px;
  text-align: center;
  display: inline-block;
  white-space: nowrap;
}

.k-progressbar-horizontal {
  width: var(--kendo-progressbar-horizontal-width, 100%);
  height: var(--kendo-progressbar-height, 4px);
  grid-template-columns: 1fr;
  grid-template-rows: 100%;
}
.k-progressbar-horizontal .k-progress-status-wrap {
  margin-block-start: var(--kendo-progressbar-offset-y, var(--kendo-spacing-2, 0.5rem));
}
.k-progressbar-horizontal > .k-progressbar-value {
  width: 0;
  width: calc(var(--kendo-progressbar-value, 0) * 1%);
  flex-direction: row;
}
.k-progressbar-horizontal > .k-progressbar-value > .k-progress-status-wrap {
  width: calc(100% * 100 / var(--kendo-progressbar-value, 1));
}
.k-progressbar-horizontal > .k-progressbar-chunks {
  flex-direction: row;
}
.k-progressbar-horizontal.k-progressbar-reverse > .k-progressbar-value {
  flex-direction: row-reverse;
  justify-self: flex-end;
}
.k-progressbar-horizontal.k-progressbar-reverse > .k-progressbar-chunks {
  flex-direction: row-reverse;
}

.k-progressbar-vertical {
  width: var(--kendo-progressbar-height, 4px);
  height: 27em;
  grid-template-columns: 100%;
  grid-template-rows: 1fr;
}
.k-progressbar-vertical .k-progress-status-wrap {
  flex-direction: column;
  align-items: flex-start;
  margin-inline-start: var(--kendo-progressbar-vertical-status-offset, calc((var(--kendo-font-size-sm, inherit) * var(--kendo-line-height, inherit) + var(--kendo-spacing-2, 0.5rem)) * -1));
  grid-row: 1/-1;
  grid-column: -1/1;
}
.k-progressbar-vertical .k-progress-status {
  writing-mode: vertical-lr;
}
.k-progressbar-vertical > .k-progressbar-value {
  height: calc(var(--kendo-progressbar-value, 0) * 1%);
  flex-direction: column-reverse;
  align-self: flex-end;
  align-items: flex-end;
}
.k-progressbar-vertical > .k-progressbar-value > .k-progress-status-wrap {
  height: calc(100% * 100 / var(--kendo-progressbar-value, 1));
}
.k-progressbar-vertical > .k-progressbar-value .k-progress-status {
  display: none;
}
.k-progressbar-vertical > .k-progressbar-chunks {
  flex-direction: column-reverse;
}
.k-progressbar-vertical.k-progressbar-reverse .k-progress-status-wrap {
  flex-direction: column-reverse;
}
.k-progressbar-vertical.k-progressbar-reverse > .k-progressbar-value {
  flex-direction: column;
  align-self: flex-start;
}
.k-progressbar-vertical.k-progressbar-reverse > .k-progressbar-chunks {
  flex-direction: column;
}

.k-progressbar-indeterminate {
  overflow: hidden;
}
.k-progressbar-indeterminate::after {
  content: "";
  position: relative;
}
.k-progressbar-indeterminate.k-progressbar-horizontal::after {
  width: 0px;
  min-width: 33%;
}
.k-progressbar-indeterminate.k-progressbar-vertical::after {
  height: 0px;
  min-height: 33%;
  align-self: flex-end;
}
.k-progressbar-indeterminate .k-reset,
.k-progressbar-indeterminate .k-progress-status-wrap,
.k-progressbar-indeterminate .k-progressbar-value,
.k-progressbar-indeterminate .k-progress-chunk {
  display: none;
}
.k-progressbar-indeterminate .k-progress-status {
  display: none;
}

.telerik-blazor.k-progressbar-horizontal > .k-progressbar-value,
.telerik-blazor.k-progressbar-horizontal > .k-progressbar-value > .k-progress-status-wrap {
  transition: width 0.1s ease-in-out;
}

.k-circular-progressbar {
  display: inline-block;
  text-align: start;
  position: relative;
}

.k-circular-progressbar-surface {
  height: 100%;
}
.k-circular-progressbar-surface > div {
  width: 100%;
  height: 100%;
}
.k-circular-progressbar-surface svg {
  width: 100%;
  height: 100%;
}

.k-circular-progressbar-scale {
  fill: none;
}

.k-circular-progressbar-arc {
  transform-box: fill-box;
  transform-origin: center center;
  transform: rotate(-90deg);
  stroke-linecap: round;
  fill: none;
}

.k-circular-progressbar-label {
  position: absolute;
  text-align: center;
  padding: 0;
  margin: 0;
}

@keyframes progressbar-indeterminate-animation-horizontal {
  from {
    inset-inline-start: -25%;
  }
  to {
    inset-inline-start: 100%;
  }
}
@keyframes progressbar-indeterminate-animation-vertical {
  from {
    inset-block-end: -25%;
  }
  to {
    inset-block-end: 100%;
  }
}
.k-progressbar:not(.k-progressbar-indeterminate) {
  border-color: var(--kendo-progressbar-border, var(--kendo-color-base-subtle, #edebe9));
  color: var(--kendo-progressbar-text, var(--kendo-component-text, initial));
  background-color: var(--kendo-progressbar-bg, var(--kendo-color-base-subtle, #edebe9));
  background-image: linear-gradient(var(--kendo-progressbar-gradient, ));
}
.k-progressbar:not(.k-progressbar-indeterminate) .k-selected {
  border-color: var(--kendo-progressbar-value-border, var(--kendo-color-primary, #0078d4));
  color: var(--kendo-progressbar-value-text, var(--kendo-component-text, initial));
  background-color: var(--kendo-progressbar-value-bg, var(--kendo-color-primary, #0078d4));
  background-image: linear-gradient(var(--kendo-progressbar-value-gradient, ));
}
.k-progressbar:not(.k-progressbar-indeterminate)[disabled], .k-progressbar:not(.k-progressbar-indeterminate):disabled, .k-progressbar:not(.k-progressbar-indeterminate).k-disabled {
  border-color: var(--kendo-progressbar-disabled-border, color-mix(in srgb, var(--kendo-color-on-app-surface, #323130) 6%, transparent));
  color: var(--kendo-progressbar-disabled-text, color-mix(in srgb, var(--kendo-color-on-app-surface, #323130) 46%, transparent));
  background-color: var(--kendo-progressbar-disabled-bg, color-mix(in srgb, var(--kendo-color-on-app-surface, #323130) 6%, transparent));
}
.k-progressbar:not(.k-progressbar-indeterminate)[disabled] .k-selected, .k-progressbar:not(.k-progressbar-indeterminate):disabled .k-selected, .k-progressbar:not(.k-progressbar-indeterminate).k-disabled .k-selected {
  background-color: var(--kendo-progressbar-value-disabled-bg, var(--kendo-color-primary-subtle, #deecf9));
}

.k-progressbar.k-chunk-progressbar:not(.k-progressbar-indeterminate) {
  background-color: var(--kendo-body-bg, initial);
}

.k-progressbar-chunk {
  background-color: var(--kendo-progressbar-bg, var(--kendo-color-base-subtle, #edebe9));
}
.k-progressbar-chunk .k-selected {
  background-color: var(--kendo-progressbar-value-bg, var(--kendo-color-primary, #0078d4));
}

.k-progressbar-indeterminate {
  border-color: var(--kendo-progressbar-indeterminate-border, var(--kendo-color-base-subtle, #edebe9));
  color: var(--kendo-progressbar-indeterminate-text, var(--kendo-component-text, initial));
  background-color: var(--kendo-progressbar-indeterminate-bg, var(--kendo-color-base-subtle, #edebe9));
}
.k-progressbar-indeterminate.k-progressbar-horizontal::after {
  background: var(--kendo-progressbar-indeterminate-gradient-horizontal, linear-gradient(270deg, var(--kendo-color-base-subtle, #edebe9) 15%, var(--kendo-color-primary, #0078d4) 50%, var(--kendo-color-base-subtle, #edebe9) 85%));
  animation: var(--kendo-progressbar-indeterminate-animation-horizontal, 3s ease 0s infinite running progressbar-indeterminate-animation-horizontal);
}
.k-progressbar-indeterminate.k-progressbar-vertical::after {
  background: var(--kendo-progressbar-indeterminate-gradient-vertical, linear-gradient(180deg, var(--kendo-color-base-subtle, #edebe9) 15%, var(--kendo-color-primary, #0078d4) 50%, var(--kendo-color-base-subtle, #edebe9) 85%));
  animation: var(--kendo-progressbar-indeterminate-animation-vertical, 3s ease 0s infinite running progressbar-indeterminate-animation-vertical);
}

.k-circular-progressbar-scale {
  stroke: var(--kendo-circular-progressbar-scale-stroke, var(--kendo-color-base-subtle, #edebe9));
}

.k-circular-progressbar-arc {
  stroke: var(--kendo-circular-progressbar-arc-stroke, var(--kendo-color-primary, #0078d4));
  transition: stroke 0.5s ease;
}

.k-radio {
  border-radius: 50%;
  width: var(--INTERNAL--kendo-radio-width, 1em);
  height: var(--INTERNAL--kendo-radio-height, 1em);
  margin: 0;
  padding: 0;
  line-height: initial;
  border-width: var(--kendo-radio-border-width, 1px);
  border-style: solid;
  outline: 0;
  box-sizing: border-box;
  background-position: center;
  background-repeat: no-repeat;
  background-size: contain;
  display: inline-block;
  flex: none;
  vertical-align: middle;
  position: relative;
  cursor: pointer;
  -webkit-appearance: none;
}

.k-radio::before {
  content: "";
  width: var(--INTERNAL--kendo-radio-indicator-size, 1em);
  height: var(--INTERNAL--kendo-radio-indicator-size, 1em);
  border-width: 0;
  border-radius: var(--kendo-radio-indicator-border-radius, 50%);
  background-color: currentColor;
  overflow: hidden;
  transform: scale(0) translate(-50%, -50%);
  position: absolute;
  top: 50%;
  left: 50%;
}

.k-radio:hover::before,
.k-radio.k-hover::before {
  transform: translate(-50%, -50%) scale(1);
}

.k-radio:focus,
.k-radio.k-focus {
  outline-offset: 2px;
}

.k-radio:checked::before,
.k-radio.k-checked::before {
  transform: scale(1) translate(-50%, -50%);
}

.k-radio-wrap {
  flex: none;
  display: inline-flex;
  flex-flow: row nowrap;
  gap: 0;
  align-items: center;
  align-self: start;
  vertical-align: middle;
  position: relative;
}
.k-radio-wrap::before {
  content: "​";
  width: 0px;
  overflow: hidden;
  flex: none;
  display: inline-block;
  vertical-align: top;
}

.k-radio-label {
  margin: 0;
  padding: 0;
  display: inline-flex;
  align-items: flex-start;
  gap: var(--kendo-radio-label-spacing, var(--kendo-spacing-2, 0.5rem));
  vertical-align: middle;
  position: relative;
  cursor: pointer;
}
.k-radio-label .k-ripple {
  visibility: hidden !important;
}

.k-radio + .k-label,
.k-radio-wrap + .k-label,
.k-radio + .k-radio-label,
.k-radio-wrap + .k-radio-label {
  display: inline;
  margin-inline-start: var(--kendo-radio-label-spacing, var(--kendo-spacing-2, 0.5rem));
}

.k-radio-label:empty {
  display: none !important;
}

.k-radio-label.k-no-text {
  min-width: 1px;
}

.k-radio-list {
  margin: 0;
  padding: 0;
  display: flex;
  flex-flow: column nowrap;
  gap: 0;
  list-style: none;
}

.k-radio-item,
.k-radio-list-item {
  padding-inline: var(--kendo-radio-list-item-padding-x, var(--kendo-spacing-0, 0px));
  padding-block: var(--kendo-radio-list-item-padding-y, var(--kendo-spacing-2, 0.5rem));
  display: flex;
  flex-flow: row nowrap;
  align-items: center;
  align-content: center;
  gap: var(--kendo-radio-list-item-gap, var(--kendo-spacing-2, 0.5rem));
}
.k-radio-item .k-radio-label,
.k-radio-list-item .k-radio-label {
  margin: 0;
}

.k-radio-list-horizontal,
.k-radio-list.k-list-horizontal {
  display: flex;
  flex-flow: row wrap;
  gap: var(--kendo-radio-list-spacing, var(--kendo-spacing-4, 1rem));
}

.k-ripple-container .k-radio::after {
  content: "";
  width: var(--INTERNAL--kendo-radio-ripple-width, 300%);
  height: var(--INTERNAL--kendo-radio-ripple-height, 300%);
  display: block;
  position: absolute;
  left: 50%;
  top: 50%;
  border-radius: 100%;
  z-index: -1;
  transition: opacity 100ms linear, transform 150ms cubic-bezier(0.4, 0, 0.2, 1);
  transform: translate(-50%, -50%) scale(0);
  transform-origin: center center;
}
.k-ripple-container .k-radio:focus,
.k-ripple-container .k-radio.k-focus {
  box-shadow: none !important;
  outline: none !important;
}
.k-ripple-container .k-radio:disabled::after,
.k-ripple-container .k-radio.k-disabled::after {
  display: none;
}

.k-radio-sm {
  --INTERNAL--kendo-radio-width: var(--kendo-spacing-4, 1rem);
  --INTERNAL--kendo-radio-height: var(--kendo-spacing-4, 1rem);
  --INTERNAL--kendo-radio-glyph-size: var(--kendo-spacing-3\.5, 0.875rem);
  --INTERNAL--kendo-radio-indicator-size: var(--kendo-spacing-2, 0.5rem);
}

.k-ripple-container .k-radio-sm::after {
  --INTERNAL--kendo-radio-ripple-width: 300%;
  --INTERNAL--kendo-radio-ripple-height: 300%;
}

.k-radio-md {
  --INTERNAL--kendo-radio-width: var(--kendo-spacing-5, 1.25rem);
  --INTERNAL--kendo-radio-height: var(--kendo-spacing-5, 1.25rem);
  --INTERNAL--kendo-radio-glyph-size: var(--kendo-spacing-4\.5, 1.125rem);
  --INTERNAL--kendo-radio-indicator-size: var(--kendo-spacing-2\.5, 0.625rem);
}

.k-ripple-container .k-radio-md::after {
  --INTERNAL--kendo-radio-ripple-width: 300%;
  --INTERNAL--kendo-radio-ripple-height: 300%;
}

.k-radio-lg {
  --INTERNAL--kendo-radio-width: var(--kendo-spacing-6, 1.5rem);
  --INTERNAL--kendo-radio-height: var(--kendo-spacing-6, 1.5rem);
  --INTERNAL--kendo-radio-glyph-size: var(--kendo-spacing-5\.5, 1.375rem);
  --INTERNAL--kendo-radio-indicator-size: var(--kendo-spacing-3, 0.75rem);
}

.k-ripple-container .k-radio-lg::after {
  --INTERNAL--kendo-radio-ripple-width: 300%;
  --INTERNAL--kendo-radio-ripple-height: 300%;
}

.k-radio {
  border-color: var(--kendo-radio-border, var(--kendo-color-border-alt, #323130));
  color: var(--kendo-radio-text, transparent);
  background-color: var(--kendo-radio-bg, var(--kendo-color-surface-alt, #ffffff));
}

.k-radio:hover,
.k-radio.k-hover {
  border-color: var(--kendo-radio-hover-border, var(--kendo-color-border-alt, #323130));
  color: var(--kendo-radio-hover-text, var(--kendo-color-subtle, #605e5c));
  background-color: var(--kendo-radio-hover-bg, var(--kendo-color-surface-alt, #ffffff));
}

.k-radio:focus,
.k-radio.k-focus {
  outline: 1px solid var(--kendo-color-base-emphasis, #605e5c);
}

.k-radio:checked,
.k-radio.k-checked {
  border-color: var(--kendo-radio-checked-border, var(--kendo-color-primary, #0078d4));
  color: var(--kendo-radio-checked-text, var(--kendo-color-primary, #0078d4));
  background-color: var(--kendo-radio-checked-bg, var(--kendo-color-surface-alt, #ffffff));
}

.k-radio:checked:hover,
.k-radio.k-checked.k-hover {
  border-color: var(--kendo-radio-hover-checked-border, var(--kendo-color-primary-hover, #106ebe));
  color: var(--kendo-radio-hover-checked-text, var(--kendo-color-primary-hover, #106ebe));
  background-color: var(--kendo-radio-hover-checked-bg, var(--kendo-color-surface-alt, #ffffff));
}

.k-radio:disabled,
.k-radio.k-disabled {
  border-color: var(--kendo-radio-disabled-border, color-mix(in srgb, var(--kendo-color-on-app-surface, #323130) 28%, transparent));
  color: var(--kendo-radio-disabled-text, color-mix(in srgb, var(--kendo-color-on-app-surface, #323130) 28%, transparent));
  background-color: var(--kendo-radio-disabled-bg, var(--kendo-color-surface-alt, #ffffff));
}

.k-radio:checked:disabled,
.k-radio.k-checked.k-disabled {
  border-color: var(--kendo-radio-disabled-checked-border, color-mix(in srgb, var(--kendo-color-on-app-surface, #323130) 28%, transparent));
  color: var(--kendo-radio-disabled-checked-text, color-mix(in srgb, var(--kendo-color-on-app-surface, #323130) 28%, transparent));
  background-color: var(--kendo-radio-disabled-checked-bg, var(--kendo-color-surface-alt, #ffffff));
}

.k-radio.k-invalid,
.k-radio.ng-invalid.ng-touched,
.k-radio.ng-invalid.ng-dirty {
  border-color: var(--kendo-radio-invalid-border, var(--kendo-color-error-emphasis, #a4262c));
}

.k-radio.k-invalid + .k-radio-label,
.k-radio.ng-invalid.ng-touched + .k-radio-label,
.k-radio.ng-invalid.ng-dirty + .k-radio-label {
  color: var(--kendo-radio-invalid-text, var(--kendo-color-error-on-surface, #a4262c));
}

.k-radio-wrap .k-ripple-blob {
  color: var(--kendo-radio-ripple-bg, var(--kendo-color-primary, #0078d4));
  opacity: var(--kendo-radio-ripple-opacity, 0.25);
}

.k-ripple-container .k-radio::after {
  background: var(--kendo-radio-ripple-bg, var(--kendo-color-primary, #0078d4));
  opacity: var(--kendo-radio-ripple-opacity, 0.25);
}

.k-slider {
  width: min-content;
  height: min-content;
  border: 0;
  box-sizing: border-box;
  outline: 0;
  font-family: var(--kendo-slider-font-family, var(--kendo-font-family, inherit));
  font-size: var(--kendo-slider-font-size, var(--kendo-font-size-sm, inherit));
  line-height: var(--kendo-slider-line-height, var(--kendo-line-height, normal));
  background: none;
  display: inline-flex;
  align-items: center;
  gap: var(--kendo-slider-spacing, var(--kendo-spacing-2, 0.5rem));
  position: relative;
  -webkit-touch-callout: none;
  -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
}
.k-slider *,
.k-slider *::before,
.k-slider *::after {
  box-sizing: border-box;
}
.k-slider .k-label {
  width: auto;
  font-size: 0.875em;
  line-height: 1;
  white-space: nowrap;
  pointer-events: all;
  position: absolute;
}
.k-slider[disabled] .k-slider-tick, .k-slider[disabled] .k-tick,
.k-slider[disabled] .k-slider-track,
.k-slider[disabled] .k-slider-thumb,
.k-slider[disabled] .k-draghandle, .k-slider.k-disabled .k-slider-tick, .k-slider.k-disabled .k-tick,
.k-slider.k-disabled .k-slider-track,
.k-slider.k-disabled .k-slider-thumb,
.k-slider.k-disabled .k-draghandle {
  cursor: default;
}

.k-slider-button, .k-slider .k-button {
  flex: none;
}

.k-slider-track-wrap {
  flex-grow: 1;
  display: flex;
  flex-flow: inherit;
  justify-content: space-between;
  position: relative;
  touch-action: none;
}

.k-slider-track {
  margin: 0;
  padding: 0;
  border-radius: var(--kendo-slider-track-border-radius, var(--kendo-spacing-0\.5, 0.125rem));
  position: absolute;
  z-index: 2;
}

.k-slider-selection {
  margin: 0;
  padding: 0;
  border-radius: var(--kendo-slider-track-border-radius, var(--kendo-spacing-0\.5, 0.125rem));
  position: absolute;
}
.k-slider-selection:active, .k-slider-selection.k-active {
  transition: none;
}

.k-slider-thumb, .k-draghandle {
  width: var(--kendo-slider-thumb-size, 16px);
  height: var(--kendo-slider-thumb-size, 16px);
  border-style: solid;
  border-width: var(--kendo-slider-thumb-border-widths, var(--kendo-spacing-0\.5, 0.125rem));
  border-radius: var(--kendo-slider-thumb-border-radius, 999em);
  background-color: transparent;
  background-repeat: no-repeat;
  outline: 0;
  text-align: center;
  text-decoration: none;
  position: absolute;
}
.k-slider-thumb:active, .k-draghandle:active, .k-slider-thumb.k-active, .k-active.k-draghandle {
  transition: none;
}

.k-slider-items {
  display: contents;
  pointer-events: none;
}

.k-slider-tick, .k-tick {
  margin: 0;
  padding: 0;
  background-color: transparent;
  background-position: center center;
  background-repeat: no-repeat;
  flex: 0 0 1px;
  display: flex;
  align-items: center;
  text-align: center;
  cursor: pointer;
  position: relative;
}

.k-slider-tick-horizontal, .k-tick-vertical {
  width: 100%;
  min-height: 1px;
}

.k-slider-tick-vertical, .k-tick-horizontal {
  width: 1px;
  min-height: 100%;
}

.k-horizontal-slider, .k-slider-horizontal {
  width: var(--kendo-slider-size, 200px);
  flex-flow: row nowrap;
}
.k-horizontal-slider .k-slider-track-wrap, .k-slider-horizontal .k-slider-track-wrap {
  height: var(--kendo-slider-alt-size, 26px);
}
.k-horizontal-slider .k-slider-track, .k-slider-horizontal .k-slider-track {
  width: 100%;
  height: var(--kendo-slider-track-size, var(--kendo-spacing-1, 0.25rem));
  inset-inline-start: 0;
  top: 50%;
  transform: translateY(-50%);
}
.k-horizontal-slider .k-slider-selection, .k-slider-horizontal .k-slider-selection {
  width: calc((var(--kendo-slider-end, 0) - var(--kendo-slider-start, 0)) * 1%);
  height: 100%;
  inset-inline-start: calc(var(--kendo-slider-start, 0) * 1%);
  top: 0;
}
.k-horizontal-slider .k-slider-thumb, .k-slider-horizontal .k-slider-thumb, .k-horizontal-slider .k-draghandle, .k-slider-horizontal .k-draghandle {
  top: 50%;
  transform: translate(-50%, -50%);
}
.k-horizontal-slider .k-slider-thumb:focus, .k-slider-horizontal .k-slider-thumb:focus, .k-horizontal-slider .k-draghandle:focus, .k-slider-horizontal .k-draghandle:focus,
.k-horizontal-slider .k-slider-thumb:active,
.k-slider-horizontal .k-slider-thumb:active,
.k-horizontal-slider .k-draghandle:active,
.k-slider-horizontal .k-draghandle:active {
  transform: translate(-50%, -50%) scale();
}
.k-horizontal-slider .k-slider-thumb-start, .k-slider-horizontal .k-slider-thumb-start, .k-horizontal-slider .k-draghandle-start, .k-slider-horizontal .k-draghandle-start {
  inset-inline-start: calc(var(--kendo-slider-start, 0) * 1%);
}
.k-horizontal-slider .k-slider-thumb-end, .k-slider-horizontal .k-slider-thumb-end, .k-horizontal-slider .k-draghandle-end, .k-slider-horizontal .k-draghandle-end {
  inset-inline-start: calc(var(--kendo-slider-end, 0) * 1%);
}
.k-horizontal-slider .k-tick, .k-slider-horizontal .k-tick {
  background-position: center -92px;
}
.k-horizontal-slider .k-slider-topleft .k-tick, .k-slider-horizontal .k-slider-topleft .k-tick {
  background-position: center -122px;
}
.k-horizontal-slider .k-slider-bottomright .k-tick, .k-slider-horizontal .k-slider-bottomright .k-tick {
  background-position: center -152px;
}
.k-horizontal-slider .k-tick-large, .k-slider-horizontal .k-tick-large {
  background-position: center -2px;
}
.k-horizontal-slider .k-slider-topleft .k-tick-large, .k-slider-horizontal .k-slider-topleft .k-tick-large {
  background-position: center -32px;
}
.k-horizontal-slider .k-slider-bottomright .k-tick-large, .k-slider-horizontal .k-slider-bottomright .k-tick-large {
  background-position: center -62px;
}
.k-horizontal-slider .k-first, .k-slider-horizontal .k-first {
  background-position: 0 -92px;
}
.k-horizontal-slider .k-tick-large.k-first, .k-slider-horizontal .k-tick-large.k-first {
  background-position: 0 -2px;
}
.k-horizontal-slider .k-slider-topleft .k-first, .k-slider-horizontal .k-slider-topleft .k-first {
  background-position: 0 -122px;
}
.k-horizontal-slider .k-slider-topleft .k-tick-large.k-first, .k-slider-horizontal .k-slider-topleft .k-tick-large.k-first {
  background-position: 0 -32px;
}
.k-horizontal-slider .k-slider-bottomright .k-first, .k-slider-horizontal .k-slider-bottomright .k-first {
  background-position: 0 -152px;
}
.k-horizontal-slider .k-slider-bottomright .k-tick-large.k-first, .k-slider-horizontal .k-slider-bottomright .k-tick-large.k-first {
  background-position: 0 -62px;
}
.k-horizontal-slider .k-last, .k-slider-horizontal .k-last {
  background-position: 100% -92px;
}
.k-horizontal-slider .k-tick-large.k-last, .k-slider-horizontal .k-tick-large.k-last {
  background-position: 100% -2px;
}
.k-horizontal-slider .k-slider-topleft .k-last, .k-slider-horizontal .k-slider-topleft .k-last {
  background-position: 100% -122px;
}
.k-horizontal-slider .k-slider-topleft .k-tick-large.k-last, .k-slider-horizontal .k-slider-topleft .k-tick-large.k-last {
  background-position: 100% -32px;
}
.k-horizontal-slider .k-slider-bottomright .k-last, .k-slider-horizontal .k-slider-bottomright .k-last {
  background-position: 100% -152px;
}
.k-horizontal-slider .k-slider-bottomright .k-tick-large.k-last, .k-slider-horizontal .k-slider-bottomright .k-tick-large.k-last {
  background-position: 100% -62px;
}
.k-horizontal-slider .k-label, .k-slider-horizontal .k-label {
  inset-inline-start: 50%;
  bottom: -1.2em;
  transform: translateX(-50%);
}
.k-horizontal-slider .k-first .k-label, .k-slider-horizontal .k-first .k-label {
  inset-inline-start: 0;
}
.k-horizontal-slider .k-last .k-label, .k-slider-horizontal .k-last .k-label {
  inset-inline-start: 100%;
}
.k-horizontal-slider .k-slider-topleft .k-label, .k-slider-horizontal .k-slider-topleft .k-label {
  top: -1.2em;
}
.k-horizontal-slider.k-slider-transitions .k-slider-selection, .k-slider-transitions.k-slider-horizontal .k-slider-selection {
  transition: width 0.3s ease-out;
}
.k-horizontal-slider.k-slider-transitions .k-slider-thumb, .k-slider-transitions.k-slider-horizontal .k-slider-thumb, .k-horizontal-slider.k-slider-transitions .k-draghandle, .k-slider-transitions.k-slider-horizontal .k-draghandle {
  transition: inset-inline-start 0.3s ease-out, background-color 0.3s ease-out, transform 0.4s cubic-bezier(0.25, 0.8, 0.25, 1);
}

.k-vertical-slider, .k-slider-vertical {
  height: var(--kendo-slider-size, 200px);
  flex-flow: column-reverse nowrap;
}
.k-vertical-slider .k-slider-track-wrap, .k-slider-vertical .k-slider-track-wrap {
  width: var(--kendo-slider-alt-size, 26px);
}
.k-vertical-slider .k-slider-track, .k-slider-vertical .k-slider-track {
  width: var(--kendo-slider-track-size, var(--kendo-spacing-1, 0.25rem));
  height: 100%;
  bottom: 0;
  left: 50%;
  transform: translateX(-50%);
}
.k-vertical-slider .k-slider-selection, .k-slider-vertical .k-slider-selection {
  width: 100%;
  bottom: calc(var(--kendo-slider-start, 0) * 1%);
  height: calc((var(--kendo-slider-end, 0) - var(--kendo-slider-start, 0)) * 1%);
}
.k-vertical-slider .k-slider-thumb, .k-slider-vertical .k-slider-thumb, .k-vertical-slider .k-draghandle, .k-slider-vertical .k-draghandle {
  left: 50%;
  transform: translate(-50%, 50%);
}
.k-vertical-slider .k-slider-thumb-start, .k-slider-vertical .k-slider-thumb-start, .k-vertical-slider .k-draghandle-start, .k-slider-vertical .k-draghandle-start {
  bottom: calc(var(--kendo-slider-start, 0) * 1%);
}
.k-vertical-slider .k-slider-thumb-end, .k-slider-vertical .k-slider-thumb-end, .k-vertical-slider .k-draghandle-end, .k-slider-vertical .k-draghandle-end {
  bottom: calc(var(--kendo-slider-end, 0) * 1%);
}
.k-vertical-slider .k-tick, .k-slider-vertical .k-tick {
  text-align: end;
  margin-left: 2px;
}
.k-vertical-slider .k-slider-topleft .k-tick, .k-slider-vertical .k-slider-topleft .k-tick {
  text-align: start;
}
.k-vertical-slider .k-tick, .k-slider-vertical .k-tick {
  background-position: -94px center;
}
.k-vertical-slider .k-slider-topleft .k-tick, .k-slider-vertical .k-slider-topleft .k-tick {
  background-position: -124px center;
}
.k-vertical-slider .k-slider-bottomright .k-tick, .k-slider-vertical .k-slider-bottomright .k-tick {
  background-position: -154px center;
}
.k-vertical-slider .k-tick-large, .k-slider-vertical .k-tick-large {
  background-position: -4px center;
}
.k-vertical-slider .k-slider-topleft .k-tick-large, .k-slider-vertical .k-slider-topleft .k-tick-large {
  background-position: -34px center;
}
.k-vertical-slider .k-slider-bottomright .k-tick-large, .k-slider-vertical .k-slider-bottomright .k-tick-large {
  background-position: -64px center;
}
.k-vertical-slider .k-first, .k-slider-vertical .k-first {
  background-position: -94px 100%;
}
.k-vertical-slider .k-tick-large.k-first, .k-slider-vertical .k-tick-large.k-first {
  background-position: -4px 100%;
}
.k-vertical-slider .k-slider-topleft .k-first, .k-slider-vertical .k-slider-topleft .k-first {
  background-position: -124px 100%;
}
.k-vertical-slider .k-slider-topleft .k-tick-large.k-first, .k-slider-vertical .k-slider-topleft .k-tick-large.k-first {
  background-position: -34px 100%;
}
.k-vertical-slider .k-slider-bottomright .k-first, .k-slider-vertical .k-slider-bottomright .k-first {
  background-position: -154px 100%;
}
.k-vertical-slider .k-slider-bottomright .k-tick-large.k-first, .k-slider-vertical .k-slider-bottomright .k-tick-large.k-first {
  background-position: -64px 100%;
}
.k-vertical-slider .k-last, .k-slider-vertical .k-last {
  background-position: -94px 0;
}
.k-vertical-slider .k-tick-large.k-last, .k-slider-vertical .k-tick-large.k-last {
  background-position: -4px 0;
}
.k-vertical-slider .k-slider-topleft .k-last, .k-slider-vertical .k-slider-topleft .k-last {
  background-position: -124px 0;
}
.k-vertical-slider .k-slider-topleft .k-tick-large.k-last, .k-slider-vertical .k-slider-topleft .k-tick-large.k-last {
  background-position: -34px 0;
}
.k-vertical-slider .k-slider-bottomright .k-last, .k-slider-vertical .k-slider-bottomright .k-last {
  background-position: -154px 0;
}
.k-vertical-slider .k-slider-bottomright .k-tick-large.k-last, .k-slider-vertical .k-slider-bottomright .k-tick-large.k-last {
  background-position: -64px 0;
}
.k-vertical-slider .k-label, .k-slider-vertical .k-label {
  text-align: start;
  inset-inline-start: 120%;
  inset-inline-end: auto;
  top: 50%;
  transform: translateY(-50%);
}
.k-vertical-slider .k-first .k-label, .k-slider-vertical .k-first .k-label {
  top: 100%;
}
.k-vertical-slider .k-last .k-label, .k-slider-vertical .k-last .k-label {
  top: 0;
}
.k-vertical-slider .k-slider-topleft .k-label, .k-slider-vertical .k-slider-topleft .k-label {
  inset-inline-start: auto;
  inset-inline-end: 120%;
}
.k-vertical-slider.k-slider-transitions .k-slider-selection, .k-slider-transitions.k-slider-vertical .k-slider-selection {
  transition: height 0.3s ease-out;
}
.k-vertical-slider.k-slider-transitions .k-slider-thumb, .k-slider-transitions.k-slider-vertical .k-slider-thumb, .k-vertical-slider.k-slider-transitions .k-draghandle, .k-slider-transitions.k-slider-vertical .k-draghandle {
  transition: bottom 0.3s ease-out, background-color 0.3s ease-out, transform 0.4s cubic-bezier(0.25, 0.8, 0.25, 1);
}

.k-slider.k-readonly .k-slider-button, .k-slider.k-readonly .k-button,
.k-slider.k-readonly .k-slider-track,
.k-slider.k-readonly .k-slider-tick,
.k-slider.k-readonly .k-tick,
.k-slider.k-readonly .k-slider-thumb,
.k-slider.k-readonly .k-draghandle {
  pointer-events: none;
}

.k-slider-rtl.k-horizontal-slider .k-slider-thumb, .k-slider-rtl.k-slider-horizontal .k-slider-thumb, .k-slider-rtl.k-horizontal-slider .k-draghandle, .k-slider-rtl.k-slider-horizontal .k-draghandle, .k-horizontal-slider.k-slider[dir=rtl] .k-slider-thumb, .k-slider[dir=rtl].k-slider-horizontal .k-slider-thumb, .k-horizontal-slider.k-slider[dir=rtl] .k-draghandle, .k-slider[dir=rtl].k-slider-horizontal .k-draghandle,
[dir=rtl] .k-horizontal-slider.k-slider .k-slider-thumb,
[dir=rtl] .k-slider.k-slider-horizontal .k-slider-thumb,
[dir=rtl] .k-horizontal-slider.k-slider .k-draghandle,
[dir=rtl] .k-slider.k-slider-horizontal .k-draghandle,
.k-horizontal-slider.k-slider.k-rtl .k-slider-thumb,
.k-slider.k-rtl.k-slider-horizontal .k-slider-thumb,
.k-horizontal-slider.k-slider.k-rtl .k-draghandle,
.k-slider.k-rtl.k-slider-horizontal .k-draghandle,
.k-rtl .k-horizontal-slider.k-slider .k-slider-thumb,
.k-rtl .k-slider.k-slider-horizontal .k-slider-thumb,
.k-rtl .k-horizontal-slider.k-slider .k-draghandle,
.k-rtl .k-slider.k-slider-horizontal .k-draghandle {
  transform: translate(50%, -50%);
}
.k-slider-rtl.k-horizontal-slider .k-label, .k-slider-rtl.k-slider-horizontal .k-label, .k-horizontal-slider.k-slider[dir=rtl] .k-label, .k-slider[dir=rtl].k-slider-horizontal .k-label,
[dir=rtl] .k-horizontal-slider.k-slider .k-label,
[dir=rtl] .k-slider.k-slider-horizontal .k-label,
.k-horizontal-slider.k-slider.k-rtl .k-label,
.k-slider.k-rtl.k-slider-horizontal .k-label,
.k-rtl .k-horizontal-slider.k-slider .k-label,
.k-rtl .k-slider.k-slider-horizontal .k-label {
  transform: translateX(50%);
}
.k-slider kendo-resize-sensor {
  position: absolute;
}

.k-slider {
  --INTERNAL--kendo-slider-text: var( --kendo-slider-text, inherit );
  --INTERNAL--kendo-slider-track-bg: var( --kendo-slider-track-bg, var(--kendo-color-base-emphasis, #605e5c) );
  --INTERNAL--kendo-slider-selection-bg: var( --kendo-slider-selection-bg, var(--kendo-color-primary, #0078d4) );
  --INTERNAL--kendo-slider-thumb-bg: var( --kendo-slider-thumb-bg, var(--kendo-component-bg, transparent));
  --INTERNAL--kendo-slider-thumb-text: var( --kendo-slider-thumb-text, inherit);
  --INTERNAL--kendo-slider-thumb-border: var( --kendo-slider-thumb-border, var(--kendo-color-primary, #0078d4));
  --INTERNAL--kendo-slider-thumb-gradient: var( --kendo-slider-thumb-gradient, transparent);
  color: var(--INTERNAL--kendo-slider-text, inherit);
}
.k-slider.k-disabled {
  --INTERNAL--kendo-slider-text: var( --kendo-slider-disabled-text, color-mix(in srgb, var(--kendo-color-on-app-surface, #323130) 70%, transparent) );
  --INTERNAL--kendo-slider-track-bg: var( --kendo-slider-track-disabled-bg, color-mix(in srgb, var(--kendo-color-on-app-surface, #323130) 6%, transparent) );
  --INTERNAL--kendo-slider-selection-bg: var( --kendo-slider-selection-disabled-bg, color-mix(in srgb, var(--kendo-color-on-app-surface, #323130) 46%, transparent) );
  --INTERNAL--kendo-slider-thumb-border: var( --kendo-slider-thumb-disabled-border, color-mix(in srgb, var(--kendo-color-on-app-surface, #323130) 28%, transparent));
}

.k-slider-track {
  background-color: var(--INTERNAL--kendo-slider-track-bg, transparent);
}

.k-slider-selection {
  background-color: var(--INTERNAL--kendo-slider-selection-bg, currentColor);
}

.k-slider-thumb, .k-draghandle {
  color: var(--INTERNAL--kendo-slider-thumb-text, transparent);
  background-color: var(--INTERNAL--kendo-slider-thumb-bg, currentColor);
  border-color: var(--INTERNAL--kendo-slider-thumb-border, currentColor);
  background-image: linear-gradient(var(--INTERNAL--kendo-slider-thumb-gradient, transparent, transparent));
}
.k-slider-thumb:hover, .k-draghandle:hover, .k-slider-thumb.k-hover, .k-hover.k-draghandle {
  --INTERNAL--kendo-slider-thumb-bg: var(--kendo-component-bg, transparent);
  --INTERNAL--kendo-slider-thumb-text: inherit;
  --INTERNAL--kendo-slider-thumb-border: var(--kendo-color-primary-hover, #106ebe);
  --INTERNAL--kendo-slider-thumb-gradient: transparent;
}
.k-slider-thumb:active, .k-draghandle:active, .k-slider-thumb.k-active, .k-active.k-draghandle {
  --INTERNAL--kendo-slider-thumb-bg: var(--kendo-component-bg, transparent);
  --INTERNAL--kendo-slider-thumb-text: inherit;
  --INTERNAL--kendo-slider-thumb-border: var(--kendo-color-primary-active, #005a9e);
  --INTERNAL--kendo-slider-thumb-gradient: transparent;
}
.k-slider-thumb:focus, .k-draghandle:focus, .k-slider-thumb.k-focus, .k-focus.k-draghandle {
  --INTERNAL--kendo-slider-thumb-bg: var(--kendo-component-bg, transparent);
  --INTERNAL--kendo-slider-thumb-text: inherit;
  --INTERNAL--kendo-slider-thumb-border: var(--kendo-color-primary-active, #005a9e);
  --INTERNAL--kendo-slider-thumb-gradient: transparent;
}

.k-slider-horizontal .k-tick {
  background-image: url(data:image/gif;base64,R0lGODlhAQC0AIABALi4uAAAACH5BAEAAAEALAAAAAABALQAAAIWjIGJxqzazlux2ovlzND2rAHgSIZWAQA7);
}

.k-slider-vertical .k-tick {
  background-image: url(data:image/gif;base64,R0lGODlhtAABAIABALi4uAAAACH5BAEAAAEALAAAAAC0AAEAAAIWjIGJxqzazlux2ovlzND2rAHgSIZWAQA7);
}

.k-calendar {
  inline-size: var(--INTERNAL--kendo-calendar-width, min-content);
  block-size: var(--INTERNAL--kendo-calendar-height, min-content);
  border-width: var(--kendo-calendar-border-width, 1px);
  border-style: solid;
  box-sizing: border-box;
  outline: 0;
  font-family: var(--kendo-calendar-font-family, var(--kendo-font-family, inherit));
  font-size: var(--kendo-calendar-font-size, var(--kendo-font-size, inherit));
  line-height: var(--kendo-calendar-line-height, var(--kendo-line-height, normal));
  position: relative;
  overflow: hidden;
  display: inline-flex;
  flex-flow: column nowrap;
  user-select: none;
  -webkit-touch-callout: none;
  -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
}
.k-calendar > .k-calendar {
  border: 0;
}
.k-calendar .k-link {
  white-space: normal;
  position: relative;
  overflow: hidden;
}

.k-calendar-table {
  margin-block: 0;
  margin-inline: auto;
  border-width: 0;
  border-color: inherit;
  border-spacing: 0;
  border-collapse: separate;
  table-layout: fixed;
  text-align: center;
  outline: 0;
  display: table;
  position: relative;
  z-index: 1;
}

.k-calendar-caption,
.k-calendar-caption.k-calendar-th,
.k-calendar .k-meta-header,
.k-calendar .k-month-header {
  padding-inline: var(--kendo-calendar-caption-padding-x, var(--kendo-spacing-3, 0.75rem));
  padding-block: var(--kendo-calendar-caption-padding-y, var(--kendo-spacing-1, 0.25rem));
  height: var(--kendo-calendar-caption-height, 28px);
  box-sizing: border-box;
  font-size: var(--kendo-calendar-caption-font-size, var(--kendo-font-size-sm, inherit));
  line-height: var(--kendo-calendar-caption-line-height, normal);
  text-transform: none;
  text-align: center;
  font-weight: var(--kendo-calendar-caption-font-weight, bold);
  cursor: default;
}

.k-calendar-th,
.k-calendar-td {
  border-width: 0;
  padding: 0;
  text-align: center;
  border-style: solid;
  border-color: inherit;
  font-weight: normal;
  cursor: default;
}

.k-calendar-th {
  padding-inline: var(--kendo-calendar-header-cell-padding-x, var(--kendo-spacing-0, 0px));
  padding-block: var(--kendo-calendar-header-cell-padding-y, var(--kendo-spacing-0, 0px));
  inline-size: var(--INTERNAL--kendo-calendar-cell-size, var(--kendo-calendar-header-cell-width, 28px));
  block-size: var(--INTERNAL--kendo-calendar-cell-size, var(--kendo-calendar-header-cell-height, 28px));
  font-size: var(--kendo-calendar-header-cell-font-size, var(--kendo-font-size-sm, inherit));
  line-height: var(--kendo-calendar-header-cell-line-height, 2);
  text-transform: uppercase;
}

.k-calendar-td {
  border-radius: var(--kendo-calendar-cell-border-radius, var(--kendo-border-radius-md, 0));
  inline-size: var(--INTERNAL--kendo-calendar-cell-size, min-content);
  block-size: var(--INTERNAL--kendo-calendar-cell-size, min-content);
  border-color: transparent;
  font-size: var(--INTERNAL--kendo-calendar-cell-font-size, inherit);
}

.k-calendar .k-calendar-cell-inner {
  border-radius: var(--kendo-calendar-cell-border-radius, var(--kendo-border-radius-md, 0));
  padding-inline: var(--INTERNAL--kendo-calendar-cell-padding-x, 0);
  padding-block: var(--INTERNAL--kendo-calendar-cell-padding-y, 0);
  width: 100%;
  height: 100%;
  box-sizing: border-box;
  display: flex;
  flex-direction: row;
  align-items: center;
  justify-content: center;
  white-space: normal;
  position: relative;
  overflow: hidden;
}

.k-calendar .k-header {
  padding-inline: var(--kendo-calendar-header-padding-x, var(--kendo-spacing-1, 0.25rem));
  padding-block: var(--kendo-calendar-header-padding-y, var(--kendo-spacing-1, 0.25rem));
  border-bottom-width: var(--kendo-calendar-header-border-width, 1px);
  border-bottom-style: solid;
  display: flex;
  flex-flow: row nowrap;
  gap: var(--kendo-calendar-nav-gap, var(--kendo-spacing-0, 0px));
  align-items: center;
  position: relative;
  z-index: 2;
}

.k-calendar-header {
  padding-inline: var(--kendo-calendar-header-padding-x, var(--kendo-spacing-1, 0.25rem));
  padding-block: var(--kendo-calendar-header-padding-y, var(--kendo-spacing-1, 0.25rem));
  min-width: var(--INTERNAL--kendo-calendar-view-width, 196px);
  box-sizing: border-box;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: space-between;
  flex: 0 0 auto;
}
.k-calendar-header .k-calendar-nav {
  display: flex;
  flex-flow: row nowrap;
  align-items: center;
  gap: var(--kendo-calendar-nav-gap, var(--kendo-spacing-0, 0px));
}

.k-calendar-footer,
.k-calendar .k-footer {
  padding-inline: var(--kendo-calendar-header-footer-x, var(--kendo-spacing-1, 0.25rem));
  padding-block: var(--kendo-calendar-header-footer-y, var(--kendo-spacing-1, 0.25rem));
  text-align: center;
  clear: both;
}

.k-calendar-view {
  margin: auto;
  padding-inline: var(--kendo-calendar-header-padding-x, var(--kendo-spacing-1, 0.25rem));
  padding-block-end: var(--kendo-calendar-view-padding-block-end, var(--kendo-spacing-1, 0.25rem));
  inline-size: var(--INTERNAL--kendo-calendar-view-width, 196px);
  min-height: 196px;
  box-sizing: content-box;
  gap: var(--kendo-calendar-view-gap, var(--kendo-spacing-4, 1rem));
  position: relative;
  z-index: 1;
  overflow: hidden;
}
.k-calendar-view .k-today {
  font-weight: bold;
}
.k-calendar-view .k-link {
  border-radius: var(--kendo-calendar-cell-border-radius, var(--kendo-border-radius-md, 0));
  padding-inline: var(--INTERNAL--kendo-calendar-cell-padding-x, 0);
  padding-block: var(--INTERNAL--kendo-calendar-cell-padding-y, 0);
  width: 100%;
  height: 100%;
  box-sizing: border-box;
  display: flex;
  flex-direction: row;
  align-items: center;
  justify-content: center;
  white-space: normal;
  position: relative;
  overflow: hidden;
}
.k-calendar-view .k-today .k-link {
  border-radius: var(--kendo-calendar-today-border-radius, 9999px);
}

.k-month-calendar .k-calendar-td,
.k-calendar-monthview .k-calendar-td {
  width: var(--INTERNAL--kendo-calendar-cell-size, 28px);
  height: var(--INTERNAL--kendo-calendar-cell-size, 28px);
  inline-size: var(--INTERNAL--kendo-calendar-cell-size, 28px);
  block-size: var(--INTERNAL--kendo-calendar-cell-size, 28px);
}

.k-year-calendar .k-calendar-td,
.k-calendar-yearview .k-calendar-td {
  width: var(--INTERNAL--kendo-calendar-cell-size, 56px);
  height: var(--INTERNAL--kendo-calendar-cell-size, 56px);
  inline-size: var(--INTERNAL--kendo-calendar-cell-size, 56px);
  block-size: var(--INTERNAL--kendo-calendar-cell-size, 56px);
}

.k-decade-calendar .k-calendar-td,
.k-calendar-decadeview .k-calendar-td {
  width: var(--INTERNAL--kendo-calendar-cell-size, 56px);
  height: var(--INTERNAL--kendo-calendar-cell-size, 56px);
  inline-size: var(--INTERNAL--kendo-calendar-cell-size, 56px);
  block-size: var(--INTERNAL--kendo-calendar-cell-size, 56px);
}

.k-century-calendar .k-calendar-td,
.k-calendar-centuryview .k-calendar-td {
  width: var(--INTERNAL--kendo-calendar-cell-size, 56px);
  height: var(--INTERNAL--kendo-calendar-cell-size, 56px);
  inline-size: var(--INTERNAL--kendo-calendar-cell-size, 56px);
  block-size: var(--INTERNAL--kendo-calendar-cell-size, 56px);
}
.k-century-calendar .k-link,
.k-calendar-centuryview .k-link {
  text-align: start;
}

.k-popup .k-calendar {
  height: 100%;
}

.k-calendar-container,
.k-datetime-container {
  padding: 0;
}
.k-calendar-container .k-calendar,
.k-datetime-container .k-calendar {
  border-width: 0;
}

.k-calendar .k-content.k-scrollable,
.k-calendar .k-calendar-content.k-scrollable {
  box-sizing: content-box;
  overflow-x: hidden;
  overflow-y: auto;
  display: block;
  padding-inline-end: 100px;
  padding-inline-start: 100px;
  margin-inline-start: -100px;
  margin-inline-end: calc(-100px - var(--kendo-scrollbar-width, 17px));
}

.k-calendar .k-scrollable-placeholder {
  position: absolute;
  z-index: -1;
  width: 1px;
  top: 0;
  right: 0;
}

.k-calendar-infinite {
  box-sizing: content-box;
  display: inline-flex;
  flex-flow: row nowrap;
}
.k-calendar-infinite .k-calendar-view {
  padding-inline: var(--kendo-infinite-calendar-view-padding-x, var(--kendo-spacing-3, 0.75rem));
  padding-block: var(--kendo-infinite-calendar-view-padding-y, var(--kendo-spacing-0, 0px));
  height: 252px;
  flex: 0 0 auto;
  display: flex;
  flex-flow: column nowrap;
  gap: 0;
  overflow: hidden;
}
.k-calendar-infinite .k-calendar-view .k-content.k-scrollable {
  position: relative;
}
.k-calendar-infinite .k-calendar-header {
  margin-inline-start: calc(-1 * var(--kendo-infinite-calendar-view-padding-x, var(--kendo-spacing-3, 0.75rem)));
  margin-inline-end: calc(-1 * var(--kendo-infinite-calendar-view-padding-x, var(--kendo-spacing-3, 0.75rem)));
  padding-inline: var(--kendo-infinite-calendar-header-padding-x, var(--kendo-spacing-3, 0.75rem));
  padding-block: var(--kendo-infinite-calendar-header-padding-y, var(--kendo-spacing-3, 0.75rem) var(--kendo-spacing-1, 0.25rem));
  width: auto;
  min-width: 0;
  flex-direction: row;
}
.k-calendar-infinite .k-calendar-weekdays {
  flex: 0 0 auto;
}

.k-calendar-navigation {
  width: var(--kendo-calendar-navigation-width, 5em);
  text-align: center;
  flex: 0 0 auto;
  display: block;
  overflow: hidden;
  position: relative;
  z-index: 1;
}
.k-calendar-navigation .k-content,
.k-calendar-navigation .k-calendar-content {
  background: transparent;
  height: auto;
  position: absolute;
  top: 0;
  left: 0;
  bottom: 0;
  right: 0;
}
.k-calendar-navigation .k-content ul,
.k-calendar-navigation .k-calendar-content ul {
  width: var(--kendo-calendar-navigation-width, 5em);
}
.k-calendar-navigation .k-content li,
.k-calendar-navigation .k-calendar-content li {
  height: var(--kendo-calendar-navigation-item-height, 2em);
  line-height: var(--kendo-calendar-navigation-item-height, 2em);
  cursor: pointer;
  padding-inline: 1em;
  overflow: hidden;
  white-space: nowrap;
  text-overflow: clip;
}
.k-calendar-navigation .k-calendar-navigation-marker {
  font-weight: bold;
}
.k-calendar-navigation .k-calendar-navigation-highlight {
  width: 100%;
  border-width: 1px 0;
  border-style: solid;
  height: var(--kendo-calendar-navigation-item-height, 2em);
  box-sizing: border-box;
  position: absolute;
  top: 50%;
  right: 0;
  transform: translateY(-50%);
}

.k-calendar-range {
  width: auto;
}
.k-calendar-range .k-calendar-header {
  flex-direction: row;
}
.k-calendar-range .k-calendar-header.k-vstack, .k-calendar-range .k-calendar-header.k-vbox {
  flex-direction: column;
}
.k-calendar-range .k-calendar-view {
  width: auto;
  white-space: nowrap;
}
.k-calendar-range .k-calendar-view::after {
  display: none;
}
.k-calendar-range .k-calendar-view:focus {
  outline: 0;
}

.k-range-start,
.k-range-end,
.k-range-mid {
  position: relative;
}
.k-range-start::before,
.k-range-end::before,
.k-range-mid::before {
  content: "";
  position: absolute;
  inset: 0px;
  border-style: solid;
}
.k-range-start:hover .k-link, .k-range-start.k-hover .k-link,
.k-range-end:hover .k-link,
.k-range-end.k-hover .k-link,
.k-range-mid:hover .k-link,
.k-range-mid.k-hover .k-link {
  border-radius: 0;
}

.k-range-mid::before {
  border-width: var(--INTERNAL--kendo-calendar-range-border-width, 1px);
  border-inline-width: 0;
  border-radius: 0;
}

.k-range-start::before,
.k-range-mid:not(.k-range-start + .k-range-mid,
.k-range-mid + .k-range-mid,
:last-child)::before {
  border-width: var(--INTERNAL--kendo-calendar-range-border-width, 1px);
  border-inline-end-width: 0;
  border-radius: 0;
  border-start-start-radius: var(--kendo-calendar-cell-border-radius, var(--kendo-border-radius-md, 0));
  border-end-start-radius: var(--kendo-calendar-cell-border-radius, var(--kendo-border-radius-md, 0));
}

.k-range-end::before,
.k-range-mid:last-child::before {
  border-width: var(--INTERNAL--kendo-calendar-range-border-width, 1px);
  border-inline-start-width: 0;
  border-radius: 0;
  border-start-end-radius: var(--kendo-calendar-cell-border-radius, var(--kendo-border-radius-md, 0));
  border-end-end-radius: var(--kendo-calendar-cell-border-radius, var(--kendo-border-radius-md, 0));
}

.k-range-start.k-range-end::before {
  border-width: var(--INTERNAL--kendo-calendar-range-border-width, 1px);
  border-radius: var(--kendo-calendar-cell-border-radius, var(--kendo-border-radius-md, 0));
}

.k-calendar-sm {
  --INTERNAL--kendo-calendar-view-width: 192px;
  --INTERNAL--kendo-calendar-cell-padding-x: var( --kendo-calendar-sm-cell-padding-x, var(--kendo-spacing-0\.5, 0.125rem) );
  --INTERNAL--kendo-calendar-cell-padding-y: var( --kendo-calendar-sm-cell-padding-y, var(--kendo-spacing-0\.5, 0.125rem) );
  --INTERNAL--kendo-calendar-cell-font-size: var( --kendo-calendar-sm-cell-font-size, var(--kendo-font-size-sm, inherit) );
  font-size: var(--kendo-font-size-sm, inherit);
  line-height: var(--kendo-line-height-sm, normal);
}
.k-calendar-sm.k-month-calendar,
.k-calendar-sm .k-calendar-monthview {
  --INTERNAL--kendo-calendar-cell-size: var( --kendo-calendar-sm-month-cell-size, 24px );
}
.k-calendar-sm.k-year-calendar,
.k-calendar-sm .k-calendar-yearview {
  --INTERNAL--kendo-calendar-cell-size: var( --kendo-calendar-sm-year-cell-size, 48px );
}
.k-calendar-sm.k-decade-calendar,
.k-calendar-sm .k-calendar-decadeview {
  --INTERNAL--kendo-calendar-cell-size: var( --kendo-calendar-sm-decade-cell-size, 48px );
}
.k-calendar-sm.k-century-calendar,
.k-calendar-sm .k-calendar-centuryview {
  --INTERNAL--kendo-calendar-cell-size: var( --kendo-calendar-sm-century-cell-size, 48px );
}

.k-calendar-md {
  --INTERNAL--kendo-calendar-view-width: 224px;
  --INTERNAL--kendo-calendar-cell-padding-x: var( --kendo-calendar-md-cell-padding-x, var(--kendo-spacing-1, 0.25rem) );
  --INTERNAL--kendo-calendar-cell-padding-y: var( --kendo-calendar-md-cell-padding-y, var(--kendo-spacing-1, 0.25rem) );
  --INTERNAL--kendo-calendar-cell-font-size: var( --kendo-calendar-md-cell-font-size, var(--kendo-font-size-sm, inherit) );
  font-size: var(--kendo-font-size, inherit);
  line-height: var(--kendo-line-height, normal);
}
.k-calendar-md.k-month-calendar,
.k-calendar-md .k-calendar-monthview {
  --INTERNAL--kendo-calendar-cell-size: var( --kendo-calendar-md-month-cell-size, 28px );
}
.k-calendar-md.k-year-calendar,
.k-calendar-md .k-calendar-yearview {
  --INTERNAL--kendo-calendar-cell-size: var( --kendo-calendar-md-year-cell-size, 56px );
}
.k-calendar-md.k-decade-calendar,
.k-calendar-md .k-calendar-decadeview {
  --INTERNAL--kendo-calendar-cell-size: var( --kendo-calendar-md-decade-cell-size, 56px );
}
.k-calendar-md.k-century-calendar,
.k-calendar-md .k-calendar-centuryview {
  --INTERNAL--kendo-calendar-cell-size: var( --kendo-calendar-md-century-cell-size, 56px );
}

.k-calendar-lg {
  --INTERNAL--kendo-calendar-view-width: 256px;
  --INTERNAL--kendo-calendar-cell-padding-x: var( --kendo-calendar-lg-cell-padding-x, var(--kendo-spacing-1, 0.25rem) );
  --INTERNAL--kendo-calendar-cell-padding-y: var( --kendo-calendar-lg-cell-padding-y, var(--kendo-spacing-1, 0.25rem) );
  --INTERNAL--kendo-calendar-cell-font-size: var( --kendo-calendar-lg-cell-font-size, var(--kendo-font-size, inherit) );
  font-size: var(--kendo-font-size, inherit);
  line-height: var(--kendo-line-height, normal);
}
.k-calendar-lg.k-month-calendar,
.k-calendar-lg .k-calendar-monthview {
  --INTERNAL--kendo-calendar-cell-size: var( --kendo-calendar-lg-month-cell-size, 32px );
}
.k-calendar-lg.k-year-calendar,
.k-calendar-lg .k-calendar-yearview {
  --INTERNAL--kendo-calendar-cell-size: var( --kendo-calendar-lg-year-cell-size, 64px );
}
.k-calendar-lg.k-decade-calendar,
.k-calendar-lg .k-calendar-decadeview {
  --INTERNAL--kendo-calendar-cell-size: var( --kendo-calendar-lg-decade-cell-size, 64px );
}
.k-calendar-lg.k-century-calendar,
.k-calendar-lg .k-calendar-centuryview {
  --INTERNAL--kendo-calendar-cell-size: var( --kendo-calendar-lg-century-cell-size, 64px );
}

.k-calendar {
  border-color: var(--kendo-calendar-border, var(--kendo-component-border, initial));
  color: var(--kendo-calendar-text, var(--kendo-component-text, initial));
  background-color: var(--kendo-calendar-bg, var(--kendo-component-bg, initial));
}
.k-calendar .k-header {
  border-color: inherit;
  color: var(--kendo-calendar-header-text, var(--kendo-component-text, initial));
  background-color: var(--kendo-calendar-header-bg, var(--kendo-color-surface, #faf9f8));
}
.k-calendar .k-calendar-th {
  color: var(--kendo-calendar-header-cell-text, inherit);
}
.k-calendar .k-calendar-caption,
.k-calendar .k-meta-header,
.k-calendar .k-month-header {
  color: var(--kendo-calendar-caption-color, var(--kendo-color-subtle, #605e5c));
}
.k-calendar .k-calendar-td {
  --INTERNAL--kendo-calendar-cell-text: var( --kendo-calendar-cell-text );
  --INTERNAL--kendo-calendar-cell-bg: var( --kendo-calendar-cell-bg );
  color: var(--INTERNAL--kendo-calendar-cell-text, inherit);
  background-color: var(--INTERNAL--kendo-calendar-cell-bg, inherit);
}
.k-calendar .k-calendar-td .k-link {
  --INTERNAL--kendo-calendar-cell-link-text: var( --kendo-calendar-cell-link-text );
  --INTERNAL--kendo-calendar-cell-link-bg: var( --kendo-calendar-cell-link-bg );
  --INTERNAL--kendo-calendar-cell-link-shadow: var( --kendo-calendar-cell-link-shadow );
  color: var(--INTERNAL--kendo-calendar-cell-link-text, inherit);
  background-color: var(--INTERNAL--kendo-calendar-cell-link-bg, inherit);
  box-shadow: var(--INTERNAL--kendo-calendar-cell-link-shadow, none);
}
.k-calendar .k-calendar-td:hover .k-link, .k-calendar .k-calendar-td.k-hover .k-link {
  --INTERNAL--kendo-calendar-cell-link-text: var( --kendo-calendar-cell-hover-text, var(--kendo-hover-text, inherit) );
  --INTERNAL--kendo-calendar-cell-link-bg: var( --kendo-calendar-cell-hover-bg, var(--kendo-hover-bg, inherit) );
}
.k-calendar .k-calendar-td:focus .k-link, .k-calendar .k-calendar-td.k-focus .k-link {
  --INTERNAL--kendo-calendar-cell-link-shadow: var( --kendo-calendar-cell-focus-shadow, inset 0 0 0 1px var(--kendo-color-base-emphasis, #605e5c) );
}
.k-calendar .k-calendar-td.k-selected .k-link {
  --INTERNAL--kendo-calendar-cell-link-text: var( --kendo-calendar-cell-selected-text, var(--kendo-selected-text, inherit) );
  --INTERNAL--kendo-calendar-cell-link-bg: var( --kendo-calendar-cell-selected-bg, var(--kendo-selected-bg, inherit) );
  --INTERNAL--kendo-calendar-cell-link-shadow: var( --kendo-calendar-cell-selected-shadow, inset 0 0 0 1px var(--kendo-selected-border, inherit) );
}
.k-calendar .k-calendar-td.k-selected:hover .k-link, .k-calendar .k-calendar-td.k-selected.k-hover .k-link {
  --INTERNAL--kendo-calendar-cell-link-text: var( --kendo-calendar-cell-selected-hover-text, var(--kendo-selected-hover-text, inherit) );
  --INTERNAL--kendo-calendar-cell-link-bg: var( --kendo-calendar-cell-selected-hover-bg, var(--kendo-selected-hover-bg, inherit) );
}
.k-calendar .k-calendar-td.k-selected:focus .k-link, .k-calendar .k-calendar-td.k-selected.k-focus .k-link {
  --INTERNAL--kendo-calendar-cell-link-shadow: var( --kendo-calendar-cell-selected-focus-shadow, inset 0 0 0 1px var(--kendo-color-base-emphasis, #605e5c) );
}
.k-calendar .k-calendar-td.k-disabled {
  --kendo-calendar-cell-text: var( --kendo-disabled-text, inherit );
}
.k-calendar .k-today {
  --kendo-calendar-cell-link-text: var( --kendo-calendar-today-text, var(--kendo-color-app-surface, #ffffff) );
  --kendo-calendar-cell-link-bg: var( --kendo-calendar-today-bg, var(--kendo-color-primary, #0078d4) );
  --kendo-calendar-cell-hover-text: var( --kendo-calendar-today-hover-text, var(--kendo-color-app-surface, #ffffff) );
  --kendo-calendar-cell-hover-bg: var( --kendo-calendar-today-hover-bg, var(--kendo-color-primary-hover, #106ebe) );
}
.k-calendar .k-weekend {
  --kendo-calendar-cell-text: var( --kendo-calendar-weekend-text, inherit );
  --kendo-calendar-cell-bg: var( --kendo-calendar-weekend-bg, inherit );
}
.k-calendar .k-other-month {
  --kendo-calendar-cell-text: var( --kendo-calendar-other-month-text, var(--kendo-disabled-text, inherit) );
  --kendo-calendar-cell-bg: var( --kendo-calendar-other-month-bg, inherit );
}
.k-calendar .k-alt {
  background-color: transparent;
  --kendo-calendar-cell-text: var( --kendo-calendar-week-number-text, var(--kendo-subtle-text, inherit) );
  --kendo-calendar-cell-bg: var( --kendo-calendar-week-number-bg, inherit );
}
.k-calendar .k-calendar-navigation {
  color: var(--kendo-calendar-navigation-text, var(--kendo-component-text, initial));
  background-color: var(--kendo-calendar-navigation-bg, var(--kendo-color-surface, #faf9f8));
  box-shadow: inset -1px 0 var(--kendo-calendar-navigation-border, var(--kendo-component-border, initial));
}
.k-calendar .k-calendar-navigation li:hover,
.k-calendar .k-calendar-navigation li.k-hover {
  color: var(--kendo-calendar-navigation-hover-text, var(--kendo-color-primary-hover, #106ebe));
}
.k-calendar .k-calendar-navigation-highlight {
  border-color: var(--kendo-calendar-border, var(--kendo-component-border, initial));
  color: var(--kendo-calendar-text, var(--kendo-component-text, initial));
  background-color: var(--kendo-calendar-bg, var(--kendo-component-bg, initial));
}
.k-calendar.k-invalid, .k-calendar.k-invalid:hover, .k-calendar.ng-invalid.ng-touched, .k-calendar.ng-invalid.ng-dirty {
  border-color: var(--kendo-invalid-border, inherit);
}

.k-calendar[dir=rtl] .k-calendar-navigation,
.k-rtl .k-calendar .k-calendar-navigation {
  box-shadow: inset 1px 0 var(--kendo-calendar-navigation-border, var(--kendo-component-border, initial));
}
.k-calendar[dir=rtl] .k-calendar-td.k-range-start:hover .k-link, .k-calendar[dir=rtl] .k-calendar-td.k-range-start.k-hover .k-link,
.k-rtl .k-calendar .k-calendar-td.k-range-start:hover .k-link,
.k-rtl .k-calendar .k-calendar-td.k-range-start.k-hover .k-link {
  --INTERNAL--kendo-calendar-cell-link-shadow: var( --kendo-calendar-end-range-hover-shadow, inset -1px -1px 0 0 var(--kendo-color-base-emphasis, #605e5c), inset 0 1px 0 0 var(--kendo-color-base-emphasis, #605e5c) );
}
.k-calendar[dir=rtl] .k-calendar-td.k-range-mid:last-child:hover .k-link, .k-calendar[dir=rtl] .k-calendar-td.k-range-mid:last-child.k-hover .k-link, .k-calendar[dir=rtl] .k-calendar-td.k-range-end:hover .k-link, .k-calendar[dir=rtl] .k-calendar-td.k-range-end.k-hover .k-link,
.k-rtl .k-calendar .k-calendar-td.k-range-mid:last-child:hover .k-link,
.k-rtl .k-calendar .k-calendar-td.k-range-mid:last-child.k-hover .k-link,
.k-rtl .k-calendar .k-calendar-td.k-range-end:hover .k-link,
.k-rtl .k-calendar .k-calendar-td.k-range-end.k-hover .k-link {
  --INTERNAL--kendo-calendar-cell-link-shadow: var( --kendo-calendar-start-range-hover-shadow, inset 1px -1px 0 0 var(--kendo-color-base-emphasis, #605e5c), inset 0 1px 0 0 var(--kendo-color-base-emphasis, #605e5c) );
}
.k-calendar[dir=rtl] .k-calendar-td.k-range-mid:first-child:hover .k-link, .k-calendar[dir=rtl] .k-calendar-td.k-range-mid:first-child.k-hover .k-link, .k-calendar[dir=rtl] .k-calendar-td.k-alt + .k-range-mid:hover .k-link, .k-calendar[dir=rtl] .k-calendar-td.k-alt + .k-range-mid.k-hover .k-link,
.k-rtl .k-calendar .k-calendar-td.k-range-mid:first-child:hover .k-link,
.k-rtl .k-calendar .k-calendar-td.k-range-mid:first-child.k-hover .k-link,
.k-rtl .k-calendar .k-calendar-td.k-alt + .k-range-mid:hover .k-link,
.k-rtl .k-calendar .k-calendar-td.k-alt + .k-range-mid.k-hover .k-link {
  --INTERNAL--kendo-calendar-cell-link-shadow: var( --kendo-calendar-end-range-hover-shadow, inset -1px -1px 0 0 var(--kendo-color-base-emphasis, #605e5c), inset 0 1px 0 0 var(--kendo-color-base-emphasis, #605e5c) );
}

.k-scheduler .k-calendar .k-other-month {
  color: var(--kendo-calendar-other-month-text, var(--kendo-disabled-text, inherit));
  background-color: transparent;
}

.k-calendar .k-calendar-td.k-range-start, .k-calendar .k-calendar-td.k-range-end, .k-calendar .k-calendar-td.k-range-mid {
  --kendo-calendar-cell-bg: var( --kendo-calendar-range-bg, var(--kendo-color-base-active, #edebe9) );
  --kendo-calendar-cell-text: var( --kendo-calendar-range-text, inherit );
  --kendo-calendar-cell-link-bg: transparent;
  --kendo-calendar-cell-selected-bg: transparent;
  --kendo-calendar-cell-selected-shadow: none;
}
.k-calendar .k-calendar-td.k-range-start::before, .k-calendar .k-calendar-td.k-range-end::before, .k-calendar .k-calendar-td.k-range-mid::before {
  border-color: var(--kendo-calendar-range-border, var(--kendo-color-base-emphasis, #605e5c));
}
.k-calendar .k-calendar-td.k-range-start.k-disabled, .k-calendar .k-calendar-td.k-range-end.k-disabled, .k-calendar .k-calendar-td.k-range-mid.k-disabled {
  --kendo-calendar-cell-text: var( --kendo-disabled-text, inherit );
}
.k-calendar .k-calendar-td.k-range-start:hover .k-link, .k-calendar .k-calendar-td.k-range-start.k-hover .k-link, .k-calendar .k-calendar-td.k-range-end:hover .k-link, .k-calendar .k-calendar-td.k-range-end.k-hover .k-link, .k-calendar .k-calendar-td.k-range-mid:hover .k-link, .k-calendar .k-calendar-td.k-range-mid.k-hover .k-link {
  background-color: var(--kendo-calendar-cell-selected-hover-bg, var(--kendo-selected-hover-bg, inherit));
}
.k-calendar .k-calendar-td.k-range-start:hover .k-link, .k-calendar .k-calendar-td.k-range-start.k-hover .k-link {
  --INTERNAL--kendo-calendar-cell-link-shadow: var( --kendo-calendar-start-range-hover-shadow, inset 1px -1px 0 0 var(--kendo-color-base-emphasis, #605e5c), inset 0 1px 0 0 var(--kendo-color-base-emphasis, #605e5c) );
}
.k-calendar .k-calendar-td.k-range-mid:hover .k-link, .k-calendar .k-calendar-td.k-range-mid.k-hover .k-link {
  --INTERNAL--kendo-calendar-cell-link-shadow: var( --kendo-calendar-mid-range-hover-shadow, inset 0 -1px 0 0 var(--kendo-color-base-emphasis, #605e5c), inset 0 1px 0 0 var(--kendo-color-base-emphasis, #605e5c) );
}
.k-calendar .k-calendar-td.k-range-mid:last-child:hover .k-link, .k-calendar .k-calendar-td.k-range-mid:last-child.k-hover .k-link, .k-calendar .k-calendar-td.k-range-end:hover .k-link, .k-calendar .k-calendar-td.k-range-end.k-hover .k-link {
  --INTERNAL--kendo-calendar-cell-link-shadow: var( --kendo-calendar-end-range-hover-shadow, inset -1px -1px 0 0 var(--kendo-color-base-emphasis, #605e5c), inset 0 1px 0 0 var(--kendo-color-base-emphasis, #605e5c) );
}
.k-calendar .k-calendar-td.k-range-mid:first-child:hover .k-link, .k-calendar .k-calendar-td.k-range-mid:first-child.k-hover .k-link, .k-calendar .k-calendar-td.k-alt + .k-range-mid:hover .k-link, .k-calendar .k-calendar-td.k-alt + .k-range-mid.k-hover .k-link {
  --INTERNAL--kendo-calendar-cell-link-shadow: var( --kendo-calendar-start-range-hover-shadow, inset 1px -1px 0 0 var(--kendo-color-base-emphasis, #605e5c), inset 0 1px 0 0 var(--kendo-color-base-emphasis, #605e5c) );
}
.k-calendar .k-calendar-td.k-range-start.k-range-end:hover .k-link {
  --INTERNAL--kendo-calendar-cell-link-shadow: var( --kendo-calendar-start-end-range-hover-shadow, inset 1px -1px 0 0 var(--kendo-color-base-emphasis, #605e5c), inset -1px 1px 0 0 var(--kendo-color-base-emphasis, #605e5c) );
}

.k-pointer-events-none {
  pointer-events: none;
}

.\!k-pointer-events-none {
  pointer-events: none !important;
}

.k-pointer-events-auto {
  pointer-events: auto;
}

.\!k-pointer-events-auto {
  pointer-events: auto !important;
}

.k-timeselector {
  border-width: var(--kendo-time-selector-border-width, 1px);
  border-style: solid;
  box-sizing: border-box;
  outline: 0;
  font-family: var(--kendo-time-selector-font-family, var(--kendo-font-family, inherit));
  font-size: var(--kendo-time-selector-font-size, var(--kendo-font-size, inherit));
  line-height: var(--kendo-time-selector-line-height, var(--kendo-line-height, normal));
  position: relative;
  overflow: hidden;
  display: flex;
  flex-flow: column nowrap;
  user-select: none;
  -webkit-touch-callout: none;
  -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
}

.k-popup > .k-timeselector {
  border-width: 0;
}

.k-time-header,
.k-time-selector-header {
  padding: var(--kendo-time-selector-header-padding-y, var(--kendo-spacing-3, 0.75rem)) var(--kendo-time-selector-header-padding-x, var(--kendo-spacing-3, 0.75rem));
  box-sizing: border-box;
  display: flex;
  align-items: center;
  justify-content: space-between;
  flex: 0 0 auto;
}
.k-time-header .k-title,
.k-time-header .k-time-selector-header-title,
.k-time-selector-header .k-title,
.k-time-selector-header .k-time-selector-header-title {
  padding: var(--kendo-button-md-padding-y, var(--kendo-spacing-1\.5, 0.375rem)) var(--kendo-button-md-padding-x, var(--kendo-spacing-5, 1.25rem));
  font-weight: bold;
  display: inline-block;
}
.k-time-header .k-time-now,
.k-time-selector-header .k-time-now {
  border-width: 0;
  line-height: inherit;
  cursor: pointer;
}

.k-time-list-container {
  display: flex;
  position: relative;
  flex: 1 1 auto;
  overflow: hidden;
}

.k-time-highlight,
.k-time-list-highlight {
  --INTERNAL--kendo-time-list-title-height: var( --kendo-time-list-title-height, calc(var(--kendo-spacing-3, 0.75rem) + var(--kendo-font-size-xs, inherit) * var(--kendo-line-height-lg, inherit)) );
  width: 100%;
  height: var(--kendo-time-list-highlight-height, calc(var(--kendo-font-size, inherit) * var(--kendo-line-height, normal) + var(--kendo-spacing-1, 0.25rem) * 2));
  border-width: var(--kendo-time-list-highlight-border-width, 1px 0px);
  border-style: solid;
  box-sizing: border-box;
  position: absolute;
  top: calc(50% + var(--INTERNAL--kendo-time-list-title-height) / 2);
  left: 0;
  right: 0;
  transform: translateY(-50%);
  z-index: 1;
}

.k-time-list-wrapper {
  min-width: var(--kendo-time-list-width, 4em);
  height: var(--kendo-time-list-height, 240px);
  box-sizing: content-box;
  display: inline-flex;
  flex-flow: column nowrap;
  align-items: stretch;
  overflow: hidden;
  position: relative;
  text-align: center;
  flex: 1 1 auto;
}
.k-time-list-wrapper .k-title {
  padding-block-end: var(--kendo-time-list-title-spacing, var(--kendo-spacing-3, 0.75rem));
  font-size: var(--kendo-time-list-title-font-size, var(--kendo-font-size-xs, inherit));
  line-height: var(--kendo-time-list-title-line-height, var(--kendo-line-height-lg, inherit));
  font-weight: 600;
  text-align: center;
  text-transform: capitalize;
  display: block;
}
.k-time-list-wrapper.k-focus::before, .k-time-list-wrapper.k-focus::after {
  --INTERNAL--kendo-time-list-title-highlight-height: var( --kendo-time-list-highlight-height, calc(var(--kendo-font-size, inherit) * var(--kendo-line-height, normal) + var(--kendo-spacing-1, 0.25rem) * 2) );
  display: block;
  content: "​";
  position: absolute;
  width: 100%;
  left: 0;
  pointer-events: none;
  height: calc(50% - var(--INTERNAL--kendo-time-list-title-highlight-height) / 2);
  box-sizing: border-box;
  border-width: 0;
  border-style: solid;
}
.k-time-list-wrapper.k-focus::before {
  top: var(--kendo-time-list-title-height, calc(var(--kendo-spacing-3, 0.75rem) + var(--kendo-font-size-xs, inherit) * var(--kendo-line-height-lg, inherit)));
}
.k-time-list-wrapper.k-focus::after {
  bottom: 0;
}

.k-time-list {
  display: flex;
  flex-flow: row nowrap;
  align-items: stretch;
  flex: 1;
  position: relative;
  z-index: 1;
  outline: 0;
  overflow: hidden;
}
.k-time-list::before, .k-time-list::after {
  display: block;
  position: absolute;
  content: "​";
  height: 0;
  line-height: 0;
  z-index: 1;
  width: 200%;
  left: -50%;
}
.k-time-list::before {
  top: 0;
}
.k-time-list::after {
  bottom: 0;
}

.k-time-container,
.k-time-list-content {
  position: relative;
  flex: 1 1 auto;
  display: block;
  overflow-x: hidden;
  overflow-y: scroll;
  padding-inline-end: 100px;
  padding-inline-start: 100px;
  margin-inline-start: -100px;
  margin-inline-end: calc(-100px - var(--kendo-scrollbar-width, 17px));
}
.k-time-container > ul,
.k-time-list-content > ul {
  height: auto;
  width: var(--kendo-time-list-width, 4em);
  margin: auto;
}
.k-time-container .k-scrollable-placeholder,
.k-time-list-content .k-scrollable-placeholder {
  position: absolute;
  width: 1px;
  top: 0;
  right: 0;
}

.k-time-list-item,
.k-time-list .k-item {
  padding: var(--kendo-time-list-item-padding-y, var(--kendo-spacing-1, 0.25rem)) var(--kendo-time-list-item-padding-x, var(--kendo-spacing-2, 0.5rem));
}

.k-time-separator {
  --INTERNAL--kendo-time-list-title-height: var( --kendo-time-list-title-height, calc(var(--kendo-spacing-3, 0.75rem) + var(--kendo-font-size-xs, inherit) * var(--kendo-line-height-lg, inherit)) );
  width: 0;
  height: var(--kendo-time-list-highlight-height, calc(var(--kendo-font-size, inherit) * var(--kendo-line-height, normal) + var(--kendo-spacing-1, 0.25rem) * 2));
  align-self: center;
  display: var(--kendo-time-list-separator-display, none);
  justify-content: center;
  align-items: center;
  position: relative;
  z-index: 11;
  top: calc(var(--INTERNAL--kendo-time-list-title-height) / 2);
}

.k-timeselector-sm {
  font-size: var(--kendo-time-selector-sm-font-size, var(--kendo-font-size, inherit));
  line-height: var(--kendo-time-selector-sm-line-height, var(--kendo-line-height, normal));
}
.k-timeselector-sm .k-time-highlight,
.k-timeselector-sm .k-time-list-highlight {
  height: var(--kendo-time-selector-sm-highlight-height, calc(var(--kendo-font-size, inherit) * var(--kendo-line-height, normal) + var(--kendo-spacing-1\.5, 0.375rem) * 2));
}
.k-timeselector-sm .k-time-separator {
  height: var(--kendo-time-selector-sm-highlight-height, calc(var(--kendo-font-size, inherit) * var(--kendo-line-height, normal) + var(--kendo-spacing-1\.5, 0.375rem) * 2));
}
.k-timeselector-sm .k-time-list-item,
.k-timeselector-sm .k-time-list .k-item {
  padding: var(--kendo-list-sm-item-padding-y, var(--kendo-spacing-1\.5, 0.375rem)) var(--kendo-list-sm-item-padding-x, var(--kendo-spacing-2, 0.5rem));
}

.k-timeselector-md {
  font-size: var(--kendo-time-selector-md-font-size, var(--kendo-font-size, inherit));
  line-height: var(--kendo-time-selector-md-line-height, var(--kendo-line-height, normal));
}
.k-timeselector-md .k-time-highlight,
.k-timeselector-md .k-time-list-highlight {
  height: var(--kendo-time-selector-md-highlight-height, calc(var(--kendo-font-size, inherit) * var(--kendo-line-height, normal) + var(--kendo-spacing-2, 0.5rem) * 2));
}
.k-timeselector-md .k-time-separator {
  height: var(--kendo-time-selector-md-highlight-height, calc(var(--kendo-font-size, inherit) * var(--kendo-line-height, normal) + var(--kendo-spacing-2, 0.5rem) * 2));
}
.k-timeselector-md .k-time-list-item,
.k-timeselector-md .k-time-list .k-item {
  padding: var(--kendo-list-md-item-padding-y, var(--kendo-spacing-2, 0.5rem)) var(--kendo-list-md-item-padding-x, var(--kendo-spacing-2, 0.5rem));
}

.k-timeselector-lg {
  font-size: var(--kendo-time-selector-lg-font-size, var(--kendo-font-size, inherit));
  line-height: var(--kendo-time-selector-lg-line-height, var(--kendo-line-height, normal));
}
.k-timeselector-lg .k-time-highlight,
.k-timeselector-lg .k-time-list-highlight {
  height: var(--kendo-time-selector-lg-highlight-height, calc(var(--kendo-font-size, inherit) * var(--kendo-line-height, normal) + var(--kendo-spacing-2\.5, 0.625rem) * 2));
}
.k-timeselector-lg .k-time-separator {
  height: var(--kendo-time-selector-lg-highlight-height, calc(var(--kendo-font-size, inherit) * var(--kendo-line-height, normal) + var(--kendo-spacing-2\.5, 0.625rem) * 2));
}
.k-timeselector-lg .k-time-list-item,
.k-timeselector-lg .k-time-list .k-item {
  padding: var(--kendo-list-lg-item-padding-y, var(--kendo-spacing-2\.5, 0.625rem)) var(--kendo-list-lg-item-padding-x, var(--kendo-spacing-2, 0.5rem));
}

.k-timeselector {
  border-color: var(--kendo-time-selector-border, var(--kendo-component-border, initial));
  color: var(--kendo-time-selector-text, var(--kendo-component-text, initial));
  background-color: var(--kendo-time-selector-bg, var(--kendo-component-bg, initial));
}

.k-time-header .k-time-now,
.k-time-selector-header .k-time-now {
  color: var(--kendo-link-text, inherit);
}
.k-time-header .k-time-now:hover,
.k-time-selector-header .k-time-now:hover {
  color: var(--kendo-link-hover-text, inherit);
}

.k-time-list-wrapper .k-title {
  color: var(--kendo-time-list-title-text, var(--kendo-subtle-text, inherit));
}
.k-time-list-wrapper.k-focus .k-title {
  color: var(--kendo-time-list-title-focus-text, var(--kendo-component-text, initial));
}
.k-time-list-wrapper.k-focus::before, .k-time-list-wrapper.k-focus::after {
  background-color: var(--kendo-time-list-focus-bg, rgba(0, 0, 0, 0.04));
}

.k-time-list .k-item:hover {
  color: var(--kendo-color-primary-hover, #106ebe);
}

.k-time-container {
  background: transparent;
}

.k-time-highlight {
  border-color: var(--kendo-time-list-highlight-border, var(--kendo-component-border, initial));
  background-color: var(--kendo-time-list-highlight-bg, var(--kendo-component-bg, initial));
}

.k-captcha {
  width: var(--kendo-captcha-width, 280px);
  box-sizing: border-box;
  font-size: var(--kendo-captcha-font-size, var(--kendo-font-size, inherit));
  font-family: var(--kendo-captcha-font-family, var(--kendo-font-family, inherit));
  line-height: var(--kendo-captcha-line-height, var(--kendo-line-height, normal));
  display: flex;
  flex-flow: column nowrap;
  gap: var(--kendo-captcha-spacing, var(--kendo-spacing-2, 0.5rem));
}
.k-captcha *,
.k-captcha *::before,
.k-captcha *::after {
  box-sizing: border-box;
}

.k-captcha-image-wrap {
  position: relative;
  gap: var(--kendo-captcha-image-wrap-spacing, var(--kendo-spacing-2, 0.5rem));
}

.k-captcha-image-controls {
  position: relative;
  gap: var(--kendo-captcha-image-controls-spacing, calc(var(--kendo-spacing-2, 0.5rem) / 2));
}

.k-captcha-image {
  width: 100%;
  height: 100%;
  overflow: hidden;
}

.k-captcha-image > img {
  width: 100%;
  height: 100%;
  display: block;
  object-fit: cover;
}

.k-captcha-loading .k-captcha-image {
  height: auto;
}

.k-captcha-volume-control {
  height: 100%;
}

.k-captcha-validation-message {
  margin-block-start: var(--kendo-captcha-validation-offset-y, calc(var(--kendo-spacing-2, 0.5rem) / 2));
  font-size: var(--kendo-captcha-validation-font-size, var(--kendo-font-size-sm, inherit));
}

.k-captcha {
  border-color: var(--kendo-captcha-border, var(--kendo-component-border, initial));
  color: var(--kendo-captcha-text, var(--kendo-component-text, initial));
  background-color: var(--kendo-captcha-bg, var(--kendo-component-bg, initial));
}

.k-pos-static, .k-static {
  position: static;
}

.\!k-pos-static, .\!k-static {
  position: static !important;
}

.k-pos-relative, .k-relative {
  position: relative;
}

.\!k-pos-relative, .\!k-relative {
  position: relative !important;
}

.k-pos-absolute, .k-absolute {
  position: absolute;
}

.\!k-pos-absolute, .\!k-absolute {
  position: absolute !important;
}

.k-pos-fixed, .k-fixed {
  position: fixed;
}

.\!k-pos-fixed, .\!k-fixed {
  position: fixed !important;
}

.k-pos-sticky, .k-sticky {
  position: sticky;
}

.\!k-pos-sticky, .\!k-sticky {
  position: sticky !important;
}

.k-colorpalette {
  border-width: 0;
  box-sizing: border-box;
  outline: 0;
  font-size: var(--kendo-color-palette-font-size, var(--kendo-font-size, inherit));
  font-family: var(--kendo-color-palette-font-family, var(--kendo-font-family, inherit));
  line-height: var(--kendo-color-palette-line-height, 0);
  display: inline-flex;
  position: relative;
  -webkit-touch-callout: none;
  -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
}
.k-colorpalette *,
.k-colorpalette *::before,
.k-colorpalette *::after {
  box-sizing: border-box;
}
.k-colorpalette.k-disabled {
  opacity: 0.3;
}

.k-colorpalette-table {
  width: 100%;
  height: 100%;
  border-collapse: collapse;
  position: relative;
}

.k-colorpalette-tile {
  outline-width: var(--kendo-color-palette-tile-outline-width, 1px);
  outline-style: var(--kendo-color-palette-tile-outline-style, solid);
  width: var(--kendo-color-palette-tile-width, var(--kendo-spacing-6, 1.5rem));
  height: var(--kendo-color-palette-tile-height, var(--kendo-spacing-6, 1.5rem));
  box-sizing: border-box;
  overflow: hidden;
  cursor: pointer;
}
.k-colorpalette-tile:hover, .k-colorpalette-tile.k-hover {
  position: relative;
  z-index: 101;
}
.k-colorpalette-tile:focus, .k-colorpalette-tile.k-focus, .k-colorpalette-tile.k-selected, .k-colorpalette-tile.k-selected:hover {
  position: relative;
  z-index: 100;
}

.k-colorpalette-sm .k-colorpalette-tile {
  width: var(--kendo-spacing-5\.5, 1.375rem);
  height: var(--kendo-spacing-5\.5, 1.375rem);
}

.k-colorpalette-md .k-colorpalette-tile {
  width: var(--kendo-spacing-6, 1.5rem);
  height: var(--kendo-spacing-6, 1.5rem);
}

.k-colorpalette-lg .k-colorpalette-tile {
  width: var(--kendo-spacing-8, 2rem);
  height: var(--kendo-spacing-8, 2rem);
}

.k-colorpalette-tile {
  outline-color: var(--kendo-color-palette-tile-outline, transparent);
}
.k-colorpalette-tile:hover, .k-colorpalette-tile.k-hover {
  box-shadow: var(--kendo-color-palette-tile-hover-shadow, inset 0 0 0 2px color-mix(in srgb, var(--kendo-color-border, #8a8886) 10%, transparent), inset 0 0 0 4px var(--kendo-color-app-surface, #ffffff));
  outline-color: var(--kendo-color-palette-tile-hover-outline, color-mix(in srgb, var(--kendo-color-border, #8a8886) 10%, transparent));
}
.k-colorpalette-tile:focus, .k-colorpalette-tile.k-focus {
  box-shadow: var(--kendo-color-palette-tile-focus-shadow, inset 0 0 0 2px var(--kendo-color-app-surface, #ffffff));
  outline-color: var(--kendo-color-palette-tile-focus-outline, var(--kendo-color-base-emphasis, #605e5c));
}
.k-colorpalette-tile.k-selected {
  box-shadow: var(--kendo-color-palette-tile-selected-shadow, inset 0 0 0 2px color-mix(in srgb, var(--kendo-color-border, #8a8886) 10%, transparent), inset 0 0 0 4px var(--kendo-color-app-surface, #ffffff));
  outline-color: var(--kendo-color-palette-tile-selected-outline, color-mix(in srgb, var(--kendo-color-border, #8a8886) 10%, transparent));
}
.k-colorpalette-tile.k-selected:hover, .k-colorpalette-tile.k-selected:focus {
  outline-color: var(--kendo-color-palette-tile-selected-hover-outline, var(--kendo-color-base-emphasis, #605e5c));
}

.k-colorgradient {
  border-radius: var(--kendo-color-gradient-border-radius, var(--kendo-border-radius-md, 0.25rem));
  width: var(--kendo-color-gradient-width, 260px);
  padding-inline: var(--kendo-color-gradient-padding-x, calc(var(--kendo-spacing-4, 1rem) / 2));
  padding-block: var(--kendo-color-gradient-padding-y, var(--kendo-spacing-4, 1rem));
  border-style: solid;
  border-width: var(--kendo-color-gradient-border-width, 2px);
  box-sizing: border-box;
  outline: 0;
  font-size: var(--kendo-color-gradient-font-size, var(--kendo-font-size, inherit));
  font-family: var(--kendo-color-gradient-font-family, var(--kendo-font-family, inherit));
  line-height: var(--kendo-color-gradient-line-height, var(--kendo-line-height, normal));
  display: flex;
  flex-direction: column;
  align-items: stretch;
  gap: var(--kendo-color-gradient-spacing, var(--kendo-spacing-4, 1rem));
  -webkit-touch-callout: none;
  -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
}
.k-colorgradient *,
.k-colorgradient *::before,
.k-colorgradient *::after {
  box-sizing: border-box;
}

.k-colorgradient-canvas {
  gap: var(--kendo-color-gradient-canvas-spacing, var(--kendo-spacing-2, 0.5rem));
}
.k-colorgradient-canvas .k-hsv-rectangle {
  border-radius: var(--kendo-color-gradient-canvas-border-radius, var(--kendo-border-radius-md, 0.25rem));
  border-width: var(--kendo-color-gradient-canvas-border-width, 0);
  border-style: solid;
  position: relative;
  flex: 1 1 auto;
  user-select: none;
}
.k-colorgradient-canvas .k-hsv-gradient {
  height: var(--kendo-color-gradient-canvas-rectangle-height, 180px);
}
.k-colorgradient-canvas .k-hsv-draghandle {
  margin-block-start: var(--kendo-color-gradient-canvas-draghandle-offset-y, -10px);
  margin-inline-start: var(--kendo-color-gradient-canvas-draghandle--offset-x, -10px);
  position: absolute;
  top: 50%;
  left: 50%;
  z-index: 10;
  background-color: transparent;
  cursor: pointer;
}
.k-colorgradient-canvas .k-hsv-controls {
  position: relative;
  flex-shrink: 0;
  gap: var(--kendo-color-gradient-canvas-spacing, var(--kendo-spacing-2, 0.5rem));
}
.k-colorgradient-canvas.k-vstack, .k-colorgradient-canvas.k-vbox {
  padding-inline: 11px;
}

.k-colorgradient .k-draghandle {
  width: var(--kendo-color-gradient-draghandle-width, 20px);
  height: var(--kendo-color-gradient-draghandle-height, 20px);
  border-width: var(--kendo-color-gradient-draghandle-border-width, 2px);
  outline-width: var(--kendo-color-gradient-draghandle-outline-width, 1px);
  outline-style: solid;
  box-sizing: border-box;
}

.k-colorgradient-slider.k-slider-vertical {
  width: var(--kendo-color-gradient-slider-track-size, 20px);
  height: var(--kendo-color-gradient-slider-vertical-size, 180px);
  flex: 0 0 var(--kendo-color-gradient-slider-track-size, 20px);
}
.k-colorgradient-slider.k-slider-vertical .k-slider-track {
  width: var(--kendo-color-gradient-slider-track-size, 20px);
  border-radius: var(--kendo-color-gradient-slider-border-radius, var(--kendo-border-radius-md, 0.25rem));
  margin-left: calc(-1 * var(--kendo-color-gradient-slider-track-size, 20px) / 2);
}
.k-colorgradient-slider.k-slider-horizontal {
  width: var(--kendo-color-gradient-slider-horizontal-size, 100%);
  height: var(--kendo-color-gradient-slider-track-size, 20px);
  flex: 0 0 var(--kendo-color-gradient-slider-track-size, 20px);
}
.k-colorgradient-slider.k-slider-horizontal .k-slider-track {
  height: var(--kendo-color-gradient-slider-track-size, 20px);
  border-radius: var(--kendo-color-gradient-slider-border-radius, var(--kendo-border-radius-md, 0.25rem));
  margin-block-start: calc(var(--kendo-color-gradient-slider-track-size, 20px) / 2 * -1);
}
.k-colorgradient-slider.k-alpha-slider .k-slider-track::before {
  content: "";
  width: 100%;
  height: 100%;
  display: block;
  border-radius: 2px;
  position: relative;
  z-index: -1;
}
.k-colorgradient-slider .k-slider-track {
  border-width: var(--kendo-color-gradient-slider-border-width, 0);
  border-style: solid;
  transform: none;
  z-index: auto;
}
.k-colorgradient-slider .k-slider-track-wrap {
  z-index: 1;
}
.k-colorgradient-slider .k-slider-selection {
  display: none;
}

.k-colorgradient-sm {
  width: 236px;
  gap: var(--kendo-spacing-4, 1rem);
  padding-block: var(--kendo-spacing-4, 1rem);
  padding-inline: calc(var(--kendo-spacing-4, 1rem) / 2);
}
.k-colorgradient-sm .k-colorgradient-inputs .k-numerictextbox {
  width: 43px;
}
.k-colorgradient-sm .k-colorgradient-canvas {
  gap: var(--kendo-spacing-2, 0.5rem);
}
.k-colorgradient-sm .k-colorgradient-canvas .k-hsv-gradient {
  height: 164px;
}
.k-colorgradient-sm .k-colorgradient-canvas .k-slider-vertical {
  height: 164px;
}
.k-colorgradient-sm .k-colorgradient-canvas .k-hsv-controls {
  gap: var(--kendo-spacing-2, 0.5rem);
}

.k-colorgradient-md {
  width: 260px;
  gap: var(--kendo-spacing-4, 1rem);
  padding-block: var(--kendo-spacing-4, 1rem);
  padding-inline: calc(var(--kendo-spacing-4, 1rem) / 2);
}
.k-colorgradient-md .k-colorgradient-inputs .k-numerictextbox {
  width: 48px;
}
.k-colorgradient-md .k-colorgradient-canvas {
  gap: var(--kendo-spacing-2, 0.5rem);
}
.k-colorgradient-md .k-colorgradient-canvas .k-hsv-gradient {
  height: 180px;
}
.k-colorgradient-md .k-colorgradient-canvas .k-slider-vertical {
  height: 180px;
}
.k-colorgradient-md .k-colorgradient-canvas .k-hsv-controls {
  gap: var(--kendo-spacing-2, 0.5rem);
}

.k-colorgradient-lg {
  width: 362px;
  gap: var(--kendo-spacing-4\.5, 1.125rem);
  padding-block: var(--kendo-spacing-4, 1rem);
  padding-inline: var(--kendo-spacing-4, 1rem);
}
.k-colorgradient-lg .k-colorgradient-inputs .k-numerictextbox {
  width: 68px;
}
.k-colorgradient-lg .k-colorgradient-canvas {
  gap: var(--kendo-spacing-4, 1rem);
}
.k-colorgradient-lg .k-colorgradient-canvas .k-hsv-gradient {
  height: 256px;
}
.k-colorgradient-lg .k-colorgradient-canvas .k-slider-vertical {
  height: 256px;
}
.k-colorgradient-lg .k-colorgradient-canvas .k-hsv-controls {
  gap: var(--kendo-spacing-4, 1rem);
}

.k-colorgradient-inputs {
  gap: var(--kendo-color-gradient-input-spacing, calc(var(--kendo-spacing-4, 1rem) / 4));
}
.k-colorgradient-inputs .k-colorgradient-input-label {
  font-size: var(--kendo-color-gradient-input-label-font-size, var(--kendo-font-size-sm, inherit));
  text-transform: uppercase;
}
.k-colorgradient-inputs > .k-vstack, .k-colorgradient-inputs > .k-vbox {
  gap: var(--kendo-color-gradient-input-label-spacing, calc(var(--kendo-spacing-4, 1rem) / 4));
}
.k-colorgradient-inputs .k-numerictextbox {
  width: var(--kendo-color-gradient-input-width, 48px);
}

.k-colorgradient-color-contrast > div {
  display: flex;
  flex-flow: row nowrap;
  gap: var(--kendo-color-gradient-contrast-spacing, calc(var(--kendo-spacing-4, 1rem) / 1.5));
}
.k-colorgradient-color-contrast .k-contrast-ratio {
  margin-block-end: var(--kendo-color-gradient-contrast-spacing, calc(var(--kendo-spacing-4, 1rem) / 1.5));
}
.k-colorgradient-color-contrast .k-contrast-ratio-text {
  font-weight: var(--kendo-color-gradient-contrast-ratio-font-weight, var(--kendo-font-weight-bold, normal));
}
.k-colorgradient-color-contrast .k-contrast-validation {
  --INTERNAL--kendo-color-gradient-contrast-spacing: var( --kendo-color-gradient-contrast-spacing, calc(var(--kendo-spacing-4, 1rem) / 1.5) );
  display: inline-flex;
  align-items: center;
  gap: calc(var(--INTERNAL--kendo-color-gradient-contrast-spacing) / 2);
}
.k-colorgradient-color-contrast .k-contrast-validation .k-icon {
  vertical-align: middle;
}
.k-colorgradient-color-contrast .k-contrast-validation .k-icon + .k-icon,
.k-colorgradient-color-contrast .k-contrast-validation .k-icon-wrapper-host + .k-icon-wrapper-host .k-icon {
  margin-inline-start: -13px;
}

.k-color-contrast-svg {
  position: absolute;
  top: 0;
  left: 0;
  overflow: visible;
  pointer-events: none;
}

.k-colorgradient {
  border-color: var(--kendo-color-gradient-border, var(--kendo-component-border, initial));
  color: var(--kendo-color-gradient-text, var(--kendo-component-text, initial));
  background-color: var(--kendo-color-gradient-bg, var(--kendo-component-bg, initial));
  box-shadow: var(--kendo-color-gradient-shadow, var(--kendo-box-shadow-depth-2, none));
}

.k-colorgradient:focus,
.k-colorgradient.k-focus {
  border-color: var(--kendo-color-gradient-focus-border, color-mix(in srgb, var(--kendo-color-border, #8a8886) 10%, transparent));
}

.k-colorgradient-canvas .k-hsv-gradient {
  background: linear-gradient(to bottom, rgba(0, 0, 0, 0), black), linear-gradient(to right, white, rgba(255, 255, 255, 0));
}
.k-colorgradient-canvas .k-hsv-rectangle {
  border-color: var(--kendo-color-gradient-canvas-rectangle-border, color-mix(in srgb, var(--kendo-color-border, #8a8886) 16%, transparent));
}

.k-colorgradient .k-draghandle {
  border-color: var(--kendo-color-gradient-draghandle-border, var(--kendo-color-app-surface, #ffffff));
  outline-color: var(--kendo-color-base-emphasis, #605e5c);
  box-shadow: var(--kendo-color-gradient-draghandle-shadow, var(--kendo-box-shadow-depth-2, none));
}
.k-colorgradient .k-draghandle:focus, .k-colorgradient .k-draghandle.k-focus {
  border-color: var(--kendo-color-gradient-draghandle-focus-border, var(--kendo-color-app-surface, #ffffff));
  outline-color: var(--kendo-color-base-emphasis, #605e5c);
}
.k-colorgradient .k-draghandle:active, .k-colorgradient .k-draghandle:hover, .k-colorgradient .k-draghandle.k-hover {
  outline-color: var(--kendo-color-base-emphasis, #605e5c);
}

.k-colorgradient-slider .k-slider-track {
  border-color: var(--kendo-color-gradient-slider-border, color-mix(in srgb, var(--kendo-color-border, #8a8886) 16%, transparent));
}

.k-colorgradient-slider.k-hue-slider.k-slider-horizontal .k-slider-track {
  background: linear-gradient(to right, #ff0000, #ffff00, #00ff00, #00ffff, #0000ff, #ff00ff, #ff0000);
}
.k-colorgradient-slider.k-hue-slider.k-slider-vertical .k-slider-track {
  background: linear-gradient(to top, #ff0000, #ffff00, #00ff00, #00ffff, #0000ff, #ff00ff, #ff0000);
}

.k-colorgradient-slider.k-alpha-slider .k-slider-track::before {
  background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAoAAAAKCAYAAACNMs+9AAAACXBIWXMAAAsTAAALEwEAmpwYAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAuSURBVHgBxYyxDQAwDMJIL+YT+DjtzFRliUfLcklqBCRT4eCTxbD6kdL2/LgYXqpvCbs3kBv/AAAAAElFTkSuQmCC) center repeat;
}

.k-colorgradient-input-label {
  color: var(--kendo-color-gradient-input-label-text, var(--kendo-subtle-text, inherit));
}

.k-align-self-auto {
  align-self: auto;
}

.\!k-align-self-auto {
  align-self: auto !important;
}

.k-align-self-normal {
  align-self: normal;
}

.\!k-align-self-normal {
  align-self: normal !important;
}

.k-align-self-stretch {
  align-self: stretch;
}

.\!k-align-self-stretch {
  align-self: stretch !important;
}

.k-align-self-center {
  align-self: center;
}

.\!k-align-self-center {
  align-self: center !important;
}

.k-align-self-start {
  align-self: start;
}

.\!k-align-self-start {
  align-self: start !important;
}

.k-align-self-end {
  align-self: end;
}

.\!k-align-self-end {
  align-self: end !important;
}

.k-align-self-flex-start {
  align-self: flex-start;
}

.\!k-align-self-flex-start {
  align-self: flex-start !important;
}

.k-align-self-flex-end {
  align-self: flex-end;
}

.\!k-align-self-flex-end {
  align-self: flex-end !important;
}

.k-align-self-baseline {
  align-self: baseline;
}

.\!k-align-self-baseline {
  align-self: baseline !important;
}

.k-align-self-first-baseline {
  align-self: first baseline;
}

.\!k-align-self-first-baseline {
  align-self: first baseline !important;
}

.k-align-self-last-baseline {
  align-self: last baseline;
}

.\!k-align-self-last-baseline {
  align-self: last baseline !important;
}

.k-align-self-self-start {
  align-self: self-start;
}

.\!k-align-self-self-start {
  align-self: self-start !important;
}

.k-align-self-self-end {
  align-self: self-end;
}

.\!k-align-self-self-end {
  align-self: self-end !important;
}

.k-coloreditor {
  border-radius: var(--kendo-color-editor-border-radius, var(--kendo-border-radius-md, 0.25rem));
  min-width: var(--kendo-color-editor-min-width, 260px);
  border-width: var(--kendo-color-editor-border-width, 1px);
  border-style: solid;
  box-sizing: border-box;
  outline: 0;
  font-family: var(--kendo-color-editor-font-family, var(--kendo-font-family, inherit));
  font-size: var(--kendo-color-editor-font-size, var(--kendo-font-size, inherit));
  line-height: var(--kendo-color-editor-line-height, var(--kendo-line-height, normal));
  display: inline-flex;
  flex-direction: column;
  align-items: stretch;
}
.k-coloreditor *,
.k-coloreditor *::before,
.k-coloreditor *::after {
  box-sizing: border-box;
}

.k-coloreditor .k-colorgradient:focus,
.k-coloreditor .k-colorgradient.k-focus {
  outline: var(--kendo-color-editor-color-gradient-focus-outline, 2px) dotted;
  outline-offset: var(--kendo-color-editor-color-gradient-focus-outline-offset, 2px);
  border-radius: 0;
}

.k-coloreditor-header {
  padding-inline: var(--kendo-color-editor-header-padding-x, var(--kendo-spacing-2, 0.5rem));
  padding-block-start: var(--kendo-color-editor-header-padding-y, var(--kendo-spacing-2, 0.5rem));
}

.k-coloreditor-header-actions {
  gap: var(--kendo-color-editor-header-actions-spacing, calc(var(--kendo-spacing-2, 0.5rem) / 2));
}

.k-coloreditor-preview {
  display: flex;
  flex-flow: column nowrap;
  align-items: stretch;
  justify-content: space-between;
  gap: var(--kendo-color-editor-preview-spacing, var(--kendo-spacing-1, 0.25rem));
  position: relative;
  z-index: 1;
}

.k-coloreditor-preview .k-color-preview {
  width: var(--kendo-color-editor-color-preview-width, 34px);
  height: var(--kendo-color-editor-color-preview-height, 14px);
}

.k-coloreditor-sm {
  min-width: 236px;
}
.k-coloreditor-sm .k-coloreditor-header {
  padding: var(--kendo-spacing-2, 0.5rem) var(--kendo-spacing-2, 0.5rem) 0;
}
.k-coloreditor-sm .k-coloreditor-views {
  padding-block-start: calc(var(--kendo-spacing-2, 0.5rem) * 2);
  padding-block-end: var(--kendo-spacing-2, 0.5rem);
  padding-inline: var(--kendo-spacing-2, 0.5rem);
}
.k-coloreditor-sm .k-coloreditor-preview {
  gap: var(--kendo-spacing-1, 0.25rem);
}
.k-coloreditor-sm .k-coloreditor-preview .k-color-preview {
  width: 34px;
  height: 12px;
}

.k-coloreditor-md {
  min-width: 260px;
}
.k-coloreditor-md .k-coloreditor-header {
  padding: var(--kendo-spacing-2, 0.5rem) var(--kendo-spacing-2, 0.5rem) 0;
}
.k-coloreditor-md .k-coloreditor-views {
  padding-block-start: calc(var(--kendo-spacing-2, 0.5rem) * 2);
  padding-block-end: var(--kendo-spacing-2, 0.5rem);
  padding-inline: var(--kendo-spacing-2, 0.5rem);
}
.k-coloreditor-md .k-coloreditor-preview {
  gap: var(--kendo-spacing-1, 0.25rem);
}
.k-coloreditor-md .k-coloreditor-preview .k-color-preview {
  width: 34px;
  height: 14px;
}

.k-coloreditor-lg {
  min-width: 362px;
}
.k-coloreditor-lg .k-coloreditor-header {
  padding: var(--kendo-spacing-4, 1rem) var(--kendo-spacing-4, 1rem) 0;
}
.k-coloreditor-lg .k-coloreditor-views {
  padding-block-start: calc(var(--kendo-spacing-4, 1rem) * 2);
  padding-block-end: var(--kendo-spacing-4, 1rem);
  padding-inline: var(--kendo-spacing-4, 1rem);
}
.k-coloreditor-lg .k-coloreditor-preview {
  gap: var(--kendo-spacing-1, 0.25rem);
}
.k-coloreditor-lg .k-coloreditor-preview .k-color-preview {
  width: 34px;
  height: 16px;
}

.k-coloreditor-views {
  min-width: calc(var(--kendo-color-preview-width, var(--kendo-spacing-6, 1.5rem)) * var(--kendo-color-preview-columns, 10));
  padding-inline: var(--kendo-color-editor-views-padding-x, var(--kendo-spacing-2, 0.5rem));
  padding-block-start: calc(var(--kendo-color-editor-views-padding-y, var(--kendo-spacing-2, 0.5rem)) * 2);
  padding-block-end: var(--kendo-color-editor-views-padding-y, var(--kendo-spacing-2, 0.5rem));
  gap: var(--kendo-color-editor-views-spacing, var(--kendo-spacing-2, 0.5rem));
}
.k-coloreditor-views .k-colorgradient {
  padding: 0;
  width: auto;
  border-width: 0;
  box-shadow: none;
}
.k-coloreditor-views .k-colorpalette {
  align-self: center;
}

.k-coloreditor-footer.k-actions, .k-coloreditor-footer.k-edit-buttons,
.k-coloreditor-footer.k-action-buttons,
.k-coloreditor-footer.k-columnmenu-actions, .k-coloreditor-footer.k-form-buttons {
  padding-block: var(--kendo-color-editor-footer-padding-y, var(--kendo-spacing-2, 0.5rem));
  padding-inline: var(--kendo-color-editor-footer-padding-y, var(--kendo-spacing-2, 0.5rem));
  margin: 0;
}

.k-coloreditor {
  border-color: var(--kendo-color-editor-border, var(--kendo-component-border, initial));
  color: var(--kendo-color-editor-text, var(--kendo-component-text, initial));
  background-color: var(--kendo-color-editor-bg, var(--kendo-component-bg, initial));
  box-shadow: var(--kendo-color-editor-shadow, var(--kendo-box-shadow-depth-2, none));
}

.k-coloreditor:focus,
.k-coloreditor.k-focus {
  border-color: var(--kendo-color-editor-focus-border, color-mix(in srgb, var(--kendo-color-border, #8a8886) 10%, transparent));
  box-shadow: var(--kendo-color-editor-focus-shadow, var(--kendo-box-shadow-depth-3, none));
}

.k-coloreditor .k-colorgradient:focus,
.k-coloreditor .k-colorgradient.k-focus {
  box-shadow: none;
  outline-color: var(--kendo-color-editor-color-gradient-focus-outline-color, rgba(0, 0, 0, 0.3));
}

.k-color-picker, .k-colorpicker {
  width: min-content;
}

.k-datetime-selector {
  display: flex;
  transition: transform 0.2s;
}

.k-datetime-wrap {
  width: var(--kendo-datetime-width, calc(224px + var(--kendo-spacing-3, 0.75rem) * 2));
  overflow: hidden;
}
.k-datetime-wrap .k-datetime-buttongroup {
  padding-inline: var(--kendo-datetime-button-group-padding-x, var(--kendo-spacing-3, 0.75rem));
  padding-block: var(--kendo-datetime-button-group-padding-y, var(--kendo-spacing-3, 0.75rem)) 0;
}
.k-datetime-wrap .k-calendar,
.k-datetime-wrap .k-timeselector {
  width: 100%;
  border-width: 0;
}

.k-datetime-calendar-wrap,
.k-datetime-time-wrap {
  text-align: center;
  flex: 0 0 var(--kendo-datetime-width, calc(224px + var(--kendo-spacing-3, 0.75rem) * 2));
}

.k-datetime-time-wrap .k-time-header {
  flex-direction: column;
}

.k-date-tab .k-datetime-selector {
  transform: translateX(0);
}

.k-time-tab .k-datetime-selector {
  transform: translateX(-100%);
}

:is(.k-rtl, [dir=rtl]) .k-time-tab .k-datetime-selector,
.k-time-tab .k-datetime-selector:is(.k-rtl, [dir=rtl]) {
  transform: translateX(100%);
}

.k-daterange-picker, .k-daterangepicker {
  width: var(--kendo-daterange-picker-width, var(--kendo-input-width, 100%));
  display: flex;
  flex-flow: row nowrap;
  align-items: flex-end;
  gap: var(--kendo-spacing-2, 0.5rem);
}
.k-daterange-picker *, .k-daterangepicker *,
.k-daterange-picker *::before,
.k-daterangepicker *::before,
.k-daterange-picker *::after,
.k-daterangepicker *::after {
  box-sizing: border-box;
}
.k-daterange-picker .k-dateinput, .k-daterangepicker .k-dateinput {
  width: var(--kendo-daterange-picker-input-width, 10em);
}

.k-daterangepicker-wrap {
  display: inherit;
  flex-flow: inherit;
  align-items: inherit;
  gap: inherit;
}

.k-daterange-picker:disabled, .k-daterangepicker:disabled, .k-daterange-picker[disabled], [disabled].k-daterangepicker, .k-daterange-picker.k-disabled, .k-disabled.k-daterangepicker {
  outline: none;
  cursor: default;
  color: var(--kendo-daterange-picker-disabled-text, var(--kendo-disabled-text, inherit));
  background-color: var(--kendo-daterange-picker-disabled-bg, transparent);
  border-color: var(--kendo-daterange-picker-disabled-border, currentColor);
  pointer-events: none;
  box-shadow: none;
}
.k-daterange-picker:disabled .k-input, .k-daterangepicker:disabled .k-input, .k-daterange-picker[disabled] .k-input, [disabled].k-daterangepicker .k-input, .k-daterange-picker.k-disabled .k-input, .k-disabled.k-daterangepicker .k-input {
  border-color: var(--kendo-input-disabled-border, currentColor);
  color: var(--kendo-input-disabled-text, inherit);
  background-color: var(--kendo-input-disabled-bg, transparent);
}

.k-dropdowngrid-popup {
  overflow: hidden;
}

.k-dropdowngrid-popup > .k-data-table {
  border-width: 0;
}

.k-dropdown-operator {
  width: min-content;
  flex: none;
}
.k-dropdown-operator .k-input-button {
  border-width: 0;
}
.k-dropdown-operator .k-input-button .k-button-icon {
  width: auto;
  aspect-ratio: 1;
}
.k-dropdown-operator .k-input-inner {
  display: none;
}

.k-treeview {
  padding: 0;
  border-width: 0;
  background: none;
  box-sizing: border-box;
  outline: 0;
  font-family: var(--kendo-treeview-font-family, var(--kendo-font-family, normal));
  font-size: var(--INTERNAL--kendo-treeview-font-size, 1rem);
  line-height: var(--INTERNAL--kendo-treeview-line-height, normal);
  display: block;
  cursor: default;
  overflow: auto;
  white-space: nowrap;
  -webkit-touch-callout: none;
  -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
}
.k-treeview *,
.k-treeview *::before,
.k-treeview *::after {
  box-sizing: border-box;
}

.k-treeview-filter {
  padding-inline: var(--kendo-treeview-filter-padding-x, var(--kendo-spacing-2, 0.5rem));
  padding-block: var(--kendo-treeview-filter-padding-y, var(--kendo-spacing-2, 0.5rem));
  display: block;
  position: relative;
  flex: none;
}

.k-treeview-group {
  margin: 0;
  padding: 0;
  list-style: none;
  position: relative;
  outline: 0;
  -webkit-touch-callout: none;
  -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
}
.k-treeview-group.ng-animating {
  overflow: hidden;
}

.k-treeview-top,
.k-treeview-mid,
.k-treeview-bot {
  display: flex;
  flex-direction: row;
  align-items: center;
  align-content: center;
}

.k-treeview-item {
  margin: 0;
  padding-inline-start: var(--kendo-treeview-indent, var(--kendo-spacing-6, 1.5rem));
  border-width: 0;
  display: block;
  outline-style: none;
}

.k-treeview-toggle {
  margin-inline-start: calc(var(--kendo-treeview-indent, var(--kendo-spacing-6, 1.5rem)) * -1);
  flex: none;
  display: inline-flex;
  flex-flow: row nowrap;
  align-items: center;
  cursor: pointer;
}

.k-treeview-toggle .k-icon {
  padding: var(--kendo-icon-padding, 0.25rem);
  box-sizing: content-box;
}

.k-treeview-loading {
  margin-inline-end: var(--kendo-icon-spacing, 0.5rem);
}

.k-treeview .k-checkbox-wrap,
.k-treeview .k-checkbox-wrapper {
  padding: var(--kendo-treeview-checkbox-wrap-padding, var(--kendo-spacing-0\.5, 0.125rem));
  align-self: center;
}

.k-treeview-leaf {
  border-radius: var(--kendo-treeview-item-border-radius, var(--kendo-border-radius-md, 0.25rem));
  padding-inline: var(--INTERNAL--kendo-treeview-item-padding-x, 0);
  padding-block: var(--INTERNAL--kendo-treeview-item-padding-y, 0);
  border: 0 solid transparent;
  text-decoration: none;
  display: inline-flex;
  align-items: center;
  align-content: center;
  vertical-align: middle;
  position: relative;
}
.k-treeview-leaf .k-icon,
.k-treeview-leaf .k-image,
.k-treeview-leaf .k-sprite {
  margin-inline-end: var(--kendo-icon-spacing, 0.5rem);
}
.k-treeview-leaf.k-focus {
  z-index: 1;
}

.k-treeview .k-treeview-load-more-button {
  cursor: pointer;
}
.k-treeview .k-treeview-load-more-button:hover, .k-treeview .k-treeview-load-more-button.k-hover, .k-treeview .k-treeview-load-more-button:focus, .k-treeview .k-treeview-load-more-button.k-focus {
  text-decoration: underline;
}

.k-treeview-sm {
  --INTERNAL--kendo-treeview-font-size: var( --kendo-treeview-sm-font-size, var(--kendo-font-size, inherit) );
  --INTERNAL--kendo-treeview-line-height: var( --kendo-treeview-sm-line-height, var(--kendo-line-height, normal) );
}
.k-treeview-sm .k-treeview-leaf {
  --INTERNAL--kendo-treeview-item-padding-x: var( --kendo-treeview-sm-item-padding-x, var(--kendo-spacing-2, 0.5rem) );
  --INTERNAL--kendo-treeview-item-padding-y: var( --kendo-treeview-sm-item-padding-y, var(--kendo-spacing-1\.5, 0.375rem) );
}

.k-treeview-md {
  --INTERNAL--kendo-treeview-font-size: var( --kendo-treeview-md-font-size, var(--kendo-font-size, inherit) );
  --INTERNAL--kendo-treeview-line-height: var( --kendo-treeview-md-line-height, var(--kendo-line-height, normal) );
}
.k-treeview-md .k-treeview-leaf {
  --INTERNAL--kendo-treeview-item-padding-x: var( --kendo-treeview-md-item-padding-x, var(--kendo-spacing-2, 0.5rem) );
  --INTERNAL--kendo-treeview-item-padding-y: var( --kendo-treeview-md-item-padding-y, var(--kendo-spacing-2, 0.5rem) );
}

.k-treeview-lg {
  --INTERNAL--kendo-treeview-font-size: var( --kendo-treeview-lg-font-size, var(--kendo-font-size, inherit) );
  --INTERNAL--kendo-treeview-line-height: var( --kendo-treeview-lg-line-height, var(--kendo-line-height, normal) );
}
.k-treeview-lg .k-treeview-leaf {
  --INTERNAL--kendo-treeview-item-padding-x: var( --kendo-treeview-lg-item-padding-x, var(--kendo-spacing-2, 0.5rem) );
  --INTERNAL--kendo-treeview-item-padding-y: var( --kendo-treeview-lg-item-padding-y, var(--kendo-spacing-2\.5, 0.625rem) );
}

.k-treeview {
  border-color: var(--kendo-treeview-border, inherit);
  color: var(--kendo-treeview-text, var(--kendo-component-text, inherit));
  background-color: var(--kendo-treeview-bg, transparent);
}

.k-treeview-item:disabled,
.k-treeview-item.k-disabled {
  background-color: transparent;
}

.k-treeview-leaf {
  --INTERNAL--kendo-treeview-item-text: var( --kendo-treeview-item-text, var(--kendo-component-text, inherit) );
  --INTERNAL--kendo-treeview-item-bg: var( --kendo-treeview-item-bg, transparent );
  --INTERNAL--kendo-treeview-item-border: var( --kendo-treeview-item-border, inherit );
  border-color: var(--INTERNAL--kendo-treeview-item-border, inherit);
  color: var(--INTERNAL--kendo-treeview-item-text, inherit);
  background-color: var(--INTERNAL--kendo-treeview-item-bg, transparent);
}
.k-treeview-leaf:hover, .k-treeview-leaf.k-hover {
  --INTERNAL--kendo-treeview-item-text: var( --kendo-treeview-item-hover-text, var(--kendo-hover-text, inherit) );
  --INTERNAL--kendo-treeview-item-bg: var( --kendo-treeview-item-hover-bg, var(--kendo-hover-bg, inherit) );
  --INTERNAL--kendo-treeview-item-border: var( --kendo-treeview-item-hover-border, inherit );
}
.k-treeview-leaf:focus, .k-treeview-leaf.k-focus {
  --INTERNAL--kendo-treeview-item-text: var( --kendo-treeview-item-focus-text, var(--kendo-component-text, inherit) );
  --INTERNAL--kendo-treeview-item-bg: var( --kendo-treeview-item-focus-bg, transparent );
  --INTERNAL--kendo-treeview-item-border: var( --kendo-treeview-item-focus-border, inherit );
  box-shadow: inset 0 0 0 1px var(--kendo-color-base-emphasis, #605e5c);
}
.k-treeview-leaf.k-selected {
  --INTERNAL--kendo-treeview-item-text: var( --kendo-treeview-item-selected-text, var(--kendo-selected-text, inherit) );
  --INTERNAL--kendo-treeview-item-bg: var( --kendo-treeview-item-selected-bg, var(--kendo-selected-bg, inherit) );
  --INTERNAL--kendo-treeview-item-border: var( --kendo-treeview-item-selected-border, inherit );
}

.k-treeview-leaf:is(:disabled, .k-disabled),
:is(.k-treeview-item:disabled, .k-treeview-item.k-disabled) .k-treeview-leaf {
  --INTERNAL--kendo-treeview-item-text: var( --kendo-treeview-item-disabled-text, var(--kendo-disabled-text, inherit) );
  --INTERNAL--kendo-treeview-item-bg: var( --kendo-treeview-item-disabled-bg, transparent );
  --INTERNAL--kendo-treeview-item-border: var( --kendo-treeview-item-disabled-border, inherit );
}

.k-treeview .k-treeview-load-more-button {
  --INTERNAL--kendo-treeview-loadmore-text: var( --kendo-treeview-loadmore-text, var(--kendo-link-text, initial) );
  --INTERNAL--kendo-treeview-loadmore-bg: var( --kendo-treeview-loadmore-bg, transparent );
  --INTERNAL--kendo-treeview-loadmore-border: var( --kendo-treeview-loadmore-border, inherit );
  border-color: var(--INTERNAL--kendo-treeview-loadmore-border, inherit);
  color: var(--INTERNAL--kendo-treeview-loadmore-text, inherit);
  background-color: var(--INTERNAL--kendo-treeview-loadmore-bg, transparent);
}
.k-treeview .k-treeview-load-more-button:hover, .k-treeview .k-treeview-load-more-button.k-hover {
  --INTERNAL--kendo-treeview-loadmore-text: var( --kendo-treeview-loadmore-hover-text, var(--kendo-link-hover-text, initial) );
  --INTERNAL--kendo-treeview-loadmore-bg: var( --kendo-treeview-loadmore-hover-bg, transparent );
  --INTERNAL--kendo-treeview-loadmore-border: var( --kendo-treeview-loadmore-hover-border, inherit );
}
.k-treeview .k-treeview-load-more-button:focus, .k-treeview .k-treeview-load-more-button.k-focus {
  --INTERNAL--kendo-treeview-loadmore-text: var( --kendo-treeview-loadmore-focus-text, var(--kendo-link-hover-text, initial) );
  --INTERNAL--kendo-treeview-loadmore-bg: var( --kendo-treeview-loadmore-focus-bg, transparent );
  --INTERNAL--kendo-treeview-loadmore-border: var( --kendo-treeview-loadmore-focus-border, inherit );
  box-shadow: inset 0 0 0 1px var(--kendo-color-base-emphasis, #605e5c);
}

.k-popup-dropdowntree .k-treeview,
.k-dropdowntree-popup .k-treeview,
.k-multiselecttree-popup .k-treeview {
  padding-block: calc(var(--kendo-dropdowntree-popup-padding-y, var(--kendo-spacing-2, 0.5rem)) / 2);
  padding-inline: calc(var(--kendo-dropdowntree-popup-padding-x, var(--kendo-spacing-2, 0.5rem)) / 2);
}
.k-popup-dropdowntree .k-check-all,
.k-dropdowntree-popup .k-check-all,
.k-multiselecttree-popup .k-check-all {
  padding-block: var(--kendo-dropdowntree-popup-padding-y, var(--kendo-spacing-2, 0.5rem));
  padding-inline: var(--kendo-dropdowntree-popup-padding-x, var(--kendo-spacing-2, 0.5rem));
}

.k-multiselecttree .k-input-values {
  width: auto;
  max-width: 100%;
}
.k-multiselecttree .k-input-inner::before {
  content: "​";
  width: 0px;
  overflow: hidden;
  flex: none;
  display: inline-block;
  vertical-align: top;
}

.k-rating {
  margin: 0;
  padding: 0;
  border-width: 0;
  box-sizing: border-box;
  outline: 0;
  font-size: var(--kendo-rating-font-size, var(--kendo-font-size-sm, inherit));
  font-family: var(--kendo-rating-font-family, var(--kendo-font-family, inherit));
  line-height: var(--kendo-rating-line-height, var(--kendo-line-height, normal));
  display: inline-flex;
  gap: var(--kendo-rating-spacing, var(--kendo-spacing-1, 0.25rem));
  background: none;
  -webkit-touch-callout: none;
  -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
}
.k-rating *,
.k-rating *::before,
.k-rating *::after {
  box-sizing: border-box;
}
.k-rating.k-readonly {
  pointer-events: none;
}

.k-rating-container {
  position: relative;
  flex: 0 1 auto;
}

.k-rating-item {
  margin: 0;
  padding-inline: var(--kendo-rating-item-padding-x, var(--kendo-spacing-0\.5, 0.125rem));
  padding-block: var(--kendo-rating-item-padding-y, var(--kendo-spacing-2, 0.5rem));
  vertical-align: middle;
  display: inline-flex;
  align-items: center;
  position: relative;
  overflow: hidden;
  outline: 0;
  transition: color 200ms ease-out 0s;
}
.k-rating-item * {
  pointer-events: none;
}
.k-rating-item svg {
  fill: currentColor;
}
.k-rating-item:focus, .k-rating-item.k-focus {
  outline-width: var(--kendo-rating-item-focus-outline-width, 1px);
  outline-style: var(--kendo-rating-item-focus-outline-style, solid);
  outline-offset: -1px;
}

.k-rating-label {
  vertical-align: middle;
  display: inline-flex;
  align-items: center;
}

.k-rating-precision-part,
.k-rating-precision-complement {
  display: inherit;
  position: absolute;
  top: var(--kendo-rating-item-padding-y, var(--kendo-spacing-2, 0.5rem));
  inset-inline-start: var(--kendo-rating-item-padding-x, var(--kendo-spacing-0\.5, 0.125rem));
  overflow: hidden;
}

.k-rating-precision-complement {
  direction: rtl;
}

:is(.k-rtl, [dir=rtl]) .k-rating-precision-complement {
  direction: ltr;
}

.k-rating-item {
  color: var(--kendo-rating-item-text, var(--kendo-color-subtle, #605e5c));
}
.k-rating-item.k-selected {
  color: var(--kendo-rating-item-selected-text, var(--kendo-color-on-app-surface, #323130));
}
.k-rating-item.k-selected:hover, .k-rating-item.k-selected.k-hover {
  color: var(--kendo-rating-item-selected-hover-text, var(--kendo-color-primary-active, #005a9e));
}
.k-rating-item:hover, .k-rating-item.k-hover {
  color: var(--kendo-rating-item-hover-text, var(--kendo-color-primary, #0078d4));
  cursor: pointer;
}
.k-rating-item:focus, .k-rating-item.k-focus {
  outline-color: var(--kendo-rating-item-focus-outline, currentColor);
}
.k-rating-item.k-disabled {
  outline: none;
  cursor: default;
  color: var(--kendo-disabled-text, inherit);
  background-color: inherit;
  border-color: var(--kendo-disabled-border, inherit);
  pointer-events: none;
  box-shadow: none;
}

.k-searchbox .k-input-icon {
  transition: var(--kendo-transition, none);
}
.k-searchbox:focus .k-input-icon, .k-searchbox:focus-within .k-input-icon, .k-searchbox.k-focus .k-input-icon {
  width: 0;
  opacity: 0;
  transition: var(--kendo-transition, none);
}

.k-searchbox .k-input-icon {
  color: var(--kendo-searchbox-icon-color, var(--kendo-color-primary, #0078d4));
}

.k-switch {
  box-sizing: border-box;
  width: var(--INTERNAL--kendo-switch-width, auto);
  height: var(--INTERNAL--kendo-switch-height, auto);
  font-family: var(--kendo-switch-font-family, var(--kendo-font-family, normal));
  font-size: var(--INTERNAL--kendo-switch-font-size, 1rem);
  outline: 0;
  display: inline-flex;
  align-items: center;
  vertical-align: middle;
  line-height: 1;
  position: relative;
  cursor: pointer;
  user-select: none;
  -webkit-touch-callout: none;
  -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
}
.k-switch.k-switch-on .k-switch-thumb-wrap {
  inset-inline-start: calc(100% - var(--INTERNAL--kendo-switch-thumb-width, auto) / 2 - var(--INTERNAL--kendo-switch-thumb-offset, 0));
}
.k-switch.k-switch-off .k-switch-thumb-wrap {
  inset-inline-start: calc(var(--INTERNAL--kendo-switch-thumb-width, auto) / 2 + var(--INTERNAL--kendo-switch-thumb-offset, 0));
}
.k-switch *,
.k-switch *::before,
.k-switch *::after {
  box-sizing: border-box;
}
.k-switch [type=checkbox] {
  display: none;
}
.k-switch[aria-readonly=true] {
  pointer-events: none;
}

.k-switch:focus::after,
.k-switch.k-focus::after {
  content: "";
  position: absolute;
  inset: -2px;
  z-index: 1;
}

.k-switch.k-readonly {
  pointer-events: none;
}

.k-switch-track {
  width: var(--INTERNAL--kendo-switch-width, auto);
  height: var(--INTERNAL--kendo-switch-height, auto);
  border-width: var(--kendo-switch-track-border-width, 1px);
  border-style: solid;
  outline: 0;
  display: flex;
  flex-flow: row nowrap;
  flex: 1 0 auto;
  position: relative;
  transition: all 100ms ease-in-out;
}

.k-switch-thumb-wrap {
  width: 0;
  height: 0;
  overflow: visible;
  position: absolute;
  transition: inset-inline-start 100ms ease-in-out;
  top: 50%;
}

.k-switch-thumb {
  width: var(--INTERNAL--kendo-switch-thumb-width, auto);
  height: var(--INTERNAL--kendo-switch-thumb-height, auto);
  border-width: var(--kendo-switch-thumb-border-width, 0);
  border-style: solid;
  display: block;
  position: absolute;
  transform: translate(-50%, -50%);
  transition: all 100ms ease-in-out;
}

.k-switch-label-on,
.k-switch-label-off {
  text-transform: var(--kendo-switch-label-text-transform, uppercase);
  display: var(--kendo-switch-label-display, none);
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  overflow: hidden;
}

.k-switch-label-on {
  inset-inline-start: var(--INTERNAL--kendo-switch-label-offset, 0);
}

.k-switch-label-off {
  inset-inline-end: var(--INTERNAL--kendo-switch-label-offset, 0);
}

.k-switch-sm {
  --INTERNAL--kendo-switch-width: var( --kendo-switch-sm-width, 36px );
  --INTERNAL--kendo-switch-height: var( --kendo-switch-sm-height, 16px );
  --INTERNAL--kendo-switch-font-size: var( --kendo-switch-sm-font-size, 10px );
}
.k-switch-sm .k-switch-label-on,
.k-switch-sm .k-switch-label-off {
  --INTERNAL--kendo-switch-label-offset: var( --kendo-switch-sm-label-offset, 4px );
}
.k-switch-sm .k-switch-thumb,
.k-switch-sm .k-switch-thumb-wrap {
  --INTERNAL--kendo-switch-thumb-width: var( --kendo-switch-sm-thumb-width, 10px );
  --INTERNAL--kendo-switch-thumb-height: var( --kendo-switch-sm-thumb-height, 10px );
}
.k-switch-sm .k-switch-thumb-wrap {
  --INTERNAL--kendo-switch-thumb-offset: var( --kendo-switch-sm-thumb-offset, 3px );
}

.k-switch-md {
  --INTERNAL--kendo-switch-width: var( --kendo-switch-md-width, 40px );
  --INTERNAL--kendo-switch-height: var( --kendo-switch-md-height, 20px );
  --INTERNAL--kendo-switch-font-size: var( --kendo-switch-md-font-size, 10px );
}
.k-switch-md .k-switch-label-on,
.k-switch-md .k-switch-label-off {
  --INTERNAL--kendo-switch-label-offset: var( --kendo-switch-md-label-offset, 5px );
}
.k-switch-md .k-switch-thumb,
.k-switch-md .k-switch-thumb-wrap {
  --INTERNAL--kendo-switch-thumb-width: var( --kendo-switch-md-thumb-width, 12px );
  --INTERNAL--kendo-switch-thumb-height: var( --kendo-switch-md-thumb-height, 12px );
}
.k-switch-md .k-switch-thumb-wrap {
  --INTERNAL--kendo-switch-thumb-offset: var( --kendo-switch-md-thumb-offset, 4px );
}

.k-switch-lg {
  --INTERNAL--kendo-switch-width: var( --kendo-switch-lg-width, 44px );
  --INTERNAL--kendo-switch-height: var( --kendo-switch-lg-height, 24px );
  --INTERNAL--kendo-switch-font-size: var( --kendo-switch-lg-font-size, 10px );
}
.k-switch-lg .k-switch-label-on,
.k-switch-lg .k-switch-label-off {
  --INTERNAL--kendo-switch-label-offset: var( --kendo-switch-lg-label-offset, 6px );
}
.k-switch-lg .k-switch-thumb,
.k-switch-lg .k-switch-thumb-wrap {
  --INTERNAL--kendo-switch-thumb-width: var( --kendo-switch-lg-thumb-width, 14px );
  --INTERNAL--kendo-switch-thumb-height: var( --kendo-switch-lg-thumb-height, 14px );
}
.k-switch-lg .k-switch-thumb-wrap {
  --INTERNAL--kendo-switch-thumb-offset: var( --kendo-switch-lg-thumb-offset, 5px );
}

.k-switch[dir=rtl] .k-switch-thumb,
[dir=rtl] .k-switch .k-switch-thumb,
.k-switch.k-rtl .k-switch-thumb,
.k-rtl .k-switch .k-switch-thumb {
  transform: translate(50%, -50%);
}

.k-switch:focus::after, .k-switch.k-focus::after {
  outline: 1px solid var(--kendo-color-base-emphasis, #605e5c);
}
.k-switch:disabled, .k-switch.k-disabled {
  background-color: transparent;
}

.k-switch-off .k-switch-track {
  --INTERNAL--kendo-switch-off-track-text: var( --kendo-switch-off-track-text, var(--kendo-component-text, inherit) );
  --INTERNAL--kendo-switch-off-track-bg: var( --kendo-switch-off-track-bg, var(--kendo-component-bg, transparent) );
  --INTERNAL--kendo-switch-off-track-border: var( --kendo-switch-off-track-border, var(--kendo-color-border, #8a8886) );
  border-color: var(--INTERNAL--kendo-switch-off-track-border, inherit);
  color: var(--INTERNAL--kendo-switch-off-track-text, inherit);
  background-color: var(--INTERNAL--kendo-switch-off-track-bg, transparent);
}
.k-switch-off .k-switch-thumb {
  --INTERNAL--kendo-switch-off-thumb-text: var( --kendo-switch-off-thumb-text, inherit );
  --INTERNAL--kendo-switch-off-thumb-bg: var( --kendo-switch-off-thumb-bg, var(--kendo-color-subtle, #605e5c) );
  --INTERNAL--kendo-switch-off-thumb-border: var( --kendo-switch-off-thumb-border, var(--kendo-color-border, #8a8886) );
  border-color: var(--INTERNAL--kendo-switch-off-thumb-border, inherit);
  color: var(--INTERNAL--kendo-switch-off-thumb-text, inherit);
  background-color: var(--INTERNAL--kendo-switch-off-thumb-bg, transparent);
}
.k-switch-off:hover .k-switch-track, .k-switch-off.k-hover .k-switch-track {
  --INTERNAL--kendo-switch-off-track-text: var( --kendo-switch-off-track-hover-text, var(--kendo-component-text, inherit) );
  --INTERNAL--kendo-switch-off-track-bg: var( --kendo-switch-off-track-hover-bg, var(--kendo-component-bg, transparent) );
  --INTERNAL--kendo-switch-off-track-border: var( --kendo-switch-off-track-hover-border, var(--kendo-color-border-alt, #323130) );
}
.k-switch-off:hover .k-switch-thumb, .k-switch-off.k-hover .k-switch-thumb {
  --INTERNAL--kendo-switch-off-thumb-text: var( --kendo-switch-off-thumb-hover-text, inherit );
  --INTERNAL--kendo-switch-off-thumb-bg: var( --kendo-switch-off-thumb-hover-bg, var(--kendo-color-on-app-surface, #323130) );
  --INTERNAL--kendo-switch-off-thumb-border: var( --kendo-switch-off-thumb-hover-border, var(--kendo-color-border-alt, #323130) );
}
.k-switch-off:focus .k-switch-track, .k-switch-off.k-focus .k-switch-track {
  --INTERNAL--kendo-switch-off-track-text: var( --kendo-switch-off-track-focus-text, var(--kendo-component-text, inherit) );
  --INTERNAL--kendo-switch-off-track-bg: var( --kendo-switch-off-track-focus-bg, var(--kendo-component-bg, transparent) );
  --INTERNAL--kendo-switch-off-track-border: var( --kendo-switch-off-track-focus-border, var(--kendo-color-border, #8a8886) );
}
.k-switch-off:disabled .k-switch-track, .k-switch-off.k-disabled .k-switch-track {
  --INTERNAL--kendo-switch-off-track-text: var( --kendo-switch-off-track-disabled-text, var(--kendo-component-text, inherit) );
  --INTERNAL--kendo-switch-off-track-bg: var( --kendo-switch-off-track-disabled-bg, var(--kendo-component-bg, transparent) );
  --INTERNAL--kendo-switch-off-track-border: var( --kendo-switch-off-track-disabled-border, color-mix(in srgb, var(--kendo-color-on-app-surface, #323130) 28%, transparent) );
}
.k-switch-off:disabled .k-switch-thumb, .k-switch-off.k-disabled .k-switch-thumb {
  --INTERNAL--kendo-switch-off-thumb-text: var( --kendo-switch-off-thumb-disabled-text, inherit );
  --INTERNAL--kendo-switch-off-thumb-bg: var( --kendo-switch-off-thumb-disabled-bg, color-mix(in srgb, var(--kendo-color-on-app-surface, #323130) 28%, transparent) );
  --INTERNAL--kendo-switch-off-thumb-border: var( --kendo-switch-off-thumb-disabled-border, color-mix(in srgb, var(--kendo-color-on-app-surface, #323130) 28%, transparent) );
}
.k-switch-off .k-switch-label-on {
  color: transparent;
}

.k-switch-on .k-switch-track {
  --INTERNAL--kendo-switch-on-track-text: var( --kendo-switch-on-track-text, var(--kendo-color-app-surface, #ffffff) );
  --INTERNAL--kendo-switch-on-track-bg: var( --kendo-switch-on-track-bg, var(--kendo-color-primary, #0078d4) );
  --INTERNAL--kendo-switch-on-track-border: var( --kendo-switch-on-track-border, var(--kendo-color-primary, #0078d4) );
  border-color: var(--INTERNAL--kendo-switch-on-track-border, inherit);
  color: var(--INTERNAL--kendo-switch-on-track-text, inherit);
  background-color: var(--INTERNAL--kendo-switch-on-track-bg, transparent);
}
.k-switch-on .k-switch-thumb {
  --INTERNAL--kendo-switch-on-thumb-text: var( --kendo-switch-on-thumb-text, inherit );
  --INTERNAL--kendo-switch-on-thumb-bg: var( --kendo-switch-on-thumb-bg, var(--kendo-color-app-surface, #ffffff) );
  --INTERNAL--kendo-switch-on-thumb-border: var( --kendo-switch-on-thumb-border, inherit );
  border-color: var(--INTERNAL--kendo-switch-on-thumb-border, inherit);
  color: var(--INTERNAL--kendo-switch-on-thumb-text, inherit);
  background-color: var(--INTERNAL--kendo-switch-on-thumb-bg, transparent);
}
.k-switch-on:hover .k-switch-track, .k-switch-on.k-hover .k-switch-track {
  --INTERNAL--kendo-switch-on-track-text: var( --kendo-switch-on-track-hover-text, var(--kendo-color-app-surface, #ffffff) );
  --INTERNAL--kendo-switch-on-track-bg: var( --kendo-switch-on-track-hover-bg, var(--kendo-color-primary-hover, #106ebe) );
  --INTERNAL--kendo-switch-on-track-border: var( --kendo-switch-on-track-hover-border, var(--kendo-color-primary-hover, #106ebe) );
}
.k-switch-on:hover .k-switch-thumb, .k-switch-on.k-hover .k-switch-thumb {
  --INTERNAL--kendo-switch-on-thumb-text: var( --kendo-switch-on-thumb-hover-text, inherit );
  --INTERNAL--kendo-switch-on-thumb-bg: var( --kendo-switch-on-thumb-hover-bg, var(--kendo-color-app-surface, #ffffff) );
  --INTERNAL--kendo-switch-on-thumb-border: var( --kendo-switch-on-thumb-hover-border, inherit );
}
.k-switch-on:focus .k-switch-track, .k-switch-on.k-focus .k-switch-track {
  --INTERNAL--kendo-switch-on-track-text: var( --kendo-switch-on-track-focus-text, var(--kendo-color-app-surface, #ffffff) );
  --INTERNAL--kendo-switch-on-track-bg: var( --kendo-switch-on-track-focus-bg, var(--kendo-color-primary, #0078d4) );
  --INTERNAL--kendo-switch-on-track-border: var( --kendo-switch-on-track-focus-border, var(--kendo-color-primary, #0078d4) );
}
.k-switch-on:disabled .k-switch-track, .k-switch-on.k-disabled .k-switch-track {
  --INTERNAL--kendo-switch-on-track-text: var( --kendo-switch-on-track-disabled-text, var(--kendo-color-app-surface, #ffffff) );
  --INTERNAL--kendo-switch-on-track-bg: var( --kendo-switch-on-track-disabled-bg, color-mix(in srgb, var(--kendo-color-on-app-surface, #323130) 28%, transparent) );
  --INTERNAL--kendo-switch-on-track-border: var( --kendo-switch-on-track-disabled-border, transparent );
}
.k-switch-on:disabled .k-switch-thumb, .k-switch-on.k-disabled .k-switch-thumb {
  --INTERNAL--kendo-switch-on-thumb-text: var( --kendo-switch-on-thumb-disabled-text, inherit );
  --INTERNAL--kendo-switch-on-thumb-bg: var( --kendo-switch-on-thumb-disabled-bg, var(--kendo-color-surface, #faf9f8) );
  --INTERNAL--kendo-switch-on-thumb-border: var( --kendo-switch-on-thumb-disabled-border, color-mix(in srgb, var(--kendo-color-on-app-surface, #323130) 6%, transparent) );
}
.k-switch-on .k-switch-label-off {
  color: transparent;
}

.k-external-dropzone {
  height: var(--kendo-dropzone-min-height, 220px);
  display: flex;
  flex-flow: row nowrap;
}

.k-dropzone-inner {
  padding-inline: var(--kendo-dropzone-padding-x, var(--kendo-spacing-2, 0.5rem));
  padding-block: var(--kendo-dropzone-padding-y, var(--kendo-spacing-2, 0.5rem));
  border-width: var(--kendo-dropzone-border-width, 1px);
  border-style: solid;
  box-sizing: border-box;
  font-size: var(--kendo-dropzone-font-size, var(--kendo-font-size, inherit));
  font-family: var(--kendo-dropzone-font-family, var(--kendo-font-family, inherit));
  line-height: var(--kendo-dropzone-line-height, var(--kendo-line-height, normal));
  flex: 1 1 auto;
  display: flex;
  flex-flow: column nowrap;
  align-items: center;
  justify-content: center;
  position: relative;
}
.k-dropzone-inner .k-dropzone-icon {
  margin-block-end: var(--kendo-dropzone-icon-spacing, var(--kendo-spacing-6, 1.5rem));
}
.k-dropzone-inner .k-dropzone-hint {
  margin-block-end: var(--kendo-dropzone-hint-spacing, var(--kendo-spacing-2, 0.5rem));
  font-size: var(--kendo-dropzone-hint-font-size, inherit);
  font-weight: var(--kendo-dropzone-hint-font-weight, var(--kendo-font-weight-bold, bold));
}
.k-dropzone-inner .k-dropzone-note {
  margin-block-end: var(--kendo-dropzone-note-spacing, var(--kendo-spacing-0, 0px));
  font-size: var(--kendo-dropzone-note-font-size, var(--kendo-font-size-sm, inherit));
  font-weight: var(--kendo-dropzone-note-font-weight, inherit);
}

.k-dropzone-inner {
  border-color: var(--kendo-dropzone-border, var(--kendo-component-border, initial));
  color: var(--kendo-dropzone-text, var(--kendo-component-text, inherit));
  background-color: var(--kendo-dropzone-bg, var(--kendo-color-surface, #faf9f8));
}
.k-dropzone-inner .k-icon,
.k-dropzone-inner .k-dropzone-icon {
  color: var(--kendo-dropzone-icon-text, var(--kendo-color-subtle, #605e5c));
}
.k-dropzone-inner .k-dropzone-hint {
  color: var(--kendo-dropzone-hint-text, var(--kendo-component-text, inherit));
}
.k-dropzone-inner .k-dropzone-note {
  color: var(--kendo-dropzone-note-text, var(--kendo-subtle-text, inherit));
}

.k-external-dropzone-hover .k-icon,
.k-external-dropzone-hover .k-dropzone-icon {
  color: var(--kendo-dropzone-icon-hover-text, var(--kendo-color-primary, #0078d4));
}

.k-upload {
  border-width: var(--kendo-upload-border-width, 1px);
  border-style: solid;
  box-sizing: border-box;
  outline: 0;
  font-family: var(--kendo-upload-font-family, var(--kendo-font-family, inherit));
  font-size: var(--kendo-upload-font-size, var(--kendo-font-size, inherit));
  line-height: var(--kendo-upload-line-height, var(--kendo-line-height, normal));
  position: relative;
  display: block;
  -webkit-touch-callout: none;
  -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
}
.k-upload *,
.k-upload *::before,
.k-upload *::after {
  box-sizing: border-box;
}
.k-upload .k-upload-button {
  min-width: 7em;
}
.k-upload .k-dropzone,
.k-upload .k-upload-dropzone {
  padding-inline: var(--kendo-upload-dropzone-padding-x, var(--kendo-spacing-2, 0.5rem));
  padding-block: var(--kendo-upload-dropzone-padding-y, var(--kendo-spacing-2, 0.5rem));
  border-width: 0;
  text-align: end;
  display: flex;
  align-items: center;
  justify-content: space-between;
  position: relative;
  background-color: transparent;
}
.k-upload .k-dropzone .k-dropzone-hint,
.k-upload .k-upload-dropzone .k-dropzone-hint {
  font-style: normal;
  font-weight: normal;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  position: relative;
  flex: 1;
}
.k-upload .k-dropzone .k-upload-status,
.k-upload .k-upload-dropzone .k-upload-status {
  font-weight: normal;
  display: flex;
  align-items: center;
  position: relative;
}
.k-upload .k-dropzone .k-upload-status > .k-icon,
.k-upload .k-upload-dropzone .k-upload-status > .k-icon {
  margin-inline-end: var(--kendo-upload-icon-spacing, var(--kendo-icon-spacing, 0.5rem));
}
.k-upload .k-dropzone .k-upload-status + .k-dropzone-hint,
.k-upload .k-upload-dropzone .k-upload-status + .k-dropzone-hint {
  display: none;
}
.k-upload .k-dropzone-active .k-upload-status {
  display: none;
}
.k-upload .k-dropzone-active .k-upload-status + .k-dropzone-hint {
  display: block;
}
.k-upload .k-upload-files {
  max-height: var(--kendo-upload-max-height, 300px);
  overflow-y: auto;
  margin: 0;
  padding: 0;
  border-width: 1px 0 0;
  border-style: solid;
  border-color: inherit;
  list-style: none;
}
.k-upload .k-upload-files .k-file-multiple,
.k-upload .k-upload-files .k-file-single {
  width: 100%;
  display: flex;
  justify-content: space-between;
}
.k-upload .k-upload-files .k-file-single {
  align-items: center;
}
.k-upload .k-upload-files .k-file-multiple {
  align-items: flex-start;
}
.k-upload .k-upload-files .k-file {
  padding-inline: var(--kendo-upload-item-padding-x, var(--kendo-spacing-2, 0.5rem));
  padding-block: var(--kendo-upload-item-padding-y, var(--kendo-spacing-2, 0.5rem)) calc(var(--kendo-upload-item-padding-y, var(--kendo-spacing-2, 0.5rem)) + var(--kendo-upload-progress-thickness, 2px));
  border-width: 0 0 1px;
  border-style: solid;
  outline: none;
  display: flex;
  align-items: flex-start;
  position: relative;
}
.k-upload .k-upload-files .k-file:last-child {
  border-width: 0;
}
.k-upload .k-upload-files .k-filename {
  margin-inline-start: var(--kendo-spacing-2, 0.5rem);
  flex: 1;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  position: relative;
}
.k-upload .k-upload-files .k-upload-pct {
  margin-inline: var(--kendo-upload-icon-spacing, var(--kendo-icon-spacing, 0.5rem));
  font-weight: normal;
  vertical-align: middle;
}
.k-upload .k-upload-files ~ .k-clear-selected,
.k-upload .k-upload-files ~ .k-upload-selected {
  margin-block-start: calc(-1 * var(--kendo-spacing-1, 0.25rem));
  border-width: 0;
}
.k-upload .k-upload-files ~ .k-upload-selected {
  border-inline-start: 1px;
  border-left-style: solid;
  margin-inline-start: -1px;
}
.k-upload .k-upload-files .k-file-name,
.k-upload .k-upload-files .k-file-size,
.k-upload .k-upload-files .k-file-validation-message,
.k-upload .k-upload-files .k-file-summary {
  display: block;
}
.k-upload .k-upload-files .k-file-name {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  position: relative;
}
.k-upload .k-upload-files .k-file-size,
.k-upload .k-upload-files .k-file-summary,
.k-upload .k-upload-files .k-file-validation-message {
  font-size: var(--kendo-upload-validation-font-size, var(--kendo-font-size-xs, inherit));
}
.k-upload .k-upload-files .k-file-state {
  visibility: hidden;
}
.k-upload .k-upload-files .k-file-icon-wrapper .k-file-state {
  position: absolute;
}
.k-upload .k-upload-files .k-file-info {
  margin-inline-start: 0;
  margin-inline-end: 0;
  min-height: var(--kendo-icon-size-xxl, 2rem);
  display: block;
  overflow: hidden;
  flex: 1 0 0;
}
.k-upload .k-multiple-files-wrapper,
.k-upload .k-file-single > .k-file-info {
  margin-inline-start: var(--kendo-spacing-2, 0.5rem);
  margin-inline-end: 0;
  min-height: var(--kendo-icon-size-xxl, 2rem);
  display: block;
  overflow: hidden;
  flex: 1 0 0;
}
.k-upload .k-multiple-files-wrapper .k-file-info {
  margin-block-end: var(--kendo-upload-multiple-items-spacing, var(--kendo-spacing-4, 1rem));
  display: block;
}
.k-upload .k-multiple-files-wrapper .k-file-summary {
  margin-block-start: calc(-1 * var(--kendo-upload-multiple-items-spacing, var(--kendo-spacing-4, 1rem)) / 3);
}
.k-upload .k-progressbar {
  --kendo-progressbar-height: var( --kendo-upload-progress-thickness, 2px );
  position: absolute;
  left: var(--kendo-upload-item-padding-x, var(--kendo-spacing-2, 0.5rem));
  right: var(--kendo-upload-item-padding-x, var(--kendo-spacing-2, 0.5rem));
  bottom: calc(var(--kendo-upload-item-padding-y, var(--kendo-spacing-2, 0.5rem)) / 2);
  width: auto;
}
.k-upload .k-actions, .k-upload .k-edit-buttons,
.k-upload .k-action-buttons,
.k-upload .k-columnmenu-actions, .k-upload .k-form-buttons {
  border-top-width: 1px;
}

.k-upload-button-wrap {
  position: relative;
  direction: ltr;
}
.k-upload-button-wrap input {
  font: 170px monospace !important;
  margin: 0;
  padding: 0;
  width: 100%;
  height: 100%;
  opacity: 0;
  cursor: pointer;
  position: absolute;
  bottom: 0;
  right: 0;
  z-index: 2;
}
.k-upload-button-wrap input[disabled],
.k-upload-button-wrap input.k-disabled {
  visibility: hidden;
}

.k-upload {
  border-color: var(--kendo-upload-border, var(--kendo-component-border, initial));
  color: var(--kendo-upload-text, var(--kendo-component-text, initial));
  background-color: var(--kendo-upload-bg, var(--kendo-component-bg, initial));
}
.k-upload .k-dropzone {
  border-color: var(--kendo-upload-dropzone-border, color-mix(in srgb, var(--kendo-color-border, #8a8886) 16%, transparent));
  color: var(--kendo-upload-dropzone-text, var(--kendo-color-subtle, #605e5c));
  background-color: var(--kendo-upload-dropzone-bg, var(--kendo-color-surface, #faf9f8));
}
.k-upload .k-dropzone:hover, .k-upload .k-dropzone.k-hover, .k-upload .k-dropzone.k-dropzone-hover, .k-upload .k-dropzone.k-dropzone-hovered {
  background-color: var(--kendo-upload-dropzone-hover-bg, var(--kendo-hover-bg, inherit));
}
.k-upload .k-dropzone .k-dropzone-hint {
  color: var(--kendo-upload-status-text, var(--kendo-subtle-text, inherit));
  opacity: var(--kendo-upload-status-text-opacity, );
}
.k-upload .k-upload-files,
.k-upload .k-file {
  border-color: var(--kendo-upload-border, var(--kendo-component-border, initial));
}
.k-upload .k-file.k-focus {
  box-shadow: var(--kendo-upload-focus-shadow, inset 0 0 0 2px rgba(0, 0, 0, 0.13));
}
.k-upload .k-file .k-upload-action.k-focus {
  box-shadow: var(--kendo-upload-focus-shadow, inset 0 0 0 2px rgba(0, 0, 0, 0.13));
}
.k-upload .k-dropzone .k-upload-status {
  color: var(--kendo-upload-status-text, var(--kendo-subtle-text, inherit));
  opacity: var(--kendo-upload-status-text-opacity, );
}
.k-upload .k-file-progress .k-progressbar .k-selected {
  background-color: var(--kendo-upload-progress-bg, var(--kendo-color-primary, #0078d4));
}
.k-upload .k-file-success .k-file-validation-message {
  color: var(--kendo-color-success-on-surface, #107c10);
}
.k-upload .k-file-success .k-progressbar .k-selected {
  background-color: var(--kendo-upload-success-bg, var(--kendo-color-success-on-surface, #107c10));
}
.k-upload .k-file-error .k-file-validation-message {
  color: var(--kendo-upload-error-text, var(--kendo-color-error-on-surface, #a4262c));
}
.k-upload .k-file-error .k-progressbar .k-selected {
  background-color: var(--kendo-upload-error-bg, var(--kendo-color-error-on-surface, #a4262c));
}
.k-upload .k-file-icon-wrapper {
  color: var(--kendo-upload-icon-color, var(--kendo-subtle-text, inherit));
  border-color: var(--kendo-upload-icon-color, var(--kendo-subtle-text, inherit));
}
.k-upload .k-file-size,
.k-upload .k-file-validation-message,
.k-upload .k-file-summary {
  color: var(--kendo-subtle-text, inherit);
}
.k-upload .k-multiple-files-wrapper .k-file-summary {
  color: var(--kendo-upload-text, var(--kendo-component-text, initial));
}
.k-upload.k-invalid, .k-upload.ng-invalid.ng-touched, .k-upload.ng-invalid.ng-dirty {
  border-color: var(--kendo-invalid-border, inherit);
}

.k-otp {
  display: flex;
  width: min-content;
  align-items: center;
  flex-direction: row;
  gap: var(--INTERNAL--kendo-otp-gap, 0);
}
.k-otp .k-otp-input > .k-input-inner {
  text-align: center;
  padding-inline: 0;
}

.k-otp-sm {
  --INTERNAL--kendo-otp-gap: var( --kendo-otp-sm-gap, var(--kendo-spacing-1, 0.25rem) );
}
.k-otp-sm .k-otp-input {
  min-width: calc(var(--kendo-line-height, normal) * 1em + var(--kendo-spacing-1, 0.25rem) * 2 + (2px));
}
.k-otp-sm .k-otp-separator:not(:empty) {
  padding-inline: var(--kendo-spacing-1, 0.25rem);
}

.k-otp-md {
  --INTERNAL--kendo-otp-gap: var( --kendo-otp-md-gap, var(--kendo-spacing-1\.5, 0.375rem) );
}
.k-otp-md .k-otp-input {
  min-width: calc(var(--kendo-line-height, normal) * 1em + var(--kendo-spacing-1\.5, 0.375rem) * 2 + (2px));
}
.k-otp-md .k-otp-separator:not(:empty) {
  padding-inline: var(--kendo-spacing-1\.5, 0.375rem);
}

.k-otp-lg {
  --INTERNAL--kendo-otp-gap: var( --kendo-otp-lg-gap, var(--kendo-spacing-2, 0.5rem) );
}
.k-otp-lg .k-otp-input {
  min-width: calc(var(--kendo-line-height, normal) * 1em + var(--kendo-spacing-2, 0.5rem) * 2 + (2px));
}
.k-otp-lg .k-otp-separator:not(:empty) {
  padding-inline: var(--kendo-spacing-2, 0.5rem);
}

.k-appbar {
  margin-inline: var(--kendo-appbar-margin-x, var(--kendo-spacing-0, 0px));
  margin-block: var(--kendo-appbar-margin-y, var(--kendo-spacing-0, 0px));
  padding-inline: var(--kendo-appbar-padding-x, var(--kendo-spacing-2, 0.5rem));
  padding-block: var(--kendo-appbar-padding-y, var(--kendo-spacing-2, 0.5rem));
  border-width: var(--kendo-appbar-border-width, 0px);
  border-style: solid;
  box-sizing: border-box;
  outline: 0;
  font-family: var(--kendo-appbar-font-family, var(--kendo-font-family, inherit));
  font-size: var(--kendo-appbar-font-size, var(--kendo-font-size, inherit));
  line-height: var(--kendo-appbar-line-height, var(--kendo-line-height, normal));
  list-style: none;
  display: flex;
  gap: var(--kendo-appbar-spacing, var(--kendo-spacing-2, 0.5rem));
  flex-flow: row wrap;
  align-items: center;
  overflow: hidden;
  -webkit-touch-callout: none;
  -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
}
.k-appbar *,
.k-appbar *::before,
.k-appbar *::after {
  box-sizing: border-box;
}
.k-appbar > * {
  flex-shrink: 0;
}
.k-appbar .k-appbar-section {
  display: inline-flex;
  flex-wrap: nowrap;
  align-items: center;
}
.k-appbar .k-appbar-spacer {
  flex: 1 0 auto;
}
.k-appbar .k-appbar-spacer-sized {
  flex-grow: 0;
}
.k-appbar .k-appbar-separator {
  margin: 0;
  width: 0;
  min-height: 1em;
  border-style: solid;
  border-width: 0 0 0 1px;
  display: inline-block;
}
.k-appbar .k-input,
.k-appbar .k-picker {
  width: 10em;
}
.k-appbar .k-color-picker, .k-appbar .k-colorpicker {
  width: min-content;
}

.k-appbar-static {
  position: static;
}

.k-appbar-sticky {
  width: 100%;
  position: sticky;
  top: 0;
  z-index: var(--kendo-appbar-zindex, 1000);
}

.k-appbar-fixed {
  width: 100%;
  position: fixed;
  z-index: 1;
}

.k-appbar-top {
  top: 0;
  bottom: auto;
}

.k-appbar-bottom {
  top: auto;
  bottom: 0;
}
.k-appbar-bottom.k-appbar-fixed {
  bottom: 0;
}

.k-appbar {
  --INTERNAL--kendo-appbar-text: var( --kendo-appbar-text, var(--kendo-component-text, initial) );
  --INTERNAL--kendo-appbar-bg: var( --kendo-appbar-bg, var(--kendo-color-surface, #faf9f8) );
  --INTERNAL--kendo-appbar-border: var( --kendo-appbar-border, var(--kendo-component-border, initial) );
  color: var(--INTERNAL--kendo-appbar-text, inherit);
  background-color: var(--INTERNAL--kendo-appbar-bg, inherit);
  border-color: var(--INTERNAL--kendo-appbar-border, inherit);
}

.k-appbar-inherit {
  color: inherit;
  background-color: inherit;
  border-color: inherit;
}

.k-appbar-primary {
  --kendo-appbar-text: var( --kendo-appbar-primary-text, var(--kendo-color-on-primary, #ffffff) );
  --kendo-appbar-bg: var( --kendo-appbar-primary-bg, var(--kendo-color-primary, #0078d4) );
  --kendo-appbar-border: var( --kendo-appbar-primary-border, var(--kendo-color-primary, #0078d4) );
}
.k-appbar-primary .k-appbar-subtitle {
  color: inherit;
}

.k-appbar-error {
  --kendo-appbar-text: var( --kendo-appbar-error-text, var(--kendo-color-on-error, #ffffff) );
  --kendo-appbar-bg: var( --kendo-appbar-error-bg, var(--kendo-color-error, #c2666b) );
  --kendo-appbar-border: var( --kendo-appbar-error-border, var(--kendo-color-error, #c2666b) );
}
.k-appbar-error .k-appbar-subtitle {
  color: inherit;
}

.k-appbar-success {
  --kendo-appbar-text: var( --kendo-appbar-success-text, var(--kendo-color-on-success, #ffffff) );
  --kendo-appbar-bg: var( --kendo-appbar-success-bg, var(--kendo-color-success, #55a554) );
  --kendo-appbar-border: var( --kendo-appbar-success-border, var(--kendo-color-success, #55a554) );
}
.k-appbar-success .k-appbar-subtitle {
  color: inherit;
}

.k-appbar-info {
  --kendo-appbar-text: var( --kendo-appbar-info-text, var(--kendo-color-on-info, #ffffff) );
  --kendo-appbar-bg: var( --kendo-appbar-info-bg, var(--kendo-color-info, #0a7eff) );
  --kendo-appbar-border: var( --kendo-appbar-info-border, var(--kendo-color-info, #0a7eff) );
}
.k-appbar-info .k-appbar-subtitle {
  color: inherit;
}

.k-appbar-secondary {
  --kendo-appbar-text: var( --kendo-appbar-secondary-text, var(--kendo-color-on-secondary, #ffffff) );
  --kendo-appbar-bg: var( --kendo-appbar-secondary-bg, var(--kendo-color-secondary, #979593) );
  --kendo-appbar-border: var( --kendo-appbar-secondary-border, var(--kendo-color-secondary, #979593) );
}
.k-appbar-secondary .k-appbar-subtitle {
  color: inherit;
}

.k-appbar-tertiary {
  --kendo-appbar-text: var( --kendo-appbar-tertiary-text, var(--kendo-color-on-tertiary, #ffffff) );
  --kendo-appbar-bg: var( --kendo-appbar-tertiary-bg, var(--kendo-color-tertiary, #2b88d8) );
  --kendo-appbar-border: var( --kendo-appbar-tertiary-border, var(--kendo-color-tertiary, #2b88d8) );
}
.k-appbar-tertiary .k-appbar-subtitle {
  color: inherit;
}

.k-appbar-warning {
  --kendo-appbar-text: var( --kendo-appbar-warning-text, var(--kendo-color-on-warning, #323130) );
  --kendo-appbar-bg: var( --kendo-appbar-warning-bg, var(--kendo-color-warning, #ffc80a) );
  --kendo-appbar-border: var( --kendo-appbar-warning-border, var(--kendo-color-warning, #ffc80a) );
}
.k-appbar-warning .k-appbar-subtitle {
  color: inherit;
}

.k-appbar-dark {
  --kendo-appbar-text: var( --kendo-appbar-dark-text, var(--kendo-color-on-dark, #ffffff) );
  --kendo-appbar-bg: var( --kendo-appbar-dark-bg, var(--kendo-color-dark, #323130) );
  --kendo-appbar-border: var( --kendo-appbar-dark-border, var(--kendo-color-dark, #323130) );
}
.k-appbar-dark .k-appbar-subtitle {
  color: inherit;
}

.k-appbar-light {
  --kendo-appbar-text: var( --kendo-appbar-light-text, var(--kendo-color-on-light, #323130) );
  --kendo-appbar-bg: var( --kendo-appbar-light-bg, var(--kendo-color-light, #d2d0ce) );
  --kendo-appbar-border: var( --kendo-appbar-light-border, var(--kendo-color-light, #d2d0ce) );
}
.k-appbar-light .k-appbar-subtitle {
  color: inherit;
}

.k-fab {
  padding-inline: var(--INTERNAL--kendo-fab-padding-x, 0);
  padding-block: var(--INTERNAL--kendo-fab-padding-y, 0);
  border-width: 0;
  border-style: solid;
  border-color: transparent;
  box-sizing: border-box;
  color: inherit;
  background-color: transparent;
  font-family: var(--kendo-fab-font-family, var(--kendo-font-family, inherit));
  font-size: var(--kendo-fab-font-size, var(--kendo-font-size, inherit));
  line-height: var(--kendo-fab-line-height, var(--kendo-line-height, normal));
  text-align: center;
  white-space: nowrap;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  vertical-align: middle;
  overflow: hidden;
  text-overflow: ellipsis;
  cursor: pointer;
  outline: none;
}
.k-fab *,
.k-fab *::before,
.k-fab *::after {
  box-sizing: border-box;
}
.k-fab:focus::after, .k-fab.k-focus::after {
  content: "";
  position: absolute;
  border: medium none;
  inset: var(--kendo-fab-focus-offset, var(--kendo-spacing-0\.5, 0.125rem));
  outline-width: var(--kendo-fab-focus-outline-width, 1px);
  outline-style: var(--kendo-fab-focus-outline-style, solid);
  z-index: 1;
}
.k-fab.k-rounded-full:focus::after, .k-fab.k-rounded-full.k-focus::after {
  border-radius: inherit;
}

.k-fab-icon {
  padding-inline: var(--kendo-fab-icon-padding-x, var(--kendo-spacing-0\.5, 0.125rem));
  padding-block: var(--kendo-fab-icon-padding-y, var(--kendo-spacing-0\.5, 0.125rem));
  box-sizing: content-box;
}

.k-icon-wrapper-host:not(:only-child) .k-fab-icon,
.k-fab-icon:not(:only-child) {
  margin-inline-end: var(--kendo-fab-icon-spacing, var(--kendo-spacing-0\.5, 0.125rem));
  margin-inline-start: calc(var(--kendo-fab-icon-spacing, var(--kendo-spacing-0\.5, 0.125rem)) * -1);
}

.k-fab-sm {
  --INTERNAL--kendo-fab-padding-x: var( --kendo-fab-sm-padding-x, calc(var(--kendo-spacing-4, 1rem) / 2) );
  --INTERNAL--kendo-fab-padding-y: var( --kendo-fab-sm-padding-y, calc(var(--kendo-spacing-4, 1rem) / 2) );
}

.k-fab-md {
  --INTERNAL--kendo-fab-padding-x: var( --kendo-fab-md-padding-x, var(--kendo-spacing-4, 1rem) );
  --INTERNAL--kendo-fab-padding-y: var( --kendo-fab-md-padding-y, var(--kendo-spacing-4, 1rem) );
}

.k-fab-lg {
  --INTERNAL--kendo-fab-padding-x: var( --kendo-fab-lg-padding-x, calc(var(--kendo-spacing-4, 1rem) * 1.5) );
  --INTERNAL--kendo-fab-padding-y: var( --kendo-fab-lg-padding-y, calc(var(--kendo-spacing-4, 1rem) * 1.5) );
}

.k-fab-items {
  margin: 0;
  padding-inline: var(--kendo-fab-items-padding-x, var(--kendo-spacing-0, 0px));
  padding-block: var(--kendo-fab-items-padding-y, var(--kendo-spacing-4, 1rem));
  display: flex;
}

.k-fab-items-bottom {
  flex-direction: column;
}

.k-fab-items-bottom .k-fab-item:last-child {
  margin-bottom: 0;
}

.k-fab-items-top {
  flex-direction: column-reverse;
}

.k-fab-items-top .k-fab-item:first-child {
  margin-bottom: 0;
}

.k-fab-item {
  list-style-type: none;
  margin-block-end: var(--kendo-fab-item-offset-y, var(--kendo-spacing-2, 0.5rem));
  outline: none;
  white-space: nowrap;
  display: flex;
  align-items: center;
  justify-content: flex-end;
  cursor: pointer;
}
.k-fab-item:focus .k-fab-item-text::after, .k-fab-item:focus .k-fab-item-icon::after, .k-fab-item.k-focus .k-fab-item-text::after, .k-fab-item.k-focus .k-fab-item-icon::after {
  content: "";
  position: absolute;
  border: medium none;
  inset: var(--kendo-fab-item-focus-offset, var(--kendo-spacing-0\.5, 0.125rem));
  outline-width: var(--kendo-fab-item-focus-outline-width, 1px);
  outline-style: var(--kendo-fab-item-focus-outline-style, solid);
  z-index: 1;
}
.k-fab-item.k-text-right {
  flex-direction: row;
}
.k-fab-item.k-text-right .k-fab-item-text {
  margin-right: var(--kendo-fab-item-text-offset-x, var(--kendo-spacing-2, 0.5rem));
}
.k-fab-item.k-text-left {
  flex-direction: row-reverse;
}
.k-fab-item.k-text-left .k-fab-item-text {
  margin-left: var(--kendo-fab-item-text-offset-x, var(--kendo-spacing-2, 0.5rem));
}

.k-fab-item-text {
  padding-inline: var(--kendo-fab-item-text-padding-x, var(--kendo-spacing-1, 0.25rem));
  padding-block: var(--kendo-fab-item-text-padding-y, var(--kendo-spacing-1, 0.25rem));
  border-width: var(--kendo-fab-item-text-border-width, 1px);
  border-style: var(--kendo-fab-item-text-border-style, solid);
  border-radius: var(--kendo-fab-item-text-border-radius, var(--kendo-border-radius-md, 0.25rem));
  position: relative;
  font-size: var(--kendo-fab-item-text-font-size, var(--kendo-font-size-sm, inherit));
  line-height: var(--kendo-fab-item-text-line-height, var(--kendo-line-height-sm, inherit));
}

.k-fab-item-icon {
  padding-inline: var(--kendo-fab-item-icon-padding-x, calc(var(--kendo-spacing-2, 0.5rem) + var(--kendo-spacing-0\.5, 0.125rem)));
  padding-block: var(--kendo-fab-item-icon-padding-y, calc(var(--kendo-spacing-2, 0.5rem) + var(--kendo-spacing-0\.5, 0.125rem)));
  border-width: var(--kendo-fab-item-icon-border-width, 1px);
  border-style: var(--kendo-fab-item-icon-border-style, solid);
  border-radius: var(--kendo-fab-item-border-radius, 50%);
  box-sizing: content-box;
  outline: none;
}
.k-fab-item-icon::after {
  border-radius: inherit;
}

.k-rtl .k-fab-popup .k-fab-item.k-text-left,
[dir=rtl] .k-fab-popup .k-fab-item.k-text-left {
  flex-direction: row;
}
.k-rtl .k-fab-popup .k-fab-item.k-text-right,
[dir=rtl] .k-fab-popup .k-fab-item.k-text-right {
  flex-direction: row-reverse;
}

.k-fab {
  --INTERNAL--kendo-fab-text: var( --kendo-fab-text );
  --INTERNAL--kendo-fab-bg: var( --kendo-fab-bg );
  --INTERNAL--kendo-fab-border: var( --kendo-fab-border );
  --INTERNAL--kendo-fab-gradient: var( --kendo-fab-gradient );
  --INTERNAL--kendo-fab-shadow: var( --kendo-fab-shadow );
  border-color: var(--INTERNAL--kendo-fab-border, initial);
  color: var(--INTERNAL--kendo-fab-text, inherit);
  background-color: var(--INTERNAL--kendo-fab-bg, initial);
  background-image: linear-gradient(var(--INTERNAL--kendo-fab-gradient, transparent, transparent));
  box-shadow: var(--INTERNAL--kendo-fab-shadow, none);
}
.k-fab:hover, .k-fab.k-hover {
  --INTERNAL--kendo-fab-text: var( --kendo-fab-hover-text );
  --INTERNAL--kendo-fab-bg: var( --kendo-fab-hover-bg );
  --INTERNAL--kendo-fab-border: var( --kendo-fab-hover-border );
}
.k-fab:focus, .k-fab.k-focus {
  --INTERNAL--kendo-fab-text: var( --kendo-fab-focus-text );
  --INTERNAL--kendo-fab-bg: var( --kendo-fab-focus-bg );
  --INTERNAL--kendo-fab-border: var( --kendo-fab-focus-border );
}
.k-fab:focus::after, .k-fab.k-focus::after {
  outline-color: var(--kendo-fab-focus-outline, initial);
}
.k-fab:active, .k-fab.k-active {
  --INTERNAL--kendo-fab-text: var( --kendo-fab-active-text );
  --INTERNAL--kendo-fab-bg: var( --kendo-fab-active-bg );
  --INTERNAL--kendo-fab-border: var( --kendo-fab-active-border );
}
.k-fab.k-selected {
  --INTERNAL--kendo-fab-text: var( --kendo-fab-selected-text );
  --INTERNAL--kendo-fab-bg: var( --kendo-fab-selected-bg );
  --INTERNAL--kendo-fab-border: var( --kendo-fab-selected-border );
}
.k-fab:disabled, .k-fab.k-disabled {
  --INTERNAL--kendo-fab-text: var( --kendo-fab-disabled-text );
  --INTERNAL--kendo-fab-bg: var( --kendo-fab-disabled-bg );
  --INTERNAL--kendo-fab-border: var( --kendo-fab-disabled-border );
}

.k-fab-solid-base {
  --kendo-fab-text: var( --kendo-fab-solid-base-text, var(--kendo-color-on-base, #323130) );
  --kendo-fab-bg: var( --kendo-fab-solid-base-bg, var(--kendo-color-base, #ffffff) );
  --kendo-fab-border: var( --kendo-fab-solid-base-border, var(--kendo-color-border, #8a8886) );
  --kendo-fab-hover-text: var( --kendo-fab-solid-base-hover-text, var(--kendo-color-on-base, #323130) );
  --kendo-fab-hover-bg: var( --kendo-fab-solid-base-hover-bg, var(--kendo-color-base-hover, #f3f2f1) );
  --kendo-fab-hover-border: var( --kendo-fab-solid-base-hover-border, var(--kendo-color-border, #8a8886) );
  --kendo-fab-focus-text: var( --kendo-fab-solid-base-focus-text, var(--kendo-color-on-base, #323130) );
  --kendo-fab-focus-bg: var( --kendo-fab-solid-base-focus-bg, var(--kendo-color-base, #ffffff) );
  --kendo-fab-focus-border: var( --kendo-fab-solid-base-focus-border, var(--kendo-color-border, #8a8886) );
  --kendo-fab-focus-outline: var( --kendo-fab-solid-base-focus-outline, var(--kendo-color-on-base, #323130) );
  --kendo-fab-active-text: var( --kendo-fab-solid-base-active-text, var(--kendo-color-on-base, #323130) );
  --kendo-fab-active-bg: var( --kendo-fab-solid-base-active-bg, var(--kendo-color-base-active, #edebe9) );
  --kendo-fab-active-border: var( --kendo-fab-solid-base-active-border, var(--kendo-color-border, #8a8886) );
  --kendo-fab-selected-text: var( --kendo-fab-solid-base-selected-text, var(--kendo-color-on-base, #323130) );
  --kendo-fab-selected-bg: var( --kendo-fab-solid-base-selected-bg, var(--kendo-color-base-active, #edebe9) );
  --kendo-fab-selected-border: var( --kendo-fab-solid-base-selected-border, var(--kendo-color-border, #8a8886) );
  --kendo-fab-disabled-text: var( --kendo-fab-solid-base-disabled-text, color-mix(in srgb, var(--kendo-color-on-app-surface, #323130) 46%, transparent) );
  --kendo-fab-disabled-bg: var( --kendo-fab-solid-base-disabled-bg, color-mix(in srgb, var(--kendo-color-on-app-surface, #323130) 6%, transparent) );
  --kendo-fab-disabled-border: var( --kendo-fab-solid-base-disabled-border, transparent );
}

.k-fab-solid-primary {
  --kendo-fab-text: var( --kendo-fab-solid-primary-text, var(--kendo-color-on-primary, #ffffff) );
  --kendo-fab-bg: var( --kendo-fab-solid-primary-bg, var(--kendo-color-primary, #0078d4) );
  --kendo-fab-border: var( --kendo-fab-solid-primary-border, var(--kendo-color-primary, #0078d4) );
  --kendo-fab-hover-text: var( --kendo-fab-solid-primary-hover-text, var(--kendo-color-on-primary, #ffffff) );
  --kendo-fab-hover-bg: var( --kendo-fab-solid-primary-hover-bg, var(--kendo-color-primary-hover, #106ebe) );
  --kendo-fab-hover-border: var( --kendo-fab-solid-primary-hover-border, var(--kendo-color-primary-hover, #106ebe) );
  --kendo-fab-focus-text: var( --kendo-fab-solid-primary-focus-text, var(--kendo-color-on-primary, #ffffff) );
  --kendo-fab-focus-bg: var( --kendo-fab-solid-primary-focus-bg, var(--kendo-color-primary, #0078d4) );
  --kendo-fab-focus-border: var( --kendo-fab-solid-primary-focus-border, var(--kendo-color-primary, #0078d4) );
  --kendo-fab-focus-outline: var( --kendo-fab-solid-primary-focus-outline, inherit );
  --kendo-fab-active-text: var( --kendo-fab-solid-primary-active-text, var(--kendo-color-on-primary, #ffffff) );
  --kendo-fab-active-bg: var( --kendo-fab-solid-primary-active-bg, var(--kendo-color-primary-active, #005a9e) );
  --kendo-fab-active-border: var( --kendo-fab-solid-primary-active-border, var(--kendo-color-primary-active, #005a9e) );
  --kendo-fab-selected-text: var( --kendo-fab-solid-primary-selected-text, var(--kendo-color-on-primary, #ffffff) );
  --kendo-fab-selected-bg: var( --kendo-fab-solid-primary-selected-bg, var(--kendo-color-primary-active, #005a9e) );
  --kendo-fab-selected-border: var( --kendo-fab-solid-primary-selected-border, var(--kendo-color-primary-active, #005a9e) );
  --kendo-fab-disabled-text: var( --kendo-fab-solid-primary-disabled-text, color-mix(in srgb, var(--kendo-color-on-app-surface, #323130) 46%, transparent) );
  --kendo-fab-disabled-bg: var( --kendo-fab-solid-primary-disabled-bg, color-mix(in srgb, var(--kendo-color-on-app-surface, #323130) 6%, transparent) );
  --kendo-fab-disabled-border: var( --kendo-fab-solid-primary-disabled-border, transparent );
}

.k-fab-solid-error {
  --kendo-fab-text: var( --kendo-fab-solid-error-text, var(--kendo-color-on-error, #ffffff) );
  --kendo-fab-bg: var( --kendo-fab-solid-error-bg, var(--kendo-color-error, #c2666b) );
  --kendo-fab-border: var( --kendo-fab-solid-error-border, var(--kendo-color-error, #c2666b) );
  --kendo-fab-hover-text: var( --kendo-fab-solid-error-hover-text, var(--kendo-color-on-error, #ffffff) );
  --kendo-fab-hover-bg: var( --kendo-fab-solid-error-hover-bg, var(--kendo-color-error-hover, #b85156) );
  --kendo-fab-hover-border: var( --kendo-fab-solid-error-hover-border, var(--kendo-color-error-hover, #b85156) );
  --kendo-fab-focus-text: var( --kendo-fab-solid-error-focus-text, var(--kendo-color-on-error, #ffffff) );
  --kendo-fab-focus-bg: var( --kendo-fab-solid-error-focus-bg, var(--kendo-color-error, #c2666b) );
  --kendo-fab-focus-border: var( --kendo-fab-solid-error-focus-border, var(--kendo-color-error, #c2666b) );
  --kendo-fab-focus-outline: var( --kendo-fab-solid-error-focus-outline, inherit );
  --kendo-fab-active-text: var( --kendo-fab-solid-error-active-text, var(--kendo-color-on-error, #ffffff) );
  --kendo-fab-active-bg: var( --kendo-fab-solid-error-active-bg, var(--kendo-color-error-active, #ae3b41) );
  --kendo-fab-active-border: var( --kendo-fab-solid-error-active-border, var(--kendo-color-error-active, #ae3b41) );
  --kendo-fab-selected-text: var( --kendo-fab-solid-error-selected-text, var(--kendo-color-on-error, #ffffff) );
  --kendo-fab-selected-bg: var( --kendo-fab-solid-error-selected-bg, var(--kendo-color-error-active, #ae3b41) );
  --kendo-fab-selected-border: var( --kendo-fab-solid-error-selected-border, var(--kendo-color-error-active, #ae3b41) );
  --kendo-fab-disabled-text: var( --kendo-fab-solid-error-disabled-text, color-mix(in srgb, var(--kendo-color-on-app-surface, #323130) 46%, transparent) );
  --kendo-fab-disabled-bg: var( --kendo-fab-solid-error-disabled-bg, color-mix(in srgb, var(--kendo-color-on-app-surface, #323130) 6%, transparent) );
  --kendo-fab-disabled-border: var( --kendo-fab-solid-error-disabled-border, transparent );
}

.k-fab-solid-success {
  --kendo-fab-text: var( --kendo-fab-solid-success-text, var(--kendo-color-on-success, #ffffff) );
  --kendo-fab-bg: var( --kendo-fab-solid-success-bg, var(--kendo-color-success, #55a554) );
  --kendo-fab-border: var( --kendo-fab-solid-success-border, var(--kendo-color-success, #55a554) );
  --kendo-fab-hover-text: var( --kendo-fab-solid-success-hover-text, var(--kendo-color-on-success, #ffffff) );
  --kendo-fab-hover-bg: var( --kendo-fab-solid-success-hover-bg, var(--kendo-color-success-hover, #3e973e) );
  --kendo-fab-hover-border: var( --kendo-fab-solid-success-hover-border, var(--kendo-color-success-hover, #3e973e) );
  --kendo-fab-focus-text: var( --kendo-fab-solid-success-focus-text, var(--kendo-color-on-success, #ffffff) );
  --kendo-fab-focus-bg: var( --kendo-fab-solid-success-focus-bg, var(--kendo-color-success, #55a554) );
  --kendo-fab-focus-border: var( --kendo-fab-solid-success-focus-border, var(--kendo-color-success, #55a554) );
  --kendo-fab-focus-outline: var( --kendo-fab-solid-success-focus-outline, inherit );
  --kendo-fab-active-text: var( --kendo-fab-solid-success-active-text, var(--kendo-color-on-success, #ffffff) );
  --kendo-fab-active-bg: var( --kendo-fab-solid-success-active-bg, var(--kendo-color-success-active, #278a27) );
  --kendo-fab-active-border: var( --kendo-fab-solid-success-active-border, var(--kendo-color-success-active, #278a27) );
  --kendo-fab-selected-text: var( --kendo-fab-solid-success-selected-text, var(--kendo-color-on-success, #ffffff) );
  --kendo-fab-selected-bg: var( --kendo-fab-solid-success-selected-bg, var(--kendo-color-success-active, #278a27) );
  --kendo-fab-selected-border: var( --kendo-fab-solid-success-selected-border, var(--kendo-color-success-active, #278a27) );
  --kendo-fab-disabled-text: var( --kendo-fab-solid-success-disabled-text, color-mix(in srgb, var(--kendo-color-on-app-surface, #323130) 46%, transparent) );
  --kendo-fab-disabled-bg: var( --kendo-fab-solid-success-disabled-bg, color-mix(in srgb, var(--kendo-color-on-app-surface, #323130) 6%, transparent) );
  --kendo-fab-disabled-border: var( --kendo-fab-solid-success-disabled-border, transparent );
}

.k-fab-solid-info {
  --kendo-fab-text: var( --kendo-fab-solid-info-text, var(--kendo-color-on-info, #ffffff) );
  --kendo-fab-bg: var( --kendo-fab-solid-info-bg, var(--kendo-color-info, #0a7eff) );
  --kendo-fab-border: var( --kendo-fab-solid-info-border, var(--kendo-color-info, #0a7eff) );
  --kendo-fab-hover-text: var( --kendo-fab-solid-info-hover-text, var(--kendo-color-on-info, #ffffff) );
  --kendo-fab-hover-bg: var( --kendo-fab-solid-info-hover-bg, var(--kendo-color-info-hover, #096edf) );
  --kendo-fab-hover-border: var( --kendo-fab-solid-info-hover-border, var(--kendo-color-info-hover, #096edf) );
  --kendo-fab-focus-text: var( --kendo-fab-solid-info-focus-text, var(--kendo-color-on-info, #ffffff) );
  --kendo-fab-focus-bg: var( --kendo-fab-solid-info-focus-bg, var(--kendo-color-info, #0a7eff) );
  --kendo-fab-focus-border: var( --kendo-fab-solid-info-focus-border, var(--kendo-color-info, #0a7eff) );
  --kendo-fab-focus-outline: var( --kendo-fab-solid-info-focus-outline, inherit );
  --kendo-fab-active-text: var( --kendo-fab-solid-info-active-text, var(--kendo-color-on-info, #ffffff) );
  --kendo-fab-active-bg: var( --kendo-fab-solid-info-active-bg, var(--kendo-color-info-active, #085ebf) );
  --kendo-fab-active-border: var( --kendo-fab-solid-info-active-border, var(--kendo-color-info-active, #085ebf) );
  --kendo-fab-selected-text: var( --kendo-fab-solid-info-selected-text, var(--kendo-color-on-info, #ffffff) );
  --kendo-fab-selected-bg: var( --kendo-fab-solid-info-selected-bg, var(--kendo-color-info-active, #085ebf) );
  --kendo-fab-selected-border: var( --kendo-fab-solid-info-selected-border, var(--kendo-color-info-active, #085ebf) );
  --kendo-fab-disabled-text: var( --kendo-fab-solid-info-disabled-text, color-mix(in srgb, var(--kendo-color-on-app-surface, #323130) 46%, transparent) );
  --kendo-fab-disabled-bg: var( --kendo-fab-solid-info-disabled-bg, color-mix(in srgb, var(--kendo-color-on-app-surface, #323130) 6%, transparent) );
  --kendo-fab-disabled-border: var( --kendo-fab-solid-info-disabled-border, transparent );
}

.k-fab-solid-secondary {
  --kendo-fab-text: var( --kendo-fab-solid-secondary-text, var(--kendo-color-on-secondary, #ffffff) );
  --kendo-fab-bg: var( --kendo-fab-solid-secondary-bg, var(--kendo-color-secondary, #979593) );
  --kendo-fab-border: var( --kendo-fab-solid-secondary-border, var(--kendo-color-secondary, #979593) );
  --kendo-fab-hover-text: var( --kendo-fab-solid-secondary-hover-text, var(--kendo-color-on-secondary, #ffffff) );
  --kendo-fab-hover-bg: var( --kendo-fab-solid-secondary-hover-bg, var(--kendo-color-secondary-hover, #8a8886) );
  --kendo-fab-hover-border: var( --kendo-fab-solid-secondary-hover-border, var(--kendo-color-secondary-hover, #8a8886) );
  --kendo-fab-focus-text: var( --kendo-fab-solid-secondary-focus-text, var(--kendo-color-on-secondary, #ffffff) );
  --kendo-fab-focus-bg: var( --kendo-fab-solid-secondary-focus-bg, var(--kendo-color-secondary, #979593) );
  --kendo-fab-focus-border: var( --kendo-fab-solid-secondary-focus-border, var(--kendo-color-secondary, #979593) );
  --kendo-fab-focus-outline: var( --kendo-fab-solid-secondary-focus-outline, inherit );
  --kendo-fab-active-text: var( --kendo-fab-solid-secondary-active-text, var(--kendo-color-on-secondary, #ffffff) );
  --kendo-fab-active-bg: var( --kendo-fab-solid-secondary-active-bg, var(--kendo-color-secondary-active, #797775) );
  --kendo-fab-active-border: var( --kendo-fab-solid-secondary-active-border, var(--kendo-color-secondary-active, #797775) );
  --kendo-fab-selected-text: var( --kendo-fab-solid-secondary-selected-text, var(--kendo-color-on-secondary, #ffffff) );
  --kendo-fab-selected-bg: var( --kendo-fab-solid-secondary-selected-bg, var(--kendo-color-secondary-active, #797775) );
  --kendo-fab-selected-border: var( --kendo-fab-solid-secondary-selected-border, var(--kendo-color-secondary-active, #797775) );
  --kendo-fab-disabled-text: var( --kendo-fab-solid-secondary-disabled-text, color-mix(in srgb, var(--kendo-color-on-app-surface, #323130) 46%, transparent) );
  --kendo-fab-disabled-bg: var( --kendo-fab-solid-secondary-disabled-bg, color-mix(in srgb, var(--kendo-color-on-app-surface, #323130) 6%, transparent) );
  --kendo-fab-disabled-border: var( --kendo-fab-solid-secondary-disabled-border, transparent );
}

.k-fab-solid-tertiary {
  --kendo-fab-text: var( --kendo-fab-solid-tertiary-text, var(--kendo-color-on-tertiary, #ffffff) );
  --kendo-fab-bg: var( --kendo-fab-solid-tertiary-bg, var(--kendo-color-tertiary, #2b88d8) );
  --kendo-fab-border: var( --kendo-fab-solid-tertiary-border, var(--kendo-color-tertiary, #2b88d8) );
  --kendo-fab-hover-text: var( --kendo-fab-solid-tertiary-hover-text, var(--kendo-color-on-tertiary, #ffffff) );
  --kendo-fab-hover-bg: var( --kendo-fab-solid-tertiary-hover-bg, var(--kendo-color-tertiary-hover, #287ec7) );
  --kendo-fab-hover-border: var( --kendo-fab-solid-tertiary-hover-border, var(--kendo-color-tertiary-hover, #287ec7) );
  --kendo-fab-focus-text: var( --kendo-fab-solid-tertiary-focus-text, var(--kendo-color-on-tertiary, #ffffff) );
  --kendo-fab-focus-bg: var( --kendo-fab-solid-tertiary-focus-bg, var(--kendo-color-tertiary, #2b88d8) );
  --kendo-fab-focus-border: var( --kendo-fab-solid-tertiary-focus-border, var(--kendo-color-tertiary, #2b88d8) );
  --kendo-fab-focus-outline: var( --kendo-fab-solid-tertiary-focus-outline, inherit );
  --kendo-fab-active-text: var( --kendo-fab-solid-tertiary-active-text, var(--kendo-color-on-tertiary, #ffffff) );
  --kendo-fab-active-bg: var( --kendo-fab-solid-tertiary-active-bg, var(--kendo-color-tertiary-active, #2473b7) );
  --kendo-fab-active-border: var( --kendo-fab-solid-tertiary-active-border, var(--kendo-color-tertiary-active, #2473b7) );
  --kendo-fab-selected-text: var( --kendo-fab-solid-tertiary-selected-text, var(--kendo-color-on-tertiary, #ffffff) );
  --kendo-fab-selected-bg: var( --kendo-fab-solid-tertiary-selected-bg, var(--kendo-color-tertiary-active, #2473b7) );
  --kendo-fab-selected-border: var( --kendo-fab-solid-tertiary-selected-border, var(--kendo-color-tertiary-active, #2473b7) );
  --kendo-fab-disabled-text: var( --kendo-fab-solid-tertiary-disabled-text, color-mix(in srgb, var(--kendo-color-on-app-surface, #323130) 46%, transparent) );
  --kendo-fab-disabled-bg: var( --kendo-fab-solid-tertiary-disabled-bg, color-mix(in srgb, var(--kendo-color-on-app-surface, #323130) 6%, transparent) );
  --kendo-fab-disabled-border: var( --kendo-fab-solid-tertiary-disabled-border, transparent );
}

.k-fab-solid-warning {
  --kendo-fab-text: var( --kendo-fab-solid-warning-text, var(--kendo-color-on-warning, #323130) );
  --kendo-fab-bg: var( --kendo-fab-solid-warning-bg, var(--kendo-color-warning, #ffc80a) );
  --kendo-fab-border: var( --kendo-fab-solid-warning-border, var(--kendo-color-warning, #ffc80a) );
  --kendo-fab-hover-text: var( --kendo-fab-solid-warning-hover-text, var(--kendo-color-on-warning, #323130) );
  --kendo-fab-hover-bg: var( --kendo-fab-solid-warning-hover-bg, var(--kendo-color-warning-hover, #f5c000) );
  --kendo-fab-hover-border: var( --kendo-fab-solid-warning-hover-border, var(--kendo-color-warning-hover, #f5c000) );
  --kendo-fab-focus-text: var( --kendo-fab-solid-warning-focus-text, var(--kendo-color-on-warning, #323130) );
  --kendo-fab-focus-bg: var( --kendo-fab-solid-warning-focus-bg, var(--kendo-color-warning, #ffc80a) );
  --kendo-fab-focus-border: var( --kendo-fab-solid-warning-focus-border, var(--kendo-color-warning, #ffc80a) );
  --kendo-fab-focus-outline: var( --kendo-fab-solid-warning-focus-outline, var(--kendo-color-app-surface, #ffffff) );
  --kendo-fab-active-text: var( --kendo-fab-solid-warning-active-text, var(--kendo-color-on-warning, #323130) );
  --kendo-fab-active-bg: var( --kendo-fab-solid-warning-active-bg, var(--kendo-color-warning-active, #e0b000) );
  --kendo-fab-active-border: var( --kendo-fab-solid-warning-active-border, var(--kendo-color-warning-active, #e0b000) );
  --kendo-fab-selected-text: var( --kendo-fab-solid-warning-selected-text, var(--kendo-color-on-warning, #323130) );
  --kendo-fab-selected-bg: var( --kendo-fab-solid-warning-selected-bg, var(--kendo-color-warning-active, #e0b000) );
  --kendo-fab-selected-border: var( --kendo-fab-solid-warning-selected-border, var(--kendo-color-warning-active, #e0b000) );
  --kendo-fab-disabled-text: var( --kendo-fab-solid-warning-disabled-text, color-mix(in srgb, var(--kendo-color-on-app-surface, #323130) 46%, transparent) );
  --kendo-fab-disabled-bg: var( --kendo-fab-solid-warning-disabled-bg, color-mix(in srgb, var(--kendo-color-on-app-surface, #323130) 6%, transparent) );
  --kendo-fab-disabled-border: var( --kendo-fab-solid-warning-disabled-border, transparent );
}

.k-fab-solid-dark {
  --kendo-fab-text: var( --kendo-fab-solid-dark-text, var(--kendo-color-on-dark, #ffffff) );
  --kendo-fab-bg: var( --kendo-fab-solid-dark-bg, var(--kendo-color-dark, #323130) );
  --kendo-fab-border: var( --kendo-fab-solid-dark-border, var(--kendo-color-dark, #323130) );
  --kendo-fab-hover-text: var( --kendo-fab-solid-dark-hover-text, var(--kendo-color-on-dark, #ffffff) );
  --kendo-fab-hover-bg: var( --kendo-fab-solid-dark-hover-bg, var(--kendo-color-dark-hover, #201f1e) );
  --kendo-fab-hover-border: var( --kendo-fab-solid-dark-hover-border, var(--kendo-color-dark-hover, #201f1e) );
  --kendo-fab-focus-text: var( --kendo-fab-solid-dark-focus-text, var(--kendo-color-on-dark, #ffffff) );
  --kendo-fab-focus-bg: var( --kendo-fab-solid-dark-focus-bg, var(--kendo-color-dark, #323130) );
  --kendo-fab-focus-border: var( --kendo-fab-solid-dark-focus-border, var(--kendo-color-dark, #323130) );
  --kendo-fab-focus-outline: var( --kendo-fab-solid-dark-focus-outline, var(--kendo-color-on-dark, #ffffff) );
  --kendo-fab-active-text: var( --kendo-fab-solid-dark-active-text, var(--kendo-color-on-dark, #ffffff) );
  --kendo-fab-active-bg: var( --kendo-fab-solid-dark-active-bg, var(--kendo-color-dark-active, #000000) );
  --kendo-fab-active-border: var( --kendo-fab-solid-dark-active-border, var(--kendo-color-dark-active, #000000) );
  --kendo-fab-selected-text: var( --kendo-fab-solid-dark-selected-text, var(--kendo-color-on-dark, #ffffff) );
  --kendo-fab-selected-bg: var( --kendo-fab-solid-dark-selected-bg, var(--kendo-color-dark-active, #000000) );
  --kendo-fab-selected-border: var( --kendo-fab-solid-dark-selected-border, var(--kendo-color-dark-active, #000000) );
  --kendo-fab-disabled-text: var( --kendo-fab-solid-dark-disabled-text, color-mix(in srgb, var(--kendo-color-on-app-surface, #323130) 46%, transparent) );
  --kendo-fab-disabled-bg: var( --kendo-fab-solid-dark-disabled-bg, color-mix(in srgb, var(--kendo-color-on-app-surface, #323130) 6%, transparent) );
  --kendo-fab-disabled-border: var( --kendo-fab-solid-dark-disabled-border, transparent );
}

.k-fab-solid-light {
  --kendo-fab-text: var( --kendo-fab-solid-light-text, var(--kendo-color-on-light, #323130) );
  --kendo-fab-bg: var( --kendo-fab-solid-light-bg, var(--kendo-color-light, #d2d0ce) );
  --kendo-fab-border: var( --kendo-fab-solid-light-border, var(--kendo-color-light, #d2d0ce) );
  --kendo-fab-hover-text: var( --kendo-fab-solid-light-hover-text, var(--kendo-color-on-light, #323130) );
  --kendo-fab-hover-bg: var( --kendo-fab-solid-light-hover-bg, var(--kendo-color-light-hover, #c8c6c4) );
  --kendo-fab-hover-border: var( --kendo-fab-solid-light-hover-border, var(--kendo-color-light-hover, #c8c6c4) );
  --kendo-fab-focus-text: var( --kendo-fab-solid-light-focus-text, var(--kendo-color-on-light, #323130) );
  --kendo-fab-focus-bg: var( --kendo-fab-solid-light-focus-bg, var(--kendo-color-light, #d2d0ce) );
  --kendo-fab-focus-border: var( --kendo-fab-solid-light-focus-border, var(--kendo-color-light, #d2d0ce) );
  --kendo-fab-focus-outline: var( --kendo-fab-solid-light-focus-outline, var(--kendo-color-app-surface, #ffffff) );
  --kendo-fab-active-text: var( --kendo-fab-solid-light-active-text, var(--kendo-color-on-light, #323130) );
  --kendo-fab-active-bg: var( --kendo-fab-solid-light-active-bg, var(--kendo-color-light-active, #a19f9d) );
  --kendo-fab-active-border: var( --kendo-fab-solid-light-active-border, var(--kendo-color-light-active, #a19f9d) );
  --kendo-fab-selected-text: var( --kendo-fab-solid-light-selected-text, var(--kendo-color-on-light, #323130) );
  --kendo-fab-selected-bg: var( --kendo-fab-solid-light-selected-bg, var(--kendo-color-light-active, #a19f9d) );
  --kendo-fab-selected-border: var( --kendo-fab-solid-light-selected-border, var(--kendo-color-light-active, #a19f9d) );
  --kendo-fab-disabled-text: var( --kendo-fab-solid-light-disabled-text, color-mix(in srgb, var(--kendo-color-on-app-surface, #323130) 46%, transparent) );
  --kendo-fab-disabled-bg: var( --kendo-fab-solid-light-disabled-bg, color-mix(in srgb, var(--kendo-color-on-app-surface, #323130) 6%, transparent) );
  --kendo-fab-disabled-border: var( --kendo-fab-solid-light-disabled-border, transparent );
}

.k-fab-item-text,
.k-fab-item-icon {
  --INTERNAL--kendo-fab-item-text: var( --kendo-fab-item-text, var(--kendo-color-on-app-surface, #323130) );
  --INTERNAL--kendo-fab-item-bg: var( --kendo-fab-item-bg, var(--kendo-component-bg, inherit) );
  --INTERNAL--kendo-fab-item-border: var( --kendo-fab-item-border, var(--kendo-color-border, #8a8886) );
  border-color: var(--INTERNAL--kendo-fab-item-border, inherit);
  color: var(--INTERNAL--kendo-fab-item-text, inherit);
  background-color: var(--INTERNAL--kendo-fab-item-bg, transparent);
}

.k-fab-item:hover .k-fab-item-icon, .k-fab-item.k-hover .k-fab-item-icon {
  --INTERNAL--kendo-fab-item-text: var( --kendo-fab-item-icon-hover-text, var(--kendo-hover-text, inherit) );
  --INTERNAL--kendo-fab-item-bg: var( --kendo-fab-item-icon-hover-bg, var(--kendo-hover-bg, inherit) );
  --INTERNAL--kendo-fab-item-border: var( --kendo-fab-item-icon-hover-border, var(--kendo-color-border, #8a8886) );
}
.k-fab-item:hover .k-fab-item-text, .k-fab-item.k-hover .k-fab-item-text {
  --INTERNAL--kendo-fab-item-text: var( --kendo-fab-item-hover-text, var(--kendo-hover-text, inherit) );
  --INTERNAL--kendo-fab-item-bg: var( --kendo-fab-item-hover-bg, var(--kendo-hover-bg, inherit) );
  --INTERNAL--kendo-fab-item-border: var( --kendo-fab-item-hover-border, var(--kendo-color-border, #8a8886) );
}
.k-fab-item:focus .k-fab-item-icon, .k-fab-item.k-focus .k-fab-item-icon {
  --INTERNAL--kendo-fab-item-text: var( --kendo-fab-item-icon-focus-text, var(--kendo-color-on-app-surface, #323130) );
  --INTERNAL--kendo-fab-item-bg: var( --kendo-fab-item-icon-focus-bg, var(--kendo-component-bg, inherit) );
  --INTERNAL--kendo-fab-item-border: var( --kendo-fab-item-icon-focus-border, var(--kendo-color-border, #8a8886) );
}
.k-fab-item:focus .k-fab-item-text, .k-fab-item.k-focus .k-fab-item-text {
  --INTERNAL--kendo-fab-item-text: var( --kendo-fab-item-focus-text, var(--kendo-color-on-app-surface, #323130) );
  --INTERNAL--kendo-fab-item-bg: var( --kendo-fab-item-focus-bg, var(--kendo-component-bg, inherit) );
  --INTERNAL--kendo-fab-item-border: var( --kendo-fab-item-focus-border, var(--kendo-color-border, #8a8886) );
}
.k-fab-item:active .k-fab-item-icon, .k-fab-item.k-active .k-fab-item-icon {
  --INTERNAL--kendo-fab-item-text: var( --kendo-fab-item-icon-active-text, var(--kendo-selected-text, inherit) );
  --INTERNAL--kendo-fab-item-bg: var( --kendo-fab-item-icon-active-bg, var(--kendo-selected-bg, inherit) );
  --INTERNAL--kendo-fab-item-border: var( --kendo-fab-item-icon-active-border, var(--kendo-color-border, #8a8886) );
}
.k-fab-item:active .k-fab-item-text, .k-fab-item.k-active .k-fab-item-text {
  --INTERNAL--kendo-fab-item-text: var( --kendo-fab-item-active-text, var(--kendo-selected-text, inherit) );
  --INTERNAL--kendo-fab-item-bg: var( --kendo-fab-item-active-bg, var(--kendo-selected-bg, inherit) );
  --INTERNAL--kendo-fab-item-border: var( --kendo-fab-item-active-border, var(--kendo-color-border, #8a8886) );
}
.k-fab-item:disabled, .k-fab-item.k-disabled {
  background-color: transparent;
}
.k-fab-item:disabled .k-fab-item-icon, .k-fab-item.k-disabled .k-fab-item-icon, .k-fab-item:disabled .k-fab-item-text, .k-fab-item.k-disabled .k-fab-item-text {
  outline: none;
  cursor: default;
  color: var(--kendo-disabled-text, inherit);
  background-color: var(--kendo-disabled-bg, inherit);
  border-color: var(--kendo-disabled-border, inherit);
  pointer-events: none;
  box-shadow: none;
}

.k-fab-popup {
  box-shadow: none;
}

.k-window {
  border-radius: var(--kendo-window-border-radius, var(--kendo-border-radius-md, 0.25rem));
  padding: 0;
  border-width: var(--kendo-window-border-width, var(--kendo-spacing-1, 0.25rem) 0 0);
  border-style: solid;
  box-sizing: border-box;
  outline: 0;
  font-family: var(--kendo-window-font-family, var(--kendo-font-family, inherit));
  font-size: var(--kendo-window-font-size, var(--kendo-font-size, inherit));
  line-height: var(--kendo-window-line-height, var(--kendo-line-height, normal));
  display: inline-flex;
  flex-direction: column;
  position: absolute;
  z-index: 10002;
  -webkit-touch-callout: none;
  -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
}

.k-window.k-window-maximized {
  max-width: 100vw;
  max-height: 100vh;
  box-shadow: none;
}

.k-window-sm {
  width: 300px;
}

.k-window-md {
  width: 800px;
}

.k-window-lg {
  width: 1200px;
}

.k-window-titlebar {
  border-top-left-radius: var(--kendo-window-border-radius, var(--kendo-border-radius-md, 0.25rem));
  border-top-right-radius: var(--kendo-window-border-radius, var(--kendo-border-radius-md, 0.25rem));
  padding-inline: var(--kendo-window-titlebar-padding-x, var(--kendo-spacing-6, 1.5rem));
  padding-block: var(--kendo-window-titlebar-padding-y, var(--kendo-spacing-5, 1.25rem));
  white-space: nowrap;
  display: flex;
  flex-direction: row;
  flex-shrink: 0;
  align-items: center;
}

.k-window-title {
  padding-block: 0.5em;
  padding-inline: 0;
  margin-block: -0.5em;
  margin-inline: 0;
  font-size: var(--kendo-window-title-font-size, var(--kendo-font-size-xl, inherit));
  line-height: var(--kendo-window-title-line-height, var(--kendo-line-height, normal));
  font-weight: var(--kendo-window-title-font-weight, var(--kendo-font-weight-bold, bold));
  text-overflow: ellipsis;
  overflow: hidden;
  cursor: default;
  flex: 1;
}
.k-window-title:empty::before {
  content: "​";
}

.k-window-titlebar-actions {
  margin-block: -5em;
  margin-inline: 0;
  margin-inline-end: calc(var(--kendo-spacing-5, 1.25rem) - var(--kendo-spacing-6, 1.5rem));
  line-height: 1;
  display: flex;
  gap: var(--kendo-window-actions-gap, var(--kendo-spacing-0, 0px));
  flex-flow: row nowrap;
  flex-shrink: 0;
  align-items: center;
  vertical-align: top;
}

.k-window-titlebar-action {
  flex-shrink: 0;
  opacity: var(--kendo-window-action-opacity, 1);
}
.k-window-titlebar-action:hover, .k-window-titlebar-action.k-hover {
  opacity: var(--kendo-window-action-hover-opacity, 1);
}

.k-window-content,
.k-prompt-container {
  padding-inline: var(--kendo-window-inner-padding-x, var(--kendo-spacing-6, 1.5rem));
  padding-block: var(--kendo-window-inner-padding-y, var(--kendo-spacing-3, 0.75rem));
  border-width: 0;
  border-color: inherit;
  color: inherit;
  background: none;
  outline: 0;
  overflow: auto;
  position: relative;
  flex: 1 1 auto;
}

.k-window-content + .k-prompt-container {
  margin-block-start: calc(-1 * var(--kendo-window-inner-padding-y, var(--kendo-spacing-3, 0.75rem)) / 2);
}

.k-window-iframecontent {
  padding: 0;
  overflow: visible;
}
.k-window-iframecontent .k-content-frame {
  vertical-align: top;
  border: 0;
  width: 100%;
  height: 100%;
}

.k-window-actions {
  border-bottom-right-radius: var(--kendo-window-border-radius, var(--kendo-border-radius-md, 0.25rem));
  border-bottom-left-radius: var(--kendo-window-border-radius, var(--kendo-border-radius-md, 0.25rem));
  padding-inline: var(--kendo-window-buttongroup-padding-x, var(--kendo-spacing-6, 1.5rem));
  padding-block: 0 var(--kendo-window-buttongroup-padding-y, var(--kendo-spacing-6, 1.5rem));
  border-width: var(--kendo-window-buttongroup-border-width, 0) 0 0;
  border-style: solid;
  border-color: inherit;
  flex: 0 0 auto;
  display: flex;
  flex-flow: row wrap;
  align-items: center;
  gap: var(--kendo-window-buttongroup-spacing, var(--kendo-spacing-3, 0.75rem));
  overflow: hidden;
}

.k-prompt-container > .k-textarea {
  width: 100%;
}

.k-window .k-resize-n {
  top: 0;
}
.k-window .k-resize-e {
  right: 0;
}
.k-window .k-resize-s {
  bottom: 0;
}
.k-window .k-resize-w {
  left: 0;
}

.k-window {
  border-color: var(--kendo-window-border, var(--kendo-color-primary, #0078d4));
  color: var(--kendo-window-text, var(--kendo-component-text, initial));
  background-color: var(--kendo-window-bg, var(--kendo-component-bg, initial));
  box-shadow: var(--kendo-window-shadow, var(--kendo-box-shadow-depth-8, none));
}
.k-window:focus, .k-window.k-focus {
  box-shadow: var(--kendo-window-focus-shadow, var(--kendo-box-shadow-depth-9, none));
}

.k-window-titlebar {
  border-color: var(--kendo-window-titlebar-border, var(--kendo-color-primary, #0078d4));
  background-color: var(--kendo-window-titlebar-bg, var(--kendo-component-bg, initial));
}

.k-window-title {
  color: var(--kendo-window-titlebar-text, var(--kendo-color-primary, #0078d4));
}

.k-window-primary .k-window-titlebar {
  color: var(--kendo-window-titlebar-text, var(--kendo-color-primary, #0078d4));
  --kendo-window-titlebar-text: var( --kendo-window-primary-text, var(--kendo-color-on-primary, #ffffff) );
  --kendo-window-titlebar-bg: var( --kendo-window-primary-bg, var(--kendo-color-primary, #0078d4) );
  --kendo-window-titlebar-border: var( --kendo-window-primary-border, var(--kendo-color-primary, #0078d4) );
}

.k-window-dark .k-window-titlebar {
  color: var(--kendo-window-titlebar-text, var(--kendo-color-primary, #0078d4));
  --kendo-window-titlebar-text: var( --kendo-window-dark-text, var(--kendo-color-on-dark, #ffffff) );
  --kendo-window-titlebar-bg: var( --kendo-window-dark-bg, var(--kendo-color-dark, #323130) );
  --kendo-window-titlebar-border: var( --kendo-window-dark-border, var(--kendo-color-dark, #323130) );
}

.k-window-light .k-window-titlebar {
  color: var(--kendo-window-titlebar-text, var(--kendo-color-primary, #0078d4));
  --kendo-window-titlebar-text: var( --kendo-window-light-text, var(--kendo-color-on-light, #323130) );
  --kendo-window-titlebar-bg: var( --kendo-window-light-bg, var(--kendo-color-light, #d2d0ce) );
  --kendo-window-titlebar-border: var( --kendo-window-light-border, var(--kendo-color-light, #d2d0ce) );
}

.k-actionsheet-container {
  width: 100%;
  height: 100%;
  max-width: clamp(100vw, 100%, 100%);
  max-height: clamp(100vh, 100%, 100%);
  position: fixed;
  top: 0;
  left: 0;
  z-index: 9999;
  overflow: hidden;
  transform: translateZ(0);
}

.k-actionsheet-container > .k-overlay {
  position: absolute;
  z-index: 1;
}
.k-actionsheet-container > .k-animation-container {
  width: 100%;
  height: 100%;
  border-radius: 0;
  overflow: hidden;
  position: absolute;
  z-index: 2;
  top: 0;
  left: 0;
  pointer-events: none;
}
.k-actionsheet-container > .k-animation-container > .k-child-animation-container {
  position: absolute;
}
.k-actionsheet-container > .k-actionsheet {
  position: absolute;
  z-index: 2;
}
.k-actionsheet-container .k-actionsheet {
  pointer-events: all;
}

.k-actionsheet {
  padding-inline: var(--kendo-actionsheet-padding-x, var(--kendo-spacing-0, 0px));
  padding-block: var(--kendo-actionsheet-padding-y, var(--kendo-spacing-0, 0px));
  width: var(--kendo-actionsheet-width, 360px);
  max-width: var(--kendo-actionsheet-max-width, 100%);
  height: var(--kendo-actionsheet-height, 60vh);
  max-height: var(--kendo-actionsheet-max-height, 60vh);
  border-width: 0;
  border-style: solid;
  border-color: transparent;
  box-sizing: border-box;
  font-size: var(--kendo-actionsheet-font-size, var(--kendo-font-size, inherit));
  font-family: var(--kendo-actionsheet-font-family, var(--kendo-font-family, inherit));
  line-height: var(--kendo-actionsheet-line-height, var(--kendo-line-height, inherit));
  overflow: hidden;
  position: relative;
  display: flex;
  flex-flow: column nowrap;
}
.k-actionsheet:has(> .k-actionsheet-view) {
  flex-flow: row nowrap;
}
.k-actionsheet .k-actionsheet-view {
  display: flex;
  flex-flow: column nowrap;
  flex: 0 0 100%;
}
.k-actionsheet .k-actionsheet-view.k-actionsheet-view-animated {
  transform: translateX(calc(-100% * (var(--kendo-actionsheet-view-current, 1) - 1)));
}
.k-actionsheet *,
.k-actionsheet *::before,
.k-actionsheet *::after {
  box-sizing: border-box;
}

.k-actionsheet-fullscreen {
  width: 100%;
  max-width: 100%;
  max-height: 100%;
  height: 100%;
}

.k-actionsheet-header, .k-actionsheet-titlebar {
  padding-inline: var(--kendo-actionsheet-header-padding-x, var(--kendo-spacing-4, 1rem));
  padding-block: var(--kendo-actionsheet-header-padding-y, var(--kendo-spacing-2, 0.5rem));
  border-bottom-width: var(--kendo-actionsheet-header-border-width, 1px);
  border-bottom-style: solid;
  box-sizing: border-box;
  font-size: var(--kendo-actionsheet-header-font-size, inherit);
  font-family: var(--kendo-actionsheet-header-font-family, inherit);
  line-height: var(--kendo-actionsheet-header-line-height, inherit);
  flex: none;
  gap: var(--kendo-actionsheet-header-gap, var(--kendo-spacing-4, 1rem));
}

.k-actionsheet-titlebar {
  display: flex;
  flex-flow: column nowrap;
  align-items: center;
}

.k-actionsheet-titlebar-group {
  display: flex;
  flex-flow: row nowrap;
  align-items: center;
  width: 100%;
}

.k-actionsheet-title {
  flex: 1;
}

.k-actionsheet-subtitle {
  font-size: var(--kendo-actionsheet-subtitle-font-size, var(--kendo-font-size-sm, inherit));
  line-height: var(--kendo-actionsheet-subtitle-line-height, var(--kendo-line-height-sm, inherit));
}

.k-actionsheet-actions {
  flex: none;
}

.k-actionsheet-content {
  flex: 1;
  overflow: auto;
  position: relative;
}

.k-actionsheet-footer {
  flex: none;
  border-top-width: 1px;
  border-top-style: solid;
}

.k-actionsheet-items {
  margin: 0;
  padding: 0;
  list-style: none;
  flex: none;
}

.k-actionsheet-item {
  padding: 0;
  box-sizing: border-box;
  display: flex;
  flex-flow: row nowrap;
}
.k-actionsheet-item:focus, .k-actionsheet-item.k-focus {
  outline-width: var(--kendo-actionsheet-item-focus-outline-width, 1px);
  outline-style: solid;
  outline-offset: calc(-1 * var(--kendo-actionsheet-item-focus-outline-width, 1px));
}

.k-actionsheet-action {
  margin: 0;
  padding-inline: var(--kendo-actionsheet-item-padding-x, var(--kendo-spacing-4, 1rem));
  padding-block: var(--kendo-actionsheet-item-padding-y, var(--kendo-spacing-2, 0.5rem));
  min-height: var(--kendo-actionsheet-item-min-height, 40px);
  box-sizing: border-box;
  color: inherit;
  text-decoration: none;
  outline: 0;
  display: flex;
  flex-flow: row nowrap;
  align-items: flex-start;
  gap: var(--kendo-actionsheet-item-spacing, var(--kendo-spacing-2, 0.5rem));
}

.k-actionsheet-item-text {
  display: flex;
  flex-flow: column nowrap;
}

.k-actionsheet-item-title {
  font-weight: var(--kendo-actionsheet-item-title-font-weight, inherit);
  text-transform: var(--kendo-actionsheet-item-title-text-transform, none);
}

.k-actionsheet-item-description {
  font-size: var(--kendo-actionsheet-item-description-font-size, var(--kendo-font-size-sm, inherit));
}

.k-actionsheet .k-hr {
  margin: 0;
  flex: none;
}

.k-actionsheet-top {
  border-bottom-right-radius: var(--kendo-actionsheet-border-radius, 0px);
  border-bottom-left-radius: var(--kendo-actionsheet-border-radius, 0px);
  border-width: var(--kendo-actionsheet-border-width, 0px);
  border-top-width: 0;
  top: 0;
  inset-inline-start: 50%;
  transform: translateX(-50%);
}

.k-actionsheet-bottom {
  border-top-left-radius: var(--kendo-actionsheet-border-radius, 0px);
  border-top-right-radius: var(--kendo-actionsheet-border-radius, 0px);
  border-width: var(--kendo-actionsheet-border-width, 0px);
  border-bottom-width: 0;
  bottom: 0;
  inset-inline-start: 50%;
  transform: translateX(-50%);
}

.k-actionsheet-left {
  border-top-right-radius: var(--kendo-actionsheet-border-radius, 0px);
  border-bottom-right-radius: var(--kendo-actionsheet-border-radius, 0px);
  border-width: var(--kendo-actionsheet-border-width, 0px);
  border-left-width: var(--kendo-actionsheet-border-width, 0px);
  left: 0;
  top: 50%;
  transform: translateY(-50%);
}

.k-actionsheet-right {
  border-top-left-radius: var(--kendo-actionsheet-border-radius, 0px);
  border-bottom-left-radius: var(--kendo-actionsheet-border-radius, 0px);
  border-width: var(--kendo-actionsheet-border-width, 0px);
  border-right-width: 0;
  right: 0;
  top: 50%;
  transform: translateY(-50%);
}

.k-animation-container > .k-actionsheet {
  top: auto;
  right: auto;
  bottom: auto;
  left: auto;
  transform: none;
}

.k-adaptive-actionsheet {
  max-width: 100%;
  width: 100%;
  font-size: 1rem;
}
.k-adaptive-actionsheet .k-actionsheet-titlebar {
  padding-inline: var(--kendo-adaptive-actionsheet-header-padding-x, var(--kendo-spacing-4, 1rem));
  padding-block: var(--kendo-adaptive-actionsheet-header-padding-y, var(--kendo-spacing-4, 1rem));
}
.k-adaptive-actionsheet .k-actionsheet-content {
  padding-inline: var(--kendo-adaptive-actionsheet-content-padding-x, var(--kendo-spacing-4, 1rem));
  padding-block: var(--kendo-adaptive-actionsheet-content-padding-y, var(--kendo-spacing-2, 0.5rem));
}
.k-adaptive-actionsheet .k-actionsheet-footer {
  padding-inline: var(--kendo-adaptive-actionsheet-footer-padding-x, var(--kendo-spacing-4, 1rem));
  padding-block: var(--kendo-adaptive-actionsheet-footer-padding-y, var(--kendo-spacing-2, 0.5rem));
}
.k-adaptive-actionsheet .k-actionsheet-filter {
  width: calc(360px - var(--kendo-spacing-4, 1rem) * 2);
}
.k-adaptive-actionsheet .k-actionsheet-content,
.k-adaptive-actionsheet .k-actionsheet-footer {
  margin-inline: auto;
  width: min(100%, 360px);
}
.k-adaptive-actionsheet .k-list-container,
.k-adaptive-actionsheet .k-treeview {
  height: 100%;
}
.k-adaptive-actionsheet .k-list-filter {
  width: 100%;
  padding-inline: 0;
}
.k-adaptive-actionsheet .k-menu-group {
  height: 100%;
  overflow: auto;
  position: static;
}
.k-adaptive-actionsheet .k-calendar {
  margin-inline: auto;
  border-width: 0;
  display: flex;
}
.k-adaptive-actionsheet .k-timeselector {
  height: 100%;
  border-width: 0;
  overflow: hidden;
}
.k-adaptive-actionsheet .k-timeselector .k-time-part {
  display: contents;
}
.k-adaptive-actionsheet .k-timeselector .k-time-list-wrapper {
  height: 100%;
}
.k-adaptive-actionsheet .k-datetime-wrap {
  width: 100%;
  height: 100%;
  display: flex;
  flex-flow: column nowrap;
}
.k-adaptive-actionsheet .k-datetime-selector {
  flex: 1 1 auto;
}
.k-adaptive-actionsheet .k-datetime-calendar-wrap {
  width: 100%;
  position: absolute;
  top: 0;
  left: 0;
  bottom: 0;
  flex: 0 0 100%;
}
.k-adaptive-actionsheet .k-datetime-time-wrap {
  width: 100%;
  position: absolute;
  top: 0;
  left: 100%;
  bottom: 0;
  flex: 0 0 100%;
}
.k-adaptive-actionsheet .k-scrollable-wrap {
  height: 100%;
  overflow-y: auto;
}
.k-adaptive-actionsheet .k-data-table {
  max-height: 100%;
  overflow: hidden;
  display: flex;
  flex-flow: column nowrap;
}
.k-adaptive-actionsheet .k-coloreditor {
  min-width: 100%;
  height: 100%;
  border: 0;
  overflow: auto;
  scrollbar-width: none;
  box-shadow: none;
}
.k-adaptive-actionsheet .k-coloreditor::-webkit-scrollbar {
  display: none;
}
.k-adaptive-actionsheet .k-coloreditor .k-coloreditor-header {
  padding: 0;
}
.k-adaptive-actionsheet .k-coloreditor .k-coloreditor-views {
  padding-inline: 0;
}
.k-adaptive-actionsheet .k-colorgradient-canvas .k-hsv-gradient {
  aspect-ratio: 1;
  height: 100%;
}

.k-rtl .k-actionsheet-top,
.k-rtl .k-actionsheet-bottom,
[dir=rtl] .k-actionsheet-top,
[dir=rtl] .k-actionsheet-bottom {
  transform: translateX(50%);
}

:is([dir=rtl], .k-rtl) .k-actionsheet-view.k-actionsheet-view-animated {
  transform: translateX(calc(100% * (var(--kendo-actionsheet-view-current, 1) - 1)));
}

.k-actionsheet {
  color: var(--kendo-actionsheet-text, var(--kendo-component-text, initial));
  background-color: var(--kendo-actionsheet-bg, var(--kendo-component-bg, initial));
  border-color: var(--kendo-actionsheet-border, var(--kendo-component-border, initial));
  box-shadow: var(--kendo-actionsheet-shadow, var(--kendo-box-shadow-depth-7, none));
}

.k-actionsheet-header, .k-actionsheet-titlebar {
  color: var(--kendo-actionsheet-header-text, inherit);
  background-color: var(--kendo-actionsheet-header-bg, inherit);
  border-color: var(--kendo-actionsheet-header-border, var(--kendo-component-border, initial));
  box-shadow: var(--kendo-actionsheet-header-shadow, none);
}

.k-actionsheet-footer {
  color: var(--kendo-actionsheet-footer-text, );
  background-color: var(--kendo-actionsheet-footer-bg, );
  border-color: var(--kendo-actionsheet-footer-border, var(--kendo-component-border, initial));
  box-shadow: var(--kendo-actionsheet-footer-shadow, );
}

.k-actionsheet-subtitle-text {
  color: var(--kendo-actionsheet-subtitle-text, var(--kendo-subtle-text, inherit));
}

.k-actionsheet-item-icon {
  color: var(--kendo-actionsheet-item-icon-color, var(--kendo-color-primary, #0078d4));
}

.k-actionsheet-item-description {
  color: var(--kendo-actionsheet-item-description-text, var(--kendo-subtle-text, inherit));
}

.k-actionsheet-item {
  color: var(--INTERNAL--kendo-actionsheet-item-text, inherit);
  background-color: var(--INTERNAL--kendo-actionsheet-item-bg, inherit);
  border-color: var(--INTERNAL--kendo-actionsheet-item-border, inherit);
  outline-color: var(--INTERNAL--kendo-actionsheet-item-outline, inherit);
}
.k-actionsheet-item:hover, .k-actionsheet-item.k-hover {
  --INTERNAL--kendo-actionsheet-item-text: var( --kendo-actionsheet-item-hover-text, var(--kendo-hover-text, inherit) );
  --INTERNAL--kendo-actionsheet-item-bg: var( --kendo-actionsheet-item-hover-bg, var(--kendo-hover-bg, inherit) );
  --INTERNAL--kendo-actionsheet-item-border: var( --kendo-actionsheet-item-hover-border, inherit );
}
.k-actionsheet-item:focus, .k-actionsheet-item.k-focus {
  --INTERNAL--kendo-actionsheet-item-text: var( --kendo-actionsheet-item-focus-text, inherit );
  --INTERNAL--kendo-actionsheet-item-bg: var( --kendo-actionsheet-item-focus-bg, inherit );
  --INTERNAL--kendo-actionsheet-item-border: var( --kendo-actionsheet-item-focus-border, inherit );
  --INTERNAL--kendo-actionsheet-item-outline: var( --kendo-actionsheet-item-focus-outline, var(--kendo-outline-color, inherit) );
}
.k-actionsheet-item:focus:hover, .k-actionsheet-item:focus.k-hover, .k-actionsheet-item.k-focus:hover, .k-actionsheet-item.k-focus.k-hover {
  --INTERNAL--kendo-actionsheet-item-text: var( --kendo-actionsheet-item-focus-hover-text, var(--kendo-hover-text, inherit) );
  --INTERNAL--kendo-actionsheet-item-bg: var( --kendo-actionsheet-item-focus-hover-bg, var(--kendo-hover-bg, inherit) );
  --INTERNAL--kendo-actionsheet-item-border: var( --kendo-actionsheet-item-focus-hover-border, inherit );
}
.k-actionsheet-item:disabled, .k-actionsheet-item.k-disabled {
  --INTERNAL--kendo-actionsheet-item-text: var( --kendo-actionsheet-item-disabled-text, var(--kendo-disabled-text, inherit) );
  --INTERNAL--kendo-actionsheet-item-bg: var( --kendo-actionsheet-item-disabled-bg, var(--kendo-component-bg, initial) );
  --INTERNAL--kendo-actionsheet-item-border: var( --kendo-actionsheet-item-disabled-border, var(--kendo-disabled-border, inherit) );
}
.k-actionsheet-item:disabled .k-actionsheet-item-description,
.k-actionsheet-item:disabled .k-actionsheet-item-icon, .k-actionsheet-item.k-disabled .k-actionsheet-item-description,
.k-actionsheet-item.k-disabled .k-actionsheet-item-icon {
  color: inherit;
}

.k-actionsheet .k-hr {
  border-color: var(--kendo-actionsheet-border, var(--kendo-component-border, initial));
}

.k-dialog-wrapper {
  display: flex;
  align-items: center;
  justify-content: center;
  flex-direction: column;
  outline: 0;
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: 10001;
}
.k-dialog-wrapper .k-dialog {
  position: relative;
}

.k-dialog {
  padding: 0;
  border-width: var(--kendo-dialog-border-width, 0) 0 0;
  position: fixed;
  box-sizing: border-box;
}
.k-dialog.k-dialog-centered {
  transform: translate(-50%, -50%);
  top: 50%;
  left: 50%;
}
.k-dialog .k-multiselect {
  width: 100%;
}

.k-dialog-titlebar {
  border-width: var(--kendo-dialog-titlebar-border-width, 0) 0 0;
  padding-inline: var(--kendo-dialog-titlebar-padding-x, var(--kendo-spacing-6, 1.5rem));
  padding-block: var(--kendo-dialog-titlebar-padding-y, var(--kendo-spacing-4, 1rem));
}

.k-dialog-content {
  padding-inline: var(--kendo-dialog-inner-padding-x, var(--kendo-spacing-6, 1.5rem));
  padding-block: var(--kendo-dialog-inner-padding-y, var(--kendo-spacing-3, 0.75rem));
}

.k-dialog-actions {
  border-bottom-right-radius: var(--kendo-window-border-radius, var(--kendo-border-radius-md, 0.25rem));
  border-bottom-left-radius: var(--kendo-window-border-radius, var(--kendo-border-radius-md, 0.25rem));
  padding-inline: var(--kendo-dialog-buttongroup-padding-x, var(--kendo-spacing-6, 1.5rem));
  padding-block: var(--kendo-dialog-buttongroup-padding-y, var(--kendo-spacing-6, 1.5rem));
  border-width: var(--kendo-dialog-buttongroup-border-width, 0) 0 0;
  border-style: solid;
  border-color: inherit;
  flex: 0 0 auto;
  display: flex;
  flex-flow: row wrap;
  align-items: center;
  gap: var(--kendo-dialog-buttongroup-spacing, var(--kendo-spacing-3, 0.75rem));
  overflow: hidden;
}

.k-dialog-content + .k-dialog-actions {
  padding-block-start: 0;
}

.k-dialog {
  box-shadow: var(--kendo-dialog-shadow, var(--kendo-box-shadow-depth-8, none));
}

.k-dialog-titlebar {
  border-color: var(--kendo-dialog-titlebar-border, var(--kendo-component-border, initial));
  background-color: var(--kendo-dialog-titlebar-bg, var(--kendo-component-bg, initial));
  box-shadow: none;
}

.k-dialog-title {
  color: var(--kendo-dialog-titlebar-text, var(--kendo-component-text, initial));
}

.k-dialog-primary .k-dialog-titlebar {
  color: var(--kendo-dialog-titlebar-text, var(--kendo-component-text, initial));
  --kendo-dialog-titlebar-text: var( --kendo-dialog-primary-text, var(--kendo-color-on-primary, #ffffff) );
  --kendo-dialog-titlebar-bg: var( --kendo-dialog-primary-bg, var(--kendo-color-primary, #0078d4) );
  --kendo-dialog-titlebar-border: var( --kendo-dialog-primary-border, var(--kendo-color-primary, #0078d4) );
}

.k-dialog-dark .k-dialog-titlebar {
  color: var(--kendo-dialog-titlebar-text, var(--kendo-component-text, initial));
  --kendo-dialog-titlebar-text: var( --kendo-dialog-dark-text, var(--kendo-color-on-dark, #ffffff) );
  --kendo-dialog-titlebar-bg: var( --kendo-dialog-dark-bg, var(--kendo-color-dark, #323130) );
  --kendo-dialog-titlebar-border: var( --kendo-dialog-dark-border, var(--kendo-color-dark, #323130) );
}

.k-dialog-light .k-dialog-titlebar {
  color: var(--kendo-dialog-titlebar-text, var(--kendo-component-text, initial));
  --kendo-dialog-titlebar-text: var( --kendo-dialog-light-text, var(--kendo-color-on-light, #323130) );
  --kendo-dialog-titlebar-bg: var( --kendo-dialog-light-bg, var(--kendo-color-light, #d2d0ce) );
  --kendo-dialog-titlebar-border: var( --kendo-dialog-light-border, var(--kendo-color-light, #d2d0ce) );
}

.k-drawer-container {
  display: flex;
  flex-flow: row nowrap;
  align-items: flex-start;
}

kendo-drawer.k-drawer,
kendo-drawer .k-drawer-wrapper {
  transition: none;
}

.k-drawer {
  height: 100%;
  max-width: 100%;
  border-width: 0;
  border-style: solid;
  box-sizing: border-box;
  outline: 0;
  font-family: var(--kendo-drawer-font-family, var(--kendo-font-family, inherit));
  font-size: var(--kendo-drawer-font-size, var(--kendo-font-size, inherit));
  line-height: var(--kendo-drawer-line-height, var(--kendo-line-height, inherit));
  display: flex;
  flex-direction: column;
  flex: 0 0 auto;
  transition: all 300ms ease-in-out;
  overflow: hidden;
  -webkit-touch-callout: none;
  -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
}
.k-drawer *,
.k-drawer *::before,
.k-drawer *::after {
  box-sizing: border-box;
}
.k-drawer-mini .k-drawer.k-drawer-start, .k-drawer-expanded .k-drawer.k-drawer-start {
  border-inline-end-width: var(--kendo-drawer-border-width, 1px);
}
.k-drawer-mini .k-drawer.k-drawer-end, .k-drawer-expanded .k-drawer.k-drawer-end {
  border-inline-start-width: var(--kendo-drawer-border-width, 1px);
}
.k-drawer.k-drawer-start {
  top: 0;
  inset-inline-start: 0;
}
.k-drawer.k-drawer-end {
  top: 0;
  inset-inline-end: 0;
}

.k-drawer-content {
  flex: 1 1 auto;
  overflow: auto;
  padding-block: var(--kendo-drawer-content-padding-y, );
  padding-inline: var(--kendo-drawer-content-padding-x, );
}

.k-drawer-overlay .k-drawer {
  max-width: 80vw;
  position: fixed;
  z-index: 10002;
  border: 0;
}
.k-drawer-overlay > .k-overlay {
  display: none;
}
.k-drawer-overlay.k-drawer-expanded > .k-overlay {
  display: block;
}

.k-drawer-push {
  display: flex;
  flex-direction: row;
}
.k-drawer-push .k-drawer {
  height: auto;
  position: relative;
  align-self: stretch;
}
.k-drawer-push:has(.k-drawer.k-drawer-end) {
  flex-direction: row-reverse;
}

.k-drawer-wrapper {
  overflow-x: hidden;
  overflow-y: auto;
  scrollbar-width: thin;
  transition: all 300ms ease-in-out;
}
.k-drawer-wrapper::-webkit-scrollbar {
  width: var(--kendo-drawer-scrollbar-width, 7px);
}
.k-drawer-wrapper::-webkit-scrollbar-thumb {
  border-radius: var(--kendo-drawer-scrollbar-radius, 20px);
}

.k-drawer-items {
  margin: 0;
  padding: 0;
  list-style: none;
  display: flex;
  flex-direction: column;
  align-items: stretch;
}

.k-drawer-item {
  padding-inline: var(--kendo-drawer-item-padding-x, var(--kendo-spacing-4, 1rem));
  padding-block: var(--kendo-drawer-item-padding-y, var(--kendo-spacing-2, 0.5rem));
  outline: 0;
  color: inherit;
  font-size: var(--kendo-drawer-item-font-size, var(--kendo-font-size, inherit));
  line-height: var(--kendo-drawer-item-line-height, var(--kendo-line-height-lg, normal));
  position: relative;
  display: flex;
  align-items: center;
  flex-flow: row nowrap;
  gap: var(--kendo-drawer-item-padding-x, var(--kendo-spacing-4, 1rem));
  cursor: pointer;
}
.k-drawer-item::before {
  content: "";
  border-width: 0;
  border-inline-start-width: var(--kendo-drawer-item-ripple-border-width, var(--kendo-spacing-0\.5, 0.125rem));
  border-style: solid;
  border-color: var(--kendo-drawer-item-ripple-border, var(--kendo-color-primary, #0078d4));
  height: 100%;
  display: block;
  position: absolute;
  inset-block-start: 0;
  z-index: 2;
  opacity: 0;
  transition: opacity 0.3s;
  pointer-events: none;
}
.k-drawer-item > .k-drawer-link {
  margin-inline: calc(var(--kendo-drawer-item-padding-x, var(--kendo-spacing-4, 1rem)) * -1);
  margin-block: calc(var(--kendo-drawer-item-padding-y, var(--kendo-spacing-2, 0.5rem)) * -1);
  padding-inline: var(--kendo-drawer-item-padding-x, var(--kendo-spacing-4, 1rem));
  padding-block: var(--kendo-drawer-item-padding-y, var(--kendo-spacing-2, 0.5rem));
  color: inherit;
  display: flex;
  flex-flow: row nowrap;
  flex: 1 0 auto;
  gap: var(--kendo-drawer-item-padding-x, var(--kendo-spacing-4, 1rem));
}
.k-drawer-item .k-icon {
  flex-shrink: 0;
  padding-inline: var(--kendo-drawer-icon-padding-x, var(--kendo-spacing-0, 0px));
  padding-block: var(--kendo-drawer-icon-padding-y, var(--kendo-spacing-1, 0.25rem));
  box-sizing: content-box;
}
.k-drawer-item .k-icon.k-i-none {
  margin: 0;
}
.k-drawer-item .k-item-text {
  display: inline-block;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.k-drawer-item.k-selected::before {
  opacity: 1;
}
.k-drawer-item.k-selected .k-item-text {
  font-weight: var(--kendo-drawer-item-selected-font-weight, var(--kendo-font-weight-bold, normal));
}
.k-drawer-item .k-drawer-toggle {
  margin-inline-start: auto;
  cursor: pointer;
  display: flex;
}
.k-drawer-item.k-level-1 {
  padding-inline-start: calc(2 * var(--kendo-drawer-item-level-padding-x, var(--kendo-spacing-4, 1rem)));
}
.k-drawer-item.k-level-2 {
  padding-inline-start: calc(3 * var(--kendo-drawer-item-level-padding-x, var(--kendo-spacing-4, 1rem)));
}
.k-drawer-item.k-level-3 {
  padding-inline-start: calc(4 * var(--kendo-drawer-item-level-padding-x, var(--kendo-spacing-4, 1rem)));
}
.k-drawer-item.k-level-4 {
  padding-inline-start: calc(5 * var(--kendo-drawer-item-level-padding-x, var(--kendo-spacing-4, 1rem)));
}
.k-drawer-item.k-level-5 {
  padding-inline-start: calc(6 * var(--kendo-drawer-item-level-padding-x, var(--kendo-spacing-4, 1rem)));
}

:is(.k-drawer-start, .k-drawer-left) .k-drawer-item::before {
  inset-inline-start: 0;
}

:is(.k-drawer-end, .k-drawer-right) .k-drawer-item::before {
  inset-inline-end: 0;
}

.k-drawer-separator {
  padding: 0;
  height: 1px;
}

.k-drawer-mini .k-drawer-wrapper {
  width: var(--kendo-drawer-mini-initial-width, calc(2 * var(--kendo-spacing-4, 1rem) + var(--kendo-icon-size, 1rem)));
}

.k-drawer {
  border-color: var(--kendo-drawer-border, var(--kendo-component-border, initial));
  color: var(--kendo-drawer-text, var(--kendo-component-text, initial));
  background-color: var(--kendo-drawer-bg, var(--kendo-component-bg, initial));
}

.k-drawer-wrapper {
  scrollbar-color: var(--kendo-drawer-scrollbar-color, color-mix(in srgb, var(--kendo-color-on-app-surface, #323130) 46%, transparent)) var(--kendo-drawer-scrollbar-bg, var(--kendo-color-base-subtle, #edebe9));
}
.k-drawer-wrapper::-webkit-scrollbar-track {
  background: var(--kendo-drawer-scrollbar-bg, var(--kendo-color-base-subtle, #edebe9));
}
.k-drawer-wrapper::-webkit-scrollbar-thumb {
  background: var(--kendo-drawer-scrollbar-color, color-mix(in srgb, var(--kendo-color-on-app-surface, #323130) 46%, transparent));
}
.k-drawer-wrapper::-webkit-scrollbar-thumb:hover {
  background: var(--kendo-drawer-scrollbar-hover-color, color-mix(in srgb, var(--kendo-color-on-app-surface, #323130) 60%, transparent));
}

.k-drawer-item {
  color: var(--kendo-drawer-item-text, var(--kendo-component-text, initial));
  background-color: var(--kendo-drawer-item-bg, var(--kendo-component-bg, initial));
}
.k-drawer-item .k-icon {
  color: var(--kendo-drawer-item-icon-text, var(--kendo-color-primary, #0078d4));
}
.k-drawer-item:hover, .k-drawer-item.k-hover {
  color: var(--kendo-drawer-item-hover-text, var(--kendo-color-primary-hover, #106ebe));
  background-color: var(--kendo-drawer-item-hover-bg, var(--kendo-component-bg, initial));
}
.k-drawer-item:hover .k-icon, .k-drawer-item.k-hover .k-icon {
  color: var(--kendo-drawer-item-hover-icon-text, var(--kendo-color-primary-hover, #106ebe));
}
.k-drawer-item:focus, .k-drawer-item.k-focus {
  color: var(--kendo-drawer-item-focus-text, var(--kendo-component-text, initial));
  background-color: var(--kendo-drawer-item-focus-bg, var(--kendo-component-bg, initial));
  box-shadow: var(--kendo-drawer-item-focus-shadow, inset 0 0 0 1px var(--kendo-color-base-emphasis, #605e5c));
}
.k-drawer-item:focus .k-icon, .k-drawer-item.k-focus .k-icon {
  color: var(--kendo-drawer-item-focus-icon-text, var(--kendo-color-primary, #0078d4));
}
.k-drawer-item:focus:hover, .k-drawer-item:focus.k-hover, .k-drawer-item.k-focus:hover, .k-drawer-item.k-focus.k-hover {
  color: var(--kendo-drawer-item-hover-text, var(--kendo-color-primary-hover, #106ebe));
  background-color: var(--kendo-drawer-item-hover-bg, var(--kendo-component-bg, initial));
}
.k-drawer-item.k-selected {
  color: var(--kendo-drawer-item-selected-text, var(--kendo-color-on-app-surface, #323130));
  background-color: var(--kendo-drawer-item-selected-bg, var(--kendo-selected-bg, initial));
}
.k-drawer-item.k-selected .k-icon {
  color: var(--kendo-drawer-item-selected-icon-text, var(--kendo-color-primary-active, #005a9e));
}
.k-drawer-item.k-selected:hover, .k-drawer-item.k-selected.k-hover {
  color: var(--kendo-drawer-item-selected-hover-text, var(--kendo-selected-hover-text, inherit));
  background-color: var(--kendo-drawer-item-selected-hover-bg, var(--kendo-selected-hover-bg, inherit));
}

.k-drawer-separator {
  background-color: var(--kendo-drawer-border, var(--kendo-component-border, initial));
}

.k-notification-group {
  max-height: 100%;
  display: inline-flex;
  flex-flow: column-reverse wrap;
  position: fixed;
  z-index: 1000;
  gap: var(--kendo-notificaiton-group-gap, var(--kendo-spacing-2, 0.5rem)) 0;
}

.k-notification-container-animating {
  overflow: hidden;
}

.k-notification {
  border-radius: var(--kendo-notification-border-radius, var(--kendo-spacing-0\.5, 0.125rem));
  padding-inline: var(--kendo-notification-padding-x, var(--kendo-spacing-3, 0.75rem));
  padding-block: var(--kendo-notification-padding-y, var(--kendo-spacing-2, 0.5rem));
  border-width: var(--kendo-notification-border-width, 1px);
  border-style: solid;
  box-sizing: border-box;
  outline: 0;
  font-family: var(--kendo-notification-font-family, var(--kendo-font-family, inherit));
  font-size: var(--kendo-notification-font-size, var(--kendo-font-size-sm, inherit));
  line-height: var(--kendo-notification-line-height, var(--kendo-line-height, normal));
  cursor: default;
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: var(--kendo-notification-icon-spacing, var(--kendo-spacing-2, 0.5rem));
  -webkit-touch-callout: none;
  -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
}
.k-notification *,
.k-notification *::before,
.k-notification *::after {
  box-sizing: border-box;
}
.k-notification > .k-notification-content {
  flex: 1 1 auto;
}
.k-notification > .k-notification-status {
  flex-shrink: 0;
}

.k-notification-actions {
  flex: none;
  display: flex;
  gap: var(--kendo-notification-icon-spacing, var(--kendo-spacing-2, 0.5rem));
  flex-flow: row nowrap;
  align-items: center;
  cursor: pointer;
}

.k-notification-action {
  flex: none;
  display: flex;
  flex-flow: row nowrap;
  align-items: center;
  align-self: center;
}

.k-notification {
  --INTERNAL--kendo-notification-text: var( --kendo-notification-text, var(--kendo-component-text, inherit) );
  --INTERNAL--kendo-notification-bg: var( --kendo-notification-bg, var(--kendo-component-bg, inherit) );
  --INTERNAL--kendo-notification-border: var( --kendo-notification-border, var(--kendo-component-border, inherit) );
  --INTERNAL--kendo-notification-box-shadow: var( --kendo-notification-box-shadow, none );
  color: var(--INTERNAL--kendo-notification-text, initial);
  background-color: var(--INTERNAL--kendo-notification-bg, initial);
  border-color: var(--INTERNAL--kendo-notification-border, initial);
  box-shadow: var(--INTERNAL--kendo-notification-box-shadow, none);
}

.k-notification-primary {
  --kendo-notification-text: var( --kendo-notification-primary-text, inherit );
  --kendo-notification-bg: var( --kendo-notification-primary-bg, var(--kendo-color-primary-subtle, #deecf9) );
  --kendo-notification-border: var( --kendo-notification-primary-border, var(--kendo-color-primary-subtle, #deecf9) );
}
.k-notification-primary .k-notification-wrap > .k-icon {
  --kendo-notification-icon-text: var( --kendo-notification-primary-icon-text, var(--kendo-color-primary-on-subtle, #001c30) );
}

.k-notification-error {
  --kendo-notification-text: var( --kendo-notification-error-text, inherit );
  --kendo-notification-bg: var( --kendo-notification-error-bg, var(--kendo-color-error-subtle, #fde7e9) );
  --kendo-notification-border: var( --kendo-notification-error-border, var(--kendo-color-error-subtle, #fde7e9) );
}
.k-notification-error .k-notification-wrap > .k-icon {
  --kendo-notification-icon-text: var( --kendo-notification-error-icon-text, var(--kendo-color-error-on-subtle, #420f12) );
}

.k-notification-warning {
  --kendo-notification-text: var( --kendo-notification-warning-text, inherit );
  --kendo-notification-bg: var( --kendo-notification-warning-bg, var(--kendo-color-warning-subtle, #fff4ce) );
  --kendo-notification-border: var( --kendo-notification-warning-border, var(--kendo-color-warning-subtle, #fff4ce) );
}
.k-notification-warning .k-notification-wrap > .k-icon {
  --kendo-notification-icon-text: var( --kendo-notification-warning-icon-text, var(--kendo-color-warning-on-subtle, #323130) );
}

.k-notification-success {
  --kendo-notification-text: var( --kendo-notification-success-text, inherit );
  --kendo-notification-bg: var( --kendo-notification-success-bg, var(--kendo-color-success-subtle, #dff6dd) );
  --kendo-notification-border: var( --kendo-notification-success-border, var(--kendo-color-success-subtle, #dff6dd) );
}
.k-notification-success .k-notification-wrap > .k-icon {
  --kendo-notification-icon-text: var( --kendo-notification-success-icon-text, var(--kendo-color-success-on-subtle, #063206) );
}

.k-notification-info {
  --kendo-notification-text: var( --kendo-notification-info-text, inherit );
  --kendo-notification-bg: var( --kendo-notification-info-bg, var(--kendo-color-info-subtle, #cee5ff) );
  --kendo-notification-border: var( --kendo-notification-info-border, var(--kendo-color-info-subtle, #cee5ff) );
}
.k-notification-info .k-notification-wrap > .k-icon {
  --kendo-notification-icon-text: var( --kendo-notification-info-icon-text, var(--kendo-color-info-on-subtle, #032040) );
}

.k-notification-secondary {
  --kendo-notification-text: var( --kendo-notification-secondary-text, inherit );
  --kendo-notification-bg: var( --kendo-notification-secondary-bg, var(--kendo-color-secondary-subtle, #faf9f8) );
  --kendo-notification-border: var( --kendo-notification-secondary-border, var(--kendo-color-secondary-subtle, #faf9f8) );
}
.k-notification-secondary .k-notification-wrap > .k-icon {
  --kendo-notification-icon-text: var( --kendo-notification-secondary-icon-text, var(--kendo-color-secondary-on-subtle, #323130) );
}

.k-notification-tertiary {
  --kendo-notification-text: var( --kendo-notification-tertiary-text, inherit );
  --kendo-notification-bg: var( --kendo-notification-tertiary-bg, var(--kendo-color-tertiary-subtle, #deecf9) );
  --kendo-notification-border: var( --kendo-notification-tertiary-border, var(--kendo-color-tertiary-subtle, #deecf9) );
}
.k-notification-tertiary .k-notification-wrap > .k-icon {
  --kendo-notification-icon-text: var( --kendo-notification-tertiary-icon-text, var(--kendo-color-tertiary-on-subtle, #174974) );
}

.k-notification-dark {
  --kendo-notification-text: var( --kendo-notification-dark-text, inherit );
  --kendo-notification-bg: var( --kendo-notification-dark-bg, var(--kendo-color-dark, #323130) );
  --kendo-notification-border: var( --kendo-notification-dark-border, var(--kendo-color-dark, #323130) );
}
.k-notification-dark .k-notification-wrap > .k-icon {
  --kendo-notification-icon-text: var( --kendo-notification-dark-icon-text, var(--kendo-color-on-dark, #ffffff) );
}

.k-notification-light {
  --kendo-notification-text: var( --kendo-notification-light-text, inherit );
  --kendo-notification-bg: var( --kendo-notification-light-bg, var(--kendo-color-light, #d2d0ce) );
  --kendo-notification-border: var( --kendo-notification-light-border, var(--kendo-color-light, #d2d0ce) );
}
.k-notification-light .k-notification-wrap > .k-icon {
  --kendo-notification-icon-text: var( --kendo-notification-light-icon-text, var(--kendo-color-on-light, #323130) );
}

.k-notification-dark {
  --kendo-notification-text: white;
}

kendo-card,
kendo-card-header,
kendo-card-body,
kendo-card-actions,
kendo-card-footer {
  display: block;
}

.k-card {
  border-radius: var(--kendo-card-border-radius, var(--kendo-border-radius-md, 0.25rem));
  border-width: var(--kendo-card-border-width, 0px);
  border-style: solid;
  box-sizing: border-box;
  outline: 0;
  font-family: var(--kendo-card-font-family, var(--kendo-font-family, inherit));
  font-size: var(--kendo-card-font-size, var(--kendo-font-size-sm, inherit));
  line-height: var(--kendo-card-line-height, var(--kendo-line-height, normal));
  display: flex;
  flex-direction: column;
  position: relative;
  overflow: hidden;
  -webkit-touch-callout: none;
  -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
}
.k-card *,
.k-card *::before,
.k-card *::after {
  box-sizing: border-box;
}
.k-card .k-card-avatar,
.k-card .k-avatar {
  margin-inline-end: var(--kendo-card-avatar-spacing, var(--kendo-spacing-3, 0.75rem));
  width: var(--kendo-card-avatar-size, 3rem);
  height: var(--kendo-card-avatar-size, 3rem);
  flex-basis: var(--kendo-card-avatar-size, 3rem);
}

.k-card > .k-card-inner {
  border-radius: var(--kendo-card-inner-border-radius, calc(var(--kendo-border-radius-md, 0.25rem) - 0px));
  display: flex;
  flex-direction: inherit;
  overflow: hidden;
  position: relative;
}

.k-card-horizontal {
  flex-flow: row nowrap;
}

.k-card-vertical {
  flex-flow: column nowrap;
}

.k-card-title, .k-popover-header {
  font-size: var(--kendo-card-title-font-size, var(--kendo-font-size-lg, inherit));
  font-family: var(--kendo-card-title-font-family, var(--kendo-font-family, inherit));
  line-height: var(--kendo-card-title-line-height, var(--kendo-line-height, normal));
  font-weight: var(--kendo-card-title-font-weight, var(--kendo-font-weight, initial));
  margin: 0 0 var(--kendo-card-title-margin-bottom, var(--kendo-spacing-3, 0.75rem));
}

.k-card-subtitle {
  font-size: var(--kendo-card-subtitle-font-size, var(--kendo-font-size-sm, inherit));
  font-family: var(--kendo-card-subtitle-font-family, var(--kendo-font-family, inherit));
  line-height: var(--kendo-card-subtitle-line-height, var(--kendo-line-height, normal));
  font-weight: var(--kendo-card-title-font-weight, var(--kendo-font-weight, initial));
  margin-block-end: var(--kendo-card-subtitle-margin-bottom, var(--kendo-spacing-3, 0.75rem));
}

.k-card-title + .k-card-subtitle, .k-popover-header + .k-card-subtitle {
  margin-block-start: calc(var(--kendo-card-title-margin-bottom, var(--kendo-spacing-3, 0.75rem)) * -1);
}

.k-card-header {
  font-size: var(--kendo-card-header-font-size, var(--kendo-font-size-lg, inherit));
  font-family: var(--kendo-card-header-font-family, var(--kendo-font-family, inherit));
  line-height: var(--kendo-card-header-line-height, var(--kendo-line-height, normal));
  font-weight: var(--kendo-card-title-font-weight, var(--kendo-font-weight, initial));
  margin: 0;
  padding-inline: var(--kendo-card-header-padding-x, var(--kendo-spacing-3, 0.75rem));
  padding-block: var(--kendo-card-header-padding-y, var(--kendo-spacing-3, 0.75rem));
  border-width: 0 0 var(--kendo-card-header-border-width, 0);
  border-style: solid;
  outline: 0;
  flex-shrink: 0;
  overflow: hidden;
  position: relative;
  z-index: 1;
}
.k-card-header .k-card-title, .k-card-header .k-popover-header,
.k-card-header .k-card-subtitle {
  margin: 0;
}

.k-card-footer {
  padding-inline: var(--kendo-card-footer-padding-x, var(--kendo-spacing-3, 0.75rem));
  padding-block: var(--kendo-card-footer-padding-y, var(--kendo-spacing-3, 0.75rem));
  border-width: var(--kendo-card-footer-border-width, 0) 0 0;
  border-style: solid;
  outline: 0;
  flex-shrink: 0;
}

.k-card-body {
  padding-inline: var(--kendo-card-body-padding-x, var(--kendo-spacing-3, 0.75rem));
  padding-block: var(--kendo-card-body-padding-y, var(--kendo-spacing-3, 0.75rem));
  outline: 0;
  flex: 1 1 auto;
}
.k-card-body p {
  margin: var(--kendo-paragraph-margin, 0 0 var(--kendo-font-size, inherit));
}
.k-card-body > .k-last,
.k-card-body > :last-child {
  margin-block-end: 0;
}
.k-card-body > .k-card-actions {
  padding: 0;
}

.k-card-media {
  border: 0;
  max-width: 100%;
  flex-shrink: 0;
  overflow: hidden;
}

.k-card-horizontal .k-card-media {
  max-width: var(--kendo-card-img-max-width, 100px);
  object-fit: cover;
}

.k-card-separator {
  margin: 0;
  border-width: 0;
  border-style: solid;
  border-color: inherit;
  display: block;
  flex: 0 0 auto;
  align-self: stretch;
}

.k-card-separator.k-separator-horizontal,
.k-card-vertical > .k-card-separator {
  border-top-width: 1px;
}

.k-card-separator.k-separator-vertical,
.k-card-horizontal > .k-card-separator {
  border-left-width: 1px;
}

.k-card > .k-hr {
  margin: 0;
  flex: 0 0 auto;
  border-color: inherit;
}

.k-card-actions {
  padding-inline: var(--kendo-card-actions-padding-x, var(--kendo-spacing-3, 0.75rem));
  padding-block: var(--kendo-card-actions-padding-y, var(--kendo-spacing-3, 0.75rem));
  border-width: var(--kendo-card-actions-border-width, 0);
  border-style: solid;
  border-color: inherit;
  overflow: hidden;
  display: flex;
  flex-shrink: 0;
  flex-basis: auto;
  gap: var(--kendo-card-actions-gap, var(--kendo-spacing-2, 0.5rem));
}

.k-card-horizontal .k-actions-horizontal {
  width: auto;
}

.k-card-list {
  display: flex;
  flex-flow: column nowrap;
  align-items: stretch;
  gap: var(--kendo-spacing-4, 1rem);
  flex: 0 0 auto;
}
.k-card-list .k-card {
  flex: 0 0 auto;
}

.k-card-deck {
  display: flex;
  flex-flow: row nowrap;
  align-items: stretch;
  gap: var(--kendo-spacing-4, 1rem);
  flex: 0 0 auto;
}
.k-card-deck .k-card {
  flex: 0 0 auto;
}

.k-card-deck-scrollwrap {
  padding-block-end: 3px;
  width: 100%;
  box-sizing: content-box;
  display: flex;
  flex: 0 0 auto;
  align-items: center;
  position: relative;
  overflow: hidden;
}
.k-card-deck-scrollwrap > .k-button {
  border-radius: var(--kendo-card-deck-scroll-button-radius, 0);
  flex: 0 0 auto;
  position: absolute;
  z-index: 1;
}
.k-card-deck-scrollwrap > .k-button:first-child {
  left: var(--kendo-card-deck-scroll-button-offset, -1px);
}
.k-card-deck-scrollwrap > .k-button:last-child {
  right: var(--kendo-card-deck-scroll-button-offset, -1px);
}
.k-card-deck-scrollwrap > .k-card-deck {
  margin-block-end: -17px;
  padding-block-end: 17px;
  flex: 1 1 auto;
}

.k-card-group {
  display: flex;
  flex-flow: row nowrap;
  align-items: stretch;
  flex: 0 0 auto;
}
.k-card-group .k-card {
  border-radius: 0;
  flex: 0 0 auto;
}
.k-card-group .k-card + .k-card {
  margin-inline-start: var(--kendo-card-border-width, 0px);
}
.k-card-group .k-card.k-first {
  border-top-left-radius: var(--kendo-card-border-radius, var(--kendo-border-radius-md, 0.25rem));
  border-bottom-left-radius: var(--kendo-card-border-radius, var(--kendo-border-radius-md, 0.25rem));
}
.k-card-group .k-card.k-last {
  border-top-right-radius: var(--kendo-card-border-radius, var(--kendo-border-radius-md, 0.25rem));
  border-bottom-right-radius: var(--kendo-card-border-radius, var(--kendo-border-radius-md, 0.25rem));
}
.k-card-group .k-card.k-only {
  border-radius: var(--kendo-card-border-radius, var(--kendo-border-radius-md, 0.25rem));
}

.k-card-with-callout {
  overflow: visible;
}

.k-card-callout {
  margin: 0;
  width: var(--kendo-card-callout-size, 20px);
  height: var(--kendo-card-callout-size, 20px);
  border-width: var(--kendo-card-border-width, 0px);
  border-style: solid;
  box-sizing: border-box;
  position: absolute;
}

.k-card-callout.k-callout-n {
  top: 0;
  left: 50%;
  transform: translate(-50%, -50%) rotate(45deg);
}

.k-card-callout.k-callout-e {
  top: 50%;
  right: 0;
  transform: translate(50%, -50%) rotate(-45deg);
}

.k-card-callout.k-callout-s {
  bottom: 0;
  left: 50%;
  transform: translate(-50%, 50%) rotate(45deg);
}

.k-card-callout.k-callout-w {
  top: 50%;
  left: 0;
  transform: translate(-50%, -50%) rotate(45deg);
}

.k-card-solid {
  box-shadow: var(--kendo-card-shadow, var(--kendo-box-shadow-depth-1, none));
}

.k-card-flat {
  box-shadow: none;
}

.k-card {
  --INTERNAL--kendo-card-text: var( --kendo-card-text, var(--kendo-component-text, initial) );
  --INTERNAL--kendo-card-bg: var( --kendo-card-bg, var(--kendo-component-bg, initial) );
  --INTERNAL--kendo-card-border: var( --kendo-card-border, var(--kendo-component-border, initial) );
  --INTERNAL--kendo-card-shadow: var( --kendo-card-shadow, var(--kendo-box-shadow-depth-1, none) );
  color: var(--INTERNAL--kendo-card-text, initial);
  background-color: var(--INTERNAL--kendo-card-bg, initial);
  border-color: var(--INTERNAL--kendo-card-border, initial);
  box-shadow: var(--INTERNAL--kendo-card-shadow, none);
}
.k-card .k-card-inner {
  background-color: inherit;
  border-color: inherit;
}
.k-card:focus, .k-card.k-focus {
  --INTERNAL--kendo-card-text: var( --kendo-card-focus-text,  );
  --INTERNAL--kendo-card-bg: var( --kendo-card-focus-bg, var(--kendo-component-bg, initial) );
  --INTERNAL--kendo-card-border: var( --kendo-card-focus-border, var(--kendo-component-border, initial) );
  --INTERNAL--kendo-card-shadow: var( --kendo-card-focus-shadow, var(--kendo-box-shadow-depth-3, none) );
}
.k-card.k-selected {
  --INTERNAL--kendo-card-shadow: var( --kendo-card-focus-shadow, var(--kendo-box-shadow-depth-3, none) );
}

.k-card-actions {
  border-color: var(--kendo-card-border, var(--kendo-component-border, initial));
}

.k-card-header {
  border-color: var(--kendo-card-header-border, inherit);
  color: var(--kendo-card-header-text, var(--kendo-color-on-app-surface, #323130));
  background-color: var(--kendo-card-header-bg, inherit);
}

.k-card-footer {
  border-color: var(--kendo-card-footer-border, inherit);
  color: var(--kendo-card-footer-text, inherit);
  background-color: var(--kendo-card-footer-bg, inherit);
}

.k-card-separator,
.k-card .k-separator {
  border-color: var(--kendo-card-border, var(--kendo-component-border, initial));
}

.k-card-subtitle {
  color: var(--kendo-card-subtitle-text, var(--kendo-color-subtle, #605e5c));
}

.k-card-primary {
  --kendo-card-text: var( --kendo-card-primary-text, var(--kendo-color-primary-on-subtle, #001c30) );
  --kendo-card-bg: var( --kendo-card-primary-bg, var(--kendo-color-primary-subtle, #deecf9) );
  --kendo-card-border: var( --kendo-card-primary-border, var(--kendo-color-primary-subtle, #deecf9) );
}
.k-card-primary .k-card-subtitle {
  color: inherit;
}

.k-card-error {
  --kendo-card-text: var( --kendo-card-error-text, var(--kendo-color-error-on-subtle, #420f12) );
  --kendo-card-bg: var( --kendo-card-error-bg, var(--kendo-color-error-subtle, #fde7e9) );
  --kendo-card-border: var( --kendo-card-error-border, var(--kendo-color-error-subtle, #fde7e9) );
}
.k-card-error .k-card-subtitle {
  color: inherit;
}

.k-card-warning {
  --kendo-card-text: var( --kendo-card-warning-text, var(--kendo-color-warning-on-subtle, #323130) );
  --kendo-card-bg: var( --kendo-card-warning-bg, var(--kendo-color-warning-subtle, #fff4ce) );
  --kendo-card-border: var( --kendo-card-warning-border, var(--kendo-color-warning-subtle, #fff4ce) );
}
.k-card-warning .k-card-subtitle {
  color: inherit;
}

.k-card-success {
  --kendo-card-text: var( --kendo-card-success-text, var(--kendo-color-success-on-subtle, #063206) );
  --kendo-card-bg: var( --kendo-card-success-bg, var(--kendo-color-success-subtle, #dff6dd) );
  --kendo-card-border: var( --kendo-card-success-border, var(--kendo-color-success-subtle, #dff6dd) );
}
.k-card-success .k-card-subtitle {
  color: inherit;
}

.k-card-info {
  --kendo-card-text: var( --kendo-card-info-text, var(--kendo-color-info-on-subtle, #032040) );
  --kendo-card-bg: var( --kendo-card-info-bg, var(--kendo-color-info-subtle, #cee5ff) );
  --kendo-card-border: var( --kendo-card-info-border, var(--kendo-color-info-subtle, #cee5ff) );
}
.k-card-info .k-card-subtitle {
  color: inherit;
}

.k-card-wrap.k-focus > .k-card, .k-card-wrap:focus > .k-card, .k-card-wrap.k-selected > .k-card {
  box-shadow: var(--kendo-card-shadow, var(--kendo-box-shadow-depth-1, none));
}

.k-card-callout {
  border-color: inherit;
  background-color: inherit;
  box-shadow: inherit;
}

.k-popover {
  border-radius: var(--kendo-popover-border-radius, var(--kendo-border-radius-md, 0.25rem));
  padding: 0;
  border-width: var(--kendo-popover-border-width, 0);
  border-style: var(--kendo-popover-border-style, solid);
  box-sizing: border-box;
  outline: 0;
  font-size: var(--kendo-popover-font-size, var(--kendo-font-size, inherit));
  font-family: var(--kendo-popover-font-family, var(--kendo-font-family, inherit));
  line-height: var(--kendo-popover-line-height, var(--kendo-line-height, normal));
  display: flex;
  flex-flow: column nowrap;
  z-index: 12000;
  -webkit-touch-callout: none;
  -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
}
.k-popover *,
.k-popover *::before,
.k-popover *::after {
  box-sizing: border-box;
}
.k-popover .k-popover-header {
  margin-block-end: 0;
}

.k-popover-inner {
  position: relative;
  border-radius: inherit;
  height: inherit;
}

.k-popover-header {
  border-width: 0 0 var(--kendo-popover-header-border-width, 0);
  border-style: var(--kendo-popover-header-border-style, solid);
  padding-inline: var(--kendo-popover-header-padding-x, var(--kendo-spacing-6, 1.5rem));
  padding-block: var(--kendo-popover-header-padding-y, var(--kendo-spacing-4, 1rem));
}

.k-popover-body {
  padding-inline: var(--kendo-popover-body-padding-x, var(--kendo-spacing-6, 1.5rem));
  padding-block-start: var(--kendo-popover-body-padding-y, var(--kendo-spacing-3, 0.75rem));
  padding-block-end: 0;
}
.k-popover-header + .k-popover-body {
  padding-block-start: 0;
}

.k-popover-actions {
  border-width: var(--kendo-popover-actions-border-width, 0) 0 0;
  padding-inline: var(--kendo-popover-actions-padding-x, var(--kendo-spacing-6, 1.5rem));
  padding-block: var(--kendo-popover-actions-padding-y, var(--kendo-spacing-3, 0.75rem));
  gap: var(--kendo-popover-actions-gap, var(--kendo-spacing-3, 0.75rem));
}

.k-popover-callout {
  margin: 0;
  width: var(--kendo-popover-callout-width, var(--kendo-spacing-5, 1.25rem));
  height: var(--kendo-popover-callout-height, var(--kendo-spacing-5, 1.25rem));
  border-width: var(--kendo-popover-callout-border-width, 0);
  border-style: var(--kendo-popover-callout-border-style, solid);
  position: absolute;
}
.k-popover-callout.k-callout-n {
  top: 0;
  left: 50%;
  transform: translate(-50%, -50%) rotate(45deg);
}
.k-popover-callout.k-callout-e {
  top: 50%;
  right: 0;
  transform: translate(50%, -50%) rotate(-45deg);
}
.k-popover-callout.k-callout-s {
  bottom: 0;
  left: 50%;
  transform: translate(-50%, 50%) rotate(45deg);
}
.k-popover-callout.k-callout-w {
  top: 50%;
  left: 0;
  transform: translate(-50%, -50%) rotate(45deg);
}

.k-popover {
  box-shadow: var(--kendo-popover-shadow, var(--kendo-box-shadow-depth-6, none));
  border-color: var(--kendo-popover-border, var(--kendo-component-border, initial));
  color: var(--kendo-popover-text, var(--kendo-component-text, initial));
  background-color: var(--kendo-popover-bg, var(--kendo-component-bg, initial));
}

.k-popover-inner {
  background-color: inherit;
  border-color: inherit;
}

.k-popover-header {
  border-color: var(--kendo-popover-header-border, var(--kendo-component-border, initial));
  color: var(--kendo-popover-header-text, var(--kendo-component-text, initial));
  background-color: var(--kendo-popover-header-bg, var(--kendo-component-bg, initial));
}

.k-popover-callout {
  border-color: inherit;
  background-color: inherit;
  box-shadow: inherit;
}

.k-rpanel-left,
.k-rpanel-right {
  position: fixed;
  display: block;
  overflow: auto;
  min-width: 320px;
  height: 100%;
  top: 0;
}
.k-rpanel-left + *,
.k-rpanel-right + * {
  overflow: auto;
}
.k-rpanel-left.k-rpanel-expanded,
.k-rpanel-right.k-rpanel-expanded {
  transform: translateX(0) translateZ(0);
}

.k-rpanel-left {
  transform: translateX(-100%) translateZ(0);
  left: 0;
}

.k-rpanel-right {
  transform: translateX(100%) translateZ(0);
  right: 0;
}

.k-rpanel-top {
  position: static;
  max-height: 0;
}

.k-rpanel-top.k-rpanel-expanded {
  max-height: 568px;
  overflow: visible !important;
}

.k-rpanel-toggle {
  touch-action: manipulation;
}

.k-bottom-nav {
  padding-block: var(--kendo-bottom-nav-padding-y, var(--kendo-spacing-1\.5, 0.375rem));
  padding-inline: var(--kendo-bottom-nav-padding-x, var(--kendo-spacing-1\.5, 0.375rem));
  width: 100%;
  border-width: 0;
  border-style: solid;
  border-color: transparent;
  box-sizing: border-box;
  font-size: var(--kendo-bottom-nav-font-size, var(--kendo-font-size, 1rem));
  line-height: var(--kendo-bottom-nav-line-height, var(--kendo-line-height-xs, normal));
  font-family: var(--kendo-bottom-nav-font-family, var(--kendo-font-family, inherit));
  letter-spacing: var(--kendo-bottom-nav-letter-spacing, 0.2px);
  display: flex;
  flex-flow: row nowrap;
  white-space: nowrap;
  gap: var(--kendo-bottom-nav-gap, var(--kendo-spacing-1\.5, 0.375rem));
  overflow: hidden;
  outline: none;
}
.k-bottom-nav *,
.k-bottom-nav *::before,
.k-bottom-nav *::after {
  box-sizing: border-box;
}

.k-bottom-nav-border {
  border-width: var(--kendo-bottom-nav-border-width, 1px 0px 0px 0px);
}

.k-bottom-nav-shadow {
  box-shadow: var(--kendo-bottom-nav-shadow, var(--kendo-box-shadow-depth-4, none));
}

.k-bottom-nav-item {
  padding-block: var(--kendo-bottom-nav-item-padding-y, var(--kendo-spacing-0\.5, 0.125rem));
  padding-inline: var(--kendo-bottom-nav-item-padding-x, var(--kendo-spacing-2, 0.5rem));
  min-width: var(--kendo-bottom-nav-item-min-width, 72px);
  max-width: var(--kendo-bottom-nav-item-max-width, none);
  min-height: var(--kendo-bottom-nav-item-min-height, calc(var(--kendo-icon-size, 1.5rem) * 2 + var(--kendo-spacing-0\.5, 0.125rem) * 2));
  border-width: 0;
  border-radius: var(--kendo-bottom-nav-item-border-radius, var(--kendo-border-radius-md, 0.25rem));
  box-sizing: border-box;
  position: relative;
  font: inherit;
  display: inline-flex;
  flex: 1 1 auto;
  align-items: center;
  justify-content: center;
  gap: var(--kendo-bottom-nav-item-gap, var(--kendo-spacing-1, 0.25rem));
  text-decoration: none;
  cursor: pointer;
  color: inherit;
  background-color: inherit;
  border-color: inherit;
  outline: none;
}
.k-bottom-nav-item:focus {
  outline: none;
}
.k-bottom-nav-item:focus::after, .k-bottom-nav-item.k-focus::after {
  content: "";
  position: absolute;
  border: medium none;
  inset: var(--kendo-bottom-nav-item-focus-offset, var(--kendo-spacing-0\.5, 0.125rem));
  outline-width: var(--kendo-bottom-nav-item-focus-outline-width, 1px);
  outline-style: var(--kendo-bottom-nav-item-focus-outline-style, solid);
  z-index: 1;
}
.k-bottom-nav-item:hover {
  color: inherit;
  text-decoration: none;
}
.k-bottom-nav-item > .k-bottom-nav-link {
  margin-block: var(--kendo-bottom-nav-item-padding-y, var(--kendo-spacing-0\.5, 0.125rem));
  margin-inline: var(--kendo-bottom-nav-item-padding-x, var(--kendo-spacing-2, 0.5rem));
  padding-block: var(--kendo-bottom-nav-item-padding-y, var(--kendo-spacing-0\.5, 0.125rem));
  padding-inline: var(--kendo-bottom-nav-item-padding-x, var(--kendo-spacing-2, 0.5rem));
  width: 100%;
  color: inherit;
  display: flex;
  flex-flow: row nowrap;
  flex: 1 0 auto;
  align-items: center;
  justify-content: center;
  outline: 0;
}

.k-bottom-nav-item.k-disabled {
  background-color: initial;
}

.k-bottom-nav-item-text {
  overflow: hidden;
  text-overflow: ellipsis;
  max-width: 100%;
}

.k-bottom-nav-item-flow-horizontal .k-bottom-nav-item {
  flex-flow: row nowrap;
}

.k-bottom-nav-item-flow-vertical .k-bottom-nav-item {
  flex-direction: column;
}

.k-bottom-nav.k-pos-fixed, .k-bottom-nav.k-fixed {
  bottom: 0;
  z-index: 1;
}

.k-bottom-nav {
  --INTERNAL--kendo-bottom-nav-text: var( --kendo-bottom-nav-text );
  --INTERNAL--kendo-bottom-nav-bg: var( --kendo-bottom-nav-bg );
  --INTERNAL--kendo-bottom-nav-border: var( --kendo-bottom-nav-border );
  border-color: var(--INTERNAL--kendo-bottom-nav-border, initial);
  color: var(--INTERNAL--kendo-bottom-nav-text, inherit);
  background-color: var(--INTERNAL--kendo-bottom-nav-bg, initial);
}

.k-bottom-nav-item {
  --INTERNAL--kendo-bottom-nav-item-text: var( --kendo-bottom-nav-item-text );
  --INTERNAL--kendo-bottom-nav-item-bg: var( --kendo-bottom-nav-item-bg );
  --INTERNAL--kendo-bottom-nav-item-border: var( --kendo-bottom-nav-item-border );
  border-color: var(--INTERNAL--kendo-bottom-nav-item-border, initial);
  color: var(--INTERNAL--kendo-bottom-nav-item-text, inherit);
  background-color: var(--INTERNAL--kendo-bottom-nav-item-bg, initial);
}
.k-bottom-nav-item:focus, .k-bottom-nav-item.k-focus {
  --INTERNAL--kendo-bottom-nav-item-text: var( --kendo-bottom-nav-item-focus-text );
  --INTERNAL--kendo-bottom-nav-item-bg: var( --kendo-bottom-nav-item-focus-bg );
  --INTERNAL--kendo-bottom-nav-item-border: var( --kendo-bottom-nav-item-focus-border );
}
.k-bottom-nav-item:focus::after, .k-bottom-nav-item.k-focus::after {
  outline-color: var(--kendo-bottom-nav-item-focus-outline, initial);
}
.k-bottom-nav-item.k-selected {
  --INTERNAL--kendo-bottom-nav-item-text: var( --kendo-bottom-nav-item-selected-text );
  --INTERNAL--kendo-bottom-nav-item-bg: var( --kendo-bottom-nav-item-selected-bg );
  --INTERNAL--kendo-bottom-nav-item-border: var( --kendo-bottom-nav-item-selected-border );
}
.k-bottom-nav-item:disabled, .k-bottom-nav-item.k-disabled {
  --INTERNAL--kendo-bottom-nav-item-text: var( --kendo-bottom-nav-item-disabled-text );
  --INTERNAL--kendo-bottom-nav-item-bg: var( --kendo-bottom-nav-item-disabled-bg );
  --INTERNAL--kendo-bottom-nav-item-border: var( --kendo-bottom-nav-item-disabled-border );
}

.k-bottom-nav-solid-primary, .k-bottom-nav-solid.k-bottom-nav-primary {
  --kendo-bottom-nav-text: var( --kendo-bottom-nav-solid-primary-text, var(--kendo-color-on-primary, #ffffff) );
  --kendo-bottom-nav-bg: var( --kendo-bottom-nav-solid-primary-bg, var(--kendo-color-primary, #0078d4) );
  --kendo-bottom-nav-border: var( --kendo-bottom-nav-solid-primary-border, var(--kendo-color-primary, #0078d4) );
  --kendo-bottom-nav-item-focus-text: var( --kendo-bottom-nav-solid-primary-focus-text, var(--kendo-color-on-primary, #ffffff) );
  --kendo-bottom-nav-item-focus-bg: var( --kendo-bottom-nav-solid-primary-focus-bg, var(--kendo-color-primary, #0078d4) );
  --kendo-bottom-nav-item-focus-border: var( --kendo-bottom-nav-solid-primary-focus-border, var(--kendo-color-primary, #0078d4) );
  --kendo-bottom-nav-item-focus-outline: var( --kendo-bottom-nav-solid-primary-focus-outline, inherit );
  --kendo-bottom-nav-item-selected-text: var( --kendo-bottom-nav-solid-primary-selected-text, var(--kendo-color-on-primary, #ffffff) );
  --kendo-bottom-nav-item-selected-bg: var( --kendo-bottom-nav-solid-primary-selected-bg, var(--kendo-color-primary-active, #005a9e) );
  --kendo-bottom-nav-item-selected-border: var( --kendo-bottom-nav-solid-primary-selected-border, var(--kendo-color-primary-active, #005a9e) );
  --kendo-bottom-nav-item-disabled-text: var( --kendo-bottom-nav-solid-primary-disabled-text, color-mix(in srgb, var(--kendo-color-on-primary, #ffffff) 46%, transparent) );
  --kendo-bottom-nav-item-disabled-bg: var( --kendo-bottom-nav-solid-primary-disabled-bg, inherit );
  --kendo-bottom-nav-item-disabled-border: var( --kendo-bottom-nav-solid-primary-disabled-border, transparent );
}

.k-bottom-nav-solid-error, .k-bottom-nav-solid.k-bottom-nav-error {
  --kendo-bottom-nav-text: var( --kendo-bottom-nav-solid-error-text, var(--kendo-color-on-error, #ffffff) );
  --kendo-bottom-nav-bg: var( --kendo-bottom-nav-solid-error-bg, var(--kendo-color-error, #c2666b) );
  --kendo-bottom-nav-border: var( --kendo-bottom-nav-solid-error-border, var(--kendo-color-error, #c2666b) );
  --kendo-bottom-nav-item-focus-text: var( --kendo-bottom-nav-solid-error-focus-text, var(--kendo-color-on-error, #ffffff) );
  --kendo-bottom-nav-item-focus-bg: var( --kendo-bottom-nav-solid-error-focus-bg, var(--kendo-color-error, #c2666b) );
  --kendo-bottom-nav-item-focus-border: var( --kendo-bottom-nav-solid-error-focus-border, var(--kendo-color-error, #c2666b) );
  --kendo-bottom-nav-item-focus-outline: var( --kendo-bottom-nav-solid-error-focus-outline, inherit );
  --kendo-bottom-nav-item-selected-text: var( --kendo-bottom-nav-solid-error-selected-text, var(--kendo-color-on-error, #ffffff) );
  --kendo-bottom-nav-item-selected-bg: var( --kendo-bottom-nav-solid-error-selected-bg, var(--kendo-color-error-active, #ae3b41) );
  --kendo-bottom-nav-item-selected-border: var( --kendo-bottom-nav-solid-error-selected-border, var(--kendo-color-error-active, #ae3b41) );
  --kendo-bottom-nav-item-disabled-text: var( --kendo-bottom-nav-solid-error-disabled-text, color-mix(in srgb, var(--kendo-color-on-error, #ffffff) 46%, transparent) );
  --kendo-bottom-nav-item-disabled-bg: var( --kendo-bottom-nav-solid-error-disabled-bg, inherit );
  --kendo-bottom-nav-item-disabled-border: var( --kendo-bottom-nav-solid-error-disabled-border, transparent );
}

.k-bottom-nav-solid-success, .k-bottom-nav-solid.k-bottom-nav-success {
  --kendo-bottom-nav-text: var( --kendo-bottom-nav-solid-success-text, var(--kendo-color-on-success, #ffffff) );
  --kendo-bottom-nav-bg: var( --kendo-bottom-nav-solid-success-bg, var(--kendo-color-success, #55a554) );
  --kendo-bottom-nav-border: var( --kendo-bottom-nav-solid-success-border, var(--kendo-color-success, #55a554) );
  --kendo-bottom-nav-item-focus-text: var( --kendo-bottom-nav-solid-success-focus-text, var(--kendo-color-on-success, #ffffff) );
  --kendo-bottom-nav-item-focus-bg: var( --kendo-bottom-nav-solid-success-focus-bg, var(--kendo-color-success, #55a554) );
  --kendo-bottom-nav-item-focus-border: var( --kendo-bottom-nav-solid-success-focus-border, var(--kendo-color-success, #55a554) );
  --kendo-bottom-nav-item-focus-outline: var( --kendo-bottom-nav-solid-success-focus-outline, inherit );
  --kendo-bottom-nav-item-selected-text: var( --kendo-bottom-nav-solid-success-selected-text, var(--kendo-color-on-success, #ffffff) );
  --kendo-bottom-nav-item-selected-bg: var( --kendo-bottom-nav-solid-success-selected-bg, var(--kendo-color-success-active, #278a27) );
  --kendo-bottom-nav-item-selected-border: var( --kendo-bottom-nav-solid-success-selected-border, var(--kendo-color-success-active, #278a27) );
  --kendo-bottom-nav-item-disabled-text: var( --kendo-bottom-nav-solid-success-disabled-text, color-mix(in srgb, var(--kendo-color-on-success, #ffffff) 46%, transparent) );
  --kendo-bottom-nav-item-disabled-bg: var( --kendo-bottom-nav-solid-success-disabled-bg, inherit );
  --kendo-bottom-nav-item-disabled-border: var( --kendo-bottom-nav-solid-success-disabled-border, transparent );
}

.k-bottom-nav-solid-info, .k-bottom-nav-solid.k-bottom-nav-info {
  --kendo-bottom-nav-text: var( --kendo-bottom-nav-solid-info-text, var(--kendo-color-on-info, #ffffff) );
  --kendo-bottom-nav-bg: var( --kendo-bottom-nav-solid-info-bg, var(--kendo-color-info, #0a7eff) );
  --kendo-bottom-nav-border: var( --kendo-bottom-nav-solid-info-border, var(--kendo-color-info, #0a7eff) );
  --kendo-bottom-nav-item-focus-text: var( --kendo-bottom-nav-solid-info-focus-text, var(--kendo-color-on-info, #ffffff) );
  --kendo-bottom-nav-item-focus-bg: var( --kendo-bottom-nav-solid-info-focus-bg, var(--kendo-color-info, #0a7eff) );
  --kendo-bottom-nav-item-focus-border: var( --kendo-bottom-nav-solid-info-focus-border, var(--kendo-color-info, #0a7eff) );
  --kendo-bottom-nav-item-focus-outline: var( --kendo-bottom-nav-solid-info-focus-outline, inherit );
  --kendo-bottom-nav-item-selected-text: var( --kendo-bottom-nav-solid-info-selected-text, var(--kendo-color-on-info, #ffffff) );
  --kendo-bottom-nav-item-selected-bg: var( --kendo-bottom-nav-solid-info-selected-bg, var(--kendo-color-info-active, #085ebf) );
  --kendo-bottom-nav-item-selected-border: var( --kendo-bottom-nav-solid-info-selected-border, var(--kendo-color-info-active, #085ebf) );
  --kendo-bottom-nav-item-disabled-text: var( --kendo-bottom-nav-solid-info-disabled-text, color-mix(in srgb, var(--kendo-color-on-info, #ffffff) 46%, transparent) );
  --kendo-bottom-nav-item-disabled-bg: var( --kendo-bottom-nav-solid-info-disabled-bg, inherit );
  --kendo-bottom-nav-item-disabled-border: var( --kendo-bottom-nav-solid-info-disabled-border, transparent );
}

.k-bottom-nav-solid-secondary, .k-bottom-nav-solid.k-bottom-nav-secondary {
  --kendo-bottom-nav-text: var( --kendo-bottom-nav-solid-secondary-text, var(--kendo-color-on-secondary, #ffffff) );
  --kendo-bottom-nav-bg: var( --kendo-bottom-nav-solid-secondary-bg, var(--kendo-color-secondary, #979593) );
  --kendo-bottom-nav-border: var( --kendo-bottom-nav-solid-secondary-border, var(--kendo-color-secondary, #979593) );
  --kendo-bottom-nav-item-focus-text: var( --kendo-bottom-nav-solid-secondary-focus-text, var(--kendo-color-on-secondary, #ffffff) );
  --kendo-bottom-nav-item-focus-bg: var( --kendo-bottom-nav-solid-secondary-focus-bg, var(--kendo-color-secondary, #979593) );
  --kendo-bottom-nav-item-focus-border: var( --kendo-bottom-nav-solid-secondary-focus-border, var(--kendo-color-secondary, #979593) );
  --kendo-bottom-nav-item-focus-outline: var( --kendo-bottom-nav-solid-secondary-focus-outline, inherit );
  --kendo-bottom-nav-item-selected-text: var( --kendo-bottom-nav-solid-secondary-selected-text, var(--kendo-color-on-secondary, #ffffff) );
  --kendo-bottom-nav-item-selected-bg: var( --kendo-bottom-nav-solid-secondary-selected-bg, var(--kendo-color-secondary-active, #797775) );
  --kendo-bottom-nav-item-selected-border: var( --kendo-bottom-nav-solid-secondary-selected-border, var(--kendo-color-secondary-active, #797775) );
  --kendo-bottom-nav-item-disabled-text: var( --kendo-bottom-nav-solid-secondary-disabled-text, color-mix(in srgb, var(--kendo-color-on-secondary, #ffffff) 46%, transparent) );
  --kendo-bottom-nav-item-disabled-bg: var( --kendo-bottom-nav-solid-secondary-disabled-bg, inherit );
  --kendo-bottom-nav-item-disabled-border: var( --kendo-bottom-nav-solid-secondary-disabled-border, transparent );
}

.k-bottom-nav-solid-tertiary, .k-bottom-nav-solid.k-bottom-nav-tertiary {
  --kendo-bottom-nav-text: var( --kendo-bottom-nav-solid-tertiary-text, var(--kendo-color-on-tertiary, #ffffff) );
  --kendo-bottom-nav-bg: var( --kendo-bottom-nav-solid-tertiary-bg, var(--kendo-color-tertiary, #2b88d8) );
  --kendo-bottom-nav-border: var( --kendo-bottom-nav-solid-tertiary-border, var(--kendo-color-tertiary, #2b88d8) );
  --kendo-bottom-nav-item-focus-text: var( --kendo-bottom-nav-solid-tertiary-focus-text, var(--kendo-color-on-tertiary, #ffffff) );
  --kendo-bottom-nav-item-focus-bg: var( --kendo-bottom-nav-solid-tertiary-focus-bg, var(--kendo-color-tertiary, #2b88d8) );
  --kendo-bottom-nav-item-focus-border: var( --kendo-bottom-nav-solid-tertiary-focus-border, var(--kendo-color-tertiary, #2b88d8) );
  --kendo-bottom-nav-item-focus-outline: var( --kendo-bottom-nav-solid-tertiary-focus-outline, inherit );
  --kendo-bottom-nav-item-selected-text: var( --kendo-bottom-nav-solid-tertiary-selected-text, var(--kendo-color-on-tertiary, #ffffff) );
  --kendo-bottom-nav-item-selected-bg: var( --kendo-bottom-nav-solid-tertiary-selected-bg, var(--kendo-color-tertiary-active, #2473b7) );
  --kendo-bottom-nav-item-selected-border: var( --kendo-bottom-nav-solid-tertiary-selected-border, var(--kendo-color-tertiary-active, #2473b7) );
  --kendo-bottom-nav-item-disabled-text: var( --kendo-bottom-nav-solid-tertiary-disabled-text, color-mix(in srgb, var(--kendo-color-on-tertiary, #ffffff) 46%, transparent) );
  --kendo-bottom-nav-item-disabled-bg: var( --kendo-bottom-nav-solid-tertiary-disabled-bg, inherit );
  --kendo-bottom-nav-item-disabled-border: var( --kendo-bottom-nav-solid-tertiary-disabled-border, transparent );
}

.k-bottom-nav-solid-warning, .k-bottom-nav-solid.k-bottom-nav-warning {
  --kendo-bottom-nav-text: var( --kendo-bottom-nav-solid-warning-text, var(--kendo-color-on-warning, #323130) );
  --kendo-bottom-nav-bg: var( --kendo-bottom-nav-solid-warning-bg, var(--kendo-color-warning, #ffc80a) );
  --kendo-bottom-nav-border: var( --kendo-bottom-nav-solid-warning-border, var(--kendo-color-warning, #ffc80a) );
  --kendo-bottom-nav-item-focus-text: var( --kendo-bottom-nav-solid-warning-focus-text, var(--kendo-color-on-warning, #323130) );
  --kendo-bottom-nav-item-focus-bg: var( --kendo-bottom-nav-solid-warning-focus-bg, var(--kendo-color-warning, #ffc80a) );
  --kendo-bottom-nav-item-focus-border: var( --kendo-bottom-nav-solid-warning-focus-border, var(--kendo-color-warning, #ffc80a) );
  --kendo-bottom-nav-item-focus-outline: var( --kendo-bottom-nav-solid-warning-focus-outline, var(--kendo-color-app-surface, #ffffff) );
  --kendo-bottom-nav-item-selected-text: var( --kendo-bottom-nav-solid-warning-selected-text, var(--kendo-color-on-warning, #323130) );
  --kendo-bottom-nav-item-selected-bg: var( --kendo-bottom-nav-solid-warning-selected-bg, var(--kendo-color-warning-active, #e0b000) );
  --kendo-bottom-nav-item-selected-border: var( --kendo-bottom-nav-solid-warning-selected-border, var(--kendo-color-warning-active, #e0b000) );
  --kendo-bottom-nav-item-disabled-text: var( --kendo-bottom-nav-solid-warning-disabled-text, color-mix(in srgb, var(--kendo-color-on-warning, #323130) 46%, transparent) );
  --kendo-bottom-nav-item-disabled-bg: var( --kendo-bottom-nav-solid-warning-disabled-bg, inherit );
  --kendo-bottom-nav-item-disabled-border: var( --kendo-bottom-nav-solid-warning-disabled-border, transparent );
}

.k-bottom-nav-solid-dark, .k-bottom-nav-solid.k-bottom-nav-dark {
  --kendo-bottom-nav-text: var( --kendo-bottom-nav-solid-dark-text, var(--kendo-color-on-dark, #ffffff) );
  --kendo-bottom-nav-bg: var( --kendo-bottom-nav-solid-dark-bg, var(--kendo-color-dark, #323130) );
  --kendo-bottom-nav-border: var( --kendo-bottom-nav-solid-dark-border, var(--kendo-color-dark, #323130) );
  --kendo-bottom-nav-item-focus-text: var( --kendo-bottom-nav-solid-dark-focus-text, var(--kendo-color-on-dark, #ffffff) );
  --kendo-bottom-nav-item-focus-bg: var( --kendo-bottom-nav-solid-dark-focus-bg, var(--kendo-color-dark, #323130) );
  --kendo-bottom-nav-item-focus-border: var( --kendo-bottom-nav-solid-dark-focus-border, var(--kendo-color-dark, #323130) );
  --kendo-bottom-nav-item-focus-outline: var( --kendo-bottom-nav-solid-dark-focus-outline, var(--kendo-color-on-dark, #ffffff) );
  --kendo-bottom-nav-item-selected-text: var( --kendo-bottom-nav-solid-dark-selected-text, var(--kendo-color-on-dark, #ffffff) );
  --kendo-bottom-nav-item-selected-bg: var( --kendo-bottom-nav-solid-dark-selected-bg, var(--kendo-color-dark-active, #000000) );
  --kendo-bottom-nav-item-selected-border: var( --kendo-bottom-nav-solid-dark-selected-border, var(--kendo-color-dark-active, #000000) );
  --kendo-bottom-nav-item-disabled-text: var( --kendo-bottom-nav-solid-dark-disabled-text, color-mix(in srgb, var(--kendo-color-on-dark, #ffffff) 46%, transparent) );
  --kendo-bottom-nav-item-disabled-bg: var( --kendo-bottom-nav-solid-dark-disabled-bg, inherit );
  --kendo-bottom-nav-item-disabled-border: var( --kendo-bottom-nav-solid-dark-disabled-border, transparent );
}

.k-bottom-nav-solid-light, .k-bottom-nav-solid.k-bottom-nav-light {
  --kendo-bottom-nav-text: var( --kendo-bottom-nav-solid-light-text, var(--kendo-color-on-light, #323130) );
  --kendo-bottom-nav-bg: var( --kendo-bottom-nav-solid-light-bg, var(--kendo-color-light, #d2d0ce) );
  --kendo-bottom-nav-border: var( --kendo-bottom-nav-solid-light-border, var(--kendo-color-light, #d2d0ce) );
  --kendo-bottom-nav-item-focus-text: var( --kendo-bottom-nav-solid-light-focus-text, var(--kendo-color-on-light, #323130) );
  --kendo-bottom-nav-item-focus-bg: var( --kendo-bottom-nav-solid-light-focus-bg, var(--kendo-color-light, #d2d0ce) );
  --kendo-bottom-nav-item-focus-border: var( --kendo-bottom-nav-solid-light-focus-border, var(--kendo-color-light, #d2d0ce) );
  --kendo-bottom-nav-item-focus-outline: var( --kendo-bottom-nav-solid-light-focus-outline, var(--kendo-color-app-surface, #ffffff) );
  --kendo-bottom-nav-item-selected-text: var( --kendo-bottom-nav-solid-light-selected-text, var(--kendo-color-on-light, #323130) );
  --kendo-bottom-nav-item-selected-bg: var( --kendo-bottom-nav-solid-light-selected-bg, var(--kendo-color-light-active, #a19f9d) );
  --kendo-bottom-nav-item-selected-border: var( --kendo-bottom-nav-solid-light-selected-border, var(--kendo-color-light-active, #a19f9d) );
  --kendo-bottom-nav-item-disabled-text: var( --kendo-bottom-nav-solid-light-disabled-text, color-mix(in srgb, var(--kendo-color-on-light, #323130) 46%, transparent) );
  --kendo-bottom-nav-item-disabled-bg: var( --kendo-bottom-nav-solid-light-disabled-bg, inherit );
  --kendo-bottom-nav-item-disabled-border: var( --kendo-bottom-nav-solid-light-disabled-border, transparent );
}

.k-bottom-nav-flat-primary, .k-bottom-nav-flat.k-bottom-nav-primary {
  --kendo-bottom-nav-text: var( --kendo-bottom-nav-flat-primary-text, var(--kendo-color-on-app-surface, #323130) );
  --kendo-bottom-nav-bg: var( --kendo-bottom-nav-flat-primary-bg, var(--kendo-color-app-surface, #ffffff) );
  --kendo-bottom-nav-border: var( --kendo-bottom-nav-flat-primary-border, color-mix(in srgb, var(--kendo-color-border, #8a8886) 16%, transparent) );
  --kendo-bottom-nav-item-focus-text: var( --kendo-bottom-nav-flat-primary-focus-text, var(--kendo-color-primary, #0078d4) );
  --kendo-bottom-nav-item-focus-bg: var( --kendo-bottom-nav-flat-primary-focus-bg, inherit );
  --kendo-bottom-nav-item-focus-border: var( --kendo-bottom-nav-flat-primary-focus-border, transparent );
  --kendo-bottom-nav-item-focus-outline: var( --kendo-bottom-nav-flat-primary-focus-outline, var(--kendo-color-primary, #0078d4) );
  --kendo-bottom-nav-item-selected-text: var( --kendo-bottom-nav-flat-primary-selected-text, var(--kendo-color-primary, #0078d4) );
  --kendo-bottom-nav-item-selected-bg: var( --kendo-bottom-nav-flat-primary-selected-bg, inherit );
  --kendo-bottom-nav-item-selected-border: var( --kendo-bottom-nav-flat-primary-selected-border, transparent );
  --kendo-bottom-nav-item-disabled-text: var( --kendo-bottom-nav-flat-primary-disabled-text, color-mix(in srgb, var(--kendo-color-on-app-surface, #323130) 46%, transparent) );
  --kendo-bottom-nav-item-disabled-bg: var( --kendo-bottom-nav-flat-primary-disabled-bg, initial );
  --kendo-bottom-nav-item-disabled-border: var( --kendo-bottom-nav-flat-primary-disabled-border, initial );
}

.k-bottom-nav-flat-error, .k-bottom-nav-flat.k-bottom-nav-error {
  --kendo-bottom-nav-text: var( --kendo-bottom-nav-flat-error-text, var(--kendo-color-on-app-surface, #323130) );
  --kendo-bottom-nav-bg: var( --kendo-bottom-nav-flat-error-bg, var(--kendo-color-app-surface, #ffffff) );
  --kendo-bottom-nav-border: var( --kendo-bottom-nav-flat-error-border, color-mix(in srgb, var(--kendo-color-border, #8a8886) 16%, transparent) );
  --kendo-bottom-nav-item-focus-text: var( --kendo-bottom-nav-flat-error-focus-text, var(--kendo-color-error, #c2666b) );
  --kendo-bottom-nav-item-focus-bg: var( --kendo-bottom-nav-flat-error-focus-bg, inherit );
  --kendo-bottom-nav-item-focus-border: var( --kendo-bottom-nav-flat-error-focus-border, transparent );
  --kendo-bottom-nav-item-focus-outline: var( --kendo-bottom-nav-flat-error-focus-outline, var(--kendo-color-error, #c2666b) );
  --kendo-bottom-nav-item-selected-text: var( --kendo-bottom-nav-flat-error-selected-text, var(--kendo-color-error, #c2666b) );
  --kendo-bottom-nav-item-selected-bg: var( --kendo-bottom-nav-flat-error-selected-bg, inherit );
  --kendo-bottom-nav-item-selected-border: var( --kendo-bottom-nav-flat-error-selected-border, transparent );
  --kendo-bottom-nav-item-disabled-text: var( --kendo-bottom-nav-flat-error-disabled-text, color-mix(in srgb, var(--kendo-color-on-app-surface, #323130) 46%, transparent) );
  --kendo-bottom-nav-item-disabled-bg: var( --kendo-bottom-nav-flat-error-disabled-bg, initial );
  --kendo-bottom-nav-item-disabled-border: var( --kendo-bottom-nav-flat-error-disabled-border, initial );
}

.k-bottom-nav-flat-success, .k-bottom-nav-flat.k-bottom-nav-success {
  --kendo-bottom-nav-text: var( --kendo-bottom-nav-flat-success-text, var(--kendo-color-on-app-surface, #323130) );
  --kendo-bottom-nav-bg: var( --kendo-bottom-nav-flat-success-bg, var(--kendo-color-app-surface, #ffffff) );
  --kendo-bottom-nav-border: var( --kendo-bottom-nav-flat-success-border, color-mix(in srgb, var(--kendo-color-border, #8a8886) 16%, transparent) );
  --kendo-bottom-nav-item-focus-text: var( --kendo-bottom-nav-flat-success-focus-text, var(--kendo-color-success, #55a554) );
  --kendo-bottom-nav-item-focus-bg: var( --kendo-bottom-nav-flat-success-focus-bg, inherit );
  --kendo-bottom-nav-item-focus-border: var( --kendo-bottom-nav-flat-success-focus-border, transparent );
  --kendo-bottom-nav-item-focus-outline: var( --kendo-bottom-nav-flat-success-focus-outline, var(--kendo-color-success, #55a554) );
  --kendo-bottom-nav-item-selected-text: var( --kendo-bottom-nav-flat-success-selected-text, var(--kendo-color-success, #55a554) );
  --kendo-bottom-nav-item-selected-bg: var( --kendo-bottom-nav-flat-success-selected-bg, inherit );
  --kendo-bottom-nav-item-selected-border: var( --kendo-bottom-nav-flat-success-selected-border, transparent );
  --kendo-bottom-nav-item-disabled-text: var( --kendo-bottom-nav-flat-success-disabled-text, color-mix(in srgb, var(--kendo-color-on-app-surface, #323130) 46%, transparent) );
  --kendo-bottom-nav-item-disabled-bg: var( --kendo-bottom-nav-flat-success-disabled-bg, initial );
  --kendo-bottom-nav-item-disabled-border: var( --kendo-bottom-nav-flat-success-disabled-border, initial );
}

.k-bottom-nav-flat-info, .k-bottom-nav-flat.k-bottom-nav-info {
  --kendo-bottom-nav-text: var( --kendo-bottom-nav-flat-info-text, var(--kendo-color-on-app-surface, #323130) );
  --kendo-bottom-nav-bg: var( --kendo-bottom-nav-flat-info-bg, var(--kendo-color-app-surface, #ffffff) );
  --kendo-bottom-nav-border: var( --kendo-bottom-nav-flat-info-border, color-mix(in srgb, var(--kendo-color-border, #8a8886) 16%, transparent) );
  --kendo-bottom-nav-item-focus-text: var( --kendo-bottom-nav-flat-info-focus-text, var(--kendo-color-info, #0a7eff) );
  --kendo-bottom-nav-item-focus-bg: var( --kendo-bottom-nav-flat-info-focus-bg, inherit );
  --kendo-bottom-nav-item-focus-border: var( --kendo-bottom-nav-flat-info-focus-border, transparent );
  --kendo-bottom-nav-item-focus-outline: var( --kendo-bottom-nav-flat-info-focus-outline, var(--kendo-color-info, #0a7eff) );
  --kendo-bottom-nav-item-selected-text: var( --kendo-bottom-nav-flat-info-selected-text, var(--kendo-color-info, #0a7eff) );
  --kendo-bottom-nav-item-selected-bg: var( --kendo-bottom-nav-flat-info-selected-bg, inherit );
  --kendo-bottom-nav-item-selected-border: var( --kendo-bottom-nav-flat-info-selected-border, transparent );
  --kendo-bottom-nav-item-disabled-text: var( --kendo-bottom-nav-flat-info-disabled-text, color-mix(in srgb, var(--kendo-color-on-app-surface, #323130) 46%, transparent) );
  --kendo-bottom-nav-item-disabled-bg: var( --kendo-bottom-nav-flat-info-disabled-bg, initial );
  --kendo-bottom-nav-item-disabled-border: var( --kendo-bottom-nav-flat-info-disabled-border, initial );
}

.k-bottom-nav-flat-secondary, .k-bottom-nav-flat.k-bottom-nav-secondary {
  --kendo-bottom-nav-text: var( --kendo-bottom-nav-flat-secondary-text, var(--kendo-color-on-app-surface, #323130) );
  --kendo-bottom-nav-bg: var( --kendo-bottom-nav-flat-secondary-bg, var(--kendo-color-app-surface, #ffffff) );
  --kendo-bottom-nav-border: var( --kendo-bottom-nav-flat-secondary-border, color-mix(in srgb, var(--kendo-color-border, #8a8886) 16%, transparent) );
  --kendo-bottom-nav-item-focus-text: var( --kendo-bottom-nav-flat-secondary-focus-text, var(--kendo-color-secondary, #979593) );
  --kendo-bottom-nav-item-focus-bg: var( --kendo-bottom-nav-flat-secondary-focus-bg, inherit );
  --kendo-bottom-nav-item-focus-border: var( --kendo-bottom-nav-flat-secondary-focus-border, transparent );
  --kendo-bottom-nav-item-focus-outline: var( --kendo-bottom-nav-flat-secondary-focus-outline, var(--kendo-color-secondary, #979593) );
  --kendo-bottom-nav-item-selected-text: var( --kendo-bottom-nav-flat-secondary-selected-text, var(--kendo-color-secondary, #979593) );
  --kendo-bottom-nav-item-selected-bg: var( --kendo-bottom-nav-flat-secondary-selected-bg, inherit );
  --kendo-bottom-nav-item-selected-border: var( --kendo-bottom-nav-flat-secondary-selected-border, transparent );
  --kendo-bottom-nav-item-disabled-text: var( --kendo-bottom-nav-flat-secondary-disabled-text, color-mix(in srgb, var(--kendo-color-on-app-surface, #323130) 46%, transparent) );
  --kendo-bottom-nav-item-disabled-bg: var( --kendo-bottom-nav-flat-secondary-disabled-bg, initial );
  --kendo-bottom-nav-item-disabled-border: var( --kendo-bottom-nav-flat-secondary-disabled-border, initial );
}

.k-bottom-nav-flat-tertiary, .k-bottom-nav-flat.k-bottom-nav-tertiary {
  --kendo-bottom-nav-text: var( --kendo-bottom-nav-flat-tertiary-text, var(--kendo-color-on-app-surface, #323130) );
  --kendo-bottom-nav-bg: var( --kendo-bottom-nav-flat-tertiary-bg, var(--kendo-color-app-surface, #ffffff) );
  --kendo-bottom-nav-border: var( --kendo-bottom-nav-flat-tertiary-border, color-mix(in srgb, var(--kendo-color-border, #8a8886) 16%, transparent) );
  --kendo-bottom-nav-item-focus-text: var( --kendo-bottom-nav-flat-tertiary-focus-text, var(--kendo-color-tertiary, #2b88d8) );
  --kendo-bottom-nav-item-focus-bg: var( --kendo-bottom-nav-flat-tertiary-focus-bg, inherit );
  --kendo-bottom-nav-item-focus-border: var( --kendo-bottom-nav-flat-tertiary-focus-border, transparent );
  --kendo-bottom-nav-item-focus-outline: var( --kendo-bottom-nav-flat-tertiary-focus-outline, var(--kendo-color-tertiary, #2b88d8) );
  --kendo-bottom-nav-item-selected-text: var( --kendo-bottom-nav-flat-tertiary-selected-text, var(--kendo-color-tertiary, #2b88d8) );
  --kendo-bottom-nav-item-selected-bg: var( --kendo-bottom-nav-flat-tertiary-selected-bg, inherit );
  --kendo-bottom-nav-item-selected-border: var( --kendo-bottom-nav-flat-tertiary-selected-border, transparent );
  --kendo-bottom-nav-item-disabled-text: var( --kendo-bottom-nav-flat-tertiary-disabled-text, color-mix(in srgb, var(--kendo-color-on-app-surface, #323130) 46%, transparent) );
  --kendo-bottom-nav-item-disabled-bg: var( --kendo-bottom-nav-flat-tertiary-disabled-bg, initial );
  --kendo-bottom-nav-item-disabled-border: var( --kendo-bottom-nav-flat-tertiary-disabled-border, initial );
}

.k-bottom-nav-flat-warning, .k-bottom-nav-flat.k-bottom-nav-warning {
  --kendo-bottom-nav-text: var( --kendo-bottom-nav-flat-warning-text, var(--kendo-color-on-app-surface, #323130) );
  --kendo-bottom-nav-bg: var( --kendo-bottom-nav-flat-warning-bg, var(--kendo-color-app-surface, #ffffff) );
  --kendo-bottom-nav-border: var( --kendo-bottom-nav-flat-warning-border, var(--kendo-color-warning, #ffc80a) );
  --kendo-bottom-nav-item-focus-text: var( --kendo-bottom-nav-flat-warning-focus-text, var(--kendo-color-warning, #ffc80a) );
  --kendo-bottom-nav-item-focus-bg: var( --kendo-bottom-nav-flat-warning-focus-bg, inherit );
  --kendo-bottom-nav-item-focus-border: var( --kendo-bottom-nav-flat-warning-focus-border, transparent );
  --kendo-bottom-nav-item-focus-outline: var( --kendo-bottom-nav-flat-warning-focus-outline, var(--kendo-color-warning, #ffc80a) );
  --kendo-bottom-nav-item-selected-text: var( --kendo-bottom-nav-flat-warning-selected-text, var(--kendo-color-warning, #ffc80a) );
  --kendo-bottom-nav-item-selected-bg: var( --kendo-bottom-nav-flat-warning-selected-bg, inherit );
  --kendo-bottom-nav-item-selected-border: var( --kendo-bottom-nav-flat-warning-selected-border, transparent );
  --kendo-bottom-nav-item-disabled-text: var( --kendo-bottom-nav-flat-warning-disabled-text, color-mix(in srgb, var(--kendo-color-on-app-surface, #323130) 46%, transparent) );
  --kendo-bottom-nav-item-disabled-bg: var( --kendo-bottom-nav-flat-warning-disabled-bg, initial );
  --kendo-bottom-nav-item-disabled-border: var( --kendo-bottom-nav-flat-warning-disabled-border, initial );
}

.k-bottom-nav-flat-dark, .k-bottom-nav-flat.k-bottom-nav-dark {
  --kendo-bottom-nav-text: var( --kendo-bottom-nav-flat-dark-text, var(--kendo-color-on-app-surface, #323130) );
  --kendo-bottom-nav-bg: var( --kendo-bottom-nav-flat-dark-bg, var(--kendo-color-app-surface, #ffffff) );
  --kendo-bottom-nav-border: var( --kendo-bottom-nav-flat-dark-border, var(--kendo-color-dark, #323130) );
  --kendo-bottom-nav-item-focus-text: var( --kendo-bottom-nav-flat-dark-focus-text, var(--kendo-color-dark, #323130) );
  --kendo-bottom-nav-item-focus-bg: var( --kendo-bottom-nav-flat-dark-focus-bg, inherit );
  --kendo-bottom-nav-item-focus-border: var( --kendo-bottom-nav-flat-dark-focus-border, transparent );
  --kendo-bottom-nav-item-focus-outline: var( --kendo-bottom-nav-flat-dark-focus-outline, var(--kendo-color-dark, #323130) );
  --kendo-bottom-nav-item-selected-text: var( --kendo-bottom-nav-flat-dark-selected-text, var(--kendo-color-dark, #323130) );
  --kendo-bottom-nav-item-selected-bg: var( --kendo-bottom-nav-flat-dark-selected-bg, inherit );
  --kendo-bottom-nav-item-selected-border: var( --kendo-bottom-nav-flat-dark-selected-border, transparent );
  --kendo-bottom-nav-item-disabled-text: var( --kendo-bottom-nav-flat-dark-disabled-text, color-mix(in srgb, var(--kendo-color-on-app-surface, #323130) 46%, transparent) );
  --kendo-bottom-nav-item-disabled-bg: var( --kendo-bottom-nav-flat-dark-disabled-bg, inherit );
  --kendo-bottom-nav-item-disabled-border: var( --kendo-bottom-nav-flat-dark-disabled-border, initial );
}

.k-bottom-nav-flat-light, .k-bottom-nav-flat.k-bottom-nav-light {
  --kendo-bottom-nav-text: var( --kendo-bottom-nav-flat-light-text, var(--kendo-color-on-app-surface, #323130) );
  --kendo-bottom-nav-bg: var( --kendo-bottom-nav-flat-light-bg, var(--kendo-color-app-surface, #ffffff) );
  --kendo-bottom-nav-border: var( --kendo-bottom-nav-flat-light-border, transparent );
  --kendo-bottom-nav-item-focus-text: var( --kendo-bottom-nav-flat-light-focus-text, var(--kendo-color-light, #d2d0ce) );
  --kendo-bottom-nav-item-focus-bg: var( --kendo-bottom-nav-flat-light-focus-bg, inherit );
  --kendo-bottom-nav-item-focus-border: var( --kendo-bottom-nav-flat-light-focus-border, transparent );
  --kendo-bottom-nav-item-focus-outline: var( --kendo-bottom-nav-flat-light-focus-outline, var(--kendo-color-light, #d2d0ce) );
  --kendo-bottom-nav-item-selected-text: var( --kendo-bottom-nav-flat-light-selected-text, var(--kendo-color-light, #d2d0ce) );
  --kendo-bottom-nav-item-selected-bg: var( --kendo-bottom-nav-flat-light-selected-bg, inherit );
  --kendo-bottom-nav-item-selected-border: var( --kendo-bottom-nav-flat-light-selected-border, transparent );
  --kendo-bottom-nav-item-disabled-text: var( --kendo-bottom-nav-flat-light-disabled-text, color-mix(in srgb, var(--kendo-color-on-app-surface, #323130) 46%, transparent) );
  --kendo-bottom-nav-item-disabled-bg: var( --kendo-bottom-nav-flat-light-disabled-bg, inherit );
  --kendo-bottom-nav-item-disabled-border: var( --kendo-bottom-nav-flat-light-disabled-border, initial );
}

.k-breadcrumb {
  margin-inline: var(--kendo-breadcrumb-margin-x, var(--kendo-spacing-0, 0px));
  margin-block: var(--kendo-breadcrumb-margin-y, var(--kendo-spacing-0, 0px));
  padding-inline: var(--kendo-breadcrumb-padding-x, var(--kendo-spacing-0, 0px));
  padding-block: var(--kendo-breadcrumb-padding-y, var(--kendo-spacing-0, 0px));
  border-width: var(--kendo-breadcrumb-border-width, 0px);
  border-style: solid;
  box-sizing: border-box;
  outline: 0;
  font-family: var(--kendo-breadcrumb-font-family, var(--kendo-font-family, inherit));
  font-size: var(--INTERNAL--kendo-breadcrumb-font-size, var(--kendo-font-size, inherit));
  line-height: var(--INTERNAL--kendo-breadcrumb-line-height, var(--kendo-line-height, normal));
  display: flex;
  flex-direction: row;
  -webkit-touch-callout: none;
  -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
}
.k-breadcrumb *,
.k-breadcrumb *::before,
.k-breadcrumb *::after {
  box-sizing: border-box;
}

.k-breadcrumb-container,
.k-breadcrumb-root-item-container {
  margin: 0;
  padding: 0;
  list-style: none;
  display: flex;
  flex-flow: row nowrap;
  overflow: hidden;
}

.k-breadcrumb-root-item-container {
  align-items: flex-start;
  flex-shrink: 0;
}

.k-breadcrumb-item {
  vertical-align: middle;
  display: inline-flex;
  flex-direction: row;
  flex: none;
  align-items: center;
  overflow: hidden;
}

.k-breadcrumb-root-item {
  flex-shrink: 0;
}

.k-breadcrumb-link,
.k-breadcrumb-root-link {
  border-radius: var(--kendo-breadcrumb-border-radius, 0px);
  padding-inline: var(--INTERNAL--kendo-breadcrumb-link-padding-x, var(--kendo-spacing-2, 0.5rem));
  padding-block: var(--INTERNAL--kendo-breadcrumb-link-padding-y, var(--kendo-spacing-2, 0.5rem));
  color: var(--kendo-breadcrumb-link-initial-text, inherit);
  text-decoration: none;
  white-space: nowrap;
  outline: none;
  cursor: pointer;
  position: relative;
  display: inline-flex;
  align-items: center;
  align-self: stretch;
  overflow: hidden;
  transition: var(--kendo-transition, none);
}
.k-breadcrumb-link.k-selected,
.k-breadcrumb-root-link.k-selected {
  font-weight: var(--kendo-breadcrumb-link-selected-font-weight, var(--kendo-font-weight-bold, bold));
}
.k-breadcrumb-link:disabled, .k-breadcrumb-link.k-disabled,
.k-breadcrumb-root-link:disabled,
.k-breadcrumb-root-link.k-disabled {
  background: var(--kendo-breadcrumb-link-disabled-bg, none);
  border: var(--kendo-breadcrumb-link-disabled-border, none);
}

.k-breadcrumb-link > .k-image,
.k-breadcrumb-icontext-link .k-icon {
  margin-inline-end: var(--kendo-breadcrumb-link-icon-spacing, var(--kendo-icon-spacing, var(--kendo-spacing-2, 0.5rem)));
}

.k-breadcrumb-icon-link {
  padding-inline: var(--INTERNAL--kendo-breadcrumb-icon-link-padding-x, var(--kendo-spacing-2\.5, 0.625rem));
  padding-block: var(--INTERNAL--kendo-breadcrumb-icon-link-padding-y, var(--kendo-spacing-2\.5, 0.625rem));
}

.k-breadcrumb-delimiter,
.k-breadcrumb-delimiter-icon {
  color: inherit;
}

.k-breadcrumb-input-container {
  width: 100%;
}
.k-breadcrumb-input-container .k-breadcrumb-input-container {
  border-color: transparent;
}

.k-breadcrumb-sm {
  --INTERNAL--kendo-breadcrumb-font-size: var( --kendo-breadcrumb-sm-font-size, var(--kendo-font-size, inherit) );
  --INTERNAL--kendo-breadcrumb-line-height: var( --kendo-breadcrumb-sm-line-height, var(--kendo-line-height, normal) );
}
.k-breadcrumb-sm .k-breadcrumb-link,
.k-breadcrumb-sm .k-breadcrumb-root-link {
  --INTERNAL--kendo-breadcrumb-link-padding-x: var( --kendo-breadcrumb-sm-link-padding-x, var(--kendo-spacing-2, 0.5rem) );
  --INTERNAL--kendo-breadcrumb-link-padding-y: var( --kendo-breadcrumb-sm-link-padding-y, var(--kendo-spacing-1\.5, 0.375rem) );
}
.k-breadcrumb-sm .k-breadcrumb-icon-link {
  --INTERNAL--kendo-breadcrumb-icon-link-padding-x: var( --kendo-breadcrumb-sm-icon-link-padding-x, var(--kendo-spacing-2, 0.5rem) );
  --INTERNAL--kendo-breadcrumb-icon-link-padding-y: var( --kendo-breadcrumb-sm-icon-link-padding-y, var(--kendo-spacing-2, 0.5rem) );
}

.k-breadcrumb-md {
  --INTERNAL--kendo-breadcrumb-font-size: var( --kendo-breadcrumb-md-font-size, var(--kendo-font-size, inherit) );
  --INTERNAL--kendo-breadcrumb-line-height: var( --kendo-breadcrumb-md-line-height, var(--kendo-line-height, normal) );
}
.k-breadcrumb-md .k-breadcrumb-link,
.k-breadcrumb-md .k-breadcrumb-root-link {
  --INTERNAL--kendo-breadcrumb-link-padding-x: var( --kendo-breadcrumb-md-link-padding-x, var(--kendo-spacing-2, 0.5rem) );
  --INTERNAL--kendo-breadcrumb-link-padding-y: var( --kendo-breadcrumb-md-link-padding-y, var(--kendo-spacing-2, 0.5rem) );
}
.k-breadcrumb-md .k-breadcrumb-icon-link {
  --INTERNAL--kendo-breadcrumb-icon-link-padding-x: var( --kendo-breadcrumb-md-icon-link-padding-x, var(--kendo-spacing-2\.5, 0.625rem) );
  --INTERNAL--kendo-breadcrumb-icon-link-padding-y: var( --kendo-breadcrumb-md-icon-link-padding-y, var(--kendo-spacing-2\.5, 0.625rem) );
}

.k-breadcrumb-lg {
  --INTERNAL--kendo-breadcrumb-font-size: var( --kendo-breadcrumb-lg-font-size, var(--kendo-font-size, inherit) );
  --INTERNAL--kendo-breadcrumb-line-height: var( --kendo-breadcrumb-lg-line-height, var(--kendo-line-height, normal) );
}
.k-breadcrumb-lg .k-breadcrumb-link,
.k-breadcrumb-lg .k-breadcrumb-root-link {
  --INTERNAL--kendo-breadcrumb-link-padding-x: var( --kendo-breadcrumb-lg-link-padding-x, var(--kendo-spacing-2, 0.5rem) );
  --INTERNAL--kendo-breadcrumb-link-padding-y: var( --kendo-breadcrumb-lg-link-padding-y, var(--kendo-spacing-2\.5, 0.625rem) );
}
.k-breadcrumb-lg .k-breadcrumb-icon-link {
  --INTERNAL--kendo-breadcrumb-icon-link-padding-x: var( --kendo-breadcrumb-lg-icon-link-padding-x, var(--kendo-spacing-3, 0.75rem) );
  --INTERNAL--kendo-breadcrumb-icon-link-padding-y: var( --kendo-breadcrumb-lg-icon-link-padding-y, var(--kendo-spacing-3, 0.75rem) );
}

.k-breadcrumb {
  border-color: var(--kendo-breadcrumb-border, transparent);
  color: var(--kendo-breadcrumb-text, get-theme-color-var(neutral-130));
  background-color: var(--kendo-breadcrumb-bg, var(--kendo-component-bg, initial));
}
.k-breadcrumb:focus, .k-breadcrumb.k-focus {
  box-shadow: var(--kendo-breadcrumb-focus-shadow, 0 0 0 1px color-mix(in srgb, var(--kendo-color-border, #8a8886) 16%, transparent));
}

.k-breadcrumb-link {
  border-color: var(--kendo-breadcrumb-link-border, transparent);
  color: var(--kendo-breadcrumb-link-text, get-theme-color-var(neutral-130));
  background-color: var(--kendo-breadcrumb-link-bg, transparent);
}
.k-breadcrumb-link:hover, .k-breadcrumb-link.k-hover {
  border-color: var(--kendo-breadcrumb-link-hover-border, var(--kendo-hover-border, initial));
  color: var(--kendo-breadcrumb-link-hover-text, var(--kendo-color-on-app-surface, #323130));
  background-color: var(--kendo-breadcrumb-link-hover-bg, var(--kendo-hover-bg, initial));
}
.k-breadcrumb-link:active, .k-breadcrumb-link.k-active {
  border-color: var(--kendo-breadcrumb-link-active-border, var(--kendo-color-base-active, #edebe9));
  color: var(--kendo-breadcrumb-link-active-text, var(--kendo-selected-text, initial));
  background-color: var(--kendo-breadcrumb-link-active-bg, var(--kendo-selected-bg, initial));
}
.k-breadcrumb-link:focus, .k-breadcrumb-link.k-focus {
  color: var(--kendo-breadcrumb-link-focus-text, var(--kendo-color-on-app-surface, #323130));
  background-color: var(--kendo-breadcrumb-link-focus-bg, transparent);
  box-shadow: var(--kendo-breadcrumb-link-focus-shadow, inset 0 0 0 1px get-theme-color-var(neutral-130));
}
.k-breadcrumb-link:focus:hover, .k-breadcrumb-link:focus.k-hover, .k-breadcrumb-link.k-focus:hover, .k-breadcrumb-link.k-focus.k-hover {
  background-color: var(--kendo-breadcrumb-link-focus-hover-bg, var(--kendo-hover-bg, initial));
}
.k-breadcrumb-link:disabled, .k-breadcrumb-link[disabled], .k-breadcrumb-link.k-disabled {
  color: var(--kendo-breadcrumb-link-disabled-text, var(--kendo-disabled-text, initial));
}
.k-breadcrumb-link.k-selected {
  border-color: var(--kendo-breadcrumb-link-selected-border, transparent);
  color: var(--kendo-breadcrumb-link-selected-text, var(--kendo-color-on-app-surface, #323130));
  background-color: var(--kendo-breadcrumb-link-selected-bg, var(--kendo-component-bg, initial));
}

.k-breadcrumb-root-link {
  border-color: var(--kendo-breadcrumb-root-link-border, transparent);
  color: var(--kendo-breadcrumb-root-link-text, get-theme-color-var(neutral-130));
  background-color: var(--kendo-breadcrumb-root-link-bg, transparent);
}
.k-breadcrumb-root-link:hover, .k-breadcrumb-root-link.k-hover {
  border-color: var(--kendo-breadcrumb-root-link-hover-border, var(--kendo-hover-border, initial));
  color: var(--kendo-breadcrumb-root-link-hover-text, var(--kendo-color-on-app-surface, #323130));
  background-color: var(--kendo-breadcrumb-root-link-hover-bg, var(--kendo-hover-bg, initial));
}
.k-breadcrumb-root-link:active, .k-breadcrumb-root-link.k-active {
  border-color: var(--kendo-breadcrumb-root-link-active-border, var(--kendo-color-base-active, #edebe9));
  color: var(--kendo-breadcrumb-root-link-active-text, var(--kendo-selected-text, initial));
  background-color: var(--kendo-breadcrumb-root-link-active-bg, var(--kendo-selected-bg, initial));
}
.k-breadcrumb-root-link:focus, .k-breadcrumb-root-link.k-focus {
  color: var(--kendo-breadcrumb-root-link-focus-text, var(--kendo-color-on-app-surface, #323130));
  background-color: var(--kendo-breadcrumb-root-link-focus-bg, transparent);
  box-shadow: var(--kendo-breadcrumb-root-link-focus-shadow, inset 0 0 0 1px get-theme-color-var(neutral-130));
}
.k-breadcrumb-root-link:focus:hover, .k-breadcrumb-root-link:focus.k-hover, .k-breadcrumb-root-link.k-focus:hover, .k-breadcrumb-root-link.k-focus.k-hover {
  background-color: var(--kendo-breadcrumb-root-link-focus-hover-bg, var(--kendo-hover-bg, initial));
}
.k-breadcrumb-root-link:disabled, .k-breadcrumb-root-link[disabled], .k-breadcrumb-root-link.k-disabled {
  color: var(--kendo-breadcrumb-root-link-disabled-text, var(--kendo-disabled-text, initial));
}

.k-pager {
  padding-inline: var(--INTERNAL--kendo-pager-padding-x, 0);
  padding-block: var(--INTERNAL--kendo-pager-padding-y, 0);
  border-width: var(--kendo-pager-border-width, 1px);
  border-style: solid;
  box-sizing: border-box;
  outline: 0;
  font-family: var(--kendo-pager-font-family, var(--kendo-font-family, normal));
  font-size: var(--kendo-pager-font-size, var(--kendo-font-size, inherit));
  line-height: var(--kendo-pager-line-height, var(--kendo-line-height, normal));
  white-space: nowrap;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: var(--INTERNAL--kendo-pager-spacing, 0);
  position: relative;
  overflow: hidden;
  cursor: default;
  flex: 0 0 auto;
  -webkit-touch-callout: none;
  -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
}
.k-pager *,
.k-pager *::before,
.k-pager *::after {
  box-sizing: border-box;
}

.k-pager-info, .k-pager-sizes, .k-pager-input {
  display: flex;
  flex-direction: row;
  align-items: center;
}

.k-pager-nav {
  color: inherit;
  text-align: center;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  position: relative;
}
.k-pager-nav:hover {
  z-index: 2;
}

.k-pager-nav {
  border-radius: var(--kendo-pager-item-border-radius, 0);
}

.k-pager-numbers-wrap {
  display: flex;
  flex-direction: row;
  position: relative;
}
.k-pager-numbers-wrap select.k-dropdown-list, .k-pager-numbers-wrap select.k-dropdown,
.k-pager-numbers-wrap select.k-dropdownlist {
  width: var(--kendo-pager-dropdown-width, 5em);
}

.k-pager-numbers {
  display: flex;
  flex-direction: row;
}
.k-pager-numbers .k-selected {
  cursor: inherit;
  z-index: 2;
}
.k-pager-numbers .k-button {
  --INTERNAL--kendo-button-padding-x: var( --INTERNAL--kendo-button-padding-y );
}
.k-pager-numbers .k-button .k-button-text {
  min-width: calc(var(--kendo-line-height) * 1em);
}

.k-pager-input {
  gap: 1ex;
}
.k-pager-input .k-textbox,
.k-pager-input .k-numerictextbox {
  margin-block: 0;
  width: var(--kendo-pager-input-width, 5em);
}

.k-pager-sizes {
  gap: 1ex;
}
.k-pager-sizes .k-dropdown-list, .k-pager-sizes .k-dropdown,
.k-pager-sizes .k-dropdownlist,
.k-pager-sizes > select {
  width: var(--kendo-pager-dropdown-width, 5em);
}
.k-pager-sizes .k-input-inner,
.k-pager-sizes .k-input-value-text {
  text-overflow: clip;
}

.k-pager-info {
  text-align: end;
  justify-content: flex-end;
  flex: 1 1 0%;
  order: 9;
}

.k-pager-refresh {
  margin-inline-start: auto;
  color: inherit;
  order: 10;
}

.k-pager-sm {
  --INTERNAL--kendo-pager-padding-x: var( --kendo-pager-sm-padding-x, var(--kendo-spacing-1\.5, 0.375rem) );
  --INTERNAL--kendo-pager-padding-y: var( --kendo-pager-sm-padding-y, var(--kendo-spacing-1\.5, 0.375rem) );
  --INTERNAL--kendo-pager-spacing: var( --kendo-pager-sm-spacing, var(--kendo-spacing-2, 0.5rem) );
}
.k-pager-sm .k-pager-input,
.k-pager-sm select.k-dropdown-list,
.k-pager-sm select.k-dropdown,
.k-pager-sm select.k-dropdownlist {
  margin-inline-start: var(--kendo-pager-input-margin-start, var(--kendo-spacing-2, 0.5rem));
  margin-inline-end: var(--kendo-pager-input-margin-end, var(--kendo-spacing-2, 0.5rem));
}

.k-pager-md {
  --INTERNAL--kendo-pager-padding-x: var( --kendo-pager-md-padding-x, var(--kendo-spacing-2, 0.5rem) );
  --INTERNAL--kendo-pager-padding-y: var( --kendo-pager-md-padding-y, var(--kendo-spacing-2, 0.5rem) );
  --INTERNAL--kendo-pager-spacing: var( --kendo-pager-md-spacing, var(--kendo-spacing-2, 0.5rem) );
}
.k-pager-md .k-pager-input,
.k-pager-md select.k-dropdown-list,
.k-pager-md select.k-dropdown,
.k-pager-md select.k-dropdownlist {
  margin-inline-start: var(--kendo-pager-input-margin-start, var(--kendo-spacing-2, 0.5rem));
  margin-inline-end: var(--kendo-pager-input-margin-end, var(--kendo-spacing-2, 0.5rem));
}

.k-pager-lg {
  --INTERNAL--kendo-pager-padding-x: var( --kendo-pager-lg-padding-x, var(--kendo-spacing-2\.5, 0.625rem) );
  --INTERNAL--kendo-pager-padding-y: var( --kendo-pager-lg-padding-y, var(--kendo-spacing-2\.5, 0.625rem) );
  --INTERNAL--kendo-pager-spacing: var( --kendo-pager-lg-spacing, var(--kendo-spacing-2, 0.5rem) );
}
.k-pager-lg .k-pager-input,
.k-pager-lg select.k-dropdown-list,
.k-pager-lg select.k-dropdown,
.k-pager-lg select.k-dropdownlist {
  margin-inline-start: var(--kendo-pager-input-margin-start, var(--kendo-spacing-2, 0.5rem));
  margin-inline-end: var(--kendo-pager-input-margin-end, var(--kendo-spacing-2, 0.5rem));
}

.k-pager {
  --INTERNAL--kendo-pager-text: var( --kendo-pager-text, var(--kendo-component-text, inherit) );
  --INTERNAL--kendo-pager-bg: var( --kendo-pager-bg, var(--kendo-color-surface, #faf9f8) );
  --INTERNAL--kendo-pager-border: var( --kendo-pager-border, var(--kendo-component-border, inherit) );
  border-color: var(--INTERNAL--kendo-pager-border, inherit);
  color: var(--INTERNAL--kendo-pager-text, inherit);
  background-color: var(--INTERNAL--kendo-pager-bg, transparent);
}
.k-pager:focus, .k-pager.k-focus {
  --INTERNAL--kendo-pager-text: var( --kendo-pager-focus-text, var(--kendo-pager-text, var(--kendo-component-text, inherit)) );
  --INTERNAL--kendo-pager-bg: var( --kendo-pager-focus-bg, var(--kendo-pager-bg, var(--kendo-color-surface, #faf9f8)) );
  --INTERNAL--kendo-pager-border: var( --kendo-pager-focus-border, var(--kendo-color-border, #8a8886) );
}

.k-pager-sizes {
  color: var(--kendo-pager-sizes-label-text, var(--kendo-color-on-app-surface, #323130));
}

.k-pager-info {
  color: var(--kendo-pager-info-label-text, var(--kendo-color-subtle, #605e5c));
}

.k-stepper {
  border-width: var(--kendo-stepper-border-width, 0px);
  border-style: solid;
  box-sizing: border-box;
  outline: 0;
  font-size: var(--kendo-stepper-font-size, var(--kendo-font-size, inherit));
  line-height: var(--kendo-stepper-line-height, var(--kendo-line-height, normal));
  font-family: var(--kendo-stepper-font-family, var(--kendo-font-family, inherit));
  display: block;
  position: relative;
  -webkit-touch-callout: none;
  -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
  color: inherit;
  background: none;
}
.k-stepper *,
.k-stepper *::before,
.k-stepper *::after {
  box-sizing: border-box;
}
.k-stepper .k-step-list {
  margin: 0;
  padding: 0;
  list-style: none;
  display: flex;
  z-index: 1;
}
.k-stepper .k-step.k-disabled {
  background: transparent;
}
.k-stepper .k-step-link {
  outline: none;
  color: inherit;
  text-decoration: none;
  white-space: nowrap;
  display: flex;
  align-items: center;
  overflow: hidden;
}
.k-stepper .k-step-indicator {
  border-radius: var(--kendo-stepper-indicator-border-radius, 50%);
  margin: var(--kendo-stepper-indicator-focus-offset, 3px);
  width: var(--kendo-stepper-indicator-width, var(--kendo-spacing-7\.5, 1.875rem));
  height: var(--kendo-stepper-indicator-height, var(--kendo-spacing-7\.5, 1.875rem));
  border-width: var(--kendo-stepper-indicator-border-width, 1px);
  border-style: solid;
  display: flex;
  align-items: center;
  justify-content: center;
  flex: none;
  position: relative;
  z-index: 1;
  overflow: visible;
  transition-property: color, background-color, border-color;
  transition-duration: 0.4s;
  transition-timing-function: ease-in-out;
}
.k-stepper .k-step-indicator::before {
  border-radius: var(--kendo-stepper-indicator-border-radius, 50%);
  content: "";
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
  z-index: -1;
}
.k-stepper .k-step-indicator::after {
  border-radius: 100%;
  content: "";
  border-width: var(--kendo-stepper-indicator-focus-border-width, 1px);
  border-style: solid;
  border-color: inherit;
  pointer-events: none;
  display: none;
  position: absolute;
  inset: calc(-1 * calc(1px + 3px));
  z-index: 2;
}
.k-stepper .k-step.k-focus .k-step-indicator::after,
.k-stepper .k-step-link:focus .k-step-indicator::after {
  display: block;
}
.k-stepper .k-step.k-disabled .k-step-indicator {
  border: 0;
}
.k-stepper .k-step.k-disabled .k-step-indicator::after {
  display: none;
}
.k-stepper .k-step-label {
  max-width: clamp(100%, 10em, 100%);
  display: inline-flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: center;
  z-index: 1;
}
.k-stepper .k-step-label:only-child {
  border-radius: var(--kendo-stepper-label-border-radius, var(--kendo-border-radius-xxl, 1rem));
  padding-inline: var(--kendo-stepper-label-padding-x, var(--kendo-spacing-3, 0.75rem));
  padding-block: var(--kendo-stepper-label-padding-y, var(--kendo-spacing-1\.5, 0.375rem));
  border-width: 0;
}
.k-stepper .k-step-label .k-step-text {
  max-width: calc(10em - (var(--kendo-icon-size, 1rem) + var(--kendo-icon-spacing, 0.5rem)));
  flex-grow: 1;
  white-space: nowrap;
  text-overflow: ellipsis;
  overflow: hidden;
}
.k-stepper .k-step-label .k-icon {
  margin-inline-start: var(--kendo-icon-spacing, 0.5rem);
}
.k-stepper .k-step-current .k-step-label {
  font-weight: var(--kendo-stepper-current-label-font-weight, var(--kendo-font-weight-bold, bold));
}
.k-stepper .k-step-label-optional {
  flex-basis: 100%;
  font-size: var(--kendo-stepper-optional-label-font-size, inherit);
  font-style: var(--kendo-stepper-optional-label-font-style, italic);
}
.k-stepper .k-step-disabled,
.k-stepper .k-step.k-disabled {
  pointer-events: none;
}
.k-stepper .k-step-disabled .k-step-link,
.k-stepper .k-step.k-disabled .k-step-link {
  cursor: default;
}
.k-stepper .k-step-disabled .k-step-label-optional,
.k-stepper .k-step.k-disabled .k-step-label-optional {
  color: inherit;
}
.k-stepper .k-step-disabled .k-step-label,
.k-stepper .k-step.k-disabled .k-step-label {
  font-weight: normal;
}
.k-stepper .k-progressbar {
  pointer-events: none;
  z-index: 0;
  overflow: visible;
}
.k-stepper .k-progressbar-horizontal {
  grid-row: 1/-1;
}
.k-stepper .k-progressbar-vertical {
  position: absolute;
}

.k-step-list-horizontal {
  flex-direction: row;
  grid-row: 1;
}
.k-step-list-horizontal .k-step {
  flex: 1 0 auto;
  text-align: center;
}
.k-step-list-horizontal .k-step-link {
  margin: auto;
  max-width: 10em;
  flex-direction: column;
}
.k-step-list-horizontal .k-step-label {
  text-align: center;
}
.k-step-list-horizontal .k-step-indicator + .k-step-label {
  margin-top: var(--kendo-spacing-1, 0.25rem);
}
.k-step-list-horizontal ~ .k-progressbar {
  width: 100%;
  height: var(--kendo-stepper-progressbar-size, var(--kendo-spacing-0\.5, 0.125rem));
  top: calc((var(--kendo-stepper-indicator-height, var(--kendo-spacing-7\.5, 1.875rem)) + 2 * var(--kendo-spacing-0\.5, 0.125rem)) / 2 + var(--kendo-spacing-0\.5, 0.125rem) / 2);
}

.k-step-list-vertical {
  flex-direction: column;
}
.k-step-list-vertical .k-step {
  min-height: calc(var(--kendo-stepper-indicator-width, var(--kendo-spacing-7\.5, 1.875rem)) + 2 * var(--kendo-stepper-indicator-border-width, 1px) + 2 * var(--kendo-spacing-0\.5, 0.125rem) + 20px);
}
.k-step-list-vertical .k-step-label {
  justify-content: flex-start;
}
.k-step-list-vertical .k-step-indicator + .k-step-label {
  margin-inline-start: var(--kendo-stepper-label-margin-x, var(--kendo-spacing-2, 0.5rem));
}
.k-step-list-vertical ~ .k-progressbar {
  width: var(--kendo-stepper-progressbar-size, var(--kendo-spacing-0\.5, 0.125rem));
  height: 100%;
  min-height: 20px;
  inset-inline-start: calc((var(--kendo-stepper-indicator-width, var(--kendo-spacing-7\.5, 1.875rem)) + 2 * var(--kendo-stepper-indicator-border-width, 1px) + 2 * var(--kendo-spacing-0\.5, 0.125rem)) / 2);
}
.k-step-list-vertical .k-step-content {
  height: 0;
  overflow: hidden;
  transition: none 300ms cubic-bezier(0.4, 0, 0.2, 1) 0ms;
}
.k-step-list-vertical .k-step-current .k-step-content {
  height: auto;
  overflow: visible;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  margin-inline-start: calc(var(--kendo-stepper-indicator-width, var(--kendo-spacing-7\.5, 1.875rem)) + 2 * var(--kendo-stepper-indicator-border-width, 1px));
  padding-inline: var(--kendo-stepper-inline-content-padding-x, var(--kendo-spacing-5, 1.25rem));
  padding-block: var(--kendo-stepper-inline-content-padding-y, var(--kendo-spacing-3, 0.75rem));
}

.k-stepper {
  border-color: var(--kendo-stepper-border, transparent);
  color: var(--kendo-stepper-text, var(--kendo-component-text, initial));
  background-color: var(--kendo-stepper-bg, transparent);
}
.k-stepper .k-step:hover .k-step-label, .k-stepper .k-step.k-hover .k-step-label {
  color: var(--kendo-stepper-label-hover-text, var(--kendo-component-text, initial));
}
.k-stepper .k-step:hover .k-step-indicator, .k-stepper .k-step.k-hover .k-step-indicator {
  border-color: var(--kendo-stepper-indicator-hover-border, var(--kendo-color-border, #8a8886));
  color: var(--kendo-stepper-indicator-hover-text, var(--kendo-hover-text, initial));
  background-color: var(--kendo-stepper-indicator-hover-bg, var(--kendo-hover-bg, initial));
}
.k-stepper .k-step.k-focus .k-step-label:only-child,
.k-stepper .k-step .k-step-link:focus .k-step-label:only-child {
  box-shadow: inset 0 0 0 var(--kendo-stepper-indicator-focus-size, var(--kendo-spacing-0\.5, 0.125rem)) var(--kendo-component-border, initial);
}
.k-stepper .k-step:disabled .k-step-indicator, .k-stepper .k-step.k-disabled .k-step-indicator {
  border-color: var(--kendo-stepper-indicator-disabled-border, var(--kendo-disabled-border, initial));
  color: var(--kendo-stepper-indicator-disabled-text, var(--kendo-disabled-text, initial));
  background-color: var(--kendo-color-app-surface, #ffffff);
}
.k-stepper .k-step:disabled .k-step-indicator::before, .k-stepper .k-step.k-disabled .k-step-indicator::before {
  background-color: var(--kendo-stepper-indicator-disabled-bg, var(--kendo-disabled-bg, initial));
}
.k-stepper .k-step:disabled .k-step-label, .k-stepper .k-step.k-disabled .k-step-label {
  color: var(--kendo-stepper-label-disabled-text, var(--kendo-disabled-text, initial));
}
.k-stepper .k-step-indicator {
  border-color: var(--kendo-stepper-indicator-border, var(--kendo-color-border, #8a8886));
  color: var(--kendo-stepper-indicator-text, var(--kendo-component-text, initial));
  background-color: var(--kendo-stepper-indicator-bg, var(--kendo-component-bg, initial));
}
.k-stepper .k-step-indicator::after {
  box-shadow: inset 0 0 0 var(--kendo-stepper-indicator-focus-size, var(--kendo-spacing-0\.5, 0.125rem)) var(--kendo-component-bg, initial);
}
.k-stepper .k-step-label:only-child {
  border-color: var(--kendo-component-border, initial);
  color: var(--kendo-component-text, initial);
  background-color: var(--kendo-component-bg, transparent);
}
.k-stepper .k-step-done .k-step-indicator {
  border-color: var(--kendo-stepper-indicator-done-border, var(--kendo-color-primary, #0078d4));
  color: var(--kendo-stepper-indicator-done-text, var(--kendo-color-on-primary, #ffffff));
  background-color: var(--kendo-stepper-indicator-done-bg, var(--kendo-color-primary, #0078d4));
}
.k-stepper .k-step-done:hover .k-step-indicator, .k-stepper .k-step-done.k-hover .k-step-indicator, .k-stepper .k-step-done.k-step-hover .k-step-indicator {
  border-color: var(--kendo-stepper-indicator-done-hover-border, var(--kendo-color-primary-hover, #106ebe));
  color: var(--kendo-stepper-indicator-done-hover-text, var(--kendo-color-on-primary, #ffffff));
  background-color: var(--kendo-stepper-indicator-done-hover-bg, var(--kendo-color-primary-hover, #106ebe));
}
.k-stepper .k-step-done.k-step-disabled .k-step-indicator, .k-stepper .k-step-done.k-disabled .k-step-indicator, .k-stepper .k-step-done:disabled .k-step-indicator {
  border-color: var(--kendo-stepper-indicator-done-disabled-border, var(--kendo-disabled-border, initial));
  color: var(--kendo-stepper-indicator-done-disabled-text, var(--kendo-disabled-text, initial));
  background-color: var(--kendo-color-app-surface, #ffffff);
}
.k-stepper .k-step-done.k-step-disabled .k-step-indicator::before, .k-stepper .k-step-done.k-disabled .k-step-indicator::before, .k-stepper .k-step-done:disabled .k-step-indicator::before {
  background-color: var(--kendo-stepper-indicator-done-disabled-bg, color-mix(in srgb, var(--kendo-color-primary, #0078d4) 22%, transparent));
}
.k-stepper .k-step-done.k-step-disabled .k-step-label, .k-stepper .k-step-done.k-disabled .k-step-label, .k-stepper .k-step-done:disabled .k-step-label {
  color: var(--kendo-stepper-label-disabled-text, var(--kendo-disabled-text, initial));
}
.k-stepper .k-step-current .k-step-indicator {
  border-color: var(--kendo-stepper-indicator-current-border, var(--kendo-color-primary-active, #005a9e));
  color: var(--kendo-stepper-indicator-current-text, var(--kendo-color-on-primary, #ffffff));
  background-color: var(--kendo-stepper-indicator-current-bg, var(--kendo-color-primary-active, #005a9e));
}
.k-stepper .k-step-current:hover .k-step-indicator, .k-stepper .k-step-current.k-hover .k-step-indicator, .k-stepper .k-step-current.k-step-hover .k-step-indicator {
  border-color: var(--kendo-stepper-indicator-current-hover-border, var(--kendo-color-primary-hover, #106ebe));
  color: var(--kendo-stepper-indicator-current-hover-text, var(--kendo-color-on-primary, #ffffff));
  background-color: var(--kendo-stepper-indicator-current-hover-bg, var(--kendo-color-primary-hover, #106ebe));
}
.k-stepper .k-step-current.k-step-disabled .k-step-indicator, .k-stepper .k-step-current.k-disabled .k-step-indicator, .k-stepper .k-step-current:disabled .k-step-indicator {
  border-color: var(--kendo-stepper-indicator-current-disabled-border, var(--kendo-disabled-border, initial));
  color: var(--kendo-stepper-indicator-current-disabled-text, var(--kendo-disabled-text, initial));
  background-color: var(--kendo-color-app-surface, #ffffff);
}
.k-stepper .k-step-current.k-step-disabled .k-step-indicator::before, .k-stepper .k-step-current.k-disabled .k-step-indicator::before, .k-stepper .k-step-current:disabled .k-step-indicator::before {
  background-color: var(--kendo-stepper-indicator-current-disabled-bg, color-mix(in srgb, var(--kendo-color-primary, #0078d4) 22%, transparent));
}
.k-stepper .k-step-label {
  color: var(--kendo-stepper-label-text, inherit);
}
.k-stepper .k-step-success .k-step-label .k-icon {
  color: var(--kendo-stepper-label-success-text, var(--kendo-color-success-on-surface, #107c10));
}
.k-stepper .k-step-error .k-step-label {
  color: var(--kendo-stepper-label-error-text, var(--kendo-color-error-on-surface, #a4262c));
}
.k-stepper .k-step-error .k-step-label {
  color: var(--kendo-stepper-label-error-text, var(--kendo-color-error-on-surface, #a4262c));
}
.k-stepper .k-step-error:hover .k-step-label, .k-stepper .k-step-error.k-hover .k-step-label, .k-stepper .k-step-error.k-step-hover .k-step-label {
  color: var(--kendo-stepper-label-error-text, var(--kendo-color-error-on-surface, #a4262c));
}
.k-stepper .k-step-label-optional {
  color: var(--kendo-stepper-optional-label-text, var(--kendo-color-subtle, #605e5c));
}

.k-tabstrip-wrapper {
  padding-inline: var(--kendo-tabstrip-wrapper-padding-x, var(--kendo-spacing-0, 0px));
  padding-block: var(--kendo-tabstrip-wrapper-padding-y, var(--kendo-spacing-0, 0px));
  box-sizing: border-box;
  border-width: 0;
  border-style: solid;
  display: flex;
  flex-direction: column;
  position: relative;
}

.k-tabstrip {
  border-width: 0;
  border-color: transparent;
  box-sizing: border-box;
  outline: 0;
  font-family: var(--kendo-tabstrip-font-family, var(--kendo-font-family, inherit));
  font-size: var(--kendo-tabstrip-font-size, var(--kendo-font-size, inherit));
  line-height: var(--kendo-tabstrip-line-height, var(--kendo-line-height, normal));
  color: inherit;
  background-color: transparent;
  display: flex;
  flex-flow: column nowrap;
  -webkit-touch-callout: none;
  -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
}

.k-tabstrip-wrapper > .k-tabstrip {
  flex: 1 1 auto;
}

.k-tabstrip-items-wrapper {
  box-sizing: border-box;
  border-width: 0;
  border-style: solid;
  border-color: inherit;
  position: relative;
  flex-shrink: 0;
}

.k-tabstrip-items {
  box-sizing: border-box;
  outline: 0;
  display: flex;
  flex-flow: row wrap;
  flex: 1 1 auto;
  gap: var(--kendo-spacing-2, 0.5rem);
}
.k-tabstrip-items *,
.k-tabstrip-items *::before,
.k-tabstrip-items *::after {
  box-sizing: border-box;
}
.k-tabstrip-items .k-item {
  margin: 0;
  padding: 0;
  border: 0;
  position: relative;
  flex-shrink: 0;
  display: flex;
  flex-direction: row;
  align-items: stretch;
  justify-items: stretch;
  outline: 0;
}
.k-tabstrip-items .k-item:active, .k-tabstrip-items .k-item.k-active, .k-tabstrip-items .k-item.k-selected {
  font-weight: var(--kendo-tabstrip-item-selected-font-weight, var(--kendo-font-weight-bold, normal));
}
.k-tabstrip-items .k-item-actions {
  margin: 0;
  padding: 0;
  display: flex;
  flex-direction: row;
}
.k-tabstrip-items .k-link {
  padding-inline: var(--kendo-tabstrip-item-padding-x, var(--kendo-spacing-2, 0.5rem));
  padding-block: var(--kendo-tabstrip-item-padding-y, var(--kendo-spacing-3, 0.75rem));
  color: inherit;
  cursor: pointer;
  display: inline-flex;
  vertical-align: middle;
  flex: 1 1 auto;
  flex-direction: row;
  align-content: center;
  align-items: center;
}
.k-tabstrip-content,
.k-tabstrip > .k-content {
  margin: 0 !important;
  padding-inline: var(--kendo-tabstrip-content-padding-x, var(--kendo-spacing-3, 0.75rem));
  padding-block: var(--kendo-tabstrip-content-padding-y, var(--kendo-spacing-1\.5, 0.375rem));
  box-sizing: border-box;
  border-width: 0;
  border-style: solid;
  border-color: inherit;
  display: none;
  overflow: auto;
  flex: 1 1 auto;
  position: relative;
}
.k-tabstrip-content:active, .k-tabstrip-content.k-active,
.k-tabstrip > .k-content:active,
.k-tabstrip > .k-content.k-active {
  display: block;
}

.k-tabstrip-items .k-loading {
  width: 20%;
  height: 0;
  border: 0;
  border-top: 1px solid transparent;
  border-color: inherit;
  background: none;
  position: absolute;
  top: 0;
  left: 0;
  transition: width 0.2s linear;
  display: none;
}
.k-tabstrip-items .k-loading.k-complete {
  width: 100%;
  border-top-width: 0;
}

.k-tabstrip-scrollable > .k-tabstrip-items-wrapper > .k-tabstrip-items {
  flex-wrap: nowrap;
  white-space: nowrap;
  overflow: hidden;
}
.k-tabstrip-scrollable > .k-tabstrip-items-wrapper > .k-tabstrip-items.k-tabstrip-items-scroll {
  scrollbar-width: none;
}
.k-tabstrip-scrollable > .k-tabstrip-items-wrapper > .k-tabstrip-items.k-tabstrip-items-scroll::-webkit-scrollbar {
  display: none;
}
.k-tabstrip-scrollable > .k-tabstrip-items-wrapper.k-tabstrip-top .k-tabstrip-items.k-tabstrip-items-scroll, .k-tabstrip-scrollable > .k-tabstrip-items-wrapper.k-tabstrip-bottom .k-tabstrip-items.k-tabstrip-items-scroll {
  overflow-x: auto;
}
.k-tabstrip-scrollable > .k-tabstrip-items-wrapper.k-tabstrip-left .k-tabstrip-items.k-tabstrip-items-scroll, .k-tabstrip-scrollable > .k-tabstrip-items-wrapper.k-tabstrip-right .k-tabstrip-items.k-tabstrip-items-scroll {
  overflow-y: auto;
}

.k-tabstrip-scrollable-overlay .k-tabstrip-items-wrapper::before, .k-tabstrip-scrollable-overlay .k-tabstrip-items-wrapper::after {
  content: "";
  position: absolute;
  z-index: 3;
}
.k-tabstrip-scrollable-overlay.k-tabstrip-top .k-tabstrip-items-wrapper::before, .k-tabstrip-scrollable-overlay.k-tabstrip-top .k-tabstrip-items-wrapper::after, .k-tabstrip-scrollable-overlay.k-tabstrip-bottom .k-tabstrip-items-wrapper::before, .k-tabstrip-scrollable-overlay.k-tabstrip-bottom .k-tabstrip-items-wrapper::after {
  height: 100%;
  aspect-ratio: 1;
}
.k-tabstrip-scrollable-overlay.k-tabstrip-top .k-tabstrip-items-wrapper::before, .k-tabstrip-scrollable-overlay.k-tabstrip-bottom .k-tabstrip-items-wrapper::before {
  inset-inline-start: 0;
}
.k-tabstrip-scrollable-overlay.k-tabstrip-top .k-tabstrip-items-wrapper::after, .k-tabstrip-scrollable-overlay.k-tabstrip-bottom .k-tabstrip-items-wrapper::after {
  inset-inline-end: 0;
}
.k-tabstrip-scrollable-overlay.k-tabstrip-left .k-tabstrip-items-wrapper::before, .k-tabstrip-scrollable-overlay.k-tabstrip-left .k-tabstrip-items-wrapper::after, .k-tabstrip-scrollable-overlay.k-tabstrip-right .k-tabstrip-items-wrapper::before, .k-tabstrip-scrollable-overlay.k-tabstrip-right .k-tabstrip-items-wrapper::after {
  width: 100%;
}
.k-tabstrip-scrollable-overlay.k-tabstrip-left .k-tabstrip-items-wrapper::before, .k-tabstrip-scrollable-overlay.k-tabstrip-right .k-tabstrip-items-wrapper::before {
  inset-block-start: 0;
}
.k-tabstrip-scrollable-overlay.k-tabstrip-left .k-tabstrip-items-wrapper::after, .k-tabstrip-scrollable-overlay.k-tabstrip-right .k-tabstrip-items-wrapper::after {
  inset-block-end: 0;
}
.k-tabstrip-scrollable-overlay.k-tabstrip-scrollable-start .k-tabstrip-items-wrapper::before {
  display: none;
}
.k-tabstrip-scrollable-overlay.k-tabstrip-scrollable-end .k-tabstrip-items-wrapper::after {
  display: none;
}

.k-tabstrip-horizontal, .k-tabstrip-bottom > .k-tabstrip-items-wrapper, .k-tabstrip-top > .k-tabstrip-items-wrapper {
  flex-direction: row;
}

.k-tabstrip-vertical, .k-tabstrip-right > .k-tabstrip-items-wrapper, .k-tabstrip-left > .k-tabstrip-items-wrapper {
  flex-direction: column;
}

.k-tabstrip-top > .k-tabstrip-items-wrapper {
  border-bottom-width: var(--kendo-tabstrip-border-width, 0px);
}
.k-tabstrip-top > .k-tabstrip-items-wrapper .k-item {
  margin-block-end: calc(var(--kendo-tabstrip-border-width, 0px) * -1);
}
.k-tabstrip-top > .k-tabstrip-items-wrapper .k-item .k-link {
  justify-content: center;
}

.k-tabstrip-bottom > .k-tabstrip-items-wrapper {
  border-top-width: var(--kendo-tabstrip-border-width, 0px);
}
.k-tabstrip-bottom > .k-tabstrip-items-wrapper .k-item {
  margin-block-start: calc(var(--kendo-tabstrip-border-width, 0px) * -1);
}
.k-tabstrip-bottom > .k-tabstrip-items-wrapper .k-item .k-link {
  justify-content: center;
}

.k-tabstrip-left {
  flex-direction: row;
}
.k-tabstrip-left > .k-tabstrip-items-wrapper {
  border-right-width: var(--kendo-tabstrip-border-width, 0px);
}
.k-tabstrip-left > .k-tabstrip-items-wrapper > .k-tabstrip-items {
  flex-direction: column;
}
.k-tabstrip-left > .k-tabstrip-items-wrapper .k-item {
  margin-inline-end: calc(var(--kendo-tabstrip-border-width, 0px) * -1);
}

.k-tabstrip-right {
  flex-direction: row-reverse;
}
.k-tabstrip-right > .k-tabstrip-items-wrapper {
  border-left-width: var(--kendo-tabstrip-border-width, 0px);
}
.k-tabstrip-right > .k-tabstrip-items-wrapper > .k-tabstrip-items {
  flex-direction: column;
}
.k-tabstrip-right > .k-tabstrip-items-wrapper .k-item {
  margin-inline-start: calc(var(--kendo-tabstrip-border-width, 0px) * -1);
}

.k-tabstrip-items-start {
  justify-content: flex-start;
}

.k-tabstrip-items-center {
  justify-content: center;
}

.k-tabstrip-items-end {
  justify-content: flex-end;
}

.k-tabstrip-items-justify {
  justify-content: space-between;
}

.k-tabstrip-items-stretched > * {
  flex: 1 0 0;
}

.k-tabstrip-items-wrapper .k-item::after {
  content: "";
  border-width: 0;
  border-style: solid;
  display: block;
  position: absolute;
  z-index: 2;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  opacity: 0;
  transform: scaleY(0);
  pointer-events: none;
  transition: opacity 0.3s, transform 0.3s;
}
.k-tabstrip-items-wrapper .k-item:active::after,
.k-tabstrip-items-wrapper .k-item.k-active::after,
.k-tabstrip-items-wrapper .k-item.k-selected::after {
  opacity: 1;
  transform: scaleY(1);
}
.k-tabstrip-items-wrapper .k-item > .k-link {
  z-index: 1;
}

.k-tabstrip-top > .k-tabstrip-items-wrapper .k-item::after {
  border-bottom-width: var(--kendo-tabstrip-indicator-size, var(--kendo-spacing-0\.5, 0.125rem));
}

.k-tabstrip-bottom > .k-tabstrip-items-wrapper .k-item::after {
  border-top-width: var(--kendo-tabstrip-indicator-size, var(--kendo-spacing-0\.5, 0.125rem));
}

.k-tabstrip-left > .k-tabstrip-items-wrapper .k-item::after {
  border-right-width: var(--kendo-tabstrip-indicator-size, var(--kendo-spacing-0\.5, 0.125rem));
}

.k-tabstrip-right > .k-tabstrip-items-wrapper .k-item::after {
  border-left-width: var(--kendo-tabstrip-indicator-size, var(--kendo-spacing-0\.5, 0.125rem));
}

.k-tabstrip-items-wrapper .k-item.k-tabstrip-dragging::after {
  display: none !important;
}

.k-rtl .k-tabstrip.k-tabstrip-left > .k-tabstrip-items-wrapper, .k-rtl .k-tabstrip.k-tabstrip-right > .k-tabstrip-items-wrapper,
.k-tabstrip[dir=rtl].k-tabstrip-left > .k-tabstrip-items-wrapper,
.k-tabstrip[dir=rtl].k-tabstrip-right > .k-tabstrip-items-wrapper {
  order: 1;
}
.k-rtl .k-tabstrip.k-tabstrip-left > .k-content, .k-rtl .k-tabstrip.k-tabstrip-right > .k-content,
.k-tabstrip[dir=rtl].k-tabstrip-left > .k-content,
.k-tabstrip[dir=rtl].k-tabstrip-right > .k-content {
  order: 0;
}
.k-rtl .k-tabstrip.k-tabstrip-left > .k-tabstrip-content, .k-rtl .k-tabstrip.k-tabstrip-right > .k-tabstrip-content,
.k-tabstrip[dir=rtl].k-tabstrip-left > .k-tabstrip-content,
.k-tabstrip[dir=rtl].k-tabstrip-right > .k-tabstrip-content {
  order: 0;
}

.k-tabstrip-sm .k-tabstrip-items .k-link {
  font-size: var(--kendo-font-size, inherit);
  line-height: var(--kendo-line-height, normal);
  padding-block: var(--kendo-spacing-2\.5, 0.625rem);
  padding-inline: var(--kendo-spacing-2, 0.5rem);
}
:is(.k-tabstrip-sm.k-tabstrip-left, .k-tabstrip-sm.k-tabstrip-right):is(.k-tabstrip-scrollable-overlay) :is(.k-tabstrip-items-wrapper)::before, :is(.k-tabstrip-sm.k-tabstrip-left, .k-tabstrip-sm.k-tabstrip-right):is(.k-tabstrip-scrollable-overlay) :is(.k-tabstrip-items-wrapper)::after {
  height: calc(var(--kendo-line-height, normal) * 1em + 0px + var(--kendo-spacing-2\.5, 0.625rem) * 2);
}

.k-tabstrip-md .k-tabstrip-items .k-link {
  font-size: var(--kendo-font-size, inherit);
  line-height: var(--kendo-line-height, normal);
  padding-block: var(--kendo-spacing-3, 0.75rem);
  padding-inline: var(--kendo-spacing-2, 0.5rem);
}
:is(.k-tabstrip-md.k-tabstrip-left, .k-tabstrip-md.k-tabstrip-right):is(.k-tabstrip-scrollable-overlay) :is(.k-tabstrip-items-wrapper)::before, :is(.k-tabstrip-md.k-tabstrip-left, .k-tabstrip-md.k-tabstrip-right):is(.k-tabstrip-scrollable-overlay) :is(.k-tabstrip-items-wrapper)::after {
  height: calc(var(--kendo-line-height, normal) * 1em + 0px + var(--kendo-spacing-3, 0.75rem) * 2);
}

.k-tabstrip-lg .k-tabstrip-items .k-link {
  font-size: var(--kendo-font-size, inherit);
  line-height: var(--kendo-line-height, normal);
  padding-block: var(--kendo-spacing-3\.5, 0.875rem);
  padding-inline: var(--kendo-spacing-2, 0.5rem);
}
:is(.k-tabstrip-lg.k-tabstrip-left, .k-tabstrip-lg.k-tabstrip-right):is(.k-tabstrip-scrollable-overlay) :is(.k-tabstrip-items-wrapper)::before, :is(.k-tabstrip-lg.k-tabstrip-left, .k-tabstrip-lg.k-tabstrip-right):is(.k-tabstrip-scrollable-overlay) :is(.k-tabstrip-items-wrapper)::after {
  height: calc(var(--kendo-line-height, normal) * 1em + 0px + var(--kendo-spacing-3\.5, 0.875rem) * 2);
}

.k-tabstrip-wrapper {
  border-color: var(--kendo-tabstrip-wrapper-border, initial);
  color: var(--kendo-tabstrip-wrapper-text, initial);
  background-color: var(--kendo-tabstrip-wrapper-bg, transparent);
}

.k-tabstrip-items-wrapper {
  border-color: var(--kendo-tabstrip-border, transparent);
  color: var(--kendo-tabstrip-text, var(--kendo-component-text, initial));
  background-color: var(--kendo-tabstrip-bg, transparent);
}
.k-tabstrip-items-wrapper .k-item {
  border-color: var(--kendo-tabstrip-item-border, transparent);
  color: var(--kendo-tabstrip-item-text, var(--kendo-component-text, initial));
  background-color: var(--kendo-tabstrip-item-bg, transparent);
}
.k-tabstrip-items-wrapper .k-item:hover, .k-tabstrip-items-wrapper .k-item.k-hover {
  border-color: var(--kendo-tabstrip-item-hover-border, var(--kendo-hover-bg, inherit));
  color: var(--kendo-tabstrip-item-hover-text, var(--kendo-hover-text, inherit));
  background-color: var(--kendo-tabstrip-item-hover-bg, var(--kendo-hover-bg, inherit));
}
.k-tabstrip-items-wrapper .k-item:focus, .k-tabstrip-items-wrapper .k-item.k-focus {
  box-shadow: var(--kendo-tabstrip-item-focus-shadow, inset 0 0 0 1px var(--kendo-color-base-emphasis, #605e5c));
}
.k-tabstrip-items-wrapper .k-item:active, .k-tabstrip-items-wrapper .k-item.k-active, .k-tabstrip-items-wrapper .k-item.k-selected {
  color: var(--kendo-tabstrip-item-selected-text, var(--kendo-color-on-app-surface, #323130));
  background-color: var(--kendo-tabstrip-item-selected-bg, var(--kendo-component-bg, transparent));
}
.k-tabstrip-items-wrapper .k-item:active:hover, .k-tabstrip-items-wrapper .k-item:active.k-hover, .k-tabstrip-items-wrapper .k-item.k-active:hover, .k-tabstrip-items-wrapper .k-item.k-active.k-hover, .k-tabstrip-items-wrapper .k-item.k-selected:hover, .k-tabstrip-items-wrapper .k-item.k-selected.k-hover {
  background-color: var(--kendo-tabstrip-item-hover-bg, var(--kendo-hover-bg, inherit));
}
.k-tabstrip-items-wrapper .k-item:disabled, .k-tabstrip-items-wrapper .k-item[disabled], .k-tabstrip-items-wrapper .k-item.k-disabled {
  border-color: var(--kendo-tabstrip-item-disabled-border, var(--kendo-disabled-border, initial));
  color: var(--kendo-tabstrip-item-disabled-text, var(--kendo-disabled-text, initial));
  background-color: var(--kendo-tabstrip-item-disabled-bg, none);
}
.k-tabstrip-items-wrapper .k-item.k-tabstrip-dragging {
  color: var(--kendo-tabstrip-item-dragging-text, var(--kendo-color-primary, #0078d4));
}

.k-tabstrip-content,
.k-tabstrip > .k-content {
  border-color: var(--kendo-tabstrip-content-border, transparent);
  color: var(--kendo-tabstrip-content-text, var(--kendo-component-text, inherit));
  background-color: var(--kendo-tabstrip-content-bg, var(--kendo-component-bg, transparent));
}
.k-tabstrip-content:focus, .k-tabstrip-content.k-focus,
.k-tabstrip > .k-content:focus,
.k-tabstrip > .k-content.k-focus {
  outline-color: var(--kendo-tabstrip-content-focus-border, var(--kendo-component-text, initial));
}

.k-tabstrip-items-wrapper .k-item.k-active::after {
  border-color: var(--kendo-tabstrip-indicator-color, var(--kendo-color-primary, #0078d4));
}

.k-tabstrip-scrollable-overlay.k-tabstrip-top .k-tabstrip-items-wrapper::before, .k-tabstrip-scrollable-overlay.k-tabstrip-bottom .k-tabstrip-items-wrapper::before {
  background: linear-gradient(90deg, var(--kendo-color-app-surface, #ffffff), color-mix(in srgb, var(--kendo-color-app-surface, #ffffff) 0%, transparent));
}
.k-tabstrip-scrollable-overlay.k-tabstrip-top .k-tabstrip-items-wrapper::after, .k-tabstrip-scrollable-overlay.k-tabstrip-bottom .k-tabstrip-items-wrapper::after {
  background: linear-gradient(270deg, var(--kendo-color-app-surface, #ffffff), color-mix(in srgb, var(--kendo-color-app-surface, #ffffff) 0%, transparent));
}
.k-tabstrip-scrollable-overlay.k-tabstrip-left .k-tabstrip-items-wrapper::before, .k-tabstrip-scrollable-overlay.k-tabstrip-right .k-tabstrip-items-wrapper::before {
  background: linear-gradient(180deg, var(--kendo-color-app-surface, #ffffff), color-mix(in srgb, var(--kendo-color-app-surface, #ffffff) 0%, transparent));
}
.k-tabstrip-scrollable-overlay.k-tabstrip-left .k-tabstrip-items-wrapper::after, .k-tabstrip-scrollable-overlay.k-tabstrip-right .k-tabstrip-items-wrapper::after {
  background: linear-gradient(360deg, var(--kendo-color-app-surface, #ffffff), color-mix(in srgb, var(--kendo-color-app-surface, #ffffff) 0%, transparent));
}

:is(.k-rtl .k-tabstrip-scrollable-overlay, [dir=rtl] .k-tabstrip-scrollable-overlay, .k-tabstrip-scrollable-overlay.k-rtl, .k-tabstrip-scrollable-overlay[dir=rtl]).k-tabstrip-top .k-tabstrip-items-wrapper::before, :is(.k-rtl .k-tabstrip-scrollable-overlay, [dir=rtl] .k-tabstrip-scrollable-overlay, .k-tabstrip-scrollable-overlay.k-rtl, .k-tabstrip-scrollable-overlay[dir=rtl]).k-tabstrip-bottom .k-tabstrip-items-wrapper::before {
  background: linear-gradient(270deg, var(--kendo-color-app-surface, #ffffff), color-mix(in srgb, var(--kendo-color-app-surface, #ffffff) 0%, transparent));
}
:is(.k-rtl .k-tabstrip-scrollable-overlay, [dir=rtl] .k-tabstrip-scrollable-overlay, .k-tabstrip-scrollable-overlay.k-rtl, .k-tabstrip-scrollable-overlay[dir=rtl]).k-tabstrip-top .k-tabstrip-items-wrapper::after, :is(.k-rtl .k-tabstrip-scrollable-overlay, [dir=rtl] .k-tabstrip-scrollable-overlay, .k-tabstrip-scrollable-overlay.k-rtl, .k-tabstrip-scrollable-overlay[dir=rtl]).k-tabstrip-bottom .k-tabstrip-items-wrapper::after {
  background: linear-gradient(90deg, var(--kendo-color-app-surface, #ffffff), color-mix(in srgb, var(--kendo-color-app-surface, #ffffff) 0%, transparent));
}

.k-wizard {
  padding-inline: var(--kendo-wizard-padding-x, var(--kendo-spacing-6, 1.5rem));
  padding-block: var(--kendo-wizard-padding-y, var(--kendo-spacing-6, 1.5rem));
  border-width: var(--kendo-wizard-border-width, 0px);
  border-style: solid;
  box-sizing: border-box;
  outline: 0;
  font-size: var(--kendo-wizard-font-size, var(--kendo-font-size, inherit));
  line-height: var(--kendo-wizard-line-height, var(--kendo-line-height, normal));
  font-family: var(--kendo-wizard-font-family, var(--kendo-font-family, inherit));
  position: relative;
  color: inherit;
  background: none;
  display: flex;
  align-items: stretch;
  overflow: hidden;
}
.k-wizard .k-wizard-steps {
  box-sizing: border-box;
  display: flex;
  overflow: hidden;
}
.k-wizard .k-wizard-step {
  box-sizing: border-box;
  padding-inline: var(--kendo-wizard-content-padding-x, var(--kendo-spacing-0, 0px));
  padding-block: var(--kendo-wizard-content-padding-y, var(--kendo-spacing-0, 0px));
  width: 100%;
  display: flex;
  flex-direction: column;
  align-items: stretch;
  justify-content: space-between;
}
.k-wizard .k-wizard-step:focus, .k-wizard .k-wizard-step.k-focus {
  outline-width: 1px;
  outline-style: solid;
  outline-offset: -1px;
}
.k-wizard .k-wizard-content {
  padding-inline: var(--kendo-wizard-content-padding-x, var(--kendo-spacing-0, 0px));
  padding-block: var(--kendo-wizard-content-padding-y, var(--kendo-spacing-0, 0px));
  box-sizing: border-box;
  overflow-y: auto;
}
.k-wizard .k-wizard-buttons {
  margin-block-start: var(--kendo-wizard-buttons-margin-y, var(--kendo-spacing-6, 1.5rem));
  box-sizing: border-box;
  display: flex;
  flex-wrap: nowrap;
  align-items: center;
  justify-content: space-between;
  flex-shrink: 0;
}
.k-wizard .k-wizard-buttons .k-button {
  margin-inline-end: var(--kendo-wizard-buttons-margin-x, var(--kendo-spacing-7, 1.75rem));
}
.k-wizard .k-wizard-buttons .k-wizard-pager {
  vertical-align: middle;
}
.k-wizard .k-wizard-buttons-right .k-button:last-of-type {
  margin-inline-end: 0;
}
.k-wizard .k-stepper .k-step-list-vertical .k-step {
  flex: 1 0 auto;
}
.k-wizard .k-stepper .k-step-indicator {
  flex-shrink: 0;
}

.k-wizard-horizontal {
  flex-direction: column;
}
.k-wizard-horizontal .k-wizard-steps {
  margin-block-start: var(--kendo-wizard-content-padding-y, var(--kendo-spacing-0, 0px));
}
.k-wizard-horizontal .k-wizard-steps,
.k-wizard-horizontal .k-wizard-content {
  flex: 1 1 auto;
}

.k-wizard-vertical .k-wizard-steps {
  flex: 1 0 0%;
}
.k-wizard-vertical .k-wizard-content {
  flex: 1 1 0%;
}
.k-wizard-vertical .k-wizard-steps {
  margin-inline-start: var(--kendo-wizard-steps-padding-x, var(--kendo-spacing-3, 0.75rem));
}

.k-wizard-left {
  flex-direction: row-reverse;
}
.k-wizard-left .k-wizard-steps {
  margin-inline-end: var(--kendo-wizard-content-padding-x, var(--kendo-spacing-0, 0px));
  margin-inline-start: 0;
}

.k-wizard-step .k-wizard-content {
  color: var(--kendo-wizard-content-text, var(--kendo-component-text, initial));
  background-color: var(--kendo-wizard-content-bg, var(--kendo-component-bg, initial));
}
.k-wizard-step:focus, .k-wizard-step.k-focus {
  outline-color: var(--kendo-wizard-step-focus-border, var(--kendo-color-base-emphasis, #605e5c));
}

.k-expander {
  border-width: var(--kendo-expander-border-width, 1px);
  border-style: solid;
  box-sizing: border-box;
  font-size: var(--kendo-expander-font-size, var(--kendo-font-size, inherit));
  font-family: var(--kendo-expander-font-family, var(--kendo-font-family, inherit));
  line-height: var(--kendo-expander-line-height, var(--kendo-line-height, normal));
  position: relative;
  display: flex;
  flex-direction: column;
  overflow: hidden;
  outline: 0;
  -webkit-touch-callout: none;
  -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
}
.k-expander *,
.k-expander *::before,
.k-expander *::after {
  box-sizing: border-box;
}
.k-expander.k-focus {
  border-width: 0;
}
.k-expander.k-focus::after {
  content: "";
  position: absolute;
  border: medium none;
  inset: var(--kendo-expander-focus-offset, 1px);
  outline-width: var(--kendo-expander-focus-outline-width, 1px);
  outline-style: var(--kendo-expander-focus-outline-style, solid);
  z-index: 1;
  pointer-events: none;
}

.k-expander-header {
  padding-inline: var(--kendo-expander-header-padding-x, var(--kendo-spacing-4, 1rem));
  padding-block: var(--kendo-expander-header-padding-y, var(--kendo-spacing-3, 0.75rem));
  display: flex;
  justify-content: space-between;
  align-items: center;
  cursor: pointer;
}

.k-expander-spacer {
  flex: 1 1 auto;
}

.k-expander-title {
  font-weight: 400;
}

.k-expander-indicator {
  margin-inline-start: var(--kendo-expander-indicator-margin-x, var(--kendo-spacing-2\.5, 0.625rem));
  display: flex;
  justify-content: center;
  align-items: center;
}

.k-expander-content {
  padding-inline: var(--kendo-expander-content-padding-x, var(--kendo-spacing-4, 1rem));
  padding-block: var(--kendo-expander-content-padding-y, var(--kendo-spacing-4, 1rem));
}

.k-expander + .k-expander.k-expanded,
.k-expander.k-expanded + .k-expander {
  margin-top: var(--kendo-expander-margin-y, var(--kendo-spacing-2, 0.5rem));
}

.k-expander:not(.k-expanded) + .k-expander:not(.k-expanded) {
  border-top-width: 0;
}

.k-expander {
  border-color: var(--kendo-expander-border, var(--kendo-component-border, initial));
  color: var(--kendo-expander-text, var(--kendo-component-text, initial));
  background-color: var(--kendo-expander-bg, var(--kendo-color-surface, #faf9f8));
}
.k-expander.k-expanded {
  background-color: var(--kendo-expander-expanded-bg, var(--kendo-component-bg, initial));
}
.k-expander.k-focus {
  background-color: var(--kendo-expander-focus-bg, var(--kendo-component-bg, initial));
}
.k-expander.k-focus::after {
  outline-color: var(--kendo-expander-focus-outline, var(--kendo-color-base-emphasis, #605e5c));
}
.k-expander:disabled, .k-expander.k-disabled {
  color: var(--kendo-expander-disabled-text, var(--kendo-disabled-text, initial));
}
.k-expander:disabled .k-expander-header,
.k-expander:disabled .k-expander-title,
.k-expander:disabled .k-expander-sub-title,
.k-expander:disabled .k-expander-indicator, .k-expander.k-disabled .k-expander-header,
.k-expander.k-disabled .k-expander-title,
.k-expander.k-disabled .k-expander-sub-title,
.k-expander.k-disabled .k-expander-indicator {
  color: var(--kendo-expander-disabled-text, var(--kendo-disabled-text, initial));
  background-color: var(--kendo-expander-disabled-bg, var(--kendo-disabled-bg, initial));
}

.k-expander-header {
  color: var(--kendo-expander-header-text, var(--kendo-color-primary, #0078d4));
  background-color: var(--kendo-expander-header-bg, inherit);
  outline: none;
}
.k-expander-header:hover, .k-expander-header.k-hover {
  background-color: var(--kendo-expander-header-hover-bg, var(--kendo-color-base-hover, #f3f2f1));
}

.k-expander-title {
  color: var(--kendo-expander-title-text, var(--kendo-color-primary, #0078d4));
}

.k-expander-sub-title {
  color: var(--kendo-expander-header-sub-title-text, var(--kendo-subtle-text, initial));
}

.k-expander-indicator {
  color: var(--kendo-expander-indicator-text, var(--kendo-expander-text, var(--kendo-component-text, initial)));
}

.k-block,
.k-panel {
  border-radius: var(--kendo-border-radius-md, 0.25rem);
  padding: 0;
  border-width: 1px;
  border-style: solid;
  box-sizing: border-box;
}
.k-block > .k-header,
.k-panel > .k-header {
  border-top-left-radius: var(--kendo-border-radius-md, 0.25rem);
  border-top-right-radius: var(--kendo-border-radius-md, 0.25rem);
  border-color: var(--kendo-component-border, color-mix(in srgb, var(--kendo-color-border, #8a8886) 16%, transparent));
  color: var(--kendo-component-text, var(--kendo-color-on-app-surface, #323130));
  background-color: var(--kendo-component-bg, var(--kendo-color-surface-alt, #ffffff));
  padding-inline: var(--kendo-spacing-2, 0.5rem);
  padding-block: var(--kendo-spacing-1, 0.25rem);
}
.k-block > .k-content,
.k-panel > .k-content {
  padding-inline: var(--kendo-spacing-2, 0.5rem);
  padding-block: var(--kendo-spacing-1, 0.25rem);
}

.k-block,
.k-panel {
  border-color: var(--kendo-panel-border, var(--kendo-component-border, color-mix(in srgb, var(--kendo-color-border, #8a8886) 16%, transparent)));
  color: var(--kendo-panel-text, var(--kendo-component-text, var(--kendo-color-on-app-surface, #323130)));
  background-color: var(--kendo-panel-bg, var(--kendo-component-bg, var(--kendo-color-surface-alt, #ffffff)));
}

:where(.k-content) {
  border-color: var(--kendo-panel-border, var(--kendo-component-border, color-mix(in srgb, var(--kendo-color-border, #8a8886) 16%, transparent)));
  color: var(--kendo-panel-text, var(--kendo-component-text, var(--kendo-color-on-app-surface, #323130)));
  background-color: var(--kendo-panel-bg, var(--kendo-component-bg, var(--kendo-color-surface-alt, #ffffff)));
}

.k-panelbar {
  margin: 0;
  padding: 0;
  border-width: var(--kendo-panelbar-border-width, 1px);
  border-style: var(--kendo-panelbar-border-style, solid);
  box-sizing: border-box;
  outline: 0;
  font-family: var(--kendo-panelbar-font-family, var(--kendo-font-family, inherit));
  font-size: var(--kendo-panelbar-font-size, var(--kendo-font-size, inherit));
  line-height: var(--kendo-panelbar-line-height, var(--kendo-line-height, inherit));
  list-style: none;
  display: block;
  position: relative;
  -webkit-touch-callout: none;
  -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
}
.k-panelbar *,
.k-panelbar *::before,
.k-panelbar *::after {
  box-sizing: border-box;
}
.k-panelbar > .k-panelbar-header {
  border-width: 0;
  border-style: var(--kendo-panelbar-item-border-style, solid);
  border-color: inherit;
  display: block;
}
.k-panelbar > .k-panelbar-header > .k-link {
  padding-inline-start: var(--kendo-panelbar-header-padding-x-start, calc(var(--kendo-spacing-2, 0.5rem) * 2 + var(--kendo-icon-size, 1rem)));
  padding-inline-end: var(--kendo-panelbar-header-padding-x-end, var(--kendo-spacing-2, 0.5rem));
  padding-block: var(--kendo-panelbar-header-padding-y, var(--kendo-spacing-3, 0.75rem));
  color: inherit;
  background: none;
  text-decoration: none;
  display: flex;
  flex-flow: row nowrap;
  gap: var(--kendo-icon-spacing, 0.5rem);
  align-items: center;
  align-content: center;
  position: relative;
  user-select: none;
  cursor: default;
  transition: var(--kendo-transition, none);
}
.k-panelbar > .k-panelbar-header > .k-link.k-selected {
  font-weight: var(--kendo-font-weight-bold, 700);
}
.k-panelbar > .k-panelbar-header > .k-link.k-selected::before {
  content: "";
  width: 2px;
  height: 100%;
  position: absolute;
  inset-inline-start: 0;
}
.k-panelbar > .k-panelbar-header + .k-panelbar-header {
  border-top-width: var(--kendo-panelbar-item-border-width, 0);
}
.k-panelbar .k-panelbar-item-icon:first-child {
  position: absolute;
  inset-inline-start: var(--kendo-panelbar-icon-spacing, var(--kendo-spacing-2, 0.5rem));
}
.k-panelbar .k-panelbar-group {
  margin: 0;
  padding: 0;
  border-width: 0;
  border-color: inherit;
  color: inherit;
  background-color: transparent;
  list-style: none;
}
.k-panelbar .k-panelbar-group > .k-panelbar-item {
  display: block;
}
.k-panelbar .k-panelbar-group > .k-panelbar-item > .k-link {
  padding-inline-start: var(--kendo-panelbar-item-padding-x-start, calc(var(--kendo-spacing-2, 0.5rem) * 2 + var(--kendo-icon-size, 1rem)));
  padding-inline-end: var(--kendo-panelbar-item-padding-x-end, var(--kendo-spacing-2, 0.5rem));
  padding-block: var(--kendo-panelbar-item-padding-y, var(--kendo-spacing-3, 0.75rem));
  color: inherit;
  text-decoration: none;
  display: flex;
  flex-flow: row nowrap;
  gap: var(--kendo-panelbar-icon-spacing, var(--kendo-spacing-2, 0.5rem));
  align-items: center;
  align-content: center;
  position: relative;
  user-select: none;
  cursor: default;
  transition: var(--kendo-transition, color 0.2s ease-in-out, background-color 0.2s ease-in-out, border-color 0.2s ease-in-out, box-shadow 0.2s ease-in-out, opacity 0.2s ease-in-out, width 0.2s ease-in-out, height 0.2s ease-in-out);
}
.k-panelbar .k-panelbar-group > .k-panelbar-item > .k-link.k-selected {
  font-weight: var(--kendo-font-weight-bold, 700);
}
.k-panelbar .k-panelbar-group > .k-panelbar-item > .k-link.k-selected::before {
  content: "";
  width: 2px;
  height: 100%;
  position: absolute;
  inset-inline-start: 0;
}
.k-panelbar .k-panelbar-group > .k-panelbar-item.k-level-1 {
  --INTERNAL--kendo-panelbar-link-spacing: calc( var(--kendo-spacing-3, 0.75rem) * 1 );
  --INTERNAL--kendo-panelbar-item-padding: var( --kendo-panelbar-item-padding-x-start, calc(var(--kendo-spacing-2, 0.5rem) * 2 + var(--kendo-icon-size, 1rem)) );
}
.k-panelbar .k-panelbar-group > .k-panelbar-item.k-level-1 .k-link {
  padding-inline-start: calc(var(--INTERNAL--kendo-panelbar-item-padding) + var(--INTERNAL--kendo-panelbar-link-spacing));
}
.k-panelbar .k-panelbar-group > .k-panelbar-item.k-level-1 .k-panelbar-item-icon:first-child {
  inset-inline-start: calc(var(--kendo-panelbar-icon-spacing, var(--kendo-spacing-2, 0.5rem)) + var(--INTERNAL--kendo-panelbar-link-spacing));
}
.k-panelbar .k-panelbar-group > .k-panelbar-item.k-level-2 {
  --INTERNAL--kendo-panelbar-link-spacing: calc( var(--kendo-spacing-3, 0.75rem) * 2 );
  --INTERNAL--kendo-panelbar-item-padding: var( --kendo-panelbar-item-padding-x-start, calc(var(--kendo-spacing-2, 0.5rem) * 2 + var(--kendo-icon-size, 1rem)) );
}
.k-panelbar .k-panelbar-group > .k-panelbar-item.k-level-2 .k-link {
  padding-inline-start: calc(var(--INTERNAL--kendo-panelbar-item-padding) + var(--INTERNAL--kendo-panelbar-link-spacing));
}
.k-panelbar .k-panelbar-group > .k-panelbar-item.k-level-2 .k-panelbar-item-icon:first-child {
  inset-inline-start: calc(var(--kendo-panelbar-icon-spacing, var(--kendo-spacing-2, 0.5rem)) + var(--INTERNAL--kendo-panelbar-link-spacing));
}
.k-panelbar .k-panelbar-group > .k-panelbar-item.k-level-3 {
  --INTERNAL--kendo-panelbar-link-spacing: calc( var(--kendo-spacing-3, 0.75rem) * 3 );
  --INTERNAL--kendo-panelbar-item-padding: var( --kendo-panelbar-item-padding-x-start, calc(var(--kendo-spacing-2, 0.5rem) * 2 + var(--kendo-icon-size, 1rem)) );
}
.k-panelbar .k-panelbar-group > .k-panelbar-item.k-level-3 .k-link {
  padding-inline-start: calc(var(--INTERNAL--kendo-panelbar-item-padding) + var(--INTERNAL--kendo-panelbar-link-spacing));
}
.k-panelbar .k-panelbar-group > .k-panelbar-item.k-level-3 .k-panelbar-item-icon:first-child {
  inset-inline-start: calc(var(--kendo-panelbar-icon-spacing, var(--kendo-spacing-2, 0.5rem)) + var(--INTERNAL--kendo-panelbar-link-spacing));
}
.k-panelbar .k-panelbar-group > .k-panelbar-item.k-level-4 {
  --INTERNAL--kendo-panelbar-link-spacing: calc( var(--kendo-spacing-3, 0.75rem) * 4 );
  --INTERNAL--kendo-panelbar-item-padding: var( --kendo-panelbar-item-padding-x-start, calc(var(--kendo-spacing-2, 0.5rem) * 2 + var(--kendo-icon-size, 1rem)) );
}
.k-panelbar .k-panelbar-group > .k-panelbar-item.k-level-4 .k-link {
  padding-inline-start: calc(var(--INTERNAL--kendo-panelbar-item-padding) + var(--INTERNAL--kendo-panelbar-link-spacing));
}
.k-panelbar .k-panelbar-group > .k-panelbar-item.k-level-4 .k-panelbar-item-icon:first-child {
  inset-inline-start: calc(var(--kendo-panelbar-icon-spacing, var(--kendo-spacing-2, 0.5rem)) + var(--INTERNAL--kendo-panelbar-link-spacing));
}
.k-panelbar .k-panelbar-content {
  display: flow-root;
}
.k-panelbar .k-panelbar-expand,
.k-panelbar .k-panelbar-collapse,
.k-panelbar .k-panelbar-toggle {
  margin-inline-start: auto;
}

.k-panelbar {
  border-color: var(--kendo-panelbar-border, var(--kendo-component-border, initial));
  color: var(--kendo-panelbar-text, var(--kendo-component-text, initial));
  background-color: var(--kendo-panelbar-bg, var(--kendo-component-bg, initial));
}
.k-panelbar > .k-panelbar-header.k-expanded.k-level-0 > .k-link {
  --INTERNAL--kendo-panelbar-header-text: var( --kendo-panelbar-header-expanded-text, inherit );
  --INTERNAL--kendo-panelbar-header-bg: var( --kendo-panelbar-header-expanded-bg, inherit );
  --INTERNAL--kendo-panelbar-header-border: var( --kendo-panelbar-header-expanded-bg, inherit );
}
.k-panelbar > .k-panelbar-header.k-expanded.k-level-0 > .k-link:hover, .k-panelbar > .k-panelbar-header.k-expanded.k-level-0 > .k-link.k-hover {
  --INTERNAL--kendo-panelbar-header-text: var( --kendo-panelbar-header-hover-text, var(--kendo-color-primary-hover, #106ebe) );
  --INTERNAL--kendo-panelbar-header-bg: var( --kendo-panelbar-header-hover-bg, var(--kendo-hover-bg, inherit) );
  --INTERNAL--kendo-panelbar-header-border: var( --kendo-panelbar-header-hover-border, inherit );
}
.k-panelbar > .k-panelbar-header.k-expanded.k-level-0 > .k-link.k-selected {
  --INTERNAL--kendo-panelbar-header-text: var( --kendo-panelbar-header-selected-text, var(--kendo-color-on-app-surface, #323130) );
  --INTERNAL--kendo-panelbar-header-bg: var( --kendo-panelbar-header-selected-bg, var(--kendo-selected-bg, inherit) );
  --INTERNAL--kendo-panelbar-header-border: var( --kendo-panelbar-header-selected-border, inherit );
}
.k-panelbar > .k-panelbar-header > .k-link {
  --INTERNAL--kendo-panelbar-header-text: var( --kendo-panelbar-header-text, var(--kendo-panelbar-text, var(--kendo-component-text, initial)) );
  --INTERNAL--kendo-panelbar-header-bg: var( --kendo-panelbar-header-bg, var(--kendo-panelbar-bg, var(--kendo-component-bg, initial)) );
  --INTERNAL--kendo-panelbar-header-border: var( --kendo-panelbar-header-border, inherit );
  border-color: var(--INTERNAL--kendo-panelbar-header-border, inherit);
  color: var(--INTERNAL--kendo-panelbar-header-text, inherit);
  background-color: var(--INTERNAL--kendo-panelbar-header-bg, inherit);
}
.k-panelbar > .k-panelbar-header > .k-link .k-icon,
.k-panelbar > .k-panelbar-header > .k-link .k-panelbar-item-icon {
  color: var(--kendo-panelbar-text, var(--kendo-component-text, initial));
}
.k-panelbar > .k-panelbar-header > .k-link:hover, .k-panelbar > .k-panelbar-header > .k-link.k-hover {
  --INTERNAL--kendo-panelbar-header-text: var( --kendo-panelbar-header-hover-text, var(--kendo-color-primary-hover, #106ebe) );
  --INTERNAL--kendo-panelbar-header-bg: var( --kendo-panelbar-header-hover-bg, var(--kendo-hover-bg, inherit) );
  --INTERNAL--kendo-panelbar-header-border: var( --kendo-panelbar-header-hover-border, inherit );
}
.k-panelbar > .k-panelbar-header > .k-link:focus, .k-panelbar > .k-panelbar-header > .k-link.k-focus {
  --INTERNAL--kendo-panelbar-header-text: var( --kendo-panelbar-header-focus-text, inherit );
  --INTERNAL--kendo-panelbar-header-bg: var( --kendo-panelbar-header-focus-bg, inherit );
  --INTERNAL--kendo-panelbar-header-border: var( --kendo-panelbar-header-focus-border, inherit );
  box-shadow: var(--kendo-panelbar-header-focus-shadow, inset 0 0 0 1px var(--kendo-color-base-emphasis, #605e5c));
}
.k-panelbar > .k-panelbar-header > .k-link:focus:hover, .k-panelbar > .k-panelbar-header > .k-link:focus.k-hover, .k-panelbar > .k-panelbar-header > .k-link.k-focus:hover, .k-panelbar > .k-panelbar-header > .k-link.k-focus.k-hover {
  --INTERNAL--kendo-panelbar-header-text: var( --kendo-panelbar-header-hover-focus-text, var(--kendo-color-primary-hover, #106ebe) );
  --INTERNAL--kendo-panelbar-header-bg: var( --kendo-panelbar-header-hover-focus-bg, var(--kendo-hover-bg, inherit) );
  --INTERNAL--kendo-panelbar-header-border: var( --kendo-panelbar-header-hover-focus-border,  );
}
.k-panelbar > .k-panelbar-header > .k-link.k-selected {
  --INTERNAL--kendo-panelbar-header-text: var( --kendo-panelbar-header-selected-text, var(--kendo-color-on-app-surface, #323130) );
  --INTERNAL--kendo-panelbar-header-bg: var( --kendo-panelbar-header-selected-bg, var(--kendo-selected-bg, inherit) );
  --INTERNAL--kendo-panelbar-header-border: var( --kendo-panelbar-header-selected-border, inherit );
}
.k-panelbar > .k-panelbar-header > .k-link.k-selected .k-icon,
.k-panelbar > .k-panelbar-header > .k-link.k-selected .k-panelbar-item-icon {
  color: inherit;
}
.k-panelbar > .k-panelbar-header > .k-link.k-selected::before {
  background-color: var(--kendo-panelbar-selected-marker, var(--kendo-color-primary, #0078d4));
}
.k-panelbar > .k-panelbar-header > .k-link.k-selected:hover, .k-panelbar > .k-panelbar-header > .k-link.k-selected.k-hover {
  --INTERNAL--kendo-panelbar-header-text: var( --kendo-panelbar-header-selected-hover-text, var(--kendo-color-primary-hover, #106ebe) );
  --INTERNAL--kendo-panelbar-header-bg: var( --kendo-panelbar-header-selected-hover-bg, var(--kendo-selected-bg, inherit) );
  --INTERNAL--kendo-panelbar-header-border: var( --kendo-panelbar-header-selected-hover-border, inherit );
}
.k-panelbar > .k-panelbar-header > .k-link.k-selected:focus, .k-panelbar > .k-panelbar-header > .k-link.k-selected.k-focus {
  --INTERNAL--kendo-panelbar-header-text: var( --kendo-panelbar-header-selected-focus-text, var(--kendo-color-on-app-surface, #323130) );
  --INTERNAL--kendo-panelbar-header-bg: var( --kendo-panelbar-header-selected-focus-bg, var(--kendo-selected-bg, inherit) );
  --INTERNAL--kendo-panelbar-header-border: var( --kendo-panelbar-header-selected-focus-border, inherit );
}
.k-panelbar > .k-panelbar-header > .k-link.k-selected:focus:hover, .k-panelbar > .k-panelbar-header > .k-link.k-selected:focus.k-hover, .k-panelbar > .k-panelbar-header > .k-link.k-selected.k-focus:hover, .k-panelbar > .k-panelbar-header > .k-link.k-selected.k-focus.k-hover {
  --INTERNAL--kendo-panelbar-header-text: var( --kendo-panelbar-header-selected-hover-focus-text, var(--kendo-color-primary-hover, #106ebe) );
  --INTERNAL--kendo-panelbar-header-bg: var( --kendo-panelbar-header-selected-hover-focus-bg, var(--kendo-selected-bg, inherit) );
  --INTERNAL--kendo-panelbar-header-border: var( --kendo-panelbar-header-selected-hover-focus-border, inherit );
}
.k-panelbar > .k-panelbar-header > .k-link:disabled, .k-panelbar > .k-panelbar-header > .k-link.k-disabled {
  --INTERNAL--kendo-panelbar-header-text: var( --kendo-disabled-text, inherit );
}
.k-panelbar > .k-panelbar-header > .k-link:disabled .k-icon,
.k-panelbar > .k-panelbar-header > .k-link:disabled .k-panelbar-item-icon, .k-panelbar > .k-panelbar-header > .k-link.k-disabled .k-icon,
.k-panelbar > .k-panelbar-header > .k-link.k-disabled .k-panelbar-item-icon {
  color: inherit;
}
.k-panelbar > .k-panelbar-header:disabled, .k-panelbar > .k-panelbar-header.k-disabled {
  background-color: transparent;
}
.k-panelbar > .k-panelbar-header:disabled > .k-link, .k-panelbar > .k-panelbar-header.k-disabled > .k-link {
  --INTERNAL--kendo-panelbar-header-text: var( --kendo-disabled-text, inherit );
}
.k-panelbar > .k-panelbar-header:disabled .k-icon,
.k-panelbar > .k-panelbar-header:disabled .k-panelbar-item-icon, .k-panelbar > .k-panelbar-header.k-disabled .k-icon,
.k-panelbar > .k-panelbar-header.k-disabled .k-panelbar-item-icon {
  color: inherit;
}
.k-panelbar .k-panelbar-group > .k-panelbar-item > .k-link {
  border-color: var(--INTERNAL--kendo-panelbar-item-border, inherit);
  color: var(--INTERNAL--kendo-panelbar-item-text, inherit);
  background-color: var(--INTERNAL--kendo-panelbar-item-bg, inherit);
}
.k-panelbar .k-panelbar-group > .k-panelbar-item > .k-link .k-icon,
.k-panelbar .k-panelbar-group > .k-panelbar-item > .k-link .k-panelbar-item-icon {
  color: var(--kendo-panelbar-text, var(--kendo-component-text, initial));
}
.k-panelbar .k-panelbar-group > .k-panelbar-item > .k-link:hover, .k-panelbar .k-panelbar-group > .k-panelbar-item > .k-link.k-hover {
  --INTERNAL--kendo-panelbar-item-text: var( --kendo-panelbar-item-hover-text, var(--kendo-color-primary-hover, #106ebe) );
  --INTERNAL--kendo-panelbar-item-bg: var( --kendo-panelbar-item-hover-bg, var(--kendo-hover-bg, inherit) );
  --INTERNAL--kendo-panelbar-item-border: var( --kendo-panelbar-item-hover-border, inherit );
}
.k-panelbar .k-panelbar-group > .k-panelbar-item > .k-link:focus, .k-panelbar .k-panelbar-group > .k-panelbar-item > .k-link.k-focus {
  --INTERNAL--kendo-panelbar-item-text: var( --kendo-panelbar-item-focus-text, inherit );
  --INTERNAL--kendo-panelbar-item-bg: var( --kendo-panelbar-item-focus-bg, inherit );
  --INTERNAL--kendo-panelbar-item-border: var( --kendo-panelbar-item-focus-border, inherit );
  box-shadow: var(--kendo-panelbar-item-focus-shadow, inset 0 0 0 1px var(--kendo-color-base-emphasis, #605e5c));
}
.k-panelbar .k-panelbar-group > .k-panelbar-item > .k-link:focus:hover, .k-panelbar .k-panelbar-group > .k-panelbar-item > .k-link:focus.k-hover, .k-panelbar .k-panelbar-group > .k-panelbar-item > .k-link.k-focus:hover, .k-panelbar .k-panelbar-group > .k-panelbar-item > .k-link.k-focus.k-hover {
  --INTERNAL--kendo-panelbar-item-text: var( --kendo-panelbar-item-hover-focus-text, var(--kendo-color-primary-hover, #106ebe) );
  --INTERNAL--kendo-panelbar-item-bg: var( --kendo-panelbar-item-hover-focus-bg, var(--kendo-hover-bg, inherit) );
  --INTERNAL--kendo-panelbar-item-border: var( --kendo-panelbar-item-hover-focus-border, inherit );
}
.k-panelbar .k-panelbar-group > .k-panelbar-item > .k-link.k-selected {
  --INTERNAL--kendo-panelbar-item-text: var( --kendo-panelbar-item-selected-text, var(--kendo-color-on-app-surface, #323130) );
  --INTERNAL--kendo-panelbar-item-bg: var( --kendo-panelbar-item-selected-bg, var(--kendo-selected-bg, inherit) );
  --INTERNAL--kendo-panelbar-item-border: var( --kendo-panelbar-item-selected-border, inherit );
}
.k-panelbar .k-panelbar-group > .k-panelbar-item > .k-link.k-selected::before {
  background-color: var(--kendo-panelbar-selected-marker, var(--kendo-color-primary, #0078d4));
}
.k-panelbar .k-panelbar-group > .k-panelbar-item > .k-link.k-selected:hover, .k-panelbar .k-panelbar-group > .k-panelbar-item > .k-link.k-selected.k-hover {
  --INTERNAL--kendo-panelbar-item-text: var( --kendo-panelbar-item-selected-hover-text, var(--kendo-color-primary-hover, #106ebe) );
  --INTERNAL--kendo-panelbar-item-bg: var( --kendo-panelbar-item-selected-hover-bg, var(--kendo-selected-bg, inherit) );
  --INTERNAL--kendo-panelbar-item-border: var( --kendo-panelbar-item-selected-hover-border, inherit );
}
.k-panelbar .k-panelbar-group > .k-panelbar-item > .k-link.k-selected:focus, .k-panelbar .k-panelbar-group > .k-panelbar-item > .k-link.k-selected.k-focus {
  --INTERNAL--kendo-panelbar-item-text: var( --kendo-panelbar-item-selected-focus-text, var(--kendo-color-on-app-surface, #323130) );
  --INTERNAL--kendo-panelbar-item-bg: var( --kendo-panelbar-item-selected-focus-bg, var(--kendo-selected-bg, inherit) );
  --INTERNAL--kendo-panelbar-item-border: var( --kendo-panelbar-item-selected-focus-border, inherit );
}
.k-panelbar .k-panelbar-group > .k-panelbar-item > .k-link.k-selected:focus:hover, .k-panelbar .k-panelbar-group > .k-panelbar-item > .k-link.k-selected:focus.k-hover, .k-panelbar .k-panelbar-group > .k-panelbar-item > .k-link.k-selected.k-focus:hover, .k-panelbar .k-panelbar-group > .k-panelbar-item > .k-link.k-selected.k-focus.k-hover {
  --INTERNAL--kendo-panelbar-item-text: var( --kendo-panelbar-item-selected-hover-focus-text, var(--kendo-color-primary-hover, #106ebe) );
  --INTERNAL--kendo-panelbar-item-bg: var( --kendo-panelbar-item-selected-hover-focus-bg, var(--kendo-selected-bg, inherit) );
  --INTERNAL--kendo-panelbar-item-border: var( --kendo-panelbar-item-selected-hover-focus-border, inherit );
}
.k-panelbar .k-panelbar-group > .k-panelbar-item > .k-link.k-disabled {
  --INTERNAL--kendo-panelbar-item-text: var( --kendo-disabled-text, inherit );
}
.k-panelbar .k-panelbar-group > .k-panelbar-item > .k-link.k-disabled .k-icon,
.k-panelbar .k-panelbar-group > .k-panelbar-item > .k-link.k-disabled .k-panelbar-item-icon {
  color: inherit;
}
.k-panelbar .k-panelbar-group > .k-panelbar-item:disabled, .k-panelbar .k-panelbar-group > .k-panelbar-item.k-disabled {
  background-color: transparent;
}
.k-panelbar .k-panelbar-group > .k-panelbar-item:disabled > .k-link, .k-panelbar .k-panelbar-group > .k-panelbar-item.k-disabled > .k-link {
  --INTERNAL--kendo-panelbar-item-text: var( --kendo-disabled-text, inherit );
}
.k-panelbar .k-panelbar-group > .k-panelbar-item:disabled .k-icon,
.k-panelbar .k-panelbar-group > .k-panelbar-item:disabled .k-panelbar-item-icon, .k-panelbar .k-panelbar-group > .k-panelbar-item.k-disabled .k-icon,
.k-panelbar .k-panelbar-group > .k-panelbar-item.k-disabled .k-panelbar-item-icon {
  color: inherit;
}

.k-splitter {
  height: 300px;
  border-width: var(--kendo-splitter-border-width, 1px);
  border-style: solid;
  box-sizing: border-box;
  outline: 0;
  font-family: var(--kendo-splitter-font-family, var(--kendo-font-family, initial));
  font-size: var(--kendo-splitter-font-size, var(--kendo-font-size, initial));
  line-height: var(--kendo-splitter-line-height, var(--kendo-line-height, initial));
  display: block;
  position: relative;
  -webkit-touch-callout: none;
  -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
}
.k-splitter .k-pane {
  overflow: hidden;
  box-sizing: border-box;
}
.k-splitter .k-scrollable {
  overflow: auto;
}
.k-splitter .k-splitter-resizing {
  overflow: hidden;
}
.k-splitter .k-pane-loading {
  position: static;
  top: 50%;
  left: 50%;
}

.k-ghost-splitbar,
.k-splitbar {
  border-style: solid;
  outline: 0;
  position: absolute;
  user-select: none;
  touch-action: none;
  display: flex;
  align-items: center;
  justify-content: center;
}
.k-ghost-splitbar .k-collapse-prev,
.k-ghost-splitbar .k-collapse-next,
.k-splitbar .k-collapse-prev,
.k-splitbar .k-collapse-next {
  cursor: pointer;
  padding: var(--kendo-splitter-collapse-icon-padding-y, var(--kendo-spacing-0\.5, 0.125rem)) var(--kendo-splitter-collapse-icon-padding-x, );
}

.k-splitbar-draggable-horizontal {
  cursor: col-resize;
}

.k-splitbar-draggable-vertical {
  cursor: row-resize;
}

.k-ghost-splitbar-horizontal,
.k-splitbar-horizontal {
  width: var(--kendo-splitter-splitbar-size, var(--kendo-spacing-3, 0.75rem));
  border-width: 0;
  background-repeat: repeat-y;
  flex-direction: column;
  top: 0;
}

.k-ghost-splitbar-vertical,
.k-splitbar-vertical {
  height: var(--kendo-splitter-splitbar-size, var(--kendo-spacing-3, 0.75rem));
  border-width: 0;
  background-repeat: repeat-x;
  flex-direction: row;
  left: 0;
}

.k-splitbar-static-horizontal {
  width: var(--kendo-splitter-splitbar-static-size, var(--kendo-spacing-0\.5, 0.125rem));
}

.k-splitbar-static-vertical {
  height: var(--kendo-splitter-splitbar-static-size, var(--kendo-spacing-0\.5, 0.125rem));
}

.k-splitbar-draggable-horizontal .k-resize-handle {
  width: var(--kendo-splitter-drag-handle-thickness, var(--kendo-spacing-0\.5, 0.125rem));
  height: var(--kendo-splitter-drag-handle-length, var(--kendo-spacing-5, 1.25rem));
  position: static;
  z-index: 1;
}

.k-splitbar .k-resize-handle {
  display: none;
  background-color: currentColor;
}

.k-splitbar-draggable-horizontal .k-resize-handle,
.k-splitbar-draggable-vertical .k-resize-handle {
  display: block;
}

.k-splitbar-horizontal .k-collapse-prev {
  margin-block-end: var(--kendo-splitter-drag-icon-margin, var(--kendo-spacing-2, 0.5rem));
}

.k-splitbar-horizontal .k-collapse-next {
  margin-block-start: var(--kendo-splitter-drag-icon-margin, var(--kendo-spacing-2, 0.5rem));
}

.k-splitbar-vertical .k-collapse-prev {
  margin-inline-end: var(--kendo-splitter-drag-icon-margin, var(--kendo-spacing-2, 0.5rem));
}

.k-splitbar-vertical .k-collapse-next {
  margin-inline-start: var(--kendo-splitter-drag-icon-margin, var(--kendo-spacing-2, 0.5rem));
}

.k-splitbar-draggable-vertical .k-resize-handle {
  width: var(--kendo-splitter-drag-handle-length, var(--kendo-spacing-5, 1.25rem));
  height: var(--kendo-splitter-drag-handle-thickness, var(--kendo-spacing-0\.5, 0.125rem));
  position: static;
  z-index: 1;
}

.k-pane > .k-splitter {
  border-width: 0;
  overflow: hidden;
}
.k-pane > .k-splitter-overlay {
  opacity: 0;
  position: absolute;
}

.k-splitter-flex {
  display: flex;
  width: 100%;
  height: auto;
}
.k-splitter-flex .k-pane {
  position: relative;
  flex: 1 1 auto;
  min-width: 0;
  max-width: 100%;
  min-height: 0;
  max-height: 100%;
  height: 100%;
}
.k-splitter-flex .k-pane-static {
  flex-grow: 0;
  flex-shrink: 0;
}
.k-splitter-flex .k-pane-flex {
  display: flex;
}
.k-splitter-flex .k-splitbar {
  position: static;
  flex: 0 0 auto;
}
.k-splitter-flex .k-pane.k-hidden, .k-splitter-flex .k-pane[hidden],
.k-splitter-flex .k-pane-flex.k-hidden,
.k-splitter-flex .k-pane-flex[hidden] {
  flex: 0 1 0% !important;
  overflow: hidden !important;
  display: block !important;
}
.k-splitter-flex.k-splitter-horizontal {
  flex-direction: row;
}
.k-splitter-flex.k-splitter-vertical {
  flex-direction: column;
}

.k-splitter {
  border-color: var(--kendo-splitter-border, var(--kendo-component-border, initial));
  color: var(--kendo-splitter-text, var(--kendo-component-text, initial));
  background-color: var(--kendo-splitter-bg, var(--kendo-component-bg, initial));
}

.k-splitbar {
  color: var(--kendo-splitbar-text, var(--kendo-component-text, initial));
  background-color: var(--kendo-splitbar-bg, var(--kendo-color-surface, #faf9f8));
}

.k-splitbar:hover,
.k-splitbar.k-hover,
.k-splitbar-horizontal-hover,
.k-splitbar-vertical-hover {
  color: var(--kendo-splitbar-hover-text, var(--kendo-component-text, initial));
  background-color: var(--kendo-splitbar-hover-bg, var(--kendo-color-base-hover, #f3f2f1));
}

.k-splitbar:focus,
.k-splitbar.k-focus {
  color: var(--kendo-splitbar-selected-text, var(--kendo-component-bg, inherit));
  background: var(--kendo-splitbar-selected-bg, var(--kendo-color-primary, #0078d4));
}

.k-ghost-splitbar {
  background-color: var(--kendo-splitbar-hover-bg, var(--kendo-color-base-hover, #f3f2f1));
}

.k-tilelayout {
  border-width: var(--kendo-tile-layout-border-width, 0px);
  border-style: solid;
  box-sizing: border-box;
  outline: 0;
  display: grid;
  position: relative;
  padding-block: var(--kendo-tile-layout-padding-y, var(--kendo-spacing-4, 1rem));
  padding-inline: var(--kendo-tile-layout-padding-x, var(--kendo-spacing-4, 1rem));
  -webkit-touch-callout: none;
  -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
}

.k-tilelayout-item {
  position: relative;
  z-index: 0;
}

.k-layout-item-hint {
  border-radius: var(--kendo-tile-layout-hint-border-radius, var(--kendo-border-radius-lg, initial));
  border-width: var(--kendo-tile-layout-hint-border-width, 1px);
  border-style: solid;
  position: relative;
}
.k-layout-item-hint.k-layout-item-hint-resize {
  z-index: 3;
}

.k-tilelayout-item-header.k-card-header {
  z-index: 0;
}

.k-tilelayout-item-body {
  min-height: 0;
}

.k-tilelayout {
  background-color: var(--kendo-tile-layout-bg, var(--kendo-color-surface, #faf9f8));
}

.k-layout-item-hint {
  border-color: var(--kendo-tile-layout-hint-border, var(--kendo-component-border, initial));
  background-color: var(--kendo-tile-layout-hint-bg, rgba(255, 255, 255, 0.2));
}

.k-grid-flow-row {
  grid-auto-flow: row;
}

.\!k-grid-flow-row {
  grid-auto-flow: row !important;
}

.k-grid-flow-col {
  grid-auto-flow: column;
}

.\!k-grid-flow-col {
  grid-auto-flow: column !important;
}

.k-grid-flow-dense {
  grid-auto-flow: dense;
}

.\!k-grid-flow-dense {
  grid-auto-flow: dense !important;
}

.k-grid-flow-row-dense {
  grid-auto-flow: row dense;
}

.\!k-grid-flow-row-dense {
  grid-auto-flow: row dense !important;
}

.k-grid-flow-col-dense {
  grid-auto-flow: column dense;
}

.\!k-grid-flow-col-dense {
  grid-auto-flow: column dense !important;
}

.k-grid-flow-unset {
  grid-auto-flow: unset;
}

.\!k-grid-flow-unset {
  grid-auto-flow: unset !important;
}

.k-justify-items-normal {
  justify-items: normal;
}

.\!k-justify-items-normal {
  justify-items: normal !important;
}

.k-justify-items-stretch {
  justify-items: stretch;
}

.\!k-justify-items-stretch {
  justify-items: stretch !important;
}

.k-justify-items-center {
  justify-items: center;
}

.\!k-justify-items-center {
  justify-items: center !important;
}

.k-justify-items-start {
  justify-items: start;
}

.\!k-justify-items-start {
  justify-items: start !important;
}

.k-justify-items-end {
  justify-items: end;
}

.\!k-justify-items-end {
  justify-items: end !important;
}

.k-justify-items-flex-start {
  justify-items: flex-start;
}

.\!k-justify-items-flex-start {
  justify-items: flex-start !important;
}

.k-justify-items-flex-end {
  justify-items: flex-end;
}

.\!k-justify-items-flex-end {
  justify-items: flex-end !important;
}

.k-justify-items-self-start {
  justify-items: self-start;
}

.\!k-justify-items-self-start {
  justify-items: self-start !important;
}

.k-justify-items-self-end {
  justify-items: self-end;
}

.\!k-justify-items-self-end {
  justify-items: self-end !important;
}

.k-justify-items-left {
  justify-items: left;
}

.\!k-justify-items-left {
  justify-items: left !important;
}

.k-justify-items-right {
  justify-items: right;
}

.\!k-justify-items-right {
  justify-items: right !important;
}

.k-justify-items-baseline {
  justify-items: baseline;
}

.\!k-justify-items-baseline {
  justify-items: baseline !important;
}

.k-justify-items-first-baseline {
  justify-items: first baseline;
}

.\!k-justify-items-first-baseline {
  justify-items: first baseline !important;
}

.k-justify-items-last-baseline {
  justify-items: last baseline;
}

.\!k-justify-items-last-baseline {
  justify-items: last baseline !important;
}

.k-dock-manager {
  width: 100%;
  height: 100%;
  border-width: var(--kendo-dock-manager-border-width, 1px);
  border-style: var(--kendo-dock-manager-border-style, solid);
  position: relative;
  display: flex;
  flex-flow: row nowrap;
  overflow: auto;
  box-sizing: border-box;
}

.k-dock-manager-toolbar {
  border-width: 0 1px 0 0;
  border-color: inherit;
  flex-shrink: 0;
  writing-mode: vertical-lr;
}
.k-dock-manager-toolbar::before {
  height: 0;
}
.k-dock-manager-toolbar .k-separator-horizontal {
  width: calc(1.4285714286 * 1em);
  height: 0;
  border-width: var(--kendo-dock-manager-border-width, 1px) 0 0;
}

.k-dock-manager-pane-container {
  width: 100%;
  height: 100%;
  display: flex;
  flex-grow: 1;
  overflow: hidden;
}

.k-dock-manager-splitter,
.k-dock-manager-unpinned-container {
  height: 100%;
  border-width: 0;
  align-items: stretch;
}
.k-dock-manager-splitter > .k-pane,
.k-dock-manager-unpinned-container > .k-pane {
  height: auto;
  flex-direction: column;
  border-color: inherit;
}
.k-dock-manager-splitter .k-pane-header,
.k-dock-manager-unpinned-container .k-pane-header {
  display: flex;
  align-items: center;
  justify-content: center;
  padding-block: var(--kendo-dock-manager-pane-header-padding-y, var(--kendo-spacing-1, 0.25rem));
  padding-inline: var(--kendo-dock-manager-pane-header-padding-x, var(--kendo-spacing-6, 1.5rem));
  border-block-end-width: var(--kendo-dock-manager-pane-header-border-width, 1px);
  border-block-end-style: var(--kendo-dock-manager-pane-header-border-style, solid);
  border-color: inherit;
}
.k-dock-manager-splitter .k-pane-title,
.k-dock-manager-unpinned-container .k-pane-title {
  padding-block: var(--kendo-dock-manager-pane-title-padding-y, );
  padding-inline: var(--kendo-dock-manager-pane-title-padding-x, );
  font-family: var(--kendo-dock-manager-pane-title-font-family, Segoe UI, -apple-system, BlinkMacSystemFont, Roboto, Helvetica Neue, sans-serif);
  font-size: var(--kendo-dock-manager-pane-title-font-size, var(--kendo-font-size-lg, inherit));
  line-height: var(--kendo-dock-manager-pane-title-line-height, var(--kendo-line-height, normal));
  font-weight: var(--kendo-dock-manager-pane-title-font-weight, var(--kendo-font-weight, normal));
  flex: 1 1 auto;
  white-space: nowrap;
  text-overflow: ellipsis;
  overflow: hidden;
}
.k-dock-manager-splitter .k-pane-scrollable,
.k-dock-manager-unpinned-container .k-pane-scrollable {
  height: 100%;
  display: flex;
  flex-direction: column;
  border-color: inherit;
}
.k-dock-manager-splitter .k-pane-content,
.k-dock-manager-unpinned-container .k-pane-content {
  height: 100%;
  padding-block: var(--kendo-dock-manager-pane-content-padding-y, var(--kendo-spacing-3, 0.75rem));
  padding-inline: var(--kendo-dock-manager-pane-content-padding-x, var(--kendo-spacing-3, 0.75rem));
  overflow: auto;
  flex: 1;
}
.k-dock-manager-splitter .k-pane-actions,
.k-dock-manager-unpinned-container .k-pane-actions {
  display: flex;
  flex-flow: row nowrap;
  align-items: center;
  justify-content: center;
}
.k-dock-manager-splitter .k-pane-tabbed,
.k-dock-manager-unpinned-container .k-pane-tabbed {
  padding-block: var(--kendo-dock-manager-tabbed-pane-padding-y, );
  padding-inline: var(--kendo-dock-manager-tabbed-pane-padding-x, );
}
.k-dock-manager-splitter .k-splitbar,
.k-dock-manager-unpinned-container .k-splitbar {
  border-width: 0 1px;
  border-style: solid;
  border-color: inherit;
}
.k-dock-manager-splitter .k-splitbar-vertical,
.k-dock-manager-unpinned-container .k-splitbar-vertical {
  border-width: 1px 0;
}

.k-dock-manager-unpinned-container {
  width: var(--kendo-dock-manager-unpinned-container-width, 300px);
  position: absolute;
  display: flex;
  height: 100%;
  border-color: inherit;
  z-index: 20;
}
.k-dock-manager-unpinned-container .k-pane {
  display: inline-flex;
  flex-direction: column;
  position: relative;
  flex: 1 1 auto;
  width: 100%;
}
.k-dock-manager-unpinned-container .k-splitbar {
  height: 100%;
  position: relative;
  flex: none;
}

.k-docking-preview {
  display: flex;
  position: absolute;
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
  border-width: var(--kendo-dock-manager-dock-preview-border-width, 1px);
  border-style: var(--kendo-dock-manager-dock-preview-border-style, dashed);
  border-radius: var(--kendo-dock-manager-dock-preview-border-radius, var(--kendo-border-radius-md, 0));
}

.k-dock-manager-window:has(.k-pane) .k-window-content {
  padding: 0;
}

.k-dock-manager {
  border-color: var(--kendo-dock-manager-border, var(--kendo-component-border, inherit));
}

.k-dock-manager-splitter .k-pane-header,
.k-dock-manager-unpinned-container .k-pane-header {
  background-color: var(--kendo-dock-manager-pane-header-bg, var(--kendo-component-bg, inherit));
}
.k-dock-manager-splitter .k-pane-header > .k-pane-title,
.k-dock-manager-unpinned-container .k-pane-header > .k-pane-title {
  color: var(--kendo-dock-manager-pane-header-text, var(--kendo-color-primary, #0078d4));
}

.k-dock-manager-unpinned-container {
  background-color: var(--kendo-dock-manager-unpinned-container-bg, var(--kendo-color-app-surface, #ffffff));
  box-shadow: 25.6px 0px 57.6px 0px rgba(0, 0, 0, 0.22), 4.8px 0px 14.4px 0px rgba(0, 0, 0, 0.18);
}

.k-docking-preview {
  background-color: var(--kendo-dock-manager-dock-preview-bg, color-mix(in srgb, var(--kendo-color-primary, #0078d4) 20%, transparent));
  border-color: var(--kendo-dock-manager-dock-preview-border, var(--kendo-color-primary, #0078d4));
}

.k-dock-navigator-container {
  width: 100%;
  height: 100%;
  display: flex;
  flex-direction: column;
  align-items: center;
  position: absolute;
  z-index: 10001;
  pointer-events: none;
}

.k-dock-navigator {
  display: grid;
  grid-template-columns: repeat(3, auto);
  grid-template-rows: repeat(3, auto);
  justify-content: center;
  position: absolute;
}

.k-dock-indicator {
  padding: var(--kendo-dock-indicator-padding, var(--kendo-spacing-1\.5, 0.375rem));
  display: inline-flex;
  align-items: center;
  justify-content: center;
  box-sizing: border-box;
  position: relative;
  pointer-events: all;
  outline-width: var(--kendo-dock-indicator-outline-width, 1px);
  outline-style: var(--kendo-dock-indicator-outline-style, solid);
}
.k-dock-indicator.k-dock-indicator-middle {
  box-shadow: none;
}

.k-dock-indicator-top {
  grid-area: 1/2/auto;
}

.k-dock-indicator-right {
  grid-area: 2/3/auto;
}

.k-dock-indicator-bottom {
  grid-area: 3/2/auto;
}

.k-dock-indicator-left {
  grid-area: 2/1/auto;
}

.k-dock-indicator-middle {
  grid-area: 2/2/auto;
}

.k-dock-indicator {
  background-color: var(--kendo-dock-indicator-bg, var(--kendo-color-surface-alt, #ffffff));
  color: var(--kendo-dock-indicator-text, var(--kendo-color-primary, #0078d4));
  outline-color: var(--kendo-dock-indicator-outline, var(--kendo-color-primary, #0078d4));
  box-shadow: var(--kendo-dock-indicator-shadow, 0px 1px 18px 0px rgba(0, 0, 0, 0.12), 0px 6px 10px 0px rgba(0, 0, 0, 0.14), 0px 3px 5px -1px rgba(0, 0, 0, 0.2));
}
.k-dock-indicator:hover, .k-dock-indicator.k-hover {
  background-color: var(--kendo-dock-indicator-hover-bg, var(--kendo-color-primary-hover, #106ebe));
  color: var(--kendo-dock-indicator-hover-text, var(--kendo-color-app-surface, #ffffff));
}

.k-barcode {
  display: inline-block;
}
.k-barcode > div {
  height: 150px;
}

.k-chart,
.k-sparkline,
.k-stockchart {
  border-width: var(--kendo-chart-border-width, 0px);
  border-style: solid;
  box-sizing: border-box;
  outline: 0;
  font-family: var(--kendo-chart-font-family, var(--kendo-font-family, inherit));
  font-size: var(--kendo-chart-font-size, var(--kendo-font-size, inherit));
  line-height: var(--kendo-chart-line-height, var(--kendo-line-height, normal));
  -webkit-touch-callout: none;
  -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
}

.k-chart,
.k-stockchart {
  display: block;
  height: 400px;
}

.k-chart-surface {
  height: 100%;
}

.k-chart .k-popup {
  border-width: 0;
}

.k-chart-tooltip-wrapper .k-animation-container-shown,
.k-chart-tooltip-wrapper.k-animation-container-shown {
  border-radius: var(--kendo-border-radius-md, 0.25rem);
  transition: left ease-in 80ms, top ease-in 80ms;
}

.k-sparkline-tooltip-wrapper,
.k-chart-tooltip-wrapper {
  z-index: 12000;
}
.k-sparkline-tooltip-wrapper .k-popup,
.k-chart-tooltip-wrapper .k-popup {
  border-radius: var(--kendo-border-radius-md, 0.25rem);
  padding: 0;
  border-width: 0;
  background: transparent;
}

.k-chart-tooltip table {
  border-spacing: 0;
  border-collapse: collapse;
}

.k-chart-tooltip {
  border-radius: var(--kendo-border-radius-md, 0.25rem);
  font-size: var(--kendo-chart-tooltip-font-size, var(--kendo-font-size-sm, inherit));
  line-height: var(--kendo-chart-tooltip-line-height, var(--kendo-line-height-sm, normal));
  padding-inline: var(--kendo-chart-tooltip-padding-x, var(--kendo-spacing-2, 0.5rem));
  padding-block: var(--kendo-chart-tooltip-padding-y, var(--kendo-spacing-2, 0.5rem));
}

.k-chart-tooltip th {
  width: auto;
  text-align: center;
  padding: 1px;
}

.k-chart-tooltip td {
  width: auto;
  text-align: start;
  padding-inline: var(--kendo-chart-tooltip-padding-x, var(--kendo-spacing-1, 0.25rem));
  padding-block: var(--kendo-chart-tooltip-padding-y, var(--kendo-spacing-0\.5, 0.125rem));
  line-height: var(--kendo-chart-tooltip-line-height, var(--kendo-line-height-sm, normal));
  vertical-align: middle;
}

.k-chart-crosshair-tooltip,
.k-chart-shared-tooltip {
  border-width: 1px;
  border-style: solid;
}

.k-chart-shared-tooltip .k-chart-shared-tooltip-marker {
  display: block;
  width: 15px;
  height: 3px;
  vertical-align: middle;
}

.k-selector {
  position: absolute;
  transform: translateZ(0);
}

.k-selection {
  position: absolute;
  height: 100%;
  border-width: 1px;
  border-style: solid;
  border-bottom: 0;
}

.k-selection-bg {
  position: absolute;
  width: 100%;
  height: 100%;
}

.k-handle {
  border-radius: 50%;
  width: var(--kendo-selection-handle-size, 24px);
  height: var(--kendo-selection-handle-size, 24px);
  border-width: 1px;
  border-style: solid;
  z-index: 1;
  position: absolute;
  box-sizing: content-box;
}

.k-handle div {
  width: 100%;
  height: 100%;
}

.k-left-handle {
  inset-inline-start: calc(var(--kendo-selection-handle-size, 24px) / -2);
}

.k-right-handle {
  inset-inline-end: calc(var(--kendo-selection-handle-size, 24px) / -2);
}

.k-left-handle div {
  margin-block-start: calc(var(--kendo-selection-handle-size, 24px) * -1);
  margin-inline-start: calc(var(--kendo-selection-handle-size, 24px) / -1.5);
  padding-block-start: calc(var(--kendo-selection-handle-size, 24px) * 2);
  padding-inline-end: calc(var(--kendo-selection-handle-size, 24px) / 1.5 * 2);
}

.k-right-handle div {
  margin-block-start: calc(var(--kendo-selection-handle-size, 24px) * -1);
  margin-inline-start: calc(var(--kendo-selection-handle-size, 24px) / -1.5);
  padding-block-start: calc(var(--kendo-selection-handle-size, 24px) * 2);
  padding-inline-start: calc(var(--kendo-selection-handle-size, 24px) / 1.5 * 2);
}

.k-left-handle.k-handle-active div {
  margin-inline-start: calc(var(--kendo-selection-handle-size, 24px) * 2);
  padding-inline-start: calc(var(--kendo-selection-handle-size, 24px) * 2 + var(--kendo-selection-handle-size, 24px) / 1.5);
}

.k-right-handle.k-handle-active div {
  margin-inline-start: calc(var(--kendo-selection-handle-size, 24px) * 2);
  padding-inline-end: calc(var(--kendo-selection-handle-size, 24px) * 2 + var(--kendo-selection-handle-size, 24px) / 1.5);
}

.k-mask {
  position: absolute;
  height: 100%;
}

.k-navigator-hint div {
  position: absolute;
}

.k-navigator-hint .k-scroll {
  border-radius: var(--kendo-border-radius-md, 0.25rem);
  position: absolute;
  height: 4px;
}

.k-navigator-hint .k-tooltip {
  margin-top: 20px;
  min-width: 160px;
  opacity: 1;
  text-align: center;
}

.k-sparkline,
.k-sparkline span {
  display: inline-block;
  vertical-align: top;
}

.k-sparkline span {
  height: 100%;
  width: 100%;
}

.k-chart-dragging {
  user-select: none;
}

.k-chart-donut-center {
  position: absolute;
  display: flex;
  align-items: center;
  flex-direction: column;
  justify-content: center;
  border-radius: 50%;
  text-align: center;
  border: 4px solid transparent;
  box-sizing: border-box;
}

.k-pdf-export .k-chart .k-animation-container,
.k-pdf-export .k-sparkline .k-animation-container,
.k-pdf-export .k-stockchart .k-animation-container {
  display: none;
}

.k-chart-overlay {
  margin: 0;
  width: 100%;
  height: calc(100% - var(--kendo-chart-computed-title-height, 0px));
  position: absolute;
  top: 0;
  left: 0;
  opacity: 1;
  z-index: 10001;
}
.k-chart-overlay-top {
  top: var(--kendo-chart-computed-title-height, 0px);
}
.k-chart-overlay .k-no-data, .k-chart-overlay .k-nodata {
  min-height: auto;
  padding-block-start: var(--kendo-chart-no-data-padding-y, var(--kendo-spacing-25, 7rem));
  font-size: var(--kendo-chart-no-data-font-size, var(--kendo-font-size-lg, inherit));
  font-weight: var(--kendo-chart-no-data-font-weight, var(--kendo-font-weight, normal));
}

.k-diagram {
  height: 600px;
}

.k-diagram .km-scroll-wrapper {
  width: 100%;
  height: 100%;
  position: relative;
}

.k-diagram .km-scroll-wrapper {
  width: 100%;
  height: 100%;
  position: relative;
}

.k-canvas-container {
  width: 100%;
  height: 100%;
}

.k-sankey text {
  pointer-events: none;
}

.k-treemap {
  height: 400px;
  box-sizing: border-box;
  border-width: 1px;
  border-style: solid;
  outline: 0;
  font-family: var(--kendo-treemap-font-family, var(--kendo-font-family, inherit));
  font-size: var(--kendo-treemap-font-size, var(--kendo-font-size, inherit));
  line-height: var(--kendo-treemap-line-height, var(--kendo-line-height, normal));
  display: block;
  overflow: hidden;
  -webkit-touch-callout: none;
  -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
}
.k-treemap .k-treemap-tile {
  margin: -1px 0 0 -1px;
  height: 100%;
  box-sizing: border-box;
  border: 1px solid;
  border-color: inherit;
  color: inherit;
  background-color: inherit;
  overflow: hidden;
  position: absolute;
}
.k-treemap > .k-treemap-tile {
  position: relative;
}
.k-treemap .k-treemap-title {
  padding-inline: var(--kendo-treemap-title-padding-x, var(--kendo-spacing-1, 0.25rem));
  padding-block: var(--kendo-treemap-title-padding-y, var(--kendo-spacing-0\.5, 0.125rem));
  border-width: 0 0 1px;
  border-style: solid;
  border-color: inherit;
  font-size: var(--kendo-treemap-font-size, var(--kendo-font-size, inherit));
  background-position: 0 0;
  background-repeat: repeat-x;
}
.k-treemap .k-treemap-title-vertical {
  padding-inline: var(--kendo-treemap-padding-y, var(--kendo-spacing-1, 0.25rem));
  padding-block: var(--kendo-treemap-title-padding-x, var(--kendo-spacing-1, 0.25rem));
  width: var(--kendo-line-height-em, calc(1.4285714286 * 1em));
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  position: absolute;
  top: 0;
  bottom: 0;
}
.k-treemap .k-treemap-title-vertical > div {
  transform-origin: right;
  transform: rotate(-90deg);
  position: absolute;
  top: 0;
  right: 1em;
}
.k-treemap .k-treemap-wrap {
  border-color: inherit;
  color: inherit;
  background-color: inherit;
  position: absolute;
  top: 0;
  left: 0;
  bottom: 0;
  right: 0;
}
.k-treemap .k-treemap-title + .k-treemap-wrap {
  inset-block-start: calc(var(--kendo-spacing-0\.5, 0.125rem) * 2 + var(--kendo-line-height, normal) * var(--kendo-font-size, inherit) + 1px);
}
.k-treemap .k-treemap-title-vertical + .k-treemap-wrap {
  inset-inline-start: calc(var(--kendo-spacing-0\.5, 0.125rem) * 2 + var(--kendo-line-height, normal) * var(--kendo-font-size, inherit) + 1px);
}
.k-treemap .k-leaf {
  padding: var(--kendo-treemap-leaf-padding, var(--kendo-spacing-1, 0.25rem));
}

.k-gauge {
  text-align: start;
  position: relative;
}

.k-arcgauge,
.k-circulargauge {
  display: inline-block;
}

.k-arcgauge-label,
.k-circulargauge-label {
  position: absolute;
  text-align: center;
  padding: 0;
  margin: 0;
}

.k-qrcode {
  display: inline-block;
}
.k-qrcode > div {
  height: 150px;
}

.k-var--primary-contrast {
  background-color: var(--kendo-color-app-surface, #ffffff);
}

.k-var--base {
  background-color: var(--kendo-color-surface-alt, #ffffff);
}

.k-var--background {
  background-color: var(--kendo-color-surface-alt, #ffffff);
}

.k-var--normal-background {
  background-color: var(--kendo-color-surface-alt, #ffffff);
}

.k-var--normal-text-color {
  background-color: var(--kendo-color-on-app-surface, #323130);
}

.k-var--series-a {
  background-color: var(--kendo-color-series-a, #0099bc);
}

.k-var--series-b {
  background-color: var(--kendo-color-series-b, #e74856);
}

.k-var--series-c {
  background-color: var(--kendo-color-series-c, #ffb900);
}

.k-var--series-d {
  background-color: var(--kendo-color-series-d, #0078d7);
}

.k-var--series-e {
  background-color: var(--kendo-color-series-e, #8764b8);
}

.k-var--series-f {
  background-color: var(--kendo-color-series-f, #00cc6a);
}

.k-var--series-1 {
  background-color: var(--kendo-color-series-a, #0099bc);
}

.k-var--series-2 {
  background-color: var(--kendo-color-series-b, #e74856);
}

.k-var--series-3 {
  background-color: var(--kendo-color-series-c, #ffb900);
}

.k-var--series-4 {
  background-color: var(--kendo-color-series-d, #0078d7);
}

.k-var--series-5 {
  background-color: var(--kendo-color-series-e, #8764b8);
}

.k-var--series-6 {
  background-color: var(--kendo-color-series-f, #00cc6a);
}

.k-var--series-7 {
  background-color: var(--kendo-color-series-a-subtle, #40b3cd);
}

.k-var--series-8 {
  background-color: var(--kendo-color-series-b-subtle, #ed7680);
}

.k-var--series-9 {
  background-color: var(--kendo-color-series-c-subtle, #ffcb40);
}

.k-var--series-10 {
  background-color: var(--kendo-color-series-d-subtle, #409ae1);
}

.k-var--series-11 {
  background-color: var(--kendo-color-series-e-subtle, #a58bca);
}

.k-var--series-12 {
  background-color: var(--kendo-color-series-f-subtle, #40d98f);
}

.k-var--series-13 {
  background-color: var(--kendo-color-series-a-bold, #00738d);
}

.k-var--series-14 {
  background-color: var(--kendo-color-series-b-bold, #ad3641);
}

.k-var--series-15 {
  background-color: var(--kendo-color-series-c-bold, #bf8b00);
}

.k-var--series-16 {
  background-color: var(--kendo-color-series-d-bold, #005aa1);
}

.k-var--series-17 {
  background-color: var(--kendo-color-series-e-bold, #654b8a);
}

.k-var--series-18 {
  background-color: var(--kendo-color-series-f-bold, #009950);
}

.k-var--series-19 {
  background-color: var(--kendo-color-series-a-subtler, #80ccdd);
}

.k-var--series-20 {
  background-color: var(--kendo-color-series-b-subtler, #f3a3aa);
}

.k-var--series-21 {
  background-color: var(--kendo-color-series-c-subtler, #ffdc80);
}

.k-var--series-22 {
  background-color: var(--kendo-color-series-d-subtler, #80bbeb);
}

.k-var--series-23 {
  background-color: var(--kendo-color-series-e-subtler, #c3b1db);
}

.k-var--series-24 {
  background-color: var(--kendo-color-series-f-subtler, #80e5b4);
}

.k-var--series-25 {
  background-color: var(--kendo-color-series-a-bolder, #004d5e);
}

.k-var--series-26 {
  background-color: var(--kendo-color-series-b-bolder, #74242b);
}

.k-var--series-27 {
  background-color: var(--kendo-color-series-c-bolder, #805d00);
}

.k-var--series-28 {
  background-color: var(--kendo-color-series-d-bolder, #003c6c);
}

.k-var--series-29 {
  background-color: var(--kendo-color-series-e-bolder, #44325c);
}

.k-var--series-30 {
  background-color: var(--kendo-color-series-f-bolder, #006635);
}

.k-var--gauge-pointer {
  background-color: var(--kendo-color-series-f, #00cc6a);
}

.k-var--gauge-track {
  background-color: var(--kendo-color-base-emphasis, #605e5c);
}

.k-var--chart-font-size {
  font-size: var(--kendo-font-size, inherit);
}

.k-var--chart-title-font-size {
  font-size: var(--kendo-font-size-lg, inherit);
}

.k-var--chart-pane-title-font-size {
  font-size: var(--kendo-font-size-lg, inherit);
}

.k-var--chart-pane-title-font-weight {
  font-weight: var(--kendo-font-weight, inherit);
}

.k-var--chart-label-font-size {
  font-size: var(--kendo-font-size-sm, inherit);
}

.k-var--chart-major-lines {
  background-color: color-mix(in srgb, var(--kendo-color-border, #8a8886) 16%, transparent);
}

.k-var--chart-minor-lines {
  background-color: color-mix(in srgb, var(--kendo-color-border, #8a8886) 16%, transparent);
}

.k-var--chart-area-opacity {
  opacity: 0.6;
}

.k-var--chart-area-inactive-opacity {
  opacity: 0.1;
}

.k-var--chart-line-inactive-opacity {
  opacity: 0.3;
}

.k-var--chart-notes-background {
  background-color: var(--kendo-color-base-emphasis, #605e5c);
}

.k-var--chart-notes-border {
  background-color: var(--kendo-color-base-emphasis, #605e5c);
}

.k-var--chart-notes-lines {
  background-color: var(--kendo-color-base-emphasis, #605e5c);
}

.k-var--chart-crosshair-background {
  background-color: var(--kendo-color-on-app-surface, #323130);
}

.k-var--chart-error-bars-background {
  background-color: var(--kendo-color-error, #c2666b);
}

.k-chart,
.k-diagram,
.k-gauge,
.k-sparkline {
  --kendo-chart-primary-contrast: var(--kendo-color-app-surface, #ffffff);
  --kendo-chart-bg: var(--kendo-component-bg, initial);
  --kendo-chart-text: var(--kendo-component-text, initial);
  --kendo-chart-font-size: var(--kendo-font-size, inherit);
  --kendo-chart-title-font-size: var(--kendo-font-size-lg, inherit);
  --kendo-chart-pane-title-font-size: var(--kendo-font-size-lg, inherit);
  --kendo-chart-pane-title-font-weight: var(--kendo-font-weight, inherit);
  --kendo-chart-label-font-size: var(--kendo-font-size-sm, inherit);
  --kendo-chart-inactive: var(--kendo-disabled-bg, initial);
  --kendo-chart-major-lines: color-mix(in srgb, var(--kendo-color-border, #8a8886) 16%, transparent);
  --kendo-chart-minor-lines: color-mix(in srgb, var(--kendo-color-border, #8a8886) 16%, transparent);
  --kendo-chart-area-opacity: 0.6;
  --kendo-chart-area-inactive-opacity: 0.1;
  --kendo-chart-line-inactive-opacity: 0.3;
  --kendo-chart-notes-bg: var(--kendo-color-base-emphasis, #605e5c);
  --kendo-chart-notes-border: var(--kendo-color-base-emphasis, #605e5c);
  --kendo-chart-notes-lines: var(--kendo-color-base-emphasis, #605e5c);
  --kendo-chart-crosshair-bg: var(--kendo-color-on-app-surface, #323130);
  --kendo-chart-error-bars-bg: var(--kendo-color-error, #c2666b);
  --kendo-chart-series-1: var(--kendo-color-series-a, #0099bc);
  --kendo-chart-series-2: var(--kendo-color-series-b, #e74856);
  --kendo-chart-series-3: var(--kendo-color-series-c, #ffb900);
  --kendo-chart-series-4: var(--kendo-color-series-d, #0078d7);
  --kendo-chart-series-5: var(--kendo-color-series-e, #8764b8);
  --kendo-chart-series-6: var(--kendo-color-series-f, #00cc6a);
  --kendo-chart-series-7: var(--kendo-color-series-a-subtle, #40b3cd);
  --kendo-chart-series-8: var(--kendo-color-series-b-subtle, #ed7680);
  --kendo-chart-series-9: var(--kendo-color-series-c-subtle, #ffcb40);
  --kendo-chart-series-10: var(--kendo-color-series-d-subtle, #409ae1);
  --kendo-chart-series-11: var(--kendo-color-series-e-subtle, #a58bca);
  --kendo-chart-series-12: var(--kendo-color-series-f-subtle, #40d98f);
  --kendo-chart-series-13: var(--kendo-color-series-a-bold, #00738d);
  --kendo-chart-series-14: var(--kendo-color-series-b-bold, #ad3641);
  --kendo-chart-series-15: var(--kendo-color-series-c-bold, #bf8b00);
  --kendo-chart-series-16: var(--kendo-color-series-d-bold, #005aa1);
  --kendo-chart-series-17: var(--kendo-color-series-e-bold, #654b8a);
  --kendo-chart-series-18: var(--kendo-color-series-f-bold, #009950);
  --kendo-chart-series-19: var(--kendo-color-series-a-subtler, #80ccdd);
  --kendo-chart-series-20: var(--kendo-color-series-b-subtler, #f3a3aa);
  --kendo-chart-series-21: var(--kendo-color-series-c-subtler, #ffdc80);
  --kendo-chart-series-22: var(--kendo-color-series-d-subtler, #80bbeb);
  --kendo-chart-series-23: var(--kendo-color-series-e-subtler, #c3b1db);
  --kendo-chart-series-24: var(--kendo-color-series-f-subtler, #80e5b4);
  --kendo-chart-series-25: var(--kendo-color-series-a-bolder, #004d5e);
  --kendo-chart-series-26: var(--kendo-color-series-b-bolder, #74242b);
  --kendo-chart-series-27: var(--kendo-color-series-c-bolder, #805d00);
  --kendo-chart-series-28: var(--kendo-color-series-d-bolder, #003c6c);
  --kendo-chart-series-29: var(--kendo-color-series-e-bolder, #44325c);
  --kendo-chart-series-30: var(--kendo-color-series-f-bolder, #006635);
  --kendo-chart-gauge-pointer: var(--kendo-color-series-f, #00cc6a);
  --kendo-chart-gauge-track: var(--kendo-color-base-emphasis, #605e5c);
}

.k-chart,
.k-sparkline,
.k-stockchart {
  border-color: var(--kendo-chart-border, var(--kendo-component-border, initial));
  color: var(--kendo-chart-text, var(--kendo-component-text, initial));
  background-color: var(--kendo-chart-bg, var(--kendo-component-bg, initial));
}
.k-chart .k-popup,
.k-sparkline .k-popup,
.k-stockchart .k-popup {
  background: transparent;
}

.k-chart-tooltip {
  color: var(--kendo-chart-tooltip-color, var(--kendo-color-app-surface, #ffffff));
}

.k-chart-tooltip-inverse {
  color: var(--kendo-chart-tooltip-color-inverse, var(--kendo-color-on-app-surface, #323130));
}

.k-chart-crosshair-tooltip,
.k-chart-shared-tooltip {
  border-color: var(--kendo-chart-crosshair-shared-tooltip-border, transparent);
  color: var(--kendo-chart-crosshair-shared-tooltip-color, var(--kendo-color-on-app-surface, #323130));
  background-color: var(--kendo-chart-crosshair-shared-tooltip-background, var(--kendo-component-bg, initial));
}

.k-selection {
  border-color: var(--kendo-selection-border-color, var(--kendo-component-border, initial));
}

.k-selection-bg {
  background-color: transparent;
}

.k-handle {
  cursor: e-resize;
  border-color: var(--kendo-chart-handle-border, var(--kendo-color-surface, #faf9f8));
  color: var(--kendo-chart-handle-text, var(--kendo-component-text, initial));
  background-color: var(--kendo-chart-handle-bg, var(--kendo-color-surface, #faf9f8));
}
.k-handle:hover {
  border-color: var(--kendo-chart-handle-hover-border, var(--kendo-hover-border, initial));
  color: var(--kendo-chart-handle-hover-text, var(--kendo-hover-text, initial));
  background-color: var(--kendo-chart-handle-hover-bg, var(--kendo-hover-bg, initial));
}

.k-handle div {
  background-color: transparent;
}

.k-mask {
  background-color: var(--kendo-component-bg, initial);
  opacity: 0.8;
}

.k-chart-overlay {
  background-color: var(--kendo-chart-overlay-bg, var(--kendo-color-app-surface, #ffffff));
}
.k-chart-overlay .k-no-data, .k-chart-overlay .k-nodata {
  color: var(--kendo-chart-no-data-text, var(--kendo-color-on-app-surface, #323130));
}

.k-treemap {
  border-color: var(--kendo-treemap-border, var(--kendo-component-border, initial));
  color: var(--kendo-treemap-text, var(--kendo-component-text, initial));
  background-color: var(--kendo-treemap-bg, var(--kendo-component-bg, initial));
}
.k-treemap .k-treemap-title {
  border-color: var(--kendo-treemap-title-border, var(--kendo-component-border, initial));
  color: var(--kendo-treemap-title-text, var(--kendo-color-on-app-surface, #323130));
  background-color: var(--kendo-treemap-title-bg, var(--kendo-color-surface, #faf9f8));
}
.k-treemap .k-leaf {
  color: var(--kendo-component-bg, initial);
}
.k-treemap .k-leaf.k-inverse {
  color: var(--kendo-component-text, initial);
}
.k-treemap .k-leaf:hover,
.k-treemap .k-leaf.k-hover {
  box-shadow: var(--kendo-box-shadow-depth-1, initial);
}

.k-pane-wrapper {
  border-width: var(--kendo-adaptive-border-width, 1px);
  border-style: solid;
  box-sizing: border-box;
  outline: 0;
  font-family: var(--kendo-adaptive-font-family, var(--kendo-font-family, inherit));
  font-size: var(--kendo-adaptive-font-size, var(--kendo-font-size, 1rem));
  line-height: var(--kendo-adaptive-line-height, var(--kendo-line-height, normal));
  display: block;
  position: relative;
  -webkit-touch-callout: none;
  -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
}
.k-pane-wrapper .k-pane {
  width: 100%;
  height: 100%;
  user-select: none;
  box-sizing: border-box;
  font-family: sans-serif;
  overflow-x: hidden;
}
.k-pane-wrapper .k-view {
  top: 0;
  left: 0;
  position: relative;
  border: 0;
  box-sizing: border-box;
  outline: 0;
  font-family: var(--kendo-adaptive-font-family, var(--kendo-font-family, inherit));
  font-size: var(--kendo-adaptive-font-size, var(--kendo-font-size, 1rem));
  line-height: var(--kendo-adaptive-line-height, var(--kendo-line-height, normal));
  display: flex;
  height: 100%;
  width: 100%;
  flex-direction: column;
  align-items: stretch;
  align-content: stretch;
  vertical-align: top;
  -webkit-touch-callout: none;
  -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
}
.k-pane-wrapper .k-content {
  min-height: 1px;
  flex: 1;
  align-items: stretch;
  display: block;
  width: auto;
  overflow: hidden;
  position: relative;
}

.k-pane-wrapper > div.k-pane {
  box-shadow: none;
  font-weight: normal;
}
.k-pane-wrapper .k-popup-edit-form .k-content,
.k-pane-wrapper .k-grid-edit-form .k-content,
.k-pane-wrapper .k-grid-header-menu .k-content,
.k-pane-wrapper .k-grid-filter-menu .k-content {
  overflow-y: auto;
}
.k-pane-wrapper .k-popup-edit-form .k-content > .k-scroll-container,
.k-pane-wrapper .k-grid-edit-form .k-content > .k-scroll-container,
.k-pane-wrapper .k-grid-header-menu .k-content > .k-scroll-container,
.k-pane-wrapper .k-grid-filter-menu .k-content > .k-scroll-container {
  position: absolute;
  width: 100%;
  min-height: 100%;
  box-sizing: border-box;
}
.k-pane-wrapper .k-grid-edit-form .k-popup-edit-form,
.k-pane-wrapper .k-grid-edit-form .k-edit-form-container {
  width: auto;
  min-width: auto;
}

.k-grid.k-grid-mobile {
  border-width: 0;
}

.k-grid-mobile .k-resize-handle-inner::before {
  content: "\e01e";
  position: absolute;
  font: 16px/1 "WebComponentsIcons";
  top: calc(50% - 1px);
  left: 50%;
  transform: translate(-50%, -50%);
  padding: 0.2em;
}
.k-grid-mobile .k-header a {
  user-select: none;
}

.k-pane-wrapper .k-scheduler-edit-form .k-recur-view {
  padding: 0;
  flex-direction: column;
  align-items: stretch;
}
.k-pane-wrapper .k-scheduler-edit-form .k-recur-view > .k-listgroup-form-row {
  margin: 0;
}
.k-pane-wrapper .k-scheduler-edit-form .k-recur-items-wrap {
  width: 100%;
  margin-block: -1px;
  margin-inline: 0;
}
.k-pane-wrapper .k-scheduler-edit-form .k-scheduler-recur-end-wrap {
  white-space: nowrap;
}

.k-scheduler.k-scheduler-mobile {
  border-width: 0;
}

.k-scheduler-mobile th {
  font-weight: normal;
}
.k-scheduler-mobile .k-event:hover .k-resize-handle {
  visibility: hidden;
}
.k-scheduler-mobile .k-scheduler-toolbar {
  padding-block: var(--kendo-spacing-2, 0.5rem);
  padding-inline: var(--kendo-spacing-2, 0.5rem);
}
.k-scheduler-mobile .k-scheduler-toolbar > * {
  margin: 0;
}
.k-scheduler-mobile .k-scheduler-toolbar::before {
  display: none;
}
.k-scheduler-mobile .k-scheduler-toolbar .k-scheduler-navigation {
  width: 100%;
  display: flex;
  flex-flow: row nowrap;
  justify-content: space-between;
  margin: 0;
}
.k-scheduler-mobile .k-scheduler-toolbar .k-scheduler-navigation .k-nav-current {
  line-height: 1;
  display: flex;
  flex-flow: column nowrap;
  align-items: center;
  justify-content: space-evenly;
  gap: 0;
}
.k-scheduler-mobile .k-scheduler-toolbar .k-scheduler-views-wrapper .k-views-dropdown {
  display: inline-block;
}
.k-scheduler-mobile .k-scheduler-footer {
  padding-block: var(--kendo-spacing-2, 0.5rem);
  padding-inline: var(--kendo-spacing-2, 0.5rem);
  display: flex;
  justify-content: space-between;
}
.k-scheduler-mobile .k-scheduler-footer > * {
  margin: 0;
}
.k-scheduler-mobile .k-scheduler-footer::before {
  display: none;
}
.k-scheduler-mobile .k-scheduler-monthview .k-hidden {
  height: 40px;
}
.k-scheduler-mobile .k-scheduler-monthview .k-scheduler-table td {
  height: 40px;
  vertical-align: top;
  text-align: center;
}
.k-scheduler-mobile .k-scheduler-monthview .k-events-container {
  position: absolute;
  text-align: center;
  height: 6px;
  line-height: 6px;
}
.k-scheduler-mobile .k-scheduler-monthview .k-event {
  position: static;
  padding: 4px;
  border-radius: 50%;
  display: inline-block;
  width: 4px;
  height: 4px;
  min-height: 0;
  margin: 1px;
}
.k-scheduler-mobile .k-scheduler-dayview .k-mobile-header.k-mobile-horizontal-header .k-scheduler-times table tr:first-child {
  display: none;
}
.k-scheduler-mobile .k-scheduler-dayview .k-mobile-header .k-scheduler-header .k-scheduler-date-group {
  display: none;
}
.k-scheduler-mobile .k-scheduler-header-wrap > div {
  overflow: visible;
}
.k-scheduler-mobile .k-scheduler-agendaview .k-mobile-header {
  display: none;
}
.k-scheduler-mobile .k-scheduler-agendaview .k-scheduler-table {
  table-layout: auto;
}
.k-scheduler-mobile .k-scheduler-agendaview .k-scheduler-table .k-scheduler-groupcolumn {
  width: 1%;
}
.k-scheduler-mobile .k-scheduler-agendaview .k-scheduler-table td {
  white-space: normal;
}
.k-scheduler-mobile .k-mobile-header .k-scheduler-table td,
.k-scheduler-mobile .k-mobile-header .k-scheduler-table th {
  height: 1.5em;
}
.k-scheduler-mobile .k-time-text,
.k-scheduler-mobile .k-time-period {
  display: block;
  line-height: 1;
}
.k-scheduler-mobile .k-time-period {
  font-size: 0.7em;
}
.k-scheduler-mobile .k-scheduler-table td,
.k-scheduler-mobile .k-scheduler-table th {
  height: 2em;
  vertical-align: middle;
}
.k-scheduler-mobile .k-scheduler-datecolumn-wrap {
  display: flex;
  align-items: center;
  justify-content: space-between;
}
.k-scheduler-mobile .k-task {
  display: flex;
  align-items: center;
  gap: 0.5em;
}
.k-scheduler-mobile .k-task .k-scheduler-mark {
  border-radius: 50%;
  margin: 0;
}
.k-scheduler-mobile .k-task .k-scheduler-task-text {
  flex: 1 1 0%;
}
.k-scheduler-mobile .k-scheduler-times .k-scheduler-group-cell,
.k-scheduler-mobile .k-scheduler-times .k-scheduler-groupcolumn,
.k-scheduler-mobile .k-scheduler-agenda .k-scheduler-group-cell,
.k-scheduler-mobile .k-scheduler-agenda .k-scheduler-groupcolumn {
  vertical-align: top;
}
.k-scheduler-mobile .k-scheduler-times .k-scheduler-group-cell .k-scheduler-group-text,
.k-scheduler-mobile .k-scheduler-times .k-scheduler-groupcolumn .k-scheduler-group-text,
.k-scheduler-mobile .k-scheduler-agenda .k-scheduler-group-cell .k-scheduler-group-text,
.k-scheduler-mobile .k-scheduler-agenda .k-scheduler-groupcolumn .k-scheduler-group-text {
  writing-mode: vertical-lr;
  transform: rotate(180deg);
  white-space: nowrap;
}
.k-scheduler-mobile .k-scrollbar-h tr + tr .k-scheduler-times {
  border-bottom-width: 0;
}

.k-pane-wrapper .k-appbar {
  padding: var(--kendo-spacing-1, 0.25rem);
}
.k-pane-wrapper .k-list-title,
.k-pane-wrapper .k-filter-help-text {
  padding-block: var(--kendo-spacing-2, 0.5rem);
  padding-inline: var(--kendo-spacing-2, 0.5rem);
  display: block;
}
.k-pane-wrapper .k-listgroup-title {
  padding-block: var(--kendo-spacing-2, 0.5rem);
  padding-inline: var(--kendo-spacing-2, 0.5rem);
  font-weight: bold;
  text-transform: uppercase;
}
.k-pane-wrapper .k-listgroup .k-listgroup-item {
  border-color: inherit;
}
.k-pane-wrapper .k-listgroup + .k-listgroup {
  margin-top: var(--kendo-spacing-4, 1rem);
}
.k-pane-wrapper .k-column-menu {
  padding: var(--kendo-spacing-2, 0.5rem);
  display: flex;
  flex-flow: column nowrap;
  gap: var(--kendo-spacing-2, 0.5rem);
}
.k-pane-wrapper .k-column-menu .k-filter-item .k-filterable * {
  pointer-events: none;
}
.k-pane-wrapper .k-column-menu .k-list-title,
.k-pane-wrapper .k-column-menu .k-listgroup-title {
  padding: 0;
}
.k-pane-wrapper .k-column-menu .k-listgroup {
  margin-inline: calc(var(--kendo-spacing-2, 0.5rem) * -1);
}
.k-pane-wrapper .k-filter-menu {
  padding: var(--kendo-spacing-2, 0.5rem);
  display: flex;
  flex-flow: column nowrap;
  gap: var(--kendo-spacing-2, 0.5rem);
}
.k-pane-wrapper .k-filter-menu .k-list-title {
  padding: 0;
}
.k-pane-wrapper .k-filter-menu .k-list-filter {
  padding: 0;
  display: flex;
  flex-flow: column nowrap;
  gap: inherit;
}
.k-pane-wrapper .k-filter-menu .k-filter-tools {
  display: flex;
  flex-flow: row nowrap;
  gap: inherit;
}
.k-pane-wrapper .k-filter-menu .k-listgroup {
  margin-inline: calc(var(--kendo-spacing-2, 0.5rem) * -1);
}
.k-pane-wrapper .k-popup-edit-form .k-recur-editor-wrap {
  display: flex;
}
.k-pane-wrapper .k-popup-edit-form .k-mobiletimezoneeditor {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  position: relative;
  flex: 1 1 auto;
}
.k-pane-wrapper .k-multicheck-wrap.k-listgroup {
  overflow-y: auto;
}
.k-pane-wrapper .k-pager-wrap.k-pager-sm,
.k-pane-wrapper .k-pager.k-pager-sm {
  justify-content: center;
}
.k-pane-wrapper .k-pager-wrap.k-pager-sm .k-pager-refresh,
.k-pane-wrapper .k-pager.k-pager-sm .k-pager-refresh {
  display: none;
}

.k-pane-wrapper,
.k-view {
  border-color: var(--kendo-adaptive-border, var(--kendo-component-border, inherit));
  color: var(--kendo-adaptive-text, var(--kendo-component-text, inherit));
  background-color: var(--kendo-adaptive-bg, var(--kendo-component-bg, inherit));
}

.k-pane-wrapper .k-pane > .k-view > .k-content {
  background-position: 50% 50%;
  background-color: var(--kendo-adaptive-content-bg, var(--kendo-component-bg, inherit));
}
.k-pane-wrapper .k-pane .k-grid-mobile .k-column-active + th.k-header {
  border-left-color: var(--kendo-component-bg, inherit);
}
.k-pane-wrapper .k-pane .k-grid-mobile .k-resize-handle-inner::before {
  background-color: var(--kendo-component-bg, inherit);
}
.k-pane-wrapper .k-pane .k-scheduler-mobile .k-nav-current {
  color: var(--kendo-adaptive-scheduler-current-text, var(--kendo-color-primary, #0078d4));
}
.k-pane-wrapper .k-pane .k-scheduler-mobile .k-scheduler-times,
.k-pane-wrapper .k-pane .k-scheduler-mobile .k-scheduler-header,
.k-pane-wrapper .k-pane .k-scheduler-mobile .k-scheduler-groupcolumn,
.k-pane-wrapper .k-pane .k-scheduler-mobile .k-mobile-scheduler-agendadate {
  color: var(--kendo-adaptive-scheduler-base-text, inherit);
}
.k-pane-wrapper .k-pane .k-scheduler-mobile .k-time-period,
.k-pane-wrapper .k-pane .k-scheduler-mobile .k-mobile-scheduler-agendaweekday {
  color: var(--kendo-adaptive-scheduler-subtle-text, var(--kendo-subtle-text, inherit));
}
.k-pane-wrapper .k-pane .k-scheduler-mobile .k-scheduler-times,
.k-pane-wrapper .k-pane .k-scheduler-mobile .k-scheduler-header,
.k-pane-wrapper .k-pane .k-scheduler-mobile .k-scheduler-header-wrap,
.k-pane-wrapper .k-pane .k-scheduler-mobile .k-scheduler-datecolumn,
.k-pane-wrapper .k-pane .k-scheduler-mobile .k-scheduler-groupcolumn,
.k-pane-wrapper .k-pane .k-scheduler-mobile .k-scheduler-group-cell,
.k-pane-wrapper .k-pane .k-scheduler-mobile .k-scheduler-header-all-day {
  background-color: var(--kendo-adaptive-content-bg, var(--kendo-component-bg, inherit));
}
.k-pane-wrapper .k-pane .k-scheduler-mobile .k-scheduler-toolbar .k-scheduler-tools > li {
  display: inline-block;
  background-color: inherit;
}
.k-pane-wrapper .k-pane .k-grid-edit-form .k-item,
.k-pane-wrapper .k-pane .k-grid-edit-form .k-link,
.k-pane-wrapper .k-pane .k-grid-header-menu .k-item,
.k-pane-wrapper .k-pane .k-grid-header-menu .k-link,
.k-pane-wrapper .k-pane .k-grid-filter-menu .k-item,
.k-pane-wrapper .k-pane .k-grid-filter-menu .k-link,
.k-pane-wrapper .k-pane .k-scheduler-edit-form .k-item,
.k-pane-wrapper .k-pane .k-scheduler-edit-form .k-link {
  color: var(--kendo-component-text, inherit);
}
.k-pane-wrapper .k-pane .k-grid-edit-form .k-clear,
.k-pane-wrapper .k-pane .k-grid-edit-form .k-select-all,
.k-pane-wrapper .k-pane .k-grid-edit-form .k-scheduler-delete,
.k-pane-wrapper .k-pane .k-grid-edit-form .k-scheduler-resetSeries,
.k-pane-wrapper .k-pane .k-grid-header-menu .k-clear,
.k-pane-wrapper .k-pane .k-grid-header-menu .k-select-all,
.k-pane-wrapper .k-pane .k-grid-header-menu .k-scheduler-delete,
.k-pane-wrapper .k-pane .k-grid-header-menu .k-scheduler-resetSeries,
.k-pane-wrapper .k-pane .k-grid-filter-menu .k-clear,
.k-pane-wrapper .k-pane .k-grid-filter-menu .k-select-all,
.k-pane-wrapper .k-pane .k-grid-filter-menu .k-scheduler-delete,
.k-pane-wrapper .k-pane .k-grid-filter-menu .k-scheduler-resetSeries,
.k-pane-wrapper .k-pane .k-scheduler-edit-form .k-clear,
.k-pane-wrapper .k-pane .k-scheduler-edit-form .k-select-all,
.k-pane-wrapper .k-pane .k-scheduler-edit-form .k-scheduler-delete,
.k-pane-wrapper .k-pane .k-scheduler-edit-form .k-scheduler-resetSeries {
  color: var(--kendo-adaptive-menu-clear-text, var(--kendo-color-primary, #0078d4));
}
.k-pane-wrapper .k-pane .k-column-menu .k-listgroup-item.k-selected {
  color: var(--kendo-adaptive-grid-sort-text, var(--kendo-color-primary, #0078d4));
  background: none;
}
.k-pane-wrapper .k-pane .k-column-menu .k-listgroup-item.k-selected .k-link {
  color: inherit;
}

.k-grid {
  border-width: var(--kendo-grid-border-width, 1px);
  border-style: var(--kendo-grid-border-style, solid);
  box-sizing: border-box;
  outline: 0;
  font-family: var(--kendo-grid-font-family, var(--kendo-font-family, inherit));
  font-size: var(--kendo-grid-font-size, var(--kendo-font-size, inherit));
  line-height: var(--kendo-grid-line-height, var(--kendo-line-height, normal));
  display: flex;
  flex-direction: column;
  position: relative;
}
.k-grid.k-grid-display-block {
  display: block;
}
.k-grid .k-grid-container {
  border-color: inherit;
  display: flex;
  flex: 1 1 auto;
  overflow: hidden;
  position: relative;
}
.k-grid .k-grid-aria-root {
  border-color: inherit;
  display: flex;
  flex-direction: column;
  flex: 1 1 auto;
  overflow: hidden;
}
.k-grid .k-table {
  margin: 0;
  width: 100%;
  max-width: none;
  border-width: 0;
  border-color: inherit;
  border-collapse: separate;
  border-spacing: 0;
  empty-cells: show;
  outline: 0;
  box-sizing: content-box;
  table-layout: fixed;
}
.k-grid .k-table-thead,
.k-grid .k-table-tbody,
.k-grid .k-table-tfoot {
  text-align: start;
  border-color: inherit;
}
.k-grid .k-table-row {
  border-color: inherit;
}
.k-grid .k-table-th,
.k-grid td,
.k-grid .k-table-td {
  border-width: 0;
  padding-inline: var(--INTERNAL--kendo-grid-cell-padding-x, 0);
  padding-block: var(--INTERNAL--kendo-grid-cell-padding-y, 0);
  border-style: solid;
  border-color: inherit;
  outline: 0;
  font-weight: inherit;
  text-align: inherit;
  position: static;
  overflow: hidden;
  text-overflow: ellipsis;
  box-sizing: content-box;
}
.k-grid .k-table-th:first-child,
.k-grid td:first-child,
.k-grid .k-table-td:first-child {
  border-inline-start-width: 0;
}
.k-grid .k-table-th:focus,
.k-grid td:focus,
.k-grid .k-table-td:focus {
  outline: none;
}
.k-grid .k-table-th > .k-radio,
.k-grid .k-table-th > .k-radio-wrap,
.k-grid .k-table-th > .k-checkbox,
.k-grid .k-table-th > .k-checkbox-wrap,
.k-grid td > .k-radio,
.k-grid td > .k-radio-wrap,
.k-grid td > .k-checkbox,
.k-grid td > .k-checkbox-wrap,
.k-grid .k-table-td > .k-radio,
.k-grid .k-table-td > .k-radio-wrap,
.k-grid .k-table-td > .k-checkbox,
.k-grid .k-table-td > .k-checkbox-wrap {
  vertical-align: top;
}
.k-grid .k-table-th {
  padding-inline: var(--INTERNAL--kendo-grid-header-padding-x, 0);
  padding-block: var(--INTERNAL--kendo-grid-header-padding-y, 0);
  border-block-end-width: var(--kendo-grid-header-border-width-y, 1px);
  border-inline-start-width: var(--kendo-grid-header-border-width-x, 0);
  white-space: nowrap;
}
.k-grid td,
.k-grid .k-table-td {
  border-block-end-width: var(--kendo-grid-cell-border-width-y, 1px);
  border-inline-start-width: var(--kendo-grid-cell-border-width-x, 0px);
  vertical-align: middle;
}
.k-grid a {
  color: inherit;
  text-decoration: none;
}
.k-grid a:hover {
  text-decoration: none;
}
.k-grid .k-grid-header-wrap {
  box-sizing: content-box;
}
.k-grid .k-group-col,
.k-grid .k-hierarchy-col {
  padding: 0;
  width: var(--kendo-grid-hierarchy-col-width, calc(var(--kendo-icon-size, 1rem) * 2));
}
.k-grid .k-grouping-row p {
  margin: 0;
  display: flex;
  align-items: center;
  align-content: center;
}
.k-grid .k-grouping-row td,
.k-grid .k-grouping-row .k-table-td {
  border-block-end-width: 0;
  overflow: visible;
}
.k-grid .k-grouping-row + .k-table-row td,
.k-grid .k-grouping-row + .k-table-row .k-table-td {
  border-top-width: var(--kendo-grid-grouping-row-border-width-y, 1px);
}
.k-grid .k-grouping-row .k-group-cell,
.k-grid .k-grouping-row + .k-table-row .k-group-cell {
  border-block-width: 0;
  border-inline-end-width: 1px;
  text-overflow: clip;
}
.k-grid .k-grouping-row .k-icon {
  margin-inline-start: calc(var(--kendo-icon-size, 1rem) / 2 - var(--INTERNAL--kendo-grid-cell-padding-x, 0));
  margin-inline-end: calc(var(--kendo-icon-size, 1rem) / 2);
  text-decoration: none;
}
.k-grid .k-group-footer td,
.k-grid .k-group-footer .k-table-td {
  border-style: solid;
  border-inline-width: var(--kendo-grid-group-footer-border-width-x, 0px);
  border-block-start-width: var(--kendo-grid-group-footer-border-width-y, 0px);
}
.k-grid .k-group-footer .k-group-cell + td,
.k-grid .k-group-footer .k-group-cell + .k-table-td {
  border-inline-start-width: var(--kendo-grid-group-footer-border-width-x, 0px);
}
.k-grid .k-hierarchy-cell,
.k-grid .k-drag-cell {
  text-align: center;
  padding: 0;
  overflow: visible;
}
.k-grid .k-hierarchy-cell > .k-icon,
.k-grid .k-drag-cell > .k-icon {
  padding-inline: 0;
  padding-block: var(--INTERNAL--kendo-grid-cell-padding-y, 0);
  display: inline-block;
  outline: 0;
}
.k-grid .k-hierarchy-cell > .k-font-icon,
.k-grid .k-drag-cell > .k-font-icon {
  width: 100%;
  height: 100%;
}
.k-grid .k-hierarchy-cell + .k-grid-content-sticky {
  border-inline-start-width: var(--kendo-grid-sticky-cell-border-width, 1px);
}
.k-grid .k-detail-row .k-detail-cell {
  border-left-width: 0;
}
.k-grid .k-dirty-cell {
  position: relative;
}
.k-grid .k-dirty-cell.k-edit-cell {
  position: static;
}
.k-grid .k-dirty-cell.k-grid-content-sticky {
  position: sticky;
}
.k-grid .k-dirty {
  border-width: 5px;
  border-color: currentColor transparent transparent currentColor;
  inset-inline-start: 0;
  inset-inline-end: auto;
}
.k-grid .k-grid-content-locked + .k-grid-content {
  box-sizing: content-box;
}
.k-grid .k-grid-content-expander {
  position: absolute;
  visibility: hidden;
  height: 1px;
  bottom: 1px;
}
.k-grid .k-grid-filter,
.k-grid .k-header-column-menu,
.k-grid .k-grid-header-menu,
.k-grid .k-hierarchy-cell .k-icon {
  border-width: 0;
}
.k-grid .k-drag-col {
  padding: 0;
  width: var(--kendo-grid-drag-cell-width, calc(var(--kendo-icon-size, 1rem) * 2.25));
}
.k-grid .k-drag-cell {
  cursor: move;
}

.k-grid-resizable {
  resize: both;
  overflow: auto;
}

.k-grid-toolbar {
  border-width: 0 0 var(--kendo-grid-toolbar-border-width, 1px);
  flex-shrink: 0;
}

.k-grid-toolbar-bottom {
  border-width: var(--kendo-grid-toolbar-border-width, 1px) 0 0;
}

.k-grouping-header {
  padding-inline: var(--INTERNAL--kendo-grid-grouping-header-padding-x, 0);
  padding-block: var(--INTERNAL--kendo-grid-grouping-header-padding-y, 0);
  border-width: 0 0 1px;
  border-style: solid;
  border-color: inherit;
  white-space: normal;
  display: flex;
  align-items: center;
  gap: var(--INTERNAL--kendo-grid-grouping-header-padding-y, 0);
  position: relative;
  flex-wrap: wrap;
}
.k-grouping-header::before {
  content: "";
  height: calc(var(--kendo-line-height, normal) * 1em + var(--kendo-spacing-1, 0.25rem) * 2 + 1px * 2);
  display: inline-block;
  vertical-align: middle;
  margin-left: calc(var(--INTERNAL--kendo-grid-grouping-header-padding-y, 0) * -1);
}
.k-grouping-header .k-chip-list {
  flex-grow: 0;
  display: contents;
}
.k-grouping-header > .k-grouping-drop-container {
  flex-grow: 1;
  padding-block: var(--kendo-grid-grouping-header-padding-y, var(--kendo-spacing-2, 0.5rem));
  margin-block: calc(var(--kendo-grid-grouping-header-padding-y, var(--kendo-spacing-2, 0.5rem)) * -1);
  display: inline-flex;
  align-self: stretch;
  align-items: center;
}

.k-grouping-dropclue, .k-reorder-cue {
  width: calc(var(--kendo-grid-group-drop-hint-size, 6px) * 2);
  height: var(--INTERNAL--kendo-grid-group-drop-hint-height, 1rem);
  position: absolute;
  top: var(--kendo-grid-group-drop-hint-top, 2px);
  box-sizing: content-box;
}
.k-grouping-dropclue::before, .k-reorder-cue::before, .k-grouping-dropclue::after, .k-reorder-cue::after {
  display: inline-block;
  content: "";
  position: absolute;
}
.k-grouping-dropclue::before, .k-reorder-cue::before {
  width: var(--kendo-grid-group-drop-hint-dot-size, 6px);
  height: var(--kendo-grid-group-drop-hint-dot-size, 6px);
  border-radius: 50%;
  top: 0;
  left: calc(var(--kendo-grid-group-drop-hint-dot-size, 6px) / 2);
}
.k-grouping-dropclue::after, .k-reorder-cue::after {
  width: var(--kendo-grid-group-drop-hint-line-size, 1px);
  height: calc(100% - var(--kendo-grid-group-drop-hint-size, 6px));
  top: var(--kendo-grid-group-drop-hint-size, 6px);
  left: calc(var(--kendo-grid-group-drop-hint-size, 6px) - var(--kendo-grid-group-drop-hint-line-size, 1px) / 2);
}

.k-grid-header-wrap,
.k-grid-footer-wrap {
  margin-inline-end: calc(var(--kendo-grid-border-width, 1px) * -1);
  width: 100%;
  border-inline-start-width: 0;
  border-inline-end-width: var(--kendo-grid-cell-border-width-y, 1px);
  border-block-width: 0;
  border-style: solid;
  border-color: inherit;
  position: relative;
  overflow: hidden;
}
.k-grid-header-wrap .k-table-row:not(:only-child) .k-table-th,
.k-grid-header-wrap .k-table-row:not(:only-child) .k-table-td:nth-child(n+2),
.k-grid-footer-wrap .k-table-row:not(:only-child) .k-table-th,
.k-grid-footer-wrap .k-table-row:not(:only-child) .k-table-td:nth-child(n+2) {
  border-inline-start-width: 1px;
}

.k-grid-header-locked + .k-grid-header-wrap.k-auto-scrollable {
  margin-inline-end: 0;
}

.k-grid-header,
.k-grid-footer {
  padding-inline-start: 0;
  padding-inline-end: var(--kendo-scrollbar-width, 17px);
  border-width: 0;
  border-style: solid;
  border-color: inherit;
  flex: 0 0 auto;
}

div.k-grid-header,
div.k-grid-footer {
  display: flex;
  flex-direction: row;
  align-items: stretch;
}

.k-grid-header {
  border-bottom-width: var(--kendo-grid-header-border-width-y, 1px);
  font-size: var(--kendo-grid-header-font-size, inherit);
}
.k-grid-header .k-table {
  margin-bottom: calc(var(--kendo-grid-header-border-width-y, 1px) * -1);
}
.k-grid-header.k-grid-draggable-header {
  user-select: none;
  touch-action: none;
}
.k-grid-header .k-table-th {
  position: relative;
  vertical-align: bottom;
  z-index: 1;
  cursor: default;
}
.k-grid-header .k-table-th.k-first {
  border-inline-start-width: var(--kendo-grid-header-first-border-width, 1px);
}
.k-grid-header .k-table-row .k-table-th:first-child:not(.k-first) {
  border-inline-start-width: 0;
}
.k-grid-header .k-table-th > .k-link {
  margin-block: calc(var(--INTERNAL--kendo-grid-header-padding-y, 0) * -1);
  margin-inline: calc(var(--INTERNAL--kendo-grid-header-padding-x, 0) * -1);
  padding-block: var(--INTERNAL--kendo-grid-header-padding-y, 0);
  padding-inline: var(--INTERNAL--kendo-grid-header-padding-x, 0);
  line-height: inherit;
  display: block;
  overflow: hidden;
  text-overflow: ellipsis;
  outline: 0;
}
.k-grid-header .k-table-th > .k-link > .k-icon {
  margin-inline-start: var(--kendo-grid-sort-icon-spacing, var(--kendo-icon-lg-spacing, 0.5rem));
}
.k-grid-header .k-table-th > .k-link:focus {
  text-decoration: none;
}
.k-grid-header .k-grid-filter,
.k-grid-header .k-header-column-menu,
.k-grid-header .k-grid-header-menu {
  padding-block: var(--INTERNAL--kendo-button-padding-y, 0);
  padding-inline: var(--INTERNAL--kendo-button-padding-y, 0);
  width: var(--INTERNAL--kendo-button-calc-size, auto);
  height: var(--INTERNAL--kendo-button-calc-size, auto);
  box-sizing: border-box;
  outline: 0;
  line-height: var(--INTERNAL--kendo-button-line-height, normal);
  display: flex;
  align-items: center;
  align-content: center;
  justify-content: center;
  position: absolute;
  inset-inline-end: var(--kendo-grid-header-menu-spacing, var(--kendo-icon-spacing, 0.5rem));
  inset-block-end: calc(var(--INTERNAL--kendo-grid-header-padding-y, 0) + calc(1.4285714286 * 1em) / 2 - calc(var(--kendo-line-height, normal) * 1em + var(--kendo-spacing-1\.5, 0.375rem) * 2) / 2);
  z-index: 1;
}
.k-grid-header .k-grid-filter:hover,
.k-grid-header .k-header-column-menu:hover,
.k-grid-header .k-grid-header-menu:hover {
  cursor: pointer;
}
.k-grid-header .k-cell-inner > .k-link > .k-icon,
.k-grid-header .k-cell-inner > .k-link > .k-sort-icon {
  vertical-align: text-top;
  margin-inline-start: var(--kendo-grid-sort-icon-spacing, var(--kendo-icon-lg-spacing, 0.5rem));
}
.k-grid-header .k-sort-order {
  display: inline-block;
  height: var(--kendo-icon-size, 1rem);
  font-size: var(--kendo-grid-sort-index-font-size, var(--kendo-font-size-sm, inherit));
  margin-inline-start: var(--kendo-grid-sort-index-spacing-x, var(--kendo-spacing-0\.5, 0.125rem));
}

.k-column-resizer {
  width: 0.5em;
  height: 1000%;
  display: block;
  position: absolute;
  inset-block-start: 0;
  inset-inline-end: 0;
  cursor: col-resize;
}

.k-resizer-wrap {
  display: block;
  width: 100%;
  padding-block-start: calc(var(--INTERNAL--kendo-grid-edit-cell-padding-x, 0) - var(--kendo-spacing-0\.5, 0.125rem));
  padding-block-end: var(--INTERNAL--kendo-grid-edit-cell-padding-x, 0);
  position: absolute;
  background: none;
  cursor: row-resize;
  z-index: 2;
}

.k-row-resizer {
  display: block;
  height: var(--kendo-grid-row-resizer-height, var(--kendo-spacing-0\.5, 0.125rem));
  width: 100%;
  background: none;
}

.k-grid-footer {
  border-block-start-width: var(--kendo-grid-border-width, 1px);
}
.k-grid-footer td,
.k-grid-footer .k-table-td {
  height: var(--kendo-line-height-em, normal);
  border-block-end-width: 0;
}

.k-grid-footer td,
.k-grid-footer .k-table-td,
.k-grid-header .k-table-th,
.k-group-footer td,
.k-grouping-row td,
.k-group-footer .k-table-td,
.k-grouping-row .k-table-td {
  font-weight: var(--kendo-grid-header-font-weight, var(--kendo-font-weight-bold, normal));
}

.k-grid-filter-popup {
  min-width: var(--kendo-grid-column-menu-width, 230px);
  max-width: var(--kendo-grid-column-menu-max-width, 320px);
}

.k-grid-column-menu-standalone a.k-grid-filter {
  position: initial;
  display: inline-block;
  margin-block: calc(var(--kendo-spacing-1, 0.25rem) * -1);
  margin-inline: 0;
  padding-block: var(--kendo-spacing-1, 0.25rem);
  padding-inline: var(--kendo-spacing-2, 0.5rem);
}

.k-filter-row {
  line-height: var(--kendo-line-height, normal);
}
.k-filter-row td,
.k-filter-row .k-table-td,
.k-filter-row .k-table-th {
  padding-inline: var(--INTERNAL--kendo-grid-filter-cell-padding-x, 0);
  padding-block: var(--INTERNAL--kendo-grid-filter-cell-padding-y, 0);
  border-width: 0 0 var(--kendo-grid-cell-border-width-y, 1px) var(--kendo-grid-cell-border-width-x, 0px);
  white-space: nowrap;
}
.k-filter-row td:first-child,
.k-filter-row .k-table-td:first-child {
  border-left-width: 0;
}
.k-filter-row .k-multiselect {
  height: auto;
}

.k-filtercell {
  width: auto;
  display: flex;
  flex-flow: row nowrap;
  align-items: center;
}
.k-filtercell > span,
.k-filtercell .k-filtercell-wrapper {
  width: 100%;
  display: flex;
  flex-flow: row nowrap;
  align-items: center;
  gap: calc(var(--INTERNAL--kendo-grid-cell-padding-y, 0) / 2);
  flex: 1 1 auto;
}
.k-filtercell > span > .k-button,
.k-filtercell .k-filtercell-wrapper > .k-button {
  flex: none;
}

.k-grid-content,
.k-grid-content-locked {
  border-color: inherit;
  outline: 0;
}
.k-grid-content .k-table-row:last-child > td,
.k-grid-content .k-table-row:last-child > .k-table-td,
.k-grid-content-locked .k-table-row:last-child > td,
.k-grid-content-locked .k-table-row:last-child > .k-table-td {
  border-bottom-width: 0;
}

.k-grid-content {
  width: 100%;
  min-height: 0;
  overflow-x: auto;
  overflow-y: scroll;
  position: relative;
  flex: 1;
}

.k-virtual-scrollable-wrap {
  height: 100%;
  overflow-y: hidden;
  position: relative;
}

.k-master-row .k-group-cell {
  border-block-width: 0;
  border-inline-end-width: var(--kendo-grid-border-width, 1px);
}

.k-master-row.k-expanded td,
.k-master-row.k-expanded .k-table-td {
  border-block-end-width: 0;
}

.k-master-row:has(.k-hierarchy-cell[aria-expanded=true]) td,
.k-master-row:has(.k-hierarchy-cell[aria-expanded=true]) .k-table-td {
  border-block-end-width: 0;
}

.k-master-row:last-child td,
.k-master-row:last-child .k-table-td {
  border-block-end-width: var(--kendo-grid-border-width, 1px);
}

.k-grid .k-edit-cell,
.k-grid .k-command-cell,
.k-grid .k-grid-edit-row td,
.k-grid .k-grid-edit-row .k-table-td {
  padding-inline: var(--INTERNAL--kendo-grid-edit-cell-padding-x, 0);
  padding-block: var(--INTERNAL--kendo-grid-edit-cell-padding-y, 0);
  text-overflow: clip;
}

.k-grid .k-edit-cell > input:not([type=checkbox], [type=radio]),
.k-grid .k-edit-cell > select,
.k-grid .k-edit-cell > .k-widget:not(.k-switch),
.k-grid .k-grid-edit-row td > input:not([type=checkbox], [type=radio]),
.k-grid .k-grid-edit-row td > select,
.k-grid .k-grid-edit-row td > .k-widget:not(.k-switch),
.k-grid .k-grid-edit-row .k-table-td > input:not([type=checkbox], [type=radio]),
.k-grid .k-grid-edit-row .k-table-td > select,
.k-grid .k-grid-edit-row .k-table-td > .k-widget:not(.k-switch) {
  width: 100%;
  vertical-align: middle;
  box-sizing: border-box;
}
.k-grid .k-edit-cell > .k-radio,
.k-grid .k-edit-cell > .k-checkbox,
.k-grid .k-edit-cell > .k-radio-wrap,
.k-grid .k-edit-cell > .k-checkbox-wrap,
.k-grid .k-grid-edit-row td > .k-radio,
.k-grid .k-grid-edit-row td > .k-checkbox,
.k-grid .k-grid-edit-row td > .k-radio-wrap,
.k-grid .k-grid-edit-row td > .k-checkbox-wrap,
.k-grid .k-grid-edit-row .k-table-td > .k-radio,
.k-grid .k-grid-edit-row .k-table-td > .k-checkbox,
.k-grid .k-grid-edit-row .k-table-td > .k-radio-wrap,
.k-grid .k-grid-edit-row .k-table-td > .k-checkbox-wrap {
  vertical-align: middle;
}

.k-grid .k-command-cell > .k-button {
  margin-inline-end: var(--kendo-grid-command-cell-button-spacing, var(--kendo-spacing-2, 0.5rem));
  vertical-align: middle;
}
.k-grid .k-command-cell > .k-button:last-child {
  margin-inline-end: unset;
}

.k-grid > .k-resize-handle,
.k-grid-header .k-resize-handle {
  height: 25px;
  cursor: col-resize;
  position: absolute;
  z-index: 2;
}

.k-selection-aggregates {
  padding-inline: var(--INTERNAL--kendo-grid-selection-aggregates-padding-x, 0);
  padding-block: var(--INTERNAL--kendo-grid-selection-aggregates-padding-y, 0);
  border-width: var(--kendo-grid-selection-aggregates-border-width, 1px) 0 0;
  border-style: solid;
  line-height: var(--kendo-grid-selection-aggregates-line-height, var(--kendo-line-height, normal));
  display: flex;
  justify-content: flex-end;
  gap: var(--kendo-grid-selection-aggregates-spacing, var(--kendo-spacing-2, 0.5rem));
}

.k-selection-aggregates-item-value {
  font-weight: var(--kendo-grid-selection-aggregates-font-weight, 700);
}

.k-grid-pager {
  border-width: 1px 0 0;
  border-color: inherit;
  font-size: inherit;
}

.k-grid-pager-top {
  border-width: 0 0 1px;
}

.k-grid-virtual .k-grid-content .k-grid-table-wrap {
  float: left;
  width: 100%;
}
.k-grid-virtual .k-grid-content .k-grid-table {
  position: relative;
  float: left;
  z-index: 1;
}
.k-grid-virtual .k-grid-content > .k-height-container {
  position: relative;
  float: left;
}
.k-grid-virtual .k-grid-content::after {
  content: "";
  display: block;
  clear: both;
}

.k-width-container {
  position: absolute;
  visibility: hidden;
}

.k-width-container div {
  height: 1px;
}

.k-grid-add-row td,
.k-grid-add-row .k-table-td {
  border-bottom-style: solid;
  border-bottom-width: 1px;
}

.k-grid-lockedcolumns {
  white-space: nowrap;
}

.k-grid-content,
.k-grid-content-locked {
  white-space: normal;
}

.k-grid-content-locked,
.k-grid-footer-locked,
.k-grid-header-locked {
  flex: 0 0 auto;
  display: inline-block;
  vertical-align: top;
  overflow: hidden;
  position: relative;
  border-style: solid;
  border-block-width: 0;
  border-inline-start-width: 0;
  border-inline-end-width: 1px;
  box-sizing: content-box;
}
.k-grid-content-locked td,
.k-grid-content-locked .k-table-td,
.k-grid-content-locked .k-table-th,
.k-grid-footer-locked td,
.k-grid-footer-locked .k-table-td,
.k-grid-footer-locked .k-table-th,
.k-grid-header-locked td,
.k-grid-header-locked .k-table-td,
.k-grid-header-locked .k-table-th {
  border-inline-start-width: 1px;
}
.k-grid-content-locked + .k-grid-content.k-auto-scrollable,
.k-grid-footer-locked + .k-grid-content.k-auto-scrollable,
.k-grid-header-locked + .k-grid-content.k-auto-scrollable {
  display: inline-block;
}
.k-grid-content-locked .k-grouping-row .k-group-cell,
.k-grid-content-locked .k-grouping-row + .k-table-row .k-group-cell,
.k-grid-footer-locked .k-grouping-row .k-group-cell,
.k-grid-footer-locked .k-grouping-row + .k-table-row .k-group-cell,
.k-grid-header-locked .k-grouping-row .k-group-cell,
.k-grid-header-locked .k-grouping-row + .k-table-row .k-group-cell {
  border-inline-end-width: 0;
}
.k-grid-content-locked .k-table-row:not(.k-group-footer) .k-group-cell,
.k-grid-footer-locked .k-table-row:not(.k-group-footer) .k-group-cell,
.k-grid-header-locked .k-table-row:not(.k-group-footer) .k-group-cell {
  border-block-end-width: 0;
}

.k-grid-content,
.k-grid-footer-wrap,
.k-grid-header-wrap {
  flex: 1 1 auto;
  display: inline-block;
  vertical-align: top;
}
.k-grid-content.k-auto-scrollable,
.k-grid-footer-wrap.k-auto-scrollable,
.k-grid-header-wrap.k-auto-scrollable {
  display: block;
}

.k-grid-header-locked > .k-grid-header-table,
.k-grid-header-wrap > .k-grid-header-table {
  margin-block-end: -1px;
}

.k-grid-header .k-table-th.k-grid-header-sticky,
.k-grid-header .k-filter-row .k-grid-header-sticky,
.k-grid .k-grid-content-sticky,
.k-grid .k-grid-row-sticky,
.k-grid .k-grid-footer-sticky {
  position: sticky;
  z-index: 2;
}
.k-grid-header .k-table-th.k-grid-header-sticky.k-edit-cell,
.k-grid-header .k-filter-row .k-grid-header-sticky.k-edit-cell,
.k-grid .k-grid-content-sticky.k-edit-cell,
.k-grid .k-grid-row-sticky.k-edit-cell,
.k-grid .k-grid-footer-sticky.k-edit-cell {
  overflow: visible;
  z-index: 3;
}

.k-master-row .k-grid-content-sticky::before,
.k-master-row.k-grid-row-sticky .k-table-td::before {
  content: "";
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
  z-index: -1;
}

kendo-grid .k-table-row.k-grid-row-sticky {
  border: 0;
  position: static;
  z-index: auto;
}
kendo-grid .k-grid-row-sticky td,
kendo-grid .k-grid-row-sticky .k-table-td {
  border-block-start-width: var(--kendo-grid-border-width, 1px);
  border-block-end-width: var(--kendo-grid-border-width, 1px);
  position: sticky;
  top: inherit;
  bottom: inherit;
}
kendo-grid .k-grid-row-sticky td,
kendo-grid .k-grid-row-sticky .k-table-td {
  z-index: 2;
}
kendo-grid .k-grid-row-sticky td.k-grid-content-sticky,
kendo-grid .k-grid-row-sticky.k-table-alt-row td.k-grid-content-sticky,
kendo-grid .k-grid-row-sticky .k-table-td.k-grid-content-sticky,
kendo-grid .k-grid-row-sticky.k-table-alt-row .k-table-td.k-grid-content-sticky {
  z-index: 3;
}
kendo-grid .k-grid-header-locked .k-table-th.k-grid-header-sticky:last-child,
kendo-grid .k-grid-content-locked .k-table-row .k-grid-content-sticky:last-child {
  border-inline-end-width: 0;
}
kendo-grid .k-grid-header .k-grid-column-menu,
kendo-grid .k-grid-header .k-grid-header-menu {
  z-index: 1;
}

.k-grid-content-sticky.k-grid-row-sticky {
  z-index: 3;
}

.k-grid .k-grid-header-sticky,
.k-grid .k-grid-content-sticky,
.k-grid .k-grid-footer-sticky {
  border-inline-end-width: var(--kendo-grid-sticky-cell-border-width, 1px);
}
.k-grid .k-grid-header-sticky:not([style*="display: none"]) + td, .k-grid .k-grid-header-sticky:not([style*="display: none"]) + .k-table-td, .k-grid .k-grid-header-sticky:not([style*="display: none"]) + .k-table-th,
.k-grid .k-grid-content-sticky:not([style*="display: none"]) + td,
.k-grid .k-grid-content-sticky:not([style*="display: none"]) + .k-table-td,
.k-grid .k-grid-content-sticky:not([style*="display: none"]) + .k-table-th,
.k-grid .k-grid-footer-sticky:not([style*="display: none"]) + td,
.k-grid .k-grid-footer-sticky:not([style*="display: none"]) + .k-table-td,
.k-grid .k-grid-footer-sticky:not([style*="display: none"]) + .k-table-th {
  border-inline-start-width: 0;
}

.k-grid .k-grid-row-sticky {
  border-block-start-width: var(--kendo-grid-border-width, 1px);
  border-block-end-width: var(--kendo-grid-border-width, 1px);
}

.k-grid-header-sticky.k-table-th.k-grid-no-left-border.k-first {
  border-inline-start-width: 0;
  border-inline-end-width: var(--kendo-grid-sticky-cell-border-width, 1px);
}

.k-grid.k-grid-no-scrollbar .k-grid-header-wrap,
.k-grid.k-grid-no-scrollbar .k-grid-footer-wrap {
  margin: 0;
  border-width: 0;
}
.k-grid.k-grid-no-scrollbar .k-grid-header,
.k-grid.k-grid-no-scrollbar .k-grid-footer {
  padding: 0;
}
.k-grid.k-grid-no-scrollbar .k-grid-content {
  overflow-y: auto;
}

.k-grid-norecords {
  text-align: center;
}

div.k-grid-norecords {
  width: 100%;
  height: 100%;
  display: flex;
  align-items: center;
}

.k-grid-norecords-template {
  box-sizing: border-box;
  margin-block: 0;
  margin-inline: auto;
  width: 20em;
  height: 4em;
  border: 1px solid;
  line-height: 4em;
}

.k-table-th > .k-cell-inner {
  margin-block: calc(var(--INTERNAL--kendo-grid-header-padding-y, 0) * -1);
  margin-inline: calc(var(--INTERNAL--kendo-grid-header-padding-x, 0) * -1);
}

.k-filterable > .k-cell-inner .k-link {
  padding-inline-end: 0;
}

.k-cell-inner {
  display: flex;
  flex-flow: row nowrap;
  align-items: center;
  justify-content: inherit;
  overflow: hidden;
}
.k-cell-inner > .k-link {
  padding-inline: var(--INTERNAL--kendo-grid-header-padding-x, 0);
  padding-block: var(--INTERNAL--kendo-grid-header-padding-y, 0);
  width: auto;
  display: flex;
  flex-flow: row nowrap;
  align-items: center;
  justify-content: inherit;
  flex: 1;
  overflow: hidden;
}
.k-cell-inner > .k-link > .k-icon {
  margin-left: 0;
  display: inline-block;
  flex-shrink: 0;
}
.k-cell-inner .k-sort-order {
  flex-shrink: 0;
  line-height: normal;
}
.k-cell-inner .k-grid-filter,
.k-cell-inner .k-header-column-menu,
.k-cell-inner .k-grid-header-menu {
  position: static;
  margin-inline-end: var(--kendo-grid-header-menu-spacing, var(--kendo-icon-spacing, 0.5rem));
}
.k-cell-inner .k-grid-filter,
.k-cell-inner .k-header-column-menu,
.k-cell-inner .k-grid-header-menu,
.k-cell-inner .k-hierarchy-cell .k-icon {
  text-align: center;
  display: inline-block;
  flex-shrink: 0;
}

.k-column-title {
  min-width: 0;
  text-overflow: ellipsis;
  white-space: nowrap;
  flex-shrink: 1;
  overflow: hidden;
}

.k-grid .k-grid-sm,
.k-grid-sm {
  --INTERNAL--kendo-grid-header-padding-x: var( --kendo-grid-header-padding-x-sm, var(--kendo-spacing-3, 0.75rem) );
  --INTERNAL--kendo-grid-header-padding-y: var( --kendo-grid-header-padding-y-sm, var(--kendo-spacing-1\.5, 0.375rem) );
  --INTERNAL--kendo-grid-grouping-header-padding-x: var( --kendo-grid-grouping-header-padding-x-sm, var(--kendo-spacing-1\.5, 0.375rem) );
  --INTERNAL--kendo-grid-grouping-header-padding-y: var( --kendo-grid-grouping-header-padding-y-sm, var(--kendo-spacing-1\.5, 0.375rem) );
  --INTERNAL--kendo-grid-cell-padding-x: var( --kendo-grid-cell-padding-x-sm, var(--kendo-spacing-3, 0.75rem) );
  --INTERNAL--kendo-grid-cell-padding-y: var( --kendo-grid-cell-padding-y-sm, var(--kendo-spacing-1\.5, 0.375rem) );
  --INTERNAL--kendo-grid-filter-cell-padding-x: var( --kendo-grid-filter-cell-padding-x-sm, var(--kendo-spacing-3, 0.75rem) );
  --INTERNAL--kendo-grid-filter-cell-padding-y: var( --kendo-grid-filter-cell-padding-y-sm, var(--kendo-spacing-2, 0.5rem) );
  --INTERNAL--kendo-grid-edit-cell-padding-x: var( --kendo-grid-edit-cell-padding-x-sm, var(--kendo-spacing-3, 0.75rem) );
  --INTERNAL--kendo-grid-edit-cell-padding-y: var( --kendo-grid-edit-cell-padding-y-sm, var(--kendo-spacing-0\.5, 0.125rem) );
  --INTERNAL--kendo-button-padding-y: var( --kendo-button-padding-y-sm, var(--kendo-spacing-1, 0.25rem) );
  --INTERNAL--kendo-button-calc-size: var( --kendo-button-calc-size-sm, calc(var(--kendo-line-height, normal) * 1em + var(--kendo-spacing-1, 0.25rem) * 2 + 1px * 2) );
  --INTERNAL--kendo-button-line-height: var( --kendo-button-line-height-sm,  );
  --INTERNAL--kendo-grid-group-drop-hint-height: var( --kendo-group-dropclue-height-sm, calc(calc(var(--kendo-line-height, normal) * 1em + var(--kendo-spacing-0\.5, 0.125rem) * 2 + 1px * 2) + 6px) );
  --INTERNAL--kendo-grid-selection-aggregates-padding-x: var( --kendo-grid-selection-aggregates-padding-x-sm, var(--kendo-spacing-1\.5, 0.375rem) );
  --INTERNAL--kendo-grid-selection-aggregates-padding-y: var( --kendo-grid-selection-aggregates-padding-y-sm, var(--kendo-spacing-1\.5, 0.375rem) );
}

.k-grid .k-grid-md,
.k-grid-md {
  --INTERNAL--kendo-grid-header-padding-x: var( --kendo-grid-header-padding-x-md, var(--kendo-spacing-3, 0.75rem) );
  --INTERNAL--kendo-grid-header-padding-y: var( --kendo-grid-header-padding-y-md, var(--kendo-spacing-3, 0.75rem) );
  --INTERNAL--kendo-grid-grouping-header-padding-x: var( --kendo-grid-grouping-header-padding-x-md, var(--kendo-spacing-2, 0.5rem) );
  --INTERNAL--kendo-grid-grouping-header-padding-y: var( --kendo-grid-grouping-header-padding-y-md, var(--kendo-spacing-2, 0.5rem) );
  --INTERNAL--kendo-grid-cell-padding-x: var( --kendo-grid-cell-padding-x-md, var(--kendo-spacing-3, 0.75rem) );
  --INTERNAL--kendo-grid-cell-padding-y: var( --kendo-grid-cell-padding-y-md, var(--kendo-spacing-3, 0.75rem) );
  --INTERNAL--kendo-grid-filter-cell-padding-x: var( --kendo-grid-filter-cell-padding-x-md, var(--kendo-spacing-3, 0.75rem) );
  --INTERNAL--kendo-grid-filter-cell-padding-y: var( --kendo-grid-filter-cell-padding-y-md, var(--kendo-spacing-3, 0.75rem) );
  --INTERNAL--kendo-grid-edit-cell-padding-x: var( --kendo-grid-edit-cell-padding-x-md, var(--kendo-spacing-3, 0.75rem) );
  --INTERNAL--kendo-grid-edit-cell-padding-y: var( --kendo-grid-edit-cell-padding-y-md, calc(var(--kendo-spacing-2\.5, 0.625rem) / 2) );
  --INTERNAL--kendo-button-padding-y: var( --kendo-button-padding-y-md, var(--kendo-spacing-1\.5, 0.375rem) );
  --INTERNAL--kendo-button-calc-size: var( --kendo-button-calc-size-md, calc(var(--kendo-line-height, normal) * 1em + var(--kendo-spacing-1\.5, 0.375rem) * 2 + 1px * 2) );
  --INTERNAL--kendo-button-line-height: var( --kendo-button-line-height-md,  );
  --INTERNAL--kendo-grid-group-drop-hint-height: var( --kendo-group-dropclue-height-md, calc(calc(var(--kendo-line-height, normal) * 1em + var(--kendo-spacing-0\.5, 0.125rem) * 2 + 1px * 2) + 6px) );
  --INTERNAL--kendo-grid-selection-aggregates-padding-x: var( --kendo-grid-selection-aggregates-padding-x-md, var(--kendo-spacing-2, 0.5rem) );
  --INTERNAL--kendo-grid-selection-aggregates-padding-y: var( --kendo-grid-selection-aggregates-padding-y-md, var(--kendo-spacing-2, 0.5rem) );
}

.k-loading-pdf-mask {
  position: absolute;
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
  z-index: 100;
}
.k-loading-pdf-mask > .k-i-loading {
  position: absolute;
  top: 50%;
  left: 50%;
  font-size: 64px;
}
.k-loading-pdf-mask .k-loading-pdf-progress {
  margin: auto;
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
}

.k-pdf-export .k-loading-pdf-mask {
  display: none;
}

.k-grid-pdf-export-element {
  position: absolute;
  left: -10000px;
  top: -10000px;
}
.k-grid-pdf-export-element .k-filter-row {
  display: none;
}

.k-pdf-export-shadow .k-grid {
  float: left;
  width: auto !important;
}
.k-pdf-export-shadow .k-grid,
.k-pdf-export-shadow .k-grid-content,
.k-pdf-export-shadow .k-grid-content-locked {
  height: auto !important;
  overflow: visible;
}
.k-pdf-export-shadow .k-grid-header-locked + .k-grid-header-wrap, .k-pdf-export-shadow .k-grid-header-locked + .k-grid-content, .k-pdf-export-shadow .k-grid-header-locked + .k-grid-footer-wrap {
  width: auto !important;
}
.k-pdf-export-shadow .k-grid-header,
.k-pdf-export-shadow .k-grid[data-role=grid] .k-grid-footer {
  padding: 0 !important;
}

.k-filter-menu-popup {
  min-width: var(--kendo-grid-column-menu-width, 230px);
  max-width: var(--kendo-grid-column-menu-max-width, 320px);
}

.k-filter-menu {
  box-sizing: border-box;
}

.k-filter-menu-container {
  padding-block-end: var(--kendo-filter-menu-container-padding-y, var(--kendo-spacing-3, 0.75rem));
  padding-inline: var(--kendo-filter-menu-container-padding-x, var(--kendo-spacing-3, 0.75rem));
  box-sizing: border-box;
  display: flex;
  flex-flow: column nowrap;
  align-items: stretch;
  gap: var(--kendo-grid-column-menu-spacing, var(--kendo-spacing-2, 0.5rem));
}
.k-filter-menu-container .k-filter-and {
  width: min-content;
  align-self: start;
}
.k-filter-menu-container .k-actions, .k-filter-menu-container .k-edit-buttons,
.k-filter-menu-container .k-action-buttons,
.k-filter-menu-container .k-columnmenu-actions, .k-filter-menu-container .k-form-buttons {
  margin: 0;
  padding-block-start: calc(var(--kendo-filter-menu-container-padding-y, var(--kendo-spacing-3, 0.75rem)) - var(--kendo-grid-column-menu-spacing, var(--kendo-spacing-2, 0.5rem)));
  padding-block-end: 0;
  padding-inline: 0;
}
.k-filter-menu-container kendo-numeric-filter-menu,
.k-filter-menu-container kendo-grid-string-filter-menu,
.k-filter-menu-container kendo-grid-date-filter-menu,
.k-filter-menu-container kendo-grid-numeric-filter-menu,
.k-filter-menu-container kendo-grid-filter-menu-input-wrapper,
.k-filter-menu-container kendo-treelist-string-filter-menu,
.k-filter-menu-container kendo-treelist-date-filter-menu,
.k-filter-menu-container kendo-treelist-numeric-filter-menu,
.k-filter-menu-container kendo-treelist-filter-menu-input-wrapper {
  display: flex;
  flex-flow: column nowrap;
  align-items: stretch;
  gap: var(--kendo-grid-column-menu-spacing, var(--kendo-spacing-2, 0.5rem));
}

.k-filter-menu.k-popup .k-filter-menu-container,
.k-grid-filter-popup.k-popup .k-filter-menu-container {
  min-width: var(--kendo-grid-column-menu-width, 230px);
  max-width: var(--kendo-grid-column-menu-max-width, 320px);
}

.k-multicheck-wrap {
  margin: 0;
  padding: 0;
  font-size: var(--kendo-grid-column-menu-multicheck-font-size, var(--kendo-font-size, inherit));
  line-height: var(--kendo-grid-column-menu-multicheck-line-height, var(--kendo-line-height, normal));
  white-space: nowrap;
  list-style: none;
}
.k-multicheck-wrap .k-item,
.k-multicheck-wrap .k-check-all-wrap {
  padding-block: var(--kendo-grid-column-menu-item-padding-y, var(--kendo-spacing-2, 0.5rem));
  padding-inline: var(--kendo-grid-column-menu-item-padding-x, var(--kendo-spacing-2, 0.5rem));
  display: flex;
  flex-flow: row nowrap;
}

.k-filter-selected-items {
  font-weight: var(--kendo-font-weight-bold, normal);
  line-height: normal;
  white-space: nowrap;
}

.k-autofitting {
  width: auto !important;
  table-layout: auto !important;
}
.k-autofitting .k-table-th,
.k-autofitting td,
.k-autofitting .k-table-td {
  white-space: nowrap !important;
}
.k-autofitting .k-detail-row {
  display: none !important;
}

.k-column-menu-popup,
.k-grid-columnmenu-popup {
  min-width: var(--kendo-grid-column-menu-width, 230px);
  box-sizing: border-box;
}
.k-column-menu-popup.k-popup,
.k-grid-columnmenu-popup.k-popup {
  max-width: var(--kendo-grid-column-menu-max-width, 320px);
}
.k-column-menu-popup .k-actions, .k-column-menu-popup .k-edit-buttons,
.k-column-menu-popup .k-action-buttons,
.k-column-menu-popup .k-columnmenu-actions, .k-column-menu-popup .k-form-buttons,
.k-grid-columnmenu-popup .k-actions,
.k-grid-columnmenu-popup .k-edit-buttons,
.k-grid-columnmenu-popup .k-action-buttons,
.k-grid-columnmenu-popup .k-columnmenu-actions,
.k-grid-columnmenu-popup .k-form-buttons {
  margin: 0;
}

.k-column-menu {
  box-sizing: border-box;
}
.k-column-menu .k-menu:not(.k-context-menu) {
  font-weight: var(--kendo-font-weight, 400);
}
.k-column-menu .k-expander {
  border: 0;
  background: inherit;
}
.k-column-menu .k-expander .k-columnmenu-item {
  display: flex;
  align-items: center;
}
.k-column-menu .k-columnmenu-indicators {
  padding-inline: var(--kendo-spacing-1, 0.25rem);
  display: flex;
  align-items: center;
  justify-content: center;
}
.k-column-menu .k-columnmenu-item:has(> .k-columnmenu-item-actions, > .k-columnmenu-indicators) {
  display: flex;
  align-items: center;
}

.k-column-menu-tabbed {
  border-radius: var(--kendo-tabstrip-item-border-radius, var(--kendo-border-radius-md, 0.25rem)) var(--kendo-tabstrip-item-border-radius, var(--kendo-border-radius-md, 0.25rem)) 0 0;
}
.k-column-menu-tabbed .k-tabstrip-items {
  margin: calc(var(--kendo-tabstrip-item-border-width, 0px) * -1) calc(var(--kendo-tabstrip-item-border-width, 0px) * -1) 0;
}
.k-column-menu-tabbed .k-tabstrip-items .k-item {
  flex: 1;
}
.k-column-menu-tabbed .k-tabstrip-items .k-link {
  justify-content: center;
}
.k-column-menu-tabbed .k-tabstrip-content {
  padding-inline: var(--kendo-grid-column-menu-tabbed-tabstrip-content-padding-x, var(--kendo-spacing-0, 0px));
  padding-block: var(--kendo-grid-column-menu-tabbed-tabstrip-content-padding-y, var(--kendo-spacing-3, 0.75rem));
  border-width: 0;
}

.k-column-list {
  padding: 0;
  margin: 0;
  list-style: none;
}

.k-column-chooser-title,
.k-column-list-item {
  padding-block: var(--kendo-grid-column-menu-item-padding-y, var(--kendo-spacing-2, 0.5rem));
  padding-inline: var(--kendo-grid-column-menu-item-padding-x, var(--kendo-spacing-2, 0.5rem));
}

.k-column-list-item {
  margin: 0;
  display: flex;
  flex-flow: row nowrap;
  align-items: center;
  gap: var(--kendo-grid-column-menu-item-gap, var(--kendo-spacing-2, 0.5rem));
  cursor: pointer;
  position: relative;
}
.k-column-list-item .k-checkbox-label {
  margin: 0;
}
.k-column-list-item:focus {
  outline: none;
}

.k-columns-items-wrap {
  padding-block: var(--kendo-grid-column-menu-items-wrap-padding-y, var(--kendo-spacing-2, 0.5rem));
  padding-inline: var(--kendo-grid-column-menu-items-wrap-padding-x, var(--kendo-spacing-2, 0.5rem));
}

.k-columnmenu-item {
  padding-block: var(--kendo-grid-column-menu-item-padding-y, var(--kendo-spacing-2, 0.5rem));
  padding-inline: var(--kendo-grid-column-menu-item-padding-x, var(--kendo-spacing-2, 0.5rem));
  outline: 0;
  cursor: pointer;
}
.k-columnmenu-item > .k-icon,
.k-columnmenu-item > .k-expander-indicator {
  margin-inline-end: var(--kendo-grid-column-menu-item-icon-spacing, var(--kendo-icon-spacing, 0.5rem));
}

.k-columnmenu-item-wrapper + .k-columnmenu-item-wrapper,
.k-column-menu-footer {
  border-top: 1px solid;
  border-top-color: var(--kendo-component-border, inherit);
}

.k-columnmenu-item-content {
  overflow: hidden;
}

.k-column-menu-group-header {
  padding-block: var(--kendo-grid-column-menu-group-header-padding-y, var(--kendo-spacing-2, 0.5rem));
  padding-inline: var(--kendo-grid-column-menu-group-header-padding-x, var(--kendo-spacing-2, 0.5rem));
  display: flex;
  flex: 0 0 auto;
  position: relative;
  user-select: none;
}

.k-column-menu-group-header-text {
  border-bottom-width: var(--kendo-grid-column-menu-group-header-border-width, 1px);
  border-bottom-style: var(--kendo-grid-column-menu-group-header-border-style, solid);
  font-size: var(--kendo-grid-column-menu-group-header-font-size, var(--kendo-font-size-sm, inherit));
  line-height: var(--kendo-grid-column-menu-group-header-line-height, var(--kendo-line-height, normal));
  font-weight: var(--kendo-grid-column-menu-group-header-font-weight, var(--kendo-font-weight-bold, normal));
  text-transform: var(--kendo-grid-column-menu-group-header-text-transform, uppercase);
  flex: 1 1 auto;
}

.k-rtl .k-grid-virtual .k-grid-content .k-grid-table-wrap,
.k-rtl .k-grid-virtual .k-grid-content .k-grid-table,
.k-rtl .k-grid-virtual .k-grid-content > .k-height-container,
[dir=rtl] .k-grid-virtual .k-grid-content .k-grid-table-wrap,
[dir=rtl] .k-grid-virtual .k-grid-content .k-grid-table,
[dir=rtl] .k-grid-virtual .k-grid-content > .k-height-container,
.k-rtl.k-grid-virtual .k-grid-content .k-grid-table-wrap,
.k-rtl.k-grid-virtual .k-grid-content .k-grid-table,
.k-rtl.k-grid-virtual .k-grid-content > .k-height-container,
[dir=rtl].k-grid-virtual .k-grid-content .k-grid-table-wrap,
[dir=rtl].k-grid-virtual .k-grid-content .k-grid-table,
[dir=rtl].k-grid-virtual .k-grid-content > .k-height-container {
  float: right;
}

.k-grid-header,
.k-grid-header-wrap,
.k-grouping-header,
.k-grid td,
.k-grid .k-table-td,
.k-grid-footer,
.k-grid-footer-wrap,
.k-grid-content-locked,
.k-grid-footer-locked,
.k-grid-header-locked,
.k-filter-row > td,
.k-filter-row > .k-table-td,
.k-filter-row > .k-table-th {
  border-color: var(--kendo-grid-header-border, var(--kendo-component-border, initial));
}

.k-grid .k-table {
  background-color: inherit;
}

.k-grid-add-row {
  color: var(--kendo-grid-header-text, var(--kendo-color-on-app-surface, #323130));
  background-color: var(--kendo-grid-header-bg, var(--kendo-component-bg, initial));
}

.k-grouping-header,
.k-grid-grouping-header {
  border-color: var(--kendo-grid-grouping-header-border, var(--kendo-component-border, initial));
  color: var(--kendo-grid-grouping-header-text, var(--kendo-component-text, inherit));
  background-color: var(--kendo-grid-grouping-header-bg, var(--kendo-color-surface, #faf9f8));
}

.k-grid-content {
  background-color: var(--kendo-grid-bg, var(--kendo-component-bg, initial));
}

.k-group-footer td,
.k-grouping-row td,
.k-group-footer .k-table-td,
.k-grouping-row .k-table-td,
.k-table-tbody .k-group-cell {
  border-color: var(--kendo-grid-grouping-row-border, var(--kendo-component-border, initial));
  color: var(--kendo-grid-grouping-row-text, var(--kendo-color-on-app-surface, #323130));
  background-color: var(--kendo-grid-grouping-row-bg, var(--kendo-component-bg, initial));
}

.k-grouping-dropclue::before, .k-reorder-cue::before, .k-grouping-dropclue::after, .k-reorder-cue::after {
  background-color: var(--kendo-grid-group-drop-hint-bg, var(--kendo-color-primary, #0078d4));
}

.k-grid {
  border-color: var(--kendo-grid-border, var(--kendo-component-border, initial));
  color: var(--kendo-grid-text, var(--kendo-component-text, initial));
  background-color: var(--kendo-grid-bg, var(--kendo-component-bg, initial));
}
.k-grid .k-table-tbody > .k-table-row:not(.k-detail-row):hover,
.k-grid .k-table-tbody > .k-table-row:not(.k-detail-row).k-hover {
  border-color: var(--kendo-grid-hover-border, var(--kendo-component-border, initial));
  color: var(--kendo-grid-hover-text, var(--kendo-hover-text, inherit));
  background-color: var(--kendo-grid-hover-bg, var(--kendo-hover-bg, inherit));
}
.k-grid td.k-selected,
.k-grid .k-table-row.k-selected > td,
.k-grid .k-table-td.k-selected,
.k-grid .k-table-row.k-selected > .k-table-td {
  color: var(--kendo-grid-selected-text, var(--kendo-component-text, initial));
  background-color: var(--kendo-grid-selected-bg, color-mix(in srgb, var(--kendo-color-primary, #0078d4) 13%, transparent));
  border-block-color: var(--kendo-grid-selected-border, var(--kendo-component-border, initial));
}
.k-grid td:focus,
.k-grid td.k-focus,
.k-grid .k-table-td:focus,
.k-grid .k-table-td.k-focus,
.k-grid .k-table-th:focus,
.k-grid .k-table-th.k-focus,
.k-grid .k-master-row > td:focus,
.k-grid .k-grouping-row > td:focus,
.k-grid .k-detail-row > td:focus,
.k-grid .k-group-footer > td:focus,
.k-grid .k-master-row > .k-table-td:focus,
.k-grid .k-grouping-row > .k-table-td:focus,
.k-grid .k-detail-row > .k-table-td:focus,
.k-grid .k-group-footer > .k-table-td:focus,
.k-grid .k-grid-pager.k-focus {
  box-shadow: var(--kendo-grid-focus-shadow, inset 0 0 0 1px var(--kendo-color-base-emphasis, #605e5c));
}
.k-grid .k-grid-filter,
.k-grid .k-header-column-menu,
.k-grid .k-grid-header-menu,
.k-grid .k-hierarchy-cell .k-icon {
  color: var(--kendo-grid-header-text, var(--kendo-color-on-app-surface, #323130));
}
.k-grid .k-grouping-row {
  background-color: var(--kendo-grid-grouping-row-bg, var(--kendo-component-bg, initial));
}
.k-grid .k-grouping-row .k-icon {
  color: var(--kendo-grid-header-text, var(--kendo-color-on-app-surface, #323130));
}
.k-grid .k-grouping-row .k-grid-content-sticky {
  border-color: var(--kendo-grid-sticky-border, color-mix(in srgb, var(--kendo-color-border, #8a8886) 80%, transparent));
  border-top-color: var(--kendo-grid-header-border, var(--kendo-component-border, initial));
}
.k-grid .k-grid-header-locked,
.k-grid .k-grid-content-locked,
.k-grid .k-grid-footer-locked,
.k-grid .k-grid-header-locked .k-table-th,
.k-grid .k-grid-content-locked td,
.k-grid .k-grid-content-locked .k-table-td,
.k-grid .k-grid-footer-locked td,
.k-grid .k-grid-footer-locked .k-table-td {
  border-inline-color: var(--kendo-grid-sticky-header-border, color-mix(in srgb, var(--kendo-color-border, #8a8886) 80%, transparent));
}
.k-grid .k-grid-content-locked .k-group-footer td,
.k-grid .k-grid-content-locked .k-group-footer .k-table-td {
  border-color: var(--kendo-grid-header-border, var(--kendo-component-border, initial));
}
.k-grid .k-grid-content-locked .k-grouping-row + .k-table-row td,
.k-grid .k-grid-content-locked .k-grouping-row + .k-table-row .k-table-td {
  border-top-color: var(--kendo-grid-header-border, var(--kendo-component-border, initial));
}
.k-grid .k-grid-content-locked .k-selected td,
.k-grid .k-grid-content-locked .k-selected .k-table-td {
  background-color: var(--kendo-grid-sticky-selected-bg, color-mix(in srgb, var(--kendo-color-primary, #0078d4) 13%, transparent));
}
.k-grid .k-grid-content-locked .k-selected.k-table-alt-row td,
.k-grid .k-grid-content-locked .k-selected.k-table-alt-row .k-table-td {
  background-color: var(--kendo-grid-sticky-selected-alt-bg, color-mix(in srgb, var(--kendo-color-primary, #0078d4) 13%, transparent));
}
.k-grid .k-grid-content-locked .k-selected:hover td,
.k-grid .k-grid-content-locked .k-selected.k-hover td,
.k-grid .k-grid-content-locked .k-selected:hover .k-table-td,
.k-grid .k-grid-content-locked .k-selected.k-hover .k-table-td {
  background-color: var(--kendo-grid-sticky-selected-hover-bg, color-mix(in srgb, var(--kendo-color-primary, #0078d4) 13%, transparent));
}
.k-grid .k-grid-header-locked .k-table-th {
  border-bottom-color: var(--kendo-grid-header-border, var(--kendo-component-border, initial));
}

col.k-sorted,
.k-table-th.k-sorted {
  background-color: var(--kendo-grid-sorted-bg, var(--kendo-color-surface, #faf9f8));
}

.k-grid-header {
  border-color: var(--kendo-grid-header-border, var(--kendo-component-border, initial));
  color: var(--kendo-grid-header-text, var(--kendo-color-on-app-surface, #323130));
  background-color: var(--kendo-grid-header-bg, var(--kendo-component-bg, initial));
}
.k-grid-header .k-sort-icon {
  color: var(--kendo-grid-sort-indicator-text, var(--kendo-color-subtle, #605e5c));
}
.k-grid-header .k-sort-order {
  color: var(--kendo-grid-sort-indicator-order-text, var(--kendo-color-primary, #0078d4));
}
.k-grid-header .k-grid-filter:hover,
.k-grid-header .k-header-column-menu:hover,
.k-grid-header .k-grid-header-menu:hover,
.k-grid-header .k-hierarchy-cell .k-icon:hover {
  color: var(--kendo-hover-text, inherit);
  background-color: var(--kendo-hover-bg, inherit);
}
.k-grid-header .k-grid-filter:focus, .k-grid-header .k-grid-filter.k-focus,
.k-grid-header .k-header-column-menu:focus,
.k-grid-header .k-header-column-menu.k-focus,
.k-grid-header .k-grid-header-menu:focus,
.k-grid-header .k-grid-header-menu.k-focus,
.k-grid-header .k-hierarchy-cell .k-icon:focus,
.k-grid-header .k-hierarchy-cell .k-icon.k-focus {
  box-shadow: inset 0 0 0 2px color-mix(in srgb, var(--kendo-color-on-app-surface, #323130) 10%, transparent);
}
.k-grid-header .k-grid-filter.k-active,
.k-grid-header .k-header-column-menu.k-active,
.k-grid-header .k-grid-header-menu.k-active,
.k-grid-header .k-hierarchy-cell .k-icon.k-active {
  color: var(--kendo-selected-text, inherit);
  background-color: var(--kendo-selected-bg, inherit);
}
.k-grid-header .k-table-th.k-grid-header-sticky,
.k-grid-header td.k-grid-header-sticky,
.k-grid-header .k-table-td.k-grid-header-sticky,
.k-grid-header .k-grid-header-sticky.k-sorted {
  color: var(--kendo-grid-sticky-header-text, var(--kendo-color-on-app-surface, #323130));
  background-color: var(--kendo-grid-sticky-header-bg, var(--kendo-component-bg, initial));
  border-inline-color: var(--kendo-grid-sticky-header-border, color-mix(in srgb, var(--kendo-color-border, #8a8886) 80%, transparent));
}

.k-grid-footer {
  border-color: var(--kendo-grid-footer-border, var(--kendo-component-border, initial));
  color: var(--kendo-grid-footer-text, var(--kendo-color-on-app-surface, #323130));
  background-color: var(--kendo-grid-footer-bg, var(--kendo-component-bg, initial));
}
.k-grid-footer .k-grid-footer-sticky {
  border-inline-color: var(--kendo-grid-sticky-border, color-mix(in srgb, var(--kendo-color-border, #8a8886) 80%, transparent));
  background-color: var(--kendo-grid-sticky-footer-bg, var(--kendo-component-bg, initial));
}

.k-selection-aggregates {
  border-color: var(--kendo-grid-selection-aggregates-border, var(--kendo-component-border, initial));
  color: var(--kendo-grid-selection-aggregates-text, var(--kendo-component-text, initial));
  background-color: var(--kendo-grid-selection-aggregates-bg, var(--kendo-color-surface, #faf9f8));
}

.k-master-row .k-grid-content-sticky {
  border-inline-color: var(--kendo-grid-sticky-border, color-mix(in srgb, var(--kendo-color-border, #8a8886) 80%, transparent));
  border-block-start-color: var(--kendo-grid-header-border, var(--kendo-component-border, initial));
  background-color: var(--kendo-grid-sticky-bg, var(--kendo-component-bg, initial));
}
.k-master-row .k-grid-row-sticky, .k-master-row.k-grid-row-sticky > .k-table-td {
  border-block-color: var(--kendo-grid-sticky-border, color-mix(in srgb, var(--kendo-color-border, #8a8886) 80%, transparent));
  background-color: var(--kendo-grid-sticky-bg, var(--kendo-component-bg, initial));
}
.k-master-row.k-table-alt-row .k-grid-content-sticky, .k-master-row.k-table-alt-row.k-grid-row-sticky > .k-table-td,
.k-master-row.k-table-alt-row .k-grid-row-sticky {
  background-color: var(--kendo-grid-sticky-alt-bg, var(--kendo-component-bg, initial));
}
.k-master-row.k-table-row.k-selected td.k-grid-content-sticky, .k-master-row.k-table-row.k-selected.k-grid-row-sticky > .k-table-td, .k-master-row.k-table-row.k-selected .k-table-td.k-grid-row-sticky, .k-master-row.k-table-row td.k-grid-content-sticky.k-selected, .k-master-row.k-table-row .k-table-td.k-grid-content-sticky.k-selected {
  background-color: var(--kendo-grid-sticky-bg, var(--kendo-component-bg, initial));
}
.k-master-row.k-table-row.k-selected td.k-grid-content-sticky::before, .k-master-row.k-table-row.k-selected.k-grid-row-sticky > .k-table-td::before, .k-master-row.k-table-row.k-selected .k-table-td.k-grid-row-sticky::before, .k-master-row.k-table-row td.k-grid-content-sticky.k-selected::before, .k-master-row.k-table-row .k-table-td.k-grid-content-sticky.k-selected::before {
  background-color: var(--kendo-grid-sticky-selected-bg, color-mix(in srgb, var(--kendo-color-primary, #0078d4) 13%, transparent));
}
.k-master-row.k-selected.k-table-alt-row td.k-grid-content-sticky, .k-master-row.k-selected.k-table-alt-row.k-grid-row-sticky > .k-table-td, .k-master-row.k-selected.k-table-alt-row .k-table-td.k-grid-row-sticky, .k-master-row.k-table-alt-row td.k-grid-content-sticky.k-selected, .k-master-row.k-table-alt-row .k-table-td.k-grid-content-sticky.k-selected {
  background-color: var(--kendo-grid-sticky-alt-bg, var(--kendo-component-bg, initial));
}
.k-master-row.k-selected.k-table-alt-row td.k-grid-content-sticky::before, .k-master-row.k-selected.k-table-alt-row.k-grid-row-sticky > .k-table-td::before, .k-master-row.k-selected.k-table-alt-row .k-table-td.k-grid-row-sticky::before, .k-master-row.k-table-alt-row td.k-grid-content-sticky.k-selected::before, .k-master-row.k-table-alt-row .k-table-td.k-grid-content-sticky.k-selected::before {
  background-color: var(--kendo-grid-sticky-selected-alt-bg, color-mix(in srgb, var(--kendo-color-primary, #0078d4) 13%, transparent));
}
.k-master-row:hover .k-grid-content-sticky, .k-master-row:hover .k-grid-row-sticky, .k-master-row:hover.k-grid-row-sticky > .k-table-td, .k-master-row.k-hover .k-grid-content-sticky, .k-master-row.k-hover .k-grid-row-sticky, .k-master-row.k-hover.k-grid-row-sticky > .k-table-td {
  background-color: var(--kendo-grid-sticky-hover-bg, var(--kendo-hover-bg, inherit));
}
.k-master-row.k-selected:hover td.k-grid-content-sticky, .k-master-row.k-selected:hover .k-table-td.k-grid-row-sticky, .k-master-row.k-selected:hover.k-grid-row-sticky > .k-table-td, .k-master-row.k-selected.k-hover td.k-grid-content-sticky, .k-master-row.k-selected.k-hover .k-table-td.k-grid-row-sticky, .k-master-row.k-selected.k-hover.k-grid-row-sticky > .k-table-td, .k-master-row:hover td.k-grid-content-sticky.k-selected, .k-master-row.k-hover td.k-grid-content-sticky.k-selected, .k-master-row:hover .k-table-td.k-grid-content-sticky.k-selected, .k-master-row.k-hover .k-table-td.k-grid-content-sticky.k-selected {
  background-color: var(--kendo-grid-sticky-hover-bg, var(--kendo-hover-bg, inherit));
}
.k-master-row.k-selected:hover td.k-grid-content-sticky::before, .k-master-row.k-selected:hover .k-table-td.k-grid-row-sticky::before, .k-master-row.k-selected:hover.k-grid-row-sticky > .k-table-td::before, .k-master-row.k-selected.k-hover td.k-grid-content-sticky::before, .k-master-row.k-selected.k-hover .k-table-td.k-grid-row-sticky::before, .k-master-row.k-selected.k-hover.k-grid-row-sticky > .k-table-td::before, .k-master-row:hover td.k-grid-content-sticky.k-selected::before, .k-master-row.k-hover td.k-grid-content-sticky.k-selected::before, .k-master-row:hover .k-table-td.k-grid-content-sticky.k-selected::before, .k-master-row.k-hover .k-table-td.k-grid-content-sticky.k-selected::before {
  background-color: var(--kendo-grid-sticky-selected-hover-bg, color-mix(in srgb, var(--kendo-color-primary, #0078d4) 13%, transparent));
}

.k-grouping-row .k-grid-content-sticky {
  background-color: var(--kendo-grid-sticky-header-bg, var(--kendo-component-bg, initial));
}
.k-grouping-row:hover .k-grid-content-sticky, .k-grouping-row.k-hover .k-grid-content-sticky {
  background-color: var(--kendo-grid-sticky-hover-bg, var(--kendo-hover-bg, inherit));
}

.k-filter-menu.k-popup,
.k-column-menu.k-popup {
  box-shadow: var(--kendo-grid-column-menu-shadow, var(--kendo-box-shadow-depth-4, none));
}

.k-column-menu .k-menu:not(.k-context-menu) {
  border-color: var(--kendo-grid-column-menu-border, var(--kendo-component-border, inherit));
  color: var(--kendo-grid-column-menu-text, var(--kendo-component-text, inherit));
  background-color: var(--kendo-grid-column-menu-bg, var(--kendo-component-bg, inherit));
}
.k-column-menu .k-columnmenu-item,
.k-column-menu .k-column-list-item,
.k-column-menu .k-menu:not(.k-context-menu) .k-item {
  color: var(--kendo-grid-column-menu-item-text, var(--kendo-color-on-app-surface, #323130));
  background-color: var(--kendo-grid-column-menu-item-bg, var(--kendo-color-app-surface, #ffffff));
}
.k-column-menu .k-columnmenu-item .k-icon,
.k-column-menu .k-column-list-item .k-icon,
.k-column-menu .k-menu:not(.k-context-menu) .k-item .k-icon {
  color: var(--kendo-grid-column-menu-item-icon-text, var(--kendo-color-primary, #0078d4));
}
.k-column-menu .k-columnmenu-item:hover, .k-column-menu .k-columnmenu-item.k-hover,
.k-column-menu .k-column-list-item:hover,
.k-column-menu .k-column-list-item.k-hover,
.k-column-menu .k-menu:not(.k-context-menu) .k-item:hover,
.k-column-menu .k-menu:not(.k-context-menu) .k-item.k-hover {
  color: var(--kendo-grid-column-menu-item-hover-text, var(--kendo-color-on-app-surface, #323130));
  background-color: var(--kendo-grid-column-menu-item-hover-bg, var(--kendo-color-base-hover, #f3f2f1));
}
.k-column-menu .k-columnmenu-item:focus, .k-column-menu .k-columnmenu-item.k-focus,
.k-column-menu .k-column-list-item:focus,
.k-column-menu .k-column-list-item.k-focus,
.k-column-menu .k-menu:not(.k-context-menu) .k-item:focus,
.k-column-menu .k-menu:not(.k-context-menu) .k-item.k-focus {
  box-shadow: var(--kendo-grid-column-menu-item-focus-shadow, inset 0 0 0 1px var(--kendo-color-base-emphasis, #605e5c));
}
.k-column-menu .k-columnmenu-item.k-selected,
.k-column-menu .k-column-list-item.k-selected,
.k-column-menu .k-menu:not(.k-context-menu) .k-item.k-selected {
  color: var(--kendo-grid-column-menu-item-selected-text, var(--kendo-color-on-app-surface, #323130));
  background-color: var(--kendo-grid-column-menu-item-selected-bg, var(--kendo-color-base-active, #edebe9));
}
.k-column-menu .k-columnmenu-item.k-disabled .k-link, .k-column-menu .k-columnmenu-item.k-disabled .k-icon,
.k-column-menu .k-column-list-item.k-disabled .k-link,
.k-column-menu .k-column-list-item.k-disabled .k-icon,
.k-column-menu .k-menu:not(.k-context-menu) .k-item.k-disabled .k-link,
.k-column-menu .k-menu:not(.k-context-menu) .k-item.k-disabled .k-icon {
  outline: none;
  cursor: default;
  color: var(--kendo-disabled-text, inherit);
  pointer-events: none;
  box-shadow: none;
}
.k-column-menu .k-check-all-wrap {
  border-color: var(--kendo-component-border, initial);
}
.k-column-menu .k-listgroup-item.k-disabled {
  outline: none;
  cursor: default;
  background-color: var(--kendo-disabled-bg, inherit);
  pointer-events: none;
  box-shadow: none;
}

.k-column-menu-tabbed {
  background-color: var(--kendo-grid-column-menu-tabbed-bg, var(--kendo-base-bg, inherit));
}

.k-column-menu-group-header-text {
  border-color: var(--kendo-grid-column-menu-group-header-border, var(--kendo-component-border, inherit));
  color: var(--kendo-grid-column-menu-group-header-text, var(--kendo-component-text, inherit));
  background-color: var(--kendo-grid-column-menu-group-header-bg, var(--kendo-component-bg, inherit));
}

.k-grid-norecords-template {
  background-color: var(--kendo-component-bg, initial);
  border-color: var(--kendo-component-border, initial);
}

.k-resizer-wrap.k-hover .k-row-resizer {
  background-color: var(--kendo-grid-row-resizer-hover-bg, color-mix(in srgb, var(--kendo-color-on-app-surface, #323130) 46%, transparent));
}
.k-resizer-wrap.k-active .k-row-resizer {
  background-color: var(--kendo-grid-row-resizer-active-bg, var(--kendo-color-primary, #0078d4));
}

.k-columnmenu-indicators {
  color: var(--kendo-grid-sort-indicator-order-text, var(--kendo-color-primary, #0078d4));
}

.k-touch-action-none {
  touch-action: none;
}

.\!k-touch-action-none {
  touch-action: none !important;
}

.k-touch-action-auto {
  touch-action: auto;
}

.\!k-touch-action-auto {
  touch-action: auto !important;
}

.k-touch-action-pan-x {
  touch-action: pan-x;
}

.\!k-touch-action-pan-x {
  touch-action: pan-x !important;
}

.k-touch-action-pan-left {
  touch-action: pan-left;
}

.\!k-touch-action-pan-left {
  touch-action: pan-left !important;
}

.k-touch-action-pan-right {
  touch-action: pan-right;
}

.\!k-touch-action-pan-right {
  touch-action: pan-right !important;
}

.k-touch-action-pan-y {
  touch-action: pan-y;
}

.\!k-touch-action-pan-y {
  touch-action: pan-y !important;
}

.k-touch-action-pan-up {
  touch-action: pan-up;
}

.\!k-touch-action-pan-up {
  touch-action: pan-up !important;
}

.k-touch-action-pan-down {
  touch-action: pan-down;
}

.\!k-touch-action-pan-down {
  touch-action: pan-down !important;
}

.k-touch-action-pinch-zoom {
  touch-action: pinch-zoom;
}

.\!k-touch-action-pinch-zoom {
  touch-action: pinch-zoom !important;
}

.k-touch-action-manipulation {
  touch-action: manipulation;
}

.\!k-touch-action-manipulation {
  touch-action: manipulation !important;
}

.k-user-select-none {
  user-select: none;
}

.\!k-user-select-none {
  user-select: none !important;
}

.k-user-select-auto {
  user-select: auto;
}

.\!k-user-select-auto {
  user-select: auto !important;
}

.k-user-select-text {
  user-select: text;
}

.\!k-user-select-text {
  user-select: text !important;
}

.k-user-select-all {
  user-select: all;
}

.\!k-user-select-all {
  user-select: all !important;
}

.k-user-select-contain {
  user-select: contain;
}

.\!k-user-select-contain {
  user-select: contain !important;
}

.k-cursor-none {
  cursor: none;
}

.\!k-cursor-none {
  cursor: none !important;
}

.k-cursor-auto {
  cursor: auto;
}

.\!k-cursor-auto {
  cursor: auto !important;
}

.k-cursor-default {
  cursor: default;
}

.\!k-cursor-default {
  cursor: default !important;
}

.k-cursor-context-menu {
  cursor: context-menu;
}

.\!k-cursor-context-menu {
  cursor: context-menu !important;
}

.k-cursor-help {
  cursor: help;
}

.\!k-cursor-help {
  cursor: help !important;
}

.k-cursor-pointer {
  cursor: pointer;
}

.\!k-cursor-pointer {
  cursor: pointer !important;
}

.k-cursor-progress {
  cursor: progress;
}

.\!k-cursor-progress {
  cursor: progress !important;
}

.k-cursor-wait {
  cursor: wait;
}

.\!k-cursor-wait {
  cursor: wait !important;
}

.k-cursor-cell {
  cursor: cell;
}

.\!k-cursor-cell {
  cursor: cell !important;
}

.k-cursor-crosshair {
  cursor: crosshair;
}

.\!k-cursor-crosshair {
  cursor: crosshair !important;
}

.k-cursor-text {
  cursor: text;
}

.\!k-cursor-text {
  cursor: text !important;
}

.k-cursor-vertical-text {
  cursor: vertical-text;
}

.\!k-cursor-vertical-text {
  cursor: vertical-text !important;
}

.k-cursor-alias {
  cursor: alias;
}

.\!k-cursor-alias {
  cursor: alias !important;
}

.k-cursor-copy {
  cursor: copy;
}

.\!k-cursor-copy {
  cursor: copy !important;
}

.k-cursor-move {
  cursor: move;
}

.\!k-cursor-move {
  cursor: move !important;
}

.k-cursor-no-drop {
  cursor: no-drop;
}

.\!k-cursor-no-drop {
  cursor: no-drop !important;
}

.k-cursor-not-allowed {
  cursor: not-allowed;
}

.\!k-cursor-not-allowed {
  cursor: not-allowed !important;
}

.k-cursor-e-resize {
  cursor: e-resize;
}

.\!k-cursor-e-resize {
  cursor: e-resize !important;
}

.k-cursor-n-resize {
  cursor: n-resize;
}

.\!k-cursor-n-resize {
  cursor: n-resize !important;
}

.k-cursor-ne-resize {
  cursor: ne-resize;
}

.\!k-cursor-ne-resize {
  cursor: ne-resize !important;
}

.k-cursor-nw-resize {
  cursor: nw-resize;
}

.\!k-cursor-nw-resize {
  cursor: nw-resize !important;
}

.k-cursor-s-resize {
  cursor: s-resize;
}

.\!k-cursor-s-resize {
  cursor: s-resize !important;
}

.k-cursor-se-resize {
  cursor: se-resize;
}

.\!k-cursor-se-resize {
  cursor: se-resize !important;
}

.k-cursor-sw-resize {
  cursor: sw-resize;
}

.\!k-cursor-sw-resize {
  cursor: sw-resize !important;
}

.k-cursor-w-resize {
  cursor: w-resize;
}

.\!k-cursor-w-resize {
  cursor: w-resize !important;
}

.k-cursor-ew-resize {
  cursor: ew-resize;
}

.\!k-cursor-ew-resize {
  cursor: ew-resize !important;
}

.k-cursor-ns-resize {
  cursor: ns-resize;
}

.\!k-cursor-ns-resize {
  cursor: ns-resize !important;
}

.k-cursor-nesw-resize {
  cursor: nesw-resize;
}

.\!k-cursor-nesw-resize {
  cursor: nesw-resize !important;
}

.k-cursor-nwse-resize {
  cursor: nwse-resize;
}

.\!k-cursor-nwse-resize {
  cursor: nwse-resize !important;
}

.k-cursor-col-resize {
  cursor: col-resize;
}

.\!k-cursor-col-resize {
  cursor: col-resize !important;
}

.k-cursor-row-resize {
  cursor: row-resize;
}

.\!k-cursor-row-resize {
  cursor: row-resize !important;
}

.k-cursor-all-scroll {
  cursor: all-scroll;
}

.\!k-cursor-all-scroll {
  cursor: all-scroll !important;
}

.k-cursor-zoom-in {
  cursor: zoom-in;
}

.\!k-cursor-zoom-in {
  cursor: zoom-in !important;
}

.k-cursor-zoom-out {
  cursor: zoom-out;
}

.\!k-cursor-zoom-out {
  cursor: zoom-out !important;
}

.k-cursor-grab {
  cursor: grab;
}

.\!k-cursor-grab {
  cursor: grab !important;
}

.k-cursor-grabbing {
  cursor: grabbing;
}

.\!k-cursor-grabbing {
  cursor: grabbing !important;
}

.k-listview {
  margin: 0;
  padding: 0;
  border-width: 0;
  border-style: solid;
  box-sizing: border-box;
  outline: 0;
  font-family: var(--kendo-listview-font-family, var(--kendo-font-family, initial));
  font-size: var(--kendo-listview-font-size, var(--kendo-font-size, initial));
  line-height: var(--kendo-listview-line-height, var(--kendo-line-height, initial));
  display: flex;
  flex-flow: column nowrap;
  position: relative;
  -webkit-touch-callout: none;
  -webkit-tap-highlight-color: transparent;
}

.k-listview-bordered {
  border-width: var(--kendo-listview-border-width, 1px);
}

.k-listview-content {
  margin: 0;
  padding: 0;
  outline: 0;
  flex-grow: 1;
  position: relative;
  overflow: auto;
}
.k-listview-content::after {
  height: 0;
  clear: both;
  display: block;
}

.k-listview-content.k-d-flex::after, .k-listview-content.k-d-flex-row::after, .k-listview-content.k-d-flex-col::after,
.k-listview-content.k-d-grid::after {
  display: none;
}

.k-listview-content.k-d-grid {
  grid-gap: var(--kendo-listview-grid-gap, var(--kendo-spacing-0, 0px));
}

.k-listview-content-padding-rectangle {
  padding-inline: var(--kendo-listview-padding-x, var(--kendo-spacing-1, 0.25rem));
  padding-block: var(--kendo-listview-padding-y, var(--kendo-spacing-1, 0.25rem));
}

.k-listview-content-padding-square {
  padding: var(--kendo-listview-padding-y, var(--kendo-spacing-1, 0.25rem));
}

.k-listview-item {
  padding: 0;
  border-width: 0;
  outline: 0;
  border-style: solid;
  box-sizing: border-box;
  flex-shrink: 0;
}

.k-listview-item-padding-rectangle {
  padding-inline: var(--kendo-listview-item-padding-x, var(--kendo-spacing-1, 0.25rem));
  padding-block: var(--kendo-listview-item-padding-y, var(--kendo-spacing-1, 0.25rem));
}

.k-listview-item-padding-rectangle .k-listview-link {
  margin-inline: calc(var(--kendo-listview-item-padding-x, var(--kendo-spacing-1, 0.25rem)) * -1);
  margin-block: calc(var(--kendo-listview-item-padding-y, var(--kendo-spacing-1, 0.25rem)) * -1);
  padding-inline: var(--kendo-listview-item-padding-x, var(--kendo-spacing-1, 0.25rem));
  padding-block: var(--kendo-listview-item-padding-y, var(--kendo-spacing-1, 0.25rem));
}

.k-listview-item-padding-square {
  padding: var(--kendo-listview-item-padding-y, var(--kendo-spacing-1, 0.25rem));
}

.k-listview-item-padding-square .k-listview-link {
  margin: -var(--kendo-spacing-1, 0.25rem);
  padding: var(--kendo-listview-item-padding-y, var(--kendo-spacing-1, 0.25rem));
}

.k-listview-header {
  border-width: 0;
  border-style: solid;
  border-color: inherit;
  padding-inline: var(--kendo-listview-header-padding-x, var(--kendo-spacing-4, 1rem));
  padding-block: var(--kendo-listview-header-padding-y, var(--kendo-spacing-2, 0.5rem));
}

.k-listview-bordered > .k-listview-header {
  border-block-end-width: var(--kendo-listview-border-width, 1px);
}

.k-listview-footer {
  border-width: 0;
  border-style: solid;
  border-color: inherit;
  padding-inline: var(--kendo-listview-footer-padding-x, var(--kendo-spacing-4, 1rem));
  padding-block: var(--kendo-listview-footer-padding-y, var(--kendo-spacing-2, 0.5rem));
}

.k-listview-bordered > .k-listview-footer {
  border-block-start-width: var(--kendo-listview-border-width, 1px);
}

.k-listview-pager {
  border-width: 0;
  border-color: inherit;
}

.k-listview-bordered > .k-listview-pager-top {
  border-block-end-width: var(--kendo-listview-border-width, 1px);
}

.k-listview-bordered > .k-listview-pager-bottom {
  border-block-start-width: var(--kendo-listview-border-width, 1px);
}

.k-listview-borders-all .k-listview-item {
  border-width: var(--kendo-listview-border-width, 1px);
}

.k-listview-borders-horizontal .k-listview-item {
  border-block-start-width: var(--kendo-listview-border-width, 1px);
}
.k-listview-borders-horizontal .k-listview-item:first-child {
  border-block-start-width: 0;
}

.k-listview-borders-vertical .k-listview-item {
  border-inline-start-width: var(--kendo-listview-border-width, 1px);
}
.k-listview-borders-vertical .k-listview-item:first-child {
  border-inline-start-width: 0;
}

.k-listview {
  border-color: var(--kendo-listview-border, var(--kendo-component-border, initial));
  color: var(--kendo-listview-text, var(--kendo-component-text, initial));
  background-color: var(--kendo-listview-bg, var(--kendo-component-bg, initial));
}

.k-listview-content > .k-focus {
  color: var(--kendo-listview-item-focus-text, initial);
  background-color: var(--kendo-listview-item-focus-bg, initial);
  box-shadow: var(--kendo-listview-item-focus-shadow, var(--kendo-list-item-focus-shadow, inset 0 0 0 1px var(--kendo-color-base-emphasis, #605e5c)));
}
.k-listview-content > .k-selected {
  color: var(--kendo-listview-item-selected-text, initial);
  background-color: var(--kendo-listview-item-selected-bg, var(--kendo-color-base-active, #edebe9));
}

.k-listview-item {
  border-color: var(--kendo-component-border, initial);
}

.k-listview-header {
  border-color: var(--kendo-listview-header-border, var(--kendo-component-border, initial));
  color: var(--kendo-listview-header-text, initial);
  background-color: var(--kendo-listview-header-bg, initial);
}

.k-listview-footer {
  color: var(--kendo-listview-footer-text, initial);
  background-color: var(--kendo-listview-footer-bg, initial);
}

.k-chart-wizard .k-icon-text-wrapper {
  display: flex;
  align-items: center;
  gap: var(--kendo-chart-wizard-icon-text-gap, var(--kendo-spacing-3, 0.75rem));
}
.k-chart-wizard .k-icon-background-area {
  display: flex;
  padding: var(--kendo-chart-wizard-icon-area-padding, var(--kendo-spacing-4, 1rem));
  border-radius: var(--kendo-chart-wizard-icon-area-border-radiusg, var(--kendo-border-radius-none, 0px));
}

.k-chart-types-wrapper {
  display: flex;
  flex-direction: column;
  gap: var(--kendo-chart-wizard-chart-type-spacing, var(--kendo-spacing-4, 1rem));
}

.k-chart-wizard-splitter {
  height: 100%;
}
.k-chart-wizard-splitter .k-tabstrip {
  width: 100%;
  height: 100%;
}

.k-chart-wizard-preview-pane {
  padding: var(--kendo-chart-wizard-preview-pane-padding, var(--kendo-spacing-3, 0.75rem));
}

.k-chart-wizard-property-pane {
  padding: var(--kendo-chart-wizard-property-pane-padding, var(--kendo-spacing-3, 0.75rem));
}

.k-chart-wizard .k-icon-text-wrapper.k-selected {
  color: var(--kendo-chart-wizard-chart-type-selected-color, var(--kendo-color-primary, #0078d4));
}
.k-chart-wizard .k-icon-text-wrapper.k-selected .k-icon-background-area {
  box-shadow: var(--kendo-chart-wizard-icon-area-selected-shadow, inset 0 0 0 1px var(--kendo-color-primary, #0078d4));
}
.k-chart-wizard .k-icon-text-wrapper:hover, .k-chart-wizard .k-icon-text-wrapper.k-hover {
  cursor: pointer;
}
.k-chart-wizard .k-icon-text-wrapper:focus .k-icon-background-area, .k-chart-wizard .k-icon-text-wrapper.k-focus .k-icon-background-area {
  box-shadow: var(--kendo-chart-wizard-icon-area-focus-shadow, inset 0 0 0 1px var(--kendo-color-primary-emphasis, #004578));
}
.k-chart-wizard .k-icon-background-area {
  color: var(--kendo-chart-wizard-icon-area-color, var(--kendo-color-primary, #0078d4));
  background-color: var(--kendo-chart-wizard-icon-area-bg, var(--kendo-color-primary-subtle, #deecf9));
}

.k-spreadsheet {
  width: 100%;
  height: 600px;
  border-width: var(--kendo-spreadsheet-border-width, 1px);
  border-style: solid;
  box-sizing: border-box;
  outline: 0;
  font-family: var(--kendo-spreadsheet-font-family, var(--kendo-font-family, initial));
  font-size: var(--kendo-spreadsheet-font-size, var(--kendo-font-size, initial));
  line-height: var(--kendo-spreadsheet-line-height, var(--kendo-line-height, initial));
  display: flex;
  flex-direction: column;
  cursor: default;
  position: relative;
  -webkit-touch-callout: none;
  -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
}
.k-spreadsheet .k-vertical-align-center {
  position: relative;
  inset-block-start: 50%;
  transform: translateY(-50%);
}
.k-spreadsheet .k-vertical-align-bottom {
  position: relative;
  inset-block-start: 100%;
  transform: translateY(-100%);
}

.k-spreadsheet-quick-access-toolbar {
  padding: var(--kendo-toolbar-md-padding-y, var(--kendo-spacing-2, 0.5rem));
  display: inline-flex;
  flex-direction: row;
  position: absolute;
  z-index: 2;
  inset-block-start: 0;
  inset-inline-start: 0;
}

.k-spreadsheet-toolbar {
  border-top-width: 0;
  border-inline-width: 0;
}

.k-spreadsheet-action-bar {
  border-width: 0 0 var(--kendo-spreadsheet-action-bar-border-width, 1px);
  border-style: solid;
  border-color: inherit;
  padding-block: var(--kendo-spreadsheet-action-bar-padding-y, var(--kendo-spacing-1, 0.25rem));
  padding-inline: var(--kendo-spreadsheet-action-bar-padding-x, var(--kendo-spacing-2, 0.5rem));
  font-size: var(--kendo-spreadsheet-action-bar-font-size, var(--kendo-font-size, initial));
  font-family: var(--kendo-spreadsheet-action-bar-font-family, Arial, Verdana, sans-serif);
  position: relative;
  display: flex;
  flex-direction: row;
  gap: var(--kendo-spreadsheet-action-bar-spacing, var(--kendo-spacing-2, 0.5rem));
}

.k-spreadsheet-name-editor {
  width: 10em;
}

.k-spreadsheet-formula-bar {
  min-width: 0px;
  border-color: inherit;
  display: flex;
  flex-direction: row;
  align-items: center;
  flex: 1;
  gap: var(--kendo-spreadsheet-formula-bar-gap, var(--kendo-spacing-2, 0.5rem));
}
.k-spreadsheet-formula-bar > .k-icon {
  padding-inline: var(--kendo-spacing-1, 0.25rem);
  padding-block: 0;
  box-sizing: content-box;
  border-width: 0 1px 0 0;
  border-style: solid;
  border-color: inherit;
  flex-shrink: 0;
}
.k-spreadsheet-formula-bar .k-tooltip,
.k-spreadsheet-formula-bar .k-group-header,
.k-spreadsheet-formula-bar .k-list-scroller {
  display: none;
}
.k-spreadsheet-formula-bar .k-spreadsheet-formula-input {
  padding-inline: var(--kendo-spreadsheet-formula-input-padding-x, var(--kendo-input-md-padding-x, var(--kendo-spacing-2, 0.5rem)));
  padding-block: var(--kendo-spreadsheet-formula-input-padding-y, var(--kendo-input-md-padding-y, var(--kendo-spacing-1\.5, 0.375rem)));
  line-height: var(--kendo-spreadsheet-formula-input-line-height, var(--kendo-input-md-line-height, var(--kendo-line-height, normal)));
  display: inline-block;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.k-spreadsheet-formula-bar .k-spreadsheet-formula-input.k-spreadsheet-array-formula::before {
  content: "{";
  font-weight: 700;
}
.k-spreadsheet-formula-bar .k-spreadsheet-formula-input.k-spreadsheet-array-formula::after {
  content: "}";
  font-weight: 700;
}

.k-spreadsheet-formula-input {
  outline: 0;
  white-space: pre;
  flex: 1;
  box-sizing: border-box;
}
.k-spreadsheet-formula-input > .k-syntax-func.k-syntax-at-point,
.k-spreadsheet-formula-input > .k-syntax-bool.k-syntax-at-point,
.k-spreadsheet-formula-input > .k-syntax-ref.k-syntax-at-point,
.k-spreadsheet-formula-input > .k-syntax-str.k-syntax-at-point,
.k-spreadsheet-formula-input > .k-syntax-num.k-syntax-at-point {
  text-decoration: underline;
}
.k-spreadsheet-formula-input > .k-series-a,
.k-spreadsheet-formula-input > .k-series-b,
.k-spreadsheet-formula-input > .k-series-c,
.k-spreadsheet-formula-input > .k-series-d {
  background-color: transparent;
}

.k-spreadsheet-formula-list {
  min-width: 100px;
}
.k-spreadsheet-formula-list .k-item {
  padding-inline: var(--kendo-list-md-item-padding-x, var(--kendo-spacing-2, 0.5rem));
  padding-block: var(--kendo-list-md-item-padding-y, var(--kendo-spacing-2, 0.5rem));
}

.k-syntax-func,
.k-syntax-startexp {
  font-weight: bold;
}

.k-spreadsheet-cell-editor {
  padding-block: var(--kendo-spreadsheet-cell-editor-padding-y, var(--kendo-spacing-0, 0px));
  padding-inline: var(--kendo-spreadsheet-cell-editor-padding-x, var(--kendo-spacing-1, 0.25rem));
  line-height: var(--kendo-spreadsheet-cell-editor-line-height, var(--kendo-spreadsheet-line-height, var(--kendo-line-height, initial)));
  display: none;
  overflow: hidden;
  position: absolute;
  z-index: 100;
}

.k-spreadsheet-sheets-bar {
  padding-block-end: var(--kendo-spreadsheet-sheets-bar-padding-y, var(--kendo-spacing-2, 0.5rem));
  padding-inline: var(--kendo-spreadsheet-sheets-bar-padding-x, var(--kendo-spacing-2, 0.5rem));
  border-width: var(--kendo-spreadsheet-border-width, 1px) 0 0;
  border-style: solid;
  border-color: inherit;
  display: flex;
  flex-direction: row;
  align-items: center;
  position: relative;
}

.k-spreadsheet-sheets {
  flex: 1 1 auto;
  overflow: hidden;
}

.k-spreadsheet-sheets .k-tabstrip-items-wrapper {
  border-width: 0;
}

.k-spreadsheet-sheets-bar-add {
  align-self: center;
}
.k-spreadsheet-sheets-bar-add:not(:hover) {
  border-color: transparent;
  color: inherit;
  background: none;
}

.k-spreadsheet-sheets-items {
  flex: 1;
  overflow: hidden;
}
.k-spreadsheet-sheets-items .k-tabstrip-items-wrapper {
  margin: 0;
  border-width: 0;
}
.k-spreadsheet-sheets-items .k-item .k-link {
  display: inline-block;
}
.k-spreadsheet-sheets-items .k-item .k-spreadsheet-sheets-remove {
  margin-inline-start: var(--kendo-spreadsheet-sheets-remove-inline-start, calc(var(--kendo-spacing-2, 0.5rem) * -1));
  margin-inline-end: --kendo-spreadsheet-sheets-remove-inline-end, var(--kendo-spacing-2, 0.5rem);
  padding: 0;
  line-height: 1;
  display: inline-flex;
  flex-direction: row;
  vertical-align: middle;
  align-self: center;
}

.k-spreadsheet-view {
  height: auto !important;
  border-color: inherit;
  font-family: var(--kendo-spreadsheet-view-font-family, Arial, Verdana, sans-serif);
  font-size: var(--kendo-spreadsheet-view-font-size, var(--kendo-font-size, initial));
  flex: 1;
  position: relative;
  overflow: hidden;
}
.k-spreadsheet-view .k-disabled {
  pointer-events: auto;
}

.k-spreadsheet-fixed-container {
  width: calc(100% - var(--kendo-scrollbar-width, 17px));
  height: calc(100% - var(--kendo-scrollbar-width, 17px));
  border-color: inherit;
  box-sizing: border-box;
  user-select: none;
  position: absolute;
  z-index: 2;
}

.k-spreadsheet-overflow {
  position: absolute;
  inset: 0;
  overflow: hidden;
  border-color: inherit;
}

.k-spreadsheet-pane {
  padding: 0 1px 0 0;
  border-width: 2px 0 0 2px;
  border-style: solid;
  border-color: inherit;
  box-sizing: border-box;
  position: absolute;
  overflow: hidden;
}
.k-spreadsheet-pane.k-top {
  border-top-width: 0;
}
.k-spreadsheet-pane.k-left {
  border-left-width: 0;
}

.k-spreadsheet-top-corner {
  border-width: 0 1px 1px 0;
  border-style: solid;
  box-sizing: border-box;
  position: absolute;
  inset-block-start: 0;
  inset-inline-start: 0;
  z-index: 10000;
}
.k-spreadsheet-top-corner::after {
  content: "";
  display: block;
  width: 0;
  height: 0;
  overflow: hidden;
  position: absolute;
  inset-block-end: 0;
  inset-inline-end: 0;
  border: 6px solid transparent;
  border-inline-end-color: inherit;
  border-block-end-color: inherit;
}

.k-spreadsheet-scroller {
  width: 100%;
  height: 100%;
  overflow: scroll;
  position: absolute;
  z-index: 1;
}
@media (hover: none), (pointer: coarse) {
  .k-spreadsheet-scroller {
    z-index: 3;
  }
}

.k-spreadsheet-haxis,
.k-spreadsheet-vaxis {
  border: 0 solid;
  border-color: inherit;
  position: absolute;
}

.k-spreadsheet-haxis {
  border-width: 1px 0 0;
  inset-inline-start: 0;
}

.k-spreadsheet-vaxis {
  border-width: 0 0 0 1px;
  inset-block-start: 0;
}

.k-spreadsheet-row-header,
.k-spreadsheet-column-header {
  text-align: center;
  z-index: 100;
}
.k-spreadsheet-row-header > div,
.k-spreadsheet-column-header > div {
  position: relative;
  box-sizing: border-box;
  border-width: 0;
  border-style: solid;
  border-color: inherit;
}
.k-spreadsheet-row-header > div::after,
.k-spreadsheet-column-header > div::after {
  content: "";
  border-width: 0;
  border-style: solid;
  border-color: inherit;
  display: none;
  position: absolute;
  inset: 0;
}

.k-spreadsheet-row-header {
  position: relative;
}

.k-spreadsheet-column-header {
  position: absolute;
}

.k-spreadsheet-row-header > div {
  border-block-start-width: 1px;
}
.k-spreadsheet-row-header > div:first-child {
  border-block-start-width: 0;
}

.k-spreadsheet-row-header > .k-selection-partial::after,
.k-spreadsheet-row-header > .k-selection-full::after {
  border-inline-end-width: 2px;
  display: block;
}

.k-spreadsheet-column-header > div {
  border-inline-start-width: 1px;
}
.k-spreadsheet-column-header > div:first-child {
  border-inline-start-width: 0;
}

.k-spreadsheet-column-header > .k-selection-partial::after,
.k-spreadsheet-column-header > .k-selection-full::after {
  border-bottom-width: 2px;
  display: block;
}

.k-spreadsheet-data {
  border-color: inherit;
  cursor: cell;
  position: relative;
}

.k-spreadsheet-cell {
  padding-block: var(--kendo-spreadsheet-cell-padding-y, var(--kendo-spacing-1, 0.25rem));
  padding-inline: var(--kendo-spreadsheet-cell-padding-x, var(--kendo-spacing-1, 0.25rem));
  box-sizing: border-box;
  position: absolute;
  line-height: normal;
  white-space: pre;
  overflow: hidden;
}

.k-spreadsheet-merged-cells-wrapers {
  position: relative;
}

.k-spreadsheet-disabled-mask {
  position: absolute;
}

.k-spreadsheet .k-selection-wrapper {
  position: relative;
  cursor: cell;
}

.k-spreadsheet .k-spreadsheet-selection {
  border-width: 2px;
  border-style: solid;
  box-sizing: border-box;
  position: absolute;
}

.k-spreadsheet .k-spreadsheet-selection-highlight {
  border-width: 2px;
  border-style: dashed;
  box-sizing: border-box;
  position: absolute;
}

.k-spreadsheet .k-spreadsheet-editor-button {
  position: absolute;
  padding: 0;
  z-index: 60;
}

.k-spreadsheet-active-cell {
  outline-color: transparent !important;
  z-index: 10;
}

.k-spreadsheet .k-auto-fill-wrapper {
  position: relative;
}

.k-spreadsheet .k-auto-fill,
.k-spreadsheet .k-auto-fill-punch,
.k-spreadsheet .k-auto-fill-br-hint {
  box-sizing: border-box;
  position: absolute;
}

.k-spreadsheet .k-auto-fill {
  border-width: 1px;
  border-style: solid;
  cursor: crosshair;
}

.k-spreadsheet .k-single-selection::after {
  content: "";
  margin-bottom: -4px;
  margin-inline-end: -4px;
  width: 6px;
  height: 6px;
  border-width: 1px;
  border-style: solid;
  border-radius: 50%;
  display: block;
  position: absolute;
  inset-block-end: 0;
  inset-inline-end: 0;
  z-index: 300;
  cursor: crosshair;
}

.k-spreadsheet .k-selection-full::after,
.k-spreadsheet .k-selection-partial::after {
  display: none;
}

.k-spreadsheet .k-autofill-wrapper {
  position: relative;
  cursor: cell;
}

.k-spreadsheet-vborder {
  position: absolute;
  border-inline-start-style: solid;
  border-inline-start-width: 1px;
}

.k-spreadsheet-hborder {
  position: absolute;
  border-block-start-style: solid;
  border-block-start-width: 1px;
}

.k-spreadsheet-has-comment::after {
  content: "";
  display: block;
  position: absolute;
  inset-block-start: 0;
  inset-inline-start: auto;
  inset-inline-end: 0;
  border-width: 3px;
  border-style: solid;
}

.k-dirty {
  inset-inline-start: 0;
  inset-inline-end: auto;
}

.k-spreadsheet .k-filter-wrapper {
  position: relative;
  z-index: 50;
}

.k-spreadsheet .k-filter-range {
  border-width: 2px;
  border-style: solid;
  position: absolute;
  box-sizing: border-box;
  pointer-events: none;
}

.k-spreadsheet-filter {
  border-radius: var(--kendo-border-radius-md, 0.25rem);
  padding: var(--kendo-spacing-1, 0.25rem);
  line-height: 1;
  position: absolute;
  cursor: pointer;
}
.k-spreadsheet-filter .k-icon {
  vertical-align: middle;
}

.k-spreadsheet-filter-menu {
  width: 280px;
}
.k-spreadsheet-filter-menu .k-animation-container {
  position: relative;
}
.k-spreadsheet-filter-menu > .k-menu,
.k-spreadsheet-filter-menu > .k-menu.k-menu-vertical {
  border-width: 0;
}
.k-spreadsheet-filter-menu > .k-menu .k-item,
.k-spreadsheet-filter-menu > .k-menu.k-menu-vertical .k-item {
  color: inherit;
}
.k-spreadsheet-filter-menu > .k-menu .k-link,
.k-spreadsheet-filter-menu > .k-menu.k-menu-vertical .k-link {
  padding-inline-start: var(--filter-menu-padding-left, calc(var(--kendo-icon-size, 1rem) + 2 * var(--kendo-spacing-1, 0.25rem)));
}
.k-spreadsheet-filter-menu > .k-menu .k-icon,
.k-spreadsheet-filter-menu > .k-menu.k-menu-vertical .k-icon {
  margin-inline-start: calc(-1 * (var(--kendo-icon-size, 1rem) + var(--kendo-spacing-1, 0.25rem)));
  margin-inline-end: var(--kendo-spacing-1, 0.25rem);
}
.k-spreadsheet-filter-menu .k-spreadsheet-value-treeview-wrapper {
  height: 200px;
  border-width: 1px;
  border-style: solid;
  overflow-y: scroll;
  overflow-x: auto;
}
.k-spreadsheet-filter-menu .k-spreadsheet-value-treeview-wrapper .k-treeview {
  padding: var(--kendo-spacing-1, 0.25rem);
  overflow: visible;
}
.k-spreadsheet-filter-menu .k-details,
.k-spreadsheet-filter-menu .k-expander {
  padding: 0;
  border-width: 1px 0 0;
  border-style: solid;
  border-color: inherit;
}
.k-spreadsheet-filter-menu .k-expander {
  border: 0;
  background: inherit;
}
.k-spreadsheet-filter-menu .k-details-summary,
.k-spreadsheet-filter-menu .k-columnmenu-item {
  padding-block: var(--kendo-menu-popup-md-item-padding-y, var(--kendo-spacing-2, 0.5rem));
  padding-inline: var(--kendo-menu-popup-md-item-padding-x, var(--kendo-spacing-2, 0.5rem));
  display: flex;
  align-items: center;
  cursor: pointer;
}
.k-spreadsheet-filter-menu .k-details-summary > .k-icon,
.k-spreadsheet-filter-menu .k-details-summary > .k-expander-indicator,
.k-spreadsheet-filter-menu .k-columnmenu-item > .k-icon,
.k-spreadsheet-filter-menu .k-columnmenu-item > .k-expander-indicator {
  margin-inline-end: var(--kendo-spacing-1, 0.25rem);
}
.k-spreadsheet-filter-menu .k-details-content,
.k-spreadsheet-filter-menu .k-columnmenu-item-content {
  padding-inline: var(--kendo-spreadsheet-popup-menu-padding-x, var(--kendo-spacing-3, 0.75rem));
  padding-block: var(--kendo-spreadsheet-popup-menu-padding-y, var(--kendo-spacing-3, 0.75rem));
  display: flex;
  flex-flow: column nowrap;
}
.k-spreadsheet-filter-menu .k-details-content .k-filter-and,
.k-spreadsheet-filter-menu .k-columnmenu-item-content .k-filter-and {
  width: min-content;
  align-self: flex-start;
}
.k-spreadsheet-filter-menu .k-details-content .k-actions, .k-spreadsheet-filter-menu .k-details-content .k-edit-buttons,
.k-spreadsheet-filter-menu .k-details-content .k-action-buttons,
.k-spreadsheet-filter-menu .k-details-content .k-columnmenu-actions, .k-spreadsheet-filter-menu .k-details-content .k-form-buttons,
.k-spreadsheet-filter-menu .k-columnmenu-item-content .k-actions,
.k-spreadsheet-filter-menu .k-columnmenu-item-content .k-edit-buttons,
.k-spreadsheet-filter-menu .k-columnmenu-item-content .k-action-buttons,
.k-spreadsheet-filter-menu .k-columnmenu-item-content .k-columnmenu-actions,
.k-spreadsheet-filter-menu .k-columnmenu-item-content .k-form-buttons {
  margin-block-start: var(--kendo-spacing-3, 0.75rem);
}
.k-spreadsheet-filter-menu .k-actions, .k-spreadsheet-filter-menu .k-edit-buttons,
.k-spreadsheet-filter-menu .k-action-buttons,
.k-spreadsheet-filter-menu .k-columnmenu-actions, .k-spreadsheet-filter-menu .k-form-buttons {
  margin: 0;
  padding: 0;
}

.k-spreadsheet-popup {
  padding: 0;
}
.k-spreadsheet-popup .k-separator {
  display: block;
}
.k-spreadsheet-popup .k-reset-color,
.k-spreadsheet-popup .k-custom-color {
  border-radius: 0;
  width: 100%;
  border-width: 0;
  box-sizing: border-box;
  display: flex;
}
.k-spreadsheet-popup .k-reset-color {
  border-block-end-width: 1px;
}
.k-spreadsheet-popup .k-custom-color {
  border-block-start-width: 1px;
}
.k-spreadsheet-popup .k-spreadsheet-border-type-palette {
  padding: var(--kendo-spacing-2, 0.5rem);
  display: grid;
  grid-template-columns: repeat(5, max-content);
  gap: var(--kendo-spacing-2, 0.5rem);
}

.k-spreadsheet-format-popup .k-item {
  justify-content: space-between;
}
.k-spreadsheet-format-popup .k-spreadsheet-sample {
  order: 1;
}

.k-spreadsheet-sample {
  opacity: 0.7;
}

.k-spreadsheet-clipboard,
.k-spreadsheet-clipboard-paste {
  margin: 0;
  padding: 0;
  width: 1px;
  height: 1px;
  border: 0;
  opacity: 0;
  position: absolute;
  inset-block-start: 0;
  inset-inline-end: 0;
  overflow: hidden;
}

.k-spreadsheet-window .k-external-dropzone {
  margin-block-end: var(--kendo-spacing-3, 0.75rem);
}

.k-spreadsheet-window .k-edit-form-container {
  width: auto;
  min-width: 0;
}

.k-spreadsheet-format-cells .k-spreadsheet-preview {
  margin-block-start: var(--kendo-spacing-2, 0.5rem);
  text-align: center;
}
.k-spreadsheet-format-cells .k-list-scroller {
  margin-block-start: var(--kendo-spacing-2, 0.5rem);
  height: 210px;
  border-width: 1px;
  border-style: solid;
  border-color: inherit;
}

.k-export-config {
  clear: both;
  position: relative;
}
.k-export-config::after {
  content: "";
  clear: both;
  display: block;
}
.k-export-config .k-edit-field {
  margin-inline-start: 5%;
  width: 45%;
  float: inline-start;
}
.k-export-config .k-page-orientation {
  position: absolute;
  inset-inline-end: 0;
  inset-block-start: var(--kendo-spacing-2, 0.5rem);
}
.k-export-config .k-page-orientation .k-svg-icon {
  width: 6em;
  height: 6em;
}

.k-spreadsheet-insert-comment textarea {
  height: auto;
}

.k-spreadsheet-insert-image-dialog {
  border-radius: var(--kendo-spreadsheet-insert-image-dialog-preview-border-radius, var(--kendo-border-radius-md, initial));
  border-style: var(--kendo-spreadsheet-insert-image-dialog-border-style, dashed);
  border-width: var(--kendo-spreadsheet-insert-image-dialog-border-width, var(--kendo-spacing-0\.5, 0.125rem));
}
.k-spreadsheet-insert-image-dialog label {
  display: flex;
  justify-content: center;
  min-width: 100%;
  width: var(--kendo-spreadsheet-insert-image-dialog-preview-width, 355px);
  height: var(--kendo-spreadsheet-insert-image-dialog-preview-height, 230px);
  background-image: var(--kendo-spreadsheet-insert-image-dialog-img, url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAcwAAAGQCAYAAAAjl1AKAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAA4ZpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuNi1jMTQ1IDc5LjE2MzQ5OSwgMjAxOC8wOC8xMy0xNjo0MDoyMiAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wTU09Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9tbS8iIHhtbG5zOnN0UmVmPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvc1R5cGUvUmVzb3VyY2VSZWYjIiB4bWxuczp4bXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8iIHhtcE1NOk9yaWdpbmFsRG9jdW1lbnRJRD0ieG1wLmRpZDphMGVmMzZmZi04YmI1LTRlN2YtOTcwMS04OTU5ZTg1N2ZhY2MiIHhtcE1NOkRvY3VtZW50SUQ9InhtcC5kaWQ6MDNDOTBDNUQ2OUJGMTFFOTkwMzY4RTI3NjZBQTdENkMiIHhtcE1NOkluc3RhbmNlSUQ9InhtcC5paWQ6MDNDOTBDNUM2OUJGMTFFOTkwMzY4RTI3NjZBQTdENkMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENDIDIwMTkgKE1hY2ludG9zaCkiPiA8eG1wTU06RGVyaXZlZEZyb20gc3RSZWY6aW5zdGFuY2VJRD0ieG1wLmlpZDpjMmZmZjM0Mi05NjEyLTQwM2YtYWZhYS01MTE1ZjQ2NThmMWMiIHN0UmVmOmRvY3VtZW50SUQ9ImFkb2JlOmRvY2lkOnBob3Rvc2hvcDphYjlhMmUwMy1kNmIwLTY3NGMtODc4ZS0yMjUzMjdkNDI5OTciLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/eHBhY2tldCBlbmQ9InIiPz68UHLbAAAgpElEQVR42uzd2ZNc9dnY8TOL9gU0IAkjgwpkI8QOQmI1FS+FHW9VLt/7wpWb900qKV+lTL3vTZzElSvnJilfvM4fkQunfEOw2LUgiUUsNhiMAFsjtIzQrpmJnhOdoaent+np5SyfT1XXiJ4R0hz19Lef31l6ZHZ2NgEAWhu1CQBAMAFAMAFAMAFAMAFAMAFAMAFAMAEAwQQAwQQAwQQAwQQAwQQAwQQAwQQAMuP9/gNGRkZsZQAGop/v8WzCBIA8TJj9GFr9swGUYyAUTHEEoLvn+NxGdLwgG1BEAaoxYY7kNZ55C+bIEu4DoFixHGkT0JE8RTMvwWwXxRHBBKhMQGcbPN8PPZx5COZIh6EcEU+AQgex2fRYH8tm4RxqNIcdzGbxa/dROAGKOT3WhnCk5nOzTX5PbqI5zGB2Estmv24XTwDyO2HOtohi/f25ieawgtkqlvW/HukgnqIJULxY1v96tsV0OvRo5mkfZn0YR5tEs920CUB+o9kokvW3mQ6iWYkJc6RNLOtvo7/85S/X/eIXv/jntWvX/mjZsmVfGRsbG3eNWoCClvOq6enpy1f9/Ysvvvjfv/nNb/7zr3/96zM1oRxN2u/THHhAR/p5odr0D1gYtvpg1kdztObj6N///vf/NDEx8e/Gx8eXeZgBlM+VK1cunzhx4n9u3rz5n65Fc6Zm0my0dFs/tdbGuG9/z2FefL1ROOdi+ZOf/GTl1NTU/920adMvxBKgvOI5/upz/X+I5/x47q8bnEaSnByvMugJs1EkRxoEcyw23Lp16x72UAKojjNnzuxfv379N6/+crrBlDnbbsos44TZ7Mo+aTSPHTv2X8USoHriuT8a0GS6HOqUOewl2QW3OMBnYmLiHz1sAKopGhAtSFqfJTH4aA1pSbbRUmx6m5yc/O833njjv/GQAaiu48eP/6+NGzf+++TLg4AaLc0mSQWWZJuN1iNr1qz5vocKQLVdbcG/TnJ2cZpBBrPV1Xnmps1ly5Zt8lABqLarLdiYNL9YTbOmlCaY9fFsdHm8kbgogYcKQLVda0HTVpR9wuwonq7gA0CD418qtSTbzdQJQIW7macujOZgYwBA7psxmrONIKAA5LIN42XaIFeuXEmmpqaSixcvJjMzMx5qAMOYxEZHkxUrViTr16+P68T2shGVe3uvvohYTk5OCiXAkMXz8Pnz59PhZePGjb2IZj5eCJTlHygmS7EEyFc447m5NJNzWb6ReCUDQL5cuHBBMPP4SgaAfOn39coFEwBypjQH/bhCEAAmTAAQTAAQTAAQTAAQTABAMAFAMAFAMAFAMAFAMAFAMAFAMAFAMAEAwQQAwQQAwQQAwQSAAhkvyzcyMjLiXxMAEyYACCYACCYACCYACCYAIJgAIJgAIJgAIJgAIJgAIJgAIJgAIJgAgGACwBJ5ey8AMGECgGACgGACgGACgGACgGACgGACAIIJAIIJAIIJAIIJAIIJAKXg4usAYMIEAMEEAMEEAMEEAMEEAMEEAMEEAAQTAAQTAAQTAAQTAAQTAErBxdcBwIQJAIIJAAMzbhMA9cbGxpLx8fH0Fr8eHR1NP8auj+wWZmdn527T09PJzMxM+vHKlSvpLX4NggmUKpDLly9Pb8uWLUsD2YnaeMb/o14E9PLly8mlS5fSm4AimEDhRBRXrlyZ3mKSrHXmzJnk5MmTyalTp5IvvvgivV28eDG9RfQigukTyLUpdMWKFWls165dm96uv/76ZMOGDcn69evTz8UtxNR54cKF9BYxBcEEcivCtmrVqrmIZYGcnJxMPv300+Rvf/tbGsZMLLc2ky29nj9/Pv3vY8eOzft8/Bk33XRTsmXLlmTTpk3JunXr5qIaf0b8vpg8oQhGWv0w9OQP+PJ0j5Gaj9lttOYW6zljV/8+J7v5c+p/UIFkQbzWrFkzb5r88MMPk7/85S9pKOt18tzQ6msafe7mm29Otm3bltx2223zonv27Nl5kaZc4sVSl/3YcPXD9LXbTM1ttuaW1HxM+tk0wYSSi32SMdHFx5BNku++++7c0mqvItlpROPvsmPHjrnJM8TfJZZ+6/9OCKZgCib0VeyjjFDGPsrw+eefpxPlO++80/NpsptpM3PXXXelE+eNN96Y/nfs34xw2scpmIIpmNB3sfwa+wuzo13/9Kc/JXv37h1oJFt9vtH9jz32WLJ9+/b01xHL2K9qmVYwBVMwoW8/bxHKbKr8+OOPkwMHDqT7CPMwTbb7XEzEu3fvTrZu3To3bUY4+/08hWAKJlRInAcZp3HE/sE49ePgwYPpfsphT5OLnTRD7N/ctWtX+j3FPs2pqSnncArm0IPptBIogYjkddddly7BxkE9L7/8cseT2bCmyVb3HzlyJDl69Gjy1FNPpU+2cU7n6dOnHRDEUJVmwownCaiiOK8yJsv4WfvrX/+avPTSS+mpGkWZJlt9LibMiGYcFBRfE5Om8zaLZ+PGjaWYMF18HQosDu7JYvn+++8ne/bsaRnL7Lqv3Xy+9rqx3Xyu099Te398L88++2zy3nvvpd9jduUgGAZLslDgyTIO8ImQ/PnPf05eeeWVQk+Tre6PFwLxMY6ije85fm3SZNBMmFDEV7rj43OTZbNYFm2abHf/888/nx7ElE2a9de/BcEE5v/Qjo6mB/hky7D1sew2hJ3+3l4GdLH3x6SZLc9mBzmBYAILZNNVhOKjjz5Kj4btVQjzNE22uv+5555LPvjgg3kvHGAQxsv0RAJlFxdPj1NI4jJ3EctBnxLS632Tnd7fKJqxLTZv3pxe7CAupQcmTCCVvS1XiGXYZuckLnVizNM02ey++N4jmnExg7iqkSNnEUwgFSsoMUmF2Id34sSJjqPWj8/18/5O4xlvbp3tv41p0yoTggmkQYh9dnFt2FdffbWjqbCbyXCQU2Mn02S7qL7xxhvp+3nGtoltBIIJFRanT2QXU9+3b1/HU+FiJr28TpOdRPXFF19MP8Y2cqoJggkVVrsUGwe3DOKUkF6dKtLLabLZ/XHN3LfeemvetgLBhIqJg1liaoqjYltdnGBQ50cOI4jtvjZ+/cc//jF9x6LYVg4AQjChgrKjYuO8w35Nk0sJaK+j2s3XZuJNsmu3GQgmVEScRhITU0xOb7/9du5PCRnENNnqaw8dOpR89tln6TaLbQeCCRWRHejzySef5PpydYOcJuuXYuvvi7c3q912IJhQ9h/M0dH0ij7hnXfeyd00OYggtvvaRvcdPnx4bjp3nVl6zaXxIIfiwJV4TMf1YrO3scr75ery8LWxreIdTeJtwGLKPH/+vAcTJkwoezBDHOxjmmy/FFt7fwSzdhuCCRPK+ip2dDQ9cGVqaiqdMAc5NRZpmmx2X2yzuGze9ddfn27LmZkZDypMmFBG2RGecXTsoKfGok2TzX7/p59+Om9bgmBCCWUH+xw9ejT3R7q2+38sNZ7d/v4PP/xw3raEXrAkCzkNZjYl1YahmaUudy72/n4spfby98dF6gUTwYQSGxsbS4+Ojf2XFy9e7Hv4ihrEdvfF0bHZfszYpvG+mSCYULJghtOnTw88fGWL5+TkZBrMOIBKMOkF+zAhh8GM6ag+BHm++Hke92MeP3583jYFEyaU6RXstavTxIRpmlza12bb0BV/EMw6rvRDKX4gr70BcuzDbDRFDTuIRYpnbMNswvT8gGBCyWRP7OfOnRPEJX5ttg3FEsGEEgfzwoULhb/izrDjmV1HVjARTChxMOsv5yaei//aK1euCCaCCWUPZrzrhiAu/Z1LBBPBhJJbygE/4tn6qkggmFCSUMZEFJd0u3z5cqGClLe/a3bhdfFEMKHEwYxTIbIlxbIEbdDnlGYXLBBMBBNKGsxsOsqO8ixj/AYRz5UrVwomggllD+bq1asXXB4vD0Ea9u9fzP8jtqFg0kuuGQU5kl0kfP369fNiMKjrr/bjWrG9vNbsYq6Zm21DF17HhFnHoeOUQXb+5XXXXVf5pdil/j9iG2bb1PMDggklnTA3bNhQyCAO+mtb3b9x48Z5L0JAMKGEwYz3cazaOZK9jmcWzOyKPyCYUCIxDcWTfiwnxlGecU3ZPMQv79Nk/f2rVq1KJiYm0vtNmPSKg34gZ+KCBWHLli2FPDCn26/t9v/R6P9z6623ztuWIJhQQtkSYvak30lMlhq0QQSxl0fAtro/brfddtu8bQm9YEkWcjphfuUrX6nc1Xl6df9Xv/pVEyYmTCi72OcWB//Efsxt27a1nMSKuhTbr/tDTJc33HBDug3tv0QwoeSy68h+/etfL/xS7CDvj9s999wzbxtCr1iShZwGM470jAkzrivbi/fHHPTyar+XYht9LrbV3XffLZiYMKEqYikx2/9233335XqaHNaU2ehzDz/8cPoxtp3lWASTwjt+/LiN0IGLFy+mH7du3drz+PU6fIPYN9ns/trP3X777fO2HfSSa8ky8Fg+//zzyZNPPpls2rTJBmkhTomIA1fiaNkHHnggOXjw4IJINApHs6AM6msHcX+jz+3evTu55ZZb0m0W285zAiZMCh3LPXv2pO/zGNE8duyYjdJGdqWfOPin22kyr0fALnaKbfe5u+66a942A8Gk8LHMntREs73YFxcT00033ZR885vfzEUQlxq9pQS02ee+973vJTfffHO6rZx7iWBSmljWTk+i2d65c+fSj/fee2+ybt26wl6urpcBrf1cvO/lQw89NG9bgWBSyFhGFOtjKZqdi6kpO0XiqaeeGug02cvL1fXi9zT6fU8//XT6MbaRN4tGMCl0LNu96s+iOTk5aaM1ES84IhJf+9rXkm9961uluMBAN9Nk/ed37dqVbN++Pb2/2YsyEExKEcvaaMayrWgmTYORbcs4LzN7r8eiXK6uV9NkrXiT7XjxUPuCAgSTQsYynsTi0P5Ob3HunEmzuTiYJTu/8Dvf+U4yPj5eqWmy9vPxvf/4xz9OP8ZSrKv6IJgUOpbdsDzbfvtkR81+97vfXXTI8nKBgW4/l30+YhnvSBLbwlIsgkkhY/nCCy8s+QlMNJuLYJw9ezb9eMcdd8xFMy9TZi8/1+zPi1ju2LFj3raAQRjp94Ot5mobIzUfs9tozW0sblf/Pie7+XNOnz7tX3OIIm69iGWtlStXuiJQE2NjY8maNWvSn6833ngj+cMf/tAwNs0i1Iv7h/G5H/7wh+lVj7JYOiq2GOKt6rrsx4arH6av3WZqbrM1t6TmY19fQJkwyWUss0kz/r9OOVkoQhEHAcWTQ5yfWTtplmmarPWDH/xgLpbxvYslgyaYLEm2DBtxW8wBPos5EEg0G4vrpWZHh0Y042o3ebtcXSch7OTzP/rRj5IHH3xw7vSR+N5BMClULGNfY7+v3SmazcWRs9mkGW+cnB05mofL1S31SNjsaNif/vSnyf333z83Wbr0HcNiHya5jmWtFStW2KfZRO0+zU8++ST5/e9/n5w8eXIuPq2mt8Xcv5TPLfbzExMT6QuAeAcS+yyLrSz7MAWTrmLZj32WncgOBMpO3OdLo6OjyerVq9N4Rliee+65ZP/+/T0J3lJC2M3vjSv4fPvb306WLVs2t7/WG0ILpmAKpliKZk9/3mL7LF++PP3v9957L3n22WfTn488T5O1T6xxbdg777wz/e+4IEGsYjh1RDAFUzALGcs8vN9gtjwrmo3FZLZq1aq5n7948+n6U0+GMU22+prvf//7yc6dO+e+Jl6U2V8pmIIpmGIpmgOfNj/99NPk7bffTvbu3ZuLaTLzyCOPJHfffXeyZcsWU6VgCqZgFtvnn38+9GVY0exeHGka4Yx9m+Ho0aPJBx98kOzbty+NU7+WZFt9Tfy77d69O9m2bVt6UE+IfZURSqeMCKZg9jmYU1NTHpV9nCzzfL3OiMETTzzh6NkOwhmhysIZ3n333eTNN99MPw5imox9k3H6S1zaLhOhjFOHhLK84k2+BVMwxVI0CxnO2McZt9pVhI8//jh5//33k48++mjBv3m302TsR926dWv6Pp633nprcsMNN8x9LvZPxk0oBVMwBbPwsXzxxRcL9U4QlmcX/7OZhbN26swCGheKiNupU6fSW5zakV1lJ3s7rez3xwuWOA/0+uuvT2/xb7B58+Z5gcymySyU9lEKpmAKpljmYNIUzcWJczhj8oxwxsean9slieeXCGyEMj46l1IwBVMwSyMmi4hlTBNFJZq9CWjEMz5mt+z6vrU/19nzR3YpuwhidotICiSCKZiljmUZ3pA3lmdFEwSzpy8k/VNStliGOOoyvh9vQg0IJmLZQTRfeukl0QQEE7FsJ06EF01AMFlyLCMm/Xrz57zcskkzjv4FEEy6imVZJ8t62T5N0QS6VZqjZM+cOeNfcxGxLPMybCtxysnjjz/u6FkYoHXr1nXbD0fJIpbDYp8mYMI0YXYcyzy9RdewxHmaJk0wYZowaRjL7AAfnHICCCYtYlnVZdhW0Xz55ZdFExBMxLKdmLgjmo6eBdqxD7PETpw4IZYdyvZp3njjjTYG9Jh9mIhlibi4AVCZCfOLL77wr3mNA3yWNmk+9thjjp6FHlq7dq0JE7Es46TpQCBAMCsQy3iyF0vRZPg8fgSTnMfSPsveRfOVV17xpEdXYl/4888/nxw7dszGKBH7ME2WtJDt03T0LIuJ5Z49e9IXr3Ht4m984xvJpk2bKr1N7MMkF+JoWLHs76TpPE26iWWIn0uTZnkIplgimvQhlhnRFExyEkv7LEWTfMQyotjszdjj8fPCCy+IZsHZh2myZBFin+ajjz5qnyYLYtnJi9fYp/nkk09Wbp9mWfZhliaYZ8+ercQDzwE++YmmixsQR1F3GsvaaFbtQKA1a9aUIpiWZAsWyzjVQSyHyykn1May2TJss1s8fuzTLCbBLFgs7bMUTfIVy24fP6JZPJZkC8A+y/yyT7OasYwDeHrx4rUq+zQtySKWzE2ajp4Vy27Ez7WjZ4tDMMUS0WQIsRTN4rEkm+NYOsCnWGJ59pFHHrE8W0K151n2SyzPPvHEE6VcnrUki1iyYNJ89dVXTZpi2fWk+eKLL5o0c0wwxRLRZMixFE3BRCxFk0LHMvYtDvrnUTTzqzT7MM+dO1fof4g4zzKeZMWyPOzTLK5+HeCzGGU65WT16tXd9sM+TMTSpEneY7nYK/j0+haPH5NmvgjmkMUyrFiWO5p79+4VzQLGMg8sz+aLJVmxZABieXb37t2WZ3Ms22eZx8tPFv2UE0uyiCUmTbE0aVaIYIolA4zmvn37RFMsRVMwEUs6edITzfzFctgH+DgQqBjswxxwLGNZTizJ9mnecMMNNsYQYxnxKeJb5mX7NIvyJub2YSKWdC3bpxmnFDF4sd0jlkWZLJtNmt6P1YRZugnz5MmT6TJsPMih1vLly02aQ4plGd6MPSbNxx9/PPeTZlkmzNIEM68PfpMl7cTy7K5du5xyMgBFXoZtF808n3KyatWqUgTTkqxYMmSOnhXLpYjnl5deesny7ACYMPscS8uwdMrybP9jWeYXr7FSkdcDgUyYiCU9denSJQcC9SmWMYGVfaUnnm9Mmv0lmH2IZSyviSXdRjMeP6LZ21iWbRm2Gcuz/WVJVizJoViejQOBLM+KZTfydvRsWZZkBVMsEc3SqT3Psqpin2ZeomkfJnPiPMv9+/eLJT0Vy7PxuLI8K5bdiOejl19+2fKsCTM/E2bE0mRJvyfNhx9+2KQpll2J5dnHHntsqJOmJVnBFEsGGs1Ynp2YmLAxWsSyCkfDdiNbnh3WxTEsyVacWDJI2fJs7CtHLBcrO+XExTFMmKlB/qDEk5Z9lgxr0rQ8O19VzrPshWEtz8afa8KsILEkD5OmA4HEstvBwoFAJsyB/MBYhiUvYp/Uzp07Kz1pWoZd2uNnkJOmCbNixJI8icfhgQMHKjtpiuXSHz8mTRNm32JpGZY8in2aVZs0xbK3k9+jjz7a90nThFmhyVIsyavYpxmTZlWOno1YxmQklr0R2/GVV15x9KwJUyyp1qQZR8+W+TxNseyfbJ9mv87TLMuEKZgtYhmv3MWSIkUzlmfLGE2xLHY0LcmWmFhSRGVdnhXLwcgOBLI8K5hiiWgWUHwfsY9NLAcXTfs0W0y8lmS/dOrUqXSfZTzpQJHF8uxDDz1U6OXZiKXJcjhieTaOnu3V8qwl2ZKJWMYrc7GkLJPmwYMHCztpiqVJM48EsyaWlmEp25NeEaMplqKZV6VZku02drHP8rXXXhNLSqtIy7NxgE88SQ/r/W1ZKLu4wVKWZ2OJt8t+OK0kL8EUS6oinrAefPDBXEczi6XJMp+Pn6VEsyzBrOySrFhSJXlfnhXL/D9+LM9WdMKMfZZiSRXF8mzeJs3s1BHLsOWdNC3JFjSYYoknvRXJAw88kItoOs+ymI+fRx55ZFHRFMwCBjOLpVNHMGkuH3o0xbI60bQPs2AilrEPRyzh/5+neejQoXRf/rBi+eqrr4plQcWAEv9+VdunWYlgZrG0DAvDj2YWS/ssix/NvXv3VupNzEu/JCuW0Fq2T3PDhg0mS7p6/MTybKs3MbcPswDBPH36tH2W0IFsn2Y/oxmTrH2W1YymYOY8mBFLkyXkI5oRS5Nl+aO5e/fuhtF00E/ORJizm1jC4tXu06z9eVrqTSyroXafZv1joDSdKcuEmS27OhoW8jNp2mdZ3Umz9pSTeEyVYcIsVTAjlvEK2WQJw49mxDImDrGsZjR37do1F03BzFkwjx07lsbSZAm9sWzZsq6jKZbURrMswSzNPkyxhN66fPlycvjw4UWfpymWhFjp27dvX6nO0yxNMMUS+vNztZhoiiX10YzHQ1mMl+UbKdORWJDHSfP+++9vuTwbUY2JIp4k/TxSxmFm1D8n0Gk0m02acb/JkrITTKDjaL7++uvp0ehiiWACtBDLa0eOHEmmp6fFksqxDxPoWJxqct999yVjY2NzsbTPEhMmQF0sd+7cmaxdu3beAT4gmADXxInnEct169bNxdIyLFVjSRZoO1k+9NBDaSzjPEuxRDABWsQyJsv9+/fbZ0llWZIFOoqlyRITZkl4xQu9j2XtAT5iiWACtImlZViwJAu0iGW2zxKwJAtkTwbj4wtiaRkWShhMYGmT5YMPPpjGMq4V62hYWMiSLIjlvFi6gg+UfML0Shi6eAIYH284WQIlDiaw+MnygQcesAwLJkygVSzvv//+BVfwAUyYQIPJUixBMIEOYnngwIH0TaGt0ECFgukHHtrHMpZha2NpsoTOOa0ExBKo0oQJtI9lHA372muvWYaFKgfTDz80+AEfH58XS5MlCCbQYLK877775k4dMVnC0tiHCRWJpckSTJgpr5rh2g/1+LhYgmACnUyW2dGwBw8eFEsQTKCTWFp9AcGcx5MClf5BvrYMa7KE/nHQD4glUKUJE6oolmHvvffeufMsDx065NQRMGECrWJpsgQTZke8oqZSP7jj42IJggm0myzvueeeebG0DAuCacKEusmyUSwBwQRqYhnLsGvWrJl3gA8wGA76gYLG0j5LMGECNbJ9llksDx8+bJ8lCGb3PHlQ1smyPpYmSxgOS7JQgFiePn1aLMGECdSLZdi777577mhYy7AgmD3jiYQyTZb1sTRZgmACdbG0zxIEE2ghW4Z1NCwIZl95UqHok2WjWAL54ShZyFksX3/9dbEEwQSaxTJOHYlY2mcJOf15tQkgH7G0zxIEcyA8yVC0WN51110LYgkIJtAklrEMe/nyZS/6IOfsw4Qhx9JkCSbMgfLqnKLEcvXq1WIJggl0Ess33njDMiwUjCVZGEIsTZZgwhwar9TJayx37NghlmDCBDqN5ZtvvimWYMI0YUJ9LO+8884FsfQ4BRMmUDdZxqkjU1NTyVtvvWWyBBMm0CiWJksQzNzyhEQeYtloGRYoB0uy0IdYWoYFwQQ6iKW36ALBBMQSqvnzXpZvxD5MhhHL7du3L1iG9VgEE2aujY2N+ddkKLGMU0eOHDlinyWU/Lm5NBPm+vXrk5MnT3p0MvBYmiyhuYmJCcHMm1tuuSU5c+ZMMj097RFKX18tN4ol0PjF5W233Vaa72dkdna2v3/Al6+6R2o+ZrfRmlvM7WNX/z5dj4kXLlxIjh49mj6RCSf9+OG/4447xBI6eGEZk2XEMn5eltCPDVc/TF+7zdTcZmtuSc3HpJ9Ny0MwR67FMn49vpRgAlAe14J55Vokp6+FcWjBzMtBPwu+aQAqL1dtGM3JxgCAXDdjNGcbQkAByGUXRvO2Qaanp0UToOJmZmZyF85hBbPRN5/ed+UqDxWAart8+fKVVq0oezAb7bydrdsAsxcuXJj0UAGotnPnzk0mLY6GTYZwQFBelmTnfn3mzJnfe6gAVNupU6f+T5NADk2eTitJb7/97W//+eoo7qoDABV16dKl6d/97nf/1GDCHKpBXrgg/c8GHxdc9efEiRP/bcOGDf/Wwwagej744IP/sW3btv+YdHZ1n3kRK8uVfmpDWR/LBVf+OX/+/HMrV67c6aEDUB3Hjh07sHnz5n+VNL+yT/3EObBgDnpJttnRTvW3mZ/97GdPX7hw4S0PH4BqmJycPPLzn//86RaRnG3TlP4OgAOeMJtNmUndhDm3RHvixIn/snr16n9YsWLFMg8ngPK5Ohxd/uyzz357++23P5MsXIKdSRaeUdE0mGW/luxsk4kzvdjuxMTEM7/61a9uPXr06L9MTU19dunSpSv9jjwA/RMXJbh48eKVkydPfvbhhx/+yzPPPHPr1Vj+MvnyXUnaLr0OwzAmzEZTZu202ektafARgHxqdLDOYm5JJwHtZ9PGc7IRRxpsiFaRHGkRXgDyGctGwUzaBDI371gyPsSNN9Immo3imYglQKmimXQQyaEe7JOHCbNVNEeabKDa++sjKZoA+Y9lJ/HMXSyHHczFTpr1X18fTkcCAZQnnLmKZR6C2SyaSdJ+iTYXGxCAvsUzN7HMSzAbRbCTcAJQnmC2imIuGjCew4030mZDCShAeaOZu1DmMZiNNtBI3jcgAAONqGAuYsM5GhZAHAWzbBsYgHIYtQkAQDABoCf6viTrnUUAMGECgGACAIIJAIIJAIIJAIIJAIIJAIIJAIIJAIIJAAgmAAgmAAgmAAgmAAgmAAgmAAgmACCYACCYACCYACCYACCYAFB0/0+AAQDHHxQEMMRIrwAAAABJRU5ErkJggg==));
  background-size: auto 70%;
  background-position: 50% 30%;
  background-repeat: no-repeat;
}
.k-spreadsheet-insert-image-dialog label div {
  display: flex;
  align-self: flex-end;
  margin-bottom: var(--kendo-spreadsheet-insert-image-dialog-text-margin-bottom, var(--kendo-spacing-7\.5, 1.875rem));
  pointer-events: none;
}
.k-spreadsheet-insert-image-dialog label input {
  display: none;
}
.k-spreadsheet-insert-image-dialog .k-spreadsheet-has-image {
  background-size: auto 90%;
  background-position: 50% 50%;
}
.k-spreadsheet-insert-image-dialog .k-spreadsheet-has-image:hover div, .k-spreadsheet-insert-image-dialog .k-spreadsheet-has-image.k-hover div {
  margin: 0;
  align-self: center;
  opacity: 1;
}
.k-spreadsheet-insert-image-dialog .k-spreadsheet-has-image div {
  opacity: 0;
}

.k-spreadsheet-drawing {
  position: absolute;
  box-sizing: border-box;
  z-index: 101;
}
.k-spreadsheet-drawing.k-spreadsheet-active-drawing {
  outline-style: var(--kendo-spreadsheet-drawing-outline-style, solid);
  outline-width: var(--kendo-spreadsheet-drawing-outline-width, var(--kendo-spacing-0\.5, 0.125rem));
}
.k-spreadsheet-drawing .k-spreadsheet-drawing-image {
  position: absolute;
  inset-block-start: 0;
  inset-inline-start: 0;
  width: 100%;
  height: 100%;
  background-position: 50% 50%;
  background-size: 100% 100%;
  background-repeat: no-repeat;
  cursor: move;
}
.k-spreadsheet-drawing .k-spreadsheet-drawing-handle {
  width: var(--kendo-spreadsheet-drawing-handle-width, var(--kendo-spacing-1\.5, 0.375rem));
  height: var(--kendo-spreadsheet-drawing-handle-height, var(--kendo-spacing-1\.5, 0.375rem));
  border-style: var(--kendo-spreadsheet-drawing-handle-border-style, solid);
  border-width: var(--kendo-spreadsheet-drawing-handle-border-width, 1px);
  border-radius: var(--kendo-spreadsheet-drawing-handle-border-radius, var(--kendo-border-radius-lg, initial));
  position: absolute;
  transform: translate(-50%, -50%);
}
.k-spreadsheet-drawing .k-spreadsheet-drawing-handle.N {
  inset-inline-start: 50%;
  inset-block-start: 0;
  cursor: ns-resize;
}
.k-spreadsheet-drawing .k-spreadsheet-drawing-handle.NE {
  inset-inline-start: 100%;
  inset-block-start: 0;
  cursor: nesw-resize;
}
.k-spreadsheet-drawing .k-spreadsheet-drawing-handle.E {
  inset-inline-start: 100%;
  inset-block-start: 50%;
  cursor: ew-resize;
}
.k-spreadsheet-drawing .k-spreadsheet-drawing-handle.SE {
  inset-inline-start: 100%;
  inset-block-start: 100%;
  cursor: nwse-resize;
}
.k-spreadsheet-drawing .k-spreadsheet-drawing-handle.S {
  inset-inline-start: 50%;
  inset-block-start: 100%;
  cursor: ns-resize;
}
.k-spreadsheet-drawing .k-spreadsheet-drawing-handle.SW {
  inset-inline-start: 0;
  inset-block-start: 100%;
  cursor: nesw-resize;
}
.k-spreadsheet-drawing .k-spreadsheet-drawing-handle.W {
  inset-inline-start: 0;
  inset-block-start: 50%;
  cursor: ew-resize;
}
.k-spreadsheet-drawing .k-spreadsheet-drawing-handle.NW {
  inset-inline-start: 0;
  inset-block-start: 0;
  cursor: nwse-resize;
}
.k-spreadsheet-drawing .k-spreadsheet-insert-image-dialog .k-spreadsheet-has-image:hover, .k-spreadsheet-drawing .k-spreadsheet-insert-image-dialog .k-spreadsheet-has-image.k-hover {
  border-radius: var(--kendo-spreadsheet-insert-image-dialog-preview-overlay-border-radius, var(--kendo-border-radius-md, initial));
}

.k-spreadsheet-legacy .k-spreadsheet,
.k-spreadsheet-legacy .k-spreadsheet-action-bar,
.k-spreadsheet-legacy .k-spreadsheet-view {
  font-size: 12px;
}
.k-spreadsheet-legacy .k-spreadsheet-cell {
  padding: 1px;
}
.k-spreadsheet-legacy .k-spreadsheet-filter {
  padding: 0px;
}
.k-spreadsheet-legacy .k-filter-range {
  border-width: 1px;
}
.k-spreadsheet-legacy .k-spreadsheet .k-spreadsheet-selection-highlight {
  border-width: 1px;
  border-style: solid;
}

.k-spreadsheet .k-tabstrip-wrapper {
  border-width: 0 0 1px;
  border-style: solid;
  border-color: inherit;
  position: relative;
}

.k-spreadsheet-tabstrip {
  position: relative;
  z-index: 1;
}

.k-spreadsheet-tabstrip .k-tabstrip-items-wrapper {
  margin: 0;
}

.k-spreadsheet-tabstrip .k-loading {
  display: none;
}

.k-spreadsheet-tabstrip .k-content,
.k-spreadsheet-tabstrip .k-tabstrip-content {
  border-radius: 0;
  padding: 0;
  border-width: 0;
  overflow: hidden;
}

.k-spreadsheet {
  border-color: var(--kendo-spreadsheet-border, var(--kendo-component-border, initial));
  color: var(--kendo-spreadsheet-text, var(--kendo-component-text, initial));
  background-color: var(--kendo-spreadsheet-bg, var(--kendo-component-bg, initial));
}

.k-spreadsheet-header {
  border-color: var(--kendo-spreadsheet-header-border, var(--kendo-component-border, initial));
  color: var(--kendo-spreadsheet-header-text, var(--kendo-color-on-app-surface, #323130));
  background-color: var(--kendo-spreadsheet-header-bg, var(--kendo-color-surface, #faf9f8));
}

.k-spreadsheet-top-corner,
.k-spreadsheet-row-header,
.k-spreadsheet-column-header {
  border-color: var(--kendo-spreadsheet-header-border, var(--kendo-component-border, initial));
  color: var(--kendo-spreadsheet-header-text, var(--kendo-color-on-app-surface, #323130));
  background-color: var(--kendo-spreadsheet-header-bg, var(--kendo-color-surface, #faf9f8));
}

.k-spreadsheet-cell-editor {
  border-color: var(--kendo-spreadsheet-cell-editor-border, );
  color: var(--kendo-spreadsheet-cell-editor-text, var(--kendo-component-text, initial));
  background-color: var(--kendo-spreadsheet-cell-editor-bg, var(--kendo-component-bg, initial));
}

.k-spreadsheet-merged-cell {
  background-color: var(--kendo-spreadsheet-bg, var(--kendo-component-bg, initial));
}

.k-spreadsheet .k-selection-full,
.k-spreadsheet .k-selection-partial {
  background-color: var(--kendo-spreadsheet-partial-selection-bg, color-mix(in srgb, var(--kendo-color-primary-subtle-active, #abd1ef) 75%, transparent));
}

.k-spreadsheet-selection {
  border-color: var(--kendo-spreadsheet-selection-border, var(--kendo-color-primary, #0078d4));
  color: var(--kendo-spreadsheet-selection-text, );
  background-color: var(--kendo-spreadsheet-selection-bg, transparent);
  box-shadow: var(--kendo-spreadsheet-selection-shadow, none);
}

.k-spreadsheet-selection-highlight {
  border-color: var(--kendo-spreadsheet-selection-border, var(--kendo-color-primary, #0078d4));
}

.k-spreadsheet .k-single-selection::after {
  border-color: var(--kendo-spreadsheet-single-selection-border, var(--kendo-component-border, initial));
  color: var(--kendo-spreadsheet-single-selection-text, );
  background-color: var(--kendo-spreadsheet-single-selection-bg, var(--kendo-color-primary, #0078d4));
}

.k-spreadsheet-active-cell {
  background-color: var(--kendo-spreadsheet-active-cell-bg, var(--kendo-component-bg, initial));
  box-shadow: var(--kendo-spreadsheet-active-cell-shadow, inset 0 0 0 1px var(--kendo-color-primary-subtle-active, #abd1ef));
}

.k-spreadsheet .k-auto-fill {
  border-color: var(--kendo-spreadsheet-selected-border, var(--kendo-color-primary, #0078d4));
  background-color: var(--kendo-spreadsheet-selected-bg, var(--kendo-color-primary-subtle-active, #abd1ef));
  box-shadow: inset 0 0 0 1px var(--kendo-spreadsheet-selected-bg, var(--kendo-color-primary-subtle-active, #abd1ef));
  border-color: var(--kendo-spreadsheet-auto-fill-border, var(--kendo-color-primary-subtle-active, #abd1ef));
  color: var(--kendo-spreadsheet-auto-fill-text, );
  background-color: var(--kendo-spreadsheet-auto-fill-bg, color-mix(in srgb, var(--kendo-color-primary-subtle-active, #abd1ef) 75%, transparent));
  box-shadow: var(--kendo-spreadsheet-auto-fill-shadow, inset 0 0 0 1px var(--kendo-color-primary-subtle-active, #abd1ef));
}

.k-spreadsheet .k-auto-fill-punch {
  background-color: var(--kendo-spreadsheet-auto-fill-punch-bg, color-mix(in srgb, var(--kendo-component-bg, initial) 50%, transparent));
}

.k-spreadsheet .k-resize-handle,
.k-spreadsheet .k-resize-hint-handle,
.k-spreadsheet .k-resize-hint-marker {
  background-color: var(--kendo-spreadsheet-resize-handle-bg, var(--kendo-color-primary, #0078d4));
}

.k-spreadsheet-has-comment::after {
  border-block-color: var(--kendo-spreadsheet-cell-comment-border, var(--kendo-color-primary, #0078d4)) transparent;
  border-inline-color: transparent var(--kendo-spreadsheet-cell-comment-border, var(--kendo-color-primary, #0078d4));
}

.k-spreadsheet-cell .k-dirty {
  border-block-color: var(--kendo-spreadsheet-cell-dirty-border, var(--kendo-color-error, #c2666b)) transparent;
  border-inline-color: var(--kendo-spreadsheet-cell-dirty-border, var(--kendo-color-error, #c2666b)) transparent;
}

.k-spreadsheet .k-filter-range {
  border-color: var(--kendo-spreadsheet-primary-border, var(--kendo-color-primary, #0078d4));
}

.k-spreadsheet-filter {
  border-color: var(--kendo-spreadsheet-filter-button-border, var(--kendo-color-border, #8a8886));
  color: var(--kendo-spreadsheet-filter-button-text, var(--kendo-color-on-app-surface, #323130));
  background-color: var(--kendo-spreadsheet-filter-button-bg, var(--kendo-color-app-surface, #ffffff));
  box-shadow: inset 0 0 0 1px var(--kendo-spreadsheet-filter-button-border, var(--kendo-color-border, #8a8886));
}
.k-spreadsheet-filter:hover {
  border-color: var(--kendo-spreadsheet-filter-button-hover-border, var(--kendo-color-border, #8a8886));
  color: var(--kendo-spreadsheet-filter-button-hover-text, var(--kendo-color-on-app-surface, #323130));
  background-color: var(--kendo-spreadsheet-filter-button-hover-bg, var(--kendo-color-base-hover, #f3f2f1));
}
.k-spreadsheet-filter.k-active {
  border-color: var(--kendo-spreadsheet-filter-button-active-border, var(--kendo-color-border, #8a8886));
  color: var(--kendo-spreadsheet-filter-button-active-text, var(--kendo-color-on-app-surface, #323130));
  background-color: var(--kendo-spreadsheet-filter-button-active-bg, f(true, var(--kendo-color-base-active, #edebe9), var(--kendo-neutral-30, inherit)));
}

.k-spreadsheet-value-treeview-wrapper {
  border-color: var(--kendo-spreadsheet-border, var(--kendo-component-border, initial));
  color: var(--kendo-spreadsheet-text, var(--kendo-component-text, initial));
  background-color: var(--kendo-spreadsheet-bg, var(--kendo-component-bg, initial));
}

.k-spreadsheet-filter-menu > .k-menu .k-item:hover,
.k-spreadsheet-filter-menu > .k-menu .k-item.k-hover,
.k-spreadsheet-filter-menu > .k-menu:not(.k-context-menu) .k-item:hover,
.k-spreadsheet-filter-menu > .k-menu:not(.k-context-menu) .k-item.k-hover {
  color: var(--kendo-list-item-hover-text, var(--kendo-color-on-app-surface, #323130));
  background-color: var(--kendo-list-item-hover-bg, var(--kendo-color-base-hover, #f3f2f1));
}
.k-spreadsheet-filter-menu .k-columnmenu-item > .k-icon:first-child {
  color: var(--kendo-spreadsheet-filter-menu-icon-color, var(--kendo-color-primary, #0078d4));
}

.k-spreadsheet-insert-image-dialog {
  border-color: var(--kendo-spreadsheet-insert-image-dialog-preview-border, var(--kendo-component-border, initial));
}
.k-spreadsheet-insert-image-dialog .k-spreadsheet-has-image:hover, .k-spreadsheet-insert-image-dialog .k-spreadsheet-has-image.k-hover {
  box-shadow: var(--kendo-spreadsheet-insert-image-dialog-preview-overlay-shadow, inset 0 0 0 2000px rgba(0, 0, 0, 0.5));
}
.k-spreadsheet-insert-image-dialog .k-spreadsheet-has-image:hover div, .k-spreadsheet-insert-image-dialog .k-spreadsheet-has-image.k-hover div {
  color: var(--kendo-spreadsheet-insert-image-dialog-overlay-hover-text, var(--kendo-component-bg, initial));
}

.k-spreadsheet-drawing.k-spreadsheet-active-drawing {
  outline-color: var(--kendo-spreadsheet-drawing-handle-outline-color, var(--kendo-color-primary, #0078d4));
}
.k-spreadsheet-drawing .k-spreadsheet-drawing-handle {
  border-color: var(--kendo-spreadsheet-drawing-handle-border-color, var(--kendo-selected-bg, initial));
  background-color: var(--kendo-spreadsheet-drawing-handle-bg, var(--kendo-color-primary, #0078d4));
}

.k-spreadsheet-drawing-anchor-cell {
  background: var(--kendo-spreadsheet-drawing-anchor-bg, var(--kendo-color-primary-subtle-active, #abd1ef));
}

.k-syntax-ref {
  color: #ff8822;
}

.k-syntax-num {
  color: #0099ff;
}

.k-syntax-str {
  color: #38b714;
}

.k-syntax-error {
  color: red;
}

.k-syntax-bool {
  color: #a9169c;
}

.k-syntax-paren-match {
  background-color: #caf200;
}

.k-order-1 {
  order: 1;
}

.\!k-order-1 {
  order: 1 !important;
}

.k-order-2 {
  order: 2;
}

.\!k-order-2 {
  order: 2 !important;
}

.k-order-3 {
  order: 3;
}

.\!k-order-3 {
  order: 3 !important;
}

.k-order-4 {
  order: 4;
}

.\!k-order-4 {
  order: 4 !important;
}

.k-order-5 {
  order: 5;
}

.\!k-order-5 {
  order: 5 !important;
}

.k-order-6 {
  order: 6;
}

.\!k-order-6 {
  order: 6 !important;
}

.k-order-7 {
  order: 7;
}

.\!k-order-7 {
  order: 7 !important;
}

.k-order-8 {
  order: 8;
}

.\!k-order-8 {
  order: 8 !important;
}

.k-order-9 {
  order: 9;
}

.\!k-order-9 {
  order: 9 !important;
}

.k-order-10 {
  order: 10;
}

.\!k-order-10 {
  order: 10 !important;
}

.k-order-11 {
  order: 11;
}

.\!k-order-11 {
  order: 11 !important;
}

.k-order-12 {
  order: 12;
}

.\!k-order-12 {
  order: 12 !important;
}

.k-order-first {
  order: -9999;
}

.\!k-order-first {
  order: -9999 !important;
}

.k-order-last {
  order: 9999;
}

.\!k-order-last {
  order: 9999 !important;
}

.k-order-none {
  order: 0;
}

.\!k-order-none {
  order: 0 !important;
}

.k-pivotgrid {
  padding-block: var(--kendo-pivotgrid-padding-y, var(--kendo-spacing-0, 0px));
  padding-inline: var(--kendo-pivotgrid-padding-x, var(--kendo-spacing-0, 0px));
  border-width: var(--kendo-pivotgrid-border-width, 1px);
  border-style: solid;
  box-sizing: content-box;
  font-size: var(--kendo-pivotgrid-font-size, var(--kendo-font-size, inherit));
  font-family: var(--kendo-pivotgrid-font-family, var(--kendo-font-family, inherit));
  line-height: var(--kendo-pivotgrid-line-height, var(--kendo-line-height, normal));
  text-align: start;
  vertical-align: top;
  display: grid;
  grid-template-columns: var(--kendo-pivotgrid-row-header-width, 300px) auto;
  grid-template-rows: var(--kendo-pivotgrid-column-header-height, 75px) auto;
  position: relative;
}
.k-pivotgrid table {
  margin: 0;
  width: 100%;
  max-width: none;
  border-width: 0;
  border-color: inherit;
  border-collapse: separate;
  border-spacing: 0;
  outline: 0;
  text-align: inherit;
  empty-cells: show;
}
.k-pivotgrid thead,
.k-pivotgrid tbody,
.k-pivotgrid th,
.k-pivotgrid tr,
.k-pivotgrid td {
  border-color: inherit;
  text-align: inherit;
}

.k-pivotgrid-table {
  table-layout: fixed;
}
.k-pivotgrid-table th {
  font-weight: 400;
  text-transform: initial;
}
.k-pivotgrid-table .k-pivotgrid-header-root {
  font-weight: 600;
  text-transform: uppercase;
}

.k-pivotgrid-empty-cell {
  border-inline-end-style: solid;
  border-inline-end-width: var(--kendo-pivotgrid-cell-border-width, 1px);
  border-bottom-style: solid;
  border-bottom-width: var(--kendo-pivotgrid-cell-border-width, 1px);
}

.k-pivotgrid-column-headers {
  overflow: hidden;
}

.k-pivotgrid-column-headers .k-pivotgrid-table {
  padding-inline-start: 0;
  padding-inline-end: var(--kendo-scrollbar-width, 17px);
}

.k-pivotgrid-column-headers .k-pivotgrid-cell {
  border-bottom-style: solid;
  border-bottom-width: var(--kendo-pivotgrid-cell-border-width, 1px);
  border-inline-start-style: solid;
  border-inline-start-width: var(--kendo-pivotgrid-cell-border-width, 1px);
}
.k-pivotgrid-column-headers .k-pivotgrid-cell:first-child {
  border-left-width: 0;
}
.k-pivotgrid-column-headers .k-pivotgrid-cell.k-first {
  border-left-width: var(--kendo-pivotgrid-cell-border-width, 1px);
}

.k-pivotgrid-row-headers {
  overflow: hidden;
}

.k-pivotgrid-row-headers .k-pivotgrid-table {
  padding-bottom: var(--kendo-scrollbar-width, 17px);
}

.k-pivotgrid-row-headers .k-pivotgrid-cell {
  border-right-style: solid;
  border-right-width: var(--kendo-pivotgrid-cell-border-width, 1px);
  border-bottom-style: solid;
  border-bottom-width: var(--kendo-pivotgrid-cell-border-width, 1px);
  white-space: nowrap;
}

.k-pivotgrid-values {
  border-color: inherit;
  overflow: scroll;
}

.k-pivotgrid-values .k-pivotgrid-cell {
  border-bottom-style: solid;
  border-bottom-width: var(--kendo-pivotgrid-cell-border-width, 1px);
  border-left-style: solid;
  border-left-width: 0;
}
.k-pivotgrid-values .k-pivotgrid-cell:first-child {
  border-left-width: 0;
}

.k-pivotgrid-cell {
  padding-block: var(--kendo-pivotgrid-cell-padding-y, var(--kendo-spacing-3, 0.75rem));
  padding-inline: var(--kendo-pivotgrid-cell-padding-x, var(--kendo-spacing-3, 0.75rem));
  text-overflow: ellipsis;
  white-space: nowrap;
  vertical-align: top;
  overflow: hidden;
}

.k-pivotgrid-cell .k-icon {
  cursor: pointer;
  padding-inline-end: var(--kendo-pivotgrid-icon-spacing, var(--kendo-spacing-1, 0.25rem));
}

.k-pivotgrid-total {
  font-weight: 600;
}

.k-column-menu .k-treeview {
  padding-block: var(--kendo-pivotgrid-treeview-padding-y, var(--kendo-spacing-0, 0px));
  padding-inline: var(--kendo-pivotgrid-treeview-padding-x, calc(var(--kendo-spacing-3, 0.75rem) / 2));
  overflow: auto;
}

.k-pivotgrid-configurator {
  display: flex;
}

.k-pivotgrid-configurator-panel {
  padding-block: var(--kendo-pivotgrid-configurator-padding-y, var(--kendo-spacing-0, 0px));
  padding-inline: var(--kendo-pivotgrid-configurator-padding-x, var(--kendo-spacing-0, 0px));
  border-width: var(--kendo-pivotgrid-configurator-border-width, 1px);
  border-style: solid;
  box-sizing: border-box;
  display: flex;
  flex-direction: column;
  overflow: hidden;
  z-index: 2;
}

.k-pivotgrid-configurator-button {
  padding-block: var(--kendo-pivotgrid-configurator-button-padding-y, var(--kendo-spacing-1, 0.25rem));
  padding-inline: var(--kendo-pivotgrid-configurator-button-padding-x, var(--kendo-spacing-1, 0.25rem));
  border-width: var(--kendo-pivotgrid-configurator-button-border-width, 1px);
  border-style: solid;
  box-sizing: border-box;
  cursor: pointer;
  user-select: none;
}
.k-pivotgrid-configurator-button .k-icon {
  margin-inline-start: var(--kendo-pivotgrid-configurator-button-icon-spacing, var(--kendo-spacing-2, 0.5rem));
}

.k-flex-row .k-pivotgrid-configurator-button, .k-d-flex-row .k-pivotgrid-configurator-button,
.k-flex-row-reverse .k-pivotgrid-configurator-button {
  display: flex;
  align-items: center;
  justify-content: center;
  writing-mode: vertical-rl;
}
.k-flex-row .k-pivotgrid-configurator-button .k-icon, .k-d-flex-row .k-pivotgrid-configurator-button .k-icon,
.k-flex-row-reverse .k-pivotgrid-configurator-button .k-icon {
  vertical-align: baseline;
}

.k-flex-row-reverse .k-pivotgrid-configurator-button > span {
  transform: rotate(-180deg);
}

.k-flex-col .k-pivotgrid-configurator-button, .k-d-flex-col .k-pivotgrid-configurator-button, .k-flex-column .k-pivotgrid-configurator-button,
.k-flex-col-reverse .k-pivotgrid-configurator-button,
.k-flex-column-reverse .k-pivotgrid-configurator-button {
  text-align: center;
}

.k-pivotgrid-configurator-overlay {
  position: absolute;
  overflow: hidden;
  z-index: 2;
}

.k-flex-row .k-pivotgrid-configurator-overlay, .k-d-flex-row .k-pivotgrid-configurator-overlay {
  inset-inline-end: var(--kendo-pivotgrid-configurator-button-size, calc(var(--kendo-line-height, normal) * 1em + var(--kendo-spacing-1, 0.25rem) * 2 + 1px * 2));
}
.k-flex-row-reverse .k-pivotgrid-configurator-overlay {
  inset-inline-start: var(--kendo-pivotgrid-configurator-button-size, calc(var(--kendo-line-height, normal) * 1em + var(--kendo-spacing-1, 0.25rem) * 2 + 1px * 2));
}

.k-flex-col .k-pivotgrid-configurator-overlay, .k-d-flex-col .k-pivotgrid-configurator-overlay, .k-flex-column .k-pivotgrid-configurator-overlay {
  inset-block-end: var(--kendo-pivotgrid-configurator-button-size, calc(var(--kendo-line-height, normal) * 1em + var(--kendo-spacing-1, 0.25rem) * 2 + 1px * 2));
}
.k-flex-col-reverse .k-pivotgrid-configurator-overlay, .k-flex-column-reverse .k-pivotgrid-configurator-overlay {
  inset-block-start: var(--kendo-pivotgrid-configurator-button-size, calc(var(--kendo-line-height, normal) * 1em + var(--kendo-spacing-1, 0.25rem) * 2 + 1px * 2));
}

.k-pivotgrid-configurator-header {
  padding-block: var(--kendo-pivotgrid-configurator-header-padding-y, var(--kendo-spacing-3, 0.75rem));
  padding-inline: var(--kendo-pivotgrid-configurator-header-padding-x, var(--kendo-spacing-3, 0.75rem));
  font-size: var(--kendo-pivotgrid-configurator-header-font-size, calc(var(--kendo-font-size-xl, 2rem) * 0.9));
  font-weight: var(--kendo-pivotgrid-configurator-header-font-weight, var(--kendo-font-weight-bold, bold));
  display: flex;
  flex-direction: row;
  align-items: center;
}

.k-pivotgrid-configurator-header-text {
  word-break: normal;
  overflow-wrap: anywhere;
}

.k-pivotgrid-configurator-content {
  padding-block: var(--kendo-pivotgrid-configurator-content-padding-y, var(--kendo-spacing-0, 0px));
  padding-inline: var(--kendo-pivotgrid-configurator-content-padding-x, var(--kendo-spacing-3, 0.75rem));
  flex: 1 1 auto;
  overflow: auto;
}
.k-pivotgrid-configurator-content .k-form .k-label {
  font-size: 16px;
  font-weight: 400;
  align-items: flex-start;
}
.k-pivotgrid-configurator-content .k-form .k-dropdown-list, .k-pivotgrid-configurator-content .k-form .k-dropdown,
.k-pivotgrid-configurator-content .k-form .k-dropdownlist {
  max-width: 90px;
}
.k-pivotgrid-configurator-content .k-form .k-textbox {
  flex-basis: 50%;
}
.k-pivotgrid-configurator-content .k-row-fields,
.k-pivotgrid-configurator-content .k-column-fields,
.k-pivotgrid-configurator-content .k-filter-fields {
  margin-block-start: var(--kendo-pivotgrid-configurator-fields-margin-y, calc(var(--kendo-spacing-3, 0.75rem) / 2));
  flex-wrap: wrap;
}
.k-pivotgrid-configurator-content .k-value-fields {
  margin-block: var(--kendo-pivotgrid-configurator-fields-margin-y, calc(var(--kendo-spacing-3, 0.75rem) / 2));
  margin-inline: var(--kendo-pivotgrid-configurator-fields-margin-x, var(--kendo-spacing-0, 0px));
  display: flex;
  flex-direction: column;
  gap: var(--kendo-pivotgrid-configurator-fields-gap, var(--kendo-spacing-2, 0.5rem));
}
.k-pivotgrid-configurator-content .k-select-all .k-checkbox {
  margin-inline-end: var(--kendo-spacing-1, 0.25rem);
}
.k-pivotgrid-configurator-content .k-fields-list-wrapper {
  max-height: 200px;
  border-width: 1px;
  border-style: solid;
  flex: 1 1 auto;
  overflow-x: hidden;
  overflow-y: auto;
}
.k-pivotgrid-configurator-content .k-settings-description {
  margin-block-start: var(--kendo-spacing-4, 1rem);
  text-align: center;
}
.k-pivotgrid-configurator-content .k-treeview {
  padding-block: var(--kendo-pivotgrid-treeview-padding-y, var(--kendo-spacing-0, 0px));
  padding-inline: var(--kendo-pivotgrid-treeview-padding-x, calc(var(--kendo-spacing-3, 0.75rem) / 2));
  overflow: auto;
}

.k-calculated-field {
  padding-block: var(--kendo-pivotgrid-calculated-field-padding-y, var(--kendo-spacing-3, 0.75rem));
  padding-inline: var(--kendo-pivotgrid-calculated-field-padding-x, var(--kendo-spacing-3, 0.75rem));
  border-width: var(--kendo-pivotgrid-calculated-field-border-width, 1px);
  border-radius: var(--kendo-pivotgrid-calculated-field-border-radius, var(--kendo-border-radius-md, 0.25rem));
  border-style: solid;
  box-sizing: border-box;
  display: flex;
  flex-direction: column;
  gap: var(--kendo-pivotgrid-calculated-field-gap, var(--kendo-spacing-3, 0.75rem));
}

.k-calculated-field-header {
  display: flex;
  flex-direction: row;
  align-items: center;
}

.k-calculated-field-header .k-textbox {
  min-width: 200px;
}

.k-calculated-field-header-text {
  margin-inline-end: 5px;
  word-break: normal;
  overflow-wrap: anywhere;
}

.k-calculated-field-header-actions {
  flex-shrink: 0;
  align-self: flex-start;
}

.k-calculated-field-content .k-textbox {
  width: 100%;
}

.k-calculated-field-actions {
  display: flex;
  flex-direction: row;
  align-items: center;
}
.k-calculated-field-actions .k-icon {
  margin-inline-end: var(--kendo-spacing-2, 0.5rem);
}
.k-calculated-field-actions .k-dropdown-list, .k-calculated-field-actions .k-dropdown,
.k-calculated-field-actions .k-dropdownlist {
  max-width: 100px;
}

.k-filter-menu .k-calculated-item {
  border-bottom-width: 1px;
  border-bottom-style: solid;
}

.k-pivotgrid-configurator-vertical {
  min-width: var(--kendo-pivotgrid-configurator-vertical-width, 320px);
}

:is(.k-flex-row, .k-d-flex-row, .k-flex-row-reverse) .k-pivotgrid-configurator-vertical.k-pivotgrid-configurator-push .k-pivotgrid-configurator-panel {
  border-right-width: 0;
  border-left-width: 0;
}

.k-pivotgrid-configurator-horizontal {
  width: 100%;
  height: var(--kendo-pivotgrid-configurator-horizontal-height, 420px);
}
.k-pivotgrid-configurator-horizontal .k-pivotgrid-configurator-content .k-form {
  display: flex;
  flex-direction: row;
}
.k-pivotgrid-configurator-horizontal .k-pivotgrid-configurator-content .k-form-field-wrapper {
  padding-inline-start: var(--kendo-pivotgrid-spacer, var(--kendo-spacing-3, 0.75rem));
}
.k-pivotgrid-configurator-horizontal .k-pivotgrid-configurator-content .k-form-field-wrapper > *:first-child {
  margin-block-start: 0;
}
.k-pivotgrid-configurator-horizontal .k-pivotgrid-configurator-content .k-form-field-wrapper:first-child {
  padding-inline-start: 0;
  flex: 1 1 30%;
}
.k-pivotgrid-configurator-horizontal .k-pivotgrid-configurator-content .k-form-field-wrapper:nth-child(2) {
  flex: 1 1 30%;
}
.k-pivotgrid-configurator-horizontal .k-pivotgrid-configurator-content .k-form-field-wrapper:last-child {
  border-left-width: 1px;
  border-left-style: solid;
  flex: 1 1 40%;
}
.k-pivotgrid-configurator-horizontal .k-pivotgrid-configurator-content .k-row-fields,
.k-pivotgrid-configurator-horizontal .k-pivotgrid-configurator-content .k-column-fields,
.k-pivotgrid-configurator-horizontal .k-pivotgrid-configurator-content .k-filter-fields {
  max-height: 100px;
  overflow-x: hidden;
  overflow-y: auto;
}
.k-pivotgrid-configurator-horizontal .k-pivotgrid-configurator-content .k-value-fields {
  max-height: 250px;
  flex-flow: row wrap;
  overflow-x: hidden;
  overflow-y: auto;
}

.k-flex-col .k-pivotgrid-configurator-horizontal.k-pivotgrid-configurator-push .k-pivotgrid-configurator-panel, .k-d-flex-col .k-pivotgrid-configurator-horizontal.k-pivotgrid-configurator-push .k-pivotgrid-configurator-panel, .k-flex-column .k-pivotgrid-configurator-horizontal.k-pivotgrid-configurator-push .k-pivotgrid-configurator-panel,
.k-flex-col-reverse .k-pivotgrid-configurator-horizontal.k-pivotgrid-configurator-push .k-pivotgrid-configurator-panel,
.k-flex-column-reverse .k-pivotgrid-configurator-horizontal.k-pivotgrid-configurator-push .k-pivotgrid-configurator-panel {
  border-top-width: 0;
  border-bottom-width: 0;
}

.k-pdf-export-shadow .k-pivotgrid {
  height: auto !important;
}
.k-pdf-export-shadow .k-pivotgrid-values {
  height: auto;
  overflow: visible;
}
.k-pdf-export-shadow .k-pivotgrid-column-headers .k-pivotgrid-table {
  padding-inline-end: 0;
}

.k-pivot {
  border-width: var(--kendo-pivotgrid-border-width, 1px);
  border-style: solid;
  position: relative;
}
.k-pivot .k-grid td {
  white-space: nowrap;
}
.k-pivot .k-grid-content {
  flex: 1 1 auto;
}

.k-pivot-toolbar {
  border-width: 0 0 1px;
  border-style: solid;
  align-items: flex-start;
  flex-wrap: wrap;
  box-shadow: none;
}
.k-pivot-toolbar > * {
  max-width: 100%;
}
.k-pivot-toolbar::before {
  display: none;
}

.k-pivot-layout {
  border-spacing: 0;
  table-layout: auto;
}
.k-pivot-layout .k-grid-footer,
.k-pivot-layout .k-grid .k-table-alt-row {
  font-weight: bold;
}

.k-pivot-layout > tbody,
.k-pivot .k-table-td,
.k-pivot td {
  vertical-align: top;
}

.k-pivot-layout > tbody > tr > td {
  padding: 0;
}

.k-pivot-rowheaders > .k-grid,
.k-pivot-table > .k-grid {
  border-width: 0;
  color: inherit;
  background: none;
}

.k-pivot-rowheaders > .k-grid td:first-child,
.k-pivot-table .k-grid-header .k-header.k-first {
  border-left-width: 1px;
}

.k-pivot-rowheaders > .k-grid td.k-first {
  border-left-width: 0;
}

.k-pivot-rowheaders > .k-grid {
  overflow: hidden;
}

.k-pivot-table {
  border-left-width: 1px;
  border-left-style: solid;
}

.k-pivot-table .k-grid-header-wrap {
  margin-inline-end: -1px;
}

.k-pivot-table .k-grid-header-wrap > table {
  height: 100%;
}

.k-pivot .k-grid-header .k-header {
  vertical-align: top;
}

.k-pivot .k-grid tr .k-grid-footer {
  border-bottom-width: 0;
}
.k-pivot .k-grid tr:last-child:not(.k-grid-footer) td:not(.k-grid-footer) {
  border-bottom-width: 1px;
}

.k-pivot-layout .k-grid td {
  border-bottom-width: 1px;
}

.k-pivot-layout .k-grid-footer > td {
  border-top-width: 0;
}

.k-pivot-filter-window .k-treeview {
  max-height: 600px;
}

.k-pivotgrid-wrapper {
  box-sizing: border-box;
  display: flex;
  flex-flow: row nowrap;
  align-items: flex-start;
  gap: var(--kendo-pivotgrid-spacer, var(--kendo-spacing-3, 0.75rem));
}
.k-pivotgrid-wrapper > .k-pivotgrid-configurator-panel {
  max-width: 320px;
  flex: none;
}
.k-pivotgrid-wrapper > .k-pivot {
  flex: 1;
}

.k-pivotgrid-configurator-panel.kendo-jquery {
  box-sizing: border-box;
  display: inline-flex;
}
.k-pivotgrid-configurator-panel.kendo-jquery .k-pivotgrid-configurator {
  height: 100%;
}
.k-pivotgrid-configurator-panel.kendo-jquery .k-pivotgrid-configurator-content {
  padding: var(--kendo-pivotgrid-spacer, var(--kendo-spacing-3, 0.75rem));
  max-height: 100%;
  display: flex;
  flex-flow: column nowrap;
  gap: var(--kendo-pivotgrid-spacer, var(--kendo-spacing-3, 0.75rem));
  overflow-x: hidden;
  overflow-y: auto;
}
.k-pivotgrid-configurator-panel.kendo-jquery .k-pivotgrid-targets {
  display: flex;
  flex-flow: column nowrap;
  gap: var(--kendo-pivotgrid-spacer, var(--kendo-spacing-3, 0.75rem));
}
.k-pivotgrid-configurator-panel.kendo-jquery .k-pivotgrid-configurator-section {
  display: flex;
  flex-flow: column nowrap;
  gap: var(--kendo-pivotgrid-spacer, var(--kendo-spacing-3, 0.75rem));
}
.k-pivotgrid-configurator-panel.kendo-jquery .k-column-fields {
  margin: 0;
  padding: calc(var(--kendo-pivotgrid-spacer, var(--kendo-spacing-3, 0.75rem)) / 2);
  max-height: 200px;
  border-width: 1px;
  border-style: solid;
  display: flex;
  flex-flow: row wrap;
  gap: calc(var(--kendo-pivotgrid-spacer, var(--kendo-spacing-3, 0.75rem)) / 2);
  overflow-x: hidden;
  overflow-y: auto;
}
.k-pivotgrid-configurator-panel.kendo-jquery .k-column-fields > * {
  margin: 0;
}

.k-pivotgrid-toggle {
  margin-block: calc(var(--kendo-icon-padding) * -1);
  padding: var(--kendo-icon-padding, 0.25rem);
  box-sizing: content-box;
  cursor: pointer;
}

.k-pivotgrid {
  border-color: var(--kendo-pivotgrid-border, var(--kendo-component-border, initial));
  color: var(--kendo-pivotgrid-text, var(--kendo-component-text, initial));
  background-color: var(--kendo-pivotgrid-bg, var(--kendo-component-bg, initial));
}

.k-pivotgrid-column-headers,
.k-pivotgrid-row-headers,
.k-pivotgrid-empty-cell {
  border-color: var(--kendo-pivotgrid-headers-border, var(--kendo-component-border, inherit));
  color: var(--kendo-pivotgrid-headers-text, var(--kendo-color-on-app-surface, #323130));
  background-color: var(--kendo-pivotgrid-headers-bg, var(--kendo-component-bg, inherit));
}

.k-pivotgrid-empty-cell {
  border-color: var(--kendo-pivotgrid-alt-border, var(--kendo-component-border, initial));
}

.k-pivotgrid-row-headers .k-pivotgrid-row .k-pivotgrid-cell:last-child {
  border-right-color: var(--kendo-pivotgrid-alt-border, var(--kendo-component-border, initial));
}

.k-pivotgrid-column-headers .k-pivotgrid-column-total:nth-last-of-type(2) .k-pivotgrid-cell:not(.k-pivotgrid-expanded),
.k-pivotgrid-column-headers .k-pivotgrid-row:last-child {
  border-bottom-color: var(--kendo-pivotgrid-alt-border, var(--kendo-component-border, initial));
}

.k-pivotgrid-header-total,
.k-pivotgrid-total {
  border-color: var(--kendo-pivotgrid-total-border, var(--kendo-component-border, inherit));
  color: var(--kendo-pivotgrid-total-text, var(--kendo-component-text, inherit));
  background-color: var(--kendo-pivotgrid-total-bg, var(--kendo-color-base-subtle, #edebe9));
}

.k-pivotgrid-row-headers tbody > .k-pivotgrid-row:hover,
.k-pivotgrid-row-headers tbody > .k-pivotgrid-row.k-hover,
.k-pivotgrid-column-headers tbody > .k-pivotgrid-row:hover,
.k-pivotgrid-column-headers tbody > .k-pivotgrid-row.k-hover,
.k-pivotgrid-values tbody > .k-pivotgrid-row:hover,
.k-pivotgrid-values tbody > .k-pivotgrid-row.k-hover {
  border-color: var(--kendo-pivotgrid-hover-border, inherit);
  color: var(--kendo-pivotgrid-hover-text, inherit);
  background-color: var(--kendo-pivotgrid-hover-bg, var(--kendo-hover-bg, inherit));
}

.k-pivotgrid-cell:focus,
.k-pivotgrid-cell.k-focus,
.k-pivotgrid-empty-cell:focus,
.k-pivotgrid-empty-cell.k-focus,
.k-master-row > .k-pivotgrid-cell:focus,
.k-grouping-row > .k-pivotgrid-cell:focus,
.k-detail-row > .k-pivotgrid-cell:focus,
.k-group-footer > .k-pivotgrid-cell:focus {
  box-shadow: var(--kendo-pivotgrid-focus-shadow, inset 0 0 0 1px var(--kendo-color-base-emphasis, #605e5c));
}

.k-pivotgrid-cell.k-selected,
.k-pivotgrid-row.k-selected > .k-pivotgrid-cell {
  border-color: var(--kendo-pivotgrid-selected-border, inherit);
  color: var(--kendo-pivotgrid-selected-text, inherit);
  background-color: var(--kendo-pivotgrid-selected-bg, var(--kendo-selected-bg, inherit));
}

.k-pivotgrid-configurator-button,
.k-pivotgrid-configurator-panel {
  border-color: var(--kendo-pivotgrid-configurator-border, var(--kendo-component-border, inherit));
  color: var(--kendo-pivotgrid-configurator-text, var(--kendo-color-on-app-surface, #323130));
  background-color: var(--kendo-pivotgrid-configurator-bg, var(--kendo-component-bg, inherit));
}

.k-pivotgrid-configurator-header {
  border-color: var(--kendo-pivotgrid-configurator-header-border, inherit);
  color: var(--kendo-pivotgrid-configurator-header-text, var(--kendo-component-text, inherit));
  background-color: var(--kendo-pivotgrid-configurator-header-bg, var(--kendo-component-bg, inherit));
}

.k-pivotgrid-configurator-content .k-fields-list-wrapper {
  border-color: var(--kendo-pivotgrid-configurator-border, var(--kendo-component-border, inherit));
}

.k-calculated-field {
  border-color: var(--kendo-pivotgrid-calculated-field-border, var(--kendo-component-border, inherit));
  color: var(--kendo-pivotgrid-calculated-field-text, var(--kendo-component-text, inherit));
  background-color: var(--kendo-pivotgrid-calculated-field-bg, var(--kendo-component-bg, inherit));
}

.k-calculated-field-header {
  border-color: var(--kendo-pivotgrid-calculated-field-header-border, inherit);
  color: var(--kendo-pivotgrid-calculated-field-header-text, var(--kendo-component-text, inherit));
  background-color: var(--kendo-pivotgrid-calculated-field-header-bg, inherit);
}

.k-filter-menu .k-calculated-item {
  border-color: var(--kendo-component-border, inherit);
}

.k-pivotgrid-configurator-content .k-form-field-wrapper {
  border-color: var(--kendo-component-border, inherit);
}

.k-pivot {
  border-color: var(--kendo-pivotgrid-border, var(--kendo-component-border, initial));
  color: var(--kendo-pivotgrid-text, var(--kendo-component-text, initial));
  background-color: var(--kendo-pivotgrid-bg, var(--kendo-component-bg, initial));
}

.k-pivot-table {
  border-color: var(--kendo-pivotgrid-border, var(--kendo-component-border, initial));
}

.k-pivot-rowheaders {
  border-color: var(--kendo-pivotgrid-headers-border, var(--kendo-component-border, inherit));
  color: var(--kendo-pivotgrid-headers-text, var(--kendo-color-on-app-surface, #323130));
  background-color: var(--kendo-pivotgrid-headers-bg, var(--kendo-component-bg, inherit));
}

.k-pivot-toolbar {
  border-color: var(--kendo-pivotgrid-headers-border, var(--kendo-component-border, inherit));
  color: var(--kendo-pivotgrid-headers-text, var(--kendo-color-on-app-surface, #323130));
  background-color: var(--kendo-pivotgrid-headers-bg, var(--kendo-component-bg, inherit));
}
.k-pivot-toolbar .k-empty {
  color: var(--kendo-subtle-text, inherit);
}

.k-pivot-toolbar,
.k-pivot-table,
.k-pivot-rowheaders > .k-grid td:first-child,
.k-pivot-table .k-grid-header .k-header.k-first {
  border-color: var(--kendo-pivotgrid-chrome-border, var(--kendo-component-border, initial));
}

.k-pivot-layout .k-grid-footer {
  color: var(--kendo-pivotgrid-alt-text, var(--kendo-color-on-app-surface, #323130));
  background-color: var(--kendo-pivotgrid-alt-bg, var(--kendo-component-bg, initial));
}

.k-i-kpi-trend-increase,
.k-i-kpi-trend-decrease,
.k-i-kpi-trend-equal {
  color: inherit;
}

.k-i-kpi-status-hold {
  color: var(--kendo-warning-100, initial);
}

.k-i-kpi-status-deny {
  color: var(--kendo-error-100, initial);
}

.k-i-kpi-status-open {
  color: var(--kendo-success-100, initial);
}

.k-pivotgrid-configurator-panel.kendo-jquery .k-column-fields {
  border-color: var(--kendo-component-border, inherit);
}

.k-treelist.k-grid-display-block.k-grid-lockedcolumns {
  display: block;
}
.k-treelist .k-status {
  padding-inline: 0.6em;
  padding-block: 0.4em;
  line-height: 1.6em;
}
.k-treelist .k-status .k-loading {
  vertical-align: baseline;
  margin-right: var(--kendo-spacing-1, 0.25rem);
  display: none;
}
.k-treelist .k-treelist-dragging,
.k-treelist .k-treelist-dragging .k-state-hover,
.k-treelist .k-treelist-dragging .k-hover {
  cursor: default;
}
.k-treelist .k-drop-hint {
  transform: translate(0, -50%);
}
.k-treelist tr.k-footer td,
.k-treelist tr.k-footer-template td {
  border-width: var(--kendo-treelist-footer-row-border-width, 1px) 0;
  border-style: solid;
  font-weight: var(--kendo-font-weight-bold, bold);
}
.k-treelist tr.k-footer + tr.k-footer td {
  border-top-width: 0;
}
.k-treelist .k-i-caret-alt-down,
.k-treelist .k-i-caret-alt-right {
  margin-inline-end: var(--kendo-spacing-2, 0.5rem);
}

.k-treelist-scrollable > table,
.k-treelist-scrollable .k-grid-header tr,
.k-treelist-scrollable .k-grid-header th {
  background-color: inherit;
}
.k-treelist-scrollable .k-grid-toolbar {
  position: sticky;
  z-index: 3;
  top: 0;
  left: 0;
}
.k-treelist-scrollable .k-grid-header th {
  position: sticky;
  z-index: 1;
}
.k-treelist-scrollable .k-grid-header th.k-grid-header-sticky {
  z-index: 3;
}
.k-treelist-scrollable thead.k-grid-header {
  padding-inline-end: 0;
}
.k-treelist-scrollable tr.k-group-footer + tr.k-group-footer td {
  border-top-width: 0;
}

.k-drag-separator {
  display: inline-block;
  border-right: 1px solid;
  height: 1em;
  vertical-align: top;
  margin-block: 0;
  margin-inline: 0.5em;
}

.k-treelist-toggle {
  margin-block: calc(var(--kendo-icon-padding) * -1);
  padding: var(--kendo-icon-padding, 0.25rem);
  box-sizing: content-box;
  cursor: pointer;
}

.k-treelist tr.k-footer,
.k-treelist tr.k-group-footer td,
.k-treelist tr.k-footer-template,
.k-treelist-scrollable tr.k-footer,
.k-treelist-scrollable tr.k-group-footer td,
.k-treelist-scrollable tr.k-footer-template {
  background-color: var(--kendo-treelist-footer-row-bg, var(--kendo-hover-bg, inherit));
}

.k-filter {
  box-sizing: border-box;
  border-width: 0;
  display: inline-block;
  background-color: transparent;
}
.k-filter *,
.k-filter *::before,
.k-filter *::after {
  box-sizing: border-box;
}
.k-filter ul {
  padding: 0;
}
.k-filter ul li {
  list-style-type: none;
}
.k-filter .k-filter-container,
.k-filter .k-filter-preview {
  margin-block-end: var(--kendo-filter-bottom-margin, var(--kendo-spacing-7\.5, 1.875rem));
}
.k-filter .k-filter-lines,
.k-filter .k-filter-item {
  padding-inline-start: var(--kendo-filter-padding-x, var(--kendo-spacing-2, 0.5rem));
}
.k-filter .k-filter-toolbar {
  display: inline-flex;
  position: relative;
  padding-inline: 0;
  padding-block: var(--kendo-filter-padding-y, var(--kendo-spacing-1, 0.25rem));
}
.k-filter .k-filter-toolbar::before {
  content: "";
  position: absolute;
  width: var(--kendo-filter-padding-x, var(--kendo-spacing-2, 0.5rem));
  height: var(--kendo-filter-line-size, 1px);
  top: 50%;
  inset-inline-start: calc(var(--kendo-filter-padding-x, var(--kendo-spacing-2, 0.5rem)) * -1);
}
.k-filter .k-filter-toolbar .k-toolbar {
  border-style: solid;
}
.k-filter .k-filter-operator .k-dropdown-list, .k-filter .k-filter-operator .k-dropdown,
.k-filter .k-filter-operator .k-dropdownlist {
  width: var(--kendo-filter-operator-dropdown-width, 15em);
}
.k-filter .k-filter-item {
  position: relative;
}
.k-filter .k-filter-item::before {
  content: "";
  position: absolute;
  width: var(--kendo-filter-line-size, 1px);
  height: 100%;
  top: calc(var(--kendo-filter-padding-y, var(--kendo-spacing-1, 0.25rem)) * -1);
  inset-inline-start: 0;
}
.k-filter .k-filter-lines .k-filter-item:last-child > .k-filter-toolbar::after,
.k-filter .k-filter-lines .k-filter-item:last-child > * > .k-filter-toolbar::after {
  content: "";
  position: absolute;
  width: var(--kendo-filter-line-size, 1px);
  top: calc(var(--kendo-filter-padding-y, var(--kendo-spacing-1, 0.25rem)) * -1 - var(--kendo-filter-line-size, 1px));
  bottom: 50%;
  inset-inline-start: calc(var(--kendo-filter-padding-x, var(--kendo-spacing-2, 0.5rem)) * -1);
}
.k-filter .k-filter-group-main::before,
.k-filter .k-filter-group-main > .k-filter-toolbar::before,
.k-filter .k-filter-group-main > .k-filter-toolbar::after,
.k-filter .k-filter-group-main > * > .k-filter-toolbar::before,
.k-filter .k-filter-group-main > * > .k-filter-toolbar::after,
.k-filter .k-filter-lines .k-filter-item:last-child::before {
  display: none;
}

.k-filter {
  color: var(--kendo-filter-text, var(--kendo-component-text, initial));
}
.k-filter .k-filter-preview-field {
  color: var(--kendo-filter-preview-field-text, var(--kendo-color-primary, #0078d4));
}
.k-filter .k-filter-preview-operator {
  color: var(--kendo-filter-preview-operator-text, var(--kendo-color-subtle, #605e5c));
}
.k-filter .k-filter-item::before,
.k-filter .k-filter-toolbar::before,
.k-filter .k-filter-lines .k-filter-item:last-child > .k-filter-toolbar::after,
.k-filter .k-filter-lines .k-filter-item:last-child > * > .k-filter-toolbar::after {
  background-color: var(--kendo-filter-line-bg, var(--kendo-component-border, initial));
}
.k-filter .k-toolbar:focus,
.k-filter .k-toolbar.k-focus {
  border-color: var(--kendo-filter-toolbar-focus-border, var(--kendo-color-base-emphasis, #605e5c));
}

.k-filemanager {
  border-width: var(--kendo-file-manager-border-width, 1px);
  border-style: solid;
  box-sizing: border-box;
  font-family: var(--kendo-file-manager-font-family, var(--kendo-font-family, normal));
  font-size: var(--kendo-file-manager-font-size, var(--kendo-font-size, inherit));
  line-height: var(--kendo-file-manager-line-height, var(--kendo-line-height, normal));
  display: flex;
  flex-flow: column nowrap;
}

.k-filemanager-header {
  border-color: inherit;
}

.k-filemanager-toolbar {
  border-width: 0;
  border-bottom-width: var(--kendo-file-manager-toolbar-border-width, 1px);
  border-color: inherit;
  flex-shrink: 0;
  z-index: 1;
}

.k-filemanager-content-container {
  border-color: inherit;
  box-sizing: border-box;
  flex: 1 1 0%;
  display: flex;
  flex-flow: row nowrap;
  align-items: stretch;
  overflow: hidden;
}

.k-filemanager-splitter {
  border-width: 0;
}

.k-filemanager-navigation {
  padding-inline: var(--kendo-file-manager-navigation-padding-x, var(--kendo-spacing-4, 1rem));
  padding-block: var(--kendo-file-manager-navigation-padding-y, var(--kendo-spacing-4, 1rem));
  width: var(--kendo-file-manager-navigation-width, 20%);
  border-width: 0;
  border-right-width: var(--kendo-file-manager-navigation-border-width, 1px);
  border-style: solid;
  border-color: inherit;
  box-sizing: border-box;
  flex-shrink: 0;
  overflow: auto;
}

.k-filemanager-treeview {
  overflow: visible;
}

.k-filemanager-content {
  border-color: inherit;
  flex: 1 1 0%;
  display: flex;
  flex-flow: column nowrap;
  align-items: stretch;
  overflow: hidden;
}

.k-filemanager-view {
  overflow: auto;
}

.k-filemanager-breadcrumb {
  padding-inline: var(--kendo-file-manager-breadcrumb-padding-x, var(--kendo-spacing-2, 0.5rem));
  padding-block: var(--kendo-file-manager-breadcrumb-padding-y, var(--kendo-spacing-2, 0.5rem));
  border-width: 0;
  border-bottom-width: var(--kendo-file-manager-breadcrumb-border-width, 1px);
  flex-shrink: 0;
}

.k-filemanager-listview {
  border-width: 0;
  flex: 1 1 0%;
}
.k-filemanager-listview .k-listview-item {
  padding-inline: var(--kendo-file-manager-listview-item-padding-x, var(--kendo-spacing-4, 1rem));
  padding-block: var(--kendo-file-manager-listview-item-padding-y, var(--kendo-spacing-4, 1rem));
  width: var(--kendo-file-manager-listview-item-width, 120px);
  height: var(--kendo-file-manager-listview-item-height, 120px);
  text-align: center;
}
.k-filemanager-listview .k-file-preview {
  display: flex;
  flex-direction: row;
  justify-content: center;
}
.k-filemanager-listview .k-file-name {
  margin-block-start: calc(var(--kendo-file-manager-spacer, var(--kendo-spacing-4, 1rem)) / 2);
  display: block;
  text-align: center;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.k-filemanager-listview .k-file-edit-input input {
  width: 100%;
}

.k-filemanager-grid {
  border-width: 0;
  flex: 1 1 0%;
}
.k-filemanager-grid .k-file-preview {
  margin-inline-end: var(--kendo-icon-spacing, 0.5rem);
  display: inline-flex;
  flex-direction: row;
  vertical-align: middle;
}
.k-filemanager-grid .k-file-name {
  display: inline-flex;
  flex-direction: row;
  vertical-align: middle;
}

.k-filemanager-preview {
  padding-inline-start: var(--kendo-file-manager-preview-padding-x, var(--kendo-spacing-4, 1rem));
  padding-inline-end: var(--kendo-file-manager-preview-padding-x, var(--kendo-spacing-4, 1rem));
  padding-block-start: calc(var(--kendo-file-manager-preview-padding-y, var(--kendo-spacing-4, 1rem)) * 3);
  padding-block-end: var(--kendo-file-manager-preview-padding-y, var(--kendo-spacing-4, 1rem));
  width: var(--kendo-file-manager-preview-width, 20%);
  min-height: calc(var(--kendo-file-manager-preview-padding-y, var(--kendo-spacing-4, 1rem)) * 4 + var(--kendo-icon-size, 1rem) * 2 + var(--kendo-file-manager-preview-spacing, var(--kendo-spacing-4, 1rem)) * 3);
  border-width: 0;
  border-left-width: var(--kendo-file-manager-preview-border-width, 1px);
  border-style: solid;
  border-color: inherit;
  box-sizing: border-box;
  text-align: center;
  overflow-y: auto;
  flex-shrink: 0;
}
.k-filemanager-preview .k-file-preview {
  display: flex;
  flex-direction: row;
  justify-content: center;
}
.k-filemanager-preview .k-file-name {
  margin-block-start: var(--kendo-file-manager-preview-spacing, var(--kendo-spacing-4, 1rem));
  display: block;
}
.k-filemanager-preview .k-single-file-selected {
  font-weight: var(--kendo-font-weight-bold, bold);
}
.k-filemanager-preview .k-multiple-files-selected {
  font-weight: var(--kendo-font-weight-bold, bold);
}
.k-filemanager-preview .k-file-meta {
  margin-inline: 0;
  margin-block-start: var(--kendo-file-manager-preview-spacing, var(--kendo-spacing-4, 1rem));
  margin-block-end: 0;
  box-sizing: border-box;
  text-align: start;
  display: flex;
  flex-flow: row wrap;
  grid-column-gap: var(--kendo-spacing-1, 0.25rem);
}
.k-filemanager-preview .k-file-meta-label {
  display: inline-block;
}
.k-filemanager-preview .k-file-meta-value {
  margin: 0;
}
.k-filemanager-preview .k-file-type {
  text-transform: capitalize;
}
.k-filemanager-preview .k-line-break {
  margin-inline: 0;
  margin-block-start: var(--kendo-file-manager-preview-spacing, var(--kendo-spacing-4, 1rem));
  margin-block-end: 0;
  width: 100%;
  flex: 1 1 100%;
  flex-flow: row nowrap;
}

.k-filemanager .k-splitbar {
  flex-shrink: 0;
  display: inline-flex;
  position: relative;
  border-width: 0 1px;
  border-style: solid;
  border-color: inherit;
}

.k-filemanager-upload-dialog .k-upload-files {
  max-height: 200px;
  overflow-y: auto;
}

.k-filemanager-drag-hint {
  display: flex;
  flex-direction: row;
  align-items: center;
}

.k-filemanager-drag-hint .k-icon {
  margin-inline-end: var(--kendo-icon-spacing, 0.5rem);
}

.k-filemanager {
  border-color: var(--kendo-file-manager-border, var(--kendo-component-border, inherit));
  color: var(--kendo-file-manager-text, var(--kendo-component-text, inherit));
  background-color: var(--kendo-file-manager-bg, var(--kendo-component-bg, transparent));
}

.k-filemanager-toolbar {
  border-color: var(--kendo-file-manager-toolbar-border, var(--kendo-component-border, initial));
  color: var(--kendo-file-manager-toolbar-text, var(--kendo-component-text, inherit));
  background-color: var(--kendo-file-manager-toolbar-bg, var(--kendo-color-surface, #faf9f8));
}

.k-filemanager-navigation {
  border-color: var(--kendo-file-manager-navigation-border, inherit);
  color: var(--kendo-file-manager-navigation-text, inherit);
  background-color: var(--kendo-file-manager-navigation-bg, transparent);
}

.k-filemanager-breadcrumb {
  border-color: var(--kendo-file-manager-breadcrumb-border, inherit);
  color: var(--kendo-file-manager-breadcrumb-text, inherit);
  background-color: var(--kendo-file-manager-breadcrumb-bg, var(--kendo-color-surface, #faf9f8));
}

.k-filemanager-listview {
  border-color: var(--kendo-file-manager-listview-border, inherit);
  color: var(--kendo-file-manager-listview-text, inherit);
  background-color: var(--kendo-file-manager-listview-bg, transparent);
}
.k-filemanager-listview .k-listview-item .k-file-icon {
  border-color: var(--kendo-file-manager-listview-item-icon-border, inherit);
  color: var(--kendo-file-manager-listview-item-icon-text, var(--kendo-subtle-text, inherit));
  background-color: var(--kendo-file-manager-listview-item-icon-bg, transparent);
}
.k-filemanager-listview .k-listview-item.k-focus .k-file-icon {
  border-color: var(--kendo-file-manager-listview-item-icon-focus-border, inherit);
  color: var(--kendo-file-manager-listview-item-icon-focus-text, inherit);
  background-color: var(--kendo-file-manager-listview-item-icon-focus-bg, transparent);
}
.k-filemanager-listview .k-listview-item.k-selected .k-file-icon {
  border-color: var(--kendo-file-manager-listview-item-icon-selected-border, inherit);
  color: var(--kendo-file-manager-listview-item-icon-selected-text, inherit);
  background-color: var(--kendo-file-manager-listview-item-icon-selected-bg, transparent);
}

.k-filemanager-grid {
  border-color: var(--kendo-file-manager-grid-border, inherit);
  color: var(--kendo-file-manager-grid-text, inherit);
  background-color: var(--kendo-file-manager-grid-bg, transparent);
}

.k-filemanager-preview {
  border-color: var(--kendo-file-manager-preview-border, inherit);
  color: var(--kendo-file-manager-preview-text, inherit);
  background-color: var(--kendo-file-manager-preview-bg, transparent);
}
.k-filemanager-preview .k-file-icon {
  border-color: var(--kendo-file-manager-preview-icon-border, inherit);
  color: var(--kendo-file-manager-preview-icon-text, var(--kendo-subtle-text, inherit));
  background-color: var(--kendo-file-manager-preview-icon-bg, transparent);
}

.k-taskboard {
  border-width: var(--kendo-taskboard-border-width, 1px);
  border-style: var(--kendo-taskboard-border-style, solid);
  padding-inline: var(--kendo-taskboard-padding-x, var(--kendo-spacing-0, 0px));
  padding-block: var(--kendo-taskboard-padding-y, var(--kendo-spacing-0, 0px));
  box-sizing: border-box;
  font-size: var(--kendo-taskboard-font-size, var(--kendo-font-size, inherit));
  font-family: var(--kendo-taskboard-font-family, var(--kendo-font-family, inherit));
  line-height: var(--kendo-taskboard-line-height, var(--kendo-line-height, inherit));
  display: flex;
  flex-direction: column;
  position: relative;
}
.k-taskboard *,
.k-taskboard *::before,
.k-taskboard *::after {
  box-sizing: border-box;
}

.k-taskboard-toolbar {
  border-inline-width: 0;
  border-block-start-width: 0;
}

.k-taskboard-content {
  padding-inline: var(--kendo-taskboard-content-padding-x, var(--kendo-spacing-0, 0px));
  padding-block-start: 0;
  padding-block-end: var(--kendo-taskboard-content-padding-y, var(--kendo-spacing-0, 0px));
  display: flex;
  position: relative;
  flex: 1 1 auto;
  overflow-x: auto;
}

.k-taskboard-columns-container {
  outline: none;
  display: flex;
  flex-direction: row;
  overflow: hidden;
  gap: var(--kendo-taskboard-columns-container-gap, var(--kendo-spacing-4, 1rem));
  overflow-x: visible;
}

.k-taskboard-column {
  width: var(--kendo-taskboard-column-width, 320px);
  border-width: var(--kendo-taskboard-column-border-width, 1px);
  border-radius: var(--kendo-taskboard-column-border-radius, var(--kendo-border-radius-md, 0.25rem));
  border-style: solid;
  outline: none;
  display: flex;
  flex-direction: column;
  flex-shrink: 0;
  overflow: hidden;
}

.k-taskboard-column-header {
  padding-inline: var(--kendo-taskboard-column-header-padding-x, calc(var(--kendo-spacing-4, 1rem) / 2));
  padding-block: var(--kendo-taskboard-column-header-padding-y, calc(var(--kendo-spacing-4, 1rem) / 2));
  font-weight: var(--kendo-taskboard-column-header-font-weight, 400);
  display: flex;
  flex-direction: row;
  align-items: center;
  gap: var(--kendo-taskboard-column-header-gap, calc(var(--kendo-spacing-4, 1rem) / 4));
}

.k-taskboard-column-header-actions {
  display: inline-flex;
  flex-shrink: 0;
  align-self: flex-start;
  gap: var(--kendo-taskboard-column-header-actions-gap, calc(var(--kendo-spacing-4, 1rem) / 2));
}

.k-taskboard-column-cards-container {
  padding-inline: var(--kendo-taskboard-column-container-padding-x, calc(var(--kendo-spacing-4, 1rem) / 2));
  padding-block: var(--kendo-taskboard-column-container-padding-y, var(--kendo-spacing-0, 0px));
  outline: none;
  overflow: auto;
  flex: 1 1 auto;
}

.k-taskboard-column-cards {
  margin-block-end: var(--kendo-taskboard-column-container-spacing-y, calc(var(--kendo-spacing-4, 1rem) / 2));
  padding-inline: var(--kendo-taskboard-column-cards-padding-x, var(--kendo-spacing-0, 0px));
  padding-block: var(--kendo-taskboard-column-cards-padding-y, var(--kendo-spacing-0, 0px));
  min-height: 100%;
  display: flex;
  flex-direction: column;
  gap: var(--kendo-taskboard-column-cards-gap, calc(var(--kendo-spacing-4, 1rem) / 2));
}

.k-taskboard-column-new .k-taskboard-column-header,
.k-taskboard-column-edit .k-taskboard-column-header {
  font-weight: inherit;
}
.k-taskboard-column-new .k-taskboard-column-header-text,
.k-taskboard-column-edit .k-taskboard-column-header-text {
  flex: 1 1 100%;
}

.k-taskboard-pane {
  padding-inline: var(--kendo-taskboard-pane-padding-x, var(--kendo-spacing-0, 0px));
  padding-block: var(--kendo-taskboard-pane-padding-y, var(--kendo-spacing-0, 0px));
  width: var(--kendo-taskboard-pane-width, 320px);
  border-block-width: 0;
  border-inline-start-width: var(--kendo-taskboard-pane-border-width, 1px);
  border-inline-end-width: 0;
  border-style: solid;
  display: flex;
  flex-direction: column;
  position: absolute;
  inset-block-start: 0;
  inset-block-end: 0;
  inset-inline-end: 0;
  overflow: hidden;
  z-index: 2;
}

.k-taskboard-pane-header {
  padding-inline: var(--kendo-taskboard-pane-header-padding-x, var(--kendo-spacing-6, 1.5rem));
  padding-block: var(--kendo-taskboard-pane-header-padding-y, var(--kendo-spacing-4, 1rem));
  font-size: var(--kendo-taskboard-pane-header-font-size, var(--kendo-font-size-xl, 1rem));
  font-weight: var(--kendo-taskboard-pane-header-font-weight, var(--kendo-font-weight-bold, bold));
  display: flex;
  flex-direction: row;
  align-items: center;
}

.k-taskboard-pane-header-text {
  word-break: normal;
  overflow-wrap: anywhere;
}

.k-taskboard-pane-header-actions {
  flex-shrink: 0;
  align-self: flex-start;
}

.k-taskboard-pane-content {
  padding-inline: var(--kendo-taskboard-pane-content-padding-x, var(--kendo-spacing-6, 1.5rem));
  padding-block: var(--kendo-taskboard-pane-content-padding-y, var(--kendo-spacing-0, 0px));
  overflow: auto;
  flex: 1 1 auto;
}

.k-taskboard-pane-actions {
  padding-inline: var(--kendo-taskboard-pane-actions-padding-x, var(--kendo-spacing-6, 1.5rem));
  padding-block: var(--kendo-taskboard-pane-actions-padding-y, var(--kendo-spacing-6, 1.5rem));
}

.k-taskboard-pane-start {
  border-inline-end-width: var(--kendo-taskboard-pane-border-width, 1px);
  inset-inline-end: auto;
  inset-inline-start: 0;
}

.k-taskboard-card.k-taskboard-card-category {
  border-inline-start-width: var(--kendo-taskboard-card-category-border-width, 4px);
}
.k-taskboard-card .k-card-header,
.k-taskboard-card .k-card-body,
.k-taskboard-card .k-card-footer {
  padding-inline: var(--kendo-taskboard-card-padding-x, calc(var(--kendo-spacing-4, 1rem) / 2));
  padding-block: var(--kendo-taskboard-card-padding-y, calc(var(--kendo-spacing-4, 1rem) / 2));
}
.k-taskboard-card .k-card-header {
  align-items: center;
}
.k-taskboard-card .k-card-title, .k-taskboard-card .k-popover-header {
  word-break: normal;
  overflow-wrap: anywhere;
  font-size: var(--kendo-taskboard-card-title-font-size, var(--kendo-font-size, 1rem));
  font-weight: var(--kendo-taskboard-card-title-font-weight, var(--kendo-font-weight-bold, 600));
}
.k-taskboard-card .k-card-header-actions {
  align-self: flex-start;
}

.k-taskboard-drag-placeholder {
  border-radius: var(--kendo-taskboard-drag-placeholder-border-radius, var(--kendo-border-radius-md, 0.25rem));
  border-width: var(--kendo-taskboard-drag-placeholder-border-width, 1px);
  border-style: solid;
  position: relative;
}

.k-taskboard {
  border-color: var(--kendo-taskboard-border, var(--kendo-component-border, initial));
  color: var(--kendo-taskboard-text, var(--kendo-component-text, initial));
  background-color: var(--kendo-taskboard-bg, var(--kendo-component-bg, initial));
}

.k-taskboard-column {
  border-color: var(--kendo-taskboard-column-border, transparent);
  color: var(--kendo-taskboard-column-text, var(--kendo-component-text, inherit));
  background-color: var(--kendo-taskboard-column-bg, var(--kendo-color-surface, #faf9f8));
}

.k-taskboard-column:focus,
.k-taskboard-column.k-focus {
  border-color: var(--kendo-taskboard-column-border, var(--kendo-color-border, #8a8886));
  color: var(--kendo-taskboard-column-focus-text, var(--kendo-component-text, inherit));
  background-color: var(--kendo-taskboard-column-focus-bg, var(--kendo-color-surface, #faf9f8));
}

.k-taskboard-column-header {
  color: var(--kendo-taskboard-column-header-text, var(--kendo-component-text, inherit));
}

.k-taskboard-pane {
  border-color: var(--kendo-taskboard-pane-border, var(--kendo-component-border, inherit));
  color: var(--kendo-taskboard-pane-text, var(--kendo-component-text, inherit));
  background-color: var(--kendo-taskboard-pane-bg, var(--kendo-component-bg, inherit));
}

.k-taskboard-pane-header {
  color: var(--kendo-taskboard-pane-header-text, var(--kendo-component-text, inherit));
}

.k-taskboard-card.k-selected {
  box-shadow: var(--kendo-taskboard-card-selected-shadow, var(--kendo-box-shadow-depth-3, none));
}
.k-taskboard-card.k-disabled {
  border-color: var(--kendo-disabled-border, inherit);
  color: var(--kendo-disabled-text, inherit);
  background-color: var(--kendo-disabled-bg, inherit);
}
.k-taskboard-card.k-disabled .k-card-header {
  color: var(--kendo-disabled-text, inherit);
}

.k-taskboard-drag-placeholder {
  border-color: var(--kendo-taskboard-drag-placeholder-border, var(--kendo-component-border, inherit));
  background-color: var(--kendo-taskboard-drag-placeholder-bg, color-mix(in srgb, var(--kendo-color-on-app-surface, #323130) 23%, transparent));
}

.k-editor {
  border-width: var(--kendo-editor-border-width, 1px);
  border-style: solid;
  box-sizing: border-box;
  outline: 0;
  font-family: var(--kendo-editor-font-family, var(--kendo-font-family, inherit));
  font-size: var(--kendo-editor-font-size, var(--kendo-font-size, inherit));
  line-height: var(--kendo-editor-line-height, var(--kendo-line-height, normal));
  display: flex;
  flex-flow: column nowrap;
  position: relative;
  -webkit-touch-callout: none;
  -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
}
.k-editor.k-readonly .k-editor-content {
  pointer-events: auto;
}
.k-editor.k-readonly .k-editor-content.k-focus {
  outline-width: 1px;
  outline-style: dashed;
}

.k-editor-inline {
  border-radius: var(--kendo-border-radius-md, 0.25rem);
  padding-block: var(--kendo-spacing-0\.5, 0.125rem);
  padding-inline: var(--kendo-spacing-1, 0.25rem);
  border: 1px solid transparent;
  word-wrap: break-word;
  overflow: auto;
  background: none;
}

.k-editor-resizable {
  resize: both;
  overflow: auto;
}

.k-editor-resize-handles-wrapper {
  position: absolute;
  visibility: hidden;
}

.k-editor-resize-wrap-element {
  display: inline-block;
  position: relative;
}

.k-editor-resize-handle {
  width: var(--kendo-editor-resize-handle-size, var(--kendo-spacing-2, 0.5rem));
  height: var(--kendo-editor-resize-handle-size, var(--kendo-spacing-2, 0.5rem));
  border-width: var(--kendo-editor-resize-handle-border-width, 1px);
  border-style: solid;
  box-sizing: border-box;
  position: absolute;
  visibility: visible;
  z-index: 100;
}
.k-editor-resize-handle.northwest {
  top: 0;
  left: 0;
  transform: translate(-50%, -50%);
  cursor: nw-resize;
}
.k-editor-resize-handle.north {
  top: 0;
  left: 50%;
  transform: translate(-50%, -50%);
  cursor: n-resize;
}
.k-editor-resize-handle.northeast {
  top: 0;
  right: 0;
  transform: translate(50%, -50%);
  cursor: ne-resize;
}
.k-editor-resize-handle.southwest {
  left: 0;
  bottom: 0;
  transform: translate(-50%, 50%);
  cursor: sw-resize;
}
.k-editor-resize-handle.south {
  bottom: 0;
  left: 50%;
  transform: translate(-50%, 50%);
  cursor: s-resize;
}
.k-editor-resize-handle.southeast {
  right: 0;
  bottom: 0;
  transform: translate(50%, 50%);
  cursor: se-resize;
}
.k-editor-resize-handle.west {
  top: 50%;
  left: 0;
  transform: translate(-50%, -50%);
  cursor: w-resize;
}
.k-editor-resize-handle.east {
  top: 50%;
  right: 0;
  transform: translate(50%, -50%);
  cursor: e-resize;
}

.ProseMirror-selectednode {
  outline-width: var(--kendo-editor-selectednode-outline-width, var(--kendo-spacing-0\.5, 0.125rem));
  outline-style: solid;
}

.ProseMirror-hideselection {
  caret-color: transparent;
}
.ProseMirror-hideselection *::selection,
.ProseMirror-hideselection *::-moz-selection {
  background: transparent;
}

.k-editor-toolbar {
  border-width: 0 0 1px;
  flex-shrink: 0;
}
.k-editor-toolbar .k-editor-export .k-icon {
  margin-inline-end: var(--kendo-editor-export-tool-icon-margin-x, var(--kendo-spacing-1, 0.25rem));
}
.k-editor-toolbar .k-editor-export .k-icon,
.k-editor-toolbar .k-editor-export .k-export-tool-text {
  vertical-align: middle;
}

.k-editor-content {
  flex: 1 1 auto;
  overflow-y: auto;
}
.k-editor-content > .k-iframe {
  width: 100%;
  height: 100%;
  border-width: 0;
  display: block;
}
.k-editor-content > .ProseMirror {
  padding: var(--kendo-spacing-2, 0.5rem);
  width: 100%;
  height: 100%;
  position: relative;
  box-sizing: border-box;
  outline: none;
  white-space: pre-wrap;
  overflow: auto;
}
.k-editor-content > .ProseMirror table {
  white-space: pre-wrap;
}
.k-editor-content > .ProseMirror .k-placeholder::before {
  content: attr(data-placeholder);
  height: 0;
  color: var(--kendo-editor-placeholder-text, var(--kendo-input-placeholder-text, var(--kendo-color-subtle, #605e5c)));
  float: left;
  opacity: var(--kendo-editor-placeholder-opacity, var(--kendo-input-placeholder-opacity, 1));
  cursor: text;
  user-select: none;
}
.k-editor-content p {
  margin: 0 0 1rem;
}
.k-editor-content td p,
.k-editor-content th p,
.k-editor-content li p {
  margin: 0;
}
.k-editor-content table {
  margin: 0;
  border-collapse: collapse;
  table-layout: fixed;
  width: 100%;
  overflow: hidden;
}
.k-editor-content td,
.k-editor-content th {
  min-width: 1em;
  border: 1px solid;
  padding-block: 3px;
  padding-inline: 5px;
  vertical-align: top;
  box-sizing: border-box;
  position: relative;
}
.k-editor-content th {
  font-weight: bold;
  text-align: start;
}
.k-editor-content td {
  text-align: start;
}
.k-editor-content .selectedCell::after {
  z-index: 2;
  position: absolute;
  content: "";
  left: 0;
  right: 0;
  top: 0;
  bottom: 0;
  pointer-events: none;
}

.k-edit-form-content {
  flex: 1 1 auto;
  overflow: auto;
  margin-block: -var(--kendo-spacing-3, 0.75rem);
  margin-inline: -var(--kendo-spacing-6, 1.5rem);
  padding-block: var(--kendo-spacing-3, 0.75rem);
  padding-inline: var(--kendo-spacing-6, 1.5rem);
}

.k-ct-popup {
  box-sizing: border-box;
  width: 190px;
  padding: 5px;
}
.k-ct-popup .k-button {
  width: 100%;
}
.k-ct-popup .k-ct-cell {
  margin: 1px;
  width: 20px;
  height: 20px;
  box-sizing: border-box;
  border: 1px solid;
  border-color: inherit;
  display: inline-block;
  vertical-align: top;
  overflow: hidden;
  opacity: 0.7;
  pointer-events: all;
}

.k-editor .k-resize-handle {
  position: absolute;
  right: 0;
  bottom: 0;
  padding: 0;
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 0 0 13px 13px;
  border-color: transparent;
  border-bottom-color: inherit;
  cursor: se-resize;
}
.k-editor .k-resize-handle .k-i-arrow-45-down-right,
.k-editor .k-resize-handle .k-i-caret-br {
  display: none;
}

.k-editor-find-replace .k-content {
  position: relative;
}
.k-editor-find-replace .k-actions, .k-editor-find-replace .k-edit-buttons,
.k-editor-find-replace .k-action-buttons,
.k-editor-find-replace .k-columnmenu-actions, .k-editor-find-replace .k-form-buttons {
  padding: 0;
}
.k-editor-find-replace .k-search-options {
  display: flex;
  flex-direction: column;
  padding: 10px 0 40px;
}
.k-editor-find-replace .k-matches-container {
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  padding: 0;
  display: flex;
  flex-direction: row;
  justify-content: space-between;
  align-items: center;
}

.k-textarea.k-editor-textarea {
  width: 100%;
  height: 100%;
  resize: none;
}

.k-filebrowser {
  max-width: 100%;
}
.k-filebrowser .k-floatwrap {
  display: flex;
}
.k-filebrowser .k-floatwrap::after {
  display: none;
}
.k-filebrowser .k-breadcrumbs {
  flex: 1;
}
.k-filebrowser .k-search-wrap {
  margin-inline-start: var(--kendo-spacing-4, 1rem);
  width: 150px;
  display: flex;
  align-items: center;
}
.k-filebrowser .k-search-wrap .k-input {
  flex: 1;
  width: 100px;
}
.k-filebrowser .k-search-wrap .k-icon {
  margin: 0;
  position: static;
}
.k-filebrowser .k-filebrowser-toolbar {
  margin-block-start: var(--kendo-spacing-4, 1rem);
}
.k-filebrowser .k-upload {
  padding: 0;
  border-width: 0;
  background: none;
}
.k-filebrowser .k-upload .k-upload-button {
  margin: 0;
}
.k-filebrowser .k-upload .k-upload-status {
  display: none;
}
.k-filebrowser .k-upload-files {
  display: none;
}
.k-filebrowser .k-tiles {
  display: flex;
  flex-flow: row wrap;
  height: 390px;
  max-height: 50vh;
  margin-block-end: var(--kendo-spacing-4, 1rem);
  padding-block: var(--kendo-spacing-1, 0.25rem);
  padding-inline: var(--kendo-spacing-2, 0.5rem);
  border-top-width: 0;
  overflow: auto;
}
.k-filebrowser .k-tile {
  width: 33%;
  height: 90px;
  padding-block: var(--kendo-spacing-1, 0.25rem);
  padding-inline: var(--kendo-spacing-2, 0.5rem);
  box-sizing: border-box;
  white-space: nowrap;
  overflow: hidden;
  cursor: pointer;
  border-radius: var(--kendo-border-radius-md, 0.25rem);
}
.k-filebrowser .k-tile .k-i-file,
.k-filebrowser .k-tile .k-i-folder {
  font-size: 4em;
}
.k-filebrowser .k-tile input {
  width: 100px;
}
.k-filebrowser .k-tile strong {
  display: block;
  font-weight: 400;
  overflow: hidden;
  text-overflow: ellipsis;
}
.k-filebrowser .k-tile-empty {
  display: block;
  margin: auto;
}
.k-filebrowser .k-tile-empty.k-selected {
  color: inherit;
  border-width: 0;
  background-image: none;
  background-color: transparent;
}
.k-filebrowser .k-tile-empty strong {
  opacity: 0.5;
  font-size: 3em;
  font-weight: 400;
}
.k-filebrowser .k-thumb {
  float: left;
  margin-inline-end: var(--kendo-spacing-1, 0.25rem);
}
.k-filebrowser .k-breadcrumbs-wrap {
  position: absolute;
  inset-inline-start: var(--kendo-spacing-2, 0.5rem);
  inset-block-start: var(--kendo-spacing-1\.5, 0.375rem);
}
.k-filebrowser .k-breadcrumbs-wrap .k-icon {
  position: static;
  margin-block-start: 0;
}

.k-editor-table-wizard-window .k-tabstrip-wrapper {
  display: flex;
  flex: 1 1 auto;
  overflow: auto;
}
.k-editor-table-wizard-window .k-tabstrip-wrapper .k-tabstrip.k-root-tabs {
  flex: 1 1 auto;
  margin-block-end: 0;
}
.k-editor-table-wizard-window .k-edit-field > .k-checkbox {
  position: relative;
}

.k-editor-inline .k-table {
  width: 100%;
  border-spacing: 0;
  margin: 0 0 1em;
}
.k-editor-inline .k-table, .k-editor-inline .k-table td {
  outline: 0;
  border-width: 1px;
  border-style: dotted;
}
.k-editor-inline .k-table td {
  min-width: 1px;
  padding-block: var(--kendo-spacing-0\.5, 0.125rem);
  padding-inline: var(--kendo-spacing-1, 0.25rem);
}
.k-editor-inline .k-element-resize-handle-wrapper {
  position: absolute;
  width: 5px;
  height: 5px;
  border-width: 1px;
  border-style: solid;
  z-index: 100;
}
.k-editor-inline .k-element-resize-handle-wrapper .k-element-resize-handle {
  width: 100%;
  height: 100%;
}
.k-editor-inline .k-element-resize-handle-wrapper .k-element-resize-handle.k-resize-east {
  cursor: e-resize;
}
.k-editor-inline .k-element-resize-handle-wrapper .k-element-resize-handle.k-resize-north {
  cursor: n-resize;
}
.k-editor-inline .k-element-resize-handle-wrapper .k-element-resize-handle.k-resize-northeast {
  cursor: ne-resize;
}
.k-editor-inline .k-element-resize-handle-wrapper .k-element-resize-handle.k-resize-northwest {
  cursor: nw-resize;
}
.k-editor-inline .k-element-resize-handle-wrapper .k-element-resize-handle.k-resize-south {
  cursor: s-resize;
}
.k-editor-inline .k-element-resize-handle-wrapper .k-element-resize-handle.k-resize-southeast {
  cursor: se-resize;
}
.k-editor-inline .k-element-resize-handle-wrapper .k-element-resize-handle.k-resize-southwest {
  cursor: sw-resize;
}
.k-editor-inline .k-element-resize-handle-wrapper .k-element-resize-handle.k-resize-west {
  cursor: w-resize;
}
.k-editor-inline .k-column-resize-handle-wrapper {
  position: absolute;
  height: 10px;
  width: 10px;
  cursor: col-resize;
  z-index: 2;
}
.k-editor-inline .k-column-resize-handle-wrapper .k-column-resize-handle {
  width: 100%;
  height: 100%;
}
.k-editor-inline .k-column-resize-handle-wrapper .k-column-resize-handle .k-column-resize-marker {
  width: 2px;
  height: 100%;
  margin-block: 0;
  margin-inline: auto;
  display: none;
  opacity: 0.8;
}
.k-editor-inline .k-row-resize-handle-wrapper {
  position: absolute;
  z-index: 2;
  cursor: row-resize;
  width: 10px;
  height: 10px;
}
.k-editor-inline .k-row-resize-handle-wrapper .k-row-resize-handle {
  display: table;
  width: 100%;
  height: 100%;
}
.k-editor-inline .k-row-resize-handle-wrapper .k-row-resize-marker-wrapper {
  display: table-cell;
  width: 100%;
  height: 100%;
  margin: 0;
  padding: 0;
  vertical-align: middle;
}
.k-editor-inline .k-row-resize-handle-wrapper .k-row-resize-marker {
  display: none;
  margin: 0;
  padding: 0;
  width: 100%;
  height: 2px;
  opacity: 0.8;
}

.k-editor {
  border-color: var(--kendo-editor-border, var(--kendo-component-border, initial));
  color: var(--kendo-editor-text, var(--kendo-component-text, initial));
  background-color: var(--kendo-editor-bg, var(--kendo-component-bg, initial));
}

kendo-editor.k-readonly .k-editor-content:focus,
kendo-editor.k-readonly .k-editor-content.k-focus {
  outline-color: var(--kendo-editor-content-outline-color, var(--kendo-body-text, initial));
}

.k-editor-inline .k-table, .k-editor-inline .k-table td {
  border-color: var(--kendo-editor-inline-td-border, var(--kendo-component-border, initial));
}
.k-editor-inline .k-element-resize-handle-wrapper {
  background-color: var(--kendo-editor-resize-handle-bg, var(--kendo-color-app-surface, #ffffff));
  border-color: var(--kendo-editor-resize-handle-border, var(--kendo-color-on-app-surface, #323130));
}
.k-editor-inline .k-column-resize-handle-wrapper .k-column-resize-handle .k-column-resize-marker {
  background-color: #00b0ff;
}
.k-editor-inline .k-row-resize-handle-wrapper .k-row-resize-marker {
  background-color: #00b0ff;
}
.k-editor-inline:hover, .k-editor-inline.k-active {
  border-color: var(--kendo-editor-inline-hover-border, var(--kendo-component-border, initial));
}

.k-editor-resize-handle {
  border-color: var(--kendo-editor-resize-handle-border, var(--kendo-color-on-app-surface, #323130));
  background-color: var(--kendo-editor-resize-handle-bg, var(--kendo-color-app-surface, #ffffff));
}

.ProseMirror-selectednode {
  outline-color: var(--kendo-editor-selectednode-outline-color, var(--kendo-color-primary, #0078d4));
}

.k-ct-popup .k-selected {
  border-color: var(--kendo-editor-ct-popup-border, var(--kendo-selected-border, initial));
  color: var(---kendo-editor-ct-popup-text, var(--kendo-selected-text, initial));
  background-color: var(--kendo-editor-ct-popup-bg, var(--kendo-selected-bg, initial));
}
.k-ct-popup .k-disabled:not(.k-selected) {
  border-color: var(--kendo-disabled-border, inherit);
  background-color: var(--kendo-disabled-bg, inherit);
}

.k-editor-content .k-text-selected, .k-editor-content::selection {
  color: var(--kendo-editor-selected-text, var(--kendo-color-app-surface, #ffffff));
  background-color: var(--kendo-editor-selected-bg, var(--kendo-color-primary, #0078d4));
}
.k-editor-content .k-text-highlighted {
  background-color: var(--kendo-editor-highlighted-bg, color-mix(in srgb, var(--kendo-color-primary, #0078d4) 55%, transparent));
}
.k-editor-content td,
.k-editor-content th {
  border-color: #dddddd;
}
.k-editor-content .selectedCell::after {
  background-color: rgba(200, 200, 255, 0.4);
}

.k-imageeditor {
  margin-inline: var(--kendo-image-editor-margin-x, var(--kendo-spacing-0, 0px));
  margin-block: var(--kendo-image-editor-margin-y, var(--kendo-spacing-0, 0px));
  padding-inline: var(--kendo-image-editor-padding-x, var(--kendo-spacing-0, 0px));
  padding-block: var(--kendo-image-editor-padding-y, var(--kendo-spacing-0, 0px));
  border-width: var(--kendo-image-editor-border-width, 1px);
  border-style: solid;
  box-sizing: border-box;
  outline: 0;
  font-family: var(--kendo-image-editor-font-family, var(--kendo-font-family, inherit));
  font-size: var(--kendo-image-editor-font-size, var(--kendo-font-size, inherit));
  line-height: var(--kendo-image-editor-line-height, var(--kendo-line-height, inherit));
  -webkit-touch-callout: none;
  -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
}
.k-imageeditor *,
.k-imageeditor *::before,
.k-imageeditor *::after {
  box-sizing: border-box;
}

.k-imageeditor-toolbar {
  border-width: 0;
}

.k-imageeditor-content {
  border-width: 0;
  border-style: solid;
  border-color: inherit;
  display: flex;
  flex-flow: row nowrap;
}

.k-imageeditor-canvas-container {
  flex: 1 1 100%;
  display: flex;
  flex-flow: row nowrap;
  overflow: auto;
}

.k-imageeditor-canvas {
  margin: auto;
  display: flex;
  flex-direction: column;
  position: relative;
}

.k-imageeditor-action-pane {
  padding-inline: var(--kendo-image-editor-action-pane-padding-x, var(--kendo-spacing-3, 0.75rem));
  padding-block: var(--kendo-image-editor-action-pane-padding-y, var(--kendo-spacing-3, 0.75rem));
  width: var(--kendo-image-editor-action-pane-width, 270px);
  border-width: 0;
  border-left-width: var(--kendo-image-editor-content-border-width, 0);
  border-style: solid;
  border-color: inherit;
  box-sizing: border-box;
  flex: none;
  overflow-y: auto;
}
.k-imageeditor-action-pane .k-input-inner,
.k-imageeditor-action-pane .k-input-value-text {
  text-overflow: clip;
}

.k-imageeditor-crop-overlay {
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
}

.k-imageeditor-crop {
  width: 100%;
  height: 100%;
  border-width: var(--kendo-image-editor-crop-border-width, 1px);
  border-style: var(--kendo-image-editor-crop-border-style, dashed);
  box-sizing: border-box;
  position: absolute;
}
.k-imageeditor-crop .k-resize-handle {
  margin-inline: var(--kendo-image-editor-resize-handle-margin-x, var(--kendo-spacing-1px, 1px));
  margin-block: var(--kendo-image-editor-resize-handle-margin-y, var(--kendo-spacing-1px, 1px));
  border-style: solid;
  border-width: var(--kendo-image-editor-resize-handle-border-width, 0 2px 2px 0);
}
.k-imageeditor-crop .k-resize-sw,
.k-imageeditor-crop .k-resize-se,
.k-imageeditor-crop .k-resize-nw,
.k-imageeditor-crop .k-resize-ne {
  width: var(--kendo-image-editor-resize-handle-size, var(--kendo-spacing-4, 1rem));
  height: var(--kendo-image-editor-resize-handle-size, var(--kendo-spacing-4, 1rem));
}
.k-imageeditor-crop .k-resize-n,
.k-imageeditor-crop .k-resize-s {
  --INTERNAL--kendo-image-editor-resize-left-offset: var( --kendo-image-editor-resize-left-offset, calc(var(--kendo-spacing-4, 1rem) / 2) );
  left: calc(50% - var(--INTERNAL--kendo-image-editor-resize-left-offset));
  width: var(--kendo-image-editor-resize-handle-size, var(--kendo-spacing-4, 1rem));
  height: 0;
}
.k-imageeditor-crop .k-resize-w,
.k-imageeditor-crop .k-resize-e {
  --INTERNAL--kendo-image-editor-resize-top-offset: var( --kendo-image-editor-resize-top-offset, calc(var(--kendo-spacing-4, 1rem) / 2) );
  top: calc(50% - var(--INTERNAL--kendo-image-editor-resize-top-offset));
  width: 0;
  height: var(--kendo-image-editor-resize-handle-size, var(--kendo-spacing-4, 1rem));
}
.k-imageeditor-crop .k-resize-ne {
  transform: rotate(-90deg);
}
.k-imageeditor-crop .k-resize-nw {
  transform: rotate(-180deg);
}
.k-imageeditor-crop .k-resize-sw {
  transform: rotate(90deg);
}
.k-imageeditor-crop .k-resize-n {
  top: 0;
}
.k-imageeditor-crop .k-resize-s {
  bottom: 0;
}
.k-imageeditor-crop .k-resize-w {
  left: 0;
}
.k-imageeditor-crop .k-resize-e {
  right: 0;
}

.k-imageeditor {
  border-color: var(--kendo-image-editor-border, color-mix(in srgb, var(--kendo-color-border, #8a8886) 16%, transparent));
  color: var(--kendo-image-editor-text, var(--kendo-component-text, inherit));
  background-color: var(--kendo-image-editor-bg, var(--kendo-component-bg, inherit));
}

.k-imageeditor-content {
  border-color: var(--kendo-image-editor-content-border, inherit);
  color: var(--kendo-image-editor-content-text, inherit);
  background-color: var(--kendo-image-editor-content-bg, color-mix(in srgb, var(--kendo-color-on-app-surface, #323130) 23%, transparent));
}

.k-imageeditor-action-pane {
  border-color: var(--kendo-image-editor-action-pane-border, inherit);
  color: var(--kendo-image-editor-action-pane-text, inherit);
  background-color: var(--kendo-image-editor-action-pane-bg, var(--kendo-component-bg, inherit));
}

.k-imageeditor-crop {
  border-color: var(--kendo-image-editor-crop-border, var(--kendo-color-app-surface, #ffffff));
  color: var(--kendo-image-editor-crop-text, inherit);
  background-color: var(--kendo-image-editor-crop-bg, inherit);
}

.k-imageeditor-crop-overlay {
  background-color: var(--kendo-image-editor-crop-overlay-bg, rgba(0, 0, 0, 0.3));
}

.k-gantt {
  border-width: var(--kendo-gantt-border-width, 1px);
  border-style: solid;
  box-sizing: border-box;
  outline: 0;
  font-family: var(--kendo-gantt-font-family, var(--kendo-font-family, initial));
  font-size: var(--kendo-gantt-font-size, var(--kendo-font-size, initial));
  line-height: var(--kendo-gantt-line-height, var(--kendo-line-height, initial));
  display: flex;
  flex-flow: column nowrap;
  position: relative;
  white-space: nowrap;
  -webkit-touch-callout: none;
  -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
}
.k-gantt .k-table-td {
  white-space: nowrap;
}
.k-gantt td {
  overflow: hidden;
  white-space: nowrap;
  vertical-align: top;
}
.k-gantt .k-grid-header tr {
  height: calc(calc(1.4285714286 * 1em) + var(--kendo-spacing-3, 0.75rem) * 2 + 1px);
}
.k-gantt .k-grid-header .k-header {
  position: static;
  font-weight: var(--kendo-font-weight-bold, bold);
}
.k-gantt .k-treelist .k-grid-header .k-header {
  position: relative;
}
.k-gantt .k-grid-content tr {
  height: calc(calc(1.4285714286 * 1em) + var(--kendo-spacing-3, 0.75rem) * 2 + 1px);
}
.k-gantt.k-gantt-planned .k-grid-content tr {
  height: calc(calc(1.4285714286 * 1em) * 1.7 + var(--kendo-spacing-3, 0.75rem) * 2 + 1px);
}
.k-gantt .k-gantt-layout {
  white-space: normal;
  vertical-align: top;
  display: inline-block;
}
.k-gantt .k-splitbar {
  position: relative;
  display: inline-flex;
}
.k-gantt .k-gantt-splitter {
  border-width: 0;
}
.k-gantt .k-treelist-scrollable {
  width: 100%;
  border-width: 0;
  overflow: auto;
}
.k-gantt .k-treelist-scrollable .k-grid-header .k-header {
  position: sticky;
}
.k-gantt .k-treelist-scrollable .k-grid-header th,
.k-gantt .k-treelist-scrollable .k-grid-content-sticky {
  z-index: 4;
}
.k-gantt .k-treelist-scrollable .k-grid-header th.k-grid-header-sticky {
  z-index: 5;
}
.k-gantt .k-treelist-scrollable .k-grid-header tr:first-child th:last-child,
.k-gantt .k-treelist-scrollable tbody td:last-child {
  padding: 0;
}
.k-gantt .k-treelist-scrollable .k-grid-header th:last-child .k-header {
  padding-block: var(--kendo-spacing-3, 0.75rem);
  padding-inline: var(--kendo-spacing-3, 0.75rem);
  border-width: 0 0 1px 1px;
  white-space: nowrap;
}
.k-gantt .k-treelist-scrollable tr.k-selected > td:last-child {
  background: transparent;
}
.k-gantt .k-treelist-scrollable .k-task {
  display: inline-flex;
  flex-flow: row nowrap;
  white-space: nowrap;
  z-index: 3;
}
.k-gantt .k-treelist-scrollable .k-task:hover .k-task-start, .k-gantt .k-treelist-scrollable .k-task:hover .k-task-end {
  display: block;
}
.k-gantt .k-treelist-scrollable .k-task:hover .k-task-draghandle {
  visibility: visible;
}
.k-gantt .k-treelist-scrollable .k-task-content {
  padding-block: var(--kendo-gantt-task-padding-y, var(--kendo-spacing-1, 0.25rem));
  padding-inline: var(--kendo-gantt-task-padding-x, var(--kendo-spacing-2, 0.5rem));
  display: block;
  line-height: normal;
  flex: 1 1 auto;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.k-gantt .k-treelist-scrollable .k-task-actions {
  flex-shrink: 0;
}
.k-gantt .k-treelist-scrollable .k-task-milestone {
  border: 0;
  transform: none;
  background: none;
}
.k-gantt .k-treelist-scrollable .k-task-milestone .k-task-milestone-content {
  width: 100%;
  height: 100%;
  border-width: 1px;
  border-style: solid;
  box-sizing: border-box;
  transform: rotate(45deg);
}
.k-gantt .k-treelist-scrollable .k-task-summary {
  height: 15px;
  clip-path: polygon(-20px 0, calc(100% + 20px) 0, calc(100% + 20px) 100%, 100% 100%, calc(100% - 8px) calc(100% - 5px), 8px calc(100% - 5px), 0 100%, -20px 100%);
}
.k-gantt .k-treelist-scrollable .k-task-summary-complete {
  width: 100%;
  height: 15px;
}
.k-gantt .k-treelist-scrollable .k-task-start {
  transform: translateX(-140%) translateY(-50%);
}
.k-gantt .k-treelist-scrollable .k-task-end {
  transform: translateX(140%) translateY(-50%);
}
.k-gantt .k-treelist-scrollable .k-master-row:hover .k-task-dot {
  display: block;
}
.k-gantt .k-treelist-scrollable .k-gantt-columns {
  background: transparent;
  pointer-events: none;
  table-layout: fixed;
}
.k-gantt .k-gantt-dependencies-svg {
  position: absolute;
  top: 0;
  inset-inline-start: 0;
  overflow: visible;
  pointer-events: none;
  z-index: 2;
}
.k-gantt .k-gantt-dependencies-svg polyline {
  stroke-width: var(--kendo-gantt-line-size, 2px);
}

.k-gantt-header {
  border-width: 0 0 1px;
  flex-shrink: 0;
  z-index: 6;
}

.k-gantt-footer {
  border-width: 1px 0 0;
  flex-shrink: 0;
}

.k-gantt-views-wrapper {
  margin-left: auto;
}
.k-gantt-views-wrapper .k-views-dropdown {
  width: auto;
  font-size: inherit;
  display: none;
  cursor: pointer;
}

.k-gantt-toggle {
  display: none;
}

@media (max-width: 480px) {
  .k-gantt-toolbar .k-gantt-toggle {
    display: inline-flex;
  }
  .k-gantt-toolbar .k-gantt-pdf,
  .k-gantt-toolbar .k-gantt-create {
    padding: var(--kendo-spacing-1\.5, 0.375rem);
    width: calc(var(--kendo-line-height, normal) * 1em + var(--kendo-spacing-1\.5, 0.375rem) * 2 + 1px * 2);
    height: calc(var(--kendo-line-height, normal) * 1em + var(--kendo-spacing-1\.5, 0.375rem) * 2 + 1px * 2);
  }
  .k-gantt-toolbar .k-gantt-pdf .k-button-text,
  .k-gantt-toolbar .k-gantt-create .k-button-text {
    display: none;
  }
}
@media (max-width: 1024px) {
  .k-gantt-views-wrapper .k-gantt-views {
    display: none;
  }
  .k-gantt-views-wrapper .k-views-dropdown {
    display: flex;
  }
}
.k-gantt-content {
  display: flex;
  flex-flow: row nowrap;
  align-items: stretch;
  flex: 1 1 auto;
  overflow: hidden;
}

.k-gantt-treelist .k-treelist {
  height: 100%;
  border-width: 0;
}
.k-gantt-treelist .k-grid-header,
.k-gantt-treelist .k-grid-footer {
  padding: 0 !important;
}
.k-gantt-treelist .k-grid-header tr {
  height: calc(calc(1.4285714286 * 1em) * 2 + var(--kendo-spacing-3, 0.75rem) * 4 + 2px);
  vertical-align: bottom;
}
.k-gantt-treelist .k-grid-content {
  overflow: hidden;
  overflow-x: scroll;
}
.k-gantt-treelist .k-grid-content td {
  vertical-align: middle;
}
.k-gantt-treelist .k-gantt-treelist-nested-columns .k-grid-header tr {
  height: calc(calc(1.4285714286 * 1em) + var(--kendo-spacing-3, 0.75rem) * 2 + 1px);
}
.k-gantt-treelist.k-gantt-treelist-scrollable .k-grid-content {
  overflow: scroll;
}

.k-gantt-timeline-pane .k-gantt-timeline {
  height: 100%;
  border-width: 0;
  display: flex;
}
.k-gantt-timeline-pane .k-gantt-timeline *,
.k-gantt-timeline-pane .k-gantt-timeline *::before,
.k-gantt-timeline-pane .k-gantt-timeline *::after, .k-gantt-timeline-pane .k-gantt-timeline::before, .k-gantt-timeline-pane .k-gantt-timeline::after {
  box-sizing: border-box;
}
.k-gantt-timeline-pane .k-grid-content {
  overflow-x: scroll;
}
.k-gantt-timeline-pane .k-header {
  padding-block: var(--kendo-spacing-3, 0.75rem);
  padding-inline: var(--kendo-spacing-3, 0.75rem);
  border-block-start-width: 0;
  border-block-end-width: 1px;
  border-inline-start-width: 1px;
  border-inline-end-width: 0;
  white-space: nowrap;
}

.k-gantt-tables {
  position: relative;
  border-color: inherit;
}

.k-gantt-rows,
.k-gantt-columns {
  border-color: inherit;
  position: absolute;
  z-index: 0;
  top: 0;
  inset-inline-start: 0;
}

.k-gantt-dependencies {
  opacity: 0.7;
  position: absolute;
  top: 0;
  inset-inline-start: 0;
}
.k-gantt-dependencies .k-arrow-e,
.k-gantt-dependencies .k-arrow-w {
  width: 0;
  height: 0;
  border: 5px solid transparent;
  position: absolute;
  top: -4px;
}
.k-gantt-dependencies .k-arrow-e {
  border-left-color: currentColor;
  right: -6px;
}
.k-gantt-dependencies .k-arrow-w {
  border-right-color: currentColor;
  left: -6px;
}

.k-gantt-line {
  background-color: currentColor;
  border-color: currentColor;
  position: absolute;
}

.k-gantt-line.k-selected {
  z-index: 3;
}

.k-gantt-line-h {
  height: var(--kendo-gantt-line-size, 2px);
}

.k-gantt-line-v {
  width: var(--kendo-gantt-line-size, 2px);
}

.k-gantt-dependency-hint {
  z-index: 4;
}

.k-gantt-tasks {
  position: relative;
}
.k-gantt-tasks td,
.k-gantt-tasks .k-table-td {
  padding: 0;
  position: relative;
  vertical-align: middle;
}
.k-gantt-tasks td::after {
  content: "​";
}

.k-task-wrap {
  margin-block: 0;
  margin-inline: -21px;
  padding-block: 5px;
  padding-inline: 21px;
  display: inline-flex;
  flex-direction: row;
  align-items: center;
  position: relative;
  z-index: 2;
}

.k-task-wrap.k-drag-hint {
  position: absolute;
}

.k-task {
  position: relative;
  flex: 1 1 auto;
}

.k-task-dot {
  width: calc(8px + var(--kendo-spacing-0\.5, 0.125rem) * 2);
  height: calc(8px + var(--kendo-spacing-0\.5, 0.125rem) * 2);
  line-height: 1;
  cursor: pointer;
  display: none;
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
}

.k-task-wrap:hover .k-task-dot,
.k-task-wrap.k-origin .k-task-dot {
  display: block;
}

.k-task-dot::before {
  content: "";
  width: var(--kendo-gantt-dot-size, 8px);
  height: var(--kendo-gantt-dot-size, 8px);
  border-width: 0;
  border-style: solid;
  border-radius: 100%;
  display: inline-block;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}

.k-task-dot:hover::before,
.k-task-dot.k-hover::before {
  border-width: 1px;
}

.k-task-start {
  inset-inline-start: 0;
}

.k-task-end {
  inset-inline-end: 0;
}

.k-task-draghandle {
  margin-inline-start: 16px;
  width: 0;
  height: 0;
  border: 5px solid transparent;
  border-top-width: 0;
  border-bottom-color: inherit;
  position: absolute;
  bottom: 0;
  cursor: ew-resize;
  visibility: hidden;
}

.k-task-wrap:hover .k-task-draghandle {
  visibility: visible;
}

.k-milestone-wrap {
  margin-block: 0;
  margin-inline: -2em;
}

.k-task-milestone {
  width: 1rem;
  height: 1rem;
  border-width: 1px;
  border-style: solid;
  box-sizing: border-box;
  transform: rotate(45deg);
}

.k-task-summary {
  height: 10px;
  display: inline-block;
  vertical-align: top;
}

.k-task-summary,
.k-task-summary-complete {
  background-color: currentColor;
}
.k-task-summary::before, .k-task-summary::after,
.k-task-summary-complete::before,
.k-task-summary-complete::after {
  content: "";
  width: 0;
  height: 0;
  border: 8px solid transparent;
  position: absolute;
  top: 0;
  display: none;
}
.k-task-summary::before,
.k-task-summary-complete::before {
  border-left-color: currentColor;
  left: 0;
}
.k-task-summary::after,
.k-task-summary-complete::after {
  border-right-color: currentColor;
  right: 0;
}

.k-task-summary-complete {
  height: 10px;
  position: relative;
  z-index: 2;
}

.k-task-summary-progress {
  height: 15px;
  overflow: hidden;
}

.k-task-single {
  border-radius: var(--kendo-border-radius-md, 0.25rem);
  border-width: var(--kendo-gantt-task-border-width, 0px);
  border-style: solid;
  box-sizing: border-box;
  cursor: default;
}
.k-task-single .k-resize-handle {
  opacity: 0.5;
  z-index: 2;
  visibility: hidden;
  cursor: ew-resize;
}
.k-task-single .k-resize-handle::before {
  position: absolute;
  top: 2px;
  bottom: 2px;
}
.k-task-single .k-resize-w {
  left: 0;
}
.k-task-single .k-resize-w::before {
  left: 2px;
  border-left-width: 1px;
}
.k-task-single .k-resize-e {
  right: 0;
}
.k-task-single .k-resize-e::before {
  right: 2px;
  border-left-width: 1px;
}
.k-task-single:hover .k-resize-handle, .k-task-single:hover .k-task-actions {
  visibility: visible;
}

.k-task-complete {
  border-radius: var(--kendo-border-radius-md, 0.25rem);
  width: 20%;
  position: absolute;
  z-index: 1;
  top: 0;
  bottom: 0;
  inset-inline-start: 0;
}

.k-task-content {
  position: relative;
  z-index: 2;
  display: flex;
  flex-direction: row;
  align-items: center;
  text-align: start;
  white-space: nowrap;
}

.k-task-template {
  padding-block: var(--kendo-gantt-task-padding-y, var(--kendo-spacing-1, 0.25rem));
  padding-inline: var(--kendo-gantt-task-padding-x, var(--kendo-spacing-2, 0.5rem));
  line-height: normal;
  flex: 1;
  overflow: hidden;
  text-overflow: ellipsis;
}

.k-task-actions {
  padding-block: var(--kendo-gantt-task-actions-padding-y, var(--kendo-spacing-1, 0.25rem));
  padding-inline: var(--kendo-gantt-task-actions-padding-x, var(--kendo-spacing-2, 0.5rem));
  white-space: nowrap;
  display: flex;
  flex-direction: row;
  align-items: center;
  visibility: hidden;
  z-index: 1;
}

.k-task-actions > .k-link {
  display: inline-flex;
}

.k-resources-wrap {
  position: absolute;
  display: inline-block;
  z-index: 2;
  margin-left: 20px;
  margin-top: -2px;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.k-resources-wrap .k-resource {
  margin-block: 0;
  margin-inline: 5px;
}

.k-task-details {
  padding-block: var(--kendo-spacing-1, 0.25rem);
  padding-inline: var(--kendo-spacing-2, 0.5rem);
  white-space: nowrap;
}
.k-task-details strong {
  font-size: var(--kendo-font-size-lg, inherit);
  font-weight: normal;
  display: block;
}
.k-task-details .k-task-pct {
  font-size: var(--kendo-icon-size-xxl, 2rem);
}
.k-task-details ul {
  line-height: normal;
}

.k-gantt-planned .k-gantt-dependencies,
.k-gantt-planned .k-task-dot,
.k-gantt-planned .k-resources-wrap {
  margin-top: var(--kendo-gantt-planned-dependency-margin-y, 0.65em);
}
.k-gantt-planned .k-task-wrap {
  flex-direction: column;
  align-items: flex-start;
}
.k-gantt-planned .k-task-inner-wrap {
  display: inline-flex;
}
.k-gantt-planned .k-task-wrap.k-drag-hint {
  top: var(--kendo-gantt-planned-single-drag-hint-top, 0);
}
.k-gantt-planned .k-summary-wrap.k-drag-hint {
  top: var(--kendo-gantt-planned-summary-drag-hint-top, 0.5em);
}
.k-gantt-planned .k-milestone-wrap.k-drag-hint {
  top: var(--kendo-gantt-planned-milestone-drag-hint-top, 0.3em);
}

.k-task-planned {
  margin: 0 0 var(--kendo-gantt-planned-margin-y, 0.45em);
  line-height: var(--kendo-gantt-planned-line-height, 0.85em);
  display: flex;
  align-items: center;
}
.k-task-planned .k-task-moment {
  border-width: var(--kendo-gantt-planned-border-width, 2px);
  border-radius: var(--kendo-gantt-planned-moment-border-radius, calc((4px + 6px) / 2));
  border-style: solid;
  height: var(--kendo-gantt-planned-moment-height, 6px);
  width: var(--kendo-gantt-planned-moment-width, 6px);
  box-sizing: border-box;
}
.k-task-planned .k-task-duration {
  height: var(--kendo-gantt-planned-duration-height, 2px);
}
.k-task-planned .k-task-moment.k-moment-left {
  margin-inline-start: var(--kendo-gantt-planned-moment-left-margin-x, calc(2px / 2 - calc((4px + 6px) / 2)));
}
.k-task-planned:hover .k-task-duration {
  height: var(--kendo-gantt-planned-duration-hover-height, calc(2px + 1px));
}

.k-milestone-wrap .k-task-moment {
  margin-inline-start: var(--kendo-gantt-planned-milestone-moment-margin-x, 3px);
}

.k-planned-tooltip .k-task-content {
  display: block;
}

.k-task-offset-wrap .k-task-content .k-resize-e {
  display: none;
}

.k-task-offset {
  flex-direction: row-reverse;
  display: flex;
}
.k-task-offset .k-resize-handle {
  right: 0;
  z-index: 2;
  visibility: hidden;
  margin-inline-end: var(--kendo-gantt-planned-offset-resize-handler-margin-x, 1.4em);
}
.k-task-offset .k-resize-handle::before {
  border-inline-start-width: 1px;
  position: absolute;
  top: var(--kendo-gantt-offset-resize-handler-top, 50%);
  bottom: 0.5em;
  margin-inline-end: 2px;
}

.k-task-single:hover + .k-task-offset .k-task-actions,
.k-task-offset:hover .k-task-actions,
.k-task-single:hover + .k-task-offset .k-resize-handle,
.k-task-offset:hover .k-resize-handle {
  visibility: visible;
}

.k-gantt-tooltip-validation {
  max-width: var(--kendo-gantt-validation-tooltip-width, 200px);
  display: block;
}
.k-gantt-tooltip-validation::before {
  content: "";
  width: 4px;
  height: 100%;
  position: absolute;
  top: 0;
  inset-inline-start: 0;
}

.k-gantt-tooltip-validation-row {
  display: flex;
  flex-direction: row;
  justify-content: space-between;
}

.k-gantt-tooltip-validation-label {
  display: inline-flex;
  min-width: var(--kendo-gantt-validation-tooltip-label-width, 50px);
}

.k-gantt-tooltip-validation-value {
  font-weight: var(--kendo-font-weight-bold, bold);
}

.k-gantt-tooltip-validation-label,
.k-gantt-tooltip-validation-value {
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.k-pdf-export-shadow .k-gantt {
  float: left;
}
.k-pdf-export-shadow .k-gantt,
.k-pdf-export-shadow .k-gantt-timeline-pane,
.k-pdf-export-shadow .k-gantt-dependencies {
  width: auto !important;
  height: auto !important;
  overflow: visible !important;
}
.k-pdf-export-shadow .k-gantt-treelist .k-treelist {
  display: block;
}
.k-pdf-export-shadow .k-gantt-layout.k-splitbar {
  display: none;
}

.k-rtl .k-gantt-tasks tbody,
[dir=rtl] .k-gantt-tasks tbody {
  text-align: end;
}

.k-gantt {
  border-color: var(--kendo-gantt-border, var(--kendo-component-border, inherit));
  color: var(--kendo-gantt-text, var(--kendo-component-text, inherit));
  background-color: var(--kendo-gantt-bg, var(--kendo-component-bg, inherit));
}
.k-gantt .k-treelist-scrollable .k-task-milestone .k-task-milestone-content {
  border-color: var(--kendo-gantt-milestone-border, var(--kendo-component-text, inherit));
  background-color: var(--kendo-gantt-milestone-bg, var(--kendo-component-text, inherit));
}
.k-gantt .k-treelist-scrollable .k-task-milestone.k-selected .k-task-milestone-content {
  border-color: var(--kendo-gantt-milestone-selected-border, var(--kendo-color-primary, #0078d4));
  background-color: var(--kendo-gantt-milestone-selected-bg, var(--kendo-color-primary, #0078d4));
}
.k-gantt .k-gantt-dependencies-svg polyline {
  fill: none;
  stroke: var(--kendo-gantt-line-fill, black);
}
.k-gantt .k-gantt-dependencies-svg polyline.k-selected {
  stroke: var(--kendo-gantt-line-selected-fill, var(--kendo-color-primary-active, #005a9e));
}

.k-gantt-treelist .k-treelist,
.k-gantt-treelist .k-grid-content {
  background-color: transparent;
}

.k-gantt .k-nonwork-hour {
  border-color: var(--kendo-gantt-nonwork-border, inherit);
  color: var(--kendo-gantt-nonwork-text, inherit);
  background-color: var(--kendo-gantt-nonwork-bg, color-mix(in srgb, var(--kendo-color-on-app-surface, #323130) 4%, transparent));
}

.k-task-dot::before {
  border-color: var(--kendo-gantt-dot-border, var(--kendo-color-on-app-surface, #323130));
  background-color: var(--kendo-gantt-dot-bg, var(--kendo-color-on-app-surface, #323130));
}

.k-task-dot:hover::before,
.k-task-dot.k-hover::before {
  border-color: var(--kendo-gantt-dot-hover-border, var(--kendo-color-on-app-surface, #323130));
  background-color: var(--kendo-gantt-dot-hover-bg, var(--kendo-color-app-surface, #ffffff));
}

.k-task-milestone {
  border-color: var(--kendo-gantt-milestone-border, var(--kendo-component-text, inherit));
  background-color: var(--kendo-gantt-milestone-bg, var(--kendo-component-text, inherit));
}
.k-task-milestone.k-task-delayed {
  background-image: repeating-linear-gradient(90deg, var(--kendo-color-app-surface, #ffffff), var(--kendo-color-app-surface, #ffffff) 2px, var(--kendo-color-error-emphasis, #a4262c) 2px, var(--kendo-color-error-emphasis, #a4262c) 4px);
}
.k-task-milestone.k-task-advanced {
  background-color: var(--kendo-gantt-advanced-bg, var(--kendo-color-success-emphasis, #107c10));
}

.k-task-milestone.k-selected {
  background-image: none;
  border-color: var(--kendo-gantt-milestone-selected-border, var(--kendo-color-primary, #0078d4));
  background-color: var(--kendo-gantt-milestone-selected-bg, var(--kendo-color-primary, #0078d4));
}

.k-task-summary {
  color: var(--kendo-gantt-summary-bg, var(--kendo-color-subtle, #605e5c));
}
.k-task-summary.k-task-delayed {
  color: var(--kendo-gantt-delayed-bg-lighter, var(--kendo-color-error, #c2666b));
}
.k-task-summary.k-task-advanced {
  color: var(--kendo-gantt-advanced-bg-lighter, var(--kendo-color-success, #55a554));
}

.k-task-summary-complete {
  color: var(--kendo-gantt-summary-progress-bg, var(--kendo-color-on-app-surface, #323130));
}

.k-task-delayed .k-task-summary-complete {
  color: var(--kendo-gantt-delayed-bg, var(--kendo-color-error-emphasis, #a4262c));
}

.k-task-advanced .k-task-summary-complete {
  color: var(--kendo-gantt-advanced-bg, var(--kendo-color-success-emphasis, #107c10));
}

.k-task-summary.k-selected {
  color: var(--kendo-gantt-summary-selected-bg, var(--kendo-color-primary-subtle-active, #abd1ef));
}
.k-task-summary.k-selected .k-task-summary-complete {
  color: var(--kendo-gantt-summary-progress-selected-bg, var(--kendo-color-primary, #0078d4));
}

.k-task-single {
  border-color: var(--kendo-gantt-task-border, inherit);
  color: var(--kendo-gantt-task-text, var(--kendo-color-app-surface, #ffffff));
  background-color: var(--kendo-gantt-task-bg, var(--kendo-color-subtle, #605e5c));
}
.k-task-single.k-task-delayed {
  background-color: var(--kendo-gantt-delayed-bg-lighter, var(--kendo-color-error, #c2666b));
}
.k-task-single.k-task-advanced {
  background-color: var(--kendo-gantt-advanced-bg-lighter, var(--kendo-color-success, #55a554));
}
.k-task-single .k-task-complete {
  background-color: var(--kendo-gantt-task-progress-bg, var(--kendo-color-on-app-surface, #323130));
}
.k-task-single:hover .k-task-complete {
  background-color: var(--kendo-gantt-task-progress-hover-bg, var(--kendo-color-on-app-surface, #323130));
}

.k-task-delayed .k-task-complete {
  background-color: var(--kendo-gantt-delayed-bg, var(--kendo-color-error-emphasis, #a4262c));
}
.k-task-delayed:hover .k-task-complete {
  background-color: var(--kendo-gantt-delayed-hover-bg, var(--kendo-color-error-on-subtle, #420f12));
}

.k-task-advanced .k-task-complete {
  background-color: var(--kendo-gantt-advanced-bg, var(--kendo-color-success-emphasis, #107c10));
}
.k-task-advanced:hover .k-task-complete {
  background-color: var(--kendo-gantt-advanced-hover-bg, var(--kendo-color-success-on-subtle, #063206));
}

.k-task-single.k-selected {
  border-color: var(--kendo-gantt-task-selected-border, transparent);
  color: var(--kendo-gantt-task-selected-text, var(--kendo-color-app-surface, #ffffff));
  background-color: var(--kendo-gantt-task-selected-bg, var(--kendo-color-primary-subtle-active, #abd1ef));
}
.k-task-single.k-selected .k-task-complete {
  background-color: var(--kendo-gantt-task-progress-selected-bg, var(--kendo-color-primary, #0078d4));
}

.k-gantt-line {
  color: var(--kendo-gantt-line-fill, black);
}

.k-gantt-line.k-selected {
  color: var(--kendo-gantt-line-selected-fill, var(--kendo-color-primary-active, #005a9e));
}

.k-task-planned .k-task-moment {
  border-color: var(--kendo-gantt-planned-border, var(--kendo-color-primary, #0078d4));
  background-color: transparent;
}
.k-task-planned .k-task-duration {
  background-color: var(--kendo-gantt-planned-bg, var(--kendo-color-primary, #0078d4));
}
.k-task-planned:hover .k-task-moment {
  background-color: var(--kendo-gantt-planned-bg, var(--kendo-color-primary, #0078d4));
}

.k-task-offset {
  background-image: repeating-linear-gradient(135deg, var(--kendo-color-app-surface, #ffffff), var(--kendo-color-app-surface, #ffffff) 2px, var(--kendo-color-error-emphasis, #a4262c) 2px, var(--kendo-color-error-emphasis, #a4262c) 4px);
}
.k-task-offset .k-resize-e::before {
  border-color: var(--kendo-gantt-action-on-offset-text, var(--kendo-color-on-app-surface, #323130));
}
.k-task-offset .k-task-actions {
  color: var(--kendo-gantt-action-on-offset-text, var(--kendo-color-on-app-surface, #323130));
}

.k-task-offset:hover {
  background-image: repeating-linear-gradient(135deg, var(--kendo-color-app-surface, #ffffff), var(--kendo-color-app-surface, #ffffff) 2px, var(--kendo-color-error, #c2666b) 2px, var(--kendo-color-error, #c2666b) 4px);
}

.k-pdf-export .k-task-offset {
  background-color: var(--kendo-gantt-delayed-bg, var(--kendo-color-error-emphasis, #a4262c));
}

.k-offset-tooltip-delayed {
  color: var(--kendo-gantt-delayed-text, var(--kendo-color-app-surface, #ffffff));
  background-color: var(--kendo-gantt-delayed-bg, var(--kendo-color-error-emphasis, #a4262c));
}

.k-planned-tooltip {
  color: var(--kendo-gantt-planned-text, var(--kendo-color-app-surface, #ffffff));
  background-color: var(--kendo-gantt-planned-bg, var(--kendo-color-primary, #0078d4));
}

.k-gantt-tooltip-validation::before {
  background-color: var(--kendo-gantt-validation-tooltip-border, var(--kendo-component-border, inherit));
}

.k-gantt-tooltip-valid::before {
  background-color: var(--kendo-gantt-validation-tooltip-valid-border, var(--kendo-color-success, #55a554));
}

.k-gantt-tooltip-invalid::before {
  background-color: var(--kendo-gantt-validation-tooltip-invalid-border, var(--kendo-color-error, #c2666b));
}

.k-table-auto {
  table-layout: auto;
}

.\!k-table-auto {
  table-layout: auto !important;
}

.k-table-fixed {
  table-layout: fixed;
}

.\!k-table-fixed {
  table-layout: fixed !important;
}

.k-table-layout-auto {
  table-layout: auto;
}

.\!k-table-layout-auto {
  table-layout: auto !important;
}

.k-table-layout-fixed {
  table-layout: fixed;
}

.\!k-table-layout-fixed {
  table-layout: fixed !important;
}

.k-scheduler {
  border-width: var(--kendo-scheduler-border-width, 1px);
  border-style: solid;
  box-sizing: border-box;
  outline: 0;
  font-family: var(--kendo-scheduler-font-family, var(--kendo-font-family, inherit));
  font-size: var(--kendo-scheduler-font-size, var(--kendo-font-size, inherit));
  line-height: var(--kendo-scheduler-line-height, var(--kendo-line-height, normal));
  display: flex;
  flex-direction: column;
  position: relative;
  -webkit-touch-callout: none;
  -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
}
.k-scheduler table,
.k-scheduler thead,
.k-scheduler tfoot,
.k-scheduler tbody,
.k-scheduler tr,
.k-scheduler th,
.k-scheduler td,
.k-scheduler div,
.k-scheduler .k-scheduler-edit-dialog,
.k-scheduler > * {
  border-color: inherit;
}

kendo-scheduler.k-scheduler {
  overflow: hidden;
}
kendo-scheduler.k-scheduler.k-readonly-scheduler .k-event-delete {
  display: none;
}

.k-scheduler-table {
  width: 100%;
  max-width: none;
  border-collapse: separate;
  border-spacing: 0;
  table-layout: fixed;
}
.k-scheduler-table td,
.k-scheduler-table th {
  padding-inline: var(--kendo-scheduler-cell-padding-x, var(--kendo-spacing-2, 0.5rem));
  padding-block: var(--kendo-scheduler-cell-padding-y, var(--kendo-spacing-2, 0.5rem));
  height: var(--kendo-scheduler-cell-height, calc(1.4285714286 * 1em));
  overflow: hidden;
  white-space: nowrap;
  border-style: solid;
  border-inline-width: 1px 0;
  border-block-width: 0 1px;
  vertical-align: top;
  box-sizing: content-box;
}
.k-scheduler-table td:first-child,
.k-scheduler-table th:first-child {
  border-inline-start-width: 0;
}
.k-scheduler-table .k-middle-row td {
  border-block-end-style: dotted;
}
.k-scheduler-table .k-link {
  cursor: pointer;
}

.k-scheduler-layout-flex {
  overflow: auto;
}
.k-scheduler-layout-flex .k-scheduler-head {
  position: sticky;
  inset-block-start: 0;
  z-index: 3;
}
.k-scheduler-layout-flex .k-scheduler-body {
  position: relative;
}
.k-scheduler-layout-flex .k-scheduler-head,
.k-scheduler-layout-flex .k-scheduler-body {
  display: flex;
  flex: 100%;
  flex-wrap: wrap;
}
.k-scheduler-layout-flex .k-scheduler-row {
  display: flex;
  flex: 1 1 100%;
  width: 100%;
  min-width: 0;
}
.k-scheduler-layout-flex .k-scheduler-group {
  display: flex;
  flex: 1 1 100%;
  width: 100%;
  min-width: 0;
  flex-wrap: wrap;
}
.k-scheduler-layout-flex .k-scheduler-group .k-group-cell {
  display: flex;
  flex: 1 1 auto;
  flex-wrap: wrap;
  overflow: auto;
}
.k-scheduler-layout-flex .k-scheduler-group .k-group-content {
  padding: 0;
  display: flex;
  flex: 1 1 100%;
  width: 100%;
  border-width: 0;
  flex-wrap: wrap;
}
.k-scheduler-layout-flex .k-scheduler-group.k-group-horizontal .k-group-cell {
  flex-basis: 100%;
  border-width: 0;
  padding: 0;
}
.k-scheduler-layout-flex.k-scheduler-timeline-view .k-scheduler-body .k-scheduler-cell {
  flex-basis: auto;
}
.k-scheduler-layout-flex .k-more-events {
  inset-block-end: 2px;
  inset-inline-start: 0;
  width: 100%;
}
.k-scheduler-layout-flex .k-scheduler-cell {
  display: flex;
  flex: 1 1 100%;
  padding-inline: var(--kendo-scheduler-cell-padding-x, var(--kendo-spacing-2, 0.5rem));
  padding-block: var(--kendo-scheduler-cell-padding-y, var(--kendo-spacing-2, 0.5rem));
  min-height: 1.5em;
  overflow: hidden;
  white-space: nowrap;
  border-style: solid;
  border-inline-width: 0 1px;
  border-block-width: 0 1px;
  vertical-align: top;
  box-sizing: content-box;
}
.k-scheduler-layout-flex .k-scheduler-cell.k-slot-cell {
  position: relative;
}
.k-scheduler-layout-flex .k-scheduler-cell.k-heading-cell {
  justify-content: center;
  font-weight: bold;
}
.k-scheduler-layout-flex .k-scheduler-cell.k-side-cell {
  flex-grow: 0;
  flex-basis: auto;
  overflow: visible;
}
.k-scheduler-layout-flex .k-scheduler-cell.k-major-cell {
  border-block-end-width: 0;
}
.k-scheduler-layout-flex .k-middle-row .k-scheduler-cell {
  border-block-end-style: dotted;
}
.k-scheduler-layout-flex .k-resource-cell {
  flex: none;
  display: flex;
  flex-wrap: wrap;
  overflow: visible;
}
.k-scheduler-layout-flex .k-resource-content {
  display: flex;
  flex-wrap: wrap;
  padding: 0;
  border-width: 0;
}
.k-scheduler-layout-flex .k-sticky-cell {
  display: flex;
  flex-wrap: wrap;
  flex-basis: 0;
  position: sticky;
  inset-inline-start: 0;
  z-index: 3;
}

.k-scheduler-toolbar {
  border-width: 0;
  border-block-end-width: 1px;
  white-space: nowrap;
  flex-shrink: 0;
  position: relative;
  z-index: 2;
}
.k-scheduler-toolbar .k-widget {
  font-size: inherit;
}
.k-scheduler-toolbar .k-nav-current {
  color: inherit;
  outline: 0;
  text-decoration: none;
  display: inline-flex;
  flex-flow: row nowrap;
  align-items: center;
  cursor: pointer;
}
.k-scheduler-toolbar .k-scheduler-search {
  display: inline-flex;
  flex-flow: row nowrap;
}

.k-scheduler-toolbar .k-views-dropdown {
  width: auto;
  font: inherit;
}

.k-scheduler-footer {
  box-shadow: none;
  border-width: 0;
  border-top-width: 1px;
  white-space: nowrap;
  flex-shrink: 0;
  position: relative;
}

.k-scheduler-layout {
  width: 100%;
  border-collapse: separate;
  border-spacing: 0;
  flex: 1 1 auto;
  position: relative;
  z-index: 1;
}
.k-scheduler-layout > tbody > tr > td {
  padding: 0;
  vertical-align: top;
}
.k-scheduler-layout td.k-selected,
.k-scheduler-layout .k-scheduler-cell.k-selected {
  outline: none;
}
.k-scheduler-layout tr + tr .k-scheduler-times tr th,
.k-scheduler-layout .k-scheduler-pane + .k-scheduler-pane .k-scheduler-times tr th {
  border-block-end-color: transparent;
}
.k-scheduler-layout tr + tr .k-scheduler-times tr .k-slot-cell,
.k-scheduler-layout tr + tr .k-scheduler-times tr .k-scheduler-times-all-day, .k-scheduler-layout tr + tr .k-scheduler-times tr:last-child th,
.k-scheduler-layout .k-scheduler-pane + .k-scheduler-pane .k-scheduler-times tr .k-slot-cell,
.k-scheduler-layout .k-scheduler-pane + .k-scheduler-pane .k-scheduler-times tr .k-scheduler-times-all-day,
.k-scheduler-layout .k-scheduler-pane + .k-scheduler-pane .k-scheduler-times tr:last-child th {
  border-block-end-color: inherit;
}

.k-scheduler-layout.k-scheduler-flex-layout {
  display: flex;
  flex-direction: column;
}
.k-scheduler-layout.k-scheduler-flex-layout.k-scheduler-weekview .k-scheduler-pane:first-child .k-scheduler-table, .k-scheduler-layout.k-scheduler-flex-layout.k-scheduler-dayview .k-scheduler-pane:first-child .k-scheduler-table {
  table-layout: fixed;
}

.k-scheduler-header,
.k-scheduler-view-header {
  padding-inline-end: var(--kendo-scrollbar-width, 17px);
}

.k-scheduler-header th {
  text-align: center;
}

.k-scheduler-header,
.k-scheduler-header-wrap,
.k-scheduler-header-wrap > div {
  border-color: inherit;
  overflow: hidden;
}

.k-scheduler-header-wrap {
  border-width: 0;
  border-style: solid;
  position: relative;
}

.k-scheduler-times {
  border-color: inherit;
  position: relative;
  overflow: hidden;
}
.k-scheduler-times .k-scheduler-table {
  table-layout: auto;
}
.k-scheduler-times th {
  border-inline-width: 0 1px;
  border-block-width: 0 1px;
  text-align: end;
}
.k-scheduler-times .k-slot-cell,
.k-scheduler-times .k-scheduler-times-all-day {
  border-block-end-color: inherit;
}
.k-scheduler-times .k-slot-cell.k-last-resource {
  border-inline-end: 0;
}
.k-scheduler-times .k-slot-cell.k-empty-slot {
  padding-inline: 0;
}

.k-scheduler-datecolumn {
  width: var(--kendo-scheduler-datecolumn-width, 12em);
}

.k-scheduler-timecolumn {
  width: var(--kendo-scheduler-timecolumn-width, 11em);
  white-space: nowrap;
}

.k-scheduler-content {
  border-color: inherit;
  position: relative;
  overflow: auto;
}
.k-scheduler-content:focus {
  outline: none;
}

kendo-scheduler .k-event,
.k-event {
  border-radius: var(--kendo-scheduler-event-border-radius, var(--kendo-border-radius-md, 0.25rem));
  min-height: var(--kendo-scheduler-event-min-height, calc(var(--kendo-line-height, normal) + 2 * var(--kendo-spacing-0\.5, 0.125rem)));
  box-sizing: border-box;
  border-width: 0;
  border-style: solid;
  outline: 0;
  cursor: default;
  display: flex;
  flex-flow: row nowrap;
  align-items: flex-start;
  position: absolute;
  overflow: hidden;
  padding-inline: var(--kendo-scheduler-event-padding-x, var(--kendo-spacing-2, 0.5rem)) calc(var(--kendo-scheduler-event-padding-x, var(--kendo-spacing-2, 0.5rem)) / 2);
  padding-block: var(--kendo-scheduler-event-padding-y, var(--kendo-spacing-0\.5, 0.125rem));
  gap: 2px;
}
kendo-scheduler .k-event > div,
.k-event > div {
  position: relative;
  z-index: 2;
  flex: 1 1 auto;
  overflow: hidden;
}
kendo-scheduler .k-event .k-event-template,
.k-event .k-event-template {
  line-height: var(--kendo-scheduler-event-line-height, var(--kendo-line-height, normal));
}
kendo-scheduler .k-event .k-event-time,
.k-event .k-event-time {
  padding-block-end: 0;
  font-size: 0.875em;
  white-space: nowrap;
  display: none;
}
kendo-scheduler .k-event .k-event-actions,
.k-event .k-event-actions {
  white-space: nowrap;
  display: flex;
  justify-content: center;
  align-items: center;
  min-height: calc(var(--kendo-scheduler-line-height, var(--kendo-line-height, normal)) * var(--kendo-scheduler-font-size, var(--kendo-font-size, inherit)));
  position: relative;
  z-index: 1;
}
kendo-scheduler .k-event .k-event-actions a,
.k-event .k-event-actions a {
  color: inherit;
}
kendo-scheduler .k-event .k-resize-handle,
.k-event .k-resize-handle {
  z-index: 4;
  opacity: 0.5;
  visibility: hidden;
}
kendo-scheduler .k-event .k-resize-handle::before,
.k-event .k-resize-handle::before {
  border-color: currentColor;
}
kendo-scheduler .k-event .k-resize-n,
.k-event .k-resize-n {
  height: 0.5em;
  inset-block-start: 0;
}
kendo-scheduler .k-event .k-resize-s,
.k-event .k-resize-s {
  height: 0.5em;
  inset-block-end: 0;
}
kendo-scheduler .k-event .k-resize-n::before,
kendo-scheduler .k-event .k-resize-s::before,
.k-event .k-resize-n::before,
.k-event .k-resize-s::before {
  width: var(--kendo-scheduler-resize-handle-width, 2em);
  border-block-end-width: 1px;
}
kendo-scheduler .k-event .k-resize-w,
.k-event .k-resize-w {
  width: 0.5em;
  inset-inline-start: 0;
}
kendo-scheduler .k-event .k-resize-e,
.k-event .k-resize-e {
  width: 0.5em;
  inset-inline-end: 0;
}
kendo-scheduler .k-event .k-resize-w::before,
kendo-scheduler .k-event .k-resize-e::before,
.k-event .k-resize-w::before,
.k-event .k-resize-e::before {
  height: var(--kendo-scheduler-resize-handle-width, 2em);
  border-inline-start-width: 1px;
}
kendo-scheduler .k-event:hover .k-event-actions .k-event-delete,
kendo-scheduler .k-event:hover .k-resize-handle, kendo-scheduler .k-event.k-hover .k-event-actions .k-event-delete,
kendo-scheduler .k-event.k-hover .k-resize-handle,
.k-event:hover .k-event-actions .k-event-delete,
.k-event:hover .k-resize-handle,
.k-event.k-hover .k-event-actions .k-event-delete,
.k-event.k-hover .k-resize-handle {
  visibility: visible;
}
kendo-scheduler .k-event.k-event-drag-hint .k-event-time,
.k-event.k-event-drag-hint .k-event-time {
  display: block;
}
kendo-scheduler .k-event .k-event-top-actions,
kendo-scheduler .k-event .k-event-bottom-actions,
.k-event .k-event-top-actions,
.k-event .k-event-bottom-actions {
  position: absolute;
  inset-block-start: 0;
  inset-inline-start: 0;
  width: 100%;
  text-align: center;
  display: flex;
  justify-content: center;
}
kendo-scheduler .k-event .k-event-bottom-actions,
.k-event .k-event-bottom-actions {
  inset-block-start: auto;
  inset-block-end: 0;
}

.k-event-delete {
  opacity: 0.5;
  visibility: hidden;
  display: flex;
  align-items: center;
  margin-inline-start: auto;
}
.k-event-delete:hover, .k-event-delete.k-hover {
  opacity: 1;
}

.k-scheduler-mark {
  width: 1em;
  height: 1em;
  display: inline-block;
  vertical-align: middle;
}

.k-more-events {
  padding: 0;
  height: var(--kendo-scheduler-more-btn-height, 13px);
  border-style: solid;
  border-width: 1px;
  overflow: hidden;
  position: absolute;
  justify-content: center;
}

.k-event-drag-hint {
  opacity: 0.5;
  z-index: 3;
}
.k-event-drag-hint .k-event-actions,
.k-event-drag-hint .k-event-top-actions,
.k-event-drag-hint .k-event-bottom-actions,
.k-event-drag-hint .k-resize-handle {
  display: none;
}
.k-event-drag-hint .k-event-time {
  display: block;
}

.k-scheduler-marquee {
  border-width: 0;
  border-style: solid;
}
.k-scheduler-marquee .k-label-top,
.k-scheduler-marquee .k-label-bottom {
  font-size: 0.75em;
  position: absolute;
}
.k-scheduler-marquee.k-first::before, .k-scheduler-marquee.k-last::after {
  content: "";
  border-width: 3px;
  border-style: solid;
  position: absolute;
  width: 0;
  height: 0;
}
.k-scheduler-marquee.k-first::before {
  inset-block-start: 0;
  inset-inline-start: 0;
  border-right-color: transparent;
  border-block-end-color: transparent;
}
.k-scheduler-marquee.k-last::after {
  inset-block-end: 0;
  inset-inline-end: 0;
  border-inline-start-color: transparent;
  border-top-color: transparent;
}

.k-pdf-export-shadow .k-scheduler,
.k-scheduler-pdf-export .k-scheduler-content,
.k-scheduler-pdf-export .k-scheduler-times {
  height: auto !important;
  overflow: visible !important;
}

.k-scheduler-pdf-export {
  overflow: hidden;
}
.k-scheduler-pdf-export .k-scheduler-header {
  padding: 0 !important;
}
.k-scheduler-pdf-export .k-scheduler-header-wrap {
  border-width: 0 !important;
}
.k-scheduler-pdf-export .k-scheduler-header .k-scheduler-table,
.k-scheduler-pdf-export .k-scheduler-content .k-scheduler-table {
  width: 100% !important;
}

.k-recurrence-editor {
  display: flex;
  flex-direction: column;
}

kendo-scheduler .k-recurrence-editor {
  display: block;
}

.k-scheduler-monthview .k-scheduler-table {
  height: 100%;
}
.k-scheduler-monthview .k-scheduler-table td {
  height: 80px;
  text-align: end;
}
.k-scheduler-monthview .k-scheduler-body .k-scheduler-cell {
  min-height: 80px;
}
.k-scheduler-monthview .k-hidden {
  padding-inline: 0 !important;
  border-inline-end-width: 0 !important;
}
.k-scheduler-monthview .k-scheduler-table-auto,
.k-scheduler-monthview .k-scheduler-table-auto td,
.k-scheduler-monthview .k-scheduler-content .k-scheduler-table-auto {
  height: auto;
}
.k-scheduler-monthview .k-scheduler-content {
  overflow-y: scroll;
}
.k-scheduler-monthview.k-scheduler-flex-layout .k-scheduler-content {
  overflow-y: auto;
}

:where(.k-scheduler-agendaview) .k-task {
  display: flex;
  flex: 1 1 100%;
  align-items: center;
  gap: var(--kendo-spacing-0\.5, 0.125rem);
}
:where(.k-scheduler-agendaview) .k-scheduler-mark {
  margin-inline-end: 0.5em;
  width: 1em;
  height: 1em;
}
:where(.k-scheduler-agendaview) .k-scheduler-table th:first-child,
:where(.k-scheduler-agendaview) .k-scheduler-table td:first-child {
  border-inline-start-width: 1px;
}
:where(.k-scheduler-agendaview) .k-scheduler-table td.k-first {
  border-inline-start-width: 0;
}
:where(.k-scheduler-agendaview) .k-hover .k-task > .k-event-delete,
:where(.k-scheduler-agendaview) .k-scheduler-content tr:hover .k-event-delete,
:where(.k-scheduler-agendaview) .k-scheduler-content .k-scheduler-row:hover .k-event-delete,
:where(.k-scheduler-agendaview) .k-scheduler-content .k-scheduler-row.k-hover .k-event-delete {
  visibility: visible;
}

.k-scheduler-agendaday {
  margin: 0 0.2em 0 0;
  font-size: 3em;
  line-height: 1;
  font-weight: 400;
  float: left;
}

.k-scheduler-agendaweek {
  display: block;
  margin: 0.4em 0 0;
  line-height: 1;
  font-style: normal;
}

.k-scheduler-agendadate {
  font-size: 0.75em;
}

.k-scheduler-timelineview .k-slot-cell {
  overflow: hidden;
}
.k-scheduler-timelineview .k-scheduler-content {
  overflow: auto;
}

.k-scheduler-pane {
  display: flex;
  flex-direction: row;
}

.k-scheduler-pane .k-scheduler-times {
  flex: 0 0 auto;
}

.k-scheduler-pane .k-scheduler-times .k-scheduler-table {
  height: 100%;
}

.k-scheduler-pane .k-scheduler-header,
.k-scheduler-pane .k-scheduler-content {
  flex: 1 1 auto;
}

.k-scheduler-yearview .k-scheduler-body {
  padding-inline: var(--kendo-scheduler-yearview-padding-x, var(--kendo-spacing-3, 0.75rem));
  padding-block: var(--kendo-scheduler-yearview-padding-y, var(--kendo-spacing-3, 0.75rem));
  justify-content: center;
}
.k-scheduler-yearview .k-calendar {
  width: 100%;
  border-width: 0;
}
.k-scheduler-yearview .k-calendar .k-calendar-view {
  flex-wrap: wrap;
  justify-content: center;
  gap: var(--kendo-scheduler-yearview-calendar-gap, var(--kendo-spacing-3, 0.75rem));
}
.k-scheduler-yearview .k-calendar .k-content {
  flex: 0;
}
.k-scheduler-yearview .k-calendar .k-link {
  position: relative;
}
.k-scheduler-yearview .k-calendar td.k-selected {
  background-color: inherit;
}
.k-scheduler-yearview .k-day-indicator {
  margin-block-start: calc(28px - var(--kendo-spacing-1\.5, 0.375rem) * 2);
  width: var(--kendo-scheduler-yearview-indicator-size, 3px);
  height: var(--kendo-scheduler-yearview-indicator-size, 3px);
  border-radius: var(--kendo-scheduler-yearview-indicator-border-radius, 50%);
  position: absolute;
  inset-inline-start: var(--kendo-scheduler-yearview-indicator-calc-offset-left, calc(50% - 3px / 2));
}

.k-scheduler-tooltip {
  padding-inline: var(--kendo-scheduler-tooltip-padding-x, var(--kendo-spacing-2, 0.5rem));
  padding-block: var(--kendo-scheduler-tooltip-padding-y, var(--kendo-spacing-2, 0.5rem));
  border-width: var(--kendo-scheduler-tooltip-border-width, 0);
  color: inherit;
}
.k-scheduler-tooltip .k-tooltip-title {
  margin-block-end: var(--kendo-scheduler-tooltip-title-margin-y, var(--kendo-spacing-3, 0.75rem));
}
.k-scheduler-tooltip .k-tooltip-title .k-month {
  font-size: var(--kendo-scheduler-tooltip-month-font-size, var(--kendo-font-size-sm, inherit));
  text-transform: uppercase;
}
.k-scheduler-tooltip .k-tooltip-title .k-day {
  font-size: var(--kendo-scheduler-tooltip-day-font-size, calc(var(--kendo-font-size-sm, 0.75rem) * 2));
}
.k-scheduler-tooltip .k-tooltip-events-container {
  overflow: auto;
}
.k-scheduler-tooltip .k-tooltip-events {
  max-height: var(--kendo-scheduler-tooltip-events-max-height, 250px);
  display: flex;
  flex-direction: column;
  gap: var(--kendo-scheduler-tooltip-events-gap, var(--kendo-spacing-2, 0.5rem));
}
.k-scheduler-tooltip .k-tooltip-event {
  padding-inline: var(--kendo-scheduler-tooltip-event-padding-x, var(--kendo-spacing-2, 0.5rem));
  padding-block: var(--kendo-scheduler-tooltip-event-padding-y, var(--kendo-spacing-0\.5, 0.125rem));
  border-radius: var(--kendo-scheduler-tooltip-event-border-radius, var(--kendo-border-radius-md, 0.25rem));
  box-sizing: border-box;
  display: flex;
  flex-direction: row;
  align-items: center;
  flex-shrink: 0;
  position: relative;
  gap: var(--kendo-scheduler-tooltip-event-gap, var(--kendo-spacing-0\.5, 0.125rem));
}
.k-scheduler-tooltip .k-tooltip-event .k-event-title {
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.k-scheduler-tooltip .k-tooltip-event .k-event-time {
  display: flex;
  flex-shrink: 0;
  font-size: inherit;
}
.k-scheduler-tooltip .k-no-data, .k-scheduler-tooltip .k-nodata {
  height: auto;
  min-height: auto;
  color: inherit;
}

.k-scheduler-edit-dialog .k-dialog {
  max-height: 100vh;
}

.k-scheduler-edit-form .k-edit-form-container {
  width: 100%;
}
.k-scheduler-edit-form .k-edit-label {
  width: 17%;
}
.k-scheduler-edit-form .k-edit-field {
  width: 77%;
}
.k-scheduler-edit-form .k-edit-field > ul > li {
  display: flex;
  flex-flow: row nowrap;
  align-items: center;
}
.k-scheduler-edit-form .k-recurrence-editor .k-radio-list .k-radio-wrap,
.k-scheduler-edit-form .k-recurrence-editor .k-checkbox-list .k-checkbox-wrap {
  align-self: center;
}
.k-scheduler-edit-form .k-recur-interval,
.k-scheduler-edit-form .k-recur-count,
.k-scheduler-edit-form .k-recur-monthday {
  width: 5em;
}
.k-scheduler-edit-form .k-recur-until,
.k-scheduler-edit-form .k-recur-month,
.k-scheduler-edit-form .k-recur-weekday,
.k-scheduler-edit-form .k-recur-weekday-offset {
  width: 10em;
}
.k-scheduler-edit-form .k-scheduler-datetime-picker {
  display: flex;
  flex-flow: row nowrap;
  gap: var(--kendo-spacing-1, 0.25rem);
}

.k-rtl .k-scheduler .k-scheduler-agendaday, .k-rtl.k-scheduler .k-scheduler-agendaday {
  float: right;
  margin: 0 0 0 0.2em;
}

.k-safari .k-scheduler-tooltip .k-tooltip-event:not(:last-child) {
  margin-block-end: var(--kendo-scheduler-tooltip-event-gap, var(--kendo-spacing-0\.5, 0.125rem));
}
.k-safari .k-scheduler-yearview .k-calendar-view .k-month {
  margin-inline: calc(var(--kendo-scheduler-yearview-calendar-gap, var(--kendo-spacing-3, 0.75rem)) / 2);
}

.k-scheduler {
  border-color: var(--kendo-scheduler-border, var(--kendo-component-border, initial));
  color: var(--kendo-scheduler-text, var(--kendo-component-text, initial));
  background-color: var(--kendo-scheduler-bg, var(--kendo-component-bg, initial));
}

.k-scheduler-toolbar {
  border-color: var(--kendo-scheduler-toolbar-border, var(--kendo-toolbar-border, var(--kendo-component-border, initial)));
  color: var(--kendo-scheduler-toolbar-text, var(--kendo-toolbar-text, var(--kendo-component-text, inherit)));
  background-color: var(--kendo-scheduler-toolbar-bg, var(--kendo-toolbar-bg, var(--kendo-color-surface, #faf9f8)));
  background-image: linear-gradient(var(--kendo-scheduler-toolbar-gradient, ));
}

.k-scheduler-footer {
  border-color: var(--kendo-scheduler-footer-border, var(--kendo-toolbar-border, var(--kendo-component-border, initial)));
  color: var(--kendo-scheduler-footer-text, var(--kendo-toolbar-text, var(--kendo-component-text, inherit)));
  background-color: var(--kendo-scheduler-footer-bg, var(--kendo-toolbar-bg, var(--kendo-color-surface, #faf9f8)));
  background-image: linear-gradient(var(--kendo-scheduler-footer-gradient, ));
}

.k-scheduler-header {
  background-color: var(--kendo-scheduler-toolbar-bg, var(--kendo-toolbar-bg, var(--kendo-color-surface, #faf9f8)));
}

.k-scheduler-header-wrap {
  background-color: var(--kendo-scheduler-bg, var(--kendo-component-bg, initial));
}

.k-scheduler-nonwork,
.k-scheduler .k-nonwork-hour {
  color: var(--kendo-scheduler-nonwork-text, );
  background-color: var(--kendo-scheduler-nonwork-bg, var(--kendo-color-surface, #faf9f8));
}

.k-scheduler-other-month,
.k-scheduler .k-other-month {
  color: var(--kendo-scheduler-othermonth-text, );
  background-color: var(--kendo-scheduler-othermonth-bg, var(--kendo-color-surface, #faf9f8));
}

.k-scheduler-layout td.k-selected,
.k-scheduler-layout .k-scheduler-cell.k-selected {
  background-color: var(--kendo-selected-bg, var(--kendo-color-base-active, #edebe9));
}

.k-scheduler-layout-flex .k-scheduler-head,
.k-scheduler-layout-flex .k-sticky-cell {
  background-color: var(--kendo-scheduler-bg, var(--kendo-component-bg, initial));
}

.k-event {
  border-color: var(--kendo-scheduler-event-border, var(--kendo-color-primary, #0078d4));
  color: var(--kendo-scheduler-event-text, var(--kendo-color-app-surface, #ffffff));
  background-color: var(--kendo-scheduler-event-bg, var(--kendo-color-primary, #0078d4));
  background-image: linear-gradient(var(--kendo-scheduler-event-gradient, ));
  box-shadow: var(--kendo-scheduler-event-shadow, );
}
.k-event.k-hover {
  border-color: var(--kendo-scheduler-event-hover-border, var(--kendo-hover-border, inherit));
  color: var(--kendo-scheduler-event-hover-text, var(--kendo-hover-text, inherit));
  background-color: var(--kendo-scheduler-event-hover-bg, var(--kendo-hover-bg, inherit));
  background-image: linear-gradient(var(--kendo-scheduler-event-hover-gradient, ));
  box-shadow: var(--kendo-scheduler-event-hover-shadow, );
}
.k-event.k-selected {
  border-color: var(--kendo-scheduler-event-selected-border, var(--kendo-color-primary, #0078d4));
  color: var(--kendo-scheduler-event-selected-text, var(--kendo-color-app-surface, #ffffff));
  background-color: var(--kendo-scheduler-event-selected-bg, var(--kendo-color-primary-active, #005a9e));
  background-image: linear-gradient(var(--kendo-scheduler-event-selected-gradient, ));
  box-shadow: var(--kendo-scheduler-event-selected-shadow, none);
}
.k-event.k-event-ongoing {
  box-shadow: var(--kendo-scheduler-event-ongoing-shadow, inset 0px 0px 0px 1px #ff0000);
}

.k-scheduler-marquee::before,
.k-scheduler-marquee::after {
  border-color: var(--kendo-scheduler-marquee-color, var(--kendo-color-primary, #0078d4));
}

.k-scheduler-edit-dialog .k-dialog-actions {
  border-color: var(--kendo-scheduler-border, var(--kendo-component-border, initial));
}

.k-scheduler-agendaview .k-scheduler-content tr:hover,
.k-scheduler-agendaview .k-scheduler-content tr.k-hover,
.k-scheduler-agendaview .k-scheduler-content .k-scheduler-row:hover,
.k-scheduler-agendaview .k-scheduler-content .k-scheduler-row.k-hover {
  border-color: var(--kendo-hover-border, color-mix(in srgb, var(--kendo-color-border, #8a8886) 10%, transparent));
  color: var(--kendo-hover-text, var(--kendo-color-on-base, #323130));
  background-color: var(--kendo-hover-bg, var(--kendo-color-base-hover, #f3f2f1));
}
.k-scheduler-agendaview .k-scheduler-content tr:hover .k-scheduler-datecolumn,
.k-scheduler-agendaview .k-scheduler-content tr:hover .k-scheduler-groupcolumn,
.k-scheduler-agendaview .k-scheduler-content tr.k-hover .k-scheduler-datecolumn,
.k-scheduler-agendaview .k-scheduler-content tr.k-hover .k-scheduler-groupcolumn {
  border-color: var(--kendo-scheduler-border, var(--kendo-component-border, initial));
  color: var(--kendo-scheduler-text, var(--kendo-component-text, initial));
  background-color: var(--kendo-scheduler-bg, var(--kendo-component-bg, initial));
}
.k-scheduler-agendaview .k-scheduler-content tr.k-selected {
  border-color: var(--kendo-scheduler-selected-border, var(--kendo-component-border, initial));
  color: var(--kendo-scheduler-selected-text, var(--kendo-component-text, initial));
  background-color: var(--kendo-scheduler-selected-bg, var(--kendo-color-primary-subtle, #deecf9));
}
.k-scheduler-agendaview .k-scheduler-content tr.k-selected .k-scheduler-datecolumn,
.k-scheduler-agendaview .k-scheduler-content tr.k-selected .k-scheduler-groupcolumn {
  background-color: var(--kendo-scheduler-bg, var(--kendo-component-bg, initial));
}

.k-scheduler-yearview .k-day-indicator {
  background-color: var(--kendo-scheduler-yearview-indicator-bg, var(--kendo-color-primary, #0078d4));
}
.k-scheduler-yearview .k-selected .k-day-indicator {
  background-color: var(--kendo-scheduler-yearview-indicator-selected-bg, var(--kendo-color-app-surface, #ffffff));
}

.k-tooltip.k-scheduler-tooltip {
  border-color: var(--kendo-scheduler-tooltip-border, );
  color: var(--kendo-scheduler-tooltip-text, var(--kendo-color-subtle, #605e5c));
  background-color: var(--kendo-scheduler-tooltip-bg, var(--kendo-color-app-surface, #ffffff));
  box-shadow: var(--kendo-scheduler-tooltip-shadow, var(--kendo-elevation-5, 0 1.8px 5.4px rgba(0, 0, 0, 0.1), 0 9.6px 21.6px rgba(0, 0, 0, 0.13)));
}
.k-tooltip.k-scheduler-tooltip .k-callout {
  color: var(--kendo-scheduler-tooltip-callout-color, var(--kendo-color-app-surface, #ffffff));
}
.k-tooltip.k-scheduler-tooltip .k-tooltip-title .k-day {
  color: var(--kendo-color-primary-emphasis, #004578);
}

.k-chat {
  margin: auto;
  max-width: var(--kendo-chat-width, 500px);
  height: var(--kendo-chat-height, 600px);
  max-height: 100%;
  border-width: var(--kendo-chat-border-width, 1px);
  border-style: solid;
  box-sizing: border-box;
  outline: 0;
  font-family: var(--kendo-chat-font-family, var(--kendo-font-family, inherit));
  font-size: var(--kendo-chat-font-size, var(--kendo-font-size, inherit));
  line-height: var(--kendo-chat-line-height, var(--kendo-line-height, normal));
  display: flex;
  flex-direction: column;
  overflow: hidden;
  -webkit-touch-callout: none;
  -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
}
.k-chat .k-message-list {
  display: flex;
  flex: 1 1 auto;
  flex-direction: column;
  align-items: flex-start;
  overflow-x: hidden;
  overflow-y: auto;
  scroll-behavior: smooth;
}
.k-chat .k-message-list-content {
  padding-inline: var(--kendo-chat-message-list-padding-x, var(--kendo-spacing-4, 1rem));
  padding-block: var(--kendo-chat-message-list-padding-y, var(--kendo-spacing-4, 1rem));
  width: 100%;
  box-sizing: border-box;
  position: relative;
  flex: 0 0 auto;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  overflow: hidden;
}
.k-chat .k-message-list-content > * + * {
  margin-block-start: var(--kendo-chat-message-list-spacing, var(--kendo-spacing-4, 1rem));
}
.k-chat .k-message-group {
  max-width: 80%;
  background: none;
  box-sizing: border-box;
  display: flex;
  flex-shrink: 0;
  flex-direction: column;
  position: relative;
}
.k-chat .k-message-group:not(.k-alt) {
  align-items: flex-start;
  text-align: start;
}
.k-chat .k-message-group:not(.k-alt) .k-message-time {
  margin-inline-start: var(--kendo-chat-item-spacing-x, var(--kendo-spacing-2, 0.5rem));
  inset-inline-start: 100%;
}
.k-chat .k-message-group:not(.k-alt) .k-message-status {
  inset-inline-start: 0;
}
.k-chat .k-message-group:not(.k-alt) .k-first .k-chat-bubble,
.k-chat .k-message-group:not(.k-alt) .k-only .k-chat-bubble {
  border-end-start-radius: var(--kendo-chat-bubble-border-radius-sm, var(--kendo-border-radius, 0));
}
.k-chat .k-message-group:not(.k-alt) .k-middle .k-chat-bubble,
.k-chat .k-message-group:not(.k-alt) .k-last .k-chat-bubble {
  border-end-start-radius: var(--kendo-chat-bubble-border-radius-sm, var(--kendo-border-radius, 0));
}
.k-chat .k-message-group.k-alt {
  align-self: flex-end;
  align-items: flex-end;
  text-align: end;
}
.k-chat .k-message-group.k-alt .k-message-time {
  margin-inline-end: var(--kendo-chat-item-spacing-x, var(--kendo-spacing-2, 0.5rem));
  inset-inline-end: 100%;
}
.k-chat .k-message-group.k-alt .k-message-status {
  inset-inline-end: 0;
}
.k-chat .k-message-group.k-alt .k-first .k-chat-bubble,
.k-chat .k-message-group.k-alt .k-only .k-chat-bubble {
  border-end-end-radius: var(--kendo-chat-bubble-border-radius-sm, var(--kendo-border-radius, 0));
}
.k-chat .k-message-group.k-alt .k-middle .k-chat-bubble,
.k-chat .k-message-group.k-alt .k-last .k-chat-bubble {
  border-end-end-radius: var(--kendo-chat-bubble-border-radius-sm, var(--kendo-border-radius, 0));
}
.k-chat .k-message {
  max-width: 100%;
  margin: var(--kendo-chat-bubble-spacing, var(--kendo-spacing-0\.5, 0.125rem)) 0 0;
  position: relative;
  transition: margin 0.2s ease-in-out;
  outline: none;
}
.k-chat .k-message-time,
.k-chat .k-message-status {
  font-size: var(--kendo-font-size-sm, inherit);
  line-height: var(--kendo-line-height-lg, normal);
  white-space: nowrap;
  pointer-events: none;
  position: absolute;
}
.k-chat .k-message-time {
  opacity: 0;
  top: 50%;
  transform: translateY(-50%);
  transition: opacity 0.2s ease-in-out;
}
.k-chat .k-message-status {
  margin-block-start: var(--kendo-chat-bubble-spacing, var(--kendo-spacing-0\.5, 0.125rem));
  height: 0;
  overflow: hidden;
  top: 100%;
  transition: height 0.2s ease-in-out;
}
.k-chat .k-chat-bubble {
  border-radius: var(--kendo-chat-bubble-border-radius, var(--kendo-spacing-3, 0.75rem));
  padding-inline: var(--kendo-chat-bubble-padding-x, var(--kendo-spacing-3, 0.75rem));
  padding-block: var(--kendo-chat-bubble-padding-y, var(--kendo-spacing-2, 0.5rem));
  border-width: 1px;
  border-style: solid;
  line-height: var(--kendo-chat-bubble-line-height, var(--kendo-line-height, normal));
  word-wrap: break-word;
  white-space: pre-wrap;
}
.k-chat .k-chat-bubble a {
  color: inherit;
  text-decoration: underline;
}
.k-chat .k-message.k-selected {
  margin-block-end: var(--kendo-chat-item-spacing-y, var(--kendo-spacing-4, 1rem));
  border: 0;
  color: inherit;
  background: none;
}
.k-chat .k-message.k-selected .k-message-time {
  opacity: 1;
}
.k-chat .k-message.k-selected .k-message-status {
  height: 1.2em;
}
.k-chat .k-message-error,
.k-chat .k-message-sending {
  margin-block-end: var(--kendo-chat-item-spacing-y, var(--kendo-spacing-4, 1rem));
}
.k-chat .k-message-error .k-message-status,
.k-chat .k-message-sending .k-message-status {
  height: 1.2em;
}
.k-chat .k-avatar {
  margin: 0;
  position: absolute;
}
.k-message-group:not(.k-alt) > .k-avatar {
  inset-inline-start: 0;
  bottom: 0;
}

.k-message-group.k-alt > .k-avatar {
  inset-inline-end: 0;
  bottom: 0;
}

.k-chat .k-avatars .k-message-group:not(.k-alt, .k-no-avatar) {
  padding-inline-start: calc(32px + var(--kendo-spacing-2, 0.5rem));
}
.k-chat .k-avatars .k-message-group.k-alt:not(.k-no-avatar) {
  padding-inline-end: calc(32px + var(--kendo-spacing-2, 0.5rem));
}

.k-author {
  margin: 0;
  font-size: var(--kendo-font-size-sm, inherit);
  line-height: var(--kendo-line-height-lg, normal);
}

.k-chat .k-author {
  margin: 0;
}

.k-chat .k-timestamp {
  font-size: var(--kendo-chat-timestamp-font-size, var(--kendo-font-size-sm, inherit));
  line-height: var(--kendo-chat-timestamp-line-height, var(--kendo-line-height-lg, normal));
  text-transform: var(--kendo-chat-timestamp-transform, uppercase);
  text-align: center;
  align-self: stretch;
}

.k-quick-replies {
  display: block;
  max-width: 100%;
}

.k-quick-reply {
  border-radius: 100px;
  margin-inline-end: var(--kendo-chat-quick-reply-spacing, var(--kendo-spacing-2, 0.5rem));
  margin-block-end: calc(var(--kendo-chat-quick-reply-spacing, var(--kendo-spacing-2, 0.5rem)) / 2);
  padding-inline: var(--kendo-chat-quick-reply-padding-x, var(--kendo-spacing-3, 0.75rem));
  padding-block: var(--kendo-chat-quick-reply-padding-y, var(--kendo-spacing-2, 0.5rem));
  border-width: 1px;
  border-style: solid;
  border-color: currentColor;
  background: none;
  color: inherit;
  position: relative;
  line-height: var(--kendo-chat-quick-reply-line-height, var(--kendo-line-height, normal));
  cursor: pointer;
  user-select: none;
  display: inline-block;
  flex: 0 0 auto;
  transition-property: color, background-color, border-color;
  transition-duration: 0.2s;
  transition-timing-function: ease-in-out;
  outline: none;
}
.k-quick-reply:focus::after, .k-quick-reply.k-focus::after {
  content: "";
  position: absolute;
  border: medium none;
  border-radius: var(--kendo-border-radius-full, 9999px);
  inset: var(--kendo-chat-quick-reply-focus-offset, var(--kendo-spacing-0\.5, 0.125rem));
  outline-width: var(--kendo-chat-quick-reply-focus-outline-width, 1px);
  outline-style: var(--kendo-chat-quick-reply-focus-outline-style, solid);
  z-index: 1;
}

.k-scrollable-quick-replies {
  margin-block: calc(var(--kendo-chat-message-list-padding-y, var(--kendo-spacing-4, 1rem)) * -1);
  padding-block: calc(var(--kendo-chat-message-list-padding-y, var(--kendo-spacing-4, 1rem)) * -1);
  display: flex;
  flex-flow: row nowrap;
  flex: 0 0 auto;
  overflow-x: auto;
  overflow-y: hidden;
}
.k-scrollable-quick-replies::-webkit-scrollbar {
  display: none;
}
.k-scrollable-quick-replies .k-quick-reply {
  margin: 0;
}
.k-scrollable-quick-replies .k-quick-reply + .k-quick-reply {
  margin-inline-start: var(--kendo-chat-quick-reply-spacing, var(--kendo-spacing-2, 0.5rem));
}

.k-message-box {
  width: 100%;
  height: auto;
  box-sizing: border-box;
  border-width: 1px 0 0;
  border-style: solid;
  border-color: inherit !important;
  border-radius: 0 !important;
  flex: none;
  display: flex;
  flex-flow: row nowrap;
  align-items: center;
}
.k-message-box:focus, .k-message-box.k-focus, .k-message-box:focus-within {
  outline: 0;
  box-shadow: none;
}
.k-message-box .k-button {
  border-width: 0;
  flex-shrink: 0;
}
.k-message-box .k-button svg {
  width: 20px;
  height: 20px;
  fill: currentColor;
  display: inline-block;
}

.k-rtl .k-message-box .k-button,
[dir=rtl] .k-message-box .k-button {
  transform: scaleX(-1);
}

.k-chat .k-card-list {
  margin: var(--kendo-spacing-0\.5, 0.125rem) 0 0;
}

.k-message-group.k-alt + .k-card-list,
.k-message-group.k-alt + kendo-chat-message-attachments.k-card-list {
  align-self: flex-end;
}

.k-chat .k-card-deck {
  max-width: calc(100% + var(--kendo-spacing-4, 1rem) * 2);
  box-sizing: border-box;
  margin-inline: calc(var(--kendo-chat-message-list-padding-x, var(--kendo-spacing-4, 1rem)) * -1);
  padding-block-start: var(--kendo-chat-message-list-padding-y, var(--kendo-spacing-4, 1rem));
  padding-block-end: var(--kendo-chat-message-list-padding-y, var(--kendo-spacing-4, 1rem));
  padding-inline: var(--kendo-chat-message-list-padding-x, var(--kendo-spacing-4, 1rem));
  overflow: hidden;
  overflow-x: auto;
  scroll-behavior: smooth;
}

.k-chat .k-card-deck .k-card {
  width: 200px;
}

.k-chat .k-card-deck-scrollwrap {
  margin-inline: calc(var(--kendo-chat-message-list-padding-x, var(--kendo-spacing-4, 1rem)) * -1);
  padding-inline: var(--kendo-chat-message-list-padding-x, var(--kendo-spacing-4, 1rem));
}

.k-chat .k-card-deck-scrollwrap > .k-card-deck {
  margin-block-end: calc(var(--kendo-card-deck-scrollbar-size, 20px) * -1);
  padding-bottom: var(--kendo-card-deck-scrollbar-size, 20px);
}

.k-chat .k-card-deck .k-card-wrap {
  display: flex;
  flex-flow: row nowrap;
  align-items: stretch;
  flex: 0 0 auto;
  padding-bottom: 5px;
}
.k-chat .k-card-deck .k-card-wrap .k-card {
  flex: 0 0 auto;
}
.k-chat .k-card-deck .k-card-wrap.k-selected {
  background: none;
}

.k-typing-indicator {
  padding: 0;
  border-radius: 50px;
  display: inline-flex;
  flex-flow: row nowrap;
}
.k-typing-indicator span {
  width: var(--kendo-chat-typing-indicator-dot-size, 8px);
  height: var(--kendo-chat-typing-indicator-dot-size, 8px);
  border-radius: 50%;
  flex: 0 0 var(--kendo-chat-typing-indicator-dot-size, 8px);
  background-color: currentColor;
  opacity: 0.4;
}
.k-typing-indicator span:nth-of-type(1) {
  animation: 1s k-animation-blink infinite 0.3333s;
}
.k-typing-indicator span:nth-of-type(2) {
  animation: 1s k-animation-blink infinite 0.6666s;
}
.k-typing-indicator span:nth-of-type(3) {
  animation: 1s k-animation-blink infinite 0.9999s;
}
.k-typing-indicator span + span {
  margin-inline-start: var(--kendo-chat-typing-indicator-dot-spacing, calc(var(--kendo-spacing-2\.5, 0.625rem) / 2));
}
@keyframes k-animation-blink {
  50% {
    opacity: 1;
  }
}

.k-chat-toolbar,
.k-chat .k-toolbar-box {
  padding-inline: var(--kendo-chat-toolbar-padding-x, var(--kendo-spacing-2, 0.5rem));
  padding-block: var(--kendo-chat-toolbar-padding-y, var(--kendo-spacing-2, 0.5rem));
  width: 100%;
  border-width: 1px 0 0;
  box-sizing: border-box;
  flex: none;
  overflow: hidden;
  position: relative;
  gap: var(--kendo-chat-toolbar-spacing, var(--kendo-spacing-2, 0.5rem));
}
.k-chat-toolbar::before,
.k-chat .k-toolbar-box::before {
  display: none;
}
.k-chat-toolbar .k-button-list,
.k-chat .k-toolbar-box .k-button-list {
  display: flex;
  flex-flow: row nowrap;
  overflow: hidden;
  scroll-behavior: smooth;
}
.k-chat-toolbar .k-button,
.k-chat .k-toolbar-box .k-button {
  flex: none;
}
.k-chat-toolbar .k-scroll-button,
.k-chat .k-toolbar-box .k-scroll-button {
  padding-block: 0;
  padding-inline: var(--kendo-chat-scroll-button, var(--kendo-spacing-2, 0.5rem));
  height: 100%;
  aspect-ratio: auto;
  position: absolute;
  z-index: 2;
  top: 0;
}
.k-chat-toolbar .k-scroll-button .k-button-icon,
.k-chat .k-toolbar-box .k-scroll-button .k-button-icon {
  min-width: auto;
  min-height: auto;
}
.k-chat-toolbar .k-scroll-button-left,
.k-chat .k-toolbar-box .k-scroll-button-left {
  left: 0;
}
.k-chat-toolbar .k-scroll-button-right,
.k-chat .k-toolbar-box .k-scroll-button-right {
  right: 0;
}

.k-chat {
  border-color: var(--kendo-chat-border, color-mix(in srgb, var(--kendo-color-border, #8a8886) 16%, transparent));
  color: var(--kendo-chat-text, var(--kendo-color-on-app-surface, #323130));
  background-color: var(--kendo-chat-bg, var(--kendo-color-surface, #faf9f8));
}
.k-chat .k-timestamp {
  color: var(--kendo-chat-timestamp-text, var(--kendo-subtle-text, inherit));
  background-color: var(--kendo-chat-timestamp-bg, normal);
}
.k-chat .k-author {
  font-weight: bold;
}
.k-chat .k-chat-bubble {
  border-color: var(--kendo-chat-bubble-border, var(--kendo-component-bg, inherit));
  color: var(--kendo-chat-bubble-text, var(--kendo-component-text, inherit));
  background-color: var(--kendo-chat-bubble-bg, var(--kendo-component-bg, inherit));
  box-shadow: var(--kendo-chat-bubble-shadow, var(--kendo-box-shadow-depth-1, none));
  transition: var(--kendo-chat-transition, var(--kendo-transition, inherit));
  order: -1;
}
.k-chat .k-chat-bubble a {
  color: var(--kendo-chat-link-text, var(--kendo-link-text, inherit));
}
.k-chat .k-chat-bubble a:hover {
  color: var(--kendo-chat-link-hover-text, var(--kendo-link-hover-text, inherit));
}
.k-chat .k-chat-bubble:hover {
  box-shadow: var(--kendo-chat-bubble-hover-shadow, var(--kendo-box-shadow-depth-2, none));
}
.k-chat .k-selected .k-chat-bubble {
  box-shadow: var(--kendo-chat-bubble-selected-shadow, var(--kendo-box-shadow-depth-3, none));
}
.k-chat .k-alt .k-chat-bubble {
  border-color: var(--kendo-chat-alt-bubble-border, var(--kendo-color-primary, #0078d4));
  color: var(--kendo-chat-alt-bubble-text, var(--kendo-component-bg, inherit));
  background-color: var(--kendo-chat-alt-bubble-bg, var(--kendo-color-primary, #0078d4));
  box-shadow: var(--kendo-chat-alt-bubble-shadow, var(--kendo-box-shadow-depth-1, none));
}
.k-chat .k-alt .k-chat-bubble:hover {
  box-shadow: var(--kendo-chat-alt-bubble-hover-shadow, var(--kendo-box-shadow-depth-2, none));
}
.k-chat .k-alt .k-selected .k-chat-bubble {
  box-shadow: var(--kendo-chat-alt-bubble-selected-shadow, var(--kendo-box-shadow-depth-3, none));
}
.k-chat .k-quick-reply {
  border-color: var(--kendo-chat-quick-reply-border, var(--kendo-color-primary, #0078d4));
  color: var(--kendo-chat-quick-reply-text, var(--kendo-color-primary, #0078d4));
  background-color: var(--kendo-chat-quick-reply-bg, transparent);
}
.k-chat .k-quick-reply:hover, .k-chat .k-quick-reply.k-hover {
  border-color: var(--kendo-chat-quick-reply-hover-border, var(--kendo-color-primary, #0078d4));
  color: var(--kendo-chat-quick-reply-hover-text, var(--kendo-component-bg, inherit));
  background-color: var(--kendo-chat-quick-reply-hover-bg, var(--kendo-color-primary, #0078d4));
}
.k-chat .k-quick-reply:focus::after, .k-chat .k-quick-reply.k-focus::after {
  outline-color: var(--kendo-chat-quick-reply-focus-outline, initial);
}

.k-chat-toolbar,
.k-chat .k-toolbar-box {
  border-color: var(--kendo-chat-toolbar-border, inherit);
  color: var(--kendo-chat-toolbar-text, var(--kendo-component-text, inherit));
  background-color: var(--kendo-chat-toolbar-bg, var(--kendo-color-surface, #faf9f8));
}

.k-mediaplayer {
  border-width: var(--kendo-media-player-border-width, 1px);
  border-style: solid;
  box-sizing: border-box;
  outline: 0;
  font-family: var(--kendo-media-player-font-family, var(--kendo-font-family, inherit));
  font-size: var(--kendo-media-player-font-size, var(--kendo-font-size, inherit));
  line-height: var(--kendo-media-player-line-height, var(--kendo-line-height, normal));
  display: block;
  position: relative;
  -webkit-touch-callout: none;
  -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
}
.k-mediaplayer *,
.k-mediaplayer *::before,
.k-mediaplayer *::after {
  box-sizing: border-box;
}
.k-mediaplayer > iframe {
  width: 100%;
  height: 100%;
  border: 0;
  vertical-align: top;
}

.k-mediaplayer-overlay {
  height: 100%;
}

.k-mediaplayer-titlebar {
  font-size: var(--kendo-media-player-title-font-size, var(--kendo-font-size-xl, inherit));
  padding-inline: var(--kendo-media-player-titlebar-padding-x, var(--kendo-spacing-2, 0.5rem));
  padding-block: var(--kendo-media-player-titlebar-padding-y, var(--kendo-spacing-2, 0.5rem));
  position: absolute;
  z-index: 2;
  top: 0;
  left: 0;
  right: 0;
}

.k-mediaplayer-toolbar-wrap {
  position: absolute;
  z-index: 2;
  bottom: 0;
  left: 0;
  right: 0;
}

.k-mediaplayer-toolbar {
  border-width: 0;
  width: 100% !important;
  box-shadow: none;
}
.k-mediaplayer-toolbar .k-dropdown-list, .k-mediaplayer-toolbar .k-dropdown,
.k-mediaplayer-toolbar .k-dropdownlist {
  width: auto;
}

.k-mediaplayer-time-wrap {
  flex: 1;
}

.k-mediaplayer-volume {
  width: 100px;
}

.k-mediaplayer-seekbar {
  width: 100%;
  position: absolute;
  z-index: 3;
  top: 0;
  left: 0;
  transform: translateY(-50%);
}

.k-mediaplayer-fullscreen {
  z-index: 10000;
  position: fixed;
  top: 0;
  left: 0;
  width: 100% !important;
  height: 100% !important;
}

.k-mediaplayer {
  border-color: var(--kendo-media-player-border, var(--kendo-component-border, inherit));
  color: var(--kendo-media-player-text, var(--kendo-component-text, inherit));
  background-color: var(--kendo-media-player-bg, var(--kendo-component-bg, inherit));
}

.k-mediaplayer-overlay {
  background-color: var(--kendo-media-player-overlay-bg, var(--kendo-color-base-emphasis, #605e5c));
}

.k-mediaplayer-titlebar {
  color: var(--kendo-media-player-titlebar-text, var(--kendo-component-bg, inherit));
  background-color: var(--kendo-media-player-titlebar-bg, color-mix(in srgb, var(--kendo-color-on-app-surface, #323130) 40%, transparent));
}

.k-mediaplayer-quality {
  border-color: var(--kendo-media-player-quality-border, var(--kendo-color-border, #8a8886));
}

.k-timeline {
  box-sizing: border-box;
  outline: 0;
  font-family: var(--kendo-timeline-font-family, var(--kendo-font-family, inherit));
  font-size: var(--kendo-timeline-font-size, var(--kendo-font-size, inherit));
  line-height: var(--kendo-timeline-line-height, var(--kendo-line-height, normal));
  display: block;
  background-color: transparent;
  -webkit-touch-callout: none;
  -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
}
.k-timeline *,
.k-timeline *::before,
.k-timeline *::after, .k-timeline::before, .k-timeline::after {
  box-sizing: border-box;
}
.k-timeline ul {
  margin: 0 0 1px;
  padding: 0;
}
.k-timeline ul li {
  list-style-type: none;
}
.k-timeline .k-timeline-flag {
  display: inline-block;
  text-align: center;
  padding-block: var(--kendo-timeline-flag-padding-y, var(--kendo-spacing-2, 0.5rem));
  padding-inline: var(--kendo-timeline-flag-padding-x, var(--kendo-spacing-2, 0.5rem));
  border-radius: var(--kendo-timeline-flag-border-radius, var(--kendo-spacing-0\.5, 0.125rem));
  line-height: var(--kendo-timeline-flag-line-height, var(--kendo-line-height, normal));
  min-width: var(--kendo-timeline-flag-min-width, var(--kendo-spacing-20, 5rem));
  max-width: var(--kendo-timeline-flag-max-width, calc(var(--kendo-spacing-20, 5rem) + 2 * var(--kendo-spacing-10, 2.5rem)));
  position: relative;
  z-index: 1;
}
.k-timeline .k-timeline-circle {
  width: var(--kendo-timeline-circle-width, var(--kendo-spacing-4, 1rem));
  height: var(--kendo-timeline-circle-height, var(--kendo-spacing-4, 1rem));
  border-radius: 50%;
  flex-shrink: 0;
  position: relative;
  z-index: 1;
}
.k-timeline.k-timeline-dates-hidden .k-timeline-date {
  display: none;
}
.k-timeline.k-timeline-collapsible .k-card-header {
  cursor: pointer;
}
.k-timeline.k-timeline-collapsible .k-event-collapse {
  display: flex;
}

.k-timeline-card .k-card {
  position: relative;
  overflow: visible;
}
.k-timeline-card .k-card .k-card-header {
  overflow: visible;
  border-bottom: 0;
}
.k-timeline-card .k-card .k-card-header + .k-card-body {
  padding-block-start: 0;
}
.k-timeline-card .k-card .k-card-body {
  overflow-y: auto;
  scrollbar-width: thin;
}
.k-timeline-card .k-card .k-card-body::-webkit-scrollbar {
  width: 5px;
}
.k-timeline-card .k-card .k-card-body::-webkit-scrollbar-thumb {
  border-radius: var(--kendo-timeline-flag-border-radius, var(--kendo-spacing-0\.5, 0.125rem));
}
.k-timeline-card .k-timeline-card-callout.k-callout-w, .k-timeline-card .k-timeline-card-callout.k-callout-e {
  top: var(--kendo-timeline-track-event-offset, var(--kendo-spacing-8, 2rem));
}

.k-timeline-vertical,
.k-timeline-horizontal {
  padding-block: 0;
  padding-inline: var(--kendo-timeline-spacing-x, var(--kendo-spacing-10, 2.5rem));
  margin-block: var(--kendo-timeline-spacing-y, var(--kendo-spacing-10, 2.5rem));
  margin-inline: 0;
  width: 100%;
  position: relative;
  border: 0;
}

.k-timeline-vertical::after,
.k-timeline-horizontal .k-timeline-track-wrap::after {
  content: "";
  position: absolute;
  top: 0;
  border-width: var(--kendo-timeline-track-border-width, 1px);
  border-style: solid;
}

.k-timeline-vertical {
  padding-inline-start: var(--kendo-timeline-vertical-padding-with-dates-calc, calc(calc(var(--kendo-spacing-10, 2.5rem) + (var(--kendo-spacing-20, 5rem) - var(--kendo-spacing-1\.5, 0.375rem)) / 2) + calc(var(--kendo-spacing-12, 3rem) + var(--kendo-spacing-0\.5, 0.125rem))));
}
.k-timeline-vertical.k-timeline-dates-hidden {
  padding-inline-start: var(--kendo-timeline-vertical-padding-calc, calc(var(--kendo-spacing-10, 2.5rem) + (var(--kendo-spacing-20, 5rem) - var(--kendo-spacing-1\.5, 0.375rem)) / 2));
}
.k-timeline-vertical::after {
  height: 100%;
  width: var(--kendo-timeline-track-size, var(--kendo-spacing-1\.5, 0.375rem));
  transform: translateX(-50%);
  border-radius: var(--kendo-timeline-vertical-border-radius, var(--kendo-border-radius-lg, 0.5rem));
}
.k-timeline-vertical .k-timeline-flag-wrap {
  display: flex;
  align-items: center;
}
.k-timeline-vertical .k-timeline-flag-wrap:first-child {
  padding-block-start: var(--kendo-timeline-spacing-y, var(--kendo-spacing-10, 2.5rem));
}
.k-timeline-vertical .k-timeline-flag {
  transform: translateX(-50%);
}
.k-timeline-vertical .k-timeline-date-wrap {
  position: absolute;
  padding-inline-end: var(--kendo-timeline-items-padding, var(--kendo-spacing-4, 1rem));
  margin-block-start: var(--kendo-timeline-track-event-offset, var(--kendo-spacing-8, 2rem));
  transform: translate(-100%, -50%);
  text-align: end;
}
.k-timeline-vertical .k-timeline-event {
  display: flex;
  align-items: flex-start;
  padding-inline: 0;
  padding-block: var(--kendo-timeline-spacing-y, var(--kendo-spacing-10, 2.5rem));
}
.k-timeline-vertical .k-timeline-card {
  padding-inline-start: var(--kendo-timeline-items-padding, var(--kendo-spacing-4, 1rem));
}
.k-timeline-vertical .k-timeline-card .k-card {
  margin-inline-start: var(--kendo-timeline-items-padding, var(--kendo-spacing-4, 1rem));
  min-height: var(--kendo-timeline-event-min-height-calc, calc(2 * (var(--kendo-spacing-8, 2rem) - 0px)));
  width: var(--kendo-timeline-event-width, 400px);
  max-width: 100%;
}
.k-timeline-vertical .k-timeline-card .k-card .k-card-header {
  border-radius: 0;
}
.k-timeline-vertical .k-timeline-card .k-card .k-card-title, .k-timeline-vertical .k-timeline-card .k-card .k-popover-header {
  display: flex;
  justify-content: space-between;
}
.k-timeline-vertical .k-timeline-card .k-card .k-card-title .k-event-title, .k-timeline-vertical .k-timeline-card .k-card .k-popover-header .k-event-title {
  white-space: nowrap;
  text-overflow: ellipsis;
  overflow: hidden;
}
.k-timeline-vertical .k-timeline-card .k-event-collapse {
  margin-block: calc(var(--kendo-timeline-icon-spacing, var(--kendo-icon-spacing, 0.5rem)) * -1);
  margin-inline: 0;
  transform: rotate(90deg);
  transition: transform 0.2s ease-in-out;
}
.k-timeline-vertical .k-timeline-card.k-collapsed .k-card-body,
.k-timeline-vertical .k-timeline-card.k-collapsed .k-card-actions {
  display: none;
}
.k-timeline-vertical .k-timeline-card.k-collapsed .k-event-collapse {
  transform: rotate(0deg);
}
.k-timeline-vertical .k-timeline-circle {
  margin-block-start: var(--kendo-timeline-track-event-offset, var(--kendo-spacing-8, 2rem));
  margin-inline-end: calc(-1 * var(--kendo-timeline-circle-width, var(--kendo-spacing-4, 1rem)) / 2);
  transform: translate(-50%, -50%);
}
.k-timeline-vertical.k-timeline-alternating {
  padding-inline-start: var(--kendo-timeline-spacing-x, var(--kendo-spacing-10, 2.5rem));
}
.k-timeline-vertical.k-timeline-alternating::after {
  left: 50%;
}
.k-timeline-vertical.k-timeline-alternating .k-timeline-flag-wrap {
  justify-content: center;
}
.k-timeline-vertical.k-timeline-alternating .k-timeline-flag {
  transform: translateX(0);
}
.k-timeline-vertical.k-timeline-alternating .k-timeline-event {
  justify-content: space-between;
}
.k-timeline-vertical.k-timeline-alternating .k-timeline-event.k-reverse {
  flex-direction: row-reverse;
}
.k-timeline-vertical.k-timeline-alternating .k-timeline-event.k-reverse .k-timeline-date-wrap {
  text-align: start;
  padding-inline-end: 0;
  padding-inline-start: var(--kendo-timeline-items-padding, var(--kendo-spacing-4, 1rem));
}
.k-timeline-vertical.k-timeline-alternating .k-timeline-event.k-reverse .k-timeline-card {
  padding-inline-start: 0;
  padding-inline-end: var(--kendo-timeline-items-padding, var(--kendo-spacing-4, 1rem));
}
.k-timeline-vertical.k-timeline-alternating .k-timeline-event.k-reverse .k-timeline-card .k-card {
  margin-inline-start: auto;
  margin-inline-end: var(--kendo-timeline-items-padding, var(--kendo-spacing-4, 1rem));
}
.k-timeline-vertical.k-timeline-alternating .k-timeline-card,
.k-timeline-vertical.k-timeline-alternating .k-timeline-date-wrap {
  flex-basis: 50%;
  min-width: 0;
}
.k-timeline-vertical.k-timeline-alternating .k-timeline-date-wrap {
  position: static;
  transform: translateY(-50%);
}
.k-timeline-vertical.k-timeline-alternating .k-timeline-circle {
  transform: translateY(-50%);
  margin-right: 0;
}

.k-timeline-horizontal .k-timeline-track-item {
  flex: 1 0 20%;
  display: flex;
  align-items: center;
  justify-content: flex-start;
  position: relative;
  flex-direction: column;
}
.k-timeline-horizontal .k-timeline-track-item:hover {
  cursor: pointer;
}
.k-timeline-horizontal .k-timeline-track-item.k-timeline-flag-wrap:hover {
  cursor: default;
}
.k-timeline-horizontal .k-timeline-date-wrap {
  margin-block-start: auto;
  margin-block-end: var(--kendo-timeline-date-margin-bottom, var(--kendo-spacing-2, 0.5rem));
}
.k-timeline-horizontal .k-timeline-card {
  height: 100%;
  padding-inline: 0.5em;
}
.k-timeline-horizontal .k-card {
  max-height: 100%;
}
.k-timeline-horizontal .k-timeline-events-list {
  overflow-x: hidden;
  padding-block-start: var(--kendo-timeline-track-margin-bottom, var(--kendo-spacing-4, 1rem));
}
.k-timeline-horizontal .k-timeline-events-list .k-timeline-scrollable-wrap {
  position: relative;
  height: var(--kendo-timeline-event-height, 600px);
}
.k-timeline-horizontal .k-timeline-events-list .k-timeline-scrollable-wrap .k-timeline-event {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}
.k-timeline-horizontal .k-timeline-track-wrap {
  position: relative;
  padding-block: calc(var(--kendo-timeline-track-arrow-height, var(--kendo-spacing-7\.5, 1.875rem)) / 2);
  padding-inline: 0;
}
.k-timeline-horizontal .k-timeline-track-wrap::after {
  inset-block-start: auto;
  inset-block-end: var(--kendo-timeline-track-bottom-calc, calc(var(--kendo-spacing-7\.5, 1.875rem) / 2 + calc(var(--kendo-spacing-1\.5, 0.375rem) / 2)));
  inset-inline-start: var(--kendo-timeline-track-start-calc, calc(var(--kendo-spacing-7\.5, 1.875rem) - 2 * 1px));
  inset-inline-end: var(--kendo-timeline-track-end-calc, calc(var(--kendo-spacing-7\.5, 1.875rem) - 2 * 1px));
  transform: translateY(-50%);
  height: var(--kendo-timeline-track-size, var(--kendo-spacing-1\.5, 0.375rem));
}
.k-timeline-horizontal .k-timeline-track-wrap .k-timeline-track {
  overflow: hidden;
  margin-block: 0;
  margin-inline: var(--kendo-timeline-track-arrow-width, var(--kendo-spacing-7\.5, 1.875rem));
  position: relative;
  z-index: 2;
}
.k-timeline-horizontal .k-timeline-track-wrap .k-timeline-track .k-timeline-scrollable-wrap {
  transition: transform 1s ease-in-out;
}
.k-timeline-horizontal .k-timeline-track-wrap .k-timeline-flag {
  margin-block-end: var(--kendo-timeline-flag-margin-bottom-calc, calc(var(--kendo-spacing-1\.5, 0.375rem) + 2 * 1px + var(--kendo-spacing-1, 0.25rem) + var(--kendo-spacing-2\.5, 0.625rem)));
  position: relative;
  min-width: var(--kendo-timeline-horizontal-flag-min-width, var(--kendo-spacing-15, 3.75rem));
}
.k-timeline-horizontal .k-timeline-track-wrap .k-timeline-flag::after {
  content: "";
  width: var(--kendo-timeline-flag-callout-width, var(--kendo-spacing-2\.5, 0.625rem));
  height: var(--kendo-timeline-flag-callout-height, var(--kendo-spacing-2\.5, 0.625rem));
  position: absolute;
  left: 50%;
  bottom: 0;
  transform: translate(-50%, 50%) rotate(45deg);
}
.k-timeline-horizontal .k-timeline-scrollable-wrap {
  padding-bottom: var(--kendo-timeline-track-wrap-padding-bottom, calc(var(--kendo-spacing-1\.5, 0.375rem) / 2));
  display: flex;
  outline: 0;
}

.k-timeline-arrow {
  width: var(--kendo-timeline-track-arrow-width, var(--kendo-spacing-7\.5, 1.875rem));
  height: var(--kendo-timeline-track-arrow-height, var(--kendo-spacing-7\.5, 1.875rem));
  border-radius: 50%;
  position: absolute;
  inset-block-end: var(--kendo-timeline-arrow-inset-block-end, calc(var(--kendo-spacing-1\.5, 0.375rem) + calc(var(--kendo-spacing-1\.5, 0.375rem) / 2) + 1px));
  z-index: 3;
  display: flex;
  align-items: center;
  justify-content: center;
}

.k-timeline-arrow-left {
  inset-inline-start: 0;
}

.k-timeline-arrow-right {
  inset-inline-end: 0;
}

.k-timeline-mobile {
  padding-block: 0;
  padding-inline: var(--kendo-timeline-mobile-spacing-x, var(--kendo-spacing-4, 1rem));
  margin-block: var(--kendo-timeline-mobile-spacing-y, var(--kendo-spacing-4, 1rem));
  margin-inline: 0;
}
.k-timeline-mobile .k-timeline-flag {
  max-width: var(--kendo-timeline-mobile-flag-max-width, calc(var(--kendo-spacing-20, 5rem) + 2 * var(--kendo-spacing-4, 1rem)));
}
.k-timeline-mobile.k-timeline-horizontal .k-timeline-flag-wrap {
  display: none;
}
.k-timeline-mobile.k-timeline-vertical {
  padding-inline-start: var(--kendo-timeline-mobile-vertical-padding-with-dates-calc, calc(calc(var(--kendo-spacing-4, 1rem) + (var(--kendo-spacing-20, 5rem) - var(--kendo-spacing-1\.5, 0.375rem)) / 2) + calc(var(--kendo-spacing-12, 3rem) + var(--kendo-spacing-0\.5, 0.125rem))));
}
.k-timeline-mobile.k-timeline-vertical.k-timeline-dates-hidden {
  padding-inline-start: var(--kendo-timeline-mobile-vertical-padding-calc, calc(var(--kendo-spacing-4, 1rem) + (var(--kendo-spacing-20, 5rem) - var(--kendo-spacing-1\.5, 0.375rem)) / 2));
}
.k-timeline-mobile.k-timeline-vertical.k-timeline-alternating {
  padding-inline-start: var(--kendo-timeline-mobile-spacing-x, var(--kendo-spacing-4, 1rem));
}
.k-timeline-mobile.k-timeline-vertical .k-timeline-card {
  width: 100%;
}
.k-timeline-mobile.k-timeline-vertical .k-timeline-card .k-card {
  width: auto;
}

.k-timeline .k-timeline-flag {
  color: var(--kendo-timeline-flag-text, var(--kendo-component-bg, initial));
  background-color: var(--kendo-timeline-flag-bg, var(--kendo-color-primary, #0078d4));
  box-shadow: var(--kendo-timeline-flag-box-shadow, var(--kendo-box-shadow-depth-2, none));
}
.k-timeline .k-timeline-circle {
  background-color: var(--kendo-timeline-circle-bg, var(--kendo-color-primary, #0078d4));
}
.k-timeline .k-timeline-card .k-card-header {
  background-color: var(--kendo-timeline-card-header-bg, var(--kendo-component-bg, initial));
  color: var(--kendo-timeline-card-header-text, var(--kendo-color-on-app-surface, #323130));
}
.k-timeline .k-timeline-card .k-card-body {
  scrollbar-color: var(--kendo-timeline-card-body-scroll-border, color-mix(in srgb, var(--kendo-color-border, #8a8886) 16%, transparent)) var(--kendo-timeline-card-body-scroll-bg, var(--kendo-component-bg, initial));
}
.k-timeline .k-timeline-card .k-card-body::-webkit-scrollbar-track {
  background: var(--kendo-timeline-card-body-scroll-bg, var(--kendo-component-bg, initial));
}
.k-timeline .k-timeline-card .k-card-body::-webkit-scrollbar-thumb {
  background: var(--kendo-timeline-card-body-scroll-bg, var(--kendo-component-bg, initial));
}
.k-timeline .k-timeline-card .k-card-body::-webkit-scrollbar-thumb:hover {
  background: var(--kendo-timeline-card-scroll-thumb-hover, var(--kendo-hover-border, initial));
}
.k-timeline .k-timeline-date {
  color: var(--kendo-timeline-date-body-text, var(--kendo-body-text, initial));
}
.k-timeline .k-timeline-arrow.k-disabled {
  opacity: 1;
  color: var(--kendo-timeline-track-arrow-disabled-text, var(--kendo-disabled-text, initial));
  background-color: var(--kendo-timeline-track-arrow-disabled-bg, var(--kendo-disabled-bg, initial));
  border-color: var(--kendo-timeline-track-arrow-disabled-border, var(--kendo-disabled-border, initial));
}

.k-timeline-vertical::after,
.k-timeline-horizontal .k-timeline-track-wrap::after {
  background-color: var(--kendo-timeline-track-bg, var(--kendo-color-surface, #faf9f8));
  border-color: var(--kendo-timeline-track-border-color, color-mix(in srgb, var(--kendo-color-border, #8a8886) 16%, transparent));
}

.k-timeline-horizontal .k-timeline-flag::after {
  background-color: var(--kendo-timeline-flag-bg, var(--kendo-color-primary, #0078d4));
}

.k-timeline-track-item.k-focus .k-timeline-circle {
  box-shadow: var(--kendo-timeline-flag-box-shadow, var(--kendo-box-shadow-depth-2, none));
}

.k-pdf-viewer {
  border-width: var(--kendo-pdf-viewer-border-width, 1px);
  border-style: solid;
  box-sizing: border-box;
  position: relative;
  outline: 0;
  font-family: var(--kendo-pdf-viewer-font-family, var(--kendo-font-family, inherit));
  font-size: var(--kendo-pdf-viewer-font-size, var(--kendo-font-size, inherit));
  line-height: var(--kendo-pdf-viewer-line-height, var(--kendo-line-height, normal));
  display: flex;
  flex-direction: column;
  overflow: hidden;
  -webkit-touch-callout: none;
  -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
}
.k-pdf-viewer .k-toolbar {
  border-block-start-width: 0;
  border-inline-width: 0;
  border-color: inherit;
  flex: 0 0 auto;
  z-index: 2;
}
.k-pdf-viewer .k-toolbar .k-pager-wrap,
.k-pdf-viewer .k-toolbar .k-pager {
  padding: 0;
  border-width: 0;
  color: inherit;
  background: none;
  overflow: visible;
}

.k-pdf-viewer-canvas {
  display: flex;
  flex-direction: column;
  flex: 1 1 auto;
  outline: none;
}
.k-pdf-viewer-canvas.k-enable-text-select {
  user-select: text;
  cursor: text;
}
.k-pdf-viewer-canvas.k-enable-panning {
  cursor: grab !important;
}
.k-pdf-viewer-canvas.k-enable-panning span::selection {
  background-color: transparent;
}

.k-pdf-viewer-pages {
  flex: 1 1 auto;
}
.k-pdf-viewer-pages .k-page {
  position: relative;
  margin-block: var(--kendo-pdf-viewer-page-spacing, var(--kendo-spacing-7\.5, 1.875rem));
  margin-inline: auto;
  z-index: 1;
}
.k-pdf-viewer-pages .k-page .k-canvas-wrapper {
  overflow: hidden;
  width: 100%;
  height: 100%;
}
.k-pdf-viewer-pages .k-page .k-canvas-wrapper canvas {
  direction: ltr;
}
.k-pdf-viewer-pages .k-page .k-canvas-wrapper svg {
  transform: none;
}
.k-pdf-viewer-pages .k-page .k-canvas-wrapper .k-highlight {
  position: absolute;
  mix-blend-mode: multiply;
  fill-opacity: 1;
}
.k-pdf-viewer-pages .k-page .k-canvas-wrapper .k-highlight-outline {
  position: absolute;
  fill: none;
  stroke-width: 2px;
  stroke-dasharray: 2;
}
.k-pdf-viewer-pages .k-page .k-text-layer {
  position: absolute;
  top: 0;
  left: 0;
  opacity: 0.2;
  overflow: hidden;
}
.k-pdf-viewer-pages .k-page .k-text-layer .k-marked-content > span,
.k-pdf-viewer-pages .k-page .k-text-layer > span, .k-pdf-viewer-pages .k-page .k-text-layer br {
  position: absolute;
  line-height: var(--kendo-pdf-viewer-selection-line-height, var(--kendo-line-height-sm, normal));
  transform-origin: 0% 0%;
  color: transparent;
  white-space: pre;
  cursor: text;
}
.k-pdf-viewer-pages .k-page .k-text-layer .k-marked-content {
  top: 0;
  height: 0;
}
.k-pdf-viewer-pages .k-page .k-text-layer .k-end-of-content {
  display: block;
  position: absolute;
  inset: 100% 0 0;
  z-index: 0;
  cursor: default;
  user-select: none;
}
.k-pdf-viewer-pages .k-page .k-text-layer .k-search-highlight-mark {
  color: transparent;
}
.k-pdf-viewer-pages .k-page .k-text-layer .k-highlighting {
  touch-action: none;
}
.k-pdf-viewer-pages .k-page .k-annotation-layer {
  position: absolute;
  top: 0;
  left: 0;
  transform-origin: 0 0;
  pointer-events: none;
}
.k-pdf-viewer-pages .k-page .k-annotation-layer section {
  position: absolute;
  pointer-events: auto;
}
.k-pdf-viewer-pages .k-page .k-annotation-layer .k-annotation-text-content {
  position: absolute;
  width: 100%;
  height: 100%;
  opacity: 0;
  color: transparent;
  user-select: none;
  pointer-events: none;
}
.k-pdf-viewer-pages .k-page .k-annotation-layer .k-link-annotation > a {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}
.k-pdf-viewer-pages .k-page .k-annotation-layer .k-text-widget-annotation .k-annotation-content {
  position: absolute;
  width: 100%;
  height: 100%;
  pointer-events: none;
}
.k-pdf-viewer-pages .k-page .k-annotation-editor-layer {
  background: transparent;
  position: absolute;
  inset: 0;
  transform-origin: 0 0;
  cursor: auto;
}
.k-pdf-viewer-pages .k-page .k-annotation-editor-layer .k-selected {
  z-index: 100000 !important;
}
.k-pdf-viewer-pages .k-page .k-annotation-editor-layer .k-highlight-editor {
  position: absolute;
  background: transparent;
  z-index: 1;
  cursor: auto;
  max-width: 100%;
  max-height: 100%;
  border: none;
  outline: none;
  pointer-events: none;
  transform-origin: 0 0;
}
.k-pdf-viewer-pages .k-page .k-annotation-editor-layer .k-highlight-editor .k-internal {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  pointer-events: auto;
}
.k-pdf-viewer-pages .k-page .k-annotation-editor-layer .k-highlight-editor.k-highlight-editor-disabled .k-internal {
  pointer-events: none;
}
.k-pdf-viewer-pages .k-page .k-annotation-editor-layer .k-free-text-editor {
  position: absolute;
  background: transparent;
  z-index: 1;
  transform-origin: 0 0;
  cursor: text;
  caret-color: var(--kendo-pdf-viewer-free-text-annotation-text, rgba(124, 22, 27, 0.7));
  max-width: 100%;
  max-height: 100%;
  border: solid 2px transparent;
}
.k-pdf-viewer-pages .k-page .k-annotation-editor-layer .k-free-text-editor.k-selected.k-draggable {
  cursor: move;
}
.k-pdf-viewer-pages .k-page .k-annotation-editor-layer .k-free-text-editor.k-selected .k-internal {
  border-radius: 0px;
  outline: 2px dashed var(--kendo-pdf-viewer-free-text-annotation-border, var(--kendo-color-primary, #0078d4));
}
.k-pdf-viewer-pages .k-page .k-annotation-editor-layer .k-free-text-editor .k-internal {
  background: transparent;
  border: none;
  inset: 0;
  overflow: visible;
  white-space: nowrap;
  user-select: none;
}
.k-pdf-viewer-pages .k-page .k-annotation-editor-layer .k-free-text-editor .k-internal:empty::before {
  content: attr(default-content);
}
.k-pdf-viewer-pages .k-page .k-annotation-editor-layer-disabled {
  pointer-events: none;
}
.k-pdf-viewer-pages .k-blank-page {
  margin: 0;
  display: flex;
  flex-flow: column nowrap;
  width: 100%;
  height: 100%;
  align-items: center;
  justify-content: center;
  background-color: inherit !important;
}
.k-pdf-viewer-pages .k-blank-page .k-upload,
.k-pdf-viewer-pages .k-blank-page .k-dropzone,
.k-pdf-viewer-pages .k-blank-page .k-dropzone-inner {
  border: 0;
  background: none;
}

.k-pdf-viewer-canvas > .k-search-panel {
  width: max-content;
  margin-block-start: var(--kendo-pdf-viewer-search-panel-margin-y, calc((calc(var(--kendo-line-height, normal) * 1em + var(--kendo-spacing-1\.5, 0.375rem) * 2 + 1px * 2) + 2 * 1px + 2 * var(--kendo-spacing-3, 0.75rem)) * -1));
  padding-block: var(--kendo-pdf-viewer-search-panel-padding-y, var(--kendo-spacing-3, 0.75rem));
  padding-inline: var(--kendo-pdf-viewer-search-panel-padding-x, var(--kendo-spacing-3, 0.75rem));
  border-width: var(--kendo-pdf-viewer-search-panel-border-width, 1px);
  border-style: solid;
  border-radius: var(--kendo-pdf-viewer-search-panel-border-radius, var(--kendo-border-radius-md, 0.25rem));
  display: flex;
  gap: var(--kendo-pdf-viewer-search-panel-spacing, var(--kendo-spacing-2, 0.5rem));
  flex-flow: row nowrap;
  flex: 0 0 auto;
  justify-content: flex-start;
  align-items: center;
  z-index: 10;
  cursor: default;
}
.k-pdf-viewer-canvas > .k-search-panel .k-search-dialog-draghandle {
  cursor: move;
  margin-left: 0;
}
.k-pdf-viewer-canvas > .k-search-panel .k-textbox {
  width: 10em;
  flex: none;
}
.k-pdf-viewer-canvas > .k-search-panel .k-textbox .k-button {
  border-width: 0;
}
.k-pdf-viewer-canvas > .k-search-panel .k-search-matches {
  display: inline-flex;
  gap: var(--kendo-pdf-viewer-search-panel-matches-spacing, var(--kendo-icon-spacing, 0.5rem));
}

.k-pdf-viewer-annotation-editor-toolbar > .k-toolbar {
  width: min-content;
  border-bottom-width: 0;
}

.k-pdf-viewer-annotation-editor {
  padding-block: var(--kendo-pdf-viewer-popup-padding-y, var(--kendo-spacing-2, 0.5rem));
  padding-inline: var(--kendo-pdf-viewer-popup-padding-x, var(--kendo-spacing-2, 0.5rem));
}
.k-pdf-viewer-annotation-editor .k-column-menu-group-header {
  padding-inline: 0;
}
.k-pdf-viewer-annotation-editor .k-form-field {
  margin-top: 0;
}

.k-pdf-viewer {
  border-color: var(--kendo-pdf-viewer-border, var(--kendo-component-border, initial));
  color: var(--kendo-pdf-viewer-text, var(--kendo-component-text, initial));
  background-color: var(--kendo-pdf-viewer-bg, var(--kendo-component-bg, initial));
}
.k-pdf-viewer .k-pdf-viewer-canvas {
  border-color: var(--kendo-pdf-viewer-canvas-border, var(--kendo-component-border, inherit));
  color: var(--kendo-pdf-viewer-canvas-text, var(--kendo-component-text, inherit));
  background-color: var(--kendo-pdf-viewer-canvas-bg, var(--kendo-color-surface, #faf9f8));
}
.k-pdf-viewer .k-page {
  border-color: var(--kendo-pdf-viewer-page-border, var(--kendo-component-border, inherit));
  color: var(--kendo-pdf-viewer-page-text, var(--kendo-component-text, inherit));
  background-color: var(--kendo-pdf-viewer-page-bg, var(--kendo-component-bg, inherit));
  box-shadow: var(--kendo-pdf-viewer-page-shadow, var(--kendo-box-shadow-depth-3, none));
}
.k-pdf-viewer .k-blank-page > .k-icon {
  color: var(--kendo-pdf-viewer-icon-text, var(--kendo-color-subtle, #605e5c));
}
.k-pdf-viewer .k-canvas-wrapper .k-highlight-outline.k-hover, .k-pdf-viewer .k-canvas-wrapper .k-highlight-outline:hover {
  stroke: var(--kendo-pdf-viewer-highlight-annotation-hover-border, var(--kendo-color-primary-hover, #106ebe));
}
.k-pdf-viewer .k-canvas-wrapper .k-highlight-outline.k-selected {
  stroke: var(--kendo-pdf-viewer-highlight-annotation-border, var(--kendo-color-primary, #0078d4));
}
.k-pdf-viewer .k-search-highlight {
  background-color: var(--kendo-pdf-viewer-search-highlight-bg, var(--kendo-component-text, inherit));
}
.k-pdf-viewer .k-search-highlight-mark {
  background-color: var(--kendo-pdf-viewer-search-highlight-mark-bg, yellow);
}
.k-pdf-viewer .k-annotation-editor-layer .k-free-text-editor .k-internal {
  color: var(--kendo-pdf-viewer-free-text-annotation-text, rgba(124, 22, 27, 0.7));
}
.k-pdf-viewer .k-annotation-editor-layer .k-free-text-editor .k-internal:empty::before {
  color: var(--kendo-pdf-viewer-free-text-annotation-placeholder-text, rgba(124, 22, 27, 0.5));
}

.k-pdf-viewer-canvas > .k-search-panel {
  border-color: var(--kendo-pdf-viewer-search-panel-border, var(--kendo-component-border, inherit));
  color: var(--kendo-pdf-viewer-search-panel-text, var(--kendo-component-text, inherit));
  background-color: var(--kendo-pdf-viewer-search-panel-bg, var(--kendo-component-bg, inherit));
  box-shadow: var(--kendo-pdf-viewer-search-panel-shadow, none);
}

.km-scrollview,
.km-scroll-container {
  user-select: none;
  border-collapse: separate;
}

.km-scroll-wrapper {
  position: relative;
}

.km-scroll-header {
  position: absolute;
  z-index: 1001;
  width: 100%;
  top: 0;
  left: 0;
}

.km-scroller-pull {
  width: 100%;
  display: block;
  position: absolute;
  line-height: 3em;
  font-size: 1.4em;
  text-align: center;
  transform: translate3d(0, -3em, 0);
}

.km-scroller-pull .km-template {
  display: inline-block;
  min-width: 200px;
  text-align: start;
}

.km-load-more .km-icon,
.km-widget .km-scroller-pull .km-icon {
  display: inline-block;
  height: 2rem;
  margin-right: 1rem;
  vertical-align: middle;
  width: 2rem;
  font-size: 2rem;
  transform: rotate(0deg);
  transition: transform 300ms linear;
}

.km-widget .km-scroller-release .km-icon {
  transform: rotate(180deg);
}

.km-widget .km-scroller-refresh .km-icon {
  transition: none;
}

.km-touch-scrollbar {
  position: absolute;
  visibility: hidden;
  z-index: 200000;
  height: 0.4em;
  width: 0.4em;
  opacity: 0;
  transform-origin: 0 0;
  transition: opacity 0.3s linear;
}

.k-map .km-touch-scrollbar,
.k-diagram .km-touch-scrollbar {
  display: none;
}

.km-vertical-scrollbar {
  height: 100%;
  right: 2px;
  top: 0;
}

.km-horizontal-scrollbar {
  width: 100%;
  left: 0;
  bottom: 2px;
}

.km-touch-scrollbar {
  background-color: #333333;
}

.k-scrollview {
  border-width: var(--kendo-scrollview-border-width, 0px);
  border-style: solid;
  box-sizing: border-box;
  outline: 0;
  font-family: var(--kendo-scrollview-font-family, var(--kendo-font-family, inherit));
  font-size: var(--kendo-scrollview-font-size, var(--kendo-font-size, inherit));
  line-height: var(--kendo-scrollview-line-height, var(--kendo-line-height, normal));
  position: relative;
  overflow: hidden;
  display: block;
  -webkit-touch-callout: none;
  -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
}

.k-scrollview-wrap {
  position: absolute;
  margin: 0;
  padding: 0;
  height: 100%;
  width: 100%;
  display: flex;
  flex-flow: row nowrap;
  cursor: default;
  white-space: nowrap;
}
.k-scrollview-wrap > .k-scrollview-view {
  display: inline-block;
  overflow: hidden;
  flex-shrink: 0;
}
.k-scrollview-wrap img {
  user-select: none;
}

.k-scrollview-wrap.k-scrollview-animate {
  width: calc(var(--kendo-scrollview-views, 1) * 100%);
  transition-duration: var(--kendo-scrollview-transition-duration, 0.3s);
  transition-timing-function: var(--kendo-scrollview-transition-timing-function, ease-in-out);
  transform: translateX(calc(-100% / var(--kendo-scrollview-views, 1) * (var(--kendo-scrollview-current, 1) - 1)));
}
.k-scrollview-wrap.k-scrollview-animate .k-scrollview-view {
  width: calc(100% / var(--kendo-scrollview-views, 1));
  flex: 0 0 calc(100% / var(--kendo-scrollview-views, 1));
}

:is([dir=rtl], .k-rtl) .k-scrollview-wrap.k-scrollview-animate {
  transform: translateX(calc(100% / var(--kendo-scrollview-views, 1) * (var(--kendo-scrollview-current, 1) - 1)));
}

.k-scrollview-nav-wrap {
  padding: 0;
  margin: 0;
  position: absolute;
  left: 0;
  right: 0;
  bottom: var(--kendo-scrollview-pager-offset, 0px);
  height: var(--kendo-scrollview-pager-height, calc(10px + 0px + var(--kendo-spacing-5, 1.25rem) * 2));
  text-align: center;
}

kendo-scrollview.k-scrollview kendo-scrollview-pager {
  pointer-events: none;
}

kendo-scrollview.k-scrollview .k-scrollview-nav {
  pointer-events: initial;
}

.k-scrollview-nav {
  margin: 0;
  padding: var(--kendo-scrollview-pager-item-spacing, var(--kendo-spacing-5, 1.25rem));
  max-width: 100%;
  box-sizing: border-box;
  line-height: 0;
  text-align: center;
  white-space: nowrap;
  list-style: none;
  display: inline-flex;
  align-items: center;
  overflow-x: scroll;
  overflow-y: hidden;
  pointer-events: initial;
}
.k-scrollview-nav:focus {
  outline: none;
}

.k-scrollview-nav > .k-link {
  margin: 0 calc(var(--kendo-scrollview-pager-item-spacing, var(--kendo-spacing-5, 1.25rem)) / 2);
  padding: 0;
  width: var(--kendo-scrollview-pagebutton-size, 10px);
  height: var(--kendo-scrollview-pagebutton-size, 10px);
  border-width: var(--kendo-scrollview-pager-item-border-width, 0px);
  border-style: solid;
  border-radius: 50%;
  box-sizing: content-box;
  display: inline-block;
  position: relative;
  flex: 0 0 auto;
  cursor: pointer;
  pointer-events: all;
  vertical-align: top;
}
.k-scrollview-nav > .k-link::before {
  content: "";
  width: var(--kendo-scrollview-pagebutton-size, 10px)var(--kendo-scrollview-pager-item-spacing, var(--kendo-spacing-5, 1.25rem));
  height: var(--kendo-scrollview-pagebutton-size, 10px)var(--kendo-scrollview-pager-item-spacing, var(--kendo-spacing-5, 1.25rem));
  display: block;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  pointer-events: initial;
  border-radius: 0;
}

.k-scrollview-next,
.k-scrollview-prev {
  display: table;
  position: absolute;
  padding: 0;
  height: 60%;
  top: 20%;
  text-decoration: none;
  user-select: none;
  cursor: pointer;
}
.k-scrollview-next .k-icon,
.k-scrollview-prev .k-icon {
  display: table-cell;
  overflow: visible;
  margin: 0;
  padding: 0;
  vertical-align: middle;
  font-weight: normal;
}

.k-scrollview-prev {
  inset-inline-start: 0;
}

.k-scrollview-next {
  inset-inline-end: 0;
}

.k-scrollview-animation {
  transition-duration: 0.3s;
  transition-timing-function: ease-in-out;
}

.k-scrollview {
  border-color: var(--kendo-scrollview-border, var(--kendo-component-border, inherit));
  color: var(--kendo-scrollview-text, var(--kendo-component-text, inherit));
  background-color: var(--kendo-scrollview-bg, var(--kendo-component-bg, inherit));
}
.k-scrollview.k-scrollview-dark kendo-scrollview-pager,
.k-scrollview.k-scrollview-dark .k-scrollview-nav-wrap {
  background-color: var(--kendo-scrollview-pager-dark-bg, rgba(0, 0, 0, 0.4));
}
.k-scrollview.k-scrollview-light kendo-scrollview-pager,
.k-scrollview.k-scrollview-light .k-scrollview-nav-wrap {
  background-color: var(--kendo-scrollview-pager-light-bg, rgba(255, 255, 255, 0.4));
}

.k-scrollview:focus,
.k-scrollview-wrap:focus {
  outline: none;
}

.k-scrollview-elements {
  color: var(--kendo-scrollview-navigation-color, var(--kendo-color-app-surface, #ffffff));
}

.k-scrollview-next,
.k-scrollview-prev {
  color: var(--kendo-scrollview-navigation-color, var(--kendo-color-app-surface, #ffffff));
  background-color: var(--kendo-scrollview-navigation-bg, transparent);
  text-shadow: var(--kendo-scrollview-navigation-arrow-shadow, var(--kendo-box-shadow-depth-3, none));
  outline-width: 0;
  -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
}
.k-scrollview-next:focus .k-icon::before, .k-scrollview-next.k-focus .k-icon::before,
.k-scrollview-prev:focus .k-icon::before,
.k-scrollview-prev.k-focus .k-icon::before {
  box-shadow: var(--kendo-scrollview-navigation-focus-shadow, 0 0 0 1px var(--kendo-color-base-emphasis, #605e5c));
}
.k-scrollview-next:hover, .k-scrollview-next.k-hover,
.k-scrollview-prev:hover,
.k-scrollview-prev.k-hover {
  text-shadow: var(--kendo-scrollview-navigation-arrow-hover-shadow, var(--kendo-box-shadow-depth-4, none));
}

.k-scrollview-nav > .k-link {
  background-color: var(--kendo-scrollview-pagebutton-bg, var(--kendo-color-app-surface, #ffffff));
  border: var(--kendo-scrollview-pagebutton-border, var(--kendo-color-app-surface, #ffffff));
}
.k-scrollview-nav > .k-link.k-primary {
  background-color: var(--kendo-scrollview-pagebutton-primary-bg, var(--kendo-color-primary, #0078d4));
  border: var(--kendo-scrollview-pagebutton-primary-border, var(--kendo-color-primary, #0078d4));
}
.k-scrollview-nav > .k-link.k-primary:focus, .k-scrollview-nav > .k-link.k-primary.k-focus {
  box-shadow: var(--kendo-scrollview-pagebutton-primary-focus-shadow, 0 0 0 2px var(--kendo-color-base-emphasis, #605e5c));
}
.k-scrollview-nav > .k-link.k-primary:hover, .k-scrollview-nav > .k-link.k-primary.k-hover {
  box-shadow: var(--kendo-scrollview-pagebutton-primary-hover-shadow, 0 0 0 2px var(--kendo-color-base, #ffffff));
}
.k-scrollview-nav > .k-link:focus, .k-scrollview-nav > .k-link.k-focus {
  box-shadow: var(--kendo-scrollview-pagebutton-focus-shadow, 0 0 0 1px var(--kendo-color-base-emphasis, #605e5c));
}
.k-scrollview-nav > .k-link:hover, .k-scrollview-nav > .k-link.k-hover {
  box-shadow: var(--kendo-scrollview-pagebutton-hover-shadow, 0 0 0 1px var(--kendo-color-base, #ffffff));
}

.k-prompt {
  display: flex;
  flex-direction: column;
  position: relative;
  overflow: hidden;
}
.k-prompt .k-toolbar {
  border-top-width: 0;
  border-inline-width: 0;
}

.k-prompt-content {
  padding-block: var(--kendo-prompt-content-padding-y, var(--kendo-spacing-4, 1rem));
  padding-inline: var(--kendo-prompt-content-padding-x, var(--kendo-spacing-4, 1rem));
  display: flex;
  flex-flow: column nowrap;
  flex: 1 1 auto;
  gap: var(--kendo-prompt-content-spacing, var(--kendo-spacing-4, 1rem));
  overflow: auto;
}

.k-prompt-view {
  display: flex;
  flex-direction: column;
  flex: 1 1 auto;
  gap: var(--kendo-prompt-content-spacing, var(--kendo-spacing-4, 1rem));
}

.k-prompt-expander {
  display: flex;
  flex-direction: column;
  flex: 1;
  align-items: flex-start;
  gap: var(--kendo-prompt-expander-spacing, var(--kendo-spacing-2, 0.5rem));
}

.k-prompt-expander-content {
  display: flex;
  flex-flow: column;
  flex: 0 0 auto;
  gap: var(--kendo-prompt-expander-spacing, var(--kendo-spacing-2, 0.5rem));
  align-self: stretch;
}

.k-prompt-suggestion {
  border-width: 1px;
  border-style: solid;
  border-radius: var(--kendo-prompt-suggestion-border-radius, var(--kendo-border-radius-md, 0.25rem));
  padding-block: var(--kendo-prompt-suggestion-padding-y, var(--kendo-spacing-2, 0.5rem));
  padding-inline: var(--kendo-prompt-suggestion-padding-x, var(--kendo-spacing-2, 0.5rem));
  cursor: pointer;
}

.k-prompt-setting {
  display: flex;
  flex-direction: column;
}

.k-prompt-actions.k-actions, .k-prompt-actions.k-edit-buttons,
.k-prompt-actions.k-action-buttons,
.k-prompt-actions.k-columnmenu-actions, .k-prompt-actions.k-form-buttons {
  margin: 0;
}

.k-prompt {
  border-color: var(--kendo-prompt-border, var(--kendo-component-border, initial));
  color: var(--kendo-prompt-text, var(--kendo-component-text, initial));
  background-color: var(--kendo-prompt-bg, var(--kendo-component-bg, initial));
}

.k-prompt-header {
  border-color: var(--kendo-prompt-header-border, var(--kendo-component-border, initial));
  color: var(--kendo-prompt-header-text, var(--kendo-component-text, initial));
  background-color: var(--kendo-prompt-header-bg, var(--kendo-component-bg, initial));
}

.k-prompt-content {
  border-color: var(--kendo-prompt-content-border, var(--kendo-component-border, initial));
  color: var(--kendo-prompt-content-text, var(--kendo-neutral-190, inherit));
  background-color: var(--kendo-prompt-content-bg, var(--kendo-neutral-10, inherit));
}

.k-prompt-suggestion {
  border-color: var(--kendo-prompt-suggestion-border, var(--kendo-component-border, initial));
  color: var(--kendo-prompt-suggestion-text, var(--kendo-component-text, initial));
  background-color: var(--kendo-prompt-suggestion-bg, var(--kendo-component-bg, initial));
  box-shadow: var(--kendo-prompt-suggestion-shadow, var(--kendo-elevation-1, 0 0.3px 0.9px rgba(0, 0, 0, 0.1), 0 1.6px 3.6px rgba(0, 0, 0, 0.13)));
}

.k-map {
  height: var(--kendo-map-height, 600px);
  box-sizing: border-box;
  border-width: var(--kendo-map-border-width, 0px);
  border-style: solid;
  font-size: var(--kendo-map-font-size, var(--kendo-font-size, inherit));
  line-height: var(--kendo-map-line-height, var(--kendo-line-height, normal));
  font-family: var(--kendo-map-font-family, var(--kendo-font-family, normal));
}
.k-map *,
.k-map *::before,
.k-map *::after {
  box-sizing: border-box;
}
.k-map .km-scroll-wrapper {
  width: 100%;
  height: 100%;
  user-select: none;
  position: absolute;
}
.k-map .km-scroll-container {
  height: 100%;
}
.k-map .k-touch-scrollbar {
  display: none;
}
.k-map .k-layer {
  position: absolute;
  left: 0;
  top: 0;
}
.k-map .k-marker {
  transform: translate(-50%, -100%);
  cursor: pointer;
  position: absolute;
  overflow: visible;
}
.k-map .k-attribution {
  padding-inline: var(--kendo-map-attribution-padding-x, var(--kendo-spacing-1, 0.25rem));
  padding-block: var(--kendo-map-attribution-padding-y, var(--kendo-spacing-0\.5, 0.125rem));
  border-width: 0;
  font-size: var(--kendo-map-attribution-font-size, calc(var(--kendo-font-size, inherit) * 0.75));
  z-index: 1000;
}

.k-map-controls {
  position: absolute;
  display: flex;
  align-items: center;
}

.k-navigator {
  margin-inline: var(--kendo-map-navigator-margin-x, var(--kendo-spacing-4, 1rem));
  margin-block: var(--kendo-map-navigator-margin-y, var(--kendo-spacing-4, 1rem));
  width: var(--kendo-map-navigator-width, calc(var(--kendo-icon-size, 1rem) * 3 + var(--kendo-spacing-0\.5, 0.125rem) * 2));
  height: var(--kendo-map-navigator-width, calc(var(--kendo-icon-size, 1rem) * 3 + var(--kendo-spacing-0\.5, 0.125rem) * 2));
  border-width: var(--kendo-map-navigator-border-width, 1px);
  border-style: solid;
  box-sizing: border-box;
  border-radius: 50%;
  position: relative;
}
.k-navigator .k-button {
  padding: 0;
  width: auto;
  height: auto;
  line-height: 1;
  box-shadow: none;
  position: absolute;
}
.k-navigator .k-button .k-icon {
  min-width: 0;
  min-height: 0;
}
.k-navigator .k-navigator-n,
.k-navigator .k-navigator-up {
  transform: translateX(-50%);
  top: var(--kendo-map-navigator-padding, var(--kendo-spacing-0\.5, 0.125rem));
  left: 50%;
}
.k-navigator .k-navigator-e,
.k-navigator .k-navigator-right {
  transform: translateY(-50%);
  right: var(--kendo-map-navigator-padding, var(--kendo-spacing-0\.5, 0.125rem));
  top: 50%;
}
.k-navigator .k-navigator-s,
.k-navigator .k-navigator-down {
  transform: translateX(-50%);
  bottom: var(--kendo-map-navigator-padding, var(--kendo-spacing-0\.5, 0.125rem));
  left: 50%;
}
.k-navigator .k-navigator-w,
.k-navigator .k-navigator-left {
  transform: translateY(-50%);
  left: var(--kendo-map-navigator-padding, var(--kendo-spacing-0\.5, 0.125rem));
  top: 50%;
}

.k-zoom-control {
  margin-inline-start: var(--kendo-map-zoom-control-margin, var(--kendo-spacing-4, 1rem));
  border: 0;
  background: none;
  display: flex;
}

.k-pdf-export .k-navigator,
.k-pdf-export .k-zoom-control {
  display: none;
}

.k-map {
  border-color: var(--kendo-map-border, var(--kendo-color-border, #8a8886));
  color: var(--kendo-map-text, var(--kendo-component-text, inherit));
  background-color: var(--kendo-map-bg, var(--kendo-component-bg, transparent));
}
.k-map .k-navigator,
.k-map .k-zoom-control {
  background-color: var(--kendo-map-navigator-bg, var(--kendo-color-app-surface, #ffffff));
  border-color: var(--kendo-map-navigator-border, var(--kendo-color-border, #8a8886));
}
.k-map .k-navigator .k-button,
.k-map .k-zoom-control .k-button {
  color: var(--kendo-map-navigator-text, var(--kendo-color-on-app-surface, #323130));
}
.k-map .k-marker {
  color: var(--kendo-map-marker-fill, var(--kendo-color-primary, #0078d4));
}
.k-map .k-attribution {
  background-color: var(--kendo-map-attribution-bg, var(--kendo-color-app-surface, #ffffff));
}

.k-orgchart {
  width: 100%;
  padding-inline: var(--kendo-orgchart-padding-x, var(--kendo-spacing-6, 1.5rem));
  padding-block: var(--kendo-orgchart-padding-y, var(--kendo-spacing-6, 1.5rem));
  box-sizing: border-box;
  font-family: var(--kendo-orgchart-font-family, var(--kendo-font-family, inherit));
  font-size: var(--kendo-orgchart-font-size, var(--kendo-font-size, inherit));
  line-height: var(--kendo-orgchart-line-height, var(--kendo-line-height, normal));
  overflow: auto;
}
.k-orgchart *,
.k-orgchart *::before,
.k-orgchart *::after {
  box-sizing: border-box;
}

.k-orgchart-container {
  margin-block: 0;
  margin-inline: auto;
  width: 100%;
  height: 100%;
  position: relative;
}

.k-orgchart-group {
  gap: var(--kendo-orgchart-group-spacing, var(--kendo-spacing-6, 1.5rem));
}

.k-orgchart-group.k-vstack > .k-orgchart-node-container, .k-orgchart-group.k-vbox > .k-orgchart-node-container {
  gap: 0;
}

.k-orgchart-node-container {
  gap: var(--kendo-orgchart-node-spacing, var(--kendo-spacing-6, 1.5rem));
}

.k-orgchart-node-group-container {
  border-radius: var(--kendo-orgchart-node-group-border-radius, var(--kendo-border-radius-md, 0.25rem));
  padding-inline: var(--kendo-orgchart-node-group-padding-x, var(--kendo-spacing-6, 1.5rem));
  padding-block: var(--kendo-orgchart-node-group-padding-y, var(--kendo-spacing-6, 1.5rem));
  border-width: var(--kendo-orgchart-node-group-border-width, 1px);
  border-style: solid;
  outline: 0;
}

.k-orgchart-node-group-title {
  margin-inline: 0;
  margin-block-start: 0;
  margin-block-end: var(--kendo-orgchart-node-group-title-margin-y, var(--kendo-spacing-0, 0px));
  font-size: var(--kendo-orgchart-node-group-title-font-size, var(--kendo-font-size-xl, inherit));
  line-height: var(--kendo-orgchart-node-group-title-line-height, var(--kendo-line-height, normal));
}

.k-orgchart-node-group-subtitle {
  margin-inline: 0;
  margin-block-start: 0;
  margin-block-end: var(--kendo-orgchart-node-group-subtitle-margin-y, calc(var(--kendo-spacing-6, 1.5rem) - var(--kendo-spacing-1, 0.25rem)));
  font-size: var(--kendo-orgchart-node-group-subtitle-font-size, var(--kendo-font-size, inherit));
}

.k-orgchart-card {
  width: var(--kendo-orgchart-card-width, 300px);
  border-width: var(--kendo-orgchart-card-border-width, 0px);
}
.k-orgchart-card .k-card-title, .k-orgchart-card .k-popover-header {
  margin-block-end: var(--kendo-orgchart-card-title-margin-y, var(--kendo-spacing-0, 0px));
  font-size: var(--kendo-orgchart-card-title-font-size, var(--kendo-font-size-lg, inherit));
  line-height: var(--kendo-orgchart-card-title-line-height, var(--kendo-line-height, normal));
}
.k-orgchart-card .k-card-subtitle {
  margin-block-end: var(--kendo-orgchart-card-subtitle-margin-y, var(--kendo-spacing-0, 0px));
  font-size: var(--kendo-orgchart-card-subtitle-font-size, var(--kendo-font-size-sm, inherit));
  line-height: var(--kendo-orgchart-card-subtitle-line-height, var(--kendo-line-height, inherit));
}
.k-orgchart-card .k-card-body {
  padding-inline: var(--kendo-orgchart-card-body-padding-x, calc(var(--kendo-spacing-6, 1.5rem) - var(--kendo-spacing-2, 0.5rem)));
  padding-block: var(--kendo-orgchart-card-body-padding-y, calc(var(--kendo-spacing-6, 1.5rem) - var(--kendo-spacing-2, 0.5rem)));
  border-width: var(--kendo-orgchart-card-body-border-width, 2px 0 0);
  border-style: solid;
  flex-grow: 0;
}
.k-orgchart-card .k-card-body .k-card-title-wrap {
  margin-inline-end: var(--kendo-orgchart-card-body-vbox-margin-x, calc(var(--kendo-spacing-6, 1.5rem) - var(--kendo-spacing-2, 0.5rem)));
  min-width: 0;
  min-height: var(--kendo-orgchart-card-body-vbox-min-height, 3rem);
}
.k-orgchart-card .k-card-title-wrap .k-card-title + .k-spacer, .k-orgchart-card .k-card-title-wrap .k-popover-header + .k-spacer, .k-orgchart-card .k-card-title-wrap .k-card-title + .k-flex, .k-orgchart-card .k-card-title-wrap .k-popover-header + .k-flex {
  flex: 0;
}

.k-orgchart-line {
  background-color: currentColor;
}

.k-orgchart-line-h {
  height: var(--kendo-orgchart-line-size, 1px);
}

.k-orgchart-line-v {
  margin-block: 0;
  margin-inline: auto;
  width: var(--kendo-orgchart-line-size, 1px);
  height: var(--kendo-orgchart-line-v-height, var(--kendo-spacing-6, 1.5rem));
}

.k-orgchart-button {
  z-index: 1;
}

.k-orgchart {
  border-color: var(--kendo-orgchart-border, var(--kendo-component-border, initial));
  color: var(--kendo-orgchart-text, var(--kendo-component-text, initial));
  background-color: var(--kendo-orgchart-bg, var(--kendo-component-bg, initial));
}

.k-orgchart-card {
  box-shadow: var(--kendo-orgchart-card-shadow, var(--kendo-box-shadow-depth-1, none));
}
.k-orgchart-card .k-card-body {
  border-color: var(--kendo-orgchart-card-body-border-color, transparent);
}
.k-orgchart-card:focus, .k-orgchart-card.k-focus {
  box-shadow: var(--kendo-orgchart-card-focus-shadow, var(--kendo-box-shadow-depth-3, none));
}

.k-orgchart-node-group-container {
  border-color: var(--kendo-orgchart-node-group-border, color-mix(in srgb, var(--kendo-color-border, #8a8886) 16%, transparent));
  color: var(--kendo-orgchart-node-group-text, var(--kendo-color-on-app-surface, #323130));
  background-color: var(--kendo-orgchart-node-group-bg, var(--kendo-color-surface, #faf9f8));
}

.k-orgchart-node-group-container:focus,
.k-orgchart-node-group-container.k-focus {
  box-shadow: var(--kendo-orgchart-node-group-focus-shadow, var(--kendo-box-shadow-depth-3, none));
  border-color: var(--kendo-orgchart-node-group-focus-border, var(--kendo-component-border, initial));
}

.k-orgchart-node-group-subtitle {
  color: var(--kendo-orgchart-node-group-subtitle-text, var(--kendo-subtle-text, inherit));
}

.k-orgchart-line-h,
.k-orgchart-line-v {
  color: var(--kendo-orgchart-line-text, color-mix(in srgb, var(--kendo-color-border, #8a8886) 16%, transparent));
}

.k-signature {
  width: var(--kendo-signature-width, 250px);
  min-height: var(--kendo-signature-height, 84px);
  position: relative;
  box-sizing: border-box;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
}
.k-signature.k-signature-maximized {
  width: var(--kendo-signature-maximized-width, 750px);
  height: var(--kendo-signature-maximized-height, 252px);
}
.k-signature.k-signature-maximized > .k-signature-line {
  border-bottom-width: var(--kendo-signature-maximized-line-width, 3px);
}
.k-signature:disabled, .k-signature[disabled], .k-signature.k-disabled {
  opacity: var(--kendo-signature-disabled-opacity, 0.3);
}

.k-signature-actions {
  display: flex;
  width: min-content;
  margin-inline-start: auto;
  gap: var(--kendo-signature-actions-gap, var(--kendo-spacing-1, 0.25rem));
  z-index: 2;
}

.k-signature-canvas {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  display: block;
  z-index: 1;
}

.k-signature-line {
  position: absolute;
  bottom: var(--kendo-signature-line-bottom-offset, 33%);
  z-index: 2;
  pointer-events: none;
  border-bottom-width: var(--kendo-signature-line-width, 1px);
  border-bottom-style: var(--kendo-signature-line-style, dashed);
}

.k-signature-sm {
  padding-inline: var(--kendo-spacing-1, 0.25rem);
  padding-block: var(--kendo-spacing-0\.5, 0.125rem);
}
.k-signature-sm .k-signature-line {
  width: calc(100% - 2 * var(--kendo-spacing-1, 0.25rem));
}

.k-signature-md {
  padding-inline: var(--kendo-spacing-1, 0.25rem);
  padding-block: var(--kendo-spacing-1, 0.25rem);
}
.k-signature-md .k-signature-line {
  width: calc(100% - 2 * var(--kendo-spacing-1, 0.25rem));
}

.k-signature-lg {
  padding-inline: var(--kendo-spacing-1, 0.25rem);
  padding-block: var(--kendo-spacing-1\.5, 0.375rem);
}
.k-signature-lg .k-signature-line {
  width: calc(100% - 2 * var(--kendo-spacing-1, 0.25rem));
}

.k-signature-lg {
  min-height: var(--kendo-signature-lg-min-height, 110px);
}

.k-signature .k-signature-line {
  border-bottom-color: var(--kendo-signature-line-color, color-mix(in srgb, var(--kendo-color-info, #0a7eff) 40%, transparent));
}
.k-signature:disabled .k-signature-line, .k-signature[disabled] .k-signature-line, .k-signature.k-disabled .k-signature-line {
  border-bottom-color: var(--kendo-signature-line-disabled-color, color-mix(in srgb, var(--kendo-color-on-app-surface, #323130) 28%, transparent));
}

:root {
  --kendo-font-family: Roboto, "Helvetica Neue", Helvetica, Arial, sans-serif;
  --kendo-font-size: 0.9rem;
  --kendo-component-text: #333;
  --kendo-input-hover-border: var(--brandColor, #008fd4);
  --kendo-input-solid-hover-border: var(--brandColor, #008fd4);
  --kendo-input-solid-hover-focus-border: var(--brandColor, #008fd4);
  --kendo-input-solid-focus-border: var(--brandColor, #008fd4);
  --kendo-searchbox-icon-color: var(--brandColor, #008fd4);
  --kendo-list-item-selected-text: #333;
  --kendo-list-item-hover-bg: #eee;
  --kendo-list-item-selected-bg: #eee;
  --kendo-list-item-selected-hover-bg: #e4e4e4;
  --kendo-list-item-focus-shadow: none;
  --kendo-picker-solid-hover-border: var(--brandColor, #008fd4);
  --kendo-picker-solid-focus-border: var(--brandColor, #008fd4);
  --kendo-picker-solid-hover-focus-border: var(--brandColor, #008fd4);
  --kendo-button-solid-base-hover-bg: #eee;
  --kendo-button-flat-primary-text: var(--brandColor, #008fd4);
  --kendo-button-flat-primary-hover-text: var(--brandColor, #008fd4);
  --kendo-button-flat-primary-hover-bg: var(--brandColorLight50, #d4f1ff);
  --kendo-calendar-border: #e4e4e4;
  --kendo-calendar-navigation-bg: #eee;
  --kendo-calendar-navigation-border: #e4e4e4;
  --kendo-calendar-cell-selected-bg: #eee;
  --kendo-calendar-cell-selected-hover-bg: #e4e4e4;
  --kendo-calendar-today-bg: var(--brandColor, #008fd4);
  --kendo-calendar-today-hover-bg: var(--brandColorDark20, #004a6e);
}

.k-grid-content.k-auto-scrollable {
  overflow-y: auto;
}

.k-grid {
  --kendo-table-header-text: #333;
  --kendo-grid-sort-indicator-text: #333;
  --kendo-grid-sort-indicator-order-text: #333;
  --kendo-grid-bg: #fff;
  --kendo-grid-border-width: 0;
  --kendo-grid-cell-border-width-y: 0;
  --kendo-grid-header-border: #ccc;
  --kendo-grid-hover-bg: #f5f5f5;
}
.k-grid .k-group-cell.k-table-group-td.k-table-td {
  border-right: none;
}
.k-grid td.k-group-cell ~ td.k-table-td {
  border-bottom-width: var(--kendo-table-cell-horizontal-border-width, 1px);
  border-color: var(--kendo-grid-grouping-row-border, var(--kendo-component-border, initial));
}
.k-grid .k-hierarchy-cell.k-table-td a {
  padding-block-start: 0;
}
.k-grid .k-table-group-row.k-grouping-row.k-table-row:hover td {
  background-color: var(--kendo-grid-hover-bg, var(--kendo-hover-bg, inherit));
}
.k-grid .k-table-group-row .k-reset {
  display: inline-flex;
  vertical-align: middle;
}
.k-grid .k-table-group-row .k-reset a {
  outline: none;
}
.k-grid .k-input.k-input-solid {
  --kendo-input-focus-border: var(--brandColor, #008fd4);
}
.k-grid {
  --kendo-toolbar-bg: #fff;
  --kendo-grid-toolbar-border-width: 0;
  --kendo-button-flat-primary-selected-hover-bg: #f5f5f5;
  --kendo-pager-bg: #fff;
  --kendo-pager-text: #333;
  --kendo-pager-info-label-text: #333;
  --kendo-pager-dropdown-width: 6em;
}
.k-grid .k-grid-pager {
  border-width: 0;
}
.k-grid .k-button:focus::after {
  --kendo-button-focus-outline: var(--brandColorLight, #5db6e1);
}
.k-grid .k-button-flat-primary {
  --kendo-button-text: #333;
  --kendo-button-flat-primary-active-hover-text: #333;
  --kendo-button-flat-primary-hover-text: #333;
  --kendo-button-flat-primary-selected-text: #333;
  --kendo-button-flat-primary-selected-hover-text: #333;
  --kendo-button-flat-primary-selected-bg: #f5f5f5;
  --kendo-button-flat-primary-hover-bg: #f5f5f5;
  --kendo-button-flat-primary-selected-hover-bg: #f5f5f5;
  --kendo-button-flat-primary-focus-text: var(--brandColor, #008fd4);
}

.k-checkbox-label {
  --kendo-checkbox-label-margin-x: 1rem;
  pointer-events: none;
}

.k-checkbox-wrap input[type=checkbox].k-checkbox {
  --kendo-checkbox-checked-bg: #000;
  --kendo-checkbox-hover-checked-border: #000;
  --kendo-checkbox-hover-checked-bg: #000;
  --kendo-checkbox-checked-border: #000;
  --kendo-checkbox-indeterminate-text: #000;
  margin-top: 0;
  width: 22px;
  height: 22px;
  border-radius: var(--kendo-border-radius-none);
}
.k-checkbox-wrap input[type=checkbox].k-checkbox, .k-checkbox-wrap input[type=checkbox].k-checkbox:focus {
  outline: none;
  outline-offset: 0;
}
.k-checkbox-wrap input[type=checkbox].k-checkbox:indeterminate:before, .k-checkbox-wrap input[type=checkbox].k-checkbox.k-indeterminate:before {
  display: none;
}
.k-checkbox-wrap input[type=checkbox].k-checkbox:indeterminate:after, .k-checkbox-wrap input[type=checkbox].k-checkbox.k-indeterminate:after {
  content: "";
  width: 60%;
  height: 100%;
  border: none;
  border-top: solid 4px #000;
  display: inline-block;
  position: relative;
  left: 20%;
  top: calc(50% - 2px);
  pointer-events: none;
}
.k-checkbox-wrap input[type=checkbox].k-checkbox:not(:checked) {
  border-style: solid;
  border-color: #d4d0c9;
  border-width: 1px;
}
.k-checkbox-wrap input[type=checkbox].k-checkbox:not(:checked):hover {
  border-style: solid;
  border-color: var(--kendo-checkbox-checked-border);
  border-width: 2px;
}
.k-checkbox-wrap input[type=checkbox].k-checkbox:not(:checked):not(:indeterminate):hover:before, .k-checkbox-wrap input[type=checkbox].k-checkbox:not(:checked):not(.k-indeterminate):hover:before {
  background: none;
}

.k-dropdownlist {
  border-radius: 0;
}

.k-multiselect {
  border-radius: 0;
  --kendo-chip-solid-base-bg: #eee;
  --kendo-chip-solid-base-hover-bg: #e4e4e4;
}
.k-multiselect .k-input-inner {
  background-color: #fff;
}

.k-datepicker {
  border-radius: 0;
}
.k-datepicker .k-input-inner {
  background-color: #fff;
}

.k-calendar {
  --kendo-color-primary-hover: var(--brandColor, #008fd4);
}

.k-calendar-view .k-calendar-table td .k-link {
  box-shadow: none;
}

.k-input {
  border-radius: 0;
}

.k-input-solid,
.k-icon,
.k-grid,
.k-grid-header-menu.k-grid-column-menu,
.k-checkbox:hover {
  color: inherit;
}

.k-column-menu .k-icon.k-svg-i-filter {
  color: var(--brandColor, #008fd4);
}
.k-column-menu .k-filter-menu-container .k-actions .k-button-solid-primary:not([disabled]) {
  background-color: var(--brandColor, #008fd4);
  color: var(--textColorOnBrand, #f5f5f5);
}
.k-column-menu .k-filter-menu-container .k-actions .k-button-solid-primary:not([disabled]):hover {
  background-color: var(--brandColorDark, #006da1);
}

.k-button:not(.k-button-solid-primary) {
  --kendo-button-text: inherit;
}
.k-button {
  --kendo-color-primary-hover: var(--brandColor, #008fd4);
  --kendo-button-focus-border: var(--brandColor, #008fd4);
  --kendo-color-primary-subtle: var(--brandColorLight50, #d4f1ff);
  border-radius: 0;
}
.k-button.k-button-solid-primary {
  --kendo-button-solid-primary-bg: var(--brandColor, #008fd4);
  --kendo-button-solid-primary-focus-bg: var(--brandColor, #008fd4);
  --kendo-button-solid-primary-hover-bg: var(--brandColorDark, #006da1);
}

.filter_wrapper label {
  vertical-align: sub;
}

/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoia2VuZG9Dc3MuY3NzIiwibWFwcGluZ3MiOiI7OztBQUFBLGdCQUFnQjtBQzBGaEI7RUFDSTtFQUNBO0VBRUE7RUFDQTtFQUNBO0VBRUE7RUFDQTtFQUVBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFFQTtFQUNBO0VBQ0E7RUFFQTtFQUNBO0VBQ0E7RUFFQTtFQUNBO0VBQ0E7RUFFQTtFQUVBO0VBRUE7RUFDQTtFQUNBO0VBQ0E7RUFFQTtFQUVBO0VBQ0E7RUFDQTtFQUVBO0FEcEdKOztBRVhBO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QUZjSjs7QUc1Q0E7RUNFUSwyRkREb0I7RUFDeEI7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FIK0NKOztBRzdDQTs7RUFFSTtFQUNBO0FIZ0RKOztBRzdDQTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FIZ0RKOztBRzdDQTs7RUFFSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FIZ0RKOztBRzdDQTtFQUNJO0FIZ0RKOztBRzdDQTtFQUNJO0VBQ0E7QUhnREo7O0FHN0NBO0VBQ0k7QUhnREo7QUc5Q0k7RUFDSTtFQUNBO0FIZ0RSOztBSzVHQTtFQ0NRLGtGREdBO0VDQUEsdUVERkE7RUNLQSw4RURKQTtFRUNJO0VDSEosZ0ZITUo7QUw2R0o7O0FLMUdBO0VDSFEsZ0ZESWdCO0FMNkd4Qjs7QUsxR0E7O0VDYlEsNEVEZXFCO0FMNkc3Qjs7QVM0U1E7RUFHWTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7QVR6SnBCOztBVWpSSTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QVZvUlI7O0FXMVJRO0VBRUk7QVg0Ulo7QVd6UlE7RUFFSTtFQUNBO0FYMFJaO0FXdlJRO0VBQ0k7QVh5Ulo7QVd0UlE7RUFDSTtFQUNBO0FYd1JaOztBV25SUTtFQUVJO0FYcVJaO0FXbFJRO0VBRUk7RUFDQTtBWG1SWjtBV2hSUTtFQUNJO0FYa1JaO0FXL1FRO0VBQ0k7RUFDQTtBWGlSWjs7QVc1UVE7RUFFSTtBWDhRWjtBVzNRUTtFQUVJO0VBQ0E7QVg0UVo7QVd6UVE7RUFDSTtBWDJRWjtBV3hRUTtFQUNJO0VBQ0E7QVgwUVo7O0FXclFRO0VBRUk7QVh1UVo7QVdwUVE7RUFFSTtFQUNBO0FYcVFaO0FXbFFRO0VBQ0k7QVhvUVo7QVdqUVE7RUFDSTtFQUNBO0FYbVFaOztBVzlQUTtFQUVJO0FYZ1FaO0FXN1BRO0VBRUk7RUFDQTtBWDhQWjtBVzNQUTtFQUNJO0FYNlBaO0FXMVBRO0VBQ0k7RUFDQTtBWDRQWjs7QVd2UFE7RUFFSTtBWHlQWjtBV3RQUTtFQUVJO0VBQ0E7QVh1UFo7QVdwUFE7RUFDSTtBWHNQWjtBV25QUTtFQUNJO0VBQ0E7QVhxUFo7O0FXaFBRO0VBRUk7QVhrUFo7QVcvT1E7RUFFSTtFQUNBO0FYZ1BaO0FXN09RO0VBQ0k7QVgrT1o7QVc1T1E7RUFDSTtFQUNBO0FYOE9aO0FXM09RO0VBRUk7QVg0T1o7O0FXdk9RO0VBRUk7RUFDQTtBWHlPWjtBV3RPUTtFQUVJO0VBQ0E7RUFDQTtBWHVPWjtBV3BPUTtFQUNJO0VBQ0E7QVhzT1o7QVduT1E7RUFDSTtFQUNBO0VBQ0E7QVhxT1o7O0FXaE9RO0VBRUk7RUFDQTtBWGtPWjtBVy9OUTtFQUVJO0VBQ0E7RUFDQTtBWGdPWjtBVzdOUTtFQUNJO0VBQ0E7QVgrTlo7QVc1TlE7RUFDSTtFQUNBO0VBQ0E7QVg4Tlo7O0FXek5RO0VBQ0k7RUFDQTtBWDROWjtBVzFOWTtFQUNJO0FYNE5oQjtBV3hOUTtFQUNJO0VBQ0E7RUFDQTtBWDBOWjtBV3hOWTtFQUNJO0FYME5oQjs7QVdwTlE7RUFFSTtBWHNOWjtBV25OUTtFQUVJO0VBQ0E7QVhvTlo7QVdqTlE7RUFDSTtBWG1OWjtBV2hOUTtFQUNJO0VBQ0E7QVhrTlo7O0FXN01RO0VBRUk7QVgrTVo7QVc1TVE7RUFFSTtFQUNBO0FYNk1aO0FXMU1RO0VBQ0k7QVg0TVo7QVd6TVE7RUFDSTtFQUNBO0FYMk1aOztBV3RNUTtFQUVJO0FYd01aO0FXck1RO0VBRUk7RUFDQTtBWHNNWjtBV25NUTtFQUNJO0FYcU1aO0FXbE1RO0VBQ0k7RUFDQTtBWG9NWjs7QVcvTFE7RUFFSTtBWGlNWjtBVzlMUTtFQUVJO0VBQ0E7QVgrTFo7QVc1TFE7RUFDSTtBWDhMWjtBVzNMUTtFQUNJO0VBQ0E7QVg2TFo7O0FXeExRO0VBRUk7QVgwTFo7QVd2TFE7RUFFSTtBWHdMWjtBV3JMUTtFQUVJO0VBQ0E7QVhzTFo7O0FXakxRO0VBRUk7QVhtTFo7QVdoTFE7RUFFSTtBWGlMWjtBVzlLUTtFQUVJO0VBQ0E7QVgrS1o7O0FXdktJOztFQUVJO0FYMEtSOztBV3ZLSTtFQUNJO0FYMEtSO0FXeEtRO0VBQ0k7QVgwS1o7QVd2S1E7RUFDSTtBWHlLWjs7QVdyS0k7O0VBRUk7QVh3S1I7O0FXcEtRO0VBQ0k7QVh1S1o7QVdwS1E7RUFDSTtBWHNLWjs7QVcvSlE7RUFDSTtBWGtLWjtBVy9KUTtFQUNJO0FYaUtaO0FXN0pZO0VBRUk7QVg4SmhCO0FXM0pZO0VBQ0k7QVg2SmhCO0FXMUpZO0VBQ0k7QVg0SmhCOztBV3BKUTtFQUNJO0VBQ0E7QVh1Slo7QVdwSlE7RUFDSTtBWHNKWjtBV2xKWTtFQUNJO0VBQ0E7QVhvSmhCO0FXakpZO0VBQ0k7QVhtSmhCOztBVzVJUTtFQVlJO0FYb0laO0FXaElRO0VBRUk7RUFDQTtBWGlJWjtBVzlIUTtFQUlJO0VBQ0E7QVg2SFo7QVcxSFE7RUFFSTtBWDJIWjtBV3hIUTtFQUlJO0FYdUhaO0FXbEhZO0VBRUk7RUFDQTtBWG1IaEI7QVdoSFk7RUFFSTtBWGlIaEI7QVc5R1k7RUFFSTtBWCtHaEI7QVc1R1k7RUFFSTtBWDZHaEI7QVcxR1k7RUFJSTtFQUNBO0FYeUdoQjtBV3RHWTtFQUlJO0FYcUdoQjtBV2xHWTtFQUlJO0FYaUdoQjtBVzlGWTtFQUlJO0FYNkZoQjtBV3ZGWTtFQUVJO0FYd0ZoQjtBV3JGWTtFQUVJO0FYc0ZoQjtBV2pGZ0I7RUFFSTtBWGtGcEI7QVcvRWdCO0VBRUk7QVhnRnBCO0FXN0VnQjtFQUVJO0FYOEVwQjtBVzNFZ0I7RUFFSTtBWDRFcEI7O0FXbkVRO0VBQ0k7RUFDQTtBWHNFWjtBV25FUTtFQUNJO0FYcUVaO0FXaEVZO0VBQ0k7RUFDQTtBWGtFaEI7QVcvRFk7RUFDSTtBWGlFaEI7QVc5RFk7RUFDSTtBWGdFaEI7QVc3RFk7RUFDSTtBWCtEaEI7QVd6RFk7RUFDSTtBWDJEaEI7QVd4RFk7RUFDSTtBWDBEaEI7QVdyRGdCO0VBQ0k7QVh1RHBCO0FXcERnQjtFQUNJO0FYc0RwQjtBV25EZ0I7RUFDSTtBWHFEcEI7QVdsRGdCO0VBQ0k7QVhvRHBCOztBVzVDUTtFQUVJO0VBQ0E7QVg4Q1o7QVczQ1E7RUFDSTtBWDZDWjtBVzFDUTtFQUNJO0FYNENaO0FXekNRO0VBQ0k7QVgyQ1o7QVd2Q1k7RUFDSTtBWHlDaEI7QVd0Q1k7RUFDSTtFQUNBO0FYd0NoQjtBV3JDWTtFQUVJO0FYc0NoQjtBV25DWTtFQUNJO0FYcUNoQjtBV2xDWTtFQUNJO0FYb0NoQjtBV2pDWTtFQUNJO0FYbUNoQjs7QVlodEJJOztFQUVJO0FabXRCUjs7QWFydEJJO0VBQ0k7RUFDQTtBYnd0QlI7O0FhdHRCSTtFQUNJO0VBQ0E7QWJ5dEJSOztBYXJ0Qkk7RUFDSTtBYnd0QlI7O0FhdHRCSTtFQUNJO0FieXRCUjs7QWFwdEJJO0VBQ0k7RUFDQTtFQUNBO0FidXRCUjs7QWE5c0JJO0VBQ0k7QWJpdEJSOztBYTVzQkk7RUFDSTtBYitzQlI7O0FhMXNCSTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBYjZzQlI7O0FhM3NCSTs7O0VBRUk7RUFDQTtFQUNBO0FiK3NCUjs7QWE3c0JJOzs7RUFFSTtFQUNBO0VBQ0E7QWJpdEJSOztBYTlzQkk7RUFDSTtFQUNBO0FiaXRCUjs7QWE1c0JJO0VBQ0k7QWIrc0JSOztBYTFzQkk7RUFDSTtBYjZzQlI7O0FjN3hCSTtFQUNJO0FkZ3lCUjs7QWMxeEJJO0VBQ0k7QWQ2eEJSOztBZWp5Qkk7OztFQ0pBO0VBQ0E7RUFDQSx3Q0RNZ0I7RUNMaEIsaURETWE7RUNMYixpRERNaUI7RUNMakIsNkNETWtCO0VDTGxCLDJDRE1pQjtFQ0xqQjtFQUNBO0FoQjJ5Qko7QWVweUJROzs7RUFDSTtFQUNBO0Fmd3lCWjtBZTF4Qkk7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QWY0eEJSOztBZXh4Qkk7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FmMnhCUjs7QWV2eEJJO0VBQ0k7RUFDQTtBZjB4QlI7O0FldnhCSTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QWYweEJSOztBZXZ4Qkk7RUFDSTtBZjB4QlI7O0FldHhCSTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FmeXhCUjs7QWV0eEJJO0VBQ0k7QWZ5eEJSOztBZXB4Qkk7O0VBRUk7RUFDQTtFQUNBO0VBQ0E7QWZ1eEJSOztBZW54Qkk7RUFDSTtBZnN4QlI7O0FlbHhCSTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0FmcXhCUjs7QWVqeEJJO0VBQ0k7QWZveEJSOztBZWh4Qkk7RUFDSTtFQUNBO0VBQ0E7RUFDQTtBZm14QlI7O0FlL3dCSTs7RUFFSTtBZmt4QlI7O0FlOXdCSTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FmaXhCUjs7QWlCajZCSTtFQUNJO0VBQ0E7QWpCbzZCUjs7QWlCajZCSTs7RUFFSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FqQm82QlI7O0FpQmo2Qkk7RUFDSTtFQUNBO0VBQ0E7RUFDQTtBakJvNkJSOztBaUJsNkJJO0VBQ0k7QWpCcTZCUjs7QWlCaDZCUTtFQUNJO0VBQ0E7QWpCbTZCWjs7QWtCLzdCSTtFQUNJO0VBQ0E7QWxCazhCUjs7QWtCLzdCSTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QWxCazhCUjs7QWtCLzdCSTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FsQms4QlI7O0FtQnQ5Qkk7O0VBRUk7RUFDQTtFQUNBO0FuQnk5QlI7O0FtQnY5Qkk7RUFDSTtFQUNBO0VBQ0E7QW5CMDlCUjs7QW1CeDlCSTtFQUNJO0VBQ0E7RUFDQTtBbkIyOUJSOztBbUJ6OUJJO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FuQjQ5QlI7O0FtQjE5Qkk7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QW5CNjlCUjs7QW1CMzlCSTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBbkI4OUJSOztBbUI1OUJJO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FuQis5QlI7O0FtQjU5Qkk7Ozs7RUFJSTtFQUNBO0FuQis5QlI7O0FtQjU5Qkk7RUFDSTtFQUNBO0VBQ0E7QW5CKzlCUjs7QW1CNzlCSTtFQUNJO0VBQ0E7RUFDQTtBbkJnK0JSOztBbUI5OUJJO0VBQ0k7RUFDQTtFQUNBO0FuQmkrQlI7O0FtQi85Qkk7RUFDSTtFQUNBO0VBQ0E7QW5CaytCUjs7QW1CLzlCSTtFQUNJO0FuQmsrQlI7O0FtQmgrQkk7RUFDSTtBbkJtK0JSOztBbUIvOUJJO0VBQ0k7RUFDQTtFQUNBO0FuQmsrQlI7QW1CaCtCUTtFQUNJO0VBQ0E7RUFDQTtBbkJrK0JaO0FtQmgrQlE7RUFDSTtFQUNBO0VBQ0E7QW5CaytCWjs7QW1CLzlCSTtFQUNJO0VBQ0E7RUFDQTtBbkJrK0JSO0FtQmgrQlE7RUFDSTtFQUNBO0VBQ0E7QW5CaytCWjtBbUIvOUJRO0VBQ0k7RUFDQTtFQUNBO0FuQmkrQlo7O0FvQnBsQ0k7O0VBRUk7RUFDQTtBcEJ1bENSOztBb0JwbENJOztFQUVJO0VBQ0E7QXBCdWxDUjs7QW9CcGxDSTs7RUFFSTtFQUNBO0FwQnVsQ1I7O0FvQnBsQ0k7O0VBRUk7RUFDQTtBcEJ1bENSOztBb0JwbENJOztFQUVJO0VBQ0E7RUFDQTtBcEJ1bENSOztBb0JybENJOzs7RUFHSTtFQUNBO0VBQ0E7QXBCd2xDUjs7QW9CdGxDSTtFQUNJO0VBQ0E7RUFDQTtBcEJ5bENSOztBb0J2bENJOzs7RUFHSTtFQUNBO0VBQ0E7QXBCMGxDUjs7QW9CeGxDSTs7RUFFSTtFQUNBO0VBQ0E7QXBCMmxDUjs7QXFCdmxDSTtFQUdRO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0FyQituQ1o7O0FzQmxvQ0k7RUFFUTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7QXRCNG9DWjs7QXVCbGdDSTtFQUVJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFHSTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBSUE7RUFBQTtFQUFBO0VBQUE7RUFJQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUlBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBSUE7RUFBQTtFQUFBO0VBQUE7QXZCNGdDWjs7QXdCcHJDSTtFQUVRO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtBeEI4ckNaOztBd0J2ckNRO0VBQ0k7QXhCMHJDWjs7QXdCM3JDUTtFQUNJO0F4QjhyQ1o7O0F3Qi9yQ1E7RUFDSTtBeEJrc0NaOztBd0Juc0NRO0VBQ0k7QXhCc3NDWjs7QXdCdnNDUTtFQUNJO0F4QjBzQ1o7O0F3QjNzQ1E7RUFDSTtBeEI4c0NaOztBd0Ivc0NRO0VBQ0k7QXhCa3RDWjs7QXdCbnRDUTtFQUNJO0F4QnN0Q1o7O0F3QnZ0Q1E7RUFDSTtBeEIwdENaOztBQ3BwQ0k7RXdCbElZO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0F6QnNrRGhCO0FDMzdDWTs7RUFFSTtBRDY3Q2hCO0FDMzdDWTs7RUFFSTtBRDY3Q2hCO0FDMTdDWTtFQUNJO0FENDdDaEI7QUMxN0NZO0VBQ0k7QUQ0N0NoQjtBQ3o4Q1k7O0VBRUk7QUQyOENoQjtBQ3o4Q1k7O0VBRUk7QUQyOENoQjtBQ3g4Q1k7RUFDSTtBRDA4Q2hCO0FDeDhDWTtFQUNJO0FEMDhDaEI7QUN2OUNZOztFQUVJO0FEeTlDaEI7QUN2OUNZOztFQUVJO0FEeTlDaEI7QUN0OUNZO0VBQ0k7QUR3OUNoQjtBQ3Q5Q1k7RUFDSTtBRHc5Q2hCO0FDcitDWTs7RUFFSTtBRHUrQ2hCO0FDcitDWTs7RUFFSTtBRHUrQ2hCO0FDcCtDWTtFQUNJO0FEcytDaEI7QUNwK0NZO0VBQ0k7QURzK0NoQjtBQ24vQ1k7O0VBRUk7QURxL0NoQjtBQ24vQ1k7O0VBRUk7QURxL0NoQjtBQ2wvQ1k7RUFDSTtBRG8vQ2hCO0FDbC9DWTtFQUNJO0FEby9DaEI7O0EwQmhuREk7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QTFCbW5EUjs7QTJCOW9ESTtFSjhLQSwwQ0k1S1E7RUo2S1IsOENJNUtRO0VKNktSLDZDSTVLUTtFSjZLUiw2Q0k1S1E7RUo2S1IsbURJNUtRO0VyQmpCSixzQ3FCb0JJO0VyQmpCSiwrQ3FCa0JJO0VBRUo7QTNCNm9EUjtBMkIzb0RRO0VBQ0k7QTNCNm9EWjs7QTJCaG9EUTtFSmtKSiwwQ0loSlk7RUppSlosMkVJaEpZO0VKaUpaLDhDSWhKWTtFSmlKWixtRkloSlk7RUppSlosbUZJaEpZO0VBRUo7QTNCaW9EWjs7QTJCem9EUTtFSmtKSiwwQ0loSlk7RUppSlosMkVJaEpZO0VKaUpaLDhDSWhKWTtFSmlKWixtRkloSlk7RUppSlosbUZJaEpZO0VBRUo7QTNCMG9EWjs7QTJCbHBEUTtFSmtKSiwwQ0loSlk7RUppSlosMkVJaEpZO0VKaUpaLDhDSWhKWTtFSmlKWixtRkloSlk7RUppSlosbUZJaEpZO0VBRUo7QTNCbXBEWjs7QTJCM3BEUTtFSmtKSiwwQ0loSlk7RUppSlosMkVJaEpZO0VKaUpaLDhDSWhKWTtFSmlKWixtRkloSlk7RUppSlosbUZJaEpZO0VBRUo7QTNCNHBEWjs7QTJCcHFEUTtFSmtKSiwwQ0loSlk7RUppSlosMkVJaEpZO0VKaUpaLDhDSWhKWTtFSmlKWixtRkloSlk7RUppSlosbUZJaEpZO0VBRUo7QTNCcXFEWjs7QTJCN3FEUTtFSmtKSiwwQ0loSlk7RUppSlosMkVJaEpZO0VKaUpaLDhDSWhKWTtFSmlKWixtRkloSlk7RUppSlosbUZJaEpZO0VBRUo7QTNCOHFEWjs7QTJCenFESTtFSnFJQSw0RUluSVE7RUpvSVIsa0ZJbklRO0VKb0lSLGlGSW5JUTtFSm9JUixpRkluSVE7RUpvSVIsMEZJbklRO0VBRUo7QTNCMHFEUjs7QTJCdHFESTs7RUp5SEEsdUVJdEhRO0VKdUhSLHFKSXRIUTtFSnVIUiw0RUl0SFE7RUp1SFIsNEVJdEhRO0VKdUhSLHFGSXRIUTtFQUVKO0VBQ0E7QTNCdXFEUjs7QTJCcHFESTtFQUNJO0VBQ0E7RUFDQTtBM0J1cURSOztBMkJwcURJO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0EzQnVxRFI7O0EyQnBxREk7RUFDSTtFQUNBO0EzQnVxRFI7O0EyQjNwRFE7RUorRUosc0ZJN0VZO0VKOEVaLGlGSTdFWTtFSjhFWixxREk3RVk7RUo4RVoseUZJN0VZO0VKOEVaLHlGSTdFWTtBM0I2cERoQjs7QTJCbnFEUTtFSitFSixzRkk3RVk7RUo4RVosaUZJN0VZO0VKOEVaLG9ESTdFWTtFSjhFWix5Rkk3RVk7RUo4RVoseUZJN0VZO0EzQnFxRGhCOztBMkIzcURRO0VKK0VKLGdESTdFWTtFSjhFWixpRkk3RVk7RUo4RVosb0RJN0VZO0VKOEVaLHlGSTdFWTtFSjhFWix5Rkk3RVk7QTNCNnFEaEI7O0EyQm5yRFE7RUorRUosc0ZJN0VZO0VKOEVaLGlGSTdFWTtFSjhFWixvREk3RVk7RUo4RVoseUZJN0VZO0VKOEVaLHlGSTdFWTtBM0JxckRoQjs7QTRCeHlESTtFdEJHSSxzQ3NCREk7RXRCSUosK0NzQkhJO0E1QjB5RFo7O0E0QnJ5REk7O0V0QlJJLDhFc0JhSTtFdEJWSixtRXNCUUk7RXRCTEosMEVzQk1JO0E1Qnd5RFo7O0E2Qmx5RGdCO0VBR1k7QTdCbXlENUI7O0E2QjN4RGdCO0VBR1k7QTdCNHhENUI7O0E2QjF5RGdCO0VBR1k7QTdCMnlENUI7O0E2Qm55RGdCO0VBR1k7QTdCb3lENUI7O0E2Qmx6RGdCO0VBR1k7QTdCbXpENUI7O0E2QjN5RGdCO0VBR1k7QTdCNHlENUI7O0E2QjF6RGdCO0VBR1k7QTdCMnpENUI7O0E2Qm56RGdCO0VBR1k7QTdCb3pENUI7O0E2QmwwRGdCO0VBR1k7QTdCbTBENUI7O0E2QjN6RGdCO0VBR1k7QTdCNHpENUI7O0E2QjEwRGdCO0VBR1k7QTdCMjBENUI7O0E2Qm4wRGdCO0VBR1k7QTdCbzBENUI7O0E2QmwxRGdCO0VBR1k7QTdCbTFENUI7O0E2QjMwRGdCO0VBR1k7QTdCNDBENUI7O0E2QjExRGdCO0VBR1k7QTdCMjFENUI7O0E2Qm4xRGdCO0VBR1k7QTdCbzFENUI7O0E2QmwyRGdCO0VBR1k7QTdCbTJENUI7O0E2QjMxRGdCO0VBR1k7QTdCNDFENUI7O0E2QjEyRGdCO0VBR1k7QTdCMjJENUI7O0E2Qm4yRGdCO0VBR1k7QTdCbzJENUI7O0E2QmwzRGdCO0VBR1k7QTdCbTNENUI7O0E2QjMyRGdCO0VBR1k7QTdCNDJENUI7O0E2QjEzRGdCO0VBR1k7QTdCMjNENUI7O0E2Qm4zRGdCO0VBR1k7QTdCbzNENUI7O0E2Qmw0RGdCO0VBR1k7QTdCbTRENUI7O0E2QjMzRGdCO0VBR1k7QTdCNDNENUI7O0E2QjE0RGdCO0VBR1k7QTdCMjRENUI7O0E2Qm40RGdCO0VBR1k7QTdCbzRENUI7O0E2Qmw1RGdCO0VBR1k7QTdCbTVENUI7O0E2QjM0RGdCO0VBR1k7QTdCNDRENUI7O0E2QjE1RGdCO0VBR1k7QTdCMjVENUI7O0E2Qm41RGdCO0VBR1k7QTdCbzVENUI7O0E2Qmw2RGdCO0VBR1k7QTdCbTZENUI7O0E2QjM1RGdCO0VBR1k7QTdCNDVENUI7O0E2QjE2RGdCO0VBR1k7QTdCMjZENUI7O0E2Qm42RGdCO0VBR1k7QTdCbzZENUI7O0E2Qmw3RGdCO0VBR1k7QTdCbTdENUI7O0E2QjM2RGdCO0VBR1k7QTdCNDZENUI7O0E2QjE3RGdCO0VBR1k7QTdCMjdENUI7O0E2Qm43RGdCO0VBR1k7QTdCbzdENUI7O0E2Qmw4RGdCO0VBR1k7QTdCbThENUI7O0E2QjM3RGdCO0VBR1k7QTdCNDdENUI7O0E2QjE4RGdCO0VBR1k7QTdCMjhENUI7O0E2Qm44RGdCO0VBR1k7QTdCbzhENUI7O0E2Qmw5RGdCO0VBR1k7QTdCbTlENUI7O0E2QjM4RGdCO0VBR1k7QTdCNDhENUI7O0E2QjE5RGdCO0VBR1k7QTdCMjlENUI7O0E2Qm45RGdCO0VBR1k7QTdCbzlENUI7O0E2QmwrRGdCO0VBR1k7QTdCbStENUI7O0E2QjM5RGdCO0VBR1k7QTdCNDlENUI7O0E2QjErRGdCO0VBR1k7QTdCMitENUI7O0E2Qm4rRGdCO0VBR1k7QTdCbytENUI7O0E2QmwvRGdCO0VBR1k7QTdCbS9ENUI7O0E2QjMrRGdCO0VBR1k7QTdCNCtENUI7O0E2QjEvRGdCO0VBR1k7QTdCMi9ENUI7O0E2Qm4vRGdCO0VBR1k7QTdCby9ENUI7O0E2QmxnRWdCO0VBR1k7QTdCbWdFNUI7O0E2QjMvRGdCO0VBR1k7QTdCNC9ENUI7O0E2QjFnRWdCO0VBR1k7QTdCMmdFNUI7O0E2Qm5nRWdCO0VBR1k7QTdCb2dFNUI7O0E2QmxoRWdCO0VBR1k7QTdCbWhFNUI7O0E2QjNnRWdCO0VBR1k7QTdCNGdFNUI7O0E2QjFoRWdCO0VBR1k7QTdCMmhFNUI7O0E2Qm5oRWdCO0VBR1k7QTdCb2hFNUI7O0E2QmxpRWdCO0VBR1k7QTdCbWlFNUI7O0E2QjNoRWdCO0VBR1k7QTdCNGhFNUI7O0E2QjFpRWdCO0VBR1k7QTdCMmlFNUI7O0E2Qm5pRWdCO0VBR1k7QTdCb2lFNUI7O0E2QmxqRWdCO0VBR1k7QTdCbWpFNUI7O0E2QjNpRWdCO0VBR1k7QTdCNGlFNUI7O0E2QjFqRWdCO0VBR1k7QTdCMmpFNUI7O0E2Qm5qRWdCO0VBR1k7QTdCb2pFNUI7O0E2QmxrRWdCO0VBR1k7QTdCbWtFNUI7O0E2QjNqRWdCO0VBR1k7QTdCNGpFNUI7O0E2QjFrRWdCO0VBR1k7QTdCMmtFNUI7O0E2Qm5rRWdCO0VBR1k7QTdCb2tFNUI7O0E2QmxsRWdCO0VBR1k7QTdCbWxFNUI7O0E2QjNrRWdCO0VBR1k7QTdCNGtFNUI7O0E2QjFsRWdCO0VBR1k7QTdCMmxFNUI7O0E2Qm5sRWdCO0VBR1k7QTdCb2xFNUI7O0E2QmxtRWdCO0VBR1k7QTdCbW1FNUI7O0E2QjNsRWdCO0VBR1k7QTdCNGxFNUI7O0E2QjFtRWdCO0VBR1k7QTdCMm1FNUI7O0E2Qm5tRWdCO0VBR1k7QTdCb21FNUI7O0E2QmxuRWdCO0VBS1k7QTdCaW5FNUI7O0E2QjNtRWdCO0VBS1k7QTdCMG1FNUI7O0E2QjFuRWdCO0VBS1k7QTdCeW5FNUI7O0E2Qm5uRWdCO0VBS1k7QTdCa25FNUI7O0E2QmxvRWdCO0VBS1k7QTdCaW9FNUI7O0E2QjNuRWdCO0VBS1k7QTdCMG5FNUI7O0E2QjFvRWdCO0VBS1k7QTdCeW9FNUI7O0E2Qm5vRWdCO0VBS1k7QTdCa29FNUI7O0E2QmxwRWdCO0VBS1k7QTdCaXBFNUI7O0E2QjNvRWdCO0VBS1k7QTdCMG9FNUI7O0E2QjFwRWdCO0VBS1k7QTdCeXBFNUI7O0E2Qm5wRWdCO0VBS1k7QTdCa3BFNUI7O0E2QmxxRWdCO0VBS1k7QTdCaXFFNUI7O0E2QjNwRWdCO0VBS1k7QTdCMHBFNUI7O0E2QjFxRWdCO0VBS1k7QTdCeXFFNUI7O0E2Qm5xRWdCO0VBS1k7QTdCa3FFNUI7O0E2QmxyRWdCO0VBS1k7QTdCaXJFNUI7O0E2QjNxRWdCO0VBS1k7QTdCMHFFNUI7O0E2QjFyRWdCO0VBR1k7QTdCMnJFNUI7O0E2Qm5yRWdCO0VBR1k7QTdCb3JFNUI7O0E2QmxzRWdCO0VBR1k7QTdCbXNFNUI7O0E2QjNyRWdCO0VBR1k7QTdCNHJFNUI7O0E2QjFzRWdCO0VBR1k7QTdCMnNFNUI7O0E2Qm5zRWdCO0VBR1k7QTdCb3NFNUI7O0E2Qmx0RWdCO0VBR1k7QTdCbXRFNUI7O0E2QjNzRWdCO0VBR1k7QTdCNHNFNUI7O0E2QjF0RWdCO0VBR1k7QTdCMnRFNUI7O0E2Qm50RWdCO0VBR1k7QTdCb3RFNUI7O0E2Qmx1RWdCO0VBR1k7QTdCbXVFNUI7O0E2QjN0RWdCO0VBR1k7QTdCNHRFNUI7O0E2QjF1RWdCO0VBR1k7QTdCMnVFNUI7O0E2Qm51RWdCO0VBR1k7QTdCb3VFNUI7O0E2Qmx2RWdCO0VBR1k7QTdCbXZFNUI7O0E2QjN1RWdCO0VBR1k7QTdCNHVFNUI7O0E2QjF2RWdCO0VBR1k7QTdCMnZFNUI7O0E2Qm52RWdCO0VBR1k7QTdCb3ZFNUI7O0E2Qmx3RWdCO0VBR1k7QTdCbXdFNUI7O0E2QjN2RWdCO0VBR1k7QTdCNHZFNUI7O0E2QjF3RWdCO0VBR1k7QTdCMndFNUI7O0E2Qm53RWdCO0VBR1k7QTdCb3dFNUI7O0E2Qmx4RWdCO0VBR1k7QTdCbXhFNUI7O0E2QjN3RWdCO0VBR1k7QTdCNHdFNUI7O0E2QjF4RWdCO0VBR1k7QTdCMnhFNUI7O0E2Qm54RWdCO0VBR1k7QTdCb3hFNUI7O0E2Qmx5RWdCO0VBR1k7QTdCbXlFNUI7O0E2QjN4RWdCO0VBR1k7QTdCNHhFNUI7O0E2QjF5RWdCO0VBR1k7QTdCMnlFNUI7O0E2Qm55RWdCO0VBR1k7QTdCb3lFNUI7O0E2Qmx6RWdCO0VBR1k7QTdCbXpFNUI7O0E2QjN5RWdCO0VBR1k7QTdCNHlFNUI7O0E2QjF6RWdCO0VBR1k7QTdCMnpFNUI7O0E2Qm56RWdCO0VBR1k7QTdCb3pFNUI7O0E2QmwwRWdCO0VBR1k7QTdCbTBFNUI7O0E2QjN6RWdCO0VBR1k7QTdCNHpFNUI7O0E2QjEwRWdCO0VBR1k7QTdCMjBFNUI7O0E2Qm4wRWdCO0VBR1k7QTdCbzBFNUI7O0E2QmwxRWdCO0VBR1k7QTdCbTFFNUI7O0E2QjMwRWdCO0VBR1k7QTdCNDBFNUI7O0E2QjExRWdCO0VBR1k7QTdCMjFFNUI7O0E2Qm4xRWdCO0VBR1k7QTdCbzFFNUI7O0E2QmwyRWdCO0VBR1k7QTdCbTJFNUI7O0E2QjMxRWdCO0VBR1k7QTdCNDFFNUI7O0E2QjEyRWdCO0VBR1k7QTdCMjJFNUI7O0E2Qm4yRWdCO0VBR1k7QTdCbzJFNUI7O0E2QmwzRWdCO0VBR1k7QTdCbTNFNUI7O0E2QjMyRWdCO0VBR1k7QTdCNDJFNUI7O0E2QjEzRWdCO0VBR1k7QTdCMjNFNUI7O0E2Qm4zRWdCO0VBR1k7QTdCbzNFNUI7O0E2Qmw0RWdCO0VBR1k7QTdCbTRFNUI7O0E2QjMzRWdCO0VBR1k7QTdCNDNFNUI7O0E2QjE0RWdCO0VBR1k7QTdCMjRFNUI7O0E2Qm40RWdCO0VBR1k7QTdCbzRFNUI7O0E2Qmw1RWdCO0VBR1k7QTdCbTVFNUI7O0E2QjM0RWdCO0VBR1k7QTdCNDRFNUI7O0E2QjE1RWdCO0VBR1k7QTdCMjVFNUI7O0E2Qm41RWdCO0VBR1k7QTdCbzVFNUI7O0E2Qmw2RWdCO0VBR1k7QTdCbTZFNUI7O0E2QjM1RWdCO0VBR1k7QTdCNDVFNUI7O0E2QjE2RWdCO0VBR1k7QTdCMjZFNUI7O0E2Qm42RWdCO0VBR1k7QTdCbzZFNUI7O0E2Qmw3RWdCO0VBR1k7QTdCbTdFNUI7O0E2QjM2RWdCO0VBR1k7QTdCNDZFNUI7O0E2QjE3RWdCO0VBR1k7QTdCMjdFNUI7O0E2Qm43RWdCO0VBR1k7QTdCbzdFNUI7O0E2Qmw4RWdCO0VBR1k7QTdCbThFNUI7O0E2QjM3RWdCO0VBR1k7QTdCNDdFNUI7O0E2QjE4RWdCO0VBR1k7QTdCMjhFNUI7O0E2Qm44RWdCO0VBR1k7QTdCbzhFNUI7O0E2Qmw5RWdCO0VBR1k7QTdCbTlFNUI7O0E2QjM4RWdCO0VBR1k7QTdCNDhFNUI7O0E2QjE5RWdCO0VBR1k7QTdCMjlFNUI7O0E2Qm45RWdCO0VBR1k7QTdCbzlFNUI7O0E2QmwrRWdCO0VBR1k7QTdCbStFNUI7O0E2QjM5RWdCO0VBR1k7QTdCNDlFNUI7O0E2QjErRWdCO0VBR1k7QTdCMitFNUI7O0E2Qm4rRWdCO0VBR1k7QTdCbytFNUI7O0E2QmwvRWdCO0VBR1k7QTdCbS9FNUI7O0E2QjMrRWdCO0VBR1k7QTdCNCtFNUI7O0E2QjEvRWdCO0VBR1k7QTdCMi9FNUI7O0E2Qm4vRWdCO0VBR1k7QTdCby9FNUI7O0E2QmxnRmdCO0VBR1k7QTdCbWdGNUI7O0E2QjMvRWdCO0VBR1k7QTdCNC9FNUI7O0E2QjFnRmdCO0VBR1k7QTdCMmdGNUI7O0E2Qm5nRmdCO0VBR1k7QTdCb2dGNUI7O0E2QmxoRmdCO0VBR1k7QTdCbWhGNUI7O0E2QjNnRmdCO0VBR1k7QTdCNGdGNUI7O0E2QjFoRmdCO0VBR1k7QTdCMmhGNUI7O0E2Qm5oRmdCO0VBR1k7QTdCb2hGNUI7O0E2QmxpRmdCO0VBR1k7QTdCbWlGNUI7O0E2QjNoRmdCO0VBR1k7QTdCNGhGNUI7O0E2QjFpRmdCO0VBR1k7QTdCMmlGNUI7O0E2Qm5pRmdCO0VBR1k7QTdCb2lGNUI7O0E2QmxqRmdCO0VBR1k7QTdCbWpGNUI7O0E2QjNpRmdCO0VBR1k7QTdCNGlGNUI7O0E2QjFqRmdCO0VBR1k7QTdCMmpGNUI7O0E2Qm5qRmdCO0VBR1k7QTdCb2pGNUI7O0E2QmxrRmdCO0VBR1k7QTdCbWtGNUI7O0E2QjNqRmdCO0VBR1k7QTdCNGpGNUI7O0E2QjFrRmdCO0VBR1k7QTdCMmtGNUI7O0E2Qm5rRmdCO0VBR1k7QTdCb2tGNUI7O0E2QmxsRmdCO0VBR1k7QTdCbWxGNUI7O0E2QjNrRmdCO0VBR1k7QTdCNGtGNUI7O0E2QjFsRmdCO0VBR1k7QTdCMmxGNUI7O0E2Qm5sRmdCO0VBR1k7QTdCb2xGNUI7O0E2QmxtRmdCO0VBR1k7QTdCbW1GNUI7O0E2QjNsRmdCO0VBR1k7QTdCNGxGNUI7O0E2QjFtRmdCO0VBR1k7QTdCMm1GNUI7O0E2Qm5tRmdCO0VBR1k7QTdCb21GNUI7O0E2QmxuRmdCO0VBR1k7QTdCbW5GNUI7O0E2QjNtRmdCO0VBR1k7QTdCNG1GNUI7O0E2QjFuRmdCO0VBR1k7QTdCMm5GNUI7O0E2Qm5uRmdCO0VBR1k7QTdCb25GNUI7O0E2QmxvRmdCO0VBR1k7QTdCbW9GNUI7O0E2QjNuRmdCO0VBR1k7QTdCNG5GNUI7O0E2QjFvRmdCO0VBR1k7QTdCMm9GNUI7O0E2Qm5vRmdCO0VBR1k7QTdCb29GNUI7O0E2QmxwRmdCO0VBR1k7QTdCbXBGNUI7O0E2QjNvRmdCO0VBR1k7QTdCNG9GNUI7O0E2QjFwRmdCO0VBR1k7QTdCMnBGNUI7O0E2Qm5wRmdCO0VBR1k7QTdCb3BGNUI7O0E2QmxxRmdCO0VBR1k7QTdCbXFGNUI7O0E2QjNwRmdCO0VBR1k7QTdCNHBGNUI7O0E2QjFxRmdCO0VBR1k7QTdCMnFGNUI7O0E2Qm5xRmdCO0VBR1k7QTdCb3FGNUI7O0E2QmxyRmdCO0VBR1k7QTdCbXJGNUI7O0E2QjNxRmdCO0VBR1k7QTdCNHFGNUI7O0E2QjFyRmdCO0VBR1k7QTdCMnJGNUI7O0E2Qm5yRmdCO0VBR1k7QTdCb3JGNUI7O0E2QmxzRmdCO0VBR1k7QTdCbXNGNUI7O0E2QjNyRmdCO0VBR1k7QTdCNHJGNUI7O0E2QjFzRmdCO0VBR1k7QTdCMnNGNUI7O0E2Qm5zRmdCO0VBR1k7QTdCb3NGNUI7O0E2Qmx0RmdCO0VBR1k7QTdCbXRGNUI7O0E2QjNzRmdCO0VBR1k7QTdCNHNGNUI7O0E2QjF0RmdCO0VBR1k7QTdCMnRGNUI7O0E2Qm50RmdCO0VBR1k7QTdCb3RGNUI7O0E2Qmx1RmdCO0VBR1k7QTdCbXVGNUI7O0E2QjN0RmdCO0VBR1k7QTdCNHRGNUI7O0E2QjF1RmdCO0VBR1k7QTdCMnVGNUI7O0E2Qm51RmdCO0VBR1k7QTdCb3VGNUI7O0E2Qmx2RmdCO0VBR1k7QTdCbXZGNUI7O0E2QjN1RmdCO0VBR1k7QTdCNHVGNUI7O0E2QjF2RmdCO0VBR1k7QTdCMnZGNUI7O0E2Qm52RmdCO0VBR1k7QTdCb3ZGNUI7O0E2Qmx3RmdCO0VBR1k7QTdCbXdGNUI7O0E2QjN2RmdCO0VBR1k7QTdCNHZGNUI7O0E2QjF3RmdCO0VBR1k7QTdCMndGNUI7O0E2Qm53RmdCO0VBR1k7QTdCb3dGNUI7O0E2Qmx4RmdCO0VBR1k7QTdCbXhGNUI7O0E2QjN3RmdCO0VBR1k7QTdCNHdGNUI7O0E2QjF4RmdCO0VBR1k7QTdCMnhGNUI7O0E2Qm54RmdCO0VBR1k7QTdCb3hGNUI7O0E2Qmx5RmdCO0VBR1k7QTdCbXlGNUI7O0E2QjN4RmdCO0VBR1k7QTdCNHhGNUI7O0E2QjF5RmdCO0VBR1k7QTdCMnlGNUI7O0E2Qm55RmdCO0VBR1k7QTdCb3lGNUI7O0E2Qmx6RmdCO0VBR1k7QTdCbXpGNUI7O0E2QjN5RmdCO0VBR1k7QTdCNHlGNUI7O0E2QjF6RmdCO0VBR1k7QTdCMnpGNUI7O0E2Qm56RmdCO0VBR1k7QTdCb3pGNUI7O0E2QmwwRmdCO0VBR1k7QTdCbTBGNUI7O0E2QjN6RmdCO0VBR1k7QTdCNHpGNUI7O0E2QjEwRmdCO0VBS1k7QTdCeTBGNUI7O0E2Qm4wRmdCO0VBS1k7QTdCazBGNUI7O0E2QmwxRmdCO0VBS1k7QTdCaTFGNUI7O0E2QjMwRmdCO0VBS1k7QTdCMDBGNUI7O0E2QjExRmdCO0VBS1k7QTdCeTFGNUI7O0E2Qm4xRmdCO0VBS1k7QTdCazFGNUI7O0E2QmwyRmdCO0VBS1k7QTdCaTJGNUI7O0E2QjMxRmdCO0VBS1k7QTdCMDFGNUI7O0E2QjEyRmdCO0VBS1k7QTdCeTJGNUI7O0E2Qm4yRmdCO0VBS1k7QTdCazJGNUI7O0E2QmwzRmdCO0VBS1k7QTdCaTNGNUI7O0E2QjMyRmdCO0VBS1k7QTdCMDJGNUI7O0E4QnIzRlE7RUFDSTtFQUNBO0VBQ0E7QTlCdzNGWjs7QThCdDNGUTtFQUNJO0VBQ0E7RUFDQTtBOUJ5M0ZaOztBNkJ0NEZnQjtFQUtZO0E3QnE0RjVCOztBNkIvM0ZnQjtFQUtZO0E3QjgzRjVCOztBNkI5NEZnQjtFQUtZO0E3QjY0RjVCOztBNkJ2NEZnQjtFQUtZO0E3QnM0RjVCOztBNkJ0NUZnQjtFQUtZO0E3QnE1RjVCOztBNkIvNEZnQjtFQUtZO0E3Qjg0RjVCOztBNkI5NUZnQjtFQUtZO0E3QjY1RjVCOztBNkJ2NUZnQjtFQUtZO0E3QnM1RjVCOztBNkJ0NkZnQjtFQUtZO0E3QnE2RjVCOztBNkIvNUZnQjtFQUtZO0E3Qjg1RjVCOztBNkI5NkZnQjtFQUtZO0E3QjY2RjVCOztBNkJ2NkZnQjtFQUtZO0E3QnM2RjVCOztBNkJ0N0ZnQjtFQUtZO0E3QnE3RjVCOztBNkIvNkZnQjtFQUtZO0E3Qjg2RjVCOztBNkI5N0ZnQjtFQUtZO0E3QjY3RjVCOztBNkJ2N0ZnQjtFQUtZO0E3QnM3RjVCOztBNkJ0OEZnQjtFQUtZO0E3QnE4RjVCOztBNkIvN0ZnQjtFQUtZO0E3Qjg3RjVCOztBNkI5OEZnQjtFQUtZO0E3QjY4RjVCOztBNkJ2OEZnQjtFQUtZO0E3QnM4RjVCOztBNkJ0OUZnQjtFQUtZO0E3QnE5RjVCOztBNkIvOEZnQjtFQUtZO0E3Qjg4RjVCOztBNkI5OUZnQjtFQUtZO0E3QjY5RjVCOztBNkJ2OUZnQjtFQUtZO0E3QnM5RjVCOztBNkJ0K0ZnQjtFQUtZO0E3QnErRjVCOztBNkIvOUZnQjtFQUtZO0E3Qjg5RjVCOztBNkI5K0ZnQjtFQUtZO0E3QjYrRjVCOztBNkJ2K0ZnQjtFQUtZO0E3QnMrRjVCOztBNkJ0L0ZnQjtFQUtZO0E3QnEvRjVCOztBNkIvK0ZnQjtFQUtZO0E3QjgrRjVCOztBNkI5L0ZnQjtFQUtZO0E3QjYvRjVCOztBNkJ2L0ZnQjtFQUtZO0E3QnMvRjVCOztBNkJ0Z0dnQjtFQUtZO0E3QnFnRzVCOztBNkIvL0ZnQjtFQUtZO0E3QjgvRjVCOztBNkI5Z0dnQjtFQUtZO0E3QjZnRzVCOztBNkJ2Z0dnQjtFQUtZO0E3QnNnRzVCOztBNkJ0aEdnQjtFQUtZO0E3QnFoRzVCOztBNkIvZ0dnQjtFQUtZO0E3QjhnRzVCOztBNkI5aEdnQjtFQUtZO0E3QjZoRzVCOztBNkJ2aEdnQjtFQUtZO0E3QnNoRzVCOztBNkJ0aUdnQjtFQUtZO0E3QnFpRzVCOztBNkIvaEdnQjtFQUtZO0E3QjhoRzVCOztBNkI5aUdnQjtFQUtZO0E3QjZpRzVCOztBNkJ2aUdnQjtFQUtZO0E3QnNpRzVCOztBNkJ0akdnQjtFQUtZO0E3QnFqRzVCOztBNkIvaUdnQjtFQUtZO0E3QjhpRzVCOztBNkI5akdnQjtFQUtZO0E3QjZqRzVCOztBNkJ2akdnQjtFQUtZO0E3QnNqRzVCOztBK0J6bEdJO0VBQ0k7QS9CNGxHUjs7QWdDM2xHSTtFQUNJLG1DQ0hXO0VESVgsb0NDSlc7RURLWDtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FoQzhsR1I7QWdDNWxHUTtFQUNJO0VBQ0E7QWhDOGxHWjs7QWdDeGxHUTtFQUNJLGdERXhCTTtFRnlCTixpREV6Qk07QWxDb25HbEI7QWdDemxHUTtFQUNJLGlERTNCTTtFRjRCTixrREU1Qk07QWxDdW5HbEI7QWdDemxHUTtFQUNJLG1DQy9CTztFRGdDUCxvQ0NoQ087QWpDMm5HbkI7QWdDemxHUTtFQUNJLGdERWpDTTtFRmtDTixpREVsQ007QWxDNm5HbEI7QWdDemxHUTtFQUNJLCtDRXBDTTtFRnFDTixnREVyQ007QWxDZ29HbEI7QWdDemxHUTtFQUNJLDZDRXZDTztFRndDUCw4Q0V4Q087QWxDbW9HbkI7QWdDemxHUTtFQUNJLDZDRTFDUTtFRjJDUiw4Q0UzQ1E7QWxDc29HcEI7O0FnQ2xsR1E7Ozs7RUFDSTtBaEN3bEdaOztBZ0NwbEdRO0VBQ0k7QWhDdWxHWjs7QWdDbmxHUTtFQUNJO0FoQ3NsR1o7O0FnQ2psR1E7O0VBQ0k7QWhDcWxHWjs7QWdDN2tHWTtFQUNJO0FoQ2dsR2hCO0FnQzdrR1k7RUFDSTtBaEMra0doQjs7QWdDcGxHWTtFQUNJO0FoQ3VsR2hCO0FnQ3BsR1k7RUFDSTtBaENzbEdoQjs7QWdDM2xHWTtFQUNJO0FoQzhsR2hCO0FnQzNsR1k7RUFDSTtBaEM2bEdoQjs7QWdDbG1HWTtFQUNJO0FoQ3FtR2hCO0FnQ2xtR1k7RUFDSTtBaENvbUdoQjs7QWdDem1HWTtFQUNJO0FoQzRtR2hCO0FnQ3ptR1k7RUFDSTtBaEMybUdoQjs7QWdDaG5HWTtFQUNJO0FoQ21uR2hCO0FnQ2huR1k7RUFDSTtBaENrbkdoQjs7QWdDdm5HWTtFQUNJO0FoQzBuR2hCO0FnQ3ZuR1k7RUFDSTtBaEN5bkdoQjs7QWdDOW5HWTtFQUNJO0FoQ2lvR2hCO0FnQzluR1k7RUFDSTtBaENnb0doQjs7QWlDL3NHSTtFQUNJO0FqQ2t0R1I7O0FpQy9zR0k7RUFDSTtFQUNBO0FqQ2t0R1I7O0FpQy9zR0k7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBakNrdEdSOztBaUMvc0dJO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FqQ2t0R1I7O0E2Qmh1R2dCO0VBS1k7QTdCK3RHNUI7O0E2Qnp0R2dCO0VBS1k7QTdCd3RHNUI7O0E2Qnh1R2dCO0VBS1k7QTdCdXVHNUI7O0E2Qmp1R2dCO0VBS1k7QTdCZ3VHNUI7O0E2Qmh2R2dCO0VBS1k7QTdCK3VHNUI7O0E2Qnp1R2dCO0VBS1k7QTdCd3VHNUI7O0E2Qnh2R2dCO0VBS1k7QTdCdXZHNUI7O0E2Qmp2R2dCO0VBS1k7QTdCZ3ZHNUI7O0E2Qmh3R2dCO0VBS1k7QTdCK3ZHNUI7O0E2Qnp2R2dCO0VBS1k7QTdCd3ZHNUI7O0E2Qnh3R2dCO0VBS1k7QTdCdXdHNUI7O0E2Qmp3R2dCO0VBS1k7QTdCZ3dHNUI7O0E2Qmh4R2dCO0VBS1k7QTdCK3dHNUI7O0E2Qnp3R2dCO0VBS1k7QTdCd3dHNUI7O0E2Qnh4R2dCO0VBS1k7QTdCdXhHNUI7O0E2Qmp4R2dCO0VBS1k7QTdCZ3hHNUI7O0FtQzV4R1k7RUFBMEI7QW5DZ3lHdEM7O0FtQy94R1k7RUFBNEI7QW5DbXlHeEM7O0FtQ2x5R1k7RUFBMEI7QW5Dc3lHdEM7O0FtQ3J5R1k7RUFBNEI7QW5DeXlHeEM7O0FtQ3h5R1k7RUFBaUQ7QW5DNHlHN0Q7O0FtQzN5R1k7RUFBcUQ7QW5DK3lHakU7O0FvQzEwR0k7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QXBDNjBHUjtBb0MzMEdRO0VBQ0k7RUFDQTtBcEM2MEdaOztBcUN4MUdJO0VBQ0k7RUFDQTtFQUNBO0VBRUE7RUFDQTtFQUNBO0FyQzAxR1I7QXFDeDFHUTtFL0JSQSwwRStCVWdCO0FyQ3kxR3hCO0FxQ3QxR1k7RS9CYkosc0YrQmVvQjtBckN1MUc1Qjs7QXFDMTBHUTtFQUNJO0VBQ0E7RUFDQTtBckM2MEdaOztBcUNoMUdRO0VBQ0k7RUFDQTtFQUNBO0FyQ20xR1o7O0FxQ3QxR1E7RUFDSTtFQUNBO0VBQ0E7QXJDeTFHWjs7QXFDNTFHUTtFQUNJO0VBQ0E7RUFDQTtBckMrMUdaOztBcUNsMkdRO0VBQ0k7RUFDQTtFQUNBO0FyQ3EyR1o7O0FzQ3I0R0k7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0F0Q3c0R1I7QXNDdDRHUTs7O0VBR0k7QXRDdzRHWjs7QXNDcjRHSTtFQUNJO0F0Q3c0R1I7O0FzQ240R0k7O0VBRUk7QXRDczRHUjs7QXNDcDRHSTs7RUFFSTtBdEN1NEdSOztBc0NsNEdJO0VBQ0k7RUFDQTtFQUNBO0F0Q3E0R1I7O0FzQ240R0k7RUFDSTtBdENzNEdSOztBc0MzM0dRO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBdEM4M0daO0FzQzUzR1k7RUFDSTtFQUNBO0VBRUE7QXRDNjNHaEI7O0FzQ3g0R1E7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0F0QzI0R1o7QXNDejRHWTtFQUNJO0VBQ0E7RUFFQTtBdEMwNEdoQjs7QXNDcjVHUTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QXRDdzVHWjtBc0N0NUdZO0VBQ0k7RUFDQTtFQUVBO0F0Q3U1R2hCOztBc0NsNUdJO0VBQ0k7QXRDcTVHUjs7QXNDajVHSTtFQUNJO0VBQ0E7QXRDbzVHUjs7QXNDLzRHUTtFQUNJO0VBQ0E7QXRDazVHWjtBc0NwNUdRO0VBQ0k7RUFDQTtBdENzNUdaO0FzQ3A1R1k7RUFFUTtBdENxNUdwQjtBc0NsNUdZO0VBRVE7QXRDbTVHcEI7QXNDaDVHWTtFQUVRO0F0Q2k1R3BCO0FzQzk0R1k7RUFFUTtBdEMrNEdwQjs7QXNDdjRHWTs7O0VBRVE7QXRDMjRHcEI7QXNDeDRHWTs7O0VBRVE7QXRDMjRHcEI7QXNDeDRHWTs7O0VBRVE7QXRDMjRHcEI7QXNDeDRHWTs7O0VBRVE7QXRDMjRHcEI7O0FzQ3o3R1E7RUFDSTtFQUNBO0F0QzQ3R1o7QXNDMTdHWTtFQUVRO0F0QzI3R3BCO0FzQ3g3R1k7RUFFUTtBdEN5N0dwQjtBc0N0N0dZO0VBRVE7QXRDdTdHcEI7QXNDcDdHWTtFQUVRO0F0Q3E3R3BCOztBc0M3NkdZOzs7RUFFUTtBdENpN0dwQjtBc0M5NkdZOzs7RUFFUTtBdENpN0dwQjtBc0M5NkdZOzs7RUFFUTtBdENpN0dwQjtBc0M5NkdZOzs7RUFFUTtBdENpN0dwQjs7QXNDejZHSTtFQUNJO0F0QzQ2R1I7O0F1QzdqSEk7RUFDSTtFQUNBO0VBQ0E7RUFFQTtFQUNBO0VBQ0E7QXZDK2pIUjs7QXVDNWpISTtFQUNJO0F2QytqSFI7O0F1Q3JqSFk7RUFDSTtFQUNBO0VBQ0E7QXZDd2pIaEI7O0F1QzNqSFk7RUFDSTtFQUNBO0VBQ0E7QXZDOGpIaEI7O0F1Q2prSFk7RUFDSTtFQUNBO0VBQ0E7QXZDb2tIaEI7O0F1Q3ZrSFk7RUFDSTtFQUNBO0VBQ0E7QXZDMGtIaEI7O0F1QzdrSFk7RUFDSTtFQUNBO0VBQ0E7QXZDZ2xIaEI7O0F1Q25sSFk7RUFDSTtFQUNBO0VBQ0E7QXZDc2xIaEI7O0F1Q3psSFk7RUFDSTtFQUNBO0VBQ0E7QXZDNGxIaEI7O0F1Qy9sSFk7RUFDSTtFQUNBO0VBQ0E7QXZDa21IaEI7O0F1Q3JtSFk7RUFDSTtFQUNBO0VBQ0E7QXZDd21IaEI7O0F1QzNtSFk7RUFDSTtFQUNBO0VBQ0E7QXZDOG1IaEI7O0F1Q2puSFk7RUFDSTtFQUNBO0VBQ0E7QXZDb25IaEI7O0F1Q3ZuSFk7RUFDSTtFQUNBO0VBQ0E7QXZDMG5IaEI7O0F1QzduSFk7RUFDSTtFQUNBO0VBQ0E7QXZDZ29IaEI7O0F1Q25vSFk7RUFDSTtFQUNBO0VBQ0E7QXZDc29IaEI7O0F1Q3pvSFk7RUFDSTtFQUNBO0VBQ0E7QXZDNG9IaEI7O0F1Qy9vSFk7RUFDSTtFQUNBO0VBQ0E7QXZDa3BIaEI7O0F1Q3JwSFk7RUFDSTtFQUNBO0VBQ0E7QXZDd3BIaEI7O0F1QzNwSFk7RUFDSTtFQUNBO0VBQ0E7QXZDOHBIaEI7O0F3Q3BySEk7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QXhDdXJIUjtBd0NyckhROzs7RUFHSTtBeEN1ckhaO0F3Q3BySFE7RUFDSTtFQUNBO0VBQ0E7QXhDc3JIWjtBd0NuckhRO0VBRUk7RUFDQTtBeENvckhaO0F3Q2pySFE7RUFFSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBeENrckhaO0F3QzdxSFk7RUFFRztBeEM4cUhmOztBd0MvcEhRO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7QXhDa3FIWjs7QXdDL3BIUTtFQUNJO0VBQ0E7QXhDa3FIWjtBd0NocUhZO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBeENrcUhoQjtBd0NocUhnQjtFQUVJO0VBQ0E7QXhDaXFIcEI7QXdDOXBIZ0I7RUFDSTtFQUNBO0F4Q2dxSHBCO0F3QzdwSGdCO0VBQ0k7RUFDQTtBeEMrcEhwQjtBd0M1cEhnQjtFQUNJO0VBQ0E7QXhDOHBIcEI7QXdDM3BIZ0I7RUFDSTtFQUNBO0F4QzZwSHBCO0F3QzFwSGdCO0VBQ0k7RUFDQTtBeEM0cEhwQjtBd0N6cEhnQjtFQUNJO0VBQ0E7QXhDMnBIcEI7O0F3QzlzSFE7RUFDSTtFQUNBO0VBQ0E7RUFDQTtBeENpdEhaOztBd0M5c0hRO0VBQ0k7RUFDQTtBeENpdEhaO0F3Qy9zSFk7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0F4Q2l0SGhCO0F3Qy9zSGdCO0VBRUk7RUFDQTtBeENndEhwQjtBd0M3c0hnQjtFQUNJO0VBQ0E7QXhDK3NIcEI7QXdDNXNIZ0I7RUFDSTtFQUNBO0F4QzhzSHBCO0F3QzNzSGdCO0VBQ0k7RUFDQTtBeEM2c0hwQjtBd0Mxc0hnQjtFQUNJO0VBQ0E7QXhDNHNIcEI7QXdDenNIZ0I7RUFDSTtFQUNBO0F4QzJzSHBCO0F3Q3hzSGdCO0VBQ0k7RUFDQTtBeEMwc0hwQjs7QXdDN3ZIUTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0F4Q2d3SFo7O0F3Qzd2SFE7RUFDSTtFQUNBO0F4Q2d3SFo7QXdDOXZIWTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QXhDZ3dIaEI7QXdDOXZIZ0I7RUFFSTtFQUNBO0F4Qyt2SHBCO0F3QzV2SGdCO0VBQ0k7RUFDQTtBeEM4dkhwQjtBd0MzdkhnQjtFQUNJO0VBQ0E7QXhDNnZIcEI7QXdDMXZIZ0I7RUFDSTtFQUNBO0F4QzR2SHBCO0F3Q3p2SGdCO0VBQ0k7RUFDQTtBeEMydkhwQjtBd0N4dkhnQjtFQUNJO0VBQ0E7QXhDMHZIcEI7QXdDdnZIZ0I7RUFDSTtFQUNBO0F4Q3l2SHBCOztBd0NsdkhJO0VBQ0k7QXhDcXZIUjtBd0NudkhRO0VBQ0k7QXhDcXZIWjs7QXdDL3VISTtFQUNJO0VBQ0E7RUFDQTtBeENrdkhSOztBd0M3dUhJO0VBQ0k7RUFDQTtFQUNBO0F4Q2d2SFI7QXdDOXVIUTtFcEM5SkEsc0JvQ2dLNEI7RUFDeEI7RUFDQTtBeEMrdUhaOztBd0MzdUhJO0VBQ0k7RUFDQTtFQUNBO0F4Qzh1SFI7QXdDM3VIUTtFcEM1S0Esc0JvQzZLNEI7RUFDeEI7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0F4QzZ1SFo7QXdDdnVIWTtFQUNJO0F4Q3l1SGhCO0F3Q2x1SFk7RUFDSTtBeENvdUhoQjtBd0NqdUhZO0VBQ0k7RUFDQTtBeENtdUhoQjtBd0M3dEhnQjtFQUNJO0F4Qyt0SHBCO0F3Q3h0SFk7RUFDSTtBeEMwdEhoQjtBd0NudEhZO0VBQ0k7QXhDcXRIaEI7QXdDL3NIZ0I7RUFDSTtBeENpdEhwQjtBd0Mxc0hZO0VBQ0k7QXhDNHNIaEI7QXdDdHNIZ0I7RUFDSTtBeEN3c0hwQjtBd0Nuc0hRO0VBQ0k7QXhDcXNIWjs7QXdDL3JISTtFQUNJO0VBQ0E7RUFDQTtBeENrc0hSOztBd0M5ckhJO0VBQ0k7RUFDQTtFQUNBO0F4Q2lzSFI7QXdDL3JIUTtFcENsUkEsc0JvQ29SNEI7RUFDeEI7RUFDQTtBeENnc0haO0F3QzdySFE7RUFJSTtBeEM0ckhaOztBd0N0ckhJO0VBQ0k7RUFDQTtFQUNBO0F4Q3lySFI7QXdDdnJIUTtFQUVJO0VBQ0E7QXhDd3JIWjs7QXdDbHJISTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQSw2Q0NoVHVCO0F6Q3ErSC9CO0F3Q25ySFE7RUFDSTtBeENxckhaO0F3Q2xySFE7Ozs7Ozs7RUFPSTtBeENvckhaO0F3Q2pySFE7RUFDSTtFQUNBO0VBQ0E7RUFDQTtBeENtckhaO0F3Q2pySFE7RUFDSTtFQUNBO0F4Q21ySFo7QXdDanJIUTtFQUNJO0VBQ0E7QXhDbXJIWjtBd0NockhRO0VBR0k7RUFDQTtBeENnckhaOztBd0M1cUhJO0VBQ0k7QXhDK3FIUjtBd0M3cUhRO0VBQ0k7RUFDQTtBeEMrcUhaOztBMEN4aElJO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUVBO0VBQ0E7RUFDQTtFQUNBO0VBR0E7QTFDd2hJUjtBMEN0aElRO0VBRUk7RUFDQTtFQUNBO0ExQ3VoSVo7QTBDcGhJUTtFQUVJO0VBQ0E7RUFDQTtBMUNxaElaO0EwQ25oSVk7RUFFSTtFQUNBO0VBQ0E7QTFDb2hJaEI7QTBDaGhJUTtFQUVJO0ExQ2loSVo7QTBDOWdJUTtFQUVJO0VBQ0E7RUFDQTtBMUMrZ0laO0EwQzdnSVk7RUFFSTtFQUNBO0VBQ0E7QTFDOGdJaEI7QTBDMWdJUTtFQUNJO0VBQ0E7RUFDQTtBMUM0Z0laO0EwQzFnSVk7RUFFSTtFQUNBO0VBQ0E7QTFDMmdJaEI7O0EwQ3RnSUk7Ozs7RUFJSTtFQUNBO0VBQ0E7QTFDeWdJUjs7QTBDditIWTtFQUNJO0VBQ0E7RUFDQTtFQUVBO0VBQ0E7RUFDQTtFQUVBO0VBQ0E7RUFDQTtFQUNBO0VBRUE7RUFDQTtFQUNBO0VBRUE7RUFDQTtFQUNBO0VBRUE7RUFDQTtFQUNBO0VBRUE7RUFDQTtFQUNBO0VBRUE7RUFDQTtFQUNBO0VBRUE7RUFDQTtFQUNBO0ExQ2srSGhCOztBMEN0Z0lZO0VBQ0k7RUFDQTtFQUNBO0VBRUE7RUFDQTtFQUNBO0VBRUE7RUFDQTtFQUNBO0VBQ0E7RUFFQTtFQUNBO0VBQ0E7RUFFQTtFQUNBO0VBQ0E7RUFFQTtFQUNBO0VBQ0E7RUFFQTtFQUNBO0VBQ0E7RUFFQTtFQUNBO0VBQ0E7RUFFQTtFQUNBO0VBQ0E7QTFDaWdJaEI7O0EwQ3JpSVk7RUFDSTtFQUNBO0VBQ0E7RUFFQTtFQUNBO0VBQ0E7RUFFQTtFQUNBO0VBQ0E7RUFDQTtFQUVBO0VBQ0E7RUFDQTtFQUVBO0VBQ0E7RUFDQTtFQUVBO0VBQ0E7RUFDQTtFQUVBO0VBQ0E7RUFDQTtFQUVBO0VBQ0E7RUFDQTtFQUVBO0VBQ0E7RUFDQTtBMUNnaUloQjs7QTBDcGtJWTtFQUNJO0VBQ0E7RUFDQTtFQUVBO0VBQ0E7RUFDQTtFQUVBO0VBQ0E7RUFDQTtFQUNBO0VBRUE7RUFDQTtFQUNBO0VBRUE7RUFDQTtFQUNBO0VBRUE7RUFDQTtFQUNBO0VBRUE7RUFDQTtFQUNBO0VBRUE7RUFDQTtFQUNBO0VBRUE7RUFDQTtFQUNBO0ExQytqSWhCOztBMENubUlZO0VBQ0k7RUFDQTtFQUNBO0VBRUE7RUFDQTtFQUNBO0VBRUE7RUFDQTtFQUNBO0VBQ0E7RUFFQTtFQUNBO0VBQ0E7RUFFQTtFQUNBO0VBQ0E7RUFFQTtFQUNBO0VBQ0E7RUFFQTtFQUNBO0VBQ0E7RUFFQTtFQUNBO0VBQ0E7RUFFQTtFQUNBO0VBQ0E7QTFDOGxJaEI7O0EwQ2xvSVk7RUFDSTtFQUNBO0VBQ0E7RUFFQTtFQUNBO0VBQ0E7RUFFQTtFQUNBO0VBQ0E7RUFDQTtFQUVBO0VBQ0E7RUFDQTtFQUVBO0VBQ0E7RUFDQTtFQUVBO0VBQ0E7RUFDQTtFQUVBO0VBQ0E7RUFDQTtFQUVBO0VBQ0E7RUFDQTtFQUVBO0VBQ0E7RUFDQTtBMUM2bkloQjs7QTBDanFJWTtFQUNJO0VBQ0E7RUFDQTtFQUVBO0VBQ0E7RUFDQTtFQUVBO0VBQ0E7RUFDQTtFQUNBO0VBRUE7RUFDQTtFQUNBO0VBRUE7RUFDQTtFQUNBO0VBRUE7RUFDQTtFQUNBO0VBRUE7RUFDQTtFQUNBO0VBRUE7RUFDQTtFQUNBO0VBRUE7RUFDQTtFQUNBO0ExQzRwSWhCOztBMENoc0lZO0VBQ0k7RUFDQTtFQUNBO0VBRUE7RUFDQTtFQUNBO0VBRUE7RUFDQTtFQUNBO0VBQ0E7RUFFQTtFQUNBO0VBQ0E7RUFFQTtFQUNBO0VBQ0E7RUFFQTtFQUNBO0VBQ0E7RUFFQTtFQUNBO0VBQ0E7RUFFQTtFQUNBO0VBQ0E7RUFFQTtFQUNBO0VBQ0E7QTFDMnJJaEI7O0EwQy90SVk7RUFDSTtFQUNBO0VBQ0E7RUFFQTtFQUNBO0VBQ0E7RUFFQTtFQUNBO0VBQ0E7RUFDQTtFQUVBO0VBQ0E7RUFDQTtFQUVBO0VBQ0E7RUFDQTtFQUVBO0VBQ0E7RUFDQTtFQUVBO0VBQ0E7RUFDQTtFQUVBO0VBQ0E7RUFDQTtFQUVBO0VBQ0E7RUFDQTtBMUMwdEloQjs7QTBDOXZJWTtFQUNJO0VBQ0E7RUFDQTtFQUVBO0VBQ0E7RUFDQTtFQUVBO0VBQ0E7RUFDQTtFQUNBO0VBRUE7RUFDQTtFQUNBO0VBRUE7RUFDQTtFQUNBO0VBRUE7RUFDQTtFQUNBO0VBRUE7RUFDQTtFQUNBO0VBRUE7RUFDQTtFQUNBO0VBRUE7RUFDQTtFQUNBO0ExQ3l2SWhCOztBMEM3eElZO0VBQ0k7RUFDQTtFQUNBO0VBRUE7RUFDQTtFQUNBO0VBRUE7RUFDQTtFQUNBO0VBQ0E7RUFFQTtFQUNBO0VBQ0E7RUFFQTtFQUNBO0VBQ0E7RUFFQTtFQUNBO0VBQ0E7RUFFQTtFQUNBO0VBQ0E7RUFFQTtFQUNBO0VBQ0E7RUFFQTtFQUNBO0VBQ0E7QTFDd3hJaEI7O0EwQzV6SVk7RUFDSTtFQUNBO0VBQ0E7RUFFQTtFQUNBO0VBQ0E7RUFFQTtFQUNBO0VBQ0E7RUFDQTtFQUVBO0VBQ0E7RUFDQTtFQUVBO0VBQ0E7RUFDQTtFQUVBO0VBQ0E7RUFDQTtFQUVBO0VBQ0E7RUFDQTtFQUVBO0VBQ0E7RUFDQTtFQUVBO0VBQ0E7RUFDQTtBMUN1ekloQjs7QTBDMzFJWTtFQUNJO0VBQ0E7RUFDQTtFQUVBO0VBQ0E7RUFDQTtFQUVBO0VBQ0E7RUFDQTtFQUNBO0VBRUE7RUFDQTtFQUNBO0VBRUE7RUFDQTtFQUNBO0VBRUE7RUFDQTtFQUNBO0VBRUE7RUFDQTtFQUNBO0VBRUE7RUFDQTtFQUNBO0VBRUE7RUFDQTtFQUNBO0ExQ3MxSWhCOztBMEMxM0lZO0VBQ0k7RUFDQTtFQUNBO0VBRUE7RUFDQTtFQUNBO0VBRUE7RUFDQTtFQUNBO0VBQ0E7RUFFQTtFQUNBO0VBQ0E7RUFFQTtFQUNBO0VBQ0E7RUFFQTtFQUNBO0VBQ0E7RUFFQTtFQUNBO0VBQ0E7RUFFQTtFQUNBO0VBQ0E7RUFFQTtFQUNBO0VBQ0E7QTFDcTNJaEI7O0EwQ3o1SVk7RUFDSTtFQUNBO0VBQ0E7RUFFQTtFQUNBO0VBQ0E7RUFFQTtFQUNBO0VBQ0E7RUFDQTtFQUVBO0VBQ0E7RUFDQTtFQUVBO0VBQ0E7RUFDQTtFQUVBO0VBQ0E7RUFDQTtFQUVBO0VBQ0E7RUFDQTtFQUVBO0VBQ0E7RUFDQTtFQUVBO0VBQ0E7RUFDQTtBMUNvNUloQjs7QTBDeDdJWTtFQUNJO0VBQ0E7RUFDQTtFQUVBO0VBQ0E7RUFDQTtFQUVBO0VBQ0E7RUFDQTtFQUNBO0VBRUE7RUFDQTtFQUNBO0VBRUE7RUFDQTtFQUNBO0VBRUE7RUFDQTtFQUNBO0VBRUE7RUFDQTtFQUNBO0VBRUE7RUFDQTtFQUNBO0VBRUE7RUFDQTtFQUNBO0ExQ203SWhCOztBMEN2OUlZO0VBQ0k7RUFDQTtFQUNBO0VBRUE7RUFDQTtFQUNBO0VBRUE7RUFDQTtFQUNBO0VBQ0E7RUFFQTtFQUNBO0VBQ0E7RUFFQTtFQUNBO0VBQ0E7RUFFQTtFQUNBO0VBQ0E7RUFFQTtFQUNBO0VBQ0E7RUFFQTtFQUNBO0VBQ0E7RUFFQTtFQUNBO0VBQ0E7QTFDazlJaEI7O0EwQ3QvSVk7RUFDSTtFQUNBO0VBQ0E7RUFFQTtFQUNBO0VBQ0E7RUFFQTtFQUNBO0VBQ0E7RUFDQTtFQUVBO0VBQ0E7RUFDQTtFQUVBO0VBQ0E7RUFDQTtFQUVBO0VBQ0E7RUFDQTtFQUVBO0VBQ0E7RUFDQTtFQUVBO0VBQ0E7RUFDQTtFQUVBO0VBQ0E7RUFDQTtBMUNpL0loQjs7QTBDcmhKWTtFQUNJO0VBQ0E7RUFDQTtFQUVBO0VBQ0E7RUFDQTtFQUVBO0VBQ0E7RUFDQTtFQUNBO0VBRUE7RUFDQTtFQUNBO0VBRUE7RUFDQTtFQUNBO0VBRUE7RUFDQTtFQUNBO0VBRUE7RUFDQTtFQUNBO0VBRUE7RUFDQTtFQUNBO0VBRUE7RUFDQTtFQUNBO0ExQ2doSmhCOztBMENwakpZO0VBQ0k7RUFDQTtFQUNBO0VBRUE7RUFDQTtFQUNBO0VBRUE7RUFDQTtFQUNBO0VBQ0E7RUFFQTtFQUNBO0VBQ0E7RUFFQTtFQUNBO0VBQ0E7RUFFQTtFQUNBO0VBQ0E7RUFFQTtFQUNBO0VBQ0E7RUFFQTtFQUNBO0VBQ0E7RUFFQTtFQUNBO0VBQ0E7QTFDK2lKaEI7O0EwQ25sSlk7RUFDSTtFQUNBO0VBQ0E7RUFFQTtFQUNBO0VBQ0E7RUFFQTtFQUNBO0VBQ0E7RUFDQTtFQUVBO0VBQ0E7RUFDQTtFQUVBO0VBQ0E7RUFDQTtFQUVBO0VBQ0E7RUFDQTtFQUVBO0VBQ0E7RUFDQTtFQUVBO0VBQ0E7RUFDQTtFQUVBO0VBQ0E7RUFDQTtBMUM4a0poQjs7QTBDbG5KWTtFQUNJO0VBQ0E7RUFDQTtFQUVBO0VBQ0E7RUFDQTtFQUVBO0VBQ0E7RUFDQTtFQUNBO0VBRUE7RUFDQTtFQUNBO0VBRUE7RUFDQTtFQUNBO0VBRUE7RUFDQTtFQUNBO0VBRUE7RUFDQTtFQUNBO0VBRUE7RUFDQTtFQUNBO0VBRUE7RUFDQTtFQUNBO0ExQzZtSmhCOztBMENqcEpZO0VBQ0k7RUFDQTtFQUNBO0VBRUE7RUFDQTtFQUNBO0VBRUE7RUFDQTtFQUNBO0VBQ0E7RUFFQTtFQUNBO0VBQ0E7RUFFQTtFQUNBO0VBQ0E7RUFFQTtFQUNBO0VBQ0E7RUFFQTtFQUNBO0VBQ0E7RUFFQTtFQUNBO0VBQ0E7RUFFQTtFQUNBO0VBQ0E7QTFDNG9KaEI7O0EwQ2hySlk7RUFDSTtFQUNBO0VBQ0E7RUFFQTtFQUNBO0VBQ0E7RUFFQTtFQUNBO0VBQ0E7RUFDQTtFQUVBO0VBQ0E7RUFDQTtFQUVBO0VBQ0E7RUFDQTtFQUVBO0VBQ0E7RUFDQTtFQUVBO0VBQ0E7RUFDQTtFQUVBO0VBQ0E7RUFDQTtFQUVBO0VBQ0E7RUFDQTtBMUMycUpoQjs7QTBDL3NKWTtFQUNJO0VBQ0E7RUFDQTtFQUVBO0VBQ0E7RUFDQTtFQUVBO0VBQ0E7RUFDQTtFQUNBO0VBRUE7RUFDQTtFQUNBO0VBRUE7RUFDQTtFQUNBO0VBRUE7RUFDQTtFQUNBO0VBRUE7RUFDQTtFQUNBO0VBRUE7RUFDQTtFQUNBO0VBRUE7RUFDQTtFQUNBO0ExQzBzSmhCOztBMEM5dUpZO0VBQ0k7RUFDQTtFQUNBO0VBRUE7RUFDQTtFQUNBO0VBRUE7RUFDQTtFQUNBO0VBQ0E7RUFFQTtFQUNBO0VBQ0E7RUFFQTtFQUNBO0VBQ0E7RUFFQTtFQUNBO0VBQ0E7RUFFQTtFQUNBO0VBQ0E7RUFFQTtFQUNBO0VBQ0E7RUFFQTtFQUNBO0VBQ0E7QTFDeXVKaEI7O0EwQzd3Slk7RUFDSTtFQUNBO0VBQ0E7RUFFQTtFQUNBO0VBQ0E7RUFFQTtFQUNBO0VBQ0E7RUFDQTtFQUVBO0VBQ0E7RUFDQTtFQUVBO0VBQ0E7RUFDQTtFQUVBO0VBQ0E7RUFDQTtFQUVBO0VBQ0E7RUFDQTtFQUVBO0VBQ0E7RUFDQTtFQUVBO0VBQ0E7RUFDQTtBMUN3d0poQjs7QTBDNXlKWTtFQUNJO0VBQ0E7RUFDQTtFQUVBO0VBQ0E7RUFDQTtFQUVBO0VBQ0E7RUFDQTtFQUNBO0VBRUE7RUFDQTtFQUNBO0VBRUE7RUFDQTtFQUNBO0VBRUE7RUFDQTtFQUNBO0VBRUE7RUFDQTtFQUNBO0VBRUE7RUFDQTtFQUNBO0VBRUE7RUFDQTtFQUNBO0ExQ3V5SmhCOztBMEMzMEpZO0VBQ0k7RUFDQTtFQUNBO0VBRUE7RUFDQTtFQUNBO0VBRUE7RUFDQTtFQUNBO0VBQ0E7RUFFQTtFQUNBO0VBQ0E7RUFFQTtFQUNBO0VBQ0E7RUFFQTtFQUNBO0VBQ0E7RUFFQTtFQUNBO0VBQ0E7RUFFQTtFQUNBO0VBQ0E7RUFFQTtFQUNBO0VBQ0E7QTFDczBKaEI7O0EwQzEySlk7RUFDSTtFQUNBO0VBQ0E7RUFFQTtFQUNBO0VBQ0E7RUFFQTtFQUNBO0VBQ0E7RUFDQTtFQUVBO0VBQ0E7RUFDQTtFQUVBO0VBQ0E7RUFDQTtFQUVBO0VBQ0E7RUFDQTtFQUVBO0VBQ0E7RUFDQTtFQUVBO0VBQ0E7RUFDQTtFQUVBO0VBQ0E7RUFDQTtBMUNxMkpoQjs7QTBDejRKWTtFQUNJO0VBQ0E7RUFDQTtFQUVBO0VBQ0E7RUFDQTtFQUVBO0VBQ0E7RUFDQTtFQUNBO0VBRUE7RUFDQTtFQUNBO0VBRUE7RUFDQTtFQUNBO0VBRUE7RUFDQTtFQUNBO0VBRUE7RUFDQTtFQUNBO0VBRUE7RUFDQTtFQUNBO0VBRUE7RUFDQTtFQUNBO0ExQ280SmhCOztBMEN4NkpZO0VBQ0k7RUFDQTtFQUNBO0VBRUE7RUFDQTtFQUNBO0VBRUE7RUFDQTtFQUNBO0VBQ0E7RUFFQTtFQUNBO0VBQ0E7RUFFQTtFQUNBO0VBQ0E7RUFFQTtFQUNBO0VBQ0E7RUFFQTtFQUNBO0VBQ0E7RUFFQTtFQUNBO0VBQ0E7RUFFQTtFQUNBO0VBQ0E7QTFDbTZKaEI7O0EwQ3Y4Slk7RUFDSTtFQUNBO0VBQ0E7RUFFQTtFQUNBO0VBQ0E7RUFFQTtFQUNBO0VBQ0E7RUFDQTtFQUVBO0VBQ0E7RUFDQTtFQUVBO0VBQ0E7RUFDQTtFQUVBO0VBQ0E7RUFDQTtFQUVBO0VBQ0E7RUFDQTtFQUVBO0VBQ0E7RUFDQTtFQUVBO0VBQ0E7RUFDQTtBMUNrOEpoQjs7QTBDdCtKWTtFQUNJO0VBQ0E7RUFDQTtFQUVBO0VBQ0E7RUFDQTtFQUVBO0VBQ0E7RUFDQTtFQUNBO0VBRUE7RUFDQTtFQUNBO0VBRUE7RUFDQTtFQUNBO0VBRUE7RUFDQTtFQUNBO0VBRUE7RUFDQTtFQUNBO0VBRUE7RUFDQTtFQUNBO0VBRUE7RUFDQTtFQUNBO0ExQ2krSmhCOztBMENyZ0tZO0VBQ0k7RUFDQTtFQUNBO0VBRUE7RUFDQTtFQUNBO0VBRUE7RUFDQTtFQUNBO0VBQ0E7RUFFQTtFQUNBO0VBQ0E7RUFFQTtFQUNBO0VBQ0E7RUFFQTtFQUNBO0VBQ0E7RUFFQTtFQUNBO0VBQ0E7RUFFQTtFQUNBO0VBQ0E7RUFFQTtFQUNBO0VBQ0E7QTFDZ2dLaEI7O0EwQ3BpS1k7RUFDSTtFQUNBO0VBQ0E7RUFFQTtFQUNBO0VBQ0E7RUFFQTtFQUNBO0VBQ0E7RUFDQTtFQUVBO0VBQ0E7RUFDQTtFQUVBO0VBQ0E7RUFDQTtFQUVBO0VBQ0E7RUFDQTtFQUVBO0VBQ0E7RUFDQTtFQUVBO0VBQ0E7RUFDQTtFQUVBO0VBQ0E7RUFDQTtBMUMraEtoQjs7QTBDbmtLWTtFQUNJO0VBQ0E7RUFDQTtFQUVBO0VBQ0E7RUFDQTtFQUVBO0VBQ0E7RUFDQTtFQUNBO0VBRUE7RUFDQTtFQUNBO0VBRUE7RUFDQTtFQUNBO0VBRUE7RUFDQTtFQUNBO0VBRUE7RUFDQTtFQUNBO0VBRUE7RUFDQTtFQUNBO0VBRUE7RUFDQTtFQUNBO0ExQzhqS2hCOztBMENsbUtZO0VBQ0k7RUFDQTtFQUNBO0VBRUE7RUFDQTtFQUNBO0VBRUE7RUFDQTtFQUNBO0VBQ0E7RUFFQTtFQUNBO0VBQ0E7RUFFQTtFQUNBO0VBQ0E7RUFFQTtFQUNBO0VBQ0E7RUFFQTtFQUNBO0VBQ0E7RUFFQTtFQUNBO0VBQ0E7RUFFQTtFQUNBO0VBQ0E7QTFDNmxLaEI7O0EwQ2pvS1k7RUFDSTtFQUNBO0VBQ0E7RUFFQTtFQUNBO0VBQ0E7RUFFQTtFQUNBO0VBQ0E7RUFDQTtFQUVBO0VBQ0E7RUFDQTtFQUVBO0VBQ0E7RUFDQTtFQUVBO0VBQ0E7RUFDQTtFQUVBO0VBQ0E7RUFDQTtFQUVBO0VBQ0E7RUFDQTtFQUVBO0VBQ0E7RUFDQTtBMUM0bktoQjs7QTBDaHFLWTtFQUNJO0VBQ0E7RUFDQTtFQUVBO0VBQ0E7RUFDQTtFQUVBO0VBQ0E7RUFDQTtFQUNBO0VBRUE7RUFDQTtFQUNBO0VBRUE7RUFDQTtFQUNBO0VBRUE7RUFDQTtFQUNBO0VBRUE7RUFDQTtFQUNBO0VBRUE7RUFDQTtFQUNBO0VBRUE7RUFDQTtFQUNBO0ExQzJwS2hCOztBMEMvcktZO0VBQ0k7RUFDQTtFQUNBO0VBRUE7RUFDQTtFQUNBO0VBRUE7RUFDQTtFQUNBO0VBQ0E7RUFFQTtFQUNBO0VBQ0E7RUFFQTtFQUNBO0VBQ0E7RUFFQTtFQUNBO0VBQ0E7RUFFQTtFQUNBO0VBQ0E7RUFFQTtFQUNBO0VBQ0E7RUFFQTtFQUNBO0VBQ0E7QTFDMHJLaEI7O0EwQzl0S1k7RUFDSTtFQUNBO0VBQ0E7RUFFQTtFQUNBO0VBQ0E7RUFFQTtFQUNBO0VBQ0E7RUFDQTtFQUVBO0VBQ0E7RUFDQTtFQUVBO0VBQ0E7RUFDQTtFQUVBO0VBQ0E7RUFDQTtFQUVBO0VBQ0E7RUFDQTtFQUVBO0VBQ0E7RUFDQTtFQUVBO0VBQ0E7RUFDQTtBMUN5dEtoQjs7QTBDN3ZLWTtFQUNJO0VBQ0E7RUFDQTtFQUVBO0VBQ0E7RUFDQTtFQUVBO0VBQ0E7RUFDQTtFQUNBO0VBRUE7RUFDQTtFQUNBO0VBRUE7RUFDQTtFQUNBO0VBRUE7RUFDQTtFQUNBO0VBRUE7RUFDQTtFQUNBO0VBRUE7RUFDQTtFQUNBO0VBRUE7RUFDQTtFQUNBO0ExQ3d2S2hCOztBMEM1eEtZO0VBQ0k7RUFDQTtFQUNBO0VBRUE7RUFDQTtFQUNBO0VBRUE7RUFDQTtFQUNBO0VBQ0E7RUFFQTtFQUNBO0VBQ0E7RUFFQTtFQUNBO0VBQ0E7RUFFQTtFQUNBO0VBQ0E7RUFFQTtFQUNBO0VBQ0E7RUFFQTtFQUNBO0VBQ0E7RUFFQTtFQUNBO0VBQ0E7QTFDdXhLaEI7O0EwQzN6S1k7RUFDSTtFQUNBO0VBQ0E7RUFFQTtFQUNBO0VBQ0E7RUFFQTtFQUNBO0VBQ0E7RUFDQTtFQUVBO0VBQ0E7RUFDQTtFQUVBO0VBQ0E7RUFDQTtFQUVBO0VBQ0E7RUFDQTtFQUVBO0VBQ0E7RUFDQTtFQUVBO0VBQ0E7RUFDQTtFQUVBO0VBQ0E7RUFDQTtBMUNzektoQjs7QTBDMTFLWTtFQUNJO0VBQ0E7RUFDQTtFQUVBO0VBQ0E7RUFDQTtFQUVBO0VBQ0E7RUFDQTtFQUNBO0VBRUE7RUFDQTtFQUNBO0VBRUE7RUFDQTtFQUNBO0VBRUE7RUFDQTtFQUNBO0VBRUE7RUFDQTtFQUNBO0VBRUE7RUFDQTtFQUNBO0VBRUE7RUFDQTtFQUNBO0ExQ3ExS2hCOztBMEN6M0tZO0VBQ0k7RUFDQTtFQUNBO0VBRUE7RUFDQTtFQUNBO0VBRUE7RUFDQTtFQUNBO0VBQ0E7RUFFQTtFQUNBO0VBQ0E7RUFFQTtFQUNBO0VBQ0E7RUFFQTtFQUNBO0VBQ0E7RUFFQTtFQUNBO0VBQ0E7RUFFQTtFQUNBO0VBQ0E7RUFFQTtFQUNBO0VBQ0E7QTFDbzNLaEI7O0EwQ3g1S1k7RUFDSTtFQUNBO0VBQ0E7RUFFQTtFQUNBO0VBQ0E7RUFFQTtFQUNBO0VBQ0E7RUFDQTtFQUVBO0VBQ0E7RUFDQTtFQUVBO0VBQ0E7RUFDQTtFQUVBO0VBQ0E7RUFDQTtFQUVBO0VBQ0E7RUFDQTtFQUVBO0VBQ0E7RUFDQTtFQUVBO0VBQ0E7RUFDQTtBMUNtNUtoQjs7QTBDdjdLWTtFQUNJO0VBQ0E7RUFDQTtFQUVBO0VBQ0E7RUFDQTtFQUVBO0VBQ0E7RUFDQTtFQUNBO0VBRUE7RUFDQTtFQUNBO0VBRUE7RUFDQTtFQUNBO0VBRUE7RUFDQTtFQUNBO0VBRUE7RUFDQTtFQUNBO0VBRUE7RUFDQTtFQUNBO0VBRUE7RUFDQTtFQUNBO0ExQ2s3S2hCOztBMEM3NktJOzs7RUFHSTtBMUNnN0tSOztBMkMza0xJOzs7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QTNDZ2xMUjtBMkM5a0xROzs7Ozs7Ozs7Ozs7O0VBR0k7QTNDMGxMWjs7QTJDOWtMSTtFQUNJO0EzQ2lsTFI7O0EyQy9rTEk7RUFDSTtBM0NrbExSOztBMkNobExJO0VBQ0k7QTNDbWxMUjs7QTJDamxMSTtFQUNJO0EzQ29sTFI7O0EyQ2xsTEk7RUFDSTtBM0NxbExSOztBMkNqbExJO0VBQ0k7RUFDQTtBM0NvbExSOztBMkNsbExJO0VBQ0k7RUFDQTtBM0NxbExSOztBNEN2b0xJOzs7RXRDREksa0RzQ0tJO0V0Q0ZKO0VBR0Esa0RzQ0ZJO0E1QzRvTFo7O0E2QjluTGdCO0VBS1k7QTdCNm5MNUI7O0E2QnZuTGdCO0VBS1k7QTdCc25MNUI7O0E2QnRvTGdCO0VBS1k7QTdCcW9MNUI7O0E2Qi9uTGdCO0VBS1k7QTdCOG5MNUI7O0E2QjlvTGdCO0VBS1k7QTdCNm9MNUI7O0E2QnZvTGdCO0VBS1k7QTdCc29MNUI7O0E2QnRwTGdCO0VBS1k7QTdCcXBMNUI7O0E2Qi9vTGdCO0VBS1k7QTdCOG9MNUI7O0E2QjlwTGdCO0VBS1k7QTdCNnBMNUI7O0E2QnZwTGdCO0VBS1k7QTdCc3BMNUI7O0E2QnRxTGdCO0VBS1k7QTdCcXFMNUI7O0E2Qi9wTGdCO0VBS1k7QTdCOHBMNUI7O0E2QjlxTGdCO0VBS1k7QTdCNnFMNUI7O0E2QnZxTGdCO0VBS1k7QTdCc3FMNUI7O0E2QnRyTGdCO0VBS1k7QTdCcXJMNUI7O0E2Qi9xTGdCO0VBS1k7QTdCOHFMNUI7O0E2QjlyTGdCO0VBS1k7QTdCNnJMNUI7O0E2QnZyTGdCO0VBS1k7QTdCc3JMNUI7O0E2QnRzTGdCO0VBS1k7QTdCcXNMNUI7O0E2Qi9yTGdCO0VBS1k7QTdCOHJMNUI7O0E2QjlzTGdCO0VBS1k7QTdCNnNMNUI7O0E2QnZzTGdCO0VBS1k7QTdCc3NMNUI7O0E2QnR0TGdCO0VBS1k7QTdCcXRMNUI7O0E2Qi9zTGdCO0VBS1k7QTdCOHNMNUI7O0E2Qjl0TGdCO0VBS1k7QTdCNnRMNUI7O0E2QnZ0TGdCO0VBS1k7QTdCc3RMNUI7O0E2QnR1TGdCO0VBS1k7QTdCcXVMNUI7O0E2Qi90TGdCO0VBS1k7QTdCOHRMNUI7O0E2Qjl1TGdCO0VBS1k7QTdCNnVMNUI7O0E2QnZ1TGdCO0VBS1k7QTdCc3VMNUI7O0E2Qy9xTFE7RUFBK0M7QTdDbXJMdkQ7O0E2Q2xyTFE7RUFBa0Q7QTdDc3JMMUQ7O0E4QzV3TEk7RUFDSTtFQUNBO0E5Qyt3TFI7QThDN3dMUTtFQUNJO0VBQ0E7QTlDK3dMWjs7QThDM3dMSTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QTlDOHdMUjtBOEM1d0xROzs7RUFHSTtBOUM4d0xaOztBOEN4d0xJO0VBQ0k7RUFDQTtBOUMyd0xSOztBOEN0d0xJO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBOUN5d0xSOztBOENwd0xJO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBOUN1d0xSOztBOENsd0xJO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0E5Q3F3TFI7O0E4Q2h3TEk7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBOUNtd0xSO0E4Q2p3TFE7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBOUNtd0xaOztBOEM3dkxROzs7RUFDSTtFQUNBO0VBQ0E7QTlDa3dMWjs7QThDL3ZMSTtFQUVJO0E5Q2l3TFI7O0E4Qzl2TEk7RUFFSTtFQUNBO0E5Q2d3TFI7O0E4QzV2TEk7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QTlDK3ZMUjs7QThDMXZMSTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBOUM2dkxSOztBOEN2dkxJOztFQUVJO0E5QzB2TFI7O0E4Q3h2TEk7Ozs7OztFQUlJO0VBQ0E7QTlDNnZMUjs7QThDM3ZMSTs7RUFFSTtFQUNBO0VBQ0E7QTlDOHZMUjs7QThDNXZMSTtFQUNJO0E5Qyt2TFI7O0E4QzF2TEk7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0E5QzZ2TFI7O0E4Q3J1TFE7RUFDSTtFQUNBO0E5Q3d1TFo7QThDdHVMWTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0E5Q3d1TGhCO0E4Q3J1TFk7RUFDSTtFQUNBO0VBQ0E7RUFDQTtBOUN1dUxoQjtBOENwdUxZO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7QTlDc3VMaEI7QThDbnVMWTtFQUNJO0VBQ0E7RUFDQTtBOUNxdUxoQjs7QThDandMUTtFQUNJO0VBQ0E7QTlDb3dMWjtBOENsd0xZO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7QTlDb3dMaEI7QThDandMWTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0E5Q213TGhCO0E4Q2h3TFk7RUFDSTtFQUNBO0VBQ0E7RUFDQTtBOUNrd0xoQjtBOEMvdkxZO0VBQ0k7RUFDQTtFQUNBO0E5Q2l3TGhCOztBOEM3eExRO0VBQ0k7RUFDQTtBOUNneUxaO0E4Qzl4TFk7RUFDSTtFQUNBO0VBQ0E7RUFDQTtBOUNneUxoQjtBOEM3eExZO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7QTlDK3hMaEI7QThDNXhMWTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0E5Qzh4TGhCO0E4QzN4TFk7RUFDSTtFQUNBO0VBQ0E7QTlDNnhMaEI7O0ErQ25oTUk7RXpDREksOEV5Q0tJO0V6Q0ZKO0VBR0EsOEV5Q0ZJO0EvQ3NoTVo7O0ErQy9nTUk7RXpDWEksc0R5Q2VJO0V6Q1pKLHlFeUNVSTtFekNQSixzRnlDUUk7RXZDZEosMkV1Q2lCQTtBL0NnaE1SOztBK0MzZ01JO0VBQ0k7RUFDQTtFekNyQkEscUR5Q3dCSTtFekNyQkosa0V5Q3NCSTtBL0M0Z01aO0ErQ3hnTVE7RUFFSTtFQUNBO0EvQ3lnTVo7QStDcmdNUTtFQUVJO0VBQ0E7RXZDMUNKLDBHdUM0Q0k7QS9DcWdNWjtBK0NqZ01RO0VBQ0k7RUFDQTtBL0NtZ01aO0ErQ2pnTVE7RUFFSTtFQUNBO0EvQ2tnTVo7QStDOS9MUTtFQUVJO0VBQ0E7QS9DKy9MWjs7QStDMS9MSTtFekNoRUksNEV5Q2tFWTtBL0M0L0xwQjs7QStDdi9MSTs7O0V6Q3ZFSSw4RXlDMkVZO0EvQ3kvTHBCOztBK0NyL0xJOztFekMvRUksb0l5Q2tGZ0I7QS9DdS9MeEI7O0ErQ2wvTEk7RXpDMUZJLDBEeUM4Rkk7RXpDM0ZKLDZFeUN5Rkk7RXpDdEZKLDBGeUN1Rkk7RXZDN0ZKLHFEdUNnR0E7QS9DbS9MUjs7QStDOStMSTtFekNsR0ksbUV5Q29HSTtFekNqR0osOEV5Q2tHSTtBL0NnL0xaOztBZ0R2bE1JO0U1Q0FJLDJGNENDd0I7RUFDeEI7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBaEQwbE1SO0FnRHhsTVE7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FoRDBsTVo7QWdEdGxNUTtFQUNJO0FoRHdsTVo7O0FnRHJsTUk7RTVDM0JJLGdCNEM0QndCO0VBQ3hCO0VBQ0E7QWhEd2xNUjs7QWdEcGxNSTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QWhEdWxNUjtBZ0RybE1RO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QWhEdWxNWjtBZ0RybE1ZO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FoRHVsTWhCOztBZ0RubE1JO0VBQ0k7QWhEc2xNUjtBZ0RwbE1RO0VBQ0k7QWhEc2xNWjtBZ0RubE1RO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FoRHFsTVo7O0FnRC9rTUk7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBaERrbE1SO0FnRGhsTVE7RUFDSTtFQUNBO0VBQ0E7RUFDQTtBaERrbE1aO0FnRC9rTVE7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBaERpbE1aO0FnRC9rTVk7Ozs7Ozs7O0VBUUk7RUFDQTtFQUNBO0FoRGlsTWhCO0FnRDlrTVk7RUFDSTtFQUNBO0FoRGdsTWhCOztBZ0Q1a01JO0VBQ0k7QWhEK2tNUjs7QWdEcGtNZ0I7RUFDSTtFQUNBO0FoRHVrTXBCO0FnRC9qTVk7RUFDSTtFQUNBO0FoRGlrTWhCOztBaUR6dU1JO0UzQ0RJLG1GMkNLSTtFM0NGSjtFQUdBLG1GMkNGSTtBakQ0dU1aOztBa0Rodk1JO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QWxEbXZNUjs7QW1EMXZNSTs7RUFFSTtBbkQ2dk1SOztBbUQxdk1JO0VBQ0k7QW5ENnZNUjs7QW9EandNSTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0FwRG93TVI7QW9EbHdNUTtFQUNJO0FwRG93TVo7QW9EandNUTtFQUNJO0VBQ0E7QXBEbXdNWjs7QW9EL3ZNSTtFaEQ2Qkk7QUpzdU1SOztBb0Qvdk1JO0VBQ0k7QXBEa3dNUjs7QW9EOXZNSTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBcERpd01SO0FvRC92TVE7RUFDSTtBcERpd01aOztBb0Q3dk1JO0VBQ0k7RUFDQTtBcERnd01SOztBb0Q1dk1JO0VBQ0k7RUFDQTtFQUNBO0FwRCt2TVI7O0FvRDN2TUk7RUFDSTtBcEQ4dk1SOztBb0Qxdk1JO0VBQ0k7RUFDQTtBcEQ2dk1SOztBb0Qxdk1JO0VBQ0k7RUFDQTtFQUNBO0FwRDZ2TVI7O0FvRDF2TUk7RUFDSTtFQUNBO0FwRDZ2TVI7O0FxRDEwTUk7RS9DQUksK0UrQ0lJO0UvQ0RKLG9FK0NESTtFL0NJSiwyRStDSEk7RTdDSEosNEU2Q01BO0FyRDIwTVI7O0FzRGoxTUk7RUFDSTtBdERvMU1SOztBc0RqMU1JO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBdERvMU1SOztBc0RqMU1JO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBdERvMU1SOztBc0RqMU1JO0VBQ0k7QXREbzFNUjs7QXNEajFNSTtFQUNJO0VBQ0E7QXREbzFNUjs7QXNEajFNSTtFQUNJO0lBQ0k7RXREbzFNVjtFc0RsMU1NO0lBQ0k7RXREbzFNVjtFc0RsMU1NO0lBQ0k7SUFDQTtFdERvMU1WO0FBQ0Y7QXVEOTNNSTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QXZEZzRNUjs7QXVENTNNSTtFQUNJO0VBQ0E7QXZEKzNNUjtBdUQ3M01RO0VBQ0k7QXZEKzNNWjtBdUQ1M01RO0VBQ0k7QXZEODNNWjs7QXVEejNNSTs7Ozs7RUFLSTtFQUNBO0F2RDQzTVI7O0F1RHozTUk7O0VBRUk7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBdkQ0M01SO0F1RDEzTVE7O0VBQ0k7QXZENjNNWjs7QXVEMTNNSTtFQUNJO0F2RDYzTVI7O0F1RHozTUk7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QXZENDNNUjtBdUQxM01RO0VBQ0k7QXZENDNNWjs7QXVEeDNNSTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QXZEMjNNUjs7QXVEdDNNUTs7RUFDSTtBdkQwM01aOztBdUR0M01JOztFQUVJO0VBQ0E7RUFDQTtBdkR5M01SO0F1RHYzTVE7O0VBQ0k7RUFDQTtFQUNBO0VBQ0E7QXZEMDNNWjs7QXVEcDNNSTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBdkR1M01SO0F1RHIzTVE7RUFDSTtBdkR1M01aO0F1RHAzTVE7O0VBRUk7RUFDQTtFQUNBO0F2RHMzTVo7QXVEcDNNUTs7RUFFSTtBdkRzM01aO0F1RHAzTVE7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QXZEczNNWjtBdURuM01ROztFQUVJO0F2RHEzTVo7QXVEbDNNUTtFQUNJO0F2RG8zTVo7QXVEbDNNWTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBdkRvM01oQjtBdURqM01ZO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QXZEbTNNaEI7QXVELzJNUTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0F2RGkzTVo7QXVEOTJNUTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QXZEZzNNWjtBdUQ5Mk1ZO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0F2RGczTWhCOztBdUQxMk1JOztFQUVJO0VBQ0E7QXZENjJNUjs7QXVEejJNSTtFQUNJO0VBQ0E7QXZENDJNUjtBdUQxMk1RO0VBQ0k7QXZENDJNWjs7QXVEdjJNSTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBdkQwMk1SO0F1RHgyTVE7RUFDSTtBdkQwMk1aO0F1RHYyTVE7RUFDSTtBdkR5Mk1aOztBdUR0Mk1JO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBdkR5Mk1SOztBdUR2MU1RO0VBQ0k7RUFDQTtBdkQwMU1aOztBdUR2MU1ROztFQUVJO0VBQ0E7QXZEMDFNWjs7QXVEdjFNUTtFQUNJO0VBQ0E7RUFDQTtBdkQwMU1aOztBdUR2MU1RO0VBQ0k7RUFDQTtBdkQwMU1aOztBdUQ3Mk1RO0VBQ0k7RUFDQTtBdkRnM01aOztBdUQ3Mk1ROztFQUVJO0VBQ0E7QXZEZzNNWjs7QXVENzJNUTtFQUNJO0VBQ0E7RUFDQTtBdkRnM01aOztBdUQ3Mk1RO0VBQ0k7RUFDQTtBdkRnM01aOztBdURuNE1RO0VBQ0k7RUFDQTtBdkRzNE1aOztBdURuNE1ROztFQUVJO0VBQ0E7QXZEczRNWjs7QXVEbjRNUTtFQUNJO0VBQ0E7RUFDQTtBdkRzNE1aOztBdURuNE1RO0VBQ0k7RUFDQTtBdkRzNE1aOztBd0RscU5JOztFbERGSSwrRWtET0k7RWxESkosb0VrREVJO0VsRENKO0FOcXFOUjtBd0RqcU5ROztFQUNJO0F4RG9xTlo7O0F3RC9wTkk7O0VsRGhCSSxzRmtEcUJJO0VsRGxCSixpRmtEZ0JJO0VsRGJKLGtGa0RjSTtBeERrcU5aOztBd0Q3cE5JOztFbER6QkksOERrRDhCSTtFbEQzQkosaUZrRHlCSTtFbER0QkosOEZrRHVCSTtFaEQ3QkosbUZnRGdDQTtBeEQ4cE5SOztBd0QxcE5JOztFbERwQ0ksc0ZrRHlDSTtFbER0Q0osaUZrRG9DSTtFbERqQ0osa0ZrRGtDSTtBeEQ2cE5aOztBd0R2cE5JO0VsRDlDSSx5RmtEa0RJO0VsRC9DSixvRmtENkNJO0VsRDFDSixxRmtEMkNJO0F4RDBwTlo7O0F3RHRwTkk7RWxEbERJLDRFa0RvREk7RWxEakRKLG1Ga0RrREk7QXhEd3BOWjs7QXdEbnBOSTtFbEQ3REksdUZrRGlFSTtFbEQ5REosNEVrRDRESTtFbER6REosd0RrRDBESTtBeERzcE5aOztBd0RocE5JOzs7O0VsRHRFSSxxRmtENkVJO0VsRDFFSixzRWtEd0VJO0VsRHJFSiw2RWtEc0VJO0F4RG1wTlo7O0F3RDdvTkk7Ozs7RWxEbEZJLHNEa0R5Rkk7RWxEdEZKLDZDa0RvRkk7RWxEakZKLHNEa0RrRkk7RWhEeEZKLHNHZ0QyRkE7RUFDQTtBeEQ4b05SOztBd0R6b05ROztFbERqR0Esd0ZrRHNHUTtFbERuR1IsNkVrRGlHUTtFbEQ5RlIsMEhrRCtGUTtBeEQ0b05oQjs7QXlEaHZOSTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QXpEbXZOUjs7QXlEOXVOSTtFQUNJO0VBQ0E7QXpEaXZOUjs7QXlENXVOSTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0F6RCt1TlI7O0F5RDF1Tkk7RUFDSTtFQUNBO0F6RDZ1TlI7O0EwRDF3Tkk7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBMUQ2d05SOztBMkRweE5JO0VBQ0k7QTNEdXhOUjs7QTREOXdOUTtFQUNJLDBDQUpTO0VBS1QsNkNBSlc7QTVEcXhOdkI7QTREL3dOWTs7RUFFSSxrREFWSztFQVdMLDhDQVpLO0VBYUwsMENBWEs7RUFZTCw2Q0FYTztBNUQ0eE52Qjs7QTREN3dOUTtFQUNJLDBDQWpCUztFQWtCVCw2Q0FqQlc7QTVEaXlOdkI7QTREOXdOWTtFQUNJLGtEQXRCSztFQXVCTCw4Q0F4Qks7RUF5QkwsMENBdkJLO0VBd0JMLDZDQXZCTztBNUR1eU52Qjs7QTREcnlOUTtFQUNJLDBDQUpTO0VBS1QsNkNBSlc7QTVENHlOdkI7QTREdHlOWTs7RUFFSSw2Q0FWSztFQVdMLDhDQVpLO0VBYUwsMENBWEs7RUFZTCw2Q0FYTztBNURtek52Qjs7QTREcHlOUTtFQUNJLDBDQWpCUztFQWtCVCw2Q0FqQlc7QTVEd3pOdkI7QTREcnlOWTtFQUNJLDZDQXRCSztFQXVCTCw4Q0F4Qks7RUF5QkwsMENBdkJLO0VBd0JMLDZDQXZCTztBNUQ4ek52Qjs7QTRENXpOUTtFQUNJLDBDQUpTO0VBS1QsNkNBSlc7QTVEbTBOdkI7QTREN3pOWTs7RUFFSSxrREFWSztFQVdMLDhDQVpLO0VBYUwsMENBWEs7RUFZTCw2Q0FYTztBNUQwME52Qjs7QTREM3pOUTtFQUNJLDBDQWpCUztFQWtCVCw2Q0FqQlc7QTVEKzBOdkI7QTRENXpOWTtFQUNJLGtEQXRCSztFQXVCTCw4Q0F4Qks7RUF5QkwsMENBdkJLO0VBd0JMLDZDQXZCTztBNURxMU52Qjs7QTREenpOSTtFQUNJO0E1RDR6TlI7O0E0RHp6Tkk7RUFDSTtFQUNBO0VBQ0E7QTVENHpOUjs7QTREenpOSTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QTVENHpOUjs7QTREenpOSTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0E1RDR6TlI7O0E0RHp6Tkk7RUFDSTtBNUQ0ek5SOztBNkQzM05JOztFQUVJLGtFQ21DZ0M7QTlEMjFOeEM7O0E2RDMzTkk7O0VBRUksa0VDK0JtQztBOUQrMU4zQzs7QTZEMzNOSTtFQUNJLDBDQzRCZ0M7QTlEazJOeEM7O0E2RDMzTkk7RUFDSSx5RkN5QnVCO0E5RHEyTi9COztBK0Q5NE5JO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QS9EaTVOUjtBK0QvNE5ROzs7RUFHSTtBL0RpNU5aOztBK0QzNE5JOztFQUVJO0VBQ0E7RUFDQTtBL0Q4NE5SOztBK0R6NE5JO0VBQ0k7RUFDQTtFQUNBO0EvRDQ0TlI7O0ErRHY0Tkk7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0EvRDA0TlI7QStEeDROUTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0EvRDA0Tlo7O0ErRG40TlE7RUFDSTtFQUNBO0VBQ0E7QS9EczROWjs7QStEejROUTtFQUNJO0VBQ0E7RUFDQTtBL0Q0NE5aOztBK0QvNE5RO0VBQ0k7RUFDQTtFQUNBO0EvRGs1Tlo7O0ErRDE0Tkk7RUFDSTtBL0Q2NE5SOztBZ0UxOE5ZO0VBQ0k7RUFDQTtFQUNBO0FoRTY4TmhCOztBZ0VoOU5ZO0VBQ0k7RUFDQTtFQUNBO0FoRW05TmhCOztBZ0V0OU5ZO0VBQ0k7RUFDQTtFQUNBO0FoRXk5TmhCOztBZ0U1OU5ZO0VBQ0k7RUFDQTtFQUNBO0FoRSs5TmhCOztBZ0VsK05ZO0VBQ0k7RUFDQTtFQUNBO0FoRXErTmhCOztBZ0V4K05ZO0VBQ0k7RUFDQTtFQUNBO0FoRTIrTmhCOztBZ0U5K05ZO0VBQ0k7RUFDQTtFQUNBO0FoRWkvTmhCOztBZ0VwL05ZO0VBQ0k7RUFDQTtFQUNBO0FoRXUvTmhCOztBZ0UxL05ZO0VBQ0k7RUFDQTtFQUNBO0FoRTYvTmhCOztBZ0VoZ09ZO0VBQ0k7RUFDQTtFQUNBO0FoRW1nT2hCOztBZ0V0Z09ZO0VBQ0k7RUFDQTtFQUNBO0FoRXlnT2hCOztBZ0U1Z09ZO0VBQ0k7RUFDQTtFQUNBO0FoRStnT2hCOztBZ0VsaE9ZO0VBQ0k7RUFDQTtFQUNBO0FoRXFoT2hCOztBZ0V4aE9ZO0VBQ0k7RUFDQTtFQUNBO0FoRTJoT2hCOztBZ0U5aE9ZO0VBQ0k7RUFDQTtFQUNBO0FoRWlpT2hCOztBZ0VwaU9ZO0VBQ0k7RUFDQTtFQUNBO0FoRXVpT2hCOztBZ0UxaU9ZO0VBQ0k7RUFDQTtFQUNBO0FoRTZpT2hCOztBZ0Voak9ZO0VBQ0k7RUFDQTtFQUNBO0FoRW1qT2hCOztBaUUzak9JO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBakU4ak9SO0FpRTVqT1E7OztFQUdJO0FqRThqT1o7QWlFM2pPUTtFQUNJO0FqRTZqT1o7QWlFMWpPUTtFQUVJO0VBQ0E7QWpFMmpPWjtBaUV4ak9RO0VBRVE7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QWpFeWpPaEI7O0FpRW5qT0k7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FqRXNqT1I7QWlFbmpPUTtFQUNJO0FqRXFqT1o7O0FpRWpqT0k7RUFDSTtBakVvak9SOztBaUVsak9JO0VBQ0k7QWpFcWpPUjs7QWlFampPSTs7RUFFSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FqRW9qT1I7O0FpRS9pT0k7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QWpFa2pPUjs7QWlFN2lPSTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0FqRWdqT1I7O0FpRTNpT0k7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBakU4aU9SOztBaUU1aU9JO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBakUraU9SOztBaUUxaU9JO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBakU2aU9SOztBaUVsaU9RO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7QWpFcWlPWjtBaUVuaU9ZO0VBQ0ksNENBWEs7QWpFZ2pPckI7O0FpRTVpT1E7RUFDSTtFQUNBO0VBQ0E7RUFDQTtBakUraU9aO0FpRTdpT1k7RUFDSSx3Q0FYSztBakUwak9yQjs7QWlFdGpPUTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0FqRXlqT1o7QWlFdmpPWTtFQUNJLDRDQVhLO0FqRW9rT3JCOztBaUVsak9RO0VBQ0ksb0NDK0RZO0FsRXMvTnhCOztBaUV0ak9RO0VBQ0ksb0NDK0RZO0FsRTAvTnhCOztBaUUxak9RO0VBQ0ksb0NDK0RZO0FsRTgvTnhCOztBbUV4dE9JO0VBQ0k7RUFDQTtFQUNBO0VBRUE7RUFDQTtFQUNBO0FuRTB0T1I7QW1FeHRPUTtFQUVJO0VBQ0E7RUFDQTtBbkV5dE9aO0FtRXR0T1E7RUFFSTtFQUNBO0VBQ0E7QW5FdXRPWjtBbUVwdE9RO0VBRUk7QW5FcXRPWjtBbUVsdE9RO0VBQ0k7RUFDQTtFQUNBO0FuRW90T1o7QW1FanRPUTtFQUVJO0VBQ0E7RUFDQTtBbkVrdE9aOztBbUV0ck9ZO0VBQ0k7RUFDQTtFQUNBO0VBRUE7RUFDQTtFQUNBO0VBRUE7RUFDQTtFQUNBO0VBQ0E7RUFFQTtFQUNBO0VBQ0E7RUFFQTtFQUNBO0VBQ0E7QW5FcXJPaEI7O0FtRXpzT1k7RUFDSTtFQUNBO0VBQ0E7RUFFQTtFQUNBO0VBQ0E7RUFFQTtFQUNBO0VBQ0E7RUFDQTtFQUVBO0VBQ0E7RUFDQTtFQUVBO0VBQ0E7RUFDQTtBbkV3c09oQjs7QW1FNXRPWTtFQUNJO0VBQ0E7RUFDQTtFQUVBO0VBQ0E7RUFDQTtFQUVBO0VBQ0E7RUFDQTtFQUNBO0VBRUE7RUFDQTtFQUNBO0VBRUE7RUFDQTtFQUNBO0FuRTJ0T2hCOztBbUUvdU9ZO0VBQ0k7RUFDQTtFQUNBO0VBRUE7RUFDQTtFQUNBO0VBRUE7RUFDQTtFQUNBO0VBQ0E7RUFFQTtFQUNBO0VBQ0E7RUFFQTtFQUNBO0VBQ0E7QW5FOHVPaEI7O0FtRWx3T1k7RUFDSTtFQUNBO0VBQ0E7RUFFQTtFQUNBO0VBQ0E7RUFFQTtFQUNBO0VBQ0E7RUFDQTtFQUVBO0VBQ0E7RUFDQTtFQUVBO0VBQ0E7RUFDQTtBbkVpd09oQjs7QW1FcnhPWTtFQUNJO0VBQ0E7RUFDQTtFQUVBO0VBQ0E7RUFDQTtFQUVBO0VBQ0E7RUFDQTtFQUNBO0VBRUE7RUFDQTtFQUNBO0VBRUE7RUFDQTtFQUNBO0FuRW94T2hCOztBbUV4eU9ZO0VBQ0k7RUFDQTtFQUNBO0VBRUE7RUFDQTtFQUNBO0VBRUE7RUFDQTtFQUNBO0VBQ0E7RUFFQTtFQUNBO0VBQ0E7RUFFQTtFQUNBO0VBQ0E7QW5FdXlPaEI7O0FtRTN6T1k7RUFDSTtFQUNBO0VBQ0E7RUFFQTtFQUNBO0VBQ0E7RUFFQTtFQUNBO0VBQ0E7RUFDQTtFQUVBO0VBQ0E7RUFDQTtFQUVBO0VBQ0E7RUFDQTtBbkUwek9oQjs7QW1FOTBPWTtFQUNJO0VBQ0E7RUFDQTtFQUVBO0VBQ0E7RUFDQTtFQUVBO0VBQ0E7RUFDQTtFQUNBO0VBRUE7RUFDQTtFQUNBO0VBRUE7RUFDQTtFQUNBO0FuRTYwT2hCOztBbUVqMk9ZO0VBQ0k7RUFDQTtFQUNBO0VBRUE7RUFDQTtFQUNBO0VBRUE7RUFDQTtFQUNBO0VBQ0E7RUFFQTtFQUNBO0VBQ0E7RUFFQTtFQUNBO0VBQ0E7QW5FZzJPaEI7O0FvRXQ3T0k7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBcEV5N09SO0FvRXY3T1E7OztFQUdJO0FwRXk3T1o7O0FvRXA3T0k7RUFDSTtBcEV1N09SOztBb0VuN09JO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QXBFczdPUjtBb0VwN09RO0VBQ0k7RUFDQTtBcEVzN09aOztBb0VqN09JO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7QXBFbzdPUjs7QW9FbDdPSTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FwRXE3T1I7O0FvRWo3T0k7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FwRW83T1I7O0FxRXQvT0k7RS9ERkksZ0krRE1JO0UvREhKLCtDK0RDSTtFL0RFSiw0RCtEREk7QXJFeS9PWjtBcUVyL09RO0UvRFRBLHNJK0RZaUI7QXJFcS9PekI7O0FxRTcrT1E7O0UvRGRBLDBDK0RnQmE7QXJFZy9PckI7O0FzRXBnUEk7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUlBO0F0RW9nUFI7O0FzRWpnUEk7RUFDSTtFQUNBO0F0RW9nUFI7O0FzRWhnUEk7RUFDSTtFQUNBO0VBQ0E7QXRFbWdQUjs7QXNFLy9PSTtFQUNJO0VBQ0E7QXRFa2dQUjtBc0VoZ1BRO0VBQ0k7RUFDQTtBdEVrZ1BaOztBc0UvL09JO0VBQ0k7RUFDQTtBdEVrZ1BSO0FzRWhnUFE7RUFDSTtFQUNBO0F0RWtnUFo7O0FzRS8vT0k7RUFDSTtFQUNBO0F0RWtnUFI7QXNFaGdQUTtFQUNJO0VBQ0E7QXRFa2dQWjs7QXNFei9PSTtFQUNJO0lBQUs7RXRFNi9PWDtFc0U1L09NO0lBQU07RXRFKy9PWjtFc0U5L09NO0lBQU87RXRFaWdQYjtBQUNGO0FzRTMvT1E7RUFDSTtBdEU2L09aO0FzRTEvT1E7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0F0RTQvT1o7QXNFMS9PUTtFQUNJO0VBQ0E7RUFDQTtBdEU0L09aO0FzRXgvT1k7RUFDSTtFQUNBO0F0RTAvT2hCO0FzRXIvT1k7RUFDSTtFQUNBO0F0RXUvT2hCO0FzRWwvT1k7RUFDSTtFQUNBO0F0RW8vT2hCOztBc0UxK09JO0VBQ0k7SUFDSTtJQUNBO0V0RTYrT1Y7RXNFMStPTTtJQUNJO0lBQ0E7RXRFNCtPVjtFc0V6K09NO0lBQ0k7SUFDQTtFdEUyK09WO0VzRXgrT007SUFDSTtJQUNBO0V0RTArT1Y7QUFDRjtBc0U5OU9RO0VBQ0k7QXRFZytPWjtBc0U5OU9RO0VBQ0k7RUFDQTtFQUNBO0F0RWcrT1o7QXNFOTlPUTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0F0RWcrT1o7QXNFOTlPUTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0F0RWcrT1o7QXNFMzlPWTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBdEU2OU9oQjtBc0V4OU9ZO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0F0RTA5T2hCO0FzRXI5T1k7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QXRFdTlPaEI7O0FzRTc4T0k7RUFDSTtJQUNJO0lBQ0E7SUFDQTtFdEVnOU9WO0VzRTc4T007SUFDSTtJQUNBO0lBQ0E7RXRFKzhPVjtFc0U1OE9NO0lBQ0k7SUFDQTtJQUNBO0V0RTg4T1Y7RXNFMzhPTTtJQUNJO0lBQ0E7SUFDQTtFdEU2OE9WO0FBQ0Y7QXNFMzhPSTtFQUNJO0lBQ0k7SUFDQTtJQUNBO0V0RTY4T1Y7RXNFMThPTTtJQUNJO0lBQ0E7SUFDQTtFdEU0OE9WO0VzRXo4T007SUFDSTtJQUNBO0lBQ0E7RXRFMjhPVjtFc0V4OE9NO0lBQ0k7SUFDQTtJQUNBO0V0RTA4T1Y7QUFDRjtBc0V4OE9JO0VBQ0k7SUFDSTtJQUNBO0lBQ0E7RXRFMDhPVjtFc0V2OE9NO0lBQ0k7SUFDQTtJQUNBO0V0RXk4T1Y7RXNFdDhPTTtJQUNJO0lBQ0E7SUFDQTtFdEV3OE9WO0VzRXI4T007SUFDSTtJQUNBO0lBQ0E7RXRFdThPVjtBQUNGO0FzRXI4T0k7RUFDSTtJQUNJO0lBQ0E7SUFDQTtFdEV1OE9WO0VzRXA4T007SUFDSTtJQUNBO0lBQ0E7RXRFczhPVjtFc0VuOE9NO0lBQ0k7SUFDQTtJQUNBO0V0RXE4T1Y7RXNFbDhPTTtJQUNJO0lBQ0E7SUFDQTtFdEVvOE9WO0FBQ0Y7QXNFbDhPSTtFQUNJO0lBQ0k7RXRFbzhPVjtFc0VqOE9NO0lBQ0k7RXRFbThPVjtFc0VoOE9NO0lBQ0k7RXRFazhPVjtFc0UvN09NO0lBQ0k7RXRFaThPVjtBQUNGO0FzRTc3T1E7RUFDSTtBdEUrN09aO0FzRTU3T1E7RUFDSTtFQUNBO0VBQ0E7QXRFODdPWjtBc0U1N09ZO0VBQ0k7QXRFODdPaEI7QXNFMzdPWTtFQUNJO0F0RTY3T2hCO0FzRTE3T1k7RUFDSTtBdEU0N09oQjtBc0V6N09ZO0VBQ0k7QXRFMjdPaEI7QXNFdDdPWTtFQUNJO0VBQ0E7QXRFdzdPaEI7QXNFbjdPWTtFQUNJO0VBQ0E7QXRFcTdPaEI7QXNFaDdPWTtFQUNJO0VBQ0E7QXRFazdPaEI7O0FzRTE2T0k7RUFDSTtFQUNBO0VBQ0E7RUFDQTtBdEU2Nk9SO0FzRTM2T1E7RUFDSTtBdEU2Nk9aOztBc0V6Nk9JOztFQUVJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0F0RTQ2T1I7O0FzRXg2T0k7RUFDSTtBdEUyNk9SOztBc0V4Nk9JO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7QXRFMjZPUjs7QXNFeDZPSTtFQUNJO0VBQ0E7RUFDQTtBdEUyNk9SOztBc0V0Nk9RO0VBQ0k7RUFDQTtFQUNBO0F0RXk2T1o7QXNFdDZPUTtFQUNJO0F0RXc2T1o7O0FzRXA2T1E7RUFDSTtFQUNBO0VBQ0E7QXRFdTZPWjtBc0VwNk9RO0VBQ0k7QXRFczZPWjs7QXNFbDZPUTtFQUNJO0VBQ0E7RUFDQTtBdEVxNk9aO0FzRWw2T1E7RUFDSTtBdEVvNk9aOztBc0U5NU9RO0VBQ0k7RUFDQTtBdEVpNk9aOztBc0U3NU9RO0VBQ0k7QXRFZzZPWjs7QXNFdjVPSTs7O0VBR0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0F0RTA1T1I7QXNFeDVPUTs7Ozs7Ozs7Ozs7OztFQUtJO0F0RWs2T1o7O0FzRTk1T0k7RUFDSTtBdEVpNk9SO0FzRTk1T1k7RUFDSTtBdEVnNk9oQjs7QXNFNTVPSTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0F0RSs1T1I7O0FzRTc1T0k7RUFDSTtFQUNBO0F0RWc2T1I7O0FzRTk1T0k7RUFDSTtFQUNBO0F0RWk2T1I7O0FzRTc1T0k7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QXRFZzZPUjtBc0U5NU9RO0VBRUk7QXRFKzVPWjs7QXNFMzVPSTs7OztFQUlJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0F0RTg1T1I7O0FzRTM1T0k7O0VBRUk7QXRFODVPUjs7QXNFMzVPSTs7RUFFSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0F0RTg1T1I7O0FzRTM1T0k7O0VBRUk7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBdEU4NU9SOztBc0UzNU9JOztFQUVJO0VBRUE7RUFDQTtFQUNBO0F0RTY1T1I7O0FzRXo1T0k7RUFDSTtJQUNJO0V0RTQ1T1Y7RXNFMTVPTTtJQUNJO0V0RTQ1T1Y7QUFDRjtBdUV0K1BRO0VBQ0k7QXZFdytQWjs7QXVFeitQUTtFQUNJO0F2RTQrUFo7O0F1RTcrUFE7RUFDSTtBdkVnL1BaOztBdUVqL1BRO0VBQ0k7QXZFby9QWjs7QXVFci9QUTtFQUNJO0F2RXcvUFo7O0F1RXovUFE7RUFDSTtBdkU0L1BaOztBdUU3L1BRO0VBQ0k7QXZFZ2dRWjs7QXVFamdRUTtFQUNJO0F2RW9nUVo7O0F1RXJnUVE7RUFDSTtBdkV3Z1FaOztBdUVwZ1FJO0VBQ0k7RUFDQTtBdkV1Z1FSOztBd0VsaFFJO0VBQ0k7QXhFcWhRUjs7QXdFamhRSTtFQUNJO0VBQ0E7QXhFb2hRUjtBd0VsaFFRO0VBQ0k7QXhFb2hRWjs7QXdFL2dRSTtFQUNJO0F4RWtoUVI7O0F3RS9nUUk7RUFDSTtBeEVraFFSOztBd0V2Z1FJO0VBQ0k7SUFDSTtFeEUwZ1FWO0V3RXhnUU07SUFDSTtFeEUwZ1FWO0V3RXhnUU07SUFDSTtFeEUwZ1FWO0FBQ0Y7QXdFdmdRSTs7O0VBRUk7RUFDQTtBeEUwZ1FSO0F3RXhnUVE7OztFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QXhFNGdRWjs7QXdFdmdRSTtFQUNJO0lBQ0k7RXhFMGdRVjtFd0V4Z1FNO0lBQ0k7RXhFMGdRVjtFd0V4Z1FNO0lBQ0k7RXhFMGdRVjtBQUNGO0F3RXZnUUk7OztFQUVJO0F4RTBnUVI7O0F5RXBsUUk7RW5FS0ksZ0ltRUhTO0F6RXNsUWpCOztBeUVqbFFJOzs7RUFFSTtBekVxbFFSOztBMEU5bFFJO0V0RUFJO0VzRUVBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQSw2Q2pDTnVCO0F6Q3VtUS9CO0EwRS9sUVE7OztFQUdJO0ExRWltUVo7O0EwRTdsUUk7RUFDSTtFQUNBO0ExRWdtUVI7O0EwRTdsUUk7RUFDSTtFQUNBO0VBQ0E7QTFFZ21RUjs7QTBFN2xRSTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0ExRWdtUVI7O0EwRTdsUUk7RUFDSTtFQUNBO0ExRWdtUVI7QTBFOWxRUTtFQUNJO0VBQ0E7QTFFZ21RWjs7QTBFMWxRSTtFQUNJO0VBQ0E7RUFDQSw0Q0M3QnFCO0VEOEJyQjtFQUNBO0VBQ0E7RUFDQTtFQUNBO0ExRTZsUVI7O0EwRXRsUUk7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0ExRXlsUVI7O0EwRXZsUUk7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0ExRTBsUVI7O0EwRXhsUUk7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0ExRTJsUVI7O0EwRXpsUUk7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0ExRTRsUVI7O0E0RS9yUUk7RXBFREksOEVvRUVBO0VBRUE7RUFDQTtFQUNBO0VBRUk7RUFDQTtFQUNBO0E1RWdzUVo7QTRFOXJRUTtFQUNJO0E1RWdzUVo7O0E0RXZyUVE7RUFDSTtFQUNBO0VBQ0E7QTVFMHJRWjs7QTRFN3JRUTtFQUNJO0VBQ0E7RUFDQTtBNUVnc1FaOztBNEVuc1FRO0VBQ0k7RUFDQTtFQUNBO0E1RXNzUVo7O0E0RXpzUVE7RUFDSTtFQUNBO0VBQ0E7QTVFNHNRWjs7QTRFL3NRUTtFQUNJO0VBQ0E7RUFDQTtBNUVrdFFaOztBNEVydFFRO0VBQ0k7RUFDQTtFQUNBO0E1RXd0UVo7O0E0RTN0UVE7RUFDSTtFQUNBO0VBQ0E7QTVFOHRRWjs7QTRFanVRUTtFQUNJO0VBQ0E7RUFDQTtBNUVvdVFaOztBNEV2dVFRO0VBQ0k7RUFDQTtFQUNBO0E1RTB1UVo7O0E0RXR1UUk7RUFDSTtBNUV5dVFSOztBNkV2d1FJO0VBQ0k7RUFDQTtBN0Uwd1FSO0E2RXh3UVE7RUFHSTtFQUNBO0VBQ0E7RUFDQTtBN0V3d1FaOztBOEVseFFJO0VBQ0k7QTlFcXhRUjtBOEVueFFRO0VBQ0k7QTlFcXhRWjtBOEVseFFRO0VBQ0k7QTlFb3hRWjtBOEVqeFFRO0VBQ0k7QTlFbXhRWjs7QStFNXhRSTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0EsNkN0Q0h1QjtBekNreVEvQjtBK0U3eFFRO0VBQ0k7QS9FK3hRWjtBK0U1eFFROzs7OztFQUdJO0EvRWd5UVo7O0ErRXp4UUk7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBL0U0eFFSO0ErRTF4UVE7RUFHSTtFQUNBO0VBQ0E7QS9FMHhRWjtBK0V2eFFRO0VBQ0k7QS9FeXhRWjs7QStFbnhRSTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBL0VzeFFSOztBK0VqeFFJO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBL0VveFFSOztBK0Uvd1FJO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBL0VreFFSOztBK0U3d1FJO0VBQ0k7QS9FZ3hRUjtBK0U5d1FRO0VBQ0k7QS9FZ3hRWjtBK0U3d1FRO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0EvRSt3UVo7O0ErRXp3UUk7RUFDSTtFQUNBO0EvRTR3UVI7QStFMXdRUTtFQUNJO0EvRTR3UVo7QStFendRUTtFQUNJO0VBQ0E7QS9FMndRWjtBK0V4d1FRO0VBQ0k7QS9FMHdRWjtBK0V2d1FRO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0EvRXl3UVo7O0ErRW53UUk7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBL0Vzd1FSO0ErRXB3UVE7OztFQUdJO0EvRXN3UVo7QStFbndRUTtFQUNJO0EvRXF3UVo7O0ErRS92UUk7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QS9Fa3dRUjtBK0Vod1FRO0VBQ0k7RUFDQTtFQUNBO0EvRWt3UVo7QStFL3ZRUTtFQUNJO0VBQ0E7QS9FaXdRWjtBK0U5dlFRO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QS9FZ3dRWjs7QStFN3ZRSTtFQUNJO0EvRWd3UVI7O0ErRXR2UWdCOzs7O0VBQ0k7RUFDQTtFQUNBO0EvRTR2UXBCOztBK0VydVFRO0VBQ0k7RUFDQTtBL0V3dVFaO0ErRXR1UVk7RUFDSTtFQUNBO0VBQ0E7QS9Fd3VRaEI7QStFcnVRWTtFQUNJO0VBQ0E7QS9FdXVRaEI7O0ErRW52UVE7RUFDSTtFQUNBO0EvRXN2UVo7QStFcHZRWTtFQUNJO0VBQ0E7RUFDQTtBL0VzdlFoQjtBK0VudlFZO0VBQ0k7RUFDQTtBL0VxdlFoQjs7QStFandRUTtFQUNJO0VBQ0E7QS9Fb3dRWjtBK0Vsd1FZO0VBQ0k7RUFDQTtFQUNBO0EvRW93UWhCO0ErRWp3UVk7RUFDSTtFQUNBO0EvRW13UWhCOztBK0U1dlFJO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7QS9FK3ZRUjs7QStFN3ZRSTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QS9FZ3dRUjtBK0U5dlFRO0VBQ0k7RUFDQTtBL0Vnd1FaOztBK0U3dlFJO0VBRUk7RUFDQTtBL0UrdlFSOztBK0U3dlFJO0VBQ0k7QS9FZ3dRUjtBK0U5dlFRO0VBQ0k7QS9FZ3dRWjs7QStFN3ZRSTs7RUFFSTtBL0Vnd1FSOztBK0UzdlFJO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0EvRTh2UVI7QStFNXZRUTtFQUNJO0VBQ0E7QS9FOHZRWjs7QStFMXZRSTtFQUNJO0EvRTZ2UVI7QStFM3ZRUTtFQUNJO0EvRTZ2UVo7O0FnRmhqUkk7RUFDSTtFQUNBO0VBQ0E7RUFDQTtBaEZtalJSO0FnRmpqUlE7RUFDSTtFQUNBO0FoRm1qUlo7QWdGampSWTtFQUVJO0VBQ0E7QWhGa2pSaEI7QWdGL2lSWTtFQUVJO0VBQ0E7RUFDQTtBaEZnalJoQjtBZ0Y3aVJZO0VBRUk7RUFDQTtBaEY4aVJoQjtBZ0YzaVJZO0VBQ0k7RUFDQTtBaEY2aVJoQjtBZ0YxaVJZO0VBQ0k7RUFDQTtBaEY0aVJoQjtBZ0Z4aVJRO0VBQ0k7QWhGMGlSWjtBZ0Z2aVJRO0UxRTVDQSx5SDBFOENpQjtBaEZ3aVJ6Qjs7QWdGbGlSSTtFQUNJO0FoRnFpUlI7O0FnRmxpUkk7O0VBRUk7RUFDQTtBaEZxaVJSO0FnRmppUlk7O0VBQ0k7RUFDQTtBaEZvaVJoQjtBZ0ZsaVJnQjs7O0VBRUk7RUFDQTtBaEZxaVJwQjtBZ0ZsaVJnQjs7OztFQUdJO0VBQ0E7QWhGcWlScEI7QWdGbGlSZ0I7O0VBQ0k7RUFDQTtBaEZxaVJwQjtBZ0ZqaVJZOzs7O0VBSUk7QWhGbWlSaEI7QWdGamlSZ0I7Ozs7RUFDSTtBaEZzaVJwQjtBZ0ZqaVJROztFMUVsR0EseUgwRW9HaUI7QWhGbWlSekI7O0FnRjloUkk7RUFDSTtFQUNBO0FoRmlpUlI7O0FpRnhvUkk7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBLDZDeENWdUI7QXpDcXBSL0I7QWlGeG9SUTtFQUNJO0VBQ0EsOEZDZ0NtQjtFRC9CbkI7QWpGMG9SWjtBaUZ2b1JRO0VBQ0k7QWpGeW9SWjtBaUZ0b1JRO0VBQ0k7RUFDQTtFQUNBO0FqRndvUlo7QWlGbm9SWTtFQUVJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QWpGb29SaEI7QWlGam9SWTtFQUNJO0FqRm1vUmhCO0FpRmhvUlk7RUFDSTtBakZrb1JoQjtBaUYvblJZO0VBRUk7QWpGZ29SaEI7QWlGNW5SUTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0FqRjhuUlo7QWlGNW5SWTtFQUNJO0VBQ0E7QWpGOG5SaEI7QWlGem5SUTs7RUFFSTtBakYyblJaO0FpRnpuUlE7RUFDSTtBakYyblJaO0FpRnRuUlE7RUFDSTtBakZ3blJaO0FpRnBuUlE7RUFDSTtFQUNBO0FqRnNuUlo7QWlGcG5SWTtFQUNJO0FqRnNuUmhCO0FpRmpuUlE7RUFDSTtFQUNBO0FqRm1uUlo7QWlGL21SUTs7RUFFSTtFQUNBO0FqRmluUlo7O0FpRjVtUkk7O0VBRUk7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBakYrbVJSOztBaUY1bVJJO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QWpGK21SUjs7QWlGNW1SSTtFQUNJO0VBQ0E7QWpGK21SUjtBaUY3bVJRO0VBQ0k7QWpGK21SWjs7QWlGM21SSTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBakY4bVJSOztBaUYxbVJJO0VBQ0k7RUFDQTtBakY2bVJSOztBaUZ6bVJJO0VBQ0k7RUFDQTtFQUNBO0FqRjRtUlI7O0FpRnhtUkk7RUFDSTtFQUNBO0VBQ0E7RUFDQTtBakYybVJSOztBaUZqbVJROztFQUVJO0VBQ0E7RUFDQTtFQUNBO0FqRm9tUlo7O0FpRnptUlE7O0VBRUk7RUFDQTtFQUNBO0VBQ0E7QWpGNG1SWjs7QWlGam5SUTs7RUFFSTtFQUNBO0VBQ0E7RUFDQTtBakZvblJaOztBaUYvbVJJO0VBQ0k7QWpGa25SUjs7QWlGaG5SSTtFQUNJO0FqRm1uUlI7O0FpRmpuUkk7RUFDSTtBakZvblJSOztBaUZoblJJOztFQUVJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QWpGbW5SUjtBaUZqblJROztFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QWpGb25SWjs7QWlGaG5SSTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QWpGbW5SUjs7QWlGNW1SSTtFQUNJO0VBQ0E7QWpGK21SUjtBaUY3bVJRO0VBQ0k7QWpGK21SWjtBaUY1bVJRO0VBQ0k7QWpGOG1SWjtBaUYxbVJRO0VBQ0k7QWpGNG1SWjtBaUZ4bVJRO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QWpGMG1SWjtBaUZ0bVJRO0V6RTFSQSxnQnlFMlJJO0VBQ0E7RUFDQTtBakZ3bVJaO0FpRnRtUlk7RUFDSTtBakZ3bVJoQjtBaUZubVJRO0VBQ0k7RUFDQTtBakZxbVJaO0FpRmptUlE7RUFDSTtBakZtbVJaOztBbUYxNFJROztFQUVJO0FuRjY0Ulo7O0FtRnY0Ukk7O0VBRUk7QW5GMDRSUjs7QW1GdjRSSTtFQUNJO0FuRjA0UlI7O0FtRnQ0Ukk7RTdFdkJJLGlGNkUyQkk7RTdFeEJKLHNFNkVzQkk7RTdFbkJKLDhFNkVvQkk7QW5GeTRSWjtBbUZwNFJZO0VBQ0k7QW5GczRSaEI7QW1GbjRSWTtFQUNJO0FuRnE0UmhCOztBbUZoNFJJO0VBQ0k7QW5GbTRSUjs7QW1GLzNSSTtFN0U5Q0kscUY2RWlEYTtFN0U5Q2IsMEM2RTZDWTtBbkZrNFJwQjtBbUY3M1JZO0VBQ0k7QW5GKzNSaEI7QW1GNTNSWTtFQUNJO0FuRjgzUmhCOztBbUZ6M1JJO0VBQ0k7QW5GNDNSUjs7QW1GeDNSSTtFN0VwRUksc0Y2RXVFYTtFN0VwRWIsdUM2RW1FWTtBbkYyM1JwQjtBbUZ2M1JROztFQUVJO0FuRnkzUlo7QW1GcjNSWTtFQUNJO0FuRnUzUmhCO0FtRnAzUlk7RUFDSTtBbkZzM1JoQjs7QW1GajNSSTtFQUNJO0FuRm8zUlI7O0FtRmgzUkk7O0VBRUk7RUFDQTtFQUNBO0FuRm0zUlI7O0FtRngyUlk7RUFFSTtFQUNBO0FuRjAyUmhCO0FtRnQyUlk7RUFFSTtBbkZ1MlJoQjtBbUZuMlJZO0VBRUk7RUFDQTtBbkZvMlJoQjtBbUZoMlJZO0VBQ0k7RUFDQTtBbkZrMlJoQjtBbUY5MVJZO0VBRUk7QW5GKzFSaEI7O0FtRngxUlE7RUFDSTtBbkYyMVJaO0FtRngxUlE7RUFDSTtBbkYwMVJaO0FtRnQxUlk7RUFDSTtBbkZ3MVJoQjtBbUZyMVJZO0VBQ0k7QW5GdTFSaEI7QW1GbDFSWTtFQUNJO0FuRm8xUmhCO0FtRmoxUlk7RUFDSTtBbkZtMVJoQjs7QTZCMStSZ0I7RUFLWTtBN0J5K1I1Qjs7QTZCbitSZ0I7RUFLWTtBN0JrK1I1Qjs7QTZCbC9SZ0I7RUFLWTtBN0JpL1I1Qjs7QTZCMytSZ0I7RUFLWTtBN0IwK1I1Qjs7QTZCMS9SZ0I7RUFLWTtBN0J5L1I1Qjs7QTZCbi9SZ0I7RUFLWTtBN0JrL1I1Qjs7QTZCbGdTZ0I7RUFLWTtBN0JpZ1M1Qjs7QTZCMy9SZ0I7RUFLWTtBN0IwL1I1Qjs7QTZCMWdTZ0I7RUFLWTtBN0J5Z1M1Qjs7QTZCbmdTZ0I7RUFLWTtBN0JrZ1M1Qjs7QTZCbGhTZ0I7RUFLWTtBN0JpaFM1Qjs7QTZCM2dTZ0I7RUFLWTtBN0IwZ1M1Qjs7QTZCMWhTZ0I7RUFLWTtBN0J5aFM1Qjs7QTZCbmhTZ0I7RUFLWTtBN0JraFM1Qjs7QTZCbGlTZ0I7RUFLWTtBN0JpaVM1Qjs7QTZCM2hTZ0I7RUFLWTtBN0IwaFM1Qjs7QTZCMWlTZ0I7RUFLWTtBN0J5aVM1Qjs7QTZCbmlTZ0I7RUFLWTtBN0JraVM1Qjs7QTZCbGpTZ0I7RUFLWTtBN0JpalM1Qjs7QTZCM2lTZ0I7RUFLWTtBN0IwaVM1Qjs7QTZCMWpTZ0I7RUFLWTtBN0J5alM1Qjs7QTZCbmpTZ0I7RUFLWTtBN0JralM1Qjs7QTZCbGtTZ0I7RUFLWTtBN0Jpa1M1Qjs7QTZCM2pTZ0I7RUFLWTtBN0IwalM1Qjs7QTZCMWtTZ0I7RUFLWTtBN0J5a1M1Qjs7QTZCbmtTZ0I7RUFLWTtBN0Jra1M1Qjs7QTZCbGxTZ0I7RUFLWTtBN0JpbFM1Qjs7QTZCM2tTZ0I7RUFLWTtBN0Iwa1M1Qjs7QTZCMWxTZ0I7RUFLWTtBN0J5bFM1Qjs7QTZCbmxTZ0I7RUFLWTtBN0JrbFM1Qjs7QW9GOW1TSTs7RUFFSTtFQUNBO0FwRmluU1I7QW9GL21TUTs7RUFDSTtBcEZrblNaOztBb0Y3bVNJO0VBQ0k7QXBGZ25TUjs7QW9GN21TSTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0FwRmduU1I7O0FvRjVtU1E7RUFDSTtFQUNBO0FwRittU1o7O0FvRnhtU0k7RUFDSTtBcEYybVNSO0FvRnptU1E7OztFQUdJO0VBQ0E7RUFDQTtBcEYybVNaO0FvRnhtU1E7RUFDSTtBcEYwbVNaO0FvRnZtU1E7RUFDSTtFQUNBO0VBQ0E7QXBGeW1TWjtBb0Z0bVNnQjtFQUVJO0FwRnVtU3BCO0FvRmxtU1E7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBcEZvbVNaO0FvRi9sU1E7RUFDSTtBcEZpbVNaO0FvRjdsU1k7RUFFSTtBcEY4bFNoQjtBb0Z6bFNROztFQUVJO0FwRjJsU1o7QW9GdmxTUTtFQUNJO0VBQ0E7QXBGeWxTWjtBb0Z0bFNRO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7QXBGd2xTWjtBb0ZwbFNROzs7O0VBSUk7RUFDQTtBcEZzbFNaOztBb0ZqbFNJO0VBRUk7RUFDQTtBcEZtbFNSOztBb0Yva1NJOztFQUVJO0VBQ0E7RUFDQTtFQUNBO0FwRmtsU1I7O0FvRi9rU0k7O0VBRUk7QXBGa2xTUjs7QW9GL2tTSTs7RUFFSTtBcEZrbFNSOztBb0Y5a1NJO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBcEZpbFNSOztBb0Y1a1NRO0VBQ0k7QXBGK2tTWjtBb0Y3a1NZOzs7RUFHSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBcEYra1NoQjtBb0Y3a1NZO0VBQ0k7RUFDQTtBcEYra1NoQjtBb0Yza1NRO0VBQ0k7RUFDQTtBcEY2a1NaOztBb0Zwa1NZO0VBQ0k7QXBGdWtTaEI7QW9GcGtTWTtFQUNJO0FwRnNrU2hCOztBb0Yza1NZO0VBQ0k7QXBGOGtTaEI7QW9GM2tTWTtFQUNJO0FwRjZrU2hCOztBb0ZsbFNZO0VBQ0k7QXBGcWxTaEI7QW9GbGxTWTtFQUNJO0FwRm9sU2hCOztBb0Y5a1NJO0VBQ0k7QXBGaWxTUjtBb0Yva1NRO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7QXBGaWxTWjtBb0Yva1NZO0VBQ0k7QXBGaWxTaEI7QW9GOWtTWTtFQUNJO0FwRmdsU2hCO0FvRjVrU1E7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FwRjhrU1o7QW9GM2tTUTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0FwRjZrU1o7QW9GM2tTWTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBcEY2a1NoQjtBb0Yxa1NZO0VBQ0k7QXBGNGtTaEI7QW9GemtTWTtFQUNJO0FwRjJrU2hCO0FvRnhrU1k7RUFDSTtFQUNBO0FwRjBrU2hCO0FvRnZrU1k7RUFDSTtFQUNBO0VBQ0E7RUFDQTtBcEZ5a1NoQjtBb0Z0a1NZO0VBQ0k7QXBGd2tTaEI7O0FvRmxrU0k7RUFDSTtFQUNBO0VBQ0E7RUFDQTtBcEZxa1NSOztBb0Zoa1NJOzs7Ozs7OztFQUVJO0FwRnlrU1I7O0FvRnJrU0k7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBcEZ3a1NSOztBb0Z0a1NJO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBcEZ5a1NSO0FvRnZrU1E7RUFDSTtBcEZ5a1NaOztBb0Zua1NRO0VBQ0k7RUFDQTtBcEZza1NaO0FvRm5rU1E7O0VBRUk7QXBGcWtTWjtBb0Zsa1NROztFQUVJO0FwRm9rU1o7QW9GamtTUTtFQUNJO0FwRm1rU1o7QW9GaGtTUTtFQUNJO0FwRmtrU1o7O0FxRnY0U0k7O0UvRUVJO0FOMDRTUjtBcUZ2NFNZOztFL0VISiw0RStFSStCO0FyRjA0U3ZDO0FxRnQ0U1E7O0UvRVhBLDJGK0VZNEI7QXJGeTRTcEM7QXFGdDRTUTs7RS9FWkEsdUUrRWEyQjtBckZ5NFNuQztBcUZ0NFNROztFL0VoQkEsMkUrRWlCMkI7QXJGeTRTbkM7O0FxRnI0U0k7OztFL0VyQkksMkUrRXdCdUI7QXJGdzRTL0I7O0FxRnI0U0k7RS9FOUJJLDhGK0UrQndCO0FyRnc0U2hDOztBcUZyNFNJOztFL0UvQkksc0UrRWlDdUI7QXJGdzRTL0I7O0FxRnI0U0k7OztFQUdJO0FyRnc0U1I7O0E2Qmg2U2dCO0VBS1k7QTdCKzVTNUI7O0E2Qno1U2dCO0VBS1k7QTdCdzVTNUI7O0E2Qng2U2dCO0VBS1k7QTdCdTZTNUI7O0E2Qmo2U2dCO0VBS1k7QTdCZzZTNUI7O0E2Qmg3U2dCO0VBS1k7QTdCKzZTNUI7O0E2Qno2U2dCO0VBS1k7QTdCdzZTNUI7O0E2Qng3U2dCO0VBS1k7QTdCdTdTNUI7O0E2Qmo3U2dCO0VBS1k7QTdCZzdTNUI7O0E2Qmg4U2dCO0VBS1k7QTdCKzdTNUI7O0E2Qno3U2dCO0VBS1k7QTdCdzdTNUI7O0E2Qng4U2dCO0VBS1k7QTdCdThTNUI7O0E2Qmo4U2dCO0VBS1k7QTdCZzhTNUI7O0E2Qmg5U2dCO0VBS1k7QTdCKzhTNUI7O0E2Qno4U2dCO0VBS1k7QTdCdzhTNUI7O0E2Qng5U2dCO0VBS1k7QTdCdTlTNUI7O0E2Qmo5U2dCO0VBS1k7QTdCZzlTNUI7O0E2QmgrU2dCO0VBS1k7QTdCKzlTNUI7O0E2Qno5U2dCO0VBS1k7QTdCdzlTNUI7O0E2QngrU2dCO0VBS1k7QTdCdStTNUI7O0E2QmorU2dCO0VBS1k7QTdCZytTNUI7O0E2QmgvU2dCO0VBS1k7QTdCKytTNUI7O0E2QnorU2dCO0VBS1k7QTdCdytTNUI7O0E2QngvU2dCO0VBS1k7QTdCdS9TNUI7O0E2QmovU2dCO0VBS1k7QTdCZy9TNUI7O0E2QmhnVGdCO0VBS1k7QTdCKy9TNUI7O0E2QnovU2dCO0VBS1k7QTdCdy9TNUI7O0E2QnhnVGdCO0VBS1k7QTdCdWdUNUI7O0E2QmpnVGdCO0VBS1k7QTdCZ2dUNUI7O0E2QmhoVGdCO0VBS1k7QTdCK2dUNUI7O0E2QnpnVGdCO0VBS1k7QTdCd2dUNUI7O0E2QnhoVGdCO0VBS1k7QTdCdWhUNUI7O0E2QmpoVGdCO0VBS1k7QTdCZ2hUNUI7O0E2QmhpVGdCO0VBS1k7QTdCK2hUNUI7O0E2QnpoVGdCO0VBS1k7QTdCd2hUNUI7O0E2QnhpVGdCO0VBS1k7QTdCdWlUNUI7O0E2QmppVGdCO0VBS1k7QTdCZ2lUNUI7O0E2QmhqVGdCO0VBS1k7QTdCK2lUNUI7O0E2QnppVGdCO0VBS1k7QTdCd2lUNUI7O0E2QnhqVGdCO0VBS1k7QTdCdWpUNUI7O0E2QmpqVGdCO0VBS1k7QTdCZ2pUNUI7O0E2QmhrVGdCO0VBS1k7QTdCK2pUNUI7O0E2QnpqVGdCO0VBS1k7QTdCd2pUNUI7O0E2QnhrVGdCO0VBS1k7QTdCdWtUNUI7O0E2QmprVGdCO0VBS1k7QTdCZ2tUNUI7O0E2QmhsVGdCO0VBS1k7QTdCK2tUNUI7O0E2QnprVGdCO0VBS1k7QTdCd2tUNUI7O0E2QnhsVGdCO0VBS1k7QTdCdWxUNUI7O0E2QmpsVGdCO0VBS1k7QTdCZ2xUNUI7O0E2QmhtVGdCO0VBS1k7QTdCK2xUNUI7O0E2QnpsVGdCO0VBS1k7QTdCd2xUNUI7O0E2QnhtVGdCO0VBS1k7QTdCdW1UNUI7O0E2QmptVGdCO0VBS1k7QTdCZ21UNUI7O0E2QmhuVGdCO0VBS1k7QTdCK21UNUI7O0E2QnptVGdCO0VBS1k7QTdCd21UNUI7O0E2QnhuVGdCO0VBS1k7QTdCdW5UNUI7O0E2QmpuVGdCO0VBS1k7QTdCZ25UNUI7O0E2QmhvVGdCO0VBR1k7QTdCaW9UNUI7O0E2QnpuVGdCO0VBR1k7QTdCMG5UNUI7O0E2QnhvVGdCO0VBR1k7QTdCeW9UNUI7O0E2QmpvVGdCO0VBR1k7QTdCa29UNUI7O0E2QmhwVGdCO0VBR1k7QTdCaXBUNUI7O0E2QnpvVGdCO0VBR1k7QTdCMG9UNUI7O0E2QnhwVGdCO0VBR1k7QTdCeXBUNUI7O0E2QmpwVGdCO0VBR1k7QTdCa3BUNUI7O0E2QmhxVGdCO0VBR1k7QTdCaXFUNUI7O0E2QnpwVGdCO0VBR1k7QTdCMHBUNUI7O0E2QnhxVGdCO0VBR1k7QTdCeXFUNUI7O0E2QmpxVGdCO0VBR1k7QTdCa3FUNUI7O0E2QmhyVGdCO0VBR1k7QTdCaXJUNUI7O0E2QnpxVGdCO0VBR1k7QTdCMHFUNUI7O0E2QnhyVGdCO0VBR1k7QTdCeXJUNUI7O0E2QmpyVGdCO0VBR1k7QTdCa3JUNUI7O0E2QmhzVGdCO0VBR1k7QTdCaXNUNUI7O0E2QnpyVGdCO0VBR1k7QTdCMHJUNUI7O0E2QnhzVGdCO0VBR1k7QTdCeXNUNUI7O0E2QmpzVGdCO0VBR1k7QTdCa3NUNUI7O0E2Qmh0VGdCO0VBR1k7QTdCaXRUNUI7O0E2QnpzVGdCO0VBR1k7QTdCMHNUNUI7O0E2Qnh0VGdCO0VBR1k7QTdCeXRUNUI7O0E2Qmp0VGdCO0VBR1k7QTdCa3RUNUI7O0E2Qmh1VGdCO0VBR1k7QTdCaXVUNUI7O0E2Qnp0VGdCO0VBR1k7QTdCMHRUNUI7O0E2Qnh1VGdCO0VBR1k7QTdCeXVUNUI7O0E2Qmp1VGdCO0VBR1k7QTdCa3VUNUI7O0E2Qmh2VGdCO0VBR1k7QTdCaXZUNUI7O0E2Qnp1VGdCO0VBR1k7QTdCMHVUNUI7O0E2Qnh2VGdCO0VBR1k7QTdCeXZUNUI7O0E2Qmp2VGdCO0VBR1k7QTdCa3ZUNUI7O0E2Qmh3VGdCO0VBR1k7QTdCaXdUNUI7O0E2Qnp2VGdCO0VBR1k7QTdCMHZUNUI7O0E2Qnh3VGdCO0VBR1k7QTdCeXdUNUI7O0E2Qmp3VGdCO0VBR1k7QTdCa3dUNUI7O0E2Qmh4VGdCO0VBR1k7QTdCaXhUNUI7O0E2Qnp3VGdCO0VBR1k7QTdCMHdUNUI7O0E2Qnh4VGdCO0VBR1k7QTdCeXhUNUI7O0E2Qmp4VGdCO0VBR1k7QTdCa3hUNUI7O0E2Qmh5VGdCO0VBR1k7QTdCaXlUNUI7O0E2Qnp4VGdCO0VBR1k7QTdCMHhUNUI7O0E2Qnh5VGdCO0VBR1k7QTdCeXlUNUI7O0E2Qmp5VGdCO0VBR1k7QTdCa3lUNUI7O0E2Qmh6VGdCO0VBR1k7QTdCaXpUNUI7O0E2Qnp5VGdCO0VBR1k7QTdCMHlUNUI7O0E2Qnh6VGdCO0VBR1k7QTdCeXpUNUI7O0E2Qmp6VGdCO0VBR1k7QTdCa3pUNUI7O0E2QmgwVGdCO0VBR1k7QTdCaTBUNUI7O0E2Qnp6VGdCO0VBR1k7QTdCMHpUNUI7O0E2QngwVGdCO0VBR1k7QTdCeTBUNUI7O0E2QmowVGdCO0VBR1k7QTdCazBUNUI7O0E2QmgxVGdCO0VBR1k7QTdCaTFUNUI7O0E2QnowVGdCO0VBR1k7QTdCMDBUNUI7O0E2QngxVGdCO0VBR1k7QTdCeTFUNUI7O0E2QmoxVGdCO0VBR1k7QTdCazFUNUI7O0E2QmgyVGdCO0VBR1k7QTdCaTJUNUI7O0E2QnoxVGdCO0VBR1k7QTdCMDFUNUI7O0E2QngyVGdCO0VBR1k7QTdCeTJUNUI7O0E2QmoyVGdCO0VBR1k7QTdCazJUNUI7O0E2QmgzVGdCO0VBR1k7QTdCaTNUNUI7O0E2QnoyVGdCO0VBR1k7QTdCMDJUNUI7O0E2QngzVGdCO0VBR1k7QTdCeTNUNUI7O0E2QmozVGdCO0VBR1k7QTdCazNUNUI7O0E2Qmg0VGdCO0VBR1k7QTdCaTRUNUI7O0E2QnozVGdCO0VBR1k7QTdCMDNUNUI7O0E2Qng0VGdCO0VBR1k7QTdCeTRUNUI7O0E2Qmo0VGdCO0VBR1k7QTdCazRUNUI7O0E2Qmg1VGdCO0VBR1k7QTdCaTVUNUI7O0E2Qno0VGdCO0VBR1k7QTdCMDRUNUI7O0E2Qng1VGdCO0VBR1k7QTdCeTVUNUI7O0E2Qmo1VGdCO0VBR1k7QTdCazVUNUI7O0E2Qmg2VGdCO0VBR1k7QTdCaTZUNUI7O0E2Qno1VGdCO0VBR1k7QTdCMDVUNUI7O0E2Qng2VGdCO0VBR1k7QTdCeTZUNUI7O0E2Qmo2VGdCO0VBR1k7QTdCazZUNUI7O0E2Qmg3VGdCO0VBR1k7QTdCaTdUNUI7O0E2Qno2VGdCO0VBR1k7QTdCMDZUNUI7O0E2Qng3VGdCO0VBR1k7QTdCeTdUNUI7O0E2Qmo3VGdCO0VBR1k7QTdCazdUNUI7O0E2Qmg4VGdCO0VBR1k7QTdCaThUNUI7O0E2Qno3VGdCO0VBR1k7QTdCMDdUNUI7O0E2Qng4VGdCO0VBR1k7QTdCeThUNUI7O0E2Qmo4VGdCO0VBR1k7QTdCazhUNUI7O0E2Qmg5VGdCO0VBR1k7QTdCaTlUNUI7O0E2Qno4VGdCO0VBR1k7QTdCMDhUNUI7O0E2Qng5VGdCO0VBR1k7QTdCeTlUNUI7O0E2Qmo5VGdCO0VBR1k7QTdCazlUNUI7O0E2QmgrVGdCO0VBR1k7QTdCaStUNUI7O0E2Qno5VGdCO0VBR1k7QTdCMDlUNUI7O0E2QngrVGdCO0VBR1k7QTdCeStUNUI7O0E2QmorVGdCO0VBR1k7QTdCaytUNUI7O0E2QmgvVGdCO0VBR1k7QTdCaS9UNUI7O0E2QnorVGdCO0VBR1k7QTdCMCtUNUI7O0E2QngvVGdCO0VBR1k7QTdCeS9UNUI7O0E2QmovVGdCO0VBR1k7QTdCay9UNUI7O0E2QmhnVWdCO0VBR1k7QTdCaWdVNUI7O0E2QnovVGdCO0VBR1k7QTdCMC9UNUI7O0E2QnhnVWdCO0VBR1k7QTdCeWdVNUI7O0E2QmpnVWdCO0VBR1k7QTdCa2dVNUI7O0E2QmhoVWdCO0VBR1k7QTdCaWhVNUI7O0E2QnpnVWdCO0VBR1k7QTdCMGdVNUI7O0E2QnhoVWdCO0VBR1k7QTdCeWhVNUI7O0E2QmpoVWdCO0VBR1k7QTdCa2hVNUI7O0E2QmhpVWdCO0VBR1k7QTdCaWlVNUI7O0E2QnpoVWdCO0VBR1k7QTdCMGhVNUI7O0E2QnhpVWdCO0VBR1k7QTdCeWlVNUI7O0E2QmppVWdCO0VBR1k7QTdCa2lVNUI7O0E2QmhqVWdCO0VBR1k7QTdCaWpVNUI7O0E2QnppVWdCO0VBR1k7QTdCMGlVNUI7O0E2QnhqVWdCO0VBR1k7QTdCeWpVNUI7O0E2QmpqVWdCO0VBR1k7QTdCa2pVNUI7O0E2QmhrVWdCO0VBR1k7QTdCaWtVNUI7O0E2QnpqVWdCO0VBR1k7QTdCMGpVNUI7O0E2QnhrVWdCO0VBR1k7QTdCeWtVNUI7O0E2QmprVWdCO0VBR1k7QTdCa2tVNUI7O0E2QmhsVWdCO0VBR1k7QTdCaWxVNUI7O0E2QnprVWdCO0VBR1k7QTdCMGtVNUI7O0E2QnhsVWdCO0VBR1k7QTdCeWxVNUI7O0E2QmpsVWdCO0VBR1k7QTdCa2xVNUI7O0E2QmhtVWdCO0VBR1k7QTdCaW1VNUI7O0E2QnpsVWdCO0VBR1k7QTdCMGxVNUI7O0E2QnhtVWdCO0VBR1k7QTdCeW1VNUI7O0E2QmptVWdCO0VBR1k7QTdCa21VNUI7O0E2QmhuVWdCO0VBR1k7QTdCaW5VNUI7O0E2QnptVWdCO0VBR1k7QTdCMG1VNUI7O0E2QnhuVWdCO0VBR1k7QTdCeW5VNUI7O0E2QmpuVWdCO0VBR1k7QTdCa25VNUI7O0E2QmhvVWdCO0VBR1k7QTdCaW9VNUI7O0E2QnpuVWdCO0VBR1k7QTdCMG5VNUI7O0E2QnhvVWdCO0VBR1k7QTdCeW9VNUI7O0E2QmpvVWdCO0VBR1k7QTdCa29VNUI7O0E2QmhwVWdCO0VBR1k7QTdCaXBVNUI7O0E2QnpvVWdCO0VBR1k7QTdCMG9VNUI7O0E2QnhwVWdCO0VBR1k7QTdCeXBVNUI7O0E2QmpwVWdCO0VBR1k7QTdCa3BVNUI7O0E2QmhxVWdCO0VBR1k7QTdCaXFVNUI7O0E2QnpwVWdCO0VBR1k7QTdCMHBVNUI7O0E2QnhxVWdCO0VBR1k7QTdCeXFVNUI7O0E2QmpxVWdCO0VBR1k7QTdCa3FVNUI7O0E2QmhyVWdCO0VBR1k7QTdCaXJVNUI7O0E2QnpxVWdCO0VBR1k7QTdCMHFVNUI7O0E2QnhyVWdCO0VBR1k7QTdCeXJVNUI7O0E2QmpyVWdCO0VBR1k7QTdCa3JVNUI7O0E2QmhzVWdCO0VBR1k7QTdCaXNVNUI7O0E2QnpyVWdCO0VBR1k7QTdCMHJVNUI7O0E2QnhzVWdCO0VBR1k7QTdCeXNVNUI7O0E2QmpzVWdCO0VBR1k7QTdCa3NVNUI7O0E2Qmh0VWdCO0VBR1k7QTdCaXRVNUI7O0E2QnpzVWdCO0VBR1k7QTdCMHNVNUI7O0E2Qnh0VWdCO0VBR1k7QTdCeXRVNUI7O0E2Qmp0VWdCO0VBR1k7QTdCa3RVNUI7O0E2Qmh1VWdCO0VBR1k7QTdCaXVVNUI7O0E2Qnp0VWdCO0VBR1k7QTdCMHRVNUI7O0E2Qnh1VWdCO0VBR1k7QTdCeXVVNUI7O0E2Qmp1VWdCO0VBR1k7QTdCa3VVNUI7O0E2Qmh2VWdCO0VBR1k7QTdCaXZVNUI7O0E2Qnp1VWdCO0VBR1k7QTdCMHVVNUI7O0E2Qnh2VWdCO0VBR1k7QTdCeXZVNUI7O0E2Qmp2VWdCO0VBR1k7QTdCa3ZVNUI7O0E2Qmh3VWdCO0VBR1k7QTdCaXdVNUI7O0E2Qnp2VWdCO0VBR1k7QTdCMHZVNUI7O0E2Qnh3VWdCO0VBR1k7QTdCeXdVNUI7O0E2Qmp3VWdCO0VBR1k7QTdCa3dVNUI7O0E2Qmh4VWdCO0VBR1k7QTdCaXhVNUI7O0E2Qnp3VWdCO0VBR1k7QTdCMHdVNUI7O0E2Qnh4VWdCO0VBR1k7QTdCeXhVNUI7O0E2Qmp4VWdCO0VBR1k7QTdCa3hVNUI7O0E2Qmh5VWdCO0VBR1k7QTdCaXlVNUI7O0E2Qnp4VWdCO0VBR1k7QTdCMHhVNUI7O0E2Qnh5VWdCO0VBR1k7QTdCeXlVNUI7O0E2Qmp5VWdCO0VBR1k7QTdCa3lVNUI7O0E2Qmh6VWdCO0VBR1k7QTdCaXpVNUI7O0E2Qnp5VWdCO0VBR1k7QTdCMHlVNUI7O0E2Qnh6VWdCO0VBR1k7QTdCeXpVNUI7O0E2Qmp6VWdCO0VBR1k7QTdCa3pVNUI7O0E2QmgwVWdCO0VBR1k7QTdCaTBVNUI7O0E2Qnp6VWdCO0VBR1k7QTdCMHpVNUI7O0E2QngwVWdCO0VBR1k7QTdCeTBVNUI7O0E2QmowVWdCO0VBR1k7QTdCazBVNUI7O0E2QmgxVWdCO0VBR1k7QTdCaTFVNUI7O0E2QnowVWdCO0VBR1k7QTdCMDBVNUI7O0E2QngxVWdCO0VBR1k7QTdCeTFVNUI7O0E2QmoxVWdCO0VBR1k7QTdCazFVNUI7O0E2QmgyVWdCO0VBR1k7QTdCaTJVNUI7O0E2QnoxVWdCO0VBR1k7QTdCMDFVNUI7O0E2QngyVWdCO0VBR1k7QTdCeTJVNUI7O0E2QmoyVWdCO0VBR1k7QTdCazJVNUI7O0E2QmgzVWdCO0VBR1k7QTdCaTNVNUI7O0E2QnoyVWdCO0VBR1k7QTdCMDJVNUI7O0E2QngzVWdCO0VBR1k7QTdCeTNVNUI7O0E2QmozVWdCO0VBR1k7QTdCazNVNUI7O0E2Qmg0VWdCO0VBR1k7QTdCaTRVNUI7O0E2QnozVWdCO0VBR1k7QTdCMDNVNUI7O0E2Qng0VWdCO0VBR1k7QTdCeTRVNUI7O0E2Qmo0VWdCO0VBR1k7QTdCazRVNUI7O0E2Qmg1VWdCO0VBR1k7QTdCaTVVNUI7O0E2Qno0VWdCO0VBR1k7QTdCMDRVNUI7O0E2Qng1VWdCO0VBR1k7QTdCeTVVNUI7O0E2Qmo1VWdCO0VBR1k7QTdCazVVNUI7O0E2Qmg2VWdCO0VBR1k7QTdCaTZVNUI7O0E2Qno1VWdCO0VBR1k7QTdCMDVVNUI7O0E2Qng2VWdCO0VBR1k7QTdCeTZVNUI7O0E2Qmo2VWdCO0VBR1k7QTdCazZVNUI7O0E2Qmg3VWdCO0VBR1k7QTdCaTdVNUI7O0E2Qno2VWdCO0VBR1k7QTdCMDZVNUI7O0E2Qng3VWdCO0VBR1k7QTdCeTdVNUI7O0E2Qmo3VWdCO0VBR1k7QTdCazdVNUI7O0E2Qmg4VWdCO0VBR1k7QTdCaThVNUI7O0E2Qno3VWdCO0VBR1k7QTdCMDdVNUI7O0E2Qng4VWdCO0VBR1k7QTdCeThVNUI7O0E2Qmo4VWdCO0VBR1k7QTdCazhVNUI7O0E2Qmg5VWdCO0VBR1k7QTdCaTlVNUI7O0E2Qno4VWdCO0VBR1k7QTdCMDhVNUI7O0E2Qng5VWdCO0VBR1k7QTdCeTlVNUI7O0E2Qmo5VWdCO0VBR1k7QTdCazlVNUI7O0E2QmgrVWdCO0VBR1k7QTdCaStVNUI7O0E2Qno5VWdCO0VBR1k7QTdCMDlVNUI7O0E2QngrVWdCO0VBR1k7QTdCeStVNUI7O0E2QmorVWdCO0VBR1k7QTdCaytVNUI7O0E2QmgvVWdCO0VBR1k7QTdCaS9VNUI7O0E2QnorVWdCO0VBR1k7QTdCMCtVNUI7O0E2QngvVWdCO0VBR1k7QTdCeS9VNUI7O0E2QmovVWdCO0VBR1k7QTdCay9VNUI7O0E2QmhnVmdCO0VBR1k7QTdCaWdWNUI7O0E2QnovVWdCO0VBR1k7QTdCMC9VNUI7O0E2QnhnVmdCO0VBR1k7QTdCeWdWNUI7O0E2QmpnVmdCO0VBR1k7QTdCa2dWNUI7O0E2QmhoVmdCO0VBR1k7QTdCaWhWNUI7O0E2QnpnVmdCO0VBR1k7QTdCMGdWNUI7O0E2QnhoVmdCO0VBR1k7QTdCeWhWNUI7O0E2QmpoVmdCO0VBR1k7QTdCa2hWNUI7O0E2QmhpVmdCO0VBR1k7QTdCaWlWNUI7O0E2QnpoVmdCO0VBR1k7QTdCMGhWNUI7O0E2QnhpVmdCO0VBR1k7QTdCeWlWNUI7O0E2QmppVmdCO0VBR1k7QTdCa2lWNUI7O0E2QmhqVmdCO0VBR1k7QTdCaWpWNUI7O0E2QnppVmdCO0VBR1k7QTdCMGlWNUI7O0E2QnhqVmdCO0VBR1k7QTdCeWpWNUI7O0E2QmpqVmdCO0VBR1k7QTdCa2pWNUI7O0E2QmhrVmdCO0VBR1k7QTdCaWtWNUI7O0E2QnpqVmdCO0VBR1k7QTdCMGpWNUI7O0E2QnhrVmdCO0VBR1k7QTdCeWtWNUI7O0E2QmprVmdCO0VBR1k7QTdCa2tWNUI7O0E2QmhsVmdCO0VBR1k7QTdCaWxWNUI7O0E2QnprVmdCO0VBR1k7QTdCMGtWNUI7O0E2QnhsVmdCO0VBR1k7QTdCeWxWNUI7O0E2QmpsVmdCO0VBR1k7QTdCa2xWNUI7O0E2QmhtVmdCO0VBR1k7QTdCaW1WNUI7O0E2QnpsVmdCO0VBR1k7QTdCMGxWNUI7O0E2QnhtVmdCO0VBR1k7QTdCeW1WNUI7O0E2QmptVmdCO0VBR1k7QTdCa21WNUI7O0E2QmhuVmdCO0VBR1k7QTdCaW5WNUI7O0E2QnptVmdCO0VBR1k7QTdCMG1WNUI7O0E2QnhuVmdCO0VBR1k7QTdCeW5WNUI7O0E2QmpuVmdCO0VBR1k7QTdCa25WNUI7O0E2QmhvVmdCO0VBR1k7QTdCaW9WNUI7O0E2QnpuVmdCO0VBR1k7QTdCMG5WNUI7O0E2QnhvVmdCO0VBR1k7QTdCeW9WNUI7O0E2QmpvVmdCO0VBR1k7QTdCa29WNUI7O0E2QmhwVmdCO0VBR1k7QTdCaXBWNUI7O0E2QnpvVmdCO0VBR1k7QTdCMG9WNUI7O0E2QnhwVmdCO0VBR1k7QTdCeXBWNUI7O0E2QmpwVmdCO0VBR1k7QTdCa3BWNUI7O0E2QmhxVmdCO0VBR1k7QTdCaXFWNUI7O0E2QnpwVmdCO0VBR1k7QTdCMHBWNUI7O0E2QnhxVmdCO0VBR1k7QTdCeXFWNUI7O0E2QmpxVmdCO0VBR1k7QTdCa3FWNUI7O0E2QmhyVmdCO0VBR1k7QTdCaXJWNUI7O0E2QnpxVmdCO0VBR1k7QTdCMHFWNUI7O0E2QnhyVmdCO0VBR1k7QTdCeXJWNUI7O0E2QmpyVmdCO0VBR1k7QTdCa3JWNUI7O0E2QmhzVmdCO0VBR1k7QTdCaXNWNUI7O0E2QnpyVmdCO0VBR1k7QTdCMHJWNUI7O0E2QnhzVmdCO0VBR1k7QTdCeXNWNUI7O0E2QmpzVmdCO0VBR1k7QTdCa3NWNUI7O0E2Qmh0VmdCO0VBR1k7QTdCaXRWNUI7O0E2QnpzVmdCO0VBR1k7QTdCMHNWNUI7O0E2Qnh0VmdCO0VBR1k7QTdCeXRWNUI7O0E2Qmp0VmdCO0VBR1k7QTdCa3RWNUI7O0E2Qmh1VmdCO0VBR1k7QTdCaXVWNUI7O0E2Qnp0VmdCO0VBR1k7QTdCMHRWNUI7O0E2Qnh1VmdCO0VBS1k7QTdCdXVWNUI7O0E2Qmp1VmdCO0VBS1k7QTdCZ3VWNUI7O0E2Qmh2VmdCO0VBS1k7QTdCK3VWNUI7O0E2Qnp1VmdCO0VBS1k7QTdCd3VWNUI7O0E2Qnh2VmdCO0VBS1k7QTdCdXZWNUI7O0E2Qmp2VmdCO0VBS1k7QTdCZ3ZWNUI7O0E2Qmh3VmdCO0VBS1k7QTdCK3ZWNUI7O0E2Qnp2VmdCO0VBS1k7QTdCd3ZWNUI7O0E2Qnh3VmdCO0VBS1k7QTdCdXdWNUI7O0E2Qmp3VmdCO0VBS1k7QTdCZ3dWNUI7O0E2Qmh4VmdCO0VBS1k7QTdCK3dWNUI7O0E2Qnp3VmdCO0VBS1k7QTdCd3dWNUI7O0E2Qnh4VmdCO0VBS1k7QTdCdXhWNUI7O0E2Qmp4VmdCO0VBS1k7QTdCZ3hWNUI7O0E2Qmh5VmdCO0VBS1k7QTdCK3hWNUI7O0E2Qnp4VmdCO0VBS1k7QTdCd3hWNUI7O0E2Qnh5VmdCO0VBS1k7QTdCdXlWNUI7O0E2Qmp5VmdCO0VBS1k7QTdCZ3lWNUI7O0E2Qmh6VmdCO0VBS1k7QTdCK3lWNUI7O0E2Qnp5VmdCO0VBS1k7QTdCd3lWNUI7O0E2Qnh6VmdCO0VBS1k7QTdCdXpWNUI7O0E2Qmp6VmdCO0VBS1k7QTdCZ3pWNUI7O0E2QmgwVmdCO0VBS1k7QTdCK3pWNUI7O0E2Qnp6VmdCO0VBS1k7QTdCd3pWNUI7O0E2QngwVmdCO0VBS1k7QTdCdTBWNUI7O0E2QmowVmdCO0VBS1k7QTdCZzBWNUI7O0E2QmgxVmdCO0VBS1k7QTdCKzBWNUI7O0E2QnowVmdCO0VBS1k7QTdCdzBWNUI7O0E2QngxVmdCO0VBS1k7QTdCdTFWNUI7O0E2QmoxVmdCO0VBS1k7QTdCZzFWNUI7O0E2QmgyVmdCO0VBS1k7QTdCKzFWNUI7O0E2QnoxVmdCO0VBS1k7QTdCdzFWNUI7O0E2QngyVmdCO0VBS1k7QTdCdTJWNUI7O0E2QmoyVmdCO0VBS1k7QTdCZzJWNUI7O0E2QmgzVmdCO0VBS1k7QTdCKzJWNUI7O0E2QnoyVmdCO0VBS1k7QTdCdzJWNUI7O0E2QngzVmdCO0VBS1k7QTdCdTNWNUI7O0E2QmozVmdCO0VBS1k7QTdCZzNWNUI7O0E2Qmg0VmdCO0VBS1k7QTdCKzNWNUI7O0E2QnozVmdCO0VBS1k7QTdCdzNWNUI7O0E2Qng0VmdCO0VBS1k7QTdCdTRWNUI7O0E2Qmo0VmdCO0VBS1k7QTdCZzRWNUI7O0E2Qmg1VmdCO0VBS1k7QTdCKzRWNUI7O0E2Qno0VmdCO0VBS1k7QTdCdzRWNUI7O0E2Qng1VmdCO0VBS1k7QTdCdTVWNUI7O0E2Qmo1VmdCO0VBS1k7QTdCZzVWNUI7O0E2Qmg2VmdCO0VBS1k7QTdCKzVWNUI7O0E2Qno1VmdCO0VBS1k7QTdCdzVWNUI7O0E2Qng2VmdCO0VBS1k7QTdCdTZWNUI7O0E2Qmo2VmdCO0VBS1k7QTdCZzZWNUI7O0E2Qmg3VmdCO0VBS1k7QTdCKzZWNUI7O0E2Qno2VmdCO0VBS1k7QTdCdzZWNUI7O0E2Qng3VmdCO0VBS1k7QTdCdTdWNUI7O0E2Qmo3VmdCO0VBS1k7QTdCZzdWNUI7O0E2Qmg4VmdCO0VBS1k7QTdCKzdWNUI7O0E2Qno3VmdCO0VBS1k7QTdCdzdWNUI7O0E2Qng4VmdCO0VBS1k7QTdCdThWNUI7O0E2Qmo4VmdCO0VBS1k7QTdCZzhWNUI7O0E2Qmg5VmdCO0VBS1k7QTdCKzhWNUI7O0E2Qno4VmdCO0VBS1k7QTdCdzhWNUI7O0E2Qng5VmdCO0VBS1k7QTdCdTlWNUI7O0E2Qmo5VmdCO0VBS1k7QTdCZzlWNUI7O0E2QmgrVmdCO0VBS1k7QTdCKzlWNUI7O0E2Qno5VmdCO0VBS1k7QTdCdzlWNUI7O0E2QngrVmdCO0VBS1k7QTdCdStWNUI7O0E2QmorVmdCO0VBS1k7QTdCZytWNUI7O0E2QmgvVmdCO0VBS1k7QTdCKytWNUI7O0E2QnorVmdCO0VBS1k7QTdCdytWNUI7O0E2QngvVmdCO0VBS1k7QTdCdS9WNUI7O0E2QmovVmdCO0VBS1k7QTdCZy9WNUI7O0E2QmhnV2dCO0VBS1k7QTdCKy9WNUI7O0E2QnovVmdCO0VBS1k7QTdCdy9WNUI7O0E2QnhnV2dCO0VBS1k7QTdCdWdXNUI7O0E2QmpnV2dCO0VBS1k7QTdCZ2dXNUI7O0E2QmhoV2dCO0VBS1k7QTdCK2dXNUI7O0E2QnpnV2dCO0VBS1k7QTdCd2dXNUI7O0E2QnhoV2dCO0VBS1k7QTdCdWhXNUI7O0E2QmpoV2dCO0VBS1k7QTdCZ2hXNUI7O0E2QmhpV2dCO0VBS1k7QTdCK2hXNUI7O0E2QnpoV2dCO0VBS1k7QTdCd2hXNUI7O0E2QnhpV2dCO0VBS1k7QTdCdWlXNUI7O0E2QmppV2dCO0VBS1k7QTdCZ2lXNUI7O0E2QmhqV2dCO0VBS1k7QTdCK2lXNUI7O0E2QnppV2dCO0VBS1k7QTdCd2lXNUI7O0E2QnhqV2dCO0VBS1k7QTdCdWpXNUI7O0E2QmpqV2dCO0VBS1k7QTdCZ2pXNUI7O0E2QmhrV2dCO0VBS1k7QTdCK2pXNUI7O0E2QnpqV2dCO0VBS1k7QTdCd2pXNUI7O0E2QnhrV2dCO0VBS1k7QTdCdWtXNUI7O0E2QmprV2dCO0VBS1k7QTdCZ2tXNUI7O0E2QmhsV2dCO0VBS1k7QTdCK2tXNUI7O0E2QnprV2dCO0VBS1k7QTdCd2tXNUI7O0E2QnhsV2dCO0VBS1k7QTdCdWxXNUI7O0E2QmpsV2dCO0VBS1k7QTdCZ2xXNUI7O0E2QmhtV2dCO0VBS1k7QTdCK2xXNUI7O0E2QnpsV2dCO0VBS1k7QTdCd2xXNUI7O0E2QnhtV2dCO0VBS1k7QTdCdW1XNUI7O0E2QmptV2dCO0VBS1k7QTdCZ21XNUI7O0E2QmhuV2dCO0VBS1k7QTdCK21XNUI7O0E2QnptV2dCO0VBS1k7QTdCd21XNUI7O0E2QnhuV2dCO0VBS1k7QTdCdW5XNUI7O0E2QmpuV2dCO0VBS1k7QTdCZ25XNUI7O0E2QmhvV2dCO0VBS1k7QTdCK25XNUI7O0E2QnpuV2dCO0VBS1k7QTdCd25XNUI7O0E2QnhvV2dCO0VBS1k7QTdCdW9XNUI7O0E2QmpvV2dCO0VBS1k7QTdCZ29XNUI7O0E2QmhwV2dCO0VBS1k7QTdCK29XNUI7O0E2QnpvV2dCO0VBS1k7QTdCd29XNUI7O0E2QnhwV2dCO0VBS1k7QTdCdXBXNUI7O0E2QmpwV2dCO0VBS1k7QTdCZ3BXNUI7O0E2QmhxV2dCO0VBS1k7QTdCK3BXNUI7O0E2QnpwV2dCO0VBS1k7QTdCd3BXNUI7O0E2QnhxV2dCO0VBS1k7QTdCdXFXNUI7O0E2QmpxV2dCO0VBS1k7QTdCZ3FXNUI7O0E2QmhyV2dCO0VBS1k7QTdCK3FXNUI7O0E2QnpxV2dCO0VBS1k7QTdCd3FXNUI7O0E2QnhyV2dCO0VBS1k7QTdCdXJXNUI7O0E2QmpyV2dCO0VBS1k7QTdCZ3JXNUI7O0E2QmhzV2dCO0VBS1k7QTdCK3JXNUI7O0E2QnpyV2dCO0VBS1k7QTdCd3JXNUI7O0E2QnhzV2dCO0VBS1k7QTdCdXNXNUI7O0E2QmpzV2dCO0VBS1k7QTdCZ3NXNUI7O0E2Qmh0V2dCO0VBS1k7QTdCK3NXNUI7O0E2QnpzV2dCO0VBS1k7QTdCd3NXNUI7O0E2Qnh0V2dCO0VBS1k7QTdCdXRXNUI7O0E2Qmp0V2dCO0VBS1k7QTdCZ3RXNUI7O0E2Qmh1V2dCO0VBS1k7QTdCK3RXNUI7O0E2Qnp0V2dCO0VBS1k7QTdCd3RXNUI7O0E2Qnh1V2dCO0VBS1k7QTdCdXVXNUI7O0E2Qmp1V2dCO0VBS1k7QTdCZ3VXNUI7O0E2Qmh2V2dCO0VBS1k7QTdCK3VXNUI7O0E2Qnp1V2dCO0VBS1k7QTdCd3VXNUI7O0E2Qnh2V2dCO0VBS1k7QTdCdXZXNUI7O0E2Qmp2V2dCO0VBS1k7QTdCZ3ZXNUI7O0E2Qmh3V2dCO0VBS1k7QTdCK3ZXNUI7O0E2Qnp2V2dCO0VBS1k7QTdCd3ZXNUI7O0E2Qnh3V2dCO0VBS1k7QTdCdXdXNUI7O0E2Qmp3V2dCO0VBS1k7QTdCZ3dXNUI7O0FzRmp5V0k7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBRUE7QXRGbXlXUjs7QXNGanlXSTtFQUNJO0F0Rm95V1I7O0F1Rjl5V0k7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBdkZpeldSO0F1Ri95V1E7OztFQUdJO0F2Rml6V1o7QXVGOXlXUTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0F2Rmd6V1o7QXVGM3lXWTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0F2RjZ5V2hCO0F1Rnp5V1E7RUFHSTtFQUNBO0VBQ0E7QXZGeXlXWjtBdUZyeVdRO0VBQ0k7QXZGdXlXWjtBdUZweVdRO0VBR0k7QXZGb3lXWjs7QXVGNXhXUTs7O0VBQ0k7RUFDQTtBdkZpeVdaO0F1Rjd4V1k7OztFQUNJO0VBQ0E7QXZGaXlXaEI7QXVGN3hXUTs7Ozs7OztFQUdJO0VBQ0E7QXZGbXlXWjs7QXdGajNXUTtFbEZEQSxnRGtGR2dCO0VsRkFoQix5RGtGQ2E7QXhGbTNXckI7QXdGLzJXUTtFbEZSQSxzRGtGVWdCO0VsRlBoQiwrRGtGUWE7QXhGZzNXckI7QXdGNTJXUTtFbEZmQSx3SGtGa0I0QjtBeEY0MldwQzs7QXlGLzNXUTtFQUNJO0F6Rms0V1o7QXlGLzNXUTtFQUNJO0F6Rmk0V1o7O0F5RjUzV0k7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0F6RiszV1I7QXlGNzNXUTtFQUNJO0F6RiszV1o7QXlGNzNXWTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0F6RiszV2hCO0F5RngzV1k7RUFDSTtBekYwM1doQjtBeUZ2M1dvQjtFQUNJO0F6RnkzV3hCO0F5RjkzV1k7RUFDSTtBekZnNFdoQjtBeUY3M1dvQjtFQUNJO0F6RiszV3hCO0F5RnA0V1k7RUFDSTtBekZzNFdoQjtBeUZuNFdvQjtFQUNJO0F6RnE0V3hCOztBMEY1NldJOztFQUVJO0VBQ0E7QTFGKzZXUjtBMEY3NldROztFQUNJO0VBQ0E7RUFDQTtFQUNBO0ExRmc3V1o7O0EyRnY3V0k7O0VBRUk7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QTNGMDdXUjtBMkZ4N1dROzs7Ozs7RUFHSTtBM0Y2N1daO0EyRjE3V1E7Ozs7RUFFSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QTNGODdXWjtBMkYxN1dROztFQUNJO0EzRjY3V1o7QTJGMTdXUTs7RUFDSTtFQUNBO0VBQ0E7QTNGNjdXWjs7QTJGbDdXWTs7OztFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBM0Z3N1doQjs7QTJGLzZXUTs7OztFQUVJO0EzRm83V1o7O0EyRjk2V0k7O0VBRUk7RUFDQTtBM0ZpN1dSOztBMkYvNldJO0VBQ0k7QTNGazdXUjs7QTJGNzZXSTtFQUNJO0EzRmc3V1I7O0EyRjk2V0k7RUFDSTtFQUNBO0VBQ0E7RUFDQTtBM0ZpN1dSOztBMkY1NldJO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBM0YrNldSO0EyRjU2V1E7RUFDSTtFQUNBO0VBQ0E7QTNGODZXWjtBMkYxNldRO0VBQ0k7QTNGNDZXWjs7QTJGejZXSTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0EzRjQ2V1I7O0EyRjE2V0k7RUFDSTtBM0Y2NldSOztBMkZ4NldJO0VBQ0k7QTNGMjZXUjs7QTJGejZXSTtFQUNJO0VBQ0E7RUFDQTtBM0Y0NldSOztBMkYxNldJO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0EzRjY2V1I7O0EyRng2V0k7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBM0YyNldSOztBMkZ6NldJO0VBQ0k7QTNGNDZXUjs7QTJGdDZXUTtFQUNJO0VBQ0E7RUFDQTtBM0Z5NldaO0EyRnQ2V1E7RUFDSTtFQUNBO0EzRnc2V1o7O0EyRmw2V0k7O0VBRUk7RUFDQTtFQUNBO0VBQ0E7QTNGcTZXUjtBMkZuNldROztFQUNJO0VBQ0E7QTNGczZXWjtBMkZuNldROztFQUNJO0EzRnM2V1o7QTJGbjZXUTs7RUFDSTtBM0ZzNldaOztBMkZoNldJO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQSxZekZ4T1U7RXlGeU9WO0EzRm02V1I7QTJGajZXUTtFQUNJO0VBQ0Esa0RDaE5lO0VEaU5mO0VBQ0E7QTNGbTZXWjtBMkZoNldRO0VBQ0k7RUFDQSxpREN2TmU7RUR3TmY7RUFDQTtBM0ZrNldaOztBMkY3NVdJO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBLDZDbEQxUHVCO0F6QzBwWC9CO0EyRjk1V1E7RUFDSTtBM0ZnNldaO0EyRjc1V1E7Ozs7Ozs7O0VBUUk7QTNGKzVXWjtBMkY1NVdRO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7QTNGODVXWjtBMkY1NVdRO0VBQ0k7RUFDQTtBM0Y4NVdaO0EyRjU1V1E7RUFDSTtFQUNBO0EzRjg1V1o7QTJGMzVXUTtFQUdJO0VBQ0E7QTNGMjVXWjs7QTJGdDVXSTs7O0VBR0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0EzRnk1V1I7O0EyRnQ1V0k7RUFDSTtFQUNBO0VBQ0E7QTNGeTVXUjs7QTJGbDVXUTs7Ozs7RUFFSTtFQUNBO0EzRnc1V1o7QTJGcjVXUTs7O0VBQ0k7RUFDQTtBM0Z5NVdaO0EyRnQ1V1E7OztFQUNJO0VBQ0E7QTNGMDVXWjtBMkZ2NVdROzs7RUFDSTtFQUNBO0EzRjI1V1o7QTJGeDVXUTs7O0VBQ0k7RUFDQTtBM0Y0NVdaO0EyRno1V1E7OztFQUNJO0VBQ0E7QTNGNjVXWjtBMkYxNVdROzs7RUFDSTtFQUNBO0EzRjg1V1o7O0EyRng1V0k7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0EzRjI1V1I7O0EyRno1V0k7O0VBRUk7RUFDQTtBM0Y0NVdSOztBMkYxNVdJO0VBQ0k7RUFDQTtBM0Y2NVdSOztBMkZ6NVdJO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBM0Y0NVdSO0EyRjE1V1E7RUFDSTtBM0Y0NVdaO0EyRng1V1E7RUFDSTtBM0YwNVdaOztBMkZ2NVdJO0VBQ0k7QTNGMDVXUjs7QTJGeDVXSTtFQUNJO0VBQ0E7RUFDQTtBM0YyNVdSOztBMkZ0NVdJO0VBQ0k7RUFDQTtFQUNBO0EzRnk1V1I7QTJGdjVXUTs7RUFFSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBM0Z5NVdaO0EyRnY1V1k7O0VBQ0k7RUFDQTtFQUNBO0VBQ0E7QTNGMDVXaEI7QTJGdjVXUTtFQUNJO0EzRnk1V1o7QTJGdDVXUTtFQUNHO0EzRnc1V1g7O0EyRm41V0k7RUFDSTtFQUNBO0VBQ0E7QTNGczVXUjs7QTJGbDVXSTs7Ozs7RUFLSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QTNGcTVXUjs7QTJGajVXSTs7RXZGNWNJLHdDdUY4YytCO0V2RjdjL0IsdUN1RjZjK0I7RUFDL0I7RUFDQTtBM0ZxNVdSO0EyRi80V1k7Ozs7RUFDSTtBM0ZvNVdoQjtBMkZ2NFdnQjs7Ozs7Ozs7OztFQUNJO0EzRms1V3BCOztBMkY1NFdJOztFQUVJO0EzRis0V1I7O0EyRmo0V1E7O0VBRUk7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QTNGbzRXWjtBMkZsNFdZOztFQUNJO0EzRnE0V2hCO0EyRmw0V1k7O0VBQ0k7QTNGcTRXaEI7QTJGbDRXWTs7RUFDSTtBM0ZxNFdoQjtBMkZsNFdZOzs7Ozs7OztFQUlJLDhDQWxDSztFQW1DTCwrQ0FuQ0s7RUFvQ0w7QTNGdzRXaEI7QTJGcDRXZ0I7O0VBQ0ksOENBekNDO0EzRmc3V3JCO0EyRnA0V2dCOztFQUNJLDZDQTdDQztBM0ZvN1dyQjs7QTJGNTZXUTs7RUFFSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBM0YrNldaO0EyRjc2V1k7O0VBQ0k7QTNGZzdXaEI7QTJGNzZXWTs7RUFDSTtBM0ZnN1doQjtBMkY3NldZOztFQUNJO0EzRmc3V2hCO0EyRjc2V1k7Ozs7Ozs7O0VBSUksa0RBbENLO0VBbUNMLG1EQW5DSztFQW9DTDtBM0ZtN1doQjtBMkYvNldnQjs7RUFDSSxrREF6Q0M7QTNGMjlXckI7QTJGLzZXZ0I7O0VBQ0ksaURBN0NDO0EzRis5V3JCOztBMkZ2OVdROztFQUVJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0EzRjA5V1o7QTJGeDlXWTs7RUFDSTtBM0YyOVdoQjtBMkZ4OVdZOztFQUNJO0EzRjI5V2hCO0EyRng5V1k7O0VBQ0k7QTNGMjlXaEI7QTJGeDlXWTs7Ozs7Ozs7RUFJSSw2Q0FsQ0s7RUFtQ0wsOENBbkNLO0VBb0NMO0EzRjg5V2hCO0EyRjE5V2dCOztFQUNJLDZDQXpDQztBM0ZzZ1hyQjtBMkYxOVdnQjs7RUFDSSw0Q0E3Q0M7QTNGMGdYckI7O0EyRnQ5V0k7O0VBRUk7QTNGeTlXUjs7QTJGcjlXSTtBQUlBO0FBTUE7RUFDSTtBM0ZnOVdSOztBMkY5OFdJO0VBQ0k7QTNGaTlXUjs7QTJGNzhXSTtFQUNJO0EzRmc5V1I7O0EyRjk4V0k7RUFDSTtBM0ZpOVdSOztBNkZ2aVlJO0VBQ0k7RUFDQTtFQUNBO0VBRUE7RUFDQTtFQUNBO0E3RnlpWVI7QTZGdmlZUTtFQUVJO0VBQ0E7RUFDQTtBN0Z3aVlaO0E2RnJpWVE7RUFHSTtFQUNBO0VBQ0E7QTdGcWlZWjtBNkZuaVlZO0VBQ0k7QTdGcWlZaEI7QTZGamlZUTtFQUlJO0VBQ0E7RUFDQTtBN0ZnaVlaO0E2RjdoWVE7RUFHSTtFQUNBO0VBQ0E7QTdGNmhZWjtBNkYzaFlZO0VBQ0k7QTdGNmhZaEI7QTZGMWhZWTtFQUNJO0E3RjRoWWhCO0E2RnhoWWdCO0VBQ0k7RUFDQTtBN0YwaFlwQjtBNkZwaFlRO0VBR0k7QTdGb2hZWjtBNkZsaFlZO0VBQ0k7QTdGb2hZaEI7QTZGamhZWTtFQUNJO0E3Rm1oWWhCO0E2RmhoWVk7RUFJSTtBN0YrZ1loQjtBNkY3Z1lnQjtFQUNJO0E3RitnWXBCO0E2RnpnWVE7RUFDSTtBN0YyZ1laO0E2RnhnWVE7RUFDSTtBN0YwZ1laO0E2RnZnWVE7RUFDSTtBN0Z5Z1laOztBNkZyZ1lJO0VBQ0k7RUFDQTtFQUNBO0VBRUE7RUFDQTtFQUNBO0E3RnVnWVI7QTZGcmdZUTtFQUVJO0VBQ0E7RUFDQTtBN0ZzZ1laO0E2Rm5nWVE7RUFHSTtFQUNBO0VBQ0E7QTdGbWdZWjtBNkZqZ1lZO0VBQ0k7QTdGbWdZaEI7QTZGLy9YUTtFQUlJO0VBQ0E7RUFDQTtBN0Y4L1haO0E2RjMvWFE7RUFHSTtFQUNBO0VBQ0E7QTdGMi9YWjtBNkZ2L1hRO0VBR0k7QTdGdS9YWjtBNkZyL1hZO0VBQ0k7QTdGdS9YaEI7QTZGcC9YWTtFQUNJO0E3RnMvWGhCO0E2Rm4vWFk7RUFJSTtBN0ZrL1hoQjtBNkZoL1hnQjtFQUNJO0E3RmsvWHBCOztBNkZyOVhZO0VBQ0k7RUFDQTtFQUNBO0VBR0E7RUFDQTtFQUNBO0VBSUE7RUFDQTtFQUNBO0VBSUE7RUFDQTtFQUNBO0VBR0E7RUFDQTtFQUNBO0E3Rjg4WGhCOztBNkZ2K1hZO0VBQ0k7RUFDQTtFQUNBO0VBR0E7RUFDQTtFQUNBO0VBSUE7RUFDQTtFQUNBO0VBSUE7RUFDQTtFQUNBO0VBR0E7RUFDQTtFQUNBO0E3RmcrWGhCOztBNkZ6L1hZO0VBQ0k7RUFDQTtFQUNBO0VBR0E7RUFDQTtFQUNBO0VBSUE7RUFDQTtFQUNBO0VBSUE7RUFDQTtFQUNBO0VBR0E7RUFDQTtFQUNBO0E3RmsvWGhCOztBNkYzZ1lZO0VBQ0k7RUFDQTtFQUNBO0VBR0E7RUFDQTtFQUNBO0VBSUE7RUFDQTtFQUNBO0VBSUE7RUFDQTtFQUNBO0VBR0E7RUFDQTtFQUNBO0E3Rm9nWWhCOztBNkY3aFlZO0VBQ0k7RUFDQTtFQUNBO0VBR0E7RUFDQTtFQUNBO0VBSUE7RUFDQTtFQUNBO0VBSUE7RUFDQTtFQUNBO0VBR0E7RUFDQTtFQUNBO0E3RnNoWWhCOztBNkYvaVlZO0VBQ0k7RUFDQTtFQUNBO0VBR0E7RUFDQTtFQUNBO0VBSUE7RUFDQTtFQUNBO0VBSUE7RUFDQTtFQUNBO0VBR0E7RUFDQTtFQUNBO0E3RndpWWhCOztBOEZ2d1lLO0VBQ0c7QTlGMHdZUjs7QTZCeHZZZ0I7RUFLWTtBN0J1dlk1Qjs7QTZCanZZZ0I7RUFLWTtBN0Jndlk1Qjs7QTZCaHdZZ0I7RUFLWTtBN0Irdlk1Qjs7QTZCenZZZ0I7RUFLWTtBN0J3dlk1Qjs7QTZCeHdZZ0I7RUFLWTtBN0J1d1k1Qjs7QTZCandZZ0I7RUFLWTtBN0Jnd1k1Qjs7QTZCaHhZZ0I7RUFLWTtBN0Ird1k1Qjs7QTZCendZZ0I7RUFLWTtBN0J3d1k1Qjs7QTZCeHhZZ0I7RUFLWTtBN0J1eFk1Qjs7QTZCanhZZ0I7RUFLWTtBN0JneFk1Qjs7QTZCaHlZZ0I7RUFLWTtBN0IreFk1Qjs7QTZCenhZZ0I7RUFLWTtBN0J3eFk1Qjs7QTZCeHlZZ0I7RUFLWTtBN0J1eVk1Qjs7QTZCanlZZ0I7RUFLWTtBN0JneVk1Qjs7QTZCaHpZZ0I7RUFLWTtBN0IreVk1Qjs7QTZCenlZZ0I7RUFLWTtBN0J3eVk1Qjs7QTZCeHpZZ0I7RUFLWTtBN0J1elk1Qjs7QTZCanpZZ0I7RUFLWTtBN0Jnelk1Qjs7QTZCaDBZZ0I7RUFLWTtBN0Irelk1Qjs7QTZCenpZZ0I7RUFLWTtBN0J3elk1Qjs7QTZCeDBZZ0I7RUFLWTtBN0J1MFk1Qjs7QTZCajBZZ0I7RUFLWTtBN0JnMFk1Qjs7QTZCaDFZZ0I7RUFLWTtBN0IrMFk1Qjs7QTZCejBZZ0I7RUFLWTtBN0J3MFk1Qjs7QTZCeDFZZ0I7RUFLWTtBN0J1MVk1Qjs7QTZCajFZZ0I7RUFLWTtBN0JnMVk1Qjs7QTZCaDJZZ0I7RUFLWTtBN0IrMVk1Qjs7QTZCejFZZ0I7RUFLWTtBN0J3MVk1Qjs7QTZCeDJZZ0I7RUFLWTtBN0J1Mlk1Qjs7QTZCajJZZ0I7RUFLWTtBN0JnMlk1Qjs7QTZCaDNZZ0I7RUFLWTtBN0IrMlk1Qjs7QTZCejJZZ0I7RUFLWTtBN0J3Mlk1Qjs7QTZCeDNZZ0I7RUFLWTtBN0J1M1k1Qjs7QTZCajNZZ0I7RUFLWTtBN0JnM1k1Qjs7QTZCaDRZZ0I7RUFLWTtBN0IrM1k1Qjs7QTZCejNZZ0I7RUFLWTtBN0J3M1k1Qjs7QTZCeDRZZ0I7RUFLWTtBN0J1NFk1Qjs7QTZCajRZZ0I7RUFLWTtBN0JnNFk1Qjs7QTZCaDVZZ0I7RUFLWTtBN0IrNFk1Qjs7QTZCejRZZ0I7RUFLWTtBN0J3NFk1Qjs7QTZCeDVZZ0I7RUFLWTtBN0J1NVk1Qjs7QTZCajVZZ0I7RUFLWTtBN0JnNVk1Qjs7QTZCaDZZZ0I7RUFLWTtBN0IrNVk1Qjs7QTZCejVZZ0I7RUFLWTtBN0J3NVk1Qjs7QTZCeDZZZ0I7RUFLWTtBN0J1Nlk1Qjs7QTZCajZZZ0I7RUFLWTtBN0JnNlk1Qjs7QTZCaDdZZ0I7RUFLWTtBN0IrNlk1Qjs7QTZCejZZZ0I7RUFLWTtBN0J3Nlk1Qjs7QTZCeDdZZ0I7RUFLWTtBN0J1N1k1Qjs7QTZCajdZZ0I7RUFLWTtBN0JnN1k1Qjs7QTZCaDhZZ0I7RUFLWTtBN0IrN1k1Qjs7QTZCejdZZ0I7RUFLWTtBN0J3N1k1Qjs7QTZCeDhZZ0I7RUFLWTtBN0J1OFk1Qjs7QTZCajhZZ0I7RUFLWTtBN0JnOFk1Qjs7QStGLzlZSTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QS9GaytZUjs7QStGNzlZSTtFQThCUTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBL0ZtOFlaOztBK0YxN1lZOztFQUNJO0VBQ0E7QS9GODdZaEI7O0ErRjM2WUk7O0VBRUksbUJDUjhCO0FoR3M3WXRDOztBK0Z0NllZOztFQUNJO0VBQ0E7QS9GMDZZaEI7O0ErRnA1WVk7O0VBQ0k7RUFDQTtFQUNBO0EvRnc1WWhCOztBK0ZuNFlZOztFQUNJO0VBQ0E7QS9GdTRZaEI7O0ErRjUzWVk7O0VBQ0k7RUFDQTtBL0ZnNFloQjs7QStGejNZWTs7RUFDSTtFQUNBO0EvRjYzWWhCOztBK0Z0M1lJO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBL0Z5M1lSO0ErRnYzWVE7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QS9GeTNZWjs7QStGbjNZSTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QS9GczNZUjtBK0ZwM1lRO0VBRUk7QS9GcTNZWjs7QStGbDNZSTs7OztFQUlJO0VBQ0E7QS9GcTNZUjs7QStGaDNZSTtFQUNJO0EvRm0zWVI7O0ErRmozWUk7RUFDSTtBL0ZvM1lSOztBK0YvMllJO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0EvRmszWVI7O0ErRmgzWUk7O0VBRUk7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QS9GbTNZUjtBK0ZqM1lROztFQUNJO0EvRm8zWVo7O0ErRmozWUk7O0VBRUk7RUFDQTtFQUNBO0EvRm8zWVI7O0ErRjkyWVE7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QS9GaTNZWjtBK0Y5MllROztFQUVJO0VBQ0E7QS9GZzNZWjtBK0Y3MllROztFQUVJO0EvRisyWVo7O0ErRmwyWVE7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0EvRnEyWVo7O0ErRmoyWVk7RUFDSTtFQUNBO0EvRm8yWWhCOztBK0YvMllRO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBL0ZrM1laOztBK0Y5MllZO0VBQ0k7RUFDQTtBL0ZpM1loQjs7QStGNTNZUTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QS9GKzNZWjs7QStGMzNZWTtFQUNJO0VBQ0E7QS9GODNZaEI7O0FpR3ZyWkk7RTNGRkksa0YyRk1JO0UzRkhKLDhDMkZDSTtFM0ZFSixtRjJGREk7QWpHMHJaWjs7QWlHbnJaSTs7RTNGWkksd0YyRmlCSTtFM0ZkSixtRjJGWUk7RTNGVEoseUYyRlVJO0FqR3NyWlo7O0FpRy9xWkk7O0VBR0ksNEREMER1QjtBaEd1blovQjs7QWlHNXFaSTs7RTNGL0JJLHVGMkZvQ0k7RTNGakNKLGtGMkYrQkk7RTNGNUJKLHVGMkY2Qkk7QWpHK3FaWjs7QWlHeHFaSTs7RTNGMUNJLG1HMkYrQ0k7RTNGNUNKLHdGMkYwQ0k7RTNGdkNKLG1HMkZ3Q0k7QWpHMnFaWjs7QWlHcHFaSTs7RTNGckRJLDZGMkYwREk7RTNGdkRKLG9GMkZxREk7RTNGbERKLGlHMkZtREk7QWpHdXFaWjs7QWlHaHFaSTs7RTNGaEVJLHlHMkZxRUk7RTNGbEVKLGdHMkZnRUk7RTNGN0RKLHVHMkY4REk7QWpHbXFaWjs7QWlHNXBaSTs7RTNGM0VJLG9JMkZnRkk7RTNGN0VKLDJIMkYyRUk7RTNGeEVKLDRGMkZ5RUk7QWpHK3BaWjs7QWlHM3BaSTs7RTNGbkZJLHdFMkZ3Rkk7RTNGckZKLDJGMkZtRkk7RTNGaEZKLDRJMkZpRkk7QWpHOHBaWjs7QWlHMXBaSTs7RTNGM0ZJLGtKMkZnR0k7RTNGN0ZKLHlJMkYyRkk7RTNGeEZKLDBHMkZ5Rkk7QWpHNnBaWjs7QWlHdHBaSTs7O0UzRnRHSSw4RjJGeUd3QjtBakd5cFpoQzs7QWlHdnBaSTs7O0UzRnhHSSx1RjJGMkd1QjtBakcwcFovQjs7QWlHcnBaSTtFQUNJO0VBQ0E7QWpHd3BaUjs7QWlHcnBaUTtFQUNJO0VBQ0E7QWpHd3BaWjs7QWtHanhaSTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FsR294WlI7QWtHbHhaUTtFQUNJO0VBQ0E7QWxHb3haWjtBa0dqeFpRO0VBRUk7QWxHa3haWjtBa0doeFpZO0VBQ0k7QWxHa3haaEI7QWtHOXdaUTtFQUNJO0FsR2d4Wlo7QWtHN3daUTtFQUVJO0FsRzh3Wlo7QWtHNXdaWTtFQUNJO0FsRzh3WmhCO0FrRzF3WlE7RUFDSTtBbEc0d1paO0FrR3p3WlE7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FsRzJ3Wlo7QWtHendaWTtFQUNJO0FsRzJ3WmhCO0FrR3h3Wlk7RUFDSTtFQUNBO0FsRzB3WmhCO0FrR3R3WlE7RUFDSTtFQUNBO0FsR3d3Wlo7QWtHcndaUTtFQUNJO0FsR3V3Wlo7O0FrR253Wkk7RUFDSTtBbEdzd1pSOztBbUdsMVpRO0U3RkZBLGlGNkZNUTtFN0ZIUixzRTZGQ1E7RTdGRVIsaUY2RkRRO0FuR3ExWmhCO0FtR2oxWlE7RUFDSTtBbkdtMVpaOztBb0czMVpJO0VoR0RJLDZGZ0dFd0I7RUFDeEI7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0EsNkMzREZ1QjtBekNnMlovQjtBb0c1MVpROzs7RUFHSTtBcEc4MVpaO0FvR3oxWlE7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QXBHMjFaWjtBb0d0MVpRO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FwR3cxWlo7QW9HcjFaUTtFQUNJO0VBQ0E7RUFDRDtBcEd1MVpYOztBb0dqMVpJO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QXBHbzFaUjtBb0dsMVpRO0VBQXFCO0FwR3ExWjdCO0FvR3AxWlE7RUFBc0I7QXBHdTFaOUI7QW9HdDFaUTtFQUFtQjtBcEd5MVozQjs7QW9HdDFaSTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBcEd5MVpSOztBb0dwMVpJO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7QXBHdTFaUjtBb0dyMVpRO0VBQ0k7QXBHdTFaWjtBb0dwMVpRO0VBQ0k7RUFDQTtFQUNBO0FwR3MxWlo7QW9HcDFaWTtFQUNJO0FwR3MxWmhCO0FvR2gxWlE7RUFDSTtBcEdrMVpaO0FvRzUwWlk7RUFDSTtFQUNBO0FwRzgwWmhCO0FvRzMwWlk7RUFDSTtBcEc2MFpoQjs7QW9HdDBaSTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0FwR3kwWlI7QW9HdjBaUTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QXBHeTBaWjtBb0d0MFpRO0VBQ0k7QXBHdzBaWjtBb0dyMFpRO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7QXBHdTBaWjtBb0dyMFpZO0VBQ0k7QXBHdTBaaEI7QW9HcDBaWTtFQUNJO0FwR3MwWmhCO0FvR2gwWlE7RUFDSTtBcEdrMFpaO0FvRzV6Wlk7RUFDSTtBcEc4elpoQjtBb0czelpZO0VBQ0k7RUFDQTtBcEc2elpoQjtBb0cxelpZO0VBQ0k7QXBHNHpaaEI7O0FvR3J6Wkk7RUFDSTtBcEd3elpSO0FvR3R6WlE7RUFDSTtFQUNBO0FwR3d6Wlo7QW9HcHpaWTtFQUNJO0VBQ0E7QXBHc3paaEI7QW9HanpaWTtFQUNJO0VBQ0E7RUFDQTtBcEdtelpoQjtBb0cveVpROzs7O0VBSUk7QXBHaXpaWjtBb0c5eVpRO0VBQ0k7QXBHZ3paWjs7QW9HenlaUTs7RUFFSTtBcEc0eVpaOztBb0d2eVpJO0VBQ0k7RUFDQTtFQUNBO0FwRzB5WlI7O0FvR3Z5Wkk7RUFDSTtBcEcweVpSO0FvR3h5WlE7RUFDSTtFQUNBO0FwRzB5Wlo7QW9HdnlaUTtFQUNJO0VBQ0E7QXBHeXlaWjs7QW9HcnlaSTtFQUNJO0FwR3d5WlI7O0FvR3J5Wkk7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FwR3d5WlI7O0FvR3J5Wkk7RUFDSTtFQUNBO0VBQ0E7RUFDQTtBcEd3eVpSOztBcUcvaWFJO0VBQ0k7SUFDSTtFckdramFWO0VxR2hqYU07SUFDSTtFckdramFWO0FBQ0Y7QXFHL2lhSTtFQUNJO0lBQ0k7RXJHaWphVjtFcUcvaWFNO0lBQ0k7RXJHaWphVjtBQUNGO0FxRzdpYVE7RS9GckJBLHNGK0YwQlE7RS9GdkJSLDBFK0ZxQlE7RS9GbEJSLHNGK0ZtQlE7RTlGdEJKO0FQcWthWjtBcUcxaWFZO0UvRjlCSix3RitGa0NZO0UvRi9CWixnRitGNkJZO0UvRjFCWix3RitGMkJZO0U5RjlCUjtBUDJrYVo7QXFHdmlhWTtFL0Z2Q0osc0krRjZDWTtFL0YxQ1osOEgrRndDWTtFL0ZyQ1osc0krRnNDWTtBckd1aWFwQjtBcUduaWFnQjtFQUNJO0FyR3FpYXBCOztBcUcvaGFJO0VBQ0k7QXJHa2lhUjs7QXFHaGlhSTtFQUNJO0FyR21pYVI7QXFHamlhUTtFQUNJO0FyR21pYVo7O0FxRy9oYUk7RS9GbEVJLG9HK0ZzRUk7RS9GbkVKLHdGK0ZpRUk7RS9GOURKLG9HK0YrREk7QXJHa2lhWjtBcUc3aGFZO0VBQ0k7RUFDQTtBckcraGFoQjtBcUcxaGFZO0VBQ0k7RUFDQTtBckc0aGFoQjs7QXFHdmhhSTtFQUNJO0FyRzBoYVI7O0FxR3ZoYUk7RUFDSTtFQUNBO0FyRzBoYVI7O0FzR3JuYUk7RWxHRkksa0JtR01vQjtFREZwQjtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QXRHd25hUjs7QXNHbm5hSTtFQUVRO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QXRHcW5hWjs7QXNHOWthWTs7RUFDSTtBdEdrbGFoQjs7QXNHcmthSTs7RUFFSSxtQkNSMkI7QXZHZ2xhbkM7O0FzR3pqYVk7O0VBQ0k7QXRHNmphaEI7O0FzR3ZpYUk7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0F0RzBpYVI7QXNHeGlhUTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBdEcwaWFaOztBc0dwaWFJO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBdEd1aWFSO0FzR3JpYVE7RUFFSTtBdEdzaWFaOztBc0duaWFJOzs7O0VBSUk7RUFDQTtBdEdzaWFSOztBc0dqaWFJO0VBQ0k7QXRHb2lhUjs7QXNHbGlhSTtFQUNJO0F0R3FpYVI7O0FzR2hpYUk7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QXRHbWlhUjs7QXNHL2hhSTs7RUFFSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBdEdraWFSO0FzR2hpYVE7O0VBQ0k7QXRHbWlhWjs7QXNHOWhhSTs7RUFFSTtFQUNBO0VBQ0E7QXRHaWlhUjs7QXNHM2hhUTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBdEc4aGFaO0FzRzNoYVE7O0VBRUk7RUFDQTtBdEc2aGFaO0FzRzFoYVE7O0VBRUk7QXRHNGhhWjs7QXNHaGhhUTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0F0R21oYVo7O0FzRy9nYVk7RUFDSTtFQUNBO0F0R2toYWhCOztBc0c1aGFRO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7QXRHK2hhWjs7QXNHM2hhWTtFQUNJO0VBQ0E7QXRHOGhhaEI7O0FzR3hpYVE7RUFDSTtFQUNBO0VBQ0E7RUFDQTtBdEcyaWFaOztBc0d2aWFZO0VBQ0k7RUFDQTtBdEcwaWFoQjs7QXdHcnphSTtFbEdGSSwrRWtHTUk7RWxHSEosMkNrR0NJO0VsR0VKLGdGa0dESTtBeEd3emFaOztBd0dqemFJOztFbEdaSSxxRmtHaUJJO0VsR2RKLHdFa0dZSTtFbEdUSixzRmtHVUk7QXhHb3phWjs7QXdHN3lhSTs7RUFHSSw0RER5RG9CO0F2R3N2YTVCOztBd0cxeWFJOztFbEcvQkksb0ZrR29DSTtFbEdqQ0osMkVrRytCSTtFbEc1Qkosd0ZrRzZCSTtBeEc2eWFaOztBd0d0eWFJOztFbEcxQ0ksZ0drRytDSTtFbEc1Q0osdUZrRzBDSTtFbEd2Q0osOEZrR3dDSTtBeEd5eWFaOztBd0dseWFJOztFbEdyREksaUlrRzBESTtFbEd2REosd0hrR3FESTtFbEdsREoseUZrR21ESTtBeEdxeWFaOztBd0dqeWFJOztFbEc3REkseUlrR2tFSTtFbEcvREosZ0lrRzZESTtFbEcxREosaUdrRzJESTtBeEdveWFaOztBd0c3eGFJOzs7RWxHeEVJLDJGa0cyRXdCO0F4R2d5YWhDOztBd0c5eGFJOzs7RWxHMUVJLG9Ga0c2RXVCO0F4R2l5YS9COztBd0c1eGFJO0VBQ0k7RUFDQTtBeEcreGFSOztBd0c1eGFRO0VBQ0k7RUFDQTtBeEcreGFaOztBeUd4M2FJO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBLDZDaEVKdUI7QXpDKzNhL0I7QXlHejNhUTs7O0VBR0k7QXpHMjNhWjtBeUd4M2FRO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0F6RzAzYVo7QXlHcDNhWTs7Ozs7OztFQUdJO0F6RzAzYWhCOztBeUdwM2FJO0VBQ0k7QXpHdTNhUjs7QXlHbDNhSTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBekdxM2FSOztBeUduM2FJO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBekdzM2FSOztBeUdwM2FJO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7QXpHdTNhUjtBeUdyM2FRO0VBRUk7QXpHczNhWjs7QXlHbjNhSTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QXpHczNhUjtBeUdwM2FRO0VBRUk7QXpHcTNhWjs7QXlHLzJhSTtFQUNJO0VBQ0E7QXpHazNhUjs7QXlHaDNhSTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QXpHbTNhUjs7QXlHajNhSTtFQUNJO0VBQ0E7QXpHbzNhUjs7QXlHbDNhSTtFQUNJO0VBQ0E7QXpHcTNhUjs7QXlHaDNhSTtFQUNJO0VBQ0E7QXpHbTNhUjtBeUdoM2FRO0VBQ0k7QXpHazNhWjtBeUdoM2FRO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBekdrM2FaO0F5R2gzYVE7RUFDSTtFQUNBO0VBQ0E7RUFDQTtBekdrM2FaO0F5R2gzYVE7RUFDSTtFQUNBO0F6R2szYVo7QXlHaDNhUTs7Ozs7RUFFSTtBekdxM2FaO0F5R24zYVE7RUFDSTtBekdxM2FaO0F5R24zYVE7RUFDSTtBekdxM2FaO0F5R2ozYVE7RUFBVTtBekdvM2FsQjtBeUduM2FRO0VBQTRCO0F6R3MzYXBDO0F5R3IzYVE7RUFBZ0M7QXpHdzNheEM7QXlHdDNhUTtFQUFnQjtBekd5M2F4QjtBeUd4M2FRO0VBQWtDO0F6RzIzYTFDO0F5RzEzYVE7RUFBc0M7QXpHNjNhOUM7QXlHMzNhUTtFQUFXO0F6RzgzYW5CO0F5RzczYVE7RUFBd0I7QXpHZzRhaEM7QXlHLzNhUTtFQUE2QjtBekdrNGFyQztBeUdqNGFRO0VBQTBDO0F6R280YWxEO0F5R240YVE7RUFBaUM7QXpHczRhekM7QXlHcjRhUTtFQUE4QztBekd3NGF0RDtBeUd0NGFRO0VBQVU7QXpHeTRhbEI7QXlHeDRhUTtFQUF1QjtBekcyNGEvQjtBeUcxNGFRO0VBQTRCO0F6RzY0YXBDO0F5RzU0YVE7RUFBeUM7QXpHKzRhakQ7QXlHOTRhUTtFQUFnQztBekdpNWF4QztBeUdoNWFRO0VBQTZDO0F6R201YXJEO0F5Ry80YVE7RUFDSTtFQUNBO0VBQ0E7QXpHaTVhWjtBeUcvNGFRO0VBQW9CO0F6R2s1YTVCO0F5R2o1YVE7RUFBbUI7QXpHbzVhM0I7QXlHbjVhUTtFQUNJO0F6R3E1YVo7QXlHaDVhWTtFQUNJO0F6R2s1YWhCO0F5R2g1YVk7RUFDSTtBekdrNWFoQjs7QXlHMzRhSTtFQUNJO0VBQ0E7QXpHODRhUjtBeUczNGFRO0VBQ0k7QXpHNjRhWjtBeUczNGFRO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBekc2NGFaO0F5RzM0YVE7RUFDSTtFQUNBO0VBQ0E7QXpHNjRhWjtBeUczNGFRO0VBQ0k7RUFDQTtBekc2NGFaO0F5R3Y0YVE7RUFDSTtBekd5NGFaO0F5R3Y0YVE7RUFDSTtBekd5NGFaO0F5R3A0YVE7RUFDSTtFQUNBO0F6R3M0YVo7QXlHcDRhUTtFQUNJO0F6R3M0YVo7QXlHbjRhUTtFQUFVO0F6R3M0YWxCO0F5R3I0YVE7RUFBNEI7QXpHdzRhcEM7QXlHdjRhUTtFQUFnQztBekcwNGF4QztBeUd4NGFRO0VBQWdCO0F6RzI0YXhCO0F5RzE0YVE7RUFBa0M7QXpHNjRhMUM7QXlHNTRhUTtFQUFzQztBekcrNGE5QztBeUc3NGFRO0VBQVc7QXpHZzVhbkI7QXlHLzRhUTtFQUF3QjtBekdrNWFoQztBeUdqNWFRO0VBQTZCO0F6R281YXJDO0F5R241YVE7RUFBMEM7QXpHczVhbEQ7QXlHcjVhUTtFQUFpQztBekd3NWF6QztBeUd2NWFRO0VBQThDO0F6RzA1YXREO0F5R3g1YVE7RUFBVTtBekcyNWFsQjtBeUcxNWFRO0VBQXVCO0F6RzY1YS9CO0F5RzU1YVE7RUFBNEI7QXpHKzVhcEM7QXlHOTVhUTtFQUF5QztBekdpNmFqRDtBeUdoNmFRO0VBQWdDO0F6R202YXhDO0F5R2w2YVE7RUFBNkM7QXpHcTZhckQ7QXlHajZhUTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QXpHbTZhWjtBeUdqNmFRO0VBQW9CO0F6R282YTVCO0F5R242YVE7RUFBbUI7QXpHczZhM0I7QXlHcjZhUTtFQUNJO0VBQ0E7QXpHdTZhWjtBeUdsNmFZO0VBQ0k7QXpHbzZhaEI7QXlHbDZhWTtFQUNJO0F6R282YWhCOztBeUczNWFROzs7Ozs7RUFJSTtBekdnNmFaOztBeUd4NWFZOzs7Ozs7Ozs7Ozs7O0VBQ0k7QXpHdTZhaEI7QXlHajZhWTs7Ozs7OztFQUNJO0F6R3k2YWhCO0F5R3o1YUk7RUFDSTtBekcyNWFSOztBMEdydmJJO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFFQTtBMUd1dmJSO0EwR3J2YlE7RUFDSTtFQUNBO0VBQ0E7RUFDQTtBMUd1dmJaOztBMEdqdmJJO0VBQ0k7QTFHb3ZiUjs7QTBHL3ViSTtFQUNJO0ExR2t2YlI7O0EwRzd1Ykk7RUFDSTtFQUNBO0VBQ0E7RUFDQTtBMUdndmJSO0EwRzl1YlE7RUFFSTtFQUNBO0VBQ0E7RUFDQTtBMUcrdWJaO0EwRzV1YlE7RUFFSTtFQUNBO0VBQ0E7RUFDQTtBMUc2dWJaO0EwRzF1YlE7RUFFSTtFQUNBO0VBQ0E7RUFDQTtBMUcydWJaOztBMEd2dWJJO0VBQ0k7QTFHMHViUjs7QTBHdnViSTtFQUNJO0ExRzB1YlI7O0EyRzV5Ykk7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQSw2Q2xFUHVCO0F6Q3N6Yi9CO0EyRzN5YlE7RUFDSTtBM0c2eWJaO0EyR3p5YlE7RUFDSTtFQUNBO0VBQ0E7QTNHMnliWjs7QTJHcnliSTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBM0d3eWJSOztBMkdyeWJJOzs7O0VBSUk7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QTNHd3liUjs7QTJHcnliSTs7RUFFSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBM0d3eWJSOztBMkdyeWJJO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QTNHd3liUjs7QTJHcnliSTtFdkcxRkkseUZ1RzJGd0I7RUFDeEI7RUFDQTtFQUNBO0VBQ0E7QTNHd3liUjs7QTJHbHliSTtFdkdyR0kseUZ1R3NHd0I7RUFDeEI7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0EzR3F5YlI7O0EyR2h5Ykk7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBM0dteWJSOztBMkc5eGJJO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0EzR2l5YlI7QTJHL3hiUTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0EzR2l5Ylo7O0EyRzN4Ykk7O0VBRUk7RUFDQTtFQUNBO0VBQ0E7QTNHOHhiUjs7QTJHenhiSTtFQUNJO0VBQ0E7RUFDQTtFQUVBO0VBQ0EsaUJDOUNxQjtFRCtDckI7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBM0cyeGJSO0EyR3p4YlE7RUFDSTtBM0cyeGJaO0EyR3Z4YlE7RXZHdkxBLHlGdUd3TDRCO0VBQ3hCO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBM0d5eGJaO0EyR3R4YlE7RXZHdk1BLGdFdUd3TTRCO0EzR3d4YnBDOztBMkc5d2JROztFQUNJO0VBQ0E7RUFDQTtFQUNBO0EzR2t4Ylo7O0EyR3h3YlE7O0VBQ0k7RUFDQTtFQUNBO0VBQ0E7QTNHNHdiWjs7QTJHbHdiUTs7RUFDSTtFQUNBO0VBQ0E7RUFDQTtBM0dzd2JaOztBMkc1dmJROztFQUNJO0VBQ0E7RUFDQTtFQUNBO0EzR2d3Ylo7QTJHOXZiUTs7RUFDSTtBM0dpd2JaOztBMkczdmJJO0VBQ0k7QTNHOHZiUjs7QTJHNXZiSTs7RUFFSTtBM0crdmJSO0EyRzd2YlE7O0VBQ0k7QTNHZ3diWjs7QTJHM3ZiSTs7RUFFSTtFQUNBO0VBQ0E7RUFDQTtFRXhRSix5QkFMK0M7RUFNL0MsMkJBTitDO0VBUS9DO0VBQ0Esb0VBTlM7QTdHNGdjYjs7QTJHNXZiSTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QTNHK3ZiUjs7QTJHMXZiSTtFQUNJO0VBQ0E7RUFDQTtBM0c2dmJSO0EyRzN2YlE7RUFDSTtFQUNBO0VBQ0EsYUNwRDBCO0VEcUQxQjtFQUNBO0VBQ0E7RUFDQTtFQUNBO0EzRzZ2Ylo7QTJHM3ZiWTtFQUNJO0EzRzZ2YmhCO0EyR3p2YlE7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBM0cydmJaO0EyR3h2YlE7RUFDSTtBM0cwdmJaOztBMkdwdmJJO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QTNHdXZiUjtBMkdydmJROztFQUVJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0EzR3V2Ylo7QTJHcnZiWTs7RUFDSTtBM0d3dmJoQjtBMkdydmJZOztFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0EzR3d2YmhCO0EyR3B2YlE7RUFDSTtBM0dzdmJaO0EyR252YlE7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QTNHcXZiWjs7QTJHOXViSTtFQUNJO0EzR2l2YlI7QTJHL3ViUTtFQUNJO0EzR2l2Ylo7QTJHL3ViWTtFQUNJO0EzR2l2YmhCO0EyRzd1YlE7RUFDSTtFQUNBO0EzRyt1Ylo7QTJHN3ViWTtFQUNJO0EzRyt1YmhCO0EyRzV1Ylk7RUFDSTtBM0c4dWJoQjs7QTJHenViSTs7O0VBSUk7QTNHMnViUjtBMkd6dWJROzs7RUFDSTtFQUNBO0VBQ0E7RUFDQTtBM0c2dWJaO0EyRzF1YlE7Ozs7O0VBRUk7QTNHK3ViWjs7QTJHM3ViSTtFQUNJO0VBQ0E7RUFDQTtBM0c4dWJSOztBMkczdWJJOzs7O0VBTUk7RUFDQTtFQUNBO0VBR0k7RUFDQTtBM0cwdWJaOztBMkd0dWJJOztFQUVJO0VBQ0E7RUFDQTtFQUdJO0VBQ0E7QTNHdXViWjs7QTJHbnViSTtFQUNJO0VBQ0E7QTNHc3ViUjs7QTJHbHRiUTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0EsNkNBakJTO0VBa0JULGdEQWpCVztBM0dzdWJ2QjtBMkdudGJZOztFQUVJO0EzR3F0YmhCO0EyR250Ylk7O0VBRUk7QTNHcXRiaEI7QTJHbnRiWTs7RUFFSTtBM0dxdGJoQjtBMkdudGJZOztFQUVJO0EzR3F0YmhCOztBMkczdWJRO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQSwwQ0FqQlM7RUFrQlQsNkNBakJXO0EzRyt2YnZCO0EyRzV1Ylk7O0VBRUk7QTNHOHViaEI7QTJHNXViWTs7RUFFSTtBM0c4dWJoQjtBMkc1dWJZOztFQUVJO0EzRzh1YmhCO0EyRzV1Ylk7O0VBRUk7QTNHOHViaEI7O0EyR3B3YlE7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBLDBDQWpCUztFQWtCVCw2Q0FqQlc7QTNHd3hidkI7QTJHcndiWTs7RUFFSTtBM0d1d2JoQjtBMkdyd2JZOztFQUVJO0EzR3V3YmhCO0EyR3J3Ylk7O0VBRUk7QTNHdXdiaEI7QTJHcndiWTs7RUFFSTtBM0d1d2JoQjs7QThHeHdjSTtFeEdBSSxrRndHSUk7RXhHREosdUV3R0RJO0V4R0lKLDhFd0dISTtBOUcyd2NaO0E4R3R3Y1E7RXhHUkEscUJ3R1lRO0V4R1RSLDhFd0dPUTtFeEdKUixzRndHS1E7QTlHd3djaEI7QThHandjUTtFQUNJO0E5R213Y1o7QThHaHdjUTs7O0VBR0k7QTlHa3djWjtBOEc5dmNRO0VBQ0k7RUFDQTtFeEc1QkoseUR3RytCUTtFeEc1QlIsa0V3RzZCUTtBOUc4dmNoQjtBOEczdmNZO0VBQ0k7RUFDQTtFQUNBO0V4R3RDUiw4RHdHeUNZO0V4R3RDWix1RXdHdUNZO0VBR0o7QTlHeXZjaEI7QThHdHZjWTtFQUVJO0VBQ0E7QTlHdXZjaEI7QThHcHZjWTtFQUVJO0E5R3F2Y2hCO0E4R2x2Y1k7RUFDSTtFQUNBO0VBQ0E7QTlHb3ZjaEI7QThHanZjWTtFQUVJO0VBQ0E7QTlHa3ZjaEI7QThHL3VjWTtFQUVJO0E5R2d2Y2hCO0E4Rzd1Y1k7RUFDSTtBOUcrdWNoQjtBOEd6dWNRO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7QTlHMnVjWjtBOEd4dWNRO0VBQ0k7RUFDQTtBOUcwdWNaO0E4R3Z1Y1E7RUFDSTtFQUNBO0E5R3l1Y1o7QThHdHVjUTtFQUVJO0VBRUE7RUFDQTtBOUdzdWNaO0E4R2p1Y1E7RXhHOUdBLGtGd0dnSFE7RXhHN0dSLDBGd0c4R1E7RUFFSjtBOUdpdWNaO0E4Ry90Y1k7O0VBRUk7QTlHaXVjaEI7QThHOXRjUTtFeEc3SEEsa0Z3R2lJUTtFeEc5SFIsdUV3RzRIUTtFeEd6SFIsOEV3RzBIUTtBOUdndWNoQjtBOEcxdGNRO0VBSUk7QTlHeXRjWjs7QThHbnRjUTs7RUFDSTtBOUd1dGNaO0E4R2x0Y1k7OztFQUVJO0E5R3F0Y2hCO0E4R2p0Y1k7Ozs7O0VBSUk7QTlHb3RjaEI7QThHanRjWTs7Ozs7RUFJSTtBOUdvdGNoQjs7QThHOXNjSTtFeEcxS0ksa0Z3RzRLSTtFeEd6S0osNkJ3RzBLSTtBOUdndGNaOztBOEd4c2NRO0VBR0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBOUd5c2NaO0E4R3ZzY1k7RUFDSTtBOUd5c2NoQjtBOEd0c2NZO0VBQ0k7QTlHd3NjaEI7QThHcnNjWTtFQUVJO0E5R3NzY2hCO0E4R2xzY1E7RUFFSTtBOUdtc2NaO0E4Ry9yY1E7RUFFSTtBOUdnc2NaO0E4RzdyY1E7RUFJSTtBOUc0cmNaO0E4R3pyY1E7RUFJSTtBOUd3cmNaO0E4R3JyY1E7RUFDSTtBOUd1cmNaOztBNkI5NGNnQjtFQUtZO0E3QjY0YzVCOztBNkJ2NGNnQjtFQUtZO0E3QnM0YzVCOztBNkJ0NWNnQjtFQUtZO0E3QnE1YzVCOztBNkIvNGNnQjtFQUtZO0E3Qjg0YzVCOztBK0c3NmNJO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQSw2Q3RFSHVCO0F6Q203Yy9COztBK0c3NmNJO0VBQ0k7QS9HZzdjUjs7QStHMzZjSTs7RUFFSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QS9HODZjUjtBK0c1NmNROzs7O0VBRUk7RUFDQTtFQUNBO0EvR2c3Y1o7QStHNzZjUTs7RUFDSTtFQUNBO0VBQ0E7QS9HZzdjWjs7QStHcjZjSTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0EvR3c2Y1I7O0ErR242Y0k7O0VBRUk7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0EvR3M2Y1I7O0ErR2o2Y0k7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBL0dvNmNSO0ErR2w2Y1E7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBL0dvNmNaO0ErR2g2Y1k7RUFFSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0EvR2k2Y2hCO0ErRzk1Y1k7RUFDSTtBL0dnNmNoQjtBK0c3NWNZO0VBQ0k7QS9HKzVjaEI7O0ErR3g1Y0k7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0EvRzI1Y1I7QStHejVjUTtFQUVJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QS9HMDVjWjtBK0d2NWNRO0VBQVk7QS9HMDVjcEI7QStHejVjUTtFQUFXO0EvRzQ1Y25COztBK0d2NWNJOztFQUVJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUZuSkoseUJBTCtDO0VBTS9DLDJCQU4rQztFQVEvQztFQUNBLG9FQU5TO0E3R21qZGI7QStHMTVjUTs7RUFDSTtFQUNBO0VBQ0E7QS9HNjVjWjtBK0cxNWNROztFQUNJO0VBQ0E7RUFDQTtFQUNBO0EvRzY1Y1o7O0ErR3Y1Y0k7O0VBRUk7QS9HMDVjUjs7QStHcjVjSTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0EvR3c1Y1I7O0ErRzM0Y1E7RUFDSTtFQUNBO0EvRzg0Y1o7QStHNTRjWTs7RUFFSTtBL0c4NGNoQjtBK0czNGNZO0VBQ0k7QS9HNjRjaEI7QStHMTRjWTs7RUFFSTtBL0c0NGNoQjs7QStHMzVjUTtFQUNJO0VBQ0E7QS9HODVjWjtBK0c1NWNZOztFQUVJO0EvRzg1Y2hCO0ErRzM1Y1k7RUFDSTtBL0c2NWNoQjtBK0cxNWNZOztFQUVJO0EvRzQ1Y2hCOztBK0czNmNRO0VBQ0k7RUFDQTtBL0c4NmNaO0ErRzU2Y1k7O0VBRUk7QS9HODZjaEI7QStHMzZjWTtFQUNJO0EvRzY2Y2hCO0ErRzE2Y1k7O0VBRUk7QS9HNDZjaEI7O0FnSG5wZEk7RTFHREksdUYwR0tJO0UxR0ZKO0VBR0EsbUYwR0ZJO0FoSHNwZFo7O0FnSDVvZFE7O0VBQ0k7QWhIZ3BkWjtBZ0g5b2RROztFQUNJO0FoSGlwZFo7O0FnSHpvZFE7RUFDSTtBaEg0b2RaO0FnSHhvZFk7RUFDSTtBaEgwb2RoQjtBZ0h2b2RZO0VBRUk7QWhId29kaEI7O0FnSGhvZFE7RUFDSTtBaEhtb2RaOztBZ0gvbmRJO0VBQ0k7QWhIa29kUjs7QWdIL25kSTtFMUd0REksNkYwR3lEYTtFMUduRGIseUYwR2tEUztBaEhrb2RqQjs7QWlIenJkSTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QWpINHJkUjtBaUgxcmRROzs7RUFHSTtBakg0cmRaOztBaUh2cmRJO0VBQ0k7RUFDQTtBakgwcmRSOztBaUh2cmRJO0VBQ0k7RUFDQTtBakgwcmRSOztBaUh2cmRJO0VBQ0k7RUFDQTtFQUNBO0FqSDByZFI7O0FpSHZyZEk7RUFDSTtFQUNBO0VBQ0E7RUFDQTtBakgwcmRSOztBaUh0cmRJO0VBQ0k7QWpIeXJkUjs7QWlIcnJkSTtFQUNJO0FqSHdyZFI7O0FpSHByZEk7RUFDSTtFQUNBO0FqSHVyZFI7O0FrSDV1ZEk7RTVHRkksaUY0R01JO0U1R0hKLHNFNEdDSTtFNUdFSiw2RTRHREk7QWxIK3VkWjs7QTZCbHVkZ0I7RUFLWTtBN0JpdWQ1Qjs7QTZCM3RkZ0I7RUFLWTtBN0IwdGQ1Qjs7QTZCMXVkZ0I7RUFLWTtBN0J5dWQ1Qjs7QTZCbnVkZ0I7RUFLWTtBN0JrdWQ1Qjs7QTZCbHZkZ0I7RUFLWTtBN0JpdmQ1Qjs7QTZCM3VkZ0I7RUFLWTtBN0IwdWQ1Qjs7QTZCMXZkZ0I7RUFLWTtBN0J5dmQ1Qjs7QTZCbnZkZ0I7RUFLWTtBN0JrdmQ1Qjs7QTZCbHdkZ0I7RUFLWTtBN0Jpd2Q1Qjs7QTZCM3ZkZ0I7RUFLWTtBN0IwdmQ1Qjs7QW1IenhkSTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBLDZDMUVDdUI7QXpDMnhkL0I7QW1IMXhkUTs7O0VBR0k7QW5INHhkWjtBbUh6eGRRO0VBQ0k7QW5IMnhkWjs7QW1IdHhkSTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0FuSHl4ZFI7O0FtSHJ4ZEk7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBbkh3eGRSO0FtSHR4ZFE7RUFFSTtFQUNBO0FuSHV4ZFo7QW1IcHhkUTtFQUlJO0VBQ0E7QW5IbXhkWjs7QW1IendkWTtFQUNJLDBDQUxNO0VBTU4sMkNBTE87QW5IaXhkdkI7O0FtSDl3ZFk7RUFDSSxxQ0FMTTtFQU1OLHNDQUxPO0FuSHN4ZHZCOztBbUhueGRZO0VBQ0ksbUNBTE07RUFNTixvQ0FMTztBbkgyeGR2Qjs7QW9IdjFkSTtFQUNJO0FwSDAxZFI7QW9IdjFkUTtFNUdOQSwwTTRHUUk7RUFHQTtBcEhzMWRaO0FvSGwxZFE7RTVHZkEsaUg0R2lCSTtFQUdBO0FwSGkxZFo7QW9INzBkUTtFNUd4QkEsNk00R3lCSTtFQUdBO0FwSDYwZFo7QW9IejBkUTtFQUVJO0FwSDAwZFo7O0FxSHoyZEk7RWpIRkksZ0dpSEd3QjtFQUN4QjtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQSw2QzVFTnVCO0F6Q2szZC9CO0FxSDEyZFE7OztFQUdJO0FySDQyZFo7O0FxSHYyZEk7RUFDSTtBckgwMmRSO0FxSHgyZFE7RWpIaENBLHVHaUhpQzRCO0VBQ3hCO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QXJIMDJkWjtBcUh2MmRRO0VBQ0k7QXJIeTJkWjtBcUh0MmRRO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBckh3MmRaO0FxSHIyZFE7RUFDSTtFQUNBO0VBQ0E7QXJIdTJkWjtBcUhwMmRRO0VBQ0k7QXJIczJkWjs7QXFIajJkSTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBckhvMmRSOztBcUg5MWRRO0VBQ0k7RUFDQTtFQUNBO0FySGkyZFo7QXFILzFkUTtFQUNJO0VBQ0E7RUFHQTtBckgrMWRaO0FxSDUxZFE7RUFDSTtFQUNBO0VBQ0E7QXJIODFkWjtBcUg1MWRRO0VBQ0k7RUFDQTtFQUNBO0FySDgxZFo7QXFIMzFkUTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FySDYxZFo7QXFIMTFkUTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0FySDQxZFo7QXFIejFkUTtFQUNJO0FySDIxZFo7QXFIeDFkUTtFQUNJO0FySDAxZFo7O0FxSDEwZFE7RUFDSSxZQVZLO0VBV0wsaUNBVk87RUFXUCwyQ0FMUztFQU1ULHNEQVBTO0FySG8xZHJCO0FxSDEwZGdCO0VBQ0ksV0FiRztBckh5MWR2QjtBcUh4MGRZO0VBQ0ksbUNBakJVO0FySDIxZDFCO0FxSHgwZGdCO0VBQ0ksYUF0QlE7QXJIZzJkNUI7QXFIdjBkZ0I7RUFDSSxhQTNCYztBckhvMmRsQztBcUh0MGRnQjtFQUNJLG1DQTVCTTtBckhvMmQxQjs7QXFIaDJkUTtFQUNJLFlBVks7RUFXTCxpQ0FWTztFQVdQLDJDQUxTO0VBTVQsc0RBUFM7QXJIMDJkckI7QXFIaDJkZ0I7RUFDSSxXQWJHO0FySCsyZHZCO0FxSDkxZFk7RUFDSSxtQ0FqQlU7QXJIaTNkMUI7QXFIOTFkZ0I7RUFDSSxhQXRCUTtBckhzM2Q1QjtBcUg3MWRnQjtFQUNJLGFBM0JjO0FySDAzZGxDO0FxSDUxZGdCO0VBQ0ksbUNBNUJNO0FySDAzZDFCOztBcUh0M2RRO0VBQ0ksWUFWSztFQVdMLHdDQVZPO0VBV1AsMkNBTFM7RUFNVCw0Q0FQUztBckhnNGRyQjtBcUh0M2RnQjtFQUNJLFdBYkc7QXJIcTRkdkI7QXFIcDNkWTtFQUNJLGlDQWpCVTtBckh1NGQxQjtBcUhwM2RnQjtFQUNJLGFBdEJRO0FySDQ0ZDVCO0FxSG4zZGdCO0VBQ0ksYUEzQmM7QXJIZzVkbEM7QXFIbDNkZ0I7RUFDSSxpQ0E1Qk07QXJIZzVkMUI7O0FxSDcyZEk7RUFDSTtBckhnM2RSO0FxSDkyZFE7RUFDSTtFQUNBO0FySGczZFo7QXFINzJkUTtFQUNJO0FySCsyZFo7QXFINTJkUTtFQUNJO0FySDgyZFo7O0FxSHYyZFE7RUFDSTtFQUNBO0VBQ0E7QXJIMDJkWjtBcUh2MmRRO0VBQ0k7QXJIeTJkWjtBcUh0MmRRO0VBQ0k7QXJIdzJkWjtBcUhyMmRRO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7QXJIdTJkWjtBcUhyMmRZO0VBQ0k7QXJIdTJkaEI7QXFIbjJkWTs7RUFFSTtBckhxMmRoQjs7QXFIajJkSTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QXJIbzJkUjs7QXNIeGtlSTtFaEhGSSx3RmdITUk7RWhISEosNkVnSENJO0VoSEVKLG9GZ0hESTtFOUdMSixxRjhHUUE7QXRIeWtlUjs7QXNIcGtlSTs7RWhIYkksK0hnSGdCYTtBdEhza2VyQjs7QXNIaGtlUTtFQUNJO0F0SG1rZVo7QXNIaGtlUTtFaEgxQkEsMElnSDRCaUI7QXRIaWtlekI7O0FzSDNqZUk7RWhIbENJLG9HZ0hvQ2E7RUFFYix3RENtSnVDO0UvR3pMdkMsZ0c4R3VDQTtBdEg0amVSO0FzSHhqZVE7RWhIM0NBLDBHZ0g4Q2lCO0VBRWIsd0RDeUltQztBdkg4NmQvQztBc0hwamVRO0VBR0ksd0RDc0ltQztBdkg4NmQvQzs7QXNIL2llSTtFaEgzREksZ0lnSDZEYztBdEhpamV0Qjs7QXNINWllUTtFQUNJO0F0SCtpZVo7QXNINWllUTtFQUNJO0F0SDhpZVo7O0FzSDFpZUk7RUFDSTtBdEg2aWVSOztBc0h6aWVJO0VoSDdFSSxzRmdIK0VhO0F0SDJpZXJCOztBNkIzbWVnQjtFQUtZO0E3QjBtZTVCOztBNkJwbWVnQjtFQUtZO0E3Qm1tZTVCOztBNkJubmVnQjtFQUtZO0E3QmtuZTVCOztBNkI1bWVnQjtFQUtZO0E3QjJtZTVCOztBNkIzbmVnQjtFQUtZO0E3QjBuZTVCOztBNkJwbmVnQjtFQUtZO0E3Qm1uZTVCOztBNkJub2VnQjtFQUtZO0E3QmtvZTVCOztBNkI1bmVnQjtFQUtZO0E3QjJuZTVCOztBNkIzb2VnQjtFQUtZO0E3QjBvZTVCOztBNkJwb2VnQjtFQUtZO0E3Qm1vZTVCOztBNkJucGVnQjtFQUtZO0E3QmtwZTVCOztBNkI1b2VnQjtFQUtZO0E3QjJvZTVCOztBNkIzcGVnQjtFQUtZO0E3QjBwZTVCOztBNkJwcGVnQjtFQUtZO0E3Qm1wZTVCOztBNkJucWVnQjtFQUtZO0E3QmtxZTVCOztBNkI1cGVnQjtFQUtZO0E3QjJwZTVCOztBNkIzcWVnQjtFQUtZO0E3QjBxZTVCOztBNkJwcWVnQjtFQUtZO0E3Qm1xZTVCOztBNkJucmVnQjtFQUtZO0E3QmtyZTVCOztBNkI1cWVnQjtFQUtZO0E3QjJxZTVCOztBNkIzcmVnQjtFQUtZO0E3QjByZTVCOztBNkJwcmVnQjtFQUtZO0E3Qm1yZTVCOztBNkJuc2VnQjtFQUtZO0E3QmtzZTVCOztBNkI1cmVnQjtFQUtZO0E3QjJyZTVCOztBNkIzc2VnQjtFQUtZO0E3QjBzZTVCOztBNkJwc2VnQjtFQUtZO0E3Qm1zZTVCOztBd0hsdWVRO0VwSEZBLDhGb0hHNEI7RUFDeEI7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBeEhxdWVaO0F3SG51ZVk7OztFQUdJO0F4SHF1ZWhCOztBd0hqdWVROztFQUVJO0VBQ0E7RUFDQTtBeEhvdWVaOztBd0hodWVRO0VBQ0k7RUFDQTtBeEhtdWVaOztBd0hodWVRO0VBQ0k7QXhIbXVlWjs7QXdIaHVlUTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0F4SG11ZVo7O0F3SGh1ZVE7RUFDSTtFQUNBO0F4SG11ZVo7O0F3SHJ0ZVk7RUFDSSxnQkFWUztBeEhrdWV6QjtBd0h0dGVnQjtFQUNJO0F4SHd0ZXBCO0F3SHJ0ZWdCO0VBQ0k7RUFDQSxpREFkVztFQWVYLDhDQWhCVztBeEh1dWUvQjtBd0hwdGVnQjtFQUNJLG9DQWxCVztBeEh3dWUvQjtBd0hwdGVvQjtFQUNJLFdBcEJLO0VBcUJMLFlBcEJNO0F4SDB1ZTlCOztBd0h4dWVZO0VBQ0ksZ0JBVlM7QXhIcXZlekI7QXdIenVlZ0I7RUFDSTtBeEgydWVwQjtBd0h4dWVnQjtFQUNJO0VBQ0EsaURBZFc7RUFlWCw4Q0FoQlc7QXhIMHZlL0I7QXdIdnVlZ0I7RUFDSSxvQ0FsQlc7QXhIMnZlL0I7QXdIdnVlb0I7RUFDSSxXQXBCSztFQXFCTCxZQXBCTTtBeEg2dmU5Qjs7QXdIM3ZlWTtFQUNJLGdCQVZTO0F4SHd3ZXpCO0F3SDV2ZWdCO0VBQ0k7QXhIOHZlcEI7QXdIM3ZlZ0I7RUFDSTtFQUNBLCtDQWRXO0VBZVgsNENBaEJXO0F4SDZ3ZS9CO0F3SDF2ZWdCO0VBQ0ksb0NBbEJXO0F4SDh3ZS9CO0F3SDF2ZW9CO0VBQ0ksV0FwQks7RUFxQkwsWUFwQk07QXhIZ3hlOUI7O0F3SHB2ZVE7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0F4SHV2ZVo7QXdIcnZlWTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0F4SHV2ZWhCO0F3SHB2ZVk7RUFDSTtBeEhzdmVoQjs7QXdIanZlUTs7O0VBQ0k7RUFDQTtFQUNBO0F4SHN2ZVo7O0F5SHoyZUk7RW5IREksc0ZtSEtJO0VuSEZKO0VBR0Esa0ZtSEZJO0VqSEpKLG1GaUhPQTtBekgwMmVSOztBeUhyMmVJOztFbkhaSSw2SG1IZWE7RWpIZmIseUZpSGlCQTtBekhzMmVSOztBeUhqMmVJOztFQUVJO0VBQ0E7QXpIbzJlUjs7QTBINTNlSTtFQUNJO0ExSCszZVI7O0EySDMzZUk7RUFDSTtFQUNBO0EzSDgzZVI7O0EySDEzZUk7RUFDSTtFQUNBO0EzSDYzZVI7QTJIMzNlUTtFQUNJO0VBQ0E7QTNINjNlWjtBMkgxM2VROztFQUVJO0VBQ0E7QTNINDNlWjs7QTJIdjNlSTs7RUFFSTtFQUNBO0EzSDAzZVI7O0EySHYzZUk7RUFDSTtBM0gwM2VSOztBMkh0M2VJO0VBQ0k7QTNIeTNlUjs7QTJIdjNlSTtFQUNJO0EzSDAzZVI7O0EySHYzZUk7O0VBRUk7QTNIMDNlUjs7QTRIdjZlSTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QTVIMDZlUjtBNEh4NmVROzs7OztFQUdJO0E1SDQ2ZVo7QTRIejZlUTtFQUNJO0E1SDI2ZVo7O0E0SHQ2ZUk7RUFDSTtFQUNBO0VBQ0E7RUFDQTtBNUh5NmVSOztBNkhqOGVRO0U3R0pKO0VBQ0E7RUFDQSx1RjZHTW9CO0U3R0xwQix3RTZHTWlCO0U3R0xqQix5RTZHTXFCO0U3R0hyQjtFQUNBO0FoQnU4ZUo7QTZIbDhlWTtFdkhaSiw4RHVIZ0JxQjtFdkhickIsZ0R1SFdvQjtFdkhScEIsNkR1SFNpQjtBN0hvOGV6Qjs7QThIajllSTtFQUNJO0E5SG85ZVI7O0E4SGw5ZUk7RUFDSTtBOUhxOWVSOztBK0hwOWVJO0VBQ0k7RUFDQTtBL0h1OWVSO0ErSHI5ZVE7RUFDSTtBL0h1OWVaO0ErSHI5ZVE7RUFDSTtFQUNBO0EvSHU5ZVo7QStIcDllUTtFQUNJO0EvSHM5ZVo7O0FnSXgrZUk7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBLDZDdkZGdUI7QXpDNitlL0I7QWdJeitlUTs7O0VBR0k7QWhJMitlWjs7QWdJcitlSTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QWhJdytlUjs7QWdJbitlSTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBLDZDdkY5QnVCO0F6Q29nZi9CO0FnSXArZVE7RUFDSTtBaElzK2VaOztBZ0loK2VJOzs7RUFHSTtFQUNBO0VBQ0E7RUFDQTtBaEltK2VSOztBZ0k5OWVJO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBaElpK2VSOztBZ0k1OWVJO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FoSSs5ZVI7O0FnSTc5ZUk7RUFDSTtFQUNBO0FoSWcrZVI7O0FnSTM5ZUk7RUFDSTtBaEk4OWVSOztBZ0l6OWVJOztFQUVJO0VBQ0E7QWhJNDllUjs7QWdJdjllSTtFNUh0R0ksK0Y0SHVHd0I7RUFDeEI7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FoSTA5ZVI7QWdJeDllUTs7O0VBR0k7QWhJMDllWjtBZ0l2OWVRO0VBQ0k7QWhJeTllWjs7QWdJbjllSTtFQUNJO0FoSXM5ZVI7QWdJcDllUTtFQUlJO0FoSW05ZVo7O0FnSXY4ZVE7RUFDSTtFQUNBO0FoSTA4ZVo7QWdJeDhlWTtFQUNJO0VBQ0E7QWhJMDhlaEI7O0FnSWg5ZVE7RUFDSTtFQUNBO0FoSW05ZVo7QWdJajllWTtFQUNJO0VBQ0E7QWhJbTllaEI7O0FnSXo5ZVE7RUFDSTtFQUNBO0FoSTQ5ZVo7QWdJMTllWTtFQUNJO0VBQ0E7QWhJNDllaEI7O0FpSXBuZkk7RTNIREksbUQySEtJO0UzSEZKO0VBR0EsdUQySEZJO0FqSXVuZlo7O0FpSWhuZkk7O0VBRUk7QWpJbW5mUjs7QWlJOW1mSTtFQUNJO0VBQ0E7RUFDQTtFM0hyQkEsa0UySDBCSTtFM0h2QkoseUQySHFCSTtFM0hsQkosc0UySG1CSTtBaklnbmZaO0FpSTNtZlE7RUFFSTtFQUNBO0VBQ0E7QWpJNG1mWjtBaUl4bWZRO0VBRUk7RUFDQTtFQUNBO0V6SDFDSixxRXlINENJO0FqSXdtZlo7QWlJcG1mUTtFQUNJO0VBQ0E7RUFDQTtBaklzbWZaOztBaUlqbWZJOztFQUVJO0VBQ0E7RUFDQTtBaklvbWZSOztBaUlobWZJO0VBQ0k7RUFDQTtFQUNBO0UzSG5FQSxzRTJId0VJO0UzSHJFSiw2RDJIbUVJO0UzSGhFSiwwRTJIaUVJO0FqSWttZlo7QWlJN2xmUTtFQUVJO0VBQ0E7RUFDQTtBakk4bGZaO0FpSTFsZlE7RUFFSTtFQUNBO0VBQ0E7RXpIeEZKLHFFeUgwRkk7QWpJMGxmWjs7QWtJNXFmUTs7O0VBQ0k7RUFDQTtBbElpcmZaO0FrSTlxZlE7OztFQUNJO0VBQ0E7QWxJa3JmWjs7QWtJN3FmUTtFQUNJO0VBQ0E7QWxJZ3JmWjtBa0k3cWZRO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FsSStxZlo7O0FtSTVzZkk7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQSw2QzFGRHVCO0F6Q2d0Zi9CO0FtSTdzZlE7OztFQUdJO0FuSStzZlo7QW1JNXNmUTtFQUNJO0FuSThzZlo7O0FtSXpzZkk7RUFDSTtFQUNBO0FuSTRzZlI7O0FtSXhzZkk7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBbkkyc2ZSO0FtSXpzZlE7RUFDSTtBbkkyc2ZaO0FtSXhzZlE7RUFDSTtBbkkwc2ZaO0FtSXZzZlE7RUFFSTtFQUNBO0VBQ0E7QW5Jd3NmWjs7QW1JbnNmSTtFQUNJO0VBQ0E7RUFDQTtBbklzc2ZSOztBbUlsc2ZJOztFQUVJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QW5JcXNmUjs7QW1JbHNmSTtFQUNJO0FuSXFzZlI7O0FtSWxzZkk7RUFDSTtBbklxc2ZSOztBb0l6eGZJO0U5SEVJO0FOMnhmUjtBb0l4eGZRO0U5SEhBLHlGOEhLZ0I7QXBJeXhmeEI7QW9JcnhmWTtFOUhUSiwrRjhIWW9CO0FwSXF4ZjVCO0FvSWh4ZlE7RTlIakJBLCtFOEhvQmdCO0VBRVo7QXBJK3dmWjtBb0k1d2ZRO0VBRUk7QXBJNndmWjtBb0kxd2ZRO0VwSGxDSjtFQUNBO0VBQ0EsMENvSGtDWTtFcEhqQ1oseUJvSGtDWTtFcEhqQ1osbURvSGtDWTtFcEgvQlo7RUFDQTtBaEI2eWZKOztBcUlqemZRO0VBQ0k7QXJJb3pmWjtBcUk5eWZZO0VBQ0k7RUFDQTtFQUNBO0FySWd6ZmhCOztBc0k3emZRO0VBQ0k7QXRJZzBmWjs7QXVJL3pmSTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQSw2QzlGSHVCO0F6Q3EwZi9CO0F1SWgwZlE7RUFDSTtBdklrMGZaO0F1SWgwZlE7RUFDSTtBdklrMGZaO0F1SS96ZlE7OztFQUdJO0F2SWkwZlo7QXVJOXpmUTtFQUNJO0F2SWcwZlo7QXVJN3pmUTtFQUNJO0F2SSt6Zlo7O0F1SXZ6ZlE7O0VBQ0k7RUFDQTtFQUNBO0VBQ0E7QXZJMnpmWjs7QXVJcnpmSTtFQUNJO0F2SXd6ZlI7O0F1SW56Zkk7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBdklzemZSOztBdUlqemZJO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0F2SW96ZlI7O0F1SWx6Zkk7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0F2SXF6ZlI7O0F1SWh6Zkk7O0VBRUk7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0F2SW16ZlI7O0F1SWp6Zkk7RUFDSTtBdklvemZSOztBdUlsemZJO0VBQ0k7QXZJcXpmUjs7QXVJdHlmUTtFQUNJO0VBQ0E7RUFDQTtBdkl5eWZaO0F1SXZ5Zlk7O0VBRUk7QXZJeXlmaEI7QXVJdHlmWTs7RUFFSTtFQUNBO0F2SXd5ZmhCO0F1SXR5Zlk7RUFDSTtBdkl3eWZoQjs7QXVJeHpmUTtFQUNJO0VBQ0E7RUFDQTtBdkkyemZaO0F1SXp6Zlk7O0VBRUk7QXZJMnpmaEI7QXVJeHpmWTs7RUFFSTtFQUNBO0F2STB6ZmhCO0F1SXh6Zlk7RUFDSTtBdkkwemZoQjs7QXVJMTBmUTtFQUNJO0VBQ0E7RUFDQTtBdkk2MGZaO0F1STMwZlk7O0VBRUk7QXZJNjBmaEI7QXVJMTBmWTs7RUFFSTtFQUNBO0F2STQwZmhCO0F1STEwZlk7RUFDSTtBdkk0MGZoQjs7QXVJL3pmUTs7OztFQUNJO0F2SXEwZlo7O0F3STM5Zlk7RUFDSSw0RENzQlU7QXpJdzhmMUI7QXdJMTlmUTtFQUVJO0F4STI5Zlo7O0F3SWw5ZlE7RUFDSTtFQUNBO0VBQ0E7RWxJeEJKLHFFa0k2QlE7RWxJMUJSLDREa0l3QlE7RWxJckJSLHlFa0lzQlE7QXhJbzlmaEI7QXdJaDlmUTtFQUNJO0VBQ0E7RUFDQTtFbEluQ0oscUVrSXdDUTtFbElyQ1IsNERrSW1DUTtFbEloQ1IseUVrSWlDUTtBeElpOWZoQjtBd0l6OGZZO0VBQ0k7RUFDQTtFQUNBO0F4STI4ZmhCO0F3SXg4Zlk7RUFDSTtFQUNBO0VBQ0E7QXhJMDhmaEI7QXdJbjhmWTtFQUNJO0VBQ0E7RUFDQTtBeElxOGZoQjtBd0k5N2ZZO0VBQ0k7RUFDQTtFQUNBO0F4SWc4ZmhCO0F3STc3Zlk7RUFDSTtFQUNBO0VBQ0E7QXhJKzdmaEI7QXdJMzdmUTtFQUNJO0F4STY3Zlo7O0F3SXA3ZlE7RUFDSTtFQUNBO0VBQ0E7RWxJbkdKLG9Fa0l3R1E7RWxJckdSLDJEa0ltR1E7RWxJaEdSLHdFa0lpR1E7QXhJczdmaEI7QXdJbDdmUTtFQUNJO0VBQ0E7RUFDQTtFbEk5R0osb0VrSW1IUTtFbEloSFIsMkRrSThHUTtFbEkzR1Isd0VrSTRHUTtBeEltN2ZoQjtBd0kzNmZZO0VBQ0k7RUFDQTtFQUNBO0F4STY2ZmhCO0F3STE2Zlk7RUFDSTtFQUNBO0VBQ0E7QXhJNDZmaEI7QXdJcjZmWTtFQUNJO0VBQ0E7RUFDQTtBeEl1NmZoQjtBd0loNmZZO0VBQ0k7RUFDQTtFQUNBO0F4SWs2ZmhCO0F3SS81Zlk7RUFDSTtFQUNBO0VBQ0E7QXhJaTZmaEI7QXdJNzVmUTtFQUNJO0F4SSs1Zlo7O0EwSWhrZ0JJO0VBQ0k7RUFDQTtFQUNBO0ExSW1rZ0JSOztBMEkvamdCSTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QTFJa2tnQlI7QTBJaGtnQlE7RUFDSTtBMUlra2dCWjtBMEkvamdCUTtFQUNJO0VBQ0E7RUFDQTtBMUlpa2dCWjtBMEk5amdCUTtFQUNJO0VBQ0E7RUFDQTtBMUlna2dCWjs7QTJJbm1nQkk7RXJJRkksa0ZxSU1JO0VySUhKLHVFcUlDSTtFcklFSiwrRXFJREk7QTNJc21nQlo7QTJJbG1nQlE7O0VBRUk7QTNJb21nQlo7QTJJbG1nQlE7RUFDSTtBM0lvbWdCWjtBMklsbWdCUTtFQUNJO0EzSW9tZ0JaOztBMkk3bGdCUTs7RUFFSTtBM0lnbWdCWjs7QTRJeG5nQkk7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBLDZDbkdDdUI7QXpDMG5nQi9CO0E0SXpuZ0JROzs7RUFHSTtBNUkybmdCWjtBNEl4bmdCUTtFQUNJO0E1STBuZ0JaO0E0SXRuZ0JROztFQUVJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBNUl3bmdCWjtBNEl0bmdCWTs7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBNUl5bmdCaEI7QTRJdG5nQlk7O0VBQ0k7RUFDQTtFQUNBO0VBQ0E7QTVJeW5nQmhCO0E0SXZuZ0JnQjs7RUFDSTtBNUkwbmdCcEI7QTRJdG5nQlk7O0VBQ0k7QTVJeW5nQmhCO0E0SXBuZ0JZO0VBQ0k7QTVJc25nQmhCO0E0SW5uZ0JZO0VBQ0k7QTVJcW5nQmhCO0E0SWhuZ0JRO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBNUlrbmdCWjtBNElobmdCWTs7RUFFSTtFQUNBO0VBQ0E7QTVJa25nQmhCO0E0SS9tZ0JZO0VBQ0k7QTVJaW5nQmhCO0E0STltZ0JZO0VBQ0k7QTVJZ25nQmhCO0E0STdtZ0JZO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBNUkrbWdCaEI7QTRJN21nQlk7RUFDSTtBNUkrbWdCaEI7QTRJNW1nQlk7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QTVJOG1nQmhCO0E0STNtZ0JZO0VBQ0k7RUFDQTtFQUNBO0E1STZtZ0JoQjtBNEkxbWdCWTs7RUFFSTtFQUNBO0E1STRtZ0JoQjtBNEl6bWdCWTtFQUNJO0VBQ0E7RUFDQTtBNUkybWdCaEI7QTRJeG1nQlk7Ozs7RUFJSTtBNUkwbWdCaEI7QTRJdm1nQlk7RUFDSTtFQUNBO0VBQ0E7RUFDQTtBNUl5bWdCaEI7QTRJdG1nQlk7OztFQUdJO0E1SXdtZ0JoQjtBNElybWdCWTtFQUNJO0E1SXVtZ0JoQjtBNElsbWdCZ0I7RUFDSTtBNUlvbWdCcEI7QTRJL2xnQlE7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QTVJaW1nQlo7QTRJOWxnQlE7O0VBRUk7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0E1SWdtZ0JaO0E0STNsZ0JZO0VBQ0k7RUFDQTtBNUk2bGdCaEI7QTRJMWxnQlk7RUFDSTtBNUk0bGdCaEI7QTRJeGxnQlE7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QTVJMGxnQlo7QTRJdGxnQlE7OztFQUNJO0E1STBsZ0JaOztBNElybGdCSTtFQUNJO0VBQ0E7QTVJd2xnQlI7QTRJdGxnQlE7RUFFSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0E1SXVsZ0JaO0E0SXBsZ0JROztFQUVJO0E1SXNsZ0JaOztBNkl2MGdCSTtFdklBSSxnRnVJSUk7RXZJREoscUV1SURJO0V2SUlKLDRFdUlISTtBN0kwMGdCWjtBNkl0MGdCUTtFdklQQSwwSHVJV1E7RXZJUlIsNEV1SU1RO0V2SUhSLHNGdUlJUTtBN0l3MGdCaEI7QTZJcDBnQlk7RUFJSTtBN0ltMGdCaEI7QTZJaDBnQlk7RUFDSTtFQUNBO0E3SWswZ0JoQjtBNkk3emdCUTs7RUFFSTtBN0kremdCWjtBNkkxemdCWTtFQUNJO0E3STR6Z0JoQjtBNkl6emdCWTtFQUNJO0E3STJ6Z0JoQjtBNkl0emdCUTtFQUNJO0VBQ0E7QTdJd3pnQlo7QTZJbnpnQlk7RUFDSTtBN0lxemdCaEI7QTZJOXlnQlk7RUFDSSxxRENvQlk7QTlJNHhnQjVCO0E2STd5Z0JZO0VBQ0k7QTdJK3lnQmhCO0E2SXp5Z0JZO0VBQ0k7QTdJMnlnQmhCO0E2SXh5Z0JZO0VBQ0k7QTdJMHlnQmhCO0E2SXR5Z0JRO0VBQ0k7RUFDQTtBN0l3eWdCWjtBNklyeWdCUTs7O0VBR0k7QTdJdXlnQlo7QTZJcHlnQlE7RUFDSTtBN0lzeWdCWjtBNklseWdCUTtFQUdJO0E3SWt5Z0JaOztBK0lsNGdCSTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QS9JcTRnQlI7QStJbjRnQlE7RUFDSTtFQUNBO0EvSXE0Z0JaOztBK0k1M2dCUTtFQUNJO0EvSSszZ0JaO0ErSTczZ0JZO0VBQ0kscUdBTk87QS9JcTRnQnZCO0ErSTUzZ0JZO0VBQ0ksK0NBWGU7QS9JeTRnQi9COztBK0l0NGdCUTtFQUNJO0EvSXk0Z0JaO0ErSXY0Z0JZO0VBQ0kseUdBTk87QS9JKzRnQnZCO0ErSXQ0Z0JZO0VBQ0ksbURBWGU7QS9JbTVnQi9COztBK0loNWdCUTtFQUNJO0EvSW01Z0JaO0ErSWo1Z0JZO0VBQ0ksb0dBTk87QS9JeTVnQnZCO0ErSWg1Z0JZO0VBQ0ksOENBWGU7QS9JNjVnQi9COztBZ0o3NmdCSTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBLDZDdkdQdUI7QXpDdTdnQi9CO0FnSjk2Z0JROzs7RUFHSTtBaEpnN2dCWjtBZ0o3NmdCUTtFQUNJO0FoSis2Z0JaO0FnSjM2Z0JRO0VBQ0k7RUFDQTtFQUNBO0FoSjY2Z0JaO0FnSng2Z0JRO0VBQ0k7QWhKMDZnQlo7QWdKdDZnQlE7RUFDSTtBaEp3NmdCWjtBZ0puNmdCUTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBaEpxNmdCWjtBZ0poNmdCUTs7RUFFSTtBaEprNmdCWjtBZ0ovNWdCUTtFQUNJO0FoSmk2Z0JaOztBZ0oxNWdCSTtFQUNJO0FoSjY1Z0JSOztBZ0p4NWdCSTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0FoSjI1Z0JSOztBZ0p0NWdCSTtFQUNJO0VBQ0E7RUFDQTtBaEp5NWdCUjs7QWdKcDVnQkk7RUFDSTtFQUNBO0FoSnU1Z0JSOztBZ0pwNWdCSTtFQUNJO0VBQ0E7QWhKdTVnQlI7QWdKcjVnQlE7RUFDSTtBaEp1NWdCWjs7QWlKbmdoQkk7RUFDSTtFQUNBO0VBQ0E7RUFFQTtFQUNBO0VBQ0E7QWpKcWdoQlI7O0FpSmxnaEJJO0VBQ0k7RUFDQTtFQUNBO0FqSnFnaEJSOztBaUozL2dCUTtFQUNJO0VBQ0E7RUFDQTtBako4L2dCWjtBaUo1L2dCWTtFQUNJO0FqSjgvZ0JoQjs7QWlKcGdoQlE7RUFDSTtFQUNBO0VBQ0E7QWpKdWdoQlo7QWlKcmdoQlk7RUFDSTtBakp1Z2hCaEI7O0FpSjdnaEJRO0VBQ0k7RUFDQTtFQUNBO0FqSmdoaEJaO0FpSjlnaEJZO0VBQ0k7QWpKZ2hoQmhCOztBaUp0aGhCUTtFQUNJO0VBQ0E7RUFDQTtBakp5aGhCWjtBaUp2aGhCWTtFQUNJO0FqSnloaEJoQjs7QWlKL2hoQlE7RUFDSTtFQUNBO0VBQ0E7QWpKa2loQlo7QWlKaGloQlk7RUFDSTtBakpraWhCaEI7O0FpSnhpaEJRO0VBQ0k7RUFDQTtFQUNBO0FqSjJpaEJaO0FpSnppaEJZO0VBQ0k7QWpKMmloQmhCOztBaUpqamhCUTtFQUNJO0VBQ0E7RUFDQTtBakpvamhCWjtBaUpsamhCWTtFQUNJO0FqSm9qaEJoQjs7QWlKMWpoQlE7RUFDSTtFQUNBO0VBQ0E7QWpKNmpoQlo7QWlKM2poQlk7RUFDSTtBako2amhCaEI7O0FpSm5raEJRO0VBQ0k7RUFDQTtFQUNBO0FqSnNraEJaO0FpSnBraEJZO0VBQ0k7QWpKc2toQmhCOztBa0pwbWhCSTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBbEp1bWhCUjtBa0pybWhCUTs7O0VBR0k7QWxKdW1oQlo7QWtKcG1oQlE7RUFFSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBbEpxbWhCWjtBa0pobWhCWTtFQUVHO0FsSmltaEJmOztBa0ozbGhCSTtFQUNJO0VBQ0E7RUFDQTtBbEo4bGhCUjs7QWtKM2xoQkk7O0VBRUk7RUFDQTtBbEo4bGhCUjs7QWtKdGxoQlE7RUFDSTtFQUNBO0FsSnlsaEJaOztBa0ozbGhCUTtFQUNJO0VBQ0E7QWxKOGxoQlo7O0FrSmhtaEJRO0VBQ0k7RUFDQTtBbEptbWhCWjs7QWtKN2xoQkk7RUFDSTtFQUNBO0VBQ0E7RUFDQTtBbEpnbWhCUjs7QWtKN2xoQkk7RUFDSTtBbEpnbWhCUjs7QWtKOWxoQkk7RUFDSTtBbEppbWhCUjs7QWtKOWxoQkk7RUFDSTtBbEppbWhCUjs7QWtKL2xoQkk7RUFDSTtBbEprbWhCUjs7QWtKL2xoQkk7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FsSmttaEJSO0FrSmhtaEJRO0VBSUk7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QWxKK2xoQlo7QWtKNWxoQlE7RUFDSTtBbEo4bGhCWjtBa0o1bGhCWTtFQUVJO0FsSjZsaEJoQjtBa0p6bGhCUTtFQUNJO0FsSjJsaEJaO0FrSnpsaEJZO0VBRUk7QWxKMGxoQmhCOztBa0pybGhCSTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QWxKd2xoQlI7O0FrSnJsaEJJO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QWxKd2xoQlI7QWtKdGxoQlE7RUFDSTtBbEp3bGhCWjs7QWtKbGxoQlE7O0VBQ0k7QWxKc2xoQlo7QWtKbmxoQlE7O0VBQ0k7QWxKc2xoQlo7O0FtSi92aEJJO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUVBO0VBQ0E7RUFDQTtFQUNBO0VBR0E7QW5KK3ZoQlI7QW1KN3ZoQlE7RUFFSTtFQUNBO0VBQ0E7QW5KOHZoQlo7QW1KM3ZoQlE7RUFFSTtFQUNBO0VBQ0E7QW5KNHZoQlo7QW1KMXZoQlE7RUFFSTtBbkoydmhCWjtBbUp4dmhCUTtFQUVJO0VBQ0E7RUFDQTtBbkp5dmhCWjtBbUp0dmhCUTtFQUNJO0VBQ0E7RUFDQTtBbkp3dmhCWjtBbUpydmhCUTtFQUVJO0VBQ0E7RUFDQTtBbkpzdmhCWjs7QW1KMXRoQlk7RUFDSTtFQUNBO0VBQ0E7RUFFQTtFQUNBO0VBQ0E7RUFFQTtFQUNBO0VBQ0E7RUFDQTtFQUVBO0VBQ0E7RUFDQTtFQUVBO0VBQ0E7RUFDQTtFQUVBO0VBQ0E7RUFDQTtBbkp3dGhCaEI7O0FtSmh2aEJZO0VBQ0k7RUFDQTtFQUNBO0VBRUE7RUFDQTtFQUNBO0VBRUE7RUFDQTtFQUNBO0VBQ0E7RUFFQTtFQUNBO0VBQ0E7RUFFQTtFQUNBO0VBQ0E7RUFFQTtFQUNBO0VBQ0E7QW5KOHVoQmhCOztBbUp0d2hCWTtFQUNJO0VBQ0E7RUFDQTtFQUVBO0VBQ0E7RUFDQTtFQUVBO0VBQ0E7RUFDQTtFQUNBO0VBRUE7RUFDQTtFQUNBO0VBRUE7RUFDQTtFQUNBO0VBRUE7RUFDQTtFQUNBO0FuSm93aEJoQjs7QW1KNXhoQlk7RUFDSTtFQUNBO0VBQ0E7RUFFQTtFQUNBO0VBQ0E7RUFFQTtFQUNBO0VBQ0E7RUFDQTtFQUVBO0VBQ0E7RUFDQTtFQUVBO0VBQ0E7RUFDQTtFQUVBO0VBQ0E7RUFDQTtBbkoweGhCaEI7O0FtSmx6aEJZO0VBQ0k7RUFDQTtFQUNBO0VBRUE7RUFDQTtFQUNBO0VBRUE7RUFDQTtFQUNBO0VBQ0E7RUFFQTtFQUNBO0VBQ0E7RUFFQTtFQUNBO0VBQ0E7RUFFQTtFQUNBO0VBQ0E7QW5KZ3poQmhCOztBbUp4MGhCWTtFQUNJO0VBQ0E7RUFDQTtFQUVBO0VBQ0E7RUFDQTtFQUVBO0VBQ0E7RUFDQTtFQUNBO0VBRUE7RUFDQTtFQUNBO0VBRUE7RUFDQTtFQUNBO0VBRUE7RUFDQTtFQUNBO0FuSnMwaEJoQjs7QW1KOTFoQlk7RUFDSTtFQUNBO0VBQ0E7RUFFQTtFQUNBO0VBQ0E7RUFFQTtFQUNBO0VBQ0E7RUFDQTtFQUVBO0VBQ0E7RUFDQTtFQUVBO0VBQ0E7RUFDQTtFQUVBO0VBQ0E7RUFDQTtBbko0MWhCaEI7O0FtSnAzaEJZO0VBQ0k7RUFDQTtFQUNBO0VBRUE7RUFDQTtFQUNBO0VBRUE7RUFDQTtFQUNBO0VBQ0E7RUFFQTtFQUNBO0VBQ0E7RUFFQTtFQUNBO0VBQ0E7RUFFQTtFQUNBO0VBQ0E7QW5KazNoQmhCOztBbUoxNGhCWTtFQUNJO0VBQ0E7RUFDQTtFQUVBO0VBQ0E7RUFDQTtFQUVBO0VBQ0E7RUFDQTtFQUNBO0VBRUE7RUFDQTtFQUNBO0VBRUE7RUFDQTtFQUNBO0VBRUE7RUFDQTtFQUNBO0FuSnc0aEJoQjs7QW1KaDZoQlk7RUFDSTtFQUNBO0VBQ0E7RUFFQTtFQUNBO0VBQ0E7RUFFQTtFQUNBO0VBQ0E7RUFDQTtFQUVBO0VBQ0E7RUFDQTtFQUVBO0VBQ0E7RUFDQTtFQUVBO0VBQ0E7RUFDQTtBbko4NWhCaEI7O0FtSng1aEJJOztFQUVJO0VBQ0E7RUFDQTtFN0lsSEEsNkQ2SXVISTtFN0lwSEosb0Q2SWtISTtFN0kvR0osaUU2SWdISTtBbkowNWhCWjs7QW1KaDVoQlk7RUFDSTtFQUNBO0VBQ0E7QW5KbTVoQmhCO0FtSmg1aEJZO0VBQ0k7RUFDQTtFQUNBO0FuSms1aEJoQjtBbUozNGhCWTtFQUNJO0VBQ0E7RUFDQTtBbko2NGhCaEI7QW1KMTRoQlk7RUFDSTtFQUNBO0VBQ0E7QW5KNDRoQmhCO0FtSnI0aEJZO0VBQ0k7RUFDQTtFQUNBO0FuSnU0aEJoQjtBbUpwNGhCWTtFQUNJO0VBQ0E7RUFDQTtBbkpzNGhCaEI7QW1KajRoQlE7RUFFSTtBbkprNGhCWjtBbUovM2hCUTtFbklwTEo7RUFDQTtFQUNBLDBDbUl1TFk7RW5JdExaLG1EbUl1TFk7RW5JdExaLG1EbUl1TFk7RW5JcExaO0VBQ0E7QWhCb2ppQko7O0FtSjEzaEJJO0UzSWpNSSxnQjJJa01BO0FuSjYzaEJSOztBb0o5amlCSTtFaEpBSSx3RmdKQ3dCO0VBQ3hCO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0EsNkMzR0Z1QjtBekNta2lCL0I7O0FvSjlqaUJJO0VBQ0k7RUFDQTtFQUNBO0FwSmlraUJSOztBb0o1amlCUTtFQUFxQixZQ3FFUjtBckoyL2hCckI7O0FvSmhraUJRO0VBQXFCLFlDcUVSO0FySisvaEJyQjs7QW9KcGtpQlE7RUFBcUIsYUNxRVI7QXJKbWdpQnJCOztBb0pua2lCSTtFaEp6QkksaUdnSjBCNEI7RWhKekI1QixrR2dKeUI0QjtFQUM1QjtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBcEp1a2lCUjs7QW9KbmtpQkk7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FwSnNraUJSO0FvSnBraUJRO0VBQ0k7QXBKc2tpQlo7O0FvSmhraUJJO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QXBKbWtpQlI7O0FvSmpraUJJO0VBQ0k7RUFDQTtBcEpva2lCUjtBb0psa2lCUTtFQUVJO0FwSm1raUJaOztBb0o3amlCSTs7RUFFSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBcEpna2lCUjs7QW9KN2ppQkk7RUFDSTtBcEpna2lCUjs7QW9KN2ppQkk7RUFDSTtFQUNBO0FwSmdraUJSO0FvSjlqaUJRO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7QXBKZ2tpQlo7O0FvSjNqaUJJO0VoSmxHSSxxR2dKbUcrQjtFaEpsRy9CLG9HZ0prRytCO0VBQy9CO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QXBKK2ppQlI7O0FvSnhqaUJRO0VBQ0k7QXBKMmppQlo7O0FvSnBqaUJRO0VBQWM7QXBKd2ppQnRCO0FvSnZqaUJRO0VBQWM7QXBKMGppQnRCO0FvSnpqaUJRO0VBQWM7QXBKNGppQnRCO0FvSjNqaUJRO0VBQWM7QXBKOGppQnRCOztBc0podGlCSTtFaEpISSw2RWdKT0k7RWhKSkoscUVnSkVJO0VoSkNKO0VFTkEsNkU4SVNBO0F0Sml0aUJSO0FzSi9zaUJRO0U5SVhBLG1GOElhSTtBdEpndGlCWjs7QXNKMXNpQkk7RWhKbkJJLHNGZ0pzQmE7RWhKaEJiLHFGZ0plUztBdEo2c2lCakI7O0FzSnhzaUJJO0VBQ0k7QXRKMnNpQlI7O0FzSmpzaUJRO0VBQ0k7RUFFQTtFQUNBO0VBQ0E7QXRKbXNpQlo7O0FzSnhzaUJRO0VBQ0k7RUFFQTtFQUNBO0VBQ0E7QXRKMHNpQlo7O0FzSi9zaUJRO0VBQ0k7RUFFQTtFQUNBO0VBQ0E7QXRKaXRpQlo7O0F1SjN2aUJJO0VBQ0k7RUFDQTtFQUVBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QXZKNnZpQlI7O0F1SnR2aUJRO0VBQ0k7RUFDQTtBdkp5dmlCWjtBdUpydmlCUTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBdkp1dmlCWjtBdUpydmlCWTtFQUNJO0F2SnV2aUJoQjtBdUpsdmlCUTtFQUNJO0VBQ0E7QXZKb3ZpQlo7QXVKaHZpQlE7RUFDSTtBdkprdmlCWjs7QXVKN3VpQkk7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUdBO0F2Sjh1aUJSO0F1Sjd1aUJRO0VBQ0k7QXZKK3VpQlo7QXVKNXVpQlE7RUFDSTtFQUNBO0VBQ0E7QXZKOHVpQlo7QXVKM3VpQlE7RUFDSTtBdko2dWlCWjtBdUoxdWlCUTs7O0VBR0k7QXZKNHVpQlo7O0F1Snh1aUJJO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7QXZKMnVpQlI7O0F1SnR1aUJJO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QXZKeXVpQlI7O0F1SnB1aUJJO0VBRUk7RUFDQTtFQUNBO0F2SnN1aUJSOztBdUpudWlCSTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0F2SnN1aUJSOztBdUpudWlCSTtFQUNJO0F2SnN1aUJSOztBdUpudWlCSTtFQUNJO0VBQ0E7QXZKc3VpQlI7O0F1Sm51aUJJO0VBQ0k7QXZKc3VpQlI7O0F1Smp1aUJJO0VBQ0k7RUFDQTtFQUNBO0F2Sm91aUJSOztBdUovdGlCSTtFQUNJO0VBQ0EscUJDN0RnQztFRDhEaEM7QXZKa3VpQlI7O0F1Sjd0aUJJO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7QXZKZ3VpQlI7O0F1SjN0aUJJO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7QXZKOHRpQlI7QXVKNXRpQlE7RUFFSTtFQUNBO0VBQ0E7QXZKNnRpQlo7O0F1Snp0aUJJO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0F2SjR0aUJSOztBdUp6dGlCSTtFQUNJO0VBQ0E7QXZKNHRpQlI7O0F1Snp0aUJJO0VBQ0k7RUFDQTtBdko0dGlCUjs7QXVKenRpQkk7RUFDSTtBdko0dGlCUjs7QXVKdnRpQkk7RUFDSTtFQUNBO0F2SjB0aUJSOztBdUpydGlCSTtFbkozTUksdUVtSjRNK0I7RW5KM00vQixzRW1KMk0rQjtFQUMvQjtFQUNBO0VBQ0E7RUFDQTtFQUNBO0F2Snl0aUJSOztBdUp0dGlCSTtFbkpsT0ksbUVtSm1PNEI7RW5KbE81QixvRW1Ka080QjtFQUM1QjtFQUNBO0VBQ0E7RUFDQTtFQUNBO0F2SjB0aUJSOztBdUp2dGlCSTtFbkpwT0ksb0VtSnFPOEI7RW5KcE85Qix1RW1Kb084QjtFQUM5QjtFQUNBO0VBQ0E7RUFDQTtFQUNBO0F2SjJ0aUJSOztBdUp4dGlCSTtFbkovTkksbUVtSmdPNkI7RW5KL043QixzRW1KK042QjtFQUM3QjtFQUNBO0VBQ0E7RUFDQTtFQUNBO0F2SjR0aUJSOztBdUp2dGlCSTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QXZKMHRpQlI7O0F1SnJ0aUJJO0VBQ0k7RUFDQTtFQUNBLGVoSWxRYTtBdkIwOWlCckI7QXVKdHRpQlE7RUFDSTtFQUNBO0F2Snd0aUJaO0F1SnJ0aUJRO0VBQ0k7RUFDQTtBdkp1dGlCWjtBdUpwdGlCUTtFQUNJO0VBQ0E7QXZKc3RpQlo7QXVKbnRpQlE7RUFDSTtBdkpxdGlCWjtBdUpudGlCUTs7RUFFSTtFQUNBO0F2SnF0aUJaO0F1Smx0aUJROztFQUVJO0F2Sm90aUJaO0F1Smx0aUJRO0VBQ0k7RUFDQTtBdkpvdGlCWjtBdUpqdGlCUTtFQUNJO0VBQ0E7RUFDQTtBdkptdGlCWjtBdUpodGlCUTtFQUNJO0VBQ0E7RUFDQTtBdkprdGlCWjtBdUovc2lCUTtFQUNJO0VBQ0E7RUFDQTtBdkppdGlCWjtBdUovc2lCWTtFQUNJO0F2Sml0aUJoQjtBdUo5c2lCWTtFQUNJO0F2Smd0aUJoQjtBdUo1c2lCUTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0F2SjhzaUJaO0F1SjVzaUJRO0VBQ0k7QXZKOHNpQlo7QXVKM3NpQlE7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QXZKNnNpQlo7QXVKMXNpQlE7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QXZKNHNpQlo7QXVKenNpQlE7RUFDSTtFQUNBO0F2SjJzaUJaO0F1SnhzaUJRO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7QXZKMHNpQlo7QXVKdnNpQlE7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QXZKeXNpQlo7QXVKdnNpQlk7RUFDSTtBdkp5c2lCaEI7QXVKdHNpQlk7RUFDSTtBdkp3c2lCaEI7QXVKcnNpQlk7RUFDSTtBdkp1c2lCaEI7QXVKbHNpQlk7RUFDSTtFQUNBO0F2Sm9zaUJoQjs7QXVKNXJpQlE7Ozs7RUFFSTtBdkppc2lCWjs7QXVKOXJpQkk7RUFDSTtBdkppc2lCUjs7QXlKN2xqQkk7RUFDSTtFQUNBO0VBQ0E7RWpKTEEsa0ZpSk1BO0F6SmdtakJSOztBeUozbGpCSTtFQUNJO0VBQ0E7RUFDQTtFakpkQSx3RGlKZUE7QXpKOGxqQlI7O0F5SjVsakJJO0VBQ0k7RUFDQTtFQUNBO0VqSnBCQSxvRGlKcUJBO0F6SitsakJSOztBeUo3bGpCSTtFQUNJO0F6SmdtakJSOztBeUpybGpCSTtFQUNJO0F6SndsakJSOztBeUpwbGpCSTtFQUNHO0F6SnVsakJQOztBeUpsbGpCSTtFQUVJO0VBQ0E7RUFDQTtFQUNBO0F6Sm9sakJSO0F5SmpsakJRO0VBRUk7RUFDQTtFQUNBO0F6SmtsakJaO0F5SjdrakJRO0VBRUk7RUFDQTtFQUNBO0VBQ0E7QXpKOGtqQlo7QXlKNWtqQlk7RUFFSTtFQUNBO0VBQ0E7QXpKNmtqQmhCO0F5SnZrakJRO0VBRUk7RUFDQTtFQUNBO0F6SndrakJaO0F5SnRrakJZOzs7RUFFSTtBekp5a2pCaEI7O0F5Sm5rakJJO0VBQ0k7QXpKc2tqQlI7O0EwSmxxakJJO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBMUpxcWpCUjtBMEpucWpCUTtFQUNJO0ExSnFxakJaOztBMEpqcWpCSTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0ExSm9xakJSO0EwSmpxakJRO0VBQ0k7RUFDQTtFQUNBO0ExSm1xakJaO0EwSmhxakJRO0VBQ0k7QTFKa3FqQlo7O0EwSjdwakJJO0VBQ0k7RUFDQTtFQUNBO0ExSmdxakJSOztBMEo3cGpCSTtFQUNJO0VBQ0E7QTFKZ3FqQlI7O0EwSjVwakJJO0V0Si9CSSxxR3NKZ0MrQjtFdEovQi9CLG9Hc0orQitCO0VBQy9CO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QTFKZ3FqQlI7O0EwSjdwakJJO0VBQ0k7QTFKZ3FqQlI7O0EySmx1akJJO0VuSkZJLDZFbUpHQTtBM0pxdWpCUjs7QTJKanVqQkk7RXJKUEkseUZxSlVhO0VySkpiLHFGcUpHUztFbkpUVCxnQm1KYUE7QTNKaXVqQlI7O0EySjl0akJJO0VBQ0k7QTNKaXVqQlI7O0EySnZ0akJRO0VBQ0k7RUFFQTtFQUNBO0VBQ0E7QTNKeXRqQlo7O0EySjl0akJRO0VBQ0k7RUFFQTtFQUNBO0VBQ0E7QTNKZ3VqQlo7O0EySnJ1akJRO0VBQ0k7RUFFQTtFQUNBO0VBQ0E7QTNKdXVqQlo7O0E0SnJ3akJJO0VBQ0k7RUFDQTtFQUNBO0E1Snd3akJSOztBNEpyd2pCSTs7RUFFSTtBNUp3d2pCUjs7QTRKbndqQkk7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQSw2Q25IakJ1QjtBekN1eGpCL0I7QTRKcHdqQlE7OztFQUdJO0E1SnN3akJaO0E0Smx3akJRO0VBRUk7QTVKbXdqQlo7QTRKaHdqQlE7RUFFSTtBNUppd2pCWjtBNEo3dmpCUTtFQUNJO0VBQ0E7QTVKK3ZqQlo7QTRKN3ZqQlE7RUFDSTtFQUNBO0E1Sit2akJaOztBNEp6dmpCSTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0E1SjR2akJSOztBNEp0dmpCUTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0E1Snl2akJaO0E0SnR2akJRO0VBQ0k7QTVKd3ZqQlo7QTRKdHZqQlE7RUFDSTtBNUp3dmpCWjs7QTRKbHZqQkk7RUFDSTtFQUNBO0E1SnF2akJSO0E0Sm52akJRO0VBQ0k7RUFDQTtFQUNBO0E1SnF2akJaO0E0Smx2akJRO0VBQ0k7QTVKb3ZqQlo7O0E0Sjl1akJJO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7QTVKaXZqQlI7QTRKOXVqQlE7RUFDSTtBNUpndmpCWjtBNEo5dWpCUTtFQUNJO0E1Smd2akJaOztBNEo3dWpCSTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBNUpndmpCUjs7QTRKN3VqQkk7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QTVKZ3ZqQlI7QTRKOXVqQlE7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBNUpndmpCWjtBNEo3dWpCUTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBNUordWpCWjtBNEo1dWpCUTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0E1Sjh1akJaO0E0SjV1akJZO0VBQ0k7QTVKOHVqQmhCO0E0SjF1akJRO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7QTVKNHVqQlo7QTRKeHVqQlk7RUFDSTtBNUowdWpCaEI7QTRKdnVqQlk7RUFDSTtBNUp5dWpCaEI7QTRKcnVqQlE7RUFDSTtFQUNBO0VBQ0E7QTVKdXVqQlo7QTRKbHVqQlk7RUFDSTtBNUpvdWpCaEI7QTRKcnVqQlk7RUFDSTtBNUp1dWpCaEI7QTRKeHVqQlk7RUFDSTtBNUowdWpCaEI7QTRKM3VqQlk7RUFDSTtBNUo2dWpCaEI7QTRKOXVqQlk7RUFDSTtBNUpndmpCaEI7O0E0SjN1akJJO0VBQ0k7QTVKOHVqQlI7O0E0SjN1akJJO0VBQ0k7QTVKOHVqQlI7O0E0SjF1akJJO0VBQ0k7RUFDQTtBNUo2dWpCUjs7QTRKdnVqQkk7RUFDSTtBNUowdWpCUjs7QTZKajlqQkk7RXZKREksZ0Z1SktJO0V2SkZKO0VBR0EsNEV1SkZJO0E3Sm85akJaOztBNko5OGpCSTtFQUNJO0E3Smk5akJSO0E2Si84akJRO0VBQ0k7QTdKaTlqQlo7QTZKLzhqQlE7RUFDSTtBN0ppOWpCWjtBNkovOGpCUTtFQUNJO0E3Smk5akJaOztBNko5OGpCSTtFdkpwQkksMEV1SnNCSTtFdkpuQkosaUZ1Sm9CSTtBN0pnOWpCWjtBNko3OGpCUTtFQUNJO0E3Sis4akJaO0E2SjU4akJRO0V2SjlCQSxxRnVKaUNRO0V2SjlCUix1RnVKK0JRO0E3SjQ4akJoQjtBNkp6OGpCWTtFQUNJO0E3SjI4akJoQjtBNkp2OGpCUTtFdkoxQ0EsZ0Z1SjZDUTtFdkoxQ1IsdUZ1SjJDUTtFQUVKO0E3SnM4akJaO0E2SnA4akJZO0VBQ0k7QTdKczhqQmhCO0E2Sm44akJZO0V2SnRESixxRnVKeURZO0V2SnREWix1RnVKdURZO0E3Sm04akJwQjtBNko5N2pCUTtFdkovREEseUZ1SmlFUTtFdko5RFIseUZ1SitEUTtBN0orN2pCaEI7QTZKNTdqQlk7RUFDSTtBN0o4N2pCaEI7QTZKMzdqQlk7RXZKekVKLDhGdUo0RVk7RXZKekVaLHFHdUowRVk7QTdKMjdqQnBCOztBNkp0N2pCSTtFQUNJO0E3Snk3akJSOztBOEo3Z2tCSTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBOUpnaGtCUjs7QThKNWdrQkk7RUFDSTtBOUorZ2tCUjs7QThKNWdrQkk7RTFKZkksMkYwSmdCd0I7RUFDeEI7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQSw2Q3JIcEJ1QjtBekNtaWtCL0I7QThKN2drQlE7OztFQUdJO0E5Sitna0JaO0E4SjVna0JRO0VBQ0k7QTlKOGdrQlo7QThKM2drQlE7RUFDSTtBOUo2Z2tCWjs7QThKemdrQkk7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QTlKNGdrQlI7O0E4SjFna0JJO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBOUo2Z2tCUjs7QStKMWtrQkk7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUVBO0VBQ0E7RUFDQTtFQUNBO0EvSjRra0JSOztBK0pua2tCUTtFQUNJO0VBQ0E7RUFDQTtBL0pza2tCWjtBK0pwa2tCWTtFQUNJO0EvSnNra0JoQjs7QStKNWtrQlE7RUFDSTtFQUNBO0VBQ0E7QS9KK2trQlo7QStKN2trQlk7RUFDSTtBL0ora2tCaEI7O0ErSnJsa0JRO0VBQ0k7RUFDQTtFQUNBO0EvSndsa0JaO0ErSnRsa0JZO0VBQ0k7QS9Kd2xrQmhCOztBK0o5bGtCUTtFQUNJO0VBQ0E7RUFDQTtBL0ppbWtCWjtBK0ovbGtCWTtFQUNJO0EvSmlta0JoQjs7QStKdm1rQlE7RUFDSTtFQUNBO0VBQ0E7QS9KMG1rQlo7QStKeG1rQlk7RUFDSTtBL0owbWtCaEI7O0ErSmhua0JRO0VBQ0k7RUFDQTtFQUNBO0EvSm1ua0JaO0ErSmpua0JZO0VBQ0k7QS9KbW5rQmhCOztBK0p6bmtCUTtFQUNJO0VBQ0E7RUFDQTtBL0o0bmtCWjtBK0oxbmtCWTtFQUNJO0EvSjRua0JoQjs7QStKbG9rQlE7RUFDSTtFQUNBO0VBQ0E7QS9KcW9rQlo7QStKbm9rQlk7RUFDSTtBL0pxb2tCaEI7O0ErSjNva0JRO0VBQ0k7RUFDQTtFQUNBO0EvSjhva0JaO0ErSjVva0JZO0VBQ0k7QS9KOG9rQmhCOztBK0p4b2tCSTtFQUNJO0EvSjJva0JSOztBZ0sxcWtCSTs7Ozs7RUFLSTtBaEs2cWtCUjs7QWdLeHFrQkk7RTVKWkksc0Y0SmF3QjtFQUN4QjtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQSw2Q3ZIYnVCO0F6Q3dya0IvQjtBZ0t6cWtCUTs7O0VBR0k7QWhLMnFrQlo7QWdLdnFrQlE7O0VBRUk7RUFDQTtFQUNBO0VBQ0E7QWhLeXFrQlo7O0FnS3Rxa0JJO0U1SjNDSSx3RzRKNEN3QjtFQUN4QjtFQUNBO0VBQ0E7RUFDQTtBaEt5cWtCUjs7QWdLcnFrQkk7RUFBcUI7QWhLeXFrQnpCOztBZ0t4cWtCSTtFQUFtQjtBaEs0cWtCdkI7O0FnS3pxa0JJO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBaEs0cWtCUjs7QWdLdnFrQkk7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FoSzBxa0JSOztBZ0t2cWtCYTtFQUNMO0FoSzBxa0JSOztBZ0t0cWtCSTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QWhLeXFrQlI7QWdLdnFrQlE7O0VBRUk7QWhLeXFrQlo7O0FnS25xa0JJO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FoS3Nxa0JSOztBZ0tqcWtCSTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0FoS29xa0JSO0FnS2xxa0JRO0VBQ0k7QWhLb3FrQlo7QWdLanFrQlE7O0VBRUk7QWhLbXFrQlo7QWdLaHFrQlE7RUFDSTtBaEtrcWtCWjs7QWdLN3BrQkk7RUFDSTtFQUNBO0VBQ0E7RUFDQTtBaEtncWtCUjs7QWdLN3BrQkk7RUFDSTtFQUNBO0FoS2dxa0JSOztBZ0s1cGtCSTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FoSytwa0JSOztBZ0s1cGtCSTs7RUFFSTtBaEsrcGtCUjs7QWdLNXBrQkk7O0VBRUk7QWhLK3BrQlI7O0FnSzVwa0JJO0VBQ0k7RUFDQTtFQUNBO0FoSytwa0JSOztBZ0szcGtCSTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FoSzhwa0JSOztBZ0szcGtCSTtFQUNJO0FoSzhwa0JSOztBZ0sxcGtCSTtFQUNJO0VBQ0E7RUFDQTtFQUNBLGlDQzNLYztFRDRLZDtBaEs2cGtCUjtBZ0szcGtCUTtFQUNJO0FoSzZwa0JaOztBZ0t2cGtCSTtFQUNJO0VBQ0E7RUFDQTtFQUNBLGlDQ3pMYztFRDBMZDtBaEswcGtCUjtBZ0t4cGtCUTtFQUNJO0FoSzBwa0JaOztBZ0t0cGtCSTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QWhLeXBrQlI7QWdLdnBrQlE7RTVKck9BLDZENEpzTzRCO0VBQ3hCO0VBQ0E7RUFDQTtBaEt5cGtCWjtBZ0t2cGtCWTtFQUNJO0FoS3lwa0JoQjtBZ0t0cGtCWTtFQUNJO0FoS3dwa0JoQjtBZ0twcGtCUTtFQUVJO0VBQ0EsdUJuRDVQWTtFbUQ2UFo7QWhLcXBrQlo7O0FnSy9va0JJO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7QWhLa3BrQlI7QWdLaHBrQlE7RTVKcFFBLGdCNEpxUTRCO0VBQ3hCO0FoS2twa0JaO0FnS2hwa0JRO0VBQ0k7QWhLa3BrQlo7QWdLN29rQlE7RTVKblBBLCtGNEpvUGlDO0U1Sm5QakMsa0c0Sm1QaUM7QWhLZ3BrQnpDO0FnSzlva0JRO0U1SnBRQSxnRzRKcVFrQztFNUpwUWxDLG1HNEpvUWtDO0FoS2lwa0IxQztBZ0svb2tCUTtFNUpwUkEsc0Y0SnFSNEI7QWhLaXBrQnBDOztBZ0s3b2tCSTtFQUNJO0FoS2dwa0JSOztBZ0s3b2tCSTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FoS2dwa0JSOztBZ0s3b2tCSTtFQUNJO0VBQ0E7RUFDQTtBaEtncGtCUjs7QWdLOW9rQkk7RUFDSTtFQUNBO0VBQ0E7QWhLaXBrQlI7O0FnSy9va0JJO0VBQ0k7RUFDQTtFQUNBO0FoS2twa0JSOztBZ0tocGtCSTtFQUNJO0VBQ0E7RUFDQTtBaEttcGtCUjs7QWdLL29rQks7RXhKOVRHLDJFd0orVEE7QWhLa3BrQlI7O0FnSzdva0JJO0V4SnBVSSxnQndKcVVBO0FoS2dwa0JSOztBa0tsOWtCSTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBRUE7RUFDQTtFQUNBO0UxSlhBLG9EMEphQTtBbEttOWtCUjtBa0tqOWtCUTtFQUNJO0VBQ0E7QWxLbTlrQlo7QWtLaDlrQlE7RUFFSTtFQUNBO0VBQ0E7RUFDQTtBbEtpOWtCWjtBa0s5OGtCUTtFQUNJO0FsS2c5a0JaOztBa0sxOGtCSTtFQUNJO0FsSzY4a0JSOztBa0t4OGtCSTtFNUp6Q0ksc0Q0SjZDSTtFNUoxQ0osZ0Y0SndDSTtFNUpyQ0osc0Q0SnNDSTtBbEsyOGtCWjs7QWtLcDhrQkk7RTVKbkRJLHNENEp1REk7RTVKcERKLDZDNEprREk7RTVKL0NKLHNENEpnREk7QWxLdThrQlo7O0FrS2g4a0JJOztFQUVJO0FsS204a0JSOztBa0s5N2tCSTtFQUNJO0FsS2k4a0JSOztBa0t0N2tCUTtFQUNJO0VBQ0E7RUFDQTtBbEt5N2tCWjtBa0t2N2tCWTtFQUNJO0FsS3k3a0JoQjs7QWtLLzdrQlE7RUFDSTtFQUNBO0VBQ0E7QWxLazhrQlo7QWtLaDhrQlk7RUFDSTtBbEtrOGtCaEI7O0FrS3g4a0JRO0VBQ0k7RUFDQTtFQUNBO0FsSzI4a0JaO0FrS3o4a0JZO0VBQ0k7QWxLMjhrQmhCOztBa0tqOWtCUTtFQUNJO0VBQ0E7RUFDQTtBbEtvOWtCWjtBa0tsOWtCWTtFQUNJO0FsS285a0JoQjs7QWtLMTlrQlE7RUFDSTtFQUNBO0VBQ0E7QWxLNjlrQlo7QWtLMzlrQlk7RUFDSTtBbEs2OWtCaEI7O0FrS245a0JZO0UxSmhHSiwyRTBKaUdRO0FsS3M5a0JoQjs7QWtLLzhrQkk7RTVKeEdJLHFCNEoyR2E7RTVKckdiLHlCNEpvR1M7RTFKMUdULG1CMEo4R0E7QWxLKzhrQlI7O0FtSzNqbEJJO0UvSkRJLHlGK0pFd0I7RUFDeEI7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0EsNkMxSEZ1QjtBekNna2xCL0I7QW1LNWpsQlE7OztFQUdJO0FuSzhqbEJaO0FtSzNqbEJRO0VBQ0k7QW5LNmpsQlo7O0FtS3hqbEJJO0VBQ0k7RUFDQTtFQUNBO0FuSzJqbEJSOztBbUt2amxCSTtFQUVJO0VBQ0E7RUFDQTtFQUNBO0FuS3lqbEJSOztBbUtyamxCSTtFQUNJO0VBQ0E7RUFDQTtBbkt3amxCUjtBbUt0amxCaUI7RUFDTDtBbkt3amxCWjs7QW1LbmpsQkk7RUFDSTtFQUNBO0VBQ0E7RUFDQTtBbktzamxCUjs7QW1LbGpsQkk7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QW5LcWpsQlI7QW1LbmpsQlE7RUFDSTtFQUNBO0VBQ0E7QW5LcWpsQlo7QW1LbGpsQlE7RUFDSTtFQUNBO0VBQ0E7QW5Lb2psQlo7QW1LampsQlE7RUFDSTtFQUNBO0VBQ0E7QW5LbWpsQlo7QW1LaGpsQlE7RUFDSTtFQUNBO0VBQ0E7QW5La2psQlo7O0FvSzlvbEJJO0U1SkZJLDhFNEpHQTtFOUpIQSxpRjhKUUk7RTlKTEosc0U4SkdJO0U5SkFKLDZFOEpDSTtBcEtncGxCWjs7QW9LMW9sQkk7RUFDSTtFQUNBO0FwSzZvbEJSOztBb0t6b2xCSTtFOUpuQkksd0Y4SnVCSTtFOUpwQkosNkU4SmtCSTtFOUpmSixvRjhKZ0JJO0FwSzRvbEJaOztBb0t0b2xCSTtFOUo1QkkscUI4SitCYTtFOUp6QmIseUI4SndCUztFNUo5QlQsbUI0SmtDQTtBcEtzb2xCUjs7QXFLcnFsQkk7O0VBRUk7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FyS3dxbEJSO0FxS3RxbEJROztFQUNJO0FyS3lxbEJaO0FxS3RxbEJROztFQUNJO0FyS3lxbEJaOztBcUt0cWxCSTtFQUNJO0VBQ0E7QXJLeXFsQlI7O0FxS3ZxbEJJO0VBQ0k7RUFDQTtBckswcWxCUjs7QXFLdHFsQkk7RUFDSTtFQUNBO0FyS3lxbEJSOztBcUt2cWxCSTtFQUNJO0VBQ0E7QXJLMHFsQlI7O0FxS3RxbEJJO0VBQ0k7QXJLeXFsQlI7O0FzS2h0bEJJO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBdEttdGxCUjtBc0tqdGxCUTs7O0VBR0k7QXRLbXRsQlo7O0FzSy9zbEJJO0VBQ0k7QXRLa3RsQlI7O0FzSy9zbEJJO0VBQ0k7QXRLa3RsQlI7O0FzSzlzbEJJO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0F0S2l0bEJSO0FzSy9zbEJRO0VBQ0k7QXRLaXRsQlo7QXNLOXNsQlE7RUFFSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBdEsrc2xCWjtBc0s1c2xCUTtFQUNJO0VBQ0E7QXRLOHNsQlo7QXNLM3NsQlE7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QXRLNnNsQlo7O0FzSzFzbEJJO0VBQ0k7QXRLNnNsQlI7O0FzSzFzbEJJO0VBQ0k7RUFDQTtFQUNBO0F0SzZzbEJSOztBc0t6c2xCSTtFQUNJO0F0SzRzbEJSOztBc0t4c2xCSTtFQUNJO0F0SzJzbEJSOztBc0t2c2xCSTtFQUNJO0VBQ0E7QXRLMHNsQlI7O0F1Szl6bEJJO0VBQ0k7RUFDQTtFQUNBO0VBRUE7RUFDQTtFQUNBO0F2S2cwbEJSOztBdUs3emxCSTtFQUNJO0VBQ0E7RUFDQTtFQUVBO0VBQ0E7RUFDQTtBdksremxCUjtBdUs3emxCUTtFQUVJO0VBQ0E7RUFDQTtBdks4emxCWjtBdUszemxCUTtFQUVJO0F2SzR6bEJaO0F1S3p6bEJRO0VBQ0k7RUFDQTtFQUNBO0F2SzJ6bEJaO0F1S3h6bEJRO0VBRUk7RUFDQTtFQUNBO0F2S3l6bEJaOztBdUtqeWxCWTtFQUNJO0VBQ0E7RUFDQTtFQUVBO0VBQ0E7RUFDQTtFQUNBO0VBRUE7RUFDQTtFQUNBO0VBRUE7RUFDQTtFQUNBO0F2S2l5bEJoQjs7QXVLanpsQlk7RUFDSTtFQUNBO0VBQ0E7RUFFQTtFQUNBO0VBQ0E7RUFDQTtFQUVBO0VBQ0E7RUFDQTtFQUVBO0VBQ0E7RUFDQTtBdktpemxCaEI7O0F1S2owbEJZO0VBQ0k7RUFDQTtFQUNBO0VBRUE7RUFDQTtFQUNBO0VBQ0E7RUFFQTtFQUNBO0VBQ0E7RUFFQTtFQUNBO0VBQ0E7QXZLaTBsQmhCOztBdUtqMWxCWTtFQUNJO0VBQ0E7RUFDQTtFQUVBO0VBQ0E7RUFDQTtFQUNBO0VBRUE7RUFDQTtFQUNBO0VBRUE7RUFDQTtFQUNBO0F2S2kxbEJoQjs7QXVLajJsQlk7RUFDSTtFQUNBO0VBQ0E7RUFFQTtFQUNBO0VBQ0E7RUFDQTtFQUVBO0VBQ0E7RUFDQTtFQUVBO0VBQ0E7RUFDQTtBdktpMmxCaEI7O0F1S2ozbEJZO0VBQ0k7RUFDQTtFQUNBO0VBRUE7RUFDQTtFQUNBO0VBQ0E7RUFFQTtFQUNBO0VBQ0E7RUFFQTtFQUNBO0VBQ0E7QXZLaTNsQmhCOztBdUtqNGxCWTtFQUNJO0VBQ0E7RUFDQTtFQUVBO0VBQ0E7RUFDQTtFQUNBO0VBRUE7RUFDQTtFQUNBO0VBRUE7RUFDQTtFQUNBO0F2S2k0bEJoQjs7QXVLajVsQlk7RUFDSTtFQUNBO0VBQ0E7RUFFQTtFQUNBO0VBQ0E7RUFDQTtFQUVBO0VBQ0E7RUFDQTtFQUVBO0VBQ0E7RUFDQTtBdktpNWxCaEI7O0F1S2o2bEJZO0VBQ0k7RUFDQTtFQUNBO0VBRUE7RUFDQTtFQUNBO0VBQ0E7RUFFQTtFQUNBO0VBQ0E7RUFFQTtFQUNBO0VBQ0E7QXZLaTZsQmhCOztBdUtqN2xCWTtFQUNJO0VBQ0E7RUFDQTtFQUVBO0VBQ0E7RUFDQTtFQUNBO0VBRUE7RUFDQTtFQUNBO0VBRUE7RUFDQTtFQUNBO0F2S2k3bEJoQjs7QXVLajhsQlk7RUFDSTtFQUNBO0VBQ0E7RUFFQTtFQUNBO0VBQ0E7RUFDQTtFQUVBO0VBQ0E7RUFDQTtFQUVBO0VBQ0E7RUFDQTtBdktpOGxCaEI7O0F1S2o5bEJZO0VBQ0k7RUFDQTtFQUNBO0VBRUE7RUFDQTtFQUNBO0VBQ0E7RUFFQTtFQUNBO0VBQ0E7RUFFQTtFQUNBO0VBQ0E7QXZLaTlsQmhCOztBdUtqK2xCWTtFQUNJO0VBQ0E7RUFDQTtFQUVBO0VBQ0E7RUFDQTtFQUNBO0VBRUE7RUFDQTtFQUNBO0VBRUE7RUFDQTtFQUNBO0F2S2krbEJoQjs7QXVLai9sQlk7RUFDSTtFQUNBO0VBQ0E7RUFFQTtFQUNBO0VBQ0E7RUFDQTtFQUVBO0VBQ0E7RUFDQTtFQUVBO0VBQ0E7RUFDQTtBdktpL2xCaEI7O0F1S2pnbUJZO0VBQ0k7RUFDQTtFQUNBO0VBRUE7RUFDQTtFQUNBO0VBQ0E7RUFFQTtFQUNBO0VBQ0E7RUFFQTtFQUNBO0VBQ0E7QXZLaWdtQmhCOztBdUtqaG1CWTtFQUNJO0VBQ0E7RUFDQTtFQUVBO0VBQ0E7RUFDQTtFQUNBO0VBRUE7RUFDQTtFQUNBO0VBRUE7RUFDQTtFQUNBO0F2S2lobUJoQjs7QXVLamltQlk7RUFDSTtFQUNBO0VBQ0E7RUFFQTtFQUNBO0VBQ0E7RUFDQTtFQUVBO0VBQ0E7RUFDQTtFQUVBO0VBQ0E7RUFDQTtBdktpaW1CaEI7O0F1S2pqbUJZO0VBQ0k7RUFDQTtFQUNBO0VBRUE7RUFDQTtFQUNBO0VBQ0E7RUFFQTtFQUNBO0VBQ0E7RUFFQTtFQUNBO0VBQ0E7QXZLaWptQmhCOztBd0tqb21CSTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQSw2Qy9ISnVCO0F6Q3dvbUIvQjtBd0tsb21CUTs7O0VBR0k7QXhLb29tQlo7O0F3SzlubUJJOztFQUVJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBeEtpb21CUjs7QXdLOW5tQkk7RUFDSTtFQUNBO0F4S2lvbUJSOztBd0s1bm1CSTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBeEsrbm1CUjs7QXdLMW5tQkk7RUFDSTtBeEs2bm1CUjs7QXdLeG5tQkk7O0VwSzlESSx5RG9LZ0V3QjtFQUN4QjtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBeEsybm1CUjtBd0t6bm1CTzs7RUFDSztBeEs0bm1CWjtBd0t6bm1CTzs7O0VBRUs7RUFDQTtBeEs0bm1CWjs7QXdLeG5tQkk7O0VBRUk7QXhLMm5tQlI7O0F3S3hubUJJO0VBQ0k7RUFDQTtBeEsybm1CUjs7QXdLdG5tQkk7O0VBRUk7QXhLeW5tQlI7O0F3S3BubUJJO0VBQ0k7QXhLdW5tQlI7QXdLcm5tQlE7RUFDSTtBeEt1bm1CWjs7QXdLeG1tQlE7RUFDSTtFQUNBO0F4SzJtbUJaO0F3S3htbUJZOztFQUVJO0VBQ0E7QXhLMG1tQmhCO0F3S3RtbUJZO0VBQ0k7RUFDQTtBeEt3bW1CaEI7O0F3S3RubUJRO0VBQ0k7RUFDQTtBeEt5bm1CWjtBd0t0bm1CWTs7RUFFSTtFQUNBO0F4S3dubUJoQjtBd0twbm1CWTtFQUNJO0VBQ0E7QXhLc25tQmhCOztBd0twb21CUTtFQUNJO0VBQ0E7QXhLdW9tQlo7QXdLcG9tQlk7O0VBRUk7RUFDQTtBeEtzb21CaEI7QXdLbG9tQlk7RUFDSTtFQUNBO0F4S29vbUJoQjs7QXlLanhtQkk7RW5LRkkseURtS01JO0VuS0hKLHFFbUtDSTtFbktFSixnRm1LREk7QXpLb3htQlo7QXlLaHhtQlE7RWpLVEEsbUlpS1dJO0F6S2l4bUJaOztBeUszd21CSTtFbktqQkksOERtS3FCSTtFbktsQkosMEVtS2dCSTtFbktiSiw4RG1LY0k7QXpLOHdtQlo7QXlLendtQlE7RW5LekJBLDJGbUs4QlE7RW5LM0JSLDBGbUt5QlE7RW5LdEJSLHVGbUt1QlE7QXpLMHdtQmhCO0F5S3B3bUJRO0VuS25DQSxpR21Ld0NRO0VuS3JDUixvRm1LbUNRO0VuS2hDUiwyRm1LaUNRO0F6S3F3bUJoQjtBeUsvdm1CUTtFbksxQ0EsMEZtSzZDZ0I7RW5LMUNoQixvRW1LMkNhO0VqS2pEYix1R2lLbURJO0F6Szh2bUJaO0F5SzN2bUJZO0VuS2hESiw2Rm1La0Q0QjtBeks0dm1CcEM7QXlLdnZtQlE7RW5LMURBLHNGbUs2RDJCO0F6S3V2bUJuQztBeUtudm1CUTtFbktwRUEsdUVtS3dFUTtFbktyRVIsNkZtS21FUTtFbktoRVIsOEZtS2lFUTtBektxdm1CaEI7O0F5Szl1bUJJO0VuSzlFSSxtRW1La0ZJO0VuSy9FSiwrRW1LNkVJO0VuSzFFSixtRW1LMkVJO0F6S2l2bUJaO0F5SzV1bUJRO0VuS3RGQSxnR21LMkZRO0VuS3hGUiwrRm1Lc0ZRO0VuS25GUiw0Rm1Lb0ZRO0F6SzZ1bUJoQjtBeUt2dW1CUTtFbktoR0Esc0dtS3FHUTtFbktsR1IseUZtS2dHUTtFbks3RlIsZ0dtSzhGUTtBekt3dW1CaEI7QXlLbHVtQlE7RW5LdkdBLCtGbUswR2dCO0VuS3ZHaEIseUVtS3dHYTtFaks5R2IsNEdpS2dISTtBektpdW1CWjtBeUs5dG1CWTtFbks3R0osa0dtSytHNEI7QXpLK3RtQnBDO0F5SzF0bUJRO0VuS3ZIQSwyRm1LMEgyQjtBekswdG1CbkM7O0EwS3AxbUJJO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQSw2Q2pJVHVCO0F6Q2cybUIvQjtBMEtyMW1CUTs7O0VBR0k7QTFLdTFtQlo7O0EwS2gxbUJJO0VBQ0k7RUFDQTtFQUNBO0ExS20xbUJSOztBMEs5MG1CSTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBMUtpMW1CUjtBMEsvMG1CUTtFQUNJO0ExS2kxbUJaOztBMEszMG1CSTtFdEt6REksdURzSzJEd0I7QTFLNjBtQmhDOztBMEt4MG1CSTtFQUNJO0VBQ0E7RUFDQTtBMUsyMG1CUjtBMEt6MG1CUTs7RUFDSTtBMUs0MG1CWjs7QTBLejBtQkk7RUFDSTtFQUNBO0ExSzQwbUJSO0EwS3owbUJRO0VBQ0k7RUFDQTtBMUsyMG1CWjtBMEt4MG1CUTtFQUNJO0ExSzAwbUJaO0EwS3gwbUJZO0VBQ0k7QTFLMDBtQmhCOztBMEt6em1CSTtFQUVJO0ExSzJ6bUJSO0EwS3p6bUJROztFQUVJO0VBQ0E7QTFLMnptQlo7O0EwS3J6bUJJO0VBRUk7QTFLdXptQlI7QTBLcnptQlE7OztFQUVJO0ExS3d6bUJaO0EwS3J6bUJROztFQUVJO0ExS3V6bUJaOztBMEtqem1CSTtFQUVJO0VBQ0E7RUFDQTtFQUNBO0ExS216bUJSOztBMEs5eW1CSTtFQUNJO0VBQ0E7RUFDQTtBMUtpem1CUjs7QTBLeHltQlE7RUFDSTtFQUNBO0VBQ0E7QTFLMnltQlo7QTBLenltQlk7Ozs7RUFFSTtFQUNBO0ExSzZ5bUJoQjs7QTBLcnptQlE7RUFDSTtFQUNBO0VBQ0E7QTFLd3ptQlo7QTBLdHptQlk7Ozs7RUFFSTtFQUNBO0ExSzB6bUJoQjs7QTBLbDBtQlE7RUFDSTtFQUNBO0VBQ0E7QTFLcTBtQlo7QTBLbjBtQlk7Ozs7RUFFSTtFQUNBO0ExS3UwbUJoQjs7QTJLMyttQkk7RUFDSTtFQUNBO0VBQ0E7RXJLSkEsMERxS1NJO0VyS05KLGlEcUtJSTtFcktESiw4RHFLRUk7QTNLNittQlo7QTJLeittQlE7RUFFSTtFQUNBO0VBQ0E7QTNLMCttQlo7O0EyS3IrbUJJO0VBQ0k7QTNLdyttQlI7O0EyS24rbUJJO0VBQ0k7QTNLcyttQlI7O0E0S2hnbkJJO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQSw2Q25JQ3VCO0VtSUN2QjtFQUNBO0E1S2tnbkJSO0E0S2hnbkJROzs7RUFHSTtBNUtrZ25CWjtBNEs3L21CUTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QTVLKy9tQlo7QTRLei9tQlk7RUFDSTtBNUsyL21CaEI7QTRLci9tQlE7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBNUt1L21CWjtBNEtuL21CUTtFeEt0REEsZ0V3S3VENEI7RUFDeEI7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0E1S3EvbUJaO0E0S24vbUJZO0V4S3hFSixnRXdLeUVnQztFQUN4QjtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBNUtxL21CaEI7QTRLbC9tQlk7RXhLbkZKLG1Cd0tvRmdDO0VBQ3hCO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBNUtvL21CaEI7QTRLOSttQlk7O0VBQ0k7QTVLaS9tQmhCO0E0SzUrbUJZO0VBQ0k7QTVLOCttQmhCO0E0SzUrbUJnQjtFQUNJO0E1SzgrbUJwQjtBNEt2K21CUTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBNUt5K21CWjtBNEt2K21CUTtFeEs1SEEsNkZ3SzZINEI7RUFDeEI7RUFDQTtFQUNBO0E1S3krbUJaO0E0S3YrbUJRO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBNUt5K21CWjtBNEt2K21CUTtFQUNJO0E1S3krbUJaO0E0S3QrbUJRO0VBQ0k7QTVLdyttQlo7QTRLbittQlE7RUFDSTtFQUNBO0VBQ0E7QTVLcSttQlo7QTRLaittQlE7O0VBRUk7QTVLbSttQlo7QTRLaittQlk7O0VBQWU7QTVLcSttQjNCO0E0S24rbUJZOztFQUNJO0E1S3MrbUJoQjtBNEtuK21CWTs7RUFDSTtBNUtzK21CaEI7QTRLaCttQlE7RUFDSTtFQUNBO0VBQ0E7QTVLayttQlo7QTRLLzltQlE7RUFDSTtBNUtpK21CWjtBNEs5OW1CUTtFQUNJO0E1S2crbUJaOztBNEsxOW1CSTtFQUNJO0VBQ0E7QTVLNjltQlI7QTRLMzltQlE7RUFDSTtFQUNBO0E1SzY5bUJaO0E0SzE5bUJRO0VBQ0k7RUFDQTtFQUNBO0E1SzQ5bUJaO0E0S3g5bUJRO0VBQ0k7QTVLMDltQlo7QTRLeDltQlE7RUFDSTtBNUswOW1CWjtBNEt0OW1CUTtFQUNJO0VBQ0E7RUFDQTtBNUt3OW1CWjs7QTRLbjltQkk7RUFDSTtBNUtzOW1CUjtBNEtwOW1CUTtFQUNJO0E1S3M5bUJaO0E0S2w5bUJRO0VBQ0k7QTVLbzltQlo7QTRLbDltQlE7RUFDSTtBNUtvOW1CWjtBNEsvOG1CUTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0E1S2k5bUJaO0E0Szc4bUJRO0VBQ0k7RUFDQTtFQUNBO0E1Sys4bUJaO0E0SzU4bUJRO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBNUs4OG1CWjs7QTZLaHRuQkk7RXZLRkksc0R1S01JO0V2S0hKLHNFdUtDSTtFdktFSixzRHVLREk7QTdLbXRuQlo7QTZLenNuQmdCO0VBQ0k7QTdLMnNuQnBCO0E2S3hzbkJnQjtFdktuQlIsNkZ1S3VCZ0I7RXZLcEJoQixrRnVLa0JnQjtFdktmaEIseUZ1S2dCZ0I7QTdLMHNuQnhCO0E2S2pzbkJnQjs7RXJLL0JSLDZJcUtnQ1k7QTdLb3NuQnBCO0E2SzdybkJnQjtFdkt2Q1IsbUd1SzRDb0I7RXZLekNwQix3RnVLdUNvQjtFdktwQ3BCLHlEdUtxQ29CO0E3SzhybkI1QjtBNksxcm5Cd0I7RUFDSTtBN0s0cm5CNUI7QTZLanJuQmdCO0V2S3hEUixvRnVLeURtQztBN0ttcm5CM0M7QTZLL3FuQlE7RXZLaEVBLHVGdUtvRVE7RXZLakVSLGdGdUsrRFE7RXZLNURSLHVGdUs2RFE7QTdLaXJuQmhCO0E2SzdxbkJRO0VyS3ZFQSx5SXFLd0VJO0E3SytxbkJaO0E2SzdxbkJRO0V2SzFFQSxvRHVLOEVRO0V2SzNFUiwyQ3VLeUVRO0V2S3RFUix3RHVLdUVRO0E3SytxbkJoQjtBNkt0cW5CWTtFdkt0RkosNkZ1SzBGWTtFdkt2RlosdUZ1S3FGWTtFdktsRlosNkZ1S21GWTtBN0t3cW5CcEI7QTZLOXBuQmdCO0V2S25HUix5R3VLdUdnQjtFdktwR2hCLDZGdUtrR2dCO0V2Sy9GaEIseUd1S2dHZ0I7QTdLZ3FuQnhCO0E2S3JwbkJnQjtFdktqSFIsd0d1S3NIb0I7RXZLbkhwQiw2RnVLaUhvQjtFdks5R3BCLHlEdUsrR29CO0E3S3NwbkI1QjtBNktscG5Cd0I7RUFDSTtBN0tvcG5CNUI7QTZLem9uQmdCO0V2S2xJUixvRnVLbUltQztBN0syb25CM0M7QTZLbG9uQlk7RXZLL0lKLHVHdUttSlk7RXZLaEpaLDBGdUs4SVk7RXZLM0laLHVHdUs0SVk7QTdLb29uQnBCO0E2SzFubkJnQjtFdks1SlIsNEd1S2dLZ0I7RXZLN0poQixnR3VLMkpnQjtFdkt4SmhCLDRHdUt5SmdCO0E3SzRubkJ4QjtBNktqbm5CZ0I7RXZLMUtSLDJHdUsrS29CO0V2SzVLcEIsZ0d1SzBLb0I7RXZLdktwQix5RHVLd0tvQjtBN0trbm5CNUI7QTZLOW1uQndCO0VBQ0k7QTdLZ25uQjVCO0E2S2xtbkJRO0V2SzlMQSwrQ3VLK0wyQjtBN0tvbW5CbkM7QTZLbG1uQlE7RXZLak1BLDhGdUtrTTJCO0E3S29tbkJuQztBNktsbW5CUTtFdktwTUEsMEZ1S3FNMkI7QTdLb21uQm5DO0E2S2htbkJZO0V2S3pNSiwwRnVLME0rQjtBN0trbW5CdkM7QTZLNWxuQmdCO0V2S2hOUiwwRnVLaU5tQztBN0s4bG5CM0M7QTZLeGxuQlE7RUFDSTtBN0swbG5CWjs7QThLanpuQkk7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0E5S296bkJSOztBOEsveW5CSTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBLDZDckloQnVCO0F6Q2swbkIvQjs7QThLaHpuQkk7RUFDSTtBOUttem5CUjs7QThLOXluQkk7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QTlLaXpuQlI7O0E4SzV5bkJJO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBLG1DQ3FCa0I7QS9LMHhuQjFCO0E4Szd5bkJROzs7RUFHSTtBOUsreW5CWjtBOEs1eW5CUTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0E5Szh5bkJaO0E4SzN5bkJZO0VBR0k7QTlLMnluQmhCO0E4S3Z5bkJRO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7QTlLeXluQlo7QThLdHluQlE7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBOUt3eW5CWjtBOEsxeG5CSTs7RUFFSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0E5SzR4bkJSO0E4SzF4bkJROzs7RUFFSTtBOUs2eG5CWjs7QThLdnhuQkk7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUdBO0E5S3d4bkJSO0E4S3R4bkJRO0VBQ0k7RUFDQTtBOUt3eG5CWjs7QThLaHhuQlk7RUFDSTtFQUNBO0VBQ0E7QTlLbXhuQmhCO0E4S2p4bkJnQjtFQUNJO0E5S214bkJwQjtBOEtqeG5Cb0I7RUFDSTtBOUtteG5CeEI7QThLNXduQmdCO0VBQ0k7QTlLOHduQnBCO0E4S3h3bkJnQjtFQUNJO0E5SzB3bkJwQjs7QThLbHduQlk7RUFFSTtFQUNBO0VBQ0E7QTlLb3duQmhCO0E4Szd2bkJnQjtFQUVJO0VBQ0E7QTlLOHZuQnBCO0E4SzV2bkJnQjtFQUNJO0E5Szh2bkJwQjtBOEszdm5CZ0I7RUFDSTtBOUs2dm5CcEI7QThLcnZuQmdCO0VBRUk7QTlLc3ZuQnBCO0E4S3B2bkJnQjtFQUNJO0E5S3N2bkJwQjtBOEtudm5CZ0I7RUFDSTtBOUtxdm5CcEI7QThLOXVuQmdCO0VBQ0k7QTlLZ3ZuQnBCO0E4S3p1bkJnQjtFQUNJO0E5SzJ1bkJwQjs7QThLcHVuQkk7RUFDSTtBOUt1dW5CUjs7QThLcnVuQkk7RUFDSTtBOUt3dW5CUjs7QThLbHVuQlE7RUFFSTtBOUtvdW5CWjtBOEtsdW5CWTtFQUNJO0E5S291bkJoQjtBOEtsdW5CZ0I7RUFDSTtBOUtvdW5CcEI7O0E4Szd0bkJRO0VBRUk7QTlLK3RuQlo7QThLN3RuQlk7RUFDSTtBOUsrdG5CaEI7QThLN3RuQmdCO0VBQ0k7QTlLK3RuQnBCOztBOEsxdG5CSTtFQUNJO0E5SzZ0bkJSO0E4SzN0bkJRO0VBRUk7QTlLNHRuQlo7QThLMXRuQlk7RUFDSTtBOUs0dG5CaEI7QThLenRuQlk7RUFDSTtBOUsydG5CaEI7O0E4S3R0bkJJO0VBQ0k7QTlLeXRuQlI7QThLdnRuQlE7RUFFSTtBOUt3dG5CWjtBOEt0dG5CWTtFQUNJO0E5S3d0bkJoQjtBOEtydG5CWTtFQUNJO0E5S3V0bkJoQjs7QThLaHRuQkk7RUFDSTtBOUttdG5CUjs7QThLanRuQkk7RUFDSTtBOUtvdG5CUjs7QThLbHRuQkk7RUFDSTtBOUtxdG5CUjs7QThLbnRuQkk7RUFDSTtBOUtzdG5CUjs7QThLcHRuQkk7RUFDSTtBOUt1dG5CUjs7QThLL3NuQlk7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0E5S2t0bkJoQjtBOEtodG5CWTs7O0VBR0k7RUFDQTtBOUtrdG5CaEI7QThLL3NuQlk7RUFDSTtBOUtpdG5CaEI7O0E4SzNzbkJRO0VBQ0k7QTlLOHNuQlo7O0E4SzVzbkJRO0VBQ0k7QTlLK3NuQlo7O0E4SzdzbkJRO0VBQ0k7QTlLZ3RuQlo7O0E4SzlzbkJRO0VBQ0k7QTlLaXRuQlo7O0E4SzNzbkJZO0VBQ0k7QTlLOHNuQmhCOztBOEtqc25CWTs7O0VBQ0k7QTlLc3NuQmhCO0E4S25zbkJZOzs7RUFBZTtBOUt3c25CM0I7QThLdnNuQlk7OztFQUF3QjtBOUs0c25CcEM7O0E4Sy9ybkJZO0VBQ0ksMENBUEs7RUFRTCw2Q0FQTztFQVFQLGtEQU5VO0VBT1YsOENBUlU7QTlLMHNuQjFCO0E4SzlybkJnQjtFQUVJO0E5SytybkJwQjs7QThLenNuQlk7RUFDSSwwQ0FQSztFQVFMLDZDQVBPO0VBUVAsOENBTlU7RUFPViw4Q0FSVTtBOUtvdG5CMUI7QThLeHNuQmdCO0VBRUk7QTlLeXNuQnBCOztBOEtudG5CWTtFQUNJLDBDQVBLO0VBUUwsNkNBUE87RUFRUCxrREFOVTtFQU9WLDhDQVJVO0E5Szh0bkIxQjtBOEtsdG5CZ0I7RUFFSTtBOUttdG5CcEI7O0FnTHRvb0JJO0UxS0ZJLDJEMEtNSTtFMUtISixrRDBLQ0k7RTFLRUosK0QwS0RJO0FoTHlvb0JaOztBZ0xub29CSTtFMUtYSSx1RDBLZUk7RTFLWkosdUUwS1VJO0UxS1BKLHVEMEtRSTtBaExzb29CWjtBZ0xsb29CUTtFMUtsQkEsNEQwS3NCUTtFMUtuQlIsNEUwS2lCUTtFMUtkUiw0RDBLZVE7QWhMb29vQmhCO0FnTGhvb0JZO0UxS3pCSixxRjBLOEJZO0UxSzNCWiw4RTBLeUJZO0UxS3RCWixxRjBLdUJZO0FoTGlvb0JwQjtBZ0w1bm9CWTtFeEtsQ0osOEd3S29DUTtBaEw2bm9CaEI7QWdMMW5vQlk7RTFLcENKLDJGMEt3Q29CO0UxS3JDcEIsZ0cwS3NDaUI7QWhMeW5vQnpCO0FnTHRub0JnQjtFMUt6Q1IscUYwSzRDcUI7QWhMc25vQjdCO0FnTGhub0JZO0UxS3hESiwrRjBLOERZO0UxSzNEWixvRjBLeURZO0UxS3REWiw4RDBLdURZO0FoTGdub0JwQjtBZ0wzbW9CWTtFMUsvREosb0YwS2dFK0I7QWhMNm1vQnZDOztBZ0x0bW9CSTs7RTFLMUVJLCtEMEsrRUk7RTFLNUVKLCtFMEswRUk7RTFLdkVKLDBGMEt3RUk7QWhMeW1vQlo7QWdMcm1vQlE7OztFQUVJO0FoTHdtb0JaOztBZ0xqbW9CWTtFQUNJO0FoTG9tb0JoQjs7QWdMMWxvQmdCO0VBQ0k7QWhMNmxvQnBCO0FnTDFsb0JnQjtFQUNJO0FoTDRsb0JwQjtBZ0xwbG9CZ0I7RUFDSTtBaExzbG9CcEI7QWdMbmxvQmdCO0VBQ0k7QWhMcWxvQnBCOztBZ0wxa29CZ0I7RUFDSTtBaEw2a29CcEI7QWdMMWtvQmdCO0VBQ0k7QWhMNGtvQnBCOztBaUxudG9CSTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBakxzdG9CUjtBaUxwdG9CUTtFQUNJO0VBQ0E7RUFDQTtBakxzdG9CWjtBaUxudG9CUTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QWpMcXRvQlo7QWlMbnRvQlk7RUFFSTtFQUNBO0VBQ0E7QWpMb3RvQmhCO0FpTGh0b0JRO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7QWpMa3RvQlo7QWlML3NvQlE7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBakxpdG9CWjtBaUwvc29CWTtFQUNJO0FqTGl0b0JoQjtBaUw5c29CWTtFQUNJO0FqTGd0b0JoQjtBaUwzc29CWTtFQUNJO0FqTDZzb0JoQjtBaUx2c29CZ0I7RUFDSTtBakx5c29CcEI7QWlMcnNvQlk7RUFDSTtBakx1c29CaEI7O0FpTGxzb0JJO0VBQ0k7QWpMcXNvQlI7QWlMbnNvQlE7RUFDSTtBakxxc29CWjtBaUxsc29CUTs7RUFFSTtBakxvc29CWjs7QWlMOXJvQlE7RUFDSTtBakxpc29CWjtBaUw5cm9CUTtFQUNJO0FqTGdzb0JaO0FpTDdyb0JRO0VBQ0k7QWpMK3JvQlo7O0FpTDNyb0JJO0VBQ0k7QWpMOHJvQlI7QWlMNXJvQlE7RUFDSTtFQUNBO0FqTDhyb0JaOztBa0xuem9CUTtFNUtDQSw2RTRLQ1E7RTVLRVIsb0Y0S0RRO0FsTHF6b0JoQjtBa0xqem9CUTtFQUVJO0FsTGt6b0JaOztBbUwzem9CSTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBLDZDMUlEdUI7QXpDK3pvQi9CO0FtTDV6b0JROzs7RUFHSTtBbkw4em9CWjtBbUwzem9CUTtFQUNJO0FuTDZ6b0JaO0FtTDN6b0JRO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBbkw2em9CWjs7QW1MeHpvQkk7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QW5MMnpvQlI7O0FtTHZ6b0JJO0VBQ0k7QW5MMHpvQlI7O0FtTHR6b0JJO0VBQ0k7QW5MeXpvQlI7O0FtTHJ6b0JJO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7QW5Md3pvQlI7O0FtTHB6b0JJO0VBQ0k7RUFDQTtBbkx1em9CUjs7QW1MbnpvQkk7O0VBRUk7QW5Mc3pvQlI7O0FtTG56b0JJO0VBQ0k7QW5Mc3pvQlI7O0FvTHA0b0JJO0U5S0RJLGtGOEtLSTtFOUtGSjtFQUdBLCtFOEtGSTtBcEx1NG9CWjtBb0xuNG9CUTtFQUNJO0FwTHE0b0JaO0FvTGw0b0JRO0VBQ0k7QXBMbzRvQlo7QW9MbDRvQlk7RUFDSTtBcExvNG9CaEI7QW9MaDRvQlE7RTlLakJBLCtFOEtvQmdCO0FwTGc0b0J4QjtBb0w3M29CWTs7Ozs7OztFOUt2QkosK0U4SzRCb0I7RTlLekJwQixzRjhLMEJpQjtBcExpNG9CekI7O0FvTDMzb0JJO0U5S25DSSw2RThLcUNJO0U5S2xDSiwwRDhLbUNJO0VBRUo7QXBMNDNvQlI7QW9MMTNvQlE7RUFFSTtBcEwyM29CWjs7QW9MdjNvQkk7RUFDSTtBcEwwM29CUjs7QW9MdjNvQkk7RUFDSTtBcEwwM29CUjs7QW9MdjNvQkk7RUFDSTtBcEwwM29CUjs7QXFMcjdvQkk7O0VqTEFJO0VpTEdBO0VBQ0EsaUJDRG1CO0VERW5CLG1CQ0NtQjtFREFuQjtBckx3N29CUjtBcUx0N29CUTs7RWpMRkEsOERrTE5vQjtFbExPcEIsK0RrTFBvQjtFaExEcEIsb0grS2NRO0UvS1hSLDhFK0tTUTtFL0tOUixvRitLT1E7RUFHSiw4Q0NMd0I7RURNeEIsOENDSHVCO0F0TDI3b0JuQztBcUx0N29CUTs7RUFDSSw4Q0NGeUI7RURHekI7QXJMeTdvQlo7O0F1TDc4b0JJOztFakxESSwrSWlMTUk7RWpMSEosdUdpTENJO0VqTEVKLDJHaUxESTtBdkxnOW9CWjs7QXVMMzhvQkk7RWpMVkksK0lpTGNJO0VqTFhKLHVHaUxTSTtFakxOSiwyR2lMT0k7QXZMODhvQlo7O0F3THo5b0JJO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQSw2Qy9JRnVCO0F6Qzg5b0IvQjtBd0wxOW9CUTs7O0VBR0k7QXhMNDlvQlo7QXdMdjlvQlE7RUFFSTtFQUNBO0VBQ0E7RUFDQTtBeEx3OW9CWjtBd0x0OW9CWTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBeEx3OW9CaEI7QXdMdDlvQmdCO0VBQ0k7QXhMdzlvQnBCO0F3THQ5b0JvQjtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QXhMdzlvQnhCO0F3TGw5b0JRO0VBQ0k7QXhMbzlvQlo7QXdMaDlvQlE7RUFDSTtFQUNBO0F4TGs5b0JaO0F3TDc4b0JRO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QXhMKzhvQlo7QXdMNThvQlE7RUFDSTtBeEw4OG9CWjtBd0w1OG9CWTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QXhMODhvQmhCO0F3TDU4b0JnQjtFQUNJO0F4TDg4b0JwQjtBd0w1OG9Cb0I7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0F4TDg4b0J4QjtBd0x2OG9CZ0I7RUFDSTtFQUNBO0F4THk4b0JwQjtBd0x4OG9Cb0I7RUFDSTtBeEwwOG9CeEI7QXdMdjhvQm9CO0VBQ0k7QXhMeThvQnhCO0F3TGo5b0JnQjtFQUNJO0VBQ0E7QXhMbTlvQnBCO0F3TGw5b0JvQjtFQUNJO0F4TG85b0J4QjtBd0xqOW9Cb0I7RUFDSTtBeExtOW9CeEI7QXdMMzlvQmdCO0VBQ0k7RUFDQTtBeEw2OW9CcEI7QXdMNTlvQm9CO0VBQ0k7QXhMODlvQnhCO0F3TDM5b0JvQjtFQUNJO0F4TDY5b0J4QjtBd0xyK29CZ0I7RUFDSTtFQUNBO0F4THUrb0JwQjtBd0x0K29Cb0I7RUFDSTtBeEx3K29CeEI7QXdMcitvQm9CO0VBQ0k7QXhMdStvQnhCO0F3TGgrb0JRO0VBQ0k7QXhMaytvQlo7QXdMOTlvQlE7OztFQUdJO0F4TGcrb0JaOztBeUwvbXBCSTtFbkxBSSxrRm1MSUk7RW5MREosdUVtTERJO0VuTElKLDhFbUxISTtBekxrbnBCWjtBeUwxbXBCWTtFQUNJO0VBQ0E7RUFDQTtBekw0bXBCaEI7QXlMem1wQmdCO0VBRUk7RUFDQTtFQUNBO0F6TDBtcEJwQjtBeUx2bXBCZ0I7RUFDSTtFQUNBO0VBQ0E7QXpMeW1wQnBCO0F5THBtcEJZO0VBQ0k7RUFDQTtFQUNBO0VuTG5DUixvRW1Md0NZO0VuTHJDWiwyRG1MbUNZO0VuTGhDWixvRW1MaUNZO0F6THFtcEJwQjtBeUxqbXBCZ0I7O0VBRUk7QXpMbW1wQnBCO0F5TC9scEJnQjtFQUVJO0VBQ0E7RUFDQTtBekxnbXBCcEI7QXlMNWxwQmdCO0VBRUk7RUFDQTtFQUNBO0VBRUE7QXpMNGxwQnBCO0F5THpscEJvQjtFQUVJO0VBQ0E7RUFDQTtBekwwbHBCeEI7QXlMcmxwQmdCO0VBQ0k7RUFDQTtFQUNBO0F6THVscEJwQjtBeUxybHBCb0I7O0VBRUk7QXpMdWxwQnhCO0F5THBscEJvQjtFQUNJO0F6THNscEJ4QjtBeUxsbHBCb0I7RUFFSTtFQUNBO0VBQ0E7QXpMbWxwQnhCO0F5TC9rcEJvQjtFQUVJO0VBQ0E7RUFDQTtBekxnbHBCeEI7QXlMN2twQndCO0VBRUk7RUFDQTtFQUNBO0F6TDhrcEI1QjtBeUx6a3BCZ0I7RUFFSTtBekwwa3BCcEI7QXlMeGtwQm9COzs7RUFFSTtBekwya3BCeEI7QXlMdGtwQlk7RUFFSTtBekx1a3BCaEI7QXlMcmtwQmdCO0VBQ0k7QXpMdWtwQnBCO0F5THBrcEJnQjs7O0VBRUk7QXpMdWtwQnBCO0F5TDdqcEJZO0VuTGpKSixrRW1Mc0pZO0VuTG5KWix5RG1MaUpZO0VuTDlJWixrRW1MK0lZO0F6TDhqcEJwQjtBeUwxanBCZ0I7O0VBRUk7QXpMNGpwQnBCO0F5THpqcEJnQjtFQUVJO0VBQ0E7RUFDQTtBekwwanBCcEI7QXlMdmpwQmdCO0VBRUk7RUFDQTtFQUNBO0VBRUE7QXpMdWpwQnBCO0F5THJqcEJvQjtFQUVJO0VBQ0E7RUFDQTtBekxzanBCeEI7QXlMbGpwQmdCO0VBQ0k7RUFDQTtFQUNBO0F6TG9qcEJwQjtBeUxsanBCb0I7RUFDSTtBekxvanBCeEI7QXlMampwQm9CO0VBRUk7RUFDQTtFQUNBO0F6TGtqcEJ4QjtBeUwvaXBCb0I7RUFFSTtFQUNBO0VBQ0E7QXpMZ2pwQnhCO0F5TDdpcEJ3QjtFQUVJO0VBQ0E7RUFDQTtBekw4aXBCNUI7QXlMemlwQmdCO0VBQ0k7QXpMMmlwQnBCO0F5THppcEJvQjs7RUFFSTtBekwyaXBCeEI7QXlMdGlwQlk7RUFFSTtBekx1aXBCaEI7QXlMcmlwQmdCO0VBQ0k7QXpMdWlwQnBCO0F5THBpcEJnQjs7O0VBRUk7QXpMdWlwQnBCOztBMEw5d3BCSTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBMUxpeHBCUjtBMEw5d3BCUTtFQUNJO0VBQ0E7QTFMZ3hwQlo7QTBMOXdwQlE7RUFDSTtBMUxneHBCWjtBMEw5d3BCUTtFQUNJO0ExTGd4cEJaO0EwTDd3cEJRO0VBQ0k7RUFDQTtFQUNBO0ExTCt3cEJaOztBMEx4d3BCSTs7RUFFSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0ExTDJ3cEJSO0EwTHp3cEJROzs7O0VBRUk7RUFDQTtBMUw2d3BCWjs7QTBMeHdwQkk7RUFBbUM7QTFMNHdwQnZDOztBMEwzd3BCSTtFQUFpQztBMUwrd3BCckM7O0EwTDd3cEJJOztFQUVJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QTFMZ3hwQlI7O0EwTDl3cEJJOztFQUVJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QTFMaXhwQlI7O0EwTDl3cEJJO0VBQ0k7QTFMaXhwQlI7O0EwTC93cEJJO0VBQ0k7QTFMa3hwQlI7O0EwTC93cEJJO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7QTFMa3hwQlI7O0EwTC93cEJJO0VBQ0k7RUFDQTtBMUxreHBCUjs7QTBMNXdwQlE7O0VBQ0k7QTFMZ3hwQlo7O0EwTDV3cEJJO0VBQ0k7QTFMK3dwQlI7O0EwTDV3cEJJO0VBQ0k7QTFMK3dwQlI7O0EwTDV3cEJJO0VBQ0k7QTFMK3dwQlI7O0EwTDV3cEJJO0VBQ0k7QTFMK3dwQlI7O0EwTDV3cEJJO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7QTFMK3dwQlI7O0EwTDN3cEJRO0VBQ0k7RUFDQTtBMUw4d3BCWjtBMEwzd3BCUTtFQUNJO0VBQ0E7QTFMNndwQlo7O0EwTHZ3cEJJO0VBQ0k7RUFDQTtFQUNBO0ExTDB3cEJSO0EwTHh3cEJRO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QTFMMHdwQlo7QTBMdndwQlE7RUFDSTtFQUNBO0ExTHl3cEJaO0EwTHR3cEJRO0VBQ0k7QTFMd3dwQlo7QTBMcndwQlE7RUFDSTtFQUNBO0ExTHV3cEJaO0EwTGx3cEJZOzs7RUFHSTtFQUNBO0VBQ0E7QTFMb3dwQmhCO0EwTGh3cEJRO0VBQ0k7QTFMa3dwQlo7QTBMaHdwQlE7RUFDSTtBMUxrd3BCWjs7QTJMMTdwQkk7RXJMREksa0ZxTEtJO0VyTEZKO0VBR0EsOEVxTEZJO0EzTDY3cEJaOztBMkx2N3BCSTtFQUNJO0VBQ0E7QTNMMDdwQlI7O0EyTHg3cEJJOzs7O0VBSUk7RUFDQTtBM0wyN3BCUjs7QTJMejdwQkk7O0VBRUk7RUFDQTtBM0w0N3BCUjs7QTJMeDdwQkk7RUFDSTtBM0wyN3BCUjs7QTRMdjlwQkk7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQSw2Q25KR3VCO0F6Q3U5cEIvQjs7QTRMdjlwQkk7RUFDSTtFQUNBO0E1TDA5cEJSOztBNEx2OXBCSTtFeExsQkksa0d3TG1Cd0I7RUFDeEI7RUFDQTtFQUNBO0E1TDA5cEJSO0E0THg5cEJRO0VBQ0k7QTVMMDlwQlo7O0E0THQ5cEJJO0VBQ0k7QTVMeTlwQlI7O0E0THQ5cEJJO0VBQ0k7QTVMeTlwQlI7O0E2TDMvcEJJO0V2TEtJLGtGdUxIUztBN0w2L3BCakI7O0E2THovcEJJO0V2TFBJLDBGdUxVYTtFdkxKYiw0RXVMR1M7QTdMNC9wQmpCOztBNkJuL3BCZ0I7RUFLWTtBN0JrL3BCNUI7O0E2QjUrcEJnQjtFQUtZO0E3QjIrcEI1Qjs7QTZCMy9wQmdCO0VBS1k7QTdCMC9wQjVCOztBNkJwL3BCZ0I7RUFLWTtBN0JtL3BCNUI7O0E2Qm5ncUJnQjtFQUtZO0E3QmtncUI1Qjs7QTZCNS9wQmdCO0VBS1k7QTdCMi9wQjVCOztBNkIzZ3FCZ0I7RUFLWTtBN0IwZ3FCNUI7O0E2QnBncUJnQjtFQUtZO0E3Qm1ncUI1Qjs7QTZCbmhxQmdCO0VBS1k7QTdCa2hxQjVCOztBNkI1Z3FCZ0I7RUFLWTtBN0IyZ3FCNUI7O0E2QjNocUJnQjtFQUtZO0E3QjBocUI1Qjs7QTZCcGhxQmdCO0VBS1k7QTdCbWhxQjVCOztBNkJuaXFCZ0I7RUFLWTtBN0JraXFCNUI7O0E2QjVocUJnQjtFQUtZO0E3QjJocUI1Qjs7QTZCM2lxQmdCO0VBS1k7QTdCMGlxQjVCOztBNkJwaXFCZ0I7RUFLWTtBN0JtaXFCNUI7O0E2Qm5qcUJnQjtFQUtZO0E3QmtqcUI1Qjs7QTZCNWlxQmdCO0VBS1k7QTdCMmlxQjVCOztBNkIzanFCZ0I7RUFLWTtBN0IwanFCNUI7O0E2QnBqcUJnQjtFQUtZO0E3Qm1qcUI1Qjs7QTZCbmtxQmdCO0VBS1k7QTdCa2txQjVCOztBNkI1anFCZ0I7RUFLWTtBN0IyanFCNUI7O0E2QjNrcUJnQjtFQUtZO0E3QjBrcUI1Qjs7QTZCcGtxQmdCO0VBS1k7QTdCbWtxQjVCOztBNkJubHFCZ0I7RUFLWTtBN0JrbHFCNUI7O0E2QjVrcUJnQjtFQUtZO0E3QjJrcUI1Qjs7QTZCM2xxQmdCO0VBS1k7QTdCMGxxQjVCOztBNkJwbHFCZ0I7RUFLWTtBN0JtbHFCNUI7O0E2Qm5tcUJnQjtFQUtZO0E3QmttcUI1Qjs7QTZCNWxxQmdCO0VBS1k7QTdCMmxxQjVCOztBNkIzbXFCZ0I7RUFLWTtBN0IwbXFCNUI7O0E2QnBtcUJnQjtFQUtZO0E3Qm1tcUI1Qjs7QTZCbm5xQmdCO0VBS1k7QTdCa25xQjVCOztBNkI1bXFCZ0I7RUFLWTtBN0IybXFCNUI7O0E2QjNucUJnQjtFQUtZO0E3QjBucUI1Qjs7QTZCcG5xQmdCO0VBS1k7QTdCbW5xQjVCOztBNkJub3FCZ0I7RUFLWTtBN0Jrb3FCNUI7O0E2QjVucUJnQjtFQUtZO0E3QjJucUI1Qjs7QTZCM29xQmdCO0VBS1k7QTdCMG9xQjVCOztBNkJwb3FCZ0I7RUFLWTtBN0Jtb3FCNUI7O0E4TG5xcUJJO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0E5THNxcUJSOztBOExscXFCSTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0E5THFxcUJSO0E4TG5xcUJRO0VBQ0k7QTlMcXFxQlo7QThMbHFxQlE7RUFDSSwrQkNRVztFRFBYO0VBQ0E7QTlMb3FxQlo7O0E4TC9wcUJJO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBOUxrcXFCUjs7QThMOXBxQkc7O0VBRUs7RUFDQTtFQUNBO0E5TGlxcUJSO0E4TC9wcUJROztFQUNJO0VBQ0E7RUFDQTtBOUxrcXFCWjtBOEwvcHFCUTs7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0E5TGtxcUJaO0E4TC9wcUJROztFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0E5TGtxcUJaO0E4TC9wcUJROztFQUNJO0VBQ0E7RUFDQTtFQUNBO0E5TGtxcUJaO0E4TC9wcUJROztFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QTlMa3FxQlo7QThML3BxQlE7O0VBQ0k7RUFDQTtFQUNBO0VBQ0E7QTlMa3FxQlo7QThML3BxQlE7O0VBQ0k7RUFDQTtBOUxrcXFCWjtBOEwvcHFCUTs7RUFDSTtFQUNBO0VBQ0E7QTlMa3FxQlo7QThMaHFxQlE7O0VBQ0k7QTlMbXFxQlo7O0E4TDlwcUJJO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0E5TGlxcUJSO0E4TC9wcUJRO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBOUxpcXFCWjtBOEw5cHFCUTtFQUNJO0VBQ0E7RUFDQTtBOUxncXFCWjs7QThMM3BxQkk7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QTlMOHBxQlI7O0E4TDNwcUJJO0VBQ0k7QTlMOHBxQlI7O0FnTXR6cUJNO0VBQ0U7QWhNeXpxQlI7O0FnTXR6cUJJOztFQUVJO0FoTXl6cUJSO0FnTXZ6cUJROztFQUNJO0FoTTB6cUJaOztBZ010enFCSTtFQUNJO0VBQ0EsK0ZDcUR1QztBak1vd3FCL0M7O0FnTXJ6cUJJO0VBQ0k7RUFDQTtBaE13enFCUjs7QThMN3FxQkk7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0E5TGdycUJSOztBOEw3cXFCSTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QTlMZ3JxQlI7O0E4TDdxcUJJO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0E5TGdycUJSO0E4TDlxcUJRO0VBQ0k7QTlMZ3JxQlo7O0E4TDVxcUJJO0VBQ0k7QTlMK3FxQlI7O0E4TDdxcUJJO0VBQ0k7QTlMZ3JxQlI7O0E4TDlxcUJJO0VBQ0k7QTlMaXJxQlI7O0E4TC9xcUJJO0VBQ0k7QTlMa3JxQlI7O0E4TGhycUJJO0VBQ0k7QTlMbXJxQlI7O0FnTXYycUJJO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7QWhNMDJxQlI7QWdNeDJxQlE7RUFFSTtFQUNBO0FoTXkycUJaOztBa00xNHFCSTtFQUNJO0FsTTY0cUJSO0FrTTM0cUJRO0VBQ0k7QWxNNjRxQlo7O0FrTXg0cUJJOzs7RUFHSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0EsNkN6Slh1QjtBekNzNXFCL0I7O0FrTXg0cUJJOztFQUVJO0VBQ0E7QWxNMjRxQlI7O0FrTXg0cUJJO0VBQ0k7QWxNMjRxQlI7O0FrTXg0cUJJO0VBQ0k7QWxNMjRxQlI7O0FrTXg0cUJJOztFOUx6Q0kscUQ4TDJDd0I7RUFDeEI7QWxNMjRxQlI7O0FrTXg0cUJJOztFQUVJO0FsTTI0cUJSO0FrTXo0cUJROztFOUxuREEscUQ4TG9ENEI7RUFDeEI7RUFDQTtFQUNBO0FsTTQ0cUJaOztBa014NHFCSTtFQUNJO0VBQ0E7QWxNMjRxQlI7O0FrTXg0cUJJO0U5TGhFSSxxRDhMaUV3QjtFQUN4QjtFQUNBO0VBQ0E7RUFDQTtBbE0yNHFCUjs7QWtNeDRxQkk7RUFDSTtFQUNBO0VBQ0E7QWxNMjRxQlI7O0FrTXg0cUJJO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FsTTI0cUJSOztBa014NHFCSTs7RUFFSTtFQUNBO0FsTTI0cUJSOztBa014NHFCSTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0FsTTI0cUJSOztBa012NHFCSTtFQUNJO0VBQ0E7QWxNMDRxQlI7O0FrTXY0cUJJO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBbE0wNHFCUjs7QWtNdjRxQkk7RUFDSTtFQUNBO0VBQ0E7QWxNMDRxQlI7O0FrTXY0cUJJO0U5THhISSxrQjhMeUh3QjtFQUN4QjtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBbE0wNHFCUjs7QWtNdjRxQkk7RUFDSTtFQUNBO0FsTTA0cUJSOztBa012NHFCSTtFQUNJO0FsTTA0cUJSOztBa012NHFCSTtFQUNJO0FsTTA0cUJSOztBa012NHFCSTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0FsTTA0cUJSOztBa012NHFCSTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0FsTTA0cUJSOztBa012NHFCSTtFQUNJO0VBQ0E7QWxNMDRxQlI7O0FrTXY0cUJJO0VBQ0k7RUFDQTtBbE0wNHFCUjs7QWtNdjRxQkk7RUFDSTtFQUNBO0FsTTA0cUJSOztBa010NHFCSTtFQUNJO0FsTXk0cUJSOztBa010NHFCSTtFOUxsTEkscUQ4TG1Md0I7RUFDeEI7RUFDQTtBbE15NHFCUjs7QWtNdDRxQkk7RUFDSTtFQUNBO0VBQ0E7RUFDQTtBbE15NHFCUjs7QWtNcjRxQkk7O0VBRUk7RUFDQTtBbE13NHFCUjs7QWtNcjRxQkk7RUFDSTtFQUNBO0FsTXc0cUJSOztBa01yNHFCSTtFQUNJO0FsTXc0cUJSOztBa01yNHFCSTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBRUE7RUFDQTtBbE11NHFCUjs7QWtNaDRxQlk7OztFQUNJO0FsTXE0cUJoQjs7QWtNLzNxQlE7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FsTWs0cUJaO0FrTWg0cUJZO0VBQ0k7QWxNazRxQmhCO0FrTS8zcUJZO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7QWxNaTRxQmhCOztBa003M3FCSTtFQUNJO0FsTWc0cUJSOztBa003M3FCSTtFQUNJO0VBQ0E7RUFDQTtBbE1nNHFCUjs7QWtNNzNxQkk7RUFDSTtFQUNBO0VBQ0E7QWxNZzRxQlI7O0FrTTczcUJJO0VBQ0k7RUFDQTtBbE1nNHFCUjs7QWtNNTNxQkk7RUFDSTtBbE0rM3FCUjs7QWtNMzNxQkk7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0EsNkN6SnZSdUI7QXpDcXByQi9CO0FrTTMzcUJRO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FsTTYzcUJaO0FrTTMzcUJRO0VBQ0k7QWxNNjNxQlo7QWtNejNxQlE7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FsTTIzcUJaO0FrTXozcUJRO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FsTTIzcUJaO0FrTXozcUJZO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBbE0yM3FCaEI7QWtNcjNxQlE7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FsTXUzcUJaO0FrTXIzcUJRO0VBQ0k7QWxNdTNxQlo7QWtNcjNxQlE7RUFDSTtBbE11M3FCWjtBa01sM3FCUTtFQUNJO0FsTW8zcUJaOztBa01oM3FCSTtFQUNJO0VBQ0E7QWxNbTNxQlI7O0FrTWgzcUJJOztFQUVJO0FsTW0zcUJSOztBa01oM3FCSTs7RUFFSTtFQUNBO0VBQ0E7RUFDQTtBbE1tM3FCUjs7QWtNaDNxQkk7RUFDSTtBbE1tM3FCUjtBa01qM3FCUTtFQUNJO0FsTW0zcUJaOztBa01yeXFCUTtFQUdRO0FsTXN5cUJoQjs7QWtNenlxQlE7RUFHUTtBbE0weXFCaEI7O0FrTTd5cUJRO0VBR1E7QWxNOHlxQmhCOztBa01qenFCUTtFQUdRO0FsTWt6cUJoQjs7QWtNcnpxQlE7RUFHUTtBbE1zenFCaEI7O0FrTXp6cUJRO0VBR1E7QWxNMHpxQmhCOztBa003enFCUTtFQUdRO0FsTTh6cUJoQjs7QWtNajBxQlE7RUFHUTtBbE1rMHFCaEI7O0FrTXIwcUJRO0VBR1E7QWxNczBxQmhCOztBa016MHFCUTtFQUdRO0FsTTAwcUJoQjs7QWtNNzBxQlE7RUFHUTtBbE04MHFCaEI7O0FrTWoxcUJRO0VBR1E7QWxNazFxQmhCOztBa01yMXFCUTtFQUdRO0FsTXMxcUJoQjs7QWtNejFxQlE7RUFHUTtBbE0wMXFCaEI7O0FrTTcxcUJRO0VBR1E7QWxNODFxQmhCOztBa01qMnFCUTtFQUdRO0FsTWsycUJoQjs7QWtNcjJxQlE7RUFHUTtBbE1zMnFCaEI7O0FrTXoycUJRO0VBR1E7QWxNMDJxQmhCOztBa003MnFCUTtFQUdRO0FsTTgycUJoQjs7QWtNajNxQlE7RUFHUTtBbE1rM3FCaEI7O0FrTXIzcUJRO0VBR1E7QWxNczNxQmhCOztBa016M3FCUTtFQUdRO0FsTTAzcUJoQjs7QWtNNzNxQlE7RUFHUTtBbE04M3FCaEI7O0FrTWo0cUJRO0VBR1E7QWxNazRxQmhCOztBa01yNHFCUTtFQUdRO0FsTXM0cUJoQjs7QWtNejRxQlE7RUFHUTtBbE0wNHFCaEI7O0FrTTc0cUJRO0VBR1E7QWxNODRxQmhCOztBa01qNXFCUTtFQUdRO0FsTWs1cUJoQjs7QWtNcjVxQlE7RUFHUTtBbE1zNXFCaEI7O0FrTXo1cUJRO0VBR1E7QWxNMDVxQmhCOztBa003NXFCUTtFQUdRO0FsTTg1cUJoQjs7QWtNajZxQlE7RUFHUTtBbE1rNnFCaEI7O0FrTXI2cUJRO0VBR1E7QWxNczZxQmhCOztBa016NnFCUTtFQUdRO0FsTTA2cUJoQjs7QWtNNzZxQlE7RUFHUTtBbE04NnFCaEI7O0FrTWo3cUJRO0VBR1E7QWxNazdxQmhCOztBa01yN3FCUTtFQUdRO0FsTXM3cUJoQjs7QWtNejdxQlE7RUFHUTtBbE0wN3FCaEI7O0FrTTc3cUJRO0VBR1E7QWxNODdxQmhCOztBa01qOHFCUTtFQUdRO0FsTWs4cUJoQjs7QWtNcjhxQlE7RUFHUTtBbE1zOHFCaEI7O0FrTXo4cUJRO0VBR1E7QWxNMDhxQmhCOztBa003OHFCUTtFQUdRO0FsTTg4cUJoQjs7QWtNajlxQlE7RUFLUTtBbE1nOXFCaEI7O0FrTXI5cUJRO0VBS1E7QWxNbzlxQmhCOztBa016OXFCUTtFQUtRO0FsTXc5cUJoQjs7QWtNNzlxQlE7RUFPUTtBbE0wOXFCaEI7O0FrTWorcUJRO0VBS1E7QWxNZytxQmhCOztBa01yK3FCUTtFQUdRO0FsTXMrcUJoQjs7QWtNeitxQlE7RUFHUTtBbE0wK3FCaEI7O0FrTTcrcUJRO0VBU1E7QWxNdytxQmhCOztBa01qL3FCUTtFQVNRO0FsTTQrcUJoQjs7QWtNci9xQlE7RUFTUTtBbE1nL3FCaEI7O0FrTXovcUJRO0VBR1E7QWxNMC9xQmhCOztBa003L3FCUTtFQUdRO0FsTTgvcUJoQjs7QWtNamdyQlE7RUFHUTtBbE1rZ3JCaEI7O0FrTXJnckJRO0VBR1E7QWxNc2dyQmhCOztBa016Z3JCUTtFQUdRO0FsTTBnckJoQjs7QWtNbjhxQkk7Ozs7RUFLUTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7QWxNdS9xQlo7O0FtTXhoc0JJOzs7RTdMRkksK0U2TFFJO0U3TExKLG9FNkxHSTtFN0xBSiwyRTZMQ0k7QW5NMmhzQlo7QW1NdmhzQlE7OztFQUNJO0FuTTJoc0JaOztBbU1waHNCSTtFN0xoQkksZ0Y2TGlCdUI7QW5NdWhzQi9COztBbU1yaHNCSTtFN0xuQkksMkY2TG9CdUI7QW5Nd2hzQi9COztBbU1yaHNCSTs7RTdMMUJJLDZFNkwrQkk7RTdMNUJKLG9HNkwwQkk7RTdMdkJKLDRHNkx3Qkk7QW5Nd2hzQlo7O0FtTWxoc0JJO0U3THBDSSx5RjZMcUN3QjtBbk1xaHNCaEM7O0FtTWxoc0JJO0VBQ0k7QW5NcWhzQlI7O0FtTWxoc0JJO0VBQ0k7RTdMN0NBLG1GNkxpREc7RTdMOUNILDJFNkw0Q0c7RTdMekNILG1GNkwwQ0c7QW5NcWhzQlg7QW1NamhzQlE7RTdMcERBLHdGNkx3RE87RTdMckRQLDZFNkxtRE87RTdMaERQLG9GNkxpRE87QW5NbWhzQmY7O0FtTTdnc0JJO0VBQ0k7QW5NZ2hzQlI7O0FtTTdnc0JJO0VBQ0k7RUFDQTtBbk1naHNCUjs7QW1NN2dzQkk7RUFDSTtBbk1naHNCUjtBbU05Z3NCUTtFQUNJO0FuTWdoc0JaOztBbU0zZ3NCSTtFN0wvRUksaUY2TG1GRztFN0xoRkgsc0U2TDhFRztFN0wzRUgsNkU2TDRFRztBbk04Z3NCWDtBbU16Z3NCUTtFN0x2RkEsdUY2TDJGUTtFN0x4RlIsa0Y2THNGUTtFN0xuRlIsb0Y2TG9GUTtBbk0yZ3NCaEI7QW1NcmdzQlE7RTdMN0ZBLHlDNkw4RjJCO0FuTXVnc0JuQztBbU1yZ3NCUTtFN0xoR0EsMkM2TGlHMkI7QW5NdWdzQm5DO0FtTXJnc0JROztFM0x0R0Esb0QyTHdHSTtBbk11Z3NCWjs7QW9NM21zQkk7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBLDZDM0pEdUI7QXpDK21zQi9CO0FvTTVtc0JRO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FwTThtc0JaO0FvTTNtc0JRO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBLDZDM0o5Qm1CO0F6QzJvc0IvQjtBb00xbXNCUTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FwTTRtc0JaOztBb01sbXNCUTtFQUNJO0VBQ0E7QXBNcW1zQlo7QW9NN2xzQlk7Ozs7RUFDSTtBcE1rbXNCaEI7QW9NaG1zQmdCOzs7O0VBQ0k7RUFDQTtFQUNBO0VBQ0E7QXBNcW1zQnBCO0FvTTlsc0JZOztFQUVJO0VBQ0E7QXBNZ21zQmhCOztBb00zbHNCSTtFQUNJO0FwTThsc0JSOztBb00xbHNCUTtFQUNJO0VBQ0E7RUFDQTtFQUdBO0VBQ0E7RUFDQTtFQUNBO0FwTTJsc0JaO0FvTXhsc0JRO0VBQ0k7QXBNMGxzQlo7O0FvTTlrc0JZO0VBQ0k7RUFDQTtFQUNBO0FwTWlsc0JoQjtBb00va3NCZ0I7RUFDSTtBcE1pbHNCcEI7QW9NN2tzQlk7RUFDSTtFQUNBO0VBQ0E7QXBNK2tzQmhCO0FvTTVrc0JZO0VBQ0k7QXBNOGtzQmhCOztBb014a3NCUTtFQUNJO0FwTTJrc0JaOztBb01ya3NCUTtFQUNJO0FwTXdrc0JaO0FvTXJrc0JRO0VBQ0k7QXBNdWtzQlo7QW9NcGtzQlE7RUFDSSw2Q0N0SmlCO0VEdUpqQiw4Q0NqS2lCO0FyTXV1c0I3QjtBb01wa3NCWTtFQUNJO0FwTXNrc0JoQjtBb01ua3NCWTtFQUNJO0FwTXFrc0JoQjtBb01sa3NCWTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QXBNb2tzQmhCO0FvTWxrc0JnQjtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBcE1va3NCcEI7QW9NL2pzQmdCO0VBQ0k7QXBNaWtzQnBCO0FvTTVqc0JRO0VBQ0ksNkNDMUxpQjtFRDJMakIsOENDck1pQjtFRHNNakI7RUFDQTtBcE04anNCWjtBb001anNCWTtFQUNJO0FwTThqc0JoQjtBb00zanNCWTtFQUNJO0FwTTZqc0JoQjtBb012anNCWTtFQUNJO0FwTXlqc0JoQjtBb010anNCWTtFQUNJO0VBQ0E7RUFDQTtBcE13anNCaEI7QW9NcmpzQlk7RUFDSTtFQUNBO0VBQ0E7RUFDQTtBcE11anNCaEI7QW9NcGpzQlk7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FwTXNqc0JoQjtBb005aXNCWTtFQUNJO0FwTWdqc0JoQjtBb003aXNCWTtFQUNJO0FwTStpc0JoQjtBb00zaXNCUTtFQUNJO0FwTTZpc0JaO0FvTXppc0JZO0VBQ0k7QXBNMmlzQmhCO0FvTXhpc0JZO0VBQ0k7QXBNMGlzQmhCO0FvTXhpc0JnQjtFQUNJO0FwTTBpc0JwQjtBb012aXNCZ0I7RUFDSTtBcE15aXNCcEI7QW9NbmlzQlk7O0VBRUk7QXBNcWlzQmhCO0FvTWppc0JROztFQUVJO0VBQ0E7QXBNbWlzQlo7QW9NaGlzQlE7RUFDSTtBcE1raXNCWjtBb00vaHNCUTs7RUFFSTtFQUNBO0FwTWlpc0JaO0FvTTloc0JRO0VBQ0k7RUFDQTtFQUNBO0FwTWdpc0JaO0FvTTdoc0JRO0VBQ0k7RUFDQTtFQUNBO0FwTStoc0JaO0FvTTdoc0JZO0VBQ0k7RUFDQTtBcE0raHNCaEI7QW9NNWhzQlk7RUFDSTtBcE04aHNCaEI7QW9NdmhzQlk7Ozs7RUFFSTtBcE0yaHNCaEI7QW9NemhzQmdCOzs7O0VBQ0k7RUFDQTtFQUNBO0FwTThoc0JwQjtBb016aHNCUTtFQUNJO0FwTTJoc0JaOztBb01qaHNCUTtFQUNJO0FwTW9oc0JaO0FvTWpoc0JROztFQUVJLDZDRXhVcUI7RUZ5VXJCLDhDRTVVcUI7RUY2VXJCO0FwTW1oc0JaO0FvTWhoc0JRO0VBQ0ksNkNFOVVxQjtFRitVckIsOENFbFZxQjtFRm1WckI7RUFDQTtBcE1raHNCWjtBb003Z3NCWTtFQUNJO0FwTStnc0JoQjtBb001Z3NCUTtFQUNJO0FwTThnc0JaO0FvTTFnc0JRO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7QXBNNGdzQlo7QW9NMWdzQlk7RUFDSTtBcE00Z3NCaEI7QW9NemdzQlk7O0VBRUk7QXBNMmdzQmhCO0FvTXhnc0JZO0VBQ0k7QXBNMGdzQmhCO0FvTXJnc0JRO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7QXBNdWdzQlo7QW9NcmdzQlk7RUFDSTtBcE11Z3NCaEI7QW9NcGdzQlk7RUFDSTtFQUNBO0VBQ0E7RUFDQTtBcE1zZ3NCaEI7QW9NbmdzQlk7RUFDSTtFQUNBO0VBQ0E7QXBNcWdzQmhCO0FvTWxnc0JZO0VBQ0k7QXBNb2dzQmhCO0FvTTkvckJZO0VBQ0k7QXBNZ2dzQmhCO0FvTTcvckJZO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBcE0rL3JCaEI7QW9NMy9yQlE7RUFDSTtBcE02L3JCWjtBb016L3JCUTs7RUFFSTtBcE0yL3JCWjtBb016L3JCWTs7RUFDSTtBcE00L3JCaEI7O0F1TWo4c0JJOztFak1ESSxrRmlNTUk7RWpNSEosdUVpTUNJO0VqTUVKLDhFaU1ESTtBdk1vOHNCWjs7QXVNOTdzQlE7RUFDSTtFQUNBO0F2TWk4c0JaO0F1TTc3c0JZO0VBQ0k7QXZNKzdzQmhCO0F1TTU3c0JZO0VBQ0k7QXZNODdzQmhCO0F1TXo3c0JZO0VBQ0k7QXZNMjdzQmhCO0F1TXg3c0JZOzs7O0VBSUk7QXZNMDdzQmhCO0F1TXY3c0JZOztFQUVJO0F2TXk3c0JoQjtBdU10N3NCWTs7Ozs7OztFQU9JO0F2TXc3c0JoQjtBdU1yN3NCWTtFQUNJO0VBQ0E7QXZNdTdzQmhCO0F1TS82c0JZOzs7Ozs7OztFQUVJO0F2TXU3c0JoQjtBdU1wN3NCWTs7Ozs7Ozs7Ozs7Ozs7OztFQUlJO0F2TWs4c0JoQjtBdU03N3NCWTtFQUNJO0VBQ0E7QXZNKzdzQmhCO0F1TTc3c0JZO0VBQ0k7QXZNKzdzQmhCOztBd014Z3RCSTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0F4TTJndEJSO0F3TXpndEJRO0VBQ0k7QXhNMmd0Qlo7QXdNeGd0QlE7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0F4TTBndEJaO0F3TXZndEJRO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBeE15Z3RCWjtBd010Z3RCUTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QXhNd2d0Qlo7QXdNcmd0QlE7OztFQUdJO0VBQ0E7QXhNdWd0Qlo7QXdNcGd0QlE7RUFDSTtBeE1zZ3RCWjtBd01uZ3RCUTs7O0VBR0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0F4TXFndEJaO0F3TW5ndEJZOzs7RUFDSTtBeE11Z3RCaEI7QXdNcGd0Qlk7OztFQUNJO0F4TXdndEJoQjtBd01yZ3RCWTs7Ozs7Ozs7Ozs7O0VBSUk7QXhNK2d0QmhCO0F3TTNndEJRO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBeE02Z3RCWjtBd00xZ3RCUTs7RUFFSTtFQUNBO0VBQ0E7QXhNNGd0Qlo7QXdNemd0QlE7RUFDSTtFQUNBO0F4TTJndEJaO0F3TXpndEJRO0VBQ0k7QXhNMmd0Qlo7QXdNeGd0QlE7RUFDSTtBeE0wZ3RCWjtBd010Z3RCUTs7RUFFSTtFQUNBO0F4TXdndEJaO0F3TXJndEJRO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7QXhNdWd0Qlo7QXdNcGd0QlE7O0VBRUk7RUFDQTtBeE1zZ3RCWjtBd01uZ3RCUTs7RUFFSTtBeE1xZ3RCWjtBd01sZ3RCUTs7RUFFSTtFQUNBO0VBQ0E7QXhNb2d0Qlo7QXdNamd0QlE7RUFDSTtFQUNBO0VBQ0E7QXhNbWd0Qlo7QXdNaGd0QlE7O0VBRUk7RUFDQTtFQUNBO0F4TWtndEJaO0F3TS8vc0JROztFQUVJO0F4TWlndEJaO0F3TTkvc0JROztFQUVJO0VBQ0E7RUFDQTtBeE1nZ3RCWjtBd005L3NCWTs7RUFDSTtFQUNBO0VBQ0E7RUFDQTtBeE1pZ3RCaEI7QXdNOS9zQlk7O0VBQ0k7RUFDQTtBeE1pZ3RCaEI7QXdNNS9zQlE7RUFDSTtBeE04L3NCWjtBd00xL3NCWTtFQUNJO0F4TTQvc0JoQjtBd014L3NCUTtFQUNJO0F4TTAvc0JaO0F3TXgvc0JZO0VBQ0k7QXhNMC9zQmhCO0F3TXYvc0JZO0VBQ0k7QXhNeS9zQmhCO0F3TXIvc0JRO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7QXhNdS9zQlo7QXdNcC9zQlE7RUFDSTtBeE1zL3NCWjtBd01uL3NCUTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0F4TXEvc0JaO0F3TWwvc0JROzs7O0VBSUk7QXhNby9zQlo7QXdNaC9zQlE7RUFDSTtFQUNBO0F4TWsvc0JaO0F3TS8rc0JRO0VBQ0k7QXhNaS9zQlo7O0F3TTcrc0JJO0VBQ0k7RUFDQTtBeE1nL3NCUjs7QXdNNStzQkk7RUFDSTtFQUNBO0F4TSsrc0JSOztBd003K3NCSTtFQUNJO0F4TWcvc0JSOztBd00zK3NCSTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QXhNOCtzQlI7QXdNNStzQlE7RUFDSTtFQUNBLG9HdEluTVc7RXNJb01YO0VBQ0E7RUFDQTtBeE04K3NCWjtBd00zK3NCUTtFQUNJO0VBQ0E7QXhNNitzQlo7QXdNMStzQlE7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QXhNNCtzQlo7O0F3TXgrc0JJO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBeE0yK3NCUjtBd016K3NCUTtFQUVJO0VBQ0E7RUFDQTtBeE0wK3NCWjtBd012K3NCUTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QXhNeStzQlo7QXdNdCtzQlE7RUFDSTtFQUNBO0VBQ0E7RUFDQTtBeE13K3NCWjs7QXdNOTlzQkk7O0VBRUk7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0F4TWkrc0JSO0F3TS85c0JROzs7O0VBRUk7QXhNbStzQlo7O0F3TS85c0JJO0VBQ0k7QXhNaytzQlI7O0F3TS85c0JJOztFQUVJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBeE1rK3NCUjs7QXdNLzlzQkk7O0VBRUk7RUFDQTtFQUNBO0F4TWsrc0JSOztBd00vOXNCSTtFQUNJO0VBQ0E7QXhNaytzQlI7QXdNaCtzQlE7RUFDSTtBeE1rK3NCWjtBd00vOXNCUTtFQUNJO0VBQ0E7QXhNaStzQlo7QXdNOTlzQlE7RUFDSTtFQUNBO0VBQ0E7RUFDQTtBeE1nK3NCWjtBd005OXNCWTtFQUNJO0F4TWcrc0JoQjtBd001OXNCUTtFQUNJO0F4TTg5c0JaO0F3TTM5c0JRO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0F4TTY5c0JaO0F3TTM5c0JZO0VBQ0k7QXhNNjlzQmhCO0F3TXg5c0JRO0VBQ0k7QXhNMDlzQlo7QXdNdjlzQlE7OztFQUdJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBeE15OXNCWjtBd012OXNCWTs7O0VBQ0k7QXhNMjlzQmhCO0F3TXY5c0JROztFQUVJO0VBQ0E7QXhNeTlzQlo7QXdNdDlzQlE7RUFDSTtFQUNBO0VBQ0E7RUFDQTtBeE13OXNCWjs7QXdNcDlzQkk7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBeE11OXNCUjs7QXdNcDlzQkk7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0F4TXU5c0JSOztBd01wOXNCSTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0F4TXU5c0JSOztBd01wOXNCSTtFQUNJO0F4TXU5c0JSO0F3TXI5c0JROztFQUVJO0VBQ0E7QXhNdTlzQlo7O0F3TW45c0JJOzs7Ozs7O0VBT0k7QXhNczlzQlI7O0F3TW45c0JJO0VBQ0k7RUFDQTtBeE1zOXNCUjs7QXdNbDlzQkk7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QXhNcTlzQlI7O0F3TWo5c0JJO0VBQ0ksNkNDMWdCaUI7QXpNODl0QnpCO0F3TWw5c0JROzs7RUFHSTtFQUNBO0VBQ0E7RUFDQTtBeE1vOXNCWjtBd01qOXNCUTs7RUFFSTtBeE1tOXNCWjtBd01oOXNCUTtFQUNJO0F4TWs5c0JaOztBd005OHNCSTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0F4TWk5c0JSO0F3TS84c0JROztFQUVJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBeE1pOXNCWjtBd00vOHNCWTs7RUFDSTtBeE1rOXNCaEI7O0F3TTU4c0JJOztFQUVJO0VBQ0E7QXhNKzhzQlI7QXdNNzhzQlE7Ozs7RUFFSTtBeE1pOXNCWjs7QXdNNzhzQkk7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QXhNZzlzQlI7O0F3TTU4c0JJO0VBQ0k7RUFDQTtFQUNBO0F4TSs4c0JSOztBd00zOHNCSTtFQUNJO0VBQ0E7QXhNODhzQlI7O0F3TTM4c0JJOztFQUVJO0F4TTg4c0JSOztBd00zOHNCSTs7RUFFSTtBeE04OHNCUjs7QXdNMzhzQkk7O0VBRUk7QXhNODhzQlI7O0F3TXg4c0JJOzs7O0VBSUk7RUFDQTtFQUNBO0F4TTI4c0JSOztBd01wOHNCUTs7Ozs7Ozs7O0VBR0k7RUFDQTtFQUNBO0F4TTY4c0JaO0F3TTM4c0JROzs7Ozs7Ozs7Ozs7RUFJSTtBeE1xOXNCWjs7QXdNajlzQkk7RUFDSTtFQUNBO0F4TW85c0JSO0F3TWw5c0JRO0VBQ0k7QXhNbzlzQlo7O0F3TTk4c0JJOztFQUVJO0VBQ0E7RUFDQTtFQUNBO0F4TWk5c0JSOztBd001OHNCSTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QXhNKzhzQlI7O0F3TTc4c0JJO0VBQ0k7QXhNZzlzQlI7O0F3TTM4c0JJO0VBQ0k7RUFDQTtFQUNBO0F4TTg4c0JSOztBd001OHNCSTtFQUNJO0F4TSs4c0JSOztBd00zOHNCUTtFQUNJO0VBQ0E7QXhNODhzQlo7QXdNMzhzQlE7RUFDSTtFQUNBO0VBQ0E7QXhNNjhzQlo7QXdNMThzQlE7RUFDSTtFQUNBO0F4TTQ4c0JaO0F3TXo4c0JRO0VBQ0k7RUFDQTtFQUNBO0F4TTI4c0JaOztBd012OHNCSTtFQUNJO0VBQ0E7QXhNMDhzQlI7O0F3TXY4c0JJO0VBQ0k7QXhNMDhzQlI7O0F3TXY4c0JJOztFQUVJO0VBQ0E7QXhNMDhzQlI7O0F3TXI4c0JJO0VBQ0k7QXhNdzhzQlI7O0F3TXI4c0JJOztFQUVJO0F4TXc4c0JSOztBd01yOHNCSTs7O0VBR0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QXhNdzhzQlI7QXdNdDhzQlE7Ozs7Ozs7OztFQUdJO0F4TTg4c0JaO0F3TTM4c0JROzs7RUFDSTtBeE0rOHNCWjtBd001OHNCUTs7Ozs7O0VBRUk7QXhNazlzQlo7QXdNLzhzQlE7OztFQUNJO0F4TW05c0JaOztBd00vOHNCSTs7O0VBR0k7RUFDQTtFQUNBO0F4TWs5c0JSO0F3TWg5c0JROzs7RUFDSTtBeE1vOXNCWjs7QXdNaDlzQkk7O0VBRUk7QXhNbTlzQlI7O0F3TWg5c0JJOzs7OztFQUtJO0VBQ0E7QXhNbTlzQlI7QXdNajlzQlE7Ozs7O0VBQ0k7RUFDQTtBeE11OXNCWjs7QXdNbjlzQkk7O0VBRUk7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QXhNczlzQlI7O0F3TWw5c0JRO0VBQ0k7RUFDQTtFQUNBO0F4TXE5c0JaO0F3TWw5c0JROztFQUVJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QXhNbzlzQlo7QXdNajlzQlE7O0VBRUk7QXhNbTlzQlo7QXdNaDlzQlE7Ozs7RUFJSTtBeE1rOXNCWjtBd005OHNCUTs7RUFFSTtBeE1nOXNCWjtBd003OHNCUTs7RUFFSTtBeE0rOHNCWjs7QXdNMzhzQkk7RUFDSTtBeE04OHNCUjs7QXdNMzhzQkk7OztFQUdJO0F4TTg4c0JSO0F3TTU4c0JROzs7Ozs7O0VBR0k7QXhNazlzQlo7O0F3TTk4c0JJO0VBQ0k7RUFDQTtBeE1pOXNCUjs7QXdNOThzQkk7RUFDSTtFQUNBO0F4TWk5c0JSOztBd001OHNCUTs7RUFFSTtFQUNBO0F4TSs4c0JaO0F3TTU4c0JROztFQUVJO0F4TTg4c0JaO0F3TTM4c0JRO0VBQ0k7QXhNNjhzQlo7O0F3TXo4c0JJO0VBQ0k7QXhNNDhzQlI7O0F3TXo4c0JJO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7QXhNNDhzQlI7O0F3TXo4c0JJO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QXhNNDhzQlI7O0F3TXo4c0JJO0VBQ0k7RUFDQTtBeE00OHNCUjs7QXdNdjhzQlk7RUFDSTtBeE0wOHNCaEI7O0F3TXI4c0JJO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBeE13OHNCUjtBd010OHNCUTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBeE13OHNCWjtBd010OHNCWTtFQUNJO0VBQ0E7RUFDQTtBeE13OHNCaEI7QXdNbjhzQlE7RUFDSTtFQUNBO0F4TXE4c0JaO0F3TWw4c0JROzs7RUFHSTtFQUNBO0F4TW84c0JaO0F3TWo4c0JROzs7O0VBSUk7RUFDQTtFQUNBO0F4TW04c0JaOztBd00vN3NCSTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QXhNazhzQlI7O0F3TTU2c0JROztFQUVJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0F4TSs2c0JaOztBd01oOHNCUTs7RUFFSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBeE1tOHNCWjs7QXdNOTdzQkk7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QXhNaThzQlI7QXdNLzdzQlE7RUFDSTtFQUNBO0VBQ0E7RUFDQTtBeE1pOHNCWjtBd005N3NCUTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBeE1nOHNCWjs7QXdNMzdzQkk7RUFDSTtBeE04N3NCUjs7QXdNMzdzQkk7RUFDSTtFQUNBO0VBQ0E7QXhNODdzQlI7QXdNNTdzQlE7RUFDSTtBeE04N3NCWjs7QXdNeDdzQlE7RUFDSTtFQUNBO0F4TTI3c0JaO0F3TXY3c0JROzs7RUFHSTtFQUNBO0F4TXk3c0JaO0F3TXI3c0JZO0VBR0k7QXhNcTdzQmhCO0F3TWg3c0JROztFQUVJO0F4TWs3c0JaOztBd003NnNCSTtFQUNJO0VBQ0E7QXhNZzdzQlI7O0F3TTk2c0JJO0VBQ0k7QXhNaTdzQlI7O0F3TS82c0JJO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QXhNazdzQlI7QXdNaDdzQlE7RUFDSTtFQUNBO0F4TWs3c0JaO0F3TS82c0JROzs7RUFDSTtFQUNBO0VBQ0E7RUFDQTtBeE1tN3NCWjtBd00vNnNCUTs7Ozs7Ozs7O0VBU0k7RUFDQTtFQUNBO0VBQ0E7QXhNaTdzQlo7O0F3TTM2c0JROztFQUNJO0VBQ0E7QXhNKzZzQlo7O0F3TTM2c0JJO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0F4TTg2c0JSO0F3TTU2c0JROztFQUVJO0VBQ0E7RUFDQTtFQUNBO0F4TTg2c0JaOztBd00xNnNCSTtFQUNJO0VBQ0E7RUFDQTtBeE02NnNCUjs7QXdNeDZzQkk7RUFDSTtFQUNBO0F4TTI2c0JSO0F3TXo2c0JROzs7RUFHSTtBeE0yNnNCWjtBd014NnNCUTtFQUNJO0F4TTA2c0JaOztBd01wNnNCSTs7RUFFSTtFQUNBO0F4TXU2c0JSO0F3TXI2c0JROztFQUNJO0F4TXc2c0JaO0F3TXI2c0JROzs7Ozs7OztFQUNJO0F4TTg2c0JaOztBd00xNnNCSTtFQUNJO0F4TTY2c0JSO0F3TTM2c0JRO0VBQ0k7QXhNNjZzQlo7QXdNMTZzQlE7RUFDSTtFQUNBO0F4TTQ2c0JaO0F3TTE2c0JZO0VBQ0k7RUFDQTtBeE00NnNCaEI7QXdNeDZzQlE7RUFDSTtFQUNBO0VBQ0E7RUFDQTtBeE0wNnNCWjtBd010NnNCUTtFQUNJO0VBQ0E7QXhNdzZzQlo7O0F3TXI2c0JJO0VBQ0k7QXhNdzZzQlI7QXdNdDZzQlE7RUFDSTtBeE13NnNCWjtBd010NnNCWTtFQUNJO0F4TXc2c0JoQjtBd01yNnNCWTtFQUNJO0F4TXU2c0JoQjtBd01uNnNCUTtFQUNJO0VBQ0E7RUFDQTtBeE1xNnNCWjs7QXdNajZzQkk7RUFDSTtFQUNBO0VBQ0E7QXhNbzZzQlI7O0F3TWo2c0JJOztFQUVJO0VBQ0E7QXhNbzZzQlI7O0F3TWo2c0JJO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QXhNbzZzQlI7QXdNbDZzQlE7RUFDSTtBeE1vNnNCWjtBd01qNnNCUTtFQUNJO0F4TW02c0JaOztBd00vNXNCSTtFQUNJO0VBQ0E7QXhNazZzQlI7O0F3TS81c0JJO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7QXhNazZzQlI7QXdNaDZzQlE7O0VBRUk7QXhNazZzQlo7O0F3TTk1c0JJOztFQUVJO0VBQ0E7QXhNaTZzQlI7O0F3TTk1c0JJO0VBQ0k7QXhNaTZzQlI7O0F3TTk1c0JJO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0F4TWk2c0JSOztBd005NXNCSTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0F4TWk2c0JSOztBd016NXNCUTs7Ozs7Ozs7Ozs7O0VBR0k7QXhNcTZzQlo7O0EwTTd1dkJJOzs7Ozs7Ozs7Ozs7O0VwTUxJLHFGb01tQmE7QTFNK3V2QnJCOztBME0zdXZCSTtFQUNJO0ExTTh1dkJSOztBME0zdXZCSTtFcE14QkksZ0ZvTTBCWTtFcE12QlosaUZvTXdCUztBMU02dXZCakI7O0EwTXp1dkJJOztFcE1sQ0ksOEZvTXVDSTtFcE1wQ0osbUZvTWtDSTtFcE0vQkosMkZvTWdDSTtBMU00dXZCWjs7QTBNdnV2Qkk7RXBNckNJLDBFb011Q29CO0ExTXl1dkI1Qjs7QTBNdHV2Qkk7Ozs7O0VwTWhESSwyRm9Nd0RJO0VwTXJESixzRm9NbURJO0VwTWhESix1Rm9NaURJO0ExTXl1dkJaOztBME1udXZCUTtFcE12REEsMkZvTTBEYTtBMU1vdXZCckI7O0EwTS90dkJJO0VwTXJFSSw4RW9NeUVJO0VwTXRFSixtRW9Nb0VJO0VwTWpFSiwwRW9Na0VJO0ExTWt1dkJaO0EwTTd0dkJROztFcE03RUEsb0ZvTWtGUTtFcE0vRVIscUVvTTZFUTtFcE0xRVIsNEVvTTJFUTtBMU0rdHZCaEI7QTBNenR2QlE7Ozs7RXBNcEZBLDRFb015RlE7RXBNdEZSLHlIb011RlE7RUFFSjtBMU15dHZCWjtBME1uc3ZCUTs7Ozs7Ozs7Ozs7Ozs7O0VsTXJIQSxxR2tNb0lJO0ExTXFzdkJaO0EwTWxzdkJROzs7O0VwTXBJQSxnRm9Nd0kyQjtBMU1vc3ZCbkM7QTBNanN2QlE7RXBNeElBLHVGb00wSWE7QTFNa3N2QnJCO0EwTS9ydkJZO0VwTWhKSixnRm9Na0pvQjtBMU1nc3ZCNUI7QTBNNXJ2Qlk7RUFDSTtFQUNBO0ExTThydkJoQjtBME16cnZCUTs7Ozs7Ozs7RUFRSTtBMU0ycnZCWjtBME12cnZCWTs7RXBNNUtKLHFGb004S2dDO0ExTXlydkJ4QztBME10cnZCWTs7RUFFSTtBMU13cnZCaEI7QTBNcHJ2Qlk7O0VwTWpMSixnSW9NbUw0QjtBMU1zcnZCcEM7QTBNbnJ2Qlk7O0VwTXRMSixvSW9Nd0w0QjtBMU1xcnZCcEM7QTBNanJ2Qlk7Ozs7RXBNNUxKLHNJb01nTTRCO0ExTW1ydkJwQztBME0vcXZCUTtFQUNJO0ExTWlydkJaOztBME03cXZCSTs7RXBNek1JLGtGb00yTW9CO0ExTWdydkI1Qjs7QTBNNXF2Qkk7RXBNck5JLHFGb015Tkk7RXBNdE5KLGdGb01vTkk7RXBNak5KLGlGb01rTkk7QTFNK3F2Qlo7QTBNM3F2QlE7RXBNek5BLGdGb00wTm1CO0ExTTZxdkIzQjtBME0xcXZCUTtFcE03TkEsdUZvTThOMkI7QTFNNHF2Qm5DO0EwTXJxdkJZOzs7O0VwTXJPSix1Q29NdU9vQjtFcE1wT3BCLGdEb01xT2lCO0ExTXlxdkJ6QjtBME10cXZCWTs7Ozs7OztFQUVJO0ExTTZxdkJoQjtBME0zcXZCWTs7OztFcE0vT0osMENvTWlQb0I7RXBNOU9wQixtRG9NK09pQjtBMU0rcXZCekI7QTBNMXF2QlE7Ozs7RXBNdlBBLHVGb000UGdCO0VwTXpQaEIsd0ZvTTBQYTtFQUdUO0ExTXlxdkJaOztBME1wcXZCSTtFcE14UUkscUZvTTRRSTtFcE16UUosZ0ZvTXVRSTtFcE1wUUosaUZvTXFRSTtBMU11cXZCWjtBME1wcXZCUTtFQUNJO0VBQ0E7QTFNc3F2Qlo7O0EwTWpxdkJJO0VwTXJSSSxtR29NeVJJO0VwTXRSSix3Rm9Nb1JJO0VwTWpSSixnR29Na1JJO0ExTW9xdkJaOztBME03cHZCUTtFQUNJO0VBQ0E7RUFDQTtBMU1ncXZCWjtBME03cHZCUTtFQUVJO0VBQ0E7QTFNOHB2Qlo7QTBNMXB2Qlk7O0VwTXRTSixxRm9NeVM0QjtBMU0ycHZCcEM7QTBNdHB2QlE7RXBNOVNBLGlGb01vVDRCO0ExTW1wdkJwQztBME1qcHZCZ0I7RXBNdFRSLGdJb011VGdDO0ExTW1wdkJ4QztBME01b3ZCUTtFcE05VEEscUZvTW9VNEI7QTFNeW92QnBDO0EwTXZvdkJnQjtFcE10VVIsb0lvTXVVZ0M7QTFNeW92QnhDO0EwTWhvdkJRO0VwTWhWQSxtRm9Nc1Z3QjtBMU02bnZCaEM7QTBNeG52QlE7RUFXUTtBMU1nbnZCaEI7QTBNOW12QmdCO0VwTXhXUixzSW9NeVdnQztBMU1nbnZCeEM7O0EwTXZtdkJRO0VwTWxYQSx3Rm9NbVh3QjtBMU0wbXZCaEM7QTBNdm12QlE7RXBNdFhBLG1Gb013WHdCO0ExTXdtdkJoQzs7QTBNbm12Qkk7O0VsTW5ZSSx1RmtNcVlBO0ExTXNtdkJSOztBME1sbXZCUTtFcE16WUEsMEZvTTZZUTtFcE0xWVIsK0VvTXdZUTtFcE1yWVIsc0ZvTXNZUTtBMU1xbXZCaEI7QTBNaG12QlE7OztFcE05WUEsMEZvTWtaUTtFcE0vWVIsZ0dvTWdaUTtBMU1pbXZCaEI7QTBNOWx2Qlk7OztFcE10Wkosd0ZvTXdaWTtBMU1pbXZCcEI7QTBNN2x2Qlk7Ozs7O0VwTTVaSixnR29NK1pZO0VwTTVaWixxR29NNlpZO0ExTWltdkJwQjtBME03bHZCWTs7Ozs7RWxNdmFKLHNIa015YVE7QTFNa212QmhCO0EwTS9sdkJZOzs7RXBNemFKLG1Hb00yYVk7RXBNeGFaLHlHb015YVk7QTFNa212QnBCO0EwTTlsdkJZOzs7OztFMUxwYlI7RUFDQTtFQUNBLDBDMExxYmdCO0UxTGhiaEI7RUFDQTtBaEJxaHdCSjtBME1qbXZCUTtFcE0zYkEsb0RxTWtDYTtBM002L3ZCckI7QTBNL2x2Qlk7RTFMamNSO0VBQ0E7RUFFQSxtRDBMZ2NxQjtFMUw1YnJCO0VBQ0E7QWhCK2h3Qko7O0EwTS9sdkJJO0VBQ0k7QTFNa212QlI7O0EwTS9sdkJJO0VwTTNjSSx1R29NK2NJO0VwTTVjSiw0Rm9NMGNJO0VwTXZjSixtR29Nd2NJO0ExTWttdkJaOztBME03bHZCSTtFQUNJLG9ERTNZUztFRjRZVCxvREV0WWE7QTVNcyt2QnJCOztBME0zbHZCUTtFcE1wZEEseUlvTXFkd0I7QTFNOGx2QmhDO0EwTTNsdkJRO0VwTXhkQSw4Rm9NeWR3QjtBMU02bHZCaEM7O0EwTXhsdkJJO0VwTWplSSx1Rm9Na2V1QjtBMU0ybHZCL0I7O0E2Qjlpd0JnQjtFQUtZO0E3QjZpd0I1Qjs7QTZCdml3QmdCO0VBS1k7QTdCc2l3QjVCOztBNkJ0andCZ0I7RUFLWTtBN0JxandCNUI7O0E2Qi9pd0JnQjtFQUtZO0E3Qjhpd0I1Qjs7QTZCOWp3QmdCO0VBS1k7QTdCNmp3QjVCOztBNkJ2andCZ0I7RUFLWTtBN0JzandCNUI7O0E2QnRrd0JnQjtFQUtZO0E3QnFrd0I1Qjs7QTZCL2p3QmdCO0VBS1k7QTdCOGp3QjVCOztBNkI5a3dCZ0I7RUFLWTtBN0I2a3dCNUI7O0E2QnZrd0JnQjtFQUtZO0E3QnNrd0I1Qjs7QTZCdGx3QmdCO0VBS1k7QTdCcWx3QjVCOztBNkIva3dCZ0I7RUFLWTtBN0I4a3dCNUI7O0E2Qjlsd0JnQjtFQUtZO0E3QjZsd0I1Qjs7QTZCdmx3QmdCO0VBS1k7QTdCc2x3QjVCOztBNkJ0bXdCZ0I7RUFLWTtBN0JxbXdCNUI7O0E2Qi9sd0JnQjtFQUtZO0E3Qjhsd0I1Qjs7QTZCOW13QmdCO0VBS1k7QTdCNm13QjVCOztBNkJ2bXdCZ0I7RUFLWTtBN0JzbXdCNUI7O0E2QnRud0JnQjtFQUtZO0E3QnFud0I1Qjs7QTZCL213QmdCO0VBS1k7QTdCOG13QjVCOztBNkI5bndCZ0I7RUFLWTtBN0I2bndCNUI7O0E2QnZud0JnQjtFQUtZO0E3QnNud0I1Qjs7QTZCdG93QmdCO0VBS1k7QTdCcW93QjVCOztBNkIvbndCZ0I7RUFLWTtBN0I4bndCNUI7O0E2Qjlvd0JnQjtFQUtZO0E3QjZvd0I1Qjs7QTZCdm93QmdCO0VBS1k7QTdCc293QjVCOztBNkJ0cHdCZ0I7RUFLWTtBN0JxcHdCNUI7O0E2Qi9vd0JnQjtFQUtZO0E3Qjhvd0I1Qjs7QTZCOXB3QmdCO0VBS1k7QTdCNnB3QjVCOztBNkJ2cHdCZ0I7RUFLWTtBN0JzcHdCNUI7O0E2QnRxd0JnQjtFQUtZO0E3QnFxd0I1Qjs7QTZCL3B3QmdCO0VBS1k7QTdCOHB3QjVCOztBNkI5cXdCZ0I7RUFLWTtBN0I2cXdCNUI7O0E2QnZxd0JnQjtFQUtZO0E3QnNxd0I1Qjs7QTZCdHJ3QmdCO0VBS1k7QTdCcXJ3QjVCOztBNkIvcXdCZ0I7RUFLWTtBN0I4cXdCNUI7O0E2Qjlyd0JnQjtFQUtZO0E3QjZyd0I1Qjs7QTZCdnJ3QmdCO0VBS1k7QTdCc3J3QjVCOztBNkJ0c3dCZ0I7RUFLWTtBN0Jxc3dCNUI7O0E2Qi9yd0JnQjtFQUtZO0E3Qjhyd0I1Qjs7QTZCOXN3QmdCO0VBS1k7QTdCNnN3QjVCOztBNkJ2c3dCZ0I7RUFLWTtBN0Jzc3dCNUI7O0E2QnR0d0JnQjtFQUtZO0E3QnF0d0I1Qjs7QTZCL3N3QmdCO0VBS1k7QTdCOHN3QjVCOztBNkI5dHdCZ0I7RUFLWTtBN0I2dHdCNUI7O0E2QnZ0d0JnQjtFQUtZO0E3QnN0d0I1Qjs7QTZCdHV3QmdCO0VBS1k7QTdCcXV3QjVCOztBNkIvdHdCZ0I7RUFLWTtBN0I4dHdCNUI7O0E2Qjl1d0JnQjtFQUtZO0E3QjZ1d0I1Qjs7QTZCdnV3QmdCO0VBS1k7QTdCc3V3QjVCOztBNkJ0dndCZ0I7RUFLWTtBN0JxdndCNUI7O0E2Qi91d0JnQjtFQUtZO0E3Qjh1d0I1Qjs7QTZCOXZ3QmdCO0VBS1k7QTdCNnZ3QjVCOztBNkJ2dndCZ0I7RUFLWTtBN0JzdndCNUI7O0E2QnR3d0JnQjtFQUtZO0E3QnF3d0I1Qjs7QTZCL3Z3QmdCO0VBS1k7QTdCOHZ3QjVCOztBNkI5d3dCZ0I7RUFLWTtBN0I2d3dCNUI7O0E2QnZ3d0JnQjtFQUtZO0E3QnN3d0I1Qjs7QTZCdHh3QmdCO0VBS1k7QTdCcXh3QjVCOztBNkIvd3dCZ0I7RUFLWTtBN0I4d3dCNUI7O0E2Qjl4d0JnQjtFQUtZO0E3QjZ4d0I1Qjs7QTZCdnh3QmdCO0VBS1k7QTdCc3h3QjVCOztBNkJ0eXdCZ0I7RUFLWTtBN0JxeXdCNUI7O0E2Qi94d0JnQjtFQUtZO0E3Qjh4d0I1Qjs7QTZCOXl3QmdCO0VBS1k7QTdCNnl3QjVCOztBNkJ2eXdCZ0I7RUFLWTtBN0JzeXdCNUI7O0E2QnR6d0JnQjtFQUtZO0E3QnF6d0I1Qjs7QTZCL3l3QmdCO0VBS1k7QTdCOHl3QjVCOztBNkI5endCZ0I7RUFLWTtBN0I2endCNUI7O0E2QnZ6d0JnQjtFQUtZO0E3QnN6d0I1Qjs7QTZCdDB3QmdCO0VBS1k7QTdCcTB3QjVCOztBNkIvendCZ0I7RUFLWTtBN0I4endCNUI7O0E2Qjkwd0JnQjtFQUtZO0E3QjYwd0I1Qjs7QTZCdjB3QmdCO0VBS1k7QTdCczB3QjVCOztBNkJ0MXdCZ0I7RUFLWTtBN0JxMXdCNUI7O0E2Qi8wd0JnQjtFQUtZO0E3Qjgwd0I1Qjs7QTZCOTF3QmdCO0VBS1k7QTdCNjF3QjVCOztBNkJ2MXdCZ0I7RUFLWTtBN0JzMXdCNUI7O0E2QnQyd0JnQjtFQUtZO0E3QnEyd0I1Qjs7QTZCLzF3QmdCO0VBS1k7QTdCODF3QjVCOztBNkI5MndCZ0I7RUFLWTtBN0I2MndCNUI7O0E2QnYyd0JnQjtFQUtZO0E3QnMyd0I1Qjs7QTZCdDN3QmdCO0VBS1k7QTdCcTN3QjVCOztBNkIvMndCZ0I7RUFLWTtBN0I4MndCNUI7O0E2Qjkzd0JnQjtFQUtZO0E3QjYzd0I1Qjs7QTZCdjN3QmdCO0VBS1k7QTdCczN3QjVCOztBNkJ0NHdCZ0I7RUFLWTtBN0JxNHdCNUI7O0E2Qi8zd0JnQjtFQUtZO0E3Qjgzd0I1Qjs7QTZCOTR3QmdCO0VBS1k7QTdCNjR3QjVCOztBNkJ2NHdCZ0I7RUFLWTtBN0JzNHdCNUI7O0E2QnQ1d0JnQjtFQUtZO0E3QnE1d0I1Qjs7QTZCLzR3QmdCO0VBS1k7QTdCODR3QjVCOztBNkI5NXdCZ0I7RUFLWTtBN0I2NXdCNUI7O0E2QnY1d0JnQjtFQUtZO0E3QnM1d0I1Qjs7QTZCdDZ3QmdCO0VBS1k7QTdCcTZ3QjVCOztBNkIvNXdCZ0I7RUFLWTtBN0I4NXdCNUI7O0E2Qjk2d0JnQjtFQUtZO0E3QjY2d0I1Qjs7QTZCdjZ3QmdCO0VBS1k7QTdCczZ3QjVCOztBNkJ0N3dCZ0I7RUFLWTtBN0JxN3dCNUI7O0E2Qi82d0JnQjtFQUtZO0E3Qjg2d0I1Qjs7QTZCOTd3QmdCO0VBS1k7QTdCNjd3QjVCOztBNkJ2N3dCZ0I7RUFLWTtBN0JzN3dCNUI7O0E2TXQ5d0JJO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBN015OXdCUjs7QTZNdjl3Qkk7RUFDSTtBN00wOXdCUjs7QTZNcjl3Qkk7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QTdNdzl3QlI7QTZNdDl3QlE7RUFDSTtFQUNBO0VBQ0E7QTdNdzl3Qlo7O0E2TW45d0JROztFQUFXO0E3TXc5d0JuQjs7QTZNdDl3Qkk7RUFDSTtBN015OXdCUjs7QTZNdjl3Qkk7RUFDSTtFQUNBO0E3TTA5d0JSOztBNk14OXdCSTtFQUNJO0E3TTI5d0JSOztBNk10OXdCSTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBN015OXdCUjs7QTZNdjl3Qkk7RUFDSTtFQUNBO0E3TTA5d0JSOztBNk14OXdCSTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0E3TTI5d0JSOztBNk16OXdCSTtFQUNJO0E3TTQ5d0JSOztBNk0xOXdCSTtFQUNJO0VBQ0E7QTdNNjl3QlI7O0E2TXg5d0JJO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBN00yOXdCUjs7QTZNejl3Qkk7RUFDSTtBN000OXdCUjs7QTZNdjl3Qkk7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0E3TTA5d0JSOztBNk12OXdCSTtFQUNJO0E3TTA5d0JSOztBNk1yOXdCSTtFQUNJO0VBQ0E7QTdNdzl3QlI7O0E2TXQ5d0JJO0VBQ0k7QTdNeTl3QlI7O0E2TXY5d0JJO0VBQ0k7QTdNMDl3QlI7O0E2TXA5d0JRO0VBQ0k7QTdNdTl3Qlo7O0E2TW45d0JRO0VBQ0k7QTdNczl3Qlo7QTZNcDl3QlE7RUFDSTtBN01zOXdCWjs7QTZNbDl3QlE7RUFDSTtBN01xOXdCWjtBNk1uOXdCUTtFQUNJO0E3TXE5d0JaOztBOE1qbXhCSTtFeE1ESSxrRndNS0k7RXhNRko7RUFHQSw4RXdNRkk7QTlNb214Qlo7O0E4TTNseEJRO0V4TVZBLHFEd01ZUTtFeE1UUiw4RHdNVVE7RUFFSjtBOU00bHhCWjtBOE16bHhCUTtFeE1sQkEsd0R3TW9CUTtFeE1qQlIsaUd3TWtCUTtBOU0wbHhCaEI7O0E4TXBseEJJO0VBQ0ksb0RDc0JnQjtBL01pa3hCeEI7O0E4TW5seEJJO0V4TW5DSSx5RndNdUNJO0V4TXBDSixpRHdNa0NJO0V4TS9CSiwwRHdNZ0NJO0E5TXNseEJaOztBOE1obHhCSTtFeE16Q0ksaUR3TTJDSTtFeE14Q0osMER3TXlDSTtBOU1rbHhCWjs7QWdOMW54QlE7RUFDSTtFQUNBO0VBQ0E7QWhONm54Qlo7QWdOMW54QlE7RUFDSTtFQUNBO0VBQ0E7QWhONG54Qlo7O0FnTnhueEJHO0VBQ0s7RUFDQTtFQUNBO0FoTjJueEJSOztBZ054bnhCSTtFQUNJO0FoTjJueEJSO0FnTnpueEJRO0VBQ0k7RUFDQTtBaE4ybnhCWjs7QWdOdm54Qkk7RUFDSTtBaE4wbnhCUjs7QWdOdm54Qkk7RUFDSTtBaE4wbnhCUjs7QWlOanF4Qlk7RUFDSTtBak5vcXhCaEI7QWlObHF4QmdCO0VBQ0k7QWpOb3F4QnBCO0FpTmhxeEJZO0VBRUk7QWpOaXF4QmhCO0FpTjVweEJnQjtFQUNJO0FqTjhweEJwQjtBaU56cHhCUTtFQUNJO0VBQ0E7QWpOMnB4Qlo7O0FrTjFxeEJJO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBLDZDektWdUI7QXpDdXJ4Qi9CO0FrTjNxeEJRO0VBQ0k7RUFDQTtFQUNBO0FsTjZxeEJaO0FrTjNxeEJRO0VBQ0k7RUFDQTtFQUNBO0FsTjZxeEJaOztBa052cXhCSTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FsTjBxeEJSOztBa050cXhCSTtFQUNJO0VBQ0E7QWxOeXF4QlI7O0FrTnJxeEJJO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBbE53cXhCUjs7QWtOdHF4Qkk7RUFDSTtBbE55cXhCUjs7QWtOdnF4Qkk7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBbE4wcXhCUjtBa054cXhCUTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FsTjBxeEJaO0FrTnZxeEJROzs7RUFHSTtBbE55cXhCWjtBa050cXhCUTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FsTndxeEJaO0FrTnJxeEJnQjtFQUNJO0VBQ0E7QWxOdXF4QnBCO0FrTnJxeEJnQjtFQUNJO0VBQ0E7QWxOdXF4QnBCOztBa05scXhCSTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0FsTnFxeEJSO0FrTm5xeEJROzs7OztFQUtJO0FsTnFxeEJaO0FrTmxxeEJROzs7O0VBSUk7QWxOb3F4Qlo7O0FrTmpxeEJJO0VBQ0k7QWxOb3F4QlI7QWtObHF4QlE7RUFDSTtFQUNBO0FsTm9xeEJaOztBa05qcXhCSTs7RUFFSTtBbE5vcXhCUjs7QWtOL3B4Qkk7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBbE5rcXhCUjs7QWtON3B4Qkk7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QWxOZ3F4QlI7O0FrTjdweEJJO0VBQ0k7RUFDQTtBbE5ncXhCUjs7QWtOOXB4Qkk7RUFDSTtBbE5pcXhCUjs7QWtOOXB4Qkk7RUFDSTtBbE5pcXhCUjtBa04vcHhCUTtFQUNJO0VBQ0E7RUFDQTtBbE5pcXhCWjs7QWtON3B4Qkk7RUFDSTtFQUNBO0FsTmdxeEJSO0FrTjlweEJRO0VBQ0k7RUFDQTtBbE5ncXhCWjtBa041cHhCWTtFQUNJO0FsTjhweEJoQjtBa04zcHhCWTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QWxONnB4QmhCOztBa050cHhCSTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FsTnlweEJSO0FrTnRweEJRO0VBQ0k7QWxOd3B4Qlo7O0FrTnBweEJJO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QWxOdXB4QlI7O0FrTnJweEJJO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7QWxOd3B4QlI7O0FrTnRweEJJO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QWxOeXB4QlI7QWtOdHB4Qlk7RUFBZTtBbE55cHhCM0I7QWtOenB4Qlk7RUFBZTtBbE40cHhCM0I7O0FrTnhweEJJO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QWxOMnB4QlI7QWtOenB4QlE7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FsTjJweEJaOztBa054cHhCSTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QWxOMnB4QlI7QWtOenB4QlE7RUFQSjtJQVNRO0VsTjJweEJWO0FBQ0Y7O0FrTnRweEJJOztFQUVJO0VBQ0E7RUFDQTtBbE55cHhCUjs7QWtOdnB4Qkk7RUFDSTtFQUNBO0FsTjBweEJSOztBa054cHhCSTtFQUNJO0VBQ0E7QWxOMnB4QlI7O0FrTnRweEJJOztFQUVJO0VBQ0E7QWxOeXB4QlI7QWtOdnB4QlE7O0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBbE4wcHhCWjtBa054cHhCWTs7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBbE4ycHhCaEI7O0FrTnZweEJJO0VBQ0k7QWxOMHB4QlI7O0FrTnhweEJJO0VBQ0k7QWxOMnB4QlI7O0FrTnpweEJJO0VBQ0k7QWxONHB4QlI7QWtOMXB4QlE7RUFBZ0I7QWxONnB4QnhCOztBa056cHhCUTs7RUFDSTtFQUNBO0FsTjZweEJaOztBa04xcHhCSTtFQUNJO0FsTjZweEJSO0FrTjNweEJRO0VBQWdCO0FsTjhweEJ4Qjs7QWtOMXB4QlE7O0VBQ0k7RUFDQTtBbE44cHhCWjs7QWtOeHB4Qkk7RUFDSTtFQUNBO0VBQ0E7QWxOMnB4QlI7O0FrTnRweEJJO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QWxOeXB4QlI7O0FrTnZweEJJO0VBQ0k7QWxOMHB4QlI7O0FrTnZweEJJO0VBQ0k7QWxOMHB4QlI7O0FrTnJweEJJO0VBQ0k7RUFDQTtBbE53cHhCUjs7QWtOdHB4Qkk7RUFDSTtFQUNBO0VBQ0E7RUFDQTtBbE55cHhCUjs7QWtOdnB4Qkk7RUFDSTtFQUNBO0VBQ0E7RUFDQTtBbE4wcHhCUjs7QWtOeHB4Qkk7RUFDSTtFQUNBO0VBQ0E7QWxOMnB4QlI7O0FrTnhweEJJO0VBRUk7RUFDQTtBbE4wcHhCUjs7QWtOdnB4Qkk7RUFDSTtBbE4wcHhCUjs7QWtOeHB4Qkk7OztFQUdJO0VBQ0E7QWxOMnB4QlI7O0FrTnpweEJJO0VBQ0k7RUFDQTtFQUNBO0FsTjRweEJSOztBa054cHhCSTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QWxOMnB4QlI7O0FrTnRweEJROztFQUNJO0FsTjBweEJaOztBa05wcHhCSTtFQUNJO0VBQ0E7QWxOdXB4QlI7O0FrTmxweEJJO0VBQ0k7RUFDQTtFQUNBO0FsTnFweEJSOztBa05scHhCSTtFQUNJO0VBQ0E7RUFDQTtBbE5xcHhCUjs7QWtOaHB4Qkk7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FsTm1weEJSOztBa04vb3hCSTtFQUNJO0VBQ0E7QWxOa3B4QlI7O0FrTjlveEJJO0VBQ0k7RUFDQTtBbE5pcHhCUjs7QWtOOW94Qkk7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FsTmlweEJSOztBa045b3hCSTtFOU1qaEJJLHFEOE1raEJ3QjtFQUN4QjtFQUNBO0VBQ0E7RUFDQTtBbE5pcHhCUjtBa04vb3hCUTtFQUFVO0FsTmtweEJsQjs7QWtON294Qkk7RUFDSTtBbE5ncHhCUjtBa045b3hCUTtFQUNJO0FsTmdweEJaO0FrTjdveEJROztFQUVJO0FsTitveEJaO0FrTjdveEJZOztFQUNJO0FsTmdweEJoQjtBa045b3hCWTs7RUFDSTtBbE5pcHhCaEI7QWtOL294Qlk7O0VBQ0k7RUFDQTtBbE5rcHhCaEI7QWtON294QlE7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FsTitveEJaO0FrTjdveEJZO0VBQ0k7RUFDQTtBbE4rb3hCaEI7QWtOMW94QlE7O0VBRUk7RUFDQTtFQUNBO0VBQ0E7QWxONG94Qlo7QWtOMW94QlE7RUFDSTtFQUNBO0FsTjRveEJaO0FrTjFveEJROztFQUVJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QWxONG94Qlo7QWtOMW94Qlk7Ozs7RUFFSTtBbE44b3hCaEI7QWtOM294QlE7O0VBRUk7RUFDQTtFQUNBO0VBQ0E7QWxONm94Qlo7QWtOM294Qlk7O0VBQ0k7RUFDQTtBbE44b3hCaEI7QWtOM294Qlk7Ozs7Ozs7O0VBQ0k7QWxOb3B4QmhCO0FrTmhweEJROzs7RUFDSTtFQUNBO0FsTm9weEJaOztBa04vb3hCSTtFQUNJO0FsTmtweEJSO0FrTmhweEJRO0VBQ0k7QWxOa3B4Qlo7QWtOL294QlE7O0U5TTFuQkEsZ0I4TTRuQjRCO0VBQ3hCO0VBQ0E7RUFDQTtFQUNBO0FsTmlweEJaO0FrTi9veEJRO0VBQWlCO0FsTmtweEJ6QjtBa05qcHhCUTtFQUFrQjtBbE5vcHhCMUI7QWtObnB4QlE7RUFDSTtFQUNBO0VBQ0E7RUFDQTtBbE5xcHhCWjs7QWtOaHB4QlE7RUFBVTtBbE5vcHhCbEI7QWtObnB4QlE7RUFBd0I7QWxOc3B4QmhDOztBa05wcHhCSTtFQUNJO0FsTnVweEJSOztBa05wcHhCSTs7RUFFSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBbE51cHhCUjs7QWtOcHB4Qkk7RUFDSSxpREM5VitCO0FuTnEveEJ2Qzs7QWtOcHB4Qkk7RUFDSTtFQUNBO0FsTnVweEJSOztBa05qcHhCUTtFQUNJO0VBQ0E7QWxOb3B4Qlo7QWtOanB4QlE7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FsTm1weEJaOztBa043b3hCSTtFQUNJO0VBQ0E7QWxOZ3B4QlI7QWtOOW94QlE7RUFDSTtFQUNBO0VBQ0E7QWxOZ3B4Qlo7QWtONW94QlE7RUFDSTtFQUNBO0VBQ0E7QWxOOG94Qlo7QWtOM294QlE7RUFDSTtFQUNBO0VBQ0E7QWxONm94Qlo7QWtOM294Qlk7RUFDSTtFQUNBO0FsTjZveEJoQjs7QWtOdm94Qkk7RUFDSTtBbE4wb3hCUjs7QWtOdG94Qkk7RTlNanVCSSx5SDhNa3VCd0I7RUFDeEI7RUFDQTtBbE55b3hCUjtBa052b3hCUTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBbE55b3hCWjtBa052b3hCWTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0FsTnlveEJoQjtBa050b3hCWTtFQUNJO0FsTndveEJoQjtBa05wb3hCUTtFQUNJO0VBQ0E7QWxOc294Qlo7QWtOcG94Qlk7RUFFSTtFQUNBO0VBQ0E7QWxOcW94QmhCO0FrTmxveEJZO0VBQ0k7QWxOb294QmhCOztBa04vbnhCSTtFQUNJO0VBQ0E7RUFDQTtBbE5rb3hCUjtBa05ob3hCUTtFQUNJO0VBQ0E7QWxOa294Qlo7QWtOL254QlE7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QWxOaW94Qlo7QWtOOW54QlE7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBbE5nb3hCWjtBa043bnhCWTtFQUFNO0VBQXlCO0VBQXNCO0FsTmtveEJqRTtBa05qb3hCWTtFQUFPO0VBQTBCO0VBQXNCO0FsTnNveEJuRTtBa05yb3hCWTtFQUFNO0VBQTBCO0VBQXdCO0FsTjBveEJwRTtBa056b3hCWTtFQUFPO0VBQTBCO0VBQXlCO0FsTjhveEJ0RTtBa043b3hCWTtFQUFNO0VBQXlCO0VBQXlCO0FsTmtweEJwRTtBa05qcHhCWTtFQUFPO0VBQXVCO0VBQXlCO0FsTnNweEJuRTtBa05ycHhCWTtFQUFNO0VBQXVCO0VBQXdCO0FsTjBweEJqRTtBa056cHhCWTtFQUFPO0VBQXVCO0VBQXNCO0FsTjhweEJoRTtBa054cHhCZ0I7RUFFSTtBbE55cHhCcEI7O0FrTmpweEJROzs7RUFHSTtBbE5vcHhCWjtBa05qcHhCUTtFQUNJO0FsTm1weEJaO0FrTmhweEJRO0VBQ0k7QWxOa3B4Qlo7QWtOL294QlE7RUFDSTtBbE5pcHhCWjtBa045b3hCUTtFQUNJO0VBQ0E7QWxOZ3B4Qlo7O0FrTjNveEJJO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7QWxOOG94QlI7O0FrTjNveEJJO0VBQ0k7RUFDQTtBbE44b3hCUjs7QWtOM294Qkk7RUFDSTtBbE44b3hCUjs7QWtOM294Qkk7RUFFSTtBbE42b3hCUjs7QWtOMW94Qkk7O0U5TW4zQkksZ0I4TXEzQndCO0VBQ3hCO0VBQ0E7RUFDQTtBbE42b3hCUjs7QW9OcGd6Qkk7RTlNRkkscUY4TU1JO0U5TUhKLDBFOE1DSTtFOU1FSixpRjhNREk7QXBOdWd6Qlo7O0FvTmpnekJJO0U5TVhJLDRGOE1lSTtFOU1aSix1RjhNVUk7RTlNUEoseUY4TVFJO0FwTm9nekJaOztBb045L3lCSTs7O0U5TXBCSSw0RjhNMEJJO0U5TXZCSix1RjhNcUJJO0U5TWxCSix5RjhNbUJJO0FwTmlnekJaOztBb04xL3lCSTtFOU1oQ0ksMkQ4TW9DSTtFOU1qQ0osc0Y4TStCSTtFOU01QkosNkY4TTZCSTtBcE42L3lCWjs7QW9OdC95Qkk7RTlNcENJLGlGOE1xQ29CO0FwTnkveUI1Qjs7QW9OcC95Qkk7O0U5TTFDSSx1SjhNNENvQjtBcE51L3lCNUI7O0FvTnIveUJJO0U5TXBESSw0RjhNd0RJO0U5TXJESixnRDhNbURJO0U5TWhESixvRThNaURJO0U1TXZESiwyRDRNMERBO0FwTnMveUJSOztBb05wL3lCSTtFOU01REksNEY4TTZEd0I7QXBOdS95QmhDOztBb05yL3lCSTtFOU0vREksc0c4TW1FSTtFOU1oRUosdUQ4TThESTtFOU0zREosbUc4TTRESTtBcE53L3lCWjs7QW9OcC95Qkk7RTlNaEVJLDZGOE1pRXFCO0U1TXZFckIsMEg0TXdFQTtBcE51L3lCUjs7QW9OcC95Qkk7RUFDSTtFQUNBO0VBQ0E7RTlNOUVBLDBHOE1tRkk7RTlNaEZKLGdEOE04RUk7RTlNM0VKLCtJOE00RUk7RTVNbEZKLHdINE1xRkE7QXBOby95QlI7O0FvTmwveUJJO0U5TWpGSSxzSThNa0ZvQjtBcE5xL3lCNUI7O0FvTmgveUJJOzs7RTlNdkZJLGdHOE0wRm9CO0FwTm0veUI1Qjs7QW9OLyt5Qkk7RUFDSTtFQUNBO0FwTmsveUJSOztBb045K3lCSTtFQUNJO0VBQ0E7QXBOaS95QlI7O0FvTjcreUJJO0VBQ0k7QXBOZy95QlI7O0FvTjkreUJJO0U5TW5ISSwrRjhNdUhJO0U5TXBISiw4RjhNa0hJO0U5TS9HSixvRzhNZ0hJO0VBR0o7QXBOKyt5QlI7QW9ONyt5QlE7RTlNM0hBLHFHOE0rSFE7RTlNNUhSLG9HOE0wSFE7RTlNdkhSLHlHOE13SFE7QXBOKyt5QmhCO0FvTjEreUJRO0U5TW5JQSxzRzhNdUlRO0U5TXBJUixxRzhNa0lRO0U5TS9IUixzSjhNZ0lRO0FwTjQreUJoQjs7QW9Ocit5Qkk7RTlNN0lJLHFGOE1pSkk7RTlNOUlKLDBFOE00SUk7RTlNeklKLGlGOE0wSUk7QXBOdyt5Qlo7O0FvTjc5eUJZOzs7O0U5TXhKSixvRjhNMkpZO0U5TXhKWix5RjhNeUpZO0FwTmkreUJwQjtBb041OXlCUTtFQUNJO0FwTjg5eUJaOztBb056OXlCSTtFQUNJO0FwTjQ5eUJSO0FvTno5eUJZO0VBRUk7QXBOMDl5QmhCO0FvTnY5eUJZO0VBRUk7QXBOdzl5QmhCOztBb05sOXlCUTtFQUNJO0FwTnE5eUJaO0FvTmw5eUJRO0VBQ0k7RUFDQTtBcE5vOXlCWjs7QW9OaDl5Qkk7RUFDSTtBcE5tOXlCUjs7QW9ONzh5Qkk7RUFBZ0I7QXBOaTl5QnBCOztBb05oOXlCSTtFQUFnQjtBcE5vOXlCcEI7O0FvTm45eUJJO0VBQWdCO0FwTnU5eUJwQjs7QW9OdDl5Qkk7RUFBa0I7QXBOMDl5QnRCOztBb056OXlCSTtFQUFpQjtBcE42OXlCckI7O0FvTjU5eUJJO0VBQXdCO0FwTmcreUI1Qjs7QTZCL3B6QmdCO0VBS1k7QTdCOHB6QjVCOztBNkJ4cHpCZ0I7RUFLWTtBN0J1cHpCNUI7O0E2QnZxekJnQjtFQUtZO0E3QnNxekI1Qjs7QTZCaHF6QmdCO0VBS1k7QTdCK3B6QjVCOztBNkIvcXpCZ0I7RUFLWTtBN0I4cXpCNUI7O0E2QnhxekJnQjtFQUtZO0E3QnVxekI1Qjs7QTZCdnJ6QmdCO0VBS1k7QTdCc3J6QjVCOztBNkJocnpCZ0I7RUFLWTtBN0IrcXpCNUI7O0E2Qi9yekJnQjtFQUtZO0E3QjhyekI1Qjs7QTZCeHJ6QmdCO0VBS1k7QTdCdXJ6QjVCOztBNkJ2c3pCZ0I7RUFLWTtBN0Jzc3pCNUI7O0E2QmhzekJnQjtFQUtZO0E3QityekI1Qjs7QTZCL3N6QmdCO0VBS1k7QTdCOHN6QjVCOztBNkJ4c3pCZ0I7RUFLWTtBN0J1c3pCNUI7O0E2QnZ0ekJnQjtFQUtZO0E3QnN0ekI1Qjs7QTZCaHR6QmdCO0VBS1k7QTdCK3N6QjVCOztBNkIvdHpCZ0I7RUFLWTtBN0I4dHpCNUI7O0E2Qnh0ekJnQjtFQUtZO0E3QnV0ekI1Qjs7QTZCdnV6QmdCO0VBS1k7QTdCc3V6QjVCOztBNkJodXpCZ0I7RUFLWTtBN0IrdHpCNUI7O0E2Qi91ekJnQjtFQUtZO0E3Qjh1ekI1Qjs7QTZCeHV6QmdCO0VBS1k7QTdCdXV6QjVCOztBNkJ2dnpCZ0I7RUFLWTtBN0JzdnpCNUI7O0E2Qmh2ekJnQjtFQUtZO0E3Qit1ekI1Qjs7QTZCL3Z6QmdCO0VBS1k7QTdCOHZ6QjVCOztBNkJ4dnpCZ0I7RUFLWTtBN0J1dnpCNUI7O0E2QnZ3ekJnQjtFQUtZO0E3QnN3ekI1Qjs7QTZCaHd6QmdCO0VBS1k7QTdCK3Z6QjVCOztBNkIvd3pCZ0I7RUFLWTtBN0I4d3pCNUI7O0E2Qnh3ekJnQjtFQUtZO0E3QnV3ekI1Qjs7QXFOdHl6Qkk7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FyTnl5ekJSO0FxTnZ5ekJRO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QXJOeXl6Qlo7QXFOdHl6QlE7Ozs7O0VBS0k7RUFDQTtBck53eXpCWjs7QXFObHl6Qkk7RUFDSTtBck5xeXpCUjtBcU5ueXpCUTtFQUNJO0VBQ0E7QXJOcXl6Qlo7QXFObHl6QlE7RUFDSTtFQUNBO0FyTm95ekJaOztBcU45eHpCSTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0FyTml5ekJSOztBcU41eHpCSTtFQUNJO0FyTit4ekJSOztBcU41eHpCSTtFQUNJO0VBQ0E7QXJOK3h6QlI7O0FxTjV4ekJJO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7QXJOK3h6QlI7QXFON3h6QlE7RUFDSTtBck4reHpCWjtBcU41eHpCUTtFQUNJO0FyTjh4ekJaOztBcU54eHpCSTtFQUNJO0FyTjJ4ekJSOztBcU54eHpCSTtFQUNJO0FyTjJ4ekJSOztBcU54eHpCSTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QXJOMnh6QlI7O0FxTnR4ekJJO0VBQ0k7RUFDQTtBck55eHpCUjs7QXFOdHh6Qkk7RUFDSTtFQUNBO0VBQ0E7RUFDQTtBck55eHpCUjtBcU52eHpCUTtFQUNJO0FyTnl4ekJaOztBcU5yeHpCSTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBck53eHpCUjs7QXFOcnh6Qkk7RUFDSTtFQUNBO0FyTnd4ekJSOztBcU5yeHpCSTtFQUNJO0FyTnd4ekJSOztBcU5weHpCSTtFQUNJO0VBQ0E7RUFDQTtBck51eHpCUjs7QXFOL3d6Qkk7RUFDSTtBck5reHpCUjs7QXFOL3d6Qkk7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QXJOa3h6QlI7O0FxTjl3ekJJO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QXJOaXh6QlI7QXFOL3d6QlE7RUFDSTtBck5peHpCWjs7QXFON3d6Qkk7O0VBRUk7RUFDQTtFQUNBO0VBQ0E7QXJOZ3h6QlI7QXFOOXd6QlE7O0VBQ0k7QXJOaXh6Qlo7O0FxTjl3ekJJO0VBQ0k7QXJOaXh6QlI7O0FxTjl3ekJJOzs7RUFFSTtBck5reHpCUjs7QXFON3d6Qkk7RUFDSTtFQUNBO0VBQ0E7QXJOZ3h6QlI7O0FxTjV3ekJRO0VBQ0k7QXJOK3d6Qlo7QXFONXd6QlE7RUFDSTtBck44d3pCWjs7QXFOend6QlE7RUFDSTtBck40d3pCWjtBcU56d3pCUTtFQUNJO0FyTjJ3ekJaOztBcU5yd3pCSTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FyTnd3ekJSOztBcU5yd3pCSTtFQUNJO0VBQ0E7QXJOd3d6QlI7O0FxTnJ3ekJJO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7QXJOd3d6QlI7QXFOcnd6Qlk7RUFDSTtFQUNBO0VBQ0E7QXJOdXd6QmhCO0FxTnJ3ekJZOztFQUNJO0FyTnd3ekJoQjtBcU50d3pCWTtFQUNJO0FyTnd3ekJoQjtBcU5ud3pCUTs7O0VBR0k7RUFDQTtBck5xd3pCWjtBcU5qd3pCUTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QXJObXd6Qlo7QXFOaHd6QlE7RUFDSTtBck5rd3pCWjtBcU4vdnpCUTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBck5pd3pCWjtBcU45dnpCUTtFQUNJO0VBQ0E7QXJOZ3d6Qlo7QXFON3Z6QlE7RUFDSTtFQUNBO0VBQ0E7QXJOK3Z6Qlo7O0FxTnp2ekJJO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FyTjR2ekJSOztBcU4xdnpCSTtFQUNJO0VBQ0E7RUFDQTtBck42dnpCUjs7QXFOMXZ6Qkk7RUFDSTtBck42dnpCUjs7QXFOMXZ6Qkk7RUFDSTtFQUNBO0VBQ0E7QXJONnZ6QlI7O0FxTjF2ekJJO0VBQ0k7RUFDQTtBck42dnpCUjs7QXFOMXZ6Qkk7RUFDSTtBck42dnpCUjs7QXFOMXZ6Qkk7RUFDSTtFQUNBO0VBQ0E7QXJONnZ6QlI7QXFOM3Z6QlE7RUFDSTtBck42dnpCWjtBcU4zdnpCUTs7RUFDSTtBck44dnpCWjs7QXFOMXZ6Qkk7RUFDSTtFQUNBO0FyTjZ2ekJSOztBcU54dnpCSTtFQUNJO0FyTjJ2ekJSOztBcU54dnpCSTtFQUNJO0VBQ0E7QXJOMnZ6QlI7O0FxTnR2ekJJO0VBQ0k7RUFDQTtBck55dnpCUjtBcU50dnpCWTtFQUNJO0VBQ0E7QXJOd3Z6QmhCO0FxTnJ2ekJZO0VBQ0k7QXJOdXZ6QmhCO0FxTnJ2ekJnQjtFQUNJO0FyTnV2ekJwQjtBcU5ydnpCZ0I7RUFDSTtFQUNBO0FyTnV2ekJwQjtBcU5ydnpCZ0I7RUFDSTtBck51dnpCcEI7QXFOcHZ6QmdCO0VBQ0k7RUFDQTtFQUNBO0FyTnN2ekJwQjtBcU5sdnpCWTs7O0VBR0k7RUFDQTtFQUNBO0FyTm92ekJoQjtBcU5sdnpCWTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0FyTm92ekJoQjs7QXFON3V6QlE7OztFQUNJO0VBQ0E7QXJOa3Z6Qlo7O0FxTjF1ekJRO0VBQ0k7QXJONnV6Qlo7QXFOMXV6QlE7RUFDSTtFQUNBO0FyTjR1ekJaO0FxTnp1ekJRO0VBQ0k7QXJOMnV6Qlo7O0FxTm51ekJJO0VBQ0k7RUFDQTtFQUNBO0FyTnN1ekJSO0FxTnB1ekJRO0VBQ0k7QXJOc3V6Qlo7QXFObnV6QlE7RUFDSTtBck5xdXpCWjs7QXFOanV6Qkk7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FyTm91ekJSO0FxTmx1ekJRO0VBQ0k7QXJOb3V6Qlo7QXFOanV6QlE7RUFDSTtBck5tdXpCWjs7QXFOL3R6Qkk7RUFDSTtFQUNBO0FyTmt1ekJSO0FxTmh1ekJROztFQUVJO0FyTmt1ekJaOztBcU45dHpCSTs7O0VBR0k7QXJOaXV6QlI7O0FxTjl0ekJJO0VBQ0k7QXJOaXV6QlI7O0FxTjl0ekJJOztFQUVJO0VBQ0E7RUFDQTtBck5pdXpCUjs7QXFOOXR6Qkk7O0VBRUk7QXJOaXV6QlI7O0FxTjl0ekJJO0VBQ0k7QXJOaXV6QlI7O0FxTjl0ekJJO0VBQ0k7QXJOaXV6QlI7O0FxTjl0ekJJO0VBQ0k7RUFDQTtBck5pdXpCUjs7QXFOOXR6Qkk7RUFDSTtBck5pdXpCUjs7QXFOOXR6Qkk7RUFDSTtBck5pdXpCUjs7QXFOOXR6Qkk7RUFDSTtBck5pdXpCUjs7QXFON3R6QlE7RUFDSTtBck5ndXpCWjtBcU43dHpCWTtFQUNJO0FyTit0ekJoQjs7QXFOMXR6Qkk7RUFDSTtBck42dHpCUjs7QXFOMXR6Qkk7RUFDSTtBck42dHpCUjs7QXFOMXR6Qkk7RUFDSTtBck42dHpCUjs7QXFOcnR6Qkk7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FyTnd0ekJSO0FxTnR0ekJRO0VBQ0k7RUFDQTtBck53dHpCWjtBcU50dHpCUTtFQUNJO0FyTnd0ekJaOztBcU5ydHpCSTtFQUNJO0VBQ0E7QXJOd3R6QlI7QXFOdHR6QlE7RUFDSTtBck53dHpCWjtBcU5ydHpCUTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FyTnV0ekJaO0FxTnB0ekJRO0VBQ0k7RUFDQTtFQUNBO0FyTnN0ekJaO0FxTm50ekJRO0VBQ0k7RUFDQTtFQUNBO0FyTnF0ekJaO0FxTmx0ekJRO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QXJOb3R6Qlo7QXFObHR6Qlk7RUFDSTtBck5vdHpCaEI7O0FxTjlzekJJO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7QXJOaXR6QlI7O0FzTnQxMEJJO0VoTkRJLG1GZ05LSTtFaE5GSjtFQUdBLCtFZ05GSTtBdE55MTBCWjs7QXNOcDEwQkk7OztFaE5USSwyRmdOZUk7RWhOWkosc0ZnTlVJO0VoTlBKLHVGZ05RSTtBdE51MTBCWjs7QXNObDEwQkk7RWhObkJJLHVGZ05xQmE7QXRObzEwQnJCOztBc05oMTBCSTtFQUNJO0F0Tm0xMEJSOztBc05oMTBCSTs7RUFFSTtBdE5tMTBCUjs7QXNOLzAwQkk7O0VoTm5DSSx5RmdOd0NJO0VoTnJDSiw4RWdObUNJO0VoTmhDSiwwRmdOaUNJO0F0TmsxMEJaOztBc04zMDBCSTs7Ozs7O0VoTjlDSSwwRGdOdURJO0VoTnBESixpRGdOa0RJO0VoTi9DSixpRmdOZ0RJO0F0TjgwMEJaOztBc054MDBCSTs7Ozs7Ozs7RTlNNURJLDBHOE1vRUE7QXROMjAwQlI7O0FzTnYwMEJJOztFaE54RUksNkRnTjZFSTtFaE4xRUosb0RnTndFSTtFaE5yRUosdUZnTnNFSTtBdE4wMDBCWjs7QXNOL3owQkk7O0VoTnZGSSxnR2dONEZJO0VoTnpGSiwyRmdOdUZJO0VoTnBGSiw0RmdOcUZJO0F0TmswMEJaOztBc043ejBCSTtFaE5oR0ksd0VnTm9HSTtFaE5qR0osNEZnTitGSTtFaE41RkosbUdnTjZGSTtBdE5nMDBCWjs7QXNOM3owQkk7RWhOeEdJLGdHZ04wR2E7QXRONnowQnJCOztBc052ejBCSTtFaE5oSEksb0dnTm9ISTtFaE5qSEoseUZnTitHSTtFaE41R0osZ0dnTjZHSTtBdE4wejBCWjs7QXNOcnowQkk7RWhOeEhJLDRFZ040SEk7RWhOekhKLGdHZ051SEk7RWhOcEhKLDRFZ05xSEk7QXROd3owQlo7O0FzTm56MEJJO0VoTmhJSSxvRGdOaUl3QjtBdE5zejBCaEM7O0FzTm56MEJJO0VoTnBJSSxvRGdOcUl3QjtBdE5zejBCaEM7O0FzTi95MEJJO0VoTjVJSSxtRmdOZ0pJO0VoTjdJSix3RWdOMklJO0VoTnhJSiwrRWdOeUlJO0F0Tmt6MEJaOztBc045eTBCSTtFQUNJO0F0Tml6MEJSOztBc043eTBCSTtFaE54SkksMkZnTjRKSTtFaE56Skosc0ZnTnVKSTtFaE5wSkosdUZnTnFKSTtBdE5nejBCWjs7QXNOenkwQkk7RWhObEtJLDJGZ05zS0k7RWhObktKLHNGZ05pS0k7RWhOOUpKLHVGZ04rSkk7QXRONHkwQlo7QXNOeHkwQlE7RUFDSTtBdE4weTBCWjs7QXNOdHkwQkk7Ozs7RUFJSTtBdE55eTBCUjs7QXNOdHkwQkk7RUFDSTtFQUNBO0F0Tnl5MEJSOztBc05yeTBCSTs7O0VBR0k7QXROd3kwQlI7O0FzTnJ5MEJJO0VBQ0k7QXROd3kwQlI7O0FzTnJ5MEJJO0VBQ0k7QXROd3kwQlI7O0FzTnJ5MEJJO0VBQ0k7QXROd3kwQlI7O0FzTmx5MEJRO0VBQ0k7QXROcXkwQlo7O0F1TmwvMEJRO0VBQ0k7QXZOcS8wQlo7QXVObC8wQlE7RUFDSTtFQUNBO0VBQ0E7QXZOby8wQlo7QXVOai8wQlk7RUFDSTtFQUNBO0VBR0E7QXZOaS8wQmhCO0F1TjcrMEJROzs7RUFHSTtBdk4rKzBCWjtBdU41KzBCUTtFQUNJO0F2TjgrMEJaO0F1TjMrMEJROztFQUVJO0VBQ0E7RUFDQTtBdk42KzBCWjtBdU4xKzBCUTtFQUNJO0F2TjQrMEJaO0F1TnorMEJROztFQUVJO0F2TjIrMEJaOztBdU5wKzBCUTs7O0VBR0k7QXZOdSswQlo7QXVOcCswQlE7RUFDSTtFQUNBO0VBQ0E7RUFDQTtBdk5zKzBCWjtBdU5uKzBCUTtFQUNJO0VBQ0E7QXZOcSswQlo7QXVObCswQlE7RUFDSTtBdk5vKzBCWjtBdU5qKzBCUTtFQUNJO0F2Tm0rMEJaO0F1TmgrMEJRO0VBQ0k7QXZOayswQlo7O0F1Tjc5MEJJO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0F2TmcrMEJSOztBdU43OTBCSTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0F2TmcrMEJSOztBd05oazFCUTs7Ozs7O0VBR0k7QXhOc2sxQlo7O0F5TjNrMUJJO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7QXpOOGsxQlI7QXlONWsxQlE7OztFQUdJO0F6TjhrMUJaO0F5TjNrMUJRO0VBQ0k7QXpONmsxQlo7QXlOM2sxQlk7RUFDSTtBek42azFCaEI7QXlOemsxQlE7O0VBRUk7QXpOMmsxQlo7QXlOeGsxQlE7O0VBRUk7QXpOMGsxQlo7QXlOdmsxQlE7RUFDSTtFQUNBO0VBQ0E7RUFDQTtBek55azFCWjtBeU52azFCWTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBek55azFCaEI7QXlOdGsxQlk7RUFDSTtBek53azFCaEI7QXlOcmsxQlE7O0VBQ0k7QXpOd2sxQlo7QXlOcmsxQlE7RUFDSTtBek51azFCWjtBeU5yazFCWTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBek51azFCaEI7QXlObGsxQlE7O0VBRUk7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0F6Tm9rMUJaO0F5TmhrMUJROzs7Ozs7RUFNSTtBek5razFCWjs7QTBOdHAxQkk7RUFDSTtBMU55cDFCUjtBME52cDFCUTtFQUNJO0ExTnlwMUJaO0EwTnRwMUJRO0VBQ0k7QTFOd3AxQlo7QTBOcHAxQlE7Ozs7RUFJSTtBMU5zcDFCWjtBME5scDFCUTs7RUFFSTtBMU5vcDFCWjs7QTJOeHExQkk7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0EzTjJxMUJSOztBMk50cTFCSTtFQUNJO0EzTnlxMUJSOztBMk52cTFCSTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QTNOMHExQlI7O0EyTnJxMUJJO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QTNOd3ExQlI7O0EyTnJxMUJJO0VBQ0k7QTNOd3ExQlI7O0EyTm5xMUJJO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QTNOc3ExQlI7O0EyTnBxMUJJO0VBQ0k7QTNOdXExQlI7O0EyTmxxMUJJO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0EzTnFxMUJSOztBMk5qcTFCSTtFQUNJO0EzTm9xMUJSOztBMk5ocTFCSTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QTNObXExQlI7O0EyTjlwMUJJO0VBQ0k7RUFDQTtBM05pcTFCUjtBMk45cDFCUTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QTNOZ3ExQlo7QTJONXAxQlE7RUFDSTtFQUNBO0VBQ0E7QTNOOHAxQlo7QTJOMXAxQlE7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QTNONHAxQlo7QTJOeHAxQlE7RUFDSTtBM04wcDFCWjs7QTJOcHAxQkk7RUFDSTtFQUNBO0EzTnVwMUJSO0EyTnBwMUJRO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7QTNOc3AxQlo7QTJObHAxQlE7RUFDSTtFQUNBO0VBQ0E7QTNOb3AxQlo7O0EyTjlvMUJJO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBM05pcDFCUjtBMk45bzFCUTtFQUNJO0VBQ0E7RUFDQTtBM05ncDFCWjtBMk41bzFCUTtFQUNJO0VBQ0E7QTNOOG8xQlo7QTJONW8xQlE7RUFBMEI7QTNOK28xQmxDO0EyTjlvMUJRO0VBQTZCO0EzTmlwMUJyQztBMk45bzFCUTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0EsZ0RDN0I0QjtBNU42cTFCeEM7QTJOOW8xQlE7RUFDSTtBM05ncDFCWjtBMk45bzFCUTtFQUNJO0EzTmdwMUJaO0EyTjlvMUJRO0VBQ0k7QTNOZ3AxQlo7QTJOOW8xQlE7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QTNOZ3AxQlo7O0EyTjFvMUJJO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0EzTjZvMUJSOztBMk54bzFCSTtFQUNJO0VBQ0E7QTNOMm8xQlI7O0EyTnJvMUJJO0VBQ0k7RUFDQTtFQUNBO0EzTndvMUJSOztBMk5ybzFCSTtFQUNJO0EzTndvMUJSOztBNk5sMzFCSTtFdk5GSSxzRnVOTUk7RXZOSEosMkV1TkNJO0V2TkVKLHNGdU5ESTtBN05xMzFCWjs7QTZOOTIxQkk7RXZOWkksOEZ1TmdCSTtFdk5iSixtRnVOV0k7RXZOUkosMkZ1TlNJO0E3TmkzMUJaOztBNk4xMjFCSTtFdk50Qkksa0V1TjBCSTtFdk52QkoseUR1TnFCSTtFdk5sQkosc0V1Tm1CSTtBN042MjFCWjs7QTZOdDIxQkk7RXZOaENJLGtFdU5vQ0k7RXZOakNKLHlEdU4rQkk7RXZONUJKLDhGdU42Qkk7QTdOeTIxQlo7O0E2TmwyMUJJO0V2TjFDSSxnRXVOOENJO0V2TjNDSix1RHVOeUNJO0V2TnRDSixvRXVOdUNJO0E3TnEyMUJaO0E2TmgyMUJZO0V2TmxESiwwRXVOc0RZO0V2Tm5EWiwyRnVOaURZO0V2TjlDWiw4RXVOK0NZO0E3TmsyMUJwQjtBNk43MTFCWTtFdk4xREosZ0Z1TjhEWTtFdk4zRFosdUV1TnlEWTtFdk50RFosb0Z1TnVEWTtBN04rMTFCcEI7QTZOMTExQlk7RXZObEVKLG1GdU5zRVk7RXZObkVaLDBFdU5pRVk7RXZOOURaLHVGdU4rRFk7QTdONDExQnBCOztBNk5sMTFCSTtFdk4vRUksNER1Tm1GSTtFdk5oRkosbUR1TjhFSTtFdk4zRUosZ0V1TjRFSTtBN05xMTFCWjs7QTZOOTAxQkk7RXZOekZJLCtEdU42Rkk7RXZOMUZKLHNEdU53Rkk7RXZOckZKLG1FdU5zRkk7QTdOaTExQlo7QTZONzAxQlE7RXZOaEdBLG9FdU5vR1E7RXZOakdSLHFGdU4rRlE7RXZONUZSLHdFdU42RlE7QTdOKzAxQmhCOztBOE5oNzFCSTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QTlObTcxQlI7QThOajcxQlE7OztFQUdJO0E5Tm03MUJaOztBOE45NjFCSTtFQUNJO0VBQ0E7QTlOaTcxQlI7O0E4Tjc2MUJJO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QTlOZzcxQlI7O0E4TjU2MUJJO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0E5Tis2MUJSOztBOE41NjFCSTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBOU4rNjFCUjs7QThONTYxQkk7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBOU4rNjFCUjs7QThONTYxQkk7RUFDSTtFQUNBO0VBQ0E7RUFDQTtBOU4rNjFCUjs7QThONTYxQkk7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0E5Tis2MUJSOztBOE41NjFCSTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0E5Tis2MUJSOztBOE4xNjFCUTs7RUFDSTtBOU44NjFCWjtBOE4zNjFCUTs7RUFDSTtBOU44NjFCWjs7QThOejYxQkk7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QTlONDYxQlI7O0E4Tno2MUJJO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QTlONDYxQlI7O0E4Tno2MUJJO0VBQ0k7RUFDQTtBOU40NjFCUjs7QThOejYxQkk7RUFDSTtFQUNBO0E5TjQ2MUJSOztBOE56NjFCSTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0E5TjQ2MUJSOztBOE56NjFCSTtFQUNJO0VBQ0E7QTlONDYxQlI7O0E4Tno2MUJJO0VBQ0k7RUFDQTtFQUNBO0E5TjQ2MUJSOztBOE52NjFCUTtFQUNJO0E5TjA2MUJaO0E4TnY2MUJROzs7RUFHSTtFQUNBO0E5Tnk2MUJaO0E4TnQ2MUJRO0VBQ0k7QTlOdzYxQlo7QThOcjYxQlE7RUFDSTtFQUNBO0VBQ0E7RUFDQTtBOU51NjFCWjtBOE5wNjFCUTtFQUNJO0E5TnM2MUJaOztBOE5qNjFCSTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0E5Tm82MUJSOztBK054bTJCSTtFek5GSSxtRnlOTUk7RXpOSEosd0V5TkNJO0V6TkVKLCtFeU5ESTtBL04ybTJCWjs7QStOcm0yQkk7RXpOWEksK0R5TmVJO0V6TlpKLCtFeU5VSTtFek5QSix1RnlOUUk7QS9Od20yQlo7O0ErTnBtMkJJOztFek5sQkksc0Z5TnVCSTtFek5wQkoscUZ5TmtCSTtFek5mSiw2RnlOZ0JJO0EvTnVtMkJaOztBK05sbTJCSTtFek54Qkksc0Z5TjBCWTtBL05vbTJCcEI7O0ErTi9sMkJJO0V6TmxDSSx3RnlOc0NJO0V6Tm5DSiw2RXlOaUNJO0V6TjlCSixvRnlOK0JJO0EvTmttMkJaOztBK043bDJCSTtFek52Q0ksb0Z5TnlDWTtBL04rbDJCcEI7O0ErTnpsMkJRO0V2TmxEQSw4RnVObURJO0EvTjRsMkJaO0ErTnZsMkJRO0V6TnhEQSxtRHlONERRO0V6TnpEUiwwQ3lOdURRO0V6TnBEUixtRHlOcURRO0EvTnlsMkJoQjtBK05wbDJCWTtFek43REosMEN5TjhEK0I7QS9Oc2wyQnZDOztBK05obDJCSTtFek52RUksb0d5TjBFYTtFek5wRWIsNkl5Tm1FUztBL05tbDJCakI7O0FnT25wMkJJO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBLDZDdkxQdUI7QXpDNnAyQi9CO0FnT25wMkJZO0VBQ0k7QWhPcXAyQmhCO0FnT2xwMkJZO0VBQ0k7RUFDQTtBaE9vcDJCaEI7O0FnTzdvMkJJO0U1TnBDSSxxRDROcUN3QjtFQUN4QjtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QWhPZ3AyQlI7O0FnTzVvMkJJO0VBQ0k7RUFDQTtBaE8rbzJCUjs7QWdPM28yQkk7RUFDSTtFQUNBO0FoTzhvMkJSOztBZ08xbzJCSTtFQUNJO0VBQ0E7QWhPNm8yQlI7O0FnTzFvMkJJO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBaE82bzJCUjtBZ08zbzJCUTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0FoTzZvMkJaO0FnTzFvMkJRO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7QWhPNG8yQlo7QWdPem8yQlE7RUFDSTtFQUNBO0VBQ0E7RUFDQTtBaE8ybzJCWjtBZ094bzJCUTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0FoTzBvMkJaO0FnT3ZvMkJRO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7QWhPeW8yQlo7QWdPdG8yQlE7RUFDSTtFQUNBO0VBQ0E7RUFDQTtBaE93bzJCWjtBZ09ybzJCUTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0FoT3VvMkJaO0FnT3BvMkJRO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7QWhPc28yQlo7O0FnT2xvMkJJO0VBQ0k7RUFDQTtBaE9xbzJCUjs7QWdPam8yQkk7RUFDSTtBaE9vbzJCUjtBZ09sbzJCUTs7RUFFSTtBaE9vbzJCWjs7QWdPN24yQkk7RUFDSTtFQUNBO0FoT2dvMkJSO0FnTzduMkJZO0VBQ0k7QWhPK24yQmhCO0FnTzVuMkJZOztFQUVJO0FoTzhuMkJoQjs7QWdPdm4yQkk7RUFDSTtFQUNBO0FoTzBuMkJSO0FnT3huMkJRO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7QWhPMG4yQlo7QWdPdm4yQlE7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FoT3luMkJaO0FnT3ZuMkJZO0VBQ0k7QWhPeW4yQmhCO0FnT3RuMkJZO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QWhPd24yQmhCO0FnT25uMkJRO0VBQ0k7QWhPcW4yQlo7QWdPbG4yQlE7OztFQUdJO0FoT29uMkJaO0FnT2puMkJRO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBaE9tbjJCWjtBZ09objJCUTs7RUFFSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBaE9rbjJCWjtBZ08vbTJCUTtFQUNJO0VBQ0E7QWhPaW4yQlo7QWdPL20yQlE7RUFDSTtBaE9pbjJCWjtBZ083bTJCUTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QWhPK20yQlo7O0FnTzNtMkJJO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQSw4QzNFL011QjtFMkVnTnZCLDhDM0VuTnVCO0FySmkwMkIvQjs7QWdPMW0yQkk7RUFDSTtFQUNBO0VBQ0E7QWhPNm0yQlI7QWdPM20yQlE7RUFDSTtBaE82bTJCWjtBZ08xbTJCUTtFQUNJO0VBQ0EsV0MxTUc7RUQyTUgsWUMzTUc7RUQ0TUg7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBaE80bTJCWjs7QWdPeG0yQkk7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FoTzJtMkJSO0FnT3ptMkJROztFQUVJO0FoTzJtMkJaOztBZ09wbTJCUTtFQUNJO0FoT3VtMkJaO0FnT3BtMkJROzs7RUFDSTtBaE93bTJCWjtBZ09ybTJCUTtFQUNJO0VBQ0E7RUFDQTtBaE91bTJCWjtBZ09wbTJCUTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBaE9zbTJCWjs7QWdPam0yQkk7RUFDSTtFQUNBO0VBQ0E7QWhPb20yQlI7O0FnT2ptMkJJO0VBQ0k7QWhPb20yQlI7QWdPam0yQlE7RUFDSTtBaE9tbTJCWjtBZ09qbTJCWTtFQUFXO0FoT29tMkJ2QjtBZ09sbTJCUTtFQUNJO0FoT29tMkJaO0FnT2xtMkJRO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7QWhPb20yQlo7QWdPbG0yQlk7RUFDSTtFQUNBO0FoT29tMkJoQjtBZ09sbTJCWTtFQUNJO0VBQ0E7QWhPb20yQmhCO0FnTy9sMkJRO0VBQ0k7QWhPaW0yQlo7QWdPOWwyQlE7RUFDSTtFQUNBO0VBQ0E7QWhPZ20yQlo7QWdPOWwyQlk7RUFDSTtBaE9nbTJCaEI7QWdPN2wyQlk7RUFDSTtBaE8rbDJCaEI7QWdPM2wyQlE7RUFDSTtBaE82bDJCWjtBZ096bDJCUTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBaE8ybDJCWjtBZ094bDJCUTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RTVOaGFKLHFENE5pYTRCO0FoTzBsMkJwQztBZ094bDJCWTs7RUFFSTtBaE8wbDJCaEI7QWdPdmwyQlk7RUFDSTtBaE95bDJCaEI7QWdPdGwyQlk7RUFDSTtFQUNBO0VBQ0E7RUFDQTtBaE93bDJCaEI7QWdPcGwyQlE7RUFDSTtFQUNBO0FoT3NsMkJaO0FnT3BsMkJZO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7QWhPc2wyQmhCO0FnT25sMkJZO0VBQ0k7RUFDQTtFQUNBO0FoT3FsMkJoQjtBZ09qbDJCUTtFQUNJO0VBQ0E7QWhPbWwyQlo7QWdPaGwyQlE7RUFDSTtFQUNBLGtEcEkxYmU7RW9JMmJmLHNEcElqYmU7QTVGbWczQjNCO0FnT2hsMkJZO0VBQ0k7RUFDQTtBaE9rbDJCaEI7O0FnTzFrMkJRO0VBQ0k7RUFDQTtFQUNBO0FoTzZrMkJaO0FnTzNrMkJZO0VBQ0k7RUFDQTtBaE82azJCaEI7QWdPemsyQlE7RUFDSTtBaE8yazJCWjs7QWdPcmsyQlE7RUFDSTtFQUNBO0VBQ0E7QWhPd2syQlo7QWdPdGsyQlk7RUFFSTtFQUNBO0VBQ0E7QWhPdWsyQmhCO0FnT3BrMkJZO0VBQ0k7RUFDQTtFQUNBO0FoT3NrMkJoQjtBZ09sazJCUTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBaE9vazJCWjtBZ09sazJCWTtFQUNJO0VBQ0E7QWhPb2syQmhCO0FnT2xrMkJnQjtFQUNJO0FoT29rMkJwQjtBZ09qazJCZ0I7RUFDSTtBaE9tazJCcEI7QWdPaGsyQmdCO0VBQ0k7QWhPa2syQnBCO0FnTy9qMkJnQjtFQUNJO0FoT2lrMkJwQjtBZ085ajJCZ0I7RUFDSTtBaE9nazJCcEI7QWdPN2oyQmdCO0VBQ0k7QWhPK2oyQnBCO0FnTzVqMkJnQjtFQUNJO0FoTzhqMkJwQjtBZ08zajJCZ0I7RUFDSTtBaE82ajJCcEI7QWdPeGoyQlE7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FoTzBqMkJaO0FnT3hqMkJZO0VBQ0k7RUFDQTtBaE8wajJCaEI7QWdPeGoyQmdCO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FoTzBqMkJwQjtBZ09yajJCUTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QWhPdWoyQlo7QWdPcmoyQlk7RUFDSTtFQUNBO0VBQ0E7QWhPdWoyQmhCO0FnT3BqMkJZO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FoT3NqMkJoQjtBZ09uajJCWTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBaE9xajJCaEI7O0FrT3BwM0JJO0U1TkRJLGdGNE5LSTtFNU5GSjtFQUdBLDRFNE5GSTtBbE91cDNCWjs7QWtPaHAzQlk7O0VBRUk7QWxPbXAzQmhCOztBa08xbzNCWTtFQUVJO0FsTzRvM0JoQjtBa094bzNCUTtFQUNJO0VBQ0E7QWxPMG8zQlo7QWtPcm8zQmdCO0VBQ0k7QWxPdW8zQnBCO0FrT2pvM0JZO0VBQ0k7QWxPbW8zQmhCO0FrTzluM0JRO0VBRUk7QWxPK24zQlo7O0FrTzFuM0JJO0U1TnZESSxrRzROMERhO0U1TnBEYiwrRjRObURTO0FsTzZuM0JqQjs7QWtPem4zQkk7RUFDSTtBbE80bjNCUjs7QWtPdG4zQlE7RTVOcEVBLHdGNE53RVE7RTVOckVSLDhFNE5tRVE7RTVOaEVSLG9GNE5pRVE7QWxPeW4zQmhCO0FrT3BuM0JRO0U1TjVFQSxtRDROK0VpQjtFNU56RWpCLG1ENE53RWE7QWxPc24zQnJCOztBa081bTNCUTtFNU5yRkEsaUY0TndGZ0I7RTVOckZoQixzRjROc0ZhO0FsTzZtM0JyQjtBa096bTNCUTtFNU4xRkEsOEg0TjRGYTtBbE8wbTNCckI7QWtPcm0zQlE7O0VBRUk7QWxPdW0zQlo7QWtPcG0zQlE7RUFDSTtBbE9zbTNCWjs7QW1PanQzQkk7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQSw2QzFMRHVCO0F6Q3F0M0IvQjtBbU9sdDNCUTs7O0VBR0k7QW5Pb3QzQlo7O0FtTzlzM0JJO0VBQ0k7QW5PaXQzQlI7O0FtTzVzM0JJO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBbk8rczNCUjs7QW1PMXMzQkk7RUFDSTtFQUNBO0VBQ0E7RUFDQTtBbk82czNCUjs7QW1PM3MzQkk7RUFDSTtFQUNBO0VBQ0E7RUFDQTtBbk84czNCUjs7QW1PenMzQkk7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBbk80czNCUjtBbU8xczNCUTs7RUFFSTtBbk80czNCWjs7QW1PdHMzQkk7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FuT3lzM0JSOztBbU90czNCSTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBbk95czNCUjtBbU92czNCUTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0FuT3lzM0JaO0FtT3RzM0JROzs7O0VBSUk7RUFDQTtBbk93czNCWjtBbU9yczNCUTs7RUFFSTtFQUNBO0VBQ0E7RUFDQTtBbk91czNCWjtBbU9wczNCUTs7RUFFSTtFQUNBO0VBQ0E7RUFDQTtBbk9zczNCWjtBbU9uczNCUTtFQUNJO0FuT3FzM0JaO0FtT2xzM0JRO0VBQ0k7QW5Pb3MzQlo7QW1PaHMzQlE7RUFDSTtBbk9rczNCWjtBbU8vcjNCUTtFQUNJO0FuT2lzM0JaO0FtTzlyM0JRO0VBQ0k7QW5PZ3MzQlo7QW1PN3IzQlE7RUFDSTtBbk8rcjNCWjtBbU81cjNCUTtFQUNJO0FuTzhyM0JaOztBb09sMTNCSTtFOU5GSSx1SDhOTUk7RTlOSEosMkU4TkNJO0U5TkVKLGtGOE5ESTtBcE9xMTNCWjs7QW9PLzAzQkk7RTlOWEksK0Q4TmVJO0U5TlpKLHNEOE5VSTtFOU5QSix1SThOUUk7QXBPazEzQlo7O0FvTzUwM0JJO0U5TnBCSSxtRThOd0JJO0U5TnJCSiwwRDhObUJJO0U5TmhCSiw4RjhOaUJJO0FwTyswM0JaOztBb096MDNCSTtFOU43QkksNEY4TmlDSTtFOU45QkosbUQ4TjRCSTtFOU56QkosNEQ4TjBCSTtBcE80MDNCWjs7QW9PdDAzQkk7RTlOaENJLCtFOE5rQ1M7QXBPdzAzQmpCOztBcU8zMjNCSTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBLDZDNUxKdUI7QXpDazMzQi9CO0FxTzUyM0JRO0VBQ0k7QXJPODIzQlo7QXFPMTIzQlE7RUFDSTtFQUNBO0VBQ0E7QXJPNDIzQlo7QXFPMTIzQlE7RUFDSTtBck80MjNCWjtBcU8xMjNCUTtFQUNJO0VBQ0E7QXJPNDIzQlo7QXFPMTIzQlE7RUFDSTtBck80MjNCWjtBcU8xMjNCUTtFQUNJO0FyTzQyM0JaO0FxT3oyM0JRO0VBQ0k7QXJPMjIzQlo7QXFPdjIzQlE7RUFDSTtFQUNBO0VBQ0E7QXJPeTIzQlo7QXFPcDIzQlE7RUFDSTtFQUNBO0FyT3MyM0JaO0FxT2wyM0JRO0VBQ0k7QXJPbzIzQlo7QXFPaDIzQlE7RUFDSTtFQUNBO0VBQ0E7QXJPazIzQlo7QXFPaDIzQlk7RUFDSTtBck9rMjNCaEI7QXFPaDIzQlk7O0VBRUk7QXJPazIzQmhCO0FxT2gyM0JZO0VBQ0k7QXJPazIzQmhCO0FxT2gyM0JZOztFQUVJO0FyT2syM0JoQjtBcU8vMTNCZ0I7RUFDSSw4Q3pCMUVTO0V5QjJFVCwrQ3pCOUVTO0V5QitFVDtFQUNBO0FyT2kyM0JwQjtBcU83MTNCWTtFQUNJO0FyTysxM0JoQjtBcU8zMTNCWTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0FyTzYxM0JoQjtBcU8zMTNCZ0I7RUFFSTtBck80MTNCcEI7QXFPejEzQmdCO0VBQ0k7QXJPMjEzQnBCO0FxT3gxM0JZO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBck8wMTNCaEI7QXFPeDEzQlk7RUFDSTtBck8wMTNCaEI7QXFPdDEzQlk7RUFDSTtFQUNBO0VBQ0E7QXJPdzEzQmhCO0FxT3QxM0JnQjtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBck93MTNCcEI7QXFPbjEzQlk7RUFDSTtFQUNBO0FyT3ExM0JoQjtBcU9uMTNCWTtFQUNJO0VBQ0E7QXJPcTEzQmhCO0FxT2oxM0JZO0VBQ0k7QXJPbTEzQmhCO0FxT2oxM0JZO0VBQ0k7QXJPbTEzQmhCO0FxT2oxM0JZO0VBQ0k7QXJPbTEzQmhCO0FxTy8wM0JZO0VBQ0k7RUFDQTtFQUNBO0FyT2kxM0JoQjtBcU81MDNCUTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBck84MDNCWjtBcU81MDNCWTtFQUNJO0FyTzgwM0JoQjs7QXFPeDAzQkk7RUFDSTtFQUNBO0VBQ0E7QXJPMjAzQlI7O0FxT3owM0JJO0VBQ0k7RUFDQTtBck80MDNCUjs7QXFPdjAzQkk7RUFDSTtBck8wMDNCUjtBcU94MDNCUTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0FyTzAwM0JaOztBcU9wMDNCSTtFQUNJO0FyT3UwM0JSOztBcU9wMDNCSTtFQUdRO0lBQ0k7RXJPcTAzQmQ7RXFPbjAzQlU7O0lBRUksNENuSmpOWTtJbUprTlosdUduSi9LUztJbUpnTFQsd0duSmhMUztFbEZxLzNCdkI7RXFPbDAzQmM7O0lBQ0k7RXJPcTAzQmxCO0FBQ0Y7QXFPL3ozQkk7RUFDSTtJQUF3QztFck9rMDNCOUM7RXFPajAzQk07SUFBMkM7RXJPbzAzQmpEO0FBQ0Y7QXFPaDAzQkk7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FyT2swM0JSOztBcU8zejNCUTtFQUNJO0VBQ0E7QXJPOHozQlo7QXFPNXozQlE7O0VBRUk7QXJPOHozQlo7QXFPNXozQlE7RUFDSTtFQUNBO0FyTzh6M0JaO0FxTzV6M0JRO0VBQ0k7RUFDQTtBck84ejNCWjtBcU81ejNCUTtFQUNJO0FyTzh6M0JaO0FxTzV6M0JRO0VBQ0k7QXJPOHozQlo7QXFPMXozQlk7RUFDSTtBck80ejNCaEI7O0FxT256M0JRO0VBQ0k7RUFDQTtFQUNBO0FyT3N6M0JaO0FxT3B6M0JZOzs7RUFLSTtBck9vejNCaEI7QXFPaHozQlE7RUFDSTtBck9rejNCWjtBcU9oejNCUTtFQUNJLDhDekJ6U2lCO0V5QjBTakIsK0N6QjdTaUI7RXlCOFNqQjtFQUNBO0VBQ0EsOEJDdFRjO0VEdVRkO0VBQ0E7QXJPa3ozQlo7O0FxTzN5M0JJO0VBQ0k7RUFDQTtBck84eTNCUjs7QXFPNXkzQkk7O0VBRUk7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBck8reTNCUjs7QXFPenkzQkk7RUFDSTtFQUNBO0VBQ0E7RUFDQTtBck80eTNCUjtBcU96eTNCUTs7RUFFSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FyTzJ5M0JaO0FxT3p5M0JRO0VBQ0k7RUFDQTtBck8yeTNCWjtBcU96eTNCUTtFQUNJO0VBQ0E7QXJPMnkzQlo7O0FxT3R5M0JJO0VBQ0k7RUFDQTtFQUNBO0FyT3l5M0JSOztBcU92eTNCSTtFQUNJO0FyTzB5M0JSOztBcU92eTNCSTtFQUNJO0FyTzB5M0JSOztBcU92eTNCSTtFQUNJO0FyTzB5M0JSOztBcU92eTNCSTtFQUNJO0FyTzB5M0JSOztBcU9yeTNCSTtFQUNJO0FyT3d5M0JSO0FxT3R5M0JROztFQUVJO0VBQ0E7RUFDQTtBck93eTNCWjtBcU90eTNCUTtFQUFZO0FyT3l5M0JwQjs7QXFPdHkzQkk7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QXJPeXkzQlI7O0FxT3Z5M0JJO0VBQ0k7QXJPMHkzQlI7O0FxT3h5M0JJO0VBQ0k7RUFDQTtBck8yeTNCUjs7QXFPenkzQkk7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FyTzR5M0JSOztBcU8xeTNCSTs7RUFFSTtBck82eTNCUjs7QXFPM3kzQkk7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FyTzh5M0JSOztBcU81eTNCSTs7RUFFSTtBck8reTNCUjs7QXFPN3kzQkk7RUFBZ0I7QXJPaXozQnBCOztBcU9oejNCSTtFQUFjO0FyT296M0JsQjs7QXFPbHozQkk7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBRUE7RUFDQTtBck9vejNCUjs7QXFPanozQkk7RUFDSTtBck9vejNCUjs7QXFPL3kzQkk7RUFDSTtFQUNBO0FyT2t6M0JSOztBcU9oejNCSTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBck9tejNCUjs7QXFPN3kzQkk7RUFDSTtFQUNBO0VBQ0E7QXJPZ3ozQlI7O0FxTzl5M0JJOztFQUVJO0FyT2l6M0JSO0FxTy95M0JROzs7RUFFSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBck9rejNCWjtBcU8veTNCUTs7RUFDSTtFQUNBO0FyT2t6M0JaO0FxT2h6M0JROztFQUNJO0VBQ0E7QXJPbXozQlo7O0FxT2h6M0JJO0VBQ0k7RUFDQTtFQUNBO0FyT216M0JSOztBcU9qejNCSTtFQUNJO0VBQ0E7QXJPb3ozQlI7O0FxTzl5M0JJO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBck9pejNCUjtBcU8veTNCUTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0FyT2l6M0JaO0FxTzl5M0JRO0VBQ0k7RUFDQTtFQUNBO0FyT2d6M0JaO0FxTzd5M0JRO0VBQ0k7QXJPK3kzQlo7QXFPNXkzQlE7RUFDSTtFQUNBO0FyTzh5M0JaO0FxTzN5M0JRO0VBQ0k7QXJPNnkzQlo7QXFPMXkzQlE7RUFDSTtFQUNBO0FyTzR5M0JaO0FxT3p5M0JRO0VBRUk7QXJPMHkzQlo7O0FxT3Z5M0JJO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QXJPMHkzQlI7O0FxT3h5M0JJO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QXJPMnkzQlI7O0FxT3p5M0JJO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FyTzR5M0JSOztBcU8xeTNCSTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QXJPNnkzQlI7O0FxTzN5M0JJO0VBQ0k7QXJPOHkzQlI7O0FxTzN5M0JJO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBck84eTNCUjtBcU81eTNCUTtFQUNJO0VBQ0E7QXJPOHkzQlo7O0FxT3h5M0JJO0VBQ0k7RUFDQTtFQUNBO0FyTzJ5M0JSO0FxT3p5M0JRO0VBQ0k7RUFDQTtFQUNBO0FyTzJ5M0JaO0FxT3p5M0JRO0VBQ0k7QXJPMnkzQlo7QXFPenkzQlE7RUFDSTtBck8yeTNCWjs7QXFPcnkzQlE7OztFQUdJO0FyT3d5M0JaO0FxT3J5M0JRO0VBQ0k7RUFDQTtBck91eTNCWjtBcU9weTNCUTtFQUNJO0FyT3N5M0JaO0FxT255M0JRO0VBQ0k7QXJPcXkzQlo7QXFPbHkzQlE7RUFDSTtBck9veTNCWjtBcU9qeTNCUTtFQUNJO0FyT215M0JaOztBcU85eDNCSTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0FyT2l5M0JSO0FxTy94M0JRO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FyT2l5M0JaO0FxTzl4M0JRO0VBQ0k7QXJPZ3kzQlo7QXFPN3gzQlE7RUFDSTtBck8reDNCWjtBcU81eDNCUTtFQUNJO0FyTzh4M0JaOztBcU8xeDNCSTtFQUNJO0FyTzZ4M0JSOztBcU94eDNCUTtFQUNJO0FyTzJ4M0JaOztBcU90eDNCSTtFQUNJO0FyT3l4M0JSOztBcU90eDNCSTtFQUNJO0VBQ0E7QXJPeXgzQlI7QXFPdngzQlE7RUFDSTtFQUNBO0VBQ0E7RUFDQTtBck95eDNCWjtBcU90eDNCUTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QXJPd3gzQlo7O0FxT3B4M0JJOzs7O0VBSUk7QXJPdXgzQlI7O0FxT2x4M0JJO0VBQ0k7RUFDQTtBck9xeDNCUjtBcU9ueDNCUTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBck9xeDNCWjs7QXFPbHgzQkk7RUFDSTtFQUNBO0VBQ0E7QXJPcXgzQlI7O0FxT254M0JJO0VBQ0k7RUFDQTtBck9zeDNCUjs7QXFPcHgzQkk7RUFDSTtBck91eDNCUjs7QXFPcngzQkk7O0VBRUk7RUFDQTtFQUNBO0FyT3d4M0JSOztBcU9ueDNCUTtFQUNJO0FyT3N4M0JaO0FxT254M0JROzs7RUFHSTtFQUNBO0VBQ0E7QXJPcXgzQlo7QXFPbHgzQlE7RUFDSTtBck9veDNCWjtBcU9qeDNCUTtFQUNJO0FyT214M0JaOztBcU83dzNCUTs7RUFDSTtBck9peDNCWjs7QXVPN2o1Qkk7RWpPREksK0VpT0tJO0VqT0ZKO0VBR0EsMkVpT0ZJO0F2T2drNUJaO0F1TzFqNUJZO0VqT1ZKLHVGaU9hcUI7RWpPUHJCLHVGaU9NaUI7QXZPNGo1QnpCO0F1T3hqNUJZO0VqT2hCSiwrRmlPbUJxQjtFak9ickIsK0ZpT1lpQjtBdk8wajVCekI7QXVPbmo1Qlk7RUFDSTtFQUNBO0F2T3FqNUJoQjtBdU9sajVCWTtFQUNJO0F2T29qNUJoQjs7QXVPNWk1QlE7O0VBRUk7QXZPK2k1Qlo7O0F1T3ppNUJJO0VqTy9DSSx3RGlPbURJO0VqT2hESiwrQ2lPOENJO0VqTzNDSiwrSGlPNENJO0F2TzRpNUJaOztBdU9waTVCSTtFak8xREksdUZpTzZEYTtFak92RGIsdUZpT3NEUztBdk91aTVCakI7O0F1T25pNUJJOztFak9oRUksNkZpT29FYTtFak85RGIsMEZpTzZEUztBdk9zaTVCakI7O0F1Ty9oNUJJO0VqTzFFSSx1RmlPNkVhO0VqT3ZFYix1RmlPc0VTO0F2T2tpNUJqQjtBdU85aDVCUTtFaE9uRUo7QVBvbTVCSjtBdU83aDVCUTtFak85RUEsOEZpT2dGYTtBdk84aDVCckI7O0F1TzFoNUJJO0VBQ0k7RWpPM0ZBLCtGaU84RmE7RWpPeEZiLCtGaU91RlM7QXZPNmg1QmpCOztBdU90aDVCSTtFQUNJO0F2T3loNUJSO0F1T3ZoNUJRO0VBQ0k7QXZPeWg1Qlo7QXVPdGg1QlE7RUFDSTtBdk93aDVCWjs7QXVPcmg1Qkk7RUFDSTtBdk93aDVCUjs7QXVPdGg1Qkk7RUFDSTtBdk95aDVCUjs7QXVPdmg1Qkk7RUFDSTtBdk8waDVCUjs7QXVPeGg1Qkk7RUFDSTtBdk8yaDVCUjtBdU96aDVCUTtFQUNJO0F2TzJoNUJaOztBdU9yaDVCSTtFak9sSUkscURpT3NJSTtFak9uSUosNEVpT2lJSTtFak85SEosZ0ZpTytISTtBdk93aDVCWjtBdU9waDVCUTtFak9uSUEsMEZpT3FJYTtBdk9xaDVCckI7QXVPamg1QlE7RWpPeklBLDZGaU8ySWE7QXZPa2g1QnJCO0F1TzlnNUJRO0VqTy9JQSxpR2lPaUphO0F2TytnNUJyQjtBdU8xZzVCWTtFQUNJO0F2TzRnNUJoQjs7QXVPdGc1QlE7RWpPN0pBLDJGaU8rSmE7QXZPd2c1QnJCO0F1T3BnNUJRO0VqT25LQSxrR2lPcUthO0F2T3FnNUJyQjs7QXVPLy80QlE7RWpPM0tBLDhGaU82S2E7QXZPaWc1QnJCO0F1TzUvNEJZO0VBQ0k7QXZPOC80QmhCOztBdU96LzRCSTtFak85TEksa0VpT2tNSTtFak8vTEoscUZpTzZMSTtFak8xTEosd0dpTzJMSTtBdk80LzRCWjtBdU94LzRCUTtFak8vTEEsbUdpT2lNYTtBdk95LzRCckI7O0F1T24vNEJJO0VqTzFNSSwwQ2lPNE1ZO0F2T3EvNEJwQjs7QXVPbC80Qkk7RWpPL01JLHdGaU9pTlk7QXZPby80QnBCOztBdU85KzRCUTtFak8xTkEsb0ZpTzZOaUI7RWpPdk5qQiw2QmlPc05hO0F2T2kvNEJyQjtBdU83KzRCUTtFak8xTkEsb0ZpTzROYTtBdk84KzRCckI7QXVPMys0QlE7RWpPL05BLG9GaU9pT2E7QXZPNCs0QnJCOztBdU90KzRCSTtFaE9oT0E7QVAwczVCSjtBdU92KzRCUTtFak9oUEEsa0dpT2tQaUI7QXZPdys0QnpCO0F1T3ArNEJRO0VqT25QQSwyRmlPcVBnQjtBdk9xKzRCeEI7O0F1T2grNEJJO0VoT2hQQTtBUG90NUJKOztBdU9oKzRCSTtFak8zUEksMkZpTzZQUztBdk9rKzRCakI7O0F1Tzc5NEJJO0VqT3JRSSwrRWlPdVFZO0VqT3BRWiwyRmlPcVFTO0F2Tys5NEJqQjs7QXVPMzk0Qkk7RWpPNVFJLCtFaU84UVk7RWpPM1FaLG9GaU80UVM7QXZPNjk0QmpCOztBdU96OTRCSTtFak9oUkksc0dpT2tSUztBdk8yOTRCakI7O0F1T3g5NEJJO0VqT3JSSSx5R2lPdVJTO0F2TzA5NEJqQjs7QXVPdjk0Qkk7RWpPMVJJLHlHaU80UlM7QXZPeTk0QmpCOztBNkJ6dTVCZ0I7RUFLWTtBN0J3dTVCNUI7O0E2Qmx1NUJnQjtFQUtZO0E3Qml1NUI1Qjs7QTZCanY1QmdCO0VBS1k7QTdCZ3Y1QjVCOztBNkIxdTVCZ0I7RUFLWTtBN0J5dTVCNUI7O0E2Qnp2NUJnQjtFQUtZO0E3Qnd2NUI1Qjs7QTZCbHY1QmdCO0VBS1k7QTdCaXY1QjVCOztBNkJqdzVCZ0I7RUFLWTtBN0JndzVCNUI7O0E2QjF2NUJnQjtFQUtZO0E3Qnl2NUI1Qjs7QXdPeHg1Qkk7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0EsNkMvTER1QjtBekM0eDVCL0I7QXdPeng1QlE7Ozs7Ozs7Ozs7RUFVSTtBeE8yeDVCWjs7QXdPdng1Qkk7RUFDSTtBeE8weDVCUjtBd094eDVCUTtFQUNJO0F4TzB4NUJaOztBd090eDVCSTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QXhPeXg1QlI7QXdPdng1QlE7O0VBRUk7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QXhPeXg1Qlo7QXdPdHg1QlE7O0VBRUk7QXhPd3g1Qlo7QXdPcng1QlE7RUFDSTtBeE91eDVCWjtBd09weDVCUTtFQUNJO0F4T3N4NUJaOztBd09seDVCSTtFQUNJO0F4T3F4NUJSO0F3T254NUJRO0VBQ0k7RUFDQTtFQUNBO0F4T3F4NUJaO0F3T2x4NUJRO0VBQ0k7QXhPb3g1Qlo7QXdPang1QlE7O0VBRUk7RUFDQTtFQUNBO0F4T214NUJaO0F3T2h4NUJRO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7QXhPa3g1Qlo7QXdPL3c1QlE7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0F4T2l4NUJaO0F3Ty93NUJZO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7QXhPaXg1QmhCO0F3Tzl3NUJZO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0F4T2d4NUJoQjtBd081dzVCZ0I7RUFDSTtFQUNBO0VBQ0E7QXhPOHc1QnBCO0F3T3p3NUJRO0VBQ0k7QXhPMnc1Qlo7QXdPeHc1QlE7RUFDSTtFQUNBO0VBQ0E7QXhPMHc1Qlo7QXdPdnc1QlE7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QXhPeXc1Qlo7QXdPdnc1Qlk7RUFDSTtBeE95dzVCaEI7QXdPdHc1Qlk7RUFDSTtFQUNBO0F4T3d3NUJoQjtBd09ydzVCWTtFQUNJO0VBQ0E7RUFDQTtBeE91dzVCaEI7QXdPcHc1Qlk7RUFDSTtBeE9zdzVCaEI7QXdPbHc1QlE7RUFDSTtBeE9vdzVCWjtBd09qdzVCUTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0F4T213NUJaO0F3T2h3NUJRO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7QXhPa3c1Qlo7QXdPL3Y1QlE7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QXhPaXc1Qlo7O0F3TzV2NUJJO0VBQ0k7RUFDQSwyQm5DdEtxQjtFbUN1S3JCO0VBQ0E7RUFDQTtFQUNBO0F4Tyt2NUJSO0F3Tzd2NUJRO0VBQ0k7QXhPK3Y1Qlo7QXdPM3Y1QlE7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBeE82djVCWjtBd096djVCUTtFQUNJO0VBQ0E7QXhPMnY1Qlo7O0F3T252NUJJO0VBQ0k7RUFDQTtBeE9zdjVCUjs7QXdPanY1Qkk7RWhPdlBJLGdCZ093UEE7RUFDQTtFQUNBLHFCbkNoTnFCO0VtQ2lOckI7RUFDQTtFQUNBO0F4T292NUJSOztBd09odjVCSTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBeE9tdjVCUjtBd09qdjVCUTtFQUNJO0VBQ0E7QXhPbXY1Qlo7QXdPaHY1QlE7O0VBRUk7QXhPa3Y1Qlo7QXdPM3U1QmdCOztFQUNJO0F4Tzh1NUJwQjtBd08zdTVCZ0I7Ozs7O0VBR0k7QXhPK3U1QnBCOztBd096dTVCSTtFQUNJO0VBQ0E7QXhPNHU1QlI7QXdPeHU1Qlk7RUFDSTtBeE8wdTVCaEI7O0F3T3B1NUJJOztFQUVJO0F4T3V1NUJSOztBd09wdTVCSTtFQUNJO0F4T3V1NUJSOztBd09wdTVCSTs7O0VBR0k7RUFDQTtBeE91dTVCUjs7QXdPcHU1Qkk7RUFDSTtFQUNBO0VBQ0E7QXhPdXU1QlI7O0F3T3B1NUJJO0VBQ0k7RUFDQTtFQUNBO0F4T3V1NUJSO0F3T3J1NUJRO0VBQXFCO0F4T3d1NUI3QjtBd090dTVCUTtFQUNJO0VBQ0E7RUFDQTtBeE93dTVCWjtBd09ydTVCUTs7RUFFSTtBeE91dTVCWjtBd09wdTVCUTtFQUNJO0F4T3N1NUJaO0F3T251NUJRO0VBQ0k7QXhPcXU1Qlo7O0F3T2p1NUJJO0VBQ0k7QXhPb3U1QlI7O0F3T2p1NUJJO0VBQ0k7RUFDQTtBeE9vdTVCUjs7QXdPaHU1Qkk7RUFDSTtFQUNBO0VBQ0E7QXhPbXU1QlI7QXdPanU1QlE7RUFDSTtBeE9tdTVCWjs7QXdPN3Q1Qkk7O0VwT3ZYSSxpR29PeVh3QjtFQUN4QjtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0F4T2d1NUJSO0F3Tzl0NUJROztFQUNJO0VBQ0E7RUFDQTtFQUNBO0F4T2l1NUJaO0F3Tzd0NUJROztFQUNJO0F4T2d1NUJaO0F3Tzd0NUJROztFQUNJO0VBQ0E7RUFDQTtFQUNBO0F4T2d1NUJaO0F3TzN0NUJROztFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0F4Tzh0NUJaO0F3TzV0NUJZOztFQUFJO0F4T2d1NUJoQjtBd081dDVCUTs7RUFDSTtFQUNBO0VBQ0E7QXhPK3Q1Qlo7QXdPNXQ1QlE7O0VBQTJCO0F4T2d1NUJuQztBd085dDVCUTs7RUFDSTtFQUNBO0F4T2l1NUJaO0F3Tzl0NUJROztFQUNJO0VBQ0E7QXhPaXU1Qlo7QXdPOXQ1QlE7Ozs7RUFFSTtFQUNBO0F4T2t1NUJaO0F3Ty90NUJROztFQUNJO0VBQ0E7QXhPa3U1Qlo7QXdPL3Q1QlE7O0VBQ0k7RUFDQTtBeE9rdTVCWjtBd08vdDVCUTs7OztFQUVJO0VBQ0E7QXhPbXU1Qlo7QXdPN3Q1Qlk7Ozs7Ozs7RUFFSTtBeE9vdTVCaEI7QXdPaHU1QlE7O0VBQ0k7QXhPbXU1Qlo7QXdPaHU1QlE7Ozs7RUFFSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBeE9vdTVCWjtBd09qdTVCUTs7RUFDSTtFQUNBO0F4T291NUJaOztBd09odTVCSTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QXhPbXU1QlI7QXdPanU1QlE7RUFFSTtBeE9rdTVCWjs7QXdPN3Q1Qkk7RUFDSTtFQUNBO0VBQ0E7RUFDQTtBeE9ndTVCUjs7QXdPNXQ1Qkk7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBeE8rdDVCUjs7QXdPM3Q1Qkk7RUFDSTtFQUNBO0F4Tzh0NUJSO0F3TzV0NUJROzs7O0VBSUk7QXhPOHQ1Qlo7QXdPM3Q1QlE7RUFDSTtBeE82dDVCWjs7QXdPdnQ1Qkk7RUFDSTtFQUNBO0F4TzB0NUJSO0F3T3Z0NUJROztFQUVJO0VBQ0E7QXhPeXQ1Qlo7QXdPcnQ1QlE7RUFFSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QXhPc3Q1Qlo7QXdPbnQ1QlE7RUFDSTtFQUNBO0VBQ0E7RUFDQTtBeE9xdDVCWjtBd09sdDVCUTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0F4T290NUJaOztBd085czVCSTs7O0VBR0k7RUFDQTtBeE9pdDVCUjs7QXdPOXM1Qkk7RUFDSTtBeE9pdDVCUjtBd08vczVCUTtFQUNJO0F4T2l0NUJaO0F3TzlzNUJRO0VBQ0k7QXhPZ3Q1Qlo7QXdPN3M1QlE7O0VBRUk7QXhPK3M1Qlo7O0F3T3ZzNUJJO0VBQ0k7RUFDQTtBeE8wczVCUjs7QXdPdnM1Qkk7RUFDSTtBeE8wczVCUjs7QXdPeHI1QlE7RUFDSTtBeE8ycjVCWjtBd094cjVCUTtFQUNJO0VBQ0E7QXhPMHI1Qlo7QXdPdnI1QlE7RUFDSTtBeE95cjVCWjtBd09ycjVCUTtFQUNJO0VBQ0E7QXhPdXI1Qlo7QXdPcHI1QlE7OztFQUdJO0F4T3NyNUJaO0F3T2xyNUJRO0VBQ0k7QXhPb3I1Qlo7QXdPanI1QlE7RUFDSTtBeE9tcjVCWjs7QXdPM3E1QlE7RUFDSTtFQUNBO0VBQ0E7RUFDQTtBeE84cTVCWjtBd08zcTVCUTtFQUNJO0VBQ0E7RUFDQTtBeE82cTVCWjtBd096cTVCWTs7RUFFSTtBeE8ycTVCaEI7QXdPeHE1Qlk7RUFDSTtBeE8wcTVCaEI7QXdPdHE1QlE7Ozs7RUFJSTtBeE93cTVCWjs7QXdPcHE1Qkk7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0F4T3VxNUJSOztBd09wcTVCSTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0F4T3VxNUJSOztBd09wcTVCSTtFQUNJO0F4T3VxNUJSOztBd09qcTVCUTtFQUNJO0F4T29xNUJaO0F3T2xxNUJRO0VBQ0k7QXhPb3E1Qlo7O0F3T2hxNUJJO0VBQ0k7RUFDQTtBeE9tcTVCUjs7QXdPaHE1Qkk7RUFDSTtBeE9tcTVCUjs7QXdPaHE1Qkk7RUFDSTtBeE9tcTVCUjs7QXdPaHE1Qkk7O0VBRUk7QXhPbXE1QlI7O0F3TzdwNUJRO0VBQ0k7RUFDQTtFQUNBO0F4T2dxNUJaO0F3TzdwNUJRO0VBQ0k7RUFDQTtBeE8rcDVCWjtBd083cDVCWTtFQUNJO0VBQ0E7RUFDQTtBeE8rcDVCaEI7QXdPNXA1Qlk7RUFDSTtBeE84cDVCaEI7QXdPM3A1Qlk7RUFDSTtBeE82cDVCaEI7QXdPMXA1Qlk7RUFDSTtBeE80cDVCaEI7QXdPeHA1QlE7RUFDSSx3RUNubUJ5QztFRG9tQnpDO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QXhPMHA1Qlo7O0F3T3RwNUJJO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7QXhPeXA1QlI7QXdPdnA1QlE7RUFDSTtBeE95cDVCWjtBd092cDVCWTtFQUNJO0VBQ0E7QXhPeXA1QmhCO0F3T3RwNUJZO0VBQ0k7QXhPd3A1QmhCO0F3T3BwNUJRO0VBQ0k7QXhPc3A1Qlo7QXdPbnA1QlE7RUFDSTtFQUNBO0VBQ0E7RUFDQTtBeE9xcDVCWjtBd09scDVCUTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0F4T29wNUJaO0F3T2xwNUJZO0VBQ0k7RUFDQTtFQUNBO0F4T29wNUJoQjtBd09qcDVCWTtFQUNJO0VBQ0E7RUFDQTtBeE9tcDVCaEI7QXdPN281QlE7RUFDSTtFQUNBO0VBQ0E7QXhPK281Qlo7O0F3TzFvNUJRO0VBQ0k7QXhPNm81Qlo7O0F3T3ZvNUJRO0VBQXlCO0F4TzJvNUJqQztBd08xbzVCUTtFQUFnQjtBeE82bzVCeEI7QXdPNW81QlE7RUFBZ0I7QXhPK281QnhCO0F3TzdvNUJRO0VBQ0k7RUFDQTtFQUNBO0F4TytvNUJaO0F3TzNvNUJZOztFQUVJO0F4TzZvNUJoQjtBd096bzVCUTs7O0VBR0k7QXhPMm81Qlo7QXdPeG81QlE7Ozs7RUFJSTtBeE8wbzVCWjtBd092bzVCUTtFQUNJO0VBQ0E7RUFDQTtBeE95bzVCWjs7QXdPam81Qlk7RUFDSTtFQUNBO0F4T29vNUJoQjs7QXdPOW41QlE7RUFDSTtBeE9pbzVCWjtBd085bjVCUTtFQUNJO0F4T2dvNUJaOztBME85aDdCSTtFcE9ESSxtRm9PS0k7RXBPRko7RUFHQSwrRW9PRkk7QTFPaWk3Qlo7O0EwTzNoN0JJO0VwT1ZJLHdIb09jSTtFcE9YSiwyR29PU0k7RXBPTkosaUhvT09JO0VuT1ZBO0FQeWk3Qlo7O0EwTzFoN0JJO0VwT2xCSSx1SG9Pc0JJO0VwT25CSiwwR29PaUJJO0VwT2RKLGdIb09lSTtFbk9sQkE7QVBnajdCWjs7QTBPeGg3Qkk7RUFDRztBMU8yaDdCUDs7QTBPeGg3Qkk7RUFDSTtBMU8yaDdCUjs7QTBPeGc3Qkk7O0VwT2hESSw0Q29PbURJO0VwT2hESix3Rm9PaURJO0ExTzBnN0JaOztBME90ZzdCSTs7RXBPeERJLCtDb08yREk7RXBPeERKLDJGb095REk7QTFPd2c3Qlo7O0EwT3BnN0JJOztFQUVJO0ExT3VnN0JSOztBME9uZzdCUTs7RUFFSTtBMU9zZzdCWjs7QTBPaGc3Qkk7RXBPakZJLHNGb09xRkk7RXBPbEZKLGlGb09nRkk7RXBPN0VKLHNGb084RUk7RW5PakZBO0VDSEosaURrT3dGQTtBMU9pZzdCUjtBME8vLzZCUTtFcE8xRkEsMkZvTzhGUTtFcE8zRlIsZ0ZvT3lGUTtFcE90RlIsdUZvT3VGUTtFbk8xRko7RUNISix1RGtPaUdJO0ExTysvNkJaO0EwTzUvNkJRO0VwT3BHQSwrRm9Pd0dRO0VwT3JHUiwwRm9PbUdRO0VwT2hHUixzR29PaUdRO0VuT3BHSjtFQ0hKLDhEa08yR0k7QTFPNC82Qlo7QTBPei82QlE7RWxPOUdBLHNGa08rR0k7QTFPMi82Qlo7O0EwTzUrNkJJOztFQUVJO0ExTysrNkJSOztBME8xKzZCUTtFQUNJO0ExTzYrNkJaOztBME9yOTZCUTs7OztFcE85SkEsZ0hvT3FLUTtFcE9sS1IsbUVvT2dLUTtFcE83SlIsK0VvTzhKUTtBMU93OTZCaEI7QTBPbjk2QlE7Ozs7RXBPektBLG1Gb09nTFE7RXBPN0tSLHdFb08yS1E7RXBPeEtSLCtFb095S1E7QTFPcTk2QmhCO0EwTy84NkJRO0VwT3JMQSw0Rm9PeUxRO0VwT3RMUixpRm9Pb0xRO0VwT2pMUixnR29Pa0xRO0ExT2k5NkJoQjtBME81ODZCUTs7RUFFSTtBMU84ODZCWjs7QTBPbDg2QlE7RXBPck1BLG1Hb09zTXdCO0ExT3E4NkJoQztBME9sODZCUTtFcE96TUEsZ0hvTzBNd0I7QTFPbzg2QmhDOztBME9oODZCSTtFcE9wTkkscURvT3dOSTtFcE9yTkosOEVvT21OSTtFcE9oTkosNEZvT2lOSTtFbE92TkosaUprTzBOQTtBMU9pODZCUjtBME8vNzZCUTtFcE96TkEsNEZvTzBOMkI7QTFPaTg2Qm5DO0EwTzk3NkJRO0VBQ0k7QTFPZzg2Qlo7O0EyT2hxN0JJO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0EsNkNsTUh1QjtBekNzcTdCL0I7QTJPL3A3QlE7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBM09pcTdCWjtBMk8vcDdCUTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0EzT2lxN0JaO0EyTy9wN0JZO0VBQ0k7QTNPaXE3QmhCO0EyTzVwN0JRO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QTNPOHA3Qlo7QTJPNXA3QlE7RUFDSTtFQUNBO0EzTzhwN0JaO0EyTzVwN0JZO0VBQ0k7RUFDQTtBM084cDdCaEI7QTJPNXA3Qlk7RUFDSTtBM084cDdCaEI7QTJPM3A3Qlk7O0VBRUk7QTNPNnA3QmhCO0EyTzNwN0JZOztFQUVJO0EzTzZwN0JoQjtBMk8xcDdCUTtFQUNJO0VBQ0E7RUFDQTtBM080cDdCWjtBMk8xcDdCWTtFQUNJO0VBQ0E7QTNPNHA3QmhCO0EyTzFwN0JZO0VBQ0k7QTNPNHA3QmhCO0EyT3pwN0JZOztFQUVJO0EzTzJwN0JoQjtBMk96cDdCWTs7RUFFSTtBM08ycDdCaEI7QTJPcnA3QlE7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0EzT3VwN0JaO0EyT2xwN0JROztFQUVJLDZDQ3JDd0I7RURzQ3hCLGdEQ25DMEI7RURvQzFCO0VBQ0E7RUFDQTtBM09vcDdCWjtBMk9scDdCUTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0EzT29wN0JaO0EyT2xwN0JRO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBM09vcDdCWjtBMk8vbzdCUTtFdk94SUEsc0Z1T3lJNEI7RUFDeEI7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QTNPaXA3Qlo7QTJPL283Qlk7RUFDSTtFQUNBO0EzT2lwN0JoQjtBMk8zbzdCUTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0EzTzZvN0JaO0EyTzNvN0JZO0VBQWtCO0EzTzhvN0I5QjtBMk83bzdCWTtFQUFvQjtBM09ncDdCaEM7QTJPOW83QlE7O0VBRUk7QTNPZ3A3Qlo7QTJPOW83Qlk7O0VBQW9CO0EzT2twN0JoQztBMk85bzdCUTtFQUNJO0VBQ0E7QTNPZ3A3Qlo7QTJPOW83QnFCO0VBQ0w7RUFDQTtBM09ncDdCaEI7O0EyTzlvN0JxQjtFQUNMO0VBQ0E7QTNPaXA3QmhCOztBMk83bzdCWTtFQUNJO0EzT2dwN0JoQjtBMk85bzdCWTtFQUNJO0EzT2dwN0JoQjs7QTJPMW83Qkk7RUFDSTtFQUNBLDZDQ2pIc0I7RURrSHRCLGdEQy9Hd0I7QTVPNHY3QmhDOztBMk8zbzdCSTtFQUNJO0EzTzhvN0JSOztBMk96bzdCSTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QTNPNG83QlI7O0EyT3ZvN0JJO0VBQ0k7RUFDQTtBM08wbzdCUjs7QTJPeG83Qkk7RXZPNU5JLG9CdU82TndCO0VBQ3hCO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0EzTzJvN0JSO0EyT3pvN0JRO0VBRUk7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBM08wbzdCWjs7QTJPcG83Qkk7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBM091bzdCUjtBMk9ybzdCUTtFQUNJO0EzT3VvN0JaO0EyT3BvN0JRO0VBQ0k7QTNPc283Qlo7QTJPcG83QlE7RUFDSTtBM09zbzdCWjs7QTJPaG83Qkk7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0EzT21vN0JSO0EyT2pvN0JRO0VBR0k7RUFDQTtBM09pbzdCWjtBMk8zbjdCUTtFQUNJO0VBQ0E7QTNPNm43Qlo7QTJPM243Qlk7RUFDSTtFQUNBO0VBQ0E7RUFDQTtBM082bjdCaEI7O0EyT3JuN0JZOztFQUNJO0EzT3luN0JoQjs7QTJPam43Qkk7RUFDSTtBM09vbjdCUjs7QTJPam43Qkk7O0VBRUk7QTNPb243QlI7O0EyT2puN0JJO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0EzT29uN0JSOztBMk9sbjdCSTtFQUNJO0EzT3FuN0JSOztBMk9sbjdCSTtFQUNJO0VBQ0E7QTNPcW43QlI7O0EyT2xuN0JJO0VBRUk7RUFDQTtBM09vbjdCUjs7QTJPaG43Qkk7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0EzT21uN0JSO0EyT2puN0JRO0VBQ0k7QTNPbW43Qlo7QTJPaG43QlE7RUFDSTtBM09rbjdCWjs7QTJPMW03Qkk7RUFDSTtFQUNBO0VBQ0E7RUFDQTtBM082bTdCUjtBMk8zbTdCUTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBM082bTdCWjtBMk8zbTdCZ0I7RUFDSTtBM082bTdCcEI7QTJPOW03QmdCO0VBQ0k7QTNPZ243QnBCO0EyT2puN0JnQjtFQUNJO0EzT21uN0JwQjtBMk8vbTdCUTtFQUNJO0EzT2luN0JaO0EyTzltN0JRO0VBQ0k7SUFDSTtFM09nbjdCZDtBQUNGOztBMk92bTdCSTs7RUFFSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QTNPMG03QlI7QTJPeG03QlE7O0VBQ0k7QTNPMm03Qlo7QTJPeG03QlE7O0VBSUk7RUFDQTtFQUNBO0VBRUE7QTNPdW03Qlo7QTJPcG03QlE7O0VBQ0k7QTNPdW03Qlo7QTJPbm03QlE7O0VBRUk7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QTNPcW03Qlo7QTJPbm03Qlk7O0VBQ0k7RUFDQTtBM09zbTdCaEI7QTJPbm03QlE7O0VBQ0k7QTNPc203Qlo7QTJPcG03QlE7O0VBQ0k7QTNPdW03Qlo7O0E2TzVqOEJJO0V2T0ZJLCtHdU9NSTtFdk9ISix5RXVPQ0k7RXZPRUosMkV1T0RJO0E3TytqOEJaO0E2T3pqOEJRO0V2T1JBLDBFdU9VUTtFdk9QUix3RHVPUVE7QTdPMGo4QmhCO0E2T3ZqOEJRO0VBQ0k7QTdPeWo4Qlo7QTZPcGo4QlE7RXZPdkJBLGlGdU8yQlE7RXZPeEJSLDBFdU9zQlE7RXZPbkJSLGlGdU9vQlE7RXJPMUJSLGtGcU82Qkk7RUFDQTtFQUNBO0E3T29qOEJaO0E2T2xqOEJZO0VBQUk7QTdPcWo4QmhCO0E2T3BqOEJZO0VBQVU7QTdPdWo4QnRCO0E2T3JqOEJRO0VyT3BDQSx3RnFPcUNJO0E3T3VqOEJaO0E2T3JqOEJRO0VyT3ZDQSwyRnFPd0NJO0E3T3VqOEJaO0E2T3BqOEJRO0V2TzNDQSxzRnVPK0NRO0V2TzVDUiw0RXVPMENRO0V2T3ZDUixzRnVPd0NRO0VyTzlDUixzRnFPaURJO0E3T29qOEJaO0E2T2xqOEJRO0VyT25EQSw0RnFPb0RJO0E3T29qOEJaO0E2T2xqOEJRO0VyT3REQSwrRnFPdURJO0E3T29qOEJaO0E2Ty9pOEJRO0V2TzVEQSx1RnVPZ0VRO0V2TzdEUiw4RXVPMkRRO0V2T3hEUiwrRHVPeURRO0E3T2lqOEJoQjtBNk83aThCWTtFdk9uRUosNkZ1T3dFWTtFdk9yRVosbUZ1T21FWTtFdk9oRVosNkZ1T2lFWTtBN084aThCcEI7QTZPemk4Qlk7RUFFSTtBN08waThCaEI7O0E2T25pOEJJOztFdk9yRkksdUR1TzBGSTtFdk92RkosMkV1T3FGSTtFdk9sRkosbUZ1T21GSTtBN09zaThCWjs7QThPN244Qkk7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBLDZDck1DdUI7QXpDK244Qi9CO0E4TzluOEJROzs7RUFHSTtBOU9nbzhCWjtBOE83bjhCUTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0E5TytuOEJaOztBOE96bjhCSTtFQUNJO0E5TzRuOEJSOztBOE92bjhCSTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QTlPMG44QlI7O0E4T3JuOEJJO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBOU93bjhCUjs7QThPdG44Qkk7RUFDSTtFQUNBO0VBQ0E7QTlPeW44QlI7QThPdm44QlE7O0VBQ0k7QTlPMG44Qlo7O0E4T3ZuOEJJO0VBQ0k7QTlPMG44QlI7O0E4T3ZuOEJJO0VBQ0k7QTlPMG44QlI7O0E4T3JuOEJJO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0E5T3duOEJSOztBOE9ybjhCSTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBOU93bjhCUjs7QStPbHQ4Qkk7RXpPREksc0Z5T0tJO0V6T0ZKO0VBR0Esa0Z5T0ZJO0EvT3F0OEJaOztBK08vczhCSTtFQUNJO0EvT2t0OEJSOztBK085czhCSTtFQUNJO0VBQ0E7QS9PaXQ4QlI7O0ErTzdzOEJJO0VBQ0k7QS9PZ3Q4QlI7O0FnUHJ1OEJJO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBLDZDdk1JdUI7QXpDb3U4Qi9CO0FnUHR1OEJROzs7RUFLSTtBaFBzdThCWjtBZ1BudThCUTtFQUNJO0VBQ0E7QWhQcXU4Qlo7QWdQbnU4Qlk7RUFDSTtBaFBxdThCaEI7QWdQanU4QlE7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBaFBtdThCWjtBZ1BodThCUTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBaFBrdThCWjtBZ1A5dDhCWTtFQUNJO0FoUGd1OEJoQjtBZ1AzdDhCWTtFQUNJO0FoUDZ0OEJoQjtBZ1AxdDhCWTtFQUNJO0FoUDR0OEJoQjs7QWdQdHQ4QlE7RUFDSTtFQUNBO0FoUHl0OEJaO0FnUHZ0OEJZO0VBQ0k7RUFDQTtBaFB5dDhCaEI7QWdQdHQ4Qlk7RUFDSTtBaFB3dDhCaEI7QWdQcnQ4Qlk7RUFDSTtFQUdBO0FoUHF0OEJoQjtBZ1BsdDhCZ0I7RUFDSTtBaFBvdDhCcEI7QWdQanQ4QmdCO0VBQ0k7QWhQbXQ4QnBCO0FnUDdzOEJZO0VBRUk7QWhQOHM4QmhCOztBZ1B6czhCSTs7RUFFSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBaFA0czhCUjs7QWdQdnM4QlE7O0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBaFAyczhCWjs7QWdQdnM4Qkk7RUFDSTtBaFAwczhCUjtBZ1B4czhCUTtFQUNJO0FoUDBzOEJaO0FnUHZzOEJRO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7QWhQeXM4Qlo7QWdQdHM4QlE7RUFDSTtFQUNBO0FoUHdzOEJaO0FnUHRzOEJZO0VBQ0k7QWhQd3M4QmhCO0FnUHBzOEJRO0VBQ0k7QWhQc3M4Qlo7QWdQbnM4QlE7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FoUHFzOEJaO0FnUGxzOEJRO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7QWhQb3M4Qlo7QWdQanM4QlE7RUFDSTtBaFBtczhCWjtBZ1BqczhCWTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0FoUG1zOEJoQjtBZ1BqczhCZ0I7RUFDSTtBaFBtczhCcEI7QWdQaHM4QmdCO0VBQ0k7RUFDQTtBaFBrczhCcEI7QWdQaHM4Qm9CO0VBQ0k7RUFDQTtFQUNBO0FoUGtzOEJ4QjtBZ1A1cjhCWTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0FoUDhyOEJoQjtBZ1AxcjhCZ0I7O0VBRUk7QWhQNHI4QnBCO0FnUHpyOEJnQjtFQUNJO0FoUDJyOEJwQjtBZ1BycjhCUTtFQUNJO0VBQ0E7RUFDQTtBaFB1cjhCWjtBZ1BwcjhCUTtFQUNJO0FoUHNyOEJaO0FnUHByOEJZO0VBQ0k7QWhQc3I4QmhCO0FnUG5yOEJZO0VBQ0k7QWhQcXI4QmhCO0FnUGxyOEJZO0VBQ0k7QWhQb3I4QmhCO0FnUGpyOEJZO0VBQ0k7QWhQbXI4QmhCO0FnUGpyOEJnQjtFQUNJO0FoUG1yOEJwQjtBZ1BqcjhCb0I7RUFDSTtFQUNBO0VBQ0E7QWhQbXI4QnhCO0FnUGhyOEJvQjtFQUNJO0VBQ0E7QWhQa3I4QnhCO0FnUGhyOEJ3QjtFQUNJO0VBQ0E7QWhQa3I4QjVCO0FnUDVxOEJZOztFQUVJO0VBQ0E7QWhQOHE4QmhCO0FnUDNxOEJZO0VBQ0k7RUFDQTtBaFA2cThCaEI7QWdQMXE4Qlk7RUFDSTtFQUNBO0FoUDRxOEJoQjs7QWdQcnE4QlE7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QWhQd3E4Qlo7QWdQdHE4Qlk7RUFDSTtBaFB3cThCaEI7QWdQcnE4Qlk7RUFDSTtBaFB1cThCaEI7QWdQbnE4QlE7RUFDSTtFQUNBO0FoUHFxOEJaO0FnUGxxOEJRO0VBQ0k7RUFDQTtBaFBvcThCWjtBZ1BqcThCUTtFQUNJO0FoUG1xOEJaO0FnUGhxOEJRO0VBQ0k7RUFDQTtBaFBrcThCWjtBZ1BocThCWTtFQUNJO0VBQ0E7QWhQa3E4QmhCO0FnUGhxOEJnQjtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QWhQa3E4QnBCO0FnUDdwOEJRO0VBQ0k7RUFDQTtFQUNBO0FoUCtwOEJaO0FnUDdwOEJZO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FoUCtwOEJoQjtBZ1A1cDhCWTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QWhQOHA4QmhCO0FnUDVwOEJnQjtFQUNJO0FoUDhwOEJwQjtBZ1AxcDhCWTtFQUNJO0VBQ0E7RUFDQTtBaFA0cDhCaEI7QWdQMXA4QmdCO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QWhQNHA4QnBCO0FnUHZwOEJRO0VBQ0k7RUFDQTtFQUNBO0FoUHlwOEJaOztBZ1BycDhCSTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBaFB3cDhCUjs7QWdQcnA4Qkk7RUFDSTtBaFB3cDhCUjs7QWdQcnA4Qkk7RUFDSTtBaFB3cDhCUjs7QWdQcnA4Qkk7RUFDSTtFQUNBO0VBQ0E7RUFDQTtBaFB3cDhCUjtBZ1B0cDhCUTtFQUNJO0FoUHdwOEJaO0FnUHBwOEJZO0VBQ0k7QWhQc3A4QmhCO0FnUGxwOEJRO0VBQ0k7QWhQb3A4Qlo7QWdQbHA4Qlk7RUFDSTtBaFBvcDhCaEI7QWdQanA4Qlk7RUFDSTtBaFBtcDhCaEI7QWdQaHA4Qlk7RUFDSTtBaFBrcDhCaEI7QWdQL284QmdCO0VBQ0k7QWhQaXA4QnBCOztBaVAvajlCUTtFQUNJO0VBQ0E7RXpPTEosd0Z5T01JO0FqUGtrOUJaO0FpUC9qOUJRO0VBQ0k7QWpQaWs5Qlo7QWlQN2o5Qlk7RUFDSTtFQUNBO0FqUCtqOUJoQjtBaVA1ajlCWTtFQUdJO0FqUDRqOUJoQjtBaVB6ajlCZ0I7RUFDSTtBalAyajlCcEI7QWlQeGo5QmdCO0VBQ0k7QWpQMGo5QnBCO0FpUHZqOUJnQjtFQUNJO0FqUHlqOUJwQjtBaVBuajlCUTtFQUNJO0FqUHFqOUJaO0FpUGxqOUJRO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7QWpQb2o5Qlo7O0FpUDlpOUJROztFQUNJO0VBQ0E7QWpQa2o5Qlo7O0FpUDlpOUJJO0VBQ0k7QWpQaWo5QlI7O0FpUDlpOUJJO0V6T2hFSSx3RnlPaUVBO0FqUGlqOUJSOztBa1BqbjlCSTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FsUG9uOUJSO0FrUGpuOUJRO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBbFBtbjlCWjtBa1BqbjlCUTs7RUFFSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FsUG1uOUJaOztBa1A5bTlCSTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0FsUGluOUJSO0FrUC9tOUJRO0VBQ0k7RUFDQTtBbFBpbjlCWjtBa1A5bTlCUTtFQUNJO0FsUGduOUJaO0FrUDdtOUJZO0VBQ0k7QWxQK205QmhCOztBa1B4bTlCSTtFQUNJO0FsUDJtOUJSO0FrUHptOUJRO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7QWxQMm05Qlo7QWtQeG05Qlk7RUFDSTtFQUNBO0VBQ0E7QWxQMG05QmhCO0FrUHhtOUJnQjtFQUNJO0FsUDBtOUJwQjtBa1B2bTlCZ0I7RUFDSTtBbFB5bTlCcEI7QWtQdG05QmdCO0VBQ0k7RUFDQTtFQUNBO0FsUHdtOUJwQjtBa1BybTlCZ0I7RUFDSTtFQUNBO0VBQ0E7RUFDQTtBbFB1bTlCcEI7QWtQbm05Qlk7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FsUHFtOUJoQjtBa1BubTlCZ0I7O0VBRUk7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FsUHFtOUJwQjtBa1BsbTlCZ0I7RUFDSTtFQUNBO0FsUG9tOUJwQjtBa1BqbTlCZ0I7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QWxQbW05QnBCO0FrUGhtOUJnQjtFQUNJO0FsUGttOUJwQjtBa1AvbDlCZ0I7RUFDSTtBbFBpbTlCcEI7QWtQN2w5Qlk7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FsUCtsOUJoQjtBa1A3bDlCZ0I7RUFDSTtFQUNBO0FsUCtsOUJwQjtBa1A1bDlCZ0I7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBbFA4bDlCcEI7QWtQM2w5QmdCO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBbFA2bDlCcEI7QWtQMWw5QmdCO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7QWxQNGw5QnBCO0FrUHhsOUJZO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBbFAwbDlCaEI7QWtQeGw5QmdCO0VBQ0k7QWxQMGw5QnBCO0FrUHZsOUJnQjtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FsUHlsOUJwQjtBa1B2bDlCb0I7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QWxQeWw5QnhCO0FrUHJsOUJ3QjtFQUNJO0FsUHVsOUI1QjtBa1BsbDlCZ0I7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QWxQb2w5QnBCO0FrUGxsOUJvQjtFQUNJO0FsUG9sOUJ4QjtBa1BqbDlCb0I7RUFDSTtFQUNBO0FsUG1sOUJ4QjtBa1BobDlCb0I7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QWxQa2w5QnhCO0FrUC9rOUJvQjtFQUNJO0FsUGlsOUJ4QjtBa1A1azlCWTtFQUNJO0FsUDhrOUJoQjtBa1AxazlCUTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QWxQNGs5Qlo7QWtQMWs5Qlk7OztFQUdJO0VBQ0E7QWxQNGs5QmhCOztBa1ByazlCSTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBbFB3azlCUjtBa1B0azlCUTtFQUNJO0VBQ0E7QWxQd2s5Qlo7QWtQcms5QlE7RUFDSTtFQUNBO0FsUHVrOUJaO0FrUHJrOUJZO0VBQ0k7QWxQdWs5QmhCO0FrUG5rOUJRO0VBQ0k7RUFDQTtBbFBxazlCWjs7QWtQaGs5Qkk7RUFDSTtFQUNBO0FsUG1rOUJSOztBa1A5ajlCSTtFQUNJO0VBQ0E7QWxQaWs5QlI7QWtQL2o5QlE7RUFDSTtBbFBpazlCWjtBa1A5ajlCUTtFQUNJO0FsUGdrOUJaOztBbVB0NDlCSTtFN09ESSxvRjZPS0k7RTdPRko7RUFHQSxnRjZPRkk7QW5QeTQ5Qlo7QW1QbjQ5QlE7RTdPVkEsMkY2T2NRO0U3T1hSLGdGNk9TUTtFN09OUix3RjZPT1E7QW5QcTQ5QmhCO0FtUDkzOUJRO0U3T3BCQSx5RjZPd0JRO0U3T3JCUiw4RTZPbUJRO0U3T2hCUixxRjZPaUJRO0UzT3ZCUixzRjJPMEJJO0FuUDgzOUJaO0FtUHozOUJRO0U3TzVCQSw0RTZPOEJnQjtBblAwMzlCeEI7QW1QcjM5Qlk7RUFFSTtBblBzMzlCaEI7QW1QbjM5Qlk7RUFDSTtBblBxMzlCaEI7QW1QaDM5QlE7RTdPM0NBLG1HNk82Q2E7QW5QaTM5QnJCO0FtUDcyOUJRO0U3T2pEQSwwRTZPbURhO0FuUDgyOUJyQjtBbVAzMjlCUTtFQUNJO0FuUDYyOUJaO0FtUDMyOUJZO0VBQ0k7QW5QNjI5QmhCOztBbVB4MjlCSTtFN09yRUksaUc2T3lFSTtFN090RUosc0Y2T29FSTtFN09qRUosNkY2T2tFSTtFM094RUosNkQyTzJFQTtBblB5MjlCUjs7QW9Qbjc5Qkk7O0VBRUk7RUFDQTtBcFBzNzlCUjs7QW9QcDc5Qkk7RUFDSTtBcFB1NzlCUjs7QW9Qcjc5Qkk7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FwUHc3OUJSOztBb1BuNzlCSTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FwUHM3OUJSOztBb1BwNzlCSTtFQUNJO0VBQ0E7RUFDQTtBcFB1NzlCUjs7QW9Qcjc5Qkk7O0VBRUk7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBcFB3NzlCUjs7QW9QdDc5Qkk7RUFDSTtBcFB5NzlCUjs7QW9Qdjc5Qkk7RUFDSTtBcFAwNzlCUjs7QW9Qcjc5Qkk7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FwUHc3OUJSOztBb1B0NzlCSTs7RUFFSTtBcFB5NzlCUjs7QW9Qdjc5Qkk7RUFDSTtFQUNBO0VBQ0E7QXBQMDc5QlI7O0FvUHg3OUJJO0VBQ0k7RUFDQTtFQUNBO0FwUDI3OUJSOztBcVB0ZytCSTtFQUNJO0FyUHlnK0JSOztBc1B6ZytCSTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQSw2QzdNQ3VCO0F6QzJnK0IvQjs7QXNQemcrQkk7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QXRQNGcrQlI7QXNQMWcrQlE7RUFDSTtFQUNBO0VBQ0E7QXRQNGcrQlo7QXNQemcrQlE7RUFDSTtBdFAyZytCWjs7QXNQdGcrQkk7RUFDSTtFQUNBO0VBQ0E7RUFDQTtBdFB5ZytCUjtBc1B2ZytCUTtFQUNJO0VBQ0E7QXRQeWcrQlo7O0FzUHJnK0JJO0VBQ0k7QXRQd2crQlI7O0FzUHJnK0JJO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBdFB3ZytCUjs7QXNQcmcrQkk7RUFDSTtBdFB3ZytCUjs7QXNQcmcrQkk7RUFDSTtBdFB3ZytCUjs7QXNQcmcrQkk7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBdFB3ZytCUjtBc1B0ZytCUTtFQUNJO0F0UHdnK0JaOztBc1BwZytCSTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QXRQdWcrQlI7QXNQcmcrQlE7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBdFB1ZytCWjs7QXNQbmcrQkk7O0VBRUk7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBdFBzZytCUjtBc1BwZytCUTs7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QXRQdWcrQlo7O0FzUG5nK0JJO0VBQ0k7QXRQc2crQlI7O0FzUG5nK0JJO0VBQ0k7QXRQc2crQlI7O0FzUGxnK0JJO0VBQ0k7RUFDQTtBdFBxZytCUjs7QXVQaHErQkk7RWpQREksb0ZpUEtJO0VqUEZKO0VBR0EsZ0ZpUEZJO0F2UG1xK0JaO0F1UDlwK0JZOztFQUVJO0F2UGdxK0JoQjtBdVAzcCtCWTs7RUFFSTtBdlA2cCtCaEI7O0F1UHhwK0JJOztFQUVJO0F2UDJwK0JSOztBdVB4cCtCSTtFQUNJO0F2UDJwK0JSOztBdVB4cCtCSTs7RUFFSTtFQUNBO0VBQ0E7RUFDQTtFQUNBLDZDOU14QnVCO0F6Q21yK0IvQjtBdVB0cCtCWTs7O0VBQ0k7QXZQMHArQmhCO0F1UHRwK0JROzs7RUFFSTtBdlB5cCtCWjs7QXVQcnArQkk7RUFDSTtFQUNBO0F2UHdwK0JSO0F1UHRwK0JRO0VBQ0k7RUFDQTtBdlB3cCtCWjtBdVB0cCtCWTtFQUVJO0F2UHVwK0JoQjtBdVBwcCtCWTtFQUVJO0F2UHFwK0JoQjtBdVBqcCtCUTtFQUVJO0F2UGtwK0JaO0F1UC9vK0JRO0VBRUk7QXZQZ3ArQlo7O0F3UDl0K0JJO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7QXhQaXUrQlI7QXdQOXQrQlE7RUFDSTtFQUNBO0F4UGd1K0JaOztBd1AzdCtCSTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0F4UDh0K0JSOztBd1AzdCtCSTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0F4UDh0K0JSOztBd1AxdCtCSTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QXhQNnQrQlI7O0F3UDF0K0JJO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBeFA2dCtCUjs7QXdQMXQrQkk7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QXhQNnQrQlI7O0F3UDF0K0JJO0VBQ0k7RUFDQTtBeFA2dCtCUjs7QXdQenQrQkk7OztFQUNJO0F4UDh0K0JSOztBeVAveCtCSTtFblBESSxnRm1QS0k7RW5QRko7RUFHQSw0RW1QRkk7QXpQa3krQlo7O0F5UDd4K0JJO0VuUFRJLHVGbVBhSTtFblBWSiw0RW1QUUk7RW5QTEosbUZtUE1JO0F6UGd5K0JaOztBeVAzeCtCSTtFblBqQkksd0ZtUHFCSTtFblBsQkosMEVtUGdCSTtFblBiSixrRm1QY0k7QXpQOHgrQlo7O0F5UHp4K0JJO0VuUHpCSSwyRm1QNkJJO0VuUDFCSixnRm1Qd0JJO0VuUHJCSix1Rm1Qc0JJO0VBR0o7QXpQMHgrQlI7O0EwUHh6K0JJO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QTFQMnorQlI7QTBQenorQlE7OztFQUdJO0ExUDJ6K0JaO0EwUHR6K0JRO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7QTFQd3orQlo7QTBQdHorQlE7RUFBdUI7QTFQeXorQi9CO0EwUHh6K0JRO0VBQXFCO0ExUDJ6K0I3QjtBMFB4eitCUTtFQUNJO0VBQ0E7RUFDQTtBMVAweitCWjtBMFB0eitCUTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0ExUHd6K0JaO0EwUG56K0JRO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBMVBxeitCWjs7QTBQL3krQkk7RUFDSTtFQUNBO0VBQ0E7QTFQa3orQlI7O0EwUDd5K0JJO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0ExUGd6K0JSO0EwUDd5K0JRO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0ExUCt5K0JaO0EwUDd5K0JZO0VBQ0k7RUFDQTtBMVAreStCaEI7QTBQNXkrQlE7O0VBRUk7RUFDQTtFQUNBO0ExUDh5K0JaO0EwUDV5K0JROztFQUVJO0VBQ0E7RUFDQTtBMVA4eStCWjtBMFA1eStCUTs7RUFFSTtFQUNBO0VBQ0E7QTFQOHkrQlo7QTBQNXkrQlE7O0VBRUk7RUFDQTtFQUNBO0ExUDh5K0JaOztBMFB4eStCSTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0ExUDJ5K0JSOztBMFB2eStCUTs7RUFFSTtBMVAweStCWjs7QTJQdjYrQkk7RXJQREkseUVxUEtJO0VyUEZKO0VBR0EsNkVxUEZJO0EzUDA2K0JaO0EyUHQ2K0JROztFQUVJO0VBQ0E7QTNQdzYrQlo7QTJQdDYrQlk7O0VBQ0k7QTNQeTYrQmhCO0EyUHI2K0JRO0VBQ0k7QTNQdTYrQlo7QTJQcDYrQlE7RUFDSTtBM1BzNitCWjs7QTRQNzcrQkk7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0E1UGc4K0JSO0E0UDk3K0JROzs7RUFHSTtBNVBnOCtCWjs7QTRQNTcrQkk7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0E1UCs3K0JSOztBNFAzNytCSTtFQUNJO0E1UDg3K0JSOztBNFAzNytCSTtFQUNJO0E1UDg3K0JSOztBNFAzNytCSTtFQUNJO0E1UDg3K0JSOztBNFAzNytCSTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBNVA4NytCUjs7QTRQMzcrQkk7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0E1UDg3K0JSOztBNFAzNytCSTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0E1UDg3K0JSOztBNFAxNytCSTtFQUNJO0VBQ0E7QTVQNjcrQlI7QTRQMzcrQlE7RUFDSTtFQUNBO0VBQ0E7QTVQNjcrQlo7QTRQMTcrQlE7RUFDSTtFQUNBO0VBQ0E7QTVQNDcrQlo7QTRQejcrQlE7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0E1UDI3K0JaO0E0UHo3K0JRO0VBQ0k7RUFDQTtFQUNBO0E1UDI3K0JaO0E0UHg3K0JRO0VBQ0k7QTVQMDcrQlo7O0E0UHI3K0JJO0VBQ0k7QTVQdzcrQlI7O0E0UHI3K0JJO0VBQ0k7QTVQdzcrQlI7O0E0UHI3K0JJO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7QTVQdzcrQlI7O0E0UHA3K0JJO0VBQ0k7QTVQdTcrQlI7O0E2UHppL0JJO0V2UERJLGtGdVBLSTtFdlBGSjtFQUdBLDhFdVBGSTtBN1A0aS9CWjs7QTZQdGkvQkk7RXJQVkksb0ZxUFdBO0E3UHlpL0JSO0E2UHZpL0JRO0V2UGJBLHVFdVBlaUI7QTdQd2kvQnpCO0E2UHBpL0JRO0VyUG5CQSwwRnFQcUJJO0E3UHFpL0JaOztBNlBoaS9CSTtFdlAxQkksOEh1UDhCSTtFdlAzQkosd0Z1UHlCSTtFdlB0QkosMEZ1UHVCSTtBN1BtaS9CWjs7QTZQL2gvQkk7O0VyUGpDSSxnR3FQbUNBO0V2UG5DQSxtR3VQcUNhO0E3UGlpL0JyQjs7QTZQN2gvQkk7RXZQdENJLHdGdVB3Q1k7QTdQK2gvQnBCOztBNlAxaC9CSTs7RXZQN0NJLCtHdVBnRFk7QTdQNGgvQnBCOztBOFA5ay9CSTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0E5UGlsL0JSO0E4UC9rL0JRO0VBQ0k7RUFDQTtBOVBpbC9CWjtBOFAvay9CWTtFQUNJO0E5UGlsL0JoQjtBOFA3ay9CUTtFQUdJO0E5UDZrL0JaOztBOFB6ay9CSTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QTlQNGsvQlI7O0E4UHprL0JJO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QTlQNGsvQlI7O0E4UHprL0JJO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0E5UDRrL0JSOztBOFBsay9CUTtFQUNJLCtDQU5TO0VBT1Qsa0RBTlM7QTlQMmsvQnJCO0E4UG5rL0JZO0VBQ0ksdURBUks7QTlQNmsvQnJCOztBOFAxay9CUTtFQUNJLCtDQU5TO0VBT1QsOENBTlM7QTlQbWwvQnJCO0E4UDNrL0JZO0VBQ0ksdURBUks7QTlQcWwvQnJCOztBOFBsbC9CUTtFQUNJLCtDQU5TO0VBT1Qsa0RBTlM7QTlQMmwvQnJCO0E4UG5sL0JZO0VBQ0ksdURBUks7QTlQNmwvQnJCOztBOFBobC9CSTtFQUNJO0E5UG1sL0JSOztBK1B2cC9CUTtFQUNJO0EvUDBwL0JaO0ErUHBwL0JZO0VBQ0k7QS9Qc3AvQmhCOztBQW5xL0JBO0VBRUU7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUVBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFFQTtFQUNBO0VBQ0E7RUFDQTtFQUVBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FBa3EvQkY7O0FBN3AvQkE7RUFDRTtBQWdxL0JGOztBQTdwL0JBO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBQWdxL0JGO0FBOXAvQkU7RUFDRTtBQWdxL0JKO0FBN3AvQkU7RUFDRTtFQUNBO0FBK3AvQko7QUE1cC9CRTtFQUNFO0FBOHAvQko7QUEzcC9CRTtFQUNFO0FBNnAvQko7QUExcC9CRTtFQUNFO0VBQ0E7QUE0cC9CSjtBQTFwL0JJO0VBQ0U7QUE0cC9CTjtBQXhwL0JFO0VBQ0U7QUEwcC9CSjtBQS9yL0JBO0VBeUNFO0VBQ0E7RUFDQTtFQUdBO0VBQ0E7RUFDQTtFQUNBO0FBdXAvQkY7QUF0cC9CRTtFQUNFO0FBd3AvQko7QUF0cC9CRTtFQUNFO0FBd3AvQko7QUF0cC9CRTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBQXdwL0JKOztBQW5wL0JBO0VBQ0U7RUFFQTtBQXFwL0JGOztBQWpwL0JFO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUVBO0VBQ0E7RUFDQTtFQUNBO0FBbXAvQko7QUFqcC9CSTtFQUNFO0VBQ0E7QUFtcC9CTjtBQTlvL0JNO0VBQ0U7QUFncC9CUjtBQTdvL0JNO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QUErby9CUjtBQTNvL0JJO0VBQ0U7RUFDQTtFQUNBO0FBNm8vQk47QUEzby9CTTtFQUNFO0VBQ0E7RUFDQTtBQTZvL0JSO0FBMW8vQk07RUFFRTtBQTJvL0JSOztBQXJvL0JBO0VBQ0U7QUF3by9CRjs7QUFyby9CQTtFQUNFO0VBRUE7RUFDQTtBQXVvL0JGO0FBcm8vQkU7RUFDRTtBQXVvL0JKOztBQW5vL0JBO0VBQ0U7QUFzby9CRjtBQXBvL0JFO0VBQ0U7QUFzby9CSjs7QUFsby9CQTtFQUNFO0FBcW8vQkY7O0FBbG8vQkE7RUFDSTtBQXFvL0JKOztBQWxvL0JBO0VBQ0U7QUFxby9CRjs7QUFsby9CQTs7Ozs7RUFLRTtBQXFvL0JGOztBQWpvL0JFO0VBQ0U7QUFvby9CSjtBQWpvL0JFO0VBQ0U7RUFDQTtBQW1vL0JKO0FBam8vQkk7RUFDRTtBQW1vL0JOOztBQTduL0JFO0VBQ0U7QUFnby9CSjtBQWxvL0JBO0VBSUU7RUFDQTtFQUNBO0VBQ0E7QUFpby9CRjtBQS9uL0JFO0VBQ0U7RUFDQTtFQUNBO0FBaW8vQko7O0FBNW4vQkU7RUFDRTtBQStuL0JKLEMiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly90ZXgtcG9ydGFsLy4vYXNzZXRzL3N0eWxlcy9rZW5kby5zY3NzIiwid2VicGFjazovL3RleC1wb3J0YWwvLi9ub2RlX21vZHVsZXMvQHByb2dyZXNzL2tlbmRvLXRoZW1lLWZsdWVudC9zY3NzL2NvcmUvY29sb3Itc3lzdGVtL19zd2F0Y2gtbGVnYWN5LnNjc3MiLCJ3ZWJwYWNrOi8vdGV4LXBvcnRhbC8uL25vZGVfbW9kdWxlcy9AcHJvZ3Jlc3Mva2VuZG8tdGhlbWUtZmx1ZW50L3Njc3MvaWNvbnMvX3ZhcmlhYmxlcy5zY3NzIiwid2VicGFjazovL3RleC1wb3J0YWwvLi9ub2RlX21vZHVsZXMvQHByb2dyZXNzL2tlbmRvLXRoZW1lLWZsdWVudC9zY3NzL2RyYWdnYWJsZS9fbGF5b3V0LnNjc3MiLCJ3ZWJwYWNrOi8vdGV4LXBvcnRhbC8uL25vZGVfbW9kdWxlcy9AcHJvZ3Jlc3Mva2VuZG8tdGhlbWUtY29yZS9zY3NzL21peGlucy9fYm9yZGVyLXJhZGl1cy5zY3NzIiwid2VicGFjazovL3RleC1wb3J0YWwvLi9ub2RlX21vZHVsZXMvQHByb2dyZXNzL2tlbmRvLXRoZW1lLWZsdWVudC9zY3NzL2RyYWdnYWJsZS9fdGhlbWUuc2NzcyIsIndlYnBhY2s6Ly90ZXgtcG9ydGFsLy4vbm9kZV9tb2R1bGVzL0Bwcm9ncmVzcy9rZW5kby10aGVtZS1jb3JlL3Njc3MvbWl4aW5zL19kZWNvcmF0aW9uLnNjc3MiLCJ3ZWJwYWNrOi8vdGV4LXBvcnRhbC8uL25vZGVfbW9kdWxlcy9AcHJvZ3Jlc3Mva2VuZG8tdGhlbWUtY29yZS9zY3NzL21peGlucy9fZ3JhZGllbnQuc2NzcyIsIndlYnBhY2s6Ly90ZXgtcG9ydGFsLy4vbm9kZV9tb2R1bGVzL0Bwcm9ncmVzcy9rZW5kby10aGVtZS1jb3JlL3Njc3MvbWl4aW5zL19ib3gtc2hhZG93LnNjc3MiLCJ3ZWJwYWNrOi8vdGV4LXBvcnRhbC8uL25vZGVfbW9kdWxlcy9AcHJvZ3Jlc3Mva2VuZG8tdGhlbWUtY29yZS9zY3NzL2NvbG9yLXN5c3RlbS9fc3dhdGNoLnNjc3MiLCJ3ZWJwYWNrOi8vdGV4LXBvcnRhbC8uL25vZGVfbW9kdWxlcy9AcHJvZ3Jlc3Mva2VuZG8tdGhlbWUtY29yZS9zY3NzL3N0eWxlcy9fYWNjZXNzaWJpbGl0eS5zY3NzIiwid2VicGFjazovL3RleC1wb3J0YWwvLi9ub2RlX21vZHVsZXMvQHByb2dyZXNzL2tlbmRvLXRoZW1lLWNvcmUvc2Nzcy9zdHlsZXMvX2FuaW1hdGlvbnMuc2NzcyIsIndlYnBhY2s6Ly90ZXgtcG9ydGFsLy4vbm9kZV9tb2R1bGVzL0Bwcm9ncmVzcy9rZW5kby10aGVtZS1jb3JlL3Njc3Mvc3R5bGVzL19hc3AtZmFsbGJhY2suc2NzcyIsIndlYnBhY2s6Ly90ZXgtcG9ydGFsLy4vbm9kZV9tb2R1bGVzL0Bwcm9ncmVzcy9rZW5kby10aGVtZS1jb3JlL3Njc3Mvc3R5bGVzL19sYXlvdXQuc2NzcyIsIndlYnBhY2s6Ly90ZXgtcG9ydGFsLy4vbm9kZV9tb2R1bGVzL0Bwcm9ncmVzcy9rZW5kby10aGVtZS1jb3JlL3Njc3Mvc3R5bGVzL19ub3JtYWxpemUuc2NzcyIsIndlYnBhY2s6Ly90ZXgtcG9ydGFsLy4vbm9kZV9tb2R1bGVzL0Bwcm9ncmVzcy9rZW5kby10aGVtZS1jb3JlL3Njc3Mvc3R5bGVzL19iYXNlLnNjc3MiLCJ3ZWJwYWNrOi8vdGV4LXBvcnRhbC8uL25vZGVfbW9kdWxlcy9AcHJvZ3Jlc3Mva2VuZG8tdGhlbWUtY29yZS9zY3NzL21peGlucy9fZGlzYWJsZWQuc2NzcyIsIndlYnBhY2s6Ly90ZXgtcG9ydGFsLy4vbm9kZV9tb2R1bGVzL0Bwcm9ncmVzcy9rZW5kby10aGVtZS1jb3JlL3Njc3Mvc3R5bGVzL19zZWxlY3Rpb24uc2NzcyIsIndlYnBhY2s6Ly90ZXgtcG9ydGFsLy4vbm9kZV9tb2R1bGVzL0Bwcm9ncmVzcy9rZW5kby10aGVtZS1jb3JlL3Njc3Mvc3R5bGVzL19zY3JvbGxiYXIuc2NzcyIsIndlYnBhY2s6Ly90ZXgtcG9ydGFsLy4vbm9kZV9tb2R1bGVzL0Bwcm9ncmVzcy9rZW5kby10aGVtZS1jb3JlL3Njc3Mvc3R5bGVzL19yZXNpemluZy5zY3NzIiwid2VicGFjazovL3RleC1wb3J0YWwvLi9ub2RlX21vZHVsZXMvQHByb2dyZXNzL2tlbmRvLXRoZW1lLWNvcmUvc2Nzcy9zdHlsZXMvX3V0aWxzLWNvbXBvbmVudHMuc2NzcyIsIndlYnBhY2s6Ly90ZXgtcG9ydGFsLy4vbm9kZV9tb2R1bGVzL0Bwcm9ncmVzcy9rZW5kby10aGVtZS1jb3JlL3Njc3Mvc3BhY2luZy9pbmRleC5pbXBvcnQuc2NzcyIsIndlYnBhY2s6Ly90ZXgtcG9ydGFsLy4vbm9kZV9tb2R1bGVzL0Bwcm9ncmVzcy9rZW5kby10aGVtZS1jb3JlL3Njc3MvZWxldmF0aW9uL2luZGV4LmltcG9ydC5zY3NzIiwid2VicGFjazovL3RleC1wb3J0YWwvLi9ub2RlX21vZHVsZXMvQHByb2dyZXNzL2tlbmRvLXRoZW1lLWNvcmUvc2Nzcy90eXBvZ3JhcGh5L2luZGV4LmltcG9ydC5zY3NzIiwid2VicGFjazovL3RleC1wb3J0YWwvLi9ub2RlX21vZHVsZXMvQHByb2dyZXNzL2tlbmRvLXRoZW1lLWNvcmUvc2Nzcy9ib3JkZXItcmFkaWkvaW5kZXguaW1wb3J0LnNjc3MiLCJ3ZWJwYWNrOi8vdGV4LXBvcnRhbC8uL25vZGVfbW9kdWxlcy9AcHJvZ3Jlc3Mva2VuZG8tdGhlbWUtY29yZS9zY3NzL2NvbG9yLXN5c3RlbS9fbWl4aW5zLmltcG9ydC5zY3NzIiwid2VicGFjazovL3RleC1wb3J0YWwvLi9ub2RlX21vZHVsZXMvQHByb2dyZXNzL2tlbmRvLXRoZW1lLWZsdWVudC9zY3NzL2NvcmUvZWxldmF0aW9uL19sZWdhY3kuc2NzcyIsIndlYnBhY2s6Ly90ZXgtcG9ydGFsLy4vbm9kZV9tb2R1bGVzL0Bwcm9ncmVzcy9rZW5kby10aGVtZS1mbHVlbnQvc2Nzcy90eXBvZ3JhcGh5L19sYXlvdXQuc2NzcyIsIndlYnBhY2s6Ly90ZXgtcG9ydGFsLy4vbm9kZV9tb2R1bGVzL0Bwcm9ncmVzcy9rZW5kby10aGVtZS1mbHVlbnQvc2Nzcy90eXBvZ3JhcGh5L190aGVtZS5zY3NzIiwid2VicGFjazovL3RleC1wb3J0YWwvLi9ub2RlX21vZHVsZXMvQHByb2dyZXNzL2tlbmRvLXRoZW1lLXV0aWxzL3Njc3MvX21peGlucy5zY3NzIiwid2VicGFjazovL3RleC1wb3J0YWwvLi9ub2RlX21vZHVsZXMvQHByb2dyZXNzL2tlbmRvLXRoZW1lLXV0aWxzL3Njc3MvdHlwb2dyYXBoeS9fdGV4dC1vdmVyZmxvdy5zY3NzIiwid2VicGFjazovL3RleC1wb3J0YWwvLi9ub2RlX21vZHVsZXMvQHByb2dyZXNzL2tlbmRvLXRoZW1lLWNvcmUvc2Nzcy9tb3Rpb24vaW5kZXguaW1wb3J0LnNjc3MiLCJ3ZWJwYWNrOi8vdGV4LXBvcnRhbC8uL25vZGVfbW9kdWxlcy9AcHJvZ3Jlc3Mva2VuZG8tdGhlbWUtZmx1ZW50L25vZGVfbW9kdWxlcy9AcHJvZ3Jlc3Mva2VuZG8tc3ZnLWljb25zL3Njc3MvaW5kZXguc2NzcyIsIndlYnBhY2s6Ly90ZXgtcG9ydGFsLy4vbm9kZV9tb2R1bGVzL0Bwcm9ncmVzcy9rZW5kby10aGVtZS1mbHVlbnQvc2Nzcy9pY29ucy9fbGF5b3V0LnNjc3MiLCJ3ZWJwYWNrOi8vdGV4LXBvcnRhbC8uL25vZGVfbW9kdWxlcy9AcHJvZ3Jlc3Mva2VuZG8tdGhlbWUtZmx1ZW50L25vZGVfbW9kdWxlcy9AcHJvZ3Jlc3Mva2VuZG8tc3ZnLWljb25zL3Njc3MvX3ZhcmlhYmxlcy5zY3NzIiwid2VicGFjazovL3RleC1wb3J0YWwvLi9ub2RlX21vZHVsZXMvQHByb2dyZXNzL2tlbmRvLXRoZW1lLXV0aWxzL3Njc3MvdHJhbnNmb3JtL19mbGlwLnNjc3MiLCJ3ZWJwYWNrOi8vdGV4LXBvcnRhbC8uL25vZGVfbW9kdWxlcy9AcHJvZ3Jlc3Mva2VuZG8tdGhlbWUtZmx1ZW50L3Njc3MvbWVzc2FnZWJveC9fbGF5b3V0LnNjc3MiLCJ3ZWJwYWNrOi8vdGV4LXBvcnRhbC8uL25vZGVfbW9kdWxlcy9AcHJvZ3Jlc3Mva2VuZG8tdGhlbWUtZmx1ZW50L3Njc3MvbWVzc2FnZWJveC9fdGhlbWUuc2NzcyIsIndlYnBhY2s6Ly90ZXgtcG9ydGFsLy4vbm9kZV9tb2R1bGVzL0Bwcm9ncmVzcy9rZW5kby10aGVtZS1mbHVlbnQvc2Nzcy9iYWRnZS9fbGF5b3V0LnNjc3MiLCJ3ZWJwYWNrOi8vdGV4LXBvcnRhbC8uL25vZGVfbW9kdWxlcy9AcHJvZ3Jlc3Mva2VuZG8tdGhlbWUtZmx1ZW50L3Njc3MvYmFkZ2UvX3RoZW1lLnNjc3MiLCJ3ZWJwYWNrOi8vdGV4LXBvcnRhbC8uL25vZGVfbW9kdWxlcy9AcHJvZ3Jlc3Mva2VuZG8tdGhlbWUtZmx1ZW50L3Njc3MvYnV0dG9uL19sYXlvdXQuc2NzcyIsIndlYnBhY2s6Ly90ZXgtcG9ydGFsLy4vbm9kZV9tb2R1bGVzL0Bwcm9ncmVzcy9rZW5kby10aGVtZS1jb3JlL3Njc3MvY29sb3Itc3lzdGVtL19jb25zdGFudHMuc2NzcyIsIndlYnBhY2s6Ly90ZXgtcG9ydGFsLy4vbm9kZV9tb2R1bGVzL0Bwcm9ncmVzcy9rZW5kby10aGVtZS1mbHVlbnQvc2Nzcy9idXR0b24vX3RoZW1lLnNjc3MiLCJ3ZWJwYWNrOi8vdGV4LXBvcnRhbC8uL25vZGVfbW9kdWxlcy9AcHJvZ3Jlc3Mva2VuZG8tdGhlbWUtZmx1ZW50L3Njc3MvYWN0aW9uLWJ1dHRvbnMvX2xheW91dC5zY3NzIiwid2VicGFjazovL3RleC1wb3J0YWwvLi9ub2RlX21vZHVsZXMvQHByb2dyZXNzL2tlbmRvLXRoZW1lLWZsdWVudC9zY3NzL2FjdGlvbi1idXR0b25zL190aGVtZS5zY3NzIiwid2VicGFjazovL3RleC1wb3J0YWwvLi9ub2RlX21vZHVsZXMvQHByb2dyZXNzL2tlbmRvLXRoZW1lLXV0aWxzL3Njc3MvZmxleC1ncmlkL19qdXN0aWZ5LWNvbnRlbnQuc2NzcyIsIndlYnBhY2s6Ly90ZXgtcG9ydGFsLy4vbm9kZV9tb2R1bGVzL0Bwcm9ncmVzcy9rZW5kby10aGVtZS1mbHVlbnQvc2Nzcy9saXN0L19sYXlvdXQuc2NzcyIsIndlYnBhY2s6Ly90ZXgtcG9ydGFsLy4vbm9kZV9tb2R1bGVzL0Bwcm9ncmVzcy9rZW5kby10aGVtZS1mbHVlbnQvc2Nzcy9saXN0L190aGVtZS5zY3NzIiwid2VicGFjazovL3RleC1wb3J0YWwvLi9ub2RlX21vZHVsZXMvQHByb2dyZXNzL2tlbmRvLXRoZW1lLWZsdWVudC9zY3NzL2xpc3Rncm91cC9fbGF5b3V0LnNjc3MiLCJ3ZWJwYWNrOi8vdGV4LXBvcnRhbC8uL25vZGVfbW9kdWxlcy9AcHJvZ3Jlc3Mva2VuZG8tdGhlbWUtZmx1ZW50L3Njc3MvbGlzdGdyb3VwL190aGVtZS5zY3NzIiwid2VicGFjazovL3RleC1wb3J0YWwvLi9ub2RlX21vZHVsZXMvQHByb2dyZXNzL2tlbmRvLXRoZW1lLWZsdWVudC9zY3NzL292ZXJsYXkvX2xheW91dC5zY3NzIiwid2VicGFjazovL3RleC1wb3J0YWwvLi9ub2RlX21vZHVsZXMvQHByb2dyZXNzL2tlbmRvLXRoZW1lLWZsdWVudC9zY3NzL292ZXJsYXkvX3RoZW1lLnNjc3MiLCJ3ZWJwYWNrOi8vdGV4LXBvcnRhbC8uL25vZGVfbW9kdWxlcy9AcHJvZ3Jlc3Mva2VuZG8tdGhlbWUtZmx1ZW50L3Njc3MvcG9wdXAvX2xheW91dC5zY3NzIiwid2VicGFjazovL3RleC1wb3J0YWwvLi9ub2RlX21vZHVsZXMvQHByb2dyZXNzL2tlbmRvLXRoZW1lLWZsdWVudC9zY3NzL3BvcHVwL190aGVtZS5zY3NzIiwid2VicGFjazovL3RleC1wb3J0YWwvLi9ub2RlX21vZHVsZXMvQHByb2dyZXNzL2tlbmRvLXRoZW1lLWZsdWVudC9zY3NzL3JpcHBsZS9fbGF5b3V0LnNjc3MiLCJ3ZWJwYWNrOi8vdGV4LXBvcnRhbC8uL25vZGVfbW9kdWxlcy9AcHJvZ3Jlc3Mva2VuZG8tdGhlbWUtZmx1ZW50L3Njc3MvdGFibGUvX2xheW91dC5zY3NzIiwid2VicGFjazovL3RleC1wb3J0YWwvLi9ub2RlX21vZHVsZXMvQHByb2dyZXNzL2tlbmRvLXRoZW1lLWZsdWVudC9zY3NzL3RhYmxlL190aGVtZS5zY3NzIiwid2VicGFjazovL3RleC1wb3J0YWwvLi9ub2RlX21vZHVsZXMvQHByb2dyZXNzL2tlbmRvLXRoZW1lLWZsdWVudC9zY3NzL3ZpcnR1YWwtc2Nyb2xsZXIvX2xheW91dC5zY3NzIiwid2VicGFjazovL3RleC1wb3J0YWwvLi9ub2RlX21vZHVsZXMvQHByb2dyZXNzL2tlbmRvLXRoZW1lLWZsdWVudC9zY3NzL25vLWRhdGEvX2xheW91dC5zY3NzIiwid2VicGFjazovL3RleC1wb3J0YWwvLi9ub2RlX21vZHVsZXMvQHByb2dyZXNzL2tlbmRvLXRoZW1lLWZsdWVudC9zY3NzL25vLWRhdGEvX3RoZW1lLnNjc3MiLCJ3ZWJwYWNrOi8vdGV4LXBvcnRhbC8uL25vZGVfbW9kdWxlcy9AcHJvZ3Jlc3Mva2VuZG8tdGhlbWUtZmx1ZW50L3Njc3MvY29sdW1uLW1lbnUvX2xheW91dC5zY3NzIiwid2VicGFjazovL3RleC1wb3J0YWwvLi9ub2RlX21vZHVsZXMvQHByb2dyZXNzL2tlbmRvLXRoZW1lLWZsdWVudC9zY3NzL2NvbHVtbi1tZW51L190aGVtZS5zY3NzIiwid2VicGFjazovL3RleC1wb3J0YWwvLi9ub2RlX21vZHVsZXMvQHByb2dyZXNzL2tlbmRvLXRoZW1lLWZsdWVudC9zY3NzL2NvbHVtbi1tZW51L192YXJpYWJsZXMuc2NzcyIsIndlYnBhY2s6Ly90ZXgtcG9ydGFsLy4vbm9kZV9tb2R1bGVzL0Bwcm9ncmVzcy9rZW5kby10aGVtZS1mbHVlbnQvc2Nzcy9hdmF0YXIvX2xheW91dC5zY3NzIiwid2VicGFjazovL3RleC1wb3J0YWwvLi9ub2RlX21vZHVsZXMvQHByb2dyZXNzL2tlbmRvLXRoZW1lLWZsdWVudC9zY3NzL2F2YXRhci9fdGhlbWUuc2NzcyIsIndlYnBhY2s6Ly90ZXgtcG9ydGFsLy4vbm9kZV9tb2R1bGVzL0Bwcm9ncmVzcy9rZW5kby10aGVtZS1mbHVlbnQvc2Nzcy9jaGlwL19sYXlvdXQuc2NzcyIsIndlYnBhY2s6Ly90ZXgtcG9ydGFsLy4vbm9kZV9tb2R1bGVzL0Bwcm9ncmVzcy9rZW5kby10aGVtZS1mbHVlbnQvc2Nzcy9jaGlwL192YXJpYWJsZXMuc2NzcyIsIndlYnBhY2s6Ly90ZXgtcG9ydGFsLy4vbm9kZV9tb2R1bGVzL0Bwcm9ncmVzcy9rZW5kby10aGVtZS1mbHVlbnQvc2Nzcy9jaGlwL190aGVtZS5zY3NzIiwid2VicGFjazovL3RleC1wb3J0YWwvLi9ub2RlX21vZHVsZXMvQHByb2dyZXNzL2tlbmRvLXRoZW1lLWZsdWVudC9zY3NzL2NvbG9yLXByZXZpZXcvX2xheW91dC5zY3NzIiwid2VicGFjazovL3RleC1wb3J0YWwvLi9ub2RlX21vZHVsZXMvQHByb2dyZXNzL2tlbmRvLXRoZW1lLWZsdWVudC9zY3NzL2NvbG9yLXByZXZpZXcvX3RoZW1lLnNjc3MiLCJ3ZWJwYWNrOi8vdGV4LXBvcnRhbC8uL25vZGVfbW9kdWxlcy9AcHJvZ3Jlc3Mva2VuZG8tdGhlbWUtZmx1ZW50L3Njc3MvbG9hZGVyL19sYXlvdXQuc2NzcyIsIndlYnBhY2s6Ly90ZXgtcG9ydGFsLy4vbm9kZV9tb2R1bGVzL0Bwcm9ncmVzcy9rZW5kby10aGVtZS1mbHVlbnQvc2Nzcy9sb2FkZXIvX3RoZW1lLnNjc3MiLCJ3ZWJwYWNrOi8vdGV4LXBvcnRhbC8uL25vZGVfbW9kdWxlcy9AcHJvZ3Jlc3Mva2VuZG8tdGhlbWUtZmx1ZW50L3Njc3Mvc2tlbGV0b24vX2xheW91dC5zY3NzIiwid2VicGFjazovL3RleC1wb3J0YWwvLi9ub2RlX21vZHVsZXMvQHByb2dyZXNzL2tlbmRvLXRoZW1lLWZsdWVudC9zY3NzL3NrZWxldG9uL190aGVtZS5zY3NzIiwid2VicGFjazovL3RleC1wb3J0YWwvLi9ub2RlX21vZHVsZXMvQHByb2dyZXNzL2tlbmRvLXRoZW1lLWZsdWVudC9zY3NzL3Rvb2x0aXAvX2xheW91dC5zY3NzIiwid2VicGFjazovL3RleC1wb3J0YWwvLi9ub2RlX21vZHVsZXMvQHByb2dyZXNzL2tlbmRvLXRoZW1lLWZsdWVudC9zY3NzL3Rvb2x0aXAvX3ZhcmlhYmxlcy5zY3NzIiwid2VicGFjazovL3RleC1wb3J0YWwvLi9ub2RlX21vZHVsZXMvQHByb2dyZXNzL2tlbmRvLXRoZW1lLWZsdWVudC9zY3NzL3Rvb2x0aXAvX3RoZW1lLnNjc3MiLCJ3ZWJwYWNrOi8vdGV4LXBvcnRhbC8uL25vZGVfbW9kdWxlcy9AcHJvZ3Jlc3Mva2VuZG8tdGhlbWUtZmx1ZW50L3Njc3MvdGltZS1tYXJrZXIvX2xheW91dC5zY3NzIiwid2VicGFjazovL3RleC1wb3J0YWwvLi9ub2RlX21vZHVsZXMvQHByb2dyZXNzL2tlbmRvLXRoZW1lLWZsdWVudC9zY3NzL3RpbWUtbWFya2VyL190aGVtZS5zY3NzIiwid2VicGFjazovL3RleC1wb3J0YWwvLi9ub2RlX21vZHVsZXMvQHByb2dyZXNzL2tlbmRvLXRoZW1lLWZsdWVudC9zY3NzL21lbnUvX2xheW91dC5zY3NzIiwid2VicGFjazovL3RleC1wb3J0YWwvLi9ub2RlX21vZHVsZXMvQHByb2dyZXNzL2tlbmRvLXRoZW1lLWZsdWVudC9zY3NzL21lbnUvX3RoZW1lLnNjc3MiLCJ3ZWJwYWNrOi8vdGV4LXBvcnRhbC8uL25vZGVfbW9kdWxlcy9AcHJvZ3Jlc3Mva2VuZG8tdGhlbWUtZmx1ZW50L3Njc3MvdG9vbGJhci9fbGF5b3V0LnNjc3MiLCJ3ZWJwYWNrOi8vdGV4LXBvcnRhbC8uL25vZGVfbW9kdWxlcy9AcHJvZ3Jlc3Mva2VuZG8tdGhlbWUtZmx1ZW50L3Njc3MvYnV0dG9uL192YXJpYWJsZXMuc2NzcyIsIndlYnBhY2s6Ly90ZXgtcG9ydGFsLy4vbm9kZV9tb2R1bGVzL0Bwcm9ncmVzcy9rZW5kby10aGVtZS1mbHVlbnQvc2Nzcy90b29sYmFyL190aGVtZS5zY3NzIiwid2VicGFjazovL3RleC1wb3J0YWwvLi9ub2RlX21vZHVsZXMvQHByb2dyZXNzL2tlbmRvLXRoZW1lLWZsdWVudC9zY3NzL2Zvcm1zL19sYXlvdXQuc2NzcyIsIndlYnBhY2s6Ly90ZXgtcG9ydGFsLy4vbm9kZV9tb2R1bGVzL0Bwcm9ncmVzcy9rZW5kby10aGVtZS1mbHVlbnQvc2Nzcy9mb3Jtcy9fdGhlbWUuc2NzcyIsIndlYnBhY2s6Ly90ZXgtcG9ydGFsLy4vbm9kZV9tb2R1bGVzL0Bwcm9ncmVzcy9rZW5kby10aGVtZS1mbHVlbnQvc2Nzcy92YWxpZGF0b3IvX2xheW91dC5zY3NzIiwid2VicGFjazovL3RleC1wb3J0YWwvLi9ub2RlX21vZHVsZXMvQHByb2dyZXNzL2tlbmRvLXRoZW1lLWZsdWVudC9zY3NzL2Zsb2F0aW5nLWxhYmVsL19sYXlvdXQuc2NzcyIsIndlYnBhY2s6Ly90ZXgtcG9ydGFsLy4vbm9kZV9tb2R1bGVzL0Bwcm9ncmVzcy9rZW5kby10aGVtZS1mbHVlbnQvc2Nzcy9mbG9hdGluZy1sYWJlbC9fdGhlbWUuc2NzcyIsIndlYnBhY2s6Ly90ZXgtcG9ydGFsLy4vbm9kZV9tb2R1bGVzL0Bwcm9ncmVzcy9rZW5kby10aGVtZS1mbHVlbnQvc2Nzcy9zcGxpdC1idXR0b24vX2xheW91dC5zY3NzIiwid2VicGFjazovL3RleC1wb3J0YWwvLi9ub2RlX21vZHVsZXMvQHByb2dyZXNzL2tlbmRvLXRoZW1lLWZsdWVudC9zY3NzL21lbnUtYnV0dG9uL19sYXlvdXQuc2NzcyIsIndlYnBhY2s6Ly90ZXgtcG9ydGFsLy4vbm9kZV9tb2R1bGVzL0Bwcm9ncmVzcy9rZW5kby10aGVtZS1mbHVlbnQvc2Nzcy9pbnB1dC9fbGF5b3V0LnNjc3MiLCJ3ZWJwYWNrOi8vdGV4LXBvcnRhbC8uL25vZGVfbW9kdWxlcy9AcHJvZ3Jlc3Mva2VuZG8tdGhlbWUtZmx1ZW50L3Njc3MvaW5wdXQvX3ZhcmlhYmxlcy5zY3NzIiwid2VicGFjazovL3RleC1wb3J0YWwvLi9ub2RlX21vZHVsZXMvQHByb2dyZXNzL2tlbmRvLXRoZW1lLWZsdWVudC9zY3NzL2lucHV0L190aGVtZS5zY3NzIiwid2VicGFjazovL3RleC1wb3J0YWwvLi9ub2RlX21vZHVsZXMvQHByb2dyZXNzL2tlbmRvLXRoZW1lLWZsdWVudC9zY3NzL3RleHRhcmVhL19sYXlvdXQuc2NzcyIsIndlYnBhY2s6Ly90ZXgtcG9ydGFsLy4vbm9kZV9tb2R1bGVzL0Bwcm9ncmVzcy9rZW5kby10aGVtZS1mbHVlbnQvc2Nzcy9jaGVja2JveC9fbGF5b3V0LnNjc3MiLCJ3ZWJwYWNrOi8vdGV4LXBvcnRhbC8uL25vZGVfbW9kdWxlcy9AcHJvZ3Jlc3Mva2VuZG8tdGhlbWUtZmx1ZW50L3Njc3MvY2hlY2tib3gvX3ZhcmlhYmxlcy5zY3NzIiwid2VicGFjazovL3RleC1wb3J0YWwvLi9ub2RlX21vZHVsZXMvQHByb2dyZXNzL2tlbmRvLXRoZW1lLWZsdWVudC9zY3NzL2NoZWNrYm94L190aGVtZS5zY3NzIiwid2VicGFjazovL3RleC1wb3J0YWwvLi9ub2RlX21vZHVsZXMvQHByb2dyZXNzL2tlbmRvLXRoZW1lLWZsdWVudC9zY3NzL2xpc3Rib3gvX2xheW91dC5zY3NzIiwid2VicGFjazovL3RleC1wb3J0YWwvLi9ub2RlX21vZHVsZXMvQHByb2dyZXNzL2tlbmRvLXRoZW1lLWZsdWVudC9zY3NzL2xpc3Rib3gvX3RoZW1lLnNjc3MiLCJ3ZWJwYWNrOi8vdGV4LXBvcnRhbC8uL25vZGVfbW9kdWxlcy9AcHJvZ3Jlc3Mva2VuZG8tdGhlbWUtZmx1ZW50L3Njc3MvcHJvZ3Jlc3NiYXIvX2xheW91dC5zY3NzIiwid2VicGFjazovL3RleC1wb3J0YWwvLi9ub2RlX21vZHVsZXMvQHByb2dyZXNzL2tlbmRvLXRoZW1lLWZsdWVudC9zY3NzL3Byb2dyZXNzYmFyL190aGVtZS5zY3NzIiwid2VicGFjazovL3RleC1wb3J0YWwvLi9ub2RlX21vZHVsZXMvQHByb2dyZXNzL2tlbmRvLXRoZW1lLWZsdWVudC9zY3NzL3JhZGlvL19sYXlvdXQuc2NzcyIsIndlYnBhY2s6Ly90ZXgtcG9ydGFsLy4vbm9kZV9tb2R1bGVzL0Bwcm9ncmVzcy9rZW5kby10aGVtZS1mbHVlbnQvc2Nzcy9yYWRpby9fdmFyaWFibGVzLnNjc3MiLCJ3ZWJwYWNrOi8vdGV4LXBvcnRhbC8uL25vZGVfbW9kdWxlcy9AcHJvZ3Jlc3Mva2VuZG8tdGhlbWUtZmx1ZW50L3Njc3MvcmFkaW8vX3RoZW1lLnNjc3MiLCJ3ZWJwYWNrOi8vdGV4LXBvcnRhbC8uL25vZGVfbW9kdWxlcy9AcHJvZ3Jlc3Mva2VuZG8tdGhlbWUtZmx1ZW50L3Njc3Mvc2xpZGVyL19sYXlvdXQuc2NzcyIsIndlYnBhY2s6Ly90ZXgtcG9ydGFsLy4vbm9kZV9tb2R1bGVzL0Bwcm9ncmVzcy9rZW5kby10aGVtZS1mbHVlbnQvc2Nzcy9zbGlkZXIvX3RoZW1lLnNjc3MiLCJ3ZWJwYWNrOi8vdGV4LXBvcnRhbC8uL25vZGVfbW9kdWxlcy9AcHJvZ3Jlc3Mva2VuZG8tdGhlbWUtZmx1ZW50L3Njc3MvY2FsZW5kYXIvX2xheW91dC5zY3NzIiwid2VicGFjazovL3RleC1wb3J0YWwvLi9ub2RlX21vZHVsZXMvQHByb2dyZXNzL2tlbmRvLXRoZW1lLWZsdWVudC9zY3NzL2NhbGVuZGFyL192YXJpYWJsZXMuc2NzcyIsIndlYnBhY2s6Ly90ZXgtcG9ydGFsLy4vbm9kZV9tb2R1bGVzL0Bwcm9ncmVzcy9rZW5kby10aGVtZS1jb3JlL3Njc3MvbWl4aW5zL19oaWRlLXNjcm9sbGJhci5zY3NzIiwid2VicGFjazovL3RleC1wb3J0YWwvLi9ub2RlX21vZHVsZXMvQHByb2dyZXNzL2tlbmRvLXRoZW1lLWZsdWVudC9zY3NzL2NhbGVuZGFyL190aGVtZS5zY3NzIiwid2VicGFjazovL3RleC1wb3J0YWwvLi9ub2RlX21vZHVsZXMvQHByb2dyZXNzL2tlbmRvLXRoZW1lLWZsdWVudC9zY3NzL3RpbWVzZWxlY3Rvci9fbGF5b3V0LnNjc3MiLCJ3ZWJwYWNrOi8vdGV4LXBvcnRhbC8uL25vZGVfbW9kdWxlcy9AcHJvZ3Jlc3Mva2VuZG8tdGhlbWUtZmx1ZW50L3Njc3MvdGltZXNlbGVjdG9yL190aGVtZS5zY3NzIiwid2VicGFjazovL3RleC1wb3J0YWwvLi9ub2RlX21vZHVsZXMvQHByb2dyZXNzL2tlbmRvLXRoZW1lLWZsdWVudC9zY3NzL2NhcHRjaGEvX2xheW91dC5zY3NzIiwid2VicGFjazovL3RleC1wb3J0YWwvLi9ub2RlX21vZHVsZXMvQHByb2dyZXNzL2tlbmRvLXRoZW1lLWZsdWVudC9zY3NzL2NhcHRjaGEvX3RoZW1lLnNjc3MiLCJ3ZWJwYWNrOi8vdGV4LXBvcnRhbC8uL25vZGVfbW9kdWxlcy9AcHJvZ3Jlc3Mva2VuZG8tdGhlbWUtZmx1ZW50L3Njc3MvY29sb3JwYWxldHRlL19sYXlvdXQuc2NzcyIsIndlYnBhY2s6Ly90ZXgtcG9ydGFsLy4vbm9kZV9tb2R1bGVzL0Bwcm9ncmVzcy9rZW5kby10aGVtZS1mbHVlbnQvc2Nzcy9jb2xvcnBhbGV0dGUvX3RoZW1lLnNjc3MiLCJ3ZWJwYWNrOi8vdGV4LXBvcnRhbC8uL25vZGVfbW9kdWxlcy9AcHJvZ3Jlc3Mva2VuZG8tdGhlbWUtZmx1ZW50L3Njc3MvY29sb3JncmFkaWVudC9fbGF5b3V0LnNjc3MiLCJ3ZWJwYWNrOi8vdGV4LXBvcnRhbC8uL25vZGVfbW9kdWxlcy9AcHJvZ3Jlc3Mva2VuZG8tdGhlbWUtZmx1ZW50L3Njc3MvY29sb3JncmFkaWVudC9fdGhlbWUuc2NzcyIsIndlYnBhY2s6Ly90ZXgtcG9ydGFsLy4vbm9kZV9tb2R1bGVzL0Bwcm9ncmVzcy9rZW5kby10aGVtZS1mbHVlbnQvc2Nzcy9jb2xvcmdyYWRpZW50L192YXJpYWJsZXMuc2NzcyIsIndlYnBhY2s6Ly90ZXgtcG9ydGFsLy4vbm9kZV9tb2R1bGVzL0Bwcm9ncmVzcy9rZW5kby10aGVtZS1mbHVlbnQvc2Nzcy9jb2xvcmVkaXRvci9fbGF5b3V0LnNjc3MiLCJ3ZWJwYWNrOi8vdGV4LXBvcnRhbC8uL25vZGVfbW9kdWxlcy9AcHJvZ3Jlc3Mva2VuZG8tdGhlbWUtZmx1ZW50L3Njc3MvY29sb3JlZGl0b3IvX3RoZW1lLnNjc3MiLCJ3ZWJwYWNrOi8vdGV4LXBvcnRhbC8uL25vZGVfbW9kdWxlcy9AcHJvZ3Jlc3Mva2VuZG8tdGhlbWUtZmx1ZW50L3Njc3MvY29sb3JwaWNrZXIvX2xheW91dC5zY3NzIiwid2VicGFjazovL3RleC1wb3J0YWwvLi9ub2RlX21vZHVsZXMvQHByb2dyZXNzL2tlbmRvLXRoZW1lLWZsdWVudC9zY3NzL2RhdGV0aW1lcGlja2VyL19sYXlvdXQuc2NzcyIsIndlYnBhY2s6Ly90ZXgtcG9ydGFsLy4vbm9kZV9tb2R1bGVzL0Bwcm9ncmVzcy9rZW5kby10aGVtZS1mbHVlbnQvc2Nzcy9kYXRlcmFuZ2VwaWNrZXIvX2xheW91dC5zY3NzIiwid2VicGFjazovL3RleC1wb3J0YWwvLi9ub2RlX21vZHVsZXMvQHByb2dyZXNzL2tlbmRvLXRoZW1lLWZsdWVudC9zY3NzL2RhdGVyYW5nZXBpY2tlci9fdGhlbWUuc2NzcyIsIndlYnBhY2s6Ly90ZXgtcG9ydGFsLy4vbm9kZV9tb2R1bGVzL0Bwcm9ncmVzcy9rZW5kby10aGVtZS1mbHVlbnQvc2Nzcy9kcm9wZG93bmdyaWQvX2xheW91dC5zY3NzIiwid2VicGFjazovL3RleC1wb3J0YWwvLi9ub2RlX21vZHVsZXMvQHByb2dyZXNzL2tlbmRvLXRoZW1lLWZsdWVudC9zY3NzL2Ryb3Bkb3dubGlzdC9fbGF5b3V0LnNjc3MiLCJ3ZWJwYWNrOi8vdGV4LXBvcnRhbC8uL25vZGVfbW9kdWxlcy9AcHJvZ3Jlc3Mva2VuZG8tdGhlbWUtZmx1ZW50L3Njc3MvdHJlZXZpZXcvX2xheW91dC5zY3NzIiwid2VicGFjazovL3RleC1wb3J0YWwvLi9ub2RlX21vZHVsZXMvQHByb2dyZXNzL2tlbmRvLXRoZW1lLWZsdWVudC9zY3NzL3RyZWV2aWV3L190aGVtZS5zY3NzIiwid2VicGFjazovL3RleC1wb3J0YWwvLi9ub2RlX21vZHVsZXMvQHByb2dyZXNzL2tlbmRvLXRoZW1lLWZsdWVudC9zY3NzL2Ryb3Bkb3dudHJlZS9fbGF5b3V0LnNjc3MiLCJ3ZWJwYWNrOi8vdGV4LXBvcnRhbC8uL25vZGVfbW9kdWxlcy9AcHJvZ3Jlc3Mva2VuZG8tdGhlbWUtZmx1ZW50L3Njc3MvcmF0aW5nL19sYXlvdXQuc2NzcyIsIndlYnBhY2s6Ly90ZXgtcG9ydGFsLy4vbm9kZV9tb2R1bGVzL0Bwcm9ncmVzcy9rZW5kby10aGVtZS1mbHVlbnQvc2Nzcy9yYXRpbmcvX3RoZW1lLnNjc3MiLCJ3ZWJwYWNrOi8vdGV4LXBvcnRhbC8uL25vZGVfbW9kdWxlcy9AcHJvZ3Jlc3Mva2VuZG8tdGhlbWUtZmx1ZW50L3Njc3Mvc2VhcmNoYm94L19sYXlvdXQuc2NzcyIsIndlYnBhY2s6Ly90ZXgtcG9ydGFsLy4vbm9kZV9tb2R1bGVzL0Bwcm9ncmVzcy9rZW5kby10aGVtZS1mbHVlbnQvc2Nzcy9zZWFyY2hib3gvX3RoZW1lLnNjc3MiLCJ3ZWJwYWNrOi8vdGV4LXBvcnRhbC8uL25vZGVfbW9kdWxlcy9AcHJvZ3Jlc3Mva2VuZG8tdGhlbWUtZmx1ZW50L3Njc3Mvc3dpdGNoL19sYXlvdXQuc2NzcyIsIndlYnBhY2s6Ly90ZXgtcG9ydGFsLy4vbm9kZV9tb2R1bGVzL0Bwcm9ncmVzcy9rZW5kby10aGVtZS1mbHVlbnQvc2Nzcy9zd2l0Y2gvX3RoZW1lLnNjc3MiLCJ3ZWJwYWNrOi8vdGV4LXBvcnRhbC8uL25vZGVfbW9kdWxlcy9AcHJvZ3Jlc3Mva2VuZG8tdGhlbWUtZmx1ZW50L3Njc3Mvc3dpdGNoL192YXJpYWJsZXMuc2NzcyIsIndlYnBhY2s6Ly90ZXgtcG9ydGFsLy4vbm9kZV9tb2R1bGVzL0Bwcm9ncmVzcy9rZW5kby10aGVtZS1mbHVlbnQvc2Nzcy9kcm9wem9uZS9fbGF5b3V0LnNjc3MiLCJ3ZWJwYWNrOi8vdGV4LXBvcnRhbC8uL25vZGVfbW9kdWxlcy9AcHJvZ3Jlc3Mva2VuZG8tdGhlbWUtZmx1ZW50L3Njc3MvZHJvcHpvbmUvX3RoZW1lLnNjc3MiLCJ3ZWJwYWNrOi8vdGV4LXBvcnRhbC8uL25vZGVfbW9kdWxlcy9AcHJvZ3Jlc3Mva2VuZG8tdGhlbWUtZmx1ZW50L3Njc3MvdXBsb2FkL19sYXlvdXQuc2NzcyIsIndlYnBhY2s6Ly90ZXgtcG9ydGFsLy4vbm9kZV9tb2R1bGVzL0Bwcm9ncmVzcy9rZW5kby10aGVtZS1mbHVlbnQvc2Nzcy91cGxvYWQvX3RoZW1lLnNjc3MiLCJ3ZWJwYWNrOi8vdGV4LXBvcnRhbC8uL25vZGVfbW9kdWxlcy9AcHJvZ3Jlc3Mva2VuZG8tdGhlbWUtZmx1ZW50L3Njc3MvdXBsb2FkL192YXJpYWJsZXMuc2NzcyIsIndlYnBhY2s6Ly90ZXgtcG9ydGFsLy4vbm9kZV9tb2R1bGVzL0Bwcm9ncmVzcy9rZW5kby10aGVtZS1mbHVlbnQvc2Nzcy9vdHAvX2xheW91dC5zY3NzIiwid2VicGFjazovL3RleC1wb3J0YWwvLi9ub2RlX21vZHVsZXMvQHByb2dyZXNzL2tlbmRvLXRoZW1lLWZsdWVudC9zY3NzL2FwcGJhci9fbGF5b3V0LnNjc3MiLCJ3ZWJwYWNrOi8vdGV4LXBvcnRhbC8uL25vZGVfbW9kdWxlcy9AcHJvZ3Jlc3Mva2VuZG8tdGhlbWUtZmx1ZW50L3Njc3MvYXBwYmFyL190aGVtZS5zY3NzIiwid2VicGFjazovL3RleC1wb3J0YWwvLi9ub2RlX21vZHVsZXMvQHByb2dyZXNzL2tlbmRvLXRoZW1lLWZsdWVudC9zY3NzL2ZhYi9fbGF5b3V0LnNjc3MiLCJ3ZWJwYWNrOi8vdGV4LXBvcnRhbC8uL25vZGVfbW9kdWxlcy9AcHJvZ3Jlc3Mva2VuZG8tdGhlbWUtZmx1ZW50L3Njc3MvZmFiL190aGVtZS5zY3NzIiwid2VicGFjazovL3RleC1wb3J0YWwvLi9ub2RlX21vZHVsZXMvQHByb2dyZXNzL2tlbmRvLXRoZW1lLWZsdWVudC9zY3NzL3dpbmRvdy9fbGF5b3V0LnNjc3MiLCJ3ZWJwYWNrOi8vdGV4LXBvcnRhbC8uL25vZGVfbW9kdWxlcy9AcHJvZ3Jlc3Mva2VuZG8tdGhlbWUtZmx1ZW50L3Njc3Mvd2luZG93L192YXJpYWJsZXMuc2NzcyIsIndlYnBhY2s6Ly90ZXgtcG9ydGFsLy4vbm9kZV9tb2R1bGVzL0Bwcm9ncmVzcy9rZW5kby10aGVtZS1mbHVlbnQvc2Nzcy93aW5kb3cvX3RoZW1lLnNjc3MiLCJ3ZWJwYWNrOi8vdGV4LXBvcnRhbC8uL25vZGVfbW9kdWxlcy9AcHJvZ3Jlc3Mva2VuZG8tdGhlbWUtZmx1ZW50L3Njc3MvYWN0aW9uLXNoZWV0L19sYXlvdXQuc2NzcyIsIndlYnBhY2s6Ly90ZXgtcG9ydGFsLy4vbm9kZV9tb2R1bGVzL0Bwcm9ncmVzcy9rZW5kby10aGVtZS1mbHVlbnQvc2Nzcy9hY3Rpb24tc2hlZXQvX3ZhcmlhYmxlcy5zY3NzIiwid2VicGFjazovL3RleC1wb3J0YWwvLi9ub2RlX21vZHVsZXMvQHByb2dyZXNzL2tlbmRvLXRoZW1lLWZsdWVudC9zY3NzL2FjdGlvbi1zaGVldC9fdGhlbWUuc2NzcyIsIndlYnBhY2s6Ly90ZXgtcG9ydGFsLy4vbm9kZV9tb2R1bGVzL0Bwcm9ncmVzcy9rZW5kby10aGVtZS1mbHVlbnQvc2Nzcy9kaWFsb2cvX2xheW91dC5zY3NzIiwid2VicGFjazovL3RleC1wb3J0YWwvLi9ub2RlX21vZHVsZXMvQHByb2dyZXNzL2tlbmRvLXRoZW1lLWZsdWVudC9zY3NzL2RpYWxvZy9fdGhlbWUuc2NzcyIsIndlYnBhY2s6Ly90ZXgtcG9ydGFsLy4vbm9kZV9tb2R1bGVzL0Bwcm9ncmVzcy9rZW5kby10aGVtZS1mbHVlbnQvc2Nzcy9kcmF3ZXIvX2xheW91dC5zY3NzIiwid2VicGFjazovL3RleC1wb3J0YWwvLi9ub2RlX21vZHVsZXMvQHByb2dyZXNzL2tlbmRvLXRoZW1lLWZsdWVudC9zY3NzL2RyYXdlci9fdGhlbWUuc2NzcyIsIndlYnBhY2s6Ly90ZXgtcG9ydGFsLy4vbm9kZV9tb2R1bGVzL0Bwcm9ncmVzcy9rZW5kby10aGVtZS1mbHVlbnQvc2Nzcy9ub3RpZmljYXRpb24vX2xheW91dC5zY3NzIiwid2VicGFjazovL3RleC1wb3J0YWwvLi9ub2RlX21vZHVsZXMvQHByb2dyZXNzL2tlbmRvLXRoZW1lLWZsdWVudC9zY3NzL25vdGlmaWNhdGlvbi9fdGhlbWUuc2NzcyIsIndlYnBhY2s6Ly90ZXgtcG9ydGFsLy4vbm9kZV9tb2R1bGVzL0Bwcm9ncmVzcy9rZW5kby10aGVtZS1mbHVlbnQvc2Nzcy9jYXJkL19sYXlvdXQuc2NzcyIsIndlYnBhY2s6Ly90ZXgtcG9ydGFsLy4vbm9kZV9tb2R1bGVzL0Bwcm9ncmVzcy9rZW5kby10aGVtZS1mbHVlbnQvc2Nzcy9jYXJkL192YXJpYWJsZXMuc2NzcyIsIndlYnBhY2s6Ly90ZXgtcG9ydGFsLy4vbm9kZV9tb2R1bGVzL0Bwcm9ncmVzcy9rZW5kby10aGVtZS1mbHVlbnQvc2Nzcy9jYXJkL190aGVtZS5zY3NzIiwid2VicGFjazovL3RleC1wb3J0YWwvLi9ub2RlX21vZHVsZXMvQHByb2dyZXNzL2tlbmRvLXRoZW1lLWZsdWVudC9zY3NzL3BvcG92ZXIvX2xheW91dC5zY3NzIiwid2VicGFjazovL3RleC1wb3J0YWwvLi9ub2RlX21vZHVsZXMvQHByb2dyZXNzL2tlbmRvLXRoZW1lLWZsdWVudC9zY3NzL3BvcG92ZXIvX3RoZW1lLnNjc3MiLCJ3ZWJwYWNrOi8vdGV4LXBvcnRhbC8uL25vZGVfbW9kdWxlcy9AcHJvZ3Jlc3Mva2VuZG8tdGhlbWUtZmx1ZW50L3Njc3MvcmVzcG9uc2l2ZXBhbmVsL19sYXlvdXQuc2NzcyIsIndlYnBhY2s6Ly90ZXgtcG9ydGFsLy4vbm9kZV9tb2R1bGVzL0Bwcm9ncmVzcy9rZW5kby10aGVtZS1mbHVlbnQvc2Nzcy9ib3R0b20tbmF2aWdhdGlvbi9fbGF5b3V0LnNjc3MiLCJ3ZWJwYWNrOi8vdGV4LXBvcnRhbC8uL25vZGVfbW9kdWxlcy9AcHJvZ3Jlc3Mva2VuZG8tdGhlbWUtZmx1ZW50L3Njc3MvYm90dG9tLW5hdmlnYXRpb24vX3RoZW1lLnNjc3MiLCJ3ZWJwYWNrOi8vdGV4LXBvcnRhbC8uL25vZGVfbW9kdWxlcy9AcHJvZ3Jlc3Mva2VuZG8tdGhlbWUtZmx1ZW50L3Njc3MvYnJlYWRjcnVtYi9fbGF5b3V0LnNjc3MiLCJ3ZWJwYWNrOi8vdGV4LXBvcnRhbC8uL25vZGVfbW9kdWxlcy9AcHJvZ3Jlc3Mva2VuZG8tdGhlbWUtZmx1ZW50L3Njc3MvYnJlYWRjcnVtYi9fdGhlbWUuc2NzcyIsIndlYnBhY2s6Ly90ZXgtcG9ydGFsLy4vbm9kZV9tb2R1bGVzL0Bwcm9ncmVzcy9rZW5kby10aGVtZS1mbHVlbnQvc2Nzcy9wYWdlci9fbGF5b3V0LnNjc3MiLCJ3ZWJwYWNrOi8vdGV4LXBvcnRhbC8uL25vZGVfbW9kdWxlcy9AcHJvZ3Jlc3Mva2VuZG8tdGhlbWUtZmx1ZW50L3Njc3MvcGFnZXIvX3RoZW1lLnNjc3MiLCJ3ZWJwYWNrOi8vdGV4LXBvcnRhbC8uL25vZGVfbW9kdWxlcy9AcHJvZ3Jlc3Mva2VuZG8tdGhlbWUtZmx1ZW50L3Njc3Mvc3RlcHBlci9fbGF5b3V0LnNjc3MiLCJ3ZWJwYWNrOi8vdGV4LXBvcnRhbC8uL25vZGVfbW9kdWxlcy9AcHJvZ3Jlc3Mva2VuZG8tdGhlbWUtZmx1ZW50L3Njc3Mvc3RlcHBlci9fdGhlbWUuc2NzcyIsIndlYnBhY2s6Ly90ZXgtcG9ydGFsLy4vbm9kZV9tb2R1bGVzL0Bwcm9ncmVzcy9rZW5kby10aGVtZS1mbHVlbnQvc2Nzcy90YWJzdHJpcC9fbGF5b3V0LnNjc3MiLCJ3ZWJwYWNrOi8vdGV4LXBvcnRhbC8uL25vZGVfbW9kdWxlcy9AcHJvZ3Jlc3Mva2VuZG8tdGhlbWUtZmx1ZW50L3Njc3MvdGFic3RyaXAvX3ZhcmlhYmxlcy5zY3NzIiwid2VicGFjazovL3RleC1wb3J0YWwvLi9ub2RlX21vZHVsZXMvQHByb2dyZXNzL2tlbmRvLXRoZW1lLWZsdWVudC9zY3NzL3RhYnN0cmlwL190aGVtZS5zY3NzIiwid2VicGFjazovL3RleC1wb3J0YWwvLi9ub2RlX21vZHVsZXMvQHByb2dyZXNzL2tlbmRvLXRoZW1lLWZsdWVudC9zY3NzL3dpemFyZC9fbGF5b3V0LnNjc3MiLCJ3ZWJwYWNrOi8vdGV4LXBvcnRhbC8uL25vZGVfbW9kdWxlcy9AcHJvZ3Jlc3Mva2VuZG8tdGhlbWUtZmx1ZW50L3Njc3Mvd2l6YXJkL190aGVtZS5zY3NzIiwid2VicGFjazovL3RleC1wb3J0YWwvLi9ub2RlX21vZHVsZXMvQHByb2dyZXNzL2tlbmRvLXRoZW1lLWZsdWVudC9zY3NzL2V4cGFuc2lvbi1wYW5lbC9fbGF5b3V0LnNjc3MiLCJ3ZWJwYWNrOi8vdGV4LXBvcnRhbC8uL25vZGVfbW9kdWxlcy9AcHJvZ3Jlc3Mva2VuZG8tdGhlbWUtZmx1ZW50L3Njc3MvZXhwYW5zaW9uLXBhbmVsL190aGVtZS5zY3NzIiwid2VicGFjazovL3RleC1wb3J0YWwvLi9ub2RlX21vZHVsZXMvQHByb2dyZXNzL2tlbmRvLXRoZW1lLWZsdWVudC9zY3NzL3BhbmVsL19sYXlvdXQuc2NzcyIsIndlYnBhY2s6Ly90ZXgtcG9ydGFsLy4vbm9kZV9tb2R1bGVzL0Bwcm9ncmVzcy9rZW5kby10aGVtZS1mbHVlbnQvc2Nzcy9wYW5lbC9fdmFyaWFibGVzLnNjc3MiLCJ3ZWJwYWNrOi8vdGV4LXBvcnRhbC8uL25vZGVfbW9kdWxlcy9AcHJvZ3Jlc3Mva2VuZG8tdGhlbWUtZmx1ZW50L3Njc3MvcGFuZWwvX3RoZW1lLnNjc3MiLCJ3ZWJwYWNrOi8vdGV4LXBvcnRhbC8uL25vZGVfbW9kdWxlcy9AcHJvZ3Jlc3Mva2VuZG8tdGhlbWUtZmx1ZW50L3Njc3MvcGFuZWxiYXIvX2xheW91dC5zY3NzIiwid2VicGFjazovL3RleC1wb3J0YWwvLi9ub2RlX21vZHVsZXMvQHByb2dyZXNzL2tlbmRvLXRoZW1lLWZsdWVudC9zY3NzL3BhbmVsYmFyL190aGVtZS5zY3NzIiwid2VicGFjazovL3RleC1wb3J0YWwvLi9ub2RlX21vZHVsZXMvQHByb2dyZXNzL2tlbmRvLXRoZW1lLWZsdWVudC9zY3NzL3NwbGl0dGVyL19sYXlvdXQuc2NzcyIsIndlYnBhY2s6Ly90ZXgtcG9ydGFsLy4vbm9kZV9tb2R1bGVzL0Bwcm9ncmVzcy9rZW5kby10aGVtZS1mbHVlbnQvc2Nzcy9zcGxpdHRlci9fdGhlbWUuc2NzcyIsIndlYnBhY2s6Ly90ZXgtcG9ydGFsLy4vbm9kZV9tb2R1bGVzL0Bwcm9ncmVzcy9rZW5kby10aGVtZS1mbHVlbnQvc2Nzcy90aWxlbGF5b3V0L19sYXlvdXQuc2NzcyIsIndlYnBhY2s6Ly90ZXgtcG9ydGFsLy4vbm9kZV9tb2R1bGVzL0Bwcm9ncmVzcy9rZW5kby10aGVtZS1mbHVlbnQvc2Nzcy90aWxlbGF5b3V0L190aGVtZS5zY3NzIiwid2VicGFjazovL3RleC1wb3J0YWwvLi9ub2RlX21vZHVsZXMvQHByb2dyZXNzL2tlbmRvLXRoZW1lLWZsdWVudC9zY3NzL2RvY2stbWFuYWdlci9fbGF5b3V0LnNjc3MiLCJ3ZWJwYWNrOi8vdGV4LXBvcnRhbC8uL25vZGVfbW9kdWxlcy9AcHJvZ3Jlc3Mva2VuZG8tdGhlbWUtZmx1ZW50L3Njc3MvY29yZS90eXBvZ3JhcGh5L19pbmRleC5zY3NzIiwid2VicGFjazovL3RleC1wb3J0YWwvLi9ub2RlX21vZHVsZXMvQHByb2dyZXNzL2tlbmRvLXRoZW1lLWZsdWVudC9zY3NzL2RvY2stbWFuYWdlci9fdGhlbWUuc2NzcyIsIndlYnBhY2s6Ly90ZXgtcG9ydGFsLy4vbm9kZV9tb2R1bGVzL0Bwcm9ncmVzcy9rZW5kby10aGVtZS1mbHVlbnQvc2Nzcy9kb2NrLW1hbmFnZXIvX3ZhcmlhYmxlcy5zY3NzIiwid2VicGFjazovL3RleC1wb3J0YWwvLi9ub2RlX21vZHVsZXMvQHByb2dyZXNzL2tlbmRvLXRoZW1lLWZsdWVudC9zY3NzL2RhdGF2aXovX2xheW91dC5zY3NzIiwid2VicGFjazovL3RleC1wb3J0YWwvLi9ub2RlX21vZHVsZXMvQHByb2dyZXNzL2tlbmRvLXRoZW1lLWZsdWVudC9zY3NzL2RhdGF2aXovX3RoZW1lLnNjc3MiLCJ3ZWJwYWNrOi8vdGV4LXBvcnRhbC8uL25vZGVfbW9kdWxlcy9AcHJvZ3Jlc3Mva2VuZG8tdGhlbWUtZmx1ZW50L3Njc3MvYWRhcHRpdmUvX2xheW91dC5zY3NzIiwid2VicGFjazovL3RleC1wb3J0YWwvLi9ub2RlX21vZHVsZXMvQHByb2dyZXNzL2tlbmRvLXRoZW1lLWZsdWVudC9zY3NzL3Rvb2xiYXIvX3ZhcmlhYmxlcy5zY3NzIiwid2VicGFjazovL3RleC1wb3J0YWwvLi9ub2RlX21vZHVsZXMvQHByb2dyZXNzL2tlbmRvLXRoZW1lLWZsdWVudC9zY3NzL2xpc3Rncm91cC9fdmFyaWFibGVzLnNjc3MiLCJ3ZWJwYWNrOi8vdGV4LXBvcnRhbC8uL25vZGVfbW9kdWxlcy9AcHJvZ3Jlc3Mva2VuZG8tdGhlbWUtZmx1ZW50L3Njc3MvYWRhcHRpdmUvX3RoZW1lLnNjc3MiLCJ3ZWJwYWNrOi8vdGV4LXBvcnRhbC8uL25vZGVfbW9kdWxlcy9AcHJvZ3Jlc3Mva2VuZG8tdGhlbWUtZmx1ZW50L3Njc3MvZ3JpZC9fbGF5b3V0LnNjc3MiLCJ3ZWJwYWNrOi8vdGV4LXBvcnRhbC8uL25vZGVfbW9kdWxlcy9AcHJvZ3Jlc3Mva2VuZG8tdGhlbWUtZmx1ZW50L3Njc3MvZm9ybXMvX3ZhcmlhYmxlcy5zY3NzIiwid2VicGFjazovL3RleC1wb3J0YWwvLi9ub2RlX21vZHVsZXMvQHByb2dyZXNzL2tlbmRvLXRoZW1lLWZsdWVudC9zY3NzL2dyaWQvX3RoZW1lLnNjc3MiLCJ3ZWJwYWNrOi8vdGV4LXBvcnRhbC8uL25vZGVfbW9kdWxlcy9AcHJvZ3Jlc3Mva2VuZG8tdGhlbWUtZmx1ZW50L3Njc3MvcG9wdXAvX3ZhcmlhYmxlcy5zY3NzIiwid2VicGFjazovL3RleC1wb3J0YWwvLi9ub2RlX21vZHVsZXMvQHByb2dyZXNzL2tlbmRvLXRoZW1lLWZsdWVudC9zY3NzL3RhYmxlL192YXJpYWJsZXMuc2NzcyIsIndlYnBhY2s6Ly90ZXgtcG9ydGFsLy4vbm9kZV9tb2R1bGVzL0Bwcm9ncmVzcy9rZW5kby10aGVtZS1mbHVlbnQvc2Nzcy9saXN0dmlldy9fbGF5b3V0LnNjc3MiLCJ3ZWJwYWNrOi8vdGV4LXBvcnRhbC8uL25vZGVfbW9kdWxlcy9AcHJvZ3Jlc3Mva2VuZG8tdGhlbWUtZmx1ZW50L3Njc3MvbGlzdHZpZXcvX3RoZW1lLnNjc3MiLCJ3ZWJwYWNrOi8vdGV4LXBvcnRhbC8uL25vZGVfbW9kdWxlcy9AcHJvZ3Jlc3Mva2VuZG8tdGhlbWUtZmx1ZW50L3Njc3MvbGlzdHZpZXcvX3ZhcmlhYmxlcy5zY3NzIiwid2VicGFjazovL3RleC1wb3J0YWwvLi9ub2RlX21vZHVsZXMvQHByb2dyZXNzL2tlbmRvLXRoZW1lLWZsdWVudC9zY3NzL2NoYXJ0LXdpemFyZC9fbGF5b3V0LnNjc3MiLCJ3ZWJwYWNrOi8vdGV4LXBvcnRhbC8uL25vZGVfbW9kdWxlcy9AcHJvZ3Jlc3Mva2VuZG8tdGhlbWUtZmx1ZW50L3Njc3MvY2hhcnQtd2l6YXJkL190aGVtZS5zY3NzIiwid2VicGFjazovL3RleC1wb3J0YWwvLi9ub2RlX21vZHVsZXMvQHByb2dyZXNzL2tlbmRvLXRoZW1lLWZsdWVudC9zY3NzL3NwcmVhZHNoZWV0L19sYXlvdXQuc2NzcyIsIndlYnBhY2s6Ly90ZXgtcG9ydGFsLy4vbm9kZV9tb2R1bGVzL0Bwcm9ncmVzcy9rZW5kby10aGVtZS1mbHVlbnQvc2Nzcy9zcHJlYWRzaGVldC9fdmFyaWFibGVzLnNjc3MiLCJ3ZWJwYWNrOi8vdGV4LXBvcnRhbC8uL25vZGVfbW9kdWxlcy9AcHJvZ3Jlc3Mva2VuZG8tdGhlbWUtZmx1ZW50L3Njc3Mvc3ByZWFkc2hlZXQvX3RoZW1lLnNjc3MiLCJ3ZWJwYWNrOi8vdGV4LXBvcnRhbC8uL25vZGVfbW9kdWxlcy9AcHJvZ3Jlc3Mva2VuZG8tdGhlbWUtZmx1ZW50L3Njc3MvcGl2b3RncmlkL19sYXlvdXQuc2NzcyIsIndlYnBhY2s6Ly90ZXgtcG9ydGFsLy4vbm9kZV9tb2R1bGVzL0Bwcm9ncmVzcy9rZW5kby10aGVtZS1mbHVlbnQvc2Nzcy9waXZvdGdyaWQvX3RoZW1lLnNjc3MiLCJ3ZWJwYWNrOi8vdGV4LXBvcnRhbC8uL25vZGVfbW9kdWxlcy9AcHJvZ3Jlc3Mva2VuZG8tdGhlbWUtZmx1ZW50L3Njc3MvdHJlZWxpc3QvX2xheW91dC5zY3NzIiwid2VicGFjazovL3RleC1wb3J0YWwvLi9ub2RlX21vZHVsZXMvQHByb2dyZXNzL2tlbmRvLXRoZW1lLWZsdWVudC9zY3NzL3RyZWVsaXN0L190aGVtZS5zY3NzIiwid2VicGFjazovL3RleC1wb3J0YWwvLi9ub2RlX21vZHVsZXMvQHByb2dyZXNzL2tlbmRvLXRoZW1lLWZsdWVudC9zY3NzL2ZpbHRlci9fbGF5b3V0LnNjc3MiLCJ3ZWJwYWNrOi8vdGV4LXBvcnRhbC8uL25vZGVfbW9kdWxlcy9AcHJvZ3Jlc3Mva2VuZG8tdGhlbWUtZmx1ZW50L3Njc3MvZmlsdGVyL190aGVtZS5zY3NzIiwid2VicGFjazovL3RleC1wb3J0YWwvLi9ub2RlX21vZHVsZXMvQHByb2dyZXNzL2tlbmRvLXRoZW1lLWZsdWVudC9zY3NzL2ZpbGVtYW5hZ2VyL19sYXlvdXQuc2NzcyIsIndlYnBhY2s6Ly90ZXgtcG9ydGFsLy4vbm9kZV9tb2R1bGVzL0Bwcm9ncmVzcy9rZW5kby10aGVtZS1mbHVlbnQvc2Nzcy9maWxlbWFuYWdlci9fdmFyaWFibGVzLnNjc3MiLCJ3ZWJwYWNrOi8vdGV4LXBvcnRhbC8uL25vZGVfbW9kdWxlcy9AcHJvZ3Jlc3Mva2VuZG8tdGhlbWUtZmx1ZW50L3Njc3MvZmlsZW1hbmFnZXIvX3RoZW1lLnNjc3MiLCJ3ZWJwYWNrOi8vdGV4LXBvcnRhbC8uL25vZGVfbW9kdWxlcy9AcHJvZ3Jlc3Mva2VuZG8tdGhlbWUtZmx1ZW50L3Njc3MvdGFza2JvYXJkL19sYXlvdXQuc2NzcyIsIndlYnBhY2s6Ly90ZXgtcG9ydGFsLy4vbm9kZV9tb2R1bGVzL0Bwcm9ncmVzcy9rZW5kby10aGVtZS1mbHVlbnQvc2Nzcy90YXNrYm9hcmQvX3RoZW1lLnNjc3MiLCJ3ZWJwYWNrOi8vdGV4LXBvcnRhbC8uL25vZGVfbW9kdWxlcy9AcHJvZ3Jlc3Mva2VuZG8tdGhlbWUtZmx1ZW50L3Njc3MvZWRpdG9yL19sYXlvdXQuc2NzcyIsIndlYnBhY2s6Ly90ZXgtcG9ydGFsLy4vbm9kZV9tb2R1bGVzL0Bwcm9ncmVzcy9rZW5kby10aGVtZS1mbHVlbnQvc2Nzcy9lZGl0b3IvX3ZhcmlhYmxlcy5zY3NzIiwid2VicGFjazovL3RleC1wb3J0YWwvLi9ub2RlX21vZHVsZXMvQHByb2dyZXNzL2tlbmRvLXRoZW1lLWZsdWVudC9zY3NzL2VkaXRvci9fdGhlbWUuc2NzcyIsIndlYnBhY2s6Ly90ZXgtcG9ydGFsLy4vbm9kZV9tb2R1bGVzL0Bwcm9ncmVzcy9rZW5kby10aGVtZS1mbHVlbnQvc2Nzcy9pbWFnZWVkaXRvci9fbGF5b3V0LnNjc3MiLCJ3ZWJwYWNrOi8vdGV4LXBvcnRhbC8uL25vZGVfbW9kdWxlcy9AcHJvZ3Jlc3Mva2VuZG8tdGhlbWUtZmx1ZW50L3Njc3MvaW1hZ2VlZGl0b3IvX3RoZW1lLnNjc3MiLCJ3ZWJwYWNrOi8vdGV4LXBvcnRhbC8uL25vZGVfbW9kdWxlcy9AcHJvZ3Jlc3Mva2VuZG8tdGhlbWUtZmx1ZW50L3Njc3MvZ2FudHQvX2xheW91dC5zY3NzIiwid2VicGFjazovL3RleC1wb3J0YWwvLi9ub2RlX21vZHVsZXMvQHByb2dyZXNzL2tlbmRvLXRoZW1lLWZsdWVudC9zY3NzL2dyaWQvX3ZhcmlhYmxlcy5zY3NzIiwid2VicGFjazovL3RleC1wb3J0YWwvLi9ub2RlX21vZHVsZXMvQHByb2dyZXNzL2tlbmRvLXRoZW1lLWZsdWVudC9zY3NzL2dhbnR0L190aGVtZS5zY3NzIiwid2VicGFjazovL3RleC1wb3J0YWwvLi9ub2RlX21vZHVsZXMvQHByb2dyZXNzL2tlbmRvLXRoZW1lLWZsdWVudC9zY3NzL3NjaGVkdWxlci9fbGF5b3V0LnNjc3MiLCJ3ZWJwYWNrOi8vdGV4LXBvcnRhbC8uL25vZGVfbW9kdWxlcy9AcHJvZ3Jlc3Mva2VuZG8tdGhlbWUtZmx1ZW50L3Njc3Mvc2NoZWR1bGVyL192YXJpYWJsZXMuc2NzcyIsIndlYnBhY2s6Ly90ZXgtcG9ydGFsLy4vbm9kZV9tb2R1bGVzL0Bwcm9ncmVzcy9rZW5kby10aGVtZS1mbHVlbnQvc2Nzcy9zY2hlZHVsZXIvX3RoZW1lLnNjc3MiLCJ3ZWJwYWNrOi8vdGV4LXBvcnRhbC8uL25vZGVfbW9kdWxlcy9AcHJvZ3Jlc3Mva2VuZG8tdGhlbWUtZmx1ZW50L3Njc3MvY2hhdC9fbGF5b3V0LnNjc3MiLCJ3ZWJwYWNrOi8vdGV4LXBvcnRhbC8uL25vZGVfbW9kdWxlcy9AcHJvZ3Jlc3Mva2VuZG8tdGhlbWUtZmx1ZW50L3Njc3MvY2hhdC9fdmFyaWFibGVzLnNjc3MiLCJ3ZWJwYWNrOi8vdGV4LXBvcnRhbC8uL25vZGVfbW9kdWxlcy9AcHJvZ3Jlc3Mva2VuZG8tdGhlbWUtZmx1ZW50L3Njc3MvY2hhdC9fdGhlbWUuc2NzcyIsIndlYnBhY2s6Ly90ZXgtcG9ydGFsLy4vbm9kZV9tb2R1bGVzL0Bwcm9ncmVzcy9rZW5kby10aGVtZS1mbHVlbnQvc2Nzcy9tZWRpYXBsYXllci9fbGF5b3V0LnNjc3MiLCJ3ZWJwYWNrOi8vdGV4LXBvcnRhbC8uL25vZGVfbW9kdWxlcy9AcHJvZ3Jlc3Mva2VuZG8tdGhlbWUtZmx1ZW50L3Njc3MvbWVkaWFwbGF5ZXIvX3RoZW1lLnNjc3MiLCJ3ZWJwYWNrOi8vdGV4LXBvcnRhbC8uL25vZGVfbW9kdWxlcy9AcHJvZ3Jlc3Mva2VuZG8tdGhlbWUtZmx1ZW50L3Njc3MvdGltZWxpbmUvX2xheW91dC5zY3NzIiwid2VicGFjazovL3RleC1wb3J0YWwvLi9ub2RlX21vZHVsZXMvQHByb2dyZXNzL2tlbmRvLXRoZW1lLWZsdWVudC9zY3NzL3RpbWVsaW5lL190aGVtZS5zY3NzIiwid2VicGFjazovL3RleC1wb3J0YWwvLi9ub2RlX21vZHVsZXMvQHByb2dyZXNzL2tlbmRvLXRoZW1lLWZsdWVudC9zY3NzL3BkZi12aWV3ZXIvX2xheW91dC5zY3NzIiwid2VicGFjazovL3RleC1wb3J0YWwvLi9ub2RlX21vZHVsZXMvQHByb2dyZXNzL2tlbmRvLXRoZW1lLWZsdWVudC9zY3NzL3BkZi12aWV3ZXIvX3RoZW1lLnNjc3MiLCJ3ZWJwYWNrOi8vdGV4LXBvcnRhbC8uL25vZGVfbW9kdWxlcy9AcHJvZ3Jlc3Mva2VuZG8tdGhlbWUtZmx1ZW50L3Njc3Mvc2Nyb2xsZXIvX2xheW91dC5zY3NzIiwid2VicGFjazovL3RleC1wb3J0YWwvLi9ub2RlX21vZHVsZXMvQHByb2dyZXNzL2tlbmRvLXRoZW1lLWZsdWVudC9zY3NzL3Njcm9sbGVyL190aGVtZS5zY3NzIiwid2VicGFjazovL3RleC1wb3J0YWwvLi9ub2RlX21vZHVsZXMvQHByb2dyZXNzL2tlbmRvLXRoZW1lLWZsdWVudC9zY3NzL3Njcm9sbHZpZXcvX2xheW91dC5zY3NzIiwid2VicGFjazovL3RleC1wb3J0YWwvLi9ub2RlX21vZHVsZXMvQHByb2dyZXNzL2tlbmRvLXRoZW1lLWZsdWVudC9zY3NzL3Njcm9sbHZpZXcvX3RoZW1lLnNjc3MiLCJ3ZWJwYWNrOi8vdGV4LXBvcnRhbC8uL25vZGVfbW9kdWxlcy9AcHJvZ3Jlc3Mva2VuZG8tdGhlbWUtZmx1ZW50L3Njc3MvcHJvbXB0L19sYXlvdXQuc2NzcyIsIndlYnBhY2s6Ly90ZXgtcG9ydGFsLy4vbm9kZV9tb2R1bGVzL0Bwcm9ncmVzcy9rZW5kby10aGVtZS1mbHVlbnQvc2Nzcy9wcm9tcHQvX3RoZW1lLnNjc3MiLCJ3ZWJwYWNrOi8vdGV4LXBvcnRhbC8uL25vZGVfbW9kdWxlcy9AcHJvZ3Jlc3Mva2VuZG8tdGhlbWUtZmx1ZW50L3Njc3MvbWFwL19sYXlvdXQuc2NzcyIsIndlYnBhY2s6Ly90ZXgtcG9ydGFsLy4vbm9kZV9tb2R1bGVzL0Bwcm9ncmVzcy9rZW5kby10aGVtZS1mbHVlbnQvc2Nzcy9tYXAvX3RoZW1lLnNjc3MiLCJ3ZWJwYWNrOi8vdGV4LXBvcnRhbC8uL25vZGVfbW9kdWxlcy9AcHJvZ3Jlc3Mva2VuZG8tdGhlbWUtZmx1ZW50L3Njc3Mvb3JnY2hhcnQvX2xheW91dC5zY3NzIiwid2VicGFjazovL3RleC1wb3J0YWwvLi9ub2RlX21vZHVsZXMvQHByb2dyZXNzL2tlbmRvLXRoZW1lLWZsdWVudC9zY3NzL29yZ2NoYXJ0L190aGVtZS5zY3NzIiwid2VicGFjazovL3RleC1wb3J0YWwvLi9ub2RlX21vZHVsZXMvQHByb2dyZXNzL2tlbmRvLXRoZW1lLWZsdWVudC9zY3NzL3NpZ25hdHVyZS9fbGF5b3V0LnNjc3MiLCJ3ZWJwYWNrOi8vdGV4LXBvcnRhbC8uL25vZGVfbW9kdWxlcy9AcHJvZ3Jlc3Mva2VuZG8tdGhlbWUtZmx1ZW50L3Njc3Mvc2lnbmF0dXJlL190aGVtZS5zY3NzIl0sInNvdXJjZXNDb250ZW50IjpbIkB1c2UgXCJ+QHByb2dyZXNzL2tlbmRvLXRoZW1lLWZsdWVudC9zY3NzL2FsbC5zY3NzXCI7XG5cbjpyb290IHtcbiAgLy8gZ2VuZXJhbCBydWxlc1xuICAtLWtlbmRvLWZvbnQtZmFtaWx5OiBSb2JvdG8sIFwiSGVsdmV0aWNhIE5ldWVcIiwgSGVsdmV0aWNhLCBBcmlhbCwgc2Fucy1zZXJpZjtcbiAgLS1rZW5kby1mb250LXNpemU6IDAuOXJlbTtcbiAgLS1rZW5kby1jb21wb25lbnQtdGV4dDogIzMzMztcbiAgLS1rZW5kby1pbnB1dC1ob3Zlci1ib3JkZXI6IHZhcigtLWJyYW5kQ29sb3IsICMwMDhmZDQpO1xuICAtLWtlbmRvLWlucHV0LXNvbGlkLWhvdmVyLWJvcmRlcjogdmFyKC0tYnJhbmRDb2xvciwgIzAwOGZkNCk7XG4gIC0ta2VuZG8taW5wdXQtc29saWQtaG92ZXItZm9jdXMtYm9yZGVyOiB2YXIoLS1icmFuZENvbG9yLCAjMDA4ZmQ0KTtcbiAgLS1rZW5kby1pbnB1dC1zb2xpZC1mb2N1cy1ib3JkZXI6IHZhcigtLWJyYW5kQ29sb3IsICMwMDhmZDQpO1xuICAtLWtlbmRvLXNlYXJjaGJveC1pY29uLWNvbG9yOiB2YXIoLS1icmFuZENvbG9yLCAjMDA4ZmQ0KTtcbiAgLy8gZHJvcGRvd25cbiAgLS1rZW5kby1saXN0LWl0ZW0tc2VsZWN0ZWQtdGV4dDogIzMzMztcbiAgLS1rZW5kby1saXN0LWl0ZW0taG92ZXItYmc6ICNlZWU7XG4gIC0ta2VuZG8tbGlzdC1pdGVtLXNlbGVjdGVkLWJnOiAjZWVlO1xuICAtLWtlbmRvLWxpc3QtaXRlbS1zZWxlY3RlZC1ob3Zlci1iZzogI2U0ZTRlNDtcbiAgLS1rZW5kby1saXN0LWl0ZW0tZm9jdXMtc2hhZG93OiBub25lO1xuICAtLWtlbmRvLXBpY2tlci1zb2xpZC1ob3Zlci1ib3JkZXI6IHZhcigtLWJyYW5kQ29sb3IsICMwMDhmZDQpO1xuICAtLWtlbmRvLXBpY2tlci1zb2xpZC1mb2N1cy1ib3JkZXI6IHZhcigtLWJyYW5kQ29sb3IsICMwMDhmZDQpO1xuICAtLWtlbmRvLXBpY2tlci1zb2xpZC1ob3Zlci1mb2N1cy1ib3JkZXI6IHZhcigtLWJyYW5kQ29sb3IsICMwMDhmZDQpO1xuICAvLyBidXR0b25cbiAgLS1rZW5kby1idXR0b24tc29saWQtYmFzZS1ob3Zlci1iZzogI2VlZTtcbiAgLS1rZW5kby1idXR0b24tZmxhdC1wcmltYXJ5LXRleHQ6IHZhcigtLWJyYW5kQ29sb3IsICMwMDhmZDQpO1xuICAtLWtlbmRvLWJ1dHRvbi1mbGF0LXByaW1hcnktaG92ZXItdGV4dDogdmFyKC0tYnJhbmRDb2xvciwgIzAwOGZkNCk7XG4gIC0ta2VuZG8tYnV0dG9uLWZsYXQtcHJpbWFyeS1ob3Zlci1iZzogdmFyKC0tYnJhbmRDb2xvckxpZ2h0NTAsICNkNGYxZmYpO1xuICAvLyBjYWxlbmRhclxuICAtLWtlbmRvLWNhbGVuZGFyLWJvcmRlcjogI2U0ZTRlNDtcbiAgLS1rZW5kby1jYWxlbmRhci1uYXZpZ2F0aW9uLWJnOiAjZWVlO1xuICAtLWtlbmRvLWNhbGVuZGFyLW5hdmlnYXRpb24tYm9yZGVyOiAjZTRlNGU0O1xuICAtLWtlbmRvLWNhbGVuZGFyLWNlbGwtc2VsZWN0ZWQtYmc6ICNlZWU7XG4gIC0ta2VuZG8tY2FsZW5kYXItY2VsbC1zZWxlY3RlZC1ob3Zlci1iZzogI2U0ZTRlNDtcbiAgLS1rZW5kby1jYWxlbmRhci10b2RheS1iZzogdmFyKC0tYnJhbmRDb2xvciwgIzAwOGZkNCk7XG4gIC0ta2VuZG8tY2FsZW5kYXItdG9kYXktaG92ZXItYmc6IHZhcigtLWJyYW5kQ29sb3JEYXJrMjAsICMwMDRhNmUpO1xufVxuXG4vLyBncmlkXG4vLyBoaWRlIHZlcnRpY2FsIHNjcm9sbGJhciBpZiBpdCBpcyBub3QgbmVlZGVkXG4uay1ncmlkLWNvbnRlbnQuay1hdXRvLXNjcm9sbGFibGUge1xuICBvdmVyZmxvdy15OiBhdXRvO1xufVxuXG4uay1ncmlkIHtcbiAgLS1rZW5kby10YWJsZS1oZWFkZXItdGV4dDogIzMzMztcbiAgLS1rZW5kby1ncmlkLXNvcnQtaW5kaWNhdG9yLXRleHQ6ICMzMzM7XG4gIC0ta2VuZG8tZ3JpZC1zb3J0LWluZGljYXRvci1vcmRlci10ZXh0OiAjMzMzO1xuICAtLWtlbmRvLWdyaWQtYmc6ICNmZmY7XG4gIC0ta2VuZG8tZ3JpZC1ib3JkZXItd2lkdGg6IDA7XG4gIC0ta2VuZG8tZ3JpZC1jZWxsLWJvcmRlci13aWR0aC15OiAwO1xuICAtLWtlbmRvLWdyaWQtaGVhZGVyLWJvcmRlcjogI2NjYztcbiAgLS1rZW5kby1ncmlkLWhvdmVyLWJnOiAjZjVmNWY1O1xuXG4gIC5rLWdyb3VwLWNlbGwuay10YWJsZS1ncm91cC10ZC5rLXRhYmxlLXRkIHtcbiAgICBib3JkZXItcmlnaHQ6IG5vbmU7XG4gIH1cblxuICB0ZC5rLWdyb3VwLWNlbGwgfiB0ZC5rLXRhYmxlLXRkIHtcbiAgICBib3JkZXItYm90dG9tLXdpZHRoOiB2YXIoLS1rZW5kby10YWJsZS1jZWxsLWhvcml6b250YWwtYm9yZGVyLXdpZHRoLCAxcHgpO1xuICAgIGJvcmRlci1jb2xvcjogdmFyKC0ta2VuZG8tZ3JpZC1ncm91cGluZy1yb3ctYm9yZGVyLCB2YXIoLS1rZW5kby1jb21wb25lbnQtYm9yZGVyLCBpbml0aWFsKSk7XG4gIH1cblxuICAuay1oaWVyYXJjaHktY2VsbC5rLXRhYmxlLXRkIGEge1xuICAgIHBhZGRpbmctYmxvY2stc3RhcnQ6IDA7XG4gIH1cblxuICAuay10YWJsZS1ncm91cC1yb3cuay1ncm91cGluZy1yb3cuay10YWJsZS1yb3c6aG92ZXIgdGQge1xuICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWtlbmRvLWdyaWQtaG92ZXItYmcsIHZhcigtLWtlbmRvLWhvdmVyLWJnLCBpbmhlcml0KSk7XG4gIH1cblxuICAuay10YWJsZS1ncm91cC1yb3cgLmstcmVzZXQge1xuICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG5cbiAgICBhIHtcbiAgICAgIG91dGxpbmU6IG5vbmU7XG4gICAgfVxuICB9XG5cbiAgLmstaW5wdXQuay1pbnB1dC1zb2xpZCB7XG4gICAgLS1rZW5kby1pbnB1dC1mb2N1cy1ib3JkZXI6IHZhcigtLWJyYW5kQ29sb3IsICMwMDhmZDQpO1xuICB9XG5cbiAgLy8gdG9vbGJhclxuICAtLWtlbmRvLXRvb2xiYXItYmc6ICNmZmY7XG4gIC0ta2VuZG8tZ3JpZC10b29sYmFyLWJvcmRlci13aWR0aDogMDtcbiAgLS1rZW5kby1idXR0b24tZmxhdC1wcmltYXJ5LXNlbGVjdGVkLWhvdmVyLWJnOiAjZjVmNWY1O1xuXG4gIC8vIHBhZ2VyXG4gIC0ta2VuZG8tcGFnZXItYmc6ICNmZmY7XG4gIC0ta2VuZG8tcGFnZXItdGV4dDogIzMzMztcbiAgLS1rZW5kby1wYWdlci1pbmZvLWxhYmVsLXRleHQ6ICMzMzM7XG4gIC0ta2VuZG8tcGFnZXItZHJvcGRvd24td2lkdGg6IDZlbTtcbiAgLmstZ3JpZC1wYWdlciB7XG4gICAgYm9yZGVyLXdpZHRoOiAwO1xuICB9XG4gIC5rLWJ1dHRvbjpmb2N1czo6YWZ0ZXIge1xuICAgIC0ta2VuZG8tYnV0dG9uLWZvY3VzLW91dGxpbmU6IHZhcigtLWJyYW5kQ29sb3JMaWdodCwgIzVkYjZlMSk7XG4gIH1cbiAgLmstYnV0dG9uLWZsYXQtcHJpbWFyeSB7XG4gICAgLS1rZW5kby1idXR0b24tdGV4dDogIzMzMztcbiAgICAtLWtlbmRvLWJ1dHRvbi1mbGF0LXByaW1hcnktYWN0aXZlLWhvdmVyLXRleHQ6ICMzMzM7XG4gICAgLS1rZW5kby1idXR0b24tZmxhdC1wcmltYXJ5LWhvdmVyLXRleHQ6ICMzMzM7XG4gICAgLS1rZW5kby1idXR0b24tZmxhdC1wcmltYXJ5LXNlbGVjdGVkLXRleHQ6ICMzMzM7XG4gICAgLS1rZW5kby1idXR0b24tZmxhdC1wcmltYXJ5LXNlbGVjdGVkLWhvdmVyLXRleHQ6ICMzMzM7XG4gICAgLS1rZW5kby1idXR0b24tZmxhdC1wcmltYXJ5LXNlbGVjdGVkLWJnOiAjZjVmNWY1O1xuICAgIC0ta2VuZG8tYnV0dG9uLWZsYXQtcHJpbWFyeS1ob3Zlci1iZzogI2Y1ZjVmNTtcbiAgICAtLWtlbmRvLWJ1dHRvbi1mbGF0LXByaW1hcnktc2VsZWN0ZWQtaG92ZXItYmc6ICNmNWY1ZjU7XG4gICAgLS1rZW5kby1idXR0b24tZmxhdC1wcmltYXJ5LWZvY3VzLXRleHQ6IHZhcigtLWJyYW5kQ29sb3IsICMwMDhmZDQpO1xuICB9XG59XG5cbi8vIGNoZWNrYm94XG4uay1jaGVja2JveC1sYWJlbCB7XG4gIC0ta2VuZG8tY2hlY2tib3gtbGFiZWwtbWFyZ2luLXg6IDFyZW07XG5cbiAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG59XG5cbi5rLWNoZWNrYm94LXdyYXAge1xuICBpbnB1dFt0eXBlPVwiY2hlY2tib3hcIl0uay1jaGVja2JveCB7XG4gICAgLS1rZW5kby1jaGVja2JveC1jaGVja2VkLWJnOiAjMDAwO1xuICAgIC0ta2VuZG8tY2hlY2tib3gtaG92ZXItY2hlY2tlZC1ib3JkZXI6ICMwMDA7XG4gICAgLS1rZW5kby1jaGVja2JveC1ob3Zlci1jaGVja2VkLWJnOiAjMDAwO1xuICAgIC0ta2VuZG8tY2hlY2tib3gtY2hlY2tlZC1ib3JkZXI6ICMwMDA7XG4gICAgLS1rZW5kby1jaGVja2JveC1pbmRldGVybWluYXRlLXRleHQ6ICMwMDA7XG5cbiAgICBtYXJnaW4tdG9wOiAwO1xuICAgIHdpZHRoOiAyMnB4O1xuICAgIGhlaWdodDogMjJweDtcbiAgICBib3JkZXItcmFkaXVzOiB2YXIoLS1rZW5kby1ib3JkZXItcmFkaXVzLW5vbmUpO1xuXG4gICAgJiwgJjpmb2N1cyB7XG4gICAgICBvdXRsaW5lOiBub25lO1xuICAgICAgb3V0bGluZS1vZmZzZXQ6IDA7XG4gICAgfVxuXG4gICAgJjppbmRldGVybWluYXRlLFxuICAgICYuay1pbmRldGVybWluYXRlIHtcbiAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgIH1cblxuICAgICAgJjphZnRlciB7XG4gICAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICAgIHdpZHRoOiA2MCU7XG4gICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgYm9yZGVyOiBub25lO1xuICAgICAgICBib3JkZXItdG9wOiBzb2xpZCA0cHggIzAwMDtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIGxlZnQ6IDIwJTtcbiAgICAgICAgdG9wOiBjYWxjKDUwJSAtIDJweCk7XG4gICAgICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICAgICAgfVxuICAgIH1cblxuICAgICY6bm90KDpjaGVja2VkKSB7XG4gICAgICBib3JkZXItc3R5bGU6IHNvbGlkO1xuICAgICAgYm9yZGVyLWNvbG9yOiAjZDRkMGM5O1xuICAgICAgYm9yZGVyLXdpZHRoOiAxcHg7XG5cbiAgICAgICY6aG92ZXIge1xuICAgICAgICBib3JkZXItc3R5bGU6IHNvbGlkO1xuICAgICAgICBib3JkZXItY29sb3I6IHZhcigtLWtlbmRvLWNoZWNrYm94LWNoZWNrZWQtYm9yZGVyKTtcbiAgICAgICAgYm9yZGVyLXdpZHRoOiAycHg7XG4gICAgICB9XG5cbiAgICAgICY6bm90KDppbmRldGVybWluYXRlKTpob3ZlcjpiZWZvcmUsXG4gICAgICAmOm5vdCguay1pbmRldGVybWluYXRlKTpob3ZlcjpiZWZvcmUge1xuICAgICAgICBiYWNrZ3JvdW5kOiBub25lO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG4uay1kcm9wZG93bmxpc3Qge1xuICBib3JkZXItcmFkaXVzOiAwO1xufVxuXG4uay1tdWx0aXNlbGVjdCB7XG4gIGJvcmRlci1yYWRpdXM6IDA7XG5cbiAgLS1rZW5kby1jaGlwLXNvbGlkLWJhc2UtYmc6ICNlZWU7XG4gIC0ta2VuZG8tY2hpcC1zb2xpZC1iYXNlLWhvdmVyLWJnOiAjZTRlNGU0O1xuXG4gIC5rLWlucHV0LWlubmVyIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xuICB9XG59XG5cbi5rLWRhdGVwaWNrZXIge1xuICBib3JkZXItcmFkaXVzOiAwO1xuXG4gIC5rLWlucHV0LWlubmVyIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xuICB9XG59XG5cbi5rLWNhbGVuZGFyIHtcbiAgLS1rZW5kby1jb2xvci1wcmltYXJ5LWhvdmVyOiB2YXIoLS1icmFuZENvbG9yLCAjMDA4ZmQ0KTtcbn1cblxuLmstY2FsZW5kYXItdmlldyAuay1jYWxlbmRhci10YWJsZSB0ZCAuay1saW5rIHtcbiAgICBib3gtc2hhZG93OiBub25lO1xufVxuXG4uay1pbnB1dCB7XG4gIGJvcmRlci1yYWRpdXM6IDA7XG59XG5cbi5rLWlucHV0LXNvbGlkLFxuLmstaWNvbixcbi5rLWdyaWQsXG4uay1ncmlkLWhlYWRlci1tZW51LmstZ3JpZC1jb2x1bW4tbWVudSxcbi5rLWNoZWNrYm94OmhvdmVyIHtcbiAgY29sb3I6IGluaGVyaXQ7XG59XG5cbi5rLWNvbHVtbi1tZW51IHtcbiAgLmstaWNvbi5rLXN2Zy1pLWZpbHRlciB7XG4gICAgY29sb3I6IHZhcigtLWJyYW5kQ29sb3IsICMwMDhmZDQpO1xuICB9XG5cbiAgLmstZmlsdGVyLW1lbnUtY29udGFpbmVyIC5rLWFjdGlvbnMgLmstYnV0dG9uLXNvbGlkLXByaW1hcnk6bm90KFtkaXNhYmxlZF0pIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1icmFuZENvbG9yLCAjMDA4ZmQ0KTtcbiAgICBjb2xvcjogdmFyKC0tdGV4dENvbG9yT25CcmFuZCwgI2Y1ZjVmNSk7XG5cbiAgICAmOmhvdmVyIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJyYW5kQ29sb3JEYXJrLCAjMDA2ZGExKTtcbiAgICB9XG4gIH1cbn1cblxuLmstYnV0dG9uIHtcbiAgJjpub3QoLmstYnV0dG9uLXNvbGlkLXByaW1hcnkpIHtcbiAgICAtLWtlbmRvLWJ1dHRvbi10ZXh0OiBpbmhlcml0O1xuICB9XG4gIC0ta2VuZG8tY29sb3ItcHJpbWFyeS1ob3ZlcjogdmFyKC0tYnJhbmRDb2xvciwgIzAwOGZkNCk7XG4gIC0ta2VuZG8tYnV0dG9uLWZvY3VzLWJvcmRlcjogdmFyKC0tYnJhbmRDb2xvciwgIzAwOGZkNCk7XG4gIC0ta2VuZG8tY29sb3ItcHJpbWFyeS1zdWJ0bGU6IHZhcigtLWJyYW5kQ29sb3JMaWdodDUwLCAjZDRmMWZmKTtcbiAgYm9yZGVyLXJhZGl1czogMDtcblxuICAmLmstYnV0dG9uLXNvbGlkLXByaW1hcnkge1xuICAgIC0ta2VuZG8tYnV0dG9uLXNvbGlkLXByaW1hcnktYmc6IHZhcigtLWJyYW5kQ29sb3IsICMwMDhmZDQpO1xuICAgIC0ta2VuZG8tYnV0dG9uLXNvbGlkLXByaW1hcnktZm9jdXMtYmc6IHZhcigtLWJyYW5kQ29sb3IsICMwMDhmZDQpO1xuICAgIC0ta2VuZG8tYnV0dG9uLXNvbGlkLXByaW1hcnktaG92ZXItYmc6IHZhcigtLWJyYW5kQ29sb3JEYXJrLCAjMDA2ZGExKTtcbiAgfVxufVxuXG4uZmlsdGVyX3dyYXBwZXIge1xuICBsYWJlbCB7XG4gICAgdmVydGljYWwtYWxpZ246IHN1YjtcbiAgfVxufVxuIiwiQHVzZSBcInNhc3M6bWV0YVwiO1xuQHVzZSBcInNhc3M6bWFwXCI7XG5AdXNlIFwiQHByb2dyZXNzL2tlbmRvLXRoZW1lLWNvcmUvc2Nzcy9pbmRleC5zY3NzXCIgYXMgKjtcblxuLy8gTGVnYWN5XG5cbi8vIFJvb3Qgc3R5bGVzXG4ka2VuZG8tYm9keS1iZzogaWYoJGtlbmRvLWVuYWJsZS1jb2xvci1zeXN0ZW0sIGstY29sb3IoIGFwcC1zdXJmYWNlICksICRrZW5kby1jb2xvci13aGl0ZSApICFkZWZhdWx0O1xuJGtlbmRvLWJvZHktdGV4dDogaWYoJGtlbmRvLWVuYWJsZS1jb2xvci1zeXN0ZW0sIGstY29sb3IoIG9uLWFwcC1zdXJmYWNlICksIGstZ2V0LXRoZW1lLWNvbG9yLXZhcihuZXV0cmFsLTE2MCkpICFkZWZhdWx0O1xuXG4vLyBDb21wb25lbnQgc3R5bGVzXG4ka2VuZG8tY29tcG9uZW50LWJnOiBpZigka2VuZG8tZW5hYmxlLWNvbG9yLXN5c3RlbSwgay1jb2xvciggc3VyZmFjZS1hbHQgKSwgJGtlbmRvLWJvZHktYmcpICFkZWZhdWx0O1xuJGtlbmRvLWNvbXBvbmVudC10ZXh0OiAka2VuZG8tYm9keS10ZXh0ICFkZWZhdWx0O1xuJGtlbmRvLWNvbXBvbmVudC1ib3JkZXI6IGlmKCRrZW5kby1lbmFibGUtY29sb3Itc3lzdGVtLCBjb2xvci1taXgoaW4gc3JnYiwgay1jb2xvciggYm9yZGVyICkgMTYlLCB0cmFuc3BhcmVudCksIGstZ2V0LXRoZW1lLWNvbG9yLXZhcihuZXV0cmFsLTMwKSkgIWRlZmF1bHQ7XG5cbi8vIFN0YXRlcyBzdHlsZXNcbiRrZW5kby1ob3Zlci1iZzogaWYoJGtlbmRvLWVuYWJsZS1jb2xvci1zeXN0ZW0sIGstY29sb3IoIGJhc2UtaG92ZXIgKSwgay1nZXQtdGhlbWUtY29sb3ItdmFyKG5ldXRyYWwtMjApKSAhZGVmYXVsdDtcbiRrZW5kby1ob3Zlci10ZXh0OiBpZigka2VuZG8tZW5hYmxlLWNvbG9yLXN5c3RlbSwgay1jb2xvciggb24tYmFzZSApLCBrLWdldC10aGVtZS1jb2xvci12YXIobmV1dHJhbC0xOTApKSAhZGVmYXVsdDtcbiRrZW5kby1ob3Zlci1ib3JkZXI6IGlmKCRrZW5kby1lbmFibGUtY29sb3Itc3lzdGVtLCBjb2xvci1taXgoaW4gc3JnYiwgay1jb2xvciggYm9yZGVyICkgMTAlLCB0cmFuc3BhcmVudCksIGstZ2V0LXRoZW1lLWNvbG9yLXZhcihuZXV0cmFsLTIwKSkgIWRlZmF1bHQ7XG5cbiRrZW5kby1zZWxlY3RlZC1iZzogaWYoJGtlbmRvLWVuYWJsZS1jb2xvci1zeXN0ZW0sIGstY29sb3IoIGJhc2UtYWN0aXZlICksIGstZ2V0LXRoZW1lLWNvbG9yLXZhcihuZXV0cmFsLTMwKSkgIWRlZmF1bHQ7XG4ka2VuZG8tc2VsZWN0ZWQtdGV4dDogaWYoJGtlbmRvLWVuYWJsZS1jb2xvci1zeXN0ZW0sIGstY29sb3IoIG9uLWJhc2UgKSwgay1nZXQtdGhlbWUtY29sb3ItdmFyKG5ldXRyYWwtMTYwKSkgIWRlZmF1bHQ7XG4ka2VuZG8tc2VsZWN0ZWQtYm9yZGVyOiBpZigka2VuZG8tZW5hYmxlLWNvbG9yLXN5c3RlbSwgY29sb3ItbWl4KGluIHNyZ2IsIGstY29sb3IoIGJvcmRlci1hbHQgKSA3NiUsIHRyYW5zcGFyZW50KSwgay1nZXQtdGhlbWUtY29sb3ItdmFyKG5ldXRyYWwtMTMwKSkgIWRlZmF1bHQ7XG5cbiRrZW5kby1zZWxlY3RlZC1ob3Zlci1iZzogaWYoJGtlbmRvLWVuYWJsZS1jb2xvci1zeXN0ZW0sIGstY29sb3IoIGJhc2Utc3VidGxlLWFjdGl2ZSApLCBrLWdldC10aGVtZS1jb2xvci12YXIobmV1dHJhbC00MCkpICFkZWZhdWx0O1xuJGtlbmRvLXNlbGVjdGVkLWhvdmVyLXRleHQ6IGlmKCRrZW5kby1lbmFibGUtY29sb3Itc3lzdGVtLCBrLWNvbG9yKCBvbi1iYXNlICksIGstZ2V0LXRoZW1lLWNvbG9yLXZhcihuZXV0cmFsLTE5MCkpICFkZWZhdWx0O1xuJGtlbmRvLXNlbGVjdGVkLWhvdmVyLWJvcmRlcjogaWYoJGtlbmRvLWVuYWJsZS1jb2xvci1zeXN0ZW0sICRrZW5kby1zZWxlY3RlZC1ib3JkZXIsIGstZ2V0LXRoZW1lLWNvbG9yLXZhcihuZXV0cmFsLTEzMCkpICFkZWZhdWx0O1xuXG4ka2VuZG8tZm9jdXMtb3V0bGluZTogaWYoJGtlbmRvLWVuYWJsZS1jb2xvci1zeXN0ZW0sIGstY29sb3IoIGJhc2UtZW1waGFzaXMgKSwgay1nZXQtdGhlbWUtY29sb3ItdmFyKG5ldXRyYWwtMTMwKSkgIWRlZmF1bHQ7XG5cbiRrZW5kby1zdWJ0bGUtdGV4dDogaWYoJGtlbmRvLWVuYWJsZS1jb2xvci1zeXN0ZW0sIGstY29sb3IoIHN1YnRsZSApLCBrLWdldC10aGVtZS1jb2xvci12YXIobmV1dHJhbC0xMzApKSAhZGVmYXVsdDtcblxuLy8gTGlua1xuJGtlbmRvLWxpbmstdGV4dDogaWYoJGtlbmRvLWVuYWJsZS1jb2xvci1zeXN0ZW0sIGstY29sb3IoIHByaW1hcnkgKSwgay1nZXQtdGhlbWUtY29sb3ItdmFyKHByaW1hcnktMTAwKSkgIWRlZmF1bHQ7XG4ka2VuZG8tbGluay1ob3Zlci10ZXh0OiBpZigka2VuZG8tZW5hYmxlLWNvbG9yLXN5c3RlbSwgay1jb2xvciggcHJpbWFyeS1ob3ZlciApLCBrLWdldC10aGVtZS1jb2xvci12YXIocHJpbWFyeS0xMjApKSAhZGVmYXVsdDtcblxuLy8gVmFsaWRhdG9yXG4ka2VuZG8taW52YWxpZC1iZzogaW5pdGlhbCAhZGVmYXVsdDtcbiRrZW5kby1pbnZhbGlkLXRleHQ6IGlmKCRrZW5kby1lbmFibGUtY29sb3Itc3lzdGVtLCBrLWNvbG9yKCBlcnJvci1vbi1zdXJmYWNlICksIGstZ2V0LXRoZW1lLWNvbG9yLXZhcihlcnJvci0xOTApKSAhZGVmYXVsdDtcbiRrZW5kby1pbnZhbGlkLWJvcmRlcjogaWYoJGtlbmRvLWVuYWJsZS1jb2xvci1zeXN0ZW0sIGstY29sb3IoIGVycm9yLWVtcGhhc2lzICksIGstZ2V0LXRoZW1lLWNvbG9yLXZhcihlcnJvci0xOTApKSAhZGVmYXVsdDtcbiRrZW5kby1pbnZhbGlkLXNoYWRvdzogbnVsbCAhZGVmYXVsdDtcblxuJGtlbmRvLXZhbGlkLWJnOiBpZigka2VuZG8tZW5hYmxlLWNvbG9yLXN5c3RlbSwgbnVsbCwgaW5pdGlhbCkgIWRlZmF1bHQ7XG4ka2VuZG8tdmFsaWQtdGV4dDogaWYoJGtlbmRvLWVuYWJsZS1jb2xvci1zeXN0ZW0sIG51bGwsIGstZ2V0LXRoZW1lLWNvbG9yLXZhciggc3VjY2Vzcy0xOTAgKSkgIWRlZmF1bHQ7XG4ka2VuZG8tdmFsaWQtYm9yZGVyOiBpZigka2VuZG8tZW5hYmxlLWNvbG9yLXN5c3RlbSwgbnVsbCwgIGstZ2V0LXRoZW1lLWNvbG9yLXZhciggc3VjY2Vzcy0xOTAgKSkgIWRlZmF1bHQ7XG4ka2VuZG8tdmFsaWQtc2hhZG93OiBudWxsICFkZWZhdWx0O1xuXG4vLyBEaXNhYmxlZCBTdHlsaW5nXG4ka2VuZG8tZGlzYWJsZWQtYmc6IGlmKCRrZW5kby1lbmFibGUtY29sb3Itc3lzdGVtLCBrLWNvbG9yKCBiYXNlLXN1YnRsZSApLCBrLWdldC10aGVtZS1jb2xvci12YXIobmV1dHJhbC0yMCkpICFkZWZhdWx0O1xuJGtlbmRvLWRpc2FibGVkLXRleHQ6IGlmKCRrZW5kby1lbmFibGUtY29sb3Itc3lzdGVtLCBjb2xvci1taXgoaW4gc3JnYiwgay1jb2xvciggb24tYXBwLXN1cmZhY2UgKSA0NiUsIHRyYW5zcGFyZW50KSwgay1nZXQtdGhlbWUtY29sb3ItdmFyKG5ldXRyYWwtOTApKSAhZGVmYXVsdDtcbiRrZW5kby1kaXNhYmxlZC1ib3JkZXI6IHRyYW5zcGFyZW50ICFkZWZhdWx0O1xuJGtlbmRvLWRpc2FibGVkLW9wYWNpdHk6IG51bGwgIWRlZmF1bHQ7XG4ka2VuZG8tZGlzYWJsZWQtZmlsdGVyOiBudWxsICFkZWZhdWx0O1xuXG4ka2VuZG8tZGlzYWJsZWQtc3R5bGluZzogKFxuICAgIGJnOiAka2VuZG8tZGlzYWJsZWQtYmcsXG4gICAgY29sb3I6ICRrZW5kby1kaXNhYmxlZC10ZXh0LFxuICAgIGJvcmRlcjogJGtlbmRvLWRpc2FibGVkLWJvcmRlcixcbiAgICBvcGFjaXR5OiAka2VuZG8tZGlzYWJsZWQtb3BhY2l0eSxcbiAgICBmaWx0ZXI6ICRrZW5kby1kaXNhYmxlZC1maWx0ZXIsXG4pICFkZWZhdWx0O1xuXG4ka2VuZG8tdGhlbWUtY29sb3JzOiAoXG4gICAgcHJpbWFyeTogKFxuICAgICAgICB0ZXh0OiBpZigka2VuZG8tZW5hYmxlLWNvbG9yLXN5c3RlbSwgay1jb2xvciggcHJpbWFyeS1lbXBoYXNpcyApLCBrLWdldC10aGVtZS1jb2xvci12YXIocHJpbWFyeS0xMzApKSxcbiAgICAgICAgYmc6IGlmKCRrZW5kby1lbmFibGUtY29sb3Itc3lzdGVtLCBrLWNvbG9yKCBwcmltYXJ5LXN1YnRsZSApLCBrLWdldC10aGVtZS1jb2xvci12YXIocHJpbWFyeS0yMCkpLFxuICAgICAgICBib3JkZXI6IGlmKCRrZW5kby1lbmFibGUtY29sb3Itc3lzdGVtLCBrLWNvbG9yKCBwcmltYXJ5LXN1YnRsZSApLCBrLWdldC10aGVtZS1jb2xvci12YXIocHJpbWFyeS0yMCkpLFxuICAgICksXG4gICAgaW5mbzogKFxuICAgICAgICB0ZXh0OiBpZigka2VuZG8tZW5hYmxlLWNvbG9yLXN5c3RlbSwgay1jb2xvciggaW5mby1vbi1zdXJmYWNlICksIGstZ2V0LXRoZW1lLWNvbG9yLXZhcihpbmZvLTE5MCkpLFxuICAgICAgICBiZzogaWYoJGtlbmRvLWVuYWJsZS1jb2xvci1zeXN0ZW0sIGstY29sb3IoIGluZm8tc3VidGxlICksIGstZ2V0LXRoZW1lLWNvbG9yLXZhcihpbmZvLTIwKSksXG4gICAgICAgIGJvcmRlcjogaWYoJGtlbmRvLWVuYWJsZS1jb2xvci1zeXN0ZW0sIGstY29sb3IoIGluZm8tc3VidGxlICksIGstZ2V0LXRoZW1lLWNvbG9yLXZhcihpbmZvLTIwKSksXG4gICAgKSxcbiAgICBzdWNjZXNzOiAoXG4gICAgICAgIHRleHQ6IGlmKCRrZW5kby1lbmFibGUtY29sb3Itc3lzdGVtLCBrLWNvbG9yKCBzdWNjZXNzLW9uLXN1cmZhY2UgKSwgay1nZXQtdGhlbWUtY29sb3ItdmFyKHN1Y2Nlc3MtMTkwKSksXG4gICAgICAgIGJnOiBpZigka2VuZG8tZW5hYmxlLWNvbG9yLXN5c3RlbSwgay1jb2xvciggc3VjY2Vzcy1zdWJ0bGUgKSwgay1nZXQtdGhlbWUtY29sb3ItdmFyKHN1Y2Nlc3MtMjApKSxcbiAgICAgICAgYm9yZGVyOiBpZigka2VuZG8tZW5hYmxlLWNvbG9yLXN5c3RlbSwgay1jb2xvciggc3VjY2Vzcy1zdWJ0bGUgKSwgay1nZXQtdGhlbWUtY29sb3ItdmFyKHN1Y2Nlc3MtMjApKSxcbiAgICApLFxuICAgIHdhcm5pbmc6IChcbiAgICAgICAgdGV4dDogaWYoJGtlbmRvLWVuYWJsZS1jb2xvci1zeXN0ZW0sIGstY29sb3IoIHdhcm5pbmctb24tc3VyZmFjZSApLCBrLWdldC10aGVtZS1jb2xvci12YXIobmV1dHJhbC0xNjApKSxcbiAgICAgICAgYmc6IGlmKCRrZW5kby1lbmFibGUtY29sb3Itc3lzdGVtLCBrLWNvbG9yKCB3YXJuaW5nLXN1YnRsZSApLCBrLWdldC10aGVtZS1jb2xvci12YXIod2FybmluZy0yMCkpLFxuICAgICAgICBib3JkZXI6IGlmKCRrZW5kby1lbmFibGUtY29sb3Itc3lzdGVtLCBrLWNvbG9yKCB3YXJuaW5nLXN1YnRsZSApLCBrLWdldC10aGVtZS1jb2xvci12YXIod2FybmluZy0yMCkpLFxuICAgICksXG4gICAgZXJyb3I6IChcbiAgICAgICAgdGV4dDogaWYoJGtlbmRvLWVuYWJsZS1jb2xvci1zeXN0ZW0sIGstY29sb3IoIGVycm9yLW9uLXN1cmZhY2UgKSwgay1nZXQtdGhlbWUtY29sb3ItdmFyKGVycm9yLTE5MCkpLFxuICAgICAgICBiZzogaWYoJGtlbmRvLWVuYWJsZS1jb2xvci1zeXN0ZW0sIGstY29sb3IoIGVycm9yLXN1YnRsZSApLCBrLWdldC10aGVtZS1jb2xvci12YXIoZXJyb3ItMjApKSxcbiAgICAgICAgYm9yZGVyOiBpZigka2VuZG8tZW5hYmxlLWNvbG9yLXN5c3RlbSwgay1jb2xvciggZXJyb3Itc3VidGxlICksIGstZ2V0LXRoZW1lLWNvbG9yLXZhcihlcnJvci0yMCkpLFxuICAgICksXG4pICFkZWZhdWx0O1xuXG46cm9vdCB7XG4gICAgLS1rZW5kby1ib2R5LWJnOiAjeyRrZW5kby1ib2R5LWJnfTtcbiAgICAtLWtlbmRvLWJvZHktdGV4dDogI3ska2VuZG8tYm9keS10ZXh0fTtcblxuICAgIC0ta2VuZG8tY29tcG9uZW50LWJnOiAjeyRrZW5kby1jb21wb25lbnQtYmd9O1xuICAgIC0ta2VuZG8tY29tcG9uZW50LXRleHQ6ICN7JGtlbmRvLWNvbXBvbmVudC10ZXh0fTtcbiAgICAtLWtlbmRvLWNvbXBvbmVudC1ib3JkZXI6ICN7JGtlbmRvLWNvbXBvbmVudC1ib3JkZXJ9O1xuXG4gICAgLS1rZW5kby1saW5rLXRleHQ6ICN7JGtlbmRvLWxpbmstdGV4dH07XG4gICAgLS1rZW5kby1saW5rLWhvdmVyLXRleHQ6ICN7JGtlbmRvLWxpbmstaG92ZXItdGV4dH07XG5cbiAgICAtLWtlbmRvLWRpc2FibGVkLWJnOiAjeyRrZW5kby1kaXNhYmxlZC1iZ307XG4gICAgLS1rZW5kby1kaXNhYmxlZC10ZXh0OiAjeyRrZW5kby1kaXNhYmxlZC10ZXh0fTtcbiAgICAtLWtlbmRvLWRpc2FibGVkLWJvcmRlcjogI3ska2VuZG8tZGlzYWJsZWQtYm9yZGVyfTtcbiAgICAtLWtlbmRvLWRpc2FibGVkLW9wYWNpdHk6ICN7JGtlbmRvLWRpc2FibGVkLW9wYWNpdHl9O1xuICAgIC0ta2VuZG8tZGlzYWJsZWQtZmlsdGVyOiAjeyRrZW5kby1kaXNhYmxlZC1maWx0ZXJ9O1xuXG4gICAgLS1rZW5kby1ob3Zlci1iZzogI3ska2VuZG8taG92ZXItYmd9O1xuICAgIC0ta2VuZG8taG92ZXItdGV4dDogI3ska2VuZG8taG92ZXItdGV4dH07XG4gICAgLS1rZW5kby1ob3Zlci1ib3JkZXI6ICN7JGtlbmRvLWhvdmVyLWJvcmRlcn07XG5cbiAgICAtLWtlbmRvLXNlbGVjdGVkLWJnOiAjeyRrZW5kby1zZWxlY3RlZC1iZ307XG4gICAgLS1rZW5kby1zZWxlY3RlZC10ZXh0OiAjeyRrZW5kby1zZWxlY3RlZC10ZXh0fTtcbiAgICAtLWtlbmRvLXNlbGVjdGVkLWJvcmRlcjogI3ska2VuZG8tc2VsZWN0ZWQtYm9yZGVyfTtcblxuICAgIC0ta2VuZG8tc2VsZWN0ZWQtaG92ZXItYmc6ICN7JGtlbmRvLXNlbGVjdGVkLWhvdmVyLWJnfTtcbiAgICAtLWtlbmRvLXNlbGVjdGVkLWhvdmVyLXRleHQ6ICN7JGtlbmRvLXNlbGVjdGVkLWhvdmVyLXRleHR9O1xuICAgIC0ta2VuZG8tc2VsZWN0ZWQtaG92ZXItYm9yZGVyOiAjeyRrZW5kby1zZWxlY3RlZC1ob3Zlci1ib3JkZXJ9O1xuXG4gICAgLS1rZW5kby1mb2N1cy1vdXRsaW5lOiAjeyRrZW5kby1mb2N1cy1vdXRsaW5lfTtcblxuICAgIC0ta2VuZG8tc3VidGxlLXRleHQ6ICN7JGtlbmRvLXN1YnRsZS10ZXh0fTtcblxuICAgIC0ta2VuZG8taW52YWxpZC1iZzogI3ska2VuZG8taW52YWxpZC1iZ307XG4gICAgLS1rZW5kby1pbnZhbGlkLXRleHQ6ICN7JGtlbmRvLWludmFsaWQtdGV4dH07XG4gICAgLS1rZW5kby1pbnZhbGlkLWJvcmRlcjogI3ska2VuZG8taW52YWxpZC1ib3JkZXJ9O1xuICAgIC0ta2VuZG8taW52YWxpZC1zaGFkb3c6ICN7JGtlbmRvLWludmFsaWQtc2hhZG93fTtcblxuICAgIC0ta2VuZG8taHItYm9yZGVyOiAjeyRrZW5kby1jb21wb25lbnQtYm9yZGVyfTtcblxuICAgIC0ta2VuZG8tbWFycXVlZS10ZXh0OiAje2stZ2V0LXRoZW1lLWNvbG9yLXZhcihuZXV0cmFsLTE2MCl9O1xuICAgIC0ta2VuZG8tbWFycXVlZS1iZzogI3trLWdldC10aGVtZS1jb2xvci12YXIocHJpbWFyeS02MCl9O1xuICAgIC0ta2VuZG8tbWFycXVlZS1ib3JkZXI6ICN7ay1nZXQtdGhlbWUtY29sb3ItdmFyKHByaW1hcnktMTAwKX07XG5cbiAgICAtLWtlbmRvLXRleHQtc2VsZWN0aW9uLWJnOiAje2stZ2V0LXRoZW1lLWNvbG9yLXZhcihwcmltYXJ5LTEwMCl9O1xufVxuXG5AbWl4aW4gY29sb3Itc3lzdGVtLXN0eWxlcygpIHtcbiAgICA6cm9vdCB7XG4gICAgICAgIEBpbmNsdWRlIGstY3NzLXZhcnMoJGtlbmRvLXBhbGV0dGVzKTtcbiAgICAgICAgQGluY2x1ZGUgay1jc3MtdmFycygka2VuZG8tdGhlbWUtY29sb3JzKTtcblxuICAgICAgICAvLyBUZXh0IGNvbG9yc1xuICAgICAgICBAZWFjaCAkdGhlbWUtY29sb3IsICRjb2xvci1wcm9wcyBpbiAka2VuZG8tdGhlbWUtY29sb3JzIHtcblxuICAgICAgICAgICAgJF9jb2xvcjogaWYobWV0YS50eXBlLW9mKCRjb2xvci1wcm9wcykgIT0gJ21hcCcsIG1hcC5nZXQoJGtlbmRvLXRoZW1lLWNvbG9ycywgJHRoZW1lLWNvbG9yKSwgbWFwLmdldCgkY29sb3ItcHJvcHMsIHRleHQpKTtcblxuICAgICAgICAgICAgLmstdGV4dC0jeyR0aGVtZS1jb2xvcn0sXG4gICAgICAgICAgICAuay1jb2xvci0jeyR0aGVtZS1jb2xvcn0ge1xuICAgICAgICAgICAgICAgIGNvbG9yOiB2YXIoLS1rZW5kby10ZXh0LSN7JHRoZW1lLWNvbG9yfSwgI3skX2NvbG9yfSk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAuXFwhay10ZXh0LSN7JHRoZW1lLWNvbG9yfSxcbiAgICAgICAgICAgIC5cXCFrLWNvbG9yLSN7JHRoZW1lLWNvbG9yfSB7XG4gICAgICAgICAgICAgICAgY29sb3I6IHZhcigtLWtlbmRvLXRleHQtI3skdGhlbWUtY29sb3J9LCAjeyRfY29sb3J9KSAhaW1wb3J0YW50OyAvLyBzdHlsZWxpbnQtZGlzYWJsZS1saW5lIGRlY2xhcmF0aW9uLW5vLWltcG9ydGFudFxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAuay1iZy0jeyR0aGVtZS1jb2xvcn0ge1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWtlbmRvLWJnLSN7JHRoZW1lLWNvbG9yfSwgI3skX2NvbG9yfSk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAuXFwhay1iZy0jeyR0aGVtZS1jb2xvcn0ge1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWtlbmRvLWJnLSN7JHRoZW1lLWNvbG9yfSwgI3skX2NvbG9yfSkgIWltcG9ydGFudDsgLy8gc3R5bGVsaW50LWRpc2FibGUtbGluZSBkZWNsYXJhdGlvbi1uby1pbXBvcnRhbnRcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbn1cbiIsIkB1c2UgXCJzYXNzOm1hcFwiO1xuQHVzZSBcIi4uL2NvcmUvX2luZGV4LnNjc3NcIiBhcyAqO1xuXG4vLy8gRm9udCBzaXplcyBvZiB0aGUgaWNvbnMuXG4vLy8gQGdyb3VwIGljb25cbiRrZW5kby1pY29uLXNpemU6IDFyZW0gIWRlZmF1bHQ7XG5cbiRrZW5kby1pY29uLXNpemUteHM6IGNhbGMoIHZhciggLS1rZW5kby1pY29uLXNpemUsIDFyZW0gKSAqIC43NSApICFkZWZhdWx0O1xuJGtlbmRvLWljb24tc2l6ZS1zbTogY2FsYyggdmFyKCAtLWtlbmRvLWljb24tc2l6ZSwgMXJlbSApICogLjg3NSApICFkZWZhdWx0O1xuJGtlbmRvLWljb24tc2l6ZS1tZDogdmFyKCAtLWtlbmRvLWljb24tc2l6ZSwgMXJlbSApICFkZWZhdWx0O1xuJGtlbmRvLWljb24tc2l6ZS1sZzogY2FsYyggdmFyKCAtLWtlbmRvLWljb24tc2l6ZSwgMXJlbSApICogMS4yNSApICFkZWZhdWx0O1xuJGtlbmRvLWljb24tc2l6ZS14bDogY2FsYyggdmFyKCAtLWtlbmRvLWljb24tc2l6ZSwgMXJlbSApICogMS41ICkgIWRlZmF1bHQ7XG4ka2VuZG8taWNvbi1zaXplLXh4bDogY2FsYyggdmFyKCAtLWtlbmRvLWljb24tc2l6ZSwgMXJlbSApICogMiApICFkZWZhdWx0O1xuJGtlbmRvLWljb24tc2l6ZS14eHhsOiBjYWxjKCB2YXIoIC0ta2VuZG8taWNvbi1zaXplLCAxcmVtICkgKiAzICkgIWRlZmF1bHQ7XG5cbi8vLyBTcGFjaW5nIGFyb3VuZCB0aGUgaWNvbnMuXG4vLy8gQGdyb3VwIGljb25cbiRrZW5kby1pY29uLXNwYWNpbmc6IGstc3BhY2luZygyKSAhZGVmYXVsdDtcblxuLy8vIFBhZGRpbmcgb2YgdGhlIGFjdGlvbiBpY29ucyBjb250YWluZXIuXG4vLy8gQGdyb3VwIGljb25cbiRrZW5kby1pY29uLXBhZGRpbmc6IGstc3BhY2luZygxKSAhZGVmYXVsdDtcblxuOnJvb3Qge1xuICAgIC0ta2VuZG8taWNvbi1zaXplOiB2YXIoIC0ta2VuZG8taWNvbi1zaXplLCAxcmVtICk7XG4gICAgLS1rZW5kby1pY29uLXNpemUteHM6ICN7JGtlbmRvLWljb24tc2l6ZS14c307XG4gICAgLS1rZW5kby1pY29uLXNpemUtc206ICN7JGtlbmRvLWljb24tc2l6ZS1zbX07XG4gICAgLS1rZW5kby1pY29uLXNpemUtbWQ6ICN7JGtlbmRvLWljb24tc2l6ZS1tZH07XG4gICAgLS1rZW5kby1pY29uLXNpemUtbGc6ICN7JGtlbmRvLWljb24tc2l6ZS1sZ307XG4gICAgLS1rZW5kby1pY29uLXNpemUteGw6ICN7JGtlbmRvLWljb24tc2l6ZS14bH07XG4gICAgLS1rZW5kby1pY29uLXNpemUteHhsOiAjeyRrZW5kby1pY29uLXNpemUteHhsfTtcbiAgICAtLWtlbmRvLWljb24tc2l6ZS14eHhsOiAjeyRrZW5kby1pY29uLXNpemUteHh4bH07XG4gICAgLS1rZW5kby1pY29uLXNwYWNpbmc6ICN7JGtlbmRvLWljb24tc3BhY2luZ307XG4gICAgLS1rZW5kby1pY29uLXBhZGRpbmc6ICN7JGtlbmRvLWljb24tcGFkZGluZ307XG59XG4iLCJAdXNlIFwiLi4vY29yZS9faW5kZXguc2Nzc1wiIGFzICo7XG5AdXNlIFwiLi9fdmFyaWFibGVzLnNjc3NcIiBhcyAqO1xuXG4uay1kcmFnLWNsdWUge1xuICAgIEBpbmNsdWRlIGJvcmRlci1yYWRpdXMoIHZhciggLS1rZW5kby1kcmFnLWNsdWUtYm9yZGVyLXJhZGl1cywgI3ska2VuZG8tZHJhZy1jbHVlLWJvcmRlci1yYWRpdXN9ICkgKTtcbiAgICBwYWRkaW5nLWlubGluZTogdmFyKCAtLWtlbmRvLWRyYWctY2x1ZS1wYWRkaW5nLXgsICN7JGtlbmRvLWRyYWctY2x1ZS1wYWRkaW5nLXh9ICk7XG4gICAgcGFkZGluZy1ibG9jazogdmFyKCAtLWtlbmRvLWRyYWctY2x1ZS1wYWRkaW5nLXksICN7JGtlbmRvLWRyYWctY2x1ZS1wYWRkaW5nLXl9ICk7XG4gICAgYm9yZGVyLXdpZHRoOiB2YXIoIC0ta2VuZG8tZHJhZy1jbHVlLWJvcmRlci13aWR0aCwgI3ska2VuZG8tZHJhZy1jbHVlLWJvcmRlci13aWR0aH0gKTtcbiAgICBib3JkZXItc3R5bGU6IHZhciggLS1rZW5kby1kcmFnLWNsdWUtYm9yZGVyLXN0eWxlLCAjeyRrZW5kby1kcmFnLWNsdWUtYm9yZGVyLXN0eWxlfSApO1xuICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgZm9udC1mYW1pbHk6IHZhciggLS1rZW5kby1kcmFnLWNsdWUtZm9udC1mYW1pbHksICN7JGtlbmRvLWRyYWctY2x1ZS1mb250LWZhbWlseX0gKTtcbiAgICBmb250LXNpemU6IHZhciggLS1rZW5kby1kcmFnLWNsdWUtZm9udC1zaXplLCAjeyRrZW5kby1kcmFnLWNsdWUtZm9udC1zaXplfSApO1xuICAgIGxpbmUtaGVpZ2h0OiB2YXIoIC0ta2VuZG8tZHJhZy1jbHVlLWxpbmUtaGVpZ2h0LCAjeyRrZW5kby1kcmFnLWNsdWUtbGluZS1oZWlnaHR9ICk7XG4gICAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gICAgZmxleC1mbG93OiByb3cgbm93cmFwO1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgYWxpZ24tY29udGVudDogY2VudGVyO1xuICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gICAgb3BhY2l0eTogdmFyKCAtLWtlbmRvLWRyYWctY2x1ZS1vcGFjaXR5LCAjeyRrZW5kby1kcmFnLWNsdWUtb3BhY2l0eX0gKTtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB6LWluZGV4OiAyMDAwMDtcbiAgICBjdXJzb3I6IG1vdmU7XG59XG4uay1kcmFnLXN0YXR1cyxcbi5rLWRyYWctY2x1ZSAuay1kcmFnLXN0YXR1cyB7XG4gICAgbWFyZ2luOiAwO1xuICAgIG1hcmdpbi1pbmxpbmUtZW5kOiB2YXIoIC0ta2VuZG8tZHJhZy1jbHVlLXNwYWNpbmcsICN7JGtlbmRvLWRyYWctY2x1ZS1zcGFjaW5nfSApO1xufVxuXG4uay1kcm9wLWhpbnQge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZ2FwOiB2YXIoIC0ta2VuZG8tZHJvcC1oaW50LWFycm93LXNwYWNpbmcsICN7JGtlbmRvLWRyb3AtaGludC1hcnJvdy1zcGFjaW5nfSApO1xuICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB6LWluZGV4OiAxMDAwO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIC01MCUpO1xufVxuXG4uay1kcm9wLWhpbnQtc3RhcnQsXG4uay1kcm9wLWhpbnQtZW5kIHtcbiAgICBmbGV4LXNocmluazogMDtcbiAgICBib3JkZXItd2lkdGg6IGNhbGMoIHZhciggLS1rZW5kby1kcm9wLWhpbnQtYXJyb3ctc2l6ZSwgI3ska2VuZG8tZHJvcC1oaW50LWFycm93LXNpemV9ICkgLyAyICk7XG4gICAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcbiAgICBib3JkZXItcmFkaXVzOiA1MCU7XG4gICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudDtcbn1cblxuLmstZHJvcC1oaW50LWxpbmUge1xuICAgIGZsZXgtZ3JvdzogMTtcbn1cblxuLmstZHJvcC1oaW50LWggLmstZHJvcC1oaW50LWxpbmUge1xuICAgIHdpZHRoOiB2YXIoIC0ta2VuZG8tZHJvcC1oaW50LWxpbmUtaC13aWR0aCwgI3ska2VuZG8tZHJvcC1oaW50LWxpbmUtaC13aWR0aH0gKTtcbiAgICBoZWlnaHQ6IHZhciggLS1rZW5kby1kcm9wLWhpbnQtbGluZS1oLWhlaWdodCwgI3ska2VuZG8tZHJvcC1oaW50LWxpbmUtaC1oZWlnaHR9ICk7XG59XG5cbi5rLWRyb3AtaGludC12IHtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuXG4gICAgLmstZHJvcC1oaW50LWxpbmUge1xuICAgICAgICB3aWR0aDogdmFyKCAtLWtlbmRvLWRyb3AtaGludC1saW5lLXYtd2lkdGgsICN7JGtlbmRvLWRyb3AtaGludC1saW5lLXYtd2lkdGh9ICk7XG4gICAgICAgIGhlaWdodDogdmFyKCAtLWtlbmRvLWRyb3AtaGludC1saW5lLXYtaGVpZ2h0LCAjeyRrZW5kby1kcm9wLWhpbnQtbGluZS12LWhlaWdodH0gKTtcbiAgICB9XG59XG4iLCJAdXNlIFwiLi4vX3ZhcmlhYmxlcy5zY3NzXCIgYXMgKjtcblxuLy8gQm9yZGVyIHJhZGl1c1xuQG1peGluIGJvcmRlci1yYWRpdXMoICRyYWRpdXM6IG51bGwgKSB7XG4gICAgQGlmICRrZW5kby1lbmFibGUtcm91bmRlZCB7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6ICRyYWRpdXM7XG4gICAgfVxufVxuXG5AbWl4aW4gYm9yZGVyLXRvcC1yYWRpdXMoICRyYWRpdXM6IG51bGwgKSB7XG4gICAgQGlmICRrZW5kby1lbmFibGUtcm91bmRlZCB7XG4gICAgICAgIGJvcmRlci10b3AtbGVmdC1yYWRpdXM6ICRyYWRpdXM7XG4gICAgICAgIGJvcmRlci10b3AtcmlnaHQtcmFkaXVzOiAkcmFkaXVzO1xuICAgIH1cbn1cblxuQG1peGluIGJvcmRlci1yaWdodC1yYWRpdXMoICRyYWRpdXM6IG51bGwgKSB7XG4gICAgQGlmICRrZW5kby1lbmFibGUtcm91bmRlZCB7XG4gICAgICAgIGJvcmRlci10b3AtcmlnaHQtcmFkaXVzOiAkcmFkaXVzO1xuICAgICAgICBib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1czogJHJhZGl1cztcbiAgICB9XG59XG5cbkBtaXhpbiBib3JkZXItYm90dG9tLXJhZGl1cyggJHJhZGl1czogbnVsbCApIHtcbiAgICBAaWYgJGtlbmRvLWVuYWJsZS1yb3VuZGVkIHtcbiAgICAgICAgYm9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6ICRyYWRpdXM7XG4gICAgICAgIGJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6ICRyYWRpdXM7XG4gICAgfVxufVxuXG5AbWl4aW4gYm9yZGVyLWxlZnQtcmFkaXVzKCAkcmFkaXVzOiBudWxsICkge1xuICAgIEBpZiAka2VuZG8tZW5hYmxlLXJvdW5kZWQge1xuICAgICAgICBib3JkZXItdG9wLWxlZnQtcmFkaXVzOiAkcmFkaXVzO1xuICAgICAgICBib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOiAkcmFkaXVzO1xuICAgIH1cbn1cblxuQG1peGluIGJvcmRlci10b3AtcmFkaXVzLW9ubHkoICRyYWRpdXM6IG51bGwgKSB7XG4gICAgQGlmICRrZW5kby1lbmFibGUtcm91bmRlZCB7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6ICRyYWRpdXMgJHJhZGl1cyAwIDA7XG4gICAgfVxufVxuXG5AbWl4aW4gYm9yZGVyLXJpZ2h0LXJhZGl1cy1vbmx5KCAkcmFkaXVzOiBudWxsICkge1xuICAgIEBpZiAka2VuZG8tZW5hYmxlLXJvdW5kZWQge1xuICAgICAgICBib3JkZXItcmFkaXVzOiAwICRyYWRpdXMgJHJhZGl1cyAwO1xuICAgIH1cbn1cblxuQG1peGluIGJvcmRlci1ib3R0b20tcmFkaXVzLW9ubHkoICRyYWRpdXM6IG51bGwgKSB7XG4gICAgQGlmICRrZW5kby1lbmFibGUtcm91bmRlZCB7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDAgMCAkcmFkaXVzICRyYWRpdXM7XG4gICAgfVxufVxuXG5AbWl4aW4gYm9yZGVyLWxlZnQtcmFkaXVzLW9ubHkoICRyYWRpdXM6IG51bGwgKSB7XG4gICAgQGlmICRrZW5kby1lbmFibGUtcm91bmRlZCB7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6ICRyYWRpdXMgMCAwICRyYWRpdXM7XG4gICAgfVxufVxuIiwiQHVzZSBcIi4uL2NvcmUvX2luZGV4LnNjc3NcIiBhcyAqO1xuQHVzZSBcIi4vX3ZhcmlhYmxlcy5zY3NzXCIgYXMgKjtcblxuLmstZHJhZy1jbHVlIHtcbiAgICBAaW5jbHVkZSBmaWxsKFxuICAgICAgICB2YXIoIC0ta2VuZG8tZHJhZy1jbHVlLXRleHQsICN7JGtlbmRvLWRyYWctY2x1ZS10ZXh0fSApLFxuICAgICAgICB2YXIoIC0ta2VuZG8tZHJhZy1jbHVlLWJnLCAjeyRrZW5kby1kcmFnLWNsdWUtYmd9ICksXG4gICAgICAgIHZhciggLS1rZW5kby1kcmFnLWNsdWUtYm9yZGVyLCAjeyRrZW5kby1kcmFnLWNsdWUtYm9yZGVyfSApLFxuICAgICAgICB2YXIoIC0ta2VuZG8tZHJhZy1jbHVlLWdyYWRpZW50LCAjeyRrZW5kby1kcmFnLWNsdWUtZ3JhZGllbnR9IClcbiAgICApO1xuICAgIEBpbmNsdWRlIGJveC1zaGFkb3coIHZhciggLS1rZW5kby1kcmFnLWNsdWUtc2hhZG93LCAjeyRrZW5kby1kcmFnLWNsdWUtc2hhZG93fSApICk7XG59XG5cbi5rLWRyb3AtaGludC1saW5lIHtcbiAgICBAaW5jbHVkZSBmaWxsKCAkYmc6IHZhciggLS1rZW5kby1kcm9wLWhpbnQtYmcsICN7JGtlbmRvLWRyb3AtaGludC1iZ30gKSApO1xufVxuXG4uay1kcm9wLWhpbnQtc3RhcnQsXG4uay1kcm9wLWhpbnQtZW5kIHtcbiAgICBAaW5jbHVkZSBmaWxsICggJGJvcmRlcjogdmFyKCAtLWtlbmRvLWRyb3AtaGludC1iZywgI3ska2VuZG8tZHJvcC1oaW50LWJnfSApICk7XG59XG4iLCJAdXNlIFwiLi9fZ3JhZGllbnQuc2Nzc1wiIGFzICo7XG5cbkBtaXhpbiBmaWxsKCAkY29sb3I6IG51bGwsICRiZzogbnVsbCwgJGJvcmRlcjogbnVsbCwgJGdyYWRpZW50OiBudWxsICkge1xuICAgIEBpZiAkYm9yZGVyIHtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiAkYm9yZGVyO1xuICAgIH1cbiAgICBAaWYgJGNvbG9yIHtcbiAgICAgICAgY29sb3I6ICRjb2xvcjtcbiAgICB9XG4gICAgQGlmICRiZyB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRiZztcbiAgICB9XG4gICAgQGlmICRncmFkaWVudCB7XG4gICAgICAgIEBpbmNsdWRlIGxpbmVhci1ncmFkaWVudCggJGdyYWRpZW50ICk7XG4gICAgfVxufVxuXG4vLyBUT0RPOiBSZW1vdmUgYXMgd2UgaGF2ZSB0aGUgc2FtZSBtaXhpbiBpbiBfZ3JhZGllbnQuc2Nzc1xuLy8gQG1peGluIHJlcGVhdGluZy1zdHJpcGVkLWdyYWRpZW50KCAkY29sb3I6IHJnYmEoMjU1LDI1NSwyNTUsLjE1KSwgJGJhY2tncm91bmQ6ICNGRkYsICRhbmdsZTogNDVkZWcsICRsYXJnZVN0ZXA6IDJweCwgJHNtYWxsU3RlcDogMXB4KSB7XG4vLyAgICAgYmFja2dyb3VuZC1pbWFnZTogcmVwZWF0aW5nLWxpbmVhci1ncmFkaWVudCgkYW5nbGUsICRiYWNrZ3JvdW5kLCAkYmFja2dyb3VuZCAkc21hbGxTdGVwLCAkY29sb3IgJHNtYWxsU3RlcCwgJGNvbG9yICRsYXJnZVN0ZXApO1xuLy8gfVxuIiwiQHVzZSBcIi4uL192YXJpYWJsZXMuc2Nzc1wiIGFzICo7XG5cbkBtaXhpbiBsaW5lYXItZ3JhZGllbnQoICRncmFkaWVudDogbnVsbCApIHtcbiAgICBAaWYgJGdyYWRpZW50IGFuZCAka2VuZG8tZW5hYmxlLWdyYWRpZW50cyB7XG4gICAgICAgIEBpZiAkZ3JhZGllbnQgPT0gbm9uZSB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiBub25lO1xuICAgICAgICB9IEBlbHNlIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IGxpbmVhci1ncmFkaWVudCggJGdyYWRpZW50ICk7XG4gICAgICAgIH1cbiAgICB9XG59XG5cbkBtaXhpbiBzdHJpcGVkLWdyYWRpZW50KCAkY29sb3I6IHJnYmEoIHdoaXRlLCAuMTUgKSwgJGFuZ2xlOiA0NWRlZyApIHtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiBsaW5lYXItZ3JhZGllbnQoICRhbmdsZSwgJGNvbG9yIDI1JSwgdHJhbnNwYXJlbnQgMjUlLCB0cmFuc3BhcmVudCA1MCUsICRjb2xvciA1MCUsICRjb2xvciA3NSUsIHRyYW5zcGFyZW50IDc1JSwgdHJhbnNwYXJlbnQgKTtcbn1cblxuQG1peGluIHJlcGVhdGluZy1zdHJpcGVkLWdyYWRpZW50KCAkY29sb3I6IHJnYmEoIHdoaXRlLCAuMTUpLCAkYmFja2dyb3VuZDogd2hpdGUsICRhbmdsZTogNDVkZWcsICRsYXJnZS1zdGVwOiAycHgsICRzbWFsbC1zdGVwOiAxcHggKSB7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogcmVwZWF0aW5nLWxpbmVhci1ncmFkaWVudCggJGFuZ2xlLCAkYmFja2dyb3VuZCwgJGJhY2tncm91bmQgJHNtYWxsLXN0ZXAsICRjb2xvciAkc21hbGwtc3RlcCwgJGNvbG9yICRsYXJnZS1zdGVwICk7XG59XG5cbkBtaXhpbiBjaGVja2VyYm9hcmQtZ3JhZGllbnQoICRwcmltYXJ5LWNvbG9yOiB3aGl0ZSwgJHNlY29uZGFyeS1jb2xvcjogcmdiYSggYmxhY2ssIC4wOSApLCAkc2l6ZTogMTBweCApIHtcbiAgICAkX3Bvc2l0aW9uOiBjYWxjKCAjeyRzaXplfSAvIDIgKTtcblxuICAgIGJhY2tncm91bmQ6XG4gICAgICAgIGxpbmVhci1ncmFkaWVudCggNDVkZWcsICRzZWNvbmRhcnktY29sb3IgMjUlLCB0cmFuc3BhcmVudCAyNSUsIHRyYW5zcGFyZW50IDc1JSwgJHNlY29uZGFyeS1jb2xvciA3NSUsICRzZWNvbmRhcnktY29sb3IgKSxcbiAgICAgICAgbGluZWFyLWdyYWRpZW50KCA0NWRlZywgJHNlY29uZGFyeS1jb2xvciAyNSUsIHRyYW5zcGFyZW50IDI1JSwgdHJhbnNwYXJlbnQgNzUlLCAkc2Vjb25kYXJ5LWNvbG9yIDc1JSwgJHNlY29uZGFyeS1jb2xvciApLFxuICAgICAgICAkcHJpbWFyeS1jb2xvcjtcbiAgICBiYWNrZ3JvdW5kLXJlcGVhdDogcmVwZWF0LCByZXBlYXQ7XG4gICAgYmFja2dyb3VuZC1wb3NpdGlvbjogMHB4IDBweCwgJF9wb3NpdGlvbiAkX3Bvc2l0aW9uO1xuICAgIHRyYW5zZm9ybS1vcmlnaW46IDAgMCAwO1xuICAgIGJhY2tncm91bmQtb3JpZ2luOiBwYWRkaW5nLWJveCwgcGFkZGluZy1ib3g7XG4gICAgYmFja2dyb3VuZC1zaXplOiAkc2l6ZSAkc2l6ZSwgJHNpemUgJHNpemU7XG4gICAgYm94LXNoYWRvdzogbm9uZTtcbiAgICB0ZXh0LXNoYWRvdzogbm9uZTtcbiAgICB0cmFuc2l0aW9uOiBub25lO1xuICAgIHRyYW5zZm9ybTogc2NhbGVYKDEpIHNjYWxlWSgxKSBzY2FsZVooMSk7XG59XG4iLCJAdXNlIFwiLi4vX3ZhcmlhYmxlcy5zY3NzXCIgYXMgKjtcblxuQG1peGluIGJveC1zaGFkb3coICRzaGFkb3cuLi4gKSB7XG4gICAgQGlmICRrZW5kby1lbmFibGUtc2hhZG93cyBhbmQgay1saXN0LW50aCgkc2hhZG93LCAxKSB7XG4gICAgICAgIGJveC1zaGFkb3c6ICRzaGFkb3c7XG4gICAgfVxufVxuIiwiQHVzZSBcInNhc3M6bWFwXCI7XG5AdXNlIFwiLi9fcGFsZXR0ZXMuc2Nzc1wiIGFzICo7XG5AdXNlIFwiLi4vX3ZhcmlhYmxlcy5zY3NzXCIgYXMgKjtcblxuLy8gQ29sb3JzXG4kX2RlZmF1bHQtY29sb3JzOiAoXG4gICAgLy8gTWlzY1xuICAgIGFwcC1zdXJmYWNlOiBtYXAuZ2V0KCAka2VuZG8tcGFsZXR0ZS1ncmF5LCBcIndoaXRlXCIgKSxcbiAgICBvbi1hcHAtc3VyZmFjZTogbWFwLmdldCggJGtlbmRvLXBhbGV0dGUtZ3JheSwgMTIgKSxcbiAgICBzdWJ0bGU6IG1hcC5nZXQoICRrZW5kby1wYWxldHRlLWdyYXksIDEwICksXG4gICAgc3VyZmFjZTogbWFwLmdldCggJGtlbmRvLXBhbGV0dGUtZ3JheSwgMSApLFxuICAgIHN1cmZhY2UtYWx0OiBtYXAuZ2V0KCAka2VuZG8tcGFsZXR0ZS1ncmF5LCBcIndoaXRlXCIgKSxcbiAgICBib3JkZXI6IHJnYmEoIG1hcC5nZXQoICRrZW5kby1wYWxldHRlLWdyYXksIFwiYmxhY2tcIiApLCAuMDgpLFxuICAgIGJvcmRlci1hbHQ6IHJnYmEoIG1hcC5nZXQoICRrZW5kby1wYWxldHRlLWdyYXksIFwiYmxhY2tcIiApLCAuMTYpLFxuICAgIC8vIEJhc2VcbiAgICBiYXNlLXN1YnRsZTogbWFwLmdldCggJGtlbmRvLXBhbGV0dGUtZ3JheSwgMyApLFxuICAgIGJhc2Utc3VidGxlLWhvdmVyOiBtYXAuZ2V0KCAka2VuZG8tcGFsZXR0ZS1ncmF5LCA0ICksXG4gICAgYmFzZS1zdWJ0bGUtYWN0aXZlOiBtYXAuZ2V0KCAka2VuZG8tcGFsZXR0ZS1ncmF5LCA1ICksXG4gICAgYmFzZTogbWFwLmdldCggJGtlbmRvLXBhbGV0dGUtZ3JheSwgMiApLFxuICAgIGJhc2UtaG92ZXI6IG1hcC5nZXQoICRrZW5kby1wYWxldHRlLWdyYXksIDMgKSxcbiAgICBiYXNlLWFjdGl2ZTogbWFwLmdldCggJGtlbmRvLXBhbGV0dGUtZ3JheSwgNSApLFxuICAgIGJhc2UtZW1waGFzaXM6IG1hcC5nZXQoICRrZW5kby1wYWxldHRlLWdyYXksIDYgKSxcbiAgICBiYXNlLW9uLXN1YnRsZTogbWFwLmdldCggJGtlbmRvLXBhbGV0dGUtZ3JheSwgMTIgKSxcbiAgICBvbi1iYXNlOiBtYXAuZ2V0KCAka2VuZG8tcGFsZXR0ZS1ncmF5LCAxMiApLFxuICAgIGJhc2Utb24tc3VyZmFjZTogbWFwLmdldCggJGtlbmRvLXBhbGV0dGUtZ3JheSwgMTIgKSxcbiAgICAvLyBQcmltYXJ5XG4gICAgcHJpbWFyeS1zdWJ0bGU6IG1hcC5nZXQoICRrZW5kby1wYWxldHRlLWNvcmFsLCAyICksXG4gICAgcHJpbWFyeS1zdWJ0bGUtaG92ZXI6IG1hcC5nZXQoICRrZW5kby1wYWxldHRlLWNvcmFsLCAzICksXG4gICAgcHJpbWFyeS1zdWJ0bGUtYWN0aXZlOiBtYXAuZ2V0KCAka2VuZG8tcGFsZXR0ZS1jb3JhbCwgNCApLFxuICAgIHByaW1hcnk6IG1hcC5nZXQoICRrZW5kby1wYWxldHRlLWNvcmFsLCA5ICksXG4gICAgcHJpbWFyeS1ob3ZlcjogbWFwLmdldCggJGtlbmRvLXBhbGV0dGUtY29yYWwsIDEwICksXG4gICAgcHJpbWFyeS1hY3RpdmU6IG1hcC5nZXQoICRrZW5kby1wYWxldHRlLWNvcmFsLCAxMSApLFxuICAgIHByaW1hcnktZW1waGFzaXM6IG1hcC5nZXQoICRrZW5kby1wYWxldHRlLWNvcmFsLCA2ICksXG4gICAgcHJpbWFyeS1vbi1zdWJ0bGU6IG1hcC5nZXQoICRrZW5kby1wYWxldHRlLWNvcmFsLCAxNSApLFxuICAgIG9uLXByaW1hcnk6IG1hcC5nZXQoICRrZW5kby1wYWxldHRlLWdyYXksIFwid2hpdGVcIiApLFxuICAgIHByaW1hcnktb24tc3VyZmFjZTogbWFwLmdldCggJGtlbmRvLXBhbGV0dGUtY29yYWwsIDkgKSxcbiAgICAvLyBTZWNvbmRhcnlcbiAgICBzZWNvbmRhcnktc3VidGxlOiBtYXAuZ2V0KCAka2VuZG8tcGFsZXR0ZS1ncmF5LCAxICksXG4gICAgc2Vjb25kYXJ5LXN1YnRsZS1ob3ZlcjogbWFwLmdldCggJGtlbmRvLXBhbGV0dGUtZ3JheSwgMiApLFxuICAgIHNlY29uZGFyeS1zdWJ0bGUtYWN0aXZlOiBtYXAuZ2V0KCAka2VuZG8tcGFsZXR0ZS1ncmF5LCAzICksXG4gICAgc2Vjb25kYXJ5OiBtYXAuZ2V0KCAka2VuZG8tcGFsZXR0ZS1ncmF5LCAxMCApLFxuICAgIHNlY29uZGFyeS1ob3ZlcjogbWFwLmdldCggJGtlbmRvLXBhbGV0dGUtZ3JheSwgMTEgKSxcbiAgICBzZWNvbmRhcnktYWN0aXZlOiBtYXAuZ2V0KCAka2VuZG8tcGFsZXR0ZS1ncmF5LCAxMiApLFxuICAgIHNlY29uZGFyeS1lbXBoYXNpczogbWFwLmdldCggJGtlbmRvLXBhbGV0dGUtZ3JheSwgNCApLFxuICAgIHNlY29uZGFyeS1vbi1zdWJ0bGU6IG1hcC5nZXQoICRrZW5kby1wYWxldHRlLWdyYXksIDE1ICksXG4gICAgb24tc2Vjb25kYXJ5OiBtYXAuZ2V0KCAka2VuZG8tcGFsZXR0ZS1ncmF5LCBcIndoaXRlXCIgKSxcbiAgICBzZWNvbmRhcnktb24tc3VyZmFjZTogbWFwLmdldCggJGtlbmRvLXBhbGV0dGUtZ3JheSwgMTMgKSxcbiAgICAvLyBUZXJ0aWFyeVxuICAgIHRlcnRpYXJ5LXN1YnRsZTogbWFwLmdldCggJGtlbmRvLXBhbGV0dGUtc2t5LWJsdWUsIDIgKSxcbiAgICB0ZXJ0aWFyeS1zdWJ0bGUtaG92ZXI6IG1hcC5nZXQoICRrZW5kby1wYWxldHRlLXNreS1ibHVlLCAzICksXG4gICAgdGVydGlhcnktc3VidGxlLWFjdGl2ZTogbWFwLmdldCggJGtlbmRvLXBhbGV0dGUtc2t5LWJsdWUsIDQgKSxcbiAgICB0ZXJ0aWFyeTogbWFwLmdldCggJGtlbmRvLXBhbGV0dGUtc2t5LWJsdWUsIDkgKSxcbiAgICB0ZXJ0aWFyeS1ob3ZlcjogbWFwLmdldCggJGtlbmRvLXBhbGV0dGUtc2t5LWJsdWUsIDEwICksXG4gICAgdGVydGlhcnktYWN0aXZlOiBtYXAuZ2V0KCAka2VuZG8tcGFsZXR0ZS1za3ktYmx1ZSwgMTEgKSxcbiAgICB0ZXJ0aWFyeS1lbXBoYXNpczogbWFwLmdldCggJGtlbmRvLXBhbGV0dGUtc2t5LWJsdWUsIDYgKSxcbiAgICB0ZXJ0aWFyeS1vbi1zdWJ0bGU6IG1hcC5nZXQoICRrZW5kby1wYWxldHRlLXNreS1ibHVlLCAxNSApLFxuICAgIG9uLXRlcnRpYXJ5OiBtYXAuZ2V0KCAka2VuZG8tcGFsZXR0ZS1ncmF5LCBcIndoaXRlXCIgKSxcbiAgICB0ZXJ0aWFyeS1vbi1zdXJmYWNlOiBtYXAuZ2V0KCAka2VuZG8tcGFsZXR0ZS1za3ktYmx1ZSwgMTEgKSxcbiAgICAvLyBJbmZvXG4gICAgaW5mby1zdWJ0bGU6IG1hcC5nZXQoICRrZW5kby1wYWxldHRlLWJsdWUsIDIgKSxcbiAgICBpbmZvLXN1YnRsZS1ob3ZlcjogbWFwLmdldCggJGtlbmRvLXBhbGV0dGUtYmx1ZSwgMyApLFxuICAgIGluZm8tc3VidGxlLWFjdGl2ZTogbWFwLmdldCggJGtlbmRvLXBhbGV0dGUtYmx1ZSwgNSApLFxuICAgIGluZm86IG1hcC5nZXQoICRrZW5kby1wYWxldHRlLWJsdWUsIDkgKSxcbiAgICBpbmZvLWhvdmVyOiBtYXAuZ2V0KCAka2VuZG8tcGFsZXR0ZS1ibHVlLCAxMCApLFxuICAgIGluZm8tYWN0aXZlOiBtYXAuZ2V0KCAka2VuZG8tcGFsZXR0ZS1ibHVlLCAxMSApLFxuICAgIGluZm8tZW1waGFzaXM6IG1hcC5nZXQoICRrZW5kby1wYWxldHRlLWJsdWUsIDYgKSxcbiAgICBpbmZvLW9uLXN1YnRsZTogbWFwLmdldCggJGtlbmRvLXBhbGV0dGUtYmx1ZSwgMTUgKSxcbiAgICBvbi1pbmZvOiBtYXAuZ2V0KCAka2VuZG8tcGFsZXR0ZS1ncmF5LCBcIndoaXRlXCIgKSxcbiAgICBpbmZvLW9uLXN1cmZhY2U6IG1hcC5nZXQoICRrZW5kby1wYWxldHRlLWJsdWUsIDExICksXG4gICAgLy8gU3VjY2Vzc1xuICAgIHN1Y2Nlc3Mtc3VidGxlOiBtYXAuZ2V0KCAka2VuZG8tcGFsZXR0ZS1ncmVlbiwgMiApLFxuICAgIHN1Y2Nlc3Mtc3VidGxlLWhvdmVyOiBtYXAuZ2V0KCAka2VuZG8tcGFsZXR0ZS1ncmVlbiwgMyApLFxuICAgIHN1Y2Nlc3Mtc3VidGxlLWFjdGl2ZTogbWFwLmdldCggJGtlbmRvLXBhbGV0dGUtZ3JlZW4sIDQgKSxcbiAgICBzdWNjZXNzOiBtYXAuZ2V0KCAka2VuZG8tcGFsZXR0ZS1ncmVlbiwgOSApLFxuICAgIHN1Y2Nlc3MtaG92ZXI6IG1hcC5nZXQoICRrZW5kby1wYWxldHRlLWdyZWVuLCAxMCApLFxuICAgIHN1Y2Nlc3MtYWN0aXZlOiBtYXAuZ2V0KCAka2VuZG8tcGFsZXR0ZS1ncmVlbiwgMTEgKSxcbiAgICBzdWNjZXNzLWVtcGhhc2lzOiBtYXAuZ2V0KCAka2VuZG8tcGFsZXR0ZS1ncmVlbiwgNiApLFxuICAgIHN1Y2Nlc3Mtb24tc3VidGxlOiBtYXAuZ2V0KCAka2VuZG8tcGFsZXR0ZS1ncmVlbiwgMTUgKSxcbiAgICBvbi1zdWNjZXNzOiBtYXAuZ2V0KCAka2VuZG8tcGFsZXR0ZS1ncmF5LCBcIndoaXRlXCIgKSxcbiAgICBzdWNjZXNzLW9uLXN1cmZhY2U6IG1hcC5nZXQoICRrZW5kby1wYWxldHRlLWdyZWVuLCAxMSApLFxuICAgIC8vIFdhcm5pbmdcbiAgICB3YXJuaW5nLXN1YnRsZTogbWFwLmdldCggJGtlbmRvLXBhbGV0dGUteWVsbG93LCAyICksXG4gICAgd2FybmluZy1zdWJ0bGUtaG92ZXI6IG1hcC5nZXQoICRrZW5kby1wYWxldHRlLXllbGxvdywgMyApLFxuICAgIHdhcm5pbmctc3VidGxlLWFjdGl2ZTogbWFwLmdldCggJGtlbmRvLXBhbGV0dGUteWVsbG93LCA0ICksXG4gICAgd2FybmluZzogbWFwLmdldCggJGtlbmRvLXBhbGV0dGUteWVsbG93LCA5ICksXG4gICAgd2FybmluZy1ob3ZlcjogbWFwLmdldCggJGtlbmRvLXBhbGV0dGUteWVsbG93LCAxMCApLFxuICAgIHdhcm5pbmctYWN0aXZlOiBtYXAuZ2V0KCAka2VuZG8tcGFsZXR0ZS15ZWxsb3csIDExICksXG4gICAgd2FybmluZy1lbXBoYXNpczogbWFwLmdldCggJGtlbmRvLXBhbGV0dGUteWVsbG93LCA2ICksXG4gICAgd2FybmluZy1vbi1zdWJ0bGU6IG1hcC5nZXQoICRrZW5kby1wYWxldHRlLXllbGxvdywgMTUgKSxcbiAgICBvbi13YXJuaW5nOiBtYXAuZ2V0KCAka2VuZG8tcGFsZXR0ZS1ncmF5LCAxMiApLFxuICAgIHdhcm5pbmctb24tc3VyZmFjZTogbWFwLmdldCggJGtlbmRvLXBhbGV0dGUteWVsbG93LCA5ICksXG4gICAgLy8gRXJyb3JcbiAgICBlcnJvci1zdWJ0bGU6IG1hcC5nZXQoICRrZW5kby1wYWxldHRlLXJlZCwgMiApLFxuICAgIGVycm9yLXN1YnRsZS1ob3ZlcjogbWFwLmdldCggJGtlbmRvLXBhbGV0dGUtcmVkLCAzICksXG4gICAgZXJyb3Itc3VidGxlLWFjdGl2ZTogbWFwLmdldCggJGtlbmRvLXBhbGV0dGUtcmVkLCA1ICksXG4gICAgZXJyb3I6IG1hcC5nZXQoICRrZW5kby1wYWxldHRlLXJlZCwgOSApLFxuICAgIGVycm9yLWhvdmVyOiBtYXAuZ2V0KCAka2VuZG8tcGFsZXR0ZS1yZWQsIDEwICksXG4gICAgZXJyb3ItYWN0aXZlOiBtYXAuZ2V0KCAka2VuZG8tcGFsZXR0ZS1yZWQsIDExICksXG4gICAgZXJyb3ItZW1waGFzaXM6IG1hcC5nZXQoICRrZW5kby1wYWxldHRlLXJlZCwgNiApLFxuICAgIGVycm9yLW9uLXN1YnRsZTogbWFwLmdldCggJGtlbmRvLXBhbGV0dGUtcmVkLCAxNSApLFxuICAgIG9uLWVycm9yOiBtYXAuZ2V0KCAka2VuZG8tcGFsZXR0ZS1ncmF5LCBcIndoaXRlXCIgKSxcbiAgICBlcnJvci1vbi1zdXJmYWNlOiBtYXAuZ2V0KCAka2VuZG8tcGFsZXR0ZS1yZWQsIDExICksXG4gICAgLy8gTGlnaHRcbiAgICBsaWdodC1zdWJ0bGU6IG1hcC5nZXQoICRrZW5kby1wYWxldHRlLWdyYXksIDEgKSxcbiAgICBsaWdodC1zdWJ0bGUtaG92ZXI6IG1hcC5nZXQoICRrZW5kby1wYWxldHRlLWdyYXksIDIgKSxcbiAgICBsaWdodC1zdWJ0bGUtYWN0aXZlOiBtYXAuZ2V0KCAka2VuZG8tcGFsZXR0ZS1ncmF5LCAzICksXG4gICAgbGlnaHQ6IG1hcC5nZXQoICRrZW5kby1wYWxldHRlLWdyYXksIDMgKSxcbiAgICBsaWdodC1ob3ZlcjogbWFwLmdldCggJGtlbmRvLXBhbGV0dGUtZ3JheSwgNCApLFxuICAgIGxpZ2h0LWFjdGl2ZTogbWFwLmdldCggJGtlbmRvLXBhbGV0dGUtZ3JheSwgNSApLFxuICAgIGxpZ2h0LWVtcGhhc2lzOiBtYXAuZ2V0KCAka2VuZG8tcGFsZXR0ZS1ncmF5LCA1ICksXG4gICAgbGlnaHQtb24tc3VidGxlOiBtYXAuZ2V0KCAka2VuZG8tcGFsZXR0ZS1ncmF5LCAxNSApLFxuICAgIG9uLWxpZ2h0OiBtYXAuZ2V0KCAka2VuZG8tcGFsZXR0ZS1ncmF5LCBcImJsYWNrXCIgKSxcbiAgICBsaWdodC1vbi1zdXJmYWNlOiBtYXAuZ2V0KCAka2VuZG8tcGFsZXR0ZS1ncmF5LCA0ICksXG4gICAgLy8gRGFya1xuICAgIGRhcmstc3VidGxlOiBtYXAuZ2V0KCAka2VuZG8tcGFsZXR0ZS1ncmF5LCA2ICksXG4gICAgZGFyay1zdWJ0bGUtaG92ZXI6IG1hcC5nZXQoICRrZW5kby1wYWxldHRlLWdyYXksIDcgKSxcbiAgICBkYXJrLXN1YnRsZS1hY3RpdmU6IG1hcC5nZXQoICRrZW5kby1wYWxldHRlLWdyYXksIDggKSxcbiAgICBkYXJrOiBtYXAuZ2V0KCAka2VuZG8tcGFsZXR0ZS1ncmF5LCAxMiApLFxuICAgIGRhcmstaG92ZXI6IG1hcC5nZXQoICRrZW5kby1wYWxldHRlLWdyYXksIDEzICksXG4gICAgZGFyay1hY3RpdmU6IG1hcC5nZXQoICRrZW5kby1wYWxldHRlLWdyYXksIDE0ICksXG4gICAgZGFyay1lbXBoYXNpczogbWFwLmdldCggJGtlbmRvLXBhbGV0dGUtZ3JheSwgMTAgKSxcbiAgICBkYXJrLW9uLXN1YnRsZTogbWFwLmdldCggJGtlbmRvLXBhbGV0dGUtZ3JheSwgMTQgKSxcbiAgICBvbi1kYXJrOiBtYXAuZ2V0KCAka2VuZG8tcGFsZXR0ZS1ncmF5LCBcIndoaXRlXCIgKSxcbiAgICBkYXJrLW9uLXN1cmZhY2U6IG1hcC5nZXQoICRrZW5kby1wYWxldHRlLWdyYXksIDE1ICksXG4gICAgLy8gSW52ZXJzZVxuICAgIGludmVyc2Utc3VidGxlOiBtYXAuZ2V0KCAka2VuZG8tcGFsZXR0ZS1ncmF5LCA2ICksXG4gICAgaW52ZXJzZS1zdWJ0bGUtaG92ZXI6IG1hcC5nZXQoICRrZW5kby1wYWxldHRlLWdyYXksIDcgKSxcbiAgICBpbnZlcnNlLXN1YnRsZS1hY3RpdmU6IG1hcC5nZXQoICRrZW5kby1wYWxldHRlLWdyYXksIDggKSxcbiAgICBpbnZlcnNlOiBtYXAuZ2V0KCAka2VuZG8tcGFsZXR0ZS1ncmF5LCAxMiApLFxuICAgIGludmVyc2UtaG92ZXI6IG1hcC5nZXQoICRrZW5kby1wYWxldHRlLWdyYXksIDEzICksXG4gICAgaW52ZXJzZS1hY3RpdmU6IG1hcC5nZXQoICRrZW5kby1wYWxldHRlLWdyYXksIDE0ICksXG4gICAgaW52ZXJzZS1lbXBoYXNpczogbWFwLmdldCggJGtlbmRvLXBhbGV0dGUtZ3JheSwgMTAgKSxcbiAgICBpbnZlcnNlLW9uLXN1YnRsZTogbWFwLmdldCggJGtlbmRvLXBhbGV0dGUtZ3JheSwgMTQgKSxcbiAgICBvbi1pbnZlcnNlOiBtYXAuZ2V0KCAka2VuZG8tcGFsZXR0ZS1ncmF5LCBcIndoaXRlXCIgKSxcbiAgICBpbnZlcnNlLW9uLXN1cmZhY2U6IG1hcC5nZXQoICRrZW5kby1wYWxldHRlLWdyYXksIDE1ICksXG4gICAgLy8gU2VyaWVzIEFcbiAgICBzZXJpZXMtYTogbWFwLmdldCggJGtlbmRvLXBhbGV0dGUtY29yYWwsIDkgKSxcbiAgICBzZXJpZXMtYS1ib2xkOiBtYXAuZ2V0KCAka2VuZG8tcGFsZXR0ZS1jb3JhbCwgMTIgKSxcbiAgICBzZXJpZXMtYS1ib2xkZXI6IG1hcC5nZXQoICRrZW5kby1wYWxldHRlLWNvcmFsLCAxNCApLFxuICAgIHNlcmllcy1hLXN1YnRsZTogbWFwLmdldCggJGtlbmRvLXBhbGV0dGUtY29yYWwsIDUgKSxcbiAgICBzZXJpZXMtYS1zdWJ0bGVyOiBtYXAuZ2V0KCAka2VuZG8tcGFsZXR0ZS1jb3JhbCwgNyApLFxuICAgIC8vIFNlcmllcyBCXG4gICAgc2VyaWVzLWI6IG1hcC5nZXQoICRrZW5kby1wYWxldHRlLWxlbW9uLXllbGxvdywgOSApLFxuICAgIHNlcmllcy1iLWJvbGQ6IG1hcC5nZXQoICRrZW5kby1wYWxldHRlLWxlbW9uLXllbGxvdywgMTIgKSxcbiAgICBzZXJpZXMtYi1ib2xkZXI6IG1hcC5nZXQoICRrZW5kby1wYWxldHRlLWxlbW9uLXllbGxvdywgMTQgKSxcbiAgICBzZXJpZXMtYi1zdWJ0bGU6IG1hcC5nZXQoICRrZW5kby1wYWxldHRlLWxlbW9uLXllbGxvdywgNSApLFxuICAgIHNlcmllcy1iLXN1YnRsZXI6IG1hcC5nZXQoICRrZW5kby1wYWxldHRlLWxlbW9uLXllbGxvdywgNyApLFxuICAgIC8vIFNlcmllcyBDXG4gICAgc2VyaWVzLWM6IG1hcC5nZXQoICRrZW5kby1wYWxldHRlLXNwcmluZy1ncmVlbiwgOSApLFxuICAgIHNlcmllcy1jLWJvbGQ6IG1hcC5nZXQoICRrZW5kby1wYWxldHRlLXNwcmluZy1ncmVlbiwgMTIgKSxcbiAgICBzZXJpZXMtYy1ib2xkZXI6IG1hcC5nZXQoICRrZW5kby1wYWxldHRlLXNwcmluZy1ncmVlbiwgMTQgKSxcbiAgICBzZXJpZXMtYy1zdWJ0bGU6IG1hcC5nZXQoICRrZW5kby1wYWxldHRlLXNwcmluZy1ncmVlbiwgNSApLFxuICAgIHNlcmllcy1jLXN1YnRsZXI6IG1hcC5nZXQoICRrZW5kby1wYWxldHRlLXNwcmluZy1ncmVlbiwgNyApLFxuICAgIC8vIFNlcmllcyBEXG4gICAgc2VyaWVzLWQ6IG1hcC5nZXQoICRrZW5kby1wYWxldHRlLXJveWFsLWJsdWUsIDkgKSxcbiAgICBzZXJpZXMtZC1ib2xkOiBtYXAuZ2V0KCAka2VuZG8tcGFsZXR0ZS1yb3lhbC1ibHVlLCAxMiApLFxuICAgIHNlcmllcy1kLWJvbGRlcjogbWFwLmdldCggJGtlbmRvLXBhbGV0dGUtcm95YWwtYmx1ZSwgMTQgKSxcbiAgICBzZXJpZXMtZC1zdWJ0bGU6IG1hcC5nZXQoICRrZW5kby1wYWxldHRlLXJveWFsLWJsdWUsIDUgKSxcbiAgICBzZXJpZXMtZC1zdWJ0bGVyOiBtYXAuZ2V0KCAka2VuZG8tcGFsZXR0ZS1yb3lhbC1ibHVlLCA3ICksXG4gICAgLy8gU2VyaWVzINCVXG4gICAgc2VyaWVzLWU6IG1hcC5nZXQoICRrZW5kby1wYWxldHRlLWxhdmVuZGVyLXB1cnBsZSwgOSApLFxuICAgIHNlcmllcy1lLWJvbGQ6IG1hcC5nZXQoICRrZW5kby1wYWxldHRlLWxhdmVuZGVyLXB1cnBsZSwgMTIgKSxcbiAgICBzZXJpZXMtZS1ib2xkZXI6IG1hcC5nZXQoICRrZW5kby1wYWxldHRlLWxhdmVuZGVyLXB1cnBsZSwgMTQgKSxcbiAgICBzZXJpZXMtZS1zdWJ0bGU6IG1hcC5nZXQoICRrZW5kby1wYWxldHRlLWxhdmVuZGVyLXB1cnBsZSwgNSApLFxuICAgIHNlcmllcy1lLXN1YnRsZXI6IG1hcC5nZXQoICRrZW5kby1wYWxldHRlLWxhdmVuZGVyLXB1cnBsZSwgNyApLFxuICAgIC8vIFNlcmllcyBGXG4gICAgc2VyaWVzLWY6IG1hcC5nZXQoICRrZW5kby1wYWxldHRlLWZsYW1pbmdvLXBpbmssIDkgKSxcbiAgICBzZXJpZXMtZi1ib2xkOiBtYXAuZ2V0KCAka2VuZG8tcGFsZXR0ZS1mbGFtaW5nby1waW5rLCAxMiApLFxuICAgIHNlcmllcy1mLWJvbGRlcjogbWFwLmdldCggJGtlbmRvLXBhbGV0dGUtZmxhbWluZ28tcGluaywgMTQgKSxcbiAgICBzZXJpZXMtZi1zdWJ0bGU6IG1hcC5nZXQoICRrZW5kby1wYWxldHRlLWZsYW1pbmdvLXBpbmssIDUgKSxcbiAgICBzZXJpZXMtZi1zdWJ0bGVyOiBtYXAuZ2V0KCAka2VuZG8tcGFsZXR0ZS1mbGFtaW5nby1waW5rLCA3ICksXG4pICFkZWZhdWx0O1xuXG4vLy8gVGhlIGdsb2JhbCBkZWZhdWx0IENvbG9ycyBtYXAuXG4vLy8gQGdyb3VwIGNvbG9yLXN5c3RlbVxuLy8vXG4vLy8gQHN1Ymdyb3VwIHttaXNjfVxuLy8vIFthcHAtc3VyZmFjZSwgb24tYXBwLXN1cmZhY2UsIHN1YnRsZSxcbi8vLyBzdXJmYWNlLCBzdXJmYWNlLWFsdCwgYm9yZGVyLCBib3JkZXItYWx0XVxuLy8vIFRoZSBNaXNjIHZhcmlhYmxlIGdyb3VwLlxuLy8vIEBwcm9wIHtDb2xvcn0gYXBwLXN1cmZhY2UgLSBUaGUgYmFja2dyb3VuZCBjb2xvciBvZiB0aGUgYXBwbGljYXRpb24uXG4vLy8gQHByb3Age0NvbG9yfSBvbi1hcHAtc3VyZmFjZSAtIFRoZSB0ZXh0IGNvbG9yIG9mIHRoZSBhcHBsaWNhdGlvbi5cbi8vLyBAcHJvcCB7Q29sb3J9IHN1YnRsZSAtIFRoZSBzdWJ0bGUgdGV4dCBjb2xvci5cbi8vLyBAcHJvcCB7Q29sb3J9IHN1cmZhY2UgLSBUaGUgYmFja2dyb3VuZCBjb2xvciBvZiB0aGUgY29tcG9uZW50cycgY2hyb21lIGFyZWEuXG4vLy8gQHByb3Age0NvbG9yfSBzdXJmYWNlLWFsdCAtIFRoZSBhbHRlcm5hdGl2ZSBiYWNrZ3JvdW5kIGNvbG9yIG9mIHRoZSBjb21wb25lbnRzJyBjaHJvbWUgYXJlYS5cbi8vLyBAcHJvcCB7Q29sb3J9IGJvcmRlciAtIFRoZSBib3JkZXIgY29sb3Igb2YgdGhlIGFwcGxpY2F0aW9uLlxuLy8vIEBwcm9wIHtDb2xvcn0gYm9yZGVyLWFsdCAtIFRoZSBhbHRlcm5hdGl2ZSBib3JkZXIgY29sb3Igb2YgdGhlIGFwcGxpY2F0aW9uLlxuLy8vXG4vLy8gQHN1Ymdyb3VwIHtiYXNlfVxuLy8vIFtiYXNlLXN1YnRsZSwgYmFzZS1zdWJ0bGUtaG92ZXIsIGJhc2Utc3VidGxlLWFjdGl2ZSxcbi8vLyBiYXNlLCBiYXNlLWhvdmVyLCBiYXNlLWFjdGl2ZSwgYmFzZS1lbXBoYXNpcyxcbi8vLyBiYXNlLW9uLXN1YnRsZSwgb24tYmFzZSwgYmFzZS1vbi1zdXJmYWNlXVxuLy8vIFRoZSBCYXNlIHZhcmlhYmxlIGdyb3VwLlxuLy8vIEBwcm9wIHtDb2xvcn0gYmFzZS1zdWJ0bGUgLSBUaGUgYmFzZSBzdWJ0bGUgYmFja2dyb3VuZCBjb2xvciB2YXJpYWJsZS5cbi8vLyBAcHJvcCB7Q29sb3J9IGJhc2Utc3VidGxlLWhvdmVyIC0gVGhlIGJhc2Ugc3VidGxlIGJhY2tncm91bmQgY29sb3IgdmFyaWFibGUgZm9yIHRoZSBob3ZlciBzdGF0ZS5cbi8vLyBAcHJvcCB7Q29sb3J9IGJhc2Utc3VidGxlLWFjdGl2ZSAtIFRoZSBiYXNlIHN1YnRsZSBiYWNrZ3JvdW5kIGNvbG9yIHZhcmlhYmxlIGZvciB0aGUgYWN0aXZlIHN0YXRlLlxuLy8vIEBwcm9wIHtDb2xvcn0gYmFzZSAtIFRoZSBiYXNlIGJhY2tncm91bmQgY29sb3IgdmFyaWFibGUuXG4vLy8gQHByb3Age0NvbG9yfSBiYXNlLWhvdmVyIC0gVGhlIGJhc2UgYmFja2dyb3VuZCBjb2xvciB2YXJpYWJsZSBmb3IgdGhlIGhvdmVyIHN0YXRlLlxuLy8vIEBwcm9wIHtDb2xvcn0gYmFzZS1hY3RpdmUgLSBUaGUgYmFzZSBiYWNrZ3JvdW5kIGNvbG9yIHZhcmlhYmxlIGZvciB0aGUgYWN0aXZlIHN0YXRlLlxuLy8vIEBwcm9wIHtDb2xvcn0gYmFzZS1lbXBoYXNpcyAtIFRoZSBlbXBoYXNpemVkIGJhc2UgY29sb3IgdmFyaWFibGUuXG4vLy8gQHByb3Age0NvbG9yfSBiYXNlLW9uLXN1YnRsZSAtIFRoZSB0ZXh0IGNvbG9yIHZhcmlhYmxlIGZvciBjb250ZW50IG9uIGJhc2Ugc3VidGxlLlxuLy8vIEBwcm9wIHtDb2xvcn0gb24tYmFzZSAtIFRoZSB0ZXh0IGNvbG9yIHZhcmlhYmxlIGZvciBjb250ZW50IG9uIGJhc2UuXG4vLy8gQHByb3Age0NvbG9yfSBiYXNlLW9uLXN1cmZhY2UgLSBUaGUgdGV4dCBjb2xvciB2YXJpYWJsZSBmb3IgY29udGVudCBvbiBzdXJmYWNlLlxuLy8vXG4vLy8gQHN1Ymdyb3VwIHtwcmltYXJ5fVxuLy8vIFtwcmltYXJ5LXN1YnRsZSwgcHJpbWFyeS1zdWJ0bGUtaG92ZXIsIHByaW1hcnktc3VidGxlLWFjdGl2ZSxcbi8vLyBwcmltYXJ5LCBwcmltYXJ5LWhvdmVyLCBwcmltYXJ5LWFjdGl2ZSwgcHJpbWFyeS1lbXBoYXNpcyxcbi8vLyBwcmltYXJ5LW9uLXN1YnRsZSwgb24tcHJpbWFyeSwgcHJpbWFyeS1vbi1zdXJmYWNlXVxuLy8vIFRoZSBQcmltYXJ5IHZhcmlhYmxlIGdyb3VwLlxuLy8vIEBwcm9wIHtDb2xvcn0gcHJpbWFyeS1zdWJ0bGUgLSBUaGUgcHJpbWFyeSBzdWJ0bGUgYmFja2dyb3VuZCBjb2xvciB2YXJpYWJsZS5cbi8vLyBAcHJvcCB7Q29sb3J9IHByaW1hcnktc3VidGxlLWhvdmVyIC0gVGhlIHByaW1hcnkgc3VidGxlIGJhY2tncm91bmQgY29sb3IgdmFyaWFibGUgZm9yIHRoZSBob3ZlciBzdGF0ZS5cbi8vLyBAcHJvcCB7Q29sb3J9IHByaW1hcnktc3VidGxlLWFjdGl2ZSAtIFRoZSBwcmltYXJ5IHN1YnRsZSBiYWNrZ3JvdW5kIGNvbG9yIHZhcmlhYmxlIGZvciB0aGUgYWN0aXZlIHN0YXRlLlxuLy8vIEBwcm9wIHtDb2xvcn0gcHJpbWFyeSAtIFRoZSBwcmltYXJ5IGJhY2tncm91bmQgY29sb3IgdmFyaWFibGUuXG4vLy8gQHByb3Age0NvbG9yfSBwcmltYXJ5LWhvdmVyIC0gVGhlIHByaW1hcnkgYmFja2dyb3VuZCBjb2xvciB2YXJpYWJsZSBmb3IgdGhlIGhvdmVyIHN0YXRlLlxuLy8vIEBwcm9wIHtDb2xvcn0gcHJpbWFyeS1hY3RpdmUgLSBUaGUgcHJpbWFyeSBiYWNrZ3JvdW5kIGNvbG9yIHZhcmlhYmxlIGZvciB0aGUgYWN0aXZlIHN0YXRlLlxuLy8vIEBwcm9wIHtDb2xvcn0gcHJpbWFyeS1lbXBoYXNpcyAtIFRoZSBlbXBoYXNpemVkIHByaW1hcnkgY29sb3IgdmFyaWFibGUuXG4vLy8gQHByb3Age0NvbG9yfSBwcmltYXJ5LW9uLXN1YnRsZSAtIFRoZSB0ZXh0IGNvbG9yIHZhcmlhYmxlIGZvciBjb250ZW50IG9uIHByaW1hcnkgc3VidGxlLlxuLy8vIEBwcm9wIHtDb2xvcn0gb24tcHJpbWFyeSAtIFRoZSB0ZXh0IGNvbG9yIHZhcmlhYmxlIGZvciBjb250ZW50IG9uIHByaW1hcnkuXG4vLy8gQHByb3Age0NvbG9yfSBwcmltYXJ5LW9uLXN1cmZhY2UgLSBUaGUgdGV4dCBjb2xvciB2YXJpYWJsZSBmb3IgY29udGVudCBvbiBzdXJmYWNlLlxuLy8vXG4vLy8gQHN1Ymdyb3VwIHtzZWNvbmRhcnl9XG4vLy8gW3NlY29uZGFyeS1zdWJ0bGUsIHNlY29uZGFyeS1zdWJ0bGUtaG92ZXIsIHNlY29uZGFyeS1zdWJ0bGUtYWN0aXZlLFxuLy8vIHNlY29uZGFyeSwgc2Vjb25kYXJ5LWhvdmVyLCBzZWNvbmRhcnktYWN0aXZlLCBzZWNvbmRhcnktZW1waGFzaXMsXG4vLy8gc2Vjb25kYXJ5LW9uLXN1YnRsZSwgb24tc2Vjb25kYXJ5LCBzZWNvbmRhcnktb24tc3VyZmFjZV1cbi8vLyBUaGUgU2Vjb25kYXJ5IHZhcmlhYmxlIGdyb3VwLlxuLy8vIEBwcm9wIHtDb2xvcn0gc2Vjb25kYXJ5LXN1YnRsZSAtIFRoZSBzZWNvbmRhcnkgc3VidGxlIGJhY2tncm91bmQgY29sb3IgdmFyaWFibGUuXG4vLy8gQHByb3Age0NvbG9yfSBzZWNvbmRhcnktc3VidGxlLWhvdmVyIC0gVGhlIHNlY29uZGFyeSBzdWJ0bGUgYmFja2dyb3VuZCBjb2xvciB2YXJpYWJsZSBmb3IgdGhlIGhvdmVyIHN0YXRlLlxuLy8vIEBwcm9wIHtDb2xvcn0gc2Vjb25kYXJ5LXN1YnRsZS1hY3RpdmUgLSBUaGUgc2Vjb25kYXJ5IHN1YnRsZSBiYWNrZ3JvdW5kIGNvbG9yIHZhcmlhYmxlIGZvciB0aGUgYWN0aXZlIHN0YXRlLlxuLy8vIEBwcm9wIHtDb2xvcn0gc2Vjb25kYXJ5IC0gVGhlIHNlY29uZGFyeSBiYWNrZ3JvdW5kIGNvbG9yIHZhcmlhYmxlLlxuLy8vIEBwcm9wIHtDb2xvcn0gc2Vjb25kYXJ5LWhvdmVyIC0gVGhlIHNlY29uZGFyeSBiYWNrZ3JvdW5kIGNvbG9yIHZhcmlhYmxlIGZvciB0aGUgaG92ZXIgc3RhdGUuXG4vLy8gQHByb3Age0NvbG9yfSBzZWNvbmRhcnktYWN0aXZlIC0gVGhlIHNlY29uZGFyeSBiYWNrZ3JvdW5kIGNvbG9yIHZhcmlhYmxlIGZvciB0aGUgYWN0aXZlIHN0YXRlLlxuLy8vIEBwcm9wIHtDb2xvcn0gc2Vjb25kYXJ5LWVtcGhhc2lzIC0gVGhlIGVtcGhhc2l6ZWQgc2Vjb25kYXJ5IGNvbG9yIHZhcmlhYmxlLlxuLy8vIEBwcm9wIHtDb2xvcn0gc2Vjb25kYXJ5LW9uLXN1YnRsZSAtIFRoZSB0ZXh0IGNvbG9yIHZhcmlhYmxlIGZvciBjb250ZW50IG9uIHNlY29uZGFyeSBzdWJ0bGUuXG4vLy8gQHByb3Age0NvbG9yfSBvbi1zZWNvbmRhcnkgLSBUaGUgdGV4dCBjb2xvciB2YXJpYWJsZSBmb3IgY29udGVudCBvbiBzZWNvbmRhcnkuXG4vLy8gQHByb3Age0NvbG9yfSBzZWNvbmRhcnktb24tc3VyZmFjZSAtIFRoZSB0ZXh0IGNvbG9yIHZhcmlhYmxlIGZvciBjb250ZW50IG9uIHN1cmZhY2UuXG4vLy9cbi8vLyBAc3ViZ3JvdXAge3RlcnRpYXJ5fVxuLy8vIFt0ZXJ0aWFyeS1zdWJ0bGUsIHRlcnRpYXJ5LXN1YnRsZS1ob3ZlciwgdGVydGlhcnktc3VidGxlLWFjdGl2ZSxcbi8vLyB0ZXJ0aWFyeSwgdGVydGlhcnktaG92ZXIsIHRlcnRpYXJ5LWFjdGl2ZSwgdGVydGlhcnktZW1waGFzaXMsXG4vLy8gdGVydGlhcnktb24tc3VidGxlLCBvbi10ZXJ0aWFyeSwgdGVydGlhcnktb24tc3VyZmFjZV1cbi8vLyBUaGUgVGVydGlhcnkgdmFyaWFibGUgZ3JvdXAuXG4vLy8gQHByb3Age0NvbG9yfSB0ZXJ0aWFyeS1zdWJ0bGUgLSBUaGUgdGVydGlhcnkgc3VidGxlIGJhY2tncm91bmQgY29sb3IgdmFyaWFibGUuXG4vLy8gQHByb3Age0NvbG9yfSB0ZXJ0aWFyeS1zdWJ0bGUtaG92ZXIgLSBUaGUgdGVydGlhcnkgc3VidGxlIGJhY2tncm91bmQgY29sb3IgdmFyaWFibGUgZm9yIHRoZSBob3ZlciBzdGF0ZS5cbi8vLyBAcHJvcCB7Q29sb3J9IHRlcnRpYXJ5LXN1YnRsZS1hY3RpdmUgLSBUaGUgdGVydGlhcnkgc3VidGxlIGJhY2tncm91bmQgY29sb3IgdmFyaWFibGUgZm9yIHRoZSBhY3RpdmUgc3RhdGUuXG4vLy8gQHByb3Age0NvbG9yfSB0ZXJ0aWFyeSAtIFRoZSB0ZXJ0aWFyeSBiYWNrZ3JvdW5kIGNvbG9yIHZhcmlhYmxlLlxuLy8vIEBwcm9wIHtDb2xvcn0gdGVydGlhcnktaG92ZXIgLSBUaGUgdGVydGlhcnkgYmFja2dyb3VuZCBjb2xvciB2YXJpYWJsZSBmb3IgdGhlIGhvdmVyIHN0YXRlLlxuLy8vIEBwcm9wIHtDb2xvcn0gdGVydGlhcnktYWN0aXZlIC0gVGhlIHRlcnRpYXJ5IGJhY2tncm91bmQgY29sb3IgdmFyaWFibGUgZm9yIHRoZSBhY3RpdmUgc3RhdGUuXG4vLy8gQHByb3Age0NvbG9yfSB0ZXJ0aWFyeS1lbXBoYXNpcyAtIFRoZSBlbXBoYXNpemVkIHRlcnRpYXJ5IGNvbG9yIHZhcmlhYmxlLlxuLy8vIEBwcm9wIHtDb2xvcn0gdGVydGlhcnktb24tc3VidGxlIC0gVGhlIHRleHQgY29sb3IgdmFyaWFibGUgZm9yIGNvbnRlbnQgb24gdGVydGlhcnkgc3VidGxlLlxuLy8vIEBwcm9wIHtDb2xvcn0gb24tdGVydGlhcnkgLSBUaGUgdGV4dCBjb2xvciB2YXJpYWJsZSBmb3IgY29udGVudCBvbiB0ZXJ0aWFyeS5cbi8vLyBAcHJvcCB7Q29sb3J9IHRlcnRpYXJ5LW9uLXN1cmZhY2UgLSBUaGUgdGV4dCBjb2xvciB2YXJpYWJsZSBmb3IgY29udGVudCBvbiBzdXJmYWNlLlxuLy8vXG4vLy8gQHN1Ymdyb3VwIHtpbmZvfVxuLy8vIFtpbmZvLXN1YnRsZSwgaW5mby1zdWJ0bGUtaG92ZXIsIGluZm8tc3VidGxlLWFjdGl2ZSxcbi8vLyBpbmZvLCBpbmZvLWhvdmVyLCBpbmZvLWFjdGl2ZSwgaW5mby1lbXBoYXNpcyxcbi8vLyBpbmZvLW9uLXN1YnRsZSwgb24taW5mbywgaW5mby1vbi1zdXJmYWNlXVxuLy8vIFRoZSBJbmZvIHZhcmlhYmxlIGdyb3VwLlxuLy8vIEBwcm9wIHtDb2xvcn0gaW5mby1zdWJ0bGUgLSBUaGUgaW5mbyBzdWJ0bGUgYmFja2dyb3VuZCBjb2xvciB2YXJpYWJsZS5cbi8vLyBAcHJvcCB7Q29sb3J9IGluZm8tc3VidGxlLWhvdmVyIC0gVGhlIGluZm8gc3VidGxlIGJhY2tncm91bmQgY29sb3IgdmFyaWFibGUgZm9yIHRoZSBob3ZlciBzdGF0ZS5cbi8vLyBAcHJvcCB7Q29sb3J9IGluZm8tc3VidGxlLWFjdGl2ZSAtIFRoZSBpbmZvIHN1YnRsZSBiYWNrZ3JvdW5kIGNvbG9yIHZhcmlhYmxlIGZvciB0aGUgYWN0aXZlIHN0YXRlLlxuLy8vIEBwcm9wIHtDb2xvcn0gaW5mbyAtIFRoZSBpbmZvIGJhY2tncm91bmQgY29sb3IgdmFyaWFibGUuXG4vLy8gQHByb3Age0NvbG9yfSBpbmZvLWhvdmVyIC0gVGhlIGluZm8gYmFja2dyb3VuZCBjb2xvciB2YXJpYWJsZSBmb3IgdGhlIGhvdmVyIHN0YXRlLlxuLy8vIEBwcm9wIHtDb2xvcn0gaW5mby1hY3RpdmUgLSBUaGUgaW5mbyBiYWNrZ3JvdW5kIGNvbG9yIHZhcmlhYmxlIGZvciB0aGUgYWN0aXZlIHN0YXRlLlxuLy8vIEBwcm9wIHtDb2xvcn0gaW5mby1lbXBoYXNpcyAtIFRoZSBlbXBoYXNpemVkIGluZm8gY29sb3IgdmFyaWFibGUuXG4vLy8gQHByb3Age0NvbG9yfSBpbmZvLW9uLXN1YnRsZSAtIFRoZSB0ZXh0IGNvbG9yIHZhcmlhYmxlIGZvciBjb250ZW50IG9uIGluZm8gc3VidGxlLlxuLy8vIEBwcm9wIHtDb2xvcn0gb24taW5mbyAtIFRoZSB0ZXh0IGNvbG9yIHZhcmlhYmxlIGZvciBjb250ZW50IG9uIGluZm8uXG4vLy8gQHByb3Age0NvbG9yfSBpbmZvLW9uLXN1cmZhY2UgLSBUaGUgdGV4dCBjb2xvciB2YXJpYWJsZSBmb3IgY29udGVudCBvbiBzdXJmYWNlLlxuLy8vXG4vLy8gQHN1Ymdyb3VwIHtzdWNjZXNzfVxuLy8vIFtzdWNjZXNzLXN1YnRsZSwgc3VjY2Vzcy1zdWJ0bGUtaG92ZXIsIHN1Y2Nlc3Mtc3VidGxlLWFjdGl2ZSxcbi8vLyBzdWNjZXNzLCBzdWNjZXNzLWhvdmVyLCBzdWNjZXNzLWFjdGl2ZSwgc3VjY2Vzcy1lbXBoYXNpcyxcbi8vLyBzdWNjZXNzLW9uLXN1YnRsZSwgb24tc3VjY2Vzcywgc3VjY2Vzcy1vbi1zdXJmYWNlXVxuLy8vIFRoZSBTdWNjZXNzIHZhcmlhYmxlIGdyb3VwLlxuLy8vIEBwcm9wIHtDb2xvcn0gc3VjY2Vzcy1zdWJ0bGUgLSBUaGUgc3VjY2VzcyBzdWJ0bGUgYmFja2dyb3VuZCBjb2xvciB2YXJpYWJsZS5cbi8vLyBAcHJvcCB7Q29sb3J9IHN1Y2Nlc3Mtc3VidGxlLWhvdmVyIC0gVGhlIHN1Y2Nlc3Mgc3VidGxlIGJhY2tncm91bmQgY29sb3IgdmFyaWFibGUgZm9yIHRoZSBob3ZlciBzdGF0ZS5cbi8vLyBAcHJvcCB7Q29sb3J9IHN1Y2Nlc3Mtc3VidGxlLWFjdGl2ZSAtIFRoZSBzdWNjZXNzIHN1YnRsZSBiYWNrZ3JvdW5kIGNvbG9yIHZhcmlhYmxlIGZvciB0aGUgYWN0aXZlIHN0YXRlLlxuLy8vIEBwcm9wIHtDb2xvcn0gc3VjY2VzcyAtIFRoZSBzdWNjZXNzIGJhY2tncm91bmQgY29sb3IgdmFyaWFibGUuXG4vLy8gQHByb3Age0NvbG9yfSBzdWNjZXNzLWhvdmVyIC0gVGhlIHN1Y2Nlc3MgYmFja2dyb3VuZCBjb2xvciB2YXJpYWJsZSBmb3IgdGhlIGhvdmVyIHN0YXRlLlxuLy8vIEBwcm9wIHtDb2xvcn0gc3VjY2Vzcy1hY3RpdmUgLSBUaGUgc3VjY2VzcyBiYWNrZ3JvdW5kIGNvbG9yIHZhcmlhYmxlIGZvciB0aGUgYWN0aXZlIHN0YXRlLlxuLy8vIEBwcm9wIHtDb2xvcn0gc3VjY2Vzcy1lbXBoYXNpcyAtIFRoZSBlbXBoYXNpemVkIHN1Y2Nlc3MgY29sb3IgdmFyaWFibGUuXG4vLy8gQHByb3Age0NvbG9yfSBzdWNjZXNzLW9uLXN1YnRsZSAtIFRoZSB0ZXh0IGNvbG9yIHZhcmlhYmxlIGZvciBjb250ZW50IG9uIHN1Y2Nlc3Mgc3VidGxlLlxuLy8vIEBwcm9wIHtDb2xvcn0gb24tc3VjY2VzcyAtIFRoZSB0ZXh0IGNvbG9yIHZhcmlhYmxlIGZvciBjb250ZW50IG9uIHN1Y2Nlc3MuXG4vLy8gQHByb3Age0NvbG9yfSBzdWNjZXNzLW9uLXN1cmZhY2UgLSBUaGUgdGV4dCBjb2xvciB2YXJpYWJsZSBmb3IgY29udGVudCBvbiBzdXJmYWNlLlxuLy8vXG4vLy8gQHN1Ymdyb3VwIHt3YXJuaW5nfVxuLy8vIFt3YXJuaW5nLXN1YnRsZSwgd2FybmluZy1zdWJ0bGUtaG92ZXIsIHdhcm5pbmctc3VidGxlLWFjdGl2ZSxcbi8vLyB3YXJuaW5nLCB3YXJuaW5nLWhvdmVyLCB3YXJuaW5nLWFjdGl2ZSwgd2FybmluZy1lbXBoYXNpcyxcbi8vLyB3YXJuaW5nLW9uLXN1YnRsZSwgb24td2FybmluZywgd2FybmluZy1vbi1zdXJmYWNlXVxuLy8vIFRoZSBXYXJuaW5nIHZhcmlhYmxlIGdyb3VwLlxuLy8vIEBwcm9wIHtDb2xvcn0gd2FybmluZy1zdWJ0bGUgLSBUaGUgd2FybmluZyBzdWJ0bGUgYmFja2dyb3VuZCBjb2xvciB2YXJpYWJsZS5cbi8vLyBAcHJvcCB7Q29sb3J9IHdhcm5pbmctc3VidGxlLWhvdmVyIC0gVGhlIHdhcm5pbmcgc3VidGxlIGJhY2tncm91bmQgY29sb3IgdmFyaWFibGUgZm9yIHRoZSBob3ZlciBzdGF0ZS5cbi8vLyBAcHJvcCB7Q29sb3J9IHdhcm5pbmctc3VidGxlLWFjdGl2ZSAtIFRoZSB3YXJuaW5nIHN1YnRsZSBiYWNrZ3JvdW5kIGNvbG9yIHZhcmlhYmxlIGZvciB0aGUgYWN0aXZlIHN0YXRlLlxuLy8vIEBwcm9wIHtDb2xvcn0gd2FybmluZyAtIFRoZSB3YXJuaW5nIGJhY2tncm91bmQgY29sb3IgdmFyaWFibGUuXG4vLy8gQHByb3Age0NvbG9yfSB3YXJuaW5nLWhvdmVyIC0gVGhlIHdhcm5pbmcgYmFja2dyb3VuZCBjb2xvciB2YXJpYWJsZSBmb3IgdGhlIGhvdmVyIHN0YXRlLlxuLy8vIEBwcm9wIHtDb2xvcn0gd2FybmluZy1hY3RpdmUgLSBUaGUgd2FybmluZyBiYWNrZ3JvdW5kIGNvbG9yIHZhcmlhYmxlIGZvciB0aGUgYWN0aXZlIHN0YXRlLlxuLy8vIEBwcm9wIHtDb2xvcn0gd2FybmluZy1lbXBoYXNpcyAtIFRoZSBlbXBoYXNpemVkIHdhcm5pbmcgY29sb3IgdmFyaWFibGUuXG4vLy8gQHByb3Age0NvbG9yfSB3YXJuaW5nLW9uLXN1YnRsZSAtIFRoZSB0ZXh0IGNvbG9yIHZhcmlhYmxlIGZvciBjb250ZW50IG9uIHdhcm5pbmcgc3VidGxlLlxuLy8vIEBwcm9wIHtDb2xvcn0gb24td2FybmluZyAtIFRoZSB0ZXh0IGNvbG9yIHZhcmlhYmxlIGZvciBjb250ZW50IG9uIHdhcm5pbmcuXG4vLy8gQHByb3Age0NvbG9yfSB3YXJuaW5nLW9uLXN1cmZhY2UgLSBUaGUgdGV4dCBjb2xvciB2YXJpYWJsZSBmb3IgY29udGVudCBvbiBzdXJmYWNlLlxuLy8vXG4vLy8gQHN1Ymdyb3VwIHtlcnJvcn1cbi8vLyBbZXJyb3Itc3VidGxlLCBlcnJvci1zdWJ0bGUtaG92ZXIsIGVycm9yLXN1YnRsZS1hY3RpdmUsXG4vLy8gZXJyb3IsIGVycm9yLWhvdmVyLCBlcnJvci1hY3RpdmUsIGVycm9yLWVtcGhhc2lzLFxuLy8vIGVycm9yLW9uLXN1YnRsZSwgb24tZXJyb3IsIGVycm9yLW9uLXN1cmZhY2VdXG4vLy8gVGhlIEVycm9yIHZhcmlhYmxlIGdyb3VwLlxuLy8vIEBwcm9wIHtDb2xvcn0gZXJyb3Itc3VidGxlIC0gVGhlIGVycm9yIHN1YnRsZSBiYWNrZ3JvdW5kIGNvbG9yIHZhcmlhYmxlLlxuLy8vIEBwcm9wIHtDb2xvcn0gZXJyb3Itc3VidGxlLWhvdmVyIC0gVGhlIGVycm9yIHN1YnRsZSBiYWNrZ3JvdW5kIGNvbG9yIHZhcmlhYmxlIGZvciB0aGUgaG92ZXIgc3RhdGUuXG4vLy8gQHByb3Age0NvbG9yfSBlcnJvci1zdWJ0bGUtYWN0aXZlIC0gVGhlIGVycm9yIHN1YnRsZSBiYWNrZ3JvdW5kIGNvbG9yIHZhcmlhYmxlIGZvciB0aGUgYWN0aXZlIHN0YXRlLlxuLy8vIEBwcm9wIHtDb2xvcn0gZXJyb3IgLSBUaGUgZXJyb3IgYmFja2dyb3VuZCBjb2xvciB2YXJpYWJsZS5cbi8vLyBAcHJvcCB7Q29sb3J9IGVycm9yLWhvdmVyIC0gVGhlIGVycm9yIGJhY2tncm91bmQgY29sb3IgdmFyaWFibGUgZm9yIHRoZSBob3ZlciBzdGF0ZS5cbi8vLyBAcHJvcCB7Q29sb3J9IGVycm9yLWFjdGl2ZSAtIFRoZSBlcnJvciBiYWNrZ3JvdW5kIGNvbG9yIHZhcmlhYmxlIGZvciB0aGUgYWN0aXZlIHN0YXRlLlxuLy8vIEBwcm9wIHtDb2xvcn0gZXJyb3ItZW1waGFzaXMgLSBUaGUgZW1waGFzaXplZCBlcnJvciBjb2xvciB2YXJpYWJsZS5cbi8vLyBAcHJvcCB7Q29sb3J9IGVycm9yLW9uLXN1YnRsZSAtIFRoZSB0ZXh0IGNvbG9yIHZhcmlhYmxlIGZvciBjb250ZW50IG9uIGVycm9yIHN1YnRsZS5cbi8vLyBAcHJvcCB7Q29sb3J9IG9uLWVycm9yIC0gVGhlIHRleHQgY29sb3IgdmFyaWFibGUgZm9yIGNvbnRlbnQgb24gZXJyb3IuXG4vLy8gQHByb3Age0NvbG9yfSBlcnJvci1vbi1zdXJmYWNlIC0gVGhlIHRleHQgY29sb3IgdmFyaWFibGUgZm9yIGNvbnRlbnQgb24gc3VyZmFjZS5cbi8vL1xuLy8vIEBzdWJncm91cCB7bGlnaHR9XG4vLy8gW2xpZ2h0LXN1YnRsZSwgbGlnaHQtc3VidGxlLWhvdmVyLCBsaWdodC1zdWJ0bGUtYWN0aXZlLFxuLy8vIGxpZ2h0LCBsaWdodC1ob3ZlciwgbGlnaHQtYWN0aXZlLCBsaWdodC1lbXBoYXNpcyxcbi8vLyBsaWdodC1vbi1zdWJ0bGUsIG9uLWxpZ2h0LCBsaWdodC1vbi1zdXJmYWNlXVxuLy8vIFRoZSBMaWdodCB2YXJpYWJsZSBncm91cC5cbi8vLyBAcHJvcCB7Q29sb3J9IGxpZ2h0LXN1YnRsZSAtIFRoZSBsaWdodCBzdWJ0bGUgYmFja2dyb3VuZCBjb2xvciB2YXJpYWJsZS5cbi8vLyBAcHJvcCB7Q29sb3J9IGxpZ2h0LXN1YnRsZS1ob3ZlciAtIFRoZSBsaWdodCBzdWJ0bGUgYmFja2dyb3VuZCBjb2xvciB2YXJpYWJsZSBmb3IgdGhlIGhvdmVyIHN0YXRlLlxuLy8vIEBwcm9wIHtDb2xvcn0gbGlnaHQtc3VidGxlLWFjdGl2ZSAtIFRoZSBsaWdodCBzdWJ0bGUgYmFja2dyb3VuZCBjb2xvciB2YXJpYWJsZSBmb3IgdGhlIGFjdGl2ZSBzdGF0ZS5cbi8vLyBAcHJvcCB7Q29sb3J9IGxpZ2h0IC0gVGhlIGxpZ2h0IGJhY2tncm91bmQgY29sb3IgdmFyaWFibGUuXG4vLy8gQHByb3Age0NvbG9yfSBsaWdodC1ob3ZlciAtIFRoZSBsaWdodCBiYWNrZ3JvdW5kIGNvbG9yIHZhcmlhYmxlIGZvciB0aGUgaG92ZXIgc3RhdGUuXG4vLy8gQHByb3Age0NvbG9yfSBsaWdodC1hY3RpdmUgLSBUaGUgbGlnaHQgYmFja2dyb3VuZCBjb2xvciB2YXJpYWJsZSBmb3IgdGhlIGFjdGl2ZSBzdGF0ZS5cbi8vLyBAcHJvcCB7Q29sb3J9IGxpZ2h0LWVtcGhhc2lzIC0gVGhlIGVtcGhhc2l6ZWQgbGlnaHQgY29sb3IgdmFyaWFibGUuXG4vLy8gQHByb3Age0NvbG9yfSBsaWdodC1vbi1zdWJ0bGUgLSBUaGUgdGV4dCBjb2xvciB2YXJpYWJsZSBmb3IgY29udGVudCBvbiBsaWdodCBzdWJ0bGUuXG4vLy8gQHByb3Age0NvbG9yfSBvbi1saWdodCAtIFRoZSB0ZXh0IGNvbG9yIHZhcmlhYmxlIGZvciBjb250ZW50IG9uIGxpZ2h0LlxuLy8vIEBwcm9wIHtDb2xvcn0gbGlnaHQtb24tc3VyZmFjZSAtIFRoZSB0ZXh0IGNvbG9yIHZhcmlhYmxlIGZvciBjb250ZW50IG9uIHN1cmZhY2UuXG4vLy9cbi8vLyBAc3ViZ3JvdXAge2Rhcmt9XG4vLy8gW2Rhcmstc3VidGxlLCBkYXJrLXN1YnRsZS1ob3ZlciwgZGFyay1zdWJ0bGUtYWN0aXZlLFxuLy8vIGRhcmssIGRhcmstaG92ZXIsIGRhcmstYWN0aXZlLCBkYXJrLWVtcGhhc2lzLFxuLy8vIGRhcmstb24tc3VidGxlLCBvbi1kYXJrLCBkYXJrLW9uLXN1cmZhY2VdXG4vLy8gVGhlIERhcmsgdmFyaWFibGUgZ3JvdXAuXG4vLy8gQHByb3Age0NvbG9yfSBkYXJrLXN1YnRsZSAtIFRoZSBkYXJrIHN1YnRsZSBiYWNrZ3JvdW5kIGNvbG9yIHZhcmlhYmxlLlxuLy8vIEBwcm9wIHtDb2xvcn0gZGFyay1zdWJ0bGUtaG92ZXIgLSBUaGUgZGFyayBzdWJ0bGUgYmFja2dyb3VuZCBjb2xvciB2YXJpYWJsZSBmb3IgdGhlIGhvdmVyIHN0YXRlLlxuLy8vIEBwcm9wIHtDb2xvcn0gZGFyay1zdWJ0bGUtYWN0aXZlIC0gVGhlIGRhcmsgc3VidGxlIGJhY2tncm91bmQgY29sb3IgdmFyaWFibGUgZm9yIHRoZSBhY3RpdmUgc3RhdGUuXG4vLy8gQHByb3Age0NvbG9yfSBkYXJrIC0gVGhlIGRhcmsgYmFja2dyb3VuZCBjb2xvciB2YXJpYWJsZS5cbi8vLyBAcHJvcCB7Q29sb3J9IGRhcmstaG92ZXIgLSBUaGUgZGFyayBiYWNrZ3JvdW5kIGNvbG9yIHZhcmlhYmxlIGZvciB0aGUgaG92ZXIgc3RhdGUuXG4vLy8gQHByb3Age0NvbG9yfSBkYXJrLWFjdGl2ZSAtIFRoZSBkYXJrIGJhY2tncm91bmQgY29sb3IgdmFyaWFibGUgZm9yIHRoZSBhY3RpdmUgc3RhdGUuXG4vLy8gQHByb3Age0NvbG9yfSBkYXJrLWVtcGhhc2lzIC0gVGhlIGVtcGhhc2l6ZWQgZGFyayBjb2xvciB2YXJpYWJsZS5cbi8vLyBAcHJvcCB7Q29sb3J9IGRhcmstb24tc3VidGxlIC0gVGhlIHRleHQgY29sb3IgdmFyaWFibGUgZm9yIGNvbnRlbnQgb24gZGFyayBzdWJ0bGUuXG4vLy8gQHByb3Age0NvbG9yfSBvbi1kYXJrIC0gVGhlIHRleHQgY29sb3IgdmFyaWFibGUgZm9yIGNvbnRlbnQgb24gZGFyay5cbi8vLyBAcHJvcCB7Q29sb3J9IGRhcmstb24tc3VyZmFjZSAtIFRoZSB0ZXh0IGNvbG9yIHZhcmlhYmxlIGZvciBjb250ZW50IG9uIHN1cmZhY2UuXG4vLy9cbi8vLyBAc3ViZ3JvdXAge2ludmVyc2V9XG4vLy8gW2ludmVyc2Utc3VidGxlLCBpbnZlcnNlLXN1YnRsZS1ob3ZlciwgaW52ZXJzZS1zdWJ0bGUtYWN0aXZlLFxuLy8vIGludmVyc2UsIGludmVyc2UtaG92ZXIsIGludmVyc2UtYWN0aXZlLCBpbnZlcnNlLWVtcGhhc2lzLFxuLy8vIGludmVyc2Utb24tc3VidGxlLCBvbi1pbnZlcnNlLCBpbnZlcnNlLW9uLXN1cmZhY2VdXG4vLy8gVGhlIEludmVyc2UgdmFyaWFibGUgZ3JvdXAuXG4vLy8gQHByb3Age0NvbG9yfSBpbnZlcnNlLXN1YnRsZSAtIFRoZSBpbnZlcnNlIHN1YnRsZSBiYWNrZ3JvdW5kIGNvbG9yIHZhcmlhYmxlLlxuLy8vIEBwcm9wIHtDb2xvcn0gaW52ZXJzZS1zdWJ0bGUtaG92ZXIgLSBUaGUgaW52ZXJzZSBzdWJ0bGUgYmFja2dyb3VuZCBjb2xvciB2YXJpYWJsZSBmb3IgdGhlIGhvdmVyIHN0YXRlLlxuLy8vIEBwcm9wIHtDb2xvcn0gaW52ZXJzZS1zdWJ0bGUtYWN0aXZlIC0gVGhlIGludmVyc2Ugc3VidGxlIGJhY2tncm91bmQgY29sb3IgdmFyaWFibGUgZm9yIHRoZSBhY3RpdmUgc3RhdGUuXG4vLy8gQHByb3Age0NvbG9yfSBpbnZlcnNlIC0gVGhlIGludmVyc2UgYmFja2dyb3VuZCBjb2xvciB2YXJpYWJsZS5cbi8vLyBAcHJvcCB7Q29sb3J9IGludmVyc2UtaG92ZXIgLSBUaGUgaW52ZXJzZSBiYWNrZ3JvdW5kIGNvbG9yIHZhcmlhYmxlIGZvciB0aGUgaG92ZXIgc3RhdGUuXG4vLy8gQHByb3Age0NvbG9yfSBpbnZlcnNlLWFjdGl2ZSAtIFRoZSBpbnZlcnNlIGJhY2tncm91bmQgY29sb3IgdmFyaWFibGUgZm9yIHRoZSBhY3RpdmUgc3RhdGUuXG4vLy8gQHByb3Age0NvbG9yfSBpbnZlcnNlLWVtcGhhc2lzIC0gVGhlIGVtcGhhc2l6ZWQgaW52ZXJzZSBjb2xvciB2YXJpYWJsZS5cbi8vLyBAcHJvcCB7Q29sb3J9IGludmVyc2Utb24tc3VidGxlIC0gVGhlIHRleHQgY29sb3IgdmFyaWFibGUgZm9yIGNvbnRlbnQgb24gaW52ZXJzZSBzdWJ0bGUuXG4vLy8gQHByb3Age0NvbG9yfSBvbi1pbnZlcnNlIC0gVGhlIHRleHQgY29sb3IgdmFyaWFibGUgZm9yIGNvbnRlbnQgb24gaW52ZXJzZS5cbi8vLyBAcHJvcCB7Q29sb3J9IGludmVyc2Utb24tc3VyZmFjZSAtIFRoZSB0ZXh0IGNvbG9yIHZhcmlhYmxlIGZvciBjb250ZW50IG9uIHN1cmZhY2UuXG4vLy9cbi8vLyBAc3ViZ3JvdXAge3Nlcmllcy1hfVxuLy8vIFtzZXJpZXMtYSwgc2VyaWVzLWEtYm9sZCwgc2VyaWVzLWEtYm9sZGVyLFxuLy8vIHNlcmllcy1hLXN1YnRsZSwgc2VyaWVzLWEtc3VidGxlcl1cbi8vLyBUaGUgU2VyaWVzIEEgdmFyaWFibGUgZ3JvdXAuXG4vLy8gQHByb3Age0NvbG9yfSBzZXJpZXMtYSAtIFRoZSBzZXJpZXMgQSBjb2xvciB2YXJpYWJsZS5cbi8vLyBAcHJvcCB7Q29sb3J9IHNlcmllcy1hLWJvbGQgLSBUaGUgYm9sZCBzZXJpZXMgQSBjb2xvciB2YXJpYWJsZS5cbi8vLyBAcHJvcCB7Q29sb3J9IHNlcmllcy1hLWJvbGRlciAtIFRoZSBib2xkZXIgc2VyaWVzIEEgY29sb3IgdmFyaWFibGUuXG4vLy8gQHByb3Age0NvbG9yfSBzZXJpZXMtYS1zdWJ0bGUgLSBUaGUgc3VidGxlIHNlcmllcyBBIGNvbG9yIHZhcmlhYmxlLlxuLy8vIEBwcm9wIHtDb2xvcn0gc2VyaWVzLWEtc3VidGxlciAtIFRoZSBzdWJ0bGVyIHNlcmllcyBBIGNvbG9yIHZhcmlhYmxlLlxuLy8vXG4vLy8gQHN1Ymdyb3VwIHtzZXJpZXMtYn1cbi8vLyBbc2VyaWVzLWIsIHNlcmllcy1iLWJvbGQsIHNlcmllcy1iLWJvbGRlcixcbi8vLyBzZXJpZXMtYi1zdWJ0bGUsIHNlcmllcy1iLXN1YnRsZXJdXG4vLy8gVGhlIFNlcmllcyBCIHZhcmlhYmxlIGdyb3VwLlxuLy8vIEBwcm9wIHtDb2xvcn0gc2VyaWVzLWIgLSBUaGUgc2VyaWVzIEIgY29sb3IgdmFyaWFibGUuXG4vLy8gQHByb3Age0NvbG9yfSBzZXJpZXMtYi1ib2xkIC0gVGhlIGJvbGQgc2VyaWVzIEIgY29sb3IgdmFyaWFibGUuXG4vLy8gQHByb3Age0NvbG9yfSBzZXJpZXMtYi1ib2xkZXIgLSBUaGUgYm9sZGVyIHNlcmllcyBCIGNvbG9yIHZhcmlhYmxlLlxuLy8vIEBwcm9wIHtDb2xvcn0gc2VyaWVzLWItc3VidGxlIC0gVGhlIHN1YnRsZSBzZXJpZXMgQiBjb2xvciB2YXJpYWJsZS5cbi8vLyBAcHJvcCB7Q29sb3J9IHNlcmllcy1iLXN1YnRsZXIgLSBUaGUgc3VidGxlciBzZXJpZXMgQiBjb2xvciB2YXJpYWJsZS5cbi8vL1xuLy8vIEBzdWJncm91cCB7c2VyaWVzLWN9XG4vLy8gW3Nlcmllcy1jLCBzZXJpZXMtYy1ib2xkLCBzZXJpZXMtYy1ib2xkZXIsXG4vLy8gc2VyaWVzLWMtc3VidGxlLCBzZXJpZXMtYy1zdWJ0bGVyXVxuLy8vIFRoZSBTZXJpZXMgQyB2YXJpYWJsZSBncm91cC5cbi8vLyBAcHJvcCB7Q29sb3J9IHNlcmllcy1jIC0gVGhlIHNlcmllcyBDIGNvbG9yIHZhcmlhYmxlLlxuLy8vIEBwcm9wIHtDb2xvcn0gc2VyaWVzLWMtYm9sZCAtIFRoZSBib2xkIHNlcmllcyBDIGNvbG9yIHZhcmlhYmxlLlxuLy8vIEBwcm9wIHtDb2xvcn0gc2VyaWVzLWMtYm9sZGVyIC0gVGhlIGJvbGRlciBzZXJpZXMgQyBjb2xvciB2YXJpYWJsZS5cbi8vLyBAcHJvcCB7Q29sb3J9IHNlcmllcy1jLXN1YnRsZSAtIFRoZSBzdWJ0bGUgc2VyaWVzIEMgY29sb3IgdmFyaWFibGUuXG4vLy8gQHByb3Age0NvbG9yfSBzZXJpZXMtYy1zdWJ0bGVyIC0gVGhlIHN1YnRsZXIgc2VyaWVzIEMgY29sb3IgdmFyaWFibGUuXG4vLy9cbi8vLyBAc3ViZ3JvdXAge3Nlcmllcy1kfVxuLy8vIFtzZXJpZXMtZCwgc2VyaWVzLWQtYm9sZCwgc2VyaWVzLWQtYm9sZGVyLFxuLy8vIHNlcmllcy1kLXN1YnRsZSwgc2VyaWVzLWQtc3VidGxlcl1cbi8vLyBUaGUgU2VyaWVzIEQgdmFyaWFibGUgZ3JvdXAuXG4vLy8gQHByb3Age0NvbG9yfSBzZXJpZXMtZCAtIFRoZSBzZXJpZXMgRCBjb2xvciB2YXJpYWJsZS5cbi8vLyBAcHJvcCB7Q29sb3J9IHNlcmllcy1kLWJvbGQgLSBUaGUgYm9sZCBzZXJpZXMgRCBjb2xvciB2YXJpYWJsZS5cbi8vLyBAcHJvcCB7Q29sb3J9IHNlcmllcy1kLWJvbGRlciAtIFRoZSBib2xkZXIgc2VyaWVzIEQgY29sb3IgdmFyaWFibGUuXG4vLy8gQHByb3Age0NvbG9yfSBzZXJpZXMtZC1zdWJ0bGUgLSBUaGUgc3VidGxlIHNlcmllcyBEIGNvbG9yIHZhcmlhYmxlLlxuLy8vIEBwcm9wIHtDb2xvcn0gc2VyaWVzLWQtc3VidGxlciAtIFRoZSBzdWJ0bGVyIHNlcmllcyBEIGNvbG9yIHZhcmlhYmxlLlxuLy8vXG4vLy8gQHN1Ymdyb3VwIHtzZXJpZXMtZX1cbi8vLyBbc2VyaWVzLWUsIHNlcmllcy1lLWJvbGQsIHNlcmllcy1lLWJvbGRlcixcbi8vLyBzZXJpZXMtZS1zdWJ0bGUsIHNlcmllcy1lLXN1YnRsZXJdXG4vLy8gVGhlIFNlcmllcyBFIHZhcmlhYmxlIGdyb3VwLlxuLy8vIEBwcm9wIHtDb2xvcn0gc2VyaWVzLWUgLSBUaGUgc2VyaWVzIEUgY29sb3IgdmFyaWFibGUuXG4vLy8gQHByb3Age0NvbG9yfSBzZXJpZXMtZS1ib2xkIC0gVGhlIGJvbGQgc2VyaWVzIEUgY29sb3IgdmFyaWFibGUuXG4vLy8gQHByb3Age0NvbG9yfSBzZXJpZXMtZS1ib2xkZXIgLSBUaGUgYm9sZGVyIHNlcmllcyBFIGNvbG9yIHZhcmlhYmxlLlxuLy8vIEBwcm9wIHtDb2xvcn0gc2VyaWVzLWUtc3VidGxlIC0gVGhlIHN1YnRsZSBzZXJpZXMgRSBjb2xvciB2YXJpYWJsZS5cbi8vLyBAcHJvcCB7Q29sb3J9IHNlcmllcy1lLXN1YnRsZXIgLSBUaGUgc3VidGxlciBzZXJpZXMgRSBjb2xvciB2YXJpYWJsZS5cbi8vL1xuLy8vIEBzdWJncm91cCB7c2VyaWVzLWZ9XG4vLy8gW3Nlcmllcy1mLCBzZXJpZXMtZi1ib2xkLCBzZXJpZXMtZi1ib2xkZXIsXG4vLy8gc2VyaWVzLWYtc3VidGxlLCBzZXJpZXMtZi1zdWJ0bGVyXVxuLy8vIFRoZSBTZXJpZXMgRiB2YXJpYWJsZSBncm91cC5cbi8vLyBAcHJvcCB7Q29sb3J9IHNlcmllcy1mIC0gVGhlIHNlcmllcyBGIGNvbG9yIHZhcmlhYmxlLlxuLy8vIEBwcm9wIHtDb2xvcn0gc2VyaWVzLWYtYm9sZCAtIFRoZSBib2xkIHNlcmllcyBGIGNvbG9yIHZhcmlhYmxlLlxuLy8vIEBwcm9wIHtDb2xvcn0gc2VyaWVzLWYtYm9sZGVyIC0gVGhlIGJvbGRlciBzZXJpZXMgRiBjb2xvciB2YXJpYWJsZS5cbi8vLyBAcHJvcCB7Q29sb3J9IHNlcmllcy1mLXN1YnRsZSAtIFRoZSBzdWJ0bGUgc2VyaWVzIEYgY29sb3IgdmFyaWFibGUuXG4vLy8gQHByb3Age0NvbG9yfSBzZXJpZXMtZi1zdWJ0bGVyIC0gVGhlIHN1YnRsZXIgc2VyaWVzIEYgY29sb3IgdmFyaWFibGUuXG4ka2VuZG8tY29sb3JzOiAkX2RlZmF1bHQtY29sb3JzICFkZWZhdWx0O1xuJGtlbmRvLWNvbG9yczogbWFwLm1lcmdlKCRfZGVmYXVsdC1jb2xvcnMsICRrZW5kby1jb2xvcnMpO1xuXG5AbWl4aW4ga2VuZG8tY29sb3Itc3lzdGVtLS1zdHlsZXMoKSB7XG4gICAgQGlmICgka2VuZG8tZW5hYmxlLWNvbG9yLXN5c3RlbSkge1xuICAgICAgICA6cm9vdCB7XG4gICAgICAgICAgICBAZWFjaCAka2V5LCAkdmFsdWUgaW4gJGtlbmRvLWNvbG9ycyB7XG4gICAgICAgICAgICAgICAgQGlmKCR2YWx1ZSkge1xuICAgICAgICAgICAgICAgICAgICAtLWtlbmRvLWNvbG9yLSN7JGtleX06ICN7JHZhbHVlfTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG59XG4iLCJAbWl4aW4ga2VuZG8tY29yZS0tc3R5bGVzLS1hY2Nlc3NpYmlsaXR5KCkge1xuXG4gICAgLy8vIFRoaXMgY2xhc3MgY291bGQgYmUgYXNzaWduZWQgdG8gZWxlbWVudHMgd2hpY2ggc2hvdWxkIGJlIHZpc3VhbGx5IGhpZGRlbiwgYnV0IHJlbWFpbiBhY2Nlc3NpYmxlIGZvciBzY3JlZW4gcmVhZGVycy5cbiAgICAvLy8gQG5hbWUgLmstc3Itb25seVxuICAgIC8vLyBAZ3JvdXAgYWNjZXNzaWJpbGl0eVxuICAgIC5rLXNyLW9ubHkge1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIGxlZnQ6IC0xcHg7XG4gICAgICAgIHdpZHRoOiAxcHg7XG4gICAgICAgIGhlaWdodDogMXB4O1xuICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIH1cblxufVxuIiwiQG1peGluIGtlbmRvLWNvcmUtLXN0eWxlcy0tYW5pbWF0aW9ucygpIHtcblxuICAgIC8vIEFuaW1hdGlvbnNcbiAgICAuay1wdXNoLXJpZ2h0IHtcbiAgICAgICAgJi1lbnRlcixcbiAgICAgICAgJi1hcHBlYXIge1xuICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTEwMCUsIDApO1xuICAgICAgICB9XG5cbiAgICAgICAgJi1lbnRlci1hY3RpdmUsXG4gICAgICAgICYtYXBwZWFyLWFjdGl2ZSB7XG4gICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgwLCAwKTtcbiAgICAgICAgICAgIHRyYW5zaXRpb246IHRyYW5zZm9ybSAzMDBtcyBlYXNlLWluLW91dDtcbiAgICAgICAgfVxuXG4gICAgICAgICYtZXhpdCB7XG4gICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgwLCAwKTtcbiAgICAgICAgfVxuXG4gICAgICAgICYtZXhpdC1hY3RpdmUge1xuICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoMTAwJSwgMCk7XG4gICAgICAgICAgICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMzAwbXMgZWFzZS1pbi1vdXQ7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAuay1wdXNoLWxlZnQge1xuICAgICAgICAmLWVudGVyLFxuICAgICAgICAmLWFwcGVhciB7XG4gICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgxMDAlLCAwKTtcbiAgICAgICAgfVxuXG4gICAgICAgICYtZW50ZXItYWN0aXZlLFxuICAgICAgICAmLWFwcGVhci1hY3RpdmUge1xuICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoMCwgMCk7XG4gICAgICAgICAgICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMzAwbXMgZWFzZS1pbi1vdXQ7XG4gICAgICAgIH1cblxuICAgICAgICAmLWV4aXQge1xuICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoMCwgMCk7XG4gICAgICAgIH1cblxuICAgICAgICAmLWV4aXQtYWN0aXZlIHtcbiAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKC0xMDAlLCAwKTtcbiAgICAgICAgICAgIHRyYW5zaXRpb246IHRyYW5zZm9ybSAzMDBtcyBlYXNlLWluLW91dDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5rLXB1c2gtZG93biB7XG4gICAgICAgICYtZW50ZXIsXG4gICAgICAgICYtYXBwZWFyIHtcbiAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKDAsIC0xMDAlKTtcbiAgICAgICAgfVxuXG4gICAgICAgICYtZW50ZXItYWN0aXZlLFxuICAgICAgICAmLWFwcGVhci1hY3RpdmUge1xuICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoMCwgMCk7XG4gICAgICAgICAgICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMzAwbXMgZWFzZS1pbi1vdXQ7XG4gICAgICAgIH1cblxuICAgICAgICAmLWV4aXQge1xuICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoMCwgMCk7XG4gICAgICAgIH1cblxuICAgICAgICAmLWV4aXQtYWN0aXZlIHtcbiAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKDAsIDEwMCUpO1xuICAgICAgICAgICAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDMwMG1zIGVhc2UtaW4tb3V0O1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLmstcHVzaC11cCB7XG4gICAgICAgICYtZW50ZXIsXG4gICAgICAgICYtYXBwZWFyIHtcbiAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKDAsIDEwMCUpO1xuICAgICAgICB9XG5cbiAgICAgICAgJi1lbnRlci1hY3RpdmUsXG4gICAgICAgICYtYXBwZWFyLWFjdGl2ZSB7XG4gICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgwLCAwKTtcbiAgICAgICAgICAgIHRyYW5zaXRpb246IHRyYW5zZm9ybSAzMDBtcyBlYXNlLWluLW91dDtcbiAgICAgICAgfVxuXG4gICAgICAgICYtZXhpdCB7XG4gICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgwLCAwKTtcbiAgICAgICAgfVxuXG4gICAgICAgICYtZXhpdC1hY3RpdmUge1xuICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoMCwgLTEwMCUpO1xuICAgICAgICAgICAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDMwMG1zIGVhc2UtaW4tb3V0O1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLmstZXhwYW5kLXZlcnRpY2FsIHtcbiAgICAgICAgJi1lbnRlcixcbiAgICAgICAgJi1hcHBlYXIge1xuICAgICAgICAgICAgdHJhbnNmb3JtOiBzY2FsZVkoMCk7XG4gICAgICAgIH1cblxuICAgICAgICAmLWVudGVyLWFjdGl2ZSxcbiAgICAgICAgJi1hcHBlYXItYWN0aXZlIHtcbiAgICAgICAgICAgIHRyYW5zZm9ybTogc2NhbGVZKDEpO1xuICAgICAgICAgICAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDMwMG1zIGVhc2UtaW4tb3V0O1xuICAgICAgICB9XG5cbiAgICAgICAgJi1leGl0IHtcbiAgICAgICAgICAgIHRyYW5zZm9ybTogc2NhbGVZKDEpO1xuICAgICAgICB9XG5cbiAgICAgICAgJi1leGl0LWFjdGl2ZSB7XG4gICAgICAgICAgICB0cmFuc2Zvcm06IHNjYWxlWSgwKTtcbiAgICAgICAgICAgIHRyYW5zaXRpb246IHRyYW5zZm9ybSAzMDBtcyBlYXNlLWluLW91dDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5rLWV4cGFuZC1ob3Jpem9udGFsIHtcbiAgICAgICAgJi1lbnRlcixcbiAgICAgICAgJi1hcHBlYXIge1xuICAgICAgICAgICAgdHJhbnNmb3JtOiBzY2FsZVgoMCk7XG4gICAgICAgIH1cblxuICAgICAgICAmLWVudGVyLWFjdGl2ZSxcbiAgICAgICAgJi1hcHBlYXItYWN0aXZlIHtcbiAgICAgICAgICAgIHRyYW5zZm9ybTogc2NhbGVYKDEpO1xuICAgICAgICAgICAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDMwMG1zIGVhc2UtaW4tb3V0O1xuICAgICAgICB9XG5cbiAgICAgICAgJi1leGl0IHtcbiAgICAgICAgICAgIHRyYW5zZm9ybTogc2NhbGVYKDEpO1xuICAgICAgICB9XG5cbiAgICAgICAgJi1leGl0LWFjdGl2ZSB7XG4gICAgICAgICAgICB0cmFuc2Zvcm06IHNjYWxlWCgwKTtcbiAgICAgICAgICAgIHRyYW5zaXRpb246IHRyYW5zZm9ybSAzMDBtcyBlYXNlLWluLW91dDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5rLWZhZGUge1xuICAgICAgICAmLWVudGVyLFxuICAgICAgICAmLWFwcGVhciB7XG4gICAgICAgICAgICBvcGFjaXR5OiAwO1xuICAgICAgICB9XG5cbiAgICAgICAgJi1lbnRlci1hY3RpdmUsXG4gICAgICAgICYtYXBwZWFyLWFjdGl2ZSB7XG4gICAgICAgICAgICBvcGFjaXR5OiAxO1xuICAgICAgICAgICAgdHJhbnNpdGlvbjogb3BhY2l0eSA1MDBtcyBlYXNlLWluLW91dDtcbiAgICAgICAgfVxuXG4gICAgICAgICYtZXhpdCB7XG4gICAgICAgICAgICBvcGFjaXR5OiAxO1xuICAgICAgICB9XG5cbiAgICAgICAgJi1leGl0LWFjdGl2ZSB7XG4gICAgICAgICAgICBvcGFjaXR5OiAwO1xuICAgICAgICAgICAgdHJhbnNpdGlvbjogb3BhY2l0eSA1MDBtcyBlYXNlLWluLW91dDtcbiAgICAgICAgfVxuXG4gICAgICAgICYtZXhpdC1hY3RpdmUgKyAmLWV4aXQtYWN0aXZlLFxuICAgICAgICAmLWVudGVyLWFjdGl2ZSArICYtZW50ZXItYWN0aXZlIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAuay16b29tLWluIHtcbiAgICAgICAgJi1lbnRlcixcbiAgICAgICAgJi1hcHBlYXIge1xuICAgICAgICAgICAgb3BhY2l0eTogMDtcbiAgICAgICAgICAgIHRyYW5zZm9ybTogc2NhbGUoMCk7XG4gICAgICAgIH1cblxuICAgICAgICAmLWVudGVyLWFjdGl2ZSxcbiAgICAgICAgJi1hcHBlYXItYWN0aXZlIHtcbiAgICAgICAgICAgIG9wYWNpdHk6IDE7XG4gICAgICAgICAgICB0cmFuc2Zvcm06IHNjYWxlKDEpO1xuICAgICAgICAgICAgdHJhbnNpdGlvbjogdHJhbnNmb3JtLCBvcGFjaXR5IDMwMG1zIGVhc2UtaW4tb3V0O1xuICAgICAgICB9XG5cbiAgICAgICAgJi1leGl0IHtcbiAgICAgICAgICAgIG9wYWNpdHk6IDE7XG4gICAgICAgICAgICB0cmFuc2Zvcm06IHNjYWxlKDEpO1xuICAgICAgICB9XG5cbiAgICAgICAgJi1leGl0LWFjdGl2ZSB7XG4gICAgICAgICAgICBvcGFjaXR5OiAwO1xuICAgICAgICAgICAgdHJhbnNmb3JtOiBzY2FsZSgyKTtcbiAgICAgICAgICAgIHRyYW5zaXRpb246IHRyYW5zZm9ybSwgb3BhY2l0eSAzMDBtcyBlYXNlLWluLW91dDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5rLXpvb20tb3V0IHtcbiAgICAgICAgJi1lbnRlcixcbiAgICAgICAgJi1hcHBlYXIge1xuICAgICAgICAgICAgb3BhY2l0eTogMDtcbiAgICAgICAgICAgIHRyYW5zZm9ybTogc2NhbGUoMik7XG4gICAgICAgIH1cblxuICAgICAgICAmLWVudGVyLWFjdGl2ZSxcbiAgICAgICAgJi1hcHBlYXItYWN0aXZlIHtcbiAgICAgICAgICAgIG9wYWNpdHk6IDE7XG4gICAgICAgICAgICB0cmFuc2Zvcm06IHNjYWxlKDEpO1xuICAgICAgICAgICAgdHJhbnNpdGlvbjogdHJhbnNmb3JtLCBvcGFjaXR5IDMwMG1zIGVhc2UtaW4tb3V0O1xuICAgICAgICB9XG5cbiAgICAgICAgJi1leGl0IHtcbiAgICAgICAgICAgIG9wYWNpdHk6IDE7XG4gICAgICAgICAgICB0cmFuc2Zvcm06IHNjYWxlKDEpO1xuICAgICAgICB9XG5cbiAgICAgICAgJi1leGl0LWFjdGl2ZSB7XG4gICAgICAgICAgICBvcGFjaXR5OiAwO1xuICAgICAgICAgICAgdHJhbnNmb3JtOiBzY2FsZSgwKTtcbiAgICAgICAgICAgIHRyYW5zaXRpb246IHRyYW5zZm9ybSwgb3BhY2l0eSAzMDBtcyBlYXNlLWluLW91dDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5rLXNsaWRlLWluIHtcbiAgICAgICAgJi1hcHBlYXIge1xuICAgICAgICAgICAgb3BhY2l0eTogLjE7XG4gICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgwLCAtM2VtKTtcblxuICAgICAgICAgICAgLmstY2VudGVyZWQge1xuICAgICAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIC02MCUpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgJi1hcHBlYXItYWN0aXZlIHtcbiAgICAgICAgICAgIG9wYWNpdHk6IDE7XG4gICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgwLCAwKTtcbiAgICAgICAgICAgIHRyYW5zaXRpb246IHRyYW5zZm9ybSAuM3MgY3ViaWMtYmV6aWVyKC4yLCAuNiwgLjQsIDEpLCBvcGFjaXR5IC4zcyBjdWJpYy1iZXppZXIoLjIsIDEsIC4yLCAxKTtcblxuICAgICAgICAgICAgLmstY2VudGVyZWQge1xuICAgICAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIC01MCUpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgLmstc2xpZGUtZG93biB7XG4gICAgICAgICYtZW50ZXIsXG4gICAgICAgICYtYXBwZWFyIHtcbiAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMTAwJSk7XG4gICAgICAgIH1cblxuICAgICAgICAmLWVudGVyLWFjdGl2ZSxcbiAgICAgICAgJi1hcHBlYXItYWN0aXZlIHtcbiAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTtcbiAgICAgICAgICAgIHRyYW5zaXRpb246IHRyYW5zZm9ybSAzMDBtcyBlYXNlLWluLW91dDtcbiAgICAgICAgfVxuXG4gICAgICAgICYtZXhpdCB7XG4gICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCk7XG4gICAgICAgIH1cblxuICAgICAgICAmLWV4aXQtYWN0aXZlIHtcbiAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMTAwJSk7XG4gICAgICAgICAgICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMzAwbXMgZWFzZS1pbi1vdXQ7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAuay1zbGlkZS11cCB7XG4gICAgICAgICYtZW50ZXIsXG4gICAgICAgICYtYXBwZWFyIHtcbiAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgxMDAlKTtcbiAgICAgICAgfVxuXG4gICAgICAgICYtZW50ZXItYWN0aXZlLFxuICAgICAgICAmLWFwcGVhci1hY3RpdmUge1xuICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApO1xuICAgICAgICAgICAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDMwMG1zIGVhc2UtaW4tb3V0O1xuICAgICAgICB9XG5cbiAgICAgICAgJi1leGl0IHtcbiAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTtcbiAgICAgICAgfVxuXG4gICAgICAgICYtZXhpdC1hY3RpdmUge1xuICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDEwMCUpO1xuICAgICAgICAgICAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDMwMG1zIGVhc2UtaW4tb3V0O1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLmstc2xpZGUtcmlnaHQge1xuICAgICAgICAmLWVudGVyLFxuICAgICAgICAmLWFwcGVhciB7XG4gICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTEwMCUpO1xuICAgICAgICB9XG5cbiAgICAgICAgJi1lbnRlci1hY3RpdmUsXG4gICAgICAgICYtYXBwZWFyLWFjdGl2ZSB7XG4gICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCk7XG4gICAgICAgICAgICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMzAwbXMgZWFzZS1pbi1vdXQ7XG4gICAgICAgIH1cblxuICAgICAgICAmLWV4aXQge1xuICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDApO1xuICAgICAgICB9XG5cbiAgICAgICAgJi1leGl0LWFjdGl2ZSB7XG4gICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTEwMCUpO1xuICAgICAgICAgICAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDMwMG1zIGVhc2UtaW4tb3V0O1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLmstc2xpZGUtbGVmdCB7XG4gICAgICAgICYtZW50ZXIsXG4gICAgICAgICYtYXBwZWFyIHtcbiAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgxMDAlKTtcbiAgICAgICAgfVxuXG4gICAgICAgICYtZW50ZXItYWN0aXZlLFxuICAgICAgICAmLWFwcGVhci1hY3RpdmUge1xuICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDApO1xuICAgICAgICAgICAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDMwMG1zIGVhc2UtaW4tb3V0O1xuICAgICAgICB9XG5cbiAgICAgICAgJi1leGl0IHtcbiAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgwKTtcbiAgICAgICAgfVxuXG4gICAgICAgICYtZXhpdC1hY3RpdmUge1xuICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDEwMCUpO1xuICAgICAgICAgICAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDMwMG1zIGVhc2UtaW4tb3V0O1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLmstcmV2ZWFsLXZlcnRpY2FsIHtcbiAgICAgICAgJi1lbnRlcixcbiAgICAgICAgJi1hcHBlYXIge1xuICAgICAgICAgICAgbWF4LWhlaWdodDogMDtcbiAgICAgICAgfVxuXG4gICAgICAgICYtZW50ZXItYWN0aXZlLFxuICAgICAgICAmLWFwcGVhci1hY3RpdmUge1xuICAgICAgICAgICAgdHJhbnNpdGlvbjogbWF4LWhlaWdodCAzMDBtcyBlYXNlLWluLW91dDtcbiAgICAgICAgfVxuXG4gICAgICAgICYtZXhpdC1hY3RpdmUge1xuICAgICAgICAgICAgLy8gb3ZlcnJpZGUgYW55IG1heC1oZWlnaHQgc2V0IHRvIGVsZW1lbnQgdG8gYWxsb3cgYW5pbWF0aW9uXG4gICAgICAgICAgICBtYXgtaGVpZ2h0OiAwICFpbXBvcnRhbnQ7IC8vIHN0eWxlbGludC1kaXNhYmxlLWxpbmUgZGVjbGFyYXRpb24tbm8taW1wb3J0YW50XG4gICAgICAgICAgICB0cmFuc2l0aW9uOiBtYXgtaGVpZ2h0IDMwMG1zIGVhc2UtaW4tb3V0O1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLmstcmV2ZWFsLWhvcml6b250YWwge1xuICAgICAgICAmLWVudGVyLFxuICAgICAgICAmLWFwcGVhciB7XG4gICAgICAgICAgICBtYXgtd2lkdGg6IDA7XG4gICAgICAgIH1cblxuICAgICAgICAmLWVudGVyLWFjdGl2ZSxcbiAgICAgICAgJi1hcHBlYXItYWN0aXZlIHtcbiAgICAgICAgICAgIHRyYW5zaXRpb246IG1heC13aWR0aCAzMDBtcyBlYXNlLWluLW91dDtcbiAgICAgICAgfVxuXG4gICAgICAgICYtZXhpdC1hY3RpdmUge1xuICAgICAgICAgICAgLy8gb3ZlcnJpZGUgYW55IG1heC1oZWlnaHQgc2V0IHRvIGVsZW1lbnQgdG8gYWxsb3cgYW5pbWF0aW9uXG4gICAgICAgICAgICBtYXgtd2lkdGg6IDAgIWltcG9ydGFudDsgLy8gc3R5bGVsaW50LWRpc2FibGUtbGluZSBkZWNsYXJhdGlvbi1uby1pbXBvcnRhbnRcbiAgICAgICAgICAgIHRyYW5zaXRpb246IG1heC13aWR0aCAzMDBtcyBlYXNlLWluLW91dDtcbiAgICAgICAgfVxuICAgIH1cblxuXG4gICAgLy8gRlhcbiAgICAkZngtZHVyYXRpb246IDM1MG1zO1xuXG4gICAgLmstZngtZW5kIC5rLWZ4LW5leHQsXG4gICAgLmstZngtZW5kIC5rLWZ4LWN1cnJlbnQge1xuICAgICAgICB0cmFuc2l0aW9uOiBhbGwgJGZ4LWR1cmF0aW9uIGVhc2Utb3V0O1xuICAgIH1cblxuICAgIC5rLWZ4IHtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gICAgICAgIC5rLWZ4LWN1cnJlbnQge1xuICAgICAgICAgICAgei1pbmRleDogMDtcbiAgICAgICAgfVxuXG4gICAgICAgIC5rLWZ4LW5leHQge1xuICAgICAgICAgICAgei1pbmRleDogMTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5rLWZ4LWhpZGRlbixcbiAgICAuay1meC1oaWRkZW4gKiB7XG4gICAgICAgIHZpc2liaWxpdHk6IGhpZGRlbiAhaW1wb3J0YW50OyAvLyBzdHlsZWxpbnQtZGlzYWJsZS1saW5lIGRlY2xhcmF0aW9uLW5vLWltcG9ydGFudFxuICAgIH1cblxuICAgIC5rLWZ4LXJldmVyc2Uge1xuICAgICAgICAuay1meC1jdXJyZW50IHtcbiAgICAgICAgICAgIHotaW5kZXg6IDE7XG4gICAgICAgIH1cblxuICAgICAgICAuay1meC1uZXh0IHtcbiAgICAgICAgICAgIHotaW5kZXg6IDA7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBab29tXG4gICAgLy8gc3R5bGVsaW50LWRpc2FibGUgZGVjbGFyYXRpb24tbm8taW1wb3J0YW50XG4gICAgLmstZngtem9vbSB7XG4gICAgICAgICYuay1meC1zdGFydCAuay1meC1uZXh0IHtcbiAgICAgICAgICAgIHRyYW5zZm9ybTogc2NhbGUoMCkgIWltcG9ydGFudDtcbiAgICAgICAgfVxuXG4gICAgICAgICYuay1meC1lbmQgLmstZngtbmV4dCB7XG4gICAgICAgICAgICB0cmFuc2Zvcm06IHNjYWxlKDEpICFpbXBvcnRhbnQ7XG4gICAgICAgIH1cblxuICAgICAgICAmLmstZngtcmV2ZXJzZSB7XG4gICAgICAgICAgICAmLmstZngtc3RhcnQgLmstZngtbmV4dCxcbiAgICAgICAgICAgICYuay1meC1lbmQgLmstZngtbmV4dCB7XG4gICAgICAgICAgICAgICAgdHJhbnNmb3JtOiBzY2FsZSgxKSAhaW1wb3J0YW50O1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAmLmstZngtc3RhcnQgLmstZngtY3VycmVudCB7XG4gICAgICAgICAgICAgICAgdHJhbnNmb3JtOiBzY2FsZSgxKSAhaW1wb3J0YW50O1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAmLmstZngtZW5kIC5rLWZ4LWN1cnJlbnQge1xuICAgICAgICAgICAgICAgIHRyYW5zZm9ybTogc2NhbGUoMCkgIWltcG9ydGFudDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbiAgICAvLyBzdHlsZWxpbnQtZW5hYmxlIGRlY2xhcmF0aW9uLW5vLWltcG9ydGFudFxuXG4gICAgLy8gRmFkZVxuICAgIC5rLWZ4LWZhZGUge1xuICAgICAgICAmLmstZngtc3RhcnQgLmstZngtbmV4dCB7XG4gICAgICAgICAgICB3aWxsLWNoYW5nZTogb3BhY2l0eTtcbiAgICAgICAgICAgIG9wYWNpdHk6IDA7XG4gICAgICAgIH1cblxuICAgICAgICAmLmstZngtZW5kIC5rLWZ4LW5leHQge1xuICAgICAgICAgICAgb3BhY2l0eTogMTtcbiAgICAgICAgfVxuXG4gICAgICAgICYuay1meC1yZXZlcnNlIHtcbiAgICAgICAgICAgICYuay1meC1zdGFydCAuay1meC1jdXJyZW50IHtcbiAgICAgICAgICAgICAgICB3aWxsLWNoYW5nZTogb3BhY2l0eTtcbiAgICAgICAgICAgICAgICBvcGFjaXR5OiAxO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAmLmstZngtZW5kIC5rLWZ4LWN1cnJlbnQge1xuICAgICAgICAgICAgICAgIG9wYWNpdHk6IDA7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBTbGlkZVxuICAgIC5rLWZ4LXNsaWRlIHtcbiAgICAgICAgJi5rLWZ4LWVuZCAuay1meC1uZXh0IC5rLWNvbnRlbnQsXG4gICAgICAgICYuay1meC1lbmQgLmstZngtbmV4dCAuay1oZWFkZXIsXG4gICAgICAgICYuay1meC1lbmQgLmstZngtbmV4dCAuay1mb290ZXIsXG4gICAgICAgICYuay1meC1lbmQgLmstZngtY3VycmVudCAuay1jb250ZW50LFxuICAgICAgICAmLmstZngtZW5kIC5rLWZ4LWN1cnJlbnQgLmstaGVhZGVyLFxuICAgICAgICAmLmstZngtZW5kIC5rLWZ4LWN1cnJlbnQgLmstZm9vdGVyLFxuICAgICAgICAmLmstZngtZW5kIC5rLWZ4LW5leHQgLmttLWNvbnRlbnQsXG4gICAgICAgICYuay1meC1lbmQgLmstZngtbmV4dCAua20taGVhZGVyLFxuICAgICAgICAmLmstZngtZW5kIC5rLWZ4LW5leHQgLmttLWZvb3RlcixcbiAgICAgICAgJi5rLWZ4LWVuZCAuay1meC1jdXJyZW50IC5rbS1jb250ZW50LFxuICAgICAgICAmLmstZngtZW5kIC5rLWZ4LWN1cnJlbnQgLmttLWhlYWRlcixcbiAgICAgICAgJi5rLWZ4LWVuZCAuay1meC1jdXJyZW50IC5rbS1mb290ZXIge1xuICAgICAgICAgICAgdHJhbnNpdGlvbjogYWxsICRmeC1kdXJhdGlvbiBlYXNlLW91dDtcbiAgICAgICAgfVxuXG4gICAgICAgIC8vIGxlZnRcbiAgICAgICAgJi5rLWZ4LXN0YXJ0IC5rLWZ4LW5leHQgLmstY29udGVudCxcbiAgICAgICAgJi5rLWZ4LXN0YXJ0IC5rLWZ4LW5leHQgLmttLWNvbnRlbnQge1xuICAgICAgICAgICAgd2lsbC1jaGFuZ2U6IHRyYW5zZm9ybTtcbiAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgxMDAlKTtcbiAgICAgICAgfVxuXG4gICAgICAgICYuay1meC1zdGFydCAuay1meC1uZXh0IC5rLWhlYWRlcixcbiAgICAgICAgJi5rLWZ4LXN0YXJ0IC5rLWZ4LW5leHQgLmstZm9vdGVyLFxuICAgICAgICAmLmstZngtc3RhcnQgLmstZngtbmV4dCAua20taGVhZGVyLFxuICAgICAgICAmLmstZngtc3RhcnQgLmstZngtbmV4dCAua20tZm9vdGVyIHtcbiAgICAgICAgICAgIHdpbGwtY2hhbmdlOiBvcGFjaXR5O1xuICAgICAgICAgICAgb3BhY2l0eTogMDtcbiAgICAgICAgfVxuXG4gICAgICAgICYuay1meC1lbmQgLmstZngtY3VycmVudCAuay1jb250ZW50LFxuICAgICAgICAmLmstZngtZW5kIC5rLWZ4LWN1cnJlbnQgLmttLWNvbnRlbnQge1xuICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0xMDAlKTtcbiAgICAgICAgfVxuXG4gICAgICAgICYuay1meC1lbmQgLmstZngtbmV4dCAuay1oZWFkZXIsXG4gICAgICAgICYuay1meC1lbmQgLmstZngtbmV4dCAuay1mb290ZXIsXG4gICAgICAgICYuay1meC1lbmQgLmstZngtbmV4dCAua20taGVhZGVyLFxuICAgICAgICAmLmstZngtZW5kIC5rLWZ4LW5leHQgLmttLWZvb3RlciB7XG4gICAgICAgICAgICBvcGFjaXR5OiAxO1xuICAgICAgICB9XG5cbiAgICAgICAgLy8gbGVmdCByZXZlcnNlXG4gICAgICAgICYuay1meC1yZXZlcnNlIHtcbiAgICAgICAgICAgICYuay1meC1zdGFydCAuay1meC1jdXJyZW50IC5rLWNvbnRlbnQsXG4gICAgICAgICAgICAmLmstZngtc3RhcnQgLmstZngtY3VycmVudCAua20tY29udGVudCB7XG4gICAgICAgICAgICAgICAgd2lsbC1jaGFuZ2U6IHRyYW5zZm9ybTtcbiAgICAgICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCk7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICYuay1meC1lbmQgLmstZngtY3VycmVudCAuay1jb250ZW50LFxuICAgICAgICAgICAgJi5rLWZ4LWVuZCAuay1meC1jdXJyZW50IC5rbS1jb250ZW50IHtcbiAgICAgICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMTAwJSk7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICYuay1meC1zdGFydCAuay1meC1uZXh0IC5rLWNvbnRlbnQsXG4gICAgICAgICAgICAmLmstZngtc3RhcnQgLmstZngtbmV4dCAua20tY29udGVudCB7XG4gICAgICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0xMDAlKTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgJi5rLWZ4LWVuZCAuay1meC1uZXh0IC5rLWNvbnRlbnQsXG4gICAgICAgICAgICAmLmstZngtZW5kIC5rLWZ4LW5leHQgLmttLWNvbnRlbnQge1xuICAgICAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgwKTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgJi5rLWZ4LXN0YXJ0IC5rLWZ4LWN1cnJlbnQgLmstaGVhZGVyLFxuICAgICAgICAgICAgJi5rLWZ4LXN0YXJ0IC5rLWZ4LWN1cnJlbnQgLmstZm9vdGVyLFxuICAgICAgICAgICAgJi5rLWZ4LXN0YXJ0IC5rLWZ4LWN1cnJlbnQgLmttLWhlYWRlcixcbiAgICAgICAgICAgICYuay1meC1zdGFydCAuay1meC1jdXJyZW50IC5rbS1mb290ZXIge1xuICAgICAgICAgICAgICAgIHdpbGwtY2hhbmdlOiBvcGFjaXR5O1xuICAgICAgICAgICAgICAgIG9wYWNpdHk6IDE7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICYuay1meC1zdGFydCAuay1meC1uZXh0IC5rLWhlYWRlcixcbiAgICAgICAgICAgICYuay1meC1zdGFydCAuay1meC1uZXh0IC5rLWZvb3RlcixcbiAgICAgICAgICAgICYuay1meC1zdGFydCAuay1meC1uZXh0IC5rbS1oZWFkZXIsXG4gICAgICAgICAgICAmLmstZngtc3RhcnQgLmstZngtbmV4dCAua20tZm9vdGVyIHtcbiAgICAgICAgICAgICAgICBvcGFjaXR5OiAxO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAmLmstZngtZW5kIC5rLWZ4LWN1cnJlbnQgLmstaGVhZGVyLFxuICAgICAgICAgICAgJi5rLWZ4LWVuZCAuay1meC1jdXJyZW50IC5rLWZvb3RlcixcbiAgICAgICAgICAgICYuay1meC1lbmQgLmstZngtY3VycmVudCAua20taGVhZGVyLFxuICAgICAgICAgICAgJi5rLWZ4LWVuZCAuay1meC1jdXJyZW50IC5rbS1mb290ZXIge1xuICAgICAgICAgICAgICAgIG9wYWNpdHk6IDA7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICYuay1meC1lbmQgLmstZngtbmV4dCAuay1oZWFkZXIsXG4gICAgICAgICAgICAmLmstZngtZW5kIC5rLWZ4LW5leHQgLmstZm9vdGVyLFxuICAgICAgICAgICAgJi5rLWZ4LWVuZCAuay1meC1uZXh0IC5rbS1oZWFkZXIsXG4gICAgICAgICAgICAmLmstZngtZW5kIC5rLWZ4LW5leHQgLmttLWZvb3RlciB7XG4gICAgICAgICAgICAgICAgb3BhY2l0eTogMTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC8vIHJpZ2h0XG4gICAgICAgICYuay1meC1yaWdodCB7XG4gICAgICAgICAgICAmLmstZngtc3RhcnQgLmstZngtbmV4dCAuay1jb250ZW50LFxuICAgICAgICAgICAgJi5rLWZ4LXN0YXJ0IC5rLWZ4LW5leHQgLmttLWNvbnRlbnQge1xuICAgICAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtMTAwJSk7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICYuay1meC1lbmQgLmstZngtY3VycmVudCAuay1jb250ZW50LFxuICAgICAgICAgICAgJi5rLWZ4LWVuZCAuay1meC1jdXJyZW50IC5rbS1jb250ZW50IHtcbiAgICAgICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMTAwJSk7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC8vIHJpZ2h0IHJldmVyc2VcbiAgICAgICAgICAgICYuay1meC1yZXZlcnNlIHtcbiAgICAgICAgICAgICAgICAmLmstZngtc3RhcnQgLmstZngtY3VycmVudCAuay1jb250ZW50LFxuICAgICAgICAgICAgICAgICYuay1meC1zdGFydCAuay1meC1jdXJyZW50IC5rbS1jb250ZW50IHtcbiAgICAgICAgICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDApO1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICYuay1meC1lbmQgLmstZngtY3VycmVudCAuay1jb250ZW50LFxuICAgICAgICAgICAgICAgICYuay1meC1lbmQgLmstZngtY3VycmVudCAua20tY29udGVudCB7XG4gICAgICAgICAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtMTAwJSk7XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgJi5rLWZ4LXN0YXJ0IC5rLWZ4LW5leHQgLmstY29udGVudCxcbiAgICAgICAgICAgICAgICAmLmstZngtc3RhcnQgLmstZngtbmV4dCAua20tY29udGVudCB7XG4gICAgICAgICAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgxMDAlKTtcbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAmLmstZngtZW5kIC5rLWZ4LW5leHQgLmstY29udGVudCxcbiAgICAgICAgICAgICAgICAmLmstZngtZW5kIC5rLWZ4LW5leHQgLmttLWNvbnRlbnQge1xuICAgICAgICAgICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCUpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8vIFRpbGVcbiAgICAuay1meC10aWxlIHtcbiAgICAgICAgLy8gbGVmdFxuICAgICAgICAmLmstZngtc3RhcnQgLmstZngtbmV4dCB7XG4gICAgICAgICAgICB3aWxsLWNoYW5nZTogdHJhbnNmb3JtO1xuICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDEwMCUpO1xuICAgICAgICB9XG5cbiAgICAgICAgJi5rLWZ4LWVuZCAuay1meC1jdXJyZW50IHtcbiAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtMTAwJSk7XG4gICAgICAgIH1cblxuICAgICAgICAvLyBsZWZ0IHJldmVyc2VcbiAgICAgICAgJi5rLWZ4LXJldmVyc2Uge1xuICAgICAgICAgICAgJi5rLWZ4LXN0YXJ0IC5rLWZ4LWN1cnJlbnQge1xuICAgICAgICAgICAgICAgIHdpbGwtY2hhbmdlOiB0cmFuc2Zvcm07XG4gICAgICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDApO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAmLmstZngtZW5kIC5rLWZ4LWN1cnJlbnQge1xuICAgICAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgxMDAlKTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgJi5rLWZ4LXN0YXJ0IC5rLWZ4LW5leHQge1xuICAgICAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtMTAwJSk7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICYuay1meC1lbmQgLmstZngtbmV4dCB7XG4gICAgICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDApO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLy8gcmlnaHRcbiAgICAgICAgJi5rLWZ4LXJpZ2h0IHtcbiAgICAgICAgICAgICYuay1meC1zdGFydCAuay1meC1uZXh0IHtcbiAgICAgICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTEwMCUpO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAmLmstZngtZW5kIC5rLWZ4LWN1cnJlbnQge1xuICAgICAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgxMDAlKTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLy8gcmlnaHQgcmV2ZXJzZVxuICAgICAgICAgICAgJi5rLWZ4LXJldmVyc2Uge1xuICAgICAgICAgICAgICAgICYuay1meC1zdGFydCAuay1meC1jdXJyZW50IHtcbiAgICAgICAgICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDApO1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICYuay1meC1lbmQgLmstZngtY3VycmVudCB7XG4gICAgICAgICAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtMTAwJSk7XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgJi5rLWZ4LXN0YXJ0IC5rLWZ4LW5leHQge1xuICAgICAgICAgICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMTAwJSk7XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgJi5rLWZ4LWVuZCAuay1meC1uZXh0IHtcbiAgICAgICAgICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDAlKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBPdmVybGF5XG4gICAgLmstZnguay1meC1vdmVybGF5IHtcbiAgICAgICAgJi5rLWZ4LXN0YXJ0IC5rLWZ4LW5leHQsXG4gICAgICAgICYuay1meC1sZWZ0LmstZngtc3RhcnQgLmstZngtbmV4dCB7XG4gICAgICAgICAgICB3aWxsLWNoYW5nZTogdHJhbnNmb3JtO1xuICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDEwMCUpO1xuICAgICAgICB9XG5cbiAgICAgICAgJi5rLWZ4LXJpZ2h0LmstZngtc3RhcnQgLmstZngtbmV4dCB7XG4gICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTEwMCUpO1xuICAgICAgICB9XG5cbiAgICAgICAgJi5rLWZ4LXVwLmstZngtc3RhcnQgLmstZngtbmV4dCB7XG4gICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMTAwJSk7XG4gICAgICAgIH1cblxuICAgICAgICAmLmstZngtZG93bi5rLWZ4LXN0YXJ0IC5rLWZ4LW5leHQge1xuICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0xMDAlKTtcbiAgICAgICAgfVxuXG4gICAgICAgICYuay1meC1yZXZlcnNlIHtcbiAgICAgICAgICAgICYuay1meC1zdGFydCAuay1meC1uZXh0IHtcbiAgICAgICAgICAgICAgICB0cmFuc2Zvcm06IG5vbmU7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICYuay1meC1zdGFydCAuay1meC1jdXJyZW50IHtcbiAgICAgICAgICAgICAgICB3aWxsLWNoYW5nZTogdHJhbnNmb3JtO1xuICAgICAgICAgICAgICAgIHRyYW5zZm9ybTogbm9uZTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgJi5rLWZ4LWVuZCAuay1meC1jdXJyZW50LFxuICAgICAgICAgICAgJi5rLWZ4LWxlZnQuay1meC1lbmQgLmstZngtY3VycmVudCB7XG4gICAgICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDEwMCUpO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAmLmstZngtcmlnaHQuay1meC1lbmQgLmstZngtY3VycmVudCB7XG4gICAgICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0xMDAlKTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgJi5rLWZ4LXVwLmstZngtZW5kIC5rLWZ4LWN1cnJlbnQge1xuICAgICAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgxMDAlKTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgJi5rLWZ4LWRvd24uay1meC1lbmQgLmstZngtY3VycmVudCB7XG4gICAgICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0xMDAlKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxufVxuIiwiQG1peGluIGtlbmRvLWNvcmUtLXN0eWxlcy0tYXNwLWZhbGxiYWNrKCkge1xuXG4gICAgLmstdGhlbWUtdGVzdC1jbGFzcyxcbiAgICAuay1jb21tb24tdGVzdC1jbGFzcyB7XG4gICAgICAgIG9wYWNpdHk6IDA7XG4gICAgfVxuXG59XG4iLCJAbWl4aW4ga2VuZG8tY29yZS0tc3R5bGVzLS1sYXlvdXQoKSB7XG4gICAgLy8gQmFzaWMgbGF5b3V0XG4gICAgLmstaHN0YWNrIHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgZmxleC1mbG93OiByb3cgbm93cmFwO1xuICAgIH1cbiAgICAuay12c3RhY2sge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBmbGV4LWZsb3c6IGNvbHVtbiBub3dyYXA7XG4gICAgfVxuXG4gICAgLy8gU3BhY2VyXG4gICAgLmstc3BhY2VyIHtcbiAgICAgICAgZmxleDogMSAxIGF1dG87XG4gICAgfVxuICAgIC5rLXNwYWNlci1zaXplZCB7XG4gICAgICAgIGZsZXg6IG5vbmU7XG4gICAgfVxuXG5cbiAgICAvLyBGbG9hdCB3cmFwXG4gICAgLmstZmxvYXQtd3JhcDo6YWZ0ZXIge1xuICAgICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgY2xlYXI6IGJvdGg7XG4gICAgfVxuXG5cbiAgICAvLyBTdGFjayBsYXlvdXRcbiAgICAuay1zdGFjay1sYXlvdXQge31cblxuXG4gICAgLy8gRmxleCBsYXlvdXRcbiAgICAuay1mbGV4LWxheW91dCB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgfVxuXG5cbiAgICAvLyBHcmlkIGxheW91dFxuICAgIC5rLWdyaWQtbGF5b3V0IHtcbiAgICAgICAgZGlzcGxheTogZ3JpZDtcbiAgICB9XG5cblxuICAgIC8vIFNlcGFyYXRvclxuICAgIC5rLXNlcGFyYXRvciB7XG4gICAgICAgIHdpZHRoOiBhdXRvO1xuICAgICAgICBoZWlnaHQ6IDA7XG4gICAgICAgIGJvcmRlci13aWR0aDogMXB4IDAgMDtcbiAgICAgICAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiBpbmhlcml0O1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgZmxleC1ncm93OiAwICFpbXBvcnRhbnQ7IC8vIHN0eWxlbGludC1kaXNhYmxlLWxpbmUgZGVjbGFyYXRpb24tbm8taW1wb3J0YW50XG4gICAgICAgIGZsZXgtc2hyaW5rOiAwICFpbXBvcnRhbnQ7IC8vIHN0eWxlbGludC1kaXNhYmxlLWxpbmUgZGVjbGFyYXRpb24tbm8taW1wb3J0YW50XG4gICAgICAgIGFsaWduLXNlbGY6IHN0cmV0Y2g7XG4gICAgfVxuICAgIC5rLXNlcGFyYXRvci1ob3Jpem9udGFsLFxuICAgIC5rLXZzdGFjayA+IC5rLXNlcGFyYXRvciB7XG4gICAgICAgIHdpZHRoOiBhdXRvO1xuICAgICAgICBoZWlnaHQ6IDA7XG4gICAgICAgIGJvcmRlci13aWR0aDogMXB4IDAgMDtcbiAgICB9XG4gICAgLmstc2VwYXJhdG9yLXZlcnRpY2FsLFxuICAgIC5rLWhzdGFjayA+IC5rLXNlcGFyYXRvciB7XG4gICAgICAgIHdpZHRoOiAwO1xuICAgICAgICBoZWlnaHQ6IGF1dG87XG4gICAgICAgIGJvcmRlci13aWR0aDogMCAwIDAgMXB4O1xuICAgIH1cblxuICAgIGhyLmstc2VwYXJhdG9yIHtcbiAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICBwYWRkaW5nOiAwO1xuICAgIH1cblxuXG4gICAgLy8gSGlkZGVuXG4gICAgLmstaGlkZGVuIHtcbiAgICAgICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OyAvLyBzdHlsZWxpbnQtZGlzYWJsZS1saW5lIGRlY2xhcmF0aW9uLW5vLWltcG9ydGFudFxuICAgIH1cblxuXG4gICAgLy8gUlRMXG4gICAgLmstcnRsIHtcbiAgICAgICAgZGlyZWN0aW9uOiBydGw7XG4gICAgfVxuXG5cbiAgICAvLyBMZWdhY3kgYWxpYXNlc1xuICAgIC5rLWhib3ggeyBAZXh0ZW5kIC5rLWhzdGFjayAhb3B0aW9uYWw7IH1cbiAgICAuay12Ym94IHsgQGV4dGVuZCAuay12c3RhY2sgIW9wdGlvbmFsOyB9XG4gICAgLmstZmxvYXR3cmFwIHsgQGV4dGVuZCAuay1mbG9hdC13cmFwICFvcHRpb25hbDsgfVxuICAgIC5rLWZsZXggeyBAZXh0ZW5kIC5rLXNwYWNlciAhb3B0aW9uYWw7IH1cblxufVxuIiwiQG1peGluIGtlbmRvLWNvcmUtLXN0eWxlcy0tbm9ybWFsaXplKCkge1xuXG4gICAgLy8gSGlkZGVuIGF0dHJpYnV0ZVxuICAgIFtoaWRkZW5dIHtcbiAgICAgICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OyAvLyBzdHlsZWxpbnQtZGlzYWJsZS1saW5lIGRlY2xhcmF0aW9uLW5vLWltcG9ydGFudFxuICAgIH1cblxuXG4gICAgLy8gSGlkZSBzY3JpcHQgdGFnc1xuICAgIC8vIHNlZSBodHRwczovL2dpdGh1Yi5jb20vdGVsZXJpay9rZW5kby10aGVtZXMvaXNzdWVzLzIzNjBcbiAgICBzY3JpcHQge1xuICAgICAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IC8vIHN0eWxlbGludC1kaXNhYmxlLWxpbmUgZGVjbGFyYXRpb24tbm8taW1wb3J0YW50XG4gICAgfVxuXG59XG4iLCJAdXNlIFwiLi4vbWl4aW5zL19kaXNhYmxlZC5zY3NzXCIgYXMgKjtcbkB1c2UgXCIuLi9zcGFjaW5nL2luZGV4LmltcG9ydC5zY3NzXCIgYXMgKjtcbkB1c2UgXCIuLi9fdmFyaWFibGVzLnNjc3NcIiBhcyAqO1xuXG5AbWl4aW4ga2VuZG8tY29yZS0tc3R5bGVzLS1iYXNlKCkge1xuXG4gICAgLy8gRGlzYWJsZWQgc3RhdGVcbiAgICAuay1kaXNhYmxlZCxcbiAgICAuay13aWRnZXRbZGlzYWJsZWRdLFxuICAgIC5rLWRpc2FibGVkIHtcbiAgICAgICAgQGluY2x1ZGUgZGlzYWJsZWQoXG4gICAgICAgICAgICAkY29sb3I6IHZhciggLS1rZW5kby1kaXNhYmxlZC10ZXh0LCB1bnNldCksXG4gICAgICAgICAgICAkYmc6IHZhciggLS1rZW5kby1kaXNhYmxlZC1iZywgdW5zZXQpLFxuICAgICAgICAgICAgJGJvcmRlcjogdmFyKCAtLWtlbmRvLWRpc2FibGVkLWJvcmRlciwgdW5zZXQpLFxuICAgICAgICAgICAgJG9wYWNpdHk6IHZhciggLS1rZW5kby1kaXNhYmxlZC1vcGFjaXR5LCB1bnNldCksXG4gICAgICAgICAgICAkZmlsdGVyOiB2YXIoIC0ta2VuZG8tZGlzYWJsZWQtZmlsdGVyLCB1bnNldClcbiAgICAgICAgKTtcblxuICAgICAgICAuay1saW5rIHtcbiAgICAgICAgICAgIGN1cnNvcjogZGVmYXVsdDtcbiAgICAgICAgICAgIG91dGxpbmU6IDA7XG4gICAgICAgIH1cblxuICAgICAgICAvLyBOZXN0ZWQgZGlzYWJsZWRcbiAgICAgICAgW2Rpc2FibGVkXSxcbiAgICAgICAgLmstZGlzYWJsZWQge1xuICAgICAgICAgICAgQGlmICRrZW5kby1uZXN0ZWQtZGlzYWJsZWQge1xuICAgICAgICAgICAgICAgIC0ta2VuZG8tZGlzYWJsZWQtb3BhY2l0eTogMTtcbiAgICAgICAgICAgICAgICAtLWtlbmRvLWRpc2FibGVkLWZpbHRlcjogZ3JheXNjYWxlKDApO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgLy8gSG9yaXpvbnRhbCBsaW5lXG4gICAgLmstaHIge1xuICAgICAgICBtYXJnaW4tYmxvY2s6IGstc3BhY2luZyg0KTtcbiAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgaGVpZ2h0OiAwO1xuICAgICAgICBib3JkZXItd2lkdGg6IDFweCAwIDA7XG4gICAgICAgIGJvcmRlci1zdHlsZTogc29saWQ7XG4gICAgICAgIGJvcmRlci1jb2xvcjogdmFyKCAtLWtlbmRvLWhyLWJvcmRlciwgdW5zZXQgKTtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIGZsb2F0OiBub25lO1xuICAgICAgICBjbGVhcjogYm90aDtcbiAgICB9XG5cbiAgICAvLyBIb3Jpem9udGFsIHJ1bGVcbiAgICAuay1kLWZsZXgtcm93ID4gLmstaHIge1xuICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgIHdpZHRoOiAwO1xuICAgICAgICBoZWlnaHQ6IGF1dG87XG4gICAgICAgIGJvcmRlci13aWR0aDogMCAwIDAgMXB4O1xuICAgICAgICBmbGV4OiAwIDAgYXV0bztcbiAgICB9XG5cbiAgICAvLyBWZXJ0aWNhbCBydWxlXG4gICAgLmstZC1mbGV4LWNvbCA+IC5rLWhyIHtcbiAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICBmbGV4OiAwIDAgYXV0bztcbiAgICB9XG5cbiAgICAuay1zcHJpdGUge1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgIHdpZHRoOiAxcmVtO1xuICAgICAgICBoZWlnaHQ6IDFyZW07XG4gICAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgICAgIGZvbnQtc2l6ZTogMDtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDA7XG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICB9XG5cbiAgICAuay1pbWFnZSB7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICB9XG5cbiAgICAvLyBMYXlvdXRcbiAgICAuay1yZXNldCB7XG4gICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgYm9yZGVyLXdpZHRoOiAwO1xuICAgICAgICBvdXRsaW5lOiAwO1xuICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgICAgIGZvbnQ6IGluaGVyaXQ7XG4gICAgICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG4gICAgfVxuXG4gICAga2VuZG8tc29ydGFibGUge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICB9XG5cblxuICAgIC8vIExpbmtzXG4gICAgLmstbGluayxcbiAgICAuay1saW5rOmhvdmVyIHtcbiAgICAgICAgY29sb3I6IGluaGVyaXQ7XG4gICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICAgICAgb3V0bGluZTogMDtcbiAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIH1cblxuICAgIC8vIE91dGxpbmVcbiAgICAuay1jb250ZW50IHtcbiAgICAgICAgb3V0bGluZTogMDtcbiAgICB9XG5cbiAgICAvLyBDZW50ZXJpbmdcbiAgICAuay1jZW50ZXJlZCB7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgdG9wOiA1MCU7XG4gICAgICAgIGxlZnQ6IDUwJTtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgLTUwJSk7XG4gICAgfVxuXG4gICAgLy8gRGlzYWJsZSBtb3VzZSBldmVudHNcbiAgICAuay1uby1jbGljayB7XG4gICAgICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICAgIH1cblxuICAgIC8vIE9mZi1zY3JlZW4gY29udGFpbmVyIHVzZWQgZHVyaW5nIFBERiBleHBvcnRcbiAgICAuay1wZGYtZXhwb3J0LXNoYWRvdyB7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAgICAgbGVmdDogLTE1MDAwcHg7XG4gICAgICAgIHdpZHRoOiAxNDQwMHB4O1xuICAgIH1cblxuICAgIC8vIFBERiBleHBvcnQgaWNvbnMgZml4XG4gICAgLmtlbmRvLXBkZi1oaWRlLXBzZXVkby1lbGVtZW50czo6YmVmb3JlLFxuICAgIC5rZW5kby1wZGYtaGlkZS1wc2V1ZG8tZWxlbWVudHM6OmFmdGVyIHtcbiAgICAgICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OyAvLyBzdHlsZWxpbnQtZGlzYWJsZS1saW5lIGRlY2xhcmF0aW9uLW5vLWltcG9ydGFudFxuICAgIH1cblxuICAgIC8vIERpcnR5IGluZGljYXRvclxuICAgIC5rLWRpcnR5IHtcbiAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgICB3aWR0aDogMDtcbiAgICAgICAgaGVpZ2h0OiAwO1xuICAgICAgICBib3JkZXItd2lkdGg6IDNweDtcbiAgICAgICAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcbiAgICAgICAgYm9yZGVyLWJsb2NrLXN0YXJ0LWNvbG9yOiBjdXJyZW50Q29sb3I7XG4gICAgICAgIGJvcmRlci1ibG9jay1lbmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgICAgICBib3JkZXItaW5saW5lLXN0YXJ0LWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICAgICAgYm9yZGVyLWlubGluZS1lbmQtY29sb3I6IGN1cnJlbnRDb2xvcjtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICBpbnNldC1ibG9jay1zdGFydDogMDtcbiAgICAgICAgaW5zZXQtaW5saW5lLWVuZDogMDtcbiAgICB9XG59XG4iLCIvLyBEaXNhYmxlZFxuXG5AbWl4aW4gZGlzYWJsZWQoICRjb2xvcjogbnVsbCwgJGJnOiBudWxsLCAkYm9yZGVyOiBudWxsLCAkb3BhY2l0eTogbnVsbCwgJGZpbHRlcjogbnVsbCApIHtcbiAgICBvdXRsaW5lOiBub25lO1xuICAgIGN1cnNvcjogZGVmYXVsdDtcbiAgICBjb2xvcjogJGNvbG9yO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRiZztcbiAgICBib3JkZXItY29sb3I6ICRib3JkZXI7XG4gICAgb3BhY2l0eTogJG9wYWNpdHk7XG4gICAgZmlsdGVyOiAkZmlsdGVyO1xuICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICAgIGJveC1zaGFkb3c6IG5vbmU7XG59XG4iLCJAbWl4aW4ga2VuZG8tY29yZS0tc3R5bGVzLS1zZWxlY3Rpb24oKSB7XG5cbiAgICAvLyBNYXJxdWVlXG4gICAgLmstbWFycXVlZSB7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgei1pbmRleDogMTAwMDAwO1xuICAgIH1cblxuICAgIC5rLW1hcnF1ZWUtY29sb3IsXG4gICAgLmstbWFycXVlZS10ZXh0IHtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB0b3A6IDA7XG4gICAgICAgIGxlZnQ6IDA7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgfVxuXG4gICAgLmstbWFycXVlZS1jb2xvciB7XG4gICAgICAgIGNvbG9yOiB2YXIoIC0ta2VuZG8tbWFycXVlZS10ZXh0LCB1bnNldCApO1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoIC0ta2VuZG8tbWFycXVlZS1iZywgdW5zZXQgKTtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiB2YXIoIC0ta2VuZG8tbWFycXVlZS1ib3JkZXIsIHVuc2V0ICk7XG4gICAgICAgIG9wYWNpdHk6IC42O1xuICAgIH1cbiAgICAuay1tYXJxdWVlLXRleHQge1xuICAgICAgICBjb2xvcjogdmFyKCAtLWtlbmRvLW1hcnF1ZWUtdGV4dCwgdW5zZXQgKTtcbiAgICB9XG5cbiAgICAvLyBUZXh0IHNlbGVjdGlvblxuICAgIC5rLXRleHQtc2VsZWN0aW9uIHtcbiAgICAgICAgOjpzZWxlY3Rpb24ge1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKCAtLWtlbmRvLXRleHQtc2VsZWN0aW9uLWJnLCB1bnNldCApO1xuICAgICAgICAgICAgY29sb3I6IHZhciggLS1rZW5kby1tYXJxdWVlLXRleHQsIHVuc2V0ICk7XG4gICAgICAgIH1cbiAgICB9XG5cbn1cbiIsIkBtaXhpbiBrZW5kby1jb3JlLS1zdHlsZXMtLXNjcm9sbGJhcigpIHtcblxuICAgIC8vIHZpcnR1YWwgc2Nyb2xsYmFyXG4gICAgLmstc2Nyb2xsYmFyIHtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICBvdmVyZmxvdzogc2Nyb2xsO1xuICAgIH1cblxuICAgIC5rLXNjcm9sbGJhci12ZXJ0aWNhbCB7XG4gICAgICAgIHRvcDogMDtcbiAgICAgICAgcmlnaHQ6IDA7XG4gICAgICAgIHdpZHRoOiAxN3B4OyAvLyBzY3JvbGxiYXIgd2lkdGhcbiAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICBvdmVyZmxvdy14OiBoaWRkZW47XG4gICAgfVxuXG4gICAgLmstdG91Y2gtc2Nyb2xsYmFyIHtcbiAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB6LWluZGV4OiAyMDAwMDA7XG4gICAgICAgIGhlaWdodDogOHB4O1xuICAgICAgICB3aWR0aDogOHB4O1xuICAgICAgICBib3JkZXI6IDFweCBzb2xpZCAjOGE4YThhO1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjODU4NTg1O1xuICAgIH1cblxufVxuIiwiQG1peGluIGtlbmRvLWNvcmUtLXN0eWxlcy0tcmVzaXppbmcoKSB7XG5cbiAgICAvLyBSZXNpemUgaGFuZGxlXG4gICAgLmstcmVzaXplLWhhbmRsZSxcbiAgICAuay1yZXNpemUtaGludCB7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiBpbmhlcml0O1xuICAgICAgICB6LWluZGV4OiAyMDA7XG4gICAgfVxuICAgIC5rLXJlc2l6ZS1oYW5kbGUge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICB9XG4gICAgLmstcmVzaXplLWhhbmRsZTo6YmVmb3JlIHtcbiAgICAgICAgY29udGVudDogXCJcIjtcbiAgICAgICAgYm9yZGVyOiAwIHNvbGlkO1xuICAgICAgICBib3JkZXItY29sb3I6IGluaGVyaXQ7XG4gICAgfVxuICAgIC5rLXJlc2l6ZS1uIHtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIGhlaWdodDogNnB4O1xuICAgICAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICAgICAgICBsZWZ0OiAwO1xuICAgICAgICB0b3A6IC0zcHg7XG4gICAgICAgIGN1cnNvcjogbi1yZXNpemU7XG4gICAgfVxuICAgIC5rLXJlc2l6ZS1zIHtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIGhlaWdodDogNnB4O1xuICAgICAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICAgICAgICBsZWZ0OiAwO1xuICAgICAgICBib3R0b206IC0zcHg7XG4gICAgICAgIGN1cnNvcjogcy1yZXNpemU7XG4gICAgfVxuICAgIC5rLXJlc2l6ZS13IHtcbiAgICAgICAgd2lkdGg6IDZweDtcbiAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgICB0b3A6IDA7XG4gICAgICAgIGxlZnQ6IC0zcHg7XG4gICAgICAgIGN1cnNvcjogdy1yZXNpemU7XG4gICAgfVxuICAgIC5rLXJlc2l6ZS1lIHtcbiAgICAgICAgd2lkdGg6IDZweDtcbiAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgICB0b3A6IDA7XG4gICAgICAgIHJpZ2h0OiAtM3B4O1xuICAgICAgICBjdXJzb3I6IGUtcmVzaXplO1xuICAgIH1cblxuICAgIC5rLXJlc2l6ZS1zdyxcbiAgICAuay1yZXNpemUtc2UsXG4gICAgLmstcmVzaXplLW53LFxuICAgIC5rLXJlc2l6ZS1uZSB7XG4gICAgICAgIHdpZHRoOiA1cHg7XG4gICAgICAgIGhlaWdodDogNXB4O1xuICAgIH1cblxuICAgIC5rLXJlc2l6ZS1zdyB7XG4gICAgICAgIGN1cnNvcjogc3ctcmVzaXplO1xuICAgICAgICBib3R0b206IDA7XG4gICAgICAgIGxlZnQ6IDA7XG4gICAgfVxuICAgIC5rLXJlc2l6ZS1zZSB7XG4gICAgICAgIGN1cnNvcjogc2UtcmVzaXplO1xuICAgICAgICBib3R0b206IDA7XG4gICAgICAgIHJpZ2h0OiAwO1xuICAgIH1cbiAgICAuay1yZXNpemUtbncge1xuICAgICAgICBjdXJzb3I6IG53LXJlc2l6ZTtcbiAgICAgICAgdG9wOiAwO1xuICAgICAgICBsZWZ0OiAwO1xuICAgIH1cbiAgICAuay1yZXNpemUtbmUge1xuICAgICAgICBjdXJzb3I6IG5lLXJlc2l6ZTtcbiAgICAgICAgdG9wOiAwO1xuICAgICAgICByaWdodDogMDtcbiAgICB9XG5cbiAgICAuay12ZXJ0aWNhbC1yZXNpemUge1xuICAgICAgICBjdXJzb3I6IHJvdy1yZXNpemU7XG4gICAgfVxuICAgIC5rLWhvcml6b250YWwtcmVzaXplIHtcbiAgICAgICAgY3Vyc29yOiBjb2wtcmVzaXplO1xuICAgIH1cblxuICAgIC8vIFJlc2l6ZSBoaW50XG4gICAgLmstcmVzaXplLWhpbnQge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuXG4gICAgICAgIC5rLXJlc2l6ZS1oaW50LWhhbmRsZSB7XG4gICAgICAgICAgICB3aWR0aDogYXV0bztcbiAgICAgICAgICAgIGhlaWdodDogMjBweDtcbiAgICAgICAgICAgIGFsaWduLXNlbGY6IHN0cmV0Y2g7XG4gICAgICAgIH1cbiAgICAgICAgLmstcmVzaXplLWhpbnQtbWFya2VyIHtcbiAgICAgICAgICAgIHdpZHRoOiAycHg7XG4gICAgICAgICAgICBoZWlnaHQ6IGF1dG87XG4gICAgICAgICAgICBmbGV4OiAxIDEgYXV0bztcbiAgICAgICAgfVxuICAgIH1cbiAgICAuay1yZXNpemUtaGludC12ZXJ0aWNhbCB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cbiAgICAgICAgLmstcmVzaXplLWhpbnQtaGFuZGxlIHtcbiAgICAgICAgICAgIHdpZHRoOiAyMHB4O1xuICAgICAgICAgICAgaGVpZ2h0OiBhdXRvO1xuICAgICAgICAgICAgYWxpZ24tc2VsZjogc3RyZXRjaDtcbiAgICAgICAgfVxuXG4gICAgICAgIC5rLXJlc2l6ZS1oaW50LW1hcmtlciB7XG4gICAgICAgICAgICB3aWR0aDogYXV0bztcbiAgICAgICAgICAgIGhlaWdodDogMnB4O1xuICAgICAgICAgICAgZmxleDogMSAxIGF1dG87XG4gICAgICAgIH1cbiAgICB9XG5cbn1cbiIsIiRrZW5kby1wcmVmaXg6IGstICFkZWZhdWx0O1xuXG5AbWl4aW4ga2VuZG8tY29yZS0tc3R5bGVzLS11dGlscy1jb21wb25lbnRzKCkge1xuICAgIC8vIExlZ2FjeSBhbGlhc2VzXG4gICAgLiN7JGtlbmRvLXByZWZpeH10b3Atc3RhcnQsXG4gICAgLiN7JGtlbmRvLXByZWZpeH1wb3MtdG9wLXN0YXJ0IHtcbiAgICAgICAgdG9wOiAwO1xuICAgICAgICBpbnNldC1pbmxpbmUtc3RhcnQ6IDA7XG4gICAgfVxuXG4gICAgLiN7JGtlbmRvLXByZWZpeH10b3AtZW5kLFxuICAgIC4jeyRrZW5kby1wcmVmaXh9cG9zLXRvcC1lbmQge1xuICAgICAgICB0b3A6IDA7XG4gICAgICAgIGluc2V0LWlubGluZS1lbmQ6IDA7XG4gICAgfVxuXG4gICAgLiN7JGtlbmRvLXByZWZpeH1ib3R0b20tc3RhcnQsXG4gICAgLiN7JGtlbmRvLXByZWZpeH1wb3MtYm90dG9tLXN0YXJ0IHtcbiAgICAgICAgYm90dG9tOiAwO1xuICAgICAgICBpbnNldC1pbmxpbmUtc3RhcnQ6IDA7XG4gICAgfVxuXG4gICAgLiN7JGtlbmRvLXByZWZpeH1ib3R0b20tZW5kLFxuICAgIC4jeyRrZW5kby1wcmVmaXh9cG9zLWJvdHRvbS1lbmQge1xuICAgICAgICBib3R0b206IDA7XG4gICAgICAgIGluc2V0LWlubGluZS1lbmQ6IDA7XG4gICAgfVxuXG4gICAgLiN7JGtlbmRvLXByZWZpeH10b3AtY2VudGVyLFxuICAgIC4jeyRrZW5kby1wcmVmaXh9cG9zLXRvcC1jZW50ZXIge1xuICAgICAgICB0b3A6IDA7XG4gICAgICAgIGxlZnQ6IDUwJTtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpO1xuICAgIH1cbiAgICAuI3ska2VuZG8tcHJlZml4fW1pZGRsZS1sZWZ0LFxuICAgIC4jeyRrZW5kby1wcmVmaXh9bWlkZGxlLXN0YXJ0LFxuICAgIC4jeyRrZW5kby1wcmVmaXh9cG9zLW1pZGRsZS1zdGFydCB7XG4gICAgICAgIHRvcDogNTAlO1xuICAgICAgICBsZWZ0OiAwO1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7XG4gICAgfVxuICAgIC4jeyRrZW5kby1wcmVmaXh9bWlkZGxlLWNlbnRlciB7XG4gICAgICAgIHRvcDogNTAlO1xuICAgICAgICBsZWZ0OiA1MCU7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTtcbiAgICB9XG4gICAgLiN7JGtlbmRvLXByZWZpeH1taWRkbGUtcmlnaHQsXG4gICAgLiN7JGtlbmRvLXByZWZpeH1taWRkbGUtZW5kLFxuICAgIC4jeyRrZW5kby1wcmVmaXh9cG9zLW1pZGRsZS1lbmQge1xuICAgICAgICB0b3A6IDUwJTtcbiAgICAgICAgcmlnaHQ6IDA7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTtcbiAgICB9XG4gICAgLiN7JGtlbmRvLXByZWZpeH1ib3R0b20tY2VudGVyLFxuICAgIC4jeyRrZW5kby1wcmVmaXh9cG9zLWJvdHRvbS1jZW50ZXIge1xuICAgICAgICBib3R0b206IDA7XG4gICAgICAgIGxlZnQ6IDUwJTtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpO1xuICAgIH1cbn1cbiIsIkB1c2UgXCJzYXNzOm1hcFwiO1xuQHVzZSBcIi4uL2Z1bmN0aW9ucy9fc3RyaW5nLmltcG9ydC5zY3NzXCIgYXMgKjtcblxuJF9kZWZhdWx0LXNwYWNpbmc6IChcbiAgICAwOiAwcHgsXG4gICAgMXB4OiAxcHgsXG4gICAgMC41OiAuMTI1cmVtLFxuICAgIDE6IC4yNXJlbSxcbiAgICAxLjU6IC4zNzVyZW0sXG4gICAgMjogLjVyZW0sXG4gICAgMi41OiAuNjI1cmVtLFxuICAgIDM6IC43NXJlbSxcbiAgICAzLjU6IC44NzVyZW0sXG4gICAgNDogMXJlbSxcbiAgICA0LjU6IDEuMTI1cmVtLFxuICAgIDU6IDEuMjVyZW0sXG4gICAgNS41OiAxLjM3NXJlbSxcbiAgICA2OiAxLjVyZW0sXG4gICAgNi41OiAxLjYyNXJlbSxcbiAgICA3OiAxLjc1cmVtLFxuICAgIDcuNTogMS44NzVyZW0sXG4gICAgODogMnJlbSxcbiAgICA5OiAyLjI1cmVtLFxuICAgIDEwOiAyLjVyZW0sXG4gICAgMTE6IDIuNzVyZW0sXG4gICAgMTI6IDNyZW0sXG4gICAgMTM6IDMuMjVyZW0sXG4gICAgMTQ6IDMuNXJlbSxcbiAgICAxNTogMy43NXJlbSxcbiAgICAxNjogNHJlbSxcbiAgICAxNzogNC4yNXJlbSxcbiAgICAxODogNC41cmVtLFxuICAgIDE5OiA0Ljc1cmVtLFxuICAgIDIwOiA1cmVtLFxuICAgIDIxOiA1LjI1cmVtLFxuICAgIDIyOiA1LjVyZW0sXG4gICAgMjM6IDUuNzVyZW0sXG4gICAgMjQ6IDZyZW0sXG4gICAgMjU6IDdyZW0sXG4gICAgMjY6IDhyZW0sXG4gICAgMjc6IDlyZW0sXG4gICAgMjg6IDEwcmVtLFxuICAgIDI5OiAxMXJlbSxcbiAgICAzMDogMTJyZW1cbikgIWRlZmF1bHQ7XG5cbi8vLyBUaGUgZ2xvYmFsIGRlZmF1bHQgU3BhY2luZyBtYXAuXG4vLy8gQGdyb3VwIHNwYWNpbmdcbiRrZW5kby1zcGFjaW5nOiAkX2RlZmF1bHQtc3BhY2luZyAhZGVmYXVsdDtcblxuJGtlbmRvLXNwYWNpbmc6IG1hcC5tZXJnZSgkX2RlZmF1bHQtc3BhY2luZywgJGtlbmRvLXNwYWNpbmcpO1xuXG5cbkBmdW5jdGlvbiBrLXNwYWNpbmcoJHN0ZXApIHtcbiAgICAkc3BhY2luZzogbWFwLmdldCgka2VuZG8tc3BhY2luZywgJHN0ZXApO1xuICAgICRfc3RlcDogay1lc2NhcGUtY2xhc3MtbmFtZSggJHN0ZXAgKTtcbiAgICBAcmV0dXJuIHZhcigtLWtlbmRvLXNwYWNpbmctI3skX3N0ZXB9LCAjeyRzcGFjaW5nfSk7XG59XG5cbi8vIEdlbmVyYXRlIGEgQ1NTIHZhcmlhYmxlIGZvciBlYWNoIHZhbHVlIGluIHRoZSBTcGFjaW5nIG1hcFxuQG1peGluIGtlbmRvLXNwYWNpbmctLXN0eWxlcygpIHtcbiAgICA6cm9vdCB7XG4gICAgICAgIEBlYWNoICRzdGVwLCAkc3BhY2luZyBpbiAka2VuZG8tc3BhY2luZyB7XG4gICAgICAgICAgICAkX3N0ZXA6IGstZXNjYXBlLWNsYXNzLW5hbWUoICRzdGVwICk7XG4gICAgICAgICAgICAtLWtlbmRvLXNwYWNpbmctI3skX3N0ZXB9OiAjeyRzcGFjaW5nfTtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuJGtlbmRvLXNpemluZzogbWFwLm1lcmdlKCAka2VuZG8tc3BhY2luZywgKFxuICAgIFwiYXV0b1wiOiBhdXRvLFxuICAgIFwiMS8yXCI6IDUwJSxcbiAgICBcIjEvM1wiOiAzMy4zMzMzMzMlLFxuICAgIFwiMi8zXCI6IDY2LjY2NjY2NyUsXG4gICAgXCIxLzRcIjogMjUlLFxuICAgIFwiMi80XCI6IDUwJSxcbiAgICBcIjMvNFwiOiA3NSUsXG4gICAgXCIxLzVcIjogMjAlLFxuICAgIFwiMi81XCI6IDQwJSxcbiAgICBcIjMvNVwiOiA2MCUsXG4gICAgXCI0LzVcIjogODAlLFxuICAgIFwiMS82XCI6IDE2LjY2NjY2NyUsXG4gICAgXCIyLzZcIjogMzMuMzMzMzMzJSxcbiAgICBcIjMvNlwiOiA1MCUsXG4gICAgXCI0LzZcIjogNjYuNjY2NjY3JSxcbiAgICBcIjUvNlwiOiA4My4zMzMzMzMlLFxuICAgIFwiMS8xMlwiOiA4LjMzMzMzMyUsXG4gICAgXCIyLzEyXCI6IDE2LjY2NjY2NyUsXG4gICAgXCIzLzEyXCI6IDI1JSxcbiAgICBcIjQvMTJcIjogMzMuMzMzMzMzJSxcbiAgICBcIjUvMTJcIjogNDEuNjY2NjY3JSxcbiAgICBcIjYvMTJcIjogNTAlLFxuICAgIFwiNy8xMlwiOiA1OC4zMzMzMzMlLFxuICAgIFwiOC8xMlwiOiA2Ni42NjY2NjclLFxuICAgIFwiOS8xMlwiOiA3NSUsXG4gICAgXCIxMC8xMlwiOiA4My4zMzMzMzMlLFxuICAgIFwiMTEvMTJcIjogOTEuNjY2NjY3JSxcbiAgICBcImZ1bGxcIjogMTAwJSxcbiAgICBcIm1pblwiOiBtaW4tY29udGVudCxcbiAgICBcIm1heFwiOiBtYXgtY29udGVudCxcbiAgICBcImZpdFwiOiBmaXQtY29udGVudFxuKSkgIWRlZmF1bHQ7XG4iLCJAdXNlIFwic2FzczptYXBcIjtcblxuJF9kZWZhdWx0LWVsZXZhdGlvbjogKFxuICAgIDE6IChcbiAgICAgICAgMCAycHggM3B4IHJnYmEoMCwgMCwgMCwgLjA0KSxcbiAgICAgICAgMCA0cHggMTZweCByZ2JhKDAsIDAsIDAsIC4xMilcbiAgICApLFxuICAgIDI6IChcbiAgICAgICAgMCA0cHggNnB4IHJnYmEoMCwgMCwgMCwgLjA2KSxcbiAgICAgICAgMCA0cHggMTZweCByZ2JhKDAsIDAsIDAsIC4xMilcbiAgICApLFxuICAgIDM6IChcbiAgICAgICAgMCA2cHggOHB4IHJnYmEoMCwgMCwgMCwgLjA4KSxcbiAgICAgICAgMCA0cHggMTZweCByZ2JhKDAsIDAsIDAsIC4xMilcbiAgICApLFxuICAgIDQ6IChcbiAgICAgICAgMCA4cHggMTBweCByZ2JhKDAsIDAsIDAsIC4xMiksXG4gICAgICAgIDAgNHB4IDE2cHggcmdiYSgwLCAwLCAwLCAuMTIpXG4gICAgKSxcbiAgICA1OiAoXG4gICAgICAgIDAgMTBweCAxMnB4IHJnYmEoMCwgMCwgMCwgLjE2KSxcbiAgICAgICAgMCA0cHggMTZweCByZ2JhKDAsIDAsIDAsIC4xMilcbiAgICApLFxuICAgIDY6IChcbiAgICAgICAgMCAxMnB4IDE0cHggcmdiYSgwLCAwLCAwLCAuMiksXG4gICAgICAgIDAgNHB4IDE2cHggcmdiYSgwLCAwLCAwLCAuMTIpXG4gICAgKSxcbiAgICA3OiAoXG4gICAgICAgIDAgMTRweCAxNnB4IHJnYmEoMCwgMCwgMCwgLjI0KSxcbiAgICAgICAgMCA0cHggMTZweCByZ2JhKDAsIDAsIDAsIC4xMilcbiAgICApLFxuICAgIDg6IChcbiAgICAgICAgMCAxNnB4IDE4cHggcmdiYSgwLCAwLCAwLCAuMjgpLFxuICAgICAgICAwIDRweCAxNnB4IHJnYmEoMCwgMCwgMCwgLjEyKVxuICAgICksXG4gICAgOTogKFxuICAgICAgICAwIDMycHggMzRweCByZ2JhKDAsIDAsIDAsIC4zMiksXG4gICAgICAgIDAgNHB4IDE2cHggcmdiYSgwLCAwLCAwLCAuMTIpXG4gICAgKVxuKSAhZGVmYXVsdDtcblxuLy8vIFRoZSBnbG9iYWwgZGVmYXVsdCBFbGV2YXRpb24gbWFwLlxuLy8vIEBncm91cCBlbGV2YXRpb25cbiRrZW5kby1lbGV2YXRpb246ICRfZGVmYXVsdC1lbGV2YXRpb24gIWRlZmF1bHQ7XG5cbiRrZW5kby1lbGV2YXRpb246IG1hcC5tZXJnZSgkX2RlZmF1bHQtZWxldmF0aW9uLCAka2VuZG8tZWxldmF0aW9uKTtcblxuQGZ1bmN0aW9uIGstc2hhZG93LWZpbHRlcigkc2hhZG93KSB7XG4gICAgJHJlc3VsdDogJyc7XG4gICAgQGVhY2ggJHZhbHVlIGluICRzaGFkb3cge1xuICAgICAgICAkcmVzdWx0OiAkcmVzdWx0ICsgXCJkcm9wLXNoYWRvdyhcIiArICR2YWx1ZSArIFwiKSBcIjtcbiAgICB9XG4gICAgQHJldHVybiAjeyRyZXN1bHR9O1xufVxuXG5AZnVuY3Rpb24gay1lbGV2YXRpb24oJGxldmVsKSB7XG4gICAgQHJldHVybiB2YXIoLS1rZW5kby1lbGV2YXRpb24tI3skbGV2ZWx9LCBtYXAuZ2V0KCRrZW5kby1lbGV2YXRpb24sICRsZXZlbCkpO1xufVxuXG5cbkBtaXhpbiBrZW5kby1lbGV2YXRpb24tLXN0eWxlcygpIHtcbiAgICA6cm9vdCB7XG4gICAgICAgIEBlYWNoICRsZXZlbCwgJHNoYWRvdyBpbiAka2VuZG8tZWxldmF0aW9uIHtcbiAgICAgICAgICAgIC0ta2VuZG8tZWxldmF0aW9uLSN7JGxldmVsfTogI3skc2hhZG93fTtcbiAgICAgICAgfVxuICAgIH1cbn1cbiIsIkB1c2UgXCJzYXNzOm1hcFwiO1xuQHVzZSBcInNhc3M6bWV0YVwiO1xuQHVzZSBcInNhc3M6bWF0aFwiO1xuXG4vLy8gVGhlIGJhc2UgZm9udCBzaXplIGFjcm9zcyBhbGwgY29tcG9uZW50cy5cbi8vLyBAZ3JvdXAgdHlwb2dyYXBoeVxuJGtlbmRvLWZvbnQtc2l6ZTogMC44NzVyZW0gIWRlZmF1bHQ7XG4vLy8gVGhlIGV4dHJhIGV4dHJhIHNtYWxsIGZvbnQgc2l6ZSBhY3Jvc3MgYWxsIGNvbXBvbmVudHMuXG4vLy8gQGdyb3VwIHR5cG9ncmFwaHlcbiRrZW5kby1mb250LXNpemUteHhzOiAwLjVyZW0gIWRlZmF1bHQ7XG4vLy8gVGhlIGV4dHJhIHNtYWxsIGZvbnQgc2l6ZSBhY3Jvc3MgYWxsIGNvbXBvbmVudHMuXG4vLy8gQGdyb3VwIHR5cG9ncmFwaHlcbiRrZW5kby1mb250LXNpemUteHM6IDAuNjI1cmVtICFkZWZhdWx0O1xuLy8vIFRoZSBzbWFsbCBmb250IHNpemUgYWNyb3NzIGFsbCBjb21wb25lbnRzLlxuLy8vIEBncm91cCB0eXBvZ3JhcGh5XG4ka2VuZG8tZm9udC1zaXplLXNtOiAwLjc1cmVtICFkZWZhdWx0O1xuLy8vIFRoZSBtZWRpdW0gZm9udCBzaXplIGFjcm9zcyBhbGwgY29tcG9uZW50cy5cbi8vLyBAZ3JvdXAgdHlwb2dyYXBoeVxuJGtlbmRvLWZvbnQtc2l6ZS1tZDogJGtlbmRvLWZvbnQtc2l6ZSAhZGVmYXVsdDtcbi8vLyBUaGUgbGFyZ2UgZm9udCBzaXplIGFjcm9zcyBhbGwgY29tcG9uZW50cy5cbi8vLyBAZ3JvdXAgdHlwb2dyYXBoeVxuJGtlbmRvLWZvbnQtc2l6ZS1sZzogMXJlbSAhZGVmYXVsdDtcbi8vLyBUaGUgZXh0cmEgbGFyZ2UgZm9udCBzaXplIGFjcm9zcyBhbGwgY29tcG9uZW50cy5cbi8vLyBAZ3JvdXAgdHlwb2dyYXBoeVxuJGtlbmRvLWZvbnQtc2l6ZS14bDogMS4yNXJlbSAhZGVmYXVsdDtcblxuLy8vIFRoZSBiYXNlIGxpbmUgaGVpZ2h0IGFjcm9zcyBhbGwgY29tcG9uZW50cy5cbi8vLyBAZ3JvdXAgdHlwb2dyYXBoeVxuJGtlbmRvLWxpbmUtaGVpZ2h0OiBtYXRoLmRpdiggMjAsIDE0ICkgIWRlZmF1bHQ7XG4vLy8gVGhlIGV4dHJhIHNtYWxsIGxpbmUgaGVpZ2h0IGFjcm9zcyBhbGwgY29tcG9uZW50cy5cbi8vLyBAZ3JvdXAgdHlwb2dyYXBoeVxuJGtlbmRvLWxpbmUtaGVpZ2h0LXhzOiAxICFkZWZhdWx0O1xuLy8vIFRoZSBzbWFsbCBsaW5lIGhlaWdodCBhY3Jvc3MgYWxsIGNvbXBvbmVudHMuXG4vLy8gQGdyb3VwIHR5cG9ncmFwaHlcbiRrZW5kby1saW5lLWhlaWdodC1zbTogMS4yNSAhZGVmYXVsdDtcbi8vLyBUaGUgbWVkaXVtIGxpbmUgaGVpZ2h0IGFjcm9zcyBhbGwgY29tcG9uZW50cy5cbi8vLyBAZ3JvdXAgdHlwb2dyYXBoeVxuJGtlbmRvLWxpbmUtaGVpZ2h0LW1kOiAka2VuZG8tbGluZS1oZWlnaHQgIWRlZmF1bHQ7XG4vLy8gVGhlIGxhcmdlIGxpbmUgaGVpZ2h0IGFjcm9zcyBhbGwgY29tcG9uZW50cy5cbi8vLyBAZ3JvdXAgdHlwb2dyYXBoeVxuJGtlbmRvLWxpbmUtaGVpZ2h0LWxnOiAxLjUgIWRlZmF1bHQ7XG4vLy8gVGhlIGJhc2UgbGluZSBoZWlnaHQgaW4gZW1zIGFjcm9zcyBhbGwgY29tcG9uZW50cy5cbi8vLyBAZ3JvdXAgdHlwb2dyYXBoeVxuJGtlbmRvLWxpbmUtaGVpZ2h0LWVtOiBjYWxjKCAjeyRrZW5kby1saW5lLWhlaWdodC1tZH0gKiAxZW0gKSAhZGVmYXVsdDtcblxuLy8vIFRoZSBiYXNlIGZvbnQgd2VpZ2h0IGFjcm9zcyBhbGwgY29tcG9uZW50cy5cbi8vLyBAZ3JvdXAgdHlwb2dyYXBoeVxuJGtlbmRvLWZvbnQtd2VpZ2h0OiA0MDAgIWRlZmF1bHQ7XG4vLy8gVGhlIHRoaW4gZm9udCB3ZWlnaHQgYWNyb3NzIGFsbCBjb21wb25lbnRzLlxuLy8vIEBncm91cCB0eXBvZ3JhcGh5XG4ka2VuZG8tZm9udC13ZWlnaHQtdGhpbjogMTAwICFkZWZhdWx0O1xuLy8vIFRoZSBleHRyYSBsaWdodCBmb250IHdlaWdodCBhY3Jvc3MgYWxsIGNvbXBvbmVudHMuXG4vLy8gQGdyb3VwIHR5cG9ncmFwaHlcbiRrZW5kby1mb250LXdlaWdodC1leHRyYS1saWdodDogMjAwICFkZWZhdWx0O1xuLy8vIFRoZSBsaWdodCBmb250IHdlaWdodCBhY3Jvc3MgYWxsIGNvbXBvbmVudHMuXG4vLy8gQGdyb3VwIHR5cG9ncmFwaHlcbiRrZW5kby1mb250LXdlaWdodC1saWdodDogMzAwICFkZWZhdWx0O1xuLy8vIFRoZSBub3JtYWwgZm9udCB3ZWlnaHQgYWNyb3NzIGFsbCBjb21wb25lbnRzLlxuLy8vIEBncm91cCB0eXBvZ3JhcGh5XG4ka2VuZG8tZm9udC13ZWlnaHQtbm9ybWFsOiAka2VuZG8tZm9udC13ZWlnaHQgIWRlZmF1bHQ7XG4vLy8gVGhlIG1lZGl1bSBmb250IHdlaWdodCBhY3Jvc3MgYWxsIGNvbXBvbmVudHMuXG4vLy8gQGdyb3VwIHR5cG9ncmFwaHlcbiRrZW5kby1mb250LXdlaWdodC1tZWRpdW06IDUwMCAhZGVmYXVsdDtcbi8vLyBUaGUgc2VtaWJvbGQgZm9udCB3ZWlnaHQgYWNyb3NzIGFsbCBjb21wb25lbnRzLlxuLy8vIEBncm91cCB0eXBvZ3JhcGh5XG4ka2VuZG8tZm9udC13ZWlnaHQtc2VtaWJvbGQ6IDYwMCAhZGVmYXVsdDtcbi8vLyBUaGUgYm9sZCBmb250IHdlaWdodCBhY3Jvc3MgYWxsIGNvbXBvbmVudHMuXG4vLy8gQGdyb3VwIHR5cG9ncmFwaHlcbiRrZW5kby1mb250LXdlaWdodC1ib2xkOiA3MDAgIWRlZmF1bHQ7XG4vLy8gVGhlIGV4dHJhIGJvbGQgZm9udCB3ZWlnaHQgYWNyb3NzIGFsbCBjb21wb25lbnRzLlxuLy8vIEBncm91cCB0eXBvZ3JhcGh5XG4ka2VuZG8tZm9udC13ZWlnaHQtZXh0cmEtYm9sZDogODAwICFkZWZhdWx0O1xuLy8vIFRoZSBtb3N0IHByb25vdW5jZWQgZm9udCB3ZWlnaHQgYWNyb3NzIGFsbCBjb21wb25lbnRzLlxuLy8vIEBncm91cCB0eXBvZ3JhcGh5XG4ka2VuZG8tZm9udC13ZWlnaHQtYmxhY2s6IDkwMCAhZGVmYXVsdDtcblxuLy8vIFRoZSBiYXNlIGxldHRlciBzcGFjaW5nIGFjcm9zcyBhbGwgY29tcG9uZW50cy5cbi8vLyBAZ3JvdXAgdHlwb2dyYXBoeVxuJGtlbmRvLWxldHRlci1zcGFjaW5nOiBudWxsICFkZWZhdWx0O1xuLy8vIFRoZSB0aWdodGVzdCBsZXR0ZXIgc3BhY2luZyBhY3Jvc3MgYWxsIGNvbXBvbmVudHMuXG4vLy8gQGdyb3VwIHR5cG9ncmFwaHlcbiRrZW5kby1sZXR0ZXItc3BhY2luZy10aWdodGVzdDogLS4xNXB4ICFkZWZhdWx0O1xuLy8vIFNsaWdodGx5IGxvb3NlciB0aGFuIHRoZSB0aWdodGVyIGxldHRlciBzcGFjaW5nIGFjcm9zcyBhbGwgY29tcG9uZW50cy5cbi8vLyBAZ3JvdXAgdHlwb2dyYXBoeVxuJGtlbmRvLWxldHRlci1zcGFjaW5nLXRpZ2h0ZXI6IC0uMTBweCAhZGVmYXVsdDtcbi8vLyBNb2RlcmF0ZWx5IHRpZ2h0IGxldHRlciBzcGFjaW5nIGFjcm9zcyBhbGwgY29tcG9uZW50cy5cbi8vLyBAZ3JvdXAgdHlwb2dyYXBoeVxuJGtlbmRvLWxldHRlci1zcGFjaW5nLXRpZ2h0OiAtLjVweCAhZGVmYXVsdDtcbi8vLyBUaGUgbm9ybWFsIGxldHRlciBzcGFjaW5nIGFjcm9zcyBhbGwgY29tcG9uZW50cy5cbi8vLyBAZ3JvdXAgdHlwb2dyYXBoeVxuJGtlbmRvLWxldHRlci1zcGFjaW5nLW5vcm1hbDogMHB4ICFkZWZhdWx0O1xuLy8vIFdpZGUgbGV0dGVyIHNwYWNpbmcgYWNyb3NzIGFsbCBjb21wb25lbnRzLlxuLy8vIEBncm91cCB0eXBvZ3JhcGh5XG4ka2VuZG8tbGV0dGVyLXNwYWNpbmctd2lkZTogLjVweCAhZGVmYXVsdDtcbi8vLyBTbGlnaHRseSB3aWRlciB0aGFuIHRoZSB3aWRlIGxldHRlciBzcGFjaW5nIGFjcm9zcyBhbGwgY29tcG9uZW50cy5cbi8vLyBAZ3JvdXAgdHlwb2dyYXBoeVxuJGtlbmRvLWxldHRlci1zcGFjaW5nLXdpZGVyOiAuMTBweCAhZGVmYXVsdDtcbi8vLyBUaGUgd2lkZXN0IGxldHRlciBzcGFjaW5nIGFjcm9zcyBhbGwgY29tcG9uZW50cy5cbi8vLyBAZ3JvdXAgdHlwb2dyYXBoeVxuJGtlbmRvLWxldHRlci1zcGFjaW5nLXdpZGVzdDogLjE1cHggIWRlZmF1bHQ7XG5cbi8vLyBUaGUgc2FucyBmb250IGZhbWlseSBhY3Jvc3MgYWxsIGNvbXBvbmVudHMuXG4vLy8gQGdyb3VwIHR5cG9ncmFwaHlcbiRrZW5kby1mb250LWZhbWlseS1zYW5zOiBBcmlhbCwgVmVyZGFuYSwgVGFob21hLCBcIlRyZWJ1Y2hldCBNU1wiLCBIZWx2ZXRpY2EsIEltcGFjdCwgR2lsbCBTYW5zICFkZWZhdWx0O1xuLy8vIFRoZSBzZXJpZiBmb250IGZhbWlseSBhY3Jvc3MgYWxsIGNvbXBvbmVudHMuXG4vLy8gQGdyb3VwIHR5cG9ncmFwaHlcbiRrZW5kby1mb250LWZhbWlseS1zZXJpZjogXCJUaW1lcyBOZXcgUm9tYW5cIiwgR2VvcmdpYSwgR2FyYW1vbmQsIFBhbGF0aW5vLCBCYXNrZXJ2aWxsZSAhZGVmYXVsdDtcbi8vLyBUaGUgc2Fucy1zZXJpZiBmb250IGZhbWlseSBhY3Jvc3MgYWxsIGNvbXBvbmVudHMuXG4vLy8gQGdyb3VwIHR5cG9ncmFwaHlcbiRrZW5kby1mb250LWZhbWlseS1zYW5zLXNlcmlmOiBzeXN0ZW0tdWksIC1hcHBsZS1zeXN0ZW0sIFwiU2Vnb2UgVUlcIiwgUm9ib3RvLCBcIkhlbHZldGljYSBOZXVlXCIsIFwiTm90byBTYW5zXCIsIFwiTGliZXJhdGlvbiBTYW5zXCIsIEFyaWFsLCBzYW5zLXNlcmlmLCBcIkFwcGxlIENvbG9yIEVtb2ppXCIsIFwiU2Vnb2UgVUkgRW1vamlcIiwgXCJTZWdvZSBVSSBTeW1ib2xcIiwgXCJOb3RvIENvbG9yIEVtb2ppXCIgIWRlZmF1bHQ7XG4vLy8gVGhlIG1vbm9zcGFjZSBmb250IGZhbWlseSBhY3Jvc3MgYWxsIGNvbXBvbmVudHMuXG4vLy8gQGdyb3VwIHR5cG9ncmFwaHlcbiRrZW5kby1mb250LWZhbWlseS1tb25vc3BhY2U6IFNGTW9uby1SZWd1bGFyLCBNZW5sbywgTW9uYWNvLCBDb25zb2xhcywgXCJSb2JvdG8gTW9ub1wiLCBcIlVidW50dSBNb25vXCIsIFwiTHVjaWRhIENvbnNvbGVcIiwgXCJDb3VyaWVyIE5ld1wiLCBtb25vc3BhY2UgIWRlZmF1bHQ7XG5cbi8vLyBUaGUgYmFzZSBmb250IGZhbWlseSBhY3Jvc3MgYWxsIGNvbXBvbmVudHMuXG4vLy8gQGdyb3VwIHR5cG9ncmFwaHlcbiRrZW5kby1mb250LWZhbWlseTogaW5oZXJpdCAhZGVmYXVsdDtcblxuJF9kZWZhdWx0LWZvbnQtc2l6ZXM6IChcbiAgICB4eHM6ICRrZW5kby1mb250LXNpemUteHhzLFxuICAgIHhzOiAka2VuZG8tZm9udC1zaXplLXhzLFxuICAgIHNtOiAka2VuZG8tZm9udC1zaXplLXNtLFxuICAgIG1kOiAka2VuZG8tZm9udC1zaXplLW1kLFxuICAgIGxnOiAka2VuZG8tZm9udC1zaXplLWxnLFxuICAgIHhsOiAka2VuZG8tZm9udC1zaXplLXhsXG4pICFkZWZhdWx0O1xuXG4kX2RlZmF1bHQtbGluZS1oZWlnaHRzOiAoXG4gICAgeHM6ICRrZW5kby1saW5lLWhlaWdodC14cyxcbiAgICBzbTogJGtlbmRvLWxpbmUtaGVpZ2h0LXNtLFxuICAgIG1kOiAka2VuZG8tbGluZS1oZWlnaHQtbWQsXG4gICAgbGc6ICRrZW5kby1saW5lLWhlaWdodC1sZyxcbikgIWRlZmF1bHQ7XG5cbiRfZGVmYXVsdC1mb250LXdlaWdodHM6IChcbiAgICB0aGluOiAka2VuZG8tZm9udC13ZWlnaHQtdGhpbixcbiAgICBleHRyYS1saWdodDogJGtlbmRvLWZvbnQtd2VpZ2h0LWV4dHJhLWxpZ2h0LFxuICAgIGxpZ2h0OiAka2VuZG8tZm9udC13ZWlnaHQtbGlnaHQsXG4gICAgbm9ybWFsOiAka2VuZG8tZm9udC13ZWlnaHQtbm9ybWFsLFxuICAgIG1lZGl1bTogJGtlbmRvLWZvbnQtd2VpZ2h0LW1lZGl1bSxcbiAgICBzZW1pYm9sZDogJGtlbmRvLWZvbnQtd2VpZ2h0LXNlbWlib2xkLFxuICAgIGJvbGQ6ICRrZW5kby1mb250LXdlaWdodC1ib2xkXG4pICFkZWZhdWx0O1xuXG4kX2RlZmF1bHQtbGV0dGVyLXNwYWNpbmdzOiAoXG4gICAgdGlnaHRlc3Q6ICRrZW5kby1sZXR0ZXItc3BhY2luZy10aWdodGVzdCxcbiAgICB0aWdodGVyOiAka2VuZG8tbGV0dGVyLXNwYWNpbmctdGlnaHRlcixcbiAgICB0aWdodDogJGtlbmRvLWxldHRlci1zcGFjaW5nLXRpZ2h0LFxuICAgIG5vcm1hbDogJGtlbmRvLWxldHRlci1zcGFjaW5nLW5vcm1hbCxcbiAgICB3aWRlOiAka2VuZG8tbGV0dGVyLXNwYWNpbmctd2lkZSxcbiAgICB3aWRlcjogJGtlbmRvLWxldHRlci1zcGFjaW5nLXdpZGVyLFxuICAgIHdpZGVzdDogJGtlbmRvLWxldHRlci1zcGFjaW5nLXdpZGVzdFxuKSAhZGVmYXVsdDtcblxuJF9kZWZhdWx0LWZvbnQtZmFtaWxpZXM6IChcbiAgICBzYW5zOiAka2VuZG8tZm9udC1mYW1pbHktc2FucyxcbiAgICBzZXJpZjogJGtlbmRvLWZvbnQtZmFtaWx5LXNlcmlmLFxuICAgIHNhbnMtc2VyaWY6ICRrZW5kby1mb250LWZhbWlseS1zYW5zLXNlcmlmLFxuICAgIG1vbm9zcGFjZTogJGtlbmRvLWZvbnQtZmFtaWx5LW1vbm9zcGFjZVxuKSAhZGVmYXVsdDtcblxuJGtlbmRvLWZvbnQtc2l6ZXM6ICRfZGVmYXVsdC1mb250LXNpemVzICFkZWZhdWx0O1xuXG4vLy8gVGhlIGZvbnQgc2l6ZXMgbWFwXG4vLy8gQGdyb3VwIHR5cG9ncmFwaHlcbiRrZW5kby1mb250LXNpemVzOiBtYXAubWVyZ2UoICRfZGVmYXVsdC1mb250LXNpemVzLCAka2VuZG8tZm9udC1zaXplcyApO1xuXG4ka2VuZG8tbGluZS1oZWlnaHRzOiAkX2RlZmF1bHQtbGluZS1oZWlnaHRzICFkZWZhdWx0O1xuXG4vLy8gVGhlIGxpbmUgaGVpZ2h0cyBtYXBcbi8vLyBAZ3JvdXAgdHlwb2dyYXBoeVxuJGtlbmRvLWxpbmUtaGVpZ2h0czogbWFwLm1lcmdlKCAkX2RlZmF1bHQtbGluZS1oZWlnaHRzLCAka2VuZG8tbGluZS1oZWlnaHRzICk7XG5cbiRrZW5kby1mb250LXdlaWdodHM6ICRfZGVmYXVsdC1mb250LXdlaWdodHMgIWRlZmF1bHQ7XG5cbi8vLyBUaGUgZm9udCB3ZWlnaHRzIG1hcFxuLy8vIEBncm91cCB0eXBvZ3JhcGh5XG4ka2VuZG8tZm9udC13ZWlnaHRzOiBtYXAubWVyZ2UoICRfZGVmYXVsdC1mb250LXdlaWdodHMsICRrZW5kby1mb250LXdlaWdodHMgKTtcblxuJGtlbmRvLWxldHRlci1zcGFjaW5nczogJF9kZWZhdWx0LWxldHRlci1zcGFjaW5ncyAhZGVmYXVsdDtcblxuLy8vIFRoZSBsZXR0ZXIgc3BhY2luZ3MgbWFwXG4vLy8gQGdyb3VwIHR5cG9ncmFwaHlcbiRrZW5kby1sZXR0ZXItc3BhY2luZ3M6IG1hcC5tZXJnZSggJF9kZWZhdWx0LWxldHRlci1zcGFjaW5ncywgJGtlbmRvLWxldHRlci1zcGFjaW5ncyApO1xuXG4ka2VuZG8tZm9udC1mYW1pbGllczogJF9kZWZhdWx0LWZvbnQtZmFtaWxpZXMgIWRlZmF1bHQ7XG5cbi8vLyBUaGUgZm9udCBmYW1pbGllcyBtYXBcbi8vLyBAZ3JvdXAgdHlwb2dyYXBoeVxuJGtlbmRvLWZvbnQtZmFtaWxpZXM6IG1hcC5tZXJnZSggJF9kZWZhdWx0LWZvbnQtZmFtaWxpZXMsICRrZW5kby1mb250LWZhbWlsaWVzICk7XG5cbkBtaXhpbiB0eXBvZ3JhcGh5KCAkZm9udC1zaXplOiBudWxsLCAkZm9udC1mYW1pbHk6IG51bGwsICRsaW5lLWhlaWdodDogbnVsbCwgJGZvbnQtd2VpZ2h0OiBudWxsLCAkbGV0dGVyLXNwYWNpbmc6IG51bGwgKSB7XG4gICAgZm9udC1zaXplOiAkZm9udC1zaXplO1xuICAgIGZvbnQtZmFtaWx5OiAkZm9udC1mYW1pbHk7XG4gICAgbGluZS1oZWlnaHQ6ICRsaW5lLWhlaWdodDtcbiAgICBmb250LXdlaWdodDogJGZvbnQtd2VpZ2h0O1xuICAgIGxldHRlci1zcGFjaW5nOiAkbGV0dGVyLXNwYWNpbmc7XG59XG5cblxuQG1peGluIGtlbmRvLWNvcmUtLXR5cG9ncmFwaHktLXN0eWxlcygpIHtcbiAgICA6cm9vdCB7XG5cbiAgICAgICAgLS1rZW5kby1mb250LWZhbWlseTogI3ttZXRhLmluc3BlY3QoJGtlbmRvLWZvbnQtZmFtaWx5KX07XG4gICAgICAgIC0ta2VuZG8tZm9udC1zaXplOiAjeyRrZW5kby1mb250LXNpemV9O1xuICAgICAgICAtLWtlbmRvLWxpbmUtaGVpZ2h0OiAjeyRrZW5kby1saW5lLWhlaWdodH07XG4gICAgICAgIC0ta2VuZG8tZm9udC13ZWlnaHQ6ICN7JGtlbmRvLWZvbnQtd2VpZ2h0fTtcbiAgICAgICAgLS1rZW5kby1sZXR0ZXItc3BhY2luZzogI3ska2VuZG8tbGV0dGVyLXNwYWNpbmd9O1xuXG4gICAgICAgIEBlYWNoICRzaXplLCAkdmFsdWUgaW4gJGtlbmRvLWZvbnQtc2l6ZXMge1xuICAgICAgICAgICAgLS1rZW5kby1mb250LXNpemUtI3skc2l6ZX06ICN7JHZhbHVlfTtcbiAgICAgICAgfVxuXG4gICAgICAgIEBlYWNoICRzaXplLCAkdmFsdWUgaW4gJGtlbmRvLWxpbmUtaGVpZ2h0cyB7XG4gICAgICAgICAgICAtLWtlbmRvLWxpbmUtaGVpZ2h0LSN7JHNpemV9OiAjeyR2YWx1ZX07XG4gICAgICAgIH1cblxuICAgICAgICBAZWFjaCAkd2VpZ2h0LCAkdmFsdWUgaW4gJGtlbmRvLWZvbnQtd2VpZ2h0cyB7XG4gICAgICAgICAgICAtLWtlbmRvLWZvbnQtd2VpZ2h0LSN7JHdlaWdodH06ICN7JHZhbHVlfTtcbiAgICAgICAgfVxuXG4gICAgICAgIEBlYWNoICRzcGFjaW5nLCAkdmFsdWUgaW4gJGtlbmRvLWxldHRlci1zcGFjaW5ncyB7XG4gICAgICAgICAgICAtLWtlbmRvLWxldHRlci1zcGFjaW5nLSN7JHNwYWNpbmd9OiAjeyR2YWx1ZX07XG4gICAgICAgIH1cblxuICAgICAgICBAZWFjaCAkZmFtaWx5LCAkdmFsdWUgaW4gJGtlbmRvLWZvbnQtZmFtaWxpZXMge1xuICAgICAgICAgICAgLS1rZW5kby1mb250LWZhbWlseS0jeyRmYW1pbHl9OiAjeyR2YWx1ZX07XG4gICAgICAgIH1cbiAgICB9XG59XG4iLCJAdXNlIFwic2FzczptYXBcIjtcbkB1c2UgXCIuLi9zcGFjaW5nL2luZGV4LmltcG9ydC5zY3NzXCIgYXMgKjtcblxuLy8vIFRoZSBub25lIGJvcmRlciByYWRpdXMgdXNlZCBhY3Jvc3MgdGhlIENvbXBvbmVudHMuXG4vLy8gQGdyb3VwIHJhZGlpXG4ka2VuZG8tYm9yZGVyLXJhZGl1cy1ub25lOiBtYXAuZ2V0KCRrZW5kby1zcGFjaW5nLCAwKSAhZGVmYXVsdDtcbi8vLyBUaGUgZXh0cmEgc21hbGwgYm9yZGVyIHJhZGl1cyB1c2VkIGFjcm9zcyB0aGUgQ29tcG9uZW50cy5cbi8vLyBAZ3JvdXAgcmFkaWlcbiRrZW5kby1ib3JkZXItcmFkaXVzLXhzOiBtYXAuZ2V0KCRrZW5kby1zcGFjaW5nLCAxcHgpICFkZWZhdWx0O1xuLy8vIFRoZSBzbWFsbCBib3JkZXIgcmFkaXVzIHVzZWQgYWNyb3NzIHRoZSBDb21wb25lbnRzLlxuLy8vIEBncm91cCByYWRpaVxuJGtlbmRvLWJvcmRlci1yYWRpdXMtc206IG1hcC5nZXQoJGtlbmRvLXNwYWNpbmcsIDAuNSkgIWRlZmF1bHQ7XG4vLy8gVGhlIG1lZGl1bSBib3JkZXIgcmFkaXVzIHVzZWQgYWNyb3NzIHRoZSBDb21wb25lbnRzLlxuLy8vIEBncm91cCByYWRpaVxuJGtlbmRvLWJvcmRlci1yYWRpdXMtbWQ6IG1hcC5nZXQoJGtlbmRvLXNwYWNpbmcsIDEpICFkZWZhdWx0O1xuLy8vIFRoZSBsYXJnZSBib3JkZXIgcmFkaXVzIHVzZWQgYWNyb3NzIHRoZSBDb21wb25lbnRzLlxuLy8vIEBncm91cCByYWRpaVxuJGtlbmRvLWJvcmRlci1yYWRpdXMtbGc6IG1hcC5nZXQoJGtlbmRvLXNwYWNpbmcsIDEuNSkgIWRlZmF1bHQ7XG4vLy8gVGhlIGV4dHJhIGxhcmdlIGJvcmRlciByYWRpdXMgdXNlZCBhY3Jvc3MgdGhlIENvbXBvbmVudHMuXG4vLy8gQGdyb3VwIHJhZGlpXG4ka2VuZG8tYm9yZGVyLXJhZGl1cy14bDogbWFwLmdldCgka2VuZG8tc3BhY2luZywgMikgIWRlZmF1bHQ7XG4vLy8gVGhlIHRoaXJkIGxhcmdlc3QgYm9yZGVyIHJhZGl1cyB1c2VkIGFjcm9zcyB0aGUgQ29tcG9uZW50cy5cbi8vLyBAZ3JvdXAgcmFkaWlcbiRrZW5kby1ib3JkZXItcmFkaXVzLXh4bDogbWFwLmdldCgka2VuZG8tc3BhY2luZywgMykgIWRlZmF1bHQ7XG4vLy8gVGhlIHNlY29uZCBsYXJnZXN0IGJvcmRlciByYWRpdXMgdXNlZCBhY3Jvc3MgdGhlIENvbXBvbmVudHMuXG4vLy8gQGdyb3VwIHJhZGlpXG4ka2VuZG8tYm9yZGVyLXJhZGl1cy14eHhsOiBtYXAuZ2V0KCRrZW5kby1zcGFjaW5nLCA0KSAhZGVmYXVsdDtcbi8vLyBUaGUgbGFyZ2VzdCBib3JkZXIgcmFkaXVzIHVzZWQgYWNyb3NzIHRoZSBDb21wb25lbnRzLlxuLy8vIEBncm91cCByYWRpaVxuJGtlbmRvLWJvcmRlci1yYWRpdXMtZnVsbDogOTk5OXB4ICFkZWZhdWx0O1xuXG5cbiRfZGVmYXVsdC1ib3JkZXItcmFkaWk6IChcbiAgICBub25lOiAka2VuZG8tYm9yZGVyLXJhZGl1cy1ub25lLFxuICAgIHhzOiAka2VuZG8tYm9yZGVyLXJhZGl1cy14cyxcbiAgICBzbTogJGtlbmRvLWJvcmRlci1yYWRpdXMtc20sXG4gICAgbWQ6ICRrZW5kby1ib3JkZXItcmFkaXVzLW1kLFxuICAgIGxnOiAka2VuZG8tYm9yZGVyLXJhZGl1cy1sZyxcbiAgICB4bDogJGtlbmRvLWJvcmRlci1yYWRpdXMteGwsXG4gICAgeHhsOiAka2VuZG8tYm9yZGVyLXJhZGl1cy14eGwsXG4gICAgeHh4bDogJGtlbmRvLWJvcmRlci1yYWRpdXMteHh4bCxcbiAgICBmdWxsOiAka2VuZG8tYm9yZGVyLXJhZGl1cy1mdWxsXG5cbikgIWRlZmF1bHQ7XG5cbiRrZW5kby1ib3JkZXItcmFkaWk6ICRfZGVmYXVsdC1ib3JkZXItcmFkaWkgIWRlZmF1bHQ7XG5cbi8vLyBUaGUgZ2xvYmFsIHJhZGlpIE1hcC5cbi8vLyBAZ3JvdXAgcmFkaWlcbiRrZW5kby1ib3JkZXItcmFkaWk6IG1hcC5tZXJnZSgkX2RlZmF1bHQtYm9yZGVyLXJhZGlpLCAka2VuZG8tYm9yZGVyLXJhZGlpKTtcblxuXG5AZnVuY3Rpb24gay1ib3JkZXItcmFkaXVzKCRrZXkpIHtcbiAgICAkX2JvcmRlci1yYWRpdXM6IG1hcC5nZXQoJGtlbmRvLWJvcmRlci1yYWRpaSwgJGtleSk7XG4gICAgQHJldHVybiB2YXIoLS1rZW5kby1ib3JkZXItcmFkaXVzLSN7JGtleX0sICRfYm9yZGVyLXJhZGl1cyk7XG59XG5cbkBtaXhpbiBrZW5kby1ib3JkZXItcmFkaXVzLS1zdHlsZXMoKSB7XG4gICAgOnJvb3Qge1xuICAgICAgICBAZWFjaCAka2V5LCAkdmFsdWUgaW4gJGtlbmRvLWJvcmRlci1yYWRpaSB7XG4gICAgICAgICAgICAtLWtlbmRvLWJvcmRlci1yYWRpdXMtI3ska2V5fTogI3skdmFsdWV9O1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLy8gR2VuZXJhdGUgay1yb3VuZGVkLSogY2xhc3Nlc1xuICAgIC8vIHdoaWNoIGFyZSBwYXJ0IG9mIHRoZSBjb21wb25lbnRzIHJlbmRlcmluZy5cbiAgICBAZWFjaCAka2V5LCAkdmFsIGluICRrZW5kby1ib3JkZXItcmFkaWkge1xuICAgICAgICAuay1yb3VuZGVkLSN7JGtleX0ge1xuICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogay1ib3JkZXItcmFkaXVzKCRrZXkpO1xuICAgICAgICB9XG4gICAgfVxufVxuIiwiQHVzZSBcInNhc3M6bWV0YVwiO1xuXG5AbWl4aW4gay1jc3MtdmFycygkbWFwKSB7XG4gICAgQGVhY2ggJGdyb3VwLCAkdmFsdWVzIGluICRtYXAge1xuICAgICAgICBAaWYgbWV0YS50eXBlLW9mKCR2YWx1ZXMpICE9ICdtYXAnIHtcbiAgICAgICAgICAgIC0ta2VuZG8tdGV4dC0jeyRncm91cH06ICN7JHZhbHVlc307XG4gICAgICAgIH0gQGVsc2Uge1xuICAgICAgICAgICAgQGVhY2ggJGtleSwgJHZhbHVlIGluICR2YWx1ZXMge1xuICAgICAgICAgICAgICAgIC0ta2VuZG8tI3ttZXRhLmluc3BlY3QoJGdyb3VwKX0tI3ska2V5fTogI3skdmFsdWV9O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxufVxuIiwiQHVzZSBcInNhc3M6bWFwXCI7XG5AdXNlIFwiLi9pbmRleC5zY3NzXCIgYXMgKjtcblxuLy8vIFNoYWRvdyBmb3IgY2FyZHMgYW5kIGdyaWQgaXRlbSB0aHVtYm5haWxzLlxuLy8vIEVxdWl2YWxlbnQgdG8gZmx1ZW50IGRlcHRoIDQuXG4vLy8gQGRlcHJlY2F0ZWQgVXNlIHRoZSBgJGtlbmRvLWVsZXZhdGlvbmAgbWFwIGluc3RlYWQuXG4ka2VuZG8tYm94LXNoYWRvdy1kZXB0aC0xOiB2YXIoIC0ta2VuZG8tZWxldmF0aW9uLTEsIG5vbmUgKSAhZGVmYXVsdDtcbi8vLyBTaGFkb3cgZm9yIGNvbG9yIGdyYWRpZW50IGRyYWcgaGFuZGxlLlxuLy8vIEVxdWl2YWxlbnQgdG8gZmx1ZW50IGRlcHRoIDguXG4vLy8gQGRlcHJlY2F0ZWQgVXNlIHRoZSBgJGtlbmRvLWVsZXZhdGlvbmAgbWFwIGluc3RlYWQuXG4ka2VuZG8tYm94LXNoYWRvdy1kZXB0aC0yOiB2YXIoIC0ta2VuZG8tZWxldmF0aW9uLTIsIG5vbmUgKSAhZGVmYXVsdDtcbi8vLyBTaGFkb3cgZm9yIGZvY3VzIGNhcmQuXG4vLy8gQGRlcHJlY2F0ZWQgVXNlIHRoZSBgJGtlbmRvLWVsZXZhdGlvbmAgbWFwIGluc3RlYWQuXG4ka2VuZG8tYm94LXNoYWRvdy1kZXB0aC0zOiB2YXIoIC0ta2VuZG8tZWxldmF0aW9uLTMsIG5vbmUgKSAhZGVmYXVsdDtcbi8vLyBTaGFkb3cgZm9yIHBhbmVscy5cbi8vLyBFcXVpdmFsZW50IHRvIGZsdWVudCBkZXB0aCAxNi5cbi8vLyBAZGVwcmVjYXRlZCBVc2UgdGhlIGAka2VuZG8tZWxldmF0aW9uYCBtYXAgaW5zdGVhZC5cbiRrZW5kby1ib3gtc2hhZG93LWRlcHRoLTQ6IHZhciggLS1rZW5kby1lbGV2YXRpb24tNCwgbm9uZSApICFkZWZhdWx0O1xuLy8vIFNoYWRvdyBmb3IgZmxvYXRpbmcgYWN0aW9uIGJ1dHRvbi5cbi8vLyBAZGVwcmVjYXRlZCBVc2UgdGhlIGAka2VuZG8tZWxldmF0aW9uYCBtYXAgaW5zdGVhZC5cbiRrZW5kby1ib3gtc2hhZG93LWRlcHRoLTU6IHZhciggLS1rZW5kby1lbGV2YXRpb24tNSwgbm9uZSApICFkZWZhdWx0O1xuLy8vIFNoYWRvdyBmb3IgcG9wIHVwLlxuLy8vIEBkZXByZWNhdGVkIFVzZSB0aGUgYCRrZW5kby1lbGV2YXRpb25gIG1hcCBpbnN0ZWFkLlxuJGtlbmRvLWJveC1zaGFkb3ctZGVwdGgtNjogdmFyKCAtLWtlbmRvLWVsZXZhdGlvbi02LCBub25lICkgIWRlZmF1bHQ7XG4vLy8gU2hhZG93IGZvciBhY3Rpb24gc2hlZXQuXG4vLy8gQGRlcHJlY2F0ZWQgVXNlIHRoZSBgJGtlbmRvLWVsZXZhdGlvbmAgbWFwIGluc3RlYWQuXG4ka2VuZG8tYm94LXNoYWRvdy1kZXB0aC03OiB2YXIoIC0ta2VuZG8tZWxldmF0aW9uLTcsIG5vbmUgKSAhZGVmYXVsdDtcbi8vLyBTaGFkb3cgZm9yIGRpYWxvZ3MgYW5kIHdpbmRvdy5cbi8vLyBFcXVpdmFsZW50IHRvIGZsdWVudCBkZXB0aCA2NC5cbi8vLyBAZGVwcmVjYXRlZCBVc2UgdGhlIGAka2VuZG8tZWxldmF0aW9uYCBtYXAgaW5zdGVhZC5cbiRrZW5kby1ib3gtc2hhZG93LWRlcHRoLTg6IHZhciggLS1rZW5kby1lbGV2YXRpb24tOCwgbm9uZSApICFkZWZhdWx0O1xuLy8vIFNoYWRvdyBmb3IgZm9jdXMgd2luZG93LlxuLy8vIEBkZXByZWNhdGVkIFVzZSB0aGUgYCRrZW5kby1lbGV2YXRpb25gIG1hcCBpbnN0ZWFkLlxuJGtlbmRvLWJveC1zaGFkb3ctZGVwdGgtOTogdmFyKCAtLWtlbmRvLWVsZXZhdGlvbi04LCBub25lICkgIWRlZmF1bHQ7XG5cbkBtaXhpbiBrZW5kby1lbGV2YXRpb24tLXN0eWxlcy1sZWdhY3koKSB7XG4gICAgOnJvb3Qge1xuICAgICAgICAtLWtlbmRvLWJveC1zaGFkb3ctZGVwdGgtMTogI3ska2VuZG8tYm94LXNoYWRvdy1kZXB0aC0xfTtcbiAgICAgICAgLS1rZW5kby1ib3gtc2hhZG93LWRlcHRoLTI6ICN7JGtlbmRvLWJveC1zaGFkb3ctZGVwdGgtMn07XG4gICAgICAgIC0ta2VuZG8tYm94LXNoYWRvdy1kZXB0aC0zOiAjeyRrZW5kby1ib3gtc2hhZG93LWRlcHRoLTN9O1xuICAgICAgICAtLWtlbmRvLWJveC1zaGFkb3ctZGVwdGgtNDogI3ska2VuZG8tYm94LXNoYWRvdy1kZXB0aC00fTtcbiAgICAgICAgLS1rZW5kby1ib3gtc2hhZG93LWRlcHRoLTU6ICN7JGtlbmRvLWJveC1zaGFkb3ctZGVwdGgtNX07XG4gICAgICAgIC0ta2VuZG8tYm94LXNoYWRvdy1kZXB0aC02OiAjeyRrZW5kby1ib3gtc2hhZG93LWRlcHRoLTZ9O1xuICAgICAgICAtLWtlbmRvLWJveC1zaGFkb3ctZGVwdGgtNzogI3ska2VuZG8tYm94LXNoYWRvdy1kZXB0aC03fTtcbiAgICAgICAgLS1rZW5kby1ib3gtc2hhZG93LWRlcHRoLTg6ICN7JGtlbmRvLWJveC1zaGFkb3ctZGVwdGgtOH07XG4gICAgICAgIC0ta2VuZG8tYm94LXNoYWRvdy1kZXB0aC05OiAjeyRrZW5kby1ib3gtc2hhZG93LWRlcHRoLTl9O1xuICAgIH1cbn1cbiIsIkB1c2UgXCJzYXNzOm1hcFwiO1xuQHVzZSBcIi4uL2NvcmUvX2luZGV4LnNjc3NcIiBhcyAqO1xuQHVzZSBcIi4vX3ZhcmlhYmxlcy5zY3NzXCIgYXMgKjtcblxuQG1peGluIGtlbmRvLXR5cG9ncmFwaHktLWxheW91dCgpIHtcbiAgICBAaWYgJGtlbmRvLWVuYWJsZS10eXBvZ3JhcGh5IHtcbiAgICAgICAgYm9keSB7IEBleHRlbmQgLmstYm9keSAhb3B0aW9uYWw7IH1cbiAgICAgICAgaDEgeyBAZXh0ZW5kIC5rLWgxICFvcHRpb25hbDsgfVxuICAgICAgICBoMiB7IEBleHRlbmQgLmstaDIgIW9wdGlvbmFsOyB9XG4gICAgICAgIGgzIHsgQGV4dGVuZCAuay1oMyAhb3B0aW9uYWw7IH1cbiAgICAgICAgaDQgeyBAZXh0ZW5kIC5rLWg0ICFvcHRpb25hbDsgfVxuICAgICAgICBoNSB7IEBleHRlbmQgLmstaDUgIW9wdGlvbmFsOyB9XG4gICAgICAgIGg2IHsgQGV4dGVuZCAuay1oNiAhb3B0aW9uYWw7IH1cbiAgICAgICAgcCB7IEBleHRlbmQgLmstcGFyYWdyYXBoICFvcHRpb25hbDsgfVxuICAgICAgICBwcmUgeyBAZXh0ZW5kIC5rLXByZSAhb3B0aW9uYWw7IH1cbiAgICAgICAgY29kZSB7IEBleHRlbmQgLmstY29kZSAhb3B0aW9uYWw7IH1cbiAgICB9XG5cbiAgICAuay1ib2R5IHtcbiAgICAgICAgQGluY2x1ZGUgdHlwb2dyYXBoeShcbiAgICAgICAgICAgIHZhciggLS1rZW5kby1mb250LXNpemUsIGluaGVyaXQgKSxcbiAgICAgICAgICAgIHZhciggLS1rZW5kby1mb250LWZhbWlseSwgaW5oZXJpdCApLFxuICAgICAgICAgICAgdmFyKCAtLWtlbmRvLWxpbmUtaGVpZ2h0LCBub3JtYWwgKSxcbiAgICAgICAgICAgIHZhciggLS1rZW5kby1mb250LXdlaWdodCwgbm9ybWFsICksXG4gICAgICAgICAgICB2YXIoIC0ta2VuZG8tbGV0dGVyLXNwYWNpbmcsIG5vcm1hbCApLFxuICAgICAgICApO1xuICAgICAgICBAaW5jbHVkZSBmaWxsKFxuICAgICAgICAgICAgdmFyKCAtLWtlbmRvLWJvZHktdGV4dCwgaW5pdGlhbCApLFxuICAgICAgICAgICAgdmFyKCAtLWtlbmRvLWJvZHktYmcsIGluaXRpYWwgKVxuICAgICAgICApO1xuICAgICAgICBtYXJnaW46IDA7XG5cbiAgICAgICAgcCB7XG4gICAgICAgICAgICBtYXJnaW46IHZhciggLS1rZW5kby1wYXJhZ3JhcGgtbWFyZ2luLCAjeyRrZW5kby1wYXJhZ3JhcGgtbWFyZ2lufSk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBIZWFkaW5nc1xuICAgIEBlYWNoICRoZWFkaW5nLCAkaGVhZGluZy1wcm9wcyBpbiAka2VuZG8taGVhZGluZ3Mge1xuICAgICAgICAkX2ZvbnQtc2l6ZTogbWFwLmdldCggJGhlYWRpbmctcHJvcHMsIGZvbnQtc2l6ZSApO1xuICAgICAgICAkX2ZvbnQtZmFtaWx5OiBtYXAuZ2V0KCAkaGVhZGluZy1wcm9wcywgZm9udC1mYW1pbHkgKTtcbiAgICAgICAgJF9saW5lLWhlaWdodDogbWFwLmdldCggJGhlYWRpbmctcHJvcHMsIGxpbmUtaGVpZ2h0ICk7XG4gICAgICAgICRfZm9udC13ZWlnaHQ6IG1hcC5nZXQoICRoZWFkaW5nLXByb3BzLCBmb250LXdlaWdodCApO1xuICAgICAgICAkX2xldHRlci1zcGFjaW5nOiBtYXAuZ2V0KCAkaGVhZGluZy1wcm9wcywgbGV0dGVyLXNwYWNpbmcgKTtcbiAgICAgICAgJF9tYXJnaW46IG1hcC5nZXQoICRoZWFkaW5nLXByb3BzLCBtYXJnaW4gKTtcblxuICAgICAgICAuay0jeyRoZWFkaW5nfSB7XG4gICAgICAgICAgICBAaW5jbHVkZSB0eXBvZ3JhcGh5KFxuICAgICAgICAgICAgICAgIHZhciggLS1rZW5kby0jeyRoZWFkaW5nfS1mb250LXNpemUsICN7JF9mb250LXNpemV9ICksXG4gICAgICAgICAgICAgICAgdmFyKCAtLWtlbmRvLSN7JGhlYWRpbmd9LWZvbnQtZmFtaWx5LCAjeyRfZm9udC1mYW1pbHl9ICksXG4gICAgICAgICAgICAgICAgdmFyKCAtLWtlbmRvLSN7JGhlYWRpbmd9LWxpbmUtaGVpZ2h0LCAjeyRfbGluZS1oZWlnaHR9ICksXG4gICAgICAgICAgICAgICAgdmFyKCAtLWtlbmRvLSN7JGhlYWRpbmd9LWZvbnQtd2VpZ2h0LCAjeyRfZm9udC13ZWlnaHR9ICksXG4gICAgICAgICAgICAgICAgdmFyKCAtLWtlbmRvLSN7JGhlYWRpbmd9LWxldHRlci1zcGFjaW5nLCAjeyRfbGV0dGVyLXNwYWNpbmd9ICksXG4gICAgICAgICAgICApO1xuICAgICAgICAgICAgbWFyZ2luOiB2YXIoIC0ta2VuZG8tI3skaGVhZGluZ30tbWFyZ2luLCAjeyRfbWFyZ2lufSApO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLy8gUGFyYWdyYXBoXG4gICAgLmstcGFyYWdyYXBoIHtcbiAgICAgICAgQGluY2x1ZGUgdHlwb2dyYXBoeShcbiAgICAgICAgICAgIHZhciggLS1rZW5kby1wYXJhZ3JhcGgtZm9udC1zaXplLCAjeyRrZW5kby1wYXJhZ3JhcGgtZm9udC1zaXplfSksXG4gICAgICAgICAgICB2YXIoIC0ta2VuZG8tcGFyYWdyYXBoLWZvbnQtZmFtaWx5LCAjeyRrZW5kby1wYXJhZ3JhcGgtZm9udC1mYW1pbHl9KSxcbiAgICAgICAgICAgIHZhciggLS1rZW5kby1wYXJhZ3JhcGgtbGluZS1oZWlnaHQsICN7JGtlbmRvLXBhcmFncmFwaC1saW5lLWhlaWdodH0pLFxuICAgICAgICAgICAgdmFyKCAtLWtlbmRvLXBhcmFncmFwaC1mb250LXdlaWdodCwgI3ska2VuZG8tcGFyYWdyYXBoLWZvbnQtd2VpZ2h0fSksXG4gICAgICAgICAgICB2YXIoIC0ta2VuZG8tcGFyYWdyYXBoLWxldHRlci1zcGFjaW5nLCAjeyRrZW5kby1wYXJhZ3JhcGgtbGV0dGVyLXNwYWNpbmd9KVxuICAgICAgICApO1xuICAgICAgICBtYXJnaW46IHZhciggLS1rZW5kby1wYXJhZ3JhcGgtbWFyZ2luLCAjeyRrZW5kby1wYXJhZ3JhcGgtbWFyZ2lufSk7XG4gICAgfVxuXG4gICAgLy8gQ29kZSBzbmlwcGV0XG4gICAgLmstcHJlLFxuICAgIC5rLWNvZGUge1xuICAgICAgICBAaW5jbHVkZSB0eXBvZ3JhcGh5KFxuICAgICAgICAgICAgdmFyKCAtLWtlbmRvLWNvZGUtZm9udC1zaXplLCAjeyRrZW5kby1jb2RlLWZvbnQtc2l6ZX0pLFxuICAgICAgICAgICAgdmFyKCAtLWtlbmRvLWNvZGUtZm9udC1mYW1pbHksICN7JGtlbmRvLWNvZGUtZm9udC1mYW1pbHl9KSxcbiAgICAgICAgICAgIHZhciggLS1rZW5kby1jb2RlLWxpbmUtaGVpZ2h0LCAjeyRrZW5kby1jb2RlLWxpbmUtaGVpZ2h0fSksXG4gICAgICAgICAgICB2YXIoIC0ta2VuZG8tY29kZS1mb250LXdlaWdodCwgI3ska2VuZG8tY29kZS1mb250LXdlaWdodH0pLFxuICAgICAgICAgICAgdmFyKCAtLWtlbmRvLWNvZGUtbGV0dGVyLXNwYWNpbmcsICN7JGtlbmRvLWNvZGUtbGV0dGVyLXNwYWNpbmd9KVxuICAgICAgICApO1xuICAgICAgICBib3JkZXItc3R5bGU6IHNvbGlkO1xuICAgICAgICBib3JkZXItd2lkdGg6IHZhciggLS1rZW5kby1jb2RlLWJvcmRlci13aWR0aCwgI3ska2VuZG8tY29kZS1ib3JkZXItd2lkdGh9KTtcbiAgICB9XG5cbiAgICAuay1wcmUge1xuICAgICAgICBwYWRkaW5nLWlubGluZTogdmFyKCAtLWtlbmRvLXByZS1wYWRkaW5nLXgsICN7JGtlbmRvLXByZS1wYWRkaW5nLXh9KTtcbiAgICAgICAgcGFkZGluZy1ibG9jazogdmFyKCAtLWtlbmRvLXByZS1wYWRkaW5nLXksICN7JGtlbmRvLXByZS1wYWRkaW5nLXl9KTtcbiAgICAgICAgb3ZlcmZsb3c6IGF1dG87XG4gICAgfVxuXG4gICAgLmstcHJlID4gLmstY29kZSB7XG4gICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgIGJvcmRlci13aWR0aDogMDtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgICAgIGZvbnQtZmFtaWx5OiBpbmhlcml0O1xuICAgICAgICBmb250LXNpemU6IGluaGVyaXQ7XG4gICAgfVxuXG4gICAgLmstY29kZSB7XG4gICAgICAgIHBhZGRpbmctaW5saW5lOiB2YXIoIC0ta2VuZG8tY29kZS1wYWRkaW5nLXgsICN7JGtlbmRvLWNvZGUtcGFkZGluZy14fSk7XG4gICAgICAgIHBhZGRpbmctYmxvY2s6IHZhciggLS1rZW5kby1jb2RlLXBhZGRpbmcteSwgI3ska2VuZG8tY29kZS1wYWRkaW5nLXl9KTtcbiAgICB9XG5cbiAgICAvLyBEaXNwbGF5XG4gICAgQGVhY2ggJGRpc3BsYXksICRrZW5kby1kaXNwbGF5LXByb3BzIGluICRrZW5kby1kaXNwbGF5IHtcbiAgICAgICAgJF9mb250LXNpemU6IG1hcC5nZXQoICRrZW5kby1kaXNwbGF5LXByb3BzLCBmb250LXNpemUgKTtcbiAgICAgICAgJF9mb250LWZhbWlseTogbWFwLmdldCggJGtlbmRvLWRpc3BsYXktcHJvcHMsIGZvbnQtZmFtaWx5ICk7XG4gICAgICAgICRfbGluZS1oZWlnaHQ6IG1hcC5nZXQoICRrZW5kby1kaXNwbGF5LXByb3BzLCBsaW5lLWhlaWdodCApO1xuICAgICAgICAkX2ZvbnQtd2VpZ2h0OiBtYXAuZ2V0KCAka2VuZG8tZGlzcGxheS1wcm9wcywgZm9udC13ZWlnaHQgKTtcbiAgICAgICAgJF9sZXR0ZXItc3BhY2luZzogbWFwLmdldCggJGtlbmRvLWRpc3BsYXktcHJvcHMsIGxldHRlci1zcGFjaW5nICk7XG4gICAgICAgICRfbWFyZ2luOiBtYXAuZ2V0KCAka2VuZG8tZGlzcGxheS1wcm9wcywgbWFyZ2luICk7XG5cbiAgICAgICAgLmstZGlzcGxheS0jeyRkaXNwbGF5fSB7XG4gICAgICAgICAgICBAaW5jbHVkZSB0eXBvZ3JhcGh5KFxuICAgICAgICAgICAgICAgIHZhciggLS1rZW5kby1kaXNwbGF5I3skZGlzcGxheX0tZm9udC1zaXplLCAjeyRfZm9udC1zaXplfSApLFxuICAgICAgICAgICAgICAgIHZhciggLS1rZW5kby1kaXNwbGF5I3skZGlzcGxheX0tZm9udC1mYW1pbHksICN7JF9mb250LWZhbWlseX0gKSxcbiAgICAgICAgICAgICAgICB2YXIoIC0ta2VuZG8tZGlzcGxheSN7JGRpc3BsYXl9LWxpbmUtaGVpZ2h0LCAjeyRfbGluZS1oZWlnaHR9ICksXG4gICAgICAgICAgICAgICAgdmFyKCAtLWtlbmRvLWRpc3BsYXkjeyRkaXNwbGF5fS1mb250LXdlaWdodCwgI3skX2ZvbnQtd2VpZ2h0fSApLFxuICAgICAgICAgICAgICAgIHZhciggLS1rZW5kby1kaXNwbGF5I3skZGlzcGxheX0tbGV0dGVyLXNwYWNpbmcsICN7JF9sZXR0ZXItc3BhY2luZ30gKSxcbiAgICAgICAgICAgICk7XG4gICAgICAgIH1cbiAgICB9XG59XG4iLCJAdXNlIFwiLi4vY29yZS9faW5kZXguc2Nzc1wiIGFzICo7XG5AdXNlIFwiLi9fdmFyaWFibGVzLnNjc3NcIiBhcyAqO1xuXG5AbWl4aW4ga2VuZG8tdHlwb2dyYXBoeS0tdGhlbWUoKSB7XG4gICAgLmstYm9keSB7XG4gICAgICAgIEBpbmNsdWRlIGZpbGwoXG4gICAgICAgICAgICB2YXIoIC0ta2VuZG8tYm9keS10ZXh0LCBpbml0aWFsICksXG4gICAgICAgICAgICB2YXIoIC0ta2VuZG8tYm9keS1iZywgaW5pdGlhbCApXG4gICAgICAgICk7XG4gICAgfVxuXG4gICAgLy8gQ29kZSBzbmlwcGV0XG4gICAgLmstcHJlLFxuICAgIC5rLWNvZGUge1xuICAgICAgICBAaW5jbHVkZSBmaWxsKFxuICAgICAgICAgICAgdmFyKCAtLWtlbmRvLWNvZGUtdGV4dCwgI3ska2VuZG8tY29kZS10ZXh0fSApLFxuICAgICAgICAgICAgdmFyKCAtLWtlbmRvLWNvZGUtYmcsICN7JGtlbmRvLWNvZGUtYmd9ICksXG4gICAgICAgICAgICB2YXIoIC0ta2VuZG8tY29kZS1ib3JkZXIsICN7JGtlbmRvLWNvZGUtYm9yZGVyfSApLFxuICAgICAgICApO1xuICAgIH1cblxufVxuIiwiQHVzZSBcIkBwcm9ncmVzcy9rZW5kby10aGVtZS1jb3JlL3Njc3MvZnVuY3Rpb25zL2luZGV4LmltcG9ydC5zY3NzXCIgYXMgKjtcbkB1c2UgXCIuL192YXJpYWJsZXMuc2Nzc1wiIGFzICo7XG5AdXNlIFwiLi9fZnVuY3Rpb25zLnNjc3NcIiBhcyAqO1xuQHVzZSBcInNhc3M6bWV0YVwiO1xuXG4ka2VuZG8tcHJlZml4OiBrLSAhZGVmYXVsdDtcbiRrZW5kby1pbXBvcnRhbnQ6IHRydWUgIWRlZmF1bHQ7XG5cbkBtaXhpbiBnZW5lcmF0ZS11dGlscyggJG5hbWUsICRwcm9wcywgJHZhbHVlcywgJGZ1bmN0aW9uOiBcImdlbkZ1bmNcIiwgJGltcG9ydGFudDogJGtlbmRvLWltcG9ydGFudCwgJGNzcy12YXI6IG51bGwgKSB7XG4gICAgQGlmICR2YWx1ZXMge1xuICAgICAgICAkX3Byb3BzOiBpZiggay1tZXRhLXR5cGUtb2YoJHByb3BzKSA9PSBsaXN0LCAkcHJvcHMsICggJHByb3BzICkgKTtcbiAgICAgICAgJF9mbjogaWYoIG1ldGEuZnVuY3Rpb24tZXhpc3RzKCAkZnVuY3Rpb24gKSwgbWV0YS5nZXQtZnVuY3Rpb24oICRmdW5jdGlvbiApLCBudWxsICk7XG5cbiAgICAgICAgQGVhY2ggJGtleSwgJHZhbCBpbiAkdmFsdWVzIHtcbiAgICAgICAgICAgICRfa2V5OiBrLWVzY2FwZS1jbGFzcy1uYW1lKCAka2V5ICk7XG4gICAgICAgICAgICAkX3ZhbDogaWYoIGstbWV0YS10eXBlLW9mKCR2YWx1ZXMpID09IGxpc3QsICRrZXksICR2YWwgKTtcbiAgICAgICAgICAgICRfbmFtZTogay1lc2NhcGUtY2xhc3MtbmFtZSggJG5hbWUgKTtcbiAgICAgICAgICAgICRfc2VsZWN0b3I6IGlmKCAkX2tleSA9PSBERUZBVUxULCAjeyRrZW5kby1wcmVmaXh9I3skX25hbWV9LCAjeyRrZW5kby1wcmVmaXh9I3skX25hbWV9LSN7JF9rZXl9KTtcbiAgICAgICAgICAgIC8vIEBkZWJ1ZyAkX3NlbGVjdG9yO1xuICAgICAgICAgICAgJF9jdXN0b20tcHJvcDogaWYoICRfa2V5ID09IERFRkFVTFQsIHZhciggLS1rZW5kby0jeyRjc3MtdmFyfSwgI3skX3ZhbH0gKSwgdmFyKCAtLWtlbmRvLSN7JGNzcy12YXJ9LSN7JF9rZXl9LCAjeyRfdmFsfSApICk7XG5cbiAgICAgICAgICAgIEBpZiAkaW1wb3J0YW50ICE9IG9ubHkge1xuICAgICAgICAgICAgICAgIC4jeyRfc2VsZWN0b3J9IHtcbiAgICAgICAgICAgICAgICAgICAgQGVhY2ggJHByb3AgaW4gJF9wcm9wcyB7XG4gICAgICAgICAgICAgICAgICAgICAgICBAaWYgJGNzcy12YXIge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICN7JHByb3B9OiBpZiggJF9mbiwgay1tZXRhLWNhbGwoJF9mbiwgJF9jdXN0b20tcHJvcCksICRfY3VzdG9tLXByb3AgKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIH0gQGVsc2Uge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICN7JHByb3B9OiBpZiggJF9mbiwgay1tZXRhLWNhbGwoJF9mbiwgJF92YWwpLCAkX3ZhbCApO1xuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgQGlmICRpbXBvcnRhbnQge1xuICAgICAgICAgICAgICAgIC5cXCEjeyRfc2VsZWN0b3J9IHtcbiAgICAgICAgICAgICAgICAgICAgQGVhY2ggJHByb3AgaW4gJF9wcm9wcyB7XG4gICAgICAgICAgICAgICAgICAgICAgICBAaWYgJGNzcy12YXIge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICN7JHByb3B9OiBpZiggJF9mbiwgay1tZXRhLWNhbGwoJF9mbiwgJC1jdXN0b20tcHJvcCksICQtY3VzdG9tLXByb3AgKSAhaW1wb3J0YW50OyAvLyBzdHlsZWxpbnQtZGlzYWJsZS1saW5lIGRlY2xhcmF0aW9uLW5vLWltcG9ydGFudFxuICAgICAgICAgICAgICAgICAgICAgICAgfSBAZWxzZSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgI3skcHJvcH06ICBpZiggJF9mbiwgay1tZXRhLWNhbGwoJF9mbiwgJF92YWwpLCAkX3ZhbCApICFpbXBvcnRhbnQ7IC8vIHN0eWxlbGludC1kaXNhYmxlLWxpbmUgZGVjbGFyYXRpb24tbm8taW1wb3J0YW50XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG59XG5cblxuLy8gUmVzcG9uc2l2ZSBMYXlvdXQgQnJlYWtwb2ludHNcbkBtaXhpbiBrZW5kby1icmVha3BvaW50LXVwKCAkYnJlYWtwb2ludCwgJG1lZGlhOiBhbGwgKSB7XG4gICAgQG1lZGlhIG9ubHkgI3skbWVkaWF9IGFuZCAobWluLXdpZHRoOiBrLW1hcC1nZXQoICRrZW5kby1icmVha3BvaW50cywgI3skYnJlYWtwb2ludH0gKSkge1xuICAgICAgICBAY29udGVudDtcbiAgICB9XG59XG5cbkBtaXhpbiBrZW5kby1icmVha3BvaW50LWRvd24oICRicmVha3BvaW50LCAkbWVkaWE6IGFsbCApIHtcbiAgICBAbWVkaWEgb25seSAjeyRtZWRpYX0gYW5kIChtYXgtd2lkdGg6ICggay1tYXAtZ2V0KCAka2VuZG8tYnJlYWtwb2ludHMsICN7JGJyZWFrcG9pbnR9ICkgLSAuMDIgKSkge1xuICAgICAgICBAY29udGVudDtcbiAgICB9XG59XG5cbkBtaXhpbiBrZW5kby1icmVha3BvaW50LW9ubHkoICRicmVha3BvaW50LCAkbWVkaWE6IGFsbCApIHtcbiAgICAkYnJlYWtwb2ludC1pbmRleDogay1saXN0LWluZGV4KCBrLW1hcC1rZXlzKCRrZW5kby1icmVha3BvaW50cyksICRicmVha3BvaW50ICk7XG4gICAgJG5leHQtYnJlYWtwb2ludC1pbmRleDogJGJyZWFrcG9pbnQtaW5kZXggKyAxO1xuXG4gICAgJG5leHQtYnJlYWtwb2ludDogay1saXN0LW50aCggay1tYXAta2V5cygka2VuZG8tYnJlYWtwb2ludHMpLCAkbmV4dC1icmVha3BvaW50LWluZGV4ICk7XG4gICAgQG1lZGlhIG9ubHkgI3skbWVkaWF9IGFuZCAobWluLXdpZHRoOiBrLW1hcC1nZXQoICRrZW5kby1icmVha3BvaW50cywgI3skYnJlYWtwb2ludH0gKSkgYW5kIChtYXgtd2lkdGg6ICggay1tYXAtZ2V0KCAka2VuZG8tYnJlYWtwb2ludHMsICN7JG5leHQtYnJlYWtwb2ludH0gKSAtIC4wMikpIHtcbiAgICAgICAgQGNvbnRlbnQ7XG4gICAgfVxufVxuIiwiLy8vIFRoaXMgaXMgZXF1aXZhbGVudCB0byBgdGV4dC1vdmVyZmxvdzogY2xpcDtgLlxuLy8vIEBleGFtcGxlIHRleHQtb3ZlcmZsb3c6IGNsaXA7XG4vLy8gQG5hbWUgLmstdGV4dC1jbGlwXG4vLy8gQGdyb3VwIHRleHQtb3ZlcmZsb3dcbi8vLyBAY29udGV4dFR5cGUgY3NzXG5cbi8vLyBUaGlzIGlzIGVxdWl2YWxlbnQgdG8gYHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzOyB3aGl0ZS1zcGFjZTogbm93cmFwOyBvdmVyZmxvdzogaGlkZGVuO2AuXG4vLy8gQGV4YW1wbGUgdGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7IHdoaXRlLXNwYWNlOiBub3dyYXA7IG92ZXJmbG93OiBoaWRkZW47XG4vLy8gQG5hbWUgLmstdGV4dC1lbGxpcHNpc1xuLy8vIEBncm91cCB0ZXh0LW92ZXJmbG93XG4vLy8gQGNvbnRleHRUeXBlIGNzc1xuXG5AdXNlIFwic2FzczptYXBcIjtcbkB1c2UgXCIuLi9fZ2xvYmFscy5zY3NzXCIgYXMgKjtcblxuLy8gUmVnaXN0ZXJcbkB1c2UgXCJAcHJvZ3Jlc3Mva2VuZG8tdGhlbWUtY29yZS9zY3NzL21peGlucy9pbXBvcnQtb25jZS5zY3NzXCIgYXMgKjtcblxuQG1peGluIGtlbmRvLXV0aWxzLS10eXBvZ3JhcGh5LS10ZXh0LW92ZXJmbG93KCkge1xuICAgIEBpbmNsdWRlIGltcG9ydC1vbmNlKFwidXRpbHMtdHlwb2dyYXBoeS10ZXh0LW92ZXJmbG93XCIpIHtcblxuICAgICAgICAvLyBUZXh0IG92ZXJmbG93IHV0aWxpdHkgY2xhc3Nlc1xuICAgICAgICAka2VuZG8tdXRpbHMtdGV4dC1vdmVyZmxvdzogbWFwLmdldCggJGtlbmRvLXV0aWxzLCBcInRleHQtb3ZlcmZsb3dcIiApICFkZWZhdWx0O1xuICAgICAgICBAaW5jbHVkZSBnZW5lcmF0ZS11dGlscyggdGV4dCwgdGV4dC1vdmVyZmxvdywgJGtlbmRvLXV0aWxzLXRleHQtb3ZlcmZsb3cgKTtcblxuXG4gICAgICAgIC8vIFRleHQgdHJ1bmNhdGUgdXRpbGl0eSBjbGFzc2VzXG4gICAgICAgIC4jeyRrZW5kby1wcmVmaXh9dGV4dC10cnVuY2F0ZSB7XG4gICAgICAgICAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICAgICAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAgICAgICAgIHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xuICAgICAgICB9XG4gICAgICAgIC5cXCEjeyRrZW5kby1wcmVmaXh9dGV4dC10cnVuY2F0ZSB7XG4gICAgICAgICAgICB3aGl0ZS1zcGFjZTogbm93cmFwICFpbXBvcnRhbnQ7IC8vIHN0eWxlbGludC1kaXNhYmxlLWxpbmUgZGVjbGFyYXRpb24tbm8taW1wb3J0YW50XG4gICAgICAgICAgICBvdmVyZmxvdzogaGlkZGVuICFpbXBvcnRhbnQ7IC8vIHN0eWxlbGludC1kaXNhYmxlLWxpbmUgZGVjbGFyYXRpb24tbm8taW1wb3J0YW50XG4gICAgICAgICAgICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcyAhaW1wb3J0YW50OyAvLyBzdHlsZWxpbnQtZGlzYWJsZS1saW5lIGRlY2xhcmF0aW9uLW5vLWltcG9ydGFudFxuICAgICAgICB9XG5cbiAgICAgICAgLy8gTGVnYWN5IGFsaWFzZXNcbiAgICAgICAgLiN7JGtlbmRvLXByZWZpeH10ZXh0LWVsbGlwc2lzIHsgQGV4dGVuZCAuI3ska2VuZG8tcHJlZml4fXRleHQtdHJ1bmNhdGUgIW9wdGlvbmFsOyB9XG4gICAgICAgIC5cXCEjeyRrZW5kby1wcmVmaXh9dGV4dC1lbGxpcHNpcyB7IEBleHRlbmQgLlxcISN7JGtlbmRvLXByZWZpeH10ZXh0LXRydW5jYXRlICFvcHRpb25hbDsgfVxuXG4gICAgfVxufVxuIiwiJGtlbmRvLXRyYW5zaXRpb246IGNvbG9yIC4ycyBlYXNlLWluLW91dCwgYmFja2dyb3VuZC1jb2xvciAuMnMgZWFzZS1pbi1vdXQsIGJvcmRlci1jb2xvciAuMnMgZWFzZS1pbi1vdXQsIGJveC1zaGFkb3cgLjJzIGVhc2UtaW4tb3V0ICFkZWZhdWx0O1xuXG5AbWl4aW4ga2VuZG8tdHJhbnNpdGlvbi0tc3R5bGVzKCkge1xuICAgIDpyb290IHtcbiAgICAgICAgLS1rZW5kby10cmFuc2l0aW9uOiAjeyRrZW5kby10cmFuc2l0aW9ufTtcbiAgICB9XG59XG4iLCJAZm9yd2FyZCBcIl92YXJpYWJsZXMuc2Nzc1wiO1xuQHVzZSBcIl92YXJpYWJsZXMuc2Nzc1wiIGFzICo7XG5cbkBtaXhpbiBrZW5kby1zdmctaWNvbi1zdHlsZXMoKSB7XG5cbiAgICAuay1zdmctaWNvbiB7XG4gICAgICAgIHdpZHRoOiAka2ktaWNvbi1zaXplO1xuICAgICAgICBoZWlnaHQ6ICRraS1pY29uLXNpemU7XG4gICAgICAgIG91dGxpbmU6IDA7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxO1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgICAgICAgZmxleC1mbG93OiByb3cgbm93cmFwO1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gICAgICAgID4gc3ZnIHtcbiAgICAgICAgICAgIGZpbGw6IGN1cnJlbnRDb2xvcjtcbiAgICAgICAgICAgIGZsZXg6IDEgMSBhdXRvO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLy8gU1ZHIEljb24gc2l6ZXNcbiAgICAuay1zdmctaWNvbiB7XG4gICAgICAgICYuay1pY29uLXhzIHtcbiAgICAgICAgICAgIHdpZHRoOiAka2ktaWNvbi1zaXplLXhzO1xuICAgICAgICAgICAgaGVpZ2h0OiAka2ktaWNvbi1zaXplLXhzO1xuICAgICAgICB9XG4gICAgICAgICYuay1pY29uLXNtIHtcbiAgICAgICAgICAgIHdpZHRoOiAka2ktaWNvbi1zaXplLXNtO1xuICAgICAgICAgICAgaGVpZ2h0OiAka2ktaWNvbi1zaXplLXNtO1xuICAgICAgICB9XG4gICAgICAgICYuay1pY29uLW1kIHtcbiAgICAgICAgICAgIHdpZHRoOiAka2ktaWNvbi1zaXplLW1kO1xuICAgICAgICAgICAgaGVpZ2h0OiAka2ktaWNvbi1zaXplLW1kO1xuICAgICAgICB9XG4gICAgICAgICYuay1pY29uLWxnIHtcbiAgICAgICAgICAgIHdpZHRoOiAka2ktaWNvbi1zaXplLWxnO1xuICAgICAgICAgICAgaGVpZ2h0OiAka2ktaWNvbi1zaXplLWxnO1xuICAgICAgICB9XG4gICAgICAgICYuay1pY29uLXhsIHtcbiAgICAgICAgICAgIHdpZHRoOiAka2ktaWNvbi1zaXplLXhsO1xuICAgICAgICAgICAgaGVpZ2h0OiAka2ktaWNvbi1zaXplLXhsO1xuICAgICAgICB9XG4gICAgICAgICYuay1pY29uLXh4bCB7XG4gICAgICAgICAgICB3aWR0aDogJGtpLWljb24tc2l6ZS14eGw7XG4gICAgICAgICAgICBoZWlnaHQ6ICRraS1pY29uLXNpemUteHhsO1xuICAgICAgICB9XG4gICAgICAgICYuay1pY29uLXh4eGwge1xuICAgICAgICAgICAgd2lkdGg6ICRraS1pY29uLXNpemUteHh4bDtcbiAgICAgICAgICAgIGhlaWdodDogJGtpLWljb24tc2l6ZS14eHhsO1xuICAgICAgICB9XG4gICAgfVxuXG5cbiAgICAvLyBGbGlwXG4gICAgLmstZmxpcC1oLFxuICAgIC5rLWZsaXAtdixcbiAgICAuay1mbGlwLWguay1mbGlwLXYge1xuICAgICAgICAmLmstc3ZnLWljb24ge1xuICAgICAgICAgICAgdHJhbnNmb3JtOiBub25lO1xuICAgICAgICB9XG4gICAgfVxuICAgIC5rLWZsaXAtaCB7XG4gICAgICAgID4gc3ZnIHtcbiAgICAgICAgICAgIHRyYW5zZm9ybTogc2NhbGVYKCAtMSApO1xuICAgICAgICB9XG4gICAgfVxuICAgIC5rLWZsaXAtdiB7XG4gICAgICAgID4gc3ZnIHtcbiAgICAgICAgICAgIHRyYW5zZm9ybTogc2NhbGVZKCAtMSApO1xuICAgICAgICB9XG4gICAgfVxuICAgIC5rLWZsaXAtaC5rLWZsaXAtdixcbiAgICAuay1mbGlwLWJvdGgge1xuICAgICAgICA+IHN2ZyB7XG4gICAgICAgICAgICB0cmFuc2Zvcm06IHNjYWxlKCAtMSwgLTEgKTtcbiAgICAgICAgfVxuICAgIH1cblxuXG4gICAgLy8gUm90YXRlXG4gICAgQGVhY2ggJGluZGV4LCAkcm90YXRlIGluICRraS1yb3RhdGUtbWFwIHtcbiAgICAgICAgLmstcm90YXRlLSN7JGluZGV4fSB7XG4gICAgICAgICAgICAmLmstc3ZnLWljb24ge1xuICAgICAgICAgICAgICAgIHRyYW5zZm9ybTogbm9uZTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgPiBzdmcge1xuICAgICAgICAgICAgICAgIHRyYW5zZm9ybTogcm90YXRlKCAjeyRyb3RhdGV9ICk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbn1cbiIsIkB1c2UgXCIuL192YXJpYWJsZXMuc2Nzc1wiIGFzICo7XG5cbkB1c2UgXCJAcHJvZ3Jlc3Mva2VuZG8tc3ZnLWljb25zL3Njc3MvaW5kZXguc2Nzc1wiIHdpdGggKFxuICAgICRraS1pY29uLXNpemU6IHZhciggLS1rZW5kby1pY29uLXNpemUsIDFyZW0gKVxuKTtcblxuQG1peGluIGtlbmRvLWljb24tLWxheW91dCgpIHtcblxuICAgIEBpbmNsdWRlIGluZGV4LmtlbmRvLXN2Zy1pY29uLXN0eWxlcygpO1xuXG4gICAgLy8ga2VuZG8taWNvbi13cmFwcGVyIGNvbXBvbmVudFxuICAgIC5rLWljb24td3JhcHBlci1ob3N0IHtcbiAgICAgICAgZGlzcGxheTogY29udGVudHM7XG4gICAgfVxuXG4gICAgLmstaWNvbi13aXRoLW1vZGlmaWVyIHtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICBtYXJnaW46IC4yNWVtO1xuICAgIH1cblxuICAgIC5rLWljb24uay1pY29uLW1vZGlmaWVyIHtcbiAgICAgICAgd2lkdGg6IDFlbTtcbiAgICAgICAgaGVpZ2h0OiAxZW07XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgZm9udC1zaXplOiAuNWVtO1xuICAgICAgICBib3R0b206IDA7XG4gICAgICAgIHJpZ2h0OiAwO1xuICAgICAgICBtYXJnaW46IDAgLS41ZW0gLS41ZW0gMDtcbiAgICB9XG5cbiAgICAuay1pY29uLWFjdGlvbiB7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICAgICAgICBwYWRkaW5nOiB2YXIoIC0ta2VuZG8taWNvbi1wYWRkaW5nLCAuMjVyZW0gKTtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDE7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gICAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICB9XG5cbn1cbiIsIiRraS1pY29uLXNpemU6IDE2cHggIWRlZmF1bHQ7XG5cbiRraS1pY29uLXNpemUteHM6IGNhbGMoICN7JGtpLWljb24tc2l6ZX0gKiAuNzUgKSAhZGVmYXVsdDtcbiRraS1pY29uLXNpemUtc206IGNhbGMoICN7JGtpLWljb24tc2l6ZX0gKiAuODc1ICkgIWRlZmF1bHQ7XG4ka2ktaWNvbi1zaXplLW1kOiAka2ktaWNvbi1zaXplICFkZWZhdWx0O1xuJGtpLWljb24tc2l6ZS1sZzogY2FsYyggI3ska2ktaWNvbi1zaXplfSAqIDEuMjUgKSAhZGVmYXVsdDtcbiRraS1pY29uLXNpemUteGw6IGNhbGMoICN7JGtpLWljb24tc2l6ZX0gKiAxLjUgKSAhZGVmYXVsdDtcbiRraS1pY29uLXNpemUteHhsOiBjYWxjKCAjeyRraS1pY29uLXNpemV9ICogMiApICFkZWZhdWx0O1xuJGtpLWljb24tc2l6ZS14eHhsOiBjYWxjKCAjeyRraS1pY29uLXNpemV9ICogMyApICFkZWZhdWx0O1xuXG4ka2ktcm90YXRlLW1hcDogKFxuICAgIDA6IDBkZWcsXG4gICAgNDU6IDQ1ZGVnLFxuICAgIDkwOiA5MGRlZyxcbiAgICAxMzU6IDEzNWRlZyxcbiAgICAxODA6IDE4MGRlZyxcbiAgICAyMjU6IDIyNWRlZyxcbiAgICAyNzA6IDI3MGRlZyxcbiAgICAzMTU6IDMxNWRlZ1xuKSAhZGVmYXVsdDtcblxuIiwiLy8vIFRoaXMgaXMgZXF1aXZhbGVudCB0byBgdHJhbnNmb3JtOiBzY2FsZVgoIC0xICk7YC5cbi8vLyBAZXhhbXBsZSB0cmFuc2Zvcm06IHNjYWxlWCggLTEgKTtcbi8vLyBAbmFtZSAuay1mbGlwLWhcbi8vLyBAZ3JvdXAgdHJhbnNmb3JtXG4vLy8gQGNvbnRleHRUeXBlIGNzc1xuXG4vLy8gVGhpcyBpcyBlcXVpdmFsZW50IHRvIGB0cmFuc2Zvcm06IHNjYWxlWSggLTEgKTtgLlxuLy8vIEBleGFtcGxlIHRyYW5zZm9ybTogc2NhbGVZKCAtMSApO1xuLy8vIEBuYW1lIC5rLWZsaXAtdlxuLy8vIEBncm91cCB0cmFuc2Zvcm1cbi8vLyBAY29udGV4dFR5cGUgY3NzXG5cbi8vIFRPRE86IGNvbnNpZGVyIGdsb2JhbGx5IGhvcml6b250YWwgdnMgaCB2cyB4XG5cbkB1c2UgXCJzYXNzOm1hcFwiO1xuQHVzZSBcIi4uL19nbG9iYWxzLnNjc3NcIiBhcyAqO1xuXG4vLyBSZWdpc3RlclxuQHVzZSBcIkBwcm9ncmVzcy9rZW5kby10aGVtZS1jb3JlL3Njc3MvbWl4aW5zL2ltcG9ydC1vbmNlLnNjc3NcIiBhcyAqO1xuXG5AbWl4aW4ga2VuZG8tdXRpbHMtLXRyYW5zZm9ybS0tZmxpcCgpIHtcbiAgICBAaW5jbHVkZSBpbXBvcnQtb25jZShcInV0aWxzLXRyYW5zZm9ybS1mbGlwXCIpIHtcblxuICAgICAgICAvLyBGbGlwIHV0aWxpdHkgY2xhc3Nlc1xuICAgICAgICAka2VuZG8tdXRpbHMtZmxpcDogbWFwLmdldCggJGtlbmRvLXV0aWxzLCBcImZsaXBcIiApICFkZWZhdWx0O1xuICAgICAgICBAaWYgJGtlbmRvLXV0aWxzLWZsaXAge1xuICAgICAgICAgICAgLiN7JGtlbmRvLXByZWZpeH1mbGlwLWggeyB0cmFuc2Zvcm06IHNjYWxlWCggLTEgKTsgfVxuICAgICAgICAgICAgLlxcISN7JGtlbmRvLXByZWZpeH1mbGlwLWggeyB0cmFuc2Zvcm06IHNjYWxlWCggLTEgKSAhaW1wb3J0YW50OyB9IC8vIHN0eWxlbGludC1kaXNhYmxlLWxpbmUgZGVjbGFyYXRpb24tbm8taW1wb3J0YW50XG4gICAgICAgICAgICAuI3ska2VuZG8tcHJlZml4fWZsaXAtdiB7IHRyYW5zZm9ybTogc2NhbGVZKCAtMSApOyB9XG4gICAgICAgICAgICAuXFwhI3ska2VuZG8tcHJlZml4fWZsaXAtdiB7IHRyYW5zZm9ybTogc2NhbGVZKCAtMSApICFpbXBvcnRhbnQ7IH0gLy8gc3R5bGVsaW50LWRpc2FibGUtbGluZSBkZWNsYXJhdGlvbi1uby1pbXBvcnRhbnRcbiAgICAgICAgICAgIC4jeyRrZW5kby1wcmVmaXh9ZmxpcC1oLiN7JGtlbmRvLXByZWZpeH1mbGlwLXYgeyB0cmFuc2Zvcm06IHNjYWxlKCAtMSwgLTEgKTsgfVxuICAgICAgICAgICAgLlxcISN7JGtlbmRvLXByZWZpeH1mbGlwLWguXFwhI3ska2VuZG8tcHJlZml4fWZsaXAtdiB7IHRyYW5zZm9ybTogc2NhbGUoIC0xLCAtMSApICFpbXBvcnRhbnQ7IH0gLy8gc3R5bGVsaW50LWRpc2FibGUtbGluZSBkZWNsYXJhdGlvbi1uby1pbXBvcnRhbnRcblxuICAgICAgICAgICAgLy8gTGVnYWN5IGFsaWFzZXNcbiAgICAgICAgICAgIC4jeyRrZW5kby1wcmVmaXh9ZmxpcC14IHsgQGV4dGVuZCAuI3ska2VuZG8tcHJlZml4fWZsaXAtaCAhb3B0aW9uYWw7IH1cbiAgICAgICAgICAgIC5cXCEjeyRrZW5kby1wcmVmaXh9ZmxpcC14IHsgQGV4dGVuZCAuXFwhI3ska2VuZG8tcHJlZml4fWZsaXAtaCAhb3B0aW9uYWw7IH1cbiAgICAgICAgICAgIC4jeyRrZW5kby1wcmVmaXh9ZmxpcC15IHsgQGV4dGVuZCAuI3ska2VuZG8tcHJlZml4fWZsaXAtdiAhb3B0aW9uYWw7IH1cbiAgICAgICAgICAgIC5cXCEjeyRrZW5kby1wcmVmaXh9ZmxpcC15IHsgQGV4dGVuZCAuXFwhI3ska2VuZG8tcHJlZml4fWZsaXAtdiAhb3B0aW9uYWw7IH1cbiAgICAgICAgfVxuXG4gICAgfVxufVxuIiwiQHVzZSBcIi4vX3ZhcmlhYmxlcy5zY3NzXCIgYXMgKjtcblxuQG1peGluIGtlbmRvLW1lc3NhZ2Vib3gtLWxheW91dCgpIHtcblxuICAgIC5rLW1lc3NhZ2Vib3gge1xuICAgICAgICBtYXJnaW46IHZhciggLS1rZW5kby1tZXNzYWdlLWJveC1tYXJnaW4sICN7JGtlbmRvLW1lc3NhZ2UtYm94LW1hcmdpbn0gKTtcbiAgICAgICAgcGFkZGluZy1pbmxpbmU6IHZhciggLS1rZW5kby1tZXNzYWdlLWJveC1wYWRkaW5nLXgsICN7JGtlbmRvLW1lc3NhZ2UtYm94LXBhZGRpbmcteH0gKTtcbiAgICAgICAgcGFkZGluZy1ibG9jazogdmFyKCAtLWtlbmRvLW1lc3NhZ2UtYm94LXBhZGRpbmcteSwgI3ska2VuZG8tbWVzc2FnZS1ib3gtcGFkZGluZy15fSApO1xuICAgICAgICBib3JkZXItd2lkdGg6IHZhciggLS1rZW5kby1tZXNzYWdlLWJveC1ib3JkZXItd2lkdGgsICN7JGtlbmRvLW1lc3NhZ2UtYm94LWJvcmRlci13aWR0aH0gKTtcbiAgICAgICAgYm9yZGVyLXN0eWxlOiB2YXIoIC0ta2VuZG8tbWVzc2FnZS1ib3gtYm9yZGVyLXN0eWxlLCAjeyRrZW5kby1tZXNzYWdlLWJveC1ib3JkZXItc3R5bGV9ICk7XG4gICAgICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgICAgIGZvbnQtZmFtaWx5OiB2YXIoIC0ta2VuZG8tbWVzc2FnZS1ib3gtZm9udC1mYW1pbHksICN7JGtlbmRvLW1lc3NhZ2UtYm94LWZvbnQtZmFtaWx5fSApO1xuICAgICAgICBmb250LXNpemU6IHZhciggLS1rZW5kby1tZXNzYWdlLWJveC1mb250LXNpemUsICN7JGtlbmRvLW1lc3NhZ2UtYm94LWZvbnQtc2l6ZX0gKTtcbiAgICAgICAgbGluZS1oZWlnaHQ6IHZhciggLS1rZW5kby1tZXNzYWdlLWJveC1saW5lLWhlaWdodCwgI3ska2VuZG8tbWVzc2FnZS1ib3gtbGluZS1oZWlnaHR9ICk7XG5cbiAgICAgICAgYSB7XG4gICAgICAgICAgICBmb250LXN0eWxlOiB2YXIoIC0ta2VuZG8tbWVzc2FnZS1ib3gtbGluay1mb250LXN0eWxlLCAjeyRrZW5kby1tZXNzYWdlLWJveC1saW5rLWZvbnQtc3R5bGV9ICk7XG4gICAgICAgICAgICB0ZXh0LWRlY29yYXRpb246IHZhciggLS1rZW5kby1tZXNzYWdlLWJveC1saW5rLWRlY29yYXRpb24sICN7JGtlbmRvLW1lc3NhZ2UtYm94LWxpbmstZGVjb3JhdGlvbn0gKTtcbiAgICAgICAgfVxuICAgIH1cblxufVxuIiwiQHVzZSBcInNhc3M6bWFwXCI7XG5AdXNlIFwiLi4vY29yZS9faW5kZXguc2Nzc1wiIGFzICo7XG5AdXNlIFwiLi9fdmFyaWFibGVzLnNjc3NcIiBhcyAqO1xuXG5AbWl4aW4ga2VuZG8tbWVzc2FnZWJveC0tdGhlbWUoKSB7XG5cbiAgICAuay1tZXNzYWdlYm94IHtcbiAgICAgICAgLS1JTlRFUk5BTC0ta2VuZG8tbWVzc2FnZWJveC10ZXh0OiB2YXIoIC0ta2VuZG8tbWVzc2FnZWJveC10ZXh0ICk7XG4gICAgICAgIC0tSU5URVJOQUwtLWtlbmRvLW1lc3NhZ2Vib3gtYmc6IHZhciggLS1rZW5kby1tZXNzYWdlYm94LWJnICk7XG4gICAgICAgIC0tSU5URVJOQUwtLWtlbmRvLW1lc3NhZ2Vib3gtYm9yZGVyOiB2YXIoIC0ta2VuZG8tbWVzc2FnZWJveC1ib3JkZXIgKTtcblxuICAgICAgICBjb2xvcjogdmFyKCAtLUlOVEVSTkFMLS1rZW5kby1tZXNzYWdlYm94LXRleHQsIGluaXRpYWwgKTtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKCAtLUlOVEVSTkFMLS1rZW5kby1tZXNzYWdlYm94LWJnLCBpbml0aWFsICk7XG4gICAgICAgIGJvcmRlci1jb2xvcjogdmFyKCAtLUlOVEVSTkFMLS1rZW5kby1tZXNzYWdlYm94LWJvcmRlciwgaW5pdGlhbCApO1xuXG4gICAgICAgIGEge1xuICAgICAgICAgICAgQGluY2x1ZGUgZmlsbChcbiAgICAgICAgICAgICAgICAkY29sb3I6IHZhciggLS1rZW5kby1tZXNzYWdlLWJveC1saW5rLXRleHQsICN7JGtlbmRvLW1lc3NhZ2UtYm94LWxpbmstdGV4dH0gKSxcbiAgICAgICAgICAgICk7XG5cbiAgICAgICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGZpbGwoXG4gICAgICAgICAgICAgICAgICAgICRjb2xvcjogdmFyKCAtLWtlbmRvLW1lc3NhZ2UtYm94LWxpbmstaG92ZXItdGV4dCwgI3ska2VuZG8tbWVzc2FnZS1ib3gtbGluay1ob3Zlci10ZXh0fSApLFxuICAgICAgICAgICAgICAgICk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgIH1cblxuICAgIEBlYWNoICR0aGVtZS1jb2xvciwgJGNvbG9yLXByb3BzIGluICRrZW5kby10aGVtZS1jb2xvcnMge1xuXG4gICAgICAgICRfdGV4dDogY3VycmVudENvbG9yO1xuICAgICAgICAkX2JnOiBtYXAuZ2V0KCAkY29sb3ItcHJvcHMsIGJnICk7XG4gICAgICAgICRfYm9yZGVyOiBtYXAuZ2V0KCAkY29sb3ItcHJvcHMsIGJvcmRlciApO1xuXG4gICAgICAgIC5rLW1lc3NhZ2Vib3gtI3skdGhlbWUtY29sb3J9IHtcbiAgICAgICAgICAgIC0ta2VuZG8tbWVzc2FnZWJveC10ZXh0OiB2YXIoIC0ta2VuZG8tbWVzc2FnZWJveC0jeyR0aGVtZS1jb2xvcn0tdGV4dCwgI3skX3RleHR9ICk7XG4gICAgICAgICAgICAtLWtlbmRvLW1lc3NhZ2Vib3gtYmc6IHZhciggLS1rZW5kby1tZXNzYWdlYm94LSN7JHRoZW1lLWNvbG9yfS1iZywgI3skX2JnfSApO1xuICAgICAgICAgICAgLS1rZW5kby1tZXNzYWdlYm94LWJvcmRlcjogdmFyKCAtLWtlbmRvLW1lc3NhZ2Vib3gtI3skdGhlbWUtY29sb3J9LWJvcmRlciwgI3skX2JvcmRlcn0gKTtcbiAgICAgICAgfVxuXG4gICAgfVxuXG59XG4iLCJAdXNlIFwic2FzczptYXBcIjtcbkB1c2UgXCIuLi9jb3JlL19pbmRleC5zY3NzXCIgYXMgKjtcbkB1c2UgXCIuL192YXJpYWJsZXMuc2Nzc1wiIGFzICo7XG5cbkBtaXhpbiBrZW5kby1iYWRnZS0tbGF5b3V0KCkge1xuXG4gICAgLmstYmFkZ2Uge1xuICAgICAgICBwYWRkaW5nLWlubGluZTogdmFyKCAtLUlOVEVSTkFMLS1rZW5kby1iYWRnZS1wYWRkaW5nLXgsIDAgKTtcbiAgICAgICAgcGFkZGluZy1ibG9jazogdmFyKCAtLUlOVEVSTkFMLS1rZW5kby1iYWRnZS1wYWRkaW5nLXksIDAgKTtcbiAgICAgICAgbWluLXdpZHRoOiB2YXIoIC0tSU5URVJOQUwtLWtlbmRvLWJhZGdlLW1pbi13aWR0aCwgYXV0byApO1xuICAgICAgICBmb250LXNpemU6IHZhciggLS1JTlRFUk5BTC0ta2VuZG8tYmFkZ2UtZm9udC1zaXplLCAxcmVtICk7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiB2YXIoIC0ta2VuZG8tYmFkZ2UtZm9udC13ZWlnaHQsICN7JGtlbmRvLWJhZGdlLWZvbnQtd2VpZ2h0fSApO1xuICAgICAgICBsaW5lLWhlaWdodDogdmFyKCAtLUlOVEVSTkFMLS1rZW5kby1iYWRnZS1saW5lLWhlaWdodCwgbm9ybWFsICk7XG4gICAgICAgIGJvcmRlci13aWR0aDogdmFyKCAtLWtlbmRvLWJhZGdlLWJvcmRlci13aWR0aCwgI3ska2VuZG8tYmFkZ2UtYm9yZGVyLXdpZHRofSApO1xuICAgICAgICBib3JkZXItc3R5bGU6IHNvbGlkO1xuICAgICAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50O1xuICAgICAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgICAgICBjb2xvcjogaW5oZXJpdDtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgICAgICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcblxuICAgICAgICAqLFxuICAgICAgICAqOjpiZWZvcmUsXG4gICAgICAgICo6OmFmdGVyIHtcbiAgICAgICAgICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgICAgIH1cbiAgICB9XG4gICAgLmstYmFkZ2UgPiAqIHtcbiAgICAgICAgY29sb3I6IGluaGVyaXQ7XG4gICAgfVxuXG5cbiAgICAvLyBMaW5rc1xuICAgIGEuay1iYWRnZSxcbiAgICAuay1iYWRnZSA+IGEge1xuICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgfVxuICAgIGEuay1iYWRnZTpob3ZlcixcbiAgICAuay1iYWRnZSA+IGE6aG92ZXIge1xuICAgICAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcbiAgICB9XG5cblxuICAgIC8vIEljb25cbiAgICAuay1iYWRnZS1pY29uIHtcbiAgICAgICAgbWF4LXdpZHRoOiAxZW07XG4gICAgICAgIG1heC1oZWlnaHQ6IDFlbTtcbiAgICAgICAgZm9udC1zaXplOiBpbmhlcml0O1xuICAgIH1cbiAgICAuay1iYWRnZS1pY29uIHN2ZyB7XG4gICAgICAgIGZpbGw6IGN1cnJlbnRDb2xvcjtcbiAgICB9XG5cbiAgICAvLyBCYWRnZSBzaXplc1xuICAgIEBlYWNoICRzaXplLCAkc2l6ZS1wcm9wcyBpbiAka2VuZG8tYmFkZ2Utc2l6ZXMge1xuICAgICAgICAkX3BhZGRpbmcteDogbWFwLmdldCggJHNpemUtcHJvcHMsIHBhZGRpbmcteCApO1xuICAgICAgICAkX3BhZGRpbmcteTogbWFwLmdldCggJHNpemUtcHJvcHMsIHBhZGRpbmcteSApO1xuICAgICAgICAkX2ZvbnQtc2l6ZTogbWFwLmdldCggJHNpemUtcHJvcHMsIGZvbnQtc2l6ZSApO1xuICAgICAgICAkX2xpbmUtaGVpZ2h0OiBtYXAuZ2V0KCAkc2l6ZS1wcm9wcywgbGluZS1oZWlnaHQgKTtcbiAgICAgICAgJF9taW4td2lkdGg6IG1hcC5nZXQoICRzaXplLXByb3BzLCBtaW4td2lkdGggKTtcblxuICAgICAgICAuay1iYWRnZS0jeyRzaXplfSB7XG4gICAgICAgICAgICAtLUlOVEVSTkFMLS1rZW5kby1iYWRnZS1wYWRkaW5nLXg6IHZhciggLS1rZW5kby1iYWRnZS0jeyRzaXplfS1wYWRkaW5nLXgsICN7JF9wYWRkaW5nLXh9ICk7XG4gICAgICAgICAgICAtLUlOVEVSTkFMLS1rZW5kby1iYWRnZS1wYWRkaW5nLXk6IHZhciggLS1rZW5kby1iYWRnZS0jeyRzaXplfS1wYWRkaW5nLXksICN7JF9wYWRkaW5nLXl9ICk7XG4gICAgICAgICAgICAtLUlOVEVSTkFMLS1rZW5kby1iYWRnZS1mb250LXNpemU6IHZhciggLS1rZW5kby1iYWRnZS0jeyRzaXplfS1mb250LXNpemUsICN7JF9mb250LXNpemV9ICk7XG4gICAgICAgICAgICAtLUlOVEVSTkFMLS1rZW5kby1iYWRnZS1saW5lLWhlaWdodDogdmFyKCAtLWtlbmRvLWJhZGdlLSN7JHNpemV9LWxpbmUtaGVpZ2h0LCAjeyRfbGluZS1oZWlnaHR9ICk7XG4gICAgICAgICAgICAtLUlOVEVSTkFMLS1rZW5kby1iYWRnZS1taW4td2lkdGg6IHZhciggLS1rZW5kby1iYWRnZS0jeyRzaXplfS1taW4td2lkdGgsICN7JF9taW4td2lkdGh9ICk7XG5cbiAgICAgICAgICAgICY6ZW1wdHkge1xuICAgICAgICAgICAgICAgIC0tSU5URVJOQUwtLWtlbmRvLWJhZGdlLXBhZGRpbmcteDogdmFyKCAtLWtlbmRvLWJhZGdlLSN7JHNpemV9LXBhZGRpbmcteSwgI3skX3BhZGRpbmcteX0gKTtcbiAgICAgICAgICAgICAgICAtLUlOVEVSTkFMLS1rZW5kby1iYWRnZS1wYWRkaW5nLXk6IHZhciggLS1rZW5kby1iYWRnZS0jeyRzaXplfS1wYWRkaW5nLXksICN7JF9wYWRkaW5nLXl9ICk7XG5cbiAgICAgICAgICAgICAgICBtaW4td2lkdGg6IGF1dG87XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBrZW5kby1iYWRnZS1jb250YWluZXIge1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgfVxuXG4gICAgLy8gQmFkZ2UgcG9zaXRpb25cbiAgICAuay1iYWRnZS1jb250YWluZXIge1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIG92ZXJmbG93OiB2aXNpYmxlO1xuICAgIH1cblxuICAgIEBlYWNoICRwbGFjZW1lbnQsICR0cmFuc2xhdGUgaW4gKFwiaW5zaWRlXCI6IG51bGwsIFwiZWRnZVwiOiA1MCwgXCJvdXRzaWRlXCI6IDEwMCkge1xuXG4gICAgICAgIC5rLWJhZGdlLSN7JHBsYWNlbWVudH0ge1xuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgei1pbmRleDogOTk5OTtcblxuICAgICAgICAgICAgJi5rLXRvcC1zdGFydCB7XG4gICAgICAgICAgICAgICAgQGlmICR0cmFuc2xhdGUge1xuICAgICAgICAgICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSggLTElICogJHRyYW5zbGF0ZSwgLTElICogJHRyYW5zbGF0ZSApO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgICYuay10b3AtZW5kIHtcbiAgICAgICAgICAgICAgICBAaWYgJHRyYW5zbGF0ZSB7XG4gICAgICAgICAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKCAxJSAqICR0cmFuc2xhdGUsIC0xJSAqICR0cmFuc2xhdGUgKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAmLmstYm90dG9tLXN0YXJ0IHtcbiAgICAgICAgICAgICAgICBAaWYgJHRyYW5zbGF0ZSB7XG4gICAgICAgICAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKCAtMSUgKiAkdHJhbnNsYXRlLCAxJSAqICR0cmFuc2xhdGUgKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAmLmstYm90dG9tLWVuZCB7XG4gICAgICAgICAgICAgICAgQGlmICR0cmFuc2xhdGUge1xuICAgICAgICAgICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSggMSUgKiAkdHJhbnNsYXRlLCAxJSAqICR0cmFuc2xhdGUgKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAuay1ydGwgLmstYmFkZ2UtI3skcGxhY2VtZW50fSxcbiAgICAgICAgW2Rpcj1cInJ0bFwiXS5rLWJhZGdlLSN7JHBsYWNlbWVudH0sXG4gICAgICAgIFtkaXI9XCJydGxcIl0gLmstYmFkZ2UtI3skcGxhY2VtZW50fSB7XG4gICAgICAgICAgICAmLmstdG9wLXN0YXJ0IHtcbiAgICAgICAgICAgICAgICBAaWYgJHRyYW5zbGF0ZSB7XG4gICAgICAgICAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKCAxJSAqICR0cmFuc2xhdGUsIC0xJSAqICR0cmFuc2xhdGUgKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAmLmstdG9wLWVuZCB7XG4gICAgICAgICAgICAgICAgQGlmICR0cmFuc2xhdGUge1xuICAgICAgICAgICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSggLTElICogJHRyYW5zbGF0ZSwgLTElICogJHRyYW5zbGF0ZSApO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgICYuay1ib3R0b20tc3RhcnQge1xuICAgICAgICAgICAgICAgIEBpZiAkdHJhbnNsYXRlIHtcbiAgICAgICAgICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoIDElICogJHRyYW5zbGF0ZSwgMSUgKiAkdHJhbnNsYXRlICk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgJi5rLWJvdHRvbS1lbmQge1xuICAgICAgICAgICAgICAgIEBpZiAkdHJhbnNsYXRlIHtcbiAgICAgICAgICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoIC0xJSAqICR0cmFuc2xhdGUsIDElICogJHRyYW5zbGF0ZSApO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuXG4gICAgLy8gQm9yZGVyIGN1dG91dFxuICAgIC5rLWJhZGdlLWJvcmRlci1jdXRvdXQge1xuICAgICAgICBib3gtc2hhZG93OiAwIDAgMCAycHggdmFyKCAtLWtlbmRvLWNvbXBvbmVudC1iZywgaW5oZXJpdCApO1xuICAgIH1cblxufVxuIiwiQHVzZSBcInNhc3M6bWFwXCI7XG5AdXNlIFwiLi4vY29yZS9faW5kZXguc2Nzc1wiIGFzICo7XG5AdXNlIFwiLi9fdmFyaWFibGVzLnNjc3NcIiBhcyAqO1xuXG5AbWl4aW4ga2VuZG8tYmFkZ2UtLXRoZW1lKCkge1xuXG4gICAgLmstYmFkZ2Uge1xuICAgICAgICAtLUlOVEVSTkFMLS1rZW5kby1iYWRnZS10ZXh0OiB2YXIoIC0ta2VuZG8tYmFkZ2UtdGV4dCwgI3ska2VuZG8tYmFkZ2UtdGV4dH0gKTtcbiAgICAgICAgLS1JTlRFUk5BTC0ta2VuZG8tYmFkZ2UtYmc6IHZhciggLS1rZW5kby1iYWRnZS1iZywgI3ska2VuZG8tYmFkZ2UtYmd9ICk7XG4gICAgICAgIC0tSU5URVJOQUwtLWtlbmRvLWJhZGdlLWJvcmRlcjogdmFyKCAtLWtlbmRvLWJhZGdlLWJvcmRlciwgI3ska2VuZG8tYmFkZ2UtYm9yZGVyfSApO1xuXG4gICAgICAgIGNvbG9yOiB2YXIoIC0tSU5URVJOQUwtLWtlbmRvLWJhZGdlLXRleHQsIGluaXRpYWwgKTtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKCAtLUlOVEVSTkFMLS1rZW5kby1iYWRnZS1iZywgaW5pdGlhbCApO1xuICAgICAgICBib3JkZXItY29sb3I6IHZhciggLS1JTlRFUk5BTC0ta2VuZG8tYmFkZ2UtYm9yZGVyLCBpbml0aWFsICk7XG4gICAgfVxuXG4gICAgLmstYmFkZ2Utb3V0bGluZSB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgIH1cblxuICAgIEBlYWNoICRmaWxsLW1vZGUsICR0aGVtZS1jb2xvcnMgaW4gJGtlbmRvLWJhZGdlLXRoZW1lLWNvbG9ycyB7XG4gICAgICAgIEBlYWNoICR0aGVtZS1jb2xvciwgJGNvbG9yLXByb3BzIGluICR0aGVtZS1jb2xvcnMge1xuXG4gICAgICAgICAgICAkX3RleHQ6IG1hcC5nZXQoICRjb2xvci1wcm9wcywgdGV4dCApO1xuICAgICAgICAgICAgJF9iZzogbWFwLmdldCggJGNvbG9yLXByb3BzLCBiZyApO1xuICAgICAgICAgICAgJF9ib3JkZXI6IG1hcC5nZXQoICRjb2xvci1wcm9wcywgYm9yZGVyICk7XG5cbiAgICAgICAgICAgIC5rLWJhZGdlLSN7JGZpbGwtbW9kZX0tI3skdGhlbWUtY29sb3J9IHtcbiAgICAgICAgICAgICAgICAtLWtlbmRvLWJhZGdlLXRleHQ6IHZhciggLS1rZW5kby1iYWRnZS0jeyRmaWxsLW1vZGV9LSN7JHRoZW1lLWNvbG9yfS10ZXh0LCAjeyRfdGV4dH0gKTtcbiAgICAgICAgICAgICAgICAtLWtlbmRvLWJhZGdlLWJnOiB2YXIoIC0ta2VuZG8tYmFkZ2UtI3skZmlsbC1tb2RlfS0jeyR0aGVtZS1jb2xvcn0tYmcsICN7JF9iZ30gKTtcbiAgICAgICAgICAgICAgICAtLWtlbmRvLWJhZGdlLWJvcmRlcjogdmFyKCAtLWtlbmRvLWJhZGdlLSN7JGZpbGwtbW9kZX0tI3skdGhlbWUtY29sb3J9LWJvcmRlciwgI3skX2JvcmRlcn0gKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbn1cbiIsIkB1c2UgXCJzYXNzOm1hcFwiO1xuQHVzZSBcInNhc3M6bWF0aFwiO1xuQHVzZSBcIi4uL2NvcmUvX2luZGV4LnNjc3NcIiBhcyAqO1xuQHVzZSBcIi4vX3ZhcmlhYmxlcy5zY3NzXCIgYXMgKjtcblxuQG1peGluIGtlbmRvLWJ1dHRvbi0tbGF5b3V0KCkge1xuXG4gICAgLy8gQnV0dG9uXG4gICAgLmstYnV0dG9uIHtcbiAgICAgICAgcGFkZGluZy1pbmxpbmU6IHZhciggLS1JTlRFUk5BTC0ta2VuZG8tYnV0dG9uLXBhZGRpbmcteCwgMCApO1xuICAgICAgICBwYWRkaW5nLWJsb2NrOiB2YXIoIC0tSU5URVJOQUwtLWtlbmRvLWJ1dHRvbi1wYWRkaW5nLXksIDAgKTtcbiAgICAgICAgYm9yZGVyLXdpZHRoOiB2YXIoIC0ta2VuZG8tYnV0dG9uLWJvcmRlci13aWR0aCwgI3ska2VuZG8tYnV0dG9uLWJvcmRlci13aWR0aH0gKTtcbiAgICAgICAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcbiAgICAgICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICAgICAgZm9udC1mYW1pbHk6IHZhciggLS1rZW5kby1idXR0b24tZm9udC1mYW1pbHksICN7JGtlbmRvLWJ1dHRvbi1mb250LWZhbWlseX0gKTtcbiAgICAgICAgZm9udC1zaXplOiB2YXIoIC0tSU5URVJOQUwtLWtlbmRvLWJ1dHRvbi1mb250LXNpemUsIDFyZW0gKTtcbiAgICAgICAgZm9udC13ZWlnaHQ6IHZhciggLS1rZW5kby1idXR0b24tZm9udC13ZWlnaHQsICN7JGtlbmRvLWJ1dHRvbi1mb250LXdlaWdodH0gKTtcbiAgICAgICAgbGluZS1oZWlnaHQ6IHZhciggLS1JTlRFUk5BTC0ta2VuZG8tYnV0dG9uLWxpbmUtaGVpZ2h0LCBub3JtYWwgKTtcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgZ2FwOiB2YXIoIC0ta2VuZG8tYnV0dG9uLXNwYWNpbmcsICN7JGtlbmRvLWJ1dHRvbi1zcGFjaW5nfSApO1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAgICAgY29sb3I6IGluaGVyaXQ7XG4gICAgICAgIGJhY2tncm91bmQ6IG5vbmU7XG4gICAgICAgIG91dGxpbmU6IG5vbmU7XG4gICAgICAgIHVzZXItc2VsZWN0OiBub25lO1xuICAgICAgICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7XG5cbiAgICAgICAgKixcbiAgICAgICAgKjo6YmVmb3JlLFxuICAgICAgICAqOjphZnRlciB7XG4gICAgICAgICAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgICAgICB9XG5cbiAgICAgICAgJjo6LW1vei1mb2N1cy1pbm5lciB7XG4gICAgICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgICAgICAgb3V0bGluZTogMDtcbiAgICAgICAgICAgIGJvcmRlcjogMDtcbiAgICAgICAgfVxuXG4gICAgICAgICY6aG92ZXIsXG4gICAgICAgICY6Zm9jdXMge1xuICAgICAgICAgICAgb3V0bGluZTogMDtcbiAgICAgICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICAgICAgfVxuXG4gICAgICAgICY6Zm9jdXM6OmFmdGVyLFxuICAgICAgICAmLmstZm9jdXM6OmFmdGVyIHtcbiAgICAgICAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICBib3JkZXI6IG1lZGl1bSBub25lO1xuICAgICAgICAgICAgaW5zZXQ6IHZhciggLS1rZW5kby1idXR0b24tZm9jdXMtb2Zmc2V0LCAjeyRrZW5kby1idXR0b24tZm9jdXMtb2Zmc2V0fSApO1xuICAgICAgICAgICAgb3V0bGluZS13aWR0aDogdmFyKCAtLWtlbmRvLWJ1dHRvbi1mb2N1cy1vdXRsaW5lLXdpZHRoLCAjeyRrZW5kby1idXR0b24tZm9jdXMtb3V0bGluZS13aWR0aH0gKTtcbiAgICAgICAgICAgIG91dGxpbmUtc3R5bGU6IHZhciggLS1rZW5kby1idXR0b24tZm9jdXMtb3V0bGluZS1zdHlsZSwgI3ska2VuZG8tYnV0dG9uLWZvY3VzLW91dGxpbmUtc3R5bGV9ICk7XG4gICAgICAgICAgICB6LWluZGV4OiAxO1xuICAgICAgICB9XG5cbiAgICAgICAgLy8gRml4IGZvciBmb2N1c2VkIGJ1dHRvbiB3aXRoIGZ1bGwgcm91bmRuZXNzXG4gICAgICAgICYuay1yb3VuZGVkLWZ1bGwge1xuICAgICAgICAgICAgJjpmb2N1czo6YWZ0ZXIsXG4gICAgICAgICAgICAmLmstZm9jdXM6OmFmdGVyIHtcbiAgICAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IGluaGVyaXQ7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cblxuICAgIC8vIFNpemluZ1xuICAgIEBlYWNoICRzaXplLCAkc2l6ZS1wcm9wcyBpbiAka2VuZG8tYnV0dG9uLXNpemVzIHtcbiAgICAgICAgJF9wYWRkaW5nLXg6IG1hcC5nZXQoICRzaXplLXByb3BzLCBwYWRkaW5nLXggKTtcbiAgICAgICAgJF9wYWRkaW5nLXk6IG1hcC5nZXQoICRzaXplLXByb3BzLCBwYWRkaW5nLXkgKTtcbiAgICAgICAgJF9mb250LXNpemU6IG1hcC5nZXQoICRzaXplLXByb3BzLCBmb250LXNpemUgKTtcbiAgICAgICAgJF9saW5lLWhlaWdodDogbWFwLmdldCggJHNpemUtcHJvcHMsIGxpbmUtaGVpZ2h0ICk7XG5cbiAgICAgICAgJF9pY29uLWJ1dHRvbi1wYWRkaW5nOiBjYWxjKCAjeyRfcGFkZGluZy14fSAvIDIgKTtcblxuICAgICAgICAuay1idXR0b24tI3skc2l6ZX0ge1xuICAgICAgICAgICAgLS1JTlRFUk5BTC0ta2VuZG8tYnV0dG9uLXBhZGRpbmcteDogdmFyKCAtLWtlbmRvLWJ1dHRvbi0jeyRzaXplfS1wYWRkaW5nLXgsICN7JF9wYWRkaW5nLXh9ICk7XG4gICAgICAgICAgICAtLUlOVEVSTkFMLS1rZW5kby1idXR0b24tcGFkZGluZy15OiB2YXIoIC0ta2VuZG8tYnV0dG9uLSN7JHNpemV9LXBhZGRpbmcteSwgI3skX3BhZGRpbmcteX0gKTtcbiAgICAgICAgICAgIC0tSU5URVJOQUwtLWtlbmRvLWJ1dHRvbi1mb250LXNpemU6IHZhciggLS1rZW5kby1idXR0b24tI3skc2l6ZX0tZm9udC1zaXplLCAjeyRfZm9udC1zaXplfSApO1xuICAgICAgICAgICAgLS1JTlRFUk5BTC0ta2VuZG8tYnV0dG9uLWxpbmUtaGVpZ2h0OiB2YXIoIC0ta2VuZG8tYnV0dG9uLSN7JHNpemV9LWxpbmUtaGVpZ2h0LCAjeyRfbGluZS1oZWlnaHR9ICk7XG4gICAgICAgIH1cblxuICAgICAgICAuay1pY29uLWJ1dHRvbi5rLWJ1dHRvbi0jeyRzaXplfSB7XG4gICAgICAgICAgICAtLUlOVEVSTkFMLS1rZW5kby1idXR0b24tcGFkZGluZy14OiB2YXIoIC0ta2VuZG8taWNvbi1idXR0b24tI3skc2l6ZX0tcGFkZGluZy15LCAjeyRfcGFkZGluZy15fSApO1xuICAgICAgICAgICAgLS1JTlRFUk5BTC0ta2VuZG8tYnV0dG9uLXBhZGRpbmcteTogdmFyKCAtLWtlbmRvLWljb24tYnV0dG9uLSN7JHNpemV9LXBhZGRpbmcteSwgI3skX3BhZGRpbmcteX0gKTtcblxuICAgICAgICAgICAgLmstYnV0dG9uLWljb24ge1xuICAgICAgICAgICAgICAgIG1pbi13aWR0aDogY2FsYyggI3skX2ZvbnQtc2l6ZX0gKiAjeyRfbGluZS1oZWlnaHR9ICk7XG4gICAgICAgICAgICAgICAgbWluLWhlaWdodDogY2FsYyggI3skX2ZvbnQtc2l6ZX0gKiAjeyRfbGluZS1oZWlnaHR9ICk7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gICAgICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcblxuICAgICAgICAgICAgICAgICYuay1zdmctaWNvbiA+IHN2ZyxcbiAgICAgICAgICAgICAgICAmLmstaWNvbi1tZCA+IHN2ZyB7XG4gICAgICAgICAgICAgICAgICAgIHdpZHRoOiB2YXIoIC0ta2VuZG8taWNvbi1zaXplLW1kLCAxcmVtICk7XG4gICAgICAgICAgICAgICAgICAgIGhlaWdodDogdmFyKCAtLWtlbmRvLWljb24tc2l6ZS1tZCwgMXJlbSApO1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICYuay1pY29uLXhzID4gc3ZnIHtcbiAgICAgICAgICAgICAgICAgICAgd2lkdGg6IHZhciggLS1rZW5kby1pY29uLXNpemUtc20sIDAuNzVyZW0gKTtcbiAgICAgICAgICAgICAgICAgICAgaGVpZ2h0OiB2YXIoIC0ta2VuZG8taWNvbi1zaXplLXNtLCAwLjc1cmVtIClzO1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICYuay1pY29uLXNtID4gc3ZnIHtcbiAgICAgICAgICAgICAgICAgICAgd2lkdGg6IHZhciggLS1rZW5kby1pY29uLXNpemUtc20sIDAuODc1cmVtICk7XG4gICAgICAgICAgICAgICAgICAgIGhlaWdodDogdmFyKCAtLWtlbmRvLWljb24tc2l6ZS1zbSwgMC44NzVyZW0gKTtcbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAmLmstaWNvbi1sZyA+IHN2ZyB7XG4gICAgICAgICAgICAgICAgICAgIHdpZHRoOiB2YXIoIC0ta2VuZG8taWNvbi1zaXplLWxnLCAxLjI1cmVtICk7XG4gICAgICAgICAgICAgICAgICAgIGhlaWdodDogdmFyKCAtLWtlbmRvLWljb24tc2l6ZS1sZywgMS4yNXJlbSApO1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICYuay1pY29uLXhsID4gc3ZnIHtcbiAgICAgICAgICAgICAgICAgICAgd2lkdGg6IHZhciggLS1rZW5kby1pY29uLXNpemUteGwsIDEuNXJlbSApO1xuICAgICAgICAgICAgICAgICAgICBoZWlnaHQ6IHZhciggLS1rZW5kby1pY29uLXNpemUteGwsIDEuNXJlbSApO1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICYuay1pY29uLXh4bCA+IHN2ZyB7XG4gICAgICAgICAgICAgICAgICAgIHdpZHRoOiB2YXIoIC0ta2VuZG8taWNvbi1zaXplLXh4bCwgMnJlbSApO1xuICAgICAgICAgICAgICAgICAgICBoZWlnaHQ6IHZhciggLS1rZW5kby1pY29uLXNpemUteHhsLCAycmVtICk7XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgJi5rLWljb24teHh4bCA+IHN2ZyB7XG4gICAgICAgICAgICAgICAgICAgIHdpZHRoOiB2YXIoIC0ta2VuZG8taWNvbi1zaXplLXh4bCwgM3JlbSApO1xuICAgICAgICAgICAgICAgICAgICBoZWlnaHQ6IHZhciggLS1rZW5kby1pY29uLXNpemUteHhsLCAzcmVtICk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgLy8gSWNvbiBCdXR0b25cbiAgICAuay1pY29uLWJ1dHRvbiB7XG4gICAgICAgIGdhcDogMDtcblxuICAgICAgICAuay1pY29uIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICAgICAgICB9XG4gICAgfVxuXG5cbiAgICAvLyBDb250ZW50XG4gICAgLmstYnV0dG9uLWljb24ge1xuICAgICAgICBhbGlnbi1zZWxmOiBjZW50ZXI7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgY29sb3I6IGluaGVyaXQ7XG4gICAgfVxuXG5cbiAgICAvLyBGbGF0IGJ1dHRvblxuICAgIC5rLWJ1dHRvbi1mbGF0IHtcbiAgICAgICAgY29sb3I6IGluaGVyaXQ7XG4gICAgICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQgIWltcG9ydGFudDsgLy8gc3R5bGVsaW50LWRpc2FibGUtbGluZSBkZWNsYXJhdGlvbi1uby1pbXBvcnRhbnRcbiAgICAgICAgYm94LXNoYWRvdzogbm9uZTtcblxuICAgICAgICAmOmZvY3VzOjphZnRlcixcbiAgICAgICAgJi5rLWZvY3VzOjphZnRlciB7XG4gICAgICAgICAgICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKCBpbmhlcml0ICk7XG4gICAgICAgICAgICBpbnNldDogdmFyKCAtLWtlbmRvLWJ1dHRvbi1mbGF0LWZvY3VzLW9mZnNldCwgI3ska2VuZG8tYnV0dG9uLWZsYXQtZm9jdXMtb2Zmc2V0fSApO1xuICAgICAgICAgICAgb3V0bGluZS13aWR0aDogdmFyKCAtLWtlbmRvLWJ1dHRvbi1mbGF0LWZvY3VzLW91dGxpbmUtd2lkdGgsICN7JGtlbmRvLWJ1dHRvbi1mbGF0LWZvY3VzLW91dGxpbmUtd2lkdGh9ICk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAuay1idXR0b24tZmxhdC1iYXNlIHtcbiAgICAgICAgY29sb3I6IGluaGVyaXQ7XG4gICAgICAgIGJhY2tncm91bmQ6IG5vbmUgIWltcG9ydGFudDsgLy8gc3R5bGVsaW50LWRpc2FibGUtbGluZSBkZWNsYXJhdGlvbi1uby1pbXBvcnRhbnRcbiAgICAgICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudCAhaW1wb3J0YW50OyAvLyBzdHlsZWxpbnQtZGlzYWJsZS1saW5lIGRlY2xhcmF0aW9uLW5vLWltcG9ydGFudFxuXG4gICAgICAgIC8vIE92ZXJsYXlcbiAgICAgICAgJjo6YmVmb3JlIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGJvcmRlci1yYWRpdXMoIGluaGVyaXQgKTtcbiAgICAgICAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiBjdXJyZW50Q29sb3I7XG4gICAgICAgICAgICBvcGFjaXR5OiAwO1xuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgIGxlZnQ6IC0ka2VuZG8tYnV0dG9uLWJvcmRlci13aWR0aDtcbiAgICAgICAgICAgIHJpZ2h0OiAtJGtlbmRvLWJ1dHRvbi1ib3JkZXItd2lkdGg7XG4gICAgICAgICAgICB0b3A6IC0ka2VuZG8tYnV0dG9uLWJvcmRlci13aWR0aDtcbiAgICAgICAgICAgIGJvdHRvbTogLSRrZW5kby1idXR0b24tYm9yZGVyLXdpZHRoO1xuICAgICAgICAgICAgei1pbmRleDogMDtcbiAgICAgICAgICAgIHRyYW5zaXRpb246IG9wYWNpdHkgLjJzIGVhc2UtaW4tb3V0O1xuICAgICAgICB9XG5cbiAgICAgICAgLy8gSG92ZXJlZCBzdGF0ZVxuICAgICAgICAmOmhvdmVyLFxuICAgICAgICAmLmstaG92ZXIge1xuICAgICAgICAgICAgJjo6YmVmb3JlIHtcbiAgICAgICAgICAgICAgICBvcGFjaXR5OiAuMDU7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAvLyBGb2N1c2VkIHN0YXRlXG4gICAgICAgICY6Zm9jdXMsXG4gICAgICAgICYuay1mb2N1cyB7XG4gICAgICAgICAgICAmOjpiZWZvcmUge1xuICAgICAgICAgICAgICAgIG9wYWNpdHk6IDA7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICY6OmFmdGVyIHtcbiAgICAgICAgICAgICAgICBvdXRsaW5lLWNvbG9yOiBjdXJyZW50Q29sb3IgIWltcG9ydGFudDsgLy8gc3R5bGVsaW50LWRpc2FibGUtbGluZSBkZWNsYXJhdGlvbi1uby1pbXBvcnRhbnRcbiAgICAgICAgICAgICAgICBvcGFjaXR5OiAuMTM7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC8vIEZvY3VzIGFuZCBob3ZlcmVkIHN0YXRlXG4gICAgICAgICAgICAmOmhvdmVyLFxuICAgICAgICAgICAgJi5rLWhvdmVyIHtcbiAgICAgICAgICAgICAgICAmOjpiZWZvcmUge1xuICAgICAgICAgICAgICAgICAgICBvcGFjaXR5OiAuMDU7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgJi5rLW5vLWZvY3VzOm5vdCg6aG92ZXIpLFxuICAgICAgICAmLmstbm8tZm9jdXM6bm90KC5rLWhvdmVyKSB7XG4gICAgICAgICAgICAmOjpiZWZvcmUge1xuICAgICAgICAgICAgICAgIG9wYWNpdHk6IDA7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAvLyBBY3RpdmUgc3RhdGVcbiAgICAgICAgJjphY3RpdmUsXG4gICAgICAgICYuay1hY3RpdmUge1xuICAgICAgICAgICAgJjo6YmVmb3JlIHtcbiAgICAgICAgICAgICAgICBvcGFjaXR5OiAuMDg7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC8vIEFjdGl2ZSBhbmQgaG92ZXJlZCBzdGF0ZVxuICAgICAgICAgICAgJjpob3ZlcixcbiAgICAgICAgICAgICYuay1ob3ZlciB7XG4gICAgICAgICAgICAgICAgJjo6YmVmb3JlIHtcbiAgICAgICAgICAgICAgICAgICAgb3BhY2l0eTogLjA1O1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC8vIFNlbGVjdGVkIHN0YXRlXG4gICAgICAgICYuay1zZWxlY3RlZCB7XG4gICAgICAgICAgICAmOjpiZWZvcmUge1xuICAgICAgICAgICAgICAgIG9wYWNpdHk6IC4wODtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLy8gU2VsZWN0ZWQgYW5kIGhvdmVyZWQgc3RhdGVcbiAgICAgICAgICAgICY6aG92ZXIsXG4gICAgICAgICAgICAmLmstaG92ZXIge1xuICAgICAgICAgICAgICAgICY6OmJlZm9yZSB7XG4gICAgICAgICAgICAgICAgICAgIG9wYWNpdHk6IC4wNTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAmLmstZGlzYWJsZWQge1xuICAgICAgICAgICAgY29sb3I6IHZhciggLS1rZW5kby1kaXNhYmxlZC10ZXh0LCBpbmhlcml0ICk7XG4gICAgICAgIH1cbiAgICB9XG5cblxuICAgIC8vIE91dGxpbmUgYnV0dG9uXG4gICAgLmstYnV0dG9uLW91dGxpbmUge1xuICAgICAgICBjb2xvcjogaW5oZXJpdDtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiBjdXJyZW50Q29sb3I7XG4gICAgICAgIGJhY2tncm91bmQ6IG5vbmU7XG4gICAgfVxuXG4gICAgLy8gTGluayBidXR0b25cbiAgICAuay1idXR0b24tbGluayB7XG4gICAgICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQgIWltcG9ydGFudDsgLy8gc3R5bGVsaW50LWRpc2FibGUtbGluZSBkZWNsYXJhdGlvbi1uby1pbXBvcnRhbnRcbiAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgICAgICBiYWNrZ3JvdW5kOiBub25lO1xuXG4gICAgICAgICY6Zm9jdXM6OmFmdGVyLFxuICAgICAgICAmLmstZm9jdXM6OmFmdGVyIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGJvcmRlci1yYWRpdXMoIGluaGVyaXQgKTtcbiAgICAgICAgICAgIGluc2V0OiB2YXIoIC0ta2VuZG8tYnV0dG9uLWxpbmstZm9jdXMtb2Zmc2V0LCAjeyRrZW5kby1idXR0b24tbGluay1mb2N1cy1vZmZzZXR9ICk7XG4gICAgICAgICAgICBvdXRsaW5lLXdpZHRoOiB2YXIoIC0ta2VuZG8tYnV0dG9uLWxpbmstZm9jdXMtb3V0bGluZS13aWR0aCwgI3ska2VuZG8tYnV0dG9uLWxpbmstZm9jdXMtb3V0bGluZS13aWR0aH0gKTtcbiAgICAgICAgfVxuXG4gICAgICAgICY6aG92ZXIsXG4gICAgICAgICYuay1ob3ZlcixcbiAgICAgICAgJjpmb2N1cyxcbiAgICAgICAgJi5rLWZvY3VzIHtcbiAgICAgICAgICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xuICAgICAgICB9XG4gICAgfVxuXG5cbiAgICAvLyBDbGVhciBidXR0b25cbiAgICAuay1idXR0b24tY2xlYXIge1xuICAgICAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50ICFpbXBvcnRhbnQ7IC8vIHN0eWxlbGludC1kaXNhYmxlLWxpbmUgZGVjbGFyYXRpb24tbm8taW1wb3J0YW50XG4gICAgICAgIGNvbG9yOiBpbmhlcml0O1xuICAgICAgICBiYWNrZ3JvdW5kOiBub25lO1xuXG4gICAgICAgICY6Zm9jdXM6OmFmdGVyLFxuICAgICAgICAmLmstZm9jdXM6OmFmdGVyIHtcbiAgICAgICAgICAgIGluc2V0OiBhdXRvO1xuICAgICAgICAgICAgb3V0bGluZS13aWR0aDogMDtcbiAgICAgICAgfVxuICAgIH1cblxuXG4gICAgLy8gQnV0dG9uIGdyb3VwXG4gICAgLmstYnV0dG9uLWdyb3VwIHtcbiAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgICBib3JkZXItd2lkdGg6IDA7XG4gICAgICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG4gICAgICAgIG91dGxpbmU6IDA7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICAgICAgICBmbGV4LWZsb3c6IHJvdyBub3dyYXA7XG4gICAgICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgLXdlYmtpdC10b3VjaC1jYWxsb3V0OiBub25lO1xuICAgICAgICAtd2Via2l0LXRhcC1oaWdobGlnaHQtY29sb3I6ICRrZW5kby1jb2xvci1yZ2JhLXRyYW5zcGFyZW50O1xuXG4gICAgICAgID4gLmstYnV0dG9uICsgLmstYnV0dG9uIHtcbiAgICAgICAgICAgIG1hcmdpbi1pbmxpbmUtc3RhcnQ6IGlmKCAka2VuZG8tYnV0dG9uLWJvcmRlci13aWR0aCA9PSAwLCBudWxsLCAtJGtlbmRvLWJ1dHRvbi1ib3JkZXItd2lkdGggKTtcbiAgICAgICAgfVxuXG4gICAgICAgID4gLmstYnV0dG9uOmhvdmVyLFxuICAgICAgICA+IC5rLWJ1dHRvbi5rLWhvdmVyLFxuICAgICAgICA+IC5rLWJ1dHRvbjpmb2N1cyxcbiAgICAgICAgPiAuay1idXR0b24uay1mb2N1cyxcbiAgICAgICAgPiAuay1idXR0b246YWN0aXZlLFxuICAgICAgICA+IC5rLWJ1dHRvbi5rLWFjdGl2ZSxcbiAgICAgICAgPiAuay1idXR0b24uay1zZWxlY3RlZCB7XG4gICAgICAgICAgICB6LWluZGV4OiAyO1xuICAgICAgICB9XG5cbiAgICAgICAgLmstYnV0dG9uOm5vdCg6Zmlyc3QtY2hpbGQsIDpsYXN0LWNoaWxkKSB7XG4gICAgICAgICAgICBib3JkZXItc3RhcnQtZW5kLXJhZGl1czogMDtcbiAgICAgICAgICAgIGJvcmRlci1lbmQtZW5kLXJhZGl1czogMDtcbiAgICAgICAgICAgIGJvcmRlci1zdGFydC1zdGFydC1yYWRpdXM6IDA7XG4gICAgICAgICAgICBib3JkZXItZW5kLXN0YXJ0LXJhZGl1czogMDtcbiAgICAgICAgfVxuICAgICAgICA+IC5rLWJ1dHRvbjpmaXJzdC1jaGlsZDpub3QoOm9ubHktY2hpbGQpIHtcbiAgICAgICAgICAgIGJvcmRlci1zdGFydC1lbmQtcmFkaXVzOiAwO1xuICAgICAgICAgICAgYm9yZGVyLWVuZC1lbmQtcmFkaXVzOiAwO1xuICAgICAgICB9XG4gICAgICAgID4gLmstYnV0dG9uOmxhc3QtY2hpbGQ6bm90KDpvbmx5LWNoaWxkKSB7XG4gICAgICAgICAgICBib3JkZXItc3RhcnQtc3RhcnQtcmFkaXVzOiAwO1xuICAgICAgICAgICAgYm9yZGVyLWVuZC1zdGFydC1yYWRpdXM6IDA7XG4gICAgICAgIH1cblxuICAgICAgICAmOmRpc2FibGVkLFxuICAgICAgICAmW2Rpc2FibGVkXSxcbiAgICAgICAgJi5rLWRpc2FibGVkIHtcbiAgICAgICAgICAgIG9wYWNpdHk6IDE7XG4gICAgICAgICAgICBmaWx0ZXI6IG5vbmU7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAuay1idXR0b24tZ3JvdXAtc3RyZXRjaGVkIHtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG5cbiAgICAgICAgPiAqIHtcbiAgICAgICAgICAgIGZsZXg6IDEgMCAwJTtcbiAgICAgICAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgICAgIH1cbiAgICB9XG59XG4iLCIvLyBDb2xvciBjb25zdGFudHNcblxuLy8vIFRoZSBjb2xvciB3aGl0ZS5cbi8vLyBOb3RlOiB5b3UgY2Fubm90IGNoYW5nZSB0aGlzIHZhbHVlLlxuLy8vIEB0eXBlIENvbG9yXG4vLy8gQGdyb3VwIGNvbG9yLXN5c3RlbVxuJGtlbmRvLWNvbG9yLXdoaXRlOiAjZmZmZmZmOyAvLyBzdHlsZWxpbnQtZGlzYWJsZS1saW5lIHNjc3MvZG9sbGFyLXZhcmlhYmxlLWRlZmF1bHRcblxuLy8vIFRoZSBjb2xvciBibGFjay5cbi8vLyBOb3RlOiB5b3UgY2Fubm90IGNoYW5nZSB0aGlzIHZhbHVlLlxuLy8vIEB0eXBlIENvbG9yXG4vLy8gQGdyb3VwIGNvbG9yLXN5c3RlbVxuJGtlbmRvLWNvbG9yLWJsYWNrOiAjMDAwMDAwOyAvLyBzdHlsZWxpbnQtZGlzYWJsZS1saW5lIHNjc3MvZG9sbGFyLXZhcmlhYmxlLWRlZmF1bHRcblxuLy8vIFRoZSBjb2xvciB0cmFuc3BhcmVudC5cbi8vLyBOb3RlOiB5b3UgY2Fubm90IGNoYW5nZSB0aGlzIHZhbHVlLlxuLy8vIEB0eXBlIENvbG9yXG4vLy8gQGdyb3VwIGNvbG9yLXN5c3RlbVxuJGtlbmRvLWNvbG9yLXJnYmEtdHJhbnNwYXJlbnQ6IHJnYmEoMCwgMCwgMCwgMCk7IC8vIHN0eWxlbGludC1kaXNhYmxlLWxpbmUgc2Nzcy9kb2xsYXItdmFyaWFibGUtZGVmYXVsdFxuXG4vLy8gQSBncmFkaWVudCB0aGF0IGdvZXMgZnJvbSB0cmFuc3BhcmVudCB0byBibGFjay5cbi8vLyBOb3RlOiB5b3UgY2Fubm90IGNoYW5nZSB0aGlzIHZhbHVlLlxuLy8vIEB0eXBlIEdyYWRpZW50XG4vLy8gQGdyb3VwIGNvbG9yLXN5c3RlbVxuJGtlbmRvLWdyYWRpZW50LXRyYW5zcGFyZW50LXRvLWJsYWNrOiByZ2JhKGJsYWNrLCAwKSwgYmxhY2s7IC8vIHN0eWxlbGludC1kaXNhYmxlLWxpbmUgc2Nzcy9kb2xsYXItdmFyaWFibGUtZGVmYXVsdFxuXG4vLy8gQSBncmFkaWVudCB0aGF0IGdvZXMgZnJvbSB0cmFuc3BhcmVudCB0byB3aGl0ZS5cbi8vLyBOb3RlOiB5b3UgY2Fubm90IGNoYW5nZSB0aGlzIHZhbHVlLlxuLy8vIEB0eXBlIEdyYWRpZW50XG4vLy8gQGdyb3VwIGNvbG9yLXN5c3RlbVxuJGtlbmRvLWdyYWRpZW50LXRyYW5zcGFyZW50LXRvLXdoaXRlOiByZ2JhKHdoaXRlLCAwKSwgd2hpdGU7IC8vIHN0eWxlbGludC1kaXNhYmxlLWxpbmUgc2Nzcy9kb2xsYXItdmFyaWFibGUtZGVmYXVsdFxuXG4vLy8gQSBncmFkaWVudCB0aGF0IGdvZXMgZnJvbSBibGFjayB0byB0cmFuc3BhcmVudC5cbi8vLyBOb3RlOiB5b3UgY2Fubm90IGNoYW5nZSB0aGlzIHZhbHVlLlxuLy8vIEB0eXBlIEdyYWRpZW50XG4vLy8gQGdyb3VwIGNvbG9yLXN5c3RlbVxuJGtlbmRvLWdyYWRpZW50LWJsYWNrLXRvLXRyYW5zcGFyZW50OiBibGFjaywgcmdiYShibGFjaywgMCk7IC8vIHN0eWxlbGludC1kaXNhYmxlLWxpbmUgc2Nzcy9kb2xsYXItdmFyaWFibGUtZGVmYXVsdFxuXG4vLy8gQSBncmFkaWVudCB0aGF0IGdvZXMgZnJvbSB3aGl0ZSB0byB0cmFuc3BhcmVudC5cbi8vLyBOb3RlOiB5b3UgY2Fubm90IGNoYW5nZSB0aGlzIHZhbHVlLlxuLy8vIEB0eXBlIEdyYWRpZW50XG4vLy8gQGdyb3VwIGNvbG9yLXN5c3RlbVxuJGtlbmRvLWdyYWRpZW50LXdoaXRlLXRvLXRyYW5zcGFyZW50OiB3aGl0ZSwgcmdiYSh3aGl0ZSwgMCk7IC8vIHN0eWxlbGludC1kaXNhYmxlLWxpbmUgc2Nzcy9kb2xsYXItdmFyaWFibGUtZGVmYXVsdFxuXG4vLy8gQSBncmFkaWVudCB0aGF0IGN5Y2xlcyB0aHJvdWdoIHRoZSBjb2xvcnMgb2YgdGhlIHJhaW5ib3cuXG4vLy8gTm90ZTogeW91IGNhbm5vdCBjaGFuZ2UgdGhpcyB2YWx1ZS5cbi8vLyBAdHlwZSBHcmFkaWVudFxuLy8vIEBncm91cCBjb2xvci1zeXN0ZW1cbiRrZW5kby1ncmFkaWVudC1yYWluYm93OiAjZmYwMDAwLCAjZmZmZjAwLCAjMDBmZjAwLCAjMDBmZmZmLCAjMDAwMGZmLCAjZmYwMGZmLCAjZmYwMDAwOyAvLyBzdHlsZWxpbnQtZGlzYWJsZS1saW5lIHNjc3MvZG9sbGFyLXZhcmlhYmxlLWRlZmF1bHRcbiIsIkB1c2UgXCJzYXNzOm1hcFwiO1xuQHVzZSBcIi4uL2NvcmUvX2luZGV4LnNjc3NcIiBhcyAqO1xuQHVzZSBcIi4vX3ZhcmlhYmxlcy5zY3NzXCIgYXMgKjtcblxuQG1peGluIGtlbmRvLWJ1dHRvbi0tdGhlbWUoKSB7XG4gICAgLmstYnV0dG9uIHtcbiAgICAgICAgLS1JTlRFUk5BTC0ta2VuZG8tYnV0dG9uLXRleHQ6IHZhciggLS1rZW5kby1idXR0b24tdGV4dCApO1xuICAgICAgICAtLUlOVEVSTkFMLS1rZW5kby1idXR0b24tYmc6IHZhciggLS1rZW5kby1idXR0b24tYmcgKTtcbiAgICAgICAgLS1JTlRFUk5BTC0ta2VuZG8tYnV0dG9uLWJvcmRlcjogdmFyKCAtLWtlbmRvLWJ1dHRvbi1ib3JkZXIgKTtcbiAgICAgICAgLS1JTlRFUk5BTC0ta2VuZG8tYnV0dG9uLWdyYWRpZW50OiB2YXIoIC0ta2VuZG8tYnV0dG9uLWdyYWRpZW50ICk7XG4gICAgICAgIC0tSU5URVJOQUwtLWtlbmRvLWJ1dHRvbi1zaGFkb3c6IHZhciggLS1rZW5kby1idXR0b24tc2hhZG93ICk7XG5cbiAgICAgICAgYm9yZGVyLWNvbG9yOiB2YXIoIC0tSU5URVJOQUwtLWtlbmRvLWJ1dHRvbi1ib3JkZXIsIGluaXRpYWwgKTtcbiAgICAgICAgY29sb3I6IHZhciggLS1JTlRFUk5BTC0ta2VuZG8tYnV0dG9uLXRleHQsIGluaGVyaXQgKTtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKCAtLUlOVEVSTkFMLS1rZW5kby1idXR0b24tYmcsIGluaXRpYWwgKTtcbiAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogbGluZWFyLWdyYWRpZW50KFxuICAgICAgICAgICAgdmFyKCAtLUlOVEVSTkFMLS1rZW5kby1idXR0b24tZ3JhZGllbnQsIHRyYW5zcGFyZW50LCB0cmFuc3BhcmVudCApXG4gICAgICAgICk7XG4gICAgICAgIGJveC1zaGFkb3c6IHZhciggLS1JTlRFUk5BTC0ta2VuZG8tYnV0dG9uLXNoYWRvdywgbm9uZSApO1xuXG4gICAgICAgICY6aG92ZXIsXG4gICAgICAgICYuay1ob3ZlciB7XG4gICAgICAgICAgICAtLUlOVEVSTkFMLS1rZW5kby1idXR0b24tdGV4dDogdmFyKCAtLWtlbmRvLWJ1dHRvbi1ob3Zlci10ZXh0ICk7XG4gICAgICAgICAgICAtLUlOVEVSTkFMLS1rZW5kby1idXR0b24tYmc6IHZhciggLS1rZW5kby1idXR0b24taG92ZXItYmcgKTtcbiAgICAgICAgICAgIC0tSU5URVJOQUwtLWtlbmRvLWJ1dHRvbi1ib3JkZXI6IHZhciggLS1rZW5kby1idXR0b24taG92ZXItYm9yZGVyICk7XG4gICAgICAgIH1cblxuICAgICAgICAmOmZvY3VzLFxuICAgICAgICAmLmstZm9jdXMge1xuICAgICAgICAgICAgLS1JTlRFUk5BTC0ta2VuZG8tYnV0dG9uLXRleHQ6IHZhciggLS1rZW5kby1idXR0b24tZm9jdXMtdGV4dCApO1xuICAgICAgICAgICAgLS1JTlRFUk5BTC0ta2VuZG8tYnV0dG9uLWJnOiB2YXIoIC0ta2VuZG8tYnV0dG9uLWZvY3VzLWJnICk7XG4gICAgICAgICAgICAtLUlOVEVSTkFMLS1rZW5kby1idXR0b24tYm9yZGVyOiB2YXIoIC0ta2VuZG8tYnV0dG9uLWZvY3VzLWJvcmRlciApO1xuXG4gICAgICAgICAgICAmOmhvdmVyLFxuICAgICAgICAgICAgJi5rLWhvdmVyIHtcbiAgICAgICAgICAgICAgICAtLUlOVEVSTkFMLS1rZW5kby1idXR0b24tdGV4dDogdmFyKCAtLWtlbmRvLWJ1dHRvbi1mb2N1cy1ob3Zlci10ZXh0ICk7XG4gICAgICAgICAgICAgICAgLS1JTlRFUk5BTC0ta2VuZG8tYnV0dG9uLWJnOiB2YXIoIC0ta2VuZG8tYnV0dG9uLWZvY3VzLWhvdmVyLWJnICk7XG4gICAgICAgICAgICAgICAgLS1JTlRFUk5BTC0ta2VuZG8tYnV0dG9uLWJvcmRlcjogdmFyKCAtLWtlbmRvLWJ1dHRvbi1mb2N1cy1ob3Zlci1ib3JkZXIgKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgICY6Zm9jdXM6OmFmdGVyLFxuICAgICAgICAmLmstZm9jdXM6OmFmdGVyIHtcbiAgICAgICAgICAgIG91dGxpbmUtY29sb3I6IHZhciggLS1rZW5kby1idXR0b24tZm9jdXMtb3V0bGluZSwgaW5pdGlhbCApO1xuICAgICAgICB9XG5cbiAgICAgICAgJjphY3RpdmUsXG4gICAgICAgICYuay1hY3RpdmUge1xuICAgICAgICAgICAgLS1JTlRFUk5BTC0ta2VuZG8tYnV0dG9uLXRleHQ6IHZhciggLS1rZW5kby1idXR0b24tYWN0aXZlLXRleHQgKTtcbiAgICAgICAgICAgIC0tSU5URVJOQUwtLWtlbmRvLWJ1dHRvbi1iZzogdmFyKCAtLWtlbmRvLWJ1dHRvbi1hY3RpdmUtYmcgKTtcbiAgICAgICAgICAgIC0tSU5URVJOQUwtLWtlbmRvLWJ1dHRvbi1ib3JkZXI6IHZhciggLS1rZW5kby1idXR0b24tYWN0aXZlLWJvcmRlciApO1xuXG4gICAgICAgICAgICAmOmhvdmVyLFxuICAgICAgICAgICAgJi5rLWhvdmVyIHtcbiAgICAgICAgICAgICAgICAtLUlOVEVSTkFMLS1rZW5kby1idXR0b24tdGV4dDogdmFyKCAtLWtlbmRvLWJ1dHRvbi1hY3RpdmUtaG92ZXItdGV4dCApO1xuICAgICAgICAgICAgICAgIC0tSU5URVJOQUwtLWtlbmRvLWJ1dHRvbi1iZzogdmFyKCAtLWtlbmRvLWJ1dHRvbi1hY3RpdmUtaG92ZXItYmcgKTtcbiAgICAgICAgICAgICAgICAtLUlOVEVSTkFMLS1rZW5kby1idXR0b24tYm9yZGVyOiB2YXIoIC0ta2VuZG8tYnV0dG9uLWFjdGl2ZS1ob3Zlci1ib3JkZXIgKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgICYuay1zZWxlY3RlZCB7XG4gICAgICAgICAgICAtLUlOVEVSTkFMLS1rZW5kby1idXR0b24tdGV4dDogdmFyKCAtLWtlbmRvLWJ1dHRvbi1zZWxlY3RlZC10ZXh0ICk7XG4gICAgICAgICAgICAtLUlOVEVSTkFMLS1rZW5kby1idXR0b24tYmc6IHZhciggLS1rZW5kby1idXR0b24tc2VsZWN0ZWQtYmcgKTtcbiAgICAgICAgICAgIC0tSU5URVJOQUwtLWtlbmRvLWJ1dHRvbi1ib3JkZXI6IHZhciggLS1rZW5kby1idXR0b24tc2VsZWN0ZWQtYm9yZGVyICk7XG5cbiAgICAgICAgICAgICY6aG92ZXIsXG4gICAgICAgICAgICAmLmstaG92ZXIge1xuICAgICAgICAgICAgICAgIC0tSU5URVJOQUwtLWtlbmRvLWJ1dHRvbi10ZXh0OiB2YXIoIC0ta2VuZG8tYnV0dG9uLXNlbGVjdGVkLWhvdmVyLXRleHQgKTtcbiAgICAgICAgICAgICAgICAtLUlOVEVSTkFMLS1rZW5kby1idXR0b24tYmc6IHZhciggLS1rZW5kby1idXR0b24tc2VsZWN0ZWQtaG92ZXItYmcgKTtcbiAgICAgICAgICAgICAgICAtLUlOVEVSTkFMLS1rZW5kby1idXR0b24tYm9yZGVyOiB2YXIoIC0ta2VuZG8tYnV0dG9uLXNlbGVjdGVkLWhvdmVyLWJvcmRlciApO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgLmstYnV0dG9uOmRpc2FibGVkLFxuICAgIC5rLWJ1dHRvbi5rLWRpc2FibGVkLFxuICAgIC5rLWRpc2FibGVkIC5rLWJ1dHRvbixcbiAgICA6ZGlzYWJsZWQgLmstYnV0dG9uIHtcbiAgICAgICAgLS1JTlRFUk5BTC0ta2VuZG8tYnV0dG9uLXRleHQ6IHZhciggLS1rZW5kby1idXR0b24tZGlzYWJsZWQtdGV4dCApO1xuICAgICAgICAtLUlOVEVSTkFMLS1rZW5kby1idXR0b24tYmc6IHZhciggLS1rZW5kby1idXR0b24tZGlzYWJsZWQtYmcgKTtcbiAgICAgICAgLS1JTlRFUk5BTC0ta2VuZG8tYnV0dG9uLWJvcmRlcjogdmFyKCAtLWtlbmRvLWJ1dHRvbi1kaXNhYmxlZC1ib3JkZXIgKTtcbiAgICB9XG5cbiAgICBAZWFjaCAkZmlsbC1tb2RlLCAkdGhlbWUtY29sb3JzIGluICRrZW5kby1idXR0b24tdGhlbWUtY29sb3JzIHtcbiAgICAgICAgQGVhY2ggJHRoZW1lLWNvbG9yLCAkY29sb3ItcHJvcHMgaW4gJHRoZW1lLWNvbG9ycyB7XG4gICAgICAgICAgICAkX3RleHQtY29sb3I6IG1hcC5nZXQoICRjb2xvci1wcm9wcywgdGV4dCApO1xuICAgICAgICAgICAgJF9iZzogbWFwLmdldCggJGNvbG9yLXByb3BzLCBiZyApO1xuICAgICAgICAgICAgJF9ib3JkZXItY29sb3I6IG1hcC5nZXQoICRjb2xvci1wcm9wcywgYm9yZGVyICk7XG5cbiAgICAgICAgICAgICRfZm9jdXMtdGV4dDogbWFwLmdldCggJGNvbG9yLXByb3BzLCBmb2N1cy10ZXh0ICk7XG4gICAgICAgICAgICAkX2ZvY3VzLWJnOiBtYXAuZ2V0KCAkY29sb3ItcHJvcHMsIGZvY3VzLWJnICk7XG4gICAgICAgICAgICAkX2ZvY3VzLWJvcmRlcjogbWFwLmdldCggJGNvbG9yLXByb3BzLCBmb2N1cy1ib3JkZXIgKTtcbiAgICAgICAgICAgICRfZm9jdXMtb3V0bGluZTogbWFwLmdldCggJGNvbG9yLXByb3BzLCBmb2N1cy1vdXRsaW5lICk7XG5cbiAgICAgICAgICAgICRfZm9jdXMtaG92ZXItdGV4dDogbWFwLmdldCggJGNvbG9yLXByb3BzLCBmb2N1cy1ob3Zlci10ZXh0ICk7XG4gICAgICAgICAgICAkX2ZvY3VzLWhvdmVyLWJnOiBtYXAuZ2V0KCAkY29sb3ItcHJvcHMsIGZvY3VzLWhvdmVyLWJnICk7XG4gICAgICAgICAgICAkX2ZvY3VzLWhvdmVyLWJvcmRlcjogbWFwLmdldCggJGNvbG9yLXByb3BzLCBmb2N1cy1ob3Zlci1ib3JkZXIgKTtcblxuICAgICAgICAgICAgJF9ob3Zlci10ZXh0OiBtYXAuZ2V0KCAkY29sb3ItcHJvcHMsIGhvdmVyLXRleHQgKTtcbiAgICAgICAgICAgICRfaG92ZXItYmc6IG1hcC5nZXQoICRjb2xvci1wcm9wcywgaG92ZXItYmcgKTtcbiAgICAgICAgICAgICRfaG92ZXItYm9yZGVyOiBtYXAuZ2V0KCAkY29sb3ItcHJvcHMsIGhvdmVyLWJvcmRlciApO1xuXG4gICAgICAgICAgICAkX2FjdGl2ZS10ZXh0OiBtYXAuZ2V0KCAkY29sb3ItcHJvcHMsIGFjdGl2ZS10ZXh0ICk7XG4gICAgICAgICAgICAkX2FjdGl2ZS1iZzogbWFwLmdldCggJGNvbG9yLXByb3BzLCBhY3RpdmUtYmcgKTtcbiAgICAgICAgICAgICRfYWN0aXZlLWJvcmRlcjogbWFwLmdldCggJGNvbG9yLXByb3BzLCBhY3RpdmUtYm9yZGVyICk7XG5cbiAgICAgICAgICAgICRfYWN0aXZlLWhvdmVyLXRleHQ6IG1hcC5nZXQoICRjb2xvci1wcm9wcywgYWN0aXZlLWhvdmVyLXRleHQgKTtcbiAgICAgICAgICAgICRfYWN0aXZlLWhvdmVyLWJnOiBtYXAuZ2V0KCAkY29sb3ItcHJvcHMsIGFjdGl2ZS1ob3Zlci1iZyApO1xuICAgICAgICAgICAgJF9hY3RpdmUtaG92ZXItYm9yZGVyOiBtYXAuZ2V0KCAkY29sb3ItcHJvcHMsIGFjdGl2ZS1ob3Zlci1ib3JkZXIgKTtcblxuICAgICAgICAgICAgJF9kaXNhYmxlZC10ZXh0OiBtYXAuZ2V0KCAkY29sb3ItcHJvcHMsIGRpc2FibGVkLXRleHQgKTtcbiAgICAgICAgICAgICRfZGlzYWJsZWQtYmc6IG1hcC5nZXQoICRjb2xvci1wcm9wcywgZGlzYWJsZWQtYmcgKTtcbiAgICAgICAgICAgICRfZGlzYWJsZWQtYm9yZGVyOiBtYXAuZ2V0KCAkY29sb3ItcHJvcHMsIGRpc2FibGVkLWJvcmRlciApO1xuXG4gICAgICAgICAgICAuay1idXR0b24tI3skZmlsbC1tb2RlfS0jeyR0aGVtZS1jb2xvcn0ge1xuICAgICAgICAgICAgICAgIC0ta2VuZG8tYnV0dG9uLXRleHQ6IHZhciggLS1rZW5kby1idXR0b24tI3skZmlsbC1tb2RlfS0jeyR0aGVtZS1jb2xvcn0tdGV4dCwgI3skX3RleHQtY29sb3J9ICk7XG4gICAgICAgICAgICAgICAgLS1rZW5kby1idXR0b24tYmc6IHZhciggLS1rZW5kby1idXR0b24tI3skZmlsbC1tb2RlfS0jeyR0aGVtZS1jb2xvcn0tYmcsICN7JF9iZ30gKTtcbiAgICAgICAgICAgICAgICAtLWtlbmRvLWJ1dHRvbi1ib3JkZXI6IHZhciggLS1rZW5kby1idXR0b24tI3skZmlsbC1tb2RlfS0jeyR0aGVtZS1jb2xvcn0tYm9yZGVyLCAjeyRfYm9yZGVyLWNvbG9yfSApO1xuXG4gICAgICAgICAgICAgICAgLS1rZW5kby1idXR0b24taG92ZXItdGV4dDogdmFyKCAtLWtlbmRvLWJ1dHRvbi0jeyRmaWxsLW1vZGV9LSN7JHRoZW1lLWNvbG9yfS1ob3Zlci10ZXh0LCAjeyRfaG92ZXItdGV4dH0gKTtcbiAgICAgICAgICAgICAgICAtLWtlbmRvLWJ1dHRvbi1ob3Zlci1iZzogdmFyKCAtLWtlbmRvLWJ1dHRvbi0jeyRmaWxsLW1vZGV9LSN7JHRoZW1lLWNvbG9yfS1ob3Zlci1iZywgI3skX2hvdmVyLWJnfSApO1xuICAgICAgICAgICAgICAgIC0ta2VuZG8tYnV0dG9uLWhvdmVyLWJvcmRlcjogdmFyKCAtLWtlbmRvLWJ1dHRvbi0jeyRmaWxsLW1vZGV9LSN7JHRoZW1lLWNvbG9yfS1ob3Zlci1ib3JkZXIsICN7JF9ob3Zlci1ib3JkZXJ9ICk7XG5cbiAgICAgICAgICAgICAgICAtLWtlbmRvLWJ1dHRvbi1mb2N1cy10ZXh0OiB2YXIoIC0ta2VuZG8tYnV0dG9uLSN7JGZpbGwtbW9kZX0tI3skdGhlbWUtY29sb3J9LWZvY3VzLXRleHQsICN7JF9mb2N1cy10ZXh0fSApO1xuICAgICAgICAgICAgICAgIC0ta2VuZG8tYnV0dG9uLWZvY3VzLWJnOiB2YXIoIC0ta2VuZG8tYnV0dG9uLSN7JGZpbGwtbW9kZX0tI3skdGhlbWUtY29sb3J9LWZvY3VzLWJnLCAjeyRfZm9jdXMtYmd9ICk7XG4gICAgICAgICAgICAgICAgLS1rZW5kby1idXR0b24tZm9jdXMtYm9yZGVyOiB2YXIoIC0ta2VuZG8tYnV0dG9uLSN7JGZpbGwtbW9kZX0tI3skdGhlbWUtY29sb3J9LWZvY3VzLWJvcmRlciwgI3skX2ZvY3VzLWJvcmRlcn0gKTtcbiAgICAgICAgICAgICAgICAtLWtlbmRvLWJ1dHRvbi1mb2N1cy1vdXRsaW5lOiB2YXIoIC0ta2VuZG8tYnV0dG9uLSN7JGZpbGwtbW9kZX0tI3skdGhlbWUtY29sb3J9LWZvY3VzLW91dGxpbmUsICN7JF9mb2N1cy1vdXRsaW5lfSApO1xuXG4gICAgICAgICAgICAgICAgLS1rZW5kby1idXR0b24tZm9jdXMtaG92ZXItdGV4dDogdmFyKCAtLWtlbmRvLWJ1dHRvbi0jeyRmaWxsLW1vZGV9LSN7JHRoZW1lLWNvbG9yfS1mb2N1cy1ob3Zlci10ZXh0LCAjeyRfZm9jdXMtaG92ZXItdGV4dH0gKTtcbiAgICAgICAgICAgICAgICAtLWtlbmRvLWJ1dHRvbi1mb2N1cy1ob3Zlci1iZzogdmFyKCAtLWtlbmRvLWJ1dHRvbi0jeyRmaWxsLW1vZGV9LSN7JHRoZW1lLWNvbG9yfS1mb2N1cy1ob3Zlci1iZywgI3skX2ZvY3VzLWhvdmVyLWJnfSApO1xuICAgICAgICAgICAgICAgIC0ta2VuZG8tYnV0dG9uLWZvY3VzLWhvdmVyLWJvcmRlcjogdmFyKCAtLWtlbmRvLWJ1dHRvbi0jeyRmaWxsLW1vZGV9LSN7JHRoZW1lLWNvbG9yfS1mb2N1cy1ob3Zlci1ib3JkZXIsICN7JF9mb2N1cy1ob3Zlci1ib3JkZXJ9ICk7XG5cbiAgICAgICAgICAgICAgICAtLWtlbmRvLWJ1dHRvbi1hY3RpdmUtdGV4dDogdmFyKCAtLWtlbmRvLWJ1dHRvbi0jeyRmaWxsLW1vZGV9LSN7JHRoZW1lLWNvbG9yfS1hY3RpdmUtdGV4dCwgI3skX2FjdGl2ZS10ZXh0fSApO1xuICAgICAgICAgICAgICAgIC0ta2VuZG8tYnV0dG9uLWFjdGl2ZS1iZzogdmFyKCAtLWtlbmRvLWJ1dHRvbi0jeyRmaWxsLW1vZGV9LSN7JHRoZW1lLWNvbG9yfS1hY3RpdmUtYmcsICN7JF9hY3RpdmUtYmd9ICk7XG4gICAgICAgICAgICAgICAgLS1rZW5kby1idXR0b24tYWN0aXZlLWJvcmRlcjogdmFyKCAtLWtlbmRvLWJ1dHRvbi0jeyRmaWxsLW1vZGV9LSN7JHRoZW1lLWNvbG9yfS1hY3RpdmUtYm9yZGVyLCAjeyRfYWN0aXZlLWJvcmRlcn0gKTtcblxuICAgICAgICAgICAgICAgIC0ta2VuZG8tYnV0dG9uLWFjdGl2ZS1ob3Zlci10ZXh0OiB2YXIoIC0ta2VuZG8tYnV0dG9uLSN7JGZpbGwtbW9kZX0tI3skdGhlbWUtY29sb3J9LWFjdGl2ZS1ob3Zlci10ZXh0LCAjeyRfYWN0aXZlLWhvdmVyLXRleHR9ICk7XG4gICAgICAgICAgICAgICAgLS1rZW5kby1idXR0b24tYWN0aXZlLWhvdmVyLWJnOiB2YXIoIC0ta2VuZG8tYnV0dG9uLSN7JGZpbGwtbW9kZX0tI3skdGhlbWUtY29sb3J9LWFjdGl2ZS1ob3Zlci1iZywgI3skX2FjdGl2ZS1ob3Zlci1iZ30gKTtcbiAgICAgICAgICAgICAgICAtLWtlbmRvLWJ1dHRvbi1hY3RpdmUtaG92ZXItYm9yZGVyOiB2YXIoIC0ta2VuZG8tYnV0dG9uLSN7JGZpbGwtbW9kZX0tI3skdGhlbWUtY29sb3J9LWFjdGl2ZS1ob3Zlci1ib3JkZXIsICN7JF9hY3RpdmUtaG92ZXItYm9yZGVyfSApO1xuXG4gICAgICAgICAgICAgICAgLS1rZW5kby1idXR0b24tc2VsZWN0ZWQtdGV4dDogdmFyKCAtLWtlbmRvLWJ1dHRvbi0jeyRmaWxsLW1vZGV9LSN7JHRoZW1lLWNvbG9yfS1zZWxlY3RlZC10ZXh0LCAjeyRfYWN0aXZlLXRleHR9ICk7XG4gICAgICAgICAgICAgICAgLS1rZW5kby1idXR0b24tc2VsZWN0ZWQtYmc6IHZhciggLS1rZW5kby1idXR0b24tI3skZmlsbC1tb2RlfS0jeyR0aGVtZS1jb2xvcn0tc2VsZWN0ZWQtYmcsICN7JF9hY3RpdmUtYmd9ICk7XG4gICAgICAgICAgICAgICAgLS1rZW5kby1idXR0b24tc2VsZWN0ZWQtYm9yZGVyOiB2YXIoIC0ta2VuZG8tYnV0dG9uLSN7JGZpbGwtbW9kZX0tI3skdGhlbWUtY29sb3J9LXNlbGVjdGVkLWJvcmRlciwgI3skX2FjdGl2ZS1ib3JkZXJ9ICk7XG5cbiAgICAgICAgICAgICAgICAtLWtlbmRvLWJ1dHRvbi1zZWxlY3RlZC1ob3Zlci10ZXh0OiB2YXIoIC0ta2VuZG8tYnV0dG9uLSN7JGZpbGwtbW9kZX0tI3skdGhlbWUtY29sb3J9LXNlbGVjdGVkLWhvdmVyLXRleHQsICN7JF9hY3RpdmUtaG92ZXItdGV4dH0gKTtcbiAgICAgICAgICAgICAgICAtLWtlbmRvLWJ1dHRvbi1zZWxlY3RlZC1ob3Zlci1iZzogdmFyKCAtLWtlbmRvLWJ1dHRvbi0jeyRmaWxsLW1vZGV9LSN7JHRoZW1lLWNvbG9yfS1zZWxlY3RlZC1ob3Zlci1iZywgI3skX2FjdGl2ZS1ob3Zlci1iZ30gKTtcbiAgICAgICAgICAgICAgICAtLWtlbmRvLWJ1dHRvbi1zZWxlY3RlZC1ob3Zlci1ib3JkZXI6IHZhciggLS1rZW5kby1idXR0b24tI3skZmlsbC1tb2RlfS0jeyR0aGVtZS1jb2xvcn0tc2VsZWN0ZWQtaG92ZXItYm9yZGVyLCAjeyRfYWN0aXZlLWhvdmVyLWJvcmRlcn0gKTtcblxuICAgICAgICAgICAgICAgIC0ta2VuZG8tYnV0dG9uLWRpc2FibGVkLXRleHQ6IHZhciggLS1rZW5kby1idXR0b24tI3skZmlsbC1tb2RlfS0jeyR0aGVtZS1jb2xvcn0tZGlzYWJsZWQtdGV4dCwgI3skX2Rpc2FibGVkLXRleHR9ICk7XG4gICAgICAgICAgICAgICAgLS1rZW5kby1idXR0b24tZGlzYWJsZWQtYmc6IHZhciggLS1rZW5kby1idXR0b24tI3skZmlsbC1tb2RlfS0jeyR0aGVtZS1jb2xvcn0tZGlzYWJsZWQtYmcsICN7JF9kaXNhYmxlZC1iZ30gKTtcbiAgICAgICAgICAgICAgICAtLWtlbmRvLWJ1dHRvbi1kaXNhYmxlZC1ib3JkZXI6IHZhciggLS1rZW5kby1idXR0b24tI3skZmlsbC1tb2RlfS0jeyR0aGVtZS1jb2xvcn0tZGlzYWJsZWQtYm9yZGVyLCAjeyRfZGlzYWJsZWQtYm9yZGVyfSApO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgLmstYnV0dG9uLWdyb3VwOmRpc2FibGVkLFxuICAgIC5rLWJ1dHRvbi1ncm91cC5rLWRpc2FibGVkLFxuICAgIC5rLWJ1dHRvbi1ncm91cFtkaXNhYmxlZF0ge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBpbmhlcml0O1xuICAgIH1cblxufVxuIiwiQHVzZSBcIi4vX3ZhcmlhYmxlcy5zY3NzXCIgYXMgKjtcblxuQG1peGluIGtlbmRvLWFjdGlvbi1idXR0b25zLS1sYXlvdXQoKSB7XG4gICAgLmstYWN0aW9ucyB7XG4gICAgICAgIHBhZGRpbmctaW5saW5lOiB2YXIoIC0ta2VuZG8tYWN0aW9ucy1wYWRkaW5nLXgsICN7JGtlbmRvLWFjdGlvbnMtcGFkZGluZy14fSApO1xuICAgICAgICBwYWRkaW5nLWJsb2NrOiB2YXIoIC0ta2VuZG8tYWN0aW9ucy1wYWRkaW5nLXksICN7JGtlbmRvLWFjdGlvbnMtcGFkZGluZy15fSApO1xuICAgICAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgICAgICBib3JkZXItd2lkdGg6IHZhciggLS1rZW5kby1hY3Rpb25zLWJvcmRlci13aWR0aCwgI3ska2VuZG8tYWN0aW9ucy1ib3JkZXItd2lkdGh9ICkgMCAwIDA7XG4gICAgICAgIGJvcmRlci1zdHlsZTogc29saWQ7XG4gICAgICAgIGJvcmRlci1jb2xvcjogaW5oZXJpdDtcbiAgICAgICAgZmxleC1zaHJpbms6IDA7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGZsZXgtZmxvdzogcm93IG5vd3JhcDtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgZ2FwOiB2YXIoIC0ta2VuZG8tYWN0aW9ucy1idXR0b24tc3BhY2luZywgI3ska2VuZG8tYWN0aW9ucy1idXR0b24tc3BhY2luZ30gKTtcbiAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcblxuICAgICAgICAqLFxuICAgICAgICAqOjpiZWZvcmUsXG4gICAgICAgICo6OmFmdGVyIHtcbiAgICAgICAgICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBBbGlhc2VzXG4gICAgLmstZWRpdC1idXR0b25zLFxuICAgIC5rLWFjdGlvbi1idXR0b25zLFxuICAgIC5rLWNvbHVtbm1lbnUtYWN0aW9ucyB7XG4gICAgICAgIEBleHRlbmQgLmstYWN0aW9ucyAhb3B0aW9uYWw7XG4gICAgfVxuXG4gICAgLy8gQWN0aW9ucyBhbGlnblxuICAgIC5rLWFjdGlvbnMtc3RhcnQge1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7XG4gICAgfVxuICAgIC5rLWFjdGlvbnMtY2VudGVyIHtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgfVxuICAgIC5rLWFjdGlvbnMtZW5kIHtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDtcbiAgICB9XG4gICAgLmstYWN0aW9ucy1qdXN0aWZ5IHtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICAgIH1cbiAgICAuay1hY3Rpb25zLXN0cmV0Y2hlZCA+ICoge1xuICAgICAgICBmbGV4OiAxIDAgMCU7XG4gICAgfVxuXG4gICAgLy8gQWN0aW9ucyBvcmllbnRhdGlvblxuICAgIC5rLWFjdGlvbnMtaG9yaXpvbnRhbCB7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBmbGV4LWZsb3c6IHJvdyBub3dyYXA7XG4gICAgfVxuICAgIC5rLWFjdGlvbnMtdmVydGljYWwge1xuICAgICAgICBmbGV4LWZsb3c6IGNvbHVtbiBub3dyYXA7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBub3JtYWw7XG4gICAgfVxufVxuIiwiQHVzZSBcIi4uL2NvcmUvX2luZGV4LnNjc3NcIiBhcyAqO1xuQHVzZSBcIi4vX3ZhcmlhYmxlcy5zY3NzXCIgYXMgKjtcblxuQG1peGluIGtlbmRvLWFjdGlvbi1idXR0b25zLS10aGVtZSgpIHtcblxuICAgIC5rLWFjdGlvbnMge1xuICAgICAgICBAaW5jbHVkZSBmaWxsKFxuICAgICAgICAgICAgdmFyKCAtLWtlbmRvLWFjdGlvbnMtdGV4dCwgI3ska2VuZG8tYWN0aW9ucy10ZXh0fSApLFxuICAgICAgICAgICAgdmFyKCAtLWtlbmRvLWFjdGlvbnMtYmcsICN7JGtlbmRvLWFjdGlvbnMtYmd9ICksXG4gICAgICAgICAgICB2YXIoIC0ta2VuZG8tYWN0aW9ucy1ib3JkZXIsICN7JGtlbmRvLWFjdGlvbnMtYm9yZGVyfSApXG4gICAgICAgICk7XG4gICAgfVxuXG59XG4iLCIvLy8gVGhpcyBpcyBlcXVpdmFsZW50IHRvIGBqdXN0aWZ5LWNvbnRlbnQ6IG5vcm1hbDtgLlxuLy8vIEBleGFtcGxlIGp1c3RpZnktY29udGVudDogbm9ybWFsO1xuLy8vIEBuYW1lIC5rLWp1c3RpZnktY29udGVudC1ub3JtYWxcbi8vLyBAZ3JvdXAganVzdGlmeS1jb250ZW50XG4vLy8gQGNvbnRleHRUeXBlIGNzc1xuXG4vLy8gVGhpcyBpcyBlcXVpdmFsZW50IHRvIGBqdXN0aWZ5LWNvbnRlbnQ6IHN0cmV0Y2g7YC5cbi8vLyBAZXhhbXBsZSBqdXN0aWZ5LWNvbnRlbnQ6IHN0cmV0Y2g7XG4vLy8gQG5hbWUgLmstanVzdGlmeS1jb250ZW50LXN0cmV0Y2hcbi8vLyBAZ3JvdXAganVzdGlmeS1jb250ZW50XG4vLy8gQGNvbnRleHRUeXBlIGNzc1xuXG4vLy8gVGhpcyBpcyBlcXVpdmFsZW50IHRvIGBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtgLlxuLy8vIEBleGFtcGxlIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuLy8vIEBuYW1lIC5rLWp1c3RpZnktY29udGVudC1jZW50ZXJcbi8vLyBAZ3JvdXAganVzdGlmeS1jb250ZW50XG4vLy8gQGNvbnRleHRUeXBlIGNzc1xuXG4vLy8gVGhpcyBpcyBlcXVpdmFsZW50IHRvIGBqdXN0aWZ5LWNvbnRlbnQ6IHN0YXJ0O2AuXG4vLy8gQGV4YW1wbGUganVzdGlmeS1jb250ZW50OiBzdGFydDtcbi8vLyBAbmFtZSAuay1qdXN0aWZ5LWNvbnRlbnQtc3RhcnRcbi8vLyBAZ3JvdXAganVzdGlmeS1jb250ZW50XG4vLy8gQGNvbnRleHRUeXBlIGNzc1xuXG4vLy8gVGhpcyBpcyBlcXVpdmFsZW50IHRvIGBqdXN0aWZ5LWNvbnRlbnQ6IGVuZDtgLlxuLy8vIEBleGFtcGxlIGp1c3RpZnktY29udGVudDogZW5kO1xuLy8vIEBuYW1lIC5rLWp1c3RpZnktY29udGVudC1lbmRcbi8vLyBAZ3JvdXAganVzdGlmeS1jb250ZW50XG4vLy8gQGNvbnRleHRUeXBlIGNzc1xuXG4vLy8gVGhpcyBpcyBlcXVpdmFsZW50IHRvIGBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7YC5cbi8vLyBAZXhhbXBsZSBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7XG4vLy8gQG5hbWUgLmstanVzdGlmeS1jb250ZW50LXNlbGZ0LXN0YXJ0XG4vLy8gQGdyb3VwIGp1c3RpZnktY29udGVudFxuLy8vIEBjb250ZXh0VHlwZSBjc3NcblxuLy8vIFRoaXMgaXMgZXF1aXZhbGVudCB0byBganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDtgLlxuLy8vIEBleGFtcGxlIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XG4vLy8gQG5hbWUgLmstanVzdGlmeS1jb250ZW50LXNlbGYtZW5kXG4vLy8gQGdyb3VwIGp1c3RpZnktY29udGVudFxuLy8vIEBjb250ZXh0VHlwZSBjc3NcblxuLy8vIFRoaXMgaXMgZXF1aXZhbGVudCB0byBganVzdGlmeS1jb250ZW50OiBiYXNlbGluZTtgLlxuLy8vIEBleGFtcGxlIGp1c3RpZnktY29udGVudDogYmFzZWxpbmU7XG4vLy8gQG5hbWUgLmstanVzdGlmeS1jb250ZW50LWJhc2VsaW5lXG4vLy8gQGdyb3VwIGp1c3RpZnktY29udGVudFxuLy8vIEBjb250ZXh0VHlwZSBjc3NcblxuLy8vIFRoaXMgaXMgZXF1aXZhbGVudCB0byBganVzdGlmeS1jb250ZW50OiBmaXJzdCBiYXNlbGluZTtgLlxuLy8vIEBleGFtcGxlIGp1c3RpZnktY29udGVudDogZmlyc3QgYmFzZWxpbmU7XG4vLy8gQG5hbWUgLmstanVzdGlmeS1jb250ZW50LWZpcnN0LWJhc2VsaW5lXG4vLy8gQGdyb3VwIGp1c3RpZnktY29udGVudFxuLy8vIEBjb250ZXh0VHlwZSBjc3NcblxuLy8vIFRoaXMgaXMgZXF1aXZhbGVudCB0byBganVzdGlmeS1jb250ZW50OiBsYXN0IGJhc2VsaW5lO2AuXG4vLy8gQGV4YW1wbGUganVzdGlmeS1jb250ZW50OiBsYXN0IGJhc2VsaW5lO1xuLy8vIEBuYW1lIC5rLWp1c3RpZnktY29udGVudC1sYXN0LWJhc2VsaW5lXG4vLy8gQGdyb3VwIGp1c3RpZnktY29udGVudFxuLy8vIEBjb250ZXh0VHlwZSBjc3NcblxuLy8vIFRoaXMgaXMgZXF1aXZhbGVudCB0byBganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO2AuXG4vLy8gQGV4YW1wbGUganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuLy8vIEBuYW1lIC5rLWp1c3RpZnktY29udGVudC1iZXR3ZWVuXG4vLy8gQGdyb3VwIGp1c3RpZnktY29udGVudFxuLy8vIEBjb250ZXh0VHlwZSBjc3NcblxuLy8vIFRoaXMgaXMgZXF1aXZhbGVudCB0byBganVzdGlmeS1jb250ZW50OiBzcGFjZS1hcm91bmQ7YC5cbi8vLyBAZXhhbXBsZSBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWFyb3VuZDtcbi8vLyBAbmFtZSAuay1qdXN0aWZ5LWNvbnRlbnQtYXJvdW5kXG4vLy8gQGdyb3VwIGp1c3RpZnktY29udGVudFxuLy8vIEBjb250ZXh0VHlwZSBjc3NcblxuLy8vIFRoaXMgaXMgZXF1aXZhbGVudCB0byBganVzdGlmeS1jb250ZW50OiBzcGFjZS1ldmVubHk7YC5cbi8vLyBAZXhhbXBsZSBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWV2ZW5seTtcbi8vLyBAbmFtZSAuay1qdXN0aWZ5LWNvbnRlbnQtZXZlbmx5XG4vLy8gQGdyb3VwIGp1c3RpZnktY29udGVudFxuLy8vIEBjb250ZXh0VHlwZSBjc3NcblxuQHVzZSBcInNhc3M6bWFwXCI7XG5AdXNlIFwiLi4vX2dsb2JhbHMuc2Nzc1wiIGFzICo7XG5cbi8vIFJlZ2lzdGVyXG5AdXNlIFwiQHByb2dyZXNzL2tlbmRvLXRoZW1lLWNvcmUvc2Nzcy9taXhpbnMvaW1wb3J0LW9uY2Uuc2Nzc1wiIGFzICo7XG5cbkBtaXhpbiBrZW5kby11dGlscy0tZmxleC1ncmlkLS1qdXN0aWZ5LWNvbnRlbnQoKSB7XG4gICAgQGluY2x1ZGUgaW1wb3J0LW9uY2UoXCJ1dGlscy1mbGV4LWdyaWQtanVzdGlmeS1jb250ZW50XCIpIHtcblxuICAgICAgICAvLyBKdXN0aWZ5IGNvbnRlbnQgdXRpbGl0eSBjbGFzc2VzXG4gICAgICAgICRrZW5kby11dGlscy1qdXN0aWZ5LWNvbnRlbnQ6IG1hcC5nZXQoICRrZW5kby11dGlscywgXCJqdXN0aWZ5LWNvbnRlbnRcIiApICFkZWZhdWx0O1xuICAgICAgICBAaW5jbHVkZSBnZW5lcmF0ZS11dGlscygganVzdGlmeS1jb250ZW50LCBqdXN0aWZ5LWNvbnRlbnQsICRrZW5kby11dGlscy1qdXN0aWZ5LWNvbnRlbnQgKTtcblxuXG4gICAgICAgIC8vIEN1c3RvbSBqdXN0aWZ5LWNvbnRlbnQgY2xhc3Nlc1xuICAgICAgICAuI3ska2VuZG8tcHJlZml4fWp1c3RpZnktY29udGVudC1zdHJldGNoID4gKiB7IGZsZXg6IDEgMCAwJTsgfVxuICAgICAgICAuXFwhLiN7JGtlbmRvLXByZWZpeH1qdXN0aWZ5LWNvbnRlbnQtc3RyZXRjaCA+ICogeyBmbGV4OiAxIDAgMCUgIWltcG9ydGFudDsgfSAvLyBzdHlsZWxpbnQtZGlzYWJsZS1saW5lIGRlY2xhcmF0aW9uLW5vLWltcG9ydGFudFxuXG4gICAgfVxufVxuIiwiQHVzZSBcInNhc3M6bWFwXCI7XG5AdXNlIFwiLi4vY29yZS9faW5kZXguc2Nzc1wiIGFzICo7XG5AdXNlIFwiLi9fdmFyaWFibGVzLnNjc3NcIiBhcyAqO1xuQHVzZSBcIi4uL2NvcmUvc3BhY2luZy9faW5kZXguc2Nzc1wiIGFzICo7XG5cbkBtaXhpbiBrZW5kby1saXN0LS1sYXlvdXQoKSB7XG5cbiAgICAvLyBMaXN0IGNvbnRhaW5lclxuICAgIC5rLWxpc3QtY29udGFpbmVyIHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgZmxleC1mbG93OiBjb2x1bW4gbm93cmFwO1xuXG4gICAgICAgID4gLmstbGlzdCB7XG4gICAgICAgICAgICBmbGV4OiAxO1xuICAgICAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLmstbGlzdCB7XG4gICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICAgICAgZm9udC1mYW1pbHk6IHZhciggLS1rZW5kby1saXN0LWZvbnQtZmFtaWx5LCAjeyRrZW5kby1saXN0LWZvbnQtZmFtaWx5fSApO1xuICAgICAgICBmb250LXNpemU6IHZhciggLS1JTlRFUk5BTC0ta2VuZG8tbGlzdC1mb250LXNpemUsIDFyZW0gKTtcbiAgICAgICAgbGluZS1oZWlnaHQ6IHZhciggLS1JTlRFUk5BTC0ta2VuZG8tbGlzdC1saW5lLWhlaWdodCwgbm9ybWFsICk7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGZsZXgtZmxvdzogY29sdW1uIG5vd3JhcDtcbiAgICAgICAgb3V0bGluZTogbm9uZTtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xuXG4gICAgICAgICosXG4gICAgICAgICo6OmJlZm9yZSxcbiAgICAgICAgKjo6YWZ0ZXIge1xuICAgICAgICAgICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICAgICAgfVxuICAgIH1cblxuXG4gICAgLy8gTGlzdCBpbiBwb3B1cFxuICAgIC5rLXBvcHVwID4gLmstbGlzdCB7XG4gICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgYm9yZGVyLXdpZHRoOiAwO1xuICAgIH1cblxuXG4gICAgLy8gTGlzdCBoZWFkZXJcbiAgICAuay1saXN0LWdyb3VwLXN0aWNreS1oZWFkZXIge1xuICAgICAgICBwYWRkaW5nLWlubGluZTogdmFyKCAtLUlOVEVSTkFMLS1rZW5kby1saXN0LWhlYWRlci1wYWRkaW5nLXgsIDAgKTtcbiAgICAgICAgcGFkZGluZy1ibG9jazogdmFyKCAtLUlOVEVSTkFMLS1rZW5kby1saXN0LWhlYWRlci1wYWRkaW5nLXksIDAgKTtcbiAgICAgICAgYm9yZGVyLXdpZHRoOiAwO1xuICAgICAgICBib3JkZXItd2lkdGg6IHZhciggLS1rZW5kby1saXN0LWhlYWRlci1ib3JkZXItd2lkdGgsICN7JGtlbmRvLWxpc3QtaGVhZGVyLWJvcmRlci13aWR0aH0gKTtcbiAgICAgICAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcbiAgICAgICAgZm9udC1zaXplOiB2YXIoIC0tSU5URVJOQUwtLWtlbmRvLWxpc3QtaGVhZGVyLWZvbnQtc2l6ZSwgMXJlbSApO1xuICAgICAgICBsaW5lLWhlaWdodDogdmFyKCAtLUlOVEVSTkFMLS1rZW5kby1saXN0LWhlYWRlci1saW5lLWhlaWdodCwgbm9ybWFsICk7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiB2YXIoIC0ta2VuZG8tbGlzdC1oZWFkZXItZm9udC13ZWlnaHQsICN7JGtlbmRvLWxpc3QtaGVhZGVyLWZvbnQtd2VpZ2h0fSApO1xuICAgICAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBmbGV4LWZsb3c6IHJvdyBub3dyYXA7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgIGZsZXg6IG5vbmU7XG4gICAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgICAgIHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xuICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgICAgIHotaW5kZXg6IDE7XG4gICAgfVxuXG5cbiAgICAvLyBMaXN0IGNvbnRlbnRcbiAgICAuay1saXN0LWNvbnRlbnQge1xuICAgICAgICBib3JkZXItY29sb3I6IGluaGVyaXQ7XG4gICAgICAgIGZsZXg6IDEgMSBhdXRvO1xuICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgICAgICBvdmVyZmxvdy15OiBhdXRvO1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgfVxuXG5cbiAgICAvLyBMaXN0IFVMXG4gICAgLmstbGlzdC11bCB7XG4gICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgYm9yZGVyLXdpZHRoOiAwO1xuICAgICAgICBib3JkZXItY29sb3I6IGluaGVyaXQ7XG4gICAgICAgIGhlaWdodDogYXV0bztcbiAgICAgICAgbGlzdC1zdHlsZTogbm9uZTtcbiAgICB9XG5cblxuICAgIC8vIExpc3QgaXRlbVxuICAgIC5rLWxpc3QtaXRlbSB7XG4gICAgICAgIHBhZGRpbmctaW5saW5lOiB2YXIoIC0tSU5URVJOQUwtLWtlbmRvLWxpc3QtaXRlbS1wYWRkaW5nLXgsIDAgKTtcbiAgICAgICAgcGFkZGluZy1ibG9jazogdmFyKCAtLUlOVEVSTkFMLS1rZW5kby1saXN0LWl0ZW0tcGFkZGluZy15LCAwICk7XG4gICAgICAgIGJvcmRlcjogMDtcbiAgICAgICAgZm9udC1zaXplOiB2YXIoIC0tSU5URVJOQUwtLWtlbmRvLWxpc3QtaXRlbS1mb250LXNpemUsIDFyZW0gKTtcbiAgICAgICAgbGluZS1oZWlnaHQ6IHZhciggLS1JTlRFUk5BTC0ta2VuZG8tbGlzdC1pdGVtLWxpbmUtaGVpZ2h0LCBub3JtYWwgKTtcbiAgICAgICAgb3V0bGluZTogbm9uZTtcbiAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBmbGV4LWZsb3c6IHJvdyBub3dyYXA7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgIGFsaWduLWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgICAgZ2FwOiB2YXIoIC0ta2VuZG8taWNvbi1zcGFjaW5nLCAuNXJlbSApO1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIHRyYW5zaXRpb24tcHJvcGVydHk6IGNvbG9yLCBiYWNrZ3JvdW5kLWNvbG9yLCBvdXRsaW5lLWNvbG9yLCBib3gtc2hhZG93O1xuICAgICAgICB0cmFuc2l0aW9uLWR1cmF0aW9uOiAyMDBtcztcbiAgICAgICAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2U7XG5cbiAgICAgICAgJi5rLWZpcnN0OjpiZWZvcmUge1xuICAgICAgICAgICAgY29udGVudDogXCJcIjtcbiAgICAgICAgICAgIGJvcmRlci13aWR0aDogMXB4IDAgMDtcbiAgICAgICAgICAgIGJvcmRlci1zdHlsZTogc29saWQ7XG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICB0b3A6IDA7XG4gICAgICAgICAgICBsZWZ0OiAwO1xuICAgICAgICAgICAgcmlnaHQ6IDA7XG4gICAgICAgIH1cbiAgICB9XG4gICAgLmstbGlzdC1pdGVtLXRleHQsXG4gICAgLmstbGlzdC1oZWFkZXItdGV4dCxcbiAgICAuay1saXN0LW9wdGlvbmxhYmVsIHtcbiAgICAgICAgJjo6YmVmb3JlIHtcbiAgICAgICAgICAgIGNvbnRlbnQ6IFwiXFwyMDBiXCI7XG4gICAgICAgICAgICB3aWR0aDogMHB4O1xuICAgICAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAgICAgfVxuICAgIH1cbiAgICAuay1saXN0LW9wdGlvbmxhYmVsIHtcbiAgICAgICAgQGV4dGVuZCAuay1saXN0LWl0ZW0gIW9wdGlvbmFsO1xuICAgICAgICBjb2x1bW4tZ2FwOiAwO1xuICAgIH1cblxuICAgIC5rLWxpc3QtY3VzdG9tLXZhbHVlIHtcbiAgICAgICAgQGV4dGVuZCAuay1saXN0LWl0ZW0gIW9wdGlvbmFsO1xuICAgICAgICBmb250LXN0eWxlOiBpdGFsaWM7XG4gICAgICAgIHBvc2l0aW9uOiBzdGlja3k7XG4gICAgfVxuXG4gICAgLy8gTGlzdCBncm91cCBpdGVtXG4gICAgLmstbGlzdC1ncm91cC1pdGVtIHtcbiAgICAgICAgcGFkZGluZy1pbmxpbmU6IHZhciggLS1JTlRFUk5BTC0ta2VuZG8tbGlzdC1ncm91cC1pdGVtLXBhZGRpbmcteCwgMCApO1xuICAgICAgICBwYWRkaW5nLWJsb2NrOiB2YXIoIC0tSU5URVJOQUwtLWtlbmRvLWxpc3QtZ3JvdXAtaXRlbS1wYWRkaW5nLXksIDAgKTtcbiAgICAgICAgYm9yZGVyLXdpZHRoOiAwO1xuICAgICAgICBib3JkZXItd2lkdGg6IHZhciggLS1rZW5kby1saXN0LWdyb3VwLWl0ZW0tYm9yZGVyLXdpZHRoLCAjeyRrZW5kby1saXN0LWdyb3VwLWl0ZW0tYm9yZGVyLXdpZHRofSApO1xuICAgICAgICBib3JkZXItc3R5bGU6IHNvbGlkO1xuICAgICAgICBmb250LXNpemU6IHZhciggLS1JTlRFUk5BTC0ta2VuZG8tbGlzdC1ncm91cC1pdGVtLWZvbnQtc2l6ZSwgMXJlbSApO1xuICAgICAgICBsaW5lLWhlaWdodDogdmFyKCAtLUlOVEVSTkFMLS1rZW5kby1saXN0LWdyb3VwLWl0ZW0tbGluZS1oZWlnaHQsIG5vcm1hbCApO1xuICAgICAgICBmb250LXdlaWdodDogdmFyKCAtLWtlbmRvLWxpc3QtZ3JvdXAtaXRlbS1mb250LXdlaWdodCwgI3ska2VuZG8tbGlzdC1ncm91cC1pdGVtLWZvbnQtd2VpZ2h0fSApO1xuICAgICAgICBjdXJzb3I6IGRlZmF1bHQ7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGZsZXgtZmxvdzogcm93IG5vd3JhcDtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgYWxpZ24tY29udGVudDogY2VudGVyO1xuICAgICAgICBnYXA6IHZhciggLS1rZW5kby1pY29uLXNwYWNpbmcsIC41cmVtICk7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB9XG5cblxuICAgIC8vIExpc3QgaXRlbSBncm91cCBsYWJlbFxuICAgIC5rLWxpc3QtaXRlbS1ncm91cC1sYWJlbCB7XG4gICAgICAgIHBhZGRpbmctaW5saW5lOiB2YXIoIC0tSU5URVJOQUwtLWtlbmRvLWxpc3QtaXRlbS1ncm91cC1sYWJlbC1wYWRkaW5nLXgsIDAgKTtcbiAgICAgICAgcGFkZGluZy1ibG9jazogdmFyKCAtLUlOVEVSTkFMLS1rZW5kby1saXN0LWl0ZW0tZ3JvdXAtbGFiZWwtcGFkZGluZy15LCAwICk7XG4gICAgICAgIGZvbnQtc2l6ZTogdmFyKCAtLUlOVEVSTkFMLS1rZW5kby1saXN0LWl0ZW0tZ3JvdXAtbGFiZWwtZm9udC1zaXplLCAxcmVtICk7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgdG9wOiAwO1xuICAgICAgICBpbnNldC1pbmxpbmUtZW5kOiAwO1xuICAgIH1cblxuXG4gICAgLy8gVmlydHVhbGl6YXRpb25cbiAgICAuay12aXJ0dWFsLWxpc3Qge31cbiAgICAuay12aXJ0dWFsLWNvbnRlbnQsXG4gICAgLmstdmlydHVhbC1saXN0IC5rLWxpc3QtY29udGVudCB7XG4gICAgICAgIG92ZXJmbG93LXk6IHNjcm9sbDtcbiAgICB9XG4gICAgLmstdmlydHVhbC1saXN0IC5rLWxpc3QtaXRlbSxcbiAgICAuay12aXJ0dWFsLWxpc3QgLmstbGlzdC1ncm91cC1pdGVtLFxuICAgIC5rLXZpcnR1YWwtY29udGVudCAuay1saXN0LWl0ZW0sXG4gICAgLmstdmlydHVhbC1jb250ZW50IC5rLWxpc3QtZ3JvdXAtaXRlbSB7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgfVxuICAgIC5rLXZpcnR1YWwtbGlzdCAuay1saXN0LWl0ZW0tdGV4dCxcbiAgICAuay12aXJ0dWFsLWxpc3QgLmstbGlzdC1oZWFkZXItdGV4dCB7XG4gICAgICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gICAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgICAgIHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xuICAgIH1cbiAgICAuay12aXJ0dWFsLWxpc3QgLmstbGlzdC1vcHRpb25sYWJlbCB7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB9XG5cblxuICAgIC8vIEZpbHRlclxuICAgIC5rLWxpc3QtZmlsdGVyIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgcGFkZGluZzogay1zcGFjaW5nKDIpO1xuICAgICAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgICAgICBmbGV4OiAwIDAgYXV0bztcbiAgICB9XG5cblxuICAgIC8vIFN3aXRjaCBzaXplc1xuICAgIEBlYWNoICRzaXplLCAkc2l6ZS1wcm9wcyBpbiAka2VuZG8tbGlzdC1zaXplcyB7XG4gICAgICAgICRfZm9udC1zaXplOiBtYXAuZ2V0KCAkc2l6ZS1wcm9wcywgZm9udC1zaXplICk7XG4gICAgICAgICRfbGluZS1oZWlnaHQ6IG1hcC5nZXQoICRzaXplLXByb3BzLCBsaW5lLWhlaWdodCApO1xuICAgICAgICAkX2hlYWRlci1wYWRkaW5nLXg6IG1hcC5nZXQoICRzaXplLXByb3BzLCBoZWFkZXItcGFkZGluZy14ICk7XG4gICAgICAgICRfaGVhZGVyLXBhZGRpbmcteTogbWFwLmdldCggJHNpemUtcHJvcHMsIGhlYWRlci1wYWRkaW5nLXkgKTtcbiAgICAgICAgJF9oZWFkZXItZm9udC1zaXplOiBtYXAuZ2V0KCAkc2l6ZS1wcm9wcywgaGVhZGVyLWZvbnQtc2l6ZSApO1xuICAgICAgICAkX2hlYWRlci1saW5lLWhlaWdodDogbWFwLmdldCggJHNpemUtcHJvcHMsIGhlYWRlci1saW5lLWhlaWdodCApO1xuICAgICAgICAkX2l0ZW0tcGFkZGluZy14OiBtYXAuZ2V0KCAkc2l6ZS1wcm9wcywgaXRlbS1wYWRkaW5nLXggKTtcbiAgICAgICAgJF9pdGVtLXBhZGRpbmcteTogbWFwLmdldCggJHNpemUtcHJvcHMsIGl0ZW0tcGFkZGluZy15ICk7XG4gICAgICAgICRfaXRlbS1mb250LXNpemU6IG1hcC5nZXQoICRzaXplLXByb3BzLCBpdGVtLWZvbnQtc2l6ZSApO1xuICAgICAgICAkX2l0ZW0tbGluZS1oZWlnaHQ6IG1hcC5nZXQoICRzaXplLXByb3BzLCBpdGVtLWxpbmUtaGVpZ2h0ICk7XG4gICAgICAgICRfaXRlbS1ncm91cC1sYWJlbC1wYWRkaW5nLXg6IG1hcC5nZXQoICRzaXplLXByb3BzLCBpdGVtLWdyb3VwLWxhYmVsLXBhZGRpbmcteCApO1xuICAgICAgICAkX2l0ZW0tZ3JvdXAtbGFiZWwtcGFkZGluZy15OiBtYXAuZ2V0KCAkc2l6ZS1wcm9wcywgaXRlbS1ncm91cC1sYWJlbC1wYWRkaW5nLXkgKTtcbiAgICAgICAgJF9pdGVtLWdyb3VwLWxhYmVsLWZvbnQtc2l6ZTogbWFwLmdldCggJHNpemUtcHJvcHMsIGl0ZW0tZ3JvdXAtbGFiZWwtZm9udC1zaXplICk7XG4gICAgICAgICRfZ3JvdXAtaXRlbS1wYWRkaW5nLXg6IG1hcC5nZXQoICRzaXplLXByb3BzLCBncm91cC1pdGVtLXBhZGRpbmcteCApO1xuICAgICAgICAkX2dyb3VwLWl0ZW0tcGFkZGluZy15OiBtYXAuZ2V0KCAkc2l6ZS1wcm9wcywgZ3JvdXAtaXRlbS1wYWRkaW5nLXkgKTtcbiAgICAgICAgJF9ncm91cC1pdGVtLWZvbnQtc2l6ZTogbWFwLmdldCggJHNpemUtcHJvcHMsIGdyb3VwLWl0ZW0tZm9udC1zaXplICk7XG4gICAgICAgICRfZ3JvdXAtaXRlbS1saW5lLWhlaWdodDogbWFwLmdldCggJHNpemUtcHJvcHMsIGdyb3VwLWl0ZW0tbGluZS1oZWlnaHQgKTtcblxuICAgICAgICAuay1saXN0LSN7JHNpemV9IHtcbiAgICAgICAgICAgIC0tSU5URVJOQUwtLWtlbmRvLWxpc3QtZm9udC1zaXplOiB2YXIoIC0ta2VuZG8tbGlzdC0jeyRzaXplfS1mb250LXNpemUsICN7JF9mb250LXNpemV9ICk7XG4gICAgICAgICAgICAtLUlOVEVSTkFMLS1rZW5kby1saXN0LWxpbmUtaGVpZ2h0OiB2YXIoIC0ta2VuZG8tbGlzdC0jeyRzaXplfS1saW5lLWhlaWdodCwgI3skX2xpbmUtaGVpZ2h0fSApO1xuXG4gICAgICAgICAgICAuay1saXN0LWdyb3VwLXN0aWNreS1oZWFkZXIge1xuICAgICAgICAgICAgICAgIC0tSU5URVJOQUwtLWtlbmRvLWxpc3QtaGVhZGVyLXBhZGRpbmcteDogdmFyKCAtLWtlbmRvLWxpc3QtI3skc2l6ZX0taGVhZGVyLXBhZGRpbmcteCwgI3skX2hlYWRlci1wYWRkaW5nLXh9ICk7XG4gICAgICAgICAgICAgICAgLS1JTlRFUk5BTC0ta2VuZG8tbGlzdC1oZWFkZXItcGFkZGluZy15OiB2YXIoIC0ta2VuZG8tbGlzdC0jeyRzaXplfS1oZWFkZXItcGFkZGluZy15LCAjeyRfaGVhZGVyLXBhZGRpbmcteX0gKTtcbiAgICAgICAgICAgICAgICAtLUlOVEVSTkFMLS1rZW5kby1saXN0LWhlYWRlci1mb250LXNpemU6IHZhciggLS1rZW5kby1saXN0LSN7JHNpemV9LWhlYWRlci1mb250LXNpemUsICN7JF9oZWFkZXItZm9udC1zaXplfSApO1xuICAgICAgICAgICAgICAgIC0tSU5URVJOQUwtLWtlbmRvLWxpc3QtaGVhZGVyLWxpbmUtaGVpZ2h0OiB2YXIoIC0ta2VuZG8tbGlzdC0jeyRzaXplfS1oZWFkZXItbGluZS1oZWlnaHQsICN7JF9oZWFkZXItbGluZS1oZWlnaHR9ICk7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC5rLWxpc3QtaXRlbSB7XG4gICAgICAgICAgICAgICAgLS1JTlRFUk5BTC0ta2VuZG8tbGlzdC1pdGVtLXBhZGRpbmcteDogdmFyKCAtLWtlbmRvLWxpc3QtI3skc2l6ZX0taXRlbS1wYWRkaW5nLXgsICN7JF9pdGVtLXBhZGRpbmcteH0gKTtcbiAgICAgICAgICAgICAgICAtLUlOVEVSTkFMLS1rZW5kby1saXN0LWl0ZW0tcGFkZGluZy15OiB2YXIoIC0ta2VuZG8tbGlzdC0jeyRzaXplfS1pdGVtLXBhZGRpbmcteSwgI3skX2l0ZW0tcGFkZGluZy15fSApO1xuICAgICAgICAgICAgICAgIC0tSU5URVJOQUwtLWtlbmRvLWxpc3QtaXRlbS1mb250LXNpemU6IHZhciggLS1rZW5kby1saXN0LSN7JHNpemV9LWl0ZW0tZm9udC1zaXplLCAjeyRfaXRlbS1mb250LXNpemV9ICk7XG4gICAgICAgICAgICAgICAgLS1JTlRFUk5BTC0ta2VuZG8tbGlzdC1pdGVtLWxpbmUtaGVpZ2h0OiB2YXIoIC0ta2VuZG8tbGlzdC0jeyRzaXplfS1pdGVtLWxpbmUtaGVpZ2h0LCAjeyRfaXRlbS1saW5lLWhlaWdodH0gKTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLmstbGlzdC1ncm91cC1pdGVtIHtcbiAgICAgICAgICAgICAgICAtLUlOVEVSTkFMLS1rZW5kby1saXN0LWdyb3VwLWl0ZW0tcGFkZGluZy14OiB2YXIoIC0ta2VuZG8tbGlzdC0jeyRzaXplfS1ncm91cC1pdGVtLXBhZGRpbmcteCwgI3skX2dyb3VwLWl0ZW0tcGFkZGluZy14fSApO1xuICAgICAgICAgICAgICAgIC0tSU5URVJOQUwtLWtlbmRvLWxpc3QtZ3JvdXAtaXRlbS1wYWRkaW5nLXk6IHZhciggLS1rZW5kby1saXN0LSN7JHNpemV9LWdyb3VwLWl0ZW0tcGFkZGluZy15LCAjeyRfZ3JvdXAtaXRlbS1wYWRkaW5nLXl9ICk7XG4gICAgICAgICAgICAgICAgLS1JTlRFUk5BTC0ta2VuZG8tbGlzdC1ncm91cC1pdGVtLWZvbnQtc2l6ZTogdmFyKCAtLWtlbmRvLWxpc3QtI3skc2l6ZX0tZ3JvdXAtaXRlbS1mb250LXNpemUsICN7JF9ncm91cC1pdGVtLWZvbnQtc2l6ZX0gKTtcbiAgICAgICAgICAgICAgICAtLUlOVEVSTkFMLS1rZW5kby1saXN0LWdyb3VwLWl0ZW0tbGluZS1oZWlnaHQ6IHZhciggLS1rZW5kby1saXN0LSN7JHNpemV9LWdyb3VwLWl0ZW0tbGluZS1oZWlnaHQsICN7JF9ncm91cC1pdGVtLWxpbmUtaGVpZ2h0fSApO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAuay1saXN0LWl0ZW0tZ3JvdXAtbGFiZWwge1xuICAgICAgICAgICAgICAgIC0tSU5URVJOQUwtLWtlbmRvLWxpc3QtaXRlbS1ncm91cC1sYWJlbC1wYWRkaW5nLXg6IHZhciggLS1rZW5kby1saXN0LSN7JHNpemV9LWl0ZW0tZ3JvdXAtbGFiZWwtcGFkZGluZy14LCAjeyRfaXRlbS1ncm91cC1sYWJlbC1wYWRkaW5nLXh9ICk7XG4gICAgICAgICAgICAgICAgLS1JTlRFUk5BTC0ta2VuZG8tbGlzdC1pdGVtLWdyb3VwLWxhYmVsLXBhZGRpbmcteTogdmFyKCAtLWtlbmRvLWxpc3QtI3skc2l6ZX0taXRlbS1ncm91cC1sYWJlbC1wYWRkaW5nLXksICN7JF9pdGVtLWdyb3VwLWxhYmVsLXBhZGRpbmcteX0gKTtcbiAgICAgICAgICAgICAgICAtLUlOVEVSTkFMLS1rZW5kby1saXN0LWl0ZW0tZ3JvdXAtbGFiZWwtZm9udC1zaXplOiB2YXIoIC0ta2VuZG8tbGlzdC0jeyRzaXplfS1pdGVtLWdyb3VwLWxhYmVsLWZvbnQtc2l6ZSwgI3skX2l0ZW0tZ3JvdXAtbGFiZWwtZm9udC1zaXplfSApO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG59XG4iLCJAdXNlIFwiLi4vY29yZS9faW5kZXguc2Nzc1wiIGFzICo7XG5AdXNlIFwiLi9fdmFyaWFibGVzLnNjc3NcIiBhcyAqO1xuXG5AbWl4aW4ga2VuZG8tbGlzdC0tdGhlbWUoKSB7XG5cbiAgICAuay1saXN0IHtcbiAgICAgICAgQGluY2x1ZGUgZmlsbChcbiAgICAgICAgICAgIHZhciggLS1rZW5kby1saXN0LXRleHQsICN7JGtlbmRvLWxpc3QtdGV4dH0gKSxcbiAgICAgICAgICAgIHZhciggLS1rZW5kby1saXN0LWJnLCAjeyRrZW5kby1saXN0LWJnfSApLFxuICAgICAgICAgICAgdmFyKCAtLWtlbmRvLWxpc3QtYm9yZGVyLCAjeyRrZW5kby1saXN0LWJvcmRlcn0gKVxuICAgICAgICApO1xuICAgIH1cblxuXG4gICAgLy8gTGlzdCBoZWFkZXJcbiAgICAuay1saXN0LWdyb3VwLXN0aWNreS1oZWFkZXIge1xuICAgICAgICBAaW5jbHVkZSBmaWxsKFxuICAgICAgICAgICAgdmFyKCAtLWtlbmRvLWxpc3QtaGVhZGVyLXRleHQsICN7JGtlbmRvLWxpc3QtaGVhZGVyLXRleHR9ICksXG4gICAgICAgICAgICB2YXIoIC0ta2VuZG8tbGlzdC1oZWFkZXItYmcsICN7JGtlbmRvLWxpc3QtaGVhZGVyLWJnfSApLFxuICAgICAgICAgICAgdmFyKCAtLWtlbmRvLWxpc3QtaGVhZGVyLWJvcmRlciwgI3ska2VuZG8tbGlzdC1oZWFkZXItYm9yZGVyfSApXG4gICAgICAgICk7XG4gICAgICAgIEBpbmNsdWRlIGJveC1zaGFkb3coIHZhciggLS1rZW5kby1saXN0LWhlYWRlci1zaGFkb3csICN7JGtlbmRvLWxpc3QtaGVhZGVyLXNoYWRvd30gKSApO1xuICAgIH1cblxuXG4gICAgLy8gTGlzdCBpdGVtXG4gICAgLmstbGlzdC1pdGVtIHtcbiAgICAgICAgLS1JTlRFUk5BTC0ta2VuZG8tbGlzdC1pdGVtLXRleHQ6IHZhciggLS1rZW5kby1saXN0LWl0ZW0tdGV4dCwgI3ska2VuZG8tbGlzdC1pdGVtLXRleHR9ICk7XG4gICAgICAgIC0tSU5URVJOQUwtLWtlbmRvLWxpc3QtaXRlbS1iZzogdmFyKCAtLWtlbmRvLWxpc3QtaXRlbS1iZywgI3ska2VuZG8tbGlzdC1pdGVtLWJnfSApO1xuXG4gICAgICAgIEBpbmNsdWRlIGZpbGwoXG4gICAgICAgICAgICB2YXIoIC0tSU5URVJOQUwtLWtlbmRvLWxpc3QtaXRlbS10ZXh0LCBpbmhlcml0ICksXG4gICAgICAgICAgICB2YXIoIC0tSU5URVJOQUwtLWtlbmRvLWxpc3QtaXRlbS1iZywgdHJhbnNwYXJlbnQgKVxuICAgICAgICApO1xuXG4gICAgICAgIC8vIEhvdmVyXG4gICAgICAgICY6aG92ZXIsXG4gICAgICAgICYuay1ob3ZlciB7XG4gICAgICAgICAgICAtLUlOVEVSTkFMLS1rZW5kby1saXN0LWl0ZW0tdGV4dDogdmFyKCAtLWtlbmRvLWxpc3QtaXRlbS1ob3Zlci10ZXh0LCAjeyRrZW5kby1saXN0LWl0ZW0taG92ZXItdGV4dH0gKTtcbiAgICAgICAgICAgIC0tSU5URVJOQUwtLWtlbmRvLWxpc3QtaXRlbS1iZzogdmFyKCAtLWtlbmRvLWxpc3QtaXRlbS1ob3Zlci1iZywgI3ska2VuZG8tbGlzdC1pdGVtLWhvdmVyLWJnfSApO1xuICAgICAgICB9XG5cbiAgICAgICAgLy8gRm9jdXNcbiAgICAgICAgJjpmb2N1cyxcbiAgICAgICAgJi5rLWZvY3VzIHtcbiAgICAgICAgICAgIC0tSU5URVJOQUwtLWtlbmRvLWxpc3QtaXRlbS10ZXh0OiB2YXIoIC0ta2VuZG8tbGlzdC1pdGVtLWZvY3VzLXRleHQsICN7JGtlbmRvLWxpc3QtaXRlbS1mb2N1cy10ZXh0fSApO1xuICAgICAgICAgICAgLS1JTlRFUk5BTC0ta2VuZG8tbGlzdC1pdGVtLWJnOiB2YXIoIC0ta2VuZG8tbGlzdC1pdGVtLWZvY3VzLWJnLCAjeyRrZW5kby1saXN0LWl0ZW0tZm9jdXMtYmd9ICk7XG5cbiAgICAgICAgICAgIEBpbmNsdWRlIGJveC1zaGFkb3coIHZhciggLS1rZW5kby1saXN0LWl0ZW0tZm9jdXMtc2hhZG93LCAjeyRrZW5kby1saXN0LWl0ZW0tZm9jdXMtc2hhZG93fSApICk7XG4gICAgICAgIH1cblxuICAgICAgICAvLyBTZWxlY3RlZFxuICAgICAgICAmLmstc2VsZWN0ZWQge1xuICAgICAgICAgICAgLS1JTlRFUk5BTC0ta2VuZG8tbGlzdC1pdGVtLXRleHQ6IHZhciggLS1rZW5kby1saXN0LWl0ZW0tc2VsZWN0ZWQtdGV4dCwgI3ska2VuZG8tbGlzdC1pdGVtLXNlbGVjdGVkLXRleHR9ICk7XG4gICAgICAgICAgICAtLUlOVEVSTkFMLS1rZW5kby1saXN0LWl0ZW0tYmc6IHZhciggLS1rZW5kby1saXN0LWl0ZW0tc2VsZWN0ZWQtYmcsICN7JGtlbmRvLWxpc3QtaXRlbS1zZWxlY3RlZC1iZ30gKTtcbiAgICAgICAgfVxuICAgICAgICAmLmstc2VsZWN0ZWQ6aG92ZXIsXG4gICAgICAgICYuay1zZWxlY3RlZC5rLWhvdmVyIHtcbiAgICAgICAgICAgIC0tSU5URVJOQUwtLWtlbmRvLWxpc3QtaXRlbS10ZXh0OiB2YXIoIC0ta2VuZG8tbGlzdC1pdGVtLXNlbGVjdGVkLWhvdmVyLXRleHQsICN7JGtlbmRvLWxpc3QtaXRlbS1zZWxlY3RlZC1ob3Zlci10ZXh0fSApO1xuICAgICAgICAgICAgLS1JTlRFUk5BTC0ta2VuZG8tbGlzdC1pdGVtLWJnOiB2YXIoIC0ta2VuZG8tbGlzdC1pdGVtLXNlbGVjdGVkLWhvdmVyLWJnLCAjeyRrZW5kby1saXN0LWl0ZW0tc2VsZWN0ZWQtaG92ZXItYmcgfSApO1xuICAgICAgICB9XG5cbiAgICAgICAgLy8gRGlzYWJsZWRcbiAgICAgICAgJjpkaXNhYmxlZCxcbiAgICAgICAgJi5rLWRpc2FibGVkIHtcbiAgICAgICAgICAgIC0tSU5URVJOQUwtLWtlbmRvLWxpc3QtaXRlbS10ZXh0OiB2YXIoIC0ta2VuZG8tbGlzdC1pdGVtLWRpc2FibGVkLXRleHQsICN7JGtlbmRvLWxpc3QtaXRlbS1kaXNhYmxlZC10ZXh0fSApO1xuICAgICAgICAgICAgLS1JTlRFUk5BTC0ta2VuZG8tbGlzdC1pdGVtLWJnOiB2YXIoIC0ta2VuZG8tbGlzdC1pdGVtLWRpc2FibGVkLWJnLCAjeyRrZW5kby1saXN0LWl0ZW0tZGlzYWJsZWQtYmd9ICk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBJY29uXG4gICAgLmstbGlzdC1pdGVtIC5rLWljb24ge1xuICAgICAgICBAaW5jbHVkZSBmaWxsKFxuICAgICAgICAgICAgJGNvbG9yOiB2YXIoIC0ta2VuZG8tbGlzdC1pdGVtLWljb24tdGV4dCwgI3ska2VuZG8tbGlzdC1pdGVtLWljb24tdGV4dH0gKVxuICAgICAgICApO1xuICAgIH1cblxuICAgIC8vIE9wdGlvbiBMYWJlbFxuICAgIC5rLWxpc3Qtb3B0aW9ubGFiZWwsXG4gICAgLmstbGlzdC1vcHRpb25sYWJlbC5rLWhvdmVyLFxuICAgIC5rLWxpc3Qtb3B0aW9ubGFiZWw6aG92ZXIge1xuICAgICAgICBAaW5jbHVkZSBmaWxsKFxuICAgICAgICAgICAgJGNvbG9yOiB2YXIoIC0ta2VuZG8tbGlzdC1vcHRpb24tbGFiZWwtdGV4dCwgI3ska2VuZG8tbGlzdC1vcHRpb24tbGFiZWwtdGV4dH0gKVxuICAgICAgICApO1xuICAgIH1cblxuICAgIC5rLWxpc3Qtb3B0aW9ubGFiZWw6ZGlzYWJsZWQsXG4gICAgLmstbGlzdC1vcHRpb25sYWJlbC5rLWRpc2FibGVkIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGZpbGwoXG4gICAgICAgICAgICAgICAgJGNvbG9yOiB2YXIoIC0ta2VuZG8tbGlzdC1vcHRpb24tbGFiZWwtZGlzYWJsZWQtdGV4dCwgI3ska2VuZG8tbGlzdC1vcHRpb24tbGFiZWwtZGlzYWJsZWQtdGV4dH0gKVxuICAgICAgICAgICAgKVxuICAgIH1cblxuICAgIC8vIExpc3QgZ3JvdXAgaXRlbVxuICAgIC5rLWxpc3QtZ3JvdXAtaXRlbSB7XG4gICAgICAgIEBpbmNsdWRlIGZpbGwoXG4gICAgICAgICAgICB2YXIoIC0ta2VuZG8tbGlzdC1ncm91cC1pdGVtLXRleHQsICN7JGtlbmRvLWxpc3QtZ3JvdXAtaXRlbS10ZXh0fSApLFxuICAgICAgICAgICAgdmFyKCAtLWtlbmRvLWxpc3QtZ3JvdXAtaXRlbS1iZywgI3ska2VuZG8tbGlzdC1ncm91cC1pdGVtLWJnfSApLFxuICAgICAgICAgICAgdmFyKCAtLWtlbmRvLWxpc3QtZ3JvdXAtaXRlbS1ib3JkZXIsICN7JGtlbmRvLWxpc3QtZ3JvdXAtaXRlbS1ib3JkZXJ9IClcbiAgICAgICAgKTtcbiAgICAgICAgQGluY2x1ZGUgYm94LXNoYWRvdyggdmFyKCAtLWtlbmRvLWxpc3QtZ3JvdXAtaXRlbS1zaGFkb3csICN7JGtlbmRvLWxpc3QtZ3JvdXAtaXRlbS1zaGFkb3d9ICkgKTtcbiAgICB9XG5cblxuICAgIC8vIExpc3QgaXRlbSBncm91cCBsYWJlbFxuICAgIC5rLWxpc3QtaXRlbS1ncm91cC1sYWJlbCB7XG4gICAgICAgIEBpbmNsdWRlIGZpbGwoXG4gICAgICAgICAgICB2YXIoIC0ta2VuZG8tbGlzdC1iZywgI3ska2VuZG8tbGlzdC1iZ30gKSxcbiAgICAgICAgICAgIHZhciggLS1rZW5kby1saXN0LXRleHQsICN7JGtlbmRvLWxpc3QtdGV4dH0gKVxuICAgICAgICApO1xuICAgIH1cblxufVxuIiwiQHVzZSBcIi4uL2NvcmUvX2luZGV4LnNjc3NcIiBhcyAqO1xuQHVzZSBcIi4vX3ZhcmlhYmxlcy5zY3NzXCIgYXMgKjtcblxuQG1peGluIGtlbmRvLWxpc3Rncm91cC0tbGF5b3V0KCkge1xuXG4gICAgLmstbGlzdGdyb3VwIHtcbiAgICAgICAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cyggdmFyKCAtLWtlbmRvLWxpc3Rncm91cC1ib3JkZXItcmFkaXVzLCAjeyRrZW5kby1saXN0Z3JvdXAtYm9yZGVyLXJhZGl1c30gKSApO1xuICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgIGJvcmRlci13aWR0aDogdmFyKCAtLWtlbmRvLWxpc3Rncm91cC1ib3JkZXItd2lkdGgsICN7JGtlbmRvLWxpc3Rncm91cC1ib3JkZXItd2lkdGh9ICk7XG4gICAgICAgIGJvcmRlci1zdHlsZTogc29saWQ7XG4gICAgICAgIGZvbnQtc2l6ZTogdmFyKCAtLWtlbmRvLWxpc3Rncm91cC1mb250LXNpemUsICN7JGtlbmRvLWxpc3Rncm91cC1mb250LXNpemV9ICk7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiB2YXIoIC0ta2VuZG8tbGlzdGdyb3VwLWxpbmUtaGVpZ2h0LCAjeyRrZW5kby1saXN0Z3JvdXAtbGluZS1oZWlnaHR9ICk7XG4gICAgICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcblxuICAgICAgICA+IHVsIHtcbiAgICAgICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgICAgICBsaXN0LXN0eWxlOiBub25lO1xuICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICAgIH1cblxuICAgICAgICAvLyBCb3JkZXJzIG9mIGl0ZW1zXG4gICAgICAgIC5rLWxpc3Rncm91cC1pdGVtICsgLmstbGlzdGdyb3VwLWl0ZW0ge1xuICAgICAgICAgICAgYm9yZGVyLXRvcC13aWR0aDogdmFyKCAtLWtlbmRvLWxpc3Rncm91cC1pdGVtLWJvcmRlci13aWR0aCwgI3ska2VuZG8tbGlzdGdyb3VwLWl0ZW0tYm9yZGVyLXdpZHRofSApO1xuICAgICAgICB9XG4gICAgfVxuICAgIC5rLWxpc3Rncm91cC1mbHVzaCB7XG4gICAgICAgIEBpbmNsdWRlIGJvcmRlci1yYWRpdXMoIDAgKTtcbiAgICAgICAgYm9yZGVyLWxlZnQtd2lkdGg6IDA7XG4gICAgICAgIGJvcmRlci1yaWdodC13aWR0aDogMDtcbiAgICB9XG5cblxuICAgIC5rLWxpc3Rncm91cC1pdGVtIHtcbiAgICAgICAgcGFkZGluZy1pbmxpbmU6IHZhciggLS1rZW5kby1saXN0Z3JvdXAtaXRlbS1wYWRkaW5nLXgsICN7JGtlbmRvLWxpc3Rncm91cC1pdGVtLXBhZGRpbmcteH0gKTtcbiAgICAgICAgcGFkZGluZy1ibG9jazogdmFyKCAtLWtlbmRvLWxpc3Rncm91cC1pdGVtLXBhZGRpbmcteSwgI3ska2VuZG8tbGlzdGdyb3VwLWl0ZW0tcGFkZGluZy15fSApO1xuICAgICAgICBib3JkZXItd2lkdGg6IDA7XG4gICAgICAgIGJvcmRlci1zdHlsZTogc29saWQ7XG4gICAgICAgIGJvcmRlci1jb2xvcjogaW5oZXJpdDtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0O1xuICAgICAgICBmbGV4OiAwIDAgYXV0bztcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gICAgICAgID4gLmstbGluayB7XG4gICAgICAgICAgICBtYXJnaW4taW5saW5lOiB2YXIoIC0ta2VuZG8tbGlzdGdyb3VwLWl0ZW0tcGFkZGluZy14LCBjYWxjKCAjeyRrZW5kby1saXN0Z3JvdXAtaXRlbS1wYWRkaW5nLXh9ICogLTEgKSApO1xuICAgICAgICAgICAgbWFyZ2luLWJsb2NrOiB2YXIoIC0ta2VuZG8tbGlzdGdyb3VwLWl0ZW0tcGFkZGluZy15LCBjYWxjKCAjeyRrZW5kby1saXN0Z3JvdXAtaXRlbS1wYWRkaW5nLXl9ICogLTEgKSApO1xuICAgICAgICAgICAgcGFkZGluZy1pbmxpbmU6IHZhciggLS1rZW5kby1saXN0Z3JvdXAtaXRlbS1wYWRkaW5nLXgsICN7JGtlbmRvLWxpc3Rncm91cC1pdGVtLXBhZGRpbmcteH0gKTtcbiAgICAgICAgICAgIHBhZGRpbmctYmxvY2s6IHZhciggLS1rZW5kby1saXN0Z3JvdXAtaXRlbS1wYWRkaW5nLXksICN7JGtlbmRvLWxpc3Rncm91cC1pdGVtLXBhZGRpbmcteX0gKTtcbiAgICAgICAgICAgIGNvbG9yOiBpbmhlcml0O1xuICAgICAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgICAgICAgICAgb3V0bGluZTogMDtcbiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDtcbiAgICAgICAgICAgIGZsZXg6IDEgMSBhdXRvO1xuICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gICAgICAgICAgICA+IC5rLXNlbGVjdCB7XG4gICAgICAgICAgICAgICAgcGFkZGluZy1pbmxpbmU6IHZhciggLS1rZW5kby1saXN0Z3JvdXAtaXRlbS1wYWRkaW5nLXksICN7JGtlbmRvLWxpc3Rncm91cC1pdGVtLXBhZGRpbmcteX0gKTtcbiAgICAgICAgICAgICAgICBwYWRkaW5nLWJsb2NrOiB2YXIoIC0ta2VuZG8tbGlzdGdyb3VwLWl0ZW0tcGFkZGluZy15LCAjeyRrZW5kby1saXN0Z3JvdXAtaXRlbS1wYWRkaW5nLXl9ICk7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICAgICAgICAgIGZsZXg6IDAgMCBhdXRvO1xuICAgICAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgICAgICB0b3A6IDUwJTtcbiAgICAgICAgICAgICAgICByaWdodDogMDtcbiAgICAgICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG4gICAgLmstbGlzdGdyb3VwLWl0ZW0tc2VnbWVudGVkIHtcbiAgICAgICAgYWxpZ24taXRlbXM6IHN0cmV0Y2g7XG5cbiAgICAgICAgPiAuay1saW5rIHtcbiAgICAgICAgICAgIG1hcmdpbi1pbmxpbmUtZW5kOiAwO1xuICAgICAgICB9XG5cbiAgICAgICAgPiAuay1zZWxlY3Qge1xuICAgICAgICAgICAgbWFyZ2luLWlubGluZS1zdGFydDogMDtcbiAgICAgICAgICAgIG1hcmdpbi1pbmxpbmUtZW5kOiB2YXIoIC0ta2VuZG8tbGlzdGdyb3VwLWl0ZW0tcGFkZGluZy14LCBjYWxjKCAjeyRrZW5kby1saXN0Z3JvdXAtaXRlbS1wYWRkaW5nLXh9ICogLTEgKSApO1xuICAgICAgICAgICAgbWFyZ2luLWJsb2NrOiB2YXIoIC0ta2VuZG8tbGlzdGdyb3VwLWl0ZW0tcGFkZGluZy15LCBjYWxjKCAjeyRrZW5kby1saXN0Z3JvdXAtaXRlbS1wYWRkaW5nLXl9ICogLTEgKSApO1xuICAgICAgICAgICAgcGFkZGluZy1pbmxpbmU6IHZhciggLS1rZW5kby1saXN0Z3JvdXAtaXRlbS1wYWRkaW5nLXksICN7JGtlbmRvLWxpc3Rncm91cC1pdGVtLXBhZGRpbmcteX0gKTtcbiAgICAgICAgICAgIHBhZGRpbmctYmxvY2s6IHZhciggLS1rZW5kby1saXN0Z3JvdXAtaXRlbS1wYWRkaW5nLXksICN7JGtlbmRvLWxpc3Rncm91cC1pdGVtLXBhZGRpbmcteX0gKTtcbiAgICAgICAgICAgIGJvcmRlci13aWR0aDogMCAwIDAgMXB4O1xuICAgICAgICAgICAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcbiAgICAgICAgICAgIGJvcmRlci1jb2xvcjogaW5oZXJpdDtcbiAgICAgICAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAgICAgfVxuICAgIH1cblxuXG4gICAgLy8gRm9ybXMgaW4gbGlzdGdyb3VwXG4gICAgLmstbGlzdGdyb3VwLWZvcm0tcm93IHtcbiAgICAgICAgbWFyZ2luLWlubGluZTogdmFyKCAtLWtlbmRvLWxpc3Rncm91cC1pdGVtLXBhZGRpbmcteCwgY2FsYyggI3ska2VuZG8tbGlzdGdyb3VwLWl0ZW0tcGFkZGluZy14fSAqIC0xICkgKTtcbiAgICAgICAgbWFyZ2luLWJsb2NrOiB2YXIoIC0ta2VuZG8tbGlzdGdyb3VwLWl0ZW0tcGFkZGluZy15LCBjYWxjKCAjeyRrZW5kby1saXN0Z3JvdXAtaXRlbS1wYWRkaW5nLXl9ICogLTEpICk7XG4gICAgICAgIHBhZGRpbmctaW5saW5lOiB2YXIoIC0ta2VuZG8tbGlzdGdyb3VwLWl0ZW0tcGFkZGluZy14LCAjeyRrZW5kby1saXN0Z3JvdXAtaXRlbS1wYWRkaW5nLXh9ICk7XG4gICAgICAgIHBhZGRpbmctYmxvY2s6IHZhciggLS1rZW5kby1saXN0Z3JvdXAtaXRlbS1wYWRkaW5nLXksICN7JGtlbmRvLWxpc3Rncm91cC1pdGVtLXBhZGRpbmcteX0gKTtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICAgICAgICBmbGV4OiAxIDEgYXV0bztcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gICAgICAgIC5rLWxpc3Rncm91cC1mb3JtLWZpZWxkLWxhYmVsIHtcbiAgICAgICAgICAgIHdpZHRoOiA0MCU7XG4gICAgICAgICAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICAgICAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAgICAgICAgIHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xuICAgICAgICB9XG5cbiAgICAgICAgLmstbGlzdGdyb3VwLWZvcm0tZmllbGQtd3JhcHBlciB7XG4gICAgICAgICAgICB3aWR0aDogNTAlO1xuICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDtcbiAgICAgICAgICAgIHRleHQtYWxpZ246IGVuZDtcbiAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAgICAgICAgICAgc2VsZWN0LFxuICAgICAgICAgICAgaW5wdXRbdHlwZT1cInRleHRcIl0sXG4gICAgICAgICAgICBpbnB1dFt0eXBlPVwicGFzc3dvcmRcIl0sXG4gICAgICAgICAgICBpbnB1dFt0eXBlPVwiZGF0ZVwiXSxcbiAgICAgICAgICAgIGlucHV0W3R5cGU9XCJ0aW1lXCJdLFxuICAgICAgICAgICAgaW5wdXRbdHlwZT1cImRhdGV0aW1lLWxvY2FsXCJdLFxuICAgICAgICAgICAgaW5wdXRbdHlwZT1cIm51bWJlclwiXSxcbiAgICAgICAgICAgIHRleHRhcmVhIHtcbiAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgICAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgICAgICAgICAgICAgIGZsZXg6IDEgMSAxMDAlO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICB0ZXh0YXJlYSB7XG4gICAgICAgICAgICAgICAgbWluLWhlaWdodDogNGVtO1xuICAgICAgICAgICAgICAgIHJlc2l6ZTogdmVydGljYWw7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG4gICAgLmstbGlzdGdyb3VwLWl0ZW0uay1saXN0Z3JvdXAtZm9ybS1yb3cge1xuICAgICAgICBtYXJnaW46IDA7XG4gICAgfVxuXG5cbiAgICAvLyBSVEwgU3R5bGVzXG4gICAgW2Rpcj1cInJ0bFwiXSB7XG5cbiAgICAgICAgLmstbGlzdGdyb3VwLWl0ZW0ge1xuXG4gICAgICAgICAgICA+IC5rLWxpbmsge1xuXG4gICAgICAgICAgICAgICAgPiAuay1zZWxlY3Qge1xuICAgICAgICAgICAgICAgICAgICByaWdodDogYXV0bztcbiAgICAgICAgICAgICAgICAgICAgbGVmdDogMDtcbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIH1cblxuICAgICAgICB9XG4gICAgICAgIC5rLWxpc3Rncm91cC1pdGVtLXNlZ21lbnRlZCB7XG5cbiAgICAgICAgICAgID4gLmstc2VsZWN0IHtcbiAgICAgICAgICAgICAgICBib3JkZXItcmlnaHQtd2lkdGg6IDFweDtcbiAgICAgICAgICAgICAgICBib3JkZXItbGVmdC13aWR0aDogMDtcbiAgICAgICAgICAgIH1cblxuICAgICAgICB9XG4gICAgfVxuXG59XG4iLCJAdXNlIFwiLi4vY29yZS9faW5kZXguc2Nzc1wiIGFzICo7XG5AdXNlIFwiLi9fdmFyaWFibGVzLnNjc3NcIiBhcyAqO1xuXG5AbWl4aW4ga2VuZG8tbGlzdGdyb3VwLS10aGVtZSgpIHtcblxuICAgIC5rLWxpc3Rncm91cCB7XG4gICAgICAgIEBpbmNsdWRlIGZpbGwoXG4gICAgICAgICAgICB2YXIoIC0ta2VuZG8tbGlzdGdyb3VwLXRleHQsICN7JGtlbmRvLWxpc3Rncm91cC10ZXh0fSApLFxuICAgICAgICAgICAgdmFyKCAtLWtlbmRvLWxpc3Rncm91cC1iZywgI3ska2VuZG8tbGlzdGdyb3VwLWJnfSApLFxuICAgICAgICAgICAgdmFyKCAtLWtlbmRvLWxpc3Rncm91cC1ib3JkZXIsICN7JGtlbmRvLWxpc3Rncm91cC1ib3JkZXJ9IClcbiAgICAgICAgKTtcbiAgICB9XG5cbn1cbiIsIkB1c2UgXCIuL192YXJpYWJsZXMuc2Nzc1wiIGFzICo7XG5cbkBtaXhpbiBrZW5kby1vdmVybGF5LS1sYXlvdXQoKSB7XG5cbiAgICAuay1vdmVybGF5IHtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgb3BhY2l0eTogdmFyKCAtLWtlbmRvLW92ZXJsYXktb3BhY2l0eSwgI3ska2VuZG8tb3ZlcmxheS1vcGFjaXR5fSApO1xuICAgICAgICBwb3NpdGlvbjogZml4ZWQ7XG4gICAgICAgIHRvcDogMDtcbiAgICAgICAgbGVmdDogMDtcbiAgICAgICAgei1pbmRleDogMTAwMDE7XG4gICAgfVxuXG59XG4iLCJAdXNlIFwiLi9fdmFyaWFibGVzLnNjc3NcIiBhcyAqO1xuXG5AbWl4aW4ga2VuZG8tb3ZlcmxheS0tdGhlbWUoKSB7XG5cbiAgICAuay1vdmVybGF5LFxuICAgIC5rLW92ZXJsYXktZGFyayB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IHZhciggLS1rZW5kby1vdmVybGF5LWRhcmssICN7JGtlbmRvLW92ZXJsYXktZGFya30gKTtcbiAgICB9XG5cbiAgICAuay1vdmVybGF5LWxpZ2h0IHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKCAtLWtlbmRvLW92ZXJsYXktbGlnaHQsICN7JGtlbmRvLW92ZXJsYXktbGlnaHR9ICk7XG4gICAgfVxuXG59XG4iLCJAdXNlIFwiLi4vY29yZS9faW5kZXguc2Nzc1wiIGFzICo7XG5AdXNlIFwiLi9fdmFyaWFibGVzLnNjc3NcIiBhcyAqO1xuXG5AbWl4aW4ga2VuZG8tcG9wdXAtLWxheW91dCgpIHtcblxuICAgIC8vIEFuaW1hdGlvbiBDb250YWluZXJcbiAgICAuay1hbmltYXRpb24tY29udGFpbmVyIHtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgICAgICB6LWluZGV4OiAxMDA7XG4gICAgICAgIG91dGxpbmU6IG5vbmU7XG5cbiAgICAgICAgJi1maXhlZCB7XG4gICAgICAgICAgICBwb3NpdGlvbjogZml4ZWQ7XG4gICAgICAgIH1cblxuICAgICAgICAmLXJlbGF0aXZlIHtcbiAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5rLWFuaW1hdGlvbi1jb250YWluZXIge1xuICAgICAgICBAaW5jbHVkZSBib3JkZXItYm90dG9tLXJhZGl1cy1vbmx5KCB2YXIoIC0ta2VuZG8tcG9wdXAtYm9yZGVyLXJhZGl1cywgI3ska2VuZG8tcG9wdXAtYm9yZGVyLXJhZGl1c30gKSApO1xuICAgIH1cblxuICAgIC5rLWFuaW1hdGlvbi1jb250YWluZXItc2hvd24ge1xuICAgICAgICBvdmVyZmxvdzogdmlzaWJsZTtcbiAgICB9XG5cbiAgICAvLyBQb3B1cFxuICAgIC5rLXBvcHVwIHtcbiAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICBwYWRkaW5nLWlubGluZTogdmFyKCAtLWtlbmRvLXBvcHVwLXBhZGRpbmcteCwgI3ska2VuZG8tcG9wdXAtcGFkZGluZy14fSApO1xuICAgICAgICBwYWRkaW5nLWJsb2NrOiB2YXIoIC0ta2VuZG8tcG9wdXAtcGFkZGluZy15LCAjeyRrZW5kby1wb3B1cC1wYWRkaW5nLXl9ICk7XG4gICAgICAgIGJvcmRlci13aWR0aDogdmFyKCAtLWtlbmRvLXBvcHVwLWJvcmRlci13aWR0aCwgI3ska2VuZG8tcG9wdXAtYm9yZGVyLXdpZHRofSApO1xuICAgICAgICBib3JkZXItc3R5bGU6IHNvbGlkO1xuICAgICAgICBib3JkZXItcmFkaXVzOiB2YXIoIC0ta2VuZG8tcG9wdXAtYm9yZGVyLXJhZGl1cywgI3ska2VuZG8tcG9wdXAtYm9yZGVyLXJhZGl1c30gKTtcbiAgICAgICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICAgICAgZm9udC1zaXplOiB2YXIoIC0ta2VuZG8tcG9wdXAtZm9udC1zaXplLCAjeyRrZW5kby1wb3B1cC1mb250LXNpemV9ICk7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiB2YXIoIC0ta2VuZG8tcG9wdXAtbGluZS1oZWlnaHQsICN7JGtlbmRvLXBvcHVwLWxpbmUtaGVpZ2h0fSApO1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgICBhbGlnbi1pdGVtczogc3RyZXRjaDtcblxuICAgICAgICAuay1pdGVtIHtcbiAgICAgICAgICAgIG91dGxpbmU6IG5vbmU7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAuay1wb3B1cCA+IC5rLWNvbG9ycGFsZXR0ZSB7XG4gICAgICAgIHBhZGRpbmctaW5saW5lOiB2YXIoIC0ta2VuZG8tcG9wdXAtY29udGVudC1wYWRkaW5nLXgsICN7JGtlbmRvLXBvcHVwLWNvbnRlbnQtcGFkZGluZy14fSApO1xuICAgICAgICBwYWRkaW5nLWJsb2NrOiB2YXIoIC0ta2VuZG8tcG9wdXAtY29udGVudC1wYWRkaW5nLXksICN7JGtlbmRvLXBvcHVwLWNvbnRlbnQtcGFkZGluZy15fSApO1xuICAgIH1cblxuICAgIC8vIFRyYW5zcGFyZW50IHBvcHVwXG4gICAgLmstcG9wdXAuay1wb3B1cC10cmFuc3BhcmVudCB7XG4gICAgICAgIGJvcmRlci13aWR0aDogMDtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgICAgIGJveC1zaGFkb3c6IG5vbmU7XG4gICAgfVxuXG4gICAgLy8gRmx1c2ggcG9wdXBcbiAgICAuay1wb3B1cC5rLXBvcHVwLWZsdXNoIHtcbiAgICAgICAgcGFkZGluZzogMDtcbiAgICB9XG5cbiAgICAvLyBDaGlsZCBjb21wb25lbnRzXG4gICAgLmstcG9wdXAgPiAuay1jb2xvcmVkaXRvciB7XG4gICAgICAgIGJvcmRlci13aWR0aDogMDtcbiAgICAgICAgYm94LXNoYWRvdzogbm9uZTtcbiAgICB9XG5cbiAgICAuay1wb3B1cCAuay1jb2x1bW4tbGlzdCB7XG4gICAgICAgIG1heC1oZWlnaHQ6IDIwMHB4O1xuICAgICAgICBvdmVyZmxvdy14OiBoaWRkZW47XG4gICAgICAgIG92ZXJmbG93LXk6IGF1dG87XG4gICAgfVxuXG4gICAgLmstcG9wdXAgLmstbXVsdGljaGVjay13cmFwIHtcbiAgICAgICAgbWF4LWhlaWdodDogMzAwcHg7XG4gICAgICAgIG92ZXJmbG93OiBhdXRvO1xuICAgIH1cblxufVxuIiwiQHVzZSBcIi4uL2NvcmUvX2luZGV4LnNjc3NcIiBhcyAqO1xuQHVzZSBcIi4vX3ZhcmlhYmxlcy5zY3NzXCIgYXMgKjtcblxuQG1peGluIGtlbmRvLXBvcHVwLS10aGVtZSgpIHtcbiAgICAuay1wb3B1cCB7XG4gICAgICAgIEBpbmNsdWRlIGZpbGwoXG4gICAgICAgICAgICB2YXIoIC0ta2VuZG8tcG9wdXAtdGV4dCwgI3ska2VuZG8tcG9wdXAtdGV4dH0gKSxcbiAgICAgICAgICAgIHZhciggLS1rZW5kby1wb3B1cC1iZywgI3ska2VuZG8tcG9wdXAtYmd9ICksXG4gICAgICAgICAgICB2YXIoIC0ta2VuZG8tcG9wdXAtYm9yZGVyLCAjeyRrZW5kby1wb3B1cC1ib3JkZXJ9IClcbiAgICAgICAgKTtcbiAgICAgICAgQGluY2x1ZGUgYm94LXNoYWRvdyggdmFyKCAtLWtlbmRvLXBvcHVwLXNoYWRvdywgI3ska2VuZG8tcG9wdXAtc2hhZG93fSApICk7XG4gICAgfVxuXG59XG4iLCJAdXNlIFwiLi9fdmFyaWFibGVzLnNjc3NcIiBhcyAqO1xuXG5AbWl4aW4ga2VuZG8tcmlwcGxlLS1sYXlvdXQoKSB7XG5cbiAgICAuay1yaXBwbGUtdGFyZ2V0IHtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIH1cblxuICAgIC5rLXJpcHBsZSB7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgdG9wOiAwO1xuICAgICAgICBsZWZ0OiAwO1xuICAgICAgICByaWdodDogMDtcbiAgICAgICAgYm90dG9tOiAwO1xuICAgICAgICB6LWluZGV4OiAxO1xuICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgICAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgICB9XG5cbiAgICAuay1yaXBwbGUtYmxvYiB7XG4gICAgICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgLTUwJSkgc2NhbGUoMCk7XG4gICAgICAgIHRyYW5zaXRpb246IG9wYWNpdHkgMTAwbXMgbGluZWFyLCB0cmFuc2Zvcm0gNTAwbXMgY3ViaWMtYmV6aWVyKC40LCAwLCAuMiwgMSk7XG4gICAgICAgIG9wYWNpdHk6IC4xO1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBjdXJyZW50Q29sb3I7XG4gICAgfVxuXG4gICAgLmstcHJpbWFyeSAuay1yaXBwbGUtYmxvYiB7XG4gICAgICAgIG9wYWNpdHk6IC4yO1xuICAgIH1cblxuICAgIC5rLXJpcHBsZS1mb2N1czo6YWZ0ZXIge1xuICAgICAgICB2aXNpYmlsaXR5OiB2aXNpYmxlO1xuICAgICAgICBhbmltYXRpb246IHJpcHBsZSA2MDBtcyBlYXNlLW91dDtcbiAgICB9XG5cbiAgICBAa2V5ZnJhbWVzIHJpcHBsZSB7XG4gICAgICAgIDAlIHtcbiAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIC01MCUpIHNjYWxlKDApO1xuICAgICAgICB9XG4gICAgICAgIDIwJSB7XG4gICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAtNTAlKSBzY2FsZSgxKTtcbiAgICAgICAgfVxuICAgICAgICAxMDAlIHtcbiAgICAgICAgICAgIG9wYWNpdHk6IDA7XG4gICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAtNTAlKSBzY2FsZSgxKTtcbiAgICAgICAgfVxuICAgIH1cblxufVxuIiwiQHVzZSBcInNhc3M6bWFwXCI7XG5AdXNlIFwiLi4vY29yZS9faW5kZXguc2Nzc1wiIGFzICo7XG5AdXNlIFwiLi9fdmFyaWFibGVzLnNjc3NcIiBhcyAqO1xuXG5AbWl4aW4ga2VuZG8tdGFibGUtLWxheW91dCgpIHtcblxuICAgIC8vIFRhYmxlXG4gICAgLmstdGFibGUge1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgbWF4LXdpZHRoOiBub25lO1xuICAgICAgICBib3JkZXItd2lkdGg6IHZhciggLS1rZW5kby10YWJsZS1ib3JkZXItd2lkdGgsICN7JGtlbmRvLXRhYmxlLWJvcmRlci13aWR0aH0gKTtcbiAgICAgICAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcbiAgICAgICAgZm9udC1zaXplOiB2YXIoIC0tSU5URVJOQUwtLWtlbmRvLXRhYmxlLWZvbnQtc2l6ZSwgdmFyKCAtLWtlbmRvLWZvbnQtc2l6ZSwgaW5oZXJpdCApICk7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiB2YXIoIC0tSU5URVJOQUwtLWtlbmRvLXRhYmxlLWxpbmUtaGVpZ2h0LCB2YXIoIC0ta2VuZG8tbGluZS1oZWlnaHQsIGluaGVyaXQgKSApO1xuICAgICAgICB0ZXh0LWFsaWduOiBzdGFydDtcbiAgICAgICAgYm9yZGVyLWNvbGxhcHNlOiBjb2xsYXBzZTtcbiAgICAgICAgYm9yZGVyLXNwYWNpbmc6IDA7XG4gICAgICAgIGVtcHR5LWNlbGxzOiBzaG93O1xuICAgICAgICBvdXRsaW5lOiBub25lO1xuICAgIH1cblxuICAgIC8vIERhdGEgdGFibGVcbiAgICAuay1kYXRhLXRhYmxlIHtcbiAgICAgICAgYm9yZGVyLXdpZHRoOiB2YXIoIC0ta2VuZG8tdGFibGUtYm9yZGVyLXdpZHRoLCAjeyRrZW5kby10YWJsZS1ib3JkZXItd2lkdGh9ICk7XG4gICAgICAgIGJvcmRlci1zdHlsZTogc29saWQ7XG5cbiAgICAgICAgLmstdGFibGUge1xuICAgICAgICAgICAgdGFibGUtbGF5b3V0OiBmaXhlZDtcbiAgICAgICAgfVxuXG4gICAgICAgIC5rLXRhYmxlLXRoIHtcbiAgICAgICAgICAgIGJvcmRlci1ibG9jay1zdGFydC13aWR0aDogMDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8vIFRhYmxlIG5hdGl2ZSBwYXJ0c1xuICAgIC5rLXRhYmxlLXRoZWFkLFxuICAgIC5rLXRhYmxlLXRib2R5LFxuICAgIC5rLXRhYmxlLXRmb290LFxuICAgIC5rLXRhYmxlLXJvdyxcbiAgICAuay10YWJsZS1hbHQtcm93IHtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiBpbmhlcml0O1xuICAgICAgICB0ZXh0LWFsaWduOiBpbmhlcml0O1xuICAgIH1cblxuICAgIC5rLXRhYmxlLXRoLFxuICAgIC5rLXRhYmxlLXRkIHtcbiAgICAgICAgcGFkZGluZy1pbmxpbmU6IHZhciggLS1JTlRFUk5BTC0ta2VuZG8tdGFibGUtY2VsbC1wYWRkaW5nLXgsIDAgKTtcbiAgICAgICAgcGFkZGluZy1ibG9jazogdmFyKCAtLUlOVEVSTkFMLS1rZW5kby10YWJsZS1jZWxsLXBhZGRpbmcteSwgMCApO1xuICAgICAgICBib3JkZXItYmxvY2std2lkdGg6IHZhciggLS1rZW5kby10YWJsZS1jZWxsLWhvcml6b250YWwtYm9yZGVyLXdpZHRoLCAjeyRrZW5kby10YWJsZS1jZWxsLWhvcml6b250YWwtYm9yZGVyLXdpZHRofSApO1xuICAgICAgICBib3JkZXItaW5saW5lLXdpZHRoOiB2YXIoIC0ta2VuZG8tdGFibGUtY2VsbC12ZXJ0aWNhbC1ib3JkZXItd2lkdGgsICN7JGtlbmRvLXRhYmxlLWNlbGwtdmVydGljYWwtYm9yZGVyLXdpZHRofSApO1xuICAgICAgICBib3JkZXItc3R5bGU6IHNvbGlkO1xuICAgICAgICBib3JkZXItY29sb3I6IGluaGVyaXQ7XG4gICAgICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gICAgICAgIHRleHQtYWxpZ246IGluaGVyaXQ7XG4gICAgICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gICAgICAgIHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xuICAgICAgICBkaXNwbGF5OiB0YWJsZS1jZWxsO1xuICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgICAgICAgJjpmaXJzdC1jaGlsZCB7XG4gICAgICAgICAgICBib3JkZXItaW5saW5lLXN0YXJ0LXdpZHRoOiAwO1xuICAgICAgICB9XG4gICAgfVxuICAgIC5rLXRhYmxlLXRoIHtcbiAgICAgICAgZm9udC13ZWlnaHQ6IHZhciggLS1rZW5kby10YWJsZS1oZWFkZXItZm9udC13ZWlnaHQsICN7JGtlbmRvLXRhYmxlLWhlYWRlci1mb250LXdlaWdodH0gKTtcbiAgICB9XG5cbiAgICAvLyBUYWJsZSBoZWFkZXJcbiAgICAuay10YWJsZS1oZWFkZXIge1xuICAgICAgICBwYWRkaW5nLWlubGluZS1lbmQ6IHZhciggLS1rZW5kby1zY3JvbGxiYXItd2lkdGgsICN7JGtlbmRvLXNjcm9sbGJhci13aWR0aH0gKTtcbiAgICAgICAgYm9yZGVyLWJsb2NrLXN0YXJ0LXdpZHRoOiAwO1xuICAgICAgICBib3JkZXItYmxvY2stZW5kLXdpZHRoOiAxcHg7XG4gICAgICAgIGJvcmRlci1pbmxpbmUtd2lkdGg6IDA7XG4gICAgICAgIGJvcmRlci1zdHlsZTogc29saWQ7XG4gICAgICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG5cbiAgICAgICAgLmstdGFibGUge1xuICAgICAgICAgICAgYm9yZGVyLXdpZHRoOiAwO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLmstdGFibGUtaGVhZGVyLXdyYXAge1xuICAgICAgICBtYXJnaW4taW5saW5lLWVuZDogY2FsYyggdmFyKCAtLWtlbmRvLXRhYmxlLWJvcmRlci13aWR0aCwgI3ska2VuZG8tdGFibGUtYm9yZGVyLXdpZHRofSApICogLTEgKTtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIGJvcmRlci1ibG9jay13aWR0aDogMDtcbiAgICAgICAgYm9yZGVyLWlubGluZS1zdGFydC13aWR0aDogMDtcbiAgICAgICAgYm9yZGVyLWlubGluZS1lbmQtd2lkdGg6IHZhciggLS1rZW5kby10YWJsZS1jZWxsLXZlcnRpY2FsLWJvcmRlci13aWR0aCwgI3ska2VuZG8tdGFibGUtY2VsbC12ZXJ0aWNhbC1ib3JkZXItd2lkdGh9ICk7XG4gICAgICAgIGJvcmRlci1zdHlsZTogc29saWQ7XG4gICAgICAgIGJvcmRlci1jb2xvcjogaW5oZXJpdDtcbiAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICB9XG5cbiAgICAuay10YWJsZS1oZWFkZXIsXG4gICAgLmstdGFibGUtaGVhZGVyLXdyYXAge1xuICAgICAgICA+IC5rLXRhYmxlIHtcbiAgICAgICAgICAgIG1hcmdpbi1ibG9jay1lbmQ6IGNhbGMoIHZhciggLS1rZW5kby10YWJsZS1ib3JkZXItd2lkdGgsICN7JGtlbmRvLXRhYmxlLWJvcmRlci13aWR0aH0gKSAqIC0xICk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAuay10YWJsZS1ncm91cC1zdGlja3ktaGVhZGVyLFxuICAgIC5rLXRhYmxlLWdyb3VwLWhlYWRlciB7XG4gICAgICAgIGZsZXg6IG5vbmU7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgei1pbmRleDogMTtcblxuICAgICAgICAuay10YWJsZS10aCB7XG4gICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAgZmxleC1mbG93OiByb3cgbm93cmFwO1xuICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgICAgIGFsaWduLWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgICAgfVxuICAgIH1cblxuXG4gICAgLy8gVGFibGUgbGlzdFxuICAgIC5rLXRhYmxlLWxpc3Qge1xuICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBtYXgtd2lkdGg6IG5vbmU7XG4gICAgICAgIGJvcmRlci13aWR0aDogMDtcbiAgICAgICAgZGlzcGxheTogdGFibGU7XG4gICAgICAgIGJvcmRlci1jb2xsYXBzZTogY29sbGFwc2U7XG4gICAgICAgIGJvcmRlci1zcGFjaW5nOiAwO1xuICAgICAgICB0YWJsZS1sYXlvdXQ6IGZpeGVkO1xuICAgICAgICBlbXB0eS1jZWxsczogc2hvdztcbiAgICAgICAgbGlzdC1zdHlsZTogbm9uZTtcbiAgICAgICAgb3V0bGluZTogbm9uZTtcblxuICAgICAgICAuay10YWJsZS1yb3cge1xuICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICB9XG5cbiAgICAgICAgLmstdGFibGUtcm93LFxuICAgICAgICAuay10YWJsZS1ncm91cC1yb3cge1xuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgICAgICAgICAgZGlzcGxheTogdGFibGUtcm93O1xuICAgICAgICB9XG4gICAgICAgIC5rLXRhYmxlLXJvdzpmaXJzdC1jaGlsZCAuay10YWJsZS10ZCxcbiAgICAgICAgLmstdGFibGUtcm93Omxhc3QtY2hpbGQgLmstdGFibGUtdGQge1xuICAgICAgICAgICAgYm9yZGVyLWJsb2NrLXdpZHRoOiAwO1xuICAgICAgICB9XG4gICAgICAgIC5rLXRhYmxlLXJvdy5rLWZpcnN0IC5rLXRhYmxlLXRkOjpiZWZvcmUge1xuICAgICAgICAgICAgY29udGVudDogXCJcIjtcbiAgICAgICAgICAgIGRpc3BsYXk6IGluaGVyaXQ7XG4gICAgICAgICAgICBib3JkZXItd2lkdGg6IDFweCAwIDA7XG4gICAgICAgICAgICBib3JkZXItc3R5bGU6IHNvbGlkO1xuICAgICAgICAgICAgYm9yZGVyLWNvbG9yOiBjdXJyZW50Q29sb3I7XG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICB0b3A6IDA7XG4gICAgICAgICAgICBsZWZ0OiAwO1xuICAgICAgICAgICAgcmlnaHQ6IDA7XG4gICAgICAgIH1cblxuICAgICAgICAuay10YWJsZS10aCxcbiAgICAgICAgLmstdGFibGUtdGQge1xuICAgICAgICAgICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgICAgICAgfVxuXG4gICAgICAgIC5rLXRhYmxlLWdyb3VwLXJvdyB7XG4gICAgICAgICAgICBwb3NpdGlvbjogc3RpY2t5O1xuXG4gICAgICAgICAgICAmOjpiZWZvcmUge1xuICAgICAgICAgICAgICAgIGNvbnRlbnQ6IFwiXFwyMDBiXCI7XG4gICAgICAgICAgICAgICAgcGFkZGluZy1pbmxpbmU6IHZhciggLS1JTlRFUk5BTC0ta2VuZG8tdGFibGUtZ3JvdXAtcm93LXBhZGRpbmcteCwgMCApO1xuICAgICAgICAgICAgICAgIHBhZGRpbmctYmxvY2s6IHZhciggLS1JTlRFUk5BTC0ta2VuZG8tdGFibGUtZ3JvdXAtcm93LXBhZGRpbmcteSwgMCApO1xuICAgICAgICAgICAgICAgIHdpZHRoOiAwO1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC5rLXRhYmxlLXRoIHtcbiAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgICAgICBib3JkZXItYmxvY2stZW5kLXdpZHRoOiAxcHg7XG4gICAgICAgICAgICAgICAgYm9yZGVyLWNvbG9yOiBpbmhlcml0O1xuICAgICAgICAgICAgICAgIGNvbG9yOiBpbmhlcml0O1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IGluaGVyaXQ7XG4gICAgICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgICAgIHRvcDogMDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC5rLXRhYmxlLXNwYWNlci10ZCB7XG4gICAgICAgICAgICBwYWRkaW5nOiAwICFpbXBvcnRhbnQ7IC8vIHN0eWxlbGludC1kaXNhYmxlLWxpbmUgZGVjbGFyYXRpb24tbm8taW1wb3J0YW50XG4gICAgICAgICAgICB3aWR0aDogMCAhaW1wb3J0YW50OyAvLyBzdHlsZWxpbnQtZGlzYWJsZS1saW5lIGRlY2xhcmF0aW9uLW5vLWltcG9ydGFudFxuICAgICAgICAgICAgYm9yZGVyLWxlZnQtd2lkdGg6IDAgIWltcG9ydGFudDsgLy8gc3R5bGVsaW50LWRpc2FibGUtbGluZSBkZWNsYXJhdGlvbi1uby1pbXBvcnRhbnRcbiAgICAgICAgICAgIGJvcmRlci1yaWdodC13aWR0aDogMCAhaW1wb3J0YW50OyAvLyBzdHlsZWxpbnQtZGlzYWJsZS1saW5lIGRlY2xhcmF0aW9uLW5vLWltcG9ydGFudFxuICAgICAgICB9XG5cbiAgICAgICAgLmstdGFibGUtZ3JvdXAtdGQge1xuICAgICAgICAgICAgcGFkZGluZzogMCAhaW1wb3J0YW50OyAvLyBzdHlsZWxpbnQtZGlzYWJsZS1saW5lIGRlY2xhcmF0aW9uLW5vLWltcG9ydGFudFxuICAgICAgICAgICAgd2lkdGg6IDAgIWltcG9ydGFudDsgLy8gc3R5bGVsaW50LWRpc2FibGUtbGluZSBkZWNsYXJhdGlvbi1uby1pbXBvcnRhbnRcbiAgICAgICAgICAgIGJvcmRlci1sZWZ0LXdpZHRoOiAwICFpbXBvcnRhbnQ7IC8vIHN0eWxlbGludC1kaXNhYmxlLWxpbmUgZGVjbGFyYXRpb24tbm8taW1wb3J0YW50XG4gICAgICAgICAgICBib3JkZXItcmlnaHQtd2lkdGg6IDAgIWltcG9ydGFudDsgLy8gc3R5bGVsaW50LWRpc2FibGUtbGluZSBkZWNsYXJhdGlvbi1uby1pbXBvcnRhbnRcbiAgICAgICAgICAgIG92ZXJmbG93OiB2aXNpYmxlOyAvLyBzdHlsZWxpbnQtZGlzYWJsZS1saW5lIGRlY2xhcmF0aW9uLW5vLWltcG9ydGFudFxuXG4gICAgICAgICAgICA+IHNwYW4ge1xuICAgICAgICAgICAgICAgIHBhZGRpbmctaW5saW5lOiB2YXIoIC0tSU5URVJOQUwtLWtlbmRvLXRhYmxlLWdyb3VwLWxhYmVsLXBhZGRpbmcteCwgMCApO1xuICAgICAgICAgICAgICAgIHBhZGRpbmctYmxvY2s6IHZhciggLS1JTlRFUk5BTC0ta2VuZG8tdGFibGUtZ3JvdXAtbGFiZWwtcGFkZGluZy15LCAwICk7XG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiB2YXIoIC0tSU5URVJOQUwtLWtlbmRvLXRhYmxlLWdyb3VwLWxhYmVsLWZvbnQtc2l6ZSwgMXJlbSApO1xuICAgICAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgICAgICBpbnNldC1ibG9jay1zdGFydDogMDtcbiAgICAgICAgICAgICAgICBpbnNldC1pbmxpbmUtZW5kOiAwO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgLy8gVmlydHVhbGl6YXRpb25cbiAgICAuay12aXJ0dWFsLXRhYmxlIC5rLXRhYmxlLXJvdyxcbiAgICAuay12aXJ0dWFsLXRhYmxlIC5rLXRhYmxlLWdyb3VwLXJvdyB7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgfVxuXG4gICAgLy8gVGFibGUgc2Nyb2xsZXJcbiAgICAuay10YWJsZS1zY3JvbGxlciB7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgb3ZlcmZsb3c6IGF1dG87XG5cbiAgICAgICAgPiAuay10YWJsZSB7XG4gICAgICAgICAgICBib3JkZXItd2lkdGg6IDA7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBUYWJsZSBmb290ZXJcbiAgICAuay10YWJsZS1mb290ZXIge1xuICAgICAgICBwYWRkaW5nLWlubGluZS1lbmQ6IHZhciggLS1rZW5kby1zY3JvbGxiYXItd2lkdGgsICN7JGtlbmRvLXNjcm9sbGJhci13aWR0aH0gKTtcbiAgICAgICAgYm9yZGVyLWJsb2NrLXN0YXJ0LXdpZHRoOiAxcHg7XG4gICAgICAgIGJvcmRlci1ibG9jay1lbmQtd2lkdGg6IDA7XG4gICAgICAgIGJvcmRlci1pbmxpbmUtd2lkdGg6IDA7XG4gICAgICAgIGJvcmRlci1zdHlsZTogc29saWQ7XG4gICAgICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG5cbiAgICAgICAgLmstdGFibGUge1xuICAgICAgICAgICAgYm9yZGVyLXdpZHRoOiAwO1xuICAgICAgICB9XG5cbiAgICAgICAgLmstdGFibGUtdGQge1xuICAgICAgICAgICAgYm9yZGVyLWJsb2NrLXdpZHRoOiAwO1xuICAgICAgICB9XG4gICAgfVxuICAgIC5rLXRhYmxlLWZvb3Rlci13cmFwIHtcbiAgICAgICAgbWFyZ2luLWlubGluZS1lbmQ6IGNhbGMoIHZhciggLS1rZW5kby10YWJsZS1ib3JkZXItd2lkdGgsICN7JGtlbmRvLXRhYmxlLWJvcmRlci13aWR0aH0gKSAqIC0xICk7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBib3JkZXItYmxvY2std2lkdGg6IDA7XG4gICAgICAgIGJvcmRlci1pbmxpbmUtc3RhcnQtd2lkdGg6IDA7XG4gICAgICAgIGJvcmRlci1pbmxpbmUtZW5kLXdpZHRoOiAgdmFyKCAtLWtlbmRvLXRhYmxlLWNlbGwtdmVydGljYWwtYm9yZGVyLXdpZHRoLCAjeyRrZW5kby10YWJsZS1jZWxsLXZlcnRpY2FsLWJvcmRlci13aWR0aH0gKTtcbiAgICAgICAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiBpbmhlcml0O1xuICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIH1cblxuICAgIC8vIFNpemVzXG4gICAgQGVhY2ggJHNpemUsICRzaXplLXByb3BzIGluICRrZW5kby10YWJsZS1zaXplcyB7XG4gICAgICAgICRfZm9udC1zaXplOiBtYXAuZ2V0KCAkc2l6ZS1wcm9wcywgZm9udC1zaXplKTtcbiAgICAgICAgJF9saW5lLWhlaWdodDogbWFwLmdldCggJHNpemUtcHJvcHMsIGxpbmUtaGVpZ2h0KTtcblxuICAgICAgICAkX2NlbGwtcGFkZGluZy14OiBtYXAuZ2V0KCAkc2l6ZS1wcm9wcywgY2VsbC1wYWRkaW5nLXgpO1xuICAgICAgICAkX2NlbGwtcGFkZGluZy15OiBtYXAuZ2V0KCAkc2l6ZS1wcm9wcywgY2VsbC1wYWRkaW5nLXkpO1xuXG4gICAgICAgICRfZ3JvdXAtcm93LXBhZGRpbmcteDogMDtcbiAgICAgICAgJF9ncm91cC1yb3ctcGFkZGluZy15OiAkX2NlbGwtcGFkZGluZy15O1xuXG4gICAgICAgICRfZ3JvdXAtbGFiZWwtcGFkZGluZy14OiBtYXAuZ2V0KCAkc2l6ZS1wcm9wcywgZ3JvdXAtbGFiZWwtcGFkZGluZy14ICk7XG4gICAgICAgICRfZ3JvdXAtbGFiZWwtcGFkZGluZy15OiBtYXAuZ2V0KCAkc2l6ZS1wcm9wcywgZ3JvdXAtbGFiZWwtcGFkZGluZy15ICk7XG4gICAgICAgICRfZ3JvdXAtbGFiZWwtZm9udC1zaXplOiBtYXAuZ2V0KCAkc2l6ZS1wcm9wcywgZ3JvdXAtbGFiZWwtZm9udC1zaXplICk7XG5cbiAgICAgICAgLmstdGFibGUtI3skc2l6ZX0ge1xuICAgICAgICAgICAgLS1JTlRFUk5BTC0ta2VuZG8tdGFibGUtZm9udC1zaXplOiB2YXIoIC0ta2VuZG8tdGFibGUtI3tzaXplfS1mb250LXNpemUsICN7JF9mb250LXNpemV9ICk7XG4gICAgICAgICAgICAtLUlOVEVSTkFMLS1rZW5kby10YWJsZS1saW5lLWhlaWdodDogdmFyKCAtLWtlbmRvLXRhYmxlLSN7c2l6ZX0tbGluZS1oZWlnaHQsICN7JF9saW5lLWhlaWdodH0gKTtcbiAgICAgICAgfVxuXG4gICAgICAgIC5rLXRhYmxlLSN7JHNpemV9IC5rLXRhYmxlLXRoLFxuICAgICAgICAuay10YWJsZS0jeyRzaXplfSAuay10YWJsZS10ZCB7XG4gICAgICAgICAgICAtLUlOVEVSTkFMLS1rZW5kby10YWJsZS1jZWxsLXBhZGRpbmcteDogdmFyKCAtLWtlbmRvLXRhYmxlLSN7JHNpemV9LWNlbGwtcGFkZGluZy14LCAjeyRfY2VsbC1wYWRkaW5nLXh9ICk7XG4gICAgICAgICAgICAtLUlOVEVSTkFMLS1rZW5kby10YWJsZS1jZWxsLXBhZGRpbmcteTogdmFyKCAtLWtlbmRvLXRhYmxlLSN7JHNpemV9LWNlbGwtcGFkZGluZy15LCAjeyRfY2VsbC1wYWRkaW5nLXl9ICk7XG4gICAgICAgIH1cblxuICAgICAgICAuay10YWJsZS0jeyRzaXplfSAuay10YWJsZS1saXN0IC5rLXRhYmxlLWdyb3VwLXRkID4gc3BhbiB7XG4gICAgICAgICAgICAtLUlOVEVSTkFMLS1rZW5kby10YWJsZS1ncm91cC1sYWJlbC1wYWRkaW5nLXg6IHZhciggLS1rZW5kby10YWJsZS0jeyRzaXplfS1ncm91cC1sYWJlbC1wYWRkaW5nLXgsICN7JF9ncm91cC1sYWJlbC1wYWRkaW5nLXh9ICk7XG4gICAgICAgICAgICAtLUlOVEVSTkFMLS1rZW5kby10YWJsZS1ncm91cC1sYWJlbC1wYWRkaW5nLXk6IHZhciggLS1rZW5kby10YWJsZS0jeyRzaXplfS1ncm91cC1sYWJlbC1wYWRkaW5nLXksICN7JF9ncm91cC1sYWJlbC1wYWRkaW5nLXl9ICk7XG4gICAgICAgICAgICAtLUlOVEVSTkFMLS1rZW5kby10YWJsZS1ncm91cC1sYWJlbC1mb250LXNpemU6IHZhciggLS1rZW5kby10YWJsZS0jeyRzaXplfS1ncm91cC1sYWJlbC1wYWRkaW5nLXksICN7JF9ncm91cC1sYWJlbC1mb250LXNpemV9ICk7XG4gICAgICAgIH1cblxuICAgICAgICAuay10YWJsZS0jeyRzaXplfSAuay10YWJsZS1saXN0IC5rLXRhYmxlLWdyb3VwLXJvdzo6YmVmb3JlIHtcbiAgICAgICAgICAgIC0tSU5URVJOQUwtLWtlbmRvLXRhYmxlLWdyb3VwLXJvdy1wYWRkaW5nLXg6IHZhciggLS1rZW5kby10YWJsZS0jeyRzaXplfS1ncm91cC1yb3ctcGFkZGluZy14LCAjeyRfZ3JvdXAtcm93LXBhZGRpbmcteH0gKTtcbiAgICAgICAgICAgIC0tSU5URVJOQUwtLWtlbmRvLXRhYmxlLWdyb3VwLXJvdy1wYWRkaW5nLXk6IHZhciggLS1rZW5kby10YWJsZS0jeyRzaXplfS1ncm91cC1yb3ctcGFkZGluZy15LCAjeyRfZ3JvdXAtcm93LXBhZGRpbmcteX0gKTtcbiAgICAgICAgfVxuICAgIH1cblxufVxuIiwiQHVzZSBcIi4uL2NvcmUvX2luZGV4LnNjc3NcIiBhcyAqO1xuQHVzZSBcIi4vX3ZhcmlhYmxlcy5zY3NzXCIgYXMgKjtcblxuQG1peGluIGtlbmRvLXRhYmxlLS10aGVtZSgpIHtcblxuICAgIC8vIFRhYmxlXG4gICAgLmstdGFibGUsXG4gICAgLmstZGF0YS10YWJsZSB7XG4gICAgICAgIEBpbmNsdWRlIGZpbGwgKFxuICAgICAgICAgICAgdmFyKCAtLWtlbmRvLXRhYmxlLXRleHQsICN7JGtlbmRvLXRhYmxlLXRleHR9ICksXG4gICAgICAgICAgICB2YXIoIC0ta2VuZG8tdGFibGUtYmcsICN7JGtlbmRvLXRhYmxlLWJnfSApLFxuICAgICAgICAgICAgdmFyKCAtLWtlbmRvLXRhYmxlLWJvcmRlciwgI3ska2VuZG8tdGFibGUtYm9yZGVyfSApXG4gICAgICAgICk7XG5cbiAgICAgICAgLmstdGFibGUtdGQtcm93LXNwYW4ge1xuICAgICAgICAgICAgYm94LXNoYWRvdzogdmFyKCAtLWtlbmRvLXRhYmxlLWNlbGwtcm93LXNwYW4tc2hhZG93LCAjeyRrZW5kby10YWJsZS1jZWxsLXJvdy1zcGFuLXNoYWRvd30gKVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgLy8gVGFibGUgaGVhZGVyXG4gICAgLmstdGFibGUtdGhlYWQsXG4gICAgLmstdGFibGUtaGVhZGVyIHtcbiAgICAgICAgQGluY2x1ZGUgZmlsbCAoXG4gICAgICAgICAgICB2YXIoIC0ta2VuZG8tdGFibGUtaGVhZGVyLXRleHQsICN7JGtlbmRvLXRhYmxlLWhlYWRlci10ZXh0fSApLFxuICAgICAgICAgICAgdmFyKCAtLWtlbmRvLXRhYmxlLWhlYWRlci1iZywgI3ska2VuZG8tdGFibGUtaGVhZGVyLWJnfSApLFxuICAgICAgICAgICAgdmFyKCAtLWtlbmRvLXRhYmxlLWhlYWRlci1ib3JkZXIsICN7JGtlbmRvLXRhYmxlLWhlYWRlci1ib3JkZXJ9IClcbiAgICAgICAgKTtcbiAgICB9XG5cbiAgICAuay10YWJsZS1ncm91cC1zdGlja3ktaGVhZGVyLFxuICAgIC5rLXRhYmxlLWdyb3VwLWhlYWRlciB7XG4gICAgICAgIEBpbmNsdWRlIGZpbGwgKFxuICAgICAgICAgICAgdmFyKCAtLWtlbmRvLXRhYmxlLXN0aWNreS1oZWFkZXItdGV4dCwgI3ska2VuZG8tdGFibGUtc3RpY2t5LWhlYWRlci10ZXh0fSApLFxuICAgICAgICAgICAgdmFyKCAtLWtlbmRvLXRhYmxlLXN0aWNreS1oZWFkZXItYmcsICN7JGtlbmRvLXRhYmxlLXN0aWNreS1oZWFkZXItYmd9ICksXG4gICAgICAgICAgICB2YXIoIC0ta2VuZG8tdGFibGUtc3RpY2t5LWhlYWRlci1ib3JkZXIsICN7JGtlbmRvLXRhYmxlLXN0aWNreS1oZWFkZXItYm9yZGVyfSApXG4gICAgICAgICk7XG4gICAgICAgIEBpbmNsdWRlIGJveC1zaGFkb3coIHZhciggLS1rZW5kby10YWJsZS1zdGlja3ktaGVhZGVyLXNoYWRvdywgI3ska2VuZG8tdGFibGUtc3RpY2t5LWhlYWRlci1zaGFkb3d9ICkgKTtcbiAgICB9XG5cbiAgICAvLyBUYWJsZSBmb290ZXJcbiAgICAuay10YWJsZS10Zm9vdCxcbiAgICAuay10YWJsZS1mb290ZXIge1xuICAgICAgICBAaW5jbHVkZSBmaWxsIChcbiAgICAgICAgICAgIHZhciggLS1rZW5kby10YWJsZS1mb290ZXItdGV4dCwgI3ska2VuZG8tdGFibGUtZm9vdGVyLXRleHR9ICksXG4gICAgICAgICAgICB2YXIoIC0ta2VuZG8tdGFibGUtZm9vdGVyLWJnLCAjeyRrZW5kby10YWJsZS1mb290ZXItYmd9ICksXG4gICAgICAgICAgICB2YXIoIC0ta2VuZG8tdGFibGUtZm9vdGVyLWJvcmRlciwgI3ska2VuZG8tdGFibGUtZm9vdGVyLWJvcmRlcn0gKVxuICAgICAgICApO1xuICAgIH1cblxuICAgIC8vIEdyb3VwIHJvd1xuICAgIC5rLXRhYmxlLWdyb3VwLXJvdyB7XG4gICAgICAgIEBpbmNsdWRlIGZpbGwgKFxuICAgICAgICAgICAgdmFyKCAtLWtlbmRvLXRhYmxlLWdyb3VwLXJvdy10ZXh0LCAjeyRrZW5kby10YWJsZS1ncm91cC1yb3ctdGV4dH0gKSxcbiAgICAgICAgICAgIHZhciggLS1rZW5kby10YWJsZS1ncm91cC1yb3ctYmcsICN7JGtlbmRvLXRhYmxlLWdyb3VwLXJvdy1iZ30gKSxcbiAgICAgICAgICAgIHZhciggLS1rZW5kby10YWJsZS1ncm91cC1yb3ctYm9yZGVyLCAjeyRrZW5kby10YWJsZS1ncm91cC1yb3ctYm9yZGVyfSApXG4gICAgICAgICk7XG4gICAgfVxuICAgIC5rLXRhYmxlLWdyb3VwLXRkID4gc3BhbiB7XG4gICAgICAgIEBpbmNsdWRlIGZpbGwgKFxuICAgICAgICAgICAgdmFyKCAtLWtlbmRvLXRhYmxlLWdyb3VwLXRleHQsICN7JGtlbmRvLXRhYmxlLWdyb3VwLWxhYmVsLXRleHR9ICksXG4gICAgICAgICAgICB2YXIoIC0ta2VuZG8tdGFibGUtZ3JvdXAtYmcsICN7JGtlbmRvLXRhYmxlLWdyb3VwLWxhYmVsLWJnfSApLFxuICAgICAgICApO1xuICAgIH1cblxuICAgIC8vIEFsdGVybmF0aW5nIHJvd1xuICAgIC5rLXRhYmxlLWFsdC1yb3cge1xuICAgICAgICBAaW5jbHVkZSBmaWxsIChcbiAgICAgICAgICAgIHZhciggLS1rZW5kby10YWJsZS1hbHQtcm93LXRleHQsICN7JGtlbmRvLXRhYmxlLWFsdC1yb3ctdGV4dH0gKSxcbiAgICAgICAgICAgIHZhciggLS1rZW5kby10YWJsZS1hbHQtcm93LWJnLCAjeyRrZW5kby10YWJsZS1hbHQtcm93LWJnfSApLFxuICAgICAgICAgICAgdmFyKCAtLWtlbmRvLXRhYmxlLWFsdC1yb3ctYm9yZGVyLCAjeyRrZW5kby10YWJsZS1hbHQtcm93LWJvcmRlcn0gKVxuICAgICAgICApO1xuICAgIH1cblxuICAgIC8vIEhvdmVyIHN0YXRlXG4gICAgLmstdGFibGUtdGJvZHkgLmstdGFibGUtcm93OmhvdmVyLFxuICAgIC5rLXRhYmxlLWxpc3QgLmstdGFibGUtcm93OmhvdmVyLFxuICAgIC5rLXRhYmxlLXRib2R5IC5rLXRhYmxlLXJvdy5rLWhvdmVyLFxuICAgIC5rLXRhYmxlLWxpc3QgLmstdGFibGUtcm93LmstaG92ZXIge1xuICAgICAgICBAaW5jbHVkZSBmaWxsIChcbiAgICAgICAgICAgIHZhciggLS1rZW5kby10YWJsZS1ob3Zlci10ZXh0LCAjeyRrZW5kby10YWJsZS1ob3Zlci10ZXh0fSApLFxuICAgICAgICAgICAgdmFyKCAtLWtlbmRvLXRhYmxlLWhvdmVyLWJnLCAjeyRrZW5kby10YWJsZS1ob3Zlci1iZ30gKSxcbiAgICAgICAgICAgIHZhciggLS1rZW5kby10YWJsZS1ob3Zlci1ib3JkZXIsICN7JGtlbmRvLXRhYmxlLWhvdmVyLWJvcmRlcn0gKVxuICAgICAgICApO1xuICAgIH1cblxuICAgIC8vIEZvY3VzIHN0YXRlXG4gICAgLmstdGFibGUtdGJvZHkgLmstdGFibGUtcm93LmstZm9jdXMsXG4gICAgLmstdGFibGUtbGlzdCAuay10YWJsZS1yb3cuay1mb2N1cyxcbiAgICAuay10YWJsZS10Ym9keSAuay10YWJsZS10ZC5rLWZvY3VzLFxuICAgIC5rLXRhYmxlLWxpc3QgLmstdGFibGUtdGQuay1mb2N1cyB7XG4gICAgICAgIEBpbmNsdWRlIGZpbGwgKFxuICAgICAgICAgICAgdmFyKCAtLWtlbmRvLXRhYmxlLWZvY3VzLXRleHQsICN7JGtlbmRvLXRhYmxlLWZvY3VzLXRleHR9ICksXG4gICAgICAgICAgICB2YXIoIC0ta2VuZG8tdGFibGUtZm9jdXMtYmcsICN7JGtlbmRvLXRhYmxlLWZvY3VzLWJnfSApLFxuICAgICAgICAgICAgdmFyKCAtLWtlbmRvLXRhYmxlLWZvY3VzLWJvcmRlciwgI3ska2VuZG8tdGFibGUtZm9jdXMtYm9yZGVyfSApXG4gICAgICAgICk7XG4gICAgICAgIEBpbmNsdWRlIGJveC1zaGFkb3coIHZhciggLS1rZW5kby10YWJsZS1mb2N1cy1zaGFkb3csICN7JGtlbmRvLXRhYmxlLWZvY3VzLXNoYWRvd30gKSApO1xuICAgICAgICB0cmFuc2Zvcm06IHNjYWxlKDEpO1xuICAgIH1cblxuICAgIC8vIFNlbGVjdGVkIHN0YXRlXG4gICAgQGlmKCRrZW5kby1lbmFibGUtY29sb3Itc3lzdGVtKSB7XG4gICAgICAgIC5rLXRhYmxlLXRib2R5IC5rLXRhYmxlLXJvdy5rLXNlbGVjdGVkID4gLmstdGFibGUtdGQsXG4gICAgICAgIC5rLXRhYmxlLWxpc3QgLmstdGFibGUtcm93Lmstc2VsZWN0ZWQge1xuICAgICAgICAgICAgQGluY2x1ZGUgZmlsbCAoXG4gICAgICAgICAgICAgICAgdmFyKCAtLWtlbmRvLXRhYmxlLXNlbGVjdGVkLXRleHQsICN7JGtlbmRvLXRhYmxlLXNlbGVjdGVkLXRleHR9ICksXG4gICAgICAgICAgICAgICAgdmFyKCAtLWtlbmRvLXRhYmxlLXNlbGVjdGVkLWJnLCAjeyRrZW5kby10YWJsZS1zZWxlY3RlZC1iZ30gKSxcbiAgICAgICAgICAgICAgICB2YXIoIC0ta2VuZG8tdGFibGUtc2VsZWN0ZWQtYm9yZGVyLCAjeyRrZW5kby10YWJsZS1zZWxlY3RlZC1ib3JkZXJ9IClcbiAgICAgICAgICAgICk7XG4gICAgICAgIH1cbiAgICB9IEBlbHNlIHtcbiAgICAgICAgLmstdGFibGUtdGJvZHkgLmstdGFibGUtcm93Lmstc2VsZWN0ZWQsXG4gICAgICAgIC5rLXRhYmxlLWxpc3QgLmstdGFibGUtcm93Lmstc2VsZWN0ZWQge1xuICAgICAgICAgICAgQGluY2x1ZGUgZmlsbCAoXG4gICAgICAgICAgICAgICAgdmFyKCAtLWtlbmRvLXRhYmxlLXNlbGVjdGVkLXRleHQsICN7JGtlbmRvLXRhYmxlLXNlbGVjdGVkLXRleHR9ICksXG4gICAgICAgICAgICAgICAgdmFyKCAtLWtlbmRvLXRhYmxlLXNlbGVjdGVkLWJnLCAjeyRrZW5kby10YWJsZS1zZWxlY3RlZC1iZ30gKSxcbiAgICAgICAgICAgICAgICB2YXIoIC0ta2VuZG8tdGFibGUtc2VsZWN0ZWQtYm9yZGVyLCAjeyRrZW5kby10YWJsZS1zZWxlY3RlZC1ib3JkZXJ9IClcbiAgICAgICAgICAgICk7XG4gICAgICAgIH1cbiAgICB9XG5cbn1cbiIsIkB1c2UgXCIuL192YXJpYWJsZXMuc2Nzc1wiIGFzICo7XG5cbkBtaXhpbiBrZW5kby12aXJ0dWFsLXNjcm9sbGVyLS1sYXlvdXQoKSB7XG5cbiAgICAvLyBWaXJ0dWFsIHNjcm9sbGVyXG4gICAgLmstdmlydHVhbC1zY3JvbGxlciB7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgIGZsZXg6IDEgMSBhdXRvO1xuICAgICAgICBvdmVyZmxvdzogYXV0bztcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIH1cblxuXG4gICAgLy8gVmlydHVhbCBzY3JvbGxlciB3cmFwXG4gICAgLmstdmlydHVhbC1zY3JvbGxlci13cmFwIHtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICB6LWluZGV4OiAxO1xuICAgIH1cblxuXG4gICAgLy8gVmlydHVhbCBzY3JvbGxlciBjb250ZW50XG4gICAgLmstdmlydHVhbC1zY3JvbGxlci1jb250ZW50IHtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgdG9wOiAwO1xuICAgICAgICBpbnNldC1pbmxpbmUtc3RhcnQ6IDA7XG4gICAgfVxuXG5cbiAgICAvLyBWaXJ0dWFsIHNjcm9sbGVyIHNpemVcbiAgICAuay12aXJ0dWFsLXNjcm9sbGVyLXNpemUge1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIHotaW5kZXg6IDA7XG4gICAgfVxuXG59XG4iLCJAdXNlIFwiLi9fdmFyaWFibGVzLnNjc3NcIiBhcyAqO1xuXG5AbWl4aW4ga2VuZG8tbm8tZGF0YS0tbGF5b3V0KCkge1xuXG4gICAgLmstbm8tZGF0YSB7XG4gICAgICAgIG1pbi1oZWlnaHQ6IHZhciggLS1rZW5kby1uby1kYXRhLW1pbi1oZWlnaHQsICN7JGtlbmRvLW5vLWRhdGEtbWluLWhlaWdodH0pO1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgICAgZm9udC13ZWlnaHQ6IGxpZ2h0ZXI7XG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgd2hpdGUtc3BhY2U6IG5vcm1hbDtcbiAgICB9XG5cblxuICAgIC8vIEFsaWFzXG4gICAgLmstbm9kYXRhIHtcbiAgICAgICAgQGV4dGVuZCAuay1uby1kYXRhICFvcHRpb25hbDtcbiAgICB9XG5cbn1cbiIsIkB1c2UgXCIuL192YXJpYWJsZXMuc2Nzc1wiIGFzICo7XG5cbkBtaXhpbiBrZW5kby1uby1kYXRhLS10aGVtZSgpIHtcblxuICAgIC5rLW5vLWRhdGEge1xuICAgICAgICBjb2xvcjogdmFyKCAtLWtlbmRvLW5vLWRhdGEtdGV4dCwgI3ska2VuZG8tbm8tZGF0YS10ZXh0fSApO1xuICAgIH1cblxufVxuIiwiQHVzZSBcInNhc3M6bWFwXCI7XG5AdXNlIFwiLi4vY29yZS9faW5kZXguc2Nzc1wiIGFzICo7XG5AdXNlIFwiX3ZhcmlhYmxlcy5zY3NzXCIgYXMgKjtcblxuQG1peGluIGtlbmRvLWNvbHVtbi1tZW51LS1sYXlvdXQtYmFzZSgpIHtcbiAgICAuay1jb2x1bW4tbWVudSB7fVxuXG4gICAgLy8gU2l6ZXNcbiAgICBAZWFjaCAkc2l6ZSwgJHZhbHVlIGluICRrZW5kby1jb2x1bW4tbWVudS1zaXplcyB7XG4gICAgICAgICRfcGFkZGluZy14OiBtYXAuZ2V0KCR2YWx1ZSwgcGFkZGluZy14KTtcbiAgICAgICAgJF9wYWRkaW5nLXk6IG1hcC5nZXQoJHZhbHVlLCBwYWRkaW5nLXkpO1xuICAgICAgICAkX2ZvbnQtc2l6ZTogbWFwLmdldCgkdmFsdWUsIGZvbnQtc2l6ZSk7XG4gICAgICAgICRfbGluZS1oZWlnaHQ6IG1hcC5nZXQoJHZhbHVlLCBsaW5lLWhlaWdodCk7XG5cbiAgICAgICAgLmstY29sdW1uLW1lbnUtI3skc2l6ZX0ge1xuICAgICAgICAgICAgZm9udC1zaXplOiAkX2ZvbnQtc2l6ZTtcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAkX2xpbmUtaGVpZ2h0O1xuXG4gICAgICAgICAgICAuay1jb2x1bW5tZW51LWl0ZW0sXG4gICAgICAgICAgICAuay1jb2x1bW4tbGlzdC1pdGVtIHtcbiAgICAgICAgICAgICAgICBwYWRkaW5nLWJsb2NrOiAkX3BhZGRpbmcteTtcbiAgICAgICAgICAgICAgICBwYWRkaW5nLWlubGluZTogJF9wYWRkaW5nLXg7XG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiAkX2ZvbnQtc2l6ZTtcbiAgICAgICAgICAgICAgICBsaW5lLWhlaWdodDogJF9saW5lLWhlaWdodDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC5rLWdyb3VwLW1lbnUtI3skc2l6ZX0ge1xuICAgICAgICAgICAgZm9udC1zaXplOiAkX2ZvbnQtc2l6ZTtcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAkX2xpbmUtaGVpZ2h0O1xuXG4gICAgICAgICAgICAuay1ncm91cC1tZW51LWl0ZW0ge1xuICAgICAgICAgICAgICAgIHBhZGRpbmctYmxvY2s6ICRfcGFkZGluZy15O1xuICAgICAgICAgICAgICAgIHBhZGRpbmctaW5saW5lOiAkX3BhZGRpbmcteDtcbiAgICAgICAgICAgICAgICBmb250LXNpemU6ICRfZm9udC1zaXplO1xuICAgICAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAkX2xpbmUtaGVpZ2h0O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgLmstZ3JvdXAtbWVudSAuay1ncm91cC1tZW51LWl0ZW0td3JhcCArIC5rLWdyb3VwLW1lbnUtaXRlbS13cmFwIHtcbiAgICAgICAgYm9yZGVyLXRvcDogMXB4IHNvbGlkO1xuICAgIH1cblxuICAgIC5rLWdyb3VwLW1lbnUtaXRlbSB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIHVzZXItc2VsZWN0OiBub25lO1xuICAgICAgICBnYXA6IGstc3BhY2luZygxKTtcbiAgICB9XG5cbiAgICAuay1ncm91cC1tZW51LWl0ZW0tYWN0aW9ucyB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgICBtYXJnaW4tYmxvY2s6IGNhbGMoIGstc3BhY2luZygxKSAqIC0xKTtcbiAgICAgICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gICAgfVxuXG4gICAgLmstZ3JvdXAtbWVudS1pdGVtLWFjdGlvbiB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgICBwYWRkaW5nOiBrLXNwYWNpbmcoMSk7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IGstYm9yZGVyLXJhZGl1cyhtZCk7XG4gICAgICAgIHBvaW50ZXItZXZlbnRzOiBhdXRvO1xuICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgfVxuXG4gICAgLmstZ3JvdXAtbWVudS1pdGVtLWRyYWctYWN0aW9uIHtcbiAgICAgICAgY3Vyc29yOiBtb3ZlO1xuICAgIH1cbn1cblxuQG1peGluIGtlbmRvLWNvbHVtbi1tZW51LS1sYXlvdXQoKSB7XG4gICAgQGluY2x1ZGUga2VuZG8tY29sdW1uLW1lbnUtLWxheW91dC1iYXNlKCk7XG59XG4iLCJAdXNlIFwiLi4vY29yZS9faW5kZXguc2Nzc1wiIGFzICo7XG5AdXNlIFwiLi9fdmFyaWFibGVzLnNjc3NcIiBhcyAqO1xuXG5AbWl4aW4ga2VuZG8tY29sdW1uLW1lbnUtLXRoZW1lLWJhc2UoKSB7XG4gICAgLmstY29sdW1uLW1lbnUge31cblxuICAgIC5rLWdyb3VwLW1lbnUtaXRlbS1hY3Rpb246bm90KC5rLWdyb3VwLW1lbnUtaXRlbS1kcmFnLWFjdGlvbikuay1ob3ZlcixcbiAgICAuay1ncm91cC1tZW51LWl0ZW0tYWN0aW9uOm5vdCguay1ncm91cC1tZW51LWl0ZW0tZHJhZy1hY3Rpb24pOmhvdmVyIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGtlbmRvLWdyb3VwLW1lbnUtaXRlbS1hY3Rpb24taG92ZXItYmc7XG4gICAgfVxuXG4gICAgLmstZ3JvdXAtbWVudS1pdGVtLWFjdGlvbjpub3QoLmstZ3JvdXAtbWVudS1pdGVtLWRyYWctYWN0aW9uKS5rLXNlbGVjdGVkLFxuICAgIC5rLWdyb3VwLW1lbnUtaXRlbS1hY3Rpb246bm90KC5rLWdyb3VwLW1lbnUtaXRlbS1kcmFnLWFjdGlvbik6YWN0aXZlIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGtlbmRvLWdyb3VwLW1lbnUtaXRlbS1hY3Rpb24tc2VsZWN0ZWQtYmc7XG4gICAgfVxuXG4gICAgLmstZ3JvdXAtbWVudS1pdGVtLWFjdGlvbi5rLWdyb3VwLW1lbnUtaXRlbS1hZGQtYWN0aW9uIHtcbiAgICAgICAgY29sb3I6ICRrZW5kby1ncm91cC1tZW51LWl0ZW0tYWRkLWFjdGlvbi10ZXh0O1xuICAgIH1cblxuICAgIC5rLWdyb3VwLW1lbnUgLmstZ3JvdXAtbWVudS1pdGVtLXdyYXAgKyAuay1ncm91cC1tZW51LWl0ZW0td3JhcCB7XG4gICAgICAgIGJvcmRlci10b3AtY29sb3I6ICRrZW5kby1ncm91cC1tZW51LWl0ZW0tYm9yZGVyO1xuICAgIH1cbn1cblxuQG1peGluIGtlbmRvLWNvbHVtbi1tZW51LS10aGVtZSgpIHtcbiAgICBAaW5jbHVkZSBrZW5kby1jb2x1bW4tbWVudS0tdGhlbWUtYmFzZSgpO1xufVxuIiwiQHVzZSBcIi4uL2NvcmUvX2luZGV4LnNjc3NcIiBhcyAqO1xuXG4ka2VuZG8tY29sdW1uLW1lbnUtaXRlbS1zbS1wYWRkaW5nLXg6IGstc3BhY2luZygyKSAhZGVmYXVsdDtcbiRrZW5kby1jb2x1bW4tbWVudS1pdGVtLXNtLXBhZGRpbmcteTogay1zcGFjaW5nKDEuNSkgIWRlZmF1bHQ7XG5cbiRrZW5kby1jb2x1bW4tbWVudS1pdGVtLW1kLXBhZGRpbmcteDogay1zcGFjaW5nKDIpICFkZWZhdWx0O1xuJGtlbmRvLWNvbHVtbi1tZW51LWl0ZW0tbWQtcGFkZGluZy15OiBrLXNwYWNpbmcoMikgIWRlZmF1bHQ7XG5cbiRrZW5kby1jb2x1bW4tbWVudS1pdGVtLWxnLXBhZGRpbmcteDogay1zcGFjaW5nKDIpICFkZWZhdWx0O1xuJGtlbmRvLWNvbHVtbi1tZW51LWl0ZW0tbGctcGFkZGluZy15OiBrLXNwYWNpbmcoMi41KSAhZGVmYXVsdDtcblxuJGtlbmRvLWNvbHVtbi1tZW51LXNtLWZvbnQtc2l6ZTogdmFyKCAtLWtlbmRvLWZvbnQtc2l6ZSwgaW5oZXJpdCApICFkZWZhdWx0O1xuJGtlbmRvLWNvbHVtbi1tZW51LW1kLWZvbnQtc2l6ZTogdmFyKCAtLWtlbmRvLWZvbnQtc2l6ZSwgaW5oZXJpdCApICFkZWZhdWx0O1xuJGtlbmRvLWNvbHVtbi1tZW51LWxnLWZvbnQtc2l6ZTogdmFyKCAtLWtlbmRvLWZvbnQtc2l6ZSwgaW5oZXJpdCApICFkZWZhdWx0O1xuXG4ka2VuZG8tY29sdW1uLW1lbnUtc20tbGluZS1oZWlnaHQ6IHZhciggLS1rZW5kby1saW5lLWhlaWdodCwgbm9ybWFsICkgIWRlZmF1bHQ7XG4ka2VuZG8tY29sdW1uLW1lbnUtbWQtbGluZS1oZWlnaHQ6IHZhciggLS1rZW5kby1saW5lLWhlaWdodCwgbm9ybWFsICkgIWRlZmF1bHQ7XG4ka2VuZG8tY29sdW1uLW1lbnUtbGctbGluZS1oZWlnaHQ6IHZhciggLS1rZW5kby1saW5lLWhlaWdodCwgbm9ybWFsICkgIWRlZmF1bHQ7XG5cbiRrZW5kby1jb2x1bW4tbWVudS1mb250LWZhbWlseTogdmFyKCAtLWtlbmRvLWZvbnQtZmFtaWx5LCBpbmhlcml0ICkgIWRlZmF1bHQ7XG5cbiRrZW5kby1jb2x1bW4tbWVudS1zaXplczogKFxuICAgIHNtOiAoXG4gICAgICAgIHBhZGRpbmcteDogJGtlbmRvLWNvbHVtbi1tZW51LWl0ZW0tc20tcGFkZGluZy14LFxuICAgICAgICBwYWRkaW5nLXk6ICRrZW5kby1jb2x1bW4tbWVudS1pdGVtLXNtLXBhZGRpbmcteSxcbiAgICAgICAgZm9udC1zaXplOiAka2VuZG8tY29sdW1uLW1lbnUtc20tZm9udC1zaXplLFxuICAgICAgICBsaW5lLWhlaWdodDogJGtlbmRvLWNvbHVtbi1tZW51LXNtLWxpbmUtaGVpZ2h0XG4gICAgKSxcbiAgICBtZDogKFxuICAgICAgICBwYWRkaW5nLXg6ICRrZW5kby1jb2x1bW4tbWVudS1pdGVtLW1kLXBhZGRpbmcteCxcbiAgICAgICAgcGFkZGluZy15OiAka2VuZG8tY29sdW1uLW1lbnUtaXRlbS1tZC1wYWRkaW5nLXksXG4gICAgICAgIGZvbnQtc2l6ZTogJGtlbmRvLWNvbHVtbi1tZW51LW1kLWZvbnQtc2l6ZSxcbiAgICAgICAgbGluZS1oZWlnaHQ6ICRrZW5kby1jb2x1bW4tbWVudS1tZC1saW5lLWhlaWdodFxuICAgICksXG4gICAgbGc6IChcbiAgICAgICAgcGFkZGluZy14OiAka2VuZG8tY29sdW1uLW1lbnUtaXRlbS1sZy1wYWRkaW5nLXgsXG4gICAgICAgIHBhZGRpbmcteTogJGtlbmRvLWNvbHVtbi1tZW51LWl0ZW0tbGctcGFkZGluZy15LFxuICAgICAgICBmb250LXNpemU6ICRrZW5kby1jb2x1bW4tbWVudS1sZy1mb250LXNpemUsXG4gICAgICAgIGxpbmUtaGVpZ2h0OiAka2VuZG8tY29sdW1uLW1lbnUtbGctbGluZS1oZWlnaHRcbiAgICApXG4pICFkZWZhdWx0O1xuXG4vLyBHcm91cCBNZW51XG4ka2VuZG8tZ3JvdXAtbWVudS1pdGVtLWFjdGlvbi1ob3Zlci1iZzogY29sb3ItbWl4KGluIHNyZ2IsIGN1cnJlbnRDb2xvciA1JSwgdHJhbnNwYXJlbnQpICFkZWZhdWx0O1xuJGtlbmRvLWdyb3VwLW1lbnUtaXRlbS1hY3Rpb24tc2VsZWN0ZWQtYmc6IGNvbG9yLW1peChpbiBzcmdiLCBjdXJyZW50Q29sb3IgOCUsIHRyYW5zcGFyZW50KSAhZGVmYXVsdDtcbiRrZW5kby1ncm91cC1tZW51LWl0ZW0tYWRkLWFjdGlvbi10ZXh0OiBrLWNvbG9yKHByaW1hcnkpICFkZWZhdWx0O1xuJGtlbmRvLWdyb3VwLW1lbnUtaXRlbS1ib3JkZXI6IGNvbG9yLW1peChpbiBzcmdiLCBrLWNvbG9yKCBib3JkZXIgKSAxNiUsIHRyYW5zcGFyZW50KSAhZGVmYXVsdDtcbiIsIkB1c2UgXCIuL192YXJpYWJsZXMuc2Nzc1wiIGFzICo7XG5cbkBtaXhpbiBrZW5kby1hdmF0YXItLWxheW91dCgpIHtcblxuICAgIC8vIEF2YXRhclxuICAgIC5rLWF2YXRhciB7XG4gICAgICAgIGJvcmRlci13aWR0aDogMDtcbiAgICAgICAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcbiAgICAgICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICAgICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gICAgICAgIGZsZXgtZmxvdzogcm93IG5vd3JhcDtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgIGZsZXgtc2hyaW5rOiAwO1xuICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xuXG4gICAgICAgICosXG4gICAgICAgICo6OmJlZm9yZSxcbiAgICAgICAgKjo6YWZ0ZXIge1xuICAgICAgICAgICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICAgICAgfVxuICAgIH1cblxuXG4gICAgLy8gQXZhdGFyIHRleHRcbiAgICAuay1hdmF0YXItdGV4dCxcbiAgICAuay1hdmF0YXItaW5pdGlhbHMge1xuICAgICAgICBmb250LXNpemU6IHZhciggLS1rZW5kby1hdmF0YXItZm9udC1zaXplLCAjeyRrZW5kby1hdmF0YXItZm9udC1zaXplfSApO1xuICAgICAgICBmb250LWZhbWlseTogdmFyKCAtLWtlbmRvLWF2YXRhci1mb250LWZhbWlseSwgI3ska2VuZG8tYXZhdGFyLWZvbnQtZmFtaWx5fSApO1xuICAgICAgICBsaW5lLWhlaWdodDogdmFyKCAtLWtlbmRvLWF2YXRhci1saW5lLWhlaWdodCwgI3ska2VuZG8tYXZhdGFyLWxpbmUtaGVpZ2h0fSApO1xuICAgIH1cblxuXG4gICAgLy8gQXZhdGFyIGljb25cbiAgICAuay1hdmF0YXItaWNvbiB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGZsZXgtZmxvdzogcm93IG5vd3JhcDtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICB9XG5cblxuICAgIC8vIEF2YXRhciBpbWFnZVxuICAgIC5rLWF2YXRhci1pbWFnZSB7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlcjtcbiAgICAgICAgYmFja2dyb3VuZC1zaXplOiBjb3ZlcjtcbiAgICAgICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcblxuICAgICAgICA+IGltZyB7XG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgICAgIG9iamVjdC1maXQ6IGNvdmVyO1xuICAgICAgICAgICAgdmVydGljYWwtYWxpZ246IHRvcDtcbiAgICAgICAgfVxuICAgIH1cblxuXG4gICAgLy8gU2l6ZXNcbiAgICBAZWFjaCAkbmFtZSwgJHNpemUgaW4gJGtlbmRvLWF2YXRhci1zaXplcyB7XG4gICAgICAgIC5rLWF2YXRhci0jeyRuYW1lfSB7XG4gICAgICAgICAgICB3aWR0aDogdmFyKCAtLWtlbmRvLWF2YXRhci0jeyRuYW1lfS1zaXplLCAjeyRzaXplfSApO1xuICAgICAgICAgICAgaGVpZ2h0OiB2YXIoIC0ta2VuZG8tYXZhdGFyLSN7JG5hbWV9LXNpemUsICN7JHNpemV9ICk7XG4gICAgICAgICAgICBmbGV4LWJhc2lzOiB2YXIoIC0ta2VuZG8tYXZhdGFyLSN7JG5hbWV9LXNpemUsICN7JHNpemV9ICk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBTaGFwZXNcbiAgICAuay1hdmF0YXItc3F1YXJlIHt9XG5cbiAgICAvLyBCb3JkZXJlZFxuICAgIC5rLWF2YXRhci1ib3JkZXJlZCB7XG4gICAgICAgIGJvcmRlci13aWR0aDogdmFyKCAtLWtlbmRvLWF2YXRhci1ib3JkZXItd2lkdGgsICN7JGtlbmRvLWF2YXRhci1ib3JkZXItd2lkdGh9ICk7XG4gICAgfVxuXG59XG4iLCJAdXNlIFwic2FzczptYXBcIjtcbkB1c2UgXCIuL192YXJpYWJsZXMuc2Nzc1wiIGFzICo7XG5cbkBtaXhpbiBrZW5kby1hdmF0YXItLXRoZW1lKCkge1xuXG4gICAgQGVhY2ggJGZpbGwtbW9kZSwgJHRoZW1lLWNvbG9ycyBpbiAka2VuZG8tYXZhdGFyLXRoZW1lLWNvbG9ycyB7XG4gICAgICAgIEBlYWNoICR0aGVtZS1jb2xvciwgJGNvbG9yLXByb3BzIGluICR0aGVtZS1jb2xvcnMge1xuXG4gICAgICAgICAgICAkX3RleHQtY29sb3I6IG1hcC5nZXQoICRjb2xvci1wcm9wcywgdGV4dCApO1xuICAgICAgICAgICAgJF9iZzogbWFwLmdldCggJGNvbG9yLXByb3BzLCBiZyApO1xuICAgICAgICAgICAgJF9ib3JkZXItY29sb3I6IG1hcC5nZXQoICRjb2xvci1wcm9wcywgYm9yZGVyICk7XG5cbiAgICAgICAgICAgIC5rLWF2YXRhci0jeyRmaWxsLW1vZGV9LSN7JHRoZW1lLWNvbG9yfSB7XG4gICAgICAgICAgICAgICAgY29sb3I6IHZhciggLS1rZW5kby1hdmF0YXItI3skZmlsbC1tb2RlfS0jeyR0aGVtZS1jb2xvcn0tdGV4dCwgI3skX3RleHQtY29sb3J9ICk7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKCAtLWtlbmRvLWF2YXRhci0jeyRmaWxsLW1vZGV9LSN7JHRoZW1lLWNvbG9yfS1iZywgI3skX2JnfSApO1xuICAgICAgICAgICAgICAgIGJvcmRlci1jb2xvcjogdmFyKCAtLWtlbmRvLWF2YXRhci0jeyRmaWxsLW1vZGV9LSN7JHRoZW1lLWNvbG9yfS1ib3JkZXIsICN7JF9ib3JkZXItY29sb3J9ICk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgIH1cbn1cbiIsIkB1c2UgXCJzYXNzOm1hcFwiO1xuQHVzZSBcIi4uL2NvcmUvX2luZGV4LnNjc3NcIiBhcyAqO1xuQHVzZSBcIi4vX3ZhcmlhYmxlcy5zY3NzXCIgYXMgKjtcblxuQG1peGluIGtlbmRvLWNoaXAtLWxheW91dCgpIHtcblxuICAgIC8vIENoaXBcbiAgICAuay1jaGlwIHtcbiAgICAgICAgcGFkZGluZy1pbmxpbmU6IHZhciggLS1JTlRFUk5BTC1rZW5kby1jaGlwLXBhZGRpbmcteCwgMCApO1xuICAgICAgICBwYWRkaW5nLWJsb2NrOiB2YXIoIC0tSU5URVJOQUwta2VuZG8tY2hpcC1wYWRkaW5nLXksIDAgKTtcbiAgICAgICAgYm9yZGVyLXdpZHRoOiB2YXIoIC0ta2VuZG8tY2hpcC1ib3JkZXItd2lkdGgsICN7ICRrZW5kby1jaGlwLWJvcmRlci13aWR0aCB9ICk7XG4gICAgICAgIGJvcmRlci1zdHlsZTogc29saWQ7XG4gICAgICAgIG91dGxpbmU6IDA7XG4gICAgICAgIGZvbnQtZmFtaWx5OiB2YXIoIC0ta2VuZG8tY2hpcC1mb250LWZhbWlseSwgI3sgJGtlbmRvLWNoaXAtZm9udC1mYW1pbHkgfSApO1xuICAgICAgICBmb250LXNpemU6IHZhciggLS1JTlRFUk5BTC1rZW5kby1jaGlwLWZvbnQtc2l6ZSwgMXJlbSApO1xuICAgICAgICBsaW5lLWhlaWdodDogdmFyKCAtLUlOVEVSTkFMLWtlbmRvLWNoaXAtbGluZS1oZWlnaHQsIG5vcm1hbCApO1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgICAgICAgZmxleC1mbG93OiByb3cgbm93cmFwO1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgICAgZ2FwOiB2YXIoIC0ta2VuZG8tY2hpcC1zcGFjaW5nLCAjeyAka2VuZG8tY2hpcC1zcGFjaW5nIH0gKTtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgICAgIHVzZXItc2VsZWN0OiBub25lO1xuXG4gICAgICAgICosXG4gICAgICAgICo6OmJlZm9yZSxcbiAgICAgICAgKjo6YWZ0ZXIge1xuICAgICAgICAgICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICAgICAgfVxuXG4gICAgICAgIC5rLXNlbGVjdGVkLWljb24td3JhcHBlciB7XG4gICAgICAgICAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IC8vIHN0eWxlbGludC1kaXNhYmxlLWxpbmUgZGVjbGFyYXRpb24tbm8taW1wb3J0YW50XG4gICAgICAgIH1cblxuICAgICAgICAmOmhvdmVyLFxuICAgICAgICAmOmZvY3VzIHtcbiAgICAgICAgICAgIG91dGxpbmU6IDA7XG4gICAgICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgICAgIH1cblxuICAgICAgICAmLmstY2hpcC1vdXRsaW5lLmstZm9jdXM6OmFmdGVyLFxuICAgICAgICAmLmstY2hpcC1vdXRsaW5lOmZvY3VzOjphZnRlciB7XG4gICAgICAgICAgICAgICAgY29udGVudDogJyc7XG4gICAgICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgICAgIGJvcmRlcjogbWVkaXVtIG5vbmU7XG4gICAgICAgICAgICAgICAgaW5zZXQ6IHZhciggLS1rZW5kby1jaGlwLWZvY3VzLW9mZnNldCwgI3sgJGtlbmRvLWNoaXAtZm9jdXMtb2Zmc2V0IH0gKTtcbiAgICAgICAgICAgICAgICBvdXRsaW5lLXdpZHRoOiB2YXIoIC0ta2VuZG8tY2hpcC1mb2N1cy1vdXRsaW5lLXdpZHRoLCAjeyAka2VuZG8tY2hpcC1mb2N1cy1vdXRsaW5lLXdpZHRoIH0gKTtcbiAgICAgICAgICAgICAgICBvdXRsaW5lLXN0eWxlOiB2YXIoIC0ta2VuZG8tY2hpcC1mb2N1cy1vdXRsaW5lLXN0eWxlLCAjeyAka2VuZG8tY2hpcC1mb2N1cy1vdXRsaW5lLXN0eWxlIH0gKTtcbiAgICAgICAgICAgICAgICB6LWluZGV4OiAxO1xuICAgICAgICB9XG4gICAgfVxuXG5cbiAgICAvLyBDaGlwIGNvbnRlbnRcbiAgICAuay1jaGlwLWNvbnRlbnQge1xuICAgICAgICBtaW4td2lkdGg6IDA7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGZsZXgtZmxvdzogcm93IG5vd3JhcDtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgZmxleDogMSAxIGF1dG87XG5cbiAgICAgICAgLy8gQWRqdXN0bWVudCBmb3Iga2VuZG8taWNvbi13cmFwcGVyXG4gICAgICAgIC5rLWljb24td3JhcHBlci1ob3N0IHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGluaXRpYWw7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAuay1jaGlwLWNvbnRlbnQ6Zmlyc3QtY2hpbGQge1xuICAgICAgICBtYXJnaW4taW5saW5lLXN0YXJ0OiB2YXIoIC0ta2VuZG8tY2hpcC1zcGFjaW5nLCAjeyAka2VuZG8tY2hpcC1zcGFjaW5nIH0gKTtcbiAgICB9XG4gICAgLmstY2hpcC1jb250ZW50Omxhc3QtY2hpbGQge1xuICAgICAgICBtYXJnaW4taW5saW5lLWVuZDogdmFyKCAtLWtlbmRvLWNoaXAtc3BhY2luZywgI3sgJGtlbmRvLWNoaXAtc3BhY2luZyB9ICk7XG4gICAgfVxuXG4gICAgLy8gQ2hpcCB0ZXh0XG4gICAgLmstY2hpcC10ZXh0LFxuICAgIC5rLWNoaXAtbGFiZWwge1xuICAgICAgICBwYWRkaW5nLWJsb2NrOiAuNWVtO1xuICAgICAgICBwYWRkaW5nLWlubGluZTogMDtcbiAgICAgICAgbWFyZ2luLWJsb2NrOiAtLjVlbTtcbiAgICAgICAgbWFyZ2luLWlubGluZTogMDtcbiAgICAgICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgICAgICAgdGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7XG4gICAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgICAgIGZsZXg6IDEgMSBhdXRvO1xuICAgIH1cblxuXG4gICAgLy8gQ2hpcCBhdmF0YXJcbiAgICAuay1jaGlwLWF2YXRhciB7XG4gICAgICAgIHdpZHRoOiB2YXIoIC0ta2VuZG8tY2hpcC1hdmF0YXItd2lkdGgsICN7ICRrZW5kby1jaGlwLWF2YXRhci13aWR0aCB9ICk7XG4gICAgICAgIGhlaWdodDogdmFyKCAtLWtlbmRvLWNoaXAtYXZhdGFyLWhlaWdodCwgI3sgJGtlbmRvLWNoaXAtYXZhdGFyLWhlaWdodCB9ICk7XG4gICAgICAgIGZsZXgtYmFzaXM6IHZhciggLS1rZW5kby1jaGlwLWF2YXRhci1mbGV4LWJhc2lzLCAjeyAka2VuZG8tY2hpcC1hdmF0YXItZmxleC1iYXNpcyB9ICk7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgICAgICAgYmFja2dyb3VuZC1zaXplOiBjb3ZlcjtcbiAgICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyO1xuICAgIH1cblxuXG4gICAgLy8gQ2hpcCBpY29uXG4gICAgLmstY2hpcC1pY29uIHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICAgIGZsZXg6IG5vbmU7XG4gICAgfVxuXG5cbiAgICAvLyBBY3Rpb25zXG4gICAgLmstY2hpcC1hY3Rpb25zIHtcbiAgICAgICAgbWFyZ2luLWJsb2NrOiAtNWVtO1xuICAgICAgICBtYXJnaW4taW5saW5lOiAwO1xuICAgICAgICBmbGV4OiBub25lO1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBmbGV4LWZsb3c6IHJvdyBub3dyYXA7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgIGFsaWduLXNlbGY6IGNlbnRlcjtcbiAgICB9XG4gICAgLmstY2hpcC1hY3Rpb24ge1xuICAgICAgICBmbGV4OiBub25lO1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBmbGV4LWZsb3c6IHJvdyBub3dyYXA7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgIGFsaWduLXNlbGY6IGNlbnRlcjtcbiAgICB9XG5cblxuICAgIC8vIENoaXAgbGlzdFxuICAgIC5rLWNoaXAtbGlzdCB7XG4gICAgICAgIG1pbi13aWR0aDogMHB4O1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgICAgICAgZmxleC13cmFwOiB3cmFwO1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgfVxuXG5cbiAgICAvLyBTaXplc1xuICAgIEBlYWNoICRzaXplLCAkc2l6ZS1wcm9wcyBpbiAka2VuZG8tY2hpcC1zaXplcyB7XG4gICAgICAgICRfcGFkZGluZy14OiBtYXAuZ2V0KCAkc2l6ZS1wcm9wcywgcGFkZGluZy14ICk7XG4gICAgICAgICRfcGFkZGluZy15OiBtYXAuZ2V0KCAkc2l6ZS1wcm9wcywgcGFkZGluZy15ICk7XG4gICAgICAgICRfZm9udC1zaXplOiBtYXAuZ2V0KCAkc2l6ZS1wcm9wcywgZm9udC1zaXplICk7XG4gICAgICAgICRfbGluZS1oZWlnaHQ6IG1hcC5nZXQoICRzaXplLXByb3BzLCBsaW5lLWhlaWdodCApO1xuXG4gICAgICAgIC5rLWNoaXAtI3skc2l6ZX0ge1xuICAgICAgICAgICAgLS1JTlRFUk5BTC1rZW5kby1jaGlwLXBhZGRpbmcteDogI3sgJF9wYWRkaW5nLXggfTtcbiAgICAgICAgICAgIC0tSU5URVJOQUwta2VuZG8tY2hpcC1wYWRkaW5nLXk6ICN7ICRfcGFkZGluZy15IH07XG4gICAgICAgICAgICAtLUlOVEVSTkFMLWtlbmRvLWNoaXAtZm9udC1zaXplOiAjeyAkX2ZvbnQtc2l6ZSB9O1xuICAgICAgICAgICAgLS1JTlRFUk5BTC1rZW5kby1jaGlwLWxpbmUtaGVpZ2h0OiAjeyAkX2xpbmUtaGVpZ2h0IH07XG5cbiAgICAgICAgICAgIC5rLWNoaXAtYWN0aW9uIHtcbiAgICAgICAgICAgICAgICBwYWRkaW5nOiAkX3BhZGRpbmcteTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8vIFNpemVzXG4gICAgQGVhY2ggJG5hbWUsICRzaXplIGluICRrZW5kby1jaGlwLWxpc3Qtc2l6ZXMge1xuICAgICAgICAuay1jaGlwLWxpc3QtI3skbmFtZX0ge1xuICAgICAgICAgICAgZ2FwOiAkc2l6ZTtcbiAgICAgICAgfVxuICAgIH1cblxufVxuIiwiQHVzZSBcInNhc3M6bWFwXCI7XG5AdXNlIFwiLi4vY29yZS9faW5kZXguc2Nzc1wiIGFzICo7XG5cbi8vIENoaXBcblxuLy8vIFRoZSB3aWR0aCBvZiB0aGUgYm9yZGVyIGFyb3VuZCB0aGUgQ2hpcC5cbi8vLyBAZ3JvdXAgY2hpcFxuJGtlbmRvLWNoaXAtYm9yZGVyLXdpZHRoOiAxcHggIWRlZmF1bHQ7XG4vLy8gVGhlIHNwYWNpbmcgYmV0d2VlbiB0aGUgdGV4dCBhbmQgdGhlIGljb25zIG9mIHRoZSBDaGlwLlxuLy8vIEBncm91cCBjaGlwXG4ka2VuZG8tY2hpcC1zcGFjaW5nOiBrLXNwYWNpbmcoMSkgIWRlZmF1bHQ7XG5cbi8vLyBUaGUgZm9udCBmYW1pbHkgb2YgdGhlIENoaXAuXG4vLy8gQGdyb3VwIGNoaXBcbiRrZW5kby1jaGlwLWZvbnQtZmFtaWx5OiB2YXIoIC0ta2VuZG8tZm9udC1mYW1pbHksIGluaGVyaXQgKSAhZGVmYXVsdDtcblxuLy8vIFRoZSB3aWR0aCBvZiB0aGUgQ2hpcCcgYXZhdGFyLlxuLy8vIEBncm91cCBjaGlwXG4ka2VuZG8tY2hpcC1hdmF0YXItd2lkdGg6IDFlbSAhZGVmYXVsdDtcbi8vLyBUaGUgaGVpZ2h0IG9mIHRoZSBDaGlwJyBhdmF0YXIuXG4vLy8gQGdyb3VwIGNoaXBcbiRrZW5kby1jaGlwLWF2YXRhci1oZWlnaHQ6IDFlbSAhZGVmYXVsdDtcbi8vLyBUaGUgZmxleCBiYXNpcyBvZiB0aGUgQ2hpcCcgYXZhdGFyLlxuLy8vIEBncm91cCBjaGlwXG4ka2VuZG8tY2hpcC1hdmF0YXItZmxleC1iYXNpczogMWVtICFkZWZhdWx0O1xuLy8vIFRoZSB0ZXh0IGNvbG9yIG9mIHRoZSBkaXNhYmxlZCBDaGlwLlxuLy8vIEBncm91cCBjaGlwXG4ka2VuZG8tY2hpcC1kaXNhYmxlZC10ZXh0OiB2YXIoIC0ta2VuZG8tZGlzYWJsZWQtdGV4dCwgaW5oZXJpdCApICFkZWZhdWx0O1xuLy8vIFRoZSBiYWNrZ3JvdW5kIGNvbG9yIG9mIHRoZSBzb2xpZCBkaXNhYmxlZCBDaGlwLlxuLy8vIEBncm91cCBjaGlwXG4ka2VuZG8tY2hpcC1zb2xpZC1kaXNhYmxlZC1iZzogdmFyKCAtLWtlbmRvLWRpc2FibGVkLWJnLCB0cmFuc3BhcmVudCApICFkZWZhdWx0O1xuLy8vIFRoZSBib3JkZXIgY29sb3Igb2YgdGhlIHNvbGlkIGRpc2FibGVkIENoaXAuXG4vLy8gQGdyb3VwIGNoaXBcbiRrZW5kby1jaGlwLXNvbGlkLWRpc2FibGVkLWJvcmRlcjogdmFyKCAtLWtlbmRvLWRpc2FibGVkLWJvcmRlciwgaW5oZXJpdCApICFkZWZhdWx0O1xuLy8vIFRoZSBiYWNrZ3JvdW5kIGNvbG9yIG9mIHRoZSBvdXRsaW5lIGRpc2FibGVkIENoaXAuXG4vLy8gQGdyb3VwIGNoaXBcbiRrZW5kby1jaGlwLW91dGxpbmUtZGlzYWJsZWQtYmc6IHZhciggJGtlbmRvLWNvbXBvbmVudC1iZywgdHJhbnNwYXJlbnQgKSAhZGVmYXVsdDtcbi8vLyBUaGUgYm9yZGVyIGNvbG9yIG9mIHRoZSBvdXRsaW5lIGRpc2FibGVkIENoaXAuXG4vLy8gQGdyb3VwIGNoaXBcbiRrZW5kby1jaGlwLW91dGxpbmUtZGlzYWJsZWQtYm9yZGVyOiBpZigka2VuZG8tZW5hYmxlLWNvbG9yLXN5c3RlbSwgY29sb3ItbWl4KGluIHNyZ2IsIGstY29sb3IoIG9uLWFwcC1zdXJmYWNlICkgNDYlLCB0cmFuc3BhcmVudCksIGstZ2V0LXRoZW1lLWNvbG9yLXZhciggbmV1dHJhbC05MCApKSAhZGVmYXVsdDtcblxuLy8vIFRoZSBvZmZzZXQgb2YgdGhlIG91dGxpbmUgZm9jdXNlZCBDaGlwLlxuLy8vIEBncm91cCBjaGlwXG4ka2VuZG8tY2hpcC1mb2N1cy1vZmZzZXQ6IGstc3BhY2luZygwLjUpICFkZWZhdWx0O1xuLy8vIFRoZSBvdXRsaW5lIHdpZHRoIG9mIHRoZSBvdXRsaW5lIGZvY3VzZWQgQ2hpcC5cbi8vLyBAZ3JvdXAgY2hpcFxuJGtlbmRvLWNoaXAtZm9jdXMtb3V0bGluZS13aWR0aDogMXB4ICFkZWZhdWx0O1xuLy8vIFRoZSBvdXRsaW5lIHN0eWxlIG9mIHRoZSBvdXRsaW5lIGZvY3VzZWQgQ2hpcC5cbi8vLyBAZ3JvdXAgY2hpcFxuJGtlbmRvLWNoaXAtZm9jdXMtb3V0bGluZS1zdHlsZTogc29saWQgIWRlZmF1bHQ7XG5cbi8vLyBUaGUgaG9yaXpvbnRhbCBwYWRkaW5nIG9mIHRoZSBzbWFsbCBDaGlwLlxuLy8vIEBncm91cCBjaGlwXG4ka2VuZG8tY2hpcC1zbS1wYWRkaW5nLXg6IGstc3BhY2luZygyKSAhZGVmYXVsdDtcbi8vLyBUaGUgaG9yaXpvbnRhbCBwYWRkaW5nIG9mIHRoZSBtZWRpdW0gQ2hpcC5cbi8vLyBAZ3JvdXAgY2hpcFxuJGtlbmRvLWNoaXAtbWQtcGFkZGluZy14OiBrLXNwYWNpbmcoMikgIWRlZmF1bHQ7XG4vLy8gVGhlIGhvcml6b250YWwgcGFkZGluZyBvZiB0aGUgbGFyZ2UgQ2hpcC5cbi8vLyBAZ3JvdXAgY2hpcFxuJGtlbmRvLWNoaXAtbGctcGFkZGluZy14OiBrLXNwYWNpbmcoMikgIWRlZmF1bHQ7XG5cbi8vLyBUaGUgdmVydGljYWwgcGFkZGluZyBvZiB0aGUgc21hbGwgQ2hpcC5cbi8vLyBAZ3JvdXAgY2hpcFxuJGtlbmRvLWNoaXAtc20tcGFkZGluZy15OiBrLXNwYWNpbmcoMC41KSAhZGVmYXVsdDtcbi8vLyBUaGUgdmVydGljYWwgcGFkZGluZyBvZiB0aGUgbWVkaXVtIENoaXAuXG4vLy8gQGdyb3VwIGNoaXBcbiRrZW5kby1jaGlwLW1kLXBhZGRpbmcteTogay1zcGFjaW5nKDEpICFkZWZhdWx0O1xuLy8vIFRoZSB2ZXJ0aWNhbCBwYWRkaW5nIG9mIHRoZSBsYXJnZSBDaGlwLlxuLy8vIEBncm91cCBjaGlwXG4ka2VuZG8tY2hpcC1sZy1wYWRkaW5nLXk6IGstc3BhY2luZygxLjUpICFkZWZhdWx0O1xuXG4vLy8gVGhlIGZvbnQgc2l6ZSBvZiB0aGUgc21hbGwgQ2hpcC5cbi8vLyBAZ3JvdXAgY2hpcFxuJGtlbmRvLWNoaXAtc20tZm9udC1zaXplOiB2YXIoIC0ta2VuZG8tZm9udC1zaXplLCBpbmhlcml0ICkgIWRlZmF1bHQ7XG4vLy8gVGhlIGZvbnQgc2l6ZSBvZiB0aGUgbWVkaXVtIENoaXAuXG4vLy8gQGdyb3VwIGNoaXBcbiRrZW5kby1jaGlwLW1kLWZvbnQtc2l6ZTogdmFyKCAtLWtlbmRvLWZvbnQtc2l6ZSwgaW5oZXJpdCApICFkZWZhdWx0O1xuLy8vIFRoZSBmb250IHNpemUgb2YgdGhlIGxhcmdlIENoaXAuXG4vLy8gQGdyb3VwIGNoaXBcbiRrZW5kby1jaGlwLWxnLWZvbnQtc2l6ZTogdmFyKCAtLWtlbmRvLWZvbnQtc2l6ZSwgaW5oZXJpdCApICFkZWZhdWx0O1xuXG4vLy8gVGhlIHNtYWxsIENoaXAncyBsaW5lIGhlaWdodCB0aGF0IGlzIHJlbGF0ZWQgdG8gdGhlICRrZW5kby1mb250LXNpemUuXG4vLy8gQGdyb3VwIGNoaXBcbiRrZW5kby1jaGlwLXNtLWxpbmUtaGVpZ2h0OiB2YXIoIC0ta2VuZG8tbGluZS1oZWlnaHQsIG5vcm1hbCApICFkZWZhdWx0O1xuLy8vIFRoZSBtZWRpdW0gQ2hpcCdzIGxpbmUgaGVpZ2h0IHRoYXQgaXMgcmVsYXRlZCB0byB0aGUgJGtlbmRvLWZvbnQtc2l6ZS5cbi8vLyBAZ3JvdXAgY2hpcFxuJGtlbmRvLWNoaXAtbWQtbGluZS1oZWlnaHQ6IHZhciggLS1rZW5kby1saW5lLWhlaWdodCwgbm9ybWFsICkgIWRlZmF1bHQ7XG4vLy8gVGhlIGxhcmdlIENoaXAncyBsaW5lIGhlaWdodCB0aGF0IGlzIHJlbGF0ZWQgdG8gdGhlICRrZW5kby1mb250LXNpemUuXG4vLy8gQGdyb3VwIGNoaXBcbiRrZW5kby1jaGlwLWxnLWxpbmUtaGVpZ2h0OiB2YXIoIC0ta2VuZG8tbGluZS1oZWlnaHQsIG5vcm1hbCApICFkZWZhdWx0O1xuXG4vLy8gVGhlIGNhbGN1bGF0ZWQgaGVpZ2h0IG9mIHRoZSBDaGlwLlxuLy8vIEBncm91cCBjaGlwXG4ka2VuZG8tY2hpcC1jYWxjLXNpemU6IGNhbGMoICN7JGtlbmRvLWNoaXAtbWQtbGluZS1oZWlnaHR9ICogMWVtICsgI3ska2VuZG8tY2hpcC1tZC1wYWRkaW5nLXl9ICogMiArICN7JGtlbmRvLWNoaXAtYm9yZGVyLXdpZHRofSAqIDIgKSAhZGVmYXVsdDtcbiRrZW5kby1jaGlwLXNtLWNhbGMtc2l6ZTogY2FsYyggI3ska2VuZG8tY2hpcC1zbS1saW5lLWhlaWdodH0gKiAxZW0gKyAjeyRrZW5kby1jaGlwLXNtLXBhZGRpbmcteX0gKiAyICsgI3ska2VuZG8tY2hpcC1ib3JkZXItd2lkdGh9ICogMiApICFkZWZhdWx0O1xuXG4vLy8gVGhlIG1hcCB3aXRoIHRoZSBzaXplcyBvZiB0aGUgQ2hpcC5cbi8vLyBAZ3JvdXAgY2hpcFxuJGtlbmRvLWNoaXAtc2l6ZXM6IChcbiAgICBzbTogKFxuICAgICAgICBwYWRkaW5nLXg6ICRrZW5kby1jaGlwLXNtLXBhZGRpbmcteCxcbiAgICAgICAgcGFkZGluZy15OiAka2VuZG8tY2hpcC1zbS1wYWRkaW5nLXksXG4gICAgICAgIGZvbnQtc2l6ZTogJGtlbmRvLWNoaXAtc20tZm9udC1zaXplLFxuICAgICAgICBsaW5lLWhlaWdodDogJGtlbmRvLWNoaXAtc20tbGluZS1oZWlnaHRcbiAgICApLFxuICAgIG1kOiAoXG4gICAgICAgIHBhZGRpbmcteDogJGtlbmRvLWNoaXAtbWQtcGFkZGluZy14LFxuICAgICAgICBwYWRkaW5nLXk6ICRrZW5kby1jaGlwLW1kLXBhZGRpbmcteSxcbiAgICAgICAgZm9udC1zaXplOiAka2VuZG8tY2hpcC1tZC1mb250LXNpemUsXG4gICAgICAgIGxpbmUtaGVpZ2h0OiAka2VuZG8tY2hpcC1tZC1saW5lLWhlaWdodFxuICAgICksXG4gICAgbGc6IChcbiAgICAgICAgcGFkZGluZy14OiAka2VuZG8tY2hpcC1sZy1wYWRkaW5nLXgsXG4gICAgICAgIHBhZGRpbmcteTogJGtlbmRvLWNoaXAtbGctcGFkZGluZy15LFxuICAgICAgICBmb250LXNpemU6ICRrZW5kby1jaGlwLWxnLWZvbnQtc2l6ZSxcbiAgICAgICAgbGluZS1oZWlnaHQ6ICRrZW5kby1jaGlwLWxnLWxpbmUtaGVpZ2h0XG4gICAgKVxuKSAhZGVmYXVsdDtcblxuXG4ka2VuZG8tY2hpcC1icmFuZC1jb2xvcnM6ICggZXJyb3IsIHN1Y2Nlc3MsIGluZm8gKSAhZGVmYXVsdDtcblxuLy8gTWF0cmljZXMgd2l0aCB0aGVtZSBjb2xvcnMgaW4gdGhlIG9yZGVyOiBiZywgY29sb3IsIGJvcmRlciwgb3V0bGluZVxuXG4vLyBUaGUgY29sb3IgbWF0cml4IGZvciB0aGUgYmFzZSBDaGlwXG4kX3RjLWJhc2UtbWF0cml4OiAoXG4gICAgc29saWQ6IChcbiAgICAgICAgbm9ybWFsOiBpZigka2VuZG8tZW5hYmxlLWNvbG9yLXN5c3RlbSwgKGNvbG9yLXN1YnRsZSwgY29sb3Itb24tc3VidGxlLCBjb2xvci1zdWJ0bGUpLCAoMjAsIDE2MCwgMjApKSxcbiAgICAgICAgaG92ZXI6IGlmKCRrZW5kby1lbmFibGUtY29sb3Itc3lzdGVtLCAoY29sb3Itc3VidGxlLWhvdmVyLCBjb2xvci1vbi1zdWJ0bGUsIGNvbG9yLXN1YnRsZS1ob3ZlciksICgzMCwgMTkwLCAzMCkpLFxuICAgICAgICBmb2N1czogaWYoJGtlbmRvLWVuYWJsZS1jb2xvci1zeXN0ZW0sIChjb2xvci1zdWJ0bGUsIGNvbG9yLW9uLXN1YnRsZSwgY29sb3Itb24tc3VidGxlKSwgKDIwLCAxNjAsIDEzMCkpLFxuICAgICAgICBmb2N1cy1ob3ZlcjogaWYoJGtlbmRvLWVuYWJsZS1jb2xvci1zeXN0ZW0sIChjb2xvci1zdWJ0bGUsIGNvbG9yLW9uLXN1YnRsZSwgY29sb3Itb24tc3VidGxlKSwgKDIwLCAxOTAsIDEzMCkpLFxuICAgICAgICBzZWxlY3RlZDogaWYoJGtlbmRvLWVuYWJsZS1jb2xvci1zeXN0ZW0sIChrLWNvbG9yKCBwcmltYXJ5ICksIGstY29sb3IoIG9uLXByaW1hcnkgKSwgay1jb2xvciggcHJpbWFyeSApKSwgKGstZ2V0LXRoZW1lLWNvbG9yLXZhciggcHJpbWFyeS0xMDAgKSwgJGtlbmRvLWNvbG9yLXdoaXRlLCBrLWdldC10aGVtZS1jb2xvci12YXIoIHByaW1hcnktMTAwICkpKSxcbiAgICAgICAgc2VsZWN0ZWQtaG92ZXI6IGlmKCRrZW5kby1lbmFibGUtY29sb3Itc3lzdGVtLCAoay1jb2xvciggcHJpbWFyeSApLCBrLWNvbG9yKCBvbi1wcmltYXJ5ICksIGstY29sb3IoIHByaW1hcnkgKSksIChrLWdldC10aGVtZS1jb2xvci12YXIoIHByaW1hcnktMTAwICksICRrZW5kby1jb2xvci13aGl0ZSwgay1nZXQtdGhlbWUtY29sb3ItdmFyKCBwcmltYXJ5LTEwMCApKSksXG4gICAgICAgIGRpc2FibGVkOiBpZigka2VuZG8tZW5hYmxlLWNvbG9yLXN5c3RlbSwgKGNvbG9yLW1peChpbiBzcmdiLCBrLWNvbG9yKCBvbi1hcHAtc3VyZmFjZSApIDYlLCB0cmFuc3BhcmVudCksIGNvbG9yLW1peChpbiBzcmdiLCBrLWNvbG9yKCBvbi1hcHAtc3VyZmFjZSApIDQ2JSwgdHJhbnNwYXJlbnQpLCB0cmFuc3BhcmVudCksICh2YXIoIC0ta2VuZG8tZGlzYWJsZWQtYmcsIGluaGVyaXQgKSwgdmFyKCAtLWtlbmRvLWRpc2FibGVkLXRleHQsIGluaGVyaXQgKSwgdmFyKCAtLWtlbmRvLWRpc2FibGVkLWJvcmRlciwgaW5oZXJpdCApKSlcbiAgICApLFxuICAgIG91dGxpbmU6IChcbiAgICAgICAgbm9ybWFsOiBpZigka2VuZG8tZW5hYmxlLWNvbG9yLXN5c3RlbSwgKHRyYW5zcGFyZW50LCBjb2xvci1vbi1zdXJmYWNlLCBjdXJyZW50Q29sb3IpLCAodHJhbnNwYXJlbnQsIDE2MCwgY3VycmVudENvbG9yKSksXG4gICAgICAgIGhvdmVyOiBpZigka2VuZG8tZW5hYmxlLWNvbG9yLXN5c3RlbSwgKGNvbG9yLW9uLXN1cmZhY2UsIGFwcC1zdXJmYWNlLCBjb2xvci1vbi1zdXJmYWNlKSwgKDE5MCwgJGtlbmRvLWNvbG9yLXdoaXRlLCAxOTApKSxcbiAgICAgICAgZm9jdXM6IGlmKCRrZW5kby1lbmFibGUtY29sb3Itc3lzdGVtLCAodHJhbnNwYXJlbnQsIGNvbG9yLW9uLXN1cmZhY2UsIGN1cnJlbnRDb2xvciwgaW5oZXJpdCksICh0cmFuc3BhcmVudCwgMTYwLCBjdXJyZW50Q29sb3IsIGluaGVyaXQpKSxcbiAgICAgICAgZm9jdXMtaG92ZXI6IGlmKCRrZW5kby1lbmFibGUtY29sb3Itc3lzdGVtLCAoY29sb3Itb24tc3VyZmFjZSwgYXBwLXN1cmZhY2UsIGNvbG9yLW9uLXN1cmZhY2UsIGluaGVyaXQpLCAoMTkwLCAka2VuZG8tY29sb3Itd2hpdGUsIDE5MCwgaW5oZXJpdCkpLFxuICAgICAgICBzZWxlY3RlZDogaWYoJGtlbmRvLWVuYWJsZS1jb2xvci1zeXN0ZW0sIChjb2xvci1vbi1zdXJmYWNlLCBhcHAtc3VyZmFjZSwgY29sb3Itb24tc3VyZmFjZSksICgxOTAsICRrZW5kby1jb2xvci13aGl0ZSwgMTkwKSksXG4gICAgICAgIHNlbGVjdGVkLWhvdmVyOiBpZigka2VuZG8tZW5hYmxlLWNvbG9yLXN5c3RlbSwgKGNvbG9yLXN1YnRsZSwgY29sb3Itb24tc3VyZmFjZSwgY29sb3Itb24tc3VidGxlKSwgKDIwLCAxOTAsIDExMCkpLFxuICAgICAgICBkaXNhYmxlZDogaWYoJGtlbmRvLWVuYWJsZS1jb2xvci1zeXN0ZW0sIChpbml0aWFsLCBjb2xvci1taXgoaW4gc3JnYiwgay1jb2xvciggb24tYXBwLXN1cmZhY2UgKSA0NiUsIHRyYW5zcGFyZW50KSwgY29sb3ItbWl4KGluIHNyZ2IsIGstY29sb3IoIG9uLWFwcC1zdXJmYWNlICkgNDYlLCB0cmFuc3BhcmVudCkpLCAoaW5pdGlhbCwgdmFyKCAtLWtlbmRvLWRpc2FibGVkLXRleHQsIGluaGVyaXQgKSwgOTApKVxuICAgICksXG4pICFkZWZhdWx0O1xuXG4vLyBUaGUgY29sb3IgbWF0cml4IGZvciB0aGUgZXJyb3IsIHN1Y2Nlc3MgYW5kIGluZm8gQ2hpcHNcbiRfdGMtYnJhbmQtbWF0cml4OiAoXG4gICAgc29saWQ6IChcbiAgICAgICAgbm9ybWFsOiBpZigka2VuZG8tZW5hYmxlLWNvbG9yLXN5c3RlbSwgKGNvbG9yLXN1YnRsZSwgY29sb3Itb24tc3VidGxlLCBjb2xvci1zdWJ0bGUpLCAoMjAsIDE2MCwgMjApKSxcbiAgICAgICAgaG92ZXI6IGlmKCRrZW5kby1lbmFibGUtY29sb3Itc3lzdGVtLCAoY29sb3Itc3VidGxlLWhvdmVyLCBjb2xvci1vbi1zdWJ0bGUsIGNvbG9yLXN1YnRsZS1ob3ZlciksICgzMCwgMTkwLCAzMCkpLFxuICAgICAgICBmb2N1czogaWYoJGtlbmRvLWVuYWJsZS1jb2xvci1zeXN0ZW0sIChjb2xvci1zdWJ0bGUsIGNvbG9yLW9uLXN1YnRsZSwgY29sb3Itb24tc3VidGxlKSwgKDIwLCAxNjAsIDE2MCkpLFxuICAgICAgICBmb2N1cy1ob3ZlcjogaWYoJGtlbmRvLWVuYWJsZS1jb2xvci1zeXN0ZW0sIChjb2xvci1zdWJ0bGUsIGNvbG9yLW9uLXN1YnRsZSwgY29sb3Itb24tc3VidGxlKSwgKDIwLCAxOTAsIDE2MCkpLFxuICAgICAgICBzZWxlY3RlZDogaWYoJGtlbmRvLWVuYWJsZS1jb2xvci1zeXN0ZW0sIChjb2xvci1zdWJ0bGUtYWN0aXZlLCBjb2xvci1vbi1zdWJ0bGUsIGNvbG9yLXN1YnRsZS1hY3RpdmUpLCAoNDAsIDE5MCwgNDApKSxcbiAgICAgICAgc2VsZWN0ZWQtaG92ZXI6IGlmKCRrZW5kby1lbmFibGUtY29sb3Itc3lzdGVtLCAoY29sb3Itc3VidGxlLWhvdmVyLCBjb2xvci1vbi1zdWJ0bGUsIGNvbG9yLXN1YnRsZS1ob3ZlciksICgzMCwgMTkwLCAzMCkpLFxuICAgICAgICBkaXNhYmxlZDogaWYoJGtlbmRvLWVuYWJsZS1jb2xvci1zeXN0ZW0sIChjb2xvci1taXgoaW4gc3JnYiwgay1jb2xvciggb24tYXBwLXN1cmZhY2UgKSA2JSwgdHJhbnNwYXJlbnQpLCBjb2xvci1taXgoaW4gc3JnYiwgay1jb2xvciggb24tYXBwLXN1cmZhY2UgKSA0NiUsIHRyYW5zcGFyZW50KSwgdHJhbnNwYXJlbnQpLCAodmFyKCAtLWtlbmRvLWRpc2FibGVkLWJnLCBpbmhlcml0ICksIHZhciggLS1rZW5kby1kaXNhYmxlZC10ZXh0LCBpbmhlcml0ICksIHZhciggLS1rZW5kby1kaXNhYmxlZC1ib3JkZXIsIGluaGVyaXQgKSkpXG4gICAgKSxcbiAgICBvdXRsaW5lOiAoXG4gICAgICAgIG5vcm1hbDogaWYoJGtlbmRvLWVuYWJsZS1jb2xvci1zeXN0ZW0sICh0cmFuc3BhcmVudCwgY29sb3Itb24tc3VyZmFjZSwgY3VycmVudENvbG9yKSwgKHRyYW5zcGFyZW50LCAxNjAsIGN1cnJlbnRDb2xvcikpLFxuICAgICAgICBob3ZlcjogaWYoJGtlbmRvLWVuYWJsZS1jb2xvci1zeXN0ZW0sIChjb2xvci1vbi1zdXJmYWNlLCBhcHAtc3VyZmFjZSwgY29sb3Itb24tc3VyZmFjZSksICgxOTAsICRrZW5kby1jb2xvci13aGl0ZSwgMTkwKSksXG4gICAgICAgIGZvY3VzOiBpZigka2VuZG8tZW5hYmxlLWNvbG9yLXN5c3RlbSwgKHRyYW5zcGFyZW50LCBjb2xvci1vbi1zdXJmYWNlLCBjb2xvci1vbi1zdXJmYWNlLCBpbmhlcml0KSwgKHRyYW5zcGFyZW50LCAxNjAsIDE2MCwgaW5oZXJpdCkpLFxuICAgICAgICBmb2N1cy1ob3ZlcjogaWYoJGtlbmRvLWVuYWJsZS1jb2xvci1zeXN0ZW0sIChjb2xvci1vbi1zdXJmYWNlLCBhcHAtc3VyZmFjZSwgY29sb3Itb24tc3VyZmFjZSwgaW5oZXJpdCksICgxOTAsICRrZW5kby1jb2xvci13aGl0ZSwgMTkwLCBpbmhlcml0KSksXG4gICAgICAgIHNlbGVjdGVkOiBpZigka2VuZG8tZW5hYmxlLWNvbG9yLXN5c3RlbSwgKGNvbG9yLW9uLXN1cmZhY2UsIGFwcC1zdXJmYWNlLCBjb2xvci1vbi1zdXJmYWNlKSwgKDE5MCwgJGtlbmRvLWNvbG9yLXdoaXRlLCAxOTApKSxcbiAgICAgICAgc2VsZWN0ZWQtaG92ZXI6IGlmKCRrZW5kby1lbmFibGUtY29sb3Itc3lzdGVtLCAoY29sb3Itb24tc3VyZmFjZSwgYXBwLXN1cmZhY2UsIGNvbG9yLW9uLXN1cmZhY2UpLCAoMTkwLCAka2VuZG8tY29sb3Itd2hpdGUsIDE5MCkpLFxuICAgICAgICBkaXNhYmxlZDogaWYoJGtlbmRvLWVuYWJsZS1jb2xvci1zeXN0ZW0sIChpbml0aWFsLCBjb2xvci1taXgoaW4gc3JnYiwgay1jb2xvciggb24tYXBwLXN1cmZhY2UgKSA0NiUsIHRyYW5zcGFyZW50KSwgY29sb3ItbWl4KGluIHNyZ2IsIGstY29sb3IoIG9uLWFwcC1zdXJmYWNlICkgNDYlLCB0cmFuc3BhcmVudCkpLCAoaW5pdGlhbCwgdmFyKCAtLWtlbmRvLWRpc2FibGVkLXRleHQsIGluaGVyaXQgKSwgdmFyKCAtLWtlbmRvLWRpc2FibGVkLXRleHQsIGluaGVyaXQgKSkpXG4gICAgKVxuKSAhZGVmYXVsdDtcblxuLy8gVGhlIGNvbG9yIG1hdHJpeCBmb3IgdGhlIHdhcm5pbmcgQ2hpcHNcbiRfdGMtd2FybmluZy1tYXRyaXg6IChcbiAgICBzb2xpZDogKFxuICAgICAgICBub3JtYWw6IGlmKCRrZW5kby1lbmFibGUtY29sb3Itc3lzdGVtLCAoY29sb3Itc3VidGxlLCBjb2xvci1vbi1zdWJ0bGUsIGNvbG9yLXN1YnRsZSksICgyMCwgay1nZXQtdGhlbWUtY29sb3ItdmFyKCBncmV5LTE2MCApLCAyMCkpLFxuICAgICAgICBob3ZlcjogaWYoJGtlbmRvLWVuYWJsZS1jb2xvci1zeXN0ZW0sIChjb2xvci1zdWJ0bGUtaG92ZXIsIGNvbG9yLW9uLXN1YnRsZSwgY29sb3Itc3VidGxlLWhvdmVyKSwgKDMwLCBrLWdldC10aGVtZS1jb2xvci12YXIoIGdyZXktMTkwICksIDMwKSksXG4gICAgICAgIGZvY3VzOiBpZigka2VuZG8tZW5hYmxlLWNvbG9yLXN5c3RlbSwgKGNvbG9yLXN1YnRsZSwgY29sb3Itb24tc3VidGxlLCBjb2xvci1vbi1zdWJ0bGUpLCAoMjAsIGstZ2V0LXRoZW1lLWNvbG9yLXZhciggZ3JleS0xNjAgKSwgMTYwKSksXG4gICAgICAgIGZvY3VzLWhvdmVyOiBpZigka2VuZG8tZW5hYmxlLWNvbG9yLXN5c3RlbSwgKGNvbG9yLXN1YnRsZSwgY29sb3Itb24tc3VidGxlLCBjb2xvci1vbi1zdWJ0bGUpLCAoMjAsIGstZ2V0LXRoZW1lLWNvbG9yLXZhciggZ3JleS0xOTAgKSwgMTYwKSksXG4gICAgICAgIHNlbGVjdGVkOiBpZigka2VuZG8tZW5hYmxlLWNvbG9yLXN5c3RlbSwgKGNvbG9yLXN1YnRsZS1hY3RpdmUsIGNvbG9yLW9uLXN1YnRsZSwgY29sb3Itc3VidGxlLWFjdGl2ZSksICg0MCwgay1nZXQtdGhlbWUtY29sb3ItdmFyKCBncmV5LTE5MCApLCA0MCkpLFxuICAgICAgICBzZWxlY3RlZC1ob3ZlcjogaWYoJGtlbmRvLWVuYWJsZS1jb2xvci1zeXN0ZW0sIChjb2xvci1zdWJ0bGUtaG92ZXIsIGNvbG9yLW9uLXN1YnRsZSwgY29sb3Itc3VidGxlLWhvdmVyKSwgKDMwLCBrLWdldC10aGVtZS1jb2xvci12YXIoIGdyZXktMTkwICksIDMwKSksXG4gICAgICAgIGRpc2FibGVkOiBpZigka2VuZG8tZW5hYmxlLWNvbG9yLXN5c3RlbSwgKGNvbG9yLW1peChpbiBzcmdiLCBrLWNvbG9yKCBvbi1hcHAtc3VyZmFjZSApIDYlLCB0cmFuc3BhcmVudCksIGNvbG9yLW1peChpbiBzcmdiLCBrLWNvbG9yKCBvbi1hcHAtc3VyZmFjZSApIDQ2JSwgdHJhbnNwYXJlbnQpLCB0cmFuc3BhcmVudCksICh2YXIoIC0ta2VuZG8tZGlzYWJsZWQtYmcsIGluaGVyaXQgKSwgdmFyKCAtLWtlbmRvLWRpc2FibGVkLXRleHQsIGluaGVyaXQgKSwgdmFyKCAtLWtlbmRvLWRpc2FibGVkLWJvcmRlciwgaW5oZXJpdCApKSlcbiAgICApLFxuICAgIG91dGxpbmU6IChcbiAgICAgICAgbm9ybWFsOiBpZigka2VuZG8tZW5hYmxlLWNvbG9yLXN5c3RlbSwgKHRyYW5zcGFyZW50LCBjb2xvci1vbi1zdXJmYWNlLCBjdXJyZW50Q29sb3IpLCAodHJhbnNwYXJlbnQsIDE2MCwgY3VycmVudENvbG9yKSksXG4gICAgICAgIGhvdmVyOiBpZigka2VuZG8tZW5hYmxlLWNvbG9yLXN5c3RlbSwgKGNvbG9yLW9uLXN1cmZhY2UsIGFwcC1zdXJmYWNlLCBjb2xvci1vbi1zdXJmYWNlKSwgKDE5MCwgJGtlbmRvLWNvbG9yLXdoaXRlLCAxOTApKSxcbiAgICAgICAgZm9jdXM6IGlmKCRrZW5kby1lbmFibGUtY29sb3Itc3lzdGVtLCAodHJhbnNwYXJlbnQsIGNvbG9yLW9uLXN1cmZhY2UsIGNvbG9yLW9uLXN1cmZhY2UsIGluaGVyaXQpLCAodHJhbnNwYXJlbnQsIDE2MCwgMTYwLCBpbmhlcml0KSksXG4gICAgICAgIGZvY3VzLWhvdmVyOiBpZigka2VuZG8tZW5hYmxlLWNvbG9yLXN5c3RlbSwgKGNvbG9yLW9uLXN1cmZhY2UsIGFwcC1zdXJmYWNlLCBjb2xvci1vbi1zdXJmYWNlLCBpbmhlcml0KSwgKDE5MCwgJGtlbmRvLWNvbG9yLXdoaXRlLCAxOTAsIGluaGVyaXQpKSxcbiAgICAgICAgc2VsZWN0ZWQ6IGlmKCRrZW5kby1lbmFibGUtY29sb3Itc3lzdGVtLCAoY29sb3Itb24tc3VyZmFjZSwgYXBwLXN1cmZhY2UsIGNvbG9yLW9uLXN1cmZhY2UpLCAoMTkwLCAka2VuZG8tY29sb3Itd2hpdGUsIDE5MCkpLFxuICAgICAgICBzZWxlY3RlZC1ob3ZlcjogaWYoJGtlbmRvLWVuYWJsZS1jb2xvci1zeXN0ZW0sIChjb2xvci1vbi1zdXJmYWNlLCBhcHAtc3VyZmFjZSwgY29sb3Itb24tc3VyZmFjZSksICgxOTAsICRrZW5kby1jb2xvci13aGl0ZSwgMTkwKSksXG4gICAgICAgIGRpc2FibGVkOiBpZigka2VuZG8tZW5hYmxlLWNvbG9yLXN5c3RlbSwgKGluaXRpYWwsIGNvbG9yLW1peChpbiBzcmdiLCBrLWNvbG9yKCBvbi1hcHAtc3VyZmFjZSApIDQ2JSwgdHJhbnNwYXJlbnQpLCBjb2xvci1taXgoaW4gc3JnYiwgay1jb2xvciggb24tYXBwLXN1cmZhY2UgKSA0NiUsIHRyYW5zcGFyZW50KSksIChpbml0aWFsLCB2YXIoIC0ta2VuZG8tZGlzYWJsZWQtdGV4dCwgaW5oZXJpdCApLCB2YXIoIC0ta2VuZG8tZGlzYWJsZWQtdGV4dCwgaW5oZXJpdCApKSlcbiAgICApXG4pICFkZWZhdWx0O1xuXG4vLy8gVGhlIHRoZW1lIGNvbG9ycyBtYXAgZm9yIHRoZSBDaGlwLlxuJGtlbmRvLWNoaXAtdGhlbWUtY29sb3JzOiAoKSAhZGVmYXVsdDtcblxuLy8gTWFwIGZvciB0aGUgYmFzZSB0aGVtZSBjb2xvclxuQGVhY2ggJGZpbGwtbW9kZSwgJHVpLXN0YXRlcyBpbiAkX3RjLWJhc2UtbWF0cml4IHtcbiAgICAka2VuZG8tY2hpcC10aGVtZS1jb2xvcnM6IG1hcC5kZWVwLW1lcmdlKFxuICAgICAgICAka2VuZG8tY2hpcC10aGVtZS1jb2xvcnMsXG4gICAgICAgIGstZ2VuZXJhdGUtZmlsbC1tb2RlLXRoZW1lLXZhcmlhdGlvbiggJGZpbGwtbW9kZSwgYmFzZSwgaWYoJGtlbmRvLWVuYWJsZS1jb2xvci1zeXN0ZW0sIGJhc2UsIG5ldXRyYWwpLCAkdWktc3RhdGVzIClcbiAgICApO1xufVxuXG4vLyBNYXAgZm9yIHRoZSBicmFuZCB0aGVtZSBjb2xvcnNcbkBlYWNoICRmaWxsLW1vZGUsICR1aS1zdGF0ZXMgaW4gJF90Yy1icmFuZC1tYXRyaXgge1xuICAgIEBlYWNoICRicmFuZC1jb2xvciBpbiAka2VuZG8tY2hpcC1icmFuZC1jb2xvcnMge1xuICAgICAgICAka2VuZG8tY2hpcC10aGVtZS1jb2xvcnM6IG1hcC5kZWVwLW1lcmdlKFxuICAgICAgICAgICAgJGtlbmRvLWNoaXAtdGhlbWUtY29sb3JzLFxuICAgICAgICAgICAgay1nZW5lcmF0ZS1maWxsLW1vZGUtdGhlbWUtdmFyaWF0aW9uKCAkZmlsbC1tb2RlLCAkYnJhbmQtY29sb3IsICRicmFuZC1jb2xvciwgJHVpLXN0YXRlcyApXG4gICAgICAgIClcbiAgICB9XG59XG5cbi8vIE1hcCBmb3IgdGhlIHdhcm5pbmcgdGhlbWUgY29sb3JcbkBlYWNoICRmaWxsLW1vZGUsICR1aS1zdGF0ZXMgaW4gJF90Yy13YXJuaW5nLW1hdHJpeCB7XG4gICAgJGtlbmRvLWNoaXAtdGhlbWUtY29sb3JzOiBtYXAuZGVlcC1tZXJnZShcbiAgICAgICAgJGtlbmRvLWNoaXAtdGhlbWUtY29sb3JzLFxuICAgICAgICBrLWdlbmVyYXRlLWZpbGwtbW9kZS10aGVtZS12YXJpYXRpb24oICRmaWxsLW1vZGUsIHdhcm5pbmcsIHdhcm5pbmcsICR1aS1zdGF0ZXMgKVxuICAgICk7XG59XG5cblxuLy8gQ2hpcCBMaXN0XG5cbi8vLyBUaGUgc2l6ZXMgb2YgdGhlIENoaXAgbGlzdC5cbi8vLyBAZ3JvdXAgY2hpcFxuJGtlbmRvLWNoaXAtbGlzdC1zaXplczogKFxuICAgIHNtOiBrLXNwYWNpbmcoMSksXG4gICAgbWQ6IGstc3BhY2luZygxKSxcbiAgICBsZzogay1zcGFjaW5nKDEpXG4pICFkZWZhdWx0O1xuIiwiQHVzZSBcInNhc3M6bWFwXCI7XG5AdXNlIFwiLi4vY29yZS9faW5kZXguc2Nzc1wiIGFzICo7XG5AdXNlIFwiLi9fdmFyaWFibGVzLnNjc3NcIiBhcyAqO1xuXG5AbWl4aW4ga2VuZG8tY2hpcC0tdGhlbWUoKSB7XG5cbiAgICAuay1jaGlwIHtcbiAgICAgICAgLS1JTlRFUk5BTC1rZW5kby1jaGlwLXRleHQ6IHZhciggLS1rZW5kby1jaGlwLXRleHQgKTtcbiAgICAgICAgLS1JTlRFUk5BTC1rZW5kby1jaGlwLWJnOiB2YXIoIC0ta2VuZG8tY2hpcC1iZyApO1xuICAgICAgICAtLUlOVEVSTkFMLWtlbmRvLWNoaXAtYm9yZGVyOiB2YXIoIC0ta2VuZG8tY2hpcC1ib3JkZXIgKTtcblxuICAgICAgICBib3JkZXItY29sb3I6IHZhciggLS1JTlRFUk5BTC1rZW5kby1jaGlwLWJvcmRlciwgaW5pdGlhbCApO1xuICAgICAgICBjb2xvcjogdmFyKCAtLUlOVEVSTkFMLWtlbmRvLWNoaXAtdGV4dCwgaW5pdGlhbCApO1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoIC0tSU5URVJOQUwta2VuZG8tY2hpcC1iZywgaW5pdGlhbCApO1xuXG4gICAgICAgICY6aG92ZXIsXG4gICAgICAgICYuay1ob3ZlciB7XG4gICAgICAgICAgICAtLUlOVEVSTkFMLWtlbmRvLWNoaXAtdGV4dDogdmFyKCAtLWtlbmRvLWNoaXAtaG92ZXItdGV4dCApO1xuICAgICAgICAgICAgLS1JTlRFUk5BTC1rZW5kby1jaGlwLWJnOiB2YXIoIC0ta2VuZG8tY2hpcC1ob3Zlci1iZyApO1xuICAgICAgICAgICAgLS1JTlRFUk5BTC1rZW5kby1jaGlwLWJvcmRlcjogdmFyKCAtLWtlbmRvLWNoaXAtaG92ZXItYm9yZGVyICk7XG4gICAgICAgIH1cblxuICAgICAgICAmOmZvY3VzLFxuICAgICAgICAmLmstZm9jdXMge1xuICAgICAgICAgICAgLS1JTlRFUk5BTC1rZW5kby1jaGlwLXRleHQ6IHZhciggLS1rZW5kby1jaGlwLWZvY3VzLXRleHQgKTtcbiAgICAgICAgICAgIC0tSU5URVJOQUwta2VuZG8tY2hpcC1iZzogdmFyKCAtLWtlbmRvLWNoaXAtZm9jdXMtYmcgKTtcbiAgICAgICAgICAgIC0tSU5URVJOQUwta2VuZG8tY2hpcC1ib3JkZXI6IHZhciggLS1rZW5kby1jaGlwLWZvY3VzLWJvcmRlciApO1xuICAgICAgICB9XG5cbiAgICAgICAgJi5rLWNoaXAtb3V0bGluZTpmb2N1czo6YWZ0ZXIsXG4gICAgICAgICYuay1jaGlwLW91dGxpbmUuay1mb2N1czo6YWZ0ZXIge1xuICAgICAgICAgICAgb3V0bGluZS1jb2xvcjogdmFyKCAtLWtlbmRvLWNoaXAtZm9jdXMtb3V0bGluZSwgaW5pdGlhbCk7XG4gICAgICAgIH1cblxuICAgICAgICAmLmstc2VsZWN0ZWQge1xuICAgICAgICAgICAgLS1JTlRFUk5BTC1rZW5kby1jaGlwLXRleHQ6IHZhciggLS1rZW5kby1jaGlwLXNlbGVjdGVkLXRleHQgKTtcbiAgICAgICAgICAgIC0tSU5URVJOQUwta2VuZG8tY2hpcC1iZzogdmFyKCAtLWtlbmRvLWNoaXAtc2VsZWN0ZWQtYmcgKTtcbiAgICAgICAgICAgIC0tSU5URVJOQUwta2VuZG8tY2hpcC1ib3JkZXI6IHZhciggLS1rZW5kby1jaGlwLXNlbGVjdGVkLWJvcmRlciApO1xuICAgICAgICB9XG5cbiAgICAgICAgJjpkaXNhYmxlZCxcbiAgICAgICAgJi5rLWRpc2FibGVkIHtcbiAgICAgICAgICAgIC0tSU5URVJOQUwta2VuZG8tY2hpcC10ZXh0OiB2YXIoIC0ta2VuZG8tY2hpcC1kaXNhYmxlZC10ZXh0ICk7XG4gICAgICAgICAgICAtLUlOVEVSTkFMLWtlbmRvLWNoaXAtYmc6IHZhciggLS1rZW5kby1jaGlwLWRpc2FibGVkLWJnICk7XG4gICAgICAgICAgICAtLUlOVEVSTkFMLWtlbmRvLWNoaXAtYm9yZGVyOiB2YXIoIC0ta2VuZG8tY2hpcC1kaXNhYmxlZC1ib3JkZXIgKTtcbiAgICAgICAgfVxuXG4gICAgfVxuXG4gICAgQGVhY2ggJGZpbGwtbW9kZSwgJHRoZW1lLWNvbG9ycyBpbiAka2VuZG8tY2hpcC10aGVtZS1jb2xvcnMge1xuICAgICAgICBAZWFjaCAkdGhlbWUtY29sb3IsICRjb2xvci1wcm9wcyBpbiAkdGhlbWUtY29sb3JzIHtcbiAgICAgICAgICAgICRfdGV4dC1jb2xvcjogbWFwLmdldCggJGNvbG9yLXByb3BzLCB0ZXh0ICk7XG4gICAgICAgICAgICAkX2JnOiBtYXAuZ2V0KCAkY29sb3ItcHJvcHMsIGJnICk7XG4gICAgICAgICAgICAkX2JvcmRlci1jb2xvcjogbWFwLmdldCggJGNvbG9yLXByb3BzLCBib3JkZXIgKTtcblxuICAgICAgICAgICAgJF9ob3Zlci10ZXh0OiBtYXAuZ2V0KCAkY29sb3ItcHJvcHMsIGhvdmVyLXRleHQgKTtcbiAgICAgICAgICAgICRfaG92ZXItYmc6IG1hcC5nZXQoICRjb2xvci1wcm9wcywgaG92ZXItYmcgKTtcbiAgICAgICAgICAgICRfaG92ZXItYm9yZGVyOiBtYXAuZ2V0KCAkY29sb3ItcHJvcHMsIGhvdmVyLWJvcmRlciApO1xuXG4gICAgICAgICAgICAkX2ZvY3VzLXRleHQ6IG1hcC5nZXQoICRjb2xvci1wcm9wcywgZm9jdXMtdGV4dCApO1xuICAgICAgICAgICAgJF9mb2N1cy1iZzogbWFwLmdldCggJGNvbG9yLXByb3BzLCBmb2N1cy1iZyApO1xuICAgICAgICAgICAgJF9mb2N1cy1ib3JkZXI6IG1hcC5nZXQoICRjb2xvci1wcm9wcywgZm9jdXMtYm9yZGVyICk7XG4gICAgICAgICAgICAkX2ZvY3VzLW91dGxpbmU6IG1hcC5nZXQoICRjb2xvci1wcm9wcywgZm9jdXMtb3V0bGluZSApO1xuXG4gICAgICAgICAgICAkX3NlbGVjdGVkLXRleHQ6IG1hcC5nZXQoICRjb2xvci1wcm9wcywgc2VsZWN0ZWQtdGV4dCApO1xuICAgICAgICAgICAgJF9zZWxlY3RlZC1iZzogbWFwLmdldCggJGNvbG9yLXByb3BzLCBzZWxlY3RlZC1iZyApO1xuICAgICAgICAgICAgJF9zZWxlY3RlZC1ib3JkZXI6IG1hcC5nZXQoICRjb2xvci1wcm9wcywgc2VsZWN0ZWQtYm9yZGVyICk7XG5cbiAgICAgICAgICAgICRfZGlzYWJsZWQtdGV4dDogbWFwLmdldCggJGNvbG9yLXByb3BzLCBkaXNhYmxlZC10ZXh0ICk7XG4gICAgICAgICAgICAkX2Rpc2FibGVkLWJnOiBtYXAuZ2V0KCAkY29sb3ItcHJvcHMsIGRpc2FibGVkLWJnICk7XG4gICAgICAgICAgICAkX2Rpc2FibGVkLWJvcmRlcjogbWFwLmdldCggJGNvbG9yLXByb3BzLCBkaXNhYmxlZC1ib3JkZXIgKTtcblxuICAgICAgICAgICAgLmstY2hpcC0jeyRmaWxsLW1vZGV9LSN7JHRoZW1lLWNvbG9yfSB7XG4gICAgICAgICAgICAgICAgLS1rZW5kby1jaGlwLXRleHQ6IHZhciggLS1rZW5kby1jaGlwLSN7JGZpbGwtbW9kZX0tI3skdGhlbWUtY29sb3J9LXRleHQsICN7JF90ZXh0LWNvbG9yfSApO1xuICAgICAgICAgICAgICAgIC0ta2VuZG8tY2hpcC1iZzogdmFyKCAtLWtlbmRvLWNoaXAtI3skZmlsbC1tb2RlfS0jeyR0aGVtZS1jb2xvcn0tYmcsICN7JF9iZ30gKTtcbiAgICAgICAgICAgICAgICAtLWtlbmRvLWNoaXAtYm9yZGVyOiB2YXIoIC0ta2VuZG8tY2hpcC0jeyRmaWxsLW1vZGV9LSN7JHRoZW1lLWNvbG9yfS1ib3JkZXIsICN7JF9ib3JkZXItY29sb3J9ICk7XG5cbiAgICAgICAgICAgICAgICAtLWtlbmRvLWNoaXAtaG92ZXItdGV4dDogdmFyKCAtLWtlbmRvLWNoaXAtI3skZmlsbC1tb2RlfS0jeyR0aGVtZS1jb2xvcn0taG92ZXItdGV4dCwgI3skX2hvdmVyLXRleHR9ICk7XG4gICAgICAgICAgICAgICAgLS1rZW5kby1jaGlwLWhvdmVyLWJnOiB2YXIoIC0ta2VuZG8tY2hpcC0jeyRmaWxsLW1vZGV9LSN7JHRoZW1lLWNvbG9yfS1ob3Zlci1iZywgI3skX2hvdmVyLWJnfSApO1xuICAgICAgICAgICAgICAgIC0ta2VuZG8tY2hpcC1ob3Zlci1ib3JkZXI6IHZhciggLS1rZW5kby1jaGlwLSN7JGZpbGwtbW9kZX0tI3skdGhlbWUtY29sb3J9LWhvdmVyLWJvcmRlciwgI3skX2hvdmVyLWJvcmRlcn0gKTtcblxuICAgICAgICAgICAgICAgIC0ta2VuZG8tY2hpcC1mb2N1cy10ZXh0OiB2YXIoIC0ta2VuZG8tY2hpcC0jeyRmaWxsLW1vZGV9LSN7JHRoZW1lLWNvbG9yfS1mb2N1cy10ZXh0LCAjeyRfZm9jdXMtdGV4dH0gKTtcbiAgICAgICAgICAgICAgICAtLWtlbmRvLWNoaXAtZm9jdXMtYmc6IHZhciggLS1rZW5kby1jaGlwLSN7JGZpbGwtbW9kZX0tI3skdGhlbWUtY29sb3J9LWZvY3VzLWJnLCAjeyRfZm9jdXMtYmd9ICk7XG4gICAgICAgICAgICAgICAgLS1rZW5kby1jaGlwLWZvY3VzLWJvcmRlcjogdmFyKCAtLWtlbmRvLWNoaXAtI3skZmlsbC1tb2RlfS0jeyR0aGVtZS1jb2xvcn0tZm9jdXMtYm9yZGVyLCAjeyRfZm9jdXMtYm9yZGVyfSApO1xuICAgICAgICAgICAgICAgIC0ta2VuZG8tY2hpcC1mb2N1cy1vdXRsaW5lOiB2YXIoIC0ta2VuZG8tY2hpcC0jeyRmaWxsLW1vZGV9LSN7JHRoZW1lLWNvbG9yfS1mb2N1cy1vdXRsaW5lLCAjeyRfZm9jdXMtb3V0bGluZX0gKTtcblxuICAgICAgICAgICAgICAgIC0ta2VuZG8tY2hpcC1zZWxlY3RlZC10ZXh0OiB2YXIoIC0ta2VuZG8tY2hpcC0jeyRmaWxsLW1vZGV9LSN7JHRoZW1lLWNvbG9yfS1zZWxlY3RlZC10ZXh0LCAjeyRfc2VsZWN0ZWQtdGV4dH0gKTtcbiAgICAgICAgICAgICAgICAtLWtlbmRvLWNoaXAtc2VsZWN0ZWQtYmc6IHZhciggLS1rZW5kby1jaGlwLSN7JGZpbGwtbW9kZX0tI3skdGhlbWUtY29sb3J9LXNlbGVjdGVkLWJnLCAjeyRfc2VsZWN0ZWQtYmd9ICk7XG4gICAgICAgICAgICAgICAgLS1rZW5kby1jaGlwLXNlbGVjdGVkLWJvcmRlcjogdmFyKCAtLWtlbmRvLWNoaXAtI3skZmlsbC1tb2RlfS0jeyR0aGVtZS1jb2xvcn0tc2VsZWN0ZWQtYm9yZGVyLCAjeyRfc2VsZWN0ZWQtYm9yZGVyfSApO1xuXG4gICAgICAgICAgICAgICAgLS1rZW5kby1jaGlwLWRpc2FibGVkLXRleHQ6IHZhciggLS1rZW5kby1jaGlwLSN7JGZpbGwtbW9kZX0tI3skdGhlbWUtY29sb3J9LWRpc2FibGVkLXRleHQsICN7JF9kaXNhYmxlZC10ZXh0fSApO1xuICAgICAgICAgICAgICAgIC0ta2VuZG8tY2hpcC1kaXNhYmxlZC1iZzogdmFyKCAtLWtlbmRvLWNoaXAtI3skZmlsbC1tb2RlfS0jeyR0aGVtZS1jb2xvcn0tZGlzYWJsZWQtYmcsICN7JF9kaXNhYmxlZC1iZ30gKTtcbiAgICAgICAgICAgICAgICAtLWtlbmRvLWNoaXAtZGlzYWJsZWQtYm9yZGVyOiB2YXIoIC0ta2VuZG8tY2hpcC0jeyRmaWxsLW1vZGV9LSN7JHRoZW1lLWNvbG9yfS1kaXNhYmxlZC1ib3JkZXIsICN7JF9kaXNhYmxlZC1ib3JkZXJ9ICk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbn1cbiIsIkB1c2UgXCIuLi9jb3JlL19pbmRleC5zY3NzXCIgYXMgKjtcbkB1c2UgXCIuL192YXJpYWJsZXMuc2Nzc1wiIGFzICo7XG5cbkBtaXhpbiBrZW5kby1jb2xvci1wcmV2aWV3LS1sYXlvdXQoKSB7XG5cbiAgICAvLyBDb2xvciBQcmV2aWV3XG4gICAgLmstY29sb3ItcHJldmlldyB7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgIGJvcmRlci13aWR0aDogdmFyKCAtLWtlbmRvLWNvbG9yLXByZXZpZXctYm9yZGVyLXdpZHRoLCAjeyRrZW5kby1jb2xvci1wcmV2aWV3LWJvcmRlci13aWR0aH0gKTtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogdmFyKCAtLWtlbmRvLWNvbG9yLXByZXZpZXctYm9yZGVyLXJhZGl1cywgI3ska2VuZG8tY29sb3ItcHJldmlldy1ib3JkZXItcmFkaXVzfSApO1xuICAgICAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgICAgICBib3JkZXItc3R5bGU6IHNvbGlkO1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgICAgICAgZmxleC1mbG93OiByb3cgbm93cmFwO1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIG92ZXJmbG93OiBoaWRkZW47XG5cbiAgICAgICAgKixcbiAgICAgICAgKjo6YmVmb3JlLFxuICAgICAgICAqOjphZnRlciB7XG4gICAgICAgICAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLy8gQ3VycmVudCBDb2xvclxuICAgIC5rLWNvbG9yZWRpdG9yLWN1cnJlbnQtY29sb3Ige1xuICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgfVxuXG4gICAgLy8gSWNvbiBjb2xvciBwcmV2aWV3XG4gICAgLmstaWNvbi1jb2xvci1wcmV2aWV3IHtcbiAgICAgICAgYm9yZGVyLXdpZHRoOiAwO1xuICAgICAgICBib3JkZXItcmFkaXVzOiAwO1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBmbGV4LWZsb3c6IGNvbHVtbiBub3dyYXA7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgICBnYXA6IDJweDtcblxuICAgICAgICAuay1jb2xvci1wcmV2aWV3LW1hc2sge1xuICAgICAgICAgICAgd2lkdGg6IHZhciggLS1rZW5kby1pY29uLXNpemUsIDFyZW0gKTtcbiAgICAgICAgICAgIGhlaWdodDogM3B4O1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLy8gQ29sb3IgUHJldmlldyBNYXNrXG4gICAgLmstY29sb3ItcHJldmlldy1tYXNrIHtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIG1pbi13aWR0aDogdmFyKCAtLWtlbmRvLWljb24tc2l6ZSwgMXJlbSApO1xuICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB9XG4gICAgLmstY29sb3ItcHJldmlldy1tYXNrOjpiZWZvcmUge1xuICAgICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHRvcDogMDtcbiAgICAgICAgbGVmdDogMDtcbiAgICAgICAgei1pbmRleDogLTE7XG4gICAgICAgIGJhY2tncm91bmQ6IHZhciggLS1rZW5kby1jb2xvci1wcmV2aWV3LXRyYW5zcGFyZW50LWNvbG9yLWltYWdlLCAjeyRrZW5kby1jb2xvci1wcmV2aWV3LXRyYW5zcGFyZW50LWNvbG9yLWltYWdlfSApO1xuICAgICAgICBiYWNrZ3JvdW5kLXNpemU6IGNvbnRhaW47XG4gICAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IDAgMDtcbiAgICB9XG5cbiAgICAvLyBObyBDb2xvclxuICAgIC5rLW5vLWNvbG9yIC5rLWNvbG9yLXByZXZpZXctbWFzazo6YmVmb3JlIHtcbiAgICAgICAgY29udGVudDogXCJcIjtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKCAtLWtlbmRvLWNvbG9yLXByZXZpZXctbm8tY29sb3ItYmcsICN7JGtlbmRvLWNvbG9yLXByZXZpZXctbm8tY29sb3ItYmd9ICk7XG4gICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHZhciggLS1rZW5kby1jb2xvci1wcmV2aWV3LW5vLWNvbG9yLWltYWdlLCAjeyRrZW5kby1jb2xvci1wcmV2aWV3LW5vLWNvbG9yLWltYWdlfSApO1xuICAgICAgICBiYWNrZ3JvdW5kLXNpemU6IDEwMCUgMTAwJTtcbiAgICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogMCAwO1xuICAgIH1cblxufVxuIiwiQHVzZSBcIi4uL2NvcmUvX2luZGV4LnNjc3NcIiBhcyAqO1xuQHVzZSBcIi4vX3ZhcmlhYmxlcy5zY3NzXCIgYXMgKjtcblxuQG1peGluIGtlbmRvLWNvbG9yLXByZXZpZXctLXRoZW1lKCkge1xuXG4gICAgLy8gQ29sb3IgUHJldmlld1xuICAgIC5rLWNvbG9yLXByZXZpZXcge1xuICAgICAgICBAaW5jbHVkZSBmaWxsKFxuICAgICAgICAgICAgdmFyKCAtLWtlbmRvLWNvbG9yLXByZXZpZXctdGV4dCwgI3ska2VuZG8tY29sb3ItcHJldmlldy10ZXh0fSApLFxuICAgICAgICAgICAgdmFyKCAtLWtlbmRvLWNvbG9yLXByZXZpZXctYmcsICN7JGtlbmRvLWNvbG9yLXByZXZpZXctYmd9ICksXG4gICAgICAgICAgICB2YXIoIC0ta2VuZG8tY29sb3ItcHJldmlldy1ib3JkZXIsICN7JGtlbmRvLWNvbG9yLXByZXZpZXctYm9yZGVyfSApXG4gICAgICAgICk7XG5cbiAgICAgICAgJjpob3ZlcixcbiAgICAgICAgJi5rLWhvdmVyIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGZpbGwoXG4gICAgICAgICAgICAgICAgJGJvcmRlcjogdmFyKCAtLWtlbmRvLWNvbG9yLXByZXZpZXctaG92ZXItYm9yZGVyLCAjeyRrZW5kby1jb2xvci1wcmV2aWV3LWhvdmVyLWJvcmRlcn0gKVxuICAgICAgICAgICAgKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8vIE1hc2tcbiAgICBbZGlzYWJsZWRdLFxuICAgIC5rLWRpc2FibGVkIHtcbiAgICAgICAgLmstY29sb3ItcHJldmlldy1tYXNrOjpiZWZvcmUge1xuICAgICAgICAgICAgQGluY2x1ZGUgZmlsbChcbiAgICAgICAgICAgICAgICAkYmc6IHZhciggLS1rZW5kby1kaXNhYmxlZC1iZyApXG4gICAgICAgICAgICApO1xuICAgICAgICB9XG4gICAgfVxuXG59XG4iLCJAdXNlIFwic2FzczptYXRoXCI7XG5AdXNlIFwiLi9fdmFyaWFibGVzLnNjc3NcIiBhcyAqO1xuQHVzZSBcIi4uL292ZXJsYXkvX3ZhcmlhYmxlcy5zY3NzXCIgYXMgKjtcblxuQG1peGluIGtlbmRvLWxvYWRlci0tbGF5b3V0KCkge1xuXG4gICAgLmstbG9hZGVyIHtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gICAgICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG5cbiAgICAgICAgLy8gUHJldmVudHMgdGhlIGlubGluZSBlbGVtZW50cyBmcm9tIGJlaW5nIGRpc3BsYWNlZC5cbiAgICAgICAgLy8gQSBnb29kIGV4YW1wbGUgaXMgdGhlICdwdWxzaW5nJyBsb2FkZXIgaW5zaWRlIGEgYnV0dG9uLlxuICAgICAgICBsaW5lLWhlaWdodDogMDtcbiAgICB9XG5cbiAgICAuay1sb2FkZXItY2FudmFzIHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIH1cblxuICAgIC8vIExvYWRlciBzZWdtZW50XG4gICAgLmstbG9hZGVyLXNlZ21lbnQge1xuICAgICAgICBib3JkZXItcmFkaXVzOiB2YXIoIC0ta2VuZG8tbG9hZGVyLXNlZ21lbnQtYm9yZGVyLXJhZGl1cywgI3ska2VuZG8tbG9hZGVyLXNlZ21lbnQtYm9yZGVyLXJhZGl1c30gKTtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogY3VycmVudENvbG9yO1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgfVxuXG4gICAgLy8gTG9hZGVyIHNpemVzXG4gICAgLmstbG9hZGVyLXNtIHtcbiAgICAgICAgcGFkZGluZy1pbmxpbmU6IHZhciggLS1rZW5kby1sb2FkZXItc20tcGFkZGluZy14LCAjeyRrZW5kby1sb2FkZXItc20tcGFkZGluZy14fSApO1xuICAgICAgICBwYWRkaW5nLWJsb2NrOiB2YXIoIC0ta2VuZG8tbG9hZGVyLXNtLXBhZGRpbmcteSwgI3ska2VuZG8tbG9hZGVyLXNtLXBhZGRpbmcteX0gKTtcblxuICAgICAgICAuay1sb2FkZXItc2VnbWVudCB7XG4gICAgICAgICAgICB3aWR0aDogdmFyKCAtLWtlbmRvLWxvYWRlci1zbS1zZWdtZW50LXNpemUsICN7JGtlbmRvLWxvYWRlci1zbS1zZWdtZW50LXNpemV9ICk7XG4gICAgICAgICAgICBoZWlnaHQ6IHZhciggLS1rZW5kby1sb2FkZXItc20tc2VnbWVudC1zaXplLCAjeyRrZW5kby1sb2FkZXItc20tc2VnbWVudC1zaXplfSApO1xuICAgICAgICB9XG4gICAgfVxuICAgIC5rLWxvYWRlci1tZCB7XG4gICAgICAgIHBhZGRpbmctaW5saW5lOiB2YXIoIC0ta2VuZG8tbG9hZGVyLW1kLXBhZGRpbmcteCwgI3ska2VuZG8tbG9hZGVyLW1kLXBhZGRpbmcteH0gKTtcbiAgICAgICAgcGFkZGluZy1ibG9jazogdmFyKCAtLWtlbmRvLWxvYWRlci1tZC1wYWRkaW5nLXksICN7JGtlbmRvLWxvYWRlci1tZC1wYWRkaW5nLXl9ICk7XG5cbiAgICAgICAgLmstbG9hZGVyLXNlZ21lbnQge1xuICAgICAgICAgICAgd2lkdGg6IHZhciggLS1rZW5kby1sb2FkZXItbWQtc2VnbWVudC1zaXplLCAjeyRrZW5kby1sb2FkZXItbWQtc2VnbWVudC1zaXplfSApO1xuICAgICAgICAgICAgaGVpZ2h0OiB2YXIoIC0ta2VuZG8tbG9hZGVyLW1kLXNlZ21lbnQtc2l6ZSwgI3ska2VuZG8tbG9hZGVyLW1kLXNlZ21lbnQtc2l6ZX0gKTtcbiAgICAgICAgfVxuICAgIH1cbiAgICAuay1sb2FkZXItbGcge1xuICAgICAgICBwYWRkaW5nLWlubGluZTogdmFyKCAtLWtlbmRvLWxvYWRlci1sZy1wYWRkaW5nLXgsICN7JGtlbmRvLWxvYWRlci1sZy1wYWRkaW5nLXh9ICk7XG4gICAgICAgIHBhZGRpbmctYmxvY2s6IHZhciggLS1rZW5kby1sb2FkZXItbGctcGFkZGluZy15LCAjeyRrZW5kby1sb2FkZXItbGctcGFkZGluZy15fSApO1xuXG4gICAgICAgIC5rLWxvYWRlci1zZWdtZW50IHtcbiAgICAgICAgICAgIHdpZHRoOiB2YXIoIC0ta2VuZG8tbG9hZGVyLWxnLXNlZ21lbnQtc2l6ZSwgI3ska2VuZG8tbG9hZGVyLWxnLXNlZ21lbnQtc2l6ZX0gKTtcbiAgICAgICAgICAgIGhlaWdodDogdmFyKCAtLWtlbmRvLWxvYWRlci1sZy1zZWdtZW50LXNpemUsICN7JGtlbmRvLWxvYWRlci1sZy1zZWdtZW50LXNpemV9ICk7XG4gICAgICAgIH1cbiAgICB9XG5cblxuXG4gICAgLy8gUHVsc2luZyAyXG5cbiAgICAvLyBBbmltYXRpb25cbiAgICBAa2V5ZnJhbWVzIHB1bHNpbmctMi1zZWdtZW50IHtcbiAgICAgICAgMCUgeyB0cmFuc2Zvcm06IHNjYWxlKDEpOyB9XG4gICAgICAgIDUwJSB7IHRyYW5zZm9ybTogc2NhbGUoMS41KTsgfVxuICAgICAgICAxMDAlIHsgdHJhbnNmb3JtOiBzY2FsZSgxKTsgfVxuICAgIH1cblxuXG4gICAgLy8gQ29tcG9uZW50XG4gICAgLmstbG9hZGVyLXB1bHNpbmctMiB7XG5cbiAgICAgICAgLmstbG9hZGVyLWNhbnZhcyB7XG4gICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICB9XG5cbiAgICAgICAgLmstbG9hZGVyLXNlZ21lbnQ6bnRoLWNoaWxkKDEpIHtcbiAgICAgICAgICAgIGxlZnQ6IDA7XG4gICAgICAgICAgICB0cmFuc2Zvcm06IHNjYWxlKCAxLjUgKTtcbiAgICAgICAgICAgIHRyYW5zZm9ybS1vcmlnaW46IDAgNTAlO1xuICAgICAgICAgICAgYW5pbWF0aW9uOiBwdWxzaW5nLTItc2VnbWVudCAxcyBlYXNlIGluZmluaXRlO1xuICAgICAgICAgICAgYW5pbWF0aW9uLWRlbGF5OiAtLjVzO1xuICAgICAgICB9XG4gICAgICAgIC5rLWxvYWRlci1zZWdtZW50Om50aC1jaGlsZCgyKSB7XG4gICAgICAgICAgICByaWdodDogMDtcbiAgICAgICAgICAgIHRyYW5zZm9ybS1vcmlnaW46IDEwMCUgNTAlO1xuICAgICAgICAgICAgYW5pbWF0aW9uOiBwdWxzaW5nLTItc2VnbWVudCAxcyBlYXNlIGluZmluaXRlO1xuICAgICAgICB9XG5cbiAgICAgICAgJi5rLWxvYWRlci1zbSB7XG4gICAgICAgICAgICAuay1sb2FkZXItY2FudmFzIHtcbiAgICAgICAgICAgICAgICB3aWR0aDogY2FsYyggdmFyKCAtLWtlbmRvLWxvYWRlci1zbS1zZWdtZW50LXNpemUsICN7JGtlbmRvLWxvYWRlci1zbS1zZWdtZW50LXNpemV9ICkgKiAzICk7XG4gICAgICAgICAgICAgICAgaGVpZ2h0OiBjYWxjKCB2YXIoIC0ta2VuZG8tbG9hZGVyLXNtLXNlZ21lbnQtc2l6ZSwgI3ska2VuZG8tbG9hZGVyLXNtLXNlZ21lbnQtc2l6ZX0gKSAqIDEuNSApO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgJi5rLWxvYWRlci1tZCB7XG4gICAgICAgICAgICAuay1sb2FkZXItY2FudmFzIHtcbiAgICAgICAgICAgICAgICB3aWR0aDogY2FsYyggdmFyKCAtLWtlbmRvLWxvYWRlci1tZC1zZWdtZW50LXNpemUsICN7JGtlbmRvLWxvYWRlci1tZC1zZWdtZW50LXNpemV9ICkgKiAzICk7XG4gICAgICAgICAgICAgICAgaGVpZ2h0OiBjYWxjKCB2YXIoIC0ta2VuZG8tbG9hZGVyLW1kLXNlZ21lbnQtc2l6ZSwgI3ska2VuZG8tbG9hZGVyLW1kLXNlZ21lbnQtc2l6ZX0gKSAqIDEuNSApO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgJi5rLWxvYWRlci1sZyB7XG4gICAgICAgICAgICAuay1sb2FkZXItY2FudmFzIHtcbiAgICAgICAgICAgICAgICB3aWR0aDogY2FsYyggdmFyKCAtLWtlbmRvLWxvYWRlci1sZy1zZWdtZW50LXNpemUsICN7JGtlbmRvLWxvYWRlci1sZy1zZWdtZW50LXNpemV9ICkgKiAzICk7XG4gICAgICAgICAgICAgICAgaGVpZ2h0OiBjYWxjKCB2YXIoIC0ta2VuZG8tbG9hZGVyLWxnLXNlZ21lbnQtc2l6ZSwgI3ska2VuZG8tbG9hZGVyLWxnLXNlZ21lbnQtc2l6ZX0gKSAqIDEuNSApO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG5cblxuICAgIC8vIFNwaW5uZXIgM1xuXG4gICAgLy8gQW5pbWF0aW9uXG4gICAgQGtleWZyYW1lcyBzcGlubmVyLTMtc2VnbWVudCB7XG4gICAgICAgIDAlIHtcbiAgICAgICAgICAgIHRvcDogMDtcbiAgICAgICAgICAgIGxlZnQ6IDUwJTtcbiAgICAgICAgfVxuXG4gICAgICAgIDMzLjMzMzMlIHtcbiAgICAgICAgICAgIHRvcDogMTAwJTtcbiAgICAgICAgICAgIGxlZnQ6IDA7XG4gICAgICAgIH1cblxuICAgICAgICA2Ni42NjY2JSB7XG4gICAgICAgICAgICB0b3A6IDEwMCU7XG4gICAgICAgICAgICBsZWZ0OiAxMDAlO1xuICAgICAgICB9XG5cbiAgICAgICAgMTAwJSB7XG4gICAgICAgICAgICB0b3A6IDA7XG4gICAgICAgICAgICBsZWZ0OiA1MCU7XG4gICAgICAgIH1cbiAgICB9XG5cblxuICAgIC8vIENvbXBvbmVudFxuICAgIC5rLWxvYWRlci1zcGlubmVyLTMge1xuXG4gICAgICAgIC8vIE5vdGU6IFVudGlsIHdlIGNhbiBwcm92aWRlIGEgY3NzIHZhcmlhYmxlcyBzb2x1dGlvbiwgb3Igc29tZXRoaW5nIGJldHRlcjpcbiAgICAgICAgLy8gKiB0aGUgZG90IGNlbnRlciBpcyBvbiB0aGUgZXhhY3QgcG9pbnQgb2YgYW5nbGVcbiAgICAgICAgLy8gKiBvZmZzZXQgZG90cyBieSBhcnRpZmljYWxseSByZWR1Y2UgZGltZW50aW9ucyBieSAxIGRvdCBzaXplXG4gICAgICAgIC8vICogY29tcGVuc2F0ZSBieSBzZXR0aW5nIG1hcmdpbiBvbiBhbGwgc2lkZXMgaGFsZiBhIGRvdCBzaXplXG5cbiAgICAgICAgLmstbG9hZGVyLXNlZ21lbnQge1xuICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoIC01MCUsIC01MCUgKTtcbiAgICAgICAgfVxuICAgICAgICAuay1sb2FkZXItc2VnbWVudDpudGgtY2hpbGQoMSkge1xuICAgICAgICAgICAgdG9wOiAwO1xuICAgICAgICAgICAgbGVmdDogNTAlO1xuICAgICAgICAgICAgYW5pbWF0aW9uOiBzcGlubmVyLTMtc2VnbWVudCAycyBlYXNlIGluZmluaXRlO1xuICAgICAgICB9XG4gICAgICAgIC5rLWxvYWRlci1zZWdtZW50Om50aC1jaGlsZCgyKSB7XG4gICAgICAgICAgICB0b3A6IDEwMCU7XG4gICAgICAgICAgICBsZWZ0OiAwO1xuICAgICAgICAgICAgYW5pbWF0aW9uOiBzcGlubmVyLTMtc2VnbWVudCAycyBlYXNlIGluZmluaXRlO1xuICAgICAgICAgICAgYW5pbWF0aW9uLWRlbGF5OiBtYXRoLmRpdiggLTJzLCAzICk7XG4gICAgICAgIH1cbiAgICAgICAgLmstbG9hZGVyLXNlZ21lbnQ6bnRoLWNoaWxkKDMpIHtcbiAgICAgICAgICAgIHRvcDogMTAwJTtcbiAgICAgICAgICAgIGxlZnQ6IDEwMCU7XG4gICAgICAgICAgICBhbmltYXRpb246IHNwaW5uZXItMy1zZWdtZW50IDJzIGVhc2UgaW5maW5pdGU7XG4gICAgICAgICAgICBhbmltYXRpb24tZGVsYXk6IG1hdGguZGl2KCAtNHMsIDMgKTtcbiAgICAgICAgfVxuXG5cbiAgICAgICAgJi5rLWxvYWRlci1zbSB7XG4gICAgICAgICAgICAuay1sb2FkZXItY2FudmFzIHtcbiAgICAgICAgICAgICAgICAtLUlOVEVSTkFMLS1rZW5kby1sb2FkZXItY2FudmFzLXdpZHRoOiB2YXIoIC0ta2VuZG8tbG9hZGVyLXNtLXNwaW5uZXItMy13aWR0aCwgI3ska2VuZG8tbG9hZGVyLXNtLXNwaW5uZXItMy13aWR0aH0gKTtcbiAgICAgICAgICAgICAgICAtLUlOVEVSTkFMLS1rZW5kby1sb2FkZXItY2FudmFzLWhlaWdodDogdmFyKCAtLWtlbmRvLWxvYWRlci1zbS1zcGlubmVyLTMtaGVpZ2h0LCAjeyRrZW5kby1sb2FkZXItc20tc3Bpbm5lci0zLWhlaWdodH0gKTtcbiAgICAgICAgICAgICAgICAtLUlOVEVSTkFMLS1rZW5kby1sb2FkZXItY2FudmFzLXNpemU6ICB2YXIoIC0ta2VuZG8tbG9hZGVyLXNtLXNlZ21lbnQtc2l6ZSwgI3ska2VuZG8tbG9hZGVyLXNtLXNlZ21lbnQtc2l6ZX0gKTtcbiAgICAgICAgICAgICAgICBtYXJnaW46IGNhbGMoIHZhciggLS1rZW5kby1sb2FkZXItc20tc2VnbWVudC1zaXplLCAjeyRrZW5kby1sb2FkZXItc20tc2VnbWVudC1zaXplfSApIC8gMiApO1xuICAgICAgICAgICAgICAgIHdpZHRoOiBjYWxjKCB2YXIoIC0tSU5URVJOQUwtLWtlbmRvLWxvYWRlci1jYW52YXMtd2lkdGggKSAtIHZhciggLS1JTlRFUk5BTC0ta2VuZG8tbG9hZGVyLWNhbnZhcy1zaXplICkgKTtcbiAgICAgICAgICAgICAgICBoZWlnaHQ6IGNhbGMoIHZhciggLS1JTlRFUk5BTC0ta2VuZG8tbG9hZGVyLWNhbnZhcy1oZWlnaHQgKSAtIHZhciggLS1JTlRFUk5BTC0ta2VuZG8tbG9hZGVyLWNhbnZhcy1zaXplICkgKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgICYuay1sb2FkZXItbWQge1xuICAgICAgICAgICAgLmstbG9hZGVyLWNhbnZhcyB7XG4gICAgICAgICAgICAgICAgLS1JTlRFUk5BTC0ta2VuZG8tbG9hZGVyLWNhbnZhcy13aWR0aDogdmFyKCAtLWtlbmRvLWxvYWRlci1tZC1zcGlubmVyLTMtd2lkdGgsICN7JGtlbmRvLWxvYWRlci1tZC1zcGlubmVyLTMtd2lkdGh9ICk7XG4gICAgICAgICAgICAgICAgLS1JTlRFUk5BTC0ta2VuZG8tbG9hZGVyLWNhbnZhcy1oZWlnaHQ6IHZhciggLS1rZW5kby1sb2FkZXItbWQtc3Bpbm5lci0zLWhlaWdodCwgI3ska2VuZG8tbG9hZGVyLW1kLXNwaW5uZXItMy1oZWlnaHR9ICk7XG4gICAgICAgICAgICAgICAgLS1JTlRFUk5BTC0ta2VuZG8tbG9hZGVyLWNhbnZhcy1zaXplOiAgdmFyKCAtLWtlbmRvLWxvYWRlci1tZC1zZWdtZW50LXNpemUsICN7JGtlbmRvLWxvYWRlci1tZC1zZWdtZW50LXNpemV9ICk7XG4gICAgICAgICAgICAgICAgbWFyZ2luOiBjYWxjKCB2YXIoIC0ta2VuZG8tbG9hZGVyLW1kLXNlZ21lbnQtc2l6ZSwgI3ska2VuZG8tbG9hZGVyLW1kLXNlZ21lbnQtc2l6ZX0gKSAvIDIgKTtcbiAgICAgICAgICAgICAgICB3aWR0aDogY2FsYyggdmFyKCAtLUlOVEVSTkFMLS1rZW5kby1sb2FkZXItY2FudmFzLXdpZHRoICkgLSB2YXIoIC0tSU5URVJOQUwtLWtlbmRvLWxvYWRlci1jYW52YXMtc2l6ZSApICk7XG4gICAgICAgICAgICAgICAgaGVpZ2h0OiBjYWxjKCB2YXIoIC0tSU5URVJOQUwtLWtlbmRvLWxvYWRlci1jYW52YXMtaGVpZ2h0ICkgLSB2YXIoIC0tSU5URVJOQUwtLWtlbmRvLWxvYWRlci1jYW52YXMtc2l6ZSApICk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAmLmstbG9hZGVyLWxnIHtcbiAgICAgICAgICAgIC5rLWxvYWRlci1jYW52YXMge1xuICAgICAgICAgICAgICAgIC0tSU5URVJOQUwtLWtlbmRvLWxvYWRlci1jYW52YXMtd2lkdGg6IHZhciggLS1rZW5kby1sb2FkZXItbGctc3Bpbm5lci0zLXdpZHRoLCAjeyRrZW5kby1sb2FkZXItbGctc3Bpbm5lci0zLXdpZHRofSApO1xuICAgICAgICAgICAgICAgIC0tSU5URVJOQUwtLWtlbmRvLWxvYWRlci1jYW52YXMtaGVpZ2h0OiB2YXIoIC0ta2VuZG8tbG9hZGVyLWxnLXNwaW5uZXItMy1oZWlnaHQsICN7JGtlbmRvLWxvYWRlci1sZy1zcGlubmVyLTMtaGVpZ2h0fSApO1xuICAgICAgICAgICAgICAgIC0tSU5URVJOQUwtLWtlbmRvLWxvYWRlci1jYW52YXMtc2l6ZTogIHZhciggLS1rZW5kby1sb2FkZXItbGctc2VnbWVudC1zaXplLCAjeyRrZW5kby1sb2FkZXItbGctc2VnbWVudC1zaXplfSApO1xuICAgICAgICAgICAgICAgIG1hcmdpbjogY2FsYyggdmFyKCAtLWtlbmRvLWxvYWRlci1sZy1zZWdtZW50LXNpemUsICN7JGtlbmRvLWxvYWRlci1sZy1zZWdtZW50LXNpemV9ICkgLyAyICk7XG4gICAgICAgICAgICAgICAgd2lkdGg6IGNhbGMoIHZhciggLS1JTlRFUk5BTC0ta2VuZG8tbG9hZGVyLWNhbnZhcy13aWR0aCApIC0gdmFyKCAtLUlOVEVSTkFMLS1rZW5kby1sb2FkZXItY2FudmFzLXNpemUgKSApO1xuICAgICAgICAgICAgICAgIGhlaWdodDogY2FsYyggdmFyKCAtLUlOVEVSTkFMLS1rZW5kby1sb2FkZXItY2FudmFzLWhlaWdodCApIC0gdmFyKCAtLUlOVEVSTkFMLS1rZW5kby1sb2FkZXItY2FudmFzLXNpemUgKSApO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG5cblxuICAgIC8vIFNwaW5uZXIgNFxuXG4gICAgLy8gQW5pbWF0aW9uXG4gICAgQGtleWZyYW1lcyBzcGlubmVyLTQtc2VnbWVudC0xIHtcbiAgICAgICAgMCUge1xuICAgICAgICAgICAgdG9wOiA1MCU7XG4gICAgICAgICAgICBsZWZ0OiA1MCU7XG4gICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSkgdHJhbnNsYXRlWSgtNTAlKTtcbiAgICAgICAgfVxuXG4gICAgICAgIDMzLjMlIHtcbiAgICAgICAgICAgIHRvcDogMDtcbiAgICAgICAgICAgIGxlZnQ6IDA7XG4gICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCkgdHJhbnNsYXRlWSgwKTtcbiAgICAgICAgfVxuXG4gICAgICAgIDY2LjYlIHtcbiAgICAgICAgICAgIHRvcDogMDtcbiAgICAgICAgICAgIGxlZnQ6IDA7XG4gICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCkgdHJhbnNsYXRlWSgwKTtcbiAgICAgICAgfVxuXG4gICAgICAgIDEwMCUge1xuICAgICAgICAgICAgdG9wOiA1MCU7XG4gICAgICAgICAgICBsZWZ0OiA1MCU7XG4gICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSkgdHJhbnNsYXRlWSgtNTAlKTtcbiAgICAgICAgfVxuICAgIH1cbiAgICBAa2V5ZnJhbWVzIHNwaW5uZXItNC1zZWdtZW50LTIge1xuICAgICAgICAwJSB7XG4gICAgICAgICAgICB0b3A6IDUwJTtcbiAgICAgICAgICAgIGxlZnQ6IDUwJTtcbiAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKSB0cmFuc2xhdGVZKC01MCUpO1xuICAgICAgICB9XG5cbiAgICAgICAgMzMuMyUge1xuICAgICAgICAgICAgdG9wOiAwO1xuICAgICAgICAgICAgbGVmdDogMTAwJTtcbiAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtMTAwJSkgdHJhbnNsYXRlWSgwKTtcbiAgICAgICAgfVxuXG4gICAgICAgIDY2LjYlIHtcbiAgICAgICAgICAgIHRvcDogMDtcbiAgICAgICAgICAgIGxlZnQ6IDEwMCU7XG4gICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTEwMCUpIHRyYW5zbGF0ZVkoMCk7XG4gICAgICAgIH1cblxuICAgICAgICAxMDAlIHtcbiAgICAgICAgICAgIHRvcDogNTAlO1xuICAgICAgICAgICAgbGVmdDogNTAlO1xuICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpIHRyYW5zbGF0ZVkoLTUwJSk7XG4gICAgICAgIH1cbiAgICB9XG4gICAgQGtleWZyYW1lcyBzcGlubmVyLTQtc2VnbWVudC0zIHtcbiAgICAgICAgMCUge1xuICAgICAgICAgICAgdG9wOiA1MCU7XG4gICAgICAgICAgICBsZWZ0OiA1MCU7XG4gICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSkgdHJhbnNsYXRlWSgtNTAlKTtcbiAgICAgICAgfVxuXG4gICAgICAgIDMzLjMlIHtcbiAgICAgICAgICAgIHRvcDogMTAwJTtcbiAgICAgICAgICAgIGxlZnQ6IDEwMCU7XG4gICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTEwMCUpIHRyYW5zbGF0ZVkoLTEwMCUpO1xuICAgICAgICB9XG5cbiAgICAgICAgNjYuNiUge1xuICAgICAgICAgICAgdG9wOiAxMDAlO1xuICAgICAgICAgICAgbGVmdDogMTAwJTtcbiAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtMTAwJSkgdHJhbnNsYXRlWSgtMTAwJSk7XG4gICAgICAgIH1cblxuICAgICAgICAxMDAlIHtcbiAgICAgICAgICAgIHRvcDogNTAlO1xuICAgICAgICAgICAgbGVmdDogNTAlO1xuICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpIHRyYW5zbGF0ZVkoLTUwJSk7XG4gICAgICAgIH1cbiAgICB9XG4gICAgQGtleWZyYW1lcyBzcGlubmVyLTQtc2VnbWVudC00IHtcbiAgICAgICAgMCUge1xuICAgICAgICAgICAgdG9wOiA1MCU7XG4gICAgICAgICAgICBsZWZ0OiA1MCU7XG4gICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSkgdHJhbnNsYXRlWSgtNTAlKTtcbiAgICAgICAgfVxuXG4gICAgICAgIDMzLjMlIHtcbiAgICAgICAgICAgIHRvcDogMTAwJTtcbiAgICAgICAgICAgIGxlZnQ6IDA7XG4gICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCkgdHJhbnNsYXRlWSgtMTAwJSk7XG4gICAgICAgIH1cblxuICAgICAgICA2Ni42JSB7XG4gICAgICAgICAgICB0b3A6IDEwMCU7XG4gICAgICAgICAgICBsZWZ0OiAwO1xuICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDApIHRyYW5zbGF0ZVkoLTEwMCUpO1xuICAgICAgICB9XG5cbiAgICAgICAgMTAwJSB7XG4gICAgICAgICAgICB0b3A6IDUwJTtcbiAgICAgICAgICAgIGxlZnQ6IDUwJTtcbiAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKSB0cmFuc2xhdGVZKC01MCUpO1xuICAgICAgICB9XG4gICAgfVxuICAgIEBrZXlmcmFtZXMgc3Bpbm5lci00IHtcbiAgICAgICAgMCUge1xuICAgICAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoMCk7XG4gICAgICAgIH1cblxuICAgICAgICAzMy4zJSB7XG4gICAgICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgwKTtcbiAgICAgICAgfVxuXG4gICAgICAgIDY2LjYlIHtcbiAgICAgICAgICAgIHRyYW5zZm9ybTogcm90YXRlKDE4MGRlZyk7XG4gICAgICAgIH1cblxuICAgICAgICAxMDAlIHtcbiAgICAgICAgICAgIHRyYW5zZm9ybTogcm90YXRlKDE4MGRlZyk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAuay1sb2FkZXItc3Bpbm5lci00IHtcbiAgICAgICAgLmstbG9hZGVyLWNhbnZhcyB7XG4gICAgICAgICAgICBhbmltYXRpb246IHNwaW5uZXItNCAxLjgzM3MgZWFzZSBpbmZpbml0ZTtcbiAgICAgICAgfVxuXG4gICAgICAgIC5rLWxvYWRlci1zZWdtZW50IHtcbiAgICAgICAgICAgIHRvcDogNTAlO1xuICAgICAgICAgICAgbGVmdDogNTAlO1xuICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpIHRyYW5zbGF0ZVkoLTUwJSk7XG5cbiAgICAgICAgICAgICY6bnRoLWNoaWxkKDEpIHtcbiAgICAgICAgICAgICAgICBhbmltYXRpb246IHNwaW5uZXItNC1zZWdtZW50LTEgMS44MzNzIGVhc2UgaW5maW5pdGU7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICY6bnRoLWNoaWxkKDIpIHtcbiAgICAgICAgICAgICAgICBhbmltYXRpb246IHNwaW5uZXItNC1zZWdtZW50LTIgMS44MzNzIGVhc2UgaW5maW5pdGU7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICY6bnRoLWNoaWxkKDMpIHtcbiAgICAgICAgICAgICAgICBhbmltYXRpb246IHNwaW5uZXItNC1zZWdtZW50LTMgMS44MzNzIGVhc2UgaW5maW5pdGU7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICY6bnRoLWNoaWxkKDQpIHtcbiAgICAgICAgICAgICAgICBhbmltYXRpb246IHNwaW5uZXItNC1zZWdtZW50LTQgMS44MzNzIGVhc2UgaW5maW5pdGU7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAmLmstbG9hZGVyLXNtIHtcbiAgICAgICAgICAgIC5rLWxvYWRlci1jYW52YXMge1xuICAgICAgICAgICAgICAgIHdpZHRoOiB2YXIoIC0ta2VuZG8tbG9hZGVyLXNtLXNwaW5uZXItNC13aWR0aCwgI3ska2VuZG8tbG9hZGVyLXNtLXNwaW5uZXItNC13aWR0aH0gKTtcbiAgICAgICAgICAgICAgICBoZWlnaHQ6IHZhciggLS1rZW5kby1sb2FkZXItc20tc3Bpbm5lci00LWhlaWdodCwgI3ska2VuZG8tbG9hZGVyLXNtLXNwaW5uZXItNC1oZWlnaHR9ICk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAmLmstbG9hZGVyLW1kIHtcbiAgICAgICAgICAgIC5rLWxvYWRlci1jYW52YXMge1xuICAgICAgICAgICAgICAgIHdpZHRoOiB2YXIoIC0ta2VuZG8tbG9hZGVyLW1kLXNwaW5uZXItNC13aWR0aCwgI3ska2VuZG8tbG9hZGVyLW1kLXNwaW5uZXItNC13aWR0aH0gKTtcbiAgICAgICAgICAgICAgICBoZWlnaHQ6IHZhciggLS1rZW5kby1sb2FkZXItbWQtc3Bpbm5lci00LWhlaWdodCwgI3ska2VuZG8tbG9hZGVyLW1kLXNwaW5uZXItNC1oZWlnaHR9ICk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAmLmstbG9hZGVyLWxnIHtcbiAgICAgICAgICAgIC5rLWxvYWRlci1jYW52YXMge1xuICAgICAgICAgICAgICAgIHdpZHRoOiB2YXIoIC0ta2VuZG8tbG9hZGVyLWxnLXNwaW5uZXItNC13aWR0aCwgI3ska2VuZG8tbG9hZGVyLWxnLXNwaW5uZXItNC13aWR0aH0gKTtcbiAgICAgICAgICAgICAgICBoZWlnaHQ6IHZhciggLS1rZW5kby1sb2FkZXItbGctc3Bpbm5lci00LWhlaWdodCwgI3ska2VuZG8tbG9hZGVyLWxnLXNwaW5uZXItNC1oZWlnaHR9ICk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cblxuXG4gICAgLy8gTG9hZGVyIENvbnRhaW5lclxuICAgIC5rLWxvYWRlci1jb250YWluZXIge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgICAgei1pbmRleDogMjAwMDE7XG5cbiAgICAgICAgLmstbG9hZGVyIHtcbiAgICAgICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAuay1sb2FkZXItY29udGFpbmVyLFxuICAgIC5rLWxvYWRlci1jb250YWluZXItb3ZlcmxheSB7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgdG9wOiAwO1xuICAgICAgICByaWdodDogMDtcbiAgICAgICAgYm90dG9tOiAwO1xuICAgICAgICBsZWZ0OiAwO1xuICAgIH1cblxuICAgIC8vIFRPRE86IHVzZSBrLW92ZXJsYXkgYXMgYSBiYXNlIGNsYXNzIGluIHJlbmRlcmluZ1xuICAgIC5rLWxvYWRlci1jb250YWluZXItb3ZlcmxheSB7XG4gICAgICAgIG9wYWNpdHk6IHZhciggLS1rZW5kby1vdmVybGF5LW9wYWNpdHksICN7JGtlbmRvLW92ZXJsYXktb3BhY2l0eX0gKTtcbiAgICB9XG5cbiAgICAuay1sb2FkZXItY29udGFpbmVyLWlubmVyIHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICB6LWluZGV4OiAyO1xuICAgIH1cblxuICAgIC5rLWxvYWRlci1jb250YWluZXItcGFuZWwge1xuICAgICAgICBib3JkZXItd2lkdGg6IHZhciggLS1rZW5kby1sb2FkZXItY29udGFpbmVyLXBhbmVsLWJvcmRlci13aWR0aCwgI3ska2VuZG8tbG9hZGVyLWNvbnRhaW5lci1wYW5lbC1ib3JkZXItd2lkdGh9ICk7XG4gICAgICAgIGJvcmRlci1zdHlsZTogdmFyKCAtLWtlbmRvLWxvYWRlci1jb250YWluZXItcGFuZWwtYm9yZGVyLXN0eWxlLCAjeyRrZW5kby1sb2FkZXItY29udGFpbmVyLXBhbmVsLWJvcmRlci1zdHlsZX0gKTtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogdmFyKCAtLWtlbmRvLWxvYWRlci1jb250YWluZXItcGFuZWwtYm9yZGVyLXJhZGl1cywgI3ska2VuZG8tbG9hZGVyLWNvbnRhaW5lci1wYW5lbC1ib3JkZXItcmFkaXVzfSApO1xuICAgIH1cblxuICAgIC8vIExvYWRlciBDb250YWluZXIgU2l6ZXNcbiAgICAuay1sb2FkZXItY29udGFpbmVyLXNtIHtcbiAgICAgICAgLmstbG9hZGVyLWNvbnRhaW5lci1pbm5lciB7XG4gICAgICAgICAgICBwYWRkaW5nLWlubGluZTogdmFyKCAtLWtlbmRvLWxvYWRlci1zbS1jb250YWluZXItcGFkZGluZy14LCAjeyRrZW5kby1sb2FkZXItc20tY29udGFpbmVyLXBhZGRpbmcteH0gKTtcbiAgICAgICAgICAgIHBhZGRpbmctYmxvY2s6IHZhciggLS1rZW5kby1sb2FkZXItc20tY29udGFpbmVyLXBhZGRpbmcteSwgI3ska2VuZG8tbG9hZGVyLXNtLWNvbnRhaW5lci1wYWRkaW5nLXl9ICk7XG4gICAgICAgICAgICBnYXA6IHZhciggLS1rZW5kby1sb2FkZXItc20tY29udGFpbmVyLWdhcCwgI3ska2VuZG8tbG9hZGVyLXNtLWNvbnRhaW5lci1nYXB9ICk7XG4gICAgICAgIH1cblxuICAgICAgICAuay1sb2FkZXItY29udGFpbmVyLWxhYmVsIHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogdmFyKCAtLWtlbmRvLWxvYWRlci1zbS1jb250YWluZXItZm9udC1zaXplLCAjeyRrZW5kby1sb2FkZXItc20tY29udGFpbmVyLWZvbnQtc2l6ZX0gKTtcbiAgICAgICAgfVxuICAgIH1cbiAgICAuay1sb2FkZXItY29udGFpbmVyLW1kIHtcbiAgICAgICAgLmstbG9hZGVyLWNvbnRhaW5lci1pbm5lciB7XG4gICAgICAgICAgICBwYWRkaW5nLWlubGluZTogdmFyKCAtLWtlbmRvLWxvYWRlci1tZC1jb250YWluZXItcGFkZGluZy14LCAjeyRrZW5kby1sb2FkZXItbWQtY29udGFpbmVyLXBhZGRpbmcteH0gKTtcbiAgICAgICAgICAgIHBhZGRpbmctYmxvY2s6IHZhciggLS1rZW5kby1sb2FkZXItbWQtY29udGFpbmVyLXBhZGRpbmcteSwgI3ska2VuZG8tbG9hZGVyLW1kLWNvbnRhaW5lci1wYWRkaW5nLXl9ICk7XG4gICAgICAgICAgICBnYXA6IHZhciggLS1rZW5kby1sb2FkZXItbWQtY29udGFpbmVyLWdhcCwgI3ska2VuZG8tbG9hZGVyLW1kLWNvbnRhaW5lci1nYXB9ICk7XG4gICAgICAgIH1cblxuICAgICAgICAuay1sb2FkZXItY29udGFpbmVyLWxhYmVsIHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogdmFyKCAtLWtlbmRvLWxvYWRlci1tZC1jb250YWluZXItZm9udC1zaXplLCAjeyRrZW5kby1sb2FkZXItbWQtY29udGFpbmVyLWZvbnQtc2l6ZX0gKTtcbiAgICAgICAgfVxuICAgIH1cbiAgICAuay1sb2FkZXItY29udGFpbmVyLWxnIHtcbiAgICAgICAgLmstbG9hZGVyLWNvbnRhaW5lci1pbm5lciB7XG4gICAgICAgICAgICBwYWRkaW5nLWlubGluZTogdmFyKCAtLWtlbmRvLWxvYWRlci1sZy1jb250YWluZXItcGFkZGluZy14LCAjeyRrZW5kby1sb2FkZXItbGctY29udGFpbmVyLXBhZGRpbmcteH0gKTtcbiAgICAgICAgICAgIHBhZGRpbmctYmxvY2s6IHZhciggLS1rZW5kby1sb2FkZXItbGctY29udGFpbmVyLXBhZGRpbmcteSwgI3ska2VuZG8tbG9hZGVyLWxnLWNvbnRhaW5lci1wYWRkaW5nLXl9ICk7XG4gICAgICAgICAgICBnYXA6IHZhciggLS1rZW5kby1sb2FkZXItbGctY29udGFpbmVyLWdhcCwgI3ska2VuZG8tbG9hZGVyLWxnLWNvbnRhaW5lci1nYXB9ICk7XG4gICAgICAgIH1cblxuICAgICAgICAuay1sb2FkZXItY29udGFpbmVyLWxhYmVsIHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogdmFyKCAtLWtlbmRvLWxvYWRlci1sZy1jb250YWluZXItZm9udC1zaXplLCAjeyRrZW5kby1sb2FkZXItbGctY29udGFpbmVyLWZvbnQtc2l6ZX0gKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8vIExvYWRlciBQb3NpdGlvblxuICAgIC5rLWxvYWRlci10b3Age1xuICAgICAgICAuay1sb2FkZXItY29udGFpbmVyLWlubmVyIHtcbiAgICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgIH1cbiAgICB9XG4gICAgLmstbG9hZGVyLWVuZCB7XG4gICAgICAgIC5rLWxvYWRlci1jb250YWluZXItbGFiZWwge1xuICAgICAgICAgICAgb3JkZXI6IC0xO1xuICAgICAgICB9XG4gICAgfVxuXG59XG5cbkBtaXhpbiBrZW5kby1sb2FkaW5nLS1sYXlvdXQoKSB7XG5cbiAgICAvLyBMb2FkaW5nIG1hc2tcbiAgICAuay1sb2FkaW5nLW1hc2ssXG4gICAgLmstbG9hZGluZy1pbWFnZSxcbiAgICAuay1sb2FkaW5nLWNvbG9yIHtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB0b3A6IDA7XG4gICAgICAgIGxlZnQ6IDA7XG5cbiAgICAgICAgKixcbiAgICAgICAgKjo6YmVmb3JlLFxuICAgICAgICAqOjphZnRlcixcbiAgICAgICAgJjo6YmVmb3JlLFxuICAgICAgICAmOjphZnRlciB7XG4gICAgICAgICAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLmstbG9hZGluZy1tYXNrIHtcbiAgICAgICAgei1pbmRleDogdmFyKCAtLWtlbmRvLXppbmRleC1sb2FkaW5nLCAjeyRrZW5kby16aW5kZXgtbG9hZGluZ30gKTtcblxuICAgICAgICAmLmstb3BhcXVlIHtcbiAgICAgICAgICAgIC5rLWxvYWRpbmctY29sb3Ige1xuICAgICAgICAgICAgICAgIG9wYWNpdHk6IDE7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG4gICAgLmstbG9hZGluZy10ZXh0IHtcbiAgICAgICAgdGV4dC1pbmRlbnQ6IC00MDAwcHg7XG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICBjb2xvcjogdmFyKCAtLWtlbmRvLWxvYWRpbmctdGV4dCwgI3ska2VuZG8tbG9hZGluZy10ZXh0fSApO1xuICAgIH1cbiAgICAuay1sb2FkaW5nLWltYWdlIHtcbiAgICAgICAgei1pbmRleDogMjtcbiAgICAgICAgY29sb3I6IHZhciggLS1rZW5kby1sb2FkaW5nLXRleHQsICN7JGtlbmRvLWxvYWRpbmctdGV4dH0gKTtcbiAgICB9XG4gICAgLmstbG9hZGluZy1jb2xvciB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IHZhciggLS1rZW5kby1sb2FkaW5nLWJnLCAjeyRrZW5kby1sb2FkaW5nLWJnfSApO1xuICAgICAgICBvcGFjaXR5OiB2YXIoIC0ta2VuZG8tbG9hZGluZy1vcGFjaXR5LCAjeyRrZW5kby1sb2FkaW5nLW9wYWNpdHl9ICk7XG4gICAgfVxuXG4gICAgLy8gTG9hZGluZyBpbmRpY2F0b3JcbiAgICAuay1pLWxvYWRpbmcge1xuICAgICAgICB3aWR0aDogMWVtO1xuICAgICAgICBoZWlnaHQ6IDFlbTtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDE7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICAgICAgICBmbGV4LWZsb3c6IHJvdyBub3dyYXA7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgICAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgICAgICBjb2xvcjogdmFyKCAtLWtlbmRvLWxvYWRpbmctdGV4dCwgI3ska2VuZG8tbG9hZGluZy10ZXh0fSApO1xuXG4gICAgICAgICY6OmJlZm9yZSxcbiAgICAgICAgJjo6YWZ0ZXIge1xuICAgICAgICAgICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5rLWktbG9hZGluZzo6YmVmb3JlLFxuICAgIC5rLWktbG9hZGluZzo6YWZ0ZXIsXG4gICAgLmstbG9hZGluZy1pbWFnZTo6YmVmb3JlLFxuICAgIC5rLWxvYWRpbmctaW1hZ2U6OmFmdGVyIHtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB0b3A6IDUwJTtcbiAgICAgICAgbGVmdDogNTAlO1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICAgIGJveC1zaXppbmc6IGluaGVyaXQ7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgICAgICAgYm9yZGVyLXdpZHRoOiAuMDVlbTtcbiAgICAgICAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiBjdXJyZW50Q29sb3I7XG4gICAgICAgIGJvcmRlci10b3AtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgICAgICBib3JkZXItYm90dG9tLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgfVxuXG4gICAgLmstaWNvbi5rLWktbG9hZGluZzo6YmVmb3JlLFxuICAgIC5rLWljb24uay1pLWxvYWRpbmc6OmFmdGVyIHtcbiAgICAgICAgY29udGVudDogXCJcIjtcbiAgICB9XG5cbiAgICAuay1pLWxvYWRpbmc6OmJlZm9yZSxcbiAgICAuay1sb2FkaW5nLWltYWdlOjpiZWZvcmUge1xuICAgICAgICBtYXJnaW4tdG9wOiAtLjVlbTtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IC0uNWVtO1xuICAgICAgICB3aWR0aDogMWVtO1xuICAgICAgICBoZWlnaHQ6IDFlbTtcbiAgICAgICAgYW5pbWF0aW9uOiBrLWxvYWRpbmctYW5pbWF0aW9uIC43cyBsaW5lYXIgaW5maW5pdGU7XG4gICAgfVxuXG4gICAgLmstaS1sb2FkaW5nOjphZnRlcixcbiAgICAuay1sb2FkaW5nLWltYWdlOjphZnRlciB7XG4gICAgICAgIG1hcmdpbi10b3A6IC0uMjVlbTtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IC0uMjVlbTtcbiAgICAgICAgd2lkdGg6IC41ZW07XG4gICAgICAgIGhlaWdodDogLjVlbTtcbiAgICAgICAgYW5pbWF0aW9uOiBrLWxvYWRpbmctYW5pbWF0aW9uIHJldmVyc2UgMS40cyBsaW5lYXIgaW5maW5pdGU7XG4gICAgfVxuXG4gICAgLmstbG9hZGluZy1pbWFnZTo6YmVmb3JlLFxuICAgIC5rLWxvYWRpbmctaW1hZ2U6OmFmdGVyIHtcbiAgICAgICAgY29udGVudDogXCJcIjtcbiAgICAgICAgLy8gU2VlIGh0dHBzOi8vZ2l0aHViLmNvbS90ZWxlcmlrL2tlbmRvLXRoZW1lcy9pc3N1ZXMvMTkyNVxuICAgICAgICBib3JkZXItd2lkdGg6IDFweDsgLy8gVE9ETzogUmVtb3ZlIG9uY2Ugd2UgZHJvcCBJRSBzdXBwb3J0XG4gICAgICAgIGJvcmRlci13aWR0aDogY2xhbXAoIC4wMTVlbSwgMXB4LCAxcHggKTtcbiAgICAgICAgZm9udC1zaXplOiA0ZW07XG4gICAgfVxuXG4gICAgLy8gTG9hZGluZyBhbmltYXRpb25cbiAgICBAa2V5ZnJhbWVzIGstbG9hZGluZy1hbmltYXRpb24ge1xuICAgICAgICAwJSB7XG4gICAgICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgwZGVnKTtcbiAgICAgICAgfVxuICAgICAgICAxMDAlIHtcbiAgICAgICAgICAgIHRyYW5zZm9ybTogcm90YXRlKDM2MGRlZyk7XG4gICAgICAgIH1cbiAgICB9XG5cbn1cbiIsIkB1c2UgXCJzYXNzOm1hcFwiO1xuQHVzZSBcIi4vX3ZhcmlhYmxlcy5zY3NzXCIgYXMgKjtcblxuQG1peGluIGtlbmRvLWxvYWRlci0tdGhlbWUoKSB7XG5cbiAgICBAZWFjaCAkdGhlbWUtY29sb3IsICRjb2xvci1wcm9wcyBpbiAka2VuZG8tbG9hZGVyLXRoZW1lLWNvbG9ycyB7XG4gICAgICAgICRfYmc6IG1hcC5nZXQoICRjb2xvci1wcm9wcywgYmcgKTtcblxuICAgICAgICAuay1sb2FkZXItI3skdGhlbWUtY29sb3J9IHtcbiAgICAgICAgICAgIGNvbG9yOiB2YXIoIC0ta2VuZG8tbG9hZGVyLSN7JHRoZW1lLWNvbG9yfS1iZywgI3skX2JnfSApO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLmstbG9hZGVyLWNvbnRhaW5lci1wYW5lbCB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IHZhciggLS1rZW5kby1sb2FkZXItY29udGFpbmVyLXBhbmVsLWJnLCAjeyRrZW5kby1sb2FkZXItY29udGFpbmVyLXBhbmVsLWJnfSApO1xuICAgICAgICBib3JkZXItY29sb3I6IHZhciggLS1rZW5kby1sb2FkZXItY29udGFpbmVyLXBhbmVsLWJvcmRlci1jb2xvciwgI3ska2VuZG8tbG9hZGVyLWNvbnRhaW5lci1wYW5lbC1ib3JkZXItY29sb3J9ICk7XG4gICAgfVxuXG59XG4iLCJAdXNlIFwiLi9fdmFyaWFibGVzLnNjc3NcIiBhcyAqO1xuXG5AbWl4aW4ga2VuZG8tc2tlbGV0b24tLWxheW91dCgpIHtcblxuICAgIC5rLXNrZWxldG9uIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgfVxuXG4gICAgLy8gVGV4dFxuICAgIC5rLXNrZWxldG9uLXRleHQge1xuICAgICAgICBib3JkZXItcmFkaXVzOiB2YXIoIC0ta2VuZG8tc2tlbGV0b24tdGV4dC1ib3JkZXItcmFkaXVzLCAjeyRrZW5kby1za2VsZXRvbi10ZXh0LWJvcmRlci1yYWRpdXN9ICk7XG4gICAgICAgIHRyYW5zZm9ybTogdmFyKCAtLWtlbmRvLXNrZWxldG9uLXRleHQtdHJhbnNmb3JtLCAjeyRrZW5kby1za2VsZXRvbi10ZXh0LXRyYW5zZm9ybX0gKTtcblxuICAgICAgICAmOmVtcHR5OjpiZWZvcmUge1xuICAgICAgICAgICAgY29udGVudDogXCJcXDIwMGJcIjtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8vIFNoYXBlc1xuICAgIC5rLXNrZWxldG9uLXJlY3Qge1xuICAgICAgICBib3JkZXItcmFkaXVzOiB2YXIoIC0ta2VuZG8tc2tlbGV0b24tcmVjdC1ib3JkZXItcmFkaXVzLCAjeyRrZW5kby1za2VsZXRvbi1yZWN0LWJvcmRlci1yYWRpdXN9ICk7XG4gICAgfVxuXG4gICAgLmstc2tlbGV0b24tY2lyY2xlIHtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogdmFyKCAtLWtlbmRvLXNrZWxldG9uLWNpcmNsZS1ib3JkZXItcmFkaXVzLCAjeyRrZW5kby1za2VsZXRvbi1jaXJjbGUtYm9yZGVyLXJhZGl1c30gKTtcbiAgICB9XG5cblxuICAgIC8vIExlZ2FjeSBhbGlhc1xuICAgIC5rLXBsYWNlaG9sZGVyLWxpbmUge1xuICAgICAgICBAZXh0ZW5kIC5rLXNrZWxldG9uICFvcHRpb25hbDtcbiAgICAgICAgQGV4dGVuZCAuay1za2VsZXRvbi10ZXh0ICFvcHRpb25hbDtcbiAgICB9XG5cbiAgICAvLyBXYXZlIGFuaW1hdGlvblxuICAgIEBrZXlmcmFtZXMgay1za2VsZXRvbi13YXZlIHtcbiAgICAgICAgMCUge1xuICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0xMDAlKTtcbiAgICAgICAgfVxuICAgICAgICA2MCUge1xuICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDEwMCUpO1xuICAgICAgICB9XG4gICAgICAgIDEwMCUge1xuICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDEwMCUpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLmstc2tlbGV0b24td2F2ZSAuay1za2VsZXRvbixcbiAgICAuay1za2VsZXRvbi13YXZlLmstc2tlbGV0b24ge1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIG92ZXJmbG93OiBoaWRkZW47XG5cbiAgICAgICAgJjo6YWZ0ZXIge1xuICAgICAgICAgICAgY29udGVudDogXCJcIjtcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgIHRvcDogMDtcbiAgICAgICAgICAgIHJpZ2h0OiAwO1xuICAgICAgICAgICAgYm90dG9tOiAwO1xuICAgICAgICAgICAgbGVmdDogMDtcbiAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtMTAwJSk7XG4gICAgICAgICAgICBhbmltYXRpb246IGstc2tlbGV0b24td2F2ZSAxLjZzIGxpbmVhciAuNXMgaW5maW5pdGU7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBQdWxzZVxuICAgIEBrZXlmcmFtZXMgay1za2VsZXRvbi1wdWxzZSB7XG4gICAgICAgIDAlIHtcbiAgICAgICAgICAgIG9wYWNpdHk6IDE7XG4gICAgICAgIH1cbiAgICAgICAgNTAlIHtcbiAgICAgICAgICAgIG9wYWNpdHk6IC40O1xuICAgICAgICB9XG4gICAgICAgIDEwMCUge1xuICAgICAgICAgICAgb3BhY2l0eTogMTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5rLXNrZWxldG9uLXB1bHNlIC5rLXNrZWxldG9uLFxuICAgIC5rLXNrZWxldG9uLXB1bHNlLmstc2tlbGV0b24ge1xuICAgICAgICBhbmltYXRpb246IGstc2tlbGV0b24tcHVsc2UgMS41cyBlYXNlLWluLW91dCAuNXMgaW5maW5pdGU7XG4gICAgfVxuXG59XG4iLCJAdXNlIFwiLi4vY29yZS9faW5kZXguc2Nzc1wiIGFzICo7XG5AdXNlIFwiLi9fdmFyaWFibGVzLnNjc3NcIiBhcyAqO1xuXG5AbWl4aW4ga2VuZG8tc2tlbGV0b24tLXRoZW1lKCkge1xuXG4gICAgLmstc2tlbGV0b24ge1xuICAgICAgICBAaW5jbHVkZSBmaWxsKFxuICAgICAgICAgICAgJGJnOiB2YXIoIC0ta2VuZG8tc2tlbGV0b24taXRlbS1iZywgI3ska2VuZG8tc2tlbGV0b24taXRlbS1iZ30gKVxuICAgICAgICApO1xuICAgIH1cblxuICAgIC8vIFdhdmUgYW5pbWF0aW9uXG4gICAgLmstc2tlbGV0b24td2F2ZSAuay1za2VsZXRvbjo6YWZ0ZXIsXG4gICAgLmstc2tlbGV0b24td2F2ZS5rLXNrZWxldG9uOjphZnRlciB7XG4gICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IGxpbmVhci1ncmFkaWVudChcbiAgICAgICAgICAgIHRvIHJpZ2h0LFxuICAgICAgICAgICAgdHJhbnNwYXJlbnQsXG4gICAgICAgICAgICB2YXIoIC0ta2VuZG8tc2tlbGV0b24td2F2ZS1iZywgI3ska2VuZG8tc2tlbGV0b24td2F2ZS1iZ30gKSxcbiAgICAgICAgICAgIHRyYW5zcGFyZW50XG4gICAgICAgICk7XG4gICAgfVxufVxuIiwiQHVzZSBcIi4uL2NvcmUvX2luZGV4LnNjc3NcIiBhcyAqO1xuQHVzZSBcIi4vX3ZhcmlhYmxlcy5zY3NzXCIgYXMgKjtcblxuQG1peGluIGtlbmRvLXRvb2x0aXAtLWxheW91dCgpIHtcblxuICAgIC5rLXRvb2x0aXAge1xuICAgICAgICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKCAka2VuZG8tdG9vbHRpcC1ib3JkZXItcmFkaXVzICk7XG4gICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgcGFkZGluZy1pbmxpbmU6IHZhciggLS1rZW5kby10b29sdGlwLXBhZGRpbmcteCwgI3ska2VuZG8tdG9vbHRpcC1wYWRkaW5nLXh9ICk7XG4gICAgICAgIHBhZGRpbmctYmxvY2s6IHZhciggLS1rZW5kby10b29sdGlwLXBhZGRpbmcteSwgI3ska2VuZG8tdG9vbHRpcC1wYWRkaW5nLXl9ICk7XG4gICAgICAgIGJvcmRlci13aWR0aDogdmFyKCAtLWtlbmRvLXRvb2x0aXAtYm9yZGVyLXdpZHRoLCAjeyRrZW5kby10b29sdGlwLWJvcmRlci13aWR0aH0gKTtcbiAgICAgICAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcbiAgICAgICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICAgICAgYmFja2dyb3VuZC1yZXBlYXQ6IHJlcGVhdC14O1xuICAgICAgICBvdXRsaW5lOiAwO1xuICAgICAgICBmb250LWZhbWlseTogdmFyKCAtLWtlbmRvLXRvb2x0aXAtZm9udC1mYW1pbHksICN7JGtlbmRvLXRvb2x0aXAtZm9udC1mYW1pbHl9ICk7XG4gICAgICAgIGZvbnQtc2l6ZTogdmFyKCAtLWtlbmRvLXRvb2x0aXAtZm9udC1zaXplLCAjeyRrZW5kby10b29sdGlwLWZvbnQtc2l6ZX0gKTtcbiAgICAgICAgbGluZS1oZWlnaHQ6IHZhciggLS1rZW5kby10b29sdGlwLWxpbmUtaGVpZ2h0LCAjeyRrZW5kby10b29sdGlwLWxpbmUtaGVpZ2h0fSApO1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBmbGV4LWZsb3c6IHJvdyBub3dyYXA7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0O1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHotaW5kZXg6IDEyMDAwO1xuICAgICAgICAtd2Via2l0LXRvdWNoLWNhbGxvdXQ6IG5vbmU7XG4gICAgICAgIC13ZWJraXQtdGFwLWhpZ2hsaWdodC1jb2xvcjogJGtlbmRvLWNvbG9yLXJnYmEtdHJhbnNwYXJlbnQ7XG5cbiAgICAgICAgKixcbiAgICAgICAgKjo6YmVmb3JlLFxuICAgICAgICAqOjphZnRlciB7XG4gICAgICAgICAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLmstdG9vbHRpcC1pY29uIHtcbiAgICAgICAgbWFyZ2luLWlubGluZS1lbmQ6IHZhciggLS1rZW5kby10b29sdGlwLWljb24tc3BhY2luZywgLjVyZW0gKTtcbiAgICAgICAgZmxleC1zaHJpbms6IDA7XG4gICAgfVxuXG4gICAgLmstdG9vbHRpcC10aXRsZSB7XG4gICAgICAgIG1hcmdpbi1ibG9jay1lbmQ6IHZhciggLS1rZW5kby10b29sdGlwLXRpdGxlLW1hcmdpbiwgI3ska2VuZG8tdG9vbHRpcC10aXRsZS1tYXJnaW59ICk7XG4gICAgICAgIGZvbnQtc2l6ZTogdmFyKCAtLWtlbmRvLXRvb2x0aXAtdGl0bGUtZm9udC1zaXplLCAjeyRrZW5kby10b29sdGlwLXRpdGxlLWZvbnQtc2l6ZX0gKTtcbiAgICAgICAgbGluZS1oZWlnaHQ6IHZhciggLS1rZW5kby10b29sdGlwLXRpdGxlLWxpbmUtaGVpZ2h0LCAjeyRrZW5kby10b29sdGlwLXRpdGxlLWxpbmUtaGVpZ2h0fSApO1xuICAgIH1cblxuICAgIC5rLXRvb2x0aXAtY29udGVudCB7XG4gICAgICAgIGFsaWduLXNlbGY6IHN0cmV0Y2g7XG4gICAgICAgIGZsZXg6IDEgMSBhdXRvO1xuICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgICAgICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcbiAgICB9XG5cbiAgICAuay10b29sdGlwLWJ1dHRvbiB7XG4gICAgICAgIG1hcmdpbi1pbmxpbmUtc3RhcnQ6IHZhciggLS1rZW5kby10b29sdGlwLWJ1dHRvbi1zcGFjaW5nLCAuNXJlbSApO1xuICAgICAgICBmbGV4LXNocmluazogMDtcblxuICAgICAgICAuay1pY29uIHtcbiAgICAgICAgICAgIGNvbG9yOiBpbmhlcml0O1xuICAgICAgICAgICAgdmVydGljYWwtYWxpZ246IHRvcDtcbiAgICAgICAgfVxuICAgIH1cblxuXG4gICAgLy8gQ2FsbG91dFxuICAgIC5rLWNhbGxvdXQge1xuICAgICAgICB3aWR0aDogY2FsYyggI3ska2VuZG8tdG9vbHRpcC1jYWxsb3V0LXNpemV9ICogMiApO1xuICAgICAgICBoZWlnaHQ6IGNhbGMoICN7JGtlbmRvLXRvb2x0aXAtY2FsbG91dC1zaXplfSAqIDIgKTtcbiAgICAgICAgYm9yZGVyLXdpZHRoOiAka2VuZG8tdG9vbHRpcC1jYWxsb3V0LXNpemU7XG4gICAgICAgIGJvcmRlci1zdHlsZTogc29saWQ7XG4gICAgICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gICAgICAgIGNvbG9yOiBpbmhlcml0O1xuICAgIH1cblxuICAgIC8vIFRPRE86XG4gICAgLy8gU29tZSBpbXBsZW1lbnRhdGlvbnMgcmVseSBvbiBtYXJnaW4gKyB0cmFuc2Zvcm0tcm90YXRlIHRvIHBvc2l0aW9uIGNhbGxvdXRcbiAgICAvLyBSZW1vdmUgbWFyZ2luIHR3ZWFraW5nIGFuZCB1bmNvbW1lbnQgd2hlbiB0aGVpciBpbXBsZW1lbnRhdGlvbiBpcyBmaXhlZC5cblxuICAgIC5rLWNhbGxvdXQtbiB7XG4gICAgICAgIG1hcmdpbi1pbmxpbmUtc3RhcnQ6IGNhbGMoICN7JGtlbmRvLXRvb2x0aXAtY2FsbG91dC1zaXplfSAqIC0xICk7XG4gICAgICAgIGJvcmRlci1ib3R0b20tY29sb3I6IGN1cnJlbnRDb2xvcjtcbiAgICAgICAgdG9wOiBjYWxjKCBjYWxjKCAjeyRrZW5kby10b29sdGlwLWNhbGxvdXQtc2l6ZX0gKiAtMSApICogMiApO1xuICAgICAgICBsZWZ0OiA1MCU7XG4gICAgICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICAgIH1cbiAgICAuay1jYWxsb3V0LWUge1xuICAgICAgICBtYXJnaW4tYmxvY2stc3RhcnQ6IGNhbGMoICN7JGtlbmRvLXRvb2x0aXAtY2FsbG91dC1zaXplfSAqIC0xICk7XG4gICAgICAgIGJvcmRlci1sZWZ0LWNvbG9yOiBjdXJyZW50Q29sb3I7XG4gICAgICAgIHRvcDogNTAlO1xuICAgICAgICByaWdodDogY2FsYyggY2FsYyggI3ska2VuZG8tdG9vbHRpcC1jYWxsb3V0LXNpemV9ICogLTEgKSAqIDIgKTtcbiAgICAgICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gICAgfVxuICAgIC5rLWNhbGxvdXQtcyB7XG4gICAgICAgIG1hcmdpbi1pbmxpbmUtc3RhcnQ6IGNhbGMoICN7JGtlbmRvLXRvb2x0aXAtY2FsbG91dC1zaXplfSAqIC0xICk7XG4gICAgICAgIGJvcmRlci10b3AtY29sb3I6IGN1cnJlbnRDb2xvcjtcbiAgICAgICAgYm90dG9tOiBjYWxjKCBjYWxjKCAjeyRrZW5kby10b29sdGlwLWNhbGxvdXQtc2l6ZX0gKiAtMSApICogMik7XG4gICAgICAgIGxlZnQ6IDUwJTtcbiAgICAgICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gICAgfVxuICAgIC5rLWNhbGxvdXQtdyB7XG4gICAgICAgIG1hcmdpbi1ibG9jay1zdGFydDogY2FsYyggI3ska2VuZG8tdG9vbHRpcC1jYWxsb3V0LXNpemV9ICogLTEgKTtcbiAgICAgICAgYm9yZGVyLXJpZ2h0LWNvbG9yOiBjdXJyZW50Q29sb3I7XG4gICAgICAgIHRvcDogNTAlO1xuICAgICAgICBsZWZ0OiBjYWxjKCBjYWxjKCAjeyRrZW5kby10b29sdGlwLWNhbGxvdXQtc2l6ZX0gKiAtMSApICogMik7XG4gICAgICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICAgIH1cblxufVxuIiwiQHVzZSBcInNhc3M6bWFwXCI7XG5AdXNlIFwiLi4vY29yZS9faW5kZXguc2Nzc1wiIGFzICo7XG5cbi8vLyBUaGUgYm9yZGVyIHJhZGl1cyBvZiB0aGUgVG9vbHRpcC5cbi8vLyBAZ3JvdXAgdG9vbHRpcFxuJGtlbmRvLXRvb2x0aXAtYm9yZGVyLXJhZGl1czogay1ib3JkZXItcmFkaXVzKG1kKSAhZGVmYXVsdDtcbi8vLyBUaGUgaG9yaXpvbnRhbCBwYWRkaW5nIG9mIHRoZSBUb29sdGlwLlxuLy8vIEBncm91cCB0b29sdGlwXG4ka2VuZG8tdG9vbHRpcC1wYWRkaW5nLXg6IGstc3BhY2luZygyKSAhZGVmYXVsdDtcbi8vLyBUaGUgdmVydGljYWwgcGFkZGluZyBvZiB0aGUgVG9vbHRpcC5cbi8vLyBAZ3JvdXAgdG9vbHRpcFxuJGtlbmRvLXRvb2x0aXAtcGFkZGluZy15OiBrLXNwYWNpbmcoMikgIWRlZmF1bHQ7XG4vLy8gVGhlIHdpZHRoIG9mIHRoZSBib3JkZXIgYXJvdW5kIHRoZSBUb29sdGlwLlxuLy8vIEBncm91cCB0b29sdGlwXG4ka2VuZG8tdG9vbHRpcC1ib3JkZXItd2lkdGg6IDBweCAhZGVmYXVsdDtcbi8vLyBUaGUgZm9udCBmYW1pbHkgb2YgdGhlIFRvb2x0aXAuXG4vLy8gQGdyb3VwIHRvb2x0aXBcbiRrZW5kby10b29sdGlwLWZvbnQtZmFtaWx5OiB2YXIoIC0ta2VuZG8tZm9udC1mYW1pbHksIGluaGVyaXQgKSAhZGVmYXVsdDtcbi8vLyBUaGUgZm9udCBzaXplIG9mIHRoZSBUb29sdGlwLlxuLy8vIEBncm91cCB0b29sdGlwXG4ka2VuZG8tdG9vbHRpcC1mb250LXNpemU6IHZhciggLS1rZW5kby1mb250LXNpemUtc20sIGluaGVyaXQgKSAhZGVmYXVsdDtcbi8vLyBUaGUgbGluZSBoZWlnaHQgb2YgdGhlIFRvb2x0aXAuXG4vLy8gQGdyb3VwIHRvb2x0aXBcbiRrZW5kby10b29sdGlwLWxpbmUtaGVpZ2h0OiB2YXIoIC0ta2VuZG8tbGluZS1oZWlnaHQsIG5vcm1hbCApICFkZWZhdWx0O1xuXG4vLy8gVGhlIGZvbnQgc2l6ZSBvZiB0aGUgVG9vbHRpcCB0aXRsZS5cbi8vLyBAZ3JvdXAgdG9vbHRpcFxuJGtlbmRvLXRvb2x0aXAtdGl0bGUtZm9udC1zaXplOiBjYWxjKCB2YXIoIC0ta2VuZG8tZm9udC1zaXplLXNtLCAuNzVyZW0gKSAqIDEuMjUgKSAhZGVmYXVsdDtcbi8vLyBUaGUgbGluZSBoZWlnaHQgb2YgdGhlIFRvb2x0aXAgdGl0bGUuXG4vLy8gQGdyb3VwIHRvb2x0aXBcbiRrZW5kby10b29sdGlwLXRpdGxlLWxpbmUtaGVpZ2h0OiB2YXIoIC0ta2VuZG8tbGluZS1oZWlnaC14cywgbm9ybWFsICkgIWRlZmF1bHQ7XG4vLy8gVGhlIG1hcmdpbiBvZiB0aGUgVG9vbHRpcCB0aXRsZS5cbi8vLyBAZ3JvdXAgdG9vbHRpcFxuJGtlbmRvLXRvb2x0aXAtdGl0bGUtbWFyZ2luOiBrLXNwYWNpbmcoMSkgIWRlZmF1bHQ7XG5cbi8vLyBUaGUgc2l6ZSBvZiB0aGUgVG9vbHRpcCBjYWxsb3V0LlxuLy8vIEBncm91cCB0b29sdGlwXG4ka2VuZG8tdG9vbHRpcC1jYWxsb3V0LXNpemU6IGstc3BhY2luZygyKSAhZGVmYXVsdDtcblxuLy8vIFRoZSBkZWZhdWx0IGJhY2tncm91bmQgb2YgdGhlIFRvb2x0aXAuXG4vLy8gQGdyb3VwIHRvb2x0aXBcbiRrZW5kby10b29sdGlwLWJnOiBpZigka2VuZG8tZW5hYmxlLWNvbG9yLXN5c3RlbSwgay1jb2xvciggYXBwLXN1cmZhY2UgKSwgJGtlbmRvLWNvbG9yLXdoaXRlKSAhZGVmYXVsdDtcbi8vLyBUaGUgZGVmYXVsdCB0ZXh0IGNvbG9yIG9mIHRoZSBUb29sdGlwLlxuLy8vIEBncm91cCB0b29sdGlwXG4ka2VuZG8tdG9vbHRpcC10ZXh0OiB2YXIoIC0ta2VuZG8tY29tcG9uZW50LXRleHQsIGluaXRpYWwgKSAhZGVmYXVsdDtcbi8vLyBUaGUgZGVmYXVsdCBib3JkZXIgY29sb3Igb2YgdGhlIFRvb2x0aXAuXG4vLy8gQGdyb3VwIHRvb2x0aXBcbiRrZW5kby10b29sdGlwLWJvcmRlcjogdHJhbnNwYXJlbnQgIWRlZmF1bHQ7XG4vLy8gVGhlIGJveC1zaGFkb3cgb2YgdGhlIFRvb2x0aXAuXG4vLy8gQGdyb3VwIHRvb2x0aXBcbiRrZW5kby10b29sdGlwLXNoYWRvdzogdmFyKCAtLWtlbmRvLWJveC1zaGFkb3ctZGVwdGgtMiwgbm9uZSApICFkZWZhdWx0O1xuXG4vLy8gVGhlIHRleHQgY29sb3Igb2YgdGhlIFRvb2x0aXAgYnV0dG9uLlxuLy8vIEBncm91cCB0b29sdGlwXG4ka2VuZG8tdG9vbHRpcC1idXR0b24tdGV4dDogaWYoJGtlbmRvLWVuYWJsZS1jb2xvci1zeXN0ZW0sIGstY29sb3IoIHN1YnRsZSApLCBrLWdldC10aGVtZS1jb2xvci12YXIoIG5ldXRyYWwtMTMwLCBpbml0aWFsICkpICFkZWZhdWx0O1xuXG4vLy8gVGhlbWUgdmFyaWF0aW9ucyBmb3IgdGhlIHRvb2x0aXAuXG4ka2VuZG8tdG9vbHRpcC1icmFuZC1jb2xvcnM6IChcbiAgICBzZWNvbmRhcnk6IGlmKCRrZW5kby1lbmFibGUtY29sb3Itc3lzdGVtLCBzZWNvbmRhcnksIG5ldXRyYWwpLFxuICAgIHRlcnRpYXJ5OiB0ZXJ0aWFyeSxcbiAgICBzdWNjZXNzOiBzdWNjZXNzLFxuICAgIHdhcm5pbmc6IHdhcm5pbmcsXG4gICAgZXJyb3I6IGVycm9yLFxuICAgIGluZm86IGluZm9cbiApICFkZWZhdWx0O1xuXG4vLyBNYXRyaXggd2l0aCB0b29sdGlwIHRoZW1lIGNvbG9ycyBpbiB0aGUgb3JkZXI6IGJnLCBjb2xvciwgYm9yZGVyXG4kX3RjLXRvb2x0aXAtbWF0cml4OiAoXG4gICAgKG5vcm1hbDogaWYoJGtlbmRvLWVuYWJsZS1jb2xvci1zeXN0ZW0sIChjb2xvci1zdWJ0bGUsIGNvbG9yLW9uLXN1YnRsZSwgY29sb3Itc3VidGxlKSwgKDIwLCAxNjAsIDIwKSkpLFxuKSAhZGVmYXVsdDtcblxuJF90Yy10b29sdGlwLXByaW1hcnktbWF0cml4OiAoXG4gICAgKG5vcm1hbDogaWYoJGtlbmRvLWVuYWJsZS1jb2xvci1zeXN0ZW0sIChjb2xvciwgb24tY29sb3IsIGNvbG9yKSwgKDEwMCwgJGtlbmRvLWNvbG9yLXdoaXRlLCAxMDApKSksXG4pICFkZWZhdWx0O1xuXG4kX3RjLXRvb2x0aXAtZGFyay1tYXRyaXg6IChcbiAgICAobm9ybWFsOiBpZigka2VuZG8tZW5hYmxlLWNvbG9yLXN5c3RlbSwgKGNvbG9yLCBvbi1jb2xvciwgY29sb3IpLCAoMTYwLCAka2VuZG8tY29sb3Itd2hpdGUsIDE2MCkpKSxcbikgIWRlZmF1bHQ7XG5cbiRfdGMtdG9vbHRpcC1saWdodC1tYXRyaXg6IChcbiAgICAobm9ybWFsOiBpZigka2VuZG8tZW5hYmxlLWNvbG9yLXN5c3RlbSwgKGNvbG9yLCBvbi1jb2xvciwgY29sb3IpLCAoNTAsIDE2MCwgNTApKSksXG4pICFkZWZhdWx0O1xuXG4vLy8gVGhlbWUgY29sb3JzIG1hcCBmb3IgdGhlIHRvb2x0aXAgdmFyaWF0aW9ucy5cbiRrZW5kby10b29sdGlwLXRoZW1lLWNvbG9yczogKCkgIWRlZmF1bHQ7XG5cbkBlYWNoICR1aS1zdGF0ZXMgaW4gJF90Yy10b29sdGlwLXByaW1hcnktbWF0cml4IHtcbiAgICAka2VuZG8tdG9vbHRpcC10aGVtZS1jb2xvcnM6IG1hcC5kZWVwLW1lcmdlKFxuICAgICAgICAka2VuZG8tdG9vbHRpcC10aGVtZS1jb2xvcnMsXG4gICAgICAgIGstZ2VuZXJhdGUtdGhlbWUtdmFyaWF0aW9uKCBwcmltYXJ5LCBwcmltYXJ5LCAkdWktc3RhdGVzIClcbiAgICApO1xufVxuXG5AZWFjaCAkdWktc3RhdGVzIGluICRfdGMtdG9vbHRpcC1tYXRyaXgge1xuICAgIEBlYWNoICRicmFuZC1jb2xvciwgJHBhbGV0dGUgaW4gJGtlbmRvLXRvb2x0aXAtYnJhbmQtY29sb3JzIHtcbiAgICAgICAgJGtlbmRvLXRvb2x0aXAtdGhlbWUtY29sb3JzOiBtYXAuZGVlcC1tZXJnZShcbiAgICAgICAgICAgICRrZW5kby10b29sdGlwLXRoZW1lLWNvbG9ycyxcbiAgICAgICAgICAgIGstZ2VuZXJhdGUtdGhlbWUtdmFyaWF0aW9uKCAkYnJhbmQtY29sb3IsICRwYWxldHRlLCAkdWktc3RhdGVzIClcbiAgICAgICAgKTtcbiAgICB9O1xufVxuXG5AZWFjaCAkdWktc3RhdGVzIGluICRfdGMtdG9vbHRpcC1kYXJrLW1hdHJpeCB7XG4gICAgJGtlbmRvLXRvb2x0aXAtdGhlbWUtY29sb3JzOiBtYXAuZGVlcC1tZXJnZShcbiAgICAgICAgJGtlbmRvLXRvb2x0aXAtdGhlbWUtY29sb3JzLFxuICAgICAgICBrLWdlbmVyYXRlLXRoZW1lLXZhcmlhdGlvbiggZGFyaywgaWYoJGtlbmRvLWVuYWJsZS1jb2xvci1zeXN0ZW0sIGRhcmssIG5ldXRyYWwpLCAkdWktc3RhdGVzIClcbiAgICApO1xufVxuXG5AZWFjaCAkdWktc3RhdGVzIGluICRfdGMtdG9vbHRpcC1saWdodC1tYXRyaXgge1xuICAgICRrZW5kby10b29sdGlwLXRoZW1lLWNvbG9yczogbWFwLmRlZXAtbWVyZ2UoXG4gICAgICAgICRrZW5kby10b29sdGlwLXRoZW1lLWNvbG9ycyxcbiAgICAgICAgay1nZW5lcmF0ZS10aGVtZS12YXJpYXRpb24oIGxpZ2h0LCBpZigka2VuZG8tZW5hYmxlLWNvbG9yLXN5c3RlbSwgbGlnaHQsIG5ldXRyYWwpLCAkdWktc3RhdGVzIClcbiAgICApO1xufVxuIiwiQHVzZSBcInNhc3M6bWFwXCI7XG5AdXNlIFwiLi4vY29yZS9faW5kZXguc2Nzc1wiIGFzICo7XG5AdXNlIFwiLi9fdmFyaWFibGVzLnNjc3NcIiBhcyAqO1xuXG5AbWl4aW4ga2VuZG8tdG9vbHRpcC0tdGhlbWUoKSB7XG4gICAgLmstdG9vbHRpcCB7XG4gICAgICAgIEBpbmNsdWRlIGJveC1zaGFkb3coIHZhciggLS1rZW5kby10b29sdGlwLXNoYWRvdywgI3ska2VuZG8tdG9vbHRpcC1zaGFkb3d9ICkgKTtcblxuICAgICAgICAtLUlOVEVSTkFMLS1rZW5kby10b29sdGlwLXRleHQ6IHZhciggLS1rZW5kby10b29sdGlwLXRleHQsICN7JGtlbmRvLXRvb2x0aXAtdGV4dH0gKTtcbiAgICAgICAgLS1JTlRFUk5BTC0ta2VuZG8tdG9vbHRpcC1iZzogdmFyKCAtLWtlbmRvLXRvb2x0aXAtYmcsICN7JGtlbmRvLXRvb2x0aXAtYmd9ICk7XG4gICAgICAgIC0tSU5URVJOQUwtLWtlbmRvLXRvb2x0aXAtYm9yZGVyOiB2YXIoIC0ta2VuZG8tdG9vbHRpcC1ib3JkZXIsICN7JGtlbmRvLXRvb2x0aXAtYm9yZGVyfSApO1xuXG4gICAgICAgICAgICBjb2xvcjogdmFyKCAtLUlOVEVSTkFMLS1rZW5kby10b29sdGlwLXRleHQsIGluaXRpYWwgKTtcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHZhciggLS1JTlRFUk5BTC0ta2VuZG8tdG9vbHRpcC1iZywgaW5pdGlhbCApO1xuICAgICAgICAgICAgYm9yZGVyLWNvbG9yOiB2YXIoIC0tSU5URVJOQUwtLWtlbmRvLXRvb2x0aXAtYm9yZGVyLCBpbml0aWFsICk7XG5cbiAgICAgICAgLmstY2FsbG91dCB7XG4gICAgICAgICAgICBjb2xvcjogdmFyKCAtLUlOVEVSTkFMLS1rZW5kby10b29sdGlwLWJnLCBpbml0aWFsICk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBAZWFjaCAkdGhlbWUtY29sb3IsICRjb2xvci1wcm9wcyBpbiAka2VuZG8tdG9vbHRpcC10aGVtZS1jb2xvcnMge1xuICAgICAgICAgICAgJF9iZzogbWFwLmdldCggJGNvbG9yLXByb3BzICwgYmcgKTtcbiAgICAgICAgICAgICRfdGV4dDogbWFwLmdldCggJGNvbG9yLXByb3BzICwgdGV4dCApO1xuICAgICAgICAgICAgJF9ib3JkZXI6IG1hcC5nZXQoICRjb2xvci1wcm9wcyAsIGJvcmRlciApO1xuXG4gICAgICAgIC5rLXRvb2x0aXAtI3skdGhlbWUtY29sb3J9IHtcbiAgICAgICAgICAgIC0ta2VuZG8tdG9vbHRpcC10ZXh0OiAjeyRfdGV4dH07XG4gICAgICAgICAgICAtLWtlbmRvLXRvb2x0aXAtYmc6ICN7JF9iZ307XG4gICAgICAgICAgICAtLWtlbmRvLXRvb2x0aXAtYm9yZGVyOiAjeyRfYm9yZGVyfTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5rLXRvb2x0aXAtYnV0dG9uIHtcbiAgICAgICAgY29sb3I6IHZhciggLS1rZW5kby10b29sdGlwLWJ1dHRvbi10ZXh0LCAjeyRrZW5kby10b29sdGlwLWJ1dHRvbi10ZXh0fSApO1xuICAgIH1cblxufVxuIiwiQHVzZSBcIi4vX3ZhcmlhYmxlcy5zY3NzXCIgYXMgKjtcblxuQG1peGluIGtlbmRvLXRpbWUtbWFya2VyLS1sYXlvdXQoKSB7XG5cbiAgICAuay1jdXJyZW50LXRpbWUge1xuICAgICAgICB3aWR0aDogdmFyKCAtLWtlbmRvLWN1cnJlbnQtdGltZS13aWR0aCwgI3ska2VuZG8tY3VycmVudC10aW1lLXdpZHRofSApO1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG5cbiAgICAgICAgJi5rLWN1cnJlbnQtdGltZS1hcnJvdy1sZWZ0LFxuICAgICAgICAmLmstY3VycmVudC10aW1lLWFycm93LXJpZ2h0LFxuICAgICAgICAmLmstY3VycmVudC10aW1lLWFycm93LWRvd24ge1xuICAgICAgICAgICAgd2lkdGg6IDA7XG4gICAgICAgICAgICBoZWlnaHQ6IDA7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgICAgICAgICAgIGJvcmRlcjogNHB4IHNvbGlkIHRyYW5zcGFyZW50O1xuICAgICAgICB9XG4gICAgfVxuXG59XG4iLCJAdXNlIFwiLi9fdmFyaWFibGVzLnNjc3NcIiBhcyAqO1xuXG5AbWl4aW4ga2VuZG8tdGltZS1tYXJrZXItLXRoZW1lKCkge1xuXG4gICAgLmstY3VycmVudC10aW1lIHtcbiAgICAgICAgYmFja2dyb3VuZDogdmFyKCAtLWtlbmRvLWN1cnJlbnQtdGltZS1jb2xvciwgI3ska2VuZG8tY3VycmVudC10aW1lLWNvbG9yfSApO1xuXG4gICAgICAgICYuay1jdXJyZW50LXRpbWUtYXJyb3ctbGVmdCB7XG4gICAgICAgICAgICBib3JkZXItcmlnaHQtY29sb3I6IHZhciggLS1rZW5kby1jdXJyZW50LXRpbWUtY29sb3IsICN7JGtlbmRvLWN1cnJlbnQtdGltZS1jb2xvcn0gKTtcbiAgICAgICAgfVxuXG4gICAgICAgICYuay1jdXJyZW50LXRpbWUtYXJyb3ctcmlnaHQge1xuICAgICAgICAgICAgYm9yZGVyLWxlZnQtY29sb3I6IHZhciggLS1rZW5kby1jdXJyZW50LXRpbWUtY29sb3IsICN7JGtlbmRvLWN1cnJlbnQtdGltZS1jb2xvcn0gKTtcbiAgICAgICAgfVxuXG4gICAgICAgICYuay1jdXJyZW50LXRpbWUtYXJyb3ctZG93biB7XG4gICAgICAgICAgICBib3JkZXItdG9wLWNvbG9yOiB2YXIoIC0ta2VuZG8tY3VycmVudC10aW1lLWNvbG9yLCAjeyRrZW5kby1jdXJyZW50LXRpbWUtY29sb3J9ICk7XG4gICAgICAgIH1cbiAgICB9XG5cbn1cbiIsIkB1c2UgXCJzYXNzOm1hcFwiO1xuQHVzZSBcIi4uL2NvcmUvX2luZGV4LnNjc3NcIiBhcyAqO1xuQHVzZSBcIi4vX3ZhcmlhYmxlcy5zY3NzXCIgYXMgKjtcblxuQG1peGluIGtlbmRvLW1lbnUtLWxheW91dCgpIHtcblxuICAgIC8vIE1lbnUgYmFyXG4gICAgLmstbWVudS1iYXIge1xuICAgICAgICBib3JkZXItd2lkdGg6IHZhciggLS1rZW5kby1tZW51LWJvcmRlci13aWR0aCwgI3ska2VuZG8tbWVudS1ib3JkZXItd2lkdGh9ICk7XG4gICAgICAgIGJvcmRlci1zdHlsZTogc29saWQ7XG4gICAgICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgICAgIG91dGxpbmU6IDA7XG4gICAgICAgIGZvbnQtZmFtaWx5OiB2YXIoIC0ta2VuZG8tbWVudS1mb250LWZhbWlseSwgI3ska2VuZG8tbWVudS1mb250LWZhbWlseX0gKTtcbiAgICAgICAgZm9udC1zaXplOiB2YXIoIC0ta2VuZG8tbWVudS1mb250LXNpemUsICN7JGtlbmRvLW1lbnUtZm9udC1zaXplfSApO1xuICAgICAgICBsaW5lLWhlaWdodDogdmFyKCAtLWtlbmRvLW1lbnUtbGluZS1oZWlnaHQsICN7JGtlbmRvLW1lbnUtbGluZS1oZWlnaHR9ICk7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGZsZXgtd3JhcDogbm93cmFwO1xuICAgICAgICBhbGlnbi1pdGVtczogc3RyZXRjaDtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICBjdXJzb3I6IGRlZmF1bHQ7XG4gICAgICAgIC13ZWJraXQtdG91Y2gtY2FsbG91dDogbm9uZTtcbiAgICAgICAgLXdlYmtpdC10YXAtaGlnaGxpZ2h0LWNvbG9yOiAka2VuZG8tY29sb3ItcmdiYS10cmFuc3BhcmVudDtcblxuICAgICAgICA+IC5rLXNlcGFyYXRvciB7XG4gICAgICAgICAgICBib3JkZXItd2lkdGg6IDA7XG4gICAgICAgIH1cblxuICAgICAgICAqLFxuICAgICAgICAqOjpiZWZvcmUsXG4gICAgICAgICo6OmFmdGVyIHtcbiAgICAgICAgICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgICAgIH1cbiAgICB9XG4gICAgLmstbWVudSB7IEBleHRlbmQgLmstbWVudS1iYXIgIW9wdGlvbmFsOyB9XG5cblxuICAgIC8vIE1lbnUgaXRlbVxuICAgIC5rLW1lbnUtaXRlbSB7XG4gICAgICAgIGJvcmRlci13aWR0aDogMDtcbiAgICAgICAgb3V0bGluZTogMDtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgZmxleC1mbG93OiBjb2x1bW4gbm93cmFwO1xuICAgICAgICBmbGV4OiBub25lO1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIHVzZXItc2VsZWN0OiBub25lO1xuXG4gICAgICAgICY6Zm9jdXMsXG4gICAgICAgICY6Zm9jdXMtdmlzaWJsZSxcbiAgICAgICAgJi5rLWZvY3VzIHtcbiAgICAgICAgICAgIG91dGxpbmUtb2Zmc2V0OiB2YXIoIC0ta2VuZG8tbWVudS1pdGVtLWZvY3VzLW91dGxpbmUtb2Zmc2V0LCAjeyRrZW5kby1tZW51LWl0ZW0tZm9jdXMtb3V0bGluZS1vZmZzZXR9ICk7XG4gICAgICAgICAgICBvdXRsaW5lLXdpZHRoOiB2YXIoIC0ta2VuZG8tbWVudS1pdGVtLWZvY3VzLW91dGxpbmUtd2lkdGgsICN7JGtlbmRvLW1lbnUtaXRlbS1mb2N1cy1vdXRsaW5lLXdpZHRofSApO1xuICAgICAgICAgICAgb3V0bGluZS1zdHlsZTogdmFyKCAtLWtlbmRvLW1lbnUtaXRlbS1mb2N1cy1vdXRsaW5lLXN0eWxlLCAjeyRrZW5kby1tZW51LWl0ZW0tZm9jdXMtb3V0bGluZS1zdHlsZX0gKTtcbiAgICAgICAgfVxuXG4gICAgICAgICYuay1zZWxlY3RlZCB7XG4gICAgICAgICAgICBmb250LXdlaWdodDogdmFyKCAtLWtlbmRvLW1lbnUtaXRlbS1zZWxlY3RlZC1mb250LXdlaWdodCwgI3ska2VuZG8tbWVudS1pdGVtLXNlbGVjdGVkLWZvbnQtd2VpZ2h0fSApO1xuICAgICAgICB9XG4gICAgfVxuXG5cbiAgICAvLyBNZW51IGxpbmtcbiAgICAuay1tZW51LWxpbmsge1xuICAgICAgICBwYWRkaW5nLWlubGluZTogdmFyKCAtLWtlbmRvLW1lbnUtaXRlbS1wYWRkaW5nLXgsICN7JGtlbmRvLW1lbnUtaXRlbS1wYWRkaW5nLXh9ICk7XG4gICAgICAgIHBhZGRpbmctYmxvY2s6IHZhciggLS1rZW5kby1tZW51LWl0ZW0tcGFkZGluZy15LCAjeyRrZW5kby1tZW51LWl0ZW0tcGFkZGluZy15fSApO1xuICAgICAgICBvdXRsaW5lOiAwO1xuICAgICAgICBjb2xvcjogaW5oZXJpdDtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgZmxleC1mbG93OiByb3cgbm93cmFwO1xuICAgICAgICBmbGV4OiAxIDEgYXV0bztcbiAgICAgICAgZ2FwOiB2YXIoIC0ta2VuZG8tbWVudS1pdGVtLWljb24tc3BhY2luZywgI3ska2VuZG8tbWVudS1pdGVtLWljb24tc3BhY2luZ30gKTtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgfVxuXG5cbiAgICAvLyBNZW51IGl0ZW0gdGV4dFxuICAgIC5rLW1lbnUtbGluay10ZXh0IHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgZmxleC1mbG93OiByb3cgbm93cmFwO1xuICAgICAgICBmbGV4OiAxIDEgYXV0bztcbiAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAgICAgdGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7XG4gICAgfVxuXG5cbiAgICAvLyBFeHBhbmQgYXJyb3dcbiAgICAuay1tZW51LWV4cGFuZC1hcnJvdyB7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICAgICAgICBmbGV4LWZsb3c6IHJvdyB3cmFwO1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICBmbGV4OiBub25lO1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgfVxuXG5cbiAgICAvLyBPcmllbnRhdGlvbiAtLSBob3Jpem9udGFsXG4gICAgLmstbWVudS1ob3Jpem9udGFsIHtcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IHJvdztcblxuICAgICAgICA+IC5rLW1lbnUtaXRlbSArIC5rLW1lbnUtaXRlbSB7XG4gICAgICAgICAgICBtYXJnaW4taW5saW5lLXN0YXJ0OiB2YXIoIC0ta2VuZG8tbWVudS1pdGVtLXNwYWNpbmcsICN7JGtlbmRvLW1lbnUtaXRlbS1zcGFjaW5nfSApO1xuICAgICAgICB9XG5cbiAgICAgICAgPiAuay1zZXBhcmF0b3Ige1xuICAgICAgICAgICAgbWFyZ2luLWJsb2NrOiB2YXIoLS1rZW5kby1tZW51LXNlcGFyYXRvci1tYXJnaW4tYmxvY2ssICN7JGtlbmRvLW1lbnUtc2VwYXJhdG9yLW1hcmdpbi1ibG9ja30pO1xuICAgICAgICAgICAgbWFyZ2luLWlubGluZTogdmFyKC0ta2VuZG8tbWVudS1zZXBhcmF0b3ItbWFyZ2luLWlubGluZSwgI3ska2VuZG8tbWVudS1zZXBhcmF0b3ItbWFyZ2luLWlubGluZX0pO1xuICAgICAgICAgICAgd2lkdGg6IDA7XG4gICAgICAgICAgICBoZWlnaHQ6IGF1dG87XG4gICAgICAgICAgICBib3JkZXItbGVmdC13aWR0aDogdmFyKCAtLWtlbmRvLW1lbnUtc2VwYXJhdG9yLXdpZHRoLCAjeyRrZW5kby1tZW51LXNlcGFyYXRvci13aWR0aH0pO1xuICAgICAgICAgICAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcbiAgICAgICAgfVxuICAgIH1cblxuXG4gICAgLy8gT3JpZW50YXRpb24gLS0gdmVydGljYWxcbiAgICAuay1tZW51LXZlcnRpY2FsIHtcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG5cbiAgICAgICAgPiAuay1tZW51LWl0ZW0gPiAuay1tZW51LWxpbmsge1xuICAgICAgICAgICAgcGFkZGluZy1pbmxpbmUtZW5kOiB2YXIoIC0ta2VuZG8tbWVudS1wb3B1cC1tZC1pdGVtLXBhZGRpbmctZW5kLCAjeyRrZW5kby1tZW51LXBvcHVwLW1kLWl0ZW0tcGFkZGluZy1lbmR9ICk7XG4gICAgICAgIH1cblxuICAgICAgICA+IC5rLW1lbnUtaXRlbSA+IC5rLW1lbnUtbGluayA+IC5rLW1lbnUtZXhwYW5kLWFycm93IHtcbiAgICAgICAgICAgIG1hcmdpbi1pbmxpbmUtc3RhcnQ6IHZhciggLS1rZW5kby1tZW51LXBvcHVwLWl0ZW0taWNvbi1tZC1tYXJnaW4tc3RhcnQsICN7JGtlbmRvLW1lbnUtcG9wdXAtaXRlbS1pY29uLW1kLW1hcmdpbi1zdGFydH0gKTtcbiAgICAgICAgICAgIG1hcmdpbi1pbmxpbmUtZW5kOiB2YXIoIC0ta2VuZG8tbWVudS1wb3B1cC1pdGVtLWljb24tbWQtbWFyZ2luLWVuZCwgI3ska2VuZG8tbWVudS1wb3B1cC1pdGVtLWljb24tbWQtbWFyZ2luLWVuZH0gKTtcbiAgICAgICAgfVxuXG4gICAgICAgID4gLmstbWVudS1pdGVtICsgLmstbWVudS1pdGVtIHtcbiAgICAgICAgICAgIG1hcmdpbi1ibG9jay1zdGFydDogdmFyKCAtLWtlbmRvLW1lbnUtaXRlbS1zcGFjaW5nLCAjeyRrZW5kby1tZW51LWl0ZW0tc3BhY2luZ30gKTtcbiAgICAgICAgfVxuXG4gICAgICAgID4gLmstc2VwYXJhdG9yIHtcbiAgICAgICAgICAgIG1hcmdpbi1ibG9jazogdmFyKC0ta2VuZG8tbWVudS1zZXBhcmF0b3ItbWFyZ2luLWlubGluZSwgI3ska2VuZG8tbWVudS1zZXBhcmF0b3ItbWFyZ2luLWlubGluZX0pO1xuICAgICAgICAgICAgbWFyZ2luLWlubGluZTogMDtcbiAgICAgICAgICAgIGhlaWdodDogMDtcbiAgICAgICAgICAgIGJvcmRlci13aWR0aDogMXB4IDAgMDtcbiAgICAgICAgICAgIGJvcmRlci1zdHlsZTogc29saWQ7XG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgfVxuICAgIH1cblxuXG4gICAgLy8gTWVudSBwb3B1cFxuICAgIC5rLW1lbnUtcG9wdXAge1xuICAgICAgICBwYWRkaW5nLWlubGluZTogdmFyKCAtLWtlbmRvLW1lbnUtcG9wdXAtcGFkZGluZy14LCAjeyRrZW5kby1tZW51LXBvcHVwLXBhZGRpbmcteH0gKTtcbiAgICAgICAgcGFkZGluZy1ibG9jazogdmFyKCAtLWtlbmRvLW1lbnUtcG9wdXAtcGFkZGluZy15LCAjeyRrZW5kby1tZW51LXBvcHVwLXBhZGRpbmcteX0gKTtcbiAgICAgICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICAgICAgYm9yZGVyLXdpZHRoOiB2YXIoIC0ta2VuZG8tbWVudS1wb3B1cC1ib3JkZXItd2lkdGgsICN7JGtlbmRvLW1lbnUtcG9wdXAtYm9yZGVyLXdpZHRofSApO1xuICAgICAgICBib3JkZXItc3R5bGU6IHNvbGlkO1xuICAgICAgICBvdmVyZmxvdzogYXV0bztcbiAgICAgICAgbWF4LWhlaWdodDogODB2aDtcblxuICAgICAgICAqLFxuICAgICAgICAqOjpiZWZvcmUsXG4gICAgICAgICo6OmFmdGVyIHtcbiAgICAgICAgICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgICAgIH1cblxuICAgICAgICAuay1tZW51LWl0ZW0ge1xuICAgICAgICAgICAgZm9udC13ZWlnaHQ6IGluaXRpYWw7XG4gICAgICAgIH1cbiAgICB9XG5cblxuICAgIC8vIFN1YiBtZW51XG4gICAgLmstbWVudS1ncm91cCB7XG4gICAgICAgIGZvbnQtc2l6ZTogdmFyKCAtLUlOVEVSTkFMLS1rZW5kby1ncm91cC1mb250LXNpemUsIGluaGVyaXQgKTtcbiAgICAgICAgbGluZS1oZWlnaHQ6IHZhciggLS1JTlRFUk5BTC0ta2VuZG8tZ3JvdXAtbGluZS1oZWlnaHQsIG5vcm1hbCApO1xuICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGZsZXgtZmxvdzogY29sdW1uIG5vd3JhcDtcbiAgICAgICAgZ2FwOiB2YXIoIC0ta2VuZG8tbWVudS1wb3B1cC1pdGVtLXNwYWNpbmcsICN7JGtlbmRvLW1lbnUtcG9wdXAtaXRlbS1zcGFjaW5nfSApO1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG5cbiAgICAgICAgLmstbWVudS1saW5rIHtcbiAgICAgICAgICAgIHBhZGRpbmctaW5saW5lLXN0YXJ0OiB2YXIoIC0tSU5URVJOQUwtLWtlbmRvLW1lbnUtcG9wdXAtaXRlbS1wYWRkaW5nLXggKTtcbiAgICAgICAgICAgIHBhZGRpbmctaW5saW5lLWVuZDogdmFyKCAtLUlOVEVSTkFMLS1rZW5kby1tZW51LXBvcHVwLWl0ZW0tcGFkZGluZy1lbmQgKTtcbiAgICAgICAgICAgIHBhZGRpbmctYmxvY2s6IHZhciggLS1JTlRFUk5BTC0ta2VuZG8tbWVudS1wb3B1cC1pdGVtLXBhZGRpbmcteSApO1xuICAgICAgICB9XG5cbiAgICAgICAgLmstbWVudS1leHBhbmQtYXJyb3cge1xuICAgICAgICAgICAgbWFyZ2luLWlubGluZS1zdGFydDogdmFyKCAtLUlOVEVSTkFMLS1rZW5kby1tZW51LXBvcHVwLWl0ZW0taWNvbi1tYXJnaW4tc3RhcnQgKTtcbiAgICAgICAgICAgIG1hcmdpbi1pbmxpbmUtZW5kOiB2YXIoIC0tSU5URVJOQUwtLWtlbmRvLW1lbnUtcG9wdXAtaXRlbS1pY29uLW1hcmdpbi1lbmQgKTtcbiAgICAgICAgfVxuXG4gICAgICAgIC5rLXNlcGFyYXRvciB7XG4gICAgICAgICAgICBtYXJnaW4tYmxvY2s6IHZhciggLS1rZW5kby1tZW51LXNlcGFyYXRvci1tYXJnaW4taW5saW5lLCAjeyRrZW5kby1tZW51LXNlcGFyYXRvci1tYXJnaW4taW5saW5lfSApO1xuICAgICAgICAgICAgbWFyZ2luLWlubGluZTogMDtcbiAgICAgICAgICAgIGhlaWdodDogMDtcbiAgICAgICAgICAgIGJvcmRlci13aWR0aDogMDtcbiAgICAgICAgICAgIGJvcmRlci10b3Atd2lkdGg6IHZhciggLS1rZW5kby1tZW51LXNlcGFyYXRvci13aWR0aCwgI3ska2VuZG8tbWVudS1zZXBhcmF0b3Itd2lkdGh9KTtcbiAgICAgICAgICAgIGJvcmRlci1zdHlsZTogc29saWQ7XG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgfVxuICAgIH1cbiAgICAuay1tZW51LXBvcHVwIC5rLW1lbnUtZ3JvdXAge1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgfVxuICAgIC5rLW1lbnUtZ3JvdXAsXG4gICAgLmstbWVudS5rLWNvbnRleHQtbWVudSB7XG5cbiAgICAgICAgLmstaXRlbSB7XG4gICAgICAgICAgICAmOmZvY3VzLFxuICAgICAgICAgICAgJjpmb2N1cy12aXNpYmxlLFxuICAgICAgICAgICAgJi5rLWZvY3VzIHtcblxuICAgICAgICAgICAgICAgID4gLmstbGluayB7XG4gICAgICAgICAgICAgICAgICAgIG91dGxpbmUtb2Zmc2V0OiB2YXIoIC0ta2VuZG8tbWVudS1pdGVtLWZvY3VzLW91dGxpbmUtb2Zmc2V0LCAjeyRrZW5kby1tZW51LWl0ZW0tZm9jdXMtb3V0bGluZS1vZmZzZXR9ICk7XG4gICAgICAgICAgICAgICAgICAgIG91dGxpbmUtd2lkdGg6IHZhciggLS1rZW5kby1tZW51LWl0ZW0tZm9jdXMtb3V0bGluZS13aWR0aCwgI3ska2VuZG8tbWVudS1pdGVtLWZvY3VzLW91dGxpbmUtd2lkdGh9ICk7XG4gICAgICAgICAgICAgICAgICAgIG91dGxpbmUtc3R5bGU6IHZhciggLS1rZW5kby1tZW51LWl0ZW0tZm9jdXMtb3V0bGluZS1zdHlsZSwgI3ska2VuZG8tbWVudS1pdGVtLWZvY3VzLW91dGxpbmUtc3R5bGV9ICk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG5cbiAgICAvLyBTaXplc1xuICAgIEBlYWNoICRzaXplLCAkc2l6ZS1wb3BzIGluICRrZW5kby1tZW51LXNpemVzIHtcblxuICAgICAgICAvLyBHcm91cCBzaXplc1xuICAgICAgICAkX2dyb3VwLWZvbnQtc2l6ZTogbWFwLmdldCggJHNpemUtcG9wcywgZ3JvdXAtZm9udC1zaXplICk7XG4gICAgICAgICRfZ3JvdXAtbGluZS1oZWlnaHQ6IG1hcC5nZXQoICRzaXplLXBvcHMsIGdyb3VwLWxpbmUtaGVpZ2h0ICk7XG5cbiAgICAgICAgLy8gTGluayBzaXplc1xuICAgICAgICAkX2xpbmstcGFkZGluZy14OiBtYXAuZ2V0KCAkc2l6ZS1wb3BzLCBsaW5rLXBhZGRpbmcteCApO1xuICAgICAgICAkX2xpbmstcGFkZGluZy15OiBtYXAuZ2V0KCAkc2l6ZS1wb3BzLCBsaW5rLXBhZGRpbmcteSApO1xuICAgICAgICAkX2xpbmstcGFkZGluZy1pbmxpbmUtZW5kOiBtYXAuZ2V0KCAkc2l6ZS1wb3BzLCBsaW5rLXBhZGRpbmctaW5saW5lLWVuZCApO1xuXG4gICAgICAgIC8vIEFycm93IHNpemVzXG4gICAgICAgICRfYXJyb3ctbWFyZ2luLWlubGluZS1zdGFydDogbWFwLmdldCggJHNpemUtcG9wcywgYXJyb3ctbWFyZ2luLWlubGluZS1zdGFydCApO1xuICAgICAgICAkX2Fycm93LW1hcmdpbi1pbmxpbmUtZW5kOiBtYXAuZ2V0KCAkc2l6ZS1wb3BzLCBhcnJvdy1tYXJnaW4taW5saW5lLWVuZCApO1xuXG4gICAgICAgIC5rLW1lbnUtZ3JvdXAtI3skc2l6ZX0ge1xuICAgICAgICAgICAgLS1JTlRFUk5BTC0ta2VuZG8tZ3JvdXAtZm9udC1zaXplOiB2YXIoIC0ta2VuZG8tbWVudS1wb3B1cC1mb250LXNpemUtI3skc2l6ZX0sICN7JF9ncm91cC1mb250LXNpemV9ICk7XG4gICAgICAgICAgICAtLUlOVEVSTkFMLS1rZW5kby1ncm91cC1saW5lLWhlaWdodDogdmFyKCAtLWtlbmRvLW1lbnUtcG9wdXAtbGluZS1oZWlnaHQtI3skc2l6ZX0sICN7JF9ncm91cC1saW5lLWhlaWdodH0gKTtcblxuICAgICAgICAgICAgLmstbWVudS1saW5rIHtcbiAgICAgICAgICAgICAgICAtLUlOVEVSTkFMLS1rZW5kby1tZW51LXBvcHVwLWl0ZW0tcGFkZGluZy14OiB2YXIoIC0ta2VuZG8tbWVudS1wb3B1cC1pdGVtLXBhZGRpbmcteC0jeyRzaXplfSwgI3skX2xpbmstcGFkZGluZy14fSApO1xuICAgICAgICAgICAgICAgIC0tSU5URVJOQUwtLWtlbmRvLW1lbnUtcG9wdXAtaXRlbS1wYWRkaW5nLXk6IHZhciggLS1rZW5kby1tZW51LXBvcHVwLWl0ZW0tcGFkZGluZy15LSN7JHNpemV9LCAjeyRfbGluay1wYWRkaW5nLXl9ICk7XG4gICAgICAgICAgICAgICAgLS1JTlRFUk5BTC0ta2VuZG8tbWVudS1wb3B1cC1pdGVtLXBhZGRpbmctZW5kOiB2YXIoIC0ta2VuZG8tbWVudS1wb3B1cC1pdGVtLXBhZGRpbmctZW5kLSN7JHNpemV9LCAjeyRfbGluay1wYWRkaW5nLWlubGluZS1lbmR9ICk7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC5rLW1lbnUtZXhwYW5kLWFycm93IHtcbiAgICAgICAgICAgICAgICAtLUlOVEVSTkFMLS1rZW5kby1tZW51LXBvcHVwLWl0ZW0taWNvbi1tYXJnaW4tc3RhcnQ6IHZhciggLS1rZW5kby1tZW51LXBvcHVwLWl0ZW0taWNvbi1tYXJnaW4tc3RhcnQtI3skc2l6ZX0sICN7JF9hcnJvdy1tYXJnaW4taW5saW5lLXN0YXJ0fSApO1xuICAgICAgICAgICAgICAgIC0tSU5URVJOQUwtLWtlbmRvLW1lbnUtcG9wdXAtaXRlbS1pY29uLW1hcmdpbi1lbmQ6IHZhciggLS1rZW5kby1tZW51LXBvcHVwLWl0ZW0taWNvbi1tYXJnaW4tZW5kLSN7JHNpemV9LCAjeyRfYXJyb3ctbWFyZ2luLWlubGluZS1lbmR9ICk7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8vIENvbnRleHQgbWVudVxuICAgIC5rLXBvcHVwcy13cmFwcGVyIHtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICBib3JkZXI6IDA7XG4gICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgcGFkZGluZzogMDtcbiAgICB9XG4gICAgLmstY29udGV4dC1tZW51IHtcbiAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICBwYWRkaW5nLWlubGluZTogdmFyKCAtLWtlbmRvLW1lbnUtcG9wdXAtcGFkZGluZy14LCAjeyRrZW5kby1tZW51LXBvcHVwLXBhZGRpbmcteH0gKTtcbiAgICAgICAgcGFkZGluZy1ibG9jazogdmFyKCAtLWtlbmRvLW1lbnUtcG9wdXAtcGFkZGluZy15LCAjeyRrZW5kby1tZW51LXBvcHVwLXBhZGRpbmcteX0gKTtcbiAgICAgICAgYm9yZGVyLXdpZHRoOiB2YXIoIC0ta2VuZG8tbWVudS1wb3B1cC1ib3JkZXItd2lkdGgsICN7JGtlbmRvLW1lbnUtcG9wdXAtYm9yZGVyLXdpZHRofSApO1xuICAgICAgICBib3JkZXItc3R5bGU6IHNvbGlkO1xuXG4gICAgICAgICYuay1tZW51LWhvcml6b250YWwge1xuICAgICAgICAgICAgcGFkZGluZy1pbmxpbmU6IHZhciggLS1rZW5kby1tZW51LXBvcHVwLXBhZGRpbmcteSwgI3ska2VuZG8tbWVudS1wb3B1cC1wYWRkaW5nLXl9ICk7XG4gICAgICAgICAgICBwYWRkaW5nLWJsb2NrOiB2YXIoIC0ta2VuZG8tbWVudS1wb3B1cC1wYWRkaW5nLXgsICN7JGtlbmRvLW1lbnUtcG9wdXAtcGFkZGluZy14fSApO1xuICAgICAgICB9XG4gICAgfVxuICAgIC5rLWFuaW1hdGlvbi1jb250YWluZXIgLmstY29udGV4dC1tZW51LmstbWVudS1ob3Jpem9udGFsIHtcbiAgICAgICAgLy8ga2VuZG8tanF1ZXJ5IGFkZHMgYGRpc3BsYXk6IGJsb2NrYCB2aWEganMgYW5kIHdlIG5lZWQgdG8gb3ZlcnJpZGUgaXQuXG4gICAgICAgIGRpc3BsYXk6IGZsZXggIWltcG9ydGFudDsgLy8gc3R5bGVsaW50LWRpc2FibGUtbGluZSBkZWNsYXJhdGlvbi1uby1pbXBvcnRhbnRcbiAgICAgICAgZmxleC13cmFwOiBub3dyYXA7XG4gICAgfVxuICAgIC5rLWNvbnRleHQtbWVudS1wb3B1cCB7XG4gICAgICAgIHotaW5kZXg6IDEyMDAwO1xuXG4gICAgICAgIC5rLWNvbnRleHQtbWVudSB7XG4gICAgICAgICAgICBib3JkZXItd2lkdGg6IDA7XG4gICAgICAgIH1cbiAgICB9XG4gICAgLmstcG9wdXAgLmstY29udGV4dC1tZW51LFxuICAgIC5rLWNvbnRleHQtbWVudS1wb3B1cCAuay1jb250ZXh0LW1lbnUge1xuICAgICAgICBib3JkZXItd2lkdGg6IDA7XG4gICAgfVxuXG5cbiAgICAvLyBTY3JvbGxpbmdcbiAgICAuay1tZW51LXNjcm9sbC13cmFwcGVyIHtcbiAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgICBib3JkZXI6IDA7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcblxuICAgICAgICAuay1tZW51IHtcbiAgICAgICAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgICAgICAgICBmbGV4LXdyYXA6IG5vd3JhcDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5rLW1lbnUtc2Nyb2xsLXdyYXBwZXItdmVydGljYWwge1xuICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuXG4gICAgICAgID4gLmstbWVudS1zY3JvbGwtYnV0dG9uIHtcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICB9XG4gICAgfVxuXG59XG5cbkBtaXhpbiBrZW5kby1tZW51LS1leHRlbmRlZC1sYXlvdXQoKSB7fVxuIiwiQHVzZSBcIi4uL2NvcmUvX2luZGV4LnNjc3NcIiBhcyAqO1xuQHVzZSAnX3ZhcmlhYmxlcy5zY3NzJyBhcyAqO1xuXG5AbWl4aW4ga2VuZG8tbWVudS0tdGhlbWUoKSB7XG4gICAgLmstbWVudTpub3QoLmstY29udGV4dC1tZW51KSB7XG4gICAgICAgIGNvbG9yOiB2YXIoIC0ta2VuZG8tbWVudS10ZXh0LCAjeyRrZW5kby1tZW51LXRleHR9ICk7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IHZhciggLS1rZW5kby1tZW51LWJnLCAjeyRrZW5kby1tZW51LWJnfSApO1xuICAgICAgICBib3JkZXItY29sb3I6IHZhciggLS1rZW5kby1tZW51LWJvcmRlciwgI3ska2VuZG8tbWVudS1ib3JkZXJ9ICk7XG4gICAgICAgIGJveC1zaGFkb3c6IHZhciggLS1rZW5kby1tZW51LXNoYWRvdywgI3ska2VuZG8tbWVudS1zaGFkb3d9ICk7XG5cbiAgICAgICAgPiAuay1pdGVtIHtcbiAgICAgICAgICAgIGNvbG9yOiB2YXIoIC0ta2VuZG8tbWVudS1pdGVtLXRleHQsICN7JGtlbmRvLW1lbnUtaXRlbS10ZXh0fSApO1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKCAtLWtlbmRvLW1lbnUtaXRlbS1iZywgI3ska2VuZG8tbWVudS1pdGVtLWJnfSApO1xuXG4gICAgICAgICAgICAmOmhvdmVyLFxuICAgICAgICAgICAgJi5rLWhvdmVyIHtcbiAgICAgICAgICAgICAgICBjb2xvcjogdmFyKCAtLWtlbmRvLW1lbnUtaXRlbS1ob3Zlci10ZXh0LCAjeyRrZW5kby1tZW51LWl0ZW0taG92ZXItdGV4dH0gKTtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoIC0ta2VuZG8tbWVudS1pdGVtLWhvdmVyLWJnLCAjeyRrZW5kby1tZW51LWl0ZW0taG92ZXItYmd9ICk7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICY6Zm9jdXMsXG4gICAgICAgICAgICAmLmstZm9jdXMge1xuICAgICAgICAgICAgICAgIGNvbG9yOiB2YXIoIC0ta2VuZG8tbWVudS1pdGVtLWZvY3VzLXRleHQsICN7JGtlbmRvLW1lbnUtaXRlbS1mb2N1cy10ZXh0fSApO1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHZhciggLS1rZW5kby1tZW51LWl0ZW0tZm9jdXMtYmcsICN7JGtlbmRvLW1lbnUtaXRlbS1mb2N1cy1iZ30gKTtcbiAgICAgICAgICAgICAgICBvdXRsaW5lLWNvbG9yOiB2YXIoIC0ta2VuZG8tbWVudS1pdGVtLWZvY3VzLW91dGxpbmUsICN7JGtlbmRvLW1lbnUtaXRlbS1mb2N1cy1vdXRsaW5lfSApO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAmOmFjdGl2ZSxcbiAgICAgICAgICAgICYuay1hY3RpdmUge1xuICAgICAgICAgICAgICAgIGNvbG9yOiB2YXIoIC0ta2VuZG8tbWVudS1pdGVtLWFjdGl2ZS10ZXh0LCAjeyRrZW5kby1tZW51LWl0ZW0tYWN0aXZlLXRleHR9ICk7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKCAtLWtlbmRvLW1lbnUtaXRlbS1hY3RpdmUtYmcsICN7JGtlbmRvLW1lbnUtaXRlbS1hY3RpdmUtYmd9ICk7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICYuay1kaXNhYmxlZCB7XG4gICAgICAgICAgICAgICAgY29sb3I6IHZhciggLS1rZW5kby1tZW51LWl0ZW0tZGlzYWJsZWQtdGV4dCwgI3ska2VuZG8tbWVudS1pdGVtLWRpc2FibGVkLXRleHR9ICk7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKCAtLWtlbmRvLW1lbnUtaXRlbS1kaXNhYmxlZC1iZywgI3ska2VuZG8tbWVudS1pdGVtLWRpc2FibGVkLWJnfSApO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAmLmstc2VsZWN0ZWQge1xuICAgICAgICAgICAgICAgIGNvbG9yOiB2YXIoIC0ta2VuZG8tbWVudS1pdGVtLXNlbGVjdGVkLXRleHQsICN7JGtlbmRvLW1lbnUtaXRlbS1zZWxlY3RlZC10ZXh0fSApO1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHZhciggLS1rZW5kby1tZW51LWl0ZW0tc2VsZWN0ZWQtYmcsICN7JGtlbmRvLW1lbnUtaXRlbS1zZWxlY3RlZC1iZ30gKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC5rLWxpbmsgPiAuay1pY29uIHtcbiAgICAgICAgICAgIGNvbG9yOiB2YXIoIC0ta2VuZG8tbWVudS1pY29uLWNvbG9yLCAjeyRrZW5kby1tZW51LWljb24tY29sb3J9ICk7XG4gICAgICAgIH1cblxuICAgICAgICA+IC5rLXNlcGFyYXRvciB7XG4gICAgICAgICAgICBAaW5jbHVkZSBmaWxsKFxuICAgICAgICAgICAgICAgICRib3JkZXI6IHZhciggLS1rZW5kby1tZW51LXNlcGFyYXRvci1ib3JkZXIsICN7JGtlbmRvLW1lbnUtc2VwYXJhdG9yLWJvcmRlcn0gKVxuICAgICAgICAgICAgKTtcbiAgICAgICAgfVxuXG4gICAgfVxuXG4gICAgLmstbWVudS1wb3B1cCB7XG4gICAgICAgIGJveC1zaGFkb3c6IHZhciggLS1rZW5kby1tZW51LXBvcHVwLXNoYWRvdywgI3ska2VuZG8tbWVudS1wb3B1cC1zaGFkb3d9ICk7XG4gICAgfVxuXG4gICAgLmstbWVudS1ncm91cCxcbiAgICAuay1tZW51LmstY29udGV4dC1tZW51IHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKCAtLWtlbmRvLW1lbnUtcG9wdXAtYmcsICN7JGtlbmRvLW1lbnUtcG9wdXAtYmd9ICk7XG4gICAgICAgIGJvcmRlci1jb2xvcjogdmFyKCAtLWtlbmRvLW1lbnUtcG9wdXAtYm9yZGVyLCAjeyRrZW5kby1tZW51LXBvcHVwLWJvcmRlcn0gKTtcblxuICAgICAgICAuay1pdGVtIHtcblxuICAgICAgICAgICAgJiA+IC5rLWxpbmsge1xuICAgICAgICAgICAgICAgIGNvbG9yOiB2YXIoIC0ta2VuZG8tbWVudS1wb3B1cC1pdGVtLXRleHQsICN7JGtlbmRvLW1lbnUtcG9wdXAtaXRlbS10ZXh0fSApO1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHZhciggLS1rZW5kby1tZW51LXBvcHVwLWl0ZW0tYmcsICN7JGtlbmRvLW1lbnUtcG9wdXAtaXRlbS1iZ30gKTtcblxuICAgICAgICAgICAgICAgICY6aG92ZXIsXG4gICAgICAgICAgICAgICAgJi5rLWhvdmVyIHtcbiAgICAgICAgICAgICAgICAgICAgY29sb3I6IHZhciggLS1rZW5kby1tZW51LXBvcHVwLWl0ZW0taG92ZXItdGV4dCwgI3ska2VuZG8tbWVudS1wb3B1cC1pdGVtLWhvdmVyLXRleHR9ICk7XG4gICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHZhciggLS1rZW5kby1tZW51LXBvcHVwLWl0ZW0taG92ZXItYmcsICN7JGtlbmRvLW1lbnUtcG9wdXAtaXRlbS1ob3Zlci1iZ30gKTtcbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAmOmFjdGl2ZSxcbiAgICAgICAgICAgICAgICAmLmstYWN0aXZlLFxuICAgICAgICAgICAgICAgICYuay1zZWxlY3RlZCB7XG4gICAgICAgICAgICAgICAgICAgIGNvbG9yOiB2YXIoIC0ta2VuZG8tbWVudS1wb3B1cC1pdGVtLWFjdGl2ZS10ZXh0LCAjeyRrZW5kby1tZW51LXBvcHVwLWl0ZW0tYWN0aXZlLXRleHR9ICk7XG4gICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHZhciggLS1rZW5kby1tZW51LXBvcHVwLWl0ZW0tYWN0aXZlLWJnLCAjeyRrZW5kby1tZW51LXBvcHVwLWl0ZW0tYWN0aXZlLWJnfSApO1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICYuay1kaXNhYmxlZCB7XG4gICAgICAgICAgICAgICAgICAgIGNvbG9yOiB2YXIoIC0ta2VuZG8tbWVudS1wb3B1cC1pdGVtLWRpc2FibGVkLXRleHQsICN7JGtlbmRvLW1lbnUtcG9wdXAtaXRlbS1kaXNhYmxlZC10ZXh0fSApO1xuICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoIC0ta2VuZG8tbWVudS1wb3B1cC1pdGVtLWRpc2FibGVkLWJnLCAjeyRrZW5kby1tZW51LXBvcHVwLWl0ZW0tZGlzYWJsZWQtYmd9ICk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAmOmZvY3VzLFxuICAgICAgICAgICAgJjpmb2N1cy12aXNpYmxlLFxuICAgICAgICAgICAgJi5rLWZvY3VzIHtcblxuICAgICAgICAgICAgICAgIG91dGxpbmUtY29sb3I6IHRyYW5zcGFyZW50O1xuXG4gICAgICAgICAgICAgICAgPiAuay1saW5rIHtcbiAgICAgICAgICAgICAgICAgICAgb3V0bGluZS1jb2xvcjogdmFyKCAtLWtlbmRvLW1lbnUtcG9wdXAtaXRlbS1mb2N1cy1vdXRsaW5lLCAjeyRrZW5kby1tZW51LXBvcHVwLWl0ZW0tZm9jdXMtb3V0bGluZX0gKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICA+IC5rLXNlcGFyYXRvciB7XG4gICAgICAgICAgICBAaW5jbHVkZSBmaWxsKFxuICAgICAgICAgICAgICAgICRib3JkZXI6IHZhciggLS1rZW5kby1tZW51LXNlcGFyYXRvci1ib3JkZXIsICN7JGtlbmRvLW1lbnUtc2VwYXJhdG9yLWJvcmRlcn0gKVxuICAgICAgICAgICAgKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5rLW1lbnUtc2Nyb2xsLXdyYXBwZXIgLmstbWVudS1zY3JvbGwtYnV0dG9uIHtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiB2YXIoIC0ta2VuZG8tbWVudS1zY3JvbGwtYnRuLWJnLCB0cmFuc3BhcmVudCApO1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoIC0ta2VuZG8tbWVudS1zY3JvbGwtYnRuLWJnLCB2YXIoIC0ta2VuZG8tYm9keS1iZywgI3ska2VuZG8tYm9keS1iZ30gKSApO1xuICAgIH1cbn1cblxuQG1peGluIGtlbmRvLW1lbnUtLWV4dGVuZGVkLXRoZW1lKCkge31cbiIsIkB1c2UgXCJzYXNzOm1hcFwiO1xuQHVzZSBcIi4uL2NvcmUvX2luZGV4LnNjc3NcIiBhcyAqO1xuQHVzZSBcIi4uL2J1dHRvbi9fdmFyaWFibGVzLnNjc3NcIiBhcyAqO1xuQHVzZSBcIi4vX3ZhcmlhYmxlcy5zY3NzXCIgYXMgKjtcblxuQG1peGluIGtlbmRvLXRvb2xiYXItLWxheW91dCgpIHtcblxuICAgIC8vIEJhc2VcbiAgICAuay10b29sYmFyIHtcbiAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICBwYWRkaW5nLWlubGluZTogdmFyKCAtLUlOVEVSTkFMLS1rZW5kby10b29sYmFyLXBhZGRpbmcteCwgMCApO1xuICAgICAgICBwYWRkaW5nLWJsb2NrOiB2YXIoIC0tSU5URVJOQUwtLWtlbmRvLXRvb2xiYXItcGFkZGluZy15LCAwICk7XG4gICAgICAgIGJvcmRlci13aWR0aDogdmFyKCAtLWtlbmRvLXRvb2xiYXItYm9yZGVyLXdpZHRoLCAjeyRrZW5kby10b29sYmFyLWJvcmRlci13aWR0aH0gKTtcbiAgICAgICAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcbiAgICAgICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICAgICAgb3V0bGluZTogMDtcbiAgICAgICAgZm9udC1mYW1pbHk6IHZhciggLS1rZW5kby10b29sYmFyLWZvbnQtZmFtaWx5LCAjeyRrZW5kby10b29sYmFyLWZvbnQtZmFtaWx5fSApO1xuICAgICAgICBmb250LXNpemU6IHZhciggLS1rZW5kby10b29sYmFyLWZvbnQtc2l6ZSwgI3ska2VuZG8tdG9vbGJhci1mb250LXNpemV9ICk7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiB2YXIoIC0ta2VuZG8tdG9vbGJhci1saW5lLWhlaWdodCwgI3ska2VuZG8tdG9vbGJhci1saW5lLWhlaWdodH0gKTtcbiAgICAgICAgbGlzdC1zdHlsZTogbm9uZTtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgZmxleC1mbG93OiByb3cgd3JhcDtcbiAgICAgICAgZ2FwOiB2YXIoIC0tSU5URVJOQUwtLWtlbmRvLXRvb2xiYXItc3BhY2luZywgMCApO1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAgICAgLXdlYmtpdC10b3VjaC1jYWxsb3V0OiBub25lO1xuICAgICAgICAtd2Via2l0LXRhcC1oaWdobGlnaHQtY29sb3I6ICRrZW5kby1jb2xvci1yZ2JhLXRyYW5zcGFyZW50O1xuXG4gICAgICAgIC8vIFJlbW92ZSBvbmNlIHdlIGRlY2lkZSB0byBub3Qgc2l6ZSBlbXB0eSBjb250YWluZXJzXG4gICAgICAgICY6OmJlZm9yZSB7XG4gICAgICAgICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgICAgICAgaGVpZ2h0OiAka2VuZG8tYnV0dG9uLWlubmVyLWNhbGMtc2l6ZTtcbiAgICAgICAgICAgIG1hcmdpbi1pbmxpbmUtc3RhcnQ6IGNhbGMoIHZhciggLS1JTlRFUk5BTC0ta2VuZG8tdG9vbGJhci1zcGFjaW5nLCAwICkgKiAtMSApO1xuICAgICAgICB9XG5cbiAgICAgICAgJi5rLXRvb2xiYXItcmVzaXphYmxlIHtcbiAgICAgICAgICAgIGZsZXgtd3JhcDogbm93cmFwO1xuICAgICAgICB9XG5cbiAgICAgICAgJi5rLXRvb2xiYXItc2Nyb2xsYWJsZSB7XG4gICAgICAgICAgICBmbGV4LXdyYXA6IG5vd3JhcDtcbiAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgICAgIG1hcmdpbi1pbmxpbmUtc3RhcnQ6IGNhbGMoIHZhciggLS1JTlRFUk5BTC0ta2VuZG8tdG9vbGJhci1zcGFjaW5nLCAwICkgKiAtMSApO1xuICAgICAgICB9XG5cbiAgICAgICAgJi5rLXRvb2xiYXItc2Nyb2xsYWJsZS1vdmVybGF5IHtcblxuICAgICAgICAgICAgJjo6YmVmb3JlLFxuICAgICAgICAgICAgJjo6YWZ0ZXIge1xuICAgICAgICAgICAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgICAgICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgICAgICAgICBhc3BlY3QtcmF0aW86IDE7XG4gICAgICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgICAgIHotaW5kZXg6IDM7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICY6OmJlZm9yZSB7XG4gICAgICAgICAgICAgICAgaW5zZXQtaW5saW5lLXN0YXJ0OiB2YXIoIC0tSU5URVJOQUwtLWtlbmRvLXRvb2xiYXItc3BhY2luZywgMCApO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAmOjphZnRlciB7XG4gICAgICAgICAgICAgICAgaW5zZXQtaW5saW5lLWVuZDogMDtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgJi5rLXRvb2xiYXItc2Nyb2xsYWJsZS1zdGFydDo6YmVmb3JlLFxuICAgICAgICAgICAgJi5rLXRvb2xiYXItc2Nyb2xsYWJsZS1lbmQ6OmFmdGVyIHtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgPiAqIHtcbiAgICAgICAgICAgIGZsZXgtc2hyaW5rOiAwO1xuICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gICAgICAgICAgICBhbGlnbi1jb250ZW50OiBjZW50ZXI7XG4gICAgICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuXG4gICAgICAgICAgICA+IGxhYmVsIHtcbiAgICAgICAgICAgICAgICBtYXJnaW4taW5saW5lLWVuZDogdmFyKCAtLUlOVEVSTkFMLS1rZW5kby10b29sYmFyLXNwYWNpbmcsIDAgKTtcbiAgICAgICAgICAgICAgICBhbGlnbi1zZWxmOiBjZW50ZXI7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAvLyBJbnB1dFxuICAgICAgICAuay1pbnB1dCxcbiAgICAgICAgLmstcGlja2VyIHtcbiAgICAgICAgICAgIHdpZHRoOiB2YXIoIC0ta2VuZG8tdG9vbGJhci1pbnB1dC13aWR0aCwgI3ska2VuZG8tdG9vbGJhci1pbnB1dC13aWR0aH0gKTtcbiAgICAgICAgfVxuICAgICAgICAuay1jb2xvci1waWNrZXIge1xuICAgICAgICAgICAgd2lkdGg6IG1pbi1jb250ZW50O1xuICAgICAgICB9XG5cblxuICAgICAgICAvLyBPdmVyZmxvdyBhbmNob3JcbiAgICAgICAgLmstdG9vbGJhci1vdmVyZmxvdy1idXR0b24ge1xuICAgICAgICAgICAgbWFyZ2luLWlubGluZS1zdGFydDogYXV0bztcbiAgICAgICAgfVxuXG4gICAgICAgIC8vIE92ZXJmbG93IHNlcGFyYXRvclxuICAgICAgICAuay10b29sYmFyLXNlcGFyYXRvci5rLXRvb2xiYXItYnV0dG9uLXNlcGFyYXRvciB7XG4gICAgICAgICAgICBtYXJnaW4taW5saW5lLXN0YXJ0OiBhdXRvO1xuICAgICAgICAgICAgaGVpZ2h0OiB2YXIoIC0tSU5URVJOQUwtLWtlbmRvLXRvb2xiYXItc2VwYXJhdG9yLWhlaWdodCwgMTAwJSApO1xuXG4gICAgICAgICAgICArIC5rLXRvb2xiYXItb3ZlcmZsb3ctYnV0dG9uIHtcbiAgICAgICAgICAgICAgICBtYXJnaW4taW5saW5lLXN0YXJ0OiAwO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLy8gU3BhY2VyXG4gICAgICAgIC5rLXRvb2xiYXItc3BhY2VyIHtcbiAgICAgICAgICAgIGhlaWdodDogY2FsYyggdmFyKCAtLWtlbmRvLXRvb2xiYXItbGluZS1oZWlnaHQsICN7JGtlbmRvLXRvb2xiYXItbGluZS1oZWlnaHR9ICkgKiAxZW0gKTtcbiAgICAgICAgICAgIGZsZXg6IDEgMCAwJTtcbiAgICAgICAgfVxuXG4gICAgICAgIC8vIFRlbXBsYXRlIGl0ZW1cbiAgICAgICAgLmstdG9vbGJhci1pdGVtOmZvY3VzLFxuICAgICAgICAuay10b29sYmFyLWl0ZW0uay1mb2N1cyB7XG4gICAgICAgICAgICBvdXRsaW5lLXdpZHRoOiB2YXIoIC0ta2VuZG8tdG9vbGJhci1pdGVtLWZvY3VzLW91dGxpbmUtd2lkdGgsICN7JGtlbmRvLXRvb2xiYXItaXRlbS1mb2N1cy1vdXRsaW5lLXdpZHRofSApO1xuICAgICAgICAgICAgb3V0bGluZS1zdHlsZTogdmFyKCAtLWtlbmRvLXRvb2xiYXItaXRlbS1mb2N1cy1vdXRsaW5lLXN0eWxlLCAjeyRrZW5kby10b29sYmFyLWl0ZW0tZm9jdXMtb3V0bGluZS1zdHlsZX0gKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8vIFNlcGFyYXRvclxuICAgIC5rLXRvb2xiYXIgLmstc2VwYXJhdG9yLFxuICAgIC5rLXRvb2xiYXItc2VwYXJhdG9yIHtcbiAgICAgICAgd2lkdGg6IDA7XG4gICAgICAgIGhlaWdodDogY2FsYyggdmFyKCAtLWtlbmRvLXRvb2xiYXItbGluZS1oZWlnaHQsICN7JGtlbmRvLXRvb2xiYXItbGluZS1oZWlnaHR9ICkgKiAxZW0gKTtcbiAgICAgICAgYm9yZGVyLXdpZHRoOiAwIDAgMCAxcHg7XG4gICAgICAgIGJvcmRlci1zdHlsZTogc29saWQ7XG4gICAgICAgIGFsaWduLXNlbGY6IGNlbnRlcjtcbiAgICB9XG5cbiAgICAuay10b29sYmFyLWl0ZW1zIHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgZmxleC1mbG93OiByb3cgbm93cmFwO1xuICAgICAgICBnYXA6IHZhciggLS1JTlRFUk5BTC0ta2VuZG8tdG9vbGJhci1zcGFjaW5nLCAwICk7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDtcbiAgICAgICAgZmxleDogMSAxIGF1dG87XG4gICAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgfVxuXG4gICAgLmstdG9vbGJhci1pdGVtcy1zY3JvbGwge1xuICAgICAgICBvdmVyZmxvdy14OiBhdXRvO1xuICAgICAgICBzY3JvbGxiYXItd2lkdGg6IG5vbmU7XG5cbiAgICAgICAgJjo6LXdlYmtpdC1zY3JvbGxiYXIge1xuICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5rLXRvb2xiYXItaXRlbXMtbGlzdCB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGZsZXgtZmxvdzogcm93IHdyYXA7XG4gICAgICAgIHBhZGRpbmctaW5saW5lOiB2YXIoIC0tSU5URVJOQUwtLWtlbmRvLXRvb2xiYXItcGFkZGluZy14LCAwICk7XG4gICAgICAgIHBhZGRpbmctYmxvY2s6IHZhciggLS1JTlRFUk5BTC0ta2VuZG8tdG9vbGJhci1wYWRkaW5nLXksIDAgKTtcbiAgICAgICAgZ2FwOiB2YXIoIC0tSU5URVJOQUwtLWtlbmRvLXRvb2xiYXItc3BhY2luZywgMCApO1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7XG4gICAgICAgIGZsZXg6IDEgMSBhdXRvO1xuICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIH1cblxuICAgIC8vIE91dGxpbmUgVG9vbGJhclxuICAgIC5rLXRvb2xiYXItb3V0bGluZSB7XG4gICAgICAgIGJvcmRlci13aWR0aDogdmFyKCAtLWtlbmRvLXRvb2xiYXItb3V0bGluZS1ib3JkZXItd2lkdGgsICN7JGtlbmRvLXRvb2xiYXItb3V0bGluZS1ib3JkZXItd2lkdGh9ICk7XG4gICAgICAgIGJhY2tncm91bmQ6IG5vbmU7XG4gICAgfVxuXG4gICAgLy8gRmxhdCBUb29sYmFyXG4gICAgLmstdG9vbGJhci1mbGF0IHtcbiAgICAgICAgYm9yZGVyLXRvcC1jb2xvcjogdHJhbnNwYXJlbnQgIWltcG9ydGFudDsgLy8gc3R5bGVsaW50LWRpc2FibGUtbGluZSBkZWNsYXJhdGlvbi1uby1pbXBvcnRhbnRcbiAgICAgICAgYm9yZGVyLWlubGluZS1jb2xvcjogdHJhbnNwYXJlbnQgIWltcG9ydGFudDsgLy8gc3R5bGVsaW50LWRpc2FibGUtbGluZSBkZWNsYXJhdGlvbi1uby1pbXBvcnRhbnRcbiAgICAgICAgYmFja2dyb3VuZDogbm9uZSAhaW1wb3J0YW50OyAgLy8gc3R5bGVsaW50LWRpc2FibGUtbGluZSBkZWNsYXJhdGlvbi1uby1pbXBvcnRhbnRcbiAgICB9XG5cbiAgICAvLyBUb29sYmFyIGdyb3VwXG4gICAgLmstdG9vbGJhci1ncm91cCB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiBpbmhlcml0O1xuICAgICAgICBmbGV4LXdyYXA6IG5vd3JhcDtcbiAgICAgICAgZ2FwOiBpbmhlcml0O1xuICAgIH1cblxuICAgIC8vIFRvb2xiYXIgc2l6ZXNcbiAgICBAZWFjaCAkc2l6ZSwgJHNpemUtcHJvcHMgaW4gJGtlbmRvLXRvb2xiYXItc2l6ZXMge1xuICAgICAgICAkX3BhZGRpbmcteDogbWFwLmdldCggJHNpemUtcHJvcHMsIHBhZGRpbmcteCApO1xuICAgICAgICAkX3BhZGRpbmcteTogbWFwLmdldCggJHNpemUtcHJvcHMsIHBhZGRpbmcteSApO1xuICAgICAgICAkX3NwYWNpbmc6IG1hcC5nZXQoICRzaXplLXByb3BzLCBzcGFjaW5nICk7XG4gICAgICAgICRfc2VwYXJhdG9yLWhlaWdodDogbWFwLmdldCggJHNpemUtcHJvcHMsIHNlcGFyYXRvci1oZWlnaHQgKTtcblxuICAgICAgICAuay10b29sYmFyLSN7JHNpemV9LFxuICAgICAgICAuay10b29sYmFyLWl0ZW1zLWxpc3QtI3skc2l6ZX0ge1xuICAgICAgICAgICAgLS1JTlRFUk5BTC0ta2VuZG8tdG9vbGJhci1wYWRkaW5nLXg6IHZhciggLS1rZW5kby10b29sYmFyLSN7JHNpemV9LXBhZGRpbmcteCwgI3skX3BhZGRpbmcteH0gKTtcbiAgICAgICAgICAgIC0tSU5URVJOQUwtLWtlbmRvLXRvb2xiYXItcGFkZGluZy15OiB2YXIoIC0ta2VuZG8tdG9vbGJhci0jeyRzaXplfS1wYWRkaW5nLXksICN7JF9wYWRkaW5nLXl9ICk7XG4gICAgICAgICAgICAtLUlOVEVSTkFMLS1rZW5kby10b29sYmFyLXNwYWNpbmc6IHZhciggLS1rZW5kby10b29sYmFyLSN7JHNpemV9LXNwYWNpbmcsICN7JF9zcGFjaW5nfSApO1xuICAgICAgICAgICAgLS1JTlRFUk5BTC0ta2VuZG8tdG9vbGJhci1zZXBhcmF0b3ItaGVpZ2h0OiB2YXIoIC0ta2VuZG8tdG9vbGJhci0jeyRzaXplfS1zZXBhcmF0b3ItaGVpZ2h0LCAjeyRfc2VwYXJhdG9yLWhlaWdodH0gKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8vIFJlbW92ZSBvbmNlIHdlIGRlY2lkZSB0byBub3Qgc2l6ZSBlbXB0eSBjb250YWluZXJzXG4gICAgLmstdG9vbGJhci1zbTo6YmVmb3JlIHtcbiAgICAgICAgaGVpZ2h0OiB2YXIoIC0ta2VuZG8tYnV0dG9uLXNtLWlubmVyLWNhbGMtc2l6ZSwgI3ska2VuZG8tYnV0dG9uLXNtLWlubmVyLWNhbGMtc2l6ZX0gKTtcbiAgICB9XG4gICAgLmstdG9vbGJhci1tZDo6YmVmb3JlIHtcbiAgICAgICAgaGVpZ2h0OiB2YXIoIC0ta2VuZG8tYnV0dG9uLW1kLWlubmVyLWNhbGMtc2l6ZSwgI3ska2VuZG8tYnV0dG9uLW1kLWlubmVyLWNhbGMtc2l6ZX0gKTtcbiAgICB9XG4gICAgLmstdG9vbGJhci1sZzo6YmVmb3JlIHtcbiAgICAgICAgaGVpZ2h0OiB2YXIoIC0ta2VuZG8tYnV0dG9uLWxnLWlubmVyLWNhbGMtc2l6ZSwgI3ska2VuZG8tYnV0dG9uLWxnLWlubmVyLWNhbGMtc2l6ZX0gKTtcbiAgICB9XG5cbiAgICAvLyBzdHlsZWxpbnQtZGlzYWJsZSBzZWxlY3Rvci1jbGFzcy1wYXR0ZXJuXG4gICAgLmstZmxvYXRpbmctdG9vbGJhcixcbiAgICAuZWRpdG9yVG9vbGJhcldpbmRvdy5rLXdpbmRvdy1jb250ZW50IHtcbiAgICAgICAgcGFkZGluZy1pbmxpbmU6IHZhciggLS1rZW5kby10b29sYmFyLW1kLXBhZGRpbmcteCwgI3ska2VuZG8tdG9vbGJhci1tZC1wYWRkaW5nLXh9ICkgIWltcG9ydGFudDsgLy8gc3R5bGVsaW50LWRpc2FibGUtbGluZSBkZWNsYXJhdGlvbi1uby1pbXBvcnRhbnRcbiAgICAgICAgcGFkZGluZy1ibG9jazogdmFyKCAtLWtlbmRvLXRvb2xiYXItbWQtcGFkZGluZy15LCAjeyRrZW5kby10b29sYmFyLW1kLXBhZGRpbmcteX0gKSAhaW1wb3J0YW50OyAvLyBzdHlsZWxpbnQtZGlzYWJsZS1saW5lIGRlY2xhcmF0aW9uLW5vLWltcG9ydGFudFxuICAgICAgICBib3JkZXItd2lkdGg6IHZhciggLS1rZW5kby10b29sYmFyLWJvcmRlci13aWR0aCwgI3ska2VuZG8tdG9vbGJhci1ib3JkZXItd2lkdGh9ICk7XG4gICAgICAgIGJvcmRlci1zdHlsZTogc29saWQ7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGZsZXgtZmxvdzogcm93IG5vd3JhcDtcbiAgICAgICAgZ2FwOiB2YXIoIC0ta2VuZG8tdG9vbGJhci1tZC1zcGFjaW5nLCAjeyRrZW5kby10b29sYmFyLW1kLXNwYWNpbmd9ICk7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cbiAgICAgICAgLmstdG9vbGJhciB7XG4gICAgICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgICAgICAgYm9yZGVyLXdpZHRoOiAwO1xuICAgICAgICAgICAgZmxleC1zaHJpbms6IDE7XG4gICAgICAgICAgICBjb2xvcjogaW5oZXJpdDtcbiAgICAgICAgICAgIGJhY2tncm91bmQ6IG5vbmU7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAuay1lZGl0b3J0b29sYmFyLWRyYWdIYW5kbGUge1xuICAgICAgICBjdXJzb3I6IG1vdmU7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgIGFsaWduLXNlbGY6IHN0cmV0Y2g7XG4gICAgICAgIGZsZXgtc2hyaW5rOiAwO1xuICAgIH1cbiAgICAvLyBzdHlsZWxpbnQtZW5hYmxlIHNlbGVjdG9yLWNsYXNzLXBhdHRlcm5cblxuXG4gICAgLy8gUmVtb3ZlIG9uY2UgdGhlIE92ZXJmbG93IFBvcHVwIHVzZXNcbiAgICAvLyB0aGUgcHJvcGVyIE1lbnUgcmVuZGVyaW5nIGluIGFsbCBzdWl0ZXMuXG4gICAgLmstb3ZlcmZsb3ctY29udGFpbmVyIHtcbiAgICAgICAgZm9udC1zaXplOiB2YXIoIC0ta2VuZG8tbWVudS1wb3B1cC1tZC1mb250LXNpemUsIGluaGVyaXQgKTtcbiAgICAgICAgbGluZS1oZWlnaHQ6IHZhciggLS1rZW5kby1tZW51LXBvcHVwLW1kLWxpbmUtaGVpZ2h0LCBub3JtYWwgKTtcblxuICAgICAgICA+IC5rLWl0ZW0ge1xuICAgICAgICAgICAgYm9yZGVyLWNvbG9yOiBpbmhlcml0O1xuICAgICAgICB9XG5cbiAgICAgICAgLmstc2VwYXJhdG9yIHtcbiAgICAgICAgICAgIG1hcmdpbi1ibG9jazogay1zcGFjaW5nKDEpO1xuICAgICAgICB9XG5cbiAgICAgICAgLy8gR3JvdXBcbiAgICAgICAgLmstb3ZlcmZsb3ctdG9vbC1ncm91cCB7XG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgfVxuXG4gICAgICAgIC8vIEJ1dHRvblxuICAgICAgICAuay1vdmVyZmxvdy1idXR0b24ge1xuICAgICAgICAgICAgcGFkZGluZy1pbmxpbmU6IHZhciggLS1rZW5kby1tZW51LXBvcHVwLW1kLWl0ZW0tcGFkZGluZy14LCA4cHggKTtcbiAgICAgICAgICAgIHBhZGRpbmctYmxvY2s6IHZhciggLS1rZW5kby1tZW51LXBvcHVwLW1kLWl0ZW0tcGFkZGluZy15LCA0cHggKTtcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgaGVpZ2h0OiBhdXRvO1xuICAgICAgICAgICAgYm9yZGVyLXdpZHRoOiAwO1xuICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogMDtcbiAgICAgICAgICAgIGFzcGVjdC1yYXRpbzogYXV0bztcbiAgICAgICAgICAgIGNvbG9yOiBpbmhlcml0O1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiBub25lO1xuICAgICAgICAgICAgZm9udDogaW5oZXJpdDtcbiAgICAgICAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICBmbGV4LWZsb3c6IHJvdyBub3dyYXA7XG4gICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICAgICAgYWxpZ24tY29udGVudDogY2VudGVyO1xuICAgICAgICAgICAgZ2FwOiB2YXIoIC0ta2VuZG8tb3ZlcmZsb3ctYnV0dG9uLXNwYWNpbmcsIC41cmVtICk7XG4gICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7XG4gICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIH1cblxuICAgICAgICAvLyBCdXR0b24gZ3JvdXBcbiAgICAgICAgLmstYnV0dG9uLWdyb3VwIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGJveC1zaGFkb3coIG5vbmUgKTtcbiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICBmbGV4LWZsb3c6IGNvbHVtbiBub3dyYXA7XG5cbiAgICAgICAgICAgIC5rLWJ1dHRvbiB7XG4gICAgICAgICAgICAgICAgbWFyZ2luOiBpZiggdmFyKCAtLWtlbmRvLWJ1dHRvbi1ib3JkZXItd2lkdGgsIDAgKSA9PSAwLCBudWxsLCAwKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC8vIFNwbGl0IGJ1dHRvblxuICAgICAgICAuay1zcGxpdC1idXR0b24ge1xuICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICAgIH1cblxuICAgICAgICAvLyBIaWRkZW4gaXRlbXNcbiAgICAgICAgLmstb3ZlcmZsb3ctaGlkZGVuIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgIH1cbiAgICB9XG5cbn1cbiIsIkB1c2UgXCJzYXNzOmNvbG9yXCI7XG5AdXNlIFwic2FzczptYXBcIjtcbkB1c2UgXCIuLi9jb3JlL19pbmRleC5zY3NzXCIgYXMgKjtcblxuLy8vIFRoZSB3aWR0aCBvZiB0aGUgYm9yZGVyIGFyb3VuZCB0aGUgQnV0dG9uLlxuLy8vIEBncm91cCBidXR0b25cbiRrZW5kby1idXR0b24tYm9yZGVyLXdpZHRoOiAxcHggIWRlZmF1bHQ7XG5cbi8vLyBUaGUgaG9yaXpvbnRhbCBwYWRkaW5nIG9mIHRoZSBzbWFsbCBCdXR0b24uXG4vLy8gQGdyb3VwIGJ1dHRvblxuJGtlbmRvLWJ1dHRvbi1zbS1wYWRkaW5nLXg6IGstc3BhY2luZyg1KSAhZGVmYXVsdDtcbi8vLyBUaGUgaG9yaXpvbnRhbCBwYWRkaW5nIG9mIHRoZSBtZWRpdW0gQnV0dG9uLlxuLy8vIEBncm91cCBidXR0b25cbiRrZW5kby1idXR0b24tbWQtcGFkZGluZy14OiBrLXNwYWNpbmcoNSkgIWRlZmF1bHQ7XG4vLy8gVGhlIGhvcml6b250YWwgcGFkZGluZyBvZiB0aGUgbGFyZ2UgQnV0dG9uLlxuLy8vIEBncm91cCBidXR0b25cbiRrZW5kby1idXR0b24tbGctcGFkZGluZy14OiBrLXNwYWNpbmcoNSkgIWRlZmF1bHQ7XG5cbi8vLyBUaGUgdmVydGljYWwgcGFkZGluZyBvZiB0aGUgc21hbGwgQnV0dG9uLlxuLy8vIEBncm91cCBidXR0b25cbiRrZW5kby1idXR0b24tc20tcGFkZGluZy15OiBrLXNwYWNpbmcoMSkgIWRlZmF1bHQ7XG4vLy8gVGhlIHZlcnRpY2FsIHBhZGRpbmcgb2YgdGhlIG1lZGl1bSBCdXR0b24uXG4vLy8gQGdyb3VwIGJ1dHRvblxuJGtlbmRvLWJ1dHRvbi1tZC1wYWRkaW5nLXk6IGstc3BhY2luZygxLjUpICFkZWZhdWx0O1xuLy8vIFRoZSB2ZXJ0aWNhbCBwYWRkaW5nIG9mIHRoZSBsYXJnZSBCdXR0b24uXG4vLy8gQGdyb3VwIGJ1dHRvblxuJGtlbmRvLWJ1dHRvbi1sZy1wYWRkaW5nLXk6IGstc3BhY2luZygyKSAhZGVmYXVsdDtcblxuLy8vIFRoZSBmb250IHNpemUgb2YgdGhlIHNtYWxsIEJ1dHRvbi5cbi8vLyBAZ3JvdXAgYnV0dG9uXG4ka2VuZG8tYnV0dG9uLXNtLWZvbnQtc2l6ZTogdmFyKCAtLWtlbmRvLWZvbnQtc2l6ZSwgaW5oZXJpdCApICFkZWZhdWx0O1xuLy8vIFRoZSBmb250IHNpemUgb2YgdGhlIG1lZGl1bSBCdXR0b24uXG4vLy8gQGdyb3VwIGJ1dHRvblxuJGtlbmRvLWJ1dHRvbi1tZC1mb250LXNpemU6IHZhciggLS1rZW5kby1mb250LXNpemUsIGluaGVyaXQgKSAhZGVmYXVsdDtcbi8vLyBUaGUgZm9udCBzaXplIG9mIHRoZSBsYXJnZSBCdXR0b24uXG4vLy8gQGdyb3VwIGJ1dHRvblxuJGtlbmRvLWJ1dHRvbi1sZy1mb250LXNpemU6IHZhciggLS1rZW5kby1mb250LXNpemUsIGluaGVyaXQgKSAhZGVmYXVsdDtcblxuLy8vIFRoZSBsaW5lIGhlaWdodCB1c2VkIGFsb25nIHdpdGggdGhlICRrZW5kby1mb250LXNpemUgdmFyaWFibGUgb2YgdGhlIHNtYWxsIEJ1dHRvbi5cbi8vLyBAZ3JvdXAgYnV0dG9uXG4ka2VuZG8tYnV0dG9uLXNtLWxpbmUtaGVpZ2h0OiB2YXIoIC0ta2VuZG8tbGluZS1oZWlnaHQsIG5vcm1hbCApICFkZWZhdWx0O1xuLy8vIFRoZSBsaW5lIGhlaWdodCB1c2VkIGFsb25nIHdpdGggdGhlICRrZW5kby1mb250LXNpemUgdmFyaWFibGUgb2YgdGhlIG1lZGl1bSBCdXR0b24uXG4vLy8gQGdyb3VwIGJ1dHRvblxuJGtlbmRvLWJ1dHRvbi1tZC1saW5lLWhlaWdodDogdmFyKCAtLWtlbmRvLWxpbmUtaGVpZ2h0LCBub3JtYWwgKSAhZGVmYXVsdDtcbi8vLyBUaGUgbGluZSBoZWlnaHQgdXNlZCBhbG9uZyB3aXRoIHRoZSAka2VuZG8tZm9udC1zaXplIHZhcmlhYmxlIG9mIHRoZSBsYXJnZSBCdXR0b24uXG4vLy8gQGdyb3VwIGJ1dHRvblxuJGtlbmRvLWJ1dHRvbi1sZy1saW5lLWhlaWdodDogdmFyKCAtLWtlbmRvLWxpbmUtaGVpZ2h0LCBub3JtYWwgKSAhZGVmYXVsdDtcblxuLy8vIFRoZSBmb250IGZhbWlseSBvZiB0aGUgQnV0dG9uLlxuLy8vIEBncm91cCBidXR0b25cbiRrZW5kby1idXR0b24tZm9udC1mYW1pbHk6IHZhciggLS1rZW5kby1mb250LWZhbWlseSwgaW5oZXJpdCApICFkZWZhdWx0O1xuXG4vLy8gVGhlIGZvbnQgd2VpZ2h0IG9mIHRoZSBCdXR0b24uXG4vLy8gQGdyb3VwIGJ1dHRvblxuJGtlbmRvLWJ1dHRvbi1mb250LXdlaWdodDogdmFyKCAtLWtlbmRvLWZvbnQtd2VpZ2h0LWJvbGQsIG5vcm1hbCApICFkZWZhdWx0O1xuXG4vLy8gVGhlIGNhbGN1bGF0ZWQgaGVpZ2h0IG9mIHRoZSBCdXR0b24uXG4vLy8gQGdyb3VwIGJ1dHRvblxuJGtlbmRvLWJ1dHRvbi1jYWxjLXNpemU6IGNhbGMoICggI3ska2VuZG8tYnV0dG9uLW1kLWxpbmUtaGVpZ2h0fSAqIDFlbSApICsgKCAjeyRrZW5kby1idXR0b24tbWQtcGFkZGluZy15fSAqIDIgKSArICggI3ska2VuZG8tYnV0dG9uLWJvcmRlci13aWR0aH0gKiAyICkgKSAhZGVmYXVsdDtcbiRrZW5kby1idXR0b24tc20tY2FsYy1zaXplOiBjYWxjKCAoICN7JGtlbmRvLWJ1dHRvbi1zbS1saW5lLWhlaWdodH0gKiAxZW0gKSArICggI3ska2VuZG8tYnV0dG9uLXNtLXBhZGRpbmcteX0gKiAyICkgKyAoICN7JGtlbmRvLWJ1dHRvbi1ib3JkZXItd2lkdGh9ICogMiApICkgIWRlZmF1bHQ7XG4ka2VuZG8tYnV0dG9uLW1kLWNhbGMtc2l6ZTogY2FsYyggKCAjeyRrZW5kby1idXR0b24tbWQtbGluZS1oZWlnaHR9ICogMWVtICkgKyAoICN7JGtlbmRvLWJ1dHRvbi1tZC1wYWRkaW5nLXl9ICogMiApICsgKCAjeyRrZW5kby1idXR0b24tYm9yZGVyLXdpZHRofSAqIDIgKSApICFkZWZhdWx0O1xuJGtlbmRvLWJ1dHRvbi1sZy1jYWxjLXNpemU6IGNhbGMoICggI3ska2VuZG8tYnV0dG9uLWxnLWxpbmUtaGVpZ2h0fSAqIDFlbSApICsgKCAjeyRrZW5kby1idXR0b24tbGctcGFkZGluZy15fSAqIDIgKSArICggI3ska2VuZG8tYnV0dG9uLWJvcmRlci13aWR0aH0gKiAyICkgKSAhZGVmYXVsdDtcblxuLy8vIFRoZSBjYWxjdWxhdGVkIGlubmVyIGhlaWdodCBvZiB0aGUgQnV0dG9uIGV4Y2x1ZGluZyB0aGUgYm9yZGVyIHdpZHRoLlxuLy8vIEBncm91cCBidXR0b25cbiRrZW5kby1idXR0b24taW5uZXItY2FsYy1zaXplOiBjYWxjKCAoICN7JGtlbmRvLWJ1dHRvbi1tZC1saW5lLWhlaWdodH0gKiAxZW0gKSArICggI3ska2VuZG8tYnV0dG9uLW1kLXBhZGRpbmcteX0gKiAyICkgKSAhZGVmYXVsdDtcbiRrZW5kby1idXR0b24tc20taW5uZXItY2FsYy1zaXplOiBjYWxjKCAoICN7JGtlbmRvLWJ1dHRvbi1zbS1saW5lLWhlaWdodH0gKiAxZW0gKSArICggI3ska2VuZG8tYnV0dG9uLXNtLXBhZGRpbmcteX0gKiAyICkgKSAhZGVmYXVsdDtcbiRrZW5kby1idXR0b24tbWQtaW5uZXItY2FsYy1zaXplOiBjYWxjKCAoICN7JGtlbmRvLWJ1dHRvbi1tZC1saW5lLWhlaWdodH0gKiAxZW0gKSArICggI3ska2VuZG8tYnV0dG9uLW1kLXBhZGRpbmcteX0gKiAyICkgKSAhZGVmYXVsdDtcbiRrZW5kby1idXR0b24tbGctaW5uZXItY2FsYy1zaXplOiBjYWxjKCAoICN7JGtlbmRvLWJ1dHRvbi1sZy1saW5lLWhlaWdodH0gKiAxZW0gKSArICggI3ska2VuZG8tYnV0dG9uLWxnLXBhZGRpbmcteX0gKiAyICkgKSAhZGVmYXVsdDtcblxuLy8vIFRoZSBzaXplcyBtYXAgZm9yIHRoZSBCdXR0b24uXG4vLy8gQGdyb3VwIGJ1dHRvblxuJGtlbmRvLWJ1dHRvbi1zaXplczogKFxuICAgIHNtOiAoXG4gICAgICAgIHBhZGRpbmcteDogJGtlbmRvLWJ1dHRvbi1zbS1wYWRkaW5nLXgsXG4gICAgICAgIHBhZGRpbmcteTogJGtlbmRvLWJ1dHRvbi1zbS1wYWRkaW5nLXksXG4gICAgICAgIGZvbnQtc2l6ZTogJGtlbmRvLWJ1dHRvbi1zbS1mb250LXNpemUsXG4gICAgICAgIGxpbmUtaGVpZ2h0OiAka2VuZG8tYnV0dG9uLXNtLWxpbmUtaGVpZ2h0XG4gICAgKSxcbiAgICBtZDogKFxuICAgICAgICBwYWRkaW5nLXg6ICRrZW5kby1idXR0b24tbWQtcGFkZGluZy14LFxuICAgICAgICBwYWRkaW5nLXk6ICRrZW5kby1idXR0b24tbWQtcGFkZGluZy15LFxuICAgICAgICBmb250LXNpemU6ICRrZW5kby1idXR0b24tbWQtZm9udC1zaXplLFxuICAgICAgICBsaW5lLWhlaWdodDogJGtlbmRvLWJ1dHRvbi1tZC1saW5lLWhlaWdodFxuICAgICksXG4gICAgbGc6IChcbiAgICAgICAgcGFkZGluZy14OiAka2VuZG8tYnV0dG9uLWxnLXBhZGRpbmcteCxcbiAgICAgICAgcGFkZGluZy15OiAka2VuZG8tYnV0dG9uLWxnLXBhZGRpbmcteSxcbiAgICAgICAgZm9udC1zaXplOiAka2VuZG8tYnV0dG9uLWxnLWZvbnQtc2l6ZSxcbiAgICAgICAgbGluZS1oZWlnaHQ6ICRrZW5kby1idXR0b24tbGctbGluZS1oZWlnaHRcbiAgICApXG4pICFkZWZhdWx0O1xuXG4vLy8gVGhlIGNvbnRlbnQgc3BhY2luZyBvZiB0aGUgQnV0dG9uLlxuLy8vIEBncm91cCBidXR0b25cbiRrZW5kby1idXR0b24tc3BhY2luZzogay1zcGFjaW5nKDIpICFkZWZhdWx0O1xuXG4vLy8gVGhlIG9mZnNldCBvZiB0aGUgZm9jdXNlZCBCdXR0b24uXG4vLy8gQGdyb3VwIGJ1dHRvblxuJGtlbmRvLWJ1dHRvbi1mb2N1cy1vZmZzZXQ6IGstc3BhY2luZygwLjUpICFkZWZhdWx0O1xuLy8vIFRoZSBPdXRsaW5lIHdpZHRoIG9mIHRoZSBmb2N1c2VkIEJ1dHRvbi5cbi8vLyBAZ3JvdXAgYnV0dG9uXG4ka2VuZG8tYnV0dG9uLWZvY3VzLW91dGxpbmUtd2lkdGg6IDFweCAhZGVmYXVsdDtcbi8vLyBUaGUgb3V0bGluZSBzdHlsZSBvZiB0aGUgZm9jdXNlZCBCdXR0b24uXG4vLy8gQGdyb3VwIGJ1dHRvblxuJGtlbmRvLWJ1dHRvbi1mb2N1cy1vdXRsaW5lLXN0eWxlOiBzb2xpZCAhZGVmYXVsdDtcblxuLy8vIFRoZSBvZmZzZXQgb2YgdGhlIGZsYXQgZm9jdXNlZCBCdXR0b24uXG4vLy8gQGdyb3VwIGJ1dHRvblxuJGtlbmRvLWJ1dHRvbi1mbGF0LWZvY3VzLW9mZnNldDogMXB4ICFkZWZhdWx0O1xuLy8vIFRoZSBvdXRsaW5lIHdpZHRoIG9mIHRoZSBmbGF0IGZvY3VzZWQgQnV0dG9uLlxuLy8vIEBncm91cCBidXR0b25cbiRrZW5kby1idXR0b24tZmxhdC1mb2N1cy1vdXRsaW5lLXdpZHRoOiBrLXNwYWNpbmcoMC41KSAhZGVmYXVsdDtcblxuLy8vIFRoZSBvZmZzZXQgb2YgdGhlIGxpbmsgZm9jdXNlZCBCdXR0b24uXG4vLy8gQGdyb3VwIGJ1dHRvblxuJGtlbmRvLWJ1dHRvbi1saW5rLWZvY3VzLW9mZnNldDogMCAhZGVmYXVsdDtcbi8vLyBUaGUgb3V0bGluZSB3aWR0aCBvZiB0aGUgZmxhdCBmb2N1c2VkIEJ1dHRvbi5cbi8vLyBAZ3JvdXAgYnV0dG9uXG4ka2VuZG8tYnV0dG9uLWxpbmstZm9jdXMtb3V0bGluZS13aWR0aDogMXB4ICFkZWZhdWx0O1xuXG4vLyBUaGUgdGhlbWUgdmFyaWF0aW9ucyBmb3IgdGhlIEJ1dHRvbi5cblxuJGtlbmRvLWJ1dHRvbi1icmFuZC1jb2xvcnM6IChcbiAgICBwcmltYXJ5OiBwcmltYXJ5LFxuICAgIGVycm9yOiBlcnJvcixcbiAgICBzdWNjZXNzOiBzdWNjZXNzLFxuICAgIGluZm86IGluZm8sXG4gICAgc2Vjb25kYXJ5OiBpZigka2VuZG8tZW5hYmxlLWNvbG9yLXN5c3RlbSwgc2Vjb25kYXJ5LCBuZXV0cmFsKSxcbiAgICB0ZXJ0aWFyeTogdGVydGlhcnksXG4pICFkZWZhdWx0O1xuXG5cbi8vIE1hdHJpY2VzIHdpdGggdGhlbWUgY29sb3JzIGluIHRoZSBvcmRlcjogYmcsIGNvbG9yLCBib3JkZXIsIG91dGxpbmVcblxuLy8gVGhlIGNvbG9yIG1hdHJpeCBmb3IgdGhlIGJhc2UgQnV0dG9uXG4kX3RjLWJhc2UtbWF0cml4OiAoXG4gICAgc29saWQ6IChcbiAgICAgICAgbm9ybWFsOiBpZigka2VuZG8tZW5hYmxlLWNvbG9yLXN5c3RlbSwgKGNvbG9yLCBvbi1jb2xvciwgYm9yZGVyKSwgKCRrZW5kby1jb2xvci13aGl0ZSwgMTYwLCAxMTApKSxcbiAgICAgICAgaG92ZXI6IGlmKCRrZW5kby1lbmFibGUtY29sb3Itc3lzdGVtLCAoY29sb3ItaG92ZXIsIG9uLWNvbG9yLCBib3JkZXIpLCAoMjAsIDE5MCwgMTEwKSksXG4gICAgICAgIGZvY3VzOiBpZigka2VuZG8tZW5hYmxlLWNvbG9yLXN5c3RlbSwgKGNvbG9yLCBvbi1jb2xvciwgYm9yZGVyLCBvbi1jb2xvciksICgka2VuZG8tY29sb3Itd2hpdGUsIDE2MCwgMTEwLCAxMzApKSxcbiAgICAgICAgZm9jdXMtaG92ZXI6IGlmKCRrZW5kby1lbmFibGUtY29sb3Itc3lzdGVtLCAoY29sb3ItaG92ZXIsIG9uLWNvbG9yLCBib3JkZXIsIG9uLWNvbG9yKSwgKDIwLCAxOTAsIDExMCwgMTMwKSksXG4gICAgICAgIGFjdGl2ZTogaWYoJGtlbmRvLWVuYWJsZS1jb2xvci1zeXN0ZW0sIChjb2xvci1hY3RpdmUsIG9uLWNvbG9yLCBib3JkZXIpLCAoMzAsIDE5MCwgMTEwKSksXG4gICAgICAgIGFjdGl2ZS1ob3ZlcjogaWYoJGtlbmRvLWVuYWJsZS1jb2xvci1zeXN0ZW0sIChjb2xvci1ob3Zlciwgb24tY29sb3IsIGJvcmRlciksICgyMCwgMTkwLCAxMTApKSxcbiAgICAgICAgZGlzYWJsZWQ6IGlmKCRrZW5kby1lbmFibGUtY29sb3Itc3lzdGVtLCAoY29sb3ItbWl4KGluIHNyZ2IsIGstY29sb3IoIG9uLWFwcC1zdXJmYWNlICkgNiUsIHRyYW5zcGFyZW50KSwgY29sb3ItbWl4KGluIHNyZ2IsIGstY29sb3IoIG9uLWFwcC1zdXJmYWNlICkgNDYlLCB0cmFuc3BhcmVudCksIHRyYW5zcGFyZW50KSwgKHZhciggLS1rZW5kby1kaXNhYmxlZC1iZywgaW5oZXJpdCApLCB2YXIoIC0ta2VuZG8tZGlzYWJsZWQtdGV4dCwgaW5oZXJpdCApLCB2YXIoIC0ta2VuZG8tZGlzYWJsZWQtYm9yZGVyLCBpbmhlcml0ICkpKVxuICAgICksXG4gICAgb3V0bGluZTogKFxuICAgICAgICBub3JtYWw6IGlmKCRrZW5kby1lbmFibGUtY29sb3Itc3lzdGVtLCAodHJhbnNwYXJlbnQsIGNvbG9yLW9uLXN1cmZhY2UsIGN1cnJlbnRDb2xvciksICh0cmFuc3BhcmVudCwgMTYwLCBjdXJyZW50Q29sb3IpKSxcbiAgICAgICAgaG92ZXI6IGlmKCRrZW5kby1lbmFibGUtY29sb3Itc3lzdGVtLCAob24tY29sb3IsIGNvbG9yLCBvbi1jb2xvciksICgxOTAsICRrZW5kby1jb2xvci13aGl0ZSwgMTkwKSksXG4gICAgICAgIGZvY3VzOiBpZigka2VuZG8tZW5hYmxlLWNvbG9yLXN5c3RlbSwgKHRyYW5zcGFyZW50LCBjb2xvci1vbi1zdXJmYWNlLCBjdXJyZW50Q29sb3IsIGluaGVyaXQpLCAodHJhbnNwYXJlbnQsIDE2MCwgY3VycmVudENvbG9yLCBpbmhlcml0KSksXG4gICAgICAgIGZvY3VzLWhvdmVyOiBpZigka2VuZG8tZW5hYmxlLWNvbG9yLXN5c3RlbSwgKG9uLWNvbG9yLCBjb2xvciwgb24tY29sb3IsIGluaGVyaXQpLCAoMTkwLCAka2VuZG8tY29sb3Itd2hpdGUsIDE5MCwgaW5oZXJpdCkpLFxuICAgICAgICBhY3RpdmU6IGlmKCRrZW5kby1lbmFibGUtY29sb3Itc3lzdGVtLCAob24tY29sb3IsIGNvbG9yLCBvbi1jb2xvciksICgxOTAsICRrZW5kby1jb2xvci13aGl0ZSwgMTkwKSksXG4gICAgICAgIGFjdGl2ZS1ob3ZlcjogaWYoJGtlbmRvLWVuYWJsZS1jb2xvci1zeXN0ZW0sIChvbi1jb2xvciwgY29sb3IsIG9uLWNvbG9yKSwgKDIwLCAxOTAsIDExMCkpLFxuICAgICAgICBkaXNhYmxlZDogaWYoJGtlbmRvLWVuYWJsZS1jb2xvci1zeXN0ZW0sIChpbml0aWFsLCBjb2xvci1taXgoaW4gc3JnYiwgay1jb2xvciggb24tYXBwLXN1cmZhY2UgKSA0NiUsIHRyYW5zcGFyZW50KSwgY29sb3ItbWl4KGluIHNyZ2IsIGstY29sb3IoIG9uLWFwcC1zdXJmYWNlICkgNDYlLCB0cmFuc3BhcmVudCkpLCAoaW5pdGlhbCwgdmFyKCAtLWtlbmRvLWRpc2FibGVkLXRleHQsIGluaGVyaXQgKSwgOTApKVxuICAgICksXG4gICAgbGluazogKFxuICAgICAgICBub3JtYWw6IGlmKCRrZW5kby1lbmFibGUtY29sb3Itc3lzdGVtLCAodHJhbnNwYXJlbnQsIG9uLWNvbG9yLCB0cmFuc3BhcmVudCksICh0cmFuc3BhcmVudCwgMTYwLCB0cmFuc3BhcmVudCkpLFxuICAgICAgICBob3ZlcjogaWYoJGtlbmRvLWVuYWJsZS1jb2xvci1zeXN0ZW0sICh0cmFuc3BhcmVudCwgb24tY29sb3IsIHRyYW5zcGFyZW50KSwgKHRyYW5zcGFyZW50LCAxOTAsIHRyYW5zcGFyZW50KSksXG4gICAgICAgIGZvY3VzOiBpZigka2VuZG8tZW5hYmxlLWNvbG9yLXN5c3RlbSwgKHRyYW5zcGFyZW50LCBvbi1jb2xvciwgdHJhbnNwYXJlbnQsIGNvbG9yLXN1YnRsZS1hY3RpdmUpLCAodHJhbnNwYXJlbnQsIDE2MCwgdHJhbnNwYXJlbnQsIDMwKSksXG4gICAgICAgIGZvY3VzLWhvdmVyOiBpZigka2VuZG8tZW5hYmxlLWNvbG9yLXN5c3RlbSwgKHRyYW5zcGFyZW50LCBvbi1jb2xvciwgY29sb3Itc3VidGxlLWFjdGl2ZSwgdHJhbnNwYXJlbnQpLCAodHJhbnNwYXJlbnQsIDE5MCwgMzAsIHRyYW5zcGFyZW50KSksXG4gICAgICAgIGFjdGl2ZTogaWYoJGtlbmRvLWVuYWJsZS1jb2xvci1zeXN0ZW0sICh0cmFuc3BhcmVudCwgb24tY29sb3IsIHRyYW5zcGFyZW50KSwgKHRyYW5zcGFyZW50LCAxOTAsIHRyYW5zcGFyZW50KSksXG4gICAgICAgIGFjdGl2ZS1ob3ZlcjogaWYoJGtlbmRvLWVuYWJsZS1jb2xvci1zeXN0ZW0sICh0cmFuc3BhcmVudCwgb24tY29sb3IsIHRyYW5zcGFyZW50KSwgKHRyYW5zcGFyZW50LCAxOTAsIHRyYW5zcGFyZW50KSksXG4gICAgICAgIGRpc2FibGVkOiBpZigka2VuZG8tZW5hYmxlLWNvbG9yLXN5c3RlbSwgKGluaXRpYWwsIGNvbG9yLW1peChpbiBzcmdiLCBrLWNvbG9yKCBvbi1hcHAtc3VyZmFjZSApIDQ2JSwgdHJhbnNwYXJlbnQpLCBpbml0aWFsKSwgKGluaXRpYWwsIHZhciggLS1rZW5kby1kaXNhYmxlZC10ZXh0LCBpbmhlcml0ICksIHRyYW5zcGFyZW50KSlcbiAgICApLFxuICAgIGNsZWFyOiAoXG4gICAgICAgIG5vcm1hbDogaWYoJGtlbmRvLWVuYWJsZS1jb2xvci1zeXN0ZW0sICh0cmFuc3BhcmVudCwgY29sb3Itb24tc3VyZmFjZSwgdHJhbnNwYXJlbnQpLCAodHJhbnNwYXJlbnQsIDE2MCwgdHJhbnNwYXJlbnQpKSxcbiAgICAgICAgaG92ZXI6IGlmKCRrZW5kby1lbmFibGUtY29sb3Itc3lzdGVtLCAodHJhbnNwYXJlbnQsIGNvbG9yLW9uLXN1cmZhY2UsIHRyYW5zcGFyZW50KSwgKHRyYW5zcGFyZW50LCAxOTAsIHRyYW5zcGFyZW50KSksXG4gICAgICAgIGZvY3VzOiBpZigka2VuZG8tZW5hYmxlLWNvbG9yLXN5c3RlbSwgKGNvbG9yLXN1YnRsZSwgY29sb3Itb24tc3VyZmFjZSwgdHJhbnNwYXJlbnQsIGNvbG9yLWFjdGl2ZSksICgzMCwgMTYwLCB0cmFuc3BhcmVudCwgMTMwKSksXG4gICAgICAgIGZvY3VzLWhvdmVyOiAgaWYoJGtlbmRvLWVuYWJsZS1jb2xvci1zeXN0ZW0sICh0cmFuc3BhcmVudCwgY29sb3Itb24tc3VyZmFjZSwgdHJhbnNwYXJlbnQsIGNvbG9yLWFjdGl2ZSksICh0cmFuc3BhcmVudCwgMTkwLCB0cmFuc3BhcmVudCwgMTMwKSksXG4gICAgICAgIGFjdGl2ZTogaWYoJGtlbmRvLWVuYWJsZS1jb2xvci1zeXN0ZW0sICh0cmFuc3BhcmVudCwgY29sb3Itb24tc3VyZmFjZSwgdHJhbnNwYXJlbnQpLCAodHJhbnNwYXJlbnQsIDE5MCwgdHJhbnNwYXJlbnQpKSxcbiAgICAgICAgYWN0aXZlLWhvdmVyOiBpZigka2VuZG8tZW5hYmxlLWNvbG9yLXN5c3RlbSwgKHRyYW5zcGFyZW50LCBjb2xvci1vbi1zdXJmYWNlLCB0cmFuc3BhcmVudCksICh0cmFuc3BhcmVudCwgMTkwLCB0cmFuc3BhcmVudCkpLFxuICAgICAgICBkaXNhYmxlZDogaWYoJGtlbmRvLWVuYWJsZS1jb2xvci1zeXN0ZW0sIChpbml0aWFsLCBjb2xvci1taXgoaW4gc3JnYiwgay1jb2xvciggb24tYXBwLXN1cmZhY2UgKSA0NiUsIHRyYW5zcGFyZW50KSwgaW5pdGlhbCksIChpbml0aWFsLCB2YXIoIC0ta2VuZG8tZGlzYWJsZWQtdGV4dCwgaW5oZXJpdCApLCB0cmFuc3BhcmVudCkpXG4gICAgKVxuKSAhZGVmYXVsdDtcblxuLy8gVGhlIGNvbG9yIG1hdHJpeCBmb3IgcHJpbWFyeSwgZXJyb3IsIHN1Y2Nlc3MsIGluZm8sIHNlY29uZGFyeSwgdGVydGlhcnkgQnV0dG9uc1xuJF90Yy1icmFuZC1tYXRyaXg6IChcbiAgICBzb2xpZDogKFxuICAgICAgICBub3JtYWw6IGlmKCRrZW5kby1lbmFibGUtY29sb3Itc3lzdGVtLCAoY29sb3IsIG9uLWNvbG9yLCBjb2xvciksICgxMDAsICRrZW5kby1jb2xvci13aGl0ZSwgMTAwKSksXG4gICAgICAgIGhvdmVyOiBpZigka2VuZG8tZW5hYmxlLWNvbG9yLXN5c3RlbSwgKGNvbG9yLWhvdmVyLCBvbi1jb2xvciwgY29sb3ItaG92ZXIpLCAoMTEwLCAka2VuZG8tY29sb3Itd2hpdGUsIDExMCkpLFxuICAgICAgICBmb2N1czogaWYoJGtlbmRvLWVuYWJsZS1jb2xvci1zeXN0ZW0sIChjb2xvciwgb24tY29sb3IsIGNvbG9yLCBpbmhlcml0KSwgKDEwMCwgJGtlbmRvLWNvbG9yLXdoaXRlLCAxMDAsIGluaGVyaXQpKSxcbiAgICAgICAgZm9jdXMtaG92ZXI6IGlmKCRrZW5kby1lbmFibGUtY29sb3Itc3lzdGVtLCAoY29sb3ItaG92ZXIsIG9uLWNvbG9yLCBjb2xvci1ob3ZlciwgaW5oZXJpdCksICgxMTAsICRrZW5kby1jb2xvci13aGl0ZSwgMTEwLCBpbmhlcml0KSksXG4gICAgICAgIGFjdGl2ZTogaWYoJGtlbmRvLWVuYWJsZS1jb2xvci1zeXN0ZW0sIChjb2xvci1hY3RpdmUsIG9uLWNvbG9yLCBjb2xvci1hY3RpdmUpLCAoMTIwLCAka2VuZG8tY29sb3Itd2hpdGUsIDEyMCkpLFxuICAgICAgICBhY3RpdmUtaG92ZXI6IGlmKCRrZW5kby1lbmFibGUtY29sb3Itc3lzdGVtLCAoY29sb3ItaG92ZXIsIG9uLWNvbG9yLCBjb2xvci1ob3ZlciksICgxMTAsICRrZW5kby1jb2xvci13aGl0ZSwgMTEwKSksXG4gICAgICAgIGRpc2FibGVkOiBpZigka2VuZG8tZW5hYmxlLWNvbG9yLXN5c3RlbSwgKGNvbG9yLW1peChpbiBzcmdiLCBrLWNvbG9yKCBvbi1hcHAtc3VyZmFjZSApIDYlLCB0cmFuc3BhcmVudCksIGNvbG9yLW1peChpbiBzcmdiLCBrLWNvbG9yKCBvbi1hcHAtc3VyZmFjZSApIDQ2JSwgdHJhbnNwYXJlbnQpLCB0cmFuc3BhcmVudCksICh2YXIoIC0ta2VuZG8tZGlzYWJsZWQtYmcsIGluaGVyaXQgKSwgdmFyKCAtLWtlbmRvLWRpc2FibGVkLXRleHQsIGluaGVyaXQgKSwgdmFyKCAtLWtlbmRvLWRpc2FibGVkLWJvcmRlciwgaW5oZXJpdCApKSlcbiAgICApLFxuICAgIGZsYXQ6IChcbiAgICAgICAgbm9ybWFsOiBpZigka2VuZG8tZW5hYmxlLWNvbG9yLXN5c3RlbSwgKGluaXRpYWwsIGNvbG9yLW9uLXN1cmZhY2UsIHRyYW5zcGFyZW50KSwgKGluaXRpYWwsIDEwMCwgdHJhbnNwYXJlbnQpKSxcbiAgICAgICAgaG92ZXI6IGlmKCRrZW5kby1lbmFibGUtY29sb3Itc3lzdGVtLCAoY29sb3Itc3VidGxlLCBjb2xvci1ob3ZlciwgdHJhbnNwYXJlbnQpLCAoMTAsIDExMCwgdHJhbnNwYXJlbnQpKSxcbiAgICAgICAgZm9jdXM6IGlmKCRrZW5kby1lbmFibGUtY29sb3Itc3lzdGVtLCAoaW5pdGlhbCwgY29sb3Itb24tc3VyZmFjZSwgdHJhbnNwYXJlbnQsIGNvbG9yLXN1YnRsZS1hY3RpdmUpLCAoaW5pdGlhbCwgMTAwLCB0cmFuc3BhcmVudCwgMzApKSxcbiAgICAgICAgZm9jdXMtaG92ZXI6IGlmKCRrZW5kby1lbmFibGUtY29sb3Itc3lzdGVtLCAoY29sb3Itc3VidGxlLCBjb2xvci1ob3ZlciwgdHJhbnNwYXJlbnQsIGNvbG9yLXN1YnRsZS1hY3RpdmUpLCAoMTAsIDExMCwgdHJhbnNwYXJlbnQsIDMwKSksXG4gICAgICAgIGFjdGl2ZTogaWYoJGtlbmRvLWVuYWJsZS1jb2xvci1zeXN0ZW0sIChjb2xvci1zdWJ0bGUtaG92ZXIsIGNvbG9yLWhvdmVyLCB0cmFuc3BhcmVudCksICgyMCwgMTEwLCB0cmFuc3BhcmVudCkpLFxuICAgICAgICBhY3RpdmUtaG92ZXI6IGlmKCRrZW5kby1lbmFibGUtY29sb3Itc3lzdGVtLCAoY29sb3Itc3VidGxlLCBjb2xvci1ob3ZlciwgdHJhbnNwYXJlbnQpLCAoMTAsIDExMCwgdHJhbnNwYXJlbnQpKSxcbiAgICAgICAgZGlzYWJsZWQ6IGlmKCRrZW5kby1lbmFibGUtY29sb3Itc3lzdGVtLCAoaW5pdGlhbCwgY29sb3ItbWl4KGluIHNyZ2IsIGstY29sb3IoIG9uLWFwcC1zdXJmYWNlICkgNDYlLCB0cmFuc3BhcmVudCksIGluaXRpYWwpLCAoaW5pdGlhbCwgdmFyKCAtLWtlbmRvLWRpc2FibGVkLXRleHQsIGluaGVyaXQgKSwgaW5pdGlhbCkpXG4gICAgKSxcbiAgICBvdXRsaW5lOiAoXG4gICAgICAgIG5vcm1hbDogaWYoJGtlbmRvLWVuYWJsZS1jb2xvci1zeXN0ZW0sICh0cmFuc3BhcmVudCwgY29sb3Itb24tc3VyZmFjZSwgY3VycmVudENvbG9yKSwgKHRyYW5zcGFyZW50LCAxMDAsIGN1cnJlbnRDb2xvcikpLFxuICAgICAgICBob3ZlcjogaWYoJGtlbmRvLWVuYWJsZS1jb2xvci1zeXN0ZW0sIChjb2xvciwgb24tY29sb3IsIGNvbG9yKSwgKDEwMCwgJGtlbmRvLWNvbG9yLXdoaXRlLCAxMDApKSxcbiAgICAgICAgZm9jdXM6IGlmKCRrZW5kby1lbmFibGUtY29sb3Itc3lzdGVtLCAodHJhbnNwYXJlbnQsIGNvbG9yLW9uLXN1cmZhY2UsIGNvbG9yLCBpbmhlcml0KSwgKHRyYW5zcGFyZW50LCAxMDAsIDEwMCwgaW5oZXJpdCkpLFxuICAgICAgICBmb2N1cy1ob3ZlcjogaWYoJGtlbmRvLWVuYWJsZS1jb2xvci1zeXN0ZW0sIChjb2xvciwgb24tY29sb3IsIGNvbG9yLCBpbmhlcml0KSwgKDEwMCwgJGtlbmRvLWNvbG9yLXdoaXRlLCAxMDAsIGluaGVyaXQpKSxcbiAgICAgICAgYWN0aXZlOiBpZigka2VuZG8tZW5hYmxlLWNvbG9yLXN5c3RlbSwgKGNvbG9yLCBvbi1jb2xvciwgY29sb3IpLCAoMTAwLCAka2VuZG8tY29sb3Itd2hpdGUsIDEwMCkpLFxuICAgICAgICBhY3RpdmUtaG92ZXI6IGlmKCRrZW5kby1lbmFibGUtY29sb3Itc3lzdGVtLCAoY29sb3IsIG9uLWNvbG9yLCBjb2xvciksICgxMDAsICRrZW5kby1jb2xvci13aGl0ZSwgMTAwKSksXG4gICAgICAgIGRpc2FibGVkOiBpZigka2VuZG8tZW5hYmxlLWNvbG9yLXN5c3RlbSwgKGluaXRpYWwsIGNvbG9yLW1peChpbiBzcmdiLCBrLWNvbG9yKCBvbi1hcHAtc3VyZmFjZSApIDQ2JSwgdHJhbnNwYXJlbnQpLCBjb2xvci1taXgoaW4gc3JnYiwgay1jb2xvciggb24tYXBwLXN1cmZhY2UgKSA0NiUsIHRyYW5zcGFyZW50KSksIChpbml0aWFsLCB2YXIoIC0ta2VuZG8tZGlzYWJsZWQtdGV4dCwgaW5oZXJpdCApLCB2YXIoIC0ta2VuZG8tZGlzYWJsZWQtdGV4dCwgaW5oZXJpdCApKSlcbiAgICApLFxuICAgIGxpbms6IChcbiAgICAgICAgbm9ybWFsOiBpZigka2VuZG8tZW5hYmxlLWNvbG9yLXN5c3RlbSwgKHRyYW5zcGFyZW50LCBjb2xvciwgdHJhbnNwYXJlbnQpLCAodHJhbnNwYXJlbnQsIDEwMCwgdHJhbnNwYXJlbnQpKSxcbiAgICAgICAgaG92ZXI6IGlmKCRrZW5kby1lbmFibGUtY29sb3Itc3lzdGVtLCAodHJhbnNwYXJlbnQsIGNvbG9yLWhvdmVyLCB0cmFuc3BhcmVudCksICh0cmFuc3BhcmVudCwgMTMwLCB0cmFuc3BhcmVudCkpLFxuICAgICAgICBmb2N1czogaWYoJGtlbmRvLWVuYWJsZS1jb2xvci1zeXN0ZW0sICh0cmFuc3BhcmVudCwgY29sb3IsIHRyYW5zcGFyZW50LCBjb2xvci1zdWJ0bGUtYWN0aXZlKSwgKHRyYW5zcGFyZW50LCAxMDAsIHRyYW5zcGFyZW50LCAzMCkpLFxuICAgICAgICBmb2N1cy1ob3ZlcjogaWYoJGtlbmRvLWVuYWJsZS1jb2xvci1zeXN0ZW0sICh0cmFuc3BhcmVudCwgY29sb3ItaG92ZXIsIHRyYW5zcGFyZW50LCBjb2xvci1zdWJ0bGUtYWN0aXZlKSwgKHRyYW5zcGFyZW50LCAxMzAsIHRyYW5zcGFyZW50LCAzMCkpLFxuICAgICAgICBhY3RpdmU6IGlmKCRrZW5kby1lbmFibGUtY29sb3Itc3lzdGVtLCAodHJhbnNwYXJlbnQsIGNvbG9yLWFjdGl2ZSwgdHJhbnNwYXJlbnQpLCAodHJhbnNwYXJlbnQsIDE0MCwgdHJhbnNwYXJlbnQpKSxcbiAgICAgICAgYWN0aXZlLWhvdmVyOiBpZigka2VuZG8tZW5hYmxlLWNvbG9yLXN5c3RlbSwgKHRyYW5zcGFyZW50LCBjb2xvci1ob3ZlciwgdHJhbnNwYXJlbnQpLCAodHJhbnNwYXJlbnQsIDEzMCwgdHJhbnNwYXJlbnQpKSxcbiAgICAgICAgZGlzYWJsZWQ6IGlmKCRrZW5kby1lbmFibGUtY29sb3Itc3lzdGVtLCAoaW5pdGlhbCwgY29sb3ItbWl4KGluIHNyZ2IsIGstY29sb3IoIG9uLWFwcC1zdXJmYWNlICkgNDYlLCB0cmFuc3BhcmVudCksIGluaXRpYWwpLCAoaW5pdGlhbCwgdmFyKCAtLWtlbmRvLWRpc2FibGVkLXRleHQsIGluaGVyaXQgKSwgdHJhbnNwYXJlbnQpKVxuICAgICksXG4gICAgY2xlYXI6IChcbiAgICAgICAgbm9ybWFsOiBpZigka2VuZG8tZW5hYmxlLWNvbG9yLXN5c3RlbSwgKHRyYW5zcGFyZW50LCBjb2xvci1vbi1zdXJmYWNlLCB0cmFuc3BhcmVudCksICh0cmFuc3BhcmVudCwgMTAwLCB0cmFuc3BhcmVudCkpLFxuICAgICAgICBob3ZlcjogaWYoJGtlbmRvLWVuYWJsZS1jb2xvci1zeXN0ZW0sICh0cmFuc3BhcmVudCwgY29sb3Itb24tc3VyZmFjZSwgdHJhbnNwYXJlbnQpLCAodHJhbnNwYXJlbnQsIDExMCwgdHJhbnNwYXJlbnQpKSxcbiAgICAgICAgZm9jdXM6IGlmKCRrZW5kby1lbmFibGUtY29sb3Itc3lzdGVtLCAoY29sb3Itc3VidGxlLCBjb2xvci1vbi1zdXJmYWNlLCB0cmFuc3BhcmVudCksICgyMCwgMTAwLCB0cmFuc3BhcmVudCkpLFxuICAgICAgICBmb2N1cy1ob3ZlcjogaWYoJGtlbmRvLWVuYWJsZS1jb2xvci1zeXN0ZW0sICh0cmFuc3BhcmVudCwgY29sb3Itb24tc3VyZmFjZSwgdHJhbnNwYXJlbnQpLCAodHJhbnNwYXJlbnQsIDExMCwgdHJhbnNwYXJlbnQpKSxcbiAgICAgICAgYWN0aXZlOiBpZigka2VuZG8tZW5hYmxlLWNvbG9yLXN5c3RlbSwgKHRyYW5zcGFyZW50LCBjb2xvci1vbi1zdXJmYWNlLCB0cmFuc3BhcmVudCksICh0cmFuc3BhcmVudCwgMTIwLCB0cmFuc3BhcmVudCkpLFxuICAgICAgICBhY3RpdmUtaG92ZXI6IGlmKCRrZW5kby1lbmFibGUtY29sb3Itc3lzdGVtLCAodHJhbnNwYXJlbnQsIGNvbG9yLW9uLXN1cmZhY2UsIHRyYW5zcGFyZW50KSwgKHRyYW5zcGFyZW50LCAxMTAsIHRyYW5zcGFyZW50KSksXG4gICAgICAgIGRpc2FibGVkOiBpZigka2VuZG8tZW5hYmxlLWNvbG9yLXN5c3RlbSwgKGluaXRpYWwsIGNvbG9yLW1peChpbiBzcmdiLCBrLWNvbG9yKCBvbi1hcHAtc3VyZmFjZSApIDQ2JSwgdHJhbnNwYXJlbnQpLCBpbml0aWFsKSwgKGluaXRpYWwsIHZhciggLS1rZW5kby1kaXNhYmxlZC10ZXh0LCBpbmhlcml0ICksIHRyYW5zcGFyZW50KSlcbiAgICApXG4pICFkZWZhdWx0O1xuXG4vLyBUaGUgY29sb3IgbWF0cml4IGZvciB3YXJuaW5nIEJ1dHRvbnNcbiRfdGMtd2FybmluZy1tYXRyaXg6IChcbiAgICBzb2xpZDogKFxuICAgICAgICBub3JtYWw6IGlmKCRrZW5kby1lbmFibGUtY29sb3Itc3lzdGVtLCAoY29sb3IsIG9uLWNvbG9yLCBjb2xvciksICgxMDAsIGstZ2V0LXRoZW1lLWNvbG9yLXZhciggbmV1dHJhbC0xNjAgKSwgMTAwKSksXG4gICAgICAgIGhvdmVyOiBpZigka2VuZG8tZW5hYmxlLWNvbG9yLXN5c3RlbSwgKGNvbG9yLWhvdmVyLCBvbi1jb2xvciwgY29sb3ItaG92ZXIpLCAoMTEwLCBrLWdldC10aGVtZS1jb2xvci12YXIoIG5ldXRyYWwtMTkwICksIDExMCkpLFxuICAgICAgICBmb2N1czogaWYoJGtlbmRvLWVuYWJsZS1jb2xvci1zeXN0ZW0sIChjb2xvciwgb24tY29sb3IsIGNvbG9yLCBhcHAtc3VyZmFjZSksICgxMDAsIGstZ2V0LXRoZW1lLWNvbG9yLXZhciggbmV1dHJhbC0xNjAgKSwgMTAwLCAka2VuZG8tY29sb3Itd2hpdGUpKSxcbiAgICAgICAgZm9jdXMtaG92ZXI6IGlmKCRrZW5kby1lbmFibGUtY29sb3Itc3lzdGVtLCAoY29sb3ItaG92ZXIsIG9uLWNvbG9yLCBjb2xvci1ob3ZlciwgYXBwLXN1cmZhY2UpLCAoMTEwLCBrLWdldC10aGVtZS1jb2xvci12YXIoIG5ldXRyYWwtMTkwICksIDExMCwgJGtlbmRvLWNvbG9yLXdoaXRlKSksXG4gICAgICAgIGFjdGl2ZTogaWYoJGtlbmRvLWVuYWJsZS1jb2xvci1zeXN0ZW0sIChjb2xvci1hY3RpdmUsIG9uLWNvbG9yLCBjb2xvci1hY3RpdmUpLCAoMTIwLCBrLWdldC10aGVtZS1jb2xvci12YXIoIG5ldXRyYWwtMTkwICksIDEyMCkpLFxuICAgICAgICBhY3RpdmUtaG92ZXI6IGlmKCRrZW5kby1lbmFibGUtY29sb3Itc3lzdGVtLCAoY29sb3ItaG92ZXIsIG9uLWNvbG9yLCBjb2xvci1ob3ZlciksICgxMTAsIGstZ2V0LXRoZW1lLWNvbG9yLXZhciggbmV1dHJhbC0xOTAgKSwgMTEwKSksXG4gICAgICAgIGRpc2FibGVkOiBpZigka2VuZG8tZW5hYmxlLWNvbG9yLXN5c3RlbSwgKGNvbG9yLW1peChpbiBzcmdiLCBrLWNvbG9yKCBvbi1hcHAtc3VyZmFjZSApIDYlLCB0cmFuc3BhcmVudCksIGNvbG9yLW1peChpbiBzcmdiLCBrLWNvbG9yKCBvbi1hcHAtc3VyZmFjZSApIDQ2JSwgdHJhbnNwYXJlbnQpLCB0cmFuc3BhcmVudCksICh2YXIoIC0ta2VuZG8tZGlzYWJsZWQtYmcsIGluaGVyaXQgKSwgdmFyKCAtLWtlbmRvLWRpc2FibGVkLXRleHQsIGluaGVyaXQgKSwgdmFyKCAtLWtlbmRvLWRpc2FibGVkLWJvcmRlciwgaW5oZXJpdCApKSlcbiAgICApLFxuICAgIGZsYXQ6IChcbiAgICAgICAgbm9ybWFsOiBpZigka2VuZG8tZW5hYmxlLWNvbG9yLXN5c3RlbSwgKGluaXRpYWwsIGNvbG9yLW9uLXN1cmZhY2UsIHRyYW5zcGFyZW50KSwgKGluaXRpYWwsIDEwMCwgdHJhbnNwYXJlbnQpKSxcbiAgICAgICAgaG92ZXI6IGlmKCRrZW5kby1lbmFibGUtY29sb3Itc3lzdGVtLCAoY29sb3Itc3VidGxlLCBjb2xvci1ob3ZlciwgdHJhbnNwYXJlbnQpLCAoMTAsIDExMCwgdHJhbnNwYXJlbnQpKSxcbiAgICAgICAgZm9jdXM6IGlmKCRrZW5kby1lbmFibGUtY29sb3Itc3lzdGVtLCAoaW5pdGlhbCwgY29sb3Itb24tc3VyZmFjZSwgdHJhbnNwYXJlbnQsIGNvbG9yLXN1YnRsZS1hY3RpdmUpLCAoaW5pdGlhbCwgMTAwLCB0cmFuc3BhcmVudCwgMzApKSxcbiAgICAgICAgZm9jdXMtaG92ZXI6IGlmKCRrZW5kby1lbmFibGUtY29sb3Itc3lzdGVtLCAoY29sb3Itc3VidGxlLCBjb2xvci1ob3ZlciwgdHJhbnNwYXJlbnQsIGNvbG9yLXN1YnRsZS1hY3RpdmUpLCAoMTAsIDExMCwgdHJhbnNwYXJlbnQsIDMwKSksXG4gICAgICAgIGFjdGl2ZTogaWYoJGtlbmRvLWVuYWJsZS1jb2xvci1zeXN0ZW0sIChjb2xvci1zdWJ0bGUtaG92ZXIsIGNvbG9yLWhvdmVyLCB0cmFuc3BhcmVudCksICgyMCwgMTEwLCB0cmFuc3BhcmVudCkpLFxuICAgICAgICBhY3RpdmUtaG92ZXI6IGlmKCRrZW5kby1lbmFibGUtY29sb3Itc3lzdGVtLCAoY29sb3Itc3VidGxlLCBjb2xvci1ob3ZlciwgdHJhbnNwYXJlbnQpLCAoMTAsIDExMCwgdHJhbnNwYXJlbnQpKSxcbiAgICAgICAgZGlzYWJsZWQ6IGlmKCRrZW5kby1lbmFibGUtY29sb3Itc3lzdGVtLCAoaW5pdGlhbCwgY29sb3ItbWl4KGluIHNyZ2IsIGstY29sb3IoIG9uLWFwcC1zdXJmYWNlICkgNDYlLCB0cmFuc3BhcmVudCksIGluaXRpYWwpLCAoaW5pdGlhbCwgdmFyKCAtLWtlbmRvLWRpc2FibGVkLXRleHQsIGluaGVyaXQgKSwgaW5pdGlhbCkpXG4gICAgKSxcbiAgICBvdXRsaW5lOiAoXG4gICAgICAgIG5vcm1hbDogaWYoJGtlbmRvLWVuYWJsZS1jb2xvci1zeXN0ZW0sICh0cmFuc3BhcmVudCwgY29sb3Itb24tc3VyZmFjZSwgY3VycmVudENvbG9yKSwgKHRyYW5zcGFyZW50LCAxMDAsIGN1cnJlbnRDb2xvcikpLFxuICAgICAgICBob3ZlcjogaWYoJGtlbmRvLWVuYWJsZS1jb2xvci1zeXN0ZW0sIChjb2xvciwgb24tY29sb3IsIGNvbG9yKSwgKDEwMCwgJGtlbmRvLWNvbG9yLWJsYWNrLCAxMDApKSxcbiAgICAgICAgZm9jdXM6IGlmKCRrZW5kby1lbmFibGUtY29sb3Itc3lzdGVtLCAodHJhbnNwYXJlbnQsIGNvbG9yLW9uLXN1cmZhY2UsIGNvbG9yLW9uLXN1cmZhY2UsIGluaGVyaXQpLCAodHJhbnNwYXJlbnQsIDEwMCwgMTAwLCBpbmhlcml0KSksXG4gICAgICAgIGZvY3VzLWhvdmVyOiBpZigka2VuZG8tZW5hYmxlLWNvbG9yLXN5c3RlbSwgKGNvbG9yLCBvbi1jb2xvciwgY29sb3IsIGluaGVyaXQpLCAoMTAwLCAka2VuZG8tY29sb3ItYmxhY2ssIDEwMCwgaW5oZXJpdCkpLFxuICAgICAgICBhY3RpdmU6IGlmKCRrZW5kby1lbmFibGUtY29sb3Itc3lzdGVtLCAoY29sb3IsIG9uLWNvbG9yLCBjb2xvciksICgxMDAsICRrZW5kby1jb2xvci1ibGFjaywgMTAwKSksXG4gICAgICAgIGFjdGl2ZS1ob3ZlcjogaWYoJGtlbmRvLWVuYWJsZS1jb2xvci1zeXN0ZW0sIChjb2xvciwgb24tY29sb3IsIGNvbG9yKSwgKDEwMCwgJGtlbmRvLWNvbG9yLWJsYWNrLCAxMDApKSxcbiAgICAgICAgZGlzYWJsZWQ6IGlmKCRrZW5kby1lbmFibGUtY29sb3Itc3lzdGVtLCAoaW5pdGlhbCwgY29sb3ItbWl4KGluIHNyZ2IsIGstY29sb3IoIG9uLWFwcC1zdXJmYWNlICkgNDYlLCB0cmFuc3BhcmVudCksIGNvbG9yLW1peChpbiBzcmdiLCBrLWNvbG9yKCBvbi1hcHAtc3VyZmFjZSApIDQ2JSwgdHJhbnNwYXJlbnQpKSwgKGluaXRpYWwsIHZhciggLS1rZW5kby1kaXNhYmxlZC10ZXh0LCBpbmhlcml0ICksIHZhciggLS1rZW5kby1kaXNhYmxlZC10ZXh0LCBpbmhlcml0ICkpKVxuICAgICksXG4gICAgbGluazogKFxuICAgICAgICBub3JtYWw6IGlmKCRrZW5kby1lbmFibGUtY29sb3Itc3lzdGVtLCAodHJhbnNwYXJlbnQsIGNvbG9yLCB0cmFuc3BhcmVudCksICh0cmFuc3BhcmVudCwgMTAwLCB0cmFuc3BhcmVudCkpLFxuICAgICAgICBob3ZlcjogaWYoJGtlbmRvLWVuYWJsZS1jb2xvci1zeXN0ZW0sICh0cmFuc3BhcmVudCwgY29sb3ItaG92ZXIsIHRyYW5zcGFyZW50KSwgKHRyYW5zcGFyZW50LCAxMzAsIHRyYW5zcGFyZW50KSksXG4gICAgICAgIGZvY3VzOiBpZigka2VuZG8tZW5hYmxlLWNvbG9yLXN5c3RlbSwgKHRyYW5zcGFyZW50LCBjb2xvciwgY29sb3Itc3VidGxlLWFjdGl2ZSksICh0cmFuc3BhcmVudCwgMTAwLCAzMCkpLFxuICAgICAgICBmb2N1cy1ob3ZlcjogaWYoJGtlbmRvLWVuYWJsZS1jb2xvci1zeXN0ZW0sICh0cmFuc3BhcmVudCwgY29sb3ItaG92ZXIsIHRyYW5zcGFyZW50LCBjb2xvci1zdWJ0bGUtYWN0aXZlKSwgKHRyYW5zcGFyZW50LCAxMzAsIHRyYW5zcGFyZW50LCAzMCkpLFxuICAgICAgICBhY3RpdmU6IGlmKCRrZW5kby1lbmFibGUtY29sb3Itc3lzdGVtLCAodHJhbnNwYXJlbnQsIGNvbG9yLWFjdGl2ZSwgdHJhbnNwYXJlbnQpLCAodHJhbnNwYXJlbnQsIDE0MCwgdHJhbnNwYXJlbnQpKSxcbiAgICAgICAgYWN0aXZlLWhvdmVyOiBpZigka2VuZG8tZW5hYmxlLWNvbG9yLXN5c3RlbSwgKHRyYW5zcGFyZW50LCBjb2xvci1ob3ZlciwgdHJhbnNwYXJlbnQpLCAodHJhbnNwYXJlbnQsIDEzMCwgdHJhbnNwYXJlbnQpKSxcbiAgICAgICAgZGlzYWJsZWQ6IGlmKCRrZW5kby1lbmFibGUtY29sb3Itc3lzdGVtLCAoaW5pdGlhbCwgY29sb3ItbWl4KGluIHNyZ2IsIGstY29sb3IoIG9uLWFwcC1zdXJmYWNlICkgNDYlLCB0cmFuc3BhcmVudCksIGluaXRpYWwpLCAoaW5pdGlhbCwgdmFyKCAtLWtlbmRvLWRpc2FibGVkLXRleHQsIGluaGVyaXQgKSwgdHJhbnNwYXJlbnQpKVxuICAgICksXG4gICAgY2xlYXI6IChcbiAgICAgICAgbm9ybWFsOiBpZigka2VuZG8tZW5hYmxlLWNvbG9yLXN5c3RlbSwgKHRyYW5zcGFyZW50LCBjb2xvci1vbi1zdXJmYWNlLCB0cmFuc3BhcmVudCksICh0cmFuc3BhcmVudCwgMTAwLCB0cmFuc3BhcmVudCkpLFxuICAgICAgICBob3ZlcjogaWYoJGtlbmRvLWVuYWJsZS1jb2xvci1zeXN0ZW0sICh0cmFuc3BhcmVudCwgY29sb3Itb24tc3VyZmFjZSwgdHJhbnNwYXJlbnQpLCAodHJhbnNwYXJlbnQsIDExMCwgdHJhbnNwYXJlbnQpKSxcbiAgICAgICAgZm9jdXM6IGlmKCRrZW5kby1lbmFibGUtY29sb3Itc3lzdGVtLCAoY29sb3Itc3VidGxlLCBjb2xvci1vbi1zdXJmYWNlLCB0cmFuc3BhcmVudCksICgyMCwgMTAwLCB0cmFuc3BhcmVudCkpLFxuICAgICAgICBmb2N1cy1ob3ZlcjogaWYoJGtlbmRvLWVuYWJsZS1jb2xvci1zeXN0ZW0sICh0cmFuc3BhcmVudCwgY29sb3Itb24tc3VyZmFjZSwgdHJhbnNwYXJlbnQpLCAodHJhbnNwYXJlbnQsIDExMCwgdHJhbnNwYXJlbnQpKSxcbiAgICAgICAgYWN0aXZlOiBpZigka2VuZG8tZW5hYmxlLWNvbG9yLXN5c3RlbSwgKHRyYW5zcGFyZW50LCBjb2xvci1vbi1zdXJmYWNlLCB0cmFuc3BhcmVudCksICh0cmFuc3BhcmVudCwgMTIwLCB0cmFuc3BhcmVudCkpLFxuICAgICAgICBhY3RpdmUtaG92ZXI6IGlmKCRrZW5kby1lbmFibGUtY29sb3Itc3lzdGVtLCAodHJhbnNwYXJlbnQsIGNvbG9yLW9uLXN1cmZhY2UsIHRyYW5zcGFyZW50KSwgKHRyYW5zcGFyZW50LCAxMTAsIHRyYW5zcGFyZW50KSksXG4gICAgICAgIGRpc2FibGVkOiBpZigka2VuZG8tZW5hYmxlLWNvbG9yLXN5c3RlbSwgKGluaXRpYWwsIGNvbG9yLW1peChpbiBzcmdiLCBrLWNvbG9yKCBvbi1hcHAtc3VyZmFjZSApIDQ2JSwgdHJhbnNwYXJlbnQpLCBpbml0aWFsKSwgKGluaXRpYWwsIHZhciggLS1rZW5kby1kaXNhYmxlZC10ZXh0LCBpbmhlcml0ICksIHRyYW5zcGFyZW50KSlcbiAgICApXG4pICFkZWZhdWx0O1xuXG4vLyBUaGUgY29sb3IgbWF0cml4IGZvciBkYXJrIEJ1dHRvbnNcbiRfdGMtZGFyay1tYXRyaXg6IChcbiAgICBzb2xpZDogKFxuICAgICAgICBub3JtYWw6IGlmKCRrZW5kby1lbmFibGUtY29sb3Itc3lzdGVtLCAoY29sb3IsIG9uLWNvbG9yLCBjb2xvciksICgxNjAsICRrZW5kby1jb2xvci13aGl0ZSwgMTYwKSksXG4gICAgICAgIGhvdmVyOiBpZigka2VuZG8tZW5hYmxlLWNvbG9yLXN5c3RlbSwgKGNvbG9yLWhvdmVyLCBvbi1jb2xvciwgY29sb3ItaG92ZXIpLCAoMTcwLCAka2VuZG8tY29sb3Itd2hpdGUsIDE3MCkpLFxuICAgICAgICBmb2N1czogaWYoJGtlbmRvLWVuYWJsZS1jb2xvci1zeXN0ZW0sIChjb2xvciwgb24tY29sb3IsIGNvbG9yLCBvbi1jb2xvciksICgxNjAsICRrZW5kby1jb2xvci13aGl0ZSwgMTYwLCAka2VuZG8tY29sb3Itd2hpdGUpKSxcbiAgICAgICAgZm9jdXMtaG92ZXI6IGlmKCRrZW5kby1lbmFibGUtY29sb3Itc3lzdGVtLCAoY29sb3ItaG92ZXIsIG9uLWNvbG9yLCBjb2xvci1ob3Zlciwgb24tY29sb3IpLCAoMTcwLCAka2VuZG8tY29sb3Itd2hpdGUsIDE3MCwgJGtlbmRvLWNvbG9yLXdoaXRlKSksXG4gICAgICAgIGFjdGl2ZTogaWYoJGtlbmRvLWVuYWJsZS1jb2xvci1zeXN0ZW0sIChjb2xvci1hY3RpdmUsIG9uLWNvbG9yLCBjb2xvci1hY3RpdmUpLCAoMTgwLCAka2VuZG8tY29sb3Itd2hpdGUsIDE4MCkpLFxuICAgICAgICBhY3RpdmUtaG92ZXI6IGlmKCRrZW5kby1lbmFibGUtY29sb3Itc3lzdGVtLCAoY29sb3ItaG92ZXIsIG9uLWNvbG9yLCBjb2xvci1ob3ZlciksICgxNzAsICRrZW5kby1jb2xvci13aGl0ZSwgMTcwKSksXG4gICAgICAgIGRpc2FibGVkOiBpZigka2VuZG8tZW5hYmxlLWNvbG9yLXN5c3RlbSwgKGNvbG9yLW1peChpbiBzcmdiLCBrLWNvbG9yKCBvbi1hcHAtc3VyZmFjZSApIDYlLCB0cmFuc3BhcmVudCksIGNvbG9yLW1peChpbiBzcmdiLCBrLWNvbG9yKCBvbi1hcHAtc3VyZmFjZSApIDQ2JSwgdHJhbnNwYXJlbnQpLCB0cmFuc3BhcmVudCksICh2YXIoIC0ta2VuZG8tZGlzYWJsZWQtYmcsIGluaGVyaXQgKSwgdmFyKCAtLWtlbmRvLWRpc2FibGVkLXRleHQsIGluaGVyaXQgKSwgdmFyKCAtLWtlbmRvLWRpc2FibGVkLWJvcmRlciwgaW5oZXJpdCApKSlcbiAgICApLFxuICAgIGZsYXQ6IChcbiAgICAgICAgbm9ybWFsOiBpZigka2VuZG8tZW5hYmxlLWNvbG9yLXN5c3RlbSwgKGluaXRpYWwsIGNvbG9yLW9uLXN1cmZhY2UsIHRyYW5zcGFyZW50KSwgKGluaXRpYWwsIDE2MCwgdHJhbnNwYXJlbnQpKSxcbiAgICAgICAgaG92ZXI6IGlmKCRrZW5kby1lbmFibGUtY29sb3Itc3lzdGVtLCAoY29sb3Itc3VidGxlLCBjb2xvci1ob3ZlciwgdHJhbnNwYXJlbnQpLCAoMTAsIDE3MCwgdHJhbnNwYXJlbnQpKSxcbiAgICAgICAgZm9jdXM6IGlmKCRrZW5kby1lbmFibGUtY29sb3Itc3lzdGVtLCAoaW5pdGlhbCwgY29sb3Itb24tc3VyZmFjZSwgdHJhbnNwYXJlbnQsIGNvbG9yLXN1YnRsZS1hY3RpdmUpLCAoaW5pdGlhbCwgMTYwLCB0cmFuc3BhcmVudCwgMzApKSxcbiAgICAgICAgZm9jdXMtaG92ZXI6IGlmKCRrZW5kby1lbmFibGUtY29sb3Itc3lzdGVtLCAoY29sb3Itc3VidGxlLCBjb2xvci1ob3ZlciwgdHJhbnNwYXJlbnQsIGNvbG9yLXN1YnRsZS1hY3RpdmUpLCAoMTAsIDE3MCwgdHJhbnNwYXJlbnQsIDMwKSksXG4gICAgICAgIGFjdGl2ZTogaWYoJGtlbmRvLWVuYWJsZS1jb2xvci1zeXN0ZW0sIChjb2xvci1zdWJ0bGUtaG92ZXIsIGNvbG9yLWhvdmVyLCB0cmFuc3BhcmVudCksICgyMCwgMTcwLCB0cmFuc3BhcmVudCkpLFxuICAgICAgICBhY3RpdmUtaG92ZXI6IGlmKCRrZW5kby1lbmFibGUtY29sb3Itc3lzdGVtLCAoY29sb3Itc3VidGxlLCBjb2xvci1ob3ZlciwgdHJhbnNwYXJlbnQpLCAoMTAsIDE3MCwgdHJhbnNwYXJlbnQpKSxcbiAgICAgICAgZGlzYWJsZWQ6IGlmKCRrZW5kby1lbmFibGUtY29sb3Itc3lzdGVtLCAoaW5pdGlhbCwgY29sb3ItbWl4KGluIHNyZ2IsIGstY29sb3IoIG9uLWFwcC1zdXJmYWNlICkgNDYlLCB0cmFuc3BhcmVudCksIGluaXRpYWwpLCAoaW5pdGlhbCwgdmFyKCAtLWtlbmRvLWRpc2FibGVkLXRleHQsIGluaGVyaXQgKSwgaW5pdGlhbCkpXG4gICAgKSxcbiAgICBvdXRsaW5lOiAoXG4gICAgICAgIG5vcm1hbDogaWYoJGtlbmRvLWVuYWJsZS1jb2xvci1zeXN0ZW0sICh0cmFuc3BhcmVudCwgY29sb3Itb24tc3VyZmFjZSwgY3VycmVudENvbG9yKSwgKHRyYW5zcGFyZW50LCAxNjAsIGN1cnJlbnRDb2xvcikpLFxuICAgICAgICBob3ZlcjogaWYoJGtlbmRvLWVuYWJsZS1jb2xvci1zeXN0ZW0sIChjb2xvciwgb24tY29sb3IsIGNvbG9yKSwgKDE2MCwgJGtlbmRvLWNvbG9yLXdoaXRlLCAxNjApKSxcbiAgICAgICAgZm9jdXM6IGlmKCRrZW5kby1lbmFibGUtY29sb3Itc3lzdGVtLCAodHJhbnNwYXJlbnQsIGNvbG9yLW9uLXN1cmZhY2UsIGNvbG9yLCBpbmhlcml0KSwgKHRyYW5zcGFyZW50LCAxNjAsIDE2MCwgaW5oZXJpdCkpLFxuICAgICAgICBmb2N1cy1ob3ZlcjogaWYoJGtlbmRvLWVuYWJsZS1jb2xvci1zeXN0ZW0sIChjb2xvciwgb24tY29sb3IsIGNvbG9yLCBpbmhlcml0KSwgKDE2MCwgJGtlbmRvLWNvbG9yLXdoaXRlLCAxNjAsIGluaGVyaXQpKSxcbiAgICAgICAgYWN0aXZlOiBpZigka2VuZG8tZW5hYmxlLWNvbG9yLXN5c3RlbSwgKGNvbG9yLCBvbi1jb2xvciwgY29sb3IpLCAoMTYwLCAka2VuZG8tY29sb3Itd2hpdGUsIDE2MCkpLFxuICAgICAgICBhY3RpdmUtaG92ZXI6IGlmKCRrZW5kby1lbmFibGUtY29sb3Itc3lzdGVtLCAoY29sb3IsIG9uLWNvbG9yLCBjb2xvciksICgxNjAsICRrZW5kby1jb2xvci13aGl0ZSwgMTYwKSksXG4gICAgICAgIGRpc2FibGVkOiBpZigka2VuZG8tZW5hYmxlLWNvbG9yLXN5c3RlbSwgKGluaXRpYWwsIGNvbG9yLW1peChpbiBzcmdiLCBrLWNvbG9yKCBvbi1hcHAtc3VyZmFjZSApIDQ2JSwgdHJhbnNwYXJlbnQpLCBjb2xvci1taXgoaW4gc3JnYiwgay1jb2xvciggb24tYXBwLXN1cmZhY2UgKSA0NiUsIHRyYW5zcGFyZW50KSksIChpbml0aWFsLCB2YXIoIC0ta2VuZG8tZGlzYWJsZWQtdGV4dCwgaW5oZXJpdCApLCB2YXIoIC0ta2VuZG8tZGlzYWJsZWQtdGV4dCwgaW5oZXJpdCApKSlcbiAgICApLFxuICAgIGxpbms6IChcbiAgICAgICAgbm9ybWFsOiBpZigka2VuZG8tZW5hYmxlLWNvbG9yLXN5c3RlbSwgKHRyYW5zcGFyZW50LCBjb2xvciwgdHJhbnNwYXJlbnQpLCAodHJhbnNwYXJlbnQsIDE2MCwgdHJhbnNwYXJlbnQpKSxcbiAgICAgICAgaG92ZXI6IGlmKCRrZW5kby1lbmFibGUtY29sb3Itc3lzdGVtLCAodHJhbnNwYXJlbnQsIGNvbG9yLWhvdmVyLCB0cmFuc3BhcmVudCksICh0cmFuc3BhcmVudCwgMTcwLCB0cmFuc3BhcmVudCkpLFxuICAgICAgICBmb2N1czogaWYoJGtlbmRvLWVuYWJsZS1jb2xvci1zeXN0ZW0sICh0cmFuc3BhcmVudCwgY29sb3IsIGNvbG9yLXN1YnRsZS1hY3RpdmUpLCAodHJhbnNwYXJlbnQsIDE2MCwgMzApKSxcbiAgICAgICAgZm9jdXMtaG92ZXI6IGlmKCRrZW5kby1lbmFibGUtY29sb3Itc3lzdGVtLCAodHJhbnNwYXJlbnQsIGNvbG9yLWhvdmVyLCB0cmFuc3BhcmVudCwgY29sb3Itc3VidGxlLWFjdGl2ZSksICh0cmFuc3BhcmVudCwgMTcwLCB0cmFuc3BhcmVudCwgMzApKSxcbiAgICAgICAgYWN0aXZlOiBpZigka2VuZG8tZW5hYmxlLWNvbG9yLXN5c3RlbSwgKHRyYW5zcGFyZW50LCBjb2xvci1hY3RpdmUsIHRyYW5zcGFyZW50KSwgKHRyYW5zcGFyZW50LCAxNzAsIHRyYW5zcGFyZW50KSksXG4gICAgICAgIGFjdGl2ZS1ob3ZlcjogaWYoJGtlbmRvLWVuYWJsZS1jb2xvci1zeXN0ZW0sICh0cmFuc3BhcmVudCwgY29sb3ItaG92ZXIsIHRyYW5zcGFyZW50KSwgKHRyYW5zcGFyZW50LCAxNzAsIHRyYW5zcGFyZW50KSksXG4gICAgICAgIGRpc2FibGVkOiBpZigka2VuZG8tZW5hYmxlLWNvbG9yLXN5c3RlbSwgKGluaXRpYWwsIGNvbG9yLW1peChpbiBzcmdiLCBrLWNvbG9yKCBvbi1hcHAtc3VyZmFjZSApIDQ2JSwgdHJhbnNwYXJlbnQpLCBpbml0aWFsKSwgKGluaXRpYWwsIHZhciggLS1rZW5kby1kaXNhYmxlZC10ZXh0LCBpbmhlcml0ICksIHRyYW5zcGFyZW50KSlcbiAgICApLFxuICAgIGNsZWFyOiAoXG4gICAgICAgIG5vcm1hbDogaWYoJGtlbmRvLWVuYWJsZS1jb2xvci1zeXN0ZW0sICh0cmFuc3BhcmVudCwgY29sb3Itb24tc3VyZmFjZSwgdHJhbnNwYXJlbnQpLCAodHJhbnNwYXJlbnQsIDE2MCwgdHJhbnNwYXJlbnQpKSxcbiAgICAgICAgaG92ZXI6IGlmKCRrZW5kby1lbmFibGUtY29sb3Itc3lzdGVtLCAodHJhbnNwYXJlbnQsIGNvbG9yLW9uLXN1cmZhY2UsIHRyYW5zcGFyZW50KSwgKHRyYW5zcGFyZW50LCAxNzAsIHRyYW5zcGFyZW50KSksXG4gICAgICAgIGZvY3VzOiBpZigka2VuZG8tZW5hYmxlLWNvbG9yLXN5c3RlbSwgKGNvbG9yLXN1YnRsZSwgY29sb3Itb24tc3VyZmFjZSwgdHJhbnNwYXJlbnQpLCAoMjAsIDE2MCwgdHJhbnNwYXJlbnQpKSxcbiAgICAgICAgZm9jdXMtaG92ZXI6IGlmKCRrZW5kby1lbmFibGUtY29sb3Itc3lzdGVtLCAodHJhbnNwYXJlbnQsIGNvbG9yLW9uLXN1cmZhY2UsIHRyYW5zcGFyZW50KSwgKHRyYW5zcGFyZW50LCAxNzAsIHRyYW5zcGFyZW50KSksXG4gICAgICAgIGFjdGl2ZTogaWYoJGtlbmRvLWVuYWJsZS1jb2xvci1zeXN0ZW0sICh0cmFuc3BhcmVudCwgY29sb3Itb24tc3VyZmFjZSwgdHJhbnNwYXJlbnQpLCAodHJhbnNwYXJlbnQsIDE3MCwgdHJhbnNwYXJlbnQpKSxcbiAgICAgICAgYWN0aXZlLWhvdmVyOiBpZigka2VuZG8tZW5hYmxlLWNvbG9yLXN5c3RlbSwgKHRyYW5zcGFyZW50LCBjb2xvci1vbi1zdXJmYWNlLCB0cmFuc3BhcmVudCksICh0cmFuc3BhcmVudCwgMTcwLCB0cmFuc3BhcmVudCkpLFxuICAgICAgICBkaXNhYmxlZDogaWYoJGtlbmRvLWVuYWJsZS1jb2xvci1zeXN0ZW0sIChpbml0aWFsLCBjb2xvci1taXgoaW4gc3JnYiwgay1jb2xvciggb24tYXBwLXN1cmZhY2UgKSA0NiUsIHRyYW5zcGFyZW50KSwgaW5pdGlhbCksIChpbml0aWFsLCB2YXIoIC0ta2VuZG8tZGlzYWJsZWQtdGV4dCwgaW5oZXJpdCApLCB0cmFuc3BhcmVudCkpXG4gICAgKVxuKSAhZGVmYXVsdDtcblxuLy8gVGhlIGNvbG9yIG1hdHJpeCBmb3IgbGlnaHQgQnV0dG9uc1xuJF90Yy1saWdodC1tYXRyaXg6IChcbiAgICBzb2xpZDogKFxuICAgICAgICBub3JtYWw6IGlmKCRrZW5kby1lbmFibGUtY29sb3Itc3lzdGVtLCAoY29sb3IsIG9uLWNvbG9yLCBjb2xvciksICg1MCwgMTYwLCA1MCkpLFxuICAgICAgICBob3ZlcjogaWYoJGtlbmRvLWVuYWJsZS1jb2xvci1zeXN0ZW0sIChjb2xvci1ob3Zlciwgb24tY29sb3IsIGNvbG9yLWhvdmVyKSwgKDYwLCAxOTAsIDYwKSksXG4gICAgICAgIGZvY3VzOiBpZigka2VuZG8tZW5hYmxlLWNvbG9yLXN5c3RlbSwgKGNvbG9yLCBvbi1jb2xvciwgY29sb3IsIGFwcC1zdXJmYWNlKSwgKDUwLCAxNjAsIDUwLCAka2VuZG8tY29sb3Itd2hpdGUpKSxcbiAgICAgICAgZm9jdXMtaG92ZXI6IGlmKCRrZW5kby1lbmFibGUtY29sb3Itc3lzdGVtLCAoY29sb3ItaG92ZXIsIG9uLWNvbG9yLCBjb2xvci1ob3ZlciwgYXBwLXN1cmZhY2UpLCAoNjAsIDE5MCwgNjAsICRrZW5kby1jb2xvci13aGl0ZSkpLFxuICAgICAgICBhY3RpdmU6IGlmKCRrZW5kby1lbmFibGUtY29sb3Itc3lzdGVtLCAoY29sb3ItYWN0aXZlLCBvbi1jb2xvciwgY29sb3ItYWN0aXZlKSwgKDcwLCAxOTAsIDcwKSksXG4gICAgICAgIGFjdGl2ZS1ob3ZlcjogaWYoJGtlbmRvLWVuYWJsZS1jb2xvci1zeXN0ZW0sIChjb2xvci1ob3Zlciwgb24tY29sb3IsIGNvbG9yLWhvdmVyKSwgKDYwLCAxOTAsIDYwKSksXG4gICAgICAgIGRpc2FibGVkOiBpZigka2VuZG8tZW5hYmxlLWNvbG9yLXN5c3RlbSwgKGNvbG9yLW1peChpbiBzcmdiLCBrLWNvbG9yKCBvbi1hcHAtc3VyZmFjZSApIDYlLCB0cmFuc3BhcmVudCksIGNvbG9yLW1peChpbiBzcmdiLCBrLWNvbG9yKCBvbi1hcHAtc3VyZmFjZSApIDQ2JSwgdHJhbnNwYXJlbnQpLCB0cmFuc3BhcmVudCksICh2YXIoIC0ta2VuZG8tZGlzYWJsZWQtYmcsIGluaGVyaXQgKSwgdmFyKCAtLWtlbmRvLWRpc2FibGVkLXRleHQsIGluaGVyaXQgKSwgdmFyKCAtLWtlbmRvLWRpc2FibGVkLWJvcmRlciwgaW5oZXJpdCApKSlcbiAgICApLFxuICAgIGZsYXQ6IChcbiAgICAgICAgbm9ybWFsOiBpZigka2VuZG8tZW5hYmxlLWNvbG9yLXN5c3RlbSwgKGluaXRpYWwsIGNvbG9yLW9uLXN1cmZhY2UsIHRyYW5zcGFyZW50KSwgKGluaXRpYWwsIDUwLCB0cmFuc3BhcmVudCkpLFxuICAgICAgICBob3ZlcjogaWYoJGtlbmRvLWVuYWJsZS1jb2xvci1zeXN0ZW0sIChjb2xvci1zdWJ0bGUsIGNvbG9yLWhvdmVyLCB0cmFuc3BhcmVudCksICgxMCwgNjAsIHRyYW5zcGFyZW50KSksXG4gICAgICAgIGZvY3VzOiBpZigka2VuZG8tZW5hYmxlLWNvbG9yLXN5c3RlbSwgKGluaXRpYWwsIGNvbG9yLW9uLXN1cmZhY2UsIHRyYW5zcGFyZW50LCBjb2xvci1zdWJ0bGUtYWN0aXZlKSwgKGluaXRpYWwsIDUwLCB0cmFuc3BhcmVudCwgMzApKSxcbiAgICAgICAgZm9jdXMtaG92ZXI6IGlmKCRrZW5kby1lbmFibGUtY29sb3Itc3lzdGVtLCAoY29sb3Itc3VidGxlLCBjb2xvci1ob3ZlciwgdHJhbnNwYXJlbnQsIGNvbG9yLXN1YnRsZS1hY3RpdmUpLCAoMTAsIDYwLCB0cmFuc3BhcmVudCwgMzApKSxcbiAgICAgICAgYWN0aXZlOiBpZigka2VuZG8tZW5hYmxlLWNvbG9yLXN5c3RlbSwgKGNvbG9yLXN1YnRsZS1ob3ZlciwgY29sb3ItaG92ZXIsIHRyYW5zcGFyZW50KSwgKDIwLCA2MCwgdHJhbnNwYXJlbnQpKSxcbiAgICAgICAgYWN0aXZlLWhvdmVyOiBpZigka2VuZG8tZW5hYmxlLWNvbG9yLXN5c3RlbSwgKGNvbG9yLXN1YnRsZSwgY29sb3ItaG92ZXIsIHRyYW5zcGFyZW50KSwgKDEwLCA2MCwgdHJhbnNwYXJlbnQpKSxcbiAgICAgICAgZGlzYWJsZWQ6IGlmKCRrZW5kby1lbmFibGUtY29sb3Itc3lzdGVtLCAoaW5pdGlhbCwgY29sb3ItbWl4KGluIHNyZ2IsIGstY29sb3IoIG9uLWFwcC1zdXJmYWNlICkgNDYlLCB0cmFuc3BhcmVudCksIGluaXRpYWwpLCAoaW5pdGlhbCwgdmFyKCAtLWtlbmRvLWRpc2FibGVkLXRleHQsIGluaGVyaXQgKSwgaW5pdGlhbCkpXG4gICAgKSxcbiAgICBvdXRsaW5lOiAoXG4gICAgICAgIG5vcm1hbDogaWYoJGtlbmRvLWVuYWJsZS1jb2xvci1zeXN0ZW0sICh0cmFuc3BhcmVudCwgY29sb3Itb24tc3VyZmFjZSwgY3VycmVudENvbG9yKSwgKHRyYW5zcGFyZW50LCA1MCwgY3VycmVudENvbG9yKSksXG4gICAgICAgIGhvdmVyOiBpZigka2VuZG8tZW5hYmxlLWNvbG9yLXN5c3RlbSwgKGNvbG9yLCBvbi1jb2xvciwgY29sb3IpLCAoNTAsICRrZW5kby1jb2xvci13aGl0ZSwgNTApKSxcbiAgICAgICAgZm9jdXM6IGlmKCRrZW5kby1lbmFibGUtY29sb3Itc3lzdGVtLCAodHJhbnNwYXJlbnQsIGNvbG9yLW9uLXN1cmZhY2UsIGNvbG9yLCBpbmhlcml0KSwgKHRyYW5zcGFyZW50LCA1MCwgNTAsIGluaGVyaXQpKSxcbiAgICAgICAgZm9jdXMtaG92ZXI6IGlmKCRrZW5kby1lbmFibGUtY29sb3Itc3lzdGVtLCAoY29sb3IsIG9uLWNvbG9yLCBjb2xvciwgaW5oZXJpdCksICg1MCwgJGtlbmRvLWNvbG9yLXdoaXRlLCA1MCwgaW5oZXJpdCkpLFxuICAgICAgICBhY3RpdmU6IGlmKCRrZW5kby1lbmFibGUtY29sb3Itc3lzdGVtLCAoY29sb3IsIG9uLWNvbG9yLCBjb2xvciksICg1MCwgJGtlbmRvLWNvbG9yLXdoaXRlLCA1MCkpLFxuICAgICAgICBhY3RpdmUtaG92ZXI6IGlmKCRrZW5kby1lbmFibGUtY29sb3Itc3lzdGVtLCAoY29sb3IsIG9uLWNvbG9yLCBjb2xvciksICg1MCwgJGtlbmRvLWNvbG9yLXdoaXRlLCA1MCkpLFxuICAgICAgICBkaXNhYmxlZDogaWYoJGtlbmRvLWVuYWJsZS1jb2xvci1zeXN0ZW0sIChpbml0aWFsLCBjb2xvci1taXgoaW4gc3JnYiwgay1jb2xvciggb24tYXBwLXN1cmZhY2UgKSA0NiUsIHRyYW5zcGFyZW50KSwgY29sb3ItbWl4KGluIHNyZ2IsIGstY29sb3IoIG9uLWFwcC1zdXJmYWNlICkgNDYlLCB0cmFuc3BhcmVudCkpLCAoaW5pdGlhbCwgdmFyKCAtLWtlbmRvLWRpc2FibGVkLXRleHQsIGluaGVyaXQgKSwgdmFyKCAtLWtlbmRvLWRpc2FibGVkLXRleHQsIGluaGVyaXQgKSkpXG4gICAgKSxcbiAgICBsaW5rOiAoXG4gICAgICAgIG5vcm1hbDogaWYoJGtlbmRvLWVuYWJsZS1jb2xvci1zeXN0ZW0sICh0cmFuc3BhcmVudCwgY29sb3IsIHRyYW5zcGFyZW50KSwgKHRyYW5zcGFyZW50LCA1MCwgdHJhbnNwYXJlbnQpKSxcbiAgICAgICAgaG92ZXI6IGlmKCRrZW5kby1lbmFibGUtY29sb3Itc3lzdGVtLCAodHJhbnNwYXJlbnQsIGNvbG9yLWhvdmVyLCB0cmFuc3BhcmVudCksICh0cmFuc3BhcmVudCwgNjAsIHRyYW5zcGFyZW50KSksXG4gICAgICAgIGZvY3VzOiBpZigka2VuZG8tZW5hYmxlLWNvbG9yLXN5c3RlbSwgKHRyYW5zcGFyZW50LCBjb2xvciwgY29sb3Itc3VidGxlLWFjdGl2ZSksICh0cmFuc3BhcmVudCwgNTAsIDMwKSksXG4gICAgICAgIGZvY3VzLWhvdmVyOiBpZigka2VuZG8tZW5hYmxlLWNvbG9yLXN5c3RlbSwgKHRyYW5zcGFyZW50LCBjb2xvci1ob3ZlciwgdHJhbnNwYXJlbnQsIGNvbG9yLXN1YnRsZS1hY3RpdmUpLCAodHJhbnNwYXJlbnQsIDYwLCB0cmFuc3BhcmVudCwgMzApKSxcbiAgICAgICAgYWN0aXZlOiBpZigka2VuZG8tZW5hYmxlLWNvbG9yLXN5c3RlbSwgKHRyYW5zcGFyZW50LCBjb2xvci1hY3RpdmUsIHRyYW5zcGFyZW50KSwgKHRyYW5zcGFyZW50LCA2MCwgdHJhbnNwYXJlbnQpKSxcbiAgICAgICAgYWN0aXZlLWhvdmVyOiBpZigka2VuZG8tZW5hYmxlLWNvbG9yLXN5c3RlbSwgKHRyYW5zcGFyZW50LCBjb2xvci1ob3ZlciwgdHJhbnNwYXJlbnQpLCAodHJhbnNwYXJlbnQsIDYwLCB0cmFuc3BhcmVudCkpLFxuICAgICAgICBkaXNhYmxlZDogaWYoJGtlbmRvLWVuYWJsZS1jb2xvci1zeXN0ZW0sIChpbml0aWFsLCBjb2xvci1taXgoaW4gc3JnYiwgay1jb2xvciggb24tYXBwLXN1cmZhY2UgKSA0NiUsIHRyYW5zcGFyZW50KSwgaW5pdGlhbCksIChpbml0aWFsLCB2YXIoIC0ta2VuZG8tZGlzYWJsZWQtdGV4dCwgaW5oZXJpdCApLCB0cmFuc3BhcmVudCkpXG4gICAgKSxcbiAgICBjbGVhcjogKFxuICAgICAgICBub3JtYWw6IGlmKCRrZW5kby1lbmFibGUtY29sb3Itc3lzdGVtLCAodHJhbnNwYXJlbnQsIGNvbG9yLW9uLXN1cmZhY2UsIHRyYW5zcGFyZW50KSwgKHRyYW5zcGFyZW50LCA1MCwgdHJhbnNwYXJlbnQpKSxcbiAgICAgICAgaG92ZXI6IGlmKCRrZW5kby1lbmFibGUtY29sb3Itc3lzdGVtLCAodHJhbnNwYXJlbnQsIGNvbG9yLW9uLXN1cmZhY2UsIHRyYW5zcGFyZW50KSwgKHRyYW5zcGFyZW50LCA2MCwgdHJhbnNwYXJlbnQpKSxcbiAgICAgICAgZm9jdXM6IGlmKCRrZW5kby1lbmFibGUtY29sb3Itc3lzdGVtLCAoY29sb3Itc3VidGxlLCBjb2xvci1vbi1zdXJmYWNlLCB0cmFuc3BhcmVudCksICgyMCwgNTAsIHRyYW5zcGFyZW50KSksXG4gICAgICAgIGZvY3VzLWhvdmVyOiBpZigka2VuZG8tZW5hYmxlLWNvbG9yLXN5c3RlbSwgKHRyYW5zcGFyZW50LCBjb2xvci1vbi1zdXJmYWNlLCB0cmFuc3BhcmVudCksICh0cmFuc3BhcmVudCwgNjAsIHRyYW5zcGFyZW50KSksXG4gICAgICAgIGFjdGl2ZTogaWYoJGtlbmRvLWVuYWJsZS1jb2xvci1zeXN0ZW0sICh0cmFuc3BhcmVudCwgY29sb3Itb24tc3VyZmFjZSwgdHJhbnNwYXJlbnQpLCAodHJhbnNwYXJlbnQsIDYwLCB0cmFuc3BhcmVudCkpLFxuICAgICAgICBhY3RpdmUtaG92ZXI6IGlmKCRrZW5kby1lbmFibGUtY29sb3Itc3lzdGVtLCAodHJhbnNwYXJlbnQsIGNvbG9yLW9uLXN1cmZhY2UsIHRyYW5zcGFyZW50KSwgKHRyYW5zcGFyZW50LCA2MCwgdHJhbnNwYXJlbnQpKSxcbiAgICAgICAgZGlzYWJsZWQ6IGlmKCRrZW5kby1lbmFibGUtY29sb3Itc3lzdGVtLCAoaW5pdGlhbCwgY29sb3ItbWl4KGluIHNyZ2IsIGstY29sb3IoIG9uLWFwcC1zdXJmYWNlICkgNDYlLCB0cmFuc3BhcmVudCksIGluaXRpYWwpLCAoaW5pdGlhbCwgdmFyKCAtLWtlbmRvLWRpc2FibGVkLXRleHQsIGluaGVyaXQgKSwgdHJhbnNwYXJlbnQpKVxuICAgIClcbikgIWRlZmF1bHQ7XG5cbi8vLyBUaGUgdGhlbWUgY29sb3JzIG1hcCBmb3IgdGhlIEJ1dHRvbi5cbi8vLyBAZ3JvdXAgYnV0dG9uXG4ka2VuZG8tYnV0dG9uLXRoZW1lLWNvbG9yczogKCkgIWRlZmF1bHQ7XG5cbi8vIFRoZSBtYXAgZm9yIHRoZSBiYXNlIHRoZW1lIGNvbG9yXG5AZWFjaCAkZmlsbC1tb2RlLCAkdWktc3RhdGVzIGluICRfdGMtYmFzZS1tYXRyaXgge1xuICAgICRrZW5kby1idXR0b24tdGhlbWUtY29sb3JzOiBtYXAuZGVlcC1tZXJnZShcbiAgICAgICAgJGtlbmRvLWJ1dHRvbi10aGVtZS1jb2xvcnMsXG4gICAgICAgIGstZ2VuZXJhdGUtZmlsbC1tb2RlLXRoZW1lLXZhcmlhdGlvbiggJGZpbGwtbW9kZSwgYmFzZSwgaWYoJGtlbmRvLWVuYWJsZS1jb2xvci1zeXN0ZW0sIGJhc2UsIG5ldXRyYWwpLCAkdWktc3RhdGVzIClcbiAgICApO1xufVxuXG4vLyBUaGUgbWFwIGZvciB0aGUgYnJhbmQgdGhlbWUgY29sb3JzXG5AZWFjaCAkZmlsbC1tb2RlLCAkdWktc3RhdGVzIGluICRfdGMtYnJhbmQtbWF0cml4IHtcbiAgICBAZWFjaCAkYnJhbmQtY29sb3IsICRwYWxldHRlIGluICRrZW5kby1idXR0b24tYnJhbmQtY29sb3JzIHtcbiAgICAgICAgJGtlbmRvLWJ1dHRvbi10aGVtZS1jb2xvcnM6IG1hcC5kZWVwLW1lcmdlKFxuICAgICAgICAgICAgJGtlbmRvLWJ1dHRvbi10aGVtZS1jb2xvcnMsXG4gICAgICAgICAgICBrLWdlbmVyYXRlLWZpbGwtbW9kZS10aGVtZS12YXJpYXRpb24oICRmaWxsLW1vZGUsICRicmFuZC1jb2xvciwgJHBhbGV0dGUsICR1aS1zdGF0ZXMgKVxuICAgICAgICApXG4gICAgfVxufVxuXG4vLyBUaGUgbWFwIGZvciB0aGUgd2FybmluZyB0aGVtZSBjb2xvcnNcbkBlYWNoICRmaWxsLW1vZGUsICR1aS1zdGF0ZXMgaW4gJF90Yy13YXJuaW5nLW1hdHJpeCB7XG4gICAgJGtlbmRvLWJ1dHRvbi10aGVtZS1jb2xvcnM6IG1hcC5kZWVwLW1lcmdlKFxuICAgICAgICAka2VuZG8tYnV0dG9uLXRoZW1lLWNvbG9ycyxcbiAgICAgICAgay1nZW5lcmF0ZS1maWxsLW1vZGUtdGhlbWUtdmFyaWF0aW9uKCAkZmlsbC1tb2RlLCB3YXJuaW5nLCB3YXJuaW5nLCAkdWktc3RhdGVzIClcbiAgICApO1xufVxuXG4vLyBUaGUgbWFwIGZvciB0aGUgZGFyayB0aGVtZSBjb2xvcnNcbkBlYWNoICRmaWxsLW1vZGUsICR1aS1zdGF0ZXMgaW4gJF90Yy1kYXJrLW1hdHJpeCB7XG4gICAgJGtlbmRvLWJ1dHRvbi10aGVtZS1jb2xvcnM6IG1hcC5kZWVwLW1lcmdlKFxuICAgICAgICAka2VuZG8tYnV0dG9uLXRoZW1lLWNvbG9ycyxcbiAgICAgICAgay1nZW5lcmF0ZS1maWxsLW1vZGUtdGhlbWUtdmFyaWF0aW9uKCAkZmlsbC1tb2RlLCBkYXJrLCBpZigka2VuZG8tZW5hYmxlLWNvbG9yLXN5c3RlbSwgZGFyaywgbmV1dHJhbCksICR1aS1zdGF0ZXMgKVxuICAgICk7XG59XG5cbi8vIFRoZSBtYXAgZm9yIHRoZSBsaWdodCB0aGVtZSBjb2xvcnNcbkBlYWNoICRmaWxsLW1vZGUsICR1aS1zdGF0ZXMgaW4gJF90Yy1saWdodC1tYXRyaXgge1xuICAgICRrZW5kby1idXR0b24tdGhlbWUtY29sb3JzOiBtYXAuZGVlcC1tZXJnZShcbiAgICAgICAgJGtlbmRvLWJ1dHRvbi10aGVtZS1jb2xvcnMsXG4gICAgICAgIGstZ2VuZXJhdGUtZmlsbC1tb2RlLXRoZW1lLXZhcmlhdGlvbiggJGZpbGwtbW9kZSwgbGlnaHQsIGlmKCRrZW5kby1lbmFibGUtY29sb3Itc3lzdGVtLCBsaWdodCwgbmV1dHJhbCksICR1aS1zdGF0ZXMgKVxuICAgICk7XG59XG4iLCJAdXNlIFwiLi4vY29yZS9faW5kZXguc2Nzc1wiIGFzICo7XG5AdXNlIFwiLi9fdmFyaWFibGVzLnNjc3NcIiBhcyAqO1xuXG5AbWl4aW4ga2VuZG8tdG9vbGJhci0tdGhlbWUoKSB7XG5cbiAgICAvLyBUaGVtZVxuICAgIC5rLXRvb2xiYXIge1xuXG4gICAgICAgIC8vIFRlbXBsYXRlIGl0ZW1cbiAgICAgICAgLmstdG9vbGJhci1pdGVtOmZvY3VzLFxuICAgICAgICAuay10b29sYmFyLWl0ZW0uay1mb2N1cyB7XG4gICAgICAgICAgICBvdXRsaW5lLWNvbG9yOiB2YXIoIC0ta2VuZG8tdG9vbGJhci1pdGVtLWZvY3VzLW91dGxpbmUtY29sb3IsICN7JGtlbmRvLXRvb2xiYXItaXRlbS1mb2N1cy1vdXRsaW5lLWNvbG9yfSApO1xuICAgICAgICB9XG5cbiAgICB9XG5cbiAgICAvLyBTZXBhcmF0b3JcbiAgICAuay10b29sYmFyIC5rLXNlcGFyYXRvcixcbiAgICAuay10b29sYmFyLXNlcGFyYXRvciB7XG4gICAgICAgIGJvcmRlci1jb2xvcjogdmFyKCAtLWtlbmRvLXRvb2xiYXItc2VwYXJhdG9yLWJvcmRlciwgI3ska2VuZG8tdG9vbGJhci1zZXBhcmF0b3ItYm9yZGVyfSApO1xuICAgIH1cblxuICAgIC5rLXRvb2xiYXItaXRlbXMge1xuICAgICAgICBib3JkZXItY29sb3I6IGluaGVyaXQ7XG4gICAgfVxuXG4gICAgLy8gU29saWQgVG9vbGJhclxuICAgIC5rLXRvb2xiYXItc29saWQge1xuICAgICAgICBAaW5jbHVkZSBmaWxsIChcbiAgICAgICAgICAgIHZhciggLS1rZW5kby10b29sYmFyLXRleHQsICN7JGtlbmRvLXRvb2xiYXItdGV4dH0gKSxcbiAgICAgICAgICAgIHZhciggLS1rZW5kby10b29sYmFyLWJnLCAjeyRrZW5kby10b29sYmFyLWJnfSApLFxuICAgICAgICAgICAgdmFyKCAtLWtlbmRvLXRvb2xiYXItYm9yZGVyLCAjeyRrZW5kby10b29sYmFyLWJvcmRlcn0gKVxuICAgICAgICApO1xuXG4gICAgICAgICYuay10b29sYmFyLXNjcm9sbGFibGUtb3ZlcmxheSB7XG4gICAgICAgICAgICAmOjpiZWZvcmUge1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCg5MGRlZywgdmFyKCAtLWtlbmRvLXRvb2xiYXItc2Nyb2xsLW92ZXJsYXksICN7JGtlbmRvLXRvb2xiYXItc2Nyb2xsLW92ZXJsYXl9ICkpO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAmOjphZnRlciB7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KDI3MGRlZywgdmFyKCAtLWtlbmRvLXRvb2xiYXItc2Nyb2xsLW92ZXJsYXksICN7JGtlbmRvLXRvb2xiYXItc2Nyb2xsLW92ZXJsYXl9ICkpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgLmstdG9vbGJhci1pdGVtcy1saXN0LXNvbGlkIHtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiAgdmFyKCAtLWtlbmRvLXRvb2xiYXItYm9yZGVyLCAjeyRrZW5kby10b29sYmFyLWJvcmRlcn0gKTtcbiAgICB9XG5cbiAgICAvLyBPdXRsaW5lIFRvb2xiYXJcbiAgICAuay10b29sYmFyLW91dGxpbmUge1xuICAgICAgICBAaW5jbHVkZSBmaWxsIChcbiAgICAgICAgICAgICRjb2xvcjogdmFyKCAtLWtlbmRvLXRvb2xiYXItb3V0bGluZS10ZXh0LCAjeyRrZW5kby10b29sYmFyLW91dGxpbmUtdGV4dH0gKSxcbiAgICAgICAgICAgICRib3JkZXI6IHZhciggLS1rZW5kby10b29sYmFyLW91dGxpbmUtYm9yZGVyLCAjeyRrZW5kby10b29sYmFyLW91dGxpbmUtYm9yZGVyfSApXG4gICAgICAgICk7XG5cbiAgICAgICAgJi5rLXRvb2xiYXItc2Nyb2xsYWJsZS1vdmVybGF5IHtcbiAgICAgICAgICAgICY6OmJlZm9yZSB7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KDkwZGVnLCB2YXIoIC0ta2VuZG8tdG9vbGJhci1vdXRsaW5lLXNjcm9sbC1vdmVybGF5LCAjeyRrZW5kby10b29sYmFyLW91dGxpbmUtc2Nyb2xsLW92ZXJsYXl9ICkpO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAmOjphZnRlciB7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KDI3MGRlZywgdmFyKCAtLWtlbmRvLXRvb2xiYXItb3V0bGluZS1zY3JvbGwtb3ZlcmxheSwgI3ska2VuZG8tdG9vbGJhci1vdXRsaW5lLXNjcm9sbC1vdmVybGF5fSApKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5rLXRvb2xiYXItaXRlbXMtbGlzdC1vdXRsaW5lIHtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiAgdmFyKCAtLWtlbmRvLXRvb2xiYXItb3V0bGluZS1ib3JkZXIsICN7JGtlbmRvLXRvb2xiYXItb3V0bGluZS1ib3JkZXJ9ICk7XG4gICAgfVxuXG4gICAgLy8gRmxhdCBUb29sYmFyXG4gICAgLmstdG9vbGJhci1mbGF0IHtcbiAgICAgICAgQGluY2x1ZGUgZmlsbCAoXG4gICAgICAgICAgICAkY29sb3I6IHZhciggLS1rZW5kby10b29sYmFyLWZsYXQtdGV4dCwgI3ska2VuZG8tdG9vbGJhci1mbGF0LXRleHR9ICksXG4gICAgICAgICAgICAkYm9yZGVyOiB2YXIoIC0ta2VuZG8tdG9vbGJhci1mbGF0LWJvcmRlciwgI3ska2VuZG8tdG9vbGJhci1mbGF0LWJvcmRlcn0gKVxuICAgICAgICApO1xuXG4gICAgICAgID4gLmstc2VwYXJhdG9yLFxuICAgICAgICAuay10b29sYmFyLXNlcGFyYXRvciB7XG4gICAgICAgICAgICBib3JkZXItaW5saW5lLWNvbG9yOiB2YXIoIC0ta2VuZG8tdG9vbGJhci1mbGF0LWJvcmRlciwgI3ska2VuZG8tdG9vbGJhci1mbGF0LWJvcmRlcn0gKTtcbiAgICAgICAgfVxuXG4gICAgICAgICYuay10b29sYmFyLXNjcm9sbGFibGUtb3ZlcmxheSB7XG4gICAgICAgICAgICAmOjpiZWZvcmUge1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCg5MGRlZywgdmFyKCAtLWtlbmRvLXRvb2xiYXItZmxhdC1zY3JvbGwtb3ZlcmxheSwgI3ska2VuZG8tdG9vbGJhci1mbGF0LXNjcm9sbC1vdmVybGF5fSApKTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgJjo6YWZ0ZXIge1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCgyNzBkZWcsIHZhciggLS1rZW5kby10b29sYmFyLWZsYXQtc2Nyb2xsLW92ZXJsYXksICN7JGtlbmRvLXRvb2xiYXItZmxhdC1zY3JvbGwtb3ZlcmxheX0gKSk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAuay10b29sYmFyLWl0ZW1zLWxpc3QtZmxhdCB7XG4gICAgICAgIGJvcmRlci1jb2xvcjogIHZhciggLS1rZW5kby10b29sYmFyLWZsYXQtYm9yZGVyLCAjeyRrZW5kby10b29sYmFyLWZsYXQtYm9yZGVyfSApO1xuICAgIH1cblxuICAgIC8vIHN0eWxlbGludC1kaXNhYmxlIHNlbGVjdG9yLWNsYXNzLXBhdHRlcm5cbiAgICAuay1mbG9hdGluZy10b29sYmFyLFxuICAgIC5lZGl0b3JUb29sYmFyV2luZG93Lmstd2luZG93LWNvbnRlbnQge1xuICAgICAgICBjb2xvcjogdmFyKCAtLWtlbmRvLXRvb2xiYXItdGV4dCwgI3ska2VuZG8tdG9vbGJhci10ZXh0fSApO1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoIC0ta2VuZG8tdG9vbGJhci1iZywgI3ska2VuZG8tdG9vbGJhci1iZ30gKTtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiB2YXIoIC0ta2VuZG8tdG9vbGJhci1ib3JkZXIsICN7JGtlbmRvLXRvb2xiYXItYm9yZGVyfSApO1xuICAgIH1cbiAgICAvLyBzdHlsZWxpbnQtZW5hYmxlIHNlbGVjdG9yLWNsYXNzLXBhdHRlcm5cblxuICAgIC8vIFJlbW92ZSBvbmNlIHRoZSBPdmVyZmxvdyBQb3B1cCB1c2VzXG4gICAgLy8gdGhlIHByb3BlciBNZW51IHJlbmRlcmluZyBpbiBhbGwgc3VpdGVzLlxuICAgIC5rLW92ZXJmbG93LWNvbnRhaW5lciB7XG5cbiAgICAgICAgLmstYnV0dG9uIHtcblxuICAgICAgICAgICAgLy8gSG92ZXIgc3RhdGVcbiAgICAgICAgICAgICY6aG92ZXIsXG4gICAgICAgICAgICAmLmstaG92ZXIge1xuICAgICAgICAgICAgICAgIGNvbG9yOiB2YXIoIC0ta2VuZG8tbWVudS1wb3B1cC1pdGVtLWhvdmVyLXRleHQsIGluaXRpYWwgKTtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiB2YXIoIC0ta2VuZG8tbWVudS1wb3B1cC1pdGVtLWhvdmVyLWJnLCBpbml0aWFsICk7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC8vIEJ1dHRvbiBmb2N1cyBzdGF0ZVxuICAgICAgICAgICAgJjpmb2N1cyxcbiAgICAgICAgICAgICYuay1mb2N1cyB7XG4gICAgICAgICAgICAgICAgYm94LXNoYWRvdzogdmFyKCAtLWtlbmRvLW1lbnUtcG9wdXAtaXRlbS1mb2N1cy1zaGFkb3csIGluaXRpYWwgKTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLy8gQWN0aXZlIHN0YXRlXG4gICAgICAgICAgICAmOmFjdGl2ZSxcbiAgICAgICAgICAgICYuay1hY3RpdmUge1xuICAgICAgICAgICAgICAgIGNvbG9yOiB2YXIoIC0ta2VuZG8tbWVudS1wb3B1cC1pdGVtLWhvdmVyLXRleHQsIGluaXRpYWwgKTtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiB2YXIoIC0ta2VuZG8tbWVudS1wb3B1cC1pdGVtLWhvdmVyLWJnLCBpbml0aWFsICk7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC8vIFNlbGVjdGVkXG4gICAgICAgICAgICAmLmstc2VsZWN0ZWQge1xuICAgICAgICAgICAgICAgIGNvbG9yOiB2YXIoIC0ta2VuZG8tbWVudS1wb3B1cC1pdGVtLWV4cGFuZGVkLXRleHQsIGluaXRpYWwgKTtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiB2YXIoIC0ta2VuZG8tbWVudS1wb3B1cC1pdGVtLWV4cGFuZGVkLWJnLCBpbml0aWFsICk7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC8vIERpc2FibGVkIHN0YXRlXG4gICAgICAgICAgICAmOmRpc2FibGVkLFxuICAgICAgICAgICAgJi5rLWRpc2FibGVkIHtcbiAgICAgICAgICAgICAgICBjb2xvcjogaW5oZXJpdDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8vIFJUTFxuICAgIDppcyguay1ydGwgLmstdG9vbGJhci1zY3JvbGxhYmxlLW92ZXJsYXksIFtkaXI9XCJydGxcIl0gLmstdG9vbGJhci1zY3JvbGxhYmxlLW92ZXJsYXksIC5rLXRvb2xiYXItc2Nyb2xsYWJsZS1vdmVybGF5LmstcnRsLCAuay10b29sYmFyLXNjcm9sbGFibGUtb3ZlcmxheVtkaXI9XCJydGxcIl0gKSB7XG4gICAgICAgICY6OmJlZm9yZSB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoMjcwZGVnLCB2YXIoLS1rZW5kby10b29sYmFyLXNjcm9sbC1vdmVybGF5LCAjeyRrZW5kby10b29sYmFyLXNjcm9sbC1vdmVybGF5fSkpO1xuICAgICAgICB9XG5cbiAgICAgICAgJjo6YWZ0ZXIge1xuICAgICAgICAgICAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KDkwZGVnLCB2YXIoLS1rZW5kby10b29sYmFyLXNjcm9sbC1vdmVybGF5LCAjeyRrZW5kby10b29sYmFyLXNjcm9sbC1vdmVybGF5fSkpO1xuICAgICAgICB9XG5cbiAgICAgICAgJi5rLXRvb2xiYXItb3V0bGluZSB7XG4gICAgICAgICAgICAmOjpiZWZvcmUge1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCgyNzBkZWcsIHZhcigtLWtlbmRvLXRvb2xiYXItb3V0bGluZS1zY3JvbGwtb3ZlcmxheSwgI3ska2VuZG8tdG9vbGJhci1vdXRsaW5lLXNjcm9sbC1vdmVybGF5fSkpO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAmOjphZnRlciB7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KDkwZGVnLCB2YXIoLS1rZW5kby10b29sYmFyLW91dGxpbmUtc2Nyb2xsLW92ZXJsYXksICN7JGtlbmRvLXRvb2xiYXItb3V0bGluZS1zY3JvbGwtb3ZlcmxheX0pKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgICYuay10b29sYmFyLWZsYXQge1xuICAgICAgICAgICAgJjo6YmVmb3JlIHtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoMjcwZGVnLCB2YXIoLS1rZW5kby10b29sYmFyLWZsYXQtc2Nyb2xsLW92ZXJsYXksICN7JGtlbmRvLXRvb2xiYXItZmxhdC1zY3JvbGwtb3ZlcmxheX0pKTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgJjo6YWZ0ZXIge1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCg5MGRlZywgdmFyKC0ta2VuZG8tdG9vbGJhci1mbGF0LXNjcm9sbC1vdmVybGF5LCAjeyRrZW5kby10b29sYmFyLWZsYXQtc2Nyb2xsLW92ZXJsYXl9KSk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbn1cbiIsIkB1c2UgXCJzYXNzOm1hcFwiO1xuQHVzZSBcInNhc3M6bWF0aFwiO1xuQHVzZSBcIi4uL2NvcmUvX2luZGV4LnNjc3NcIiBhcyAqO1xuQHVzZSBcIi4vX3ZhcmlhYmxlcy5zY3NzXCIgYXMgKjtcbkB1c2UgXCIuLi9pbnB1dC9fdmFyaWFibGVzLnNjc3NcIiBhcyAqO1xuQHVzZSBcIi4uL2NvcmUvc3BhY2luZy9faW5kZXguc2Nzc1wiIGFzICo7XG5cbkBtaXhpbiBrZW5kby1mb3JtLS1sYXlvdXQoKSB7XG5cbiAgICAvLyBDb21tb25cbiAgICAuay1mb3JtLFxuICAgIC5rLWZvcm0taW5saW5lIHtcbiAgICAgICAgZm9udC1zaXplOiB2YXIoIC0ta2VuZG8tZm9ybS1mb250LXNpemUsICN7JGtlbmRvLWZvcm0tZm9udC1zaXplfSApO1xuICAgICAgICBsaW5lLWhlaWdodDogdmFyKCAtLWtlbmRvLWZvcm0tbGluZS1oZWlnaHQsICN7JGtlbmRvLWZvcm0tbGluZS1oZWlnaHR9ICk7XG5cbiAgICAgICAgLmstZm9ybS1maWVsZCA+IC5rLWxhYmVsIHtcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiB2YXIoIC0ta2VuZG8tZm9ybS1sYWJlbC1mb250LXdlaWdodCwgI3ska2VuZG8tZm9ybS1sYWJlbC1mb250LXdlaWdodH0gKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8vIExhYmVsXG4gICAga2VuZG8tbGFiZWwgPiAuay1sYWJlbCB7XG4gICAgICAgIG1hcmdpbjogMDtcbiAgICB9XG5cbiAgICAuay1sYWJlbC1vcHRpb25hbCB7XG4gICAgICAgIG1hcmdpbi1pbmxpbmUtc3RhcnQ6IHZhciggLS1rZW5kby1sYWJlbC1vcHRpb25hbC1tYXJnaW4teCwgI3ska2VuZG8tbGFiZWwtb3B0aW9uYWwtbWFyZ2luLXh9ICk7XG4gICAgICAgIGZvbnQtc2l6ZTogdmFyKCAtLWtlbmRvLWxhYmVsLW9wdGlvbmFsLWZvbnQtc2l6ZSwgI3ska2VuZG8tbGFiZWwtb3B0aW9uYWwtZm9udC1zaXplfSApO1xuICAgICAgICBmb250LXN0eWxlOiB2YXIoIC0ta2VuZG8tbGFiZWwtb3B0aW9uYWwtZm9udC1zdHlsZSwgI3ska2VuZG8tbGFiZWwtb3B0aW9uYWwtZm9udC1zdHlsZX0gKTtcbiAgICAgICAgYWxpZ24tc2VsZjogY2VudGVyO1xuICAgIH1cblxuICAgIC5rLWxhYmVsLWVtcHR5IHtcbiAgICAgICAgJjo6YmVmb3JlIHtcbiAgICAgICAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgIH1cbiAgICB9XG5cblxuXG4gICAgLy8gVmVydGljYWwgRm9ybVxuICAgIC5rLWZvcm0ge1xuICAgICAgICBib3JkZXI6IDA7XG5cbiAgICAgICAgLmstZm9ybS1maWVsZCA+IC5rLWxhYmVsLFxuICAgICAgICAuay1mb3JtLWZpZWxkID4ga2VuZG8tbGFiZWwsXG4gICAgICAgIC5rLWZvcm0tbGFiZWwge1xuICAgICAgICAgICAgbWFyZ2luLWJsb2NrLWVuZDogdmFyKCAtLWtlbmRvLWZvcm0tbGFiZWwtbWFyZ2luLWJvdHRvbSwgI3ska2VuZG8tZm9ybS1sYWJlbC1tYXJnaW4tYm90dG9tfSApO1xuICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgIGZsZXgtZmxvdzogcm93IG5vd3JhcDtcbiAgICAgICAgfVxuXG4gICAgICAgIC5rLWxhYmVsICsgLmstcmFkaW8ge1xuICAgICAgICAgICAgbWFyZ2luLWlubGluZS1zdGFydDogMDtcbiAgICAgICAgfVxuXG4gICAgICAgIC5rLWZvcm0tZmllbGRzZXQge1xuICAgICAgICAgICAgbWFyZ2luOiB2YXIoIC0ta2VuZG8tZm9ybS1maWVsZHNldC1tYXJnaW4sICN7JGtlbmRvLWZvcm0tZmllbGRzZXQtbWFyZ2lufSApO1xuICAgICAgICAgICAgcGFkZGluZzogdmFyKCAtLWtlbmRvLWZvcm0tZmllbGRzZXQtcGFkZGluZywgI3ska2VuZG8tZm9ybS1maWVsZHNldC1wYWRkaW5nfSApO1xuICAgICAgICAgICAgYm9yZGVyOiAwO1xuXG4gICAgICAgICAgICA+ICoge1xuICAgICAgICAgICAgICAgICY6bm90KC5rLWhpZGRlbik6Zmlyc3QtY2hpbGQsXG4gICAgICAgICAgICAgICAgJi5rLWhpZGRlbiArIDpub3QoLmstaGlkZGVuKSB7XG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbi1ibG9jay1zdGFydDogMDtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAuay1mb3JtLWxlZ2VuZCB7XG4gICAgICAgICAgICBtYXJnaW46IHZhciggLS1rZW5kby1mb3JtLWxlZ2VuZC1tYXJnaW4sICN7JGtlbmRvLWZvcm0tbGVnZW5kLW1hcmdpbn0gKTtcbiAgICAgICAgICAgIHBhZGRpbmc6IHZhciggLS1rZW5kby1mb3JtLWxlZ2VuZC1wYWRkaW5nLCAjeyRrZW5kby1mb3JtLWxlZ2VuZC1wYWRkaW5nfSApO1xuICAgICAgICAgICAgYm9yZGVyLXdpZHRoOiB2YXIoIC0ta2VuZG8tZm9ybS1sZWdlbmQtYm9yZGVyLXdpZHRoLCAjeyRrZW5kby1mb3JtLWxlZ2VuZC1ib3JkZXItd2lkdGh9ICk7XG4gICAgICAgICAgICBib3JkZXItc3R5bGU6IHZhciggLS1rZW5kby1mb3JtLWxlZ2VuZC1ib3JkZXItc3R5bGUsICN7JGtlbmRvLWZvcm0tbGVnZW5kLWJvcmRlci1zdHlsZX0gKTtcbiAgICAgICAgICAgIHdpZHRoOiB2YXIoIC0ta2VuZG8tZm9ybS1sZWdlbmQtd2lkdGgsICN7JGtlbmRvLWZvcm0tbGVnZW5kLXdpZHRofSApO1xuICAgICAgICAgICAgZm9udC1zaXplOiB2YXIoIC0ta2VuZG8tZm9ybS1sZWdlbmQtZm9udC1zaXplLCAjeyRrZW5kby1mb3JtLWxlZ2VuZC1mb250LXNpemV9ICk7XG4gICAgICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdmFyKCAtLWtlbmRvLWZvcm0tbGVnZW5kLXRleHQtdHJhbnNmb3JtLCAjeyRrZW5kby1mb3JtLWxlZ2VuZC10ZXh0LXRyYW5zZm9ybX0gKTtcbiAgICAgICAgfVxuXG5cbiAgICAgICAgLy8gRm9ybSBncm91cFxuICAgICAgICAuay1mb3JtLWdyb3VwIHtcbiAgICAgICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgIH1cblxuICAgICAgICA+ICoge1xuICAgICAgICAgICAgJjpub3QoLmstaGlkZGVuKTpmaXJzdC1jaGlsZCxcbiAgICAgICAgICAgICYuay1oaWRkZW4gKyA6bm90KC5rLWhpZGRlbikge1xuICAgICAgICAgICAgICAgIG1hcmdpbi1ibG9jay1zdGFydDogMDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC8vIEZvcm0gZmllbGRcbiAgICAgICAgLmstZm9ybS1maWVsZCxcbiAgICAgICAgLmstZm9ybS1maWVsZC13cmFwIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICB9XG5cblxuICAgICAgICAuay1hbGVydC1lcnJvciB7XG4gICAgICAgICAgICBmb250LXNpemU6IHZhciggLS1rZW5kby1mb250LXNpemUtc20sICN7JGtlbmRvLWZvbnQtc2l6ZS1zbX0gKTtcbiAgICAgICAgICAgIG1hcmdpbi1ibG9jay1zdGFydDogY2FsYyggI3trLXNwYWNpbmcoMSl9ICogMiApO1xuICAgICAgICB9XG5cbiAgICAgICAgLmstZmllbGQtaW5mbyB7XG4gICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgICAgICBmb250LXNpemU6IHZhciggLS1rZW5kby1mb250LXNpemUteHMsICN7JGtlbmRvLWZvbnQtc2l6ZS14c30gKTtcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAxO1xuICAgICAgICAgICAgbWFyZ2luLWlubGluZTogay1zcGFjaW5nKDIpO1xuICAgICAgICB9XG5cblxuICAgICAgICAuay1tdWx0aXNlbGVjdCxcbiAgICAgICAgLmstZmxvYXRpbmctbGFiZWwtY29udGFpbmVyLFxuICAgICAgICAuay1kYXRlcmFuZ2VwaWNrZXIgLmstZGF0ZWlucHV0LFxuICAgICAgICAuay1zaWduYXR1cmUge1xuICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8vIEZvcm0gQnV0dG9ucyBDb250YWluZXJcbiAgICAuay1mb3JtLWJ1dHRvbnMge1xuICAgICAgICBAZXh0ZW5kIC5rLWFjdGlvbnMgIW9wdGlvbmFsO1xuICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgICBvdmVyZmxvdzogdmlzaWJsZTtcbiAgICB9XG5cbiAgICAvLyBGb3JtIEhpbnQvRXJyb3IgTWVzc2FnZXNcbiAgICAuay1mb3JtLWhpbnQsXG4gICAgLmstZm9ybS1lcnJvciB7XG4gICAgICAgIG1hcmdpbi1ibG9jay1zdGFydDogdmFyKCAtLWtlbmRvLWZvcm0taGludC1tYXJnaW4tdG9wLCAjeyRrZW5kby1mb3JtLWhpbnQtbWFyZ2luLXRvcH0gKTtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgZm9udC1zaXplOiB2YXIoIC0ta2VuZG8tZm9ybS1oaW50LWZvbnQtc2l6ZSwgI3ska2VuZG8tZm9ybS1oaW50LWZvbnQtc2l6ZX0gKTtcbiAgICAgICAgZm9udC1zdHlsZTogdmFyKCAtLWtlbmRvLWZvcm0taGludC1mb250LXN0eWxlLCAjeyRrZW5kby1mb3JtLWhpbnQtZm9udC1zdHlsZX0gKTtcbiAgICB9XG5cbiAgICAuay10ZXh0LXN0YXJ0LFxuICAgIC5rLWJ1dHRvbnMtc3RhcnQge1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7XG4gICAgfVxuXG4gICAgLmstdGV4dC1lbmQsXG4gICAgLmstYnV0dG9ucy1lbmQge1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kO1xuICAgIH1cblxuICAgIC8vIEZvcm0gU2VwYXJhdG9yXG4gICAgLmstZm9ybS1zZXBhcmF0b3Ige1xuICAgICAgICBtYXJnaW46IHZhciggLS1rZW5kby1mb3JtLXNlcGFyYXRvci1tYXJnaW4sICN7JGtlbmRvLWZvcm0tc2VwYXJhdG9yLW1hcmdpbn0gKTtcbiAgICAgICAgYm9yZGVyLXdpZHRoOiAxcHggMCAwO1xuICAgICAgICBib3JkZXItc3R5bGU6IHNvbGlkO1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgZmxleDogMCAwIGF1dG87XG4gICAgfVxuXG4gICAgLy8gSG9yaXpvbnRhbCBGb3JtXG4gICAgLmstZm9ybS1ob3Jpem9udGFsIHtcbiAgICAgICAgLmstZm9ybS1maWVsZCB7XG4gICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuXG4gICAgICAgICAgICA+IC5rLWxhYmVsLFxuICAgICAgICAgICAgPiBrZW5kby1sYWJlbCxcbiAgICAgICAgICAgID4gLmstZm9ybS1sYWJlbCB7XG4gICAgICAgICAgICAgICAgbWFyZ2luLWlubGluZS1lbmQ6IHZhciggLS1rZW5kby1ob3Jpem9udGFsLWZvcm0tbGFiZWwtbWFyZ2luLXgsICN7JGtlbmRvLWhvcml6b250YWwtZm9ybS1sYWJlbC1tYXJnaW4teH0gKTtcbiAgICAgICAgICAgICAgICBwYWRkaW5nLWJsb2NrLXN0YXJ0OiB2YXIoIC0ta2VuZG8taG9yaXpvbnRhbC1mb3JtLWxhYmVsLXBhZGRpbmctdG9wLCAjeyRrZW5kby1ob3Jpem9udGFsLWZvcm0tbGFiZWwtcGFkZGluZy10b3B9ICk7XG4gICAgICAgICAgICAgICAgd2lkdGg6IHZhciggLS1rZW5kby1ob3Jpem9udGFsLWZvcm0tbGFiZWwtd2lkdGgsICN7JGtlbmRvLWhvcml6b250YWwtZm9ybS1sYWJlbC13aWR0aH0gKTtcbiAgICAgICAgICAgICAgICB0ZXh0LWFsaWduOiBlbmQ7XG4gICAgICAgICAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgICAgICAgICAgICBhbGlnbi1pdGVtczogdmFyKCAtLWtlbmRvLWhvcml6b250YWwtZm9ybS1sYWJlbC1hbGlnbiwgI3ska2VuZG8taG9yaXpvbnRhbC1mb3JtLWxhYmVsLWFsaWdufSApO1xuICAgICAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIC5rLWxhYmVsLW9wdGlvbmFsIHtcbiAgICAgICAgICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgICAgICAgICAgYWxpZ24tc2VsZjogaW5oZXJpdDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC5rLWZvcm0tZmllbGQtd3JhcCB7XG4gICAgICAgICAgICBtYXgtd2lkdGg6IHZhciggLS1rZW5kby1ob3Jpem9udGFsLWZvcm0tZmllbGQtd3JhcC1tYXgtd2lkdGgsICN7JGtlbmRvLWhvcml6b250YWwtZm9ybS1maWVsZC13cmFwLW1heC13aWR0aH0gKTtcbiAgICAgICAgICAgIGZsZXg6IDEgMSBhdXRvO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLy8gU2l6ZXNcbiAgICBAZWFjaCAkc2l6ZSwgJHNpemUtcHJvcHMgaW4gJGtlbmRvLWZvcm0tc2l6ZXMge1xuICAgICAgICAkX2Zvcm0tcm93cy1zcGFjaW5nOiBtYXAuZ2V0KCRzaXplLXByb3BzLCBmb3JtLXJvd3Mtc3BhY2luZyk7XG5cbiAgICAgICAgLmstZm9ybS0jeyRzaXplfSB7XG4gICAgICAgICAgICAuay1mb3JtLWZpZWxkIHtcbiAgICAgICAgICAgICAgICBtYXJnaW4tYmxvY2stc3RhcnQ6IHZhciggLS1rZW5kby1mb3JtLXJvd3Mtc3BhY2luZy0jeyRzaXplfSwgI3skX2Zvcm0tcm93cy1zcGFjaW5nfSApO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAuay1mb3JtLWJ1dHRvbnMge1xuICAgICAgICAgICAgICAgIG1hcmdpbi1ibG9jay1zdGFydDogY2FsYyggdmFyKCAtLWtlbmRvLWZvcm0tcm93cy1zcGFjaW5nLSN7JHNpemV9LCAjeyRfZm9ybS1yb3dzLXNwYWNpbmd9ICkgKiAyICk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBTY2hlZHVsZXJcbiAgICAuay1mb3JtLWlubGluZSB7XG4gICAgICAgIHBhZGRpbmc6IHZhciggLS1rZW5kby1mb3JtLXNwYWNlciwgI3ska2VuZG8tZm9ybS1zcGFjZXJ9ICk7XG5cbiAgICAgICAgZmllbGRzZXQge1xuICAgICAgICAgICAgYm9yZGVyLXdpZHRoOiAxcHggMCAwO1xuICAgICAgICAgICAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcbiAgICAgICAgICAgIG1hcmdpbi1ibG9jazogY2FsYyggdmFyKCAtLWtlbmRvLWZvcm0tc3BhY2VyLCAjeyRrZW5kby1mb3JtLXNwYWNlcn0pICogMiApO1xuICAgICAgICAgICAgcGFkZGluZzogMDtcblxuICAgICAgICAgICAgJjpmaXJzdC1jaGlsZDpmaXJzdC1vZi10eXBlIHtcbiAgICAgICAgICAgICAgICBtYXJnaW4tYmxvY2stc3RhcnQ6IDA7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICY6bGFzdC1jaGlsZDpsYXN0LW9mLXR5cGUge1xuICAgICAgICAgICAgICAgIG1hcmdpbi1ibG9jay1lbmQ6IDA7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICBsZWdlbmQge1xuICAgICAgICAgICAgZm9udC1zaXplOiB2YXIoIC0ta2VuZG8tZm9udC1zaXplLXNtLCAjeyRrZW5kby1mb250LXNpemUtc219ICk7XG4gICAgICAgICAgICB0ZXh0LWFsaWduOiBzdGFydDtcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgICAgICAgICBsaW5lLWhlaWdodDogMTtcbiAgICAgICAgICAgIG1hcmdpbi1ibG9jay1lbmQ6IGNhbGMoICN7ay1zcGFjaW5nKDEuNSl9ICogMiApO1xuICAgICAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICAgICAgICAgIHBhZGRpbmctaW5saW5lLWVuZDogay1zcGFjaW5nKDIpO1xuICAgICAgICAgICAgd2lkdGg6IGF1dG87XG4gICAgICAgIH1cblxuICAgICAgICAuay1mb3JtLWZpZWxkIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICBhbGlnbi1pdGVtczogZmxleC1zdGFydDtcbiAgICAgICAgICAgIHRleHQtYWxpZ246IHN0YXJ0O1xuICAgICAgICAgICAgbWFyZ2luLWJsb2NrLWVuZDogY2FsYyggI3trLXNwYWNpbmcoMS41KX0gKiAyICk7XG5cbiAgICAgICAgICAgID4gc3Bhbjpub3QoLmstd2lkZ2V0KSB7XG4gICAgICAgICAgICAgICAgd2lkdGg6IHZhciggLS1rZW5kby1pbmxpbmUtZm9ybS1lbGVtZW50LXdpZHRoLCAjeyRrZW5kby1pbmxpbmUtZm9ybS1lbGVtZW50LXdpZHRofSApO1xuICAgICAgICAgICAgICAgIHRleHQtYWxpZ246IGVuZDtcbiAgICAgICAgICAgICAgICBsaW5lLWhlaWdodDogdmFyKCAtLWtlbmRvLWxpbmUtaGVpZ2h0LCAjeyRrZW5kby1saW5lLWhlaWdodC1tZH0gKTtcbiAgICAgICAgICAgICAgICBwYWRkaW5nLWJsb2NrOiBjYWxjKCAje2stc3BhY2luZygxKX0gKyAjeyRrZW5kby1pbnB1dC1ib3JkZXItd2lkdGh9ICk7XG4gICAgICAgICAgICAgICAgcGFkZGluZy1pbmxpbmUtZW5kOiBrLXNwYWNpbmcoMyk7XG4gICAgICAgICAgICAgICAgYWxpZ24tc2VsZjogY2VudGVyO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICA+IGlucHV0IHtcbiAgICAgICAgICAgICAgICBhbGlnbi1zZWxmOiBjZW50ZXI7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgID4gaW5wdXQ6bm90KC5rLWNoZWNrYm94LCAuay1yYWRpbykge1xuICAgICAgICAgICAgICAgIGZsZXg6IDEgMSBhdXRvO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAuay1hbGVydC1lcnJvciB7XG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiB2YXIoIC0ta2VuZG8tZm9udC1zaXplLXNtLCAjeyRrZW5kby1mb250LXNpemUtc219ICk7XG4gICAgICAgICAgICAgICAgbWFyZ2luLWJsb2NrLXN0YXJ0OiBjYWxjKCAje2stc3BhY2luZygxKX0gKiAyICk7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC5rLWZpZWxkLWluZm8ge1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogdmFyKCAtLWtlbmRvLWZvbnQtc2l6ZS14cywgI3ska2VuZG8tZm9udC1zaXplLXhzfSApO1xuICAgICAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAxO1xuICAgICAgICAgICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgJjpsYXN0LWNoaWxkIHtcbiAgICAgICAgICAgICAgICBtYXJnaW4tYmxvY2stZW5kOiAwO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgLy8gRWRpdCBmb3JtXG4gICAgLmstZWRpdC1mb3JtLWNvbnRhaW5lciB7XG4gICAgICAgIHdpZHRoOiA0MDBweDtcbiAgICAgICAgbWluLXdpZHRoOiA0MDBweDtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiBpbmhlcml0O1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgfVxuXG5cbiAgICAvLyBBY3Rpb24gYnV0dG9uc1xuICAgIC5rLXBvcHVwLWVkaXQtZm9ybSA+IC5rLWFjdGlvbnMsXG4gICAgLmstZWRpdC1mb3JtLWNvbnRhaW5lciAuay1hY3Rpb25zIHtcbiAgICAgICAgbWFyZ2luOiBrLXNwYWNpbmcoNCkgY2FsYyggLTEgKiAje2stc3BhY2luZyg2KX0gKSBjYWxjKCAtMSAqIGstc3BhY2luZygzKSApO1xuICAgIH1cblxuXG4gICAgLmstZWRpdC1sYWJlbCB7XG4gICAgICAgIG1hcmdpbi1ibG9jay1lbmQ6IGstc3BhY2luZyg0KTtcbiAgICAgICAgcGFkZGluZy1ibG9jazogY2FsYyggI3ska2VuZG8taW5wdXQtbWQtcGFkZGluZy15fSArICN7JGtlbmRvLWlucHV0LWJvcmRlci13aWR0aH0gKTtcbiAgICAgICAgd2lkdGg6IDMwJTtcbiAgICAgICAgbGluZS1oZWlnaHQ6IHZhciggLS1rZW5kby1mb3JtLWxpbmUtaGVpZ2h0LCAjeyRrZW5kby1mb3JtLWxpbmUtaGVpZ2h0fSApO1xuICAgICAgICB0ZXh0LWFsaWduOiBlbmQ7XG4gICAgICAgIGZsb2F0OiBsZWZ0O1xuICAgICAgICBjbGVhcjogYm90aDtcbiAgICB9XG4gICAgLmstZWRpdC1maWVsZCB7XG4gICAgICAgIG1hcmdpbi1ibG9jay1lbmQ6IGstc3BhY2luZyg0KTtcbiAgICAgICAgd2lkdGg6IDY1JTtcbiAgICAgICAgZmxvYXQ6IHJpZ2h0O1xuICAgICAgICBjbGVhcjogcmlnaHQ7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAgICAgICAmLmstbm8tZWRpdG9yIHtcbiAgICAgICAgICAgIHBhZGRpbmctYmxvY2s6IGNhbGMoICN7JGtlbmRvLWlucHV0LW1kLXBhZGRpbmcteX0gKyAjeyRrZW5kby1pbnB1dC1ib3JkZXItd2lkdGh9ICk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAuay1lZGl0LWZpZWxkIHtcblxuICAgICAgICA+IC5rLXdpZGdldCB7XG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgICAgIH1cblxuICAgICAgICBpbnB1dFt0eXBlPVwicmFkaW9cIl06bm90KC5rLXJhZGlvKSxcbiAgICAgICAgaW5wdXRbdHlwZT1cImNoZWNrYm94XCJdOm5vdCguay1jaGVja2JveCkge1xuICAgICAgICAgICAgbWFyZ2luLWlubGluZS1lbmQ6IC40ZXg7XG4gICAgICAgIH1cblxuICAgICAgICAuay1yYWRpby1sYWJlbCxcbiAgICAgICAgLmstY2hlY2tib3gtbGFiZWwge1xuICAgICAgICAgICAgbWFyZ2luLWlubGluZS1lbmQ6IGstc3BhY2luZyg0KTtcbiAgICAgICAgfVxuXG4gICAgICAgID4gLmstcmVzZXQgPiBsaSArIGxpIHtcbiAgICAgICAgICAgIG1hcmdpbi1ibG9jay1zdGFydDogay1zcGFjaW5nKDIpO1xuICAgICAgICB9XG5cbiAgICAgICAgLmstcmVzZXQgLmstd2lkZ2V0IHtcbiAgICAgICAgICAgIG1hcmdpbjogMCAuNGV4IDAgMWV4O1xuICAgICAgICB9XG4gICAgfVxufVxuIiwiQHVzZSBcIi4uL2NvcmUvX2luZGV4LnNjc3NcIiBhcyAqO1xuQHVzZSBcIi4vX3ZhcmlhYmxlcy5zY3NzXCIgYXMgKjtcblxuQG1peGluIGtlbmRvLWZvcm0tLXRoZW1lKCkge1xuXG4gICAgLmstZm9ybSxcbiAgICAuay1mb3JtLWlubGluZSB7XG4gICAgICAgIEBpbmNsdWRlIGZpbGwoICRjb2xvcjogdmFyKCAtLWtlbmRvLWZvcm0tdGV4dCwgI3ska2VuZG8tYm9keS10ZXh0fSApICk7XG5cbiAgICAgICAgZmllbGRzZXQge1xuICAgICAgICAgICAgbGVnZW5kIHtcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBmaWxsKCAkY29sb3I6IHZhciggLS1rZW5kby1maWVsZHNldC1sZWdlbmQtdGV4dCwgI3ska2VuZG8tZmllbGRzZXQtbGVnZW5kLXRleHR9ICkgKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC5rLWZvcm0tbGVnZW5kIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGZpbGwoICRib3JkZXI6IHZhciggLS1rZW5kby1mb3JtLWxlZ2VuZC1ib3JkZXItY29sb3IsICN7JGtlbmRvLWZvcm0tbGVnZW5kLWJvcmRlci1jb2xvcn0gKSApO1xuICAgICAgICB9XG5cbiAgICAgICAgLmstZmllbGQtaW5mbyB7XG4gICAgICAgICAgICBAaW5jbHVkZSBmaWxsKCAkY29sb3I6IHZhciggLS1rZW5kby1maWVsZC1pbmZvLXRleHQsICN7JGtlbmRvLXN1YnRsZS10ZXh0fSApICk7XG4gICAgICAgIH1cblxuICAgICAgICAuay1hbGVydC1lcnJvciB7XG4gICAgICAgICAgICBAaW5jbHVkZSBmaWxsKCAkY29sb3I6IHZhciggLS1rZW5kby1mb3Jtcy1pbnZhbGlkLWNvbG9yLCAjeyRrZW5kby1mb3Jtcy1pbnZhbGlkLWNvbG9yfSApICk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAuay1mb3JtLWVycm9yLFxuICAgIC5rLXRleHQtZXJyb3IsXG4gICAgLmstZm9ybS1maWVsZC1lcnJvciAuay1sYWJlbCB7XG4gICAgICAgIEBpbmNsdWRlIGZpbGwoICRjb2xvcjogdmFyKCAtLWtlbmRvLWZvcm1zLWludmFsaWQtY29sb3IsICN7JGtlbmRvLWZvcm1zLWludmFsaWQtY29sb3J9ICkgKTtcbiAgICB9XG5cbiAgICAuay1mb3JtLXNlcGFyYXRvciB7XG4gICAgICAgIEBpbmNsdWRlIGZpbGwoICRib3JkZXI6IHZhciggLS1rZW5kby1mb3JtLXNlcGFyYXRvci1ib3JkZXItY29sb3IsICN7JGtlbmRvLWZvcm0tc2VwYXJhdG9yLWJvcmRlci1jb2xvcn0gKSApO1xuICAgIH1cblxuICAgIC5rLWZvcm0taGludCxcbiAgICAuay1sYWJlbC1vcHRpb25hbCB7XG4gICAgICAgIEBpbmNsdWRlIGZpbGwoICRjb2xvcjogdmFyKCAtLWtlbmRvLWZvcm0taGludC10ZXh0LCAjeyRrZW5kby1mb3JtLWhpbnQtdGV4dH0gKSApO1xuICAgIH1cblxuICAgIC5rLWZvcm0tZmllbGQ6ZGlzYWJsZWQsXG4gICAgLmstZm9ybS1maWVsZC5rLWRpc2FibGVkLFxuICAgIC5rLWZvcm0tZmllbGRbZGlzYWJsZWRdIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogaW5oZXJpdDtcbiAgICB9XG5cbn1cbiIsIkB1c2UgXCIuL192YXJpYWJsZXMuc2Nzc1wiIGFzICo7XG5AdXNlIFwiLi4vdG9vbHRpcC9fdmFyaWFibGVzLnNjc3NcIiBhcyAqO1xuXG5AbWl4aW4ga2VuZG8tdmFsaWRhdG9yLS1sYXlvdXQoKSB7XG5cbiAgICAuay12YWxpZGF0b3ItdG9vbHRpcCB7XG4gICAgICAgIG1hcmdpbi1ibG9jay1zdGFydDogY2FsYyggdmFyKCAtLWtlbmRvLXZhbGlkYXRvci10b29sdGlwLW1hcmdpbiwgI3ska2VuZG8tdG9vbHRpcC1jYWxsb3V0LXNpemV9ICkgKyAjeyRrZW5kby10b29sdGlwLWJvcmRlci13aWR0aH0gKTtcbiAgICAgICAgd2lkdGg6IGF1dG87XG4gICAgICAgIHdoaXRlLXNwYWNlOiBub3JtYWw7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgIC8vIE5PVEU6IFRoaXMgd29ya3MgYXJvdW5kIHBvcHVwIC8gdG9vbHRpcCBzdGFja2luIGlzc3VlXG4gICAgICAgIHotaW5kZXg6IDk5OTk7XG4gICAgfVxuICAgIC5rLWdyaWQgLmstdmFsaWRhdG9yLXRvb2x0aXAge1xuICAgICAgICBtYXgtd2lkdGg6IDMwMHB4O1xuICAgIH1cblxufVxuIiwiQHVzZSBcIi4vX3ZhcmlhYmxlcy5zY3NzXCIgYXMgKjtcblxuQG1peGluIGtlbmRvLWZsb2F0aW5nLWxhYmVsLS1sYXlvdXQoKSB7XG5cbiAgICAvLyBGbG9hdGluZyBsYWJlbFxuICAgIC5rLWZsb2F0aW5nLWxhYmVsLWNvbnRhaW5lciB7XG4gICAgICAgIHBhZGRpbmctdG9wOiB2YXIoIC0ta2VuZG8tZmxvYXRpbmctbGFiZWwtaGVpZ2h0LCAjeyRrZW5kby1mbG9hdGluZy1sYWJlbC1oZWlnaHR9ICk7XG4gICAgICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICAgIGp1c3RpZnktY29udGVudDogc3RyZXRjaDtcblxuICAgICAgICAqLFxuICAgICAgICAqOjpiZWZvcmUsXG4gICAgICAgICo6OmFmdGVyIHtcbiAgICAgICAgICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgICAgIH1cblxuICAgICAgICA+IC5rLWZsb2F0aW5nLWxhYmVsIHtcbiAgICAgICAgICAgIG1heC13aWR0aDogdmFyKCAtLWtlbmRvLWZsb2F0aW5nLWxhYmVsLW1heC13aWR0aCwgI3ska2VuZG8tZmxvYXRpbmctbGFiZWwtbWF4LXdpZHRofSApO1xuICAgICAgICAgICAgZm9udC1zaXplOiB2YXIoIC0ta2VuZG8tZmxvYXRpbmctbGFiZWwtZm9udC1zaXplLCAjeyRrZW5kby1mbG9hdGluZy1sYWJlbC1mb250LXNpemV9ICk7XG4gICAgICAgICAgICBmb250LXdlaWdodDogdmFyKCAtLWtlbmRvLWZsb2F0aW5nLWxhYmVsLWZvbnQtd2VpZ2h0LCAjeyRrZW5kby1mbG9hdGluZy1sYWJlbC1mb250LXdlaWdodH0gKTtcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiB2YXIoIC0ta2VuZG8tZmxvYXRpbmctbGFiZWwtbGluZS1oZWlnaHQsICN7JGtlbmRvLWZsb2F0aW5nLWxhYmVsLWxpbmUtaGVpZ2h0fSApO1xuICAgICAgICAgICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgICAgICAgICAgIHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgdG9wOiB2YXIoIC0ta2VuZG8tZmxvYXRpbmctbGFiZWwtb2Zmc2V0LXksICN7JGtlbmRvLWZsb2F0aW5nLWxhYmVsLW9mZnNldC15fSApO1xuICAgICAgICAgICAgbGVmdDogdmFyKCAtLWtlbmRvLWZsb2F0aW5nLWxhYmVsLW9mZnNldC14LCAjeyRrZW5kby1mbG9hdGluZy1sYWJlbC1vZmZzZXQteH0gKTtcbiAgICAgICAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgICAgICAgICBjdXJzb3I6IHRleHQ7XG4gICAgICAgICAgICB0cmFuc2Zvcm0tb3JpZ2luOiBsZWZ0IGNlbnRlcjtcbiAgICAgICAgICAgIHRyYW5zaXRpb246IHRyYW5zZm9ybSB2YXIoIC0ta2VuZG8tZmxvYXRpbmctbGFiZWwtdHJhbnNpdGlvbiwgI3ska2VuZG8tZmxvYXRpbmctbGFiZWwtdHJhbnNpdGlvbn0gKSwgY29sb3IgdmFyKCAtLWtlbmRvLWZsb2F0aW5nLWxhYmVsLXRyYW5zaXRpb24sICN7JGtlbmRvLWZsb2F0aW5nLWxhYmVsLXRyYW5zaXRpb259ICksIHRvcCB2YXIoIC0ta2VuZG8tZmxvYXRpbmctbGFiZWwtdHJhbnNpdGlvbiwgI3ska2VuZG8tZmxvYXRpbmctbGFiZWwtdHJhbnNpdGlvbn0gKSwgbGVmdCB2YXIoIC0ta2VuZG8tZmxvYXRpbmctbGFiZWwtdHJhbnNpdGlvbiwgI3ska2VuZG8tZmxvYXRpbmctbGFiZWwtdHJhbnNpdGlvbn0gKTtcbiAgICAgICAgfVxuXG5cbiAgICAgICAgJi5rLWVtcHR5IHtcbiAgICAgICAgICAgID4gLmstZmxvYXRpbmctbGFiZWwge1xuICAgICAgICAgICAgICAgIHRvcDogdmFyKCAtLWtlbmRvLWZsb2F0aW5nLWxhYmVsLW9mZnNldC15LCAjeyRrZW5kby1mbG9hdGluZy1sYWJlbC1vZmZzZXQteX0gKTtcbiAgICAgICAgICAgICAgICBsZWZ0OiB2YXIoIC0ta2VuZG8tZmxvYXRpbmctbGFiZWwtb2Zmc2V0LXgsICN7JGtlbmRvLWZsb2F0aW5nLWxhYmVsLW9mZnNldC14fSApO1xuICAgICAgICAgICAgICAgIHRyYW5zZm9ybTogc2NhbGUoIHZhciggLS1rZW5kby1mbG9hdGluZy1sYWJlbC1zY2FsZSwgI3ska2VuZG8tZmxvYXRpbmctbGFiZWwtc2NhbGV9ICkgKTtcbiAgICAgICAgICAgICAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgID4gLmstZmxvYXRpbmctbGFiZWwsXG4gICAgICAgICY6Zm9jdXMtd2l0aGluID4gLmstZmxvYXRpbmctbGFiZWwsXG4gICAgICAgICYuay1mb2N1cyA+IC5rLWZsb2F0aW5nLWxhYmVsIHtcbiAgICAgICAgICAgIHRvcDogdmFyKCAtLWtlbmRvLWZsb2F0aW5nLWxhYmVsLWZvY3VzLW9mZnNldC15LCAjeyRrZW5kby1mbG9hdGluZy1sYWJlbC1mb2N1cy1vZmZzZXQteX0gKTtcbiAgICAgICAgICAgIGxlZnQ6IHZhciggLS1rZW5kby1mbG9hdGluZy1sYWJlbC1mb2N1cy1vZmZzZXQteCwgI3ska2VuZG8tZmxvYXRpbmctbGFiZWwtZm9jdXMtb2Zmc2V0LXh9ICk7XG4gICAgICAgICAgICB0cmFuc2Zvcm06IHNjYWxlKCB2YXIoIC0ta2VuZG8tZmxvYXRpbmctbGFiZWwtZm9jdXMtc2NhbGUsICN7JGtlbmRvLWZsb2F0aW5nLWxhYmVsLWZvY3VzLXNjYWxlfSApICk7XG4gICAgICAgIH1cblxuXG4gICAgICAgICYuay1lbXB0eTpub3QoLmstZm9jdXMsIDpmb2N1cy13aXRoaW4pIDo6cGxhY2Vob2xkZXIge1xuICAgICAgICAgICAgY29sb3I6IHRyYW5zcGFyZW50O1xuICAgICAgICB9XG5cbiAgICAgICAgJjpkaXNhYmxlZCxcbiAgICAgICAgJltkaXNhYmxlZF0sXG4gICAgICAgICYuay1kaXNhYmxlZCAge1xuICAgICAgICAgICAgYmFja2dyb3VuZDogbm9uZTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIFtkaXI9XCJydGxcIl0gLmstZmxvYXRpbmctbGFiZWwtY29udGFpbmVyLFxuICAgIC5rLXJ0bCAuay1mbG9hdGluZy1sYWJlbC1jb250YWluZXIsXG4gICAgLmstZmxvYXRpbmctbGFiZWwtY29udGFpbmVyW2Rpcj1cInJ0bFwiXSB7XG5cbiAgICAgICAgPiAuay1mbG9hdGluZy1sYWJlbCB7XG4gICAgICAgICAgICB0cmFuc2Zvcm0tb3JpZ2luOiByaWdodCBjZW50ZXI7XG4gICAgICAgICAgICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gdmFyKCAtLWtlbmRvLWZsb2F0aW5nLWxhYmVsLXRyYW5zaXRpb24sICN7JGtlbmRvLWZsb2F0aW5nLWxhYmVsLXRyYW5zaXRpb259ICksIGNvbG9yIHZhciggLS1rZW5kby1mbG9hdGluZy1sYWJlbC10cmFuc2l0aW9uLCAjeyRrZW5kby1mbG9hdGluZy1sYWJlbC10cmFuc2l0aW9ufSApLCB0b3AgdmFyKCAtLWtlbmRvLWZsb2F0aW5nLWxhYmVsLXRyYW5zaXRpb24sICN7JGtlbmRvLWZsb2F0aW5nLWxhYmVsLXRyYW5zaXRpb259ICksIHJpZ2h0IHZhciggLS1rZW5kby1mbG9hdGluZy1sYWJlbC10cmFuc2l0aW9uLCAjeyRrZW5kby1mbG9hdGluZy1sYWJlbC10cmFuc2l0aW9ufSApO1xuICAgICAgICB9XG5cbiAgICAgICAgJi5rLWVtcHR5IHtcbiAgICAgICAgICAgID4gLmstZmxvYXRpbmctbGFiZWwge1xuICAgICAgICAgICAgICAgIGxlZnQ6IGF1dG87XG4gICAgICAgICAgICAgICAgcmlnaHQ6IHZhciggLS1rZW5kby1mbG9hdGluZy1sYWJlbC1vZmZzZXQteCwgI3ska2VuZG8tZmxvYXRpbmctbGFiZWwtb2Zmc2V0LXh9ICk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICA+IC5rLWZsb2F0aW5nLWxhYmVsLFxuICAgICAgICAmOmZvY3VzLXdpdGhpbiA+IC5rLWZsb2F0aW5nLWxhYmVsLFxuICAgICAgICAmLmstZm9jdXMgPiAuay1mbG9hdGluZy1sYWJlbCB7XG4gICAgICAgICAgICBsZWZ0OiBhdXRvO1xuICAgICAgICAgICAgcmlnaHQ6IHZhciggLS1rZW5kby1mbG9hdGluZy1sYWJlbC1mb2N1cy1vZmZzZXQteCwgI3ska2VuZG8tZmxvYXRpbmctbGFiZWwtZm9jdXMtb2Zmc2V0LXh9ICk7XG4gICAgICAgIH1cbiAgICB9XG59XG4iLCJAdXNlIFwiLi4vY29yZS9faW5kZXguc2Nzc1wiIGFzICo7XG5AdXNlIFwiLi9fdmFyaWFibGVzLnNjc3NcIiBhcyAqO1xuXG5AbWl4aW4ga2VuZG8tZmxvYXRpbmctbGFiZWwtLXRoZW1lKCkge1xuXG4gICAgIC8vIEZsb2F0aW5nIGxhYmVsXG4gICAgIC5rLWZsb2F0aW5nLWxhYmVsLWNvbnRhaW5lciB7XG5cbiAgICAgICAgPiAuay1mbG9hdGluZy1sYWJlbCB7XG4gICAgICAgICAgICBAaW5jbHVkZSBmaWxsKFxuICAgICAgICAgICAgICAgICRjb2xvcjogdmFyKCAtLWtlbmRvLWZsb2F0aW5nLWxhYmVsLXRleHQsICN7JGtlbmRvLWZsb2F0aW5nLWxhYmVsLXRleHR9ICksXG4gICAgICAgICAgICAgICAgJGJnOiB2YXIoIC0ta2VuZG8tZmxvYXRpbmctbGFiZWwtYmcsICN7JGtlbmRvLWZsb2F0aW5nLWxhYmVsLWJnfSApXG4gICAgICAgICAgICApO1xuICAgICAgICB9XG5cbiAgICAgICAgJi5rLWZvY3VzID4gLmstZmxvYXRpbmctbGFiZWwge1xuICAgICAgICAgICAgQGluY2x1ZGUgZmlsbChcbiAgICAgICAgICAgICAgICAkY29sb3I6IHZhciggLS1rZW5kby1mbG9hdGluZy1sYWJlbC1mb2N1cy10ZXh0LCAjeyRrZW5kby1mbG9hdGluZy1sYWJlbC1mb2N1cy10ZXh0fSApLFxuICAgICAgICAgICAgICAgICRiZzogdmFyKCAtLWtlbmRvLWZsb2F0aW5nLWxhYmVsLWZvY3VzLWJnLCAjeyRrZW5kby1mbG9hdGluZy1sYWJlbC1mb2N1cy1iZ30gKVxuICAgICAgICAgICAgKTtcbiAgICAgICAgfVxuXG4gICAgICAgICYuay1pbnZhbGlkID4gLmstZmxvYXRpbmctbGFiZWwsXG4gICAgICAgICYubmctaW52YWxpZC5uZy10b3VjaGVkID4gLmstZmxvYXRpbmctbGFiZWwsXG4gICAgICAgICYubmctaW52YWxpZC5uZy1kaXJ0eSA+IC5rLWZsb2F0aW5nLWxhYmVsIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGZpbGwgKCAkY29sb3I6IHZhciggLS1rZW5kby1mbG9hdGluZy1sYWJlbC1pbnZhbGlkLXRleHQsICN7JGtlbmRvLWZsb2F0aW5nLWxhYmVsLWludmFsaWQtdGV4dH0gKSApO1xuICAgICAgICB9XG5cbiAgICB9XG5cbn1cbiIsIkB1c2UgXCIuL192YXJpYWJsZXMuc2Nzc1wiIGFzICo7XG5cbkBtaXhpbiBrZW5kby1zcGxpdC1idXR0b24tLWxheW91dCgpIHtcblxuICAgIC8vIFNwbGl0IGJ1dHRvblxuICAgIC5rLXNwbGl0LWJ1dHRvbiB7XG4gICAgICAgID4gLmstYnV0dG9uOmZpcnN0LWNoaWxkIHtcbiAgICAgICAgICAgIGJvcmRlci1pbmxpbmUtZW5kLXdpZHRoOiAwO1xuICAgICAgICB9XG5cbiAgICAgICAgPiAuay1idXR0b246bGFzdC1jaGlsZCB7XG4gICAgICAgICAgICBib3JkZXItaW5saW5lLXN0YXJ0LXdpZHRoOiAwO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLy8gU3BsaXQgYnV0dG9uIGFycm93XG4gICAgLmstc3BsaXQtYnV0dG9uLWFycm93IHtcbiAgICAgICAgd2lkdGg6IGF1dG87XG4gICAgICAgIHBhZGRpbmctaW5saW5lOiB2YXIoIC0ta2VuZG8tc3BsaXQtYnV0dG9uLWFycm93LXBhZGRpbmcteCwgI3ska2VuZG8tc3BsaXQtYnV0dG9uLW1kLWFycm93LXBhZGRpbmcteH0gKTtcbiAgICAgICAgcGFkZGluZy1ibG9jazogdmFyKCAtLWtlbmRvLXNwbGl0LWJ1dHRvbi1hcnJvdy1wYWRkaW5nLXkgLCAjeyRrZW5kby1zcGxpdC1idXR0b24tbWQtYXJyb3ctcGFkZGluZy15fSApO1xuICAgICAgICBhc3BlY3QtcmF0aW86IGF1dG87XG4gICAgICAgIGZsZXg6IG5vbmU7XG5cbiAgICAgICAgLmstYnV0dG9uLWljb24ge1xuICAgICAgICAgICAgbWluLXdpZHRoOiAwO1xuXG4gICAgICAgICAgICAmOjphZnRlciB7XG4gICAgICAgICAgICAgICAgY29udGVudDpcIlwiO1xuICAgICAgICAgICAgICAgIHdpZHRoOiB2YXIoIC0ta2VuZG8tc3BsaXQtYnV0dG9uLWFycm93LWRlbGltaXRlci1saW5lLXNpemUsICN7JGtlbmRvLXNwbGl0LWJ1dHRvbi1hcnJvdy1kZWxpbWl0ZXItbGluZS1zaXplfSApO1xuICAgICAgICAgICAgICAgIGhlaWdodDogdmFyKCAtLWtlbmRvLXNwbGl0LWJ1dHRvbi1hcnJvdy1kZWxpbWl0ZXItc2l6ZSwgI3ska2VuZG8tc3BsaXQtYnV0dG9uLWFycm93LWRlbGltaXRlci1zaXplfSApO1xuICAgICAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgICAgICB0b3A6IGNhbGMoICggMTAwJSAtICN7JGtlbmRvLXNwbGl0LWJ1dHRvbi1hcnJvdy1kZWxpbWl0ZXItc2l6ZX0gKSAvIDIgKTtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiB2YXIoIC0ta2VuZG8tc3BsaXQtYnV0dG9uLWFycm93LWRlbGltaXRlci1iZywgI3ska2VuZG8tc3BsaXQtYnV0dG9uLWFycm93LWRlbGltaXRlci1iZ30gKTtcbiAgICAgICAgICAgICAgICB6LWluZGV4OiAyO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLy8gU2l6ZXNcbiAgICAgICAgQGVhY2ggJHNpemUsICRzaXplLXByb3BzIGluICRrZW5kby1zcGxpdC1idXR0b24tc2l6ZXMge1xuXG4gICAgICAgICAgICAmLmstYnV0dG9uLSN7JHNpemV9IHtcbiAgICAgICAgICAgICAgICBwYWRkaW5nOiB2YXIoIC0ta2VuZG8tc3BsaXQtYnV0dG9uLWFycm93LXBhZGRpbmcteS0jeyRzaXplfSwgI3skc2l6ZS1wcm9wc30gKTtcblxuICAgICAgICAgICAgICAgIC5rLWJ1dHRvbi1pY29uIHtcbiAgICAgICAgICAgICAgICAgICAgJjo6YWZ0ZXIge1xuICAgICAgICAgICAgICAgICAgICAgICAgaW5zZXQtaW5saW5lLXN0YXJ0OiBjYWxjKCB2YXIoIC0ta2VuZG8tc3BsaXQtYnV0dG9uLWRlbGltaXRlci1vZmZzZXQtI3skc2l6ZX0sICN7JHNpemUtcHJvcHN9ICkgKiAtMSApO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxufVxuIiwiQHVzZSBcIi4vX3ZhcmlhYmxlcy5zY3NzXCIgYXMgKjtcbkB1c2UgXCIuLi9idXR0b24vX3ZhcmlhYmxlcy5zY3NzXCIgYXMgKjtcblxuQG1peGluIGtlbmRvLW1lbnUtYnV0dG9uLS1sYXlvdXQoKSB7XG5cbiAgICAvLyBNZW51IGJ1dHRvblxuICAgIC5rLW1lbnUtYnV0dG9uLFxuICAgIC5rLWRyb3Bkb3duLWJ1dHRvbiB7XG4gICAgICAgIGFzcGVjdC1yYXRpbzogYXV0bztcbiAgICAgICAgZmxleC1mbG93OiByb3cgbm93cmFwO1xuXG4gICAgICAgID4gLmstYnV0dG9uLWFycm93IHtcbiAgICAgICAgICAgIGZsZXg6IG5vbmU7XG4gICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgICAgfVxuICAgIH1cblxufVxuIiwiQHVzZSBcInNhc3M6bWFwXCI7XG5AdXNlIFwiLi4vY29yZS9faW5kZXguc2Nzc1wiIGFzICo7XG5AdXNlIFwiLi9fdmFyaWFibGVzLnNjc3NcIiBhcyAqO1xuQHVzZSBcIi4uL2ljb25zL192YXJpYWJsZXMuc2Nzc1wiIGFzICo7XG5cbkBtaXhpbiBrZW5kby1pbnB1dC0tbGF5b3V0KCkge1xuXG4gICAgLy8gR2VuZXJpYyBpbnB1dFxuICAgIC5rLWlucHV0LFxuICAgIC5rLXBpY2tlciB7XG4gICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgd2lkdGg6IHZhciggLS1rZW5kby1pbnB1dC13aWR0aCwgI3ska2VuZG8taW5wdXQtd2lkdGh9ICk7XG4gICAgICAgIG1pbi13aWR0aDogMDtcbiAgICAgICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICAgICAgYm9yZGVyLXdpZHRoOiB2YXIoIC0ta2VuZG8taW5wdXQtYm9yZGVyLXdpZHRoLCAjeyRrZW5kby1pbnB1dC1ib3JkZXItd2lkdGh9ICk7XG4gICAgICAgIGJvcmRlci1zdHlsZTogc29saWQ7XG4gICAgICAgIG91dGxpbmU6IDA7XG4gICAgICAgIGZvbnQtZmFtaWx5OiB2YXIoIC0ta2VuZG8taW5wdXQtZm9udC1mYW1pbHksICN7JGtlbmRvLWlucHV0LWZvbnQtZmFtaWx5fSApO1xuICAgICAgICBmb250LXNpemU6IHZhciggLS1JTlRFUk5BTC0ta2VuZG8taW5wdXQtZm9udC1zaXplLCBpbmhlcml0ICk7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiB2YXIoIC0tSU5URVJOQUwtLWtlbmRvLWlucHV0LWxpbmUtaGVpZ2h0LCAjeyRrZW5kby1saW5lLWhlaWdodC1tZH0gKTtcbiAgICAgICAgZm9udC13ZWlnaHQ6IHZhciggLS1rZW5kby1pbnB1dC1mb250LXdlaWdodCwgI3ska2VuZG8taW5wdXQtZm9udC13ZWlnaHR9ICk7XG4gICAgICAgIHRleHQtYWxpZ246IHN0YXJ0O1xuICAgICAgICBib3gtc2hhZG93OiBub25lO1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgICAgICAgZmxleC1mbG93OiByb3cgbm93cmFwO1xuICAgICAgICBhbGlnbi1pdGVtczogc3RyZXRjaDtcbiAgICAgICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgICAgICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcbiAgICAgICAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lO1xuXG4gICAgICAgICosXG4gICAgICAgICo6OmJlZm9yZSxcbiAgICAgICAgKjo6YWZ0ZXIge1xuICAgICAgICAgICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICAgICAgfVxuXG4gICAgICAgID4gLmstaW5wdXQsXG4gICAgICAgID4gLmstcGlja2VyIHtcbiAgICAgICAgICAgIGJvcmRlci13aWR0aDogMCAhaW1wb3J0YW50OyAvLyBzdHlsZWxpbnQtZGlzYWJsZS1saW5lIGRlY2xhcmF0aW9uLW5vLWltcG9ydGFudFxuICAgICAgICAgICAgY29sb3I6IGluaGVyaXQ7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiBub25lO1xuICAgICAgICAgICAgZm9udDogaW5oZXJpdDtcbiAgICAgICAgICAgIG91dGxpbmU6IDA7XG4gICAgICAgICAgICBib3gtc2hhZG93OiBub25lO1xuICAgICAgICB9XG5cbiAgICAgICAgLy8gZml4IGZvciBTYWZhcmlcbiAgICAgICAgJiA+ICoge1xuICAgICAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICB9XG5cbiAgICAgICAgJjo6cGxhY2Vob2xkZXIge1xuICAgICAgICAgICAgY29sb3I6IHZhciggLS1rZW5kby1pbnB1dC1wbGFjZWhvbGRlci10ZXh0LCAjeyRrZW5kby1pbnB1dC1wbGFjZWhvbGRlci10ZXh0fSApO1xuICAgICAgICAgICAgb3BhY2l0eTogdmFyKCAtLWtlbmRvLWlucHV0LXBsYWNlaG9sZGVyLW9wYWNpdHksICN7JGtlbmRvLWlucHV0LXBsYWNlaG9sZGVyLW9wYWNpdHl9ICk7XG4gICAgICAgICAgICB1c2VyLXNlbGVjdDogbm9uZTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5rLWlucHV0LFxuICAgIC5rLXBpY2tlciB7XG5cbiAgICAgICAgJjpmb2N1cyxcbiAgICAgICAgJi5rLWZvY3VzLFxuICAgICAgICAmOmZvY3VzLXdpdGhpbiB7XG5cbiAgICAgICAgICAgICY6OmFmdGVyIHtcbiAgICAgICAgICAgICAgICBjb250ZW50OiAnJztcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICAgICAgdG9wOiAwO1xuICAgICAgICAgICAgICAgIHJpZ2h0OiAwO1xuICAgICAgICAgICAgICAgIGJvdHRvbTogMDtcbiAgICAgICAgICAgICAgICBsZWZ0OiAwO1xuICAgICAgICAgICAgICAgIGJvcmRlci13aWR0aDogdmFyKCAtLWtlbmRvLWlucHV0LWZvY3VzLWJvcmRlci13aWR0aCwgI3ska2VuZG8taW5wdXQtZm9jdXMtYm9yZGVyLXdpZHRofSApO1xuICAgICAgICAgICAgICAgIGJvcmRlci1zdHlsZTogc29saWQ7XG4gICAgICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogaW5oZXJpdDtcbiAgICAgICAgICAgICAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgICAgICAgICAgICAgICB6LWluZGV4OiAxO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgLy8gU29saWQgYW5kIGZsYXQgTnVtZXJpYyBUZXh0Ym94XG4gICAgLmstbnVtZXJpY3RleHRib3guay1pbnB1dC1zb2xpZCxcbiAgICAuay1udW1lcmljdGV4dGJveC5rLWlucHV0LWZsYXQgIHtcblxuICAgICAgICAuay1zcGlubmVyLWluY3JlYXNlLFxuICAgICAgICAuay1zcGlubmVyLWRlY3JlYXNlIHtcbiAgICAgICAgICAgIGJvcmRlcjogbm9uZTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8vIElucHV0IGFuZCBUZXh0YXJlYVxuICAgIC5rLWlucHV0IHt9XG4gICAgaW5wdXQuay1pbnB1dCxcbiAgICB0ZXh0YXJlYS5rLXRleHRhcmVhIHtcbiAgICAgICAgcGFkZGluZy1pbmxpbmU6IHZhciggLS1JTlRFUk5BTC0ta2VuZG8taW5wdXQtcGFkZGluZy14LCAwICk7XG4gICAgICAgIHBhZGRpbmctYmxvY2s6IHZhciggLS1JTlRFUk5BTC0ta2VuZG8taW5wdXQtcGFkZGluZy15LCAwICk7XG4gICAgfVxuICAgIHRleHRhcmVhLmstdGV4dGFyZWEge1xuICAgICAgICBvdmVyZmxvdzogYXV0bztcbiAgICB9XG5cblxuICAgIC8vIFBpY2tlclxuICAgIC5rLXBpY2tlciB7XG4gICAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICB9XG4gICAgc2VsZWN0LmstcGlja2VyIHtcbiAgICAgICAgcGFkZGluZy1pbmxpbmU6IHZhciggLS1JTlRFUk5BTC0ta2VuZG8taW5wdXQtcGFkZGluZy14LCAwICk7XG4gICAgICAgIHBhZGRpbmctYmxvY2s6IHZhciggLS1JTlRFUk5BTC0ta2VuZG8taW5wdXQtcGFkZGluZy15LCAgMCApO1xuICAgICAgICBhcHBlYXJhbmNlOiBhdXRvO1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIH1cblxuXG4gICAgLy8gSW5wdXQgaW5uZXJcbiAgICAuay1pbnB1dC1pbm5lciB7XG4gICAgICAgIHBhZGRpbmctaW5saW5lOiB2YXIoIC0tSU5URVJOQUwtLWtlbmRvLWlucHV0LXBhZGRpbmcteCwgI3ska2VuZG8taW5wdXQtbWQtcGFkZGluZy14fSApO1xuICAgICAgICBwYWRkaW5nLWJsb2NrOiB2YXIoIC0tSU5URVJOQUwtLWtlbmRvLWlucHV0LXBhZGRpbmcteSwgI3ska2VuZG8taW5wdXQtbWQtcGFkZGluZy15fSApO1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgYm9yZGVyOiAwO1xuICAgICAgICBvdXRsaW5lOiAwO1xuICAgICAgICBjb2xvcjogaW5oZXJpdDtcbiAgICAgICAgYmFja2dyb3VuZDogbm9uZTtcbiAgICAgICAgZm9udDogaW5oZXJpdDtcbiAgICAgICAgZmxleDogMTtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICB6LWluZGV4OiAxO1xuICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgICAgICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcbiAgICAgICAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lO1xuXG4gICAgICAgIC8vIFBsYWNlaG9sZGVyIHRleHRcbiAgICAgICAgJjo6cGxhY2Vob2xkZXIge1xuICAgICAgICAgICAgY29sb3I6IHZhciggLS1rZW5kby1pbnB1dC1wbGFjZWhvbGRlci10ZXh0LCAjeyRrZW5kby1pbnB1dC1wbGFjZWhvbGRlci10ZXh0fSApO1xuICAgICAgICAgICAgb3BhY2l0eTogdmFyKCAtLWtlbmRvLWlucHV0LXBsYWNlaG9sZGVyLW9wYWNpdHksICN7JGtlbmRvLWlucHV0LXBsYWNlaG9sZGVyLW9wYWNpdHl9ICk7XG4gICAgICAgICAgICB1c2VyLXNlbGVjdDogbm9uZTtcbiAgICAgICAgfVxuXG4gICAgICAgIC8vIEludmFsaWRcbiAgICAgICAgJjppbnZhbGlkIHtcbiAgICAgICAgICAgIGJveC1zaGFkb3c6IG5vbmU7XG4gICAgICAgIH1cbiAgICB9XG4gICAgc3Bhbi5rLWlucHV0LWlubmVyIHtcbiAgICAgICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgZmxleC1mbG93OiByb3cgbm93cmFwO1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIH1cbiAgICB0ZXh0YXJlYS5rLWlucHV0LWlubmVyIHtcbiAgICAgICAgbWFyZ2luOiAwO1xuICAgIH1cblxuXG4gICAgLy8gSW5wdXQgdmFsdWVcbiAgICAuay1pbnB1dC12YWx1ZS1pY29uIHtcbiAgICAgICAgZmxleDogbm9uZTtcbiAgICB9XG4gICAgLmstaW5wdXQtdmFsdWUtdGV4dCB7XG4gICAgICAgIGZsZXg6IDE7XG4gICAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgICAgIHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xuICAgIH1cbiAgICAuay1pbnB1dC12YWx1ZS10ZXh0OjpiZWZvcmUge1xuICAgICAgICBjb250ZW50OiBcIlxcMjAwYlwiO1xuICAgICAgICB3aWR0aDogMHB4O1xuICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgICAgICBmbGV4OiBub25lO1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgIHZlcnRpY2FsLWFsaWduOiB0b3A7XG4gICAgfVxuXG5cbiAgICAvLyBJbnB1dCBtdWx0aXBsZSB2YWx1ZXNcbiAgICAuay1pbnB1dC12YWx1ZXMge1xuICAgICAgICBtaW4td2lkdGg6IDBweDtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGZsZXgtZmxvdzogcm93IHdyYXA7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgIGdhcDogY2FsYyggdmFyKCAtLUlOVEVSTkFMLS1rZW5kby1pbnB1dC1wYWRkaW5nLXksIDAgKSAvIDIgKTtcbiAgICAgICAgY3Vyc29yOiB0ZXh0O1xuICAgIH1cbiAgICAuay1pbnB1dC12YWx1ZXMgLmstY2hpcC1saXN0IHtcbiAgICAgICAgZGlzcGxheTogY29udGVudHM7XG4gICAgfVxuXG5cbiAgICAvLyBJY29uIHBpY2tlclxuICAgIC5rLWljb24tcGlja2VyIHtcbiAgICAgICAgPiAuay1pbnB1dC1pbm5lciB7XG4gICAgICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgICAgICAgYm94LXNpemluZzogY29udGVudC1ib3g7XG4gICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgICAgfVxuXG4gICAgICAgIC5rLXZhbHVlLWljb24ge1xuICAgICAgICAgICAgYm9yZGVyOiAwO1xuICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogMDtcbiAgICAgICAgfVxuICAgIH1cblxuXG4gICAgLy8gSW5wdXQgcHJlZml4IGFuZCBzdWZmaXhcbiAgICAuay1pbnB1dC1wcmVmaXgsXG4gICAgLmstaW5wdXQtc3VmZml4IHtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiBpbmhlcml0O1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICBmbGV4OiBub25lO1xuXG4gICAgICAgID4gKiB7XG4gICAgICAgICAgICBmbGV4LXNocmluazogMDtcbiAgICAgICAgICAgIGJvcmRlcjogbm9uZTtcbiAgICAgICAgfVxuXG4gICAgICAgICYtdmVydGljYWwge1xuICAgICAgICAgICAgZmxleC1mbG93OiBjb2x1bW4gd3JhcDtcbiAgICAgICAgfVxuXG4gICAgICAgICYtaG9yaXpvbnRhbCB7XG4gICAgICAgICAgICBmbGV4LWZsb3c6IHJvdyB3cmFwO1xuICAgICAgICB9XG4gICAgfVxuXG5cbiAgICAvLyBJbnB1dCBzZXBhcmF0b3JcbiAgICAuay1pbnB1dC1zZXBhcmF0b3Ige1xuICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgIGJvcmRlci1zdHlsZTogc29saWQ7XG4gICAgICAgIGJvcmRlci1jb2xvcjogaW5oZXJpdDtcbiAgICAgICAgYm9yZGVyLXdpZHRoOiAwIDAgMCAxcHg7XG4gICAgICAgIGhlaWdodDogJGtlbmRvLWljb24tc2l6ZTtcbiAgICAgICAgYWxpZ24tc2VsZjogY2VudGVyO1xuXG4gICAgICAgICYtaG9yaXpvbnRhbCB7XG4gICAgICAgICAgICBoZWlnaHQ6IGF1dG87XG4gICAgICAgICAgICBtYXJnaW4taW5saW5lOiAka2VuZG8taW5wdXQtbWQtcGFkZGluZy15O1xuICAgICAgICAgICAgYWxpZ24tc2VsZjogc3RyZXRjaDtcbiAgICAgICAgICAgIGJvcmRlci13aWR0aDogMXB4IDAgMDtcbiAgICAgICAgfVxuXG4gICAgICAgICYtdmVydGljYWwge1xuICAgICAgICAgICAgaGVpZ2h0OiBhdXRvO1xuICAgICAgICAgICAgbWFyZ2luLWJsb2NrOiAka2VuZG8taW5wdXQtbWQtcGFkZGluZy15O1xuICAgICAgICAgICAgYWxpZ24tc2VsZjogc3RyZXRjaDtcbiAgICAgICAgICAgIGJvcmRlci13aWR0aDogMCAwIDAgMXB4O1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLy8gSW5wdXQgZ3JvdXBcbiAgICAuay1pbnB1dC1ncm91cCB7XG4gICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgYm9yZGVyLXdpZHRoOiAwO1xuICAgICAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgICAgICBsaXN0LXN0eWxlOiBub25lO1xuICAgICAgICBvdXRsaW5lOiAwO1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgICAgICAgZmxleC1mbG93OiByb3cgbm93cmFwO1xuICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIC13ZWJraXQtdG91Y2gtY2FsbG91dDogbm9uZTtcbiAgICAgICAgLXdlYmtpdC10YXAtaGlnaGxpZ2h0LWNvbG9yOiAka2VuZG8tY29sb3ItcmdiYS10cmFuc3BhcmVudDtcblxuICAgICAgICA+IC5rLWlucHV0ICsgLmstaW5wdXQge1xuICAgICAgICAgICAgbWFyZ2luLWlubGluZS1zdGFydDogaWYoICRrZW5kby1pbnB1dC1ib3JkZXItd2lkdGggPT0gMCwgbnVsbCwgLSRrZW5kby1pbnB1dC1ib3JkZXItd2lkdGggKTtcbiAgICAgICAgfVxuXG4gICAgICAgID4gLmstaW5wdXQ6aG92ZXIsXG4gICAgICAgID4gLmstaW5wdXQuay1ob3ZlcixcbiAgICAgICAgPiAuay1pbnB1dDpmb2N1cyxcbiAgICAgICAgPiAuay1pbnB1dDpmb2N1cy13aXRoaW4sXG4gICAgICAgID4gLmstaW5wdXQuay1mb2N1cyxcbiAgICAgICAgPiAuay1pbnB1dDphY3RpdmUsXG4gICAgICAgID4gLmstaW5wdXQuay1hY3RpdmUsXG4gICAgICAgID4gLmstaW5wdXQuay1zZWxlY3RlZCB7XG4gICAgICAgICAgICB6LWluZGV4OiAyO1xuICAgICAgICB9XG5cbiAgICAgICAgLmstaW5wdXQ6bm90KDpmaXJzdC1jaGlsZCk6bm90KDpsYXN0LWNoaWxkKSB7XG4gICAgICAgICAgICBib3JkZXItc3RhcnQtZW5kLXJhZGl1czogMDtcbiAgICAgICAgICAgIGJvcmRlci1lbmQtZW5kLXJhZGl1czogMDtcbiAgICAgICAgICAgIGJvcmRlci1zdGFydC1zdGFydC1yYWRpdXM6IDA7XG4gICAgICAgICAgICBib3JkZXItZW5kLXN0YXJ0LXJhZGl1czogMDtcbiAgICAgICAgfVxuICAgICAgICA+IC5rLWlucHV0OmZpcnN0LWNoaWxkOm5vdCg6b25seS1jaGlsZCkge1xuICAgICAgICAgICAgYm9yZGVyLXN0YXJ0LWVuZC1yYWRpdXM6IDA7XG4gICAgICAgICAgICBib3JkZXItZW5kLWVuZC1yYWRpdXM6IDA7XG4gICAgICAgIH1cbiAgICAgICAgPiAuay1pbnB1dDpsYXN0LWNoaWxkOm5vdCg6b25seS1jaGlsZCkge1xuICAgICAgICAgICAgYm9yZGVyLXN0YXJ0LXN0YXJ0LXJhZGl1czogMDtcbiAgICAgICAgICAgIGJvcmRlci1lbmQtc3RhcnQtcmFkaXVzOiAwO1xuICAgICAgICB9XG5cbiAgICAgICAgJjpkaXNhYmxlZCxcbiAgICAgICAgJltkaXNhYmxlZF0sXG4gICAgICAgICYuay1kaXNhYmxlZCB7XG4gICAgICAgICAgICBvcGFjaXR5OiAxO1xuICAgICAgICAgICAgZmlsdGVyOiBub25lO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLy8gSW5wdXQgd2l0aCBpY29uIHN0eWxlc1xuICAgIC5rLWlucHV0LWljb24sXG4gICAgLmstaW5wdXQtdmFsaWRhdGlvbi1pY29uLFxuICAgIC5rLWlucHV0LWxvYWRpbmctaWNvbiB7XG4gICAgICAgIHBhZGRpbmctaW5saW5lOiB2YXIoIC0tSU5URVJOQUwtLWtlbmRvLWlucHV0LXBhZGRpbmcteSwgI3ska2VuZG8taW5wdXQtbWQtcGFkZGluZy15fSApO1xuICAgICAgICBwYWRkaW5nLWJsb2NrOiB2YXIoIC0tSU5URVJOQUwtLWtlbmRvLWlucHV0LXBhZGRpbmcteSwgI3ska2VuZG8taW5wdXQtbWQtcGFkZGluZy15fSApO1xuICAgICAgICBmbGV4OiBub25lO1xuICAgICAgICBhbGlnbi1zZWxmOiBjZW50ZXI7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICAgICAgICBmbGV4LWZsb3c6IHJvdyBub3dyYXA7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgICBib3gtc2l6aW5nOiBjb250ZW50LWJveDtcbiAgICB9XG5cbiAgICAuay1pbnB1dC1sb2FkaW5nLWljb24ge1xuICAgICAgICB3aWR0aDogMWVtO1xuICAgICAgICBoZWlnaHQ6IDFlbTtcbiAgICAgICAgZm9udC1zaXplOiB2YXIoIC0ta2VuZG8taWNvbi1zaXplLW1kLCAxcmVtICk7XG4gICAgfVxuXG4gICAgLy8gSW5wdXQgd2l0aCBTVkcgaWNvblxuICAgIC5rLWlucHV0LWljb24sXG4gICAgLmstaW5wdXQtdmFsaWRhdGlvbi1pY29uLFxuICAgIC5rLWlucHV0LWxvYWRpbmctaWNvbiB7XG4gICAgICAgICYuay1zdmctaWNvbiA+IHN2ZyxcbiAgICAgICAgJi5rLWljb24tbWQgPiBzdmcge1xuICAgICAgICAgICAgd2lkdGg6IHZhciggLS1rZW5kby1pY29uLXNpemUtbWQsIDFyZW0gKTtcbiAgICAgICAgICAgIGhlaWdodDogdmFyKCAtLWtlbmRvLWljb24tc2l6ZS1tZCwgMXJlbSApO1xuICAgICAgICB9XG5cbiAgICAgICAgJi5rLWljb24teHMgPiBzdmcge1xuICAgICAgICAgICAgd2lkdGg6IHZhciggLS1rZW5kby1pY29uLXNpemUtc20sIDAuNzVyZW0gKTtcbiAgICAgICAgICAgIGhlaWdodDogdmFyKCAtLWtlbmRvLWljb24tc2l6ZS1zbSwgMC43NXJlbSApcztcbiAgICAgICAgfVxuXG4gICAgICAgICYuay1pY29uLXNtID4gc3ZnIHtcbiAgICAgICAgICAgIHdpZHRoOiB2YXIoIC0ta2VuZG8taWNvbi1zaXplLXNtLCAwLjg3NXJlbSApO1xuICAgICAgICAgICAgaGVpZ2h0OiB2YXIoIC0ta2VuZG8taWNvbi1zaXplLXNtLCAwLjg3NXJlbSApO1xuICAgICAgICB9XG5cbiAgICAgICAgJi5rLWljb24tbGcgPiBzdmcge1xuICAgICAgICAgICAgd2lkdGg6IHZhciggLS1rZW5kby1pY29uLXNpemUtbGcsIDEuMjVyZW0gKTtcbiAgICAgICAgICAgIGhlaWdodDogdmFyKCAtLWtlbmRvLWljb24tc2l6ZS1sZywgMS4yNXJlbSApO1xuICAgICAgICB9XG5cbiAgICAgICAgJi5rLWljb24teGwgPiBzdmcge1xuICAgICAgICAgICAgd2lkdGg6IHZhciggLS1rZW5kby1pY29uLXNpemUteGwsIDEuNXJlbSApO1xuICAgICAgICAgICAgaGVpZ2h0OiB2YXIoIC0ta2VuZG8taWNvbi1zaXplLXhsLCAxLjVyZW0gKTtcbiAgICAgICAgfVxuXG4gICAgICAgICYuay1pY29uLXh4bCA+IHN2ZyB7XG4gICAgICAgICAgICB3aWR0aDogdmFyKCAtLWtlbmRvLWljb24tc2l6ZS14eGwsIDJyZW0gKTtcbiAgICAgICAgICAgIGhlaWdodDogdmFyKCAtLWtlbmRvLWljb24tc2l6ZS14eGwsIDJyZW0gKTtcbiAgICAgICAgfVxuXG4gICAgICAgICYuay1pY29uLXh4eGwgPiBzdmcge1xuICAgICAgICAgICAgd2lkdGg6IHZhciggLS1rZW5kby1pY29uLXNpemUteHhsLCAzcmVtICk7XG4gICAgICAgICAgICBoZWlnaHQ6IHZhciggLS1rZW5kby1pY29uLXNpemUteHhsLCAzcmVtICk7XG4gICAgICAgIH1cbiAgICB9XG5cblxuICAgIC8vIENsZWFyIHZhbHVlXG4gICAgLmstY2xlYXItdmFsdWUge1xuICAgICAgICB3aWR0aDogdmFyKCAtLUlOVEVSTkFMLS1rZW5kby1pbnB1dC1pY29uLXNpemUsIG1pbi1jb250ZW50ICk7XG4gICAgICAgIGhlaWdodDogdmFyKCAtLUlOVEVSTkFMLS1rZW5kby1pbnB1dC1pY29uLXNpemUsIG1pbi1jb250ZW50ICk7XG4gICAgICAgIG91dGxpbmU6IDA7XG4gICAgICAgIGNvbG9yOiB2YXIoIC0ta2VuZG8taW5wdXQtY2xlYXItdmFsdWUtdGV4dCwgI3ska2VuZG8taW5wdXQtY2xlYXItdmFsdWUtdGV4dH0gKTtcbiAgICAgICAgZmxleDogbm9uZTtcbiAgICAgICAgYWxpZ24tc2VsZjogY2VudGVyO1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAgICAgb3BhY2l0eTogdmFyKCAtLWtlbmRvLWlucHV0LWNsZWFyLXZhbHVlLW9wYWNpdHksICN7JGtlbmRvLWlucHV0LWNsZWFyLXZhbHVlLW9wYWNpdHl9ICk7XG4gICAgfVxuICAgIC5rLWNsZWFyLXZhbHVlOmhvdmVyLFxuICAgIC5rLWNsZWFyLXZhbHVlLmstaG92ZXIge1xuICAgICAgICBjb2xvcjogdmFyKCAtLWtlbmRvLWlucHV0LWNsZWFyLXZhbHVlLWhvdmVyLXRleHQsICN7JGtlbmRvLWlucHV0LWNsZWFyLXZhbHVlLWhvdmVyLXRleHR9ICk7XG4gICAgICAgIG9wYWNpdHk6IHZhciggLS1rZW5kby1pbnB1dC1jbGVhci12YWx1ZS1ob3Zlci1vcGFjaXR5LCAjeyRrZW5kby1pbnB1dC1jbGVhci12YWx1ZS1ob3Zlci1vcGFjaXR5fSApO1xuICAgIH1cbiAgICAuay1jbGVhci12YWx1ZTpmb2N1cy12aXNpYmxlIHtcbiAgICAgICAgb3V0bGluZTogMXB4IGRvdHRlZDtcbiAgICAgICAgb3V0bGluZS1vZmZzZXQ6IC0xcHg7XG4gICAgfVxuXG4gICAgLy8gSW5wdXQgYnV0dG9uXG4gICAgLmstaW5wdXQtYnV0dG9uIHtcbiAgICAgICAgcGFkZGluZy1pbmxpbmU6ICB2YXIoIC0tSU5URVJOQUwtLWtlbmRvLWlucHV0LWJ1dHRvbi1wYWRkaW5nLXgsIDAgKTtcbiAgICAgICAgcGFkZGluZy1ibG9jazogdmFyKCAtLUlOVEVSTkFMLS1rZW5kby1pbnB1dC1idXR0b24tcGFkZGluZy15LCAwICk7XG4gICAgICAgIGJvcmRlci13aWR0aDogMDtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogMDtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiBpbmhlcml0O1xuICAgICAgICBmbGV4OiBub25lO1xuICAgICAgICBhc3BlY3QtcmF0aW86IGF1dG87XG4gICAgICAgIGJveC1zaGFkb3c6IG5vbmU7XG5cbiAgICAgICAgPiAuay1idXR0b24taWNvbiB7XG4gICAgICAgICAgICBtaW4td2lkdGg6IGF1dG8gIWltcG9ydGFudDsgLy8gc3R5bGVsaW50LWRpc2FibGUtbGluZSBkZWNsYXJhdGlvbi1uby1pbXBvcnRhbnRcbiAgICAgICAgICAgIC8vIG1pbi1oZWlnaHQ6IGF1dG8gIWltcG9ydGFudDsgLy8gc3R5bGVsaW50LWRpc2FibGUtbGluZSBkZWNsYXJhdGlvbi1uby1pbXBvcnRhbnRcbiAgICAgICAgfVxuXG4gICAgICAgICY6Zm9jdXM6OmFmdGVyIHtcbiAgICAgICAgICAgIG91dGxpbmU6IG5vbmU7XG4gICAgICAgIH1cbiAgICB9XG4gICAgLmstaW5wdXQtb3V0bGluZSAuay1pbnB1dC1idXR0b24ge1xuICAgICAgICBib3JkZXItaW5saW5lLXN0YXJ0LXdpZHRoOiB2YXIoIC0ta2VuZG8taW5wdXQtYnV0dG9uLWJvcmRlci13aWR0aCwgMXB4ICk7XG4gICAgfVxuICAgIC5rLXBpY2tlciAuay1pbnB1dC1idXR0b24ge1xuICAgICAgICBjb2xvcjogaW5oZXJpdDtcbiAgICAgICAgYmFja2dyb3VuZDogbm9uZTtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICB9XG5cblxuICAgIC8vIElucHV0IHNwaW5uZXJcbiAgICAuay1pbnB1dC1zcGlubmVyIHtcbiAgICAgICAgZmxleDogbm9uZTtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgZmxleC1mbG93OiBjb2x1bW4gbm93cmFwO1xuXG4gICAgICAgIC5rLXNwaW5uZXItaW5jcmVhc2UsXG4gICAgICAgIC5rLXNwaW5uZXItZGVjcmVhc2Uge1xuICAgICAgICAgICAgcGFkZGluZy1pbmxpbmU6IHZhciggLS1JTlRFUk5BTC0ta2VuZG8taW5wdXQtYnV0dG9uLXBhZGRpbmcteCwgMCApO1xuICAgICAgICAgICAgcGFkZGluZy1ibG9jazogdmFyKCAtLUlOVEVSTkFMLS1rZW5kby1pbnB1dC1idXR0b24tcGFkZGluZy15LCAwICk7XG4gICAgICAgICAgICBib3JkZXItd2lkdGg6IDA7XG4gICAgICAgICAgICBib3JkZXItaW5saW5lLXN0YXJ0LXdpZHRoOiB2YXIoIC0ta2VuZG8taW5wdXQtYnV0dG9uLWJvcmRlci13aWR0aCwgMXB4ICk7XG4gICAgICAgICAgICBib3JkZXItcmFkaXVzOiAwO1xuICAgICAgICAgICAgYm9yZGVyLWNvbG9yOiB2YXIoIC0tSU5URVJOQUwtLWtlbmRvLWlucHV0LWJvcmRlciwgaW5oZXJpdCApO1xuICAgICAgICAgICAgZmxleDogMSAxIDUwJTtcbiAgICAgICAgICAgIGJveC1zaGFkb3c6IG5vbmU7XG4gICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgICAgICBhc3BlY3QtcmF0aW86IGF1dG87XG5cbiAgICAgICAgICAgIC5rLWJ1dHRvbi1pY29uIHtcbiAgICAgICAgICAgICAgICBtYXJnaW4tYmxvY2s6IC0xZW07XG4gICAgICAgICAgICAgICAgbWFyZ2luLWlubGluZTogMDtcbiAgICAgICAgICAgICAgICBtaW4td2lkdGg6IGF1dG8gIWltcG9ydGFudDsgLy8gc3R5bGVsaW50LWRpc2FibGUtbGluZSBkZWNsYXJhdGlvbi1uby1pbXBvcnRhbnRcbiAgICAgICAgICAgICAgICBtaW4taGVpZ2h0OiBhdXRvICFpbXBvcnRhbnQ7IC8vIHN0eWxlbGludC1kaXNhYmxlLWxpbmUgZGVjbGFyYXRpb24tbm8taW1wb3J0YW50XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgLmstc3Bpbm5lci1pbmNyZWFzZSAuay1pY29uICB7XG4gICAgICAgICAgICBib3R0b206IGlmKCAka2VuZG8tdXNlLWlucHV0LXNwaW5uZXItaWNvbi1vZmZzZXQsIGNhbGMoIC0xICogI3ska2VuZG8taW5wdXQtc3Bpbm5lci1pY29uLW9mZnNldH0gKSwgYXV0byApO1xuICAgICAgICB9XG5cbiAgICAgICAgLmstc3Bpbm5lci1kZWNyZWFzZSAuay1pY29uICB7XG4gICAgICAgICAgIHRvcDogaWYoICRrZW5kby11c2UtaW5wdXQtc3Bpbm5lci1pY29uLW9mZnNldCwgY2FsYyggLTEgKiAjeyRrZW5kby1pbnB1dC1zcGlubmVyLWljb24tb2Zmc2V0fSApLCBhdXRvICk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBTZWFyY2hiYXJcbiAgICAuay1zZWFyY2hiYXIge1xuICAgICAgICBmbGV4OiAxIDEgYXV0bztcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgZmxleC1mbG93OiByb3cgbm93cmFwO1xuICAgIH1cblxuICAgIC8vIExlZ2FjeSB3cmFwcGVyc1xuICAgIC5rLXBpY2tlci13cmFwLFxuICAgIC5rLWRyb3Bkb3duLXdyYXAsXG4gICAgLmstZGF0ZWlucHV0LXdyYXAsXG4gICAgLmstbXVsdGlzZWxlY3Qtd3JhcCxcbiAgICAuay1udW1lcmljLXdyYXAge1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgYm9yZGVyLXdpZHRoOiAwO1xuICAgICAgICBib3JkZXItY29sb3I6IGluaGVyaXQ7XG4gICAgICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgICAgIGZsZXg6IDEgMSBhdXRvO1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBmbGV4LWZsb3c6IHJvdyBub3dyYXA7XG4gICAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB9XG5cbiAgICAvLyBGaWxsIG1vZGVcbiAgICAuay1pbnB1dC1mbGF0LFxuICAgIC5rLXBpY2tlci1mbGF0IHtcbiAgICAgICAgQGluY2x1ZGUgYm9yZGVyLWJvdHRvbS1yYWRpdXMoIDAgIWltcG9ydGFudCApOyAvLyBzdHlsZWxpbnQtZGlzYWJsZS1saW5lIGRlY2xhcmF0aW9uLW5vLWltcG9ydGFudFxuICAgICAgICBib3JkZXItd2lkdGg6IHZhciggLS1rZW5kby1pbnB1dC1ib3JkZXItd2lkdGgsICN7JGtlbmRvLWlucHV0LWJvcmRlci13aWR0aH0gKSAwO1xuICAgICAgICBib3JkZXItdG9wLWNvbG9yOiB0cmFuc3BhcmVudCAhaW1wb3J0YW50OyAvLyBzdHlsZWxpbnQtZGlzYWJsZS1saW5lIGRlY2xhcmF0aW9uLW5vLWltcG9ydGFudFxuXG4gICAgICAgICY6Zm9jdXMsXG4gICAgICAgICYuay1mb2N1cyxcbiAgICAgICAgJjpmb2N1cy13aXRoaW4ge1xuXG4gICAgICAgICAgICAmOjphZnRlciB7XG4gICAgICAgICAgICAgICAgYm9yZGVyLXdpZHRoOiAwIDAgdmFyKCAtLWtlbmRvLWlucHV0LWZvY3VzLWJvcmRlci13aWR0aCwgI3ska2VuZG8taW5wdXQtZm9jdXMtYm9yZGVyLXdpZHRofSApIDA7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgfVxuXG4gICAgICAgICYuay1pbnZhbGlkLFxuICAgICAgICAmLm5nLWludmFsaWQubmctdG91Y2hlZCxcbiAgICAgICAgJi5uZy1pbnZhbGlkLm5nLWRpcnR5IHtcblxuICAgICAgICAgICAgJjpmb2N1cyxcbiAgICAgICAgICAgICYuay1mb2N1cyxcbiAgICAgICAgICAgICY6Zm9jdXMtd2l0aGluIHtcblxuICAgICAgICAgICAgICAgICY6OmFmdGVyIHtcbiAgICAgICAgICAgICAgICAgICAgYm9yZGVyLXdpZHRoOiAwIDAgdmFyKCAtLWtlbmRvLWlucHV0LWZvY3VzLWJvcmRlci13aWR0aCwgI3ska2VuZG8taW5wdXQtZm9jdXMtYm9yZGVyLXdpZHRofSApIDA7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgLmstaW5wdXQtZmxhdCxcbiAgICAuay1pbnB1dC1vdXRsaW5lIHtcbiAgICAgICAgYmFja2dyb3VuZDogbm9uZSAhaW1wb3J0YW50OyAvLyBzdHlsZWxpbnQtZGlzYWJsZS1saW5lIGRlY2xhcmF0aW9uLW5vLWltcG9ydGFudFxuICAgIH1cblxuICAgIC8vIFNpemluZ1xuICAgIEBlYWNoICRzaXplLCAkc2l6ZS1wcm9wcyBpbiAka2VuZG8taW5wdXQtc2l6ZXMge1xuICAgICAgICAkX3BhZGRpbmcteDogbWFwLmdldCggJHNpemUtcHJvcHMsIHBhZGRpbmcteCApO1xuICAgICAgICAkX3BhZGRpbmcteTogbWFwLmdldCggJHNpemUtcHJvcHMsIHBhZGRpbmcteSApO1xuICAgICAgICAkX2ZvbnQtc2l6ZTogbWFwLmdldCggJHNpemUtcHJvcHMsIGZvbnQtc2l6ZSApO1xuICAgICAgICAkX2xpbmUtaGVpZ2h0OiBtYXAuZ2V0KCAkc2l6ZS1wcm9wcywgbGluZS1oZWlnaHQgKTtcbiAgICAgICAgJF9pY29uLXNpemU6IG1hcC5nZXQoICRzaXplLXByb3BzLCBpY29uLXNpemUgKTtcbiAgICAgICAgJF9idXR0b24tcGFkZGluZy14OiBtYXAuZ2V0KCAkc2l6ZS1wcm9wcywgYnV0dG9uLXBhZGRpbmcteCApO1xuICAgICAgICAkX2J1dHRvbi1wYWRkaW5nLXk6IG1hcC5nZXQoICRzaXplLXByb3BzLCBidXR0b24tcGFkZGluZy15ICk7XG4gICAgICAgICRfYnV0dG9uLXdpZHRoOiBtYXAuZ2V0KCAkc2l6ZS1wcm9wcywgYnV0dG9uLXdpZHRoICk7XG5cbiAgICAgICAgLmstaW5wdXQtI3skc2l6ZX0sXG4gICAgICAgIC5rLXBpY2tlci0jeyRzaXplfSB7XG4gICAgICAgICAgICAtLUlOVEVSTkFMLS1rZW5kby1pbnB1dC1mb250LXNpemU6ICN7JF9mb250LXNpemV9O1xuICAgICAgICAgICAgLS1JTlRFUk5BTC0ta2VuZG8taW5wdXQtbGluZS1oZWlnaHQ6ICN7JF9saW5lLWhlaWdodH07XG4gICAgICAgICAgICAtLUlOVEVSTkFMLS1rZW5kby1pbnB1dC1wYWRkaW5nLXg6ICN7JF9wYWRkaW5nLXh9O1xuICAgICAgICAgICAgLS1JTlRFUk5BTC0ta2VuZG8taW5wdXQtcGFkZGluZy15OiAjeyRfcGFkZGluZy15fTtcbiAgICAgICAgICAgIC0tSU5URVJOQUwtLWtlbmRvLWlucHV0LWJ1dHRvbi1wYWRkaW5nLXg6ICN7JF9idXR0b24tcGFkZGluZy14fTtcbiAgICAgICAgICAgIC0tSU5URVJOQUwtLWtlbmRvLWlucHV0LWJ1dHRvbi1wYWRkaW5nLXk6ICN7JF9idXR0b24tcGFkZGluZy15fTtcbiAgICAgICAgICAgIC0tSU5URVJOQUwtLWtlbmRvLWlucHV0LWljb24tc2l6ZTogI3skX2ljb24tc2l6ZX07XG5cbiAgICAgICAgICAgIC5rLWlucHV0LWJ1dHRvbiB7XG4gICAgICAgICAgICAgICAgd2lkdGg6IGlmKCAka2VuZG8tdXNlLWlucHV0LWJ1dHRvbi13aWR0aCwgdmFyKCAtLWtlbmRvLWlucHV0LWJ1dHRvbi13aWR0aCwgI3skX2J1dHRvbi13aWR0aH0gKSwgYXV0byApO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAuay1pbnB1dC1zcGlubmVyIHtcbiAgICAgICAgICAgICAgICB3aWR0aDogaWYoICRrZW5kby11c2UtaW5wdXQtc3Bpbm5lci13aWR0aCwgdmFyKCAtLWtlbmRvLWlucHV0LXNwaW5uZXItd2lkdGgsICN7JF9idXR0b24td2lkdGh9ICksIGF1dG8gKTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgJi5rLWljb24tcGlja2VyID4gLmstaW5wdXQtaW5uZXIge1xuICAgICAgICAgICAgICAgIHdpZHRoOiB2YXIoIC0ta2VuZG8taW5wdXQtaWNvbi1waWNrZXItd2lkdGgsICN7JF9idXR0b24td2lkdGh9ICk7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC5rLWlucHV0LXByZWZpeCA+IC5rLWljb24sXG4gICAgICAgICAgICAuay1pbnB1dC1wcmVmaXggPiAuay1pbnB1dC1wcmVmaXgtdGV4dCxcbiAgICAgICAgICAgIC5rLWlucHV0LXN1ZmZpeCA+IC5rLWljb24sXG4gICAgICAgICAgICAuay1pbnB1dC1zdWZmaXggPiAuay1pbnB1dC1zdWZmaXgtdGV4dCB7XG4gICAgICAgICAgICAgICAgcGFkZGluZy1ibG9jazogJF9wYWRkaW5nLXk7XG4gICAgICAgICAgICAgICAgcGFkZGluZy1pbmxpbmU6ICRfcGFkZGluZy15O1xuICAgICAgICAgICAgICAgIGJveC1zaXppbmc6IGNvbnRlbnQtYm94O1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAuay1pbnB1dC1zZXBhcmF0b3Ige1xuICAgICAgICAgICAgICAgICYtaG9yaXpvbnRhbCB7XG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbi1pbmxpbmU6ICRfcGFkZGluZy15O1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICYtdmVydGljYWwge1xuICAgICAgICAgICAgICAgICAgICBtYXJnaW4tYmxvY2s6ICRfcGFkZGluZy15O1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8vIEFuZ3VsYXIgc3BlY2lmaWNcbiAgICAuay1pbnB1dCA+IGtlbmRvLXBvcHVwLFxuICAgIC5rLXBpY2tlciA+IGtlbmRvLXBvcHVwIHtcbiAgICAgICAgcG9zaXRpb246IGZpeGVkO1xuICAgIH1cblxuICAgIC8vIFRoaXMgaXMgbmVlZGVkIGZvciB0aGUgdGV4dGJveCBjb250YWluZXIgdG8gY2FwdHVyZSBicm93c2VyIGF1dG9maWxsXG4gICAgQGtleWZyYW1lcyBhdXRvRmlsbFN0YXJ0IHsgLy8gc3R5bGVsaW50LWRpc2FibGUtbGluZVxuICAgICAgICBmcm9tIHt9XG4gICAgICAgIHRvIHt9XG4gICAgfVxuICAgIEBrZXlmcmFtZXMgYXV0b0ZpbGxFbmQgeyAvLyBzdHlsZWxpbnQtZGlzYWJsZS1saW5lXG4gICAgICAgIGZyb20ge31cbiAgICAgICAgdG8ge31cbiAgICB9XG5cbiAgICAvLyBHZW5lcmljIGNsYXNzIGZvciBhdXRvZmlsbCBhbmltYXRpb25zXG4gICAgLmstYXV0b2ZpbGw6LXdlYmtpdC1hdXRvZmlsbCB7XG4gICAgICAgIGFuaW1hdGlvbi1uYW1lOiBhdXRvRmlsbFN0YXJ0O1xuICAgIH1cbiAgICAuay1hdXRvZmlsbDpub3QoOi13ZWJraXQtYXV0b2ZpbGwpIHtcbiAgICAgICAgYW5pbWF0aW9uLW5hbWU6IGF1dG9GaWxsRW5kO1xuICAgIH1cblxuXG4gICAgLmstaW5wdXQ6LXdlYmtpdC1hdXRvZmlsbCB7XG4gICAgICAgIGFuaW1hdGlvbi1uYW1lOiBhdXRvRmlsbFN0YXJ0O1xuICAgIH1cbiAgICAuay1pbnB1dDpub3QoOi13ZWJraXQtYXV0b2ZpbGwpIHtcbiAgICAgICAgYW5pbWF0aW9uLW5hbWU6IGF1dG9GaWxsRW5kO1xuICAgIH1cbn1cbiIsIkB1c2UgXCJzYXNzOm1hcFwiO1xuQHVzZSBcIi4uL2NvcmUvX2luZGV4LnNjc3NcIiBhcyAqO1xuQHVzZSBcIi4uL2J1dHRvbi9fdmFyaWFibGVzLnNjc3NcImFzICo7XG5cbi8vLyBUaGUgd2lkdGggb2YgdGhlIElucHV0IGNvbXBvbmVudHMuXG4vLy8gQGdyb3VwIGlucHV0XG4ka2VuZG8taW5wdXQtd2lkdGg6IDEwMCUgIWRlZmF1bHQ7XG5cbi8vLyBUaGUgd2lkdGggb2YgdGhlIGJvcmRlciBhcm91bmQgdGhlIElucHV0IGNvbXBvbmVudHMuXG4vLy8gQGdyb3VwIGlucHV0XG4ka2VuZG8taW5wdXQtYm9yZGVyLXdpZHRoOiAxcHggIWRlZmF1bHQ7XG5cbi8vIFRoZSB3aWR0aCBvZiB0aGUgYm9yZGVyIGFyb3VuZCB0aGUgZm9jdXNlZCBJbnB1dCBjb21wb25lbnRzLlxuJGtlbmRvLWlucHV0LWZvY3VzLWJvcmRlci13aWR0aDogMnB4ICFkZWZhdWx0O1xuXG4vLy8gVGhlIGhlaWdodCBvZiB0aGUgYm9yZGVyIGFyb3VuZCB0aGUgSW5wdXQgY29tcG9uZW50cy5cbi8vLyBAZ3JvdXAgaW5wdXRcbiRrZW5kby1pbnB1dC1ib3JkZXItaGVpZ2h0OiAoICRrZW5kby1pbnB1dC1ib3JkZXItd2lkdGggKiAyICkgIWRlZmF1bHQ7XG5cbi8vLyBUaGUgaG9yaXpvbnRhbCBwYWRkaW5nIG9mIHRoZSBzbWFsbCBJbnB1dCBjb21wb25lbnRzLlxuLy8vIEBncm91cCBpbnB1dFxuJGtlbmRvLWlucHV0LXNtLXBhZGRpbmcteDogay1zcGFjaW5nKDIpICFkZWZhdWx0O1xuLy8vIFRoZSBob3Jpem9udGFsIHBhZGRpbmcgb2YgdGhlIG1lZGl1bSBJbnB1dCBjb21wb25lbnRzLlxuLy8vIEBncm91cCBpbnB1dFxuJGtlbmRvLWlucHV0LW1kLXBhZGRpbmcteDogay1zcGFjaW5nKDIpICFkZWZhdWx0O1xuLy8vIFRoZSBob3Jpem9udGFsIHBhZGRpbmcgb2YgdGhlIGxhcmdlIElucHV0IGNvbXBvbmVudHMuXG4vLy8gQGdyb3VwIGlucHV0XG4ka2VuZG8taW5wdXQtbGctcGFkZGluZy14OiBrLXNwYWNpbmcoMikgIWRlZmF1bHQ7XG5cbi8vLyBUaGUgdmVydGljYWwgcGFkZGluZyBvZiB0aGUgc21hbGwgSW5wdXQgY29tcG9uZW50cy5cbi8vLyBAZ3JvdXAgaW5wdXRcbiRrZW5kby1pbnB1dC1zbS1wYWRkaW5nLXk6IGstc3BhY2luZygxKSAhZGVmYXVsdDtcbi8vLyBUaGUgdmVydGljYWwgcGFkZGluZyBvZiB0aGUgbWVkaXVtIElucHV0IGNvbXBvbmVudHMuXG4vLy8gQGdyb3VwIGlucHV0XG4ka2VuZG8taW5wdXQtbWQtcGFkZGluZy15OiBrLXNwYWNpbmcoMS41KSAhZGVmYXVsdDtcbi8vLyBUaGUgdmVydGljYWwgcGFkZGluZyBvZiB0aGUgbGFyZ2UgSW5wdXQgY29tcG9uZW50cy5cbi8vLyBAZ3JvdXAgaW5wdXRcbiRrZW5kby1pbnB1dC1sZy1wYWRkaW5nLXk6IGstc3BhY2luZygyKSAhZGVmYXVsdDtcblxuLy8vIFRoZSBmb250IHNpemUgb2YgdGhlIHNtYWxsIElucHV0IGNvbXBvbmVudHMuXG4vLy8gQGdyb3VwIGlucHV0XG4ka2VuZG8taW5wdXQtc20tZm9udC1zaXplOiB2YXIoIC0ta2VuZG8tZm9udC1zaXplLCBpbmhlcml0ICkgIWRlZmF1bHQ7XG4vLy8gVGhlIGZvbnQgc2l6ZSBvZiB0aGUgbWVkaXVtIElucHV0IGNvbXBvbmVudHMuXG4vLy8gQGdyb3VwIGlucHV0XG4ka2VuZG8taW5wdXQtbWQtZm9udC1zaXplOiB2YXIoIC0ta2VuZG8tZm9udC1zaXplLCBpbmhlcml0ICkgIWRlZmF1bHQ7XG4vLy8gVGhlIGZvbnQgc2l6ZSBvZiB0aGUgbGFyZ2UgSW5wdXQgY29tcG9uZW50cy5cbi8vLyBAZ3JvdXAgaW5wdXRcbiRrZW5kby1pbnB1dC1sZy1mb250LXNpemU6IHZhciggLS1rZW5kby1mb250LXNpemUsIGluaGVyaXQgKSAhZGVmYXVsdDtcblxuLy8vIFRoZSBsaW5lIGhlaWdodCBvZiB0aGUgc21hbGwgSW5wdXQgY29tcG9uZW50cy5cbi8vLyBAZ3JvdXAgaW5wdXRcbiRrZW5kby1pbnB1dC1zbS1saW5lLWhlaWdodDogdmFyKCAtLWtlbmRvLWxpbmUtaGVpZ2h0LCBub3JtYWwgKSAhZGVmYXVsdDtcbi8vLyBUaGUgbGluZSBoZWlnaHQgb2YgdGhlIG1lZGl1bSBJbnB1dCBjb21wb25lbnRzLlxuLy8vIEBncm91cCBpbnB1dFxuJGtlbmRvLWlucHV0LW1kLWxpbmUtaGVpZ2h0OiB2YXIoIC0ta2VuZG8tbGluZS1oZWlnaHQsIG5vcm1hbCApICFkZWZhdWx0O1xuLy8vIFRoZSBsaW5lIGhlaWdodCBvZiB0aGUgbGFyZ2UgSW5wdXQgY29tcG9uZW50cy5cbi8vLyBAZ3JvdXAgaW5wdXRcbiRrZW5kby1pbnB1dC1sZy1saW5lLWhlaWdodDogdmFyKCAtLWtlbmRvLWxpbmUtaGVpZ2h0LCBub3JtYWwgKSAhZGVmYXVsdDtcblxuLy8gVGhlIGZvbnQgZmFtaWx5IG9mIHRoZSBJbnB1dCBjb21wb25lbnRzLlxuJGtlbmRvLWlucHV0LWZvbnQtZmFtaWx5OiB2YXIoIC0ta2VuZG8tZm9udC1mYW1pbHksIGluaGVyaXQpICFkZWZhdWx0O1xuXG4vLyBUaGUgZm9udCB3ZWlnaHQgb2YgdGhlIElucHV0IGNvbXBvbmVudHMuXG4ka2VuZG8taW5wdXQtZm9udC13ZWlnaHQ6IHZhciggLS1rZW5kby1mb250LXdlaWdodCwgbm9ybWFsICkgIWRlZmF1bHQ7XG5cbi8vLyBUaGUgd2lkdGggb2YgdGhlIHNtYWxsIElucHV0IGJ1dHRvbi5cbi8vLyBAZ3JvdXAgaW5wdXRcbiRrZW5kby1pbnB1dC1zbS1idXR0b24td2lkdGg6IGNhbGMoICN7JGtlbmRvLWJ1dHRvbi1zbS1saW5lLWhlaWdodH0gKiAxZW0gKyAjeyRrZW5kby1idXR0b24tc20tcGFkZGluZy15fSAqIDIgKSAhZGVmYXVsdDtcbi8vLyBUaGUgd2lkdGggb2YgdGhlIG1lZGl1bSBJbnB1dCBidXR0b24uXG4vLy8gQGdyb3VwIGlucHV0XG4ka2VuZG8taW5wdXQtbWQtYnV0dG9uLXdpZHRoOiBjYWxjKCAjeyRrZW5kby1idXR0b24tbWQtbGluZS1oZWlnaHR9ICogMWVtICsgI3ska2VuZG8tYnV0dG9uLW1kLXBhZGRpbmcteX0gKiAyICkgIWRlZmF1bHQ7XG4vLy8gVGhlIHdpZHRoIG9mIHRoZSBsYXJnZSBJbnB1dCBidXR0b24uXG4vLy8gQGdyb3VwIGlucHV0XG4ka2VuZG8taW5wdXQtbGctYnV0dG9uLXdpZHRoOiBjYWxjKCAjeyRrZW5kby1idXR0b24tbGctbGluZS1oZWlnaHR9ICogMWVtICsgI3ska2VuZG8tYnV0dG9uLWxnLXBhZGRpbmcteX0gKiAyICkgIWRlZmF1bHQ7XG4vLy8gVGhlIGJvcmRlciB3aWR0aCBvZiB0aGUgSW5wdXQgYnV0dG9uLlxuLy8vIEBncm91cCBpbnB1dFxuJGtlbmRvLWlucHV0LWJ1dHRvbi1ib3JkZXItd2lkdGg6IDFweCAhZGVmYXVsdDtcblxuLy8vIFRoZSB3aWR0aCBvZiB0aGUgc21hbGwgSW5wdXQgc3Bpbm5lciBidXR0b24uXG4vLy8gQGdyb3VwIGlucHV0XG4ka2VuZG8taW5wdXQtc20tc3Bpbm5lci13aWR0aDogJGtlbmRvLWlucHV0LXNtLWJ1dHRvbi13aWR0aCAhZGVmYXVsdDtcbi8vLyBUaGUgd2lkdGggb2YgdGhlIG1lZGl1bSBJbnB1dCBzcGlubmVyIGJ1dHRvbi5cbi8vLyBAZ3JvdXAgaW5wdXRcbiRrZW5kby1pbnB1dC1tZC1zcGlubmVyLXdpZHRoOiAka2VuZG8taW5wdXQtbWQtYnV0dG9uLXdpZHRoICFkZWZhdWx0O1xuLy8vIFRoZSB3aWR0aCBvZiB0aGUgbGFyZ2UgSW5wdXQgc3Bpbm5lciBidXR0b24uXG4vLy8gQGdyb3VwIGlucHV0XG4ka2VuZG8taW5wdXQtbGctc3Bpbm5lci13aWR0aDogJGtlbmRvLWlucHV0LWxnLWJ1dHRvbi13aWR0aCAhZGVmYXVsdDtcbi8vLyBUaGUgaWNvbiBvZmZzZXQgb2YgdGhlIElucHV0IHNwaW5uZXIgYnV0dG9uLlxuLy8vIEBncm91cCBpbnB1dFxuJGtlbmRvLWlucHV0LXNwaW5uZXItaWNvbi1vZmZzZXQ6IG51bGwgIWRlZmF1bHQ7XG5cbi8vLyBUaGUgdGV4dCBjb2xvciBvZiB0aGUgc29saWQgSW5wdXQgY29tcG9uZW50cy5cbi8vLyBAZ3JvdXAgaW5wdXRcbiRrZW5kby1pbnB1dC1zb2xpZC10ZXh0OiBpZigka2VuZG8tZW5hYmxlLWNvbG9yLXN5c3RlbSwgay1jb2xvciggb24tYXBwLXN1cmZhY2UgKSwgay1nZXQtdGhlbWUtY29sb3ItdmFyKCBuZXV0cmFsLTE2MCApKSAhZGVmYXVsdDtcblxuLy8vIFRoZSBiYWNrZ3JvdW5kIGNvbG9yIG9mIHRoZSBzb2xpZCBJbnB1dCBjb21wb25lbnRzLlxuLy8vIEBncm91cCBpbnB1dFxuJGtlbmRvLWlucHV0LXNvbGlkLWJnOiBpZigka2VuZG8tZW5hYmxlLWNvbG9yLXN5c3RlbSwgay1jb2xvciggYXBwLXN1cmZhY2UgKSwgJGtlbmRvLWNvbG9yLXdoaXRlKSAhZGVmYXVsdDtcblxuLy8vIFRoZSBib3JkZXIgY29sb3Igb2YgdGhlIHNvbGlkIElucHV0IGNvbXBvbmVudHMuXG4vLy8gQGdyb3VwIGlucHV0XG4ka2VuZG8taW5wdXQtc29saWQtYm9yZGVyOiBpZigka2VuZG8tZW5hYmxlLWNvbG9yLXN5c3RlbSwgay1jb2xvciggYm9yZGVyICksIGstZ2V0LXRoZW1lLWNvbG9yLXZhciggbmV1dHJhbC0xMzAgKSkgIWRlZmF1bHQ7XG5cbi8vLyBUaGUgdGV4dCBjb2xvciBvZiB0aGUgaG92ZXJlZCBzb2xpZCBJbnB1dCBjb21wb25lbnRzLlxuLy8vIEBncm91cCBpbnB1dFxuJGtlbmRvLWlucHV0LXNvbGlkLWhvdmVyLXRleHQ6IGlmKCRrZW5kby1lbmFibGUtY29sb3Itc3lzdGVtLCBrLWNvbG9yKCBvbi1hcHAtc3VyZmFjZSApLCBrLWdldC10aGVtZS1jb2xvci12YXIoIG5ldXRyYWwtMTkwICkpICFkZWZhdWx0O1xuXG4vLy8gVGhlIGJhY2tncm91bmQgY29sb3Igb2YgdGhlIGhvdmVyZWQgc29saWQgSW5wdXQgY29tcG9uZW50cy5cbi8vLyBAZ3JvdXAgaW5wdXRcbiRrZW5kby1pbnB1dC1zb2xpZC1ob3Zlci1iZzogJGtlbmRvLWlucHV0LXNvbGlkLWJnICFkZWZhdWx0O1xuXG4vLy8gVGhlIGJvcmRlciBjb2xvciBvZiB0aGUgaG92ZXJlZCBzb2xpZCBJbnB1dCBjb21wb25lbnRzLlxuLy8vIEBncm91cCBpbnB1dFxuJGtlbmRvLWlucHV0LXNvbGlkLWhvdmVyLWJvcmRlcjogaWYoJGtlbmRvLWVuYWJsZS1jb2xvci1zeXN0ZW0sIGstY29sb3IoIGJvcmRlci1hbHQgKSwgay1nZXQtdGhlbWUtY29sb3ItdmFyKCBuZXV0cmFsLTE2MCApKSAhZGVmYXVsdDtcblxuLy8vIFRoZSB0ZXh0IGNvbG9yIG9mIHRoZSBmb2N1c2VkIHNvbGlkIElucHV0IGNvbXBvbmVudHMuXG4vLy8gQGdyb3VwIGlucHV0XG4ka2VuZG8taW5wdXQtc29saWQtZm9jdXMtdGV4dDogJGtlbmRvLWlucHV0LXNvbGlkLXRleHQgIWRlZmF1bHQ7XG5cbi8vLyBUaGUgYmFja2dyb3VuZCBjb2xvciBvZiB0aGUgZm9jdXNlZCBzb2xpZCBJbnB1dCBjb21wb25lbnRzLlxuLy8vIEBncm91cCBpbnB1dFxuJGtlbmRvLWlucHV0LXNvbGlkLWZvY3VzLWJnOiAka2VuZG8taW5wdXQtc29saWQtYmcgIWRlZmF1bHQ7XG5cbi8vLyBUaGUgYm9yZGVyIGNvbG9yIG9mIHRoZSBmb2N1c2VkIHNvbGlkIElucHV0IGNvbXBvbmVudHMuXG4vLy8gQGdyb3VwIGlucHV0XG4ka2VuZG8taW5wdXQtc29saWQtZm9jdXMtYm9yZGVyOiBpZigka2VuZG8tZW5hYmxlLWNvbG9yLXN5c3RlbSwgay1jb2xvciggcHJpbWFyeSApLCBrLWdldC10aGVtZS1jb2xvci12YXIoIHByaW1hcnktMTAwICkpICFkZWZhdWx0O1xuXG4vLy8gVGhlIHRleHQgY29sb3Igb2YgdGhlIGhvdmVyZWQgYW5kIGZvY3VzZWQgc29saWQgSW5wdXQgY29tcG9uZW50cy5cbi8vLyBAZ3JvdXAgaW5wdXRcbiRrZW5kby1pbnB1dC1zb2xpZC1ob3Zlci1mb2N1cy10ZXh0OiAka2VuZG8taW5wdXQtc29saWQtZm9jdXMtdGV4dCAhZGVmYXVsdDtcblxuLy8vIFRoZSBiYWNrZ3JvdW5kIGNvbG9yIG9mIHRoZSBob3ZlcmVkIGFuZCBmb2N1c2VkIHNvbGlkIElucHV0IGNvbXBvbmVudHMuXG4vLy8gQGdyb3VwIGlucHV0XG4ka2VuZG8taW5wdXQtc29saWQtaG92ZXItZm9jdXMtYmc6ICRrZW5kby1pbnB1dC1zb2xpZC1mb2N1cy1iZyAhZGVmYXVsdDtcblxuLy8vIFRoZSBib3JkZXIgY29sb3Igb2YgdGhlIGhvdmVyZWQgYW5kIGZvY3VzZWQgc29saWQgSW5wdXQgY29tcG9uZW50cy5cbi8vLyBAZ3JvdXAgaW5wdXRcbiRrZW5kby1pbnB1dC1zb2xpZC1ob3Zlci1mb2N1cy1ib3JkZXI6ICRrZW5kby1pbnB1dC1zb2xpZC1mb2N1cy1ib3JkZXIgIWRlZmF1bHQ7XG5cbi8vLyBUaGUgdGV4dCBjb2xvciBvZiB0aGUgZGlzYWJsZWQgc29saWQgSW5wdXQgY29tcG9uZW50cy5cbi8vLyBAZ3JvdXAgaW5wdXRcbiRrZW5kby1pbnB1dC1zb2xpZC1kaXNhYmxlZC10ZXh0OiAka2VuZG8tZGlzYWJsZWQtdGV4dCAhZGVmYXVsdDtcblxuLy8vIFRoZSBiYWNrZ3JvdW5kIGNvbG9yIG9mIHRoZSBkaXNhYmxlZCBzb2xpZCBJbnB1dCBjb21wb25lbnRzLlxuLy8vIEBncm91cCBpbnB1dFxuJGtlbmRvLWlucHV0LXNvbGlkLWRpc2FibGVkLWJnOiAka2VuZG8tZGlzYWJsZWQtYmcgIWRlZmF1bHQ7XG5cbi8vLyBUaGUgYm9yZGVyIGNvbG9yIG9mIHRoZSBkaXNhYmxlZCBzb2xpZCBJbnB1dCBjb21wb25lbnRzLlxuLy8vIEBncm91cCBpbnB1dFxuJGtlbmRvLWlucHV0LXNvbGlkLWRpc2FibGVkLWJvcmRlcjogJGtlbmRvLWRpc2FibGVkLWJvcmRlciAhZGVmYXVsdDtcblxuLy8vIFRoZSB0ZXh0IGNvbG9yIG9mIHRoZSBvdXRsaW5lIElucHV0IGNvbXBvbmVudHMuXG4vLy8gQGdyb3VwIGlucHV0XG4ka2VuZG8taW5wdXQtb3V0bGluZS10ZXh0OiBpZigka2VuZG8tZW5hYmxlLWNvbG9yLXN5c3RlbSwgay1jb2xvciggb24tYXBwLXN1cmZhY2UgKSwgay1nZXQtdGhlbWUtY29sb3ItdmFyKCBuZXV0cmFsLTE2MCApKSAhZGVmYXVsdDtcblxuLy8vIFRoZSBiYWNrZ3JvdW5kIGNvbG9yIG9mIHRoZSBvdXRsaW5lIElucHV0IGNvbXBvbmVudHMuXG4vLy8gQGdyb3VwIGlucHV0XG4ka2VuZG8taW5wdXQtb3V0bGluZS1iZzogaWYoJGtlbmRvLWVuYWJsZS1jb2xvci1zeXN0ZW0sIGstY29sb3IoIGFwcC1zdXJmYWNlICksICRrZW5kby1jb2xvci13aGl0ZSkgIWRlZmF1bHQ7XG5cbi8vLyBUaGUgYm9yZGVyIGNvbG9yIG9mIHRoZSBvdXRsaW5lIElucHV0IGNvbXBvbmVudHMuXG4vLy8gQGdyb3VwIGlucHV0XG4ka2VuZG8taW5wdXQtb3V0bGluZS1ib3JkZXI6IGlmKCRrZW5kby1lbmFibGUtY29sb3Itc3lzdGVtLCBrLWNvbG9yKCBib3JkZXIgKSwgay1nZXQtdGhlbWUtY29sb3ItdmFyKCBuZXV0cmFsLTEzMCApKSAhZGVmYXVsdDtcblxuLy8vIFRoZSB0ZXh0IGNvbG9yIG9mIHRoZSBob3ZlcmVkIG91dGxpbmUgSW5wdXQgY29tcG9uZW50cy5cbi8vLyBAZ3JvdXAgaW5wdXRcbiRrZW5kby1pbnB1dC1vdXRsaW5lLWhvdmVyLXRleHQ6IGlmKCRrZW5kby1lbmFibGUtY29sb3Itc3lzdGVtLCBrLWNvbG9yKCBvbi1hcHAtc3VyZmFjZSApLCBrLWdldC10aGVtZS1jb2xvci12YXIoIG5ldXRyYWwtMTkwICkpICFkZWZhdWx0O1xuXG4vLy8gVGhlIGJhY2tncm91bmQgY29sb3Igb2YgdGhlIGhvdmVyZWQgb3V0bGluZSBJbnB1dCBjb21wb25lbnRzLlxuLy8vIEBncm91cCBpbnB1dFxuJGtlbmRvLWlucHV0LW91dGxpbmUtaG92ZXItYmc6IGlmKCRrZW5kby1lbmFibGUtY29sb3Itc3lzdGVtLCBrLWNvbG9yKCBhcHAtc3VyZmFjZSApLCAka2VuZG8tY29sb3Itd2hpdGUpICFkZWZhdWx0O1xuXG4vLy8gVGhlIGJvcmRlciBjb2xvciBvZiB0aGUgaG92ZXJlZCBvdXRsaW5lIElucHV0IGNvbXBvbmVudHMuXG4vLy8gQGdyb3VwIGlucHV0XG4ka2VuZG8taW5wdXQtb3V0bGluZS1ob3Zlci1ib3JkZXI6IGlmKCRrZW5kby1lbmFibGUtY29sb3Itc3lzdGVtLCBrLWNvbG9yKCBib3JkZXItYWx0ICksIGstZ2V0LXRoZW1lLWNvbG9yLXZhciggbmV1dHJhbC0xNjAgKSkgIWRlZmF1bHQ7XG5cbi8vLyBUaGUgdGV4dCBjb2xvciBvZiB0aGUgZm9jdXNlZCBvdXRsaW5lIElucHV0IGNvbXBvbmVudHMuXG4vLy8gQGdyb3VwIGlucHV0XG4ka2VuZG8taW5wdXQtb3V0bGluZS1mb2N1cy10ZXh0OiBpZigka2VuZG8tZW5hYmxlLWNvbG9yLXN5c3RlbSwgay1jb2xvciggb24tYXBwLXN1cmZhY2UgKSwgay1nZXQtdGhlbWUtY29sb3ItdmFyKCBuZXV0cmFsLTE2MCApKSAhZGVmYXVsdDtcblxuLy8vIFRoZSBiYWNrZ3JvdW5kIGNvbG9yIG9mIHRoZSBmb2N1c2VkIG91dGxpbmUgSW5wdXQgY29tcG9uZW50cy5cbi8vLyBAZ3JvdXAgaW5wdXRcbiRrZW5kby1pbnB1dC1vdXRsaW5lLWZvY3VzLWJnOiBpZigka2VuZG8tZW5hYmxlLWNvbG9yLXN5c3RlbSwgay1jb2xvciggYXBwLXN1cmZhY2UgKSwgJGtlbmRvLWNvbG9yLXdoaXRlKSAhZGVmYXVsdDtcblxuLy8vIFRoZSBib3JkZXIgY29sb3Igb2YgdGhlIGZvY3VzZWQgb3V0bGluZSBJbnB1dCBjb21wb25lbnRzLlxuLy8vIEBncm91cCBpbnB1dFxuJGtlbmRvLWlucHV0LW91dGxpbmUtZm9jdXMtYm9yZGVyOiBpZigka2VuZG8tZW5hYmxlLWNvbG9yLXN5c3RlbSwgay1jb2xvciggcHJpbWFyeSApLCBrLWdldC10aGVtZS1jb2xvci12YXIoIHByaW1hcnktMTAwICkpICFkZWZhdWx0O1xuXG4vLy8gVGhlIHRleHQgY29sb3Igb2YgdGhlIGhvdmVyZWQgYW5kIGZvY3VzZWQgb3V0bGluZSBJbnB1dCBjb21wb25lbnRzLlxuLy8vIEBncm91cCBpbnB1dFxuJGtlbmRvLWlucHV0LW91dGxpbmUtaG92ZXItZm9jdXMtdGV4dDogJGtlbmRvLWlucHV0LW91dGxpbmUtZm9jdXMtdGV4dCAhZGVmYXVsdDtcblxuLy8vIFRoZSBiYWNrZ3JvdW5kIGNvbG9yIG9mIHRoZSBob3ZlcmVkIGFuZCBmb2N1c2VkIG91dGxpbmUgSW5wdXQgY29tcG9uZW50cy5cbi8vLyBAZ3JvdXAgaW5wdXRcbiRrZW5kby1pbnB1dC1vdXRsaW5lLWhvdmVyLWZvY3VzLWJnOiAka2VuZG8taW5wdXQtb3V0bGluZS1mb2N1cy1iZyAhZGVmYXVsdDtcblxuLy8vIFRoZSBib3JkZXIgY29sb3Igb2YgdGhlIGhvdmVyZWQgYW5kIGZvY3VzZWQgb3V0bGluZSBJbnB1dCBjb21wb25lbnRzLlxuLy8vIEBncm91cCBpbnB1dFxuJGtlbmRvLWlucHV0LW91dGxpbmUtaG92ZXItZm9jdXMtYm9yZGVyOiAka2VuZG8taW5wdXQtb3V0bGluZS1mb2N1cy1ib3JkZXIgIWRlZmF1bHQ7XG5cbi8vLyBUaGUgdGV4dCBjb2xvciBvZiB0aGUgZGlzYWJsZWQgb3V0bGluZSBJbnB1dCBjb21wb25lbnRzLlxuLy8vIEBncm91cCBpbnB1dFxuJGtlbmRvLWlucHV0LW91dGxpbmUtZGlzYWJsZWQtdGV4dDogJGtlbmRvLWRpc2FibGVkLXRleHQgIWRlZmF1bHQ7XG5cbi8vLyBUaGUgYmFja2dyb3VuZCBjb2xvciBvZiB0aGUgZGlzYWJsZWQgb3V0bGluZSBJbnB1dCBjb21wb25lbnRzLlxuLy8vIEBncm91cCBpbnB1dFxuJGtlbmRvLWlucHV0LW91dGxpbmUtZGlzYWJsZWQtYmc6IG5vbmUgIWRlZmF1bHQ7XG5cbi8vLyBUaGUgYm9yZGVyIGNvbG9yIG9mIHRoZSBkaXNhYmxlZCBvdXRsaW5lIElucHV0IGNvbXBvbmVudHMuXG4vLy8gQGdyb3VwIGlucHV0XG4ka2VuZG8taW5wdXQtb3V0bGluZS1kaXNhYmxlZC1ib3JkZXI6ICRrZW5kby1kaXNhYmxlZC10ZXh0ICFkZWZhdWx0O1xuXG4vLy8gVGhlIHRleHQgY29sb3Igb2YgdGhlIGZsYXQgSW5wdXQgY29tcG9uZW50cy5cbi8vLyBAZ3JvdXAgaW5wdXRcbiRrZW5kby1pbnB1dC1mbGF0LXRleHQ6IGlmKCRrZW5kby1lbmFibGUtY29sb3Itc3lzdGVtLCBrLWNvbG9yKCBvbi1hcHAtc3VyZmFjZSApLCBrLWdldC10aGVtZS1jb2xvci12YXIoIG5ldXRyYWwtMTYwICkpICFkZWZhdWx0O1xuXG4vLy8gVGhlIGJhY2tncm91bmQgY29sb3Igb2YgdGhlIGZsYXQgSW5wdXQgY29tcG9uZW50cy5cbi8vLyBAZ3JvdXAgaW5wdXRcbiRrZW5kby1pbnB1dC1mbGF0LWJnOiBpZigka2VuZG8tZW5hYmxlLWNvbG9yLXN5c3RlbSwgay1jb2xvciggYXBwLXN1cmZhY2UgKSwgJGtlbmRvLWNvbG9yLXdoaXRlKSAhZGVmYXVsdDtcblxuLy8vIFRoZSBib3JkZXIgY29sb3Igb2YgdGhlIGZsYXQgSW5wdXQgY29tcG9uZW50cy5cbi8vLyBAZ3JvdXAgaW5wdXRcbiRrZW5kby1pbnB1dC1mbGF0LWJvcmRlcjogaWYoJGtlbmRvLWVuYWJsZS1jb2xvci1zeXN0ZW0sIGstY29sb3IoIGJvcmRlciApLCBrLWdldC10aGVtZS1jb2xvci12YXIoIG5ldXRyYWwtMTMwICkpICFkZWZhdWx0O1xuXG4vLy8gVGhlIHRleHQgY29sb3Igb2YgdGhlIGhvdmVyZWQgZmxhdCBJbnB1dCBjb21wb25lbnRzLlxuLy8vIEBncm91cCBpbnB1dFxuJGtlbmRvLWlucHV0LWZsYXQtaG92ZXItdGV4dDogaWYoJGtlbmRvLWVuYWJsZS1jb2xvci1zeXN0ZW0sIGstY29sb3IoIG9uLWFwcC1zdXJmYWNlICksIGstZ2V0LXRoZW1lLWNvbG9yLXZhciggbmV1dHJhbC0xOTAgKSkgIWRlZmF1bHQ7XG5cbi8vLyBUaGUgYmFja2dyb3VuZCBjb2xvciBvZiB0aGUgaG92ZXJlZCBmbGF0IElucHV0IGNvbXBvbmVudHMuXG4vLy8gQGdyb3VwIGlucHV0XG4ka2VuZG8taW5wdXQtZmxhdC1ob3Zlci1iZzogaWYoJGtlbmRvLWVuYWJsZS1jb2xvci1zeXN0ZW0sIGstY29sb3IoIGFwcC1zdXJmYWNlICksICRrZW5kby1jb2xvci13aGl0ZSkgIWRlZmF1bHQ7XG5cbi8vLyBUaGUgYm9yZGVyIGNvbG9yIG9mIHRoZSBob3ZlcmVkIGZsYXQgSW5wdXQgY29tcG9uZW50cy5cbi8vLyBAZ3JvdXAgaW5wdXRcbiRrZW5kby1pbnB1dC1mbGF0LWhvdmVyLWJvcmRlcjogaWYoJGtlbmRvLWVuYWJsZS1jb2xvci1zeXN0ZW0sIGstY29sb3IoIGJvcmRlci1hbHQgKSwgay1nZXQtdGhlbWUtY29sb3ItdmFyKCBuZXV0cmFsLTE2MCApKSAhZGVmYXVsdDtcblxuLy8vIFRoZSB0ZXh0IGNvbG9yIG9mIHRoZSBmb2N1c2VkIGZsYXQgSW5wdXQgY29tcG9uZW50cy5cbi8vLyBAZ3JvdXAgaW5wdXRcbiRrZW5kby1pbnB1dC1mbGF0LWZvY3VzLXRleHQ6IGlmKCRrZW5kby1lbmFibGUtY29sb3Itc3lzdGVtLCBrLWNvbG9yKCBvbi1hcHAtc3VyZmFjZSApLCBrLWdldC10aGVtZS1jb2xvci12YXIoIG5ldXRyYWwtMTYwICkpICFkZWZhdWx0O1xuXG4vLy8gVGhlIGJhY2tncm91bmQgY29sb3Igb2YgdGhlIGZvY3VzZWQgZmxhdCBJbnB1dCBjb21wb25lbnRzLlxuLy8vIEBncm91cCBpbnB1dFxuJGtlbmRvLWlucHV0LWZsYXQtZm9jdXMtYmc6IGlmKCRrZW5kby1lbmFibGUtY29sb3Itc3lzdGVtLCBrLWNvbG9yKCBhcHAtc3VyZmFjZSApLCAka2VuZG8tY29sb3Itd2hpdGUpICFkZWZhdWx0O1xuXG4vLy8gVGhlIGJvcmRlciBjb2xvciBvZiB0aGUgZm9jdXNlZCBmbGF0IElucHV0IGNvbXBvbmVudHMuXG4vLy8gQGdyb3VwIGlucHV0XG4ka2VuZG8taW5wdXQtZmxhdC1mb2N1cy1ib3JkZXI6IGlmKCRrZW5kby1lbmFibGUtY29sb3Itc3lzdGVtLCBrLWNvbG9yKCBwcmltYXJ5ICksIGstZ2V0LXRoZW1lLWNvbG9yLXZhciggcHJpbWFyeS0xMDAgKSkgIWRlZmF1bHQ7XG5cbi8vLyBUaGUgdGV4dCBjb2xvciBvZiB0aGUgaG92ZXJlZCBhbmQgZm9jdXNlZCBmbGF0IElucHV0IGNvbXBvbmVudHMuXG4vLy8gQGdyb3VwIGlucHV0XG4ka2VuZG8taW5wdXQtZmxhdC1ob3Zlci1mb2N1cy10ZXh0OiAka2VuZG8taW5wdXQtZmxhdC1mb2N1cy10ZXh0ICFkZWZhdWx0O1xuXG4vLy8gVGhlIGJhY2tncm91bmQgY29sb3Igb2YgdGhlIGhvdmVyZWQgYW5kIGZvY3VzZWQgZmxhdCBJbnB1dCBjb21wb25lbnRzLlxuLy8vIEBncm91cCBpbnB1dFxuJGtlbmRvLWlucHV0LWZsYXQtaG92ZXItZm9jdXMtYmc6ICRrZW5kby1pbnB1dC1mbGF0LWZvY3VzLWJnICFkZWZhdWx0O1xuXG4vLy8gVGhlIGJvcmRlciBjb2xvciBvZiB0aGUgaG92ZXJlZCBhbmQgZm9jdXNlZCBmbGF0IElucHV0IGNvbXBvbmVudHMuXG4vLy8gQGdyb3VwIGlucHV0XG4ka2VuZG8taW5wdXQtZmxhdC1ob3Zlci1mb2N1cy1ib3JkZXI6ICRrZW5kby1pbnB1dC1mbGF0LWZvY3VzLWJvcmRlciAhZGVmYXVsdDtcblxuLy8vIFRoZSB0ZXh0IGNvbG9yIG9mIHRoZSBkaXNhYmxlZCBmbGF0IElucHV0IGNvbXBvbmVudHMuXG4vLy8gQGdyb3VwIGlucHV0XG4ka2VuZG8taW5wdXQtZmxhdC1kaXNhYmxlZC10ZXh0OiAka2VuZG8tZGlzYWJsZWQtdGV4dCAhZGVmYXVsdDtcblxuLy8vIFRoZSBiYWNrZ3JvdW5kIGNvbG9yIG9mIHRoZSBkaXNhYmxlZCBmbGF0IElucHV0IGNvbXBvbmVudHMuXG4vLy8gQGdyb3VwIGlucHV0XG4ka2VuZG8taW5wdXQtZmxhdC1kaXNhYmxlZC1iZzogbm9uZSAhZGVmYXVsdDtcblxuLy8vIFRoZSBib3JkZXIgY29sb3Igb2YgdGhlIGRpc2FibGVkIGZsYXQgSW5wdXQgY29tcG9uZW50cy5cbi8vLyBAZ3JvdXAgaW5wdXRcbiRrZW5kby1pbnB1dC1mbGF0LWRpc2FibGVkLWJvcmRlcjogJGtlbmRvLWRpc2FibGVkLXRleHQgIWRlZmF1bHQ7XG5cbi8vLyBUaGUgdGV4dCBjb2xvciBvZiB0aGUgc29saWQgUGlja2VyIGNvbXBvbmVudHMuXG4vLy8gQGdyb3VwIGlucHV0XG4ka2VuZG8tcGlja2VyLXNvbGlkLXRleHQ6IGlmKCRrZW5kby1lbmFibGUtY29sb3Itc3lzdGVtLCBrLWNvbG9yKCBvbi1hcHAtc3VyZmFjZSApLCBrLWdldC10aGVtZS1jb2xvci12YXIoIG5ldXRyYWwtMTYwICkpICFkZWZhdWx0O1xuXG4vLy8gVGhlIGJhY2tncm91bmQgY29sb3Igb2YgdGhlIHNvbGlkIFBpY2tlciBjb21wb25lbnRzLlxuLy8vIEBncm91cCBpbnB1dFxuJGtlbmRvLXBpY2tlci1zb2xpZC1iZzogaWYoJGtlbmRvLWVuYWJsZS1jb2xvci1zeXN0ZW0sIGstY29sb3IoIGFwcC1zdXJmYWNlICksICRrZW5kby1jb2xvci13aGl0ZSkgIWRlZmF1bHQ7XG5cbi8vLyBUaGUgYm9yZGVyIGNvbG9yIG9mIHRoZSBzb2xpZCBQaWNrZXIgY29tcG9uZW50cy5cbi8vLyBAZ3JvdXAgaW5wdXRcbiRrZW5kby1waWNrZXItc29saWQtYm9yZGVyOiBpZigka2VuZG8tZW5hYmxlLWNvbG9yLXN5c3RlbSwgay1jb2xvciggYm9yZGVyICksIGstZ2V0LXRoZW1lLWNvbG9yLXZhciggbmV1dHJhbC0xMzAgKSkhZGVmYXVsdDtcblxuLy8vIFRoZSB0ZXh0IGNvbG9yIG9mIHRoZSBob3ZlcmVkIHNvbGlkIFBpY2tlciBjb21wb25lbnRzLlxuLy8vIEBncm91cCBpbnB1dFxuJGtlbmRvLXBpY2tlci1zb2xpZC1ob3Zlci10ZXh0OiBpZigka2VuZG8tZW5hYmxlLWNvbG9yLXN5c3RlbSwgay1jb2xvciggb24tYXBwLXN1cmZhY2UgKSwgay1nZXQtdGhlbWUtY29sb3ItdmFyKCBuZXV0cmFsLTE5MCApKSAhZGVmYXVsdDtcblxuLy8vIFRoZSBiYWNrZ3JvdW5kIGNvbG9yIG9mIGhvdmVyZWQgdGhlIHNvbGlkIFBpY2tlciBjb21wb25lbnRzLlxuLy8vIEBncm91cCBpbnB1dFxuJGtlbmRvLXBpY2tlci1zb2xpZC1ob3Zlci1iZzogaWYoJGtlbmRvLWVuYWJsZS1jb2xvci1zeXN0ZW0sIGstY29sb3IoIGFwcC1zdXJmYWNlICksICRrZW5kby1jb2xvci13aGl0ZSkgIWRlZmF1bHQ7XG5cbi8vLyBUaGUgYm9yZGVyIGNvbG9yIG9mIHRoZSBob3ZlcmVkIHNvbGlkIFBpY2tlciBjb21wb25lbnRzLlxuLy8vIEBncm91cCBpbnB1dFxuJGtlbmRvLXBpY2tlci1zb2xpZC1ob3Zlci1ib3JkZXI6IGlmKCRrZW5kby1lbmFibGUtY29sb3Itc3lzdGVtLCBrLWNvbG9yKCBib3JkZXItYWx0ICksIGstZ2V0LXRoZW1lLWNvbG9yLXZhciggbmV1dHJhbC0xNjAgKSkgIWRlZmF1bHQ7XG5cbi8vLyBUaGUgdGV4dCBjb2xvciBvZiB0aGUgZm9jdXNlZCBzb2xpZCBQaWNrZXIgY29tcG9uZW50cy5cbi8vLyBAZ3JvdXAgaW5wdXRcbiRrZW5kby1waWNrZXItc29saWQtZm9jdXMtdGV4dDogaWYoJGtlbmRvLWVuYWJsZS1jb2xvci1zeXN0ZW0sIGstY29sb3IoIG9uLWFwcC1zdXJmYWNlICksIGstZ2V0LXRoZW1lLWNvbG9yLXZhciggbmV1dHJhbC0xNjAgKSkgIWRlZmF1bHQ7XG5cbi8vLyBUaGUgYmFja2dyb3VuZCBjb2xvciBvZiB0aGUgZm9jdXNlZCBzb2xpZCBQaWNrZXIgY29tcG9uZW50cy5cbi8vLyBAZ3JvdXAgaW5wdXRcbiRrZW5kby1waWNrZXItc29saWQtZm9jdXMtYmc6IGlmKCRrZW5kby1lbmFibGUtY29sb3Itc3lzdGVtLCBrLWNvbG9yKCBhcHAtc3VyZmFjZSApLCAka2VuZG8tY29sb3Itd2hpdGUpICFkZWZhdWx0O1xuXG4vLy8gVGhlIGJvcmRlciBjb2xvciBvZiB0aGUgZm9jdXNlZCBzb2xpZCBQaWNrZXIgY29tcG9uZW50cy5cbi8vLyBAZ3JvdXAgaW5wdXRcbiRrZW5kby1waWNrZXItc29saWQtZm9jdXMtYm9yZGVyOiBpZigka2VuZG8tZW5hYmxlLWNvbG9yLXN5c3RlbSwgay1jb2xvciggcHJpbWFyeSApLCBrLWdldC10aGVtZS1jb2xvci12YXIoIHByaW1hcnktMTAwICkpICFkZWZhdWx0O1xuXG4vLy8gVGhlIHRleHQgY29sb3Igb2YgdGhlIGhvdmVyZWQgYW5kIGZvY3VzZWQgc29saWQgUGlja2VyIGNvbXBvbmVudHMuXG4vLy8gQGdyb3VwIGlucHV0XG4ka2VuZG8tcGlja2VyLXNvbGlkLWhvdmVyLWZvY3VzLXRleHQ6ICRrZW5kby1waWNrZXItc29saWQtZm9jdXMtdGV4dCAhZGVmYXVsdDtcblxuLy8vIFRoZSBiYWNrZ3JvdW5kIGNvbG9yIG9mIHRoZSBob3ZlcmVkIGFuZCBmb2N1c2VkIHNvbGlkIFBpY2tlciBjb21wb25lbnRzLlxuLy8vIEBncm91cCBpbnB1dFxuJGtlbmRvLXBpY2tlci1zb2xpZC1ob3Zlci1mb2N1cy1iZzogJGtlbmRvLXBpY2tlci1zb2xpZC1mb2N1cy1iZyAhZGVmYXVsdDtcblxuLy8vIFRoZSBib3JkZXIgY29sb3Igb2YgdGhlIGhvdmVyZWQgYW5kIGZvY3VzZWQgc29saWQgUGlja2VyIGNvbXBvbmVudHMuXG4vLy8gQGdyb3VwIGlucHV0XG4ka2VuZG8tcGlja2VyLXNvbGlkLWhvdmVyLWZvY3VzLWJvcmRlcjogJGtlbmRvLXBpY2tlci1zb2xpZC1mb2N1cy1ib3JkZXIgIWRlZmF1bHQ7XG5cbi8vLyBUaGUgdGV4dCBjb2xvciBvZiB0aGUgZGlzYWJsZWQgc29saWQgUGlja2VyIGNvbXBvbmVudHMuXG4vLy8gQGdyb3VwIGlucHV0XG4ka2VuZG8tcGlja2VyLXNvbGlkLWRpc2FibGVkLXRleHQ6ICRrZW5kby1kaXNhYmxlZC10ZXh0ICFkZWZhdWx0O1xuXG4vLy8gVGhlIGJhY2tncm91bmQgY29sb3Igb2YgdGhlIGRpc2FibGVkIHNvbGlkIFBpY2tlciBjb21wb25lbnRzLlxuLy8vIEBncm91cCBpbnB1dFxuJGtlbmRvLXBpY2tlci1zb2xpZC1kaXNhYmxlZC1iZzogaWYoJGtlbmRvLWVuYWJsZS1jb2xvci1zeXN0ZW0sIGNvbG9yLW1peChpbiBzcmdiLCBrLWNvbG9yKCBvbi1hcHAtc3VyZmFjZSApIDklLCB0cmFuc3BhcmVudCksIGstZ2V0LXRoZW1lLWNvbG9yLXZhciggbmV1dHJhbC0zMCApKSAhZGVmYXVsdDtcblxuLy8vIFRoZSBib3JkZXIgY29sb3Igb2YgdGhlIGRpc2FibGVkIHNvbGlkIFBpY2tlciBjb21wb25lbnRzLlxuLy8vIEBncm91cCBpbnB1dFxuJGtlbmRvLXBpY2tlci1zb2xpZC1kaXNhYmxlZC1ib3JkZXI6ICRrZW5kby1kaXNhYmxlZC1ib3JkZXIgIWRlZmF1bHQ7XG5cbi8vLyBUaGUgdGV4dCBjb2xvciBvZiB0aGUgb3V0bGluZSBQaWNrZXIgY29tcG9uZW50cy5cbi8vLyBAZ3JvdXAgaW5wdXRcbiRrZW5kby1waWNrZXItb3V0bGluZS10ZXh0OiBpZigka2VuZG8tZW5hYmxlLWNvbG9yLXN5c3RlbSwgay1jb2xvciggb24tYXBwLXN1cmZhY2UgKSwgay1nZXQtdGhlbWUtY29sb3ItdmFyKCBuZXV0cmFsLTE2MCApKSAhZGVmYXVsdDtcblxuLy8vIFRoZSBiYWNrZ3JvdW5kIGNvbG9yIG9mIHRoZSBvdXRsaW5lIFBpY2tlciBjb21wb25lbnRzLlxuLy8vIEBncm91cCBpbnB1dFxuJGtlbmRvLXBpY2tlci1vdXRsaW5lLWJnOiBub25lICFkZWZhdWx0O1xuXG4vLy8gVGhlIGJvcmRlciBjb2xvciBvZiB0aGUgb3V0bGluZSBQaWNrZXIgY29tcG9uZW50cy5cbi8vLyBAZ3JvdXAgaW5wdXRcbiRrZW5kby1waWNrZXItb3V0bGluZS1ib3JkZXI6IGlmKCRrZW5kby1lbmFibGUtY29sb3Itc3lzdGVtLCBrLWNvbG9yKCBvbi1hcHAtc3VyZmFjZSApLCBrLWdldC10aGVtZS1jb2xvci12YXIoIG5ldXRyYWwtMTYwICkpICFkZWZhdWx0O1xuXG4vLy8gVGhlIHRleHQgY29sb3Igb2YgdGhlIGhvdmVyZWQgb3V0bGluZSBQaWNrZXIgY29tcG9uZW50cy5cbi8vLyBAZ3JvdXAgaW5wdXRcbiRrZW5kby1waWNrZXItb3V0bGluZS1ob3Zlci10ZXh0OiBpZigka2VuZG8tZW5hYmxlLWNvbG9yLXN5c3RlbSwgay1jb2xvciggYXBwLXN1cmZhY2UgKSwgJGtlbmRvLWNvbG9yLXdoaXRlKSAhZGVmYXVsdDtcblxuLy8vIFRoZSBiYWNrZ3JvdW5kIGNvbG9yIG9mIHRoZSBob3ZlcmVkIG91dGxpbmUgUGlja2VyIGNvbXBvbmVudHMuXG4vLy8gQGdyb3VwIGlucHV0XG4ka2VuZG8tcGlja2VyLW91dGxpbmUtaG92ZXItYmc6IGlmKCRrZW5kby1lbmFibGUtY29sb3Itc3lzdGVtLCBrLWNvbG9yKCBvbi1hcHAtc3VyZmFjZSApLCBrLWdldC10aGVtZS1jb2xvci12YXIoIG5ldXRyYWwtMTkwICkpICFkZWZhdWx0O1xuXG4vLy8gVGhlIGJvcmRlciBjb2xvciBvZiB0aGUgaG92ZXJlZCBvdXRsaW5lIFBpY2tlciBjb21wb25lbnRzLlxuLy8vIEBncm91cCBpbnB1dFxuJGtlbmRvLXBpY2tlci1vdXRsaW5lLWhvdmVyLWJvcmRlcjogJGtlbmRvLXBpY2tlci1vdXRsaW5lLWhvdmVyLWJnIWRlZmF1bHQ7XG5cbi8vLyBUaGUgdGV4dCBjb2xvciBvZiB0aGUgZm9jdXNlZCBvdXRsaW5lIFBpY2tlciBjb21wb25lbnRzLlxuLy8vIEBncm91cCBpbnB1dFxuJGtlbmRvLXBpY2tlci1vdXRsaW5lLWZvY3VzLXRleHQ6IGlmKCRrZW5kby1lbmFibGUtY29sb3Itc3lzdGVtLCBrLWNvbG9yKCBvbi1hcHAtc3VyZmFjZSApLCBrLWdldC10aGVtZS1jb2xvci12YXIoIG5ldXRyYWwtMTYwICkpICFkZWZhdWx0O1xuXG4vLy8gVGhlIGJhY2tncm91bmQgY29sb3Igb2YgdGhlIGZvY3VzZWQgb3V0bGluZSBQaWNrZXIgY29tcG9uZW50cy5cbi8vLyBAZ3JvdXAgaW5wdXRcbiRrZW5kby1waWNrZXItb3V0bGluZS1mb2N1cy1iZzogaWYoJGtlbmRvLWVuYWJsZS1jb2xvci1zeXN0ZW0sIGstY29sb3IoIGFwcC1zdXJmYWNlICksICRrZW5kby1jb2xvci13aGl0ZSkgIWRlZmF1bHQ7XG5cbi8vLyBUaGUgYm9yZGVyIGNvbG9yIG9mIHRoZSBmb2N1c2VkIG91dGxpbmUgUGlja2VyIGNvbXBvbmVudHMuXG4vLy8gQGdyb3VwIGlucHV0XG4ka2VuZG8tcGlja2VyLW91dGxpbmUtZm9jdXMtYm9yZGVyOiBpZigka2VuZG8tZW5hYmxlLWNvbG9yLXN5c3RlbSwgay1jb2xvciggcHJpbWFyeSApLCBrLWdldC10aGVtZS1jb2xvci12YXIoIHByaW1hcnktMTAwICkpICFkZWZhdWx0O1xuXG4vLy8gVGhlIHRleHQgY29sb3Igb2YgdGhlIGhvdmVyZWQgYW5kIGZvY3VzZWQgb3V0bGluZSBQaWNrZXIgY29tcG9uZW50cy5cbi8vLyBAZ3JvdXAgaW5wdXRcbiRrZW5kby1waWNrZXItb3V0bGluZS1ob3Zlci1mb2N1cy10ZXh0OiBpZigka2VuZG8tZW5hYmxlLWNvbG9yLXN5c3RlbSwgay1jb2xvciggYXBwLXN1cmZhY2UgKSwgJGtlbmRvLWNvbG9yLXdoaXRlKSAhZGVmYXVsdDtcblxuLy8vIFRoZSBiYWNrZ3JvdW5kIGNvbG9yIG9mIHRoZSBob3ZlcmVkIGFuZCBmb2N1c2VkIG91dGxpbmUgUGlja2VyIGNvbXBvbmVudHMuXG4vLy8gQGdyb3VwIGlucHV0XG4ka2VuZG8tcGlja2VyLW91dGxpbmUtaG92ZXItZm9jdXMtYmc6IGlmKCRrZW5kby1lbmFibGUtY29sb3Itc3lzdGVtLCBrLWNvbG9yKCBvbi1hcHAtc3VyZmFjZSApLCBrLWdldC10aGVtZS1jb2xvci12YXIoIG5ldXRyYWwtMTkwICkpICFkZWZhdWx0O1xuXG4vLy8gVGhlIGJvcmRlciBjb2xvciBvZiB0aGUgaG92ZXJlZCBhbmQgZm9jdXNlZCBvdXRsaW5lIFBpY2tlciBjb21wb25lbnRzLlxuLy8vIEBncm91cCBpbnB1dFxuJGtlbmRvLXBpY2tlci1vdXRsaW5lLWhvdmVyLWZvY3VzLWJvcmRlcjogaWYoJGtlbmRvLWVuYWJsZS1jb2xvci1zeXN0ZW0sIGstY29sb3IoIHByaW1hcnkgKSwgay1nZXQtdGhlbWUtY29sb3ItdmFyKCBwcmltYXJ5LTEwMCApKSAhZGVmYXVsdDtcblxuLy8vIFRoZSB0ZXh0IGNvbG9yIG9mIHRoZSBkaXNhYmxlZCBvdXRsaW5lIFBpY2tlciBjb21wb25lbnRzLlxuLy8vIEBncm91cCBpbnB1dFxuJGtlbmRvLXBpY2tlci1vdXRsaW5lLWRpc2FibGVkLXRleHQ6ICRrZW5kby1kaXNhYmxlZC10ZXh0ICFkZWZhdWx0O1xuXG4vLy8gVGhlIGJhY2tncm91bmQgY29sb3Igb2YgdGhlIGRpc2FibGVkIG91dGxpbmUgUGlja2VyIGNvbXBvbmVudHMuXG4vLy8gQGdyb3VwIGlucHV0XG4ka2VuZG8tcGlja2VyLW91dGxpbmUtZGlzYWJsZWQtYmc6IG5vbmUgIWRlZmF1bHQ7XG5cbi8vLyBUaGUgYm9yZGVyIGNvbG9yIG9mIHRoZSBkaXNhYmxlZCBvdXRsaW5lIFBpY2tlciBjb21wb25lbnRzLlxuLy8vIEBncm91cCBpbnB1dFxuJGtlbmRvLXBpY2tlci1vdXRsaW5lLWRpc2FibGVkLWJvcmRlcjogJGtlbmRvLXBpY2tlci1vdXRsaW5lLWRpc2FibGVkLXRleHQhZGVmYXVsdDtcblxuLy8vIFRoZSB0ZXh0IGNvbG9yIG9mIHRoZSBmbGF0IFBpY2tlciBjb21wb25lbnRzLlxuLy8vIEBncm91cCBpbnB1dFxuJGtlbmRvLXBpY2tlci1mbGF0LXRleHQ6IGlmKCRrZW5kby1lbmFibGUtY29sb3Itc3lzdGVtLCBrLWNvbG9yKCBvbi1hcHAtc3VyZmFjZSApLCBrLWdldC10aGVtZS1jb2xvci12YXIoIG5ldXRyYWwtMTYwICkpICFkZWZhdWx0O1xuXG4vLy8gVGhlIGJhY2tncm91bmQgY29sb3Igb2YgdGhlIGZsYXQgUGlja2VyIGNvbXBvbmVudHMuXG4vLy8gQGdyb3VwIGlucHV0XG4ka2VuZG8tcGlja2VyLWZsYXQtYmc6IG5vbmUgIWRlZmF1bHQ7XG5cbi8vLyBUaGUgYm9yZGVyIGNvbG9yIG9mIHRoZSBmbGF0IFBpY2tlciBjb21wb25lbnRzLlxuLy8vIEBncm91cCBpbnB1dFxuJGtlbmRvLXBpY2tlci1mbGF0LWJvcmRlcjogaWYoJGtlbmRvLWVuYWJsZS1jb2xvci1zeXN0ZW0sIGstY29sb3IoIGJvcmRlciApLCBrLWdldC10aGVtZS1jb2xvci12YXIoIG5ldXRyYWwtMTMwICkpICFkZWZhdWx0O1xuXG4vLy8gVGhlIHRleHQgY29sb3Igb2YgdGhlIGhvdmVyZWQgZmxhdCBQaWNrZXIgY29tcG9uZW50cy5cbi8vLyBAZ3JvdXAgaW5wdXRcbiRrZW5kby1waWNrZXItZmxhdC1ob3Zlci10ZXh0OiBpZigka2VuZG8tZW5hYmxlLWNvbG9yLXN5c3RlbSwgay1jb2xvciggb24tYXBwLXN1cmZhY2UgKSwgay1nZXQtdGhlbWUtY29sb3ItdmFyKCBuZXV0cmFsLTE5MCApKSAhZGVmYXVsdDtcblxuLy8vIFRoZSBiYWNrZ3JvdW5kIGNvbG9yIG9mIHRoZSBob3ZlcmVkIGZsYXQgUGlja2VyIGNvbXBvbmVudHMuXG4vLy8gQGdyb3VwIGlucHV0XG4ka2VuZG8tcGlja2VyLWZsYXQtaG92ZXItYmc6IGlmKCRrZW5kby1lbmFibGUtY29sb3Itc3lzdGVtLCBrLWNvbG9yKCBiYXNlLWhvdmVyICksIGstZ2V0LXRoZW1lLWNvbG9yLXZhciggbmV1dHJhbC0yMCApKSAhZGVmYXVsdDtcblxuLy8vIFRoZSBib3JkZXIgY29sb3Igb2YgdGhlIGhvdmVyZWQgZmxhdCBQaWNrZXIgY29tcG9uZW50cy5cbi8vLyBAZ3JvdXAgaW5wdXRcbiRrZW5kby1waWNrZXItZmxhdC1ob3Zlci1ib3JkZXI6IGlmKCRrZW5kby1lbmFibGUtY29sb3Itc3lzdGVtLCBrLWNvbG9yKCBib3JkZXItYWx0ICksIGstZ2V0LXRoZW1lLWNvbG9yLXZhciggbmV1dHJhbC0xNjAgKSkgIWRlZmF1bHQ7XG5cbi8vLyBUaGUgdGV4dCBjb2xvciBvZiB0aGUgZm9jdXNlZCBmbGF0IFBpY2tlciBjb21wb25lbnRzLlxuLy8vIEBncm91cCBpbnB1dFxuJGtlbmRvLXBpY2tlci1mbGF0LWZvY3VzLXRleHQ6IGlmKCRrZW5kby1lbmFibGUtY29sb3Itc3lzdGVtLCBrLWNvbG9yKCBvbi1hcHAtc3VyZmFjZSApLCBrLWdldC10aGVtZS1jb2xvci12YXIoIG5ldXRyYWwtMTYwICkpICFkZWZhdWx0O1xuXG4vLy8gVGhlIGJhY2tncm91bmQgY29sb3Igb2YgdGhlIGZvY3VzZWQgZmxhdCBQaWNrZXIgY29tcG9uZW50cy5cbi8vLyBAZ3JvdXAgaW5wdXRcbiRrZW5kby1waWNrZXItZmxhdC1mb2N1cy1iZzogaWYoJGtlbmRvLWVuYWJsZS1jb2xvci1zeXN0ZW0sIGstY29sb3IoIGFwcC1zdXJmYWNlICksICRrZW5kby1jb2xvci13aGl0ZSkgIWRlZmF1bHQ7XG5cbi8vLyBUaGUgYm9yZGVyIGNvbG9yIG9mIHRoZSBmb2N1c2VkIGZsYXQgUGlja2VyIGNvbXBvbmVudHMuXG4vLy8gQGdyb3VwIGlucHV0XG4ka2VuZG8tcGlja2VyLWZsYXQtZm9jdXMtYm9yZGVyOiBpZigka2VuZG8tZW5hYmxlLWNvbG9yLXN5c3RlbSwgay1jb2xvciggcHJpbWFyeSApLCBrLWdldC10aGVtZS1jb2xvci12YXIoIHByaW1hcnktMTAwICkpICFkZWZhdWx0O1xuXG4vLy8gVGhlIHRleHQgY29sb3Igb2YgdGhlIGhvdmVyZWQgYW5kIGZvY3VzZWQgZmxhdCBQaWNrZXIgY29tcG9uZW50cy5cbi8vLyBAZ3JvdXAgaW5wdXRcbiRrZW5kby1waWNrZXItZmxhdC1ob3Zlci1mb2N1cy10ZXh0OiAka2VuZG8tcGlja2VyLWZsYXQtaG92ZXItdGV4dCAhZGVmYXVsdDtcblxuLy8vIFRoZSBiYWNrZ3JvdW5kIGNvbG9yIG9mIHRoZSBob3ZlcmVkIGFuZCBmb2N1c2VkIGZsYXQgUGlja2VyIGNvbXBvbmVudHMuXG4vLy8gQGdyb3VwIGlucHV0XG4ka2VuZG8tcGlja2VyLWZsYXQtaG92ZXItZm9jdXMtYmc6ICRrZW5kby1waWNrZXItZmxhdC1ob3Zlci1iZyAhZGVmYXVsdDtcblxuLy8vIFRoZSBib3JkZXIgY29sb3Igb2YgdGhlIGhvdmVyZWQgYW5kIGZvY3VzZWQgZmxhdCBQaWNrZXIgY29tcG9uZW50cy5cbi8vLyBAZ3JvdXAgaW5wdXRcbiRrZW5kby1waWNrZXItZmxhdC1ob3Zlci1mb2N1cy1ib3JkZXI6ICRrZW5kby1waWNrZXItZmxhdC1ib3JkZXIgIWRlZmF1bHQ7XG5cbi8vLyBUaGUgdGV4dCBjb2xvciBvZiB0aGUgZGlzYWJsZWQgZmxhdCBQaWNrZXIgY29tcG9uZW50cy5cbi8vLyBAZ3JvdXAgaW5wdXRcbiRrZW5kby1waWNrZXItZmxhdC1kaXNhYmxlZC10ZXh0OiAka2VuZG8tZGlzYWJsZWQtdGV4dCAhZGVmYXVsdDtcblxuLy8vIFRoZSBiYWNrZ3JvdW5kIGNvbG9yIG9mIHRoZSBkaXNhYmxlZCBmbGF0IFBpY2tlciBjb21wb25lbnRzLlxuLy8vIEBncm91cCBpbnB1dFxuJGtlbmRvLXBpY2tlci1mbGF0LWRpc2FibGVkLWJnOiBub25lICFkZWZhdWx0O1xuXG4vLy8gVGhlIGJvcmRlciBjb2xvciBvZiB0aGUgZGlzYWJsZWQgZmxhdCBQaWNrZXIgY29tcG9uZW50cy5cbi8vLyBAZ3JvdXAgaW5wdXRcbiRrZW5kby1waWNrZXItZmxhdC1kaXNhYmxlZC1ib3JkZXI6ICRrZW5kby1waWNrZXItZmxhdC1kaXNhYmxlZC10ZXh0ICFkZWZhdWx0O1xuXG4vLy8gVGhlIGNhbGN1bGF0ZWQgaGVpZ2h0IG9mIHRoZSBJbnB1dC5cbi8vLyBAZ3JvdXAgaW5wdXRcbiRrZW5kby1pbnB1dC1jYWxjLXNpemU6IGNhbGMoICggI3ska2VuZG8taW5wdXQtbWQtbGluZS1oZWlnaHR9ICogMWVtICkgKyAoICN7JGtlbmRvLWlucHV0LW1kLXBhZGRpbmcteX0gKiAyICkgKyAoICN7JGtlbmRvLWlucHV0LWJvcmRlci13aWR0aCAqIDJ9ICkgKSAhZGVmYXVsdDtcbiRrZW5kby1pbnB1dC1zbS1jYWxjLXNpemU6IGNhbGMoICggI3ska2VuZG8taW5wdXQtc20tbGluZS1oZWlnaHR9ICogMWVtICkgKyAoICN7JGtlbmRvLWlucHV0LXNtLXBhZGRpbmcteX0gKiAyICkgKyAoICN7JGtlbmRvLWlucHV0LWJvcmRlci13aWR0aCAqIDJ9ICkgKSAhZGVmYXVsdDtcbiRrZW5kby1pbnB1dC1tZC1jYWxjLXNpemU6IGNhbGMoICggI3ska2VuZG8taW5wdXQtbWQtbGluZS1oZWlnaHR9ICogMWVtICkgKyAoICN7JGtlbmRvLWlucHV0LW1kLXBhZGRpbmcteX0gKiAyICkgKyAoICN7JGtlbmRvLWlucHV0LWJvcmRlci13aWR0aCAqIDJ9ICkgKSAhZGVmYXVsdDtcbiRrZW5kby1pbnB1dC1sZy1jYWxjLXNpemU6IGNhbGMoICggI3ska2VuZG8taW5wdXQtbGctbGluZS1oZWlnaHR9ICogMWVtICkgKyAoICN7JGtlbmRvLWlucHV0LWxnLXBhZGRpbmcteX0gKiAyICkgKyAoICN7JGtlbmRvLWlucHV0LWJvcmRlci13aWR0aCAqIDJ9ICkgKSAhZGVmYXVsdDtcblxuLy8vIFRoZSBzaXplcyBtYXAgZm9yIHRoZSBJbnB1dCBjb21wb25lbnRzLlxuLy8vIEBncm91cCBpbnB1dFxuJGtlbmRvLWlucHV0LXNpemVzOiAoXG4gICAgc206IChcbiAgICAgICAgcGFkZGluZy14OiAka2VuZG8taW5wdXQtc20tcGFkZGluZy14LFxuICAgICAgICBwYWRkaW5nLXk6ICRrZW5kby1pbnB1dC1zbS1wYWRkaW5nLXksXG4gICAgICAgIGZvbnQtc2l6ZTogJGtlbmRvLWlucHV0LXNtLWZvbnQtc2l6ZSxcbiAgICAgICAgbGluZS1oZWlnaHQ6ICRrZW5kby1pbnB1dC1zbS1saW5lLWhlaWdodCxcbiAgICAgICAgaWNvbi1zaXplOiBjYWxjKCB2YXIoIC0ta2VuZG8taWNvbi1zaXplLCAxcmVtICkgKyBjYWxjKCAjeyRrZW5kby1pbnB1dC1tZC1wYWRkaW5nLXl9ICogMiApICksXG4gICAgICAgIGJ1dHRvbi1wYWRkaW5nLXg6ICRrZW5kby1pbnB1dC1zbS1wYWRkaW5nLXksXG4gICAgICAgIGJ1dHRvbi1wYWRkaW5nLXk6ICRrZW5kby1pbnB1dC1zbS1wYWRkaW5nLXksXG4gICAgICAgIGJ1dHRvbi13aWR0aDogJGtlbmRvLWlucHV0LXNtLWJ1dHRvbi13aWR0aFxuICAgICksXG4gICAgbWQ6IChcbiAgICAgICAgcGFkZGluZy14OiAka2VuZG8taW5wdXQtbWQtcGFkZGluZy14LFxuICAgICAgICBwYWRkaW5nLXk6ICRrZW5kby1pbnB1dC1tZC1wYWRkaW5nLXksXG4gICAgICAgIGZvbnQtc2l6ZTogJGtlbmRvLWlucHV0LW1kLWZvbnQtc2l6ZSxcbiAgICAgICAgbGluZS1oZWlnaHQ6ICRrZW5kby1pbnB1dC1tZC1saW5lLWhlaWdodCxcbiAgICAgICAgaWNvbi1zaXplOiBjYWxjKCB2YXIoIC0ta2VuZG8taWNvbi1zaXplLCAxcmVtICkgKyBjYWxjKCAjeyRrZW5kby1pbnB1dC1zbS1wYWRkaW5nLXl9ICogMiApICksXG4gICAgICAgIGJ1dHRvbi1wYWRkaW5nLXg6ICRrZW5kby1pbnB1dC1tZC1wYWRkaW5nLXksXG4gICAgICAgIGJ1dHRvbi1wYWRkaW5nLXk6ICRrZW5kby1pbnB1dC1tZC1wYWRkaW5nLXksXG4gICAgICAgIGJ1dHRvbi13aWR0aDogJGtlbmRvLWlucHV0LW1kLWJ1dHRvbi13aWR0aFxuICAgICksXG4gICAgbGc6IChcbiAgICAgICAgcGFkZGluZy14OiAka2VuZG8taW5wdXQtbGctcGFkZGluZy14LFxuICAgICAgICBwYWRkaW5nLXk6ICRrZW5kby1pbnB1dC1sZy1wYWRkaW5nLXksXG4gICAgICAgIGZvbnQtc2l6ZTogJGtlbmRvLWlucHV0LWxnLWZvbnQtc2l6ZSxcbiAgICAgICAgbGluZS1oZWlnaHQ6ICRrZW5kby1pbnB1dC1sZy1saW5lLWhlaWdodCxcbiAgICAgICAgaWNvbi1zaXplOiBjYWxjKCB2YXIoIC0ta2VuZG8taWNvbi1zaXplLCAxcmVtICkgKyBjYWxjKCAjeyRrZW5kby1pbnB1dC1sZy1wYWRkaW5nLXl9ICogMiApICksXG4gICAgICAgIGJ1dHRvbi1wYWRkaW5nLXg6ICRrZW5kby1pbnB1dC1sZy1wYWRkaW5nLXksXG4gICAgICAgIGJ1dHRvbi1wYWRkaW5nLXk6ICRrZW5kby1pbnB1dC1sZy1wYWRkaW5nLXksXG4gICAgICAgIGJ1dHRvbi13aWR0aDogJGtlbmRvLWlucHV0LWxnLWJ1dHRvbi13aWR0aFxuICAgIClcbikgIWRlZmF1bHQ7XG5cbi8vLyBDb2xvcnMgbWFwIG9mIHRoZSBpbnB1dC5cbi8vLyBAZ3JvdXAgaW5wdXRcbiRrZW5kby1pbnB1dC10aGVtZS1jb2xvcnM6IChcbiAgICBpbnB1dDogKFxuICAgICAgICBzb2xpZDogKFxuICAgICAgICAgICAgdGV4dDogJGtlbmRvLWlucHV0LXNvbGlkLXRleHQsXG4gICAgICAgICAgICBiZzogJGtlbmRvLWlucHV0LXNvbGlkLWJnLFxuICAgICAgICAgICAgYm9yZGVyOiAka2VuZG8taW5wdXQtc29saWQtYm9yZGVyLFxuICAgICAgICAgICAgaG92ZXItdGV4dDogJGtlbmRvLWlucHV0LXNvbGlkLWhvdmVyLXRleHQsXG4gICAgICAgICAgICBob3Zlci1iZzogJGtlbmRvLWlucHV0LXNvbGlkLWhvdmVyLWJnLFxuICAgICAgICAgICAgaG92ZXItYm9yZGVyOiAka2VuZG8taW5wdXQtc29saWQtaG92ZXItYm9yZGVyLFxuICAgICAgICAgICAgZm9jdXMtdGV4dDogJGtlbmRvLWlucHV0LXNvbGlkLWZvY3VzLXRleHQsXG4gICAgICAgICAgICBmb2N1cy1iZzogJGtlbmRvLWlucHV0LXNvbGlkLWZvY3VzLWJnLFxuICAgICAgICAgICAgZm9jdXMtYm9yZGVyOiAka2VuZG8taW5wdXQtc29saWQtZm9jdXMtYm9yZGVyLFxuICAgICAgICAgICAgaG92ZXItZm9jdXMtdGV4dDogJGtlbmRvLWlucHV0LXNvbGlkLWhvdmVyLWZvY3VzLXRleHQsXG4gICAgICAgICAgICBob3Zlci1mb2N1cy1iZzogJGtlbmRvLWlucHV0LXNvbGlkLWhvdmVyLWZvY3VzLWJnLFxuICAgICAgICAgICAgaG92ZXItZm9jdXMtYm9yZGVyOiAka2VuZG8taW5wdXQtc29saWQtaG92ZXItZm9jdXMtYm9yZGVyLFxuICAgICAgICAgICAgZGlzYWJsZWQtdGV4dDogJGtlbmRvLWlucHV0LXNvbGlkLWRpc2FibGVkLXRleHQsXG4gICAgICAgICAgICBkaXNhYmxlZC1iZzogJGtlbmRvLWlucHV0LXNvbGlkLWRpc2FibGVkLWJnLFxuICAgICAgICAgICAgZGlzYWJsZWQtYm9yZGVyOiAka2VuZG8taW5wdXQtc29saWQtZGlzYWJsZWQtYm9yZGVyXG4gICAgICAgICksXG4gICAgICAgIG91dGxpbmU6IChcbiAgICAgICAgICAgIHRleHQ6ICRrZW5kby1pbnB1dC1vdXRsaW5lLXRleHQsXG4gICAgICAgICAgICBiZzogJGtlbmRvLWlucHV0LW91dGxpbmUtYmcsXG4gICAgICAgICAgICBib3JkZXI6ICRrZW5kby1pbnB1dC1vdXRsaW5lLWJvcmRlcixcbiAgICAgICAgICAgIGhvdmVyLXRleHQ6ICRrZW5kby1pbnB1dC1vdXRsaW5lLWhvdmVyLXRleHQsXG4gICAgICAgICAgICBob3Zlci1iZzogJGtlbmRvLWlucHV0LW91dGxpbmUtaG92ZXItYmcsXG4gICAgICAgICAgICBob3Zlci1ib3JkZXI6ICRrZW5kby1pbnB1dC1vdXRsaW5lLWhvdmVyLWJvcmRlcixcbiAgICAgICAgICAgIGZvY3VzLXRleHQ6ICRrZW5kby1pbnB1dC1vdXRsaW5lLWZvY3VzLXRleHQsXG4gICAgICAgICAgICBmb2N1cy1iZzogJGtlbmRvLWlucHV0LW91dGxpbmUtZm9jdXMtYmcsXG4gICAgICAgICAgICBmb2N1cy1ib3JkZXI6ICRrZW5kby1pbnB1dC1vdXRsaW5lLWZvY3VzLWJvcmRlcixcbiAgICAgICAgICAgIGhvdmVyLWZvY3VzLXRleHQ6ICRrZW5kby1pbnB1dC1vdXRsaW5lLWhvdmVyLWZvY3VzLXRleHQsXG4gICAgICAgICAgICBob3Zlci1mb2N1cy1iZzogJGtlbmRvLWlucHV0LW91dGxpbmUtaG92ZXItZm9jdXMtYmcsXG4gICAgICAgICAgICBob3Zlci1mb2N1cy1ib3JkZXI6ICRrZW5kby1pbnB1dC1vdXRsaW5lLWhvdmVyLWZvY3VzLWJvcmRlcixcbiAgICAgICAgICAgIGRpc2FibGVkLXRleHQ6ICRrZW5kby1pbnB1dC1vdXRsaW5lLWRpc2FibGVkLXRleHQsXG4gICAgICAgICAgICBkaXNhYmxlZC1iZzogJGtlbmRvLWlucHV0LW91dGxpbmUtZGlzYWJsZWQtYmcsXG4gICAgICAgICAgICBkaXNhYmxlZC1ib3JkZXI6ICRrZW5kby1pbnB1dC1vdXRsaW5lLWRpc2FibGVkLWJvcmRlclxuICAgICAgICApLFxuICAgICAgICBmbGF0OiAoXG4gICAgICAgICAgICB0ZXh0OiAka2VuZG8taW5wdXQtZmxhdC10ZXh0LFxuICAgICAgICAgICAgYmc6ICRrZW5kby1pbnB1dC1mbGF0LWJnLFxuICAgICAgICAgICAgYm9yZGVyOiAka2VuZG8taW5wdXQtZmxhdC1ib3JkZXIsXG4gICAgICAgICAgICBob3Zlci10ZXh0OiAka2VuZG8taW5wdXQtZmxhdC1ob3Zlci10ZXh0LFxuICAgICAgICAgICAgaG92ZXItYmc6ICRrZW5kby1pbnB1dC1mbGF0LWhvdmVyLWJnLFxuICAgICAgICAgICAgaG92ZXItYm9yZGVyOiAka2VuZG8taW5wdXQtZmxhdC1ob3Zlci1ib3JkZXIsXG4gICAgICAgICAgICBmb2N1cy10ZXh0OiAka2VuZG8taW5wdXQtZmxhdC1mb2N1cy10ZXh0LFxuICAgICAgICAgICAgZm9jdXMtYmc6ICRrZW5kby1pbnB1dC1mbGF0LWZvY3VzLWJnLFxuICAgICAgICAgICAgZm9jdXMtYm9yZGVyOiAka2VuZG8taW5wdXQtZmxhdC1mb2N1cy1ib3JkZXIsXG4gICAgICAgICAgICBob3Zlci1mb2N1cy10ZXg6ICRrZW5kby1pbnB1dC1mbGF0LWhvdmVyLWZvY3VzLXRleHQsXG4gICAgICAgICAgICBob3Zlci1mb2N1cy1iZzogJGtlbmRvLWlucHV0LWZsYXQtaG92ZXItZm9jdXMtYmcsXG4gICAgICAgICAgICBob3Zlci1mb2N1cy1ib3JkZXI6ICRrZW5kby1pbnB1dC1mbGF0LWhvdmVyLWZvY3VzLWJvcmRlcixcbiAgICAgICAgICAgIGRpc2FibGVkLXRleHQ6ICRrZW5kby1pbnB1dC1mbGF0LWRpc2FibGVkLXRleHQsXG4gICAgICAgICAgICBkaXNhYmxlZC1iZzogJGtlbmRvLWlucHV0LWZsYXQtZGlzYWJsZWQtYmcsXG4gICAgICAgICAgICBkaXNhYmxlZC1ib3JkZXI6ICRrZW5kby1pbnB1dC1mbGF0LWRpc2FibGVkLWJvcmRlclxuICAgICAgICApXG4gICAgKSxcbiAgICBwaWNrZXI6IChcbiAgICAgICAgc29saWQ6IChcbiAgICAgICAgICAgIHRleHQ6ICRrZW5kby1waWNrZXItc29saWQtdGV4dCxcbiAgICAgICAgICAgIGJnOiAka2VuZG8tcGlja2VyLXNvbGlkLWJnLFxuICAgICAgICAgICAgYm9yZGVyOiAka2VuZG8tcGlja2VyLXNvbGlkLWJvcmRlcixcbiAgICAgICAgICAgIGhvdmVyLXRleHQ6ICRrZW5kby1waWNrZXItc29saWQtaG92ZXItdGV4dCxcbiAgICAgICAgICAgIGhvdmVyLWJnOiAka2VuZG8tcGlja2VyLXNvbGlkLWhvdmVyLWJnLFxuICAgICAgICAgICAgaG92ZXItYm9yZGVyOiAka2VuZG8tcGlja2VyLXNvbGlkLWhvdmVyLWJvcmRlcixcbiAgICAgICAgICAgIGZvY3VzLXRleHQ6ICRrZW5kby1waWNrZXItc29saWQtZm9jdXMtdGV4dCxcbiAgICAgICAgICAgIGZvY3VzLWJnOiAka2VuZG8tcGlja2VyLXNvbGlkLWZvY3VzLWJnLFxuICAgICAgICAgICAgZm9jdXMtYm9yZGVyOiAka2VuZG8tcGlja2VyLXNvbGlkLWZvY3VzLWJvcmRlcixcbiAgICAgICAgICAgIGhvdmVyLWZvY3VzLXRleDogJGtlbmRvLXBpY2tlci1zb2xpZC1ob3Zlci1mb2N1cy10ZXh0LFxuICAgICAgICAgICAgaG92ZXItZm9jdXMtYmc6ICRrZW5kby1waWNrZXItc29saWQtaG92ZXItZm9jdXMtYmcsXG4gICAgICAgICAgICBob3Zlci1mb2N1cy1ib3JkZXI6ICRrZW5kby1waWNrZXItc29saWQtaG92ZXItZm9jdXMtYm9yZGVyLFxuICAgICAgICAgICAgZGlzYWJsZWQtdGV4dDogJGtlbmRvLXBpY2tlci1zb2xpZC1kaXNhYmxlZC10ZXh0LFxuICAgICAgICAgICAgZGlzYWJsZWQtYmc6ICRrZW5kby1waWNrZXItc29saWQtZGlzYWJsZWQtYmcsXG4gICAgICAgICAgICBkaXNhYmxlZC1ib3JkZXI6ICRrZW5kby1waWNrZXItc29saWQtZGlzYWJsZWQtYm9yZGVyXG4gICAgICAgICksXG4gICAgICAgIG91dGxpbmU6IChcbiAgICAgICAgICAgIHRleHQ6ICRrZW5kby1waWNrZXItb3V0bGluZS10ZXh0LFxuICAgICAgICAgICAgYmc6ICRrZW5kby1waWNrZXItb3V0bGluZS1iZyxcbiAgICAgICAgICAgIGJvcmRlcjogJGtlbmRvLXBpY2tlci1vdXRsaW5lLWJvcmRlcixcbiAgICAgICAgICAgIGhvdmVyLXRleHQ6ICRrZW5kby1waWNrZXItb3V0bGluZS1ob3Zlci10ZXh0LFxuICAgICAgICAgICAgaG92ZXItYmc6ICRrZW5kby1waWNrZXItb3V0bGluZS1ob3Zlci1iZyxcbiAgICAgICAgICAgIGhvdmVyLWJvcmRlcjogJGtlbmRvLXBpY2tlci1vdXRsaW5lLWhvdmVyLWJvcmRlcixcbiAgICAgICAgICAgIGZvY3VzLXRleHQ6ICRrZW5kby1waWNrZXItb3V0bGluZS1mb2N1cy10ZXh0LFxuICAgICAgICAgICAgZm9jdXMtYmc6ICRrZW5kby1waWNrZXItb3V0bGluZS1mb2N1cy1iZyxcbiAgICAgICAgICAgIGZvY3VzLWJvcmRlcjogJGtlbmRvLXBpY2tlci1vdXRsaW5lLWZvY3VzLWJvcmRlcixcbiAgICAgICAgICAgIGhvdmVyLWZvY3VzLXRleHQ6ICRrZW5kby1waWNrZXItb3V0bGluZS1ob3Zlci1mb2N1cy10ZXh0LFxuICAgICAgICAgICAgaG92ZXItZm9jdXMtYmc6ICRrZW5kby1waWNrZXItb3V0bGluZS1ob3Zlci1mb2N1cy1iZyxcbiAgICAgICAgICAgIGhvdmVyLWZvY3VzLWJvcmRlcjogJGtlbmRvLXBpY2tlci1vdXRsaW5lLWhvdmVyLWZvY3VzLWJvcmRlcixcbiAgICAgICAgICAgIGRpc2FibGVkLXRleHQ6ICRrZW5kby1waWNrZXItb3V0bGluZS1kaXNhYmxlZC10ZXh0LFxuICAgICAgICAgICAgZGlzYWJsZWQtYmc6ICRrZW5kby1waWNrZXItb3V0bGluZS1kaXNhYmxlZC1iZyxcbiAgICAgICAgICAgIGRpc2FibGVkLWJvcmRlcjogJGtlbmRvLXBpY2tlci1vdXRsaW5lLWRpc2FibGVkLWJvcmRlclxuICAgICAgICApLFxuICAgICAgICBmbGF0OiAoXG4gICAgICAgICAgICB0ZXh0OiAka2VuZG8tcGlja2VyLWZsYXQtdGV4dCxcbiAgICAgICAgICAgIGJnOiAka2VuZG8tcGlja2VyLWZsYXQtYmcsXG4gICAgICAgICAgICBib3JkZXI6ICRrZW5kby1waWNrZXItZmxhdC1ib3JkZXIsXG4gICAgICAgICAgICBob3Zlci10ZXh0OiAka2VuZG8tcGlja2VyLWZsYXQtaG92ZXItdGV4dCxcbiAgICAgICAgICAgIGhvdmVyLWJnOiAka2VuZG8tcGlja2VyLWZsYXQtaG92ZXItYmcsXG4gICAgICAgICAgICBob3Zlci1ib3JkZXI6ICRrZW5kby1waWNrZXItZmxhdC1ob3Zlci1ib3JkZXIsXG4gICAgICAgICAgICBmb2N1cy10ZXh0OiAka2VuZG8tcGlja2VyLWZsYXQtZm9jdXMtdGV4dCxcbiAgICAgICAgICAgIGZvY3VzLWJnOiAka2VuZG8tcGlja2VyLWZsYXQtZm9jdXMtYmcsXG4gICAgICAgICAgICBmb2N1cy1ib3JkZXI6ICRrZW5kby1waWNrZXItZmxhdC1mb2N1cy1ib3JkZXIsXG4gICAgICAgICAgICBob3Zlci1mb2N1cy10ZXg6ICRrZW5kby1waWNrZXItZmxhdC1ob3Zlci1mb2N1cy10ZXh0LFxuICAgICAgICAgICAgaG92ZXItZm9jdXMtYmc6ICRrZW5kby1waWNrZXItZmxhdC1ob3Zlci1mb2N1cy1iZyxcbiAgICAgICAgICAgIGhvdmVyLWZvY3VzLWJvcmRlcjogJGtlbmRvLXBpY2tlci1mbGF0LWhvdmVyLWZvY3VzLWJvcmRlcixcbiAgICAgICAgICAgIGRpc2FibGVkLXRleHQ6ICRrZW5kby1waWNrZXItZmxhdC1kaXNhYmxlZC10ZXh0LFxuICAgICAgICAgICAgZGlzYWJsZWQtYmc6ICRrZW5kby1waWNrZXItZmxhdC1kaXNhYmxlZC1iZyxcbiAgICAgICAgICAgIGRpc2FibGVkLWJvcmRlcjogJGtlbmRvLXBpY2tlci1mbGF0LWRpc2FibGVkLWJvcmRlclxuICAgICAgICApXG4gICAgKVxuKSAhZGVmYXVsdDtcblxuLy8vIFRoZSBiYWNrZ3JvdW5kIGNvbG9yIG9mIHRoZSBJbnB1dCBwcmVmaXguXG4vLy8gQGdyb3VwIGlucHV0XG4ka2VuZG8taW5wdXQtcHJlZml4LWJnOiBpZigka2VuZG8tZW5hYmxlLWNvbG9yLXN5c3RlbSwgay1jb2xvciggYmFzZS1zdWJ0bGUgKSwgay1nZXQtdGhlbWUtY29sb3ItdmFyKCBuZXV0cmFsLTIwICkpICFkZWZhdWx0O1xuXG4vLy8gVGhlIGJhY2tncm91bmQgY29sb3Igb2YgdGhlIElucHV0IHN1ZmZpeC5cbi8vLyBAZ3JvdXAgaW5wdXRcbiRrZW5kby1pbnB1dC1zdWZmaXgtYmc6IGlmKCRrZW5kby1lbmFibGUtY29sb3Itc3lzdGVtLCBrLWNvbG9yKCBiYXNlLXN1YnRsZSApLCBrLWdldC10aGVtZS1jb2xvci12YXIoIG5ldXRyYWwtMjAgKSkgIWRlZmF1bHQ7XG5cbi8vLyBUaGUgY29sb3Igb2YgdGhlIElucHV0IHNlcGFyYXRvci5cbi8vLyBAZ3JvdXAgaW5wdXRcbiRrZW5kby1pbnB1dC1zZXBhcmF0b3ItdGV4dDogay1nZXQtdGhlbWUtY29sb3ItdmFyKCBuZXV0cmFsLTMwICkgIWRlZmF1bHQ7XG5cbi8vLyBUaGUgdGV4dCBjb2xvciBvZiB0aGUgSW5wdXQgcHJlZml4LlxuLy8vIEBncm91cCBpbnB1dFxuJGtlbmRvLWlucHV0LXByZWZpeC10ZXh0OiBrLWdldC10aGVtZS1jb2xvci12YXIoIG5ldXRyYWwtMTMwICkgIWRlZmF1bHQ7XG4vLy8gVGhlIHRleHQgY29sb3Igb2YgdGhlIElucHV0IHN1ZmZpeC5cbi8vLyBAZ3JvdXAgaW5wdXRcbiRrZW5kby1pbnB1dC1zdWZmaXgtdGV4dDogay1nZXQtdGhlbWUtY29sb3ItdmFyKCBuZXV0cmFsLTEzMCApICFkZWZhdWx0O1xuXG4vLy8gVGhlIHRleHQgY29sb3Igb2YgdGhlIGRpc2FibGVkIElucHV0IHByZWZpeC5cbi8vLyBAZ3JvdXAgaW5wdXRcbiRrZW5kby1pbnB1dC1wcmVmaXgtZGlzYWJsZWQtdGV4dDogay1nZXQtdGhlbWUtY29sb3ItdmFyKCBuZXV0cmFsLTYwICkgIWRlZmF1bHQ7XG4vLy8gVGhlIHRleHQgY29sb3Igb2YgdGhlIGRpc2FibGVkIElucHV0IHN1ZmZpeC5cbi8vLyBAZ3JvdXAgaW5wdXRcbiRrZW5kby1pbnB1dC1zdWZmaXgtZGlzYWJsZWQtdGV4dDogay1nZXQtdGhlbWUtY29sb3ItdmFyKCBuZXV0cmFsLTYwICkgIWRlZmF1bHQ7XG5cbi8vLyBUaGUgYm9yZGVyIGNvbG9yIG9mIHRoZSBpbnZhbGlkIElucHV0IGNvbXBvbmVudHMuXG4vLy8gQGdyb3VwIGlucHV0XG4ka2VuZG8taW5wdXQtaW52YWxpZC1ib3JkZXI6IHZhciggLS1rZW5kby1pbnZhbGlkLWJvcmRlciwgI3ska2VuZG8taW52YWxpZC1ib3JkZXJ9ICkgIWRlZmF1bHQ7XG4vLy8gVGhlIHRleHQgY29sb3Igb2YgdGhlIGludmFsaWQgSW5wdXQgY29tcG9uZW50cy5cbi8vLyBAZ3JvdXAgaW5wdXRcbiRrZW5kby1pbnB1dC1pbnZhbGlkLXRleHQ6IHZhciggLS1rZW5kby1pbnZhbGlkLXRleHQsICN7JGtlbmRvLWludmFsaWQtdGV4dH0gKSAhZGVmYXVsdDtcblxuLy8gUkVNT1ZFXG4ka2VuZG8tdmFsaWQtYmc6IGluaXRpYWwgIWRlZmF1bHQ7XG4ka2VuZG8tdmFsaWQtdGV4dDogay1nZXQtdGhlbWUtY29sb3ItdmFyKCBzdWNjZXNzLTE5MCApICFkZWZhdWx0O1xuJGtlbmRvLXZhbGlkLWJvcmRlcjogay1nZXQtdGhlbWUtY29sb3ItdmFyKCBzdWNjZXNzLTE5MCApICFkZWZhdWx0O1xuJGtlbmRvLXZhbGlkLXNoYWRvdzogbnVsbCAhZGVmYXVsdDtcblxuLy8vIFRoZSB0ZXh0IGNvbG9yIG9mIHRoZSBJbnB1dCBwbGFjZWhvbGRlci5cbi8vLyBAZ3JvdXAgaW5wdXRcbiRrZW5kby1pbnB1dC1wbGFjZWhvbGRlci10ZXh0OiBpZigka2VuZG8tZW5hYmxlLWNvbG9yLXN5c3RlbSwgay1jb2xvciggc3VidGxlICksIGstZ2V0LXRoZW1lLWNvbG9yLXZhciggbmV1dHJhbC0xMzAgKSkgIWRlZmF1bHQ7XG4vLy8gVGhlIG9wYWNpdHkgb2YgdGhlIElucHV0IHBsYWNlaG9sZGVyLlxuLy8vIEBncm91cCBpbnB1dFxuJGtlbmRvLWlucHV0LXBsYWNlaG9sZGVyLW9wYWNpdHk6IDEgIWRlZmF1bHQ7XG5cbi8vLyBUaGUgY29sb3Igb2YgdGhlIElucHV0IGNsZWFyIHZhbHVlIGljb24uXG4vLy8gQGdyb3VwIGlucHV0XG4ka2VuZG8taW5wdXQtY2xlYXItdmFsdWUtdGV4dDogaWYoJGtlbmRvLWVuYWJsZS1jb2xvci1zeXN0ZW0sIGstY29sb3IoIHN1YnRsZSApLCBrLWdldC10aGVtZS1jb2xvci12YXIoIG5ldXRyYWwtMTMwICkpICFkZWZhdWx0O1xuLy8vIFRoZSBvcGFjaXR5IG9mIHRoZSBJbnB1dCBjbGVhciB2YWx1ZSBpY29uLlxuLy8vIEBncm91cCBpbnB1dFxuJGtlbmRvLWlucHV0LWNsZWFyLXZhbHVlLW9wYWNpdHk6IC42ICFkZWZhdWx0O1xuLy8vIFRoZSBjb2xvciBvZiB0aGUgaG92ZXJlZCBJbnB1dCBjbGVhciB2YWx1ZSBpY29uLlxuLy8vIEBncm91cCBpbnB1dFxuJGtlbmRvLWlucHV0LWNsZWFyLXZhbHVlLWhvdmVyLXRleHQ6IGluaGVyaXQgIWRlZmF1bHQ7XG4vLy8gVGhlIG9wYWNpdHkgb2YgdGhlIGhvdmVyZWQgSW5wdXQgY2xlYXIgdmFsdWUgaWNvbi5cbi8vLyBAZ3JvdXAgaW5wdXRcbiRrZW5kby1pbnB1dC1jbGVhci12YWx1ZS1ob3Zlci1vcGFjaXR5OiAxICFkZWZhdWx0O1xuXG4ka2VuZG8tdXNlLWlucHV0LWJ1dHRvbi13aWR0aDogdHJ1ZSAhZGVmYXVsdDtcbiRrZW5kby11c2UtaW5wdXQtc3Bpbm5lci13aWR0aDogdHJ1ZSAhZGVmYXVsdDtcbiRrZW5kby11c2UtaW5wdXQtc3Bpbm5lci1pY29uLW9mZnNldDogZmFsc2UgIWRlZmF1bHQ7XG4iLCJAdXNlIFwic2FzczptYXBcIjtcbkB1c2UgXCIuLi9jb3JlL19pbmRleC5zY3NzXCIgYXMgKjtcbkB1c2UgXCIuL192YXJpYWJsZXMuc2Nzc1wiIGFzICo7XG5cbkBtaXhpbiBrZW5kby1pbnB1dC0tdGhlbWUoKSB7XG5cbiAgICAuay1pbnB1dCB7XG4gICAgICAgIC0tSU5URVJOQUwtLWtlbmRvLWlucHV0LXRleHQ6IHZhciggLS1rZW5kby1pbnB1dC10ZXh0ICk7XG4gICAgICAgIC0tSU5URVJOQUwtLWtlbmRvLWlucHV0LWJnOiB2YXIoIC0ta2VuZG8taW5wdXQtYmcgKTtcbiAgICAgICAgLS1JTlRFUk5BTC0ta2VuZG8taW5wdXQtYm9yZGVyOiB2YXIoIC0ta2VuZG8taW5wdXQtYm9yZGVyICk7XG5cbiAgICAgICAgY29sb3I6IHZhciggLS1JTlRFUk5BTC0ta2VuZG8taW5wdXQtdGV4dCwgaW5pdGlhbCApO1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoIC0tSU5URVJOQUwtLWtlbmRvLWlucHV0LWJnLCBpbml0aWFsICk7XG4gICAgICAgIGJvcmRlci1jb2xvcjogdmFyKCAtLUlOVEVSTkFMLS1rZW5kby1pbnB1dC1ib3JkZXIsIGluaXRpYWwgKTtcblxuICAgICAgICAmOmhvdmVyLFxuICAgICAgICAmLmstaG92ZXIge1xuICAgICAgICAgICAgLS1JTlRFUk5BTC0ta2VuZG8taW5wdXQtdGV4dDogdmFyKCAtLWtlbmRvLWlucHV0LWhvdmVyLXRleHQgKTtcbiAgICAgICAgICAgIC0tSU5URVJOQUwtLWtlbmRvLWlucHV0LWJnOiB2YXIoIC0ta2VuZG8taW5wdXQtaG92ZXItYmcgKTtcbiAgICAgICAgICAgIC0tSU5URVJOQUwtLWtlbmRvLWlucHV0LWJvcmRlcjogdmFyKCAtLWtlbmRvLWlucHV0LWhvdmVyLWJvcmRlciApO1xuICAgICAgICB9XG5cbiAgICAgICAgJjpmb2N1cyxcbiAgICAgICAgJi5rLWZvY3VzLFxuICAgICAgICAmOmZvY3VzLXdpdGhpbiB7XG4gICAgICAgICAgICAtLUlOVEVSTkFMLS1rZW5kby1pbnB1dC10ZXh0OiB2YXIoIC0ta2VuZG8taW5wdXQtZm9jdXMtdGV4dCApO1xuICAgICAgICAgICAgLS1JTlRFUk5BTC0ta2VuZG8taW5wdXQtYmc6IHZhciggLS1rZW5kby1pbnB1dC1mb2N1cy1iZyApO1xuICAgICAgICAgICAgLS1JTlRFUk5BTC0ta2VuZG8taW5wdXQtYm9yZGVyOiB2YXIoIC0ta2VuZG8taW5wdXQtZm9jdXMtYm9yZGVyICk7XG5cbiAgICAgICAgICAgICY6OmFmdGVyIHtcbiAgICAgICAgICAgICAgICBib3JkZXItY29sb3I6IHZhciggLS1rZW5kby1pbnB1dC1mb2N1cy1ib3JkZXIsIHRyYW5zcGFyZW50ICk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAmOmZvY3VzOmhvdmVyLFxuICAgICAgICAmOmZvY3VzLmstaG92ZXIsXG4gICAgICAgICYuay1mb2N1czpob3ZlcixcbiAgICAgICAgJi5rLWZvY3VzLmstaG92ZXIge1xuICAgICAgICAgICAgLS1JTlRFUk5BTC0ta2VuZG8taW5wdXQtdGV4dDogdmFyKCAtLWtlbmRvLWlucHV0LWhvdmVyLWZvY3VzLXRleHQgKTtcbiAgICAgICAgICAgIC0tSU5URVJOQUwtLWtlbmRvLWlucHV0LWJnOiB2YXIoIC0ta2VuZG8taW5wdXQtaG92ZXItZm9jdXMtYmcgKTtcbiAgICAgICAgICAgIC0tSU5URVJOQUwtLWtlbmRvLWlucHV0LWJvcmRlcjogdmFyKCAtLWtlbmRvLWlucHV0LWhvdmVyLWZvY3VzLWJvcmRlciApO1xuICAgICAgICB9XG5cbiAgICAgICAgJjpkaXNhYmxlZCxcbiAgICAgICAgJltkaXNhYmxlZF0sXG4gICAgICAgICYuay1kaXNhYmxlZCB7XG4gICAgICAgICAgICAtLUlOVEVSTkFMLS1rZW5kby1pbnB1dC10ZXh0OiB2YXIoIC0ta2VuZG8taW5wdXQtZGlzYWJsZWQtdGV4dCApO1xuICAgICAgICAgICAgLS1JTlRFUk5BTC0ta2VuZG8taW5wdXQtYmc6IHZhciggLS1rZW5kby1pbnB1dC1kaXNhYmxlZC1iZyApO1xuICAgICAgICAgICAgLS1JTlRFUk5BTC0ta2VuZG8taW5wdXQtYm9yZGVyOiB2YXIoIC0ta2VuZG8taW5wdXQtZGlzYWJsZWQtYm9yZGVyICk7XG5cbiAgICAgICAgICAgIC5rLWlucHV0LXByZWZpeCB7XG4gICAgICAgICAgICAgICAgY29sb3I6IHZhciggLS1rZW5kby1pbnB1dC1wcmVmaXgtZGlzYWJsZWQtdGV4dCwgI3ska2VuZG8taW5wdXQtcHJlZml4LWRpc2FibGVkLXRleHR9ICk7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC5rLWlucHV0LXN1ZmZpeCB7XG4gICAgICAgICAgICAgICAgY29sb3I6IHZhciggLS1rZW5kby1pbnB1dC1zdWZmaXgtZGlzYWJsZWQtdGV4dCwgI3ska2VuZG8taW5wdXQtc3VmZml4LWRpc2FibGVkLXRleHR9ICk7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIEBpZigka2VuZG8tZW5hYmxlLWNvbG9yLXN5c3RlbSkge1xuICAgICAgICAgICAgICAgIC5rLWlucHV0LWJ1dHRvbiB7XG4gICAgICAgICAgICAgICAgICAgIGNvbG9yOiBpbmhlcml0O1xuICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiBub25lO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC8vIEludmFsaWRcbiAgICAgICAgJi5rLWludmFsaWQsXG4gICAgICAgICYubmctaW52YWxpZC5uZy10b3VjaGVkLFxuICAgICAgICAmLm5nLWludmFsaWQubmctZGlydHkge1xuICAgICAgICAgICAgLS1JTlRFUk5BTC0ta2VuZG8taW5wdXQtYm9yZGVyOiB2YXIoIC0ta2VuZG8taW5wdXQtaW52YWxpZC1ib3JkZXIsICN7JGtlbmRvLWlucHV0LWludmFsaWQtYm9yZGVyfSApO1xuXG4gICAgICAgICAgICAmOjphZnRlciB7XG4gICAgICAgICAgICAgICAgYm9yZGVyLWNvbG9yOiB2YXIoIC0ta2VuZG8taW5wdXQtaW52YWxpZC1ib3JkZXIsICN7JGtlbmRvLWlucHV0LWludmFsaWQtYm9yZGVyfSApO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAuay1pbnB1dC12YWxpZGF0aW9uLWljb24ge1xuICAgICAgICAgICAgICAgIGNvbG9yOiB2YXIoIC0ta2VuZG8taW5wdXQtaW52YWxpZC10ZXh0LCAjeyRrZW5kby1pbnB1dC1pbnZhbGlkLXRleHR9ICk7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICY6Zm9jdXM6aG92ZXIsXG4gICAgICAgICAgICAmLmstZm9jdXM6aG92ZXIsXG4gICAgICAgICAgICAmOmZvY3VzLmstaG92ZXIsXG4gICAgICAgICAgICAmLmstZm9jdXMuay1ob3ZlciB7XG4gICAgICAgICAgICAgICAgLS1JTlRFUk5BTC0ta2VuZG8taW5wdXQtYm9yZGVyOiB2YXIoIC0ta2VuZG8taW5wdXQtaW52YWxpZC1ib3JkZXIsICN7JGtlbmRvLWlucHV0LWludmFsaWQtYm9yZGVyfSApO1xuXG4gICAgICAgICAgICAgICAgLmstaW5wdXQtdmFsaWRhdGlvbi1pY29uIHtcbiAgICAgICAgICAgICAgICAgICAgY29sb3I6IHZhciggLS1rZW5kby1pbnB1dC1pbnZhbGlkLXRleHQsICN7JGtlbmRvLWlucHV0LWludmFsaWQtdGV4dH0gKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAvLyBQcmVmaXggJiBTdWZmaXhcbiAgICAgICAgLmstaW5wdXQtcHJlZml4IHtcbiAgICAgICAgICAgIGNvbG9yOiB2YXIoIC0ta2VuZG8taW5wdXQtcHJlZml4LXRleHQsICN7JGtlbmRvLWlucHV0LXByZWZpeC10ZXh0fSApO1xuICAgICAgICB9XG5cbiAgICAgICAgLmstaW5wdXQtc3VmZml4IHtcbiAgICAgICAgICAgIGNvbG9yOiB2YXIoIC0ta2VuZG8taW5wdXQtc3VmZml4LXRleHQsICN7JGtlbmRvLWlucHV0LXN1ZmZpeC10ZXh0fSApO1xuICAgICAgICB9XG5cbiAgICAgICAgLmstaW5wdXQtc2VwYXJhdG9yIHtcbiAgICAgICAgICAgIGJvcmRlci1jb2xvcjogdmFyKCAtLWtlbmRvLWlucHV0LXNlcGFyYXRvci10ZXh0LCAjeyRrZW5kby1pbnB1dC1zZXBhcmF0b3ItdGV4dH0gKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5rLXBpY2tlciB7XG4gICAgICAgIC0tSU5URVJOQUwtLWtlbmRvLXBpY2tlci10ZXh0OiB2YXIoIC0ta2VuZG8tcGlja2VyLXRleHQgKTtcbiAgICAgICAgLS1JTlRFUk5BTC0ta2VuZG8tcGlja2VyLWJnOiB2YXIoIC0ta2VuZG8tcGlja2VyLWJnICk7XG4gICAgICAgIC0tSU5URVJOQUwtLWtlbmRvLXBpY2tlci1ib3JkZXI6IHZhciggLS1rZW5kby1waWNrZXItYm9yZGVyICk7XG5cbiAgICAgICAgY29sb3I6IHZhciggLS1JTlRFUk5BTC0ta2VuZG8tcGlja2VyLXRleHQsIGluaXRpYWwgKTtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKCAtLUlOVEVSTkFMLS1rZW5kby1waWNrZXItYmcsIGluaXRpYWwgKTtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiB2YXIoIC0tSU5URVJOQUwtLWtlbmRvLXBpY2tlci1ib3JkZXIsIGluaXRpYWwgKTtcblxuICAgICAgICAmOmhvdmVyLFxuICAgICAgICAmLmstaG92ZXIge1xuICAgICAgICAgICAgLS1JTlRFUk5BTC0ta2VuZG8tcGlja2VyLXRleHQ6IHZhciggLS1rZW5kby1waWNrZXItaG92ZXItdGV4dCApO1xuICAgICAgICAgICAgLS1JTlRFUk5BTC0ta2VuZG8tcGlja2VyLWJnOiB2YXIoIC0ta2VuZG8tcGlja2VyLWhvdmVyLWJnICk7XG4gICAgICAgICAgICAtLUlOVEVSTkFMLS1rZW5kby1waWNrZXItYm9yZGVyOiB2YXIoIC0ta2VuZG8tcGlja2VyLWhvdmVyLWJvcmRlciApO1xuICAgICAgICB9XG5cbiAgICAgICAgJjpmb2N1cyxcbiAgICAgICAgJi5rLWZvY3VzLFxuICAgICAgICAmOmZvY3VzLXdpdGhpbiB7XG4gICAgICAgICAgICAtLUlOVEVSTkFMLS1rZW5kby1waWNrZXItdGV4dDogdmFyKCAtLWtlbmRvLXBpY2tlci1mb2N1cy10ZXh0ICk7XG4gICAgICAgICAgICAtLUlOVEVSTkFMLS1rZW5kby1waWNrZXItYmc6IHZhciggLS1rZW5kby1waWNrZXItZm9jdXMtYmcgKTtcbiAgICAgICAgICAgIC0tSU5URVJOQUwtLWtlbmRvLXBpY2tlci1ib3JkZXI6IHZhciggLS1rZW5kby1waWNrZXItZm9jdXMtYm9yZGVyICk7XG5cbiAgICAgICAgICAgICY6OmFmdGVyIHtcbiAgICAgICAgICAgICAgICBib3JkZXItY29sb3I6IHZhciggLS1rZW5kby1waWNrZXItZm9jdXMtYm9yZGVyICk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAmOmZvY3VzOmhvdmVyLFxuICAgICAgICAmOmZvY3VzLmstaG92ZXIsXG4gICAgICAgICYuay1mb2N1czpob3ZlcixcbiAgICAgICAgJi5rLWZvY3VzLmstaG92ZXIge1xuICAgICAgICAgICAgLS1JTlRFUk5BTC0ta2VuZG8tcGlja2VyLXRleHQ6IHZhciggLS1rZW5kby1waWNrZXItaG92ZXItZm9jdXMtdGV4dCApO1xuICAgICAgICAgICAgLS1JTlRFUk5BTC0ta2VuZG8tcGlja2VyLWJnOiB2YXIoIC0ta2VuZG8tcGlja2VyLWhvdmVyLWZvY3VzLWJnICk7XG4gICAgICAgICAgICAtLUlOVEVSTkFMLS1rZW5kby1waWNrZXItYm9yZGVyOiB2YXIoIC0ta2VuZG8tcGlja2VyLWhvdmVyLWZvY3VzLWJvcmRlciApO1xuICAgICAgICB9XG5cbiAgICAgICAgJjpkaXNhYmxlZCxcbiAgICAgICAgJltkaXNhYmxlZF0sXG4gICAgICAgICYuay1kaXNhYmxlZCB7XG4gICAgICAgICAgICAtLUlOVEVSTkFMLS1rZW5kby1waWNrZXItdGV4dDogdmFyKCAtLWtlbmRvLXBpY2tlci1kaXNhYmxlZC10ZXh0ICk7XG4gICAgICAgICAgICAtLUlOVEVSTkFMLS1rZW5kby1waWNrZXItYmc6IHZhciggLS1rZW5kby1waWNrZXItZGlzYWJsZWQtYmcgKTtcbiAgICAgICAgICAgIC0tSU5URVJOQUwtLWtlbmRvLXBpY2tlci1ib3JkZXI6IHZhciggLS1rZW5kby1waWNrZXItZGlzYWJsZWQtYm9yZGVyICk7XG4gICAgICAgIH1cblxuICAgICAgICAvLyBJbnZhbGlkXG4gICAgICAgICYuay1pbnZhbGlkLFxuICAgICAgICAmLm5nLWludmFsaWQubmctdG91Y2hlZCxcbiAgICAgICAgJi5uZy1pbnZhbGlkLm5nLWRpcnR5IHtcbiAgICAgICAgICAgIC0tSU5URVJOQUwtLWtlbmRvLXBpY2tlci1ib3JkZXI6IHZhciggLS1rZW5kby1pbnB1dC1pbnZhbGlkLWJvcmRlciwgI3ska2VuZG8taW5wdXQtaW52YWxpZC1ib3JkZXJ9ICk7XG5cbiAgICAgICAgICAgICY6OmFmdGVyIHtcbiAgICAgICAgICAgICAgICBib3JkZXItY29sb3I6IHZhciggLS1rZW5kby1pbnB1dC1pbnZhbGlkLWJvcmRlciwgI3ska2VuZG8taW5wdXQtaW52YWxpZC1ib3JkZXJ9ICk7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC5rLWlucHV0LXZhbGlkYXRpb24taWNvbiB7XG4gICAgICAgICAgICAgICAgY29sb3I6IHZhciggLS1rZW5kby1pbnB1dC1pbnZhbGlkLXRleHQsICN7JGtlbmRvLWlucHV0LWludmFsaWQtdGV4dH0gKTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgJjpmb2N1czpob3ZlcixcbiAgICAgICAgICAgICYuay1mb2N1czpob3ZlcixcbiAgICAgICAgICAgICY6Zm9jdXMuay1ob3ZlcixcbiAgICAgICAgICAgICYuay1mb2N1cy5rLWhvdmVyIHtcbiAgICAgICAgICAgICAgICAtLUlOVEVSTkFMLS1rZW5kby1waWNrZXItYm9yZGVyOiB2YXIoIC0ta2VuZG8taW5wdXQtaW52YWxpZC1ib3JkZXIsICN7JGtlbmRvLWlucHV0LWludmFsaWQtYm9yZGVyfSApO1xuXG4gICAgICAgICAgICAgICAgLmstaW5wdXQtdmFsaWRhdGlvbi1pY29uIHtcbiAgICAgICAgICAgICAgICAgICAgY29sb3I6IHZhciggLS1rZW5kby1pbnB1dC1pbnZhbGlkLXRleHQsICN7JGtlbmRvLWlucHV0LWludmFsaWQtdGV4dH0gKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBAZWFjaCAkY29tcG9uZW50LCAkZmlsbC1tb2RlcyBpbiAka2VuZG8taW5wdXQtdGhlbWUtY29sb3JzIHtcbiAgICAgICAgQGVhY2ggJGZpbGwtbW9kZSwgJGNvbG9yLXByb3BzIGluICRmaWxsLW1vZGVzIHtcblxuICAgICAgICAgICAgJF90ZXh0LWNvbG9yOiBtYXAuZ2V0KCAkY29sb3ItcHJvcHMsIHRleHQgKTtcbiAgICAgICAgICAgICRfYmFja2dyb3VuZC1jb2xvcjogbWFwLmdldCggJGNvbG9yLXByb3BzLCBiZyApO1xuICAgICAgICAgICAgJF9ib3JkZXItY29sb3I6IG1hcC5nZXQoICRjb2xvci1wcm9wcywgYm9yZGVyICk7XG5cbiAgICAgICAgICAgICRfaG92ZXItdGV4dDogbWFwLmdldCggJGNvbG9yLXByb3BzLCBob3Zlci10ZXh0ICk7XG4gICAgICAgICAgICAkX2hvdmVyLWJnOiBtYXAuZ2V0KCAkY29sb3ItcHJvcHMsIGhvdmVyLWJnICk7XG4gICAgICAgICAgICAkX2hvdmVyLWJvcmRlcjogbWFwLmdldCggJGNvbG9yLXByb3BzLCBob3Zlci1ib3JkZXIgKTtcblxuICAgICAgICAgICAgJF9mb2N1cy10ZXh0OiBtYXAuZ2V0KCAkY29sb3ItcHJvcHMsIGZvY3VzLXRleHQgKTtcbiAgICAgICAgICAgICRfZm9jdXMtYmc6IG1hcC5nZXQoICRjb2xvci1wcm9wcywgZm9jdXMtYmcgKTtcbiAgICAgICAgICAgICRfZm9jdXMtYm9yZGVyOiBtYXAuZ2V0KCAkY29sb3ItcHJvcHMsIGZvY3VzLWJvcmRlciApO1xuXG4gICAgICAgICAgICAkX2hvdmVyLWZvY3VzLXRleHQ6IG1hcC5nZXQoICRjb2xvci1wcm9wcywgaG92ZXItZm9jdXMtdGV4dCApO1xuICAgICAgICAgICAgJF9ob3Zlci1mb2N1cy1iZzogbWFwLmdldCggJGNvbG9yLXByb3BzLCBob3Zlci1mb2N1cy1iZyApO1xuICAgICAgICAgICAgJF9ob3Zlci1mb2N1cy1ib3JkZXI6IG1hcC5nZXQoICRjb2xvci1wcm9wcywgaG92ZXItZm9jdXMtYm9yZGVyICk7XG5cbiAgICAgICAgICAgICRfZGlzYWJsZWQtdGV4dDogbWFwLmdldCggJGNvbG9yLXByb3BzLCBkaXNhYmxlZC10ZXh0ICk7XG4gICAgICAgICAgICAkX2Rpc2FibGVkLWJnOiBtYXAuZ2V0KCAkY29sb3ItcHJvcHMsIGRpc2FibGVkLWJnICk7XG4gICAgICAgICAgICAkX2Rpc2FibGVkLWJvcmRlcjogbWFwLmdldCggJGNvbG9yLXByb3BzLCBkaXNhYmxlZC1ib3JkZXIgKTtcblxuICAgICAgICAgICAgLmstI3skY29tcG9uZW50fS0jeyRmaWxsLW1vZGV9IHtcbiAgICAgICAgICAgICAgICAtLWtlbmRvLSN7JGNvbXBvbmVudH0tdGV4dDogdmFyKCAtLWtlbmRvLSN7JGNvbXBvbmVudH0tI3skZmlsbC1tb2RlfS10ZXh0LCAjeyRfdGV4dC1jb2xvcn0gKTtcbiAgICAgICAgICAgICAgICAtLWtlbmRvLSN7JGNvbXBvbmVudH0tYmc6IHZhciggLS1rZW5kby0jeyRjb21wb25lbnR9LSN7JGZpbGwtbW9kZX0tYmcsICN7JF9iYWNrZ3JvdW5kLWNvbG9yfSApO1xuICAgICAgICAgICAgICAgIC0ta2VuZG8tI3skY29tcG9uZW50fS1ib3JkZXI6IHZhciggLS1rZW5kby0jeyRjb21wb25lbnR9LSN7JGZpbGwtbW9kZX0tYm9yZGVyLCAjeyRfYm9yZGVyLWNvbG9yfSApO1xuXG5cbiAgICAgICAgICAgICAgICAtLWtlbmRvLSN7JGNvbXBvbmVudH0taG92ZXItdGV4dDogdmFyKCAtLWtlbmRvLSN7JGNvbXBvbmVudH0tI3skZmlsbC1tb2RlfS1ob3Zlci10ZXh0LCAjeyRfaG92ZXItdGV4dH0gKTtcbiAgICAgICAgICAgICAgICAtLWtlbmRvLSN7JGNvbXBvbmVudH0taG92ZXItYmc6IHZhciggLS1rZW5kby0jeyRjb21wb25lbnR9LSN7JGZpbGwtbW9kZX0taG92ZXItYmcsICN7JF9ob3Zlci1iZ30gKTtcbiAgICAgICAgICAgICAgICAtLWtlbmRvLSN7JGNvbXBvbmVudH0taG92ZXItYm9yZGVyOiB2YXIoIC0ta2VuZG8tI3skY29tcG9uZW50fS0jeyRmaWxsLW1vZGV9LWhvdmVyLWJvcmRlciwgI3skX2hvdmVyLWJvcmRlcn0gKTtcblxuXG5cbiAgICAgICAgICAgICAgICAtLWtlbmRvLSN7JGNvbXBvbmVudH0tZm9jdXMtdGV4dDogdmFyKCAtLWtlbmRvLSN7JGNvbXBvbmVudH0tI3skZmlsbC1tb2RlfS1mb2N1cy10ZXh0LCAjeyRfZm9jdXMtdGV4dH0gKTtcbiAgICAgICAgICAgICAgICAtLWtlbmRvLSN7JGNvbXBvbmVudH0tZm9jdXMtYmc6IHZhciggLS1rZW5kby0jeyRjb21wb25lbnR9LSN7JGZpbGwtbW9kZX0tZm9jdXMtYmcsICN7JF9mb2N1cy1iZ30pO1xuICAgICAgICAgICAgICAgIC0ta2VuZG8tI3skY29tcG9uZW50fS1mb2N1cy1ib3JkZXI6IHZhciggLS1rZW5kby0jeyRjb21wb25lbnR9LSN7JGZpbGwtbW9kZX0tZm9jdXMtYm9yZGVyLCAjeyRfZm9jdXMtYm9yZGVyfSApO1xuXG5cblxuICAgICAgICAgICAgICAgIC0ta2VuZG8tI3skY29tcG9uZW50fS1ob3Zlci1mb2N1cy10ZXh0OiB2YXIoIC0ta2VuZG8tI3skY29tcG9uZW50fS0jeyRmaWxsLW1vZGV9LWhvdmVyLWZvY3VzLXRleHQsICN7JF9ob3Zlci1mb2N1cy10ZXh0fSApO1xuICAgICAgICAgICAgICAgIC0ta2VuZG8tI3skY29tcG9uZW50fS1ob3Zlci1mb2N1cy1iZzogdmFyKCAtLWtlbmRvLSN7JGNvbXBvbmVudH0tI3skZmlsbC1tb2RlfS1ob3Zlci1mb2N1cy1iZywgI3skX2hvdmVyLWZvY3VzLWJnfSApO1xuICAgICAgICAgICAgICAgIC0ta2VuZG8tI3skY29tcG9uZW50fS1ob3Zlci1mb2N1cy1ib3JkZXI6IHZhciggLS1rZW5kby0jeyRjb21wb25lbnR9LSN7JGZpbGwtbW9kZX0taG92ZXItZm9jdXMtYm9yZGVyLCAjeyRfaG92ZXItZm9jdXMtYm9yZGVyfSApO1xuXG5cbiAgICAgICAgICAgICAgICAtLWtlbmRvLSN7JGNvbXBvbmVudH0tZGlzYWJsZWQtdGV4dDogdmFyKCAtLWtlbmRvLSN7JGNvbXBvbmVudH0tI3skZmlsbC1tb2RlfS1kaXNhYmxlZC10ZXh0LCAjeyRfZGlzYWJsZWQtdGV4dH0gKTtcbiAgICAgICAgICAgICAgICAtLWtlbmRvLSN7JGNvbXBvbmVudH0tZGlzYWJsZWQtYmc6IHZhciggLS1rZW5kby0jeyRjb21wb25lbnR9LSN7JGZpbGwtbW9kZX0tZGlzYWJsZWQtYmcsICN7JF9kaXNhYmxlZC1iZ30gKTtcbiAgICAgICAgICAgICAgICAtLWtlbmRvLSN7JGNvbXBvbmVudH0tZGlzYWJsZWQtYm9yZGVyOiB2YXIoIC0ta2VuZG8tI3skY29tcG9uZW50fS0jeyRmaWxsLW1vZGV9LWRpc2FibGVkLWJvcmRlciwgI3skX2Rpc2FibGVkLWJvcmRlcn0gKTtcblxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxufVxuIiwiQG1peGluIGtlbmRvLXRleHRhcmVhLS1sYXlvdXQoKSB7XG5cbiAgICAgLy8gVGV4dGFyZWFcbiAgICAgLmstdGV4dGFyZWE6aGFzKC5rLWlucHV0LWlubmVyW3N0eWxlKj1cIndpZHRoXCJdKSB7XG4gICAgICAgIHdpZHRoOiBtYXgtY29udGVudDtcbiAgICB9XG5cbn1cbiIsIkB1c2UgXCJzYXNzOm1hcFwiO1xuQHVzZSBcIi4uL2NvcmUvX2luZGV4LnNjc3NcIiBhcyAqO1xuQHVzZSBcIi4vX3ZhcmlhYmxlcy5zY3NzXCIgYXMgKjtcblxuQG1peGluIGtlbmRvLWNoZWNrYm94LS1sYXlvdXQoKSB7XG5cbiAgICAvLyBDaGVja2JveFxuICAgIC5rLWNoZWNrYm94IHtcbiAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgICB3aWR0aDogdmFyKCAtLUlOVEVSTkFMLS1rZW5kby1jaGVja2JveC13aWR0aCwgMWVtICk7XG4gICAgICAgIGhlaWdodDogdmFyKCAtLUlOVEVSTkFMLS1rZW5kby1jaGVja2JveC1oZWlnaHQsIDFlbSApO1xuICAgICAgICBsaW5lLWhlaWdodDogaW5pdGlhbDtcbiAgICAgICAgYm9yZGVyLXdpZHRoOiB2YXIoIC0ta2VuZG8tY2hlY2tib3gtYm9yZGVyLXdpZHRoLCAjeyRrZW5kby1jaGVja2JveC1ib3JkZXItd2lkdGh9ICk7XG4gICAgICAgIGJvcmRlci1zdHlsZTogc29saWQ7XG4gICAgICAgIG91dGxpbmU6IDA7XG4gICAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlcjtcbiAgICAgICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICAgICAgYmFja2dyb3VuZC1zaXplOiBjb250YWluO1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgIGZsZXg6IG5vbmU7XG4gICAgICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgICAgICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7XG4gICAgfVxuXG5cbiAgICAvLyBDaGVja2JveCBpbmRpY2F0b3JcbiAgICAuay1jaGVja2JveDo6YmVmb3JlIHtcbiAgICAgICAgQGlmICRrZW5kby1jaGVja2JveC1pbmRpY2F0b3ItdHlwZSA9PSBcInBzZXVkb1wiIHtcbiAgICAgICAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICAgICAgICB3aWR0aDogdmFyKCAtLUlOVEVSTkFMLS1rZW5kby1jaGVja2JveC1pbmRpY2F0b3Itc2l6ZSwgMWVtICk7XG4gICAgICAgICAgICBoZWlnaHQ6IHZhciggLS1JTlRFUk5BTC0ta2VuZG8tY2hlY2tib3gtaW5kaWNhdG9yLXNpemUsIDFlbSApO1xuICAgICAgICAgICAgYm9yZGVyLXdpZHRoOiAwO1xuICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogdmFyKCAtLWtlbmRvLWNoZWNrYm94LWluZGljYXRvci1ib3JkZXItcmFkaXVzICk7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBjdXJyZW50Q29sb3I7XG4gICAgICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgICAgICAgICAgdHJhbnNmb3JtOiBzY2FsZSgwKSB0cmFuc2xhdGUoLTUwJSwgLTUwJSk7XG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICB0b3A6IDUwJTtcbiAgICAgICAgICAgIGxlZnQ6IDUwJTtcbiAgICAgICAgfVxuXG4gICAgICAgIEBpZiAka2VuZG8tY2hlY2tib3gtaW5kaWNhdG9yLXR5cGUgPT0gXCJnbHlwaFwiIHtcbiAgICAgICAgICAgIGNvbnRlbnQ6ICRrZW5kby1jaGVja2JveC1jaGVja2VkLWdseXBoO1xuICAgICAgICAgICAgd2lkdGg6IDFlbTtcbiAgICAgICAgICAgIGhlaWdodDogMWVtO1xuICAgICAgICAgICAgZm9udC1mYW1pbHk6IHZhciggLS1rZW5kby1jaGVja2JveC1nbHlwaC1mb250LWZhbWlseSwgI3sgJGtlbmRvLWNoZWNrYm94LWdseXBoLWZvbnQtZmFtaWx5IH0gKTtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogdmFyKCAtLUlOVEVSTkFMLS1rZW5kby1jaGVja2JveC1nbHlwaC1zaXplLCAxZW0gKTtcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAxO1xuICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgLTUwJSkgc2NhbGUoMCk7XG4gICAgICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgdG9wOiA1MCU7XG4gICAgICAgICAgICBsZWZ0OiA1MCU7XG4gICAgICAgIH1cblxuICAgICAgICBAaWYgJGtlbmRvLWNoZWNrYm94LWluZGljYXRvci10eXBlID09IFwiaW1hZ2VcIiB7XG4gICAgICAgICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgICAgIG1hc2stc2l6ZTogdmFyKCAtLUlOVEVSTkFMLS1rZW5kby1jaGVja2JveC1pbmRpY2F0b3Itc2l6ZSwgMTAwJSApO1xuICAgICAgICAgICAgbWFzay1wb3NpdGlvbjogY2VudGVyO1xuICAgICAgICAgICAgbWFzay1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICAgICAgfVxuICAgIH1cblxuXG4gICAgLy8gSG92ZXIgc3RhdGVcbiAgICAuay1jaGVja2JveDpob3ZlcixcbiAgICAuay1jaGVja2JveC5rLWhvdmVyIHtcbiAgICAgICAgQGlmICRrZW5kby1jaGVja2JveC1pbmRpY2F0b3ItdHlwZSA9PSBcImltYWdlXCIge1xuICAgICAgICAgICAgJjo6YmVmb3JlIHtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBjdXJyZW50Q29sb3I7XG4gICAgICAgICAgICAgICAgbWFzay1pbWFnZTogdmFyKCAtLWtlbmRvLWNoZWNrYm94LWhvdmVyLWltYWdlLCAjeyAka2VuZG8tY2hlY2tib3gtaG92ZXItaW1hZ2UgfSApO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgQGlmICRrZW5kby1jaGVja2JveC1pbmRpY2F0b3ItdHlwZSA9PSBcInBzZXVkb1wiIHtcbiAgICAgICAgICAgICY6OmJlZm9yZSB7XG4gICAgICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgLTUwJSkgc2NhbGUoMSk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICBAaWYgJGtlbmRvLWNoZWNrYm94LWluZGljYXRvci10eXBlID09IFwiZ2x5cGhcIiB7XG4gICAgICAgICAgICAmOjpiZWZvcmUge1xuICAgICAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIC01MCUpIHNjYWxlKDEpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG5cbiAgICAvLyBGb2N1cyBzdGF0ZVxuICAgIC5rLWNoZWNrYm94OmZvY3VzLFxuICAgIC5rLWNoZWNrYm94LmstZm9jdXMge1xuICAgICAgICBvdXRsaW5lLW9mZnNldDogJGtlbmRvLWNoZWNrYm94LWZvY3VzLW91dGxpbmUtb2Zmc2V0O1xuICAgIH1cblxuXG4gICAgLy8gQ2hlY2tlZCBzdGF0ZVxuICAgIC5rLWNoZWNrYm94OmNoZWNrZWQsXG4gICAgLmstY2hlY2tib3guay1jaGVja2VkIHtcbiAgICAgICAgQGlmICRrZW5kby1jaGVja2JveC1pbmRpY2F0b3ItdHlwZSA9PSBcImltYWdlXCIge1xuICAgICAgICAgICAgJjo6YmVmb3JlIHtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBjdXJyZW50Q29sb3I7XG4gICAgICAgICAgICAgICAgbWFzay1pbWFnZTogdmFyKCAtLWtlbmRvLWNoZWNrYm94LWNoZWNrZWQtaW1hZ2UsICN7ICRrZW5kby1jaGVja2JveC1jaGVja2VkLWltYWdlIH0gKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIEBpZiAka2VuZG8tY2hlY2tib3gtaW5kaWNhdG9yLXR5cGUgPT0gXCJwc2V1ZG9cIiB7XG4gICAgICAgICAgICAmOjpiZWZvcmUge1xuICAgICAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIC01MCUpIHNjYWxlKDEpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgQGlmICRrZW5kby1jaGVja2JveC1pbmRpY2F0b3ItdHlwZSA9PSBcImdseXBoXCIge1xuICAgICAgICAgICAgJjo6YmVmb3JlIHtcbiAgICAgICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAtNTAlKSBzY2FsZSgxKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuXG4gICAgLy8gSW5kZXRlcm1pbmF0ZSBzdGF0ZVxuICAgIC5rLWNoZWNrYm94OmluZGV0ZXJtaW5hdGUsXG4gICAgLmstY2hlY2tib3guay1pbmRldGVybWluYXRlIHtcbiAgICAgICAgQGlmICRrZW5kby1jaGVja2JveC1pbmRpY2F0b3ItdHlwZSA9PSBcImltYWdlXCIge1xuICAgICAgICAgICAgJjo6YmVmb3JlIHtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBjdXJyZW50Q29sb3I7XG4gICAgICAgICAgICAgICAgbWFzay1pbWFnZTogdmFyKCAtLWtlbmRvLWNoZWNrYm94LWluZGV0ZXJtaW5hdGUtaW1hZ2UsICN7ICRrZW5kby1jaGVja2JveC1pbmRldGVybWluYXRlLWltYWdlIH0gKTtcbiAgICAgICAgICAgICAgICBtYXNrLXNpemU6IHZhciggLS1JTlRFUk5BTC0ta2VuZG8tY2hlY2tib3gtaW5kZXRlcm1pbmF0ZS1zaXplLCAxMDAlICk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICBAaWYgJGtlbmRvLWNoZWNrYm94LWluZGljYXRvci10eXBlID09IFwicHNldWRvXCIge1xuICAgICAgICAgICAgJjo6YmVmb3JlIHtcbiAgICAgICAgICAgICAgICB3aWR0aDogdmFyKCAtLUlOVEVSTkFMLS1rZW5kby1jaGVja2JveC1pbmRldGVybWluYXRlLXNpemUsIDFlbSApO1xuICAgICAgICAgICAgICAgIGhlaWdodDogdmFyKCAtLUlOVEVSTkFMLS1rZW5kby1jaGVja2JveC1pbmRldGVybWluYXRlLXNpemUsIDFlbSApO1xuICAgICAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIC01MCUpIHNjYWxlKDEpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgQGlmICRrZW5kby1jaGVja2JveC1pbmRpY2F0b3ItdHlwZSA9PSBcImdseXBoXCIge1xuICAgICAgICAgICAgJjo6YmVmb3JlIHtcbiAgICAgICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAtNTAlKSBzY2FsZSgxKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbiAgICAuay1jaGVja2JveDppbmRldGVybWluYXRlOmhvdmVyLFxuICAgIC5rLWNoZWNrYm94LmstaW5kZXRlcm1pbmF0ZS5rLWhvdmVyIHtcbiAgICAgICAgQGlmICRrZW5kby1jaGVja2JveC1pbmRpY2F0b3ItdHlwZSA9PSBcImltYWdlXCIge1xuICAgICAgICAgICAgJjo6YmVmb3JlIHtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBjdXJyZW50Q29sb3I7XG4gICAgICAgICAgICAgICAgbWFzay1pbWFnZTogdmFyKCAtLWtlbmRvLWNoZWNrYm94LWhvdmVyLWluZGV0ZXJtaW5hdGUtaW1hZ2UsICN7ICRrZW5kby1jaGVja2JveC1ob3Zlci1pbmRldGVybWluYXRlLWltYWdlIH0gKTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICB9XG4gICAgfVxuXG5cbiAgICAvLyBEaXNhYmxlZCBzdGF0ZVxuICAgIC5rLWNoZWNrYm94OmNoZWNrZWQ6ZGlzYWJsZWQsXG4gICAgLmstY2hlY2tib3guay1jaGVja2VkLmstZGlzYWJsZWQge1xuICAgICAgICBAaWYgJGtlbmRvLWNoZWNrYm94LWluZGljYXRvci10eXBlID09IFwiaW1hZ2VcIiB7XG4gICAgICAgICAgICAmOjpiZWZvcmUge1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IGN1cnJlbnRDb2xvcjtcbiAgICAgICAgICAgICAgICBtYXNrLWltYWdlOiB2YXIoIC0ta2VuZG8tY2hlY2tib3gtZGlzYWJsZWQtY2hlY2tlZC1pbWFnZSwgI3sgJGtlbmRvLWNoZWNrYm94LWRpc2FibGVkLWNoZWNrZWQtaW1hZ2UgfSApO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuICAgIC5rLWNoZWNrYm94OmluZGV0ZXJtaW5hdGU6ZGlzYWJsZWQsXG4gICAgLmstY2hlY2tib3guay1pbmRldGVybWluYXRlLmstZGlzYWJsZWQge1xuICAgICAgICBAaWYgJGtlbmRvLWNoZWNrYm94LWluZGljYXRvci10eXBlID09IFwiaW1hZ2VcIiB7XG4gICAgICAgICAgICAmOjpiZWZvcmUge1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IGN1cnJlbnRDb2xvcjtcbiAgICAgICAgICAgICAgICBtYXNrLWltYWdlOiB2YXIoIC0ta2VuZG8tY2hlY2tib3gtZGlzYWJsZWQtaW5kZXRlcm1pbmF0ZS1pbWFnZSwgI3sgJGtlbmRvLWNoZWNrYm94LWRpc2FibGVkLWluZGV0ZXJtaW5hdGUtaW1hZ2UgfSApO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG5cbiAgICAvLyBDaGVja2JveCB3cmFwXG4gICAgLmstY2hlY2tib3gtd3JhcCB7XG4gICAgICAgIGZsZXg6IG5vbmU7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICAgICAgICBmbGV4LWZsb3c6IHJvdyBub3dyYXA7XG4gICAgICAgIGdhcDogMDtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgYWxpZ24tc2VsZjogZmxleC1zdGFydDtcbiAgICAgICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gICAgICAgICY6OmJlZm9yZSB7XG4gICAgICAgICAgICBjb250ZW50OiBcIlxcMjAwYlwiO1xuICAgICAgICAgICAgd2lkdGg6IDBweDtcbiAgICAgICAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgICAgICAgICBmbGV4OiBub25lO1xuICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICAgICAgdmVydGljYWwtYWxpZ246IHRvcDtcbiAgICAgICAgfVxuICAgIH1cblxuXG4gICAgLy8gQ2hlY2tib3ggbGFiZWxcbiAgICAuay1jaGVja2JveC1sYWJlbCB7XG4gICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0O1xuICAgICAgICBnYXA6IHZhciggLS1rZW5kby1jaGVja2JveC1sYWJlbC1tYXJnaW4teCwgI3sgJGtlbmRvLWNoZWNrYm94LWxhYmVsLW1hcmdpbi14IH0gKTtcbiAgICAgICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XG5cbiAgICAgICAgLmstcmlwcGxlIHtcbiAgICAgICAgICAgIC8vIEhpZGUgcmlwcGxlIHRlbXBvcmFyaWx5XG4gICAgICAgICAgICB2aXNpYmlsaXR5OiBoaWRkZW4gIWltcG9ydGFudDsgLy8gc3R5bGVsaW50LWRpc2FibGUtbGluZSBkZWNsYXJhdGlvbi1uby1pbXBvcnRhbnRcbiAgICAgICAgfVxuICAgIH1cbiAgICAuay1jaGVja2JveCArIC5rLWxhYmVsLFxuICAgIC5rLWNoZWNrYm94LXdyYXAgKyAuay1sYWJlbCxcbiAgICAuay1jaGVja2JveCArIC5rLWNoZWNrYm94LWxhYmVsLFxuICAgIC5rLWNoZWNrYm94LXdyYXAgKyAuay1jaGVja2JveC1sYWJlbCB7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZTtcbiAgICAgICAgbWFyZ2luLWlubGluZS1zdGFydDogdmFyKCAtLWtlbmRvLWNoZWNrYm94LWxhYmVsLW1hcmdpbi14LCAjeyAka2VuZG8tY2hlY2tib3gtbGFiZWwtbWFyZ2luLXggfSApO1xuICAgIH1cblxuXG4gICAgLy8gRW1wdHkgbGFiZWxcbiAgICAuay1jaGVja2JveC1sYWJlbDplbXB0eSB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsgLy8gc3R5bGVsaW50LWRpc2FibGUtbGluZSBkZWNsYXJhdGlvbi1uby1pbXBvcnRhbnRcbiAgICB9XG4gICAgLmstY2hlY2tib3gtbGFiZWwuay1uby10ZXh0IHtcbiAgICAgICAgbWluLXdpZHRoOiAxcHg7XG4gICAgfVxuXG5cbiAgICAvLyBDaGVja2JveCBsaXN0XG4gICAgLmstY2hlY2tib3gtbGlzdCB7XG4gICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgZmxleC1mbG93OiBjb2x1bW4gbm93cmFwO1xuICAgICAgICBnYXA6IDA7XG4gICAgICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG4gICAgfVxuICAgIC5rLWNoZWNrYm94LWl0ZW0sXG4gICAgLmstY2hlY2tib3gtbGlzdC1pdGVtIHtcbiAgICAgICAgcGFkZGluZy1pbmxpbmU6IHZhciggLS1rZW5kby1jaGVja2JveC1saXN0LWl0ZW0tcGFkZGluZy14LCAjeyAka2VuZG8tY2hlY2tib3gtbGlzdC1pdGVtLXBhZGRpbmcteCB9ICk7XG4gICAgICAgIHBhZGRpbmctYmxvY2s6IHZhciggLS1rZW5kby1jaGVja2JveC1saXN0LWl0ZW0tcGFkZGluZy15LCAjeyAka2VuZG8tY2hlY2tib3gtbGlzdC1pdGVtLXBhZGRpbmcteSB9ICk7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGZsZXgtZmxvdzogcm93IG5vd3JhcDtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgYWxpZ24tY29udGVudDogY2VudGVyO1xuICAgICAgICBnYXA6IGstc3BhY2luZygyKTtcblxuICAgICAgICAuay1jaGVja2JveC1sYWJlbCB7XG4gICAgICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgIH1cbiAgICB9XG4gICAgLmstY2hlY2tib3gtbGlzdC1ob3Jpem9udGFsLFxuICAgIC5rLWNoZWNrYm94LWxpc3Quay1saXN0LWhvcml6b250YWwge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBmbGV4LWZsb3c6IHJvdyB3cmFwO1xuICAgICAgICBnYXA6IHZhciggLS1rZW5kby1jaGVja2JveC1saXN0LXNwYWNpbmcsICN7ICRrZW5kby1jaGVja2JveC1saXN0LXNwYWNpbmcgfSk7XG4gICAgfVxuXG5cbiAgICAvLyBSaXBwbGVcbiAgICAuay1yaXBwbGUtY29udGFpbmVyIHtcbiAgICAgICAgLmstY2hlY2tib3g6OmFmdGVyIHtcbiAgICAgICAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICAgICAgICB3aWR0aDogdmFyKCAtLUlOVEVSTkFMLS1rZW5kby1yaXBwbGUtc2l6ZS13aWR0aCwgMzAwJSApO1xuICAgICAgICAgICAgaGVpZ2h0OiB2YXIoIC0tSU5URVJOQUwtLWtlbmRvLXJpcHBsZS1zaXplLWhlaWdodCwgMzAwJSApO1xuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICBsZWZ0OiA1MCU7XG4gICAgICAgICAgICB0b3A6IDUwJTtcbiAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDEwMCU7XG4gICAgICAgICAgICB6LWluZGV4OiAtMTtcbiAgICAgICAgICAgIHRyYW5zaXRpb246IG9wYWNpdHkgMTAwbXMgbGluZWFyLCB0cmFuc2Zvcm0gMTUwbXMgY3ViaWMtYmV6aWVyKC40LCAwLCAuMiwgMSk7XG4gICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAtNTAlKSBzY2FsZSgwKTtcbiAgICAgICAgICAgIHRyYW5zZm9ybS1vcmlnaW46IGNlbnRlciBjZW50ZXI7XG4gICAgICAgIH1cblxuICAgICAgICAuay1jaGVja2JveDpmb2N1cyxcbiAgICAgICAgLmstY2hlY2tib3guay1mb2N1cyB7XG4gICAgICAgICAgICBib3gtc2hhZG93OiBub25lICFpbXBvcnRhbnQ7IC8vIHN0eWxlbGludC1kaXNhYmxlLWxpbmUgZGVjbGFyYXRpb24tbm8taW1wb3J0YW50XG4gICAgICAgICAgICBvdXRsaW5lOiBub25lICFpbXBvcnRhbnQ7IC8vIHN0eWxlbGludC1kaXNhYmxlLWxpbmUgZGVjbGFyYXRpb24tbm8taW1wb3J0YW50XG4gICAgICAgIH1cblxuICAgICAgICAuay1jaGVja2JveDpkaXNhYmxlZDo6YWZ0ZXIsXG4gICAgICAgIC5rLWNoZWNrYm94LmstZGlzYWJsZWQ6OmFmdGVyIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgIH1cbiAgICB9XG5cblxuICAgIC8vIENoZWNrYm94IHNpemVcbiAgICBAZWFjaCAkc2l6ZSwgJHNpemUtcHJvcHMgaW4gJGtlbmRvLWNoZWNrYm94LXNpemVzIHtcbiAgICAgICAgJF9zaXplOiBtYXAuZ2V0KCAkc2l6ZS1wcm9wcywgc2l6ZSApO1xuICAgICAgICAkX2dseXBoLXNpemU6IG1hcC5nZXQoICRzaXplLXByb3BzLCBnbHlwaC1zaXplICk7XG4gICAgICAgICRfaW5kaWNhdG9yLXNpemU6IG1hcC5nZXQoICRzaXplLXByb3BzLCBpbmRpY2F0b3Itc2l6ZSApO1xuICAgICAgICAkX2luZGV0ZXJtaW5hdGUtc2l6ZTogbWFwLmdldCggJHNpemUtcHJvcHMsIGluZGV0ZXJtaW5hdGUtc2l6ZSApO1xuICAgICAgICAkX3JpcHBsZS1zaXplOiBtYXAuZ2V0KCAkc2l6ZS1wcm9wcywgcmlwcGxlLXNpemUgKTtcblxuICAgICAgICAuay1jaGVja2JveC0jeyRzaXplfSB7XG4gICAgICAgICAgICAtLUlOVEVSTkFMLS1rZW5kby1jaGVja2JveC13aWR0aDogI3skX3NpemV9O1xuICAgICAgICAgICAgLS1JTlRFUk5BTC0ta2VuZG8tY2hlY2tib3gtaGVpZ2h0OiAjeyRfc2l6ZX07XG4gICAgICAgICAgICAtLUlOVEVSTkFMLS1rZW5kby1jaGVja2JveC1nbHlwaC1zaXplOiAjeyRfZ2x5cGgtc2l6ZX07XG4gICAgICAgICAgICAtLUlOVEVSTkFMLS1rZW5kby1jaGVja2JveC1pbmRpY2F0b3Itc2l6ZTogI3skX2luZGljYXRvci1zaXplfTtcbiAgICAgICAgICAgIC0tSU5URVJOQUwtLWtlbmRvLWNoZWNrYm94LWluZGV0ZXJtaW5hdGUtc2l6ZTogI3skX2luZGV0ZXJtaW5hdGUtc2l6ZX07XG4gICAgICAgIH1cblxuICAgICAgICAuay1yaXBwbGUtY29udGFpbmVyIHtcbiAgICAgICAgICAgIC5rLWNoZWNrYm94LSN7c2l6ZX06OmFmdGVyIHtcbiAgICAgICAgICAgICAgICAtLUlOVEVSTkFMLS1rZW5kby1yaXBwbGUtc2l6ZS13aWR0aDogI3sgJF9yaXBwbGUtc2l6ZSB9O1xuICAgICAgICAgICAgICAgIC0tSU5URVJOQUwtLWtlbmRvLXJpcHBsZS1zaXplLWhlaWdodDogI3sgJF9yaXBwbGUtc2l6ZSB9O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG59XG4iLCJAdXNlIFwic2FzczptYXBcIjtcbkB1c2UgXCIuLi9jb3JlL19pbmRleC5zY3NzXCIgYXMgKjtcbkB1c2UgXCIuLi9saXN0L192YXJpYWJsZXMuc2Nzc1wiIGFzICo7XG5AdXNlIFwiQHByb2dyZXNzL2tlbmRvLXRoZW1lLWNvcmUvc2Nzcy9mdW5jdGlvbnMvaW5kZXguaW1wb3J0LnNjc3NcIiBhcyAqO1xuXG4vLyBDaGVja2JveFxuXG4vLy8gVGhlIGJvcmRlciByYWRpdXMgb2YgdGhlIENoZWNrQm94LlxuLy8vIEBncm91cCBjaGVja2JveFxuJGtlbmRvLWNoZWNrYm94LWJvcmRlci1yYWRpdXM6IG51bGwgIWRlZmF1bHQ7XG5cbi8vLyBUaGUgYm9yZGVyIHdpZHRoIG9mIHRoZSBDaGVja0JveC5cbi8vLyBAZ3JvdXAgY2hlY2tib3hcbiRrZW5kby1jaGVja2JveC1ib3JkZXItd2lkdGg6IDFweCAhZGVmYXVsdDtcblxuLy8gQSBtYXAgd2l0aCB0aGUgZGlmZmVyZW50IENoZWNrQm94IHNpemVzLlxuJGtlbmRvLWNoZWNrYm94LXNpemVzOiAoXG4gICAgc206IChcbiAgICAgICAgc2l6ZTogay1zcGFjaW5nKDQpLFxuICAgICAgICBnbHlwaC1zaXplOiBrLXNwYWNpbmcoMy41KSxcbiAgICAgICAgaW5kaWNhdG9yLXNpemU6IGstc3BhY2luZyg0KSxcbiAgICAgICAgaW5kZXRlcm1pbmF0ZS1zaXplOiBrLXNwYWNpbmcoMyksXG4gICAgICAgIHJpcHBsZS1zaXplOiAzMDAlXG4gICAgKSxcbiAgICBtZDogKFxuICAgICAgICBzaXplOiBrLXNwYWNpbmcoNSksXG4gICAgICAgIGdseXBoLXNpemU6IGstc3BhY2luZyg0LjUpLFxuICAgICAgICBpbmRpY2F0b3Itc2l6ZTogay1zcGFjaW5nKDQpLFxuICAgICAgICBpbmRldGVybWluYXRlLXNpemU6IGstc3BhY2luZyg0KSxcbiAgICAgICAgcmlwcGxlLXNpemU6IDMwMCVcbiAgICApLFxuICAgIGxnOiAoXG4gICAgICAgIHNpemU6IGstc3BhY2luZyg2KSxcbiAgICAgICAgZ2x5cGgtc2l6ZTogay1zcGFjaW5nKDUuNSksXG4gICAgICAgIGluZGljYXRvci1zaXplOiBrLXNwYWNpbmcoNCksXG4gICAgICAgIGluZGV0ZXJtaW5hdGUtc2l6ZTogay1zcGFjaW5nKDUpLFxuICAgICAgICByaXBwbGUtc2l6ZTogMzAwJVxuICAgIClcbikgIWRlZmF1bHQ7XG5cbi8vLyBUaGUgYmFja2dyb3VuZCBjb2xvciBvZiB0aGUgQ2hlY2tCb3guXG4vLy8gQGdyb3VwIGNoZWNrYm94XG4ka2VuZG8tY2hlY2tib3gtYmc6ICRrZW5kby1jb21wb25lbnQtYmcgIWRlZmF1bHQ7XG4vLy8gVGhlIHRleHQgY29sb3Igb2YgdGhlIENoZWNrQm94LlxuLy8vIEBncm91cCBjaGVja2JveFxuJGtlbmRvLWNoZWNrYm94LXRleHQ6IHRyYW5zcGFyZW50ICFkZWZhdWx0O1xuLy8vIFRoZSBib3JkZXIgY29sb3Igb2YgdGhlIENoZWNrQm94LlxuLy8vIEBncm91cCBjaGVja2JveFxuJGtlbmRvLWNoZWNrYm94LWJvcmRlcjogaWYoJGtlbmRvLWVuYWJsZS1jb2xvci1zeXN0ZW0sIGstY29sb3IoIGJvcmRlci1hbHQgKSwgay1nZXQtdGhlbWUtY29sb3ItdmFyKCBuZXV0cmFsLTE2MCApKSAhZGVmYXVsdDtcblxuLy8vIFRoZSBiYWNrZ3JvdW5kIGNvbG9yIG9mIHRoZSBob3ZlcmVkIENoZWNrQm94LlxuLy8vIEBncm91cCBjaGVja2JveFxuJGtlbmRvLWNoZWNrYm94LWhvdmVyLWJnOiAka2VuZG8tY2hlY2tib3gtYmcgIWRlZmF1bHQ7XG4vLy8gVGhlIHRleHQgY29sb3Igb2YgdGhlIGhvdmVyZWQgQ2hlY2tCb3guXG4vLy8gQGdyb3VwIGNoZWNrYm94XG4ka2VuZG8tY2hlY2tib3gtaG92ZXItdGV4dDogaWYoJGtlbmRvLWVuYWJsZS1jb2xvci1zeXN0ZW0sIGstY29sb3IoIG9uLWFwcC1zdXJmYWNlICksIGstZ2V0LXRoZW1lLWNvbG9yKCBuZXV0cmFsLCAxMzAgKSkgIWRlZmF1bHQ7XG4vLy8gVGhlIGJvcmRlciBjb2xvciBvZiB0aGUgaG92ZXJlZCBDaGVja0JveC5cbi8vLyBAZ3JvdXAgY2hlY2tib3hcbiRrZW5kby1jaGVja2JveC1ob3Zlci1ib3JkZXI6ICRrZW5kby1jaGVja2JveC1ib3JkZXIgIWRlZmF1bHQ7XG5cbi8vLyBUaGUgYmFja2dyb3VuZCBjb2xvciBvZiB0aGUgY2hlY2tlZCBDaGVja0JveC5cbi8vLyBAZ3JvdXAgY2hlY2tib3hcbiRrZW5kby1jaGVja2JveC1jaGVja2VkLWJnOiBpZigka2VuZG8tZW5hYmxlLWNvbG9yLXN5c3RlbSwgay1jb2xvciggcHJpbWFyeSApLCBrLWdldC10aGVtZS1jb2xvci12YXIoIHByaW1hcnktMTAwICkpICFkZWZhdWx0O1xuLy8vIFRoZSB0ZXh0IGNvbG9yIG9mIHRoZSBjaGVja2VkIENoZWNrQm94LlxuLy8vIEBncm91cCBjaGVja2JveFxuJGtlbmRvLWNoZWNrYm94LWNoZWNrZWQtdGV4dDogaWYoJGtlbmRvLWVuYWJsZS1jb2xvci1zeXN0ZW0sIGstY29sb3IoIGFwcC1zdXJmYWNlICksICRrZW5kby1jb2xvci13aGl0ZSkgIWRlZmF1bHQ7XG4vLy8gVGhlIGJvcmRlciBjb2xvciBvZiB0aGUgY2hlY2tlZCBDaGVja0JveC5cbi8vLyBAZ3JvdXAgY2hlY2tib3hcbiRrZW5kby1jaGVja2JveC1jaGVja2VkLWJvcmRlcjogJGtlbmRvLWNoZWNrYm94LWNoZWNrZWQtYmcgIWRlZmF1bHQ7XG5cbi8vLyBUaGUgYmFja2dyb3VuZCBvZiB0aGUgaG92ZXJlZCBhbmQgY2hlY2tlZCBDaGVja0JveC5cbi8vLyBAZ3JvdXAgY2hlY2tib3hcbiRrZW5kby1jaGVja2JveC1ob3Zlci1jaGVja2VkLWJnOiBpZigka2VuZG8tZW5hYmxlLWNvbG9yLXN5c3RlbSwgay1jb2xvciggcHJpbWFyeS1ob3ZlciApLCBrLWdldC10aGVtZS1jb2xvci12YXIoIHByaW1hcnktMTEwICkpICFkZWZhdWx0O1xuLy8vIFRoZSB0ZXh0IGNvbG9yIG9mIHRoZSBob3ZlcmVkIGFuZCBjaGVja2VkIENoZWNrQm94LlxuLy8vIEBncm91cCBjaGVja2JveFxuJGtlbmRvLWNoZWNrYm94LWhvdmVyLWNoZWNrZWQtdGV4dDogaWYoJGtlbmRvLWVuYWJsZS1jb2xvci1zeXN0ZW0sIGstY29sb3IoIGFwcC1zdXJmYWNlICksICRrZW5kby1jb2xvci13aGl0ZSkgIWRlZmF1bHQ7XG4vLy8gVGhlIGJvcmRlciBjb2xvciBvZiB0aGUgaG92ZXJlZCBhbmQgY2hlY2tlZCBDaGVja0JveC5cbi8vLyBAZ3JvdXAgY2hlY2tib3hcbiRrZW5kby1jaGVja2JveC1ob3Zlci1jaGVja2VkLWJvcmRlcjogJGtlbmRvLWNoZWNrYm94LWhvdmVyLWNoZWNrZWQtYmcgIWRlZmF1bHQ7XG5cbi8vLyBUaGUgYm9yZGVyIGNvbG9yIG9mIHRoZSBmb2N1c2VkIENoZWNrQm94LlxuLy8vIEBncm91cCBjaGVja2JveFxuJGtlbmRvLWNoZWNrYm94LWZvY3VzLWJvcmRlcjogbnVsbCAhZGVmYXVsdDtcbi8vLyBUaGUgYm94IHNoYWRvdyBvZiB0aGUgZm9jdXNlZCBDaGVja0JveC5cbi8vLyBAZ3JvdXAgY2hlY2tib3hcbiRrZW5kby1jaGVja2JveC1mb2N1cy1zaGFkb3c6IG51bGwgIWRlZmF1bHQ7XG4vLy8gVGhlIG91dGxpbmUgb2YgdGhlIGZvY3VzZWQgQ2hlY2tCb3guXG4vLy8gQGdyb3VwIGNoZWNrYm94XG4ka2VuZG8tY2hlY2tib3gtZm9jdXMtb3V0bGluZTogMXB4IHNvbGlkIGlmKCRrZW5kby1lbmFibGUtY29sb3Itc3lzdGVtLCBrLWNvbG9yKCBiYXNlLWVtcGhhc2lzICksIGstZ2V0LXRoZW1lLWNvbG9yLXZhciggbmV1dHJhbC0xMzAgKSkgIWRlZmF1bHQ7XG4ka2VuZG8tY2hlY2tib3gtZm9jdXMtb3V0bGluZS1vZmZzZXQ6IDJweCAhZGVmYXVsdDtcblxuLy8vIFRoZSBiYWNrZ3JvdW5kIGNvbG9yIG9mIHRoZSBpbmRldGVybWluYXRlIENoZWNrQm94LlxuLy8vIEBncm91cCBjaGVja2JveFxuJGtlbmRvLWNoZWNrYm94LWluZGV0ZXJtaW5hdGUtYmc6ICRrZW5kby1jaGVja2JveC1iZyAhZGVmYXVsdDtcbi8vLyBUaGUgdGV4dCBjb2xvciBvZiB0aGUgaW5kZXRlcm1pbmF0ZSBDaGVja0JveC5cbi8vLyBAZ3JvdXAgY2hlY2tib3hcbiRrZW5kby1jaGVja2JveC1pbmRldGVybWluYXRlLXRleHQ6IGlmKCRrZW5kby1lbmFibGUtY29sb3Itc3lzdGVtLCBrLWNvbG9yKCBwcmltYXJ5ICksIGstZ2V0LXRoZW1lLWNvbG9yKCBwcmltYXJ5LCAxMDAgKSkgIWRlZmF1bHQ7XG4vLy8gVGhlIGJvcmRlciBjb2xvciBvZiB0aGUgaW5kZXRlcm1pbmF0ZSBDaGVja0JveC5cbi8vLyBAZ3JvdXAgY2hlY2tib3hcbiRrZW5kby1jaGVja2JveC1pbmRldGVybWluYXRlLWJvcmRlcjogaWYoJGtlbmRvLWVuYWJsZS1jb2xvci1zeXN0ZW0sIGstY29sb3IoIHByaW1hcnkgKSwgay1nZXQtdGhlbWUtY29sb3ItdmFyKCBwcmltYXJ5LTEwMCApKSAhZGVmYXVsdDtcblxuLy8vIFRoZSBiYWNrZ3JvdW5kIGNvbG9yIG9mIHRoZSBob3ZlcmVkIGFuZCBpbmRldGVybWluYXRlIENoZWNrQm94LlxuLy8vIEBncm91cCBjaGVja2JveFxuJGtlbmRvLWNoZWNrYm94LWhvdmVyLWluZGV0ZXJtaW5hdGUtYmc6ICRrZW5kby1jaGVja2JveC1iZyAhZGVmYXVsdDtcbi8vLyBUaGUgdGV4dCBjb2xvciBvZiB0aGUgaG92ZXJlZCBhbmQgaW5kZXRlcm1pbmF0ZSBDaGVja0JveC5cbi8vLyBAZ3JvdXAgY2hlY2tib3hcbiRrZW5kby1jaGVja2JveC1ob3Zlci1pbmRldGVybWluYXRlLXRleHQ6IGlmKCRrZW5kby1lbmFibGUtY29sb3Itc3lzdGVtLCBrLWNvbG9yKCBwcmltYXJ5LWhvdmVyICksIGstZ2V0LXRoZW1lLWNvbG9yKCBwcmltYXJ5LCAxMTAgKSkgIWRlZmF1bHQ7XG4vLy8gVGhlIGJvcmRlciBjb2xvciBvZiB0aGUgaG92ZXJlZCBhbmQgaW5kZXRlcm1pbmF0ZSBDaGVja0JveC5cbi8vLyBAZ3JvdXAgY2hlY2tib3hcbiRrZW5kby1jaGVja2JveC1ob3Zlci1pbmRldGVybWluYXRlLWJvcmRlcjogaWYoJGtlbmRvLWVuYWJsZS1jb2xvci1zeXN0ZW0sIGstY29sb3IoIHByaW1hcnktaG92ZXIgKSwgay1nZXQtdGhlbWUtY29sb3ItdmFyKCBwcmltYXJ5LTExMCApKSAhZGVmYXVsdDtcblxuLy8vIFRoZSBiYWNrZ3JvdW5kIGNvbG9yIG9mIHRoZSBkaXNhYmxlZCBDaGVja0JveC5cbi8vLyBAZ3JvdXAgY2hlY2tib3hcbiRrZW5kby1jaGVja2JveC1kaXNhYmxlZC1iZzogJGtlbmRvLWNoZWNrYm94LWJnICFkZWZhdWx0O1xuLy8vIFRoZSB0ZXh0IGNvbG9yIG9mIHRoZSBkaXNhYmxlZCBDaGVja0JveC5cbi8vLyBAZ3JvdXAgY2hlY2tib3hcbiRrZW5kby1jaGVja2JveC1kaXNhYmxlZC10ZXh0OiBpZigka2VuZG8tZW5hYmxlLWNvbG9yLXN5c3RlbSwgY29sb3ItbWl4KGluIHNyZ2IsIGstY29sb3IoIG9uLWFwcC1zdXJmYWNlICkgMjglLCB0cmFuc3BhcmVudCksIGstZ2V0LXRoZW1lLWNvbG9yLXZhciggbmV1dHJhbC02MCApKSAhZGVmYXVsdDtcbi8vLyBUaGUgYm9yZGVyIGNvbG9yIG9mIHRoZSBkaXNhYmxlZCBDaGVja0JveC5cbi8vLyBAZ3JvdXAgY2hlY2tib3hcbiRrZW5kby1jaGVja2JveC1kaXNhYmxlZC1ib3JkZXI6IGlmKCRrZW5kby1lbmFibGUtY29sb3Itc3lzdGVtLCBjb2xvci1taXgoaW4gc3JnYiwgay1jb2xvciggb24tYXBwLXN1cmZhY2UgKSAyOCUsIHRyYW5zcGFyZW50KSwgay1nZXQtdGhlbWUtY29sb3ItdmFyKCBuZXV0cmFsLTYwICkpICFkZWZhdWx0O1xuXG4vLy8gVGhlIGJhY2tncm91bmQgY29sb3Igb2YgdGhlIGRpc2FibGVkIGFuZCBjaGVja2VkIENoZWNrQm94LlxuLy8vIEBncm91cCBjaGVja2JveFxuJGtlbmRvLWNoZWNrYm94LWRpc2FibGVkLWNoZWNrZWQtYmc6IGlmKCRrZW5kby1lbmFibGUtY29sb3Itc3lzdGVtLCBjb2xvci1taXgoaW4gc3JnYiwgay1jb2xvciggb24tYXBwLXN1cmZhY2UgKSAyOCUsIHRyYW5zcGFyZW50KSwgay1nZXQtdGhlbWUtY29sb3ItdmFyKCBuZXV0cmFsLTYwICkpICFkZWZhdWx0O1xuLy8vIFRoZSB0ZXh0IGNvbG9yIG9mIHRoZSBkaXNhYmxlZCBhbmQgY2hlY2tlZCBDaGVja0JveC5cbi8vLyBAZ3JvdXAgY2hlY2tib3hcbiRrZW5kby1jaGVja2JveC1kaXNhYmxlZC1jaGVja2VkLXRleHQ6IGlmKCRrZW5kby1lbmFibGUtY29sb3Itc3lzdGVtLCBrLWNvbG9yKCBhcHAtc3VyZmFjZSApLCAka2VuZG8tY29sb3Itd2hpdGUpICFkZWZhdWx0O1xuLy8vIFRoZSBib3JkZXIgY29sb3Igb2YgdGhlIGRpc2FibGVkIGFuZCBjaGVja2VkIENoZWNrQm94LlxuLy8vIEBncm91cCBjaGVja2JveFxuJGtlbmRvLWNoZWNrYm94LWRpc2FibGVkLWNoZWNrZWQtYm9yZGVyOiBpZigka2VuZG8tZW5hYmxlLWNvbG9yLXN5c3RlbSwgdHJhbnNwYXJlbnQsIGstZ2V0LXRoZW1lLWNvbG9yLXZhciggbmV1dHJhbC02MCApKSAhZGVmYXVsdDtcblxuLy8vIFRoZSBiYWNrZ3JvdW5kIGNvbG9yIG9mIHRoZSBkaXNhYmxlZCBhbmQgaW5kZXRlcm1pbmF0ZSBDaGVja0JveC5cbi8vLyBAZ3JvdXAgY2hlY2tib3hcbiRrZW5kby1jaGVja2JveC1kaXNhYmxlZC1pbmRldGVybWluYXRlLWJnOiAka2VuZG8tY2hlY2tib3gtYmcgIWRlZmF1bHQ7XG4vLy8gVGhlIGJvcmRlciBjb2xvciBvZiB0aGUgZGlzYWJsZWQgYW5kIGluZGV0ZXJtaW5hdGUgQ2hlY2tCb3guXG4vLy8gQGdyb3VwIGNoZWNrYm94XG4ka2VuZG8tY2hlY2tib3gtZGlzYWJsZWQtaW5kZXRlcm1pbmF0ZS10ZXh0OiBpZigka2VuZG8tZW5hYmxlLWNvbG9yLXN5c3RlbSwgY29sb3ItbWl4KGluIHNyZ2IsIGstY29sb3IoIG9uLWFwcC1zdXJmYWNlICkgMjglLCB0cmFuc3BhcmVudCksIGstZ2V0LXRoZW1lLWNvbG9yKCBuZXV0cmFsLCA2MCApKSAhZGVmYXVsdDtcbi8vLyBUaGUgYm9yZGVyIGNvbG9yIG9mIHRoZSBkaXNhYmxlZCBhbmQgaW5kZXRlcm1pbmF0ZSBDaGVja0JveC5cbi8vLyBAZ3JvdXAgY2hlY2tib3hcbiRrZW5kby1jaGVja2JveC1kaXNhYmxlZC1pbmRldGVybWluYXRlLWJvcmRlcjogaWYoJGtlbmRvLWVuYWJsZS1jb2xvci1zeXN0ZW0sIGNvbG9yLW1peChpbiBzcmdiLCBrLWNvbG9yKCBvbi1hcHAtc3VyZmFjZSApIDI4JSwgdHJhbnNwYXJlbnQpLCBrLWdldC10aGVtZS1jb2xvci12YXIoIG5ldXRyYWwtNjAgKSkgIWRlZmF1bHQ7XG5cbi8vLyBUaGUgYmFja2dyb3VuZCBjb2xvciBvZiBhbiBpbnZhbGlkIENoZWNrQm94LlxuLy8vIEBncm91cCBjaGVja2JveFxuJGtlbmRvLWNoZWNrYm94LWludmFsaWQtYmc6ICRrZW5kby1jaGVja2JveC1iZyAhZGVmYXVsdDtcbi8vLyBUaGUgdGV4dCBjb2xvciBvZiBhbiBpbnZhbGlkIENoZWNrQm94LlxuLy8vIEBncm91cCBjaGVja2JveFxuJGtlbmRvLWNoZWNrYm94LWludmFsaWQtdGV4dDogJGtlbmRvLWludmFsaWQtdGV4dCAhZGVmYXVsdDtcbi8vLyBUaGUgYm9yZGVyIGNvbG9yIG9mIGFuIGludmFsaWQgQ2hlY2tCb3guXG4vLy8gQGdyb3VwIGNoZWNrYm94XG4ka2VuZG8tY2hlY2tib3gtaW52YWxpZC1ib3JkZXI6ICRrZW5kby1pbnZhbGlkLWJvcmRlciAhZGVmYXVsdDtcblxuXG4vLyBDaGVja2JveCBpbmRpY2F0b3JcblxuLy8vIFRoZSB0eXBlIG9mIHRoZSBDaGVja0JveCBpbmRpY2F0b3IuXG4vLy8gQGdyb3VwIGNoZWNrYm94XG4ka2VuZG8tY2hlY2tib3gtaW5kaWNhdG9yLXR5cGU6IGltYWdlICFkZWZhdWx0O1xuXG4vLy8gVGhlIGZvbnQgZmFtaWx5IG9mIHRoZSBDaGVja0JveCBpbmRpY2F0b3IgZ2x5cGguXG4vLy8gQGdyb3VwIGNoZWNrYm94XG4ka2VuZG8tY2hlY2tib3gtZ2x5cGgtZm9udC1mYW1pbHk6IFwiV2ViQ29tcG9uZW50c0ljb25zXCIsIG1vbm9zcGFjZSAhZGVmYXVsdDtcbi8vLyBUaGUgZ2x5cGggb2YgdGhlIENoZWNrQm94IGluZGljYXRvci5cbi8vLyBAZ3JvdXAgY2hlY2tib3hcbiRrZW5kby1jaGVja2JveC1jaGVja2VkLWdseXBoOiBcIlxcZTExOFwiICFkZWZhdWx0O1xuLy8vIFRoZSBnbHlwaCBvZiB0aGUgaW5kZXRlcm1pbmF0ZSBDaGVja0JveCBpbmRpY2F0b3IuXG4vLy8gQGdyb3VwIGNoZWNrYm94XG4ka2VuZG8tY2hlY2tib3gtaW5kZXRlcm1pbmF0ZS1nbHlwaDogXCJcXGUxMjFcIiAhZGVmYXVsdDtcblxuLy8vIFRoZSBpbWFnZSBvZiB0aGUgaG92ZXJlZCBDaGVja0JveCBpbmRpY2F0b3IuXG4vLy8gQGdyb3VwIGNoZWNrYm94XG4ka2VuZG8tY2hlY2tib3gtaG92ZXItaW1hZ2U6IGstZXNjYXBlLXN2ZyggdXJsKFwiZGF0YTppbWFnZS9zdmcreG1sLDxzdmcgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyB2aWV3Qm94PScwIDAgMTYgMTYnPjxwYXRoIGZpbGw9J25vbmUnIHN0cm9rZT0nIzMyMzEzMCcgc3Ryb2tlLWxpbmVjYXA9J3NxdWFyZScgc3Ryb2tlLWxpbmVqb2luPSdzcXVhcmUnIHN0cm9rZS13aWR0aD0nMicgZD0nTTMsOCBsMywzIGw3LTcnLz48L3N2Zz5cIikgKSAhZGVmYXVsdDtcbi8vLyBUaGUgaW1hZ2Ugb2YgdGhlIGNoZWNrZWQgQ2hlY2tCb3ggaW5kaWNhdG9yLlxuLy8vIEBncm91cCBjaGVja2JveFxuJGtlbmRvLWNoZWNrYm94LWNoZWNrZWQtaW1hZ2U6IGstZXNjYXBlLXN2ZyggdXJsKFwiZGF0YTppbWFnZS9zdmcreG1sLDxzdmcgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyB2aWV3Qm94PScwIDAgMTYgMTYnPjxwYXRoIGZpbGw9J25vbmUnIHN0cm9rZT0nI2ZmZmZmZicgc3Ryb2tlLWxpbmVjYXA9J3NxdWFyZScgc3Ryb2tlLWxpbmVqb2luPSdzcXVhcmUnIHN0cm9rZS13aWR0aD0nMicgZD0nTTMsOCBsMywzIGw3LTcnLz48L3N2Zz5cIikgKSAhZGVmYXVsdDtcbi8vLyBUaGUgaW1hZ2Ugb2YgdGhlIGluZGV0ZXJtaW5hdGUgQ2hlY2tCb3ggaW5kaWNhdG9yLlxuLy8vIEBncm91cCBjaGVja2JveFxuJGtlbmRvLWNoZWNrYm94LWluZGV0ZXJtaW5hdGUtaW1hZ2U6IGstZXNjYXBlLXN2ZyggdXJsKFwiZGF0YTppbWFnZS9zdmcreG1sLDxzdmcgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyB2aWV3Qm94PScwIDAgMTYgMTYnPjxyZWN0IHg9JzMnIHk9JzMnIHdpZHRoPScxMCcgaGVpZ2h0PScxMCcgcng9JzInIGZpbGw9JyMwMDc4ZDQnLz48L3N2Zz5cIikgKSAhZGVmYXVsdDtcbi8vLyBUaGUgaW1hZ2Ugb2YgdGhlIGhvdmVyZWQgYW5kIGNoZWNrZWQgQ2hlY2tCb3ggaW5kaWNhdG9yLlxuLy8vIEBncm91cCBjaGVja2JveFxuJGtlbmRvLWNoZWNrYm94LWhvdmVyLWNoZWNrZWQtaW1hZ2U6IGstZXNjYXBlLXN2ZyggdXJsKFwiZGF0YTppbWFnZS9zdmcreG1sLDxzdmcgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyB2aWV3Qm94PScwIDAgMTYgMTYnPjxwYXRoIGZpbGw9J25vbmUnIHN0cm9rZT0nI2ZmZmZmZicgc3Ryb2tlLWxpbmVjYXA9J3NxdWFyZScgc3Ryb2tlLWxpbmVqb2luPSdzcXVhcmUnIHN0cm9rZS13aWR0aD0nMicgZD0nTTMsOCBsMywzIGw3LTcnLz48L3N2Zz5cIikgKSAhZGVmYXVsdDtcbi8vLyBUaGUgaW1hZ2Ugb2YgdGhlIGhvdmVyZWQgYW5kIGluZGV0ZXJtaW5hdGUgQ2hlY2tCb3ggaW5kaWNhdG9yLlxuLy8vIEBncm91cCBjaGVja2JveFxuJGtlbmRvLWNoZWNrYm94LWhvdmVyLWluZGV0ZXJtaW5hdGUtaW1hZ2U6IGstZXNjYXBlLXN2ZyggdXJsKFwiZGF0YTppbWFnZS9zdmcreG1sLDxzdmcgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyB2aWV3Qm94PScwIDAgMTYgMTYnPjxyZWN0IHg9JzMnIHk9JzMnIHdpZHRoPScxMCcgaGVpZ2h0PScxMCcgcng9JzInIGZpbGw9JyMxMDZlYmUnLz48L3N2Zz5cIikgKSAhZGVmYXVsdDtcbi8vLyBUaGUgaW1hZ2Ugb2YgdGhlIGNoZWNrZWQgQ2hlY2tCb3ggaW5kaWNhdG9yLlxuLy8vIEBncm91cCBjaGVja2JveFxuJGtlbmRvLWNoZWNrYm94LWRpc2FibGVkLWNoZWNrZWQtaW1hZ2U6IGstZXNjYXBlLXN2ZyggdXJsKFwiZGF0YTppbWFnZS9zdmcreG1sLDxzdmcgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyB2aWV3Qm94PScwIDAgMTYgMTYnPjxwYXRoIGZpbGw9J25vbmUnIHN0cm9rZT0nI2ZmZmZmZicgc3Ryb2tlLWxpbmVjYXA9J3NxdWFyZScgc3Ryb2tlLWxpbmVqb2luPSdzcXVhcmUnIHN0cm9rZS13aWR0aD0nMicgZD0nTTMsOCBsMywzIGw3LTcnLz48L3N2Zz5cIikgKSAhZGVmYXVsdDtcbi8vLyBUaGUgaW1hZ2Ugb2YgdGhlIGluZGV0ZXJtaW5hdGUgQ2hlY2tCb3ggaW5kaWNhdG9yLlxuLy8vIEBncm91cCBjaGVja2JveFxuJGtlbmRvLWNoZWNrYm94LWRpc2FibGVkLWluZGV0ZXJtaW5hdGUtaW1hZ2U6IGstZXNjYXBlLXN2ZyggdXJsKFwiZGF0YTppbWFnZS9zdmcreG1sLDxzdmcgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyB2aWV3Qm94PScwIDAgMTYgMTYnPjxyZWN0IHg9JzMnIHk9JzMnIHdpZHRoPScxMCcgaGVpZ2h0PScxMCcgcng9JzInIGZpbGw9JyMzMjMxMzAnLz48L3N2Zz5cIikgKSAhZGVmYXVsdDtcblxuXG4vLyBDaGVja2JveCBsYWJlbFxuXG4vLy8gVGhlIGhvcml6b250YWwgbWFyZ2luIG9mIHRoZSBDaGVja0JveCBpbnNpZGUgYSBsYWJlbC5cbi8vLyBAZ3JvdXAgY2hlY2tib3hcbiRrZW5kby1jaGVja2JveC1sYWJlbC1tYXJnaW4teDogay1zcGFjaW5nKDIpICFkZWZhdWx0O1xuXG5cbi8vIENoZWNrYm94IGxpc3RcblxuLy8vIFRoZSBzcGFjaW5nIGJldHdlZW4gdGhlIGl0ZW1zIGluIGEgaG9yaXpvbnRhbCBDaGVja0JveCBsaXN0LlxuLy8vIEBncm91cCBjaGVja2JveFxuJGtlbmRvLWNoZWNrYm94LWxpc3Qtc3BhY2luZzogay1zcGFjaW5nKDQpICFkZWZhdWx0O1xuLy8vIFRoZSBob3Jpem9udGFsIHBhZGRpbmcgb2YgdGhlIENoZWNrQm94IGxpc3QgaXRlbXMuXG4vLy8gQGdyb3VwIGNoZWNrYm94XG4ka2VuZG8tY2hlY2tib3gtbGlzdC1pdGVtLXBhZGRpbmcteDogay1zcGFjaW5nKDApICFkZWZhdWx0O1xuLy8vIFRoZSB2ZXJ0aWNhbCBwYWRkaW5nIG9mIHRoZSBDaGVja0JveCBsaXN0IGl0ZW1zLlxuLy8vIEBncm91cCBjaGVja2JveFxuJGtlbmRvLWNoZWNrYm94LWxpc3QtaXRlbS1wYWRkaW5nLXk6ICRrZW5kby1saXN0LW1kLWl0ZW0tcGFkZGluZy15ICFkZWZhdWx0O1xuXG5cbi8vIENoZWNrYm94IHJpcHBsZVxuXG4vLy8gVGhlIGJhY2tncm91bmQgY29sb3Igb2YgdGhlIENoZWNrQm94JyByaXBwbGUuXG4vLy8gQGdyb3VwIGNoZWNrYm94XG4ka2VuZG8tY2hlY2tib3gtcmlwcGxlLWJnOiBpZigka2VuZG8tZW5hYmxlLWNvbG9yLXN5c3RlbSwgay1jb2xvciggcHJpbWFyeSApLCBrLWdldC10aGVtZS1jb2xvci12YXIoIHByaW1hcnktMTAwICkpICFkZWZhdWx0O1xuLy8vIFRoZSBvcGFjaXR5IG9mIHRoZSBDaGVja0JveCcgcmlwcGxlLlxuLy8vIEBncm91cCBjaGVja2JveFxuJGtlbmRvLWNoZWNrYm94LXJpcHBsZS1vcGFjaXR5OiAuMjUgIWRlZmF1bHQ7XG4iLCJAdXNlIFwiLi4vY29yZS9faW5kZXguc2Nzc1wiIGFzICo7XG5AdXNlIFwiLi9fdmFyaWFibGVzLnNjc3NcIiBhcyAqO1xuXG5AbWl4aW4ga2VuZG8tY2hlY2tib3gtLXRoZW1lKCkge1xuXG4gICAgLy8gQ2hlY2tib3hcbiAgICAuay1jaGVja2JveCB7XG4gICAgICAgIEBpbmNsdWRlIGZpbGwoXG4gICAgICAgICAgICB2YXIoIC0ta2VuZG8tY2hlY2tib3gtdGV4dCwgI3ska2VuZG8tY2hlY2tib3gtdGV4dH0gKSxcbiAgICAgICAgICAgIHZhciggLS1rZW5kby1jaGVja2JveC1iZywgI3ska2VuZG8tY2hlY2tib3gtYmd9ICksXG4gICAgICAgICAgICB2YXIoIC0ta2VuZG8tY2hlY2tib3gtYm9yZGVyLCAjeyRrZW5kby1jaGVja2JveC1ib3JkZXJ9IClcbiAgICAgICAgKTtcbiAgICB9XG5cblxuICAgIC8vIEhvdmVyIHN0YXRlXG4gICAgLmstY2hlY2tib3g6aG92ZXIsXG4gICAgLmstY2hlY2tib3guay1ob3ZlciB7XG4gICAgICAgIEBpbmNsdWRlIGZpbGwoXG4gICAgICAgICAgICB2YXIoIC0ta2VuZG8tY2hlY2tib3gtaG92ZXItdGV4dCwgI3ska2VuZG8tY2hlY2tib3gtaG92ZXItdGV4dH0gKSxcbiAgICAgICAgICAgIHZhciggLS1rZW5kby1jaGVja2JveC1ob3Zlci1iZywgI3ska2VuZG8tY2hlY2tib3gtaG92ZXItYmd9ICksXG4gICAgICAgICAgICB2YXIoIC0ta2VuZG8tY2hlY2tib3gtaG92ZXItYm9yZGVyLCAjeyRrZW5kby1jaGVja2JveC1ob3Zlci1ib3JkZXJ9IClcbiAgICAgICAgKTtcbiAgICB9XG5cblxuICAgIC8vIEZvY3VzIHN0YXRlXG4gICAgLmstY2hlY2tib3g6Zm9jdXMsXG4gICAgLmstY2hlY2tib3guay1mb2N1cyB7XG4gICAgICAgIGJveC1zaGFkb3c6ICRrZW5kby1jaGVja2JveC1mb2N1cy1zaGFkb3c7XG4gICAgICAgIG91dGxpbmU6ICRrZW5kby1jaGVja2JveC1mb2N1cy1vdXRsaW5lO1xuICAgIH1cblxuXG4gICAgLy8gQ2hlY2tlZCBzdGF0ZVxuICAgIC5rLWNoZWNrYm94OmNoZWNrZWQsXG4gICAgLmstY2hlY2tib3guay1jaGVja2VkIHtcbiAgICAgICAgQGluY2x1ZGUgZmlsbChcbiAgICAgICAgICAgIHZhciggLS1rZW5kby1jaGVja2JveC1jaGVja2VkLXRleHQsICN7JGtlbmRvLWNoZWNrYm94LWNoZWNrZWQtdGV4dH0gKSxcbiAgICAgICAgICAgIHZhciggLS1rZW5kby1jaGVja2JveC1jaGVja2VkLWJnLCAjeyRrZW5kby1jaGVja2JveC1jaGVja2VkLWJnfSApLFxuICAgICAgICAgICAgdmFyKCAtLWtlbmRvLWNoZWNrYm94LWNoZWNrZWQtYm9yZGVyLCAjeyRrZW5kby1jaGVja2JveC1jaGVja2VkLWJvcmRlcn0gKVxuICAgICAgICApO1xuICAgIH1cblxuXG4gICAgLy8gSG92ZXIgY2hlY2tlZCBzdGF0ZVxuICAgIC5rLWNoZWNrYm94OmNoZWNrZWQ6aG92ZXIsXG4gICAgLmstY2hlY2tib3guay1jaGVja2VkLmstaG92ZXIge1xuICAgICAgICBAaW5jbHVkZSBmaWxsKFxuICAgICAgICAgICAgdmFyKCAtLWtlbmRvLWNoZWNrYm94LWhvdmVyLWNoZWNrZWQtdGV4dCwgI3ska2VuZG8tY2hlY2tib3gtaG92ZXItY2hlY2tlZC10ZXh0fSApLFxuICAgICAgICAgICAgdmFyKCAtLWtlbmRvLWNoZWNrYm94LWhvdmVyLWNoZWNrZWQtYmcsICN7JGtlbmRvLWNoZWNrYm94LWhvdmVyLWNoZWNrZWQtYmd9ICksXG4gICAgICAgICAgICB2YXIoIC0ta2VuZG8tY2hlY2tib3gtaG92ZXItY2hlY2tlZC1ib3JkZXIsICN7JGtlbmRvLWNoZWNrYm94LWhvdmVyLWNoZWNrZWQtYm9yZGVyfSApXG4gICAgICAgICk7XG4gICAgfVxuXG5cbiAgICAvLyBJbmRldGVybWluYXRlIHN0YXRlXG4gICAgLmstY2hlY2tib3g6aW5kZXRlcm1pbmF0ZSxcbiAgICAuay1jaGVja2JveC5rLWluZGV0ZXJtaW5hdGUge1xuICAgICAgICBAaW5jbHVkZSBmaWxsKFxuICAgICAgICAgICAgdmFyKCAtLWtlbmRvLWNoZWNrYm94LWluZGV0ZXJtaW5hdGUtdGV4dCwgI3ska2VuZG8tY2hlY2tib3gtaW5kZXRlcm1pbmF0ZS10ZXh0fSApLFxuICAgICAgICAgICAgdmFyKCAtLWtlbmRvLWNoZWNrYm94LWluZGV0ZXJtaW5hdGUtYmcsICN7JGtlbmRvLWNoZWNrYm94LWluZGV0ZXJtaW5hdGUtYmd9ICksXG4gICAgICAgICAgICB2YXIoIC0ta2VuZG8tY2hlY2tib3gtaW5kZXRlcm1pbmF0ZS1ib3JkZXIsICN7JGtlbmRvLWNoZWNrYm94LWluZGV0ZXJtaW5hdGUtYm9yZGVyfSApXG4gICAgICAgICk7XG4gICAgfVxuXG5cbiAgICAvLyBIb3ZlciBpbmRldGVybWluYXRlIHN0YXRlXG4gICAgLmstY2hlY2tib3g6aW5kZXRlcm1pbmF0ZTpob3ZlcixcbiAgICAuay1jaGVja2JveC5rLWluZGV0ZXJtaW5hdGUuay1ob3ZlciB7XG4gICAgICAgIEBpbmNsdWRlIGZpbGwoXG4gICAgICAgICAgICB2YXIoIC0ta2VuZG8tY2hlY2tib3gtaG92ZXItaW5kZXRlcm1pbmF0ZS10ZXh0LCAjeyRrZW5kby1jaGVja2JveC1ob3Zlci1pbmRldGVybWluYXRlLXRleHR9ICksXG4gICAgICAgICAgICB2YXIoIC0ta2VuZG8tY2hlY2tib3gtaG92ZXItaW5kZXRlcm1pbmF0ZS1iZywgI3ska2VuZG8tY2hlY2tib3gtaG92ZXItaW5kZXRlcm1pbmF0ZS1iZ30gKSxcbiAgICAgICAgICAgIHZhciggLS1rZW5kby1jaGVja2JveC1ob3Zlci1pbmRldGVybWluYXRlLWJvcmRlciwgI3ska2VuZG8tY2hlY2tib3gtaG92ZXItaW5kZXRlcm1pbmF0ZS1ib3JkZXJ9IClcbiAgICAgICAgKTtcbiAgICB9XG5cblxuICAgIC8vIERpc2FibGVkIHN0YXRlXG4gICAgLmstY2hlY2tib3g6ZGlzYWJsZWQsXG4gICAgLmstY2hlY2tib3guay1kaXNhYmxlZCB7XG4gICAgICAgIEBpbmNsdWRlIGZpbGwoXG4gICAgICAgICAgICB2YXIoIC0ta2VuZG8tY2hlY2tib3gtZGlzYWJsZWQtdGV4dCwgI3ska2VuZG8tY2hlY2tib3gtZGlzYWJsZWQtdGV4dH0gKSxcbiAgICAgICAgICAgIHZhciggLS1rZW5kby1jaGVja2JveC1kaXNhYmxlZC1iZywgI3ska2VuZG8tY2hlY2tib3gtZGlzYWJsZWQtYmd9ICksXG4gICAgICAgICAgICB2YXIoIC0ta2VuZG8tY2hlY2tib3gtZGlzYWJsZWQtYm9yZGVyLCAjeyRrZW5kby1jaGVja2JveC1kaXNhYmxlZC1ib3JkZXJ9IClcbiAgICAgICAgKTtcbiAgICB9XG4gICAgLmstY2hlY2tib3g6Y2hlY2tlZDpkaXNhYmxlZCxcbiAgICAuay1jaGVja2JveC5rLWNoZWNrZWQuay1kaXNhYmxlZCB7XG4gICAgICAgIEBpbmNsdWRlIGZpbGwoXG4gICAgICAgICAgICB2YXIoIC0ta2VuZG8tY2hlY2tib3gtZGlzYWJsZWQtY2hlY2tlZC10ZXh0LCAjeyRrZW5kby1jaGVja2JveC1kaXNhYmxlZC1jaGVja2VkLXRleHR9ICksXG4gICAgICAgICAgICB2YXIoIC0ta2VuZG8tY2hlY2tib3gtZGlzYWJsZWQtY2hlY2tlZC1iZywgI3ska2VuZG8tY2hlY2tib3gtZGlzYWJsZWQtY2hlY2tlZC1iZ30gKSxcbiAgICAgICAgICAgIHZhciggLS1rZW5kby1jaGVja2JveC1kaXNhYmxlZC1jaGVja2VkLWJvcmRlciwgI3ska2VuZG8tY2hlY2tib3gtZGlzYWJsZWQtY2hlY2tlZC1ib3JkZXJ9IClcbiAgICAgICAgKTtcbiAgICB9XG4gICAgLmstY2hlY2tib3g6aW5kZXRlcm1pbmF0ZTpkaXNhYmxlZCxcbiAgICAuay1jaGVja2JveC5rLWluZGV0ZXJtaW5hdGUuay1kaXNhYmxlZCB7XG4gICAgICAgIEBpbmNsdWRlIGZpbGwoXG4gICAgICAgICAgICB2YXIoIC0ta2VuZG8tY2hlY2tib3gtZGlzYWJsZWQtaW5kZXRlcm1pbmF0ZS10ZXh0LCAjeyRrZW5kby1jaGVja2JveC1kaXNhYmxlZC1pbmRldGVybWluYXRlLXRleHR9ICksXG4gICAgICAgICAgICB2YXIoIC0ta2VuZG8tY2hlY2tib3gtZGlzYWJsZWQtaW5kZXRlcm1pbmF0ZS1iZywgI3ska2VuZG8tY2hlY2tib3gtZGlzYWJsZWQtaW5kZXRlcm1pbmF0ZS1iZ30gKSxcbiAgICAgICAgICAgIHZhciggLS1rZW5kby1jaGVja2JveC1kaXNhYmxlZC1pbmRldGVybWluYXRlLWJvcmRlciwgI3ska2VuZG8tY2hlY2tib3gtZGlzYWJsZWQtaW5kZXRlcm1pbmF0ZS1ib3JkZXJ9IClcbiAgICAgICAgKTtcbiAgICB9XG5cblxuICAgIC8vIEludmFsaWQgc3RhdGVcbiAgICAuay1jaGVja2JveC5rLWludmFsaWQsXG4gICAgLmstY2hlY2tib3gubmctaW52YWxpZC5uZy10b3VjaGVkLFxuICAgIC5rLWNoZWNrYm94Lm5nLWludmFsaWQubmctZGlydHkge1xuICAgICAgICBAaW5jbHVkZSBmaWxsKCAkYm9yZGVyOiB2YXIoIC0ta2VuZG8tY2hlY2tib3gtaW52YWxpZC1ib3JkZXIsICN7ICRrZW5kby1jaGVja2JveC1pbnZhbGlkLWJvcmRlcn0gKSApO1xuICAgIH1cbiAgICAuay1jaGVja2JveC5rLWludmFsaWQgKyAuay1jaGVja2JveC1sYWJlbCxcbiAgICAuay1jaGVja2JveC5uZy1pbnZhbGlkLm5nLXRvdWNoZWQgKyAuay1jaGVja2JveC1sYWJlbCxcbiAgICAuay1jaGVja2JveC5uZy1pbnZhbGlkLm5nLWRpcnR5ICsgLmstY2hlY2tib3gtbGFiZWwge1xuICAgICAgICBAaW5jbHVkZSBmaWxsKCAkY29sb3I6IHZhciggLS1rZW5kby1jaGVja2JveC1pbnZhbGlkLXRleHQsICN7ICRrZW5kby1jaGVja2JveC1pbnZhbGlkLXRleHQgfSApICk7XG4gICAgfVxuXG5cbiAgICAvLyBSaXBwbGVcbiAgICAuay1jaGVja2JveC13cmFwIC5rLXJpcHBsZS1ibG9iIHtcbiAgICAgICAgY29sb3I6IHZhciggLS1rZW5kby1jaGVja2JveC1yaXBwbGUtYmcsICN7ICRrZW5kby1jaGVja2JveC1yaXBwbGUtYmcgfSApO1xuICAgICAgICBvcGFjaXR5OiB2YXIoIC0ta2VuZG8tY2hlY2tib3gtcmlwcGxlLW9wYWNpdHksICN7ICRrZW5kby1jaGVja2JveC1yaXBwbGUtb3BhY2l0eSB9ICk7XG4gICAgfVxuICAgIC5rLXJpcHBsZS1jb250YWluZXIge1xuICAgICAgICAuay1jaGVja2JveDo6YWZ0ZXIge1xuICAgICAgICAgICAgYmFja2dyb3VuZDogdmFyKCAtLWtlbmRvLWNoZWNrYm94LXJpcHBsZS1iZywgI3sgJGtlbmRvLWNoZWNrYm94LXJpcHBsZS1iZyB9ICk7XG4gICAgICAgICAgICBvcGFjaXR5OiB2YXIoIC0ta2VuZG8tY2hlY2tib3gtcmlwcGxlLW9wYWNpdHksICN7ICRrZW5kby1jaGVja2JveC1yaXBwbGUtb3BhY2l0eSB9ICk7XG4gICAgICAgIH1cbiAgICB9XG5cbn1cbiIsIkB1c2UgXCIuLi9jb3JlL19pbmRleC5zY3NzXCIgYXMgKjtcbkB1c2UgXCIuL192YXJpYWJsZXMuc2Nzc1wiIGFzICo7XG5cbkBtaXhpbiBrZW5kby1saXN0Ym94LS1sYXlvdXQoKSB7XG5cbiAgICAuay1saXN0Ym94IHtcbiAgICAgICAgd2lkdGg6IHZhciggLS1rZW5kby1saXN0Ym94LXdpZHRoLCAjeyRrZW5kby1saXN0Ym94LXdpZHRofSApO1xuICAgICAgICBoZWlnaHQ6IHZhciggLS1rZW5kby1saXN0Ym94LWhlaWdodCwgI3ska2VuZG8tbGlzdGJveC1oZWlnaHR9ICk7XG4gICAgICAgIGJvcmRlci13aWR0aDogMDtcbiAgICAgICAgb3V0bGluZTogMDtcbiAgICAgICAgZm9udC1mYW1pbHk6IHZhciggLS1rZW5kby1saXN0Ym94LWZvbnQtZmFtaWx5LCAjeyRrZW5kby1saXN0Ym94LWZvbnQtZmFtaWx5fSApO1xuICAgICAgICBmb250LXNpemU6IHZhciggLS1rZW5kby1saXN0Ym94LWZvbnQtc2l6ZSwgI3ska2VuZG8tbGlzdGJveC1mb250LXNpemV9ICk7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiB2YXIoIC0ta2VuZG8tbGlzdGJveC1saW5lLWhlaWdodCwgI3ska2VuZG8tbGlzdGJveC1saW5lLWhlaWdodH0gKTtcbiAgICAgICAgdmVydGljYWwtYWxpZ246IHRvcDtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICAgICAgICBnYXA6IHZhciggLS1rZW5kby1saXN0Ym94LXNwYWNpbmcsICN7JGtlbmRvLWxpc3Rib3gtc3BhY2luZ30gKTtcbiAgICAgICAgLXdlYmtpdC10b3VjaC1jYWxsb3V0OiBub25lO1xuICAgICAgICAtd2Via2l0LXRhcC1oaWdobGlnaHQtY29sb3I6ICRrZW5kby1jb2xvci1yZ2JhLXRyYW5zcGFyZW50O1xuXG4gICAgICAgIC5rLWxpc3Rib3gtYWN0aW9ucyB7XG4gICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAgZ2FwOiB2YXIoIC0ta2VuZG8tbGlzdGJveC1idXR0b24tc3BhY2luZywgI3ska2VuZG8tbGlzdGJveC1idXR0b24tc3BhY2luZ30gKTtcbiAgICAgICAgfVxuXG4gICAgICAgICYuay1saXN0Ym94LWFjdGlvbnMtbGVmdCxcbiAgICAgICAgJi5rLWxpc3Rib3gtYWN0aW9ucy1yaWdodCB7XG4gICAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xuXG4gICAgICAgICAgICAuay1saXN0Ym94LWFjdGlvbnMge1xuICAgICAgICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAmLmstbGlzdGJveC1hY3Rpb25zLXJpZ2h0IHtcbiAgICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3ctcmV2ZXJzZTtcbiAgICAgICAgfVxuXG4gICAgICAgICYuay1saXN0Ym94LWFjdGlvbnMtdG9wLFxuICAgICAgICAmLmstbGlzdGJveC1hY3Rpb25zLWJvdHRvbSB7XG4gICAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuXG4gICAgICAgICAgICAuay1saXN0Ym94LWFjdGlvbnMge1xuICAgICAgICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAmLmstbGlzdGJveC1hY3Rpb25zLWJvdHRvbSB7XG4gICAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uLXJldmVyc2U7XG4gICAgICAgIH1cblxuICAgICAgICAuay1saXN0LXNjcm9sbGVyIHtcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgbWluLWhlaWdodDogMDtcbiAgICAgICAgICAgIGhlaWdodDogaW5oZXJpdDtcbiAgICAgICAgICAgIGJvcmRlci13aWR0aDogdmFyKCAtLWtlbmRvLWxpc3Rib3gtYm9yZGVyLXdpZHRoLCAjeyRrZW5kby1saXN0Ym94LWJvcmRlci13aWR0aH0gKTtcbiAgICAgICAgICAgIGJvcmRlci1zdHlsZTogc29saWQ7XG4gICAgICAgICAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgIGZsZXgtZmxvdzogY29sdW1uIG5vd3JhcDtcblxuICAgICAgICAgICAgLmstbGlzdC1zY3JvbGxlciB7XG4gICAgICAgICAgICAgICAgYm9yZGVyLXdpZHRoOiAwO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAuay1saXN0IHtcbiAgICAgICAgICAgICAgICBoZWlnaHQ6IGluaGVyaXQ7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAuay1kcm9wLWhpbnQge1xuICAgICAgICAgICAgYm9yZGVyLXRvcC13aWR0aDogdmFyKCAtLWtlbmRvLWxpc3Rib3gtZHJvcC1oaW50LXdpZHRoLCAjeyRrZW5kby1saXN0Ym94LWRyb3AtaGludC13aWR0aH0gKTtcbiAgICAgICAgICAgIGJvcmRlci10b3Atc3R5bGU6IHNvbGlkO1xuICAgICAgICB9XG5cbiAgICAgICAgLmstZ2hvc3Qge1xuICAgICAgICAgICAgb3BhY2l0eTogLjU7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAuay1pdGVtIHtcbiAgICAgICAgY3Vyc29yOiBkZWZhdWx0O1xuICAgIH1cblxufVxuIiwiQHVzZSBcIi4uL2NvcmUvX2luZGV4LnNjc3NcIiBhcyAqO1xuQHVzZSBcIi4vX3ZhcmlhYmxlcy5zY3NzXCIgYXMgKjtcblxuQG1peGluIGtlbmRvLWxpc3Rib3gtLXRoZW1lKCkge1xuXG4gICAgLmstbGlzdGJveCB7XG4gICAgICAgIC5rLWxpc3Qtc2Nyb2xsZXIge1xuICAgICAgICAgICAgQGluY2x1ZGUgZmlsbChcbiAgICAgICAgICAgICAgICB2YXIoIC0ta2VuZG8tbGlzdGJveC10ZXh0LCAjeyRrZW5kby1saXN0Ym94LXRleHR9ICksXG4gICAgICAgICAgICAgICAgdmFyKCAtLWtlbmRvLWxpc3Rib3gtYmcsICN7JGtlbmRvLWxpc3Rib3gtYmd9ICksXG4gICAgICAgICAgICAgICAgdmFyKCAtLWtlbmRvLWxpc3Rib3gtYm9yZGVyLCAjeyRrZW5kby1saXN0Ym94LWJvcmRlcn0gKVxuICAgICAgICAgICAgKTtcbiAgICAgICAgfVxuICAgICAgICAuay1kcm9wLWhpbnQge1xuICAgICAgICAgICAgYm9yZGVyLXRvcC1jb2xvcjogdmFyKCAtLWtlbmRvLWxpc3Rib3gtZHJvcC1oaW50LWJvcmRlci1jb2xvciwgI3ska2VuZG8tbGlzdGJveC1kcm9wLWhpbnQtYm9yZGVyLWNvbG9yfSApO1xuICAgICAgICB9XG4gICAgfVxuXG59XG4iLCJAdXNlIFwiLi9fdmFyaWFibGVzLnNjc3NcIiBhcyAqO1xuQHVzZSBcIi4uL2NvcmUvX2luZGV4LnNjc3NcIiBhcyAqO1xuXG5AbWl4aW4ga2VuZG8tcHJvZ3Jlc3NiYXItLWxheW91dCB7XG5cbiAgICAvLyBCYXNlXG4gICAgLmstcHJvZ3Jlc3NiYXIge1xuICAgICAgICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKCB2YXIoIC0ta2VuZG8tcHJvZ3Jlc3NiYXItYm9yZGVyLXJhZGl1cywgI3ska2VuZG8tcHJvZ3Jlc3NiYXItYm9yZGVyLXJhZGl1c30gKSApO1xuICAgICAgICAtLWtlbmRvLXByb2dyZXNzYmFyLXZhbHVlOiAwO1xuICAgICAgICBib3JkZXItd2lkdGg6IHZhciggLS1rZW5kby1wcm9ncmVzc2Jhci1ib3JkZXItd2lkdGgsICN7JGtlbmRvLXByb2dyZXNzYmFyLWJvcmRlci13aWR0aH0gKTtcbiAgICAgICAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcbiAgICAgICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICAgICAgb3V0bGluZTogMDtcbiAgICAgICAgZm9udC1mYW1pbHk6IHZhciggLS1rZW5kby1wcm9ncmVzc2Jhci1mb250LWZhbWlseSwgI3ska2VuZG8tcHJvZ3Jlc3NiYXItZm9udC1mYW1pbHl9ICk7XG4gICAgICAgIGZvbnQtc2l6ZTogdmFyKCAtLWtlbmRvLXByb2dyZXNzYmFyLWZvbnQtc2l6ZSwgI3ska2VuZG8tcHJvZ3Jlc3NiYXItZm9udC1zaXplfSApO1xuICAgICAgICBsaW5lLWhlaWdodDogdmFyKCAtLWtlbmRvLXByb2dyZXNzYmFyLWxpbmUtaGVpZ2h0LCAjeyRrZW5kby1wcm9ncmVzc2Jhci1saW5lLWhlaWdodH0gKTtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWdyaWQ7XG4gICAgICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgLXdlYmtpdC10b3VjaC1jYWxsb3V0OiBub25lO1xuICAgICAgICAtd2Via2l0LXRhcC1oaWdobGlnaHQtY29sb3I6ICRrZW5kby1jb2xvci1yZ2JhLXRyYW5zcGFyZW50O1xuXG4gICAgICAgICosXG4gICAgICAgICo6OmJlZm9yZSxcbiAgICAgICAgKjo6YWZ0ZXIge1xuICAgICAgICAgICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICAgICAgfVxuXG5cbiAgICAgICAgLy8gU2VsZWN0aW9uXG4gICAgICAgID4gLmstcHJvZ3Jlc3NiYXItdmFsdWUge1xuICAgICAgICAgICAgYm9yZGVyLXdpZHRoOiAwO1xuICAgICAgICAgICAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcbiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgICAgICAgICAgZ3JpZC1jb2x1bW46IDEgLyAtMTtcbiAgICAgICAgICAgIGdyaWQtcm93OiAxIC8gLTE7XG4gICAgICAgIH1cblxuXG4gICAgICAgIC8vIENodW5rc1xuICAgICAgICA+IC5rLXByb2dyZXNzYmFyLWNodW5rcyB7XG4gICAgICAgICAgICBib3JkZXItd2lkdGg6IGluaGVyaXQ7XG4gICAgICAgICAgICBib3JkZXItc3R5bGU6IGluaGVyaXQ7XG4gICAgICAgICAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBzdHJldGNoO1xuICAgICAgICAgICAgZmxleDogMTtcbiAgICAgICAgICAgIGdhcDogMXB4O1xuICAgICAgICAgICAgZ3JpZC1jb2x1bW46IDEgLyAtMTtcbiAgICAgICAgICAgIGdyaWQtcm93OiAxIC8gLTE7XG4gICAgICAgIH1cblxuICAgICAgICAuay1wcm9ncmVzc2Jhci1jaHVuayB7XG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgIGJvcmRlci13aWR0aDogMDtcbiAgICAgICAgICAgZmxleDogMTtcbiAgICAgICAgfVxuICAgIH1cblxuXG4gICAgLy8gU3RhdHVzXG4gICAgLmstcHJvZ3Jlc3Mtc3RhdHVzLXdyYXAge1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBvdmVyZmxvdzogdW5zZXQ7XG4gICAgICAgIGZsZXgtc2hyaW5rOiAwO1xuICAgICAgICBncmlkLWNvbHVtbjogMS8tMTtcbiAgICAgICAgZ3JpZC1yb3c6IDIvLTE7XG5cbiAgICAgICAgJi5rLXByb2dyZXNzLXN0YXJ0IHsganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0OyB9XG4gICAgICAgICYuay1wcm9ncmVzcy1jZW50ZXIgeyBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjsgfVxuICAgICAgICAmLmstcHJvZ3Jlc3MtZW5kIHsganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDsgfVxuICAgIH1cblxuICAgIC5rLXByb2dyZXNzLXN0YXR1cyB7XG4gICAgICAgIHBhZGRpbmctaW5saW5lOiB2YXIoIC0ta2VuZG8tcHJvZ3Jlc3NiYXItcGFkZGluZy14LCAjeyRrZW5kby1wcm9ncmVzc2Jhci1wYWRkaW5nLXh9ICk7XG4gICAgICAgIHBhZGRpbmctYmxvY2s6IHZhciggLS1rZW5kby1wcm9ncmVzc2Jhci1wYWRkaW5nLXksICN7JGtlbmRvLXByb2dyZXNzYmFyLXBhZGRpbmcteX0gKTtcbiAgICAgICAgbWluLXdpZHRoOiAxMHB4O1xuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgICB9XG5cblxuICAgIC8vIEhvcml6b250YWxcbiAgICAuay1wcm9ncmVzc2Jhci1ob3Jpem9udGFsIHtcbiAgICAgICAgd2lkdGg6IHZhciggLS1rZW5kby1wcm9ncmVzc2Jhci1ob3Jpem9udGFsLXdpZHRoLCAjeyRrZW5kby1wcm9ncmVzc2Jhci1ob3Jpem9udGFsLXdpZHRofSApO1xuICAgICAgICBoZWlnaHQ6IHZhciggLS1rZW5kby1wcm9ncmVzc2Jhci1oZWlnaHQsICN7JGtlbmRvLXByb2dyZXNzYmFyLWhlaWdodH0gKTtcbiAgICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAxZnI7XG4gICAgICAgIGdyaWQtdGVtcGxhdGUtcm93czogMTAwJTtcblxuICAgICAgICAuay1wcm9ncmVzcy1zdGF0dXMtd3JhcCB7XG4gICAgICAgICAgICBtYXJnaW4tYmxvY2stc3RhcnQ6IHZhciggLS1rZW5kby1wcm9ncmVzc2Jhci1vZmZzZXQteSwgI3ska2VuZG8tcHJvZ3Jlc3NiYXItb2Zmc2V0LXl9ICk7XG4gICAgICAgIH1cblxuICAgICAgICA+IC5rLXByb2dyZXNzYmFyLXZhbHVlIHtcbiAgICAgICAgICAgIHdpZHRoOiAwO1xuICAgICAgICAgICAgd2lkdGg6IGNhbGMoIHZhciggLS1rZW5kby1wcm9ncmVzc2Jhci12YWx1ZSwgMCApICogMSUgKTtcbiAgICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XG5cbiAgICAgICAgICAgID4gLmstcHJvZ3Jlc3Mtc3RhdHVzLXdyYXAge1xuICAgICAgICAgICAgICAgIHdpZHRoOiBjYWxjKCAxMDAlICogKCAxMDAgLyB2YXIoIC0ta2VuZG8tcHJvZ3Jlc3NiYXItdmFsdWUsIDEgKSApICk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuXG4gICAgICAgIC8vIENodW5rc1xuICAgICAgICA+IC5rLXByb2dyZXNzYmFyLWNodW5rcyB7XG4gICAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICAgICAgICB9XG5cbiAgICAgICAgLy8gSG9yaXpvbnRhbCByZXZlcnNlXG4gICAgICAgICYuay1wcm9ncmVzc2Jhci1yZXZlcnNlIHtcblxuICAgICAgICAgICAgPiAuay1wcm9ncmVzc2Jhci12YWx1ZSB7XG4gICAgICAgICAgICAgICAgZmxleC1kaXJlY3Rpb246IHJvdy1yZXZlcnNlO1xuICAgICAgICAgICAgICAgIGp1c3RpZnktc2VsZjogZmxleC1lbmQ7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgID4gLmstcHJvZ3Jlc3NiYXItY2h1bmtzIHtcbiAgICAgICAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogcm93LXJldmVyc2U7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cblxuICAgIC8vIFZlcnRpY2FsXG4gICAgLmstcHJvZ3Jlc3NiYXItdmVydGljYWwge1xuICAgICAgICB3aWR0aDogdmFyKCAtLWtlbmRvLXByb2dyZXNzYmFyLWhlaWdodCwgI3ska2VuZG8tcHJvZ3Jlc3NiYXItaGVpZ2h0fSApO1xuICAgICAgICBoZWlnaHQ6IDI3ZW07XG4gICAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogMTAwJTtcbiAgICAgICAgZ3JpZC10ZW1wbGF0ZS1yb3dzOiAxZnI7XG5cbiAgICAgICAgLmstcHJvZ3Jlc3Mtc3RhdHVzLXdyYXAge1xuICAgICAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0O1xuICAgICAgICAgICAgbWFyZ2luLWlubGluZS1zdGFydDogdmFyKCAtLWtlbmRvLXByb2dyZXNzYmFyLXZlcnRpY2FsLXN0YXR1cy1vZmZzZXQsICN7JGtlbmRvLXByb2dyZXNzYmFyLXZlcnRpY2FsLXN0YXR1cy1vZmZzZXR9ICk7XG4gICAgICAgICAgICBncmlkLXJvdzogMS8tMTtcbiAgICAgICAgICAgIGdyaWQtY29sdW1uOiAtMS8xO1xuICAgICAgICB9XG5cbiAgICAgICAgLmstcHJvZ3Jlc3Mtc3RhdHVzIHtcbiAgICAgICAgICAgIHdyaXRpbmctbW9kZTogdmVydGljYWwtbHI7XG4gICAgICAgIH1cblxuICAgICAgICA+IC5rLXByb2dyZXNzYmFyLXZhbHVlIHtcbiAgICAgICAgICAgIGhlaWdodDogY2FsYyggdmFyKCAtLWtlbmRvLXByb2dyZXNzYmFyLXZhbHVlLCAwICkgKiAxJSApO1xuICAgICAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbi1yZXZlcnNlO1xuICAgICAgICAgICAgYWxpZ24tc2VsZjogZmxleC1lbmQ7XG4gICAgICAgICAgICBhbGlnbi1pdGVtczogZmxleC1lbmQ7XG5cbiAgICAgICAgICAgID4gLmstcHJvZ3Jlc3Mtc3RhdHVzLXdyYXAge1xuICAgICAgICAgICAgICAgIGhlaWdodDogY2FsYyggMTAwJSAqICggMTAwIC8gdmFyKCAtLWtlbmRvLXByb2dyZXNzYmFyLXZhbHVlLCAxICkgKSApO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAuay1wcm9ncmVzcy1zdGF0dXMge1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuXG4gICAgICAgIC8vIENodW5rXG4gICAgICAgID4gLmstcHJvZ3Jlc3NiYXItY2h1bmtzIHtcbiAgICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW4tcmV2ZXJzZTtcbiAgICAgICAgfVxuXG4gICAgICAgIC8vIFZlcnRpY2FsIHJldmVyc2VcbiAgICAgICAgJi5rLXByb2dyZXNzYmFyLXJldmVyc2Uge1xuXG4gICAgICAgICAgICAuay1wcm9ncmVzcy1zdGF0dXMtd3JhcCB7XG4gICAgICAgICAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbi1yZXZlcnNlO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICA+IC5rLXByb2dyZXNzYmFyLXZhbHVlIHtcbiAgICAgICAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgICAgICAgICAgIGFsaWduLXNlbGY6IGZsZXgtc3RhcnQ7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgID4gLmstcHJvZ3Jlc3NiYXItY2h1bmtzIHtcbiAgICAgICAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG5cbiAgICAvLyBJbmRldGVybWluYXRlXG4gICAgLmstcHJvZ3Jlc3NiYXItaW5kZXRlcm1pbmF0ZSB7XG4gICAgICAgIG92ZXJmbG93OiBoaWRkZW47XG5cbiAgICAgICAgJjo6YWZ0ZXIge1xuICAgICAgICAgICAgY29udGVudDogJyc7XG4gICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIH1cblxuICAgICAgICAmLmstcHJvZ3Jlc3NiYXItaG9yaXpvbnRhbCB7XG4gICAgICAgICAgICAmOjphZnRlciB7XG4gICAgICAgICAgICAgICAgd2lkdGg6IDBweDtcbiAgICAgICAgICAgICAgICBtaW4td2lkdGg6IDMzJTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgICYuay1wcm9ncmVzc2Jhci12ZXJ0aWNhbCB7XG4gICAgICAgICAgICAmOjphZnRlciB7XG4gICAgICAgICAgICAgICAgaGVpZ2h0OiAwcHg7XG4gICAgICAgICAgICAgICAgbWluLWhlaWdodDogMzMlO1xuICAgICAgICAgICAgICAgIGFsaWduLXNlbGY6IGZsZXgtZW5kO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLmstcmVzZXQsXG4gICAgICAgIC5rLXByb2dyZXNzLXN0YXR1cy13cmFwLFxuICAgICAgICAuay1wcm9ncmVzc2Jhci12YWx1ZSxcbiAgICAgICAgLmstcHJvZ3Jlc3MtY2h1bmsge1xuICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgfVxuXG4gICAgICAgIC5rLXByb2dyZXNzLXN0YXR1cyB7XG4gICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLy8gQmxhem9yIHNwZWNpZmljXG4gICAgLnRlbGVyaWstYmxhem9yLmstcHJvZ3Jlc3NiYXItaG9yaXpvbnRhbCB7XG5cbiAgICAgICAgPiAuay1wcm9ncmVzc2Jhci12YWx1ZSxcbiAgICAgICAgPiAuay1wcm9ncmVzc2Jhci12YWx1ZSA+IC5rLXByb2dyZXNzLXN0YXR1cy13cmFwIHtcbiAgICAgICAgICAgIHRyYW5zaXRpb246IHdpZHRoIC4xcyBlYXNlLWluLW91dDtcbiAgICAgICAgfVxuICAgIH1cblxuXG4gICAgLmstY2lyY3VsYXItcHJvZ3Jlc3NiYXIge1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgIHRleHQtYWxpZ246IHN0YXJ0O1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgfVxuXG4gICAgLmstY2lyY3VsYXItcHJvZ3Jlc3NiYXItc3VyZmFjZSB7XG4gICAgICAgIGhlaWdodDogMTAwJTtcblxuICAgICAgICAmID4gZGl2IHtcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICB9XG5cbiAgICAgICAgc3ZnIHtcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLmstY2lyY3VsYXItcHJvZ3Jlc3NiYXItc2NhbGUge1xuICAgICAgICBmaWxsOiBub25lO1xuICAgIH1cblxuICAgIC5rLWNpcmN1bGFyLXByb2dyZXNzYmFyLWFyYyB7XG4gICAgICAgIHRyYW5zZm9ybS1ib3g6IGZpbGwtYm94O1xuICAgICAgICB0cmFuc2Zvcm0tb3JpZ2luOiBjZW50ZXIgY2VudGVyO1xuICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgtOTBkZWcpO1xuICAgICAgICBzdHJva2UtbGluZWNhcDogcm91bmQ7XG4gICAgICAgIGZpbGw6IG5vbmU7XG4gICAgfVxuXG4gICAgLmstY2lyY3VsYXItcHJvZ3Jlc3NiYXItbGFiZWwge1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgbWFyZ2luOiAwO1xuICAgIH1cbn1cbiIsIkB1c2UgXCIuLi9jb3JlL19pbmRleC5zY3NzXCIgYXMgKjtcbkB1c2UgXCJAcHJvZ3Jlc3Mva2VuZG8tdGhlbWUtY29yZS9zY3NzL2Z1bmN0aW9ucy9pbmRleC5pbXBvcnQuc2Nzc1wiIGFzICo7XG5AdXNlIFwiLi9fdmFyaWFibGVzLnNjc3NcIiBhcyAqO1xuXG5AbWl4aW4ga2VuZG8tcHJvZ3Jlc3NiYXItLXRoZW1lIHtcblxuICAgIEBrZXlmcmFtZXMgcHJvZ3Jlc3NiYXItaW5kZXRlcm1pbmF0ZS1hbmltYXRpb24taG9yaXpvbnRhbCB7XG4gICAgICAgIGZyb20ge1xuICAgICAgICAgICAgaW5zZXQtaW5saW5lLXN0YXJ0OiAtMjUlO1xuICAgICAgICB9XG4gICAgICAgIHRvIHtcbiAgICAgICAgICAgIGluc2V0LWlubGluZS1zdGFydDogMTAwJTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIEBrZXlmcmFtZXMgcHJvZ3Jlc3NiYXItaW5kZXRlcm1pbmF0ZS1hbmltYXRpb24tdmVydGljYWwge1xuICAgICAgICBmcm9tIHtcbiAgICAgICAgICAgIGluc2V0LWJsb2NrLWVuZDogLTI1JTtcbiAgICAgICAgfVxuICAgICAgICB0byB7XG4gICAgICAgICAgICBpbnNldC1ibG9jay1lbmQ6IDEwMCU7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAuay1wcm9ncmVzc2JhciB7XG4gICAgICAgICY6bm90KC5rLXByb2dyZXNzYmFyLWluZGV0ZXJtaW5hdGUpIHtcblxuICAgICAgICAgICAgQGluY2x1ZGUgZmlsbChcbiAgICAgICAgICAgICAgICB2YXIoIC0ta2VuZG8tcHJvZ3Jlc3NiYXItdGV4dCwgI3ska2VuZG8tcHJvZ3Jlc3NiYXItdGV4dH0gKSxcbiAgICAgICAgICAgICAgICB2YXIoIC0ta2VuZG8tcHJvZ3Jlc3NiYXItYmcsICN7JGtlbmRvLXByb2dyZXNzYmFyLWJnfSApLFxuICAgICAgICAgICAgICAgIHZhciggLS1rZW5kby1wcm9ncmVzc2Jhci1ib3JkZXIsICN7JGtlbmRvLXByb2dyZXNzYmFyLWJvcmRlcn0gKSxcbiAgICAgICAgICAgICAgICB2YXIoIC0ta2VuZG8tcHJvZ3Jlc3NiYXItZ3JhZGllbnQsICN7JGtlbmRvLXByb2dyZXNzYmFyLWdyYWRpZW50fSApXG4gICAgICAgICAgICApO1xuXG4gICAgICAgICAgICAuay1zZWxlY3RlZCB7XG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgZmlsbChcbiAgICAgICAgICAgICAgICAgICAgdmFyKCAtLWtlbmRvLXByb2dyZXNzYmFyLXZhbHVlLXRleHQsICN7JGtlbmRvLXByb2dyZXNzYmFyLXZhbHVlLXRleHR9ICksXG4gICAgICAgICAgICAgICAgICAgIHZhciggLS1rZW5kby1wcm9ncmVzc2Jhci12YWx1ZS1iZywgI3ska2VuZG8tcHJvZ3Jlc3NiYXItdmFsdWUtYmd9ICksXG4gICAgICAgICAgICAgICAgICAgIHZhciggLS1rZW5kby1wcm9ncmVzc2Jhci12YWx1ZS1ib3JkZXIsICN7JGtlbmRvLXByb2dyZXNzYmFyLXZhbHVlLWJvcmRlcn0gKSxcbiAgICAgICAgICAgICAgICAgICAgdmFyKCAtLWtlbmRvLXByb2dyZXNzYmFyLXZhbHVlLWdyYWRpZW50LCAjeyRrZW5kby1wcm9ncmVzc2Jhci12YWx1ZS1ncmFkaWVudH0gKVxuICAgICAgICAgICAgICAgICk7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICZbZGlzYWJsZWRdLFxuICAgICAgICAgICAgJjpkaXNhYmxlZCxcbiAgICAgICAgICAgICYuay1kaXNhYmxlZCB7XG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgZmlsbChcbiAgICAgICAgICAgICAgICAgICAgdmFyKCAtLWtlbmRvLXByb2dyZXNzYmFyLWRpc2FibGVkLXRleHQsICN7JGtlbmRvLXByb2dyZXNzYmFyLWRpc2FibGVkLXRleHR9ICksXG4gICAgICAgICAgICAgICAgICAgIHZhciggLS1rZW5kby1wcm9ncmVzc2Jhci1kaXNhYmxlZC1iZywgI3ska2VuZG8tcHJvZ3Jlc3NiYXItZGlzYWJsZWQtYmd9ICksXG4gICAgICAgICAgICAgICAgICAgIHZhciggLS1rZW5kby1wcm9ncmVzc2Jhci1kaXNhYmxlZC1ib3JkZXIsICN7JGtlbmRvLXByb2dyZXNzYmFyLWRpc2FibGVkLWJvcmRlcn0gKVxuICAgICAgICAgICAgICAgICk7XG5cbiAgICAgICAgICAgICAgICAuay1zZWxlY3RlZCB7XG4gICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHZhciggLS1rZW5kby1wcm9ncmVzc2Jhci12YWx1ZS1kaXNhYmxlZC1iZywgI3ska2VuZG8tcHJvZ3Jlc3NiYXItdmFsdWUtZGlzYWJsZWQtYmd9ICk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgLmstcHJvZ3Jlc3NiYXIuay1jaHVuay1wcm9ncmVzc2Jhcjpub3QoLmstcHJvZ3Jlc3NiYXItaW5kZXRlcm1pbmF0ZSkge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBrLWlmLXZhciggJGtlbmRvLXByb2dyZXNzYmFyLWNodW5rLWJvcmRlciwgdHJhbnNwYXJlbnQgKTtcbiAgICB9XG4gICAgLmstcHJvZ3Jlc3NiYXItY2h1bmsge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoIC0ta2VuZG8tcHJvZ3Jlc3NiYXItYmcsICN7JGtlbmRvLXByb2dyZXNzYmFyLWJnfSApO1xuXG4gICAgICAgIC5rLXNlbGVjdGVkIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHZhciggLS1rZW5kby1wcm9ncmVzc2Jhci12YWx1ZS1iZywgI3ska2VuZG8tcHJvZ3Jlc3NiYXItdmFsdWUtYmd9ICk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAuay1wcm9ncmVzc2Jhci1pbmRldGVybWluYXRlIHtcbiAgICAgICAgQGluY2x1ZGUgZmlsbChcbiAgICAgICAgICAgIHZhciggLS1rZW5kby1wcm9ncmVzc2Jhci1pbmRldGVybWluYXRlLXRleHQsICN7JGtlbmRvLXByb2dyZXNzYmFyLWluZGV0ZXJtaW5hdGUtdGV4dH0gKSxcbiAgICAgICAgICAgIHZhciggLS1rZW5kby1wcm9ncmVzc2Jhci1pbmRldGVybWluYXRlLWJnLCAjeyRrZW5kby1wcm9ncmVzc2Jhci1pbmRldGVybWluYXRlLWJnfSApLFxuICAgICAgICAgICAgdmFyKCAtLWtlbmRvLXByb2dyZXNzYmFyLWluZGV0ZXJtaW5hdGUtYm9yZGVyLCAjeyRrZW5kby1wcm9ncmVzc2Jhci1pbmRldGVybWluYXRlLWJvcmRlcn0gKVxuICAgICAgICAgICAgKTtcblxuICAgICAgICAmLmstcHJvZ3Jlc3NiYXItaG9yaXpvbnRhbCB7XG4gICAgICAgICAgICAmOjphZnRlciB7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZDogdmFyKCAtLWtlbmRvLXByb2dyZXNzYmFyLWluZGV0ZXJtaW5hdGUtZ3JhZGllbnQtaG9yaXpvbnRhbCwgI3ska2VuZG8tcHJvZ3Jlc3NiYXItaW5kZXRlcm1pbmF0ZS1ncmFkaWVudC1ob3Jpem9udGFsfSApO1xuICAgICAgICAgICAgICAgIGFuaW1hdGlvbjogdmFyKCAtLWtlbmRvLXByb2dyZXNzYmFyLWluZGV0ZXJtaW5hdGUtYW5pbWF0aW9uLWhvcml6b250YWwsICN7JGtlbmRvLXByb2dyZXNzYmFyLWluZGV0ZXJtaW5hdGUtYW5pbWF0aW9uLWhvcml6b250YWx9ICk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAmLmstcHJvZ3Jlc3NiYXItdmVydGljYWwge1xuICAgICAgICAgICAgJjo6YWZ0ZXIge1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6IHZhciggLS1rZW5kby1wcm9ncmVzc2Jhci1pbmRldGVybWluYXRlLWdyYWRpZW50LXZlcnRpY2FsLCAjeyRrZW5kby1wcm9ncmVzc2Jhci1pbmRldGVybWluYXRlLWdyYWRpZW50LXZlcnRpY2FsfSApO1xuICAgICAgICAgICAgICAgIGFuaW1hdGlvbjogdmFyKCAtLWtlbmRvLXByb2dyZXNzYmFyLWluZGV0ZXJtaW5hdGUtYW5pbWF0aW9uLXZlcnRpY2FsLCAjeyRrZW5kby1wcm9ncmVzc2Jhci1pbmRldGVybWluYXRlLWFuaW1hdGlvbi12ZXJ0aWNhbH0gKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5rLWNpcmN1bGFyLXByb2dyZXNzYmFyLXNjYWxlIHtcbiAgICAgICAgc3Ryb2tlOiB2YXIoIC0ta2VuZG8tY2lyY3VsYXItcHJvZ3Jlc3NiYXItc2NhbGUtc3Ryb2tlLCAjeyRrZW5kby1jaXJjdWxhci1wcm9ncmVzc2Jhci1zY2FsZS1zdHJva2V9ICk7XG4gICAgfVxuXG4gICAgLmstY2lyY3VsYXItcHJvZ3Jlc3NiYXItYXJjIHtcbiAgICAgICAgc3Ryb2tlOiB2YXIoIC0ta2VuZG8tY2lyY3VsYXItcHJvZ3Jlc3NiYXItYXJjLXN0cm9rZSwgI3ska2VuZG8tY2lyY3VsYXItcHJvZ3Jlc3NiYXItYXJjLXN0cm9rZX0gKTtcbiAgICAgICAgdHJhbnNpdGlvbjogc3Ryb2tlIC41cyBlYXNlO1xuICAgIH1cbn1cbiIsIkB1c2UgXCJzYXNzOm1hcFwiO1xuQHVzZSBcInNhc3M6bWF0aFwiO1xuQHVzZSBcIi4uL2NvcmUvX2luZGV4LnNjc3NcIiBhcyAqO1xuQHVzZSBcIi4vX3ZhcmlhYmxlcy5zY3NzXCIgYXMgKjtcblxuQG1peGluIGtlbmRvLXJhZGlvLS1sYXlvdXQoKSB7XG5cbiAgICAuay1yYWRpbyB7XG4gICAgICAgIEBpbmNsdWRlIGJvcmRlci1yYWRpdXMoICRrZW5kby1yYWRpby1ib3JkZXItcmFkaXVzICk7XG4gICAgICAgIHdpZHRoOiB2YXIoIC0tSU5URVJOQUwtLWtlbmRvLXJhZGlvLXdpZHRoLCAxZW0gKTtcbiAgICAgICAgaGVpZ2h0OiB2YXIoIC0tSU5URVJOQUwtLWtlbmRvLXJhZGlvLWhlaWdodCwgMWVtICk7XG4gICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgbGluZS1oZWlnaHQ6IGluaXRpYWw7XG4gICAgICAgIGJvcmRlci13aWR0aDogdmFyKCAtLWtlbmRvLXJhZGlvLWJvcmRlci13aWR0aCwgI3ska2VuZG8tcmFkaW8tYm9yZGVyLXdpZHRofSApO1xuICAgICAgICBib3JkZXItc3R5bGU6IHNvbGlkO1xuICAgICAgICBvdXRsaW5lOiAwO1xuICAgICAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXI7XG4gICAgICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgICAgIGJhY2tncm91bmQtc2l6ZTogY29udGFpbjtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICBmbGV4OiBub25lO1xuICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAgICAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lO1xuICAgIH1cblxuXG4gICAgLy8gUmFkaW8gaW5kaWNhdG9yXG4gICAgLmstcmFkaW86OmJlZm9yZSB7XG4gICAgICAgIEBpZiAka2VuZG8tcmFkaW8taW5kaWNhdG9yLXR5cGUgPT0gXCJwc2V1ZG9cIiB7XG4gICAgICAgICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgICAgICAgd2lkdGg6IHZhciggLS1JTlRFUk5BTC0ta2VuZG8tcmFkaW8taW5kaWNhdG9yLXNpemUsIDFlbSApO1xuICAgICAgICAgICAgaGVpZ2h0OiB2YXIoIC0tSU5URVJOQUwtLWtlbmRvLXJhZGlvLWluZGljYXRvci1zaXplLCAxZW0gKTtcbiAgICAgICAgICAgIGJvcmRlci13aWR0aDogMDtcbiAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IHZhciggLS1rZW5kby1yYWRpby1pbmRpY2F0b3ItYm9yZGVyLXJhZGl1cywgI3ska2VuZG8tcmFkaW8taW5kaWNhdG9yLWJvcmRlci1yYWRpdXN9ICk7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBjdXJyZW50Q29sb3I7XG4gICAgICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgICAgICAgICAgdHJhbnNmb3JtOiBzY2FsZSgwKSB0cmFuc2xhdGUoLTUwJSwgLTUwJSk7XG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICB0b3A6IDUwJTtcbiAgICAgICAgICAgIGxlZnQ6IDUwJTtcbiAgICAgICAgfVxuXG4gICAgICAgIEBpZiAka2VuZG8tcmFkaW8taW5kaWNhdG9yLXR5cGUgPT0gXCJnbHlwaFwiIHtcbiAgICAgICAgICAgIGNvbnRlbnQ6IHZhciggLS1rZW5kby1yYWRpby1jaGVja2VkLWdseXBoLCAjeyRrZW5kby1yYWRpby1jaGVja2VkLWdseXBofSApO1xuICAgICAgICAgICAgd2lkdGg6IDFlbTtcbiAgICAgICAgICAgIGhlaWdodDogMWVtO1xuICAgICAgICAgICAgZm9udC1mYW1pbHk6IHZhciggLS1rZW5kby1yYWRpby1nbHlwaC1mb250LWZhbWlseSwgI3ska2VuZG8tcmFkaW8tZ2x5cGgtZm9udC1mYW1pbHl9ICk7XG4gICAgICAgICAgICBmb250LXNpemU6IHZhciggLS1JTlRFUk5BTC0ta2VuZG8tcmFkaW8tZ2x5cGgtc2l6ZSwgMWVtICk7XG4gICAgICAgICAgICBsaW5lLWhlaWdodDogMTtcbiAgICAgICAgICAgIHRyYW5zZm9ybTogc2NhbGUoMCkgdHJhbnNsYXRlKC01MCUsIC01MCUpO1xuICAgICAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgIHRvcDogNTAlO1xuICAgICAgICAgICAgbGVmdDogNTAlO1xuICAgICAgICB9XG5cbiAgICAgICAgQGlmICRrZW5kby1yYWRpby1pbmRpY2F0b3ItdHlwZSA9PSBcImltYWdlXCIge1xuICAgICAgICAgICAgY29udGVudDogXCJcIjtcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgICAgICBtYXNrLXNpemU6IHZhciggLS1JTlRFUk5BTC0ta2VuZG8tY2hlY2tib3gtaW5kaWNhdG9yLXNpemUsIDEwMCUgKTtcbiAgICAgICAgICAgIG1hc2stcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgICAgIH1cbiAgICB9XG5cblxuICAgIC8vIEhvdmVyIHN0YXRlXG4gICAgLmstcmFkaW86aG92ZXIsXG4gICAgLmstcmFkaW8uay1ob3ZlciB7XG4gICAgICAgIEBpZiAka2VuZG8tcmFkaW8taW5kaWNhdG9yLXR5cGUgPT0gXCJpbWFnZVwiIHtcbiAgICAgICAgICAgICY6OmJlZm9yZSB7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogY3VycmVudENvbG9yO1xuICAgICAgICAgICAgICAgIG1hc2staW1hZ2U6IHZhciggLS1rZW5kby1yYWRpby1ob3Zlci1pbWFnZSwgI3sgJGtlbmRvLXJhZGlvLWhvdmVyLWltYWdlIH0gKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIEBpZiAka2VuZG8tcmFkaW8taW5kaWNhdG9yLXR5cGUgPT0gXCJwc2V1ZG9cIiB7XG4gICAgICAgICAgICAmOjpiZWZvcmUge1xuICAgICAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIC01MCUpIHNjYWxlKDEpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgQGlmICRrZW5kby1yYWRpby1pbmRpY2F0b3ItdHlwZSA9PSBcImdseXBoXCIge1xuICAgICAgICAgICAgJjo6YmVmb3JlIHtcbiAgICAgICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAtNTAlKSBzY2FsZSgxKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuXG4gICAgLy8gRm9jdXMgc3RhdGVcbiAgICAuay1yYWRpbzpmb2N1cyxcbiAgICAuay1yYWRpby5rLWZvY3VzIHtcbiAgICAgICAgb3V0bGluZS1vZmZzZXQ6ICRrZW5kby1yYWRpby1mb2N1cy1vdXRsaW5lLW9mZnNldDtcbiAgICB9XG5cblxuICAgIC8vIENoZWNrZWQgc3RhdGVcbiAgICAuay1yYWRpbzpjaGVja2VkLFxuICAgIC5rLXJhZGlvLmstY2hlY2tlZCB7XG4gICAgICAgIEBpZiAka2VuZG8tcmFkaW8taW5kaWNhdG9yLXR5cGUgPT0gXCJpbWFnZVwiIHtcbiAgICAgICAgICAgICY6OmJlZm9yZSB7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogY3VycmVudENvbG9yO1xuICAgICAgICAgICAgICAgIG1hc2staW1hZ2U6IHZhciggLS1rZW5kby1yYWRpby1jaGVja2VkLWltYWdlLCAjeyAka2VuZG8tcmFkaW8tY2hlY2tlZC1pbWFnZSB9ICk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICBAaWYgJGtlbmRvLXJhZGlvLWluZGljYXRvci10eXBlID09IFwicHNldWRvXCIge1xuICAgICAgICAgICAgJjo6YmVmb3JlIHtcbiAgICAgICAgICAgICAgICB0cmFuc2Zvcm06IHNjYWxlKDEpIHRyYW5zbGF0ZSgtNTAlLCAtNTAlKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIEBpZiAka2VuZG8tcmFkaW8taW5kaWNhdG9yLXR5cGUgPT0gXCJnbHlwaFwiIHtcbiAgICAgICAgICAgICY6OmJlZm9yZSB7XG4gICAgICAgICAgICAgICAgdHJhbnNmb3JtOiBzY2FsZSgxKSB0cmFuc2xhdGUoLTUwJSwgLTUwJSk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cblxuICAgIC8vIERpc2FibGVkIHN0YXRlXG4gICAgLmstcmFkaW86ZGlzYWJsZWQ6Y2hlY2tlZCxcbiAgICAuay1yYWRpby5rLWRpc2FibGVkLmstY2hlY2tlZCB7XG4gICAgICAgIEBpZiAka2VuZG8tcmFkaW8taW5kaWNhdG9yLXR5cGUgPT0gXCJpbWFnZVwiIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHZhciggLS1rZW5kby1yYWRpby1kaXNhYmxlZC1jaGVja2VkLWltYWdlLCAjeyAka2VuZG8tcmFkaW8tZGlzYWJsZWQtY2hlY2tlZC1pbWFnZSB9ICk7XG4gICAgICAgIH1cbiAgICB9XG5cblxuICAgIC8vIFJhZGlvIHdyYXBcbiAgICAuay1yYWRpby13cmFwIHtcbiAgICAgICAgZmxleDogbm9uZTtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gICAgICAgIGZsZXgtZmxvdzogcm93IG5vd3JhcDtcbiAgICAgICAgZ2FwOiAwO1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICBhbGlnbi1zZWxmOiBzdGFydDtcbiAgICAgICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gICAgICAgICY6OmJlZm9yZSB7XG4gICAgICAgICAgICBjb250ZW50OiBcIlxcMjAwYlwiO1xuICAgICAgICAgICAgd2lkdGg6IDBweDtcbiAgICAgICAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgICAgICAgICBmbGV4OiBub25lO1xuICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICAgICAgdmVydGljYWwtYWxpZ246IHRvcDtcbiAgICAgICAgfVxuICAgIH1cblxuXG4gICAgLy8gUmFkaW8gbGFiZWxcbiAgICAuay1yYWRpby1sYWJlbCB7XG4gICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0O1xuICAgICAgICBnYXA6IHZhciggLS1rZW5kby1yYWRpby1sYWJlbC1zcGFjaW5nLCAjeyAka2VuZG8tcmFkaW8tbGFiZWwtc3BhY2luZyB9ICk7XG4gICAgICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xuXG4gICAgICAgIC5rLXJpcHBsZSB7XG4gICAgICAgICAgICAvLyBIaWRlIHJpcHBsZSB0ZW1wb3JhcmlseVxuICAgICAgICAgICAgdmlzaWJpbGl0eTogaGlkZGVuICFpbXBvcnRhbnQ7IC8vIHN0eWxlbGludC1kaXNhYmxlLWxpbmUgZGVjbGFyYXRpb24tbm8taW1wb3J0YW50XG4gICAgICAgIH1cbiAgICB9XG4gICAgLmstcmFkaW8gKyAuay1sYWJlbCxcbiAgICAuay1yYWRpby13cmFwICsgLmstbGFiZWwsXG4gICAgLmstcmFkaW8gKyAuay1yYWRpby1sYWJlbCxcbiAgICAuay1yYWRpby13cmFwICsgLmstcmFkaW8tbGFiZWwge1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmU7XG4gICAgICAgIG1hcmdpbi1pbmxpbmUtc3RhcnQ6IHZhciggLS1rZW5kby1yYWRpby1sYWJlbC1zcGFjaW5nLCAjeyAka2VuZG8tcmFkaW8tbGFiZWwtc3BhY2luZyB9ICk7XG4gICAgfVxuXG5cbiAgICAvLyBFbXB0eSBsYWJlbFxuICAgIC5rLXJhZGlvLWxhYmVsOmVtcHR5IHtcbiAgICAgICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OyAvLyBzdHlsZWxpbnQtZGlzYWJsZS1saW5lIGRlY2xhcmF0aW9uLW5vLWltcG9ydGFudFxuICAgIH1cbiAgICAuay1yYWRpby1sYWJlbC5rLW5vLXRleHQge1xuICAgICAgICBtaW4td2lkdGg6IDFweDtcbiAgICB9XG5cblxuICAgIC8vIFJhZGlvIGxpc3RcbiAgICAuay1yYWRpby1saXN0IHtcbiAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBmbGV4LWZsb3c6IGNvbHVtbiBub3dyYXA7XG4gICAgICAgIGdhcDogMDtcbiAgICAgICAgbGlzdC1zdHlsZTogbm9uZTtcbiAgICB9XG5cblxuICAgIC5rLXJhZGlvLWl0ZW0sXG4gICAgLmstcmFkaW8tbGlzdC1pdGVtIHtcbiAgICAgICAgcGFkZGluZy1pbmxpbmU6IHZhciggLS1rZW5kby1yYWRpby1saXN0LWl0ZW0tcGFkZGluZy14LCAjeyAka2VuZG8tcmFkaW8tbGlzdC1pdGVtLXBhZGRpbmcteCB9ICk7XG4gICAgICAgIHBhZGRpbmctYmxvY2s6IHZhciggLS1rZW5kby1yYWRpby1saXN0LWl0ZW0tcGFkZGluZy15LCAjeyAka2VuZG8tcmFkaW8tbGlzdC1pdGVtLXBhZGRpbmcteSB9ICk7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGZsZXgtZmxvdzogcm93IG5vd3JhcDtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgYWxpZ24tY29udGVudDogY2VudGVyO1xuICAgICAgICBnYXA6IHZhciggLS1rZW5kby1yYWRpby1saXN0LWl0ZW0tZ2FwLCAjeyAka2VuZG8tcmFkaW8tbGlzdC1pdGVtLWdhcCB9ICk7XG5cbiAgICAgICAgLmstcmFkaW8tbGFiZWwge1xuICAgICAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICB9XG4gICAgfVxuXG5cbiAgICAuay1yYWRpby1saXN0LWhvcml6b250YWwsXG4gICAgLmstcmFkaW8tbGlzdC5rLWxpc3QtaG9yaXpvbnRhbCB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGZsZXgtZmxvdzogcm93IHdyYXA7XG4gICAgICAgIGdhcDogdmFyKCAtLWtlbmRvLXJhZGlvLWxpc3Qtc3BhY2luZywgI3sgJGtlbmRvLXJhZGlvLWxpc3Qtc3BhY2luZyB9ICk7XG4gICAgfVxuXG5cbiAgICAvLyBSaXBwbGVcbiAgICAuay1yaXBwbGUtY29udGFpbmVyIHtcbiAgICAgICAgLmstcmFkaW86OmFmdGVyIHtcbiAgICAgICAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICAgICAgICB3aWR0aDogdmFyKCAtLUlOVEVSTkFMLS1rZW5kby1yYWRpby1yaXBwbGUtd2lkdGgsIDMwMCUgKTtcbiAgICAgICAgICAgIGhlaWdodDogdmFyKCAtLUlOVEVSTkFMLS1rZW5kby1yYWRpby1yaXBwbGUtaGVpZ2h0LCAzMDAlICk7XG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgIGxlZnQ6IDUwJTtcbiAgICAgICAgICAgIHRvcDogNTAlO1xuICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogMTAwJTtcbiAgICAgICAgICAgIHotaW5kZXg6IC0xO1xuICAgICAgICAgICAgdHJhbnNpdGlvbjogb3BhY2l0eSAxMDBtcyBsaW5lYXIsIHRyYW5zZm9ybSAxNTBtcyBjdWJpYy1iZXppZXIoLjQsIDAsIC4yLCAxKTtcbiAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIC01MCUpIHNjYWxlKDApO1xuICAgICAgICAgICAgdHJhbnNmb3JtLW9yaWdpbjogY2VudGVyIGNlbnRlcjtcbiAgICAgICAgfVxuXG4gICAgICAgIC5rLXJhZGlvOmZvY3VzLFxuICAgICAgICAuay1yYWRpby5rLWZvY3VzIHtcbiAgICAgICAgICAgIGJveC1zaGFkb3c6IG5vbmUgIWltcG9ydGFudDsgLy8gc3R5bGVsaW50LWRpc2FibGUtbGluZSBkZWNsYXJhdGlvbi1uby1pbXBvcnRhbnRcbiAgICAgICAgICAgIG91dGxpbmU6IG5vbmUgIWltcG9ydGFudDsgLy8gc3R5bGVsaW50LWRpc2FibGUtbGluZSBkZWNsYXJhdGlvbi1uby1pbXBvcnRhbnRcbiAgICAgICAgfVxuXG4gICAgICAgIC5rLXJhZGlvOmRpc2FibGVkOjphZnRlcixcbiAgICAgICAgLmstcmFkaW8uay1kaXNhYmxlZDo6YWZ0ZXIge1xuICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgfVxuICAgIH1cblxuXG4gICAgLy8gUmFkaW8gc2l6ZVxuICAgIEBlYWNoICRzaXplLCAkc2l6ZS1wcm9wcyBpbiAka2VuZG8tcmFkaW8tc2l6ZXMge1xuICAgICAgICAkX3NpemU6IG1hcC5nZXQoICRzaXplLXByb3BzLCBzaXplICk7XG4gICAgICAgICRfZ2x5cGgtc2l6ZTogbWFwLmdldCggJHNpemUtcHJvcHMsIGdseXBoLXNpemUgKTtcbiAgICAgICAgJF9pbmRpY2F0b3Itc2l6ZTogbWFwLmdldCggJHNpemUtcHJvcHMsIGluZGljYXRvci1zaXplICk7XG4gICAgICAgICRfcmlwcGxlLXNpemU6IG1hcC5nZXQoICRzaXplLXByb3BzLCByaXBwbGUtc2l6ZSApO1xuXG4gICAgICAgIC5rLXJhZGlvLSN7JHNpemV9IHtcbiAgICAgICAgICAgIC0tSU5URVJOQUwtLWtlbmRvLXJhZGlvLXdpZHRoOiAjeyRfc2l6ZX07XG4gICAgICAgICAgICAtLUlOVEVSTkFMLS1rZW5kby1yYWRpby1oZWlnaHQ6ICN7JF9zaXplfTtcbiAgICAgICAgICAgIC0tSU5URVJOQUwtLWtlbmRvLXJhZGlvLWdseXBoLXNpemU6ICN7JF9nbHlwaC1zaXplfTtcbiAgICAgICAgICAgIC0tSU5URVJOQUwtLWtlbmRvLXJhZGlvLWluZGljYXRvci1zaXplOiAjeyRfaW5kaWNhdG9yLXNpemV9O1xuICAgICAgICB9XG5cbiAgICAgICAgLmstcmlwcGxlLWNvbnRhaW5lciB7XG4gICAgICAgICAgICAuay1yYWRpby0jeyRzaXplfTo6YWZ0ZXIge1xuICAgICAgICAgICAgICAgIC0tSU5URVJOQUwtLWtlbmRvLXJhZGlvLXJpcHBsZS13aWR0aDogI3sgJF9yaXBwbGUtc2l6ZSB9O1xuICAgICAgICAgICAgICAgIC0tSU5URVJOQUwtLWtlbmRvLXJhZGlvLXJpcHBsZS1oZWlnaHQ6ICN7ICRfcmlwcGxlLXNpemUgfTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxufVxuIiwiQHVzZSBcInNhc3M6bWFwXCI7XG5AdXNlIFwic2FzczptYXRoXCI7XG5AdXNlIFwiLi4vY29yZS9faW5kZXguc2Nzc1wiIGFzICo7XG5AdXNlIFwiLi4vY2hlY2tib3gvX3ZhcmlhYmxlcy5zY3NzXCIgYXMgKjtcbkB1c2UgXCIuLi9saXN0L192YXJpYWJsZXMuc2Nzc1wiIGFzICo7XG5AdXNlIFwiQHByb2dyZXNzL2tlbmRvLXRoZW1lLWNvcmUvc2Nzcy9mdW5jdGlvbnMvaW5kZXguaW1wb3J0LnNjc3NcIiBhcyAqO1xuXG4vLyBSYWRpbyBidXR0b25cblxuLy8vIFRoZSBib3JkZXIgcmFkaXVzIG9mIHRoZSBSYWRpb0J1dHRvbi5cbi8vLyBAZ3JvdXAgcmFkaW9cbiRrZW5kby1yYWRpby1ib3JkZXItcmFkaXVzOiA1MCUgIWRlZmF1bHQ7XG4vLy8gVGhlIGJvcmRlciB3aWR0aCBvZiB0aGUgUmFkaW9CdXR0b24uXG4vLy8gQGdyb3VwIHJhZGlvXG4ka2VuZG8tcmFkaW8tYm9yZGVyLXdpZHRoOiAxcHggIWRlZmF1bHQ7XG5cbi8vLyBUaGUgbWFwIHdpdGggdGhlIGRpZmZlcmVudCBSYWRpb0J1dHRvbiBzaXplcy5cbi8vLyBAZ3JvdXAgcmFkaW9cbiRrZW5kby1yYWRpby1zaXplczogKFxuICAgIHNtOiAoXG4gICAgICAgIHNpemU6IGstc3BhY2luZyg0KSxcbiAgICAgICAgZ2x5cGgtc2l6ZTogay1zcGFjaW5nKDMuNSksXG4gICAgICAgIGluZGljYXRvci1zaXplOiBrLXNwYWNpbmcoMiksXG4gICAgICAgIHJpcHBsZS1zaXplOiAzMDAlXG4gICAgKSxcbiAgICBtZDogKFxuICAgICAgICBzaXplOiBrLXNwYWNpbmcoNSksXG4gICAgICAgIGdseXBoLXNpemU6IGstc3BhY2luZyg0LjUpLFxuICAgICAgICBpbmRpY2F0b3Itc2l6ZTogay1zcGFjaW5nKDIuNSksXG4gICAgICAgIHJpcHBsZS1zaXplOiAzMDAlXG4gICAgKSxcbiAgICBsZzogKFxuICAgICAgICBzaXplOiBrLXNwYWNpbmcoNiksXG4gICAgICAgIGdseXBoLXNpemU6IGstc3BhY2luZyg1LjUpLFxuICAgICAgICBpbmRpY2F0b3Itc2l6ZTogay1zcGFjaW5nKDMpLFxuICAgICAgICByaXBwbGUtc2l6ZTogMzAwJVxuICAgIClcbikgIWRlZmF1bHQ7XG5cbi8vLyBUaGUgYmFja2dyb3VuZCBjb2xvciBvZiB0aGUgUmFkaW9CdXR0b24uXG4vLy8gQGdyb3VwIHJhZGlvXG4ka2VuZG8tcmFkaW8tYmc6ICRrZW5kby1jb21wb25lbnQtYmcgIWRlZmF1bHQ7XG4vLy8gVGhlIGNvbG9yIG9mIHRoZSBSYWRpb0J1dHRvbi5cbi8vLyBAZ3JvdXAgcmFkaW9cbiRrZW5kby1yYWRpby10ZXh0OiB0cmFuc3BhcmVudCAhZGVmYXVsdDtcbi8vLyBUaGUgYm9yZGVyIGNvbG9yIG9mIHRoZSBSYWRpb0J1dHRvbi5cbi8vLyBAZ3JvdXAgcmFkaW9cbiRrZW5kby1yYWRpby1ib3JkZXI6IGlmKCRrZW5kby1lbmFibGUtY29sb3Itc3lzdGVtLCBrLWNvbG9yKCBib3JkZXItYWx0ICksIGstZ2V0LXRoZW1lLWNvbG9yLXZhciggbmV1dHJhbC0xNjAgKSkgIWRlZmF1bHQ7XG5cbi8vLyBUaGUgYmFja2dyb3VuZCBjb2xvciBvZiB0aGUgaG92ZXJlZCBSYWRpb0J1dHRvbi5cbi8vLyBAZ3JvdXAgcmFkaW9cbiRrZW5kby1yYWRpby1ob3Zlci1iZzogJGtlbmRvLXJhZGlvLWJnICFkZWZhdWx0O1xuLy8vIFRoZSBjb2xvciBvZiB0aGUgaG92ZXJlZCBSYWRpb0J1dHRvbi5cbi8vLyBAZ3JvdXAgcmFkaW9cbiRrZW5kby1yYWRpby1ob3Zlci10ZXh0OiBpZigka2VuZG8tZW5hYmxlLWNvbG9yLXN5c3RlbSwgay1jb2xvciggc3VidGxlICksIGstZ2V0LXRoZW1lLWNvbG9yKCBuZXV0cmFsLCAxMzAgKSkgIWRlZmF1bHQ7XG4vLy8gVGhlIGJvcmRlciBjb2xvciBvZiB0aGUgaG92ZXJlZCBSYWRpb0J1dHRvbi5cbi8vLyBAZ3JvdXAgcmFkaW9cbiRrZW5kby1yYWRpby1ob3Zlci1ib3JkZXI6ICRrZW5kby1yYWRpby1ib3JkZXIgIWRlZmF1bHQ7XG5cbi8vLyBUaGUgYmFja2dyb3VuZCBjb2xvciBvZiB0aGUgY2hlY2tlZCBSYWRpb0J1dHRvbi5cbi8vLyBAZ3JvdXAgcmFkaW9cbiRrZW5kby1yYWRpby1jaGVja2VkLWJnOiAka2VuZG8tcmFkaW8tYmcgIWRlZmF1bHQ7XG4vLy8gVGhlIGNvbG9yIG9mIHRoZSBjaGVja2VkIFJhZGlvQnV0dG9uLlxuLy8vIEBncm91cCByYWRpb1xuJGtlbmRvLXJhZGlvLWNoZWNrZWQtdGV4dDogaWYoJGtlbmRvLWVuYWJsZS1jb2xvci1zeXN0ZW0sIGstY29sb3IoIHByaW1hcnkgKSwgay1nZXQtdGhlbWUtY29sb3ItdmFyKCBwcmltYXJ5LTEwMCApKSAhZGVmYXVsdDtcbi8vLyBUaGUgYm9yZGVyIGNvbG9yIG9mIHRoZSBjaGVja2VkIFJhZGlvQnV0dG9uLlxuLy8vIEBncm91cCByYWRpb1xuJGtlbmRvLXJhZGlvLWNoZWNrZWQtYm9yZGVyOiBpZigka2VuZG8tZW5hYmxlLWNvbG9yLXN5c3RlbSwgay1jb2xvciggcHJpbWFyeSApLCBrLWdldC10aGVtZS1jb2xvci12YXIoIHByaW1hcnktMTAwICkpICFkZWZhdWx0O1xuXG4vLy8gVGhlIGJhY2tncm91bmQgY29sb3Igb2YgdGhlIGNoZWNrZWQgYW5kIGhvdmVyZWQgUmFkaW9CdXR0b24uXG4vLy8gQGdyb3VwIHJhZGlvXG4ka2VuZG8tcmFkaW8taG92ZXItY2hlY2tlZC1iZzogJGtlbmRvLXJhZGlvLWJnICFkZWZhdWx0O1xuLy8vIFRoZSBjb2xvciBvZiB0aGUgY2hlY2tlZCBhbmQgaG92ZXJlZCBSYWRpb0J1dHRvbi5cbi8vLyBAZ3JvdXAgcmFkaW9cbiRrZW5kby1yYWRpby1ob3Zlci1jaGVja2VkLXRleHQ6IGlmKCRrZW5kby1lbmFibGUtY29sb3Itc3lzdGVtLCBrLWNvbG9yKCBwcmltYXJ5LWhvdmVyICksIGstZ2V0LXRoZW1lLWNvbG9yLXZhciggcHJpbWFyeS0xMTAgKSkgIWRlZmF1bHQ7XG4vLy8gVGhlIGJvcmRlciBjb2xvciBvZiB0aGUgY2hlY2tlZCBhbmQgaG92ZXJlZCBSYWRpb0J1dHRvbi5cbi8vLyBAZ3JvdXAgcmFkaW9cbiRrZW5kby1yYWRpby1ob3Zlci1jaGVja2VkLWJvcmRlcjogaWYoJGtlbmRvLWVuYWJsZS1jb2xvci1zeXN0ZW0sIGstY29sb3IoIHByaW1hcnktaG92ZXIgKSwgay1nZXQtdGhlbWUtY29sb3ItdmFyKCBwcmltYXJ5LTExMCApKSAhZGVmYXVsdDtcblxuLy8vIFRoZSBib3JkZXIgY29sb3Igb2YgdGhlIGZvY3VzZWQgUmFkaW9CdXR0b24uXG4vLy8gQGdyb3VwIHJhZGlvXG4ka2VuZG8tcmFkaW8tZm9jdXMtYm9yZGVyOiBudWxsICFkZWZhdWx0O1xuLy8vIFRoZSBib3ggc2hhZG93IG9mIHRoZSBmb2N1c2VkIFJhZGlvQnV0dG9uLlxuLy8vIEBncm91cCByYWRpb1xuJGtlbmRvLXJhZGlvLWZvY3VzLXNoYWRvdzogbnVsbCAhZGVmYXVsdDtcbi8vLyBUaGUgb3V0bGluZSBvZiB0aGUgZm9jdXNlZCBSYWRpb0J1dHRvbi5cbi8vLyBAZ3JvdXAgcmFkaW9cbiRrZW5kby1yYWRpby1mb2N1cy1vdXRsaW5lOiAxcHggc29saWQgaWYoJGtlbmRvLWVuYWJsZS1jb2xvci1zeXN0ZW0sIGstY29sb3IoIGJhc2UtZW1waGFzaXMgKSwgay1nZXQtdGhlbWUtY29sb3ItdmFyKCBuZXV0cmFsLTEzMCApKSAhZGVmYXVsdDtcbi8vLyBUaGUgb3V0bGluZSBvZmZzZXQgb2YgdGhlIGZvY3VzZWQgUmFkaW9CdXR0b24uXG4vLy8gQGdyb3VwIHJhZGlvXG4ka2VuZG8tcmFkaW8tZm9jdXMtb3V0bGluZS1vZmZzZXQ6IDJweCAhZGVmYXVsdDtcblxuLy8vIFRoZSBiYWNrZ3JvdW5kIGNvbG9yIG9mIHRoZSBkaXNhYmxlZCBSYWRpb0J1dHRvbi5cbi8vLyBAZ3JvdXAgcmFkaW9cbiRrZW5kby1yYWRpby1kaXNhYmxlZC1iZzogJGtlbmRvLXJhZGlvLWJnICFkZWZhdWx0O1xuLy8vIFRoZSBjb2xvciBvZiB0aGUgZGlzYWJsZWQgUmFkaW9CdXR0b24uXG4vLy8gQGdyb3VwIHJhZGlvXG4ka2VuZG8tcmFkaW8tZGlzYWJsZWQtdGV4dDogaWYoJGtlbmRvLWVuYWJsZS1jb2xvci1zeXN0ZW0sIGNvbG9yLW1peChpbiBzcmdiLCBrLWNvbG9yKCBvbi1hcHAtc3VyZmFjZSApIDI4JSwgdHJhbnNwYXJlbnQpLCBrLWdldC10aGVtZS1jb2xvci12YXIoIG5ldXRyYWwtNjAgKSkgIWRlZmF1bHQ7XG4vLy8gVGhlIGJvcmRlciBjb2xvciBvZiB0aGUgZGlzYWJsZWQgUmFkaW9CdXR0b24uXG4vLy8gQGdyb3VwIHJhZGlvXG4ka2VuZG8tcmFkaW8tZGlzYWJsZWQtYm9yZGVyOiBpZigka2VuZG8tZW5hYmxlLWNvbG9yLXN5c3RlbSwgY29sb3ItbWl4KGluIHNyZ2IsIGstY29sb3IoIG9uLWFwcC1zdXJmYWNlICkgMjglLCB0cmFuc3BhcmVudCksIGstZ2V0LXRoZW1lLWNvbG9yLXZhciggbmV1dHJhbC02MCApKSAhZGVmYXVsdDtcblxuLy8vIFRoZSBiYWNrZ3JvdW5kIGNvbG9yIG9mIHRoZSBkaXNhYmxlZCBhbmQgY2hlY2tlZCBSYWRpb0J1dHRvbi5cbi8vLyBAZ3JvdXAgcmFkaW9cbiRrZW5kby1yYWRpby1kaXNhYmxlZC1jaGVja2VkLWJnOiAka2VuZG8tcmFkaW8tZGlzYWJsZWQtYmcgIWRlZmF1bHQ7XG4vLy8gVGhlIGNvbG9yIG9mIHRoZSBkaXNhYmxlZCBhbmQgY2hlY2tlZCBSYWRpb0J1dHRvbi5cbi8vLyBAZ3JvdXAgcmFkaW9cbiRrZW5kby1yYWRpby1kaXNhYmxlZC1jaGVja2VkLXRleHQ6ICRrZW5kby1yYWRpby1kaXNhYmxlZC10ZXh0ICFkZWZhdWx0O1xuLy8vIFRoZSBib3JkZXIgY29sb3Igb2YgdGhlIGRpc2FibGVkIGFuZCBjaGVja2VkIFJhZGlvQnV0dG9uLlxuLy8vIEBncm91cCByYWRpb1xuJGtlbmRvLXJhZGlvLWRpc2FibGVkLWNoZWNrZWQtYm9yZGVyOiAka2VuZG8tcmFkaW8tZGlzYWJsZWQtYm9yZGVyICFkZWZhdWx0O1xuXG4vLy8gVGhlIGJhY2tncm91bmQgY29sb3Igb2YgdGhlIGludmFsaWQgUmFkaW9CdXR0b24uXG4vLy8gQGdyb3VwIHJhZGlvXG4ka2VuZG8tcmFkaW8taW52YWxpZC1iZzogJGtlbmRvLXJhZGlvLWJnICFkZWZhdWx0O1xuLy8vIFRoZSBjb2xvciBvZiB0aGUgaW52YWxpZCBSYWRpb0J1dHRvbi5cbi8vLyBAZ3JvdXAgcmFkaW9cbiRrZW5kby1yYWRpby1pbnZhbGlkLXRleHQ6ICRrZW5kby1pbnZhbGlkLXRleHQgIWRlZmF1bHQ7XG4vLy8gVGhlIGJvcmRlciBjb2xvciBvZiB0aGUgaW52YWxpZCBSYWRpb0J1dHRvbi5cbi8vLyBAZ3JvdXAgcmFkaW9cbiRrZW5kby1yYWRpby1pbnZhbGlkLWJvcmRlcjogJGtlbmRvLWludmFsaWQtYm9yZGVyICFkZWZhdWx0O1xuXG5cbi8vIFJhZGlvIGluZGljYXRvclxuXG4vLy8gVGhlIHR5cGUgb2YgdGhlIFJhZGlvQnV0dG9uIGluZGljYXRvci5cbi8vLyBAZ3JvdXAgcmFkaW9cbiRrZW5kby1yYWRpby1pbmRpY2F0b3ItdHlwZTogcHNldWRvICFkZWZhdWx0O1xuXG4vLy8gVGhlIGJvcmRlciByYWRpdXMgb2YgdGhlIFJhZGlvQnV0dG9uIGluZGljYXRvci5cbi8vLyBAZ3JvdXAgcmFkaW9cbiRrZW5kby1yYWRpby1pbmRpY2F0b3ItYm9yZGVyLXJhZGl1czogNTAlICFkZWZhdWx0O1xuXG4vLy8gVGhlIGdseXBoIGZvbnQgZmFtaWx5IG9mIHRoZSBSYWRpb0J1dHRvbiBpbmRpY2F0b3IuXG4vLy8gQGdyb3VwIHJhZGlvXG4ka2VuZG8tcmFkaW8tZ2x5cGgtZm9udC1mYW1pbHk6IFwiV2ViQ29tcG9uZW50c0ljb25zXCIsIG1vbm9zcGFjZSAhZGVmYXVsdDtcbi8vLyBUaGUgZ2x5cGggb2YgdGhlIFJhZGlvQnV0dG9uIGluZGljYXRvci5cbi8vLyBAZ3JvdXAgcmFkaW9cbiRrZW5kby1yYWRpby1jaGVja2VkLWdseXBoOiBcIlxcZTMwOFwiICFkZWZhdWx0O1xuXG4vLy8gVGhlIGltYWdlIG9mIHRoZSBjaGVja2VkIFJhZGlvQnV0dG9uIGluZGljYXRvci5cbi8vLyBAZ3JvdXAgcmFkaW9cbiRrZW5kby1yYWRpby1jaGVja2VkLWltYWdlOiBrLWVzY2FwZS1zdmcoIHVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbCw8c3ZnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Zycgdmlld0JveD0nMCAwIDE0IDE0Jz48Y2lyY2xlIGN4PSc1MCUnIGN5PSc1MCUnIHI9JzQnIGZpbGw9JyMwMDc4ZDQnLz48L3N2Zz5cIikgKSAhZGVmYXVsdDtcbi8vLyBUaGUgaW1hZ2Ugb2YgdGhlIGRpc2FibGVkIGFuZCBjaGVja2VkIFJhZGlvQnV0dG9uIGluZGljYXRvci5cbi8vLyBAZ3JvdXAgcmFkaW9cbiRrZW5kby1yYWRpby1kaXNhYmxlZC1jaGVja2VkLWltYWdlOiBudWxsICFkZWZhdWx0O1xuXG5cbi8vIFJhZGlvIGxhYmVsXG5cbi8vLyBUaGUgaG9yaXpvbnRhbCBtYXJnaW4gb2YgdGhlIFJhZGlvQnV0dG9uIGluc2lkZSBvZiBhIGxhYmVsLlxuLy8vIEBncm91cCByYWRpb1xuJGtlbmRvLXJhZGlvLWxhYmVsLXNwYWNpbmc6IGstc3BhY2luZygyKSAhZGVmYXVsdDtcblxuXG4vLyBSYWRpbyBsaXN0XG5cbi8vLyBUaGUgaG9yaXpvbnRhbCBsaXN0IGl0ZW0gbWFyZ2luIG9mIHRoZSBSYWRpb0J1dHRvbi5cbi8vLyBAZ3JvdXAgcmFkaW9cbiRrZW5kby1yYWRpby1saXN0LXNwYWNpbmc6IGstc3BhY2luZyg0KSAhZGVmYXVsdDtcbi8vLyBUaGUgaG9yaXpvbnRhbCBsaXN0IGl0ZW0gcGFkZGluZyBvZiB0aGUgUmFkaW9CdXR0b24uXG4vLy8gQGdyb3VwIHJhZGlvXG4ka2VuZG8tcmFkaW8tbGlzdC1pdGVtLXBhZGRpbmcteDogay1zcGFjaW5nKDApICFkZWZhdWx0O1xuLy8vIFRoZSB2ZXJ0aWNhbCBsaXN0IGl0ZW0gcGFkZGluZyBvZiB0aGUgUmFkaW9CdXR0b24uXG4vLy8gQGdyb3VwIHJhZGlvXG4ka2VuZG8tcmFkaW8tbGlzdC1pdGVtLXBhZGRpbmcteTogJGtlbmRvLWxpc3QtbWQtaXRlbS1wYWRkaW5nLXkgIWRlZmF1bHQ7XG4vLy8gVGhlIGdhcCBiZXR3ZWVuIHRoZSBsaXN0IGl0ZW1zIG9mIHRoZSBSYWRpb0J1dHRvbi5cbi8vLyBAZ3JvdXAgcmFkaW9cbiRrZW5kby1yYWRpby1saXN0LWl0ZW0tZ2FwOiBrLXNwYWNpbmcoMikgIWRlZmF1bHQ7XG5cbi8vIFJhZGlvIHJpcHBsZVxuXG4vLy8gVGhlIGJhY2tncm91bmQgY29sb3Igb2YgdGhlIFJhZGlvQnV0dG9uIHJpcHBsZS5cbi8vLyBAZ3JvdXAgcmFkaW9cbiRrZW5kby1yYWRpby1yaXBwbGUtYmc6IGlmKCRrZW5kby1lbmFibGUtY29sb3Itc3lzdGVtLCBrLWNvbG9yKCBwcmltYXJ5ICksIGstZ2V0LXRoZW1lLWNvbG9yLXZhciggcHJpbWFyeS0xMDAgKSkgIWRlZmF1bHQ7XG4vLy8gVGhlIG9wYWNpdHkgb2YgdGhlIFJhZGlvQnV0dG9uIHJpcHBsZS5cbi8vLyBAZ3JvdXAgcmFkaW9cbiRrZW5kby1yYWRpby1yaXBwbGUtb3BhY2l0eTogLjI1ICFkZWZhdWx0O1xuIiwiQHVzZSBcIi4uL2NvcmUvX2luZGV4LnNjc3NcIiBhcyAqO1xuQHVzZSBcIi4vX3ZhcmlhYmxlcy5zY3NzXCIgYXMgKjtcblxuQG1peGluIGtlbmRvLXJhZGlvLS10aGVtZSgpIHtcblxuICAgIC8vIFJhZGlvXG4gICAgLmstcmFkaW8ge1xuICAgICAgICBAaW5jbHVkZSBmaWxsKFxuICAgICAgICAgICAgdmFyKCAtLWtlbmRvLXJhZGlvLXRleHQsICN7JGtlbmRvLXJhZGlvLXRleHR9ICksXG4gICAgICAgICAgICB2YXIoIC0ta2VuZG8tcmFkaW8tYmcsICN7JGtlbmRvLXJhZGlvLWJnfSApLFxuICAgICAgICAgICAgdmFyKCAtLWtlbmRvLXJhZGlvLWJvcmRlciwgI3ska2VuZG8tcmFkaW8tYm9yZGVyfSApXG4gICAgICAgICk7XG4gICAgfVxuXG5cbiAgICAvLyBIb3ZlciBzdGF0ZVxuICAgIC5rLXJhZGlvOmhvdmVyLFxuICAgIC5rLXJhZGlvLmstaG92ZXIge1xuICAgICAgICBAaW5jbHVkZSBmaWxsKFxuICAgICAgICAgICAgdmFyKCAtLWtlbmRvLXJhZGlvLWhvdmVyLXRleHQsICN7JGtlbmRvLXJhZGlvLWhvdmVyLXRleHR9ICksXG4gICAgICAgICAgICB2YXIoIC0ta2VuZG8tcmFkaW8taG92ZXItYmcsICN7JGtlbmRvLXJhZGlvLWhvdmVyLWJnfSApLFxuICAgICAgICAgICAgdmFyKCAtLWtlbmRvLXJhZGlvLWhvdmVyLWJvcmRlciwgI3ska2VuZG8tcmFkaW8taG92ZXItYm9yZGVyfSApXG4gICAgICAgICk7XG4gICAgfVxuXG5cbiAgICAvLyBGb2N1cyBzdGF0ZVxuICAgIC5rLXJhZGlvOmZvY3VzLFxuICAgIC5rLXJhZGlvLmstZm9jdXMge1xuICAgICAgICBib3gtc2hhZG93OiAka2VuZG8tcmFkaW8tZm9jdXMtc2hhZG93O1xuICAgICAgICBvdXRsaW5lOiAka2VuZG8tcmFkaW8tZm9jdXMtb3V0bGluZTtcbiAgICB9XG5cblxuICAgIC8vIENoZWNrZWRcbiAgICAuay1yYWRpbzpjaGVja2VkLFxuICAgIC5rLXJhZGlvLmstY2hlY2tlZCB7XG4gICAgICAgIEBpbmNsdWRlIGZpbGwoXG4gICAgICAgICAgICB2YXIoIC0ta2VuZG8tcmFkaW8tY2hlY2tlZC10ZXh0LCAjeyRrZW5kby1yYWRpby1jaGVja2VkLXRleHR9ICksXG4gICAgICAgICAgICB2YXIoIC0ta2VuZG8tcmFkaW8tY2hlY2tlZC1iZywgI3ska2VuZG8tcmFkaW8tY2hlY2tlZC1iZ30gKSxcbiAgICAgICAgICAgIHZhciggLS1rZW5kby1yYWRpby1jaGVja2VkLWJvcmRlciwgI3ska2VuZG8tcmFkaW8tY2hlY2tlZC1ib3JkZXJ9IClcbiAgICAgICAgKTtcbiAgICB9XG5cblxuICAgIC8vIEhvdmVyIGNoZWNrZWQgc3RhdGVcbiAgICAuay1yYWRpbzpjaGVja2VkOmhvdmVyLFxuICAgIC5rLXJhZGlvLmstY2hlY2tlZC5rLWhvdmVyIHtcbiAgICAgICAgQGluY2x1ZGUgZmlsbChcbiAgICAgICAgICAgIHZhciggLS1rZW5kby1yYWRpby1ob3Zlci1jaGVja2VkLXRleHQsICN7JGtlbmRvLXJhZGlvLWhvdmVyLWNoZWNrZWQtdGV4dH0gKSxcbiAgICAgICAgICAgIHZhciggLS1rZW5kby1yYWRpby1ob3Zlci1jaGVja2VkLWJnLCAjeyRrZW5kby1yYWRpby1ob3Zlci1jaGVja2VkLWJnfSApLFxuICAgICAgICAgICAgdmFyKCAtLWtlbmRvLXJhZGlvLWhvdmVyLWNoZWNrZWQtYm9yZGVyLCAjeyRrZW5kby1yYWRpby1ob3Zlci1jaGVja2VkLWJvcmRlcn0gKVxuICAgICAgICApO1xuICAgIH1cblxuXG4gICAgLy8gRGlzYWJsZWRcbiAgICAuay1yYWRpbzpkaXNhYmxlZCxcbiAgICAuay1yYWRpby5rLWRpc2FibGVkIHtcbiAgICAgICAgQGluY2x1ZGUgZmlsbChcbiAgICAgICAgICAgIHZhciggLS1rZW5kby1yYWRpby1kaXNhYmxlZC10ZXh0LCAjeyRrZW5kby1yYWRpby1kaXNhYmxlZC10ZXh0fSApLFxuICAgICAgICAgICAgdmFyKCAtLWtlbmRvLXJhZGlvLWRpc2FibGVkLWJnLCAjeyRrZW5kby1yYWRpby1kaXNhYmxlZC1iZ30gKSxcbiAgICAgICAgICAgIHZhciggLS1rZW5kby1yYWRpby1kaXNhYmxlZC1ib3JkZXIsICN7JGtlbmRvLXJhZGlvLWRpc2FibGVkLWJvcmRlcn0gKVxuICAgICAgICApO1xuICAgIH1cbiAgICAuay1yYWRpbzpjaGVja2VkOmRpc2FibGVkLFxuICAgIC5rLXJhZGlvLmstY2hlY2tlZC5rLWRpc2FibGVkIHtcbiAgICAgICAgQGluY2x1ZGUgZmlsbChcbiAgICAgICAgICAgIHZhciggLS1rZW5kby1yYWRpby1kaXNhYmxlZC1jaGVja2VkLXRleHQsICN7JGtlbmRvLXJhZGlvLWRpc2FibGVkLWNoZWNrZWQtdGV4dH0gKSxcbiAgICAgICAgICAgIHZhciggLS1rZW5kby1yYWRpby1kaXNhYmxlZC1jaGVja2VkLWJnLCAjeyRrZW5kby1yYWRpby1kaXNhYmxlZC1jaGVja2VkLWJnfSApLFxuICAgICAgICAgICAgdmFyKCAtLWtlbmRvLXJhZGlvLWRpc2FibGVkLWNoZWNrZWQtYm9yZGVyLCAjeyRrZW5kby1yYWRpby1kaXNhYmxlZC1jaGVja2VkLWJvcmRlcn0gKVxuICAgICAgICApO1xuICAgIH1cblxuXG4gICAgLy8gSW52YWxpZCBzdGF0ZVxuICAgIC5rLXJhZGlvLmstaW52YWxpZCxcbiAgICAuay1yYWRpby5uZy1pbnZhbGlkLm5nLXRvdWNoZWQsXG4gICAgLmstcmFkaW8ubmctaW52YWxpZC5uZy1kaXJ0eSB7XG4gICAgICAgIEBpbmNsdWRlIGZpbGwoICRib3JkZXI6IHZhciggLS1rZW5kby1yYWRpby1pbnZhbGlkLWJvcmRlciwgI3ska2VuZG8tcmFkaW8taW52YWxpZC1ib3JkZXJ9ICkgKTtcbiAgICB9XG4gICAgLmstcmFkaW8uay1pbnZhbGlkICsgLmstcmFkaW8tbGFiZWwsXG4gICAgLmstcmFkaW8ubmctaW52YWxpZC5uZy10b3VjaGVkICsgLmstcmFkaW8tbGFiZWwsXG4gICAgLmstcmFkaW8ubmctaW52YWxpZC5uZy1kaXJ0eSArIC5rLXJhZGlvLWxhYmVsIHtcbiAgICAgICAgQGluY2x1ZGUgZmlsbCggJGNvbG9yOiB2YXIoIC0ta2VuZG8tcmFkaW8taW52YWxpZC10ZXh0LCAjeyRrZW5kby1yYWRpby1pbnZhbGlkLXRleHR9ICkgKTtcbiAgICB9XG5cblxuICAgIC8vIFJpcHBsZVxuICAgIC5rLXJhZGlvLXdyYXAgLmstcmlwcGxlLWJsb2Ige1xuICAgICAgICBjb2xvcjogdmFyKCAtLWtlbmRvLXJhZGlvLXJpcHBsZS1iZywgI3ska2VuZG8tcmFkaW8tcmlwcGxlLWJnfSApO1xuICAgICAgICBvcGFjaXR5OiB2YXIoIC0ta2VuZG8tcmFkaW8tcmlwcGxlLW9wYWNpdHksICN7JGtlbmRvLXJhZGlvLXJpcHBsZS1vcGFjaXR5fSApO1xuICAgIH1cbiAgICAuay1yaXBwbGUtY29udGFpbmVyIHtcbiAgICAgICAgLmstcmFkaW86OmFmdGVyIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQ6IHZhciggLS1rZW5kby1yYWRpby1yaXBwbGUtYmcsICN7JGtlbmRvLXJhZGlvLXJpcHBsZS1iZ30gKTtcbiAgICAgICAgICAgIG9wYWNpdHk6IHZhciggLS1rZW5kby1yYWRpby1yaXBwbGUtb3BhY2l0eSwgI3ska2VuZG8tcmFkaW8tcmlwcGxlLW9wYWNpdHl9ICk7XG4gICAgICAgIH1cbiAgICB9XG5cbn1cbiIsIkB1c2UgXCJzYXNzOm1hdGhcIjtcbkB1c2UgXCIuLi9jb3JlL19pbmRleC5zY3NzXCIgYXMgKjtcbkB1c2UgXCIuL192YXJpYWJsZXMuc2Nzc1wiIGFzICo7XG5cbkBtaXhpbiBrZW5kby1zbGlkZXItLWxheW91dCgpIHtcblxuICAgIC8vIFNsaWRlclxuICAgIC5rLXNsaWRlciB7XG4gICAgICAgIHdpZHRoOiBtaW4tY29udGVudDtcbiAgICAgICAgaGVpZ2h0OiBtaW4tY29udGVudDtcbiAgICAgICAgYm9yZGVyOiAwO1xuICAgICAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgICAgICBvdXRsaW5lOiAwO1xuICAgICAgICBmb250LWZhbWlseTogdmFyKCAtLWtlbmRvLXNsaWRlci1mb250LWZhbWlseSwgI3ska2VuZG8tc2xpZGVyLWZvbnQtZmFtaWx5fSApO1xuICAgICAgICBmb250LXNpemU6IHZhciggLS1rZW5kby1zbGlkZXItZm9udC1zaXplLCAjeyRrZW5kby1zbGlkZXItZm9udC1zaXplfSApO1xuICAgICAgICBsaW5lLWhlaWdodDogdmFyKCAtLWtlbmRvLXNsaWRlci1saW5lLWhlaWdodCwgI3ska2VuZG8tc2xpZGVyLWxpbmUtaGVpZ2h0fSApO1xuICAgICAgICBiYWNrZ3JvdW5kOiBub25lO1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgZ2FwOiB2YXIoIC0ta2VuZG8tc2xpZGVyLXNwYWNpbmcsICN7JGtlbmRvLXNsaWRlci1zcGFjaW5nfSApO1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIC13ZWJraXQtdG91Y2gtY2FsbG91dDogbm9uZTtcbiAgICAgICAgLXdlYmtpdC10YXAtaGlnaGxpZ2h0LWNvbG9yOiAka2VuZG8tY29sb3ItcmdiYS10cmFuc3BhcmVudDtcblxuICAgICAgICAqLFxuICAgICAgICAqOjpiZWZvcmUsXG4gICAgICAgICo6OmFmdGVyIHtcbiAgICAgICAgICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgICAgIH1cblxuICAgICAgICAuay1sYWJlbCB7XG4gICAgICAgICAgICB3aWR0aDogYXV0bztcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogLjg3NWVtO1xuICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDE7XG4gICAgICAgICAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICAgICAgICAgICAgcG9pbnRlci1ldmVudHM6IGFsbDtcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgfVxuXG5cbiAgICAgICAgJltkaXNhYmxlZF0sXG4gICAgICAgICYuay1kaXNhYmxlZCB7XG4gICAgICAgICAgICAuay1zbGlkZXItdGljayxcbiAgICAgICAgICAgIC5rLXNsaWRlci10cmFjayxcbiAgICAgICAgICAgIC5rLXNsaWRlci10aHVtYiB7XG4gICAgICAgICAgICAgICAgY3Vyc29yOiBkZWZhdWx0O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgLy8gU2xpZGVyIGJ1dHRvblxuICAgIC5rLXNsaWRlci1idXR0b24ge1xuICAgICAgICBmbGV4OiBub25lO1xuICAgIH1cblxuXG4gICAgLy8gU2xpZGVyIHRyYWNrXG4gICAgLmstc2xpZGVyLXRyYWNrLXdyYXAge1xuICAgICAgICBmbGV4LWdyb3c6IDE7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGZsZXgtZmxvdzogaW5oZXJpdDtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIHRvdWNoLWFjdGlvbjogbm9uZTtcbiAgICB9XG4gICAgLmstc2xpZGVyLXRyYWNrIHtcbiAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgICBib3JkZXItcmFkaXVzOiB2YXIoIC0ta2VuZG8tc2xpZGVyLXRyYWNrLWJvcmRlci1yYWRpdXMsICN7JGtlbmRvLXNsaWRlci10cmFjay1ib3JkZXItcmFkaXVzfSApO1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHotaW5kZXg6IDI7XG4gICAgfVxuICAgIC5rLXNsaWRlci1zZWxlY3Rpb24ge1xuICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IHZhciggLS1rZW5kby1zbGlkZXItdHJhY2stYm9yZGVyLXJhZGl1cywgI3ska2VuZG8tc2xpZGVyLXRyYWNrLWJvcmRlci1yYWRpdXN9ICk7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcblxuICAgICAgICAmOmFjdGl2ZSxcbiAgICAgICAgJi5rLWFjdGl2ZSB7XG4gICAgICAgICAgICB0cmFuc2l0aW9uOiBub25lO1xuICAgICAgICB9XG4gICAgfVxuICAgIC5rLXNsaWRlci10aHVtYiB7XG4gICAgICAgIHdpZHRoOiB2YXIoIC0ta2VuZG8tc2xpZGVyLXRodW1iLXNpemUsICN7JGtlbmRvLXNsaWRlci10aHVtYi1zaXplfSApO1xuICAgICAgICBoZWlnaHQ6IHZhciggLS1rZW5kby1zbGlkZXItdGh1bWItc2l6ZSwgI3ska2VuZG8tc2xpZGVyLXRodW1iLXNpemV9ICk7XG4gICAgICAgIGJvcmRlci1zdHlsZTogc29saWQ7XG4gICAgICAgIGJvcmRlci13aWR0aDogdmFyKCAtLWtlbmRvLXNsaWRlci10aHVtYi1ib3JkZXItd2lkdGhzLCAjeyRrZW5kby1zbGlkZXItdGh1bWItYm9yZGVyLXdpZHRofSApO1xuICAgICAgICBib3JkZXItcmFkaXVzOiB2YXIoIC0ta2VuZG8tc2xpZGVyLXRodW1iLWJvcmRlci1yYWRpdXMsICN7JGtlbmRvLXNsaWRlci10aHVtYi1ib3JkZXItcmFkaXVzfSApO1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICAgICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICAgICAgb3V0bGluZTogMDtcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcblxuICAgICAgICAmOmFjdGl2ZSxcbiAgICAgICAgJi5rLWFjdGl2ZSB7XG4gICAgICAgICAgICB0cmFuc2l0aW9uOiBub25lO1xuICAgICAgICB9XG4gICAgfVxuXG5cbiAgICAvLyBTbGlkZXIgdGlja3NcbiAgICAuay1zbGlkZXItaXRlbXMge1xuICAgICAgICBkaXNwbGF5OiBjb250ZW50cztcbiAgICAgICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gICAgfVxuICAgIC5rLXNsaWRlci10aWNrIHtcbiAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyIGNlbnRlcjtcbiAgICAgICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICAgICAgZmxleDogMCAwIDFweDtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB9XG4gICAgLmstc2xpZGVyLXRpY2staG9yaXpvbnRhbCB7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBtaW4taGVpZ2h0OiAxcHg7XG4gICAgfVxuICAgIC5rLXNsaWRlci10aWNrLXZlcnRpY2FsIHtcbiAgICAgICAgd2lkdGg6IDFweDtcbiAgICAgICAgbWluLWhlaWdodDogMTAwJTtcbiAgICB9XG5cblxuICAgIC8vIEhvcml6b250YWwgc2xpZGVyXG4gICAgLmstaG9yaXpvbnRhbC1zbGlkZXIge1xuICAgICAgICB3aWR0aDogdmFyKCAtLWtlbmRvLXNsaWRlci1zaXplLCAjeyRrZW5kby1zbGlkZXItc2l6ZX0gKTtcbiAgICAgICAgZmxleC1mbG93OiByb3cgbm93cmFwO1xuXG4gICAgICAgIC8vIFNsaWRlciB0cmFja1xuICAgICAgICAuay1zbGlkZXItdHJhY2std3JhcCB7XG4gICAgICAgICAgICBoZWlnaHQ6IHZhciggLS1rZW5kby1zbGlkZXItYWx0LXNpemUsICN7JGtlbmRvLXNsaWRlci1hbHQtc2l6ZX0gKTtcbiAgICAgICAgfVxuICAgICAgICAuay1zbGlkZXItdHJhY2sge1xuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICBoZWlnaHQ6IHZhciggLS1rZW5kby1zbGlkZXItdHJhY2stc2l6ZSwgI3ska2VuZG8tc2xpZGVyLXRyYWNrLXNpemV9ICk7XG4gICAgICAgICAgICBpbnNldC1pbmxpbmUtc3RhcnQ6IDA7XG4gICAgICAgICAgICB0b3A6IDUwJTtcbiAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTtcbiAgICAgICAgfVxuICAgICAgICAuay1zbGlkZXItc2VsZWN0aW9uIHtcbiAgICAgICAgICAgIHdpZHRoOiBjYWxjKCAodmFyKCAtLWtlbmRvLXNsaWRlci1lbmQsIDApIC0gdmFyKCAtLWtlbmRvLXNsaWRlci1zdGFydCwgMCkpICogMSUgKTtcbiAgICAgICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgICAgIGluc2V0LWlubGluZS1zdGFydDogY2FsYyggdmFyKCAtLWtlbmRvLXNsaWRlci1zdGFydCwgMCkgKiAxJSApO1xuICAgICAgICAgICAgdG9wOiAwO1xuICAgICAgICB9XG4gICAgICAgIC5rLXNsaWRlci10aHVtYiB7XG4gICAgICAgICAgICB0b3A6IDUwJTtcbiAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIC01MCUpO1xuICAgICAgICB9XG4gICAgICAgIC5rLXNsaWRlci10aHVtYjpmb2N1cyxcbiAgICAgICAgLmstc2xpZGVyLXRodW1iOmFjdGl2ZSB7XG4gICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAtNTAlKSBzY2FsZSgka2VuZG8tc2xpZGVyLXRodW1iLWFjdGl2ZS1zY2FsZSk7XG4gICAgICAgIH1cbiAgICAgICAgLmstc2xpZGVyLXRodW1iLXN0YXJ0IHtcbiAgICAgICAgICAgIGluc2V0LWlubGluZS1zdGFydDogY2FsYyggdmFyKCAtLWtlbmRvLXNsaWRlci1zdGFydCwgMCkgKiAxJSApO1xuICAgICAgICB9XG4gICAgICAgIC5rLXNsaWRlci10aHVtYi1lbmQge1xuICAgICAgICAgICAgaW5zZXQtaW5saW5lLXN0YXJ0OiBjYWxjKCB2YXIoIC0ta2VuZG8tc2xpZGVyLWVuZCwgMCkgKiAxJSApO1xuICAgICAgICB9XG5cbiAgICAgICAgLy8gU2xpZGVyIHRpY2tzXG4gICAgICAgIC5rLXRpY2sgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXIgLTkycHg7IH1cbiAgICAgICAgLmstc2xpZGVyLXRvcGxlZnQgLmstdGljayB7IGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlciAtMTIycHg7IH1cbiAgICAgICAgLmstc2xpZGVyLWJvdHRvbXJpZ2h0IC5rLXRpY2sgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXIgLTE1MnB4OyB9XG5cbiAgICAgICAgLmstdGljay1sYXJnZSB7IGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlciAtMnB4OyB9XG4gICAgICAgIC5rLXNsaWRlci10b3BsZWZ0IC5rLXRpY2stbGFyZ2UgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXIgLTMycHg7IH1cbiAgICAgICAgLmstc2xpZGVyLWJvdHRvbXJpZ2h0IC5rLXRpY2stbGFyZ2UgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXIgLTYycHg7IH1cblxuICAgICAgICAuay1maXJzdCB7IGJhY2tncm91bmQtcG9zaXRpb246IDAgLTkycHg7IH1cbiAgICAgICAgLmstdGljay1sYXJnZS5rLWZpcnN0IHsgYmFja2dyb3VuZC1wb3NpdGlvbjogMCAtMnB4OyB9XG4gICAgICAgIC5rLXNsaWRlci10b3BsZWZ0IC5rLWZpcnN0IHsgYmFja2dyb3VuZC1wb3NpdGlvbjogMCAtMTIycHg7IH1cbiAgICAgICAgLmstc2xpZGVyLXRvcGxlZnQgLmstdGljay1sYXJnZS5rLWZpcnN0IHsgYmFja2dyb3VuZC1wb3NpdGlvbjogMCAtMzJweDsgfVxuICAgICAgICAuay1zbGlkZXItYm90dG9tcmlnaHQgLmstZmlyc3QgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAwIC0xNTJweDsgfVxuICAgICAgICAuay1zbGlkZXItYm90dG9tcmlnaHQgLmstdGljay1sYXJnZS5rLWZpcnN0IHsgYmFja2dyb3VuZC1wb3NpdGlvbjogMCAtNjJweDsgfVxuXG4gICAgICAgIC5rLWxhc3QgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAxMDAlIC05MnB4OyB9XG4gICAgICAgIC5rLXRpY2stbGFyZ2Uuay1sYXN0IHsgYmFja2dyb3VuZC1wb3NpdGlvbjogMTAwJSAtMnB4OyB9XG4gICAgICAgIC5rLXNsaWRlci10b3BsZWZ0IC5rLWxhc3QgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAxMDAlIC0xMjJweDsgfVxuICAgICAgICAuay1zbGlkZXItdG9wbGVmdCAuay10aWNrLWxhcmdlLmstbGFzdCB7IGJhY2tncm91bmQtcG9zaXRpb246IDEwMCUgLTMycHg7IH1cbiAgICAgICAgLmstc2xpZGVyLWJvdHRvbXJpZ2h0IC5rLWxhc3QgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAxMDAlIC0xNTJweDsgfVxuICAgICAgICAuay1zbGlkZXItYm90dG9tcmlnaHQgLmstdGljay1sYXJnZS5rLWxhc3QgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAxMDAlIC02MnB4OyB9XG5cblxuICAgICAgICAvLyBTbGlkZXIgbGFiZWxzXG4gICAgICAgIC5rLWxhYmVsIHtcbiAgICAgICAgICAgIGluc2V0LWlubGluZS1zdGFydDogNTAlO1xuICAgICAgICAgICAgYm90dG9tOiAtMS4yZW07XG4gICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSk7XG4gICAgICAgIH1cbiAgICAgICAgLmstZmlyc3QgLmstbGFiZWwgeyBpbnNldC1pbmxpbmUtc3RhcnQ6IDA7IH1cbiAgICAgICAgLmstbGFzdCAuay1sYWJlbCB7IGluc2V0LWlubGluZS1zdGFydDogMTAwJTsgfVxuICAgICAgICAuay1zbGlkZXItdG9wbGVmdCAuay1sYWJlbCB7XG4gICAgICAgICAgICB0b3A6IC0xLjJlbTtcbiAgICAgICAgfVxuXG4gICAgICAgIC8vIFRyYW5zaXRpb25zXG4gICAgICAgICYuay1zbGlkZXItdHJhbnNpdGlvbnMge1xuICAgICAgICAgICAgLmstc2xpZGVyLXNlbGVjdGlvbiB7XG4gICAgICAgICAgICAgICAgdHJhbnNpdGlvbjogd2lkdGggJGtlbmRvLXNsaWRlci10cmFuc2l0aW9uLXNwZWVkICRrZW5kby1zbGlkZXItdHJhbnNpdGlvbi1mdW5jdGlvbjtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIC5rLXNsaWRlci10aHVtYiB7XG4gICAgICAgICAgICAgICAgdHJhbnNpdGlvbjogaW5zZXQtaW5saW5lLXN0YXJ0ICRrZW5kby1zbGlkZXItdHJhbnNpdGlvbi1zcGVlZCAka2VuZG8tc2xpZGVyLXRyYW5zaXRpb24tZnVuY3Rpb24sIGJhY2tncm91bmQtY29sb3IgJGtlbmRvLXNsaWRlci10cmFuc2l0aW9uLXNwZWVkICRrZW5kby1zbGlkZXItdHJhbnNpdGlvbi1mdW5jdGlvbiwgdHJhbnNmb3JtICRrZW5kby1zbGlkZXItdGh1bWItdHJhbnNpdGlvbi1zcGVlZCAka2VuZG8tc2xpZGVyLXRodW1iLXRyYW5zaXRpb24tZnVuY3Rpb247XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cblxuICAgIC8vIFZlcnRpY2FsIHNsaWRlclxuICAgIC5rLXZlcnRpY2FsLXNsaWRlciB7XG4gICAgICAgIGhlaWdodDogdmFyKCAtLWtlbmRvLXNsaWRlci1zaXplLCAjeyRrZW5kby1zbGlkZXItc2l6ZX0gKTtcbiAgICAgICAgZmxleC1mbG93OiBjb2x1bW4tcmV2ZXJzZSBub3dyYXA7XG5cbiAgICAgICAgLy8gU2xpZGVyIHRyYWNrXG4gICAgICAgIC5rLXNsaWRlci10cmFjay13cmFwIHtcbiAgICAgICAgICAgIHdpZHRoOiB2YXIoIC0ta2VuZG8tc2xpZGVyLWFsdC1zaXplLCAjeyRrZW5kby1zbGlkZXItYWx0LXNpemV9ICk7XG4gICAgICAgIH1cbiAgICAgICAgLmstc2xpZGVyLXRyYWNrIHtcbiAgICAgICAgICAgIHdpZHRoOiB2YXIoIC0ta2VuZG8tc2xpZGVyLXRyYWNrLXNpemUsICN7JGtlbmRvLXNsaWRlci10cmFjay1zaXplfSApO1xuICAgICAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICAgICAgYm90dG9tOiAwO1xuICAgICAgICAgICAgbGVmdDogNTAlO1xuICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpO1xuICAgICAgICB9XG4gICAgICAgIC5rLXNsaWRlci1zZWxlY3Rpb24ge1xuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICBib3R0b206IGNhbGMoIHZhciggLS1rZW5kby1zbGlkZXItc3RhcnQsIDApICogMSUgKTtcbiAgICAgICAgICAgIGhlaWdodDogY2FsYyggKHZhciggLS1rZW5kby1zbGlkZXItZW5kLCAwKSAtIHZhciggLS1rZW5kby1zbGlkZXItc3RhcnQsIDApKSAqIDElICk7XG4gICAgICAgIH1cbiAgICAgICAgLmstc2xpZGVyLXRodW1iIHtcbiAgICAgICAgICAgIGxlZnQ6IDUwJTtcbiAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIDUwJSk7XG4gICAgICAgIH1cbiAgICAgICAgLmstc2xpZGVyLXRodW1iOmZvY3VzLFxuICAgICAgICAuay1zbGlkZXItdGh1bWI6YWN0aXZlIHtcbiAgICAgICAgICAgIHRyYW5zZm9ybTogaWYoICRrZW5kby1zbGlkZXItdGh1bWItYWN0aXZlLXNjYWxlLCB0cmFuc2xhdGUoLTUwJSwgNTAlKSBzY2FsZSgka2VuZG8tc2xpZGVyLXRodW1iLWFjdGl2ZS1zY2FsZSksIG51bGwgKTtcbiAgICAgICAgfVxuICAgICAgICAuay1zbGlkZXItdGh1bWItc3RhcnQge1xuICAgICAgICAgICAgYm90dG9tOiBjYWxjKCB2YXIoIC0ta2VuZG8tc2xpZGVyLXN0YXJ0LCAwKSAqIDElICk7XG4gICAgICAgIH1cbiAgICAgICAgLmstc2xpZGVyLXRodW1iLWVuZCB7XG4gICAgICAgICAgICBib3R0b206IGNhbGMoIHZhciggLS1rZW5kby1zbGlkZXItZW5kLCAwKSAqIDElICk7XG4gICAgICAgIH1cblxuXG4gICAgICAgIC8vIFNsaWRlciB0aWNrc1xuICAgICAgICAuay10aWNrIHtcbiAgICAgICAgICAgIHRleHQtYWxpZ246IGVuZDtcbiAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiAycHg7XG4gICAgICAgIH1cbiAgICAgICAgLmstc2xpZGVyLXRvcGxlZnQgLmstdGljayB7XG4gICAgICAgICAgICB0ZXh0LWFsaWduOiBzdGFydDtcbiAgICAgICAgfVxuXG4gICAgICAgIC5rLXRpY2sgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtOTRweCBjZW50ZXI7IH1cbiAgICAgICAgLmstc2xpZGVyLXRvcGxlZnQgLmstdGljayB7IGJhY2tncm91bmQtcG9zaXRpb246IC0xMjRweCBjZW50ZXI7IH1cbiAgICAgICAgLmstc2xpZGVyLWJvdHRvbXJpZ2h0IC5rLXRpY2sgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMTU0cHggY2VudGVyOyB9XG5cbiAgICAgICAgLmstdGljay1sYXJnZSB7IGJhY2tncm91bmQtcG9zaXRpb246IC00cHggY2VudGVyOyB9XG4gICAgICAgIC5rLXNsaWRlci10b3BsZWZ0IC5rLXRpY2stbGFyZ2UgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMzRweCBjZW50ZXI7IH1cbiAgICAgICAgLmstc2xpZGVyLWJvdHRvbXJpZ2h0IC5rLXRpY2stbGFyZ2UgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtNjRweCBjZW50ZXI7IH1cblxuICAgICAgICAuay1maXJzdCB7IGJhY2tncm91bmQtcG9zaXRpb246IC05NHB4IDEwMCU7IH1cbiAgICAgICAgLmstdGljay1sYXJnZS5rLWZpcnN0IHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTRweCAxMDAlOyB9XG4gICAgICAgIC5rLXNsaWRlci10b3BsZWZ0IC5rLWZpcnN0IHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTEyNHB4IDEwMCU7IH1cbiAgICAgICAgLmstc2xpZGVyLXRvcGxlZnQgLmstdGljay1sYXJnZS5rLWZpcnN0IHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTM0cHggMTAwJTsgfVxuICAgICAgICAuay1zbGlkZXItYm90dG9tcmlnaHQgLmstZmlyc3QgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMTU0cHggMTAwJTsgfVxuICAgICAgICAuay1zbGlkZXItYm90dG9tcmlnaHQgLmstdGljay1sYXJnZS5rLWZpcnN0IHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTY0cHggMTAwJTsgfVxuXG4gICAgICAgIC5rLWxhc3QgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtOTRweCAwOyB9XG4gICAgICAgIC5rLXRpY2stbGFyZ2Uuay1sYXN0IHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTRweCAwOyB9XG4gICAgICAgIC5rLXNsaWRlci10b3BsZWZ0IC5rLWxhc3QgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMTI0cHggMDsgfVxuICAgICAgICAuay1zbGlkZXItdG9wbGVmdCAuay10aWNrLWxhcmdlLmstbGFzdCB7IGJhY2tncm91bmQtcG9zaXRpb246IC0zNHB4IDA7IH1cbiAgICAgICAgLmstc2xpZGVyLWJvdHRvbXJpZ2h0IC5rLWxhc3QgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMTU0cHggMDsgfVxuICAgICAgICAuay1zbGlkZXItYm90dG9tcmlnaHQgLmstdGljay1sYXJnZS5rLWxhc3QgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtNjRweCAwOyB9XG5cblxuICAgICAgICAvLyBTbGlkZXIgbGFiZWxzXG4gICAgICAgIC5rLWxhYmVsIHtcbiAgICAgICAgICAgIHRleHQtYWxpZ246IHN0YXJ0O1xuICAgICAgICAgICAgaW5zZXQtaW5saW5lLXN0YXJ0OiAxMjAlO1xuICAgICAgICAgICAgaW5zZXQtaW5saW5lLWVuZDogYXV0bztcbiAgICAgICAgICAgIHRvcDogNTAlO1xuICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpO1xuICAgICAgICB9XG4gICAgICAgIC5rLWZpcnN0IC5rLWxhYmVsIHsgdG9wOiAxMDAlOyB9XG4gICAgICAgIC5rLWxhc3QgLmstbGFiZWwgeyB0b3A6IDA7IH1cbiAgICAgICAgLmstc2xpZGVyLXRvcGxlZnQgLmstbGFiZWwge1xuICAgICAgICAgICAgaW5zZXQtaW5saW5lLXN0YXJ0OiBhdXRvO1xuICAgICAgICAgICAgaW5zZXQtaW5saW5lLWVuZDogMTIwJTtcbiAgICAgICAgfVxuXG4gICAgICAgIC8vIFRyYW5zaXRpb25zXG4gICAgICAgICYuay1zbGlkZXItdHJhbnNpdGlvbnMge1xuICAgICAgICAgICAgLmstc2xpZGVyLXNlbGVjdGlvbiB7XG4gICAgICAgICAgICAgICAgdHJhbnNpdGlvbjogaGVpZ2h0ICRrZW5kby1zbGlkZXItdHJhbnNpdGlvbi1zcGVlZCAka2VuZG8tc2xpZGVyLXRyYW5zaXRpb24tZnVuY3Rpb247XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAuay1zbGlkZXItdGh1bWIge1xuICAgICAgICAgICAgICAgIHRyYW5zaXRpb246IGJvdHRvbSAka2VuZG8tc2xpZGVyLXRyYW5zaXRpb24tc3BlZWQgJGtlbmRvLXNsaWRlci10cmFuc2l0aW9uLWZ1bmN0aW9uLCBiYWNrZ3JvdW5kLWNvbG9yICRrZW5kby1zbGlkZXItdHJhbnNpdGlvbi1zcGVlZCAka2VuZG8tc2xpZGVyLXRyYW5zaXRpb24tZnVuY3Rpb24sIHRyYW5zZm9ybSAka2VuZG8tc2xpZGVyLXRodW1iLXRyYW5zaXRpb24tc3BlZWQgJGtlbmRvLXNsaWRlci10aHVtYi10cmFuc2l0aW9uLWZ1bmN0aW9uO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICB9XG5cblxuICAgIC8vIFNsaWRlciByZWFkb25seVxuICAgIC5rLXNsaWRlci5rLXJlYWRvbmx5IHtcbiAgICAgICAgLmstc2xpZGVyLWJ1dHRvbixcbiAgICAgICAgLmstc2xpZGVyLXRyYWNrLFxuICAgICAgICAuay1zbGlkZXItdGljayxcbiAgICAgICAgLmstc2xpZGVyLXRodW1iIHtcbiAgICAgICAgICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICAgICAgICB9XG4gICAgfVxuXG5cbiAgICAvLyBSVExcbiAgICAuay1zbGlkZXItcnRsIHtcbiAgICAgICAgJi5rLWhvcml6b250YWwtc2xpZGVyIHtcbiAgICAgICAgICAgIC5rLXNsaWRlci10aHVtYiB7XG4gICAgICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoNTAlLCAtNTAlKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIC5rLXNsaWRlci10aHVtYjpmb2N1cyxcbiAgICAgICAgICAgIC5rLXNsaWRlci10aHVtYjphY3RpdmUge1xuICAgICAgICAgICAgICAgIHRyYW5zZm9ybTogaWYoICRrZW5kby1zbGlkZXItdGh1bWItYWN0aXZlLXNjYWxlLCB0cmFuc2xhdGUoNTAlLCAtNTAlKSBzY2FsZSgka2VuZG8tc2xpZGVyLXRodW1iLWFjdGl2ZS1zY2FsZSksIG51bGwgKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIC5rLWxhYmVsIHtcbiAgICAgICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoNTAlKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAmLmstdmVydGljYWwtc2xpZGVyIHtcblxuICAgICAgICB9XG4gICAgfVxuICAgIC5rLXNsaWRlcltkaXI9XCJydGxcIl0sXG4gICAgW2Rpcj1cInJ0bFwiXSAuay1zbGlkZXIsXG4gICAgLmstc2xpZGVyLmstcnRsLFxuICAgIC5rLXJ0bCAuay1zbGlkZXIge1xuICAgICAgICBAZXh0ZW5kIC5rLXNsaWRlci1ydGwgIW9wdGlvbmFsO1xuICAgIH1cblxuXG4gICAgLy8gQW5ndWxhciBzcGVjaWZpY1xuICAgIC5rLXNsaWRlciBrZW5kby1yZXNpemUtc2Vuc29yIHtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIH1cblxuICAgIC8vIEFsaWFzZXNcbiAgICAuay1zbGlkZXIgLmstYnV0dG9uIHsgQGV4dGVuZCAuay1zbGlkZXItYnV0dG9uICFvcHRpb25hbDsgfVxuICAgIC5rLXRpY2sgeyBAZXh0ZW5kIC5rLXNsaWRlci10aWNrICFvcHRpb25hbDsgfVxuICAgIC5rLWRyYWdoYW5kbGUgeyBAZXh0ZW5kIC5rLXNsaWRlci10aHVtYiAhb3B0aW9uYWw7IH1cbiAgICAuay1kcmFnaGFuZGxlLXN0YXJ0IHsgQGV4dGVuZCAuay1zbGlkZXItdGh1bWItc3RhcnQgIW9wdGlvbmFsOyB9XG4gICAgLmstZHJhZ2hhbmRsZS1lbmQgeyBAZXh0ZW5kIC5rLXNsaWRlci10aHVtYi1lbmQgIW9wdGlvbmFsOyB9XG4gICAgLmstc2xpZGVyLWhvcml6b250YWwgeyBAZXh0ZW5kIC5rLWhvcml6b250YWwtc2xpZGVyICFvcHRpb25hbDsgfVxuICAgIC5rLXNsaWRlci12ZXJ0aWNhbCB7IEBleHRlbmQgLmstdmVydGljYWwtc2xpZGVyICFvcHRpb25hbDsgfVxuICAgIC5rLXRpY2staG9yaXpvbnRhbCB7IEBleHRlbmQgLmstc2xpZGVyLXRpY2stdmVydGljYWwgIW9wdGlvbmFsOyB9XG4gICAgLmstdGljay12ZXJ0aWNhbCB7IEBleHRlbmQgLmstc2xpZGVyLXRpY2staG9yaXpvbnRhbCAhb3B0aW9uYWw7IH1cblxufVxuIiwiQHVzZSBcIi4uL2NvcmUvX2luZGV4LnNjc3NcIiBhcyAqO1xuQHVzZSBcIi4vX3ZhcmlhYmxlcy5zY3NzXCIgYXMgKjtcblxuQG1peGluIGtlbmRvLXNsaWRlci0tdGhlbWUoKSB7XG5cbiAgICAvLyBTbGlkZXJcbiAgICAuay1zbGlkZXIge1xuICAgICAgICAtLUlOVEVSTkFMLS1rZW5kby1zbGlkZXItdGV4dDogdmFyKCAtLWtlbmRvLXNsaWRlci10ZXh0LCAjeyRrZW5kby1zbGlkZXItdGV4dH0gKTtcbiAgICAgICAgLS1JTlRFUk5BTC0ta2VuZG8tc2xpZGVyLXRyYWNrLWJnOiB2YXIoIC0ta2VuZG8tc2xpZGVyLXRyYWNrLWJnLCAjeyRrZW5kby1zbGlkZXItdHJhY2stYmd9ICk7XG4gICAgICAgIC0tSU5URVJOQUwtLWtlbmRvLXNsaWRlci1zZWxlY3Rpb24tYmc6IHZhciggLS1rZW5kby1zbGlkZXItc2VsZWN0aW9uLWJnLCAjeyRrZW5kby1zbGlkZXItc2VsZWN0aW9uLWJnfSApO1xuICAgICAgICAtLUlOVEVSTkFMLS1rZW5kby1zbGlkZXItdGh1bWItYmc6IHZhciggLS1rZW5kby1zbGlkZXItdGh1bWItYmcsICAjeyRrZW5kby1zbGlkZXItdGh1bWItYmd9KTtcbiAgICAgICAgLS1JTlRFUk5BTC0ta2VuZG8tc2xpZGVyLXRodW1iLXRleHQ6IHZhciggLS1rZW5kby1zbGlkZXItdGh1bWItdGV4dCwgICN7JGtlbmRvLXNsaWRlci10aHVtYi10ZXh0fSk7XG4gICAgICAgIC0tSU5URVJOQUwtLWtlbmRvLXNsaWRlci10aHVtYi1ib3JkZXI6IHZhciggLS1rZW5kby1zbGlkZXItdGh1bWItYm9yZGVyLCAgI3ska2VuZG8tc2xpZGVyLXRodW1iLWJvcmRlcn0pO1xuICAgICAgICAtLUlOVEVSTkFMLS1rZW5kby1zbGlkZXItdGh1bWItZ3JhZGllbnQ6IHZhciggLS1rZW5kby1zbGlkZXItdGh1bWItZ3JhZGllbnQsICAjeyRrZW5kby1zbGlkZXItdGh1bWItZ3JhZGllbnR9KTtcblxuICAgICAgICBjb2xvcjogdmFyKCAtLUlOVEVSTkFMLS1rZW5kby1zbGlkZXItdGV4dCwgaW5oZXJpdCApO1xuXG4gICAgICAgICYuay1kaXNhYmxlZCB7XG4gICAgICAgICAgICAtLUlOVEVSTkFMLS1rZW5kby1zbGlkZXItdGV4dDogdmFyKCAtLWtlbmRvLXNsaWRlci1kaXNhYmxlZC10ZXh0LCAjeyRrZW5kby1zbGlkZXItZGlzYWJsZWQtdGV4dH0gKTtcbiAgICAgICAgICAgIC0tSU5URVJOQUwtLWtlbmRvLXNsaWRlci10cmFjay1iZzogdmFyKCAtLWtlbmRvLXNsaWRlci10cmFjay1kaXNhYmxlZC1iZywgI3ska2VuZG8tc2xpZGVyLXRyYWNrLWRpc2FibGVkLWJnfSApO1xuICAgICAgICAgICAgLS1JTlRFUk5BTC0ta2VuZG8tc2xpZGVyLXNlbGVjdGlvbi1iZzogdmFyKCAtLWtlbmRvLXNsaWRlci1zZWxlY3Rpb24tZGlzYWJsZWQtYmcsICN7JGtlbmRvLXNsaWRlci1zZWxlY3Rpb24tZGlzYWJsZWQtYmd9ICk7XG4gICAgICAgICAgICAtLUlOVEVSTkFMLS1rZW5kby1zbGlkZXItdGh1bWItYm9yZGVyOiB2YXIoIC0ta2VuZG8tc2xpZGVyLXRodW1iLWRpc2FibGVkLWJvcmRlciwgI3ska2VuZG8tc2xpZGVyLXRodW1iLWRpc2FibGVkLWJvcmRlcn0pO1xuICAgICAgICB9XG4gICAgfVxuXG5cbiAgICAvLyBTbGlkZXIgdHJhY2tcbiAgICAuay1zbGlkZXItdHJhY2sge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoIC0tSU5URVJOQUwtLWtlbmRvLXNsaWRlci10cmFjay1iZywgdHJhbnNwYXJlbnQgKTtcbiAgICB9XG5cblxuICAgIC8vIFNsaWRlciBzZWxlY3Rpb25cbiAgICAuay1zbGlkZXItc2VsZWN0aW9uIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKCAtLUlOVEVSTkFMLS1rZW5kby1zbGlkZXItc2VsZWN0aW9uLWJnLCBjdXJyZW50Q29sb3IpO1xuICAgIH1cblxuXG4gICAgLy8gU2xpZGVyIHRodW1iXG4gICAgLmstc2xpZGVyLXRodW1iIHtcbiAgICAgICAgY29sb3I6IHZhciggLS1JTlRFUk5BTC0ta2VuZG8tc2xpZGVyLXRodW1iLXRleHQsIHRyYW5zcGFyZW50ICk7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IHZhciggLS1JTlRFUk5BTC0ta2VuZG8tc2xpZGVyLXRodW1iLWJnLCBjdXJyZW50Q29sb3IgKTtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiB2YXIoIC0tSU5URVJOQUwtLWtlbmRvLXNsaWRlci10aHVtYi1ib3JkZXIsIGN1cnJlbnRDb2xvciApO1xuICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiBsaW5lYXItZ3JhZGllbnQoIHZhciggLS1JTlRFUk5BTC0ta2VuZG8tc2xpZGVyLXRodW1iLWdyYWRpZW50LCB0cmFuc3BhcmVudCwgdHJhbnNwYXJlbnQgKSApO1xuXG4gICAgICAgICY6aG92ZXIsXG4gICAgICAgICYuay1ob3ZlciB7XG4gICAgICAgICAgICAtLUlOVEVSTkFMLS1rZW5kby1zbGlkZXItdGh1bWItYmc6ICN7JGtlbmRvLXNsaWRlci10aHVtYi1ob3Zlci1iZ307XG4gICAgICAgICAgICAtLUlOVEVSTkFMLS1rZW5kby1zbGlkZXItdGh1bWItdGV4dDogI3ska2VuZG8tc2xpZGVyLXRodW1iLWhvdmVyLXRleHR9O1xuICAgICAgICAgICAgLS1JTlRFUk5BTC0ta2VuZG8tc2xpZGVyLXRodW1iLWJvcmRlcjogI3ska2VuZG8tc2xpZGVyLXRodW1iLWhvdmVyLWJvcmRlcn07XG4gICAgICAgICAgICAtLUlOVEVSTkFMLS1rZW5kby1zbGlkZXItdGh1bWItZ3JhZGllbnQ6ICN7JGtlbmRvLXNsaWRlci10aHVtYi1ob3Zlci1ncmFkaWVudH07XG4gICAgICAgIH1cblxuICAgICAgICAmOmFjdGl2ZSxcbiAgICAgICAgJi5rLWFjdGl2ZSB7XG4gICAgICAgICAgICAtLUlOVEVSTkFMLS1rZW5kby1zbGlkZXItdGh1bWItYmc6ICN7JGtlbmRvLXNsaWRlci10aHVtYi1hY3RpdmUtYmd9O1xuICAgICAgICAgICAgLS1JTlRFUk5BTC0ta2VuZG8tc2xpZGVyLXRodW1iLXRleHQ6ICN7JGtlbmRvLXNsaWRlci10aHVtYi1hY3RpdmUtdGV4dH07XG4gICAgICAgICAgICAtLUlOVEVSTkFMLS1rZW5kby1zbGlkZXItdGh1bWItYm9yZGVyOiAjeyRrZW5kby1zbGlkZXItdGh1bWItYWN0aXZlLWJvcmRlcn07XG4gICAgICAgICAgICAtLUlOVEVSTkFMLS1rZW5kby1zbGlkZXItdGh1bWItZ3JhZGllbnQ6ICN7JGtlbmRvLXNsaWRlci10aHVtYi1hY3RpdmUtZ3JhZGllbnR9O1xuICAgICAgICB9XG5cbiAgICAgICAgJjpmb2N1cyxcbiAgICAgICAgJi5rLWZvY3VzIHtcbiAgICAgICAgICAgIC0tSU5URVJOQUwtLWtlbmRvLXNsaWRlci10aHVtYi1iZzogI3ska2VuZG8tc2xpZGVyLXRodW1iLWZvY3VzLWJnfTtcbiAgICAgICAgICAgIC0tSU5URVJOQUwtLWtlbmRvLXNsaWRlci10aHVtYi10ZXh0OiAjeyRrZW5kby1zbGlkZXItdGh1bWItZm9jdXMtdGV4dH07XG4gICAgICAgICAgICAtLUlOVEVSTkFMLS1rZW5kby1zbGlkZXItdGh1bWItYm9yZGVyOiAjeyRrZW5kby1zbGlkZXItdGh1bWItZm9jdXMtYm9yZGVyfTtcbiAgICAgICAgICAgIC0tSU5URVJOQUwtLWtlbmRvLXNsaWRlci10aHVtYi1ncmFkaWVudDogI3ska2VuZG8tc2xpZGVyLXRodW1iLWZvY3VzLWdyYWRpZW50fTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5rLXNsaWRlci1ob3Jpem9udGFsIC5rLXRpY2sge1xuICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoI3ska2VuZG8tc2xpZGVyLXRpY2stdi1pbWFnZX0pO1xuICAgIH1cblxuICAgIC5rLXNsaWRlci12ZXJ0aWNhbCAuay10aWNrIHtcbiAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKCN7JGtlbmRvLXNsaWRlci10aWNrLWgtaW1hZ2V9KTtcbiAgICB9XG5cblxufVxuIiwiQHVzZSBcInNhc3M6bWFwXCI7XG5AdXNlIFwiLi4vY29yZS9faW5kZXguc2Nzc1wiIGFzICo7XG5AdXNlIFwiLi9fdmFyaWFibGVzLnNjc3NcIiBhcyAqO1xuXG5AbWl4aW4ga2VuZG8tY2FsZW5kYXItLWxheW91dCgpIHtcblxuICAgIC8vIENhbGVuZGFyXG5cbiAgICAvLyBCYXNlXG4gICAgLmstY2FsZW5kYXIge1xuICAgICAgICBpbmxpbmUtc2l6ZTogdmFyKCAtLUlOVEVSTkFMLS1rZW5kby1jYWxlbmRhci13aWR0aCwgbWluLWNvbnRlbnQgKTtcbiAgICAgICAgYmxvY2stc2l6ZTogdmFyKCAtLUlOVEVSTkFMLS1rZW5kby1jYWxlbmRhci1oZWlnaHQsIG1pbi1jb250ZW50ICk7XG4gICAgICAgIGJvcmRlci13aWR0aDogdmFyKCAtLWtlbmRvLWNhbGVuZGFyLWJvcmRlci13aWR0aCwgI3ska2VuZG8tY2FsZW5kYXItYm9yZGVyLXdpZHRofSApO1xuICAgICAgICBib3JkZXItc3R5bGU6IHNvbGlkO1xuICAgICAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgICAgICBvdXRsaW5lOiAwO1xuICAgICAgICBmb250LWZhbWlseTogdmFyKCAtLWtlbmRvLWNhbGVuZGFyLWZvbnQtZmFtaWx5LCAjeyRrZW5kby1jYWxlbmRhci1mb250LWZhbWlseX0gKTtcbiAgICAgICAgZm9udC1zaXplOiB2YXIoIC0ta2VuZG8tY2FsZW5kYXItZm9udC1zaXplLCAjeyRrZW5kby1jYWxlbmRhci1mb250LXNpemV9ICk7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiB2YXIoIC0ta2VuZG8tY2FsZW5kYXItbGluZS1oZWlnaHQsICN7JGtlbmRvLWNhbGVuZGFyLWxpbmUtaGVpZ2h0fSApO1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICAgICAgICBmbGV4LWZsb3c6IGNvbHVtbiBub3dyYXA7XG4gICAgICAgIHVzZXItc2VsZWN0OiBub25lO1xuICAgICAgICAtd2Via2l0LXRvdWNoLWNhbGxvdXQ6IG5vbmU7XG4gICAgICAgIC13ZWJraXQtdGFwLWhpZ2hsaWdodC1jb2xvcjogJGtlbmRvLWNvbG9yLXJnYmEtdHJhbnNwYXJlbnQ7XG5cblxuICAgICAgICAvLyBOZXN0ZWQgY2FsZW5kYXJcbiAgICAgICAgPiAuay1jYWxlbmRhciB7XG4gICAgICAgICAgICBib3JkZXI6IDA7XG4gICAgICAgIH1cblxuICAgICAgICAvLyBDb21tb25cbiAgICAgICAgLmstbGluayB7XG4gICAgICAgICAgICB3aGl0ZS1zcGFjZTogbm9ybWFsO1xuICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAgICAgfVxuICAgIH1cblxuXG4gICAgLy8gQ2FsZW5kYXIgdGFibGVcbiAgICAuay1jYWxlbmRhci10YWJsZSB7XG4gICAgICAgIG1hcmdpbi1ibG9jazogMDtcbiAgICAgICAgbWFyZ2luLWlubGluZTogYXV0bztcbiAgICAgICAgYm9yZGVyLXdpZHRoOiAwO1xuICAgICAgICBib3JkZXItY29sb3I6IGluaGVyaXQ7XG4gICAgICAgIGJvcmRlci1zcGFjaW5nOiAwO1xuICAgICAgICBib3JkZXItY29sbGFwc2U6IHNlcGFyYXRlO1xuICAgICAgICB0YWJsZS1sYXlvdXQ6IGZpeGVkO1xuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgIG91dGxpbmU6IDA7XG4gICAgICAgIGRpc3BsYXk6IHRhYmxlO1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIHotaW5kZXg6IDE7XG4gICAgfVxuXG4gICAgLmstY2FsZW5kYXItY2FwdGlvbixcbiAgICAuay1jYWxlbmRhci1jYXB0aW9uLmstY2FsZW5kYXItdGgsXG4gICAgLmstY2FsZW5kYXIgLmstbWV0YS1oZWFkZXIsXG4gICAgLmstY2FsZW5kYXIgLmstbW9udGgtaGVhZGVyIHtcbiAgICAgICAgcGFkZGluZy1pbmxpbmU6IHZhciggLS1rZW5kby1jYWxlbmRhci1jYXB0aW9uLXBhZGRpbmcteCwgI3ska2VuZG8tY2FsZW5kYXItY2FwdGlvbi1wYWRkaW5nLXh9ICk7XG4gICAgICAgIHBhZGRpbmctYmxvY2s6IHZhciggLS1rZW5kby1jYWxlbmRhci1jYXB0aW9uLXBhZGRpbmcteSwgI3ska2VuZG8tY2FsZW5kYXItY2FwdGlvbi1wYWRkaW5nLXl9ICk7XG4gICAgICAgIGhlaWdodDogdmFyKCAtLWtlbmRvLWNhbGVuZGFyLWNhcHRpb24taGVpZ2h0LCAjeyRrZW5kby1jYWxlbmRhci1jYXB0aW9uLWhlaWdodH0gKTtcbiAgICAgICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICAgICAgZm9udC1zaXplOiB2YXIoIC0ta2VuZG8tY2FsZW5kYXItY2FwdGlvbi1mb250LXNpemUsICN7JGtlbmRvLWNhbGVuZGFyLWNhcHRpb24tZm9udC1zaXplfSApO1xuICAgICAgICBsaW5lLWhlaWdodDogdmFyKCAtLWtlbmRvLWNhbGVuZGFyLWNhcHRpb24tbGluZS1oZWlnaHQsICN7JGtlbmRvLWNhbGVuZGFyLWNhcHRpb24tbGluZS1oZWlnaHR9ICk7XG4gICAgICAgIHRleHQtdHJhbnNmb3JtOiBub25lO1xuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiB2YXIoIC0ta2VuZG8tY2FsZW5kYXItY2FwdGlvbi1mb250LXdlaWdodCwgI3ska2VuZG8tY2FsZW5kYXItY2FwdGlvbi1mb250LXdlaWdodH0gKTtcbiAgICAgICAgY3Vyc29yOiBkZWZhdWx0O1xuICAgIH1cblxuICAgIC5rLWNhbGVuZGFyLXRoLFxuICAgIC5rLWNhbGVuZGFyLXRkIHtcbiAgICAgICAgYm9yZGVyLXdpZHRoOiAwO1xuICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgIGJvcmRlci1zdHlsZTogc29saWQ7XG4gICAgICAgIGJvcmRlci1jb2xvcjogaW5oZXJpdDtcbiAgICAgICAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgICAgICAgY3Vyc29yOiBkZWZhdWx0O1xuICAgIH1cblxuICAgIC5rLWNhbGVuZGFyLXRoIHtcbiAgICAgICAgcGFkZGluZy1pbmxpbmU6IHZhciggLS1rZW5kby1jYWxlbmRhci1oZWFkZXItY2VsbC1wYWRkaW5nLXgsICN7JGtlbmRvLWNhbGVuZGFyLWhlYWRlci1jZWxsLXBhZGRpbmcteH0gKTtcbiAgICAgICAgcGFkZGluZy1ibG9jazogdmFyKCAtLWtlbmRvLWNhbGVuZGFyLWhlYWRlci1jZWxsLXBhZGRpbmcteSwgI3ska2VuZG8tY2FsZW5kYXItaGVhZGVyLWNlbGwtcGFkZGluZy15fSApO1xuICAgICAgICBpbmxpbmUtc2l6ZTogdmFyKCAtLUlOVEVSTkFMLS1rZW5kby1jYWxlbmRhci1jZWxsLXNpemUsIHZhciggLS1rZW5kby1jYWxlbmRhci1oZWFkZXItY2VsbC13aWR0aCwgI3ska2VuZG8tY2FsZW5kYXItaGVhZGVyLWNlbGwtd2lkdGh9ICkgKTtcbiAgICAgICAgYmxvY2stc2l6ZTogdmFyKCAtLUlOVEVSTkFMLS1rZW5kby1jYWxlbmRhci1jZWxsLXNpemUsIHZhciggLS1rZW5kby1jYWxlbmRhci1oZWFkZXItY2VsbC1oZWlnaHQsICN7JGtlbmRvLWNhbGVuZGFyLWhlYWRlci1jZWxsLWhlaWdodH0gKSApO1xuICAgICAgICBmb250LXNpemU6IHZhciggLS1rZW5kby1jYWxlbmRhci1oZWFkZXItY2VsbC1mb250LXNpemUsICN7JGtlbmRvLWNhbGVuZGFyLWhlYWRlci1jZWxsLWZvbnQtc2l6ZX0gKTtcbiAgICAgICAgbGluZS1oZWlnaHQ6IHZhciggLS1rZW5kby1jYWxlbmRhci1oZWFkZXItY2VsbC1saW5lLWhlaWdodCwgI3ska2VuZG8tY2FsZW5kYXItaGVhZGVyLWNlbGwtbGluZS1oZWlnaHR9ICk7XG4gICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgfVxuXG4gICAgLmstY2FsZW5kYXItdGQge1xuICAgICAgICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKCB2YXIoIC0ta2VuZG8tY2FsZW5kYXItY2VsbC1ib3JkZXItcmFkaXVzLCAjeyRrZW5kby1jYWxlbmRhci1jZWxsLWJvcmRlci1yYWRpdXN9ICkpO1xuICAgICAgICBpbmxpbmUtc2l6ZTogdmFyKCAtLUlOVEVSTkFMLS1rZW5kby1jYWxlbmRhci1jZWxsLXNpemUsIG1pbi1jb250ZW50ICk7XG4gICAgICAgIGJsb2NrLXNpemU6IHZhciggLS1JTlRFUk5BTC0ta2VuZG8tY2FsZW5kYXItY2VsbC1zaXplLCBtaW4tY29udGVudCApO1xuICAgICAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50O1xuICAgICAgICBmb250LXNpemU6IHZhciggLS1JTlRFUk5BTC0ta2VuZG8tY2FsZW5kYXItY2VsbC1mb250LXNpemUsIGluaGVyaXQgKTtcbiAgICB9XG5cblxuICAgIC8vIENhbGVuZGFyIGNlbGwgaW5uZXJcbiAgICAvLyBSZW1vdmUgLmstY2FsZW5kYXIgb25jZSB3ZSByZW1vdmUgay1saW5rXG4gICAgLmstY2FsZW5kYXIgLmstY2FsZW5kYXItY2VsbC1pbm5lciB7XG4gICAgICAgIEBpbmNsdWRlIGJvcmRlci1yYWRpdXMoIHZhciggLS1rZW5kby1jYWxlbmRhci1jZWxsLWJvcmRlci1yYWRpdXMsICN7JGtlbmRvLWNhbGVuZGFyLWNlbGwtYm9yZGVyLXJhZGl1c30gKSApO1xuICAgICAgICBwYWRkaW5nLWlubGluZTogdmFyKCAtLUlOVEVSTkFMLS1rZW5kby1jYWxlbmRhci1jZWxsLXBhZGRpbmcteCwgMCApO1xuICAgICAgICBwYWRkaW5nLWJsb2NrOiB2YXIoIC0tSU5URVJOQUwtLWtlbmRvLWNhbGVuZGFyLWNlbGwtcGFkZGluZy15LCAwICk7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgICB3aGl0ZS1zcGFjZTogbm9ybWFsO1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgfVxuXG5cbiAgICAvLyBDYWxlbmRhciBoZWFkZXJcbiAgICAuay1jYWxlbmRhciAuay1oZWFkZXIge1xuICAgICAgICBwYWRkaW5nLWlubGluZTogdmFyKCAtLWtlbmRvLWNhbGVuZGFyLWhlYWRlci1wYWRkaW5nLXgsICN7JGtlbmRvLWNhbGVuZGFyLWhlYWRlci1wYWRkaW5nLXh9ICk7XG4gICAgICAgIHBhZGRpbmctYmxvY2s6IHZhciggLS1rZW5kby1jYWxlbmRhci1oZWFkZXItcGFkZGluZy15LCAjeyRrZW5kby1jYWxlbmRhci1oZWFkZXItcGFkZGluZy15fSApO1xuICAgICAgICBib3JkZXItYm90dG9tLXdpZHRoOiB2YXIoIC0ta2VuZG8tY2FsZW5kYXItaGVhZGVyLWJvcmRlci13aWR0aCwgI3ska2VuZG8tY2FsZW5kYXItaGVhZGVyLWJvcmRlci13aWR0aH0gKTtcbiAgICAgICAgYm9yZGVyLWJvdHRvbS1zdHlsZTogc29saWQ7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGZsZXgtZmxvdzogcm93IG5vd3JhcDtcbiAgICAgICAgZ2FwOiB2YXIoIC0ta2VuZG8tY2FsZW5kYXItbmF2LWdhcCwgI3ska2VuZG8tY2FsZW5kYXItbmF2LWdhcH0gKTtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICB6LWluZGV4OiAyO1xuICAgIH1cblxuXG4gICAgLy8gQ2FsZW5kYXIgaGVhZGVyXG4gICAgLmstY2FsZW5kYXItaGVhZGVyIHtcbiAgICAgICAgcGFkZGluZy1pbmxpbmU6IHZhciggLS1rZW5kby1jYWxlbmRhci1oZWFkZXItcGFkZGluZy14LCAjeyRrZW5kby1jYWxlbmRhci1oZWFkZXItcGFkZGluZy14fSApO1xuICAgICAgICBwYWRkaW5nLWJsb2NrOiB2YXIoIC0ta2VuZG8tY2FsZW5kYXItaGVhZGVyLXBhZGRpbmcteSwgI3ska2VuZG8tY2FsZW5kYXItaGVhZGVyLXBhZGRpbmcteX0gKTtcbiAgICAgICAgbWluLXdpZHRoOiB2YXIoIC0tSU5URVJOQUwtLWtlbmRvLWNhbGVuZGFyLXZpZXctd2lkdGgsICN7JGtlbmRvLWNhbGVuZGFyLXZpZXctd2lkdGh9KTtcbiAgICAgICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICAgICAgICBmbGV4OiAwIDAgYXV0bztcblxuICAgICAgICAuay1jYWxlbmRhci1uYXYge1xuICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgIGZsZXgtZmxvdzogcm93IG5vd3JhcDtcbiAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgICAgICBnYXA6IHZhciggLS1rZW5kby1jYWxlbmRhci1uYXYtZ2FwLCAjeyRrZW5kby1jYWxlbmRhci1uYXYtZ2FwfSApO1xuICAgICAgICB9XG4gICAgfVxuXG5cbiAgICAvLyBDYWxlbmRhciBmb290ZXJcbiAgICAuay1jYWxlbmRhci1mb290ZXIsXG4gICAgLmstY2FsZW5kYXIgLmstZm9vdGVyIHtcbiAgICAgICAgcGFkZGluZy1pbmxpbmU6IHZhciggLS1rZW5kby1jYWxlbmRhci1oZWFkZXItZm9vdGVyLXgsICN7JGtlbmRvLWNhbGVuZGFyLWZvb3Rlci1wYWRkaW5nLXh9ICk7XG4gICAgICAgIHBhZGRpbmctYmxvY2s6IHZhciggLS1rZW5kby1jYWxlbmRhci1oZWFkZXItZm9vdGVyLXksICN7JGtlbmRvLWNhbGVuZGFyLWZvb3Rlci1wYWRkaW5nLXl9ICk7XG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgY2xlYXI6IGJvdGg7XG4gICAgfVxuXG5cbiAgICAvLyBDYWxlbmRhciB2aWV3IHdyYXBwZXJcbiAgICAuay1jYWxlbmRhci12aWV3IHtcbiAgICAgICAgbWFyZ2luOiBhdXRvO1xuICAgICAgICBwYWRkaW5nLWlubGluZTogdmFyKCAtLWtlbmRvLWNhbGVuZGFyLWhlYWRlci1wYWRkaW5nLXgsICN7JGtlbmRvLWNhbGVuZGFyLWhlYWRlci1wYWRkaW5nLXh9ICk7XG4gICAgICAgIHBhZGRpbmctYmxvY2stZW5kOiB2YXIoIC0ta2VuZG8tY2FsZW5kYXItdmlldy1wYWRkaW5nLWJsb2NrLWVuZCwgI3ska2VuZG8tY2FsZW5kYXItdmlldy1wYWRkaW5nLWJsb2NrLWVuZH0gKTtcbiAgICAgICAgLy8gc2V0dGluZyB3aWR0aCAvIGhlaWdodCBwcmV2ZW50cyBsYXlvdXQgY2hhbmdlcyBpbiBtZXRhIHZpZXdzXG4gICAgICAgIGlubGluZS1zaXplOiB2YXIoIC0tSU5URVJOQUwtLWtlbmRvLWNhbGVuZGFyLXZpZXctd2lkdGgsICN7JGtlbmRvLWNhbGVuZGFyLXZpZXctd2lkdGh9KTtcbiAgICAgICAgbWluLWhlaWdodDogJGtlbmRvLWNhbGVuZGFyLXZpZXctaGVpZ2h0O1xuICAgICAgICBib3gtc2l6aW5nOiBjb250ZW50LWJveDtcbiAgICAgICAgZ2FwOiB2YXIoIC0ta2VuZG8tY2FsZW5kYXItdmlldy1nYXAsICN7JGtlbmRvLWNhbGVuZGFyLXZpZXctZ2FwfSApO1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIHotaW5kZXg6IDE7XG4gICAgICAgIG92ZXJmbG93OiBoaWRkZW47XG5cbiAgICAgICAgLmstdG9kYXkge1xuICAgICAgICAgICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gICAgICAgIH1cblxuXG4gICAgICAgIC5rLWxpbmsge1xuICAgICAgICAgICAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cyggdmFyKCAtLWtlbmRvLWNhbGVuZGFyLWNlbGwtYm9yZGVyLXJhZGl1cywgI3ska2VuZG8tY2FsZW5kYXItY2VsbC1ib3JkZXItcmFkaXVzfSApICk7XG4gICAgICAgICAgICBwYWRkaW5nLWlubGluZTogdmFyKCAtLUlOVEVSTkFMLS1rZW5kby1jYWxlbmRhci1jZWxsLXBhZGRpbmcteCwgMCApO1xuICAgICAgICAgICAgcGFkZGluZy1ibG9jazogdmFyKCAtLUlOVEVSTkFMLS1rZW5kby1jYWxlbmRhci1jZWxsLXBhZGRpbmcteSwgMCApO1xuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgICAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICAgICAgICB3aGl0ZS1zcGFjZTogbm9ybWFsO1xuICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAgICAgfVxuXG4gICAgICAgIC5rLXRvZGF5IC5rLWxpbmsge1xuICAgICAgICAgICAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cyggdmFyKCAtLWtlbmRvLWNhbGVuZGFyLXRvZGF5LWJvcmRlci1yYWRpdXMsICN7JGtlbmRvLWNhbGVuZGFyLXRvZGF5LWJvcmRlci1yYWRpdXN9ICkgKTtcbiAgICAgICAgfVxuICAgIH1cblxuXG4gICAgLy8gTW9udGggdmlld1xuICAgIC5rLW1vbnRoLWNhbGVuZGFyLFxuICAgIC5rLWNhbGVuZGFyLW1vbnRodmlldyB7XG4gICAgICAgICRfbW9udGgtY2VsbC1zaXplOiAka2VuZG8tY2FsZW5kYXItY2VsbC1zaXplO1xuXG4gICAgICAgIC5rLWNhbGVuZGFyLXRkIHtcbiAgICAgICAgICAgIHdpZHRoOiB2YXIoIC0tSU5URVJOQUwtLWtlbmRvLWNhbGVuZGFyLWNlbGwtc2l6ZSwgI3skX21vbnRoLWNlbGwtc2l6ZX0gKTtcbiAgICAgICAgICAgIGhlaWdodDogdmFyKCAtLUlOVEVSTkFMLS1rZW5kby1jYWxlbmRhci1jZWxsLXNpemUsICN7JF9tb250aC1jZWxsLXNpemV9ICk7XG4gICAgICAgICAgICBpbmxpbmUtc2l6ZTogdmFyKCAtLUlOVEVSTkFMLS1rZW5kby1jYWxlbmRhci1jZWxsLXNpemUsICN7JF9tb250aC1jZWxsLXNpemV9ICk7XG4gICAgICAgICAgICBibG9jay1zaXplOiB2YXIoIC0tSU5URVJOQUwtLWtlbmRvLWNhbGVuZGFyLWNlbGwtc2l6ZSwgI3skX21vbnRoLWNlbGwtc2l6ZX0gKTtcbiAgICAgICAgfVxuICAgIH1cblxuXG4gICAgLy8gWWVhciB2aWV3XG4gICAgLmsteWVhci1jYWxlbmRhcixcbiAgICAuay1jYWxlbmRhci15ZWFydmlldyB7XG4gICAgICAgICRfeWVhci1jZWxsLXNpemU6ICggMiAqICRrZW5kby1jYWxlbmRhci1jZWxsLXNpemUgKTtcblxuICAgICAgICAuay1jYWxlbmRhci10ZCB7XG4gICAgICAgICAgICB3aWR0aDogdmFyKCAtLUlOVEVSTkFMLS1rZW5kby1jYWxlbmRhci1jZWxsLXNpemUsICN7JF95ZWFyLWNlbGwtc2l6ZX0gKTtcbiAgICAgICAgICAgIGhlaWdodDogdmFyKCAtLUlOVEVSTkFMLS1rZW5kby1jYWxlbmRhci1jZWxsLXNpemUsICN7JF95ZWFyLWNlbGwtc2l6ZX0gKTtcbiAgICAgICAgICAgIGlubGluZS1zaXplOiB2YXIoIC0tSU5URVJOQUwtLWtlbmRvLWNhbGVuZGFyLWNlbGwtc2l6ZSwgI3skX3llYXItY2VsbC1zaXplfSApO1xuICAgICAgICAgICAgYmxvY2stc2l6ZTogdmFyKCAtLUlOVEVSTkFMLS1rZW5kby1jYWxlbmRhci1jZWxsLXNpemUsICN7JF95ZWFyLWNlbGwtc2l6ZX0gKTtcbiAgICAgICAgfVxuICAgIH1cblxuXG4gICAgLy8gRGVjYWRlIHZpZXdcbiAgICAuay1kZWNhZGUtY2FsZW5kYXIsXG4gICAgLmstY2FsZW5kYXItZGVjYWRldmlldyB7XG4gICAgICAgICRfZGVjYWRlLWNlbGwtc2l6ZTogKCAyICogJGtlbmRvLWNhbGVuZGFyLWNlbGwtc2l6ZSApO1xuXG4gICAgICAgIC5rLWNhbGVuZGFyLXRkIHtcbiAgICAgICAgICAgIHdpZHRoOiB2YXIoIC0tSU5URVJOQUwtLWtlbmRvLWNhbGVuZGFyLWNlbGwtc2l6ZSwgI3skX2RlY2FkZS1jZWxsLXNpemV9ICk7XG4gICAgICAgICAgICBoZWlnaHQ6IHZhciggLS1JTlRFUk5BTC0ta2VuZG8tY2FsZW5kYXItY2VsbC1zaXplLCAjeyRfZGVjYWRlLWNlbGwtc2l6ZX0gKTtcbiAgICAgICAgICAgIGlubGluZS1zaXplOiB2YXIoIC0tSU5URVJOQUwtLWtlbmRvLWNhbGVuZGFyLWNlbGwtc2l6ZSwgI3skX2RlY2FkZS1jZWxsLXNpemV9ICk7XG4gICAgICAgICAgICBibG9jay1zaXplOiB2YXIoIC0tSU5URVJOQUwtLWtlbmRvLWNhbGVuZGFyLWNlbGwtc2l6ZSwgI3skX2RlY2FkZS1jZWxsLXNpemV9ICk7XG4gICAgICAgIH1cbiAgICB9XG5cblxuICAgIC8vIENlbnR1cnkgdmlld1xuICAgIC5rLWNlbnR1cnktY2FsZW5kYXIsXG4gICAgLmstY2FsZW5kYXItY2VudHVyeXZpZXcge1xuICAgICAgICAkX2NlbnR1cnktY2VsbC1zaXplOiAoIDIgKiAka2VuZG8tY2FsZW5kYXItY2VsbC1zaXplICk7XG5cbiAgICAgICAgLmstY2FsZW5kYXItdGQge1xuICAgICAgICAgICAgd2lkdGg6IHZhciggLS1JTlRFUk5BTC0ta2VuZG8tY2FsZW5kYXItY2VsbC1zaXplLCAjeyRfY2VudHVyeS1jZWxsLXNpemV9ICk7XG4gICAgICAgICAgICBoZWlnaHQ6IHZhciggLS1JTlRFUk5BTC0ta2VuZG8tY2FsZW5kYXItY2VsbC1zaXplLCAjeyRfY2VudHVyeS1jZWxsLXNpemV9ICk7XG4gICAgICAgICAgICBpbmxpbmUtc2l6ZTogdmFyKCAtLUlOVEVSTkFMLS1rZW5kby1jYWxlbmRhci1jZWxsLXNpemUsICN7JF9jZW50dXJ5LWNlbGwtc2l6ZX0gKTtcbiAgICAgICAgICAgIGJsb2NrLXNpemU6IHZhciggLS1JTlRFUk5BTC0ta2VuZG8tY2FsZW5kYXItY2VsbC1zaXplLCAjeyRfY2VudHVyeS1jZWxsLXNpemV9ICk7XG4gICAgICAgIH1cbiAgICAgICAgLmstbGluayB7XG4gICAgICAgICAgICB0ZXh0LWFsaWduOiBzdGFydDtcbiAgICAgICAgfVxuICAgIH1cblxuXG4gICAgLy8gQ2FsZW5kYXIgaW4gcG9wdXBcbiAgICAuay1wb3B1cCAuay1jYWxlbmRhciB7XG4gICAgICAgIGhlaWdodDogMTAwJTtcbiAgICB9XG4gICAgLmstY2FsZW5kYXItY29udGFpbmVyLFxuICAgIC5rLWRhdGV0aW1lLWNvbnRhaW5lciB7XG4gICAgICAgIHBhZGRpbmc6IDA7XG5cbiAgICAgICAgLmstY2FsZW5kYXIge1xuICAgICAgICAgICAgYm9yZGVyLXdpZHRoOiAwO1xuICAgICAgICB9XG4gICAgfVxuXG5cbiAgICAuay1jYWxlbmRhciAuay1jb250ZW50Lmstc2Nyb2xsYWJsZSxcbiAgICAuay1jYWxlbmRhciAuay1jYWxlbmRhci1jb250ZW50Lmstc2Nyb2xsYWJsZSB7XG4gICAgICAgIGJveC1zaXppbmc6IGNvbnRlbnQtYm94O1xuICAgICAgICBvdmVyZmxvdy14OiBoaWRkZW47XG4gICAgICAgIG92ZXJmbG93LXk6IGF1dG87XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuXG4gICAgICAgIEBpbmNsdWRlIGhpZGUtc2Nyb2xsYmFyLWRpci1hZ25vc3RpYygpO1xuICAgIH1cblxuICAgIC8vIHNjb3BlZCBpbiBjYWxlbmRhciB1bnRpbCBpdCBpcyB1c2VkIGVsc2V3aGVyZVxuICAgIC5rLWNhbGVuZGFyIC5rLXNjcm9sbGFibGUtcGxhY2Vob2xkZXIge1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHotaW5kZXg6IC0xO1xuICAgICAgICB3aWR0aDogMXB4O1xuICAgICAgICB0b3A6IDA7XG4gICAgICAgIHJpZ2h0OiAwO1xuICAgIH1cblxuXG4gICAgLy8gSW5maW5pdGUgY2FsZW5kYXJcbiAgICAuay1jYWxlbmRhci1pbmZpbml0ZSB7XG4gICAgICAgIGJveC1zaXppbmc6IGNvbnRlbnQtYm94O1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgICAgICAgZmxleC1mbG93OiByb3cgbm93cmFwO1xuXG4gICAgICAgIC5rLWNhbGVuZGFyLXZpZXcge1xuICAgICAgICAgICAgcGFkZGluZy1pbmxpbmU6IHZhciggLS1rZW5kby1pbmZpbml0ZS1jYWxlbmRhci12aWV3LXBhZGRpbmcteCwgI3ska2VuZG8taW5maW5pdGUtY2FsZW5kYXItdmlldy1wYWRkaW5nLXh9ICk7XG4gICAgICAgICAgICBwYWRkaW5nLWJsb2NrOiB2YXIoIC0ta2VuZG8taW5maW5pdGUtY2FsZW5kYXItdmlldy1wYWRkaW5nLXksICN7JGtlbmRvLWluZmluaXRlLWNhbGVuZGFyLXZpZXctcGFkZGluZy15fSApO1xuICAgICAgICAgICAgaGVpZ2h0OiAka2VuZG8taW5maW5pdGUtY2FsZW5kYXItdmlldy1oZWlnaHQ7XG4gICAgICAgICAgICBmbGV4OiAwIDAgYXV0bztcbiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICBmbGV4LWZsb3c6IGNvbHVtbiBub3dyYXA7XG4gICAgICAgICAgICBnYXA6IDA7XG4gICAgICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xuXG4gICAgICAgICAgICAuay1jb250ZW50Lmstc2Nyb2xsYWJsZSB7XG4gICAgICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLmstY2FsZW5kYXItaGVhZGVyIHtcbiAgICAgICAgICAgIG1hcmdpbi1pbmxpbmUtc3RhcnQ6IGNhbGMoIC0xICogdmFyKCAtLWtlbmRvLWluZmluaXRlLWNhbGVuZGFyLXZpZXctcGFkZGluZy14LCAjeyRrZW5kby1pbmZpbml0ZS1jYWxlbmRhci12aWV3LXBhZGRpbmcteH0gKSk7XG4gICAgICAgICAgICBtYXJnaW4taW5saW5lLWVuZDogY2FsYyggLTEgKiB2YXIoIC0ta2VuZG8taW5maW5pdGUtY2FsZW5kYXItdmlldy1wYWRkaW5nLXgsICN7JGtlbmRvLWluZmluaXRlLWNhbGVuZGFyLXZpZXctcGFkZGluZy14fSApKTtcbiAgICAgICAgICAgIHBhZGRpbmctaW5saW5lOiB2YXIoIC0ta2VuZG8taW5maW5pdGUtY2FsZW5kYXItaGVhZGVyLXBhZGRpbmcteCwgI3ska2VuZG8taW5maW5pdGUtY2FsZW5kYXItaGVhZGVyLXBhZGRpbmcteH0gKTtcbiAgICAgICAgICAgIHBhZGRpbmctYmxvY2s6IHZhciggLS1rZW5kby1pbmZpbml0ZS1jYWxlbmRhci1oZWFkZXItcGFkZGluZy15LCAjeyRrZW5kby1pbmZpbml0ZS1jYWxlbmRhci1oZWFkZXItcGFkZGluZy15fSApO1xuICAgICAgICAgICAgd2lkdGg6IGF1dG87XG4gICAgICAgICAgICBtaW4td2lkdGg6IDA7XG4gICAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICAgICAgICB9XG5cbiAgICAgICAgLmstY2FsZW5kYXItd2Vla2RheXMge1xuICAgICAgICAgICAgZmxleDogMCAwIGF1dG87XG4gICAgICAgIH1cbiAgICB9XG5cblxuICAgIC8vIENhbGVuZGFyIG5hdmlnYXRpb25cbiAgICAuay1jYWxlbmRhci1uYXZpZ2F0aW9uIHtcbiAgICAgICAgd2lkdGg6IHZhciggLS1rZW5kby1jYWxlbmRhci1uYXZpZ2F0aW9uLXdpZHRoLCAjeyRrZW5kby1jYWxlbmRhci1uYXZpZ2F0aW9uLXdpZHRofSApO1xuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgIGZsZXg6IDAgMCBhdXRvO1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICB6LWluZGV4OiAxO1xuXG4gICAgICAgIC5rLWNvbnRlbnQsXG4gICAgICAgIC5rLWNhbGVuZGFyLWNvbnRlbnQge1xuICAgICAgICAgICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gICAgICAgICAgICBoZWlnaHQ6IGF1dG87XG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICB0b3A6IDA7XG4gICAgICAgICAgICBsZWZ0OiAwO1xuICAgICAgICAgICAgYm90dG9tOiAwO1xuICAgICAgICAgICAgcmlnaHQ6IDA7XG5cbiAgICAgICAgICAgIHVsIHtcbiAgICAgICAgICAgICAgICB3aWR0aDogdmFyKCAtLWtlbmRvLWNhbGVuZGFyLW5hdmlnYXRpb24td2lkdGgsICN7JGtlbmRvLWNhbGVuZGFyLW5hdmlnYXRpb24td2lkdGh9ICk7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIGxpIHtcbiAgICAgICAgICAgICAgICBoZWlnaHQ6IHZhciggLS1rZW5kby1jYWxlbmRhci1uYXZpZ2F0aW9uLWl0ZW0taGVpZ2h0LCAjeyRrZW5kby1jYWxlbmRhci1uYXZpZ2F0aW9uLWl0ZW0taGVpZ2h0fSApO1xuICAgICAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiB2YXIoIC0ta2VuZG8tY2FsZW5kYXItbmF2aWdhdGlvbi1pdGVtLWhlaWdodCwgI3ska2VuZG8tY2FsZW5kYXItbmF2aWdhdGlvbi1pdGVtLWhlaWdodH0gKTtcbiAgICAgICAgICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgICAgICAgICAgICAgcGFkZGluZy1pbmxpbmU6IDFlbTtcbiAgICAgICAgICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgICAgICAgICAgICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gICAgICAgICAgICAgICAgdGV4dC1vdmVyZmxvdzogY2xpcDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC5rLWNhbGVuZGFyLW5hdmlnYXRpb24tbWFya2VyIHtcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICAgICAgICB9XG5cbiAgICAgICAgLmstY2FsZW5kYXItbmF2aWdhdGlvbi1oaWdobGlnaHQge1xuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICBib3JkZXItd2lkdGg6IDFweCAwO1xuICAgICAgICAgICAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcbiAgICAgICAgICAgIGhlaWdodDogdmFyKCAtLWtlbmRvLWNhbGVuZGFyLW5hdmlnYXRpb24taXRlbS1oZWlnaHQsICN7JGtlbmRvLWNhbGVuZGFyLW5hdmlnYXRpb24taXRlbS1oZWlnaHR9ICk7XG4gICAgICAgICAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgdG9wOiA1MCU7XG4gICAgICAgICAgICByaWdodDogMDtcbiAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTtcbiAgICAgICAgfVxuXG4gICAgfVxuXG5cbiAgICAvLyBNdWx0aXZpZXcgY2FsZW5kYXJcbiAgICAuay1jYWxlbmRhci1yYW5nZSB7XG4gICAgICAgIHdpZHRoOiBhdXRvO1xuXG4gICAgICAgIC5rLWNhbGVuZGFyLWhlYWRlciB7XG4gICAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xuXG4gICAgICAgICAgICAmLmstdnN0YWNrIHtcbiAgICAgICAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLmstY2FsZW5kYXItdmlldyB7XG4gICAgICAgICAgICB3aWR0aDogYXV0bztcbiAgICAgICAgICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG5cbiAgICAgICAgICAgICY6OmFmdGVyIHtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAmOmZvY3VzIHtcbiAgICAgICAgICAgICAgICBvdXRsaW5lOiAwO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgLmstcmFuZ2Utc3RhcnQsXG4gICAgLmstcmFuZ2UtZW5kLFxuICAgIC5rLXJhbmdlLW1pZCB7XG5cbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gICAgICAgICY6OmJlZm9yZSB7XG4gICAgICAgICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgaW5zZXQ6IDBweDtcbiAgICAgICAgICAgIGJvcmRlci1zdHlsZTogc29saWQ7XG4gICAgICAgIH1cblxuICAgICAgICAmOmhvdmVyIC5rLWxpbmssXG4gICAgICAgICYuay1ob3ZlciAuay1saW5rIHtcbiAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDA7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAuay1yYW5nZS1taWQ6OmJlZm9yZSB7XG4gICAgICAgIGJvcmRlci13aWR0aDogdmFyKCAtLUlOVEVSTkFMLS1rZW5kby1jYWxlbmRhci1yYW5nZS1ib3JkZXItd2lkdGgsIDFweCApO1xuICAgICAgICBib3JkZXItaW5saW5lLXdpZHRoOiAwO1xuICAgICAgICBib3JkZXItcmFkaXVzOiAwO1xuICAgIH1cblxuICAgIC5rLXJhbmdlLXN0YXJ0OjpiZWZvcmUsXG4gICAgLmstcmFuZ2UtbWlkOm5vdChcbiAgICAgICAgLmstcmFuZ2Utc3RhcnQgKyAuay1yYW5nZS1taWQsXG4gICAgICAgIC5rLXJhbmdlLW1pZCArIC5rLXJhbmdlLW1pZCxcbiAgICAgICAgOmxhc3QtY2hpbGRcbiAgICApOjpiZWZvcmUge1xuICAgICAgICBib3JkZXItd2lkdGg6IHZhciggLS1JTlRFUk5BTC0ta2VuZG8tY2FsZW5kYXItcmFuZ2UtYm9yZGVyLXdpZHRoLCAxcHggKTtcbiAgICAgICAgYm9yZGVyLWlubGluZS1lbmQtd2lkdGg6IDA7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDA7XG5cbiAgICAgICAgQGlmICggJGtlbmRvLWVuYWJsZS1yb3VuZGVkICkge1xuICAgICAgICAgICAgYm9yZGVyLXN0YXJ0LXN0YXJ0LXJhZGl1czogdmFyKCAtLWtlbmRvLWNhbGVuZGFyLWNlbGwtYm9yZGVyLXJhZGl1cywgI3ska2VuZG8tY2FsZW5kYXItY2VsbC1ib3JkZXItcmFkaXVzfSApO1xuICAgICAgICAgICAgYm9yZGVyLWVuZC1zdGFydC1yYWRpdXM6IHZhciggLS1rZW5kby1jYWxlbmRhci1jZWxsLWJvcmRlci1yYWRpdXMsICN7JGtlbmRvLWNhbGVuZGFyLWNlbGwtYm9yZGVyLXJhZGl1c30gKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5rLXJhbmdlLWVuZDo6YmVmb3JlLFxuICAgIC5rLXJhbmdlLW1pZDpsYXN0LWNoaWxkOjpiZWZvcmUge1xuICAgICAgICBib3JkZXItd2lkdGg6IHZhciggLS1JTlRFUk5BTC0ta2VuZG8tY2FsZW5kYXItcmFuZ2UtYm9yZGVyLXdpZHRoLCAxcHggKTtcbiAgICAgICAgYm9yZGVyLWlubGluZS1zdGFydC13aWR0aDogMDtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogMDtcblxuICAgICAgICBAaWYgKCAka2VuZG8tZW5hYmxlLXJvdW5kZWQgKSB7XG4gICAgICAgICAgICBib3JkZXItc3RhcnQtZW5kLXJhZGl1czogdmFyKCAtLWtlbmRvLWNhbGVuZGFyLWNlbGwtYm9yZGVyLXJhZGl1cywgI3ska2VuZG8tY2FsZW5kYXItY2VsbC1ib3JkZXItcmFkaXVzfSApO1xuICAgICAgICAgICAgYm9yZGVyLWVuZC1lbmQtcmFkaXVzOiB2YXIoIC0ta2VuZG8tY2FsZW5kYXItY2VsbC1ib3JkZXItcmFkaXVzLCAjeyRrZW5kby1jYWxlbmRhci1jZWxsLWJvcmRlci1yYWRpdXN9ICk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAuay1yYW5nZS1zdGFydC5rLXJhbmdlLWVuZDo6YmVmb3JlIHtcbiAgICAgICAgYm9yZGVyLXdpZHRoOiB2YXIoIC0tSU5URVJOQUwtLWtlbmRvLWNhbGVuZGFyLXJhbmdlLWJvcmRlci13aWR0aCwgMXB4ICk7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6ICB2YXIoIC0ta2VuZG8tY2FsZW5kYXItY2VsbC1ib3JkZXItcmFkaXVzLCAjeyRrZW5kby1jYWxlbmRhci1jZWxsLWJvcmRlci1yYWRpdXN9ICkgO1xuICAgIH1cblxuXG5cblxuICAgIC8vIENhbGVuZGFyIHNpemVzXG4gICAgQGVhY2ggJHNpemUsICRzaXplLXByb3BzIGluICRrZW5kby1jYWxlbmRhci1zaXplcyB7XG4gICAgICAgICRfZm9udC1zaXplOiBtYXAuZ2V0KCAkc2l6ZS1wcm9wcywgZm9udC1zaXplICk7XG4gICAgICAgICRfbGluZS1oZWlnaHQ6IG1hcC5nZXQoICRzaXplLXByb3BzLCBsaW5lLWhlaWdodCApO1xuICAgICAgICAkX2NlbGwtc2l6ZTogbWFwLmdldCggJHNpemUtcHJvcHMsIGNlbGwtc2l6ZSApO1xuICAgICAgICAkX2NlbGwtcGFkZGluZy14OiBtYXAuZ2V0KCAkc2l6ZS1wcm9wcywgY2VsbC1wYWRkaW5nLXggKTtcbiAgICAgICAgJF9jZWxsLXBhZGRpbmcteTogbWFwLmdldCggJHNpemUtcHJvcHMsIGNlbGwtcGFkZGluZy15ICk7XG4gICAgICAgICRfY2VsbC1mb250LXNpemU6IG1hcC5nZXQoICRzaXplLXByb3BzLCBjZWxsLWZvbnQtc2l6ZSApO1xuXG4gICAgICAgICRfbW9udGgtY2VsbC1zaXplOiAkX2NlbGwtc2l6ZTtcbiAgICAgICAgJF95ZWFyLWNlbGwtc2l6ZTogKCAyICogJF9jZWxsLXNpemUgKTtcbiAgICAgICAgJF9kZWNhZGUtY2VsbC1zaXplOiAoIDIgKiAkX2NlbGwtc2l6ZSApO1xuICAgICAgICAkX2NlbnR1cnktY2VsbC1zaXplOiAoIDIgKiAkX2NlbGwtc2l6ZSApO1xuXG4gICAgICAgIC5rLWNhbGVuZGFyLSN7JHNpemV9IHtcbiAgICAgICAgICAgIC0tSU5URVJOQUwtLWtlbmRvLWNhbGVuZGFyLXZpZXctd2lkdGg6ICN7OCAqICRfY2VsbC1zaXplfTtcbiAgICAgICAgICAgIC0tSU5URVJOQUwtLWtlbmRvLWNhbGVuZGFyLWNlbGwtcGFkZGluZy14OiB2YXIoIC0ta2VuZG8tY2FsZW5kYXItI3skc2l6ZX0tY2VsbC1wYWRkaW5nLXgsICN7JF9jZWxsLXBhZGRpbmcteH0gKTtcbiAgICAgICAgICAgIC0tSU5URVJOQUwtLWtlbmRvLWNhbGVuZGFyLWNlbGwtcGFkZGluZy15OiB2YXIoIC0ta2VuZG8tY2FsZW5kYXItI3skc2l6ZX0tY2VsbC1wYWRkaW5nLXksICN7JF9jZWxsLXBhZGRpbmcteX0gKTtcbiAgICAgICAgICAgIC0tSU5URVJOQUwtLWtlbmRvLWNhbGVuZGFyLWNlbGwtZm9udC1zaXplOiB2YXIoIC0ta2VuZG8tY2FsZW5kYXItI3skc2l6ZX0tY2VsbC1mb250LXNpemUsICN7JF9jZWxsLWZvbnQtc2l6ZX0gKTtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogJF9mb250LXNpemU7XG4gICAgICAgICAgICBsaW5lLWhlaWdodDogJF9saW5lLWhlaWdodDtcblxuICAgICAgICAgICAgJi5rLW1vbnRoLWNhbGVuZGFyLFxuICAgICAgICAgICAgLmstY2FsZW5kYXItbW9udGh2aWV3IHtcbiAgICAgICAgICAgICAgICAtLUlOVEVSTkFMLS1rZW5kby1jYWxlbmRhci1jZWxsLXNpemU6IHZhciggLS1rZW5kby1jYWxlbmRhci0jeyRzaXplfS1tb250aC1jZWxsLXNpemUsICN7JF9tb250aC1jZWxsLXNpemV9ICk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAmLmsteWVhci1jYWxlbmRhcixcbiAgICAgICAgICAgIC5rLWNhbGVuZGFyLXllYXJ2aWV3IHtcbiAgICAgICAgICAgICAgICAtLUlOVEVSTkFMLS1rZW5kby1jYWxlbmRhci1jZWxsLXNpemU6IHZhciggLS1rZW5kby1jYWxlbmRhci0jeyRzaXplfS15ZWFyLWNlbGwtc2l6ZSwgI3skX3llYXItY2VsbC1zaXplfSApO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgJi5rLWRlY2FkZS1jYWxlbmRhcixcbiAgICAgICAgICAgIC5rLWNhbGVuZGFyLWRlY2FkZXZpZXcge1xuICAgICAgICAgICAgICAgIC0tSU5URVJOQUwtLWtlbmRvLWNhbGVuZGFyLWNlbGwtc2l6ZTogdmFyKCAtLWtlbmRvLWNhbGVuZGFyLSN7JHNpemV9LWRlY2FkZS1jZWxsLXNpemUsICN7JF9kZWNhZGUtY2VsbC1zaXplfSApO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgJi5rLWNlbnR1cnktY2FsZW5kYXIsXG4gICAgICAgICAgICAuay1jYWxlbmRhci1jZW50dXJ5dmlldyB7XG4gICAgICAgICAgICAgICAgLS1JTlRFUk5BTC0ta2VuZG8tY2FsZW5kYXItY2VsbC1zaXplOiB2YXIoIC0ta2VuZG8tY2FsZW5kYXItI3skc2l6ZX0tY2VudHVyeS1jZWxsLXNpemUsICN7JF9jZW50dXJ5LWNlbGwtc2l6ZX0gKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbn1cbiIsIkB1c2UgXCJzYXNzOm1hcFwiO1xuQHVzZSBcIi4uL2NvcmUvX2luZGV4LnNjc3NcIiBhcyAqO1xuXG4vLy8gVGhlIHdpZHRoIG9mIHRoZSBib3JkZXIgYXJvdW5kIHRoZSBDYWxlbmRhci5cbi8vLyBAZ3JvdXAgY2FsZW5kYXJcbiRrZW5kby1jYWxlbmRhci1ib3JkZXItd2lkdGg6IDFweCAhZGVmYXVsdDtcbi8vLyBUaGUgZm9udCBmYW1pbHkgb2YgdGhlIENhbGVuZGFyLlxuLy8vIEBncm91cCBjYWxlbmRhclxuJGtlbmRvLWNhbGVuZGFyLWZvbnQtZmFtaWx5OiB2YXIoIC0ta2VuZG8tZm9udC1mYW1pbHksIGluaGVyaXQgKSAhZGVmYXVsdDtcbi8vLyBUaGUgZm9udCBzaXplIG9mIHRoZSBDYWxlbmRhci5cbi8vLyBAZ3JvdXAgY2FsZW5kYXJcbiRrZW5kby1jYWxlbmRhci1mb250LXNpemU6IHZhciggLS1rZW5kby1mb250LXNpemUsIGluaGVyaXQgKSAhZGVmYXVsdDtcbi8vLyBUaGUgbGluZSBoZWlnaHQgb2YgdGhlIENhbGVuZGFyLlxuLy8vIEBncm91cCBjYWxlbmRhclxuJGtlbmRvLWNhbGVuZGFyLWxpbmUtaGVpZ2h0OiB2YXIoIC0ta2VuZG8tbGluZS1oZWlnaHQsIG5vcm1hbCApICFkZWZhdWx0O1xuXG4vLy8gVGhlIHNpemUgb2YgdGhlIGNhbGVuZGFyIGNlbGwuXG4vLy8gQGdyb3VwIGNhbGVuZGFyXG4ka2VuZG8tY2FsZW5kYXItY2VsbC1zaXplOiAyOHB4ICFkZWZhdWx0O1xuXG4vLy8gVGhlIGJhY2tncm91bmQgY29sb3Igb2YgdGhlIENhbGVuZGFyLlxuLy8vIEBncm91cCBjYWxlbmRhclxuJGtlbmRvLWNhbGVuZGFyLWJnOiB2YXIoIC0ta2VuZG8tY29tcG9uZW50LWJnLCBpbml0aWFsKSAhZGVmYXVsdDtcbi8vLyBUaGUgdGV4dCBjb2xvciBvZiB0aGUgQ2FsZW5kYXIuXG4vLy8gQGdyb3VwIGNhbGVuZGFyXG4ka2VuZG8tY2FsZW5kYXItdGV4dDogdmFyKCAtLWtlbmRvLWNvbXBvbmVudC10ZXh0LCBpbml0aWFsKSAhZGVmYXVsdDtcbi8vLyBUaGUgYm9yZGVyIGNvbG9yIG9mIHRoZSBDYWxlbmRhci5cbi8vLyBAZ3JvdXAgY2FsZW5kYXJcbiRrZW5kby1jYWxlbmRhci1ib3JkZXI6IHZhciggLS1rZW5kby1jb21wb25lbnQtYm9yZGVyLCBpbml0aWFsKSAhZGVmYXVsdDtcblxuLy8vIFRoZSBob3Jpem9udGFsIHBhZGRpbmcgb2YgdGhlIGNhbGVuZGFyIGhlYWRlci5cbi8vLyBAZ3JvdXAgY2FsZW5kYXJcbiRrZW5kby1jYWxlbmRhci1oZWFkZXItcGFkZGluZy14OiBrLXNwYWNpbmcoMSkgIWRlZmF1bHQ7XG4vLy8gVGhlIHZlcnRpY2FsIHBhZGRpbmcgb2YgdGhlIGNhbGVuZGFyIGhlYWRlci5cbi8vLyBAZ3JvdXAgY2FsZW5kYXJcbiRrZW5kby1jYWxlbmRhci1oZWFkZXItcGFkZGluZy15OiBrLXNwYWNpbmcoMSkgIWRlZmF1bHQ7XG4vLy8gV2lkdGggb2YgdGhlIGJvdHRvbSBib3JkZXIgb2YgdGhlIGNhbGVuZGFyIGhlYWRlci5cbi8vLyBAZ3JvdXAgY2FsZW5kYXJcbiRrZW5kby1jYWxlbmRhci1oZWFkZXItYm9yZGVyLXdpZHRoOiAxcHggIWRlZmF1bHQ7XG4ka2VuZG8tY2FsZW5kYXItaGVhZGVyLW1pbi13aWR0aDogKCRrZW5kby1jYWxlbmRhci1jZWxsLXNpemUgKiA4KSAhZGVmYXVsdDtcblxuLy8vIFRoZSBiYWNrZ3JvdW5kIGNvbG9yIG9mIHRoZSBjYWxlbmRhciBoZWFkZXIuXG4vLy8gQGdyb3VwIGNhbGVuZGFyXG4ka2VuZG8tY2FsZW5kYXItaGVhZGVyLWJnOiBpZigka2VuZG8tZW5hYmxlLWNvbG9yLXN5c3RlbSwgay1jb2xvciggc3VyZmFjZSApLCBrLWdldC10aGVtZS1jb2xvci12YXIoIG5ldXRyYWwtMTAgKSkgIWRlZmF1bHQ7IC8vICRrZW5kby1jb21wb25lbnQtaGVhZGVyLWJnXG4vLy8gVGhlIHRleHQgY29sb3Igb2YgdGhlIGNhbGVuZGFyIGhlYWRlci5cbi8vLyBAZ3JvdXAgY2FsZW5kYXJcbiRrZW5kby1jYWxlbmRhci1oZWFkZXItdGV4dDogJGtlbmRvLWNhbGVuZGFyLXRleHQgIWRlZmF1bHQ7IC8vICRrZW5kby1jb21wb25lbnQtaGVhZGVyLXRleHRcbi8vLyBUaGUgYm9yZGVyIGNvbG9yIG9mIHRoZSBjYWxlbmRhciBoZWFkZXIuXG4vLy8gQGdyb3VwIGNhbGVuZGFyXG4ka2VuZG8tY2FsZW5kYXItaGVhZGVyLWJvcmRlcjogJGtlbmRvLWNhbGVuZGFyLWJvcmRlciAhZGVmYXVsdDsgLy8gJGtlbmRvLWNvbXBvbmVudC1oZWFkZXItYm9yZGVyXG5cbi8vLyBUaGUgc3BhY2luZyBiZXR3ZWVuIHRoZSBuYXZpZ2F0aW9uIGJ1dHRvbnMgb2YgdGhlIENhbGVuZGFyLlxuLy8vIEBncm91cCBjYWxlbmRhclxuJGtlbmRvLWNhbGVuZGFyLW5hdi1nYXA6IGstc3BhY2luZygwKSAhZGVmYXVsdDtcblxuLy8vIFRoZSBob3Jpem9udGFsIHBhZGRpbmcgb2YgdGhlIGNhbGVuZGFyIGZvb3Rlci5cbi8vLyBAZ3JvdXAgY2FsZW5kYXJcbiRrZW5kby1jYWxlbmRhci1mb290ZXItcGFkZGluZy14OiBrLXNwYWNpbmcoMSkgIWRlZmF1bHQ7XG4vLy8gVGhlIHZlcnRpY2FsIHBhZGRpbmcgb2YgdGhlIGNhbGVuZGFyIGZvb3Rlci5cbi8vLyBAZ3JvdXAgY2FsZW5kYXJcbiRrZW5kby1jYWxlbmRhci1mb290ZXItcGFkZGluZy15OiBrLXNwYWNpbmcoMSkgIWRlZmF1bHQ7XG5cbi8vLyBUaGUgZm9udCBzaXplIG9mIHRoZSBjYWxlbmRhciBjZWxsLlxuLy8vIEBncm91cCBjYWxlbmRhclxuJGtlbmRvLWNhbGVuZGFyLWNlbGwtZm9udC1zaXplOiB2YXIoIC0ta2VuZG8tZm9udC1zaXplLXNtLCBpbmhlcml0ICkgIWRlZmF1bHQ7XG4vLy8gVGhlIGhvcml6b250YWwgcGFkZGluZyBvZiB0aGUgY2FsZW5kYXIgY2VsbC5cbi8vLyBAZ3JvdXAgY2FsZW5kYXJcbiRrZW5kby1jYWxlbmRhci1jZWxsLXBhZGRpbmcteDogay1zcGFjaW5nKDEuNSkgIWRlZmF1bHQ7XG4vLy8gVGhlIHZlcnRpY2FsIHBhZGRpbmcgb2YgdGhlIGNhbGVuZGFyIGNlbGwuXG4vLy8gQGdyb3VwIGNhbGVuZGFyXG4ka2VuZG8tY2FsZW5kYXItY2VsbC1wYWRkaW5nLXk6ICRrZW5kby1jYWxlbmRhci1jZWxsLXBhZGRpbmcteCAhZGVmYXVsdDtcbi8vLyBUaGUgbGluZSBoZWlnaHQgb2YgdGhlIGNhbGVuZGFyIGNlbGwuXG4vLy8gQGdyb3VwIGNhbGVuZGFyXG4ka2VuZG8tY2FsZW5kYXItY2VsbC1saW5lLWhlaWdodDogJGtlbmRvLWNhbGVuZGFyLWxpbmUtaGVpZ2h0ICFkZWZhdWx0O1xuLy8vIFRoZSBib3JkZXIgcmFkaXVzIG9mIHRoZSBjYWxlbmRhciBjZWxsLlxuLy8vIEBncm91cCBjYWxlbmRhclxuJGtlbmRvLWNhbGVuZGFyLWNlbGwtYm9yZGVyLXJhZGl1czogdmFyKCAtLWtlbmRvLWJvcmRlci1yYWRpdXMtbWQsIDApICFkZWZhdWx0O1xuXG4vLy8gVGhlIGhvcml6b250YWwgcGFkZGluZyBvZiB0aGUgY2FsZW5kYXIgaGVhZGVyIGNlbGwuXG4vLy8gQGdyb3VwIGNhbGVuZGFyXG4ka2VuZG8tY2FsZW5kYXItaGVhZGVyLWNlbGwtcGFkZGluZy14OiBrLXNwYWNpbmcoMCkgIWRlZmF1bHQ7XG4vLy8gVGggdmVydGljYWwgcGFkZGluZyBvZiB0aGUgY2FsZW5kYXIgaGVhZGVyIGNlbGwuXG4vLy8gQGdyb3VwIGNhbGVuZGFyXG4ka2VuZG8tY2FsZW5kYXItaGVhZGVyLWNlbGwtcGFkZGluZy15OiBrLXNwYWNpbmcoMCkgIWRlZmF1bHQ7XG4vLy8gVGhlIHdpZHRoIG9mIHRoZSBjYWxlbmRhciBoZWFkZXIgY2VsbC5cbi8vLyBAZ3JvdXAgY2FsZW5kYXJcbiRrZW5kby1jYWxlbmRhci1oZWFkZXItY2VsbC13aWR0aDogJGtlbmRvLWNhbGVuZGFyLWNlbGwtc2l6ZSAhZGVmYXVsdDtcbi8vLyBUaGUgaGVpZ2h0IG9mIHRoZSBjYWxlbmRhciBoZWFkZXIgY2VsbC5cbi8vLyBAZ3JvdXAgY2FsZW5kYXJcbiRrZW5kby1jYWxlbmRhci1oZWFkZXItY2VsbC1oZWlnaHQ6ICRrZW5kby1jYWxlbmRhci1jZWxsLXNpemUgIWRlZmF1bHQ7XG4vLy8gVGhlIGZvbnQgc2l6ZSBvZiB0aGUgY2FsZW5kYXIgaGVhZGVyIGNlbGwuXG4vLy8gQGdyb3VwIGNhbGVuZGFyXG4ka2VuZG8tY2FsZW5kYXItaGVhZGVyLWNlbGwtZm9udC1zaXplOiB2YXIoIC0ta2VuZG8tZm9udC1zaXplLXNtLCBpbmhlcml0ICkgIWRlZmF1bHQ7XG4vLy8gVGhlIGxpbmUgaGVpZ2h0IG9mIHRoZSBjYWxlbmRhciBoZWFkZXIgY2VsbC5cbi8vLyBAZ3JvdXAgY2FsZW5kYXJcbiRrZW5kby1jYWxlbmRhci1oZWFkZXItY2VsbC1saW5lLWhlaWdodDogMiAhZGVmYXVsdDtcbi8vLyBUaGUgYmFja2dyb3VuZCBjb2xvciBvZiB0aGUgY2FsZW5kYXIgaGVhZGVyIGNlbGwuXG4vLy8gQGdyb3VwIGNhbGVuZGFyXG4ka2VuZG8tY2FsZW5kYXItaGVhZGVyLWNlbGwtYmc6IGluaGVyaXQgIWRlZmF1bHQ7XG4vLy8gVGhlIHRleHQgY29sb3Igb2YgdGhlIGNhbGVuZGFyIGhlYWRlciBjZWxsLlxuLy8vIEBncm91cCBjYWxlbmRhclxuJGtlbmRvLWNhbGVuZGFyLWhlYWRlci1jZWxsLXRleHQ6IGluaGVyaXQgIWRlZmF1bHQ7XG5cbi8vLyBUaGUgaG9yaXpvbnRhbCBwYWRkaW5nIG9mIHRoZSBjYWxlbmRhciBjYXB0aW9ucy5cbi8vLyBAZ3JvdXAgY2FsZW5kYXJcbiRrZW5kby1jYWxlbmRhci1jYXB0aW9uLXBhZGRpbmcteDogay1zcGFjaW5nKDMpICFkZWZhdWx0O1xuLy8vIFRoZSB2ZXJ0aWNhbCBwYWRkaW5nIG9mIHRoZSBjYWxlbmRhciBjYXB0aW9ucy5cbi8vLyBAZ3JvdXAgY2FsZW5kYXJcbiRrZW5kby1jYWxlbmRhci1jYXB0aW9uLXBhZGRpbmcteTogay1zcGFjaW5nKDEpICFkZWZhdWx0O1xuLy8vIFRoZSBoZWlnaHQgb2YgdGhlIGNhbGVuZGFyIGNhcHRpb25zLlxuLy8vIEBncm91cCBjYWxlbmRhclxuJGtlbmRvLWNhbGVuZGFyLWNhcHRpb24taGVpZ2h0OiAka2VuZG8tY2FsZW5kYXItY2VsbC1zaXplICFkZWZhdWx0O1xuLy8vIFRoZSBmb250IHNpemUgb2YgdGhlIGNhbGVuZGFyIGNhcHRpb25zLlxuLy8vIEBncm91cCBjYWxlbmRhclxuJGtlbmRvLWNhbGVuZGFyLWNhcHRpb24tZm9udC1zaXplOiB2YXIoIC0ta2VuZG8tZm9udC1zaXplLXNtLCBpbmhlcml0ICkgIWRlZmF1bHQ7XG4vLy8gVGhlIGxpbmUgaGVpZ2h0IG9mIHRoZSBjYWxlbmRhciBjYXB0aW9ucy5cbi8vLyBAZ3JvdXAgY2FsZW5kYXJcbiRrZW5kby1jYWxlbmRhci1jYXB0aW9uLWxpbmUtaGVpZ2h0OiBub3JtYWwgIWRlZmF1bHQ7XG4vLy8gRm9udCB3ZWlnaHQgb2YgdGhlIGNhbGVuZGFyIGNhcHRpb25zLlxuLy8vIEBncm91cCBjYWxlbmRhclxuJGtlbmRvLWNhbGVuZGFyLWNhcHRpb24tZm9udC13ZWlnaHQ6IGJvbGQgIWRlZmF1bHQ7XG4vLy8gVGhlIHRleHQgY29sb3Igb2YgdGhlIGNhbGVuZGFyIGNhcHRpb25zLlxuLy8vIEBncm91cCBjYWxlbmRhclxuJGtlbmRvLWNhbGVuZGFyLWNhcHRpb24tY29sb3I6ICRrZW5kby1zdWJ0bGUtdGV4dCAhZGVmYXVsdDtcblxuLy8vIFRoZSB3aWR0aCBvZiB0aGUgQ2FsZW5kYXIgdmlldy5cbi8vLyBAZ3JvdXAgY2FsZW5kYXJcbiRrZW5kby1jYWxlbmRhci12aWV3LXdpZHRoOiAoJGtlbmRvLWNhbGVuZGFyLWNlbGwtc2l6ZSAqIDcpICFkZWZhdWx0O1xuLy8vIFRoZSBoZWlnaHQgb2YgdGhlIENhbGVuZGFyIHZpZXcuXG4vLy8gQGdyb3VwIGNhbGVuZGFyXG4ka2VuZG8tY2FsZW5kYXItdmlldy1oZWlnaHQ6ICgka2VuZG8tY2FsZW5kYXItY2VsbC1zaXplICogNykgIWRlZmF1bHQ7XG5cbi8vLyBUaGUgYm90dG9tIHBhZGRpbmcgb2YgQ2FsZW5kYXIgdmlld3MuXG4vLy8gQGdyb3VwIGNhbGVuZGFyXG4ka2VuZG8tY2FsZW5kYXItdmlldy1wYWRkaW5nLWJsb2NrLWVuZDogay1zcGFjaW5nKDEpICFkZWZhdWx0O1xuLy8vIFRoZSBzcGFjaW5nIGJldHdlZW4gdGhlIHZpZXdzIGluIHRoZSBtdWx0aXZpZXcgQ2FsZW5kYXIuXG4vLy8gQGdyb3VwIGNhbGVuZGFyXG4ka2VuZG8tY2FsZW5kYXItdmlldy1nYXA6IGstc3BhY2luZyg0KSAhZGVmYXVsdDtcblxuLy8vIFRoZSBiYWNrZ3JvdW5kIGNvbG9yIG9mIHRoZSBjYWxlbmRhciB3ZWVrZW5kIGNlbGwuXG4vLy8gQGdyb3VwIGNhbGVuZGFyXG4ka2VuZG8tY2FsZW5kYXItd2Vla2VuZC1iZzogaW5oZXJpdCAhZGVmYXVsdDtcbi8vLyBUaGUgdGV4dCBjb2xvciBvZiB0aGUgY2FsZW5kYXIgd2Vla2VuZCBjZWxsLlxuLy8vIEBncm91cCBjYWxlbmRhclxuJGtlbmRvLWNhbGVuZGFyLXdlZWtlbmQtdGV4dDogaW5oZXJpdCAhZGVmYXVsdDtcblxuLy8vIFRoZSB0ZXh0IGNvbG9yIG9mIHRoZSBjYWxlbmRhciB0b2RheSBjZWxsLlxuLy8vIEBncm91cCBjYWxlbmRhclxuJGtlbmRvLWNhbGVuZGFyLXRvZGF5LXRleHQ6IGlmKCRrZW5kby1lbmFibGUtY29sb3Itc3lzdGVtLCBrLWNvbG9yKCBhcHAtc3VyZmFjZSApLCAka2VuZG8tY29sb3Itd2hpdGUpICFkZWZhdWx0OyAvLyB1c2UgY29udHJhc3QgZnVuY3Rpb25cbi8vLyBUaGUgYmFja2dyb3VuZCBjb2xvciBvZiB0aGUgY2FsZW5kYXIgdG9kYXkgY2VsbC5cbi8vLyBAZ3JvdXAgY2FsZW5kYXJcbiRrZW5kby1jYWxlbmRhci10b2RheS1iZzogaWYoJGtlbmRvLWVuYWJsZS1jb2xvci1zeXN0ZW0sIGstY29sb3IoIHByaW1hcnkgKSwgay1nZXQtdGhlbWUtY29sb3ItdmFyKCBwcmltYXJ5LTEwMCApKSAhZGVmYXVsdDtcbi8vLyBUaGUgdGV4dCBjb2xvciBvZiB0aGUgY2FsZW5kYXIgdG9kYXkgY2VsbCB3aGVuIGhvdmVyZWQuXG4vLy8gQGdyb3VwIGNhbGVuZGFyXG4ka2VuZG8tY2FsZW5kYXItdG9kYXktaG92ZXItdGV4dDogaWYoJGtlbmRvLWVuYWJsZS1jb2xvci1zeXN0ZW0sIGstY29sb3IoIGFwcC1zdXJmYWNlICksICRrZW5kby1jb2xvci13aGl0ZSkgIWRlZmF1bHQ7ICAvLyB1c2UgY29udHJhc3QgZnVuY3Rpb25cbi8vLyBUaGUgYmFja2dyb3VuZCBjb2xvciBvZiB0aGUgY2FsZW5kYXIgdG9kYXkgY2VsbCB3aGVuIGhvdmVyZWQuXG4vLy8gQGdyb3VwIGNhbGVuZGFyXG4ka2VuZG8tY2FsZW5kYXItdG9kYXktaG92ZXItYmc6IGlmKCRrZW5kby1lbmFibGUtY29sb3Itc3lzdGVtLCBrLWNvbG9yKCBwcmltYXJ5LWhvdmVyICksIGstZ2V0LXRoZW1lLWNvbG9yLXZhciggcHJpbWFyeS0xMjAgKSkgIWRlZmF1bHQ7XG4vLy8gVGhlIGJvcmRlciByYWRpdXMgb2YgdGhlIGNhbGVuZGFyIHRvZGF5IGNlbGwuXG4vLy8gQGdyb3VwIGNhbGVuZGFyXG4ka2VuZG8tY2FsZW5kYXItdG9kYXktYm9yZGVyLXJhZGl1czogOTk5OXB4ICFkZWZhdWx0O1xuXG4vLy8gVGhlIGJhY2tncm91bmQgY29sb3Igb2YgdGhlIGNhbGVuZGFyIHdlZWsgbnVtYmVyIGNlbGwuXG4vLy8gQGdyb3VwIGNhbGVuZGFyXG4ka2VuZG8tY2FsZW5kYXItd2Vlay1udW1iZXItYmc6IGluaGVyaXQgIWRlZmF1bHQ7XG4vLy8gVGhlIHRleHQgY29sb3Igb2YgdGhlIGNhbGVuZGFyIHdlZWsgbnVtYmVyIGNlbGwuXG4vLy8gQGdyb3VwIGNhbGVuZGFyXG4ka2VuZG8tY2FsZW5kYXItd2Vlay1udW1iZXItdGV4dDogdmFyKCAtLWtlbmRvLXN1YnRsZS10ZXh0LCBpbmhlcml0ICkgIWRlZmF1bHQ7XG5cbi8vLyBUaGUgYmFja2dyb3VuZCBjb2xvciBvZiB0aGUgb3RoZXIgbW9udGhzIGNhbGVuZGFyIGNlbGxzLlxuLy8vIEBncm91cCBjYWxlbmRhclxuJGtlbmRvLWNhbGVuZGFyLW90aGVyLW1vbnRoLWJnOiBpbmhlcml0ICFkZWZhdWx0O1xuLy8vIFRoZSB0ZXh0IGNvbG9yIG9mIHRoZSBvdGhlciBtb250aHMgY2FsZW5kYXIgY2VsbHMuXG4vLy8gQGdyb3VwIGNhbGVuZGFyXG4ka2VuZG8tY2FsZW5kYXItb3RoZXItbW9udGgtdGV4dDogdmFyKCAtLWtlbmRvLWRpc2FibGVkLXRleHQsIGluaGVyaXQgKSAhZGVmYXVsdDtcblxuLy8vIFRoZSBiYWNrZ3JvdW5kIGNvbG9yIG9mIHRoZSBjYWxlbmRhciBjZWxscy5cbi8vLyBAZ3JvdXAgY2FsZW5kYXJcbiRrZW5kby1jYWxlbmRhci1jZWxsLWJnOiBpbmhlcml0ICFkZWZhdWx0O1xuLy8vIFRoZSB0ZXh0IGNvbG9yIG9mIHRoZSBjYWxlbmRhciBjZWxscy5cbi8vLyBAZ3JvdXAgY2FsZW5kYXJcbiRrZW5kby1jYWxlbmRhci1jZWxsLXRleHQ6IGluaGVyaXQgIWRlZmF1bHQ7XG5cbi8vLyBUaGUgYmFja2dyb3VuZCBjb2xvciBvZiB0aGUgY2FsZW5kYXIgY2VsbHMgd2hlbiBob3ZlcmVkLlxuLy8vIEBncm91cCBjYWxlbmRhclxuJGtlbmRvLWNhbGVuZGFyLWNlbGwtaG92ZXItYmc6IHZhciggLS1rZW5kby1ob3Zlci1iZywgaW5oZXJpdCApICFkZWZhdWx0O1xuLy8vIFRoZSB0ZXh0IGNvbG9yIG9mIHRoZSBjYWxlbmRhciBjZWxscyB3aGVuIGhvdmVyZWQuXG4vLy8gQGdyb3VwIGNhbGVuZGFyXG4ka2VuZG8tY2FsZW5kYXItY2VsbC1ob3Zlci10ZXh0OiB2YXIoIC0ta2VuZG8taG92ZXItdGV4dCwgaW5oZXJpdCApICFkZWZhdWx0O1xuXG4vLy8gVGhlIGJhY2tncm91bmQgY29sb3Igb2YgdGhlIHNlbGVjdGVkIGNhbGVuZGFyIGNlbGwuXG4vLy8gQGdyb3VwIGNhbGVuZGFyXG4ka2VuZG8tY2FsZW5kYXItY2VsbC1zZWxlY3RlZC1iZzogdmFyKCAtLWtlbmRvLXNlbGVjdGVkLWJnLCBpbmhlcml0ICkgIWRlZmF1bHQ7XG4vLy8gVGhlIHRleHQgY29sb3Igb2YgdGhlIHNlbGVjdGVkIGNhbGVuZGFyIGNlbGwuXG4vLy8gQGdyb3VwIGNhbGVuZGFyXG4ka2VuZG8tY2FsZW5kYXItY2VsbC1zZWxlY3RlZC10ZXh0OiB2YXIoIC0ta2VuZG8tc2VsZWN0ZWQtdGV4dCwgaW5oZXJpdCApICFkZWZhdWx0O1xuLy8vIFRoZSBib3JkZXIgY29sb3Igb2YgdGhlIHNlbGVjdGVkIGNhbGVuZGFyIGNlbGwuXG4vLy8gQGdyb3VwIGNhbGVuZGFyXG4ka2VuZG8tY2FsZW5kYXItY2VsbC1zZWxlY3RlZC1ib3JkZXI6IHZhciggLS1rZW5kby1zZWxlY3RlZC1ib3JkZXIsIGluaGVyaXQgKSAhZGVmYXVsdDtcbi8vLyBUaGUgc2hhZG93IG9mIHRoZSBzZWxlY3RlZCBjYWxlbmRhciBjZWxsLlxuLy8vIEBncm91cCBjYWxlbmRhclxuJGtlbmRvLWNhbGVuZGFyLWNlbGwtc2VsZWN0ZWQtc2hhZG93OiBpbnNldCAwIDAgMCAxcHggJGtlbmRvLWNhbGVuZGFyLWNlbGwtc2VsZWN0ZWQtYm9yZGVyICFkZWZhdWx0O1xuXG4vLy8gVGhlIGJhY2tncm91bmQgY29sb3Igb2YgdGhlIHNlbGVjdGVkIGNhbGVuZGFyIGNlbGwgd2hlbiBob3ZlcmVkLlxuLy8vIEBncm91cCBjYWxlbmRhclxuJGtlbmRvLWNhbGVuZGFyLWNlbGwtc2VsZWN0ZWQtaG92ZXItYmc6IHZhciggLS1rZW5kby1zZWxlY3RlZC1ob3Zlci1iZywgaW5oZXJpdCApICFkZWZhdWx0O1xuLy8vIFRoZSB0ZXh0IGNvbG9yIG9mIHRoZSBzZWxlY3RlZCBjYWxlbmRhciBjZWxsIHdoZW4gaG92ZXJlZC5cbi8vLyBAZ3JvdXAgY2FsZW5kYXJcbiRrZW5kby1jYWxlbmRhci1jZWxsLXNlbGVjdGVkLWhvdmVyLXRleHQ6IHZhciggLS1rZW5kby1zZWxlY3RlZC1ob3Zlci10ZXh0LCBpbmhlcml0ICkgIWRlZmF1bHQ7XG5cbi8vLyBUaGUgc2hhZG93IG9mIHRoZSBzZWxlY3RlZCBjYWxlbmRhciBjZWxsIHdoZW4gZm9jdXNlZC5cbi8vLyBAZ3JvdXAgY2FsZW5kYXJcbiRrZW5kby1jYWxlbmRhci1jZWxsLWZvY3VzLXNoYWRvdzogaW5zZXQgMCAwIDAgMXB4IGlmKCRrZW5kby1lbmFibGUtY29sb3Itc3lzdGVtLCBrLWNvbG9yKCBiYXNlLWVtcGhhc2lzICksIGstZ2V0LXRoZW1lLWNvbG9yLXZhciggbmV1dHJhbC0xMzApKSAhZGVmYXVsdDtcbi8vLyBUaGUgc2hhZG93IG9mIHRoZSBzZWxlY3RlZCBjYWxlbmRhciBjZWxsIHdoZW4gc2VsZWN0ZWQgYW5kIGZvY3VzZWQuXG4vLy8gQGdyb3VwIGNhbGVuZGFyXG4ka2VuZG8tY2FsZW5kYXItY2VsbC1zZWxlY3RlZC1mb2N1cy1zaGFkb3c6ICRrZW5kby1jYWxlbmRhci1jZWxsLWZvY3VzLXNoYWRvdyAhZGVmYXVsdDtcblxuXG4vLyBDYWxlbmRhciBuYXZpZ2F0aW9uXG5cbi8vLyBUaGUgd2lkdGggb2YgdGhlIG5hdmlnYXRpb24gaW4gdGhlIGluZmluaXRlIENhbGVuZGFyLlxuLy8vIEBncm91cCBjYWxlbmRhclxuJGtlbmRvLWNhbGVuZGFyLW5hdmlnYXRpb24td2lkdGg6IDVlbSAhZGVmYXVsdDtcbi8vLyBUaGUgaGVpZ2h0IG9mIHRoZSBuYXZpZ2F0aW9uIGl0ZW1zIGluIHRoZSBpbmZpbml0ZSBDYWxlbmRhci5cbi8vLyBAZ3JvdXAgY2FsZW5kYXJcbiRrZW5kby1jYWxlbmRhci1uYXZpZ2F0aW9uLWl0ZW0taGVpZ2h0OiAyZW0gIWRlZmF1bHQ7XG5cbi8vLyBUaGUgYmFja2dyb3VuZCBjb2xvciBvZiB0aGUgbmF2aWdhdGlvbiBpbiB0aGUgaW5maW5pdGUgQ2FsZW5kYXIuXG4vLy8gQGdyb3VwIGNhbGVuZGFyXG4ka2VuZG8tY2FsZW5kYXItbmF2aWdhdGlvbi1iZzogaWYoJGtlbmRvLWVuYWJsZS1jb2xvci1zeXN0ZW0sIGstY29sb3IoIHN1cmZhY2UgKSwgay1nZXQtdGhlbWUtY29sb3ItdmFyKCBuZXV0cmFsLTEwICkpICFkZWZhdWx0O1xuLy8vIFRoZSB0ZXh0IGNvbG9yIG9mIHRoZSBuYXZpZ2F0aW9uIGluIHRoZSBpbmZpbml0ZSBDYWxlbmRhci5cbi8vLyBAZ3JvdXAgY2FsZW5kYXJcbiRrZW5kby1jYWxlbmRhci1uYXZpZ2F0aW9uLXRleHQ6ICRrZW5kby1jYWxlbmRhci1oZWFkZXItdGV4dCAhZGVmYXVsdDtcbi8vLyBUaGUgYm9yZGVyIGNvbG9yIG9mIHRoZSBuYXZpZ2F0aW9uIGluIHRoZSBpbmZpbml0ZSBDYWxlbmRhci5cbi8vLyBAZ3JvdXAgY2FsZW5kYXJcbiRrZW5kby1jYWxlbmRhci1uYXZpZ2F0aW9uLWJvcmRlcjogJGtlbmRvLWNhbGVuZGFyLWhlYWRlci1ib3JkZXIgIWRlZmF1bHQ7XG5cbi8vLyBUaGUgdGV4dCBjb2xvciBvZiB0aGUgaG92ZXJlZCBpdGVtcyBpbiB0aGUgY2FsZW5kYXIgbmF2aWdhdGlvbi5cbi8vLyBAZ3JvdXAgY2FsZW5kYXJcbiRrZW5kby1jYWxlbmRhci1uYXZpZ2F0aW9uLWhvdmVyLXRleHQ6ICRrZW5kby1saW5rLWhvdmVyLXRleHQgIWRlZmF1bHQ7XG5cblxuLy8gSW5maW5pdGUgY2FsZW5kYXJcbi8vLyBUaGUgYmFja2dyb3VuZCBjb2xvciBvZiB0aGUgbmF2aWdhdGlvbiBpbiB0aGUgaW5maW5pdGUgQ2FsZW5kYXIuXG4vLy8gQGdyb3VwIGNhbGVuZGFyXG5cbiRrZW5kby1pbmZpbml0ZS1jYWxlbmRhci1oZWFkZXItcGFkZGluZy14OiBrLXNwYWNpbmcoMykgIWRlZmF1bHQ7XG4vLy8gVGhlIGJhY2tncm91bmQgY29sb3Igb2YgdGhlIG5hdmlnYXRpb24gaW4gdGhlIGluZmluaXRlIENhbGVuZGFyLlxuLy8vIEBncm91cCBjYWxlbmRhclxuJGtlbmRvLWluZmluaXRlLWNhbGVuZGFyLWhlYWRlci1wYWRkaW5nLXk6IGstc3BhY2luZygzKSBrLXNwYWNpbmcoMSkgIWRlZmF1bHQ7XG5cbi8vLyBUaGUgaG9yaXpvbnRhbCBwYWRkaW5nIG9mIHRoZSBpbmZpbml0ZSBDYWxlbmRhci5cbi8vLyBAZ3JvdXAgY2FsZW5kYXJcbiRrZW5kby1pbmZpbml0ZS1jYWxlbmRhci12aWV3LXBhZGRpbmcteDogay1zcGFjaW5nKDMpICFkZWZhdWx0O1xuLy8vIFRoZSB2ZXJ0aWNhbCBwYWRkaW5nIG9mIHRoZSBpbmZpbml0ZSBDYWxlbmRhci5cbi8vLyBAZ3JvdXAgY2FsZW5kYXJcbiRrZW5kby1pbmZpbml0ZS1jYWxlbmRhci12aWV3LXBhZGRpbmcteTogay1zcGFjaW5nKDApICFkZWZhdWx0O1xuXG4vLy8gVGhlIGhlaWdodCBvZiB0aGUgaW5maW5pdGUgQ2FsZW5kYXIgdmlldy5cbi8vLyBAZ3JvdXAgY2FsZW5kYXJcbiRrZW5kby1pbmZpbml0ZS1jYWxlbmRhci12aWV3LWhlaWdodDogKCAka2VuZG8tY2FsZW5kYXItY2VsbC1zaXplICogOSApICFkZWZhdWx0O1xuXG5cbi8vIFJhbmdlIGNhbGVuZGFyXG4vLy8gVGhlIGJhY2tncm91bmQgY29sb3Igb2YgdGhlIHJhbmdlIHNlbGVjdGlvbiBpbiB0aGUgQ2FsZW5kYXIuXG4vLy8gQGdyb3VwIGNhbGVuZGFyXG4ka2VuZG8tY2FsZW5kYXItcmFuZ2UtYmc6IGlmKCRrZW5kby1lbmFibGUtY29sb3Itc3lzdGVtLCBrLWNvbG9yKCBiYXNlLWFjdGl2ZSApLCBrLWdldC10aGVtZS1jb2xvci12YXIoIG5ldXRyYWwtMzAgKSkgIWRlZmF1bHQ7XG4vLy8gVGhlIHRleHQgY29sb3Igb2YgdGhlIHJhbmdlIHNlbGVjdGlvbiBpbiB0aGUgQ2FsZW5kYXIuXG4vLy8gQGdyb3VwIGNhbGVuZGFyXG4ka2VuZG8tY2FsZW5kYXItcmFuZ2UtdGV4dDogaW5oZXJpdCAhZGVmYXVsdDtcbi8vLyBUaGUgYm9yZGVyIGNvbG9yIG9mIHRoZSByYW5nZSBzZWxlY3Rpb24gaW4gdGhlIENhbGVuZGFyLlxuLy8vIEBncm91cCBjYWxlbmRhclxuJGtlbmRvLWNhbGVuZGFyLXJhbmdlLWJvcmRlcjogaWYoJGtlbmRvLWVuYWJsZS1jb2xvci1zeXN0ZW0sIGstY29sb3IoIGJhc2UtZW1waGFzaXMgKSwgay1nZXQtdGhlbWUtY29sb3ItdmFyKCBuZXV0cmFsLTEzMCApKSAhZGVmYXVsdDtcbi8vLyBUaGUgc2hhZG93IG9mIHRoZSBob3ZlcmVkIHN0YXJ0IHJhbmdlIHNlbGVjdGlvbiBpbiB0aGUgQ2FsZW5kYXIuXG4vLy8gQGdyb3VwIGNhbGVuZGFyXG4ka2VuZG8tY2FsZW5kYXItc3RhcnQtcmFuZ2UtaG92ZXItc2hhZG93OiBpbnNldCAxcHggLTFweCAwIDAgaWYoJGtlbmRvLWVuYWJsZS1jb2xvci1zeXN0ZW0sIGstY29sb3IoIGJhc2UtZW1waGFzaXMgKSwgay1nZXQtdGhlbWUtY29sb3ItdmFyKCBuZXV0cmFsLTEzMCApKSwgaW5zZXQgMCAxcHggMCAwIGlmKCRrZW5kby1lbmFibGUtY29sb3Itc3lzdGVtLCBrLWNvbG9yKCBiYXNlLWVtcGhhc2lzICksIGstZ2V0LXRoZW1lLWNvbG9yLXZhciggbmV1dHJhbC0xMzAgKSkgIWRlZmF1bHQ7XG4vLy8gVGhlIHNoYWRvdyBvZiB0aGUgaG92ZXJlZCBtaWQgcmFuZ2Ugc2VsZWN0aW9uIGluIHRoZSBDYWxlbmRhci5cbi8vLyBAZ3JvdXAgY2FsZW5kYXJcbiRrZW5kby1jYWxlbmRhci1taWQtcmFuZ2UtaG92ZXItc2hhZG93OiBpbnNldCAwIC0xcHggMCAwIGlmKCRrZW5kby1lbmFibGUtY29sb3Itc3lzdGVtLCBrLWNvbG9yKCBiYXNlLWVtcGhhc2lzICksIGstZ2V0LXRoZW1lLWNvbG9yLXZhciggbmV1dHJhbC0xMzAgKSksIGluc2V0IDAgMXB4IDAgMCBpZigka2VuZG8tZW5hYmxlLWNvbG9yLXN5c3RlbSwgay1jb2xvciggYmFzZS1lbXBoYXNpcyApLCBrLWdldC10aGVtZS1jb2xvci12YXIoIG5ldXRyYWwtMTMwICkpICFkZWZhdWx0O1xuLy8vIFRoZSBzaGFkb3cgb2YgdGhlIGhvdmVyZWQgZW5kIHJhbmdlIHNlbGVjdGlvbiBpbiB0aGUgQ2FsZW5kYXIuXG4vLy8gQGdyb3VwIGNhbGVuZGFyXG4ka2VuZG8tY2FsZW5kYXItZW5kLXJhbmdlLWhvdmVyLXNoYWRvdzogaW5zZXQgLTFweCAtMXB4IDAgMCBpZigka2VuZG8tZW5hYmxlLWNvbG9yLXN5c3RlbSwgay1jb2xvciggYmFzZS1lbXBoYXNpcyApLCBrLWdldC10aGVtZS1jb2xvci12YXIoIG5ldXRyYWwtMTMwICkpLCBpbnNldCAwIDFweCAwIDAgaWYoJGtlbmRvLWVuYWJsZS1jb2xvci1zeXN0ZW0sIGstY29sb3IoIGJhc2UtZW1waGFzaXMgKSwgay1nZXQtdGhlbWUtY29sb3ItdmFyKCBuZXV0cmFsLTEzMCApKSAhZGVmYXVsdDtcbi8vLyBUaGUgc2hhZG93IG9mIHRoZSBob3ZlcmVkIHN0YXJ0LWVuZCByYW5nZSBzZWxlY3Rpb24gaW4gdGhlIENhbGVuZGFyLlxuLy8vIEBncm91cCBjYWxlbmRhclxuJGtlbmRvLWNhbGVuZGFyLXN0YXJ0LWVuZC1yYW5nZS1ob3Zlci1zaGFkb3c6IGluc2V0IDFweCAtMXB4IDAgMCBpZigka2VuZG8tZW5hYmxlLWNvbG9yLXN5c3RlbSwgay1jb2xvciggYmFzZS1lbXBoYXNpcyApLCBrLWdldC10aGVtZS1jb2xvci12YXIoIG5ldXRyYWwtMTMwICkpLCBpbnNldCAtMXB4IDFweCAwIDAgaWYoJGtlbmRvLWVuYWJsZS1jb2xvci1zeXN0ZW0sIGstY29sb3IoIGJhc2UtZW1waGFzaXMgKSwgay1nZXQtdGhlbWUtY29sb3ItdmFyKCBuZXV0cmFsLTEzMCApKSAhZGVmYXVsdDtcblxuXG4vLyBDYWxlbmRhciBzaXplc1xuXG4vLy8gVGhlIGZvbnQgc2l6ZSBvZiB0aGUgc21hbGwgQ2FsZW5kYXIuXG4vLy8gQGdyb3VwIGNhbGVuZGFyXG4ka2VuZG8tY2FsZW5kYXItc20tZm9udC1zaXplOiB2YXIoIC0ta2VuZG8tZm9udC1zaXplLXNtLCBpbmhlcml0ICkgIWRlZmF1bHQ7XG4vLy8gVGhlIGxpbmUgaGVpZ2h0IG9mIHRoZSBzbWFsbCBDYWxlbmRhci5cbi8vLyBAZ3JvdXAgY2FsZW5kYXJcbiRrZW5kby1jYWxlbmRhci1zbS1saW5lLWhlaWdodDogdmFyKCAtLWtlbmRvLWxpbmUtaGVpZ2h0LXNtLCBub3JtYWwgKSAhZGVmYXVsdDtcbi8vLyBUaGUgc2l6ZSBvZiB0aGUgY2VsbHMgaW4gdGhlIHNtYWxsIENhbGVuZGFyLlxuLy8vIEBncm91cCBjYWxlbmRhclxuJGtlbmRvLWNhbGVuZGFyLXNtLWNlbGwtc2l6ZTogMjRweCAhZGVmYXVsdDtcbi8vLyBUaGUgaG9yaXpvbnRhbCBwYWRkaW5nIG9mIHRoZSBjZWxscyBpbiB0aGUgc21hbGwgQ2FsZW5kYXIuXG4vLy8gQGdyb3VwIGNhbGVuZGFyXG4ka2VuZG8tY2FsZW5kYXItc20tY2VsbC1wYWRkaW5nLXg6IGstc3BhY2luZygwLjUpICFkZWZhdWx0O1xuLy8vIFRoZSB2ZXJ0aWNhbCBwYWRkaW5nIG9mIHRoZSBjZWxscyBpbiB0aGUgc21hbGwgQ2FsZW5kYXIuXG4vLy8gQGdyb3VwIGNhbGVuZGFyXG4ka2VuZG8tY2FsZW5kYXItc20tY2VsbC1wYWRkaW5nLXk6IGstc3BhY2luZygwLjUpICFkZWZhdWx0O1xuLy8vIFRoZSBmb250IHNpemUgb2YgdGhlIGNlbGxzIGluIHRoZSBzbWFsbCBDYWxlbmRhci5cbi8vLyBAZ3JvdXAgY2FsZW5kYXJcbiRrZW5kby1jYWxlbmRhci1zbS1jZWxsLWZvbnQtc2l6ZTogdmFyKCAtLWtlbmRvLWZvbnQtc2l6ZS1zbSwgaW5oZXJpdCApICFkZWZhdWx0O1xuXG4vLy8gVGhlIGZvbnQgc2l6ZSBvZiB0aGUgbWVkaXVtIENhbGVuZGFyLlxuLy8vIEBncm91cCBjYWxlbmRhclxuJGtlbmRvLWNhbGVuZGFyLW1kLWZvbnQtc2l6ZTogdmFyKCAtLWtlbmRvLWZvbnQtc2l6ZSwgaW5oZXJpdCApICFkZWZhdWx0O1xuLy8vIFRoZSBsaW5lIGhlaWdodCBvZiB0aGUgbWVkaXVtIENhbGVuZGFyLlxuLy8vIEBncm91cCBjYWxlbmRhclxuJGtlbmRvLWNhbGVuZGFyLW1kLWxpbmUtaGVpZ2h0OiB2YXIoIC0ta2VuZG8tbGluZS1oZWlnaHQsIG5vcm1hbCApICFkZWZhdWx0O1xuLy8vIFRoZSBzaXplIG9mIHRoZSBjZWxscyBpbiB0aGUgbWVkaXVtIENhbGVuZGFyLlxuLy8vIEBncm91cCBjYWxlbmRhclxuJGtlbmRvLWNhbGVuZGFyLW1kLWNlbGwtc2l6ZTogMjhweCAhZGVmYXVsdDtcbi8vLyBUaGUgaG9yaXpvbnRhbCBwYWRkaW5nIG9mIHRoZSBjZWxscyBpbiB0aGUgbWVkaXVtIENhbGVuZGFyLlxuLy8vIEBncm91cCBjYWxlbmRhclxuJGtlbmRvLWNhbGVuZGFyLW1kLWNlbGwtcGFkZGluZy14OiBrLXNwYWNpbmcoMSkgIWRlZmF1bHQ7XG4vLy8gVGhlIHZlcnRpY2FsIHBhZGRpbmcgb2YgdGhlIGNlbGxzIGluIHRoZSBtZWRpdW0gQ2FsZW5kYXIuXG4vLy8gQGdyb3VwIGNhbGVuZGFyXG4ka2VuZG8tY2FsZW5kYXItbWQtY2VsbC1wYWRkaW5nLXk6IGstc3BhY2luZygxKSAhZGVmYXVsdDtcbi8vLyBUaGUgZm9udCBzaXplIG9mIHRoZSBjZWxscyBpbiB0aGUgbWVkaXVtIENhbGVuZGFyLlxuLy8vIEBncm91cCBjYWxlbmRhclxuJGtlbmRvLWNhbGVuZGFyLW1kLWNlbGwtZm9udC1zaXplOiB2YXIoIC0ta2VuZG8tZm9udC1zaXplLXNtLCBpbmhlcml0ICkgIWRlZmF1bHQ7XG5cbi8vLyBUaGUgZm9udCBzaXplIG9mIHRoZSBsYXJnZSBDYWxlbmRhci5cbi8vLyBAZ3JvdXAgY2FsZW5kYXJcbiRrZW5kby1jYWxlbmRhci1sZy1mb250LXNpemU6IHZhciggLS1rZW5kby1mb250LXNpemUsIGluaGVyaXQgKSAhZGVmYXVsdDtcbi8vLyBUaGUgbGluZSBoZWlnaHQgb2YgdGhlIGxhcmdlIENhbGVuZGFyLlxuLy8vIEBncm91cCBjYWxlbmRhclxuJGtlbmRvLWNhbGVuZGFyLWxnLWxpbmUtaGVpZ2h0OiB2YXIoIC0ta2VuZG8tbGluZS1oZWlnaHQsIG5vcm1hbCApICFkZWZhdWx0O1xuLy8vIFRoZSBzaXplIG9mIHRoZSBjZWxscyBpbiB0aGUgbGFyZ2UgQ2FsZW5kYXIuXG4vLy8gQGdyb3VwIGNhbGVuZGFyXG4ka2VuZG8tY2FsZW5kYXItbGctY2VsbC1zaXplOiAzMnB4ICFkZWZhdWx0O1xuLy8vIFRoZSBob3Jpem9udGFsIHBhZGRpbmcgb2YgdGhlIGNlbGxzIGluIHRoZSBsYXJnZSBDYWxlbmRhci5cbi8vLyBAZ3JvdXAgY2FsZW5kYXJcbiRrZW5kby1jYWxlbmRhci1sZy1jZWxsLXBhZGRpbmcteDogay1zcGFjaW5nKDEpICFkZWZhdWx0O1xuLy8vIFRoZSB2ZXJ0aWNhbCBwYWRkaW5nIG9mIHRoZSBjZWxscyBpbiB0aGUgbGFyZ2UgQ2FsZW5kYXIuXG4vLy8gQGdyb3VwIGNhbGVuZGFyXG4ka2VuZG8tY2FsZW5kYXItbGctY2VsbC1wYWRkaW5nLXk6IGstc3BhY2luZygxKSAhZGVmYXVsdDtcbi8vLyBUaGUgZm9udCBzaXplIG9mIHRoZSBjZWxscyBpbiB0aGUgbGFyZ2UgQ2FsZW5kYXIuXG4vLy8gQGdyb3VwIGNhbGVuZGFyXG4ka2VuZG8tY2FsZW5kYXItbGctY2VsbC1mb250LXNpemU6IHZhciggLS1rZW5kby1mb250LXNpemUsIGluaGVyaXQgKSAhZGVmYXVsdDtcblxuLy8vIFRoZSBzaXplcyBNYXAgb2YgdGhlIENhbGVuZGFyLlxuLy8vIEBncm91cCBjYWxlbmRhclxuJGtlbmRvLWNhbGVuZGFyLXNpemVzOiAoXG4gICAgc206IChcbiAgICAgICAgZm9udC1zaXplOiAka2VuZG8tY2FsZW5kYXItc20tZm9udC1zaXplLFxuICAgICAgICBsaW5lLWhlaWdodDogJGtlbmRvLWNhbGVuZGFyLXNtLWxpbmUtaGVpZ2h0LFxuICAgICAgICBjZWxsLXNpemU6ICRrZW5kby1jYWxlbmRhci1zbS1jZWxsLXNpemUsXG4gICAgICAgIGNlbGwtcGFkZGluZy14OiAka2VuZG8tY2FsZW5kYXItc20tY2VsbC1wYWRkaW5nLXksXG4gICAgICAgIGNlbGwtcGFkZGluZy15OiAka2VuZG8tY2FsZW5kYXItc20tY2VsbC1wYWRkaW5nLXgsXG4gICAgICAgIGNlbGwtZm9udC1zaXplOiAka2VuZG8tY2FsZW5kYXItc20tY2VsbC1mb250LXNpemVcbiAgICApLFxuICAgIG1kOiAoXG4gICAgICAgIGZvbnQtc2l6ZTogJGtlbmRvLWNhbGVuZGFyLW1kLWZvbnQtc2l6ZSxcbiAgICAgICAgbGluZS1oZWlnaHQ6ICRrZW5kby1jYWxlbmRhci1tZC1saW5lLWhlaWdodCxcbiAgICAgICAgY2VsbC1zaXplOiAka2VuZG8tY2FsZW5kYXItbWQtY2VsbC1zaXplLFxuICAgICAgICBjZWxsLXBhZGRpbmcteDogJGtlbmRvLWNhbGVuZGFyLW1kLWNlbGwtcGFkZGluZy15LFxuICAgICAgICBjZWxsLXBhZGRpbmcteTogJGtlbmRvLWNhbGVuZGFyLW1kLWNlbGwtcGFkZGluZy14LFxuICAgICAgICBjZWxsLWZvbnQtc2l6ZTogJGtlbmRvLWNhbGVuZGFyLW1kLWNlbGwtZm9udC1zaXplXG4gICAgKSxcbiAgICBsZzogKFxuICAgICAgICBmb250LXNpemU6ICRrZW5kby1jYWxlbmRhci1sZy1mb250LXNpemUsXG4gICAgICAgIGxpbmUtaGVpZ2h0OiAka2VuZG8tY2FsZW5kYXItbGctbGluZS1oZWlnaHQsXG4gICAgICAgIGNlbGwtc2l6ZTogJGtlbmRvLWNhbGVuZGFyLWxnLWNlbGwtc2l6ZSxcbiAgICAgICAgY2VsbC1wYWRkaW5nLXg6ICRrZW5kby1jYWxlbmRhci1sZy1jZWxsLXBhZGRpbmcteSxcbiAgICAgICAgY2VsbC1wYWRkaW5nLXk6ICRrZW5kby1jYWxlbmRhci1sZy1jZWxsLXBhZGRpbmcteCxcbiAgICAgICAgY2VsbC1mb250LXNpemU6ICRrZW5kby1jYWxlbmRhci1sZy1jZWxsLWZvbnQtc2l6ZVxuICAgIClcbikgIWRlZmF1bHQ7XG4iLCIka2VuZG8tc2Nyb2xsYmFyLXdpZHRoOiAxN3B4ICFkZWZhdWx0O1xuXG5AbWl4aW4gaGlkZS1zY3JvbGxiYXIoICRkaXI6IFwicmlnaHRcIiwgJG1heC1zY3JvbGxiYXI6IDEwMHB4KSB7XG4gICAgLy8gYW55dGhpbmcgbGFyZ2VyIHRoYW4gdGhlIHNjcm9sbGJhciB3aWR0aCB3aWxsIGRvXG4gICAgJHNjcm9sbGJhci1zaXplOiB2YXIoIC0ta2VuZG8tc2Nyb2xsYmFyLXdpZHRoLCAjeyRrZW5kby1zY3JvbGxiYXItd2lkdGh9ICk7XG4gICAgJG1hcmdpbjogY2FsYyggLSN7JG1heC1zY3JvbGxiYXJ9IC0gI3skc2Nyb2xsYmFyLXNpemV9ICk7XG5cbiAgICBwYWRkaW5nLXJpZ2h0OiAkbWF4LXNjcm9sbGJhcjtcbiAgICBwYWRkaW5nLWxlZnQ6ICRtYXgtc2Nyb2xsYmFyO1xuXG4gICAgQGlmICggJGRpciA9PSBcInJpZ2h0XCIgKSB7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiAtJG1heC1zY3JvbGxiYXI7XG4gICAgICAgIG1hcmdpbi1yaWdodDogJG1hcmdpbjtcbiAgICB9IEBlbHNlIHtcbiAgICAgICAgbWFyZ2luLWxlZnQ6ICRtYXJnaW47XG4gICAgICAgIG1hcmdpbi1yaWdodDogLSRtYXgtc2Nyb2xsYmFyO1xuICAgIH1cbn1cblxuQG1peGluIGhpZGUtc2Nyb2xsYmFyLWRpci1hZ25vc3RpYygkbWF4LXNjcm9sbGJhcjogMTAwcHgpIHtcbiAgICAvLyBhbnl0aGluZyBsYXJnZXIgdGhhbiB0aGUgc2Nyb2xsYmFyIHdpZHRoIHdpbGwgZG9cbiAgICAkc2Nyb2xsYmFyLXNpemU6IHZhciggLS1rZW5kby1zY3JvbGxiYXItd2lkdGgsICN7JGtlbmRvLXNjcm9sbGJhci13aWR0aH0gKTtcbiAgICAkbWFyZ2luOiBjYWxjKCAtI3skbWF4LXNjcm9sbGJhcn0gLSAjeyRzY3JvbGxiYXItc2l6ZX0gKTtcblxuICAgIHBhZGRpbmctaW5saW5lLWVuZDogJG1heC1zY3JvbGxiYXI7XG4gICAgcGFkZGluZy1pbmxpbmUtc3RhcnQ6ICRtYXgtc2Nyb2xsYmFyO1xuXG4gICAgbWFyZ2luLWlubGluZS1zdGFydDogLSRtYXgtc2Nyb2xsYmFyO1xuICAgIG1hcmdpbi1pbmxpbmUtZW5kOiAkbWFyZ2luO1xufVxuIiwiQHVzZSBcIi4uL2NvcmUvX2luZGV4LnNjc3NcIiBhcyAqO1xuQHVzZSBcIi4vX3ZhcmlhYmxlcy5zY3NzXCIgYXMgKjtcblxuQG1peGluIGtlbmRvLWNhbGVuZGFyLS10aGVtZSgpIHtcbiAgICAuay1jYWxlbmRhciB7XG4gICAgICAgIEBpbmNsdWRlIGZpbGwoXG4gICAgICAgICAgICB2YXIoIC0ta2VuZG8tY2FsZW5kYXItdGV4dCwgI3ska2VuZG8tY2FsZW5kYXItdGV4dH0pLFxuICAgICAgICAgICAgdmFyKCAtLWtlbmRvLWNhbGVuZGFyLWJnLCAjeyRrZW5kby1jYWxlbmRhci1iZ30pLFxuICAgICAgICAgICAgdmFyKCAtLWtlbmRvLWNhbGVuZGFyLWJvcmRlciwgI3ska2VuZG8tY2FsZW5kYXItYm9yZGVyfSksXG4gICAgICAgICk7XG5cbiAgICAgICAgLy8gSGVhZGVyIC8gZm9vdGVyXG4gICAgICAgIC5rLWhlYWRlciB7XG4gICAgICAgICAgICBAaW5jbHVkZSBmaWxsKFxuICAgICAgICAgICAgICAgIHZhciggLS1rZW5kby1jYWxlbmRhci1oZWFkZXItdGV4dCwgI3ska2VuZG8tY2FsZW5kYXItaGVhZGVyLXRleHR9KSxcbiAgICAgICAgICAgICAgICB2YXIoIC0ta2VuZG8tY2FsZW5kYXItaGVhZGVyLWJnLCAjeyRrZW5kby1jYWxlbmRhci1oZWFkZXItYmd9KSxcbiAgICAgICAgICAgICAgICBpbmhlcml0LFxuICAgICAgICAgICAgKTtcbiAgICAgICAgfVxuXG5cbiAgICAgICAgLy8gSGVhZGVyIGNlbGxzXG4gICAgICAgIC5rLWNhbGVuZGFyLXRoIHtcbiAgICAgICAgICAgIGNvbG9yOiB2YXIoIC0ta2VuZG8tY2FsZW5kYXItaGVhZGVyLWNlbGwtdGV4dCwgI3ska2VuZG8tY2FsZW5kYXItaGVhZGVyLWNlbGwtdGV4dH0pO1xuICAgICAgICB9XG5cbiAgICAgICAgLmstY2FsZW5kYXItY2FwdGlvbixcbiAgICAgICAgLmstbWV0YS1oZWFkZXIsXG4gICAgICAgIC5rLW1vbnRoLWhlYWRlciB7XG4gICAgICAgICAgICBjb2xvcjogdmFyKCAtLWtlbmRvLWNhbGVuZGFyLWNhcHRpb24tY29sb3IsICN7JGtlbmRvLWNhbGVuZGFyLWNhcHRpb24tY29sb3J9KTtcbiAgICAgICAgfVxuXG5cbiAgICAgICAgLmstY2FsZW5kYXItdGQge1xuICAgICAgICAgICAgLS1JTlRFUk5BTC0ta2VuZG8tY2FsZW5kYXItY2VsbC10ZXh0OiB2YXIoIC0ta2VuZG8tY2FsZW5kYXItY2VsbC10ZXh0ICk7XG4gICAgICAgICAgICAtLUlOVEVSTkFMLS1rZW5kby1jYWxlbmRhci1jZWxsLWJnOiB2YXIoIC0ta2VuZG8tY2FsZW5kYXItY2VsbC1iZyApO1xuXG4gICAgICAgICAgICBAaW5jbHVkZSBmaWxsKFxuICAgICAgICAgICAgICAgIHZhciggLS1JTlRFUk5BTC0ta2VuZG8tY2FsZW5kYXItY2VsbC10ZXh0LCBpbmhlcml0ICksXG4gICAgICAgICAgICAgICAgdmFyKCAtLUlOVEVSTkFMLS1rZW5kby1jYWxlbmRhci1jZWxsLWJnLCBpbmhlcml0IClcbiAgICAgICAgICAgICk7XG5cbiAgICAgICAgICAgIC5rLWxpbmsge1xuICAgICAgICAgICAgICAgIC0tSU5URVJOQUwtLWtlbmRvLWNhbGVuZGFyLWNlbGwtbGluay10ZXh0OiB2YXIoIC0ta2VuZG8tY2FsZW5kYXItY2VsbC1saW5rLXRleHQgKTtcbiAgICAgICAgICAgICAgICAtLUlOVEVSTkFMLS1rZW5kby1jYWxlbmRhci1jZWxsLWxpbmstYmc6IHZhciggLS1rZW5kby1jYWxlbmRhci1jZWxsLWxpbmstYmcgKTtcbiAgICAgICAgICAgICAgICAtLUlOVEVSTkFMLS1rZW5kby1jYWxlbmRhci1jZWxsLWxpbmstc2hhZG93OiB2YXIoIC0ta2VuZG8tY2FsZW5kYXItY2VsbC1saW5rLXNoYWRvdyApO1xuXG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgZmlsbChcbiAgICAgICAgICAgICAgICAgICAgdmFyKCAtLUlOVEVSTkFMLS1rZW5kby1jYWxlbmRhci1jZWxsLWxpbmstdGV4dCwgaW5oZXJpdCApLFxuICAgICAgICAgICAgICAgICAgICB2YXIoIC0tSU5URVJOQUwtLWtlbmRvLWNhbGVuZGFyLWNlbGwtbGluay1iZywgaW5oZXJpdCApXG4gICAgICAgICAgICAgICAgKTtcblxuICAgICAgICAgICAgICAgIGJveC1zaGFkb3c6IHZhciggLS1JTlRFUk5BTC0ta2VuZG8tY2FsZW5kYXItY2VsbC1saW5rLXNoYWRvdywgbm9uZSApO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAmOmhvdmVyIC5rLWxpbmssXG4gICAgICAgICAgICAmLmstaG92ZXIgLmstbGluayB7XG4gICAgICAgICAgICAgICAgLS1JTlRFUk5BTC0ta2VuZG8tY2FsZW5kYXItY2VsbC1saW5rLXRleHQ6IHZhciggLS1rZW5kby1jYWxlbmRhci1jZWxsLWhvdmVyLXRleHQsICN7JGtlbmRvLWNhbGVuZGFyLWNlbGwtaG92ZXItdGV4dH0gKTtcbiAgICAgICAgICAgICAgICAtLUlOVEVSTkFMLS1rZW5kby1jYWxlbmRhci1jZWxsLWxpbmstYmc6IHZhciggLS1rZW5kby1jYWxlbmRhci1jZWxsLWhvdmVyLWJnLCAjeyRrZW5kby1jYWxlbmRhci1jZWxsLWhvdmVyLWJnfSApO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAmOmZvY3VzIC5rLWxpbmssXG4gICAgICAgICAgICAmLmstZm9jdXMgLmstbGluayB7XG4gICAgICAgICAgICAgICAgLS1JTlRFUk5BTC0ta2VuZG8tY2FsZW5kYXItY2VsbC1saW5rLXNoYWRvdzogdmFyKCAtLWtlbmRvLWNhbGVuZGFyLWNlbGwtZm9jdXMtc2hhZG93LCAjeyRrZW5kby1jYWxlbmRhci1jZWxsLWZvY3VzLXNoYWRvd30gKTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgJi5rLXNlbGVjdGVkIC5rLWxpbmt7XG4gICAgICAgICAgICAgICAgLS1JTlRFUk5BTC0ta2VuZG8tY2FsZW5kYXItY2VsbC1saW5rLXRleHQ6IHZhciggLS1rZW5kby1jYWxlbmRhci1jZWxsLXNlbGVjdGVkLXRleHQsICN7JGtlbmRvLWNhbGVuZGFyLWNlbGwtc2VsZWN0ZWQtdGV4dH0gKTtcbiAgICAgICAgICAgICAgICAtLUlOVEVSTkFMLS1rZW5kby1jYWxlbmRhci1jZWxsLWxpbmstYmc6IHZhciggLS1rZW5kby1jYWxlbmRhci1jZWxsLXNlbGVjdGVkLWJnLCAjeyRrZW5kby1jYWxlbmRhci1jZWxsLXNlbGVjdGVkLWJnfSApO1xuICAgICAgICAgICAgICAgIC0tSU5URVJOQUwtLWtlbmRvLWNhbGVuZGFyLWNlbGwtbGluay1zaGFkb3c6IHZhciggLS1rZW5kby1jYWxlbmRhci1jZWxsLXNlbGVjdGVkLXNoYWRvdywgI3ska2VuZG8tY2FsZW5kYXItY2VsbC1zZWxlY3RlZC1zaGFkb3d9ICk7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICYuay1zZWxlY3RlZDpob3ZlciAuay1saW5rLFxuICAgICAgICAgICAgJi5rLXNlbGVjdGVkLmstaG92ZXIgLmstbGluayB7XG4gICAgICAgICAgICAgICAgLS1JTlRFUk5BTC0ta2VuZG8tY2FsZW5kYXItY2VsbC1saW5rLXRleHQ6IHZhciggLS1rZW5kby1jYWxlbmRhci1jZWxsLXNlbGVjdGVkLWhvdmVyLXRleHQsICN7JGtlbmRvLWNhbGVuZGFyLWNlbGwtc2VsZWN0ZWQtaG92ZXItdGV4dH0gKTtcbiAgICAgICAgICAgICAgICAtLUlOVEVSTkFMLS1rZW5kby1jYWxlbmRhci1jZWxsLWxpbmstYmc6IHZhciggLS1rZW5kby1jYWxlbmRhci1jZWxsLXNlbGVjdGVkLWhvdmVyLWJnLCAjeyRrZW5kby1jYWxlbmRhci1jZWxsLXNlbGVjdGVkLWhvdmVyLWJnfSApO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAmLmstc2VsZWN0ZWQ6Zm9jdXMgLmstbGluayxcbiAgICAgICAgICAgICYuay1zZWxlY3RlZC5rLWZvY3VzIC5rLWxpbmsge1xuICAgICAgICAgICAgICAgIC0tSU5URVJOQUwtLWtlbmRvLWNhbGVuZGFyLWNlbGwtbGluay1zaGFkb3c6IHZhciggLS1rZW5kby1jYWxlbmRhci1jZWxsLXNlbGVjdGVkLWZvY3VzLXNoYWRvdywgI3ska2VuZG8tY2FsZW5kYXItY2VsbC1zZWxlY3RlZC1mb2N1cy1zaGFkb3d9ICk7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICYuay1kaXNhYmxlZCB7XG4gICAgICAgICAgICAgICAgLS1rZW5kby1jYWxlbmRhci1jZWxsLXRleHQ6IHZhciggLS1rZW5kby1kaXNhYmxlZC10ZXh0LCBpbmhlcml0ICk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAvLyBTcGVjaWFsIGRheXNcblxuICAgICAgICAuay10b2RheSB7XG4gICAgICAgICAgICAtLWtlbmRvLWNhbGVuZGFyLWNlbGwtbGluay10ZXh0OiB2YXIoIC0ta2VuZG8tY2FsZW5kYXItdG9kYXktdGV4dCwgI3ska2VuZG8tY2FsZW5kYXItdG9kYXktdGV4dH0gKTtcbiAgICAgICAgICAgIC0ta2VuZG8tY2FsZW5kYXItY2VsbC1saW5rLWJnOiB2YXIoIC0ta2VuZG8tY2FsZW5kYXItdG9kYXktYmcsICN7JGtlbmRvLWNhbGVuZGFyLXRvZGF5LWJnfSApO1xuICAgICAgICAgICAgLS1rZW5kby1jYWxlbmRhci1jZWxsLWhvdmVyLXRleHQ6IHZhciggLS1rZW5kby1jYWxlbmRhci10b2RheS1ob3Zlci10ZXh0LCAjeyRrZW5kby1jYWxlbmRhci10b2RheS1ob3Zlci10ZXh0fSApO1xuICAgICAgICAgICAgLS1rZW5kby1jYWxlbmRhci1jZWxsLWhvdmVyLWJnOiB2YXIoIC0ta2VuZG8tY2FsZW5kYXItdG9kYXktaG92ZXItYmcsICN7JGtlbmRvLWNhbGVuZGFyLXRvZGF5LWhvdmVyLWJnfSApO1xuICAgICAgICB9XG5cbiAgICAgICAgLmstd2Vla2VuZCB7XG4gICAgICAgICAgICAtLWtlbmRvLWNhbGVuZGFyLWNlbGwtdGV4dDogdmFyKCAtLWtlbmRvLWNhbGVuZGFyLXdlZWtlbmQtdGV4dCwgI3ska2VuZG8tY2FsZW5kYXItd2Vla2VuZC10ZXh0fSApO1xuICAgICAgICAgICAgLS1rZW5kby1jYWxlbmRhci1jZWxsLWJnOiB2YXIoIC0ta2VuZG8tY2FsZW5kYXItd2Vla2VuZC1iZywgI3ska2VuZG8tY2FsZW5kYXItd2Vla2VuZC1iZ30gKTtcbiAgICAgICAgfVxuXG4gICAgICAgIC5rLW90aGVyLW1vbnRoIHtcbiAgICAgICAgICAgIC0ta2VuZG8tY2FsZW5kYXItY2VsbC10ZXh0OiB2YXIoIC0ta2VuZG8tY2FsZW5kYXItb3RoZXItbW9udGgtdGV4dCwgI3ska2VuZG8tY2FsZW5kYXItb3RoZXItbW9udGgtdGV4dH0gKTtcbiAgICAgICAgICAgIC0ta2VuZG8tY2FsZW5kYXItY2VsbC1iZzogdmFyKCAtLWtlbmRvLWNhbGVuZGFyLW90aGVyLW1vbnRoLWJnLCAjeyRrZW5kby1jYWxlbmRhci1vdGhlci1tb250aC1iZ30gKTtcbiAgICAgICAgfVxuXG4gICAgICAgIC5rLWFsdCB7XG4gICAgICAgICAgICAvLyByZW1vdmUgZGVmYXVsdCBrLWFsdCBiYWNrZ3JvdW5kIGNvbG9yXG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcblxuICAgICAgICAgICAgLS1rZW5kby1jYWxlbmRhci1jZWxsLXRleHQ6IHZhciggLS1rZW5kby1jYWxlbmRhci13ZWVrLW51bWJlci10ZXh0LCAjeyRrZW5kby1jYWxlbmRhci13ZWVrLW51bWJlci10ZXh0fSApO1xuICAgICAgICAgICAgLS1rZW5kby1jYWxlbmRhci1jZWxsLWJnOiB2YXIoIC0ta2VuZG8tY2FsZW5kYXItd2Vlay1udW1iZXItYmcsICN7JGtlbmRvLWNhbGVuZGFyLXdlZWstbnVtYmVyLWJnfSApO1xuICAgICAgICB9XG5cblxuICAgICAgICAvLyBDYWxlbmRhciBuYXZpZ2F0aW9uXG4gICAgICAgIC5rLWNhbGVuZGFyLW5hdmlnYXRpb24ge1xuICAgICAgICAgICAgQGluY2x1ZGUgZmlsbChcbiAgICAgICAgICAgICAgICB2YXIoIC0ta2VuZG8tY2FsZW5kYXItbmF2aWdhdGlvbi10ZXh0LCAjeyRrZW5kby1jYWxlbmRhci1uYXZpZ2F0aW9uLXRleHR9ICksXG4gICAgICAgICAgICAgICAgdmFyKCAtLWtlbmRvLWNhbGVuZGFyLW5hdmlnYXRpb24tYmcsICN7JGtlbmRvLWNhbGVuZGFyLW5hdmlnYXRpb24tYmd9ICksXG4gICAgICAgICAgICApO1xuICAgICAgICAgICAgYm94LXNoYWRvdzogaW5zZXQgLTFweCAwIHZhciggLS1rZW5kby1jYWxlbmRhci1uYXZpZ2F0aW9uLWJvcmRlciwgI3ska2VuZG8tY2FsZW5kYXItbmF2aWdhdGlvbi1ib3JkZXJ9ICk7XG5cbiAgICAgICAgICAgIGxpOmhvdmVyLFxuICAgICAgICAgICAgbGkuay1ob3ZlciB7XG4gICAgICAgICAgICAgICAgY29sb3I6IHZhciggLS1rZW5kby1jYWxlbmRhci1uYXZpZ2F0aW9uLWhvdmVyLXRleHQsICN7JGtlbmRvLWNhbGVuZGFyLW5hdmlnYXRpb24taG92ZXItdGV4dH0gKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAuay1jYWxlbmRhci1uYXZpZ2F0aW9uLWhpZ2hsaWdodCB7XG4gICAgICAgICAgICBAaW5jbHVkZSBmaWxsKFxuICAgICAgICAgICAgICAgIHZhciggLS1rZW5kby1jYWxlbmRhci10ZXh0LCAjeyRrZW5kby1jYWxlbmRhci10ZXh0fSApLFxuICAgICAgICAgICAgICAgIHZhciggLS1rZW5kby1jYWxlbmRhci1iZywgI3ska2VuZG8tY2FsZW5kYXItYmd9ICksXG4gICAgICAgICAgICAgICAgdmFyKCAtLWtlbmRvLWNhbGVuZGFyLWJvcmRlciwgI3ska2VuZG8tY2FsZW5kYXItYm9yZGVyfSApXG4gICAgICAgICAgICApO1xuICAgICAgICB9XG5cbiAgICAgICAgLy8gSW52YWxpZFxuICAgICAgICAmLmstaW52YWxpZCxcbiAgICAgICAgJi5rLWludmFsaWQ6aG92ZXIsXG4gICAgICAgICYubmctaW52YWxpZC5uZy10b3VjaGVkLFxuICAgICAgICAmLm5nLWludmFsaWQubmctZGlydHkge1xuICAgICAgICAgICAgYm9yZGVyLWNvbG9yOiB2YXIoIC0ta2VuZG8taW52YWxpZC1ib3JkZXIsIGluaGVyaXQgKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5rLWNhbGVuZGFyW2Rpcj1cInJ0bFwiXSxcbiAgICAuay1ydGwgLmstY2FsZW5kYXIge1xuICAgICAgICAuay1jYWxlbmRhci1uYXZpZ2F0aW9uIHtcbiAgICAgICAgICAgIGJveC1zaGFkb3c6IGluc2V0IDFweCAwIHZhciggLS1rZW5kby1jYWxlbmRhci1uYXZpZ2F0aW9uLWJvcmRlciwgI3ska2VuZG8tY2FsZW5kYXItbmF2aWdhdGlvbi1ib3JkZXJ9ICk7XG4gICAgICAgIH1cblxuICAgICAgICAuay1jYWxlbmRhci10ZCB7XG5cbiAgICAgICAgICAgICYuay1yYW5nZS1zdGFydDpob3ZlciAuay1saW5rLFxuICAgICAgICAgICAgJi5rLXJhbmdlLXN0YXJ0LmstaG92ZXIgLmstbGluayB7XG4gICAgICAgICAgICAgICAgLS1JTlRFUk5BTC0ta2VuZG8tY2FsZW5kYXItY2VsbC1saW5rLXNoYWRvdzogdmFyKCAtLWtlbmRvLWNhbGVuZGFyLWVuZC1yYW5nZS1ob3Zlci1zaGFkb3csICN7JGtlbmRvLWNhbGVuZGFyLWVuZC1yYW5nZS1ob3Zlci1zaGFkb3d9ICk7XG5cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgJi5rLXJhbmdlLW1pZDpsYXN0LWNoaWxkOmhvdmVyIC5rLWxpbmssXG4gICAgICAgICAgICAmLmstcmFuZ2UtbWlkOmxhc3QtY2hpbGQuay1ob3ZlciAuay1saW5rLFxuICAgICAgICAgICAgJi5rLXJhbmdlLWVuZDpob3ZlciAuay1saW5rLFxuICAgICAgICAgICAgJi5rLXJhbmdlLWVuZC5rLWhvdmVyIC5rLWxpbmsge1xuICAgICAgICAgICAgICAgIC0tSU5URVJOQUwtLWtlbmRvLWNhbGVuZGFyLWNlbGwtbGluay1zaGFkb3c6IHZhciggLS1rZW5kby1jYWxlbmRhci1zdGFydC1yYW5nZS1ob3Zlci1zaGFkb3csICN7JGtlbmRvLWNhbGVuZGFyLXN0YXJ0LXJhbmdlLWhvdmVyLXNoYWRvd30gKTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgJi5rLXJhbmdlLW1pZDpmaXJzdC1jaGlsZDpob3ZlciAuay1saW5rLFxuICAgICAgICAgICAgJi5rLXJhbmdlLW1pZDpmaXJzdC1jaGlsZC5rLWhvdmVyIC5rLWxpbmssXG4gICAgICAgICAgICAmLmstYWx0ICsgLmstcmFuZ2UtbWlkOmhvdmVyIC5rLWxpbmssXG4gICAgICAgICAgICAmLmstYWx0ICsgLmstcmFuZ2UtbWlkLmstaG92ZXIgLmstbGluayB7XG4gICAgICAgICAgICAgICAgLS1JTlRFUk5BTC0ta2VuZG8tY2FsZW5kYXItY2VsbC1saW5rLXNoYWRvdzogdmFyKCAtLWtlbmRvLWNhbGVuZGFyLWVuZC1yYW5nZS1ob3Zlci1zaGFkb3csICN7JGtlbmRvLWNhbGVuZGFyLWVuZC1yYW5nZS1ob3Zlci1zaGFkb3d9ICk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBTY2hlZHVsZXIgaW50ZWdyYXRpb25cbiAgICAuay1zY2hlZHVsZXIgLmstY2FsZW5kYXIgLmstb3RoZXItbW9udGgge1xuICAgICAgICBAaW5jbHVkZSBmaWxsKFxuICAgICAgICAgICAgdmFyKCAtLWtlbmRvLWNhbGVuZGFyLW90aGVyLW1vbnRoLXRleHQsICN7JGtlbmRvLWNhbGVuZGFyLW90aGVyLW1vbnRoLXRleHR9ICksXG4gICAgICAgICAgICB0cmFuc3BhcmVudFxuICAgICAgICApO1xuICAgIH1cblxuICAgIC8vIFJhbmdlIFNlbGVjdGlvblxuXG4gICAgLmstY2FsZW5kYXIgLmstY2FsZW5kYXItdGQgIHtcblxuICAgICAgICAmLmstcmFuZ2Utc3RhcnQsXG4gICAgICAgICYuay1yYW5nZS1lbmQsXG4gICAgICAgICYuay1yYW5nZS1taWQge1xuICAgICAgICAgICAgLS1rZW5kby1jYWxlbmRhci1jZWxsLWJnOiB2YXIoIC0ta2VuZG8tY2FsZW5kYXItcmFuZ2UtYmcsICN7JGtlbmRvLWNhbGVuZGFyLXJhbmdlLWJnfSApO1xuICAgICAgICAgICAgLS1rZW5kby1jYWxlbmRhci1jZWxsLXRleHQ6IHZhciggLS1rZW5kby1jYWxlbmRhci1yYW5nZS10ZXh0LCAjeyRrZW5kby1jYWxlbmRhci1yYW5nZS10ZXh0fSApO1xuICAgICAgICAgICAgLS1rZW5kby1jYWxlbmRhci1jZWxsLWxpbmstYmc6IHRyYW5zcGFyZW50O1xuICAgICAgICAgICAgLS1rZW5kby1jYWxlbmRhci1jZWxsLXNlbGVjdGVkLWJnOiB0cmFuc3BhcmVudDtcbiAgICAgICAgICAgIC0ta2VuZG8tY2FsZW5kYXItY2VsbC1zZWxlY3RlZC1zaGFkb3c6IG5vbmU7XG5cbiAgICAgICAgICAgICY6OmJlZm9yZSB7XG4gICAgICAgICAgICAgICAgYm9yZGVyLWNvbG9yOiB2YXIoIC0ta2VuZG8tY2FsZW5kYXItcmFuZ2UtYm9yZGVyLCAjeyRrZW5kby1jYWxlbmRhci1yYW5nZS1ib3JkZXJ9ICk7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICYuay1kaXNhYmxlZCB7XG4gICAgICAgICAgICAgICAgLS1rZW5kby1jYWxlbmRhci1jZWxsLXRleHQ6IHZhciggLS1rZW5kby1kaXNhYmxlZC10ZXh0LCBpbmhlcml0ICk7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICY6aG92ZXIgLmstbGluayxcbiAgICAgICAgICAgICYuay1ob3ZlciAuay1saW5rIHtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoIC0ta2VuZG8tY2FsZW5kYXItY2VsbC1zZWxlY3RlZC1ob3Zlci1iZywgI3ska2VuZG8tY2FsZW5kYXItY2VsbC1zZWxlY3RlZC1ob3Zlci1iZ30gKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgICYuay1yYW5nZS1zdGFydDpob3ZlciAuay1saW5rLFxuICAgICAgICAmLmstcmFuZ2Utc3RhcnQuay1ob3ZlciAuay1saW5rIHtcbiAgICAgICAgICAgIC0tSU5URVJOQUwtLWtlbmRvLWNhbGVuZGFyLWNlbGwtbGluay1zaGFkb3c6IHZhciggLS1rZW5kby1jYWxlbmRhci1zdGFydC1yYW5nZS1ob3Zlci1zaGFkb3csICN7JGtlbmRvLWNhbGVuZGFyLXN0YXJ0LXJhbmdlLWhvdmVyLXNoYWRvd30gKTtcblxuICAgICAgICB9XG5cbiAgICAgICAgJi5rLXJhbmdlLW1pZDpob3ZlciAuay1saW5rLFxuICAgICAgICAmLmstcmFuZ2UtbWlkLmstaG92ZXIgLmstbGluayB7XG4gICAgICAgICAgICAtLUlOVEVSTkFMLS1rZW5kby1jYWxlbmRhci1jZWxsLWxpbmstc2hhZG93OiB2YXIoIC0ta2VuZG8tY2FsZW5kYXItbWlkLXJhbmdlLWhvdmVyLXNoYWRvdywgI3ska2VuZG8tY2FsZW5kYXItbWlkLXJhbmdlLWhvdmVyLXNoYWRvd30gKTtcbiAgICAgICAgfVxuXG4gICAgICAgICYuay1yYW5nZS1taWQ6bGFzdC1jaGlsZDpob3ZlciAuay1saW5rLFxuICAgICAgICAmLmstcmFuZ2UtbWlkOmxhc3QtY2hpbGQuay1ob3ZlciAuay1saW5rLFxuICAgICAgICAmLmstcmFuZ2UtZW5kOmhvdmVyIC5rLWxpbmssXG4gICAgICAgICYuay1yYW5nZS1lbmQuay1ob3ZlciAuay1saW5rIHtcbiAgICAgICAgICAgIC0tSU5URVJOQUwtLWtlbmRvLWNhbGVuZGFyLWNlbGwtbGluay1zaGFkb3c6IHZhciggLS1rZW5kby1jYWxlbmRhci1lbmQtcmFuZ2UtaG92ZXItc2hhZG93LCAjeyRrZW5kby1jYWxlbmRhci1lbmQtcmFuZ2UtaG92ZXItc2hhZG93fSApO1xuICAgICAgICB9XG5cbiAgICAgICAgJi5rLXJhbmdlLW1pZDpmaXJzdC1jaGlsZDpob3ZlciAuay1saW5rLFxuICAgICAgICAmLmstcmFuZ2UtbWlkOmZpcnN0LWNoaWxkLmstaG92ZXIgLmstbGluayxcbiAgICAgICAgJi5rLWFsdCArIC5rLXJhbmdlLW1pZDpob3ZlciAuay1saW5rLFxuICAgICAgICAmLmstYWx0ICsgLmstcmFuZ2UtbWlkLmstaG92ZXIgLmstbGluayB7XG4gICAgICAgICAgICAtLUlOVEVSTkFMLS1rZW5kby1jYWxlbmRhci1jZWxsLWxpbmstc2hhZG93OiB2YXIoIC0ta2VuZG8tY2FsZW5kYXItc3RhcnQtcmFuZ2UtaG92ZXItc2hhZG93LCAjeyRrZW5kby1jYWxlbmRhci1zdGFydC1yYW5nZS1ob3Zlci1zaGFkb3d9ICk7XG4gICAgICAgIH1cblxuICAgICAgICAmLmstcmFuZ2Utc3RhcnQuay1yYW5nZS1lbmQ6aG92ZXIgLmstbGluayB7XG4gICAgICAgICAgICAtLUlOVEVSTkFMLS1rZW5kby1jYWxlbmRhci1jZWxsLWxpbmstc2hhZG93OiB2YXIoIC0ta2VuZG8tY2FsZW5kYXItc3RhcnQtZW5kLXJhbmdlLWhvdmVyLXNoYWRvdywgI3ska2VuZG8tY2FsZW5kYXItc3RhcnQtZW5kLXJhbmdlLWhvdmVyLXNoYWRvd30gKTtcbiAgICAgICAgfVxuICAgIH1cblxufVxuIiwiQHVzZSBcInNhc3M6bWFwXCI7XG5AdXNlIFwiLi4vY29yZS9faW5kZXguc2Nzc1wiIGFzICo7XG5AdXNlIFwiLi4vYnV0dG9uL192YXJpYWJsZXMuc2Nzc1wiIGFzICo7XG5AdXNlIFwiLi9fdmFyaWFibGVzLnNjc3NcIiBhcyAqO1xuXG5AbWl4aW4ga2VuZG8tdGltZS1zZWxlY3Rvci0tbGF5b3V0KCkge1xuXG4gICAgLmstdGltZXNlbGVjdG9yIHtcbiAgICAgICAgYm9yZGVyLXdpZHRoOiB2YXIoIC0ta2VuZG8tdGltZS1zZWxlY3Rvci1ib3JkZXItd2lkdGgsICRrZW5kby10aW1lLXNlbGVjdG9yLWJvcmRlci13aWR0aCApO1xuICAgICAgICBib3JkZXItc3R5bGU6IHNvbGlkO1xuICAgICAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgICAgICBvdXRsaW5lOiAwO1xuICAgICAgICBmb250LWZhbWlseTogdmFyKCAtLWtlbmRvLXRpbWUtc2VsZWN0b3ItZm9udC1mYW1pbHksICRrZW5kby10aW1lLXNlbGVjdG9yLWZvbnQtZmFtaWx5ICk7XG4gICAgICAgIGZvbnQtc2l6ZTogdmFyKCAtLWtlbmRvLXRpbWUtc2VsZWN0b3ItZm9udC1zaXplLCAka2VuZG8tdGltZS1zZWxlY3Rvci1mb250LXNpemUgKTtcbiAgICAgICAgbGluZS1oZWlnaHQ6IHZhciggLS1rZW5kby10aW1lLXNlbGVjdG9yLWxpbmUtaGVpZ2h0LCAka2VuZG8tdGltZS1zZWxlY3Rvci1saW5lLWhlaWdodCApO1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGZsZXgtZmxvdzogY29sdW1uIG5vd3JhcDtcbiAgICAgICAgdXNlci1zZWxlY3Q6IG5vbmU7XG4gICAgICAgIC13ZWJraXQtdG91Y2gtY2FsbG91dDogbm9uZTtcbiAgICAgICAgLXdlYmtpdC10YXAtaGlnaGxpZ2h0LWNvbG9yOiAka2VuZG8tY29sb3ItcmdiYS10cmFuc3BhcmVudDtcbiAgICB9XG5cbiAgICAuay1wb3B1cCA+IC5rLXRpbWVzZWxlY3RvciB7XG4gICAgICAgIGJvcmRlci13aWR0aDogMDtcbiAgICB9XG5cblxuICAgIC8vIFRpbWUgc2VsZWN0b3IgaGVhZGVyXG4gICAgLmstdGltZS1oZWFkZXIsXG4gICAgLmstdGltZS1zZWxlY3Rvci1oZWFkZXIge1xuICAgICAgICBwYWRkaW5nOiB2YXIoIC0ta2VuZG8tdGltZS1zZWxlY3Rvci1oZWFkZXItcGFkZGluZy15LCAka2VuZG8tdGltZS1zZWxlY3Rvci1oZWFkZXItcGFkZGluZy15ICkgdmFyKCAtLWtlbmRvLXRpbWUtc2VsZWN0b3ItaGVhZGVyLXBhZGRpbmcteCwgJGtlbmRvLXRpbWUtc2VsZWN0b3ItaGVhZGVyLXBhZGRpbmcteCApO1xuICAgICAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gICAgICAgIGZsZXg6IDAgMCBhdXRvO1xuXG4gICAgICAgIC5rLXRpdGxlLFxuICAgICAgICAuay10aW1lLXNlbGVjdG9yLWhlYWRlci10aXRsZSB7XG4gICAgICAgICAgICBwYWRkaW5nOiB2YXIoIC0ta2VuZG8tYnV0dG9uLW1kLXBhZGRpbmcteSwgJGtlbmRvLWJ1dHRvbi1tZC1wYWRkaW5nLXkgKSB2YXIoIC0ta2VuZG8tYnV0dG9uLW1kLXBhZGRpbmcteCwgJGtlbmRvLWJ1dHRvbi1tZC1wYWRkaW5nLXggKTtcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICB9XG5cbiAgICAgICAgLmstdGltZS1ub3cge1xuICAgICAgICAgICAgYm9yZGVyLXdpZHRoOiAwO1xuICAgICAgICAgICAgbGluZS1oZWlnaHQ6IGluaGVyaXQ7XG4gICAgICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgICAgIH1cbiAgICB9XG5cblxuICAgIC8vIFRpbWUgc2VsZWN0b3IgZm9vdGVyXG4gICAgLy8gLmstdGltZS1mb290ZXIge31cbiAgICAvLyAuay10aW1lLXNlbGVjdG9yLWZvb3RlciB7fVxuXG5cbiAgICAvLyBUaW1lIGxpc3QgY29udGFpbmVyXG4gICAgLmstdGltZS1saXN0LWNvbnRhaW5lciB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgZmxleDogMSAxIGF1dG87XG4gICAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgfVxuXG5cbiAgICAvLyBUaW1lIGxpc3QgaGlnaGxpZ2h0XG4gICAgLmstdGltZS1oaWdobGlnaHQsXG4gICAgLmstdGltZS1saXN0LWhpZ2hsaWdodCB7XG4gICAgICAgIC0tSU5URVJOQUwtLWtlbmRvLXRpbWUtbGlzdC10aXRsZS1oZWlnaHQ6IHZhciggLS1rZW5kby10aW1lLWxpc3QtdGl0bGUtaGVpZ2h0LCAjeyRrZW5kby10aW1lLWxpc3QtdGl0bGUtaGVpZ2h0fSApO1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgaGVpZ2h0OiB2YXIoIC0ta2VuZG8tdGltZS1saXN0LWhpZ2hsaWdodC1oZWlnaHQsICRrZW5kby10aW1lLWxpc3QtaGlnaGxpZ2h0LWhlaWdodCApO1xuICAgICAgICBib3JkZXItd2lkdGg6IHZhciggLS1rZW5kby10aW1lLWxpc3QtaGlnaGxpZ2h0LWJvcmRlci13aWR0aCwgJGtlbmRvLXRpbWUtbGlzdC1oaWdobGlnaHQtYm9yZGVyLXdpZHRoICk7XG4gICAgICAgIGJvcmRlci1zdHlsZTogc29saWQ7XG4gICAgICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgdG9wOiBjYWxjKCA1MCUgKyB2YXIoIC0tSU5URVJOQUwtLWtlbmRvLXRpbWUtbGlzdC10aXRsZS1oZWlnaHQgKSAvIDIpO1xuICAgICAgICBsZWZ0OiAwO1xuICAgICAgICByaWdodDogMDtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpO1xuICAgICAgICB6LWluZGV4OiAxO1xuICAgIH1cblxuXG4gICAgLy8gVGltZSBsaXN0IHdyYXBwZXJcbiAgICAuay10aW1lLWxpc3Qtd3JhcHBlciB7XG4gICAgICAgIG1pbi13aWR0aDogdmFyKCAtLWtlbmRvLXRpbWUtbGlzdC13aWR0aCwgJGtlbmRvLXRpbWUtbGlzdC13aWR0aCApO1xuICAgICAgICBoZWlnaHQ6IHZhciggLS1rZW5kby10aW1lLWxpc3QtaGVpZ2h0LCAka2VuZG8tdGltZS1saXN0LWhlaWdodCApO1xuICAgICAgICBib3gtc2l6aW5nOiBjb250ZW50LWJveDtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gICAgICAgIGZsZXgtZmxvdzogY29sdW1uIG5vd3JhcDtcbiAgICAgICAgYWxpZ24taXRlbXM6IHN0cmV0Y2g7XG4gICAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICBmbGV4OiAxIDEgYXV0bztcblxuICAgICAgICAuay10aXRsZSB7XG4gICAgICAgICAgICBwYWRkaW5nLWJsb2NrLWVuZDogdmFyKCAtLWtlbmRvLXRpbWUtbGlzdC10aXRsZS1zcGFjaW5nLCAka2VuZG8tdGltZS1saXN0LXRpdGxlLXNwYWNpbmcgKTtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogdmFyKCAtLWtlbmRvLXRpbWUtbGlzdC10aXRsZS1mb250LXNpemUsICRrZW5kby10aW1lLWxpc3QtdGl0bGUtZm9udC1zaXplICk7XG4gICAgICAgICAgICBsaW5lLWhlaWdodDogdmFyKCAtLWtlbmRvLXRpbWUtbGlzdC10aXRsZS1saW5lLWhlaWdodCwgJGtlbmRvLXRpbWUtbGlzdC10aXRsZS1saW5lLWhlaWdodCApO1xuICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgICAgIHRleHQtdHJhbnNmb3JtOiBjYXBpdGFsaXplO1xuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIH1cblxuICAgICAgICAmLmstZm9jdXMge1xuICAgICAgICAgICAgJjo6YmVmb3JlLFxuICAgICAgICAgICAgJjo6YWZ0ZXIge1xuICAgICAgICAgICAgICAgIC0tSU5URVJOQUwtLWtlbmRvLXRpbWUtbGlzdC10aXRsZS1oaWdobGlnaHQtaGVpZ2h0OiB2YXIoIC0ta2VuZG8tdGltZS1saXN0LWhpZ2hsaWdodC1oZWlnaHQsICN7JGtlbmRvLXRpbWUtbGlzdC1oaWdobGlnaHQtaGVpZ2h0fSApO1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgICAgIGNvbnRlbnQ6IFwiXFwyMDBiXCI7XG4gICAgICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgICAgIGxlZnQ6IDA7XG4gICAgICAgICAgICAgICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gICAgICAgICAgICAgICAgaGVpZ2h0OiBjYWxjKCA1MCUgLSAoIHZhciggLS1JTlRFUk5BTC0ta2VuZG8tdGltZS1saXN0LXRpdGxlLWhpZ2hsaWdodC1oZWlnaHQgKSAvIDIpICk7XG4gICAgICAgICAgICAgICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICAgICAgICAgICAgICBib3JkZXItd2lkdGg6IDA7XG4gICAgICAgICAgICAgICAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgJjo6YmVmb3JlIHtcbiAgICAgICAgICAgICAgICB0b3A6IHZhciggLS1rZW5kby10aW1lLWxpc3QtdGl0bGUtaGVpZ2h0LCAjeyRrZW5kby10aW1lLWxpc3QtdGl0bGUtaGVpZ2h0fSApIDtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgJjo6YWZ0ZXIge1xuICAgICAgICAgICAgICAgIGJvdHRvbTogMDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuXG4gICAgLy8gVGltZSBsaXN0XG4gICAgLmstdGltZS1saXN0IHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgZmxleC1mbG93OiByb3cgbm93cmFwO1xuICAgICAgICBhbGlnbi1pdGVtczogc3RyZXRjaDtcbiAgICAgICAgZmxleDogMTtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICB6LWluZGV4OiAxO1xuICAgICAgICBvdXRsaW5lOiAwO1xuICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xuXG4gICAgICAgICY6OmJlZm9yZSxcbiAgICAgICAgJjo6YWZ0ZXIge1xuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICBjb250ZW50OiBcIlxcMjAwYlwiO1xuICAgICAgICAgICAgaGVpZ2h0OiAwO1xuICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDA7XG4gICAgICAgICAgICB6LWluZGV4OiAxO1xuICAgICAgICAgICAgd2lkdGg6IDIwMCU7XG4gICAgICAgICAgICBsZWZ0OiAtNTAlO1xuICAgICAgICB9XG5cbiAgICAgICAgJjo6YmVmb3JlIHsgdG9wOiAwOyB9XG4gICAgICAgICY6OmFmdGVyIHsgYm90dG9tOiAwOyB9XG4gICAgfVxuXG5cbiAgICAvLyBUaW1lIGxpc3QgY29udGVudFxuICAgIC5rLXRpbWUtY29udGFpbmVyLFxuICAgIC5rLXRpbWUtbGlzdC1jb250ZW50IHtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICBmbGV4OiAxIDEgYXV0bztcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIG92ZXJmbG93LXg6IGhpZGRlbjtcbiAgICAgICAgb3ZlcmZsb3cteTogc2Nyb2xsO1xuXG4gICAgICAgIEBpbmNsdWRlIGhpZGUtc2Nyb2xsYmFyLWRpci1hZ25vc3RpYygpO1xuXG4gICAgICAgID4gdWwge1xuICAgICAgICAgICAgaGVpZ2h0OiBhdXRvO1xuICAgICAgICAgICAgd2lkdGg6IHZhciggLS1rZW5kby10aW1lLWxpc3Qtd2lkdGgsICRrZW5kby10aW1lLWxpc3Qtd2lkdGggKTtcbiAgICAgICAgICAgIG1hcmdpbjogYXV0bztcbiAgICAgICAgfVxuXG4gICAgICAgIC5rLXNjcm9sbGFibGUtcGxhY2Vob2xkZXIge1xuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgd2lkdGg6IDFweDtcbiAgICAgICAgICAgIHRvcDogMDtcbiAgICAgICAgICAgIHJpZ2h0OiAwO1xuICAgICAgICB9XG4gICAgfVxuXG5cbiAgICAvLyBUaW1lIGxpc3QgaXRlbVxuICAgIC5rLXRpbWUtbGlzdC1pdGVtLFxuICAgIC5rLXRpbWUtbGlzdCAuay1pdGVtIHtcbiAgICAgICAgcGFkZGluZzogdmFyKCAtLWtlbmRvLXRpbWUtbGlzdC1pdGVtLXBhZGRpbmcteSwgJGtlbmRvLXRpbWUtbGlzdC1pdGVtLXBhZGRpbmcteSApIHZhciggLS1rZW5kby10aW1lLWxpc3QtaXRlbS1wYWRkaW5nLXgsICRrZW5kby10aW1lLWxpc3QtaXRlbS1wYWRkaW5nLXggKTtcbiAgICB9XG5cblxuICAgIC8vIFRpbWUgc2VwYXJhdG9yXG4gICAgLmstdGltZS1zZXBhcmF0b3Ige1xuICAgICAgICAtLUlOVEVSTkFMLS1rZW5kby10aW1lLWxpc3QtdGl0bGUtaGVpZ2h0OiB2YXIoIC0ta2VuZG8tdGltZS1saXN0LXRpdGxlLWhlaWdodCwgI3ska2VuZG8tdGltZS1saXN0LXRpdGxlLWhlaWdodH0gKTtcbiAgICAgICAgd2lkdGg6IDA7XG4gICAgICAgIGhlaWdodDogdmFyKCAtLWtlbmRvLXRpbWUtbGlzdC1oaWdobGlnaHQtaGVpZ2h0LCAka2VuZG8tdGltZS1saXN0LWhpZ2hsaWdodC1oZWlnaHQgKTtcbiAgICAgICAgYWxpZ24tc2VsZjogY2VudGVyO1xuICAgICAgICBkaXNwbGF5OiB2YXIoIC0ta2VuZG8tdGltZS1saXN0LXNlcGFyYXRvci1kaXNwbGF5LCAjeyRrZW5kby10aW1lLWxpc3Qtc2VwYXJhdG9yLWRpc3BsYXl9ICk7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIHotaW5kZXg6IDExO1xuICAgICAgICB0b3A6IGNhbGMoIHZhciggLS1JTlRFUk5BTC0ta2VuZG8tdGltZS1saXN0LXRpdGxlLWhlaWdodCApIC8gMik7XG4gICAgfVxuXG5cbiAgICAvLyBUaW1lIHNlbGVjdG9yIHNpemVzXG4gICAgQGVhY2ggJHNpemUsICRzaXplLXByb3BzIGluICRrZW5kby10aW1lLXNlbGVjdG9yLXNpemVzIHtcbiAgICAgICAgJF9mb250LXNpemU6IG1hcC5nZXQoICRzaXplLXByb3BzLCBmb250LXNpemUgKTtcbiAgICAgICAgJF9saW5lLWhlaWdodDogbWFwLmdldCggJHNpemUtcHJvcHMsIGxpbmUtaGVpZ2h0ICk7XG4gICAgICAgICRfbGlzdC1pdGVtLXBhZGRpbmcteDogbWFwLmdldCggJHNpemUtcHJvcHMsIGxpc3QtaXRlbS1wYWRkaW5nLXggKTtcbiAgICAgICAgJF9saXN0LWl0ZW0tcGFkZGluZy15OiBtYXAuZ2V0KCAkc2l6ZS1wcm9wcywgbGlzdC1pdGVtLXBhZGRpbmcteSApO1xuICAgICAgICAkX2hpZ2hsaWdodC1oZWlnaHQ6IGNhbGMoICN7JF9mb250LXNpemV9ICogI3skX2xpbmUtaGVpZ2h0fSArIGNhbGMoICN7ICRfbGlzdC1pdGVtLXBhZGRpbmcteX0gKiAyICkgKTtcblxuXG4gICAgICAgIC5rLXRpbWVzZWxlY3Rvci0jeyRzaXplfSB7XG4gICAgICAgICAgICBmb250LXNpemU6IHZhciggLS1rZW5kby10aW1lLXNlbGVjdG9yLSN7JHNpemV9LWZvbnQtc2l6ZSwgI3skX2ZvbnQtc2l6ZX0gKTtcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiB2YXIoIC0ta2VuZG8tdGltZS1zZWxlY3Rvci0jeyRzaXplfS1saW5lLWhlaWdodCwgI3skX2xpbmUtaGVpZ2h0fSApO1xuXG4gICAgICAgICAgICAuay10aW1lLWhpZ2hsaWdodCxcbiAgICAgICAgICAgIC5rLXRpbWUtbGlzdC1oaWdobGlnaHQge1xuICAgICAgICAgICAgICAgIGhlaWdodDogdmFyKCAtLWtlbmRvLXRpbWUtc2VsZWN0b3ItI3skc2l6ZX0taGlnaGxpZ2h0LWhlaWdodCwgI3skX2hpZ2hsaWdodC1oZWlnaHR9ICk7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC5rLXRpbWUtc2VwYXJhdG9yIHtcbiAgICAgICAgICAgICAgICBoZWlnaHQ6IHZhciggLS1rZW5kby10aW1lLXNlbGVjdG9yLSN7JHNpemV9LWhpZ2hsaWdodC1oZWlnaHQsICN7JF9oaWdobGlnaHQtaGVpZ2h0fSApO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAuay10aW1lLWxpc3QtaXRlbSxcbiAgICAgICAgICAgIC5rLXRpbWUtbGlzdCAuay1pdGVtIHtcbiAgICAgICAgICAgICAgICBwYWRkaW5nOiB2YXIoIC0ta2VuZG8tbGlzdC0jeyRzaXplfS1pdGVtLXBhZGRpbmcteSwgI3skX2xpc3QtaXRlbS1wYWRkaW5nLXl9ICkgdmFyKCAtLWtlbmRvLWxpc3QtI3skc2l6ZX0taXRlbS1wYWRkaW5nLXgsICN7JF9saXN0LWl0ZW0tcGFkZGluZy14fSApO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxufVxuIiwiQHVzZSBcIi4uL2NvcmUvX2luZGV4LnNjc3NcIiBhcyAqO1xuQHVzZSBcIi4vX3ZhcmlhYmxlcy5zY3NzXCIgYXMgKjtcblxuQG1peGluIGtlbmRvLXRpbWUtc2VsZWN0b3ItLXRoZW1lKCkge1xuICAgIC8vIFRpbWUgc2VsZWN0b3JcbiAgICAuay10aW1lc2VsZWN0b3Ige1xuICAgICAgICBAaW5jbHVkZSBmaWxsKFxuICAgICAgICAgICAgdmFyKCAtLWtlbmRvLXRpbWUtc2VsZWN0b3ItdGV4dCwgJGtlbmRvLXRpbWUtc2VsZWN0b3ItdGV4dCApLFxuICAgICAgICAgICAgdmFyKCAtLWtlbmRvLXRpbWUtc2VsZWN0b3ItYmcsICRrZW5kby10aW1lLXNlbGVjdG9yLWJnICksXG4gICAgICAgICAgICB2YXIoIC0ta2VuZG8tdGltZS1zZWxlY3Rvci1ib3JkZXIsICRrZW5kby10aW1lLXNlbGVjdG9yLWJvcmRlciApXG4gICAgICAgICk7XG4gICAgfVxuXG5cbiAgICAvLyBUaW1lIHNlbGVjdG9yIGhlYWRlclxuICAgIC5rLXRpbWUtaGVhZGVyLFxuICAgIC5rLXRpbWUtc2VsZWN0b3ItaGVhZGVyIHtcblxuICAgICAgICAuay10aW1lLW5vdyB7XG4gICAgICAgICAgICBjb2xvcjogdmFyKCAtLWtlbmRvLWxpbmstdGV4dCwgaW5oZXJpdCApO1xuICAgICAgICB9XG4gICAgICAgIC5rLXRpbWUtbm93OmhvdmVyIHtcbiAgICAgICAgICAgIGNvbG9yOiB2YXIoIC0ta2VuZG8tbGluay1ob3Zlci10ZXh0LCBpbmhlcml0ICk7XG4gICAgICAgIH1cbiAgICB9XG5cblxuICAgIC8vIFRpbWUgbGlzdCB3cmFwcGVyXG4gICAgLmstdGltZS1saXN0LXdyYXBwZXIge1xuXG4gICAgICAgIC5rLXRpdGxlIHtcbiAgICAgICAgICAgIGNvbG9yOiB2YXIoIC0ta2VuZG8tdGltZS1saXN0LXRpdGxlLXRleHQsICRrZW5kby10aW1lLWxpc3QtdGl0bGUtdGV4dCApO1xuICAgICAgICB9XG5cbiAgICAgICAgJi5rLWZvY3VzIHtcbiAgICAgICAgICAgIC5rLXRpdGxlIHtcbiAgICAgICAgICAgICAgICBjb2xvcjogdmFyKCAtLWtlbmRvLXRpbWUtbGlzdC10aXRsZS1mb2N1cy10ZXh0LCAka2VuZG8tdGltZS1saXN0LXRpdGxlLWZvY3VzLXRleHQgKTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgJjo6YmVmb3JlLFxuICAgICAgICAgICAgJjo6YWZ0ZXIge1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHZhciggLS1rZW5kby10aW1lLWxpc3QtZm9jdXMtYmcsICRrZW5kby10aW1lLWxpc3QtZm9jdXMtYmcgKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuXG4gICAgLy8gVGltZSBsaXN0XG4gICAgLmstdGltZS1saXN0IHtcbiAgICAgICAgLmstaXRlbTpob3ZlciB7XG4gICAgICAgICAgICBjb2xvcjogaWYoJGtlbmRvLWVuYWJsZS1jb2xvci1zeXN0ZW0sIGstY29sb3IoIHByaW1hcnktaG92ZXIgKSwgay1nZXQtdGhlbWUtY29sb3ItdmFyKCBwcmltYXJ5LTEyMCApKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5rLXRpbWUtY29udGFpbmVyIHtcbiAgICAgICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gICAgfVxuXG4gICAgLmstdGltZS1oaWdobGlnaHQge1xuICAgICAgICBAaW5jbHVkZSBmaWxsKFxuICAgICAgICAgICAgJGJnOiB2YXIoIC0ta2VuZG8tdGltZS1saXN0LWhpZ2hsaWdodC1iZywgJGtlbmRvLXRpbWUtbGlzdC1oaWdobGlnaHQtYmcgKSxcbiAgICAgICAgICAgICRib3JkZXI6IHZhciggLS1rZW5kby10aW1lLWxpc3QtaGlnaGxpZ2h0LWJvcmRlciwgJGtlbmRvLXRpbWUtbGlzdC1oaWdobGlnaHQtYm9yZGVyIClcbiAgICAgICAgKTtcbiAgICB9XG59XG4iLCJAdXNlIFwiLi9fdmFyaWFibGVzLnNjc3NcIiBhcyAqO1xuXG5AbWl4aW4ga2VuZG8tY2FwdGNoYS0tbGF5b3V0KCkge1xuXG4gICAgLy8gQ2FwdGNoYVxuICAgIC5rLWNhcHRjaGEge1xuICAgICAgICB3aWR0aDogdmFyKCAtLWtlbmRvLWNhcHRjaGEtd2lkdGgsICN7JGtlbmRvLWNhcHRjaGEtd2lkdGh9ICk7XG4gICAgICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgICAgIGZvbnQtc2l6ZTogdmFyKCAtLWtlbmRvLWNhcHRjaGEtZm9udC1zaXplLCAjeyRrZW5kby1jYXB0Y2hhLWZvbnQtc2l6ZX0gKTtcbiAgICAgICAgZm9udC1mYW1pbHk6IHZhciggLS1rZW5kby1jYXB0Y2hhLWZvbnQtZmFtaWx5LCAjeyRrZW5kby1jYXB0Y2hhLWZvbnQtZmFtaWx5fSApO1xuICAgICAgICBsaW5lLWhlaWdodDogdmFyKCAtLWtlbmRvLWNhcHRjaGEtbGluZS1oZWlnaHQsICN7JGtlbmRvLWNhcHRjaGEtbGluZS1oZWlnaHR9ICk7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGZsZXgtZmxvdzogY29sdW1uIG5vd3JhcDtcbiAgICAgICAgZ2FwOiB2YXIoIC0ta2VuZG8tY2FwdGNoYS1zcGFjaW5nLCAjeyRrZW5kby1jYXB0Y2hhLXNwYWNpbmd9ICk7XG5cbiAgICAgICAgKixcbiAgICAgICAgKjo6YmVmb3JlLFxuICAgICAgICAqOjphZnRlciB7XG4gICAgICAgICAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLy8gSW1hZ2VcbiAgICAuay1jYXB0Y2hhLWltYWdlLXdyYXAge1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIGdhcDogdmFyKCAtLWtlbmRvLWNhcHRjaGEtaW1hZ2Utd3JhcC1zcGFjaW5nLCAjeyRrZW5kby1jYXB0Y2hhLWltYWdlLXdyYXAtc3BhY2luZ30gKTtcbiAgICB9XG5cbiAgICAuay1jYXB0Y2hhLWltYWdlLWNvbnRyb2xzIHtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICBnYXA6IHZhciggLS1rZW5kby1jYXB0Y2hhLWltYWdlLWNvbnRyb2xzLXNwYWNpbmcsICN7JGtlbmRvLWNhcHRjaGEtaW1hZ2UtY29udHJvbHMtc3BhY2luZ30gKTtcbiAgICB9XG5cbiAgICAuay1jYXB0Y2hhLWltYWdlIHtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICB9XG5cbiAgICAuay1jYXB0Y2hhLWltYWdlID4gaW1nIHtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIG9iamVjdC1maXQ6IGNvdmVyO1xuICAgIH1cblxuICAgIC8vIExvYWRpbmdcbiAgICAuay1jYXB0Y2hhLWxvYWRpbmcgLmstY2FwdGNoYS1pbWFnZSB7XG4gICAgICAgIGhlaWdodDogYXV0bztcbiAgICB9XG5cbiAgICAvLyBWb2x1bWUgQ29udHJvbFxuICAgIC5rLWNhcHRjaGEtdm9sdW1lLWNvbnRyb2wge1xuICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgfVxuXG4gICAgLy8gVmVyaWZpY2F0aW9uIFN1Y2Nlc3NcbiAgICAuay1jYXB0Y2hhLXZhbGlkYXRpb24tbWVzc2FnZSB7XG4gICAgICAgIG1hcmdpbi1ibG9jay1zdGFydDogdmFyKCAtLWtlbmRvLWNhcHRjaGEtdmFsaWRhdGlvbi1vZmZzZXQteSwgI3ska2VuZG8tY2FwdGNoYS12YWxpZGF0aW9uLW9mZnNldC15fSApO1xuICAgICAgICBmb250LXNpemU6IHZhciggLS1rZW5kby1jYXB0Y2hhLXZhbGlkYXRpb24tZm9udC1zaXplLCAjeyRrZW5kby1jYXB0Y2hhLXZhbGlkYXRpb24tZm9udC1zaXplfSApO1xuICAgIH1cblxufVxuIiwiQHVzZSBcIi4uL2NvcmUvX2luZGV4LnNjc3NcIiBhcyAqO1xuQHVzZSBcIi4vX3ZhcmlhYmxlcy5zY3NzXCIgYXMgKjtcblxuQG1peGluIGtlbmRvLWNhcHRjaGEtLXRoZW1lKCkge1xuXG4gICAgLy8gQ2FwdGNoYVxuICAgIC5rLWNhcHRjaGEge1xuICAgICAgICBAaW5jbHVkZSBmaWxsKFxuICAgICAgICAgICAgdmFyKCAtLWtlbmRvLWNhcHRjaGEtdGV4dCwgI3ska2VuZG8tY2FwdGNoYS10ZXh0fSApLFxuICAgICAgICAgICAgdmFyKCAtLWtlbmRvLWNhcHRjaGEtYmcsICN7JGtlbmRvLWNhcHRjaGEtYmd9ICksXG4gICAgICAgICAgICB2YXIoIC0ta2VuZG8tY2FwdGNoYS1ib3JkZXIsICN7JGtlbmRvLWNhcHRjaGEtYm9yZGVyfSApXG4gICAgICAgICk7XG4gICAgfVxuXG59XG4iLCJAdXNlIFwic2FzczptYXBcIjtcbkB1c2UgXCIuLi9jb3JlL19pbmRleC5zY3NzXCIgYXMgKjtcbkB1c2UgXCIuL192YXJpYWJsZXMuc2Nzc1wiIGFzICo7XG5cbkBtaXhpbiBrZW5kby1jb2xvci1wYWxldHRlLS1sYXlvdXQoKSB7XG5cbiAgICAvLyBDb2xvclBhbGV0dGVcbiAgICAuay1jb2xvcnBhbGV0dGUge1xuICAgICAgICBib3JkZXItd2lkdGg6IDA7XG4gICAgICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgICAgIG91dGxpbmU6IDA7XG4gICAgICAgIGZvbnQtc2l6ZTogdmFyKCAtLWtlbmRvLWNvbG9yLXBhbGV0dGUtZm9udC1zaXplLCAjeyRrZW5kby1jb2xvci1wYWxldHRlLWZvbnQtc2l6ZX0gKTtcbiAgICAgICAgZm9udC1mYW1pbHk6IHZhciggLS1rZW5kby1jb2xvci1wYWxldHRlLWZvbnQtZmFtaWx5LCAjeyRrZW5kby1jb2xvci1wYWxldHRlLWZvbnQtZmFtaWx5fSApO1xuICAgICAgICBsaW5lLWhlaWdodDogdmFyKCAtLWtlbmRvLWNvbG9yLXBhbGV0dGUtbGluZS1oZWlnaHQsICN7JGtlbmRvLWNvbG9yLXBhbGV0dGUtbGluZS1oZWlnaHR9ICk7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIC13ZWJraXQtdG91Y2gtY2FsbG91dDogbm9uZTtcbiAgICAgICAgLXdlYmtpdC10YXAtaGlnaGxpZ2h0LWNvbG9yOiAka2VuZG8tY29sb3ItcmdiYS10cmFuc3BhcmVudDtcblxuICAgICAgICAqLFxuICAgICAgICAqOjpiZWZvcmUsXG4gICAgICAgICo6OmFmdGVyIHtcbiAgICAgICAgICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgICAgIH1cblxuICAgICAgICAmLmstZGlzYWJsZWQge1xuICAgICAgICAgICAgb3BhY2l0eTogLjM7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBUYWJsZVxuICAgIC5rLWNvbG9ycGFsZXR0ZS10YWJsZSB7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgIGJvcmRlci1jb2xsYXBzZTogY29sbGFwc2U7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB9XG5cbiAgICAvLyBUaWxlXG4gICAgLmstY29sb3JwYWxldHRlLXRpbGUge1xuICAgICAgICBvdXRsaW5lLXdpZHRoOiB2YXIoIC0ta2VuZG8tY29sb3ItcGFsZXR0ZS10aWxlLW91dGxpbmUtd2lkdGgsICN7JGtlbmRvLWNvbG9yLXBhbGV0dGUtdGlsZS1vdXRsaW5lLXdpZHRofSApO1xuICAgICAgICBvdXRsaW5lLXN0eWxlOiB2YXIoIC0ta2VuZG8tY29sb3ItcGFsZXR0ZS10aWxlLW91dGxpbmUtc3R5bGUsICN7JGtlbmRvLWNvbG9yLXBhbGV0dGUtdGlsZS1vdXRsaW5lLXN0eWxlfSApO1xuICAgICAgICB3aWR0aDogdmFyKCAtLWtlbmRvLWNvbG9yLXBhbGV0dGUtdGlsZS13aWR0aCwgI3ska2VuZG8tY29sb3ItcGFsZXR0ZS10aWxlLXdpZHRofSApO1xuICAgICAgICBoZWlnaHQ6IHZhciggLS1rZW5kby1jb2xvci1wYWxldHRlLXRpbGUtaGVpZ2h0LCAjeyRrZW5kby1jb2xvci1wYWxldHRlLXRpbGUtaGVpZ2h0fSApO1xuICAgICAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XG5cbiAgICAgICAgJjpob3ZlcixcbiAgICAgICAgJi5rLWhvdmVyIHtcbiAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgICAgIHotaW5kZXg6IDEwMTtcbiAgICAgICAgfVxuXG4gICAgICAgICY6Zm9jdXMsXG4gICAgICAgICYuay1mb2N1cyxcbiAgICAgICAgJi5rLXNlbGVjdGVkLFxuICAgICAgICAmLmstc2VsZWN0ZWQ6aG92ZXIge1xuICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICAgICAgei1pbmRleDogMTAwO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLy8gQ29sb3JQYWxldHRlIHNpemVzXG4gICAgQGVhY2ggJHNpemUsICRzaXplLXByb3BzIGluICRrZW5kby1jb2xvci1wYWxldHRlLXNpemVzIHtcbiAgICAgICAgJF90aWxlLXdpZHRoOiBtYXAuZ2V0KCAkc2l6ZS1wcm9wcywgd2lkdGggKTtcbiAgICAgICAgJF90aWxlLWhlaWdodDogbWFwLmdldCggJHNpemUtcHJvcHMsIGhlaWdodCApO1xuXG4gICAgICAgIC5rLWNvbG9ycGFsZXR0ZS0jeyRzaXplfSB7XG4gICAgICAgICAgICAuay1jb2xvcnBhbGV0dGUtdGlsZSB7XG4gICAgICAgICAgICAgICAgd2lkdGg6ICRfdGlsZS13aWR0aDtcbiAgICAgICAgICAgICAgICBoZWlnaHQ6ICRfdGlsZS1oZWlnaHQ7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbn1cbiIsIkB1c2UgXCIuLi9jb3JlL19pbmRleC5zY3NzXCIgYXMgKjtcbkB1c2UgXCIuL192YXJpYWJsZXMuc2Nzc1wiIGFzICo7XG5cbkBtaXhpbiBrZW5kby1jb2xvci1wYWxldHRlLS10aGVtZSgpIHtcblxuICAgIC8vIFRpbGVcbiAgICAuay1jb2xvcnBhbGV0dGUtdGlsZSB7XG4gICAgICAgIG91dGxpbmUtY29sb3I6IHZhciggLS1rZW5kby1jb2xvci1wYWxldHRlLXRpbGUtb3V0bGluZSwgI3ska2VuZG8tY29sb3ItcGFsZXR0ZS10aWxlLW91dGxpbmV9ICk7XG5cbiAgICAgICAgLy8gSG92ZXJcbiAgICAgICAgJjpob3ZlcixcbiAgICAgICAgJi5rLWhvdmVyIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGJveC1zaGFkb3coXG4gICAgICAgICAgICAgICAgdmFyKCAtLWtlbmRvLWNvbG9yLXBhbGV0dGUtdGlsZS1ob3Zlci1zaGFkb3csICN7JGtlbmRvLWNvbG9yLXBhbGV0dGUtdGlsZS1ob3Zlci1zaGFkb3d9IClcbiAgICAgICAgICAgICk7XG4gICAgICAgICAgICBvdXRsaW5lLWNvbG9yOiB2YXIoIC0ta2VuZG8tY29sb3ItcGFsZXR0ZS10aWxlLWhvdmVyLW91dGxpbmUsICN7JGtlbmRvLWNvbG9yLXBhbGV0dGUtdGlsZS1ob3Zlci1vdXRsaW5lfSApO1xuICAgICAgICB9XG5cbiAgICAgICAgLy8gRm9jdXNcbiAgICAgICAgJjpmb2N1cyxcbiAgICAgICAgJi5rLWZvY3VzIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGJveC1zaGFkb3coXG4gICAgICAgICAgICAgICAgdmFyKCAtLWtlbmRvLWNvbG9yLXBhbGV0dGUtdGlsZS1mb2N1cy1zaGFkb3csICN7JGtlbmRvLWNvbG9yLXBhbGV0dGUtdGlsZS1mb2N1cy1zaGFkb3d9IClcbiAgICAgICAgICAgICk7XG4gICAgICAgICAgICBvdXRsaW5lLWNvbG9yOiB2YXIoIC0ta2VuZG8tY29sb3ItcGFsZXR0ZS10aWxlLWZvY3VzLW91dGxpbmUsICN7JGtlbmRvLWNvbG9yLXBhbGV0dGUtdGlsZS1mb2N1cy1vdXRsaW5lfSApO1xuICAgICAgICB9XG5cbiAgICAgICAgLy8gU2VsZWN0ZWRcbiAgICAgICAgJi5rLXNlbGVjdGVkIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGJveC1zaGFkb3coXG4gICAgICAgICAgICAgICAgdmFyKCAtLWtlbmRvLWNvbG9yLXBhbGV0dGUtdGlsZS1zZWxlY3RlZC1zaGFkb3csICN7JGtlbmRvLWNvbG9yLXBhbGV0dGUtdGlsZS1zZWxlY3RlZC1zaGFkb3d9IClcbiAgICAgICAgICAgICk7XG4gICAgICAgICAgICBvdXRsaW5lLWNvbG9yOiB2YXIoIC0ta2VuZG8tY29sb3ItcGFsZXR0ZS10aWxlLXNlbGVjdGVkLW91dGxpbmUsICN7JGtlbmRvLWNvbG9yLXBhbGV0dGUtdGlsZS1zZWxlY3RlZC1vdXRsaW5lfSApO1xuICAgICAgICB9XG5cbiAgICAgICAgLy8gU2VsZWN0ZWQgaG92ZXIvZm9jdXNcbiAgICAgICAgJi5rLXNlbGVjdGVkOmhvdmVyLFxuICAgICAgICAmLmstc2VsZWN0ZWQ6Zm9jdXMge1xuICAgICAgICAgICAgb3V0bGluZS1jb2xvcjogdmFyKCAtLWtlbmRvLWNvbG9yLXBhbGV0dGUtdGlsZS1zZWxlY3RlZC1ob3Zlci1vdXRsaW5lLCAjeyRrZW5kby1jb2xvci1wYWxldHRlLXRpbGUtc2VsZWN0ZWQtaG92ZXItb3V0bGluZX0gKTtcbiAgICAgICAgfVxuICAgIH1cblxufVxuIiwiQHVzZSBcInNhc3M6bWFwXCI7XG5AdXNlIFwiLi4vY29yZS9faW5kZXguc2Nzc1wiIGFzICo7XG5AdXNlIFwiLi9fdmFyaWFibGVzLnNjc3NcIiBhcyAqO1xuXG5AbWl4aW4ga2VuZG8tY29sb3ItZ3JhZGllbnQtLWxheW91dCgpIHtcblxuICAgIC8vIENvbG9yR3JhZGllbnRcbiAgICAuay1jb2xvcmdyYWRpZW50IHtcbiAgICAgICAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cyggdmFyKCAtLWtlbmRvLWNvbG9yLWdyYWRpZW50LWJvcmRlci1yYWRpdXMsICN7JGtlbmRvLWNvbG9yLWdyYWRpZW50LWJvcmRlci1yYWRpdXN9ICkgKTtcbiAgICAgICAgd2lkdGg6IHZhciggLS1rZW5kby1jb2xvci1ncmFkaWVudC13aWR0aCwgI3ska2VuZG8tY29sb3ItZ3JhZGllbnQtd2lkdGh9ICk7XG4gICAgICAgIHBhZGRpbmctaW5saW5lOiB2YXIoIC0ta2VuZG8tY29sb3ItZ3JhZGllbnQtcGFkZGluZy14LCAjeyRrZW5kby1jb2xvci1ncmFkaWVudC1wYWRkaW5nLXh9ICk7XG4gICAgICAgIHBhZGRpbmctYmxvY2s6IHZhciggLS1rZW5kby1jb2xvci1ncmFkaWVudC1wYWRkaW5nLXksICN7JGtlbmRvLWNvbG9yLWdyYWRpZW50LXBhZGRpbmcteX0gKTtcbiAgICAgICAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcbiAgICAgICAgYm9yZGVyLXdpZHRoOiB2YXIoIC0ta2VuZG8tY29sb3ItZ3JhZGllbnQtYm9yZGVyLXdpZHRoLCAjeyRrZW5kby1jb2xvci1ncmFkaWVudC1ib3JkZXItd2lkdGh9ICk7XG4gICAgICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgICAgIG91dGxpbmU6IDA7XG4gICAgICAgIGZvbnQtc2l6ZTogdmFyKCAtLWtlbmRvLWNvbG9yLWdyYWRpZW50LWZvbnQtc2l6ZSwgI3ska2VuZG8tY29sb3ItZ3JhZGllbnQtZm9udC1zaXplfSApO1xuICAgICAgICBmb250LWZhbWlseTogdmFyKCAtLWtlbmRvLWNvbG9yLWdyYWRpZW50LWZvbnQtZmFtaWx5LCAjeyRrZW5kby1jb2xvci1ncmFkaWVudC1mb250LWZhbWlseX0gKTtcbiAgICAgICAgbGluZS1oZWlnaHQ6IHZhciggLS1rZW5kby1jb2xvci1ncmFkaWVudC1saW5lLWhlaWdodCwgI3ska2VuZG8tY29sb3ItZ3JhZGllbnQtbGluZS1oZWlnaHR9ICk7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICAgIGFsaWduLWl0ZW1zOiBzdHJldGNoO1xuICAgICAgICBnYXA6IHZhciggLS1rZW5kby1jb2xvci1ncmFkaWVudC1zcGFjaW5nLCAjeyRrZW5kby1jb2xvci1ncmFkaWVudC1zcGFjaW5nfSApO1xuICAgICAgICAtd2Via2l0LXRvdWNoLWNhbGxvdXQ6IG5vbmU7XG4gICAgICAgIC13ZWJraXQtdGFwLWhpZ2hsaWdodC1jb2xvcjogJGtlbmRvLWNvbG9yLXJnYmEtdHJhbnNwYXJlbnQ7XG5cbiAgICAgICAgKixcbiAgICAgICAgKjo6YmVmb3JlLFxuICAgICAgICAqOjphZnRlciB7XG4gICAgICAgICAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLy8gQ2FudmFzXG4gICAgLmstY29sb3JncmFkaWVudC1jYW52YXMge1xuICAgICAgICBnYXA6IHZhciggLS1rZW5kby1jb2xvci1ncmFkaWVudC1jYW52YXMtc3BhY2luZywgI3ska2VuZG8tY29sb3ItZ3JhZGllbnQtY2FudmFzLXNwYWNpbmd9ICk7XG5cbiAgICAgICAgLmstaHN2LXJlY3RhbmdsZSB7XG4gICAgICAgICAgICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKCB2YXIoIC0ta2VuZG8tY29sb3ItZ3JhZGllbnQtY2FudmFzLWJvcmRlci1yYWRpdXMsICN7JGtlbmRvLWNvbG9yLWdyYWRpZW50LWNhbnZhcy1ib3JkZXItcmFkaXVzfSApICk7XG4gICAgICAgICAgICBib3JkZXItd2lkdGg6ICB2YXIoIC0ta2VuZG8tY29sb3ItZ3JhZGllbnQtY2FudmFzLWJvcmRlci13aWR0aCwgI3ska2VuZG8tY29sb3ItZ3JhZGllbnQtY2FudmFzLWJvcmRlci13aWR0aH0gKTtcbiAgICAgICAgICAgIGJvcmRlci1zdHlsZTogc29saWQ7XG4gICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgICAgICBmbGV4OiAxIDEgYXV0bztcbiAgICAgICAgICAgIHVzZXItc2VsZWN0OiBub25lO1xuICAgICAgICB9XG5cbiAgICAgICAgLmstaHN2LWdyYWRpZW50IHtcbiAgICAgICAgICAgIGhlaWdodDogdmFyKCAtLWtlbmRvLWNvbG9yLWdyYWRpZW50LWNhbnZhcy1yZWN0YW5nbGUtaGVpZ2h0LCAjeyRrZW5kby1jb2xvci1ncmFkaWVudC1jYW52YXMtcmVjdGFuZ2xlLWhlaWdodH0gKTtcbiAgICAgICAgfVxuXG4gICAgICAgIC5rLWhzdi1kcmFnaGFuZGxlIHtcbiAgICAgICAgICAgIG1hcmdpbi1ibG9jay1zdGFydDogdmFyKCAtLWtlbmRvLWNvbG9yLWdyYWRpZW50LWNhbnZhcy1kcmFnaGFuZGxlLW9mZnNldC15LCAjeyRrZW5kby1jb2xvci1ncmFkaWVudC1jYW52YXMtZHJhZ2hhbmRsZS1vZmZzZXQteX0gKTtcbiAgICAgICAgICAgIG1hcmdpbi1pbmxpbmUtc3RhcnQ6IHZhciggLS1rZW5kby1jb2xvci1ncmFkaWVudC1jYW52YXMtZHJhZ2hhbmRsZS0tb2Zmc2V0LXgsICN7JGtlbmRvLWNvbG9yLWdyYWRpZW50LWNhbnZhcy1kcmFnaGFuZGxlLW9mZnNldC14fSApO1xuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgdG9wOiA1MCU7XG4gICAgICAgICAgICBsZWZ0OiA1MCU7XG4gICAgICAgICAgICB6LWluZGV4OiAxMDtcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgICAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgICAgICB9XG5cbiAgICAgICAgLmstaHN2LWNvbnRyb2xzIHtcbiAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgICAgIGZsZXgtc2hyaW5rOiAwO1xuICAgICAgICAgICAgZ2FwOiB2YXIoIC0ta2VuZG8tY29sb3ItZ3JhZGllbnQtY2FudmFzLXNwYWNpbmcsICN7JGtlbmRvLWNvbG9yLWdyYWRpZW50LWNhbnZhcy1zcGFjaW5nfSApO1xuICAgICAgICB9XG5cbiAgICAgICAgJi5rLXZzdGFjayB7XG4gICAgICAgICAgICBwYWRkaW5nLWlubGluZTogY2FsYyggKCRrZW5kby1jb2xvci1ncmFkaWVudC1kcmFnaGFuZGxlLXdpZHRoICsgJGtlbmRvLWNvbG9yLWdyYWRpZW50LWRyYWdoYW5kbGUtYm9yZGVyLXdpZHRoKSAvIDIgKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8vIERyYWdIYW5kbGVcbiAgICAuay1jb2xvcmdyYWRpZW50IC5rLWRyYWdoYW5kbGUge1xuICAgICAgICB3aWR0aDogdmFyKCAtLWtlbmRvLWNvbG9yLWdyYWRpZW50LWRyYWdoYW5kbGUtd2lkdGgsICN7JGtlbmRvLWNvbG9yLWdyYWRpZW50LWRyYWdoYW5kbGUtd2lkdGh9ICk7XG4gICAgICAgIGhlaWdodDogdmFyKCAtLWtlbmRvLWNvbG9yLWdyYWRpZW50LWRyYWdoYW5kbGUtaGVpZ2h0LCAjeyRrZW5kby1jb2xvci1ncmFkaWVudC1kcmFnaGFuZGxlLWhlaWdodH0gKTtcbiAgICAgICAgYm9yZGVyLXdpZHRoOiB2YXIoIC0ta2VuZG8tY29sb3ItZ3JhZGllbnQtZHJhZ2hhbmRsZS1ib3JkZXItd2lkdGgsICN7JGtlbmRvLWNvbG9yLWdyYWRpZW50LWRyYWdoYW5kbGUtYm9yZGVyLXdpZHRofSApO1xuICAgICAgICBvdXRsaW5lLXdpZHRoOiB2YXIoIC0ta2VuZG8tY29sb3ItZ3JhZGllbnQtZHJhZ2hhbmRsZS1vdXRsaW5lLXdpZHRoLCAjeyRrZW5kby1jb2xvci1ncmFkaWVudC1kcmFnaGFuZGxlLW91dGxpbmUtd2lkdGh9ICk7XG4gICAgICAgIG91dGxpbmUtc3R5bGU6IHNvbGlkO1xuICAgICAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgIH1cblxuICAgIC8vIFNsaWRlcnNcbiAgICAuay1jb2xvcmdyYWRpZW50LXNsaWRlciB7XG5cbiAgICAgICAgJi5rLXNsaWRlci12ZXJ0aWNhbCB7XG4gICAgICAgICAgICB3aWR0aDogdmFyKCAtLWtlbmRvLWNvbG9yLWdyYWRpZW50LXNsaWRlci10cmFjay1zaXplLCAjeyRrZW5kby1jb2xvci1ncmFkaWVudC1zbGlkZXItdHJhY2stc2l6ZX0gKTtcbiAgICAgICAgICAgIGhlaWdodDogdmFyKCAtLWtlbmRvLWNvbG9yLWdyYWRpZW50LXNsaWRlci12ZXJ0aWNhbC1zaXplLCAjeyRrZW5kby1jb2xvci1ncmFkaWVudC1zbGlkZXItdmVydGljYWwtc2l6ZX0gKTtcbiAgICAgICAgICAgIGZsZXg6IDAgMCB2YXIoIC0ta2VuZG8tY29sb3ItZ3JhZGllbnQtc2xpZGVyLXRyYWNrLXNpemUsICN7JGtlbmRvLWNvbG9yLWdyYWRpZW50LXNsaWRlci10cmFjay1zaXplfSApO1xuICAgICAgICB9XG4gICAgICAgICYuay1zbGlkZXItdmVydGljYWwgLmstc2xpZGVyLXRyYWNrIHtcbiAgICAgICAgICAgIHdpZHRoOiB2YXIoIC0ta2VuZG8tY29sb3ItZ3JhZGllbnQtc2xpZGVyLXRyYWNrLXNpemUsICN7JGtlbmRvLWNvbG9yLWdyYWRpZW50LXNsaWRlci10cmFjay1zaXplfSApO1xuICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogdmFyKCAtLWtlbmRvLWNvbG9yLWdyYWRpZW50LXNsaWRlci1ib3JkZXItcmFkaXVzLCAjeyRrZW5kby1jb2xvci1ncmFkaWVudC1zbGlkZXItYm9yZGVyLXJhZGl1c30gKTtcblxuICAgICAgICAgICAgLy8gUmVxdWlyZWQgc2luY2UgdGhlIHRyYWNrIGlzIGFic29sdXRlbHkgbGVmdCBwb3NpdGlvbmVkXG4gICAgICAgICAgICBtYXJnaW4tbGVmdDogY2FsYyggLTEgKiAodmFyKCAtLWtlbmRvLWNvbG9yLWdyYWRpZW50LXNsaWRlci10cmFjay1zaXplLCAjeyRrZW5kby1jb2xvci1ncmFkaWVudC1zbGlkZXItdHJhY2stc2l6ZX0gKSAvIDIpICk7XG4gICAgICAgIH1cblxuICAgICAgICAmLmstc2xpZGVyLWhvcml6b250YWwge1xuICAgICAgICAgICAgd2lkdGg6IHZhciggLS1rZW5kby1jb2xvci1ncmFkaWVudC1zbGlkZXItaG9yaXpvbnRhbC1zaXplLCAjeyRrZW5kby1jb2xvci1ncmFkaWVudC1zbGlkZXItaG9yaXpvbnRhbC1zaXplfSApO1xuICAgICAgICAgICAgaGVpZ2h0OiB2YXIoIC0ta2VuZG8tY29sb3ItZ3JhZGllbnQtc2xpZGVyLXRyYWNrLXNpemUsICN7JGtlbmRvLWNvbG9yLWdyYWRpZW50LXNsaWRlci10cmFjay1zaXplfSApO1xuICAgICAgICAgICAgZmxleDogMCAwIHZhciggLS1rZW5kby1jb2xvci1ncmFkaWVudC1zbGlkZXItdHJhY2stc2l6ZSwgI3ska2VuZG8tY29sb3ItZ3JhZGllbnQtc2xpZGVyLXRyYWNrLXNpemV9ICk7XG4gICAgICAgIH1cbiAgICAgICAgJi5rLXNsaWRlci1ob3Jpem9udGFsIC5rLXNsaWRlci10cmFjayB7XG4gICAgICAgICAgICBoZWlnaHQ6IHZhciggLS1rZW5kby1jb2xvci1ncmFkaWVudC1zbGlkZXItdHJhY2stc2l6ZSwgI3ska2VuZG8tY29sb3ItZ3JhZGllbnQtc2xpZGVyLXRyYWNrLXNpemV9ICk7XG4gICAgICAgICAgICBib3JkZXItcmFkaXVzOiB2YXIoIC0ta2VuZG8tY29sb3ItZ3JhZGllbnQtc2xpZGVyLWJvcmRlci1yYWRpdXMsICN7JGtlbmRvLWNvbG9yLWdyYWRpZW50LXNsaWRlci1ib3JkZXItcmFkaXVzfSApO1xuICAgICAgICAgICAgbWFyZ2luLWJsb2NrLXN0YXJ0OiBjYWxjKCAoIHZhciggLS1rZW5kby1jb2xvci1ncmFkaWVudC1zbGlkZXItdHJhY2stc2l6ZSwgI3ska2VuZG8tY29sb3ItZ3JhZGllbnQtc2xpZGVyLXRyYWNrLXNpemV9ICkgLyAyICkgKiAtMSApO1xuICAgICAgICB9XG5cbiAgICAgICAgJi5rLWFscGhhLXNsaWRlciAuay1zbGlkZXItdHJhY2s6OmJlZm9yZSB7XG4gICAgICAgICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDJweDtcbiAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgICAgIHotaW5kZXg6IC0xO1xuICAgICAgICB9XG5cbiAgICAgICAgLmstc2xpZGVyLXRyYWNrIHtcbiAgICAgICAgICAgIGJvcmRlci13aWR0aDogIHZhciggLS1rZW5kby1jb2xvci1ncmFkaWVudC1zbGlkZXItYm9yZGVyLXdpZHRoLCAjeyRrZW5kby1jb2xvci1ncmFkaWVudC1zbGlkZXItYm9yZGVyLXdpZHRofSApO1xuICAgICAgICAgICAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcbiAgICAgICAgICAgIHRyYW5zZm9ybTogbm9uZTtcbiAgICAgICAgICAgIHotaW5kZXg6IGF1dG87XG4gICAgICAgIH1cblxuICAgICAgICAuay1zbGlkZXItdHJhY2std3JhcCB7XG4gICAgICAgICAgICB6LWluZGV4OiAxO1xuICAgICAgICB9XG5cbiAgICAgICAgLmstc2xpZGVyLXNlbGVjdGlvbiB7XG4gICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICB9XG5cbiAgICB9XG5cbiAgICAvLyBDb2xvckdyYWRpZW50IHNpemVzXG4gICAgQGVhY2ggJHNpemUsICRzaXplLXByb3BzIGluICRrZW5kby1jb2xvci1ncmFkaWVudC1zaXplcyB7XG4gICAgICAgICRfd2lkdGg6IG1hcC5nZXQoICRzaXplLXByb3BzLCB3aWR0aCApO1xuICAgICAgICAkX3NwYWNpbmc6IG1hcC5nZXQoICRzaXplLXByb3BzLCBzcGFjaW5nICk7XG4gICAgICAgICRfdmVydGljYWwtc2xpZGVyLWhlaWdodDogbWFwLmdldCggJHNpemUtcHJvcHMsIHZlcnRpY2FsLXNsaWRlci1oZWlnaHQgKTtcbiAgICAgICAgJF9yZWN0YW5nbGUtaGVpZ2h0OiBtYXAuZ2V0KCAkc2l6ZS1wcm9wcywgcmVjdGFuZ2xlLWhlaWdodCApO1xuICAgICAgICAkX2lucHV0LXdpZHRoOiBtYXAuZ2V0KCAkc2l6ZS1wcm9wcywgaW5wdXQtd2lkdGggKTtcbiAgICAgICAgJF9jYW52YXMtc3BhY2luZzogbWFwLmdldCggJHNpemUtcHJvcHMsIGNhbnZhcy1zcGFjaW5nICk7XG4gICAgICAgICRfcGFkZGluZy14OiBtYXAuZ2V0KCAkc2l6ZS1wcm9wcywgcGFkZGluZy14ICk7XG4gICAgICAgICRfcGFkZGluZy15OiBtYXAuZ2V0KCAkc2l6ZS1wcm9wcywgcGFkZGluZy15ICk7XG5cbiAgICAgICAgLmstY29sb3JncmFkaWVudC0jeyRzaXplfSB7XG4gICAgICAgICAgICB3aWR0aDogJF93aWR0aDtcbiAgICAgICAgICAgIGdhcDogJF9zcGFjaW5nO1xuICAgICAgICAgICAgcGFkZGluZy1ibG9jazogJF9wYWRkaW5nLXk7XG4gICAgICAgICAgICBwYWRkaW5nLWlubGluZTogJF9wYWRkaW5nLXg7XG5cbiAgICAgICAgICAgIC5rLWNvbG9yZ3JhZGllbnQtaW5wdXRzIHtcbiAgICAgICAgICAgICAgICAuay1udW1lcmljdGV4dGJveCB7XG4gICAgICAgICAgICAgICAgICAgIHdpZHRoOiAkX2lucHV0LXdpZHRoO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLmstY29sb3JncmFkaWVudC1jYW52YXMge1xuICAgICAgICAgICAgICAgIGdhcDogJF9jYW52YXMtc3BhY2luZztcblxuICAgICAgICAgICAgICAgIC5rLWhzdi1ncmFkaWVudCB7XG4gICAgICAgICAgICAgICAgICAgIGhlaWdodDogJF9yZWN0YW5nbGUtaGVpZ2h0O1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIC5rLXNsaWRlci12ZXJ0aWNhbCB7XG4gICAgICAgICAgICAgICAgICAgIGhlaWdodDogJF92ZXJ0aWNhbC1zbGlkZXItaGVpZ2h0O1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIC5rLWhzdi1jb250cm9scyB7XG4gICAgICAgICAgICAgICAgICAgIGdhcDogJF9jYW52YXMtc3BhY2luZztcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBJbnB1dHNcbiAgICAuay1jb2xvcmdyYWRpZW50LWlucHV0cyB7XG4gICAgICAgIGdhcDogdmFyKCAtLWtlbmRvLWNvbG9yLWdyYWRpZW50LWlucHV0LXNwYWNpbmcsICN7JGtlbmRvLWNvbG9yLWdyYWRpZW50LWlucHV0LXNwYWNpbmd9ICk7XG5cbiAgICAgICAgLmstY29sb3JncmFkaWVudC1pbnB1dC1sYWJlbCB7XG4gICAgICAgICAgICBmb250LXNpemU6IHZhciggLS1rZW5kby1jb2xvci1ncmFkaWVudC1pbnB1dC1sYWJlbC1mb250LXNpemUsICN7JGtlbmRvLWNvbG9yLWdyYWRpZW50LWlucHV0LWxhYmVsLWZvbnQtc2l6ZX0gKTtcbiAgICAgICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgICAgIH1cblxuICAgICAgICA+IC5rLXZzdGFjayB7XG4gICAgICAgICAgICBnYXA6IHZhciggLS1rZW5kby1jb2xvci1ncmFkaWVudC1pbnB1dC1sYWJlbC1zcGFjaW5nLCAjeyRrZW5kby1jb2xvci1ncmFkaWVudC1pbnB1dC1sYWJlbC1zcGFjaW5nfSApO1xuICAgICAgICB9XG5cbiAgICAgICAgLmstbnVtZXJpY3RleHRib3gge1xuICAgICAgICAgICAgd2lkdGg6IHZhciggLS1rZW5kby1jb2xvci1ncmFkaWVudC1pbnB1dC13aWR0aCwgI3ska2VuZG8tY29sb3ItZ3JhZGllbnQtaW5wdXQtd2lkdGh9ICk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBDb250cmFzdFxuICAgIC5rLWNvbG9yZ3JhZGllbnQtY29sb3ItY29udHJhc3Qge1xuXG4gICAgICAgID4gZGl2IHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICBmbGV4LWZsb3c6IHJvdyBub3dyYXA7XG4gICAgICAgICAgICBnYXA6IHZhciggLS1rZW5kby1jb2xvci1ncmFkaWVudC1jb250cmFzdC1zcGFjaW5nLCAjeyRrZW5kby1jb2xvci1ncmFkaWVudC1jb250cmFzdC1zcGFjaW5nfSApO1xuICAgICAgICB9XG5cbiAgICAgICAgLmstY29udHJhc3QtcmF0aW8ge1xuICAgICAgICAgICAgbWFyZ2luLWJsb2NrLWVuZDogdmFyKCAtLWtlbmRvLWNvbG9yLWdyYWRpZW50LWNvbnRyYXN0LXNwYWNpbmcsICN7JGtlbmRvLWNvbG9yLWdyYWRpZW50LWNvbnRyYXN0LXNwYWNpbmd9ICk7XG4gICAgICAgIH1cblxuICAgICAgICAuay1jb250cmFzdC1yYXRpby10ZXh0IHtcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiB2YXIoIC0ta2VuZG8tY29sb3ItZ3JhZGllbnQtY29udHJhc3QtcmF0aW8tZm9udC13ZWlnaHQsICN7JGtlbmRvLWNvbG9yLWdyYWRpZW50LWNvbnRyYXN0LXJhdGlvLWZvbnQtd2VpZ2h0fSApO1xuICAgICAgICB9XG5cbiAgICAgICAgLmstY29udHJhc3QtdmFsaWRhdGlvbiB7XG4gICAgICAgICAgICAtLUlOVEVSTkFMLS1rZW5kby1jb2xvci1ncmFkaWVudC1jb250cmFzdC1zcGFjaW5nOiB2YXIoIC0ta2VuZG8tY29sb3ItZ3JhZGllbnQtY29udHJhc3Qtc3BhY2luZywgICN7JGtlbmRvLWNvbG9yLWdyYWRpZW50LWNvbnRyYXN0LXNwYWNpbmd9ICk7XG4gICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgICAgICBnYXA6IGNhbGMoIHZhciggLS1JTlRFUk5BTC0ta2VuZG8tY29sb3ItZ3JhZGllbnQtY29udHJhc3Qtc3BhY2luZyApIC8gMiApO1xuXG4gICAgICAgICAgICAuay1pY29uIHtcbiAgICAgICAgICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAvLyBOZWVkZWQgZm9yIHRoZSBkb3VibGUgY2hlY2sgaWNvbnNcbiAgICAgICAgICAgIC5rLWljb24gKyAuay1pY29uLFxuICAgICAgICAgICAgLmstaWNvbi13cmFwcGVyLWhvc3QgKyAuay1pY29uLXdyYXBwZXItaG9zdCAuay1pY29uIHtcbiAgICAgICAgICAgICAgICBtYXJnaW4taW5saW5lLXN0YXJ0OiAtMTNweDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbiAgICAuay1jb2xvci1jb250cmFzdC1zdmcge1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHRvcDogMDtcbiAgICAgICAgbGVmdDogMDtcbiAgICAgICAgb3ZlcmZsb3c6IHZpc2libGU7XG4gICAgICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICAgIH1cblxufVxuIiwiQHVzZSBcIi4uL2NvcmUvX2luZGV4LnNjc3NcIiBhcyAqO1xuQHVzZSBcIi4vX3ZhcmlhYmxlcy5zY3NzXCIgYXMgKjtcblxuQG1peGluIGtlbmRvLWNvbG9yLWdyYWRpZW50LS10aGVtZSgpIHtcblxuICAgIC8vIENvbG9yR3JhZGllbnRcbiAgICAuay1jb2xvcmdyYWRpZW50IHtcbiAgICAgICAgQGluY2x1ZGUgZmlsbChcbiAgICAgICAgICAgIHZhciggLS1rZW5kby1jb2xvci1ncmFkaWVudC10ZXh0LCAjeyRrZW5kby1jb2xvci1ncmFkaWVudC10ZXh0fSApLFxuICAgICAgICAgICAgdmFyKCAtLWtlbmRvLWNvbG9yLWdyYWRpZW50LWJnLCAjeyRrZW5kby1jb2xvci1ncmFkaWVudC1iZ30gKSxcbiAgICAgICAgICAgIHZhciggLS1rZW5kby1jb2xvci1ncmFkaWVudC1ib3JkZXIsICN7JGtlbmRvLWNvbG9yLWdyYWRpZW50LWJvcmRlcn0gKVxuICAgICAgICApO1xuICAgICAgICBAaW5jbHVkZSBib3gtc2hhZG93KFxuICAgICAgICAgICAgdmFyKCAtLWtlbmRvLWNvbG9yLWdyYWRpZW50LXNoYWRvdywgI3ska2VuZG8tY29sb3ItZ3JhZGllbnQtc2hhZG93fSApXG4gICAgICAgICk7XG4gICAgfVxuXG4gICAgLmstY29sb3JncmFkaWVudDpmb2N1cyxcbiAgICAuay1jb2xvcmdyYWRpZW50LmstZm9jdXMge1xuICAgICAgICBAaW5jbHVkZSBmaWxsKFxuICAgICAgICAgICAgJGJvcmRlcjogdmFyKCAtLWtlbmRvLWNvbG9yLWdyYWRpZW50LWZvY3VzLWJvcmRlciwgI3ska2VuZG8tY29sb3ItZ3JhZGllbnQtZm9jdXMtYm9yZGVyfSApXG4gICAgICAgICk7XG4gICAgfVxuXG4gICAgLy8gQ2FudmFzXG4gICAgLmstY29sb3JncmFkaWVudC1jYW52YXMge1xuICAgICAgICAuay1oc3YtZ3JhZGllbnQge1xuICAgICAgICAgICAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KCB0byBib3R0b20sICRrZW5kby1ncmFkaWVudC10cmFuc3BhcmVudC10by1ibGFjayApLCBsaW5lYXItZ3JhZGllbnQoIHRvIHJpZ2h0LCAka2VuZG8tZ3JhZGllbnQtd2hpdGUtdG8tdHJhbnNwYXJlbnQgKTtcbiAgICAgICAgfVxuXG4gICAgICAgIC5rLWhzdi1yZWN0YW5nbGUge1xuICAgICAgICAgICAgQGluY2x1ZGUgZmlsbChcbiAgICAgICAgICAgICAgICAkYm9yZGVyOiB2YXIoIC0ta2VuZG8tY29sb3ItZ3JhZGllbnQtY2FudmFzLXJlY3RhbmdsZS1ib3JkZXIsICN7JGtlbmRvLWNvbG9yLWdyYWRpZW50LWNhbnZhcy1yZWN0YW5nbGUtYm9yZGVyfSApXG4gICAgICAgICAgICApO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLy8gRHJhZ0hhbmRsZVxuICAgIC5rLWNvbG9yZ3JhZGllbnQgLmstZHJhZ2hhbmRsZSB7XG4gICAgICAgIEBpbmNsdWRlIGZpbGwoXG4gICAgICAgICAgICAkYm9yZGVyOiB2YXIoIC0ta2VuZG8tY29sb3ItZ3JhZGllbnQtZHJhZ2hhbmRsZS1ib3JkZXIsICN7JGtlbmRvLWNvbG9yLWdyYWRpZW50LWRyYWdoYW5kbGUtYm9yZGVyIH0pXG4gICAgICAgICk7XG4gICAgICAgIG91dGxpbmUtY29sb3I6ICRrZW5kby1jb2xvci1ncmFkaWVudC1kcmFnaGFuZGxlLWZvY3VzLXNoYWRvdztcbiAgICAgICAgQGluY2x1ZGUgYm94LXNoYWRvdyhcbiAgICAgICAgICAgIHZhciggLS1rZW5kby1jb2xvci1ncmFkaWVudC1kcmFnaGFuZGxlLXNoYWRvdywgI3ska2VuZG8tY29sb3ItZ3JhZGllbnQtZHJhZ2hhbmRsZS1zaGFkb3d9IClcbiAgICAgICAgKTtcblxuICAgICAgICAmOmZvY3VzLFxuICAgICAgICAmLmstZm9jdXMge1xuICAgICAgICAgICAgQGluY2x1ZGUgZmlsbChcbiAgICAgICAgICAgICAgICAkYm9yZGVyOiB2YXIoIC0ta2VuZG8tY29sb3ItZ3JhZGllbnQtZHJhZ2hhbmRsZS1mb2N1cy1ib3JkZXIsICN7JGtlbmRvLWNvbG9yLWdyYWRpZW50LWRyYWdoYW5kbGUtZm9jdXMtYm9yZGVyfSApXG4gICAgICAgICAgICApO1xuICAgICAgICAgICAgb3V0bGluZS1jb2xvcjogJGtlbmRvLWNvbG9yLWdyYWRpZW50LWRyYWdoYW5kbGUtZm9jdXMtc2hhZG93O1xuICAgICAgICB9XG5cbiAgICAgICAgJjphY3RpdmUsXG4gICAgICAgICY6aG92ZXIsXG4gICAgICAgICYuay1ob3ZlciB7XG4gICAgICAgICAgICBvdXRsaW5lLWNvbG9yOiAka2VuZG8tY29sb3ItZ3JhZGllbnQtZHJhZ2hhbmRsZS1ob3Zlci1zaGFkb3c7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBTbGlkZXJcbiAgICAuay1jb2xvcmdyYWRpZW50LXNsaWRlciAuay1zbGlkZXItdHJhY2sge1xuICAgICAgICBAaW5jbHVkZSBmaWxsKFxuICAgICAgICAgICAgICRib3JkZXI6IHZhciggLS1rZW5kby1jb2xvci1ncmFkaWVudC1zbGlkZXItYm9yZGVyLCAjeyRrZW5kby1jb2xvci1ncmFkaWVudC1zbGlkZXItYm9yZGVyfSApXG4gICAgICAgICk7XG4gICAgfVxuXG4gICAgLmstY29sb3JncmFkaWVudC1zbGlkZXIuay1odWUtc2xpZGVyIHtcbiAgICAgICAgJi5rLXNsaWRlci1ob3Jpem9udGFsIC5rLXNsaWRlci10cmFjayB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoIHRvIHJpZ2h0LCAka2VuZG8tZ3JhZGllbnQtcmFpbmJvdyApO1xuICAgICAgICB9XG5cbiAgICAgICAgJi5rLXNsaWRlci12ZXJ0aWNhbCAuay1zbGlkZXItdHJhY2sge1xuICAgICAgICAgICAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KCB0byB0b3AsICRrZW5kby1ncmFkaWVudC1yYWluYm93ICk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAuay1jb2xvcmdyYWRpZW50LXNsaWRlci5rLWFscGhhLXNsaWRlciAuay1zbGlkZXItdHJhY2s6OmJlZm9yZSB7XG4gICAgICAgIGJhY2tncm91bmQ6IHVybCgjeyRrZW5kby1jb2xvci1ncmFkaWVudC1zbGlkZXItYWxwaGEtYmdyfSkgY2VudGVyIHJlcGVhdDtcbiAgICB9XG5cbiAgICAvLyBJbnB1dHNcbiAgICAuay1jb2xvcmdyYWRpZW50LWlucHV0LWxhYmVsIHtcbiAgICAgICAgQGluY2x1ZGUgZmlsbChcbiAgICAgICAgICAgICAkY29sb3I6IHZhciggLS1rZW5kby1jb2xvci1ncmFkaWVudC1pbnB1dC1sYWJlbC10ZXh0LCAjeyRrZW5kby1jb2xvci1ncmFkaWVudC1pbnB1dC1sYWJlbC10ZXh0fSApXG4gICAgICAgICk7XG4gICAgfVxufVxuIiwiQHVzZSBcInNhc3M6bWFwXCI7XG5AdXNlIFwic2FzczptYXRoXCI7XG5AdXNlIFwiLi4vY29yZS9faW5kZXguc2Nzc1wiIGFzICo7XG5cbi8vLyBUaGUgc3BhY2VyIG9mIHRoZSBDb2xvckdyYWRpZW50LlxuLy8vIEBncm91cCBjb2xvci1ncmFkaWVudFxuJGtlbmRvLWNvbG9yLWdyYWRpZW50LXNwYWNlcjogay1zcGFjaW5nKDQpICFkZWZhdWx0O1xuXG4vLy8gVGhlIHdpZHRoIG9mIHRoZSBDb2xvckdyYWRpZW50LlxuLy8vIEBncm91cCBjb2xvci1ncmFkaWVudFxuJGtlbmRvLWNvbG9yLWdyYWRpZW50LXdpZHRoOiAyNjBweCAhZGVmYXVsdDtcbi8vLyBUaGUgd2lkdGggb2YgdGhlIGJvcmRlciBhcm91bmQgdGhlIENvbG9yR3JhZGllbnQuXG4vLy8gQGdyb3VwIGNvbG9yLWdyYWRpZW50XG4ka2VuZG8tY29sb3ItZ3JhZGllbnQtYm9yZGVyLXdpZHRoOiAycHggIWRlZmF1bHQ7XG4vLy8gVGhlIGJvcmRlciByYWRpdXMgb2YgdGhlIENvbG9yR3JhZGllbnQuXG4vLy8gQGdyb3VwIGNvbG9yLWdyYWRpZW50XG4ka2VuZG8tY29sb3ItZ3JhZGllbnQtYm9yZGVyLXJhZGl1czogay1ib3JkZXItcmFkaXVzKG1kKSAhZGVmYXVsdDtcbi8vLyBUaGUgdmVydGljYWwgcGFkZGluZyBvZiB0aGUgQ29sb3JHcmFkaWVudC5cbi8vLyBAZ3JvdXAgY29sb3ItZ3JhZGllbnRcbiRrZW5kby1jb2xvci1ncmFkaWVudC1wYWRkaW5nLXk6ICRrZW5kby1jb2xvci1ncmFkaWVudC1zcGFjZXIgIWRlZmF1bHQ7XG4vLy8gVGhlIGhvcml6b250YWwgcGFkZGluZyBvZiB0aGUgQ29sb3JHcmFkaWVudC5cbi8vLyBAZ3JvdXAgY29sb3ItZ3JhZGllbnRcbiRrZW5kby1jb2xvci1ncmFkaWVudC1wYWRkaW5nLXg6IGNhbGMoICN7JGtlbmRvLWNvbG9yLWdyYWRpZW50LXNwYWNlcn0gLyAyICkgIWRlZmF1bHQ7XG4vLy8gVGhlIHNwYWNpbmcgYmV0d2VlbiB0aGUgc2VjdGlvbnMgb2YgdGhlIENvbG9yR3JhZGllbnQuXG4vLy8gQGdyb3VwIGNvbG9yLWdyYWRpZW50XG4ka2VuZG8tY29sb3ItZ3JhZGllbnQtc3BhY2luZzogJGtlbmRvLWNvbG9yLWdyYWRpZW50LXNwYWNlciAhZGVmYXVsdDtcbi8vLyBUaGUgZm9udCBmYW1pbHkgb2YgdGhlIENvbG9yR3JhZGllbnQuXG4vLy8gQGdyb3VwIGNvbG9yLWdyYWRpZW50XG4ka2VuZG8tY29sb3ItZ3JhZGllbnQtZm9udC1mYW1pbHk6IHZhciggLS1rZW5kby1mb250LWZhbWlseSwgaW5oZXJpdCApICFkZWZhdWx0O1xuLy8vIFRoZSBmb250IHNpemUgb2YgdGhlIENvbG9yR3JhZGllbnQuXG4vLy8gQGdyb3VwIGNvbG9yLWdyYWRpZW50XG4ka2VuZG8tY29sb3ItZ3JhZGllbnQtZm9udC1zaXplOiB2YXIoIC0ta2VuZG8tZm9udC1zaXplLCBpbmhlcml0ICkgIWRlZmF1bHQ7XG4vLy8gVGhlIGxpbmUgaGVpZ2h0IG9mIHRoZSBDb2xvckdyYWRpZW50LlxuLy8vIEBncm91cCBjb2xvci1ncmFkaWVudFxuJGtlbmRvLWNvbG9yLWdyYWRpZW50LWxpbmUtaGVpZ2h0OiB2YXIoIC0ta2VuZG8tbGluZS1oZWlnaHQsIG5vcm1hbCApICFkZWZhdWx0O1xuXG4vLy8gVGhlIHRleHQgY29sb3Igb2YgdGhlIENvbG9yR3JhZGllbnQuXG4vLy8gQGdyb3VwIGNvbG9yLWdyYWRpZW50XG4ka2VuZG8tY29sb3ItZ3JhZGllbnQtdGV4dDogdmFyKCAtLWtlbmRvLWNvbXBvbmVudC10ZXh0LCBpbml0aWFsICkgIWRlZmF1bHQ7XG4vLy8gVGhlIGJhY2tncm91bmQgY29sb3Igb2YgdGhlIENvbG9yR3JhZGllbnQuXG4vLy8gQGdyb3VwIGNvbG9yLWdyYWRpZW50XG4ka2VuZG8tY29sb3ItZ3JhZGllbnQtYmc6IHZhciggLS1rZW5kby1jb21wb25lbnQtYmcsIGluaXRpYWwgKSAhZGVmYXVsdDtcbi8vLyBUaGUgYm9yZGVyIGNvbG9yIG9mIHRoZSBDb2xvckdyYWRpZW50LlxuLy8vIEBncm91cCBjb2xvci1ncmFkaWVudFxuJGtlbmRvLWNvbG9yLWdyYWRpZW50LWJvcmRlcjogdmFyKCAtLWtlbmRvLWNvbXBvbmVudC1ib3JkZXIsIGluaXRpYWwgKSAhZGVmYXVsdDtcbi8vLyBUaGUgYm94IHNoYWRvdyBvZiB0aGUgQ29sb3JHcmFkaWVudC5cbi8vLyBAZ3JvdXAgY29sb3ItZ3JhZGllbnRcbiRrZW5kby1jb2xvci1ncmFkaWVudC1zaGFkb3c6IHZhciggLS1rZW5kby1ib3gtc2hhZG93LWRlcHRoLTIsIG5vbmUgKSAhZGVmYXVsdDtcblxuLy8vIFRoZSB2ZXJ0aWNhbCBwYWRkaW5nIG9mIHRoZSBzbWFsbCBDb2xvckdyYWRpZW50LlxuLy8vIEBncm91cCBjb2xvci1ncmFkaWVudFxuJGtlbmRvLWNvbG9yLWdyYWRpZW50LXNtLXBhZGRpbmcteTogJGtlbmRvLWNvbG9yLWdyYWRpZW50LXBhZGRpbmcteSAhZGVmYXVsdDtcbi8vLyBUaGUgaG9yaXpvbnRhbCBwYWRkaW5nIG9mIHRoZSBzbWFsbCBDb2xvckdyYWRpZW50LlxuLy8vIEBncm91cCBjb2xvci1ncmFkaWVudFxuJGtlbmRvLWNvbG9yLWdyYWRpZW50LXNtLXBhZGRpbmcteDogJGtlbmRvLWNvbG9yLWdyYWRpZW50LXBhZGRpbmcteCAhZGVmYXVsdDtcbi8vLyBUaGUgdmVydGljYWwgcGFkZGluZyBvZiB0aGUgbWVkaXVtIENvbG9yR3JhZGllbnQuXG4vLy8gQGdyb3VwIGNvbG9yLWdyYWRpZW50XG4ka2VuZG8tY29sb3ItZ3JhZGllbnQtbWQtcGFkZGluZy15OiAka2VuZG8tY29sb3ItZ3JhZGllbnQtcGFkZGluZy15ICFkZWZhdWx0O1xuLy8vIFRoZSBob3Jpem9udGFsIHBhZGRpbmcgb2YgdGhlIG1lZGl1bSBDb2xvckdyYWRpZW50LlxuLy8vIEBncm91cCBjb2xvci1ncmFkaWVudFxuJGtlbmRvLWNvbG9yLWdyYWRpZW50LW1kLXBhZGRpbmcteDogJGtlbmRvLWNvbG9yLWdyYWRpZW50LXBhZGRpbmcteCAhZGVmYXVsdDtcbi8vLyBUaGUgdmVydGljYWwgcGFkZGluZyBvZiB0aGUgbGFyZ2UgQ29sb3JHcmFkaWVudC5cbi8vLyBAZ3JvdXAgY29sb3ItZ3JhZGllbnRcbiRrZW5kby1jb2xvci1ncmFkaWVudC1sZy1wYWRkaW5nLXk6IGstc3BhY2luZyg0KSAhZGVmYXVsdDtcbi8vLyBUaGUgaG9yaXpvbnRhbCBwYWRkaW5nIG9mIHRoZSBsYXJnZSBDb2xvckdyYWRpZW50LlxuLy8vIEBncm91cCBjb2xvci1ncmFkaWVudFxuJGtlbmRvLWNvbG9yLWdyYWRpZW50LWxnLXBhZGRpbmcteDogay1zcGFjaW5nKDQpICFkZWZhdWx0O1xuXG4vLy8gVGhlIHdpZHRoIG9mIHRoZSBzbWFsbCBDb2xvckdyYWRpZW50LlxuLy8vIEBncm91cCBjb2xvci1ncmFkaWVudFxuJGtlbmRvLWNvbG9yLWdyYWRpZW50LXNtLXdpZHRoOiAyMzZweCAhZGVmYXVsdDtcbi8vLyBUaGUgd2lkdGggb2YgdGhlIG1lZGl1bSBDb2xvckdyYWRpZW50LlxuLy8vIEBncm91cCBjb2xvci1ncmFkaWVudFxuJGtlbmRvLWNvbG9yLWdyYWRpZW50LW1kLXdpZHRoOiAka2VuZG8tY29sb3ItZ3JhZGllbnQtd2lkdGggIWRlZmF1bHQ7XG4vLy8gVGhlIHdpZHRoIG9mIHRoZSBsYXJnZSBDb2xvckdyYWRpZW50LlxuLy8vIEBncm91cCBjb2xvci1ncmFkaWVudFxuJGtlbmRvLWNvbG9yLWdyYWRpZW50LWxnLXdpZHRoOiAzNjJweCAhZGVmYXVsdDtcblxuLy8vIFRoZSBzcGFjaW5nIGJldHdlZW4gdGhlIHNlY3Rpb25zIG9mIHRoZSBzbWFsbCBDb2xvckdyYWRpZW50LlxuLy8vIEBncm91cCBjb2xvci1ncmFkaWVudFxuJGtlbmRvLWNvbG9yLWdyYWRpZW50LXNtLXNwYWNpbmc6ICRrZW5kby1jb2xvci1ncmFkaWVudC1zcGFjaW5nICFkZWZhdWx0O1xuLy8vIFRoZSBzcGFjaW5nIGJldHdlZW4gdGhlIHNlY3Rpb25zIG9mIHRoZSBtZWRpdW0gQ29sb3JHcmFkaWVudC5cbi8vLyBAZ3JvdXAgY29sb3ItZ3JhZGllbnRcbiRrZW5kby1jb2xvci1ncmFkaWVudC1tZC1zcGFjaW5nOiAka2VuZG8tY29sb3ItZ3JhZGllbnQtc3BhY2luZyAhZGVmYXVsdDtcbi8vLyBUaGUgc3BhY2luZyBiZXR3ZWVuIHRoZSBzZWN0aW9ucyBvZiB0aGUgbGFyZ2UgQ29sb3JHcmFkaWVudC5cbi8vLyBAZ3JvdXAgY29sb3ItZ3JhZGllbnRcbiRrZW5kby1jb2xvci1ncmFkaWVudC1sZy1zcGFjaW5nOiBrLXNwYWNpbmcoNC41KSAhZGVmYXVsdDtcblxuLy8vIFRoZSBib3JkZXIgY29sb3Igb2YgdGhlIGZvY3VzZWQgQ29sb3JHcmFkaWVudC5cbi8vLyBAZ3JvdXAgY29sb3ItZ3JhZGllbnRcbiRrZW5kby1jb2xvci1ncmFkaWVudC1mb2N1cy1ib3JkZXI6IGlmKCRrZW5kby1lbmFibGUtY29sb3Itc3lzdGVtLCBjb2xvci1taXgoaW4gc3JnYiwgay1jb2xvciggYm9yZGVyICkgMTAlLCB0cmFuc3BhcmVudCksIGstZ2V0LXRoZW1lLWNvbG9yLXZhciggbmV1dHJhbC0yMCApKSAhZGVmYXVsdDtcbi8vLyBUaGUgYm94IHNoYWRvdyBvZiB0aGUgZm9jdXNlZCBDb2xvckdyYWRpZW50LlxuLy8vIEBncm91cCBjb2xvci1ncmFkaWVudFxuJGtlbmRvLWNvbG9yLWdyYWRpZW50LWZvY3VzLXNoYWRvdzogdmFyKCAtLWtlbmRvLWJveC1zaGFkb3ctZGVwdGgtMywgbm9uZSApICFkZWZhdWx0O1xuXG4vLy8gVGhlIHdpZHRoIG9mIHRoZSBib3JkZXIgYXJvdW5kIHRoZSBDb2xvckdyYWRpZW50IGNhbnZhcy5cbi8vLyBAZ3JvdXAgY29sb3ItZ3JhZGllbnRcbiRrZW5kby1jb2xvci1ncmFkaWVudC1jYW52YXMtYm9yZGVyLXdpZHRoOiAwICFkZWZhdWx0O1xuLy8vIFRoZSBib3JkZXIgcmFkaXVzIG9mIHRoZSBDb2xvckdyYWRpZW50IGNhbnZhcy5cbi8vLyBAZ3JvdXAgY29sb3ItZ3JhZGllbnRcbiRrZW5kby1jb2xvci1ncmFkaWVudC1jYW52YXMtYm9yZGVyLXJhZGl1czogay1ib3JkZXItcmFkaXVzKG1kKSAhZGVmYXVsdDtcbi8vLyBUaGUgc3BhY2luZyBiZXR3ZWVuIHRoZSBpdGVtcyBvZiB0aGUgQ29sb3JHcmFkaWVudCBjYW52YXMuXG4vLy8gQGdyb3VwIGNvbG9yLWdyYWRpZW50XG4ka2VuZG8tY29sb3ItZ3JhZGllbnQtY2FudmFzLXNwYWNpbmc6IGstc3BhY2luZygyKSAhZGVmYXVsdDtcbi8vLyBUaGUgaGVpZ2h0IHRoZSBDb2xvckdyYWRpZW50IGNhbnZhcyBoc3YgcmVjdGFuZ2xlLlxuLy8vIEBncm91cCBjb2xvci1ncmFkaWVudFxuJGtlbmRvLWNvbG9yLWdyYWRpZW50LWNhbnZhcy1yZWN0YW5nbGUtaGVpZ2h0OiAxODBweCAhZGVmYXVsdDtcbi8vLyBUaGUgaGVpZ2h0IHRoZSBzbWFsbCBDb2xvckdyYWRpZW50IGNhbnZhcyBoc3YgcmVjdGFuZ2xlLlxuLy8vIEBncm91cCBjb2xvci1ncmFkaWVudFxuJGtlbmRvLWNvbG9yLWdyYWRpZW50LXNtLWNhbnZhcy1yZWN0YW5nbGUtaGVpZ2h0OiAxNjRweCAhZGVmYXVsdDtcbi8vLyBUaGUgaGVpZ2h0IHRoZSBtZWRpdW0gQ29sb3JHcmFkaWVudCBjYW52YXMgaHN2IHJlY3RhbmdsZS5cbi8vLyBAZ3JvdXAgY29sb3ItZ3JhZGllbnRcbiRrZW5kby1jb2xvci1ncmFkaWVudC1tZC1jYW52YXMtcmVjdGFuZ2xlLWhlaWdodDogJGtlbmRvLWNvbG9yLWdyYWRpZW50LWNhbnZhcy1yZWN0YW5nbGUtaGVpZ2h0ICFkZWZhdWx0O1xuLy8vIFRoZSBoZWlnaHQgdGhlIGxhcmdlIENvbG9yR3JhZGllbnQgY2FudmFzIGhzdiByZWN0YW5nbGUuXG4vLy8gQGdyb3VwIGNvbG9yLWdyYWRpZW50XG4ka2VuZG8tY29sb3ItZ3JhZGllbnQtbGctY2FudmFzLXJlY3RhbmdsZS1oZWlnaHQ6IDI1NnB4ICFkZWZhdWx0O1xuXG4vLy8gVGhlIHNwYWNpbmcgYmV0d2VlbiB0aGUgaXRlbXMgb2YgdGhlIHNtYWxsIENvbG9yR3JhZGllbnQgY2FudmFzLlxuLy8vIEBncm91cCBjb2xvci1ncmFkaWVudFxuJGtlbmRvLWNvbG9yLWdyYWRpZW50LXNtLWNhbnZhcy1zcGFjaW5nOiAka2VuZG8tY29sb3ItZ3JhZGllbnQtY2FudmFzLXNwYWNpbmcgIWRlZmF1bHQ7XG4vLy8gVGhlIHNwYWNpbmcgYmV0d2VlbiB0aGUgaXRlbXMgb2YgdGhlIG1lZGl1bSBDb2xvckdyYWRpZW50IGNhbnZhcy5cbi8vLyBAZ3JvdXAgY29sb3ItZ3JhZGllbnRcbiRrZW5kby1jb2xvci1ncmFkaWVudC1tZC1jYW52YXMtc3BhY2luZzogJGtlbmRvLWNvbG9yLWdyYWRpZW50LWNhbnZhcy1zcGFjaW5nICFkZWZhdWx0O1xuLy8vIFRoZSBzcGFjaW5nIGJldHdlZW4gdGhlIGl0ZW1zIG9mIHRoZSBsYXJnZSBDb2xvckdyYWRpZW50IGNhbnZhcy5cbi8vLyBAZ3JvdXAgY29sb3ItZ3JhZGllbnRcbiRrZW5kby1jb2xvci1ncmFkaWVudC1sZy1jYW52YXMtc3BhY2luZzogay1zcGFjaW5nKDQpICFkZWZhdWx0O1xuXG4vLy8gVGhlIGJvcmRlciBjb2xvciBvZiB0aGUgQ29sb3JHcmFkaWVudCBjYW52YXMgaHN2IHJlY3RhbmdsZS5cbi8vLyBAZ3JvdXAgY29sb3ItZ3JhZGllbnRcbiRrZW5kby1jb2xvci1ncmFkaWVudC1jYW52YXMtcmVjdGFuZ2xlLWJvcmRlcjogaWYoJGtlbmRvLWVuYWJsZS1jb2xvci1zeXN0ZW0sIGNvbG9yLW1peChpbiBzcmdiLCBrLWNvbG9yKCBib3JkZXIgKSAxNiUsIHRyYW5zcGFyZW50KSwgay1nZXQtdGhlbWUtY29sb3ItdmFyKCBuZXV0cmFsLTMwICkpICFkZWZhdWx0O1xuLy8vIFRoZSBib3ggc2hhZG93IG9mIHRoZSBDb2xvckdyYWRpZW50IGNhbnZhcyBkcmFnIGhhbmRsZS5cbi8vLyBAZ3JvdXAgY29sb3ItZ3JhZGllbnRcbiRrZW5kby1jb2xvci1ncmFkaWVudC1jYW52YXMtZHJhZ2hhbmRsZS1zaGFkb3c6IHZhciggLS1rZW5kby1ib3gtc2hhZG93LWRlcHRoLTIsIG5vbmUgKSAhZGVmYXVsdDtcblxuLy8vIFRoZSB3aWR0aCBvZiB0aGUgQ29sb3JHcmFkaWVudCBzbGlkZXIuXG4vLy8gQGdyb3VwIGNvbG9yLWdyYWRpZW50XG4ka2VuZG8tY29sb3ItZ3JhZGllbnQtc2xpZGVyLXRyYWNrLXNpemU6IDIwcHggIWRlZmF1bHQ7XG4vLy8gVGhlIGJvcmRlciByYWRpdXMgb2YgdGhlIENvbG9yR3JhZGllbnQgc2xpZGVyLlxuLy8vIEBncm91cCBjb2xvci1ncmFkaWVudFxuJGtlbmRvLWNvbG9yLWdyYWRpZW50LXNsaWRlci1ib3JkZXItcmFkaXVzOiBrLWJvcmRlci1yYWRpdXMobWQpICFkZWZhdWx0O1xuLy8vIFRoZSB3aWR0aCBvZiB0aGUgYm9yZGVyIGFyb3VuZCB0aGUgQ29sb3JHcmFkaWVudCBzbGlkZXIuXG4vLy8gQGdyb3VwIGNvbG9yLWdyYWRpZW50XG4ka2VuZG8tY29sb3ItZ3JhZGllbnQtc2xpZGVyLWJvcmRlci13aWR0aDogaWYoJGtlbmRvLWVuYWJsZS1jb2xvci1zeXN0ZW0sIDAsIDFweCkgIWRlZmF1bHQ7XG4vLy8gVGhlIGNvbG9yIG9mIHRoZSBib3JkZXIgYXJvdW5kIHRoZSBDb2xvckdyYWRpZW50IHNsaWRlci5cbi8vLyBAZ3JvdXAgY29sb3ItZ3JhZGllbnRcbiRrZW5kby1jb2xvci1ncmFkaWVudC1zbGlkZXItYm9yZGVyOiBpZigka2VuZG8tZW5hYmxlLWNvbG9yLXN5c3RlbSwgY29sb3ItbWl4KGluIHNyZ2IsIGstY29sb3IoIGJvcmRlciApIDE2JSwgdHJhbnNwYXJlbnQpLCBrLWdldC10aGVtZS1jb2xvci12YXIoIG5ldXRyYWwtMzAgKSkgIWRlZmF1bHQ7XG5cbi8vLyBUaGUgaGVpZ2h0IG9mIHRoZSBDb2xvckdyYWRpZW50IHZlcnRpY2FsIHNsaWRlci5cbi8vLyBAZ3JvdXAgY29sb3ItZ3JhZGllbnRcbiRrZW5kby1jb2xvci1ncmFkaWVudC1zbGlkZXItdmVydGljYWwtc2l6ZTogMTgwcHggIWRlZmF1bHQ7XG4vLy8gVGhlIHdpZHRoIG9mIHRoZSBDb2xvckdyYWRpZW50IGhvcml6b250YWwgc2xpZGVyLlxuLy8vIEBncm91cCBjb2xvci1ncmFkaWVudFxuJGtlbmRvLWNvbG9yLWdyYWRpZW50LXNsaWRlci1ob3Jpem9udGFsLXNpemU6IDEwMCUgIWRlZmF1bHQ7XG4vLy8gVGhlIGJhY2tncm91bmQgaW1hZ2Ugb2YgdGhlIENvbG9yR3JhZGllbnQgYWxwaGEgc2xpZGVyLlxuLy8vIEBncm91cCBjb2xvci1ncmFkaWVudFxuJGtlbmRvLWNvbG9yLWdyYWRpZW50LXNsaWRlci1hbHBoYS1iZ3I6IFwiZGF0YTppbWFnZS9wbmc7YmFzZTY0LGlWQk9SdzBLR2dvQUFBQU5TVWhFVWdBQUFBb0FBQUFLQ0FZQUFBQ05Ncys5QUFBQUNYQklXWE1BQUFzVEFBQUxFd0VBbXB3WUFBQUFBWE5TUjBJQXJzNGM2UUFBQUFSblFVMUJBQUN4and2OFlRVUFBQUF1U1VSQlZIZ0J4WXl4RFFBd0RNSklMK1lUK0RqdHpGUmxpVWZMY2tscUJDUlQ0ZUNUeGJENmtkTDIvTGdZWHFwdkNiczNrQnYvQUFBQUFFbEZUa1N1UW1DQ1wiICFkZWZhdWx0O1xuLy8vIFRoZSBoZWlnaHQgb2YgdGhlIHNtYWxsIENvbG9yR3JhZGllbnQgdmVydGljYWwgc2xpZGVyLlxuLy8vIEBncm91cCBjb2xvci1ncmFkaWVudFxuJGtlbmRvLWNvbG9yLWdyYWRpZW50LXNtLXNsaWRlci12ZXJ0aWNhbC1zaXplOiAxNjRweCAhZGVmYXVsdDtcbi8vLyBUaGUgaGVpZ2h0IG9mIHRoZSBtZWRpdW0gQ29sb3JHcmFkaWVudCB2ZXJ0aWNhbCBzbGlkZXIuXG4vLy8gQGdyb3VwIGNvbG9yLWdyYWRpZW50XG4ka2VuZG8tY29sb3ItZ3JhZGllbnQtbWQtc2xpZGVyLXZlcnRpY2FsLXNpemU6ICRrZW5kby1jb2xvci1ncmFkaWVudC1zbGlkZXItdmVydGljYWwtc2l6ZSAhZGVmYXVsdDtcbi8vLyBUaGUgaGVpZ2h0IG9mIHRoZSBsYXJnZSBDb2xvckdyYWRpZW50IHZlcnRpY2FsIHNsaWRlci5cbi8vLyBAZ3JvdXAgY29sb3ItZ3JhZGllbnRcbiRrZW5kby1jb2xvci1ncmFkaWVudC1sZy1zbGlkZXItdmVydGljYWwtc2l6ZTogMjU2cHggIWRlZmF1bHQ7XG5cbi8vLyBUaGUgd2lkdGggb2YgdGhlIENvbG9yR3JhZGllbnQgY2FudmFzIGRyYWcgaGFuZGxlLlxuLy8vIEBncm91cCBjb2xvci1ncmFkaWVudFxuJGtlbmRvLWNvbG9yLWdyYWRpZW50LWRyYWdoYW5kbGUtd2lkdGg6IDIwcHggIWRlZmF1bHQ7XG4vLy8gVGhlIGhlaWdodCBvZiB0aGUgQ29sb3JHcmFkaWVudCBjYW52YXMgZHJhZyBoYW5kbGUuXG4vLy8gQGdyb3VwIGNvbG9yLWdyYWRpZW50XG4ka2VuZG8tY29sb3ItZ3JhZGllbnQtZHJhZ2hhbmRsZS1oZWlnaHQ6IDIwcHggIWRlZmF1bHQ7XG4vLy8gVGhlIHdpZHRoIG9mIHRoZSBib3JkZXIgYXJvdW5kIHRoZSBDb2xvckdyYWRpZW50IGNhbnZhcyBkcmFnIGhhbmRsZS5cbi8vLyBAZ3JvdXAgY29sb3ItZ3JhZGllbnRcbiRrZW5kby1jb2xvci1ncmFkaWVudC1kcmFnaGFuZGxlLWJvcmRlci13aWR0aDogMnB4ICFkZWZhdWx0O1xuLy8vIFRoZSB3aWR0aCBvZiB0aGUgb3V0bGluZSBhcm91bmQgdGhlIENvbG9yR3JhZGllbnQgY2FudmFzIGRyYWcgaGFuZGxlLlxuLy8vIEBncm91cCBjb2xvci1ncmFkaWVudFxuJGtlbmRvLWNvbG9yLWdyYWRpZW50LWRyYWdoYW5kbGUtb3V0bGluZS13aWR0aDogMXB4ICFkZWZhdWx0O1xuLy8vIFRoZSBjb2xvciBvZiB0aGUgYm9yZGVyIGFyb3VuZCB0aGUgQ29sb3JHcmFkaWVudCBjYW52YXMgZHJhZyBoYW5kbGUuXG4vLy8gQGdyb3VwIGNvbG9yLWdyYWRpZW50XG4ka2VuZG8tY29sb3ItZ3JhZGllbnQtZHJhZ2hhbmRsZS1ib3JkZXI6IGlmKCRrZW5kby1lbmFibGUtY29sb3Itc3lzdGVtLCBrLWNvbG9yKCBhcHAtc3VyZmFjZSApLCAka2VuZG8tY29sb3Itd2hpdGUpICFkZWZhdWx0O1xuLy8vIFRoZSBib3ggc2hhZG93IG9mIHRoZSBDb2xvckdyYWRpZW50IGNhbnZhcyBkcmFnIGhhbmRsZS5cbi8vLyBAZ3JvdXAgY29sb3ItZ3JhZGllbnRcbiRrZW5kby1jb2xvci1ncmFkaWVudC1kcmFnaGFuZGxlLXNoYWRvdzogdmFyKCAtLWtlbmRvLWJveC1zaGFkb3ctZGVwdGgtMiwgbm9uZSApICFkZWZhdWx0O1xuLy8vIFRoZSBjb2xvciBvZiB0aGUgYm9yZGVyIGFyb3VuZCB0aGUgZm9jdXNlZCBDb2xvckdyYWRpZW50IGNhbnZhcyBkcmFnIGhhbmRsZS5cbi8vLyBAZ3JvdXAgY29sb3ItZ3JhZGllbnRcbiRrZW5kby1jb2xvci1ncmFkaWVudC1kcmFnaGFuZGxlLWZvY3VzLWJvcmRlcjogaWYoJGtlbmRvLWVuYWJsZS1jb2xvci1zeXN0ZW0sIGstY29sb3IoIGFwcC1zdXJmYWNlICksICRrZW5kby1jb2xvci13aGl0ZSkgIWRlZmF1bHQ7XG4vLy8gVGhlIGZvY3VzIGNvbG9yIG9mIHRoZSBvdXRsaW5lIGFyb3VuZCB0aGUgQ29sb3JHcmFkaWVudCBjYW52YXMgZHJhZyBoYW5kbGUuXG4vLy8gQGdyb3VwIGNvbG9yLWdyYWRpZW50XG4ka2VuZG8tY29sb3ItZ3JhZGllbnQtZHJhZ2hhbmRsZS1mb2N1cy1zaGFkb3c6IGlmKCRrZW5kby1lbmFibGUtY29sb3Itc3lzdGVtLCBrLWNvbG9yKCBiYXNlLWVtcGhhc2lzICksIGstZ2V0LXRoZW1lLWNvbG9yLXZhciggbmV1dHJhbC0xMzAgKSkgIWRlZmF1bHQ7XG4vLy8gVGhlIGhvdmVyIGNvbG9yIG9mIHRoZSBvdXRsaW5lIGFyb3VuZCB0aGUgQ29sb3JHcmFkaWVudCBjYW52YXMgZHJhZyBoYW5kbGUuXG4vLy8gQGdyb3VwIGNvbG9yLWdyYWRpZW50XG4ka2VuZG8tY29sb3ItZ3JhZGllbnQtZHJhZ2hhbmRsZS1ob3Zlci1zaGFkb3c6IGlmKCRrZW5kby1lbmFibGUtY29sb3Itc3lzdGVtLCBrLWNvbG9yKCBiYXNlLWVtcGhhc2lzICksIGstZ2V0LXRoZW1lLWNvbG9yLXZhciggbmV1dHJhbC0xMzAgKSkgIWRlZmF1bHQ7XG5cbi8vLyBUaGUgdmVydGljYWwgb2Zmc2V0IG9mIHRoZSBDb2xvckdyYWRpZW50IGNhbnZhcyBkcmFnIGhhbmRsZS5cbi8vLyBAZ3JvdXAgY29sb3ItZ3JhZGllbnRcbiRrZW5kby1jb2xvci1ncmFkaWVudC1jYW52YXMtZHJhZ2hhbmRsZS1vZmZzZXQteTogKCAtMSAqIG1hdGguZGl2KCAka2VuZG8tY29sb3ItZ3JhZGllbnQtZHJhZ2hhbmRsZS1oZWlnaHQsIDIgKSApICFkZWZhdWx0O1xuLy8vIFRoZSBob3Jpem9udGFsIG9mZnNldCBvZiB0aGUgQ29sb3JHcmFkaWVudCBjYW52YXMgZHJhZyBoYW5kbGUuXG4vLy8gQGdyb3VwIGNvbG9yLWdyYWRpZW50XG4ka2VuZG8tY29sb3ItZ3JhZGllbnQtY2FudmFzLWRyYWdoYW5kbGUtb2Zmc2V0LXg6ICggLTEgKiBtYXRoLmRpdiggJGtlbmRvLWNvbG9yLWdyYWRpZW50LWRyYWdoYW5kbGUtd2lkdGgsIDIgKSApICFkZWZhdWx0O1xuXG4vLy8gVGhlIHdpZHRoIG9mIHRoZSBDb2xvckdyYWRpZW50IGlucHV0LlxuLy8vIEBncm91cCBjb2xvci1ncmFkaWVudFxuJGtlbmRvLWNvbG9yLWdyYWRpZW50LWlucHV0LXdpZHRoOiA0OHB4ICFkZWZhdWx0O1xuLy8vIFRoZSBzcGFjaW5nIGJldHdlZW4gdGhlIENvbG9yR3JhZGllbnQgaW5wdXRzLlxuLy8vIEBncm91cCBjb2xvci1ncmFkaWVudFxuJGtlbmRvLWNvbG9yLWdyYWRpZW50LWlucHV0LXNwYWNpbmc6IGNhbGMoICN7JGtlbmRvLWNvbG9yLWdyYWRpZW50LXNwYWNlcn0gLyA0ICkgIWRlZmF1bHQ7XG4vLy8gVGhlIGZvbnQgc2l6ZSBvZiB0aGUgQ29sb3JHcmFkaWVudCBpbnB1dCBsYWJlbHMuXG4vLy8gQGdyb3VwIGNvbG9yLWdyYWRpZW50XG4ka2VuZG8tY29sb3ItZ3JhZGllbnQtaW5wdXQtbGFiZWwtZm9udC1zaXplOiB2YXIoIC0ta2VuZG8tZm9udC1zaXplLXNtLCBpbmhlcml0ICkgIWRlZmF1bHQ7XG4vLy8gVGhlIHNwYWNpbmcgYmV0d2VlbiB0aGUgQ29sb3JHcmFkaWVudCBpbnB1dHMgYW5kIHRoZWlyIGxhYmVscy5cbi8vLyBAZ3JvdXAgY29sb3ItZ3JhZGllbnRcbiRrZW5kby1jb2xvci1ncmFkaWVudC1pbnB1dC1sYWJlbC1zcGFjaW5nOiBjYWxjKCAjeyRrZW5kby1jb2xvci1ncmFkaWVudC1zcGFjZXJ9IC8gNCApICFkZWZhdWx0O1xuLy8vIFRoZSB0ZXh0IGNvbG9yIG9mIHRoZSBDb2xvckdyYWRpZW50IGlucHV0IGxhYmVscy5cbi8vLyBAZ3JvdXAgY29sb3ItZ3JhZGllbnRcbiRrZW5kby1jb2xvci1ncmFkaWVudC1pbnB1dC1sYWJlbC10ZXh0OiB2YXIoIC0ta2VuZG8tc3VidGxlLXRleHQsIGluaGVyaXQgKSAhZGVmYXVsdDtcblxuLy8vIFRoZSB3aWR0aCBvZiB0aGUgc21hbGwgQ29sb3JHcmFkaWVudCBpbnB1dC5cbi8vLyBAZ3JvdXAgY29sb3ItZ3JhZGllbnRcbiRrZW5kby1jb2xvci1ncmFkaWVudC1zbS1pbnB1dC13aWR0aDogNDNweCAhZGVmYXVsdDtcbi8vLyBUaGUgd2lkdGggb2YgdGhlIG1lZGl1bSBDb2xvckdyYWRpZW50IGlucHV0LlxuLy8vIEBncm91cCBjb2xvci1ncmFkaWVudFxuJGtlbmRvLWNvbG9yLWdyYWRpZW50LW1kLWlucHV0LXdpZHRoOiAka2VuZG8tY29sb3ItZ3JhZGllbnQtaW5wdXQtd2lkdGggIWRlZmF1bHQ7XG4vLy8gVGhlIHdpZHRoIG9mIHRoZSBsYXJnZSBDb2xvckdyYWRpZW50IGlucHV0LlxuLy8vIEBncm91cCBjb2xvci1ncmFkaWVudFxuJGtlbmRvLWNvbG9yLWdyYWRpZW50LWxnLWlucHV0LXdpZHRoOiA2OHB4ICFkZWZhdWx0O1xuXG4vLy8gVGhlIGZvbnQgd2VpZ2h0IG9mIHRoZSBDb2xvckdyYWRpZW50IGNvbnRyYXN0IHJhdGlvIHRleHQuXG4vLy8gQGdyb3VwIGNvbG9yLWdyYWRpZW50XG4ka2VuZG8tY29sb3ItZ3JhZGllbnQtY29udHJhc3QtcmF0aW8tZm9udC13ZWlnaHQ6IHZhciggLS1rZW5kby1mb250LXdlaWdodC1ib2xkLCBub3JtYWwgKSAhZGVmYXVsdDtcbi8vLyBUaGUgc3BhY2luZyBiZXR3ZWVuIHRoZSBpdGVtcyBpbiB0aGUgQ29sb3JHcmFkaWVudCBjb250cmFzdCB0b29sLlxuLy8vIEBncm91cCBjb2xvci1ncmFkaWVudFxuJGtlbmRvLWNvbG9yLWdyYWRpZW50LWNvbnRyYXN0LXNwYWNpbmc6IGNhbGMoICN7JGtlbmRvLWNvbG9yLWdyYWRpZW50LXNwYWNlcn0gLyAxLjUgKSAhZGVmYXVsdDtcblxuLy8vIFRoZSBzaXplIG1hcCBvZiB0aGUgQ29sb3JHcmFkaWVudC5cbi8vLyBAZ3JvdXAgY29sb3ItZ3JhZGllbnRcbiRrZW5kby1jb2xvci1ncmFkaWVudC1zaXplczogKFxuICAgIHNtOiAoXG4gICAgICAgIHdpZHRoOiAka2VuZG8tY29sb3ItZ3JhZGllbnQtc20td2lkdGgsXG4gICAgICAgIHZlcnRpY2FsLXNsaWRlci1oZWlnaHQ6ICRrZW5kby1jb2xvci1ncmFkaWVudC1zbS1zbGlkZXItdmVydGljYWwtc2l6ZSxcbiAgICAgICAgcmVjdGFuZ2xlLWhlaWdodDogJGtlbmRvLWNvbG9yLWdyYWRpZW50LXNtLWNhbnZhcy1yZWN0YW5nbGUtaGVpZ2h0LFxuICAgICAgICBpbnB1dC13aWR0aDogJGtlbmRvLWNvbG9yLWdyYWRpZW50LXNtLWlucHV0LXdpZHRoLFxuICAgICAgICBzcGFjaW5nOiAka2VuZG8tY29sb3ItZ3JhZGllbnQtc20tc3BhY2luZyxcbiAgICAgICAgY2FudmFzLXNwYWNpbmc6ICRrZW5kby1jb2xvci1ncmFkaWVudC1zbS1jYW52YXMtc3BhY2luZyxcbiAgICAgICAgcGFkZGluZy14OiAka2VuZG8tY29sb3ItZ3JhZGllbnQtc20tcGFkZGluZy14LFxuICAgICAgICBwYWRkaW5nLXk6ICRrZW5kby1jb2xvci1ncmFkaWVudC1zbS1wYWRkaW5nLXlcbiAgICApLFxuICAgIG1kOiAoXG4gICAgICAgIHdpZHRoOiAka2VuZG8tY29sb3ItZ3JhZGllbnQtbWQtd2lkdGgsXG4gICAgICAgIHZlcnRpY2FsLXNsaWRlci1oZWlnaHQ6ICRrZW5kby1jb2xvci1ncmFkaWVudC1tZC1zbGlkZXItdmVydGljYWwtc2l6ZSxcbiAgICAgICAgcmVjdGFuZ2xlLWhlaWdodDogJGtlbmRvLWNvbG9yLWdyYWRpZW50LW1kLWNhbnZhcy1yZWN0YW5nbGUtaGVpZ2h0LFxuICAgICAgICBpbnB1dC13aWR0aDogJGtlbmRvLWNvbG9yLWdyYWRpZW50LW1kLWlucHV0LXdpZHRoLFxuICAgICAgICBzcGFjaW5nOiAka2VuZG8tY29sb3ItZ3JhZGllbnQtbWQtc3BhY2luZyxcbiAgICAgICAgY2FudmFzLXNwYWNpbmc6ICRrZW5kby1jb2xvci1ncmFkaWVudC1tZC1jYW52YXMtc3BhY2luZyxcbiAgICAgICAgcGFkZGluZy14OiAka2VuZG8tY29sb3ItZ3JhZGllbnQtbWQtcGFkZGluZy14LFxuICAgICAgICBwYWRkaW5nLXk6ICRrZW5kby1jb2xvci1ncmFkaWVudC1tZC1wYWRkaW5nLXlcbiAgICApLFxuICAgIGxnOiAoXG4gICAgICAgIHdpZHRoOiAka2VuZG8tY29sb3ItZ3JhZGllbnQtbGctd2lkdGgsXG4gICAgICAgIHZlcnRpY2FsLXNsaWRlci1oZWlnaHQ6ICRrZW5kby1jb2xvci1ncmFkaWVudC1sZy1zbGlkZXItdmVydGljYWwtc2l6ZSxcbiAgICAgICAgcmVjdGFuZ2xlLWhlaWdodDogJGtlbmRvLWNvbG9yLWdyYWRpZW50LWxnLWNhbnZhcy1yZWN0YW5nbGUtaGVpZ2h0LFxuICAgICAgICBpbnB1dC13aWR0aDogJGtlbmRvLWNvbG9yLWdyYWRpZW50LWxnLWlucHV0LXdpZHRoLFxuICAgICAgICBzcGFjaW5nOiAka2VuZG8tY29sb3ItZ3JhZGllbnQtbGctc3BhY2luZyxcbiAgICAgICAgY2FudmFzLXNwYWNpbmc6ICRrZW5kby1jb2xvci1ncmFkaWVudC1sZy1jYW52YXMtc3BhY2luZyxcbiAgICAgICAgcGFkZGluZy14OiAka2VuZG8tY29sb3ItZ3JhZGllbnQtbGctcGFkZGluZy14LFxuICAgICAgICBwYWRkaW5nLXk6ICRrZW5kby1jb2xvci1ncmFkaWVudC1sZy1wYWRkaW5nLXlcbiAgICApXG4pICFkZWZhdWx0O1xuIiwiQHVzZSBcInNhc3M6bWFwXCI7XG5AdXNlIFwiLi4vY29yZS9faW5kZXguc2Nzc1wiIGFzICo7XG5AdXNlIFwiLi4vY29sb3JwYWxldHRlL192YXJpYWJsZXMuc2Nzc1wiIGFzICo7XG5AdXNlIFwiLi9fdmFyaWFibGVzLnNjc3NcIiBhcyAqO1xuXG5AbWl4aW4ga2VuZG8tY29sb3ItZWRpdG9yLS1sYXlvdXQoKSB7XG5cbiAgICAgICAgLmstY29sb3JlZGl0b3Ige1xuICAgICAgICAgICAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cyggdmFyKCAtLWtlbmRvLWNvbG9yLWVkaXRvci1ib3JkZXItcmFkaXVzLCAjeyRrZW5kby1jb2xvci1lZGl0b3ItYm9yZGVyLXJhZGl1c30gKSApO1xuICAgICAgICAgICAgbWluLXdpZHRoOiB2YXIoIC0ta2VuZG8tY29sb3ItZWRpdG9yLW1pbi13aWR0aCwgI3ska2VuZG8tY29sb3ItZWRpdG9yLW1pbi13aWR0aH0gKTtcbiAgICAgICAgICAgIGJvcmRlci13aWR0aDogdmFyKCAtLWtlbmRvLWNvbG9yLWVkaXRvci1ib3JkZXItd2lkdGgsICN7JGtlbmRvLWNvbG9yLWVkaXRvci1ib3JkZXItd2lkdGh9ICk7XG4gICAgICAgICAgICBib3JkZXItc3R5bGU6IHNvbGlkO1xuICAgICAgICAgICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICAgICAgICAgIG91dGxpbmU6IDA7XG4gICAgICAgICAgICBmb250LWZhbWlseTogdmFyKCAtLWtlbmRvLWNvbG9yLWVkaXRvci1mb250LWZhbWlseSwgI3ska2VuZG8tY29sb3ItZWRpdG9yLWZvbnQtZmFtaWx5fSApO1xuICAgICAgICAgICAgZm9udC1zaXplOiB2YXIoIC0ta2VuZG8tY29sb3ItZWRpdG9yLWZvbnQtc2l6ZSwgI3ska2VuZG8tY29sb3ItZWRpdG9yLWZvbnQtc2l6ZX0gKTtcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiB2YXIoIC0ta2VuZG8tY29sb3ItZWRpdG9yLWxpbmUtaGVpZ2h0LCAjeyRrZW5kby1jb2xvci1lZGl0b3ItbGluZS1oZWlnaHR9ICk7XG4gICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICAgICAgICBhbGlnbi1pdGVtczogc3RyZXRjaDtcblxuICAgICAgICAgICAgKixcbiAgICAgICAgICAgICo6OmJlZm9yZSxcbiAgICAgICAgICAgICo6OmFmdGVyIHtcbiAgICAgICAgICAgICAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLmstY29sb3JlZGl0b3IgLmstY29sb3JncmFkaWVudDpmb2N1cyxcbiAgICAgICAgLmstY29sb3JlZGl0b3IgLmstY29sb3JncmFkaWVudC5rLWZvY3VzIHtcbiAgICAgICAgICAgIG91dGxpbmU6IHZhciggLS1rZW5kby1jb2xvci1lZGl0b3ItY29sb3ItZ3JhZGllbnQtZm9jdXMtb3V0bGluZSwgI3ska2VuZG8tY29sb3ItZWRpdG9yLWNvbG9yLWdyYWRpZW50LWZvY3VzLW91dGxpbmV9ICkgZG90dGVkO1xuICAgICAgICAgICAgb3V0bGluZS1vZmZzZXQ6IHZhciggLS1rZW5kby1jb2xvci1lZGl0b3ItY29sb3ItZ3JhZGllbnQtZm9jdXMtb3V0bGluZS1vZmZzZXQsICN7JGtlbmRvLWNvbG9yLWVkaXRvci1jb2xvci1ncmFkaWVudC1mb2N1cy1vdXRsaW5lLW9mZnNldH0gKTtcbiAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDA7XG4gICAgICAgIH1cblxuICAgICAgICAvLyBIZWFkZXJcbiAgICAgICAgLmstY29sb3JlZGl0b3ItaGVhZGVyIHtcbiAgICAgICAgICAgIHBhZGRpbmctaW5saW5lOiB2YXIoIC0ta2VuZG8tY29sb3ItZWRpdG9yLWhlYWRlci1wYWRkaW5nLXgsICN7JGtlbmRvLWNvbG9yLWVkaXRvci1oZWFkZXItcGFkZGluZy14fSApO1xuICAgICAgICAgICAgcGFkZGluZy1ibG9jay1zdGFydDogdmFyKCAtLWtlbmRvLWNvbG9yLWVkaXRvci1oZWFkZXItcGFkZGluZy15LCAjeyRrZW5kby1jb2xvci1lZGl0b3ItaGVhZGVyLXBhZGRpbmcteX0gKTtcbiAgICAgICAgfVxuXG4gICAgICAgIC5rLWNvbG9yZWRpdG9yLWhlYWRlci1hY3Rpb25zIHtcbiAgICAgICAgICAgIGdhcDogdmFyKCAtLWtlbmRvLWNvbG9yLWVkaXRvci1oZWFkZXItYWN0aW9ucy1zcGFjaW5nLCAjeyRrZW5kby1jb2xvci1lZGl0b3ItaGVhZGVyLWFjdGlvbnMtc3BhY2luZ30gKTtcbiAgICAgICAgfVxuXG4gICAgICAgIC5rLWNvbG9yZWRpdG9yLXByZXZpZXcge1xuICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgIGZsZXgtZmxvdzogY29sdW1uIG5vd3JhcDtcbiAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBzdHJldGNoO1xuICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICAgICAgICAgICAgZ2FwOiB2YXIoIC0ta2VuZG8tY29sb3ItZWRpdG9yLXByZXZpZXctc3BhY2luZywgI3ska2VuZG8tY29sb3ItZWRpdG9yLXByZXZpZXctc3BhY2luZ30gKTtcbiAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgICAgIHotaW5kZXg6IDE7XG4gICAgICAgIH1cblxuICAgICAgICAuay1jb2xvcmVkaXRvci1wcmV2aWV3IC5rLWNvbG9yLXByZXZpZXcge1xuICAgICAgICAgICAgd2lkdGg6IHZhciggLS1rZW5kby1jb2xvci1lZGl0b3ItY29sb3ItcHJldmlldy13aWR0aCwgI3ska2VuZG8tY29sb3ItZWRpdG9yLWNvbG9yLXByZXZpZXctd2lkdGh9ICk7XG4gICAgICAgICAgICBoZWlnaHQ6IHZhciggLS1rZW5kby1jb2xvci1lZGl0b3ItY29sb3ItcHJldmlldy1oZWlnaHQsICN7JGtlbmRvLWNvbG9yLWVkaXRvci1jb2xvci1wcmV2aWV3LWhlaWdodH0gKTtcbiAgICAgICAgfVxuXG4gICAgICAgIC8vIENvbG9yUHJldmlldyBzaXplc1xuICAgICAgICBAZWFjaCAkc2l6ZSwgJHNpemUtcHJvcHMgaW4gJGtlbmRvLWNvbG9yLWVkaXRvci1zaXplcyB7XG4gICAgICAgICAgICAkX21pbi13aWR0aDogbWFwLmdldCggJHNpemUtcHJvcHMsIG1pbi13aWR0aCApO1xuICAgICAgICAgICAgJF9oZWFkZXItcGFkZGluZy14OiBtYXAuZ2V0KCAkc2l6ZS1wcm9wcywgaGVhZGVyLXBhZGRpbmcteCApO1xuICAgICAgICAgICAgJF9oZWFkZXItcGFkZGluZy15OiBtYXAuZ2V0KCAkc2l6ZS1wcm9wcywgaGVhZGVyLXBhZGRpbmcteSApO1xuICAgICAgICAgICAgJF92aWV3cy1wYWRkaW5nLXg6IG1hcC5nZXQoICRzaXplLXByb3BzLCB2aWV3cy1wYWRkaW5nLXggKTtcbiAgICAgICAgICAgICRfdmlld3MtcGFkZGluZy15OiBtYXAuZ2V0KCAkc2l6ZS1wcm9wcywgdmlld3MtcGFkZGluZy15ICk7XG4gICAgICAgICAgICAkX3ByZXZpZXctc3BhY2luZzogbWFwLmdldCggJHNpemUtcHJvcHMsIHByZXZpZXctc3BhY2luZyApO1xuICAgICAgICAgICAgJF9wcmV2aWV3LXdpZHRoOiBtYXAuZ2V0KCAkc2l6ZS1wcm9wcywgcHJldmlldy13aWR0aCApO1xuICAgICAgICAgICAgJF9wcmV2aWV3LWhlaWdodDogbWFwLmdldCggJHNpemUtcHJvcHMsIHByZXZpZXctaGVpZ2h0ICk7XG5cbiAgICAgICAgICAgIC5rLWNvbG9yZWRpdG9yLSN7JHNpemV9IHtcbiAgICAgICAgICAgICAgICBtaW4td2lkdGg6ICRfbWluLXdpZHRoO1xuXG4gICAgICAgICAgICAgICAgLmstY29sb3JlZGl0b3ItaGVhZGVyIHtcbiAgICAgICAgICAgICAgICAgICAgcGFkZGluZzogJF9oZWFkZXItcGFkZGluZy15ICRfaGVhZGVyLXBhZGRpbmcteCAwO1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIC5rLWNvbG9yZWRpdG9yLXZpZXdzIHtcbiAgICAgICAgICAgICAgICAgICAgcGFkZGluZy1ibG9jay1zdGFydDogY2FsYygkX3ZpZXdzLXBhZGRpbmcteSAqIDIpO1xuICAgICAgICAgICAgICAgICAgICBwYWRkaW5nLWJsb2NrLWVuZDogJF92aWV3cy1wYWRkaW5nLXk7XG4gICAgICAgICAgICAgICAgICAgIHBhZGRpbmctaW5saW5lOiAkX3ZpZXdzLXBhZGRpbmcteDtcbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAuay1jb2xvcmVkaXRvci1wcmV2aWV3IHtcbiAgICAgICAgICAgICAgICAgICAgZ2FwOiAkX3ByZXZpZXctc3BhY2luZztcblxuICAgICAgICAgICAgICAgICAgICAuay1jb2xvci1wcmV2aWV3IHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHdpZHRoOiAkX3ByZXZpZXctd2lkdGg7XG4gICAgICAgICAgICAgICAgICAgICAgICBoZWlnaHQ6ICRfcHJldmlldy1oZWlnaHQ7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgfVxuXG4gICAgICAgIC8vIFZpZXdzXG4gICAgICAgIC5rLWNvbG9yZWRpdG9yLXZpZXdzIHtcbiAgICAgICAgICAgIG1pbi13aWR0aDogY2FsYyggdmFyKCAtLWtlbmRvLWNvbG9yLXByZXZpZXctd2lkdGgsICN7JGtlbmRvLWNvbG9yLXBhbGV0dGUtdGlsZS13aWR0aH0pICogdmFyKCAtLWtlbmRvLWNvbG9yLXByZXZpZXctY29sdW1ucywgMTApICk7XG4gICAgICAgICAgICBwYWRkaW5nLWlubGluZTogdmFyKCAtLWtlbmRvLWNvbG9yLWVkaXRvci12aWV3cy1wYWRkaW5nLXgsICN7JGtlbmRvLWNvbG9yLWVkaXRvci12aWV3cy1wYWRkaW5nLXh9ICk7XG4gICAgICAgICAgICBwYWRkaW5nLWJsb2NrLXN0YXJ0OiBjYWxjKCB2YXIoIC0ta2VuZG8tY29sb3ItZWRpdG9yLXZpZXdzLXBhZGRpbmcteSwgI3ska2VuZG8tY29sb3ItZWRpdG9yLXZpZXdzLXBhZGRpbmcteX0gKSAqIDIgKTtcbiAgICAgICAgICAgIHBhZGRpbmctYmxvY2stZW5kOiB2YXIoIC0ta2VuZG8tY29sb3ItZWRpdG9yLXZpZXdzLXBhZGRpbmcteSwgI3ska2VuZG8tY29sb3ItZWRpdG9yLXZpZXdzLXBhZGRpbmcteX0gKTtcbiAgICAgICAgICAgIGdhcDogdmFyKCAtLWtlbmRvLWNvbG9yLWVkaXRvci12aWV3cy1zcGFjaW5nLCAjeyRrZW5kby1jb2xvci1lZGl0b3Itdmlld3Mtc3BhY2luZ30gKTtcblxuICAgICAgICAgICAgLmstY29sb3JncmFkaWVudCB7XG4gICAgICAgICAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgICAgICAgICB3aWR0aDogYXV0bztcbiAgICAgICAgICAgICAgICBib3JkZXItd2lkdGg6IDA7XG4gICAgICAgICAgICAgICAgYm94LXNoYWRvdzogbm9uZTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLmstY29sb3JwYWxldHRlIHtcbiAgICAgICAgICAgICAgICBhbGlnbi1zZWxmOiBjZW50ZXI7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAvLyBGb290ZXJcbiAgICAgICAgLmstY29sb3JlZGl0b3ItZm9vdGVyLmstYWN0aW9ucyB7XG4gICAgICAgICAgICBwYWRkaW5nLWJsb2NrOiB2YXIoIC0ta2VuZG8tY29sb3ItZWRpdG9yLWZvb3Rlci1wYWRkaW5nLXksICN7JGtlbmRvLWNvbG9yLWVkaXRvci1mb290ZXItcGFkZGluZy15fSApO1xuICAgICAgICAgICAgcGFkZGluZy1pbmxpbmU6IHZhciggLS1rZW5kby1jb2xvci1lZGl0b3ItZm9vdGVyLXBhZGRpbmcteSwgI3ska2VuZG8tY29sb3ItZWRpdG9yLWZvb3Rlci1wYWRkaW5nLXl9ICk7XG4gICAgICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgIH1cblxufVxuIiwiQHVzZSBcIi4uL2NvcmUvX2luZGV4LnNjc3NcIiBhcyAqO1xuQHVzZSBcIi4vX3ZhcmlhYmxlcy5zY3NzXCIgYXMgKjtcblxuQG1peGluIGtlbmRvLWNvbG9yLWVkaXRvci0tdGhlbWUoKSB7XG5cbiAgICAuay1jb2xvcmVkaXRvciB7XG4gICAgICAgIEBpbmNsdWRlIGZpbGwoXG4gICAgICAgICAgICB2YXIoIC0ta2VuZG8tY29sb3ItZWRpdG9yLXRleHQsICN7JGtlbmRvLWNvbG9yLWVkaXRvci10ZXh0fSApLFxuICAgICAgICAgICAgdmFyKCAtLWtlbmRvLWNvbG9yLWVkaXRvci1iZywgI3ska2VuZG8tY29sb3ItZWRpdG9yLWJnfSApLFxuICAgICAgICAgICAgdmFyKCAtLWtlbmRvLWNvbG9yLWVkaXRvci1ib3JkZXIsICN7JGtlbmRvLWNvbG9yLWVkaXRvci1ib3JkZXJ9IClcbiAgICAgICAgKTtcbiAgICAgICAgQGluY2x1ZGUgYm94LXNoYWRvdyhcbiAgICAgICAgICAgIHZhciggLS1rZW5kby1jb2xvci1lZGl0b3Itc2hhZG93LCAjeyRrZW5kby1jb2xvci1lZGl0b3Itc2hhZG93fSApXG4gICAgICAgICk7XG4gICAgfVxuXG4gICAgLmstY29sb3JlZGl0b3I6Zm9jdXMsXG4gICAgLmstY29sb3JlZGl0b3Iuay1mb2N1cyB7XG4gICAgICAgIEBpbmNsdWRlIGZpbGwoXG4gICAgICAgICAgICAkYm9yZGVyOiB2YXIoIC0ta2VuZG8tY29sb3ItZWRpdG9yLWZvY3VzLWJvcmRlciwgI3ska2VuZG8tY29sb3ItZWRpdG9yLWZvY3VzLWJvcmRlcn0gKVxuICAgICAgICApO1xuICAgICAgICBAaW5jbHVkZSBib3gtc2hhZG93KFxuICAgICAgICAgICAgdmFyKCAtLWtlbmRvLWNvbG9yLWVkaXRvci1mb2N1cy1zaGFkb3csICN7JGtlbmRvLWNvbG9yLWVkaXRvci1mb2N1cy1zaGFkb3d9IClcbiAgICAgICAgKTtcbiAgICB9XG5cbiAgICAuay1jb2xvcmVkaXRvciAuay1jb2xvcmdyYWRpZW50OmZvY3VzLFxuICAgIC5rLWNvbG9yZWRpdG9yIC5rLWNvbG9yZ3JhZGllbnQuay1mb2N1cyB7XG4gICAgICAgIGJveC1zaGFkb3c6IG5vbmU7XG4gICAgICAgIG91dGxpbmUtY29sb3I6IHZhciggLS1rZW5kby1jb2xvci1lZGl0b3ItY29sb3ItZ3JhZGllbnQtZm9jdXMtb3V0bGluZS1jb2xvciwgI3ska2VuZG8tY29sb3ItZWRpdG9yLWNvbG9yLWdyYWRpZW50LWZvY3VzLW91dGxpbmUtY29sb3J9ICk7XG4gICAgfVxufVxuIiwiQHVzZSBcIi4vX3ZhcmlhYmxlcy5zY3NzXCIgYXMgKjtcblxuQG1peGluIGtlbmRvLWNvbG9yLXBpY2tlci0tbGF5b3V0KCkge1xuXG4gICAgLy8gQ29sb3IgcGlja2VyXG4gICAgLmstY29sb3ItcGlja2VyIHtcbiAgICAgICAgd2lkdGg6IG1pbi1jb250ZW50O1xuICAgIH1cblxuICAgIC8vIEFsaWFzXG4gICAgLmstY29sb3JwaWNrZXIge1xuICAgICAgICBAZXh0ZW5kIC5rLWNvbG9yLXBpY2tlciAhb3B0aW9uYWw7XG4gICAgfVxuXG59XG4iLCJAdXNlIFwiLi4vY29yZS9faW5kZXguc2Nzc1wiIGFzICo7XG5AdXNlIFwiLi9fdmFyaWFibGVzLnNjc3NcIiBhcyAqO1xuQHVzZSBcIi4uL2FjdGlvbi1idXR0b25zL192YXJpYWJsZXMuc2Nzc1wiIGFzICo7XG5cbkBtaXhpbiBrZW5kby1kYXRlLXRpbWUtcGlja2VyLS1sYXlvdXQoKSB7XG5cbiAgICAvLyBEYXRldGltZSBjb250YWluZXJcbiAgICAuay1kYXRldGltZS1jb250YWluZXIge31cblxuICAgIC8vIERhdGV0aW1lIHNlbGVjdG9yXG4gICAgLmstZGF0ZXRpbWUtc2VsZWN0b3Ige1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gLjJzO1xuICAgIH1cblxuICAgIC8vIFdyYXBcbiAgICAuay1kYXRldGltZS13cmFwIHtcbiAgICAgICAgd2lkdGg6IHZhciggLS1rZW5kby1kYXRldGltZS13aWR0aCwgI3ska2VuZG8tZGF0ZXRpbWUtd2lkdGh9ICk7XG4gICAgICAgIG92ZXJmbG93OiBoaWRkZW47XG5cbiAgICAgICAgLmstZGF0ZXRpbWUtYnV0dG9uZ3JvdXAge1xuICAgICAgICAgICAgcGFkZGluZy1pbmxpbmU6IHZhciggLS1rZW5kby1kYXRldGltZS1idXR0b24tZ3JvdXAtcGFkZGluZy14LCAjeyRrZW5kby1hY3Rpb25zLXBhZGRpbmcteH0gKTtcbiAgICAgICAgICAgIHBhZGRpbmctYmxvY2s6IHZhciggLS1rZW5kby1kYXRldGltZS1idXR0b24tZ3JvdXAtcGFkZGluZy15LCAjeyRrZW5kby1hY3Rpb25zLXBhZGRpbmcteX0gKSAwO1xuICAgICAgICB9XG5cbiAgICAgICAgLmstY2FsZW5kYXIsXG4gICAgICAgIC5rLXRpbWVzZWxlY3RvciB7XG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgIGJvcmRlci13aWR0aDogMDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8vIElubmVyIHdyYXBcbiAgICAuay1kYXRldGltZS1jYWxlbmRhci13cmFwLFxuICAgIC5rLWRhdGV0aW1lLXRpbWUtd3JhcCB7XG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgZmxleDogMCAwIHZhciggLS1rZW5kby1kYXRldGltZS13aWR0aCwgI3ska2VuZG8tZGF0ZXRpbWUtd2lkdGh9ICk7XG4gICAgfVxuXG4gICAgLmstZGF0ZXRpbWUtdGltZS13cmFwIC5rLXRpbWUtaGVhZGVyIHtcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICB9XG5cbiAgICAvLyBUYWJzXG4gICAgLmstZGF0ZS10YWIgLmstZGF0ZXRpbWUtc2VsZWN0b3Ige1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCk7XG4gICAgfVxuICAgIC5rLXRpbWUtdGFiIC5rLWRhdGV0aW1lLXNlbGVjdG9yIHtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0xMDAlKTtcbiAgICB9XG5cbiAgICA6aXMoLmstcnRsLCBbZGlyPVwicnRsXCJdKSAuay10aW1lLXRhYiAuay1kYXRldGltZS1zZWxlY3RvcixcbiAgICAuay10aW1lLXRhYiAuay1kYXRldGltZS1zZWxlY3Rvcjppcyguay1ydGwsIFtkaXI9XCJydGxcIl0pIHtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDEwMCUpO1xuICAgIH1cbn1cbiIsIkB1c2UgXCJzYXNzOm1hcFwiO1xuQHVzZSBcIi4uL2NvcmUvX2luZGV4LnNjc3NcIiBhcyAqO1xuQHVzZSBcIi4uL2lucHV0L192YXJpYWJsZXMuc2Nzc1wiIGFzICo7XG5AdXNlIFwiLi9fdmFyaWFibGVzLnNjc3NcIiBhcyAqO1xuXG5AbWl4aW4ga2VuZG8tZGF0ZS1yYW5nZS1waWNrZXItLWxheW91dCgpIHtcblxuICAgIC8vIERhdGVyYW5nZSBwaWNrZXJcbiAgICAuay1kYXRlcmFuZ2UtcGlja2VyIHtcbiAgICAgICAgd2lkdGg6IHZhciggLS1rZW5kby1kYXRlcmFuZ2UtcGlja2VyLXdpZHRoLCAjeyRrZW5kby1kYXRlcmFuZ2UtcGlja2VyLXdpZHRofSApO1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBmbGV4LWZsb3c6IHJvdyBub3dyYXA7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBmbGV4LWVuZDtcbiAgICAgICAgZ2FwOiBrLXNwYWNpbmcoMik7XG5cbiAgICAgICAgKixcbiAgICAgICAgKjo6YmVmb3JlLFxuICAgICAgICAqOjphZnRlciB7XG4gICAgICAgICAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgICAgICB9XG5cbiAgICAgICAgLmstZGF0ZWlucHV0IHtcbiAgICAgICAgICAgIHdpZHRoOiB2YXIoIC0ta2VuZG8tZGF0ZXJhbmdlLXBpY2tlci1pbnB1dC13aWR0aCwgI3ska2VuZG8tZGF0ZXJhbmdlLXBpY2tlci1pbnB1dC13aWR0aH0gKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8vIFJlYWN0IHNwZWNpZmljXG4gICAgLmstZGF0ZXJhbmdlcGlja2VyLXdyYXAge1xuICAgICAgICBkaXNwbGF5OiBpbmhlcml0O1xuICAgICAgICBmbGV4LWZsb3c6IGluaGVyaXQ7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBpbmhlcml0O1xuICAgICAgICBnYXA6IGluaGVyaXQ7XG4gICAgfVxuXG5cbiAgICAvLyBBbGlhc1xuICAgIC5rLWRhdGVyYW5nZXBpY2tlciB7XG4gICAgICAgIEBleHRlbmQgLmstZGF0ZXJhbmdlLXBpY2tlciAhb3B0aW9uYWw7XG4gICAgfVxufVxuIiwiQHVzZSBcIi4uL2NvcmUvX2luZGV4LnNjc3NcIiBhcyAqO1xuQHVzZSBcIi4uL2lucHV0L192YXJpYWJsZXMuc2Nzc1wiIGFzICo7XG5cbkBtaXhpbiBrZW5kby1kYXRlLXJhbmdlLXBpY2tlci0tdGhlbWUoKSB7XG5cbiAgICAuay1kYXRlcmFuZ2UtcGlja2VyIHtcblxuICAgICAgICAmOmRpc2FibGVkLFxuICAgICAgICAmW2Rpc2FibGVkXSxcbiAgICAgICAgJi5rLWRpc2FibGVkIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGRpc2FibGVkKFxuICAgICAgICAgICAgICAgICRjb2xvcjogdmFyKCAtLWtlbmRvLWRhdGVyYW5nZS1waWNrZXItZGlzYWJsZWQtdGV4dCwgdmFyKCAtLWtlbmRvLWRpc2FibGVkLXRleHQsIGluaGVyaXQgKSApLFxuICAgICAgICAgICAgICAgICRiZzogdmFyKCAtLWtlbmRvLWRhdGVyYW5nZS1waWNrZXItZGlzYWJsZWQtYmcsIHRyYW5zcGFyZW50ICksXG4gICAgICAgICAgICAgICAgJGJvcmRlcjogdmFyKCAtLWtlbmRvLWRhdGVyYW5nZS1waWNrZXItZGlzYWJsZWQtYm9yZGVyLCBjdXJyZW50Q29sb3IgKVxuICAgICAgICAgICAgKTtcblxuICAgICAgICAgICAgLmstaW5wdXQge1xuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGZpbGwoXG4gICAgICAgICAgICAgICAgICAgICRjb2xvcjogdmFyKCAtLWtlbmRvLWlucHV0LWRpc2FibGVkLXRleHQsIGluaGVyaXQgKSxcbiAgICAgICAgICAgICAgICAgICAgJGJnOiB2YXIoIC0ta2VuZG8taW5wdXQtZGlzYWJsZWQtYmcsIHRyYW5zcGFyZW50ICksXG4gICAgICAgICAgICAgICAgICAgICRib3JkZXI6IHZhciggLS1rZW5kby1pbnB1dC1kaXNhYmxlZC1ib3JkZXIsIGN1cnJlbnRDb2xvciApXG4gICAgICAgICAgICAgICAgKVxuICAgICAgICAgICAgfVxuXG4gICAgICAgIH1cblxuICAgIH1cbn1cbiIsIkBtaXhpbiBrZW5kby1kcm9wZG93bi1ncmlkLS1sYXlvdXQoKSB7XG5cbiAgICAvLyBEcm9wZG93bkdyaWRcbiAgICAuay1kcm9wZG93bi1ncmlkIHt9XG5cbiAgICAvLyBEcm9wZG93bkdyaWQgUG9wdXBcbiAgICAuay1kcm9wZG93bmdyaWQtcG9wdXAge1xuICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIH1cbiAgICAuay1kcm9wZG93bmdyaWQtcG9wdXAgPiAuay1kYXRhLXRhYmxlIHtcbiAgICAgICAgYm9yZGVyLXdpZHRoOiAwO1xuICAgIH1cbn1cbiIsIkBtaXhpbiBrZW5kby1kcm9wZG93bi1saXN0LS1sYXlvdXQoKSB7XG5cbiAgICAvLyBEcm9wZG93biBsaXN0XG4gICAgLmstZHJvcGRvd24tbGlzdCB7fVxuXG5cbiAgICAvLyBOYXRpdmUgc2VsZWN0XG4gICAgc2VsZWN0LmstZHJvcGRvd24tbGlzdCB7fVxuXG5cbiAgICAvLyBEcm9wZG93biBvcGVyYXRvclxuICAgIC5rLWRyb3Bkb3duLW9wZXJhdG9yIHtcbiAgICAgICAgd2lkdGg6IG1pbi1jb250ZW50O1xuICAgICAgICBmbGV4OiBub25lO1xuXG4gICAgICAgIC5rLWlucHV0LWJ1dHRvbiB7XG4gICAgICAgICAgICBib3JkZXItd2lkdGg6IDA7XG4gICAgICAgIH1cbiAgICAgICAgLmstaW5wdXQtYnV0dG9uIC5rLWJ1dHRvbi1pY29uIHtcbiAgICAgICAgICAgIHdpZHRoOiBhdXRvO1xuICAgICAgICAgICAgYXNwZWN0LXJhdGlvOiAxO1xuICAgICAgICB9XG5cbiAgICAgICAgLmstaW5wdXQtaW5uZXIge1xuICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8vIEFsaWFzXG4gICAgLmstZHJvcGRvd24sXG4gICAgLmstZHJvcGRvd25saXN0IHtcbiAgICAgICAgQGV4dGVuZCAuay1kcm9wZG93bi1saXN0ICFvcHRpb25hbDtcbiAgICB9XG5cbn1cbiIsIkB1c2UgXCJzYXNzOm1hcFwiO1xuQHVzZSBcIi4uL2NvcmUvX2luZGV4LnNjc3NcIiBhcyAqO1xuQHVzZSBcIi4vX3ZhcmlhYmxlcy5zY3NzXCIgYXMgKjtcblxuQG1peGluIGtlbmRvLXRyZWV2aWV3LS1sYXlvdXQoKSB7XG5cbiAgICAuay10cmVldmlldyB7XG4gICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgIGJvcmRlci13aWR0aDogMDtcbiAgICAgICAgYmFja2dyb3VuZDogbm9uZTtcbiAgICAgICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICAgICAgb3V0bGluZTogMDtcbiAgICAgICAgZm9udC1mYW1pbHk6IHZhciggLS1rZW5kby10cmVldmlldy1mb250LWZhbWlseSwgI3ska2VuZG8tdHJlZXZpZXctZm9udC1mYW1pbHl9ICk7XG4gICAgICAgIGZvbnQtc2l6ZTogdmFyKCAtLUlOVEVSTkFMLS1rZW5kby10cmVldmlldy1mb250LXNpemUsIDFyZW0gKTtcbiAgICAgICAgbGluZS1oZWlnaHQ6IHZhciggLS1JTlRFUk5BTC0ta2VuZG8tdHJlZXZpZXctbGluZS1oZWlnaHQsIG5vcm1hbCApO1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgY3Vyc29yOiBkZWZhdWx0O1xuICAgICAgICBvdmVyZmxvdzogYXV0bztcbiAgICAgICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgICAgICAgLXdlYmtpdC10b3VjaC1jYWxsb3V0OiBub25lO1xuICAgICAgICAtd2Via2l0LXRhcC1oaWdobGlnaHQtY29sb3I6ICRrZW5kby1jb2xvci1yZ2JhLXRyYW5zcGFyZW50O1xuXG4gICAgICAgICosXG4gICAgICAgICo6OmJlZm9yZSxcbiAgICAgICAgKjo6YWZ0ZXIge1xuICAgICAgICAgICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICAgICAgfVxuICAgIH1cblxuXG4gICAgLy8gVHJlZXZpZXcgZmlsdGVyXG4gICAgLmstdHJlZXZpZXctZmlsdGVyIHtcbiAgICAgICAgcGFkZGluZy1pbmxpbmU6IHZhciggLS1rZW5kby10cmVldmlldy1maWx0ZXItcGFkZGluZy14LCAjeyRrZW5kby10cmVldmlldy1maWx0ZXItcGFkZGluZy14fSApO1xuICAgICAgICBwYWRkaW5nLWJsb2NrOiB2YXIoIC0ta2VuZG8tdHJlZXZpZXctZmlsdGVyLXBhZGRpbmcteSwgI3ska2VuZG8tdHJlZXZpZXctZmlsdGVyLXBhZGRpbmcteX0gKTtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgZmxleDogbm9uZTtcbiAgICB9XG5cblxuICAgIC8vIFRyZWV2aWV3IGdyb3VwXG4gICAgLmstdHJlZXZpZXctZ3JvdXAge1xuICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgb3V0bGluZTogMDtcbiAgICAgICAgLXdlYmtpdC10b3VjaC1jYWxsb3V0OiBub25lO1xuICAgICAgICAtd2Via2l0LXRhcC1oaWdobGlnaHQtY29sb3I6ICRrZW5kby1jb2xvci1yZ2JhLXRyYW5zcGFyZW50O1xuXG4gICAgICAgICYubmctYW5pbWF0aW5nIHtcbiAgICAgICAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgICAgIH1cbiAgICB9XG5cblxuICAgIC8vIFRyZWV2aWV3IHdyYXBwZXJzXG4gICAgLmstdHJlZXZpZXctdG9wLFxuICAgIC5rLXRyZWV2aWV3LW1pZCxcbiAgICAuay10cmVldmlldy1ib3Qge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICBhbGlnbi1jb250ZW50OiBjZW50ZXI7XG4gICAgfVxuXG5cbiAgICAvLyBUcmVldmlldyBpdGVtXG4gICAgLmstdHJlZXZpZXctaXRlbSB7XG4gICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgcGFkZGluZy1pbmxpbmUtc3RhcnQ6IHZhciggLS1rZW5kby10cmVldmlldy1pbmRlbnQsICN7JGtlbmRvLXRyZWV2aWV3LWluZGVudH0gKTtcbiAgICAgICAgYm9yZGVyLXdpZHRoOiAwO1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgb3V0bGluZS1zdHlsZTogbm9uZTtcbiAgICB9XG5cblxuICAgIC8vIFRyZWV2aWV3IHRvZ2dsZVxuICAgIC5rLXRyZWV2aWV3LXRvZ2dsZSB7XG4gICAgICAgIG1hcmdpbi1pbmxpbmUtc3RhcnQ6IGNhbGMoIHZhciggLS1rZW5kby10cmVldmlldy1pbmRlbnQsICN7JGtlbmRvLXRyZWV2aWV3LWluZGVudH0gKSAqIC0xICk7XG4gICAgICAgIGZsZXg6IG5vbmU7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICAgICAgICBmbGV4LWZsb3c6IHJvdyBub3dyYXA7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICB9XG4gICAgLmstdHJlZXZpZXctdG9nZ2xlIC5rLWljb24ge1xuICAgICAgICBwYWRkaW5nOiB2YXIoIC0ta2VuZG8taWNvbi1wYWRkaW5nLCAuMjVyZW0gKTtcbiAgICAgICAgYm94LXNpemluZzogY29udGVudC1ib3g7XG4gICAgfVxuXG5cbiAgICAvLyBMb2FkaW5nIGljb25cbiAgICAuay10cmVldmlldy1sb2FkaW5nIHtcbiAgICAgICAgbWFyZ2luLWlubGluZS1lbmQ6IHZhciggLS1rZW5kby1pY29uLXNwYWNpbmcsIC41cmVtICk7XG4gICAgfVxuXG5cbiAgICAvLyBDaGVja2JveFxuICAgIC5rLXRyZWV2aWV3IC5rLWNoZWNrYm94LXdyYXAsXG4gICAgLmstdHJlZXZpZXcgLmstY2hlY2tib3gtd3JhcHBlciB7XG4gICAgICAgIHBhZGRpbmc6IHZhciggLS1rZW5kby10cmVldmlldy1jaGVja2JveC13cmFwLXBhZGRpbmcsICN7JGtlbmRvLXRyZWV2aWV3LWNoZWNrYm94LXdyYXAtcGFkZGluZ30gKTtcbiAgICAgICAgYWxpZ24tc2VsZjogY2VudGVyO1xuICAgIH1cblxuXG4gICAgLy8gVHJlZXZpZXcgbGVhZlxuICAgIC5rLXRyZWV2aWV3LWxlYWYge1xuICAgICAgICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKCB2YXIoIC0ta2VuZG8tdHJlZXZpZXctaXRlbS1ib3JkZXItcmFkaXVzLCAjeyRrZW5kby10cmVldmlldy1pdGVtLWJvcmRlci1yYWRpdXN9ICkgKTtcbiAgICAgICAgcGFkZGluZy1pbmxpbmU6IHZhciggLS1JTlRFUk5BTC0ta2VuZG8tdHJlZXZpZXctaXRlbS1wYWRkaW5nLXgsIDAgKTtcbiAgICAgICAgcGFkZGluZy1ibG9jazogdmFyKCAtLUlOVEVSTkFMLS1rZW5kby10cmVldmlldy1pdGVtLXBhZGRpbmcteSwgMCApO1xuICAgICAgICBib3JkZXI6ICRrZW5kby10cmVldmlldy1pdGVtLWJvcmRlci13aWR0aCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgYWxpZ24tY29udGVudDogY2VudGVyO1xuICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgICAgICAgLmstaWNvbixcbiAgICAgICAgLmstaW1hZ2UsXG4gICAgICAgIC5rLXNwcml0ZSB7XG4gICAgICAgICAgICBtYXJnaW4taW5saW5lLWVuZDogdmFyKCAtLWtlbmRvLWljb24tc3BhY2luZywgLjVyZW0gKTtcbiAgICAgICAgfVxuXG4gICAgICAgICYuay1mb2N1cyB7XG4gICAgICAgICAgICB6LWluZGV4OiAxO1xuICAgICAgICB9XG4gICAgfVxuXG5cbiAgICAvLyBUcmVldmlldyBsb2FkIG1vcmUgYnV0dG9uXG4gICAgLmstdHJlZXZpZXcgLmstdHJlZXZpZXctbG9hZC1tb3JlLWJ1dHRvbiB7XG4gICAgICAgIGN1cnNvcjogcG9pbnRlcjtcblxuICAgICAgICAmOmhvdmVyLFxuICAgICAgICAmLmstaG92ZXIsXG4gICAgICAgICY6Zm9jdXMsXG4gICAgICAgICYuay1mb2N1cyB7XG4gICAgICAgICAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcbiAgICAgICAgfVxuICAgIH1cblxuXG4gICAgLy8gVHJlZXZpZXcgc2l6ZXNcbiAgICBAZWFjaCAkc2l6ZSwgJHNpemUtcHJvcHMgaW4gJGtlbmRvLXRyZWV2aWV3LXNpemVzIHtcbiAgICAgICAgJF9mb250LXNpemU6IG1hcC5nZXQoICRzaXplLXByb3BzLCBmb250LXNpemUgKTtcbiAgICAgICAgJF9saW5lLWhlaWdodDogbWFwLmdldCggJHNpemUtcHJvcHMsIGxpbmUtaGVpZ2h0ICk7XG4gICAgICAgICRfaXRlbS1wYWRkaW5nLXg6IG1hcC5nZXQoICRzaXplLXByb3BzLCBpdGVtLXBhZGRpbmcteCApO1xuICAgICAgICAkX2l0ZW0tcGFkZGluZy15OiBtYXAuZ2V0KCAkc2l6ZS1wcm9wcywgaXRlbS1wYWRkaW5nLXkgKTtcblxuICAgICAgICAuay10cmVldmlldy0jeyRzaXplfSB7XG4gICAgICAgICAgICAtLUlOVEVSTkFMLS1rZW5kby10cmVldmlldy1mb250LXNpemU6IHZhciggLS1rZW5kby10cmVldmlldy0jeyRzaXplfS1mb250LXNpemUsICN7JF9mb250LXNpemV9ICk7XG4gICAgICAgICAgICAtLUlOVEVSTkFMLS1rZW5kby10cmVldmlldy1saW5lLWhlaWdodDogdmFyKCAtLWtlbmRvLXRyZWV2aWV3LSN7JHNpemV9LWxpbmUtaGVpZ2h0LCAjeyRfbGluZS1oZWlnaHR9ICk7XG5cbiAgICAgICAgICAgIC5rLXRyZWV2aWV3LWxlYWYge1xuICAgICAgICAgICAgICAgIC0tSU5URVJOQUwtLWtlbmRvLXRyZWV2aWV3LWl0ZW0tcGFkZGluZy14OiB2YXIoIC0ta2VuZG8tdHJlZXZpZXctI3skc2l6ZX0taXRlbS1wYWRkaW5nLXgsICN7JF9pdGVtLXBhZGRpbmcteH0gKTtcbiAgICAgICAgICAgICAgICAtLUlOVEVSTkFMLS1rZW5kby10cmVldmlldy1pdGVtLXBhZGRpbmcteTogdmFyKCAtLWtlbmRvLXRyZWV2aWV3LSN7JHNpemV9LWl0ZW0tcGFkZGluZy15LCAjeyRfaXRlbS1wYWRkaW5nLXl9ICk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbn1cbiIsIkB1c2UgXCIuLi9jb3JlL19pbmRleC5zY3NzXCIgYXMgKjtcbkB1c2UgXCIuL192YXJpYWJsZXMuc2Nzc1wiIGFzICo7XG5cbkBtaXhpbiBrZW5kby10cmVldmlldy0tdGhlbWUoKSB7XG5cbiAgICAuay10cmVldmlldyB7XG4gICAgICAgIEBpbmNsdWRlIGZpbGwoXG4gICAgICAgICAgICB2YXIoIC0ta2VuZG8tdHJlZXZpZXctdGV4dCwgI3ska2VuZG8tdHJlZXZpZXctdGV4dH0gKSxcbiAgICAgICAgICAgIHZhciggLS1rZW5kby10cmVldmlldy1iZywgI3ska2VuZG8tdHJlZXZpZXctYmd9ICksXG4gICAgICAgICAgICB2YXIoIC0ta2VuZG8tdHJlZXZpZXctYm9yZGVyLCAjeyRrZW5kby10cmVldmlldy1ib3JkZXJ9IClcbiAgICAgICAgKTtcbiAgICB9XG5cblxuICAgIC8vIFRyZWV2aWV3IGl0ZW1cbiAgICAuay10cmVldmlldy1pdGVtOmRpc2FibGVkLFxuICAgIC5rLXRyZWV2aWV3LWl0ZW0uay1kaXNhYmxlZCB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgIH1cblxuXG4gICAgLy8gVHJlZXZpZXcgbGVhZlxuICAgIC5rLXRyZWV2aWV3LWxlYWYge1xuICAgICAgICAtLUlOVEVSTkFMLS1rZW5kby10cmVldmlldy1pdGVtLXRleHQ6IHZhciggLS1rZW5kby10cmVldmlldy1pdGVtLXRleHQsICN7JGtlbmRvLXRyZWV2aWV3LWl0ZW0tdGV4dH0gKTtcbiAgICAgICAgLS1JTlRFUk5BTC0ta2VuZG8tdHJlZXZpZXctaXRlbS1iZzogdmFyKCAtLWtlbmRvLXRyZWV2aWV3LWl0ZW0tYmcsICN7JGtlbmRvLXRyZWV2aWV3LWl0ZW0tYmd9ICk7XG4gICAgICAgIC0tSU5URVJOQUwtLWtlbmRvLXRyZWV2aWV3LWl0ZW0tYm9yZGVyOiB2YXIoIC0ta2VuZG8tdHJlZXZpZXctaXRlbS1ib3JkZXIsICN7JGtlbmRvLXRyZWV2aWV3LWl0ZW0tYm9yZGVyfSApO1xuXG4gICAgICAgIEBpbmNsdWRlIGZpbGwoXG4gICAgICAgICAgICB2YXIoIC0tSU5URVJOQUwtLWtlbmRvLXRyZWV2aWV3LWl0ZW0tdGV4dCwgaW5oZXJpdCApLFxuICAgICAgICAgICAgdmFyKCAtLUlOVEVSTkFMLS1rZW5kby10cmVldmlldy1pdGVtLWJnLCB0cmFuc3BhcmVudCApLFxuICAgICAgICAgICAgdmFyKCAtLUlOVEVSTkFMLS1rZW5kby10cmVldmlldy1pdGVtLWJvcmRlciwgaW5oZXJpdCApXG4gICAgICAgICk7XG5cbiAgICAgICAgLy8gSG92ZXIgc3RhdGVcbiAgICAgICAgJjpob3ZlcixcbiAgICAgICAgJi5rLWhvdmVyIHtcbiAgICAgICAgICAgIC0tSU5URVJOQUwtLWtlbmRvLXRyZWV2aWV3LWl0ZW0tdGV4dDogdmFyKCAtLWtlbmRvLXRyZWV2aWV3LWl0ZW0taG92ZXItdGV4dCwgI3ska2VuZG8tdHJlZXZpZXctaXRlbS1ob3Zlci10ZXh0fSApO1xuICAgICAgICAgICAgLS1JTlRFUk5BTC0ta2VuZG8tdHJlZXZpZXctaXRlbS1iZzogdmFyKCAtLWtlbmRvLXRyZWV2aWV3LWl0ZW0taG92ZXItYmcsICN7JGtlbmRvLXRyZWV2aWV3LWl0ZW0taG92ZXItYmd9ICk7XG4gICAgICAgICAgICAtLUlOVEVSTkFMLS1rZW5kby10cmVldmlldy1pdGVtLWJvcmRlcjogdmFyKCAtLWtlbmRvLXRyZWV2aWV3LWl0ZW0taG92ZXItYm9yZGVyLCAjeyRrZW5kby10cmVldmlldy1pdGVtLWhvdmVyLWJvcmRlcn0gKTtcbiAgICAgICAgfVxuXG4gICAgICAgIC8vIEZvY3VzIHN0YXRlXG4gICAgICAgICY6Zm9jdXMsXG4gICAgICAgICYuay1mb2N1cyB7XG4gICAgICAgICAgICAtLUlOVEVSTkFMLS1rZW5kby10cmVldmlldy1pdGVtLXRleHQ6IHZhciggLS1rZW5kby10cmVldmlldy1pdGVtLWZvY3VzLXRleHQsICN7JGtlbmRvLXRyZWV2aWV3LWl0ZW0tZm9jdXMtdGV4dH0gKTtcbiAgICAgICAgICAgIC0tSU5URVJOQUwtLWtlbmRvLXRyZWV2aWV3LWl0ZW0tYmc6IHZhciggLS1rZW5kby10cmVldmlldy1pdGVtLWZvY3VzLWJnLCAjeyRrZW5kby10cmVldmlldy1pdGVtLWZvY3VzLWJnfSApO1xuICAgICAgICAgICAgLS1JTlRFUk5BTC0ta2VuZG8tdHJlZXZpZXctaXRlbS1ib3JkZXI6IHZhciggLS1rZW5kby10cmVldmlldy1pdGVtLWZvY3VzLWJvcmRlciwgI3ska2VuZG8tdHJlZXZpZXctaXRlbS1mb2N1cy1ib3JkZXJ9ICk7XG5cbiAgICAgICAgICAgIEBpbmNsdWRlIGJveC1zaGFkb3coICRrZW5kby10cmVldmlldy1pdGVtLWZvY3VzLXNoYWRvdyApO1xuICAgICAgICB9XG5cbiAgICAgICAgLy8gU2VsZWN0ZWQgc3RhdGVcbiAgICAgICAgJi5rLXNlbGVjdGVkIHtcbiAgICAgICAgICAgIC0tSU5URVJOQUwtLWtlbmRvLXRyZWV2aWV3LWl0ZW0tdGV4dDogdmFyKCAtLWtlbmRvLXRyZWV2aWV3LWl0ZW0tc2VsZWN0ZWQtdGV4dCwgI3ska2VuZG8tdHJlZXZpZXctaXRlbS1zZWxlY3RlZC10ZXh0fSApO1xuICAgICAgICAgICAgLS1JTlRFUk5BTC0ta2VuZG8tdHJlZXZpZXctaXRlbS1iZzogdmFyKCAtLWtlbmRvLXRyZWV2aWV3LWl0ZW0tc2VsZWN0ZWQtYmcsICN7JGtlbmRvLXRyZWV2aWV3LWl0ZW0tc2VsZWN0ZWQtYmd9ICk7XG4gICAgICAgICAgICAtLUlOVEVSTkFMLS1rZW5kby10cmVldmlldy1pdGVtLWJvcmRlcjogdmFyKCAtLWtlbmRvLXRyZWV2aWV3LWl0ZW0tc2VsZWN0ZWQtYm9yZGVyLCAjeyRrZW5kby10cmVldmlldy1pdGVtLXNlbGVjdGVkLWJvcmRlcn0gKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8vIERpc2FibGVkIHN0YXRlXG4gICAgLmstdHJlZXZpZXctbGVhZjppcyg6ZGlzYWJsZWQsIC5rLWRpc2FibGVkKSxcbiAgICA6aXMoLmstdHJlZXZpZXctaXRlbTpkaXNhYmxlZCwgLmstdHJlZXZpZXctaXRlbS5rLWRpc2FibGVkKSAuay10cmVldmlldy1sZWFmIHtcbiAgICAgICAgLS1JTlRFUk5BTC0ta2VuZG8tdHJlZXZpZXctaXRlbS10ZXh0OiB2YXIoIC0ta2VuZG8tdHJlZXZpZXctaXRlbS1kaXNhYmxlZC10ZXh0LCAjeyRrZW5kby10cmVldmlldy1pdGVtLWRpc2FibGVkLXRleHR9ICk7XG4gICAgICAgIC0tSU5URVJOQUwtLWtlbmRvLXRyZWV2aWV3LWl0ZW0tYmc6IHZhciggLS1rZW5kby10cmVldmlldy1pdGVtLWRpc2FibGVkLWJnLCAjeyRrZW5kby10cmVldmlldy1pdGVtLWRpc2FibGVkLWJnfSApO1xuICAgICAgICAtLUlOVEVSTkFMLS1rZW5kby10cmVldmlldy1pdGVtLWJvcmRlcjogdmFyKCAtLWtlbmRvLXRyZWV2aWV3LWl0ZW0tZGlzYWJsZWQtYm9yZGVyLCAjeyRrZW5kby10cmVldmlldy1pdGVtLWRpc2FibGVkLWJvcmRlcn0gKTtcbiAgICB9XG5cbiAgICAvLyBUcmVldmlldyBsb2FkIG1vcmUgYnV0dG9uXG4gICAgLmstdHJlZXZpZXcgLmstdHJlZXZpZXctbG9hZC1tb3JlLWJ1dHRvbiB7XG4gICAgICAgIC0tSU5URVJOQUwtLWtlbmRvLXRyZWV2aWV3LWxvYWRtb3JlLXRleHQ6IHZhciggLS1rZW5kby10cmVldmlldy1sb2FkbW9yZS10ZXh0LCAjeyRrZW5kby10cmVldmlldy1sb2FkbW9yZS10ZXh0fSApO1xuICAgICAgICAtLUlOVEVSTkFMLS1rZW5kby10cmVldmlldy1sb2FkbW9yZS1iZzogdmFyKCAtLWtlbmRvLXRyZWV2aWV3LWxvYWRtb3JlLWJnLCAjeyRrZW5kby10cmVldmlldy1sb2FkbW9yZS1iZ30gKTtcbiAgICAgICAgLS1JTlRFUk5BTC0ta2VuZG8tdHJlZXZpZXctbG9hZG1vcmUtYm9yZGVyOiB2YXIoIC0ta2VuZG8tdHJlZXZpZXctbG9hZG1vcmUtYm9yZGVyLCAjeyRrZW5kby10cmVldmlldy1sb2FkbW9yZS1ib3JkZXJ9ICk7XG5cbiAgICAgICAgQGluY2x1ZGUgZmlsbChcbiAgICAgICAgICAgIHZhciggLS1JTlRFUk5BTC0ta2VuZG8tdHJlZXZpZXctbG9hZG1vcmUtdGV4dCwgaW5oZXJpdCApLFxuICAgICAgICAgICAgdmFyKCAtLUlOVEVSTkFMLS1rZW5kby10cmVldmlldy1sb2FkbW9yZS1iZywgdHJhbnNwYXJlbnQgKSxcbiAgICAgICAgICAgIHZhciggLS1JTlRFUk5BTC0ta2VuZG8tdHJlZXZpZXctbG9hZG1vcmUtYm9yZGVyLCBpbmhlcml0IClcbiAgICAgICAgKTtcblxuICAgICAgICAvLyBIb3ZlciBzdGF0ZVxuICAgICAgICAmOmhvdmVyLFxuICAgICAgICAmLmstaG92ZXIge1xuICAgICAgICAgICAgLS1JTlRFUk5BTC0ta2VuZG8tdHJlZXZpZXctbG9hZG1vcmUtdGV4dDogdmFyKCAtLWtlbmRvLXRyZWV2aWV3LWxvYWRtb3JlLWhvdmVyLXRleHQsICN7JGtlbmRvLXRyZWV2aWV3LWxvYWRtb3JlLWhvdmVyLXRleHR9ICk7XG4gICAgICAgICAgICAtLUlOVEVSTkFMLS1rZW5kby10cmVldmlldy1sb2FkbW9yZS1iZzogdmFyKCAtLWtlbmRvLXRyZWV2aWV3LWxvYWRtb3JlLWhvdmVyLWJnLCAjeyRrZW5kby10cmVldmlldy1sb2FkbW9yZS1ob3Zlci1iZ30gKTtcbiAgICAgICAgICAgIC0tSU5URVJOQUwtLWtlbmRvLXRyZWV2aWV3LWxvYWRtb3JlLWJvcmRlcjogdmFyKCAtLWtlbmRvLXRyZWV2aWV3LWxvYWRtb3JlLWhvdmVyLWJvcmRlciwgI3ska2VuZG8tdHJlZXZpZXctbG9hZG1vcmUtaG92ZXItYm9yZGVyfSApO1xuICAgICAgICB9XG5cbiAgICAgICAgLy8gRm9jdXMgc3RhdGVcbiAgICAgICAgJjpmb2N1cyxcbiAgICAgICAgJi5rLWZvY3VzIHtcbiAgICAgICAgICAgIC0tSU5URVJOQUwtLWtlbmRvLXRyZWV2aWV3LWxvYWRtb3JlLXRleHQ6IHZhciggLS1rZW5kby10cmVldmlldy1sb2FkbW9yZS1mb2N1cy10ZXh0LCAjeyRrZW5kby10cmVldmlldy1sb2FkbW9yZS1mb2N1cy10ZXh0fSApO1xuICAgICAgICAgICAgLS1JTlRFUk5BTC0ta2VuZG8tdHJlZXZpZXctbG9hZG1vcmUtYmc6IHZhciggLS1rZW5kby10cmVldmlldy1sb2FkbW9yZS1mb2N1cy1iZywgI3ska2VuZG8tdHJlZXZpZXctbG9hZG1vcmUtZm9jdXMtYmd9ICk7XG4gICAgICAgICAgICAtLUlOVEVSTkFMLS1rZW5kby10cmVldmlldy1sb2FkbW9yZS1ib3JkZXI6IHZhciggLS1rZW5kby10cmVldmlldy1sb2FkbW9yZS1mb2N1cy1ib3JkZXIsICN7JGtlbmRvLXRyZWV2aWV3LWxvYWRtb3JlLWZvY3VzLWJvcmRlcn0gKTtcblxuICAgICAgICAgICAgQGluY2x1ZGUgYm94LXNoYWRvdyggJGtlbmRvLXRyZWV2aWV3LWxvYWRtb3JlLWZvY3VzLXNoYWRvdyApO1xuICAgICAgICB9XG4gICAgfVxuXG59XG4iLCJAdXNlIFwiLi4vY29yZS9faW5kZXguc2Nzc1wiIGFzICo7XG5AdXNlIFwiLi9fdmFyaWFibGVzLnNjc3NcIiBhcyAqO1xuXG5AbWl4aW4ga2VuZG8tZHJvcGRvd24tdHJlZS0tbGF5b3V0KCkge1xuXG4gICAgLy8gRHJvcGRvd24gdHJlZVxuICAgIC5rLWRyb3Bkb3duLXRyZWUge31cblxuICAgIC8vIERyb3Bkb3dudHJlZSBwb3B1cFxuICAgIC5rLXBvcHVwLWRyb3Bkb3dudHJlZSwgLy8gcmVtb3ZlIGxlZ2FjeSBjbGFzcyBvbmNlIHVwZGF0ZWQgaW4gY29tcG9uZW50c1xuICAgIC5rLWRyb3Bkb3dudHJlZS1wb3B1cCxcbiAgICAuay1tdWx0aXNlbGVjdHRyZWUtcG9wdXAge1xuICAgICAgICAuay10cmVldmlldyB7XG4gICAgICAgICAgICBwYWRkaW5nLWJsb2NrOiBjYWxjKCB2YXIoIC0ta2VuZG8tZHJvcGRvd250cmVlLXBvcHVwLXBhZGRpbmcteSwgI3ska2VuZG8tZHJvcGRvd250cmVlLXBvcHVwLXBhZGRpbmcteX0gKSAvIDIgKTtcbiAgICAgICAgICAgIHBhZGRpbmctaW5saW5lOiBjYWxjKCB2YXIoIC0ta2VuZG8tZHJvcGRvd250cmVlLXBvcHVwLXBhZGRpbmcteCwgI3ska2VuZG8tZHJvcGRvd250cmVlLXBvcHVwLXBhZGRpbmcteH0gKSAvIDIgKTtcbiAgICAgICAgfVxuXG4gICAgICAgIC5rLWNoZWNrLWFsbCB7XG4gICAgICAgICAgICBwYWRkaW5nLWJsb2NrOiB2YXIoIC0ta2VuZG8tZHJvcGRvd250cmVlLXBvcHVwLXBhZGRpbmcteSwgI3ska2VuZG8tZHJvcGRvd250cmVlLXBvcHVwLXBhZGRpbmcteX0gKTtcbiAgICAgICAgICAgIHBhZGRpbmctaW5saW5lOiB2YXIoIC0ta2VuZG8tZHJvcGRvd250cmVlLXBvcHVwLXBhZGRpbmcteCwgI3ska2VuZG8tZHJvcGRvd250cmVlLXBvcHVwLXBhZGRpbmcteH0gKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5rLW11bHRpc2VsZWN0dHJlZSB7XG4gICAgICAgIC5rLWlucHV0LXZhbHVlcyB7XG4gICAgICAgICAgICB3aWR0aDogYXV0bztcbiAgICAgICAgICAgIG1heC13aWR0aDogMTAwJTtcbiAgICAgICAgfVxuXG4gICAgICAgIC5rLWlucHV0LWlubmVyOjpiZWZvcmUge1xuICAgICAgICAgICAgY29udGVudDogXCJcXDIwMGJcIjtcbiAgICAgICAgICAgIHdpZHRoOiAwcHg7XG4gICAgICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgICAgICAgICAgZmxleDogbm9uZTtcbiAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgICAgIHZlcnRpY2FsLWFsaWduOiB0b3A7XG4gICAgICAgIH1cbiAgICB9XG5cbn1cbiIsIkB1c2UgXCIuLi9jb3JlL19pbmRleC5zY3NzXCIgYXMgKjtcbkB1c2UgXCIuL192YXJpYWJsZXMuc2Nzc1wiIGFzICo7XG5cbkBtaXhpbiBrZW5kby1yYXRpbmctLWxheW91dCgpIHtcblxuICAgIC8vIFJhdGluZ1xuICAgIC5rLXJhdGluZyB7XG4gICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgYm9yZGVyLXdpZHRoOiAwO1xuICAgICAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgICAgICBvdXRsaW5lOiAwO1xuICAgICAgICBmb250LXNpemU6IHZhciggLS1rZW5kby1yYXRpbmctZm9udC1zaXplLCAjeyRrZW5kby1yYXRpbmctZm9udC1zaXplfSApO1xuICAgICAgICBmb250LWZhbWlseTogdmFyKCAtLWtlbmRvLXJhdGluZy1mb250LWZhbWlseSwgI3ska2VuZG8tcmF0aW5nLWZvbnQtZmFtaWx5fSApO1xuICAgICAgICBsaW5lLWhlaWdodDogdmFyKCAtLWtlbmRvLXJhdGluZy1saW5lLWhlaWdodCwgI3ska2VuZG8tcmF0aW5nLWxpbmUtaGVpZ2h0fSApO1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgICAgICAgZ2FwOiB2YXIoIC0ta2VuZG8tcmF0aW5nLXNwYWNpbmcsICN7JGtlbmRvLXJhdGluZy1zcGFjaW5nfSApO1xuICAgICAgICBiYWNrZ3JvdW5kOiBub25lO1xuICAgICAgICAtd2Via2l0LXRvdWNoLWNhbGxvdXQ6IG5vbmU7XG4gICAgICAgIC13ZWJraXQtdGFwLWhpZ2hsaWdodC1jb2xvcjogJGtlbmRvLWNvbG9yLXJnYmEtdHJhbnNwYXJlbnQ7XG5cbiAgICAgICAgKixcbiAgICAgICAgKjo6YmVmb3JlLFxuICAgICAgICAqOjphZnRlciB7XG4gICAgICAgICAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgICAgICB9XG5cbiAgICAgICAgJi5rLXJlYWRvbmx5IHtcbiAgICAgICAgICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLy8gSXRlbXMgd3JhcHBlclxuICAgIC5rLXJhdGluZy1jb250YWluZXIge1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIGZsZXg6IDAgMSBhdXRvO1xuICAgIH1cblxuICAgIC8vIEl0ZW1cbiAgICAuay1yYXRpbmctaXRlbSB7XG4gICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgcGFkZGluZy1pbmxpbmU6IHZhciggLS1rZW5kby1yYXRpbmctaXRlbS1wYWRkaW5nLXgsICN7JGtlbmRvLXJhdGluZy1pdGVtLXBhZGRpbmcteH0gKTtcbiAgICAgICAgcGFkZGluZy1ibG9jazogdmFyKCAtLWtlbmRvLXJhdGluZy1pdGVtLXBhZGRpbmcteSwgI3ska2VuZG8tcmF0aW5nLWl0ZW0tcGFkZGluZy15fSApO1xuICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgICAgICBvdXRsaW5lOiAwO1xuICAgICAgICB0cmFuc2l0aW9uOiBjb2xvciAyMDBtcyBlYXNlLW91dCAwcztcblxuICAgICAgICAqIHtcbiAgICAgICAgICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICAgICAgICB9XG5cbiAgICAgICAgc3ZnIHtcbiAgICAgICAgICAgIGZpbGw6IGN1cnJlbnRDb2xvcjtcbiAgICAgICAgfVxuXG4gICAgICAgICY6Zm9jdXMsXG4gICAgICAgICYuay1mb2N1cyB7XG4gICAgICAgICAgICBvdXRsaW5lLXdpZHRoOiB2YXIoIC0ta2VuZG8tcmF0aW5nLWl0ZW0tZm9jdXMtb3V0bGluZS13aWR0aCwgI3ska2VuZG8tcmF0aW5nLWl0ZW0tZm9jdXMtb3V0bGluZS13aWR0aH0gKTtcbiAgICAgICAgICAgIG91dGxpbmUtc3R5bGU6IHZhciggLS1rZW5kby1yYXRpbmctaXRlbS1mb2N1cy1vdXRsaW5lLXN0eWxlLCAjeyRrZW5kby1yYXRpbmctaXRlbS1mb2N1cy1vdXRsaW5lLXN0eWxlfSApO1xuICAgICAgICAgICAgb3V0bGluZS1vZmZzZXQ6IC0jeyRrZW5kby1yYXRpbmctaXRlbS1mb2N1cy1vdXRsaW5lLXdpZHRofTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8vIExhYmVsXG4gICAgLmstcmF0aW5nLWxhYmVsIHtcbiAgICAgICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgfVxuXG4gICAgLy8gUHJlY2lzaW9uXG4gICAgLmstcmF0aW5nLXByZWNpc2lvbi1wYXJ0LFxuICAgIC5rLXJhdGluZy1wcmVjaXNpb24tY29tcGxlbWVudCB7XG4gICAgICAgIGRpc3BsYXk6IGluaGVyaXQ7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgdG9wOiB2YXIoIC0ta2VuZG8tcmF0aW5nLWl0ZW0tcGFkZGluZy15LCAjeyRrZW5kby1yYXRpbmctaXRlbS1wYWRkaW5nLXl9ICk7XG4gICAgICAgIGluc2V0LWlubGluZS1zdGFydDogdmFyKCAtLWtlbmRvLXJhdGluZy1pdGVtLXBhZGRpbmcteCwgI3ska2VuZG8tcmF0aW5nLWl0ZW0tcGFkZGluZy14fSApO1xuICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIH1cblxuICAgIC5rLXJhdGluZy1wcmVjaXNpb24tY29tcGxlbWVudCB7XG4gICAgICAgIGRpcmVjdGlvbjogcnRsO1xuICAgIH1cblxuICAgIDppcyguay1ydGwsIFtkaXI9XCJydGxcIl0pIC5rLXJhdGluZy1wcmVjaXNpb24tY29tcGxlbWVudCB7XG4gICAgICAgIGRpcmVjdGlvbjogbHRyO1xuICAgIH1cblxufVxuIiwiQHVzZSBcIi4uL2NvcmUvX2luZGV4LnNjc3NcIiBhcyAqO1xuQHVzZSBcIi4vX3ZhcmlhYmxlcy5zY3NzXCIgYXMgKjtcblxuQG1peGluIGtlbmRvLXJhdGluZy0tdGhlbWUoKSB7XG5cbiAgICAuay1yYXRpbmctaXRlbSB7XG4gICAgICAgIEBpbmNsdWRlIGZpbGwoXG4gICAgICAgICAgICAkY29sb3I6IHZhciggLS1rZW5kby1yYXRpbmctaXRlbS10ZXh0LCAjeyRrZW5kby1yYXRpbmctaXRlbS10ZXh0fSApXG4gICAgICAgICk7XG5cbiAgICAgICAgJi5rLXNlbGVjdGVkIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGZpbGwoXG4gICAgICAgICAgICAgICAgJGNvbG9yOiB2YXIoIC0ta2VuZG8tcmF0aW5nLWl0ZW0tc2VsZWN0ZWQtdGV4dCwgI3ska2VuZG8tcmF0aW5nLWl0ZW0tc2VsZWN0ZWQtdGV4dH0gKVxuICAgICAgICAgICAgKTtcblxuXG4gICAgICAgICAgICAmOmhvdmVyLFxuICAgICAgICAgICAgJi5rLWhvdmVyIHtcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBmaWxsKFxuICAgICAgICAgICAgICAgICAgICAkY29sb3I6IHZhciggLS1rZW5kby1yYXRpbmctaXRlbS1zZWxlY3RlZC1ob3Zlci10ZXh0LCAjeyRrZW5kby1yYXRpbmctaXRlbS1zZWxlY3RlZC1ob3Zlci10ZXh0fSApXG4gICAgICAgICAgICAgICAgKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgICY6aG92ZXIsXG4gICAgICAgICYuay1ob3ZlciB7XG4gICAgICAgICAgICBAaW5jbHVkZSBmaWxsKFxuICAgICAgICAgICAgICAgICRjb2xvcjogdmFyKCAtLWtlbmRvLXJhdGluZy1pdGVtLWhvdmVyLXRleHQsICN7JGtlbmRvLXJhdGluZy1pdGVtLWhvdmVyLXRleHR9IClcbiAgICAgICAgICAgICk7XG4gICAgICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgICAgIH1cblxuICAgICAgICAmOmZvY3VzLFxuICAgICAgICAmLmstZm9jdXMge1xuICAgICAgICAgICAgb3V0bGluZS1jb2xvcjogdmFyKCAtLWtlbmRvLXJhdGluZy1pdGVtLWZvY3VzLW91dGxpbmUsICN7JGtlbmRvLXJhdGluZy1pdGVtLWZvY3VzLW91dGxpbmV9ICk7XG4gICAgICAgIH1cblxuICAgICAgICAmLmstZGlzYWJsZWQge1xuICAgICAgICAgICAgQGluY2x1ZGUgZGlzYWJsZWQoXG4gICAgICAgICAgICAgICAgdmFyKCAtLWtlbmRvLWRpc2FibGVkLXRleHQsIGluaGVyaXQgKSxcbiAgICAgICAgICAgICAgICBpbmhlcml0LFxuICAgICAgICAgICAgICAgIHZhciggLS1rZW5kby1kaXNhYmxlZC1ib3JkZXIsIGluaGVyaXQgKVxuICAgICAgICAgICAgKTtcbiAgICAgICAgfVxuICAgIH1cbn1cbiIsIkB1c2UgXCIuLi9jb3JlL19pbmRleC5zY3NzXCIgYXMgKjtcbkB1c2UgXCIuL192YXJpYWJsZXMuc2Nzc1wiIGFzICo7XG5cbkBtaXhpbiBrZW5kby1zZWFyY2hib3gtLWxheW91dCgpIHtcblxuICAgIC5rLXNlYXJjaGJveCB7XG5cbiAgICAgICAgLmstaW5wdXQtaWNvbiB7XG4gICAgICAgICAgICB0cmFuc2l0aW9uOiB2YXIoIC0ta2VuZG8tdHJhbnNpdGlvbiwgbm9uZSApO1xuICAgICAgICB9XG5cbiAgICAgICAgJjpmb2N1cyxcbiAgICAgICAgJjpmb2N1cy13aXRoaW4sXG4gICAgICAgICYuay1mb2N1cyB7XG4gICAgICAgICAgICAuay1pbnB1dC1pY29uIHtcbiAgICAgICAgICAgICAgICB3aWR0aDogMDtcbiAgICAgICAgICAgICAgICBvcGFjaXR5OiAwO1xuICAgICAgICAgICAgICAgIHRyYW5zaXRpb246IHZhciggLS1rZW5kby10cmFuc2l0aW9uLCBub25lICk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG59XG4iLCJAdXNlIFwiLi9fdmFyaWFibGVzLnNjc3NcIiBhcyAqO1xuXG5AbWl4aW4ga2VuZG8tc2VhcmNoYm94LS10aGVtZSgpIHtcbiAgICAuay1zZWFyY2hib3gge1xuICAgICAgICAuay1pbnB1dC1pY29uIHtcbiAgICAgICAgICAgIGNvbG9yOiB2YXIoIC0ta2VuZG8tc2VhcmNoYm94LWljb24tY29sb3IsICN7JGtlbmRvLXNlYXJjaGJveC1pY29uLWNvbG9yfSApXG4gICAgICAgIH1cbiAgICAgfVxufVxuIiwiQHVzZSBcInNhc3M6bWFwXCI7XG5AdXNlIFwiLi4vY29yZS9faW5kZXguc2Nzc1wiIGFzICo7XG5AdXNlIFwiLi9fdmFyaWFibGVzLnNjc3NcIiBhcyAqO1xuXG5AbWl4aW4ga2VuZG8tc3dpdGNoLS1sYXlvdXQoKSB7XG5cbiAgICAuay1zd2l0Y2gge1xuICAgICAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgICAgICB3aWR0aDogdmFyKCAtLUlOVEVSTkFMLS1rZW5kby1zd2l0Y2gtd2lkdGgsIGF1dG8gKTtcbiAgICAgICAgaGVpZ2h0OiB2YXIoIC0tSU5URVJOQUwtLWtlbmRvLXN3aXRjaC1oZWlnaHQsIGF1dG8gKTtcbiAgICAgICAgZm9udC1mYW1pbHk6IHZhciggLS1rZW5kby1zd2l0Y2gtZm9udC1mYW1pbHksICN7JGtlbmRvLXN3aXRjaC1mb250LWZhbWlseX0gKTtcbiAgICAgICAgZm9udC1zaXplOiB2YXIoIC0tSU5URVJOQUwtLWtlbmRvLXN3aXRjaC1mb250LXNpemUsIDFyZW0gKTtcbiAgICAgICAgb3V0bGluZTogMDtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxO1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAgICAgdXNlci1zZWxlY3Q6IG5vbmU7XG4gICAgICAgIC13ZWJraXQtdG91Y2gtY2FsbG91dDogbm9uZTtcbiAgICAgICAgLXdlYmtpdC10YXAtaGlnaGxpZ2h0LWNvbG9yOiAka2VuZG8tY29sb3ItcmdiYS10cmFuc3BhcmVudDtcblxuICAgICAgICAmLmstc3dpdGNoLW9uIC5rLXN3aXRjaC10aHVtYi13cmFwIHtcbiAgICAgICAgICAgIGluc2V0LWlubGluZS1zdGFydDogY2FsYyggMTAwJSAtICggdmFyKCAtLUlOVEVSTkFMLS1rZW5kby1zd2l0Y2gtdGh1bWItd2lkdGgsIGF1dG8gKSAvIDIgKSAtIHZhciggLS1JTlRFUk5BTC0ta2VuZG8tc3dpdGNoLXRodW1iLW9mZnNldCwgMCApICk7XG4gICAgICAgIH1cbiAgICAgICAgJi5rLXN3aXRjaC1vZmYgLmstc3dpdGNoLXRodW1iLXdyYXAge1xuICAgICAgICAgICAgaW5zZXQtaW5saW5lLXN0YXJ0OiBjYWxjKCAoIHZhciggLS1JTlRFUk5BTC0ta2VuZG8tc3dpdGNoLXRodW1iLXdpZHRoLCBhdXRvICkgLyAyICkgKyB2YXIoIC0tSU5URVJOQUwtLWtlbmRvLXN3aXRjaC10aHVtYi1vZmZzZXQsIDAgKSApO1xuICAgICAgICB9XG5cbiAgICAgICAgKixcbiAgICAgICAgKjo6YmVmb3JlLFxuICAgICAgICAqOjphZnRlciB7XG4gICAgICAgICAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgICAgICB9XG5cbiAgICAgICAgW3R5cGU9XCJjaGVja2JveFwiXSB7XG4gICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICB9XG5cbiAgICAgICAgJlthcmlhLXJlYWRvbmx5PVwidHJ1ZVwiXSB7XG4gICAgICAgICAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgICAgICAgfVxuICAgIH1cblxuXG4gICAgLy8gRm9jdXNcbiAgICAuay1zd2l0Y2g6Zm9jdXMsXG4gICAgLmstc3dpdGNoLmstZm9jdXMge1xuICAgICAgICAmOjphZnRlciB7XG4gICAgICAgICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgaW5zZXQ6IC0ycHg7XG4gICAgICAgICAgICB6LWluZGV4OiAxO1xuICAgICAgICB9XG4gICAgfVxuXG5cbiAgICAvLyBSZWFkb25seVxuICAgIC5rLXN3aXRjaC5rLXJlYWRvbmx5IHtcbiAgICAgICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gICAgfVxuXG5cbiAgICAvLyBTd2l0Y2ggdHJhY2tcbiAgICAuay1zd2l0Y2gtdHJhY2sge1xuICAgICAgICB3aWR0aDogdmFyKCAtLUlOVEVSTkFMLS1rZW5kby1zd2l0Y2gtd2lkdGgsIGF1dG8gKTtcbiAgICAgICAgaGVpZ2h0OiB2YXIoIC0tSU5URVJOQUwtLWtlbmRvLXN3aXRjaC1oZWlnaHQsIGF1dG8gKTtcbiAgICAgICAgYm9yZGVyLXdpZHRoOiB2YXIoIC0ta2VuZG8tc3dpdGNoLXRyYWNrLWJvcmRlci13aWR0aCwgI3ska2VuZG8tc3dpdGNoLXRyYWNrLWJvcmRlci13aWR0aH0gKTtcbiAgICAgICAgYm9yZGVyLXN0eWxlOiBpZiggJGtlbmRvLXN3aXRjaC10cmFjay1ib3JkZXItd2lkdGggPT0gbnVsbCwgbnVsbCwgc29saWQgKTtcbiAgICAgICAgb3V0bGluZTogMDtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgZmxleC1mbG93OiByb3cgbm93cmFwO1xuICAgICAgICBmbGV4OiAxIDAgYXV0bztcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICB0cmFuc2l0aW9uOiBhbGwgMTAwbXMgZWFzZS1pbi1vdXQ7XG4gICAgfVxuXG5cbiAgICAvLyBTd2l0Y2ggdGh1bWJcbiAgICAuay1zd2l0Y2gtdGh1bWItd3JhcCB7XG4gICAgICAgIHdpZHRoOiAwO1xuICAgICAgICBoZWlnaHQ6IDA7XG4gICAgICAgIG92ZXJmbG93OiB2aXNpYmxlO1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHRyYW5zaXRpb246IGluc2V0LWlubGluZS1zdGFydCAxMDBtcyBlYXNlLWluLW91dDtcbiAgICAgICAgdG9wOiA1MCU7XG4gICAgfVxuICAgIC5rLXN3aXRjaC10aHVtYiB7XG4gICAgICAgIHdpZHRoOiB2YXIoIC0tSU5URVJOQUwtLWtlbmRvLXN3aXRjaC10aHVtYi13aWR0aCwgYXV0byApO1xuICAgICAgICBoZWlnaHQ6IHZhciggLS1JTlRFUk5BTC0ta2VuZG8tc3dpdGNoLXRodW1iLWhlaWdodCwgYXV0byApO1xuICAgICAgICBib3JkZXItd2lkdGg6IHZhciggLS1rZW5kby1zd2l0Y2gtdGh1bWItYm9yZGVyLXdpZHRoLCAjeyRrZW5kby1zd2l0Y2gtdGh1bWItYm9yZGVyLXdpZHRofSApO1xuICAgICAgICBib3JkZXItc3R5bGU6IGlmKCAka2VuZG8tc3dpdGNoLXRodW1iLWJvcmRlci13aWR0aCA9PSBudWxsLCBudWxsLCBzb2xpZCApO1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSggLTUwJSwgLTUwJSApO1xuICAgICAgICB0cmFuc2l0aW9uOiBhbGwgMTAwbXMgZWFzZS1pbi1vdXQ7XG4gICAgfVxuXG5cbiAgICAvLyBTd2l0Y2ggbGFiZWxcbiAgICAuay1zd2l0Y2gtbGFiZWwtb24sXG4gICAgLmstc3dpdGNoLWxhYmVsLW9mZiB7XG4gICAgICAgIHRleHQtdHJhbnNmb3JtOiB2YXIoIC0ta2VuZG8tc3dpdGNoLWxhYmVsLXRleHQtdHJhbnNmb3JtLCAjeyRrZW5kby1zd2l0Y2gtbGFiZWwtdGV4dC10cmFuc2Zvcm19ICk7XG4gICAgICAgIGRpc3BsYXk6IHZhciggLS1rZW5kby1zd2l0Y2gtbGFiZWwtZGlzcGxheSwgI3ska2VuZG8tc3dpdGNoLWxhYmVsLWRpc3BsYXl9ICk7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgdG9wOiA1MCU7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSggLTUwJSApO1xuICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIH1cbiAgICAuay1zd2l0Y2gtbGFiZWwtb24ge1xuICAgICAgICBpbnNldC1pbmxpbmUtc3RhcnQ6IHZhciggLS1JTlRFUk5BTC0ta2VuZG8tc3dpdGNoLWxhYmVsLW9mZnNldCwgMCApO1xuICAgIH1cbiAgICAuay1zd2l0Y2gtbGFiZWwtb2ZmIHtcbiAgICAgICAgaW5zZXQtaW5saW5lLWVuZDogdmFyKCAtLUlOVEVSTkFMLS1rZW5kby1zd2l0Y2gtbGFiZWwtb2Zmc2V0LCAwICk7XG4gICAgfVxuXG5cbiAgICAvLyBTd2l0Y2ggc2l6ZXNcbiAgICBAZWFjaCAkc2l6ZSwgJHNpemUtcHJvcHMgaW4gJGtlbmRvLXN3aXRjaC1zaXplcyB7XG5cbiAgICAgICAgJF9mb250LXNpemU6IG1hcC5nZXQoICRzaXplLXByb3BzLCBmb250LXNpemUgKTtcbiAgICAgICAgJF90cmFjay13aWR0aDogbWFwLmdldCggJHNpemUtcHJvcHMsIHRyYWNrLXdpZHRoICk7XG4gICAgICAgICRfdHJhY2staGVpZ2h0OiBtYXAuZ2V0KCAkc2l6ZS1wcm9wcywgdHJhY2staGVpZ2h0ICk7XG4gICAgICAgICRfdGh1bWItd2lkdGg6IG1hcC5nZXQoICRzaXplLXByb3BzLCB0aHVtYi13aWR0aCApO1xuICAgICAgICAkX3RodW1iLWhlaWdodDogbWFwLmdldCggJHNpemUtcHJvcHMsIHRodW1iLWhlaWdodCApO1xuICAgICAgICAkX3RodW1iLW9mZnNldDogbWFwLmdldCggJHNpemUtcHJvcHMsIHRodW1iLW9mZnNldCApO1xuICAgICAgICAkX2xhYmVsLW9mZnNldDogbWFwLmdldCggJHNpemUtcHJvcHMsIGxhYmVsLW9mZnNldCApO1xuXG4gICAgICAgIC5rLXN3aXRjaC0jeyRzaXplfSB7XG4gICAgICAgICAgICAtLUlOVEVSTkFMLS1rZW5kby1zd2l0Y2gtd2lkdGg6IHZhciggLS1rZW5kby1zd2l0Y2gtI3skc2l6ZX0td2lkdGgsICN7JF90cmFjay13aWR0aH0gKTtcbiAgICAgICAgICAgIC0tSU5URVJOQUwtLWtlbmRvLXN3aXRjaC1oZWlnaHQ6IHZhciggLS1rZW5kby1zd2l0Y2gtI3skc2l6ZX0taGVpZ2h0LCAjeyRfdHJhY2staGVpZ2h0fSApO1xuICAgICAgICAgICAgLS1JTlRFUk5BTC0ta2VuZG8tc3dpdGNoLWZvbnQtc2l6ZTogdmFyKCAtLWtlbmRvLXN3aXRjaC0jeyRzaXplfS1mb250LXNpemUsICN7JF9mb250LXNpemV9ICk7XG5cbiAgICAgICAgICAgIC5rLXN3aXRjaC1sYWJlbC1vbixcbiAgICAgICAgICAgIC5rLXN3aXRjaC1sYWJlbC1vZmYge1xuICAgICAgICAgICAgICAgIC0tSU5URVJOQUwtLWtlbmRvLXN3aXRjaC1sYWJlbC1vZmZzZXQ6IHZhciggLS1rZW5kby1zd2l0Y2gtI3skc2l6ZX0tbGFiZWwtb2Zmc2V0LCAjeyRfbGFiZWwtb2Zmc2V0fSApO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAuay1zd2l0Y2gtdGh1bWIsXG4gICAgICAgICAgICAuay1zd2l0Y2gtdGh1bWItd3JhcCB7XG4gICAgICAgICAgICAgICAgLS1JTlRFUk5BTC0ta2VuZG8tc3dpdGNoLXRodW1iLXdpZHRoOiB2YXIoIC0ta2VuZG8tc3dpdGNoLSN7JHNpemV9LXRodW1iLXdpZHRoLCAjeyRfdGh1bWItd2lkdGh9ICk7XG4gICAgICAgICAgICAgICAgLS1JTlRFUk5BTC0ta2VuZG8tc3dpdGNoLXRodW1iLWhlaWdodDogdmFyKCAtLWtlbmRvLXN3aXRjaC0jeyRzaXplfS10aHVtYi1oZWlnaHQsICN7JF90aHVtYi1oZWlnaHR9ICk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAuay1zd2l0Y2gtdGh1bWItd3JhcCB7XG4gICAgICAgICAgICAgICAgLS1JTlRFUk5BTC0ta2VuZG8tc3dpdGNoLXRodW1iLW9mZnNldDogdmFyKCAtLWtlbmRvLXN3aXRjaC0jeyRzaXplfS10aHVtYi1vZmZzZXQsICN7JF90aHVtYi1vZmZzZXR9ICk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgIH1cblxuXG4gICAgLy8gUlRMXG4gICAgLmstc3dpdGNoW2Rpcj1cInJ0bFwiXSxcbiAgICBbZGlyPVwicnRsXCJdIC5rLXN3aXRjaCxcbiAgICAuay1zd2l0Y2guay1ydGwsXG4gICAgLmstcnRsIC5rLXN3aXRjaCB7XG5cbiAgICAgICAgLmstc3dpdGNoLXRodW1iIHtcbiAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKCA1MCUsIC01MCUgKTtcbiAgICAgICAgfVxuXG4gICAgfVxuXG59XG4iLCJAdXNlIFwiLi4vY29yZS9faW5kZXguc2Nzc1wiIGFzICo7XG5AdXNlIFwiLi9fdmFyaWFibGVzLnNjc3NcIiBhcyAqO1xuXG5AbWl4aW4ga2VuZG8tc3dpdGNoLS10aGVtZSgpIHtcblxuICAgIC8vIFN3aXRjaFxuICAgIC5rLXN3aXRjaCB7XG4gICAgICAgICY6Zm9jdXMsXG4gICAgICAgICYuay1mb2N1cyB7XG4gICAgICAgICAgICAmOjphZnRlciB7XG4gICAgICAgICAgICAgICAgb3V0bGluZTogJGtlbmRvLXN3aXRjaC1mb2N1cy1yaW5nO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgJjpkaXNhYmxlZCxcbiAgICAgICAgJi5rLWRpc2FibGVkIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgICAgICB9XG4gICAgfVxuXG5cbiAgICAvLyBTd2l0Y2ggT0ZGXG4gICAgLmstc3dpdGNoLW9mZiB7XG5cbiAgICAgICAgLy8gTm9ybWFsIHN0YXRlXG4gICAgICAgIC5rLXN3aXRjaC10cmFjayB7XG4gICAgICAgICAgICAtLUlOVEVSTkFMLS1rZW5kby1zd2l0Y2gtb2ZmLXRyYWNrLXRleHQ6IHZhciggLS1rZW5kby1zd2l0Y2gtb2ZmLXRyYWNrLXRleHQsICN7JGtlbmRvLXN3aXRjaC1vZmYtdHJhY2stdGV4dH0gKTtcbiAgICAgICAgICAgIC0tSU5URVJOQUwtLWtlbmRvLXN3aXRjaC1vZmYtdHJhY2stYmc6IHZhciggLS1rZW5kby1zd2l0Y2gtb2ZmLXRyYWNrLWJnLCAjeyRrZW5kby1zd2l0Y2gtb2ZmLXRyYWNrLWJnfSApO1xuICAgICAgICAgICAgLS1JTlRFUk5BTC0ta2VuZG8tc3dpdGNoLW9mZi10cmFjay1ib3JkZXI6IHZhciggLS1rZW5kby1zd2l0Y2gtb2ZmLXRyYWNrLWJvcmRlciwgI3ska2VuZG8tc3dpdGNoLW9mZi10cmFjay1ib3JkZXJ9ICk7XG5cbiAgICAgICAgICAgIEBpbmNsdWRlIGZpbGwoXG4gICAgICAgICAgICAgICAgdmFyKCAtLUlOVEVSTkFMLS1rZW5kby1zd2l0Y2gtb2ZmLXRyYWNrLXRleHQsIGluaGVyaXQgKSxcbiAgICAgICAgICAgICAgICB2YXIoIC0tSU5URVJOQUwtLWtlbmRvLXN3aXRjaC1vZmYtdHJhY2stYmcsIHRyYW5zcGFyZW50ICksXG4gICAgICAgICAgICAgICAgdmFyKCAtLUlOVEVSTkFMLS1rZW5kby1zd2l0Y2gtb2ZmLXRyYWNrLWJvcmRlciwgaW5oZXJpdCApXG4gICAgICAgICAgICApO1xuICAgICAgICB9XG4gICAgICAgIC5rLXN3aXRjaC10aHVtYiB7XG4gICAgICAgICAgICAtLUlOVEVSTkFMLS1rZW5kby1zd2l0Y2gtb2ZmLXRodW1iLXRleHQ6IHZhciggLS1rZW5kby1zd2l0Y2gtb2ZmLXRodW1iLXRleHQsICN7JGtlbmRvLXN3aXRjaC1vZmYtdGh1bWItdGV4dH0gKTtcbiAgICAgICAgICAgIC0tSU5URVJOQUwtLWtlbmRvLXN3aXRjaC1vZmYtdGh1bWItYmc6IHZhciggLS1rZW5kby1zd2l0Y2gtb2ZmLXRodW1iLWJnLCAjeyRrZW5kby1zd2l0Y2gtb2ZmLXRodW1iLWJnfSApO1xuICAgICAgICAgICAgLS1JTlRFUk5BTC0ta2VuZG8tc3dpdGNoLW9mZi10aHVtYi1ib3JkZXI6IHZhciggLS1rZW5kby1zd2l0Y2gtb2ZmLXRodW1iLWJvcmRlciwgI3ska2VuZG8tc3dpdGNoLW9mZi10aHVtYi1ib3JkZXJ9ICk7XG5cbiAgICAgICAgICAgIEBpbmNsdWRlIGZpbGwoXG4gICAgICAgICAgICAgICAgdmFyKCAtLUlOVEVSTkFMLS1rZW5kby1zd2l0Y2gtb2ZmLXRodW1iLXRleHQsIGluaGVyaXQgKSxcbiAgICAgICAgICAgICAgICB2YXIoIC0tSU5URVJOQUwtLWtlbmRvLXN3aXRjaC1vZmYtdGh1bWItYmcsIHRyYW5zcGFyZW50ICksXG4gICAgICAgICAgICAgICAgdmFyKCAtLUlOVEVSTkFMLS1rZW5kby1zd2l0Y2gtb2ZmLXRodW1iLWJvcmRlciwgaW5oZXJpdCApXG4gICAgICAgICAgICApO1xuICAgICAgICB9XG5cbiAgICAgICAgLy8gSG92ZXJcbiAgICAgICAgJjpob3ZlcixcbiAgICAgICAgJi5rLWhvdmVyIHtcbiAgICAgICAgICAgIC5rLXN3aXRjaC10cmFjayB7XG4gICAgICAgICAgICAgICAgLS1JTlRFUk5BTC0ta2VuZG8tc3dpdGNoLW9mZi10cmFjay10ZXh0OiB2YXIoIC0ta2VuZG8tc3dpdGNoLW9mZi10cmFjay1ob3Zlci10ZXh0LCAjeyRrZW5kby1zd2l0Y2gtb2ZmLXRyYWNrLWhvdmVyLXRleHR9ICk7XG4gICAgICAgICAgICAgICAgLS1JTlRFUk5BTC0ta2VuZG8tc3dpdGNoLW9mZi10cmFjay1iZzogdmFyKCAtLWtlbmRvLXN3aXRjaC1vZmYtdHJhY2staG92ZXItYmcsICN7JGtlbmRvLXN3aXRjaC1vZmYtdHJhY2staG92ZXItYmd9ICk7XG4gICAgICAgICAgICAgICAgLS1JTlRFUk5BTC0ta2VuZG8tc3dpdGNoLW9mZi10cmFjay1ib3JkZXI6IHZhciggLS1rZW5kby1zd2l0Y2gtb2ZmLXRyYWNrLWhvdmVyLWJvcmRlciwgI3ska2VuZG8tc3dpdGNoLW9mZi10cmFjay1ob3Zlci1ib3JkZXJ9ICk7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC5rLXN3aXRjaC10aHVtYiB7XG4gICAgICAgICAgICAgICAgLS1JTlRFUk5BTC0ta2VuZG8tc3dpdGNoLW9mZi10aHVtYi10ZXh0OiB2YXIoIC0ta2VuZG8tc3dpdGNoLW9mZi10aHVtYi1ob3Zlci10ZXh0LCAjeyRrZW5kby1zd2l0Y2gtb2ZmLXRodW1iLWhvdmVyLXRleHR9ICk7XG4gICAgICAgICAgICAgICAgLS1JTlRFUk5BTC0ta2VuZG8tc3dpdGNoLW9mZi10aHVtYi1iZzogdmFyKCAtLWtlbmRvLXN3aXRjaC1vZmYtdGh1bWItaG92ZXItYmcsICN7JGtlbmRvLXN3aXRjaC1vZmYtdGh1bWItaG92ZXItYmd9ICk7XG4gICAgICAgICAgICAgICAgLS1JTlRFUk5BTC0ta2VuZG8tc3dpdGNoLW9mZi10aHVtYi1ib3JkZXI6IHZhciggLS1rZW5kby1zd2l0Y2gtb2ZmLXRodW1iLWhvdmVyLWJvcmRlciwgI3ska2VuZG8tc3dpdGNoLW9mZi10aHVtYi1ob3Zlci1ib3JkZXJ9ICk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAvLyBGb2N1c1xuICAgICAgICAmOmZvY3VzLFxuICAgICAgICAmLmstZm9jdXMge1xuICAgICAgICAgICAgLmstc3dpdGNoLXRyYWNrIHtcbiAgICAgICAgICAgICAgICAtLUlOVEVSTkFMLS1rZW5kby1zd2l0Y2gtb2ZmLXRyYWNrLXRleHQ6IHZhciggLS1rZW5kby1zd2l0Y2gtb2ZmLXRyYWNrLWZvY3VzLXRleHQsICN7JGtlbmRvLXN3aXRjaC1vZmYtdHJhY2stZm9jdXMtdGV4dH0gKTtcbiAgICAgICAgICAgICAgICAtLUlOVEVSTkFMLS1rZW5kby1zd2l0Y2gtb2ZmLXRyYWNrLWJnOiB2YXIoIC0ta2VuZG8tc3dpdGNoLW9mZi10cmFjay1mb2N1cy1iZywgI3ska2VuZG8tc3dpdGNoLW9mZi10cmFjay1mb2N1cy1iZ30gKTtcbiAgICAgICAgICAgICAgICAtLUlOVEVSTkFMLS1rZW5kby1zd2l0Y2gtb2ZmLXRyYWNrLWJvcmRlcjogdmFyKCAtLWtlbmRvLXN3aXRjaC1vZmYtdHJhY2stZm9jdXMtYm9yZGVyLCAjeyRrZW5kby1zd2l0Y2gtb2ZmLXRyYWNrLWZvY3VzLWJvcmRlcn0gKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC8vIERpc2FibGVkXG4gICAgICAgICY6ZGlzYWJsZWQsXG4gICAgICAgICYuay1kaXNhYmxlZCB7XG4gICAgICAgICAgICAuay1zd2l0Y2gtdHJhY2sge1xuICAgICAgICAgICAgICAgIC0tSU5URVJOQUwtLWtlbmRvLXN3aXRjaC1vZmYtdHJhY2stdGV4dDogdmFyKCAtLWtlbmRvLXN3aXRjaC1vZmYtdHJhY2stZGlzYWJsZWQtdGV4dCwgI3ska2VuZG8tc3dpdGNoLW9mZi10cmFjay1kaXNhYmxlZC10ZXh0fSApO1xuICAgICAgICAgICAgICAgIC0tSU5URVJOQUwtLWtlbmRvLXN3aXRjaC1vZmYtdHJhY2stYmc6IHZhciggLS1rZW5kby1zd2l0Y2gtb2ZmLXRyYWNrLWRpc2FibGVkLWJnLCAjeyRrZW5kby1zd2l0Y2gtb2ZmLXRyYWNrLWRpc2FibGVkLWJnfSApO1xuICAgICAgICAgICAgICAgIC0tSU5URVJOQUwtLWtlbmRvLXN3aXRjaC1vZmYtdHJhY2stYm9yZGVyOiB2YXIoIC0ta2VuZG8tc3dpdGNoLW9mZi10cmFjay1kaXNhYmxlZC1ib3JkZXIsICN7JGtlbmRvLXN3aXRjaC1vZmYtdHJhY2stZGlzYWJsZWQtYm9yZGVyfSApO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAuay1zd2l0Y2gtdGh1bWIge1xuICAgICAgICAgICAgICAgIC0tSU5URVJOQUwtLWtlbmRvLXN3aXRjaC1vZmYtdGh1bWItdGV4dDogdmFyKCAtLWtlbmRvLXN3aXRjaC1vZmYtdGh1bWItZGlzYWJsZWQtdGV4dCwgI3ska2VuZG8tc3dpdGNoLW9mZi10aHVtYi1kaXNhYmxlZC10ZXh0fSApO1xuICAgICAgICAgICAgICAgIC0tSU5URVJOQUwtLWtlbmRvLXN3aXRjaC1vZmYtdGh1bWItYmc6IHZhciggLS1rZW5kby1zd2l0Y2gtb2ZmLXRodW1iLWRpc2FibGVkLWJnLCAjeyRrZW5kby1zd2l0Y2gtb2ZmLXRodW1iLWRpc2FibGVkLWJnfSApO1xuICAgICAgICAgICAgICAgIC0tSU5URVJOQUwtLWtlbmRvLXN3aXRjaC1vZmYtdGh1bWItYm9yZGVyOiB2YXIoIC0ta2VuZG8tc3dpdGNoLW9mZi10aHVtYi1kaXNhYmxlZC1ib3JkZXIsICN7JGtlbmRvLXN3aXRjaC1vZmYtdGh1bWItZGlzYWJsZWQtYm9yZGVyfSApO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLmstc3dpdGNoLWxhYmVsLW9uIHtcbiAgICAgICAgICAgIGNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICAgICAgfVxuICAgIH1cblxuXG4gICAgLy8gU3dpdGNoIE9OXG4gICAgLmstc3dpdGNoLW9uIHtcblxuICAgICAgICAvLyBOb3JtYWwgc3RhdGVcbiAgICAgICAgLmstc3dpdGNoLXRyYWNrIHtcbiAgICAgICAgICAgIC0tSU5URVJOQUwtLWtlbmRvLXN3aXRjaC1vbi10cmFjay10ZXh0OiB2YXIoIC0ta2VuZG8tc3dpdGNoLW9uLXRyYWNrLXRleHQsICN7JGtlbmRvLXN3aXRjaC1vbi10cmFjay10ZXh0fSApO1xuICAgICAgICAgICAgLS1JTlRFUk5BTC0ta2VuZG8tc3dpdGNoLW9uLXRyYWNrLWJnOiB2YXIoIC0ta2VuZG8tc3dpdGNoLW9uLXRyYWNrLWJnLCAjeyRrZW5kby1zd2l0Y2gtb24tdHJhY2stYmd9ICk7XG4gICAgICAgICAgICAtLUlOVEVSTkFMLS1rZW5kby1zd2l0Y2gtb24tdHJhY2stYm9yZGVyOiB2YXIoIC0ta2VuZG8tc3dpdGNoLW9uLXRyYWNrLWJvcmRlciwgI3ska2VuZG8tc3dpdGNoLW9uLXRyYWNrLWJvcmRlcn0gKTtcblxuICAgICAgICAgICAgQGluY2x1ZGUgZmlsbChcbiAgICAgICAgICAgICAgICB2YXIoIC0tSU5URVJOQUwtLWtlbmRvLXN3aXRjaC1vbi10cmFjay10ZXh0LCBpbmhlcml0ICksXG4gICAgICAgICAgICAgICAgdmFyKCAtLUlOVEVSTkFMLS1rZW5kby1zd2l0Y2gtb24tdHJhY2stYmcsIHRyYW5zcGFyZW50ICksXG4gICAgICAgICAgICAgICAgdmFyKCAtLUlOVEVSTkFMLS1rZW5kby1zd2l0Y2gtb24tdHJhY2stYm9yZGVyLCBpbmhlcml0IClcbiAgICAgICAgICAgICk7XG4gICAgICAgIH1cbiAgICAgICAgLmstc3dpdGNoLXRodW1iIHtcbiAgICAgICAgICAgIC0tSU5URVJOQUwtLWtlbmRvLXN3aXRjaC1vbi10aHVtYi10ZXh0OiB2YXIoIC0ta2VuZG8tc3dpdGNoLW9uLXRodW1iLXRleHQsICN7JGtlbmRvLXN3aXRjaC1vbi10aHVtYi10ZXh0fSApO1xuICAgICAgICAgICAgLS1JTlRFUk5BTC0ta2VuZG8tc3dpdGNoLW9uLXRodW1iLWJnOiB2YXIoIC0ta2VuZG8tc3dpdGNoLW9uLXRodW1iLWJnLCAjeyRrZW5kby1zd2l0Y2gtb24tdGh1bWItYmd9ICk7XG4gICAgICAgICAgICAtLUlOVEVSTkFMLS1rZW5kby1zd2l0Y2gtb24tdGh1bWItYm9yZGVyOiB2YXIoIC0ta2VuZG8tc3dpdGNoLW9uLXRodW1iLWJvcmRlciwgI3ska2VuZG8tc3dpdGNoLW9uLXRodW1iLWJvcmRlcn0gKTtcblxuICAgICAgICAgICAgQGluY2x1ZGUgZmlsbChcbiAgICAgICAgICAgICAgICB2YXIoIC0tSU5URVJOQUwtLWtlbmRvLXN3aXRjaC1vbi10aHVtYi10ZXh0LCBpbmhlcml0ICksXG4gICAgICAgICAgICAgICAgdmFyKCAtLUlOVEVSTkFMLS1rZW5kby1zd2l0Y2gtb24tdGh1bWItYmcsIHRyYW5zcGFyZW50ICksXG4gICAgICAgICAgICAgICAgdmFyKCAtLUlOVEVSTkFMLS1rZW5kby1zd2l0Y2gtb24tdGh1bWItYm9yZGVyLCBpbmhlcml0IClcbiAgICAgICAgICAgICk7XG4gICAgICAgIH1cblxuICAgICAgICAvLyBIb3ZlclxuICAgICAgICAmOmhvdmVyLFxuICAgICAgICAmLmstaG92ZXIge1xuICAgICAgICAgICAgLmstc3dpdGNoLXRyYWNrIHtcbiAgICAgICAgICAgICAgICAtLUlOVEVSTkFMLS1rZW5kby1zd2l0Y2gtb24tdHJhY2stdGV4dDogdmFyKCAtLWtlbmRvLXN3aXRjaC1vbi10cmFjay1ob3Zlci10ZXh0LCAjeyRrZW5kby1zd2l0Y2gtb24tdHJhY2staG92ZXItdGV4dH0gKTtcbiAgICAgICAgICAgICAgICAtLUlOVEVSTkFMLS1rZW5kby1zd2l0Y2gtb24tdHJhY2stYmc6IHZhciggLS1rZW5kby1zd2l0Y2gtb24tdHJhY2staG92ZXItYmcsICN7JGtlbmRvLXN3aXRjaC1vbi10cmFjay1ob3Zlci1iZ30gKTtcbiAgICAgICAgICAgICAgICAtLUlOVEVSTkFMLS1rZW5kby1zd2l0Y2gtb24tdHJhY2stYm9yZGVyOiB2YXIoIC0ta2VuZG8tc3dpdGNoLW9uLXRyYWNrLWhvdmVyLWJvcmRlciwgI3ska2VuZG8tc3dpdGNoLW9uLXRyYWNrLWhvdmVyLWJvcmRlcn0gKTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLmstc3dpdGNoLXRodW1iIHtcbiAgICAgICAgICAgICAgICAtLUlOVEVSTkFMLS1rZW5kby1zd2l0Y2gtb24tdGh1bWItdGV4dDogdmFyKCAtLWtlbmRvLXN3aXRjaC1vbi10aHVtYi1ob3Zlci10ZXh0LCAjeyRrZW5kby1zd2l0Y2gtb24tdGh1bWItaG92ZXItdGV4dH0gKTtcbiAgICAgICAgICAgICAgICAtLUlOVEVSTkFMLS1rZW5kby1zd2l0Y2gtb24tdGh1bWItYmc6IHZhciggLS1rZW5kby1zd2l0Y2gtb24tdGh1bWItaG92ZXItYmcsICN7JGtlbmRvLXN3aXRjaC1vbi10aHVtYi1ob3Zlci1iZ30gKTtcbiAgICAgICAgICAgICAgICAtLUlOVEVSTkFMLS1rZW5kby1zd2l0Y2gtb24tdGh1bWItYm9yZGVyOiB2YXIoIC0ta2VuZG8tc3dpdGNoLW9uLXRodW1iLWhvdmVyLWJvcmRlciwgI3ska2VuZG8tc3dpdGNoLW9uLXRodW1iLWhvdmVyLWJvcmRlcn0gKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC8vIEZvY3VzXG4gICAgICAgICY6Zm9jdXMsXG4gICAgICAgICYuay1mb2N1cyB7XG4gICAgICAgICAgICAuay1zd2l0Y2gtdHJhY2sge1xuICAgICAgICAgICAgICAgIC0tSU5URVJOQUwtLWtlbmRvLXN3aXRjaC1vbi10cmFjay10ZXh0OiB2YXIoIC0ta2VuZG8tc3dpdGNoLW9uLXRyYWNrLWZvY3VzLXRleHQsICN7JGtlbmRvLXN3aXRjaC1vbi10cmFjay1mb2N1cy10ZXh0fSApO1xuICAgICAgICAgICAgICAgIC0tSU5URVJOQUwtLWtlbmRvLXN3aXRjaC1vbi10cmFjay1iZzogdmFyKCAtLWtlbmRvLXN3aXRjaC1vbi10cmFjay1mb2N1cy1iZywgI3ska2VuZG8tc3dpdGNoLW9uLXRyYWNrLWZvY3VzLWJnfSApO1xuICAgICAgICAgICAgICAgIC0tSU5URVJOQUwtLWtlbmRvLXN3aXRjaC1vbi10cmFjay1ib3JkZXI6IHZhciggLS1rZW5kby1zd2l0Y2gtb24tdHJhY2stZm9jdXMtYm9yZGVyLCAjeyRrZW5kby1zd2l0Y2gtb24tdHJhY2stZm9jdXMtYm9yZGVyfSApO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLy8gRGlzYWJsZWRcbiAgICAgICAgJjpkaXNhYmxlZCxcbiAgICAgICAgJi5rLWRpc2FibGVkIHtcbiAgICAgICAgICAgIC5rLXN3aXRjaC10cmFjayB7XG4gICAgICAgICAgICAgICAgLS1JTlRFUk5BTC0ta2VuZG8tc3dpdGNoLW9uLXRyYWNrLXRleHQ6IHZhciggLS1rZW5kby1zd2l0Y2gtb24tdHJhY2stZGlzYWJsZWQtdGV4dCwgI3ska2VuZG8tc3dpdGNoLW9uLXRyYWNrLWRpc2FibGVkLXRleHR9ICk7XG4gICAgICAgICAgICAgICAgLS1JTlRFUk5BTC0ta2VuZG8tc3dpdGNoLW9uLXRyYWNrLWJnOiB2YXIoIC0ta2VuZG8tc3dpdGNoLW9uLXRyYWNrLWRpc2FibGVkLWJnLCAjeyRrZW5kby1zd2l0Y2gtb24tdHJhY2stZGlzYWJsZWQtYmd9ICk7XG4gICAgICAgICAgICAgICAgLS1JTlRFUk5BTC0ta2VuZG8tc3dpdGNoLW9uLXRyYWNrLWJvcmRlcjogdmFyKCAtLWtlbmRvLXN3aXRjaC1vbi10cmFjay1kaXNhYmxlZC1ib3JkZXIsICN7JGtlbmRvLXN3aXRjaC1vbi10cmFjay1kaXNhYmxlZC1ib3JkZXJ9ICk7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC5rLXN3aXRjaC10aHVtYiB7XG4gICAgICAgICAgICAgICAgLS1JTlRFUk5BTC0ta2VuZG8tc3dpdGNoLW9uLXRodW1iLXRleHQ6IHZhciggLS1rZW5kby1zd2l0Y2gtb24tdGh1bWItZGlzYWJsZWQtdGV4dCwgI3ska2VuZG8tc3dpdGNoLW9uLXRodW1iLWRpc2FibGVkLXRleHR9ICk7XG4gICAgICAgICAgICAgICAgLS1JTlRFUk5BTC0ta2VuZG8tc3dpdGNoLW9uLXRodW1iLWJnOiB2YXIoIC0ta2VuZG8tc3dpdGNoLW9uLXRodW1iLWRpc2FibGVkLWJnLCAjeyRrZW5kby1zd2l0Y2gtb24tdGh1bWItZGlzYWJsZWQtYmd9ICk7XG4gICAgICAgICAgICAgICAgLS1JTlRFUk5BTC0ta2VuZG8tc3dpdGNoLW9uLXRodW1iLWJvcmRlcjogdmFyKCAtLWtlbmRvLXN3aXRjaC1vbi10aHVtYi1kaXNhYmxlZC1ib3JkZXIsICN7JGtlbmRvLXN3aXRjaC1vbi10aHVtYi1kaXNhYmxlZC1ib3JkZXJ9ICk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAuay1zd2l0Y2gtbGFiZWwtb2ZmIHtcbiAgICAgICAgICAgIGNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICAgICAgfVxuICAgIH1cblxufVxuIiwiQHVzZSBcIi4uL2NvcmUvX2luZGV4LnNjc3NcIiBhcyAqO1xuXG4vLy8gVGhlIGZvbnQgZmFtaWx5IG9mIHRoZSBTd2l0Y2guXG4vLy8gQGdyb3VwIHN3aXRjaFxuJGtlbmRvLXN3aXRjaC1mb250LWZhbWlseTogdmFyKCAtLWtlbmRvLWZvbnQtZmFtaWx5LCBub3JtYWwgKSAhZGVmYXVsdDtcblxuLy8vIFRoZSBib3JkZXIgd2lkdGggb2YgdGhlIFN3aXRjaCB0cmFjay5cbi8vLyBAZ3JvdXAgc3dpdGNoXG4ka2VuZG8tc3dpdGNoLXRyYWNrLWJvcmRlci13aWR0aDogMXB4ICFkZWZhdWx0O1xuXG4vLy8gVGhlIGJvcmRlciB3aWR0aCBvZiB0aGUgU3dpdGNoIHRodW1iLlxuLy8vIEBncm91cCBzd2l0Y2hcbiRrZW5kby1zd2l0Y2gtdGh1bWItYm9yZGVyLXdpZHRoOiAwICFkZWZhdWx0O1xuXG4vLy8gVGhlIHRleHQgdHJhbnNmb3JtIG9mIHRoZSBTd2l0Y2ggbGFiZWwuXG4vLy8gQGdyb3VwIHN3aXRjaFxuJGtlbmRvLXN3aXRjaC1sYWJlbC10ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlICFkZWZhdWx0O1xuXG4vLy8gVGhlIGRpc3BsYXkgb2YgdGhlIFN3aXRjaCBsYWJlbC5cbi8vLyBAZ3JvdXAgc3dpdGNoXG4ka2VuZG8tc3dpdGNoLWxhYmVsLWRpc3BsYXk6IG5vbmUgIWRlZmF1bHQ7XG5cbi8vLyBUaGUgbWFwIHdpdGggdGhlIGRpZmZlcmVudCBTd2l0Y2ggc2l6ZXMuXG4vLy8gQGdyb3VwIHN3aXRjaFxuJGtlbmRvLXN3aXRjaC1zaXplczogKFxuICAgIHNtOiAoIGZvbnQtc2l6ZTogMTBweCwgdHJhY2std2lkdGg6IDM2cHgsIHRyYWNrLWhlaWdodDogMTZweCwgdGh1bWItd2lkdGg6IDEwcHgsIHRodW1iLWhlaWdodDogMTBweCwgdGh1bWItb2Zmc2V0OiAzcHgsIGxhYmVsLW9mZnNldDogNHB4ICksXG4gICAgbWQ6ICggZm9udC1zaXplOiAxMHB4LCB0cmFjay13aWR0aDogNDBweCwgdHJhY2staGVpZ2h0OiAyMHB4LCB0aHVtYi13aWR0aDogMTJweCwgdGh1bWItaGVpZ2h0OiAxMnB4LCB0aHVtYi1vZmZzZXQ6IDRweCwgbGFiZWwtb2Zmc2V0OiA1cHggKSxcbiAgICBsZzogKCBmb250LXNpemU6IDEwcHgsIHRyYWNrLXdpZHRoOiA0NHB4LCB0cmFjay1oZWlnaHQ6IDI0cHgsIHRodW1iLXdpZHRoOiAxNHB4LCB0aHVtYi1oZWlnaHQ6IDE0cHgsIHRodW1iLW9mZnNldDogNXB4LCBsYWJlbC1vZmZzZXQ6IDZweCApXG4pICFkZWZhdWx0O1xuXG4vLy8gVGhlIHJpbmcgYXJvdW5kIHRoZSBmb2N1c2VkIFN3aXRjaC5cbi8vLyBAZ3JvdXAgc3dpdGNoXG4ka2VuZG8tc3dpdGNoLWZvY3VzLXJpbmc6IDFweCBzb2xpZCBpZigka2VuZG8tZW5hYmxlLWNvbG9yLXN5c3RlbSwgay1jb2xvciggYmFzZS1lbXBoYXNpcyApLCBrLWdldC10aGVtZS1jb2xvci12YXIoIG5ldXRyYWwtMTMwICkpICFkZWZhdWx0O1xuXG4vLy8gVGhlIGJhY2tncm91bmQgb2YgdGhlIHRyYWNrIHdoZW4gdGhlIFN3aXRjaCBpcyBub3QgY2hlY2tlZC5cbi8vLyBAZ3JvdXAgc3dpdGNoXG4ka2VuZG8tc3dpdGNoLW9mZi10cmFjay1iZzogdmFyKCAtLWtlbmRvLWNvbXBvbmVudC1iZywgdHJhbnNwYXJlbnQgKSAhZGVmYXVsdDtcbi8vLyBUaGUgdGV4dCBjb2xvciBvZiB0aGUgdHJhY2sgd2hlbiB0aGUgU3dpdGNoIGlzIG5vdCBjaGVja2VkLlxuLy8vIEBncm91cCBzd2l0Y2hcbiRrZW5kby1zd2l0Y2gtb2ZmLXRyYWNrLXRleHQ6IHZhciggLS1rZW5kby1jb21wb25lbnQtdGV4dCwgaW5oZXJpdCApICFkZWZhdWx0O1xuLy8vIFRoZSBib3JkZXIgY29sb3Igb2YgdGhlIHRyYWNrIHdoZW4gdGhlIFN3aXRjaCBpcyBub3QgY2hlY2tlZC5cbi8vLyBAZ3JvdXAgc3dpdGNoXG4ka2VuZG8tc3dpdGNoLW9mZi10cmFjay1ib3JkZXI6IGlmKCRrZW5kby1lbmFibGUtY29sb3Itc3lzdGVtLCBrLWNvbG9yKCBib3JkZXIgKSwgay1nZXQtdGhlbWUtY29sb3ItdmFyKCBuZXV0cmFsLTExMCApKSAhZGVmYXVsdDtcblxuLy8vIFRoZSBiYWNrZ3JvdW5kIG9mIHRoZSB0cmFjayB3aGVuIHRoZSBob3ZlcmVkIFN3aXRjaCBpcyBub3QgY2hlY2tlZC5cbi8vLyBAZ3JvdXAgc3dpdGNoXG4ka2VuZG8tc3dpdGNoLW9mZi10cmFjay1ob3Zlci1iZzogdmFyKCAtLWtlbmRvLWNvbXBvbmVudC1iZywgdHJhbnNwYXJlbnQgKSAhZGVmYXVsdDtcbi8vLyBUaGUgdGV4dCBjb2xvciBvZiB0aGUgdHJhY2sgd2hlbiB0aGUgaG92ZXJlZCBTd2l0Y2ggaXMgbm90IGNoZWNrZWQuXG4vLy8gQGdyb3VwIHN3aXRjaFxuJGtlbmRvLXN3aXRjaC1vZmYtdHJhY2staG92ZXItdGV4dDogdmFyKCAtLWtlbmRvLWNvbXBvbmVudC10ZXh0LCBpbmhlcml0ICkgIWRlZmF1bHQ7XG4vLy8gVGhlIGJvcmRlciBjb2xvciBvZiB0aGUgdHJhY2sgd2hlbiB0aGUgaG92ZXJlZCBTd2l0Y2ggaXMgbm90IGNoZWNrZWQuXG4vLy8gQGdyb3VwIHN3aXRjaFxuJGtlbmRvLXN3aXRjaC1vZmYtdHJhY2staG92ZXItYm9yZGVyOiBpZigka2VuZG8tZW5hYmxlLWNvbG9yLXN5c3RlbSwgay1jb2xvciggYm9yZGVyLWFsdCApLCBrLWdldC10aGVtZS1jb2xvci12YXIoIG5ldXRyYWwtMTYwICkpICFkZWZhdWx0O1xuXG4vLy8gVGhlIGJhY2tncm91bmQgb2YgdGhlIHRyYWNrIHdoZW4gdGhlIGZvY3VzZWQgU3dpdGNoIGlzIG5vdCBjaGVja2VkLlxuLy8vIEBncm91cCBzd2l0Y2hcbiRrZW5kby1zd2l0Y2gtb2ZmLXRyYWNrLWZvY3VzLWJnOiB2YXIoIC0ta2VuZG8tY29tcG9uZW50LWJnLCB0cmFuc3BhcmVudCApICFkZWZhdWx0O1xuLy8vIFRoZSB0ZXh0IGNvbG9yIG9mIHRoZSB0cmFjayB3aGVuIHRoZSBmb2N1c2VkIFN3aXRjaCBpcyBub3QgY2hlY2tlZC5cbi8vLyBAZ3JvdXAgc3dpdGNoXG4ka2VuZG8tc3dpdGNoLW9mZi10cmFjay1mb2N1cy10ZXh0OiB2YXIoIC0ta2VuZG8tY29tcG9uZW50LXRleHQsIGluaGVyaXQgKSAhZGVmYXVsdDtcbi8vLyBUaGUgYm9yZGVyIGNvbG9yIG9mIHRoZSB0cmFjayB3aGVuIHRoZSBmb2N1c2VkIFN3aXRjaCBpcyBub3QgY2hlY2tlZC5cbi8vLyBAZ3JvdXAgc3dpdGNoXG4ka2VuZG8tc3dpdGNoLW9mZi10cmFjay1mb2N1cy1ib3JkZXI6IGlmKCRrZW5kby1lbmFibGUtY29sb3Itc3lzdGVtLCBrLWNvbG9yKCBib3JkZXIgKSwgay1nZXQtdGhlbWUtY29sb3ItdmFyKCBuZXV0cmFsLTExMCApKSAhZGVmYXVsdDtcblxuLy8vIFRoZSBiYWNrZ3JvdW5kIG9mIHRoZSB0cmFjayB3aGVuIHRoZSBkaXNhYmxlZCBTd2l0Y2ggaXMgbm90IGNoZWNrZWQuXG4vLy8gQGdyb3VwIHN3aXRjaFxuJGtlbmRvLXN3aXRjaC1vZmYtdHJhY2stZGlzYWJsZWQtYmc6IHZhciggLS1rZW5kby1jb21wb25lbnQtYmcsIHRyYW5zcGFyZW50ICkgIWRlZmF1bHQ7XG4vLy8gVGhlIHRleHQgY29sb3Igb2YgdGhlIHRyYWNrIHdoZW4gdGhlIGRpc2FibGVkIFN3aXRjaCBpcyBub3QgY2hlY2tlZC5cbi8vLyBAZ3JvdXAgc3dpdGNoXG4ka2VuZG8tc3dpdGNoLW9mZi10cmFjay1kaXNhYmxlZC10ZXh0OiB2YXIoIC0ta2VuZG8tY29tcG9uZW50LXRleHQsIGluaGVyaXQgKSAhZGVmYXVsdDtcbi8vLyBUaGUgYm9yZGVyIGNvbG9yIG9mIHRoZSB0cmFjayB3aGVuIHRoZSBkaXNhYmxlZCBTd2l0Y2ggaXMgbm90IGNoZWNrZWQuXG4vLy8gQGdyb3VwIHN3aXRjaFxuJGtlbmRvLXN3aXRjaC1vZmYtdHJhY2stZGlzYWJsZWQtYm9yZGVyOiBpZigka2VuZG8tZW5hYmxlLWNvbG9yLXN5c3RlbSwgY29sb3ItbWl4KGluIHNyZ2IsIGstY29sb3IoIG9uLWFwcC1zdXJmYWNlICkgMjglLCB0cmFuc3BhcmVudCksIGstZ2V0LXRoZW1lLWNvbG9yLXZhciggbmV1dHJhbC02MCApKSAhZGVmYXVsdDtcblxuLy8vIFRoZSBiYWNrZ3JvdW5kIG9mIHRoZSB0aHVtYiB3aGVuIHRoZSBTd2l0Y2ggaXMgbm90IGNoZWNrZWQuXG4vLy8gQGdyb3VwIHN3aXRjaFxuJGtlbmRvLXN3aXRjaC1vZmYtdGh1bWItYmc6IGlmKCRrZW5kby1lbmFibGUtY29sb3Itc3lzdGVtLCBrLWNvbG9yKCBzdWJ0bGUgKSwgay1nZXQtdGhlbWUtY29sb3ItdmFyKCBuZXV0cmFsLTEzMCApKSAhZGVmYXVsdDtcbi8vLyBUaGUgdGV4dCBjb2xvciBvZiB0aGUgdGh1bWIgd2hlbiB0aGUgU3dpdGNoIGlzIG5vdCBjaGVja2VkLlxuLy8vIEBncm91cCBzd2l0Y2hcbiRrZW5kby1zd2l0Y2gtb2ZmLXRodW1iLXRleHQ6IGluaGVyaXQgIWRlZmF1bHQ7XG4vLy8gVGhlIGJvcmRlciBjb2xvciBvZiB0aGUgdGh1bWIgd2hlbiB0aGUgU3dpdGNoIGlzIG5vdCBjaGVja2VkLlxuLy8vIEBncm91cCBzd2l0Y2hcbiRrZW5kby1zd2l0Y2gtb2ZmLXRodW1iLWJvcmRlcjogaWYoJGtlbmRvLWVuYWJsZS1jb2xvci1zeXN0ZW0sIGstY29sb3IoIGJvcmRlciApLCBrLWdldC10aGVtZS1jb2xvci12YXIoIG5ldXRyYWwtMTMwICkpICFkZWZhdWx0O1xuXG4vLy8gVGhlIGJhY2tncm91bmQgb2YgdGhlIHRodW1iIHdoZW4gdGhlIGhvdmVyZWQgU3dpdGNoIGlzIG5vdCBjaGVja2VkLlxuLy8vIEBncm91cCBzd2l0Y2hcbiRrZW5kby1zd2l0Y2gtb2ZmLXRodW1iLWhvdmVyLWJnOiBpZigka2VuZG8tZW5hYmxlLWNvbG9yLXN5c3RlbSwgay1jb2xvciggb24tYXBwLXN1cmZhY2UgKSwgay1nZXQtdGhlbWUtY29sb3ItdmFyKCBuZXV0cmFsLTE2MCApKSAhZGVmYXVsdDtcbi8vLyBUaGUgdGV4dCBjb2xvciBvZiB0aGUgdGh1bWIgd2hlbiB0aGUgaG92ZXJlZCBTd2l0Y2ggaXMgbm90IGNoZWNrZWQuXG4vLy8gQGdyb3VwIHN3aXRjaFxuJGtlbmRvLXN3aXRjaC1vZmYtdGh1bWItaG92ZXItdGV4dDogaW5oZXJpdCAhZGVmYXVsdDtcbi8vLyBUaGUgYm9yZGVyIGNvbG9yIG9mIHRoZSB0aHVtYiB3aGVuIHRoZSBob3ZlcmVkIFN3aXRjaCBpcyBub3QgY2hlY2tlZC5cbi8vLyBAZ3JvdXAgc3dpdGNoXG4ka2VuZG8tc3dpdGNoLW9mZi10aHVtYi1ob3Zlci1ib3JkZXI6IGlmKCRrZW5kby1lbmFibGUtY29sb3Itc3lzdGVtLCBrLWNvbG9yKCBib3JkZXItYWx0ICksIGstZ2V0LXRoZW1lLWNvbG9yLXZhciggbmV1dHJhbC0xNjAgKSkgIWRlZmF1bHQ7XG5cbi8vLyBUaGUgYmFja2dyb3VuZCBvZiB0aGUgdGh1bWIgd2hlbiB0aGUgZGlzYWJsZWQgU3dpdGNoIGlzIG5vdCBjaGVja2VkLlxuLy8vIEBncm91cCBzd2l0Y2hcbiRrZW5kby1zd2l0Y2gtb2ZmLXRodW1iLWRpc2FibGVkLWJnOiBpZigka2VuZG8tZW5hYmxlLWNvbG9yLXN5c3RlbSwgY29sb3ItbWl4KGluIHNyZ2IsIGstY29sb3IoIG9uLWFwcC1zdXJmYWNlICkgMjglLCB0cmFuc3BhcmVudCksIGstZ2V0LXRoZW1lLWNvbG9yLXZhciggbmV1dHJhbC02MCApKSAhZGVmYXVsdDtcbi8vLyBUaGUgdGV4dCBjb2xvciBvZiB0aGUgdGh1bWIgd2hlbiB0aGUgZGlzYWJsZWQgU3dpdGNoIGlzIG5vdCBjaGVja2VkLlxuLy8vIEBncm91cCBzd2l0Y2hcbiRrZW5kby1zd2l0Y2gtb2ZmLXRodW1iLWRpc2FibGVkLXRleHQ6IGluaGVyaXQgIWRlZmF1bHQ7XG4vLy8gVGhlIGJvcmRlciBjb2xvciBvZiB0aGUgdGh1bWIgd2hlbiB0aGUgZGlzYWJsZWQgU3dpdGNoIGlzIG5vdCBjaGVja2VkLlxuLy8vIEBncm91cCBzd2l0Y2hcbiRrZW5kby1zd2l0Y2gtb2ZmLXRodW1iLWRpc2FibGVkLWJvcmRlcjogaWYoJGtlbmRvLWVuYWJsZS1jb2xvci1zeXN0ZW0sIGNvbG9yLW1peChpbiBzcmdiLCBrLWNvbG9yKCBvbi1hcHAtc3VyZmFjZSApIDI4JSwgdHJhbnNwYXJlbnQpLCBrLWdldC10aGVtZS1jb2xvci12YXIoIG5ldXRyYWwtNjAgKSkgIWRlZmF1bHQ7XG5cblxuLy8vIFRoZSBiYWNrZ3JvdW5kIG9mIHRoZSB0cmFjayB3aGVuIHRoZSBTd2l0Y2ggaXMgY2hlY2tlZC5cbi8vLyBAZ3JvdXAgc3dpdGNoXG4ka2VuZG8tc3dpdGNoLW9uLXRyYWNrLWJnOiBpZigka2VuZG8tZW5hYmxlLWNvbG9yLXN5c3RlbSwgay1jb2xvciggcHJpbWFyeSApLCBrLWdldC10aGVtZS1jb2xvci12YXIoIHByaW1hcnktMTAwICkpICFkZWZhdWx0O1xuLy8vIFRoZSB0ZXh0IGNvbG9yIG9mIHRoZSB0cmFjayB3aGVuIHRoZSBTd2l0Y2ggaXMgY2hlY2tlZC5cbi8vLyBAZ3JvdXAgc3dpdGNoXG4ka2VuZG8tc3dpdGNoLW9uLXRyYWNrLXRleHQ6IGlmKCRrZW5kby1lbmFibGUtY29sb3Itc3lzdGVtLCBrLWNvbG9yKCBhcHAtc3VyZmFjZSApLCAka2VuZG8tY29sb3Itd2hpdGUpICFkZWZhdWx0O1xuLy8vIFRoZSBib3JkZXIgY29sb3Igb2YgdGhlIHRyYWNrIHdoZW4gdGhlIFN3aXRjaCBpcyBjaGVja2VkLlxuLy8vIEBncm91cCBzd2l0Y2hcbiRrZW5kby1zd2l0Y2gtb24tdHJhY2stYm9yZGVyOiAka2VuZG8tc3dpdGNoLW9uLXRyYWNrLWJnICFkZWZhdWx0O1xuXG4vLy8gVGhlIGJhY2tncm91bmQgb2YgdGhlIHRyYWNrIHdoZW4gdGhlIGhvdmVyZWQgU3dpdGNoIGlzIGNoZWNrZWQuXG4vLy8gQGdyb3VwIHN3aXRjaFxuJGtlbmRvLXN3aXRjaC1vbi10cmFjay1ob3Zlci1iZzogaWYoJGtlbmRvLWVuYWJsZS1jb2xvci1zeXN0ZW0sIGstY29sb3IoIHByaW1hcnktaG92ZXIgKSwgay1nZXQtdGhlbWUtY29sb3ItdmFyKCBwcmltYXJ5LTExMCApKSAhZGVmYXVsdDtcbi8vLyBUaGUgdGV4dCBjb2xvciBvZiB0aGUgdHJhY2sgd2hlbiB0aGUgaG92ZXJlZCBTd2l0Y2ggaXMgY2hlY2tlZC5cbi8vLyBAZ3JvdXAgc3dpdGNoXG4ka2VuZG8tc3dpdGNoLW9uLXRyYWNrLWhvdmVyLXRleHQ6IGlmKCRrZW5kby1lbmFibGUtY29sb3Itc3lzdGVtLCBrLWNvbG9yKCBhcHAtc3VyZmFjZSApLCAka2VuZG8tY29sb3Itd2hpdGUpICFkZWZhdWx0O1xuLy8vIFRoZSBib3JkZXIgY29sb3Igb2YgdGhlIHRyYWNrIHdoZW4gdGhlIGhvdmVyZWQgU3dpdGNoIGlzIGNoZWNrZWQuXG4vLy8gQGdyb3VwIHN3aXRjaFxuJGtlbmRvLXN3aXRjaC1vbi10cmFjay1ob3Zlci1ib3JkZXI6ICRrZW5kby1zd2l0Y2gtb24tdHJhY2staG92ZXItYmcgIWRlZmF1bHQ7XG5cbi8vLyBUaGUgYmFja2dyb3VuZCBvZiB0aGUgdHJhY2sgd2hlbiB0aGUgZm9jdXNlZCBTd2l0Y2ggaXMgY2hlY2tlZC5cbi8vLyBAZ3JvdXAgc3dpdGNoXG4ka2VuZG8tc3dpdGNoLW9uLXRyYWNrLWZvY3VzLWJnOiBpZigka2VuZG8tZW5hYmxlLWNvbG9yLXN5c3RlbSwgay1jb2xvciggcHJpbWFyeSApLCBrLWdldC10aGVtZS1jb2xvci12YXIoIHByaW1hcnktMTAwICkpICFkZWZhdWx0O1xuLy8vIFRoZSB0ZXh0IGNvbG9yIG9mIHRoZSB0cmFjayB3aGVuIHRoZSBmb2N1c2VkIFN3aXRjaCBpcyBjaGVja2VkLlxuLy8vIEBncm91cCBzd2l0Y2hcbiRrZW5kby1zd2l0Y2gtb24tdHJhY2stZm9jdXMtdGV4dDogaWYoJGtlbmRvLWVuYWJsZS1jb2xvci1zeXN0ZW0sIGstY29sb3IoIGFwcC1zdXJmYWNlICksICRrZW5kby1jb2xvci13aGl0ZSkgIWRlZmF1bHQ7XG4vLy8gVGhlIGJvcmRlciBjb2xvciBvZiB0aGUgdHJhY2sgd2hlbiB0aGUgZm9jdXNlZCBTd2l0Y2ggaXMgY2hlY2tlZC5cbi8vLyBAZ3JvdXAgc3dpdGNoXG4ka2VuZG8tc3dpdGNoLW9uLXRyYWNrLWZvY3VzLWJvcmRlcjogJGtlbmRvLXN3aXRjaC1vbi10cmFjay1mb2N1cy1iZyAhZGVmYXVsdDtcblxuLy8vIFRoZSBiYWNrZ3JvdW5kIG9mIHRoZSB0cmFjayB3aGVuIHRoZSBkaXNhYmxlZCBTd2l0Y2ggaXMgY2hlY2tlZC5cbi8vLyBAZ3JvdXAgc3dpdGNoXG4ka2VuZG8tc3dpdGNoLW9uLXRyYWNrLWRpc2FibGVkLWJnOiBpZigka2VuZG8tZW5hYmxlLWNvbG9yLXN5c3RlbSwgY29sb3ItbWl4KGluIHNyZ2IsIGstY29sb3IoIG9uLWFwcC1zdXJmYWNlICkgMjglLCB0cmFuc3BhcmVudCksIGstZ2V0LXRoZW1lLWNvbG9yLXZhciggbmV1dHJhbC02MCApKSAhZGVmYXVsdDtcbi8vLyBUaGUgdGV4dCBjb2xvciBvZiB0aGUgdHJhY2sgd2hlbiB0aGUgZGlzYWJsZWQgU3dpdGNoIGlzIGNoZWNrZWQuXG4vLy8gQGdyb3VwIHN3aXRjaFxuJGtlbmRvLXN3aXRjaC1vbi10cmFjay1kaXNhYmxlZC10ZXh0OiBpZigka2VuZG8tZW5hYmxlLWNvbG9yLXN5c3RlbSwgay1jb2xvciggYXBwLXN1cmZhY2UgKSwgJGtlbmRvLWNvbG9yLXdoaXRlKSAhZGVmYXVsdDtcbi8vLyBUaGUgYm9yZGVyIGNvbG9yIG9mIHRoZSB0cmFjayB3aGVuIHRoZSBkaXNhYmxlZCBTd2l0Y2ggaXMgY2hlY2tlZC5cbi8vLyBAZ3JvdXAgc3dpdGNoXG4ka2VuZG8tc3dpdGNoLW9uLXRyYWNrLWRpc2FibGVkLWJvcmRlcjogaWYoJGtlbmRvLWVuYWJsZS1jb2xvci1zeXN0ZW0sIHRyYW5zcGFyZW50LCAka2VuZG8tc3dpdGNoLW9uLXRyYWNrLWRpc2FibGVkLWJnKSAhZGVmYXVsdDtcblxuLy8vIFRoZSBiYWNrZ3JvdW5kIG9mIHRoZSB0aHVtYiB3aGVuIHRoZSBTd2l0Y2ggaXMgY2hlY2tlZC5cbi8vLyBAZ3JvdXAgc3dpdGNoXG4ka2VuZG8tc3dpdGNoLW9uLXRodW1iLWJnOiBpZigka2VuZG8tZW5hYmxlLWNvbG9yLXN5c3RlbSwgay1jb2xvciggYXBwLXN1cmZhY2UgKSwgJGtlbmRvLWNvbG9yLXdoaXRlKSAhZGVmYXVsdDtcbi8vLyBUaGUgdGV4dCBjb2xvciBvZiB0aGUgdGh1bWIgd2hlbiB0aGUgU3dpdGNoIGlzIGNoZWNrZWQuXG4vLy8gQGdyb3VwIHN3aXRjaFxuJGtlbmRvLXN3aXRjaC1vbi10aHVtYi10ZXh0OiBpbmhlcml0ICFkZWZhdWx0O1xuLy8vIFRoZSBib3JkZXIgY29sb3Igb2YgdGhlIHRodW1iIHdoZW4gdGhlIFN3aXRjaCBpcyBjaGVja2VkLlxuLy8vIEBncm91cCBzd2l0Y2hcbiRrZW5kby1zd2l0Y2gtb24tdGh1bWItYm9yZGVyOiBpbmhlcml0ICFkZWZhdWx0O1xuXG4vLy8gVGhlIGJhY2tncm91bmQgb2YgdGhlIHRodW1iIHdoZW4gdGhlIGhvdmVyZWQgU3dpdGNoIGlzIGNoZWNrZWQuXG4vLy8gQGdyb3VwIHN3aXRjaFxuJGtlbmRvLXN3aXRjaC1vbi10aHVtYi1ob3Zlci1iZzogaWYoJGtlbmRvLWVuYWJsZS1jb2xvci1zeXN0ZW0sIGstY29sb3IoIGFwcC1zdXJmYWNlICksICRrZW5kby1jb2xvci13aGl0ZSkgIWRlZmF1bHQ7XG4vLy8gVGhlIHRleHQgY29sb3Igb2YgdGhlIHRodW1iIHdoZW4gdGhlIGhvdmVyZWQgU3dpdGNoIGlzIGNoZWNrZWQuXG4vLy8gQGdyb3VwIHN3aXRjaFxuJGtlbmRvLXN3aXRjaC1vbi10aHVtYi1ob3Zlci10ZXh0OiBpbmhlcml0ICFkZWZhdWx0O1xuLy8vIFRoZSBib3JkZXIgY29sb3Igb2YgdGhlIHRodW1iIHdoZW4gdGhlIGhvdmVyZWQgU3dpdGNoIGlzIGNoZWNrZWQuXG4vLy8gQGdyb3VwIHN3aXRjaFxuJGtlbmRvLXN3aXRjaC1vbi10aHVtYi1ob3Zlci1ib3JkZXI6IGluaGVyaXQgIWRlZmF1bHQ7XG5cbi8vLyBUaGUgYmFja2dyb3VuZCBvZiB0aGUgdGh1bWIgd2hlbiB0aGUgZGlzYWJsZWQgU3dpdGNoIGlzIGNoZWNrZWQuXG4vLy8gQGdyb3VwIHN3aXRjaFxuJGtlbmRvLXN3aXRjaC1vbi10aHVtYi1kaXNhYmxlZC1iZzogaWYoJGtlbmRvLWVuYWJsZS1jb2xvci1zeXN0ZW0sIGstY29sb3IoIHN1cmZhY2UgKSwgay1nZXQtdGhlbWUtY29sb3ItdmFyKCBuZXV0cmFsLTIwICkpICFkZWZhdWx0O1xuLy8vIFRoZSB0ZXh0IGNvbG9yIG9mIHRoZSB0aHVtYiB3aGVuIHRoZSBkaXNhYmxlZCBTd2l0Y2ggaXMgY2hlY2tlZC5cbi8vLyBAZ3JvdXAgc3dpdGNoXG4ka2VuZG8tc3dpdGNoLW9uLXRodW1iLWRpc2FibGVkLXRleHQ6IGluaGVyaXQgIWRlZmF1bHQ7XG4vLy8gVGhlIGJvcmRlciBjb2xvciBvZiB0aGUgdGh1bWIgd2hlbiB0aGUgZGlzYWJsZWQgU3dpdGNoIGlzIGNoZWNrZWQuXG4vLy8gQGdyb3VwIHN3aXRjaFxuJGtlbmRvLXN3aXRjaC1vbi10aHVtYi1kaXNhYmxlZC1ib3JkZXI6IGlmKCRrZW5kby1lbmFibGUtY29sb3Itc3lzdGVtLCBjb2xvci1taXgoaW4gc3JnYiwgay1jb2xvciggb24tYXBwLXN1cmZhY2UgKSA2JSwgdHJhbnNwYXJlbnQpLCBrLWdldC10aGVtZS1jb2xvci12YXIoIG5ldXRyYWwtMjAgKSkgIWRlZmF1bHQ7XG4iLCJAdXNlIFwiLi9fdmFyaWFibGVzLnNjc3NcIiBhcyAqO1xuXG5AbWl4aW4ga2VuZG8tZHJvcHpvbmUtLWxheW91dCgpIHtcblxuICAgIC8vIERyb3B6b25lXG4gICAgLmstZXh0ZXJuYWwtZHJvcHpvbmUge1xuICAgICAgICBoZWlnaHQ6IHZhciggLS1rZW5kby1kcm9wem9uZS1taW4taGVpZ2h0LCAjeyRrZW5kby1kcm9wem9uZS1taW4taGVpZ2h0fSApO1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBmbGV4LWZsb3c6IHJvdyBub3dyYXA7XG4gICAgfVxuXG4gICAgLy8gRHJvcHpvbmUgaW5uZXJcbiAgICAuay1kcm9wem9uZS1pbm5lciB7XG4gICAgICAgIHBhZGRpbmctaW5saW5lOiB2YXIoIC0ta2VuZG8tZHJvcHpvbmUtcGFkZGluZy14LCAjeyRrZW5kby1kcm9wem9uZS1wYWRkaW5nLXh9ICk7XG4gICAgICAgIHBhZGRpbmctYmxvY2s6IHZhciggLS1rZW5kby1kcm9wem9uZS1wYWRkaW5nLXksICN7JGtlbmRvLWRyb3B6b25lLXBhZGRpbmcteX0gKTtcbiAgICAgICAgYm9yZGVyLXdpZHRoOiB2YXIoIC0ta2VuZG8tZHJvcHpvbmUtYm9yZGVyLXdpZHRoLCAjeyRrZW5kby1kcm9wem9uZS1ib3JkZXItd2lkdGh9ICk7XG4gICAgICAgIGJvcmRlci1zdHlsZTogc29saWQ7XG4gICAgICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgICAgIGZvbnQtc2l6ZTogdmFyKCAtLWtlbmRvLWRyb3B6b25lLWZvbnQtc2l6ZSwgI3ska2VuZG8tZHJvcHpvbmUtZm9udC1zaXplfSApO1xuICAgICAgICBmb250LWZhbWlseTogdmFyKCAtLWtlbmRvLWRyb3B6b25lLWZvbnQtZmFtaWx5LCAjeyRrZW5kby1kcm9wem9uZS1mb250LWZhbWlseX0gKTtcbiAgICAgICAgbGluZS1oZWlnaHQ6IHZhciggLS1rZW5kby1kcm9wem9uZS1saW5lLWhlaWdodCwgI3ska2VuZG8tZHJvcHpvbmUtbGluZS1oZWlnaHR9ICk7XG4gICAgICAgIGZsZXg6IDEgMSBhdXRvO1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBmbGV4LWZsb3c6IGNvbHVtbiBub3dyYXA7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgICAgICAgLmstZHJvcHpvbmUtaWNvbiB7XG4gICAgICAgICAgICBtYXJnaW4tYmxvY2stZW5kOiB2YXIoIC0ta2VuZG8tZHJvcHpvbmUtaWNvbi1zcGFjaW5nLCAjeyRrZW5kby1kcm9wem9uZS1pY29uLXNwYWNpbmd9ICk7XG4gICAgICAgIH1cblxuICAgICAgICAuay1kcm9wem9uZS1oaW50IHtcbiAgICAgICAgICAgIG1hcmdpbi1ibG9jay1lbmQ6IHZhciggLS1rZW5kby1kcm9wem9uZS1oaW50LXNwYWNpbmcsICN7JGtlbmRvLWRyb3B6b25lLWhpbnQtc3BhY2luZ30gKTtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogdmFyKCAtLWtlbmRvLWRyb3B6b25lLWhpbnQtZm9udC1zaXplLCAjeyRrZW5kby1kcm9wem9uZS1oaW50LWZvbnQtc2l6ZX0gKTtcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiB2YXIoIC0ta2VuZG8tZHJvcHpvbmUtaGludC1mb250LXdlaWdodCwgI3ska2VuZG8tZHJvcHpvbmUtaGludC1mb250LXdlaWdodH0gKTtcbiAgICAgICAgfVxuXG4gICAgICAgIC5rLWRyb3B6b25lLW5vdGUge1xuICAgICAgICAgICAgbWFyZ2luLWJsb2NrLWVuZDogdmFyKCAtLWtlbmRvLWRyb3B6b25lLW5vdGUtc3BhY2luZywgI3ska2VuZG8tZHJvcHpvbmUtbm90ZS1zcGFjaW5nfSApO1xuICAgICAgICAgICAgZm9udC1zaXplOiB2YXIoIC0ta2VuZG8tZHJvcHpvbmUtbm90ZS1mb250LXNpemUsICN7JGtlbmRvLWRyb3B6b25lLW5vdGUtZm9udC1zaXplfSApO1xuICAgICAgICAgICAgZm9udC13ZWlnaHQ6IHZhciggLS1rZW5kby1kcm9wem9uZS1ub3RlLWZvbnQtd2VpZ2h0LCAjeyRrZW5kby1kcm9wem9uZS1ub3RlLWZvbnQtd2VpZ2h0fSApO1xuICAgICAgICB9XG4gICAgfVxuXG59XG4iLCJAdXNlIFwiLi4vY29yZS9faW5kZXguc2Nzc1wiIGFzICo7XG5AdXNlIFwiLi9fdmFyaWFibGVzLnNjc3NcIiBhcyAqO1xuXG5AbWl4aW4ga2VuZG8tZHJvcHpvbmUtLXRoZW1lKCkge1xuXG4gICAgLy8gRHJvcHpvbmVcbiAgICAuay1kcm9wem9uZS1pbm5lciB7XG4gICAgICAgIEBpbmNsdWRlIGZpbGwoXG4gICAgICAgICAgICB2YXIoIC0ta2VuZG8tZHJvcHpvbmUtdGV4dCwgI3ska2VuZG8tZHJvcHpvbmUtdGV4dH0gKSxcbiAgICAgICAgICAgIHZhciggLS1rZW5kby1kcm9wem9uZS1iZywgI3ska2VuZG8tZHJvcHpvbmUtYmd9ICksXG4gICAgICAgICAgICB2YXIoIC0ta2VuZG8tZHJvcHpvbmUtYm9yZGVyLCAjeyRrZW5kby1kcm9wem9uZS1ib3JkZXJ9IClcbiAgICAgICAgKTtcblxuICAgICAgICAuay1pY29uLFxuICAgICAgICAuay1kcm9wem9uZS1pY29uIHtcbiAgICAgICAgICAgIGNvbG9yOiB2YXIoIC0ta2VuZG8tZHJvcHpvbmUtaWNvbi10ZXh0LCAjeyRrZW5kby1kcm9wem9uZS1pY29uLXRleHR9ICk7XG4gICAgICAgIH1cbiAgICAgICAgLmstZHJvcHpvbmUtaGludCB7XG4gICAgICAgICAgICBjb2xvcjogdmFyKCAtLWtlbmRvLWRyb3B6b25lLWhpbnQtdGV4dCwgI3ska2VuZG8tZHJvcHpvbmUtaGludC10ZXh0fSApO1xuICAgICAgICB9XG4gICAgICAgIC5rLWRyb3B6b25lLW5vdGUge1xuICAgICAgICAgICAgY29sb3I6IHZhciggLS1rZW5kby1kcm9wem9uZS1ub3RlLXRleHQsICN7JGtlbmRvLWRyb3B6b25lLW5vdGUtdGV4dH0gKTtcbiAgICAgICAgfVxuICAgIH1cblxuXG4gICAgLy8gSG92ZXJcbiAgICAuay1leHRlcm5hbC1kcm9wem9uZS1ob3ZlciB7XG4gICAgICAgIC5rLWljb24sXG4gICAgICAgIC5rLWRyb3B6b25lLWljb24ge1xuICAgICAgICAgICAgY29sb3I6IHZhciggLS1rZW5kby1kcm9wem9uZS1pY29uLWhvdmVyLXRleHQsICN7JGtlbmRvLWRyb3B6b25lLWljb24taG92ZXItdGV4dH0gKTtcbiAgICAgICAgfVxuICAgIH1cblxufVxuIiwiQHVzZSBcIi4uL2NvcmUvX2luZGV4LnNjc3NcIiBhcyAqO1xuQHVzZSBcIi4vX3ZhcmlhYmxlcy5zY3NzXCIgYXMgKjtcbkB1c2UgXCIuLi9jb3JlL3NwYWNpbmcvX2luZGV4LnNjc3NcIiBhcyAqO1xuXG5AbWl4aW4ga2VuZG8tdXBsb2FkLS1sYXlvdXQoKSB7XG5cbiAgICAuay11cGxvYWQge1xuICAgICAgICBib3JkZXItd2lkdGg6IHZhciggLS1rZW5kby11cGxvYWQtYm9yZGVyLXdpZHRoLCAjeyRrZW5kby11cGxvYWQtYm9yZGVyLXdpZHRofSApO1xuICAgICAgICBib3JkZXItc3R5bGU6IHNvbGlkO1xuICAgICAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgICAgICBvdXRsaW5lOiAwO1xuICAgICAgICBmb250LWZhbWlseTogdmFyKCAtLWtlbmRvLXVwbG9hZC1mb250LWZhbWlseSwgI3ska2VuZG8tdXBsb2FkLWZvbnQtZmFtaWx5fSApO1xuICAgICAgICBmb250LXNpemU6IHZhciggLS1rZW5kby11cGxvYWQtZm9udC1zaXplLCAjeyRrZW5kby11cGxvYWQtZm9udC1zaXplfSApO1xuICAgICAgICBsaW5lLWhlaWdodDogdmFyKCAtLWtlbmRvLXVwbG9hZC1saW5lLWhlaWdodCwgI3ska2VuZG8tdXBsb2FkLWxpbmUtaGVpZ2h0fSApO1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAtd2Via2l0LXRvdWNoLWNhbGxvdXQ6IG5vbmU7XG4gICAgICAgIC13ZWJraXQtdGFwLWhpZ2hsaWdodC1jb2xvcjogJGtlbmRvLWNvbG9yLXJnYmEtdHJhbnNwYXJlbnQ7XG5cbiAgICAgICAgKixcbiAgICAgICAgKjo6YmVmb3JlLFxuICAgICAgICAqOjphZnRlciB7XG4gICAgICAgICAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgICAgICB9XG5cbiAgICAgICAgLmstdXBsb2FkLWJ1dHRvbiB7XG4gICAgICAgICAgICBtaW4td2lkdGg6IDdlbTtcbiAgICAgICAgfVxuXG4gICAgICAgIC8vIERyb3Agem9uZVxuICAgICAgICAuay1kcm9wem9uZSxcbiAgICAgICAgLmstdXBsb2FkLWRyb3B6b25lIHtcbiAgICAgICAgICAgIHBhZGRpbmctaW5saW5lOiB2YXIoIC0ta2VuZG8tdXBsb2FkLWRyb3B6b25lLXBhZGRpbmcteCwgI3ska2VuZG8tdXBsb2FkLWRyb3B6b25lLXBhZGRpbmcteH0gKTtcbiAgICAgICAgICAgIHBhZGRpbmctYmxvY2s6IHZhciggLS1rZW5kby11cGxvYWQtZHJvcHpvbmUtcGFkZGluZy15LCAjeyRrZW5kby11cGxvYWQtZHJvcHpvbmUtcGFkZGluZy15fSApO1xuICAgICAgICAgICAgYm9yZGVyLXdpZHRoOiAwO1xuICAgICAgICAgICAgdGV4dC1hbGlnbjogZW5kO1xuICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcblxuICAgICAgICAgICAgLmstZHJvcHpvbmUtaGludCB7XG4gICAgICAgICAgICAgICAgZm9udC1zdHlsZTogbm9ybWFsO1xuICAgICAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gICAgICAgICAgICAgICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgICAgICAgICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgICAgICAgICAgICAgIHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xuICAgICAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgICAgICAgICBmbGV4OiAxO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAuay11cGxvYWQtc3RhdHVzIHtcbiAgICAgICAgICAgICAgICBmb250LXdlaWdodDogbm9ybWFsO1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgICAgICAgICAgICAgICA+IC5rLWljb24ge1xuICAgICAgICAgICAgICAgICAgICBtYXJnaW4taW5saW5lLWVuZDogdmFyKCAtLWtlbmRvLXVwbG9hZC1pY29uLXNwYWNpbmcsICN7JGtlbmRvLXVwbG9hZC1pY29uLXNwYWNpbmd9ICk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAuay11cGxvYWQtc3RhdHVzICsgLmstZHJvcHpvbmUtaGludCB7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC5rLWRyb3B6b25lLWFjdGl2ZSB7XG4gICAgICAgICAgICAuay11cGxvYWQtc3RhdHVzIHtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAuay11cGxvYWQtc3RhdHVzICsgLmstZHJvcHpvbmUtaGludCB7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAvLyBVcGxvYWQgZmlsZXMgbGlzdFxuICAgICAgICAuay11cGxvYWQtZmlsZXMge1xuICAgICAgICAgICAgbWF4LWhlaWdodDogdmFyKCAtLWtlbmRvLXVwbG9hZC1tYXgtaGVpZ2h0LCAjeyRrZW5kby11cGxvYWQtbWF4LWhlaWdodH0gKTtcbiAgICAgICAgICAgIG92ZXJmbG93LXk6IGF1dG87XG4gICAgICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgICAgICAgYm9yZGVyLXdpZHRoOiAxcHggMCAwO1xuICAgICAgICAgICAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcbiAgICAgICAgICAgIGJvcmRlci1jb2xvcjogaW5oZXJpdDtcbiAgICAgICAgICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG5cbiAgICAgICAgICAgIC5rLWZpbGUtbXVsdGlwbGUsXG4gICAgICAgICAgICAuay1maWxlLXNpbmdsZSB7XG4gICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC5rLWZpbGUtc2luZ2xlIHtcbiAgICAgICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAuay1maWxlLW11bHRpcGxlIHtcbiAgICAgICAgICAgICAgICBhbGlnbi1pdGVtczogZmxleC1zdGFydDtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLmstZmlsZSB7XG4gICAgICAgICAgICAgICAgcGFkZGluZy1pbmxpbmU6IHZhciggLS1rZW5kby11cGxvYWQtaXRlbS1wYWRkaW5nLXgsICN7JGtlbmRvLXVwbG9hZC1pdGVtLXBhZGRpbmcteH0gKTtcbiAgICAgICAgICAgICAgICBwYWRkaW5nLWJsb2NrOiB2YXIoIC0ta2VuZG8tdXBsb2FkLWl0ZW0tcGFkZGluZy15LCAjeyRrZW5kby11cGxvYWQtaXRlbS1wYWRkaW5nLXl9ICkgY2FsYyggdmFyKCAtLWtlbmRvLXVwbG9hZC1pdGVtLXBhZGRpbmcteSwgI3ska2VuZG8tdXBsb2FkLWl0ZW0tcGFkZGluZy15fSApICsgdmFyKCAtLWtlbmRvLXVwbG9hZC1wcm9ncmVzcy10aGlja25lc3MsICN7JGtlbmRvLXVwbG9hZC1wcm9ncmVzcy10aGlja25lc3N9ICkgKTtcbiAgICAgICAgICAgICAgICBib3JkZXItd2lkdGg6IDAgMCAxcHg7XG4gICAgICAgICAgICAgICAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcbiAgICAgICAgICAgICAgICBvdXRsaW5lOiBub25lO1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICAgICAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7XG4gICAgICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgLmstZmlsZTpsYXN0LWNoaWxkIHtcbiAgICAgICAgICAgICAgICBib3JkZXItd2lkdGg6IDA7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC5rLWZpbGVuYW1lIHtcbiAgICAgICAgICAgICAgICBtYXJnaW4taW5saW5lLXN0YXJ0OiBrLXNwYWNpbmcoMik7XG4gICAgICAgICAgICAgICAgZmxleDogMTtcbiAgICAgICAgICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgICAgICAgICAgICAgIHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xuICAgICAgICAgICAgICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gICAgICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAuay11cGxvYWQtcGN0IHtcbiAgICAgICAgICAgICAgICBtYXJnaW4taW5saW5lOiB2YXIoIC0ta2VuZG8tdXBsb2FkLWljb24tc3BhY2luZywgI3ska2VuZG8tdXBsb2FkLWljb24tc3BhY2luZ30gKTtcbiAgICAgICAgICAgICAgICBmb250LXdlaWdodDogbm9ybWFsO1xuICAgICAgICAgICAgICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIH4gLmstY2xlYXItc2VsZWN0ZWQsXG4gICAgICAgICAgICB+IC5rLXVwbG9hZC1zZWxlY3RlZCB7XG4gICAgICAgICAgICAgICAgbWFyZ2luLWJsb2NrLXN0YXJ0OiBjYWxjKCAtMSAqICN7ay1zcGFjaW5nKDEpfSApO1xuICAgICAgICAgICAgICAgIGJvcmRlci13aWR0aDogMDtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgfiAuay11cGxvYWQtc2VsZWN0ZWQge1xuICAgICAgICAgICAgICAgIGJvcmRlci1pbmxpbmUtc3RhcnQ6IDFweDtcbiAgICAgICAgICAgICAgICBib3JkZXItbGVmdC1zdHlsZTogc29saWQ7XG4gICAgICAgICAgICAgICAgbWFyZ2luLWlubGluZS1zdGFydDogLTFweDtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLmstZmlsZS1uYW1lLFxuICAgICAgICAgICAgLmstZmlsZS1zaXplLFxuICAgICAgICAgICAgLmstZmlsZS12YWxpZGF0aW9uLW1lc3NhZ2UsXG4gICAgICAgICAgICAuay1maWxlLXN1bW1hcnkge1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAuay1maWxlLW5hbWUge1xuICAgICAgICAgICAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgICAgICAgICAgICAgdGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7XG4gICAgICAgICAgICAgICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgICAgICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC5rLWZpbGUtc2l6ZSxcbiAgICAgICAgICAgIC5rLWZpbGUtc3VtbWFyeSxcbiAgICAgICAgICAgIC5rLWZpbGUtdmFsaWRhdGlvbi1tZXNzYWdlIHtcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IHZhciggLS1rZW5kby11cGxvYWQtdmFsaWRhdGlvbi1mb250LXNpemUsICN7JGtlbmRvLXVwbG9hZC12YWxpZGF0aW9uLWZvbnQtc2l6ZX0gKTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLmstZmlsZS1zdGF0ZSB7XG4gICAgICAgICAgICAgICAgdmlzaWJpbGl0eTogaGlkZGVuO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAuay1maWxlLWljb24td3JhcHBlciB7XG5cbiAgICAgICAgICAgICAgICAuay1maWxlLXN0YXRlIHtcbiAgICAgICAgICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC5rLXVwbG9hZC1maWxlcyAuay1maWxlLWluZm8ge1xuICAgICAgICAgICAgbWFyZ2luLWlubGluZS1zdGFydDogMDtcbiAgICAgICAgICAgIG1hcmdpbi1pbmxpbmUtZW5kOiAwO1xuICAgICAgICAgICAgbWluLWhlaWdodDogdmFyKCAtLWtlbmRvLWljb24tc2l6ZS14eGwsIDJyZW0gKTtcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAgICAgICAgIGZsZXg6IDEgMCAwO1xuICAgICAgICB9XG5cbiAgICAgICAgLmstbXVsdGlwbGUtZmlsZXMtd3JhcHBlcixcbiAgICAgICAgLmstZmlsZS1zaW5nbGUgPiAuay1maWxlLWluZm8ge1xuICAgICAgICAgICAgbWFyZ2luLWlubGluZS1zdGFydDogay1zcGFjaW5nKDIpO1xuICAgICAgICAgICAgbWFyZ2luLWlubGluZS1lbmQ6IDA7XG4gICAgICAgICAgICBtaW4taGVpZ2h0OiB2YXIoIC0ta2VuZG8taWNvbi1zaXplLXh4bCwgMnJlbSApO1xuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgICAgICAgICAgZmxleDogMSAwIDA7XG4gICAgICAgIH1cblxuICAgICAgICAuay1tdWx0aXBsZS1maWxlcy13cmFwcGVyIHtcblxuICAgICAgICAgICAgLmstZmlsZS1pbmZvIHtcbiAgICAgICAgICAgICAgICBtYXJnaW4tYmxvY2stZW5kOiB2YXIoIC0ta2VuZG8tdXBsb2FkLW11bHRpcGxlLWl0ZW1zLXNwYWNpbmcsICN7JGtlbmRvLXVwbG9hZC1tdWx0aXBsZS1pdGVtcy1zcGFjaW5nfSApO1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAuay1maWxlLXN1bW1hcnkge1xuICAgICAgICAgICAgICAgIG1hcmdpbi1ibG9jay1zdGFydDogY2FsYyggLTEgKiB2YXIoIC0ta2VuZG8tdXBsb2FkLW11bHRpcGxlLWl0ZW1zLXNwYWNpbmcsICN7JGtlbmRvLXVwbG9hZC1tdWx0aXBsZS1pdGVtcy1zcGFjaW5nfSApIC8gMyk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAuay1wcm9ncmVzc2JhciB7XG4gICAgICAgICAgICAtLWtlbmRvLXByb2dyZXNzYmFyLWhlaWdodDogdmFyKCAtLWtlbmRvLXVwbG9hZC1wcm9ncmVzcy10aGlja25lc3MsICN7JGtlbmRvLXVwbG9hZC1wcm9ncmVzcy10aGlja25lc3N9ICk7XG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICBsZWZ0OiB2YXIoIC0ta2VuZG8tdXBsb2FkLWl0ZW0tcGFkZGluZy14LCAjeyRrZW5kby11cGxvYWQtaXRlbS1wYWRkaW5nLXh9ICk7XG4gICAgICAgICAgICByaWdodDogdmFyKCAtLWtlbmRvLXVwbG9hZC1pdGVtLXBhZGRpbmcteCwgI3ska2VuZG8tdXBsb2FkLWl0ZW0tcGFkZGluZy14fSApO1xuICAgICAgICAgICAgYm90dG9tOiBjYWxjKCB2YXIoIC0ta2VuZG8tdXBsb2FkLWl0ZW0tcGFkZGluZy15LCAjeyRrZW5kby11cGxvYWQtaXRlbS1wYWRkaW5nLXl9ICkgLyAyICk7XG4gICAgICAgICAgICB3aWR0aDogYXV0bztcbiAgICAgICAgfVxuXG4gICAgICAgIC8vIEFjdGlvbiBidXR0b25zXG4gICAgICAgIC5rLWFjdGlvbnMge1xuICAgICAgICAgICAgYm9yZGVyLXRvcC13aWR0aDogMXB4O1xuICAgICAgICB9XG5cbiAgICB9XG5cbiAgICAuay11cGxvYWQtYnV0dG9uLXdyYXAge1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIGRpcmVjdGlvbjogbHRyO1xuXG4gICAgICAgIGlucHV0IHtcbiAgICAgICAgICAgIC8vIGZvbnQgc2hvdWxkIG5vdCBkZXBlbmQgb24gb3V0c2lkZSBzdHlsZXMsIG90aGVyd2lzZSB1cGxvYWQgbWF5IGJyZWFrXG4gICAgICAgICAgICBmb250OiAxNzBweCBtb25vc3BhY2UgIWltcG9ydGFudDsgLy8gc3R5bGVsaW50LWRpc2FibGUtbGluZSBkZWNsYXJhdGlvbi1uby1pbXBvcnRhbnRcbiAgICAgICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgICAgIG9wYWNpdHk6IDA7XG4gICAgICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICBib3R0b206IDA7XG4gICAgICAgICAgICByaWdodDogMDtcbiAgICAgICAgICAgIHotaW5kZXg6IDI7XG4gICAgICAgIH1cblxuICAgICAgICBpbnB1dFtkaXNhYmxlZF0sXG4gICAgICAgIGlucHV0LmstZGlzYWJsZWQge1xuICAgICAgICAgICAgdmlzaWJpbGl0eTogaGlkZGVuO1xuICAgICAgICB9XG4gICAgfVxufVxuIiwiQHVzZSBcIi4uL2NvcmUvX2luZGV4LnNjc3NcIiBhcyAqO1xuQHVzZSBcIi4vX3ZhcmlhYmxlcy5zY3NzXCIgYXMgKjtcblxuQG1peGluIGtlbmRvLXVwbG9hZC0tdGhlbWUoKSB7XG4gICAgLmstdXBsb2FkIHtcbiAgICAgICAgQGluY2x1ZGUgZmlsbChcbiAgICAgICAgICAgIHZhciggLS1rZW5kby11cGxvYWQtdGV4dCwgI3ska2VuZG8tdXBsb2FkLXRleHR9ICksXG4gICAgICAgICAgICB2YXIoIC0ta2VuZG8tdXBsb2FkLWJnLCAjeyRrZW5kby11cGxvYWQtYmd9ICksXG4gICAgICAgICAgICB2YXIoIC0ta2VuZG8tdXBsb2FkLWJvcmRlciwgI3ska2VuZG8tdXBsb2FkLWJvcmRlcn0gKVxuICAgICAgICApO1xuXG4gICAgICAgIC5rLWRyb3B6b25lIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGZpbGwoXG4gICAgICAgICAgICAgICAgdmFyKCAtLWtlbmRvLXVwbG9hZC1kcm9wem9uZS10ZXh0LCAjeyRrZW5kby11cGxvYWQtZHJvcHpvbmUtdGV4dH0gKSxcbiAgICAgICAgICAgICAgICB2YXIoIC0ta2VuZG8tdXBsb2FkLWRyb3B6b25lLWJnLCAjeyRrZW5kby11cGxvYWQtZHJvcHpvbmUtYmd9ICksXG4gICAgICAgICAgICAgICAgdmFyKCAtLWtlbmRvLXVwbG9hZC1kcm9wem9uZS1ib3JkZXIsICN7JGtlbmRvLXVwbG9hZC1kcm9wem9uZS1ib3JkZXJ9IClcbiAgICAgICAgICAgICk7XG5cbiAgICAgICAgICAgICY6aG92ZXIsXG4gICAgICAgICAgICAmLmstaG92ZXIsXG4gICAgICAgICAgICAmLmstZHJvcHpvbmUtaG92ZXIsXG4gICAgICAgICAgICAmLmstZHJvcHpvbmUtaG92ZXJlZCB7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKCAtLWtlbmRvLXVwbG9hZC1kcm9wem9uZS1ob3Zlci1iZywgI3ska2VuZG8tdXBsb2FkLWRyb3B6b25lLWhvdmVyLWJnfSApO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAuay1kcm9wem9uZS1oaW50IHtcbiAgICAgICAgICAgICAgICBjb2xvcjogdmFyKCAtLWtlbmRvLXVwbG9hZC1zdGF0dXMtdGV4dCwgI3ska2VuZG8tdXBsb2FkLXN0YXR1cy10ZXh0fSApO1xuICAgICAgICAgICAgICAgIG9wYWNpdHk6IHZhciggLS1rZW5kby11cGxvYWQtc3RhdHVzLXRleHQtb3BhY2l0eSwgI3ska2VuZG8tdXBsb2FkLXN0YXR1cy10ZXh0LW9wYWNpdHl9ICk7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgfVxuXG4gICAgICAgIC5rLXVwbG9hZC1maWxlcyxcbiAgICAgICAgLmstZmlsZSB7XG4gICAgICAgICAgICBib3JkZXItY29sb3I6IHZhciggLS1rZW5kby11cGxvYWQtYm9yZGVyLCAjeyRrZW5kby11cGxvYWQtYm9yZGVyfSApO1xuICAgICAgICB9XG5cbiAgICAgICAgLmstZmlsZSB7XG5cbiAgICAgICAgICAgICYuay1mb2N1cyB7XG4gICAgICAgICAgICAgICAgYm94LXNoYWRvdzogdmFyKCAtLWtlbmRvLXVwbG9hZC1mb2N1cy1zaGFkb3csICN7JGtlbmRvLXVwbG9hZC1mb2N1cy1zaGFkb3d9ICk7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC5rLXVwbG9hZC1hY3Rpb24uay1mb2N1cyB7XG4gICAgICAgICAgICAgICAgYm94LXNoYWRvdzogdmFyKCAtLWtlbmRvLXVwbG9hZC1mb2N1cy1zaGFkb3csICN7JGtlbmRvLXVwbG9hZC1mb2N1cy1zaGFkb3d9ICk7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgfVxuXG4gICAgICAgIC5rLWRyb3B6b25lIC5rLXVwbG9hZC1zdGF0dXMge1xuICAgICAgICAgICAgY29sb3I6IHZhciggLS1rZW5kby11cGxvYWQtc3RhdHVzLXRleHQsICN7JGtlbmRvLXVwbG9hZC1zdGF0dXMtdGV4dH0gKTtcbiAgICAgICAgICAgIG9wYWNpdHk6IHZhciggLS1rZW5kby11cGxvYWQtc3RhdHVzLXRleHQtb3BhY2l0eSwgI3ska2VuZG8tdXBsb2FkLXN0YXR1cy10ZXh0LW9wYWNpdHl9ICk7XG4gICAgICAgIH1cblxuICAgICAgICAvLyBVcGxvYWQgc3RhdHVzOiB1cGxvYWRpbmdcbiAgICAgICAgLmstZmlsZS1wcm9ncmVzcyB7XG4gICAgICAgICAgICAuay1wcm9ncmVzc2JhciAuay1zZWxlY3RlZCB7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKCAtLWtlbmRvLXVwbG9hZC1wcm9ncmVzcy1iZywgI3ska2VuZG8tdXBsb2FkLXByb2dyZXNzLWJnfSApO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cblxuICAgICAgICAvLyBVcGxvYWQgc3RhdHVzOiBzdWNjZXNzXG4gICAgICAgIC5rLWZpbGUtc3VjY2VzcyB7XG4gICAgICAgICAgICAuay1maWxlLXZhbGlkYXRpb24tbWVzc2FnZSB7XG4gICAgICAgICAgICAgICAgY29sb3I6ICRrZW5kby11cGxvYWQtc3VjY2Vzcy10ZXh0O1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAuay1wcm9ncmVzc2JhciAuay1zZWxlY3RlZCB7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKCAtLWtlbmRvLXVwbG9hZC1zdWNjZXNzLWJnLCAjeyRrZW5kby11cGxvYWQtc3VjY2Vzcy1iZ30gKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC8vIFVwbG9hZCBzYXR1czogZXJyb3JcbiAgICAgICAgLmstZmlsZS1lcnJvciB7XG4gICAgICAgICAgICAuay1maWxlLXZhbGlkYXRpb24tbWVzc2FnZSB7XG4gICAgICAgICAgICAgICAgY29sb3I6IHZhciggLS1rZW5kby11cGxvYWQtZXJyb3ItdGV4dCwgI3ska2VuZG8tdXBsb2FkLWVycm9yLXRleHR9ICk7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC5rLXByb2dyZXNzYmFyIC5rLXNlbGVjdGVkIHtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoIC0ta2VuZG8tdXBsb2FkLWVycm9yLWJnLCAjeyRrZW5kby11cGxvYWQtZXJyb3ItYmd9ICk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAuay1maWxlLWljb24td3JhcHBlciB7XG4gICAgICAgICAgICBjb2xvcjogdmFyKCAtLWtlbmRvLXVwbG9hZC1pY29uLWNvbG9yLCAjeyRrZW5kby11cGxvYWQtaWNvbi1jb2xvcn0gKTtcbiAgICAgICAgICAgIGJvcmRlci1jb2xvcjogdmFyKCAtLWtlbmRvLXVwbG9hZC1pY29uLWNvbG9yLCAjeyRrZW5kby11cGxvYWQtaWNvbi1jb2xvcn0gKTtcbiAgICAgICAgfVxuXG4gICAgICAgIC5rLWZpbGUtc2l6ZSxcbiAgICAgICAgLmstZmlsZS12YWxpZGF0aW9uLW1lc3NhZ2UsXG4gICAgICAgIC5rLWZpbGUtc3VtbWFyeSB7XG4gICAgICAgICAgICBjb2xvcjogdmFyKCAtLWtlbmRvLXN1YnRsZS10ZXh0LCBpbmhlcml0KTtcbiAgICAgICAgfVxuXG4gICAgICAgIC5rLW11bHRpcGxlLWZpbGVzLXdyYXBwZXIgLmstZmlsZS1zdW1tYXJ5IHtcbiAgICAgICAgICAgIGNvbG9yOiB2YXIoIC0ta2VuZG8tdXBsb2FkLXRleHQsICN7JGtlbmRvLXVwbG9hZC10ZXh0fSApO1xuICAgICAgICB9XG5cbiAgICAgICAgLy8gSW52YWxpZCxcbiAgICAgICAgJi5rLWludmFsaWQsXG4gICAgICAgICYubmctaW52YWxpZC5uZy10b3VjaGVkLFxuICAgICAgICAmLm5nLWludmFsaWQubmctZGlydHkge1xuICAgICAgICAgICAgYm9yZGVyLWNvbG9yOiB2YXIoIC0ta2VuZG8taW52YWxpZC1ib3JkZXIsIGluaGVyaXQpO1xuICAgICAgICB9XG4gICAgfVxufVxuIiwiQHVzZSBcInNhc3M6bWFwXCI7XG5AdXNlIFwiLi4vY29yZS9faW5kZXguc2Nzc1wiIGFzICo7XG5cbi8vLyBUaGUgd2lkdGggb2YgdGhlIGJvcmRlciBhcm91bmQgdGhlIFVwbG9hZC5cbi8vLyBAZ3JvdXAgdXBsb2FkXG4ka2VuZG8tdXBsb2FkLWJvcmRlci13aWR0aDogMXB4ICFkZWZhdWx0O1xuLy8vIFRoZSBmb250IGZhbWlseSBvZiB0aGUgVXBsb2FkLlxuLy8vIEBncm91cCB1cGxvYWRcbiRrZW5kby11cGxvYWQtZm9udC1mYW1pbHk6IHZhciggLS1rZW5kby1mb250LWZhbWlseSwgaW5oZXJpdCApICFkZWZhdWx0O1xuLy8vIFRoZSBmb250IHNpemUgb2YgdGhlIFVwbG9hZC5cbi8vLyBAZ3JvdXAgdXBsb2FkXG4ka2VuZG8tdXBsb2FkLWZvbnQtc2l6ZTogdmFyKCAtLWtlbmRvLWZvbnQtc2l6ZSwgaW5oZXJpdCApICFkZWZhdWx0O1xuLy8vIFRoZSBsaW5lIGhlaWdodCBvZiB0aGUgVXBsb2FkLlxuLy8vIEBncm91cCB1cGxvYWRcbiRrZW5kby11cGxvYWQtbGluZS1oZWlnaHQ6IHZhciggLS1rZW5kby1saW5lLWhlaWdodCwgbm9ybWFsICkgIWRlZmF1bHQ7XG4vLy8gVGhlIG1heGltdW0gaGVpZ2h0IG9mIHRoZSBsaXN0IHdpdGggdXBsb2FkZWQgaXRlbXMuXG4vLy8gQGdyb3VwIHVwbG9hZFxuJGtlbmRvLXVwbG9hZC1tYXgtaGVpZ2h0OiAzMDBweCAhZGVmYXVsdDtcblxuLy8vIFRoZSB0ZXh0IGNvbG9yIG9mIHRoZSBVcGxvYWQuXG4vLy8gQGdyb3VwIHVwbG9hZFxuJGtlbmRvLXVwbG9hZC10ZXh0OiB2YXIoIC0ta2VuZG8tY29tcG9uZW50LXRleHQsIGluaXRpYWwgKSAhZGVmYXVsdDtcbi8vLyBUaGUgYmFja2dyb3VuZCBjb2xvciBvZiB0aGUgVXBsb2FkLlxuLy8vIEBncm91cCB1cGxvYWRcbiRrZW5kby11cGxvYWQtYmc6IHZhciggLS1rZW5kby1jb21wb25lbnQtYmcsIGluaXRpYWwgKSAhZGVmYXVsdDtcbi8vLyBUaGUgYm9yZGVyIGNvbG9yIG9mIHRoZSBVcGxvYWQuXG4vLy8gQGdyb3VwIHVwbG9hZFxuJGtlbmRvLXVwbG9hZC1ib3JkZXI6IHZhciggLS1rZW5kby1jb21wb25lbnQtYm9yZGVyLCBpbml0aWFsICkgIWRlZmF1bHQ7XG5cbi8vLyBUaGUgaG9yaXpvbnRhbCBwYWRkaW5nIG9mIHRoZSBVcGxvYWQgZHJvcHpvbmUuXG4vLy8gQGdyb3VwIHVwbG9hZFxuJGtlbmRvLXVwbG9hZC1kcm9wem9uZS1wYWRkaW5nLXg6IGstc3BhY2luZygyKSAhZGVmYXVsdDtcbi8vLyBUaGUgdmVydGljYWwgcGFkZGluZyBvZiB0aGUgVXBsb2FkIGRyb3B6b25lLlxuLy8vIEBncm91cCB1cGxvYWRcbiRrZW5kby11cGxvYWQtZHJvcHpvbmUtcGFkZGluZy15OiBrLXNwYWNpbmcoMikgIWRlZmF1bHQ7XG4vLy8gVGhlIHRleHQgY29sb3Igb2YgdGhlIFVwbG9hZCBkcm9wem9uZS5cbi8vLyBAZ3JvdXAgdXBsb2FkXG4ka2VuZG8tdXBsb2FkLWRyb3B6b25lLXRleHQ6IGlmKCRrZW5kby1lbmFibGUtY29sb3Itc3lzdGVtLCBrLWNvbG9yKCBzdWJ0bGUgKSwgay1nZXQtdGhlbWUtY29sb3ItdmFyKCBuZXV0cmFsLTEzMCApKSAhZGVmYXVsdDtcbi8vLyBUaGUgYmFja2dyb3VuZCBjb2xvciBvZiB0aGUgVXBsb2FkIGRyb3B6b25lLlxuLy8vIEBncm91cCB1cGxvYWRcbiRrZW5kby11cGxvYWQtZHJvcHpvbmUtYmc6IGlmKCRrZW5kby1lbmFibGUtY29sb3Itc3lzdGVtLCBrLWNvbG9yKCBzdXJmYWNlICksIGstZ2V0LXRoZW1lLWNvbG9yLXZhciggbmV1dHJhbC0xMCApKSAhZGVmYXVsdDtcbi8vLyBUaGUgYm9yZGVyIGNvbG9yIG9mIHRoZSBVcGxvYWQgZHJvcHpvbmUuXG4vLy8gQGdyb3VwIHVwbG9hZFxuJGtlbmRvLXVwbG9hZC1kcm9wem9uZS1ib3JkZXI6IGlmKCRrZW5kby1lbmFibGUtY29sb3Itc3lzdGVtLCBjb2xvci1taXgoaW4gc3JnYiwgay1jb2xvciggYm9yZGVyICkgMTYlLCB0cmFuc3BhcmVudCksIGstZ2V0LXRoZW1lLWNvbG9yLXZhciggbmV1dHJhbC0zMCApKSAhZGVmYXVsdDtcbi8vLyBUaGUgYmFja2dyb3VuZCBjb2xvciBvZiB0aGUgaG92ZXJlZCBVcGxvYWQgZHJvcHpvbmUuXG4vLy8gQGdyb3VwIHVwbG9hZFxuJGtlbmRvLXVwbG9hZC1kcm9wem9uZS1ob3Zlci1iZzogdmFyKCAtLWtlbmRvLWhvdmVyLWJnLCBpbmhlcml0ICkgIWRlZmF1bHQ7XG5cbi8vLyBUaGUgdGV4dCBjb2xvciBvZiB0aGUgVXBsb2FkIHN0YXR1cyBtZXNzYWdlLlxuLy8vIEBncm91cCB1cGxvYWRcbiRrZW5kby11cGxvYWQtc3RhdHVzLXRleHQ6IHZhciggLS1rZW5kby1zdWJ0bGUtdGV4dCwgaW5oZXJpdCApICFkZWZhdWx0O1xuLy8vIFRoZSBvcGFjaXR5IG9mIHRoZSBVcGxvYWQgc3RhdHVzIG1lc3NhZ2UuXG4vLy8gQGdyb3VwIHVwbG9hZFxuJGtlbmRvLXVwbG9hZC1zdGF0dXMtdGV4dC1vcGFjaXR5OiBudWxsICFkZWZhdWx0O1xuXG4vLy8gVGhlIGhvcml6b250YWwgcGFkZGluZyBvZiBhbiB1cGxvYWRlZCBpdGVtLlxuLy8vIEBncm91cCB1cGxvYWRcbiRrZW5kby11cGxvYWQtaXRlbS1wYWRkaW5nLXg6IGstc3BhY2luZygyKSAhZGVmYXVsdDtcbi8vLyBUaGUgdmVydGljYWwgcGFkZGluZyBvZiBhbiB1cGxvYWRlZCBpdGVtLlxuLy8vIEBncm91cCB1cGxvYWRcbiRrZW5kby11cGxvYWQtaXRlbS1wYWRkaW5nLXk6IGstc3BhY2luZygyKSAhZGVmYXVsdDtcblxuLy8vIFRoZSB2ZXJ0aWNhbCBzcGFjaW5nIGJldHdlZW4gdXBsb2FkZWQgYmF0Y2ggaXRlbXMuXG4vLy8gQGdyb3VwIHVwbG9hZFxuJGtlbmRvLXVwbG9hZC1tdWx0aXBsZS1pdGVtcy1zcGFjaW5nOiBrLXNwYWNpbmcoNCkgIWRlZmF1bHQ7XG5cbi8vLyBUaGUgZm9udCBzaXplIG9mIHRoZSBVcGxvYWQgdmFsaWRhdGlvbiBtZXNzYWdlLlxuLy8vIEBncm91cCB1cGxvYWRcbiRrZW5kby11cGxvYWQtdmFsaWRhdGlvbi1mb250LXNpemU6IHZhciggLS1rZW5kby1mb250LXNpemUteHMsIGluaGVyaXQgKSAhZGVmYXVsdDtcbi8vLyBUaGUgaG9yaXpvbnRhbCBzcGFjaW5nIG9mIHRoZSBVcGxvYWQgc3RhdHVzIGljb24uXG4vLy8gQGdyb3VwIHVwbG9hZFxuJGtlbmRvLXVwbG9hZC1pY29uLXNwYWNpbmc6IHZhciggLS1rZW5kby1pY29uLXNwYWNpbmcsIC41cmVtICkgIWRlZmF1bHQ7XG4vLy8gVGhlIGNvbG9yIG9mIHRoZSB1cGxvYWRlZCBpdGVtcyBpY29uLlxuLy8vIEBncm91cCB1cGxvYWRcbiRrZW5kby11cGxvYWQtaWNvbi1jb2xvcjogdmFyKCAtLWtlbmRvLXN1YnRsZS10ZXh0LCBpbmhlcml0ICkgIWRlZmF1bHQ7XG5cbi8vLyBUaGUgdGhpY2tuZXNzIG9mIHRoZSBVcGxvYWQgcHJvZ3Jlc3MgYmFyLlxuLy8vIEBncm91cCB1cGxvYWRcbiRrZW5kby11cGxvYWQtcHJvZ3Jlc3MtdGhpY2tuZXNzOiAycHggIWRlZmF1bHQ7XG4vLy8gVGhlIGJhY2tncm91bmQgY29sb3Igb2YgdGhlIFVwbG9hZCBwcm9ncmVzcyBiYXIuXG4vLy8gQGdyb3VwIHVwbG9hZFxuJGtlbmRvLXVwbG9hZC1wcm9ncmVzcy1iZzogaWYoJGtlbmRvLWVuYWJsZS1jb2xvci1zeXN0ZW0sIGstY29sb3IoIHByaW1hcnkgKSwgay1nZXQtdGhlbWUtY29sb3ItdmFyKCBwcmltYXJ5LTEwMCApKSAhZGVmYXVsdDtcblxuLy8vIFRoZSBzdWNjZXNzIHRleHQgY29sb3Igb2YgdGhlIFVwbG9hZC5cbi8vLyBAZ3JvdXAgdXBsb2FkXG4ka2VuZG8tdXBsb2FkLXN1Y2Nlc3MtdGV4dDogaWYoJGtlbmRvLWVuYWJsZS1jb2xvci1zeXN0ZW0sIGstY29sb3IoIHN1Y2Nlc3Mtb24tc3VyZmFjZSApLCBrLWdldC10aGVtZS1jb2xvci12YXIoIHN1Y2Nlc3MtMTkwICkpICFkZWZhdWx0O1xuLy8vIFRoZSBzdWNjZXNzIGJhY2tncm91bmQgY29sb3Igb2YgdGhlIFVwbG9hZCBwcm9ncmVzcyBiYXIuXG4vLy8gQGdyb3VwIHVwbG9hZFxuJGtlbmRvLXVwbG9hZC1zdWNjZXNzLWJnOiBpZigka2VuZG8tZW5hYmxlLWNvbG9yLXN5c3RlbSwgay1jb2xvciggc3VjY2Vzcy1vbi1zdXJmYWNlICksIGstZ2V0LXRoZW1lLWNvbG9yLXZhciggc3VjY2Vzcy0xOTAgKSkgIWRlZmF1bHQ7XG5cbi8vLyBUaGUgZXJyb3IgdGV4dCBjb2xvciBvZiB0aGUgVXBsb2FkLlxuLy8vIEBncm91cCB1cGxvYWRcbiRrZW5kby11cGxvYWQtZXJyb3ItdGV4dDogaWYoJGtlbmRvLWVuYWJsZS1jb2xvci1zeXN0ZW0sIGstY29sb3IoIGVycm9yLW9uLXN1cmZhY2UgKSwgay1nZXQtdGhlbWUtY29sb3ItdmFyKCBlcnJvci0xOTAgKSkgIWRlZmF1bHQ7XG4vLy8gVGhlIGVycm9yIGJhY2tncm91bmQgY29sb3Igb2YgdGhlIFVwbG9hZCBwcm9ncmVzcyBiYXIuXG4vLy8gQGdyb3VwIHVwbG9hZFxuJGtlbmRvLXVwbG9hZC1lcnJvci1iZzogaWYoJGtlbmRvLWVuYWJsZS1jb2xvci1zeXN0ZW0sIGstY29sb3IoIGVycm9yLW9uLXN1cmZhY2UgKSwgay1nZXQtdGhlbWUtY29sb3ItdmFyKCBlcnJvci0xOTAgKSkgIWRlZmF1bHQ7XG5cbi8vLyBUaGUgc2hhZG93IG9mIHRoZSBmb2N1c2VkIFVwbG9hZCBidXR0b24sIGFjdGlvbnMgYW5kIHVwbG9hZGVkIGl0ZW1zLlxuLy8vIEBncm91cCB1cGxvYWRcbiRrZW5kby11cGxvYWQtZm9jdXMtc2hhZG93OiBpbnNldCAwIDAgMCAycHggcmdiYSgwLCAwLCAwLCAuMTMpICFkZWZhdWx0O1xuIiwiQHVzZSBcInNhc3M6bWFwXCI7XG5AdXNlIFwiLi9fdmFyaWFibGVzLnNjc3NcIiBhcyAqO1xuQHVzZSBcIi4uL2NvcmUvX2luZGV4LnNjc3NcIiBhcyAqO1xuQHVzZSBcIi4uL2lucHV0L192YXJpYWJsZXMuc2Nzc1wiIGFzICo7XG5cbkBtaXhpbiBrZW5kby1vdHAtLWxheW91dC1iYXNlKCkge1xuICAgIC8vIE9UUFxuICAgIC5rLW90cCB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIHdpZHRoOiBtaW4tY29udGVudDtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgICAgICAgZ2FwOiB2YXIoIC0tSU5URVJOQUwtLWtlbmRvLW90cC1nYXAsIDAgKTtcblxuICAgICAgICAuay1vdHAtaW5wdXQgPiAuay1pbnB1dC1pbm5lciB7XG4gICAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgICAgICBwYWRkaW5nLWlubGluZTogMDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIEBlYWNoICRzaXplLCAkc2l6ZS1wcm9wcyBpbiAka2VuZG8tb3RwLXNpemVzIHtcbiAgICAgICAgJF9nYXA6IG1hcC5nZXQoJHNpemUtcHJvcHMsIGdhcCk7XG4gICAgICAgICRfc2VwYXJhdG9yLXBhZGRpbmcteDogbWFwLmdldCgkc2l6ZS1wcm9wcywgc2VwYXJhdG9yLXBhZGRpbmcteCk7XG4gICAgICAgICRfaW5wdXQtd2lkdGg6IG1hcC5nZXQoJHNpemUtcHJvcHMsIGlucHV0LXdpZHRoKTtcblxuICAgICAgICAuay1vdHAtI3skc2l6ZX0ge1xuICAgICAgICAgICAgLS1JTlRFUk5BTC0ta2VuZG8tb3RwLWdhcDogdmFyKCAtLWtlbmRvLW90cC0jeyRzaXplfS1nYXAsICN7JF9nYXB9ICk7XG5cbiAgICAgICAgICAgIC5rLW90cC1pbnB1dCB7XG4gICAgICAgICAgICAgICAgbWluLXdpZHRoOiAkX2lucHV0LXdpZHRoO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAuay1vdHAtc2VwYXJhdG9yOm5vdCg6ZW1wdHkpIHtcbiAgICAgICAgICAgICAgICBwYWRkaW5nLWlubGluZTogJF9zZXBhcmF0b3ItcGFkZGluZy14O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxufVxuXG5AbWl4aW4ga2VuZG8tb3RwLS1sYXlvdXQoKSB7XG4gICAgQGluY2x1ZGUga2VuZG8tb3RwLS1sYXlvdXQtYmFzZSgpO1xufVxuIiwiQHVzZSBcIi4uL2NvcmUvX2luZGV4LnNjc3NcIiBhcyAqO1xuQHVzZSBcIi4vX3ZhcmlhYmxlcy5zY3NzXCIgYXMgKjtcblxuQG1peGluIGtlbmRvLWFwcGJhci0tbGF5b3V0KCkge1xuXG4gICAgLy8gQXBwYmFyXG4gICAgLmstYXBwYmFyIHtcbiAgICAgICAgbWFyZ2luLWlubGluZTogdmFyKCAtLWtlbmRvLWFwcGJhci1tYXJnaW4teCwgI3ska2VuZG8tYXBwYmFyLW1hcmdpbi14fSApO1xuICAgICAgICBtYXJnaW4tYmxvY2s6IHZhciggLS1rZW5kby1hcHBiYXItbWFyZ2luLXksICN7JGtlbmRvLWFwcGJhci1tYXJnaW4teX0gKTtcbiAgICAgICAgcGFkZGluZy1pbmxpbmU6IHZhciggLS1rZW5kby1hcHBiYXItcGFkZGluZy14LCAjeyRrZW5kby1hcHBiYXItcGFkZGluZy14fSApO1xuICAgICAgICBwYWRkaW5nLWJsb2NrOiB2YXIoIC0ta2VuZG8tYXBwYmFyLXBhZGRpbmcteSwgI3ska2VuZG8tYXBwYmFyLXBhZGRpbmcteX0gKTtcbiAgICAgICAgYm9yZGVyLXdpZHRoOiB2YXIoIC0ta2VuZG8tYXBwYmFyLWJvcmRlci13aWR0aCwgI3ska2VuZG8tYXBwYmFyLWJvcmRlci13aWR0aH0gKTtcbiAgICAgICAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcbiAgICAgICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICAgICAgb3V0bGluZTogMDtcbiAgICAgICAgZm9udC1mYW1pbHk6IHZhciggLS1rZW5kby1hcHBiYXItZm9udC1mYW1pbHksICN7JGtlbmRvLWFwcGJhci1mb250LWZhbWlseX0gKTtcbiAgICAgICAgZm9udC1zaXplOiB2YXIoIC0ta2VuZG8tYXBwYmFyLWZvbnQtc2l6ZSwgI3ska2VuZG8tYXBwYmFyLWZvbnQtc2l6ZX0gKTtcbiAgICAgICAgbGluZS1oZWlnaHQ6IHZhciggLS1rZW5kby1hcHBiYXItbGluZS1oZWlnaHQsICN7JGtlbmRvLWFwcGJhci1saW5lLWhlaWdodH0gKTtcbiAgICAgICAgbGlzdC1zdHlsZTogbm9uZTtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgZ2FwOiB2YXIoIC0ta2VuZG8tYXBwYmFyLXNwYWNpbmcsICN7JGtlbmRvLWFwcGJhci1zcGFjaW5nfSApO1xuICAgICAgICBmbGV4LWZsb3c6IHJvdyB3cmFwO1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgICAgICAtd2Via2l0LXRvdWNoLWNhbGxvdXQ6IG5vbmU7XG4gICAgICAgIC13ZWJraXQtdGFwLWhpZ2hsaWdodC1jb2xvcjogJGtlbmRvLWNvbG9yLXJnYmEtdHJhbnNwYXJlbnQ7XG5cbiAgICAgICAgKixcbiAgICAgICAgKjo6YmVmb3JlLFxuICAgICAgICAqOjphZnRlciB7XG4gICAgICAgICAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgICAgICB9XG5cbiAgICAgICAgPioge1xuICAgICAgICAgICAgZmxleC1zaHJpbms6IDA7XG4gICAgICAgIH1cblxuICAgICAgICAvLyBBcHBiYXIgc2VjdGlvblxuICAgICAgICAuay1hcHBiYXItc2VjdGlvbiB7XG4gICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgICAgICAgICAgIGZsZXgtd3JhcDogbm93cmFwO1xuICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgfVxuXG5cbiAgICAgICAgLy8gQXBwYmFyIFNwYWNlclxuICAgICAgICAuay1hcHBiYXItc3BhY2VyIHtcbiAgICAgICAgICAgIGZsZXg6IDEgMCBhdXRvO1xuICAgICAgICB9XG5cblxuICAgICAgICAuay1hcHBiYXItc3BhY2VyLXNpemVkIHtcbiAgICAgICAgICAgIGZsZXgtZ3JvdzogMDtcbiAgICAgICAgfVxuXG5cbiAgICAgICAgLy8gU2VwYXJhdG9yXG4gICAgICAgIC5rLWFwcGJhci1zZXBhcmF0b3Ige1xuICAgICAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICAgICAgd2lkdGg6IDA7XG4gICAgICAgICAgICBtaW4taGVpZ2h0OiAxZW07XG4gICAgICAgICAgICBib3JkZXItc3R5bGU6IHNvbGlkO1xuICAgICAgICAgICAgYm9yZGVyLXdpZHRoOiAwIDAgMCAxcHg7XG4gICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgIH1cblxuXG4gICAgICAgIC8vIElucHV0XG4gICAgICAgIC5rLWlucHV0LFxuICAgICAgICAuay1waWNrZXIge1xuICAgICAgICAgICAgd2lkdGg6IDEwZW07XG4gICAgICAgIH1cblxuICAgICAgICAuay1jb2xvci1waWNrZXIge1xuICAgICAgICAgICAgd2lkdGg6IG1pbi1jb250ZW50O1xuICAgICAgICB9XG5cbiAgICB9XG5cblxuICAgIC8vIFN0YXRpYyBhcHBiYXJcbiAgICAuay1hcHBiYXItc3RhdGljIHtcbiAgICAgICAgcG9zaXRpb246IHN0YXRpYztcbiAgICB9XG5cblxuICAgIC8vIFN0aWNreSBhcHBiYXJcbiAgICAuay1hcHBiYXItc3RpY2t5IHtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIHBvc2l0aW9uOiBzdGlja3k7XG4gICAgICAgIHRvcDogMDtcbiAgICAgICAgei1pbmRleDogdmFyKCAtLWtlbmRvLWFwcGJhci16aW5kZXgsICN7JGtlbmRvLWFwcGJhci16aW5kZXh9ICk7XG4gICAgfVxuXG5cbiAgICAvLyBGaXhlZCBhcHBiYXJcbiAgICAuay1hcHBiYXItZml4ZWQge1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgcG9zaXRpb246IGZpeGVkO1xuICAgICAgICB6LWluZGV4OiAxO1xuICAgIH1cblxuXG4gICAgLy8gQXBwYmFyIHBvc2l0aW9uXG4gICAgLmstYXBwYmFyLXRvcCB7XG4gICAgICAgIHRvcDogMDtcbiAgICAgICAgYm90dG9tOiBhdXRvO1xuICAgIH1cblxuICAgIC5rLWFwcGJhci1ib3R0b20ge1xuICAgICAgICB0b3A6IGF1dG87XG4gICAgICAgIGJvdHRvbTogMDtcblxuICAgICAgICAmLmstYXBwYmFyLWZpeGVkIHtcbiAgICAgICAgICAgIGJvdHRvbTogMDtcbiAgICAgICAgfVxuICAgIH1cblxufVxuIiwiQHVzZSBcInNhc3M6bWFwXCI7XG5AdXNlIFwiLi4vY29yZS9faW5kZXguc2Nzc1wiIGFzICo7XG5AdXNlIFwiLi9fdmFyaWFibGVzLnNjc3NcIiBhcyAqO1xuXG5AbWl4aW4ga2VuZG8tYXBwYmFyLS10aGVtZSgpIHtcblxuICAgIC5rLWFwcGJhciB7XG4gICAgICAgIC0tSU5URVJOQUwtLWtlbmRvLWFwcGJhci10ZXh0OiB2YXIoIC0ta2VuZG8tYXBwYmFyLXRleHQsICN7JGtlbmRvLWFwcGJhci10ZXh0fSApO1xuICAgICAgICAtLUlOVEVSTkFMLS1rZW5kby1hcHBiYXItYmc6IHZhciggLS1rZW5kby1hcHBiYXItYmcsICN7JGtlbmRvLWFwcGJhci1iZ30gKTtcbiAgICAgICAgLS1JTlRFUk5BTC0ta2VuZG8tYXBwYmFyLWJvcmRlcjogdmFyKCAtLWtlbmRvLWFwcGJhci1ib3JkZXIsICN7JGtlbmRvLWFwcGJhci1ib3JkZXJ9ICk7XG5cbiAgICAgICAgY29sb3I6IHZhciggLS1JTlRFUk5BTC0ta2VuZG8tYXBwYmFyLXRleHQsIGluaGVyaXQgKTtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKCAtLUlOVEVSTkFMLS1rZW5kby1hcHBiYXItYmcsIGluaGVyaXQgKTtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiB2YXIoIC0tSU5URVJOQUwtLWtlbmRvLWFwcGJhci1ib3JkZXIsIGluaGVyaXQgKTtcbiAgICB9XG5cbiAgICAuay1hcHBiYXItaW5oZXJpdCB7XG4gICAgICAgIGNvbG9yOiBpbmhlcml0O1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBpbmhlcml0O1xuICAgICAgICBib3JkZXItY29sb3I6IGluaGVyaXQ7XG4gICAgfVxuXG4gICAgLy8gQXBwQmFyIHRoZW1lIGNvbG9yc1xuICAgIEBlYWNoICR0aGVtZS1jb2xvciwgJGNvbG9yLXByb3BzIGluICRrZW5kby1hcHBiYXItdGhlbWUtY29sb3JzIHtcblxuICAgICAgICAkX3RleHQ6IG1hcC5nZXQoICRjb2xvci1wcm9wcywgdGV4dCApO1xuICAgICAgICAkX2JnOiBtYXAuZ2V0KCAkY29sb3ItcHJvcHMsIGJnICk7XG4gICAgICAgICRfYm9yZGVyOiBtYXAuZ2V0KCAkY29sb3ItcHJvcHMsIGJvcmRlciApO1xuXG4gICAgICAgIC5rLWFwcGJhci0jeyR0aGVtZS1jb2xvcn0ge1xuICAgICAgICAgICAgLS1rZW5kby1hcHBiYXItdGV4dDogdmFyKCAtLWtlbmRvLWFwcGJhci0jeyR0aGVtZS1jb2xvcn0tdGV4dCwgI3skX3RleHR9ICk7XG4gICAgICAgICAgICAtLWtlbmRvLWFwcGJhci1iZzogdmFyKCAtLWtlbmRvLWFwcGJhci0jeyR0aGVtZS1jb2xvcn0tYmcsICN7JF9iZ30gKTtcbiAgICAgICAgICAgIC0ta2VuZG8tYXBwYmFyLWJvcmRlcjogdmFyKCAtLWtlbmRvLWFwcGJhci0jeyR0aGVtZS1jb2xvcn0tYm9yZGVyLCAjeyRfYm9yZGVyfSApO1xuXG4gICAgICAgICAgICAuay1hcHBiYXItc3VidGl0bGUge1xuICAgICAgICAgICAgICAgIGNvbG9yOiBpbmhlcml0O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG59XG4iLCJAdXNlIFwic2FzczptYXBcIjtcbkB1c2UgXCIuL192YXJpYWJsZXMuc2Nzc1wiIGFzICo7XG5cbkBtaXhpbiBrZW5kby1mYWItLWxheW91dCgpIHtcblxuICAgIC5rLWZhYiB7XG4gICAgICAgIHBhZGRpbmctaW5saW5lOiB2YXIoIC0tSU5URVJOQUwtLWtlbmRvLWZhYi1wYWRkaW5nLXgsIDAgKTtcbiAgICAgICAgcGFkZGluZy1ibG9jazogdmFyKCAtLUlOVEVSTkFMLS1rZW5kby1mYWItcGFkZGluZy15LCAwICk7XG4gICAgICAgIGJvcmRlci13aWR0aDogMDtcbiAgICAgICAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICAgICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICAgICAgY29sb3I6IGluaGVyaXQ7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgICAgICBmb250LWZhbWlseTogdmFyKCAtLWtlbmRvLWZhYi1mb250LWZhbWlseSwgI3ska2VuZG8tZmFiLWZvbnQtZmFtaWx5fSApO1xuICAgICAgICBmb250LXNpemU6dmFyKCAtLWtlbmRvLWZhYi1mb250LXNpemUsICN7JGtlbmRvLWZhYi1mb250LXNpemV9ICk7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiB2YXIoIC0ta2VuZG8tZmFiLWxpbmUtaGVpZ2h0LCAjeyRrZW5kby1mYWItbGluZS1oZWlnaHR9ICk7XG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgICAgICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcbiAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgICAgICBvdXRsaW5lOiBub25lO1xuXG4gICAgICAgICosXG4gICAgICAgICo6OmJlZm9yZSxcbiAgICAgICAgKjo6YWZ0ZXIge1xuICAgICAgICAgICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICAgICAgfVxuXG4gICAgICAgICY6Zm9jdXM6OmFmdGVyLFxuICAgICAgICAmLmstZm9jdXM6OmFmdGVyIHtcbiAgICAgICAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICBib3JkZXI6IG1lZGl1bSBub25lO1xuICAgICAgICAgICAgaW5zZXQ6IHZhciggLS1rZW5kby1mYWItZm9jdXMtb2Zmc2V0LCAjeyRrZW5kby1mYWItZm9jdXMtb2Zmc2V0fSApO1xuICAgICAgICAgICAgb3V0bGluZS13aWR0aDogdmFyKCAtLWtlbmRvLWZhYi1mb2N1cy1vdXRsaW5lLXdpZHRoLCAjeyRrZW5kby1mYWItZm9jdXMtb3V0bGluZS13aWR0aH0gKTtcbiAgICAgICAgICAgIG91dGxpbmUtc3R5bGU6IHZhciggLS1rZW5kby1mYWItZm9jdXMtb3V0bGluZS1zdHlsZSwgI3ska2VuZG8tZmFiLWZvY3VzLW91dGxpbmUtc3R5bGV9ICk7XG4gICAgICAgICAgICB6LWluZGV4OiAxO1xuICAgICAgICB9XG5cbiAgICAgICAgLy8gRml4IGZvciBmb2N1c2VkIEZBQiB3aXRoIGZ1bGwgcm91bmRuZXNzXG4gICAgICAgICYuay1yb3VuZGVkLWZ1bGwge1xuICAgICAgICAgICAgJjpmb2N1czo6YWZ0ZXIsXG4gICAgICAgICAgICAmLmstZm9jdXM6OmFmdGVyIHtcbiAgICAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IGluaGVyaXQ7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBGQUIgSWNvblxuICAgIC5rLWZhYi1pY29uIHtcbiAgICAgICAgcGFkZGluZy1pbmxpbmU6IHZhciggLS1rZW5kby1mYWItaWNvbi1wYWRkaW5nLXgsICN7JGtlbmRvLWZhYi1pY29uLXBhZGRpbmcteH0gKTtcbiAgICAgICAgcGFkZGluZy1ibG9jazogdmFyKCAtLWtlbmRvLWZhYi1pY29uLXBhZGRpbmcteSwgI3ska2VuZG8tZmFiLWljb24tcGFkZGluZy15fSApO1xuICAgICAgICBib3gtc2l6aW5nOiBjb250ZW50LWJveDtcbiAgICB9XG5cbiAgICAuay1pY29uLXdyYXBwZXItaG9zdDpub3QoOm9ubHktY2hpbGQpIC5rLWZhYi1pY29uLFxuICAgIC5rLWZhYi1pY29uOm5vdCg6b25seS1jaGlsZCkge1xuICAgICAgICBtYXJnaW4taW5saW5lLWVuZDogdmFyKCAtLWtlbmRvLWZhYi1pY29uLXNwYWNpbmcsICN7JGtlbmRvLWZhYi1pY29uLXNwYWNpbmd9ICk7XG4gICAgICAgIG1hcmdpbi1pbmxpbmUtc3RhcnQ6IGNhbGMoIHZhciggLS1rZW5kby1mYWItaWNvbi1zcGFjaW5nLCAjeyRrZW5kby1mYWItaWNvbi1zcGFjaW5nfSApICogLTEgKTtcbiAgICB9XG5cbiAgICAvLyBTaXplc1xuICAgIEBlYWNoICRzaXplLCAkc2l6ZS1wcm9wcyBpbiAka2VuZG8tZmFiLXNpemVzIHtcbiAgICAgICAgJF9wYWRkaW5nLXg6IG1hcC5nZXQoICRzaXplLXByb3BzLCBwYWRkaW5nLXggKTtcbiAgICAgICAgJF9wYWRkaW5nLXk6IG1hcC5nZXQoICRzaXplLXByb3BzLCBwYWRkaW5nLXkgKTtcblxuICAgICAgICAuay1mYWItI3skc2l6ZX0ge1xuICAgICAgICAgICAgLS1JTlRFUk5BTC0ta2VuZG8tZmFiLXBhZGRpbmcteDogdmFyKCAtLWtlbmRvLWZhYi0jeyRzaXplfS1wYWRkaW5nLXgsICN7JF9wYWRkaW5nLXh9ICk7XG4gICAgICAgICAgICAtLUlOVEVSTkFMLS1rZW5kby1mYWItcGFkZGluZy15OiB2YXIoIC0ta2VuZG8tZmFiLSN7JHNpemV9LXBhZGRpbmcteSwgI3skX3BhZGRpbmcteX0gKTtcbiAgICAgICAgfVxuICAgIH1cblxuXG4gICAgLy8gSXRlbXNcbiAgICAuay1mYWItaXRlbXMge1xuICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgIHBhZGRpbmctaW5saW5lOiB2YXIoIC0ta2VuZG8tZmFiLWl0ZW1zLXBhZGRpbmcteCwgI3ska2VuZG8tZmFiLWl0ZW1zLXBhZGRpbmcteH0gKTtcbiAgICAgICAgcGFkZGluZy1ibG9jazogdmFyKCAtLWtlbmRvLWZhYi1pdGVtcy1wYWRkaW5nLXksICN7JGtlbmRvLWZhYi1pdGVtcy1wYWRkaW5nLXl9ICk7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgfVxuXG4gICAgLmstZmFiLWl0ZW1zLWJvdHRvbSB7XG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgfVxuICAgIC5rLWZhYi1pdGVtcy1ib3R0b20gLmstZmFiLWl0ZW06bGFzdC1jaGlsZCB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgfVxuXG4gICAgLmstZmFiLWl0ZW1zLXRvcCB7XG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW4tcmV2ZXJzZTtcbiAgICB9XG4gICAgLmstZmFiLWl0ZW1zLXRvcCAuay1mYWItaXRlbTpmaXJzdC1jaGlsZCB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgfVxuXG4gICAgLmstZmFiLWl0ZW0ge1xuICAgICAgICBsaXN0LXN0eWxlLXR5cGU6IG5vbmU7XG4gICAgICAgIG1hcmdpbi1ibG9jay1lbmQ6IHZhciggLS1rZW5kby1mYWItaXRlbS1vZmZzZXQteSwgI3ska2VuZG8tZmFiLWl0ZW0tb2Zmc2V0LXl9ICk7XG4gICAgICAgIG91dGxpbmU6IG5vbmU7XG4gICAgICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XG4gICAgICAgIGN1cnNvcjogcG9pbnRlcjtcblxuICAgICAgICAmOmZvY3VzIC5rLWZhYi1pdGVtLXRleHQ6OmFmdGVyLFxuICAgICAgICAmOmZvY3VzIC5rLWZhYi1pdGVtLWljb246OmFmdGVyLFxuICAgICAgICAmLmstZm9jdXMgLmstZmFiLWl0ZW0tdGV4dDo6YWZ0ZXIsXG4gICAgICAgICYuay1mb2N1cyAuay1mYWItaXRlbS1pY29uOjphZnRlciB7XG4gICAgICAgICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgYm9yZGVyOiBtZWRpdW0gbm9uZTtcbiAgICAgICAgICAgIGluc2V0OiB2YXIoIC0ta2VuZG8tZmFiLWl0ZW0tZm9jdXMtb2Zmc2V0LCAjeyRrZW5kby1mYWItaXRlbS1mb2N1cy1vZmZzZXR9ICk7XG4gICAgICAgICAgICBvdXRsaW5lLXdpZHRoOiB2YXIoIC0ta2VuZG8tZmFiLWl0ZW0tZm9jdXMtb3V0bGluZS13aWR0aCwgI3ska2VuZG8tZmFiLWl0ZW0tZm9jdXMtb3V0bGluZS13aWR0aH0gKTtcbiAgICAgICAgICAgIG91dGxpbmUtc3R5bGU6IHZhciggLS1rZW5kby1mYWItaXRlbS1mb2N1cy1vdXRsaW5lLXN0eWxlLCAjeyRrZW5kby1mYWItaXRlbS1mb2N1cy1vdXRsaW5lLXN0eWxlfSApO1xuICAgICAgICAgICAgei1pbmRleDogMTtcbiAgICAgICAgfVxuXG4gICAgICAgICYuay10ZXh0LXJpZ2h0IHtcbiAgICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XG5cbiAgICAgICAgICAgIC5rLWZhYi1pdGVtLXRleHQge1xuICAgICAgICAgICAgICAgIC8vIE5lZWRlZCBmb3IgZmFiIGl0ZW0gcG9zaXRpb25pbmcgaW4gUlRMXG4gICAgICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiB2YXIoIC0ta2VuZG8tZmFiLWl0ZW0tdGV4dC1vZmZzZXQteCwgI3ska2VuZG8tZmFiLWl0ZW0tdGV4dC1vZmZzZXQteH0gKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgICYuay10ZXh0LWxlZnQge1xuICAgICAgICAgICAgZmxleC1kaXJlY3Rpb246IHJvdy1yZXZlcnNlO1xuXG4gICAgICAgICAgICAuay1mYWItaXRlbS10ZXh0IHtcbiAgICAgICAgICAgICAgICAvLyBOZWVkZWQgZm9yIGZhYiBpdGVtIHBvc2l0aW9uaW5nIGluIFJUTFxuICAgICAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiB2YXIoIC0ta2VuZG8tZmFiLWl0ZW0tdGV4dC1vZmZzZXQteCwgI3ska2VuZG8tZmFiLWl0ZW0tdGV4dC1vZmZzZXQteH0gKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5rLWZhYi1pdGVtLXRleHQge1xuICAgICAgICBwYWRkaW5nLWlubGluZTogdmFyKCAtLWtlbmRvLWZhYi1pdGVtLXRleHQtcGFkZGluZy14LCAjeyRrZW5kby1mYWItaXRlbS10ZXh0LXBhZGRpbmcteH0gKTtcbiAgICAgICAgcGFkZGluZy1ibG9jazogdmFyKCAtLWtlbmRvLWZhYi1pdGVtLXRleHQtcGFkZGluZy15LCAjeyRrZW5kby1mYWItaXRlbS10ZXh0LXBhZGRpbmcteX0gKTtcbiAgICAgICAgYm9yZGVyLXdpZHRoOiB2YXIoIC0ta2VuZG8tZmFiLWl0ZW0tdGV4dC1ib3JkZXItd2lkdGgsICN7JGtlbmRvLWZhYi1pdGVtLXRleHQtYm9yZGVyLXdpZHRofSApO1xuICAgICAgICBib3JkZXItc3R5bGU6IHZhciggLS1rZW5kby1mYWItaXRlbS10ZXh0LWJvcmRlci1zdHlsZSwgI3ska2VuZG8tZmFiLWl0ZW0tdGV4dC1ib3JkZXItc3R5bGV9ICk7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IHZhciggLS1rZW5kby1mYWItaXRlbS10ZXh0LWJvcmRlci1yYWRpdXMsICN7JGtlbmRvLWZhYi1pdGVtLXRleHQtYm9yZGVyLXJhZGl1c30gKTtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICBmb250LXNpemU6IHZhciggLS1rZW5kby1mYWItaXRlbS10ZXh0LWZvbnQtc2l6ZSwgI3ska2VuZG8tZmFiLWl0ZW0tdGV4dC1mb250LXNpemV9ICk7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiB2YXIoIC0ta2VuZG8tZmFiLWl0ZW0tdGV4dC1saW5lLWhlaWdodCwgI3ska2VuZG8tZmFiLWl0ZW0tdGV4dC1saW5lLWhlaWdodH0gKTtcbiAgICB9XG5cbiAgICAuay1mYWItaXRlbS1pY29uIHtcbiAgICAgICAgcGFkZGluZy1pbmxpbmU6IHZhciggLS1rZW5kby1mYWItaXRlbS1pY29uLXBhZGRpbmcteCwgI3ska2VuZG8tZmFiLWl0ZW0taWNvbi1wYWRkaW5nLXh9ICk7XG4gICAgICAgIHBhZGRpbmctYmxvY2s6IHZhciggLS1rZW5kby1mYWItaXRlbS1pY29uLXBhZGRpbmcteSwgI3ska2VuZG8tZmFiLWl0ZW0taWNvbi1wYWRkaW5nLXl9ICk7XG4gICAgICAgIGJvcmRlci13aWR0aDogdmFyKCAtLWtlbmRvLWZhYi1pdGVtLWljb24tYm9yZGVyLXdpZHRoLCAjeyRrZW5kby1mYWItaXRlbS1pY29uLWJvcmRlci13aWR0aH0gKTtcbiAgICAgICAgYm9yZGVyLXN0eWxlOiB2YXIoIC0ta2VuZG8tZmFiLWl0ZW0taWNvbi1ib3JkZXItc3R5bGUsICN7JGtlbmRvLWZhYi1pdGVtLWljb24tYm9yZGVyLXN0eWxlfSApO1xuICAgICAgICBib3JkZXItcmFkaXVzOiB2YXIoIC0ta2VuZG8tZmFiLWl0ZW0tYm9yZGVyLXJhZGl1cywgI3ska2VuZG8tZmFiLWl0ZW0taWNvbi1ib3JkZXItcmFkaXVzfSApO1xuICAgICAgICBib3gtc2l6aW5nOiBjb250ZW50LWJveDtcbiAgICAgICAgb3V0bGluZTogbm9uZTtcblxuICAgICAgICAmOjphZnRlciB7XG4gICAgICAgICAgICBib3JkZXItcmFkaXVzOiBpbmhlcml0O1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLmstcnRsIC5rLWZhYi1wb3B1cCxcbiAgICBbZGlyPVwicnRsXCJdIC5rLWZhYi1wb3B1cCB7XG4gICAgICAgIC5rLWZhYi1pdGVtLmstdGV4dC1sZWZ0IHtcbiAgICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gICAgICAgIH1cblxuICAgICAgICAuay1mYWItaXRlbS5rLXRleHQtcmlnaHQge1xuICAgICAgICAgICAgZmxleC1kaXJlY3Rpb246IHJvdy1yZXZlcnNlO1xuICAgICAgICB9XG4gICAgfVxuXG59XG4iLCJAdXNlIFwic2FzczptYXBcIjtcbkB1c2UgXCIuLi9jb3JlL19pbmRleC5zY3NzXCIgYXMgKjtcbkB1c2UgXCIuL192YXJpYWJsZXMuc2Nzc1wiIGFzICo7XG5cbkBtaXhpbiBrZW5kby1mYWItLXRoZW1lKCkge1xuXG4gICAgLmstZmFiIHtcbiAgICAgICAgLS1JTlRFUk5BTC0ta2VuZG8tZmFiLXRleHQ6IHZhciggLS1rZW5kby1mYWItdGV4dCApO1xuICAgICAgICAtLUlOVEVSTkFMLS1rZW5kby1mYWItYmc6IHZhciggLS1rZW5kby1mYWItYmcgKTtcbiAgICAgICAgLS1JTlRFUk5BTC0ta2VuZG8tZmFiLWJvcmRlcjogdmFyKCAtLWtlbmRvLWZhYi1ib3JkZXIgKTtcbiAgICAgICAgLS1JTlRFUk5BTC0ta2VuZG8tZmFiLWdyYWRpZW50OiB2YXIoIC0ta2VuZG8tZmFiLWdyYWRpZW50ICk7XG4gICAgICAgIC0tSU5URVJOQUwtLWtlbmRvLWZhYi1zaGFkb3c6IHZhciggLS1rZW5kby1mYWItc2hhZG93ICk7XG5cbiAgICAgICAgYm9yZGVyLWNvbG9yOiB2YXIoIC0tSU5URVJOQUwtLWtlbmRvLWZhYi1ib3JkZXIsIGluaXRpYWwgKTtcbiAgICAgICAgY29sb3I6IHZhciggLS1JTlRFUk5BTC0ta2VuZG8tZmFiLXRleHQsIGluaGVyaXQgKTtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKCAtLUlOVEVSTkFMLS1rZW5kby1mYWItYmcsIGluaXRpYWwgKTtcbiAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogbGluZWFyLWdyYWRpZW50KFxuICAgICAgICAgICAgdmFyKCAtLUlOVEVSTkFMLS1rZW5kby1mYWItZ3JhZGllbnQsIHRyYW5zcGFyZW50LCB0cmFuc3BhcmVudCApXG4gICAgICAgICk7XG4gICAgICAgIGJveC1zaGFkb3c6IHZhciggLS1JTlRFUk5BTC0ta2VuZG8tZmFiLXNoYWRvdywgbm9uZSApO1xuXG4gICAgICAgICY6aG92ZXIsXG4gICAgICAgICYuay1ob3ZlciB7XG4gICAgICAgICAgICAtLUlOVEVSTkFMLS1rZW5kby1mYWItdGV4dDogdmFyKCAtLWtlbmRvLWZhYi1ob3Zlci10ZXh0ICk7XG4gICAgICAgICAgICAtLUlOVEVSTkFMLS1rZW5kby1mYWItYmc6IHZhciggLS1rZW5kby1mYWItaG92ZXItYmcgKTtcbiAgICAgICAgICAgIC0tSU5URVJOQUwtLWtlbmRvLWZhYi1ib3JkZXI6IHZhciggLS1rZW5kby1mYWItaG92ZXItYm9yZGVyICk7XG4gICAgICAgIH1cblxuICAgICAgICAmOmZvY3VzLFxuICAgICAgICAmLmstZm9jdXMge1xuICAgICAgICAgICAgLS1JTlRFUk5BTC0ta2VuZG8tZmFiLXRleHQ6IHZhciggLS1rZW5kby1mYWItZm9jdXMtdGV4dCApO1xuICAgICAgICAgICAgLS1JTlRFUk5BTC0ta2VuZG8tZmFiLWJnOiB2YXIoIC0ta2VuZG8tZmFiLWZvY3VzLWJnICk7XG4gICAgICAgICAgICAtLUlOVEVSTkFMLS1rZW5kby1mYWItYm9yZGVyOiB2YXIoIC0ta2VuZG8tZmFiLWZvY3VzLWJvcmRlciApO1xuICAgICAgICB9XG4gICAgICAgICY6Zm9jdXM6OmFmdGVyLFxuICAgICAgICAmLmstZm9jdXM6OmFmdGVyIHtcbiAgICAgICAgICAgIG91dGxpbmUtY29sb3I6IHZhciggLS1rZW5kby1mYWItZm9jdXMtb3V0bGluZSwgaW5pdGlhbCApO1xuICAgICAgICB9XG5cbiAgICAgICAgJjphY3RpdmUsXG4gICAgICAgICYuay1hY3RpdmUge1xuICAgICAgICAgICAgLS1JTlRFUk5BTC0ta2VuZG8tZmFiLXRleHQ6IHZhciggLS1rZW5kby1mYWItYWN0aXZlLXRleHQgKTtcbiAgICAgICAgICAgIC0tSU5URVJOQUwtLWtlbmRvLWZhYi1iZzogdmFyKCAtLWtlbmRvLWZhYi1hY3RpdmUtYmcgKTtcbiAgICAgICAgICAgIC0tSU5URVJOQUwtLWtlbmRvLWZhYi1ib3JkZXI6IHZhciggLS1rZW5kby1mYWItYWN0aXZlLWJvcmRlciApO1xuICAgICAgICB9XG5cbiAgICAgICAgJi5rLXNlbGVjdGVkIHtcbiAgICAgICAgICAgIC0tSU5URVJOQUwtLWtlbmRvLWZhYi10ZXh0OiB2YXIoIC0ta2VuZG8tZmFiLXNlbGVjdGVkLXRleHQgKTtcbiAgICAgICAgICAgIC0tSU5URVJOQUwtLWtlbmRvLWZhYi1iZzogdmFyKCAtLWtlbmRvLWZhYi1zZWxlY3RlZC1iZyApO1xuICAgICAgICAgICAgLS1JTlRFUk5BTC0ta2VuZG8tZmFiLWJvcmRlcjogdmFyKCAtLWtlbmRvLWZhYi1zZWxlY3RlZC1ib3JkZXIgKTtcbiAgICAgICAgfVxuXG4gICAgICAgICY6ZGlzYWJsZWQsXG4gICAgICAgICYuay1kaXNhYmxlZCB7XG4gICAgICAgICAgICAtLUlOVEVSTkFMLS1rZW5kby1mYWItdGV4dDogdmFyKCAtLWtlbmRvLWZhYi1kaXNhYmxlZC10ZXh0ICk7XG4gICAgICAgICAgICAtLUlOVEVSTkFMLS1rZW5kby1mYWItYmc6IHZhciggLS1rZW5kby1mYWItZGlzYWJsZWQtYmcgKTtcbiAgICAgICAgICAgIC0tSU5URVJOQUwtLWtlbmRvLWZhYi1ib3JkZXI6IHZhciggLS1rZW5kby1mYWItZGlzYWJsZWQtYm9yZGVyICk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBUaGVtZSBjb2xvcnNcbiAgICBAZWFjaCAkZmlsbC1tb2RlLCAkdGhlbWUtY29sb3JzIGluICRrZW5kby1mYWItdGhlbWUtY29sb3JzIHtcbiAgICAgICAgQGVhY2ggJHRoZW1lLWNvbG9yLCAkY29sb3ItcHJvcHMgaW4gJHRoZW1lLWNvbG9ycyB7XG4gICAgICAgICAgICAkX3RleHQtY29sb3I6IG1hcC5nZXQoICRjb2xvci1wcm9wcywgdGV4dCApO1xuICAgICAgICAgICAgJF9iZzogbWFwLmdldCggJGNvbG9yLXByb3BzLCBiZyApO1xuICAgICAgICAgICAgJF9ib3JkZXItY29sb3I6IG1hcC5nZXQoICRjb2xvci1wcm9wcywgYm9yZGVyICk7XG5cbiAgICAgICAgICAgICRfZm9jdXMtdGV4dDogbWFwLmdldCggJGNvbG9yLXByb3BzLCBmb2N1cy10ZXh0ICk7XG4gICAgICAgICAgICAkX2ZvY3VzLWJnOiBtYXAuZ2V0KCAkY29sb3ItcHJvcHMsIGZvY3VzLWJnICk7XG4gICAgICAgICAgICAkX2ZvY3VzLWJvcmRlcjogbWFwLmdldCggJGNvbG9yLXByb3BzLCBmb2N1cy1ib3JkZXIgKTtcbiAgICAgICAgICAgICRfZm9jdXMtb3V0bGluZTogbWFwLmdldCggJGNvbG9yLXByb3BzLCBmb2N1cy1vdXRsaW5lICk7XG5cbiAgICAgICAgICAgICRfaG92ZXItdGV4dDogbWFwLmdldCggJGNvbG9yLXByb3BzLCBob3Zlci10ZXh0ICk7XG4gICAgICAgICAgICAkX2hvdmVyLWJnOiBtYXAuZ2V0KCAkY29sb3ItcHJvcHMsIGhvdmVyLWJnICk7XG4gICAgICAgICAgICAkX2hvdmVyLWJvcmRlcjogbWFwLmdldCggJGNvbG9yLXByb3BzLCBob3Zlci1ib3JkZXIgKTtcblxuICAgICAgICAgICAgJF9hY3RpdmUtdGV4dDogbWFwLmdldCggJGNvbG9yLXByb3BzLCBhY3RpdmUtdGV4dCApO1xuICAgICAgICAgICAgJF9hY3RpdmUtYmc6IG1hcC5nZXQoICRjb2xvci1wcm9wcywgYWN0aXZlLWJnICk7XG4gICAgICAgICAgICAkX2FjdGl2ZS1ib3JkZXI6IG1hcC5nZXQoICRjb2xvci1wcm9wcywgYWN0aXZlLWJvcmRlciApO1xuXG4gICAgICAgICAgICAkX2Rpc2FibGVkLXRleHQ6IG1hcC5nZXQoICRjb2xvci1wcm9wcywgZGlzYWJsZWQtdGV4dCApO1xuICAgICAgICAgICAgJF9kaXNhYmxlZC1iZzogbWFwLmdldCggJGNvbG9yLXByb3BzLCBkaXNhYmxlZC1iZyApO1xuICAgICAgICAgICAgJF9kaXNhYmxlZC1ib3JkZXI6IG1hcC5nZXQoICRjb2xvci1wcm9wcywgZGlzYWJsZWQtYm9yZGVyICk7XG5cbiAgICAgICAgICAgIC5rLWZhYi0jeyRmaWxsLW1vZGV9LSN7JHRoZW1lLWNvbG9yfSB7XG4gICAgICAgICAgICAgICAgLS1rZW5kby1mYWItdGV4dDogdmFyKCAtLWtlbmRvLWZhYi0jeyRmaWxsLW1vZGV9LSN7JHRoZW1lLWNvbG9yfS10ZXh0LCAjeyRfdGV4dC1jb2xvcn0gKTtcbiAgICAgICAgICAgICAgICAtLWtlbmRvLWZhYi1iZzogdmFyKCAtLWtlbmRvLWZhYi0jeyRmaWxsLW1vZGV9LSN7JHRoZW1lLWNvbG9yfS1iZywgI3skX2JnfSApO1xuICAgICAgICAgICAgICAgIC0ta2VuZG8tZmFiLWJvcmRlcjogdmFyKCAtLWtlbmRvLWZhYi0jeyRmaWxsLW1vZGV9LSN7JHRoZW1lLWNvbG9yfS1ib3JkZXIsICN7JF9ib3JkZXItY29sb3J9ICk7XG5cbiAgICAgICAgICAgICAgICAtLWtlbmRvLWZhYi1ob3Zlci10ZXh0OiB2YXIoIC0ta2VuZG8tZmFiLSN7JGZpbGwtbW9kZX0tI3skdGhlbWUtY29sb3J9LWhvdmVyLXRleHQsICN7JF9ob3Zlci10ZXh0fSApO1xuICAgICAgICAgICAgICAgIC0ta2VuZG8tZmFiLWhvdmVyLWJnOiB2YXIoIC0ta2VuZG8tZmFiLSN7JGZpbGwtbW9kZX0tI3skdGhlbWUtY29sb3J9LWhvdmVyLWJnLCAjeyRfaG92ZXItYmd9ICk7XG4gICAgICAgICAgICAgICAgLS1rZW5kby1mYWItaG92ZXItYm9yZGVyOiB2YXIoIC0ta2VuZG8tZmFiLSN7JGZpbGwtbW9kZX0tI3skdGhlbWUtY29sb3J9LWhvdmVyLWJvcmRlciwgI3skX2hvdmVyLWJvcmRlcn0gKTtcblxuICAgICAgICAgICAgICAgIC0ta2VuZG8tZmFiLWZvY3VzLXRleHQ6IHZhciggLS1rZW5kby1mYWItI3skZmlsbC1tb2RlfS0jeyR0aGVtZS1jb2xvcn0tZm9jdXMtdGV4dCwgI3skX2ZvY3VzLXRleHR9ICk7XG4gICAgICAgICAgICAgICAgLS1rZW5kby1mYWItZm9jdXMtYmc6IHZhciggLS1rZW5kby1mYWItI3skZmlsbC1tb2RlfS0jeyR0aGVtZS1jb2xvcn0tZm9jdXMtYmcsICN7JF9mb2N1cy1iZ30gKTtcbiAgICAgICAgICAgICAgICAtLWtlbmRvLWZhYi1mb2N1cy1ib3JkZXI6IHZhciggLS1rZW5kby1mYWItI3skZmlsbC1tb2RlfS0jeyR0aGVtZS1jb2xvcn0tZm9jdXMtYm9yZGVyLCAjeyRfZm9jdXMtYm9yZGVyfSApO1xuICAgICAgICAgICAgICAgIC0ta2VuZG8tZmFiLWZvY3VzLW91dGxpbmU6IHZhciggLS1rZW5kby1mYWItI3skZmlsbC1tb2RlfS0jeyR0aGVtZS1jb2xvcn0tZm9jdXMtb3V0bGluZSwgI3skX2ZvY3VzLW91dGxpbmV9ICk7XG5cbiAgICAgICAgICAgICAgICAtLWtlbmRvLWZhYi1hY3RpdmUtdGV4dDogdmFyKCAtLWtlbmRvLWZhYi0jeyRmaWxsLW1vZGV9LSN7JHRoZW1lLWNvbG9yfS1hY3RpdmUtdGV4dCwgI3skX2FjdGl2ZS10ZXh0fSApO1xuICAgICAgICAgICAgICAgIC0ta2VuZG8tZmFiLWFjdGl2ZS1iZzogdmFyKCAtLWtlbmRvLWZhYi0jeyRmaWxsLW1vZGV9LSN7JHRoZW1lLWNvbG9yfS1hY3RpdmUtYmcsICN7JF9hY3RpdmUtYmd9ICk7XG4gICAgICAgICAgICAgICAgLS1rZW5kby1mYWItYWN0aXZlLWJvcmRlcjogdmFyKCAtLWtlbmRvLWZhYi0jeyRmaWxsLW1vZGV9LSN7JHRoZW1lLWNvbG9yfS1hY3RpdmUtYm9yZGVyLCAjeyRfYWN0aXZlLWJvcmRlcn0gKTtcblxuICAgICAgICAgICAgICAgIC0ta2VuZG8tZmFiLXNlbGVjdGVkLXRleHQ6IHZhciggLS1rZW5kby1mYWItI3skZmlsbC1tb2RlfS0jeyR0aGVtZS1jb2xvcn0tc2VsZWN0ZWQtdGV4dCwgI3skX2FjdGl2ZS10ZXh0fSApO1xuICAgICAgICAgICAgICAgIC0ta2VuZG8tZmFiLXNlbGVjdGVkLWJnOiB2YXIoIC0ta2VuZG8tZmFiLSN7JGZpbGwtbW9kZX0tI3skdGhlbWUtY29sb3J9LXNlbGVjdGVkLWJnLCAjeyRfYWN0aXZlLWJnfSApO1xuICAgICAgICAgICAgICAgIC0ta2VuZG8tZmFiLXNlbGVjdGVkLWJvcmRlcjogdmFyKCAtLWtlbmRvLWZhYi0jeyRmaWxsLW1vZGV9LSN7JHRoZW1lLWNvbG9yfS1zZWxlY3RlZC1ib3JkZXIsICN7JF9hY3RpdmUtYm9yZGVyfSApO1xuXG4gICAgICAgICAgICAgICAgLS1rZW5kby1mYWItZGlzYWJsZWQtdGV4dDogdmFyKCAtLWtlbmRvLWZhYi0jeyRmaWxsLW1vZGV9LSN7JHRoZW1lLWNvbG9yfS1kaXNhYmxlZC10ZXh0LCAjeyRfZGlzYWJsZWQtdGV4dH0gKTtcbiAgICAgICAgICAgICAgICAtLWtlbmRvLWZhYi1kaXNhYmxlZC1iZzogdmFyKCAtLWtlbmRvLWZhYi0jeyRmaWxsLW1vZGV9LSN7JHRoZW1lLWNvbG9yfS1kaXNhYmxlZC1iZywgI3skX2Rpc2FibGVkLWJnfSApO1xuICAgICAgICAgICAgICAgIC0ta2VuZG8tZmFiLWRpc2FibGVkLWJvcmRlcjogdmFyKCAtLWtlbmRvLWZhYi0jeyRmaWxsLW1vZGV9LSN7JHRoZW1lLWNvbG9yfS1kaXNhYmxlZC1ib3JkZXIsICN7JF9kaXNhYmxlZC1ib3JkZXJ9ICk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBJdGVtc1xuICAgIC5rLWZhYi1pdGVtLXRleHQsXG4gICAgLmstZmFiLWl0ZW0taWNvbiB7XG4gICAgICAgIC0tSU5URVJOQUwtLWtlbmRvLWZhYi1pdGVtLXRleHQ6IHZhciggLS1rZW5kby1mYWItaXRlbS10ZXh0LCAjeyRrZW5kby1mYWItaXRlbS10ZXh0fSApO1xuICAgICAgICAtLUlOVEVSTkFMLS1rZW5kby1mYWItaXRlbS1iZzogdmFyKCAtLWtlbmRvLWZhYi1pdGVtLWJnLCAjeyRrZW5kby1mYWItaXRlbS1iZ30gKTtcbiAgICAgICAgLS1JTlRFUk5BTC0ta2VuZG8tZmFiLWl0ZW0tYm9yZGVyOiB2YXIoIC0ta2VuZG8tZmFiLWl0ZW0tYm9yZGVyLCAjeyRrZW5kby1mYWItaXRlbS1ib3JkZXJ9ICk7XG5cbiAgICAgICAgQGluY2x1ZGUgZmlsbChcbiAgICAgICAgICAgIHZhciggLS1JTlRFUk5BTC0ta2VuZG8tZmFiLWl0ZW0tdGV4dCwgaW5oZXJpdCApLFxuICAgICAgICAgICAgdmFyKCAtLUlOVEVSTkFMLS1rZW5kby1mYWItaXRlbS1iZywgdHJhbnNwYXJlbnQgKSxcbiAgICAgICAgICAgIHZhciggLS1JTlRFUk5BTC0ta2VuZG8tZmFiLWl0ZW0tYm9yZGVyLCBpbmhlcml0IClcbiAgICAgICAgKTtcbiAgICB9XG5cbiAgICAuay1mYWItaXRlbSB7XG5cbiAgICAgICAgLy8gSG92ZXJcbiAgICAgICAgJjpob3ZlcixcbiAgICAgICAgJi5rLWhvdmVyIHtcbiAgICAgICAgICAgIC5rLWZhYi1pdGVtLWljb24ge1xuICAgICAgICAgICAgICAgIC0tSU5URVJOQUwtLWtlbmRvLWZhYi1pdGVtLXRleHQ6IHZhciggLS1rZW5kby1mYWItaXRlbS1pY29uLWhvdmVyLXRleHQsICN7JGtlbmRvLWZhYi1pdGVtLWhvdmVyLXRleHR9ICk7XG4gICAgICAgICAgICAgICAgLS1JTlRFUk5BTC0ta2VuZG8tZmFiLWl0ZW0tYmc6IHZhciggLS1rZW5kby1mYWItaXRlbS1pY29uLWhvdmVyLWJnLCAjeyRrZW5kby1mYWItaXRlbS1ob3Zlci1iZ30gKTtcbiAgICAgICAgICAgICAgICAtLUlOVEVSTkFMLS1rZW5kby1mYWItaXRlbS1ib3JkZXI6IHZhciggLS1rZW5kby1mYWItaXRlbS1pY29uLWhvdmVyLWJvcmRlciwgI3ska2VuZG8tZmFiLWl0ZW0taG92ZXItYm9yZGVyfSApO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAuay1mYWItaXRlbS10ZXh0IHtcbiAgICAgICAgICAgICAgICAtLUlOVEVSTkFMLS1rZW5kby1mYWItaXRlbS10ZXh0OiB2YXIoIC0ta2VuZG8tZmFiLWl0ZW0taG92ZXItdGV4dCwgI3ska2VuZG8tZmFiLWl0ZW0taG92ZXItdGV4dH0gKTtcbiAgICAgICAgICAgICAgICAtLUlOVEVSTkFMLS1rZW5kby1mYWItaXRlbS1iZzogdmFyKCAtLWtlbmRvLWZhYi1pdGVtLWhvdmVyLWJnLCAjeyRrZW5kby1mYWItaXRlbS1ob3Zlci1iZ30gKTtcbiAgICAgICAgICAgICAgICAtLUlOVEVSTkFMLS1rZW5kby1mYWItaXRlbS1ib3JkZXI6IHZhciggLS1rZW5kby1mYWItaXRlbS1ob3Zlci1ib3JkZXIsICN7JGtlbmRvLWZhYi1pdGVtLWhvdmVyLWJvcmRlcn0gKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC8vIEZvY3VzXG4gICAgICAgICY6Zm9jdXMsXG4gICAgICAgICYuay1mb2N1cyB7XG4gICAgICAgICAgICAuay1mYWItaXRlbS1pY29uIHtcbiAgICAgICAgICAgICAgICAtLUlOVEVSTkFMLS1rZW5kby1mYWItaXRlbS10ZXh0OiB2YXIoIC0ta2VuZG8tZmFiLWl0ZW0taWNvbi1mb2N1cy10ZXh0LCAjeyRrZW5kby1mYWItaXRlbS1mb2N1cy10ZXh0fSApO1xuICAgICAgICAgICAgICAgIC0tSU5URVJOQUwtLWtlbmRvLWZhYi1pdGVtLWJnOiB2YXIoIC0ta2VuZG8tZmFiLWl0ZW0taWNvbi1mb2N1cy1iZywgI3ska2VuZG8tZmFiLWl0ZW0tZm9jdXMtYmd9ICk7XG4gICAgICAgICAgICAgICAgLS1JTlRFUk5BTC0ta2VuZG8tZmFiLWl0ZW0tYm9yZGVyOiB2YXIoIC0ta2VuZG8tZmFiLWl0ZW0taWNvbi1mb2N1cy1ib3JkZXIsICN7JGtlbmRvLWZhYi1pdGVtLWZvY3VzLWJvcmRlcn0gKTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLmstZmFiLWl0ZW0tdGV4dCB7XG4gICAgICAgICAgICAgICAgLS1JTlRFUk5BTC0ta2VuZG8tZmFiLWl0ZW0tdGV4dDogdmFyKCAtLWtlbmRvLWZhYi1pdGVtLWZvY3VzLXRleHQsICN7JGtlbmRvLWZhYi1pdGVtLWZvY3VzLXRleHR9ICk7XG4gICAgICAgICAgICAgICAgLS1JTlRFUk5BTC0ta2VuZG8tZmFiLWl0ZW0tYmc6IHZhciggLS1rZW5kby1mYWItaXRlbS1mb2N1cy1iZywgI3ska2VuZG8tZmFiLWl0ZW0tZm9jdXMtYmd9ICk7XG4gICAgICAgICAgICAgICAgLS1JTlRFUk5BTC0ta2VuZG8tZmFiLWl0ZW0tYm9yZGVyOiB2YXIoIC0ta2VuZG8tZmFiLWl0ZW0tZm9jdXMtYm9yZGVyLCAjeyRrZW5kby1mYWItaXRlbS1mb2N1cy1ib3JkZXJ9ICk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAvLyBBY3RpdmVcbiAgICAgICAgJjphY3RpdmUsXG4gICAgICAgICYuay1hY3RpdmUge1xuICAgICAgICAgICAgLmstZmFiLWl0ZW0taWNvbiB7XG4gICAgICAgICAgICAgICAgLS1JTlRFUk5BTC0ta2VuZG8tZmFiLWl0ZW0tdGV4dDogdmFyKCAtLWtlbmRvLWZhYi1pdGVtLWljb24tYWN0aXZlLXRleHQsICN7JGtlbmRvLWZhYi1pdGVtLWFjdGl2ZS10ZXh0fSApO1xuICAgICAgICAgICAgICAgIC0tSU5URVJOQUwtLWtlbmRvLWZhYi1pdGVtLWJnOiB2YXIoIC0ta2VuZG8tZmFiLWl0ZW0taWNvbi1hY3RpdmUtYmcsICN7JGtlbmRvLWZhYi1pdGVtLWFjdGl2ZS1iZ30gKTtcbiAgICAgICAgICAgICAgICAtLUlOVEVSTkFMLS1rZW5kby1mYWItaXRlbS1ib3JkZXI6IHZhciggLS1rZW5kby1mYWItaXRlbS1pY29uLWFjdGl2ZS1ib3JkZXIsICN7JGtlbmRvLWZhYi1pdGVtLWFjdGl2ZS1ib3JkZXJ9ICk7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC5rLWZhYi1pdGVtLXRleHQge1xuICAgICAgICAgICAgICAgIC0tSU5URVJOQUwtLWtlbmRvLWZhYi1pdGVtLXRleHQ6IHZhciggLS1rZW5kby1mYWItaXRlbS1hY3RpdmUtdGV4dCwgI3ska2VuZG8tZmFiLWl0ZW0tYWN0aXZlLXRleHR9ICk7XG4gICAgICAgICAgICAgICAgLS1JTlRFUk5BTC0ta2VuZG8tZmFiLWl0ZW0tYmc6IHZhciggLS1rZW5kby1mYWItaXRlbS1hY3RpdmUtYmcsICN7JGtlbmRvLWZhYi1pdGVtLWFjdGl2ZS1iZ30gKTtcbiAgICAgICAgICAgICAgICAtLUlOVEVSTkFMLS1rZW5kby1mYWItaXRlbS1ib3JkZXI6IHZhciggLS1rZW5kby1mYWItaXRlbS1hY3RpdmUtYm9yZGVyLCAjeyRrZW5kby1mYWItaXRlbS1hY3RpdmUtYm9yZGVyfSApO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLy8gRGlzYWJsZWRcbiAgICAgICAgJjpkaXNhYmxlZCxcbiAgICAgICAgJi5rLWRpc2FibGVkIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgICAgICB9XG5cbiAgICAgICAgJjpkaXNhYmxlZCAuay1mYWItaXRlbS1pY29uLFxuICAgICAgICAmLmstZGlzYWJsZWQgLmstZmFiLWl0ZW0taWNvbixcbiAgICAgICAgJjpkaXNhYmxlZCAuay1mYWItaXRlbS10ZXh0LFxuICAgICAgICAmLmstZGlzYWJsZWQgLmstZmFiLWl0ZW0tdGV4dCB7XG4gICAgICAgICAgICBAaW5jbHVkZSBkaXNhYmxlZChcbiAgICAgICAgICAgICAgICB2YXIoIC0ta2VuZG8tZGlzYWJsZWQtdGV4dCwgaW5oZXJpdCApLFxuICAgICAgICAgICAgICAgIHZhciggLS1rZW5kby1kaXNhYmxlZC1iZywgaW5oZXJpdCApLFxuICAgICAgICAgICAgICAgIHZhciggLS1rZW5kby1kaXNhYmxlZC1ib3JkZXIsIGluaGVyaXQgKVxuICAgICAgICAgICAgKTtcbiAgICAgICAgfVxuXG4gICAgfVxuXG4gICAgLy8gUG9wdXBcbiAgICAuay1mYWItcG9wdXAge1xuICAgICAgICBAaW5jbHVkZSBib3gtc2hhZG93KCBub25lICk7XG4gICAgfVxuXG59XG4iLCJAdXNlIFwiLi4vY29yZS9faW5kZXguc2Nzc1wiIGFzICo7XG5AdXNlIFwiLi9fdmFyaWFibGVzLnNjc3NcIiBhcyAqO1xuXG5AbWl4aW4ga2VuZG8td2luZG93LS1sYXlvdXQoKSB7XG5cbiAgICAuay13aW5kb3cge1xuICAgICAgICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKCB2YXIoIC0ta2VuZG8td2luZG93LWJvcmRlci1yYWRpdXMsICN7JGtlbmRvLXdpbmRvdy1ib3JkZXItcmFkaXVzfSApICk7XG4gICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgIGJvcmRlci13aWR0aDogdmFyKCAtLWtlbmRvLXdpbmRvdy1ib3JkZXItd2lkdGgsICN7JGtlbmRvLXdpbmRvdy1ib3JkZXItd2lkdGh9ICk7XG4gICAgICAgIGJvcmRlci1zdHlsZTogc29saWQ7XG4gICAgICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgICAgIG91dGxpbmU6IDA7XG4gICAgICAgIGZvbnQtZmFtaWx5OiB2YXIoIC0ta2VuZG8td2luZG93LWZvbnQtZmFtaWx5LCAjeyRrZW5kby13aW5kb3ctZm9udC1mYW1pbHl9ICk7XG4gICAgICAgIGZvbnQtc2l6ZTogdmFyKCAtLWtlbmRvLXdpbmRvdy1mb250LXNpemUsICN7JGtlbmRvLXdpbmRvdy1mb250LXNpemV9ICk7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiB2YXIoIC0ta2VuZG8td2luZG93LWxpbmUtaGVpZ2h0LCAjeyRrZW5kby13aW5kb3ctbGluZS1oZWlnaHR9ICk7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHotaW5kZXg6IDEwMDAyO1xuICAgICAgICAtd2Via2l0LXRvdWNoLWNhbGxvdXQ6IG5vbmU7XG4gICAgICAgIC13ZWJraXQtdGFwLWhpZ2hsaWdodC1jb2xvcjogJGtlbmRvLWNvbG9yLXJnYmEtdHJhbnNwYXJlbnQ7XG4gICAgfVxuXG4gICAgLmstd2luZG93Lmstd2luZG93LW1heGltaXplZCB7XG4gICAgICAgIG1heC13aWR0aDogMTAwdnc7XG4gICAgICAgIG1heC1oZWlnaHQ6IDEwMHZoO1xuICAgICAgICBib3gtc2hhZG93OiBub25lO1xuICAgIH1cblxuICAgIC8vIFdpbmRvdyBzaXplc1xuICAgIEBlYWNoICRzaXplLCAka2VuZG8td2lkdGggaW4gJGtlbmRvLXdpbmRvdy1zaXplcyB7XG4gICAgICAgIC5rLXdpbmRvdy0jeyRzaXplfSB7IHdpZHRoOiAka2VuZG8td2lkdGg7IH1cbiAgICB9XG5cblxuICAgIC8vIFRpdGxlIGJhclxuICAgIC5rLXdpbmRvdy10aXRsZWJhciB7XG4gICAgICAgIEBpbmNsdWRlIGJvcmRlci10b3AtcmFkaXVzKCB2YXIoIC0ta2VuZG8td2luZG93LWJvcmRlci1yYWRpdXMsICN7JGtlbmRvLXdpbmRvdy1ib3JkZXItcmFkaXVzfSApICk7XG4gICAgICAgIHBhZGRpbmctaW5saW5lOiB2YXIoIC0ta2VuZG8td2luZG93LXRpdGxlYmFyLXBhZGRpbmcteCwgI3ska2VuZG8td2luZG93LXRpdGxlYmFyLXBhZGRpbmcteH0gKTtcbiAgICAgICAgcGFkZGluZy1ibG9jazogdmFyKCAtLWtlbmRvLXdpbmRvdy10aXRsZWJhci1wYWRkaW5nLXksICN7JGtlbmRvLXdpbmRvdy10aXRsZWJhci1wYWRkaW5nLXl9ICk7XG4gICAgICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gICAgICAgIGZsZXgtc2hyaW5rOiAwO1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIH1cblxuICAgIC8vIFRpdGxlIGJhciB0aXRsZSB0ZXh0XG4gICAgLmstd2luZG93LXRpdGxlIHtcbiAgICAgICAgcGFkZGluZy1ibG9jazogLjVlbTtcbiAgICAgICAgcGFkZGluZy1pbmxpbmU6IDA7XG4gICAgICAgIG1hcmdpbi1ibG9jazogLS41ZW07XG4gICAgICAgIG1hcmdpbi1pbmxpbmU6IDA7XG4gICAgICAgIGZvbnQtc2l6ZTogdmFyKCAtLWtlbmRvLXdpbmRvdy10aXRsZS1mb250LXNpemUsICN7JGtlbmRvLXdpbmRvdy10aXRsZS1mb250LXNpemV9ICk7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiB2YXIoIC0ta2VuZG8td2luZG93LXRpdGxlLWxpbmUtaGVpZ2h0LCAjeyRrZW5kby13aW5kb3ctdGl0bGUtbGluZS1oZWlnaHR9ICk7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiB2YXIoIC0ta2VuZG8td2luZG93LXRpdGxlLWZvbnQtd2VpZ2h0LCAjeyRrZW5kby13aW5kb3ctdGl0bGUtZm9udC13ZWlnaHR9ICk7XG4gICAgICAgIHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xuICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgICAgICBjdXJzb3I6IGRlZmF1bHQ7XG4gICAgICAgIGZsZXg6IDE7XG5cbiAgICAgICAgJjplbXB0eTo6YmVmb3JlIHtcbiAgICAgICAgICAgIGNvbnRlbnQ6IFwiXFwyMDBiXCI7XG4gICAgICAgIH1cbiAgICB9XG5cblxuICAgIC8vIEFjdGlvbnNcbiAgICAuay13aW5kb3ctdGl0bGViYXItYWN0aW9ucyB7XG4gICAgICAgIG1hcmdpbi1ibG9jazogLTVlbTtcbiAgICAgICAgbWFyZ2luLWlubGluZTogMDtcbiAgICAgICAgbWFyZ2luLWlubGluZS1lbmQ6IGNhbGMoICN7JGtlbmRvLXdpbmRvdy10aXRsZWJhci1wYWRkaW5nLXl9IC0gI3ska2VuZG8td2luZG93LXRpdGxlYmFyLXBhZGRpbmcteH0gKTtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDE7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGdhcDogdmFyKCAtLWtlbmRvLXdpbmRvdy1hY3Rpb25zLWdhcCwgI3ska2VuZG8td2luZG93LWFjdGlvbnMtZ2FwfSApO1xuICAgICAgICBmbGV4LWZsb3c6IHJvdyBub3dyYXA7XG4gICAgICAgIGZsZXgtc2hyaW5rOiAwO1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogdG9wO1xuICAgIH1cbiAgICAuay13aW5kb3ctdGl0bGViYXItYWN0aW9uIHtcbiAgICAgICAgZmxleC1zaHJpbms6IDA7XG4gICAgICAgIG9wYWNpdHk6IHZhciggLS1rZW5kby13aW5kb3ctYWN0aW9uLW9wYWNpdHksICN7JGtlbmRvLXdpbmRvdy1hY3Rpb24tb3BhY2l0eX0gKTtcblxuICAgICAgICAmOmhvdmVyLFxuICAgICAgICAmLmstaG92ZXIge1xuICAgICAgICAgICAgb3BhY2l0eTogdmFyKCAtLWtlbmRvLXdpbmRvdy1hY3Rpb24taG92ZXItb3BhY2l0eSwgI3ska2VuZG8td2luZG93LWFjdGlvbi1ob3Zlci1vcGFjaXR5fSApO1xuICAgICAgICB9XG4gICAgfVxuXG5cbiAgICAvLyBDb250ZW50XG4gICAgLmstd2luZG93LWNvbnRlbnQsXG4gICAgLmstcHJvbXB0LWNvbnRhaW5lciB7XG4gICAgICAgIHBhZGRpbmctaW5saW5lOiB2YXIoIC0ta2VuZG8td2luZG93LWlubmVyLXBhZGRpbmcteCwgI3ska2VuZG8td2luZG93LWlubmVyLXBhZGRpbmcteH0gKTtcbiAgICAgICAgcGFkZGluZy1ibG9jazogdmFyKCAtLWtlbmRvLXdpbmRvdy1pbm5lci1wYWRkaW5nLXksICN7JGtlbmRvLXdpbmRvdy1pbm5lci1wYWRkaW5nLXl9ICk7XG4gICAgICAgIGJvcmRlci13aWR0aDogMDtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiBpbmhlcml0O1xuICAgICAgICBjb2xvcjogaW5oZXJpdDtcbiAgICAgICAgYmFja2dyb3VuZDogbm9uZTtcbiAgICAgICAgb3V0bGluZTogMDtcbiAgICAgICAgb3ZlcmZsb3c6IGF1dG87XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgZmxleDogMSAxIGF1dG87XG4gICAgfVxuXG4gICAgLmstd2luZG93LWNvbnRlbnQgKyAuay1wcm9tcHQtY29udGFpbmVyIHtcbiAgICAgICAgbWFyZ2luLWJsb2NrLXN0YXJ0OiBjYWxjKCAtMSAqIHZhciggLS1rZW5kby13aW5kb3ctaW5uZXItcGFkZGluZy15LCAjeyRrZW5kby13aW5kb3ctaW5uZXItcGFkZGluZy15fSApIC8gMiApO1xuICAgIH1cblxuICAgIC5rLXdpbmRvdy1pZnJhbWVjb250ZW50IHtcbiAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgb3ZlcmZsb3c6IHZpc2libGU7XG5cbiAgICAgICAgLmstY29udGVudC1mcmFtZSB7XG4gICAgICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogdG9wO1xuICAgICAgICAgICAgYm9yZGVyOiAwO1xuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBCdXR0b25zIExheW91dFxuICAgIC5rLXdpbmRvdy1hY3Rpb25zIHtcbiAgICAgICAgQGluY2x1ZGUgYm9yZGVyLWJvdHRvbS1yYWRpdXMoIHZhciggLS1rZW5kby13aW5kb3ctYm9yZGVyLXJhZGl1cywgI3ska2VuZG8td2luZG93LWJvcmRlci1yYWRpdXN9ICkgKTtcbiAgICAgICAgcGFkZGluZy1pbmxpbmU6IHZhciggLS1rZW5kby13aW5kb3ctYnV0dG9uZ3JvdXAtcGFkZGluZy14LCAjeyRrZW5kby13aW5kb3ctYnV0dG9uZ3JvdXAtcGFkZGluZy14fSApO1xuICAgICAgICBwYWRkaW5nLWJsb2NrOiAwIHZhciggLS1rZW5kby13aW5kb3ctYnV0dG9uZ3JvdXAtcGFkZGluZy15LCAjeyRrZW5kby13aW5kb3ctYnV0dG9uZ3JvdXAtcGFkZGluZy15fSApO1xuICAgICAgICBib3JkZXItd2lkdGg6IHZhciggLS1rZW5kby13aW5kb3ctYnV0dG9uZ3JvdXAtYm9yZGVyLXdpZHRoLCAjeyRrZW5kby13aW5kb3ctYnV0dG9uZ3JvdXAtYm9yZGVyLXdpZHRofSApIDAgMDtcbiAgICAgICAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiBpbmhlcml0O1xuICAgICAgICBmbGV4OiAwIDAgYXV0bztcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgZmxleC1mbG93OiByb3cgd3JhcDtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgZ2FwOiB2YXIoIC0ta2VuZG8td2luZG93LWJ1dHRvbmdyb3VwLXNwYWNpbmcsICN7JGtlbmRvLXdpbmRvdy1idXR0b25ncm91cC1zcGFjaW5nfSApO1xuICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIH1cblxuXG4gICAgLy8gUHJvbXB0XG4gICAgLmstcHJvbXB0LWNvbnRhaW5lciB7XG5cbiAgICAgICAgPiAuay10ZXh0YXJlYSB7XG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgfVxuXG4gICAgfVxuXG4gICAgLy8gUmVzaXplIEhhbmRsZXNcbiAgICAuay13aW5kb3cge1xuICAgICAgICAuay1yZXNpemUtbiB7IHRvcDogMDsgfVxuICAgICAgICAuay1yZXNpemUtZSB7IHJpZ2h0OiAwOyB9XG4gICAgICAgIC5rLXJlc2l6ZS1zIHsgYm90dG9tOiAwOyB9XG4gICAgICAgIC5rLXJlc2l6ZS13IHsgbGVmdDogMDsgfVxuICAgIH1cbn1cbiIsIkB1c2UgXCJzYXNzOm1hcFwiO1xuQHVzZSBcIi4uL2NvcmUvX2luZGV4LnNjc3NcIiBhcyAqO1xuXG4vLy8gVGhlIHdpZHRoIG9mIHRoZSBib3JkZXIgYXJvdW5kIHRoZSBXaW5kb3cuXG4vLy8gQGdyb3VwIHdpbmRvd1xuJGtlbmRvLXdpbmRvdy1ib3JkZXItd2lkdGg6IGstc3BhY2luZygxKSAwIDAgIWRlZmF1bHQ7XG4vLy8gVGhlIGJvcmRlciByYWRpdXMgb2YgdGhlIFdpbmRvdy5cbi8vLyBAZ3JvdXAgd2luZG93XG4ka2VuZG8td2luZG93LWJvcmRlci1yYWRpdXM6IGstYm9yZGVyLXJhZGl1cyhtZCkgIWRlZmF1bHQ7XG4vLy8gVGhlIGZvbnQgZmFtaWx5IG9mIHRoZSBXaW5kb3cuXG4vLy8gQGdyb3VwIHdpbmRvd1xuJGtlbmRvLXdpbmRvdy1mb250LWZhbWlseTogdmFyKCAtLWtlbmRvLWZvbnQtZmFtaWx5LCBpbmhlcml0ICkgIWRlZmF1bHQ7XG4vLy8gVGhlIGZvbnQgc2l6ZSBvZiB0aGUgV2luZG93LlxuLy8vIEBncm91cCB3aW5kb3dcbiRrZW5kby13aW5kb3ctZm9udC1zaXplOiB2YXIoIC0ta2VuZG8tZm9udC1zaXplLCBpbmhlcml0ICkgIWRlZmF1bHQ7XG4vLy8gVGhlIGxpbmUgaGVpZ2h0IG9mIHRoZSBXaW5kb3cuXG4vLy8gQGdyb3VwIHdpbmRvd1xuJGtlbmRvLXdpbmRvdy1saW5lLWhlaWdodDogdmFyKCAtLWtlbmRvLWxpbmUtaGVpZ2h0LCBub3JtYWwgKSAhZGVmYXVsdDtcblxuLy8vIFRoZSBob3Jpem9udGFsIHBhZGRpbmcgb2YgdGhlIFdpbmRvdyB0aXRsZWJhci5cbi8vLyBAZ3JvdXAgd2luZG93XG4ka2VuZG8td2luZG93LXRpdGxlYmFyLXBhZGRpbmcteDogay1zcGFjaW5nKDYpICFkZWZhdWx0O1xuLy8vIFRoZSB2ZXJ0aWNhbCBwYWRkaW5nIG9mIHRoZSBXaW5kb3cgdGl0bGViYXIuXG4vLy8gQGdyb3VwIHdpbmRvd1xuJGtlbmRvLXdpbmRvdy10aXRsZWJhci1wYWRkaW5nLXk6IGstc3BhY2luZyg1KSAhZGVmYXVsdDtcbi8vLyBUaGUgd2lkdGggb2YgdGhlIGJvcmRlciBvZiB0aGUgV2luZG93IHRpdGxlYmFyLlxuLy8vIEBncm91cCB3aW5kb3dcbiRrZW5kby13aW5kb3ctdGl0bGViYXItYm9yZGVyLXdpZHRoOiAwICFkZWZhdWx0O1xuLy8vIFRoZSBzdHlsZSBvZiB0aGUgYm9yZGVyIG9mIHRoZSBXaW5kb3cgdGl0bGViYXIuXG4vLy8gQGdyb3VwIHdpbmRvd1xuJGtlbmRvLXdpbmRvdy10aXRsZWJhci1ib3JkZXItc3R5bGU6IHNvbGlkICFkZWZhdWx0O1xuXG4vLy8gVGhlIGZvbnQgc2l6ZSBvZiB0aGUgdGl0bGUgb2YgdGhlIFdpbmRvdy5cbi8vLyBAZ3JvdXAgd2luZG93XG4ka2VuZG8td2luZG93LXRpdGxlLWZvbnQtc2l6ZTogdmFyKCAtLWtlbmRvLWZvbnQtc2l6ZS14bCwgaW5oZXJpdCApICFkZWZhdWx0O1xuLy8vIFRoZSBsaW5lIGhlaWdodCBvZiB0aGUgdGl0bGUgb2YgdGhlIFdpbmRvdy5cbi8vLyBAZ3JvdXAgd2luZG93XG4ka2VuZG8td2luZG93LXRpdGxlLWxpbmUtaGVpZ2h0OiB2YXIoIC0ta2VuZG8tbGluZS1oZWlnaHQsIG5vcm1hbCApICFkZWZhdWx0O1xuLy8vIFRoZSBmb250IHdlaWdodCBvZiB0aGUgdGl0bGUgb2YgdGhlIFdpbmRvdy5cbi8vLyBAZ3JvdXAgd2luZG93XG4ka2VuZG8td2luZG93LXRpdGxlLWZvbnQtd2VpZ2h0OiB2YXIoIC0ta2VuZG8tZm9udC13ZWlnaHQtYm9sZCwgYm9sZCApICFkZWZhdWx0O1xuXG4vLy8gVGhlIHNwYWNpbmcgYmV0d2VlbiB0aGUgYnV0dG9ucyBpbiB0aGUgV2luZG93IHRpdGxlYmFyLlxuLy8vIEBncm91cCB3aW5kb3dcbiRrZW5kby13aW5kb3ctYWN0aW9ucy1nYXA6IGstc3BhY2luZygwKSAhZGVmYXVsdDtcbi8vLyBPVGhlIG9wYWNpdHkgb2YgdGhlIGJ1dHRvbnMgaW4gdGhlIFdpbmRvdyB0aXRsZWJhci5cbi8vLyBAZ3JvdXAgd2luZG93XG4ka2VuZG8td2luZG93LWFjdGlvbi1vcGFjaXR5OiAxICFkZWZhdWx0O1xuLy8vIFRoZSBvcGFjaXR5IG9mIHRoZSBob3ZlcmVkIGJ1dHRvbnMgaW4gdGhlIFdpbmRvdyB0aXRsZWJhci5cbi8vLyBAZ3JvdXAgd2luZG93XG4ka2VuZG8td2luZG93LWFjdGlvbi1ob3Zlci1vcGFjaXR5OiAxICFkZWZhdWx0O1xuXG4vLy8gVGhlIGhvcml6b250YWwgcGFkZGluZyBvZiB0aGUgY29udGVudCBvZiB0aGUgV2luZG93LlxuLy8vIEBncm91cCB3aW5kb3dcbiRrZW5kby13aW5kb3ctaW5uZXItcGFkZGluZy14OiBrLXNwYWNpbmcoNikgIWRlZmF1bHQ7XG4vLy8gVGhlIHZlcnRpY2FsIHBhZGRpbmcgb2YgdGhlIGNvbnRlbnQgb2YgdGhlIFdpbmRvdy5cbi8vLyBAZ3JvdXAgd2luZG93XG4ka2VuZG8td2luZG93LWlubmVyLXBhZGRpbmcteTogay1zcGFjaW5nKDMpICFkZWZhdWx0O1xuXG4vLy8gVGhlIGhvcml6b250YWwgcGFkZGluZyBvZiB0aGUgV2luZG93IGFjdGlvbiBidXR0b25zLlxuLy8vIEBncm91cCB3aW5kb3dcbiRrZW5kby13aW5kb3ctYnV0dG9uZ3JvdXAtcGFkZGluZy14OiBrLXNwYWNpbmcoNikgIWRlZmF1bHQ7IC8vICRrZW5kby1hY3Rpb25zLXBhZGRpbmcteFxuLy8vIFRoZSB2ZXJ0aWNhbCBwYWRkaW5nIG9mIHRoZSBXaW5kb3cgYWN0aW9uIGJ1dHRvbnMuXG4vLy8gQGdyb3VwIHdpbmRvd1xuJGtlbmRvLXdpbmRvdy1idXR0b25ncm91cC1wYWRkaW5nLXk6IGstc3BhY2luZyg2KSAhZGVmYXVsdDsgLy8gJGtlbmRvLWFjdGlvbnMtcGFkZGluZy15XG4vLy8gVGhlIHdpZHRoIG9mIHRoZSB0b3AgYm9yZGVyIG9mIHRoZSBXaW5kb3cgYWN0aW9uIGJ1dHRvbnMuXG4vLy8gQGdyb3VwIHdpbmRvd1xuJGtlbmRvLXdpbmRvdy1idXR0b25ncm91cC1ib3JkZXItd2lkdGg6IDAgIWRlZmF1bHQ7XG4vLy8gVGhlIHNwYWNpbmcgYmV0d2VlbiB0aGUgV2luZG93IGFjdGlvbiBidXR0b25zLlxuLy8vIEBncm91cCB3aW5kb3dcbiRrZW5kby13aW5kb3ctYnV0dG9uZ3JvdXAtc3BhY2luZzogay1zcGFjaW5nKDMpICFkZWZhdWx0O1xuXG4vLy8gVGhlIGJhY2tncm91bmQgY29sb3Igb2YgdGhlIFdpbmRvdy5cbi8vLyBAZ3JvdXAgd2luZG93XG4ka2VuZG8td2luZG93LWJnOiB2YXIoIC0ta2VuZG8tY29tcG9uZW50LWJnLCBpbml0aWFsICkgIWRlZmF1bHQ7XG4vLy8gVGhlIHRleHQgY29sb3Igb2YgdGhlIFdpbmRvdy5cbi8vLyBAZ3JvdXAgd2luZG93XG4ka2VuZG8td2luZG93LXRleHQ6IHZhciggLS1rZW5kby1jb21wb25lbnQtdGV4dCwgaW5pdGlhbCApICFkZWZhdWx0O1xuLy8vIFRoZSBib3JkZXIgY29sb3Igb2YgdGhlIFdpbmRvdy5cbi8vLyBAZ3JvdXAgd2luZG93XG4ka2VuZG8td2luZG93LWJvcmRlcjogaWYoJGtlbmRvLWVuYWJsZS1jb2xvci1zeXN0ZW0sIGstY29sb3IoIHByaW1hcnkgKSwgay1nZXQtdGhlbWUtY29sb3ItdmFyKCBwcmltYXJ5LTEwMCApKSAhZGVmYXVsdDtcbi8vLyBUaGUgYm94IHNoYWRvdyBvZiB0aGUgV2luZG93LlxuLy8vIEBncm91cCB3aW5kb3dcbiRrZW5kby13aW5kb3ctc2hhZG93OiB2YXIoIC0ta2VuZG8tYm94LXNoYWRvdy1kZXB0aC04LCBub25lICkgIWRlZmF1bHQ7XG4vLy8gVGhlIGJveCBzaGFkb3cgb2YgdGhlIGZvY3VzZWQgV2luZG93LlxuLy8vIEBncm91cCB3aW5kb3dcbiRrZW5kby13aW5kb3ctZm9jdXMtc2hhZG93OiB2YXIoIC0ta2VuZG8tYm94LXNoYWRvdy1kZXB0aC05LCBub25lICkgIWRlZmF1bHQ7XG5cbi8vLyBUaGUgYmFja2dyb3VuZCBjb2xvciBvZiB0aGUgV2luZG93IHRpdGxlYmFyLlxuLy8vIEBncm91cCB3aW5kb3dcbiRrZW5kby13aW5kb3ctdGl0bGViYXItYmc6IHZhciggLS1rZW5kby1jb21wb25lbnQtYmcsIGluaXRpYWwgKSAhZGVmYXVsdDsgLy8gJGtlbmRvLWNvbXBvbmVudC1oZWFkZXItYmdcbi8vLyBUaGUgdGV4dCBjb2xvciBvZiB0aGUgV2luZG93IHRpdGxlYmFyLlxuLy8vIEBncm91cCB3aW5kb3dcbiRrZW5kby13aW5kb3ctdGl0bGViYXItdGV4dDogaWYoJGtlbmRvLWVuYWJsZS1jb2xvci1zeXN0ZW0sIGstY29sb3IoIHByaW1hcnkgKSwgay1nZXQtdGhlbWUtY29sb3ItdmFyKCBwcmltYXJ5LTEwMCApKSAhZGVmYXVsdDsgLy8gJGtlbmRvLWNvbXBvbmVudC1oZWFkZXItdGV4dFxuLy8vIFRoZSBib3JkZXIgY29sb3Igb2YgdGhlIFdpbmRvdyB0aXRsZWJhci5cbi8vLyBAZ3JvdXAgd2luZG93XG4ka2VuZG8td2luZG93LXRpdGxlYmFyLWJvcmRlcjogaWYoJGtlbmRvLWVuYWJsZS1jb2xvci1zeXN0ZW0sIGstY29sb3IoIHByaW1hcnkgKSwgay1nZXQtdGhlbWUtY29sb3ItdmFyKCBwcmltYXJ5LTEwMCApKSAhZGVmYXVsdDtcblxuLy8vIFRoZSBtYXAgb2YgdGhlIHdpZHRoIG9mIHRoZSBkaWZmZXJlbnQgV2luZG93IHNpemVzLlxuLy8vIEBncm91cCB3aW5kb3dcbiRrZW5kby13aW5kb3ctc2l6ZXM6IChcbiAgICBzbTogMzAwcHgsXG4gICAgbWQ6IDgwMHB4LFxuICAgIGxnOiAxMjAwcHhcbikgIWRlZmF1bHQ7XG5cbi8vLyBUaGUgdGhlbWUgdmFyaWF0aW9ucyBmb3IgdGhlIFdpbmRvdy5cbi8vLyBAZ3JvdXAgd2luZG93XG4ka2VuZG8td2luZG93LWJyYW5kLWNvbG9yczogKFxuICAgIHByaW1hcnk6IHByaW1hcnlcbiApICFkZWZhdWx0O1xuXG4vLyBNYXRyaXggd2l0aCB3aW5kb3cgdGhlbWUgY29sb3JzIGluIHRoZSBvcmRlcjogYmcsIGNvbG9yLCBib3JkZXJcbiRfdGMtd2luZG93LW1hdHJpeDogKFxuICAgIChub3JtYWw6IGlmKCRrZW5kby1lbmFibGUtY29sb3Itc3lzdGVtLCAoY29sb3IsIG9uLWNvbG9yLCBjb2xvciksICgxMDAsICRrZW5kby1jb2xvci13aGl0ZSwgMTAwKSkpLFxuKSAhZGVmYXVsdDtcblxuJF90Yy13aW5kb3ctZGFyay1tYXRyaXg6IChcbiAgICAobm9ybWFsOiBpZigka2VuZG8tZW5hYmxlLWNvbG9yLXN5c3RlbSwgKGNvbG9yLCBvbi1jb2xvciwgY29sb3IpLCAoMTYwLCAka2VuZG8tY29sb3Itd2hpdGUsIDE2MCkpKSxcbikgIWRlZmF1bHQ7XG5cbiRfdGMtd2luZG93LWxpZ2h0LW1hdHJpeDogKFxuICAgIChub3JtYWw6IGlmKCRrZW5kby1lbmFibGUtY29sb3Itc3lzdGVtLCAoY29sb3IsIG9uLWNvbG9yLCBjb2xvciksICg1MCwgMTYwLCA1MCkpKSxcbikgIWRlZmF1bHQ7XG5cbi8vLyBUaGUgdGhlbWUgY29sb3JzIG1hcCBmb3IgdGhlIFdpbmRvdy5cbi8vLyBAZ3JvdXAgd2luZG93XG4ka2VuZG8td2luZG93LXRoZW1lLWNvbG9yczogKCkgIWRlZmF1bHQ7XG5cbkBlYWNoICR1aS1zdGF0ZXMgaW4gJF90Yy13aW5kb3ctbWF0cml4IHtcbiAgICBAZWFjaCAkYnJhbmQtY29sb3IsICRwYWxldHRlIGluICRrZW5kby13aW5kb3ctYnJhbmQtY29sb3JzIHtcbiAgICAgICAgJGtlbmRvLXdpbmRvdy10aGVtZS1jb2xvcnM6IG1hcC5kZWVwLW1lcmdlKFxuICAgICAgICAgICAgJGtlbmRvLXdpbmRvdy10aGVtZS1jb2xvcnMsXG4gICAgICAgICAgICBrLWdlbmVyYXRlLXRoZW1lLXZhcmlhdGlvbiggJGJyYW5kLWNvbG9yLCAkcGFsZXR0ZSwgJHVpLXN0YXRlcyApXG4gICAgICAgICk7XG4gICAgfTtcbn1cblxuQGVhY2ggJHVpLXN0YXRlcyBpbiAkX3RjLXdpbmRvdy1kYXJrLW1hdHJpeCB7XG4gICAgJGtlbmRvLXdpbmRvdy10aGVtZS1jb2xvcnM6IG1hcC5kZWVwLW1lcmdlKFxuICAgICAgICAka2VuZG8td2luZG93LXRoZW1lLWNvbG9ycyxcbiAgICAgICAgay1nZW5lcmF0ZS10aGVtZS12YXJpYXRpb24oIGRhcmssIGlmKCRrZW5kby1lbmFibGUtY29sb3Itc3lzdGVtLCBkYXJrLCBuZXV0cmFsKSwgJHVpLXN0YXRlcyApXG4gICAgKTtcbn1cblxuQGVhY2ggJHVpLXN0YXRlcyBpbiAkX3RjLXdpbmRvdy1saWdodC1tYXRyaXgge1xuICAgICRrZW5kby13aW5kb3ctdGhlbWUtY29sb3JzOiBtYXAuZGVlcC1tZXJnZShcbiAgICAgICAgJGtlbmRvLXdpbmRvdy10aGVtZS1jb2xvcnMsXG4gICAgICAgIGstZ2VuZXJhdGUtdGhlbWUtdmFyaWF0aW9uKCBsaWdodCwgaWYoJGtlbmRvLWVuYWJsZS1jb2xvci1zeXN0ZW0sIGxpZ2h0LCBuZXV0cmFsKSwgJHVpLXN0YXRlcyApXG4gICAgKTtcbn1cbiIsIkB1c2UgXCJzYXNzOm1hcFwiO1xuQHVzZSBcIi4uL2NvcmUvX2luZGV4LnNjc3NcIiBhcyAqO1xuQHVzZSBcIi4vX3ZhcmlhYmxlcy5zY3NzXCIgYXMgKjtcblxuQG1peGluIGtlbmRvLXdpbmRvdy0tdGhlbWUoKSB7XG5cbiAgICAvLyBXaW5kb3dcbiAgICAuay13aW5kb3cge1xuICAgICAgICBAaW5jbHVkZSBmaWxsKFxuICAgICAgICAgICAgdmFyKCAtLWtlbmRvLXdpbmRvdy10ZXh0LCAjeyRrZW5kby13aW5kb3ctdGV4dH0gKSxcbiAgICAgICAgICAgIHZhciggLS1rZW5kby13aW5kb3ctYmcsICN7JGtlbmRvLXdpbmRvdy1iZ30gKSxcbiAgICAgICAgICAgIHZhciggLS1rZW5kby13aW5kb3ctYm9yZGVyLCAjeyRrZW5kby13aW5kb3ctYm9yZGVyfSApXG4gICAgICAgICk7XG4gICAgICAgIEBpbmNsdWRlIGJveC1zaGFkb3coIHZhciggLS1rZW5kby13aW5kb3ctc2hhZG93LCAjeyRrZW5kby13aW5kb3ctc2hhZG93fSApICk7XG5cbiAgICAgICAgJjpmb2N1cyxcbiAgICAgICAgJi5rLWZvY3VzIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGJveC1zaGFkb3coIHZhciggLS1rZW5kby13aW5kb3ctZm9jdXMtc2hhZG93LCAjeyRrZW5kby13aW5kb3ctZm9jdXMtc2hhZG93fSApICk7XG4gICAgICAgIH1cbiAgICB9XG5cblxuICAgIC8vIFRpdGxlYmFyXG4gICAgLmstd2luZG93LXRpdGxlYmFyIHtcbiAgICAgICAgQGluY2x1ZGUgZmlsbChcbiAgICAgICAgICAgICRiZzogdmFyKCAtLWtlbmRvLXdpbmRvdy10aXRsZWJhci1iZywgI3ska2VuZG8td2luZG93LXRpdGxlYmFyLWJnfSApLFxuICAgICAgICAgICAgJGJvcmRlcjogdmFyKCAtLWtlbmRvLXdpbmRvdy10aXRsZWJhci1ib3JkZXIsICN7JGtlbmRvLXdpbmRvdy10aXRsZWJhci1ib3JkZXJ9IClcbiAgICAgICAgKTtcbiAgICB9XG5cbiAgICAuay13aW5kb3ctdGl0bGUge1xuICAgICAgICBjb2xvcjogdmFyKCAtLWtlbmRvLXdpbmRvdy10aXRsZWJhci10ZXh0LCAjeyRrZW5kby13aW5kb3ctdGl0bGViYXItdGV4dH0gKSxcbiAgICB9XG5cbiAgICAvLyBXaW5kb3cgdGhlbWUgY29sb3JzXG4gICAgQGVhY2ggJHRoZW1lLWNvbG9yLCAkY29sb3ItcHJvcHMgaW4gJGtlbmRvLXdpbmRvdy10aGVtZS1jb2xvcnMge1xuXG4gICAgICAgICRfdGV4dDogbWFwLmdldCggJGNvbG9yLXByb3BzLCB0ZXh0ICk7XG4gICAgICAgICRfYmc6IG1hcC5nZXQoICRjb2xvci1wcm9wcywgYmcgKTtcbiAgICAgICAgJF9ib3JkZXI6IG1hcC5nZXQoICRjb2xvci1wcm9wcywgYm9yZGVyICk7XG5cbiAgICAgICAgLmstd2luZG93LSN7JHRoZW1lLWNvbG9yfSAuay13aW5kb3ctdGl0bGViYXIge1xuICAgICAgICAgICAgY29sb3I6IHZhciggLS1rZW5kby13aW5kb3ctdGl0bGViYXItdGV4dCwgI3ska2VuZG8td2luZG93LXRpdGxlYmFyLXRleHR9ICk7XG5cbiAgICAgICAgICAgIC0ta2VuZG8td2luZG93LXRpdGxlYmFyLXRleHQ6IHZhciggLS1rZW5kby13aW5kb3ctI3skdGhlbWUtY29sb3J9LXRleHQsICN7JF90ZXh0fSApO1xuICAgICAgICAgICAgLS1rZW5kby13aW5kb3ctdGl0bGViYXItYmc6IHZhciggLS1rZW5kby13aW5kb3ctI3skdGhlbWUtY29sb3J9LWJnLCAjeyRfYmd9ICk7XG4gICAgICAgICAgICAtLWtlbmRvLXdpbmRvdy10aXRsZWJhci1ib3JkZXI6IHZhciggLS1rZW5kby13aW5kb3ctI3skdGhlbWUtY29sb3J9LWJvcmRlciwgI3skX2JvcmRlcn0gKTtcbiAgICAgICAgfVxuICAgIH1cblxufVxuIiwiQHVzZSBcIi4uL2NvcmUvX2luZGV4LnNjc3NcIiBhcyAqO1xuQHVzZSBcIi4vX3ZhcmlhYmxlcy5zY3NzXCIgYXMgKjtcblxuQG1peGluIGtlbmRvLWFjdGlvbi1zaGVldC0tbGF5b3V0KCkge1xuICAgIC5rLWFjdGlvbnNoZWV0LWNvbnRhaW5lciB7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgIC8vIFRPRE86IHVzZSBtYXggd2hlbiB3ZSBkcm9wIGxlc3MgdGhlbWVzXG4gICAgICAgIG1heC13aWR0aDogY2xhbXAoMTAwdncsIDEwMCUsIDEwMCUpO1xuICAgICAgICBtYXgtaGVpZ2h0OiBjbGFtcCgxMDB2aCwgMTAwJSwgMTAwJSk7XG4gICAgICAgIHBvc2l0aW9uOiBmaXhlZDtcbiAgICAgICAgdG9wOiAwO1xuICAgICAgICBsZWZ0OiAwO1xuICAgICAgICB6LWluZGV4OiA5OTk5O1xuICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVooMCk7XG4gICAgfVxuXG4gICAgLy8gQW5pbWF0aW9uIGNvbnRhaW5lclxuICAgIC5rLWFjdGlvbnNoZWV0LWNvbnRhaW5lciB7XG5cbiAgICAgICAgLy8gT3ZlcmxheVxuICAgICAgICA+IC5rLW92ZXJsYXkge1xuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgei1pbmRleDogMTtcbiAgICAgICAgfVxuXG4gICAgICAgIC8vIE5lc3RlZCBhbmltYXRpb24gY29udGFpbmVyXG4gICAgICAgID4gLmstYW5pbWF0aW9uLWNvbnRhaW5lciB7XG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDA7XG4gICAgICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgei1pbmRleDogMjtcbiAgICAgICAgICAgIHRvcDogMDtcbiAgICAgICAgICAgIGxlZnQ6IDA7XG4gICAgICAgICAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcblxuICAgICAgICAgICAgPiAuay1jaGlsZC1hbmltYXRpb24tY29udGFpbmVyIHtcbiAgICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAvLyBObyBhbmltYXRpb24gY29udGFpbmVyXG4gICAgICAgID4gLmstYWN0aW9uc2hlZXQge1xuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgei1pbmRleDogMjtcbiAgICAgICAgfVxuXG4gICAgICAgIC8vIEVuYWJsZSBtb3VzZSBldmVudHMgZm9yIGFjdGlvbiBzaGVldFxuICAgICAgICAuay1hY3Rpb25zaGVldCB7XG4gICAgICAgICAgICBwb2ludGVyLWV2ZW50czogYWxsO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLy8gQWN0aW9uc2hlZXRcbiAgICAuay1hY3Rpb25zaGVldCB7XG4gICAgICAgIHBhZGRpbmctaW5saW5lOiB2YXIoIC0ta2VuZG8tYWN0aW9uc2hlZXQtcGFkZGluZy14LCAjeyRrZW5kby1hY3Rpb25zaGVldC1wYWRkaW5nLXh9ICk7XG4gICAgICAgIHBhZGRpbmctYmxvY2s6IHZhciggLS1rZW5kby1hY3Rpb25zaGVldC1wYWRkaW5nLXksICN7JGtlbmRvLWFjdGlvbnNoZWV0LXBhZGRpbmcteX0gKTtcbiAgICAgICAgd2lkdGg6IHZhciggLS1rZW5kby1hY3Rpb25zaGVldC13aWR0aCwgI3ska2VuZG8tYWN0aW9uc2hlZXQtd2lkdGh9ICk7XG4gICAgICAgIG1heC13aWR0aDogdmFyKCAtLWtlbmRvLWFjdGlvbnNoZWV0LW1heC13aWR0aCwgI3ska2VuZG8tYWN0aW9uc2hlZXQtbWF4LXdpZHRofSApO1xuICAgICAgICBoZWlnaHQ6IHZhciggLS1rZW5kby1hY3Rpb25zaGVldC1oZWlnaHQsICN7JGtlbmRvLWFjdGlvbnNoZWV0LWhlaWdodH0gKTtcbiAgICAgICAgbWF4LWhlaWdodDogdmFyKCAtLWtlbmRvLWFjdGlvbnNoZWV0LW1heC1oZWlnaHQsICN7JGtlbmRvLWFjdGlvbnNoZWV0LW1heC1oZWlnaHR9ICk7XG4gICAgICAgIGJvcmRlci13aWR0aDogMDtcbiAgICAgICAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICAgICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICAgICAgZm9udC1zaXplOiB2YXIoIC0ta2VuZG8tYWN0aW9uc2hlZXQtZm9udC1zaXplLCAjeyRrZW5kby1hY3Rpb25zaGVldC1mb250LXNpemV9ICk7XG4gICAgICAgIGZvbnQtZmFtaWx5OiB2YXIoIC0ta2VuZG8tYWN0aW9uc2hlZXQtZm9udC1mYW1pbHksICN7JGtlbmRvLWFjdGlvbnNoZWV0LWZvbnQtZmFtaWx5fSApO1xuICAgICAgICBsaW5lLWhlaWdodDogdmFyKCAtLWtlbmRvLWFjdGlvbnNoZWV0LWxpbmUtaGVpZ2h0LCAjeyRrZW5kby1hY3Rpb25zaGVldC1saW5lLWhlaWdodH0gKTtcbiAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuXG4gICAgICAgIC8vIExlYXZlIG9ubHkgXCJmbGV4LWZsb3c6IHJvdyBub3dyYXA7XCIgaGVyZSBhZnRlciB0aGUgc3VpdGVzIGFkb3B0IHRoZSBcImstYWN0aW9uc2hlZXQtdmlld1wiIGVsZW1lbnQuXG4gICAgICAgIGZsZXgtZmxvdzogY29sdW1uIG5vd3JhcDtcbiAgICAgICAgJjpoYXMoPiAuay1hY3Rpb25zaGVldC12aWV3KSB7XG4gICAgICAgICAgICBmbGV4LWZsb3c6IHJvdyBub3dyYXA7XG4gICAgICAgIH1cblxuICAgICAgICAuay1hY3Rpb25zaGVldC12aWV3IHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICBmbGV4LWZsb3c6IGNvbHVtbiBub3dyYXA7XG4gICAgICAgICAgICBmbGV4OiAwIDAgMTAwJTtcbiAgICAgICAgfVxuXG4gICAgICAgIC5rLWFjdGlvbnNoZWV0LXZpZXcuay1hY3Rpb25zaGVldC12aWV3LWFuaW1hdGVkIHtcbiAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWChjYWxjKC0xMDAlICogKHZhcigtLWtlbmRvLWFjdGlvbnNoZWV0LXZpZXctY3VycmVudCwgMSkgLSAxKSkpO1xuICAgICAgICB9XG5cbiAgICAgICAgKixcbiAgICAgICAgKjo6YmVmb3JlLFxuICAgICAgICAqOjphZnRlciB7XG4gICAgICAgICAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLmstYWN0aW9uc2hlZXQtZnVsbHNjcmVlbiB7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgICAgIG1heC1oZWlnaHQ6IDEwMCU7XG4gICAgICAgIGhlaWdodDogMTAwJTtcbiAgICB9XG5cblxuICAgIC8vIEFjdGlvbnNoZWV0IGhlYWRlclxuICAgIC5rLWFjdGlvbnNoZWV0LWhlYWRlciB7XG4gICAgICAgIHBhZGRpbmctaW5saW5lOiB2YXIoIC0ta2VuZG8tYWN0aW9uc2hlZXQtaGVhZGVyLXBhZGRpbmcteCwgI3ska2VuZG8tYWN0aW9uc2hlZXQtaGVhZGVyLXBhZGRpbmcteH0gKTtcbiAgICAgICAgcGFkZGluZy1ibG9jazogdmFyKCAtLWtlbmRvLWFjdGlvbnNoZWV0LWhlYWRlci1wYWRkaW5nLXksICN7JGtlbmRvLWFjdGlvbnNoZWV0LWhlYWRlci1wYWRkaW5nLXl9ICk7XG4gICAgICAgIGJvcmRlci1ib3R0b20td2lkdGg6IHZhciggLS1rZW5kby1hY3Rpb25zaGVldC1oZWFkZXItYm9yZGVyLXdpZHRoLCAjeyRrZW5kby1hY3Rpb25zaGVldC1oZWFkZXItYm9yZGVyLXdpZHRofSApO1xuICAgICAgICBib3JkZXItYm90dG9tLXN0eWxlOiBzb2xpZDtcbiAgICAgICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICAgICAgZm9udC1zaXplOiB2YXIoIC0ta2VuZG8tYWN0aW9uc2hlZXQtaGVhZGVyLWZvbnQtc2l6ZSwgI3ska2VuZG8tYWN0aW9uc2hlZXQtaGVhZGVyLWZvbnQtc2l6ZX0gKTtcbiAgICAgICAgZm9udC1mYW1pbHk6IHZhciggLS1rZW5kby1hY3Rpb25zaGVldC1oZWFkZXItZm9udC1mYW1pbHksICN7JGtlbmRvLWFjdGlvbnNoZWV0LWhlYWRlci1mb250LWZhbWlseX0gKTtcbiAgICAgICAgbGluZS1oZWlnaHQ6IHZhciggLS1rZW5kby1hY3Rpb25zaGVldC1oZWFkZXItbGluZS1oZWlnaHQsICN7JGtlbmRvLWFjdGlvbnNoZWV0LWhlYWRlci1saW5lLWhlaWdodH0gKTtcbiAgICAgICAgZmxleDogbm9uZTtcbiAgICAgICAgZ2FwOiB2YXIoIC0ta2VuZG8tYWN0aW9uc2hlZXQtaGVhZGVyLWdhcCwgI3ska2VuZG8tYWN0aW9uc2hlZXQtaGVhZGVyLWdhcH0gKTtcbiAgICB9XG5cblxuICAgIC8vIEFjdGlvbnNoZWV0IHRpdGxlYmFyXG4gICAgLmstYWN0aW9uc2hlZXQtdGl0bGViYXIge1xuICAgICAgICBAZXh0ZW5kIC5rLWFjdGlvbnNoZWV0LWhlYWRlciAhb3B0aW9uYWw7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGZsZXgtZmxvdzogY29sdW1uIG5vd3JhcDtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICB9XG5cbiAgICAuay1hY3Rpb25zaGVldC10aXRsZWJhci1ncm91cCB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGZsZXgtZmxvdzogcm93IG5vd3JhcDtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgfVxuXG4gICAgLmstYWN0aW9uc2hlZXQtdGl0bGUge1xuICAgICAgICBmbGV4OiAxO1xuICAgIH1cblxuICAgIC5rLWFjdGlvbnNoZWV0LXN1YnRpdGxlIHtcbiAgICAgICAgZm9udC1zaXplOiB2YXIoIC0ta2VuZG8tYWN0aW9uc2hlZXQtc3VidGl0bGUtZm9udC1zaXplLCAjeyRrZW5kby1hY3Rpb25zaGVldC1zdWJ0aXRsZS1mb250LXNpemV9ICk7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiB2YXIoIC0ta2VuZG8tYWN0aW9uc2hlZXQtc3VidGl0bGUtbGluZS1oZWlnaHQsICN7JGtlbmRvLWFjdGlvbnNoZWV0LXN1YnRpdGxlLWxpbmUtaGVpZ2h0fSApO1xuICAgIH1cblxuICAgIC5rLWFjdGlvbnNoZWV0LWFjdGlvbnMge1xuICAgICAgICBmbGV4OiBub25lO1xuICAgIH1cblxuXG4gICAgLy8gQWN0aW9uc2hlZXQgY29udGVudFxuICAgIC5rLWFjdGlvbnNoZWV0LWNvbnRlbnQge1xuICAgICAgICBmbGV4OiAxO1xuICAgICAgICBvdmVyZmxvdzogYXV0bztcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIH1cblxuXG4gICAgLy8gQWN0aW9uc2hlZXQgZm9vdGVyXG4gICAgLmstYWN0aW9uc2hlZXQtZm9vdGVyIHtcbiAgICAgICAgZmxleDogbm9uZTtcbiAgICAgICAgYm9yZGVyLXRvcC13aWR0aDogJGtlbmRvLWFjdGlvbnNoZWV0LWZvb3Rlci1ib3JkZXItd2lkdGg7XG4gICAgICAgIGJvcmRlci10b3Atc3R5bGU6IHNvbGlkO1xuICAgIH1cblxuXG4gICAgLy8gQWN0aW9uc2hlZXQgaXRlbXNcbiAgICAuay1hY3Rpb25zaGVldC1pdGVtcyB7XG4gICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgbGlzdC1zdHlsZTogbm9uZTtcbiAgICAgICAgZmxleDogbm9uZTtcbiAgICB9XG5cblxuICAgIC8vIEFjdGlvbnNoZWV0IGl0ZW1cbiAgICAuay1hY3Rpb25zaGVldC1pdGVtIHtcbiAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgZmxleC1mbG93OiByb3cgbm93cmFwO1xuXG4gICAgICAgICY6Zm9jdXMsXG4gICAgICAgICYuay1mb2N1cyB7XG4gICAgICAgICAgICBvdXRsaW5lLXdpZHRoOiB2YXIoIC0ta2VuZG8tYWN0aW9uc2hlZXQtaXRlbS1mb2N1cy1vdXRsaW5lLXdpZHRoLCAjeyRrZW5kby1hY3Rpb25zaGVldC1pdGVtLWZvY3VzLW91dGxpbmUtd2lkdGh9ICk7XG4gICAgICAgICAgICBvdXRsaW5lLXN0eWxlOiBzb2xpZDtcbiAgICAgICAgICAgIG91dGxpbmUtb2Zmc2V0OiBjYWxjKCAtMSAqIHZhciggLS1rZW5kby1hY3Rpb25zaGVldC1pdGVtLWZvY3VzLW91dGxpbmUtd2lkdGgsICN7JGtlbmRvLWFjdGlvbnNoZWV0LWl0ZW0tZm9jdXMtb3V0bGluZS13aWR0aH0gKSApO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLmstYWN0aW9uc2hlZXQtYWN0aW9uIHtcbiAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICBwYWRkaW5nLWlubGluZTogdmFyKCAtLWtlbmRvLWFjdGlvbnNoZWV0LWl0ZW0tcGFkZGluZy14LCAjeyRrZW5kby1hY3Rpb25zaGVldC1pdGVtLXBhZGRpbmcteH0gKTtcbiAgICAgICAgcGFkZGluZy1ibG9jazogdmFyKCAtLWtlbmRvLWFjdGlvbnNoZWV0LWl0ZW0tcGFkZGluZy15LCAjeyRrZW5kby1hY3Rpb25zaGVldC1pdGVtLXBhZGRpbmcteX0gKTtcbiAgICAgICAgbWluLWhlaWdodDogdmFyKCAtLWtlbmRvLWFjdGlvbnNoZWV0LWl0ZW0tbWluLWhlaWdodCwgI3ska2VuZG8tYWN0aW9uc2hlZXQtaXRlbS1taW4taGVpZ2h0fSApO1xuICAgICAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgICAgICBjb2xvcjogaW5oZXJpdDtcbiAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgICAgICBvdXRsaW5lOiAwO1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBmbGV4LWZsb3c6IHJvdyBub3dyYXA7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0O1xuICAgICAgICBnYXA6IHZhciggLS1rZW5kby1hY3Rpb25zaGVldC1pdGVtLXNwYWNpbmcsICN7JGtlbmRvLWFjdGlvbnNoZWV0LWl0ZW0tc3BhY2luZ30gKTtcbiAgICB9XG5cbiAgICAuay1hY3Rpb25zaGVldC1pdGVtLXRleHQge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBmbGV4LWZsb3c6IGNvbHVtbiBub3dyYXA7XG4gICAgfVxuXG4gICAgLmstYWN0aW9uc2hlZXQtaXRlbS10aXRsZSB7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiB2YXIoIC0ta2VuZG8tYWN0aW9uc2hlZXQtaXRlbS10aXRsZS1mb250LXdlaWdodCwgI3ska2VuZG8tYWN0aW9uc2hlZXQtaXRlbS10aXRsZS1mb250LXdlaWdodH0gKTtcbiAgICAgICAgdGV4dC10cmFuc2Zvcm06IHZhciggLS1rZW5kby1hY3Rpb25zaGVldC1pdGVtLXRpdGxlLXRleHQtdHJhbnNmb3JtLCAjeyRrZW5kby1hY3Rpb25zaGVldC1pdGVtLXRpdGxlLXRleHQtdHJhbnNmb3JtfSApO1xuICAgIH1cblxuICAgIC5rLWFjdGlvbnNoZWV0LWl0ZW0tZGVzY3JpcHRpb24ge1xuICAgICAgICBmb250LXNpemU6IHZhciggLS1rZW5kby1hY3Rpb25zaGVldC1pdGVtLWRlc2NyaXB0aW9uLWZvbnQtc2l6ZSwgI3ska2VuZG8tYWN0aW9uc2hlZXQtaXRlbS1kZXNjcmlwdGlvbi1mb250LXNpemV9ICk7XG4gICAgfVxuXG5cbiAgICAvLyBBY3Rpb25zaGVldCBzZXBhcmF0b3JcbiAgICAuay1hY3Rpb25zaGVldCAuay1ociB7XG4gICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgZmxleDogbm9uZTtcbiAgICB9XG5cblxuICAgIC8vIEFjdGlvbiBzaGVldCBwb3NpdGlvblxuICAgIC5rLWFjdGlvbnNoZWV0LXRvcCB7XG4gICAgICAgIEBpbmNsdWRlIGJvcmRlci1ib3R0b20tcmFkaXVzKCB2YXIoIC0ta2VuZG8tYWN0aW9uc2hlZXQtYm9yZGVyLXJhZGl1cywgI3ska2VuZG8tYWN0aW9uc2hlZXQtYm9yZGVyLXJhZGl1c30gKSApO1xuICAgICAgICBib3JkZXItd2lkdGg6IHZhciggLS1rZW5kby1hY3Rpb25zaGVldC1ib3JkZXItd2lkdGgsICN7JGtlbmRvLWFjdGlvbnNoZWV0LWJvcmRlci13aWR0aH0gKTtcbiAgICAgICAgYm9yZGVyLXRvcC13aWR0aDogMDtcbiAgICAgICAgdG9wOiAwO1xuICAgICAgICBpbnNldC1pbmxpbmUtc3RhcnQ6IDUwJTtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKCAtNTAlICk7XG4gICAgfVxuXG4gICAgLmstYWN0aW9uc2hlZXQtYm90dG9tIHtcbiAgICAgICAgQGluY2x1ZGUgYm9yZGVyLXRvcC1yYWRpdXMoIHZhciggLS1rZW5kby1hY3Rpb25zaGVldC1ib3JkZXItcmFkaXVzLCAjeyRrZW5kby1hY3Rpb25zaGVldC1ib3JkZXItcmFkaXVzfSApICk7XG4gICAgICAgIGJvcmRlci13aWR0aDogdmFyKCAtLWtlbmRvLWFjdGlvbnNoZWV0LWJvcmRlci13aWR0aCwgI3ska2VuZG8tYWN0aW9uc2hlZXQtYm9yZGVyLXdpZHRofSApO1xuICAgICAgICBib3JkZXItYm90dG9tLXdpZHRoOiAwO1xuICAgICAgICBib3R0b206IDA7XG4gICAgICAgIGluc2V0LWlubGluZS1zdGFydDogNTAlO1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoIC01MCUgKTtcbiAgICB9XG5cbiAgICAuay1hY3Rpb25zaGVldC1sZWZ0IHtcbiAgICAgICAgQGluY2x1ZGUgYm9yZGVyLXJpZ2h0LXJhZGl1cyggdmFyKCAtLWtlbmRvLWFjdGlvbnNoZWV0LWJvcmRlci1yYWRpdXMsICN7JGtlbmRvLWFjdGlvbnNoZWV0LWJvcmRlci1yYWRpdXN9ICkgKTtcbiAgICAgICAgYm9yZGVyLXdpZHRoOiB2YXIoIC0ta2VuZG8tYWN0aW9uc2hlZXQtYm9yZGVyLXdpZHRoLCAjeyRrZW5kby1hY3Rpb25zaGVldC1ib3JkZXItd2lkdGh9ICk7XG4gICAgICAgIGJvcmRlci1sZWZ0LXdpZHRoOiB2YXIoIC0ta2VuZG8tYWN0aW9uc2hlZXQtYm9yZGVyLXdpZHRoLCAjeyRrZW5kby1hY3Rpb25zaGVldC1ib3JkZXItd2lkdGh9ICk7XG4gICAgICAgIGxlZnQ6IDA7XG4gICAgICAgIHRvcDogNTAlO1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoIC01MCUgKTtcbiAgICB9XG5cbiAgICAuay1hY3Rpb25zaGVldC1yaWdodCB7XG4gICAgICAgIEBpbmNsdWRlIGJvcmRlci1sZWZ0LXJhZGl1cyggdmFyKCAtLWtlbmRvLWFjdGlvbnNoZWV0LWJvcmRlci1yYWRpdXMsICN7JGtlbmRvLWFjdGlvbnNoZWV0LWJvcmRlci1yYWRpdXN9ICkgKTtcbiAgICAgICAgYm9yZGVyLXdpZHRoOiB2YXIoIC0ta2VuZG8tYWN0aW9uc2hlZXQtYm9yZGVyLXdpZHRoLCAjeyRrZW5kby1hY3Rpb25zaGVldC1ib3JkZXItd2lkdGh9ICk7XG4gICAgICAgIGJvcmRlci1yaWdodC13aWR0aDogMDtcbiAgICAgICAgcmlnaHQ6IDA7XG4gICAgICAgIHRvcDogNTAlO1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoIC01MCUgKTtcbiAgICB9XG5cblxuICAgIC8vIEFjdGlvbiBzaGVldCBpbiBwb3B1cFxuICAgIC5rLWFuaW1hdGlvbi1jb250YWluZXIgPiAuay1hY3Rpb25zaGVldCB7XG4gICAgICAgIHRvcDogYXV0bztcbiAgICAgICAgcmlnaHQ6IGF1dG87XG4gICAgICAgIGJvdHRvbTogYXV0bztcbiAgICAgICAgbGVmdDogYXV0bztcbiAgICAgICAgdHJhbnNmb3JtOiBub25lO1xuICAgIH1cblxuXG4gICAgLy8gQWRhcHRpdmUgYWN0aW9uIHNoZWV0XG4gICAgLmstYWRhcHRpdmUtYWN0aW9uc2hlZXQge1xuICAgICAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBmb250LXNpemU6ICRrZW5kby1hZGFwdGl2ZS1hY3Rpb25zaGVldC1mb250LXNpemU7XG5cbiAgICAgICAgLmstYWN0aW9uc2hlZXQtdGl0bGViYXIge1xuICAgICAgICAgICAgcGFkZGluZy1pbmxpbmU6IHZhciggLS1rZW5kby1hZGFwdGl2ZS1hY3Rpb25zaGVldC1oZWFkZXItcGFkZGluZy14LCAjeyRrZW5kby1hZGFwdGl2ZS1hY3Rpb25zaGVldC1oZWFkZXItcGFkZGluZy14fSApO1xuICAgICAgICAgICAgcGFkZGluZy1ibG9jazogdmFyKCAtLWtlbmRvLWFkYXB0aXZlLWFjdGlvbnNoZWV0LWhlYWRlci1wYWRkaW5nLXksICN7JGtlbmRvLWFkYXB0aXZlLWFjdGlvbnNoZWV0LWhlYWRlci1wYWRkaW5nLXl9ICk7XG4gICAgICAgIH1cblxuICAgICAgICAuay1hY3Rpb25zaGVldC1jb250ZW50IHtcbiAgICAgICAgICAgIHBhZGRpbmctaW5saW5lOiB2YXIoIC0ta2VuZG8tYWRhcHRpdmUtYWN0aW9uc2hlZXQtY29udGVudC1wYWRkaW5nLXgsICN7JGtlbmRvLWFkYXB0aXZlLWFjdGlvbnNoZWV0LWNvbnRlbnQtcGFkZGluZy14fSApO1xuICAgICAgICAgICAgcGFkZGluZy1ibG9jazogdmFyKCAtLWtlbmRvLWFkYXB0aXZlLWFjdGlvbnNoZWV0LWNvbnRlbnQtcGFkZGluZy15LCAjeyRrZW5kby1hZGFwdGl2ZS1hY3Rpb25zaGVldC1jb250ZW50LXBhZGRpbmcteX0gKTtcbiAgICAgICAgfVxuXG4gICAgICAgIC5rLWFjdGlvbnNoZWV0LWZvb3RlciB7XG4gICAgICAgICAgICBwYWRkaW5nLWlubGluZTogdmFyKCAtLWtlbmRvLWFkYXB0aXZlLWFjdGlvbnNoZWV0LWZvb3Rlci1wYWRkaW5nLXgsICN7JGtlbmRvLWFkYXB0aXZlLWFjdGlvbnNoZWV0LWZvb3Rlci1wYWRkaW5nLXh9ICk7XG4gICAgICAgICAgICBwYWRkaW5nLWJsb2NrOiB2YXIoIC0ta2VuZG8tYWRhcHRpdmUtYWN0aW9uc2hlZXQtZm9vdGVyLXBhZGRpbmcteSwgI3ska2VuZG8tYWRhcHRpdmUtYWN0aW9uc2hlZXQtZm9vdGVyLXBhZGRpbmcteX0gKTtcbiAgICAgICAgfVxuXG4gICAgICAgIC5rLWFjdGlvbnNoZWV0LWZpbHRlciB7XG4gICAgICAgICAgICB3aWR0aDogY2FsYyggMzYwcHggLSAjeyRrZW5kby1hZGFwdGl2ZS1hY3Rpb25zaGVldC1oZWFkZXItcGFkZGluZy14fSAqIDIgKTtcbiAgICAgICAgfVxuICAgICAgICAuay1hY3Rpb25zaGVldC1jb250ZW50LFxuICAgICAgICAuay1hY3Rpb25zaGVldC1mb290ZXIge1xuICAgICAgICAgICAgbWFyZ2luLWlubGluZTogYXV0bztcbiAgICAgICAgICAgIHdpZHRoOiBtaW4oMTAwJSwgMzYwcHgpO1xuICAgICAgICB9XG5cbiAgICAgICAgLmstbGlzdC1jb250YWluZXIsXG4gICAgICAgIC5rLXRyZWV2aWV3IHtcbiAgICAgICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgfVxuICAgICAgICAuay1saXN0LWZpbHRlciB7XG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgIHBhZGRpbmctaW5saW5lOiAwO1xuICAgICAgICB9XG5cbiAgICAgICAgLmstbWVudS1ncm91cCB7XG4gICAgICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgICAgICBvdmVyZmxvdzogYXV0bztcbiAgICAgICAgICAgIHBvc2l0aW9uOiBzdGF0aWM7XG4gICAgICAgIH1cblxuICAgICAgICAuay1jYWxlbmRhciB7XG4gICAgICAgICAgICBtYXJnaW4taW5saW5lOiBhdXRvO1xuICAgICAgICAgICAgYm9yZGVyLXdpZHRoOiAwO1xuICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgfVxuXG4gICAgICAgIC5rLXRpbWVzZWxlY3RvciB7XG4gICAgICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgICAgICBib3JkZXItd2lkdGg6IDA7XG4gICAgICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xuXG4gICAgICAgICAgICAuay10aW1lLXBhcnQge1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGNvbnRlbnRzO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAuay10aW1lLWxpc3Qtd3JhcHBlciB7XG4gICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLmstZGF0ZXRpbWUtd3JhcCB7XG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICBmbGV4LWZsb3c6IGNvbHVtbiBub3dyYXA7XG4gICAgICAgIH1cbiAgICAgICAgLmstZGF0ZXRpbWUtc2VsZWN0b3Ige1xuICAgICAgICAgICAgZmxleDogMSAxIGF1dG87XG4gICAgICAgIH1cblxuICAgICAgICAuay1kYXRldGltZS1jYWxlbmRhci13cmFwIHtcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgdG9wOiAwO1xuICAgICAgICAgICAgbGVmdDogMDtcbiAgICAgICAgICAgIGJvdHRvbTogMDtcbiAgICAgICAgICAgIGZsZXg6IDAgMCAxMDAlO1xuICAgICAgICB9XG5cbiAgICAgICAgLmstZGF0ZXRpbWUtdGltZS13cmFwIHtcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgdG9wOiAwO1xuICAgICAgICAgICAgbGVmdDogMTAwJTtcbiAgICAgICAgICAgIGJvdHRvbTogMDtcbiAgICAgICAgICAgIGZsZXg6IDAgMCAxMDAlO1xuICAgICAgICB9XG5cbiAgICAgICAgLmstc2Nyb2xsYWJsZS13cmFwIHtcbiAgICAgICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgICAgIG92ZXJmbG93LXk6IGF1dG87XG4gICAgICAgIH1cblxuICAgICAgICAuay1kYXRhLXRhYmxlIHtcbiAgICAgICAgICAgIG1heC1oZWlnaHQ6IDEwMCU7XG4gICAgICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgIGZsZXgtZmxvdzogY29sdW1uIG5vd3JhcDtcbiAgICAgICAgfVxuXG4gICAgICAgIC5rLWNvbG9yZWRpdG9yIHtcbiAgICAgICAgICAgIG1pbi13aWR0aDogMTAwJTtcbiAgICAgICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgICAgIGJvcmRlcjogMDtcbiAgICAgICAgICAgIG92ZXJmbG93OiBhdXRvO1xuICAgICAgICAgICAgc2Nyb2xsYmFyLXdpZHRoOiBub25lO1xuICAgICAgICAgICAgYm94LXNoYWRvdzogbm9uZTtcblxuICAgICAgICAgICAgJjo6LXdlYmtpdC1zY3JvbGxiYXIge1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC5rLWNvbG9yZWRpdG9yLWhlYWRlciB7XG4gICAgICAgICAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLmstY29sb3JlZGl0b3Itdmlld3Mge1xuICAgICAgICAgICAgICAgIHBhZGRpbmctaW5saW5lOiAwO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLmstY29sb3JncmFkaWVudC1jYW52YXMge1xuICAgICAgICAgICAgLmstaHN2LWdyYWRpZW50IHtcbiAgICAgICAgICAgICAgICBhc3BlY3QtcmF0aW86IDE7XG4gICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgLy8gUlRMXG4gICAgLmstcnRsLFxuICAgIFtkaXI9XCJydGxcIl0ge1xuICAgICAgICAuay1hY3Rpb25zaGVldC10b3AsXG4gICAgICAgIC5rLWFjdGlvbnNoZWV0LWJvdHRvbSB7XG4gICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoIDUwJSApO1xuICAgICAgICB9XG4gICAgfVxuICAgIDppcyhbZGlyPVwicnRsXCJdLCAuay1ydGwpIC5rLWFjdGlvbnNoZWV0LXZpZXcuay1hY3Rpb25zaGVldC12aWV3LWFuaW1hdGVkIHtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKGNhbGMoMTAwJSAqICh2YXIoLS1rZW5kby1hY3Rpb25zaGVldC12aWV3LWN1cnJlbnQsIDEpIC0gMSkpKVxuICAgIH1cbn1cblxuQG1peGluIGtlbmRvLWFjdGlvbi1zaGVldC0tbGF5b3V0LWpxKCkge1xuXG4gICAgLmstYWN0aW9uc2hlZXQtanEge1xuICAgICAgICAmLmstYWN0aW9uc2hlZXQge1xuICAgICAgICAgICAgaGVpZ2h0OiBhdXRvO1xuICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICB9XG5cbiAgICAgICAgLmstYWN0aW9uc2hlZXQtaGVhZGVyIHtcbiAgICAgICAgICAgIEBleHRlbmQgLmstYWN0aW9uc2hlZXQtdGl0bGViYXIgIW9wdGlvbmFsO1xuICAgICAgICAgICAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7XG4gICAgICAgIH1cblxuICAgICAgICAuay1hY3Rpb25zaGVldC1hY3Rpb24ge1xuICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgfVxuICAgIH1cblxufVxuIiwiQHVzZSBcInNhc3M6bWFwXCI7XG5AdXNlIFwiLi4vY29yZS9faW5kZXguc2Nzc1wiIGFzICo7XG5cbi8vLyBIb3Jpem9udGFsIHBhZGRpbmcgb2YgdGhlIGFjdGlvbiBzaGVldC5cbi8vLyBAZ3JvdXAgYWN0aW9uLXNoZWV0XG4ka2VuZG8tYWN0aW9uc2hlZXQtcGFkZGluZy14OiBrLXNwYWNpbmcoMCkgIWRlZmF1bHQ7XG4vLy8gVmVydGljYWwgcGFkZGluZyBvZiB0aGUgYWN0aW9uIHNoZWV0LlxuLy8vIEBncm91cCBhY3Rpb24tc2hlZXRcbiRrZW5kby1hY3Rpb25zaGVldC1wYWRkaW5nLXk6IGstc3BhY2luZygwKSAhZGVmYXVsdDtcbi8vLyBXaWR0aCBvZiB0aGUgYWN0aW9uIHNoZWV0LlxuLy8vIEBncm91cCBhY3Rpb24tc2hlZXRcbiRrZW5kby1hY3Rpb25zaGVldC13aWR0aDogMzYwcHggIWRlZmF1bHQ7XG4vLy8gTWF4aW11bSB3aWR0aCBvZiB0aGUgYWN0aW9uIHNoZWV0LlxuLy8vIEBncm91cCBhY3Rpb24tc2hlZXRcbiRrZW5kby1hY3Rpb25zaGVldC1tYXgtd2lkdGg6IDEwMCUgIWRlZmF1bHQ7XG4vLy8gSGVpZ2h0IG9mIHRoZSBhY3Rpb24gc2hlZXQuXG4vLy8gQGdyb3VwIGFjdGlvbi1zaGVldFxuJGtlbmRvLWFjdGlvbnNoZWV0LWhlaWdodDogNjB2aCAhZGVmYXVsdDtcbi8vLyBNYXhpbXVtIGhlaWdodCBvZiB0aGUgYWN0aW9uIHNoZWV0LlxuLy8vIEBncm91cCBhY3Rpb24tc2hlZXRcbiRrZW5kby1hY3Rpb25zaGVldC1tYXgtaGVpZ2h0OiA2MHZoICFkZWZhdWx0O1xuXG4vLy8gQm9yZGVyIHdpZHRoIGFyb3VuZCB0aGUgYWN0aW9uIHNoZWV0LlxuLy8vIEBncm91cCBhY3Rpb24tc2hlZXRcbiRrZW5kby1hY3Rpb25zaGVldC1ib3JkZXItd2lkdGg6IDBweCAhZGVmYXVsdDtcbi8vLyBCb3JkZXIgcmFkaXVzIG9mIHRoZSBhY3Rpb24gc2hlZXQuXG4vLy8gQGdyb3VwIGFjdGlvbi1zaGVldFxuJGtlbmRvLWFjdGlvbnNoZWV0LWJvcmRlci1yYWRpdXM6IDBweCAhZGVmYXVsdDtcblxuLy8vIEZvbnQgc2l6ZSBvZiB0aGUgYWN0aW9uIHNoZWV0LlxuLy8vIEBncm91cCBhY3Rpb24tc2hlZXRcbiRrZW5kby1hY3Rpb25zaGVldC1mb250LXNpemU6IHZhciggLS1rZW5kby1mb250LXNpemUsIGluaGVyaXQgKSAhZGVmYXVsdDtcbi8vLyBGb250IGZhbWlseSBvZiB0aGUgYWN0aW9uIHNoZWV0LlxuLy8vIEBncm91cCBhY3Rpb24tc2hlZXRcbiRrZW5kby1hY3Rpb25zaGVldC1mb250LWZhbWlseTogdmFyKCAtLWtlbmRvLWZvbnQtZmFtaWx5LCBpbmhlcml0ICkgIWRlZmF1bHQ7XG4vLy8gTGluZSBoZWlnaHQgb2YgdGhlIGFjdGlvbiBzaGVldC5cbi8vLyBAZ3JvdXAgYWN0aW9uLXNoZWV0XG4ka2VuZG8tYWN0aW9uc2hlZXQtbGluZS1oZWlnaHQ6IHZhciggLS1rZW5kby1saW5lLWhlaWdodCwgaW5oZXJpdCApICFkZWZhdWx0O1xuXG4vLy8gQmFja2dyb3VuZCBjb2xvciBvZiB0aGUgYWN0aW9uIHNoZWV0LlxuLy8vIEBncm91cCBhY3Rpb24tc2hlZXRcbiRrZW5kby1hY3Rpb25zaGVldC1iZzogdmFyKCAtLWtlbmRvLWNvbXBvbmVudC1iZywgaW5pdGlhbCApICFkZWZhdWx0O1xuLy8vIFRleHQgY29sb3Igb2YgdGhlIGFjdGlvbiBzaGVldC5cbi8vLyBAZ3JvdXAgYWN0aW9uLXNoZWV0XG4ka2VuZG8tYWN0aW9uc2hlZXQtdGV4dDogdmFyKCAtLWtlbmRvLWNvbXBvbmVudC10ZXh0LCBpbml0aWFsICkgIWRlZmF1bHQ7XG4vLy8gQm9yZGVyIGNvbG9yIG9mIHRoZSBhY3Rpb24gc2hlZXQuXG4vLy8gQGdyb3VwIGFjdGlvbi1zaGVldFxuJGtlbmRvLWFjdGlvbnNoZWV0LWJvcmRlcjogdmFyKCAtLWtlbmRvLWNvbXBvbmVudC1ib3JkZXIsIGluaXRpYWwgKSAhZGVmYXVsdDtcbi8vLyBCb3ggc2hhZG93IG9mIHRoZSBhY3Rpb24gc2hlZXQuXG4vLy8gQGdyb3VwIGFjdGlvbi1zaGVldFxuJGtlbmRvLWFjdGlvbnNoZWV0LXNoYWRvdzogdmFyKCAtLWtlbmRvLWJveC1zaGFkb3ctZGVwdGgtNywgbm9uZSApICFkZWZhdWx0O1xuXG4vLy8gSG9yaXpvbnRhbCBwYWRkaW5nIG9mIHRoZSBhY3Rpb24gc2hlZXQgaGVhZGVyLlxuLy8vIEBncm91cCBhY3Rpb24tc2hlZXRcbiRrZW5kby1hY3Rpb25zaGVldC1oZWFkZXItcGFkZGluZy14OiBrLXNwYWNpbmcoNCkgIWRlZmF1bHQ7XG4vLy8gVmVydGljYWwgcGFkZGluZyBvZiB0aGUgYWN0aW9uIHNoZWV0IGhlYWRlci5cbi8vLyBAZ3JvdXAgYWN0aW9uLXNoZWV0XG4ka2VuZG8tYWN0aW9uc2hlZXQtaGVhZGVyLXBhZGRpbmcteTogay1zcGFjaW5nKDIpICFkZWZhdWx0O1xuLy8vIEJvcmRlciB3aWR0aCBvZiB0aGUgYWN0aW9uIHNoZWV0IGhlYWRlci5cbi8vLyBAZ3JvdXAgYWN0aW9uLXNoZWV0XG4ka2VuZG8tYWN0aW9uc2hlZXQtaGVhZGVyLWJvcmRlci13aWR0aDogMXB4ICFkZWZhdWx0O1xuLy8vIEZvbnQgc2l6ZSBvZiB0aGUgYWN0aW9uIHNoZWV0IGhlYWRlci5cbi8vLyBAZ3JvdXAgYWN0aW9uLXNoZWV0XG4ka2VuZG8tYWN0aW9uc2hlZXQtaGVhZGVyLWZvbnQtc2l6ZTogaW5oZXJpdCAhZGVmYXVsdDtcbi8vLyBGb250IGZhbWlseSBvZiB0aGUgYWN0aW9uIHNoZWV0IGhlYWRlci5cbi8vLyBAZ3JvdXAgYWN0aW9uLXNoZWV0XG4ka2VuZG8tYWN0aW9uc2hlZXQtaGVhZGVyLWZvbnQtZmFtaWx5OiBpbmhlcml0ICFkZWZhdWx0O1xuLy8vIExpbmUgaGVpZ2h0IG9mIHRoZSBhY3Rpb24gc2hlZXQgaGVhZGVyLlxuLy8vIEBncm91cCBhY3Rpb24tc2hlZXRcbiRrZW5kby1hY3Rpb25zaGVldC1oZWFkZXItbGluZS1oZWlnaHQ6IGluaGVyaXQgIWRlZmF1bHQ7XG4vLy8gU3BhY2luZyBiZXR3ZWVuIHRoZSBhY3Rpb24gc2hlZXQgaGVhZGVyIGdyb3Vwcy5cbi8vLyBAZ3JvdXAgYWN0aW9uLXNoZWV0XG4ka2VuZG8tYWN0aW9uc2hlZXQtaGVhZGVyLWdhcDogay1zcGFjaW5nKDQpICFkZWZhdWx0O1xuXG5cbi8vLyBCYWNrZ3JvdW5kIGNvbG9yIG9mIHRoZSBhY3Rpb24gc2hlZXQgaGVhZGVyLlxuLy8vIEBncm91cCBhY3Rpb24tc2hlZXRcbiRrZW5kby1hY3Rpb25zaGVldC1oZWFkZXItYmc6IGluaGVyaXQgIWRlZmF1bHQ7XG4vLy8gVGV4dCBjb2xvciBvZiB0aGUgYWN0aW9uIHNoZWV0IGhlYWRlci5cbi8vLyBAZ3JvdXAgYWN0aW9uLXNoZWV0XG4ka2VuZG8tYWN0aW9uc2hlZXQtaGVhZGVyLXRleHQ6IGluaGVyaXQgIWRlZmF1bHQ7XG4vLy8gQm9yZGVyIGNvbG9yIG9mIHRoZSBhY3Rpb24gc2hlZXQgaGVhZGVyLlxuLy8vIEBncm91cCBhY3Rpb24tc2hlZXRcbiRrZW5kby1hY3Rpb25zaGVldC1oZWFkZXItYm9yZGVyOiB2YXIoIC0ta2VuZG8tY29tcG9uZW50LWJvcmRlciwgaW5pdGlhbCApICFkZWZhdWx0O1xuLy8vIEJveCBzaGFkb3cgb2YgdGhlIGFjdGlvbiBzaGVldCBoZWFkZXIuXG4vLy8gQGdyb3VwIGFjdGlvbi1zaGVldFxuJGtlbmRvLWFjdGlvbnNoZWV0LWhlYWRlci1zaGFkb3c6IG5vbmUgIWRlZmF1bHQ7XG5cbi8vLyBGb250IHNpemUgb2YgdGhlIGFjdGlvbiBzaGVldCBzdWJ0aXRsZS5cbi8vLyBAZ3JvdXAgYWN0aW9uLXNoZWV0XG4ka2VuZG8tYWN0aW9uc2hlZXQtc3VidGl0bGUtZm9udC1zaXplOiB2YXIoIC0ta2VuZG8tZm9udC1zaXplLXNtLCBpbmhlcml0ICkgIWRlZmF1bHQ7XG4vLy8gTGluZSBoZWlnaHQgb2YgdGhlIGFjdGlvbiBzaGVldCBzdWJ0aXRsZS5cbi8vLyBAZ3JvdXAgYWN0aW9uLXNoZWV0XG4ka2VuZG8tYWN0aW9uc2hlZXQtc3VidGl0bGUtbGluZS1oZWlnaHQ6IHZhciggLS1rZW5kby1saW5lLWhlaWdodC1zbSwgaW5oZXJpdCApICFkZWZhdWx0O1xuLy8vIFRleHQgY29sb3Igb2YgdGhlIGFjdGlvbiBzaGVldCBzdWJ0aXRsZS5cbi8vLyBAZ3JvdXAgYWN0aW9uLXNoZWV0XG4ka2VuZG8tYWN0aW9uc2hlZXQtc3VidGl0bGUtdGV4dDogdmFyKCAtLWtlbmRvLXN1YnRsZS10ZXh0LCBpbmhlcml0ICkgIWRlZmF1bHQ7XG5cbi8vLyBCb3JkZXIgd2lkdGggb2YgdGhlIGFjdGlvbiBzaGVldCBmb290ZXIuXG4vLy8gQGdyb3VwIGFjdGlvbi1zaGVldFxuJGtlbmRvLWFjdGlvbnNoZWV0LWZvb3Rlci1ib3JkZXItd2lkdGg6IDFweCAhZGVmYXVsdDtcblxuLy8vIEJhY2tncm91bmQgY29sb3Igb2YgdGhlIGFjdGlvbiBzaGVldCBmb290ZXIuXG4vLy8gQGdyb3VwIGFjdGlvbi1zaGVldFxuJGtlbmRvLWFjdGlvbnNoZWV0LWZvb3Rlci1iZzogbnVsbCAhZGVmYXVsdDtcbi8vLyBUZXh0IGNvbG9yIG9mIHRoZSBhY3Rpb24gc2hlZXQgZm9vdGVyLlxuLy8vIEBncm91cCBhY3Rpb24tc2hlZXRcbiRrZW5kby1hY3Rpb25zaGVldC1mb290ZXItdGV4dDogbnVsbCAhZGVmYXVsdDtcbi8vLyBCb3JkZXIgY29sb3Igb2YgdGhlIGFjdGlvbiBzaGVldCBmb290ZXIuXG4vLy8gQGdyb3VwIGFjdGlvbi1zaGVldFxuJGtlbmRvLWFjdGlvbnNoZWV0LWZvb3Rlci1ib3JkZXI6IHZhciggLS1rZW5kby1jb21wb25lbnQtYm9yZGVyLCBpbml0aWFsICkgIWRlZmF1bHQ7XG4vLy8gQm94IHNoYWRvdyBvZiB0aGUgYWN0aW9uIHNoZWV0IGZvb3Rlci5cbi8vLyBAZ3JvdXAgYWN0aW9uLXNoZWV0XG4ka2VuZG8tYWN0aW9uc2hlZXQtZm9vdGVyLXNoYWRvdzogbnVsbCAhZGVmYXVsdDtcblxuLy8vIE1pbmltdW0gaGVpZ2h0IG9mIHRoZSBhY3Rpb24gc2hlZXQgaXRlbS5cbi8vLyBAZ3JvdXAgYWN0aW9uLXNoZWV0XG4ka2VuZG8tYWN0aW9uc2hlZXQtaXRlbS1taW4taGVpZ2h0OiA0MHB4ICFkZWZhdWx0O1xuLy8vIEhvcmlvem9udGFsIHBhZGRpbmcgb2YgdGhlIGFjdGlvbiBzaGVldCBpdGVtLlxuLy8vIEBncm91cCBhY3Rpb24tc2hlZXRcbiRrZW5kby1hY3Rpb25zaGVldC1pdGVtLXBhZGRpbmcteDogay1zcGFjaW5nKDQpICFkZWZhdWx0O1xuLy8vIFZlcnRpY2FsIHBhZGRpbmcgb2YgdGhlIGFjdGlvbiBzaGVldCBpdGVtLlxuLy8vIEBncm91cCBhY3Rpb24tc2hlZXRcbiRrZW5kby1hY3Rpb25zaGVldC1pdGVtLXBhZGRpbmcteTogay1zcGFjaW5nKDIpICFkZWZhdWx0O1xuLy8vIEJvcmRlciBhcm91bmQgdGhlIGFjdGlvbiBzaGVldCBpdGVtLlxuLy8vIEBncm91cCBhY3Rpb24tc2hlZXRcbiRrZW5kby1hY3Rpb25zaGVldC1pdGVtLWJvcmRlci13aWR0aDogMXB4ICFkZWZhdWx0O1xuLy8vIFNwYWNpbmcgYmV0d2VlbiB0aGUgaWNvbiBhbmQgdGhlIHRleHQgaW4gdGhlIGFjdGlvbiBzaGVldCBpdGVtLlxuLy8vIEBncm91cCBhY3Rpb24tc2hlZXRcbiRrZW5kby1hY3Rpb25zaGVldC1pdGVtLXNwYWNpbmc6IGstc3BhY2luZygyKSAhZGVmYXVsdDtcblxuLy8vIENvbG9yIG9mIHRoZSBhY3Rpb24gc2hlZXQgaXRlbSBpY29uLlxuLy8vIEBncm91cCBhY3Rpb24tc2hlZXRcbiRrZW5kby1hY3Rpb25zaGVldC1pdGVtLWljb24tY29sb3I6IGlmKCRrZW5kby1lbmFibGUtY29sb3Itc3lzdGVtLCBrLWNvbG9yKCBwcmltYXJ5ICksIGstZ2V0LXRoZW1lLWNvbG9yLXZhciggcHJpbWFyeS0xMTAgKSkgIWRlZmF1bHQ7XG5cbi8vLyBGb250IHdlaWdodCBvZiB0aGUgYWN0aW9uIHNoZWV0IGl0ZW0gdGV4dC5cbi8vLyBAZ3JvdXAgYWN0aW9uLXNoZWV0XG4ka2VuZG8tYWN0aW9uc2hlZXQtaXRlbS10aXRsZS1mb250LXdlaWdodDogaW5oZXJpdCAhZGVmYXVsdDtcbi8vLyBUcmFuc2Zvcm0gb2YgdGhlIGFjdGlvbiBzaGVldCBpdGVtIHRleHQuXG4vLy8gQGdyb3VwIGFjdGlvbi1zaGVldFxuJGtlbmRvLWFjdGlvbnNoZWV0LWl0ZW0tdGl0bGUtdGV4dC10cmFuc2Zvcm06IG5vbmUgIWRlZmF1bHQ7XG5cbi8vLyBGb250IHNpemUgb2YgdGhlIGFjdGlvbiBzaGVldCBpdGVtIGRlc2NyaXB0aW9uLlxuLy8vIEBncm91cCBhY3Rpb24tc2hlZXRcbiRrZW5kby1hY3Rpb25zaGVldC1pdGVtLWRlc2NyaXB0aW9uLWZvbnQtc2l6ZTogdmFyKCAtLWtlbmRvLWZvbnQtc2l6ZS1zbSwgaW5oZXJpdCApICFkZWZhdWx0O1xuLy8vIENvbG9yIG9mIHRoZSBhY3Rpb24gc2hlZXQgaXRlbSBkZXNjcmlwdGlvbi5cbi8vLyBAZ3JvdXAgYWN0aW9uLXNoZWV0XG4ka2VuZG8tYWN0aW9uc2hlZXQtaXRlbS1kZXNjcmlwdGlvbi10ZXh0OiB2YXIoIC0ta2VuZG8tc3VidGxlLXRleHQsIGluaGVyaXQgKSAhZGVmYXVsdDtcblxuLy8vIEhvdmVyIGJhY2tncm91bmQgY29sb3Igb2YgdGhlIGFjdGlvbiBzaGVldCBpdGVtLlxuLy8vIEBncm91cCBhY3Rpb24tc2hlZXRcbiRrZW5kby1hY3Rpb25zaGVldC1pdGVtLWhvdmVyLWJnOiB2YXIoIC0ta2VuZG8taG92ZXItYmcsIGluaGVyaXQgKSAhZGVmYXVsdDtcbi8vLyBIb3ZlciB0ZXh0IGNvbG9yIG9mIHRoZSBhY3Rpb24gc2hlZXQgaXRlbS5cbi8vLyBAZ3JvdXAgYWN0aW9uLXNoZWV0XG4ka2VuZG8tYWN0aW9uc2hlZXQtaXRlbS1ob3Zlci10ZXh0OiB2YXIoIC0ta2VuZG8taG92ZXItdGV4dCwgaW5oZXJpdCApICFkZWZhdWx0O1xuLy8vIEhvdmVyIGJvcmRlciBjb2xvciBvZiB0aGUgYWN0aW9uIHNoZWV0IGl0ZW0uXG4vLy8gQGdyb3VwIGFjdGlvbi1zaGVldFxuJGtlbmRvLWFjdGlvbnNoZWV0LWl0ZW0taG92ZXItYm9yZGVyOiBpbmhlcml0ICFkZWZhdWx0O1xuXG4vLy8gRm9jdXMgYmFja2dyb3VuZCBjb2xvciBvZiB0aGUgYWN0aW9uIHNoZWV0IGl0ZW0uXG4vLy8gQGdyb3VwIGFjdGlvbi1zaGVldFxuJGtlbmRvLWFjdGlvbnNoZWV0LWl0ZW0tZm9jdXMtYmc6IGluaGVyaXQgIWRlZmF1bHQ7XG4vLy8gRm9jdXMgdGV4dCBjb2xvciBvZiB0aGUgYWN0aW9uIHNoZWV0IGl0ZW0uXG4vLy8gQGdyb3VwIGFjdGlvbi1zaGVldFxuJGtlbmRvLWFjdGlvbnNoZWV0LWl0ZW0tZm9jdXMtdGV4dDogaW5oZXJpdCAhZGVmYXVsdDtcbi8vLyBGb2N1cyBib3JkZXIgY29sb3Igb2YgdGhlIGFjdGlvbiBzaGVldCBpdGVtLlxuLy8vIEBncm91cCBhY3Rpb24tc2hlZXRcbiRrZW5kby1hY3Rpb25zaGVldC1pdGVtLWZvY3VzLWJvcmRlcjogaW5oZXJpdCAhZGVmYXVsdDtcbi8vLyBGb2N1cyBvdXRsaW5lIGNvbG9yIG9mIHRoZSBhY3Rpb24gc2hlZXQgaXRlbS5cbi8vLyBAZ3JvdXAgYWN0aW9uLXNoZWV0XG4ka2VuZG8tYWN0aW9uc2hlZXQtaXRlbS1mb2N1cy1vdXRsaW5lOiB2YXIoIC0ta2VuZG8tb3V0bGluZS1jb2xvciwgaW5oZXJpdCApICFkZWZhdWx0O1xuLy8vIEZvY3VzIG91dGxpbmUgd2lkdGggb2YgdGhlIGFjdGlvbiBzaGVldCBpdGVtLlxuLy8vIEBncm91cCBhY3Rpb24tc2hlZXRcbiRrZW5kby1hY3Rpb25zaGVldC1pdGVtLWZvY3VzLW91dGxpbmUtd2lkdGg6IDFweCAhZGVmYXVsdDtcblxuLy8vIEZvY3VzIGFuZCBob3ZlciBiYWNrZ3JvdW5kIGNvbG9yIG9mIHRoZSBhY3Rpb24gc2hlZXQgaXRlbS5cbi8vLyBAZ3JvdXAgYWN0aW9uLXNoZWV0XG4ka2VuZG8tYWN0aW9uc2hlZXQtaXRlbS1mb2N1cy1ob3Zlci1iZzogJGtlbmRvLWFjdGlvbnNoZWV0LWl0ZW0taG92ZXItYmcgIWRlZmF1bHQ7XG4vLy8gRm9jdXMgYW5kIGhvdmVyIHRleHQgY29sb3Igb2YgdGhlIGFjdGlvbiBzaGVldCBpdGVtLlxuLy8vIEBncm91cCBhY3Rpb24tc2hlZXRcbiRrZW5kby1hY3Rpb25zaGVldC1pdGVtLWZvY3VzLWhvdmVyLXRleHQ6ICRrZW5kby1hY3Rpb25zaGVldC1pdGVtLWhvdmVyLXRleHQgIWRlZmF1bHQ7XG4vLy8gRm9jdXMgYW5kIGhvdmVyIGJvcmRlciBjb2xvciBvZiB0aGUgYWN0aW9uIHNoZWV0IGl0ZW0uXG4vLy8gQGdyb3VwIGFjdGlvbi1zaGVldFxuJGtlbmRvLWFjdGlvbnNoZWV0LWl0ZW0tZm9jdXMtaG92ZXItYm9yZGVyOiAka2VuZG8tYWN0aW9uc2hlZXQtaXRlbS1ob3Zlci1ib3JkZXIgIWRlZmF1bHQ7XG5cbi8vLyBEaXNhYmxlZCBiYWNrZ3JvdW5kIGNvbG9yIG9mIHRoZSBhY3Rpb24gc2hlZXQgaXRlbS5cbi8vLyBAZ3JvdXAgYWN0aW9uLXNoZWV0XG4ka2VuZG8tYWN0aW9uc2hlZXQtaXRlbS1kaXNhYmxlZC1iZzogJGtlbmRvLWFjdGlvbnNoZWV0LWJnICFkZWZhdWx0O1xuLy8vIERpc2FibGVkIHRleHQgY29sb3Igb2YgdGhlIGFjdGlvbiBzaGVldCBpdGVtLlxuLy8vIEBncm91cCBhY3Rpb24tc2hlZXRcbiRrZW5kby1hY3Rpb25zaGVldC1pdGVtLWRpc2FibGVkLXRleHQ6IHZhciggLS1rZW5kby1kaXNhYmxlZC10ZXh0LCBpbmhlcml0ICkgIWRlZmF1bHQ7XG4vLy8gRGlzYWJsZWQgYm9yZGVyIGNvbG9yIG9mIHRoZSBhY3Rpb24gc2hlZXQgaXRlbS5cbi8vLyBAZ3JvdXAgYWN0aW9uLXNoZWV0XG4ka2VuZG8tYWN0aW9uc2hlZXQtaXRlbS1kaXNhYmxlZC1ib3JkZXI6IHZhciggLS1rZW5kby1kaXNhYmxlZC1ib3JkZXIsIGluaGVyaXQgKSAhZGVmYXVsdDtcblxuXG4vLyBBZGFwdGl2ZSBBY3Rpb25zaGVldFxuXG4vLy8gRm9udCBzaXplIG9mIHRoZSBhZGFwdGl2ZSBhY3Rpb24gc2hlZXQuXG4ka2VuZG8tYWRhcHRpdmUtYWN0aW9uc2hlZXQtZm9udC1zaXplOiAka2VuZG8tZm9udC1zaXplLWxnICFkZWZhdWx0O1xuXG4vLy8gVmVydGljYWwgcGFkZGluZyBvZiB0aGUgYWRhcHRpdmUgYWN0aW9uIHNoZWV0IHRpdGxlYmFyLlxuLy8vIEBncm91cCBhY3Rpb24tc2hlZXRcbiRrZW5kby1hZGFwdGl2ZS1hY3Rpb25zaGVldC1oZWFkZXItcGFkZGluZy15OiBrLXNwYWNpbmcoNCkgIWRlZmF1bHQ7XG4vLy8gSG9yaXpvbnRhbCBwYWRkaW5nIG9mIHRoZSBhZGFwdGl2ZSBhY3Rpb24gc2hlZXQgdGl0bGViYXIuXG4vLy8gQGdyb3VwIGFjdGlvbi1zaGVldFxuJGtlbmRvLWFkYXB0aXZlLWFjdGlvbnNoZWV0LWhlYWRlci1wYWRkaW5nLXg6ICRrZW5kby1hZGFwdGl2ZS1hY3Rpb25zaGVldC1oZWFkZXItcGFkZGluZy15ICFkZWZhdWx0O1xuXG4vLy8gVmVydGljYWwgcGFkZGluZyBvZiB0aGUgYWRhcHRpdmUgYWN0aW9uIHNoZWV0IGNvbnRlbnQuXG4vLy8gQGdyb3VwIGFjdGlvbi1zaGVldFxuJGtlbmRvLWFkYXB0aXZlLWFjdGlvbnNoZWV0LWNvbnRlbnQtcGFkZGluZy15OiBrLXNwYWNpbmcoMikgIWRlZmF1bHQ7XG4vLy8gSG9yaXpvbnRhbCBwYWRkaW5nIG9mIHRoZSBhZGFwdGl2ZSBhY3Rpb24gc2hlZXQgY29udGVudC5cbi8vLyBAZ3JvdXAgYWN0aW9uLXNoZWV0XG4ka2VuZG8tYWRhcHRpdmUtYWN0aW9uc2hlZXQtY29udGVudC1wYWRkaW5nLXg6IGstc3BhY2luZyg0KSAhZGVmYXVsdDtcblxuLy8vIFZlcnRpY2FsIHBhZGRpbmcgb2YgdGhlIGFkYXB0aXZlIGFjdGlvbiBzaGVldCBmb290ZXIuXG4vLy8gQGdyb3VwIGFjdGlvbi1zaGVldFxuJGtlbmRvLWFkYXB0aXZlLWFjdGlvbnNoZWV0LWZvb3Rlci1wYWRkaW5nLXk6IGstc3BhY2luZygyKSAhZGVmYXVsdDtcbi8vLyBIb3Jpem9udGFsIHBhZGRpbmcgb2YgdGhlIGFkYXB0aXZlIGFjdGlvbiBzaGVldCBmb290ZXIuXG4vLy8gQGdyb3VwIGFjdGlvbi1zaGVldFxuJGtlbmRvLWFkYXB0aXZlLWFjdGlvbnNoZWV0LWZvb3Rlci1wYWRkaW5nLXg6IGstc3BhY2luZyg0KSAhZGVmYXVsdDtcbiIsIkB1c2UgXCIuLi9jb3JlL19pbmRleC5zY3NzXCIgYXMgKjtcbkB1c2UgXCIuL192YXJpYWJsZXMuc2Nzc1wiIGFzICo7XG5cbkBtaXhpbiBrZW5kby1hY3Rpb24tc2hlZXQtLXRoZW1lKCkge1xuXG4gICAgLy8gQWN0aW9uc2hlZXRcbiAgICAuay1hY3Rpb25zaGVldCB7XG4gICAgICAgIGNvbG9yOiB2YXIoIC0ta2VuZG8tYWN0aW9uc2hlZXQtdGV4dCwgI3ska2VuZG8tYWN0aW9uc2hlZXQtdGV4dH0gKTtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKCAtLWtlbmRvLWFjdGlvbnNoZWV0LWJnLCAjeyRrZW5kby1hY3Rpb25zaGVldC1iZ30gKTtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiB2YXIoIC0ta2VuZG8tYWN0aW9uc2hlZXQtYm9yZGVyLCAjeyRrZW5kby1hY3Rpb25zaGVldC1ib3JkZXJ9ICk7XG4gICAgICAgIEBpbmNsdWRlIGJveC1zaGFkb3coIHZhciggLS1rZW5kby1hY3Rpb25zaGVldC1zaGFkb3csICN7JGtlbmRvLWFjdGlvbnNoZWV0LXNoYWRvd30gKSApO1xuICAgIH1cblxuXG4gICAgLy8gQWN0aW9uc2hlZXQgaGVhZGVyXG4gICAgLmstYWN0aW9uc2hlZXQtaGVhZGVyIHtcbiAgICAgICAgY29sb3I6IHZhciggLS1rZW5kby1hY3Rpb25zaGVldC1oZWFkZXItdGV4dCwgI3ska2VuZG8tYWN0aW9uc2hlZXQtaGVhZGVyLXRleHR9ICk7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IHZhciggLS1rZW5kby1hY3Rpb25zaGVldC1oZWFkZXItYmcsICN7JGtlbmRvLWFjdGlvbnNoZWV0LWhlYWRlci1iZ30gKTtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiB2YXIoIC0ta2VuZG8tYWN0aW9uc2hlZXQtaGVhZGVyLWJvcmRlciwgI3ska2VuZG8tYWN0aW9uc2hlZXQtaGVhZGVyLWJvcmRlcn0gKTtcbiAgICAgICAgQGluY2x1ZGUgYm94LXNoYWRvdyggdmFyKCAtLWtlbmRvLWFjdGlvbnNoZWV0LWhlYWRlci1zaGFkb3csICN7JGtlbmRvLWFjdGlvbnNoZWV0LWhlYWRlci1zaGFkb3d9ICkgKTtcbiAgICB9XG4gICAgLmstYWN0aW9uc2hlZXQtZm9vdGVyIHtcbiAgICAgICAgY29sb3I6IHZhciggLS1rZW5kby1hY3Rpb25zaGVldC1mb290ZXItdGV4dCwgI3ska2VuZG8tYWN0aW9uc2hlZXQtZm9vdGVyLXRleHR9ICk7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IHZhciggLS1rZW5kby1hY3Rpb25zaGVldC1mb290ZXItYmcsICN7JGtlbmRvLWFjdGlvbnNoZWV0LWZvb3Rlci1iZ30gKTtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiB2YXIoIC0ta2VuZG8tYWN0aW9uc2hlZXQtZm9vdGVyLWJvcmRlciwgI3ska2VuZG8tYWN0aW9uc2hlZXQtZm9vdGVyLWJvcmRlcn0gKTtcbiAgICAgICAgQGluY2x1ZGUgYm94LXNoYWRvdyggdmFyKCAtLWtlbmRvLWFjdGlvbnNoZWV0LWZvb3Rlci1zaGFkb3csICN7JGtlbmRvLWFjdGlvbnNoZWV0LWZvb3Rlci1zaGFkb3d9ICkgKTtcbiAgICB9XG4gICAgLmstYWN0aW9uc2hlZXQtc3VidGl0bGUtdGV4dCB7XG4gICAgICAgIGNvbG9yOiB2YXIoIC0ta2VuZG8tYWN0aW9uc2hlZXQtc3VidGl0bGUtdGV4dCwgI3ska2VuZG8tYWN0aW9uc2hlZXQtc3VidGl0bGUtdGV4dH0gKTtcbiAgICB9XG5cbiAgICAvLyBBY3Rpb25zaGVldCBpdGVtc1xuICAgIC5rLWFjdGlvbnNoZWV0LWl0ZW1zIHt9XG5cblxuICAgIC8vIEFjdGlvbnNoZWV0IGl0ZW1cbiAgICAuay1hY3Rpb25zaGVldC1pdGVtIHt9XG5cbiAgICAvLyBBY3Rpb25zaGVldCBpdGVtIGljb25cbiAgICAuay1hY3Rpb25zaGVldC1pdGVtLWljb24ge1xuICAgICAgICBjb2xvcjogdmFyKCAtLWtlbmRvLWFjdGlvbnNoZWV0LWl0ZW0taWNvbi1jb2xvciwgI3ska2VuZG8tYWN0aW9uc2hlZXQtaXRlbS1pY29uLWNvbG9yfSApO1xuICAgIH1cblxuICAgIC8vIEFjdGlvbnNoZWV0IGl0ZW0gZGVzY3JpcHRpb25cbiAgICAuay1hY3Rpb25zaGVldC1pdGVtLWRlc2NyaXB0aW9uIHtcbiAgICAgICBjb2xvcjogdmFyKCAtLWtlbmRvLWFjdGlvbnNoZWV0LWl0ZW0tZGVzY3JpcHRpb24tdGV4dCwgI3ska2VuZG8tYWN0aW9uc2hlZXQtaXRlbS1kZXNjcmlwdGlvbi10ZXh0fSApO1xuICAgIH1cblxuXG4gICAgLy8gQWN0aW9uc2hlZXQgYWN0aW9uXG4gICAgLmstYWN0aW9uc2hlZXQtaXRlbSB7XG5cbiAgICAgICAgY29sb3I6IHZhciggLS1JTlRFUk5BTC0ta2VuZG8tYWN0aW9uc2hlZXQtaXRlbS10ZXh0LCBpbmhlcml0ICk7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IHZhciggLS1JTlRFUk5BTC0ta2VuZG8tYWN0aW9uc2hlZXQtaXRlbS1iZywgaW5oZXJpdCApO1xuICAgICAgICBib3JkZXItY29sb3I6IHZhciggLS1JTlRFUk5BTC0ta2VuZG8tYWN0aW9uc2hlZXQtaXRlbS1ib3JkZXIsIGluaGVyaXQgKTtcbiAgICAgICAgb3V0bGluZS1jb2xvcjogdmFyKCAtLUlOVEVSTkFMLS1rZW5kby1hY3Rpb25zaGVldC1pdGVtLW91dGxpbmUsIGluaGVyaXQgKTtcblxuICAgICAgICAvLyBIb3ZlciBzdGF0ZVxuICAgICAgICAmOmhvdmVyLFxuICAgICAgICAmLmstaG92ZXIge1xuICAgICAgICAgICAgLS1JTlRFUk5BTC0ta2VuZG8tYWN0aW9uc2hlZXQtaXRlbS10ZXh0OiB2YXIoIC0ta2VuZG8tYWN0aW9uc2hlZXQtaXRlbS1ob3Zlci10ZXh0LCAjeyRrZW5kby1hY3Rpb25zaGVldC1pdGVtLWhvdmVyLXRleHR9ICk7XG4gICAgICAgICAgICAtLUlOVEVSTkFMLS1rZW5kby1hY3Rpb25zaGVldC1pdGVtLWJnOiB2YXIoIC0ta2VuZG8tYWN0aW9uc2hlZXQtaXRlbS1ob3Zlci1iZywgI3ska2VuZG8tYWN0aW9uc2hlZXQtaXRlbS1ob3Zlci1iZ30gKTtcbiAgICAgICAgICAgIC0tSU5URVJOQUwtLWtlbmRvLWFjdGlvbnNoZWV0LWl0ZW0tYm9yZGVyOiB2YXIoIC0ta2VuZG8tYWN0aW9uc2hlZXQtaXRlbS1ob3Zlci1ib3JkZXIsICN7JGtlbmRvLWFjdGlvbnNoZWV0LWl0ZW0taG92ZXItYm9yZGVyfSApO1xuICAgICAgICB9XG5cblxuICAgICAgICAvLyBGb2N1cyBzdGF0ZVxuICAgICAgICAmOmZvY3VzLFxuICAgICAgICAmLmstZm9jdXMge1xuICAgICAgICAgICAgLS1JTlRFUk5BTC0ta2VuZG8tYWN0aW9uc2hlZXQtaXRlbS10ZXh0OiB2YXIoIC0ta2VuZG8tYWN0aW9uc2hlZXQtaXRlbS1mb2N1cy10ZXh0LCAjeyRrZW5kby1hY3Rpb25zaGVldC1pdGVtLWZvY3VzLXRleHR9ICk7XG4gICAgICAgICAgICAtLUlOVEVSTkFMLS1rZW5kby1hY3Rpb25zaGVldC1pdGVtLWJnOiB2YXIoIC0ta2VuZG8tYWN0aW9uc2hlZXQtaXRlbS1mb2N1cy1iZywgI3ska2VuZG8tYWN0aW9uc2hlZXQtaXRlbS1mb2N1cy1iZ30gKTtcbiAgICAgICAgICAgIC0tSU5URVJOQUwtLWtlbmRvLWFjdGlvbnNoZWV0LWl0ZW0tYm9yZGVyOiB2YXIoIC0ta2VuZG8tYWN0aW9uc2hlZXQtaXRlbS1mb2N1cy1ib3JkZXIsICN7JGtlbmRvLWFjdGlvbnNoZWV0LWl0ZW0tZm9jdXMtYm9yZGVyfSApO1xuICAgICAgICAgICAgLS1JTlRFUk5BTC0ta2VuZG8tYWN0aW9uc2hlZXQtaXRlbS1vdXRsaW5lOiB2YXIoIC0ta2VuZG8tYWN0aW9uc2hlZXQtaXRlbS1mb2N1cy1vdXRsaW5lLCAjeyRrZW5kby1hY3Rpb25zaGVldC1pdGVtLWZvY3VzLW91dGxpbmV9ICk7XG5cbiAgICAgICAgICAgICY6aG92ZXIsXG4gICAgICAgICAgICAmLmstaG92ZXIge1xuICAgICAgICAgICAgICAgIC0tSU5URVJOQUwtLWtlbmRvLWFjdGlvbnNoZWV0LWl0ZW0tdGV4dDogdmFyKCAtLWtlbmRvLWFjdGlvbnNoZWV0LWl0ZW0tZm9jdXMtaG92ZXItdGV4dCwgI3ska2VuZG8tYWN0aW9uc2hlZXQtaXRlbS1mb2N1cy1ob3Zlci10ZXh0fSApO1xuICAgICAgICAgICAgICAgIC0tSU5URVJOQUwtLWtlbmRvLWFjdGlvbnNoZWV0LWl0ZW0tYmc6IHZhciggLS1rZW5kby1hY3Rpb25zaGVldC1pdGVtLWZvY3VzLWhvdmVyLWJnLCAjeyRrZW5kby1hY3Rpb25zaGVldC1pdGVtLWZvY3VzLWhvdmVyLWJnfSApO1xuICAgICAgICAgICAgICAgIC0tSU5URVJOQUwtLWtlbmRvLWFjdGlvbnNoZWV0LWl0ZW0tYm9yZGVyOiB2YXIoIC0ta2VuZG8tYWN0aW9uc2hlZXQtaXRlbS1mb2N1cy1ob3Zlci1ib3JkZXIsICN7JGtlbmRvLWFjdGlvbnNoZWV0LWl0ZW0tZm9jdXMtaG92ZXItYm9yZGVyfSApO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cblxuICAgICAgICAvLyBEaXNhYmVkIHN0YXRlXG4gICAgICAgICY6ZGlzYWJsZWQsXG4gICAgICAgICYuay1kaXNhYmxlZCB7XG4gICAgICAgICAgICAtLUlOVEVSTkFMLS1rZW5kby1hY3Rpb25zaGVldC1pdGVtLXRleHQ6IHZhciggLS1rZW5kby1hY3Rpb25zaGVldC1pdGVtLWRpc2FibGVkLXRleHQsICN7JGtlbmRvLWFjdGlvbnNoZWV0LWl0ZW0tZGlzYWJsZWQtdGV4dH0gKTtcbiAgICAgICAgICAgIC0tSU5URVJOQUwtLWtlbmRvLWFjdGlvbnNoZWV0LWl0ZW0tYmc6IHZhciggLS1rZW5kby1hY3Rpb25zaGVldC1pdGVtLWRpc2FibGVkLWJnLCAjeyRrZW5kby1hY3Rpb25zaGVldC1pdGVtLWRpc2FibGVkLWJnfSApO1xuICAgICAgICAgICAgLS1JTlRFUk5BTC0ta2VuZG8tYWN0aW9uc2hlZXQtaXRlbS1ib3JkZXI6IHZhciggLS1rZW5kby1hY3Rpb25zaGVldC1pdGVtLWRpc2FibGVkLWJvcmRlciwgI3ska2VuZG8tYWN0aW9uc2hlZXQtaXRlbS1kaXNhYmxlZC1ib3JkZXJ9ICk7XG5cbiAgICAgICAgICAgIC5rLWFjdGlvbnNoZWV0LWl0ZW0tZGVzY3JpcHRpb24sXG4gICAgICAgICAgICAuay1hY3Rpb25zaGVldC1pdGVtLWljb24ge1xuICAgICAgICAgICAgICAgIGNvbG9yOiBpbmhlcml0O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgLy8gQWN0aW9uc2hlZXQgc2VwYXJhdG9yXG4gICAgLmstYWN0aW9uc2hlZXQgLmstaHIge1xuICAgICAgICBib3JkZXItY29sb3I6IHZhciggLS1rZW5kby1hY3Rpb25zaGVldC1ib3JkZXIsICN7JGtlbmRvLWFjdGlvbnNoZWV0LWJvcmRlcn0gKTtcbiAgICB9XG5cbn1cbiIsIlxuQHVzZSBcIi4uL2NvcmUvX2luZGV4LnNjc3NcIiBhcyAqO1xuQHVzZSBcIi4uL3dpbmRvdy9fdmFyaWFibGVzLnNjc3NcIiBhcyAqO1xuQHVzZSBcIi4vX3ZhcmlhYmxlcy5zY3NzXCIgYXMgKjtcblxuQG1peGluIGtlbmRvLWRpYWxvZy0tbGF5b3V0KCkge1xuXG4gICAgLmstZGlhbG9nLXdyYXBwZXIge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgICAgb3V0bGluZTogMDtcbiAgICAgICAgcG9zaXRpb246IGZpeGVkO1xuICAgICAgICB0b3A6IDA7XG4gICAgICAgIGxlZnQ6IDA7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgIHotaW5kZXg6IDEwMDAxO1xuXG4gICAgICAgIC5rLWRpYWxvZyB7XG4gICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAuay1kaWFsb2cge1xuICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgICBib3JkZXItd2lkdGg6IHZhciggLS1rZW5kby1kaWFsb2ctYm9yZGVyLXdpZHRoLCAjeyRrZW5kby1kaWFsb2ctYm9yZGVyLXdpZHRofSApIDAgMDtcbiAgICAgICAgcG9zaXRpb246IGZpeGVkO1xuICAgICAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuXG4gICAgICAgIC8vIENlbnRlcmVkXG4gICAgICAgICYuay1kaWFsb2ctY2VudGVyZWQge1xuICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgLTUwJSk7XG4gICAgICAgICAgICB0b3A6IDUwJTtcbiAgICAgICAgICAgIGxlZnQ6IDUwJTtcbiAgICAgICAgfVxuXG4gICAgICAgIC5rLW11bHRpc2VsZWN0IHtcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLy8gVGl0bGUgYmFyXG4gICAgLmstZGlhbG9nLXRpdGxlYmFyIHtcbiAgICAgICAgYm9yZGVyLXdpZHRoOiB2YXIoIC0ta2VuZG8tZGlhbG9nLXRpdGxlYmFyLWJvcmRlci13aWR0aCwgI3ska2VuZG8tZGlhbG9nLXRpdGxlYmFyLWJvcmRlci13aWR0aH0gKSAwIDA7XG4gICAgICAgIHBhZGRpbmctaW5saW5lOiB2YXIoIC0ta2VuZG8tZGlhbG9nLXRpdGxlYmFyLXBhZGRpbmcteCwgI3ska2VuZG8tZGlhbG9nLXRpdGxlYmFyLXBhZGRpbmcteH0gKTtcbiAgICAgICAgcGFkZGluZy1ibG9jazogdmFyKCAtLWtlbmRvLWRpYWxvZy10aXRsZWJhci1wYWRkaW5nLXksICN7JGtlbmRvLWRpYWxvZy10aXRsZWJhci1wYWRkaW5nLXl9ICk7XG4gICAgfVxuXG4gICAgLmstZGlhbG9nLWNvbnRlbnQge1xuICAgICAgICBwYWRkaW5nLWlubGluZTogdmFyKCAtLWtlbmRvLWRpYWxvZy1pbm5lci1wYWRkaW5nLXgsICN7JGtlbmRvLWRpYWxvZy1pbm5lci1wYWRkaW5nLXh9ICk7XG4gICAgICAgIHBhZGRpbmctYmxvY2s6IHZhciggLS1rZW5kby1kaWFsb2ctaW5uZXItcGFkZGluZy15LCAjeyRrZW5kby1kaWFsb2ctaW5uZXItcGFkZGluZy15fSApO1xuICAgIH1cblxuICAgIC8vIEJ1dHRvbnNcbiAgICAuay1kaWFsb2ctYWN0aW9ucyB7XG4gICAgICAgIEBpbmNsdWRlIGJvcmRlci1ib3R0b20tcmFkaXVzKCB2YXIoIC0ta2VuZG8td2luZG93LWJvcmRlci1yYWRpdXMsICN7JGtlbmRvLXdpbmRvdy1ib3JkZXItcmFkaXVzfSApICk7XG4gICAgICAgIHBhZGRpbmctaW5saW5lOiB2YXIoIC0ta2VuZG8tZGlhbG9nLWJ1dHRvbmdyb3VwLXBhZGRpbmcteCwgI3ska2VuZG8tZGlhbG9nLWJ1dHRvbmdyb3VwLXBhZGRpbmcteH0gKTtcbiAgICAgICAgcGFkZGluZy1ibG9jazogdmFyKCAtLWtlbmRvLWRpYWxvZy1idXR0b25ncm91cC1wYWRkaW5nLXksICN7JGtlbmRvLWRpYWxvZy1idXR0b25ncm91cC1wYWRkaW5nLXl9ICk7XG4gICAgICAgIGJvcmRlci13aWR0aDogdmFyKCAtLWtlbmRvLWRpYWxvZy1idXR0b25ncm91cC1ib3JkZXItd2lkdGgsICN7JGtlbmRvLWRpYWxvZy1idXR0b25ncm91cC1ib3JkZXItd2lkdGh9ICkgMCAwO1xuICAgICAgICBib3JkZXItc3R5bGU6IHNvbGlkO1xuICAgICAgICBib3JkZXItY29sb3I6IGluaGVyaXQ7XG4gICAgICAgIGZsZXg6IDAgMCBhdXRvO1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBmbGV4LWZsb3c6IHJvdyB3cmFwO1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICBnYXA6IHZhciggLS1rZW5kby1kaWFsb2ctYnV0dG9uZ3JvdXAtc3BhY2luZywgI3ska2VuZG8tZGlhbG9nLWJ1dHRvbmdyb3VwLXNwYWNpbmd9ICk7XG4gICAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgfVxuXG4gICAgLmstZGlhbG9nLWNvbnRlbnQgKyAuay1kaWFsb2ctYWN0aW9ucyB7XG4gICAgICAgIHBhZGRpbmctYmxvY2stc3RhcnQ6IDA7XG4gICAgfVxuXG59XG4iLCJAdXNlIFwic2FzczptYXBcIjtcbkB1c2UgXCIuLi9jb3JlL19pbmRleC5zY3NzXCIgYXMgKjtcbkB1c2UgXCIuL192YXJpYWJsZXMuc2Nzc1wiIGFzICo7XG5cbkBtaXhpbiBrZW5kby1kaWFsb2ctLXRoZW1lKCkge1xuXG4gICAgLmstZGlhbG9nIHtcbiAgICAgICAgQGluY2x1ZGUgYm94LXNoYWRvdyggdmFyKCAtLWtlbmRvLWRpYWxvZy1zaGFkb3csICN7JGtlbmRvLWRpYWxvZy1zaGFkb3d9ICkgKTtcbiAgICB9XG5cbiAgICAvLyBUaXRsZVxuICAgIC5rLWRpYWxvZy10aXRsZWJhciB7XG4gICAgICAgIEBpbmNsdWRlIGZpbGwoXG4gICAgICAgICAgICAkYmc6IHZhciggLS1rZW5kby1kaWFsb2ctdGl0bGViYXItYmcsICN7JGtlbmRvLWRpYWxvZy10aXRsZWJhci1iZ30gKSxcbiAgICAgICAgICAgICRib3JkZXI6IHZhciggLS1rZW5kby1kaWFsb2ctdGl0bGViYXItYm9yZGVyLCAjeyRrZW5kby1kaWFsb2ctdGl0bGViYXItYm9yZGVyfSApLFxuICAgICAgICApO1xuXG4gICAgICAgIEBpbmNsdWRlIGJveC1zaGFkb3cobm9uZSk7XG4gICAgfVxuXG4gICAgLmstZGlhbG9nLXRpdGxlIHtcbiAgICAgICAgY29sb3I6IHZhciggLS1rZW5kby1kaWFsb2ctdGl0bGViYXItdGV4dCwgI3ska2VuZG8tZGlhbG9nLXRpdGxlYmFyLXRleHR9ICk7XG4gICAgfVxuXG4gICAgLy8gZGlhbG9nIHRoZW1lIGNvbG9yc1xuICAgIEBlYWNoICR0aGVtZS1jb2xvciwgJGNvbG9yLXByb3BzIGluICRrZW5kby1kaWFsb2ctdGhlbWUtY29sb3JzIHtcblxuICAgICAgICAkX3RleHQ6IG1hcC5nZXQoICRjb2xvci1wcm9wcywgdGV4dCApO1xuICAgICAgICAkX2JnOiBtYXAuZ2V0KCAkY29sb3ItcHJvcHMsIGJnICk7XG4gICAgICAgICRfYm9yZGVyOiBtYXAuZ2V0KCAkY29sb3ItcHJvcHMsIGJvcmRlciApO1xuXG4gICAgICAgIC5rLWRpYWxvZy0jeyR0aGVtZS1jb2xvcn0gLmstZGlhbG9nLXRpdGxlYmFyIHtcbiAgICAgICAgICAgIGNvbG9yOiB2YXIoIC0ta2VuZG8tZGlhbG9nLXRpdGxlYmFyLXRleHQsICN7JGtlbmRvLWRpYWxvZy10aXRsZWJhci10ZXh0fSApO1xuXG4gICAgICAgICAgICAtLWtlbmRvLWRpYWxvZy10aXRsZWJhci10ZXh0OiB2YXIoIC0ta2VuZG8tZGlhbG9nLSN7JHRoZW1lLWNvbG9yfS10ZXh0LCAjeyRfdGV4dH0gKTtcbiAgICAgICAgICAgIC0ta2VuZG8tZGlhbG9nLXRpdGxlYmFyLWJnOiB2YXIoIC0ta2VuZG8tZGlhbG9nLSN7JHRoZW1lLWNvbG9yfS1iZywgI3skX2JnfSApO1xuICAgICAgICAgICAgLS1rZW5kby1kaWFsb2ctdGl0bGViYXItYm9yZGVyOiB2YXIoIC0ta2VuZG8tZGlhbG9nLSN7JHRoZW1lLWNvbG9yfS1ib3JkZXIsICN7JF9ib3JkZXJ9ICk7XG4gICAgICAgIH1cbiAgICB9XG5cbn1cbiIsIkB1c2UgXCIuLi9jb3JlL19pbmRleC5zY3NzXCIgYXMgKjtcbkB1c2UgXCIuL192YXJpYWJsZXMuc2Nzc1wiIGFzICo7XG5cbkBtaXhpbiBrZW5kby1kcmF3ZXItLWxheW91dCgpIHtcblxuICAgIC8vIENvbnRhaW5lclxuICAgIC5rLWRyYXdlci1jb250YWluZXIge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBmbGV4LWZsb3c6IHJvdyBub3dyYXA7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0O1xuICAgIH1cblxuICAgIGtlbmRvLWRyYXdlci5rLWRyYXdlcixcbiAgICBrZW5kby1kcmF3ZXIgLmstZHJhd2VyLXdyYXBwZXIge1xuICAgICAgICB0cmFuc2l0aW9uOiBub25lO1xuICAgIH1cblxuXG4gICAgLy8gRHJhd2VyXG4gICAgLmstZHJhd2VyIHtcbiAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgICAgIGJvcmRlci13aWR0aDogMDtcbiAgICAgICAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcbiAgICAgICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICAgICAgb3V0bGluZTogMDtcbiAgICAgICAgZm9udC1mYW1pbHk6IHZhciggLS1rZW5kby1kcmF3ZXItZm9udC1mYW1pbHksICN7JGtlbmRvLWRyYXdlci1mb250LWZhbWlseX0gKTtcbiAgICAgICAgZm9udC1zaXplOiB2YXIoIC0ta2VuZG8tZHJhd2VyLWZvbnQtc2l6ZSwgI3ska2VuZG8tZHJhd2VyLWZvbnQtc2l6ZX0gKTtcbiAgICAgICAgbGluZS1oZWlnaHQ6IHZhciggLS1rZW5kby1kcmF3ZXItbGluZS1oZWlnaHQsICN7JGtlbmRvLWRyYXdlci1saW5lLWhlaWdodH0gKTtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgICAgZmxleDogMCAwIGF1dG87XG4gICAgICAgIHRyYW5zaXRpb246IGFsbCAzMDBtcyBlYXNlLWluLW91dDtcbiAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAgICAgLXdlYmtpdC10b3VjaC1jYWxsb3V0OiBub25lO1xuICAgICAgICAtd2Via2l0LXRhcC1oaWdobGlnaHQtY29sb3I6ICRrZW5kby1jb2xvci1yZ2JhLXRyYW5zcGFyZW50O1xuXG4gICAgICAgICosXG4gICAgICAgICo6OmJlZm9yZSxcbiAgICAgICAgKjo6YWZ0ZXIge1xuICAgICAgICAgICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICAgICAgfVxuXG4gICAgICAgIC8vIEJvcmRlcnNcbiAgICAgICAgLmstZHJhd2VyLW1pbmkgJi5rLWRyYXdlci1zdGFydCxcbiAgICAgICAgLmstZHJhd2VyLWV4cGFuZGVkICYuay1kcmF3ZXItc3RhcnQge1xuICAgICAgICAgICAgYm9yZGVyLWlubGluZS1lbmQtd2lkdGg6IHZhciggLS1rZW5kby1kcmF3ZXItYm9yZGVyLXdpZHRoLCAjeyRrZW5kby1kcmF3ZXItYm9yZGVyLXdpZHRofSApO1xuICAgICAgICB9XG5cbiAgICAgICAgLmstZHJhd2VyLW1pbmkgJi5rLWRyYXdlci1lbmQsXG4gICAgICAgIC5rLWRyYXdlci1leHBhbmRlZCAmLmstZHJhd2VyLWVuZCB7XG4gICAgICAgICAgICBib3JkZXItaW5saW5lLXN0YXJ0LXdpZHRoOiB2YXIoIC0ta2VuZG8tZHJhd2VyLWJvcmRlci13aWR0aCwgI3ska2VuZG8tZHJhd2VyLWJvcmRlci13aWR0aH0gKTtcbiAgICAgICAgfVxuXG4gICAgICAgIC8vIFBvc2l0aW9uXG4gICAgICAgICYuay1kcmF3ZXItc3RhcnQge1xuICAgICAgICAgICAgdG9wOiAwO1xuICAgICAgICAgICAgaW5zZXQtaW5saW5lLXN0YXJ0OiAwO1xuICAgICAgICB9XG4gICAgICAgICYuay1kcmF3ZXItZW5kIHtcbiAgICAgICAgICAgIHRvcDogMDtcbiAgICAgICAgICAgIGluc2V0LWlubGluZS1lbmQ6IDA7XG4gICAgICAgIH1cbiAgICB9XG5cblxuICAgIC8vIENvbnRlbnRcbiAgICAuay1kcmF3ZXItY29udGVudCB7XG4gICAgICAgIGZsZXg6IDEgMSBhdXRvO1xuICAgICAgICBvdmVyZmxvdzogYXV0bztcbiAgICAgICAgcGFkZGluZy1ibG9jazogdmFyKCAtLWtlbmRvLWRyYXdlci1jb250ZW50LXBhZGRpbmcteSwgI3ska2VuZG8tZHJhd2VyLWNvbnRlbnQtcGFkZGluZy15fSApO1xuICAgICAgICBwYWRkaW5nLWlubGluZTogdmFyKCAtLWtlbmRvLWRyYXdlci1jb250ZW50LXBhZGRpbmcteCwgI3ska2VuZG8tZHJhd2VyLWNvbnRlbnQtcGFkZGluZy14fSApO1xuICAgIH1cblxuXG4gICAgLy8gT3ZlcmxheVxuICAgIC5rLWRyYXdlci1vdmVybGF5IHtcbiAgICAgICAgLmstZHJhd2VyIHtcbiAgICAgICAgICAgIG1heC13aWR0aDogODB2dzsgLy8gbGltaXQgd2lkdGhcbiAgICAgICAgICAgIHBvc2l0aW9uOiBmaXhlZDtcbiAgICAgICAgICAgIHotaW5kZXg6IDEwMDAyO1xuICAgICAgICAgICAgYm9yZGVyOiAwO1xuICAgICAgICB9XG5cbiAgICAgICAgPiAuay1vdmVybGF5IHtcbiAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgIH1cbiAgICAgICAgJi5rLWRyYXdlci1leHBhbmRlZCA+IC5rLW92ZXJsYXkge1xuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIH1cbiAgICB9XG5cblxuICAgIC8vIFB1c2ggZHJhd2VyXG4gICAgLmstZHJhd2VyLXB1c2gge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xuXG4gICAgICAgIC5rLWRyYXdlciB7XG4gICAgICAgICAgICBoZWlnaHQ6IGF1dG87XG4gICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgICAgICBhbGlnbi1zZWxmOiBzdHJldGNoO1xuICAgICAgICB9XG5cbiAgICAgICAgJjpoYXMoLmstZHJhd2VyLmstZHJhd2VyLWVuZCkge1xuICAgICAgICAgICAgZmxleC1kaXJlY3Rpb246IHJvdy1yZXZlcnNlO1xuICAgICAgICB9XG4gICAgfVxuXG5cbiAgICAvLyBEcmF3ZXIgaXRlbXNcbiAgICAuay1kcmF3ZXItd3JhcHBlciB7XG4gICAgICAgIG92ZXJmbG93LXg6IGhpZGRlbjtcbiAgICAgICAgb3ZlcmZsb3cteTogYXV0bztcbiAgICAgICAgc2Nyb2xsYmFyLXdpZHRoOiB0aGluOyAvLyBTY3JvbGxiYXIgc3R5bGVzIGZvciBNb3ppbGxhXG4gICAgICAgIHRyYW5zaXRpb246IGFsbCAzMDBtcyBlYXNlLWluLW91dDtcblxuICAgICAgICAvLyBTY3JvbGxiYXIgc3R5bGVzIGZvciBDaHJvbWUsIFNhZmFyaSBhbmQgT3BlcmFcbiAgICAgICAgJjo6LXdlYmtpdC1zY3JvbGxiYXIge1xuICAgICAgICAgICAgd2lkdGg6IHZhciggLS1rZW5kby1kcmF3ZXItc2Nyb2xsYmFyLXdpZHRoLCAjeyRrZW5kby1kcmF3ZXItc2Nyb2xsYmFyLXdpZHRofSApO1xuICAgICAgICB9XG4gICAgICAgICY6Oi13ZWJraXQtc2Nyb2xsYmFyLXRodW1iIHtcbiAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IHZhciggLS1rZW5kby1kcmF3ZXItc2Nyb2xsYmFyLXJhZGl1cywgI3ska2VuZG8tZHJhd2VyLXNjcm9sbGJhci1yYWRpdXN9ICk7XG4gICAgICAgIH1cbiAgICB9XG4gICAgLmstZHJhd2VyLWl0ZW1zIHtcbiAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgICBsaXN0LXN0eWxlOiBub25lO1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgICBhbGlnbi1pdGVtczogc3RyZXRjaDtcbiAgICB9XG5cbiAgICAuay1kcmF3ZXItaXRlbSB7XG4gICAgICAgIHBhZGRpbmctaW5saW5lOiB2YXIoIC0ta2VuZG8tZHJhd2VyLWl0ZW0tcGFkZGluZy14LCAjeyRrZW5kby1kcmF3ZXItaXRlbS1wYWRkaW5nLXh9ICk7XG4gICAgICAgIHBhZGRpbmctYmxvY2s6IHZhciggLS1rZW5kby1kcmF3ZXItaXRlbS1wYWRkaW5nLXksICN7JGtlbmRvLWRyYXdlci1pdGVtLXBhZGRpbmcteX0gKTtcbiAgICAgICAgb3V0bGluZTogMDtcbiAgICAgICAgY29sb3I6IGluaGVyaXQ7XG4gICAgICAgIGZvbnQtc2l6ZTogdmFyKCAtLWtlbmRvLWRyYXdlci1pdGVtLWZvbnQtc2l6ZSwgI3ska2VuZG8tZHJhd2VyLWl0ZW0tZm9udC1zaXplfSApO1xuICAgICAgICBsaW5lLWhlaWdodDogdmFyKCAtLWtlbmRvLWRyYXdlci1pdGVtLWxpbmUtaGVpZ2h0LCAjeyRrZW5kby1kcmF3ZXItaXRlbS1saW5lLWhlaWdodH0gKTtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICBmbGV4LWZsb3c6IHJvdyBub3dyYXA7XG4gICAgICAgIGdhcDogdmFyKCAtLWtlbmRvLWRyYXdlci1pdGVtLXBhZGRpbmcteCwgI3ska2VuZG8tZHJhd2VyLWl0ZW0tcGFkZGluZy14fSApO1xuICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XG5cbiAgICAgICAgJjo6YmVmb3JlIHtcbiAgICAgICAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICAgICAgICBib3JkZXItd2lkdGg6IDA7XG4gICAgICAgICAgICBib3JkZXItaW5saW5lLXN0YXJ0LXdpZHRoOiB2YXIoIC0ta2VuZG8tZHJhd2VyLWl0ZW0tcmlwcGxlLWJvcmRlci13aWR0aCwgI3ska2VuZG8tZHJhd2VyLWl0ZW0tcmlwcGxlLWJvcmRlci13aWR0aH0gKTtcbiAgICAgICAgICAgIGJvcmRlci1zdHlsZTogc29saWQ7XG4gICAgICAgICAgICBib3JkZXItY29sb3I6IHZhciggLS1rZW5kby1kcmF3ZXItaXRlbS1yaXBwbGUtYm9yZGVyLCAjeyRrZW5kby1kcmF3ZXItaXRlbS1yaXBwbGUtYm9yZGVyfSApO1xuICAgICAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICBpbnNldC1ibG9jay1zdGFydDogMDtcbiAgICAgICAgICAgIHotaW5kZXg6IDI7XG4gICAgICAgICAgICBvcGFjaXR5OiAwO1xuICAgICAgICAgICAgdHJhbnNpdGlvbjogb3BhY2l0eSAuM3M7XG4gICAgICAgICAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgICAgICAgfVxuXG4gICAgICAgID4gLmstZHJhd2VyLWxpbmsge1xuICAgICAgICAgICAgbWFyZ2luLWlubGluZTogY2FsYyggdmFyKCAtLWtlbmRvLWRyYXdlci1pdGVtLXBhZGRpbmcteCwgI3ska2VuZG8tZHJhd2VyLWl0ZW0tcGFkZGluZy14fSApICogLTEgKTtcbiAgICAgICAgICAgIG1hcmdpbi1ibG9jazogY2FsYyggdmFyKCAtLWtlbmRvLWRyYXdlci1pdGVtLXBhZGRpbmcteSwgI3ska2VuZG8tZHJhd2VyLWl0ZW0tcGFkZGluZy15fSApICogLTEgKTtcbiAgICAgICAgICAgIHBhZGRpbmctaW5saW5lOiB2YXIoIC0ta2VuZG8tZHJhd2VyLWl0ZW0tcGFkZGluZy14LCAjeyRrZW5kby1kcmF3ZXItaXRlbS1wYWRkaW5nLXh9ICk7XG4gICAgICAgICAgICBwYWRkaW5nLWJsb2NrOiB2YXIoIC0ta2VuZG8tZHJhd2VyLWl0ZW0tcGFkZGluZy15LCAjeyRrZW5kby1kcmF3ZXItaXRlbS1wYWRkaW5nLXl9ICk7XG4gICAgICAgICAgICBjb2xvcjogaW5oZXJpdDtcbiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICBmbGV4LWZsb3c6IHJvdyBub3dyYXA7XG4gICAgICAgICAgICBmbGV4OiAxIDAgYXV0bztcbiAgICAgICAgICAgIGdhcDogdmFyKCAtLWtlbmRvLWRyYXdlci1pdGVtLXBhZGRpbmcteCwgI3ska2VuZG8tZHJhd2VyLWl0ZW0tcGFkZGluZy14fSApO1xuICAgICAgICB9XG5cbiAgICAgICAgLmstaWNvbiB7XG4gICAgICAgICAgICBmbGV4LXNocmluazogMDtcbiAgICAgICAgICAgIHBhZGRpbmctaW5saW5lOiB2YXIoIC0ta2VuZG8tZHJhd2VyLWljb24tcGFkZGluZy14LCAjeyRrZW5kby1kcmF3ZXItaWNvbi1wYWRkaW5nLXh9ICk7XG4gICAgICAgICAgICBwYWRkaW5nLWJsb2NrOiB2YXIoIC0ta2VuZG8tZHJhd2VyLWljb24tcGFkZGluZy15LCAjeyRrZW5kby1kcmF3ZXItaWNvbi1wYWRkaW5nLXl9ICk7XG4gICAgICAgICAgICBib3gtc2l6aW5nOiBjb250ZW50LWJveDtcblxuICAgICAgICAgICAgJi5rLWktbm9uZSB7XG4gICAgICAgICAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLmstaXRlbS10ZXh0IHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gICAgICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgICAgICAgICAgdGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7XG4gICAgICAgIH1cblxuICAgICAgICAmLmstc2VsZWN0ZWQge1xuICAgICAgICAgICAgJjo6YmVmb3JlIHtcbiAgICAgICAgICAgICAgICBvcGFjaXR5OiAxO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAuay1pdGVtLXRleHQge1xuICAgICAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiB2YXIoIC0ta2VuZG8tZHJhd2VyLWl0ZW0tc2VsZWN0ZWQtZm9udC13ZWlnaHQsICN7JGtlbmRvLWRyYXdlci1pdGVtLXNlbGVjdGVkLWZvbnQtd2VpZ2h0fSApO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLmstZHJhd2VyLXRvZ2dsZSB7XG4gICAgICAgICAgICBtYXJnaW4taW5saW5lLXN0YXJ0OiBhdXRvO1xuICAgICAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgfVxuXG4gICAgICAgIC8vIEhpZXJhcmNoeSBpdGVtc1xuICAgICAgICBAZm9yICRpIGZyb20gMSB0aHJvdWdoICRrZW5kby1kcmF3ZXItaXRlbS1sZXZlbC1jb3VudCB7XG4gICAgICAgICAgICAmLmstbGV2ZWwtI3skaX0ge1xuICAgICAgICAgICAgICAgIHBhZGRpbmctaW5saW5lLXN0YXJ0OiBjYWxjKCAoICRpICsgMSApICogdmFyKCAtLWtlbmRvLWRyYXdlci1pdGVtLWxldmVsLXBhZGRpbmcteCwgI3ska2VuZG8tZHJhd2VyLWl0ZW0tbGV2ZWwtcGFkZGluZy14fSApICk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICA6aXMoLmstZHJhd2VyLXN0YXJ0LCAuay1kcmF3ZXItbGVmdCkgLmstZHJhd2VyLWl0ZW06OmJlZm9yZSB7XG4gICAgICAgIGluc2V0LWlubGluZS1zdGFydDogMDtcbiAgICB9XG5cbiAgICA6aXMoLmstZHJhd2VyLWVuZCwgLmstZHJhd2VyLXJpZ2h0KSAuay1kcmF3ZXItaXRlbTo6YmVmb3JlIHtcbiAgICAgICAgaW5zZXQtaW5saW5lLWVuZDogMDtcbiAgICB9XG5cbiAgICAvLyBTZXBhcmF0b3JcbiAgICAuay1kcmF3ZXItc2VwYXJhdG9yIHtcbiAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgaGVpZ2h0OiAxcHg7XG4gICAgfVxuXG5cblxuICAgIC8vIE1pbmkgbW9kZVxuICAgIC5rLWRyYXdlci1taW5pIC5rLWRyYXdlci13cmFwcGVyIHtcbiAgICAgICAgd2lkdGg6IHZhciggLS1rZW5kby1kcmF3ZXItbWluaS1pbml0aWFsLXdpZHRoLCAjeyRrZW5kby1kcmF3ZXItbWluaS1pbml0aWFsLXdpZHRofSApO1xuICAgIH1cbn1cbiIsIkB1c2UgXCIuLi9jb3JlL19pbmRleC5zY3NzXCIgYXMgKjtcbkB1c2UgXCIuL192YXJpYWJsZXMuc2Nzc1wiIGFzICo7XG5cbkBtaXhpbiBrZW5kby1kcmF3ZXItLXRoZW1lKCkge1xuXG4gICAgLmstZHJhd2VyIHtcbiAgICAgICAgQGluY2x1ZGUgZmlsbChcbiAgICAgICAgICAgIHZhciggLS1rZW5kby1kcmF3ZXItdGV4dCwgI3ska2VuZG8tZHJhd2VyLXRleHR9ICksXG4gICAgICAgICAgICB2YXIoIC0ta2VuZG8tZHJhd2VyLWJnLCAjeyRrZW5kby1kcmF3ZXItYmd9ICksXG4gICAgICAgICAgICB2YXIoIC0ta2VuZG8tZHJhd2VyLWJvcmRlciwgI3ska2VuZG8tZHJhd2VyLWJvcmRlcn0gKVxuICAgICAgICApO1xuICAgIH1cblxuICAgIC8vIERyYXdlciBpdGVtc1xuICAgIC5rLWRyYXdlci13cmFwcGVyIHtcbiAgICAgICAgc2Nyb2xsYmFyLWNvbG9yOiB2YXIoIC0ta2VuZG8tZHJhd2VyLXNjcm9sbGJhci1jb2xvciwgI3ska2VuZG8tZHJhd2VyLXNjcm9sbGJhci1jb2xvcn0gKSB2YXIoIC0ta2VuZG8tZHJhd2VyLXNjcm9sbGJhci1iZywgI3ska2VuZG8tZHJhd2VyLXNjcm9sbGJhci1iZ30gKTtcblxuICAgICAgICAmOjotd2Via2l0LXNjcm9sbGJhci10cmFjayB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiB2YXIoIC0ta2VuZG8tZHJhd2VyLXNjcm9sbGJhci1iZywgI3ska2VuZG8tZHJhd2VyLXNjcm9sbGJhci1iZ30gKTtcbiAgICAgICAgfVxuICAgICAgICAmOjotd2Via2l0LXNjcm9sbGJhci10aHVtYiB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiB2YXIoIC0ta2VuZG8tZHJhd2VyLXNjcm9sbGJhci1jb2xvciwgI3ska2VuZG8tZHJhd2VyLXNjcm9sbGJhci1jb2xvcn0gKTtcbiAgICAgICAgfVxuICAgICAgICAmOjotd2Via2l0LXNjcm9sbGJhci10aHVtYjpob3ZlciB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiB2YXIoIC0ta2VuZG8tZHJhd2VyLXNjcm9sbGJhci1ob3Zlci1jb2xvciwgI3ska2VuZG8tZHJhd2VyLXNjcm9sbGJhci1ob3Zlci1jb2xvcn0gKTtcbiAgICAgICAgfVxuICAgIH1cbiAgICAuay1kcmF3ZXItaXRlbSB7XG4gICAgICAgIEBpbmNsdWRlIGZpbGwoXG4gICAgICAgICAgICB2YXIoIC0ta2VuZG8tZHJhd2VyLWl0ZW0tdGV4dCwgI3ska2VuZG8tZHJhd2VyLWl0ZW0tdGV4dH0gKSxcbiAgICAgICAgICAgIHZhciggLS1rZW5kby1kcmF3ZXItaXRlbS1iZywgI3ska2VuZG8tZHJhd2VyLWl0ZW0tYmd9IClcbiAgICAgICAgKTtcblxuICAgICAgICAuay1pY29uIHtcbiAgICAgICAgICAgIGNvbG9yOiB2YXIoIC0ta2VuZG8tZHJhd2VyLWl0ZW0taWNvbi10ZXh0LCAjeyRrZW5kby1kcmF3ZXItaXRlbS1pY29uLXRleHR9ICk7XG4gICAgICAgIH1cblxuICAgICAgICAmOmhvdmVyLFxuICAgICAgICAmLmstaG92ZXIge1xuICAgICAgICAgICAgQGluY2x1ZGUgZmlsbChcbiAgICAgICAgICAgICAgICB2YXIoIC0ta2VuZG8tZHJhd2VyLWl0ZW0taG92ZXItdGV4dCwgI3ska2VuZG8tZHJhd2VyLWl0ZW0taG92ZXItdGV4dH0gKSxcbiAgICAgICAgICAgICAgICB2YXIoIC0ta2VuZG8tZHJhd2VyLWl0ZW0taG92ZXItYmcsICN7JGtlbmRvLWRyYXdlci1pdGVtLWhvdmVyLWJnfSApXG4gICAgICAgICAgICApO1xuXG4gICAgICAgICAgICAuay1pY29uIHtcbiAgICAgICAgICAgICAgICBjb2xvcjogdmFyKCAtLWtlbmRvLWRyYXdlci1pdGVtLWhvdmVyLWljb24tdGV4dCwgI3ska2VuZG8tZHJhd2VyLWl0ZW0taG92ZXItaWNvbi10ZXh0fSApO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgJjpmb2N1cyxcbiAgICAgICAgJi5rLWZvY3VzIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGZpbGwoXG4gICAgICAgICAgICAgICAgdmFyKCAtLWtlbmRvLWRyYXdlci1pdGVtLWZvY3VzLXRleHQsICN7JGtlbmRvLWRyYXdlci1pdGVtLWZvY3VzLXRleHR9ICksXG4gICAgICAgICAgICAgICAgdmFyKCAtLWtlbmRvLWRyYXdlci1pdGVtLWZvY3VzLWJnLCAjeyRrZW5kby1kcmF3ZXItaXRlbS1mb2N1cy1iZ30gKVxuICAgICAgICAgICAgKTtcbiAgICAgICAgICAgIGJveC1zaGFkb3c6IHZhciggLS1rZW5kby1kcmF3ZXItaXRlbS1mb2N1cy1zaGFkb3csICN7JGtlbmRvLWRyYXdlci1pdGVtLWZvY3VzLXNoYWRvd30gKTtcblxuICAgICAgICAgICAgLmstaWNvbiB7XG4gICAgICAgICAgICAgICAgY29sb3I6IHZhciggLS1rZW5kby1kcmF3ZXItaXRlbS1mb2N1cy1pY29uLXRleHQsICN7JGtlbmRvLWRyYXdlci1pdGVtLWZvY3VzLWljb24tdGV4dH0gKTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgJjpob3ZlcixcbiAgICAgICAgICAgICYuay1ob3ZlciB7XG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgZmlsbChcbiAgICAgICAgICAgICAgICAgICAgdmFyKCAtLWtlbmRvLWRyYXdlci1pdGVtLWhvdmVyLXRleHQsICN7JGtlbmRvLWRyYXdlci1pdGVtLWhvdmVyLXRleHR9ICksXG4gICAgICAgICAgICAgICAgICAgIHZhciggLS1rZW5kby1kcmF3ZXItaXRlbS1ob3Zlci1iZywgI3ska2VuZG8tZHJhd2VyLWl0ZW0taG92ZXItYmd9IClcbiAgICAgICAgICAgICAgICApO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgJi5rLXNlbGVjdGVkIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGZpbGwoXG4gICAgICAgICAgICAgICAgdmFyKCAtLWtlbmRvLWRyYXdlci1pdGVtLXNlbGVjdGVkLXRleHQsICN7JGtlbmRvLWRyYXdlci1pdGVtLXNlbGVjdGVkLXRleHR9ICksXG4gICAgICAgICAgICAgICAgdmFyKCAtLWtlbmRvLWRyYXdlci1pdGVtLXNlbGVjdGVkLWJnLCAjeyRrZW5kby1kcmF3ZXItaXRlbS1zZWxlY3RlZC1iZ30gKVxuICAgICAgICAgICAgKTtcblxuICAgICAgICAgICAgLmstaWNvbiB7XG4gICAgICAgICAgICAgICAgY29sb3I6IHZhciggLS1rZW5kby1kcmF3ZXItaXRlbS1zZWxlY3RlZC1pY29uLXRleHQsICN7JGtlbmRvLWRyYXdlci1pdGVtLXNlbGVjdGVkLWljb24tdGV4dH0gKTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgJjpob3ZlcixcbiAgICAgICAgICAgICYuay1ob3ZlciB7XG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgZmlsbChcbiAgICAgICAgICAgICAgICAgICAgdmFyKCAtLWtlbmRvLWRyYXdlci1pdGVtLXNlbGVjdGVkLWhvdmVyLXRleHQsICN7JGtlbmRvLWRyYXdlci1pdGVtLXNlbGVjdGVkLWhvdmVyLXRleHR9ICksXG4gICAgICAgICAgICAgICAgICAgIHZhciggLS1rZW5kby1kcmF3ZXItaXRlbS1zZWxlY3RlZC1ob3Zlci1iZywgI3ska2VuZG8tZHJhd2VyLWl0ZW0tc2VsZWN0ZWQtaG92ZXItYmd9IClcbiAgICAgICAgICAgICAgICApO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuICAgIC5rLWRyYXdlci1zZXBhcmF0b3Ige1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoIC0ta2VuZG8tZHJhd2VyLWJvcmRlciwgI3ska2VuZG8tZHJhd2VyLWJvcmRlcn0gKTtcbiAgICB9XG5cbn1cbiIsIkB1c2UgXCIuL192YXJpYWJsZXMuc2Nzc1wiIGFzICo7XG5AdXNlIFwiLi4vY29yZS9faW5kZXguc2Nzc1wiIGFzICo7XG5cbkBtaXhpbiBrZW5kby1ub3RpZmljYXRpb24tLWxheW91dCgpIHtcblxuICAgIC8vIEJhc2VcbiAgICAuay1ub3RpZmljYXRpb24tZ3JvdXAge1xuICAgICAgICBtYXgtaGVpZ2h0OiAxMDAlO1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgICAgICAgZmxleC1mbG93OiBjb2x1bW4tcmV2ZXJzZSB3cmFwO1xuICAgICAgICBwb3NpdGlvbjogZml4ZWQ7XG4gICAgICAgIHotaW5kZXg6IDEwMDA7XG4gICAgICAgIGdhcDogdmFyKCAtLWtlbmRvLW5vdGlmaWNhaXRvbi1ncm91cC1nYXAsICN7JGtlbmRvLW5vdGlmaWNhdGlvbi1ncm91cC1nYXB9ICkgMDtcbiAgICB9XG5cbiAgICAvLyBOZWVkZWQgZHVlIHRvIHRoZSBzcGVjaWZpY3MgaW4gdGhlIGltcGxlbWVudGF0aW9uIG9mIGFuaW1hdGlvbnMgaW4gQW5ndWxhclxuICAgIC5rLW5vdGlmaWNhdGlvbi1jb250YWluZXItYW5pbWF0aW5nIHtcbiAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICB9XG5cbiAgICAuay1ub3RpZmljYXRpb24ge1xuICAgICAgICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKCB2YXIoIC0ta2VuZG8tbm90aWZpY2F0aW9uLWJvcmRlci1yYWRpdXMsICN7JGtlbmRvLW5vdGlmaWNhdGlvbi1ib3JkZXItcmFkaXVzfSApICk7XG4gICAgICAgIHBhZGRpbmctaW5saW5lOiB2YXIoIC0ta2VuZG8tbm90aWZpY2F0aW9uLXBhZGRpbmcteCwgI3ska2VuZG8tbm90aWZpY2F0aW9uLXBhZGRpbmcteH0gKTtcbiAgICAgICAgcGFkZGluZy1ibG9jazogdmFyKCAtLWtlbmRvLW5vdGlmaWNhdGlvbi1wYWRkaW5nLXksICN7JGtlbmRvLW5vdGlmaWNhdGlvbi1wYWRkaW5nLXl9ICk7XG4gICAgICAgIGJvcmRlci13aWR0aDogdmFyKCAtLWtlbmRvLW5vdGlmaWNhdGlvbi1ib3JkZXItd2lkdGgsICN7JGtlbmRvLW5vdGlmaWNhdGlvbi1ib3JkZXItd2lkdGh9ICk7XG4gICAgICAgIGJvcmRlci1zdHlsZTogc29saWQ7XG4gICAgICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgICAgIG91dGxpbmU6IDA7XG4gICAgICAgIGZvbnQtZmFtaWx5OiB2YXIoIC0ta2VuZG8tbm90aWZpY2F0aW9uLWZvbnQtZmFtaWx5LCAjeyRrZW5kby1ub3RpZmljYXRpb24tZm9udC1mYW1pbHl9ICk7XG4gICAgICAgIGZvbnQtc2l6ZTogdmFyKCAtLWtlbmRvLW5vdGlmaWNhdGlvbi1mb250LXNpemUsICN7JGtlbmRvLW5vdGlmaWNhdGlvbi1mb250LXNpemV9ICk7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiB2YXIoIC0ta2VuZG8tbm90aWZpY2F0aW9uLWxpbmUtaGVpZ2h0LCAjeyRrZW5kby1ub3RpZmljYXRpb24tbGluZS1oZWlnaHR9ICk7XG4gICAgICAgIGN1cnNvcjogZGVmYXVsdDtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgICAgZ2FwOiB2YXIoIC0ta2VuZG8tbm90aWZpY2F0aW9uLWljb24tc3BhY2luZywgI3ska2VuZG8tbm90aWZpY2F0aW9uLWljb24tc3BhY2luZ30gKTtcbiAgICAgICAgLXdlYmtpdC10b3VjaC1jYWxsb3V0OiBub25lO1xuICAgICAgICAtd2Via2l0LXRhcC1oaWdobGlnaHQtY29sb3I6ICRrZW5kby1jb2xvci1yZ2JhLXRyYW5zcGFyZW50O1xuXG4gICAgICAgICosXG4gICAgICAgICo6OmJlZm9yZSxcbiAgICAgICAgKjo6YWZ0ZXIge1xuICAgICAgICAgICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICAgICAgfVxuXG4gICAgICAgID4gLmstbm90aWZpY2F0aW9uLWNvbnRlbnQge1xuICAgICAgICAgICAgZmxleDogMSAxIGF1dG87XG4gICAgICAgIH1cblxuICAgICAgICA+IC5rLW5vdGlmaWNhdGlvbi1zdGF0dXMge1xuICAgICAgICAgICAgZmxleC1zaHJpbms6IDA7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAuay1ub3RpZmljYXRpb24tYWN0aW9ucyB7XG4gICAgICAgIGZsZXg6IG5vbmU7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGdhcDogdmFyKCAtLWtlbmRvLW5vdGlmaWNhdGlvbi1pY29uLXNwYWNpbmcsICN7JGtlbmRvLW5vdGlmaWNhdGlvbi1pY29uLXNwYWNpbmd9ICk7XG4gICAgICAgIGZsZXgtZmxvdzogcm93IG5vd3JhcDtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIH1cbiAgICAuay1ub3RpZmljYXRpb24tYWN0aW9uIHtcbiAgICAgICAgZmxleDogbm9uZTtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgZmxleC1mbG93OiByb3cgbm93cmFwO1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICBhbGlnbi1zZWxmOiBjZW50ZXI7XG4gICAgfVxuXG59XG4iLCJAdXNlIFwic2FzczptYXBcIjtcbkB1c2UgXCIuLi9jb3JlL19pbmRleC5zY3NzXCIgYXMgKjtcbkB1c2UgXCIuL192YXJpYWJsZXMuc2Nzc1wiIGFzICo7XG5cbkBtaXhpbiBrZW5kby1ub3RpZmljYXRpb24tLXRoZW1lKCkge1xuXG4gICAgLy8gVGhlbWVcbiAgICAuay1ub3RpZmljYXRpb24ge1xuICAgICAgICAtLUlOVEVSTkFMLS1rZW5kby1ub3RpZmljYXRpb24tdGV4dDogdmFyKCAtLWtlbmRvLW5vdGlmaWNhdGlvbi10ZXh0LCAjeyRrZW5kby1ub3RpZmljYXRpb24tdGV4dH0gKTtcbiAgICAgICAgLS1JTlRFUk5BTC0ta2VuZG8tbm90aWZpY2F0aW9uLWJnOiB2YXIoIC0ta2VuZG8tbm90aWZpY2F0aW9uLWJnLCAjeyRrZW5kby1ub3RpZmljYXRpb24tYmd9ICk7XG4gICAgICAgIC0tSU5URVJOQUwtLWtlbmRvLW5vdGlmaWNhdGlvbi1ib3JkZXI6IHZhciggLS1rZW5kby1ub3RpZmljYXRpb24tYm9yZGVyLCAjeyRrZW5kby1ub3RpZmljYXRpb24tYm9yZGVyfSApO1xuICAgICAgICAtLUlOVEVSTkFMLS1rZW5kby1ub3RpZmljYXRpb24tYm94LXNoYWRvdzogdmFyKCAtLWtlbmRvLW5vdGlmaWNhdGlvbi1ib3gtc2hhZG93LCAjeyRrZW5kby1ub3RpZmljYXRpb24tYm94LXNoYWRvd30gKTtcblxuICAgICAgICBjb2xvcjogdmFyKCAtLUlOVEVSTkFMLS1rZW5kby1ub3RpZmljYXRpb24tdGV4dCwgaW5pdGlhbCApO1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoIC0tSU5URVJOQUwtLWtlbmRvLW5vdGlmaWNhdGlvbi1iZywgaW5pdGlhbCApO1xuICAgICAgICBib3JkZXItY29sb3I6IHZhciggLS1JTlRFUk5BTC0ta2VuZG8tbm90aWZpY2F0aW9uLWJvcmRlciwgaW5pdGlhbCApO1xuICAgICAgICBib3gtc2hhZG93OiB2YXIoIC0tSU5URVJOQUwtLWtlbmRvLW5vdGlmaWNhdGlvbi1ib3gtc2hhZG93LCBub25lICk7XG4gICAgfVxuXG4gICAgQGVhY2ggJHRoZW1lLWNvbG9yLCAkY29sb3ItcHJvcHMgaW4gJGtlbmRvLW5vdGlmaWNhdGlvbi10aGVtZS1jb2xvcnMge1xuICAgICAgICAkX3RleHQ6IGluaGVyaXQ7XG4gICAgICAgICRfYmc6IG1hcC5nZXQoICRjb2xvci1wcm9wcywgYmcgKTtcbiAgICAgICAgJF9ib3JkZXI6IG1hcC5nZXQoICRjb2xvci1wcm9wcywgYm9yZGVyICk7XG4gICAgICAgICRfaWNvbjogbWFwLmdldCggJGNvbG9yLXByb3BzLCB0ZXh0ICk7XG5cbiAgICAgICAgLmstbm90aWZpY2F0aW9uLSN7JHRoZW1lLWNvbG9yfSB7XG4gICAgICAgICAgICAtLWtlbmRvLW5vdGlmaWNhdGlvbi10ZXh0OiB2YXIoIC0ta2VuZG8tbm90aWZpY2F0aW9uLSN7JHRoZW1lLWNvbG9yfS10ZXh0LCAjeyRfdGV4dH0gKTtcbiAgICAgICAgICAgIC0ta2VuZG8tbm90aWZpY2F0aW9uLWJnOiB2YXIoIC0ta2VuZG8tbm90aWZpY2F0aW9uLSN7JHRoZW1lLWNvbG9yfS1iZywgI3skX2JnfSApO1xuICAgICAgICAgICAgLS1rZW5kby1ub3RpZmljYXRpb24tYm9yZGVyOiB2YXIoIC0ta2VuZG8tbm90aWZpY2F0aW9uLSN7JHRoZW1lLWNvbG9yfS1ib3JkZXIsICN7JF9ib3JkZXJ9ICk7XG5cbiAgICAgICAgICAgIC5rLW5vdGlmaWNhdGlvbi13cmFwID4gLmstaWNvbiB7XG4gICAgICAgICAgICAgICAgLS1rZW5kby1ub3RpZmljYXRpb24taWNvbi10ZXh0OiB2YXIoIC0ta2VuZG8tbm90aWZpY2F0aW9uLSN7JHRoZW1lLWNvbG9yfS1pY29uLXRleHQsICN7JF9pY29ufSApO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgLy8gRml4IGZvciBkYXJrIG5vdGlmaWNhdGlvbiB0ZXh0IGNvbG9yXG4gICAgLmstbm90aWZpY2F0aW9uLWRhcmsge1xuICAgICAgICAtLWtlbmRvLW5vdGlmaWNhdGlvbi10ZXh0OiB3aGl0ZTtcbiAgICB9XG5cbn1cbiIsIkB1c2UgXCIuLi9jb3JlL19pbmRleC5zY3NzXCIgYXMgKjtcbkB1c2UgXCIuLi90eXBvZ3JhcGh5L3ZhcmlhYmxlcy5zY3NzXCIgYXMgKjtcbkB1c2UgXCIuL192YXJpYWJsZXMuc2Nzc1wiIGFzICo7XG5cbkBtaXhpbiBrZW5kby1jYXJkLS1sYXlvdXQoKSB7XG5cbiAgICAvLyBBbmd1bGFyIGVsZW1lbnRzXG4gICAga2VuZG8tY2FyZCxcbiAgICBrZW5kby1jYXJkLWhlYWRlcixcbiAgICBrZW5kby1jYXJkLWJvZHksXG4gICAga2VuZG8tY2FyZC1hY3Rpb25zLFxuICAgIGtlbmRvLWNhcmQtZm9vdGVyIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgfVxuXG5cbiAgICAvLyBDYXJkXG4gICAgLmstY2FyZCB7XG4gICAgICAgIEBpbmNsdWRlIGJvcmRlci1yYWRpdXMoIHZhciggLS1rZW5kby1jYXJkLWJvcmRlci1yYWRpdXMsICN7JGtlbmRvLWNhcmQtYm9yZGVyLXJhZGl1c30gKSApO1xuICAgICAgICBib3JkZXItd2lkdGg6IHZhciggLS1rZW5kby1jYXJkLWJvcmRlci13aWR0aCwgI3ska2VuZG8tY2FyZC1ib3JkZXItd2lkdGh9ICk7XG4gICAgICAgIGJvcmRlci1zdHlsZTogc29saWQ7XG4gICAgICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgICAgIG91dGxpbmU6IDA7XG4gICAgICAgIGZvbnQtZmFtaWx5OiB2YXIoIC0ta2VuZG8tY2FyZC1mb250LWZhbWlseSwgI3ska2VuZG8tY2FyZC1mb250LWZhbWlseX0gKTtcbiAgICAgICAgZm9udC1zaXplOiB2YXIoIC0ta2VuZG8tY2FyZC1mb250LXNpemUsICN7JGtlbmRvLWNhcmQtZm9udC1zaXplfSApO1xuICAgICAgICBsaW5lLWhlaWdodDogdmFyKCAtLWtlbmRvLWNhcmQtbGluZS1oZWlnaHQsICN7JGtlbmRvLWNhcmQtbGluZS1oZWlnaHR9ICk7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAgICAgLXdlYmtpdC10b3VjaC1jYWxsb3V0OiBub25lO1xuICAgICAgICAtd2Via2l0LXRhcC1oaWdobGlnaHQtY29sb3I6ICRrZW5kby1jb2xvci1yZ2JhLXRyYW5zcGFyZW50O1xuXG4gICAgICAgICosXG4gICAgICAgICo6OmJlZm9yZSxcbiAgICAgICAgKjo6YWZ0ZXIge1xuICAgICAgICAgICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICAgICAgfVxuXG4gICAgICAgIC8vIENhcmQgYXZhdGFyXG4gICAgICAgIC5rLWNhcmQtYXZhdGFyLFxuICAgICAgICAuay1hdmF0YXIge1xuICAgICAgICAgICAgbWFyZ2luLWlubGluZS1lbmQ6IHZhciggLS1rZW5kby1jYXJkLWF2YXRhci1zcGFjaW5nLCAjeyRrZW5kby1jYXJkLWF2YXRhci1zcGFjaW5nfSApO1xuICAgICAgICAgICAgd2lkdGg6IHZhciggLS1rZW5kby1jYXJkLWF2YXRhci1zaXplLCAjeyRrZW5kby1jYXJkLWF2YXRhci1zaXplfSApO1xuICAgICAgICAgICAgaGVpZ2h0OiB2YXIoIC0ta2VuZG8tY2FyZC1hdmF0YXItc2l6ZSwgI3ska2VuZG8tY2FyZC1hdmF0YXItc2l6ZX0gKTtcbiAgICAgICAgICAgIGZsZXgtYmFzaXM6IHZhciggLS1rZW5kby1jYXJkLWF2YXRhci1zaXplLCAjeyRrZW5kby1jYXJkLWF2YXRhci1zaXplfSApO1xuICAgICAgICB9XG4gICAgfVxuICAgIC5rLWNhcmQgPiAuay1jYXJkLWlubmVyIHtcbiAgICAgICAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cyggdmFyKCAtLWtlbmRvLWNhcmQtaW5uZXItYm9yZGVyLXJhZGl1cywgI3ska2VuZG8tY2FyZC1pbm5lci1ib3JkZXItcmFkaXVzfSApICk7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiBpbmhlcml0O1xuICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgfVxuXG4gICAgLy8gQ2FyZCBvcmllbnRhdGlvblxuICAgIC5rLWNhcmQtaG9yaXpvbnRhbCB7IGZsZXgtZmxvdzogcm93IG5vd3JhcDsgfSAvLyBzdHlsZWxpbnQtZGlzYWJsZS1saW5lIGJsb2NrLW9wZW5pbmctYnJhY2Utc3BhY2UtYmVmb3JlXG4gICAgLmstY2FyZC12ZXJ0aWNhbCB7IGZsZXgtZmxvdzogY29sdW1uIG5vd3JhcDsgfSAvLyBzdHlsZWxpbnQtZGlzYWJsZS1saW5lIGJsb2NrLW9wZW5pbmctYnJhY2Utc3BhY2UtYmVmb3JlXG5cbiAgICAvLyBDYXJkIHRpdGxlXG4gICAgLmstY2FyZC10aXRsZSB7XG4gICAgICAgIGZvbnQtc2l6ZTogdmFyKCAtLWtlbmRvLWNhcmQtdGl0bGUtZm9udC1zaXplLCAjeyRrZW5kby1jYXJkLXRpdGxlLWZvbnQtc2l6ZX0gKTtcbiAgICAgICAgZm9udC1mYW1pbHk6IHZhciggLS1rZW5kby1jYXJkLXRpdGxlLWZvbnQtZmFtaWx5LCAjeyRrZW5kby1jYXJkLXRpdGxlLWZvbnQtZmFtaWx5fSApO1xuICAgICAgICBsaW5lLWhlaWdodDogdmFyKCAtLWtlbmRvLWNhcmQtdGl0bGUtbGluZS1oZWlnaHQsICN7JGtlbmRvLWNhcmQtdGl0bGUtbGluZS1oZWlnaHR9ICk7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiB2YXIoIC0ta2VuZG8tY2FyZC10aXRsZS1mb250LXdlaWdodCwgI3ska2VuZG8tY2FyZC10aXRsZS1mb250LXdlaWdodH0gKTtcbiAgICAgICAgbWFyZ2luOiAwIDAgdmFyKCAtLWtlbmRvLWNhcmQtdGl0bGUtbWFyZ2luLWJvdHRvbSwgI3ska2VuZG8tY2FyZC10aXRsZS1tYXJnaW4tYm90dG9tfSApO1xuICAgIH1cblxuXG4gICAgLy8gQ2FyZCBzdWJ0aXRsZVxuICAgIC5rLWNhcmQtc3VidGl0bGUge1xuICAgICAgICBmb250LXNpemU6IHZhciggLS1rZW5kby1jYXJkLXN1YnRpdGxlLWZvbnQtc2l6ZSwgI3ska2VuZG8tY2FyZC1zdWJ0aXRsZS1mb250LXNpemV9ICk7XG4gICAgICAgIGZvbnQtZmFtaWx5OiB2YXIoIC0ta2VuZG8tY2FyZC1zdWJ0aXRsZS1mb250LWZhbWlseSwgI3ska2VuZG8tY2FyZC1zdWJ0aXRsZS1mb250LWZhbWlseX0gKTtcbiAgICAgICAgbGluZS1oZWlnaHQ6IHZhciggLS1rZW5kby1jYXJkLXN1YnRpdGxlLWxpbmUtaGVpZ2h0LCAjeyRrZW5kby1jYXJkLXN1YnRpdGxlLWxpbmUtaGVpZ2h0fSApO1xuICAgICAgICBmb250LXdlaWdodDogdmFyKCAtLWtlbmRvLWNhcmQtdGl0bGUtZm9udC13ZWlnaHQsICN7JGtlbmRvLWNhcmQtdGl0bGUtZm9udC13ZWlnaHR9ICk7XG4gICAgICAgIG1hcmdpbi1ibG9jay1lbmQ6IHZhciggLS1rZW5kby1jYXJkLXN1YnRpdGxlLW1hcmdpbi1ib3R0b20sICN7JGtlbmRvLWNhcmQtc3VidGl0bGUtbWFyZ2luLWJvdHRvbX0gKTtcbiAgICB9XG5cbiAgICBAYXQtcm9vdCAuay1jYXJkLXRpdGxlICsgLmstY2FyZC1zdWJ0aXRsZSB7XG4gICAgICAgIG1hcmdpbi1ibG9jay1zdGFydDogY2FsYyggdmFyKCAtLWtlbmRvLWNhcmQtdGl0bGUtbWFyZ2luLWJvdHRvbSwgI3ska2VuZG8tY2FyZC10aXRsZS1tYXJnaW4tYm90dG9tfSApICogLTEgKTtcbiAgICB9XG5cbiAgICAvLyBIZWFkZXJcbiAgICAuay1jYXJkLWhlYWRlciB7XG4gICAgICAgIGZvbnQtc2l6ZTogdmFyKCAtLWtlbmRvLWNhcmQtaGVhZGVyLWZvbnQtc2l6ZSwgI3ska2VuZG8tY2FyZC1oZWFkZXItZm9udC1zaXplfSApO1xuICAgICAgICBmb250LWZhbWlseTogdmFyKCAtLWtlbmRvLWNhcmQtaGVhZGVyLWZvbnQtZmFtaWx5LCAjeyRrZW5kby1jYXJkLWhlYWRlci1mb250LWZhbWlseX0gKTtcbiAgICAgICAgbGluZS1oZWlnaHQ6IHZhciggLS1rZW5kby1jYXJkLWhlYWRlci1saW5lLWhlaWdodCwgI3ska2VuZG8tY2FyZC1oZWFkZXItbGluZS1oZWlnaHR9ICk7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiB2YXIoIC0ta2VuZG8tY2FyZC10aXRsZS1mb250LXdlaWdodCwgI3ska2VuZG8tY2FyZC10aXRsZS1mb250LXdlaWdodH0gKTtcbiAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICBwYWRkaW5nLWlubGluZTogdmFyKCAtLWtlbmRvLWNhcmQtaGVhZGVyLXBhZGRpbmcteCwgI3ska2VuZG8tY2FyZC1oZWFkZXItcGFkZGluZy14fSApO1xuICAgICAgICBwYWRkaW5nLWJsb2NrOiB2YXIoIC0ta2VuZG8tY2FyZC1oZWFkZXItcGFkZGluZy15LCAjeyRrZW5kby1jYXJkLWhlYWRlci1wYWRkaW5nLXl9ICk7XG4gICAgICAgIGJvcmRlci13aWR0aDogMCAwIHZhciggLS1rZW5kby1jYXJkLWhlYWRlci1ib3JkZXItd2lkdGgsICN7JGtlbmRvLWNhcmQtaGVhZGVyLWJvcmRlci13aWR0aH0gKTtcbiAgICAgICAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcbiAgICAgICAgb3V0bGluZTogMDtcbiAgICAgICAgZmxleC1zaHJpbms6IDA7XG4gICAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgei1pbmRleDogMTtcblxuICAgICAgICAuay1jYXJkLXRpdGxlLFxuICAgICAgICAuay1jYXJkLXN1YnRpdGxlIHtcbiAgICAgICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgfVxuICAgIH1cblxuXG4gICAgLy8gRm9vdGVyXG4gICAgLmstY2FyZC1mb290ZXIge1xuICAgICAgICBwYWRkaW5nLWlubGluZTogdmFyKCAtLWtlbmRvLWNhcmQtZm9vdGVyLXBhZGRpbmcteCwgI3ska2VuZG8tY2FyZC1mb290ZXItcGFkZGluZy14fSApO1xuICAgICAgICBwYWRkaW5nLWJsb2NrOiB2YXIoIC0ta2VuZG8tY2FyZC1mb290ZXItcGFkZGluZy15LCAjeyRrZW5kby1jYXJkLWZvb3Rlci1wYWRkaW5nLXl9ICk7XG4gICAgICAgIGJvcmRlci13aWR0aDogdmFyKCAtLWtlbmRvLWNhcmQtZm9vdGVyLWJvcmRlci13aWR0aCwgI3ska2VuZG8tY2FyZC1mb290ZXItYm9yZGVyLXdpZHRofSApIDAgMDtcbiAgICAgICAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcbiAgICAgICAgb3V0bGluZTogMDtcbiAgICAgICAgZmxleC1zaHJpbms6IDA7XG4gICAgfVxuXG5cbiAgICAvLyBCb2R5XG4gICAgLmstY2FyZC1ib2R5IHtcbiAgICAgICAgcGFkZGluZy1pbmxpbmU6IHZhciggLS1rZW5kby1jYXJkLWJvZHktcGFkZGluZy14LCAjeyRrZW5kby1jYXJkLWJvZHktcGFkZGluZy14fSApO1xuICAgICAgICBwYWRkaW5nLWJsb2NrOiB2YXIoIC0ta2VuZG8tY2FyZC1ib2R5LXBhZGRpbmcteSwgI3ska2VuZG8tY2FyZC1ib2R5LXBhZGRpbmcteX0gKTtcbiAgICAgICAgb3V0bGluZTogMDtcbiAgICAgICAgZmxleDogMSAxIGF1dG87XG5cbiAgICAgICAgcCB7XG4gICAgICAgICAgICBtYXJnaW46IHZhciggLS1rZW5kby1wYXJhZ3JhcGgtbWFyZ2luLCAjeyRrZW5kby1wYXJhZ3JhcGgtbWFyZ2lufSApO1xuICAgICAgICB9XG5cbiAgICAgICAgPiAuay1sYXN0LFxuICAgICAgICA+IDpsYXN0LWNoaWxkIHtcbiAgICAgICAgICAgIG1hcmdpbi1ibG9jay1lbmQ6IDA7XG4gICAgICAgIH1cblxuICAgICAgICA+IC5rLWNhcmQtYWN0aW9ucyB7XG4gICAgICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLy8gQ2FyZCBtZWRpYVxuICAgIC5rLWNhcmQtbWVkaWEge1xuICAgICAgICBib3JkZXI6IDA7XG4gICAgICAgIG1heC13aWR0aDogMTAwJTtcbiAgICAgICAgZmxleC1zaHJpbms6IDA7XG4gICAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgfVxuXG4gICAgLmstY2FyZC1ob3Jpem9udGFsIC5rLWNhcmQtbWVkaWEge1xuICAgICAgICBtYXgtd2lkdGg6IHZhciggLS1rZW5kby1jYXJkLWltZy1tYXgtd2lkdGgsICN7JGtlbmRvLWNhcmQtaW1nLW1heC13aWR0aH0gKTtcbiAgICAgICAgb2JqZWN0LWZpdDogY292ZXI7XG4gICAgfVxuXG4gICAgLy8gU2VwYXJhdG9yXG4gICAgLmstY2FyZC1zZXBhcmF0b3Ige1xuICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgIGJvcmRlci13aWR0aDogMDtcbiAgICAgICAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiBpbmhlcml0O1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgZmxleDogMCAwIGF1dG87XG4gICAgICAgIGFsaWduLXNlbGY6IHN0cmV0Y2g7XG4gICAgfVxuXG4gICAgLmstY2FyZC1zZXBhcmF0b3Iuay1zZXBhcmF0b3ItaG9yaXpvbnRhbCxcbiAgICAuay1jYXJkLXZlcnRpY2FsID4gLmstY2FyZC1zZXBhcmF0b3Ige1xuICAgICAgICBib3JkZXItdG9wLXdpZHRoOiAxcHg7XG4gICAgfVxuXG4gICAgLmstY2FyZC1zZXBhcmF0b3Iuay1zZXBhcmF0b3ItdmVydGljYWwsXG4gICAgLmstY2FyZC1ob3Jpem9udGFsID4gLmstY2FyZC1zZXBhcmF0b3Ige1xuICAgICAgICBib3JkZXItbGVmdC13aWR0aDogMXB4O1xuICAgIH1cblxuICAgIC5rLWNhcmQgPiAuay1ociB7XG4gICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgZmxleDogMCAwIGF1dG87XG4gICAgICAgIGJvcmRlci1jb2xvcjogaW5oZXJpdDtcbiAgICB9XG5cbiAgICAvLyBDYXJkIGFjdGlvbnNcbiAgICAuay1jYXJkLWFjdGlvbnMge1xuICAgICAgICBwYWRkaW5nLWlubGluZTogdmFyKCAtLWtlbmRvLWNhcmQtYWN0aW9ucy1wYWRkaW5nLXgsICN7JGtlbmRvLWNhcmQtYWN0aW9ucy1wYWRkaW5nLXh9ICk7XG4gICAgICAgIHBhZGRpbmctYmxvY2s6IHZhciggLS1rZW5kby1jYXJkLWFjdGlvbnMtcGFkZGluZy15LCAjeyRrZW5kby1jYXJkLWFjdGlvbnMtcGFkZGluZy15fSApO1xuICAgICAgICBib3JkZXItd2lkdGg6IHZhciggLS1rZW5kby1jYXJkLWFjdGlvbnMtYm9yZGVyLXdpZHRoLCAjeyRrZW5kby1jYXJkLWFjdGlvbnMtYm9yZGVyLXdpZHRofSApO1xuICAgICAgICBib3JkZXItc3R5bGU6IHNvbGlkO1xuICAgICAgICBib3JkZXItY29sb3I6IGluaGVyaXQ7XG4gICAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGZsZXgtc2hyaW5rOiAwO1xuICAgICAgICBmbGV4LWJhc2lzOiBhdXRvO1xuICAgICAgICBnYXA6IHZhciggLS1rZW5kby1jYXJkLWFjdGlvbnMtZ2FwLCAjeyRrZW5kby1jYXJkLWFjdGlvbnMtZ2FwfSApO1xuICAgIH1cblxuICAgIC5rLWNhcmQtaG9yaXpvbnRhbCAuay1hY3Rpb25zLWhvcml6b250YWwge1xuICAgICAgICB3aWR0aDogYXV0bztcbiAgICB9XG5cbiAgICAvLyBMaXN0XG4gICAgLmstY2FyZC1saXN0IHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgZmxleC1mbG93OiBjb2x1bW4gbm93cmFwO1xuICAgICAgICBhbGlnbi1pdGVtczogc3RyZXRjaDtcbiAgICAgICAgZ2FwOiAka2VuZG8tY2FyZC1kZWNrLWdhcDtcbiAgICAgICAgZmxleDogMCAwIGF1dG87XG5cbiAgICAgICAgLmstY2FyZCB7XG4gICAgICAgICAgICBmbGV4OiAwIDAgYXV0bztcbiAgICAgICAgfVxuICAgIH1cblxuXG4gICAgLy8gRGVja1xuICAgIC5rLWNhcmQtZGVjayB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGZsZXgtZmxvdzogcm93IG5vd3JhcDtcbiAgICAgICAgYWxpZ24taXRlbXM6IHN0cmV0Y2g7XG4gICAgICAgIGdhcDogJGtlbmRvLWNhcmQtZGVjay1nYXA7XG4gICAgICAgIGZsZXg6IDAgMCBhdXRvO1xuXG4gICAgICAgIC5rLWNhcmQge1xuICAgICAgICAgICAgZmxleDogMCAwIGF1dG87XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAuay1jYXJkLWRlY2stc2Nyb2xsd3JhcCB7XG4gICAgICAgIHBhZGRpbmctYmxvY2stZW5kOiAzcHg7IC8vIHByZXZlbnRzIHRyaW1taW5nIG9mIGNhcmQgc2hhZG93cyBvbiBPU1ggKDAtd2lkdGggc2Nyb2xsYmFyKVxuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgYm94LXNpemluZzogY29udGVudC1ib3g7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGZsZXg6IDAgMCBhdXRvO1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIG92ZXJmbG93OiBoaWRkZW47XG5cbiAgICAgICAgPiAuay1idXR0b24ge1xuICAgICAgICAgICAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cyggdmFyKCAtLWtlbmRvLWNhcmQtZGVjay1zY3JvbGwtYnV0dG9uLXJhZGl1cywgI3ska2VuZG8tY2FyZC1kZWNrLXNjcm9sbC1idXR0b24tcmFkaXVzfSApICk7XG4gICAgICAgICAgICBmbGV4OiAwIDAgYXV0bztcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgIHotaW5kZXg6IDE7XG5cbiAgICAgICAgICAgICY6Zmlyc3QtY2hpbGQge1xuICAgICAgICAgICAgICAgIGxlZnQ6IHZhciggLS1rZW5kby1jYXJkLWRlY2stc2Nyb2xsLWJ1dHRvbi1vZmZzZXQsICN7JGtlbmRvLWNhcmQtZGVjay1zY3JvbGwtYnV0dG9uLW9mZnNldH0gKTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgJjpsYXN0LWNoaWxkIHtcbiAgICAgICAgICAgICAgICByaWdodDogdmFyKCAtLWtlbmRvLWNhcmQtZGVjay1zY3JvbGwtYnV0dG9uLW9mZnNldCwgI3ska2VuZG8tY2FyZC1kZWNrLXNjcm9sbC1idXR0b24tb2Zmc2V0fSApO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgPiAuay1jYXJkLWRlY2sge1xuICAgICAgICAgICAgLy8gaGlkZSBzY3JvbGxiYXJcbiAgICAgICAgICAgIG1hcmdpbi1ibG9jay1lbmQ6IC0jeyRrZW5kby1zY3JvbGxiYXItd2lkdGh9O1xuICAgICAgICAgICAgcGFkZGluZy1ibG9jay1lbmQ6ICRrZW5kby1zY3JvbGxiYXItd2lkdGg7XG4gICAgICAgICAgICBmbGV4OiAxIDEgYXV0bztcbiAgICAgICAgfVxuICAgIH1cblxuXG4gICAgLy8gR3JvdXBcbiAgICAuay1jYXJkLWdyb3VwIHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgZmxleC1mbG93OiByb3cgbm93cmFwO1xuICAgICAgICBhbGlnbi1pdGVtczogc3RyZXRjaDtcbiAgICAgICAgZmxleDogMCAwIGF1dG87XG5cbiAgICAgICAgLmstY2FyZCB7XG4gICAgICAgICAgICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKCAwICk7XG4gICAgICAgICAgICBmbGV4OiAwIDAgYXV0bztcbiAgICAgICAgfVxuICAgICAgICAuay1jYXJkICsgLmstY2FyZCB7XG4gICAgICAgICAgICBtYXJnaW4taW5saW5lLXN0YXJ0OiB2YXIoIC0ta2VuZG8tY2FyZC1ib3JkZXItd2lkdGgsICN7JGtlbmRvLWNhcmQtYm9yZGVyLXdpZHRofSApO1xuICAgICAgICB9XG5cblxuICAgICAgICAvLyBCb3JkZXItcmFkaXVzXG4gICAgICAgIC5rLWNhcmQuay1maXJzdCB7XG4gICAgICAgICAgICBAaW5jbHVkZSBib3JkZXItbGVmdC1yYWRpdXMoIHZhciggLS1rZW5kby1jYXJkLWJvcmRlci1yYWRpdXMsICN7JGtlbmRvLWNhcmQtYm9yZGVyLXJhZGl1c30pICk7XG4gICAgICAgIH1cbiAgICAgICAgLmstY2FyZC5rLWxhc3Qge1xuICAgICAgICAgICAgQGluY2x1ZGUgYm9yZGVyLXJpZ2h0LXJhZGl1cyggdmFyKCAtLWtlbmRvLWNhcmQtYm9yZGVyLXJhZGl1cywgI3ska2VuZG8tY2FyZC1ib3JkZXItcmFkaXVzfSkgKTtcbiAgICAgICAgfVxuICAgICAgICAuay1jYXJkLmstb25seSB7XG4gICAgICAgICAgICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKCB2YXIoIC0ta2VuZG8tY2FyZC1ib3JkZXItcmFkaXVzLCAjeyRrZW5kby1jYXJkLWJvcmRlci1yYWRpdXN9KSApO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLmstY2FyZC13aXRoLWNhbGxvdXQge1xuICAgICAgICBvdmVyZmxvdzogdmlzaWJsZTtcbiAgICB9XG5cbiAgICAuay1jYXJkLWNhbGxvdXQge1xuICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgIHdpZHRoOiB2YXIoIC0ta2VuZG8tY2FyZC1jYWxsb3V0LXNpemUsICN7JGtlbmRvLWNhcmQtY2FsbG91dC1zaXplfSApO1xuICAgICAgICBoZWlnaHQ6IHZhciggLS1rZW5kby1jYXJkLWNhbGxvdXQtc2l6ZSwgI3ska2VuZG8tY2FyZC1jYWxsb3V0LXNpemV9ICk7XG4gICAgICAgIGJvcmRlci13aWR0aDogdmFyKCAtLWtlbmRvLWNhcmQtYm9yZGVyLXdpZHRoLCAjeyRrZW5kby1jYXJkLWJvcmRlci13aWR0aH0gKTtcbiAgICAgICAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcbiAgICAgICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIH1cblxuICAgIC5rLWNhcmQtY2FsbG91dC5rLWNhbGxvdXQtbiB7XG4gICAgICAgIHRvcDogMDtcbiAgICAgICAgbGVmdDogNTAlO1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAtNTAlKSByb3RhdGUoNDVkZWcpO1xuICAgIH1cbiAgICAuay1jYXJkLWNhbGxvdXQuay1jYWxsb3V0LWUge1xuICAgICAgICB0b3A6IDUwJTtcbiAgICAgICAgcmlnaHQ6IDA7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKDUwJSwgLTUwJSkgcm90YXRlKC00NWRlZyk7XG4gICAgfVxuICAgIC5rLWNhcmQtY2FsbG91dC5rLWNhbGxvdXQtcyB7XG4gICAgICAgIGJvdHRvbTogMDtcbiAgICAgICAgbGVmdDogNTAlO1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCA1MCUpIHJvdGF0ZSg0NWRlZyk7XG4gICAgfVxuICAgIC5rLWNhcmQtY2FsbG91dC5rLWNhbGxvdXQtdyB7XG4gICAgICAgIHRvcDogNTAlO1xuICAgICAgICBsZWZ0OiAwO1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAtNTAlKSByb3RhdGUoNDVkZWcpO1xuICAgIH1cblxuICAgICAvLyBTb2xpZCBjYXJkXG4gICAgIC5rLWNhcmQtc29saWQge1xuICAgICAgICBAaW5jbHVkZSBib3gtc2hhZG93KCB2YXIoIC0ta2VuZG8tY2FyZC1zaGFkb3csICN7JGtlbmRvLWNhcmQtc2hhZG93fSApICk7XG4gICAgfVxuXG5cbiAgICAvLyBGbGF0IGNhcmRcbiAgICAuay1jYXJkLWZsYXQge1xuICAgICAgICBAaW5jbHVkZSBib3gtc2hhZG93KCBub25lICk7XG4gICAgfVxuXG59XG4iLCJAdXNlIFwic2FzczptYXBcIjtcbkB1c2UgXCIuLi9jb3JlL19pbmRleC5zY3NzXCIgYXMgKjtcbkB1c2UgXCIuLi9idXR0b24vX3ZhcmlhYmxlcy5zY3NzXCIgYXMgKjtcblxuLy8vIFRoZSBob3Jpem9udGFsIHBhZGRpbmcgb2YgdGhlIENhcmQuXG4vLy8gQGdyb3VwIGNhcmRcbiRrZW5kby1jYXJkLXBhZGRpbmcteDogay1zcGFjaW5nKDMpICFkZWZhdWx0O1xuLy8vIFRoZSB2ZXJ0aWNhbCBwYWRkaW5nIG9mIHRoZSBDYXJkLlxuLy8vIEBncm91cCBjYXJkXG4ka2VuZG8tY2FyZC1wYWRkaW5nLXk6IGstc3BhY2luZygzKSAhZGVmYXVsdDtcbi8vLyBUaGUgd2lkdGggb2YgdGhlIGJvcmRlciBhcm91bmQgdGhlIENhcmQuXG4vLy8gQGdyb3VwIGNhcmRcbiRrZW5kby1jYXJkLWJvcmRlci13aWR0aDogMHB4ICFkZWZhdWx0O1xuLy8vIFRoZSBib3JkZXIgcmFkaXVzIG9mIHRoZSBDYXJkLlxuLy8vIEBncm91cCBjYXJkXG4ka2VuZG8tY2FyZC1ib3JkZXItcmFkaXVzOiBrLWJvcmRlci1yYWRpdXMobWQpICFkZWZhdWx0O1xuLy8vIFRoZSBpbm5lciBib3JkZXIgcmFkaXVzIG9mIHRoZSBDYXJkLlxuLy8vIEBncm91cCBjYXJkXG4ka2VuZG8tY2FyZC1pbm5lci1ib3JkZXItcmFkaXVzOiBjYWxjKCAjeyRrZW5kby1jYXJkLWJvcmRlci1yYWRpdXN9IC0gI3ska2VuZG8tY2FyZC1ib3JkZXItd2lkdGh9ICkgIWRlZmF1bHQ7XG4vLy8gVGhlIGZvbnQgZmFtaWx5IG9mIHRoZSBDYXJkLlxuLy8vIEBncm91cCBjYXJkXG4ka2VuZG8tY2FyZC1mb250LWZhbWlseTogdmFyKCAtLWtlbmRvLWZvbnQtZmFtaWx5LCBpbmhlcml0ICkgIWRlZmF1bHQ7XG4vLy8gVGhlIGZvbnQgc2l6ZSBvZiB0aGUgQ2FyZC5cbi8vLyBAZ3JvdXAgY2FyZFxuJGtlbmRvLWNhcmQtZm9udC1zaXplOiB2YXIoIC0ta2VuZG8tZm9udC1zaXplLXNtLCBpbmhlcml0ICkgIWRlZmF1bHQ7XG4vLy8gVGhlIGxpbmUgaGVpZ2h0IG9mIHRoZSBDYXJkLlxuLy8vIEBncm91cCBjYXJkXG4ka2VuZG8tY2FyZC1saW5lLWhlaWdodDogdmFyKCAtLWtlbmRvLWxpbmUtaGVpZ2h0LCBub3JtYWwgKSAhZGVmYXVsdDtcblxuLy8vIFRoZSBzcGFjaW5nIGJldHdlZW4gdGhlIENhcmRzIGluIHRoZSBDYXJkIGRlY2suXG4vLy8gQGdyb3VwIGNhcmRcbiRrZW5kby1jYXJkLWRlY2stZ2FwOiBrLXNwYWNpbmcoNCkgIWRlZmF1bHQ7XG5cbi8vLyBUaGUgYmFja2dyb3VuZCBjb2xvciBvZiB0aGUgQ2FyZC5cbi8vLyBAZ3JvdXAgY2FyZFxuJGtlbmRvLWNhcmQtYmc6IHZhciggLS1rZW5kby1jb21wb25lbnQtYmcsIGluaXRpYWwgKSAhZGVmYXVsdDtcbi8vLyBUaGUgdGV4dCBjb2xvciBvZiB0aGUgQ2FyZC5cbi8vLyBAZ3JvdXAgY2FyZFxuJGtlbmRvLWNhcmQtdGV4dDogdmFyKCAtLWtlbmRvLWNvbXBvbmVudC10ZXh0LCBpbml0aWFsICkgIWRlZmF1bHQ7XG4vLy8gVGhlIGJvcmRlciBjb2xvciBvZiB0aGUgQ2FyZC5cbi8vLyBAZ3JvdXAgY2FyZFxuJGtlbmRvLWNhcmQtYm9yZGVyOiB2YXIoIC0ta2VuZG8tY29tcG9uZW50LWJvcmRlciwgaW5pdGlhbCApICFkZWZhdWx0O1xuLy8vIFRoZSBzaGFkb3cgb2YgdGhlIENhcmQuXG4vLy8gQGdyb3VwIGNhcmRcbiRrZW5kby1jYXJkLXNoYWRvdzogdmFyKCAtLWtlbmRvLWJveC1zaGFkb3ctZGVwdGgtMSwgbm9uZSApICFkZWZhdWx0O1xuXG4vLy8gVGhlIGJhY2tncm91bmQgY29sb3Igb2YgdGhlIGZvY3VzZWQgQ2FyZC5cbi8vLyBAZ3JvdXAgY2FyZFxuJGtlbmRvLWNhcmQtZm9jdXMtYmc6ICRrZW5kby1jYXJkLWJnICFkZWZhdWx0O1xuLy8vIFRoZSB0ZXh0IGNvbG9yIG9mIHRoZSBmb2N1c2VkIENhcmQuXG4vLy8gQGdyb3VwIGNhcmRcbiRrZW5kby1jYXJkLWZvY3VzLXRleHQ6IG51bGwgIWRlZmF1bHQ7XG4vLy8gVGhlIGJvcmRlciBjb2xvciBvZiB0aGUgZm9jdXNlZCBDYXJkLlxuLy8vIEBncm91cCBjYXJkXG4ka2VuZG8tY2FyZC1mb2N1cy1ib3JkZXI6IHZhciggLS1rZW5kby1jb21wb25lbnQtYm9yZGVyLCBpbml0aWFsICkgIWRlZmF1bHQ7XG4vLy8gVGhlIHNoYWRvdyBvZiB0aGUgZm9jdXNlZCBDYXJkLlxuLy8vIEBncm91cCBjYXJkXG4ka2VuZG8tY2FyZC1mb2N1cy1zaGFkb3c6IHZhciggLS1rZW5kby1ib3gtc2hhZG93LWRlcHRoLTMsIG5vbmUgKSAhZGVmYXVsdDtcblxuLy8vIFRoZSBmb250IHNpemUgb2YgdGhlIENhcmQgaGVhZGVyLlxuLy8vIEBncm91cCBjYXJkXG4ka2VuZG8tY2FyZC1oZWFkZXItZm9udC1zaXplOiB2YXIoIC0ta2VuZG8tZm9udC1zaXplLWxnLCBpbmhlcml0ICkgIWRlZmF1bHQ7XG4vLy8g0KJoZSBmb250IGZhbWlseSBvZiB0aGUgQ2FyZCBoZWFkZXIuXG4vLy8gQGdyb3VwIGNhcmRcbiRrZW5kby1jYXJkLWhlYWRlci1mb250LWZhbWlseTogdmFyKCAtLWtlbmRvLWZvbnQtZmFtaWx5LCBpbmhlcml0ICkgIWRlZmF1bHQ7XG4vLy8gVGhlIGZvbnQgd2VpZ2h0IG9mIHRoZSBDYXJkIGhlYWRlci5cbi8vLyBAZ3JvdXAgY2FyZFxuJGtlbmRvLWNhcmQtaGVhZGVyLWZvbnQtd2VpZ2h0OiB2YXIoIC0ta2VuZG8tZm9udC13ZWlnaHQsIGluaXRpYWwgKSAhZGVmYXVsdDtcbi8vLyBUaGUgbGluZSBoZWlnaHQgb2YgdGhlIENhcmQgaGVhZGVyLlxuLy8vIEBncm91cCBjYXJkXG4ka2VuZG8tY2FyZC1oZWFkZXItbGluZS1oZWlnaHQ6IHZhciggLS1rZW5kby1saW5lLWhlaWdodCwgbm9ybWFsICkgIWRlZmF1bHQ7XG4vLy8gVGhlIGhvcml6b250YWwgcGFkZGluZyBvZiB0aGUgQ2FyZCBoZWFkZXIuXG4vLy8gQGdyb3VwIGNhcmRcbiRrZW5kby1jYXJkLWhlYWRlci1wYWRkaW5nLXg6IGstc3BhY2luZygzKSAhZGVmYXVsdDtcbi8vLyBUaGUgdmVydGljYWwgcGFkZGluZyBvZiB0aGUgQ2FyZCBoZWFkZXIuXG4vLy8gQGdyb3VwIGNhcmRcbiRrZW5kby1jYXJkLWhlYWRlci1wYWRkaW5nLXk6IGstc3BhY2luZygzKSAhZGVmYXVsdDtcbi8vLyBUaGUgYm90dG9tIGJvcmRlciB3aWR0aCBvZiB0aGUgQ2FyZCBoZWFkZXIuXG4vLy8gQGdyb3VwIGNhcmRcbiRrZW5kby1jYXJkLWhlYWRlci1ib3JkZXItd2lkdGg6IDAgIWRlZmF1bHQ7XG4vLy8gVGhlIGJhY2tncm91bmQgY29sb3Igb2YgdGhlIENhcmQgaGVhZGVyLlxuLy8vIEBncm91cCBjYXJkXG4ka2VuZG8tY2FyZC1oZWFkZXItYmc6IGluaGVyaXQgIWRlZmF1bHQ7XG4vLy8gVGhlIHRleHQgY29sb3Igb2YgdGhlIENhcmQgaGVhZGVyLlxuLy8vIEBncm91cCBjYXJkXG4ka2VuZG8tY2FyZC1oZWFkZXItdGV4dDogaWYoJGtlbmRvLWVuYWJsZS1jb2xvci1zeXN0ZW0sIGstY29sb3IoIG9uLWFwcC1zdXJmYWNlICksIGstZ2V0LXRoZW1lLWNvbG9yLXZhciggbmV1dHJhbC0xOTAgKSkgIWRlZmF1bHQ7IC8vIGhlYWRlci10ZXh0XG4vLy8gVGhlIGJvcmRlciBjb2xvciBvZiB0aGUgQ2FyZCBoZWFkZXIuXG4vLy8gQGdyb3VwIGNhcmRcbiRrZW5kby1jYXJkLWhlYWRlci1ib3JkZXI6IGluaGVyaXQgIWRlZmF1bHQ7IC8vIGhlYWRlci1ib3JkZXJcblxuLy8vIFRoZSBob3Jpem9udGFsIHBhZGRpbmcgb2YgdGhlIENhcmQgYm9keS5cbi8vLyBAZ3JvdXAgY2FyZFxuJGtlbmRvLWNhcmQtYm9keS1wYWRkaW5nLXg6IGstc3BhY2luZygzKSAhZGVmYXVsdDtcbi8vLyBUaGUgdmVydGljYWwgcGFkZGluZyBvZiB0aGUgQ2FyZCBib2R5LlxuLy8vIEBncm91cCBjYXJkXG4ka2VuZG8tY2FyZC1ib2R5LXBhZGRpbmcteTogay1zcGFjaW5nKDMpICFkZWZhdWx0O1xuXG4vLy8gVGhlIGhvcml6b250YWwgcGFkZGluZyBvZiB0aGUgQ2FyZCBmb290ZXIuXG4vLy8gQGdyb3VwIGNhcmRcbiRrZW5kby1jYXJkLWZvb3Rlci1wYWRkaW5nLXg6ICRrZW5kby1jYXJkLXBhZGRpbmcteCAhZGVmYXVsdDtcbi8vLyBUaGUgdmVydGljYWwgcGFkZGluZyBvZiB0aGUgQ2FyZCBmb290ZXIuXG4vLy8gQGdyb3VwIGNhcmRcbiRrZW5kby1jYXJkLWZvb3Rlci1wYWRkaW5nLXk6ICRrZW5kby1jYXJkLXBhZGRpbmcteSAhZGVmYXVsdDtcbi8vLyBUaGUgdG9wIGJvcmRlciB3aWR0aCBvZiB0aGUgQ2FyZCBmb290ZXIuXG4vLy8gQGdyb3VwIGNhcmRcbiRrZW5kby1jYXJkLWZvb3Rlci1ib3JkZXItd2lkdGg6IDAgIWRlZmF1bHQ7XG4vLy8gVGhlIGJhY2tncm91bmQgY29sb3Igb2YgdGhlIENhcmQgZm9vdGVyLlxuLy8vIEBncm91cCBjYXJkXG4ka2VuZG8tY2FyZC1mb290ZXItYmc6IGluaGVyaXQgIWRlZmF1bHQ7XG4vLy8gVGhlIHRleHQgY29sb3Igb2YgdGhlIENhcmQgZm9vdGVyLlxuLy8vIEBncm91cCBjYXJkXG4ka2VuZG8tY2FyZC1mb290ZXItdGV4dDogaW5oZXJpdCAhZGVmYXVsdDsgLy8gJGtlbmRvLWNvbXBvbmVudC1oZWFkZXItdGV4dFxuLy8vIFRoZSBib3JkZXIgY29sb3Igb2YgdGhlIENhcmQgZm9vdGVyLlxuLy8vIEBncm91cCBjYXJkXG4ka2VuZG8tY2FyZC1mb290ZXItYm9yZGVyOiBpbmhlcml0ICFkZWZhdWx0OyAvLyAka2VuZG8tY29tcG9uZW50LWhlYWRlci1ib3JkZXJcblxuLy8vIFRoZSBmb250IHNpemUgb2YgdGhlIENhcmQgdGl0bGUuXG4vLy8gQGdyb3VwIGNhcmRcbiRrZW5kby1jYXJkLXRpdGxlLWZvbnQtc2l6ZTogdmFyKCAtLWtlbmRvLWZvbnQtc2l6ZS1sZywgaW5oZXJpdCApICFkZWZhdWx0O1xuLy8vIFRoZSBmb250IGZhbWlseSBvZiB0aGUgQ2FyZCB0aXRsZS5cbi8vLyBAZ3JvdXAgY2FyZFxuJGtlbmRvLWNhcmQtdGl0bGUtZm9udC1mYW1pbHk6IHZhciggLS1rZW5kby1mb250LWZhbWlseSwgaW5oZXJpdCApICFkZWZhdWx0O1xuLy8vIFRoZSBmb250IHdlaWdodCBvZiB0aGUgQ2FyZCB0aXRsZS5cbi8vLyBAZ3JvdXAgY2FyZFxuJGtlbmRvLWNhcmQtdGl0bGUtZm9udC13ZWlnaHQ6ICRrZW5kby1jYXJkLWhlYWRlci1mb250LXdlaWdodCAhZGVmYXVsdDtcbi8vLyBUaGUgbGluZSBoZWlnaHQgb2YgdGhlIENhcmQgdGl0bGUuXG4vLy8gQGdyb3VwIGNhcmRcbiRrZW5kby1jYXJkLXRpdGxlLWxpbmUtaGVpZ2h0OiB2YXIoIC0ta2VuZG8tbGluZS1oZWlnaHQsIG5vcm1hbCApICFkZWZhdWx0O1xuLy8vIFRoZSBib3R0b20gbWFyZ2luIG9mIHRoZSBDYXJkIHRpdGxlLlxuLy8vIEBncm91cCBjYXJkXG4ka2VuZG8tY2FyZC10aXRsZS1tYXJnaW4tYm90dG9tOiBrLXNwYWNpbmcoMykgIWRlZmF1bHQ7XG4vLy8gVGhlIGZvbnQgc2l6ZSBvZiB0aGUgQ2FyZCBzdWJ0aXRsZS5cbi8vLyBAZ3JvdXAgY2FyZFxuJGtlbmRvLWNhcmQtc3VidGl0bGUtZm9udC1zaXplOiB2YXIoIC0ta2VuZG8tZm9udC1zaXplLXNtLCBpbmhlcml0ICkgIWRlZmF1bHQ7XG4vLy8gVGhlIGZvbnQgZmFtaWx5IG9mIHRoZSBDYXJkIHN1YnRpdGxlLlxuLy8vIEBncm91cCBjYXJkXG4ka2VuZG8tY2FyZC1zdWJ0aXRsZS1mb250LWZhbWlseTogdmFyKCAtLWtlbmRvLWZvbnQtZmFtaWx5LCBpbmhlcml0ICkgIWRlZmF1bHQ7XG4vLy8gVGhlIGxpbmUgaGVpZ2h0IG9mIHRoZSBDYXJkIHN1YnRpdGxlLlxuLy8vIEBncm91cCBjYXJkXG4ka2VuZG8tY2FyZC1zdWJ0aXRsZS1saW5lLWhlaWdodDogdmFyKCAtLWtlbmRvLWxpbmUtaGVpZ2h0LCBub3JtYWwgKSAhZGVmYXVsdDtcbi8vLyBUaGUgYm90dG9tIG1hcmdpbiBvZiB0aGUgQ2FyZCBzdWJ0aXRsZS5cbi8vLyBAZ3JvdXAgY2FyZFxuJGtlbmRvLWNhcmQtc3VidGl0bGUtbWFyZ2luLWJvdHRvbTogay1zcGFjaW5nKDMpICFkZWZhdWx0O1xuLy8vIFRoZSB0ZXh0IGNvbG9yIG9mIHRoZSBDYXJkIHN1YnRpdGxlLlxuLy8vIEBncm91cCBjYXJkXG4ka2VuZG8tY2FyZC1zdWJ0aXRsZS10ZXh0OiAka2VuZG8tc3VidGxlLXRleHQgIWRlZmF1bHQ7XG5cbi8vLyBUaGUgbWF4aW11bSB3aWR0aCBvZiB0aGUgQ2FyZCBpbWFnZS5cbi8vLyBAZ3JvdXAgY2FyZFxuJGtlbmRvLWNhcmQtaW1nLW1heC13aWR0aDogMTAwcHggIWRlZmF1bHQ7XG4vLy8gVGhlIHNpemUgb2YgdGhlIEF2YXRhciBpbiB0aGUgQ2FyZC5cbi8vLyBAZ3JvdXAgY2FyZFxuJGtlbmRvLWNhcmQtYXZhdGFyLXNpemU6IDNyZW0gIWRlZmF1bHQ7XG4vLy8gVGhlIHNwYWNpbmcgYmV0d2VlbiB0aGUgQXZhdGFyIGFuZCB0aGUgdGV4dCBpbiB0aGUgQ2FyZC5cbi8vLyBAZ3JvdXAgY2FyZFxuJGtlbmRvLWNhcmQtYXZhdGFyLXNwYWNpbmc6ICRrZW5kby1jYXJkLWhlYWRlci1wYWRkaW5nLXggIWRlZmF1bHQ7XG5cbi8vLyBUaGUgaG9yaXpvbnRhbCBwYWRkaW5nIG9mIHRoZSBDYXJkIGFjdGlvbnMuXG4vLy8gQGdyb3VwIGNhcmRcbiRrZW5kby1jYXJkLWFjdGlvbnMtcGFkZGluZy14OiBrLXNwYWNpbmcoMykgIWRlZmF1bHQ7XG4vLy8gVGhlIHZlcnRpY2FsIHBhZGRpbmcgb2YgdGhlIENhcmQgYWN0aW9ucy5cbi8vLyBAZ3JvdXAgY2FyZFxuJGtlbmRvLWNhcmQtYWN0aW9ucy1wYWRkaW5nLXk6IGstc3BhY2luZygzKSAhZGVmYXVsdDtcbi8vLyBUaGUgdG9wIGJvcmRlciB3aWR0aCBvZiB0aGUgQ2FyZCBhY3Rpb25zLlxuLy8vIEBncm91cCBjYXJkXG4ka2VuZG8tY2FyZC1hY3Rpb25zLWJvcmRlci13aWR0aDogMCAhZGVmYXVsdDtcbi8vLyBUaGUgc3BhY2luZyBiZXR3ZWVuIHRoZSBDYXJkIGFjdGlvbnMuXG4vLy8gQGdyb3VwIGNhcmRcbiRrZW5kby1jYXJkLWFjdGlvbnMtZ2FwOiBrLXNwYWNpbmcoMikgIWRlZmF1bHQ7XG5cbi8vLyBUaGUgYm9yZGVyIHJhZGl1cyBvZiB0aGUgc2Nyb2xsIGJ1dHRvbiBpbiB0aGUgQ2FyZCBkZWNrLlxuLy8vIEBncm91cCBjYXJkXG4ka2VuZG8tY2FyZC1kZWNrLXNjcm9sbC1idXR0b24tcmFkaXVzOiAwICFkZWZhdWx0O1xuLy8vIFRoZSBib3JkZXIgcmFkaXVzIG9mIHRoZSBzY3JvbGwgYnV0dG9uIGluIHRoZSBDYXJkIGRlY2suXG4vLy8gQGdyb3VwIGNhcmRcbiRrZW5kby1jYXJkLWRlY2stc2Nyb2xsLWJ1dHRvbi1vZmZzZXQ6ICggLTEgKiAka2VuZG8tYnV0dG9uLWJvcmRlci13aWR0aCApICFkZWZhdWx0O1xuXG4vLy8gVGhlIHNpemUgb2YgdGhlIENhcmQgY2FsbG91dC5cbi8vLyBAZ3JvdXAgY2FyZFxuJGtlbmRvLWNhcmQtY2FsbG91dC1zaXplOiAyMHB4ICFkZWZhdWx0O1xuXG4vLy8gVGhlbWUgdmFyaWF0aW9ucyBmb3IgdGhlIGNhcmQuXG4ka2VuZG8tY2FyZC1icmFuZC1jb2xvcnM6ICggcHJpbWFyeSwgZXJyb3IsIHdhcm5pbmcsIHN1Y2Nlc3MsIGluZm8gKSAhZGVmYXVsdDtcblxuLy8gTWF0cml4IHdpdGggY2FyZCB0aGVtZSBjb2xvcnMgaW4gdGhlIG9yZGVyOiBiZywgY29sb3IsIGJvcmRlclxuJF90Yy1jYXJkLW1hdHJpeDogKFxuICAgIChub3JtYWw6IGlmKCRrZW5kby1lbmFibGUtY29sb3Itc3lzdGVtLCAoY29sb3Itc3VidGxlLCBjb2xvci1vbi1zdWJ0bGUsIGNvbG9yLXN1YnRsZSksICgyMCwgMTYwLCAyMCkpKSxcbikgIWRlZmF1bHQ7XG5cbi8vLyBUaGVtZSBjb2xvcnMgbWFwIGZvciB0aGUgY2FyZCB2YXJpYXRpb25zLlxuJGtlbmRvLWNhcmQtdGhlbWUtY29sb3JzOiAoKSAhZGVmYXVsdDtcblxuQGVhY2ggJHVpLXN0YXRlcyBpbiAkX3RjLWNhcmQtbWF0cml4IHtcbiAgICBAZWFjaCAkYnJhbmQtY29sb3IgaW4gJGtlbmRvLWNhcmQtYnJhbmQtY29sb3JzIHtcbiAgICAgICAgJGtlbmRvLWNhcmQtdGhlbWUtY29sb3JzOiBtYXAuZGVlcC1tZXJnZShcbiAgICAgICAgICAgICRrZW5kby1jYXJkLXRoZW1lLWNvbG9ycyxcbiAgICAgICAgICAgIGstZ2VuZXJhdGUtdGhlbWUtdmFyaWF0aW9uKCAkYnJhbmQtY29sb3IsICRicmFuZC1jb2xvciwgJHVpLXN0YXRlcyApXG4gICAgICAgICk7XG4gICAgfTtcbn1cbiIsIkB1c2UgXCJzYXNzOm1hcFwiO1xuQHVzZSBcIi4uL2NvcmUvX2luZGV4LnNjc3NcIiBhcyAqO1xuQHVzZSBcIi4vX3ZhcmlhYmxlcy5zY3NzXCIgYXMgKjtcblxuQG1peGluIGtlbmRvLWNhcmQtLXRoZW1lKCkge1xuXG4gICAgLy8gQ2FyZFxuICAgIC5rLWNhcmQge1xuICAgICAgICAtLUlOVEVSTkFMLS1rZW5kby1jYXJkLXRleHQ6IHZhciggLS1rZW5kby1jYXJkLXRleHQsICN7JGtlbmRvLWNhcmQtdGV4dH0gKTtcbiAgICAgICAgLS1JTlRFUk5BTC0ta2VuZG8tY2FyZC1iZzogdmFyKCAtLWtlbmRvLWNhcmQtYmcsICN7JGtlbmRvLWNhcmQtYmd9ICk7XG4gICAgICAgIC0tSU5URVJOQUwtLWtlbmRvLWNhcmQtYm9yZGVyOiB2YXIoIC0ta2VuZG8tY2FyZC1ib3JkZXIsICN7JGtlbmRvLWNhcmQtYm9yZGVyfSApO1xuICAgICAgICAtLUlOVEVSTkFMLS1rZW5kby1jYXJkLXNoYWRvdzogdmFyKCAtLWtlbmRvLWNhcmQtc2hhZG93LCAjeyRrZW5kby1jYXJkLXNoYWRvd30gKTtcblxuICAgICAgICBjb2xvcjogdmFyKCAtLUlOVEVSTkFMLS1rZW5kby1jYXJkLXRleHQsIGluaXRpYWwgKTtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKCAtLUlOVEVSTkFMLS1rZW5kby1jYXJkLWJnLCBpbml0aWFsICk7XG4gICAgICAgIGJvcmRlci1jb2xvcjogdmFyKCAtLUlOVEVSTkFMLS1rZW5kby1jYXJkLWJvcmRlciwgaW5pdGlhbCApO1xuXG4gICAgICAgIEBpbmNsdWRlIGJveC1zaGFkb3coIHZhciggLS1JTlRFUk5BTC0ta2VuZG8tY2FyZC1zaGFkb3csIG5vbmUgKSApO1xuXG4gICAgICAgIC5rLWNhcmQtaW5uZXIge1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogaW5oZXJpdDtcbiAgICAgICAgICAgIGJvcmRlci1jb2xvcjogaW5oZXJpdDtcbiAgICAgICAgfVxuXG4gICAgICAgICY6Zm9jdXMsXG4gICAgICAgICYuay1mb2N1cyB7XG4gICAgICAgICAgICAtLUlOVEVSTkFMLS1rZW5kby1jYXJkLXRleHQ6IHZhciggLS1rZW5kby1jYXJkLWZvY3VzLXRleHQsICN7JGtlbmRvLWNhcmQtZm9jdXMtdGV4dH0gKTtcbiAgICAgICAgICAgIC0tSU5URVJOQUwtLWtlbmRvLWNhcmQtYmc6IHZhciggLS1rZW5kby1jYXJkLWZvY3VzLWJnLCAjeyRrZW5kby1jYXJkLWZvY3VzLWJnfSApO1xuICAgICAgICAgICAgLS1JTlRFUk5BTC0ta2VuZG8tY2FyZC1ib3JkZXI6IHZhciggLS1rZW5kby1jYXJkLWZvY3VzLWJvcmRlciwgI3ska2VuZG8tY2FyZC1mb2N1cy1ib3JkZXJ9ICk7XG4gICAgICAgICAgICAtLUlOVEVSTkFMLS1rZW5kby1jYXJkLXNoYWRvdzogdmFyKCAtLWtlbmRvLWNhcmQtZm9jdXMtc2hhZG93LCAjeyRrZW5kby1jYXJkLWZvY3VzLXNoYWRvd30gKTtcbiAgICAgICAgfVxuXG4gICAgICAgICYuay1zZWxlY3RlZCB7XG4gICAgICAgICAgICAtLUlOVEVSTkFMLS1rZW5kby1jYXJkLXNoYWRvdzogdmFyKCAtLWtlbmRvLWNhcmQtZm9jdXMtc2hhZG93LCAjeyRrZW5kby1jYXJkLWZvY3VzLXNoYWRvd30gKTtcbiAgICAgICAgfVxuICAgIH1cblxuXG4gICAgLy8gQ2FyZCBhY3Rpb25zXG4gICAgLmstY2FyZC1hY3Rpb25zIHtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiB2YXIoIC0ta2VuZG8tY2FyZC1ib3JkZXIsICN7JGtlbmRvLWNhcmQtYm9yZGVyfSApO1xuICAgIH1cblxuXG4gICAgLy8gSGVhZGVyXG4gICAgLmstY2FyZC1oZWFkZXIge1xuICAgICAgICBAaW5jbHVkZSBmaWxsKFxuICAgICAgICAgICAgdmFyKCAtLWtlbmRvLWNhcmQtaGVhZGVyLXRleHQsICN7JGtlbmRvLWNhcmQtaGVhZGVyLXRleHR9ICksXG4gICAgICAgICAgICB2YXIoIC0ta2VuZG8tY2FyZC1oZWFkZXItYmcsICN7JGtlbmRvLWNhcmQtaGVhZGVyLWJnfSApLFxuICAgICAgICAgICAgdmFyKCAtLWtlbmRvLWNhcmQtaGVhZGVyLWJvcmRlciwgI3ska2VuZG8tY2FyZC1oZWFkZXItYm9yZGVyfSApXG4gICAgICAgICk7XG4gICAgfVxuXG5cbiAgICAvLyBGb290ZXJcbiAgICAuay1jYXJkLWZvb3RlciB7XG4gICAgICAgIEBpbmNsdWRlIGZpbGwoXG4gICAgICAgICAgICB2YXIoIC0ta2VuZG8tY2FyZC1mb290ZXItdGV4dCwgI3ska2VuZG8tY2FyZC1mb290ZXItdGV4dH0gKSxcbiAgICAgICAgICAgIHZhciggLS1rZW5kby1jYXJkLWZvb3Rlci1iZywgI3ska2VuZG8tY2FyZC1mb290ZXItYmd9ICksXG4gICAgICAgICAgICB2YXIoIC0ta2VuZG8tY2FyZC1mb290ZXItYm9yZGVyLCAjeyRrZW5kby1jYXJkLWZvb3Rlci1ib3JkZXJ9IClcbiAgICAgICAgKTtcbiAgICB9XG5cblxuICAgIC8vIFNlcGFyYXRvclxuICAgIC5rLWNhcmQtc2VwYXJhdG9yLFxuICAgIC5rLWNhcmQgLmstc2VwYXJhdG9yIHtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiB2YXIoIC0ta2VuZG8tY2FyZC1ib3JkZXIsICN7JGtlbmRvLWNhcmQtYm9yZGVyfSApO1xuICAgIH1cblxuXG4gICAgLy8gVE9ETzogcmVmYWN0b3JcbiAgICAuay1jYXJkLXN1YnRpdGxlIHtcbiAgICAgICAgY29sb3I6IHZhciggLS1rZW5kby1jYXJkLXN1YnRpdGxlLXRleHQsICN7JGtlbmRvLWNhcmQtc3VidGl0bGUtdGV4dH0gKTtcbiAgICB9XG5cblxuICAgIC8vIENhcmQgdGhlbWUgY29sb3JzXG4gICAgQGVhY2ggJHRoZW1lLWNvbG9yLCAkY29sb3ItcHJvcHMgaW4gJGtlbmRvLWNhcmQtdGhlbWUtY29sb3JzIHtcblxuICAgICAgICAkX3RleHQtY29sb3I6IG1hcC5nZXQoICRjb2xvci1wcm9wcywgdGV4dCApO1xuICAgICAgICAkX2JnOiBtYXAuZ2V0KCAkY29sb3ItcHJvcHMsIGJnICk7XG4gICAgICAgICRfYm9yZGVyLWNvbG9yOiBtYXAuZ2V0KCAkY29sb3ItcHJvcHMsIGJvcmRlciApO1xuXG4gICAgICAgIC5rLWNhcmQtI3skdGhlbWUtY29sb3J9IHtcbiAgICAgICAgICAgIC0ta2VuZG8tY2FyZC10ZXh0OiB2YXIoIC0ta2VuZG8tY2FyZC0jeyR0aGVtZS1jb2xvcn0tdGV4dCwgI3skX3RleHQtY29sb3J9ICk7XG4gICAgICAgICAgICAtLWtlbmRvLWNhcmQtYmc6IHZhciggLS1rZW5kby1jYXJkLSN7JHRoZW1lLWNvbG9yfS1iZywgI3skX2JnfSApO1xuICAgICAgICAgICAgLS1rZW5kby1jYXJkLWJvcmRlcjogdmFyKCAtLWtlbmRvLWNhcmQtI3skdGhlbWUtY29sb3J9LWJvcmRlciwgI3skX2JvcmRlci1jb2xvcn0gKTtcblxuICAgICAgICAgICAgLmstY2FyZC1zdWJ0aXRsZSB7XG4gICAgICAgICAgICAgICAgY29sb3I6IGluaGVyaXQ7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cblxuICAgIC5rLWNhcmQtd3JhcCB7XG4gICAgICAgICYuay1mb2N1cyxcbiAgICAgICAgJjpmb2N1cyxcbiAgICAgICAgJi5rLXNlbGVjdGVkIHtcbiAgICAgICAgICAgID4gLmstY2FyZCB7XG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgYm94LXNoYWRvdyggdmFyKCAtLWtlbmRvLWNhcmQtc2hhZG93LCAjeyRrZW5kby1jYXJkLXNoYWRvd30gKSApO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG5cbiAgICAvLyBDYXJkIGNhbGxvdXRcbiAgICAuay1jYXJkLWNhbGxvdXQge1xuICAgICAgICBAaW5jbHVkZSBmaWxsKFxuICAgICAgICAgICAgJGJnOiBpbmhlcml0LFxuICAgICAgICAgICAgJGJvcmRlcjogaW5oZXJpdFxuICAgICAgICApO1xuXG4gICAgICAgIEBpbmNsdWRlIGJveC1zaGFkb3coIGluaGVyaXQgKTtcbiAgICB9XG59XG4iLCJAdXNlIFwiLi4vY29yZS9faW5kZXguc2Nzc1wiIGFzICo7XG5AdXNlIFwiLi9fdmFyaWFibGVzLnNjc3NcIiBhcyAqO1xuXG5AbWl4aW4ga2VuZG8tcG9wb3Zlci0tbGF5b3V0KCkge1xuXG4gICAgLy8gUG9wb3ZlclxuICAgIC5rLXBvcG92ZXIge1xuICAgICAgICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKCB2YXIoIC0ta2VuZG8tcG9wb3Zlci1ib3JkZXItcmFkaXVzLCAjeyRrZW5kby1wb3BvdmVyLWJvcmRlci1yYWRpdXN9ICkgKTtcbiAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgYm9yZGVyLXdpZHRoOiB2YXIoIC0ta2VuZG8tcG9wb3Zlci1ib3JkZXItd2lkdGgsICN7JGtlbmRvLXBvcG92ZXItYm9yZGVyLXdpZHRofSApO1xuICAgICAgICBib3JkZXItc3R5bGU6IHZhciggLS1rZW5kby1wb3BvdmVyLWJvcmRlci1zdHlsZSwgI3ska2VuZG8tcG9wb3Zlci1ib3JkZXItc3R5bGV9ICk7XG4gICAgICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgICAgIG91dGxpbmU6IDA7XG4gICAgICAgIGZvbnQtc2l6ZTogdmFyKCAtLWtlbmRvLXBvcG92ZXItZm9udC1zaXplLCAjeyRrZW5kby1wb3BvdmVyLWZvbnQtc2l6ZX0gKTtcbiAgICAgICAgZm9udC1mYW1pbHk6IHZhciggLS1rZW5kby1wb3BvdmVyLWZvbnQtZmFtaWx5LCAjeyRrZW5kby1wb3BvdmVyLWZvbnQtZmFtaWx5fSApO1xuICAgICAgICBsaW5lLWhlaWdodDogdmFyKCAtLWtlbmRvLXBvcG92ZXItbGluZS1oZWlnaHQsICN7JGtlbmRvLXBvcG92ZXItbGluZS1oZWlnaHR9ICk7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGZsZXgtZmxvdzogY29sdW1uIG5vd3JhcDtcbiAgICAgICAgei1pbmRleDogMTIwMDA7XG4gICAgICAgIC13ZWJraXQtdG91Y2gtY2FsbG91dDogbm9uZTtcbiAgICAgICAgLXdlYmtpdC10YXAtaGlnaGxpZ2h0LWNvbG9yOiAka2VuZG8tY29sb3ItcmdiYS10cmFuc3BhcmVudDtcblxuICAgICAgICAqLFxuICAgICAgICAqOjpiZWZvcmUsXG4gICAgICAgICo6OmFmdGVyIHtcbiAgICAgICAgICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgICAgIH1cblxuICAgICAgICAuay1wb3BvdmVyLWhlYWRlciB7XG4gICAgICAgICAgICBtYXJnaW4tYmxvY2stZW5kOiAwO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLy8gSW5uZXJcbiAgICAuay1wb3BvdmVyLWlubmVyIHtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICBib3JkZXItcmFkaXVzOiBpbmhlcml0O1xuICAgICAgICBoZWlnaHQ6IGluaGVyaXQ7XG4gICAgfVxuXG4gICAgLy8gSGVhZGVyXG4gICAgLmstcG9wb3Zlci1oZWFkZXIge1xuICAgICAgICBAZXh0ZW5kIC5rLWNhcmQtdGl0bGUgIW9wdGlvbmFsO1xuICAgICAgICBib3JkZXItd2lkdGg6IDAgMCB2YXIoIC0ta2VuZG8tcG9wb3Zlci1oZWFkZXItYm9yZGVyLXdpZHRoLCAjeyRrZW5kby1wb3BvdmVyLWhlYWRlci1ib3JkZXItd2lkdGh9ICk7XG4gICAgICAgIGJvcmRlci1zdHlsZTogdmFyKCAtLWtlbmRvLXBvcG92ZXItaGVhZGVyLWJvcmRlci1zdHlsZSwgI3ska2VuZG8tcG9wb3Zlci1oZWFkZXItYm9yZGVyLXN0eWxlfSApO1xuICAgICAgICBwYWRkaW5nLWlubGluZTogdmFyKCAtLWtlbmRvLXBvcG92ZXItaGVhZGVyLXBhZGRpbmcteCwgI3ska2VuZG8tcG9wb3Zlci1oZWFkZXItcGFkZGluZy14fSApO1xuICAgICAgICBwYWRkaW5nLWJsb2NrOiB2YXIoIC0ta2VuZG8tcG9wb3Zlci1oZWFkZXItcGFkZGluZy15LCAjeyRrZW5kby1wb3BvdmVyLWhlYWRlci1wYWRkaW5nLXl9ICk7XG4gICAgfVxuXG4gICAgLy8gQm9keVxuICAgIC5rLXBvcG92ZXItYm9keSB7XG4gICAgICAgIHBhZGRpbmctaW5saW5lOiB2YXIoIC0ta2VuZG8tcG9wb3Zlci1ib2R5LXBhZGRpbmcteCwgI3ska2VuZG8tcG9wb3Zlci1ib2R5LXBhZGRpbmcteH0gKTtcbiAgICAgICAgcGFkZGluZy1ibG9jay1zdGFydDogdmFyKCAtLWtlbmRvLXBvcG92ZXItYm9keS1wYWRkaW5nLXksICN7JGtlbmRvLXBvcG92ZXItYm9keS1wYWRkaW5nLXl9ICk7XG4gICAgICAgIHBhZGRpbmctYmxvY2stZW5kOiAwO1xuXG4gICAgICAgIEBhdC1yb290IC5rLXBvcG92ZXItaGVhZGVyICsgLmstcG9wb3Zlci1ib2R5IHtcbiAgICAgICAgICAgIHBhZGRpbmctYmxvY2stc3RhcnQ6IDA7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBBY3Rpb25zXG4gICAgLmstcG9wb3Zlci1hY3Rpb25zIHtcbiAgICAgICAgYm9yZGVyLXdpZHRoOiB2YXIoIC0ta2VuZG8tcG9wb3Zlci1hY3Rpb25zLWJvcmRlci13aWR0aCwgI3ska2VuZG8tcG9wb3Zlci1hY3Rpb25zLWJvcmRlci13aWR0aH0gKSAwIDA7XG4gICAgICAgIHBhZGRpbmctaW5saW5lOiB2YXIoIC0ta2VuZG8tcG9wb3Zlci1hY3Rpb25zLXBhZGRpbmcteCwgI3ska2VuZG8tcG9wb3Zlci1hY3Rpb25zLXBhZGRpbmcteH0gKTtcbiAgICAgICAgcGFkZGluZy1ibG9jazogdmFyKCAtLWtlbmRvLXBvcG92ZXItYWN0aW9ucy1wYWRkaW5nLXksICN7JGtlbmRvLXBvcG92ZXItYWN0aW9ucy1wYWRkaW5nLXl9ICk7XG4gICAgICAgIGdhcDogdmFyKCAtLWtlbmRvLXBvcG92ZXItYWN0aW9ucy1nYXAsICRrZW5kby1wb3BvdmVyLWFjdGlvbnMtZ2FwICk7XG4gICAgfVxuXG4gICAgLy8gQ2FsbG91dFxuICAgIC5rLXBvcG92ZXItY2FsbG91dCB7XG4gICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgd2lkdGg6IHZhciggLS1rZW5kby1wb3BvdmVyLWNhbGxvdXQtd2lkdGgsICN7JGtlbmRvLXBvcG92ZXItY2FsbG91dC13aWR0aH0gKTtcbiAgICAgICAgaGVpZ2h0OiB2YXIoIC0ta2VuZG8tcG9wb3Zlci1jYWxsb3V0LWhlaWdodCwgI3ska2VuZG8tcG9wb3Zlci1jYWxsb3V0LWhlaWdodH0gKTtcbiAgICAgICAgYm9yZGVyLXdpZHRoOiB2YXIoIC0ta2VuZG8tcG9wb3Zlci1jYWxsb3V0LWJvcmRlci13aWR0aCwgI3ska2VuZG8tcG9wb3Zlci1jYWxsb3V0LWJvcmRlci13aWR0aH0gKTtcbiAgICAgICAgYm9yZGVyLXN0eWxlOiB2YXIoIC0ta2VuZG8tcG9wb3Zlci1jYWxsb3V0LWJvcmRlci1zdHlsZSwgI3ska2VuZG8tcG9wb3Zlci1jYWxsb3V0LWJvcmRlci1zdHlsZX0gKTtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuXG4gICAgICAgICYuay1jYWxsb3V0LW4ge1xuICAgICAgICAgICAgdG9wOiAwO1xuICAgICAgICAgICAgbGVmdDogNTAlO1xuICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgLTUwJSkgcm90YXRlKDQ1ZGVnKTtcbiAgICAgICAgfVxuXG4gICAgICAgICYuay1jYWxsb3V0LWUge1xuICAgICAgICAgICAgdG9wOiA1MCU7XG4gICAgICAgICAgICByaWdodDogMDtcbiAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKDUwJSwgLTUwJSkgcm90YXRlKC00NWRlZyk7XG4gICAgICAgIH1cblxuICAgICAgICAmLmstY2FsbG91dC1zIHtcbiAgICAgICAgICAgIGJvdHRvbTogMDtcbiAgICAgICAgICAgIGxlZnQ6IDUwJTtcbiAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIDUwJSkgcm90YXRlKDQ1ZGVnKTtcbiAgICAgICAgfVxuXG4gICAgICAgICYuay1jYWxsb3V0LXcge1xuICAgICAgICAgICAgdG9wOiA1MCU7XG4gICAgICAgICAgICBsZWZ0OiAwO1xuICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgLTUwJSkgcm90YXRlKDQ1ZGVnKTtcbiAgICAgICAgfVxuICAgIH1cbn1cbiIsIkB1c2UgXCIuLi9jb3JlL19pbmRleC5zY3NzXCIgYXMgKjtcbkB1c2UgXCIuL192YXJpYWJsZXMuc2Nzc1wiIGFzICo7XG5cbkBtaXhpbiBrZW5kby1wb3BvdmVyLS10aGVtZSgpIHtcblxuICAgIC8vIFBvcG92ZXJcbiAgICAuay1wb3BvdmVyIHtcbiAgICAgICAgQGluY2x1ZGUgYm94LXNoYWRvdyggdmFyKCAtLWtlbmRvLXBvcG92ZXItc2hhZG93LCAka2VuZG8tcG9wb3Zlci1zaGFkb3cgKSApO1xuXG4gICAgICAgIEBpbmNsdWRlIGZpbGwoXG4gICAgICAgICAgICB2YXIoIC0ta2VuZG8tcG9wb3Zlci10ZXh0LCAka2VuZG8tcG9wb3Zlci10ZXh0ICksXG4gICAgICAgICAgICB2YXIoIC0ta2VuZG8tcG9wb3Zlci1iZywgJGtlbmRvLXBvcG92ZXItYmcgKSxcbiAgICAgICAgICAgIHZhciggLS1rZW5kby1wb3BvdmVyLWJvcmRlciwgJGtlbmRvLXBvcG92ZXItYm9yZGVyIClcbiAgICAgICAgKTtcbiAgICB9XG5cbiAgICAvLyBJbm5lclxuICAgIC5rLXBvcG92ZXItaW5uZXIge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBpbmhlcml0O1xuICAgICAgICBib3JkZXItY29sb3I6IGluaGVyaXQ7XG4gICAgfVxuXG4gICAgLy8gSGVhZGVyXG4gICAgLmstcG9wb3Zlci1oZWFkZXIge1xuICAgICAgICBAaW5jbHVkZSBmaWxsKFxuICAgICAgICAgICAgdmFyKCAtLWtlbmRvLXBvcG92ZXItaGVhZGVyLXRleHQsICRrZW5kby1wb3BvdmVyLWhlYWRlci10ZXh0ICksXG4gICAgICAgICAgICB2YXIoIC0ta2VuZG8tcG9wb3Zlci1oZWFkZXItYmcsICRrZW5kby1wb3BvdmVyLWhlYWRlci1iZyApLFxuICAgICAgICAgICAgdmFyKCAtLWtlbmRvLXBvcG92ZXItaGVhZGVyLWJvcmRlciwgJGtlbmRvLXBvcG92ZXItaGVhZGVyLWJvcmRlciApXG4gICAgICAgICk7XG4gICAgfVxuXG4gICAgLy8gQ2FsbG91dFxuICAgIC5rLXBvcG92ZXItY2FsbG91dCB7XG4gICAgICAgIEBpbmNsdWRlIGZpbGwoXG4gICAgICAgICAgICAkYmc6IGluaGVyaXQsXG4gICAgICAgICAgICAkYm9yZGVyOiBpbmhlcml0XG4gICAgICAgICk7XG5cbiAgICAgICAgQGluY2x1ZGUgYm94LXNoYWRvdyggaW5oZXJpdCApXG4gICAgfVxufVxuIiwiQHVzZSBcIi4vX3ZhcmlhYmxlcy5zY3NzXCIgYXMgKjtcblxuQG1peGluIGtlbmRvLXJlc3BvbnNpdmUtcGFuZWwtLWxheW91dCgpIHtcblxuICAgIC5rLXJwYW5lbCB7fVxuXG4gICAgLy8gVmFyaWFudHNcbiAgICAuay1ycGFuZWwtbGVmdCxcbiAgICAuay1ycGFuZWwtcmlnaHQge1xuICAgICAgICBwb3NpdGlvbjogZml4ZWQ7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICBvdmVyZmxvdzogYXV0bztcbiAgICAgICAgbWluLXdpZHRoOiAzMjBweDtcbiAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICB0b3A6IDA7XG5cbiAgICAgICAgJiArICoge1xuICAgICAgICAgICAgb3ZlcmZsb3c6IGF1dG87XG4gICAgICAgIH1cblxuICAgICAgICAmLmstcnBhbmVsLWV4cGFuZGVkIHtcbiAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgwKSB0cmFuc2xhdGVaKDApO1xuICAgICAgICB9XG4gICAgfVxuICAgIC5rLXJwYW5lbC1sZWZ0IHtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0xMDAlKSB0cmFuc2xhdGVaKDApO1xuICAgICAgICBsZWZ0OiAwO1xuICAgIH1cbiAgICAuay1ycGFuZWwtcmlnaHQge1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMTAwJSkgdHJhbnNsYXRlWigwKTtcbiAgICAgICAgcmlnaHQ6IDA7XG4gICAgfVxuXG4gICAgLy8gVG9wXG4gICAgLmstcnBhbmVsLXRvcCB7XG4gICAgICAgIHBvc2l0aW9uOiBzdGF0aWM7XG4gICAgICAgIG1heC1oZWlnaHQ6IDA7XG4gICAgfVxuICAgIC5rLXJwYW5lbC10b3Auay1ycGFuZWwtZXhwYW5kZWQge1xuICAgICAgICBtYXgtaGVpZ2h0OiA1NjhweDtcbiAgICAgICAgb3ZlcmZsb3c6IHZpc2libGUgIWltcG9ydGFudDsgLy8gc3R5bGVsaW50LWRpc2FibGUtbGluZSBkZWNsYXJhdGlvbi1uby1pbXBvcnRhbnRcbiAgICB9XG5cbiAgICAvLyBUb2dnbGUgYnV0dG9uXG4gICAgLmstcnBhbmVsLXRvZ2dsZSB7XG4gICAgICAgIHRvdWNoLWFjdGlvbjogbWFuaXB1bGF0aW9uO1xuICAgIH1cblxufVxuIiwiQHVzZSBcIi4uL2NvcmUvX2luZGV4LnNjc3NcIiBhcyAqO1xuQHVzZSBcIi4vX3ZhcmlhYmxlcy5zY3NzXCIgYXMgKjtcblxuQG1peGluIGtlbmRvLWJvdHRvbS1uYXZpZ2F0aW9uLS1sYXlvdXQoKSB7XG5cbiAgICAvLyBCb3R0b20gTmF2aWdhdGlvblxuICAgIC5rLWJvdHRvbS1uYXYge1xuICAgICAgICBwYWRkaW5nLWJsb2NrOiB2YXIoIC0ta2VuZG8tYm90dG9tLW5hdi1wYWRkaW5nLXksICN7JGtlbmRvLWJvdHRvbS1uYXYtcGFkZGluZy15fSApO1xuICAgICAgICBwYWRkaW5nLWlubGluZTogdmFyKCAtLWtlbmRvLWJvdHRvbS1uYXYtcGFkZGluZy14LCAjeyRrZW5kby1ib3R0b20tbmF2LXBhZGRpbmcteH0gKTtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIGJvcmRlci13aWR0aDogMDtcbiAgICAgICAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICAgICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICAgICAgZm9udC1zaXplOiB2YXIoIC0ta2VuZG8tYm90dG9tLW5hdi1mb250LXNpemUsICN7JGtlbmRvLWJvdHRvbS1uYXYtZm9udC1zaXplfSApO1xuICAgICAgICBsaW5lLWhlaWdodDogdmFyKCAtLWtlbmRvLWJvdHRvbS1uYXYtbGluZS1oZWlnaHQsICN7JGtlbmRvLWJvdHRvbS1uYXYtbGluZS1oZWlnaHR9ICk7XG4gICAgICAgIGZvbnQtZmFtaWx5OiB2YXIoIC0ta2VuZG8tYm90dG9tLW5hdi1mb250LWZhbWlseSwgI3ska2VuZG8tYm90dG9tLW5hdi1mb250LWZhbWlseX0gKTtcbiAgICAgICAgbGV0dGVyLXNwYWNpbmc6IHZhciggLS1rZW5kby1ib3R0b20tbmF2LWxldHRlci1zcGFjaW5nLCAjeyRrZW5kby1ib3R0b20tbmF2LWxldHRlci1zcGFjaW5nfSApO1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBmbGV4LWZsb3c6IHJvdyBub3dyYXA7XG4gICAgICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gICAgICAgIGdhcDogdmFyKCAtLWtlbmRvLWJvdHRvbS1uYXYtZ2FwLCAjeyRrZW5kby1ib3R0b20tbmF2LWdhcH0gKTtcbiAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAgICAgb3V0bGluZTogbm9uZTtcblxuICAgICAgICAqLFxuICAgICAgICAqOjpiZWZvcmUsXG4gICAgICAgICo6OmFmdGVyIHtcbiAgICAgICAgICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAuay1ib3R0b20tbmF2LWJvcmRlciB7XG4gICAgICAgIGJvcmRlci13aWR0aDogdmFyKCAtLWtlbmRvLWJvdHRvbS1uYXYtYm9yZGVyLXdpZHRoLCAjeyRrZW5kby1ib3R0b20tbmF2LWJvcmRlci13aWR0aH0gKTtcbiAgICB9XG5cbiAgICAuay1ib3R0b20tbmF2LXNoYWRvdyB7XG4gICAgICAgIGJveC1zaGFkb3c6IHZhciggLS1rZW5kby1ib3R0b20tbmF2LXNoYWRvdywgI3ska2VuZG8tYm90dG9tLW5hdi1zaGFkb3d9ICk7XG4gICAgfVxuXG4gICAgLy8gSXRlbXNcbiAgICAuay1ib3R0b20tbmF2LWl0ZW0ge1xuICAgICAgICBwYWRkaW5nLWJsb2NrOiB2YXIoIC0ta2VuZG8tYm90dG9tLW5hdi1pdGVtLXBhZGRpbmcteSwgI3ska2VuZG8tYm90dG9tLW5hdi1pdGVtLXBhZGRpbmcteX0gKTtcbiAgICAgICAgcGFkZGluZy1pbmxpbmU6IHZhciggLS1rZW5kby1ib3R0b20tbmF2LWl0ZW0tcGFkZGluZy14LCAjeyRrZW5kby1ib3R0b20tbmF2LWl0ZW0tcGFkZGluZy14fSApO1xuICAgICAgICBtaW4td2lkdGg6IHZhciggLS1rZW5kby1ib3R0b20tbmF2LWl0ZW0tbWluLXdpZHRoLCAjeyRrZW5kby1ib3R0b20tbmF2LWl0ZW0tbWluLXdpZHRofSApO1xuICAgICAgICBtYXgtd2lkdGg6IHZhciggLS1rZW5kby1ib3R0b20tbmF2LWl0ZW0tbWF4LXdpZHRoLCAjeyRrZW5kby1ib3R0b20tbmF2LWl0ZW0tbWF4LXdpZHRofSApO1xuICAgICAgICBtaW4taGVpZ2h0OiB2YXIoIC0ta2VuZG8tYm90dG9tLW5hdi1pdGVtLW1pbi1oZWlnaHQsICN7JGtlbmRvLWJvdHRvbS1uYXYtaXRlbS1taW4taGVpZ2h0fSApO1xuICAgICAgICBib3JkZXItd2lkdGg6IDA7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IHZhciggLS1rZW5kby1ib3R0b20tbmF2LWl0ZW0tYm9yZGVyLXJhZGl1cywgI3ska2VuZG8tYm90dG9tLW5hdi1pdGVtLWJvcmRlci1yYWRpdXN9ICk7XG4gICAgICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgZm9udDogaW5oZXJpdDtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gICAgICAgIGZsZXg6IDEgMSBhdXRvO1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgICAgZ2FwOiB2YXIoIC0ta2VuZG8tYm90dG9tLW5hdi1pdGVtLWdhcCwgI3ska2VuZG8tYm90dG9tLW5hdi1pdGVtLWdhcH0gKTtcbiAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgICAgIGNvbG9yOiBpbmhlcml0O1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBpbmhlcml0O1xuICAgICAgICBib3JkZXItY29sb3I6IGluaGVyaXQ7XG4gICAgICAgIG91dGxpbmU6IG5vbmU7XG5cbiAgICAgICAgJjpmb2N1cyB7XG4gICAgICAgICAgICBvdXRsaW5lOiBub25lO1xuICAgICAgICB9XG5cbiAgICAgICAgJjpmb2N1czo6YWZ0ZXIsXG4gICAgICAgICYuay1mb2N1czo6YWZ0ZXIge1xuICAgICAgICAgICAgY29udGVudDogXCJcIjtcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgIGJvcmRlcjogbWVkaXVtIG5vbmU7XG4gICAgICAgICAgICBpbnNldDogdmFyKCAtLWtlbmRvLWJvdHRvbS1uYXYtaXRlbS1mb2N1cy1vZmZzZXQsICN7JGtlbmRvLWJvdHRvbS1uYXYtaXRlbS1mb2N1cy1vZmZzZXR9ICk7XG4gICAgICAgICAgICBvdXRsaW5lLXdpZHRoOiB2YXIoIC0ta2VuZG8tYm90dG9tLW5hdi1pdGVtLWZvY3VzLW91dGxpbmUtd2lkdGgsICN7JGtlbmRvLWJvdHRvbS1uYXYtaXRlbS1mb2N1cy1vdXRsaW5lLXdpZHRofSApO1xuICAgICAgICAgICAgb3V0bGluZS1zdHlsZTogdmFyKCAtLWtlbmRvLWJvdHRvbS1uYXYtaXRlbS1mb2N1cy1vdXRsaW5lLXN0eWxlLCAjeyRrZW5kby1ib3R0b20tbmF2LWl0ZW0tZm9jdXMtb3V0bGluZS1zdHlsZX0gKTtcbiAgICAgICAgICAgIHotaW5kZXg6IDE7XG4gICAgICAgIH1cblxuICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICAgIGNvbG9yOiBpbmhlcml0O1xuICAgICAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgICAgICB9XG5cbiAgICAgICAgPiAuay1ib3R0b20tbmF2LWxpbmsge1xuICAgICAgICAgICAgbWFyZ2luLWJsb2NrOiB2YXIoIC0ta2VuZG8tYm90dG9tLW5hdi1pdGVtLXBhZGRpbmcteSwgI3ska2VuZG8tYm90dG9tLW5hdi1pdGVtLXBhZGRpbmcteX0gKTtcbiAgICAgICAgICAgIG1hcmdpbi1pbmxpbmU6IHZhciggLS1rZW5kby1ib3R0b20tbmF2LWl0ZW0tcGFkZGluZy14LCAjeyRrZW5kby1ib3R0b20tbmF2LWl0ZW0tcGFkZGluZy14fSApO1xuICAgICAgICAgICAgcGFkZGluZy1ibG9jazogdmFyKCAtLWtlbmRvLWJvdHRvbS1uYXYtaXRlbS1wYWRkaW5nLXksICN7JGtlbmRvLWJvdHRvbS1uYXYtaXRlbS1wYWRkaW5nLXl9ICk7XG4gICAgICAgICAgICBwYWRkaW5nLWlubGluZTogdmFyKCAtLWtlbmRvLWJvdHRvbS1uYXYtaXRlbS1wYWRkaW5nLXgsICN7JGtlbmRvLWJvdHRvbS1uYXYtaXRlbS1wYWRkaW5nLXh9ICk7XG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgIGNvbG9yOiBpbmhlcml0O1xuICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgIGZsZXgtZmxvdzogcm93IG5vd3JhcDtcbiAgICAgICAgICAgIGZsZXg6IDEgMCBhdXRvO1xuICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgICAgICAgb3V0bGluZTogMDtcbiAgICAgICAgfVxuICAgIH1cbiAgICAuay1ib3R0b20tbmF2LWl0ZW0uay1kaXNhYmxlZCB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IGluaXRpYWw7XG4gICAgfVxuXG4gICAgLmstYm90dG9tLW5hdi1pdGVtLXRleHQge1xuICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgICAgICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcbiAgICAgICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgIH1cblxuICAgIC8vIEhvcml6b250YWwgSXRlbSBMYXlvdXRcbiAgICAuay1ib3R0b20tbmF2LWl0ZW0tZmxvdy1ob3Jpem9udGFsIC5rLWJvdHRvbS1uYXYtaXRlbSB7XG4gICAgICAgIGZsZXgtZmxvdzogcm93IG5vd3JhcDtcbiAgICB9XG5cbiAgICAvLyBWZXJ0aWNhbCBJdGVtIExheW91dFxuICAgIC5rLWJvdHRvbS1uYXYtaXRlbS1mbG93LXZlcnRpY2FsIC5rLWJvdHRvbS1uYXYtaXRlbSB7XG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgfVxuXG4gICAgLy8gUG9zaXRpb25pbmdcbiAgICAuay1ib3R0b20tbmF2LmstcG9zLWZpeGVkIHtcbiAgICAgICAgYm90dG9tOiAwO1xuICAgICAgICB6LWluZGV4OiAxO1xuICAgIH1cblxufVxuIiwiQHVzZSBcInNhc3M6bWFwXCI7XG5AdXNlIFwiLi4vY29yZS9faW5kZXguc2Nzc1wiIGFzICo7XG5AdXNlIFwiLi9fdmFyaWFibGVzLnNjc3NcIiBhcyAqO1xuXG5AbWl4aW4ga2VuZG8tYm90dG9tLW5hdmlnYXRpb24tLXRoZW1lKCkge1xuXG4gICAgLmstYm90dG9tLW5hdiB7XG4gICAgICAgIC0tSU5URVJOQUwtLWtlbmRvLWJvdHRvbS1uYXYtdGV4dDogdmFyKCAtLWtlbmRvLWJvdHRvbS1uYXYtdGV4dCApO1xuICAgICAgICAtLUlOVEVSTkFMLS1rZW5kby1ib3R0b20tbmF2LWJnOiB2YXIoIC0ta2VuZG8tYm90dG9tLW5hdi1iZyApO1xuICAgICAgICAtLUlOVEVSTkFMLS1rZW5kby1ib3R0b20tbmF2LWJvcmRlcjogdmFyKCAtLWtlbmRvLWJvdHRvbS1uYXYtYm9yZGVyICk7XG5cbiAgICAgICAgYm9yZGVyLWNvbG9yOiB2YXIoIC0tSU5URVJOQUwtLWtlbmRvLWJvdHRvbS1uYXYtYm9yZGVyLCBpbml0aWFsICk7XG4gICAgICAgIGNvbG9yOiB2YXIoIC0tSU5URVJOQUwtLWtlbmRvLWJvdHRvbS1uYXYtdGV4dCwgaW5oZXJpdCApO1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoIC0tSU5URVJOQUwtLWtlbmRvLWJvdHRvbS1uYXYtYmcsIGluaXRpYWwgKTtcbiAgICB9XG5cbiAgICAuay1ib3R0b20tbmF2LWl0ZW0ge1xuICAgICAgICAtLUlOVEVSTkFMLS1rZW5kby1ib3R0b20tbmF2LWl0ZW0tdGV4dDogdmFyKCAtLWtlbmRvLWJvdHRvbS1uYXYtaXRlbS10ZXh0ICk7XG4gICAgICAgIC0tSU5URVJOQUwtLWtlbmRvLWJvdHRvbS1uYXYtaXRlbS1iZzogdmFyKCAtLWtlbmRvLWJvdHRvbS1uYXYtaXRlbS1iZyApO1xuICAgICAgICAtLUlOVEVSTkFMLS1rZW5kby1ib3R0b20tbmF2LWl0ZW0tYm9yZGVyOiB2YXIoIC0ta2VuZG8tYm90dG9tLW5hdi1pdGVtLWJvcmRlciApO1xuXG4gICAgICAgIGJvcmRlci1jb2xvcjogdmFyKCAtLUlOVEVSTkFMLS1rZW5kby1ib3R0b20tbmF2LWl0ZW0tYm9yZGVyLCBpbml0aWFsICk7XG4gICAgICAgIGNvbG9yOiB2YXIoIC0tSU5URVJOQUwtLWtlbmRvLWJvdHRvbS1uYXYtaXRlbS10ZXh0LCBpbmhlcml0ICk7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IHZhciggLS1JTlRFUk5BTC0ta2VuZG8tYm90dG9tLW5hdi1pdGVtLWJnLCBpbml0aWFsICk7XG5cbiAgICAgICAgJjpmb2N1cyxcbiAgICAgICAgJi5rLWZvY3VzIHtcbiAgICAgICAgICAgIC0tSU5URVJOQUwtLWtlbmRvLWJvdHRvbS1uYXYtaXRlbS10ZXh0OiB2YXIoIC0ta2VuZG8tYm90dG9tLW5hdi1pdGVtLWZvY3VzLXRleHQgKTtcbiAgICAgICAgICAgIC0tSU5URVJOQUwtLWtlbmRvLWJvdHRvbS1uYXYtaXRlbS1iZzogdmFyKCAtLWtlbmRvLWJvdHRvbS1uYXYtaXRlbS1mb2N1cy1iZyApO1xuICAgICAgICAgICAgLS1JTlRFUk5BTC0ta2VuZG8tYm90dG9tLW5hdi1pdGVtLWJvcmRlcjogdmFyKCAtLWtlbmRvLWJvdHRvbS1uYXYtaXRlbS1mb2N1cy1ib3JkZXIgKTtcbiAgICAgICAgfVxuXG4gICAgICAgICY6Zm9jdXM6OmFmdGVyLFxuICAgICAgICAmLmstZm9jdXM6OmFmdGVyIHtcbiAgICAgICAgICAgIG91dGxpbmUtY29sb3I6IHZhciggLS1rZW5kby1ib3R0b20tbmF2LWl0ZW0tZm9jdXMtb3V0bGluZSwgaW5pdGlhbCApO1xuICAgICAgICB9XG5cbiAgICAgICAgJi5rLXNlbGVjdGVkIHtcbiAgICAgICAgICAgIC0tSU5URVJOQUwtLWtlbmRvLWJvdHRvbS1uYXYtaXRlbS10ZXh0OiB2YXIoIC0ta2VuZG8tYm90dG9tLW5hdi1pdGVtLXNlbGVjdGVkLXRleHQgKTtcbiAgICAgICAgICAgIC0tSU5URVJOQUwtLWtlbmRvLWJvdHRvbS1uYXYtaXRlbS1iZzogdmFyKCAtLWtlbmRvLWJvdHRvbS1uYXYtaXRlbS1zZWxlY3RlZC1iZyApO1xuICAgICAgICAgICAgLS1JTlRFUk5BTC0ta2VuZG8tYm90dG9tLW5hdi1pdGVtLWJvcmRlcjogdmFyKCAtLWtlbmRvLWJvdHRvbS1uYXYtaXRlbS1zZWxlY3RlZC1ib3JkZXIgKTtcbiAgICAgICAgfVxuXG4gICAgICAgICY6ZGlzYWJsZWQsXG4gICAgICAgICYuay1kaXNhYmxlZHtcbiAgICAgICAgICAgIC0tSU5URVJOQUwtLWtlbmRvLWJvdHRvbS1uYXYtaXRlbS10ZXh0OiB2YXIoIC0ta2VuZG8tYm90dG9tLW5hdi1pdGVtLWRpc2FibGVkLXRleHQgKTtcbiAgICAgICAgICAgIC0tSU5URVJOQUwtLWtlbmRvLWJvdHRvbS1uYXYtaXRlbS1iZzogdmFyKCAtLWtlbmRvLWJvdHRvbS1uYXYtaXRlbS1kaXNhYmxlZC1iZyApO1xuICAgICAgICAgICAgLS1JTlRFUk5BTC0ta2VuZG8tYm90dG9tLW5hdi1pdGVtLWJvcmRlcjogdmFyKCAtLWtlbmRvLWJvdHRvbS1uYXYtaXRlbS1kaXNhYmxlZC1ib3JkZXIgKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIEBlYWNoICRmaWxsLW1vZGUsICR0aGVtZS1jb2xvcnMgaW4gJGtlbmRvLWJvdHRvbS1uYXYtdGhlbWUtY29sb3JzIHtcbiAgICAgICAgQGVhY2ggJHRoZW1lLWNvbG9yLCAkY29sb3ItcHJvcHMgaW4gJHRoZW1lLWNvbG9ycyB7XG5cbiAgICAgICAgICAgICRfdGV4dC1jb2xvcjogbWFwLmdldCggJGNvbG9yLXByb3BzLCB0ZXh0ICk7XG4gICAgICAgICAgICAkX2JnOiBtYXAuZ2V0KCAkY29sb3ItcHJvcHMsIGJnICk7XG4gICAgICAgICAgICAkX2JvcmRlci1jb2xvcjogbWFwLmdldCggJGNvbG9yLXByb3BzLCBib3JkZXIgKTtcblxuICAgICAgICAgICAgJF9mb2N1cy10ZXh0OiBtYXAuZ2V0KCAkY29sb3ItcHJvcHMsIGZvY3VzLXRleHQgKTtcbiAgICAgICAgICAgICRfZm9jdXMtYmc6IG1hcC5nZXQoICRjb2xvci1wcm9wcywgZm9jdXMtYmcgKTtcbiAgICAgICAgICAgICRfZm9jdXMtYm9yZGVyOiBtYXAuZ2V0KCAkY29sb3ItcHJvcHMsIGZvY3VzLWJvcmRlciApO1xuICAgICAgICAgICAgJF9mb2N1cy1vdXRsaW5lOiBtYXAuZ2V0KCAkY29sb3ItcHJvcHMsIGZvY3VzLW91dGxpbmUgKTtcblxuICAgICAgICAgICAgJF9hY3RpdmUtdGV4dDogbWFwLmdldCggJGNvbG9yLXByb3BzLCBhY3RpdmUtdGV4dCApO1xuICAgICAgICAgICAgJF9hY3RpdmUtYmc6IG1hcC5nZXQoICRjb2xvci1wcm9wcywgYWN0aXZlLWJnICk7XG4gICAgICAgICAgICAkX2FjdGl2ZS1ib3JkZXI6IG1hcC5nZXQoICRjb2xvci1wcm9wcywgYWN0aXZlLWJvcmRlciApO1xuXG4gICAgICAgICAgICAkX2Rpc2FibGVkLXRleHQ6IG1hcC5nZXQoICRjb2xvci1wcm9wcywgZGlzYWJsZWQtdGV4dCApO1xuICAgICAgICAgICAgJF9kaXNhYmxlZC1iZzogbWFwLmdldCggJGNvbG9yLXByb3BzLCBkaXNhYmxlZC1iZyApO1xuICAgICAgICAgICAgJF9kaXNhYmxlZC1ib3JkZXI6IG1hcC5nZXQoICRjb2xvci1wcm9wcywgZGlzYWJsZWQtYm9yZGVyICk7XG5cbiAgICAgICAgICAgIC5rLWJvdHRvbS1uYXYtI3skZmlsbC1tb2RlfS0jeyR0aGVtZS1jb2xvcn0ge1xuICAgICAgICAgICAgICAgIC0ta2VuZG8tYm90dG9tLW5hdi10ZXh0OiB2YXIoIC0ta2VuZG8tYm90dG9tLW5hdi0jeyRmaWxsLW1vZGV9LSN7JHRoZW1lLWNvbG9yfS10ZXh0LCAjeyRfdGV4dC1jb2xvcn0gKTtcbiAgICAgICAgICAgICAgICAtLWtlbmRvLWJvdHRvbS1uYXYtYmc6IHZhciggLS1rZW5kby1ib3R0b20tbmF2LSN7JGZpbGwtbW9kZX0tI3skdGhlbWUtY29sb3J9LWJnLCAjeyRfYmd9ICk7XG4gICAgICAgICAgICAgICAgLS1rZW5kby1ib3R0b20tbmF2LWJvcmRlcjogdmFyKCAtLWtlbmRvLWJvdHRvbS1uYXYtI3skZmlsbC1tb2RlfS0jeyR0aGVtZS1jb2xvcn0tYm9yZGVyLCAjeyRfYm9yZGVyLWNvbG9yfSApO1xuXG4gICAgICAgICAgICAgICAgLS1rZW5kby1ib3R0b20tbmF2LWl0ZW0tZm9jdXMtdGV4dDogdmFyKCAtLWtlbmRvLWJvdHRvbS1uYXYtI3skZmlsbC1tb2RlfS0jeyR0aGVtZS1jb2xvcn0tZm9jdXMtdGV4dCwgI3skX2ZvY3VzLXRleHR9ICk7XG4gICAgICAgICAgICAgICAgLS1rZW5kby1ib3R0b20tbmF2LWl0ZW0tZm9jdXMtYmc6IHZhciggLS1rZW5kby1ib3R0b20tbmF2LSN7JGZpbGwtbW9kZX0tI3skdGhlbWUtY29sb3J9LWZvY3VzLWJnLCAjeyRfZm9jdXMtYmd9ICk7XG4gICAgICAgICAgICAgICAgLS1rZW5kby1ib3R0b20tbmF2LWl0ZW0tZm9jdXMtYm9yZGVyOiB2YXIoIC0ta2VuZG8tYm90dG9tLW5hdi0jeyRmaWxsLW1vZGV9LSN7JHRoZW1lLWNvbG9yfS1mb2N1cy1ib3JkZXIsICN7JF9mb2N1cy1ib3JkZXJ9ICk7XG4gICAgICAgICAgICAgICAgLS1rZW5kby1ib3R0b20tbmF2LWl0ZW0tZm9jdXMtb3V0bGluZTogdmFyKCAtLWtlbmRvLWJvdHRvbS1uYXYtI3skZmlsbC1tb2RlfS0jeyR0aGVtZS1jb2xvcn0tZm9jdXMtb3V0bGluZSwgI3skX2ZvY3VzLW91dGxpbmV9ICk7XG5cbiAgICAgICAgICAgICAgICAtLWtlbmRvLWJvdHRvbS1uYXYtaXRlbS1zZWxlY3RlZC10ZXh0OiB2YXIoIC0ta2VuZG8tYm90dG9tLW5hdi0jeyRmaWxsLW1vZGV9LSN7JHRoZW1lLWNvbG9yfS1zZWxlY3RlZC10ZXh0LCAjeyRfYWN0aXZlLXRleHR9ICk7XG4gICAgICAgICAgICAgICAgLS1rZW5kby1ib3R0b20tbmF2LWl0ZW0tc2VsZWN0ZWQtYmc6IHZhciggLS1rZW5kby1ib3R0b20tbmF2LSN7JGZpbGwtbW9kZX0tI3skdGhlbWUtY29sb3J9LXNlbGVjdGVkLWJnLCAjeyRfYWN0aXZlLWJnfSApO1xuICAgICAgICAgICAgICAgIC0ta2VuZG8tYm90dG9tLW5hdi1pdGVtLXNlbGVjdGVkLWJvcmRlcjogdmFyKCAtLWtlbmRvLWJvdHRvbS1uYXYtI3skZmlsbC1tb2RlfS0jeyR0aGVtZS1jb2xvcn0tc2VsZWN0ZWQtYm9yZGVyLCAjeyRfYWN0aXZlLWJvcmRlcn0gKTtcblxuICAgICAgICAgICAgICAgIC0ta2VuZG8tYm90dG9tLW5hdi1pdGVtLWRpc2FibGVkLXRleHQ6IHZhciggLS1rZW5kby1ib3R0b20tbmF2LSN7JGZpbGwtbW9kZX0tI3skdGhlbWUtY29sb3J9LWRpc2FibGVkLXRleHQsICN7JF9kaXNhYmxlZC10ZXh0fSApO1xuICAgICAgICAgICAgICAgIC0ta2VuZG8tYm90dG9tLW5hdi1pdGVtLWRpc2FibGVkLWJnOiB2YXIoIC0ta2VuZG8tYm90dG9tLW5hdi0jeyRmaWxsLW1vZGV9LSN7JHRoZW1lLWNvbG9yfS1kaXNhYmxlZC1iZywgI3skX2Rpc2FibGVkLWJnfSApO1xuICAgICAgICAgICAgICAgIC0ta2VuZG8tYm90dG9tLW5hdi1pdGVtLWRpc2FibGVkLWJvcmRlcjogdmFyKCAtLWtlbmRvLWJvdHRvbS1uYXYtI3skZmlsbC1tb2RlfS0jeyR0aGVtZS1jb2xvcn0tZGlzYWJsZWQtYm9yZGVyLCAjeyRfZGlzYWJsZWQtYm9yZGVyfSApO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgLy8gVE9ETzogcmVtb3ZlIHdoZW4gc3VpdGVzIHVwZGF0ZSBjbGFzcyBuYW1lc1xuICAgICAgICAgICAgLmstYm90dG9tLW5hdi0jeyRmaWxsLW1vZGV9LmstYm90dG9tLW5hdi0jeyR0aGVtZS1jb2xvcn0ge1xuICAgICAgICAgICAgICAgIEBleHRlbmQgLmstYm90dG9tLW5hdi0jeyRmaWxsLW1vZGV9LSN7JHRoZW1lLWNvbG9yfSAhb3B0aW9uYWw7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbn1cbiIsIkB1c2UgXCJzYXNzOm1hcFwiO1xuQHVzZSBcIi4uL2NvcmUvX2luZGV4LnNjc3NcIiBhcyAqO1xuQHVzZSBcIi4vX3ZhcmlhYmxlcy5zY3NzXCIgYXMgKjtcblxuQG1peGluIGtlbmRvLWJyZWFkY3J1bWItLWxheW91dCgpIHtcblxuICAgIC8vIEJyZWFkY3J1bWJcbiAgICAuay1icmVhZGNydW1iIHtcbiAgICAgICAgbWFyZ2luLWlubGluZTogdmFyKCAtLWtlbmRvLWJyZWFkY3J1bWItbWFyZ2luLXgsICN7JGtlbmRvLWJyZWFkY3J1bWItbWFyZ2luLXh9ICk7XG4gICAgICAgIG1hcmdpbi1ibG9jazogdmFyKCAtLWtlbmRvLWJyZWFkY3J1bWItbWFyZ2luLXksICN7JGtlbmRvLWJyZWFkY3J1bWItbWFyZ2luLXl9ICk7XG4gICAgICAgIHBhZGRpbmctaW5saW5lOiB2YXIoIC0ta2VuZG8tYnJlYWRjcnVtYi1wYWRkaW5nLXgsICN7JGtlbmRvLWJyZWFkY3J1bWItcGFkZGluZy14fSApO1xuICAgICAgICBwYWRkaW5nLWJsb2NrOiB2YXIoIC0ta2VuZG8tYnJlYWRjcnVtYi1wYWRkaW5nLXksICN7JGtlbmRvLWJyZWFkY3J1bWItcGFkZGluZy15fSApO1xuICAgICAgICBib3JkZXItd2lkdGg6IHZhciggLS1rZW5kby1icmVhZGNydW1iLWJvcmRlci13aWR0aCwgI3ska2VuZG8tYnJlYWRjcnVtYi1ib3JkZXItd2lkdGh9ICk7XG4gICAgICAgIGJvcmRlci1zdHlsZTogc29saWQ7XG4gICAgICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgICAgIG91dGxpbmU6IDA7XG4gICAgICAgIGZvbnQtZmFtaWx5OiB2YXIoIC0ta2VuZG8tYnJlYWRjcnVtYi1mb250LWZhbWlseSwgI3ska2VuZG8tYnJlYWRjcnVtYi1mb250LWZhbWlseX0gKTtcbiAgICAgICAgZm9udC1zaXplOiB2YXIoIC0tSU5URVJOQUwtLWtlbmRvLWJyZWFkY3J1bWItZm9udC1zaXplLCAjeyRrZW5kby1icmVhZGNydW1iLWZvbnQtc2l6ZX0gKTtcbiAgICAgICAgbGluZS1oZWlnaHQ6IHZhciggLS1JTlRFUk5BTC0ta2VuZG8tYnJlYWRjcnVtYi1saW5lLWhlaWdodCwgI3ska2VuZG8tYnJlYWRjcnVtYi1saW5lLWhlaWdodH0gKTtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgICAgICAgLXdlYmtpdC10b3VjaC1jYWxsb3V0OiBub25lO1xuICAgICAgICAtd2Via2l0LXRhcC1oaWdobGlnaHQtY29sb3I6ICRrZW5kby1jb2xvci1yZ2JhLXRyYW5zcGFyZW50O1xuXG4gICAgICAgICosXG4gICAgICAgICo6OmJlZm9yZSxcbiAgICAgICAgKjo6YWZ0ZXIge1xuICAgICAgICAgICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICAgICAgfVxuICAgIH1cblxuXG4gICAgLy8gQnJlYWRjcnVtYiBjb250YWluZXJcbiAgICAuay1icmVhZGNydW1iLWNvbnRhaW5lcixcbiAgICAuay1icmVhZGNydW1iLXJvb3QtaXRlbS1jb250YWluZXIge1xuICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGZsZXgtZmxvdzogcm93IG5vd3JhcDtcbiAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICB9XG5cbiAgICAuay1icmVhZGNydW1iLXJvb3QtaXRlbS1jb250YWluZXIge1xuICAgICAgICBhbGlnbi1pdGVtczogZmxleC1zdGFydDtcbiAgICAgICAgZmxleC1zaHJpbms6IDA7XG4gICAgfVxuXG5cbiAgICAvLyBCcmVhZGNydW1iIGl0ZW1cbiAgICAuay1icmVhZGNydW1iLWl0ZW0ge1xuICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgICAgICAgZmxleDogbm9uZTtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICB9XG5cblxuICAgIC8vIEJyZWFkY3J1bWIgcm9vdCBpdGVtXG4gICAgLmstYnJlYWRjcnVtYi1yb290LWl0ZW0ge1xuICAgICAgICBmbGV4LXNocmluazogMDtcbiAgICB9XG5cblxuICAgIC8vIEJyZWFkY3J1bWIgbGlua3NcbiAgICAuay1icmVhZGNydW1iLWxpbmssXG4gICAgLmstYnJlYWRjcnVtYi1yb290LWxpbmsge1xuICAgICAgICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKCB2YXIoIC0ta2VuZG8tYnJlYWRjcnVtYi1ib3JkZXItcmFkaXVzLCAjeyRrZW5kby1icmVhZGNydW1iLWxpbmstYm9yZGVyLXJhZGl1c30gKSApO1xuICAgICAgICBwYWRkaW5nLWlubGluZTogdmFyKCAtLUlOVEVSTkFMLS1rZW5kby1icmVhZGNydW1iLWxpbmstcGFkZGluZy14LCAjeyRrZW5kby1icmVhZGNydW1iLWxpbmstcGFkZGluZy14fSApO1xuICAgICAgICBwYWRkaW5nLWJsb2NrOiB2YXIoIC0tSU5URVJOQUwtLWtlbmRvLWJyZWFkY3J1bWItbGluay1wYWRkaW5nLXksICN7JGtlbmRvLWJyZWFkY3J1bWItbGluay1wYWRkaW5nLXl9ICk7XG4gICAgICAgIGNvbG9yOiB2YXIoIC0ta2VuZG8tYnJlYWRjcnVtYi1saW5rLWluaXRpYWwtdGV4dCwgI3ska2VuZG8tYnJlYWRjcnVtYi1saW5rLWluaXRpYWwtdGV4dH0gKTtcbiAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgICAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICAgICAgICBvdXRsaW5lOiBub25lO1xuICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgIGFsaWduLXNlbGY6IHN0cmV0Y2g7XG4gICAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgICAgIHRyYW5zaXRpb246IHZhciggLS1rZW5kby10cmFuc2l0aW9uLCBub25lICk7XG5cbiAgICAgICAmLmstc2VsZWN0ZWQge1xuICAgICAgICAgICAgZm9udC13ZWlnaHQ6IHZhciggLS1rZW5kby1icmVhZGNydW1iLWxpbmstc2VsZWN0ZWQtZm9udC13ZWlnaHQsICN7JGtlbmRvLWJyZWFkY3J1bWItbGluay1zZWxlY3RlZC1mb250LXdlaWdodH0gKTtcbiAgICAgICB9XG5cbiAgICAgICAmOmRpc2FibGVkLFxuICAgICAgICYuay1kaXNhYmxlZCB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiB2YXIoIC0ta2VuZG8tYnJlYWRjcnVtYi1saW5rLWRpc2FibGVkLWJnLCAjeyRrZW5kby1icmVhZGNydW1iLWxpbmstZGlzYWJsZWQtYmd9ICk7XG4gICAgICAgICAgICBib3JkZXI6IHZhciggLS1rZW5kby1icmVhZGNydW1iLWxpbmstZGlzYWJsZWQtYm9yZGVyLCAjeyRrZW5kby1icmVhZGNydW1iLWxpbmstZGlzYWJsZWQtYm9yZGVyfSApXG4gICAgICAgfVxuICAgIH1cblxuICAgIC5rLWJyZWFkY3J1bWItbGluayA+IC5rLWltYWdlLFxuICAgIC5rLWJyZWFkY3J1bWItaWNvbnRleHQtbGluayAuay1pY29uIHtcbiAgICAgICAgbWFyZ2luLWlubGluZS1lbmQ6IHZhciggLS1rZW5kby1icmVhZGNydW1iLWxpbmstaWNvbi1zcGFjaW5nLCAjeyRrZW5kby1icmVhZGNydW1iLWxpbmstaWNvbi1zcGFjaW5nfSApO1xuICAgIH1cblxuICAgIC5rLWJyZWFkY3J1bWItaWNvbi1saW5rIHtcbiAgICAgICAgcGFkZGluZy1pbmxpbmU6IHZhciggLS1JTlRFUk5BTC0ta2VuZG8tYnJlYWRjcnVtYi1pY29uLWxpbmstcGFkZGluZy14LCAjeyRrZW5kby1icmVhZGNydW1iLWljb24tbGluay1wYWRkaW5nLXh9ICk7XG4gICAgICAgIHBhZGRpbmctYmxvY2s6IHZhciggLS1JTlRFUk5BTC0ta2VuZG8tYnJlYWRjcnVtYi1pY29uLWxpbmstcGFkZGluZy15LCAjeyRrZW5kby1icmVhZGNydW1iLWljb24tbGluay1wYWRkaW5nLXl9ICk7XG4gICAgfVxuXG5cbiAgICAvLyBCcmVhZGNydW1iIGRlbGltaXRlclxuICAgIC5rLWJyZWFkY3J1bWItZGVsaW1pdGVyLFxuICAgIC5rLWJyZWFkY3J1bWItZGVsaW1pdGVyLWljb24ge1xuICAgICAgICBjb2xvcjogaW5oZXJpdDtcbiAgICB9XG5cblxuICAgIC8vIEVkaXRpbmdcbiAgICAuay1icmVhZGNydW1iLWlucHV0LWNvbnRhaW5lciB7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuXG4gICAgICAgIC5rLWJyZWFkY3J1bWItaW5wdXQtY29udGFpbmVyIHtcbiAgICAgICAgICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgICAgIH1cbiAgICB9XG5cblxuICAgIC8vIFNpemluZ1xuICAgIEBlYWNoICRzaXplLCAkc2l6ZS1wcm9wcyBpbiAka2VuZG8tYnJlYWRjcnVtYi1zaXplcyB7XG4gICAgICAgICRfbGluay1wYWRkaW5nLXg6IG1hcC5nZXQoICRzaXplLXByb3BzLCBsaW5rLXBhZGRpbmcteCApO1xuICAgICAgICAkX2xpbmstcGFkZGluZy15OiBtYXAuZ2V0KCAkc2l6ZS1wcm9wcywgbGluay1wYWRkaW5nLXkgKTtcbiAgICAgICAgJF9pY29uLWxpbmstcGFkZGluZy14OiBtYXAuZ2V0KCAkc2l6ZS1wcm9wcywgaWNvbi1saW5rLXBhZGRpbmcteCApO1xuICAgICAgICAkX2ljb24tbGluay1wYWRkaW5nLXk6IG1hcC5nZXQoICRzaXplLXByb3BzLCBpY29uLWxpbmstcGFkZGluZy15ICk7XG4gICAgICAgICRfZm9udC1zaXplOiBtYXAuZ2V0KCAkc2l6ZS1wcm9wcywgZm9udC1zaXplICk7XG4gICAgICAgICRfbGluZS1oZWlnaHQ6IG1hcC5nZXQoICRzaXplLXByb3BzLCBsaW5lLWhlaWdodCApO1xuXG4gICAgICAgIC8vIEJyZWFkY3J1bWIgc2l6ZXNcbiAgICAgICAgLmstYnJlYWRjcnVtYi0jeyRzaXplfSB7XG4gICAgICAgICAgICAtLUlOVEVSTkFMLS1rZW5kby1icmVhZGNydW1iLWZvbnQtc2l6ZTogdmFyKCAtLWtlbmRvLWJyZWFkY3J1bWItI3skc2l6ZX0tZm9udC1zaXplLCAjeyRfZm9udC1zaXplfSApO1xuICAgICAgICAgICAgLS1JTlRFUk5BTC0ta2VuZG8tYnJlYWRjcnVtYi1saW5lLWhlaWdodDogdmFyKCAtLWtlbmRvLWJyZWFkY3J1bWItI3skc2l6ZX0tbGluZS1oZWlnaHQsICN7JF9saW5lLWhlaWdodH0gKTtcblxuICAgICAgICAgICAgLy8gQnJlYWRjcnVtYiBsaW5rc1xuICAgICAgICAgICAgLmstYnJlYWRjcnVtYi1saW5rLFxuICAgICAgICAgICAgLmstYnJlYWRjcnVtYi1yb290LWxpbmsge1xuICAgICAgICAgICAgICAgIC0tSU5URVJOQUwtLWtlbmRvLWJyZWFkY3J1bWItbGluay1wYWRkaW5nLXg6IHZhciggLS1rZW5kby1icmVhZGNydW1iLSN7JHNpemV9LWxpbmstcGFkZGluZy14LCAjeyRfbGluay1wYWRkaW5nLXh9ICk7XG4gICAgICAgICAgICAgICAgLS1JTlRFUk5BTC0ta2VuZG8tYnJlYWRjcnVtYi1saW5rLXBhZGRpbmcteTogdmFyKCAtLWtlbmRvLWJyZWFkY3J1bWItI3skc2l6ZX0tbGluay1wYWRkaW5nLXksICN7JF9saW5rLXBhZGRpbmcteX0gKTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLy8gQnJlYWRjcnVtYiBpY29uIGxpbmtzXG4gICAgICAgICAgICAuay1icmVhZGNydW1iLWljb24tbGluayB7XG4gICAgICAgICAgICAgICAgLS1JTlRFUk5BTC0ta2VuZG8tYnJlYWRjcnVtYi1pY29uLWxpbmstcGFkZGluZy14OiB2YXIoIC0ta2VuZG8tYnJlYWRjcnVtYi0jeyRzaXplfS1pY29uLWxpbmstcGFkZGluZy14LCAjeyRfaWNvbi1saW5rLXBhZGRpbmcteH0gKTtcbiAgICAgICAgICAgICAgICAtLUlOVEVSTkFMLS1rZW5kby1icmVhZGNydW1iLWljb24tbGluay1wYWRkaW5nLXk6IHZhciggLS1rZW5kby1icmVhZGNydW1iLSN7JHNpemV9LWljb24tbGluay1wYWRkaW5nLXksICN7JF9pY29uLWxpbmstcGFkZGluZy15fSApO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG59XG4iLCJAdXNlIFwiLi4vY29yZS9faW5kZXguc2Nzc1wiIGFzICo7XG5AdXNlIFwiLi9fdmFyaWFibGVzLnNjc3NcIiBhcyAqO1xuXG5AbWl4aW4ga2VuZG8tYnJlYWRjcnVtYi0tdGhlbWUoKSB7XG5cbiAgICAvLyBCcmVhZGNydW1iXG4gICAgLmstYnJlYWRjcnVtYiB7XG4gICAgICAgIEBpbmNsdWRlIGZpbGwoXG4gICAgICAgICAgICB2YXIoIC0ta2VuZG8tYnJlYWRjcnVtYi10ZXh0LCAjeyRrZW5kby1icmVhZGNydW1iLXRleHR9ICksXG4gICAgICAgICAgICB2YXIoIC0ta2VuZG8tYnJlYWRjcnVtYi1iZywgI3ska2VuZG8tYnJlYWRjcnVtYi1iZ30gKSxcbiAgICAgICAgICAgIHZhciggLS1rZW5kby1icmVhZGNydW1iLWJvcmRlciwgI3ska2VuZG8tYnJlYWRjcnVtYi1ib3JkZXJ9IClcbiAgICAgICAgKTtcblxuICAgICAgICAmOmZvY3VzLFxuICAgICAgICAmLmstZm9jdXMge1xuICAgICAgICAgICAgQGluY2x1ZGUgYm94LXNoYWRvdyggdmFyKCAtLWtlbmRvLWJyZWFkY3J1bWItZm9jdXMtc2hhZG93LCAjeyRrZW5kby1icmVhZGNydW1iLWZvY3VzLXNoYWRvd30gKSApXG4gICAgICAgIH1cbiAgICB9XG5cblxuICAgIC8vIEJyZWFkY3J1bWIgbGlua1xuICAgIC5rLWJyZWFkY3J1bWItbGluayB7XG4gICAgICAgIEBpbmNsdWRlIGZpbGwoXG4gICAgICAgICAgICB2YXIoIC0ta2VuZG8tYnJlYWRjcnVtYi1saW5rLXRleHQsICN7JGtlbmRvLWJyZWFkY3J1bWItbGluay10ZXh0fSApLFxuICAgICAgICAgICAgdmFyKCAtLWtlbmRvLWJyZWFkY3J1bWItbGluay1iZywgI3ska2VuZG8tYnJlYWRjcnVtYi1saW5rLWJnfSApLFxuICAgICAgICAgICAgdmFyKCAtLWtlbmRvLWJyZWFkY3J1bWItbGluay1ib3JkZXIsICN7JGtlbmRvLWJyZWFkY3J1bWItbGluay1ib3JkZXJ9IClcbiAgICAgICAgKTtcblxuICAgICAgICAvLyBIb3ZlcmVkIHN0YXRlXG4gICAgICAgICY6aG92ZXIsXG4gICAgICAgICYuay1ob3ZlciB7XG4gICAgICAgICAgICBAaW5jbHVkZSBmaWxsKFxuICAgICAgICAgICAgICAgIHZhciggLS1rZW5kby1icmVhZGNydW1iLWxpbmstaG92ZXItdGV4dCwgI3ska2VuZG8tYnJlYWRjcnVtYi1saW5rLWhvdmVyLXRleHR9ICksXG4gICAgICAgICAgICAgICAgdmFyKCAtLWtlbmRvLWJyZWFkY3J1bWItbGluay1ob3Zlci1iZywgI3ska2VuZG8tYnJlYWRjcnVtYi1saW5rLWhvdmVyLWJnfSApLFxuICAgICAgICAgICAgICAgIHZhciggLS1rZW5kby1icmVhZGNydW1iLWxpbmstaG92ZXItYm9yZGVyLCAjeyRrZW5kby1icmVhZGNydW1iLWxpbmstaG92ZXItYm9yZGVyfSApXG4gICAgICAgICAgICApO1xuICAgICAgICB9XG5cbiAgICAgICAgLy8gQWN0aXZlIHN0YXRlXG4gICAgICAgICY6YWN0aXZlLFxuICAgICAgICAmLmstYWN0aXZlIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGZpbGwoXG4gICAgICAgICAgICAgICAgdmFyKCAtLWtlbmRvLWJyZWFkY3J1bWItbGluay1hY3RpdmUtdGV4dCwgI3ska2VuZG8tYnJlYWRjcnVtYi1saW5rLWFjdGl2ZS10ZXh0fSApLFxuICAgICAgICAgICAgICAgIHZhciggLS1rZW5kby1icmVhZGNydW1iLWxpbmstYWN0aXZlLWJnLCAjeyRrZW5kby1icmVhZGNydW1iLWxpbmstYWN0aXZlLWJnfSApLFxuICAgICAgICAgICAgICAgIHZhciggLS1rZW5kby1icmVhZGNydW1iLWxpbmstYWN0aXZlLWJvcmRlciwgI3ska2VuZG8tYnJlYWRjcnVtYi1saW5rLWFjdGl2ZS1ib3JkZXJ9IClcbiAgICAgICAgICAgICk7XG4gICAgICAgIH1cblxuICAgICAgICAvLyBGb2N1c2VkIHN0YXRlXG4gICAgICAgICY6Zm9jdXMsXG4gICAgICAgICYuay1mb2N1cyB7XG4gICAgICAgICAgICBAaW5jbHVkZSBmaWxsKFxuICAgICAgICAgICAgICAgICRjb2xvcjogdmFyKCAtLWtlbmRvLWJyZWFkY3J1bWItbGluay1mb2N1cy10ZXh0LCAjeyRrZW5kby1icmVhZGNydW1iLWxpbmstZm9jdXMtdGV4dH0gKSxcbiAgICAgICAgICAgICAgICAkYmc6IHZhciggLS1rZW5kby1icmVhZGNydW1iLWxpbmstZm9jdXMtYmcsICN7JGtlbmRvLWJyZWFkY3J1bWItbGluay1mb2N1cy1iZ30gKSxcbiAgICAgICAgICAgICk7XG4gICAgICAgICAgICBAaW5jbHVkZSBib3gtc2hhZG93KCB2YXIoIC0ta2VuZG8tYnJlYWRjcnVtYi1saW5rLWZvY3VzLXNoYWRvdywgI3ska2VuZG8tYnJlYWRjcnVtYi1saW5rLWZvY3VzLXNoYWRvd30gKSApO1xuXG4gICAgICAgICAgICAvLyBGb2N1cy1ob3ZlciBzdGF0ZVxuICAgICAgICAgICAgJjpob3ZlcixcbiAgICAgICAgICAgICYuay1ob3ZlciB7XG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgZmlsbCggJGJnOiB2YXIoIC0ta2VuZG8tYnJlYWRjcnVtYi1saW5rLWZvY3VzLWhvdmVyLWJnLCAjeyRrZW5kby1icmVhZGNydW1iLWxpbmstZm9jdXMtaG92ZXItYmd9ICkgKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC8vIERpc2FibGVkIHN0YXRlXG4gICAgICAgICY6ZGlzYWJsZWQsXG4gICAgICAgICZbZGlzYWJsZWRdLFxuICAgICAgICAmLmstZGlzYWJsZWQge1xuICAgICAgICAgICAgQGluY2x1ZGUgZmlsbCggJGNvbG9yOiB2YXIoIC0ta2VuZG8tYnJlYWRjcnVtYi1saW5rLWRpc2FibGVkLXRleHQsICN7JGtlbmRvLWJyZWFkY3J1bWItbGluay1kaXNhYmxlZC10ZXh0fSApICk7XG4gICAgICAgIH1cblxuICAgICAgICAvLyBTZWxlY3RlZCBzdGF0ZVxuICAgICAgICAmLmstc2VsZWN0ZWQge1xuICAgICAgICAgICAgQGluY2x1ZGUgZmlsbChcbiAgICAgICAgICAgICAgICB2YXIoIC0ta2VuZG8tYnJlYWRjcnVtYi1saW5rLXNlbGVjdGVkLXRleHQsICN7JGtlbmRvLWJyZWFkY3J1bWItbGluay1zZWxlY3RlZC10ZXh0fSApLFxuICAgICAgICAgICAgICAgIHZhciggLS1rZW5kby1icmVhZGNydW1iLWxpbmstc2VsZWN0ZWQtYmcsICN7JGtlbmRvLWJyZWFkY3J1bWItbGluay1zZWxlY3RlZC1iZ30gKSxcbiAgICAgICAgICAgICAgICB2YXIoIC0ta2VuZG8tYnJlYWRjcnVtYi1saW5rLXNlbGVjdGVkLWJvcmRlciwgI3ska2VuZG8tYnJlYWRjcnVtYi1saW5rLXNlbGVjdGVkLWJvcmRlcn0gKSxcbiAgICAgICAgICAgICk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBCcmVhZGNydW1iIHJvb3QgbGlua1xuICAgIC5rLWJyZWFkY3J1bWItcm9vdC1saW5rIHtcbiAgICAgICAgQGluY2x1ZGUgZmlsbChcbiAgICAgICAgICAgIHZhciggLS1rZW5kby1icmVhZGNydW1iLXJvb3QtbGluay10ZXh0LCAjeyRrZW5kby1icmVhZGNydW1iLXJvb3QtbGluay10ZXh0fSApLFxuICAgICAgICAgICAgdmFyKCAtLWtlbmRvLWJyZWFkY3J1bWItcm9vdC1saW5rLWJnLCAjeyRrZW5kby1icmVhZGNydW1iLXJvb3QtbGluay1iZ30gKSxcbiAgICAgICAgICAgIHZhciggLS1rZW5kby1icmVhZGNydW1iLXJvb3QtbGluay1ib3JkZXIsICN7JGtlbmRvLWJyZWFkY3J1bWItcm9vdC1saW5rLWJvcmRlcn0gKVxuICAgICAgICApO1xuXG4gICAgICAgIC8vIEhvdmVyZWQgc3RhdGVcbiAgICAgICAgJjpob3ZlcixcbiAgICAgICAgJi5rLWhvdmVyIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGZpbGwoXG4gICAgICAgICAgICAgICAgdmFyKCAtLWtlbmRvLWJyZWFkY3J1bWItcm9vdC1saW5rLWhvdmVyLXRleHQsICN7JGtlbmRvLWJyZWFkY3J1bWItcm9vdC1saW5rLWhvdmVyLXRleHR9ICksXG4gICAgICAgICAgICAgICAgdmFyKCAtLWtlbmRvLWJyZWFkY3J1bWItcm9vdC1saW5rLWhvdmVyLWJnLCAjeyRrZW5kby1icmVhZGNydW1iLXJvb3QtbGluay1ob3Zlci1iZ30gKSxcbiAgICAgICAgICAgICAgICB2YXIoIC0ta2VuZG8tYnJlYWRjcnVtYi1yb290LWxpbmstaG92ZXItYm9yZGVyLCAjeyRrZW5kby1icmVhZGNydW1iLXJvb3QtbGluay1ob3Zlci1ib3JkZXJ9IClcbiAgICAgICAgICAgICk7XG4gICAgICAgIH1cblxuICAgICAgICAvLyBBY3RpdmUgc3RhdGVcbiAgICAgICAgJjphY3RpdmUsXG4gICAgICAgICYuay1hY3RpdmUge1xuICAgICAgICAgICAgQGluY2x1ZGUgZmlsbChcbiAgICAgICAgICAgICAgICB2YXIoIC0ta2VuZG8tYnJlYWRjcnVtYi1yb290LWxpbmstYWN0aXZlLXRleHQsICN7JGtlbmRvLWJyZWFkY3J1bWItcm9vdC1saW5rLWFjdGl2ZS10ZXh0fSApLFxuICAgICAgICAgICAgICAgIHZhciggLS1rZW5kby1icmVhZGNydW1iLXJvb3QtbGluay1hY3RpdmUtYmcsICN7JGtlbmRvLWJyZWFkY3J1bWItcm9vdC1saW5rLWFjdGl2ZS1iZ30gKSxcbiAgICAgICAgICAgICAgICB2YXIoIC0ta2VuZG8tYnJlYWRjcnVtYi1yb290LWxpbmstYWN0aXZlLWJvcmRlciwgI3ska2VuZG8tYnJlYWRjcnVtYi1yb290LWxpbmstYWN0aXZlLWJvcmRlcn0gKVxuICAgICAgICAgICAgKTtcbiAgICAgICAgfVxuXG4gICAgICAgIC8vIEZvY3VzZWQgc3RhdGVcbiAgICAgICAgJjpmb2N1cyxcbiAgICAgICAgJi5rLWZvY3VzIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGZpbGwoXG4gICAgICAgICAgICAgICAgJGNvbG9yOiB2YXIoIC0ta2VuZG8tYnJlYWRjcnVtYi1yb290LWxpbmstZm9jdXMtdGV4dCwgI3ska2VuZG8tYnJlYWRjcnVtYi1yb290LWxpbmstZm9jdXMtdGV4dH0gKSxcbiAgICAgICAgICAgICAgICAkYmc6IHZhciggLS1rZW5kby1icmVhZGNydW1iLXJvb3QtbGluay1mb2N1cy1iZywgI3ska2VuZG8tYnJlYWRjcnVtYi1yb290LWxpbmstZm9jdXMtYmd9ICksXG4gICAgICAgICAgICApO1xuICAgICAgICAgICAgQGluY2x1ZGUgYm94LXNoYWRvdyggdmFyKCAtLWtlbmRvLWJyZWFkY3J1bWItcm9vdC1saW5rLWZvY3VzLXNoYWRvdywgI3ska2VuZG8tYnJlYWRjcnVtYi1yb290LWxpbmstZm9jdXMtc2hhZG93fSApICk7XG5cbiAgICAgICAgICAgIC8vIEZvY3VzLWhvdmVyIHN0YXRlXG4gICAgICAgICAgICAmOmhvdmVyLFxuICAgICAgICAgICAgJi5rLWhvdmVyIHtcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBmaWxsKCAkYmc6IHZhciggLS1rZW5kby1icmVhZGNydW1iLXJvb3QtbGluay1mb2N1cy1ob3Zlci1iZywgI3ska2VuZG8tYnJlYWRjcnVtYi1yb290LWxpbmstZm9jdXMtaG92ZXItYmd9ICkgKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC8vIERpc2FibGVkIHN0YXRlXG4gICAgICAgICY6ZGlzYWJsZWQsXG4gICAgICAgICZbZGlzYWJsZWRdLFxuICAgICAgICAmLmstZGlzYWJsZWQge1xuICAgICAgICAgICAgQGluY2x1ZGUgZmlsbCggJGNvbG9yOiB2YXIoIC0ta2VuZG8tYnJlYWRjcnVtYi1yb290LWxpbmstZGlzYWJsZWQtdGV4dCwgI3ska2VuZG8tYnJlYWRjcnVtYi1yb290LWxpbmstZGlzYWJsZWQtdGV4dH0gKSApO1xuICAgICAgICB9XG4gICAgfVxuXG59XG4iLCJAdXNlIFwic2FzczptYXBcIjtcbkB1c2UgXCIuLi9jb3JlL19pbmRleC5zY3NzXCIgYXMgKjtcbkB1c2UgXCIuLi9idXR0b24vX3ZhcmlhYmxlcy5zY3NzXCIgYXMgKjtcbkB1c2UgXCIuL192YXJpYWJsZXMuc2Nzc1wiIGFzICo7XG5cbkBtaXhpbiBrZW5kby1wYWdlci0tbGF5b3V0KCkge1xuXG4gICAgLmstcGFnZXIge1xuICAgICAgICBwYWRkaW5nLWlubGluZTogdmFyKCAtLUlOVEVSTkFMLS1rZW5kby1wYWdlci1wYWRkaW5nLXgsIDAgKTtcbiAgICAgICAgcGFkZGluZy1ibG9jazogdmFyKCAtLUlOVEVSTkFMLS1rZW5kby1wYWdlci1wYWRkaW5nLXksIDAgKTtcbiAgICAgICAgYm9yZGVyLXdpZHRoOiB2YXIoIC0ta2VuZG8tcGFnZXItYm9yZGVyLXdpZHRoLCAjeyRrZW5kby1wYWdlci1ib3JkZXItd2lkdGh9ICk7XG4gICAgICAgIGJvcmRlci1zdHlsZTogc29saWQ7XG4gICAgICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgICAgIG91dGxpbmU6IDA7XG4gICAgICAgIGZvbnQtZmFtaWx5OiB2YXIoIC0ta2VuZG8tcGFnZXItZm9udC1mYW1pbHksICN7JGtlbmRvLXBhZ2VyLWZvbnQtZmFtaWx5fSApO1xuICAgICAgICBmb250LXNpemU6IHZhciggLS1rZW5kby1wYWdlci1mb250LXNpemUsICN7JGtlbmRvLXBhZ2VyLWZvbnQtc2l6ZX0gKTtcbiAgICAgICAgbGluZS1oZWlnaHQ6IHZhciggLS1rZW5kby1wYWdlci1saW5lLWhlaWdodCwgI3ska2VuZG8tcGFnZXItbGluZS1oZWlnaHR9ICk7XG4gICAgICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgZ2FwOiB2YXIoIC0tSU5URVJOQUwtLWtlbmRvLXBhZ2VyLXNwYWNpbmcsIDAgKTtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgICAgICBjdXJzb3I6IGRlZmF1bHQ7XG4gICAgICAgIGZsZXg6IDAgMCBhdXRvO1xuICAgICAgICAtd2Via2l0LXRvdWNoLWNhbGxvdXQ6IG5vbmU7XG4gICAgICAgIC13ZWJraXQtdGFwLWhpZ2hsaWdodC1jb2xvcjogJGtlbmRvLWNvbG9yLXJnYmEtdHJhbnNwYXJlbnQ7XG5cbiAgICAgICAgKixcbiAgICAgICAgKjo6YmVmb3JlLFxuICAgICAgICAqOjphZnRlciB7XG4gICAgICAgICAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgICAgICB9XG5cbiAgICB9XG5cblxuICAgIC8vIEJhc2UgcGFnZXIgc2VjdGlvblxuICAgICViYXNlLXBhZ2VyLXNlY3Rpb24ge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIH1cblxuXG4gICAgLy8gQmFzZSBwYWdlciBpdGVtXG4gICAgJWJhc2UtcGFnZXItaXRlbSB7XG4gICAgICAgIGNvbG9yOiBpbmhlcml0O1xuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgei1pbmRleDogMjtcbiAgICAgICAgfVxuICAgIH1cblxuXG4gICAgLy8gUGFnZXIgaXRlbXNcbiAgICAuay1wYWdlci1uYXYge1xuICAgICAgICBAZXh0ZW5kICViYXNlLXBhZ2VyLWl0ZW0gIW9wdGlvbmFsO1xuICAgICAgICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKCB2YXIoIC0ta2VuZG8tcGFnZXItaXRlbS1ib3JkZXItcmFkaXVzLCAjeyRrZW5kby1wYWdlci1pdGVtLWJvcmRlci1yYWRpdXN9ICkgKTtcbiAgICB9XG5cblxuICAgIC8vIFBhZ2VyIG51bWJlcnNcbiAgICAuay1wYWdlci1udW1iZXJzLXdyYXAge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgICAgICAgc2VsZWN0LmstZHJvcGRvd24tbGlzdCB7XG4gICAgICAgICAgICB3aWR0aDogdmFyKCAtLWtlbmRvLXBhZ2VyLWRyb3Bkb3duLXdpZHRoLCAjeyRrZW5kby1wYWdlci1kcm9wZG93bi13aWR0aH0gKTtcbiAgICAgICAgfVxuICAgIH1cbiAgICAuay1wYWdlci1udW1iZXJzIHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IHJvdztcblxuICAgICAgICAvLyBTZWxlY3RlZCBzdGF0ZVxuICAgICAgICAuay1zZWxlY3RlZCB7XG4gICAgICAgICAgICBjdXJzb3I6IGluaGVyaXQ7XG4gICAgICAgICAgICB6LWluZGV4OiAyO1xuICAgICAgICB9XG5cbiAgICAgICAgLmstYnV0dG9uIHtcbiAgICAgICAgICAgIC0tSU5URVJOQUwtLWtlbmRvLWJ1dHRvbi1wYWRkaW5nLXg6IHZhciggLS1JTlRFUk5BTC0ta2VuZG8tYnV0dG9uLXBhZGRpbmcteSApO1xuXG4gICAgICAgICAgICAuay1idXR0b24tdGV4dCB7XG4gICAgICAgICAgICAgICAgbWluLXdpZHRoOiBjYWxjKCB2YXIoIC0ta2VuZG8tbGluZS1oZWlnaHQgKSAqIDFlbSApO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG5cbiAgICAvLyBTcGFjaW5nIGJldHdlZW4gaXRlbXNcbiAgICAuay1wYWdlci1uYXYgKyAuay1wYWdlci1uYXYsXG4gICAgLmstcGFnZXItbmF2ICsgLmstcGFnZXItbnVtYmVycy13cmFwLFxuICAgIC5rLXBhZ2VyLW51bWJlcnMtd3JhcCArIC5rLXBhZ2VyLW5hdiB7XG4gICAgICAgIEBpZiAoJGtlbmRvLXBhZ2VyLWl0ZW0tc3BhY2luZykge1xuICAgICAgICAgICAgbWFyZ2luLWlubGluZS1zdGFydDogdmFyKCAtLWtlbmRvLXBhZ2VyLWl0ZW0tc3BhY2luZywgI3ska2VuZG8tcGFnZXItaXRlbS1zcGFjaW5nfSApO1xuICAgICAgICB9XG4gICAgfVxuXG5cbiAgICAvLyBQYWdlciBpbnB1dFxuICAgIC5rLXBhZ2VyLWlucHV0IHtcbiAgICAgICAgQGV4dGVuZCAlYmFzZS1wYWdlci1zZWN0aW9uICFvcHRpb25hbDtcbiAgICAgICAgZ2FwOiAxZXg7XG5cbiAgICAgICAgLmstdGV4dGJveCxcbiAgICAgICAgLmstbnVtZXJpY3RleHRib3gge1xuICAgICAgICAgICAgbWFyZ2luLWJsb2NrOiAwO1xuICAgICAgICAgICAgd2lkdGg6IHZhciggLS1rZW5kby1wYWdlci1pbnB1dC13aWR0aCwgI3ska2VuZG8tcGFnZXItaW5wdXQtd2lkdGh9ICk7XG4gICAgICAgIH1cbiAgICB9XG5cblxuICAgIC8vIFBhZ2VyIHNpemVzXG4gICAgLmstcGFnZXItc2l6ZXMge1xuICAgICAgICBAZXh0ZW5kICViYXNlLXBhZ2VyLXNlY3Rpb24gIW9wdGlvbmFsO1xuICAgICAgICBnYXA6IDFleDtcblxuICAgICAgICAuay1kcm9wZG93bi1saXN0LFxuICAgICAgICA+IHNlbGVjdCB7XG4gICAgICAgICAgICB3aWR0aDogdmFyKCAtLWtlbmRvLXBhZ2VyLWRyb3Bkb3duLXdpZHRoLCAjeyRrZW5kby1wYWdlci1kcm9wZG93bi13aWR0aH0gKTtcbiAgICAgICAgfVxuXG4gICAgICAgIC5rLWlucHV0LWlubmVyLFxuICAgICAgICAuay1pbnB1dC12YWx1ZS10ZXh0IHtcbiAgICAgICAgICAgIHRleHQtb3ZlcmZsb3c6IGNsaXA7XG4gICAgICAgIH1cbiAgICB9XG5cblxuICAgIC8vIFBhZ2VyIGluZm9cbiAgICAuay1wYWdlci1pbmZvIHtcbiAgICAgICAgQGV4dGVuZCAlYmFzZS1wYWdlci1zZWN0aW9uICFvcHRpb25hbDtcbiAgICAgICAgdGV4dC1hbGlnbjogZW5kO1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kO1xuICAgICAgICBmbGV4OiAxIDEgMCU7XG4gICAgICAgIG9yZGVyOiA5O1xuICAgIH1cblxuXG4gICAgLy8gUGFnZXIgcmVmcmVzaFxuICAgIC5rLXBhZ2VyLXJlZnJlc2gge1xuICAgICAgICBtYXJnaW4taW5saW5lLXN0YXJ0OiBhdXRvO1xuICAgICAgICBjb2xvcjogaW5oZXJpdDtcbiAgICAgICAgb3JkZXI6IDEwO1xuICAgIH1cblxuICAgIC8vIFBhZ2VyIHNpemVzXG4gICAgQGVhY2ggJHNpemUsICRzaXplLXByb3BzIGluICRrZW5kby1wYWdlci1zaXplcyB7XG4gICAgICAgICRfcGFkZGluZy14OiBtYXAuZ2V0KCRzaXplLXByb3BzLCBwYWRkaW5nLXgpO1xuICAgICAgICAkX3BhZGRpbmcteTogbWFwLmdldCgkc2l6ZS1wcm9wcywgcGFkZGluZy15KTtcbiAgICAgICAgJF9pdGVtLWdyb3VwLXNwYWNpbmc6IG1hcC5nZXQoJHNpemUtcHJvcHMsIGl0ZW0tZ3JvdXAtc3BhY2luZyk7XG5cbiAgICAgICAgLmstcGFnZXItI3skc2l6ZX0ge1xuICAgICAgICAgICAgLS1JTlRFUk5BTC0ta2VuZG8tcGFnZXItcGFkZGluZy14OiB2YXIoIC0ta2VuZG8tcGFnZXItI3skc2l6ZX0tcGFkZGluZy14LCAjeyRfcGFkZGluZy14fSApO1xuICAgICAgICAgICAgLS1JTlRFUk5BTC0ta2VuZG8tcGFnZXItcGFkZGluZy15OiB2YXIoIC0ta2VuZG8tcGFnZXItI3skc2l6ZX0tcGFkZGluZy15LCAjeyRfcGFkZGluZy15fSApO1xuICAgICAgICAgICAgLS1JTlRFUk5BTC0ta2VuZG8tcGFnZXItc3BhY2luZzogdmFyKCAtLWtlbmRvLXBhZ2VyLSN7JHNpemV9LXNwYWNpbmcsICN7JF9pdGVtLWdyb3VwLXNwYWNpbmd9ICk7XG5cbiAgICAgICAgICAgIC5rLXBhZ2VyLWlucHV0LFxuICAgICAgICAgICAgc2VsZWN0LmstZHJvcGRvd24tbGlzdCB7XG4gICAgICAgICAgICAgICAgbWFyZ2luLWlubGluZS1zdGFydDogdmFyKCAtLWtlbmRvLXBhZ2VyLWlucHV0LW1hcmdpbi1zdGFydCwgI3skX2l0ZW0tZ3JvdXAtc3BhY2luZ30gKTtcbiAgICAgICAgICAgICAgICBtYXJnaW4taW5saW5lLWVuZDogdmFyKCAtLWtlbmRvLXBhZ2VyLWlucHV0LW1hcmdpbi1lbmQsICN7JF9pdGVtLWdyb3VwLXNwYWNpbmd9ICk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbn1cbiIsIkB1c2UgXCIuLi9jb3JlL19pbmRleC5zY3NzXCIgYXMgKjtcbkB1c2UgXCIuL192YXJpYWJsZXMuc2Nzc1wiIGFzICo7XG5cbkBtaXhpbiBrZW5kby1wYWdlci0tdGhlbWUoKSB7XG5cbiAgICAuay1wYWdlciB7XG4gICAgICAgIC0tSU5URVJOQUwtLWtlbmRvLXBhZ2VyLXRleHQ6IHZhciggLS1rZW5kby1wYWdlci10ZXh0LCAjeyRrZW5kby1wYWdlci10ZXh0fSApO1xuICAgICAgICAtLUlOVEVSTkFMLS1rZW5kby1wYWdlci1iZzogdmFyKCAtLWtlbmRvLXBhZ2VyLWJnLCAjeyRrZW5kby1wYWdlci1iZ30gKTtcbiAgICAgICAgLS1JTlRFUk5BTC0ta2VuZG8tcGFnZXItYm9yZGVyOiB2YXIoIC0ta2VuZG8tcGFnZXItYm9yZGVyLCAjeyRrZW5kby1wYWdlci1ib3JkZXJ9ICk7XG5cbiAgICAgICAgQGluY2x1ZGUgZmlsbChcbiAgICAgICAgICAgIHZhciggLS1JTlRFUk5BTC0ta2VuZG8tcGFnZXItdGV4dCwgaW5oZXJpdCApLFxuICAgICAgICAgICAgdmFyKCAtLUlOVEVSTkFMLS1rZW5kby1wYWdlci1iZywgdHJhbnNwYXJlbnQpLFxuICAgICAgICAgICAgdmFyKCAtLUlOVEVSTkFMLS1rZW5kby1wYWdlci1ib3JkZXIsIGluaGVyaXQgKVxuICAgICAgICApO1xuXG4gICAgICAgICY6Zm9jdXMsXG4gICAgICAgICYuay1mb2N1cyB7XG4gICAgICAgICAgICAtLUlOVEVSTkFMLS1rZW5kby1wYWdlci10ZXh0OiB2YXIoIC0ta2VuZG8tcGFnZXItZm9jdXMtdGV4dCwgI3ska2VuZG8tcGFnZXItZm9jdXMtdGV4dH0gKTtcbiAgICAgICAgICAgIC0tSU5URVJOQUwtLWtlbmRvLXBhZ2VyLWJnOiB2YXIoIC0ta2VuZG8tcGFnZXItZm9jdXMtYmcsICN7JGtlbmRvLXBhZ2VyLWZvY3VzLWJnfSApO1xuICAgICAgICAgICAgLS1JTlRFUk5BTC0ta2VuZG8tcGFnZXItYm9yZGVyOiB2YXIoIC0ta2VuZG8tcGFnZXItZm9jdXMtYm9yZGVyLCAjeyRrZW5kby1wYWdlci1mb2N1cy1ib3JkZXJ9ICk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBQYWdlciBzaXplc1xuICAgIC5rLXBhZ2VyLXNpemVzIHtcbiAgICAgICAgY29sb3I6IHZhciggLS1rZW5kby1wYWdlci1zaXplcy1sYWJlbC10ZXh0LCAjeyRrZW5kby1wYWdlci1zaXplcy1sYWJlbC10ZXh0fSApO1xuICAgIH1cblxuXG4gICAgLy8gUGFnZXIgaW5mb1xuICAgIC5rLXBhZ2VyLWluZm8ge1xuICAgICAgICBjb2xvcjogdmFyKCAtLWtlbmRvLXBhZ2VyLWluZm8tbGFiZWwtdGV4dCwgI3ska2VuZG8tcGFnZXItaW5mby1sYWJlbC10ZXh0fSApO1xuICAgIH1cblxufVxuIiwiQHVzZSBcIi4uL2NvcmUvX2luZGV4LnNjc3NcIiBhcyAqO1xuQHVzZSBcIi4vX3ZhcmlhYmxlcy5zY3NzXCIgYXMgKjtcblxuQG1peGluIGtlbmRvLXN0ZXBwZXItLWxheW91dCgpIHtcblxuICAgIC8vIEJhc2VcbiAgICAuay1zdGVwcGVyIHtcbiAgICAgICAgYm9yZGVyLXdpZHRoOiB2YXIoIC0ta2VuZG8tc3RlcHBlci1ib3JkZXItd2lkdGgsICN7JGtlbmRvLXN0ZXBwZXItYm9yZGVyLXdpZHRofSApO1xuICAgICAgICBib3JkZXItc3R5bGU6IHNvbGlkO1xuICAgICAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgICAgICBvdXRsaW5lOiAwO1xuICAgICAgICBmb250LXNpemU6IHZhciggLS1rZW5kby1zdGVwcGVyLWZvbnQtc2l6ZSwgI3ska2VuZG8tc3RlcHBlci1mb250LXNpemV9ICk7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiB2YXIoIC0ta2VuZG8tc3RlcHBlci1saW5lLWhlaWdodCwgI3ska2VuZG8tc3RlcHBlci1saW5lLWhlaWdodH0gKTtcbiAgICAgICAgZm9udC1mYW1pbHk6IHZhciggLS1rZW5kby1zdGVwcGVyLWZvbnQtZmFtaWx5LCAjeyRrZW5kby1zdGVwcGVyLWZvbnQtZmFtaWx5fSApO1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICAtd2Via2l0LXRvdWNoLWNhbGxvdXQ6IG5vbmU7XG4gICAgICAgIC13ZWJraXQtdGFwLWhpZ2hsaWdodC1jb2xvcjogJGtlbmRvLWNvbG9yLXJnYmEtdHJhbnNwYXJlbnQ7XG4gICAgICAgIC8vIFRPRE86IHJlbW92ZSB0aG9zZSBvbmNlIGstd2lkZ2V0IHN0eWxlcyBhcmUgcmVtb3ZlZC4gTGluazogaHR0cHM6Ly9naXRodWIuY29tL3RlbGVyaWsva2VuZG8tdGhlbWVzL2lzc3Vlcy8xMzU5XG4gICAgICAgIGNvbG9yOiBpbmhlcml0O1xuICAgICAgICBiYWNrZ3JvdW5kOiBub25lO1xuXG4gICAgICAgICosXG4gICAgICAgICo6OmJlZm9yZSxcbiAgICAgICAgKjo6YWZ0ZXIge1xuICAgICAgICAgICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICAgICAgfVxuXG5cbiAgICAgICAgLy8gU3RlcCBsaXN0XG4gICAgICAgIC5rLXN0ZXAtbGlzdCB7XG4gICAgICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgICAgICAgbGlzdC1zdHlsZTogbm9uZTtcbiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICB6LWluZGV4OiAxO1xuICAgICAgICB9XG5cblxuICAgICAgICAvLyBTdGVwXG4gICAgICAgIC5rLXN0ZXAge1xuICAgICAgICAgICAgJi5rLWRpc2FibGVkIHtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG5cbiAgICAgICAgLy8gU3RlcCBsaW5rXG4gICAgICAgIC5rLXN0ZXAtbGluayB7XG4gICAgICAgICAgICBvdXRsaW5lOiBub25lO1xuICAgICAgICAgICAgY29sb3I6IGluaGVyaXQ7XG4gICAgICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgICAgICAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgICAgICB9XG5cbiAgICAgICAgLy8gU3RlcCBpbmRpY2F0b3JcbiAgICAgICAgLmstc3RlcC1pbmRpY2F0b3Ige1xuICAgICAgICAgICAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cyggdmFyKCAtLWtlbmRvLXN0ZXBwZXItaW5kaWNhdG9yLWJvcmRlci1yYWRpdXMsICN7JGtlbmRvLXN0ZXBwZXItaW5kaWNhdG9yLWJvcmRlci1yYWRpdXN9ICkgKTtcbiAgICAgICAgICAgIG1hcmdpbjogaWYoICRrZW5kby1zdGVwcGVyLWluZGljYXRvci1mb2N1cy1vZmZzZXQgPiAwLCB2YXIoIC0ta2VuZG8tc3RlcHBlci1pbmRpY2F0b3ItZm9jdXMtb2Zmc2V0LCAjeyRrZW5kby1zdGVwcGVyLWluZGljYXRvci1mb2N1cy1vZmZzZXR9ICksIG51bGwgKTtcbiAgICAgICAgICAgIHdpZHRoOiB2YXIoIC0ta2VuZG8tc3RlcHBlci1pbmRpY2F0b3Itd2lkdGgsICN7JGtlbmRvLXN0ZXBwZXItaW5kaWNhdG9yLXdpZHRofSApO1xuICAgICAgICAgICAgaGVpZ2h0OiB2YXIoIC0ta2VuZG8tc3RlcHBlci1pbmRpY2F0b3ItaGVpZ2h0LCAjeyRrZW5kby1zdGVwcGVyLWluZGljYXRvci1oZWlnaHR9ICk7XG4gICAgICAgICAgICBib3JkZXItd2lkdGg6IHZhciggLS1rZW5kby1zdGVwcGVyLWluZGljYXRvci1ib3JkZXItd2lkdGgsICN7JGtlbmRvLXN0ZXBwZXItaW5kaWNhdG9yLWJvcmRlci13aWR0aH0gKTtcbiAgICAgICAgICAgIGJvcmRlci1zdHlsZTogc29saWQ7XG4gICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgICAgICAgZmxleDogbm9uZTtcbiAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgICAgIHotaW5kZXg6IDE7XG4gICAgICAgICAgICBvdmVyZmxvdzogdmlzaWJsZTtcbiAgICAgICAgICAgIHRyYW5zaXRpb24tcHJvcGVydHk6IGNvbG9yLCBiYWNrZ3JvdW5kLWNvbG9yLCBib3JkZXItY29sb3I7XG4gICAgICAgICAgICB0cmFuc2l0aW9uLWR1cmF0aW9uOiAuNHM7XG4gICAgICAgICAgICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1pbi1vdXQ7XG5cbiAgICAgICAgICAgICY6OmJlZm9yZSB7XG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cyggdmFyKCAtLWtlbmRvLXN0ZXBwZXItaW5kaWNhdG9yLWJvcmRlci1yYWRpdXMsICN7JGtlbmRvLXN0ZXBwZXItaW5kaWNhdG9yLWJvcmRlci1yYWRpdXN9ICkgKTtcbiAgICAgICAgICAgICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICAgICAgdG9wOiAwO1xuICAgICAgICAgICAgICAgIGxlZnQ6IDA7XG4gICAgICAgICAgICAgICAgei1pbmRleDogLTE7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICY6OmFmdGVyIHtcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKCAxMDAlICk7XG4gICAgICAgICAgICAgICAgY29udGVudDogXCJcIjtcbiAgICAgICAgICAgICAgICBib3JkZXItd2lkdGg6IHZhciggLS1rZW5kby1zdGVwcGVyLWluZGljYXRvci1mb2N1cy1ib3JkZXItd2lkdGgsICN7JGtlbmRvLXN0ZXBwZXItaW5kaWNhdG9yLWZvY3VzLWJvcmRlci13aWR0aH0gKTtcbiAgICAgICAgICAgICAgICBib3JkZXItc3R5bGU6IHNvbGlkO1xuICAgICAgICAgICAgICAgIGJvcmRlci1jb2xvcjogaW5oZXJpdDtcbiAgICAgICAgICAgICAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgICAgICBpbnNldDogY2FsYyggLTEgKiAjeyRrZW5kby1zdGVwcGVyLWluZGljYXRvci1mb2N1cy1jYWxjLW9mZnNldH0gKTtcbiAgICAgICAgICAgICAgICB6LWluZGV4OiAyO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLmstc3RlcC5rLWZvY3VzLFxuICAgICAgICAuay1zdGVwLWxpbms6Zm9jdXMge1xuICAgICAgICAgICAgLmstc3RlcC1pbmRpY2F0b3I6OmFmdGVyIHtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC5rLXN0ZXAuay1kaXNhYmxlZCB7XG4gICAgICAgICAgICAuay1zdGVwLWluZGljYXRvciB7XG4gICAgICAgICAgICAgICAgYm9yZGVyOiAwO1xuXG4gICAgICAgICAgICAgICAgJjo6YWZ0ZXIge1xuICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG5cbiAgICAgICAgLy8gU3RlcCBsYWJlbFxuICAgICAgICAuay1zdGVwLWxhYmVsIHtcbiAgICAgICAgICAgIG1heC13aWR0aDogY2xhbXAoMTAwJSwgMTBlbSwgMTAwJSk7XG4gICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgICAgICAgICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgICAgICAgIHotaW5kZXg6IDE7XG4gICAgICAgIH1cbiAgICAgICAgLmstc3RlcC1sYWJlbDpvbmx5LWNoaWxkIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGJvcmRlci1yYWRpdXMoIHZhciggLS1rZW5kby1zdGVwcGVyLWxhYmVsLWJvcmRlci1yYWRpdXMsICN7JGtlbmRvLXN0ZXBwZXItbGFiZWwtYm9yZGVyLXJhZGl1c30gKSApO1xuICAgICAgICAgICAgcGFkZGluZy1pbmxpbmU6IHZhciggLS1rZW5kby1zdGVwcGVyLWxhYmVsLXBhZGRpbmcteCwgI3ska2VuZG8tc3RlcHBlci1sYWJlbC1wYWRkaW5nLXh9ICk7XG4gICAgICAgICAgICBwYWRkaW5nLWJsb2NrOiB2YXIoIC0ta2VuZG8tc3RlcHBlci1sYWJlbC1wYWRkaW5nLXksICN7JGtlbmRvLXN0ZXBwZXItbGFiZWwtcGFkZGluZy15fSApO1xuICAgICAgICAgICAgYm9yZGVyLXdpZHRoOiAwO1xuICAgICAgICB9XG4gICAgICAgIC5rLXN0ZXAtbGFiZWwgLmstc3RlcC10ZXh0IHtcbiAgICAgICAgICAgIG1heC13aWR0aDogY2FsYyggMTBlbSAtICggdmFyKCAtLWtlbmRvLWljb24tc2l6ZSwgMXJlbSApICsgdmFyKCAtLWtlbmRvLWljb24tc3BhY2luZywgLjVyZW0gKSApICk7XG4gICAgICAgICAgICBmbGV4LWdyb3c6IDE7XG4gICAgICAgICAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICAgICAgICAgICAgdGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7XG4gICAgICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgICAgICB9XG4gICAgICAgIC5rLXN0ZXAtbGFiZWwgLmstaWNvbiB7XG4gICAgICAgICAgICBtYXJnaW4taW5saW5lLXN0YXJ0OiB2YXIoIC0ta2VuZG8taWNvbi1zcGFjaW5nLCAuNXJlbSApO1xuICAgICAgICB9XG5cbiAgICAgICAgLmstc3RlcC1jdXJyZW50IC5rLXN0ZXAtbGFiZWwge1xuICAgICAgICAgICAgZm9udC13ZWlnaHQ6IHZhciggLS1rZW5kby1zdGVwcGVyLWN1cnJlbnQtbGFiZWwtZm9udC13ZWlnaHQsICN7JGtlbmRvLXN0ZXBwZXItY3VycmVudC1sYWJlbC1mb250LXdlaWdodH0gKTtcbiAgICAgICAgfVxuXG5cbiAgICAgICAgLy8gT3B0aW9uYWwgbGFiZWxcbiAgICAgICAgLmstc3RlcC1sYWJlbC1vcHRpb25hbCB7XG4gICAgICAgICAgICBmbGV4LWJhc2lzOiAxMDAlO1xuICAgICAgICAgICAgZm9udC1zaXplOiB2YXIoIC0ta2VuZG8tc3RlcHBlci1vcHRpb25hbC1sYWJlbC1mb250LXNpemUsICN7JGtlbmRvLXN0ZXBwZXItb3B0aW9uYWwtbGFiZWwtZm9udC1zaXplfSApO1xuICAgICAgICAgICAgZm9udC1zdHlsZTogdmFyKCAtLWtlbmRvLXN0ZXBwZXItb3B0aW9uYWwtbGFiZWwtZm9udC1zdHlsZSwgI3ska2VuZG8tc3RlcHBlci1vcHRpb25hbC1sYWJlbC1mb250LXN0eWxlfSApO1xuICAgICAgICB9XG5cblxuICAgICAgICAuay1zdGVwLWRpc2FibGVkLFxuICAgICAgICAuay1zdGVwLmstZGlzYWJsZWQge1xuICAgICAgICAgICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG5cbiAgICAgICAgICAgIC5rLXN0ZXAtbGluayB7IGN1cnNvcjogZGVmYXVsdDsgfVxuXG4gICAgICAgICAgICAuay1zdGVwLWxhYmVsLW9wdGlvbmFsIHtcbiAgICAgICAgICAgICAgICBjb2xvcjogaW5oZXJpdDtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLmstc3RlcC1sYWJlbCB7XG4gICAgICAgICAgICAgICAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG5cbiAgICAgICAgLy8gUHJvZ3Jlc3NiYXJcbiAgICAgICAgLmstcHJvZ3Jlc3NiYXIge1xuICAgICAgICAgICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gICAgICAgICAgICB6LWluZGV4OiAwO1xuICAgICAgICAgICAgb3ZlcmZsb3c6IHZpc2libGU7XG4gICAgICAgIH1cblxuICAgICAgICAuay1wcm9ncmVzc2Jhci1ob3Jpem9udGFsIHtcbiAgICAgICAgICAgIGdyaWQtcm93OiAxIC8gLTE7XG4gICAgICAgIH1cblxuICAgICAgICAuay1wcm9ncmVzc2Jhci12ZXJ0aWNhbCB7XG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIH1cbiAgICB9XG5cblxuICAgIC8vIEhvcml6b250YWxcbiAgICAuay1zdGVwLWxpc3QtaG9yaXpvbnRhbCB7XG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gICAgICAgIGdyaWQtcm93OiAxO1xuXG4gICAgICAgIC5rLXN0ZXAge1xuICAgICAgICAgICAgZmxleDogMSAwIGF1dG87XG4gICAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgIH1cblxuICAgICAgICAuay1zdGVwLWxpbmsge1xuICAgICAgICAgICAgbWFyZ2luOiBhdXRvO1xuICAgICAgICAgICAgbWF4LXdpZHRoOiAxMGVtO1xuICAgICAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgICAgfVxuXG4gICAgICAgIC8vIExhYmVsXG4gICAgICAgIC5rLXN0ZXAtbGFiZWwge1xuICAgICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICB9XG4gICAgICAgIC5rLXN0ZXAtaW5kaWNhdG9yICsgLmstc3RlcC1sYWJlbCB7XG4gICAgICAgICAgICBtYXJnaW4tdG9wOiBpZigka2VuZG8tc3RlcHBlci1pbmRpY2F0b3ItZm9jdXMtb2Zmc2V0ID4gMCwgay1zcGFjaW5nKDEpLCA4cHgpO1xuICAgICAgICB9XG5cbiAgICAgICAgLy8gUHJvZ3Jlc3NiYXJcbiAgICAgICAgJiB+IC5rLXByb2dyZXNzYmFyIHtcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgaGVpZ2h0OiB2YXIoIC0ta2VuZG8tc3RlcHBlci1wcm9ncmVzc2Jhci1zaXplLCAjeyRrZW5kby1zdGVwcGVyLXByb2dyZXNzYmFyLXNpemV9ICk7XG4gICAgICAgICAgICB0b3A6IGNhbGMoICgodmFyKCAtLWtlbmRvLXN0ZXBwZXItaW5kaWNhdG9yLWhlaWdodCwgI3ska2VuZG8tc3RlcHBlci1pbmRpY2F0b3ItaGVpZ2h0fSApICsgMiAqICN7JGtlbmRvLXN0ZXBwZXItaW5kaWNhdG9yLWZvY3VzLXNpemV9KSAvIDIpICsgI3ska2VuZG8tc3RlcHBlci1pbmRpY2F0b3ItZm9jdXMtc2l6ZX0gLyAyKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8vIFZlcnRpY2FsXG4gICAgLmstc3RlcC1saXN0LXZlcnRpY2FsIHtcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcblxuICAgICAgICAuay1zdGVwIHtcbiAgICAgICAgICAgIG1pbi1oZWlnaHQ6IGNhbGMoICh2YXIoIC0ta2VuZG8tc3RlcHBlci1pbmRpY2F0b3Itd2lkdGgsICN7JGtlbmRvLXN0ZXBwZXItaW5kaWNhdG9yLXdpZHRofSApICsgMiAqIHZhciggLS1rZW5kby1zdGVwcGVyLWluZGljYXRvci1ib3JkZXItd2lkdGgsICN7JGtlbmRvLXN0ZXBwZXItaW5kaWNhdG9yLWJvcmRlci13aWR0aH0gKSArIDIgKiAjeyRrZW5kby1zdGVwcGVyLWluZGljYXRvci1mb2N1cy1zaXplfSkgKyAyMHB4KTtcbiAgICAgICAgfVxuXG4gICAgICAgIC8vIExhYmVsXG4gICAgICAgIC5rLXN0ZXAtbGFiZWwge1xuICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0O1xuICAgICAgICB9XG4gICAgICAgIC5rLXN0ZXAtaW5kaWNhdG9yICsgLmstc3RlcC1sYWJlbCB7XG4gICAgICAgICAgICBtYXJnaW4taW5saW5lLXN0YXJ0OiB2YXIoIC0ta2VuZG8tc3RlcHBlci1sYWJlbC1tYXJnaW4teCwgI3ska2VuZG8tc3RlcHBlci1sYWJlbC1tYXJnaW4teH0gKTtcbiAgICAgICAgfVxuXG5cbiAgICAgICAgLy8gUHJvZ3Jlc3NiYXJcbiAgICAgICAgJiB+IC5rLXByb2dyZXNzYmFyIHtcbiAgICAgICAgICAgIHdpZHRoOiB2YXIoIC0ta2VuZG8tc3RlcHBlci1wcm9ncmVzc2Jhci1zaXplLCAjeyRrZW5kby1zdGVwcGVyLXByb2dyZXNzYmFyLXNpemV9ICk7XG4gICAgICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgICAgICBtaW4taGVpZ2h0OiAyMHB4O1xuICAgICAgICAgICAgaW5zZXQtaW5saW5lLXN0YXJ0OiBjYWxjKCAodmFyKCAtLWtlbmRvLXN0ZXBwZXItaW5kaWNhdG9yLXdpZHRoLCAjeyRrZW5kby1zdGVwcGVyLWluZGljYXRvci13aWR0aH0gKSArIDIgKiB2YXIoIC0ta2VuZG8tc3RlcHBlci1pbmRpY2F0b3ItYm9yZGVyLXdpZHRoLCAjeyRrZW5kby1zdGVwcGVyLWluZGljYXRvci1ib3JkZXItd2lkdGh9ICkgKyAyICogI3ska2VuZG8tc3RlcHBlci1pbmRpY2F0b3ItZm9jdXMtc2l6ZX0pIC8gMik7XG4gICAgICAgIH1cblxuICAgICAgICAvLyBJbmxpbmUgY29udGVudFxuICAgICAgICAuay1zdGVwLWNvbnRlbnQge1xuICAgICAgICAgICAgaGVpZ2h0OiAwO1xuICAgICAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAgICAgICAgIHRyYW5zaXRpb246ICRrZW5kby1zdGVwcGVyLWNvbnRlbnQtdHJhbnNpdGlvbi1wcm9wZXJ0eSAka2VuZG8tc3RlcHBlci1jb250ZW50LXRyYW5zaXRpb24tZHVyYXRpb24gJGtlbmRvLXN0ZXBwZXItY29udGVudC10cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjtcbiAgICAgICAgfVxuXG4gICAgICAgIC5rLXN0ZXAtY3VycmVudCAuay1zdGVwLWNvbnRlbnQge1xuICAgICAgICAgICAgaGVpZ2h0OiBhdXRvO1xuICAgICAgICAgICAgb3ZlcmZsb3c6IHZpc2libGU7XG4gICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgICAgICAgICAgIG1hcmdpbi1pbmxpbmUtc3RhcnQ6IGNhbGMoIHZhciggLS1rZW5kby1zdGVwcGVyLWluZGljYXRvci13aWR0aCwgI3ska2VuZG8tc3RlcHBlci1pbmRpY2F0b3Itd2lkdGh9ICkgKyAyICogdmFyKCAtLWtlbmRvLXN0ZXBwZXItaW5kaWNhdG9yLWJvcmRlci13aWR0aCwgI3ska2VuZG8tc3RlcHBlci1pbmRpY2F0b3ItYm9yZGVyLXdpZHRofSApICk7XG4gICAgICAgICAgICBwYWRkaW5nLWlubGluZTogdmFyKCAtLWtlbmRvLXN0ZXBwZXItaW5saW5lLWNvbnRlbnQtcGFkZGluZy14LCAjeyRrZW5kby1zdGVwcGVyLWlubGluZS1jb250ZW50LXBhZGRpbmcteH0gKTtcbiAgICAgICAgICAgIHBhZGRpbmctYmxvY2s6IHZhciggLS1rZW5kby1zdGVwcGVyLWlubGluZS1jb250ZW50LXBhZGRpbmcteSwgI3ska2VuZG8tc3RlcHBlci1pbmxpbmUtY29udGVudC1wYWRkaW5nLXl9ICk7XG4gICAgICAgIH1cbiAgICB9XG59XG4iLCJAdXNlIFwiLi4vY29yZS9faW5kZXguc2Nzc1wiIGFzICo7XG5AdXNlIFwiLi9fdmFyaWFibGVzLnNjc3NcIiBhcyAqO1xuXG5AbWl4aW4ga2VuZG8tc3RlcHBlci0tdGhlbWUoKSB7XG5cbiAgICAvLyBCYXNlXG4gICAgLmstc3RlcHBlciB7XG4gICAgICAgIEBpbmNsdWRlIGZpbGwoXG4gICAgICAgICAgICB2YXIoIC0ta2VuZG8tc3RlcHBlci10ZXh0LCAjeyRrZW5kby1zdGVwcGVyLXRleHR9ICksXG4gICAgICAgICAgICB2YXIoIC0ta2VuZG8tc3RlcHBlci1iZywgI3ska2VuZG8tc3RlcHBlci1iZ30gKSxcbiAgICAgICAgICAgIHZhciggLS1rZW5kby1zdGVwcGVyLWJvcmRlciwgI3ska2VuZG8tc3RlcHBlci1ib3JkZXJ9IClcbiAgICAgICAgKTtcblxuXG4gICAgICAgIC8vIE5vdCBkb25lIHN0ZXBzXG4gICAgICAgIC5rLXN0ZXAge1xuICAgICAgICAgICAgLy8gSG92ZXJcbiAgICAgICAgICAgICY6aG92ZXIsXG4gICAgICAgICAgICAmLmstaG92ZXIge1xuICAgICAgICAgICAgICAgIC5rLXN0ZXAtbGFiZWwge1xuICAgICAgICAgICAgICAgICAgICBjb2xvcjogdmFyKCAtLWtlbmRvLXN0ZXBwZXItbGFiZWwtaG92ZXItdGV4dCwgI3ska2VuZG8tc3RlcHBlci1sYWJlbC1ob3Zlci10ZXh0fSApO1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIC5rLXN0ZXAtaW5kaWNhdG9yIHtcbiAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgZmlsbChcbiAgICAgICAgICAgICAgICAgICAgICAgIHZhciggLS1rZW5kby1zdGVwcGVyLWluZGljYXRvci1ob3Zlci10ZXh0LCAjeyRrZW5kby1zdGVwcGVyLWluZGljYXRvci1ob3Zlci10ZXh0fSApLFxuICAgICAgICAgICAgICAgICAgICAgICAgdmFyKCAtLWtlbmRvLXN0ZXBwZXItaW5kaWNhdG9yLWhvdmVyLWJnLCAjeyRrZW5kby1zdGVwcGVyLWluZGljYXRvci1ob3Zlci1iZ30gKSxcbiAgICAgICAgICAgICAgICAgICAgICAgIHZhciggLS1rZW5kby1zdGVwcGVyLWluZGljYXRvci1ob3Zlci1ib3JkZXIsICN7JGtlbmRvLXN0ZXBwZXItaW5kaWNhdG9yLWhvdmVyLWJvcmRlcn0gKVxuICAgICAgICAgICAgICAgICAgICApO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgJi5rLWZvY3VzLFxuICAgICAgICAgICAgLmstc3RlcC1saW5rOmZvY3VzICB7XG4gICAgICAgICAgICAgICAgLy8gTGFiZWxzIG9ubHlcbiAgICAgICAgICAgICAgICAuay1zdGVwLWxhYmVsOm9ubHktY2hpbGQge1xuICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBib3gtc2hhZG93KCBpbnNldCAwIDAgMCB2YXIoIC0ta2VuZG8tc3RlcHBlci1pbmRpY2F0b3ItZm9jdXMtc2l6ZSwgI3ska2VuZG8tc3RlcHBlci1pbmRpY2F0b3ItZm9jdXMtc2l6ZX0gKSB2YXIoIC0ta2VuZG8tY29tcG9uZW50LWJvcmRlciwgaW5pdGlhbCApICk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAvLyBEaXNhYmxlZFxuICAgICAgICAgICAgJjpkaXNhYmxlZCxcbiAgICAgICAgICAgICYuay1kaXNhYmxlZCB7XG4gICAgICAgICAgICAgICAgLmstc3RlcC1pbmRpY2F0b3Ige1xuICAgICAgICAgICAgICAgICAgICBAaWYoJGtlbmRvLWVuYWJsZS1jb2xvci1zeXN0ZW0pIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIGZpbGwoXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFyKCAtLWtlbmRvLXN0ZXBwZXItaW5kaWNhdG9yLWRpc2FibGVkLXRleHQsICN7JGtlbmRvLXN0ZXBwZXItaW5kaWNhdG9yLWRpc2FibGVkLXRleHR9ICksXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgay1jb2xvciggYXBwLXN1cmZhY2UgKSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YXIoIC0ta2VuZG8tc3RlcHBlci1pbmRpY2F0b3ItZGlzYWJsZWQtYm9yZGVyLCAjeyRrZW5kby1zdGVwcGVyLWluZGljYXRvci1kaXNhYmxlZC1ib3JkZXJ9IClcbiAgICAgICAgICAgICAgICAgICAgICAgICk7XG5cbiAgICAgICAgICAgICAgICAgICAgICAgICY6OmJlZm9yZSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKCAtLWtlbmRvLXN0ZXBwZXItaW5kaWNhdG9yLWRpc2FibGVkLWJnLCAjeyRrZW5kby1zdGVwcGVyLWluZGljYXRvci1kaXNhYmxlZC1iZ30gKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgfSBAZWxzZSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBmaWxsKFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhciggLS1rZW5kby1zdGVwcGVyLWluZGljYXRvci1kaXNhYmxlZC10ZXh0LCAjeyRrZW5kby1zdGVwcGVyLWluZGljYXRvci1kaXNhYmxlZC10ZXh0fSApLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhciggLS1rZW5kby1zdGVwcGVyLWluZGljYXRvci1kaXNhYmxlZC1iZywgI3ska2VuZG8tc3RlcHBlci1pbmRpY2F0b3ItZGlzYWJsZWQtYmd9ICksXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFyKCAtLWtlbmRvLXN0ZXBwZXItaW5kaWNhdG9yLWRpc2FibGVkLWJvcmRlciwgI3ska2VuZG8tc3RlcHBlci1pbmRpY2F0b3ItZGlzYWJsZWQtYm9yZGVyfSApXG4gICAgICAgICAgICAgICAgICAgICAgICApO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgLmstc3RlcC1sYWJlbCB7XG4gICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIGZpbGwoICRjb2xvcjogdmFyKCAtLWtlbmRvLXN0ZXBwZXItbGFiZWwtZGlzYWJsZWQtdGV4dCwgI3ska2VuZG8tc3RlcHBlci1sYWJlbC1kaXNhYmxlZC10ZXh0fSApICk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIC5rLXN0ZXAtaW5kaWNhdG9yIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGZpbGwoXG4gICAgICAgICAgICAgICAgdmFyKCAtLWtlbmRvLXN0ZXBwZXItaW5kaWNhdG9yLXRleHQsICN7JGtlbmRvLXN0ZXBwZXItaW5kaWNhdG9yLXRleHR9ICksXG4gICAgICAgICAgICAgICAgdmFyKCAtLWtlbmRvLXN0ZXBwZXItaW5kaWNhdG9yLWJnLCAjeyRrZW5kby1zdGVwcGVyLWluZGljYXRvci1iZ30gKSxcbiAgICAgICAgICAgICAgICB2YXIoIC0ta2VuZG8tc3RlcHBlci1pbmRpY2F0b3ItYm9yZGVyLCAjeyRrZW5kby1zdGVwcGVyLWluZGljYXRvci1ib3JkZXJ9IClcbiAgICAgICAgICAgICk7XG4gICAgICAgIH1cbiAgICAgICAgLmstc3RlcC1pbmRpY2F0b3I6OmFmdGVyIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGJveC1zaGFkb3coIGluc2V0IDAgMCAwIHZhciggLS1rZW5kby1zdGVwcGVyLWluZGljYXRvci1mb2N1cy1zaXplLCAjeyRrZW5kby1zdGVwcGVyLWluZGljYXRvci1mb2N1cy1zaXplfSApIHZhciggLS1rZW5kby1jb21wb25lbnQtYmcsIGluaXRpYWwgKSApO1xuICAgICAgICB9XG4gICAgICAgIC5rLXN0ZXAtbGFiZWw6b25seS1jaGlsZCB7XG4gICAgICAgICAgICBAaW5jbHVkZSBmaWxsKFxuICAgICAgICAgICAgICAgIHZhciggLS1rZW5kby1jb21wb25lbnQtdGV4dCwgaW5pdGlhbCApLFxuICAgICAgICAgICAgICAgIHZhciggLS1rZW5kby1jb21wb25lbnQtYmcsIHRyYW5zcGFyZW50ICksXG4gICAgICAgICAgICAgICAgdmFyKCAtLWtlbmRvLWNvbXBvbmVudC1ib3JkZXIsIGluaXRpYWwgKVxuICAgICAgICAgICAgKTtcbiAgICAgICAgfVxuXG5cbiAgICAgICAgLy8gRG9uZSBzdGVwc1xuICAgICAgICAuay1zdGVwLWRvbmUge1xuXG4gICAgICAgICAgICAuay1zdGVwLWluZGljYXRvciB7XG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgZmlsbChcbiAgICAgICAgICAgICAgICAgICAgdmFyKCAtLWtlbmRvLXN0ZXBwZXItaW5kaWNhdG9yLWRvbmUtdGV4dCwgI3ska2VuZG8tc3RlcHBlci1pbmRpY2F0b3ItZG9uZS10ZXh0fSApLFxuICAgICAgICAgICAgICAgICAgICB2YXIoIC0ta2VuZG8tc3RlcHBlci1pbmRpY2F0b3ItZG9uZS1iZywgI3ska2VuZG8tc3RlcHBlci1pbmRpY2F0b3ItZG9uZS1iZ30gKSxcbiAgICAgICAgICAgICAgICAgICAgdmFyKCAtLWtlbmRvLXN0ZXBwZXItaW5kaWNhdG9yLWRvbmUtYm9yZGVyLCAjeyRrZW5kby1zdGVwcGVyLWluZGljYXRvci1kb25lLWJvcmRlcn0gKVxuICAgICAgICAgICAgICAgICk7XG4gICAgICAgICAgICB9XG5cblxuICAgICAgICAgICAgLy8gSG92ZXJcbiAgICAgICAgICAgICY6aG92ZXIsXG4gICAgICAgICAgICAmLmstaG92ZXIsXG4gICAgICAgICAgICAmLmstc3RlcC1ob3ZlciB7XG4gICAgICAgICAgICAgICAgLmstc3RlcC1pbmRpY2F0b3Ige1xuICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBmaWxsKFxuICAgICAgICAgICAgICAgICAgICAgICAgdmFyKCAtLWtlbmRvLXN0ZXBwZXItaW5kaWNhdG9yLWRvbmUtaG92ZXItdGV4dCwgI3ska2VuZG8tc3RlcHBlci1pbmRpY2F0b3ItZG9uZS1ob3Zlci10ZXh0fSApLFxuICAgICAgICAgICAgICAgICAgICAgICAgdmFyKCAtLWtlbmRvLXN0ZXBwZXItaW5kaWNhdG9yLWRvbmUtaG92ZXItYmcsICN7JGtlbmRvLXN0ZXBwZXItaW5kaWNhdG9yLWRvbmUtaG92ZXItYmd9ICksXG4gICAgICAgICAgICAgICAgICAgICAgICB2YXIoIC0ta2VuZG8tc3RlcHBlci1pbmRpY2F0b3ItZG9uZS1ob3Zlci1ib3JkZXIsICN7JGtlbmRvLXN0ZXBwZXItaW5kaWNhdG9yLWRvbmUtaG92ZXItYm9yZGVyfSApXG4gICAgICAgICAgICAgICAgICAgICk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuXG5cbiAgICAgICAgICAgIC8vIERpc2FibGVkXG4gICAgICAgICAgICAmLmstc3RlcC1kaXNhYmxlZCxcbiAgICAgICAgICAgICYuay1kaXNhYmxlZCxcbiAgICAgICAgICAgICY6ZGlzYWJsZWQge1xuICAgICAgICAgICAgICAgIC5rLXN0ZXAtaW5kaWNhdG9yIHtcbiAgICAgICAgICAgICAgICAgICAgQGlmKCRrZW5kby1lbmFibGUtY29sb3Itc3lzdGVtKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBmaWxsKFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhciggLS1rZW5kby1zdGVwcGVyLWluZGljYXRvci1kb25lLWRpc2FibGVkLXRleHQsICN7JGtlbmRvLXN0ZXBwZXItaW5kaWNhdG9yLWRvbmUtZGlzYWJsZWQtdGV4dH0gKSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBrLWNvbG9yKCBhcHAtc3VyZmFjZSApLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhciggLS1rZW5kby1zdGVwcGVyLWluZGljYXRvci1kb25lLWRpc2FibGVkLWJvcmRlciwgI3ska2VuZG8tc3RlcHBlci1pbmRpY2F0b3ItZG9uZS1kaXNhYmxlZC1ib3JkZXJ9IClcbiAgICAgICAgICAgICAgICAgICAgICAgICk7XG5cbiAgICAgICAgICAgICAgICAgICAgICAgICY6OmJlZm9yZSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKCAtLWtlbmRvLXN0ZXBwZXItaW5kaWNhdG9yLWRvbmUtZGlzYWJsZWQtYmcsICN7JGtlbmRvLXN0ZXBwZXItaW5kaWNhdG9yLWRvbmUtZGlzYWJsZWQtYmd9ICk7XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIH0gQGVsc2Uge1xuICAgICAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgZmlsbChcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YXIoIC0ta2VuZG8tc3RlcHBlci1pbmRpY2F0b3ItZG9uZS1kaXNhYmxlZC10ZXh0LCAjeyRrZW5kby1zdGVwcGVyLWluZGljYXRvci1kb25lLWRpc2FibGVkLXRleHR9ICksXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFyKCAtLWtlbmRvLXN0ZXBwZXItaW5kaWNhdG9yLWRvbmUtZGlzYWJsZWQtYmcsICN7JGtlbmRvLXN0ZXBwZXItaW5kaWNhdG9yLWRvbmUtZGlzYWJsZWQtYmd9ICksXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFyKCAtLWtlbmRvLXN0ZXBwZXItaW5kaWNhdG9yLWRvbmUtZGlzYWJsZWQtYm9yZGVyLCAjeyRrZW5kby1zdGVwcGVyLWluZGljYXRvci1kb25lLWRpc2FibGVkLWJvcmRlcn0gKVxuICAgICAgICAgICAgICAgICAgICAgICAgKTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIC5rLXN0ZXAtbGFiZWwge1xuICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBmaWxsKCAkY29sb3I6IHZhciggLS1rZW5kby1zdGVwcGVyLWxhYmVsLWRpc2FibGVkLXRleHQsICN7JGtlbmRvLXN0ZXBwZXItbGFiZWwtZGlzYWJsZWQtdGV4dH0gKSApO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG5cbiAgICAgICAgLy8gQ3VycmVudFxuICAgICAgICAuay1zdGVwLWN1cnJlbnQge1xuXG4gICAgICAgICAgICAuay1zdGVwLWluZGljYXRvciB7XG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgZmlsbChcbiAgICAgICAgICAgICAgICAgICAgdmFyKCAtLWtlbmRvLXN0ZXBwZXItaW5kaWNhdG9yLWN1cnJlbnQtdGV4dCwgI3ska2VuZG8tc3RlcHBlci1pbmRpY2F0b3ItY3VycmVudC10ZXh0fSApLFxuICAgICAgICAgICAgICAgICAgICB2YXIoIC0ta2VuZG8tc3RlcHBlci1pbmRpY2F0b3ItY3VycmVudC1iZywgI3ska2VuZG8tc3RlcHBlci1pbmRpY2F0b3ItY3VycmVudC1iZ30gKSxcbiAgICAgICAgICAgICAgICAgICAgdmFyKCAtLWtlbmRvLXN0ZXBwZXItaW5kaWNhdG9yLWN1cnJlbnQtYm9yZGVyLCAjeyRrZW5kby1zdGVwcGVyLWluZGljYXRvci1jdXJyZW50LWJvcmRlcn0gKVxuICAgICAgICAgICAgICAgICk7XG4gICAgICAgICAgICB9XG5cblxuICAgICAgICAgICAgLy8gSG92ZXJcbiAgICAgICAgICAgICY6aG92ZXIsXG4gICAgICAgICAgICAmLmstaG92ZXIsXG4gICAgICAgICAgICAmLmstc3RlcC1ob3ZlciB7XG4gICAgICAgICAgICAgICAgLmstc3RlcC1pbmRpY2F0b3Ige1xuICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBmaWxsKFxuICAgICAgICAgICAgICAgICAgICAgICAgdmFyKCAtLWtlbmRvLXN0ZXBwZXItaW5kaWNhdG9yLWN1cnJlbnQtaG92ZXItdGV4dCwgI3ska2VuZG8tc3RlcHBlci1pbmRpY2F0b3ItY3VycmVudC1ob3Zlci10ZXh0fSApLFxuICAgICAgICAgICAgICAgICAgICAgICAgdmFyKCAtLWtlbmRvLXN0ZXBwZXItaW5kaWNhdG9yLWN1cnJlbnQtaG92ZXItYmcsICN7JGtlbmRvLXN0ZXBwZXItaW5kaWNhdG9yLWN1cnJlbnQtaG92ZXItYmd9ICksXG4gICAgICAgICAgICAgICAgICAgICAgICB2YXIoIC0ta2VuZG8tc3RlcHBlci1pbmRpY2F0b3ItY3VycmVudC1ob3Zlci1ib3JkZXIsICN7JGtlbmRvLXN0ZXBwZXItaW5kaWNhdG9yLWN1cnJlbnQtaG92ZXItYm9yZGVyfSApXG4gICAgICAgICAgICAgICAgICAgICk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuXG5cbiAgICAgICAgICAgIC8vIERpc2FibGVkXG4gICAgICAgICAgICAmLmstc3RlcC1kaXNhYmxlZCxcbiAgICAgICAgICAgICYuay1kaXNhYmxlZCxcbiAgICAgICAgICAgICY6ZGlzYWJsZWQge1xuICAgICAgICAgICAgICAgIC5rLXN0ZXAtaW5kaWNhdG9yIHtcbiAgICAgICAgICAgICAgICAgICAgQGlmKCRrZW5kby1lbmFibGUtY29sb3Itc3lzdGVtKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBmaWxsKFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhciggLS1rZW5kby1zdGVwcGVyLWluZGljYXRvci1jdXJyZW50LWRpc2FibGVkLXRleHQsICN7JGtlbmRvLXN0ZXBwZXItaW5kaWNhdG9yLWN1cnJlbnQtZGlzYWJsZWQtdGV4dH0gKSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBrLWNvbG9yKCBhcHAtc3VyZmFjZSApLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhciggLS1rZW5kby1zdGVwcGVyLWluZGljYXRvci1jdXJyZW50LWRpc2FibGVkLWJvcmRlciwgI3ska2VuZG8tc3RlcHBlci1pbmRpY2F0b3ItY3VycmVudC1kaXNhYmxlZC1ib3JkZXJ9IClcbiAgICAgICAgICAgICAgICAgICAgICAgICk7XG5cbiAgICAgICAgICAgICAgICAgICAgICAgICY6OmJlZm9yZSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKCAtLWtlbmRvLXN0ZXBwZXItaW5kaWNhdG9yLWN1cnJlbnQtZGlzYWJsZWQtYmcsICN7JGtlbmRvLXN0ZXBwZXItaW5kaWNhdG9yLWN1cnJlbnQtZGlzYWJsZWQtYmd9ICk7XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIH0gQGVsc2Uge1xuICAgICAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgZmlsbChcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YXIoIC0ta2VuZG8tc3RlcHBlci1pbmRpY2F0b3ItY3VycmVudC1kaXNhYmxlZC10ZXh0LCAjeyRrZW5kby1zdGVwcGVyLWluZGljYXRvci1jdXJyZW50LWRpc2FibGVkLXRleHR9ICksXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFyKCAtLWtlbmRvLXN0ZXBwZXItaW5kaWNhdG9yLWN1cnJlbnQtZGlzYWJsZWQtYmcsICN7JGtlbmRvLXN0ZXBwZXItaW5kaWNhdG9yLWN1cnJlbnQtZGlzYWJsZWQtYmd9ICksXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFyKCAtLWtlbmRvLXN0ZXBwZXItaW5kaWNhdG9yLWN1cnJlbnQtZGlzYWJsZWQtYm9yZGVyLCAjeyRrZW5kby1zdGVwcGVyLWluZGljYXRvci1jdXJyZW50LWRpc2FibGVkLWJvcmRlcn0gKVxuICAgICAgICAgICAgICAgICAgICAgICAgKTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC8vIExhYmVsXG4gICAgICAgIC5rLXN0ZXAtbGFiZWwge1xuICAgICAgICAgICAgQGluY2x1ZGUgZmlsbCggJGNvbG9yOiB2YXIoIC0ta2VuZG8tc3RlcHBlci1sYWJlbC10ZXh0LCAjeyRrZW5kby1zdGVwcGVyLWxhYmVsLXRleHR9ICkgKTtcbiAgICAgICAgfVxuICAgICAgICAuay1zdGVwLXN1Y2Nlc3MgLmstc3RlcC1sYWJlbCAuay1pY29uIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGZpbGwoICRjb2xvcjogdmFyKCAtLWtlbmRvLXN0ZXBwZXItbGFiZWwtc3VjY2Vzcy10ZXh0LCAjeyRrZW5kby1zdGVwcGVyLWxhYmVsLXN1Y2Nlc3MtdGV4dH0gKSApO1xuICAgICAgICB9XG4gICAgICAgIC5rLXN0ZXAtZXJyb3IgLmstc3RlcC1sYWJlbCB7XG4gICAgICAgICAgICBAaW5jbHVkZSBmaWxsKCAkY29sb3I6IHZhciggLS1rZW5kby1zdGVwcGVyLWxhYmVsLWVycm9yLXRleHQsICN7JGtlbmRvLXN0ZXBwZXItbGFiZWwtZXJyb3ItdGV4dH0gKSApO1xuICAgICAgICB9XG5cbiAgICAgICAgLmstc3RlcC1lcnJvciB7XG4gICAgICAgICAgICAuay1zdGVwLWxhYmVsIHtcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBmaWxsKCAkY29sb3I6IHZhciggLS1rZW5kby1zdGVwcGVyLWxhYmVsLWVycm9yLXRleHQsICN7JGtlbmRvLXN0ZXBwZXItbGFiZWwtZXJyb3ItdGV4dH0gKSApO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAmOmhvdmVyLFxuICAgICAgICAgICAgJi5rLWhvdmVyLFxuICAgICAgICAgICAgJi5rLXN0ZXAtaG92ZXIge1xuICAgICAgICAgICAgICAgIC5rLXN0ZXAtbGFiZWwge1xuICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBmaWxsKCAkY29sb3I6IHZhciggLS1rZW5kby1zdGVwcGVyLWxhYmVsLWVycm9yLXRleHQsICN7JGtlbmRvLXN0ZXBwZXItbGFiZWwtZXJyb3ItdGV4dH0gKSApO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC8vIE9wdGlvbmFsIExhYmVsXG4gICAgICAgIC5rLXN0ZXAtbGFiZWwtb3B0aW9uYWwge1xuICAgICAgICAgICAgY29sb3I6IHZhciggLS1rZW5kby1zdGVwcGVyLW9wdGlvbmFsLWxhYmVsLXRleHQsICN7JGtlbmRvLXN0ZXBwZXItb3B0aW9uYWwtbGFiZWwtdGV4dH0gKTtcbiAgICAgICAgfVxuICAgIH1cblxufVxuIiwiXG5AdXNlIFwic2FzczptYXBcIjtcbkB1c2UgXCIuLi9jb3JlL19pbmRleC5zY3NzXCIgYXMgKjtcbkB1c2UgXCIuL192YXJpYWJsZXMuc2Nzc1wiIGFzICo7XG5cbkBtaXhpbiBrZW5kby10YWJzdHJpcC0tbGF5b3V0KCkge1xuXG4gICAgLy8gVGFic3RyaXAgd3JhcHBlclxuICAgIC5rLXRhYnN0cmlwLXdyYXBwZXIge1xuICAgICAgICBwYWRkaW5nLWlubGluZTogdmFyKCAtLWtlbmRvLXRhYnN0cmlwLXdyYXBwZXItcGFkZGluZy14LCAjeyAka2VuZG8tdGFic3RyaXAtd3JhcHBlci1wYWRkaW5nLXh9ICk7XG4gICAgICAgIHBhZGRpbmctYmxvY2s6IHZhciggLS1rZW5kby10YWJzdHJpcC13cmFwcGVyLXBhZGRpbmcteSwgI3sgJGtlbmRvLXRhYnN0cmlwLXdyYXBwZXItcGFkZGluZy15fSApO1xuICAgICAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgICAgICBib3JkZXItd2lkdGg6IDA7XG4gICAgICAgIGJvcmRlci1zdHlsZTogc29saWQ7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB9XG5cblxuICAgIC8vIFRhYnN0cmlwXG4gICAgLmstdGFic3RyaXAge1xuICAgICAgICBib3JkZXItd2lkdGg6IDA7XG4gICAgICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgICAgIG91dGxpbmU6IDA7XG4gICAgICAgIGZvbnQtZmFtaWx5OiB2YXIoIC0ta2VuZG8tdGFic3RyaXAtZm9udC1mYW1pbHksICN7JGtlbmRvLXRhYnN0cmlwLWZvbnQtZmFtaWx5fSApO1xuICAgICAgICBmb250LXNpemU6IHZhciggLS1rZW5kby10YWJzdHJpcC1mb250LXNpemUsICN7JGtlbmRvLXRhYnN0cmlwLWZvbnQtc2l6ZX0gKTtcbiAgICAgICAgbGluZS1oZWlnaHQ6IHZhciggLS1rZW5kby10YWJzdHJpcC1saW5lLWhlaWdodCwgI3ska2VuZG8tdGFic3RyaXAtbGluZS1oZWlnaHR9ICk7XG4gICAgICAgIGNvbG9yOiBpbmhlcml0O1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgZmxleC1mbG93OiBjb2x1bW4gbm93cmFwO1xuICAgICAgICAtd2Via2l0LXRvdWNoLWNhbGxvdXQ6IG5vbmU7XG4gICAgICAgIC13ZWJraXQtdGFwLWhpZ2hsaWdodC1jb2xvcjogJGtlbmRvLWNvbG9yLXJnYmEtdHJhbnNwYXJlbnQ7XG4gICAgfVxuICAgIC5rLXRhYnN0cmlwLXdyYXBwZXIgPiAuay10YWJzdHJpcCB7XG4gICAgICAgIGZsZXg6IDEgMSBhdXRvO1xuICAgIH1cblxuXG4gICAgLy8gVGFic3RyaXAgaXRlbXMgd3JhcHBlclxuICAgIC5rLXRhYnN0cmlwLWl0ZW1zLXdyYXBwZXIge1xuICAgICAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgICAgICBib3JkZXItd2lkdGg6IDA7XG4gICAgICAgIGJvcmRlci1zdHlsZTogc29saWQ7XG4gICAgICAgIGJvcmRlci1jb2xvcjogaW5oZXJpdDtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICBmbGV4LXNocmluazogMDtcbiAgICB9XG5cblxuICAgIC8vIFRhYnN0cmlwIGl0ZW1zXG4gICAgLmstdGFic3RyaXAtaXRlbXMge1xuICAgICAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgICAgICBvdXRsaW5lOiAwO1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBmbGV4LWZsb3c6IHJvdyB3cmFwO1xuICAgICAgICBmbGV4OiAxIDEgYXV0bztcbiAgICAgICAgZ2FwOiAka2VuZG8tdGFic3RyaXAtaXRlbS1nYXA7XG5cbiAgICAgICAgKixcbiAgICAgICAgKjo6YmVmb3JlLFxuICAgICAgICAqOjphZnRlciB7XG4gICAgICAgICAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgICAgICB9XG5cbiAgICAgICAgLmstaXRlbSB7XG4gICAgICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgICAgICAgYm9yZGVyOiAwO1xuICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICAgICAgZmxleC1zaHJpbms6IDA7XG4gICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBzdHJldGNoO1xuICAgICAgICAgICAganVzdGlmeS1pdGVtczogc3RyZXRjaDtcbiAgICAgICAgICAgIG91dGxpbmU6IDA7XG5cbiAgICAgICAgICAgIC8vIEFjdGl2ZSBzdGF0ZVxuICAgICAgICAgICAgJjphY3RpdmUsXG4gICAgICAgICAgICAmLmstYWN0aXZlLFxuICAgICAgICAgICAgJi5rLXNlbGVjdGVkIHtcbiAgICAgICAgICAgICAgICBmb250LXdlaWdodDogdmFyKCAtLWtlbmRvLXRhYnN0cmlwLWl0ZW0tc2VsZWN0ZWQtZm9udC13ZWlnaHQsICN7JGtlbmRvLXRhYnN0cmlwLWl0ZW0tc2VsZWN0ZWQtZm9udC13ZWlnaHR9ICk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAuay1pdGVtLWFjdGlvbnMge1xuICAgICAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICAgICAgICB9XG5cbiAgICAgICAgLmstbGluayB7XG4gICAgICAgICAgICBwYWRkaW5nLWlubGluZTogdmFyKCAtLWtlbmRvLXRhYnN0cmlwLWl0ZW0tcGFkZGluZy14LCAjeyRrZW5kby10YWJzdHJpcC1pdGVtLXBhZGRpbmcteH0gKTtcbiAgICAgICAgICAgIHBhZGRpbmctYmxvY2s6IHZhciggLS1rZW5kby10YWJzdHJpcC1pdGVtLXBhZGRpbmcteSwgI3ska2VuZG8tdGFic3RyaXAtaXRlbS1wYWRkaW5nLXl9ICk7XG4gICAgICAgICAgICBjb2xvcjogaW5oZXJpdDtcbiAgICAgICAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICAgICAgICAgICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgICAgICAgICAgIGZsZXg6IDEgMSBhdXRvO1xuICAgICAgICAgICAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgICAgICAgICAgIGFsaWduLWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgIH1cblxuXG4gICAgICAgIC8vIERpc2FibGVkIHN0YXRlXG4gICAgICAgIC5rLWl0ZW0uay1kaXNhYmxlZCxcbiAgICAgICAgLmstaXRlbVtkaXNhYmxlZF0ge1xuICAgICAgICAgICAgb3BhY2l0eTogJGtlbmRvLXRhYnN0cmlwLWl0ZW0tZGlzYWJsZWQtb3BhY2l0eTtcbiAgICAgICAgICAgIGZpbHRlcjogJGtlbmRvLXRhYnN0cmlwLWl0ZW0tZGlzYWJsZWQtZmlsdGVyO1xuICAgICAgICB9XG4gICAgfVxuXG5cbiAgICAvLyBUYWJzdHJpcCBjb250ZW50XG4gICAgLmstdGFic3RyaXAtY29udGVudCxcbiAgICAuay10YWJzdHJpcCA+IC5rLWNvbnRlbnQge1xuICAgICAgICBtYXJnaW46IDAgIWltcG9ydGFudDsgLy8gc3R5bGVsaW50LWRpc2FibGUtbGluZSBkZWNsYXJhdGlvbi1uby1pbXBvcnRhbnRcbiAgICAgICAgcGFkZGluZy1pbmxpbmU6IHZhciggLS1rZW5kby10YWJzdHJpcC1jb250ZW50LXBhZGRpbmcteCwgI3ska2VuZG8tdGFic3RyaXAtY29udGVudC1wYWRkaW5nLXh9ICk7XG4gICAgICAgIHBhZGRpbmctYmxvY2s6IHZhciggLS1rZW5kby10YWJzdHJpcC1jb250ZW50LXBhZGRpbmcteSwgI3ska2VuZG8tdGFic3RyaXAtY29udGVudC1wYWRkaW5nLXl9ICk7XG4gICAgICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgICAgIGJvcmRlci13aWR0aDogMDtcbiAgICAgICAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiBpbmhlcml0O1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICBvdmVyZmxvdzogYXV0bztcbiAgICAgICAgZmxleDogMSAxIGF1dG87XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAgICAgICAmOmFjdGl2ZSxcbiAgICAgICAgJi5rLWFjdGl2ZSB7XG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgfVxuICAgIH1cblxuXG4gICAgLy8gTG9hZGluZyBpbmRpY2F0b3JcbiAgICAuay10YWJzdHJpcC1pdGVtcyAuay1sb2FkaW5nIHtcbiAgICAgICAgd2lkdGg6IDIwJTtcbiAgICAgICAgaGVpZ2h0OiAwO1xuICAgICAgICBib3JkZXI6IDA7XG4gICAgICAgIGJvcmRlci10b3A6IDFweCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiBpbmhlcml0O1xuICAgICAgICBiYWNrZ3JvdW5kOiBub25lO1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHRvcDogMDtcbiAgICAgICAgbGVmdDogMDtcbiAgICAgICAgdHJhbnNpdGlvbjogd2lkdGggLjJzIGxpbmVhcjtcblxuICAgICAgICAvLyBUT0RPOiBhIGJldHRlciBuYW1lXG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG5cbiAgICAgICAgJi5rLWNvbXBsZXRlIHtcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgYm9yZGVyLXRvcC13aWR0aDogMDtcbiAgICAgICAgfVxuICAgIH1cblxuXG4gICAgLy8gU2Nyb2xsaW5nXG4gICAgLmstdGFic3RyaXAtc2Nyb2xsYWJsZSB7XG4gICAgICAgID4gLmstdGFic3RyaXAtaXRlbXMtd3JhcHBlciB7XG4gICAgICAgICAgICA+IC5rLXRhYnN0cmlwLWl0ZW1zIHtcbiAgICAgICAgICAgICAgICBmbGV4LXdyYXA6IG5vd3JhcDtcbiAgICAgICAgICAgICAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICAgICAgICAgICAgICAgIG92ZXJmbG93OiBoaWRkZW47XG5cbiAgICAgICAgICAgICAgICAmLmstdGFic3RyaXAtaXRlbXMtc2Nyb2xsIHtcbiAgICAgICAgICAgICAgICAgICAgc2Nyb2xsYmFyLXdpZHRoOiBub25lO1xuXG4gICAgICAgICAgICAgICAgICAgICY6Oi13ZWJraXQtc2Nyb2xsYmFyIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICYuay10YWJzdHJpcC10b3AsXG4gICAgICAgICAgICAmLmstdGFic3RyaXAtYm90dG9tIHtcbiAgICAgICAgICAgICAgICAuay10YWJzdHJpcC1pdGVtcy5rLXRhYnN0cmlwLWl0ZW1zLXNjcm9sbCB7XG4gICAgICAgICAgICAgICAgICAgIG92ZXJmbG93LXg6IGF1dG87XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAmLmstdGFic3RyaXAtbGVmdCxcbiAgICAgICAgICAgICYuay10YWJzdHJpcC1yaWdodCB7XG4gICAgICAgICAgICAgICAgLmstdGFic3RyaXAtaXRlbXMuay10YWJzdHJpcC1pdGVtcy1zY3JvbGwge1xuICAgICAgICAgICAgICAgICAgICBvdmVyZmxvdy15OiBhdXRvO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5rLXRhYnN0cmlwLXNjcm9sbGFibGUtb3ZlcmxheSB7XG4gICAgICAgIC5rLXRhYnN0cmlwLWl0ZW1zLXdyYXBwZXIge1xuICAgICAgICAgICAgJjo6YmVmb3JlLFxuICAgICAgICAgICAgJjo6YWZ0ZXIge1xuICAgICAgICAgICAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgICAgICB6LWluZGV4OiAzO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgJi5rLXRhYnN0cmlwLXRvcCxcbiAgICAgICAgJi5rLXRhYnN0cmlwLWJvdHRvbSB7XG4gICAgICAgICAgICAuay10YWJzdHJpcC1pdGVtcy13cmFwcGVyIHtcbiAgICAgICAgICAgICAgICAmOjpiZWZvcmUsXG4gICAgICAgICAgICAgICAgJjo6YWZ0ZXIge1xuICAgICAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgICAgICAgICAgICAgIGFzcGVjdC1yYXRpbzogMTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgJjo6YmVmb3JlIHtcbiAgICAgICAgICAgICAgICAgICAgaW5zZXQtaW5saW5lLXN0YXJ0OiAwO1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICY6OmFmdGVyIHtcbiAgICAgICAgICAgICAgICAgICAgaW5zZXQtaW5saW5lLWVuZDogMDtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAmLmstdGFic3RyaXAtbGVmdCxcbiAgICAgICAgJi5rLXRhYnN0cmlwLXJpZ2h0IHtcbiAgICAgICAgICAgIC5rLXRhYnN0cmlwLWl0ZW1zLXdyYXBwZXIge1xuICAgICAgICAgICAgICAgICY6OmJlZm9yZSxcbiAgICAgICAgICAgICAgICAmOjphZnRlciB7XG4gICAgICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAmOjpiZWZvcmUge1xuICAgICAgICAgICAgICAgICAgICBpbnNldC1ibG9jay1zdGFydDogMDtcbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAmOjphZnRlciB7XG4gICAgICAgICAgICAgICAgICAgIGluc2V0LWJsb2NrLWVuZDogMDtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAmLmstdGFic3RyaXAtc2Nyb2xsYWJsZS1zdGFydCB7XG4gICAgICAgICAgICAuay10YWJzdHJpcC1pdGVtcy13cmFwcGVyIHtcbiAgICAgICAgICAgICAgICAmOjpiZWZvcmUge1xuICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgICYuay10YWJzdHJpcC1zY3JvbGxhYmxlLWVuZCB7XG4gICAgICAgICAgICAuay10YWJzdHJpcC1pdGVtcy13cmFwcGVyIHtcbiAgICAgICAgICAgICAgICAmOjphZnRlciB7XG4gICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgLy8gVGFic3RyaXAgb3JpZW50YXRpb25cbiAgICAuay10YWJzdHJpcC1ob3Jpem9udGFsIHtcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgICB9XG4gICAgLmstdGFic3RyaXAtdmVydGljYWwge1xuICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIH1cblxuXG4gICAgLy8gVGFic3RyaXAgcG9zaXRpb25cbiAgICAuay10YWJzdHJpcC10b3Age1xuICAgICAgICA+IC5rLXRhYnN0cmlwLWl0ZW1zLXdyYXBwZXIge1xuICAgICAgICAgICAgQGV4dGVuZCAuay10YWJzdHJpcC1ob3Jpem9udGFsICFvcHRpb25hbDtcbiAgICAgICAgICAgIGJvcmRlci1ib3R0b20td2lkdGg6IHZhciggLS1rZW5kby10YWJzdHJpcC1ib3JkZXItd2lkdGgsICN7JGtlbmRvLXRhYnN0cmlwLWJvcmRlci13aWR0aH0gKTtcblxuICAgICAgICAgICAgLmstaXRlbSB7XG4gICAgICAgICAgICAgICAgbWFyZ2luLWJsb2NrLWVuZDogY2FsYyggdmFyKCAtLWtlbmRvLXRhYnN0cmlwLWJvcmRlci13aWR0aCwgI3ska2VuZG8tdGFic3RyaXAtYm9yZGVyLXdpZHRofSApICogLTEgKTtcblxuICAgICAgICAgICAgICAgIC5rLWxpbmsge1xuICAgICAgICAgICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgfVxuICAgIH1cbiAgICAuay10YWJzdHJpcC1ib3R0b20ge1xuICAgICAgICA+IC5rLXRhYnN0cmlwLWl0ZW1zLXdyYXBwZXIge1xuICAgICAgICAgICAgQGV4dGVuZCAuay10YWJzdHJpcC1ob3Jpem9udGFsICFvcHRpb25hbDtcbiAgICAgICAgICAgIGJvcmRlci10b3Atd2lkdGg6IHZhciggLS1rZW5kby10YWJzdHJpcC1ib3JkZXItd2lkdGgsICN7JGtlbmRvLXRhYnN0cmlwLWJvcmRlci13aWR0aH0gKTtcblxuICAgICAgICAgICAgLmstaXRlbSB7XG4gICAgICAgICAgICAgICAgbWFyZ2luLWJsb2NrLXN0YXJ0OiBjYWxjKCB2YXIoIC0ta2VuZG8tdGFic3RyaXAtYm9yZGVyLXdpZHRoLCAjeyRrZW5kby10YWJzdHJpcC1ib3JkZXItd2lkdGh9ICkgKiAtMSApO1xuXG4gICAgICAgICAgICAgICAgLmstbGluayB7XG4gICAgICAgICAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbiAgICAuay10YWJzdHJpcC1sZWZ0IHtcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IHJvdztcblxuICAgICAgICA+IC5rLXRhYnN0cmlwLWl0ZW1zLXdyYXBwZXIge1xuICAgICAgICAgICAgQGV4dGVuZCAuay10YWJzdHJpcC12ZXJ0aWNhbCAhb3B0aW9uYWw7XG4gICAgICAgICAgICBib3JkZXItcmlnaHQtd2lkdGg6IHZhciggLS1rZW5kby10YWJzdHJpcC1ib3JkZXItd2lkdGgsICN7JGtlbmRvLXRhYnN0cmlwLWJvcmRlci13aWR0aH0gKTtcblxuICAgICAgICAgICAgPiAuay10YWJzdHJpcC1pdGVtcyB7XG4gICAgICAgICAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLmstaXRlbSB7XG4gICAgICAgICAgICAgICAgbWFyZ2luLWlubGluZS1lbmQ6IGNhbGMoIHZhciggLS1rZW5kby10YWJzdHJpcC1ib3JkZXItd2lkdGgsICN7JGtlbmRvLXRhYnN0cmlwLWJvcmRlci13aWR0aH0gKSAqIC0xICk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgIH1cbiAgICAuay10YWJzdHJpcC1yaWdodCB7XG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3ctcmV2ZXJzZTtcblxuICAgICAgICA+IC5rLXRhYnN0cmlwLWl0ZW1zLXdyYXBwZXIge1xuICAgICAgICAgICAgQGV4dGVuZCAuay10YWJzdHJpcC12ZXJ0aWNhbCAhb3B0aW9uYWw7XG4gICAgICAgICAgICBib3JkZXItbGVmdC13aWR0aDogdmFyKCAtLWtlbmRvLXRhYnN0cmlwLWJvcmRlci13aWR0aCwgI3ska2VuZG8tdGFic3RyaXAtYm9yZGVyLXdpZHRofSApO1xuXG4gICAgICAgICAgICA+IC5rLXRhYnN0cmlwLWl0ZW1zIHtcbiAgICAgICAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAuay1pdGVtIHtcbiAgICAgICAgICAgICAgICBtYXJnaW4taW5saW5lLXN0YXJ0OiBjYWxjKCB2YXIoIC0ta2VuZG8tdGFic3RyaXAtYm9yZGVyLXdpZHRoLCAjeyRrZW5kby10YWJzdHJpcC1ib3JkZXItd2lkdGh9ICkgKiAtMSApO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG5cbiAgICAvLyBUYWJzdHJpcCBhbGlnblxuICAgIC5rLXRhYnN0cmlwLWl0ZW1zLXN0YXJ0IHtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0O1xuICAgIH1cbiAgICAuay10YWJzdHJpcC1pdGVtcy1jZW50ZXIge1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICB9XG4gICAgLmstdGFic3RyaXAtaXRlbXMtZW5kIHtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDtcbiAgICB9XG4gICAgLmstdGFic3RyaXAtaXRlbXMtanVzdGlmeSB7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgICB9XG4gICAgLmstdGFic3RyaXAtaXRlbXMtc3RyZXRjaGVkID4gKiB7XG4gICAgICAgIGZsZXg6IDEgMCAwO1xuICAgIH1cblxuICAgIC8vIFNlbGVjdGVkIGluZGljYXRvclxuICAgIEBpZiAoJGtlbmRvLXRhYnN0cmlwLWluZGljYXRvci1zaXplKSB7XG5cbiAgICAgICAgLmstdGFic3RyaXAtaXRlbXMtd3JhcHBlciB7XG5cbiAgICAgICAgICAgIC5rLWl0ZW06OmFmdGVyIHtcbiAgICAgICAgICAgICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgICAgICAgICAgIGJvcmRlci13aWR0aDogMDtcbiAgICAgICAgICAgICAgICBib3JkZXItc3R5bGU6IHNvbGlkO1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgICAgICB6LWluZGV4OiAyO1xuICAgICAgICAgICAgICAgIHRvcDogMDtcbiAgICAgICAgICAgICAgICByaWdodDogMDtcbiAgICAgICAgICAgICAgICBib3R0b206IDA7XG4gICAgICAgICAgICAgICAgbGVmdDogMDtcbiAgICAgICAgICAgICAgICBvcGFjaXR5OiAwO1xuICAgICAgICAgICAgICAgIHRyYW5zZm9ybTogc2NhbGVZKDApO1xuICAgICAgICAgICAgICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICAgICAgICAgICAgICAgIHRyYW5zaXRpb246IG9wYWNpdHkgLjNzLCB0cmFuc2Zvcm0gLjNzO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgLmstaXRlbTphY3RpdmU6OmFmdGVyLFxuICAgICAgICAgICAgLmstaXRlbS5rLWFjdGl2ZTo6YWZ0ZXIsXG4gICAgICAgICAgICAuay1pdGVtLmstc2VsZWN0ZWQ6OmFmdGVyIHtcbiAgICAgICAgICAgICAgICBvcGFjaXR5OiAxO1xuICAgICAgICAgICAgICAgIHRyYW5zZm9ybTogc2NhbGVZKDEpO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAuay1pdGVtID4gLmstbGluayB7XG4gICAgICAgICAgICAgICAgei1pbmRleDogMTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG5cbiAgICAgICAgLy8gVmFyaWFudHNcbiAgICAgICAgLmstdGFic3RyaXAtdG9wID4gLmstdGFic3RyaXAtaXRlbXMtd3JhcHBlciAuay1pdGVtOjphZnRlciB7XG4gICAgICAgICAgICBib3JkZXItYm90dG9tLXdpZHRoOiB2YXIoIC0ta2VuZG8tdGFic3RyaXAtaW5kaWNhdG9yLXNpemUsICN7JGtlbmRvLXRhYnN0cmlwLWluZGljYXRvci1zaXplfSApO1xuICAgICAgICB9XG4gICAgICAgIC5rLXRhYnN0cmlwLWJvdHRvbSA+IC5rLXRhYnN0cmlwLWl0ZW1zLXdyYXBwZXIgLmstaXRlbTo6YWZ0ZXIge1xuICAgICAgICAgICAgYm9yZGVyLXRvcC13aWR0aDogdmFyKCAtLWtlbmRvLXRhYnN0cmlwLWluZGljYXRvci1zaXplLCAjeyRrZW5kby10YWJzdHJpcC1pbmRpY2F0b3Itc2l6ZX0gKTtcbiAgICAgICAgfVxuICAgICAgICAuay10YWJzdHJpcC1sZWZ0ID4gLmstdGFic3RyaXAtaXRlbXMtd3JhcHBlciAuay1pdGVtOjphZnRlciB7XG4gICAgICAgICAgICBib3JkZXItcmlnaHQtd2lkdGg6IHZhciggLS1rZW5kby10YWJzdHJpcC1pbmRpY2F0b3Itc2l6ZSwgI3ska2VuZG8tdGFic3RyaXAtaW5kaWNhdG9yLXNpemV9ICk7XG4gICAgICAgIH1cbiAgICAgICAgLmstdGFic3RyaXAtcmlnaHQgPiAuay10YWJzdHJpcC1pdGVtcy13cmFwcGVyIC5rLWl0ZW06OmFmdGVyIHtcbiAgICAgICAgICAgIGJvcmRlci1sZWZ0LXdpZHRoOiB2YXIoIC0ta2VuZG8tdGFic3RyaXAtaW5kaWNhdG9yLXNpemUsICN7JGtlbmRvLXRhYnN0cmlwLWluZGljYXRvci1zaXplfSApO1xuICAgICAgICB9XG5cblxuICAgICAgICAvLyBIaWRlIHRhYnN0cmlwIGluZGljYXRvciB3aGVuIGRyYWdnaW5nXG4gICAgICAgIC5rLXRhYnN0cmlwLWl0ZW1zLXdyYXBwZXIgLmstaXRlbS5rLXRhYnN0cmlwLWRyYWdnaW5nIHtcbiAgICAgICAgICAgICY6OmFmdGVyIHtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IC8vIHN0eWxlbGludC1kaXNhYmxlLWxpbmUgZGVjbGFyYXRpb24tbm8taW1wb3J0YW50XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgIH1cblxuXG4gICAgLy8gUlRMXG4gICAgLmstcnRsIC5rLXRhYnN0cmlwLFxuICAgIC5rLXRhYnN0cmlwW2Rpcj1cInJ0bFwiXSB7XG5cbiAgICAgICAgJi5rLXRhYnN0cmlwLWxlZnQsXG4gICAgICAgICYuay10YWJzdHJpcC1yaWdodCB7XG4gICAgICAgICAgICA+IC5rLXRhYnN0cmlwLWl0ZW1zLXdyYXBwZXIge1xuICAgICAgICAgICAgICAgIG9yZGVyOiAxO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICA+IC5rLWNvbnRlbnQgeyBvcmRlcjogMDsgfVxuICAgICAgICAgICAgPiAuay10YWJzdHJpcC1jb250ZW50IHsgb3JkZXI6IDA7IH1cbiAgICAgICAgfVxuXG4gICAgfVxuXG4gICAgIC8vIFRhYlN0cmlwIHNpemVzXG4gICAgIEBlYWNoICRzaXplLCAkc2l6ZS1wcm9wcyBpbiAka2VuZG8tdGFic3RyaXAtc2l6ZXMge1xuICAgICAgICAkX2ZvbnQtc2l6ZTogbWFwLmdldCggJHNpemUtcHJvcHMsIGZvbnQtc2l6ZSApO1xuICAgICAgICAkX2xpbmUtaGVpZ2h0OiBtYXAuZ2V0KCAkc2l6ZS1wcm9wcywgbGluZS1oZWlnaHQgKTtcbiAgICAgICAgJF9pdGVtLXBhZGRpbmcteDogbWFwLmdldCggJHNpemUtcHJvcHMsIGl0ZW0tcGFkZGluZy14ICk7XG4gICAgICAgICRfaXRlbS1wYWRkaW5nLXk6IG1hcC5nZXQoICRzaXplLXByb3BzLCBpdGVtLXBhZGRpbmcteSApO1xuXG4gICAgICAgIC5rLXRhYnN0cmlwLSN7JHNpemV9IHtcbiAgICAgICAgICAgIC5rLXRhYnN0cmlwLWl0ZW1zIC5rLWxpbmsge1xuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogJF9mb250LXNpemU7XG4gICAgICAgICAgICAgICAgbGluZS1oZWlnaHQ6ICRfbGluZS1oZWlnaHQ7XG4gICAgICAgICAgICAgICAgcGFkZGluZy1ibG9jazogJF9pdGVtLXBhZGRpbmcteTtcbiAgICAgICAgICAgICAgICBwYWRkaW5nLWlubGluZTogJF9pdGVtLXBhZGRpbmcteDtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgOmlzKCYuay10YWJzdHJpcC1sZWZ0LCAmLmstdGFic3RyaXAtcmlnaHQpOmlzKC5rLXRhYnN0cmlwLXNjcm9sbGFibGUtb3ZlcmxheSkgOmlzKC5rLXRhYnN0cmlwLWl0ZW1zLXdyYXBwZXIpe1xuICAgICAgICAgICAgICAgICY6OmJlZm9yZSxcbiAgICAgICAgICAgICAgICAmOjphZnRlciB7XG4gICAgICAgICAgICAgICAgICAgIGhlaWdodDogY2FsYyggKCRfbGluZS1oZWlnaHQgKiAxZW0pICsgKCRrZW5kby10YWJzdHJpcC1ib3JkZXItd2lkdGggKiAyKSArICgkX2l0ZW0tcGFkZGluZy15ICogMikgKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbn1cbiIsIkB1c2UgXCJzYXNzOm1hcFwiO1xuQHVzZSBcIi4uL2NvcmUvX2luZGV4LnNjc3NcIiBhcyAqO1xuQHVzZSBcIi4uL2xpc3QvX3ZhcmlhYmxlcy5zY3NzXCIgYXMgKjtcbkB1c2UgXCIuLi9jb3JlL3NwYWNpbmcvX2luZGV4LnNjc3NcIiBhcyAqO1xuXG4vLy8gVGhlIGhvcml6b250YWwgcGFkZGluZyBvZiB0aGUgVGFiU3RyaXAgd3JhcHBlci5cbi8vLyBAZ3JvdXAgdGFic3RyaXBcbiRrZW5kby10YWJzdHJpcC13cmFwcGVyLXBhZGRpbmcteDogay1zcGFjaW5nKDApICFkZWZhdWx0O1xuLy8vIFRoZSB2ZXJ0aWNhbCBwYWRkaW5nIG9mIHRoZSBUYWJTdHJpcCB3cmFwcGVyLlxuLy8vIEBncm91cCB0YWJzdHJpcFxuJGtlbmRvLXRhYnN0cmlwLXdyYXBwZXItcGFkZGluZy15OiBrLXNwYWNpbmcoMCkgIWRlZmF1bHQ7XG4vLy8gVGhlIGJvcmRlciB3aWR0aCBhcm91bmQgdGhlIFRhYlN0cmlwIHdyYXBwZXIuXG4vLy8gQGdyb3VwIHRhYnN0cmlwXG4ka2VuZG8tdGFic3RyaXAtd3JhcHBlci1ib3JkZXItd2lkdGg6IDBweCAhZGVmYXVsdDtcbi8vLyBUaGUgYmFja2dyb3VuZCBjb2xvciBvZiB0aGUgVGFiU3RyaXAgd3JhcHBlci5cbi8vLyBAZ3JvdXAgdGFic3RyaXBcbiRrZW5kby10YWJzdHJpcC13cmFwcGVyLWJnOiB0cmFuc3BhcmVudCAhZGVmYXVsdDtcbi8vLyBUaGUgdGV4dCBjb2xvciBvZiB0aGUgVGFiU3RyaXAgd3JhcHBlci5cbi8vLyBAZ3JvdXAgdGFic3RyaXBcbiRrZW5kby10YWJzdHJpcC13cmFwcGVyLXRleHQ6IGluaXRpYWwgIWRlZmF1bHQ7XG4vLy8gVGhlIGJvcmRlciBjb2xvciBvZiB0aGUgVGFiU3RyaXAgd3JhcHBlci5cbi8vLyBAZ3JvdXAgdGFic3RyaXBcbiRrZW5kby10YWJzdHJpcC13cmFwcGVyLWJvcmRlcjogaW5pdGlhbCAhZGVmYXVsdDtcblxuLy8vIFRoZSBmb250IGZhbWlseSBvZiB0aGUgVGFiU3RyaXAuXG4vLy8gQGdyb3VwIHRhYnN0cmlwXG4ka2VuZG8tdGFic3RyaXAtZm9udC1mYW1pbHk6IHZhciggLS1rZW5kby1mb250LWZhbWlseSwgaW5oZXJpdCApICFkZWZhdWx0O1xuLy8vIFRoZSBmb250IHNpemUgb2YgdGhlIFRhYlN0cmlwLlxuLy8vIEBncm91cCB0YWJzdHJpcFxuJGtlbmRvLXRhYnN0cmlwLWZvbnQtc2l6ZTogdmFyKCAtLWtlbmRvLWZvbnQtc2l6ZSwgaW5oZXJpdCApICFkZWZhdWx0O1xuLy8vIFRoZSBsaW5lIGhlaWdodCBvZiB0aGUgVGFiU3RyaXAuXG4vLy8gQGdyb3VwIHRhYnN0cmlwXG4ka2VuZG8tdGFic3RyaXAtbGluZS1oZWlnaHQ6IHZhciggLS1rZW5kby1saW5lLWhlaWdodCwgbm9ybWFsICkgIWRlZmF1bHQ7XG4vLy8gVGhlIGJvcmRlciB3aWR0aCBhcm91bmQgdGhlIFRhYlN0cmlwLlxuLy8vIEBncm91cCB0YWJzdHJpcFxuJGtlbmRvLXRhYnN0cmlwLWJvcmRlci13aWR0aDogMHB4ICFkZWZhdWx0O1xuXG4vLy8gVGhlIGZvbnQgc2l6ZSBvZiB0aGUgc21hbGwgVGFiU3RyaXAuXG4vLy8gQGdyb3VwIHRhYnN0cmlwXG4ka2VuZG8tdGFic3RyaXAtc20tZm9udC1zaXplOiAka2VuZG8tdGFic3RyaXAtZm9udC1zaXplICFkZWZhdWx0O1xuLy8vIFRoZSBsaW5lIGhlaWdodCBvZiB0aGUgc21hbGwgVGFiU3RyaXAuXG4vLy8gQGdyb3VwIHRhYnN0cmlwXG4ka2VuZG8tdGFic3RyaXAtc20tbGluZS1oZWlnaHQ6ICRrZW5kby10YWJzdHJpcC1saW5lLWhlaWdodCAhZGVmYXVsdDtcbi8vLyBUaGUgZm9udCBzaXplIG9mIHRoZSBtZWRpdW0gVGFiU3RyaXAuXG4vLy8gQGdyb3VwIHRhYnN0cmlwXG4ka2VuZG8tdGFic3RyaXAtbWQtZm9udC1zaXplOiAka2VuZG8tdGFic3RyaXAtZm9udC1zaXplICFkZWZhdWx0O1xuLy8vIFRoZSBsaW5lIGhlaWdodCBvZiB0aGUgbWVkaXVtIFRhYlN0cmlwLlxuLy8vIEBncm91cCB0YWJzdHJpcFxuJGtlbmRvLXRhYnN0cmlwLW1kLWxpbmUtaGVpZ2h0OiAka2VuZG8tdGFic3RyaXAtbGluZS1oZWlnaHQgIWRlZmF1bHQ7XG4vLy8gVGhlIGZvbnQgc2l6ZSBvZiB0aGUgbGFyZ2UgVGFiU3RyaXAuXG4vLy8gQGdyb3VwIHRhYnN0cmlwXG4ka2VuZG8tdGFic3RyaXAtbGctZm9udC1zaXplOiAka2VuZG8tdGFic3RyaXAtZm9udC1zaXplICFkZWZhdWx0O1xuLy8vIFRoZSBsaW5lIGhlaWdodCBvZiB0aGUgbGFyZ2UgVGFiU3RyaXAuXG4vLy8gQGdyb3VwIHRhYnN0cmlwXG4ka2VuZG8tdGFic3RyaXAtbGctbGluZS1oZWlnaHQ6ICRrZW5kby10YWJzdHJpcC1saW5lLWhlaWdodCAhZGVmYXVsdDtcblxuLy8vIFRoZSBiYWNrZ3JvdW5kIGNvbG9yIG9mIHRoZSBUYWJTdHJpcC5cbi8vLyBAZ3JvdXAgdGFic3RyaXBcbiRrZW5kby10YWJzdHJpcC1iZzogdHJhbnNwYXJlbnQgIWRlZmF1bHQ7XG4vLy8gVGhlIHRleHQgY29sb3Igb2YgdGhlIFRhYlN0cmlwLlxuLy8vIEBncm91cCB0YWJzdHJpcFxuJGtlbmRvLXRhYnN0cmlwLXRleHQ6IHZhciggLS1rZW5kby1jb21wb25lbnQtdGV4dCwgaW5pdGlhbCApICFkZWZhdWx0O1xuLy8vIFRoZSBib3JkZXIgY29sb3Igb2YgdGhlIFRhYlN0cmlwLlxuLy8vIEBncm91cCB0YWJzdHJpcFxuJGtlbmRvLXRhYnN0cmlwLWJvcmRlcjogdHJhbnNwYXJlbnQgIWRlZmF1bHQ7XG5cbi8vLyBUaGUgaG9yaXpvbnRhbCBwYWRkaW5nIG9mIHRoZSBUYWJTdHJpcCBpdGVtcy5cbi8vLyBAZ3JvdXAgdGFic3RyaXBcbiRrZW5kby10YWJzdHJpcC1pdGVtLXBhZGRpbmcteDogay1zcGFjaW5nKDIpICFkZWZhdWx0O1xuLy8vIFRoZSB2ZXJ0aWNhbCBwYWRkaW5nIG9mIHRoZSBUYWJTdHJpcCBpdGVtcy5cbi8vLyBAZ3JvdXAgdGFic3RyaXBcbiRrZW5kby10YWJzdHJpcC1pdGVtLXBhZGRpbmcteTogay1zcGFjaW5nKDMpICFkZWZhdWx0O1xuLy8vIFRoZSBib3JkZXIgd2lkdGggYXJvdW5kIHRoZSBUYWJTdHJpcCBpdGVtcy5cbi8vLyBAZ3JvdXAgdGFic3RyaXBcbiRrZW5kby10YWJzdHJpcC1pdGVtLWJvcmRlci13aWR0aDogMHB4ICFkZWZhdWx0O1xuLy8vIFRoZSBib3JkZXIgcmFkaXVzIG9mIHRoZSBUYWJTdHJpcCBpdGVtcy5cbi8vLyBAZ3JvdXAgdGFic3RyaXBcbiRrZW5kby10YWJzdHJpcC1pdGVtLWJvcmRlci1yYWRpdXM6IGstYm9yZGVyLXJhZGl1cyhtZCkgIWRlZmF1bHQ7XG4vLy8gVGhlIGdhcCBiZXR3ZWVuIHRoZSBUYWJTdHJpcCBpdGVtcy5cbi8vLyBAZ3JvdXAgdGFic3RyaXBcbiRrZW5kby10YWJzdHJpcC1pdGVtLWdhcDogay1zcGFjaW5nKDIpICFkZWZhdWx0O1xuXG4vLy8gVGhlIGhvcml6b250YWwgcGFkZGluZyBvZiB0aGUgc21hbGwgVGFiU3RyaXAgaXRlbXMuXG4vLy8gQGdyb3VwIHRhYnN0cmlwXG4ka2VuZG8tdGFic3RyaXAtc20taXRlbS1wYWRkaW5nLXg6IGstc3BhY2luZygyKSAhZGVmYXVsdDtcbi8vLyBUaGUgdmVydGljYWwgcGFkZGluZyBvZiB0aGUgc21hbGwgVGFiU3RyaXAgaXRlbXMuXG4vLy8gQGdyb3VwIHRhYnN0cmlwXG4ka2VuZG8tdGFic3RyaXAtc20taXRlbS1wYWRkaW5nLXk6IGstc3BhY2luZygyLjUpICFkZWZhdWx0O1xuLy8vIFRoZSBob3Jpem9udGFsIHBhZGRpbmcgb2YgdGhlIG1lZGl1bSBUYWJTdHJpcCBpdGVtcy5cbi8vLyBAZ3JvdXAgdGFic3RyaXBcbiRrZW5kby10YWJzdHJpcC1tZC1pdGVtLXBhZGRpbmcteDogJGtlbmRvLXRhYnN0cmlwLWl0ZW0tcGFkZGluZy14ICFkZWZhdWx0O1xuLy8vIFRoZSB2ZXJ0aWNhbCBwYWRkaW5nIG9mIHRoZSBtZWRpdW0gVGFiU3RyaXAgaXRlbXMuXG4vLy8gQGdyb3VwIHRhYnN0cmlwXG4ka2VuZG8tdGFic3RyaXAtbWQtaXRlbS1wYWRkaW5nLXk6ICRrZW5kby10YWJzdHJpcC1pdGVtLXBhZGRpbmcteSAhZGVmYXVsdDtcbi8vLyBUaGUgaG9yaXpvbnRhbCBwYWRkaW5nIG9mIHRoZSBsYXJnZSBUYWJTdHJpcCBpdGVtcy5cbi8vLyBAZ3JvdXAgdGFic3RyaXBcbiRrZW5kby10YWJzdHJpcC1sZy1pdGVtLXBhZGRpbmcteDogay1zcGFjaW5nKDIpICFkZWZhdWx0O1xuLy8vIFRoZSB2ZXJ0aWNhbCBwYWRkaW5nIG9mIHRoZSBsYXJnZSBUYWJTdHJpcCBpdGVtcy5cbi8vLyBAZ3JvdXAgdGFic3RyaXBcbiRrZW5kby10YWJzdHJpcC1sZy1pdGVtLXBhZGRpbmcteTogay1zcGFjaW5nKDMuNSkgIWRlZmF1bHQ7XG5cbi8vLyAgVGhlIGJhY2tncm91bmQgY29sb3Igb2YgdGhlIFRhYlN0cmlwIGl0ZW1zLlxuLy8vIEBncm91cCB0YWJzdHJpcFxuJGtlbmRvLXRhYnN0cmlwLWl0ZW0tYmc6IHRyYW5zcGFyZW50ICFkZWZhdWx0O1xuLy8vIFRoZSB0ZXh0IGNvbG9yIG9mIHRoZSBUYWJTdHJpcCBpdGVtcy5cbi8vLyBAZ3JvdXAgdGFic3RyaXBcbiRrZW5kby10YWJzdHJpcC1pdGVtLXRleHQ6IHZhciggLS1rZW5kby1jb21wb25lbnQtdGV4dCwgaW5pdGlhbCApICFkZWZhdWx0O1xuLy8vIFRoZSBib3JkZXIgY29sb3Igb2YgdGhlIFRhYlN0cmlwIGl0ZW1zLlxuLy8vIEBncm91cCB0YWJzdHJpcFxuJGtlbmRvLXRhYnN0cmlwLWl0ZW0tYm9yZGVyOiB0cmFuc3BhcmVudCAhZGVmYXVsdDtcbi8vLyBUaGUgdGV4dCBjb2xvciBvZiB0aGUgZGlzYWJsZWQgVGFiU3RyaXAgaXRlbXMuXG4vLy8gQGdyb3VwIHRhYnN0cmlwXG4ka2VuZG8tdGFic3RyaXAtaXRlbS1kaXNhYmxlZC10ZXh0OiB2YXIoIC0ta2VuZG8tZGlzYWJsZWQtdGV4dCwgaW5pdGlhbCApICFkZWZhdWx0O1xuLy8vIFRoZSBiYWNrZ3JvdW5kIGNvbG9yIG9mIHRoZSBkaXNhYmxlZCBUYWJTdHJpcCBpdGVtcy5cbi8vLyBAZ3JvdXAgdGFic3RyaXBcbiRrZW5kby10YWJzdHJpcC1pdGVtLWRpc2FibGVkLWJnOiBub25lICFkZWZhdWx0O1xuLy8vIFRoZSBib3JkZXIgY29sb3Igb2YgdGhlIGRpc2FibGVkIFRhYlN0cmlwIGl0ZW1zLlxuLy8vIEBncm91cCB0YWJzdHJpcFxuJGtlbmRvLXRhYnN0cmlwLWl0ZW0tZGlzYWJsZWQtYm9yZGVyOiB2YXIoIC0ta2VuZG8tZGlzYWJsZWQtYm9yZGVyLCBpbml0aWFsICkgIWRlZmF1bHQ7XG4vLy8gVGhlIG9wYWNpdHkgb2YgdGhlIGRpc2FibGVkIFRhYlN0cmlwIGl0ZW1zLlxuLy8vIEBncm91cCB0YWJzdHJpcFxuJGtlbmRvLXRhYnN0cmlwLWl0ZW0tZGlzYWJsZWQtb3BhY2l0eTogbnVsbCAhZGVmYXVsdDtcbi8vLyBUaGUgZmlsdGVyIG9mIHRoZSBkaXNhYmxlZCBUYWJTdHJpcCBpdGVtcy5cbi8vLyBAZ3JvdXAgdGFic3RyaXBcbiRrZW5kby10YWJzdHJpcC1pdGVtLWRpc2FibGVkLWZpbHRlcjogbnVsbCAhZGVmYXVsdDtcblxuLy8vIFRoZSBiYWNrZ3JvdW5kIGNvbG9yIG9mIHRoZSBob3ZlcmVkIFRhYlN0cmlwIGl0ZW1zLlxuLy8vIEBncm91cCB0YWJzdHJpcFxuJGtlbmRvLXRhYnN0cmlwLWl0ZW0taG92ZXItYmc6IHZhciggLS1rZW5kby1ob3Zlci1iZywgaW5oZXJpdCApICFkZWZhdWx0O1xuLy8vIFRoZSB0ZXh0IGNvbG9yIG9mIHRoZSBob3ZlcmVkIFRhYlN0cmlwIGl0ZW1zLlxuLy8vIEBncm91cCB0YWJzdHJpcFxuJGtlbmRvLXRhYnN0cmlwLWl0ZW0taG92ZXItdGV4dDogdmFyKCAtLWtlbmRvLWhvdmVyLXRleHQsIGluaGVyaXQgKSAhZGVmYXVsdDtcbi8vLyBUaGUgYm9yZGVyIGNvbG9yIG9mIHRoZSBob3ZlcmVkIFRhYlN0cmlwIGl0ZW1zLlxuLy8vIEBncm91cCB0YWJzdHJpcFxuJGtlbmRvLXRhYnN0cmlwLWl0ZW0taG92ZXItYm9yZGVyOiB2YXIoIC0ta2VuZG8taG92ZXItYmcsIGluaGVyaXQgKSAhZGVmYXVsdDtcbi8vLyBUaGUgYmFja2dyb3VuZCBjb2xvciBvZiB0aGUgc2VsZWN0ZWQgVGFiU3RyaXAgaXRlbXMuXG4vLy8gQGdyb3VwIHRhYnN0cmlwXG4ka2VuZG8tdGFic3RyaXAtaXRlbS1zZWxlY3RlZC1iZzogdmFyKCAtLWtlbmRvLWNvbXBvbmVudC1iZywgdHJhbnNwYXJlbnQgKSAhZGVmYXVsdDtcbi8vLyBUaGUgdGV4dCBjb2xvciBvZiB0aGUgc2VsZWN0ZWQgVGFiU3RyaXAgaXRlbXMuXG4vLy8gQGdyb3VwIHRhYnN0cmlwXG4ka2VuZG8tdGFic3RyaXAtaXRlbS1zZWxlY3RlZC10ZXh0OiBpZigka2VuZG8tZW5hYmxlLWNvbG9yLXN5c3RlbSwgay1jb2xvciggb24tYXBwLXN1cmZhY2UgKSwgay1nZXQtdGhlbWUtY29sb3ItdmFyKCBuZXV0cmFsLTE5MCApKSAhZGVmYXVsdDtcbi8vLyBUaGUgYm9yZGVyIGNvbG9yIG9mIHRoZSBzZWxlY3RlZCBUYWJTdHJpcCBpdGVtcy5cbi8vLyBAZ3JvdXAgdGFic3RyaXBcbiRrZW5kby10YWJzdHJpcC1pdGVtLXNlbGVjdGVkLWJvcmRlcjogaWYoJGtlbmRvLWVuYWJsZS1jb2xvci1zeXN0ZW0sIGstY29sb3IoIHByaW1hcnkgKSwgay1nZXQtdGhlbWUtY29sb3ItdmFyKCBwcmltYXJ5LTEwMCApKSAhZGVmYXVsdDtcbi8vLyBUaGUgZm9udCB3ZWlnaHQgb2YgdGhlIHNlbGVjdGVkIFRhYlN0cmlwIGl0ZW1zLlxuLy8vIEBncm91cCB0YWJzdHJpcFxuJGtlbmRvLXRhYnN0cmlwLWl0ZW0tc2VsZWN0ZWQtZm9udC13ZWlnaHQ6IHZhciggLS1rZW5kby1mb250LXdlaWdodC1ib2xkLCBub3JtYWwgKSAhZGVmYXVsdDtcbi8vLyBUaGUgc2hhZG93IG9mIHRoZSBmb2N1c2VkIFRhYlN0cmlwIGl0ZW1zLlxuLy8vIEBncm91cCB0YWJzdHJpcFxuJGtlbmRvLXRhYnN0cmlwLWl0ZW0tZm9jdXMtc2hhZG93OiAka2VuZG8tbGlzdC1pdGVtLWZvY3VzLXNoYWRvdyAhZGVmYXVsdDtcbi8vLyBUaGUgdGV4dCBjb2xvciBvZiB0aGUgZHJhZ2dlZCBUYWJTdHJpcCBpdGVtcy5cbi8vLyBAZ3JvdXAgdGFic3RyaXBcbiRrZW5kby10YWJzdHJpcC1pdGVtLWRyYWdnaW5nLXRleHQ6IGlmKCRrZW5kby1lbmFibGUtY29sb3Itc3lzdGVtLCBrLWNvbG9yKCBwcmltYXJ5ICksIGstZ2V0LXRoZW1lLWNvbG9yLXZhciggcHJpbWFyeS0xMDAgKSkgIWRlZmF1bHQ7XG5cbi8vIEluZGljYXRvclxuLy8vIFRoZSBib3JkZXIgd2lkdGggb2YgdGhlIFRhYlN0cmlwIGluZGljYXRvci5cbi8vLyBAZ3JvdXAgdGFic3RyaXBcbiRrZW5kby10YWJzdHJpcC1pbmRpY2F0b3Itc2l6ZTogay1zcGFjaW5nKDAuNSkgIWRlZmF1bHQ7XG4vLy8gVGhlIGJvcmRlciBjb2xvciBvZiB0aGUgVGFiU3RyaXAgcmlwcGxlLlxuLy8vIEBncm91cCB0YWJzdHJpcFxuJGtlbmRvLXRhYnN0cmlwLWluZGljYXRvci1jb2xvcjogaWYoJGtlbmRvLWVuYWJsZS1jb2xvci1zeXN0ZW0sIGstY29sb3IoIHByaW1hcnkgKSwgay1nZXQtdGhlbWUtY29sb3ItdmFyKCBwcmltYXJ5LTEwMCApKSAhZGVmYXVsdDtcblxuLy8vIFRoZSBob3Jpem9udGFsIHBhZGRpbmcgb2YgdGhlIFRhYlN0cmlwIGNvbnRlbnQuXG4vLy8gQGdyb3VwIHRhYnN0cmlwXG4ka2VuZG8tdGFic3RyaXAtY29udGVudC1wYWRkaW5nLXg6IGstc3BhY2luZygzKSAhZGVmYXVsdDtcbi8vLyBUaGUgdmVydGljYWwgcGFkZGluZyBvZiB0aGUgVGFiU3RyaXAgY29udGVudC5cbi8vLyBAZ3JvdXAgdGFic3RyaXBcbiRrZW5kby10YWJzdHJpcC1jb250ZW50LXBhZGRpbmcteTogay1zcGFjaW5nKDEuNSkgIWRlZmF1bHQ7XG4vLy8gVGhlIGJvcmRlciB3aWR0aCBhcm91bmQgdGhlIFRhYlN0cmlwIGNvbnRlbnQuXG4vLy8gQGdyb3VwIHRhYnN0cmlwXG4ka2VuZG8tdGFic3RyaXAtY29udGVudC1ib3JkZXItd2lkdGg6IDFweCAhZGVmYXVsdDtcblxuLy8vIFRoZSBiYWNrZ3JvdW5kIGNvbG9yIG9mIHRoZSBUYWJTdHJpcCBjb250ZW50LlxuLy8vIEBncm91cCB0YWJzdHJpcFxuJGtlbmRvLXRhYnN0cmlwLWNvbnRlbnQtYmc6IHZhciggLS1rZW5kby1jb21wb25lbnQtYmcsIHRyYW5zcGFyZW50ICkgIWRlZmF1bHQ7XG4vLy8gVGhlIHRleHQgY29sb3Igb2YgdGhlIFRhYlN0cmlwIGNvbnRlbnQuXG4vLy8gQGdyb3VwIHRhYnN0cmlwXG4ka2VuZG8tdGFic3RyaXAtY29udGVudC10ZXh0OiB2YXIoIC0ta2VuZG8tY29tcG9uZW50LXRleHQsIGluaGVyaXQgKSAhZGVmYXVsdDtcbi8vLyBUaGUgYm9yZGVyIGNvbG9yIG9mIHRoZSBUYWJTdHJpcCBjb250ZW50LlxuLy8vIEBncm91cCB0YWJzdHJpcFxuJGtlbmRvLXRhYnN0cmlwLWNvbnRlbnQtYm9yZGVyOiB0cmFuc3BhcmVudCAhZGVmYXVsdDtcbi8vLyBUaGUgYm9yZGVyIGNvbG9yIG9mIHRoZSBmb2N1c2VkIFRhYlN0cmlwIGNvbnRlbnQuXG4vLy8gQGdyb3VwIHRhYnN0cmlwXG4ka2VuZG8tdGFic3RyaXAtY29udGVudC1mb2N1cy1ib3JkZXI6IHZhciggLS1rZW5kby1jb21wb25lbnQtdGV4dCwgaW5pdGlhbCApICFkZWZhdWx0O1xuXG4vLy8gVGhlIGhvcml6b250YWwgYnV0dG9uIHBhZGRpbmcgb2YgdGhlIHNjcm9sbGFibGUgVGFiU3RyaXAuXG4vLy8gQGdyb3VwIHRhYnN0cmlwXG4ka2VuZG8tdGFic3RyaXAtc2Nyb2xsYWJsZS1idXR0b24tcGFkZGluZy14OiBrLXNwYWNpbmcoMSkgIWRlZmF1bHQ7XG4vLyBUaGUgdmVydGljYWwgYnV0dG9uIHBhZGRpbmcgb2YgdGhlIHNjcm9sbGFibGUgVGFiU3RyaXAuXG4vLy8gQGdyb3VwIHRhYnN0cmlwXG4ka2VuZG8tdGFic3RyaXAtc2Nyb2xsYWJsZS1idXR0b24tcGFkZGluZy15OiBrLXNwYWNpbmcoMSkgIWRlZmF1bHQ7XG5cbi8vLyBUaGUgbGVmdCBhbmQgcmlnaHQgc2Nyb2xsIG92ZXJsYXkgb2YgdGhlIFRhYlN0cmlwLlxuLy8vIEBncm91cCB0YWJzdHJpcFxuJGtlbmRvLXRhYnN0cmlwLXNjcm9sbC1vdmVybGF5OiBpZigka2VuZG8tZW5hYmxlLWNvbG9yLXN5c3RlbSwgay1jb2xvciggYXBwLXN1cmZhY2UgKSwgcmdiYSggJGtlbmRvLWNvbG9yLXdoaXRlLCAwKSksIGlmKCRrZW5kby1lbmFibGUtY29sb3Itc3lzdGVtLCBjb2xvci1taXgoaW4gc3JnYiwgay1jb2xvciggYXBwLXN1cmZhY2UgKSAwJSwgdHJhbnNwYXJlbnQpLCByZ2JhKCAka2VuZG8tY29sb3Itd2hpdGUsIDApKSAhZGVmYXVsdDtcblxuLy8vIFRoZSBzaXplIG1hcCBvZiB0aGUgVGFiU3RyaXAuXG4vLy8gQGdyb3VwIHRhYnN0cmlwXG4ka2VuZG8tdGFic3RyaXAtc2l6ZXM6IChcbiAgICBzbTogKFxuICAgICAgICBmb250LXNpemU6ICRrZW5kby10YWJzdHJpcC1zbS1mb250LXNpemUsXG4gICAgICAgIGxpbmUtaGVpZ2h0OiAka2VuZG8tdGFic3RyaXAtc20tbGluZS1oZWlnaHQsXG4gICAgICAgIGl0ZW0tcGFkZGluZy14OiAka2VuZG8tdGFic3RyaXAtc20taXRlbS1wYWRkaW5nLXgsXG4gICAgICAgIGl0ZW0tcGFkZGluZy15OiAka2VuZG8tdGFic3RyaXAtc20taXRlbS1wYWRkaW5nLXlcbiAgICApLFxuICAgIG1kOiAoXG4gICAgICAgIGZvbnQtc2l6ZTogJGtlbmRvLXRhYnN0cmlwLW1kLWZvbnQtc2l6ZSxcbiAgICAgICAgbGluZS1oZWlnaHQ6ICRrZW5kby10YWJzdHJpcC1tZC1saW5lLWhlaWdodCxcbiAgICAgICAgaXRlbS1wYWRkaW5nLXg6ICRrZW5kby10YWJzdHJpcC1tZC1pdGVtLXBhZGRpbmcteCxcbiAgICAgICAgaXRlbS1wYWRkaW5nLXk6ICRrZW5kby10YWJzdHJpcC1tZC1pdGVtLXBhZGRpbmcteVxuICAgICksXG4gICAgbGc6IChcbiAgICAgICAgZm9udC1zaXplOiAka2VuZG8tdGFic3RyaXAtbGctZm9udC1zaXplLFxuICAgICAgICBsaW5lLWhlaWdodDogJGtlbmRvLXRhYnN0cmlwLWxnLWxpbmUtaGVpZ2h0LFxuICAgICAgICBpdGVtLXBhZGRpbmcteDogJGtlbmRvLXRhYnN0cmlwLWxnLWl0ZW0tcGFkZGluZy14LFxuICAgICAgICBpdGVtLXBhZGRpbmcteTogJGtlbmRvLXRhYnN0cmlwLWxnLWl0ZW0tcGFkZGluZy15XG4gICAgKVxuKSAhZGVmYXVsdDtcbiIsIkB1c2UgXCIuLi9jb3JlL19pbmRleC5zY3NzXCIgYXMgKjtcbkB1c2UgXCIuL192YXJpYWJsZXMuc2Nzc1wiIGFzICo7XG5cbkBtaXhpbiBrZW5kby10YWJzdHJpcC0tdGhlbWUoKSB7XG5cbiAgICAvLyBXcmFwcGVyXG4gICAgLmstdGFic3RyaXAtd3JhcHBlciB7XG4gICAgICAgIEBpbmNsdWRlIGZpbGwoXG4gICAgICAgICAgICB2YXIoIC0ta2VuZG8tdGFic3RyaXAtd3JhcHBlci10ZXh0LCAjeyRrZW5kby10YWJzdHJpcC13cmFwcGVyLXRleHR9ICksXG4gICAgICAgICAgICB2YXIoIC0ta2VuZG8tdGFic3RyaXAtd3JhcHBlci1iZywgI3ska2VuZG8tdGFic3RyaXAtd3JhcHBlci1iZ30gKSxcbiAgICAgICAgICAgIHZhciggLS1rZW5kby10YWJzdHJpcC13cmFwcGVyLWJvcmRlciwgI3ska2VuZG8tdGFic3RyaXAtd3JhcHBlci1ib3JkZXJ9IClcbiAgICAgICAgKTtcbiAgICB9XG5cbiAgICAvLyBJdGVtc1xuICAgIC5rLXRhYnN0cmlwLWl0ZW1zLXdyYXBwZXIge1xuICAgICAgICBAaW5jbHVkZSBmaWxsKFxuICAgICAgICAgICAgdmFyKCAtLWtlbmRvLXRhYnN0cmlwLXRleHQsICN7JGtlbmRvLXRhYnN0cmlwLXRleHR9ICksXG4gICAgICAgICAgICB2YXIoIC0ta2VuZG8tdGFic3RyaXAtYmcsICN7JGtlbmRvLXRhYnN0cmlwLWJnfSApLFxuICAgICAgICAgICAgdmFyKCAtLWtlbmRvLXRhYnN0cmlwLWJvcmRlciwgI3ska2VuZG8tdGFic3RyaXAtYm9yZGVyfSApXG4gICAgICAgICk7XG5cbiAgICAgICAgLmstaXRlbSB7XG4gICAgICAgICAgICBAaW5jbHVkZSBmaWxsKFxuICAgICAgICAgICAgICAgIHZhciggLS1rZW5kby10YWJzdHJpcC1pdGVtLXRleHQsICN7JGtlbmRvLXRhYnN0cmlwLWl0ZW0tdGV4dH0gKSxcbiAgICAgICAgICAgICAgICB2YXIoIC0ta2VuZG8tdGFic3RyaXAtaXRlbS1iZywgI3ska2VuZG8tdGFic3RyaXAtaXRlbS1iZ30gKSxcbiAgICAgICAgICAgICAgICB2YXIoIC0ta2VuZG8tdGFic3RyaXAtaXRlbS1ib3JkZXIsICN7JGtlbmRvLXRhYnN0cmlwLWl0ZW0tYm9yZGVyfSApXG4gICAgICAgICAgICApO1xuXG4gICAgICAgICAgICAmOmhvdmVyLFxuICAgICAgICAgICAgJi5rLWhvdmVyIHtcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBmaWxsKFxuICAgICAgICAgICAgICAgICAgICB2YXIoIC0ta2VuZG8tdGFic3RyaXAtaXRlbS1ob3Zlci10ZXh0LCAjeyRrZW5kby10YWJzdHJpcC1pdGVtLWhvdmVyLXRleHR9ICksXG4gICAgICAgICAgICAgICAgICAgIHZhciggLS1rZW5kby10YWJzdHJpcC1pdGVtLWhvdmVyLWJnLCAjeyRrZW5kby10YWJzdHJpcC1pdGVtLWhvdmVyLWJnfSApLFxuICAgICAgICAgICAgICAgICAgICB2YXIoIC0ta2VuZG8tdGFic3RyaXAtaXRlbS1ob3Zlci1ib3JkZXIsICN7JGtlbmRvLXRhYnN0cmlwLWl0ZW0taG92ZXItYm9yZGVyfSApXG4gICAgICAgICAgICAgICAgKTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgJjpmb2N1cyxcbiAgICAgICAgICAgICYuay1mb2N1cyB7XG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgYm94LXNoYWRvdyggdmFyKCAtLWtlbmRvLXRhYnN0cmlwLWl0ZW0tZm9jdXMtc2hhZG93LCAjeyRrZW5kby10YWJzdHJpcC1pdGVtLWZvY3VzLXNoYWRvd30gKSApO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAmOmFjdGl2ZSxcbiAgICAgICAgICAgICYuay1hY3RpdmUsXG4gICAgICAgICAgICAmLmstc2VsZWN0ZWQge1xuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGZpbGwoXG4gICAgICAgICAgICAgICAgICAgICRjb2xvcjogdmFyKCAtLWtlbmRvLXRhYnN0cmlwLWl0ZW0tc2VsZWN0ZWQtdGV4dCwgI3ska2VuZG8tdGFic3RyaXAtaXRlbS1zZWxlY3RlZC10ZXh0fSApLFxuICAgICAgICAgICAgICAgICAgICAkYmc6IHZhciggLS1rZW5kby10YWJzdHJpcC1pdGVtLXNlbGVjdGVkLWJnLCAjeyRrZW5kby10YWJzdHJpcC1pdGVtLXNlbGVjdGVkLWJnfSApXG4gICAgICAgICAgICAgICAgKTtcblxuICAgICAgICAgICAgICAgICY6aG92ZXIsXG4gICAgICAgICAgICAgICAgJi5rLWhvdmVyIHtcbiAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgZmlsbChcbiAgICAgICAgICAgICAgICAgICAgICAgICRiZzogdmFyKCAtLWtlbmRvLXRhYnN0cmlwLWl0ZW0taG92ZXItYmcsICN7JGtlbmRvLXRhYnN0cmlwLWl0ZW0taG92ZXItYmd9IClcbiAgICAgICAgICAgICAgICAgICAgKTtcbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgJjpkaXNhYmxlZCxcbiAgICAgICAgICAgICZbZGlzYWJsZWRdLFxuICAgICAgICAgICAgJi5rLWRpc2FibGVkIHtcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBmaWxsKFxuICAgICAgICAgICAgICAgICAgICB2YXIoIC0ta2VuZG8tdGFic3RyaXAtaXRlbS1kaXNhYmxlZC10ZXh0LCAjeyRrZW5kby10YWJzdHJpcC1pdGVtLWRpc2FibGVkLXRleHR9ICksXG4gICAgICAgICAgICAgICAgICAgIHZhciggLS1rZW5kby10YWJzdHJpcC1pdGVtLWRpc2FibGVkLWJnLCAjeyRrZW5kby10YWJzdHJpcC1pdGVtLWRpc2FibGVkLWJnfSApLFxuICAgICAgICAgICAgICAgICAgICB2YXIoIC0ta2VuZG8tdGFic3RyaXAtaXRlbS1kaXNhYmxlZC1ib3JkZXIsICN7JGtlbmRvLXRhYnN0cmlwLWl0ZW0tZGlzYWJsZWQtYm9yZGVyfSApXG4gICAgICAgICAgICAgICAgKTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgJi5rLXRhYnN0cmlwLWRyYWdnaW5nIHtcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBmaWxsKCAkY29sb3I6IHZhciggLS1rZW5kby10YWJzdHJpcC1pdGVtLWRyYWdnaW5nLXRleHQsICN7JGtlbmRvLXRhYnN0cmlwLWl0ZW0tZHJhZ2dpbmctdGV4dH0gKSApO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICB9XG5cbiAgICAvLyBDb250ZW50XG4gICAgLmstdGFic3RyaXAtY29udGVudCxcbiAgICAuay10YWJzdHJpcCA+IC5rLWNvbnRlbnQge1xuICAgICAgICBAaW5jbHVkZSBmaWxsKFxuICAgICAgICAgICAgdmFyKCAtLWtlbmRvLXRhYnN0cmlwLWNvbnRlbnQtdGV4dCwgI3ska2VuZG8tdGFic3RyaXAtY29udGVudC10ZXh0fSApLFxuICAgICAgICAgICAgdmFyKCAtLWtlbmRvLXRhYnN0cmlwLWNvbnRlbnQtYmcsICN7JGtlbmRvLXRhYnN0cmlwLWNvbnRlbnQtYmd9ICksXG4gICAgICAgICAgICB2YXIoIC0ta2VuZG8tdGFic3RyaXAtY29udGVudC1ib3JkZXIsICN7JGtlbmRvLXRhYnN0cmlwLWNvbnRlbnQtYm9yZGVyfSApXG4gICAgICAgICk7XG5cbiAgICAgICAgJjpmb2N1cyxcbiAgICAgICAgJi5rLWZvY3VzIHtcbiAgICAgICAgICAgIG91dGxpbmUtY29sb3I6IHZhciggLS1rZW5kby10YWJzdHJpcC1jb250ZW50LWZvY3VzLWJvcmRlciwgI3ska2VuZG8tdGFic3RyaXAtY29udGVudC1mb2N1cy1ib3JkZXJ9ICk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBTZWxlY3RlZCBpbmRpY2F0b3JcbiAgICBAaWYgKCRrZW5kby10YWJzdHJpcC1pbmRpY2F0b3Itc2l6ZSkge1xuICAgICAgICAuay10YWJzdHJpcC1pdGVtcy13cmFwcGVyIHtcbiAgICAgICAgICAgIC5rLWl0ZW0uay1hY3RpdmU6OmFmdGVyIHtcbiAgICAgICAgICAgICAgICBib3JkZXItY29sb3I6IHZhciggLS1rZW5kby10YWJzdHJpcC1pbmRpY2F0b3ItY29sb3IsICN7JGtlbmRvLXRhYnN0cmlwLWluZGljYXRvci1jb2xvcn0gKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8vIFNjcm9sbGluZ1xuICAgIC5rLXRhYnN0cmlwLXNjcm9sbGFibGUtb3ZlcmxheSB7XG4gICAgICAgICYuay10YWJzdHJpcC10b3AsXG4gICAgICAgICYuay10YWJzdHJpcC1ib3R0b20ge1xuICAgICAgICAgICAgLmstdGFic3RyaXAtaXRlbXMtd3JhcHBlciB7XG4gICAgICAgICAgICAgICAgJjo6YmVmb3JlIHtcbiAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KDkwZGVnLCAka2VuZG8tdGFic3RyaXAtc2Nyb2xsLW92ZXJsYXkpO1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICY6OmFmdGVyIHtcbiAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KDI3MGRlZywgJGtlbmRvLXRhYnN0cmlwLXNjcm9sbC1vdmVybGF5KTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAmLmstdGFic3RyaXAtbGVmdCxcbiAgICAgICAgJi5rLXRhYnN0cmlwLXJpZ2h0IHtcbiAgICAgICAgICAgIC5rLXRhYnN0cmlwLWl0ZW1zLXdyYXBwZXIge1xuICAgICAgICAgICAgICAgICY6OmJlZm9yZSB7XG4gICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCgxODBkZWcsICRrZW5kby10YWJzdHJpcC1zY3JvbGwtb3ZlcmxheSk7XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgJjo6YWZ0ZXIge1xuICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoMzYwZGVnLCAka2VuZG8tdGFic3RyaXAtc2Nyb2xsLW92ZXJsYXkpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8vIFJUTFxuICAgIDppcyguay1ydGwgLmstdGFic3RyaXAtc2Nyb2xsYWJsZS1vdmVybGF5LCBbZGlyPVwicnRsXCJdIC5rLXRhYnN0cmlwLXNjcm9sbGFibGUtb3ZlcmxheSwgLmstdGFic3RyaXAtc2Nyb2xsYWJsZS1vdmVybGF5LmstcnRsLCAuay10YWJzdHJpcC1zY3JvbGxhYmxlLW92ZXJsYXlbZGlyPVwicnRsXCJdICkge1xuICAgICAgICAmLmstdGFic3RyaXAtdG9wLFxuICAgICAgICAmLmstdGFic3RyaXAtYm90dG9tIHtcbiAgICAgICAgICAgIC5rLXRhYnN0cmlwLWl0ZW1zLXdyYXBwZXIge1xuICAgICAgICAgICAgICAgICY6OmJlZm9yZSB7XG4gICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCgyNzBkZWcsICRrZW5kby10YWJzdHJpcC1zY3JvbGwtb3ZlcmxheSk7XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgJjo6YWZ0ZXIge1xuICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoOTBkZWcsICRrZW5kby10YWJzdHJpcC1zY3JvbGwtb3ZlcmxheSk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxufVxuIiwiQHVzZSBcIi4uL2NvcmUvX2luZGV4LnNjc3NcIiBhcyAqO1xuQHVzZSBcIi4vX3ZhcmlhYmxlcy5zY3NzXCIgYXMgKjtcblxuQG1peGluIGtlbmRvLXdpemFyZC0tbGF5b3V0KCkge1xuXG4gICAgLmstd2l6YXJkIHtcbiAgICAgICAgcGFkZGluZy1pbmxpbmU6IHZhciggLS1rZW5kby13aXphcmQtcGFkZGluZy14LCAjeyRrZW5kby13aXphcmQtcGFkZGluZy14fSApO1xuICAgICAgICBwYWRkaW5nLWJsb2NrOiB2YXIoIC0ta2VuZG8td2l6YXJkLXBhZGRpbmcteSwgI3ska2VuZG8td2l6YXJkLXBhZGRpbmcteX0gKTtcbiAgICAgICAgYm9yZGVyLXdpZHRoOiB2YXIoIC0ta2VuZG8td2l6YXJkLWJvcmRlci13aWR0aCwgI3ska2VuZG8td2l6YXJkLWJvcmRlci13aWR0aH0gKTtcbiAgICAgICAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcbiAgICAgICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICAgICAgb3V0bGluZTogMDtcbiAgICAgICAgZm9udC1zaXplOiB2YXIoIC0ta2VuZG8td2l6YXJkLWZvbnQtc2l6ZSwgI3ska2VuZG8td2l6YXJkLWZvbnQtc2l6ZX0gKTtcbiAgICAgICAgbGluZS1oZWlnaHQ6IHZhciggLS1rZW5kby13aXphcmQtbGluZS1oZWlnaHQsICN7JGtlbmRvLXdpemFyZC1saW5lLWhlaWdodH0gKTtcbiAgICAgICAgZm9udC1mYW1pbHk6IHZhciggLS1rZW5kby13aXphcmQtZm9udC1mYW1pbHksICN7JGtlbmRvLXdpemFyZC1mb250LWZhbWlseX0gKTtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICBjb2xvcjogaW5oZXJpdDtcbiAgICAgICAgYmFja2dyb3VuZDogbm9uZTtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgYWxpZ24taXRlbXM6IHN0cmV0Y2g7XG4gICAgICAgIG92ZXJmbG93OiBoaWRkZW47XG5cbiAgICAgICAgLmstd2l6YXJkLXN0ZXBzIHtcbiAgICAgICAgICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAgICAgfVxuXG4gICAgICAgIC5rLXdpemFyZC1zdGVwIHtcbiAgICAgICAgICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgICAgICAgICBwYWRkaW5nLWlubGluZTogdmFyKCAtLWtlbmRvLXdpemFyZC1jb250ZW50LXBhZGRpbmcteCwgI3ska2VuZG8td2l6YXJkLWNvbnRlbnQtcGFkZGluZy14fSApO1xuICAgICAgICAgICAgcGFkZGluZy1ibG9jazogdmFyKCAtLWtlbmRvLXdpemFyZC1jb250ZW50LXBhZGRpbmcteSwgI3ska2VuZG8td2l6YXJkLWNvbnRlbnQtcGFkZGluZy15fSApO1xuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBzdHJldGNoO1xuICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuXG4gICAgICAgICAgICAmOmZvY3VzLFxuICAgICAgICAgICAgJi5rLWZvY3VzIHtcbiAgICAgICAgICAgICAgICBvdXRsaW5lLXdpZHRoOiAxcHg7XG4gICAgICAgICAgICAgICAgb3V0bGluZS1zdHlsZTogc29saWQ7XG4gICAgICAgICAgICAgICAgb3V0bGluZS1vZmZzZXQ6IC0xcHg7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAuay13aXphcmQtY29udGVudCB7XG4gICAgICAgICAgICBwYWRkaW5nLWlubGluZTogdmFyKCAtLWtlbmRvLXdpemFyZC1jb250ZW50LXBhZGRpbmcteCwgI3ska2VuZG8td2l6YXJkLWNvbnRlbnQtcGFkZGluZy14fSApO1xuICAgICAgICAgICAgcGFkZGluZy1ibG9jazogdmFyKCAtLWtlbmRvLXdpemFyZC1jb250ZW50LXBhZGRpbmcteSwgI3ska2VuZG8td2l6YXJkLWNvbnRlbnQtcGFkZGluZy15fSApO1xuICAgICAgICAgICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICAgICAgICAgIG92ZXJmbG93LXk6IGF1dG87XG4gICAgICAgIH1cblxuICAgICAgICAuay13aXphcmQtYnV0dG9ucyB7XG4gICAgICAgICAgICBtYXJnaW4tYmxvY2stc3RhcnQ6IHZhciggLS1rZW5kby13aXphcmQtYnV0dG9ucy1tYXJnaW4teSwgI3ska2VuZG8td2l6YXJkLWJ1dHRvbnMtbWFyZ2luLXl9ICk7XG4gICAgICAgICAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgIGZsZXgtd3JhcDogbm93cmFwO1xuICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgICAgICAgICAgIGZsZXgtc2hyaW5rOiAwO1xuXG4gICAgICAgICAgICAuay1idXR0b24ge1xuICAgICAgICAgICAgICAgIG1hcmdpbi1pbmxpbmUtZW5kOiB2YXIoIC0ta2VuZG8td2l6YXJkLWJ1dHRvbnMtbWFyZ2luLXgsICN7JGtlbmRvLXdpemFyZC1idXR0b25zLW1hcmdpbi14fSApO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAuay13aXphcmQtcGFnZXIge1xuICAgICAgICAgICAgICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAuay13aXphcmQtYnV0dG9ucy1yaWdodCB7XG4gICAgICAgICAgICAuay1idXR0b246bGFzdC1vZi10eXBlIHtcbiAgICAgICAgICAgICAgICBtYXJnaW4taW5saW5lLWVuZDogMDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC5rLXN0ZXBwZXIge1xuICAgICAgICAgICAgLmstc3RlcC1saXN0LXZlcnRpY2FsIHtcbiAgICAgICAgICAgICAgICAuay1zdGVwIHtcbiAgICAgICAgICAgICAgICAgICAgZmxleDogMSAwIGF1dG87XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAuay1zdGVwLWluZGljYXRvciB7XG4gICAgICAgICAgICAgICAgZmxleC1zaHJpbms6IDA7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAuay13aXphcmQtaG9yaXpvbnRhbCB7XG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG5cbiAgICAgICAgLmstd2l6YXJkLXN0ZXBzIHtcbiAgICAgICAgICAgIG1hcmdpbi1ibG9jay1zdGFydDogdmFyKCAtLWtlbmRvLXdpemFyZC1jb250ZW50LXBhZGRpbmcteSwgI3ska2VuZG8td2l6YXJkLWNvbnRlbnQtcGFkZGluZy15fSApO1xuICAgICAgICB9XG5cbiAgICAgICAgLmstd2l6YXJkLXN0ZXBzLFxuICAgICAgICAuay13aXphcmQtY29udGVudCB7XG4gICAgICAgICAgICBmbGV4OiAxIDEgYXV0bztcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5rLXdpemFyZC12ZXJ0aWNhbCB7XG5cbiAgICAgICAgLmstd2l6YXJkLXN0ZXBzIHtcbiAgICAgICAgICAgIGZsZXg6IDEgMCAwJTtcbiAgICAgICAgfVxuXG4gICAgICAgIC5rLXdpemFyZC1jb250ZW50IHtcbiAgICAgICAgICAgIGZsZXg6IDEgMSAwJTtcbiAgICAgICAgfVxuXG4gICAgICAgIC5rLXdpemFyZC1zdGVwcyB7XG4gICAgICAgICAgICBtYXJnaW4taW5saW5lLXN0YXJ0OiB2YXIoIC0ta2VuZG8td2l6YXJkLXN0ZXBzLXBhZGRpbmcteCwgI3ska2VuZG8td2l6YXJkLXN0ZXBzLXBhZGRpbmcteH0gKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5rLXdpemFyZC1sZWZ0IHtcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IHJvdy1yZXZlcnNlO1xuXG4gICAgICAgIC5rLXdpemFyZC1zdGVwcyB7XG4gICAgICAgICAgICBtYXJnaW4taW5saW5lLWVuZDogdmFyKCAtLWtlbmRvLXdpemFyZC1jb250ZW50LXBhZGRpbmcteCwgI3ska2VuZG8td2l6YXJkLWNvbnRlbnQtcGFkZGluZy14fSApO1xuICAgICAgICAgICAgbWFyZ2luLWlubGluZS1zdGFydDogMDtcbiAgICAgICAgfVxuICAgIH1cblxufVxuIiwiQHVzZSBcIi4uL2NvcmUvX2luZGV4LnNjc3NcIiBhcyAqO1xuQHVzZSBcIi4vX3ZhcmlhYmxlcy5zY3NzXCIgYXMgKjtcblxuQG1peGluIGtlbmRvLXdpemFyZC0tdGhlbWUoKSB7XG5cbiAgICAuay13aXphcmQtc3RlcCB7XG4gICAgICAgIC5rLXdpemFyZC1jb250ZW50IHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGZpbGwoXG4gICAgICAgICAgICAgICAgdmFyKCAtLWtlbmRvLXdpemFyZC1jb250ZW50LXRleHQsICN7JGtlbmRvLXdpemFyZC1jb250ZW50LXRleHR9ICksXG4gICAgICAgICAgICAgICAgdmFyKCAtLWtlbmRvLXdpemFyZC1jb250ZW50LWJnLCAjeyRrZW5kby13aXphcmQtY29udGVudC1iZ30gKVxuICAgICAgICAgICAgKTtcbiAgICAgICAgfVxuXG4gICAgICAgICY6Zm9jdXMsXG4gICAgICAgICYuay1mb2N1cyB7XG4gICAgICAgICAgICBvdXRsaW5lLWNvbG9yOiB2YXIoIC0ta2VuZG8td2l6YXJkLXN0ZXAtZm9jdXMtYm9yZGVyLCAjeyRrZW5kby13aXphcmQtc3RlcC1mb2N1cy1ib3JkZXJ9ICk7XG4gICAgICAgIH1cbiAgICB9XG5cbn1cbiIsIkB1c2UgXCIuLi9jb3JlL19pbmRleC5zY3NzXCIgYXMgKjtcbkB1c2UgXCIuL192YXJpYWJsZXMuc2Nzc1wiIGFzICo7XG5cbkBtaXhpbiBrZW5kby1leHBhbmRlci0tbGF5b3V0KCkge1xuXG4gICAgLy8gQmFzZVxuICAgIC5rLWV4cGFuZGVyIHtcbiAgICAgICAgYm9yZGVyLXdpZHRoOiB2YXIoIC0ta2VuZG8tZXhwYW5kZXItYm9yZGVyLXdpZHRoLCAjeyRrZW5kby1leHBhbmRlci1ib3JkZXItd2lkdGh9ICk7XG4gICAgICAgIGJvcmRlci1zdHlsZTogc29saWQ7XG4gICAgICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgICAgIGZvbnQtc2l6ZTogdmFyKCAtLWtlbmRvLWV4cGFuZGVyLWZvbnQtc2l6ZSwgI3ska2VuZG8tZXhwYW5kZXItZm9udC1zaXplfSApO1xuICAgICAgICBmb250LWZhbWlseTogdmFyKCAtLWtlbmRvLWV4cGFuZGVyLWZvbnQtZmFtaWx5LCAjeyRrZW5kby1leHBhbmRlci1mb250LWZhbWlseX0gKTtcbiAgICAgICAgbGluZS1oZWlnaHQ6IHZhciggLS1rZW5kby1leHBhbmRlci1saW5lLWhlaWdodCwgI3ska2VuZG8tZXhwYW5kZXItbGluZS1oZWlnaHR9ICk7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAgICAgb3V0bGluZTogMDtcbiAgICAgICAgLXdlYmtpdC10b3VjaC1jYWxsb3V0OiBub25lO1xuICAgICAgICAtd2Via2l0LXRhcC1oaWdobGlnaHQtY29sb3I6ICRrZW5kby1jb2xvci1yZ2JhLXRyYW5zcGFyZW50O1xuXG4gICAgICAgICosXG4gICAgICAgICo6OmJlZm9yZSxcbiAgICAgICAgKjo6YWZ0ZXIge1xuICAgICAgICAgICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICAgICAgfVxuXG4gICAgICAgICYuay1mb2N1cyB7XG4gICAgICAgICAgICBib3JkZXItd2lkdGg6IDA7XG4gICAgICAgIH1cbiAgICAgICAgJi5rLWZvY3VzOjphZnRlciB7XG4gICAgICAgICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgYm9yZGVyOiBtZWRpdW0gbm9uZTtcbiAgICAgICAgICAgIGluc2V0OiB2YXIoIC0ta2VuZG8tZXhwYW5kZXItZm9jdXMtb2Zmc2V0LCAjeyRrZW5kby1leHBhbmRlci1mb2N1cy1vZmZzZXR9ICk7XG4gICAgICAgICAgICBvdXRsaW5lLXdpZHRoOiB2YXIoIC0ta2VuZG8tZXhwYW5kZXItZm9jdXMtb3V0bGluZS13aWR0aCwgI3ska2VuZG8tZXhwYW5kZXItZm9jdXMtb3V0bGluZS13aWR0aH0gKTtcbiAgICAgICAgICAgIG91dGxpbmUtc3R5bGU6IHZhciggLS1rZW5kby1leHBhbmRlci1mb2N1cy1vdXRsaW5lLXN0eWxlLCAjeyRrZW5kby1leHBhbmRlci1mb2N1cy1vdXRsaW5lLXN0eWxlfSApO1xuICAgICAgICAgICAgei1pbmRleDogMTtcbiAgICAgICAgICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLy8gSGVhZGVyXG4gICAgLmstZXhwYW5kZXItaGVhZGVyIHtcbiAgICAgICAgcGFkZGluZy1pbmxpbmU6IHZhciggLS1rZW5kby1leHBhbmRlci1oZWFkZXItcGFkZGluZy14LCAjeyRrZW5kby1leHBhbmRlci1oZWFkZXItcGFkZGluZy14fSApO1xuICAgICAgICBwYWRkaW5nLWJsb2NrOiB2YXIoIC0ta2VuZG8tZXhwYW5kZXItaGVhZGVyLXBhZGRpbmcteSwgI3ska2VuZG8tZXhwYW5kZXItaGVhZGVyLXBhZGRpbmcteX0gKTtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgfVxuXG4gICAgLy8gRXhwYW5kZXIgc3BhY2VyXG4gICAgLmstZXhwYW5kZXItc3BhY2VyIHtcbiAgICAgICAgZmxleDogMSAxIGF1dG87XG4gICAgfVxuXG4gICAgLy8gVGl0bGVcbiAgICAuay1leHBhbmRlci10aXRsZSB7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiA0MDA7XG4gICAgfVxuXG4gICAgLy8gRXhwYW5kIC8gY29sbGFwc2UgaWNvblxuICAgIC5rLWV4cGFuZGVyLWluZGljYXRvciB7XG4gICAgICAgIG1hcmdpbi1pbmxpbmUtc3RhcnQ6IHZhciggLS1rZW5kby1leHBhbmRlci1pbmRpY2F0b3ItbWFyZ2luLXgsICN7JGtlbmRvLWV4cGFuZGVyLWluZGljYXRvci1tYXJnaW4teH0gKTtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgfVxuXG4gICAgLy8gRXhwYW5kZXIgY29udGVudFxuICAgIC5rLWV4cGFuZGVyLWNvbnRlbnQge1xuICAgICAgICBwYWRkaW5nLWlubGluZTogdmFyKCAtLWtlbmRvLWV4cGFuZGVyLWNvbnRlbnQtcGFkZGluZy14LCAjeyRrZW5kby1leHBhbmRlci1jb250ZW50LXBhZGRpbmcteH0gKTtcbiAgICAgICAgcGFkZGluZy1ibG9jazogdmFyKCAtLWtlbmRvLWV4cGFuZGVyLWNvbnRlbnQtcGFkZGluZy15LCAjeyRrZW5kby1leHBhbmRlci1jb250ZW50LXBhZGRpbmcteX0gKTtcbiAgICB9XG5cbiAgICAvLyBNdWx0aXBsZSBleHBhbmRlcnNcbiAgICAuay1leHBhbmRlciArIC5rLWV4cGFuZGVyLmstZXhwYW5kZWQsXG4gICAgLmstZXhwYW5kZXIuay1leHBhbmRlZCArIC5rLWV4cGFuZGVyIHtcbiAgICAgICAgbWFyZ2luLXRvcDogdmFyKCAtLWtlbmRvLWV4cGFuZGVyLW1hcmdpbi15LCAjeyRrZW5kby1leHBhbmRlci1tYXJnaW4teX0gKTtcbiAgICB9XG5cbiAgICAuay1leHBhbmRlcjpub3QoLmstZXhwYW5kZWQpICsgLmstZXhwYW5kZXI6bm90KC5rLWV4cGFuZGVkKSB7XG4gICAgICAgIGJvcmRlci10b3Atd2lkdGg6IDA7XG4gICAgfVxufVxuIiwiQHVzZSBcIi4uL2NvcmUvX2luZGV4LnNjc3NcIiBhcyAqO1xuQHVzZSBcIi4vX3ZhcmlhYmxlcy5zY3NzXCIgYXMgKjtcblxuQG1peGluIGtlbmRvLWV4cGFuZGVyLS10aGVtZSgpIHtcblxuICAgIC5rLWV4cGFuZGVyIHtcbiAgICAgICAgQGluY2x1ZGUgZmlsbChcbiAgICAgICAgICAgIHZhciggLS1rZW5kby1leHBhbmRlci10ZXh0LCAjeyRrZW5kby1leHBhbmRlci10ZXh0fSApLFxuICAgICAgICAgICAgdmFyKCAtLWtlbmRvLWV4cGFuZGVyLWJnLCAjeyRrZW5kby1leHBhbmRlci1iZ30gKSxcbiAgICAgICAgICAgIHZhciggLS1rZW5kby1leHBhbmRlci1ib3JkZXIsICN7JGtlbmRvLWV4cGFuZGVyLWJvcmRlcn0gKSxcbiAgICAgICAgKTtcblxuICAgICAgICAmLmstZXhwYW5kZWQge1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKCAtLWtlbmRvLWV4cGFuZGVyLWV4cGFuZGVkLWJnLCAjeyRrZW5kby1leHBhbmRlci1leHBhbmRlZC1iZ30gKTtcbiAgICAgICAgfVxuXG4gICAgICAgICYuay1mb2N1c3tcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHZhciggLS1rZW5kby1leHBhbmRlci1mb2N1cy1iZywgI3ska2VuZG8tZXhwYW5kZXItZm9jdXMtYmd9ICk7XG5cbiAgICAgICAgICAgICY6OmFmdGVyIHtcbiAgICAgICAgICAgICAgICBvdXRsaW5lLWNvbG9yOiB2YXIoIC0ta2VuZG8tZXhwYW5kZXItZm9jdXMtb3V0bGluZSwgI3ska2VuZG8tZXhwYW5kZXItZm9jdXMtb3V0bGluZX0gKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgICY6ZGlzYWJsZWQsXG4gICAgICAgICYuay1kaXNhYmxlZCB7XG4gICAgICAgICAgICBAaW5jbHVkZSBmaWxsKFxuICAgICAgICAgICAgICAgICRjb2xvcjogdmFyKCAtLWtlbmRvLWV4cGFuZGVyLWRpc2FibGVkLXRleHQsICN7JGtlbmRvLWV4cGFuZGVyLWRpc2FibGVkLXRleHR9IClcbiAgICAgICAgICAgICk7XG5cbiAgICAgICAgICAgIC5rLWV4cGFuZGVyLWhlYWRlcixcbiAgICAgICAgICAgIC5rLWV4cGFuZGVyLXRpdGxlLFxuICAgICAgICAgICAgLmstZXhwYW5kZXItc3ViLXRpdGxlLFxuICAgICAgICAgICAgLmstZXhwYW5kZXItaW5kaWNhdG9yIHtcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBmaWxsKFxuICAgICAgICAgICAgICAgICAgICAkY29sb3I6IHZhciggLS1rZW5kby1leHBhbmRlci1kaXNhYmxlZC10ZXh0LCAjeyRrZW5kby1leHBhbmRlci1kaXNhYmxlZC10ZXh0fSApLFxuICAgICAgICAgICAgICAgICAgICAkYmc6IHZhciggLS1rZW5kby1leHBhbmRlci1kaXNhYmxlZC1iZywgI3ska2VuZG8tZXhwYW5kZXItZGlzYWJsZWQtYmd9IClcbiAgICAgICAgICAgICAgICApO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgLmstZXhwYW5kZXItaGVhZGVyIHtcbiAgICAgICAgQGluY2x1ZGUgZmlsbChcbiAgICAgICAgICAgIHZhciggLS1rZW5kby1leHBhbmRlci1oZWFkZXItdGV4dCwgI3ska2VuZG8tZXhwYW5kZXItaGVhZGVyLXRleHR9ICksXG4gICAgICAgICAgICB2YXIoIC0ta2VuZG8tZXhwYW5kZXItaGVhZGVyLWJnLCAjeyRrZW5kby1leHBhbmRlci1oZWFkZXItYmd9IClcbiAgICAgICAgKTtcbiAgICAgICAgb3V0bGluZTogbm9uZTtcblxuICAgICAgICAmOmhvdmVyLFxuICAgICAgICAmLmstaG92ZXIge1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKCAtLWtlbmRvLWV4cGFuZGVyLWhlYWRlci1ob3Zlci1iZywgI3ska2VuZG8tZXhwYW5kZXItaGVhZGVyLWhvdmVyLWJnfSApO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLmstZXhwYW5kZXItdGl0bGUge1xuICAgICAgICBjb2xvcjogdmFyKCAtLWtlbmRvLWV4cGFuZGVyLXRpdGxlLXRleHQsICN7JGtlbmRvLWV4cGFuZGVyLXRpdGxlLXRleHR9ICk7XG4gICAgfVxuXG4gICAgLmstZXhwYW5kZXItc3ViLXRpdGxlIHtcbiAgICAgICAgY29sb3I6IHZhciggLS1rZW5kby1leHBhbmRlci1oZWFkZXItc3ViLXRpdGxlLXRleHQsICN7JGtlbmRvLWV4cGFuZGVyLWhlYWRlci1zdWItdGl0bGUtdGV4dH0gKTtcbiAgICB9XG5cbiAgICAuay1leHBhbmRlci1pbmRpY2F0b3Ige1xuICAgICAgICBjb2xvcjogdmFyKCAtLWtlbmRvLWV4cGFuZGVyLWluZGljYXRvci10ZXh0LCAjeyRrZW5kby1leHBhbmRlci1pbmRpY2F0b3ItdGV4dH0gKTtcbiAgICB9XG5cbn1cbiIsIkB1c2UgXCIuLi9jb3JlL19pbmRleC5zY3NzXCIgYXMgKjtcbkB1c2UgXCIuL192YXJpYWJsZXMuc2Nzc1wiIGFzICo7XG5cbkBtaXhpbiBrZW5kby1wYW5lbC0tbGF5b3V0KCkge1xuICAgIC8vIFBhbmVsc1xuICAgIC5rLWJsb2NrLFxuICAgIC5rLXBhbmVsIHtcbiAgICAgICAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cyggJGtlbmRvLXBhbmVsLWJvcmRlci1yYWRpdXMgKTtcbiAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgYm9yZGVyLXdpZHRoOiAka2VuZG8tcGFuZWwtYm9yZGVyLXdpZHRoO1xuICAgICAgICBib3JkZXItc3R5bGU6ICRrZW5kby1wYW5lbC1ib3JkZXItc3R5bGU7XG4gICAgICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG5cbiAgICAgICAgPiAuay1oZWFkZXIge1xuICAgICAgICAgICAgQGluY2x1ZGUgYm9yZGVyLXRvcC1yYWRpdXMoICRrZW5kby1wYW5lbC1ib3JkZXItcmFkaXVzICk7XG4gICAgICAgICAgICBAaW5jbHVkZSBmaWxsKFxuICAgICAgICAgICAgICAgIHZhciggLS1rZW5kby1jb21wb25lbnQtdGV4dCwgI3ska2VuZG8tY29tcG9uZW50LXRleHR9ICksXG4gICAgICAgICAgICAgICAgdmFyKCAtLWtlbmRvLWNvbXBvbmVudC1iZywgI3ska2VuZG8tY29tcG9uZW50LWJnfSApLFxuICAgICAgICAgICAgICAgIHZhciggLS1rZW5kby1jb21wb25lbnQtYm9yZGVyLCAjeyRrZW5kby1jb21wb25lbnQtYm9yZGVyfSApXG4gICAgICAgICAgICApO1xuICAgICAgICAgICAgcGFkZGluZy1pbmxpbmU6ICRrZW5kby1wYW5lbC1oZWFkZXItcGFkZGluZy1pbmxpbmU7XG4gICAgICAgICAgICBwYWRkaW5nLWJsb2NrOiAka2VuZG8tcGFuZWwtaGVhZGVyLXBhZGRpbmctYmxvY2s7XG4gICAgICAgIH1cbiAgICAgICAgPiAuay1jb250ZW50IHtcbiAgICAgICAgICAgIHBhZGRpbmctaW5saW5lOiAka2VuZG8tcGFuZWwtY29udGVudC1wYWRkaW5nLWlubGluZTtcbiAgICAgICAgICAgIHBhZGRpbmctYmxvY2s6ICRrZW5kby1wYW5lbC1jb250ZW50LXBhZGRpbmctYmxvY2s7XG4gICAgICAgIH1cbiAgICB9XG59XG4iLCJAdXNlIFwic2FzczptYXBcIjtcbkB1c2UgXCIuLi9jb3JlL19pbmRleC5zY3NzXCIgYXMgKjtcblxuLy8vIFRoZSBib3JkZXIgcmFkaXVzIG9mIHRoZSBQYW5lbC5cbi8vLyBAZ3JvdXAgcGFuZWxcbiRrZW5kby1wYW5lbC1ib3JkZXItcmFkaXVzOiBrLWJvcmRlci1yYWRpdXMobWQpICFkZWZhdWx0O1xuLy8vIFRoZSB3aWR0aCBvZiB0aGUgYm9yZGVyIGFyb3VuZCB0aGUgUGFuZWwuXG4vLy8gQGdyb3VwIHBhbmVsXG4ka2VuZG8tcGFuZWwtYm9yZGVyLXdpZHRoOiAxcHggIWRlZmF1bHQ7XG4vLy8gVGhlIHN0eWxlIG9mIHRoZSBib3JkZXIgYXJvdW5kIHRoZSBQYW5lbC5cbi8vLyBAZ3JvdXAgcGFuZWxcbiRrZW5kby1wYW5lbC1ib3JkZXItc3R5bGU6IHNvbGlkICFkZWZhdWx0O1xuXG4vLy8gVGhlIGlubGluZSBwYWRkaW5nIG9mIHRoZSBQYW5lbCBoZWFkZXIuXG4vLy8gQGdyb3VwIHBhbmVsXG4ka2VuZG8tcGFuZWwtaGVhZGVyLXBhZGRpbmctaW5saW5lOiBrLXNwYWNpbmcoMikgIWRlZmF1bHQ7XG4vLy8gVGhlIGJsb2NrIHBhZGRpbmcgb2YgdGhlIFBhbmVsIGhlYWRlci5cbi8vLyBAZ3JvdXAgcGFuZWxcbiRrZW5kby1wYW5lbC1oZWFkZXItcGFkZGluZy1ibG9jazogay1zcGFjaW5nKDEpICFkZWZhdWx0O1xuXG4vLy8gVGhlIGlubGluZSBwYWRkaW5nIG9mIHRoZSBQYW5lbCBjb250ZW50LlxuLy8vIEBncm91cCBwYW5lbFxuJGtlbmRvLXBhbmVsLWNvbnRlbnQtcGFkZGluZy1pbmxpbmU6IGstc3BhY2luZygyKSAhZGVmYXVsdDtcbi8vLyBUaGUgYmxvY2sgcGFkZGluZyBvZiB0aGUgUGFuZWwgY29udGVudC5cbi8vLyBAZ3JvdXAgcGFuZWxcbiRrZW5kby1wYW5lbC1jb250ZW50LXBhZGRpbmctYmxvY2s6IGstc3BhY2luZygxKSAhZGVmYXVsdDtcblxuLy8vIFRoZSB0ZXh0IGNvbG9yIG9mIHRoZSBQYW5lbC5cbi8vLyBAZ3JvdXAgcGFuZWxcbiRrZW5kby1wYW5lbC10ZXh0OiB2YXIoLS1rZW5kby1jb21wb25lbnQtdGV4dCwgI3ska2VuZG8tY29tcG9uZW50LXRleHR9KSAhZGVmYXVsdDtcbi8vLyBUaGUgYmFja2dyb3VuZCBjb2xvciBvZiB0aGUgUGFuZWwuXG4vLy8gQGdyb3VwIHBhbmVsXG4ka2VuZG8tcGFuZWwtYmc6IHZhcigtLWtlbmRvLWNvbXBvbmVudC1iZywgI3ska2VuZG8tY29tcG9uZW50LWJnfSkgIWRlZmF1bHQ7XG4vLy8gVGhlIGNvbG9yIG9mIHRoZSBib3JkZXIgYXJvdW5kIHRoZSBQYW5lbC5cbi8vLyBAZ3JvdXAgcGFuZWxcbiRrZW5kby1wYW5lbC1ib3JkZXI6IHZhcigtLWtlbmRvLWNvbXBvbmVudC1ib3JkZXIsICN7JGtlbmRvLWNvbXBvbmVudC1ib3JkZXJ9KSAhZGVmYXVsdDtcbiIsIkB1c2UgXCIuLi9jb3JlL19pbmRleC5zY3NzXCIgYXMgKjtcbkB1c2UgXCIuL192YXJpYWJsZXMuc2Nzc1wiIGFzICo7XG5cbkBtaXhpbiBrZW5kby1wYW5lbC0tdGhlbWUoKSB7XG4gICAgLy8gUGFuZWxzXG4gICAgLmstYmxvY2ssXG4gICAgLmstcGFuZWwge1xuICAgICAgICBAaW5jbHVkZSBmaWxsKFxuICAgICAgICAgICAgdmFyKCAtLWtlbmRvLXBhbmVsLXRleHQsICN7JGtlbmRvLXBhbmVsLXRleHR9ICksXG4gICAgICAgICAgICB2YXIoIC0ta2VuZG8tcGFuZWwtYmcsICN7JGtlbmRvLXBhbmVsLWJnfSApLFxuICAgICAgICAgICAgdmFyKCAtLWtlbmRvLXBhbmVsLWJvcmRlciwgI3ska2VuZG8tcGFuZWwtYm9yZGVyfSApXG4gICAgICAgICk7XG4gICAgfVxuXG4gICAgOndoZXJlKC5rLWNvbnRlbnQpIHtcbiAgICAgICAgQGluY2x1ZGUgZmlsbChcbiAgICAgICAgICAgIHZhciggLS1rZW5kby1wYW5lbC10ZXh0LCAjeyRrZW5kby1wYW5lbC10ZXh0fSApLFxuICAgICAgICAgICAgdmFyKCAtLWtlbmRvLXBhbmVsLWJnLCAjeyRrZW5kby1wYW5lbC1iZ30gKSxcbiAgICAgICAgICAgIHZhciggLS1rZW5kby1wYW5lbC1ib3JkZXIsICN7JGtlbmRvLXBhbmVsLWJvcmRlcn0gKVxuICAgICAgICApO1xuICAgIH1cbn1cbiIsIkB1c2UgXCIuLi9jb3JlL19pbmRleC5zY3NzXCIgYXMgKjtcbkB1c2UgXCIuL192YXJpYWJsZXMuc2Nzc1wiIGFzICo7XG5AdXNlIFwiLi4vY29yZS9zcGFjaW5nL19pbmRleC5zY3NzXCIgYXMgKjtcblxuQG1peGluIGtlbmRvLXBhbmVsYmFyLS1sYXlvdXQoKSB7XG5cbiAgICAuay1wYW5lbGJhciB7XG4gICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgYm9yZGVyLXdpZHRoOiB2YXIoIC0ta2VuZG8tcGFuZWxiYXItYm9yZGVyLXdpZHRoLCAjeyRrZW5kby1wYW5lbGJhci1ib3JkZXItd2lkdGh9ICk7XG4gICAgICAgIGJvcmRlci1zdHlsZTogdmFyKCAtLWtlbmRvLXBhbmVsYmFyLWJvcmRlci1zdHlsZSwgI3ska2VuZG8tcGFuZWxiYXItYm9yZGVyLXN0eWxlfSApO1xuICAgICAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgICAgICBvdXRsaW5lOiAwO1xuICAgICAgICBmb250LWZhbWlseTogdmFyKCAtLWtlbmRvLXBhbmVsYmFyLWZvbnQtZmFtaWx5LCAjeyRrZW5kby1wYW5lbGJhci1mb250LWZhbWlseX0gKTtcbiAgICAgICAgZm9udC1zaXplOiB2YXIoIC0ta2VuZG8tcGFuZWxiYXItZm9udC1zaXplLCAjeyRrZW5kby1wYW5lbGJhci1mb250LXNpemV9ICk7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiB2YXIoIC0ta2VuZG8tcGFuZWxiYXItbGluZS1oZWlnaHQsICN7JGtlbmRvLXBhbmVsYmFyLWxpbmUtaGVpZ2h0fSApO1xuICAgICAgICBsaXN0LXN0eWxlOiBub25lO1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICAtd2Via2l0LXRvdWNoLWNhbGxvdXQ6IG5vbmU7XG4gICAgICAgIC13ZWJraXQtdGFwLWhpZ2hsaWdodC1jb2xvcjogJGtlbmRvLWNvbG9yLXJnYmEtdHJhbnNwYXJlbnQ7XG5cbiAgICAgICAgKixcbiAgICAgICAgKjo6YmVmb3JlLFxuICAgICAgICAqOjphZnRlciB7XG4gICAgICAgICAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgICAgICB9XG5cblxuICAgICAgICAvLyBSb290XG4gICAgICAgID4gLmstcGFuZWxiYXItaGVhZGVyIHtcbiAgICAgICAgICAgIC8vIFRPRE9cbiAgICAgICAgICAgIGJvcmRlci13aWR0aDogMDtcbiAgICAgICAgICAgIGJvcmRlci1zdHlsZTogdmFyKCAtLWtlbmRvLXBhbmVsYmFyLWl0ZW0tYm9yZGVyLXN0eWxlLCAjeyRrZW5kby1wYW5lbGJhci1pdGVtLWJvcmRlci1zdHlsZX0gKTtcbiAgICAgICAgICAgIGJvcmRlci1jb2xvcjogaW5oZXJpdDtcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuXG4gICAgICAgICAgICA+IC5rLWxpbmsge1xuICAgICAgICAgICAgICAgIHBhZGRpbmctaW5saW5lLXN0YXJ0OiB2YXIoIC0ta2VuZG8tcGFuZWxiYXItaGVhZGVyLXBhZGRpbmcteC1zdGFydCwgI3ska2VuZG8tcGFuZWxiYXItaGVhZGVyLXBhZGRpbmcteC1zdGFydH0gKTtcbiAgICAgICAgICAgICAgICBwYWRkaW5nLWlubGluZS1lbmQ6IHZhciggLS1rZW5kby1wYW5lbGJhci1oZWFkZXItcGFkZGluZy14LWVuZCwgI3ska2VuZG8tcGFuZWxiYXItaGVhZGVyLXBhZGRpbmcteC1lbmR9ICk7XG4gICAgICAgICAgICAgICAgcGFkZGluZy1ibG9jazogdmFyKCAtLWtlbmRvLXBhbmVsYmFyLWhlYWRlci1wYWRkaW5nLXksICN7JGtlbmRvLXBhbmVsYmFyLWhlYWRlci1wYWRkaW5nLXl9ICk7XG4gICAgICAgICAgICAgICAgY29sb3I6IGluaGVyaXQ7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZDogbm9uZTtcbiAgICAgICAgICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgICAgICBmbGV4LWZsb3c6IHJvdyBub3dyYXA7XG4gICAgICAgICAgICAgICAgZ2FwOiB2YXIoIC0ta2VuZG8taWNvbi1zcGFjaW5nLCAuNXJlbSApO1xuICAgICAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgICAgICAgICAgYWxpZ24tY29udGVudDogY2VudGVyO1xuICAgICAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgICAgICAgICB1c2VyLXNlbGVjdDogbm9uZTtcbiAgICAgICAgICAgICAgICBjdXJzb3I6IGRlZmF1bHQ7XG4gICAgICAgICAgICAgICAgdHJhbnNpdGlvbjogdmFyKCAtLWtlbmRvLXRyYW5zaXRpb24sIG5vbmUgKTtcblxuICAgICAgICAgICAgICAgICYuay1zZWxlY3RlZCB7XG4gICAgICAgICAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiB2YXIoIC0ta2VuZG8tZm9udC13ZWlnaHQtYm9sZCwgI3ska2VuZG8tZm9udC13ZWlnaHQtYm9sZH0gKTtcblxuICAgICAgICAgICAgICAgICAgICAmOjpiZWZvcmUge1xuICAgICAgICAgICAgICAgICAgICAgICAgY29udGVudDogJyc7XG4gICAgICAgICAgICAgICAgICAgICAgICB3aWR0aDogMnB4O1xuICAgICAgICAgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICAgICAgICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgICAgICAgICAgICAgaW5zZXQtaW5saW5lLXN0YXJ0OiAwO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgPiAuay1wYW5lbGJhci1oZWFkZXIgKyAuay1wYW5lbGJhci1oZWFkZXIge1xuICAgICAgICAgICAgYm9yZGVyLXRvcC13aWR0aDogdmFyKCAtLWtlbmRvLXBhbmVsYmFyLWl0ZW0tYm9yZGVyLXdpZHRoLCAjeyRrZW5kby1wYW5lbGJhci1pdGVtLWJvcmRlci13aWR0aH0gKTtcbiAgICAgICAgfVxuXG4gICAgICAgIC8vIEFic29sdXRlIHBvc2l0aW9uaW5nIHNob3VsZCBiZSBhcHBsaWVkIG9ubHkgaWYgdGhlIGljb24gaXMgYSBmaXJzdCBjaGlsZFxuICAgICAgICAuay1wYW5lbGJhci1pdGVtLWljb246Zmlyc3QtY2hpbGQge1xuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgaW5zZXQtaW5saW5lLXN0YXJ0OiB2YXIoIC0ta2VuZG8tcGFuZWxiYXItaWNvbi1zcGFjaW5nLCAjeyRrZW5kby1wYW5lbGJhci1pY29uLXNwYWNpbmd9ICk7XG4gICAgICAgIH1cblxuXG4gICAgICAgIC8vIFN1YlxuICAgICAgICAuay1wYW5lbGJhci1ncm91cCB7XG4gICAgICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgICAgICAgYm9yZGVyLXdpZHRoOiAwO1xuICAgICAgICAgICAgYm9yZGVyLWNvbG9yOiBpbmhlcml0O1xuICAgICAgICAgICAgY29sb3I6IGluaGVyaXQ7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICAgICAgICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG4gICAgICAgIH1cblxuICAgICAgICAuay1wYW5lbGJhci1ncm91cCA+IC5rLXBhbmVsYmFyLWl0ZW0ge1xuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG5cbiAgICAgICAgICAgID4gLmstbGluayB7XG4gICAgICAgICAgICAgICAgcGFkZGluZy1pbmxpbmUtc3RhcnQ6IHZhciggLS1rZW5kby1wYW5lbGJhci1pdGVtLXBhZGRpbmcteC1zdGFydCwgI3ska2VuZG8tcGFuZWxiYXItaXRlbS1wYWRkaW5nLXgtc3RhcnR9ICk7XG4gICAgICAgICAgICAgICAgcGFkZGluZy1pbmxpbmUtZW5kOiB2YXIoIC0ta2VuZG8tcGFuZWxiYXItaXRlbS1wYWRkaW5nLXgtZW5kLCAjeyRrZW5kby1wYW5lbGJhci1pdGVtLXBhZGRpbmcteC1lbmR9ICk7XG4gICAgICAgICAgICAgICAgcGFkZGluZy1ibG9jazogdmFyKCAtLWtlbmRvLXBhbmVsYmFyLWl0ZW0tcGFkZGluZy15LCAjeyRrZW5kby1wYW5lbGJhci1pdGVtLXBhZGRpbmcteX0gKTtcbiAgICAgICAgICAgICAgICBjb2xvcjogaW5oZXJpdDtcbiAgICAgICAgICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgICAgICBmbGV4LWZsb3c6IHJvdyBub3dyYXA7XG4gICAgICAgICAgICAgICAgZ2FwOiB2YXIoIC0ta2VuZG8tcGFuZWxiYXItaWNvbi1zcGFjaW5nLCAjeyRrZW5kby1wYW5lbGJhci1pY29uLXNwYWNpbmd9ICk7XG4gICAgICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgICAgICAgICBhbGlnbi1jb250ZW50OiBjZW50ZXI7XG4gICAgICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICAgICAgICAgIHVzZXItc2VsZWN0OiBub25lO1xuICAgICAgICAgICAgICAgIGN1cnNvcjogZGVmYXVsdDtcbiAgICAgICAgICAgICAgICB0cmFuc2l0aW9uOiB2YXIoIC0ta2VuZG8tdHJhbnNpdGlvbiwgI3ska2VuZG8tdHJhbnNpdGlvbn0gKTtcblxuICAgICAgICAgICAgICAgICYuay1zZWxlY3RlZCB7XG4gICAgICAgICAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiB2YXIoIC0ta2VuZG8tZm9udC13ZWlnaHQtYm9sZCwgI3ska2VuZG8tZm9udC13ZWlnaHQtYm9sZH0gKTtcblxuICAgICAgICAgICAgICAgICAgICAmOjpiZWZvcmUge1xuICAgICAgICAgICAgICAgICAgICAgICAgY29udGVudDogJyc7XG4gICAgICAgICAgICAgICAgICAgICAgICB3aWR0aDogMnB4O1xuICAgICAgICAgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICAgICAgICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgICAgICAgICAgICAgaW5zZXQtaW5saW5lLXN0YXJ0OiAwO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAvLyBIaWVyYXJjaHkgaXRlbXNcbiAgICAgICAgICAgIEBmb3IgJGkgZnJvbSAxIHRocm91Z2ggJGtlbmRvLXBhbmVsYmFyLWl0ZW0tbGV2ZWwtY291bnQge1xuICAgICAgICAgICAgICAgICYuay1sZXZlbC0jeyRpfSB7XG4gICAgICAgICAgICAgICAgICAgIC0tSU5URVJOQUwtLWtlbmRvLXBhbmVsYmFyLWxpbmstc3BhY2luZzogY2FsYyggI3trLXNwYWNpbmcoMyl9ICogI3skaX0gKTtcbiAgICAgICAgICAgICAgICAgICAgLS1JTlRFUk5BTC0ta2VuZG8tcGFuZWxiYXItaXRlbS1wYWRkaW5nOiB2YXIoIC0ta2VuZG8tcGFuZWxiYXItaXRlbS1wYWRkaW5nLXgtc3RhcnQsICN7JGtlbmRvLXBhbmVsYmFyLWl0ZW0tcGFkZGluZy14LXN0YXJ0fSApO1xuICAgICAgICAgICAgICAgICAgICAuay1saW5rIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHBhZGRpbmctaW5saW5lLXN0YXJ0OiBjYWxjKCB2YXIoIC0tSU5URVJOQUwtLWtlbmRvLXBhbmVsYmFyLWl0ZW0tcGFkZGluZyApICsgdmFyKCAtLUlOVEVSTkFMLS1rZW5kby1wYW5lbGJhci1saW5rLXNwYWNpbmcgKSApO1xuICAgICAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAgICAgLmstcGFuZWxiYXItaXRlbS1pY29uOmZpcnN0LWNoaWxkIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGluc2V0LWlubGluZS1zdGFydDogY2FsYyggdmFyKCAtLWtlbmRvLXBhbmVsYmFyLWljb24tc3BhY2luZywgI3ska2VuZG8tcGFuZWxiYXItaWNvbi1zcGFjaW5nfSApICsgdmFyKCAtLUlOVEVSTkFMLS1rZW5kby1wYW5lbGJhci1saW5rLXNwYWNpbmcgKSApO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLy8gUGFuZWxiYXIgY29udGVudFxuICAgICAgICAuay1wYW5lbGJhci1jb250ZW50IHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGZsb3ctcm9vdDtcbiAgICAgICAgfVxuXG4gICAgICAgIC8vIFRvZ2dsZSBpY29uXG4gICAgICAgIC5rLXBhbmVsYmFyLWV4cGFuZCxcbiAgICAgICAgLmstcGFuZWxiYXItY29sbGFwc2UsXG4gICAgICAgIC5rLXBhbmVsYmFyLXRvZ2dsZSB7XG4gICAgICAgICAgICBtYXJnaW4taW5saW5lLXN0YXJ0OiBhdXRvO1xuICAgICAgICB9XG4gICAgfVxufVxuIiwiQHVzZSBcIi4uL2NvcmUvX2luZGV4LnNjc3NcIiBhcyAqO1xuQHVzZSBcIi4vX3ZhcmlhYmxlcy5zY3NzXCIgYXMgKjtcblxuQG1peGluIGtlbmRvLXBhbmVsYmFyLS10aGVtZSgpIHtcbiAgICAuay1wYW5lbGJhciB7XG4gICAgICAgIEBpbmNsdWRlIGZpbGwoXG4gICAgICAgICAgICB2YXIoIC0ta2VuZG8tcGFuZWxiYXItdGV4dCwgI3ska2VuZG8tcGFuZWxiYXItdGV4dH0gKSxcbiAgICAgICAgICAgIHZhciggLS1rZW5kby1wYW5lbGJhci1iZywgI3ska2VuZG8tcGFuZWxiYXItYmd9ICksXG4gICAgICAgICAgICB2YXIoIC0ta2VuZG8tcGFuZWxiYXItYm9yZGVyLCAjeyRrZW5kby1wYW5lbGJhci1ib3JkZXJ9IClcbiAgICAgICAgKTtcblxuXG4gICAgICAgIC8vIFJvb3RcbiAgICAgICAgPiAuay1wYW5lbGJhci1oZWFkZXIge1xuXG4gICAgICAgICAgICAmLmstZXhwYW5kZWQuay1sZXZlbC0wID4gLmstbGluayAge1xuICAgICAgICAgICAgICAgIC0tSU5URVJOQUwtLWtlbmRvLXBhbmVsYmFyLWhlYWRlci10ZXh0OiB2YXIoIC0ta2VuZG8tcGFuZWxiYXItaGVhZGVyLWV4cGFuZGVkLXRleHQsICN7JGtlbmRvLXBhbmVsYmFyLWhlYWRlci1leHBhbmRlZC10ZXh0fSApO1xuICAgICAgICAgICAgICAgIC0tSU5URVJOQUwtLWtlbmRvLXBhbmVsYmFyLWhlYWRlci1iZzogdmFyKCAtLWtlbmRvLXBhbmVsYmFyLWhlYWRlci1leHBhbmRlZC1iZywgI3ska2VuZG8tcGFuZWxiYXItaGVhZGVyLWV4cGFuZGVkLWJnfSApO1xuICAgICAgICAgICAgICAgIC0tSU5URVJOQUwtLWtlbmRvLXBhbmVsYmFyLWhlYWRlci1ib3JkZXI6IHZhciggLS1rZW5kby1wYW5lbGJhci1oZWFkZXItZXhwYW5kZWQtYmcsICN7JGtlbmRvLXBhbmVsYmFyLWhlYWRlci1leHBhbmRlZC1iZ30gKTtcblxuICAgICAgICAgICAgICAgIC8vIEhvdmVyXG4gICAgICAgICAgICAgICAgJjpob3ZlcixcbiAgICAgICAgICAgICAgICAmLmstaG92ZXIge1xuICAgICAgICAgICAgICAgICAgICAtLUlOVEVSTkFMLS1rZW5kby1wYW5lbGJhci1oZWFkZXItdGV4dDogdmFyKCAtLWtlbmRvLXBhbmVsYmFyLWhlYWRlci1ob3Zlci10ZXh0LCAjeyRrZW5kby1wYW5lbGJhci1oZWFkZXItaG92ZXItdGV4dH0gKTtcbiAgICAgICAgICAgICAgICAgICAgLS1JTlRFUk5BTC0ta2VuZG8tcGFuZWxiYXItaGVhZGVyLWJnOiB2YXIoIC0ta2VuZG8tcGFuZWxiYXItaGVhZGVyLWhvdmVyLWJnLCAjeyRrZW5kby1wYW5lbGJhci1oZWFkZXItaG92ZXItYmd9ICk7XG4gICAgICAgICAgICAgICAgICAgIC0tSU5URVJOQUwtLWtlbmRvLXBhbmVsYmFyLWhlYWRlci1ib3JkZXI6IHZhciggLS1rZW5kby1wYW5lbGJhci1oZWFkZXItaG92ZXItYm9yZGVyLCAjeyRrZW5kby1wYW5lbGJhci1oZWFkZXItaG92ZXItYm9yZGVyfSApO1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICYuay1zZWxlY3RlZCB7XG4gICAgICAgICAgICAgICAgICAgIC0tSU5URVJOQUwtLWtlbmRvLXBhbmVsYmFyLWhlYWRlci10ZXh0OiB2YXIoIC0ta2VuZG8tcGFuZWxiYXItaGVhZGVyLXNlbGVjdGVkLXRleHQsICN7JGtlbmRvLXBhbmVsYmFyLWhlYWRlci1zZWxlY3RlZC10ZXh0fSApO1xuICAgICAgICAgICAgICAgICAgICAtLUlOVEVSTkFMLS1rZW5kby1wYW5lbGJhci1oZWFkZXItYmc6IHZhciggLS1rZW5kby1wYW5lbGJhci1oZWFkZXItc2VsZWN0ZWQtYmcsICN7JGtlbmRvLXBhbmVsYmFyLWhlYWRlci1zZWxlY3RlZC1iZ30gKTtcbiAgICAgICAgICAgICAgICAgICAgLS1JTlRFUk5BTC0ta2VuZG8tcGFuZWxiYXItaGVhZGVyLWJvcmRlcjogdmFyKCAtLWtlbmRvLXBhbmVsYmFyLWhlYWRlci1zZWxlY3RlZC1ib3JkZXIsICN7JGtlbmRvLXBhbmVsYmFyLWhlYWRlci1zZWxlY3RlZC1ib3JkZXJ9ICk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAvLyBOb3JtYWxcbiAgICAgICAgICAgID4gLmstbGluayB7XG4gICAgICAgICAgICAgICAgLS1JTlRFUk5BTC0ta2VuZG8tcGFuZWxiYXItaGVhZGVyLXRleHQ6IHZhciggLS1rZW5kby1wYW5lbGJhci1oZWFkZXItdGV4dCwgI3ska2VuZG8tcGFuZWxiYXItaGVhZGVyLXRleHR9ICk7XG4gICAgICAgICAgICAgICAgLS1JTlRFUk5BTC0ta2VuZG8tcGFuZWxiYXItaGVhZGVyLWJnOiB2YXIoIC0ta2VuZG8tcGFuZWxiYXItaGVhZGVyLWJnLCAjeyRrZW5kby1wYW5lbGJhci1oZWFkZXItYmd9ICk7XG4gICAgICAgICAgICAgICAgLS1JTlRFUk5BTC0ta2VuZG8tcGFuZWxiYXItaGVhZGVyLWJvcmRlcjogdmFyKCAtLWtlbmRvLXBhbmVsYmFyLWhlYWRlci1ib3JkZXIsICN7JGtlbmRvLXBhbmVsYmFyLWhlYWRlci1ib3JkZXJ9ICk7XG5cbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBmaWxsKFxuICAgICAgICAgICAgICAgICAgICB2YXIoIC0tSU5URVJOQUwtLWtlbmRvLXBhbmVsYmFyLWhlYWRlci10ZXh0LCBpbmhlcml0ICksXG4gICAgICAgICAgICAgICAgICAgIHZhciggLS1JTlRFUk5BTC0ta2VuZG8tcGFuZWxiYXItaGVhZGVyLWJnLCBpbmhlcml0ICksXG4gICAgICAgICAgICAgICAgICAgIHZhciggLS1JTlRFUk5BTC0ta2VuZG8tcGFuZWxiYXItaGVhZGVyLWJvcmRlciwgaW5oZXJpdCApXG4gICAgICAgICAgICAgICAgKTtcblxuICAgICAgICAgICAgICAgIC5rLWljb24sXG4gICAgICAgICAgICAgICAgLmstcGFuZWxiYXItaXRlbS1pY29uIHtcbiAgICAgICAgICAgICAgICAgICAgY29sb3I6IHZhciggLS1rZW5kby1wYW5lbGJhci10ZXh0LCAjeyRrZW5kby1wYW5lbGJhci10ZXh0fSApO1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIC8vIEhvdmVyXG4gICAgICAgICAgICAgICAgJjpob3ZlcixcbiAgICAgICAgICAgICAgICAmLmstaG92ZXIge1xuICAgICAgICAgICAgICAgICAgICAtLUlOVEVSTkFMLS1rZW5kby1wYW5lbGJhci1oZWFkZXItdGV4dDogdmFyKCAtLWtlbmRvLXBhbmVsYmFyLWhlYWRlci1ob3Zlci10ZXh0LCAjeyRrZW5kby1wYW5lbGJhci1oZWFkZXItaG92ZXItdGV4dH0gKTtcbiAgICAgICAgICAgICAgICAgICAgLS1JTlRFUk5BTC0ta2VuZG8tcGFuZWxiYXItaGVhZGVyLWJnOiB2YXIoIC0ta2VuZG8tcGFuZWxiYXItaGVhZGVyLWhvdmVyLWJnLCAjeyRrZW5kby1wYW5lbGJhci1oZWFkZXItaG92ZXItYmd9ICk7XG4gICAgICAgICAgICAgICAgICAgIC0tSU5URVJOQUwtLWtlbmRvLXBhbmVsYmFyLWhlYWRlci1ib3JkZXI6IHZhciggLS1rZW5kby1wYW5lbGJhci1oZWFkZXItaG92ZXItYm9yZGVyLCAjeyRrZW5kby1wYW5lbGJhci1oZWFkZXItaG92ZXItYm9yZGVyfSApO1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIC8vIEZvY3VzXG4gICAgICAgICAgICAgICAgJjpmb2N1cyxcbiAgICAgICAgICAgICAgICAmLmstZm9jdXMge1xuICAgICAgICAgICAgICAgICAgICAtLUlOVEVSTkFMLS1rZW5kby1wYW5lbGJhci1oZWFkZXItdGV4dDogdmFyKCAtLWtlbmRvLXBhbmVsYmFyLWhlYWRlci1mb2N1cy10ZXh0LCAjeyRrZW5kby1wYW5lbGJhci1oZWFkZXItZm9jdXMtdGV4dH0gKTtcbiAgICAgICAgICAgICAgICAgICAgLS1JTlRFUk5BTC0ta2VuZG8tcGFuZWxiYXItaGVhZGVyLWJnOiB2YXIoIC0ta2VuZG8tcGFuZWxiYXItaGVhZGVyLWZvY3VzLWJnLCAjeyRrZW5kby1wYW5lbGJhci1oZWFkZXItZm9jdXMtYmd9ICk7XG4gICAgICAgICAgICAgICAgICAgIC0tSU5URVJOQUwtLWtlbmRvLXBhbmVsYmFyLWhlYWRlci1ib3JkZXI6IHZhciggLS1rZW5kby1wYW5lbGJhci1oZWFkZXItZm9jdXMtYm9yZGVyLCAjeyRrZW5kby1wYW5lbGJhci1oZWFkZXItZm9jdXMtYm9yZGVyfSApO1xuXG4gICAgICAgICAgICAgICAgICAgIGJveC1zaGFkb3c6IHZhciggLS1rZW5kby1wYW5lbGJhci1oZWFkZXItZm9jdXMtc2hhZG93LCAjeyRrZW5kby1wYW5lbGJhci1oZWFkZXItZm9jdXMtc2hhZG93fSApO1xuXG4gICAgICAgICAgICAgICAgICAgIC8vIEZvY3VzICYgSG92ZXJcbiAgICAgICAgICAgICAgICAgICAgJjpob3ZlcixcbiAgICAgICAgICAgICAgICAgICAgJi5rLWhvdmVyIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIC0tSU5URVJOQUwtLWtlbmRvLXBhbmVsYmFyLWhlYWRlci10ZXh0OiB2YXIoIC0ta2VuZG8tcGFuZWxiYXItaGVhZGVyLWhvdmVyLWZvY3VzLXRleHQsICN7JGtlbmRvLXBhbmVsYmFyLWhlYWRlci1ob3Zlci1mb2N1cy10ZXh0fSApO1xuICAgICAgICAgICAgICAgICAgICAgICAgLS1JTlRFUk5BTC0ta2VuZG8tcGFuZWxiYXItaGVhZGVyLWJnOiB2YXIoIC0ta2VuZG8tcGFuZWxiYXItaGVhZGVyLWhvdmVyLWZvY3VzLWJnLCAjeyRrZW5kby1wYW5lbGJhci1oZWFkZXItaG92ZXItZm9jdXMtYmd9ICk7XG4gICAgICAgICAgICAgICAgICAgICAgICAtLUlOVEVSTkFMLS1rZW5kby1wYW5lbGJhci1oZWFkZXItYm9yZGVyOiB2YXIoIC0ta2VuZG8tcGFuZWxiYXItaGVhZGVyLWhvdmVyLWZvY3VzLWJvcmRlciwgI3ska2VuZG8tcGFuZWxiYXItaGVhZGVyLWhvdmVyLWZvY3VzLWJvcmRlcn0gKTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIC8vIFNlbGVjdGVkXG4gICAgICAgICAgICAgICAgJi5rLXNlbGVjdGVkIHtcbiAgICAgICAgICAgICAgICAgICAgLS1JTlRFUk5BTC0ta2VuZG8tcGFuZWxiYXItaGVhZGVyLXRleHQ6IHZhciggLS1rZW5kby1wYW5lbGJhci1oZWFkZXItc2VsZWN0ZWQtdGV4dCwgI3ska2VuZG8tcGFuZWxiYXItaGVhZGVyLXNlbGVjdGVkLXRleHR9ICk7XG4gICAgICAgICAgICAgICAgICAgIC0tSU5URVJOQUwtLWtlbmRvLXBhbmVsYmFyLWhlYWRlci1iZzogdmFyKCAtLWtlbmRvLXBhbmVsYmFyLWhlYWRlci1zZWxlY3RlZC1iZywgI3ska2VuZG8tcGFuZWxiYXItaGVhZGVyLXNlbGVjdGVkLWJnfSApO1xuICAgICAgICAgICAgICAgICAgICAtLUlOVEVSTkFMLS1rZW5kby1wYW5lbGJhci1oZWFkZXItYm9yZGVyOiB2YXIoIC0ta2VuZG8tcGFuZWxiYXItaGVhZGVyLXNlbGVjdGVkLWJvcmRlciwgI3ska2VuZG8tcGFuZWxiYXItaGVhZGVyLXNlbGVjdGVkLWJvcmRlcn0gKTtcblxuICAgICAgICAgICAgICAgICAgICAuay1pY29uLFxuICAgICAgICAgICAgICAgICAgICAuay1wYW5lbGJhci1pdGVtLWljb24ge1xuICAgICAgICAgICAgICAgICAgICAgICAgY29sb3I6IGluaGVyaXQ7XG4gICAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICAgICAmOjpiZWZvcmUge1xuICAgICAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKCAtLWtlbmRvLXBhbmVsYmFyLXNlbGVjdGVkLW1hcmtlciwgI3ska2VuZG8tcGFuZWxiYXItc2VsZWN0ZWQtbWFya2VyfSApO1xuICAgICAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAgICAgLy8gU2VsZWN0ZWQgSG92ZXJcbiAgICAgICAgICAgICAgICAgICAgJjpob3ZlcixcbiAgICAgICAgICAgICAgICAgICAgJi5rLWhvdmVyIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIC0tSU5URVJOQUwtLWtlbmRvLXBhbmVsYmFyLWhlYWRlci10ZXh0OiB2YXIoIC0ta2VuZG8tcGFuZWxiYXItaGVhZGVyLXNlbGVjdGVkLWhvdmVyLXRleHQsICN7JGtlbmRvLXBhbmVsYmFyLWhlYWRlci1zZWxlY3RlZC1ob3Zlci10ZXh0fSApO1xuICAgICAgICAgICAgICAgICAgICAgICAgLS1JTlRFUk5BTC0ta2VuZG8tcGFuZWxiYXItaGVhZGVyLWJnOiB2YXIoIC0ta2VuZG8tcGFuZWxiYXItaGVhZGVyLXNlbGVjdGVkLWhvdmVyLWJnLCAjeyRrZW5kby1wYW5lbGJhci1oZWFkZXItc2VsZWN0ZWQtaG92ZXItYmd9ICk7XG4gICAgICAgICAgICAgICAgICAgICAgICAtLUlOVEVSTkFMLS1rZW5kby1wYW5lbGJhci1oZWFkZXItYm9yZGVyOiB2YXIoIC0ta2VuZG8tcGFuZWxiYXItaGVhZGVyLXNlbGVjdGVkLWhvdmVyLWJvcmRlciwgI3ska2VuZG8tcGFuZWxiYXItaGVhZGVyLXNlbGVjdGVkLWhvdmVyLWJvcmRlcn0gKTtcbiAgICAgICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgICAgIC8vIFNlbGVjdGVkIEZvY3VzXG4gICAgICAgICAgICAgICAgICAgICY6Zm9jdXMsXG4gICAgICAgICAgICAgICAgICAgICYuay1mb2N1cyB7XG4gICAgICAgICAgICAgICAgICAgICAgICAtLUlOVEVSTkFMLS1rZW5kby1wYW5lbGJhci1oZWFkZXItdGV4dDogdmFyKCAtLWtlbmRvLXBhbmVsYmFyLWhlYWRlci1zZWxlY3RlZC1mb2N1cy10ZXh0LCAjeyRrZW5kby1wYW5lbGJhci1oZWFkZXItc2VsZWN0ZWQtZm9jdXMtdGV4dH0gKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIC0tSU5URVJOQUwtLWtlbmRvLXBhbmVsYmFyLWhlYWRlci1iZzogdmFyKCAtLWtlbmRvLXBhbmVsYmFyLWhlYWRlci1zZWxlY3RlZC1mb2N1cy1iZywgI3ska2VuZG8tcGFuZWxiYXItaGVhZGVyLXNlbGVjdGVkLWZvY3VzLWJnfSApO1xuICAgICAgICAgICAgICAgICAgICAgICAgLS1JTlRFUk5BTC0ta2VuZG8tcGFuZWxiYXItaGVhZGVyLWJvcmRlcjogdmFyKCAtLWtlbmRvLXBhbmVsYmFyLWhlYWRlci1zZWxlY3RlZC1mb2N1cy1ib3JkZXIsICN7JGtlbmRvLXBhbmVsYmFyLWhlYWRlci1zZWxlY3RlZC1mb2N1cy1ib3JkZXJ9ICk7XG5cbiAgICAgICAgICAgICAgICAgICAgICAgIC8vIFNlbGVjdGVkIEZvY3VzICYgSG92ZXJcbiAgICAgICAgICAgICAgICAgICAgICAgICY6aG92ZXIsXG4gICAgICAgICAgICAgICAgICAgICAgICAmLmstaG92ZXIge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIC0tSU5URVJOQUwtLWtlbmRvLXBhbmVsYmFyLWhlYWRlci10ZXh0OiB2YXIoIC0ta2VuZG8tcGFuZWxiYXItaGVhZGVyLXNlbGVjdGVkLWhvdmVyLWZvY3VzLXRleHQsICN7JGtlbmRvLXBhbmVsYmFyLWhlYWRlci1zZWxlY3RlZC1ob3Zlci1mb2N1cy10ZXh0fSApO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIC0tSU5URVJOQUwtLWtlbmRvLXBhbmVsYmFyLWhlYWRlci1iZzogdmFyKCAtLWtlbmRvLXBhbmVsYmFyLWhlYWRlci1zZWxlY3RlZC1ob3Zlci1mb2N1cy1iZywgI3ska2VuZG8tcGFuZWxiYXItaGVhZGVyLXNlbGVjdGVkLWhvdmVyLWZvY3VzLWJnfSApO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIC0tSU5URVJOQUwtLWtlbmRvLXBhbmVsYmFyLWhlYWRlci1ib3JkZXI6IHZhciggLS1rZW5kby1wYW5lbGJhci1oZWFkZXItc2VsZWN0ZWQtaG92ZXItZm9jdXMtYm9yZGVyLCAjeyRrZW5kby1wYW5lbGJhci1oZWFkZXItc2VsZWN0ZWQtaG92ZXItZm9jdXMtYm9yZGVyfSApO1xuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgJjpkaXNhYmxlZCxcbiAgICAgICAgICAgICAgICAmLmstZGlzYWJsZWQge1xuICAgICAgICAgICAgICAgICAgICAtLUlOVEVSTkFMLS1rZW5kby1wYW5lbGJhci1oZWFkZXItdGV4dDogdmFyKCAtLWtlbmRvLWRpc2FibGVkLXRleHQsIGluaGVyaXQgKTtcblxuICAgICAgICAgICAgICAgICAgICAuay1pY29uLFxuICAgICAgICAgICAgICAgICAgICAuay1wYW5lbGJhci1pdGVtLWljb24ge1xuICAgICAgICAgICAgICAgICAgICAgICAgY29sb3I6IGluaGVyaXQ7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICY6ZGlzYWJsZWQsXG4gICAgICAgICAgICAmLmstZGlzYWJsZWQge1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuXG4gICAgICAgICAgICAgICAgPiAuay1saW5rIHtcbiAgICAgICAgICAgICAgICAgICAgLS1JTlRFUk5BTC0ta2VuZG8tcGFuZWxiYXItaGVhZGVyLXRleHQ6IHZhciggLS1rZW5kby1kaXNhYmxlZC10ZXh0LCBpbmhlcml0ICk7XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgLmstaWNvbixcbiAgICAgICAgICAgICAgICAuay1wYW5lbGJhci1pdGVtLWljb24ge1xuICAgICAgICAgICAgICAgICAgICBjb2xvcjogaW5oZXJpdDtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuXG4gICAgICAgIC8vIFN1YlxuXG4gICAgICAgIC5rLXBhbmVsYmFyLWdyb3VwID4gLmstcGFuZWxiYXItaXRlbSB7XG5cbiAgICAgICAgICAgID4gLmstbGluayB7XG5cbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBmaWxsKFxuICAgICAgICAgICAgICAgICAgICB2YXIoIC0tSU5URVJOQUwtLWtlbmRvLXBhbmVsYmFyLWl0ZW0tdGV4dCwgaW5oZXJpdCApLFxuICAgICAgICAgICAgICAgICAgICB2YXIoIC0tSU5URVJOQUwtLWtlbmRvLXBhbmVsYmFyLWl0ZW0tYmcsIGluaGVyaXQgKSxcbiAgICAgICAgICAgICAgICAgICAgdmFyKCAtLUlOVEVSTkFMLS1rZW5kby1wYW5lbGJhci1pdGVtLWJvcmRlciwgaW5oZXJpdCApXG4gICAgICAgICAgICAgICAgKTtcblxuICAgICAgICAgICAgICAgIC5rLWljb24sXG4gICAgICAgICAgICAgICAgLmstcGFuZWxiYXItaXRlbS1pY29uIHtcbiAgICAgICAgICAgICAgICAgICAgY29sb3I6IHZhciggLS1rZW5kby1wYW5lbGJhci10ZXh0LCAjeyRrZW5kby1wYW5lbGJhci10ZXh0fSApO1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICY6aG92ZXIsXG4gICAgICAgICAgICAgICAgJi5rLWhvdmVyIHtcbiAgICAgICAgICAgICAgICAgICAgLS1JTlRFUk5BTC0ta2VuZG8tcGFuZWxiYXItaXRlbS10ZXh0OiB2YXIoIC0ta2VuZG8tcGFuZWxiYXItaXRlbS1ob3Zlci10ZXh0LCAjeyRrZW5kby1wYW5lbGJhci1pdGVtLWhvdmVyLXRleHR9ICk7XG4gICAgICAgICAgICAgICAgICAgIC0tSU5URVJOQUwtLWtlbmRvLXBhbmVsYmFyLWl0ZW0tYmc6IHZhciggLS1rZW5kby1wYW5lbGJhci1pdGVtLWhvdmVyLWJnLCAjeyRrZW5kby1wYW5lbGJhci1pdGVtLWhvdmVyLWJnfSApO1xuICAgICAgICAgICAgICAgICAgICAtLUlOVEVSTkFMLS1rZW5kby1wYW5lbGJhci1pdGVtLWJvcmRlcjogdmFyKCAtLWtlbmRvLXBhbmVsYmFyLWl0ZW0taG92ZXItYm9yZGVyLCAjeyRrZW5kby1wYW5lbGJhci1pdGVtLWhvdmVyLWJvcmRlcn0gKTtcbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAmOmZvY3VzLFxuICAgICAgICAgICAgICAgICYuay1mb2N1cyB7XG4gICAgICAgICAgICAgICAgICAgIC0tSU5URVJOQUwtLWtlbmRvLXBhbmVsYmFyLWl0ZW0tdGV4dDogdmFyKCAtLWtlbmRvLXBhbmVsYmFyLWl0ZW0tZm9jdXMtdGV4dCwgI3ska2VuZG8tcGFuZWxiYXItaXRlbS1mb2N1cy10ZXh0fSApO1xuICAgICAgICAgICAgICAgICAgICAtLUlOVEVSTkFMLS1rZW5kby1wYW5lbGJhci1pdGVtLWJnOiB2YXIoIC0ta2VuZG8tcGFuZWxiYXItaXRlbS1mb2N1cy1iZywgI3ska2VuZG8tcGFuZWxiYXItaXRlbS1mb2N1cy1iZ30gKTtcbiAgICAgICAgICAgICAgICAgICAgLS1JTlRFUk5BTC0ta2VuZG8tcGFuZWxiYXItaXRlbS1ib3JkZXI6IHZhciggLS1rZW5kby1wYW5lbGJhci1pdGVtLWZvY3VzLWJvcmRlciwgI3ska2VuZG8tcGFuZWxiYXItaXRlbS1mb2N1cy1ib3JkZXJ9ICk7XG5cbiAgICAgICAgICAgICAgICAgICAgYm94LXNoYWRvdzogdmFyKCAtLWtlbmRvLXBhbmVsYmFyLWl0ZW0tZm9jdXMtc2hhZG93LCAjeyRrZW5kby1wYW5lbGJhci1pdGVtLWZvY3VzLXNoYWRvd30gKTtcblxuICAgICAgICAgICAgICAgICAgICAmOmhvdmVyLFxuICAgICAgICAgICAgICAgICAgICAmLmstaG92ZXIge1xuICAgICAgICAgICAgICAgICAgICAgICAgLS1JTlRFUk5BTC0ta2VuZG8tcGFuZWxiYXItaXRlbS10ZXh0OiB2YXIoIC0ta2VuZG8tcGFuZWxiYXItaXRlbS1ob3Zlci1mb2N1cy10ZXh0LCAjeyRrZW5kby1wYW5lbGJhci1pdGVtLWhvdmVyLWZvY3VzLXRleHR9ICk7XG4gICAgICAgICAgICAgICAgICAgICAgICAtLUlOVEVSTkFMLS1rZW5kby1wYW5lbGJhci1pdGVtLWJnOiB2YXIoIC0ta2VuZG8tcGFuZWxiYXItaXRlbS1ob3Zlci1mb2N1cy1iZywgI3ska2VuZG8tcGFuZWxiYXItaXRlbS1ob3Zlci1mb2N1cy1iZ30gKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIC0tSU5URVJOQUwtLWtlbmRvLXBhbmVsYmFyLWl0ZW0tYm9yZGVyOiB2YXIoIC0ta2VuZG8tcGFuZWxiYXItaXRlbS1ob3Zlci1mb2N1cy1ib3JkZXIsICN7JGtlbmRvLXBhbmVsYmFyLWl0ZW0taG92ZXItZm9jdXMtYm9yZGVyfSApO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgJi5rLXNlbGVjdGVkIHtcbiAgICAgICAgICAgICAgICAgICAgLS1JTlRFUk5BTC0ta2VuZG8tcGFuZWxiYXItaXRlbS10ZXh0OiB2YXIoIC0ta2VuZG8tcGFuZWxiYXItaXRlbS1zZWxlY3RlZC10ZXh0LCAjeyRrZW5kby1wYW5lbGJhci1pdGVtLXNlbGVjdGVkLXRleHR9ICk7XG4gICAgICAgICAgICAgICAgICAgIC0tSU5URVJOQUwtLWtlbmRvLXBhbmVsYmFyLWl0ZW0tYmc6IHZhciggLS1rZW5kby1wYW5lbGJhci1pdGVtLXNlbGVjdGVkLWJnLCAjeyRrZW5kby1wYW5lbGJhci1pdGVtLXNlbGVjdGVkLWJnfSApO1xuICAgICAgICAgICAgICAgICAgICAtLUlOVEVSTkFMLS1rZW5kby1wYW5lbGJhci1pdGVtLWJvcmRlcjogdmFyKCAtLWtlbmRvLXBhbmVsYmFyLWl0ZW0tc2VsZWN0ZWQtYm9yZGVyLCAjeyRrZW5kby1wYW5lbGJhci1pdGVtLXNlbGVjdGVkLWJvcmRlcn0gKTtcblxuICAgICAgICAgICAgICAgICAgICAmOjpiZWZvcmUge1xuICAgICAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKCAtLWtlbmRvLXBhbmVsYmFyLXNlbGVjdGVkLW1hcmtlciwgI3ska2VuZG8tcGFuZWxiYXItc2VsZWN0ZWQtbWFya2VyfSApO1xuICAgICAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAgICAgJjpob3ZlcixcbiAgICAgICAgICAgICAgICAgICAgJi5rLWhvdmVyIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIC0tSU5URVJOQUwtLWtlbmRvLXBhbmVsYmFyLWl0ZW0tdGV4dDogdmFyKCAtLWtlbmRvLXBhbmVsYmFyLWl0ZW0tc2VsZWN0ZWQtaG92ZXItdGV4dCwgI3ska2VuZG8tcGFuZWxiYXItaXRlbS1zZWxlY3RlZC1ob3Zlci10ZXh0fSApO1xuICAgICAgICAgICAgICAgICAgICAgICAgLS1JTlRFUk5BTC0ta2VuZG8tcGFuZWxiYXItaXRlbS1iZzogdmFyKCAtLWtlbmRvLXBhbmVsYmFyLWl0ZW0tc2VsZWN0ZWQtaG92ZXItYmcsICN7JGtlbmRvLXBhbmVsYmFyLWl0ZW0tc2VsZWN0ZWQtaG92ZXItYmd9ICk7XG4gICAgICAgICAgICAgICAgICAgICAgICAtLUlOVEVSTkFMLS1rZW5kby1wYW5lbGJhci1pdGVtLWJvcmRlcjogdmFyKCAtLWtlbmRvLXBhbmVsYmFyLWl0ZW0tc2VsZWN0ZWQtaG92ZXItYm9yZGVyLCAjeyRrZW5kby1wYW5lbGJhci1pdGVtLXNlbGVjdGVkLWhvdmVyLWJvcmRlcn0gKTtcbiAgICAgICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgICAgICY6Zm9jdXMsXG4gICAgICAgICAgICAgICAgICAgICYuay1mb2N1cyB7XG4gICAgICAgICAgICAgICAgICAgICAgICAtLUlOVEVSTkFMLS1rZW5kby1wYW5lbGJhci1pdGVtLXRleHQ6IHZhciggLS1rZW5kby1wYW5lbGJhci1pdGVtLXNlbGVjdGVkLWZvY3VzLXRleHQsICN7JGtlbmRvLXBhbmVsYmFyLWl0ZW0tc2VsZWN0ZWQtZm9jdXMtdGV4dH0gKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIC0tSU5URVJOQUwtLWtlbmRvLXBhbmVsYmFyLWl0ZW0tYmc6IHZhciggLS1rZW5kby1wYW5lbGJhci1pdGVtLXNlbGVjdGVkLWZvY3VzLWJnLCAjeyRrZW5kby1wYW5lbGJhci1pdGVtLXNlbGVjdGVkLWZvY3VzLWJnfSApO1xuICAgICAgICAgICAgICAgICAgICAgICAgLS1JTlRFUk5BTC0ta2VuZG8tcGFuZWxiYXItaXRlbS1ib3JkZXI6IHZhciggLS1rZW5kby1wYW5lbGJhci1pdGVtLXNlbGVjdGVkLWZvY3VzLWJvcmRlciwgI3ska2VuZG8tcGFuZWxiYXItaXRlbS1zZWxlY3RlZC1mb2N1cy1ib3JkZXJ9ICk7XG5cbiAgICAgICAgICAgICAgICAgICAgICAgIC8vIFNlbGVjdGVkIEZvY3VzICYgSG92ZXJcbiAgICAgICAgICAgICAgICAgICAgICAgICY6aG92ZXIsXG4gICAgICAgICAgICAgICAgICAgICAgICAmLmstaG92ZXIge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIC0tSU5URVJOQUwtLWtlbmRvLXBhbmVsYmFyLWl0ZW0tdGV4dDogdmFyKCAtLWtlbmRvLXBhbmVsYmFyLWl0ZW0tc2VsZWN0ZWQtaG92ZXItZm9jdXMtdGV4dCwgI3ska2VuZG8tcGFuZWxiYXItaXRlbS1zZWxlY3RlZC1ob3Zlci1mb2N1cy10ZXh0fSApO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIC0tSU5URVJOQUwtLWtlbmRvLXBhbmVsYmFyLWl0ZW0tYmc6IHZhciggLS1rZW5kby1wYW5lbGJhci1pdGVtLXNlbGVjdGVkLWhvdmVyLWZvY3VzLWJnLCAjeyRrZW5kby1wYW5lbGJhci1pdGVtLXNlbGVjdGVkLWhvdmVyLWZvY3VzLWJnfSApO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIC0tSU5URVJOQUwtLWtlbmRvLXBhbmVsYmFyLWl0ZW0tYm9yZGVyOiB2YXIoIC0ta2VuZG8tcGFuZWxiYXItaXRlbS1zZWxlY3RlZC1ob3Zlci1mb2N1cy1ib3JkZXIsICN7JGtlbmRvLXBhbmVsYmFyLWl0ZW0tc2VsZWN0ZWQtaG92ZXItZm9jdXMtYm9yZGVyfSApO1xuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgJi5rLWRpc2FibGVkIHtcbiAgICAgICAgICAgICAgICAgICAgLS1JTlRFUk5BTC0ta2VuZG8tcGFuZWxiYXItaXRlbS10ZXh0OiB2YXIoIC0ta2VuZG8tZGlzYWJsZWQtdGV4dCwgaW5oZXJpdCApO1xuXG4gICAgICAgICAgICAgICAgICAgIC5rLWljb24sXG4gICAgICAgICAgICAgICAgICAgIC5rLXBhbmVsYmFyLWl0ZW0taWNvbiB7XG4gICAgICAgICAgICAgICAgICAgICAgICBjb2xvcjogaW5oZXJpdDtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgJjpkaXNhYmxlZCxcbiAgICAgICAgICAgICYuay1kaXNhYmxlZCB7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG5cbiAgICAgICAgICAgICAgICA+IC5rLWxpbmsge1xuICAgICAgICAgICAgICAgICAgICAtLUlOVEVSTkFMLS1rZW5kby1wYW5lbGJhci1pdGVtLXRleHQ6IHZhciggLS1rZW5kby1kaXNhYmxlZC10ZXh0LCBpbmhlcml0ICk7XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgLmstaWNvbixcbiAgICAgICAgICAgICAgICAuay1wYW5lbGJhci1pdGVtLWljb24ge1xuICAgICAgICAgICAgICAgICAgICBjb2xvcjogaW5oZXJpdDtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG59XG4iLCJAdXNlIFwiLi4vY29yZS9faW5kZXguc2Nzc1wiIGFzICo7XG5AdXNlIFwiLi9fdmFyaWFibGVzLnNjc3NcIiBhcyAqO1xuXG5AbWl4aW4ga2VuZG8tc3BsaXR0ZXItLWxheW91dCgpIHtcblxuICAgIC8vIEJhc2VcbiAgICAuay1zcGxpdHRlciB7XG4gICAgICAgIGhlaWdodDogMzAwcHg7XG4gICAgICAgIGJvcmRlci13aWR0aDogdmFyKCAtLWtlbmRvLXNwbGl0dGVyLWJvcmRlci13aWR0aCwgI3ska2VuZG8tc3BsaXR0ZXItYm9yZGVyLXdpZHRofSApO1xuICAgICAgICBib3JkZXItc3R5bGU6IHNvbGlkO1xuICAgICAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgICAgICBvdXRsaW5lOiAwO1xuICAgICAgICBmb250LWZhbWlseTogdmFyKCAtLWtlbmRvLXNwbGl0dGVyLWZvbnQtZmFtaWx5LCAjeyRrZW5kby1zcGxpdHRlci1mb250LWZhbWlseX0gKTtcbiAgICAgICAgZm9udC1zaXplOiB2YXIoIC0ta2VuZG8tc3BsaXR0ZXItZm9udC1zaXplLCAjeyRrZW5kby1zcGxpdHRlci1mb250LXNpemV9ICk7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiB2YXIoIC0ta2VuZG8tc3BsaXR0ZXItbGluZS1oZWlnaHQsICN7JGtlbmRvLXNwbGl0dGVyLWxpbmUtaGVpZ2h0fSApO1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICAtd2Via2l0LXRvdWNoLWNhbGxvdXQ6IG5vbmU7XG4gICAgICAgIC13ZWJraXQtdGFwLWhpZ2hsaWdodC1jb2xvcjogJGtlbmRvLWNvbG9yLXJnYmEtdHJhbnNwYXJlbnQ7XG5cbiAgICAgICAgLy8gUGFuZVxuICAgICAgICAuay1wYW5lIHtcbiAgICAgICAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgICAgICAgICBib3gtc2l6aW5nOmJvcmRlci1ib3g7XG4gICAgICAgIH1cbiAgICAgICAgLmstc2Nyb2xsYWJsZSB7XG4gICAgICAgICAgICBvdmVyZmxvdzogYXV0bztcbiAgICAgICAgfVxuICAgICAgICAuay1zcGxpdHRlci1yZXNpemluZyB7XG4gICAgICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgICAgICB9XG4gICAgICAgIC8vIExvYWRpbmdcbiAgICAgICAgLmstcGFuZS1sb2FkaW5nIHtcbiAgICAgICAgICAgIHBvc2l0aW9uOiBzdGF0aWM7XG4gICAgICAgICAgICB0b3A6IDUwJTtcbiAgICAgICAgICAgIGxlZnQ6IDUwJTtcbiAgICAgICAgfVxuXG4gICAgfVxuXG5cbiAgICAvLyBTcGxpdGJhclxuICAgIC5rLWdob3N0LXNwbGl0YmFyLFxuICAgIC5rLXNwbGl0YmFyIHtcbiAgICAgICAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcbiAgICAgICAgb3V0bGluZTogMDtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB1c2VyLXNlbGVjdDogbm9uZTtcbiAgICAgICAgdG91Y2gtYWN0aW9uOiBub25lO1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcblxuICAgICAgICAuay1jb2xsYXBzZS1wcmV2LFxuICAgICAgICAuay1jb2xsYXBzZS1uZXh0IHtcbiAgICAgICAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAgICAgICAgIHBhZGRpbmc6IHZhciggLS1rZW5kby1zcGxpdHRlci1jb2xsYXBzZS1pY29uLXBhZGRpbmcteSwgI3ska2VuZG8tc3BsaXR0ZXItY29sbGFwc2UtaWNvbi1wYWRkaW5nLXl9ICkgdmFyKCAtLWtlbmRvLXNwbGl0dGVyLWNvbGxhcHNlLWljb24tcGFkZGluZy14LCAjeyRrZW5kby1zcGxpdHRlci1jb2xsYXBzZS1pY29uLXBhZGRpbmcteH0gKTtcbiAgICAgICAgfVxuXG4gICAgfVxuXG4gICAgLmstc3BsaXRiYXItZHJhZ2dhYmxlLWhvcml6b250YWwgeyBjdXJzb3I6IGNvbC1yZXNpemU7IH1cbiAgICAuay1zcGxpdGJhci1kcmFnZ2FibGUtdmVydGljYWwgeyBjdXJzb3I6IHJvdy1yZXNpemU7IH1cblxuICAgIC5rLWdob3N0LXNwbGl0YmFyLWhvcml6b250YWwsXG4gICAgLmstc3BsaXRiYXItaG9yaXpvbnRhbCB7XG4gICAgICAgIHdpZHRoOiB2YXIoIC0ta2VuZG8tc3BsaXR0ZXItc3BsaXRiYXItc2l6ZSwgI3ska2VuZG8tc3BsaXR0ZXItc3BsaXRiYXItc2l6ZX0gKTtcbiAgICAgICAgYm9yZGVyLXdpZHRoOiAwO1xuICAgICAgICBiYWNrZ3JvdW5kLXJlcGVhdDogcmVwZWF0LXk7XG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICAgIHRvcDogMDtcbiAgICB9XG4gICAgLmstZ2hvc3Qtc3BsaXRiYXItdmVydGljYWwsXG4gICAgLmstc3BsaXRiYXItdmVydGljYWwge1xuICAgICAgICBoZWlnaHQ6IHZhciggLS1rZW5kby1zcGxpdHRlci1zcGxpdGJhci1zaXplLCAjeyRrZW5kby1zcGxpdHRlci1zcGxpdGJhci1zaXplfSApO1xuICAgICAgICBib3JkZXItd2lkdGg6IDA7XG4gICAgICAgIGJhY2tncm91bmQtcmVwZWF0OiByZXBlYXQteDtcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgICAgICAgbGVmdDogMDtcbiAgICB9XG5cbiAgICAuay1zcGxpdGJhci1zdGF0aWMtaG9yaXpvbnRhbCB7XG4gICAgICAgIHdpZHRoOiB2YXIoIC0ta2VuZG8tc3BsaXR0ZXItc3BsaXRiYXItc3RhdGljLXNpemUsICN7JGtlbmRvLXNwbGl0dGVyLXNwbGl0YmFyLXN0YXRpYy1zaXplfSApO1xuICAgIH1cbiAgICAuay1zcGxpdGJhci1zdGF0aWMtdmVydGljYWwge1xuICAgICAgICBoZWlnaHQ6IHZhciggLS1rZW5kby1zcGxpdHRlci1zcGxpdGJhci1zdGF0aWMtc2l6ZSwgI3ska2VuZG8tc3BsaXR0ZXItc3BsaXRiYXItc3RhdGljLXNpemV9ICk7XG4gICAgfVxuXG4gICAgLmstc3BsaXRiYXItZHJhZ2dhYmxlLWhvcml6b250YWwgLmstcmVzaXplLWhhbmRsZSB7XG4gICAgICAgIHdpZHRoOiB2YXIoIC0ta2VuZG8tc3BsaXR0ZXItZHJhZy1oYW5kbGUtdGhpY2tuZXNzLCAjeyRrZW5kby1zcGxpdHRlci1kcmFnLWhhbmRsZS10aGlja25lc3N9ICk7XG4gICAgICAgIGhlaWdodDogdmFyKCAtLWtlbmRvLXNwbGl0dGVyLWRyYWctaGFuZGxlLWxlbmd0aCwgI3ska2VuZG8tc3BsaXR0ZXItZHJhZy1oYW5kbGUtbGVuZ3RofSApO1xuICAgICAgICBwb3NpdGlvbjogc3RhdGljO1xuICAgICAgICB6LWluZGV4OiAxO1xuICAgIH1cblxuICAgIC5rLXNwbGl0YmFyIC5rLXJlc2l6ZS1oYW5kbGUge1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBjdXJyZW50Q29sb3I7XG4gICAgfVxuXG4gICAgLmstc3BsaXRiYXItZHJhZ2dhYmxlLWhvcml6b250YWwsXG4gICAgLmstc3BsaXRiYXItZHJhZ2dhYmxlLXZlcnRpY2FsIHtcblxuICAgICAgICAuay1yZXNpemUtaGFuZGxlIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLmstc3BsaXRiYXItaG9yaXpvbnRhbCAuay1jb2xsYXBzZS1wcmV2IHtcbiAgICAgICAgbWFyZ2luLWJsb2NrLWVuZDogdmFyKCAtLWtlbmRvLXNwbGl0dGVyLWRyYWctaWNvbi1tYXJnaW4sICN7JGtlbmRvLXNwbGl0dGVyLWRyYWctaWNvbi1tYXJnaW59ICk7XG4gICAgfVxuXG4gICAgLmstc3BsaXRiYXItaG9yaXpvbnRhbCAuay1jb2xsYXBzZS1uZXh0IHtcbiAgICAgICAgbWFyZ2luLWJsb2NrLXN0YXJ0OiB2YXIoIC0ta2VuZG8tc3BsaXR0ZXItZHJhZy1pY29uLW1hcmdpbiwgI3ska2VuZG8tc3BsaXR0ZXItZHJhZy1pY29uLW1hcmdpbn0gKTtcbiAgICB9XG5cbiAgICAuay1zcGxpdGJhci12ZXJ0aWNhbCAuay1jb2xsYXBzZS1wcmV2IHtcbiAgICAgICAgbWFyZ2luLWlubGluZS1lbmQ6IHZhciggLS1rZW5kby1zcGxpdHRlci1kcmFnLWljb24tbWFyZ2luLCAjeyRrZW5kby1zcGxpdHRlci1kcmFnLWljb24tbWFyZ2lufSApO1xuICAgIH1cblxuICAgIC5rLXNwbGl0YmFyLXZlcnRpY2FsIC5rLWNvbGxhcHNlLW5leHQge1xuICAgICAgICBtYXJnaW4taW5saW5lLXN0YXJ0OiB2YXIoIC0ta2VuZG8tc3BsaXR0ZXItZHJhZy1pY29uLW1hcmdpbiwgI3ska2VuZG8tc3BsaXR0ZXItZHJhZy1pY29uLW1hcmdpbn0gKTtcbiAgICB9XG5cbiAgICAuay1zcGxpdGJhci1kcmFnZ2FibGUtdmVydGljYWwgLmstcmVzaXplLWhhbmRsZSB7XG4gICAgICAgIHdpZHRoOiB2YXIoIC0ta2VuZG8tc3BsaXR0ZXItZHJhZy1oYW5kbGUtbGVuZ3RoLCAjeyRrZW5kby1zcGxpdHRlci1kcmFnLWhhbmRsZS1sZW5ndGh9ICk7XG4gICAgICAgIGhlaWdodDogdmFyKCAtLWtlbmRvLXNwbGl0dGVyLWRyYWctaGFuZGxlLXRoaWNrbmVzcywgI3ska2VuZG8tc3BsaXR0ZXItZHJhZy1oYW5kbGUtdGhpY2tuZXNzfSApO1xuICAgICAgICBwb3NpdGlvbjogc3RhdGljO1xuICAgICAgICB6LWluZGV4OiAxO1xuICAgIH1cblxuICAgIC5rLXBhbmUgPiB7XG4gICAgICAgIC5rLXNwbGl0dGVyIHtcbiAgICAgICAgICAgIGJvcmRlci13aWR0aDogMDtcbiAgICAgICAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgICAgIH1cblxuICAgICAgICAuay1zcGxpdHRlci1vdmVybGF5IHtcbiAgICAgICAgICAgIG9wYWNpdHk6IDA7XG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBmbGV4Ym94LWJhc2VkIHNwbGl0dGVyXG5cbiAgICAuay1zcGxpdHRlci1mbGV4IHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIGhlaWdodDogYXV0bztcblxuICAgICAgICAuay1wYW5lIHtcbiAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgICAgIGZsZXg6IDEgMSBhdXRvO1xuICAgICAgICAgICAgbWluLXdpZHRoOiAwO1xuICAgICAgICAgICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgbWluLWhlaWdodDogMDtcbiAgICAgICAgICAgIG1heC1oZWlnaHQ6IDEwMCU7XG4gICAgICAgICAgICBoZWlnaHQ6IDEwMCU7IC8vIGFsbG93cyBuZXN0ZWQgZWxlbWVudHMgdG8gdXNlIGhlaWdodDogMTAwJVxuICAgICAgICB9XG5cbiAgICAgICAgLmstcGFuZS1zdGF0aWMge1xuICAgICAgICAgICAgZmxleC1ncm93OiAwO1xuICAgICAgICAgICAgZmxleC1zaHJpbms6IDA7XG4gICAgICAgIH1cblxuICAgICAgICAuay1wYW5lLWZsZXgge1xuICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgfVxuXG4gICAgICAgIC5rLXNwbGl0YmFyIHtcbiAgICAgICAgICAgIHBvc2l0aW9uOiBzdGF0aWM7XG4gICAgICAgICAgICBmbGV4OiAwIDAgYXV0bztcbiAgICAgICAgfVxuXG4gICAgICAgIC5rLXBhbmUsXG4gICAgICAgIC5rLXBhbmUtZmxleCB7XG4gICAgICAgICAgICAmLmstaGlkZGVuLFxuICAgICAgICAgICAgJltoaWRkZW5dIHtcbiAgICAgICAgICAgICAgICAvLyBoaWRkZW4gcGFuZXMgbmVlZCB0byBiZSB6ZXJvLXdpZHRoIHRvIGFsbG93IHBhbmUgYW5pbWF0aW9uXG4gICAgICAgICAgICAgICAgZmxleDogMCAxIDAlICFpbXBvcnRhbnQ7IC8vIHN0eWxlbGludC1kaXNhYmxlLWxpbmUgZGVjbGFyYXRpb24tbm8taW1wb3J0YW50XG4gICAgICAgICAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbiAhaW1wb3J0YW50OyAvLyBzdHlsZWxpbnQtZGlzYWJsZS1saW5lIGRlY2xhcmF0aW9uLW5vLWltcG9ydGFudFxuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrICFpbXBvcnRhbnQ7IC8vIHN0eWxlbGludC1kaXNhYmxlLWxpbmUgZGVjbGFyYXRpb24tbm8taW1wb3J0YW50XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAmLmstc3BsaXR0ZXItaG9yaXpvbnRhbCB7XG4gICAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICAgICAgICB9XG4gICAgICAgICYuay1zcGxpdHRlci12ZXJ0aWNhbCB7XG4gICAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgICB9XG4gICAgfVxufVxuIiwiQHVzZSBcIi4uL2NvcmUvX2luZGV4LnNjc3NcIiBhcyAqO1xuQHVzZSBcIi4vX3ZhcmlhYmxlcy5zY3NzXCIgYXMgKjtcblxuQG1peGluIGtlbmRvLXNwbGl0dGVyLS10aGVtZSgpIHtcblxuICAgIC5rLXNwbGl0dGVyIHtcbiAgICAgICAgQGluY2x1ZGUgZmlsbChcbiAgICAgICAgICAgIHZhciggLS1rZW5kby1zcGxpdHRlci10ZXh0LCAjeyRrZW5kby1zcGxpdHRlci10ZXh0fSApLFxuICAgICAgICAgICAgdmFyKCAtLWtlbmRvLXNwbGl0dGVyLWJnLCAjeyRrZW5kby1zcGxpdHRlci1iZ30gKSxcbiAgICAgICAgICAgIHZhciggLS1rZW5kby1zcGxpdHRlci1ib3JkZXIsICN7JGtlbmRvLXNwbGl0dGVyLWJvcmRlcn0gKVxuICAgICAgICApO1xuICAgIH1cblxuICAgIC8vIFNwbGl0YmFyXG4gICAgLmstc3BsaXRiYXIge1xuICAgICAgICBjb2xvcjogdmFyKCAtLWtlbmRvLXNwbGl0YmFyLXRleHQsICN7JGtlbmRvLXNwbGl0YmFyLXRleHR9ICk7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IHZhciggLS1rZW5kby1zcGxpdGJhci1iZywgI3ska2VuZG8tc3BsaXRiYXItYmd9ICk7XG4gICAgfVxuICAgIC5rLXNwbGl0YmFyOmhvdmVyLFxuICAgIC5rLXNwbGl0YmFyLmstaG92ZXIsXG4gICAgLmstc3BsaXRiYXItaG9yaXpvbnRhbC1ob3ZlcixcbiAgICAuay1zcGxpdGJhci12ZXJ0aWNhbC1ob3ZlciB7XG4gICAgICAgIGNvbG9yOiB2YXIoIC0ta2VuZG8tc3BsaXRiYXItaG92ZXItdGV4dCwgI3ska2VuZG8tc3BsaXRiYXItaG92ZXItdGV4dH0gKTtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKCAtLWtlbmRvLXNwbGl0YmFyLWhvdmVyLWJnLCAjeyRrZW5kby1zcGxpdGJhci1ob3Zlci1iZ30gKTtcbiAgICB9XG4gICAgLmstc3BsaXRiYXI6Zm9jdXMsXG4gICAgLmstc3BsaXRiYXIuay1mb2N1cyB7XG4gICAgICAgIGNvbG9yOiB2YXIoIC0ta2VuZG8tc3BsaXRiYXItc2VsZWN0ZWQtdGV4dCwgI3ska2VuZG8tc3BsaXRiYXItc2VsZWN0ZWQtdGV4dH0gKTtcbiAgICAgICAgYmFja2dyb3VuZDogdmFyKCAtLWtlbmRvLXNwbGl0YmFyLXNlbGVjdGVkLWJnLCAjeyRrZW5kby1zcGxpdGJhci1zZWxlY3RlZC1iZ30gKTtcbiAgICB9XG5cbiAgICAvLyBHaG9zdCBzcGxpdGJhclxuICAgIC5rLWdob3N0LXNwbGl0YmFyIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKCAtLWtlbmRvLXNwbGl0YmFyLWhvdmVyLWJnLCAjeyRrZW5kby1zcGxpdGJhci1ob3Zlci1iZ30gKTtcbiAgICB9XG59XG4iLCJAdXNlIFwiLi4vY29yZS9faW5kZXguc2Nzc1wiIGFzICo7XG5AdXNlIFwiLi9fdmFyaWFibGVzLnNjc3NcIiBhcyAqO1xuXG5AbWl4aW4ga2VuZG8tdGlsZS1sYXlvdXQtLWxheW91dCgpIHtcblxuICAgIC5rLXRpbGVsYXlvdXQge1xuICAgICAgICBib3JkZXItd2lkdGg6IHZhciggLS1rZW5kby10aWxlLWxheW91dC1ib3JkZXItd2lkdGgsICN7JGtlbmRvLXRpbGUtbGF5b3V0LWJvcmRlci13aWR0aH0gKTtcbiAgICAgICAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcbiAgICAgICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICAgICAgb3V0bGluZTogMDtcbiAgICAgICAgZGlzcGxheTogZ3JpZDtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICBwYWRkaW5nLWJsb2NrOiB2YXIoIC0ta2VuZG8tdGlsZS1sYXlvdXQtcGFkZGluZy15LCAjeyRrZW5kby10aWxlLWxheW91dC1wYWRkaW5nLXl9ICk7XG4gICAgICAgIHBhZGRpbmctaW5saW5lOiB2YXIoIC0ta2VuZG8tdGlsZS1sYXlvdXQtcGFkZGluZy14LCAjeyRrZW5kby10aWxlLWxheW91dC1wYWRkaW5nLXh9ICk7XG4gICAgICAgIC13ZWJraXQtdG91Y2gtY2FsbG91dDogbm9uZTtcbiAgICAgICAgLXdlYmtpdC10YXAtaGlnaGxpZ2h0LWNvbG9yOiAka2VuZG8tY29sb3ItcmdiYS10cmFuc3BhcmVudDtcbiAgICB9XG5cbiAgICAuay10aWxlbGF5b3V0LWl0ZW0ge1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIHotaW5kZXg6IDA7XG4gICAgfVxuXG4gICAgLmstbGF5b3V0LWl0ZW0taGludCB7XG4gICAgICAgIEBpbmNsdWRlIGJvcmRlci1yYWRpdXMoIHZhciggLS1rZW5kby10aWxlLWxheW91dC1oaW50LWJvcmRlci1yYWRpdXMsICN7JGtlbmRvLXRpbGUtbGF5b3V0LWhpbnQtYm9yZGVyLXJhZGl1c30gKSApO1xuICAgICAgICBib3JkZXItd2lkdGg6IHZhciggLS1rZW5kby10aWxlLWxheW91dC1oaW50LWJvcmRlci13aWR0aCwgI3ska2VuZG8tdGlsZS1sYXlvdXQtaGludC1ib3JkZXItd2lkdGh9ICk7XG4gICAgICAgIGJvcmRlci1zdHlsZTogc29saWQ7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAgICAgICAmLmstbGF5b3V0LWl0ZW0taGludC1yZXNpemUge1xuICAgICAgICAgICAgei1pbmRleDogMztcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5rLXRpbGVsYXlvdXQtaXRlbS1oZWFkZXIuay1jYXJkLWhlYWRlciB7XG4gICAgICAgIHotaW5kZXg6IDA7XG4gICAgfVxuXG4gICAgLmstdGlsZWxheW91dC1pdGVtLWJvZHkge1xuICAgICAgICBtaW4taGVpZ2h0OiAwO1xuICAgIH1cbn1cbiIsIkB1c2UgXCIuLi9jb3JlL19pbmRleC5zY3NzXCIgYXMgKjtcbkB1c2UgXCIuL192YXJpYWJsZXMuc2Nzc1wiIGFzICo7XG5cbkBtaXhpbiBrZW5kby10aWxlLWxheW91dC0tdGhlbWUoKSB7XG5cbiAgICAuay10aWxlbGF5b3V0IHtcbiAgICAgICAgQGluY2x1ZGUgZmlsbChcbiAgICAgICAgICAgICRiZzogdmFyKCAtLWtlbmRvLXRpbGUtbGF5b3V0LWJnLCAjeyRrZW5kby10aWxlLWxheW91dC1iZ30gKVxuICAgICAgICApO1xuICAgIH1cblxuICAgIC5rLWxheW91dC1pdGVtLWhpbnQge1xuICAgICAgICBAaW5jbHVkZSBmaWxsKFxuICAgICAgICAgICAgJGJnOiB2YXIoIC0ta2VuZG8tdGlsZS1sYXlvdXQtaGludC1iZywgI3ska2VuZG8tdGlsZS1sYXlvdXQtaGludC1iZ30gKSxcbiAgICAgICAgICAgICRib3JkZXI6IHZhciggLS1rZW5kby10aWxlLWxheW91dC1oaW50LWJvcmRlciwgI3ska2VuZG8tdGlsZS1sYXlvdXQtaGludC1ib3JkZXJ9IClcbiAgICAgICAgKTtcbiAgICB9XG59XG4iLCJAdXNlIFwiLi9fdmFyaWFibGVzLnNjc3NcIiBhcyAqO1xuQHVzZSBcIi4uL2NvcmUvdHlwb2dyYXBoeS9faW5kZXguc2Nzc1wiIGFzICo7XG5cbkBtaXhpbiBrZW5kby1kb2NrLW1hbmFnZXItLWxheW91dCgpIHtcblxuICAgIC8vIERvY2tNYW5hZ2VyXG4gICAgLmstZG9jay1tYW5hZ2VyIHtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgYm9yZGVyLXdpZHRoOiB2YXIoIC0ta2VuZG8tZG9jay1tYW5hZ2VyLWJvcmRlci13aWR0aCwgI3ska2VuZG8tZG9jay1tYW5hZ2VyLWJvcmRlci13aWR0aH0gKTtcbiAgICAgICAgYm9yZGVyLXN0eWxlOiB2YXIoIC0ta2VuZG8tZG9jay1tYW5hZ2VyLWJvcmRlci1zdHlsZSwgI3ska2VuZG8tZG9jay1tYW5hZ2VyLWJvcmRlci1zdHlsZX0gKTtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBmbGV4LWZsb3c6IHJvdyBub3dyYXA7XG4gICAgICAgIG92ZXJmbG93OiBhdXRvO1xuICAgICAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgIH1cblxuICAgIC8vIFRvb2xiYXJcbiAgICAuay1kb2NrLW1hbmFnZXItdG9vbGJhciB7XG4gICAgICAgIGJvcmRlci13aWR0aDogMCAka2VuZG8tZG9jay1tYW5hZ2VyLWJvcmRlci13aWR0aCAwIDA7XG4gICAgICAgIGJvcmRlci1jb2xvcjogaW5oZXJpdDtcbiAgICAgICAgZmxleC1zaHJpbms6IDA7XG4gICAgICAgIHdyaXRpbmctbW9kZTogdmVydGljYWwtbHI7XG5cbiAgICAgICAgJjo6YmVmb3JlIHtcbiAgICAgICAgICAgIGhlaWdodDogMDtcbiAgICAgICAgfVxuXG4gICAgICAgIC5rLXNlcGFyYXRvci1ob3Jpem9udGFsIHtcbiAgICAgICAgICAgIHdpZHRoOiAgJGtlbmRvLWxpbmUtaGVpZ2h0LWVtO1xuICAgICAgICAgICAgaGVpZ2h0OiAwO1xuICAgICAgICAgICAgYm9yZGVyLXdpZHRoOiB2YXIoIC0ta2VuZG8tZG9jay1tYW5hZ2VyLWJvcmRlci13aWR0aCwgI3ska2VuZG8tZG9jay1tYW5hZ2VyLWJvcmRlci13aWR0aH0gKSAwIDA7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBQYW5lc1xuICAgIC5rLWRvY2stbWFuYWdlci1wYW5lLWNvbnRhaW5lciB7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGZsZXgtZ3JvdzogMTtcbiAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICB9XG5cbiAgIC8vIFNwbGl0dGVyXG4gICAuay1kb2NrLW1hbmFnZXItc3BsaXR0ZXIsXG4gICAuay1kb2NrLW1hbmFnZXItdW5waW5uZWQtY29udGFpbmVyIHtcbiAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICBib3JkZXItd2lkdGg6IDA7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBzdHJldGNoO1xuXG4gICAgICAgID4gLmstcGFuZSB7XG4gICAgICAgICAgICBoZWlnaHQ6IGF1dG87XG4gICAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgICAgICAgYm9yZGVyLWNvbG9yOiBpbmhlcml0O1xuICAgICAgICB9XG5cbiAgICAgICAgLmstcGFuZS1oZWFkZXIge1xuICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgICAgICAgIHBhZGRpbmctYmxvY2s6IHZhciggLS1rZW5kby1kb2NrLW1hbmFnZXItcGFuZS1oZWFkZXItcGFkZGluZy15LCAjeyRrZW5kby1kb2NrLW1hbmFnZXItcGFuZS1oZWFkZXItcGFkZGluZy15fSApO1xuICAgICAgICAgICAgcGFkZGluZy1pbmxpbmU6IHZhciggLS1rZW5kby1kb2NrLW1hbmFnZXItcGFuZS1oZWFkZXItcGFkZGluZy14LCAjeyRrZW5kby1kb2NrLW1hbmFnZXItcGFuZS1oZWFkZXItcGFkZGluZy14fSApO1xuICAgICAgICAgICAgYm9yZGVyLWJsb2NrLWVuZC13aWR0aDogdmFyKCAtLWtlbmRvLWRvY2stbWFuYWdlci1wYW5lLWhlYWRlci1ib3JkZXItd2lkdGgsICN7JGtlbmRvLWRvY2stbWFuYWdlci1wYW5lLWhlYWRlci1ib3JkZXItd2lkdGh9ICk7XG4gICAgICAgICAgICBib3JkZXItYmxvY2stZW5kLXN0eWxlOiB2YXIoIC0ta2VuZG8tZG9jay1tYW5hZ2VyLXBhbmUtaGVhZGVyLWJvcmRlci1zdHlsZSwgI3ska2VuZG8tZG9jay1tYW5hZ2VyLXBhbmUtaGVhZGVyLWJvcmRlci1zdHlsZX0gKTtcbiAgICAgICAgICAgIGJvcmRlci1jb2xvcjogaW5oZXJpdDtcbiAgICAgICAgfVxuXG4gICAgICAgIC5rLXBhbmUtdGl0bGUge1xuICAgICAgICAgICAgcGFkZGluZy1ibG9jazogdmFyKCAtLWtlbmRvLWRvY2stbWFuYWdlci1wYW5lLXRpdGxlLXBhZGRpbmcteSwgI3ska2VuZG8tZG9jay1tYW5hZ2VyLXBhbmUtdGl0bGUtcGFkZGluZy15fSApO1xuICAgICAgICAgICAgcGFkZGluZy1pbmxpbmU6IHZhciggLS1rZW5kby1kb2NrLW1hbmFnZXItcGFuZS10aXRsZS1wYWRkaW5nLXgsICN7JGtlbmRvLWRvY2stbWFuYWdlci1wYW5lLXRpdGxlLXBhZGRpbmcteH0gKTtcbiAgICAgICAgICAgIGZvbnQtZmFtaWx5OiB2YXIoIC0ta2VuZG8tZG9jay1tYW5hZ2VyLXBhbmUtdGl0bGUtZm9udC1mYW1pbHksICN7JGtlbmRvLWZvbnQtZmFtaWx5fSApO1xuICAgICAgICAgICAgZm9udC1zaXplOiB2YXIoIC0ta2VuZG8tZG9jay1tYW5hZ2VyLXBhbmUtdGl0bGUtZm9udC1zaXplLCAjeyRrZW5kby1kb2NrLW1hbmFnZXItcGFuZS10aXRsZS1mb250LXNpemV9ICk7XG4gICAgICAgICAgICBsaW5lLWhlaWdodDogdmFyKCAtLWtlbmRvLWRvY2stbWFuYWdlci1wYW5lLXRpdGxlLWxpbmUtaGVpZ2h0LCAjeyRrZW5kby1kb2NrLW1hbmFnZXItcGFuZS10aXRsZS1saW5lLWhlaWdodH0gKTtcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiB2YXIoIC0ta2VuZG8tZG9jay1tYW5hZ2VyLXBhbmUtdGl0bGUtZm9udC13ZWlnaHQsICN7JGtlbmRvLWRvY2stbWFuYWdlci1wYW5lLXRpdGxlLWZvbnQtd2VpZ2h0fSApO1xuICAgICAgICAgICAgZmxleDogMSAxIGF1dG87XG4gICAgICAgICAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICAgICAgICAgICAgdGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7XG4gICAgICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgICAgICB9XG5cbiAgICAgICAgLmstcGFuZS1zY3JvbGxhYmxlIHtcbiAgICAgICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgICAgICAgYm9yZGVyLWNvbG9yOiBpbmhlcml0O1xuICAgICAgICB9XG5cbiAgICAgICAgLmstcGFuZS1jb250ZW50IHtcbiAgICAgICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgICAgIHBhZGRpbmctYmxvY2s6IHZhciggLS1rZW5kby1kb2NrLW1hbmFnZXItcGFuZS1jb250ZW50LXBhZGRpbmcteSwgI3ska2VuZG8tZG9jay1tYW5hZ2VyLXBhbmUtY29udGVudC1wYWRkaW5nLXl9ICk7XG4gICAgICAgICAgICBwYWRkaW5nLWlubGluZTogdmFyKCAtLWtlbmRvLWRvY2stbWFuYWdlci1wYW5lLWNvbnRlbnQtcGFkZGluZy14LCAjeyRrZW5kby1kb2NrLW1hbmFnZXItcGFuZS1jb250ZW50LXBhZGRpbmcteH0gKTtcbiAgICAgICAgICAgIG92ZXJmbG93OiBhdXRvO1xuICAgICAgICAgICAgZmxleDogMTtcbiAgICAgICAgfVxuXG4gICAgICAgIC5rLXBhbmUtYWN0aW9ucyB7XG4gICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAgZmxleC1mbG93OiByb3cgbm93cmFwO1xuICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgICB9XG5cbiAgICAgICAgLmstcGFuZS10YWJiZWQge1xuICAgICAgICAgICAgcGFkZGluZy1ibG9jazogdmFyKCAtLWtlbmRvLWRvY2stbWFuYWdlci10YWJiZWQtcGFuZS1wYWRkaW5nLXksICN7JGtlbmRvLWRvY2stbWFuYWdlci10YWJiZWQtcGFuZS1wYWRkaW5nLXl9ICk7XG4gICAgICAgICAgICBwYWRkaW5nLWlubGluZTogdmFyKCAtLWtlbmRvLWRvY2stbWFuYWdlci10YWJiZWQtcGFuZS1wYWRkaW5nLXgsICN7JGtlbmRvLWRvY2stbWFuYWdlci10YWJiZWQtcGFuZS1wYWRkaW5nLXh9ICk7XG4gICAgICAgIH1cblxuICAgICAgICAuay1zcGxpdGJhciB7XG4gICAgICAgICAgICBib3JkZXItd2lkdGg6IDAgMXB4O1xuICAgICAgICAgICAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcbiAgICAgICAgICAgIGJvcmRlci1jb2xvcjogaW5oZXJpdDtcbiAgICAgICAgfVxuICAgICAgICAuay1zcGxpdGJhci12ZXJ0aWNhbCB7XG4gICAgICAgICAgICBib3JkZXItd2lkdGg6IDFweCAwO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLy8gVW5waW5uZWQgcGFuZVxuICAgIC5rLWRvY2stbWFuYWdlci11bnBpbm5lZC1jb250YWluZXIge1xuICAgICAgICB3aWR0aDogdmFyKCAtLWtlbmRvLWRvY2stbWFuYWdlci11bnBpbm5lZC1jb250YWluZXItd2lkdGgsICN7JGtlbmRvLWRvY2stbWFuYWdlci11bnBpbm5lZC1jb250YWluZXItd2lkdGh9ICk7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICBib3JkZXItY29sb3I6IGluaGVyaXQ7XG4gICAgICAgIHotaW5kZXg6IDIwO1xuXG4gICAgICAgIC5rLXBhbmUge1xuICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gICAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICAgICAgZmxleDogMSAxIGF1dG87XG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgfVxuXG4gICAgICAgIC5rLXNwbGl0YmFyIHtcbiAgICAgICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgICAgIGZsZXg6IG5vbmU7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBEb2NraW5nIHByZXZpZXdcbiAgICAuay1kb2NraW5nLXByZXZpZXcge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgIHRvcDogMDtcbiAgICAgICAgbGVmdDogMDtcbiAgICAgICAgYm9yZGVyLXdpZHRoOiB2YXIoIC0ta2VuZG8tZG9jay1tYW5hZ2VyLWRvY2stcHJldmlldy1ib3JkZXItd2lkdGgsICN7JGtlbmRvLWRvY2stbWFuYWdlci1kb2NrLXByZXZpZXctYm9yZGVyLXdpZHRofSApO1xuICAgICAgICBib3JkZXItc3R5bGU6IHZhciggLS1rZW5kby1kb2NrLW1hbmFnZXItZG9jay1wcmV2aWV3LWJvcmRlci1zdHlsZSwgI3ska2VuZG8tZG9jay1tYW5hZ2VyLWRvY2stcHJldmlldy1ib3JkZXItc3R5bGV9ICk7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IHZhciggLS1rZW5kby1kb2NrLW1hbmFnZXItZG9jay1wcmV2aWV3LWJvcmRlci1yYWRpdXMsICN7JGtlbmRvLWRvY2stbWFuYWdlci1kb2NrLXByZXZpZXctYm9yZGVyLXJhZGl1c30gKTtcbiAgICB9XG5cbiAgICAuay1kb2NrLW1hbmFnZXItd2luZG93Omhhcyguay1wYW5lKSAuay13aW5kb3ctY29udGVudCB7XG4gICAgICAgIHBhZGRpbmc6IDA7XG4gICAgfVxuXG59XG5cbkBtaXhpbiAga2VuZG8tZG9jay1pbmRpY2F0b3ItLWxheW91dCgpIHtcblxuICAgIC8vIERvY2tOYXZpZ2F0b3JcbiAgICAuay1kb2NrLW5hdmlnYXRvci1jb250YWluZXIge1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHotaW5kZXg6IDEwMDAxO1xuICAgICAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgICB9XG5cbiAgICAuay1kb2NrLW5hdmlnYXRvciB7XG4gICAgICAgIGRpc3BsYXk6IGdyaWQ7XG4gICAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KDMsIGF1dG8pO1xuICAgICAgICBncmlkLXRlbXBsYXRlLXJvd3M6IHJlcGVhdCgzLCBhdXRvKTtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB9XG5cbiAgICAuay1kb2NrLWluZGljYXRvciB7XG4gICAgICAgIHBhZGRpbmc6IHZhciggLS1rZW5kby1kb2NrLWluZGljYXRvci1wYWRkaW5nLCAjeyRrZW5kby1kb2NrLWluZGljYXRvci1wYWRkaW5nfSApO1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgcG9pbnRlci1ldmVudHM6IGFsbDtcbiAgICAgICAgb3V0bGluZS13aWR0aDogdmFyKCAtLWtlbmRvLWRvY2staW5kaWNhdG9yLW91dGxpbmUtd2lkdGgsICN7JGtlbmRvLWRvY2staW5kaWNhdG9yLW91dGxpbmUtd2lkdGh9ICk7XG4gICAgICAgIG91dGxpbmUtc3R5bGU6IHZhciggLS1rZW5kby1kb2NrLWluZGljYXRvci1vdXRsaW5lLXN0eWxlLCAjeyRrZW5kby1kb2NrLWluZGljYXRvci1vdXRsaW5lLXN0eWxlfSApO1xuXG4gICAgICAgICYuay1kb2NrLWluZGljYXRvci1taWRkbGUge1xuICAgICAgICAgICAgYm94LXNoYWRvdzogbm9uZTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5rLWRvY2staW5kaWNhdG9yLXRvcCB7XG4gICAgICAgIGdyaWQtYXJlYTogMSAvIDIgLyBhdXRvO1xuICAgIH1cbiAgICAuay1kb2NrLWluZGljYXRvci1yaWdodCB7XG4gICAgICAgIGdyaWQtYXJlYTogMiAvIDMgLyBhdXRvO1xuICAgIH1cbiAgICAuay1kb2NrLWluZGljYXRvci1ib3R0b20ge1xuICAgICAgICBncmlkLWFyZWE6IDMgLyAyIC8gYXV0bztcbiAgICB9XG4gICAgLmstZG9jay1pbmRpY2F0b3ItbGVmdCB7XG4gICAgICAgIGdyaWQtYXJlYTogMiAvIDEgLyBhdXRvO1xuICAgIH1cbiAgICAuay1kb2NrLWluZGljYXRvci1taWRkbGUge1xuICAgICAgICBncmlkLWFyZWE6IDIgLyAyIC8gYXV0bztcbiAgICB9XG5cbn1cbiIsIkB1c2UgXCJzYXNzOm1hdGhcIjtcblxuLy8vIFRoZSBiYXNlIGZvbnQgc2l6ZSBhY3Jvc3MgYWxsIGNvbXBvbmVudHMuXG4vLy8gQGdyb3VwIHR5cG9ncmFwaHlcbiRrZW5kby1mb250LXNpemU6IDAuODc1cmVtICFkZWZhdWx0O1xuLy8vIFRoZSBleHRyYSBleHRyYSBzbWFsbCBmb250IHNpemUgYWNyb3NzIGFsbCBjb21wb25lbnRzLlxuLy8vIEBncm91cCB0eXBvZ3JhcGh5XG4ka2VuZG8tZm9udC1zaXplLXhzOiAwLjYyNXJlbSAhZGVmYXVsdDtcbi8vLyBUaGUgc21hbGwgZm9udCBzaXplIGFjcm9zcyBhbGwgY29tcG9uZW50cy5cbi8vLyBAZ3JvdXAgdHlwb2dyYXBoeVxuJGtlbmRvLWZvbnQtc2l6ZS1zbTogMC43NXJlbSAhZGVmYXVsdDtcbi8vLyBUaGUgbWVkaXVtIGZvbnQgc2l6ZSBhY3Jvc3MgYWxsIGNvbXBvbmVudHMuXG4vLy8gQGdyb3VwIHR5cG9ncmFwaHlcbiRrZW5kby1mb250LXNpemUtbWQ6ICRrZW5kby1mb250LXNpemUgIWRlZmF1bHQ7XG4vLy8gVGhlIGxhcmdlIGZvbnQgc2l6ZSBhY3Jvc3MgYWxsIGNvbXBvbmVudHMuXG4vLy8gQGdyb3VwIHR5cG9ncmFwaHlcbiRrZW5kby1mb250LXNpemUtbGc6IDFyZW0gIWRlZmF1bHQ7XG4vLy8gVGhlIGV4dHJhIGxhcmdlIGZvbnQgc2l6ZSBhY3Jvc3MgYWxsIGNvbXBvbmVudHMuXG4vLy8gQGdyb3VwIHR5cG9ncmFwaHlcbiRrZW5kby1mb250LXNpemUteGw6IDEuMjVyZW0gIWRlZmF1bHQ7XG5cbi8vLyBUaGUgYmFzZSBsaW5lIGhlaWdodCBhY3Jvc3MgYWxsIGNvbXBvbmVudHMuXG4vLy8gQGdyb3VwIHR5cG9ncmFwaHlcbiRrZW5kby1saW5lLWhlaWdodDogbWF0aC5kaXYoIDIwLCAxNCApICFkZWZhdWx0O1xuLy8vIFRoZSBleHRyYSBzbWFsbCBsaW5lIGhlaWdodCBhY3Jvc3MgYWxsIGNvbXBvbmVudHMuXG4vLy8gQGdyb3VwIHR5cG9ncmFwaHlcbiRrZW5kby1saW5lLWhlaWdodC14czogMSAhZGVmYXVsdDtcbi8vLyBUaGUgc21hbGwgbGluZSBoZWlnaHQgYWNyb3NzIGFsbCBjb21wb25lbnRzLlxuLy8vIEBncm91cCB0eXBvZ3JhcGh5XG4ka2VuZG8tbGluZS1oZWlnaHQtc206IDEuMjUgIWRlZmF1bHQ7XG4vLy8gVGhlIG1lZGl1bSBsaW5lIGhlaWdodCBhY3Jvc3MgYWxsIGNvbXBvbmVudHMuXG4vLy8gQGdyb3VwIHR5cG9ncmFwaHlcbiRrZW5kby1saW5lLWhlaWdodC1tZDogJGtlbmRvLWxpbmUtaGVpZ2h0ICFkZWZhdWx0O1xuLy8vIFRoZSBsYXJnZSBsaW5lIGhlaWdodCBhY3Jvc3MgYWxsIGNvbXBvbmVudHMuXG4vLy8gQGdyb3VwIHR5cG9ncmFwaHlcbiRrZW5kby1saW5lLWhlaWdodC1sZzogMS41ICFkZWZhdWx0O1xuLy8vIFRoZSBiYXNlIGxpbmUgaGVpZ2h0IGluIGVtcyBhY3Jvc3MgYWxsIGNvbXBvbmVudHMuXG4vLy8gQGdyb3VwIHR5cG9ncmFwaHlcbiRrZW5kby1saW5lLWhlaWdodC1lbTogY2FsYyggI3ska2VuZG8tbGluZS1oZWlnaHR9ICogMWVtKSAhZGVmYXVsdDtcblxuLy8vIFRoZSBiYXNlIGxldHRlciBzcGFjaW5nIGFjcm9zcyBhbGwgY29tcG9uZW50cy5cbi8vLyBAZ3JvdXAgdHlwb2dyYXBoeVxuJGtlbmRvLWxldHRlci1zcGFjaW5nOiBub3JtYWwgIWRlZmF1bHQ7XG5cbi8vLyBUaGUgZm9udCBmYW1pbHkgYWNyb3NzIGFsbCBjb21wb25lbnRzLlxuLy8vIEBncm91cCB0eXBvZ3JhcGh5XG4ka2VuZG8tZm9udC1mYW1pbHk6IFwiU2Vnb2UgVUlcIiwgLWFwcGxlLXN5c3RlbSwgQmxpbmtNYWNTeXN0ZW1Gb250LCBSb2JvdG8sIFwiSGVsdmV0aWNhIE5ldWVcIiwgc2Fucy1zZXJpZiAhZGVmYXVsdDtcblxuJF9kZWZhdWx0LWZvbnQtc2l6ZXM6IChcbiAgICB4czogJGtlbmRvLWZvbnQtc2l6ZS14cyxcbiAgICBzbTogJGtlbmRvLWZvbnQtc2l6ZS1zbSxcbiAgICBtZDogJGtlbmRvLWZvbnQtc2l6ZS1tZCxcbiAgICBsZzogJGtlbmRvLWZvbnQtc2l6ZS1sZyxcbiAgICB4bDogJGtlbmRvLWZvbnQtc2l6ZS14bFxuKSAhZGVmYXVsdDtcblxuJF9kZWZhdWx0LWxpbmUtaGVpZ2h0czogKFxuICAgIHhzOiAka2VuZG8tbGluZS1oZWlnaHQteHMsXG4gICAgc206ICRrZW5kby1saW5lLWhlaWdodC1zbSxcbiAgICBtZDogJGtlbmRvLWxpbmUtaGVpZ2h0LW1kLFxuICAgIGxnOiAka2VuZG8tbGluZS1oZWlnaHQtbGcsXG4pICFkZWZhdWx0O1xuXG4vLy8gVGhlIGZvbnQgc2l6ZXMgbWFwXG4vLy8gQGdyb3VwIHR5cG9ncmFwaHlcbiRrZW5kby1mb250LXNpemVzOiAkX2RlZmF1bHQtZm9udC1zaXplcyAhZGVmYXVsdDtcblxuLy8vIFRoZSBsaW5lIGhlaWdodHMgbWFwXG4vLy8gQGdyb3VwIHR5cG9ncmFwaHlcbiRrZW5kby1saW5lLWhlaWdodHM6ICRfZGVmYXVsdC1saW5lLWhlaWdodHMgIWRlZmF1bHQ7XG4iLCJAdXNlIFwiLi9fdmFyaWFibGVzLnNjc3NcIiBhcyAqO1xuXG5AbWl4aW4ga2VuZG8tZG9jay1tYW5hZ2VyLS10aGVtZSgpIHtcblxuICAgICAgLy8gRG9ja01hbmFnZXJcbiAgICAgIC5rLWRvY2stbWFuYWdlciB7XG4gICAgICAgIGJvcmRlci1jb2xvcjogdmFyKCAtLWtlbmRvLWRvY2stbWFuYWdlci1ib3JkZXIsICN7JGtlbmRvLWRvY2stbWFuYWdlci1ib3JkZXJ9ICk7XG4gICAgfVxuXG4gICAgLmstZG9jay1tYW5hZ2VyLXNwbGl0dGVyIC5rLXBhbmUtaGVhZGVyLFxuICAgIC5rLWRvY2stbWFuYWdlci11bnBpbm5lZC1jb250YWluZXIgLmstcGFuZS1oZWFkZXIge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoIC0ta2VuZG8tZG9jay1tYW5hZ2VyLXBhbmUtaGVhZGVyLWJnLCAjeyRrZW5kby1kb2NrLW1hbmFnZXItcGFuZS1oZWFkZXItYmd9ICk7XG5cbiAgICAgICAgPiAuay1wYW5lLXRpdGxlIHtcbiAgICAgICAgICAgIGNvbG9yOiB2YXIoIC0ta2VuZG8tZG9jay1tYW5hZ2VyLXBhbmUtaGVhZGVyLXRleHQsICN7JGtlbmRvLWRvY2stbWFuYWdlci1wYW5lLWhlYWRlci10ZXh0fSApO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLmstZG9jay1tYW5hZ2VyLXVucGlubmVkLWNvbnRhaW5lciB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IHZhciggLS1rZW5kby1kb2NrLW1hbmFnZXItdW5waW5uZWQtY29udGFpbmVyLWJnLCAjeyRrZW5kby1kb2NrLW1hbmFnZXItdW5waW5uZWQtY29udGFpbmVyLWJnfSApO1xuICAgICAgICBib3gtc2hhZG93OiAgJGtlbmRvLWRvY2stbWFuYWdlci11bnBpbm5lZC1jb250YWluZXItc2hhZG93O1xuICAgIH1cblxuICAgIC8vIERvY2tpbmcgcHJldmlld1xuICAgIC5rLWRvY2tpbmctcHJldmlldyB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IHZhciggLS1rZW5kby1kb2NrLW1hbmFnZXItZG9jay1wcmV2aWV3LWJnLCAjeyRrZW5kby1kb2NrLW1hbmFnZXItZG9jay1wcmV2aWV3LWJnfSApO1xuICAgICAgICBib3JkZXItY29sb3I6IHZhciggLS1rZW5kby1kb2NrLW1hbmFnZXItZG9jay1wcmV2aWV3LWJvcmRlciwgI3ska2VuZG8tZG9jay1tYW5hZ2VyLWRvY2stcHJldmlldy1ib3JkZXJ9ICk7XG4gICAgfVxuXG59XG5cbkBtaXhpbiBrZW5kby1kb2NrLWluZGljYXRvci0tdGhlbWUoKSB7XG5cbiAgICAuay1kb2NrLWluZGljYXRvciB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IHZhciggLS1rZW5kby1kb2NrLWluZGljYXRvci1iZywgI3ska2VuZG8tZG9jay1pbmRpY2F0b3ItYmd9ICk7XG4gICAgICAgIGNvbG9yOiB2YXIoIC0ta2VuZG8tZG9jay1pbmRpY2F0b3ItdGV4dCwgI3ska2VuZG8tZG9jay1pbmRpY2F0b3ItdGV4dH0gKTtcbiAgICAgICAgb3V0bGluZS1jb2xvcjogdmFyKCAtLWtlbmRvLWRvY2staW5kaWNhdG9yLW91dGxpbmUsICN7JGtlbmRvLWRvY2staW5kaWNhdG9yLW91dGxpbmV9ICk7XG4gICAgICAgIGJveC1zaGFkb3c6IHZhciggLS1rZW5kby1kb2NrLWluZGljYXRvci1zaGFkb3csICN7JGtlbmRvLWRvY2staW5kaWNhdG9yLXNoYWRvd30gKTtcblxuICAgICAgICAmOmhvdmVyLFxuICAgICAgICAmLmstaG92ZXIge1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKCAtLWtlbmRvLWRvY2staW5kaWNhdG9yLWhvdmVyLWJnLCAjeyRrZW5kby1kb2NrLWluZGljYXRvci1ob3Zlci1iZ30gKTtcbiAgICAgICAgICAgIGNvbG9yOiB2YXIoIC0ta2VuZG8tZG9jay1pbmRpY2F0b3ItaG92ZXItdGV4dCwgI3ska2VuZG8tZG9jay1pbmRpY2F0b3ItaG92ZXItdGV4dH0gKTtcbiAgICAgICAgfVxuICAgIH1cblxufVxuIiwiQHVzZSBcInNhc3M6bWFwXCI7XG5AdXNlIFwiLi4vY29yZS9faW5kZXguc2Nzc1wiIGFzICo7XG5cbi8vLyAgVGhlIHdpZHRoIG9mIHRoZSBib3JkZXIgYXJvdW5kIHRoZSBEb2NrTWFuYWdlciBjb21wb25lbnQuXG4vLy8gQGdyb3VwIGRvY2stbWFuYWdlclxuJGtlbmRvLWRvY2stbWFuYWdlci1ib3JkZXItd2lkdGg6IDFweCAhZGVmYXVsdDtcbi8vLyBUaGUgc3R5bGUgb2YgdGhlIGJvcmRlciBhcm91bmQgdGhlIERvY2tNYW5hZ2VyIGNvbXBvbmVudC5cbi8vLyBAZ3JvdXAgZG9jay1tYW5hZ2VyXG4ka2VuZG8tZG9jay1tYW5hZ2VyLWJvcmRlci1zdHlsZTogc29saWQgIWRlZmF1bHQ7XG4vLy8gVGhlIGNvbG9yIG9mIHRoZSBib3JkZXIgYXJvdW5kIHRoZSBEb2NrTWFuYWdlciBjb21wb25lbnQuXG4vLy8gQGdyb3VwIGRvY2stbWFuYWdlclxuJGtlbmRvLWRvY2stbWFuYWdlci1ib3JkZXI6IHZhciggLS1rZW5kby1jb21wb25lbnQtYm9yZGVyLCBpbmhlcml0ICkgIWRlZmF1bHQ7XG5cbi8vLyBUaGUgdmVydGljYWwgcGFkZGluZyBvZiB0aGUgcGFuZSBoZWFkZXIgaW4gdGhlIERvY2tNYW5hZ2VyIGNvbXBvbmVudC5cbi8vLyBAZ3JvdXAgZG9jay1tYW5hZ2VyXG4ka2VuZG8tZG9jay1tYW5hZ2VyLXBhbmUtaGVhZGVyLXBhZGRpbmcteTogay1zcGFjaW5nKDEpICFkZWZhdWx0O1xuLy8vIFRoZSBob3Jpem9udGFsIHBhZGRpbmcgb2YgdGhlIHBhbmUgaGVhZGVyIGluIHRoZSBEb2NrTWFuYWdlciBjb21wb25lbnQuXG4vLy8gQGdyb3VwIGRvY2stbWFuYWdlclxuJGtlbmRvLWRvY2stbWFuYWdlci1wYW5lLWhlYWRlci1wYWRkaW5nLXg6IGstc3BhY2luZyg2KSAhZGVmYXVsdDtcbi8vLyBUaGUgd2lkdGggb2YgdGhlIGJvcmRlciBhcm91bmQgdGhlIHBhbmUgaGVhZGVyIGluIHRoZSBEb2NrTWFuYWdlciBjb21wb25lbnQuXG4vLy8gQGdyb3VwIGRvY2stbWFuYWdlclxuJGtlbmRvLWRvY2stbWFuYWdlci1wYW5lLWhlYWRlci1ib3JkZXItd2lkdGg6ICRrZW5kby1kb2NrLW1hbmFnZXItYm9yZGVyLXdpZHRoICFkZWZhdWx0O1xuLy8vICBUaGUgc3R5bGUgb2YgdGhlIGJvcmRlciBhcm91bmQgdGhlIHBhbmUgaGVhZGVyIGluIHRoZSBEb2NrTWFuYWdlciBjb21wb25lbnQuXG4vLy8gQGdyb3VwIGRvY2stbWFuYWdlclxuJGtlbmRvLWRvY2stbWFuYWdlci1wYW5lLWhlYWRlci1ib3JkZXItc3R5bGU6IHNvbGlkICFkZWZhdWx0O1xuLy8vIFRoZSBiYWNrZ3JvdW5kIGNvbG9yIG9mIHRoZSBwYW5lIGhlYWRlciBpbiB0aGUgRG9ja01hbmFnZXIgY29tcG9uZW50LlxuLy8vIEBncm91cCBkb2NrLW1hbmFnZXJcbiRrZW5kby1kb2NrLW1hbmFnZXItcGFuZS1oZWFkZXItYmc6IHZhciggLS1rZW5kby1jb21wb25lbnQtYmcsIGluaGVyaXQgKSAhZGVmYXVsdDtcbi8vLyBUaGUgdGV4dCBjb2xvciBvZiB0aGUgcGFuZSBoZWFkZXIgaW4gdGhlIERvY2tNYW5hZ2VyIGNvbXBvbmVudC5cbi8vLyBAZ3JvdXAgZG9jay1tYW5hZ2VyXG4ka2VuZG8tZG9jay1tYW5hZ2VyLXBhbmUtaGVhZGVyLXRleHQ6IGlmKCRrZW5kby1lbmFibGUtY29sb3Itc3lzdGVtLCBrLWNvbG9yKCBwcmltYXJ5ICksIGstZ2V0LXRoZW1lLWNvbG9yLXZhciggcHJpbWFyeS0xMDAgKSkgIWRlZmF1bHQ7XG5cbi8vLyBUaGUgdmVydGljYWwgcGFkZGluZyBvZiB0aGUgcGFuZSB0aXRsZSBpbiB0aGUgRG9ja01hbmFnZXIgY29tcG9uZW50LlxuLy8vIEBncm91cCBkb2NrLW1hbmFnZXJcbiRrZW5kby1kb2NrLW1hbmFnZXItcGFuZS10aXRsZS1wYWRkaW5nLXk6IG51bGwgIWRlZmF1bHQ7XG4vLy8gVGhlIGhvcml6b250YWwgcGFkZGluZyBvZiB0aGUgcGFuZSB0aXRsZSBpbiB0aGUgRG9ja01hbmFnZXIgY29tcG9uZW50LlxuLy8vIEBncm91cCBkb2NrLW1hbmFnZXJcbiRrZW5kby1kb2NrLW1hbmFnZXItcGFuZS10aXRsZS1wYWRkaW5nLXg6IG51bGwgIWRlZmF1bHQ7XG4vLy8gVGhlIGZvbnQgZmFtaWx5IG9mIHRoZSBwYW5lIHRpdGxlIGluIHRoZSBEb2NrTWFuYWdlciBjb21wb25lbnQuXG4vLy8gQGdyb3VwIGRvY2stbWFuYWdlclxuJGtlbmRvLWRvY2stbWFuYWdlci1wYW5lLXRpdGxlLWZvbnQtZmFtaWx5OiB2YXIoIC0ta2VuZG8tZm9udC1mYW1pbHksIGluaGVyaXQgKSAhZGVmYXVsdDtcbi8vLyBUaGUgZm9udCBzaXplIG9mIHRoZSBwYW5lIHRpdGxlIGluIHRoZSBEb2NrTWFuYWdlciBjb21wb25lbnQuXG4vLy8gQGdyb3VwIGRvY2stbWFuYWdlclxuJGtlbmRvLWRvY2stbWFuYWdlci1wYW5lLXRpdGxlLWZvbnQtc2l6ZTogdmFyKCAtLWtlbmRvLWZvbnQtc2l6ZS1sZywgaW5oZXJpdCApICFkZWZhdWx0O1xuLy8vIFRoZSBsaW5lIGhlaWdodCBvZiB0aGUgcGFuZSB0aXRsZSBpbiB0aGUgRG9ja01hbmFnZXIgY29tcG9uZW50LlxuLy8vIEBncm91cCBkb2NrLW1hbmFnZXJcbiRrZW5kby1kb2NrLW1hbmFnZXItcGFuZS10aXRsZS1saW5lLWhlaWdodDogdmFyKCAtLWtlbmRvLWxpbmUtaGVpZ2h0LCBub3JtYWwgKSAhZGVmYXVsdDtcbi8vLyBUaGUgZm9udCB3ZWlnaHQgb2YgdGhlIHBhbmUgdGl0bGUgaW4gdGhlIERvY2tNYW5hZ2VyIGNvbXBvbmVudC5cbi8vLyBAZ3JvdXAgZG9jay1tYW5hZ2VyXG4ka2VuZG8tZG9jay1tYW5hZ2VyLXBhbmUtdGl0bGUtZm9udC13ZWlnaHQ6IHZhciggLS1rZW5kby1mb250LXdlaWdodCwgbm9ybWFsICkgIWRlZmF1bHQ7XG5cbi8vLyBUaGUgaG9yaXpvbnRhbCBwYWRkaW5nIG9mIHRoZSBwYW5lIGNvbnRlbnQgaW4gdGhlIERvY2tNYW5hZ2VyIGNvbXBvbmVudC5cbi8vLyBAZ3JvdXAgZG9jay1tYW5hZ2VyXG4ka2VuZG8tZG9jay1tYW5hZ2VyLXBhbmUtY29udGVudC1wYWRkaW5nLXg6IGstc3BhY2luZygzKSAhZGVmYXVsdDtcbi8vLyBUaGUgdmVydGljYWwgcGFkZGluZyBvZiB0aGUgcGFuZSBjb250ZW50IGluIHRoZSBEb2NrTWFuYWdlciBjb21wb25lbnQuXG4vLy8gQGdyb3VwIGRvY2stbWFuYWdlclxuJGtlbmRvLWRvY2stbWFuYWdlci1wYW5lLWNvbnRlbnQtcGFkZGluZy15OiBrLXNwYWNpbmcoMykgIWRlZmF1bHQ7XG5cbi8vLyBUaGUgaG9yaXpvbnRhbCBwYWRkaW5nIG9mIHRoZSB0YWJiZWQgcGFuZSBpbiB0aGUgRG9ja01hbmFnZXIgY29tcG9uZW50LlxuLy8vIEBncm91cCBkb2NrLW1hbmFnZXJcbiRrZW5kby1kb2NrLW1hbmFnZXItdGFiYmVkLXBhbmUtcGFkZGluZy15OiBudWxsICFkZWZhdWx0O1xuLy8vIFRoZSBob3Jpem9udGFsIHBhZGRpbmcgb2YgdGhlIHRhYmJlZCBwYW5lIGluIHRoZSBEb2NrTWFuYWdlciBjb21wb25lbnQuXG4vLy8gQGdyb3VwIGRvY2stbWFuYWdlclxuJGtlbmRvLWRvY2stbWFuYWdlci10YWJiZWQtcGFuZS1wYWRkaW5nLXg6IG51bGwgIWRlZmF1bHQ7XG5cbi8vLyBUaGUgd2lkdGggb2YgdGhlIHVucGlubmVkIHBhbmUgY29udGFpbmVyIGluIHRoZSBEb2NrTWFuYWdlciBjb21wb25lbnQuXG4vLy8gQGdyb3VwIGRvY2stbWFuYWdlclxuJGtlbmRvLWRvY2stbWFuYWdlci11bnBpbm5lZC1jb250YWluZXItd2lkdGg6IDMwMHB4ICFkZWZhdWx0O1xuLy8vIFRoZSBiYWNrZ3JvdW5kLWNvbG9yIG9mIHRoZSB1bnBpbm5lZCBwYW5lIGNvbnRhaW5lciBpbiB0aGUgRG9ja01hbmFnZXIgY29tcG9uZW50LlxuLy8vIEBncm91cCBkb2NrLW1hbmFnZXJcbiRrZW5kby1kb2NrLW1hbmFnZXItdW5waW5uZWQtY29udGFpbmVyLWJnOiBpZigka2VuZG8tZW5hYmxlLWNvbG9yLXN5c3RlbSwgay1jb2xvciggYXBwLXN1cmZhY2UgKSwgJGtlbmRvLWNvbG9yLXdoaXRlKSAhZGVmYXVsdDtcbi8vLyBUaGUgYm94IHNoYWRvdyBvZiB0aGUgdW5waW5uZWQgcGFuZSBjb250YWluZXIgaW4gdGhlIERvY2tNYW5hZ2VyIGNvbXBvbmVudC5cbi8vLyBAZ3JvdXAgZG9jay1tYW5hZ2VyXG4ka2VuZG8tZG9jay1tYW5hZ2VyLXVucGlubmVkLWNvbnRhaW5lci1zaGFkb3c6IDI1LjZweCAwcHggNTcuNnB4IDBweCByZ2JhKDAsIDAsIDAsIDAuMjIpLCA0LjhweCAwcHggMTQuNHB4IDBweCByZ2JhKDAsIDAsIDAsIDAuMTgpICFkZWZhdWx0O1xuXG4vLy8gVGhlIHBhZGRpbmcgb2YgdGhlIGRvY2sgaW5kaWNhdG9yIGluIHRoZSBEb2NrTWFuYWdlciBjb21wb25lbnQuXG4vLy8gQGdyb3VwIGRvY2stbWFuYWdlclxuJGtlbmRvLWRvY2staW5kaWNhdG9yLXBhZGRpbmc6IGstc3BhY2luZygxLjUpICFkZWZhdWx0O1xuLy8vIFRoZSBiYWNrZ3JvdW5kIGNvbG9yIG9mIHRoZSBkb2NrIGluZGljYXRvciBpbiB0aGUgRG9ja01hbmFnZXIgY29tcG9uZW50LlxuLy8vIEBncm91cCBkb2NrLW1hbmFnZXJcbiRrZW5kby1kb2NrLWluZGljYXRvci1iZzogJGtlbmRvLWNvbXBvbmVudC1iZyAhZGVmYXVsdDtcbi8vLyBUaGUgdGV4dCBjb2xvciBvZiB0aGUgZG9jayBpbmRpY2F0b3IgaW4gdGhlIERvY2tNYW5hZ2VyIGNvbXBvbmVudC5cbi8vLyBAZ3JvdXAgZG9jay1tYW5hZ2VyXG4ka2VuZG8tZG9jay1pbmRpY2F0b3ItdGV4dDogaWYoJGtlbmRvLWVuYWJsZS1jb2xvci1zeXN0ZW0sIGstY29sb3IoIHByaW1hcnkgKSwgay1nZXQtdGhlbWUtY29sb3ItdmFyKCBwcmltYXJ5LTEwMCApKSAhZGVmYXVsdDtcbi8vLyBUaGUgb3V0bGluZSB3aWR0aCBvZiB0aGUgZG9jayBpbmRpY2F0b3IgaW4gdGhlIERvY2tNYW5hZ2VyIGNvbXBvbmVudC5cbi8vLyBAZ3JvdXAgZG9jay1tYW5hZ2VyXG4ka2VuZG8tZG9jay1pbmRpY2F0b3Itb3V0bGluZS13aWR0aDogMXB4ICFkZWZhdWx0O1xuLy8vIFRoZSBvdXRsaW5lIHN0eWxlIG9mIHRoZSBkb2NrIGluZGljYXRvciBpbiB0aGUgRG9ja01hbmFnZXIgY29tcG9uZW50LlxuLy8vIEBncm91cCBkb2NrLW1hbmFnZXJcbiRrZW5kby1kb2NrLWluZGljYXRvci1vdXRsaW5lLXN0eWxlOiBzb2xpZCAhZGVmYXVsdDtcbi8vLyBUaGUgb3V0bGluZSBjb2xvciBvZiB0aGUgZG9jayBpbmRpY2F0b3IgaW4gdGhlIERvY2tNYW5hZ2VyIGNvbXBvbmVudC5cbi8vLyBAZ3JvdXAgZG9jay1tYW5hZ2VyXG4ka2VuZG8tZG9jay1pbmRpY2F0b3Itb3V0bGluZTogJGtlbmRvLWRvY2staW5kaWNhdG9yLXRleHQgIWRlZmF1bHQ7XG4vLy8gVGhlIGJveCBzaGFkb3cgb2YgdGhlIGRvY2sgaW5kaWNhdG9yIGluIHRoZSBEb2NrTWFuYWdlciBjb21wb25lbnQuXG4vLy8gQGdyb3VwIGRvY2stbWFuYWdlclxuJGtlbmRvLWRvY2staW5kaWNhdG9yLXNoYWRvdzogMHB4IDFweCAxOHB4IDBweCByZ2JhKDAsIDAsIDAsIDAuMTIpLCAwcHggNnB4IDEwcHggMHB4IHJnYmEoMCwgMCwgMCwgMC4xNCksIDBweCAzcHggNXB4IC0xcHggcmdiYSgwLCAwLCAwLCAwLjIwKSAhZGVmYXVsdDtcblxuLy8vICBUaGUgYmFja2dyb3VuZCBjb2xvciBvZiB0aGUgaG92ZXJlZCBkb2NrIGluZGljYXRvciBpbiB0aGUgRG9ja01hbmFnZXIgY29tcG9uZW50LlxuLy8vIEBncm91cCBkb2NrLW1hbmFnZXJcbiRrZW5kby1kb2NrLWluZGljYXRvci1ob3Zlci1iZzogaWYoJGtlbmRvLWVuYWJsZS1jb2xvci1zeXN0ZW0sIGstY29sb3IoIHByaW1hcnktaG92ZXIgKSwgay1nZXQtdGhlbWUtY29sb3ItdmFyKCBwcmltYXJ5LTExMCApKSAhZGVmYXVsdDtcbi8vLyBUaGUgdGV4dCBjb2xvciBvZiB0aGUgaG92ZXJlZCBkb2NrIGluZGljYXRvciBpbiB0aGUgRG9ja01hbmFnZXIgY29tcG9uZW50LlxuLy8vIEBncm91cCBkb2NrLW1hbmFnZXJcbiRrZW5kby1kb2NrLWluZGljYXRvci1ob3Zlci10ZXh0OiBpZigka2VuZG8tZW5hYmxlLWNvbG9yLXN5c3RlbSwgay1jb2xvciggYXBwLXN1cmZhY2UgKSwgJGtlbmRvLWNvbG9yLXdoaXRlKSAhZGVmYXVsdDtcblxuLy8vIFRoZSB3aWR0aCBvZiB0aGUgYm9yZGVyIGFyb3VuZCB0aGUgZHJvcHBpbmcgYXJlYSBpbiB0aGUgRG9ja01hbmFnZXIgY29tcG9uZW50LlxuLy8vIEBncm91cCBkb2NrLW1hbmFnZXJcbiRrZW5kby1kb2NrLW1hbmFnZXItZG9jay1wcmV2aWV3LWJvcmRlci13aWR0aDogMXB4ICFkZWZhdWx0O1xuLy8vIFRoZSBzdHlsZSBvZiB0aGUgYm9yZGVyIGFyb3VuZCB0aGUgZHJvcHBpbmcgYXJlYSBpbiB0aGUgRG9ja01hbmFnZXIgY29tcG9uZW50LlxuLy8vIEBncm91cCBkb2NrLW1hbmFnZXJcbiRrZW5kby1kb2NrLW1hbmFnZXItZG9jay1wcmV2aWV3LWJvcmRlci1zdHlsZTogZGFzaGVkICFkZWZhdWx0O1xuLy8vIFRoZSBib3JkZXIgcmFkaXVzIG9mIHRoZSBkcm9wcGluZyBhcmVhIGluIHRoZSBEb2NrTWFuYWdlciBjb21wb25lbnQuXG4vLy8gQGdyb3VwIGRvY2stbWFuYWdlclxuJGtlbmRvLWRvY2stbWFuYWdlci1kb2NrLXByZXZpZXctYm9yZGVyLXJhZGl1czogdmFyKCAtLWtlbmRvLWJvcmRlci1yYWRpdXMtbWQsIDApICFkZWZhdWx0O1xuLy8vIFRoZSBiYWNrZ3JvdW5kIGNvbG9yIG9mIHRoZSBkcm9wcGluZyBhcmVhIGluIHRoZSBEb2NrTWFuYWdlciBjb21wb25lbnQuXG4vLy8gQGdyb3VwIGRvY2stbWFuYWdlclxuJGtlbmRvLWRvY2stbWFuYWdlci1kb2NrLXByZXZpZXctYmc6IGlmKCRrZW5kby1lbmFibGUtY29sb3Itc3lzdGVtLCBjb2xvci1taXgoaW4gc3JnYiwgay1jb2xvciggcHJpbWFyeSApIDIwJSwgdHJhbnNwYXJlbnQpLCBjb2xvci1taXgoaW4gc3JnYiwgay1nZXQtdGhlbWUtY29sb3ItdmFyKCBwcmltYXJ5LTEwMCApIDIwJSwgdHJhbnNwYXJlbnQpKSAhZGVmYXVsdDtcbi8vLyBUaGUgYm9yZGVyIGNvbG9yIG9mIHRoZSBkcm9wcGluZyBhcmVhIGluIHRoZSBEb2NrTWFuYWdlciBjb21wb25lbnQuXG4vLy8gQGdyb3VwIGRvY2stbWFuYWdlclxuJGtlbmRvLWRvY2stbWFuYWdlci1kb2NrLXByZXZpZXctYm9yZGVyOiBpZigka2VuZG8tZW5hYmxlLWNvbG9yLXN5c3RlbSwgay1jb2xvciggcHJpbWFyeSApLCBrLWdldC10aGVtZS1jb2xvci12YXIoIHByaW1hcnktMTAwICkpICFkZWZhdWx0O1xuIiwiQHVzZSBcInNhc3M6bWV0YVwiO1xuQHVzZSBcInNhc3M6c3RyaW5nXCI7XG5AdXNlIFwiLi4vY29yZS9faW5kZXguc2Nzc1wiIGFzICo7XG5AdXNlIFwiLi9fdmFyaWFibGVzLnNjc3NcIiBhcyAqO1xuQHVzZSBcIi4uL3Rvb2x0aXAvX3ZhcmlhYmxlcy5zY3NzXCIgYXMgKjtcbkB1c2UgXCIuLi9jb3JlL3NwYWNpbmcvX2luZGV4LnNjc3NcIiBhcyAqO1xuXG5AbWl4aW4ga2VuZG8tZGF0YXZpei0tbGF5b3V0KCkge1xuXG4gICAgLmstYmFyY29kZSB7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcblxuICAgICAgICA+IGRpdiB7XG4gICAgICAgICAgICBoZWlnaHQ6IDE1MHB4O1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLy8gRWxlbWVudHNcbiAgICAuay1jaGFydCxcbiAgICAuay1zcGFya2xpbmUsXG4gICAgLmstc3RvY2tjaGFydCB7XG4gICAgICAgIGJvcmRlci13aWR0aDogdmFyKCAtLWtlbmRvLWNoYXJ0LWJvcmRlci13aWR0aCwgI3ska2VuZG8tY2hhcnQtYm9yZGVyLXdpZHRofSApO1xuICAgICAgICBib3JkZXItc3R5bGU6IHNvbGlkO1xuICAgICAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgICAgICBvdXRsaW5lOiAwO1xuICAgICAgICBmb250LWZhbWlseTogdmFyKCAtLWtlbmRvLWNoYXJ0LWZvbnQtZmFtaWx5LCAjeyRrZW5kby1jaGFydC1mb250LWZhbWlseX0gKTtcbiAgICAgICAgZm9udC1zaXplOiB2YXIoIC0ta2VuZG8tY2hhcnQtZm9udC1zaXplLCAjeyRrZW5kby1jaGFydC1mb250LXNpemV9ICk7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiB2YXIoIC0ta2VuZG8tY2hhcnQtbGluZS1oZWlnaHQsICN7JGtlbmRvLWNoYXJ0LWxpbmUtaGVpZ2h0fSApO1xuICAgICAgICAtd2Via2l0LXRvdWNoLWNhbGxvdXQ6IG5vbmU7XG4gICAgICAgIC13ZWJraXQtdGFwLWhpZ2hsaWdodC1jb2xvcjogJGtlbmRvLWNvbG9yLXJnYmEtdHJhbnNwYXJlbnQ7XG4gICAgfVxuXG4gICAgLmstY2hhcnQsXG4gICAgLmstc3RvY2tjaGFydCB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICBoZWlnaHQ6IDQwMHB4O1xuICAgIH1cblxuICAgIC5rLWNoYXJ0LXN1cmZhY2Uge1xuICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgfVxuXG4gICAgLmstY2hhcnQgLmstcG9wdXAge1xuICAgICAgICBib3JkZXItd2lkdGg6IDA7XG4gICAgfVxuXG4gICAgLmstY2hhcnQtdG9vbHRpcC13cmFwcGVyIC5rLWFuaW1hdGlvbi1jb250YWluZXItc2hvd24sXG4gICAgLmstY2hhcnQtdG9vbHRpcC13cmFwcGVyLmstYW5pbWF0aW9uLWNvbnRhaW5lci1zaG93biB7XG4gICAgICAgIEBpbmNsdWRlIGJvcmRlci1yYWRpdXMoIGstYm9yZGVyLXJhZGl1cyhtZCkgKTtcbiAgICAgICAgdHJhbnNpdGlvbjogbGVmdCBlYXNlLWluIDgwbXMsIHRvcCBlYXNlLWluIDgwbXM7XG4gICAgfVxuXG4gICAgLmstc3BhcmtsaW5lLXRvb2x0aXAtd3JhcHBlcixcbiAgICAuay1jaGFydC10b29sdGlwLXdyYXBwZXIge1xuICAgICAgICB6LWluZGV4OiAxMjAwMDtcblxuICAgICAgICAuay1wb3B1cCB7XG4gICAgICAgICAgICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKCBrLWJvcmRlci1yYWRpdXMobWQpICk7XG4gICAgICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgICAgICAgYm9yZGVyLXdpZHRoOiAwO1xuICAgICAgICAgICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAuay1jaGFydC10b29sdGlwIHRhYmxlIHtcbiAgICAgICAgYm9yZGVyLXNwYWNpbmc6IDA7XG4gICAgICAgIGJvcmRlci1jb2xsYXBzZTogY29sbGFwc2U7XG4gICAgfVxuXG4gICAgLmstY2hhcnQtdG9vbHRpcCB7XG4gICAgICAgIEBpbmNsdWRlIGJvcmRlci1yYWRpdXMoIGstYm9yZGVyLXJhZGl1cyhtZCkgKTtcbiAgICAgICAgZm9udC1zaXplOiB2YXIoIC0ta2VuZG8tY2hhcnQtdG9vbHRpcC1mb250LXNpemUsICN7JGtlbmRvLWNoYXJ0LXRvb2x0aXAtZm9udC1zaXplfSApO1xuICAgICAgICBsaW5lLWhlaWdodDogdmFyKCAtLWtlbmRvLWNoYXJ0LXRvb2x0aXAtbGluZS1oZWlnaHQsICN7JGtlbmRvLWNoYXJ0LXRvb2x0aXAtbGluZS1oZWlnaHR9ICk7XG4gICAgICAgIHBhZGRpbmctaW5saW5lOiB2YXIoIC0ta2VuZG8tY2hhcnQtdG9vbHRpcC1wYWRkaW5nLXgsICN7JGtlbmRvLXRvb2x0aXAtcGFkZGluZy14fSApO1xuICAgICAgICBwYWRkaW5nLWJsb2NrOiB2YXIoIC0ta2VuZG8tY2hhcnQtdG9vbHRpcC1wYWRkaW5nLXksICN7JGtlbmRvLXRvb2x0aXAtcGFkZGluZy15fSApO1xuICAgIH1cblxuICAgIC5rLWNoYXJ0LXRvb2x0aXAgdGgge1xuICAgICAgICB3aWR0aDogYXV0bztcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICBwYWRkaW5nOiAxcHg7XG4gICAgfVxuXG4gICAgLmstY2hhcnQtdG9vbHRpcCB0ZCB7XG4gICAgICAgIHdpZHRoOiBhdXRvO1xuICAgICAgICB0ZXh0LWFsaWduOiBzdGFydDtcbiAgICAgICAgcGFkZGluZy1pbmxpbmU6IHZhciggLS1rZW5kby1jaGFydC10b29sdGlwLXBhZGRpbmcteCwgI3trLXNwYWNpbmcoMSl9ICk7XG4gICAgICAgIHBhZGRpbmctYmxvY2s6IHZhciggLS1rZW5kby1jaGFydC10b29sdGlwLXBhZGRpbmcteSwgI3trLXNwYWNpbmcoMC41KX0gKTtcbiAgICAgICAgbGluZS1oZWlnaHQ6IHZhciggLS1rZW5kby1jaGFydC10b29sdGlwLWxpbmUtaGVpZ2h0LCAjeyRrZW5kby1jaGFydC10b29sdGlwLWxpbmUtaGVpZ2h0fSApO1xuICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICAgIH1cblxuICAgIC5rLWNoYXJ0LWNyb3NzaGFpci10b29sdGlwLFxuICAgIC5rLWNoYXJ0LXNoYXJlZC10b29sdGlwIHtcbiAgICAgICAgYm9yZGVyLXdpZHRoOiAxcHg7XG4gICAgICAgIGJvcmRlci1zdHlsZTogc29saWQ7XG4gICAgfVxuXG4gICAgLmstY2hhcnQtc2hhcmVkLXRvb2x0aXAgLmstY2hhcnQtc2hhcmVkLXRvb2x0aXAtbWFya2VyIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIHdpZHRoOiAxNXB4O1xuICAgICAgICBoZWlnaHQ6IDNweDtcbiAgICAgICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgICB9XG5cbiAgICAvLyBTZWxlY3Rpb25cbiAgICAuay1zZWxlY3RvciB7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVaKDApO1xuICAgIH1cblxuICAgIC5rLXNlbGVjdGlvbiB7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICBib3JkZXItd2lkdGg6IDFweDtcbiAgICAgICAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcbiAgICAgICAgYm9yZGVyLWJvdHRvbTogMDtcbiAgICB9XG5cbiAgICAuay1zZWxlY3Rpb24tYmcge1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgfVxuXG4gICAgLmstaGFuZGxlIHtcbiAgICAgICAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cyggNTAlICk7XG4gICAgICAgIHdpZHRoOiB2YXIoIC0ta2VuZG8tc2VsZWN0aW9uLWhhbmRsZS1zaXplLCAjeyRrZW5kby1zZWxlY3Rpb24taGFuZGxlLXNpemV9ICk7XG4gICAgICAgIGhlaWdodDogdmFyKCAtLWtlbmRvLXNlbGVjdGlvbi1oYW5kbGUtc2l6ZSwgI3ska2VuZG8tc2VsZWN0aW9uLWhhbmRsZS1zaXplfSApO1xuICAgICAgICBib3JkZXItd2lkdGg6IDFweDtcbiAgICAgICAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcbiAgICAgICAgei1pbmRleDogMTtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICBib3gtc2l6aW5nOiBjb250ZW50LWJveDtcbiAgICB9XG5cbiAgICAuay1oYW5kbGUgZGl2IHtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIGhlaWdodDogMTAwJTtcbiAgICB9XG5cbiAgICAuay1sZWZ0LWhhbmRsZSB7XG4gICAgICAgIGluc2V0LWlubGluZS1zdGFydDogY2FsYyggdmFyKCAtLWtlbmRvLXNlbGVjdGlvbi1oYW5kbGUtc2l6ZSwgI3ska2VuZG8tc2VsZWN0aW9uLWhhbmRsZS1zaXplfSApIC8gLTIgKTtcbiAgICB9XG5cbiAgICAuay1yaWdodC1oYW5kbGUge1xuICAgICAgICBpbnNldC1pbmxpbmUtZW5kOiBjYWxjKCB2YXIoIC0ta2VuZG8tc2VsZWN0aW9uLWhhbmRsZS1zaXplLCAjeyRrZW5kby1zZWxlY3Rpb24taGFuZGxlLXNpemV9ICkgLyAtMiApO1xuICAgIH1cblxuICAgIC5rLWxlZnQtaGFuZGxlIGRpdiB7XG4gICAgICAgIG1hcmdpbi1ibG9jay1zdGFydDogY2FsYyggdmFyKCAtLWtlbmRvLXNlbGVjdGlvbi1oYW5kbGUtc2l6ZSwgI3ska2VuZG8tc2VsZWN0aW9uLWhhbmRsZS1zaXplfSApICogLTEgKTtcbiAgICAgICAgbWFyZ2luLWlubGluZS1zdGFydDogY2FsYyggdmFyKCAtLWtlbmRvLXNlbGVjdGlvbi1oYW5kbGUtc2l6ZSwgI3ska2VuZG8tc2VsZWN0aW9uLWhhbmRsZS1zaXplfSApIC8gLTEuNSApO1xuICAgICAgICBwYWRkaW5nLWJsb2NrLXN0YXJ0OiBjYWxjKCB2YXIoIC0ta2VuZG8tc2VsZWN0aW9uLWhhbmRsZS1zaXplLCAjeyRrZW5kby1zZWxlY3Rpb24taGFuZGxlLXNpemV9ICkgKiAyICk7XG4gICAgICAgIHBhZGRpbmctaW5saW5lLWVuZDogY2FsYyggKCB2YXIoIC0ta2VuZG8tc2VsZWN0aW9uLWhhbmRsZS1zaXplLCAjeyRrZW5kby1zZWxlY3Rpb24taGFuZGxlLXNpemV9ICkgLyAxLjUgKSAqIDIgKTtcbiAgICB9XG5cbiAgICAuay1yaWdodC1oYW5kbGUgZGl2IHtcbiAgICAgICAgbWFyZ2luLWJsb2NrLXN0YXJ0OiBjYWxjKCB2YXIoIC0ta2VuZG8tc2VsZWN0aW9uLWhhbmRsZS1zaXplLCAjeyRrZW5kby1zZWxlY3Rpb24taGFuZGxlLXNpemV9ICkgKiAtMSApO1xuICAgICAgICBtYXJnaW4taW5saW5lLXN0YXJ0OiBjYWxjKCB2YXIoIC0ta2VuZG8tc2VsZWN0aW9uLWhhbmRsZS1zaXplLCAjeyRrZW5kby1zZWxlY3Rpb24taGFuZGxlLXNpemV9ICkgLyAtMS41ICk7XG4gICAgICAgIHBhZGRpbmctYmxvY2stc3RhcnQ6IGNhbGMoIHZhciggLS1rZW5kby1zZWxlY3Rpb24taGFuZGxlLXNpemUsICN7JGtlbmRvLXNlbGVjdGlvbi1oYW5kbGUtc2l6ZX0gKSAqIDIgKTtcbiAgICAgICAgcGFkZGluZy1pbmxpbmUtc3RhcnQ6IGNhbGMoICggdmFyKCAtLWtlbmRvLXNlbGVjdGlvbi1oYW5kbGUtc2l6ZSwgI3ska2VuZG8tc2VsZWN0aW9uLWhhbmRsZS1zaXplfSApIC8gMS41ICkgKiAyICk7XG4gICAgfVxuXG4gICAgLmstbGVmdC1oYW5kbGUuay1oYW5kbGUtYWN0aXZlIGRpdiB7XG4gICAgICAgIG1hcmdpbi1pbmxpbmUtc3RhcnQ6IGNhbGMoIHZhciggLS1rZW5kby1zZWxlY3Rpb24taGFuZGxlLXNpemUsICN7JGtlbmRvLXNlbGVjdGlvbi1oYW5kbGUtc2l6ZX0gKSAqIDIgKTtcbiAgICAgICAgcGFkZGluZy1pbmxpbmUtc3RhcnQ6IGNhbGMoICggdmFyKCAtLWtlbmRvLXNlbGVjdGlvbi1oYW5kbGUtc2l6ZSwgI3ska2VuZG8tc2VsZWN0aW9uLWhhbmRsZS1zaXplfSApICogMiApICsgKCB2YXIoIC0ta2VuZG8tc2VsZWN0aW9uLWhhbmRsZS1zaXplLCAjeyRrZW5kby1zZWxlY3Rpb24taGFuZGxlLXNpemV9ICkgLyAxLjUgKSApO1xuICAgIH1cblxuICAgIC5rLXJpZ2h0LWhhbmRsZS5rLWhhbmRsZS1hY3RpdmUgZGl2IHtcbiAgICAgICAgbWFyZ2luLWlubGluZS1zdGFydDogY2FsYyggdmFyKCAtLWtlbmRvLXNlbGVjdGlvbi1oYW5kbGUtc2l6ZSwgI3ska2VuZG8tc2VsZWN0aW9uLWhhbmRsZS1zaXplfSApICogMiApO1xuICAgICAgICBwYWRkaW5nLWlubGluZS1lbmQ6IGNhbGMoICggdmFyKCAtLWtlbmRvLXNlbGVjdGlvbi1oYW5kbGUtc2l6ZSwgI3ska2VuZG8tc2VsZWN0aW9uLWhhbmRsZS1zaXplfSApICogMiApICsgKCB2YXIoIC0ta2VuZG8tc2VsZWN0aW9uLWhhbmRsZS1zaXplLCAjeyRrZW5kby1zZWxlY3Rpb24taGFuZGxlLXNpemV9ICkgLyAxLjUgKSApO1xuICAgIH1cblxuICAgIC5rLW1hc2sge1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIGhlaWdodDogMTAwJTtcbiAgICB9XG5cbiAgICAvLyBOYXZpZ2F0b3IgaGludFxuICAgIC5rLW5hdmlnYXRvci1oaW50IGRpdiB7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB9XG5cbiAgICAuay1uYXZpZ2F0b3ItaGludCAuay1zY3JvbGwge1xuICAgICAgICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKCBrLWJvcmRlci1yYWRpdXMobWQpICk7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgaGVpZ2h0OiA0cHg7XG4gICAgfVxuXG4gICAgLmstbmF2aWdhdG9yLWhpbnQgLmstdG9vbHRpcCB7XG4gICAgICAgIG1hcmdpbi10b3A6IDIwcHg7XG4gICAgICAgIG1pbi13aWR0aDogMTYwcHg7XG4gICAgICAgIG9wYWNpdHk6IDE7XG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICB9XG5cbiAgICAvLyBTcGFya2xpbmVzXG4gICAgLmstc3BhcmtsaW5lLFxuICAgIC5rLXNwYXJrbGluZSBzcGFuIHtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogdG9wO1xuICAgIH1cblxuICAgIC5rLXNwYXJrbGluZSBzcGFuIHtcbiAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICB9XG5cbiAgICAuay1jaGFydC1kcmFnZ2luZyB7XG4gICAgICAgIHVzZXItc2VsZWN0OiBub25lO1xuICAgIH1cblxuICAgIC5rLWNoYXJ0LWRvbnV0LWNlbnRlciB7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuXG4gICAgICAgIGJvcmRlcjogNHB4IHNvbGlkIHRyYW5zcGFyZW50O1xuICAgICAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgIH1cblxuICAgIC5rLXBkZi1leHBvcnQge1xuICAgICAgICAuay1jaGFydCxcbiAgICAgICAgLmstc3BhcmtsaW5lLFxuICAgICAgICAuay1zdG9ja2NoYXJ0IHtcbiAgICAgICAgICAgIC5rLWFuaW1hdGlvbi1jb250YWluZXIge1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAgICAgLy8gQ2hhcnQgT3ZlcmxheVxuICAgICAgICAuay1jaGFydC1vdmVybGF5IHtcbiAgICAgICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgaGVpZ2h0OiBpZiggLS1rZW5kby1jaGFydC1jb21wdXRlZC10aXRsZS1oZWlnaHQsIGNhbGMoIDEwMCUgLSB2YXIoIC0ta2VuZG8tY2hhcnQtY29tcHV0ZWQtdGl0bGUtaGVpZ2h0LCAjeyRrZW5kby1jaGFydC1jb21wdXRlZC10aXRsZS1oZWlnaHR9ICkgKSwgMTAwJSApO1xuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgdG9wOiAwO1xuICAgICAgICAgICAgbGVmdDogMDtcbiAgICAgICAgICAgIG9wYWNpdHk6IDE7XG4gICAgICAgICAgICB6LWluZGV4OiAxMDAwMTtcblxuICAgICAgICAgICAgJi10b3Age1xuICAgICAgICAgICAgICAgIHRvcDogdmFyKCAtLWtlbmRvLWNoYXJ0LWNvbXB1dGVkLXRpdGxlLWhlaWdodCwgI3ska2VuZG8tY2hhcnQtY29tcHV0ZWQtdGl0bGUtaGVpZ2h0fSApO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAuay1uby1kYXRhIHtcbiAgICAgICAgICAgICAgICBtaW4taGVpZ2h0OiBhdXRvO1xuICAgICAgICAgICAgICAgIHBhZGRpbmctYmxvY2stc3RhcnQ6IHZhciggLS1rZW5kby1jaGFydC1uby1kYXRhLXBhZGRpbmcteSwgI3ska2VuZG8tY2hhcnQtbm8tZGF0YS1wYWRkaW5nLXl9ICk7XG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiB2YXIoIC0ta2VuZG8tY2hhcnQtbm8tZGF0YS1mb250LXNpemUsICN7JGtlbmRvLWNoYXJ0LW5vLWRhdGEtZm9udC1zaXplfSApO1xuICAgICAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiB2YXIoIC0ta2VuZG8tY2hhcnQtbm8tZGF0YS1mb250LXdlaWdodCwgI3ska2VuZG8tY2hhcnQtbm8tZGF0YS1mb250LXdlaWdodH0gKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgLmstZGlhZ3JhbSB7XG4gICAgICAgIGhlaWdodDogNjAwcHg7XG4gICAgfVxuXG4gICAgLmstZGlhZ3JhbSAua20tc2Nyb2xsLXdyYXBwZXIge1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgfVxuXG4gICAgLmstZGlhZ3JhbSAua20tc2Nyb2xsLXdyYXBwZXIge1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgfVxuXG4gICAgLmstY2FudmFzLWNvbnRhaW5lciB7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgfVxuXG4gICAgLy8gU2Fua2V5IGxhYmVsc1xuICAgIC5rLXNhbmtleSB0ZXh0IHtcbiAgICAgICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gICAgfVxuXG4gICAgLy8gQmFzZVxuICAgIC5rLXRyZWVtYXAge1xuICAgICAgICBoZWlnaHQ6IDQwMHB4O1xuICAgICAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgICAgICBib3JkZXItd2lkdGg6IDFweDtcbiAgICAgICAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcbiAgICAgICAgb3V0bGluZTogMDtcbiAgICAgICAgZm9udC1mYW1pbHk6IHZhciggLS1rZW5kby10cmVlbWFwLWZvbnQtZmFtaWx5LCAjeyRrZW5kby10cmVlbWFwLWZvbnQtZmFtaWx5fSApO1xuICAgICAgICBmb250LXNpemU6IHZhciggLS1rZW5kby10cmVlbWFwLWZvbnQtc2l6ZSwgI3ska2VuZG8tdHJlZW1hcC1mb250LXNpemV9ICk7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiB2YXIoIC0ta2VuZG8tdHJlZW1hcC1saW5lLWhlaWdodCwgI3ska2VuZG8tdHJlZW1hcC1saW5lLWhlaWdodH0gKTtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgICAgIC13ZWJraXQtdG91Y2gtY2FsbG91dDogbm9uZTtcbiAgICAgICAgLXdlYmtpdC10YXAtaGlnaGxpZ2h0LWNvbG9yOiAka2VuZG8tY29sb3ItcmdiYS10cmFuc3BhcmVudDtcblxuICAgICAgICAvLyBUaWxlXG4gICAgICAgIC5rLXRyZWVtYXAtdGlsZSB7XG4gICAgICAgICAgICBtYXJnaW46IC0xcHggMCAwIC0xcHg7XG4gICAgICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgICAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgICAgICAgICAgYm9yZGVyOiAxcHggc29saWQ7XG4gICAgICAgICAgICBib3JkZXItY29sb3I6IGluaGVyaXQ7XG4gICAgICAgICAgICBjb2xvcjogaW5oZXJpdDtcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IGluaGVyaXQ7XG4gICAgICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB9XG4gICAgICAgID4gLmstdHJlZW1hcC10aWxlIHtcbiAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgfVxuXG4gICAgICAgIC8vIFRpdGxlXG4gICAgICAgIC5rLXRyZWVtYXAtdGl0bGUge1xuICAgICAgICAgICAgcGFkZGluZy1pbmxpbmU6IHZhciggLS1rZW5kby10cmVlbWFwLXRpdGxlLXBhZGRpbmcteCwgI3trLXNwYWNpbmcoMSl9ICk7XG4gICAgICAgICAgICBwYWRkaW5nLWJsb2NrOiB2YXIoIC0ta2VuZG8tdHJlZW1hcC10aXRsZS1wYWRkaW5nLXksICN7ay1zcGFjaW5nKDAuNSl9ICk7XG4gICAgICAgICAgICBib3JkZXItd2lkdGg6IDAgMCAxcHg7XG4gICAgICAgICAgICBib3JkZXItc3R5bGU6IHNvbGlkO1xuICAgICAgICAgICAgYm9yZGVyLWNvbG9yOiBpbmhlcml0O1xuICAgICAgICAgICAgZm9udC1zaXplOiB2YXIoIC0ta2VuZG8tdHJlZW1hcC1mb250LXNpemUsICN7JGtlbmRvLXRyZWVtYXAtZm9udC1zaXplfSApO1xuICAgICAgICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogMCAwO1xuICAgICAgICAgICAgYmFja2dyb3VuZC1yZXBlYXQ6IHJlcGVhdC14O1xuICAgICAgICB9XG4gICAgICAgIC5rLXRyZWVtYXAtdGl0bGUtdmVydGljYWwge1xuICAgICAgICAgICAgcGFkZGluZy1pbmxpbmU6IHZhciggLS1rZW5kby10cmVlbWFwLXBhZGRpbmcteSwgI3trLXNwYWNpbmcoMSl9ICk7XG4gICAgICAgICAgICBwYWRkaW5nLWJsb2NrOiB2YXIoIC0ta2VuZG8tdHJlZW1hcC10aXRsZS1wYWRkaW5nLXgsICN7ay1zcGFjaW5nKDEpfSApO1xuICAgICAgICAgICAgd2lkdGg6IHZhciggLS1rZW5kby1saW5lLWhlaWdodC1lbSwgI3ska2VuZG8tbGluZS1oZWlnaHQtZW19ICk7XG4gICAgICAgICAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICAgICAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAgICAgICAgIHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgdG9wOiAwO1xuICAgICAgICAgICAgYm90dG9tOiAwO1xuXG4gICAgICAgICAgICA+IGRpdiB7XG4gICAgICAgICAgICAgICAgdHJhbnNmb3JtLW9yaWdpbjogcmlnaHQ7XG4gICAgICAgICAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoLTkwZGVnKTtcbiAgICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICAgICAgdG9wOiAwO1xuICAgICAgICAgICAgICAgIHJpZ2h0OiAxZW07XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuXG4gICAgICAgIC8vIFdyYXBcbiAgICAgICAgLmstdHJlZW1hcC13cmFwIHtcbiAgICAgICAgICAgIGJvcmRlci1jb2xvcjogaW5oZXJpdDtcbiAgICAgICAgICAgIGNvbG9yOiBpbmhlcml0O1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogaW5oZXJpdDtcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgIHRvcDogMDtcbiAgICAgICAgICAgIGxlZnQ6IDA7XG4gICAgICAgICAgICBib3R0b206IDA7XG4gICAgICAgICAgICByaWdodDogMDtcbiAgICAgICAgfVxuICAgICAgICAuay10cmVlbWFwLXRpdGxlICsgLmstdHJlZW1hcC13cmFwIHtcbiAgICAgICAgICAgIGluc2V0LWJsb2NrLXN0YXJ0OiBjYWxjKCBjYWxjKCAje2stc3BhY2luZygwLjUpfSAqIDIgKSArIGNhbGMoIHZhciggLS1rZW5kby1saW5lLWhlaWdodCwgbm9ybWFsICkgKiB2YXIoIC0ta2VuZG8tZm9udC1zaXplLCBpbmhlcml0KSApICsgMXB4KTtcbiAgICAgICAgfVxuICAgICAgICAuay10cmVlbWFwLXRpdGxlLXZlcnRpY2FsICsgLmstdHJlZW1hcC13cmFwIHtcbiAgICAgICAgICAgIGluc2V0LWlubGluZS1zdGFydDogY2FsYyggY2FsYyggI3trLXNwYWNpbmcoMC41KX0gKiAyICkgKyBjYWxjKCB2YXIoIC0ta2VuZG8tbGluZS1oZWlnaHQsIG5vcm1hbCkgKiB2YXIoIC0ta2VuZG8tZm9udC1zaXplLCBpbmhlcml0KSApICsgMXB4KTtcbiAgICAgICAgfVxuXG5cbiAgICAgICAgLy8gTGVhZlxuICAgICAgICAuay1sZWFmIHtcbiAgICAgICAgICAgIHBhZGRpbmc6IHZhciggLS1rZW5kby10cmVlbWFwLWxlYWYtcGFkZGluZywgI3trLXNwYWNpbmcoMSl9ICk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAuay1nYXVnZSB7XG4gICAgICAgIHRleHQtYWxpZ246IHN0YXJ0O1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgfVxuXG4gICAgLmstYXJjZ2F1Z2UsXG4gICAgLmstY2lyY3VsYXJnYXVnZSB7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICB9XG5cbiAgICAuay1hcmNnYXVnZS1sYWJlbCxcbiAgICAuay1jaXJjdWxhcmdhdWdlLWxhYmVsIHtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgIG1hcmdpbjogMDtcbiAgICB9XG5cbiAgICAuay1xcmNvZGUge1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG5cbiAgICAgICAgPiBkaXYge1xuICAgICAgICAgICAgaGVpZ2h0OiAxNTBweDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8vIGV4cG9ydCB2YXJpYWJsZXMgdG8gYWxsb3cgdXNlIGluIHNjcmlwdHNcbiAgICAkZXhwb3J0ZWQ6IChcbiAgICAgICAgcHJpbWFyeS1jb250cmFzdDogaWYoJGtlbmRvLWVuYWJsZS1jb2xvci1zeXN0ZW0sIGstY29sb3IoIGFwcC1zdXJmYWNlICksICRrZW5kby1jb2xvci13aGl0ZSksXG4gICAgICAgIGJhc2U6ICRrZW5kby1jb21wb25lbnQtYmcsXG4gICAgICAgIGJhY2tncm91bmQ6ICRrZW5kby1jb21wb25lbnQtYmcsXG5cbiAgICAgICAgbm9ybWFsLWJhY2tncm91bmQ6ICRrZW5kby1jb21wb25lbnQtYmcsXG4gICAgICAgIG5vcm1hbC10ZXh0LWNvbG9yOiAka2VuZG8tY29tcG9uZW50LXRleHQsXG5cbiAgICAgICAgc2VyaWVzLWE6ICRrZW5kby1zZXJpZXMtYSxcbiAgICAgICAgc2VyaWVzLWI6ICRrZW5kby1zZXJpZXMtYixcbiAgICAgICAgc2VyaWVzLWM6ICRrZW5kby1zZXJpZXMtYyxcbiAgICAgICAgc2VyaWVzLWQ6ICRrZW5kby1zZXJpZXMtZCxcbiAgICAgICAgc2VyaWVzLWU6ICRrZW5kby1zZXJpZXMtZSxcbiAgICAgICAgc2VyaWVzLWY6ICRrZW5kby1zZXJpZXMtZixcblxuICAgICAgICBzZXJpZXMtMTogJGtlbmRvLXNlcmllcy0xLFxuICAgICAgICBzZXJpZXMtMjogJGtlbmRvLXNlcmllcy0yLFxuICAgICAgICBzZXJpZXMtMzogJGtlbmRvLXNlcmllcy0zLFxuICAgICAgICBzZXJpZXMtNDogJGtlbmRvLXNlcmllcy00LFxuICAgICAgICBzZXJpZXMtNTogJGtlbmRvLXNlcmllcy01LFxuICAgICAgICBzZXJpZXMtNjogJGtlbmRvLXNlcmllcy02LFxuICAgICAgICBzZXJpZXMtNzogJGtlbmRvLXNlcmllcy03LFxuICAgICAgICBzZXJpZXMtODogJGtlbmRvLXNlcmllcy04LFxuICAgICAgICBzZXJpZXMtOTogJGtlbmRvLXNlcmllcy05LFxuICAgICAgICBzZXJpZXMtMTA6ICRrZW5kby1zZXJpZXMtMTAsXG4gICAgICAgIHNlcmllcy0xMTogJGtlbmRvLXNlcmllcy0xMSxcbiAgICAgICAgc2VyaWVzLTEyOiAka2VuZG8tc2VyaWVzLTEyLFxuICAgICAgICBzZXJpZXMtMTM6ICRrZW5kby1zZXJpZXMtMTMsXG4gICAgICAgIHNlcmllcy0xNDogJGtlbmRvLXNlcmllcy0xNCxcbiAgICAgICAgc2VyaWVzLTE1OiAka2VuZG8tc2VyaWVzLTE1LFxuICAgICAgICBzZXJpZXMtMTY6ICRrZW5kby1zZXJpZXMtMTYsXG4gICAgICAgIHNlcmllcy0xNzogJGtlbmRvLXNlcmllcy0xNyxcbiAgICAgICAgc2VyaWVzLTE4OiAka2VuZG8tc2VyaWVzLTE4LFxuICAgICAgICBzZXJpZXMtMTk6ICRrZW5kby1zZXJpZXMtMTksXG4gICAgICAgIHNlcmllcy0yMDogJGtlbmRvLXNlcmllcy0yMCxcbiAgICAgICAgc2VyaWVzLTIxOiAka2VuZG8tc2VyaWVzLTIxLFxuICAgICAgICBzZXJpZXMtMjI6ICRrZW5kby1zZXJpZXMtMjIsXG4gICAgICAgIHNlcmllcy0yMzogJGtlbmRvLXNlcmllcy0yMyxcbiAgICAgICAgc2VyaWVzLTI0OiAka2VuZG8tc2VyaWVzLTI0LFxuICAgICAgICBzZXJpZXMtMjU6ICRrZW5kby1zZXJpZXMtMjUsXG4gICAgICAgIHNlcmllcy0yNjogJGtlbmRvLXNlcmllcy0yNixcbiAgICAgICAgc2VyaWVzLTI3OiAka2VuZG8tc2VyaWVzLTI3LFxuICAgICAgICBzZXJpZXMtMjg6ICRrZW5kby1zZXJpZXMtMjgsXG4gICAgICAgIHNlcmllcy0yOTogJGtlbmRvLXNlcmllcy0yOSxcbiAgICAgICAgc2VyaWVzLTMwOiAka2VuZG8tc2VyaWVzLTMwLFxuXG4gICAgICAgIGdhdWdlLXBvaW50ZXI6ICRrZW5kby1zZXJpZXMtZixcbiAgICAgICAgZ2F1Z2UtdHJhY2s6IGlmKCRrZW5kby1lbmFibGUtY29sb3Itc3lzdGVtLCBrLWNvbG9yKCBiYXNlLWVtcGhhc2lzICksIGstZ2V0LXRoZW1lLWNvbG9yLXZhciggbmV1dHJhbC0zMCApKSxcblxuICAgICAgICBjaGFydC1mb250LXNpemU6ICRrZW5kby1jaGFydC1mb250LXNpemUsXG4gICAgICAgIGNoYXJ0LXRpdGxlLWZvbnQtc2l6ZTogJGtlbmRvLWNoYXJ0LXRpdGxlLWZvbnQtc2l6ZSxcbiAgICAgICAgY2hhcnQtcGFuZS10aXRsZS1mb250LXNpemU6ICRrZW5kby1jaGFydC1wYW5lLXRpdGxlLWZvbnQtc2l6ZSxcbiAgICAgICAgY2hhcnQtcGFuZS10aXRsZS1mb250LXdlaWdodDogJGtlbmRvLWNoYXJ0LXBhbmUtdGl0bGUtZm9udC13ZWlnaHQsXG4gICAgICAgIGNoYXJ0LWxhYmVsLWZvbnQtc2l6ZTogJGtlbmRvLWNoYXJ0LWxhYmVsLWZvbnQtc2l6ZSxcblxuICAgICAgICBjaGFydC1pbmFjdGl2ZTogJGtlbmRvLWNoYXJ0LWluYWN0aXZlLWJnLFxuICAgICAgICBjaGFydC1tYWpvci1saW5lczogJGtlbmRvLWNoYXJ0LW1ham9yLWxpbmVzLFxuICAgICAgICBjaGFydC1taW5vci1saW5lczogJGtlbmRvLWNoYXJ0LW1pbm9yLWxpbmVzLFxuICAgICAgICBjaGFydC1hcmVhLW9wYWNpdHk6ICRrZW5kby1jaGFydC1hcmVhLW9wYWNpdHksXG4gICAgICAgIGNoYXJ0LWFyZWEtaW5hY3RpdmUtb3BhY2l0eTogJGtlbmRvLWNoYXJ0LWFyZWEtaW5hY3RpdmUtb3BhY2l0eSxcbiAgICAgICAgY2hhcnQtbGluZS1pbmFjdGl2ZS1vcGFjaXR5OiAka2VuZG8tY2hhcnQtbGluZS1pbmFjdGl2ZS1vcGFjaXR5LFxuICAgICAgICBjaGFydC1ub3Rlcy1iYWNrZ3JvdW5kOiAka2VuZG8tY2hhcnQtbm90ZXMtYmFja2dyb3VuZCxcbiAgICAgICAgY2hhcnQtbm90ZXMtYm9yZGVyOiAka2VuZG8tY2hhcnQtbm90ZXMtYm9yZGVyLFxuICAgICAgICBjaGFydC1ub3Rlcy1saW5lczogJGtlbmRvLWNoYXJ0LW5vdGVzLWxpbmVzLFxuICAgICAgICBjaGFydC1jcm9zc2hhaXItYmFja2dyb3VuZDogJGtlbmRvLWNoYXJ0LWNyb3NzaGFpci1iYWNrZ3JvdW5kLFxuICAgICAgICBjaGFydC1lcnJvci1iYXJzLWJhY2tncm91bmQ6ICRrZW5kby1jaGFydC1lcnJvci1iYXJzLWJhY2tncm91bmQsXG5cbiAgICApO1xuXG4gICAgLy8gVE9ETzogcmVtb3ZlIGluIGZhdm9yIG9mIENTUyB2YXJpYWJsZXMgb25jZSBhbGwgc3VpdGVzIGFyZSB1cGRhdGVkXG4gICAgQGVhY2ggJG5hbWUsICR2YWx1ZSBpbiAkZXhwb3J0ZWQge1xuICAgICAgICAkdHlwZTogbWV0YS50eXBlLW9mKCR2YWx1ZSk7XG5cbiAgICAgICAgLmstdmFyLS0jeyRuYW1lfSB7XG4gICAgICAgICAgICBAaWYgJHR5cGUgPT0gXCJjb2xvclwiIG9yICR0eXBlID09IFwic3RyaW5nXCIgYW5kIHN0cmluZy5pbmRleCgkdmFsdWUsIFwiY29sb3JcIikge1xuICAgICAgICAgICAgICAgIC8vIGJhY2tncm91bmQtY29sb3IgY2FuIHN0b3JlIGFueSBjb2xvclxuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICN7JHZhbHVlfTtcbiAgICAgICAgICAgIH0gQGVsc2UgaWYgc3RyaW5nLmluZGV4KCRuYW1lLCBcImZvbnQtc2l6ZVwiKSB7XG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiAjeyR2YWx1ZX07XG4gICAgICAgICAgICB9IEBlbHNlIGlmIHN0cmluZy5pbmRleCgkbmFtZSwgXCJmb250LXdlaWdodFwiKSB7XG4gICAgICAgICAgICAgICAgZm9udC13ZWlnaHQ6ICN7JHZhbHVlfTtcbiAgICAgICAgICAgIH0gQGVsc2UgaWYgc3RyaW5nLmluZGV4KCRuYW1lLCBcIm9wYWNpdHlcIikge1xuICAgICAgICAgICAgICAgIG9wYWNpdHk6ICN7JHZhbHVlfTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICB9XG4gICAgfVxuXG4gICAgJF9jc3MtdmFyczogKFxuICAgICAgICBjaGFydC1wcmltYXJ5LWNvbnRyYXN0OiBpZigka2VuZG8tZW5hYmxlLWNvbG9yLXN5c3RlbSwgay1jb2xvciggYXBwLXN1cmZhY2UgKSwgJGtlbmRvLWNvbG9yLXdoaXRlKSxcbiAgICAgICAgY2hhcnQtYmc6ICRrZW5kby1jaGFydC1iZyxcbiAgICAgICAgY2hhcnQtdGV4dDogJGtlbmRvLWNoYXJ0LXRleHQsXG5cbiAgICAgICAgY2hhcnQtZm9udC1zaXplOiAka2VuZG8tY2hhcnQtZm9udC1zaXplLFxuICAgICAgICBjaGFydC10aXRsZS1mb250LXNpemU6ICRrZW5kby1jaGFydC10aXRsZS1mb250LXNpemUsXG4gICAgICAgIGNoYXJ0LXBhbmUtdGl0bGUtZm9udC1zaXplOiAka2VuZG8tY2hhcnQtcGFuZS10aXRsZS1mb250LXNpemUsXG4gICAgICAgIGNoYXJ0LXBhbmUtdGl0bGUtZm9udC13ZWlnaHQ6ICRrZW5kby1jaGFydC1wYW5lLXRpdGxlLWZvbnQtd2VpZ2h0LFxuICAgICAgICBjaGFydC1sYWJlbC1mb250LXNpemU6ICRrZW5kby1jaGFydC1sYWJlbC1mb250LXNpemUsXG5cbiAgICAgICAgY2hhcnQtaW5hY3RpdmU6ICRrZW5kby1jaGFydC1pbmFjdGl2ZS1iZyxcbiAgICAgICAgY2hhcnQtbWFqb3ItbGluZXM6ICRrZW5kby1jaGFydC1tYWpvci1saW5lcyxcbiAgICAgICAgY2hhcnQtbWlub3ItbGluZXM6ICRrZW5kby1jaGFydC1taW5vci1saW5lcyxcbiAgICAgICAgY2hhcnQtYXJlYS1vcGFjaXR5OiAka2VuZG8tY2hhcnQtYXJlYS1vcGFjaXR5LFxuICAgICAgICBjaGFydC1hcmVhLWluYWN0aXZlLW9wYWNpdHk6ICRrZW5kby1jaGFydC1hcmVhLWluYWN0aXZlLW9wYWNpdHksXG4gICAgICAgIGNoYXJ0LWxpbmUtaW5hY3RpdmUtb3BhY2l0eTogJGtlbmRvLWNoYXJ0LWxpbmUtaW5hY3RpdmUtb3BhY2l0eSxcbiAgICAgICAgY2hhcnQtbm90ZXMtYmc6ICRrZW5kby1jaGFydC1ub3Rlcy1iYWNrZ3JvdW5kLFxuICAgICAgICBjaGFydC1ub3Rlcy1ib3JkZXI6ICRrZW5kby1jaGFydC1ub3Rlcy1ib3JkZXIsXG4gICAgICAgIGNoYXJ0LW5vdGVzLWxpbmVzOiAka2VuZG8tY2hhcnQtbm90ZXMtbGluZXMsXG4gICAgICAgIGNoYXJ0LWNyb3NzaGFpci1iZzogJGtlbmRvLWNoYXJ0LWNyb3NzaGFpci1iYWNrZ3JvdW5kLFxuICAgICAgICBjaGFydC1lcnJvci1iYXJzLWJnOiAka2VuZG8tY2hhcnQtZXJyb3ItYmFycy1iYWNrZ3JvdW5kLFxuXG4gICAgICAgIGNoYXJ0LXNlcmllcy0xOiAka2VuZG8tc2VyaWVzLTEsXG4gICAgICAgIGNoYXJ0LXNlcmllcy0yOiAka2VuZG8tc2VyaWVzLTIsXG4gICAgICAgIGNoYXJ0LXNlcmllcy0zOiAka2VuZG8tc2VyaWVzLTMsXG4gICAgICAgIGNoYXJ0LXNlcmllcy00OiAka2VuZG8tc2VyaWVzLTQsXG4gICAgICAgIGNoYXJ0LXNlcmllcy01OiAka2VuZG8tc2VyaWVzLTUsXG4gICAgICAgIGNoYXJ0LXNlcmllcy02OiAka2VuZG8tc2VyaWVzLTYsXG4gICAgICAgIGNoYXJ0LXNlcmllcy03OiAka2VuZG8tc2VyaWVzLTcsXG4gICAgICAgIGNoYXJ0LXNlcmllcy04OiAka2VuZG8tc2VyaWVzLTgsXG4gICAgICAgIGNoYXJ0LXNlcmllcy05OiAka2VuZG8tc2VyaWVzLTksXG4gICAgICAgIGNoYXJ0LXNlcmllcy0xMDogJGtlbmRvLXNlcmllcy0xMCxcbiAgICAgICAgY2hhcnQtc2VyaWVzLTExOiAka2VuZG8tc2VyaWVzLTExLFxuICAgICAgICBjaGFydC1zZXJpZXMtMTI6ICRrZW5kby1zZXJpZXMtMTIsXG4gICAgICAgIGNoYXJ0LXNlcmllcy0xMzogJGtlbmRvLXNlcmllcy0xMyxcbiAgICAgICAgY2hhcnQtc2VyaWVzLTE0OiAka2VuZG8tc2VyaWVzLTE0LFxuICAgICAgICBjaGFydC1zZXJpZXMtMTU6ICRrZW5kby1zZXJpZXMtMTUsXG4gICAgICAgIGNoYXJ0LXNlcmllcy0xNjogJGtlbmRvLXNlcmllcy0xNixcbiAgICAgICAgY2hhcnQtc2VyaWVzLTE3OiAka2VuZG8tc2VyaWVzLTE3LFxuICAgICAgICBjaGFydC1zZXJpZXMtMTg6ICRrZW5kby1zZXJpZXMtMTgsXG4gICAgICAgIGNoYXJ0LXNlcmllcy0xOTogJGtlbmRvLXNlcmllcy0xOSxcbiAgICAgICAgY2hhcnQtc2VyaWVzLTIwOiAka2VuZG8tc2VyaWVzLTIwLFxuICAgICAgICBjaGFydC1zZXJpZXMtMjE6ICRrZW5kby1zZXJpZXMtMjEsXG4gICAgICAgIGNoYXJ0LXNlcmllcy0yMjogJGtlbmRvLXNlcmllcy0yMixcbiAgICAgICAgY2hhcnQtc2VyaWVzLTIzOiAka2VuZG8tc2VyaWVzLTIzLFxuICAgICAgICBjaGFydC1zZXJpZXMtMjQ6ICRrZW5kby1zZXJpZXMtMjQsXG4gICAgICAgIGNoYXJ0LXNlcmllcy0yNTogJGtlbmRvLXNlcmllcy0yNSxcbiAgICAgICAgY2hhcnQtc2VyaWVzLTI2OiAka2VuZG8tc2VyaWVzLTI2LFxuICAgICAgICBjaGFydC1zZXJpZXMtMjc6ICRrZW5kby1zZXJpZXMtMjcsXG4gICAgICAgIGNoYXJ0LXNlcmllcy0yODogJGtlbmRvLXNlcmllcy0yOCxcbiAgICAgICAgY2hhcnQtc2VyaWVzLTI5OiAka2VuZG8tc2VyaWVzLTI5LFxuICAgICAgICBjaGFydC1zZXJpZXMtMzA6ICRrZW5kby1zZXJpZXMtMzAsXG5cbiAgICAgICAgY2hhcnQtZ2F1Z2UtcG9pbnRlcjogJGtlbmRvLXNlcmllcy1mLFxuICAgICAgICBjaGFydC1nYXVnZS10cmFjazogaWYoJGtlbmRvLWVuYWJsZS1jb2xvci1zeXN0ZW0sIGstY29sb3IoIGJhc2UtZW1waGFzaXMgKSwgay1nZXQtdGhlbWUtY29sb3ItdmFyKCBuZXV0cmFsLTMwICkpXG5cbiAgICApO1xuXG4gICAgLmstY2hhcnQsXG4gICAgLmstZGlhZ3JhbSxcbiAgICAuay1nYXVnZSxcbiAgICAuay1zcGFya2xpbmUge1xuICAgICAgICBAZWFjaCAkbmFtZSwgJHZhbHVlIGluICRfY3NzLXZhcnMge1xuICAgICAgICAgICAgLS1rZW5kby0jeyRuYW1lfTogI3skdmFsdWV9O1xuICAgICAgICB9XG4gICAgfVxuXG59XG4iLCJAdXNlIFwiLi4vY29yZS9faW5kZXguc2Nzc1wiIGFzICo7XG5AdXNlIFwiLi9fdmFyaWFibGVzLnNjc3NcIiBhcyAqO1xuXG5AbWl4aW4ga2VuZG8tZGF0YXZpei0tdGhlbWUoKSB7XG5cbiAgICAvLyBFbGVtZW50c1xuICAgIC5rLWNoYXJ0LFxuICAgIC5rLXNwYXJrbGluZSxcbiAgICAuay1zdG9ja2NoYXJ0IHtcbiAgICAgICAgQGluY2x1ZGUgZmlsbChcbiAgICAgICAgICAgIHZhciggLS1rZW5kby1jaGFydC10ZXh0LCAjeyRrZW5kby1jaGFydC10ZXh0fSApLFxuICAgICAgICAgICAgdmFyKCAtLWtlbmRvLWNoYXJ0LWJnLCAjeyRrZW5kby1jaGFydC1iZ30gKSxcbiAgICAgICAgICAgIHZhciggLS1rZW5kby1jaGFydC1ib3JkZXIsICN7JGtlbmRvLWNoYXJ0LWJvcmRlcn0gKVxuICAgICAgICApO1xuXG4gICAgICAgIC5rLXBvcHVwIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICAgICAgICB9XG4gICAgfVxuXG5cbiAgICAvLyBUb29sdGlwXG4gICAgLy8gVE9ET1xuICAgIC5rLWNoYXJ0LXRvb2x0aXAge1xuICAgICAgICBAaW5jbHVkZSBmaWxsKCAkY29sb3I6IHZhciggLS1rZW5kby1jaGFydC10b29sdGlwLWNvbG9yLCAjeyRrZW5kby1jaGFydC10b29sdGlwLWNvbG9yfSApICk7XG4gICAgfVxuICAgIC5rLWNoYXJ0LXRvb2x0aXAtaW52ZXJzZSB7XG4gICAgICAgIEBpbmNsdWRlIGZpbGwoICRjb2xvcjogdmFyKCAtLWtlbmRvLWNoYXJ0LXRvb2x0aXAtY29sb3ItaW52ZXJzZSwgI3ska2VuZG8tY2hhcnQtdG9vbHRpcC1jb2xvci1pbnZlcnNlfSApICk7XG4gICAgfVxuXG4gICAgLmstY2hhcnQtY3Jvc3NoYWlyLXRvb2x0aXAsXG4gICAgLmstY2hhcnQtc2hhcmVkLXRvb2x0aXAge1xuICAgICAgICBAaW5jbHVkZSBmaWxsKFxuICAgICAgICAgICAgdmFyKCAtLWtlbmRvLWNoYXJ0LWNyb3NzaGFpci1zaGFyZWQtdG9vbHRpcC1jb2xvciwgI3ska2VuZG8tY2hhcnQtY3Jvc3NoYWlyLXNoYXJlZC10b29sdGlwLWNvbG9yfSApLFxuICAgICAgICAgICAgdmFyKCAtLWtlbmRvLWNoYXJ0LWNyb3NzaGFpci1zaGFyZWQtdG9vbHRpcC1iYWNrZ3JvdW5kLCAjeyRrZW5kby1jaGFydC1jcm9zc2hhaXItc2hhcmVkLXRvb2x0aXAtYmFja2dyb3VuZH0gKSxcbiAgICAgICAgICAgIHZhciggLS1rZW5kby1jaGFydC1jcm9zc2hhaXItc2hhcmVkLXRvb2x0aXAtYm9yZGVyLCAjeyRrZW5kby1jaGFydC1jcm9zc2hhaXItc2hhcmVkLXRvb2x0aXAtYm9yZGVyfSApXG5cbiAgICAgICAgKTtcbiAgICB9XG5cbiAgICAuay1zZWxlY3Rpb24ge1xuICAgICAgICBAaW5jbHVkZSBmaWxsKCAkYm9yZGVyOiB2YXIoIC0ta2VuZG8tc2VsZWN0aW9uLWJvcmRlci1jb2xvciwgI3ska2VuZG8tc2VsZWN0aW9uLWJvcmRlci1jb2xvcn0gKSApO1xuICAgIH1cblxuICAgIC5rLXNlbGVjdGlvbi1iZyB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgIH1cblxuICAgIC5rLWhhbmRsZSB7XG4gICAgICAgIGN1cnNvcjogZS1yZXNpemU7XG4gICAgICAgIEBpbmNsdWRlIGZpbGwoXG4gICAgICAgICAgIHZhciggLS1rZW5kby1jaGFydC1oYW5kbGUtdGV4dCwgI3ska2VuZG8tY2hhcnQtaGFuZGxlLXRleHR9ICksXG4gICAgICAgICAgIHZhciggLS1rZW5kby1jaGFydC1oYW5kbGUtYmcsICN7JGtlbmRvLWNoYXJ0LWhhbmRsZS1iZ30gKSxcbiAgICAgICAgICAgdmFyKCAtLWtlbmRvLWNoYXJ0LWhhbmRsZS1ib3JkZXIsICN7JGtlbmRvLWNoYXJ0LWhhbmRsZS1ib3JkZXJ9IClcbiAgICAgICAgKTtcblxuICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGZpbGwoXG4gICAgICAgICAgICAgICB2YXIoIC0ta2VuZG8tY2hhcnQtaGFuZGxlLWhvdmVyLXRleHQsICN7JGtlbmRvLWNoYXJ0LWhhbmRsZS1ob3Zlci10ZXh0fSApLFxuICAgICAgICAgICAgICAgdmFyKCAtLWtlbmRvLWNoYXJ0LWhhbmRsZS1ob3Zlci1iZywgI3ska2VuZG8tY2hhcnQtaGFuZGxlLWhvdmVyLWJnfSApLFxuICAgICAgICAgICAgICAgdmFyKCAtLWtlbmRvLWNoYXJ0LWhhbmRsZS1ob3Zlci1ib3JkZXIsICN7JGtlbmRvLWNoYXJ0LWhhbmRsZS1ob3Zlci1ib3JkZXJ9IClcbiAgICAgICAgICAgICk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAuay1oYW5kbGUgZGl2IHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgfVxuXG4gICAgLmstbWFzayB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IHZhciggLS1rZW5kby1jb21wb25lbnQtYmcsIGluaXRpYWwgKTtcbiAgICAgICAgb3BhY2l0eTogLjg7XG4gICAgfVxuXG4gICAgLmstY2hhcnQtb3ZlcmxheSB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IHZhciggLS1rZW5kby1jaGFydC1vdmVybGF5LWJnLCAjeyRrZW5kby1jaGFydC1vdmVybGF5LWJnfSApO1xuXG4gICAgICAgIC5rLW5vLWRhdGEge1xuICAgICAgICAgICAgY29sb3I6IHZhciggLS1rZW5kby1jaGFydC1uby1kYXRhLXRleHQsICN7JGtlbmRvLWNoYXJ0LW5vLWRhdGEtdGV4dH0gKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8vIFRyZWVtYXBcbiAgICAuay10cmVlbWFwIHtcbiAgICAgICAgQGluY2x1ZGUgZmlsbChcbiAgICAgICAgICAgdmFyKCAtLWtlbmRvLXRyZWVtYXAtdGV4dCwgI3ska2VuZG8tdHJlZW1hcC10ZXh0fSApLFxuICAgICAgICAgICB2YXIoIC0ta2VuZG8tdHJlZW1hcC1iZywgI3ska2VuZG8tdHJlZW1hcC1iZ30gKSxcbiAgICAgICAgICAgdmFyKCAtLWtlbmRvLXRyZWVtYXAtYm9yZGVyLCAjeyRrZW5kby10cmVlbWFwLWJvcmRlcn0gKSxcbiAgICAgICAgKTtcblxuICAgICAgICAvLyBUaXRsZVxuICAgICAgICAuay10cmVlbWFwLXRpdGxlIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGZpbGwoXG4gICAgICAgICAgICAgICAgdmFyKCAtLWtlbmRvLXRyZWVtYXAtdGl0bGUtdGV4dCwgI3ska2VuZG8tdHJlZW1hcC10aXRsZS10ZXh0fSApLFxuICAgICAgICAgICAgICAgIHZhciggLS1rZW5kby10cmVlbWFwLXRpdGxlLWJnLCAjeyRrZW5kby10cmVlbWFwLXRpdGxlLWJnfSApLFxuICAgICAgICAgICAgICAgIHZhciggLS1rZW5kby10cmVlbWFwLXRpdGxlLWJvcmRlciwgI3ska2VuZG8tdHJlZW1hcC10aXRsZS1ib3JkZXJ9ICksXG4gICAgICAgICAgICApO1xuICAgICAgICB9XG5cbiAgICAgICAgLy8gTGVhZlxuICAgICAgICAuay1sZWFmIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGZpbGwoICRjb2xvcjogdmFyKCAtLWtlbmRvLWNvbXBvbmVudC1iZywgaW5pdGlhbCApICk7XG4gICAgICAgIH1cbiAgICAgICAgLmstbGVhZi5rLWludmVyc2Uge1xuICAgICAgICAgICAgQGluY2x1ZGUgZmlsbCggJGNvbG9yOiB2YXIoIC0ta2VuZG8tY29tcG9uZW50LXRleHQsIGluaXRpYWwgKSApO1xuICAgICAgICB9XG4gICAgICAgIC5rLWxlYWY6aG92ZXIsXG4gICAgICAgIC5rLWxlYWYuay1ob3ZlciB7XG4gICAgICAgICAgICBAaW5jbHVkZSBib3gtc2hhZG93KCB2YXIoIC0ta2VuZG8tYm94LXNoYWRvdy1kZXB0aC0xLCBpbml0aWFsICkgKTtcbiAgICAgICAgfVxuICAgIH1cblxufVxuIiwiQHVzZSBcInNhc3M6bWFwXCI7XG5AdXNlIFwiLi4vY29yZS9faW5kZXguc2Nzc1wiIGFzICo7XG5AdXNlIFwiLi4vdG9vbGJhci9fdmFyaWFibGVzLnNjc3NcIiBhcyAqO1xuQHVzZSBcIi4uL2xpc3Rncm91cC9fdmFyaWFibGVzLnNjc3NcIiBhcyAqO1xuQHVzZSBcIi4vX3ZhcmlhYmxlcy5zY3NzXCIgYXMgKjtcblxuQG1peGluIGtlbmRvLWFkYXB0aXZlLS1sYXlvdXQoKSB7XG5cbiAgICAuay1wYW5lLXdyYXBwZXIge1xuICAgICAgICBib3JkZXItd2lkdGg6IHZhciggLS1rZW5kby1hZGFwdGl2ZS1ib3JkZXItd2lkdGgsICN7JGtlbmRvLWFkYXB0aXZlLWJvcmRlci13aWR0aH0gKTtcbiAgICAgICAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcbiAgICAgICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICAgICAgb3V0bGluZTogMDtcbiAgICAgICAgZm9udC1mYW1pbHk6IHZhciggLS1rZW5kby1hZGFwdGl2ZS1mb250LWZhbWlseSwgI3ska2VuZG8tYWRhcHRpdmUtZm9udC1mYW1pbHl9ICk7XG4gICAgICAgIGZvbnQtc2l6ZTogdmFyKCAtLWtlbmRvLWFkYXB0aXZlLWZvbnQtc2l6ZSwgI3ska2VuZG8tYWRhcHRpdmUtZm9udC1zaXplfSApO1xuICAgICAgICBsaW5lLWhlaWdodDogdmFyKCAtLWtlbmRvLWFkYXB0aXZlLWxpbmUtaGVpZ2h0LCAjeyRrZW5kby1hZGFwdGl2ZS1saW5lLWhlaWdodH0gKTtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgLXdlYmtpdC10b3VjaC1jYWxsb3V0OiBub25lO1xuICAgICAgICAtd2Via2l0LXRhcC1oaWdobGlnaHQtY29sb3I6ICRrZW5kby1jb2xvci1yZ2JhLXRyYW5zcGFyZW50O1xuXG4gICAgICAgIC5rLXBhbmUge1xuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgICAgICB1c2VyLXNlbGVjdDogbm9uZTtcbiAgICAgICAgICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgICAgICAgICBmb250LWZhbWlseTogc2Fucy1zZXJpZjtcbiAgICAgICAgICAgIG92ZXJmbG93LXg6IGhpZGRlbjtcbiAgICAgICAgfVxuXG4gICAgICAgIC5rLXZpZXcge1xuICAgICAgICAgICAgdG9wOiAwO1xuICAgICAgICAgICAgbGVmdDogMDtcbiAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgICAgIGJvcmRlcjogMDtcbiAgICAgICAgICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgICAgICAgICBvdXRsaW5lOiAwO1xuICAgICAgICAgICAgZm9udC1mYW1pbHk6IHZhciggLS1rZW5kby1hZGFwdGl2ZS1mb250LWZhbWlseSwgI3ska2VuZG8tYWRhcHRpdmUtZm9udC1mYW1pbHl9ICk7XG4gICAgICAgICAgICBmb250LXNpemU6IHZhciggLS1rZW5kby1hZGFwdGl2ZS1mb250LXNpemUsICN7JGtlbmRvLWFkYXB0aXZlLWZvbnQtc2l6ZX0gKTtcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiB2YXIoIC0ta2VuZG8tYWRhcHRpdmUtbGluZS1oZWlnaHQsICN7JGtlbmRvLWFkYXB0aXZlLWxpbmUtaGVpZ2h0fSApO1xuICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBzdHJldGNoO1xuICAgICAgICAgICAgYWxpZ24tY29udGVudDogc3RyZXRjaDtcbiAgICAgICAgICAgIHZlcnRpY2FsLWFsaWduOiB0b3A7XG4gICAgICAgICAgICAtd2Via2l0LXRvdWNoLWNhbGxvdXQ6IG5vbmU7XG4gICAgICAgICAgICAtd2Via2l0LXRhcC1oaWdobGlnaHQtY29sb3I6ICRrZW5kby1jb2xvci1yZ2JhLXRyYW5zcGFyZW50O1xuICAgICAgICB9XG5cbiAgICAgICAgLmstY29udGVudCB7XG4gICAgICAgICAgICBtaW4taGVpZ2h0OiAxcHg7XG4gICAgICAgICAgICBmbGV4OiAxO1xuICAgICAgICAgICAgYWxpZ24taXRlbXM6IHN0cmV0Y2g7XG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgIHdpZHRoOiBhdXRvO1xuICAgICAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgfVxuICAgIH1cblxufVxuXG5AbWl4aW4ga2VuZG8tYWRhcHRpdmUtZ3JpZC0tbGF5b3V0KCkge1xuXG4gICAgLmstcGFuZS13cmFwcGVyIHtcblxuICAgICAgICA+IGRpdi5rLXBhbmUge1xuICAgICAgICAgICAgYm94LXNoYWRvdzogbm9uZTtcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gICAgICAgIH1cblxuICAgICAgICAuay1wb3B1cC1lZGl0LWZvcm0sXG4gICAgICAgIC5rLWdyaWQtZWRpdC1mb3JtLFxuICAgICAgICAuay1ncmlkLWhlYWRlci1tZW51LFxuICAgICAgICAuay1ncmlkLWZpbHRlci1tZW51IHtcblxuICAgICAgICAgICAgLmstY29udGVudCB7XG4gICAgICAgICAgICAgICAgb3ZlcmZsb3cteTogYXV0bztcblxuICAgICAgICAgICAgICAgID4gLmstc2Nyb2xsLWNvbnRhaW5lciB7XG4gICAgICAgICAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICAgICAgICAgIG1pbi1oZWlnaHQ6IDEwMCU7XG4gICAgICAgICAgICAgICAgICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLmstZ3JpZC1lZGl0LWZvcm0ge1xuXG4gICAgICAgICAgICAuay1wb3B1cC1lZGl0LWZvcm0sXG4gICAgICAgICAgICAuay1lZGl0LWZvcm0tY29udGFpbmVyIHtcbiAgICAgICAgICAgICAgICB3aWR0aDogYXV0bztcbiAgICAgICAgICAgICAgICBtaW4td2lkdGg6IGF1dG87XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAuay1ncmlkLmstZ3JpZC1tb2JpbGUge1xuICAgICAgICBib3JkZXItd2lkdGg6IDA7XG4gICAgfVxuXG4gICAgLmstZ3JpZC1tb2JpbGUge1xuICAgICAgICAuay1yZXNpemUtaGFuZGxlLWlubmVyOjpiZWZvcmUge1xuICAgICAgICAgICAgY29udGVudDogXCJcXGUwMWVcIjtcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgIGZvbnQ6IDE2cHgvMSBcIldlYkNvbXBvbmVudHNJY29uc1wiOyAvLyBzdHlsZWxpbnQtZGlzYWJsZS1saW5lXG4gICAgICAgICAgICAvLyBUaGUgQ2FsYyBpcyBuZWVkZWQgZHVlIHRvIHRoZSB0aGUgbmVnYXRpdmUgbWFyZ2luXG4gICAgICAgICAgICAvLyB0aGF0IHJlbW92ZXMgdGhlIGRvdWJsZSBib3R0b20gYm9yZGVyIG9mIHRoZSBoZWFkZXJcbiAgICAgICAgICAgIHRvcDogY2FsYyggNTAlIC0gMXB4KTtcbiAgICAgICAgICAgIGxlZnQ6IDUwJTtcbiAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIC01MCUpO1xuICAgICAgICAgICAgcGFkZGluZzogLjJlbTtcbiAgICAgICAgfVxuXG4gICAgICAgIC5rLWhlYWRlciBhIHtcbiAgICAgICAgICAgIHVzZXItc2VsZWN0OiBub25lO1xuICAgICAgICB9XG4gICAgfVxuXG59XG5cbkBtaXhpbiBrZW5kby1hZGFwdGl2ZS1zY2hlZHVsZXItLWxheW91dCgpIHtcblxuICAgIC5rLXBhbmUtd3JhcHBlciB7XG5cbiAgICAgICAgLmstc2NoZWR1bGVyLWVkaXQtZm9ybSB7XG5cbiAgICAgICAgICAgIC5rLXJlY3VyLXZpZXcge1xuICAgICAgICAgICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgICAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgICAgICAgICAgICBhbGlnbi1pdGVtczogc3RyZXRjaDtcblxuICAgICAgICAgICAgICAgID4gLmstbGlzdGdyb3VwLWZvcm0tcm93IHtcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLmstcmVjdXItaXRlbXMtd3JhcCB7XG4gICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICAgICAgbWFyZ2luLWJsb2NrOiAtMXB4O1xuICAgICAgICAgICAgICAgIG1hcmdpbi1pbmxpbmU6IDA7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC5rLXNjaGVkdWxlci1yZWN1ci1lbmQtd3JhcCB7XG4gICAgICAgICAgICAgICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5rLXNjaGVkdWxlciB7XG4gICAgICAgICYuay1zY2hlZHVsZXItbW9iaWxlIHtcbiAgICAgICAgICAgIGJvcmRlci13aWR0aDogMDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5rLXNjaGVkdWxlci1tb2JpbGUge1xuXG4gICAgICAgIHRoIHtcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gICAgICAgIH1cblxuICAgICAgICAuay1ldmVudDpob3ZlciAuay1yZXNpemUtaGFuZGxlIHtcbiAgICAgICAgICAgIHZpc2liaWxpdHk6IGhpZGRlbjtcbiAgICAgICAgfVxuXG4gICAgICAgIC5rLXNjaGVkdWxlci10b29sYmFyIHtcbiAgICAgICAgICAgIHBhZGRpbmctYmxvY2s6ICRrZW5kby10b29sYmFyLW1kLXBhZGRpbmcteTtcbiAgICAgICAgICAgIHBhZGRpbmctaW5saW5lOiAka2VuZG8tdG9vbGJhci1tZC1wYWRkaW5nLXg7XG5cbiAgICAgICAgICAgID4gKiB7XG4gICAgICAgICAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAmOjpiZWZvcmUge1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC5rLXNjaGVkdWxlci1uYXZpZ2F0aW9uIHtcbiAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAgICAgIGZsZXgtZmxvdzogcm93IG5vd3JhcDtcbiAgICAgICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gICAgICAgICAgICAgICAgbWFyZ2luOiAwO1xuXG4gICAgICAgICAgICAgICAgLmstbmF2LWN1cnJlbnQge1xuICAgICAgICAgICAgICAgICAgICBsaW5lLWhlaWdodDogMTtcbiAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgICAgICAgICAgZmxleC1mbG93OiBjb2x1bW4gbm93cmFwO1xuICAgICAgICAgICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICAgICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWV2ZW5seTtcbiAgICAgICAgICAgICAgICAgICAgZ2FwOiAwO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLmstc2NoZWR1bGVyLXZpZXdzLXdyYXBwZXIge1xuICAgICAgICAgICAgICAgIC5rLXZpZXdzLWRyb3Bkb3duIHtcbiAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC5rLXNjaGVkdWxlci1mb290ZXIge1xuICAgICAgICAgICAgcGFkZGluZy1ibG9jazogJGtlbmRvLXRvb2xiYXItbWQtcGFkZGluZy15O1xuICAgICAgICAgICAgcGFkZGluZy1pbmxpbmU6ICRrZW5kby10b29sYmFyLW1kLXBhZGRpbmcteDtcbiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG5cbiAgICAgICAgICAgID4gKiB7XG4gICAgICAgICAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAmOjpiZWZvcmUge1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAuay1zY2hlZHVsZXItbW9udGh2aWV3IHtcblxuICAgICAgICAgICAgLmstaGlkZGVuIHtcbiAgICAgICAgICAgICAgICBoZWlnaHQ6IDQwcHg7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC5rLXNjaGVkdWxlci10YWJsZSB0ZCB7XG4gICAgICAgICAgICAgICAgaGVpZ2h0OiA0MHB4O1xuICAgICAgICAgICAgICAgIHZlcnRpY2FsLWFsaWduOiB0b3A7XG4gICAgICAgICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAuay1ldmVudHMtY29udGFpbmVyIHtcbiAgICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICAgICAgICAgIGhlaWdodDogNnB4O1xuICAgICAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiA2cHg7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC5rLWV2ZW50IHtcbiAgICAgICAgICAgICAgICBwb3NpdGlvbjogc3RhdGljO1xuICAgICAgICAgICAgICAgIHBhZGRpbmc6IDRweDtcbiAgICAgICAgICAgICAgICBib3JkZXItcmFkaXVzOiA1MCU7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICAgICAgICAgIHdpZHRoOiA0cHg7XG4gICAgICAgICAgICAgICAgaGVpZ2h0OiA0cHg7XG4gICAgICAgICAgICAgICAgbWluLWhlaWdodDogMDtcbiAgICAgICAgICAgICAgICBtYXJnaW46IDFweDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC8vIFJlbW92aW5nIHRoZSBcIkRheXNcIiBoZWFkZXIgZnJvbSB0aGUgTW9iaWxlIFNjaGVkdWxlciB3aWxsIGJyZWFrIHRoZSBXZWIgU2NoZWR1bGVyXG4gICAgICAgIC8vIFRodXMsIHRoZSBiZWxvdyBzZWxlY3RvciBpcyBuZWVkZWRcbiAgICAgICAgLmstc2NoZWR1bGVyLWRheXZpZXcgLmstbW9iaWxlLWhlYWRlciB7XG5cbiAgICAgICAgICAgICYuay1tb2JpbGUtaG9yaXpvbnRhbC1oZWFkZXIgLmstc2NoZWR1bGVyLXRpbWVzIHRhYmxlIHRyOmZpcnN0LWNoaWxkIHtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAuay1zY2hlZHVsZXItaGVhZGVyIC5rLXNjaGVkdWxlci1kYXRlLWdyb3VwIHtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLmstc2NoZWR1bGVyLWhlYWRlci13cmFwID4gZGl2IHtcbiAgICAgICAgICAgIG92ZXJmbG93OiB2aXNpYmxlO1xuICAgICAgICB9XG5cbiAgICAgICAgLmstc2NoZWR1bGVyLWFnZW5kYXZpZXcge1xuICAgICAgICAgICAgLmstbW9iaWxlLWhlYWRlciB7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLmstc2NoZWR1bGVyLXRhYmxlIHtcbiAgICAgICAgICAgICAgICB0YWJsZS1sYXlvdXQ6IGF1dG87XG5cbiAgICAgICAgICAgICAgICAuay1zY2hlZHVsZXItZ3JvdXBjb2x1bW4ge1xuICAgICAgICAgICAgICAgICAgICB3aWR0aDogMSU7XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgdGQge1xuICAgICAgICAgICAgICAgICAgICB3aGl0ZS1zcGFjZTogbm9ybWFsO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC5rLW1vYmlsZS1oZWFkZXIge1xuICAgICAgICAgICAgLmstc2NoZWR1bGVyLXRhYmxlIHRkLFxuICAgICAgICAgICAgLmstc2NoZWR1bGVyLXRhYmxlIHRoIHtcbiAgICAgICAgICAgICAgICBoZWlnaHQ6IDEuNWVtO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLmstdGltZS10ZXh0LFxuICAgICAgICAuay10aW1lLXBlcmlvZCB7XG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAxO1xuICAgICAgICB9XG5cbiAgICAgICAgLmstdGltZS1wZXJpb2Qge1xuICAgICAgICAgICAgZm9udC1zaXplOiAuN2VtO1xuICAgICAgICB9XG5cbiAgICAgICAgLmstc2NoZWR1bGVyLXRhYmxlIHRkLFxuICAgICAgICAuay1zY2hlZHVsZXItdGFibGUgdGgge1xuICAgICAgICAgICAgaGVpZ2h0OiAyZW07XG4gICAgICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICAgICAgICB9XG5cbiAgICAgICAgLmstc2NoZWR1bGVyLWRhdGVjb2x1bW4td3JhcCB7XG4gICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgICAgICAgfVxuXG4gICAgICAgIC5rLXRhc2sge1xuICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgICAgICBnYXA6IC41ZW07XG5cbiAgICAgICAgICAgIC5rLXNjaGVkdWxlci1tYXJrIHtcbiAgICAgICAgICAgICAgICBib3JkZXItcmFkaXVzOiA1MCU7XG4gICAgICAgICAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAuay1zY2hlZHVsZXItdGFzay10ZXh0IHtcbiAgICAgICAgICAgICAgICBmbGV4OiAxIDEgMCU7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAuay1zY2hlZHVsZXItdGltZXMsXG4gICAgICAgIC5rLXNjaGVkdWxlci1hZ2VuZGEge1xuXG4gICAgICAgICAgICAuay1zY2hlZHVsZXItZ3JvdXAtY2VsbCxcbiAgICAgICAgICAgIC5rLXNjaGVkdWxlci1ncm91cGNvbHVtbiB7XG4gICAgICAgICAgICAgICAgdmVydGljYWwtYWxpZ246IHRvcDtcblxuICAgICAgICAgICAgICAgIC5rLXNjaGVkdWxlci1ncm91cC10ZXh0IHtcbiAgICAgICAgICAgICAgICAgICAgd3JpdGluZy1tb2RlOiB2ZXJ0aWNhbC1scjtcbiAgICAgICAgICAgICAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoMTgwZGVnKTtcbiAgICAgICAgICAgICAgICAgICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAuay1zY3JvbGxiYXItaCB0ciArIHRyIC5rLXNjaGVkdWxlci10aW1lcyB7XG4gICAgICAgICAgICBib3JkZXItYm90dG9tLXdpZHRoOiAwO1xuICAgICAgICB9XG4gICAgfVxuXG59XG5cbkBtaXhpbiBrZW5kby1hZGFwdGl2ZS1jb21tb24tLWxheW91dCgpIHtcblxuICAgIC5rLXBhbmUtd3JhcHBlciB7XG5cbiAgICAgICAgLmstYXBwYmFyIHtcbiAgICAgICAgICAgIHBhZGRpbmc6IGstc3BhY2luZygxKTtcbiAgICAgICAgfVxuXG4gICAgICAgIC5rLWxpc3QtdGl0bGUsXG4gICAgICAgIC5rLWZpbHRlci1oZWxwLXRleHQge1xuICAgICAgICAgICAgcGFkZGluZy1ibG9jazogJGtlbmRvLWxpc3Rncm91cC1pdGVtLXBhZGRpbmcteTtcbiAgICAgICAgICAgIHBhZGRpbmctaW5saW5lOiAka2VuZG8tbGlzdGdyb3VwLWl0ZW0tcGFkZGluZy14O1xuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIH1cblxuICAgICAgICAuay1saXN0Z3JvdXAtdGl0bGUge1xuICAgICAgICAgICAgcGFkZGluZy1ibG9jazogJGtlbmRvLWxpc3Rncm91cC1pdGVtLXBhZGRpbmcteTtcbiAgICAgICAgICAgIHBhZGRpbmctaW5saW5lOiAka2VuZG8tbGlzdGdyb3VwLWl0ZW0tcGFkZGluZy14O1xuICAgICAgICAgICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gICAgICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgICAgICB9XG5cbiAgICAgICAgLmstbGlzdGdyb3VwIHtcblxuICAgICAgICAgICAgLmstbGlzdGdyb3VwLWl0ZW0ge1xuICAgICAgICAgICAgICAgIGJvcmRlci1jb2xvcjogaW5oZXJpdDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAuay1saXN0Z3JvdXAgKyAuay1saXN0Z3JvdXAge1xuICAgICAgICAgICAgbWFyZ2luLXRvcDogay1zcGFjaW5nKDQpO1xuICAgICAgICB9XG5cbiAgICAgICAgLy8gQ29sdW1uIG1lbnVcbiAgICAgICAgLmstY29sdW1uLW1lbnUge1xuICAgICAgICAgICAgcGFkZGluZzogay1zcGFjaW5nKDIpO1xuICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgIGZsZXgtZmxvdzogY29sdW1uIG5vd3JhcDtcbiAgICAgICAgICAgIGdhcDogay1zcGFjaW5nKDIpO1xuXG4gICAgICAgICAgICAuay1maWx0ZXItaXRlbSAuay1maWx0ZXJhYmxlICoge1xuICAgICAgICAgICAgICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAuay1saXN0LXRpdGxlLFxuICAgICAgICAgICAgLmstbGlzdGdyb3VwLXRpdGxlIHtcbiAgICAgICAgICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAuay1saXN0Z3JvdXAge1xuICAgICAgICAgICAgICAgIG1hcmdpbi1pbmxpbmU6IGNhbGMoICN7ay1zcGFjaW5nKDIpfSAqIC0xICk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAvLyBGaWx0ZXIgbWVudVxuICAgICAgICAuay1maWx0ZXItbWVudSB7XG4gICAgICAgICAgICBwYWRkaW5nOiBrLXNwYWNpbmcoMik7XG4gICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAgZmxleC1mbG93OiBjb2x1bW4gbm93cmFwO1xuICAgICAgICAgICAgZ2FwOiBrLXNwYWNpbmcoMik7XG5cbiAgICAgICAgICAgIC5rLWxpc3QtdGl0bGUge1xuICAgICAgICAgICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC5rLWxpc3QtZmlsdGVyIHtcbiAgICAgICAgICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICAgICAgZmxleC1mbG93OiBjb2x1bW4gbm93cmFwO1xuICAgICAgICAgICAgICAgIGdhcDogaW5oZXJpdDtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLmstZmlsdGVyLXRvb2xzIHtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAgICAgIGZsZXgtZmxvdzogcm93IG5vd3JhcDtcbiAgICAgICAgICAgICAgICBnYXA6IGluaGVyaXQ7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC5rLWxpc3Rncm91cCB7XG4gICAgICAgICAgICAgICAgbWFyZ2luLWlubGluZTogY2FsYyggI3trLXNwYWNpbmcoMil9ICogLTEgKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC5rLXBvcHVwLWVkaXQtZm9ybSB7XG5cbiAgICAgICAgICAgIC5rLXJlY3VyLWVkaXRvci13cmFwIHtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAuay1tb2JpbGV0aW1lem9uZWVkaXRvciB7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XG4gICAgICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICAgICAgICAgIGZsZXg6IDEgMSBhdXRvO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLmstbXVsdGljaGVjay13cmFwLmstbGlzdGdyb3VwIHtcbiAgICAgICAgICAgIG92ZXJmbG93LXk6IGF1dG87XG4gICAgICAgIH1cblxuICAgICAgICAvLyBQYWdlclxuICAgICAgICAuay1wYWdlci13cmFwLmstcGFnZXItc20sXG4gICAgICAgIC5rLXBhZ2VyLmstcGFnZXItc20ge1xuICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG5cbiAgICAgICAgICAgIC5rLXBhZ2VyLXJlZnJlc2gge1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgfVxuICAgIH1cblxufVxuIiwiQHVzZSBcInNhc3M6bWFwXCI7XG5AdXNlIFwiLi4vY29yZS9faW5kZXguc2Nzc1wiIGFzICo7XG5AdXNlIFwiLi4vYnV0dG9uL192YXJpYWJsZXMuc2Nzc1wiIGFzICo7XG5cbi8vLyBUaGUgaG9yaXpvbnRhbCBwYWRkaW5nIG9mIHRoZSBzbWFsbCBUb29sYmFyLlxuLy8vIEBncm91cCB0b29sYmFyXG4ka2VuZG8tdG9vbGJhci1zbS1wYWRkaW5nLXg6IGstc3BhY2luZygxKSAhZGVmYXVsdDtcbi8vLyBUaGUgaG9yaXpvbnRhbCBwYWRkaW5nIG9mIHRoZSBtZWRpdW0gVG9vbGJhci5cbi8vLyBAZ3JvdXAgdG9vbGJhclxuJGtlbmRvLXRvb2xiYXItbWQtcGFkZGluZy14OiBrLXNwYWNpbmcoMikgIWRlZmF1bHQ7XG4vLy8gVGhlIGhvcml6b250YWwgcGFkZGluZyBvZiB0aGUgbGFyZ2UgVG9vbGJhci5cbi8vLyBAZ3JvdXAgdG9vbGJhclxuJGtlbmRvLXRvb2xiYXItbGctcGFkZGluZy14OiBrLXNwYWNpbmcoMi41KSAhZGVmYXVsdDtcblxuLy8vIFRoZSB2ZXJ0aWNhbCBwYWRkaW5nIG9mIHRoZSBzbWFsbCBUb29sYmFyLlxuLy8vIEBncm91cCB0b29sYmFyXG4ka2VuZG8tdG9vbGJhci1zbS1wYWRkaW5nLXk6IGstc3BhY2luZygxKSAhZGVmYXVsdDtcbi8vLyBUaGUgdmVydGljYWwgcGFkZGluZyBvZiB0aGUgbWVkaXVtIFRvb2xiYXIuXG4vLy8gQGdyb3VwIHRvb2xiYXJcbiRrZW5kby10b29sYmFyLW1kLXBhZGRpbmcteTogay1zcGFjaW5nKDIpICFkZWZhdWx0O1xuLy8vIFRoZSB2ZXJ0aWNhbCBwYWRkaW5nIG9mIHRoZSBsYXJnZSBUb29sYmFyLlxuLy8vIEBncm91cCB0b29sYmFyXG4ka2VuZG8tdG9vbGJhci1sZy1wYWRkaW5nLXk6IGstc3BhY2luZygyLjUpICFkZWZhdWx0O1xuXG4vLy8gVGhlIHNwYWNpbmcgYmV0d2VlbiB0aGUgdG9vbHMgb2YgdGhlIHNtYWxsIFRvb2xiYXIuXG4vLy8gQGdyb3VwIHRvb2xiYXJcbiRrZW5kby10b29sYmFyLXNtLXNwYWNpbmc6IGstc3BhY2luZygyKSAhZGVmYXVsdDtcbi8vLyBUaGUgc3BhY2luZyBiZXR3ZWVuIHRoZSB0b29scyBvZiB0aGUgbWVkaXVtIFRvb2xiYXIuXG4vLy8gQGdyb3VwIHRvb2xiYXJcbiRrZW5kby10b29sYmFyLW1kLXNwYWNpbmc6IGstc3BhY2luZygyKSAhZGVmYXVsdDtcbi8vLyBUaGUgc3BhY2luZyBiZXR3ZWVuIHRoZSB0b29scyBvZiB0aGUgbGFyZ2UgVG9vbGJhci5cbi8vLyBAZ3JvdXAgdG9vbGJhclxuJGtlbmRvLXRvb2xiYXItbGctc3BhY2luZzogay1zcGFjaW5nKDIpICFkZWZhdWx0O1xuXG4vLy8gVGhlIGhlaWdodCBvZiB0aGUgc21hbGwgVG9vbGJhciBidXR0b24gc2VwYXJhdG9yLlxuLy8vIEBncm91cCB0b29sYmFyXG4ka2VuZG8tdG9vbGJhci1zbS1zZXBhcmF0b3ItaGVpZ2h0OiAka2VuZG8tYnV0dG9uLXNtLWNhbGMtc2l6ZSAhZGVmYXVsdDtcbi8vLyBUaGUgaGVpZ2h0IG9mIHRoZSBtZWRpdW0gVG9vbGJhciBidXR0b24gc2VwYXJhdG9yLlxuLy8vIEBncm91cCB0b29sYmFyXG4ka2VuZG8tdG9vbGJhci1tZC1zZXBhcmF0b3ItaGVpZ2h0OiAka2VuZG8tYnV0dG9uLW1kLWNhbGMtc2l6ZSAhZGVmYXVsdDtcbi8vLyBUaGUgaGVpZ2h0IG9mIHRoZSBsYXJnZSBUb29sYmFyIGJ1dHRvbiBzZXBhcmF0b3IuXG4vLy8gQGdyb3VwIHRvb2xiYXJcbiRrZW5kby10b29sYmFyLWxnLXNlcGFyYXRvci1oZWlnaHQ6ICRrZW5kby1idXR0b24tbGctY2FsYy1zaXplICFkZWZhdWx0O1xuXG4vLy8gVGhlIHdpZHRoIG9mIHRoZSBib3JkZXIgYXJvdW5kIHRoZSBUb29sYmFyLlxuLy8vIEBncm91cCB0b29sYmFyXG4ka2VuZG8tdG9vbGJhci1ib3JkZXItd2lkdGg6IDFweCAhZGVmYXVsdDtcblxuLy8vIFRoZSBmb250IGZhbWlseSBvZiB0aGUgVG9vbGJhci5cbi8vLyBAZ3JvdXAgdG9vbGJhclxuJGtlbmRvLXRvb2xiYXItZm9udC1mYW1pbHk6IHZhciggLS1rZW5kby1mb250LWZhbWlseSwgaW5oZXJpdCApICFkZWZhdWx0O1xuLy8vIFRoZSBmb250IHNpemUgb2YgdGhlIFRvb2xiYXIuXG4vLy8gQGdyb3VwIHRvb2xiYXJcbiRrZW5kby10b29sYmFyLWZvbnQtc2l6ZTogdmFyKCAtLWtlbmRvLWZvbnQtc2l6ZSwgaW5oZXJpdCApICFkZWZhdWx0O1xuLy8vIFRoZSBsaW5lIGhlaWdodCBvZiB0aGUgVG9vbGJhci5cbi8vLyBAZ3JvdXAgdG9vbGJhclxuJGtlbmRvLXRvb2xiYXItbGluZS1oZWlnaHQ6IHZhciggLS1rZW5kby1saW5lLWhlaWdodCwgbm9ybWFsICkgIWRlZmF1bHQ7XG5cbi8vLyBUaGUgYmFja2dyb3VuZCBjb2xvciBvZiB0aGUgVG9vbGJhci5cbi8vLyBAZ3JvdXAgdG9vbGJhclxuJGtlbmRvLXRvb2xiYXItYmc6IGlmKCRrZW5kby1lbmFibGUtY29sb3Itc3lzdGVtLCBrLWNvbG9yKCBzdXJmYWNlICksIGstZ2V0LXRoZW1lLWNvbG9yLXZhciggbmV1dHJhbC0xMCApKSAhZGVmYXVsdDtcbi8vLyBUaGUgdGV4dCBjb2xvciBvZiB0aGUgVG9vbGJhci5cbi8vLyBAZ3JvdXAgdG9vbGJhclxuJGtlbmRvLXRvb2xiYXItdGV4dDogdmFyKCAtLWtlbmRvLWNvbXBvbmVudC10ZXh0LCBpbmhlcml0ICkgIWRlZmF1bHQ7XG4vLy8gVGhlIGNvbG9yIG9mIHRoZSBib3JkZXIgYXJvdW5kIHRoZSBUb29sYmFyLlxuLy8vIEBncm91cCB0b29sYmFyXG4ka2VuZG8tdG9vbGJhci1ib3JkZXI6IHZhciggLS1rZW5kby1jb21wb25lbnQtYm9yZGVyLCBpbml0aWFsICkgIWRlZmF1bHQ7XG4vLy8gVGhlIGxlZnQgYW5kIHJpZ2h0IHNjcm9sbCBvdmVybGF5IG9mIHRoZSBUb29sYmFyLlxuLy8vIEBncm91cCB0b29sYmFyXG4ka2VuZG8tdG9vbGJhci1zY3JvbGwtb3ZlcmxheTogJGtlbmRvLXRvb2xiYXItYmcsIGlmKCRrZW5kby1lbmFibGUtY29sb3Itc3lzdGVtLCBjb2xvci1taXgoaW4gc3JnYiwgay1jb2xvciggYXBwLXN1cmZhY2UgKSAwJSwgdHJhbnNwYXJlbnQpLCByZ2JhKCAka2VuZG8tY29sb3Itd2hpdGUsIDApKSAhZGVmYXVsdDtcblxuXG4vLy8gVGhlIHRleHQgY29sb3Igb2YgdGhlIG91dGxpbmUgVG9vbGJhci5cbi8vLyBAZ3JvdXAgdG9vbGJhclxuJGtlbmRvLXRvb2xiYXItb3V0bGluZS10ZXh0OiBudWxsICFkZWZhdWx0O1xuLy8vIFRoZSBjb2xvciBvZiB0aGUgYm9yZGVyIGFyb3VuZCB0aGUgb3V0bGluZSBUb29sYmFyLlxuLy8vIEBncm91cCB0b29sYmFyXG4ka2VuZG8tdG9vbGJhci1vdXRsaW5lLWJvcmRlcjogay1jb2xvcihib3JkZXIpICFkZWZhdWx0O1xuLy8vIFRoZSB3aWR0aCBvZiB0aGUgYm9yZGVyIGFyb3VuZCB0aGUgb3V0bGluZSBUb29sYmFyLlxuLy8vIEBncm91cCB0b29sYmFyXG4ka2VuZG8tdG9vbGJhci1vdXRsaW5lLWJvcmRlci13aWR0aDogJGtlbmRvLXRvb2xiYXItYm9yZGVyLXdpZHRoICFkZWZhdWx0O1xuLy8vIFRoZSBsZWZ0IGFuZCByaWdodCBzY3JvbGwgb3ZlcmxheSBvZiB0aGUgb3V0bGluZSBUb29sYmFyLlxuLy8vIEBncm91cCB0b29sYmFyXG4ka2VuZG8tdG9vbGJhci1vdXRsaW5lLXNjcm9sbC1vdmVybGF5OiBpZigka2VuZG8tZW5hYmxlLWNvbG9yLXN5c3RlbSwgay1jb2xvciggYXBwLXN1cmZhY2UgKSwgJGtlbmRvLWNvbG9yLXdoaXRlKSwgaWYoJGtlbmRvLWVuYWJsZS1jb2xvci1zeXN0ZW0sIGNvbG9yLW1peChpbiBzcmdiLCBrLWNvbG9yKCBhcHAtc3VyZmFjZSApIDAlLCB0cmFuc3BhcmVudCksIHJnYmEoICRrZW5kby1jb2xvci13aGl0ZSwgMCkpICFkZWZhdWx0O1xuXG5cbi8vLyBUaGUgdGV4dCBjb2xvciBvZiB0aGUgZmxhdCBUb29sYmFyLlxuLy8vIEBncm91cCB0b29sYmFyXG4ka2VuZG8tdG9vbGJhci1mbGF0LXRleHQ6IG51bGwgIWRlZmF1bHQ7XG4vLy8gVGhlIGNvbG9yIG9mIHRoZSBib3JkZXIgYXJvdW5kIHRoZSBmbGF0IFRvb2xiYXIuXG4vLy8gQGdyb3VwIHRvb2xiYXJcbiRrZW5kby10b29sYmFyLWZsYXQtYm9yZGVyOiAka2VuZG8tdG9vbGJhci1ib3JkZXIgIWRlZmF1bHQ7XG4vLy8gQm9yZGVyIHdpZHRoIG9mIHRoZSBmbGF0IFRvb2xiYXIuXG4vLy8gQGdyb3VwIHRvb2xiYXJcbiRrZW5kby10b29sYmFyLWZsYXQtYm9yZGVyLXdpZHRoOiAxcHggIWRlZmF1bHQ7XG4vLy8gVGhlIGxlZnQgYW5kIHJpZ2h0IHNjcm9sbCBvdmVybGF5IG9mIHRoZSBmbGF0IFRvb2xiYXIuXG4vLy8gQGdyb3VwIHRvb2xiYXJcbiRrZW5kby10b29sYmFyLWZsYXQtc2Nyb2xsLW92ZXJsYXk6IGlmKCRrZW5kby1lbmFibGUtY29sb3Itc3lzdGVtLCBrLWNvbG9yKCBhcHAtc3VyZmFjZSApLCAka2VuZG8tY29sb3Itd2hpdGUpLCBpZigka2VuZG8tZW5hYmxlLWNvbG9yLXN5c3RlbSwgY29sb3ItbWl4KGluIHNyZ2IsIGstY29sb3IoIGFwcC1zdXJmYWNlICkgMCUsIHRyYW5zcGFyZW50KSwgcmdiYSggJGtlbmRvLWNvbG9yLXdoaXRlLCAwKSkgIWRlZmF1bHQ7XG5cblxuLy8vIFRoZSBjb2xvciBvZiB0aGUgc2VwYXJhdG9yIGJvcmRlciBvZiB0aGUgVG9vbGJhci5cbi8vLyBAZ3JvdXAgdG9vbGJhclxuJGtlbmRvLXRvb2xiYXItc2VwYXJhdG9yLWJvcmRlcjogaW5oZXJpdCAhZGVmYXVsdDtcblxuLy8vIFRoZSB3aWR0aCBvZiB0aGUgaW5wdXQgaW4gdGhlIFRvb2xiYXIuXG4vLy8gQGdyb3VwIHRvb2xiYXJcbiRrZW5kby10b29sYmFyLWlucHV0LXdpZHRoOiAxMGVtICFkZWZhdWx0O1xuXG4vLy8gVGhlIGJvcmRlciB3aWR0aCBvZiB0aGUgZm9jdXNlZCBUb29sYmFyIGl0ZW0uXG4vLy8gQGdyb3VwIHRvb2xiYXJcbiRrZW5kby10b29sYmFyLWl0ZW0tZm9jdXMtb3V0bGluZS13aWR0aDogMXB4ICFkZWZhdWx0O1xuLy8vIFRoZSBib3JkZXIgc3R5bGUgb2YgdGhlIGZvY3VzZWQgVG9vbGJhciBpdGVtLlxuLy8vIEBncm91cCB0b29sYmFyXG4ka2VuZG8tdG9vbGJhci1pdGVtLWZvY3VzLW91dGxpbmUtc3R5bGU6IHNvbGlkICFkZWZhdWx0O1xuLy8vIFRoZSBib3JkZXIgY29sb3Igb2YgdGhlIGZvY3VzZWQgVG9vbGJhciBpdGVtLlxuLy8vIEBncm91cCB0b29sYmFyXG4ka2VuZG8tdG9vbGJhci1pdGVtLWZvY3VzLW91dGxpbmUtY29sb3I6IGlmKCRrZW5kby1lbmFibGUtY29sb3Itc3lzdGVtLCBrLWNvbG9yKCBiYXNlLWVtcGhhc2lzICksIGstZ2V0LXRoZW1lLWNvbG9yLXZhciggbmV1dHJhbC0xMzAgKSkgIWRlZmF1bHQ7XG5cbi8vLyBUaGUgc2l6ZXMgbWFwIGZvciB0aGUgVG9vbGJhci5cbi8vLyBAZ3JvdXAgdG9vbGJhclxuJGtlbmRvLXRvb2xiYXItc2l6ZXM6IChcbiAgICBzbTogKFxuICAgICAgICBwYWRkaW5nLXg6ICRrZW5kby10b29sYmFyLXNtLXBhZGRpbmcteCxcbiAgICAgICAgcGFkZGluZy15OiAka2VuZG8tdG9vbGJhci1zbS1wYWRkaW5nLXksXG4gICAgICAgIHNwYWNpbmc6ICRrZW5kby10b29sYmFyLXNtLXNwYWNpbmcsXG4gICAgICAgIHNlcGFyYXRvci1oZWlnaHQ6ICRrZW5kby10b29sYmFyLXNtLXNlcGFyYXRvci1oZWlnaHRcbiAgICApLFxuICAgIG1kOiAoXG4gICAgICAgIHBhZGRpbmcteDogJGtlbmRvLXRvb2xiYXItbWQtcGFkZGluZy14LFxuICAgICAgICBwYWRkaW5nLXk6ICRrZW5kby10b29sYmFyLW1kLXBhZGRpbmcteSxcbiAgICAgICAgc3BhY2luZzogJGtlbmRvLXRvb2xiYXItbWQtc3BhY2luZyxcbiAgICAgICAgc2VwYXJhdG9yLWhlaWdodDogJGtlbmRvLXRvb2xiYXItbWQtc2VwYXJhdG9yLWhlaWdodFxuICAgICksXG4gICAgbGc6IChcbiAgICAgICAgcGFkZGluZy14OiAka2VuZG8tdG9vbGJhci1sZy1wYWRkaW5nLXgsXG4gICAgICAgIHBhZGRpbmcteTogJGtlbmRvLXRvb2xiYXItbGctcGFkZGluZy15LFxuICAgICAgICBzcGFjaW5nOiAka2VuZG8tdG9vbGJhci1sZy1zcGFjaW5nLFxuICAgICAgICBzZXBhcmF0b3ItaGVpZ2h0OiAka2VuZG8tdG9vbGJhci1sZy1zZXBhcmF0b3ItaGVpZ2h0XG4gICAgKVxuKSAhZGVmYXVsdDtcbiIsIkB1c2UgXCJzYXNzOm1hcFwiO1xuQHVzZSBcIi4uL2NvcmUvX2luZGV4LnNjc3NcIiBhcyAqO1xuXG5cbi8vLyBCb3JkZXIgd2lkdGggb2YgdGhlIGxpc3Rncm91cC5cbi8vLyBAZ3JvdXAgbGlzdGdyb3VwXG4ka2VuZG8tbGlzdGdyb3VwLWJvcmRlci13aWR0aDogMXB4ICFkZWZhdWx0O1xuLy8vIEJvcmRlciByYWRpdXMgb2YgdGhlIGxpc3Rncm91cC5cbi8vLyBAZ3JvdXAgbGlzdGdyb3VwXG4ka2VuZG8tbGlzdGdyb3VwLWJvcmRlci1yYWRpdXM6IGstYm9yZGVyLXJhZGl1cyhtZCkgIWRlZmF1bHQ7XG5cbi8vLyBGb250IHNpemUgb2YgdGhlIGxpc3Rncm91cC5cbi8vLyBAZ3JvdXAgbGlzdGdyb3VwXG4ka2VuZG8tbGlzdGdyb3VwLWZvbnQtc2l6ZTogdmFyKCAtLWtlbmRvLWZvbnQtc2l6ZSwgaW5oZXJpdCApICFkZWZhdWx0O1xuLy8vIExpbmUgaGVpZ2h0IG9mIHRoZSBsaXN0Z3JvdXAuXG4vLy8gQGdyb3VwIGxpc3Rncm91cFxuJGtlbmRvLWxpc3Rncm91cC1saW5lLWhlaWdodDogdmFyKCAtLWtlbmRvLWxpbmUtaGVpZ2h0LCBub3JtYWwgKSAhZGVmYXVsdDtcblxuLy8vIEJhY2tncm91bmQgY29sb3Igb2YgdGhlIGxpc3Rncm91cCBjb21wb25lbnQuXG4vLy8gQGdyb3VwIGxpc3Rncm91cFxuJGtlbmRvLWxpc3Rncm91cC1iZzogdmFyKCAtLWtlbmRvLWNvbXBvbmVudC1iZywgdHJhbnNwYXJlbnQgKSAhZGVmYXVsdDtcbi8vLyBUZXh0IGNvbG9yIG9mIHRoZSBsaXN0Z3JvdXAgY29tcG9uZW50LlxuLy8vIEBncm91cCBsaXN0Z3JvdXBcbiRrZW5kby1saXN0Z3JvdXAtdGV4dDogdmFyKCAtLWtlbmRvLWNvbXBvbmVudC10ZXh0LCBpbmhlcml0ICkgIWRlZmF1bHQ7XG4vLy8gQm9yZGVyIGNvbG9yIG9mIHRoZSBsaXN0Z3JvdXAgY29tcG9uZW50LlxuLy8vIEBncm91cCBsaXN0Z3JvdXBcbiRrZW5kby1saXN0Z3JvdXAtYm9yZGVyOiB2YXIoIC0ta2VuZG8tY29tcG9uZW50LWJvcmRlciwgaW5oZXJpdCApICFkZWZhdWx0O1xuXG4vLy8gSG9yaXpvbnRhbCBwYWRkaW5nIG9mIHRoZSBsaXN0Z3JvdXAgaXRlbXMuXG4vLy8gQGdyb3VwIGxpc3Rncm91cFxuJGtlbmRvLWxpc3Rncm91cC1pdGVtLXBhZGRpbmcteDogay1zcGFjaW5nKDIpICFkZWZhdWx0O1xuLy8vIFZlcnRpY2FsIHBhZGRpbmcgb2YgdGhlIGxpc3Rncm91cCBpdGVtcy5cbi8vLyBAZ3JvdXAgbGlzdGdyb3VwXG4ka2VuZG8tbGlzdGdyb3VwLWl0ZW0tcGFkZGluZy15OiBrLXNwYWNpbmcoMikgIWRlZmF1bHQ7XG4vLy8gQm9yZGVyIHdpZHRoIG9mIHRoZSBsaXN0Z3JvdXAgaXRlbS5cbi8vLyBAZ3JvdXAgbGlzdGdyb3VwXG4ka2VuZG8tbGlzdGdyb3VwLWl0ZW0tYm9yZGVyLXdpZHRoOiAxcHggIWRlZmF1bHQ7XG4iLCJAdXNlIFwiLi4vY29yZS9faW5kZXguc2Nzc1wiIGFzICo7XG5AdXNlIFwiLi9fdmFyaWFibGVzLnNjc3NcIiBhcyAqO1xuXG5AbWl4aW4ga2VuZG8tYWRhcHRpdmUtLXRoZW1lKCkge1xuXG4gICAgLmstcGFuZS13cmFwcGVyLFxuICAgIC5rLXZpZXcge1xuICAgICAgICBAaW5jbHVkZSBmaWxsKFxuICAgICAgICAgICAgdmFyKCAtLWtlbmRvLWFkYXB0aXZlLXRleHQsICN7JGtlbmRvLWFkYXB0aXZlLXRleHR9ICksXG4gICAgICAgICAgICB2YXIoIC0ta2VuZG8tYWRhcHRpdmUtYmcsICN7JGtlbmRvLWFkYXB0aXZlLWJnfSApLFxuICAgICAgICAgICAgdmFyKCAtLWtlbmRvLWFkYXB0aXZlLWJvcmRlciwgI3ska2VuZG8tYWRhcHRpdmUtYm9yZGVyfSApXG4gICAgICAgICk7XG4gICAgfVxuXG4gICAgLmstcGFuZS13cmFwcGVyIC5rLXBhbmUge1xuICAgICAgICA+IC5rLXZpZXcgPiAuay1jb250ZW50IHtcbiAgICAgICAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IDUwJSA1MCU7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoIC0ta2VuZG8tYWRhcHRpdmUtY29udGVudC1iZywgI3ska2VuZG8tYWRhcHRpdmUtY29udGVudC1iZ30gKTtcbiAgICAgICAgfVxuXG4gICAgICAgIC5rLWdyaWQtbW9iaWxlIHtcbiAgICAgICAgICAgIC5rLWNvbHVtbi1hY3RpdmUgKyB0aC5rLWhlYWRlciB7XG4gICAgICAgICAgICAgICAgYm9yZGVyLWxlZnQtY29sb3I6IHZhciggLS1rZW5kby1jb21wb25lbnQtYmcsIGluaGVyaXQgKTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLmstcmVzaXplLWhhbmRsZS1pbm5lcjo6YmVmb3JlIHtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoIC0ta2VuZG8tY29tcG9uZW50LWJnLCBpbmhlcml0ICk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAuay1zY2hlZHVsZXItbW9iaWxlIHtcbiAgICAgICAgICAgIC5rLW5hdi1jdXJyZW50IHtcbiAgICAgICAgICAgICAgICBjb2xvcjogdmFyKCAtLWtlbmRvLWFkYXB0aXZlLXNjaGVkdWxlci1jdXJyZW50LXRleHQsICN7JGtlbmRvLWFkYXB0aXZlLXNjaGVkdWxlci1jdXJyZW50LXRleHR9ICk7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC5rLXNjaGVkdWxlci10aW1lcyxcbiAgICAgICAgICAgIC5rLXNjaGVkdWxlci1oZWFkZXIsXG4gICAgICAgICAgICAuay1zY2hlZHVsZXItZ3JvdXBjb2x1bW4sXG4gICAgICAgICAgICAuay1tb2JpbGUtc2NoZWR1bGVyLWFnZW5kYWRhdGUge1xuICAgICAgICAgICAgICAgIGNvbG9yOiB2YXIoIC0ta2VuZG8tYWRhcHRpdmUtc2NoZWR1bGVyLWJhc2UtdGV4dCwgI3ska2VuZG8tYWRhcHRpdmUtc2NoZWR1bGVyLWJhc2UtdGV4dH0gKTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLmstdGltZS1wZXJpb2QsXG4gICAgICAgICAgICAuay1tb2JpbGUtc2NoZWR1bGVyLWFnZW5kYXdlZWtkYXkge1xuICAgICAgICAgICAgICAgIGNvbG9yOiB2YXIoIC0ta2VuZG8tYWRhcHRpdmUtc2NoZWR1bGVyLXN1YnRsZS10ZXh0LCAjeyRrZW5kby1hZGFwdGl2ZS1zY2hlZHVsZXItc3VidGxlLXRleHR9ICk7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC5rLXNjaGVkdWxlci10aW1lcyxcbiAgICAgICAgICAgIC5rLXNjaGVkdWxlci1oZWFkZXIsXG4gICAgICAgICAgICAuay1zY2hlZHVsZXItaGVhZGVyLXdyYXAsXG4gICAgICAgICAgICAuay1zY2hlZHVsZXItZGF0ZWNvbHVtbixcbiAgICAgICAgICAgIC5rLXNjaGVkdWxlci1ncm91cGNvbHVtbixcbiAgICAgICAgICAgIC5rLXNjaGVkdWxlci1ncm91cC1jZWxsLFxuICAgICAgICAgICAgLmstc2NoZWR1bGVyLWhlYWRlci1hbGwtZGF5IHtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoIC0ta2VuZG8tYWRhcHRpdmUtY29udGVudC1iZywgI3ska2VuZG8tYWRhcHRpdmUtY29udGVudC1iZ30gKTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLmstc2NoZWR1bGVyLXRvb2xiYXIgLmstc2NoZWR1bGVyLXRvb2xzID4gbGkge1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBpbmhlcml0O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLmstZ3JpZC1lZGl0LWZvcm0sXG4gICAgICAgIC5rLWdyaWQtaGVhZGVyLW1lbnUsXG4gICAgICAgIC5rLWdyaWQtZmlsdGVyLW1lbnUsXG4gICAgICAgIC5rLXNjaGVkdWxlci1lZGl0LWZvcm0ge1xuICAgICAgICAgICAgLmstaXRlbSxcbiAgICAgICAgICAgIC5rLWxpbmsge1xuICAgICAgICAgICAgICAgIGNvbG9yOiB2YXIoIC0ta2VuZG8tY29tcG9uZW50LXRleHQsIGluaGVyaXQgKTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLmstY2xlYXIsXG4gICAgICAgICAgICAuay1zZWxlY3QtYWxsLFxuICAgICAgICAgICAgLmstc2NoZWR1bGVyLWRlbGV0ZSxcbiAgICAgICAgICAgIC5rLXNjaGVkdWxlci1yZXNldFNlcmllcyB7IC8vIHN0eWxlbGludC1kaXNhYmxlLWxpbmVcbiAgICAgICAgICAgICAgICBjb2xvcjogdmFyKCAtLWtlbmRvLWFkYXB0aXZlLW1lbnUtY2xlYXItdGV4dCwgI3ska2VuZG8tYWRhcHRpdmUtbWVudS1jbGVhci10ZXh0fSApO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLmstY29sdW1uLW1lbnUge1xuICAgICAgICAgICAgLmstbGlzdGdyb3VwLWl0ZW0uay1zZWxlY3RlZCB7XG4gICAgICAgICAgICAgICAgY29sb3I6IHZhciggLS1rZW5kby1hZGFwdGl2ZS1ncmlkLXNvcnQtdGV4dCwgI3ska2VuZG8tYWRhcHRpdmUtZ3JpZC1zb3J0LXRleHR9ICk7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZDogbm9uZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIC5rLWxpc3Rncm91cC1pdGVtLmstc2VsZWN0ZWQgLmstbGluayB7XG4gICAgICAgICAgICAgICAgY29sb3I6IGluaGVyaXQ7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbn1cbiIsIkB1c2UgXCJzYXNzOm1hcFwiO1xuQHVzZSBcInNhc3M6bWF0aFwiO1xuQHVzZSBcIi4uL2NvcmUvX2luZGV4LnNjc3NcIiBhcyAqO1xuQHVzZSBcIi4uL2J1dHRvbi9fdmFyaWFibGVzLnNjc3NcIiBhcyAqO1xuQHVzZSBcIi4uL2NoaXAvX3ZhcmlhYmxlcy5zY3NzXCIgYXMgKjtcbkB1c2UgXCIuLi9mb3Jtcy9fdmFyaWFibGVzLnNjc3NcIiBhcyAqO1xuQHVzZSBcIi4uL3RhYmxlL192YXJpYWJsZXMuc2Nzc1wiIGFzICo7XG5AdXNlIFwiLi4vdGFic3RyaXAvX3ZhcmlhYmxlcy5zY3NzXCIgYXMgKjtcbkB1c2UgXCIuL192YXJpYWJsZXMuc2Nzc1wiIGFzICo7XG5AdXNlIFwiLi4vY29yZS9zcGFjaW5nL19pbmRleC5zY3NzXCIgYXMgKjtcblxuQG1peGluIGtlbmRvLWdyaWQtLWxheW91dCgpIHtcblxuICAgIC5rLWdyaWQge1xuICAgICAgICBib3JkZXItd2lkdGg6IHZhciggLS1rZW5kby1ncmlkLWJvcmRlci13aWR0aCwgI3ska2VuZG8tZ3JpZC1ib3JkZXItd2lkdGh9ICk7XG4gICAgICAgIGJvcmRlci1zdHlsZTogdmFyKCAtLWtlbmRvLWdyaWQtYm9yZGVyLXN0eWxlLCAjeyRrZW5kby1ncmlkLWJvcmRlci1zdHlsZX0gKTtcbiAgICAgICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICAgICAgb3V0bGluZTogMDtcbiAgICAgICAgZm9udC1mYW1pbHk6IHZhciggLS1rZW5kby1ncmlkLWZvbnQtZmFtaWx5LCAjeyRrZW5kby1ncmlkLWZvbnQtZmFtaWx5fSApO1xuICAgICAgICBmb250LXNpemU6dmFyKCAtLWtlbmRvLWdyaWQtZm9udC1zaXplLCAjeyRrZW5kby1ncmlkLWZvbnQtc2l6ZX0gKTtcbiAgICAgICAgbGluZS1oZWlnaHQ6IHZhciggLS1rZW5kby1ncmlkLWxpbmUtaGVpZ2h0LCAjeyRrZW5kby1ncmlkLWxpbmUtaGVpZ2h0fSApO1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgICAgICAgJi5rLWdyaWQtZGlzcGxheS1ibG9jayB7XG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgfVxuXG4gICAgICAgIC5rLWdyaWQtY29udGFpbmVyIHtcbiAgICAgICAgICAgIGJvcmRlci1jb2xvcjogaW5oZXJpdDtcbiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICBmbGV4OiAxIDEgYXV0bztcbiAgICAgICAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIH1cblxuICAgICAgICAuay1ncmlkLWFyaWEtcm9vdCB7XG4gICAgICAgICAgICBib3JkZXItY29sb3I6IGluaGVyaXQ7XG4gICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgICAgICAgIGZsZXg6IDEgMSBhdXRvO1xuICAgICAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAgICAgfVxuXG4gICAgICAgIC5rLXRhYmxlIHtcbiAgICAgICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgbWF4LXdpZHRoOiBub25lO1xuICAgICAgICAgICAgYm9yZGVyLXdpZHRoOiAwO1xuICAgICAgICAgICAgYm9yZGVyLWNvbG9yOiBpbmhlcml0O1xuICAgICAgICAgICAgYm9yZGVyLWNvbGxhcHNlOiBzZXBhcmF0ZTtcbiAgICAgICAgICAgIGJvcmRlci1zcGFjaW5nOiAwO1xuICAgICAgICAgICAgZW1wdHktY2VsbHM6IHNob3c7XG4gICAgICAgICAgICBvdXRsaW5lOiAwO1xuICAgICAgICAgICAgYm94LXNpemluZzogY29udGVudC1ib3g7XG4gICAgICAgICAgICB0YWJsZS1sYXlvdXQ6IGZpeGVkO1xuICAgICAgICB9XG5cbiAgICAgICAgLmstdGFibGUtdGhlYWQsXG4gICAgICAgIC5rLXRhYmxlLXRib2R5LFxuICAgICAgICAuay10YWJsZS10Zm9vdCB7XG4gICAgICAgICAgICB0ZXh0LWFsaWduOiBzdGFydDtcbiAgICAgICAgICAgIGJvcmRlci1jb2xvcjogaW5oZXJpdDtcbiAgICAgICAgfVxuXG4gICAgICAgIC5rLXRhYmxlLXJvdyB7XG4gICAgICAgICAgICBib3JkZXItY29sb3I6IGluaGVyaXQ7XG4gICAgICAgIH1cblxuICAgICAgICAuay10YWJsZS10aCxcbiAgICAgICAgdGQsXG4gICAgICAgIC5rLXRhYmxlLXRkIHtcbiAgICAgICAgICAgIGJvcmRlci13aWR0aDogMDtcbiAgICAgICAgICAgIHBhZGRpbmctaW5saW5lOiB2YXIoIC0tSU5URVJOQUwtLWtlbmRvLWdyaWQtY2VsbC1wYWRkaW5nLXgsIDAgKTtcbiAgICAgICAgICAgIHBhZGRpbmctYmxvY2s6IHZhciggLS1JTlRFUk5BTC0ta2VuZG8tZ3JpZC1jZWxsLXBhZGRpbmcteSwgMCApO1xuICAgICAgICAgICAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcbiAgICAgICAgICAgIGJvcmRlci1jb2xvcjogaW5oZXJpdDtcbiAgICAgICAgICAgIG91dGxpbmU6IDA7XG4gICAgICAgICAgICBmb250LXdlaWdodDogaW5oZXJpdDtcbiAgICAgICAgICAgIHRleHQtYWxpZ246IGluaGVyaXQ7XG4gICAgICAgICAgICBwb3NpdGlvbjogc3RhdGljO1xuICAgICAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAgICAgICAgIHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xuICAgICAgICAgICAgYm94LXNpemluZzogY29udGVudC1ib3g7XG5cbiAgICAgICAgICAgICY6Zmlyc3QtY2hpbGQge1xuICAgICAgICAgICAgICAgIGJvcmRlci1pbmxpbmUtc3RhcnQtd2lkdGg6IDA7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICY6Zm9jdXMge1xuICAgICAgICAgICAgICAgIG91dGxpbmU6IG5vbmU7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgID4gLmstcmFkaW8sXG4gICAgICAgICAgICA+IC5rLXJhZGlvLXdyYXAsXG4gICAgICAgICAgICA+IC5rLWNoZWNrYm94LFxuICAgICAgICAgICAgPiAuay1jaGVja2JveC13cmFwIHtcbiAgICAgICAgICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogdG9wO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLmstdGFibGUtdGgge1xuICAgICAgICAgICAgcGFkZGluZy1pbmxpbmU6IHZhciggLS1JTlRFUk5BTC0ta2VuZG8tZ3JpZC1oZWFkZXItcGFkZGluZy14LCAwICk7XG4gICAgICAgICAgICBwYWRkaW5nLWJsb2NrOiB2YXIoIC0tSU5URVJOQUwtLWtlbmRvLWdyaWQtaGVhZGVyLXBhZGRpbmcteSwgMCApO1xuICAgICAgICAgICAgYm9yZGVyLWJsb2NrLWVuZC13aWR0aDogdmFyKCAtLWtlbmRvLWdyaWQtaGVhZGVyLWJvcmRlci13aWR0aC15LCAjeyRrZW5kby1ncmlkLWhlYWRlci1ib3JkZXItd2lkdGgteX0gKTtcbiAgICAgICAgICAgIGJvcmRlci1pbmxpbmUtc3RhcnQtd2lkdGg6IHZhciggLS1rZW5kby1ncmlkLWhlYWRlci1ib3JkZXItd2lkdGgteCwgI3ska2VuZG8tZ3JpZC1oZWFkZXItYm9yZGVyLXdpZHRoLXh9ICk7XG4gICAgICAgICAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICAgICAgICB9XG5cbiAgICAgICAgdGQsXG4gICAgICAgIC5rLXRhYmxlLXRkIHtcbiAgICAgICAgICAgIGJvcmRlci1ibG9jay1lbmQtd2lkdGg6IHZhciggLS1rZW5kby1ncmlkLWNlbGwtYm9yZGVyLXdpZHRoLXksICN7JGtlbmRvLWdyaWQtY2VsbC1ib3JkZXItd2lkdGgteX0gKTtcbiAgICAgICAgICAgIGJvcmRlci1pbmxpbmUtc3RhcnQtd2lkdGg6IHZhciggLS1rZW5kby1ncmlkLWNlbGwtYm9yZGVyLXdpZHRoLXgsICN7JGtlbmRvLWdyaWQtY2VsbC1ib3JkZXItd2lkdGgteH0gKTtcbiAgICAgICAgICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gICAgICAgIH1cblxuICAgICAgICBhIHtcbiAgICAgICAgICAgIGNvbG9yOiBpbmhlcml0O1xuICAgICAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgICAgICB9XG4gICAgICAgIGE6aG92ZXIge1xuICAgICAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgICAgICB9XG5cbiAgICAgICAgLmstZ3JpZC1oZWFkZXItd3JhcCB7XG4gICAgICAgICAgICBib3gtc2l6aW5nOiBjb250ZW50LWJveDtcbiAgICAgICAgfVxuXG4gICAgICAgIC8vIEdyb3VwaW5nLCBoaWVyYXJjeVxuICAgICAgICAuay1ncm91cC1jb2wsXG4gICAgICAgIC5rLWhpZXJhcmNoeS1jb2wge1xuICAgICAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgICAgIHdpZHRoOiB2YXIoIC0ta2VuZG8tZ3JpZC1oaWVyYXJjaHktY29sLXdpZHRoLCAjeyRrZW5kby1ncmlkLWhpZXJhcmNoeS1jb2wtd2lkdGh9ICk7XG4gICAgICAgIH1cblxuICAgICAgICAuay1ncm91cGluZy1yb3cgcCB7XG4gICAgICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgICAgIGFsaWduLWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgICAgfVxuXG4gICAgICAgIC5rLWdyb3VwaW5nLXJvdyB0ZCxcbiAgICAgICAgLmstZ3JvdXBpbmctcm93IC5rLXRhYmxlLXRkIHtcbiAgICAgICAgICAgIGJvcmRlci1ibG9jay1lbmQtd2lkdGg6IDA7XG4gICAgICAgICAgICBvdmVyZmxvdzogdmlzaWJsZTtcbiAgICAgICAgfVxuXG4gICAgICAgIC5rLWdyb3VwaW5nLXJvdyArIC5rLXRhYmxlLXJvdyB0ZCxcbiAgICAgICAgLmstZ3JvdXBpbmctcm93ICsgLmstdGFibGUtcm93IC5rLXRhYmxlLXRkIHtcbiAgICAgICAgICAgIGJvcmRlci10b3Atd2lkdGg6IHZhciggLS1rZW5kby1ncmlkLWdyb3VwaW5nLXJvdy1ib3JkZXItd2lkdGgteSwgI3ska2VuZG8tZ3JpZC1ncm91cGluZy1yb3ctYm9yZGVyLXdpZHRoLXl9ICk7XG4gICAgICAgIH1cblxuICAgICAgICAuay1ncm91cGluZy1yb3cgLmstZ3JvdXAtY2VsbCxcbiAgICAgICAgLmstZ3JvdXBpbmctcm93ICsgLmstdGFibGUtcm93IC5rLWdyb3VwLWNlbGwge1xuICAgICAgICAgICAgYm9yZGVyLWJsb2NrLXdpZHRoOiAwO1xuICAgICAgICAgICAgYm9yZGVyLWlubGluZS1lbmQtd2lkdGg6IDFweDtcbiAgICAgICAgICAgIHRleHQtb3ZlcmZsb3c6IGNsaXA7XG4gICAgICAgIH1cblxuICAgICAgICAuay1ncm91cGluZy1yb3cgLmstaWNvbiB7XG4gICAgICAgICAgICBtYXJnaW4taW5saW5lLXN0YXJ0OiBjYWxjKCAoIHZhciggLS1rZW5kby1pY29uLXNpemUsIDFyZW0gKSAvIDIgKSAtIHZhciggLS1JTlRFUk5BTC0ta2VuZG8tZ3JpZC1jZWxsLXBhZGRpbmcteCwgMCApICk7XG4gICAgICAgICAgICBtYXJnaW4taW5saW5lLWVuZDogY2FsYyggdmFyKCAtLWtlbmRvLWljb24tc2l6ZSwgMXJlbSApIC8gMiApO1xuICAgICAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgICAgICB9XG5cbiAgICAgICAgLmstZ3JvdXAtZm9vdGVyIHRkLFxuICAgICAgICAuay1ncm91cC1mb290ZXIgLmstdGFibGUtdGQge1xuICAgICAgICAgICAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcbiAgICAgICAgICAgIGJvcmRlci1pbmxpbmUtd2lkdGg6IHZhciggLS1rZW5kby1ncmlkLWdyb3VwLWZvb3Rlci1ib3JkZXItd2lkdGgteCwgI3ska2VuZG8tZ3JpZC1ncm91cC1mb290ZXItYm9yZGVyLXdpZHRoLXh9ICk7XG4gICAgICAgICAgICBib3JkZXItYmxvY2stc3RhcnQtd2lkdGg6IHZhciggLS1rZW5kby1ncmlkLWdyb3VwLWZvb3Rlci1ib3JkZXItd2lkdGgteSwgI3ska2VuZG8tZ3JpZC1ncm91cC1mb290ZXItYm9yZGVyLXdpZHRoLXl9ICk7XG4gICAgICAgIH1cblxuICAgICAgICAuay1ncm91cC1mb290ZXIgLmstZ3JvdXAtY2VsbCArIHRkLFxuICAgICAgICAuay1ncm91cC1mb290ZXIgLmstZ3JvdXAtY2VsbCArIC5rLXRhYmxlLXRkIHtcbiAgICAgICAgICAgIGJvcmRlci1pbmxpbmUtc3RhcnQtd2lkdGg6IHZhciggLS1rZW5kby1ncmlkLWdyb3VwLWZvb3Rlci1ib3JkZXItd2lkdGgteCwgI3ska2VuZG8tZ3JpZC1ncm91cC1mb290ZXItYm9yZGVyLXdpZHRoLXh9ICk7XG4gICAgICAgIH1cblxuICAgICAgICAuay1oaWVyYXJjaHktY2VsbCxcbiAgICAgICAgLmstZHJhZy1jZWxsIHtcbiAgICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgICAgICBvdmVyZmxvdzogdmlzaWJsZTtcblxuICAgICAgICAgICAgPiAuay1pY29uIHtcbiAgICAgICAgICAgICAgICBwYWRkaW5nLWlubGluZTogMDtcbiAgICAgICAgICAgICAgICBwYWRkaW5nLWJsb2NrOiB2YXIoIC0tSU5URVJOQUwtLWtlbmRvLWdyaWQtY2VsbC1wYWRkaW5nLXksIDAgKTtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgICAgICAgICAgb3V0bGluZTogMDtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgPiAuay1mb250LWljb24ge1xuICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICB9XG5cbiAgICAgICAgLmstaGllcmFyY2h5LWNlbGwgKyAuay1ncmlkLWNvbnRlbnQtc3RpY2t5IHtcbiAgICAgICAgICAgIGJvcmRlci1pbmxpbmUtc3RhcnQtd2lkdGg6IHZhciggLS1rZW5kby1ncmlkLXN0aWNreS1jZWxsLWJvcmRlci13aWR0aCwgI3ska2VuZG8tZ3JpZC1zdGlja3ktY2VsbC1ib3JkZXItd2lkdGh9ICk7XG4gICAgICAgIH1cblxuICAgICAgICAuay1kZXRhaWwtcm93IHtcbiAgICAgICAgICAgIC5rLWRldGFpbC1jZWxsIHtcbiAgICAgICAgICAgICAgICBib3JkZXItbGVmdC13aWR0aDogMDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC5rLWRpcnR5LWNlbGwge1xuICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gICAgICAgICAgICAmLmstZWRpdC1jZWxsIHtcbiAgICAgICAgICAgICAgICBwb3NpdGlvbjogc3RhdGljO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAmLmstZ3JpZC1jb250ZW50LXN0aWNreSB7XG4gICAgICAgICAgICAgICAgcG9zaXRpb246IHN0aWNreTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC5rLWRpcnR5IHtcbiAgICAgICAgICAgIGJvcmRlci13aWR0aDogNXB4O1xuICAgICAgICAgICAgYm9yZGVyLWNvbG9yOiBjdXJyZW50Q29sb3IgdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQgY3VycmVudENvbG9yO1xuICAgICAgICAgICAgaW5zZXQtaW5saW5lLXN0YXJ0OiAwO1xuICAgICAgICAgICAgaW5zZXQtaW5saW5lLWVuZDogYXV0bztcbiAgICAgICAgfVxuXG4gICAgICAgIC5rLWdyaWQtY29udGVudC1sb2NrZWQgKyAuay1ncmlkLWNvbnRlbnQge1xuICAgICAgICAgICAgYm94LXNpemluZzogY29udGVudC1ib3g7XG4gICAgICAgIH1cblxuICAgICAgICAuay1ncmlkLWNvbnRlbnQtZXhwYW5kZXIge1xuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgdmlzaWJpbGl0eTogaGlkZGVuO1xuICAgICAgICAgICAgaGVpZ2h0OiAxcHg7XG4gICAgICAgICAgICBib3R0b206IDFweDsgLy8gZml4IGZvciB2ZXJ0aWNhbCBzY3JvbGxiYXIgYXBwZWFyaW5nIHdoZW4gbm8gcmVjb3JkcyB0ZW1wbGF0ZSBpcyBkaXNwbGF5ZWRcbiAgICAgICAgfVxuXG4gICAgICAgIC5rLWdyaWQtZmlsdGVyLFxuICAgICAgICAuay1oZWFkZXItY29sdW1uLW1lbnUsXG4gICAgICAgIC5rLWdyaWQtaGVhZGVyLW1lbnUsXG4gICAgICAgIC5rLWhpZXJhcmNoeS1jZWxsIC5rLWljb24ge1xuICAgICAgICAgICAgYm9yZGVyLXdpZHRoOiAwO1xuICAgICAgICB9XG5cbiAgICAgICAgLy8gRHJhZyBjb2x1bW5cbiAgICAgICAgLmstZHJhZy1jb2wge1xuICAgICAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgICAgIHdpZHRoOiB2YXIoIC0ta2VuZG8tZ3JpZC1kcmFnLWNlbGwtd2lkdGgsICN7JGtlbmRvLWdyaWQtZHJhZy1jZWxsLXdpZHRofSApO1xuICAgICAgICB9XG5cbiAgICAgICAgLmstZHJhZy1jZWxsIHtcbiAgICAgICAgICAgIGN1cnNvcjogbW92ZTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5rLWdyaWQtcmVzaXphYmxlIHtcbiAgICAgICAgcmVzaXplOiBib3RoO1xuICAgICAgICBvdmVyZmxvdzogYXV0bztcbiAgICB9XG5cbiAgICAvLyBUb29sYmFyXG4gICAgLmstZ3JpZC10b29sYmFyIHtcbiAgICAgICAgYm9yZGVyLXdpZHRoOiAwIDAgdmFyKCAtLWtlbmRvLWdyaWQtdG9vbGJhci1ib3JkZXItd2lkdGgsICN7JGtlbmRvLWdyaWQtdG9vbGJhci1ib3JkZXItd2lkdGh9ICk7XG4gICAgICAgIGZsZXgtc2hyaW5rOiAwO1xuICAgIH1cbiAgICAuay1ncmlkLXRvb2xiYXItYm90dG9tIHtcbiAgICAgICAgYm9yZGVyLXdpZHRoOiB2YXIoIC0ta2VuZG8tZ3JpZC10b29sYmFyLWJvcmRlci13aWR0aCwgI3ska2VuZG8tZ3JpZC10b29sYmFyLWJvcmRlci13aWR0aH0gKSAwIDA7XG4gICAgfVxuXG5cbiAgICAvLyBHcm91cGluZyBoZWFkZXJcbiAgICAuay1ncm91cGluZy1oZWFkZXIge1xuICAgICAgICBwYWRkaW5nLWlubGluZTogdmFyKCAtLUlOVEVSTkFMLS1rZW5kby1ncmlkLWdyb3VwaW5nLWhlYWRlci1wYWRkaW5nLXgsIDAgKTtcbiAgICAgICAgcGFkZGluZy1ibG9jazogdmFyKCAtLUlOVEVSTkFMLS1rZW5kby1ncmlkLWdyb3VwaW5nLWhlYWRlci1wYWRkaW5nLXksIDAgKTtcbiAgICAgICAgYm9yZGVyLXdpZHRoOiAwIDAgMXB4O1xuICAgICAgICBib3JkZXItc3R5bGU6IHNvbGlkO1xuICAgICAgICBib3JkZXItY29sb3I6IGluaGVyaXQ7XG4gICAgICAgIHdoaXRlLXNwYWNlOiBub3JtYWw7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgIGdhcDogdmFyKCAtLUlOVEVSTkFMLS1rZW5kby1ncmlkLWdyb3VwaW5nLWhlYWRlci1wYWRkaW5nLXksIDAgKTtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICBmbGV4LXdyYXA6IHdyYXA7XG5cbiAgICAgICAgJjo6YmVmb3JlIHtcbiAgICAgICAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICAgICAgICBoZWlnaHQ6ICRrZW5kby1jaGlwLWNhbGMtc2l6ZTtcbiAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gICAgICAgICAgICBtYXJnaW4tbGVmdDogY2FsYyggdmFyKCAtLUlOVEVSTkFMLS1rZW5kby1ncmlkLWdyb3VwaW5nLWhlYWRlci1wYWRkaW5nLXksIDAgKSAqIC0xICk7XG4gICAgICAgIH1cblxuICAgICAgICAuay1jaGlwLWxpc3Qge1xuICAgICAgICAgICAgZmxleC1ncm93OiAwO1xuICAgICAgICAgICAgZGlzcGxheTogY29udGVudHM7XG4gICAgICAgIH1cblxuICAgICAgICA+IC5rLWdyb3VwaW5nLWRyb3AtY29udGFpbmVyIHtcbiAgICAgICAgICAgIGZsZXgtZ3JvdzogMTtcbiAgICAgICAgICAgIHBhZGRpbmctYmxvY2s6IHZhciggLS1rZW5kby1ncmlkLWdyb3VwaW5nLWhlYWRlci1wYWRkaW5nLXksICN7JGtlbmRvLWdyaWQtZ3JvdXBpbmctaGVhZGVyLXBhZGRpbmcteX0gKTtcbiAgICAgICAgICAgIG1hcmdpbi1ibG9jazogY2FsYyggdmFyKCAtLWtlbmRvLWdyaWQtZ3JvdXBpbmctaGVhZGVyLXBhZGRpbmcteSwgI3ska2VuZG8tZ3JpZC1ncm91cGluZy1oZWFkZXItcGFkZGluZy15fSApICogLTEgKTtcbiAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICAgICAgICAgICAgYWxpZ24tc2VsZjogc3RyZXRjaDtcbiAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAuay1ncm91cGluZy1kcm9wY2x1ZSB7XG4gICAgICAgIHdpZHRoOiBjYWxjKCB2YXIoIC0ta2VuZG8tZ3JpZC1ncm91cC1kcm9wLWhpbnQtc2l6ZSwgI3ska2VuZG8tZ3JpZC1ncm91cC1kcm9wLWhpbnQtc2l6ZX0gKSAqIDIgKTtcbiAgICAgICAgaGVpZ2h0OiB2YXIoIC0tSU5URVJOQUwtLWtlbmRvLWdyaWQtZ3JvdXAtZHJvcC1oaW50LWhlaWdodCwgMXJlbSApO1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHRvcDogdmFyKCAtLWtlbmRvLWdyaWQtZ3JvdXAtZHJvcC1oaW50LXRvcCwgI3ska2VuZG8tZ3JpZC1ncm91cC1kcm9wLWhpbnQtdG9wfSApO1xuICAgICAgICBib3gtc2l6aW5nOiBjb250ZW50LWJveDtcblxuICAgICAgICAmOjpiZWZvcmUsXG4gICAgICAgICY6OmFmdGVyIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIH1cblxuICAgICAgICAmOjpiZWZvcmUge1xuICAgICAgICAgICAgd2lkdGg6IHZhciggLS1rZW5kby1ncmlkLWdyb3VwLWRyb3AtaGludC1kb3Qtc2l6ZSwgI3ska2VuZG8tZ3JpZC1ncm91cC1kcm9wLWhpbnQtZG90LXNpemV9ICk7XG4gICAgICAgICAgICBoZWlnaHQ6IHZhciggLS1rZW5kby1ncmlkLWdyb3VwLWRyb3AtaGludC1kb3Qtc2l6ZSwgI3ska2VuZG8tZ3JpZC1ncm91cC1kcm9wLWhpbnQtZG90LXNpemV9ICk7XG4gICAgICAgICAgICBib3JkZXItcmFkaXVzOiA1MCU7XG4gICAgICAgICAgICB0b3A6IDA7XG4gICAgICAgICAgICBsZWZ0OiBjYWxjKCB2YXIoIC0ta2VuZG8tZ3JpZC1ncm91cC1kcm9wLWhpbnQtZG90LXNpemUsICN7JGtlbmRvLWdyaWQtZ3JvdXAtZHJvcC1oaW50LWRvdC1zaXplfSApIC8gMiApO1xuICAgICAgICB9XG5cbiAgICAgICAgJjo6YWZ0ZXIge1xuICAgICAgICAgICAgd2lkdGg6IHZhciggLS1rZW5kby1ncmlkLWdyb3VwLWRyb3AtaGludC1saW5lLXNpemUsICN7JGtlbmRvLWdyaWQtZ3JvdXAtZHJvcC1oaW50LWxpbmUtc2l6ZX0gKTtcbiAgICAgICAgICAgIGhlaWdodDogY2FsYyggMTAwJSAtIHZhciggLS1rZW5kby1ncmlkLWdyb3VwLWRyb3AtaGludC1zaXplLCAjeyRrZW5kby1ncmlkLWdyb3VwLWRyb3AtaGludC1zaXplfSApICk7XG4gICAgICAgICAgICB0b3A6IHZhciggLS1rZW5kby1ncmlkLWdyb3VwLWRyb3AtaGludC1zaXplLCAjeyRrZW5kby1ncmlkLWdyb3VwLWRyb3AtaGludC1zaXplfSApO1xuICAgICAgICAgICAgbGVmdDogY2FsYyggdmFyKCAtLWtlbmRvLWdyaWQtZ3JvdXAtZHJvcC1oaW50LXNpemUsICN7JGtlbmRvLWdyaWQtZ3JvdXAtZHJvcC1oaW50LXNpemV9ICkgLSAoIHZhciggLS1rZW5kby1ncmlkLWdyb3VwLWRyb3AtaGludC1saW5lLXNpemUsICN7JGtlbmRvLWdyaWQtZ3JvdXAtZHJvcC1oaW50LWxpbmUtc2l6ZX0gKSAvIDIgKSApO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLy8gQWxpYXMgdXNlZCBpbiBqUXVlcnlcbiAgICAuay1yZW9yZGVyLWN1ZSB7XG4gICAgICAgIEBleHRlbmQgLmstZ3JvdXBpbmctZHJvcGNsdWUgIW9wdGlvbmFsO1xuICAgIH1cblxuICAgIC8vIEdyaWQgaGVhZGVyIC8gZm9vdGVyXG4gICAgLmstZ3JpZC1oZWFkZXItd3JhcCxcbiAgICAuay1ncmlkLWZvb3Rlci13cmFwIHtcbiAgICAgICAgbWFyZ2luLWlubGluZS1lbmQ6IGNhbGMoIHZhciggLS1rZW5kby1ncmlkLWJvcmRlci13aWR0aCwgI3ska2VuZG8tZ3JpZC1ib3JkZXItd2lkdGh9ICkgKiAtMSApO1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgYm9yZGVyLWlubGluZS1zdGFydC13aWR0aDogMDtcbiAgICAgICAgYm9yZGVyLWlubGluZS1lbmQtd2lkdGg6IHZhciggLS1rZW5kby1ncmlkLWNlbGwtYm9yZGVyLXdpZHRoLXksICN7JGtlbmRvLWdyaWQtY2VsbC1ib3JkZXItd2lkdGgteX0gKTtcbiAgICAgICAgYm9yZGVyLWJsb2NrLXdpZHRoOiAwO1xuICAgICAgICBib3JkZXItc3R5bGU6IHNvbGlkO1xuICAgICAgICBib3JkZXItY29sb3I6IGluaGVyaXQ7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcblxuICAgICAgICAuay10YWJsZS1yb3c6bm90KDpvbmx5LWNoaWxkKSAuay10YWJsZS10aCxcbiAgICAgICAgLmstdGFibGUtcm93Om5vdCg6b25seS1jaGlsZCkgLmstdGFibGUtdGQ6bnRoLWNoaWxkKG4rMikge1xuICAgICAgICAgICAgYm9yZGVyLWlubGluZS1zdGFydC13aWR0aDogMXB4O1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLmstZ3JpZC1oZWFkZXItbG9ja2VkICsgLmstZ3JpZC1oZWFkZXItd3JhcC5rLWF1dG8tc2Nyb2xsYWJsZSB7XG4gICAgICAgIG1hcmdpbi1pbmxpbmUtZW5kOiAwO1xuICAgIH1cblxuICAgIC5rLWdyaWQtaGVhZGVyLFxuICAgIC5rLWdyaWQtZm9vdGVyIHtcbiAgICAgICAgcGFkZGluZy1pbmxpbmUtc3RhcnQ6IDA7XG4gICAgICAgIHBhZGRpbmctaW5saW5lLWVuZDogdmFyKCAtLWtlbmRvLXNjcm9sbGJhci13aWR0aCwgI3ska2VuZG8tc2Nyb2xsYmFyLXdpZHRofSApO1xuICAgICAgICBib3JkZXItd2lkdGg6IDA7XG4gICAgICAgIGJvcmRlci1zdHlsZTogc29saWQ7XG4gICAgICAgIGJvcmRlci1jb2xvcjogaW5oZXJpdDtcbiAgICAgICAgZmxleDogMCAwIGF1dG87XG4gICAgfVxuXG4gICAgZGl2LmstZ3JpZC1oZWFkZXIsXG4gICAgZGl2LmstZ3JpZC1mb290ZXIge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICAgICAgICBhbGlnbi1pdGVtczogc3RyZXRjaDtcbiAgICB9XG5cbiAgICAuay1ncmlkLWhlYWRlciB7XG4gICAgICAgIGJvcmRlci1ib3R0b20td2lkdGg6IHZhciggLS1rZW5kby1ncmlkLWhlYWRlci1ib3JkZXItd2lkdGgteSwgI3ska2VuZG8tZ3JpZC1oZWFkZXItYm9yZGVyLXdpZHRoLXl9ICk7XG4gICAgICAgIGZvbnQtc2l6ZTogdmFyKCAtLWtlbmRvLWdyaWQtaGVhZGVyLWZvbnQtc2l6ZSwgI3ska2VuZG8tZ3JpZC1oZWFkZXItZm9udC1zaXplfSApO1xuXG4gICAgICAgIC5rLXRhYmxlICB7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiBjYWxjKCB2YXIoIC0ta2VuZG8tZ3JpZC1oZWFkZXItYm9yZGVyLXdpZHRoLXksICN7JGtlbmRvLWdyaWQtaGVhZGVyLWJvcmRlci13aWR0aC15fSApICogLTEgKTtcbiAgICAgICAgfVxuXG4gICAgICAgICYuay1ncmlkLWRyYWdnYWJsZS1oZWFkZXIge1xuICAgICAgICAgICAgdXNlci1zZWxlY3Q6IG5vbmU7XG4gICAgICAgICAgICB0b3VjaC1hY3Rpb246IG5vbmU7XG4gICAgICAgIH1cblxuICAgICAgICAuay10YWJsZS10aCB7XG4gICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogYm90dG9tO1xuICAgICAgICAgICAgei1pbmRleDogMTtcbiAgICAgICAgICAgIGN1cnNvcjogZGVmYXVsdDtcblxuICAgICAgICAgICAgJi5rLWZpcnN0IHtcbiAgICAgICAgICAgICAgICBib3JkZXItaW5saW5lLXN0YXJ0LXdpZHRoOiB2YXIoIC0ta2VuZG8tZ3JpZC1oZWFkZXItZmlyc3QtYm9yZGVyLXdpZHRoLCAjeyRrZW5kby1ncmlkLWhlYWRlci1maXJzdC1ib3JkZXItd2lkdGh9ICk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAuay10YWJsZS1yb3cgLmstdGFibGUtdGg6Zmlyc3QtY2hpbGQ6bm90KC5rLWZpcnN0KSB7XG4gICAgICAgICAgICBib3JkZXItaW5saW5lLXN0YXJ0LXdpZHRoOiAwO1xuICAgICAgICB9XG5cbiAgICAgICAgLmstdGFibGUtdGggPiAuay1saW5rIHtcbiAgICAgICAgICAgIG1hcmdpbi1ibG9jazogY2FsYyggdmFyKCAtLUlOVEVSTkFMLS1rZW5kby1ncmlkLWhlYWRlci1wYWRkaW5nLXksIDAgKSAqIC0xICk7XG4gICAgICAgICAgICBtYXJnaW4taW5saW5lOiBjYWxjKCB2YXIoIC0tSU5URVJOQUwtLWtlbmRvLWdyaWQtaGVhZGVyLXBhZGRpbmcteCwgMCApICogLTEgKTtcbiAgICAgICAgICAgIHBhZGRpbmctYmxvY2s6IHZhciggLS1JTlRFUk5BTC0ta2VuZG8tZ3JpZC1oZWFkZXItcGFkZGluZy15LCAwICk7XG4gICAgICAgICAgICBwYWRkaW5nLWlubGluZTogdmFyKCAtLUlOVEVSTkFMLS1rZW5kby1ncmlkLWhlYWRlci1wYWRkaW5nLXgsIDAgKTtcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiBpbmhlcml0O1xuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgICAgICAgICAgdGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7XG4gICAgICAgICAgICBvdXRsaW5lOiAwO1xuXG4gICAgICAgICAgICA+IC5rLWljb24ge1xuICAgICAgICAgICAgICAgIG1hcmdpbi1pbmxpbmUtc3RhcnQ6IHZhciggLS1rZW5kby1ncmlkLXNvcnQtaWNvbi1zcGFjaW5nLCAjeyRrZW5kby1ncmlkLXNvcnQtaWNvbi1zcGFjaW5nfSApO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cblxuICAgICAgICAuay10YWJsZS10aCA+IC5rLWxpbms6Zm9jdXMge1xuICAgICAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgICAgICB9XG5cbiAgICAgICAgLmstZ3JpZC1maWx0ZXIsXG4gICAgICAgIC5rLWhlYWRlci1jb2x1bW4tbWVudSxcbiAgICAgICAgLmstZ3JpZC1oZWFkZXItbWVudSB7XG4gICAgICAgICAgICBwYWRkaW5nLWJsb2NrOiB2YXIoLS1JTlRFUk5BTC0ta2VuZG8tYnV0dG9uLXBhZGRpbmcteSwgMCApO1xuICAgICAgICAgICAgcGFkZGluZy1pbmxpbmU6IHZhcigtLUlOVEVSTkFMLS1rZW5kby1idXR0b24tcGFkZGluZy15LCAwICk7XG4gICAgICAgICAgICB3aWR0aDogdmFyKC0tSU5URVJOQUwtLWtlbmRvLWJ1dHRvbi1jYWxjLXNpemUsIGF1dG8gKTtcbiAgICAgICAgICAgIGhlaWdodDogdmFyKC0tSU5URVJOQUwtLWtlbmRvLWJ1dHRvbi1jYWxjLXNpemUsIGF1dG8gKTtcbiAgICAgICAgICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgICAgICAgICBvdXRsaW5lOiAwO1xuICAgICAgICAgICAgbGluZS1oZWlnaHQ6IHZhcigtLUlOVEVSTkFMLS1rZW5kby1idXR0b24tbGluZS1oZWlnaHQsIG5vcm1hbCApO1xuICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgICAgICBhbGlnbi1jb250ZW50OiBjZW50ZXI7XG4gICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgIGluc2V0LWlubGluZS1lbmQ6IHZhciggLS1rZW5kby1ncmlkLWhlYWRlci1tZW51LXNwYWNpbmcsICN7JGtlbmRvLWdyaWQtaGVhZGVyLW1lbnUtc3BhY2luZ30gKTtcbiAgICAgICAgICAgIGluc2V0LWJsb2NrLWVuZDogY2FsYyggdmFyKCAtLUlOVEVSTkFMLS1rZW5kby1ncmlkLWhlYWRlci1wYWRkaW5nLXksIDAgKSArICggI3ska2VuZG8tbGluZS1oZWlnaHQtZW19IC8gMiApIC0gKCAjeyRrZW5kby1idXR0b24taW5uZXItY2FsYy1zaXplfSAvIDIgKSApO1xuICAgICAgICAgICAgei1pbmRleDogMTtcblxuICAgICAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLmstY2VsbC1pbm5lciA+IC5rLWxpbmsgPiAuay1pY29uLFxuICAgICAgICAuay1jZWxsLWlubmVyID4gLmstbGluayA+IC5rLXNvcnQtaWNvbiB7XG4gICAgICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogdGV4dC10b3A7XG4gICAgICAgICAgICBtYXJnaW4taW5saW5lLXN0YXJ0OiB2YXIoIC0ta2VuZG8tZ3JpZC1zb3J0LWljb24tc3BhY2luZywgI3ska2VuZG8tZ3JpZC1zb3J0LWljb24tc3BhY2luZ30gKTtcbiAgICAgICAgfVxuXG4gICAgICAgIC5rLXNvcnQtb3JkZXIge1xuICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICAgICAgaGVpZ2h0OiB2YXIoIC0ta2VuZG8taWNvbi1zaXplLCAxcmVtICk7XG4gICAgICAgICAgICBmb250LXNpemU6IHZhciggLS1rZW5kby1ncmlkLXNvcnQtaW5kZXgtZm9udC1zaXplLCAjeyRrZW5kby1ncmlkLXNvcnQtaW5kZXgtZm9udC1zaXplfSApO1xuICAgICAgICAgICAgbWFyZ2luLWlubGluZS1zdGFydDogdmFyKCAtLWtlbmRvLWdyaWQtc29ydC1pbmRleC1zcGFjaW5nLXgsICN7JGtlbmRvLWdyaWQtc29ydC1pbmRleC1zcGFjaW5nLXh9ICk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAuay1jb2x1bW4tcmVzaXplciB7XG4gICAgICAgIHdpZHRoOiAuNWVtO1xuICAgICAgICBoZWlnaHQ6IDEwMDAlO1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICBpbnNldC1ibG9jay1zdGFydDogMDtcbiAgICAgICAgaW5zZXQtaW5saW5lLWVuZDogMDtcbiAgICAgICAgY3Vyc29yOiBjb2wtcmVzaXplO1xuICAgIH1cblxuICAgIC5rLXJlc2l6ZXItd3JhcCB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgcGFkZGluZy1ibG9jay1zdGFydDogY2FsYyggdmFyKCAtLUlOVEVSTkFMLS1rZW5kby1ncmlkLWVkaXQtY2VsbC1wYWRkaW5nLXgsIDAgKSAtICN7JGtlbmRvLWdyaWQtcm93LXJlc2l6ZXItaGVpZ2h0fSApO1xuICAgICAgICBwYWRkaW5nLWJsb2NrLWVuZDogdmFyKCAtLUlOVEVSTkFMLS1rZW5kby1ncmlkLWVkaXQtY2VsbC1wYWRkaW5nLXgsIDAgKTtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICBiYWNrZ3JvdW5kOiBub25lO1xuICAgICAgICBjdXJzb3I6IHJvdy1yZXNpemU7XG4gICAgICAgIHotaW5kZXg6IDI7XG4gICAgfVxuXG4gICAgLmstcm93LXJlc2l6ZXIge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgaGVpZ2h0OiB2YXIoIC0ta2VuZG8tZ3JpZC1yb3ctcmVzaXplci1oZWlnaHQsICN7JGtlbmRvLWdyaWQtcm93LXJlc2l6ZXItaGVpZ2h0fSApO1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgYmFja2dyb3VuZDogbm9uZTtcbiAgICAgfVxuXG4gICAgLmstZ3JpZC1mb290ZXIge1xuICAgICAgICBib3JkZXItYmxvY2stc3RhcnQtd2lkdGg6IHZhciggLS1rZW5kby1ncmlkLWJvcmRlci13aWR0aCwgI3ska2VuZG8tZ3JpZC1ib3JkZXItd2lkdGh9ICk7XG5cbiAgICAgICAgdGQsXG4gICAgICAgIC5rLXRhYmxlLXRkIHtcbiAgICAgICAgICAgIGhlaWdodDogdmFyKCAtLWtlbmRvLWxpbmUtaGVpZ2h0LWVtLCBub3JtYWwgKTtcbiAgICAgICAgICAgIGJvcmRlci1ibG9jay1lbmQtd2lkdGg6IDA7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAuay1ncmlkLWZvb3RlciB0ZCxcbiAgICAuay1ncmlkLWZvb3RlciAuay10YWJsZS10ZCxcbiAgICAuay1ncmlkLWhlYWRlciAuay10YWJsZS10aCxcbiAgICAuay1ncm91cC1mb290ZXIgdGQsXG4gICAgLmstZ3JvdXBpbmctcm93IHRkLFxuICAgIC5rLWdyb3VwLWZvb3RlciAuay10YWJsZS10ZCxcbiAgICAuay1ncm91cGluZy1yb3cgLmstdGFibGUtdGQge1xuICAgICAgICBmb250LXdlaWdodDogdmFyKCAtLWtlbmRvLWdyaWQtaGVhZGVyLWZvbnQtd2VpZ2h0LCAjeyRrZW5kby1ncmlkLWhlYWRlci1mb250LXdlaWdodH0gKTtcbiAgICB9XG5cbiAgICAuay1ncmlkLWZpbHRlci1wb3B1cCB7XG4gICAgICAgIG1pbi13aWR0aDogdmFyKCAtLWtlbmRvLWdyaWQtY29sdW1uLW1lbnUtd2lkdGgsICN7JGtlbmRvLWdyaWQtY29sdW1uLW1lbnUtd2lkdGh9ICk7XG4gICAgICAgIG1heC13aWR0aDogdmFyKCAtLWtlbmRvLWdyaWQtY29sdW1uLW1lbnUtbWF4LXdpZHRoLCAjeyRrZW5kby1ncmlkLWNvbHVtbi1tZW51LW1heC13aWR0aH0gKTtcbiAgICB9XG5cbiAgICAvLyBTdGFuZGFsb25lIGNvbHVtbiBtZW51XG4gICAgLmstZ3JpZC1jb2x1bW4tbWVudS1zdGFuZGFsb25lIGEuay1ncmlkLWZpbHRlciB7XG4gICAgICAgIHBvc2l0aW9uOiBpbml0aWFsO1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgIG1hcmdpbi1ibG9jazogY2FsYyggI3trLXNwYWNpbmcoMSl9ICogLTEgKTtcbiAgICAgICAgbWFyZ2luLWlubGluZTogMDtcbiAgICAgICAgcGFkZGluZy1ibG9jazogay1zcGFjaW5nKDEpO1xuICAgICAgICBwYWRkaW5nLWlubGluZTogay1zcGFjaW5nKDIpO1xuICAgIH1cblxuICAgIC8vIEZpbHRlciByb3dcbiAgICAuay1maWx0ZXItcm93IHtcbiAgICAgICAgbGluZS1oZWlnaHQ6ICRrZW5kby1mb3JtLWxpbmUtaGVpZ2h0O1xuXG4gICAgICAgIHRkLFxuICAgICAgICAuay10YWJsZS10ZCxcbiAgICAgICAgLmstdGFibGUtdGgge1xuICAgICAgICAgICAgcGFkZGluZy1pbmxpbmU6IHZhciggLS1JTlRFUk5BTC0ta2VuZG8tZ3JpZC1maWx0ZXItY2VsbC1wYWRkaW5nLXgsIDAgKTtcbiAgICAgICAgICAgIHBhZGRpbmctYmxvY2s6IHZhciggLS1JTlRFUk5BTC0ta2VuZG8tZ3JpZC1maWx0ZXItY2VsbC1wYWRkaW5nLXksIDAgKTtcbiAgICAgICAgICAgIGJvcmRlci13aWR0aDogMCAwIHZhciggLS1rZW5kby1ncmlkLWNlbGwtYm9yZGVyLXdpZHRoLXksICN7JGtlbmRvLWdyaWQtY2VsbC1ib3JkZXItd2lkdGgteX0gKSB2YXIoIC0ta2VuZG8tZ3JpZC1jZWxsLWJvcmRlci13aWR0aC14LCAjeyRrZW5kby1ncmlkLWNlbGwtYm9yZGVyLXdpZHRoLXh9ICk7XG4gICAgICAgICAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICAgICAgICB9XG5cbiAgICAgICAgdGQ6Zmlyc3QtY2hpbGQsXG4gICAgICAgIC5rLXRhYmxlLXRkOmZpcnN0LWNoaWxkIHtcbiAgICAgICAgICAgIGJvcmRlci1sZWZ0LXdpZHRoOiAwO1xuICAgICAgICB9XG5cbiAgICAgICAgLmstbXVsdGlzZWxlY3Qge1xuICAgICAgICAgICAgaGVpZ2h0OiBhdXRvO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLmstZmlsdGVyY2VsbCB7XG4gICAgICAgIHdpZHRoOiBhdXRvO1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBmbGV4LWZsb3c6IHJvdyBub3dyYXA7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cbiAgICAgICAgPiBzcGFuLFxuICAgICAgICAuay1maWx0ZXJjZWxsLXdyYXBwZXIge1xuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAgZmxleC1mbG93OiByb3cgbm93cmFwO1xuICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgICAgIGdhcDogY2FsYyggdmFyKCAtLUlOVEVSTkFMLS1rZW5kby1ncmlkLWNlbGwtcGFkZGluZy15LCAwICkgLyAyICk7XG4gICAgICAgICAgICBmbGV4OiAxIDEgYXV0bztcblxuICAgICAgICAgICAgPiAuay1idXR0b24ge1xuICAgICAgICAgICAgICAgIGZsZXg6IG5vbmU7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBHcmlkIGNvbnRlbnRcbiAgICAuay1ncmlkLWNvbnRlbnQsXG4gICAgLmstZ3JpZC1jb250ZW50LWxvY2tlZCB7XG4gICAgICAgIGJvcmRlci1jb2xvcjogaW5oZXJpdDtcbiAgICAgICAgb3V0bGluZTogMDtcblxuICAgICAgICAuay10YWJsZS1yb3c6bGFzdC1jaGlsZCA+IHRkLFxuICAgICAgICAuay10YWJsZS1yb3c6bGFzdC1jaGlsZCA+IC5rLXRhYmxlLXRkIHtcbiAgICAgICAgICAgIGJvcmRlci1ib3R0b20td2lkdGg6IDA7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAuay1ncmlkLWNvbnRlbnQge1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgbWluLWhlaWdodDogMDtcbiAgICAgICAgb3ZlcmZsb3cteDogYXV0bztcbiAgICAgICAgb3ZlcmZsb3cteTogc2Nyb2xsO1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIGZsZXg6IDE7XG4gICAgfVxuXG4gICAgLy8gVmlydHVhbGl6YXRpb25cbiAgICAuay12aXJ0dWFsLXNjcm9sbGFibGUtd3JhcCB7XG4gICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgb3ZlcmZsb3cteTogaGlkZGVuO1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgfVxuXG4gICAgLy8gTWFzdGVyIHJvd1xuICAgIC5rLW1hc3Rlci1yb3cgLmstZ3JvdXAtY2VsbCB7XG4gICAgICAgIGJvcmRlci1ibG9jay13aWR0aDogMDtcbiAgICAgICAgYm9yZGVyLWlubGluZS1lbmQtd2lkdGg6IHZhciggLS1rZW5kby1ncmlkLWJvcmRlci13aWR0aCwgI3ska2VuZG8tZ3JpZC1ib3JkZXItd2lkdGh9ICk7XG4gICAgfVxuXG4gICAgLmstbWFzdGVyLXJvdy5rLWV4cGFuZGVkIHRkLFxuICAgIC5rLW1hc3Rlci1yb3cuay1leHBhbmRlZCAuay10YWJsZS10ZCB7XG4gICAgICAgIGJvcmRlci1ibG9jay1lbmQtd2lkdGg6IDA7XG4gICAgfVxuXG4gICAgLmstbWFzdGVyLXJvdzpoYXMoLmstaGllcmFyY2h5LWNlbGxbYXJpYS1leHBhbmRlZD1cInRydWVcIl0pIHRkLFxuICAgIC5rLW1hc3Rlci1yb3c6aGFzKC5rLWhpZXJhcmNoeS1jZWxsW2FyaWEtZXhwYW5kZWQ9XCJ0cnVlXCJdKSAuay10YWJsZS10ZCB7XG4gICAgICAgIGJvcmRlci1ibG9jay1lbmQtd2lkdGg6IDA7XG4gICAgfVxuXG4gICAgLmstbWFzdGVyLXJvdzpsYXN0LWNoaWxkIHRkLFxuICAgIC5rLW1hc3Rlci1yb3c6bGFzdC1jaGlsZCAuay10YWJsZS10ZCB7XG4gICAgICAgIGJvcmRlci1ibG9jay1lbmQtd2lkdGg6IHZhciggLS1rZW5kby1ncmlkLWJvcmRlci13aWR0aCwgI3ska2VuZG8tZ3JpZC1ib3JkZXItd2lkdGh9ICk7XG4gICAgfVxuXG5cblxuICAgIC8vIEVkaXQgcm93XG4gICAgLmstZ3JpZCAuay1lZGl0LWNlbGwsXG4gICAgLmstZ3JpZCAuay1jb21tYW5kLWNlbGwsXG4gICAgLmstZ3JpZCAuay1ncmlkLWVkaXQtcm93IHRkLFxuICAgIC5rLWdyaWQgLmstZ3JpZC1lZGl0LXJvdyAuay10YWJsZS10ZCB7XG4gICAgICAgIHBhZGRpbmctaW5saW5lOiB2YXIoIC0tSU5URVJOQUwtLWtlbmRvLWdyaWQtZWRpdC1jZWxsLXBhZGRpbmcteCwgMCApO1xuICAgICAgICBwYWRkaW5nLWJsb2NrOiB2YXIoIC0tSU5URVJOQUwtLWtlbmRvLWdyaWQtZWRpdC1jZWxsLXBhZGRpbmcteSwgMCApO1xuICAgICAgICB0ZXh0LW92ZXJmbG93OiBjbGlwO1xuICAgIH1cblxuICAgIC5rLWdyaWQgLmstZWRpdC1jZWxsLFxuICAgIC5rLWdyaWQgLmstZ3JpZC1lZGl0LXJvdyB0ZCxcbiAgICAuay1ncmlkIC5rLWdyaWQtZWRpdC1yb3cgLmstdGFibGUtdGQge1xuXG4gICAgICAgID4gaW5wdXQ6bm90KFt0eXBlPVwiY2hlY2tib3hcIl0sIFt0eXBlPVwicmFkaW9cIl0pLFxuICAgICAgICA+IHNlbGVjdCxcbiAgICAgICAgPiAuay13aWRnZXQ6bm90KC5rLXN3aXRjaCkge1xuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICAgICAgICAgICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICAgICAgfVxuICAgICAgICA+IC5rLXJhZGlvLFxuICAgICAgICA+IC5rLWNoZWNrYm94LFxuICAgICAgICA+IC5rLXJhZGlvLXdyYXAsXG4gICAgICAgID4gLmstY2hlY2tib3gtd3JhcCB7XG4gICAgICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLmstZ3JpZCAuay1jb21tYW5kLWNlbGwgPiAuay1idXR0b24ge1xuICAgICAgICBtYXJnaW4taW5saW5lLWVuZDogdmFyKCAtLWtlbmRvLWdyaWQtY29tbWFuZC1jZWxsLWJ1dHRvbi1zcGFjaW5nLCAjeyRrZW5kby1ncmlkLWNvbW1hbmQtY2VsbC1idXR0b24tc3BhY2luZ30gKTtcbiAgICAgICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcblxuICAgICAgICAmOmxhc3QtY2hpbGQge1xuICAgICAgICAgICAgbWFyZ2luLWlubGluZS1lbmQ6IHVuc2V0O1xuICAgICAgICB9XG4gICAgfVxuXG5cbiAgICAvLyBSZXNpemUgaGFuZGxlXG4gICAgLmstZ3JpZCA+IC5rLXJlc2l6ZS1oYW5kbGUsXG4gICAgLmstZ3JpZC1oZWFkZXIgLmstcmVzaXplLWhhbmRsZSB7XG4gICAgICAgIGhlaWdodDogMjVweDtcbiAgICAgICAgY3Vyc29yOiBjb2wtcmVzaXplO1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHotaW5kZXg6IDI7XG4gICAgfVxuXG5cbiAgICAvLyBTZWxlY3Rpb24gQWdncmVnYXRlc1xuICAgIC5rLXNlbGVjdGlvbi1hZ2dyZWdhdGVzIHtcbiAgICAgICAgcGFkZGluZy1pbmxpbmU6IHZhciggLS1JTlRFUk5BTC0ta2VuZG8tZ3JpZC1zZWxlY3Rpb24tYWdncmVnYXRlcy1wYWRkaW5nLXgsIDAgKTtcbiAgICAgICAgcGFkZGluZy1ibG9jazogdmFyKCAtLUlOVEVSTkFMLS1rZW5kby1ncmlkLXNlbGVjdGlvbi1hZ2dyZWdhdGVzLXBhZGRpbmcteSwgMCApO1xuICAgICAgICBib3JkZXItd2lkdGg6IHZhciggLS1rZW5kby1ncmlkLXNlbGVjdGlvbi1hZ2dyZWdhdGVzLWJvcmRlci13aWR0aCwgI3ska2VuZG8tZ3JpZC1zZWxlY3Rpb24tYWdncmVnYXRlcy1ib3JkZXItd2lkdGh9ICkgMCAwO1xuICAgICAgICBib3JkZXItc3R5bGU6IHNvbGlkO1xuICAgICAgICBsaW5lLWhlaWdodDogdmFyKCAtLWtlbmRvLWdyaWQtc2VsZWN0aW9uLWFnZ3JlZ2F0ZXMtbGluZS1oZWlnaHQsICN7JGtlbmRvLWdyaWQtc2VsZWN0aW9uLWFnZ3JlZ2F0ZXMtbGluZS1oZWlnaHR9ICk7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XG4gICAgICAgIGdhcDogdmFyKCAtLWtlbmRvLWdyaWQtc2VsZWN0aW9uLWFnZ3JlZ2F0ZXMtc3BhY2luZywgI3ska2VuZG8tZ3JpZC1zZWxlY3Rpb24tYWdncmVnYXRlcy1zcGFjaW5nfSApO1xuICAgIH1cbiAgICAuay1zZWxlY3Rpb24tYWdncmVnYXRlcy1pdGVtLXZhbHVlIHtcbiAgICAgICAgZm9udC13ZWlnaHQ6IHZhciggLS1rZW5kby1ncmlkLXNlbGVjdGlvbi1hZ2dyZWdhdGVzLWZvbnQtd2VpZ2h0LCAjeyRrZW5kby1ncmlkLXNlbGVjdGlvbi1hZ2dyZWdhdGVzLWZvbnQtd2VpZ2h0fSApO1xuICAgIH1cblxuXG4gICAgLy8gUGFnZXJcbiAgICAuay1ncmlkLXBhZ2VyIHtcbiAgICAgICAgYm9yZGVyLXdpZHRoOiAxcHggMCAwO1xuICAgICAgICBib3JkZXItY29sb3I6IGluaGVyaXQ7XG4gICAgICAgIGZvbnQtc2l6ZTogaW5oZXJpdDtcbiAgICB9XG4gICAgLmstZ3JpZC1wYWdlci10b3Age1xuICAgICAgICBib3JkZXItd2lkdGg6IDAgMCAxcHg7XG4gICAgfVxuXG4gICAgLmstZ3JpZC12aXJ0dWFsIC5rLWdyaWQtY29udGVudCB7XG4gICAgICAgIC5rLWdyaWQtdGFibGUtd3JhcCB7XG4gICAgICAgICAgICBmbG9hdDogbGVmdDtcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICB9XG5cbiAgICAgICAgLmstZ3JpZC10YWJsZSB7XG4gICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgICAgICBmbG9hdDogbGVmdDtcbiAgICAgICAgICAgIHotaW5kZXg6IDE7XG4gICAgICAgIH1cblxuICAgICAgICA+IC5rLWhlaWdodC1jb250YWluZXIge1xuICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgICAgIH1cblxuICAgICAgICAmOjphZnRlciB7XG4gICAgICAgICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICBjbGVhcjogYm90aDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5rLXdpZHRoLWNvbnRhaW5lciB7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgdmlzaWJpbGl0eTogaGlkZGVuO1xuICAgIH1cblxuICAgIC5rLXdpZHRoLWNvbnRhaW5lciBkaXYge1xuICAgICAgICBoZWlnaHQ6IDFweDtcbiAgICB9XG5cbiAgICAuay1ncmlkLWFkZC1yb3cgdGQsXG4gICAgLmstZ3JpZC1hZGQtcm93IC5rLXRhYmxlLXRkIHtcbiAgICAgICAgYm9yZGVyLWJvdHRvbS1zdHlsZTogc29saWQ7XG4gICAgICAgIGJvcmRlci1ib3R0b20td2lkdGg6IDFweDtcbiAgICB9XG5cblxuICAgIC8vIExvY2tlZCBjb2x1bW5zXG4gICAgLmstZ3JpZC1sb2NrZWRjb2x1bW5zIHtcbiAgICAgICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgICB9XG5cbiAgICAuay1ncmlkLWNvbnRlbnQsXG4gICAgLmstZ3JpZC1jb250ZW50LWxvY2tlZCB7XG4gICAgICAgIHdoaXRlLXNwYWNlOiBub3JtYWw7XG4gICAgfVxuXG4gICAgLmstZ3JpZC1jb250ZW50LWxvY2tlZCxcbiAgICAuay1ncmlkLWZvb3Rlci1sb2NrZWQsXG4gICAgLmstZ3JpZC1oZWFkZXItbG9ja2VkIHtcbiAgICAgICAgZmxleDogMCAwIGF1dG87XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgdmVydGljYWwtYWxpZ246IHRvcDtcbiAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICBib3JkZXItc3R5bGU6IHNvbGlkO1xuICAgICAgICBib3JkZXItYmxvY2std2lkdGg6IDA7XG4gICAgICAgIGJvcmRlci1pbmxpbmUtc3RhcnQtd2lkdGg6IDA7XG4gICAgICAgIGJvcmRlci1pbmxpbmUtZW5kLXdpZHRoOiAxcHg7XG4gICAgICAgIGJveC1zaXppbmc6IGNvbnRlbnQtYm94O1xuXG4gICAgICAgIHRkLFxuICAgICAgICAuay10YWJsZS10ZCxcbiAgICAgICAgLmstdGFibGUtdGgge1xuICAgICAgICAgICAgYm9yZGVyLWlubGluZS1zdGFydC13aWR0aDogMXB4O1xuICAgICAgICB9XG5cbiAgICAgICAgJiArIC5rLWdyaWQtY29udGVudC5rLWF1dG8tc2Nyb2xsYWJsZSB7XG4gICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgIH1cblxuICAgICAgICAuay1ncm91cGluZy1yb3cgLmstZ3JvdXAtY2VsbCxcbiAgICAgICAgLmstZ3JvdXBpbmctcm93ICsgLmstdGFibGUtcm93IC5rLWdyb3VwLWNlbGwge1xuICAgICAgICAgICAgYm9yZGVyLWlubGluZS1lbmQtd2lkdGg6IDA7XG4gICAgICAgIH1cblxuICAgICAgICAuay10YWJsZS1yb3c6bm90KC5rLWdyb3VwLWZvb3RlcikgLmstZ3JvdXAtY2VsbCB7XG4gICAgICAgICAgICBib3JkZXItYmxvY2stZW5kLXdpZHRoOiAwO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLmstZ3JpZC1jb250ZW50LFxuICAgIC5rLWdyaWQtZm9vdGVyLXdyYXAsXG4gICAgLmstZ3JpZC1oZWFkZXItd3JhcCB7XG4gICAgICAgIGZsZXg6IDEgMSBhdXRvO1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgIHZlcnRpY2FsLWFsaWduOiB0b3A7XG5cbiAgICAgICAgJi5rLWF1dG8tc2Nyb2xsYWJsZSB7XG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5rLWdyaWQtaGVhZGVyLWxvY2tlZCA+IC5rLWdyaWQtaGVhZGVyLXRhYmxlLFxuICAgIC5rLWdyaWQtaGVhZGVyLXdyYXAgPiAuay1ncmlkLWhlYWRlci10YWJsZSB7XG4gICAgICAgIG1hcmdpbi1ibG9jay1lbmQ6IC0xcHg7XG4gICAgfVxuXG4gICAgLmstZ3JpZC1oZWFkZXIgLmstdGFibGUtdGguay1ncmlkLWhlYWRlci1zdGlja3ksXG4gICAgLmstZ3JpZC1oZWFkZXIgLmstZmlsdGVyLXJvdyAuay1ncmlkLWhlYWRlci1zdGlja3ksXG4gICAgLmstZ3JpZCAuay1ncmlkLWNvbnRlbnQtc3RpY2t5LFxuICAgIC5rLWdyaWQgLmstZ3JpZC1yb3ctc3RpY2t5LFxuICAgIC5rLWdyaWQgLmstZ3JpZC1mb290ZXItc3RpY2t5IHtcbiAgICAgICAgcG9zaXRpb246IHN0aWNreTtcbiAgICAgICAgei1pbmRleDogMjtcblxuICAgICAgICAmLmstZWRpdC1jZWxsIHtcbiAgICAgICAgICAgIG92ZXJmbG93OiB2aXNpYmxlO1xuICAgICAgICAgICAgei1pbmRleDogMztcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5rLW1hc3Rlci1yb3cgLmstZ3JpZC1jb250ZW50LXN0aWNreTo6YmVmb3JlLFxuICAgIC5rLW1hc3Rlci1yb3cuay1ncmlkLXJvdy1zdGlja3kgLmstdGFibGUtdGQ6OmJlZm9yZSB7XG4gICAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgdG9wOiAwO1xuICAgICAgICBsZWZ0OiAwO1xuICAgICAgICB6LWluZGV4OiAtMTtcbiAgICB9XG5cbiAgICBrZW5kby1ncmlkIHtcbiAgICAgICAgLmstdGFibGUtcm93LmstZ3JpZC1yb3ctc3RpY2t5IHtcbiAgICAgICAgICAgIGJvcmRlcjogMDtcbiAgICAgICAgICAgIHBvc2l0aW9uOiBzdGF0aWM7XG4gICAgICAgICAgICB6LWluZGV4OiBhdXRvO1xuICAgICAgICB9XG5cbiAgICAgICAgLmstZ3JpZC1yb3ctc3RpY2t5IHRkLFxuICAgICAgICAuay1ncmlkLXJvdy1zdGlja3kgLmstdGFibGUtdGQge1xuICAgICAgICAgICAgYm9yZGVyLWJsb2NrLXN0YXJ0LXdpZHRoOiB2YXIoIC0ta2VuZG8tZ3JpZC1ib3JkZXItd2lkdGgsICN7JGtlbmRvLWdyaWQtYm9yZGVyLXdpZHRofSApO1xuICAgICAgICAgICAgYm9yZGVyLWJsb2NrLWVuZC13aWR0aDogdmFyKCAtLWtlbmRvLWdyaWQtYm9yZGVyLXdpZHRoLCAjeyRrZW5kby1ncmlkLWJvcmRlci13aWR0aH0gKTtcbiAgICAgICAgICAgIHBvc2l0aW9uOiBzdGlja3k7XG4gICAgICAgICAgICB0b3A6IGluaGVyaXQ7XG4gICAgICAgICAgICBib3R0b206IGluaGVyaXQ7XG4gICAgICAgIH1cblxuICAgICAgICAuay1ncmlkLXJvdy1zdGlja3kgdGQsXG4gICAgICAgIC5rLWdyaWQtcm93LXN0aWNreSAuay10YWJsZS10ZCB7XG4gICAgICAgICAgICB6LWluZGV4OiAyO1xuICAgICAgICB9XG5cbiAgICAgICAgLmstZ3JpZC1yb3ctc3RpY2t5IHRkLmstZ3JpZC1jb250ZW50LXN0aWNreSxcbiAgICAgICAgLmstZ3JpZC1yb3ctc3RpY2t5LmstdGFibGUtYWx0LXJvdyB0ZC5rLWdyaWQtY29udGVudC1zdGlja3ksXG4gICAgICAgIC5rLWdyaWQtcm93LXN0aWNreSAuay10YWJsZS10ZC5rLWdyaWQtY29udGVudC1zdGlja3ksXG4gICAgICAgIC5rLWdyaWQtcm93LXN0aWNreS5rLXRhYmxlLWFsdC1yb3cgLmstdGFibGUtdGQuay1ncmlkLWNvbnRlbnQtc3RpY2t5IHtcbiAgICAgICAgICAgIHotaW5kZXg6IDM7XG4gICAgICAgIH1cblxuICAgICAgICAvLyBMb2NrZWQgYW5kIHN0aWNreVxuICAgICAgICAuay1ncmlkLWhlYWRlci1sb2NrZWQgLmstdGFibGUtdGguay1ncmlkLWhlYWRlci1zdGlja3k6bGFzdC1jaGlsZCxcbiAgICAgICAgLmstZ3JpZC1jb250ZW50LWxvY2tlZCAuay10YWJsZS1yb3cgLmstZ3JpZC1jb250ZW50LXN0aWNreTpsYXN0LWNoaWxkIHtcbiAgICAgICAgICAgIGJvcmRlci1pbmxpbmUtZW5kLXdpZHRoOiAwO1xuICAgICAgICB9XG5cbiAgICAgICAgLmstZ3JpZC1oZWFkZXIgLmstZ3JpZC1jb2x1bW4tbWVudSxcbiAgICAgICAgLmstZ3JpZC1oZWFkZXIgLmstZ3JpZC1oZWFkZXItbWVudSB7XG4gICAgICAgICAgICB6LWluZGV4OiAxO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLmstZ3JpZC1jb250ZW50LXN0aWNreS5rLWdyaWQtcm93LXN0aWNreSB7XG4gICAgICAgIHotaW5kZXg6IDM7XG4gICAgfVxuXG4gICAgLmstZ3JpZCAuay1ncmlkLWhlYWRlci1zdGlja3ksXG4gICAgLmstZ3JpZCAuay1ncmlkLWNvbnRlbnQtc3RpY2t5LFxuICAgIC5rLWdyaWQgLmstZ3JpZC1mb290ZXItc3RpY2t5IHtcbiAgICAgICAgYm9yZGVyLWlubGluZS1lbmQtd2lkdGg6IHZhciggLS1rZW5kby1ncmlkLXN0aWNreS1jZWxsLWJvcmRlci13aWR0aCwgI3ska2VuZG8tZ3JpZC1zdGlja3ktY2VsbC1ib3JkZXItd2lkdGh9ICk7XG5cbiAgICAgICAgJjpub3QoW3N0eWxlKj1cImRpc3BsYXk6IG5vbmVcIl0pICsgdGQsXG4gICAgICAgICY6bm90KFtzdHlsZSo9XCJkaXNwbGF5OiBub25lXCJdKSArIC5rLXRhYmxlLXRkLFxuICAgICAgICAmOm5vdChbc3R5bGUqPVwiZGlzcGxheTogbm9uZVwiXSkgKyAuay10YWJsZS10aCB7XG4gICAgICAgICAgICBib3JkZXItaW5saW5lLXN0YXJ0LXdpZHRoOiAwO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLmstZ3JpZCAuay1ncmlkLXJvdy1zdGlja3kge1xuICAgICAgICBib3JkZXItYmxvY2stc3RhcnQtd2lkdGg6IHZhciggLS1rZW5kby1ncmlkLWJvcmRlci13aWR0aCwgI3ska2VuZG8tZ3JpZC1ib3JkZXItd2lkdGh9ICk7XG4gICAgICAgIGJvcmRlci1ibG9jay1lbmQtd2lkdGg6IHZhciggLS1rZW5kby1ncmlkLWJvcmRlci13aWR0aCwgI3ska2VuZG8tZ3JpZC1ib3JkZXItd2lkdGh9ICk7XG4gICAgfVxuXG4gICAgLmstZ3JpZC1oZWFkZXItc3RpY2t5LmstdGFibGUtdGguay1ncmlkLW5vLWxlZnQtYm9yZGVyLmstZmlyc3Qge1xuICAgICAgICBib3JkZXItaW5saW5lLXN0YXJ0LXdpZHRoOiAwO1xuICAgICAgICBib3JkZXItaW5saW5lLWVuZC13aWR0aDogdmFyKCAtLWtlbmRvLWdyaWQtc3RpY2t5LWNlbGwtYm9yZGVyLXdpZHRoLCAjeyRrZW5kby1ncmlkLXN0aWNreS1jZWxsLWJvcmRlci13aWR0aH0gKTtcbiAgICB9XG5cbiAgICAuay1ncmlkLmstZ3JpZC1uby1zY3JvbGxiYXIge1xuXG4gICAgICAgIC5rLWdyaWQtaGVhZGVyLXdyYXAsXG4gICAgICAgIC5rLWdyaWQtZm9vdGVyLXdyYXAge1xuICAgICAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICAgICAgYm9yZGVyLXdpZHRoOiAwO1xuICAgICAgICB9XG5cbiAgICAgICAgLmstZ3JpZC1oZWFkZXIsXG4gICAgICAgIC5rLWdyaWQtZm9vdGVyIHtcbiAgICAgICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgIH1cblxuICAgICAgICAuay1ncmlkLWNvbnRlbnQge1xuICAgICAgICAgICAgb3ZlcmZsb3cteTogYXV0bztcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5rLWdyaWQtbm9yZWNvcmRzIHtcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIH1cblxuICAgIGRpdi5rLWdyaWQtbm9yZWNvcmRzIHtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICB9XG5cbiAgICAuay1ncmlkLW5vcmVjb3Jkcy10ZW1wbGF0ZSB7XG4gICAgICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgICAgIG1hcmdpbi1ibG9jazogMDtcbiAgICAgICAgbWFyZ2luLWlubGluZTogYXV0bztcbiAgICAgICAgd2lkdGg6IDIwZW07XG4gICAgICAgIGhlaWdodDogNGVtO1xuICAgICAgICBib3JkZXI6IDFweCBzb2xpZDtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDRlbTtcbiAgICB9XG5cbiAgICAuay10YWJsZS10aCA+IC5rLWNlbGwtaW5uZXIge1xuICAgICAgICBtYXJnaW4tYmxvY2s6IGNhbGMoIHZhciggLS1JTlRFUk5BTC0ta2VuZG8tZ3JpZC1oZWFkZXItcGFkZGluZy15LCAwICkgKiAtMSApO1xuICAgICAgICBtYXJnaW4taW5saW5lOiBjYWxjKCB2YXIoIC0tSU5URVJOQUwtLWtlbmRvLWdyaWQtaGVhZGVyLXBhZGRpbmcteCwgMCApICogLTEgKTtcbiAgICB9XG5cbiAgICAuay1maWx0ZXJhYmxlIHtcbiAgICAgICAgPiAuay1jZWxsLWlubmVyIHtcbiAgICAgICAgICAgIC5rLWxpbmsge1xuICAgICAgICAgICAgICAgIHBhZGRpbmctaW5saW5lLWVuZDogMDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5rLWNlbGwtaW5uZXIge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBmbGV4LWZsb3c6IHJvdyBub3dyYXA7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogaW5oZXJpdDtcbiAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcblxuICAgICAgICA+IC5rLWxpbmsge1xuICAgICAgICAgICAgcGFkZGluZy1pbmxpbmU6IHZhciggLS1JTlRFUk5BTC0ta2VuZG8tZ3JpZC1oZWFkZXItcGFkZGluZy14LCAwICk7XG4gICAgICAgICAgICBwYWRkaW5nLWJsb2NrOiB2YXIoIC0tSU5URVJOQUwtLWtlbmRvLWdyaWQtaGVhZGVyLXBhZGRpbmcteSwgMCApO1xuICAgICAgICAgICAgd2lkdGg6IGF1dG87XG4gICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAgZmxleC1mbG93OiByb3cgbm93cmFwO1xuICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogaW5oZXJpdDtcbiAgICAgICAgICAgIGZsZXg6IDE7XG4gICAgICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xuXG4gICAgICAgICAgICA+IC5rLWljb24ge1xuICAgICAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgICAgICAgICBmbGV4LXNocmluazogMDtcbiAgICAgICAgICAgIH1cblxuICAgICAgICB9XG5cbiAgICAgICAgLmstc29ydC1vcmRlciB7XG4gICAgICAgICAgICBmbGV4LXNocmluazogMDtcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiBub3JtYWw7XG4gICAgICAgIH1cblxuICAgICAgICAuay1ncmlkLWZpbHRlcixcbiAgICAgICAgLmstaGVhZGVyLWNvbHVtbi1tZW51LFxuICAgICAgICAuay1ncmlkLWhlYWRlci1tZW51IHtcbiAgICAgICAgICAgIHBvc2l0aW9uOiBzdGF0aWM7XG4gICAgICAgICAgICBtYXJnaW4taW5saW5lLWVuZDogdmFyKCAtLWtlbmRvLWdyaWQtaGVhZGVyLW1lbnUtc3BhY2luZywgI3ska2VuZG8tZ3JpZC1oZWFkZXItbWVudS1zcGFjaW5nfSApO1xuICAgICAgICB9XG5cbiAgICAgICAgLmstZ3JpZC1maWx0ZXIsXG4gICAgICAgIC5rLWhlYWRlci1jb2x1bW4tbWVudSxcbiAgICAgICAgLmstZ3JpZC1oZWFkZXItbWVudSxcbiAgICAgICAgLmstaGllcmFyY2h5LWNlbGwgLmstaWNvbiB7XG4gICAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgICAgICBmbGV4LXNocmluazogMDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5rLWNvbHVtbi10aXRsZSB7XG4gICAgICAgIG1pbi13aWR0aDogMDtcbiAgICAgICAgdGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7XG4gICAgICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gICAgICAgIGZsZXgtc2hyaW5rOiAxO1xuICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIH1cblxuICAgIC8vIEdyaWQgU2l6ZXNcbiAgICBAZWFjaCAkc2l6ZSwgJHNpemUtcHJvcHMgaW4gJGtlbmRvLWdyaWQtc2l6ZXMge1xuICAgICAgICAkX2hlYWRlci1wYWRkaW5nLXg6IG1hcC5nZXQoICRzaXplLXByb3BzLCBoZWFkZXItcGFkZGluZy14ICk7XG4gICAgICAgICRfaGVhZGVyLXBhZGRpbmcteTogbWFwLmdldCggJHNpemUtcHJvcHMsIGhlYWRlci1wYWRkaW5nLXkgKTtcbiAgICAgICAgJF9ncm91cGluZy1oZWFkZXItcGFkZGluZy14OiBtYXAuZ2V0KCAkc2l6ZS1wcm9wcywgZ3JvdXBpbmctaGVhZGVyLXBhZGRpbmcteCApO1xuICAgICAgICAkX2dyb3VwaW5nLWhlYWRlci1wYWRkaW5nLXk6IG1hcC5nZXQoICRzaXplLXByb3BzLCBncm91cGluZy1oZWFkZXItcGFkZGluZy15ICk7XG4gICAgICAgICRfY2VsbC1wYWRkaW5nLXg6IG1hcC5nZXQoICRzaXplLXByb3BzLCBjZWxsLXBhZGRpbmcteCApO1xuICAgICAgICAkX2NlbGwtcGFkZGluZy15OiBtYXAuZ2V0KCAkc2l6ZS1wcm9wcywgY2VsbC1wYWRkaW5nLXkgKTtcbiAgICAgICAgJF9maWx0ZXItY2VsbC1wYWRkaW5nLXg6IG1hcC5nZXQoICRzaXplLXByb3BzLCBmaWx0ZXItY2VsbC1wYWRkaW5nLXggKTtcbiAgICAgICAgJF9maWx0ZXItY2VsbC1wYWRkaW5nLXk6IG1hcC5nZXQoICRzaXplLXByb3BzLCBmaWx0ZXItY2VsbC1wYWRkaW5nLXkgKTtcbiAgICAgICAgJF9lZGl0LWNlbGwtcGFkZGluZy14OiBtYXAuZ2V0KCAkc2l6ZS1wcm9wcywgZWRpdC1jZWxsLXBhZGRpbmcteCApO1xuICAgICAgICAkX2VkaXQtY2VsbC1wYWRkaW5nLXk6IG1hcC5nZXQoICRzaXplLXByb3BzLCBlZGl0LWNlbGwtcGFkZGluZy15ICk7XG4gICAgICAgICRfYnV0dG9uLXBhZGRpbmcteTogbWFwLmdldCggJHNpemUtcHJvcHMsIGJ1dHRvbi1wYWRkaW5nLXkgKTtcbiAgICAgICAgJF9idXR0b24tY2FsYy1zaXplOiBtYXAuZ2V0KCAkc2l6ZS1wcm9wcywgYnV0dG9uLWNhbGMtc2l6ZSApO1xuICAgICAgICAkX2J1dHRvbi1saW5lLWhlaWdodDogbWFwLmdldCggJHNpemUtcHJvcHMsIGJ1dHRvbi1saW5lLWhlaWdodCApO1xuICAgICAgICAkX2dyb3VwLWRyb3BjbHVlLWhlaWdodDogbWFwLmdldCggJHNpemUtcHJvcHMsIGdyb3VwLWRyb3BjbHVlLWhlaWdodCApO1xuICAgICAgICAkX3NlbGVjdGlvbi1hZ2dyZWdhdGVzLXBhZGRpbmcteDogbWFwLmdldCggJHNpemUtcHJvcHMsIHNlbGVjdGlvbi1hZ2dyZWdhdGVzLXBhZGRpbmcteCApO1xuICAgICAgICAkX3NlbGVjdGlvbi1hZ2dyZWdhdGVzLXBhZGRpbmcteTogbWFwLmdldCggJHNpemUtcHJvcHMsIHNlbGVjdGlvbi1hZ2dyZWdhdGVzLXBhZGRpbmcteSApO1xuXG4gICAgICAgIC5rLWdyaWQgLmstZ3JpZC0jeyRzaXplfSxcbiAgICAgICAgLmstZ3JpZC0jeyRzaXplfSB7XG4gICAgICAgICAgICAtLUlOVEVSTkFMLS1rZW5kby1ncmlkLWhlYWRlci1wYWRkaW5nLXg6IHZhciggLS1rZW5kby1ncmlkLWhlYWRlci1wYWRkaW5nLXgtI3skc2l6ZX0sICN7JF9oZWFkZXItcGFkZGluZy14fSApO1xuICAgICAgICAgICAgLS1JTlRFUk5BTC0ta2VuZG8tZ3JpZC1oZWFkZXItcGFkZGluZy15OiB2YXIoIC0ta2VuZG8tZ3JpZC1oZWFkZXItcGFkZGluZy15LSN7JHNpemV9LCAjeyRfaGVhZGVyLXBhZGRpbmcteX0gKTtcbiAgICAgICAgICAgIC0tSU5URVJOQUwtLWtlbmRvLWdyaWQtZ3JvdXBpbmctaGVhZGVyLXBhZGRpbmcteDogdmFyKCAtLWtlbmRvLWdyaWQtZ3JvdXBpbmctaGVhZGVyLXBhZGRpbmcteC0jeyRzaXplfSwgI3skX2dyb3VwaW5nLWhlYWRlci1wYWRkaW5nLXh9ICk7XG4gICAgICAgICAgICAtLUlOVEVSTkFMLS1rZW5kby1ncmlkLWdyb3VwaW5nLWhlYWRlci1wYWRkaW5nLXk6IHZhciggLS1rZW5kby1ncmlkLWdyb3VwaW5nLWhlYWRlci1wYWRkaW5nLXktI3skc2l6ZX0sICN7JF9ncm91cGluZy1oZWFkZXItcGFkZGluZy15fSApO1xuICAgICAgICAgICAgLS1JTlRFUk5BTC0ta2VuZG8tZ3JpZC1jZWxsLXBhZGRpbmcteDogdmFyKCAtLWtlbmRvLWdyaWQtY2VsbC1wYWRkaW5nLXgtI3skc2l6ZX0sICN7JF9jZWxsLXBhZGRpbmcteH0gKTtcbiAgICAgICAgICAgIC0tSU5URVJOQUwtLWtlbmRvLWdyaWQtY2VsbC1wYWRkaW5nLXk6IHZhciggLS1rZW5kby1ncmlkLWNlbGwtcGFkZGluZy15LSN7JHNpemV9LCAjeyRfY2VsbC1wYWRkaW5nLXl9ICk7XG4gICAgICAgICAgICAtLUlOVEVSTkFMLS1rZW5kby1ncmlkLWZpbHRlci1jZWxsLXBhZGRpbmcteDogdmFyKCAtLWtlbmRvLWdyaWQtZmlsdGVyLWNlbGwtcGFkZGluZy14LSN7JHNpemV9LCAjeyRfZmlsdGVyLWNlbGwtcGFkZGluZy14fSApO1xuICAgICAgICAgICAgLS1JTlRFUk5BTC0ta2VuZG8tZ3JpZC1maWx0ZXItY2VsbC1wYWRkaW5nLXk6IHZhciggLS1rZW5kby1ncmlkLWZpbHRlci1jZWxsLXBhZGRpbmcteS0jeyRzaXplfSwgI3skX2ZpbHRlci1jZWxsLXBhZGRpbmcteX0gKTtcbiAgICAgICAgICAgIC0tSU5URVJOQUwtLWtlbmRvLWdyaWQtZWRpdC1jZWxsLXBhZGRpbmcteDogdmFyKCAtLWtlbmRvLWdyaWQtZWRpdC1jZWxsLXBhZGRpbmcteC0jeyRzaXplfSwgI3skX2VkaXQtY2VsbC1wYWRkaW5nLXh9ICk7XG4gICAgICAgICAgICAtLUlOVEVSTkFMLS1rZW5kby1ncmlkLWVkaXQtY2VsbC1wYWRkaW5nLXk6IHZhciggLS1rZW5kby1ncmlkLWVkaXQtY2VsbC1wYWRkaW5nLXktI3skc2l6ZX0sICN7JF9lZGl0LWNlbGwtcGFkZGluZy15fSApO1xuICAgICAgICAgICAgLS1JTlRFUk5BTC0ta2VuZG8tYnV0dG9uLXBhZGRpbmcteTogdmFyKCAtLWtlbmRvLWJ1dHRvbi1wYWRkaW5nLXktI3skc2l6ZX0sICN7JF9idXR0b24tcGFkZGluZy15fSApO1xuICAgICAgICAgICAgLS1JTlRFUk5BTC0ta2VuZG8tYnV0dG9uLWNhbGMtc2l6ZTogdmFyKCAtLWtlbmRvLWJ1dHRvbi1jYWxjLXNpemUtI3skc2l6ZX0sICN7JF9idXR0b24tY2FsYy1zaXplfSApO1xuICAgICAgICAgICAgLS1JTlRFUk5BTC0ta2VuZG8tYnV0dG9uLWxpbmUtaGVpZ2h0OiB2YXIoIC0ta2VuZG8tYnV0dG9uLWxpbmUtaGVpZ2h0LSN7JHNpemV9LCAjeyRfYnV0dG9uLWxpbmUtaGVpZ2h0fSApO1xuICAgICAgICAgICAgLS1JTlRFUk5BTC0ta2VuZG8tZ3JpZC1ncm91cC1kcm9wLWhpbnQtaGVpZ2h0OiB2YXIoIC0ta2VuZG8tZ3JvdXAtZHJvcGNsdWUtaGVpZ2h0LSN7JHNpemV9LCAjeyRfZ3JvdXAtZHJvcGNsdWUtaGVpZ2h0fSApO1xuICAgICAgICAgICAgLS1JTlRFUk5BTC0ta2VuZG8tZ3JpZC1zZWxlY3Rpb24tYWdncmVnYXRlcy1wYWRkaW5nLXg6IHZhciggLS1rZW5kby1ncmlkLXNlbGVjdGlvbi1hZ2dyZWdhdGVzLXBhZGRpbmcteC0jeyRzaXplfSwgI3skX3NlbGVjdGlvbi1hZ2dyZWdhdGVzLXBhZGRpbmcteH0gKTtcbiAgICAgICAgICAgIC0tSU5URVJOQUwtLWtlbmRvLWdyaWQtc2VsZWN0aW9uLWFnZ3JlZ2F0ZXMtcGFkZGluZy15OiB2YXIoIC0ta2VuZG8tZ3JpZC1zZWxlY3Rpb24tYWdncmVnYXRlcy1wYWRkaW5nLXktI3skc2l6ZX0sICN7JF9zZWxlY3Rpb24tYWdncmVnYXRlcy1wYWRkaW5nLXl9ICk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBQREYgZXhwb3J0XG4gICAgLmstbG9hZGluZy1wZGYtbWFzayB7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgdG9wOiAwO1xuICAgICAgICBsZWZ0OiAwO1xuICAgICAgICB6LWluZGV4OiAxMDA7XG5cbiAgICAgICAgPiAuay1pLWxvYWRpbmcge1xuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgdG9wOiA1MCU7XG4gICAgICAgICAgICBsZWZ0OiA1MCU7XG4gICAgICAgICAgICBmb250LXNpemU6IDY0cHg7XG4gICAgICAgIH1cblxuICAgICAgICAuay1sb2FkaW5nLXBkZi1wcm9ncmVzcyB7XG4gICAgICAgICAgICBtYXJnaW46IGF1dG87XG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICB0b3A6IDA7XG4gICAgICAgICAgICBib3R0b206IDA7XG4gICAgICAgICAgICBsZWZ0OiAwO1xuICAgICAgICAgICAgcmlnaHQ6IDA7XG4gICAgICAgIH1cblxuICAgIH1cblxuICAgIC5rLXBkZi1leHBvcnQgLmstbG9hZGluZy1wZGYtbWFzayB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxuXG4gICAgLmstZ3JpZC1wZGYtZXhwb3J0LWVsZW1lbnQge1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIGxlZnQ6IC0xMDAwMHB4O1xuICAgICAgICB0b3A6IC0xMDAwMHB4O1xuXG4gICAgICAgIC5rLWZpbHRlci1yb3cge1xuICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8vIFJlbW92ZSBHcmlkIHNjcm9sbGJhciBkdXJpbmcgYnVpbHQtaW4gZXhwb3J0XG4gICAgLmstcGRmLWV4cG9ydC1zaGFkb3cge1xuICAgICAgICAuay1ncmlkIHtcbiAgICAgICAgICAgIGZsb2F0OiBsZWZ0O1xuICAgICAgICAgICAgd2lkdGg6IGF1dG8gIWltcG9ydGFudDsgLy8gc3R5bGVsaW50LWRpc2FibGUtbGluZSBkZWNsYXJhdGlvbi1uby1pbXBvcnRhbnRcbiAgICAgICAgfVxuXG4gICAgICAgIC8vIFJlbW92ZSBhbGwgc2l6ZXMgYW5kIHNjcm9sbGluZ1xuICAgICAgICAuay1ncmlkLFxuICAgICAgICAuay1ncmlkLWNvbnRlbnQsXG4gICAgICAgIC5rLWdyaWQtY29udGVudC1sb2NrZWQge1xuICAgICAgICAgICAgaGVpZ2h0OiBhdXRvICFpbXBvcnRhbnQ7IC8vIHN0eWxlbGludC1kaXNhYmxlLWxpbmUgZGVjbGFyYXRpb24tbm8taW1wb3J0YW50XG4gICAgICAgICAgICBvdmVyZmxvdzogdmlzaWJsZTtcbiAgICAgICAgfVxuXG4gICAgICAgIC5rLWdyaWQtaGVhZGVyLWxvY2tlZCB7XG4gICAgICAgICAgICAmICsgLmstZ3JpZC1oZWFkZXItd3JhcCxcbiAgICAgICAgICAgICYgKyAuay1ncmlkLWNvbnRlbnQsXG4gICAgICAgICAgICAmICsgLmstZ3JpZC1mb290ZXItd3JhcCB7XG4gICAgICAgICAgICAgICAgd2lkdGg6IGF1dG8gIWltcG9ydGFudDsgLy8gc3R5bGVsaW50LWRpc2FibGUtbGluZSBkZWNsYXJhdGlvbi1uby1pbXBvcnRhbnRcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC8vIFJlbW92ZSBlbXB0eSBzcGFjZSByZXNlcnZlZCBhYm92ZSB0aGUgc2Nyb2xsYmFyXG4gICAgICAgIC5rLWdyaWQtaGVhZGVyLFxuICAgICAgICAuay1ncmlkW2RhdGEtcm9sZT1cImdyaWRcIl0gLmstZ3JpZC1mb290ZXIge1xuICAgICAgICAgICAgcGFkZGluZzogMCAhaW1wb3J0YW50OyAvLyBzdHlsZWxpbnQtZGlzYWJsZS1saW5lIGRlY2xhcmF0aW9uLW5vLWltcG9ydGFudFxuICAgICAgICB9XG4gICAgfVxuXG4gICAgLy8gRmlsdGVyIG1lbnVcbiAgICAuay1maWx0ZXItbWVudS1wb3B1cCB7XG4gICAgICAgIG1pbi13aWR0aDogdmFyKCAtLWtlbmRvLWdyaWQtY29sdW1uLW1lbnUtd2lkdGgsICN7JGtlbmRvLWdyaWQtY29sdW1uLW1lbnUtd2lkdGh9ICk7XG4gICAgICAgIG1heC13aWR0aDogdmFyKCAtLWtlbmRvLWdyaWQtY29sdW1uLW1lbnUtbWF4LXdpZHRoLCAjeyRrZW5kby1ncmlkLWNvbHVtbi1tZW51LW1heC13aWR0aH0gKTtcbiAgICB9XG4gICAgLmstZmlsdGVyLW1lbnUge1xuICAgICAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgIH1cbiAgICAuay1maWx0ZXItbWVudS1jb250YWluZXIge1xuICAgICAgICBwYWRkaW5nLWJsb2NrLWVuZDogdmFyKCAtLWtlbmRvLWZpbHRlci1tZW51LWNvbnRhaW5lci1wYWRkaW5nLXksICN7JGtlbmRvLWZpbHRlci1tZW51LWNvbnRhaW5lci1wYWRkaW5nLXl9ICk7XG4gICAgICAgIHBhZGRpbmctaW5saW5lOiB2YXIoIC0ta2VuZG8tZmlsdGVyLW1lbnUtY29udGFpbmVyLXBhZGRpbmcteCwgI3ska2VuZG8tZmlsdGVyLW1lbnUtY29udGFpbmVyLXBhZGRpbmcteH0gKTtcbiAgICAgICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgZmxleC1mbG93OiBjb2x1bW4gbm93cmFwO1xuICAgICAgICBhbGlnbi1pdGVtczogc3RyZXRjaDtcbiAgICAgICAgZ2FwOiB2YXIoIC0ta2VuZG8tZ3JpZC1jb2x1bW4tbWVudS1zcGFjaW5nLCAjeyRrZW5kby1ncmlkLWNvbHVtbi1tZW51LXNwYWNpbmd9ICk7XG5cbiAgICAgICAgLmstZmlsdGVyLWFuZCB7XG4gICAgICAgICAgICB3aWR0aDogbWluLWNvbnRlbnQ7XG4gICAgICAgICAgICBhbGlnbi1zZWxmOiBzdGFydDtcbiAgICAgICAgfVxuXG4gICAgICAgIC5rLWFjdGlvbnMge1xuICAgICAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICAgICAgcGFkZGluZy1ibG9jay1zdGFydDogY2FsYyggdmFyKCAtLWtlbmRvLWZpbHRlci1tZW51LWNvbnRhaW5lci1wYWRkaW5nLXksICN7JGtlbmRvLWZpbHRlci1tZW51LWNvbnRhaW5lci1wYWRkaW5nLXl9ICkgLSB2YXIoIC0ta2VuZG8tZ3JpZC1jb2x1bW4tbWVudS1zcGFjaW5nLCAjeyRrZW5kby1ncmlkLWNvbHVtbi1tZW51LXNwYWNpbmd9ICkgKTtcbiAgICAgICAgICAgIHBhZGRpbmctYmxvY2stZW5kOiAwO1xuICAgICAgICAgICAgcGFkZGluZy1pbmxpbmU6IDA7XG4gICAgICAgIH1cblxuICAgICAgICAvLyBBbmd1bGFyIHNwZWNpZmljXG4gICAgICAgIGtlbmRvLW51bWVyaWMtZmlsdGVyLW1lbnUsXG4gICAgICAgIGtlbmRvLWdyaWQtc3RyaW5nLWZpbHRlci1tZW51LFxuICAgICAgICBrZW5kby1ncmlkLWRhdGUtZmlsdGVyLW1lbnUsXG4gICAgICAgIGtlbmRvLWdyaWQtbnVtZXJpYy1maWx0ZXItbWVudSxcbiAgICAgICAga2VuZG8tZ3JpZC1maWx0ZXItbWVudS1pbnB1dC13cmFwcGVyLFxuICAgICAgICBrZW5kby10cmVlbGlzdC1zdHJpbmctZmlsdGVyLW1lbnUsXG4gICAgICAgIGtlbmRvLXRyZWVsaXN0LWRhdGUtZmlsdGVyLW1lbnUsXG4gICAgICAgIGtlbmRvLXRyZWVsaXN0LW51bWVyaWMtZmlsdGVyLW1lbnUsXG4gICAgICAgIGtlbmRvLXRyZWVsaXN0LWZpbHRlci1tZW51LWlucHV0LXdyYXBwZXIge1xuICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgIGZsZXgtZmxvdzogY29sdW1uIG5vd3JhcDtcbiAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBzdHJldGNoO1xuICAgICAgICAgICAgZ2FwOiB2YXIoIC0ta2VuZG8tZ3JpZC1jb2x1bW4tbWVudS1zcGFjaW5nLCAjeyRrZW5kby1ncmlkLWNvbHVtbi1tZW51LXNwYWNpbmd9ICk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAuay1maWx0ZXItbWVudS5rLXBvcHVwLFxuICAgIC5rLWdyaWQtZmlsdGVyLXBvcHVwLmstcG9wdXAge1xuICAgICAgICAuay1maWx0ZXItbWVudS1jb250YWluZXIge1xuICAgICAgICAgICAgbWluLXdpZHRoOiB2YXIoIC0ta2VuZG8tZ3JpZC1jb2x1bW4tbWVudS13aWR0aCwgI3ska2VuZG8tZ3JpZC1jb2x1bW4tbWVudS13aWR0aH0gKTtcbiAgICAgICAgICAgIG1heC13aWR0aDogdmFyKCAtLWtlbmRvLWdyaWQtY29sdW1uLW1lbnUtbWF4LXdpZHRoLCAjeyRrZW5kby1ncmlkLWNvbHVtbi1tZW51LW1heC13aWR0aH0gKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5rLW11bHRpY2hlY2std3JhcCB7XG4gICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgZm9udC1zaXplOiB2YXIoIC0ta2VuZG8tZ3JpZC1jb2x1bW4tbWVudS1tdWx0aWNoZWNrLWZvbnQtc2l6ZSwgI3ska2VuZG8tZ3JpZC1jb2x1bW4tbWVudS1tdWx0aWNoZWNrLWZvbnQtc2l6ZX0gKTtcbiAgICAgICAgbGluZS1oZWlnaHQ6IHZhciggLS1rZW5kby1ncmlkLWNvbHVtbi1tZW51LW11bHRpY2hlY2stbGluZS1oZWlnaHQsICN7JGtlbmRvLWdyaWQtY29sdW1uLW1lbnUtbXVsdGljaGVjay1saW5lLWhlaWdodH0gKTtcbiAgICAgICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgICAgICAgbGlzdC1zdHlsZTogbm9uZTtcblxuICAgICAgICAuay1pdGVtLFxuICAgICAgICAuay1jaGVjay1hbGwtd3JhcCB7XG4gICAgICAgICAgICBwYWRkaW5nLWJsb2NrOiB2YXIoIC0ta2VuZG8tZ3JpZC1jb2x1bW4tbWVudS1pdGVtLXBhZGRpbmcteSwgI3ska2VuZG8tZ3JpZC1jb2x1bW4tbWVudS1pdGVtLXBhZGRpbmcteX0gKTtcbiAgICAgICAgICAgIHBhZGRpbmctaW5saW5lOiB2YXIoIC0ta2VuZG8tZ3JpZC1jb2x1bW4tbWVudS1pdGVtLXBhZGRpbmcteCwgI3ska2VuZG8tZ3JpZC1jb2x1bW4tbWVudS1pdGVtLXBhZGRpbmcteH0gKTtcbiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICBmbGV4LWZsb3c6IHJvdyBub3dyYXA7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAuay1maWx0ZXItc2VsZWN0ZWQtaXRlbXMge1xuICAgICAgICBmb250LXdlaWdodDogdmFyKCAtLWtlbmRvLWZvbnQtd2VpZ2h0LWJvbGQsIG5vcm1hbCApO1xuICAgICAgICBsaW5lLWhlaWdodDogbm9ybWFsO1xuICAgICAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICAgIH1cblxuICAgIC8vIGF1dG9maXR0aW5nIHJlcXVpcmVzIGF1dG9tYXRpYyB0YWJsZSBsYXlvdXQgdG8gbWVhc3VyZSBzaXplc1xuICAgIC8vIHN0eWxlbGludC1kaXNhYmxlIGRlY2xhcmF0aW9uLW5vLWltcG9ydGFudFxuICAgIC5rLWF1dG9maXR0aW5nIHtcbiAgICAgICAgd2lkdGg6IGF1dG8gIWltcG9ydGFudDtcbiAgICAgICAgdGFibGUtbGF5b3V0OiBhdXRvICFpbXBvcnRhbnQ7XG5cbiAgICAgICAgLmstdGFibGUtdGgsXG4gICAgICAgIHRkLFxuICAgICAgICAuay10YWJsZS10ZCB7XG4gICAgICAgICAgICB3aGl0ZS1zcGFjZTogbm93cmFwICFpbXBvcnRhbnQ7XG4gICAgICAgIH1cblxuICAgICAgICAuay1kZXRhaWwtcm93IHtcbiAgICAgICAgICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgICAgICAgfVxuICAgIH1cbiAgICAvLyBzdHlsZWxpbnQtZW5hYmxlIGRlY2xhcmF0aW9uLW5vLWltcG9ydGFudFxuXG4gICAgLy8gQ29sdW1uIG1lbnVcbiAgICAuay1jb2x1bW4tbWVudS1wb3B1cCxcbiAgICAuay1ncmlkLWNvbHVtbm1lbnUtcG9wdXAge1xuICAgICAgICBtaW4td2lkdGg6IHZhciggLS1rZW5kby1ncmlkLWNvbHVtbi1tZW51LXdpZHRoLCAjeyRrZW5kby1ncmlkLWNvbHVtbi1tZW51LXdpZHRofSApO1xuICAgICAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuXG4gICAgICAgICYuay1wb3B1cCB7XG4gICAgICAgICAgICBtYXgtd2lkdGg6IHZhciggLS1rZW5kby1ncmlkLWNvbHVtbi1tZW51LW1heC13aWR0aCwgI3ska2VuZG8tZ3JpZC1jb2x1bW4tbWVudS1tYXgtd2lkdGh9ICk7XG4gICAgICAgIH1cblxuICAgICAgICAuay1hY3Rpb25zIHtcbiAgICAgICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgfVxuXG4gICAgfVxuICAgIC5rLWNvbHVtbi1tZW51IHtcbiAgICAgICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcblxuICAgICAgICAuay1tZW51Om5vdCguay1jb250ZXh0LW1lbnUpIHtcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiB2YXIoIC0ta2VuZG8tZm9udC13ZWlnaHQsIDQwMCApO1xuICAgICAgICB9XG5cbiAgICAgICAgLmstZXhwYW5kZXIge1xuICAgICAgICAgICAgYm9yZGVyOiAwO1xuICAgICAgICAgICAgYmFja2dyb3VuZDogaW5oZXJpdDtcblxuICAgICAgICAgICAgLmstY29sdW1ubWVudS1pdGVtIHtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAuay1jb2x1bW5tZW51LWluZGljYXRvcnMge1xuICAgICAgICAgICAgcGFkZGluZy1pbmxpbmU6IGstc3BhY2luZygxKTtcbiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICAgIH1cblxuICAgICAgICAvLyBUT0RPOiBDaGVjayBpZiBrLWNvbHVtbm1lbnUtaXRlbSBzaG91bGQgbm90IGJlIGZsZXggYnkgZGVmYXVsdFxuICAgICAgICAuay1jb2x1bW5tZW51LWl0ZW06aGFzKD4gLmstY29sdW1ubWVudS1pdGVtLWFjdGlvbnMsID4gLmstY29sdW1ubWVudS1pbmRpY2F0b3JzKSB7XG4gICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgfVxuICAgIH1cbiAgICAuay1jb2x1bW4tbWVudS10YWJiZWQge1xuICAgICAgICBib3JkZXItcmFkaXVzOiB2YXIoIC0ta2VuZG8tdGFic3RyaXAtaXRlbS1ib3JkZXItcmFkaXVzLCAjeyRrZW5kby10YWJzdHJpcC1pdGVtLWJvcmRlci1yYWRpdXN9ICkgdmFyKCAtLWtlbmRvLXRhYnN0cmlwLWl0ZW0tYm9yZGVyLXJhZGl1cywgI3ska2VuZG8tdGFic3RyaXAtaXRlbS1ib3JkZXItcmFkaXVzfSApIDAgMDtcblxuICAgICAgICAuay10YWJzdHJpcC1pdGVtcyB7XG4gICAgICAgICAgICBtYXJnaW46IGNhbGMoIHZhciggLS1rZW5kby10YWJzdHJpcC1pdGVtLWJvcmRlci13aWR0aCwgI3ska2VuZG8tdGFic3RyaXAtaXRlbS1ib3JkZXItd2lkdGh9ICkgKiAtMSApIGNhbGMoIHZhciggLS1rZW5kby10YWJzdHJpcC1pdGVtLWJvcmRlci13aWR0aCwgI3ska2VuZG8tdGFic3RyaXAtaXRlbS1ib3JkZXItd2lkdGh9ICkgKiAtMSApIDA7XG5cbiAgICAgICAgICAgIC5rLWl0ZW0ge1xuICAgICAgICAgICAgICAgIGZsZXg6IDE7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC5rLWxpbmsge1xuICAgICAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLmstdGFic3RyaXAtY29udGVudCB7XG4gICAgICAgICAgICBwYWRkaW5nLWlubGluZTogdmFyKCAtLWtlbmRvLWdyaWQtY29sdW1uLW1lbnUtdGFiYmVkLXRhYnN0cmlwLWNvbnRlbnQtcGFkZGluZy14LCAjeyRrZW5kby1ncmlkLWNvbHVtbi1tZW51LXRhYmJlZC10YWJzdHJpcC1jb250ZW50LXBhZGRpbmcteH0gKTtcbiAgICAgICAgICAgIHBhZGRpbmctYmxvY2s6IHZhciggLS1rZW5kby1ncmlkLWNvbHVtbi1tZW51LXRhYmJlZC10YWJzdHJpcC1jb250ZW50LXBhZGRpbmcteSwgI3ska2VuZG8tZ3JpZC1jb2x1bW4tbWVudS10YWJiZWQtdGFic3RyaXAtY29udGVudC1wYWRkaW5nLXl9ICk7XG4gICAgICAgICAgICBib3JkZXItd2lkdGg6IDA7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAuay1jb2x1bW4tbGlzdCB7XG4gICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgbGlzdC1zdHlsZTogbm9uZTtcbiAgICB9XG5cbiAgICAuay1jb2x1bW4tY2hvb3Nlci10aXRsZSxcbiAgICAuay1jb2x1bW4tbGlzdC1pdGVtIHtcbiAgICAgICAgcGFkZGluZy1ibG9jazogdmFyKCAtLWtlbmRvLWdyaWQtY29sdW1uLW1lbnUtaXRlbS1wYWRkaW5nLXksICN7JGtlbmRvLWdyaWQtY29sdW1uLW1lbnUtaXRlbS1wYWRkaW5nLXl9ICk7XG4gICAgICAgIHBhZGRpbmctaW5saW5lOiB2YXIoIC0ta2VuZG8tZ3JpZC1jb2x1bW4tbWVudS1pdGVtLXBhZGRpbmcteCwgI3ska2VuZG8tZ3JpZC1jb2x1bW4tbWVudS1pdGVtLXBhZGRpbmcteH0gKTtcbiAgICB9XG5cbiAgICAuay1jb2x1bW4tbGlzdC1pdGVtIHtcbiAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBmbGV4LWZsb3c6IHJvdyBub3dyYXA7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgIGdhcDogdmFyKCAtLWtlbmRvLWdyaWQtY29sdW1uLW1lbnUtaXRlbS1nYXAsICN7JGtlbmRvLWdyaWQtY29sdW1uLW1lbnUtaXRlbS1nYXB9ICk7XG4gICAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gICAgICAgIC5rLWNoZWNrYm94LWxhYmVsIHtcbiAgICAgICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgfVxuXG4gICAgICAgICY6Zm9jdXMge1xuICAgICAgICAgICAgb3V0bGluZTogbm9uZTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5rLWNvbHVtbnMtaXRlbXMtd3JhcCB7XG4gICAgICAgIHBhZGRpbmctYmxvY2s6IHZhciggLS1rZW5kby1ncmlkLWNvbHVtbi1tZW51LWl0ZW1zLXdyYXAtcGFkZGluZy15LCAjeyRrZW5kby1ncmlkLWNvbHVtbi1tZW51LWl0ZW1zLXdyYXAtcGFkZGluZy15fSApO1xuICAgICAgICBwYWRkaW5nLWlubGluZTogdmFyKCAtLWtlbmRvLWdyaWQtY29sdW1uLW1lbnUtaXRlbXMtd3JhcC1wYWRkaW5nLXgsICN7JGtlbmRvLWdyaWQtY29sdW1uLW1lbnUtaXRlbXMtd3JhcC1wYWRkaW5nLXh9ICk7XG4gICAgfVxuXG4gICAgLmstY29sdW1ubWVudS1pdGVtIHtcbiAgICAgICAgcGFkZGluZy1ibG9jazogdmFyKCAtLWtlbmRvLWdyaWQtY29sdW1uLW1lbnUtaXRlbS1wYWRkaW5nLXksICN7JGtlbmRvLWdyaWQtY29sdW1uLW1lbnUtaXRlbS1wYWRkaW5nLXl9ICk7XG4gICAgICAgIHBhZGRpbmctaW5saW5lOiB2YXIoIC0ta2VuZG8tZ3JpZC1jb2x1bW4tbWVudS1pdGVtLXBhZGRpbmcteCwgI3ska2VuZG8tZ3JpZC1jb2x1bW4tbWVudS1pdGVtLXBhZGRpbmcteH0gKTtcbiAgICAgICAgb3V0bGluZTogMDtcbiAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xuXG4gICAgICAgID4gLmstaWNvbixcbiAgICAgICAgPiAuay1leHBhbmRlci1pbmRpY2F0b3Ige1xuICAgICAgICAgICAgbWFyZ2luLWlubGluZS1lbmQ6IHZhciggLS1rZW5kby1ncmlkLWNvbHVtbi1tZW51LWl0ZW0taWNvbi1zcGFjaW5nLCAjeyRrZW5kby1ncmlkLWNvbHVtbi1tZW51LWl0ZW0taWNvbi1zcGFjaW5nfSApO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLmstY29sdW1ubWVudS1pdGVtLXdyYXBwZXIgKyAuay1jb2x1bW5tZW51LWl0ZW0td3JhcHBlcixcbiAgICAuay1jb2x1bW4tbWVudS1mb290ZXIge1xuICAgICAgICBib3JkZXItdG9wOiAxcHggc29saWQ7XG4gICAgICAgIGJvcmRlci10b3AtY29sb3I6IHZhciggLS1rZW5kby1jb21wb25lbnQtYm9yZGVyLCBpbmhlcml0ICk7XG4gICAgfVxuXG4gICAgLmstY29sdW1ubWVudS1pdGVtLWNvbnRlbnQge1xuICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIH1cblxuICAgIC5rLWNvbHVtbi1tZW51LWdyb3VwLWhlYWRlciB7XG4gICAgICAgIHBhZGRpbmctYmxvY2s6IHZhciggLS1rZW5kby1ncmlkLWNvbHVtbi1tZW51LWdyb3VwLWhlYWRlci1wYWRkaW5nLXksICN7JGtlbmRvLWdyaWQtY29sdW1uLW1lbnUtZ3JvdXAtaGVhZGVyLXBhZGRpbmcteX0gKTtcbiAgICAgICAgcGFkZGluZy1pbmxpbmU6IHZhciggLS1rZW5kby1ncmlkLWNvbHVtbi1tZW51LWdyb3VwLWhlYWRlci1wYWRkaW5nLXgsICN7JGtlbmRvLWdyaWQtY29sdW1uLW1lbnUtZ3JvdXAtaGVhZGVyLXBhZGRpbmcteH0gKTtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgZmxleDogMCAwIGF1dG87XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgdXNlci1zZWxlY3Q6IG5vbmU7XG4gICAgfVxuXG4gICAgLmstY29sdW1uLW1lbnUtZ3JvdXAtaGVhZGVyLXRleHQge1xuICAgICAgICBib3JkZXItYm90dG9tLXdpZHRoOiB2YXIoIC0ta2VuZG8tZ3JpZC1jb2x1bW4tbWVudS1ncm91cC1oZWFkZXItYm9yZGVyLXdpZHRoLCAjeyRrZW5kby1ncmlkLWNvbHVtbi1tZW51LWdyb3VwLWhlYWRlci1ib3JkZXItd2lkdGh9ICk7XG4gICAgICAgIGJvcmRlci1ib3R0b20tc3R5bGU6IHZhciggLS1rZW5kby1ncmlkLWNvbHVtbi1tZW51LWdyb3VwLWhlYWRlci1ib3JkZXItc3R5bGUsICN7JGtlbmRvLWdyaWQtY29sdW1uLW1lbnUtZ3JvdXAtaGVhZGVyLWJvcmRlci1zdHlsZX0gKTtcbiAgICAgICAgZm9udC1zaXplOiB2YXIoIC0ta2VuZG8tZ3JpZC1jb2x1bW4tbWVudS1ncm91cC1oZWFkZXItZm9udC1zaXplLCAjeyRrZW5kby1ncmlkLWNvbHVtbi1tZW51LWdyb3VwLWhlYWRlci1mb250LXNpemV9ICk7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiB2YXIoIC0ta2VuZG8tZ3JpZC1jb2x1bW4tbWVudS1ncm91cC1oZWFkZXItbGluZS1oZWlnaHQsICN7JGtlbmRvLWdyaWQtY29sdW1uLW1lbnUtZ3JvdXAtaGVhZGVyLWxpbmUtaGVpZ2h0fSApO1xuICAgICAgICBmb250LXdlaWdodDogdmFyKCAtLWtlbmRvLWdyaWQtY29sdW1uLW1lbnUtZ3JvdXAtaGVhZGVyLWZvbnQtd2VpZ2h0LCAjeyRrZW5kby1ncmlkLWNvbHVtbi1tZW51LWdyb3VwLWhlYWRlci1mb250LXdlaWdodH0gKTtcbiAgICAgICAgdGV4dC10cmFuc2Zvcm06IHZhciggLS1rZW5kby1ncmlkLWNvbHVtbi1tZW51LWdyb3VwLWhlYWRlci10ZXh0LXRyYW5zZm9ybSwgI3ska2VuZG8tZ3JpZC1jb2x1bW4tbWVudS1ncm91cC1oZWFkZXItdGV4dC10cmFuc2Zvcm19ICk7XG4gICAgICAgIGZsZXg6IDEgMSBhdXRvO1xuICAgIH1cblxuICAgIC5rLXJ0bCAuay1ncmlkLXZpcnR1YWwgLmstZ3JpZC1jb250ZW50LFxuICAgIFtkaXI9XCJydGxcIl0gLmstZ3JpZC12aXJ0dWFsIC5rLWdyaWQtY29udGVudCxcbiAgICAuay1ydGwuay1ncmlkLXZpcnR1YWwgLmstZ3JpZC1jb250ZW50LFxuICAgIFtkaXI9XCJydGxcIl0uay1ncmlkLXZpcnR1YWwgLmstZ3JpZC1jb250ZW50IHtcblxuICAgICAgICAuay1ncmlkLXRhYmxlLXdyYXAsXG4gICAgICAgIC5rLWdyaWQtdGFibGUsXG4gICAgICAgID4gLmstaGVpZ2h0LWNvbnRhaW5lciB7XG4gICAgICAgICAgICBmbG9hdDogcmlnaHQ7XG4gICAgICAgIH1cbiAgICB9XG5cbn1cbiIsIkB1c2UgXCJzYXNzOm1hcFwiO1xuQHVzZSBcIi4uL2NvcmUvX2luZGV4LnNjc3NcIiBhcyAqO1xuQHVzZSBcIi4uL2NvcmUvc3BhY2luZy9faW5kZXguc2Nzc1wiIGFzICo7XG5cbi8vLyBUaGUgcGFkZGluZyBvZiB0aGUgaW5saW5lIEZvcm0uXG4vLy8gQGdyb3VwIGZvcm1cbiRrZW5kby1mb3JtLXNwYWNlcjogay1zcGFjaW5nKDQpICFkZWZhdWx0O1xuXG4vLy8gVGhlIGZvbnQgc2l6ZSBvZiB0aGUgRm9ybS5cbi8vLyBAZ3JvdXAgZm9ybVxuJGtlbmRvLWZvcm0tZm9udC1zaXplOiB2YXIoIC0ta2VuZG8tZm9udC1zaXplLCBpbmhlcml0ICkgIWRlZmF1bHQ7XG5cbi8vLyBUaGUgbGluZSBoZWlnaHQgb2YgdGhlIEZvcm0uXG4vLy8gQGdyb3VwIGZvcm1cbiRrZW5kby1mb3JtLWxpbmUtaGVpZ2h0OiB2YXIoIC0ta2VuZG8tbGluZS1oZWlnaHQsIG5vcm1hbCApICFkZWZhdWx0O1xuLy8vIFRoZSBsaW5lIGhlaWdodCBvZiB0aGUgRm9ybSBpbiBlbSB1bml0cy5cbi8vLyBAZ3JvdXAgZm9ybVxuJGtlbmRvLWZvcm0tbGluZS1oZWlnaHQtZW06ICRrZW5kby1saW5lLWhlaWdodC1lbSAhZGVmYXVsdDtcbi8vLyBUaGUgbGluZSBoZWlnaHQgb2YgdGhlIHNtYWxsIEZvcm0uXG4vLy8gQGdyb3VwIGZvcm1cbiRrZW5kby1mb3JtLXNtLWxpbmUtaGVpZ2h0OiB2YXIoIC0ta2VuZG8tbGluZS1oZWlnaHQtc20sIG5vcm1hbCApICFkZWZhdWx0O1xuLy8vIFRoZSBsaW5lIGhlaWdodCBvZiB0aGUgbGFyZ2UgRm9ybS5cbi8vLyBAZ3JvdXAgZm9ybVxuJGtlbmRvLWZvcm0tbGctbGluZS1oZWlnaHQ6IHZhciggLS1rZW5kby1saW5lLWhlaWdodC1sZywgbm9ybWFsICkgIWRlZmF1bHQ7XG5cbi8vLyBUaGUgbWFyZ2luIG9mIHRoZSBGb3JtIGZpZWxkc2V0LlxuLy8vIEBncm91cCBmb3JtXG4ka2VuZG8tZm9ybS1maWVsZHNldC1tYXJnaW46IDJlbSAwIDAgIWRlZmF1bHQ7XG5cbi8vLyBUaGUgcGFkZGluZyBvZiB0aGUgRm9ybSBmaWVsZHNldC5cbi8vLyBAZ3JvdXAgZm9ybVxuJGtlbmRvLWZvcm0tZmllbGRzZXQtcGFkZGluZzogay1zcGFjaW5nKDApICFkZWZhdWx0O1xuXG4vLy8gVGhlIG1hcmdpbiBvZiB0aGUgRm9ybSBsZWdlbmQuXG4vLy8gQGdyb3VwIGZvcm1cbiRrZW5kby1mb3JtLWxlZ2VuZC1tYXJnaW46IDAgMCBrLXNwYWNpbmcoMykgIWRlZmF1bHQ7XG5cbi8vLyBUaGUgcGFkZGluZyBvZiB0aGUgRm9ybSBsZWdlbmQuXG4vLy8gQGdyb3VwIGZvcm1cbiRrZW5kby1mb3JtLWxlZ2VuZC1wYWRkaW5nOiBrLXNwYWNpbmcoMCkgIWRlZmF1bHQ7XG5cbi8vLyBUaGUgYm9yZGVyIHdpZHRoIG9mIHRoZSBGb3JtIGxlZ2VuZC5cbi8vLyBAZ3JvdXAgZm9ybVxuJGtlbmRvLWZvcm0tbGVnZW5kLWJvcmRlci13aWR0aDogMCAwIGstc3BhY2luZygwLjUpICFkZWZhdWx0O1xuXG4vLy8gVGhlIGJvcmRlciBzdHlsZSBvZiB0aGUgRm9ybSBsZWdlbmQuXG4vLy8gQGdyb3VwIGZvcm1cbiRrZW5kby1mb3JtLWxlZ2VuZC1ib3JkZXItc3R5bGU6IHNvbGlkICFkZWZhdWx0O1xuXG4vLy8gVGhlIGJvcmRlciBjb2xvciBvZiB0aGUgRm9ybSBsZWdlbmQuXG4vLy8gQGdyb3VwIGZvcm1cbiRrZW5kby1mb3JtLWxlZ2VuZC1ib3JkZXItY29sb3I6IHZhciggLS1rZW5kby1jb21wb25lbnQtYm9yZGVyLCBpbml0aWFsICkgIWRlZmF1bHQ7XG5cbi8vLyBUaGUgd2lkdGggb2YgdGhlIEZvcm0gbGVnZW5kLlxuLy8vIEBncm91cCBmb3JtXG4ka2VuZG8tZm9ybS1sZWdlbmQtd2lkdGg6IDEwMCUgIWRlZmF1bHQ7XG5cbi8vLyBUaGUgZm9udCBzaXplIG9mIHRoZSBGb3JtIGxlZ2VuZC5cbi8vLyBAZ3JvdXAgZm9ybVxuJGtlbmRvLWZvcm0tbGVnZW5kLWZvbnQtc2l6ZTogdmFyKCAtLWtlbmRvLWZvbnQtc2l6ZSwgaW5oZXJpdCApICFkZWZhdWx0O1xuXG4vLy8gVGhlIHRleHQgY2FwaXRhbGl6YXRpb24gb2YgdGhlIEZvcm0gbGVnZW5kLlxuLy8vIEBncm91cCBmb3JtXG4ka2VuZG8tZm9ybS1sZWdlbmQtdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZSAhZGVmYXVsdDtcblxuXG4vLy8gVGhlIGJvdHRvbSBtYXJnaW4gb2YgdGhlIEZvcm0gbGFiZWwuXG4vLy8gQGdyb3VwIGZvcm1cbiRrZW5kby1mb3JtLWxhYmVsLW1hcmdpbi1ib3R0b206IGstc3BhY2luZygyKSAhZGVmYXVsdDtcblxuLy8vIFRoZSBmb250IHdlaWdodCBvZiB0aGUgZm9ybSBsYWJlbFxuLy8vIEBncm91cCBmb3JtXG4ka2VuZG8tZm9ybS1sYWJlbC1mb250LXdlaWdodDogdmFyKCAtLWtlbmRvLWZvbnQtd2VpZ2h0LWJvbGQsIGluaGVyaXQgKSAhZGVmYXVsdDtcblxuLy8vIFRoZSBob3Jpem9udGFsIG1hcmdpbiBvZiB0aGUgRm9ybSBidXR0b25zLlxuLy8vIEBncm91cCBmb3JtXG4ka2VuZG8tZm9ybS1idXR0b24tbWFyZ2luLXg6IGstc3BhY2luZygyKSAhZGVmYXVsdDtcblxuLy8vIFRoZSBmb250IHNpemUgb2YgdGhlIEZvcm0gaGludC5cbi8vLyBAZ3JvdXAgZm9ybVxuJGtlbmRvLWZvcm0taGludC1mb250LXNpemU6IHZhciggLS1rZW5kby1mb250LXNpemUtc20sIGluaGVyaXQgKSAhZGVmYXVsdDtcblxuLy8vIFRoZSBmb250IHN0eWxlIG9mIHRoZSBGb3JtIGhpbnQuXG4vLy8gQGdyb3VwIGZvcm1cbiRrZW5kby1mb3JtLWhpbnQtZm9udC1zdHlsZTogbm9ybWFsICFkZWZhdWx0O1xuXG4vLy8gVGhlIHRvcCBtYXJnaW4gb2YgdGhlIEZvcm0gaGludC5cbi8vLyBAZ3JvdXAgZm9ybVxuJGtlbmRvLWZvcm0taGludC1tYXJnaW4tdG9wOiBrLXNwYWNpbmcoMSkgIWRlZmF1bHQ7XG5cbi8vLyBUaGUgdGV4dCBjb2xvciBvZiB0aGUgRm9ybSBoaW50LlxuLy8vIEBncm91cCBmb3JtXG4ka2VuZG8tZm9ybS1oaW50LXRleHQ6IGlmKCRrZW5kby1lbmFibGUtY29sb3Itc3lzdGVtLCBrLWNvbG9yKCBzdWJ0bGUgKSwgay1nZXQtdGhlbWUtY29sb3ItdmFyKCBuZXV0cmFsLTEzMCApKSAhZGVmYXVsdDtcblxuLy8vIFRoZSByb3cgc3BhY2luZyBvZiB0aGUgc21hbGwgRm9ybS5cbi8vLyBAZ3JvdXAgZm9ybVxuJGtlbmRvLWZvcm0tc20tcm93cy1zcGFjaW5nOiBrLXNwYWNpbmcoMykgIWRlZmF1bHQ7XG4vLy8gVGhlIHJvdyBzcGFjaW5nIG9mIHRoZSBtZWRpdW0gRm9ybS5cbi8vLyBAZ3JvdXAgZm9ybVxuJGtlbmRvLWZvcm0tbWQtcm93cy1zcGFjaW5nOiAka2VuZG8tZm9ybS1zbS1yb3dzLXNwYWNpbmcgIWRlZmF1bHQ7XG4vLy8gVGhlIHJvdyBzcGFjaW5nIG9mIHRoZSBsYXJnZSBGb3JtLlxuLy8vIEBncm91cCBmb3JtXG4ka2VuZG8tZm9ybS1sZy1yb3dzLXNwYWNpbmc6ICRrZW5kby1mb3JtLXNtLXJvd3Mtc3BhY2luZyAhZGVmYXVsdDtcblxuLy8vIFRoZSBtYXJnaW4gb2YgdGhlIEZvcm0gc2VwYXJhdG9yLlxuLy8vIEBncm91cCBmb3JtXG4ka2VuZG8tZm9ybS1zZXBhcmF0b3ItbWFyZ2luOiBrLXNwYWNpbmcoMykgMCAwICFkZWZhdWx0O1xuXG4vLy8gVGhlIGJvcmRlciBjb2xvciBvZiB0aGUgRm9ybSBzZXBhcmF0b3IuXG4vLy8gQGdyb3VwIGZvcm1cbiRrZW5kby1mb3JtLXNlcGFyYXRvci1ib3JkZXItY29sb3I6ICRrZW5kby1mb3JtLWxlZ2VuZC1ib3JkZXItY29sb3IgIWRlZmF1bHQ7XG5cbi8vLyBUaGUgdG9wIHBhZGRpbmcgb2YgdGhlIGxhYmVsIGluIHRoZSBob3Jpem9udGFsIEZvcm0uXG4vLy8gQGdyb3VwIGZvcm1cbiRrZW5kby1ob3Jpem9udGFsLWZvcm0tbGFiZWwtcGFkZGluZy10b3A6IGstc3BhY2luZygxLjUpICFkZWZhdWx0O1xuXG4vLy8gVGhlIGhvcml6b250YWwgbWFyZ2luIG9mIHRoZSBsYWJlbCBpbiB0aGUgaG9yaXpvbnRhbCBGb3JtLlxuLy8vIEBncm91cCBmb3JtXG4ka2VuZG8taG9yaXpvbnRhbC1mb3JtLWxhYmVsLW1hcmdpbi14OiBrLXNwYWNpbmcoMikgIWRlZmF1bHQ7XG5cbi8vLyBUaGUgd2lkdGggb2YgdGhlIGxhYmVsIGluIHRoZSBob3Jpem9udGFsIEZvcm0uXG4vLy8gQGdyb3VwIGZvcm1cbiRrZW5kby1ob3Jpem9udGFsLWZvcm0tbGFiZWwtd2lkdGg6IDI1JSAhZGVmYXVsdDtcblxuLy8vIFRoZSBob3Jpem9udGFsIGFsaWdubWVudCBvZiB0aGUgbGFiZWwgaW4gdGhlIGhvcml6b250YWwgRm9ybS5cbi8vLyBAZ3JvdXAgZm9ybVxuJGtlbmRvLWhvcml6b250YWwtZm9ybS1sYWJlbC1hbGlnbjogZmxleC1lbmQgIWRlZmF1bHQ7XG5cbi8vLyBUaGUgbWF4aW11bSB3aWR0aCBvZiB0aGUgZmllbGQgd3JhcCBpbiB0aGUgaG9yaXpvbnRhbCBGb3JtLlxuLy8vIEBncm91cCBmb3JtXG4ka2VuZG8taG9yaXpvbnRhbC1mb3JtLWZpZWxkLXdyYXAtbWF4LXdpZHRoOiBjYWxjKCAoIDEwMCUgLSAjeyRrZW5kby1ob3Jpem9udGFsLWZvcm0tbGFiZWwtd2lkdGh9ICkgLSAjeyRrZW5kby1ob3Jpem9udGFsLWZvcm0tbGFiZWwtbWFyZ2luLXh9ICkgIWRlZmF1bHQ7XG5cbi8vLyBUaGUgd2lkdGggb2YgdGhlIGlubGluZSBGb3JtIGVsZW1lbnQuXG4vLy8gQGdyb3VwIGZvcm1cbiRrZW5kby1pbmxpbmUtZm9ybS1lbGVtZW50LXdpZHRoOiAyNSUgIWRlZmF1bHQ7XG5cbi8vLyBUaGUgaW52YWxpZCB0ZXh0IGNvbG9yIG9mIHRoZSBGb3JtLlxuLy8vIEBncm91cCBmb3JtXG4ka2VuZG8tZm9ybXMtaW52YWxpZC1jb2xvcjogdmFyKCAtLWtlbmRvLWludmFsaWQtdGV4dCwgaW5pdGlhbCApICFkZWZhdWx0O1xuXG5cbi8vLyBUaGUgaG9yaXpvbnRhbCBtYXJnaW4gb2YgdGhlIG9wdGlvbmFsIGxhYmVsIGluIHRoZSBGb3JtLlxuLy8vIEBncm91cCBmb3JtXG4ka2VuZG8tbGFiZWwtb3B0aW9uYWwtbWFyZ2luLXg6IGstc3BhY2luZygxLjUpICFkZWZhdWx0O1xuLy8vIFRoZSBmb250IHNpemUgb2YgdGhlIG9wdGlvbmFsIGxhYmVsIGluIHRoZSBGb3JtLlxuLy8vIEBncm91cCBmb3JtXG4ka2VuZG8tbGFiZWwtb3B0aW9uYWwtZm9udC1zaXplOiB2YXIoIC0ta2VuZG8tZm9udC1zaXplLXNtLCBpbmhlcml0ICkgIWRlZmF1bHQ7XG4vLy8gVGhlIGZvbnQgc3R5bGUgb2YgdGhlIG9wdGlvbmFsIGxhYmVsIGluIHRoZSBGb3JtLlxuLy8vIEBncm91cCBmb3JtXG4ka2VuZG8tbGFiZWwtb3B0aW9uYWwtZm9udC1zdHlsZTogbm9ybWFsICFkZWZhdWx0O1xuXG5cbi8vLyBUaGUgbWFyZ2luIG9mIHRoZSBGb3JtIGZpZWxkc2V0LlxuLy8vIEBncm91cCBmb3JtXG4ka2VuZG8tZmllbGRzZXQtbWFyZ2luOiBrLXNwYWNpbmcoNy41KSAhZGVmYXVsdDtcbi8vLyBUaGUgZm9udCBzaXplIG9mIHRoZSBGb3JtIGZpZWxkc2V0LlxuLy8vIEBncm91cCBmb3JtXG4ka2VuZG8tZmllbGRzZXQtZm9udC1zaXplOiB2YXIoIC0ta2VuZG8tZm9udC1zaXplLXhsLCBpbmhlcml0ICkgIWRlZmF1bHQ7XG5cbi8vLyBUaGUgYmFja2dyb3VuZCBjb2xvciBvZiB0aGUgRm9ybSBmaWVsZHNldC5cbi8vLyBAZ3JvdXAgZm9ybVxuJGtlbmRvLWZpZWxkc2V0LWJnOiB0cmFuc3BhcmVudCAhZGVmYXVsdDtcbi8vLyBUaGUgdGV4dCBjb2xvciBvZiB0aGUgRm9ybSBmaWVsZHNldC5cbi8vLyBAZ3JvdXAgZm9ybVxuJGtlbmRvLWZpZWxkc2V0LXRleHQ6IGluaGVyaXQgIWRlZmF1bHQ7XG4vLy8gVGhlIGJvcmRlciBjb2xvciBvZiB0aGUgRm9ybSBmaWVsZHNldC5cbi8vLyBAZ3JvdXAgZm9ybVxuJGtlbmRvLWZpZWxkc2V0LWJvcmRlcjogaW5pdGlhbCAhZGVmYXVsdDtcblxuLy8vIFRoZSBiYWNrZ3JvdW5kIGNvbG9yIG9mIHRoZSBGb3JtIGxlZ2VuZC5cbi8vLyBAZ3JvdXAgZm9ybVxuJGtlbmRvLWZpZWxkc2V0LWxlZ2VuZC1iZzogdHJhbnNwYXJlbnQgIWRlZmF1bHQ7XG4vLy8gVGhlIHRleHQgY29sb3Igb2YgdGhlIEZvcm0gbGVnZW5kLlxuLy8vIEBncm91cCBmb3JtXG4ka2VuZG8tZmllbGRzZXQtbGVnZW5kLXRleHQ6IGlmKCRrZW5kby1lbmFibGUtY29sb3Itc3lzdGVtLCBrLWNvbG9yKCBzdWJ0bGUgKSwgay1nZXQtdGhlbWUtY29sb3ItdmFyKCBuZXV0cmFsLTEzMCApKSAhZGVmYXVsdDtcbi8vLyBUaGUgYm9yZGVyIGNvbG9yIG9mIHRoZSBGb3JtIGxlZ2VuZC5cbi8vLyBAZ3JvdXAgZm9ybVxuJGtlbmRvLWZpZWxkc2V0LWxlZ2VuZC1ib3JkZXI6IGluaXRpYWwgIWRlZmF1bHQ7XG5cbi8vLyBUaGUgc2l6ZXMgbWFwIGZvciB0aGUgRm9ybS5cbi8vLyBAZ3JvdXAgZm9ybVxuJGtlbmRvLWZvcm0tc2l6ZXM6IChcbiAgICBzbTogKFxuICAgICAgICBmb3JtLXJvd3Mtc3BhY2luZzogJGtlbmRvLWZvcm0tc20tcm93cy1zcGFjaW5nXG4gICAgKSxcbiAgICBtZDogKFxuICAgICAgICBmb3JtLXJvd3Mtc3BhY2luZzogJGtlbmRvLWZvcm0tbWQtcm93cy1zcGFjaW5nXG4gICAgKSxcbiAgICBsZzogKFxuICAgICAgICBmb3JtLXJvd3Mtc3BhY2luZzogJGtlbmRvLWZvcm0tbGctcm93cy1zcGFjaW5nXG4gICAgKVxuKSAhZGVmYXVsdDtcbiIsIkB1c2UgXCIuLi9jb3JlL19pbmRleC5zY3NzXCIgYXMgKjtcbkB1c2UgXCIuLi9idXR0b24vX3ZhcmlhYmxlcy5zY3NzXCIgYXMgKjtcbkB1c2UgXCIuLi9saXN0L192YXJpYWJsZXMuc2Nzc1wiIGFzICo7XG5AdXNlIFwiLi4vcG9wdXAvX3ZhcmlhYmxlcy5zY3NzXCIgYXMgKjtcbkB1c2UgXCIuLi90b29sdGlwL192YXJpYWJsZXMuc2Nzc1wiIGFzICo7XG5AdXNlIFwiLi9fdmFyaWFibGVzLnNjc3NcIiBhcyAqO1xuXG5AbWl4aW4ga2VuZG8tZ3JpZC0tdGhlbWUoKSB7XG5cbiAgICAuay1ncmlkLWhlYWRlcixcbiAgICAuay1ncmlkLWhlYWRlci13cmFwLFxuICAgIC5rLWdyb3VwaW5nLWhlYWRlcixcbiAgICAuay1ncmlkIHRkLFxuICAgIC5rLWdyaWQgLmstdGFibGUtdGQsXG4gICAgLmstZ3JpZC1mb290ZXIsXG4gICAgLmstZ3JpZC1mb290ZXItd3JhcCxcbiAgICAuay1ncmlkLWNvbnRlbnQtbG9ja2VkLFxuICAgIC5rLWdyaWQtZm9vdGVyLWxvY2tlZCxcbiAgICAuay1ncmlkLWhlYWRlci1sb2NrZWQsXG4gICAgLmstZmlsdGVyLXJvdyA+IHRkLFxuICAgIC5rLWZpbHRlci1yb3cgPiAuay10YWJsZS10ZCxcbiAgICAuay1maWx0ZXItcm93ID4gLmstdGFibGUtdGgge1xuICAgICAgICBAaW5jbHVkZSBmaWxsKFxuICAgICAgICAgICAgJGJvcmRlcjogdmFyKCAtLWtlbmRvLWdyaWQtaGVhZGVyLWJvcmRlciwgI3ska2VuZG8tZ3JpZC1oZWFkZXItYm9yZGVyfSApXG4gICAgICAgICk7XG4gICAgfVxuXG4gICAgLmstZ3JpZCAuay10YWJsZSB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IGluaGVyaXQ7XG4gICAgfVxuXG4gICAgLmstZ3JpZC1hZGQtcm93IHtcbiAgICAgICAgQGluY2x1ZGUgZmlsbChcbiAgICAgICAgICAgICRjb2xvcjogdmFyKCAtLWtlbmRvLWdyaWQtaGVhZGVyLXRleHQsICN7JGtlbmRvLWdyaWQtaGVhZGVyLXRleHR9ICksXG4gICAgICAgICAgICAkYmc6IHZhciggLS1rZW5kby1ncmlkLWhlYWRlci1iZywgI3ska2VuZG8tZ3JpZC1oZWFkZXItYmd9IClcbiAgICAgICAgKTtcbiAgICB9XG5cbiAgICAuay1ncm91cGluZy1oZWFkZXIsXG4gICAgLmstZ3JpZC1ncm91cGluZy1oZWFkZXIge1xuICAgICAgICBAaW5jbHVkZSBmaWxsKFxuICAgICAgICAgICAgdmFyKCAtLWtlbmRvLWdyaWQtZ3JvdXBpbmctaGVhZGVyLXRleHQsICN7JGtlbmRvLWdyaWQtZ3JvdXBpbmctaGVhZGVyLXRleHR9ICksXG4gICAgICAgICAgICB2YXIoIC0ta2VuZG8tZ3JpZC1ncm91cGluZy1oZWFkZXItYmcsICN7JGtlbmRvLWdyaWQtZ3JvdXBpbmctaGVhZGVyLWJnfSApLFxuICAgICAgICAgICAgdmFyKCAtLWtlbmRvLWdyaWQtZ3JvdXBpbmctaGVhZGVyLWJvcmRlciwgI3ska2VuZG8tZ3JpZC1ncm91cGluZy1oZWFkZXItYm9yZGVyfSApXG4gICAgICAgICk7XG4gICAgfVxuXG4gICAgLmstZ3JpZC1jb250ZW50IHtcbiAgICAgICAgLy8gc2V0dGluZyAuay10YWJsZS10aGlzIGJhY2tncm91bmQgY29sb3IgcmVzb2x2ZXMgZ2xpdGNoZXMgaW4gaU9TXG4gICAgICAgIEBpbmNsdWRlIGZpbGwoICRiZzogdmFyKCAtLWtlbmRvLWdyaWQtYmcsICN7JGtlbmRvLWdyaWQtYmd9ICkgKTtcbiAgICB9XG5cbiAgICAuay1ncm91cC1mb290ZXIgdGQsXG4gICAgLmstZ3JvdXBpbmctcm93IHRkLFxuICAgIC5rLWdyb3VwLWZvb3RlciAuay10YWJsZS10ZCxcbiAgICAuay1ncm91cGluZy1yb3cgLmstdGFibGUtdGQsXG4gICAgLmstdGFibGUtdGJvZHkgLmstZ3JvdXAtY2VsbCB7XG4gICAgICAgIEBpbmNsdWRlIGZpbGwoXG4gICAgICAgICAgICB2YXIoIC0ta2VuZG8tZ3JpZC1ncm91cGluZy1yb3ctdGV4dCwgI3ska2VuZG8tZ3JpZC1ncm91cGluZy1yb3ctdGV4dH0gKSxcbiAgICAgICAgICAgIHZhciggLS1rZW5kby1ncmlkLWdyb3VwaW5nLXJvdy1iZywgI3ska2VuZG8tZ3JpZC1ncm91cGluZy1yb3ctYmd9ICksXG4gICAgICAgICAgICB2YXIoIC0ta2VuZG8tZ3JpZC1ncm91cGluZy1yb3ctYm9yZGVyLCAjeyRrZW5kby1ncmlkLWdyb3VwaW5nLXJvdy1ib3JkZXJ9IClcbiAgICAgICAgKTtcbiAgICB9XG5cbiAgICAuay1ncm91cGluZy1kcm9wY2x1ZSB7XG4gICAgICAgICY6OmJlZm9yZSxcbiAgICAgICAgJjo6YWZ0ZXIge1xuICAgICAgICAgICAgQGluY2x1ZGUgZmlsbChcbiAgICAgICAgICAgICAgICAkYmc6IHZhciggLS1rZW5kby1ncmlkLWdyb3VwLWRyb3AtaGludC1iZywgI3ska2VuZG8tZ3JpZC1ncm91cC1kcm9wLWhpbnQtYmd9IClcbiAgICAgICAgICAgICk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAuay1ncmlkIHtcbiAgICAgICAgQGluY2x1ZGUgZmlsbChcbiAgICAgICAgICAgIHZhciggLS1rZW5kby1ncmlkLXRleHQsICN7JGtlbmRvLWdyaWQtdGV4dH0gKSxcbiAgICAgICAgICAgIHZhciggLS1rZW5kby1ncmlkLWJnLCAjeyRrZW5kby1ncmlkLWJnfSApLFxuICAgICAgICAgICAgdmFyKCAtLWtlbmRvLWdyaWQtYm9yZGVyLCAjeyRrZW5kby1ncmlkLWJvcmRlcn0gKVxuICAgICAgICApO1xuXG4gICAgICAgIC8vIEhvdmVyIHN0YXRlXG4gICAgICAgIC5rLXRhYmxlLXRib2R5ID4gLmstdGFibGUtcm93Om5vdCguay1kZXRhaWwtcm93KTpob3ZlcixcbiAgICAgICAgLmstdGFibGUtdGJvZHkgPiAuay10YWJsZS1yb3c6bm90KC5rLWRldGFpbC1yb3cpLmstaG92ZXIge1xuICAgICAgICAgICAgQGluY2x1ZGUgZmlsbChcbiAgICAgICAgICAgICAgICB2YXIoIC0ta2VuZG8tZ3JpZC1ob3Zlci10ZXh0LCAjeyRrZW5kby1ncmlkLWhvdmVyLXRleHR9ICksXG4gICAgICAgICAgICAgICAgdmFyKCAtLWtlbmRvLWdyaWQtaG92ZXItYmcsICN7JGtlbmRvLWdyaWQtaG92ZXItYmd9ICksXG4gICAgICAgICAgICAgICAgdmFyKCAtLWtlbmRvLWdyaWQtaG92ZXItYm9yZGVyLCAjeyRrZW5kby1ncmlkLWhvdmVyLWJvcmRlcn0gKVxuICAgICAgICAgICAgKTtcbiAgICAgICAgfVxuXG4gICAgICAgIC8vIFNlbGVjdGVkIHN0YXRlXG4gICAgICAgIHRkLmstc2VsZWN0ZWQsXG4gICAgICAgIC5rLXRhYmxlLXJvdy5rLXNlbGVjdGVkID4gdGQsXG4gICAgICAgIC5rLXRhYmxlLXRkLmstc2VsZWN0ZWQsXG4gICAgICAgIC5rLXRhYmxlLXJvdy5rLXNlbGVjdGVkID4gLmstdGFibGUtdGQge1xuICAgICAgICAgICAgQGluY2x1ZGUgZmlsbChcbiAgICAgICAgICAgICAgICB2YXIoIC0ta2VuZG8tZ3JpZC1zZWxlY3RlZC10ZXh0LCAjeyRrZW5kby1ncmlkLXNlbGVjdGVkLXRleHR9ICksXG4gICAgICAgICAgICAgICAgdmFyKCAtLWtlbmRvLWdyaWQtc2VsZWN0ZWQtYmcsICN7JGtlbmRvLWdyaWQtc2VsZWN0ZWQtYmd9ICksXG4gICAgICAgICAgICApO1xuICAgICAgICAgICAgYm9yZGVyLWJsb2NrLWNvbG9yOiB2YXIoIC0ta2VuZG8tZ3JpZC1zZWxlY3RlZC1ib3JkZXIsICN7JGtlbmRvLWdyaWQtc2VsZWN0ZWQtYm9yZGVyfSApO1xuICAgICAgICB9XG5cbiAgICAgICAgQGlmKCRrZW5kby1lbmFibGUtY29sb3Itc3lzdGVtID09IGZhbHNlKSB7XG4gICAgICAgICAgICAvLyBTZWxlY3RlZCBob3ZlciBzdGF0ZVxuICAgICAgICAgICAgLmstdGFibGUtdGJvZHkgPiAuay10YWJsZS1yb3c6bm90KC5rLWRldGFpbC1yb3cpOmhvdmVyIHRkLmstc2VsZWN0ZWQsXG4gICAgICAgICAgICAuay10YWJsZS10Ym9keSA+IC5rLXRhYmxlLXJvdzpub3QoLmstZGV0YWlsLXJvdykuay1ob3Zlci5rLXNlbGVjdGVkID4gdGQsXG4gICAgICAgICAgICAuay10YWJsZS10Ym9keSA+IC5rLXRhYmxlLXJvdzpub3QoLmstZGV0YWlsLXJvdyk6aG92ZXIgLmstdGFibGUtdGQuay1zZWxlY3RlZCxcbiAgICAgICAgICAgIC5rLXRhYmxlLXRib2R5ID4gLmstdGFibGUtcm93Om5vdCguay1kZXRhaWwtcm93KS5rLWhvdmVyLmstc2VsZWN0ZWQgPiAuay10YWJsZS10ZCxcbiAgICAgICAgICAgIC5rLXRhYmxlLXRib2R5ID4gLmstdGFibGUtcm93Om5vdCguay1kZXRhaWwtcm93KS5rLWhvdmVyLmstc2VsZWN0ZWQsXG4gICAgICAgICAgICAuay10YWJsZS10Ym9keSA+IC5rLXRhYmxlLXJvdzpub3QoLmstZGV0YWlsLXJvdykuay1ob3ZlciB0ZC5rLXNlbGVjdGVkLFxuICAgICAgICAgICAgLmstdGFibGUtdGJvZHkgPiAuay10YWJsZS1yb3c6bm90KC5rLWRldGFpbC1yb3cpLmstc2VsZWN0ZWQ6aG92ZXIgPiB0ZCxcbiAgICAgICAgICAgIC5rLXRhYmxlLXRib2R5ID4gLmstdGFibGUtcm93Om5vdCguay1kZXRhaWwtcm93KS5rLWhvdmVyIC5rLXRhYmxlLXRkLmstc2VsZWN0ZWQsXG4gICAgICAgICAgICAuay10YWJsZS10Ym9keSA+IC5rLXRhYmxlLXJvdzpub3QoLmstZGV0YWlsLXJvdykuay1zZWxlY3RlZDpob3ZlciA+IC5rLXRhYmxlLXRkIHtcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBmaWxsKFxuICAgICAgICAgICAgICAgICAgICAkY29sb3I6IHZhciggLS1rZW5kby1ncmlkLXNlbGVjdGVkLWhvdmVyLXRleHQsICN7JGtlbmRvLWdyaWQtc2VsZWN0ZWQtaG92ZXItdGV4dH0gKSxcbiAgICAgICAgICAgICAgICAgICAgJGJnOiB2YXIoIC0ta2VuZG8tZ3JpZC1zZWxlY3RlZC1ob3Zlci1iZywgI3ska2VuZG8tZ3JpZC1zZWxlY3RlZC1ob3Zlci1iZ30gKVxuICAgICAgICAgICAgICAgICk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAvLyBGb2N1c2VkIHN0YXRlXG4gICAgICAgIHRkOmZvY3VzLFxuICAgICAgICB0ZC5rLWZvY3VzLFxuICAgICAgICAuay10YWJsZS10ZDpmb2N1cyxcbiAgICAgICAgLmstdGFibGUtdGQuay1mb2N1cyxcbiAgICAgICAgLmstdGFibGUtdGg6Zm9jdXMsXG4gICAgICAgIC5rLXRhYmxlLXRoLmstZm9jdXMsXG4gICAgICAgIC5rLW1hc3Rlci1yb3cgPiB0ZDpmb2N1cyxcbiAgICAgICAgLmstZ3JvdXBpbmctcm93ID4gdGQ6Zm9jdXMsXG4gICAgICAgIC5rLWRldGFpbC1yb3cgPiB0ZDpmb2N1cyxcbiAgICAgICAgLmstZ3JvdXAtZm9vdGVyID4gdGQ6Zm9jdXMsXG4gICAgICAgIC5rLW1hc3Rlci1yb3cgPiAuay10YWJsZS10ZDpmb2N1cyxcbiAgICAgICAgLmstZ3JvdXBpbmctcm93ID4gLmstdGFibGUtdGQ6Zm9jdXMsXG4gICAgICAgIC5rLWRldGFpbC1yb3cgPiAuay10YWJsZS10ZDpmb2N1cyxcbiAgICAgICAgLmstZ3JvdXAtZm9vdGVyID4gLmstdGFibGUtdGQ6Zm9jdXMsXG4gICAgICAgIC5rLWdyaWQtcGFnZXIuay1mb2N1cyB7XG4gICAgICAgICAgICBAaW5jbHVkZSBib3gtc2hhZG93KCB2YXIoIC0ta2VuZG8tZ3JpZC1mb2N1cy1zaGFkb3csICN7JGtlbmRvLWdyaWQtZm9jdXMtc2hhZG93fSApICk7XG4gICAgICAgIH1cblxuICAgICAgICAuay1ncmlkLWZpbHRlcixcbiAgICAgICAgLmstaGVhZGVyLWNvbHVtbi1tZW51LFxuICAgICAgICAuay1ncmlkLWhlYWRlci1tZW51LFxuICAgICAgICAuay1oaWVyYXJjaHktY2VsbCAuay1pY29uIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGZpbGwoICRjb2xvcjogdmFyKCAtLWtlbmRvLWdyaWQtaGVhZGVyLXRleHQsICN7JGtlbmRvLWdyaWQtaGVhZGVyLXRleHR9ICkgKTtcbiAgICAgICAgfVxuXG4gICAgICAgIC5rLWdyb3VwaW5nLXJvdyB7XG4gICAgICAgICAgICBAaW5jbHVkZSBmaWxsKFxuICAgICAgICAgICAgICAgICRiZzogdmFyKCAtLWtlbmRvLWdyaWQtZ3JvdXBpbmctcm93LWJnLCAjeyRrZW5kby1ncmlkLWdyb3VwaW5nLXJvdy1iZ30gKVxuICAgICAgICAgICAgKTtcblxuICAgICAgICAgICAgLmstaWNvbiB7XG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgZmlsbChcbiAgICAgICAgICAgICAgICAgICAgJGNvbG9yOiB2YXIoIC0ta2VuZG8tZ3JpZC1oZWFkZXItdGV4dCwgI3ska2VuZG8tZ3JpZC1oZWFkZXItdGV4dH0gKVxuICAgICAgICAgICAgICAgICk7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC5rLWdyaWQtY29udGVudC1zdGlja3kge1xuICAgICAgICAgICAgICAgIGJvcmRlci1jb2xvcjogdmFyKCAtLWtlbmRvLWdyaWQtc3RpY2t5LWJvcmRlciwgI3ska2VuZG8tZ3JpZC1zdGlja3ktYm9yZGVyfSApO1xuICAgICAgICAgICAgICAgIGJvcmRlci10b3AtY29sb3I6IHZhciggLS1rZW5kby1ncmlkLWhlYWRlci1ib3JkZXIsICN7JGtlbmRvLWdyaWQtaGVhZGVyLWJvcmRlcn0gKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC8vIExvY2tlZCBjb2x1bW5zXG4gICAgICAgIC5rLWdyaWQtaGVhZGVyLWxvY2tlZCxcbiAgICAgICAgLmstZ3JpZC1jb250ZW50LWxvY2tlZCxcbiAgICAgICAgLmstZ3JpZC1mb290ZXItbG9ja2VkLFxuICAgICAgICAuay1ncmlkLWhlYWRlci1sb2NrZWQgLmstdGFibGUtdGgsXG4gICAgICAgIC5rLWdyaWQtY29udGVudC1sb2NrZWQgdGQsXG4gICAgICAgIC5rLWdyaWQtY29udGVudC1sb2NrZWQgLmstdGFibGUtdGQsXG4gICAgICAgIC5rLWdyaWQtZm9vdGVyLWxvY2tlZCB0ZCxcbiAgICAgICAgLmstZ3JpZC1mb290ZXItbG9ja2VkIC5rLXRhYmxlLXRkIHtcbiAgICAgICAgICAgIGJvcmRlci1pbmxpbmUtY29sb3I6IHZhciggLS1rZW5kby1ncmlkLXN0aWNreS1oZWFkZXItYm9yZGVyLCAjeyRrZW5kby1ncmlkLXN0aWNreS1oZWFkZXItYm9yZGVyfSApO1xuICAgICAgICB9XG5cbiAgICAgICAgLmstZ3JpZC1jb250ZW50LWxvY2tlZCB7XG4gICAgICAgICAgICAuay1ncm91cC1mb290ZXIgdGQsXG4gICAgICAgICAgICAuay1ncm91cC1mb290ZXIgLmstdGFibGUtdGQge1xuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGZpbGwoICRib3JkZXI6IHZhciggLS1rZW5kby1ncmlkLWhlYWRlci1ib3JkZXIsICN7JGtlbmRvLWdyaWQtaGVhZGVyLWJvcmRlcn0gKSApO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAuay1ncm91cGluZy1yb3cgKyAuay10YWJsZS1yb3cgdGQsXG4gICAgICAgICAgICAuay1ncm91cGluZy1yb3cgKyAuay10YWJsZS1yb3cgLmstdGFibGUtdGQge1xuICAgICAgICAgICAgICAgIGJvcmRlci10b3AtY29sb3I6IHZhciggLS1rZW5kby1ncmlkLWhlYWRlci1ib3JkZXIsICN7JGtlbmRvLWdyaWQtaGVhZGVyLWJvcmRlcn0gKTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLy8gU2VsZWN0ZWQgc3RhdGVcbiAgICAgICAgICAgIC5rLXNlbGVjdGVkIHRkLFxuICAgICAgICAgICAgLmstc2VsZWN0ZWQgLmstdGFibGUtdGQge1xuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGZpbGwoICRiZzogdmFyKCAtLWtlbmRvLWdyaWQtc3RpY2t5LXNlbGVjdGVkLWJnLCAjeyRrZW5kby1ncmlkLXN0aWNreS1zZWxlY3RlZC1iZ30gKSApO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAuay1zZWxlY3RlZC5rLXRhYmxlLWFsdC1yb3cgdGQsXG4gICAgICAgICAgICAuay1zZWxlY3RlZC5rLXRhYmxlLWFsdC1yb3cgLmstdGFibGUtdGQge1xuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGZpbGwoICRiZzogdmFyKCAtLWtlbmRvLWdyaWQtc3RpY2t5LXNlbGVjdGVkLWFsdC1iZywgI3ska2VuZG8tZ3JpZC1zdGlja3ktc2VsZWN0ZWQtYWx0LWJnfSApICk7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC8vIFNlbGVjdGVkIGhvdmVyXG4gICAgICAgICAgICAuay1zZWxlY3RlZDpob3ZlciB0ZCxcbiAgICAgICAgICAgIC5rLXNlbGVjdGVkLmstaG92ZXIgdGQsXG4gICAgICAgICAgICAuay1zZWxlY3RlZDpob3ZlciAuay10YWJsZS10ZCxcbiAgICAgICAgICAgIC5rLXNlbGVjdGVkLmstaG92ZXIgLmstdGFibGUtdGQge1xuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGZpbGwoICRiZzogdmFyKCAtLWtlbmRvLWdyaWQtc3RpY2t5LXNlbGVjdGVkLWhvdmVyLWJnLCAjeyRrZW5kby1ncmlkLXN0aWNreS1zZWxlY3RlZC1ob3Zlci1iZ30gKSApO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLmstZ3JpZC1oZWFkZXItbG9ja2VkIC5rLXRhYmxlLXRoIHtcbiAgICAgICAgICAgIGJvcmRlci1ib3R0b20tY29sb3I6IHZhciggLS1rZW5kby1ncmlkLWhlYWRlci1ib3JkZXIsICN7JGtlbmRvLWdyaWQtaGVhZGVyLWJvcmRlcn0gKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIGNvbC5rLXNvcnRlZCxcbiAgICAuay10YWJsZS10aC5rLXNvcnRlZCB7XG4gICAgICAgIEBpbmNsdWRlIGZpbGwoICRiZzogdmFyKCAtLWtlbmRvLWdyaWQtc29ydGVkLWJnLCAjeyRrZW5kby1ncmlkLXNvcnRlZC1iZ30gKSApO1xuICAgIH1cblxuICAgIC8vIEdyaWQgaGVhZGVyXG4gICAgLmstZ3JpZC1oZWFkZXIge1xuICAgICAgICBAaW5jbHVkZSBmaWxsKFxuICAgICAgICAgICAgdmFyKCAtLWtlbmRvLWdyaWQtaGVhZGVyLXRleHQsICN7JGtlbmRvLWdyaWQtaGVhZGVyLXRleHR9ICksXG4gICAgICAgICAgICB2YXIoIC0ta2VuZG8tZ3JpZC1oZWFkZXItYmcsICN7JGtlbmRvLWdyaWQtaGVhZGVyLWJnfSApLFxuICAgICAgICAgICAgdmFyKCAtLWtlbmRvLWdyaWQtaGVhZGVyLWJvcmRlciwgI3ska2VuZG8tZ3JpZC1oZWFkZXItYm9yZGVyfSApXG4gICAgICAgICk7XG5cbiAgICAgICAgLmstc29ydC1pY29uIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGZpbGwoIHZhciggLS1rZW5kby1ncmlkLXNvcnQtaW5kaWNhdG9yLXRleHQsICN7JGtlbmRvLWdyaWQtc29ydC1pbmRpY2F0b3ItdGV4dH0gKSApO1xuICAgICAgICB9XG5cbiAgICAgICAgLmstc29ydC1vcmRlciB7XG4gICAgICAgICAgICBAaW5jbHVkZSBmaWxsKCAkY29sb3I6IHZhciggLS1rZW5kby1ncmlkLXNvcnQtaW5kaWNhdG9yLW9yZGVyLXRleHQsICN7JGtlbmRvLWdyaWQtc29ydC1pbmRpY2F0b3Itb3JkZXItdGV4dH0gKSApO1xuICAgICAgICB9XG5cbiAgICAgICAgLmstZ3JpZC1maWx0ZXIsXG4gICAgICAgIC5rLWhlYWRlci1jb2x1bW4tbWVudSxcbiAgICAgICAgLmstZ3JpZC1oZWFkZXItbWVudSxcbiAgICAgICAgLmstaGllcmFyY2h5LWNlbGwgLmstaWNvbiB7XG4gICAgICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBmaWxsKFxuICAgICAgICAgICAgICAgICAgICAkY29sb3I6IHZhciggLS1rZW5kby1ob3Zlci10ZXh0LCBpbmhlcml0ICksXG4gICAgICAgICAgICAgICAgICAgICRiZzogdmFyKCAtLWtlbmRvLWhvdmVyLWJnLCBpbmhlcml0IClcbiAgICAgICAgICAgICAgICApO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgJjpmb2N1cyxcbiAgICAgICAgICAgICYuay1mb2N1cyB7XG4gICAgICAgICAgICAgICAgYm94LXNoYWRvdzogaW5zZXQgMCAwIDAgMnB4IGlmKCRrZW5kby1lbmFibGUtY29sb3Itc3lzdGVtLCBjb2xvci1taXgoaW4gc3JnYiwgay1jb2xvciggb24tYXBwLXN1cmZhY2UgKSAxMCUsIHRyYW5zcGFyZW50KSwgcmdiYSggJGtlbmRvLWNvbG9yLWJsYWNrLCAuMSApKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgICYuay1hY3RpdmUge1xuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGZpbGwoXG4gICAgICAgICAgICAgICAgICAgICRjb2xvcjogdmFyKCAtLWtlbmRvLXNlbGVjdGVkLXRleHQsIGluaGVyaXQgKSxcbiAgICAgICAgICAgICAgICAgICAgJGJnOiB2YXIoIC0ta2VuZG8tc2VsZWN0ZWQtYmcsIGluaGVyaXQgKVxuICAgICAgICAgICAgICAgICk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAuay10YWJsZS10aC5rLWdyaWQtaGVhZGVyLXN0aWNreSxcbiAgICAgICAgdGQuay1ncmlkLWhlYWRlci1zdGlja3ksXG4gICAgICAgIC5rLXRhYmxlLXRkLmstZ3JpZC1oZWFkZXItc3RpY2t5LFxuICAgICAgICAuay1ncmlkLWhlYWRlci1zdGlja3kuay1zb3J0ZWQge1xuICAgICAgICAgICAgQGluY2x1ZGUgZmlsbChcbiAgICAgICAgICAgICAgICAkY29sb3I6IHZhciggLS1rZW5kby1ncmlkLXN0aWNreS1oZWFkZXItdGV4dCwgI3ska2VuZG8tZ3JpZC1zdGlja3ktaGVhZGVyLXRleHR9ICksXG4gICAgICAgICAgICAgICAgJGJnOiB2YXIoIC0ta2VuZG8tZ3JpZC1zdGlja3ktaGVhZGVyLWJnLCAjeyRrZW5kby1ncmlkLXN0aWNreS1oZWFkZXItYmd9IClcbiAgICAgICAgICAgICk7XG5cbiAgICAgICAgICAgIGJvcmRlci1pbmxpbmUtY29sb3I6IHZhciggLS1rZW5kby1ncmlkLXN0aWNreS1oZWFkZXItYm9yZGVyLCAjeyRrZW5kby1ncmlkLXN0aWNreS1oZWFkZXItYm9yZGVyfSApO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLy8gR3JpZCBmb290ZXJcbiAgICAuay1ncmlkLWZvb3RlciB7XG4gICAgICAgIEBpbmNsdWRlIGZpbGwoXG4gICAgICAgICAgICB2YXIoIC0ta2VuZG8tZ3JpZC1mb290ZXItdGV4dCwgI3ska2VuZG8tZ3JpZC1mb290ZXItdGV4dH0gKSxcbiAgICAgICAgICAgIHZhciggLS1rZW5kby1ncmlkLWZvb3Rlci1iZywgI3ska2VuZG8tZ3JpZC1mb290ZXItYmd9ICksXG4gICAgICAgICAgICB2YXIoIC0ta2VuZG8tZ3JpZC1mb290ZXItYm9yZGVyLCAjeyRrZW5kby1ncmlkLWZvb3Rlci1ib3JkZXJ9IClcbiAgICAgICAgKTtcbiAgICAgICAgLmstZ3JpZC1mb290ZXItc3RpY2t5IHtcbiAgICAgICAgICAgIGJvcmRlci1pbmxpbmUtY29sb3I6IHZhciggLS1rZW5kby1ncmlkLXN0aWNreS1ib3JkZXIsICN7JGtlbmRvLWdyaWQtc3RpY2t5LWJvcmRlcn0gKTtcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHZhciggLS1rZW5kby1ncmlkLXN0aWNreS1mb290ZXItYmcsICN7JGtlbmRvLWdyaWQtc3RpY2t5LWZvb3Rlci1iZ30gKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8vIFNlbGVjdGlvbiBBZ2dyZWdhdGVzXG4gICAgLmstc2VsZWN0aW9uLWFnZ3JlZ2F0ZXMge1xuICAgICAgICBAaW5jbHVkZSBmaWxsKFxuICAgICAgICAgICAgdmFyKCAtLWtlbmRvLWdyaWQtc2VsZWN0aW9uLWFnZ3JlZ2F0ZXMtdGV4dCwgI3ska2VuZG8tZ3JpZC1zZWxlY3Rpb24tYWdncmVnYXRlcy10ZXh0fSApLFxuICAgICAgICAgICAgdmFyKCAtLWtlbmRvLWdyaWQtc2VsZWN0aW9uLWFnZ3JlZ2F0ZXMtYmcsICN7JGtlbmRvLWdyaWQtc2VsZWN0aW9uLWFnZ3JlZ2F0ZXMtYmd9ICksXG4gICAgICAgICAgICB2YXIoIC0ta2VuZG8tZ3JpZC1zZWxlY3Rpb24tYWdncmVnYXRlcy1ib3JkZXIsICN7JGtlbmRvLWdyaWQtc2VsZWN0aW9uLWFnZ3JlZ2F0ZXMtYm9yZGVyfSApXG4gICAgICAgICk7XG4gICAgfVxuXG4gICAgLy8gQ29udGVudFxuICAgIC5rLW1hc3Rlci1yb3cge1xuICAgICAgICAuay1ncmlkLWNvbnRlbnQtc3RpY2t5IHtcbiAgICAgICAgICAgIGJvcmRlci1pbmxpbmUtY29sb3I6IHZhciggLS1rZW5kby1ncmlkLXN0aWNreS1ib3JkZXIsICN7JGtlbmRvLWdyaWQtc3RpY2t5LWJvcmRlcn0gKTtcbiAgICAgICAgICAgIGJvcmRlci1ibG9jay1zdGFydC1jb2xvcjogdmFyKCAtLWtlbmRvLWdyaWQtaGVhZGVyLWJvcmRlciwgI3ska2VuZG8tZ3JpZC1oZWFkZXItYm9yZGVyfSApO1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKCAtLWtlbmRvLWdyaWQtc3RpY2t5LWJnLCAjeyRrZW5kby1ncmlkLXN0aWNreS1iZ30gKTtcbiAgICAgICAgfVxuXG4gICAgICAgIC5rLWdyaWQtcm93LXN0aWNreSxcbiAgICAgICAgJi5rLWdyaWQtcm93LXN0aWNreSA+IC5rLXRhYmxlLXRkIHtcbiAgICAgICAgICAgIGJvcmRlci1ibG9jay1jb2xvcjogdmFyKCAtLWtlbmRvLWdyaWQtc3RpY2t5LWJvcmRlciwgI3ska2VuZG8tZ3JpZC1zdGlja3ktYm9yZGVyfSApO1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKCAtLWtlbmRvLWdyaWQtc3RpY2t5LWJnLCAjeyRrZW5kby1ncmlkLXN0aWNreS1iZ30gKTtcbiAgICAgICAgfVxuXG4gICAgICAgICYuay10YWJsZS1hbHQtcm93IHtcbiAgICAgICAgICAgIC5rLWdyaWQtY29udGVudC1zdGlja3ksXG4gICAgICAgICAgICAmLmstZ3JpZC1yb3ctc3RpY2t5ID4gLmstdGFibGUtdGQsXG4gICAgICAgICAgICAuay1ncmlkLXJvdy1zdGlja3kge1xuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGZpbGwoICRiZzogdmFyKCAtLWtlbmRvLWdyaWQtc3RpY2t5LWFsdC1iZywgI3ska2VuZG8tZ3JpZC1zdGlja3ktYWx0LWJnfSApICk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAvLyBTZWxlY3RlZCBzdGF0ZVxuICAgICAgICAmLmstdGFibGUtcm93Lmstc2VsZWN0ZWQgdGQuay1ncmlkLWNvbnRlbnQtc3RpY2t5LFxuICAgICAgICAmLmstdGFibGUtcm93Lmstc2VsZWN0ZWQuay1ncmlkLXJvdy1zdGlja3kgPiAuay10YWJsZS10ZCxcbiAgICAgICAgJi5rLXRhYmxlLXJvdy5rLXNlbGVjdGVkIC5rLXRhYmxlLXRkLmstZ3JpZC1yb3ctc3RpY2t5LFxuICAgICAgICAmLmstdGFibGUtcm93IHRkLmstZ3JpZC1jb250ZW50LXN0aWNreS5rLXNlbGVjdGVkLFxuICAgICAgICAmLmstdGFibGUtcm93IC5rLXRhYmxlLXRkLmstZ3JpZC1jb250ZW50LXN0aWNreS5rLXNlbGVjdGVkIHtcbiAgICAgICAgICAgIEBpZigka2VuZG8tZW5hYmxlLWNvbG9yLXN5c3RlbSkge1xuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGZpbGwoICRiZzogdmFyKCAtLWtlbmRvLWdyaWQtc3RpY2t5LWJnLCAjeyRrZW5kby1ncmlkLXN0aWNreS1iZ30gKSApO1xuXG4gICAgICAgICAgICAgICAgJjo6YmVmb3JlIHtcbiAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgZmlsbCggJGJnOiB2YXIoIC0ta2VuZG8tZ3JpZC1zdGlja3ktc2VsZWN0ZWQtYmcsICN7JGtlbmRvLWdyaWQtc3RpY2t5LXNlbGVjdGVkLWJnfSApICk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSBAZWxzZSB7XG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgZmlsbCggJGJnOiB2YXIoIC0ta2VuZG8tZ3JpZC1zdGlja3ktc2VsZWN0ZWQtYmcsICN7JGtlbmRvLWdyaWQtc3RpY2t5LXNlbGVjdGVkLWJnfSApICk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAmLmstc2VsZWN0ZWQuay10YWJsZS1hbHQtcm93IHRkLmstZ3JpZC1jb250ZW50LXN0aWNreSxcbiAgICAgICAgJi5rLXNlbGVjdGVkLmstdGFibGUtYWx0LXJvdy5rLWdyaWQtcm93LXN0aWNreSA+IC5rLXRhYmxlLXRkLFxuICAgICAgICAmLmstc2VsZWN0ZWQuay10YWJsZS1hbHQtcm93IC5rLXRhYmxlLXRkLmstZ3JpZC1yb3ctc3RpY2t5LFxuICAgICAgICAmLmstdGFibGUtYWx0LXJvdyB0ZC5rLWdyaWQtY29udGVudC1zdGlja3kuay1zZWxlY3RlZCxcbiAgICAgICAgJi5rLXRhYmxlLWFsdC1yb3cgLmstdGFibGUtdGQuay1ncmlkLWNvbnRlbnQtc3RpY2t5Lmstc2VsZWN0ZWQge1xuICAgICAgICAgICAgQGlmKCRrZW5kby1lbmFibGUtY29sb3Itc3lzdGVtKSB7XG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgZmlsbCggJGJnOiB2YXIoIC0ta2VuZG8tZ3JpZC1zdGlja3ktYWx0LWJnLCAjeyRrZW5kby1ncmlkLXN0aWNreS1hbHQtYmd9ICkgKTtcblxuICAgICAgICAgICAgICAgICY6OmJlZm9yZSB7XG4gICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIGZpbGwoICRiZzogdmFyKCAtLWtlbmRvLWdyaWQtc3RpY2t5LXNlbGVjdGVkLWFsdC1iZywgI3ska2VuZG8tZ3JpZC1zdGlja3ktc2VsZWN0ZWQtYWx0LWJnfSApICk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSBAZWxzZSB7XG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgZmlsbCggJGJnOiB2YXIoIC0ta2VuZG8tZ3JpZC1zdGlja3ktc2VsZWN0ZWQtYWx0LWJnLCAjeyRrZW5kby1ncmlkLXN0aWNreS1zZWxlY3RlZC1hbHQtYmd9ICkgKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG5cbiAgICAgICAgLy8gSG92ZXJcbiAgICAgICAgJjpob3ZlciAuay1ncmlkLWNvbnRlbnQtc3RpY2t5LFxuICAgICAgICAmOmhvdmVyIC5rLWdyaWQtcm93LXN0aWNreSxcbiAgICAgICAgJjpob3Zlci5rLWdyaWQtcm93LXN0aWNreSA+IC5rLXRhYmxlLXRkLFxuICAgICAgICAmLmstaG92ZXIgLmstZ3JpZC1jb250ZW50LXN0aWNreSxcbiAgICAgICAgJi5rLWhvdmVyIC5rLWdyaWQtcm93LXN0aWNreSxcbiAgICAgICAgJi5rLWhvdmVyLmstZ3JpZC1yb3ctc3RpY2t5ID4gLmstdGFibGUtdGQge1xuICAgICAgICAgICAgQGluY2x1ZGUgZmlsbCggJGJnOiB2YXIoIC0ta2VuZG8tZ3JpZC1zdGlja3ktaG92ZXItYmcsICN7JGtlbmRvLWdyaWQtc3RpY2t5LWhvdmVyLWJnfSApICk7XG4gICAgICAgIH1cblxuXG4gICAgICAgIC8vIFNlbGVjdGVkIGhvdmVyXG4gICAgICAgICYuay1zZWxlY3RlZDpob3ZlciB0ZC5rLWdyaWQtY29udGVudC1zdGlja3ksXG4gICAgICAgICYuay1zZWxlY3RlZDpob3ZlciAuay10YWJsZS10ZC5rLWdyaWQtcm93LXN0aWNreSxcbiAgICAgICAgJi5rLXNlbGVjdGVkOmhvdmVyLmstZ3JpZC1yb3ctc3RpY2t5ID4gLmstdGFibGUtdGQsXG4gICAgICAgICYuay1zZWxlY3RlZC5rLWhvdmVyIHRkLmstZ3JpZC1jb250ZW50LXN0aWNreSxcbiAgICAgICAgJi5rLXNlbGVjdGVkLmstaG92ZXIgLmstdGFibGUtdGQuay1ncmlkLXJvdy1zdGlja3ksXG4gICAgICAgICYuay1zZWxlY3RlZC5rLWhvdmVyLmstZ3JpZC1yb3ctc3RpY2t5ID4gLmstdGFibGUtdGQsXG4gICAgICAgICY6aG92ZXIgdGQuay1ncmlkLWNvbnRlbnQtc3RpY2t5Lmstc2VsZWN0ZWQsXG4gICAgICAgICYuay1ob3ZlciB0ZC5rLWdyaWQtY29udGVudC1zdGlja3kuay1zZWxlY3RlZCxcbiAgICAgICAgJjpob3ZlciAuay10YWJsZS10ZC5rLWdyaWQtY29udGVudC1zdGlja3kuay1zZWxlY3RlZCxcbiAgICAgICAgJi5rLWhvdmVyIC5rLXRhYmxlLXRkLmstZ3JpZC1jb250ZW50LXN0aWNreS5rLXNlbGVjdGVkIHtcbiAgICAgICAgICAgIEBpZigka2VuZG8tZW5hYmxlLWNvbG9yLXN5c3RlbSkge1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHZhciggLS1rZW5kby1ncmlkLXN0aWNreS1ob3Zlci1iZywgI3ska2VuZG8tZ3JpZC1zdGlja3ktaG92ZXItYmd9ICk7XG5cbiAgICAgICAgICAgICAgICAmOjpiZWZvcmUge1xuICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBmaWxsKCAkYmc6IHZhciggLS1rZW5kby1ncmlkLXN0aWNreS1zZWxlY3RlZC1ob3Zlci1iZywgI3ska2VuZG8tZ3JpZC1zdGlja3ktc2VsZWN0ZWQtaG92ZXItYmd9ICkgKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9IEBlbHNlIHtcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBmaWxsKCAkYmc6IHZhciggLS1rZW5kby1ncmlkLXN0aWNreS1zZWxlY3RlZC1ob3Zlci1iZywgI3ska2VuZG8tZ3JpZC1zdGlja3ktc2VsZWN0ZWQtaG92ZXItYmd9ICkgKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5rLWdyb3VwaW5nLXJvdyB7XG4gICAgICAgIC5rLWdyaWQtY29udGVudC1zdGlja3kge1xuICAgICAgICAgICAgQGluY2x1ZGUgZmlsbCggJGJnOiB2YXIoIC0ta2VuZG8tZ3JpZC1zdGlja3ktaGVhZGVyLWJnLCAjeyRrZW5kby1ncmlkLXN0aWNreS1oZWFkZXItYmd9ICkgKTtcbiAgICAgICAgfVxuXG4gICAgICAgICY6aG92ZXIgLmstZ3JpZC1jb250ZW50LXN0aWNreSxcbiAgICAgICAgJi5rLWhvdmVyIC5rLWdyaWQtY29udGVudC1zdGlja3kge1xuICAgICAgICAgICAgQGluY2x1ZGUgZmlsbCggJGJnOiB2YXIoIC0ta2VuZG8tZ3JpZC1zdGlja3ktaG92ZXItYmcsICN7JGtlbmRvLWdyaWQtc3RpY2t5LWhvdmVyLWJnfSApICk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBDb2x1bW4vRmlsdGVyIE1lbnVcbiAgICAuay1maWx0ZXItbWVudS5rLXBvcHVwLFxuICAgIC5rLWNvbHVtbi1tZW51LmstcG9wdXAge1xuICAgICAgICBAaW5jbHVkZSBib3gtc2hhZG93KCB2YXIoIC0ta2VuZG8tZ3JpZC1jb2x1bW4tbWVudS1zaGFkb3csICN7JGtlbmRvLWdyaWQtY29sdW1uLW1lbnUtc2hhZG93fSApICk7XG4gICAgfVxuXG4gICAgLmstY29sdW1uLW1lbnUge1xuICAgICAgICAuay1tZW51Om5vdCguay1jb250ZXh0LW1lbnUpIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGZpbGwoXG4gICAgICAgICAgICAgICAgdmFyKCAtLWtlbmRvLWdyaWQtY29sdW1uLW1lbnUtdGV4dCwgI3ska2VuZG8tZ3JpZC1jb2x1bW4tbWVudS10ZXh0fSApLFxuICAgICAgICAgICAgICAgIHZhciggLS1rZW5kby1ncmlkLWNvbHVtbi1tZW51LWJnLCAjeyRrZW5kby1ncmlkLWNvbHVtbi1tZW51LWJnfSApLFxuICAgICAgICAgICAgICAgIHZhciggLS1rZW5kby1ncmlkLWNvbHVtbi1tZW51LWJvcmRlciwgI3ska2VuZG8tZ3JpZC1jb2x1bW4tbWVudS1ib3JkZXJ9IClcbiAgICAgICAgICAgICk7XG4gICAgICAgIH1cblxuICAgICAgICAuay1jb2x1bW5tZW51LWl0ZW0sXG4gICAgICAgIC5rLWNvbHVtbi1saXN0LWl0ZW0sXG4gICAgICAgIC5rLW1lbnU6bm90KC5rLWNvbnRleHQtbWVudSkgLmstaXRlbSB7XG4gICAgICAgICAgICBAaW5jbHVkZSBmaWxsKFxuICAgICAgICAgICAgICAgIHZhciggLS1rZW5kby1ncmlkLWNvbHVtbi1tZW51LWl0ZW0tdGV4dCwgI3ska2VuZG8tZ3JpZC1jb2x1bW4tbWVudS1pdGVtLXRleHR9ICksXG4gICAgICAgICAgICAgICAgdmFyKCAtLWtlbmRvLWdyaWQtY29sdW1uLW1lbnUtaXRlbS1iZywgI3ska2VuZG8tZ3JpZC1jb2x1bW4tbWVudS1pdGVtLWJnfSApXG4gICAgICAgICAgICApO1xuXG4gICAgICAgICAgICAuay1pY29uIHtcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBmaWxsKFxuICAgICAgICAgICAgICAgICAgICB2YXIoIC0ta2VuZG8tZ3JpZC1jb2x1bW4tbWVudS1pdGVtLWljb24tdGV4dCwgI3ska2VuZG8tZ3JpZC1jb2x1bW4tbWVudS1pdGVtLWljb24tdGV4dH0gKVxuICAgICAgICAgICAgICAgICk7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICY6aG92ZXIsXG4gICAgICAgICAgICAmLmstaG92ZXIge1xuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGZpbGwoXG4gICAgICAgICAgICAgICAgICAgIHZhciggLS1rZW5kby1ncmlkLWNvbHVtbi1tZW51LWl0ZW0taG92ZXItdGV4dCwgI3ska2VuZG8tZ3JpZC1jb2x1bW4tbWVudS1pdGVtLWhvdmVyLXRleHR9ICksXG4gICAgICAgICAgICAgICAgICAgIHZhciggLS1rZW5kby1ncmlkLWNvbHVtbi1tZW51LWl0ZW0taG92ZXItYmcsICN7JGtlbmRvLWdyaWQtY29sdW1uLW1lbnUtaXRlbS1ob3Zlci1iZ30gKVxuICAgICAgICAgICAgICAgICk7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICY6Zm9jdXMsXG4gICAgICAgICAgICAmLmstZm9jdXMge1xuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGJveC1zaGFkb3coIHZhciggLS1rZW5kby1ncmlkLWNvbHVtbi1tZW51LWl0ZW0tZm9jdXMtc2hhZG93LCAjeyRrZW5kby1ncmlkLWNvbHVtbi1tZW51LWl0ZW0tZm9jdXMtc2hhZG93fSApICk7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICYuay1zZWxlY3RlZCB7XG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgZmlsbChcbiAgICAgICAgICAgICAgICAgICAgdmFyKCAtLWtlbmRvLWdyaWQtY29sdW1uLW1lbnUtaXRlbS1zZWxlY3RlZC10ZXh0LCAjeyRrZW5kby1ncmlkLWNvbHVtbi1tZW51LWl0ZW0tc2VsZWN0ZWQtdGV4dH0gKSxcbiAgICAgICAgICAgICAgICAgICAgdmFyKCAtLWtlbmRvLWdyaWQtY29sdW1uLW1lbnUtaXRlbS1zZWxlY3RlZC1iZywgI3ska2VuZG8tZ3JpZC1jb2x1bW4tbWVudS1pdGVtLXNlbGVjdGVkLWJnfSApXG4gICAgICAgICAgICAgICAgKTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgJi5rLWRpc2FibGVkIC5rLWxpbmssXG4gICAgICAgICAgICAmLmstZGlzYWJsZWQgLmstaWNvbiB7XG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgZGlzYWJsZWQoXG4gICAgICAgICAgICAgICAgICAgIHZhciggLS1rZW5kby1kaXNhYmxlZC10ZXh0LCBpbmhlcml0IClcbiAgICAgICAgICAgICAgICApO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLmstY2hlY2stYWxsLXdyYXAge1xuICAgICAgICAgICAgQGluY2x1ZGUgZmlsbCggJGJvcmRlcjogJGtlbmRvLXBvcHVwLWJvcmRlciApO1xuICAgICAgICB9XG5cbiAgICAgICAgLmstbGlzdGdyb3VwLWl0ZW0ge1xuICAgICAgICAgICAgJi5rLWRpc2FibGVkIHtcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBkaXNhYmxlZChcbiAgICAgICAgICAgICAgICAgICAgJGJnOiB2YXIoIC0ta2VuZG8tZGlzYWJsZWQtYmcsIGluaGVyaXQgKVxuICAgICAgICAgICAgICAgICk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG4gICAgLmstY29sdW1uLW1lbnUtdGFiYmVkIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKCAtLWtlbmRvLWdyaWQtY29sdW1uLW1lbnUtdGFiYmVkLWJnLCAjeyRrZW5kby1ncmlkLWNvbHVtbi1tZW51LXRhYmJlZC1iZ30gKTtcbiAgICB9XG5cbiAgICAuay1jb2x1bW4tbWVudS1ncm91cC1oZWFkZXItdGV4dCB7XG4gICAgICAgIEBpbmNsdWRlIGZpbGwoXG4gICAgICAgICAgICB2YXIoIC0ta2VuZG8tZ3JpZC1jb2x1bW4tbWVudS1ncm91cC1oZWFkZXItdGV4dCwgI3ska2VuZG8tZ3JpZC1jb2x1bW4tbWVudS1ncm91cC1oZWFkZXItdGV4dH0gKSxcbiAgICAgICAgICAgIHZhciggLS1rZW5kby1ncmlkLWNvbHVtbi1tZW51LWdyb3VwLWhlYWRlci1iZywgI3ska2VuZG8tZ3JpZC1jb2x1bW4tbWVudS1ncm91cC1oZWFkZXItYmd9ICksXG4gICAgICAgICAgICB2YXIoIC0ta2VuZG8tZ3JpZC1jb2x1bW4tbWVudS1ncm91cC1oZWFkZXItYm9yZGVyLCAjeyRrZW5kby1ncmlkLWNvbHVtbi1tZW51LWdyb3VwLWhlYWRlci1ib3JkZXJ9IClcbiAgICAgICAgKTtcbiAgICB9XG5cbiAgICAuay1ncmlkLW5vcmVjb3Jkcy10ZW1wbGF0ZSB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRrZW5kby1ncmlkLWJnO1xuICAgICAgICBib3JkZXItY29sb3I6ICRrZW5kby1ncmlkLWJvcmRlcjtcbiAgICB9XG5cbiAgICAuay1yZXNpemVyLXdyYXAge1xuXG4gICAgICAgICYuay1ob3ZlciAuay1yb3ctcmVzaXplciB7XG4gICAgICAgICAgICBAaW5jbHVkZSBmaWxsKCAkYmc6IHZhciggLS1rZW5kby1ncmlkLXJvdy1yZXNpemVyLWhvdmVyLWJnLCAjeyRrZW5kby1ncmlkLXJvdy1yZXNpemVyLWhvdmVyLWJnfSApICk7XG4gICAgICAgIH1cblxuICAgICAgICAmLmstYWN0aXZlIC5rLXJvdy1yZXNpemVyIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGZpbGwoICRiZzogdmFyKCAtLWtlbmRvLWdyaWQtcm93LXJlc2l6ZXItYWN0aXZlLWJnLCAjeyRrZW5kby1ncmlkLXJvdy1yZXNpemVyLWFjdGl2ZS1iZ30gKSApO1xuICAgICAgICB9XG5cbiAgICB9XG5cbiAgICAuay1jb2x1bW5tZW51LWluZGljYXRvcnMge1xuICAgICAgICBAaW5jbHVkZSBmaWxsKCAkY29sb3I6IHZhciggLS1rZW5kby1ncmlkLXNvcnQtaW5kaWNhdG9yLW9yZGVyLXRleHQsICN7JGtlbmRvLWdyaWQtc29ydC1pbmRpY2F0b3Itb3JkZXItdGV4dH0gKSApO1xuICAgIH1cbn1cbiIsIkB1c2UgXCJzYXNzOm1hcFwiO1xuQHVzZSBcIi4uL2NvcmUvX2luZGV4LnNjc3NcIiBhcyAqO1xuXG4vLy8gSG9yaXpvbnRhbCBwYWRkaW5nIG9mIHRoZSBwb3B1cC5cbi8vLyBAZ3JvdXAgcG9wdXBcbiRrZW5kby1wb3B1cC1wYWRkaW5nLXg6IGstc3BhY2luZygwKSAhZGVmYXVsdDtcbi8vLyBWZXJ0aWNhbCBwYWRkaW5nIG9mIHRoZSBwb3B1cC5cbi8vLyBAZ3JvdXAgcG9wdXBcbiRrZW5kby1wb3B1cC1wYWRkaW5nLXk6IGstc3BhY2luZygwKSAhZGVmYXVsdDtcbi8vLyBXaWR0aCBvZiB0aGUgYm9yZGVyIGFyb3VuZCB0aGUgcG9wdXAuXG4vLy8gQGdyb3VwIHBvcHVwXG4ka2VuZG8tcG9wdXAtYm9yZGVyLXdpZHRoOiAwICFkZWZhdWx0O1xuLy8vIEJvcmRlciByYWRpdXMgb2YgdGhlIHBvcHVwLlxuLy8vIEBncm91cCBwb3B1cFxuJGtlbmRvLXBvcHVwLWJvcmRlci1yYWRpdXM6IGstYm9yZGVyLXJhZGl1cyhtZCkgIWRlZmF1bHQ7XG5cbi8vLyBGb250IHNpemUgb2YgdGhlIHBvcHVwLlxuLy8vIEBncm91cCBwb3B1cFxuJGtlbmRvLXBvcHVwLWZvbnQtc2l6ZTogdmFyKCAtLWtlbmRvLWZvbnQtc2l6ZSwgaW5oZXJpdCkgIWRlZmF1bHQ7XG4vLy8gTGluZSBoZWlnaHQgb2YgdGhlIHBvcHVwLlxuLy8vIEBncm91cCBwb3B1cFxuJGtlbmRvLXBvcHVwLWxpbmUtaGVpZ2h0OiB2YXIoIC0ta2VuZG8tbGluZS1oZWlnaHQsIG5vcm1hbCkgIWRlZmF1bHQ7XG5cbi8vLyBIb3Jpem9udGFsIHBhZGRpbmcgb2YgdGhlIGNvbnRlbnQgaW5zaWRlIHRoZSBwb3B1cC5cbi8vLyBAZ3JvdXAgcG9wdXBcbiRrZW5kby1wb3B1cC1jb250ZW50LXBhZGRpbmcteDogay1zcGFjaW5nKDIpICFkZWZhdWx0O1xuLy8vIFZlcnRpY2FsIHBhZGRpbmcgb2YgdGhlIGNvbnRlbnQgaW5zaWRlIHRoZSBwb3B1cC5cbi8vLyBAZ3JvdXAgcG9wdXBcbiRrZW5kby1wb3B1cC1jb250ZW50LXBhZGRpbmcteTogay1zcGFjaW5nKDIpICFkZWZhdWx0O1xuXG4vLy8gQmFja2dyb3VuZCBjb2xvciBvZiB0aGUgcG9wdXAuXG4vLy8gQGdyb3VwIHBvcHVwXG4ka2VuZG8tcG9wdXAtYmc6IHZhciggLS1rZW5kby1jb21wb25lbnQtYmcsIGluaXRpYWwgKSAhZGVmYXVsdDtcbi8vLyBUZXh0IGNvbG9yIG9mIHRoZSBwb3B1cC5cbi8vLyBAZ3JvdXAgcG9wdXBcbiRrZW5kby1wb3B1cC10ZXh0OiB2YXIoIC0ta2VuZG8tY29tcG9uZW50LXRleHQsIGluaXRpYWwgKSAhZGVmYXVsdDtcbi8vLyBCb3JkZXIgY29sb3Igb2YgdGhlIHBvcHVwLlxuLy8vIEBncm91cCBwb3B1cFxuJGtlbmRvLXBvcHVwLWJvcmRlcjogdmFyKCAtLWtlbmRvLWNvbXBvbmVudC1ib3JkZXIsIGluaXRpYWwgKSAhZGVmYXVsdDtcbi8vLyBCb3ggc2hhZG93IGFyb3VuZCB0aGUgcG9wdXAuXG4vLy8gQGdyb3VwIHBvcHVwXG4ka2VuZG8tcG9wdXAtc2hhZG93OiB2YXIoIC0ta2VuZG8tYm94LXNoYWRvdy1kZXB0aC00LCBub25lICkgIWRlZmF1bHQ7XG4iLCJAdXNlIFwic2FzczptYXBcIjtcbkB1c2UgXCIuLi9jb3JlL19pbmRleC5zY3NzXCIgYXMgKjtcbkB1c2UgXCIuLi9saXN0L192YXJpYWJsZXMuc2Nzc1wiIGFzICo7XG5cbi8vLyBUaGUgd2lkdGggb2YgdGhlIHRhYmxlIGJvcmRlci5cbi8vLyBAZ3JvdXAgdGFibGVcbiRrZW5kby10YWJsZS1ib3JkZXItd2lkdGg6IDFweCAhZGVmYXVsdDtcblxuLy8vIFRoZSB3aWR0aCBvZiB2ZXJ0aWNhbCBib3JkZXIgb2YgdGFibGUgY2VsbHMuXG4vLy8gQGdyb3VwIHRhYmxlXG4ka2VuZG8tdGFibGUtY2VsbC12ZXJ0aWNhbC1ib3JkZXItd2lkdGg6IDBweCAhZGVmYXVsdDtcbi8vLyBUaGUgd2lkdGggb2YgaG9yaXpvbnRhbCBib3JkZXIgb2YgdGFibGUgY2VsbHMuXG4vLy8gQGdyb3VwIHRhYmxlXG4ka2VuZG8tdGFibGUtY2VsbC1ob3Jpem9udGFsLWJvcmRlci13aWR0aDogMXB4ICFkZWZhdWx0O1xuLy8vIFRoZSBob3Jpem9udGFsIHBhZGRpbmcgb2YgdGhlIGNlbGxzIGluIHRoZSB0YWJsZSBpZiBubyBzaXplIGlzIHNwZWNpZmllZC5cbi8vLyBAZ3JvdXAgdGFibGVcbiRrZW5kby10YWJsZS1jZWxsLXBhZGRpbmcteDogay1zcGFjaW5nKDMpICFkZWZhdWx0O1xuLy8vIFRoZSB2ZXJ0aWNhbCBwYWRkaW5nIG9mIHRoZSBjZWxscyBpbiB0aGUgdGFibGUgaWYgbm8gc2l6ZSBpcyBzcGVjaWZpZWQuXG4vLy8gQGdyb3VwIHRhYmxlXG4ka2VuZG8tdGFibGUtY2VsbC1wYWRkaW5nLXk6IGstc3BhY2luZygzKSAhZGVmYXVsdDtcblxuJGtlbmRvLXRhYmxlLXNtLWNlbGwtcGFkZGluZy14OiBrLXNwYWNpbmcoMykgIWRlZmF1bHQ7XG4ka2VuZG8tdGFibGUtc20tY2VsbC1wYWRkaW5nLXk6IGstc3BhY2luZygxLjUpICFkZWZhdWx0O1xuXG4ka2VuZG8tdGFibGUtbWQtY2VsbC1wYWRkaW5nLXg6ICRrZW5kby10YWJsZS1jZWxsLXBhZGRpbmcteCAhZGVmYXVsdDtcbiRrZW5kby10YWJsZS1tZC1jZWxsLXBhZGRpbmcteTogJGtlbmRvLXRhYmxlLWNlbGwtcGFkZGluZy15ICFkZWZhdWx0O1xuXG4ka2VuZG8tdGFibGUtbGctY2VsbC1wYWRkaW5nLXg6IGstc3BhY2luZygzKSAhZGVmYXVsdDtcbiRrZW5kby10YWJsZS1sZy1jZWxsLXBhZGRpbmcteTogay1zcGFjaW5nKDMuNSkgIWRlZmF1bHQ7XG5cbiRrZW5kby10YWJsZS1zbS1jZWxsLXBhZGRpbmcteDogay1zcGFjaW5nKDMpICFkZWZhdWx0O1xuJGtlbmRvLXRhYmxlLXNtLWNlbGwtcGFkZGluZy15OiBrLXNwYWNpbmcoMS41KSAhZGVmYXVsdDtcblxuJGtlbmRvLXRhYmxlLW1kLWNlbGwtcGFkZGluZy14OiAka2VuZG8tdGFibGUtY2VsbC1wYWRkaW5nLXggIWRlZmF1bHQ7XG4ka2VuZG8tdGFibGUtbWQtY2VsbC1wYWRkaW5nLXk6ICRrZW5kby10YWJsZS1jZWxsLXBhZGRpbmcteSAhZGVmYXVsdDtcblxuJGtlbmRvLXRhYmxlLWxnLWNlbGwtcGFkZGluZy14OiBrLXNwYWNpbmcoMykgIWRlZmF1bHQ7XG4ka2VuZG8tdGFibGUtbGctY2VsbC1wYWRkaW5nLXk6IGstc3BhY2luZygzLjUpICFkZWZhdWx0O1xuXG4vLy8gRm9udCB3ZWlnaHQgb2YgdGhlIHRhYmxlIGhlYWRlciBjZWxscy5cbi8vLyBAZ3JvdXAgdGFibGVcbiRrZW5kby10YWJsZS1oZWFkZXItZm9udC13ZWlnaHQ6IHZhciggLS1rZW5kby1mb250LXdlaWdodC1ib2xkLCBub3JtYWwgKSAhZGVmYXVsdDtcblxuLy8vIFRoZSBzaXplcyBvZiB0aGUgdGFibGUuXG4vLy8gQGdyb3VwIHRhYmxlXG4ka2VuZG8tdGFibGUtc2l6ZXM6IChcbiAgICBzbTogKFxuICAgICAgICBmb250LXNpemU6IHZhciggLS1rZW5kby1mb250LXNpemUsIGluaGVyaXQgKSxcbiAgICAgICAgbGluZS1oZWlnaHQ6IHZhciggLS1rZW5kby1saW5lLWhlaWdodCwgaW5oZXJpdCApLFxuICAgICAgICBjZWxsLXBhZGRpbmcteDogJGtlbmRvLXRhYmxlLXNtLWNlbGwtcGFkZGluZy14LFxuICAgICAgICBjZWxsLXBhZGRpbmcteTogJGtlbmRvLXRhYmxlLXNtLWNlbGwtcGFkZGluZy15LFxuICAgICAgICBncm91cC1sYWJlbC1wYWRkaW5nLXg6ICRrZW5kby1saXN0LWl0ZW0tZ3JvdXAtbGFiZWwtc20tcGFkZGluZy14LFxuICAgICAgICBncm91cC1sYWJlbC1wYWRkaW5nLXk6ICRrZW5kby1saXN0LWl0ZW0tZ3JvdXAtbGFiZWwtc20tcGFkZGluZy15LFxuICAgICAgICBncm91cC1sYWJlbC1mb250LXNpemU6ICRrZW5kby1saXN0LWl0ZW0tZ3JvdXAtbGFiZWwtc20tZm9udC1zaXplXG4gICAgKSxcbiAgICBtZDogKFxuICAgICAgICBmb250LXNpemU6IHZhciggLS1rZW5kby1mb250LXNpemUsIGluaGVyaXQgKSxcbiAgICAgICAgbGluZS1oZWlnaHQ6IHZhciggLS1rZW5kby1saW5lLWhlaWdodCwgaW5oZXJpdCApLFxuICAgICAgICBjZWxsLXBhZGRpbmcteDogJGtlbmRvLXRhYmxlLW1kLWNlbGwtcGFkZGluZy14LFxuICAgICAgICBjZWxsLXBhZGRpbmcteTogJGtlbmRvLXRhYmxlLW1kLWNlbGwtcGFkZGluZy15LFxuICAgICAgICBncm91cC1sYWJlbC1wYWRkaW5nLXg6ICRrZW5kby1saXN0LWl0ZW0tZ3JvdXAtbGFiZWwtbWQtcGFkZGluZy14LFxuICAgICAgICBncm91cC1sYWJlbC1wYWRkaW5nLXk6ICRrZW5kby1saXN0LWl0ZW0tZ3JvdXAtbGFiZWwtbWQtcGFkZGluZy15LFxuICAgICAgICBncm91cC1sYWJlbC1mb250LXNpemU6ICRrZW5kby1saXN0LWl0ZW0tZ3JvdXAtbGFiZWwtbWQtZm9udC1zaXplXG4gICAgKSxcbiAgICBsZzogKFxuICAgICAgICBmb250LXNpemU6IHZhciggLS1rZW5kby1mb250LXNpemUsIGluaGVyaXQgKSxcbiAgICAgICAgbGluZS1oZWlnaHQ6IHZhciggLS1rZW5kby1saW5lLWhlaWdodCwgaW5oZXJpdCApLFxuICAgICAgICBjZWxsLXBhZGRpbmcteDogJGtlbmRvLXRhYmxlLWxnLWNlbGwtcGFkZGluZy14LFxuICAgICAgICBjZWxsLXBhZGRpbmcteTogJGtlbmRvLXRhYmxlLWxnLWNlbGwtcGFkZGluZy15LFxuICAgICAgICBncm91cC1sYWJlbC1wYWRkaW5nLXg6ICRrZW5kby1saXN0LWl0ZW0tZ3JvdXAtbGFiZWwtbGctcGFkZGluZy14LFxuICAgICAgICBncm91cC1sYWJlbC1wYWRkaW5nLXk6ICRrZW5kby1saXN0LWl0ZW0tZ3JvdXAtbGFiZWwtbGctcGFkZGluZy15LFxuICAgICAgICBncm91cC1sYWJlbC1mb250LXNpemU6ICRrZW5kby1saXN0LWl0ZW0tZ3JvdXAtbGFiZWwtbGctZm9udC1zaXplXG4gICAgKVxuKSAhZGVmYXVsdDtcblxuLy8vIEJhY2tncm91bmQgY29sb3Igb2YgdGFibGVzLlxuLy8vIEBncm91cCB0YWJsZVxuJGtlbmRvLXRhYmxlLWJnOiB2YXIoIC0ta2VuZG8tY29tcG9uZW50LWJnLCBpbml0aWFsICkgIWRlZmF1bHQ7XG4vLy8gVGV4dCBjb2xvciBvZiB0YWJsZXMuXG4vLy8gQGdyb3VwIHRhYmxlXG4ka2VuZG8tdGFibGUtdGV4dDogdmFyKCAtLWtlbmRvLWNvbXBvbmVudC10ZXh0LCBpbml0aWFsICkgIWRlZmF1bHQ7XG4vLy8gQm9yZGVyIGNvbG9yIG9mIHRhYmxlcy5cbi8vLyBAZ3JvdXAgdGFibGVcbiRrZW5kby10YWJsZS1ib3JkZXI6IHZhciggLS1rZW5kby1jb21wb25lbnQtYm9yZGVyLCBpbml0aWFsICkgIWRlZmF1bHQ7XG5cbi8vLyBCYWNrZ3JvdW5kIGNvbG9yIG9mIHRhYmxlIGhlYWRlcnMuXG4vLy8gQGdyb3VwIHRhYmxlXG4ka2VuZG8tdGFibGUtaGVhZGVyLWJnOiAka2VuZG8tdGFibGUtYmcgIWRlZmF1bHQ7XG4vLy8gVGV4dCBjb2xvciBvZiB0YWJsZSBoZWFkZXJzLlxuLy8vIEBncm91cCB0YWJsZVxuJGtlbmRvLXRhYmxlLWhlYWRlci10ZXh0OiBpZigka2VuZG8tZW5hYmxlLWNvbG9yLXN5c3RlbSwgay1jb2xvciggb24tYXBwLXN1cmZhY2UgKSwgay1nZXQtdGhlbWUtY29sb3ItdmFyKCBuZXV0cmFsLTE5MCApKSAhZGVmYXVsdDtcbi8vLyBCb3JkZXIgY29sb3Igb2YgdGFibGUgaGVhZGVycy5cbi8vLyBAZ3JvdXAgdGFibGVcbiRrZW5kby10YWJsZS1oZWFkZXItYm9yZGVyOiAka2VuZG8tdGFibGUtYm9yZGVyICFkZWZhdWx0O1xuXG4vLy8gVGV4dCBjb2xvciBvZiB0aGUgc3RpY2t5IHRhYmxlIGhlYWRlci5cbi8vLyBAZ3JvdXAgdGFibGVcbiRrZW5kby10YWJsZS1zdGlja3ktaGVhZGVyLXRleHQ6ICRrZW5kby1saXN0LWhlYWRlci10ZXh0ICFkZWZhdWx0O1xuLy8vIEJhY2tncm91bmQgY29sb3Igb2YgdGhlIHN0aWNreSB0YWJsZSBoZWFkZXIuXG4vLy8gQGdyb3VwIHRhYmxlXG4ka2VuZG8tdGFibGUtc3RpY2t5LWhlYWRlci1iZzogJGtlbmRvLWxpc3QtaGVhZGVyLWJnICFkZWZhdWx0O1xuLy8vIEJvcmRlciBjb2xvciBvZiB0aGUgc3RpY2t5IHRhYmxlIGhlYWRlci5cbi8vLyBAZ3JvdXAgdGFibGVcbiRrZW5kby10YWJsZS1zdGlja3ktaGVhZGVyLWJvcmRlcjogJGtlbmRvLWxpc3QtaGVhZGVyLWJvcmRlciAhZGVmYXVsdDtcbi8vLyBTaGFkb3cgb2YgdGhlIHN0aWNreSB0YWJsZSBoZWFkZXIuXG4vLy8gQGdyb3VwIHRhYmxlXG4ka2VuZG8tdGFibGUtc3RpY2t5LWhlYWRlci1zaGFkb3c6ICRrZW5kby1saXN0LWhlYWRlci1zaGFkb3cgIWRlZmF1bHQ7XG5cbi8vLyBCYWNrZ3JvdW5kIGNvbG9yIG9mIHRhYmxlIGZvb3RlcnMuXG4vLy8gQGdyb3VwIHRhYmxlXG4ka2VuZG8tdGFibGUtZm9vdGVyLWJnOiAka2VuZG8tdGFibGUtaGVhZGVyLWJnICFkZWZhdWx0O1xuLy8vIFRleHQgY29sb3Igb2YgdGFibGUgZm9vdGVycy5cbi8vLyBAZ3JvdXAgdGFibGVcbiRrZW5kby10YWJsZS1mb290ZXItdGV4dDogJGtlbmRvLXRhYmxlLWhlYWRlci10ZXh0ICFkZWZhdWx0O1xuLy8vIEJvcmRlciBjb2xvciBvZiB0YWJsZSBmb290ZXJzLlxuLy8vIEBncm91cCB0YWJsZVxuJGtlbmRvLXRhYmxlLWZvb3Rlci1ib3JkZXI6ICRrZW5kby10YWJsZS1oZWFkZXItYm9yZGVyICFkZWZhdWx0O1xuXG4vLy8gQmFja2dyb3VuZCBjb2xvciBvZiBncm91cCByb3dzIGluIHRhYmxlLlxuLy8vIEBncm91cCB0YWJsZVxuJGtlbmRvLXRhYmxlLWdyb3VwLXJvdy1iZzogJGtlbmRvLXRhYmxlLWhlYWRlci1iZyAhZGVmYXVsdDtcbi8vLyBUZXh0IGNvbG9yIG9mIGdyb3VwIHJvd3MgaW4gdGFibGUuXG4vLy8gQGdyb3VwIHRhYmxlXG4ka2VuZG8tdGFibGUtZ3JvdXAtcm93LXRleHQ6ICRrZW5kby10YWJsZS1oZWFkZXItdGV4dCAhZGVmYXVsdDtcbi8vLyBCb3JkZXIgY29sb3Igb2YgZ3JvdXAgcm93cyBpbiB0YWJsZS5cbi8vLyBAZ3JvdXAgdGFibGVcbiRrZW5kby10YWJsZS1ncm91cC1yb3ctYm9yZGVyOiAka2VuZG8tdGFibGUtaGVhZGVyLWJvcmRlciAhZGVmYXVsdDtcblxuLy8vIFRleHQgY29sb3Igb2YgZ3JvdXAgbGFiZWwgaW4gdGFibGUuXG4vLy8gQGdyb3VwIHRhYmxlXG4ka2VuZG8tdGFibGUtZ3JvdXAtbGFiZWwtdGV4dDogJGtlbmRvLWxpc3QtYmcgIWRlZmF1bHQ7XG4vLy8gQmFja2dyb3VuZCBjb2xvciBvZiBncm91cCBsYWJlbCBpbiB0YWJsZS5cbi8vLyBAZ3JvdXAgdGFibGVcbiRrZW5kby10YWJsZS1ncm91cC1sYWJlbC1iZzogJGtlbmRvLWxpc3QtdGV4dCAhZGVmYXVsdDtcblxuLy8vIEJhY2tncm91bmQgY29sb3Igb2YgYWx0ZXJuYXRpbmcgcm93cyBpbiB0YWJsZS5cbi8vLyBAZ3JvdXAgdGFibGVcbiRrZW5kby10YWJsZS1hbHQtcm93LWJnOiBpbml0aWFsICFkZWZhdWx0O1xuLy8vIFRleHQgY29sb3Igb2YgYWx0ZXJuYXRpbmcgcm93cyBpbiB0YWJsZS5cbi8vLyBAZ3JvdXAgdGFibGVcbiRrZW5kby10YWJsZS1hbHQtcm93LXRleHQ6ICRrZW5kby10YWJsZS10ZXh0ICFkZWZhdWx0O1xuLy8vIEJvcmRlciBjb2xvciBvZiBhbHRlcm5hdGluZyByb3dzIGluIHRhYmxlLlxuLy8vIEBncm91cCB0YWJsZVxuJGtlbmRvLXRhYmxlLWFsdC1yb3ctYm9yZGVyOiAka2VuZG8tdGFibGUtYm9yZGVyICFkZWZhdWx0O1xuXG4vLy8gQmFja2dyb3VuZCBjb2xvciBvZiBob3ZlcmVkIHJvd3MgaW4gdGFibGUuXG4vLy8gQGdyb3VwIHRhYmxlXG4ka2VuZG8tdGFibGUtaG92ZXItYmc6IHZhciggLS1rZW5kby1ob3Zlci1iZywgaW5oZXJpdCApICFkZWZhdWx0O1xuLy8vIFRleHQgY29sb3Igb2YgaG92ZXJlZCByb3dzIGluIHRhYmxlLlxuLy8vIEBncm91cCB0YWJsZVxuJGtlbmRvLXRhYmxlLWhvdmVyLXRleHQ6IHZhciggLS1rZW5kby1ob3Zlci10ZXh0LCBpbmhlcml0ICkgIWRlZmF1bHQ7XG4vLy8gQm9yZGVyIGNvbG9yIG9mIGhvdmVyZWQgcm93cyBpbiB0YWJsZS5cbi8vLyBAZ3JvdXAgdGFibGVcbiRrZW5kby10YWJsZS1ob3Zlci1ib3JkZXI6ICRrZW5kby10YWJsZS1ib3JkZXIgIWRlZmF1bHQ7XG5cbi8vLyBCYWNrZ3JvdW5kIGNvbG9yIG9mIGZvY3VzZWQgcm93cyBpbiB0YWJsZS5cbi8vLyBAZ3JvdXAgdGFibGVcbiRrZW5kby10YWJsZS1mb2N1cy1iZzogaW5oZXJpdCAhZGVmYXVsdDtcbi8vLyBUZXh0IGNvbG9yIG9mIGZvY3VzZWQgcm93cyBpbiB0YWJsZS5cbi8vLyBAZ3JvdXAgdGFibGVcbiRrZW5kby10YWJsZS1mb2N1cy10ZXh0OiBpbmhlcml0ICFkZWZhdWx0O1xuLy8vIEJvcmRlciBjb2xvciBvZiBmb2N1c2VkIHJvd3MgaW4gdGFibGUuXG4vLy8gQGdyb3VwIHRhYmxlXG4ka2VuZG8tdGFibGUtZm9jdXMtYm9yZGVyOiBpbmhlcml0ICFkZWZhdWx0O1xuLy8vIEJveCBzaGFkb3cgb2YgZm9jdXNlZCByb3dzIGluIHRhYmxlLlxuLy8vIEBncm91cCB0YWJsZVxuJGtlbmRvLXRhYmxlLWZvY3VzLXNoYWRvdzogJGtlbmRvLWxpc3QtaXRlbS1mb2N1cy1zaGFkb3cgIWRlZmF1bHQ7XG5cbi8vLyBCYWNrZ3JvdW5kIGNvbG9yIG9mIHNlbGVjdGVkIHJvd3MgaW4gdGFibGUuXG4vLy8gQGdyb3VwIHRhYmxlXG4ka2VuZG8tdGFibGUtc2VsZWN0ZWQtYmc6IGlmKCRrZW5kby1lbmFibGUtY29sb3Itc3lzdGVtLCBjb2xvci1taXgoaW4gc3JnYiwgay1jb2xvciggcHJpbWFyeSApIDEzJSwgdHJhbnNwYXJlbnQpLCBrLWdldC10aGVtZS1jb2xvci12YXIoIHByaW1hcnktMjAgKSkgIWRlZmF1bHQ7XG4vLy8gVGV4dCBjb2xvciBvZiBzZWxlY3RlZCByb3dzIGluIHRhYmxlLlxuLy8vIEBncm91cCB0YWJsZVxuJGtlbmRvLXRhYmxlLXNlbGVjdGVkLXRleHQ6ICRrZW5kby10YWJsZS10ZXh0ICFkZWZhdWx0O1xuLy8vIEJvcmRlciBjb2xvciBvZiBzZWxlY3RlZCByb3dzIGluIHRhYmxlLlxuLy8vIEBncm91cCB0YWJsZVxuJGtlbmRvLXRhYmxlLXNlbGVjdGVkLWJvcmRlcjogJGtlbmRvLXRhYmxlLWJvcmRlciAhZGVmYXVsdDtcblxuLy8vIEhvdmVyIGJhY2tncm91bmQgY29sb3Igb2Ygc2VsZWN0ZWQgcm93cyBpbiB0YWJsZS5cbi8vLyBAZ3JvdXAgdGFibGVcbiRrZW5kby10YWJsZS1zZWxlY3RlZC1ob3Zlci1iZzogaWYoJGtlbmRvLWVuYWJsZS1jb2xvci1zeXN0ZW0sIGNvbG9yLW1peChpbiBzcmdiLCBrLWNvbG9yKCBwcmltYXJ5ICkgMjYlLCB0cmFuc3BhcmVudCksIGstZ2V0LXRoZW1lLWNvbG9yLXZhciggcHJpbWFyeS0zMCApKSAhZGVmYXVsdDtcbi8vLyBIb3ZlciB0ZXh0IGNvbG9yIG9mIHNlbGVjdGVkIHJvd3MgaW4gdGFibGUuXG4vLy8gQGdyb3VwIHRhYmxlXG4ka2VuZG8tdGFibGUtc2VsZWN0ZWQtaG92ZXItdGV4dDogJGtlbmRvLXRhYmxlLXNlbGVjdGVkLXRleHQgIWRlZmF1bHQ7XG4vLy8gSG92ZXIgYm9yZGVyIGNvbG9yIG9mIHNlbGVjdGVkIHJvd3MgaW4gdGFibGUuXG4vLy8gQGdyb3VwIHRhYmxlXG4ka2VuZG8tdGFibGUtc2VsZWN0ZWQtaG92ZXItYm9yZGVyOiAka2VuZG8tdGFibGUtc2VsZWN0ZWQtYm9yZGVyICFkZWZhdWx0O1xuXG4vLy8gVGhlIGJveCBzaGFkb3cgb2YgdGhlIHJvdyBzcGFubmVkIGNlbGxzLlxuLy8vIEBncm91cCB0YWJsZVxuJGtlbmRvLXRhYmxlLWNlbGwtcm93LXNwYW4tc2hhZG93OiBpbnNldCAwIDAgMCAxcHggJGtlbmRvLXRhYmxlLWJvcmRlciAhZGVmYXVsdDtcbiIsIkB1c2UgXCIuLi9jb3JlL19pbmRleC5zY3NzXCIgYXMgKjtcbkB1c2UgXCIuL192YXJpYWJsZXMuc2Nzc1wiIGFzICo7XG5cbkBtaXhpbiBrZW5kby1saXN0dmlldy0tbGF5b3V0KCkge1xuXG4gICAgLy8gTGlzdHZpZXdcbiAgICAuay1saXN0dmlldyB7XG4gICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgYm9yZGVyLXdpZHRoOiAwO1xuICAgICAgICBib3JkZXItc3R5bGU6IHNvbGlkO1xuICAgICAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgICAgICBvdXRsaW5lOiAwO1xuICAgICAgICBmb250LWZhbWlseTogdmFyKCAtLWtlbmRvLWxpc3R2aWV3LWZvbnQtZmFtaWx5LCAjeyRrZW5kby1saXN0dmlldy1mb250LWZhbWlseX0gKTtcbiAgICAgICAgZm9udC1zaXplOiB2YXIoIC0ta2VuZG8tbGlzdHZpZXctZm9udC1zaXplLCAjeyRrZW5kby1saXN0dmlldy1mb250LXNpemV9ICk7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiB2YXIoIC0ta2VuZG8tbGlzdHZpZXctbGluZS1oZWlnaHQsICN7JGtlbmRvLWxpc3R2aWV3LWxpbmUtaGVpZ2h0fSApO1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBmbGV4LWZsb3c6IGNvbHVtbiBub3dyYXA7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgLXdlYmtpdC10b3VjaC1jYWxsb3V0OiBub25lO1xuICAgICAgICAtd2Via2l0LXRhcC1oaWdobGlnaHQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgIH1cbiAgICAuay1saXN0dmlldy1ib3JkZXJlZCB7XG4gICAgICAgIGJvcmRlci13aWR0aDogdmFyKCAtLWtlbmRvLWxpc3R2aWV3LWJvcmRlci13aWR0aCwgI3ska2VuZG8tbGlzdHZpZXctYm9yZGVyLXdpZHRofSApO1xuICAgIH1cblxuXG4gICAgLy8gTGlzdHZpZXcgY29udGVudFxuICAgIC5rLWxpc3R2aWV3LWNvbnRlbnQge1xuICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgIG91dGxpbmU6IDA7XG4gICAgICAgIGZsZXgtZ3JvdzogMTtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICBvdmVyZmxvdzogYXV0bztcblxuICAgICAgICAmOjphZnRlciB7XG4gICAgICAgICAgICBoZWlnaHQ6IDA7XG4gICAgICAgICAgICBjbGVhcjogYm90aDtcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICB9XG4gICAgfVxuICAgIC5rLWxpc3R2aWV3LWNvbnRlbnQuay1kLWZsZXgsXG4gICAgLmstbGlzdHZpZXctY29udGVudC5rLWQtZ3JpZCB7XG4gICAgICAgICY6OmFmdGVyIHsgZGlzcGxheTogbm9uZTsgfVxuICAgIH1cbiAgICAuay1saXN0dmlldy1jb250ZW50LmstZC1ncmlkIHtcbiAgICAgICAgZ3JpZC1nYXA6IHZhciggLS1rZW5kby1saXN0dmlldy1ncmlkLWdhcCwgI3ska2VuZG8tbGlzdHZpZXctZ3JpZC1nYXB9ICk7XG4gICAgfVxuICAgIC5rLWxpc3R2aWV3LWNvbnRlbnQtcGFkZGluZy1yZWN0YW5nbGUge1xuICAgICAgICBwYWRkaW5nLWlubGluZTogdmFyKCAtLWtlbmRvLWxpc3R2aWV3LXBhZGRpbmcteCwgI3ska2VuZG8tbGlzdHZpZXctcGFkZGluZy14fSApO1xuICAgICAgICBwYWRkaW5nLWJsb2NrOiB2YXIoIC0ta2VuZG8tbGlzdHZpZXctcGFkZGluZy15LCAjeyRrZW5kby1saXN0dmlldy1wYWRkaW5nLXl9ICk7XG4gICAgfVxuICAgIC5rLWxpc3R2aWV3LWNvbnRlbnQtcGFkZGluZy1zcXVhcmUge1xuICAgICAgICBwYWRkaW5nOiB2YXIoIC0ta2VuZG8tbGlzdHZpZXctcGFkZGluZy15LCAjeyRrZW5kby1saXN0dmlldy1wYWRkaW5nLXl9ICk7XG4gICAgfVxuXG5cbiAgICAvLyBMaXN0dmlldyBpdGVtXG4gICAgLmstbGlzdHZpZXctaXRlbSB7XG4gICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgIGJvcmRlci13aWR0aDogMDtcbiAgICAgICAgb3V0bGluZTogMDtcbiAgICAgICAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcbiAgICAgICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICAgICAgZmxleC1zaHJpbms6IDA7XG4gICAgfVxuICAgIC5rLWxpc3R2aWV3LWl0ZW0tcGFkZGluZy1yZWN0YW5nbGUge1xuICAgICAgICBwYWRkaW5nLWlubGluZTogdmFyKCAtLWtlbmRvLWxpc3R2aWV3LWl0ZW0tcGFkZGluZy14LCAjeyRrZW5kby1saXN0dmlldy1pdGVtLXBhZGRpbmcteH0gKTtcbiAgICAgICAgcGFkZGluZy1ibG9jazogdmFyKCAtLWtlbmRvLWxpc3R2aWV3LWl0ZW0tcGFkZGluZy15LCAjeyRrZW5kby1saXN0dmlldy1pdGVtLXBhZGRpbmcteX0gKTtcbiAgICB9XG4gICAgLmstbGlzdHZpZXctaXRlbS1wYWRkaW5nLXJlY3RhbmdsZSAuay1saXN0dmlldy1saW5rIHtcbiAgICAgICAgbWFyZ2luLWlubGluZTogY2FsYyggdmFyKCAtLWtlbmRvLWxpc3R2aWV3LWl0ZW0tcGFkZGluZy14LCAjeyRrZW5kby1saXN0dmlldy1pdGVtLXBhZGRpbmcteH0gKSAqIC0xKTtcbiAgICAgICAgbWFyZ2luLWJsb2NrOiBjYWxjKCB2YXIoIC0ta2VuZG8tbGlzdHZpZXctaXRlbS1wYWRkaW5nLXksICN7JGtlbmRvLWxpc3R2aWV3LWl0ZW0tcGFkZGluZy15fSApICogLTEpO1xuICAgICAgICBwYWRkaW5nLWlubGluZTogdmFyKCAtLWtlbmRvLWxpc3R2aWV3LWl0ZW0tcGFkZGluZy14LCAjeyRrZW5kby1saXN0dmlldy1pdGVtLXBhZGRpbmcteH0gKTtcbiAgICAgICAgcGFkZGluZy1ibG9jazogdmFyKCAtLWtlbmRvLWxpc3R2aWV3LWl0ZW0tcGFkZGluZy15LCAjeyRrZW5kby1saXN0dmlldy1pdGVtLXBhZGRpbmcteX0gKTtcbiAgICB9XG4gICAgLmstbGlzdHZpZXctaXRlbS1wYWRkaW5nLXNxdWFyZSB7XG4gICAgICAgIHBhZGRpbmc6IHZhciggLS1rZW5kby1saXN0dmlldy1pdGVtLXBhZGRpbmcteSwgI3ska2VuZG8tbGlzdHZpZXctaXRlbS1wYWRkaW5nLXl9ICk7XG4gICAgfVxuICAgIC5rLWxpc3R2aWV3LWl0ZW0tcGFkZGluZy1zcXVhcmUgLmstbGlzdHZpZXctbGluayB7XG4gICAgICAgIG1hcmdpbjogKC0ka2VuZG8tbGlzdHZpZXctaXRlbS1wYWRkaW5nLXkpO1xuICAgICAgICBwYWRkaW5nOiB2YXIoIC0ta2VuZG8tbGlzdHZpZXctaXRlbS1wYWRkaW5nLXksICN7JGtlbmRvLWxpc3R2aWV3LWl0ZW0tcGFkZGluZy15fSApO1xuICAgIH1cblxuXG4gICAgLy8gSGVhZGVyXG4gICAgLmstbGlzdHZpZXctaGVhZGVyIHtcbiAgICAgICAgYm9yZGVyLXdpZHRoOiAwO1xuICAgICAgICBib3JkZXItc3R5bGU6IHNvbGlkO1xuICAgICAgICBib3JkZXItY29sb3I6IGluaGVyaXQ7XG4gICAgICAgIHBhZGRpbmctaW5saW5lOiB2YXIoIC0ta2VuZG8tbGlzdHZpZXctaGVhZGVyLXBhZGRpbmcteCwgI3ska2VuZG8tbGlzdHZpZXctaGVhZGVyLXBhZGRpbmcteH0gKTtcbiAgICAgICAgcGFkZGluZy1ibG9jazogdmFyKCAtLWtlbmRvLWxpc3R2aWV3LWhlYWRlci1wYWRkaW5nLXksICN7JGtlbmRvLWxpc3R2aWV3LWhlYWRlci1wYWRkaW5nLXl9ICk7XG4gICAgfVxuICAgIC5rLWxpc3R2aWV3LWJvcmRlcmVkID4gLmstbGlzdHZpZXctaGVhZGVyIHtcbiAgICAgICAgYm9yZGVyLWJsb2NrLWVuZC13aWR0aDogdmFyKCAtLWtlbmRvLWxpc3R2aWV3LWJvcmRlci13aWR0aCwgI3ska2VuZG8tbGlzdHZpZXctYm9yZGVyLXdpZHRofSApO1xuICAgIH1cblxuXG4gICAgLy8gTGlzdHZpZXcgZm9vdGVyXG4gICAgLmstbGlzdHZpZXctZm9vdGVyIHtcbiAgICAgICAgYm9yZGVyLXdpZHRoOiAwO1xuICAgICAgICBib3JkZXItc3R5bGU6IHNvbGlkO1xuICAgICAgICBib3JkZXItY29sb3I6IGluaGVyaXQ7XG4gICAgICAgIHBhZGRpbmctaW5saW5lOiB2YXIoIC0ta2VuZG8tbGlzdHZpZXctZm9vdGVyLXBhZGRpbmcteCwgI3ska2VuZG8tbGlzdHZpZXctZm9vdGVyLXBhZGRpbmcteH0gKTtcbiAgICAgICAgcGFkZGluZy1ibG9jazogdmFyKCAtLWtlbmRvLWxpc3R2aWV3LWZvb3Rlci1wYWRkaW5nLXksICN7JGtlbmRvLWxpc3R2aWV3LWZvb3Rlci1wYWRkaW5nLXl9ICk7XG5cbiAgICB9XG4gICAgLmstbGlzdHZpZXctYm9yZGVyZWQgPiAuay1saXN0dmlldy1mb290ZXIge1xuICAgICAgICBib3JkZXItYmxvY2stc3RhcnQtd2lkdGg6IHZhciggLS1rZW5kby1saXN0dmlldy1ib3JkZXItd2lkdGgsICN7JGtlbmRvLWxpc3R2aWV3LWJvcmRlci13aWR0aH0gKTtcbiAgICB9XG5cblxuICAgIC8vIExpc3R2aWV3IHBhZ2VyXG4gICAgLmstbGlzdHZpZXctcGFnZXIge1xuICAgICAgICBib3JkZXItd2lkdGg6IDA7XG4gICAgICAgIGJvcmRlci1jb2xvcjogaW5oZXJpdDtcbiAgICB9XG4gICAgLmstbGlzdHZpZXctYm9yZGVyZWQgPiAuay1saXN0dmlldy1wYWdlci10b3Age1xuICAgICAgICBib3JkZXItYmxvY2stZW5kLXdpZHRoOiB2YXIoIC0ta2VuZG8tbGlzdHZpZXctYm9yZGVyLXdpZHRoLCAjeyRrZW5kby1saXN0dmlldy1ib3JkZXItd2lkdGh9ICk7XG4gICAgfVxuICAgIC5rLWxpc3R2aWV3LWJvcmRlcmVkID4gLmstbGlzdHZpZXctcGFnZXItYm90dG9tIHtcbiAgICAgICAgYm9yZGVyLWJsb2NrLXN0YXJ0LXdpZHRoOiB2YXIoIC0ta2VuZG8tbGlzdHZpZXctYm9yZGVyLXdpZHRoLCAjeyRrZW5kby1saXN0dmlldy1ib3JkZXItd2lkdGh9ICk7XG4gICAgfVxuXG5cbiAgICAvLyBCb3JkZXJzXG4gICAgLmstbGlzdHZpZXctYm9yZGVycy1hbGwge1xuICAgICAgICAuay1saXN0dmlldy1pdGVtIHtcbiAgICAgICAgICAgIGJvcmRlci13aWR0aDogdmFyKCAtLWtlbmRvLWxpc3R2aWV3LWJvcmRlci13aWR0aCwgI3ska2VuZG8tbGlzdHZpZXctYm9yZGVyLXdpZHRofSApO1xuICAgICAgICB9XG4gICAgfVxuICAgIC5rLWxpc3R2aWV3LWJvcmRlcnMtaG9yaXpvbnRhbCB7XG4gICAgICAgIC5rLWxpc3R2aWV3LWl0ZW0ge1xuICAgICAgICAgICAgYm9yZGVyLWJsb2NrLXN0YXJ0LXdpZHRoOiB2YXIoIC0ta2VuZG8tbGlzdHZpZXctYm9yZGVyLXdpZHRoLCAjeyRrZW5kby1saXN0dmlldy1ib3JkZXItd2lkdGh9ICk7XG4gICAgICAgIH1cbiAgICAgICAgLmstbGlzdHZpZXctaXRlbTpmaXJzdC1jaGlsZCB7XG4gICAgICAgICAgICBib3JkZXItYmxvY2stc3RhcnQtd2lkdGg6IDA7XG4gICAgICAgIH1cbiAgICB9XG4gICAgLmstbGlzdHZpZXctYm9yZGVycy12ZXJ0aWNhbCB7XG4gICAgICAgIC5rLWxpc3R2aWV3LWl0ZW0ge1xuICAgICAgICAgICAgYm9yZGVyLWlubGluZS1zdGFydC13aWR0aDogdmFyKCAtLWtlbmRvLWxpc3R2aWV3LWJvcmRlci13aWR0aCwgI3ska2VuZG8tbGlzdHZpZXctYm9yZGVyLXdpZHRofSApO1xuICAgICAgICB9XG4gICAgICAgIC5rLWxpc3R2aWV3LWl0ZW06Zmlyc3QtY2hpbGQge1xuICAgICAgICAgICAgYm9yZGVyLWlubGluZS1zdGFydC13aWR0aDogMDtcbiAgICAgICAgfVxuICAgIH1cbn1cbiIsIkB1c2UgXCIuLi9jb3JlL19pbmRleC5zY3NzXCIgYXMgKjtcbkB1c2UgXCIuL192YXJpYWJsZXMuc2Nzc1wiIGFzICo7XG5cbkBtaXhpbiBrZW5kby1saXN0dmlldy0tdGhlbWUoKSB7XG4gICAgLy8gTGlzdHZpZXdcbiAgICAuay1saXN0dmlldyB7XG4gICAgICAgIEBpbmNsdWRlIGZpbGwoXG4gICAgICAgICAgICB2YXIoIC0ta2VuZG8tbGlzdHZpZXctdGV4dCwgJGtlbmRvLWxpc3R2aWV3LXRleHQgKSxcbiAgICAgICAgICAgIHZhciggLS1rZW5kby1saXN0dmlldy1iZywgJGtlbmRvLWxpc3R2aWV3LWJnICksXG4gICAgICAgICAgICB2YXIoIC0ta2VuZG8tbGlzdHZpZXctYm9yZGVyLCAka2VuZG8tbGlzdHZpZXctYm9yZGVyIClcbiAgICAgICAgKTtcbiAgICB9XG5cblxuICAgIC8vIExpc3R2aWV3IGNvbnRlbnRcbiAgICAuay1saXN0dmlldy1jb250ZW50IHtcblxuICAgICAgICA+IC5rLWZvY3VzIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGZpbGwoXG4gICAgICAgICAgICAgICAgdmFyKCAtLWtlbmRvLWxpc3R2aWV3LWl0ZW0tZm9jdXMtdGV4dCwgJGtlbmRvLWxpc3R2aWV3LWl0ZW0tZm9jdXMtdGV4dCApLFxuICAgICAgICAgICAgICAgIHZhciggLS1rZW5kby1saXN0dmlldy1pdGVtLWZvY3VzLWJnLCAka2VuZG8tbGlzdHZpZXctaXRlbS1mb2N1cy1iZyApXG4gICAgICAgICAgICApO1xuICAgICAgICAgICAgYm94LXNoYWRvdzogdmFyKCAtLWtlbmRvLWxpc3R2aWV3LWl0ZW0tZm9jdXMtc2hhZG93LCAka2VuZG8tbGlzdHZpZXctaXRlbS1mb2N1cy1zaGFkb3cgKTtcbiAgICAgICAgfVxuXG4gICAgICAgID4gLmstc2VsZWN0ZWQge1xuICAgICAgICAgICAgQGluY2x1ZGUgZmlsbChcbiAgICAgICAgICAgICAgICB2YXIoIC0ta2VuZG8tbGlzdHZpZXctaXRlbS1zZWxlY3RlZC10ZXh0LCAka2VuZG8tbGlzdHZpZXctaXRlbS1zZWxlY3RlZC10ZXh0ICksXG4gICAgICAgICAgICAgICAgdmFyKCAtLWtlbmRvLWxpc3R2aWV3LWl0ZW0tc2VsZWN0ZWQtYmcsICRrZW5kby1saXN0dmlldy1pdGVtLXNlbGVjdGVkLWJnIClcbiAgICAgICAgICAgIClcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8vIExpc3QgaXRlbVxuICAgIC5rLWxpc3R2aWV3LWl0ZW0ge1xuICAgICAgICBib3JkZXItY29sb3I6ICRrZW5kby1saXN0dmlldy1ib3JkZXI7XG4gICAgfVxuXG4gICAgLy8gTGlzdHZpZXcgaGVhZGVyXG4gICAgLmstbGlzdHZpZXctaGVhZGVyIHtcbiAgICAgICAgQGluY2x1ZGUgZmlsbChcbiAgICAgICAgICAgIHZhciggLS1rZW5kby1saXN0dmlldy1oZWFkZXItdGV4dCwgJGtlbmRvLWxpc3R2aWV3LWhlYWRlci10ZXh0ICksXG4gICAgICAgICAgICB2YXIoIC0ta2VuZG8tbGlzdHZpZXctaGVhZGVyLWJnLCAka2VuZG8tbGlzdHZpZXctaGVhZGVyLWJnICksXG4gICAgICAgICAgICB2YXIoIC0ta2VuZG8tbGlzdHZpZXctaGVhZGVyLWJvcmRlciwgJGtlbmRvLWxpc3R2aWV3LWhlYWRlci1ib3JkZXIgKVxuICAgICAgICApXG4gICAgfVxuXG4gICAgLy8gTGlzdHZpZXcgZm9vdGVyXG4gICAgLmstbGlzdHZpZXctZm9vdGVyIHtcbiAgICAgICAgQGluY2x1ZGUgZmlsbChcbiAgICAgICAgICAgIHZhciggLS1rZW5kby1saXN0dmlldy1mb290ZXItdGV4dCwgJGtlbmRvLWxpc3R2aWV3LWZvb3Rlci10ZXh0ICksXG4gICAgICAgICAgICB2YXIoIC0ta2VuZG8tbGlzdHZpZXctZm9vdGVyLWJnLCAka2VuZG8tbGlzdHZpZXctZm9vdGVyLWJnIClcbiAgICAgICAgKVxuICAgIH1cbn1cbiIsIkB1c2UgXCJzYXNzOm1hcFwiO1xuQHVzZSBcIi4uL2NvcmUvX2luZGV4LnNjc3NcIiBhcyAqO1xuQHVzZSBcIi4uL2xpc3QvX3ZhcmlhYmxlcy5zY3NzXCJhcyAqO1xuXG4vLy8gVGhlIGhvcml6b250YWwgcGFkZGluZyBvZiB0aGUgTGlzdFZpZXcuXG4vLy8gQGdyb3VwIGxpc3R2aWV3XG4ka2VuZG8tbGlzdHZpZXctcGFkZGluZy14OiBrLXNwYWNpbmcoMSkgIWRlZmF1bHQ7XG4vLy8gVGhlIHZlcnRpY2FsIHBhZGRpbmcgb2YgdGhlIExpc3RWaWV3LlxuLy8vIEBncm91cCBsaXN0dmlld1xuJGtlbmRvLWxpc3R2aWV3LXBhZGRpbmcteTogay1zcGFjaW5nKDEpICFkZWZhdWx0O1xuLy8vIFRoZSB3aWR0aCBvZiB0aGUgYm9yZGVyIGFyb3VuZCBib3JkZXJlZCBMaXN0Vmlldy5cbi8vLyBAZ3JvdXAgbGlzdHZpZXdcbiRrZW5kby1saXN0dmlldy1ib3JkZXItd2lkdGg6IDFweCAhZGVmYXVsdDtcblxuLy8vIFRoZSBob3Jpem9udGFsIHBhZGRpbmcgb2YgdGhlIExpc3RWaWV3IGhlYWRlci5cbi8vLyBAZ3JvdXAgbGlzdHZpZXdcbiRrZW5kby1saXN0dmlldy1oZWFkZXItcGFkZGluZy14OiBrLXNwYWNpbmcoNCkgIWRlZmF1bHQ7XG4vLy8gVGhlIHZlcnRpY2FsIHBhZGRpbmcgb2YgdGhlIExpc3RWaWV3IGhlYWRlci5cbi8vLyBAZ3JvdXAgbGlzdHZpZXdcbiRrZW5kby1saXN0dmlldy1oZWFkZXItcGFkZGluZy15OiBrLXNwYWNpbmcoMikgIWRlZmF1bHQ7XG5cbi8vLyBUaGUgaG9yaXpvbnRhbCBwYWRkaW5nIG9mIHRoZSBMaXN0VmlldyBmb290ZXIuXG4vLy8gQGdyb3VwIGxpc3R2aWV3XG4ka2VuZG8tbGlzdHZpZXctZm9vdGVyLXBhZGRpbmcteDogJGtlbmRvLWxpc3R2aWV3LWhlYWRlci1wYWRkaW5nLXggIWRlZmF1bHQ7XG4vLy8gVGhlIHZlcnRpY2FsIHBhZGRpbmcgb2YgdGhlIExpc3RWaWV3IGZvb3Rlci5cbi8vLyBAZ3JvdXAgbGlzdHZpZXdcbiRrZW5kby1saXN0dmlldy1mb290ZXItcGFkZGluZy15OiAka2VuZG8tbGlzdHZpZXctaGVhZGVyLXBhZGRpbmcteSAhZGVmYXVsdDtcblxuLy8vIFRoZSBob3Jpem9udGFsIHBhZGRpbmcgb2YgdGhlIExpc3RWaWV3IGl0ZW1zLlxuLy8vIEBncm91cCBsaXN0dmlld1xuJGtlbmRvLWxpc3R2aWV3LWl0ZW0tcGFkZGluZy14OiBrLXNwYWNpbmcoMSkgIWRlZmF1bHQ7XG4vLy8gVGhlIHZlcnRpY2FsIHBhZGRpbmcgb2YgdGhlIExpc3RWaWV3IGl0ZW1zLlxuLy8vIEBncm91cCBsaXN0dmlld1xuJGtlbmRvLWxpc3R2aWV3LWl0ZW0tcGFkZGluZy15OiBrLXNwYWNpbmcoMSkgIWRlZmF1bHQ7XG5cbi8vLyBUaGUgZm9udCBmYW1pbHkgb2YgdGhlIExpc3RWaWV3LlxuLy8vIEBncm91cCBsaXN0dmlld1xuJGtlbmRvLWxpc3R2aWV3LWZvbnQtZmFtaWx5OiB2YXIoIC0ta2VuZG8tZm9udC1mYW1pbHksIGluaXRpYWwgKSAhZGVmYXVsdDtcbi8vLyBUaGUgZm9udCBzaXplIG9mIHRoZSBMaXN0Vmlldy5cbi8vLyBAZ3JvdXAgbGlzdHZpZXdcbiRrZW5kby1saXN0dmlldy1mb250LXNpemU6IHZhciggLS1rZW5kby1mb250LXNpemUsIGluaXRpYWwgKSAhZGVmYXVsdDtcbi8vLyBUaGUgbGluZSBoZWlnaHQgb2YgdGhlIExpc3RWaWV3LlxuLy8vIEBncm91cCBsaXN0dmlld1xuJGtlbmRvLWxpc3R2aWV3LWxpbmUtaGVpZ2h0OiB2YXIoIC0ta2VuZG8tbGluZS1oZWlnaHQsIGluaXRpYWwgKSAhZGVmYXVsdDtcblxuLy8vIFRoZSBnYXAgYmV0d2VlbiBpdGVtcyBvZiBMaXN0VmlldyB3aXRoIGdyaWQgbGF5b3V0LlxuLy8vIEBncm91cCBsaXN0dmlld1xuJGtlbmRvLWxpc3R2aWV3LWdyaWQtZ2FwOiBrLXNwYWNpbmcoLjApICFkZWZhdWx0O1xuXG4vLy8gVGhlIHRleHQgY29sb3Igb2YgdGhlIExpc3RWaWV3LlxuLy8vIEBncm91cCBsaXN0dmlld1xuJGtlbmRvLWxpc3R2aWV3LXRleHQ6IHZhciggLS1rZW5kby1jb21wb25lbnQtdGV4dCwgaW5pdGlhbCApICFkZWZhdWx0O1xuLy8vIFRoZSBiYWNrZ3JvdW5kIGNvbG9yIG9mIHRoZSBMaXN0Vmlldy5cbi8vLyBAZ3JvdXAgbGlzdHZpZXdcbiRrZW5kby1saXN0dmlldy1iZzogdmFyKCAtLWtlbmRvLWNvbXBvbmVudC1iZywgaW5pdGlhbCApICFkZWZhdWx0O1xuLy8vIFRoZSBib3JkZXIgY29sb3Igb2YgdGhlIExpc3RWaWV3LlxuLy8vIEBncm91cCBsaXN0dmlld1xuJGtlbmRvLWxpc3R2aWV3LWJvcmRlcjogdmFyKCAtLWtlbmRvLWNvbXBvbmVudC1ib3JkZXIsIGluaXRpYWwgKSAhZGVmYXVsdDtcblxuLy8vIFRoZSB0ZXh0IGNvbG9yIG9mIHRoZSBMaXN0VmlldyBoZWFkZXIuXG4vLy8gQGdyb3VwIGxpc3R2aWV3XG4ka2VuZG8tbGlzdHZpZXctaGVhZGVyLXRleHQ6IGluaXRpYWwgIWRlZmF1bHQ7XG4vLy8gVGhlIGJhY2tncm91bmQgY29sb3Igb2YgdGhlIExpc3RWaWV3IGhlYWRlci5cbi8vLyBAZ3JvdXAgbGlzdHZpZXdcbiRrZW5kby1saXN0dmlldy1oZWFkZXItYmc6IGluaXRpYWwgIWRlZmF1bHQ7XG4vLy8gVGhlIGJvcmRlciBjb2xvciBvZiB0aGUgTGlzdFZpZXcgaGVhZGVyLlxuLy8vIEBncm91cCBsaXN0dmlld1xuJGtlbmRvLWxpc3R2aWV3LWhlYWRlci1ib3JkZXI6ICRrZW5kby1saXN0dmlldy1ib3JkZXIgIWRlZmF1bHQ7XG5cbi8vLyBUaGUgdGV4dCBjb2xvciBvZiB0aGUgTGlzdFZpZXcgZm9vdGVyLlxuLy8vIEBncm91cCBsaXN0dmlld1xuJGtlbmRvLWxpc3R2aWV3LWZvb3Rlci10ZXh0OiBpbml0aWFsICFkZWZhdWx0O1xuLy8vIFRoZSBiYWNrZ3JvdW5kIGNvbG9yIG9mIHRoZSBMaXN0VmlldyBmb290ZXIuXG4vLy8gQGdyb3VwIGxpc3R2aWV3XG4ka2VuZG8tbGlzdHZpZXctZm9vdGVyLWJnOiBpbml0aWFsICFkZWZhdWx0O1xuXG4vLy8gVGhlIHRleHQgY29sb3Igb2YgdGhlIHNlbGVjdGVkIExpc3RWaWV3IGl0ZW1zLlxuLy8vIEBncm91cCBsaXN0dmlld1xuJGtlbmRvLWxpc3R2aWV3LWl0ZW0tc2VsZWN0ZWQtdGV4dDogaW5pdGlhbCAhZGVmYXVsdDtcbi8vLyBUaGUgYmFja2dyb3VuZCBjb2xvciBvZiB0aGUgc2VsZWN0ZWQgTGlzdFZpZXcgaXRlbXMuXG4vLy8gQGdyb3VwIGxpc3R2aWV3XG4ka2VuZG8tbGlzdHZpZXctaXRlbS1zZWxlY3RlZC1iZzogaWYoJGtlbmRvLWVuYWJsZS1jb2xvci1zeXN0ZW0sIGstY29sb3IoIGJhc2UtYWN0aXZlICksIGstZ2V0LXRoZW1lLWNvbG9yLXZhciggbmV1dHJhbC0yMCApKSAhZGVmYXVsdDtcblxuLy8vIFRoZSB0ZXh0IGNvbG9yIG9mIHRoZSBmb2N1c2VkIExpc3RWaWV3IGl0ZW1zLlxuLy8vIEBncm91cCBsaXN0dmlld1xuJGtlbmRvLWxpc3R2aWV3LWl0ZW0tZm9jdXMtdGV4dDogaW5pdGlhbCAhZGVmYXVsdDtcbi8vLyBUaGUgYmFja2dyb3VuZCBjb2xvciBvZiB0aGUgZm9jdXNlZCBMaXN0VmlldyBpdGVtcy5cbi8vLyBAZ3JvdXAgbGlzdHZpZXdcbiRrZW5kby1saXN0dmlldy1pdGVtLWZvY3VzLWJnOiBpbml0aWFsICFkZWZhdWx0O1xuLy8vIFRoZSBib3ggc2hhZG93IG9mIHRoZSBmb2N1c2VkIExpc3RWaWV3IGl0ZW1zLlxuLy8vIEBncm91cCBsaXN0dmlld1xuJGtlbmRvLWxpc3R2aWV3LWl0ZW0tZm9jdXMtc2hhZG93OiB2YXIoIC0ta2VuZG8tbGlzdC1pdGVtLWZvY3VzLXNoYWRvdywgJGtlbmRvLWxpc3QtaXRlbS1mb2N1cy1zaGFkb3cgKSAhZGVmYXVsdDtcbiIsIkB1c2UgXCIuLi9jb3JlL19pbmRleC5zY3NzXCIgYXMgKjtcbkB1c2UgXCIuLi9pY29ucy9fdmFyaWFibGVzLnNjc3NcIiBhcyAqO1xuQHVzZSBcIi4uL2V4cGFuc2lvbi1wYW5lbC9fdmFyaWFibGVzLnNjc3NcIiBhcyAqO1xuQHVzZSBcIi4uL2NvcmUvc3BhY2luZy9faW5kZXguc2Nzc1wiIGFzICo7XG5cbkB1c2UgXCIuL192YXJpYWJsZXMuc2Nzc1wiIGFzICo7XG5AdXNlIFwiLi4vY29yZS90eXBvZ3JhcGh5L19pbmRleC5zY3NzXCIgYXMgKjtcblxuQG1peGluIGtlbmRvLWNoYXJ0LXdpemFyZC0tbGF5b3V0KCkge1xuICAgLy8gQ2hhcnQgd2l6YXJkXG4gICAuay1jaGFydC13aXphcmQge1xuICAgICAgICAuay1pY29uLXRleHQtd3JhcHBlciB7XG4gICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgICAgIGdhcDogdmFyKCAtLWtlbmRvLWNoYXJ0LXdpemFyZC1pY29uLXRleHQtZ2FwLCAjeyRrZW5kby1jaGFydC13aXphcmQtaWNvbi10ZXh0LWdhcH0gKTtcbiAgICAgICAgfVxuXG4gICAgICAgIC5rLWljb24tYmFja2dyb3VuZC1hcmVhIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICBwYWRkaW5nOiB2YXIoIC0ta2VuZG8tY2hhcnQtd2l6YXJkLWljb24tYXJlYS1wYWRkaW5nLCAjeyRrZW5kby1jaGFydC13aXphcmQtaWNvbi1hcmVhLXBhZGRpbmd9ICk7XG4gICAgICAgICAgICBib3JkZXItcmFkaXVzOiB2YXIoIC0ta2VuZG8tY2hhcnQtd2l6YXJkLWljb24tYXJlYS1ib3JkZXItcmFkaXVzZywgI3ska2VuZG8tY2hhcnQtd2l6YXJkLWljb24tYXJlYS1ib3JkZXItcmFkaXVzfSApO1xuICAgICAgICB9XG4gICB9XG5cbiAgIC5rLWNoYXJ0LXR5cGVzLXdyYXBwZXIge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgICBnYXA6IHZhciggLS1rZW5kby1jaGFydC13aXphcmQtY2hhcnQtdHlwZS1zcGFjaW5nLCAjeyRrZW5kby1jaGFydC13aXphcmQtY2hhcnQtdHlwZS1zcGFjaW5nfSApO1xuICAgIH1cblxuICAgIC5rLWNoYXJ0LXdpemFyZC1zcGxpdHRlciB7XG4gICAgICAgIGhlaWdodDogMTAwJTtcblxuICAgICAgICAuay10YWJzdHJpcCB7XG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5rLWNoYXJ0LXdpemFyZC1wcmV2aWV3LXBhbmUge1xuICAgICAgICBwYWRkaW5nOiB2YXIoIC0ta2VuZG8tY2hhcnQtd2l6YXJkLXByZXZpZXctcGFuZS1wYWRkaW5nLCAjeyRrZW5kby1jaGFydC13aXphcmQtcHJldmlldy1wYW5lLXBhZGRpbmd9ICk7XG4gICAgfVxuXG4gICAgLmstY2hhcnQtd2l6YXJkLXByb3BlcnR5LXBhbmUge1xuICAgICAgICBwYWRkaW5nOiB2YXIoIC0ta2VuZG8tY2hhcnQtd2l6YXJkLXByb3BlcnR5LXBhbmUtcGFkZGluZywgI3ska2VuZG8tY2hhcnQtd2l6YXJkLXByb3BlcnR5LXBhbmUtcGFkZGluZ30gKTtcbiAgICB9XG59XG4iLCJAdXNlIFwiLi9fdmFyaWFibGVzLnNjc3NcIiBhcyAqO1xuXG5AbWl4aW4ga2VuZG8tY2hhcnQtd2l6YXJkLS10aGVtZSgpIHtcbiAgICAuay1jaGFydC13aXphcmQge1xuICAgICAgICAuay1pY29uLXRleHQtd3JhcHBlciB7XG4gICAgICAgICAgICAmLmstc2VsZWN0ZWQge1xuICAgICAgICAgICAgICAgIGNvbG9yOiB2YXIoIC0ta2VuZG8tY2hhcnQtd2l6YXJkLWNoYXJ0LXR5cGUtc2VsZWN0ZWQtY29sb3IsICN7JGtlbmRvLWNoYXJ0LXdpemFyZC1jaGFydC10eXBlLXNlbGVjdGVkLWNvbG9yfSApO1xuXG4gICAgICAgICAgICAgICAgLmstaWNvbi1iYWNrZ3JvdW5kLWFyZWEge1xuICAgICAgICAgICAgICAgICAgICBib3gtc2hhZG93OiB2YXIoIC0ta2VuZG8tY2hhcnQtd2l6YXJkLWljb24tYXJlYS1zZWxlY3RlZC1zaGFkb3csICN7JGtlbmRvLWNoYXJ0LXdpemFyZC1pY29uLWFyZWEtc2VsZWN0ZWQtc2hhZG93fSApO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgJjpob3ZlcixcbiAgICAgICAgICAgICYuay1ob3ZlciB7XG4gICAgICAgICAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAmOmZvY3VzLFxuICAgICAgICAgICAgJi5rLWZvY3VzIHtcbiAgICAgICAgICAgICAgICAuay1pY29uLWJhY2tncm91bmQtYXJlYSB7XG4gICAgICAgICAgICAgICAgICAgIGJveC1zaGFkb3c6IHZhciggLS1rZW5kby1jaGFydC13aXphcmQtaWNvbi1hcmVhLWZvY3VzLXNoYWRvdywgI3ska2VuZG8tY2hhcnQtd2l6YXJkLWljb24tYXJlYS1mb2N1cy1zaGFkb3d9ICk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgJiAuay1pY29uLWJhY2tncm91bmQtYXJlYSB7XG4gICAgICAgICAgICBjb2xvcjogdmFyKCAtLWtlbmRvLWNoYXJ0LXdpemFyZC1pY29uLWFyZWEtY29sb3IsICN7JGtlbmRvLWNoYXJ0LXdpemFyZC1pY29uLWFyZWEtY29sb3J9ICk7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoIC0ta2VuZG8tY2hhcnQtd2l6YXJkLWljb24tYXJlYS1iZywgI3ska2VuZG8tY2hhcnQtd2l6YXJkLWljb24tYXJlYS1iZ30gKTtcbiAgICAgICAgfVxuICAgIH1cbn1cbiIsIkB1c2UgXCJzYXNzOm1hcFwiO1xuQHVzZSBcIi4uL2NvcmUvX2luZGV4LnNjc3NcIiBhcyAqO1xuQHVzZSBcIi4uL21lbnUvX3ZhcmlhYmxlcy5zY3NzXCJhcyAqO1xuQHVzZSBcIi4uL3Rvb2xiYXIvX3ZhcmlhYmxlcy5zY3NzXCJhcyAqO1xuQHVzZSBcIi4uL2Zvcm1zL192YXJpYWJsZXMuc2Nzc1wiIGFzICo7XG5AdXNlIFwiLi4vaW5wdXQvX3ZhcmlhYmxlcy5zY3NzXCIgYXMgKjtcbkB1c2UgXCIuLi9saXN0L192YXJpYWJsZXMuc2Nzc1wiIGFzICo7XG5AdXNlIFwiLi9fdmFyaWFibGVzLnNjc3NcIiBhcyAqO1xuQHVzZSBcIi4uL2NvcmUvc3BhY2luZy9faW5kZXguc2Nzc1wiIGFzICo7XG5cbkBtaXhpbiBrZW5kby1zcHJlYWRzaGVldC0tbGF5b3V0KCkge1xuXG4gICAgLy8gU3ByZWFkc2hlZXRcbiAgICAuay1zcHJlYWRzaGVldCB7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBoZWlnaHQ6IDYwMHB4O1xuICAgICAgICBib3JkZXItd2lkdGg6IHZhciggLS1rZW5kby1zcHJlYWRzaGVldC1ib3JkZXItd2lkdGgsICN7JGtlbmRvLXNwcmVhZHNoZWV0LWJvcmRlci13aWR0aH0gKTtcbiAgICAgICAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcbiAgICAgICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICAgICAgb3V0bGluZTogMDtcbiAgICAgICAgZm9udC1mYW1pbHk6IHZhciggLS1rZW5kby1zcHJlYWRzaGVldC1mb250LWZhbWlseSwgI3ska2VuZG8tc3ByZWFkc2hlZXQtZm9udC1mYW1pbHl9ICk7XG4gICAgICAgIGZvbnQtc2l6ZTogdmFyKCAtLWtlbmRvLXNwcmVhZHNoZWV0LWZvbnQtc2l6ZSwgI3ska2VuZG8tc3ByZWFkc2hlZXQtZm9udC1zaXplfSApO1xuICAgICAgICBsaW5lLWhlaWdodDogdmFyKCAtLWtlbmRvLXNwcmVhZHNoZWV0LWxpbmUtaGVpZ2h0LCAjeyRrZW5kby1zcHJlYWRzaGVldC1saW5lLWhlaWdodH0gKTtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgICAgY3Vyc29yOiBkZWZhdWx0O1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIC13ZWJraXQtdG91Y2gtY2FsbG91dDogbm9uZTtcbiAgICAgICAgLXdlYmtpdC10YXAtaGlnaGxpZ2h0LWNvbG9yOiAka2VuZG8tY29sb3ItcmdiYS10cmFuc3BhcmVudDtcblxuICAgICAgICAuay12ZXJ0aWNhbC1hbGlnbi1jZW50ZXIge1xuICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICAgICAgaW5zZXQtYmxvY2stc3RhcnQ6IDUwJTtcbiAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTtcbiAgICAgICAgfVxuICAgICAgICAuay12ZXJ0aWNhbC1hbGlnbi1ib3R0b20ge1xuICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICAgICAgaW5zZXQtYmxvY2stc3RhcnQ6IDEwMCU7XG4gICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoIC0xMDAlICk7XG4gICAgICAgIH1cbiAgICB9XG5cblxuICAgIC8vIFF1aWNrIGFjY2VzcyB0b29sYmFyXG4gICAgLmstc3ByZWFkc2hlZXQtcXVpY2stYWNjZXNzLXRvb2xiYXIge1xuICAgICAgICBwYWRkaW5nOiB2YXIoIC0ta2VuZG8tdG9vbGJhci1tZC1wYWRkaW5nLXksICN7JGtlbmRvLXRvb2xiYXItbWQtcGFkZGluZy15fSApO1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB6LWluZGV4OiAyO1xuICAgICAgICBpbnNldC1ibG9jay1zdGFydDogMDtcbiAgICAgICAgaW5zZXQtaW5saW5lLXN0YXJ0OiAwO1xuICAgIH1cblxuICAgIC8vIFRvb2xiYXJcbiAgICAuay1zcHJlYWRzaGVldC10b29sYmFyIHtcbiAgICAgICAgYm9yZGVyLXRvcC13aWR0aDogMDtcbiAgICAgICAgYm9yZGVyLWlubGluZS13aWR0aDogMDtcbiAgICB9XG5cbiAgICAvLyBBY3Rpb24gYmFyXG4gICAgLmstc3ByZWFkc2hlZXQtYWN0aW9uLWJhciB7XG4gICAgICAgIGJvcmRlci13aWR0aDogMCAwIHZhciggLS1rZW5kby1zcHJlYWRzaGVldC1hY3Rpb24tYmFyLWJvcmRlci13aWR0aCwgI3ska2VuZG8tc3ByZWFkc2hlZXQtYWN0aW9uLWJhci1ib3JkZXItd2lkdGh9ICk7XG4gICAgICAgIGJvcmRlci1zdHlsZTogc29saWQ7XG4gICAgICAgIGJvcmRlci1jb2xvcjogaW5oZXJpdDtcbiAgICAgICAgcGFkZGluZy1ibG9jazogdmFyKCAtLWtlbmRvLXNwcmVhZHNoZWV0LWFjdGlvbi1iYXItcGFkZGluZy15LCAjeyRrZW5kby1zcHJlYWRzaGVldC1hY3Rpb24tYmFyLXBhZGRpbmcteX0gKTtcbiAgICAgICAgcGFkZGluZy1pbmxpbmU6IHZhciggLS1rZW5kby1zcHJlYWRzaGVldC1hY3Rpb24tYmFyLXBhZGRpbmcteCwgI3ska2VuZG8tc3ByZWFkc2hlZXQtYWN0aW9uLWJhci1wYWRkaW5nLXh9ICk7XG4gICAgICAgIGZvbnQtc2l6ZTogdmFyKCAtLWtlbmRvLXNwcmVhZHNoZWV0LWFjdGlvbi1iYXItZm9udC1zaXplLCAjeyRrZW5kby1zcHJlYWRzaGVldC1hY3Rpb24tYmFyLWZvbnQtc2l6ZX0gKTtcbiAgICAgICAgZm9udC1mYW1pbHk6IHZhciggLS1rZW5kby1zcHJlYWRzaGVldC1hY3Rpb24tYmFyLWZvbnQtZmFtaWx5LCAjeyRrZW5kby1zcHJlYWRzaGVldC1hY3Rpb24tYmFyLWZvbnQtZmFtaWx5fSApO1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gICAgICAgIGdhcDogdmFyKCAtLWtlbmRvLXNwcmVhZHNoZWV0LWFjdGlvbi1iYXItc3BhY2luZywgI3ska2VuZG8tc3ByZWFkc2hlZXQtYWN0aW9uLWJhci1zcGFjaW5nfSApO1xuICAgIH1cbiAgICAuay1zcHJlYWRzaGVldC1uYW1lLWVkaXRvciB7XG4gICAgICAgIHdpZHRoOiAxMGVtO1xuICAgIH1cbiAgICAuay1zcHJlYWRzaGVldC1mb3JtdWxhLWJhciB7XG4gICAgICAgIG1pbi13aWR0aDogMHB4O1xuICAgICAgICBib3JkZXItY29sb3I6IGluaGVyaXQ7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgIGZsZXg6IDE7XG4gICAgICAgIGdhcDogdmFyKCAtLWtlbmRvLXNwcmVhZHNoZWV0LWZvcm11bGEtYmFyLWdhcCwgI3ska2VuZG8tc3ByZWFkc2hlZXQtZm9ybXVsYS1iYXItZ2FwfSApO1xuXG4gICAgICAgID4gLmstaWNvbiB7XG4gICAgICAgICAgICBwYWRkaW5nLWlubGluZTogay1zcGFjaW5nKDEpO1xuICAgICAgICAgICAgcGFkZGluZy1ibG9jazogMDtcbiAgICAgICAgICAgIGJveC1zaXppbmc6IGNvbnRlbnQtYm94O1xuICAgICAgICAgICAgYm9yZGVyLXdpZHRoOiAwIDFweCAwIDA7XG4gICAgICAgICAgICBib3JkZXItc3R5bGU6IHNvbGlkO1xuICAgICAgICAgICAgYm9yZGVyLWNvbG9yOiBpbmhlcml0O1xuICAgICAgICAgICAgZmxleC1zaHJpbms6IDA7XG4gICAgICAgIH1cblxuICAgICAgICAuay10b29sdGlwLFxuICAgICAgICAuay1ncm91cC1oZWFkZXIsXG4gICAgICAgIC5rLWxpc3Qtc2Nyb2xsZXIge1xuICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgfVxuXG4gICAgICAgIC5rLXNwcmVhZHNoZWV0LWZvcm11bGEtaW5wdXQge1xuICAgICAgICAgICAgcGFkZGluZy1pbmxpbmU6IHZhciggLS1rZW5kby1zcHJlYWRzaGVldC1mb3JtdWxhLWlucHV0LXBhZGRpbmcteCwgI3ska2VuZG8tc3ByZWFkc2hlZXQtZm9ybXVsYS1pbnB1dC1wYWRkaW5nLXh9ICk7XG4gICAgICAgICAgICBwYWRkaW5nLWJsb2NrOiB2YXIoIC0ta2VuZG8tc3ByZWFkc2hlZXQtZm9ybXVsYS1pbnB1dC1wYWRkaW5nLXksICN7JGtlbmRvLXNwcmVhZHNoZWV0LWZvcm11bGEtaW5wdXQtcGFkZGluZy15fSApO1xuICAgICAgICAgICAgbGluZS1oZWlnaHQ6IHZhciggLS1rZW5kby1zcHJlYWRzaGVldC1mb3JtdWxhLWlucHV0LWxpbmUtaGVpZ2h0LCAjeyRrZW5kby1zcHJlYWRzaGVldC1mb3JtdWxhLWlucHV0LWxpbmUtaGVpZ2h0fSApO1xuICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICAgICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgICAgICAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgICAgICAgICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcblxuICAgICAgICAgICAgJi5rLXNwcmVhZHNoZWV0LWFycmF5LWZvcm11bGEge1xuICAgICAgICAgICAgICAgICY6OmJlZm9yZSB7XG4gICAgICAgICAgICAgICAgICAgIGNvbnRlbnQ6IFwie1wiO1xuICAgICAgICAgICAgICAgICAgICBmb250LXdlaWdodDogNzAwO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAmOjphZnRlciB7XG4gICAgICAgICAgICAgICAgICAgIGNvbnRlbnQ6IFwifVwiO1xuICAgICAgICAgICAgICAgICAgICBmb250LXdlaWdodDogNzAwO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbiAgICAuay1zcHJlYWRzaGVldC1mb3JtdWxhLWlucHV0IHtcbiAgICAgICAgb3V0bGluZTogMDtcbiAgICAgICAgd2hpdGUtc3BhY2U6IHByZTtcbiAgICAgICAgZmxleDogMTtcbiAgICAgICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcblxuICAgICAgICA+IC5rLXN5bnRheC1mdW5jLmstc3ludGF4LWF0LXBvaW50LFxuICAgICAgICA+IC5rLXN5bnRheC1ib29sLmstc3ludGF4LWF0LXBvaW50LFxuICAgICAgICA+IC5rLXN5bnRheC1yZWYuay1zeW50YXgtYXQtcG9pbnQsXG4gICAgICAgID4gLmstc3ludGF4LXN0ci5rLXN5bnRheC1hdC1wb2ludCxcbiAgICAgICAgPiAuay1zeW50YXgtbnVtLmstc3ludGF4LWF0LXBvaW50IHtcbiAgICAgICAgICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xuICAgICAgICB9XG5cbiAgICAgICAgPiAuay1zZXJpZXMtYSxcbiAgICAgICAgPiAuay1zZXJpZXMtYixcbiAgICAgICAgPiAuay1zZXJpZXMtYyxcbiAgICAgICAgPiAuay1zZXJpZXMtZCB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICAgICAgfVxuICAgIH1cbiAgICAuay1zcHJlYWRzaGVldC1mb3JtdWxhLWxpc3Qge1xuICAgICAgICBtaW4td2lkdGg6IDEwMHB4O1xuXG4gICAgICAgIC5rLWl0ZW0ge1xuICAgICAgICAgICAgcGFkZGluZy1pbmxpbmU6IHZhciggLS1rZW5kby1saXN0LW1kLWl0ZW0tcGFkZGluZy14LCAjeyRrZW5kby1saXN0LW1kLWl0ZW0tcGFkZGluZy14fSApO1xuICAgICAgICAgICAgcGFkZGluZy1ibG9jazogdmFyKCAtLWtlbmRvLWxpc3QtbWQtaXRlbS1wYWRkaW5nLXksICN7JGtlbmRvLWxpc3QtbWQtaXRlbS1wYWRkaW5nLXl9ICk7XG4gICAgICAgIH1cbiAgICB9XG4gICAgLmstc3ludGF4LWZ1bmMsXG4gICAgLmstc3ludGF4LXN0YXJ0ZXhwIHtcbiAgICAgICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gICAgfVxuXG5cbiAgICAvLyBDZWxsIGVkaXRvclxuICAgIC5rLXNwcmVhZHNoZWV0LWNlbGwtZWRpdG9yIHtcbiAgICAgICAgcGFkZGluZy1ibG9jazogdmFyKCAtLWtlbmRvLXNwcmVhZHNoZWV0LWNlbGwtZWRpdG9yLXBhZGRpbmcteSwgJGtlbmRvLXNwcmVhZHNoZWV0LWNlbGwtZWRpdG9yLXBhZGRpbmcteSApO1xuICAgICAgICBwYWRkaW5nLWlubGluZTogdmFyKCAtLWtlbmRvLXNwcmVhZHNoZWV0LWNlbGwtZWRpdG9yLXBhZGRpbmcteCwgJGtlbmRvLXNwcmVhZHNoZWV0LWNlbGwtZWRpdG9yLXBhZGRpbmcteCApO1xuICAgICAgICBsaW5lLWhlaWdodDogdmFyKCAtLWtlbmRvLXNwcmVhZHNoZWV0LWNlbGwtZWRpdG9yLWxpbmUtaGVpZ2h0LCAka2VuZG8tc3ByZWFkc2hlZXQtY2VsbC1lZGl0b3ItbGluZS1oZWlnaHQgKTtcbiAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB6LWluZGV4OiAxMDA7XG4gICAgfVxuXG5cbiAgICAvLyBTaGVldHMgYmFyXG4gICAgLmstc3ByZWFkc2hlZXQtc2hlZXRzLWJhciB7XG4gICAgICAgIHBhZGRpbmctYmxvY2stZW5kOiB2YXIoIC0ta2VuZG8tc3ByZWFkc2hlZXQtc2hlZXRzLWJhci1wYWRkaW5nLXksICN7JGtlbmRvLXNwcmVhZHNoZWV0LXNoZWV0cy1iYXItcGFkZGluZy15fSApO1xuICAgICAgICBwYWRkaW5nLWlubGluZTogdmFyKCAtLWtlbmRvLXNwcmVhZHNoZWV0LXNoZWV0cy1iYXItcGFkZGluZy14LCAjeyRrZW5kby1zcHJlYWRzaGVldC1zaGVldHMtYmFyLXBhZGRpbmcteH0gKTtcbiAgICAgICAgYm9yZGVyLXdpZHRoOiB2YXIoIC0ta2VuZG8tc3ByZWFkc2hlZXQtYm9yZGVyLXdpZHRoLCAka2VuZG8tc3ByZWFkc2hlZXQtYm9yZGVyLXdpZHRoICkgMCAwO1xuICAgICAgICBib3JkZXItc3R5bGU6IHNvbGlkO1xuICAgICAgICBib3JkZXItY29sb3I6IGluaGVyaXQ7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB9XG5cbiAgICAuay1zcHJlYWRzaGVldC1zaGVldHMge1xuICAgICAgICBmbGV4OiAxIDEgYXV0bztcbiAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICB9XG4gICAgLmstc3ByZWFkc2hlZXQtc2hlZXRzIC5rLXRhYnN0cmlwLWl0ZW1zLXdyYXBwZXIge1xuICAgICAgICBib3JkZXItd2lkdGg6IDA7XG4gICAgfVxuXG4gICAgLmstc3ByZWFkc2hlZXQtc2hlZXRzLWJhci1hZGQge1xuICAgICAgICBhbGlnbi1zZWxmOiBjZW50ZXI7XG5cbiAgICAgICAgJjpub3QoOmhvdmVyKSB7XG4gICAgICAgICAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50O1xuICAgICAgICAgICAgY29sb3I6IGluaGVyaXQ7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiBub25lO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLmstc3ByZWFkc2hlZXQtc2hlZXRzLWl0ZW1zIHtcbiAgICAgICAgZmxleDogMTtcbiAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcblxuICAgICAgICAuay10YWJzdHJpcC1pdGVtcy13cmFwcGVyIHtcbiAgICAgICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgICAgIGJvcmRlci13aWR0aDogMDtcbiAgICAgICAgfVxuXG4gICAgICAgIC5rLWl0ZW0ge1xuICAgICAgICAgICAgLmstbGluayB7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAuay1zcHJlYWRzaGVldC1zaGVldHMtcmVtb3ZlIHtcbiAgICAgICAgICAgICAgICBtYXJnaW4taW5saW5lLXN0YXJ0OiB2YXIoIC0ta2VuZG8tc3ByZWFkc2hlZXQtc2hlZXRzLXJlbW92ZS1pbmxpbmUtc3RhcnQsICRrZW5kby1zcHJlYWRzaGVldC1zaGVldHMtcmVtb3ZlLWlubGluZS1zdGFydCApO1xuICAgICAgICAgICAgICAgIG1hcmdpbi1pbmxpbmUtZW5kOiAoIC0ta2VuZG8tc3ByZWFkc2hlZXQtc2hlZXRzLXJlbW92ZS1pbmxpbmUtZW5kLCAka2VuZG8tc3ByZWFkc2hlZXQtc2hlZXRzLXJlbW92ZS1pbmxpbmUtZW5kICk7XG4gICAgICAgICAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgICAgICAgICBsaW5lLWhlaWdodDogMTtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgICAgICAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICAgICAgICAgICAgICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gICAgICAgICAgICAgICAgYWxpZ24tc2VsZjogY2VudGVyO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG5cbiAgICAvLyBTcHJlYWRzaGVldCB2aWV3XG4gICAgLmstc3ByZWFkc2hlZXQtdmlldyB7XG4gICAgICAgIGhlaWdodDogYXV0byAhaW1wb3J0YW50OyAvLyBzdHlsZWxpbnQtZGlzYWJsZS1saW5lIGRlY2xhcmF0aW9uLW5vLWltcG9ydGFudFxuICAgICAgICBib3JkZXItY29sb3I6IGluaGVyaXQ7XG4gICAgICAgIGZvbnQtZmFtaWx5OiB2YXIoIC0ta2VuZG8tc3ByZWFkc2hlZXQtdmlldy1mb250LWZhbWlseSwgI3ska2VuZG8tc3ByZWFkc2hlZXQtdmlldy1mb250LWZhbWlseX0gKTtcbiAgICAgICAgZm9udC1zaXplOiB2YXIoIC0ta2VuZG8tc3ByZWFkc2hlZXQtdmlldy1mb250LXNpemUsICN7JGtlbmRvLXNwcmVhZHNoZWV0LXZpZXctZm9udC1zaXplfSApO1xuICAgICAgICBmbGV4OiAxO1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIG92ZXJmbG93OiBoaWRkZW47XG5cbiAgICAgICAgLy8gZGlzYWJsZWQgY2VsbHMgaW4gdGhlIFNwcmVhZHNoZWV0IHNob3VsZCBhbGxvdyBuYXZpZ2F0aW9uIGlmIGxpbmsgaXMgdXNlZFxuICAgICAgICAuay1kaXNhYmxlZCB7XG4gICAgICAgICAgICBwb2ludGVyLWV2ZW50czogYXV0bztcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5rLXNwcmVhZHNoZWV0LWZpeGVkLWNvbnRhaW5lciB7XG4gICAgICAgIHdpZHRoOiBjYWxjKCAxMDAlIC0gdmFyKC0ta2VuZG8tc2Nyb2xsYmFyLXdpZHRoLCAjeyRrZW5kby1zY3JvbGxiYXItd2lkdGh9KSApO1xuICAgICAgICBoZWlnaHQ6IGNhbGMoIDEwMCUgLSB2YXIoLS1rZW5kby1zY3JvbGxiYXItd2lkdGgsICN7JGtlbmRvLXNjcm9sbGJhci13aWR0aH0pICk7XG4gICAgICAgIGJvcmRlci1jb2xvcjogaW5oZXJpdDtcbiAgICAgICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICAgICAgdXNlci1zZWxlY3Q6IG5vbmU7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgei1pbmRleDogMjtcbiAgICB9XG4gICAgLmstc3ByZWFkc2hlZXQtb3ZlcmZsb3cge1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIGluc2V0OiAwO1xuICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgICAgICBib3JkZXItY29sb3I6IGluaGVyaXQ7XG4gICAgfVxuICAgIC5rLXNwcmVhZHNoZWV0LXBhbmUge1xuICAgICAgICBwYWRkaW5nOiAwIDFweCAwIDA7XG4gICAgICAgIGJvcmRlci13aWR0aDogMnB4IDAgMCAycHg7XG4gICAgICAgIGJvcmRlci1zdHlsZTogc29saWQ7XG4gICAgICAgIGJvcmRlci1jb2xvcjogaW5oZXJpdDtcbiAgICAgICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xuXG4gICAgICAgIEBlYWNoICRzaWRlIGluICh0b3AsIGxlZnQpIHtcbiAgICAgICAgICAgICYuay0jeyRzaWRlfSB7IGJvcmRlci0jeyRzaWRlfS13aWR0aDogMDsgfVxuICAgICAgICB9XG5cbiAgICB9XG4gICAgLmstc3ByZWFkc2hlZXQtdG9wLWNvcm5lciB7XG4gICAgICAgIGJvcmRlci13aWR0aDogMCAxcHggMXB4IDA7XG4gICAgICAgIGJvcmRlci1zdHlsZTogc29saWQ7XG4gICAgICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgaW5zZXQtYmxvY2stc3RhcnQ6IDA7XG4gICAgICAgIGluc2V0LWlubGluZS1zdGFydDogMDtcbiAgICAgICAgei1pbmRleDogMTAwMDA7XG5cbiAgICAgICAgJjo6YWZ0ZXIge1xuICAgICAgICAgICAgY29udGVudDogXCJcIjtcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgd2lkdGg6IDA7XG4gICAgICAgICAgICBoZWlnaHQ6IDA7XG4gICAgICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgaW5zZXQtYmxvY2stZW5kOiAwO1xuICAgICAgICAgICAgaW5zZXQtaW5saW5lLWVuZDogMDtcbiAgICAgICAgICAgIGJvcmRlcjogNnB4IHNvbGlkIHRyYW5zcGFyZW50O1xuICAgICAgICAgICAgYm9yZGVyLWlubGluZS1lbmQtY29sb3I6IGluaGVyaXQ7XG4gICAgICAgICAgICBib3JkZXItYmxvY2stZW5kLWNvbG9yOiBpbmhlcml0O1xuICAgICAgICB9XG4gICAgfVxuICAgIC5rLXNwcmVhZHNoZWV0LXNjcm9sbGVyIHtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgb3ZlcmZsb3c6IHNjcm9sbDtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB6LWluZGV4OiAxO1xuXG4gICAgICAgIEBtZWRpYSAoaG92ZXI6IG5vbmUpLCAocG9pbnRlcjogY29hcnNlKSB7XG4gICAgICAgICAgICAvLyBvbiB0b3VjaCBkZXZpY2VzIHdlIHdhbnQgdGhpcyB0byBzdGF5IG9uIHRvcC5cbiAgICAgICAgICAgIHotaW5kZXg6IDM7XG4gICAgICAgIH1cbiAgICB9XG5cblxuICAgIC8vIEdyaWQgbGluZXNcbiAgICAuay1zcHJlYWRzaGVldC1oYXhpcyxcbiAgICAuay1zcHJlYWRzaGVldC12YXhpcyB7XG4gICAgICAgIGJvcmRlcjogMCBzb2xpZDtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiBpbmhlcml0O1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgfVxuICAgIC5rLXNwcmVhZHNoZWV0LWhheGlzIHtcbiAgICAgICAgYm9yZGVyLXdpZHRoOiAxcHggMCAwO1xuICAgICAgICBpbnNldC1pbmxpbmUtc3RhcnQ6IDA7XG4gICAgfVxuICAgIC5rLXNwcmVhZHNoZWV0LXZheGlzIHtcbiAgICAgICAgYm9yZGVyLXdpZHRoOiAwIDAgMCAxcHg7XG4gICAgICAgIGluc2V0LWJsb2NrLXN0YXJ0OiAwO1xuICAgIH1cblxuXG4gICAgLy8gUm93IC8gQ29sdW1uIGhlYWRlcnNcbiAgICAuay1zcHJlYWRzaGVldC1yb3ctaGVhZGVyLFxuICAgIC5rLXNwcmVhZHNoZWV0LWNvbHVtbi1oZWFkZXIge1xuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgIHotaW5kZXg6IDEwMDtcblxuICAgICAgICA+IGRpdiB7XG4gICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgICAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgICAgICAgICAgYm9yZGVyLXdpZHRoOiAwO1xuICAgICAgICAgICAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcbiAgICAgICAgICAgIGJvcmRlci1jb2xvcjogaW5oZXJpdDtcblxuICAgICAgICAgICAgJjo6YWZ0ZXIge1xuICAgICAgICAgICAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICAgICAgICAgICAgYm9yZGVyLXdpZHRoOiAwO1xuICAgICAgICAgICAgICAgIGJvcmRlci1zdHlsZTogc29saWQ7XG4gICAgICAgICAgICAgICAgYm9yZGVyLWNvbG9yOiBpbmhlcml0O1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgICAgIGluc2V0OiAwO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuICAgIC5rLXNwcmVhZHNoZWV0LXJvdy1oZWFkZXIge1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgfVxuICAgIC5rLXNwcmVhZHNoZWV0LWNvbHVtbi1oZWFkZXIge1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgfVxuICAgIC5rLXNwcmVhZHNoZWV0LXJvdy1oZWFkZXIgPiBkaXYge1xuICAgICAgICBib3JkZXItYmxvY2stc3RhcnQtd2lkdGg6IDFweDtcblxuICAgICAgICAmOmZpcnN0LWNoaWxkIHsgYm9yZGVyLWJsb2NrLXN0YXJ0LXdpZHRoOiAwOyB9XG4gICAgfVxuICAgIC5rLXNwcmVhZHNoZWV0LXJvdy1oZWFkZXIgPiAuay1zZWxlY3Rpb24tcGFydGlhbCxcbiAgICAuay1zcHJlYWRzaGVldC1yb3ctaGVhZGVyID4gLmstc2VsZWN0aW9uLWZ1bGwge1xuICAgICAgICAmOjphZnRlciB7XG4gICAgICAgICAgICBib3JkZXItaW5saW5lLWVuZC13aWR0aDogMnB4O1xuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIH1cbiAgICB9XG4gICAgLmstc3ByZWFkc2hlZXQtY29sdW1uLWhlYWRlciA+IGRpdiB7XG4gICAgICAgIGJvcmRlci1pbmxpbmUtc3RhcnQtd2lkdGg6IDFweDtcblxuICAgICAgICAmOmZpcnN0LWNoaWxkIHsgYm9yZGVyLWlubGluZS1zdGFydC13aWR0aDogMDsgfVxuICAgIH1cbiAgICAuay1zcHJlYWRzaGVldC1jb2x1bW4taGVhZGVyID4gLmstc2VsZWN0aW9uLXBhcnRpYWwsXG4gICAgLmstc3ByZWFkc2hlZXQtY29sdW1uLWhlYWRlciA+IC5rLXNlbGVjdGlvbi1mdWxsIHtcbiAgICAgICAgJjo6YWZ0ZXIge1xuICAgICAgICAgICAgYm9yZGVyLWJvdHRvbS13aWR0aDogMnB4O1xuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIH1cbiAgICB9XG5cblxuICAgIC8vIFNwcmVhZHNoZWV0IGRhdGFcbiAgICAuay1zcHJlYWRzaGVldC1kYXRhIHtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiBpbmhlcml0O1xuICAgICAgICBjdXJzb3I6IGNlbGw7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB9XG5cblxuICAgIC8vIENlbGxzXG4gICAgLmstc3ByZWFkc2hlZXQtY2VsbCB7XG4gICAgICAgIHBhZGRpbmctYmxvY2s6IHZhciggLS1rZW5kby1zcHJlYWRzaGVldC1jZWxsLXBhZGRpbmcteSwgI3ska2VuZG8tc3ByZWFkc2hlZXQtY2VsbC1wYWRkaW5nLXl9ICk7XG4gICAgICAgIHBhZGRpbmctaW5saW5lOiB2YXIoIC0ta2VuZG8tc3ByZWFkc2hlZXQtY2VsbC1wYWRkaW5nLXgsICN7JGtlbmRvLXNwcmVhZHNoZWV0LWNlbGwtcGFkZGluZy14fSApO1xuICAgICAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiBub3JtYWw7XG4gICAgICAgIHdoaXRlLXNwYWNlOiBwcmU7XG4gICAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgfVxuICAgIC5rLXNwcmVhZHNoZWV0LW1lcmdlZC1jZWxscy13cmFwZXJzIHtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIH1cblxuICAgIC5rLXNwcmVhZHNoZWV0LWRpc2FibGVkLW1hc2sge1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgfVxuXG5cbiAgICAvLyBTZWxlY3Rpb25cbiAgICAuay1zcHJlYWRzaGVldCAuay1zZWxlY3Rpb24td3JhcHBlciB7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgY3Vyc29yOiBjZWxsO1xuICAgIH1cbiAgICAuay1zcHJlYWRzaGVldCAuay1zcHJlYWRzaGVldC1zZWxlY3Rpb24ge1xuICAgICAgICBib3JkZXItd2lkdGg6IDJweDtcbiAgICAgICAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcbiAgICAgICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIH1cbiAgICAuay1zcHJlYWRzaGVldCAuay1zcHJlYWRzaGVldC1zZWxlY3Rpb24taGlnaGxpZ2h0IHtcbiAgICAgICAgYm9yZGVyLXdpZHRoOiAycHg7XG4gICAgICAgIGJvcmRlci1zdHlsZTogZGFzaGVkO1xuICAgICAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgfVxuICAgIC5rLXNwcmVhZHNoZWV0IC5rLXNwcmVhZHNoZWV0LWVkaXRvci1idXR0b24ge1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgIHotaW5kZXg6IDYwO1xuICAgIH1cblxuICAgIC5rLXNwcmVhZHNoZWV0LWFjdGl2ZS1jZWxsIHtcbiAgICAgICAgLy8gYWx3YXlzIHNob3cgZXhhY3QgYWN0aXZlIGNlbGwgYm9yZGVyLCByZWdhcmRsZXNzIG9mIGlubGluZSBjZWxsIHN0eWxlc1xuICAgICAgICBvdXRsaW5lLWNvbG9yOiB0cmFuc3BhcmVudCAhaW1wb3J0YW50OyAvLyBzdHlsZWxpbnQtZGlzYWJsZS1saW5lIGRlY2xhcmF0aW9uLW5vLWltcG9ydGFudFxuICAgICAgICB6LWluZGV4OiAxMDtcbiAgICB9XG5cbiAgICAuay1zcHJlYWRzaGVldCAuay1hdXRvLWZpbGwtd3JhcHBlciB7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB9XG4gICAgLmstc3ByZWFkc2hlZXQgLmstYXV0by1maWxsLFxuICAgIC5rLXNwcmVhZHNoZWV0IC5rLWF1dG8tZmlsbC1wdW5jaCxcbiAgICAuay1zcHJlYWRzaGVldCAuay1hdXRvLWZpbGwtYnItaGludCB7XG4gICAgICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB9XG4gICAgLmstc3ByZWFkc2hlZXQgLmstYXV0by1maWxsIHtcbiAgICAgICAgYm9yZGVyLXdpZHRoOiAxcHg7XG4gICAgICAgIGJvcmRlci1zdHlsZTogc29saWQ7XG4gICAgICAgIGN1cnNvcjogY3Jvc3NoYWlyO1xuICAgIH1cblxuICAgIC5rLXNwcmVhZHNoZWV0IC5rLXNpbmdsZS1zZWxlY3Rpb24ge31cbiAgICAuay1zcHJlYWRzaGVldCAuay1zaW5nbGUtc2VsZWN0aW9uOjphZnRlciB7XG4gICAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IC00cHg7XG4gICAgICAgIG1hcmdpbi1pbmxpbmUtZW5kOiAtNHB4O1xuICAgICAgICB3aWR0aDogNnB4O1xuICAgICAgICBoZWlnaHQ6IDZweDtcbiAgICAgICAgYm9yZGVyLXdpZHRoOiAxcHg7XG4gICAgICAgIGJvcmRlci1zdHlsZTogc29saWQ7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgaW5zZXQtYmxvY2stZW5kOiAwO1xuICAgICAgICBpbnNldC1pbmxpbmUtZW5kOiAwO1xuICAgICAgICB6LWluZGV4OiAzMDA7XG4gICAgICAgIGN1cnNvcjogY3Jvc3NoYWlyO1xuICAgIH1cblxuICAgIC5rLXNwcmVhZHNoZWV0IC5rLXNlbGVjdGlvbi1mdWxsLFxuICAgIC5rLXNwcmVhZHNoZWV0IC5rLXNlbGVjdGlvbi1wYXJ0aWFsIHtcbiAgICAgICAgJjo6YWZ0ZXIge1xuICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgfVxuICAgIH1cblxuXG4gICAgLy8gQXV0b2ZpbGxcbiAgICAuay1zcHJlYWRzaGVldCAuay1hdXRvZmlsbC13cmFwcGVyIHtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICBjdXJzb3I6IGNlbGw7XG4gICAgfVxuXG5cbiAgICAvLyBCb3JkZXIgcmVuZGVyaW5nXG4gICAgLmstc3ByZWFkc2hlZXQtdmJvcmRlciB7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgYm9yZGVyLWlubGluZS1zdGFydC1zdHlsZTogc29saWQ7XG4gICAgICAgIGJvcmRlci1pbmxpbmUtc3RhcnQtd2lkdGg6IDFweDtcbiAgICB9XG5cbiAgICAuay1zcHJlYWRzaGVldC1oYm9yZGVyIHtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICBib3JkZXItYmxvY2stc3RhcnQtc3R5bGU6IHNvbGlkO1xuICAgICAgICBib3JkZXItYmxvY2stc3RhcnQtd2lkdGg6IDFweDtcbiAgICB9XG5cblxuICAgIC8vIENvbW1lbnRzXG4gICAgLmstc3ByZWFkc2hlZXQtaGFzLWNvbW1lbnQ6OmFmdGVyIHtcbiAgICAgICAgY29udGVudDogXCJcIjtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgaW5zZXQtYmxvY2stc3RhcnQ6IDA7XG4gICAgICAgIGluc2V0LWlubGluZS1zdGFydDogYXV0bztcbiAgICAgICAgaW5zZXQtaW5saW5lLWVuZDogMDtcbiAgICAgICAgYm9yZGVyLXdpZHRoOiAzcHg7XG4gICAgICAgIGJvcmRlci1zdHlsZTogc29saWQ7XG4gICAgfVxuXG4gICAgLy8gVmFsaWRhdGlvblxuICAgIC5rLWRpcnR5IHtcbiAgICAgICAgaW5zZXQtaW5saW5lLXN0YXJ0OiAwO1xuICAgICAgICBpbnNldC1pbmxpbmUtZW5kOiBhdXRvO1xuICAgIH1cblxuICAgIC8vIEZpbHRlciBidXR0b25cbiAgICAuay1zcHJlYWRzaGVldCAuay1maWx0ZXItd3JhcHBlciB7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgei1pbmRleDogNTA7XG4gICAgfVxuXG4gICAgLmstc3ByZWFkc2hlZXQgLmstZmlsdGVyLXJhbmdlIHtcbiAgICAgICAgYm9yZGVyLXdpZHRoOiAycHg7XG4gICAgICAgIGJvcmRlci1zdHlsZTogc29saWQ7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICAgICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gICAgfVxuXG4gICAgLmstc3ByZWFkc2hlZXQtZmlsdGVyIHtcbiAgICAgICAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cyggay1ib3JkZXItcmFkaXVzKG1kKSApO1xuICAgICAgICBwYWRkaW5nOiBrLXNwYWNpbmcoMSk7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxO1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIGN1cnNvcjogcG9pbnRlcjtcblxuICAgICAgICAuay1pY29uIHsgdmVydGljYWwtYWxpZ246IG1pZGRsZTsgfVxuICAgIH1cblxuXG4gICAgLy8gRmlsdGVyIG1lbnVcbiAgICAuay1zcHJlYWRzaGVldC1maWx0ZXItbWVudSB7XG4gICAgICAgIHdpZHRoOiAyODBweDtcblxuICAgICAgICAuay1hbmltYXRpb24tY29udGFpbmVyIHtcbiAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgfVxuXG4gICAgICAgID4gLmstbWVudSxcbiAgICAgICAgPiAuay1tZW51LmstbWVudS12ZXJ0aWNhbCB7XG4gICAgICAgICAgICBib3JkZXItd2lkdGg6IDA7XG5cbiAgICAgICAgICAgIC5rLWl0ZW0ge1xuICAgICAgICAgICAgICAgIGNvbG9yOiBpbmhlcml0O1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgLmstbGluayB7XG4gICAgICAgICAgICAgICAgcGFkZGluZy1pbmxpbmUtc3RhcnQ6IHZhciggLS1maWx0ZXItbWVudS1wYWRkaW5nLWxlZnQsICN7JGtlbmRvLWZpbHRlci1tZW51LXBhZGRpbmctbGVmdH0gKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIC5rLWljb24ge1xuICAgICAgICAgICAgICAgIG1hcmdpbi1pbmxpbmUtc3RhcnQ6IGNhbGMoLTEgKiAoIHZhciggLS1rZW5kby1pY29uLXNpemUsIDFyZW0gKSArICN7ay1zcGFjaW5nKDEpfSApICk7XG4gICAgICAgICAgICAgICAgbWFyZ2luLWlubGluZS1lbmQ6IGstc3BhY2luZygxKTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICB9XG5cbiAgICAgICAgLmstc3ByZWFkc2hlZXQtdmFsdWUtdHJlZXZpZXctd3JhcHBlciB7XG4gICAgICAgICAgICBoZWlnaHQ6IDIwMHB4O1xuICAgICAgICAgICAgYm9yZGVyLXdpZHRoOiAxcHg7XG4gICAgICAgICAgICBib3JkZXItc3R5bGU6IHNvbGlkO1xuICAgICAgICAgICAgb3ZlcmZsb3cteTogc2Nyb2xsO1xuICAgICAgICAgICAgb3ZlcmZsb3cteDogYXV0bztcblxuICAgICAgICAgICAgLmstdHJlZXZpZXcge1xuICAgICAgICAgICAgICAgIHBhZGRpbmc6IGstc3BhY2luZygxKTtcbiAgICAgICAgICAgICAgICBvdmVyZmxvdzogdmlzaWJsZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC8vIERldGFpbHNcbiAgICAgICAgLmstZGV0YWlscyxcbiAgICAgICAgLmstZXhwYW5kZXIge1xuICAgICAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgICAgIGJvcmRlci13aWR0aDogMXB4IDAgMDtcbiAgICAgICAgICAgIGJvcmRlci1zdHlsZTogc29saWQ7XG4gICAgICAgICAgICBib3JkZXItY29sb3I6IGluaGVyaXQ7XG4gICAgICAgIH1cbiAgICAgICAgLmstZXhwYW5kZXIge1xuICAgICAgICAgICAgYm9yZGVyOiAwO1xuICAgICAgICAgICAgYmFja2dyb3VuZDogaW5oZXJpdDtcbiAgICAgICAgfVxuICAgICAgICAuay1kZXRhaWxzLXN1bW1hcnksXG4gICAgICAgIC5rLWNvbHVtbm1lbnUtaXRlbSB7XG4gICAgICAgICAgICBwYWRkaW5nLWJsb2NrOiB2YXIoIC0ta2VuZG8tbWVudS1wb3B1cC1tZC1pdGVtLXBhZGRpbmcteSwgI3ska2VuZG8tbWVudS1wb3B1cC1tZC1pdGVtLXBhZGRpbmcteX0gKTtcbiAgICAgICAgICAgIHBhZGRpbmctaW5saW5lOiB2YXIoIC0ta2VuZG8tbWVudS1wb3B1cC1tZC1pdGVtLXBhZGRpbmcteCwgI3ska2VuZG8tbWVudS1wb3B1cC1tZC1pdGVtLXBhZGRpbmcteH0gKTtcbiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xuXG4gICAgICAgICAgICA+IC5rLWljb24sXG4gICAgICAgICAgICA+IC5rLWV4cGFuZGVyLWluZGljYXRvciB7XG4gICAgICAgICAgICAgICAgbWFyZ2luLWlubGluZS1lbmQ6IGstc3BhY2luZygxKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAuay1kZXRhaWxzLWNvbnRlbnQsXG4gICAgICAgIC5rLWNvbHVtbm1lbnUtaXRlbS1jb250ZW50IHtcbiAgICAgICAgICAgIHBhZGRpbmctaW5saW5lOiB2YXIoIC0ta2VuZG8tc3ByZWFkc2hlZXQtcG9wdXAtbWVudS1wYWRkaW5nLXgsICN7JGtlbmRvLXNwcmVhZHNoZWV0LXBvcHVwLW1lbnUtcGFkZGluZy14fSApO1xuICAgICAgICAgICAgcGFkZGluZy1ibG9jazogdmFyKCAtLWtlbmRvLXNwcmVhZHNoZWV0LXBvcHVwLW1lbnUtcGFkZGluZy15LCAjeyRrZW5kby1zcHJlYWRzaGVldC1wb3B1cC1tZW51LXBhZGRpbmcteX0gKTtcbiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICBmbGV4LWZsb3c6IGNvbHVtbiBub3dyYXA7XG5cbiAgICAgICAgICAgIC5rLWZpbHRlci1hbmQge1xuICAgICAgICAgICAgICAgIHdpZHRoOiBtaW4tY29udGVudDtcbiAgICAgICAgICAgICAgICBhbGlnbi1zZWxmOiBmbGV4LXN0YXJ0O1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAuay1hY3Rpb25zIHtcbiAgICAgICAgICAgICAgICBtYXJnaW4tYmxvY2stc3RhcnQ6IGstc3BhY2luZygzKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC5rLWFjdGlvbnMge1xuICAgICAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgfVxuICAgIH1cblxuXG4gICAgLmstc3ByZWFkc2hlZXQtcG9wdXAge1xuICAgICAgICBwYWRkaW5nOiAwO1xuXG4gICAgICAgIC5rLXNlcGFyYXRvciB7XG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgfVxuXG4gICAgICAgIC5rLXJlc2V0LWNvbG9yLFxuICAgICAgICAuay1jdXN0b20tY29sb3Ige1xuICAgICAgICAgICAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cyggMCApO1xuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICBib3JkZXItd2lkdGg6IDA7XG4gICAgICAgICAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgfVxuICAgICAgICAuay1yZXNldC1jb2xvciB7IGJvcmRlci1ibG9jay1lbmQtd2lkdGg6IDFweDsgfVxuICAgICAgICAuay1jdXN0b20tY29sb3IgeyBib3JkZXItYmxvY2stc3RhcnQtd2lkdGg6IDFweDsgfVxuICAgICAgICAuay1zcHJlYWRzaGVldC1ib3JkZXItdHlwZS1wYWxldHRlIHtcbiAgICAgICAgICAgIHBhZGRpbmc6IGstc3BhY2luZygyKTtcbiAgICAgICAgICAgIGRpc3BsYXk6IGdyaWQ7XG4gICAgICAgICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdCg1LCBtYXgtY29udGVudCk7XG4gICAgICAgICAgICBnYXA6IGstc3BhY2luZygyKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5rLXNwcmVhZHNoZWV0LWZvcm1hdC1wb3B1cCB7XG4gICAgICAgIC5rLWl0ZW0geyBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47IH1cbiAgICAgICAgLmstc3ByZWFkc2hlZXQtc2FtcGxlIHsgb3JkZXI6IDE7IH1cbiAgICB9XG4gICAgLmstc3ByZWFkc2hlZXQtc2FtcGxlIHtcbiAgICAgICAgb3BhY2l0eTogLjc7XG4gICAgfVxuXG4gICAgLmstc3ByZWFkc2hlZXQtY2xpcGJvYXJkLFxuICAgIC5rLXNwcmVhZHNoZWV0LWNsaXBib2FyZC1wYXN0ZSB7XG4gICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgd2lkdGg6IDFweDtcbiAgICAgICAgaGVpZ2h0OiAxcHg7XG4gICAgICAgIGJvcmRlcjogMDtcbiAgICAgICAgb3BhY2l0eTogMDtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICBpbnNldC1ibG9jay1zdGFydDogMDtcbiAgICAgICAgaW5zZXQtaW5saW5lLWVuZDogMDtcbiAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICB9XG5cbiAgICAuay1zcHJlYWRzaGVldC13aW5kb3cgLmstZXh0ZXJuYWwtZHJvcHpvbmUge1xuICAgICAgICBtYXJnaW4tYmxvY2stZW5kOiAka2VuZG8tc3ByZWFkc2hlZXQtZHJvcHpvbmUtc3BhY2luZy15O1xuICAgIH1cblxuICAgIC5rLXNwcmVhZHNoZWV0LXdpbmRvdyAuay1lZGl0LWZvcm0tY29udGFpbmVyIHtcbiAgICAgICAgd2lkdGg6IGF1dG87XG4gICAgICAgIG1pbi13aWR0aDogMDtcbiAgICB9XG5cbiAgICAvLyBGb3JtYXQgcHJldmlldyB3aW5kb3dcbiAgICAuay1zcHJlYWRzaGVldC1mb3JtYXQtY2VsbHMge1xuXG4gICAgICAgIC5rLXNwcmVhZHNoZWV0LXByZXZpZXcge1xuICAgICAgICAgICAgbWFyZ2luLWJsb2NrLXN0YXJ0OiBrLXNwYWNpbmcoMik7XG4gICAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgIH1cblxuICAgICAgICAuay1saXN0LXNjcm9sbGVyIHtcbiAgICAgICAgICAgIG1hcmdpbi1ibG9jay1zdGFydDogay1zcGFjaW5nKDIpO1xuICAgICAgICAgICAgaGVpZ2h0OiAyMTBweDtcbiAgICAgICAgICAgIGJvcmRlci13aWR0aDogMXB4O1xuICAgICAgICAgICAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcbiAgICAgICAgICAgIGJvcmRlci1jb2xvcjogaW5oZXJpdDtcbiAgICAgICAgfVxuICAgIH1cblxuXG4gICAgLy8gRXhwb3J0IGRpYWxvZ1xuICAgIC5rLWV4cG9ydC1jb25maWcge1xuICAgICAgICBjbGVhcjogYm90aDtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gICAgICAgICY6OmFmdGVyIHtcbiAgICAgICAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICAgICAgICBjbGVhcjogYm90aDtcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICB9XG5cblxuICAgICAgICAuay1lZGl0LWZpZWxkIHtcbiAgICAgICAgICAgIG1hcmdpbi1pbmxpbmUtc3RhcnQ6IDUlO1xuICAgICAgICAgICAgd2lkdGg6IDQ1JTtcbiAgICAgICAgICAgIGZsb2F0OiBpbmxpbmUtc3RhcnQ7XG4gICAgICAgIH1cblxuICAgICAgICAuay1wYWdlLW9yaWVudGF0aW9uIHtcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgIGluc2V0LWlubGluZS1lbmQ6IDA7XG4gICAgICAgICAgICBpbnNldC1ibG9jay1zdGFydDogay1zcGFjaW5nKDIpO1xuXG4gICAgICAgICAgICAuay1zdmctaWNvbiB7XG4gICAgICAgICAgICAgICAgd2lkdGg6IDZlbTtcbiAgICAgICAgICAgICAgICBoZWlnaHQ6IDZlbTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8vIEluc2VydCBjb21tZW50IGRpYWxvZ1xuICAgIC5rLXNwcmVhZHNoZWV0LWluc2VydC1jb21tZW50IHRleHRhcmVhIHtcbiAgICAgICAgaGVpZ2h0OiBhdXRvO1xuICAgIH1cblxuICAgIC8vIEluc2VydCBpbWFnZSBkaWFsb2dcbiAgICAuay1zcHJlYWRzaGVldC1pbnNlcnQtaW1hZ2UtZGlhbG9nIHtcbiAgICAgICAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cyggdmFyKCAtLWtlbmRvLXNwcmVhZHNoZWV0LWluc2VydC1pbWFnZS1kaWFsb2ctcHJldmlldy1ib3JkZXItcmFkaXVzLCAjeyRrZW5kby1zcHJlYWRzaGVldC1pbnNlcnQtaW1hZ2UtZGlhbG9nLXByZXZpZXctYm9yZGVyLXJhZGl1c30gKSApO1xuICAgICAgICBib3JkZXItc3R5bGU6IHZhciggLS1rZW5kby1zcHJlYWRzaGVldC1pbnNlcnQtaW1hZ2UtZGlhbG9nLWJvcmRlci1zdHlsZSwgI3ska2VuZG8tc3ByZWFkc2hlZXQtaW5zZXJ0LWltYWdlLWRpYWxvZy1ib3JkZXItc3R5bGV9ICk7XG4gICAgICAgIGJvcmRlci13aWR0aDogdmFyKCAtLWtlbmRvLXNwcmVhZHNoZWV0LWluc2VydC1pbWFnZS1kaWFsb2ctYm9yZGVyLXdpZHRoLCAjeyRrZW5kby1zcHJlYWRzaGVldC1pbnNlcnQtaW1hZ2UtZGlhbG9nLWJvcmRlci13aWR0aH0gKTtcblxuICAgICAgICBsYWJlbCB7XG4gICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICAgICAgICBtaW4td2lkdGg6IDEwMCU7XG4gICAgICAgICAgICB3aWR0aDogdmFyKCAtLWtlbmRvLXNwcmVhZHNoZWV0LWluc2VydC1pbWFnZS1kaWFsb2ctcHJldmlldy13aWR0aCwgI3ska2VuZG8tc3ByZWFkc2hlZXQtaW5zZXJ0LWltYWdlLWRpYWxvZy1wcmV2aWV3LXdpZHRofSApO1xuICAgICAgICAgICAgaGVpZ2h0OiB2YXIoIC0ta2VuZG8tc3ByZWFkc2hlZXQtaW5zZXJ0LWltYWdlLWRpYWxvZy1wcmV2aWV3LWhlaWdodCwgI3ska2VuZG8tc3ByZWFkc2hlZXQtaW5zZXJ0LWltYWdlLWRpYWxvZy1wcmV2aWV3LWhlaWdodH0gKTtcbiAgICAgICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHZhciggLS1rZW5kby1zcHJlYWRzaGVldC1pbnNlcnQtaW1hZ2UtZGlhbG9nLWltZywgI3ska2VuZG8tc3ByZWFkc2hlZXQtaW5zZXJ0LWltYWdlLWRpYWxvZy1pbWd9ICk7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLXNpemU6IGF1dG8gNzAlO1xuICAgICAgICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogNTAlIDMwJTtcbiAgICAgICAgICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG5cbiAgICAgICAgICAgIGRpdiB7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgICAgICBhbGlnbi1zZWxmOiBmbGV4LWVuZDtcbiAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiB2YXIoIC0ta2VuZG8tc3ByZWFkc2hlZXQtaW5zZXJ0LWltYWdlLWRpYWxvZy10ZXh0LW1hcmdpbi1ib3R0b20sICN7JGtlbmRvLXNwcmVhZHNoZWV0LWluc2VydC1pbWFnZS1kaWFsb2ctdGV4dC1tYXJnaW4tYm90dG9tfSApO1xuICAgICAgICAgICAgICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBpbnB1dCB7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC5rLXNwcmVhZHNoZWV0LWhhcy1pbWFnZSB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLXNpemU6IGF1dG8gOTAlO1xuICAgICAgICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogNTAlIDUwJTtcblxuICAgICAgICAgICAgJjpob3ZlciBkaXYsXG4gICAgICAgICAgICAmLmstaG92ZXIgZGl2IHtcbiAgICAgICAgICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgICAgICAgICAgYWxpZ24tc2VsZjogY2VudGVyO1xuICAgICAgICAgICAgICAgIG9wYWNpdHk6IDE7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIGRpdiB7XG4gICAgICAgICAgICAgICAgb3BhY2l0eTogMDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5rLXNwcmVhZHNoZWV0LWRyYXdpbmcge1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgICAgIHotaW5kZXg6IDEwMTtcblxuICAgICAgICAmLmstc3ByZWFkc2hlZXQtYWN0aXZlLWRyYXdpbmcge1xuICAgICAgICAgICAgb3V0bGluZS1zdHlsZTogdmFyKCAtLWtlbmRvLXNwcmVhZHNoZWV0LWRyYXdpbmctb3V0bGluZS1zdHlsZSwgI3ska2VuZG8tc3ByZWFkc2hlZXQtZHJhd2luZy1vdXRsaW5lLXN0eWxlfSApO1xuICAgICAgICAgICAgb3V0bGluZS13aWR0aDogdmFyKCAtLWtlbmRvLXNwcmVhZHNoZWV0LWRyYXdpbmctb3V0bGluZS13aWR0aCwgI3ska2VuZG8tc3ByZWFkc2hlZXQtZHJhd2luZy1vdXRsaW5lLXdpZHRofSApO1xuICAgICAgICB9XG5cbiAgICAgICAgLmstc3ByZWFkc2hlZXQtZHJhd2luZy1pbWFnZSB7XG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICBpbnNldC1ibG9jay1zdGFydDogMDtcbiAgICAgICAgICAgIGluc2V0LWlubGluZS1zdGFydDogMDtcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogNTAlIDUwJTtcbiAgICAgICAgICAgIGJhY2tncm91bmQtc2l6ZTogMTAwJSAxMDAlO1xuICAgICAgICAgICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICAgICAgICAgIGN1cnNvcjogbW92ZTtcbiAgICAgICAgfVxuXG4gICAgICAgIC5rLXNwcmVhZHNoZWV0LWRyYXdpbmctaGFuZGxlIHtcbiAgICAgICAgICAgIHdpZHRoOiB2YXIoIC0ta2VuZG8tc3ByZWFkc2hlZXQtZHJhd2luZy1oYW5kbGUtd2lkdGgsICN7JGtlbmRvLXNwcmVhZHNoZWV0LWRyYXdpbmctaGFuZGxlLXdpZHRofSApO1xuICAgICAgICAgICAgaGVpZ2h0OiB2YXIoIC0ta2VuZG8tc3ByZWFkc2hlZXQtZHJhd2luZy1oYW5kbGUtaGVpZ2h0LCAjeyRrZW5kby1zcHJlYWRzaGVldC1kcmF3aW5nLWhhbmRsZS1oZWlnaHR9ICk7XG4gICAgICAgICAgICBib3JkZXItc3R5bGU6IHZhciggLS1rZW5kby1zcHJlYWRzaGVldC1kcmF3aW5nLWhhbmRsZS1ib3JkZXItc3R5bGUsICN7JGtlbmRvLXNwcmVhZHNoZWV0LWRyYXdpbmctaGFuZGxlLWJvcmRlci1zdHlsZX0gKTtcbiAgICAgICAgICAgIGJvcmRlci13aWR0aDogdmFyKCAtLWtlbmRvLXNwcmVhZHNoZWV0LWRyYXdpbmctaGFuZGxlLWJvcmRlci13aWR0aCwgI3ska2VuZG8tc3ByZWFkc2hlZXQtZHJhd2luZy1oYW5kbGUtYm9yZGVyLXdpZHRofSApO1xuICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogdmFyKCAtLWtlbmRvLXNwcmVhZHNoZWV0LWRyYXdpbmctaGFuZGxlLWJvcmRlci1yYWRpdXMsICN7JGtlbmRvLXNwcmVhZHNoZWV0LWRyYXdpbmctaGFuZGxlLWJvcmRlci1yYWRpdXN9ICk7XG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAtNTAlKTtcblxuICAgICAgICAgICAgLy8gc3R5bGVsaW50LWRpc2FibGUgc2VsZWN0b3ItY2xhc3MtcGF0dGVybiwgZGVjbGFyYXRpb24tYmxvY2stc2luZ2xlLWxpbmUtbWF4LWRlY2xhcmF0aW9uc1xuICAgICAgICAgICAgJi5OIHsgaW5zZXQtaW5saW5lLXN0YXJ0OiA1MCU7IGluc2V0LWJsb2NrLXN0YXJ0OiAwOyBjdXJzb3I6IG5zLXJlc2l6ZTsgfVxuICAgICAgICAgICAgJi5ORSB7IGluc2V0LWlubGluZS1zdGFydDogMTAwJTsgaW5zZXQtYmxvY2stc3RhcnQ6IDA7IGN1cnNvcjogbmVzdy1yZXNpemU7IH1cbiAgICAgICAgICAgICYuRSB7IGluc2V0LWlubGluZS1zdGFydDogMTAwJTsgaW5zZXQtYmxvY2stc3RhcnQ6IDUwJTsgY3Vyc29yOiBldy1yZXNpemU7IH1cbiAgICAgICAgICAgICYuU0UgeyBpbnNldC1pbmxpbmUtc3RhcnQ6IDEwMCU7IGluc2V0LWJsb2NrLXN0YXJ0OiAxMDAlOyBjdXJzb3I6IG53c2UtcmVzaXplOyB9XG4gICAgICAgICAgICAmLlMgeyBpbnNldC1pbmxpbmUtc3RhcnQ6IDUwJTsgaW5zZXQtYmxvY2stc3RhcnQ6IDEwMCU7IGN1cnNvcjogbnMtcmVzaXplOyB9XG4gICAgICAgICAgICAmLlNXIHsgaW5zZXQtaW5saW5lLXN0YXJ0OiAwOyBpbnNldC1ibG9jay1zdGFydDogMTAwJTsgY3Vyc29yOiBuZXN3LXJlc2l6ZTsgfVxuICAgICAgICAgICAgJi5XIHsgaW5zZXQtaW5saW5lLXN0YXJ0OiAwOyBpbnNldC1ibG9jay1zdGFydDogNTAlOyBjdXJzb3I6IGV3LXJlc2l6ZTsgfVxuICAgICAgICAgICAgJi5OVyB7IGluc2V0LWlubGluZS1zdGFydDogMDsgaW5zZXQtYmxvY2stc3RhcnQ6IDA7IGN1cnNvcjogbndzZS1yZXNpemU7IH1cbiAgICAgICAgICAgIC8vIHN0eWxlbGludC1lbmFibGUgc2VsZWN0b3ItY2xhc3MtcGF0dGVybiwgZGVjbGFyYXRpb24tYmxvY2stc2luZ2xlLWxpbmUtbWF4LWRlY2xhcmF0aW9uc1xuICAgICAgICB9XG5cbiAgICAgICAgLmstc3ByZWFkc2hlZXQtaW5zZXJ0LWltYWdlLWRpYWxvZyB7XG4gICAgICAgICAgICAuay1zcHJlYWRzaGVldC1oYXMtaW1hZ2Uge1xuICAgICAgICAgICAgICAgICY6aG92ZXIsXG4gICAgICAgICAgICAgICAgJi5rLWhvdmVyIHtcbiAgICAgICAgICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogdmFyKCAtLWtlbmRvLXNwcmVhZHNoZWV0LWluc2VydC1pbWFnZS1kaWFsb2ctcHJldmlldy1vdmVybGF5LWJvcmRlci1yYWRpdXMsICN7JGtlbmRvLXNwcmVhZHNoZWV0LWluc2VydC1pbWFnZS1kaWFsb2ctcHJldmlldy1vdmVybGF5LWJvcmRlci1yYWRpdXN9ICk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgLy8gTGVnYWN5IHN0eWxlc1xuICAgIC5rLXNwcmVhZHNoZWV0LWxlZ2FjeSB7XG4gICAgICAgIC5rLXNwcmVhZHNoZWV0LFxuICAgICAgICAuay1zcHJlYWRzaGVldC1hY3Rpb24tYmFyLFxuICAgICAgICAuay1zcHJlYWRzaGVldC12aWV3IHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMTJweDtcbiAgICAgICAgfVxuXG4gICAgICAgIC5rLXNwcmVhZHNoZWV0LWNlbGwge1xuICAgICAgICAgICAgcGFkZGluZzogMXB4O1xuICAgICAgICB9XG5cbiAgICAgICAgLmstc3ByZWFkc2hlZXQtZmlsdGVyIHtcbiAgICAgICAgICAgIHBhZGRpbmc6IDBweDtcbiAgICAgICAgfVxuXG4gICAgICAgIC5rLWZpbHRlci1yYW5nZSB7XG4gICAgICAgICAgICBib3JkZXItd2lkdGg6IDFweDtcbiAgICAgICAgfVxuXG4gICAgICAgIC5rLXNwcmVhZHNoZWV0IC5rLXNwcmVhZHNoZWV0LXNlbGVjdGlvbi1oaWdobGlnaHQge1xuICAgICAgICAgICAgYm9yZGVyLXdpZHRoOiAxcHg7XG4gICAgICAgICAgICBib3JkZXItc3R5bGU6IHNvbGlkO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLy8gVGFic3RyaXBcbiAgICAuay1zcHJlYWRzaGVldCAuay10YWJzdHJpcC13cmFwcGVyIHtcbiAgICAgICAgYm9yZGVyLXdpZHRoOiAwIDAgMXB4O1xuICAgICAgICBib3JkZXItc3R5bGU6IHNvbGlkO1xuICAgICAgICBib3JkZXItY29sb3I6IGluaGVyaXQ7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB9XG5cbiAgICAuay1zcHJlYWRzaGVldC10YWJzdHJpcCB7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgei1pbmRleDogMTtcbiAgICB9XG5cbiAgICAuay1zcHJlYWRzaGVldC10YWJzdHJpcCAuay10YWJzdHJpcC1pdGVtcy13cmFwcGVyIHtcbiAgICAgICAgbWFyZ2luOiAwO1xuICAgIH1cblxuICAgIC5rLXNwcmVhZHNoZWV0LXRhYnN0cmlwIC5rLWxvYWRpbmcge1xuICAgICAgICAvLyBUT0RPOiBiZXR0ZXIgbmFtZVxuICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cblxuICAgIC5rLXNwcmVhZHNoZWV0LXRhYnN0cmlwIC5rLWNvbnRlbnQsXG4gICAgLmstc3ByZWFkc2hlZXQtdGFic3RyaXAgLmstdGFic3RyaXAtY29udGVudCB7XG4gICAgICAgIEBpbmNsdWRlIGJvcmRlci1yYWRpdXMoIDAgKTtcbiAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgYm9yZGVyLXdpZHRoOiAwO1xuICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIH1cbn1cbiIsIkB1c2UgXCJzYXNzOmNvbG9yXCI7XG5AdXNlIFwic2FzczptYXBcIjtcbkB1c2UgXCIuLi9jb3JlL19pbmRleC5zY3NzXCIgYXMgKjtcbkB1c2UgXCIuLi90YWJsZS9fdmFyaWFibGVzLnNjc3NcIiBhcyAqO1xuQHVzZSBcIi4uL2lucHV0L192YXJpYWJsZXMuc2Nzc1wiIGFzICo7XG5AdXNlIFwiLi4vY29yZS9zcGFjaW5nL19pbmRleC5zY3NzXCIgYXMgKjtcblxuLy8vIFRoZSB3aWR0aCBvZiB0aGUgYm9yZGVyIGFyb3VuZCB0aGUgU3ByZWFkc2hlZXQuXG4vLy8gQGdyb3VwIHNwcmVhZHNoZWV0XG4ka2VuZG8tc3ByZWFkc2hlZXQtYm9yZGVyLXdpZHRoOiAxcHggIWRlZmF1bHQ7XG4vLy8gVGhlIGZvbnQgZmFtaWx5IG9mIHRoZSBTcHJlYWRzaGVldC5cbi8vLyBAZ3JvdXAgc3ByZWFkc2hlZXRcbiRrZW5kby1zcHJlYWRzaGVldC1mb250LWZhbWlseTogdmFyKCAtLWtlbmRvLWZvbnQtZmFtaWx5LCBpbml0aWFsICkgIWRlZmF1bHQ7XG4vLy8gVGhlIGZvbnQgc2l6ZSBvZiB0aGUgU3ByZWFkc2hlZXQuXG4vLy8gQGdyb3VwIHNwcmVhZHNoZWV0XG4ka2VuZG8tc3ByZWFkc2hlZXQtZm9udC1zaXplOiB2YXIoIC0ta2VuZG8tZm9udC1zaXplLCBpbml0aWFsICkgIWRlZmF1bHQ7XG4vLy8gVGhlIGxpbmUgaGVpZ2h0IG9mIHRoZSBTcHJlYWRzaGVldC5cbi8vLyBAZ3JvdXAgc3ByZWFkc2hlZXRcbiRrZW5kby1zcHJlYWRzaGVldC1saW5lLWhlaWdodDogdmFyKCAtLWtlbmRvLWxpbmUtaGVpZ2h0LCBpbml0aWFsICkgIWRlZmF1bHQ7XG4vLy8gVGhlIGJhY2tncm91bmQgY29sb3Igb2YgdGhlIFNwcmVhZHNoZWV0LlxuLy8vIEBncm91cCBzcHJlYWRzaGVldFxuJGtlbmRvLXNwcmVhZHNoZWV0LWJnOiB2YXIoIC0ta2VuZG8tY29tcG9uZW50LWJnLCBpbml0aWFsICkgIWRlZmF1bHQ7XG4vLy8gVGhlIHRleHQgY29sb3Igb2YgdGhlIFNwcmVhZHNoZWV0LlxuLy8vIEBncm91cCBzcHJlYWRzaGVldFxuJGtlbmRvLXNwcmVhZHNoZWV0LXRleHQ6IHZhciggLS1rZW5kby1jb21wb25lbnQtdGV4dCwgaW5pdGlhbCApICFkZWZhdWx0O1xuLy8vIFRoZSBib3JkZXIgY29sb3Igb2YgdGhlIFNwcmVhZHNoZWV0LlxuLy8vIEBncm91cCBzcHJlYWRzaGVldFxuJGtlbmRvLXNwcmVhZHNoZWV0LWJvcmRlcjogdmFyKCAtLWtlbmRvLWNvbXBvbmVudC1ib3JkZXIsIGluaXRpYWwgKSAhZGVmYXVsdDtcbi8vLyBUaGUgcHJpbWFyeSBib3JkZXIgY29sb3Igb2YgdGhlIFNwcmVhZHNoZWV0LlxuLy8vIEBncm91cCBzcHJlYWRzaGVldFxuJGtlbmRvLXNwcmVhZHNoZWV0LXByaW1hcnktYm9yZGVyOiBpZigka2VuZG8tZW5hYmxlLWNvbG9yLXN5c3RlbSwgay1jb2xvciggcHJpbWFyeSApLCBrLWdldC10aGVtZS1jb2xvci12YXIoIHByaW1hcnktMTAwICkpICFkZWZhdWx0O1xuLy8vIFRoZSBwcmltYXJ5IGJhY2tncm91bmQgY29sb3Igb2YgdGhlIFNwcmVhZHNoZWV0LlxuLy8vIEBncm91cCBzcHJlYWRzaGVldFxuJGtlbmRvLXNwcmVhZHNoZWV0LXByaW1hcnktYmc6IGlmKCRrZW5kby1lbmFibGUtY29sb3Itc3lzdGVtLCBrLWNvbG9yKCBwcmltYXJ5ICksIGstZ2V0LXRoZW1lLWNvbG9yLXZhciggcHJpbWFyeS0xMDAgKSkgIWRlZmF1bHQ7XG5cbi8vLyBUaGUgYmFja2dyb3VuZCBjb2xvciBvZiB0aGUgU3ByZWFkc2hlZXQgaGVhZGVyLlxuLy8vIEBncm91cCBzcHJlYWRzaGVldFxuJGtlbmRvLXNwcmVhZHNoZWV0LWhlYWRlci1iZzogaWYoJGtlbmRvLWVuYWJsZS1jb2xvci1zeXN0ZW0sIGstY29sb3IoIHN1cmZhY2UgKSwgay1nZXQtdGhlbWUtY29sb3ItdmFyKCBuZXV0cmFsLTEwICkpICFkZWZhdWx0O1xuLy8vIFRoZSB0ZXh0IGNvbG9yIG9mIHRoZSBTcHJlYWRzaGVldCBoZWFkZXIuXG4vLy8gQGdyb3VwIHNwcmVhZHNoZWV0XG4ka2VuZG8tc3ByZWFkc2hlZXQtaGVhZGVyLXRleHQ6ICRrZW5kby10YWJsZS1oZWFkZXItdGV4dCAhZGVmYXVsdDtcbi8vLyBUaGUgYm9yZGVyIGNvbG9yIG9mIHRoZSBTcHJlYWRzaGVldCBoZWFkZXIuXG4vLy8gQGdyb3VwIHNwcmVhZHNoZWV0XG4ka2VuZG8tc3ByZWFkc2hlZXQtaGVhZGVyLWJvcmRlcjogJGtlbmRvLXRhYmxlLWhlYWRlci1ib3JkZXIgIWRlZmF1bHQ7XG5cbi8vLyBUaGUgYmFja2dyb3VuZCBjb2xvciBvZiB0aGUgU3ByZWFkc2hlZXQgdGFibGUgaGVhZGVycy5cbi8vLyBAZ3JvdXAgc3ByZWFkc2hlZXRcbiRrZW5kby1zcHJlYWRzaGVldC10YWJsZS1oZWFkZXItYmc6IGlmKCRrZW5kby1lbmFibGUtY29sb3Itc3lzdGVtLCBrLWNvbG9yKCBzdXJmYWNlICksIGstZ2V0LXRoZW1lLWNvbG9yLXZhciggbmV1dHJhbC0xMCApKSAhZGVmYXVsdDtcbi8vLyBUaGUgdGV4dCBjb2xvciBvZiB0aGUgU3ByZWFkc2hlZXQgdGFibGUgaGVhZGVycy5cbi8vLyBAZ3JvdXAgc3ByZWFkc2hlZXRcbiRrZW5kby1zcHJlYWRzaGVldC10YWJsZS1oZWFkZXItdGV4dDogJGtlbmRvLXNwcmVhZHNoZWV0LWhlYWRlci10ZXh0ICFkZWZhdWx0O1xuLy8vIFRoZSBib3JkZXIgY29sb3Igb2YgdGhlIFNwcmVhZHNoZWV0IHRhYmxlIGhlYWRlcnMuXG4vLy8gQGdyb3VwIHNwcmVhZHNoZWV0XG4ka2VuZG8tc3ByZWFkc2hlZXQtdGFibGUtaGVhZGVyLWJvcmRlcjogJGtlbmRvLXNwcmVhZHNoZWV0LWhlYWRlci1ib3JkZXIgIWRlZmF1bHQ7XG5cbi8vLyBUaGUgdGV4dCBjb2xvciBvZiB0aGUgc2VsZWN0ZWQgU3ByZWFkc2hlZXQuXG4vLy8gQGdyb3VwIHNwcmVhZHNoZWV0XG4ka2VuZG8tc3ByZWFkc2hlZXQtc2VsZWN0ZWQtdGV4dDogaWYoJGtlbmRvLWVuYWJsZS1jb2xvci1zeXN0ZW0sIGstY29sb3IoIHByaW1hcnktb24tc3VidGxlICksIGstZ2V0LXRoZW1lLWNvbG9yLXZhciggcHJpbWFyeS0xNjAgKSkgIWRlZmF1bHQ7XG4vLy8gVGhlIGJhY2tncm91bmQgY29sb3Igb2YgdGhlIHNlbGVjdGVkIFNwcmVhZHNoZWV0LlxuLy8vIEBncm91cCBzcHJlYWRzaGVldFxuJGtlbmRvLXNwcmVhZHNoZWV0LXNlbGVjdGVkLWJnOiBpZigka2VuZG8tZW5hYmxlLWNvbG9yLXN5c3RlbSwgay1jb2xvciggcHJpbWFyeS1zdWJ0bGUtYWN0aXZlICksIGstZ2V0LXRoZW1lLWNvbG9yLXZhciggcHJpbWFyeS0zMCApKSAhZGVmYXVsdDtcbi8vLyBUaGUgYm9yZGVyIGNvbG9yIG9mIHRoZSBzZWxlY3RlZCBTcHJlYWRzaGVldC5cbi8vLyBAZ3JvdXAgc3ByZWFkc2hlZXRcbiRrZW5kby1zcHJlYWRzaGVldC1zZWxlY3RlZC1ib3JkZXI6IGlmKCRrZW5kby1lbmFibGUtY29sb3Itc3lzdGVtLCBrLWNvbG9yKCBwcmltYXJ5ICksIGstZ2V0LXRoZW1lLWNvbG9yLXZhciggcHJpbWFyeS0xMDAgKSkgIWRlZmF1bHQ7XG5cbi8vLyBUaGUgaG9yaXpvbnRhbCBwYWRkaW5nIG9mIHRoZSBTcHJlYWRzaGVldCBwb3B1cCBNZW51LlxuLy8vIEBncm91cCBzcHJlYWRzaGVldFxuJGtlbmRvLXNwcmVhZHNoZWV0LXBvcHVwLW1lbnUtcGFkZGluZy14OiBrLXNwYWNpbmcoMykgIWRlZmF1bHQ7XG4vLy8gVGhlIHZlcnRpY2FsIHBhZGRpbmcgb2YgdGhlIFNwcmVhZHNoZWV0IHBvcHVwIE1lbnUuXG4vLy8gQGdyb3VwIHNwcmVhZHNoZWV0XG4ka2VuZG8tc3ByZWFkc2hlZXQtcG9wdXAtbWVudS1wYWRkaW5nLXk6ICRrZW5kby1zcHJlYWRzaGVldC1wb3B1cC1tZW51LXBhZGRpbmcteCAhZGVmYXVsdDtcblxuLy8vIFRoZSBib3JkZXIgd2lkdGggb2YgdGhlIFNwcmVhZHNoZWV0IGFjdGlvbiBiYXIuXG4vLy8gQGdyb3VwIHNwcmVhZHNoZWV0XG4ka2VuZG8tc3ByZWFkc2hlZXQtYWN0aW9uLWJhci1ib3JkZXItd2lkdGg6IDFweCAhZGVmYXVsdDtcbi8vLyBUaGUgaG9yaXpvbnRhbCBwYWRkaW5nIG9mIHRoZSBTcHJlYWRzaGVldCBhY3Rpb24gYmFyLlxuLy8vIEBncm91cCBzcHJlYWRzaGVldFxuJGtlbmRvLXNwcmVhZHNoZWV0LWFjdGlvbi1iYXItcGFkZGluZy15OiBrLXNwYWNpbmcoMSkgIWRlZmF1bHQ7XG4vLy8gVGhlIHZlcnRpY2FsIHBhZGRpbmcgb2YgdGhlIFNwcmVhZHNoZWV0IGFjdGlvbiBiYXIuXG4vLy8gQGdyb3VwIHNwcmVhZHNoZWV0XG4ka2VuZG8tc3ByZWFkc2hlZXQtYWN0aW9uLWJhci1wYWRkaW5nLXg6IGstc3BhY2luZygyKSAhZGVmYXVsdDtcbi8vLyBUaGUgZm9udCBzaXplIG9mIHRoZSBTcHJlYWRzaGVldCBhY3Rpb24gYmFyLlxuLy8vIEBncm91cCBzcHJlYWRzaGVldFxuJGtlbmRvLXNwcmVhZHNoZWV0LWFjdGlvbi1iYXItZm9udC1zaXplOiAka2VuZG8tc3ByZWFkc2hlZXQtZm9udC1zaXplICFkZWZhdWx0O1xuLy8vIFRoZSBmb250IGZhbWlseSBvZiB0aGUgU3ByZWFkc2hlZXQgYWN0aW9uIGJhci5cbi8vLyBAZ3JvdXAgc3ByZWFkc2hlZXRcbiRrZW5kby1zcHJlYWRzaGVldC1hY3Rpb24tYmFyLWZvbnQtZmFtaWx5OiBBcmlhbCwgVmVyZGFuYSwgc2Fucy1zZXJpZiAhZGVmYXVsdDtcbi8vLyBUaGUgc3BhY2luZ3Mgb2YgdGhlIFNwcmVhZHNoZWV0IGFjdGlvbiBiYXIuXG4vLy8gQGdyb3VwIHNwcmVhZHNoZWV0XG4ka2VuZG8tc3ByZWFkc2hlZXQtYWN0aW9uLWJhci1zcGFjaW5nOiBrLXNwYWNpbmcoMikgIWRlZmF1bHQ7XG5cbi8vLyBUaGUgZ2FwIG9mIHRoZSBTcHJlYWRzaGVldCBmb3JtdWxhIGJhci5cbi8vLyBAZ3JvdXAgc3ByZWFkc2hlZXRcbiRrZW5kby1zcHJlYWRzaGVldC1mb3JtdWxhLWJhci1nYXA6IGstc3BhY2luZygyKSAhZGVmYXVsdDtcblxuLy8vIFRoZSBob3Jpem9udGFsIHBhZGRpbmcgb2YgdGhlIFNwcmVhZHNoZWV0IGZvcm11bGEgaW5wdXQuXG4vLy8gQGdyb3VwIHNwcmVhZHNoZWV0XG4ka2VuZG8tc3ByZWFkc2hlZXQtZm9ybXVsYS1pbnB1dC1wYWRkaW5nLXg6IHZhciggLS1rZW5kby1pbnB1dC1tZC1wYWRkaW5nLXgsICN7JGtlbmRvLWlucHV0LW1kLXBhZGRpbmcteH0gKSAhZGVmYXVsdDtcbi8vLyBUaGUgdmVydGljYWwgcGFkZGluZyBvZiB0aGUgU3ByZWFkc2hlZXQgZm9ybXVsYSBpbnB1dC5cbi8vLyBAZ3JvdXAgc3ByZWFkc2hlZXRcbiRrZW5kby1zcHJlYWRzaGVldC1mb3JtdWxhLWlucHV0LXBhZGRpbmcteTogdmFyKCAtLWtlbmRvLWlucHV0LW1kLXBhZGRpbmcteSwgI3ska2VuZG8taW5wdXQtbWQtcGFkZGluZy15fSApICFkZWZhdWx0O1xuLy8vIFRoZSBsaW5lIGhlaWdodCBvZiB0aGUgU3ByZWFkc2hlZXQgZm9ybXVsYSBpbnB1dC5cbi8vLyBAZ3JvdXAgc3ByZWFkc2hlZXRcbiRrZW5kby1zcHJlYWRzaGVldC1mb3JtdWxhLWlucHV0LWxpbmUtaGVpZ2h0OiB2YXIoIC0ta2VuZG8taW5wdXQtbWQtbGluZS1oZWlnaHQsICN7JGtlbmRvLWlucHV0LW1kLWxpbmUtaGVpZ2h0fSApICFkZWZhdWx0O1xuXG4vLy8gVGhlIGZvbnQgZmFtaWx5IG9mIHRoZSBTcHJlYWRzaGVldCB2aWV3LlxuLy8vIEBncm91cCBzcHJlYWRzaGVldFxuJGtlbmRvLXNwcmVhZHNoZWV0LXZpZXctZm9udC1mYW1pbHk6IEFyaWFsLCBWZXJkYW5hLCBzYW5zLXNlcmlmICFkZWZhdWx0O1xuLy8vIFRoZSBmb250IHNpemUgb2YgdGhlIFNwcmVhZHNoZWV0IHZpZXcuXG4vLy8gQGdyb3VwIHNwcmVhZHNoZWV0XG4ka2VuZG8tc3ByZWFkc2hlZXQtdmlldy1mb250LXNpemU6ICRrZW5kby1zcHJlYWRzaGVldC1mb250LXNpemUgIWRlZmF1bHQ7XG5cbi8vLyBUaGUgYmFja2dyb3VuZCBjb2xvciBvZiB0aGUgU3ByZWFkc2hlZXQgc2VsZWN0aW9uLlxuLy8vIEBncm91cCBzcHJlYWRzaGVldFxuJGtlbmRvLXNwcmVhZHNoZWV0LXNlbGVjdGlvbi1iZzogdHJhbnNwYXJlbnQgIWRlZmF1bHQ7XG4vLy8gVGhlIHRleHQgY29sb3Igb2YgdGhlIFNwcmVhZHNoZWV0IHNlbGVjdGlvbi5cbi8vLyBAZ3JvdXAgc3ByZWFkc2hlZXRcbiRrZW5kby1zcHJlYWRzaGVldC1zZWxlY3Rpb24tdGV4dDogbnVsbCAhZGVmYXVsdDtcbi8vLyBUaGUgYm9yZGVyIGNvbG9yIG9mIHRoZSBTcHJlYWRzaGVldCBzZWxlY3Rpb24uXG4vLy8gQGdyb3VwIHNwcmVhZHNoZWV0XG4ka2VuZG8tc3ByZWFkc2hlZXQtc2VsZWN0aW9uLWJvcmRlcjogJGtlbmRvLXNwcmVhZHNoZWV0LXByaW1hcnktYm9yZGVyICFkZWZhdWx0O1xuLy8vIFRoZSBzaGFkb3cgb2YgdGhlIFNwcmVhZHNoZWV0IHNlbGVjdGlvbi5cbi8vLyBAZ3JvdXAgc3ByZWFkc2hlZXRcbiRrZW5kby1zcHJlYWRzaGVldC1zZWxlY3Rpb24tc2hhZG93OiBub25lICFkZWZhdWx0O1xuXG4vLy8gVGhlIGJhY2tncm91bmQgY29sb3Igb2YgdGhlIFNwcmVhZHNoZWV0IHNpbmdsZSBzZWxlY3Rpb24uXG4vLy8gQGdyb3VwIHNwcmVhZHNoZWV0XG4ka2VuZG8tc3ByZWFkc2hlZXQtc2luZ2xlLXNlbGVjdGlvbi1iZzogJGtlbmRvLXNwcmVhZHNoZWV0LXNlbGVjdGVkLWJvcmRlciAhZGVmYXVsdDtcbi8vLyBUaGUgdGV4dCBjb2xvciBvZiB0aGUgU3ByZWFkc2hlZXQgc2luZ2xlIHNlbGVjdGlvbi5cbi8vLyBAZ3JvdXAgc3ByZWFkc2hlZXRcbiRrZW5kby1zcHJlYWRzaGVldC1zaW5nbGUtc2VsZWN0aW9uLXRleHQ6IG51bGwgIWRlZmF1bHQ7XG4vLy8gVGhlIGJvcmRlciBjb2xvciBvZiB0aGUgU3ByZWFkc2hlZXQgc2luZ2xlIHNlbGVjdGlvbi5cbi8vLyBAZ3JvdXAgc3ByZWFkc2hlZXRcbiRrZW5kby1zcHJlYWRzaGVldC1zaW5nbGUtc2VsZWN0aW9uLWJvcmRlcjogJGtlbmRvLXNwcmVhZHNoZWV0LWJvcmRlciAhZGVmYXVsdDtcbi8vLyBUaGUgYmFja2dyb3VuZCBjb2xvciBvZiB0aGUgU3ByZWFkc2hlZXQgcGFydGlhbCBzZWxlY3Rpb24uXG4vLy8gQGdyb3VwIHNwcmVhZHNoZWV0XG4ka2VuZG8tc3ByZWFkc2hlZXQtcGFydGlhbC1zZWxlY3Rpb24tYmc6IGNvbG9yLW1peChpbiBzcmdiLCAka2VuZG8tc3ByZWFkc2hlZXQtc2VsZWN0ZWQtYmcgNzUlLCB0cmFuc3BhcmVudCkgIWRlZmF1bHQ7XG5cbi8vLyBUaGUgYmFja2dyb3VuZCBjb2xvciBvZiB0aGUgU3ByZWFkc2hlZXQgYWN0aXZlIGNlbGwuXG4vLy8gQGdyb3VwIHNwcmVhZHNoZWV0XG4ka2VuZG8tc3ByZWFkc2hlZXQtYWN0aXZlLWNlbGwtYmc6ICRrZW5kby1zcHJlYWRzaGVldC1iZyAhZGVmYXVsdDtcbi8vLyBUaGUgc2hhZG93IG9mIHRoZSBTcHJlYWRzaGVldCBhY3RpdmUgY2VsbC5cbi8vLyBAZ3JvdXAgc3ByZWFkc2hlZXRcbiRrZW5kby1zcHJlYWRzaGVldC1hY3RpdmUtY2VsbC1zaGFkb3c6IGluc2V0IDAgMCAwIDFweCAka2VuZG8tc3ByZWFkc2hlZXQtc2VsZWN0ZWQtYmcgIWRlZmF1bHQ7XG5cbi8vLyBUaGUgYmFja2dyb3VuZCBjb2xvciBvZiB0aGUgU3ByZWFkc2hlZXQgYXV0byBmaWxsLlxuLy8vIEBncm91cCBzcHJlYWRzaGVldFxuJGtlbmRvLXNwcmVhZHNoZWV0LWF1dG8tZmlsbC1iZzogY29sb3ItbWl4KGluIHNyZ2IsICRrZW5kby1zcHJlYWRzaGVldC1zZWxlY3RlZC1iZyA3NSUsIHRyYW5zcGFyZW50KSAhZGVmYXVsdDtcbi8vLyBUaGUgdGV4dCBjb2xvciBvZiB0aGUgU3ByZWFkc2hlZXQgYXV0byBmaWxsLlxuLy8vIEBncm91cCBzcHJlYWRzaGVldFxuJGtlbmRvLXNwcmVhZHNoZWV0LWF1dG8tZmlsbC10ZXh0OiBudWxsICFkZWZhdWx0O1xuLy8vIFRoZSBib3JkZXIgY29sb3Igb2YgdGhlIFNwcmVhZHNoZWV0IGF1dG8gZmlsbC5cbi8vLyBAZ3JvdXAgc3ByZWFkc2hlZXRcbiRrZW5kby1zcHJlYWRzaGVldC1hdXRvLWZpbGwtYm9yZGVyOiAka2VuZG8tc3ByZWFkc2hlZXQtc2VsZWN0ZWQtYmcgIWRlZmF1bHQ7XG4vLy8gVGhlIHNoYWRvdyBvZiB0aGUgU3ByZWFkc2hlZXQgYXV0byBmaWxsLlxuLy8vIEBncm91cCBzcHJlYWRzaGVldFxuJGtlbmRvLXNwcmVhZHNoZWV0LWF1dG8tZmlsbC1zaGFkb3c6IGluc2V0IDAgMCAwIDFweCAka2VuZG8tc3ByZWFkc2hlZXQtc2VsZWN0ZWQtYmcgIWRlZmF1bHQ7XG4vLy8gVGhlIGJhY2tncm91bmQgY29sb3Igb2YgdGhlIFNwcmVhZHNoZWV0IGF1dG8gZmlsbCBwdW5jaC5cbi8vLyBAZ3JvdXAgc3ByZWFkc2hlZXRcbiRrZW5kby1zcHJlYWRzaGVldC1hdXRvLWZpbGwtcHVuY2gtYmc6IGNvbG9yLW1peChpbiBzcmdiLCAka2VuZG8tc3ByZWFkc2hlZXQtYmcgNTAlLCB0cmFuc3BhcmVudCkgIWRlZmF1bHQ7XG5cbi8vLyBUaGUgdmVydGljYWwgcGFkZGluZyBvZiB0aGUgU3ByZWFkc2hlZXQgY2VsbC5cbi8vLyBAZ3JvdXAgc3ByZWFkc2hlZXRcbiRrZW5kby1zcHJlYWRzaGVldC1jZWxsLXBhZGRpbmcteTogay1zcGFjaW5nKDEpICFkZWZhdWx0O1xuLy8vIFRoZSBob3Jpem9udGFsIHBhZGRpbmcgb2YgdGhlIFNwcmVhZHNoZWV0IGNlbGwuXG4vLy8gQGdyb3VwIHNwcmVhZHNoZWV0XG4ka2VuZG8tc3ByZWFkc2hlZXQtY2VsbC1wYWRkaW5nLXg6ICRrZW5kby1zcHJlYWRzaGVldC1jZWxsLXBhZGRpbmcteSAhZGVmYXVsdDtcblxuLy8vIFRoZSBsaW5lIGhlaWdodCBvZiB0aGUgU3ByZWFkc2hlZXQgY2VsbCBlZGl0b3IuXG4vLy8gQGdyb3VwIHNwcmVhZHNoZWV0XG4ka2VuZG8tc3ByZWFkc2hlZXQtY2VsbC1lZGl0b3ItbGluZS1oZWlnaHQ6IHZhciggLS1rZW5kby1zcHJlYWRzaGVldC1saW5lLWhlaWdodCwgJGtlbmRvLXNwcmVhZHNoZWV0LWxpbmUtaGVpZ2h0ICkgIWRlZmF1bHQ7XG4vLy8gVGhlIGhvcml6b250YWwgcGFkZGluZyBvZiB0aGUgU3ByZWFkc2hlZXQgY2VsbCBlZGl0b3IuXG4vLy8gQGdyb3VwIHNwcmVhZHNoZWV0XG4ka2VuZG8tc3ByZWFkc2hlZXQtY2VsbC1lZGl0b3ItcGFkZGluZy14OiBrLXNwYWNpbmcoMSkgIWRlZmF1bHQ7XG4vLy8gVGhlIHZlcnRpY2FsIHBhZGRpbmcgb2YgdGhlIFNwcmVhZHNoZWV0IGNlbGwgZWRpdG9yLlxuLy8vIEBncm91cCBzcHJlYWRzaGVldFxuJGtlbmRvLXNwcmVhZHNoZWV0LWNlbGwtZWRpdG9yLXBhZGRpbmcteTogay1zcGFjaW5nKDApICFkZWZhdWx0O1xuLy8vIFRoZSBiYWNrZ3JvdW5kIGNvbG9yIG9mIHRoZSBTcHJlYWRzaGVldCBjZWxsIGVkaXRvci5cbi8vLyBAZ3JvdXAgc3ByZWFkc2hlZXRcbiRrZW5kby1zcHJlYWRzaGVldC1jZWxsLWVkaXRvci1iZzogJGtlbmRvLXNwcmVhZHNoZWV0LWJnICFkZWZhdWx0O1xuLy8vIFRoZSB0ZXh0IGNvbG9yIG9mIHRoZSBTcHJlYWRzaGVldCBjZWxsIGVkaXRvci5cbi8vLyBAZ3JvdXAgc3ByZWFkc2hlZXRcbiRrZW5kby1zcHJlYWRzaGVldC1jZWxsLWVkaXRvci10ZXh0OiAka2VuZG8tc3ByZWFkc2hlZXQtdGV4dCAhZGVmYXVsdDtcbi8vLyBUaGUgYm9yZGVyIGNvbG9yIG9mIHRoZSBTcHJlYWRzaGVldCBjZWxsIGVkaXRvci5cbi8vLyBAZ3JvdXAgc3ByZWFkc2hlZXRcbiRrZW5kby1zcHJlYWRzaGVldC1jZWxsLWVkaXRvci1ib3JkZXI6IG51bGwgIWRlZmF1bHQ7XG5cbi8vLyBUaGUgYmFja2dyb3VuZCBjb2xvciBvZiB0aGUgU3ByZWFkc2hlZXQgcmVzaXplIGhhbmRsZS5cbi8vLyBAZ3JvdXAgc3ByZWFkc2hlZXRcbiRrZW5kby1zcHJlYWRzaGVldC1yZXNpemUtaGFuZGxlLWJnOiBpZigka2VuZG8tZW5hYmxlLWNvbG9yLXN5c3RlbSwgay1jb2xvciggcHJpbWFyeSApLCBrLWdldC10aGVtZS1jb2xvci12YXIoIHByaW1hcnktMTAwICkpICFkZWZhdWx0O1xuXG4vLy8gVGhlIGJvcmRlciBjb2xvciBvZiB0aGUgU3ByZWFkc2hlZXQgY2VsbCBjb21tZW50IGluZGljYXRvci5cbi8vLyBAZ3JvdXAgc3ByZWFkc2hlZXRcbiRrZW5kby1zcHJlYWRzaGVldC1jZWxsLWNvbW1lbnQtYm9yZGVyOiBpZigka2VuZG8tZW5hYmxlLWNvbG9yLXN5c3RlbSwgay1jb2xvciggcHJpbWFyeSApLCBrLWdldC10aGVtZS1jb2xvci12YXIoIHByaW1hcnktMTAwICkpICFkZWZhdWx0O1xuXG4vLy8gVGhlIGJvcmRlciBjb2xvciBvZiB0aGUgU3ByZWFkc2hlZXQgY2VsbCBkaXJ0eSBpbmRpY2F0b3IuXG4vLy8gQGdyb3VwIHNwcmVhZHNoZWV0XG4ka2VuZG8tc3ByZWFkc2hlZXQtY2VsbC1kaXJ0eS1ib3JkZXI6IGlmKCRrZW5kby1lbmFibGUtY29sb3Itc3lzdGVtLCBrLWNvbG9yKCBlcnJvciApLCBrLWdldC10aGVtZS1jb2xvci12YXIoIGVycm9yLTEwMCApKSAhZGVmYXVsdDtcblxuLy8vIFRoZSBob3Jpem9udGFsIHBhZGRpbmcgb2YgdGhlIFNwcmVhZHNoZWV0IHNoZWV0cyBiYXIuXG4vLy8gQGdyb3VwIHNwcmVhZHNoZWV0XG4ka2VuZG8tc3ByZWFkc2hlZXQtc2hlZXRzLWJhci1wYWRkaW5nLXg6IGstc3BhY2luZygyKSAhZGVmYXVsdDtcbi8vLyBUaGUgdmVydGljYWwgcGFkZGluZyBvZiB0aGUgU3ByZWFkc2hlZXQgc2hlZXRzIGJhci5cbi8vLyBAZ3JvdXAgc3ByZWFkc2hlZXRcbiRrZW5kby1zcHJlYWRzaGVldC1zaGVldHMtYmFyLXBhZGRpbmcteTogay1zcGFjaW5nKDIpICFkZWZhdWx0O1xuLy8vIFRoZSBib3JkZXIgd2lkdGggb2YgdGhlIFNwcmVhZHNoZWV0IHNoZWV0cyBiYXIuXG4vLy8gQGdyb3VwIHNwcmVhZHNoZWV0XG4ka2VuZG8tc3ByZWFkc2hlZXQtc2hlZXRzLWJhci1ib3JkZXItd2lkdGg6IDFweCAhZGVmYXVsdDtcblxuLy8vIFRoZSBob3Jpem9udGFsIG1hcmdpbiBvZiB0aGUgU3ByZWFkc2hlZXQgc2hlZXRzIHJlbW92ZS5cbi8vLyBAZ3JvdXAgc3ByZWFkc2hlZXRcbiRrZW5kby1zcHJlYWRzaGVldC1zaGVldHMtcmVtb3ZlLWlubGluZS1zdGFydDogY2FsYyggI3trLXNwYWNpbmcoMil9ICogLTEgKSAhZGVmYXVsdDtcbi8vLyBUaGUgdmVydGljYWwgbWFyZ2luIG9mIHRoZSBTcHJlYWRzaGVldCBzaGVldHMgcmVtb3ZlLlxuLy8vIEBncm91cCBzcHJlYWRzaGVldFxuJGtlbmRvLXNwcmVhZHNoZWV0LXNoZWV0cy1yZW1vdmUtaW5saW5lLWVuZDogay1zcGFjaW5nKDIpICFkZWZhdWx0O1xuXG4vLy8gVGhlIGxlZnQgcGFkZGluZyBvZiB0aGUgU3ByZWFkc2hlZXQgc2hlZXRzIG1lbnUuXG4vLy8gQGdyb3VwIHNwcmVhZHNoZWV0XG4ka2VuZG8tZmlsdGVyLW1lbnUtcGFkZGluZy1sZWZ0OiBjYWxjKCB2YXIoIC0ta2VuZG8taWNvbi1zaXplLCAxcmVtICkgKyAyICogay1zcGFjaW5nKDEpICkgIWRlZmF1bHQ7XG5cbi8vLyBUaGUgdGV4dCBjb2xvciBvZiB0aGUgU3ByZWFkc2hlZXQgZmlsdGVyIEJ1dHRvbi5cbi8vLyBAZ3JvdXAgc3ByZWFkc2hlZXRcbiRrZW5kby1zcHJlYWRzaGVldC1maWx0ZXItYnV0dG9uLXRleHQ6IGlmKCRrZW5kby1lbmFibGUtY29sb3Itc3lzdGVtLCBrLWNvbG9yKCBvbi1hcHAtc3VyZmFjZSApLCBrLWdldC10aGVtZS1jb2xvci12YXIoIG5ldXRyYWwtMTYwICkpICFkZWZhdWx0O1xuLy8vIFRoZSBiYWNrZ3JvdW5kIGNvbG9yIG9mIHRoZSBTcHJlYWRzaGVldCBmaWx0ZXIgQnV0dG9uLlxuLy8vIEBncm91cCBzcHJlYWRzaGVldFxuJGtlbmRvLXNwcmVhZHNoZWV0LWZpbHRlci1idXR0b24tYmc6IGlmKCRrZW5kby1lbmFibGUtY29sb3Itc3lzdGVtLCBrLWNvbG9yKCBhcHAtc3VyZmFjZSApLCAka2VuZG8tY29sb3Itd2hpdGUpICFkZWZhdWx0O1xuLy8vIFRoZSBib3JkZXIgY29sb3Igb2YgdGhlIFNwcmVhZHNoZWV0IGZpbHRlciBCdXR0b24uXG4vLy8gQGdyb3VwIHNwcmVhZHNoZWV0XG4ka2VuZG8tc3ByZWFkc2hlZXQtZmlsdGVyLWJ1dHRvbi1ib3JkZXI6IGlmKCRrZW5kby1lbmFibGUtY29sb3Itc3lzdGVtLCBrLWNvbG9yKCBib3JkZXIgKSwgay1nZXQtdGhlbWUtY29sb3ItdmFyKCBuZXV0cmFsLTExMCApKSAhZGVmYXVsdDtcblxuLy8vIFRoZSB0ZXh0IGNvbG9yIG9mIHRoZSBob3ZlcmVkIFNwcmVhZHNoZWV0IGZpbHRlciBCdXR0b24uXG4vLy8gQGdyb3VwIHNwcmVhZHNoZWV0XG4ka2VuZG8tc3ByZWFkc2hlZXQtZmlsdGVyLWJ1dHRvbi1ob3Zlci10ZXh0OiBpZigka2VuZG8tZW5hYmxlLWNvbG9yLXN5c3RlbSwgay1jb2xvciggb24tYXBwLXN1cmZhY2UgKSwgay1nZXQtdGhlbWUtY29sb3ItdmFyKCBuZXV0cmFsLTE5MCApKSAhZGVmYXVsdDtcbi8vLyBUaGUgYmFja2dyb3VuZCBjb2xvciBvZiB0aGUgaG92ZXJlZCBTcHJlYWRzaGVldCBmaWx0ZXIgQnV0dG9uLlxuLy8vIEBncm91cCBzcHJlYWRzaGVldFxuJGtlbmRvLXNwcmVhZHNoZWV0LWZpbHRlci1idXR0b24taG92ZXItYmc6IGlmKCRrZW5kby1lbmFibGUtY29sb3Itc3lzdGVtLCBrLWNvbG9yKCBiYXNlLWhvdmVyICksIGstZ2V0LXRoZW1lLWNvbG9yLXZhciggbmV1dHJhbC0yMCApKSAhZGVmYXVsdDtcbi8vLyBUaGUgYm9yZGVyIGNvbG9yIG9mIHRoZSBob3ZlcmVkIFNwcmVhZHNoZWV0IGZpbHRlciBCdXR0b24uXG4vLy8gQGdyb3VwIHNwcmVhZHNoZWV0XG4ka2VuZG8tc3ByZWFkc2hlZXQtZmlsdGVyLWJ1dHRvbi1ob3Zlci1ib3JkZXI6IGlmKCRrZW5kby1lbmFibGUtY29sb3Itc3lzdGVtLCBrLWNvbG9yKCBib3JkZXIgKSwgay1nZXQtdGhlbWUtY29sb3ItdmFyKCBuZXV0cmFsLTExMCApKSAhZGVmYXVsdDtcblxuLy8vIFRoZSB0ZXh0IGNvbG9yIG9mIHRoZSBhY3RpdmUgU3ByZWFkc2hlZXQgZmlsdGVyIEJ1dHRvbi5cbi8vLyBAZ3JvdXAgc3ByZWFkc2hlZXRcbiRrZW5kby1zcHJlYWRzaGVldC1maWx0ZXItYnV0dG9uLWFjdGl2ZS10ZXh0OiBpZigka2VuZG8tZW5hYmxlLWNvbG9yLXN5c3RlbSwgay1jb2xvciggb24tYXBwLXN1cmZhY2UgKSwgay1nZXQtdGhlbWUtY29sb3ItdmFyKCBuZXV0cmFsLTE5MCApKSAhZGVmYXVsdDtcbi8vLyBUaGUgYmFja2dyb3VuZCBjb2xvciBvZiB0aGUgYWN0aXZlIFNwcmVhZHNoZWV0IGZpbHRlciBCdXR0b24uXG4vLy8gQGdyb3VwIHNwcmVhZHNoZWV0XG4ka2VuZG8tc3ByZWFkc2hlZXQtZmlsdGVyLWJ1dHRvbi1hY3RpdmUtYmc6IGYoJGtlbmRvLWVuYWJsZS1jb2xvci1zeXN0ZW0sIGstY29sb3IoIGJhc2UtYWN0aXZlICksIGstZ2V0LXRoZW1lLWNvbG9yLXZhciggbmV1dHJhbC0zMCApKSAhZGVmYXVsdDtcbi8vLyBUaGUgYm9yZGVyIGNvbG9yIG9mIHRoZSBhY3RpdmUgU3ByZWFkc2hlZXQgZmlsdGVyIEJ1dHRvbi5cbi8vLyBAZ3JvdXAgc3ByZWFkc2hlZXRcbiRrZW5kby1zcHJlYWRzaGVldC1maWx0ZXItYnV0dG9uLWFjdGl2ZS1ib3JkZXI6IGlmKCRrZW5kby1lbmFibGUtY29sb3Itc3lzdGVtLCBrLWNvbG9yKCBib3JkZXIgKSwgay1nZXQtdGhlbWUtY29sb3ItdmFyKCBuZXV0cmFsLTExMCApKSAhZGVmYXVsdDtcblxuLy8vIFRoZSBjb2xvciBvZiB0aGUgU3ByZWFkc2hlZXQgTWVudSBpY29uLlxuLy8vIEBncm91cCBzcHJlYWRzaGVldFxuJGtlbmRvLXNwcmVhZHNoZWV0LWZpbHRlci1tZW51LWljb24tY29sb3I6IGlmKCRrZW5kby1lbmFibGUtY29sb3Itc3lzdGVtLCBrLWNvbG9yKCBwcmltYXJ5ICksIGstZ2V0LXRoZW1lLWNvbG9yLXZhciggcHJpbWFyeS0xMDAgKSkgIWRlZmF1bHQ7XG5cbi8vLyBUaGUgYm9yZGVyIGNvbG9yIG9mIHRoZSBTcHJlYWRzaGVldCBlcnJvci5cbi8vLyBAZ3JvdXAgc3ByZWFkc2hlZXRcbiRrZW5kby1zcHJlYWRzaGVldC1lcnJvci1ib3JkZXI6IGlmKCRrZW5kby1lbmFibGUtY29sb3Itc3lzdGVtLCBrLWNvbG9yKCBlcnJvci1vbi1zdWJ0bGUgKSwgay1nZXQtdGhlbWUtY29sb3ItdmFyKCBlcnJvci0xOTAgKSkgIWRlZmF1bHQ7XG5cbi8vLyBUaGUgYm9yZGVyIHN0eWxlIG9mIHRoZSBTcHJlYWRzaGVldCBpbWFnZSBEaWFsb2cuXG4vLy8gQGdyb3VwIHNwcmVhZHNoZWV0XG4ka2VuZG8tc3ByZWFkc2hlZXQtaW5zZXJ0LWltYWdlLWRpYWxvZy1ib3JkZXItc3R5bGU6IGRhc2hlZCAhZGVmYXVsdDtcbi8vLyBUaGUgYm9yZGVyIHdpZHRoIG9mIHRoZSBTcHJlYWRzaGVldCBpbWFnZSBEaWFsb2cuXG4vLy8gQGdyb3VwIHNwcmVhZHNoZWV0XG4ka2VuZG8tc3ByZWFkc2hlZXQtaW5zZXJ0LWltYWdlLWRpYWxvZy1ib3JkZXItd2lkdGg6IGstc3BhY2luZygwLjUpICFkZWZhdWx0O1xuLy8vIFRoZSBib3R0b20gbWFyZ2luIG9mIHRoZSBTcHJlYWRzaGVldCBpbWFnZSBEaWFsb2cuXG4vLy8gQGdyb3VwIHNwcmVhZHNoZWV0XG4ka2VuZG8tc3ByZWFkc2hlZXQtaW5zZXJ0LWltYWdlLWRpYWxvZy10ZXh0LW1hcmdpbi1ib3R0b206IGstc3BhY2luZyg3LjUpICFkZWZhdWx0O1xuLy8vIFRoZSB3aWR0aCBvZiB0aGUgU3ByZWFkc2hlZXQgaW1hZ2UgRGlhbG9nIHByZXZpZXcuXG4vLy8gQGdyb3VwIHNwcmVhZHNoZWV0XG4ka2VuZG8tc3ByZWFkc2hlZXQtaW5zZXJ0LWltYWdlLWRpYWxvZy1wcmV2aWV3LXdpZHRoOiAzNTVweCAhZGVmYXVsdDtcbi8vLyBUaGUgaGVpZ2h0IG9mIHRoZSBTcHJlYWRzaGVldCBpbWFnZSBEaWFsb2cgcHJldmlldy5cbi8vLyBAZ3JvdXAgc3ByZWFkc2hlZXRcbiRrZW5kby1zcHJlYWRzaGVldC1pbnNlcnQtaW1hZ2UtZGlhbG9nLXByZXZpZXctaGVpZ2h0OiAyMzBweCAhZGVmYXVsdDtcbi8vLyBUaGUgaW1hZ2Ugb2YgdGhlIFNwcmVhZHNoZWV0IGltYWdlIERpYWxvZyBwcmV2aWV3LlxuLy8vIEBncm91cCBzcHJlYWRzaGVldFxuJGtlbmRvLXNwcmVhZHNoZWV0LWluc2VydC1pbWFnZS1kaWFsb2ctcHJldmlldy1pbWc6IFwiaW1hZ2UtZmx1ZW50LnBuZ1wiICFkZWZhdWx0O1xuLy8vIFRoZSBib3JkZXIgb2YgdGhlIFNwcmVhZHNoZWV0IGltYWdlIERpYWxvZyBwcmV2aWV3LlxuLy8vIEBncm91cCBzcHJlYWRzaGVldFxuJGtlbmRvLXNwcmVhZHNoZWV0LWluc2VydC1pbWFnZS1kaWFsb2ctcHJldmlldy1ib3JkZXI6IHZhciggLS1rZW5kby1jb21wb25lbnQtYm9yZGVyLCBpbml0aWFsICkgIWRlZmF1bHQ7XG4vLy8gVGhlIGJvcmRlciByYWRpdXMgb2YgdGhlIFNwcmVhZHNoZWV0IGltYWdlIERpYWxvZyBwcmV2aWV3LlxuLy8vIEBncm91cCBzcHJlYWRzaGVldFxuJGtlbmRvLXNwcmVhZHNoZWV0LWluc2VydC1pbWFnZS1kaWFsb2ctcHJldmlldy1ib3JkZXItcmFkaXVzOiB2YXIoIC0ta2VuZG8tYm9yZGVyLXJhZGl1cy1tZCwgaW5pdGlhbCApICFkZWZhdWx0O1xuLy8vIFRoZSBzaGFkb3cgb2YgdGhlIFNwcmVhZHNoZWV0IGltYWdlIERpYWxvZyBwcmV2aWV3LlxuLy8vIEBncm91cCBzcHJlYWRzaGVldFxuJGtlbmRvLXNwcmVhZHNoZWV0LWluc2VydC1pbWFnZS1kaWFsb2ctcHJldmlldy1vdmVybGF5LXNoYWRvdzogaW5zZXQgMCAwIDAgMjAwMHB4IHJnYmEoMCwgMCwgMCwgLjUpICFkZWZhdWx0O1xuLy8vIFRoZSBib3JkZXIgcmFkaXVzIG9mIHRoZSBTcHJlYWRzaGVldCBpbWFnZSBEaWFsb2cgcHJldmlldyBvdmVybGF5LlxuLy8vIEBncm91cCBzcHJlYWRzaGVldFxuJGtlbmRvLXNwcmVhZHNoZWV0LWluc2VydC1pbWFnZS1kaWFsb2ctcHJldmlldy1vdmVybGF5LWJvcmRlci1yYWRpdXM6IHZhciggLS1rZW5kby1ib3JkZXItcmFkaXVzLW1kLCBpbml0aWFsICkgIWRlZmF1bHQ7XG4vLy8gVGhlIHRleHQgY29sb3Igb2YgdGhlIGhvdmVyZWQgU3ByZWFkc2hlZXQgaW1hZ2UgRGlhbG9nIHByZXZpZXcuXG4vLy8gQGdyb3VwIHNwcmVhZHNoZWV0XG4ka2VuZG8tc3ByZWFkc2hlZXQtaW5zZXJ0LWltYWdlLWRpYWxvZy1vdmVybGF5LWhvdmVyLXRleHQ6IHZhciggLS1rZW5kby1jb21wb25lbnQtYmcsIGluaXRpYWwgKSAhZGVmYXVsdDtcblxuLy8vIFRoZSB3aWR0aCBvZiB0aGUgU3ByZWFkc2hlZXQgZHJhd2luZyBoYW5kbGUuXG4vLy8gQGdyb3VwIHNwcmVhZHNoZWV0XG4ka2VuZG8tc3ByZWFkc2hlZXQtZHJhd2luZy1oYW5kbGUtd2lkdGg6IGstc3BhY2luZygxLjUpICFkZWZhdWx0O1xuLy8vIFRoZSBoZWlnaHQgb2YgdGhlIFNwcmVhZHNoZWV0IGRyYXdpbmcgaGFuZGxlLlxuLy8vIEBncm91cCBzcHJlYWRzaGVldFxuJGtlbmRvLXNwcmVhZHNoZWV0LWRyYXdpbmctaGFuZGxlLWhlaWdodDogay1zcGFjaW5nKDEuNSkgIWRlZmF1bHQ7XG4vLy8gVGhlIGJvcmRlciBzdHlsZSBvZiB0aGUgU3ByZWFkc2hlZXQgZHJhd2luZyBoYW5kbGUuXG4vLy8gQGdyb3VwIHNwcmVhZHNoZWV0XG4ka2VuZG8tc3ByZWFkc2hlZXQtZHJhd2luZy1oYW5kbGUtYm9yZGVyLXN0eWxlOiBzb2xpZCAhZGVmYXVsdDtcbi8vLyBUaGUgYm9yZGVyIHdpZHRoIG9mIHRoZSBTcHJlYWRzaGVldCBkcmF3aW5nIGhhbmRsZS5cbi8vLyBAZ3JvdXAgc3ByZWFkc2hlZXRcbiRrZW5kby1zcHJlYWRzaGVldC1kcmF3aW5nLWhhbmRsZS1ib3JkZXItd2lkdGg6IDFweCAhZGVmYXVsdDtcbi8vLyBUaGUgYm9yZGVyIGNvbG9yIG9mIHRoZSBTcHJlYWRzaGVldCBkcmF3aW5nIGhhbmRsZS5cbi8vLyBAZ3JvdXAgc3ByZWFkc2hlZXRcbiRrZW5kby1zcHJlYWRzaGVldC1kcmF3aW5nLWhhbmRsZS1ib3JkZXItY29sb3I6IHZhciggLS1rZW5kby1zZWxlY3RlZC1iZywgaW5pdGlhbCApICFkZWZhdWx0O1xuLy8vIFRoZSBvdXRsaW5lIGNvbG9yIG9mIHRoZSBTcHJlYWRzaGVldCBkcmF3aW5nIGhhbmRsZS5cbi8vLyBAZ3JvdXAgc3ByZWFkc2hlZXRcbiRrZW5kby1zcHJlYWRzaGVldC1kcmF3aW5nLWhhbmRsZS1vdXRsaW5lLWNvbG9yOiBpZigka2VuZG8tZW5hYmxlLWNvbG9yLXN5c3RlbSwgay1jb2xvciggcHJpbWFyeSApLCBrLWdldC10aGVtZS1jb2xvci12YXIoIHByaW1hcnktMTAwICkpICFkZWZhdWx0O1xuLy8vIFRoZSBib3JkZXIgY29sb3Igb2YgdGhlIFNwcmVhZHNoZWV0IGRyYXdpbmcgaGFuZGxlLlxuLy8vIEBncm91cCBzcHJlYWRzaGVldFxuJGtlbmRvLXNwcmVhZHNoZWV0LWRyYXdpbmctaGFuZGxlLWJnOiBpZigka2VuZG8tZW5hYmxlLWNvbG9yLXN5c3RlbSwgay1jb2xvciggcHJpbWFyeSApLCBrLWdldC10aGVtZS1jb2xvci12YXIoIHByaW1hcnktMTAwICkpICFkZWZhdWx0O1xuLy8vIFRoZSBib3JkZXIgcmFkaXVzIG9mIHRoZSBTcHJlYWRzaGVldCBkcmF3aW5nIGhhbmRsZS5cbi8vLyBAZ3JvdXAgc3ByZWFkc2hlZXRcbiRrZW5kby1zcHJlYWRzaGVldC1kcmF3aW5nLWhhbmRsZS1ib3JkZXItcmFkaXVzOiB2YXIoIC0ta2VuZG8tYm9yZGVyLXJhZGl1cy1sZywgaW5pdGlhbCApICFkZWZhdWx0O1xuXG4vLy8gVGhlIG91dGxpbmUgc3R5bGUgb2YgdGhlIFNwcmVhZHNoZWV0IGRyYXdpbmcuXG4vLy8gQGdyb3VwIHNwcmVhZHNoZWV0XG4ka2VuZG8tc3ByZWFkc2hlZXQtZHJhd2luZy1vdXRsaW5lLXN0eWxlOiBzb2xpZCAhZGVmYXVsdDtcbi8vLyBUaGUgb3V0bGluZSB3aWR0aCBvZiB0aGUgU3ByZWFkc2hlZXQgZHJhd2luZy5cbi8vLyBAZ3JvdXAgc3ByZWFkc2hlZXRcbiRrZW5kby1zcHJlYWRzaGVldC1kcmF3aW5nLW91dGxpbmUtd2lkdGg6IGstc3BhY2luZygwLjUpICFkZWZhdWx0O1xuXG4vLy8gVGhlIGJhY2tncm91bmQgY29sb3Igb2YgdGhlIFNwcmVhZHNoZWV0IGRyYXdpbmcgYW5jaG9yLlxuLy8vIEBncm91cCBzcHJlYWRzaGVldFxuJGtlbmRvLXNwcmVhZHNoZWV0LWRyYXdpbmctYW5jaG9yLWJnOiAka2VuZG8tc3ByZWFkc2hlZXQtc2VsZWN0ZWQtYmcgIWRlZmF1bHQ7XG5cbi8vLyBUaGUgdmVydGljYWwgc3BhY2luZyBvZiB0aGUgU3ByZWFkc2hlZXQgRHJvcFpvbmUuXG4vLy8gQGdyb3VwIHNwcmVhZHNoZWV0XG4ka2VuZG8tc3ByZWFkc2hlZXQtZHJvcHpvbmUtc3BhY2luZy15OiBrLXNwYWNpbmcoMykgIWRlZmF1bHQ7XG5cbi8vLyBUaGUgaW1hZ2Ugb2YgdGhlIFNwcmVhZHNoZWV0IGluc2VydCBpbWFnZSBEaWFsb2cuXG4vLy8gQGdyb3VwIHNwcmVhZHNoZWV0XG4ka2VuZG8tc3ByZWFkc2hlZXQtaW5zZXJ0LWltYWdlLWRpYWxvZy1pbWc6IHVybChcImRhdGE6aW1hZ2UvcG5nO2Jhc2U2NCxpVkJPUncwS0dnb0FBQUFOU1VoRVVnQUFBY3dBQUFHUUNBWUFBQUFqbDFBS0FBQUFHWFJGV0hSVGIyWjBkMkZ5WlFCQlpHOWlaU0JKYldGblpWSmxZV1I1Y2NsbFBBQUFBNFpwVkZoMFdFMU1PbU52YlM1aFpHOWlaUzU0YlhBQUFBQUFBRHcvZUhCaFkydGxkQ0JpWldkcGJqMGk3N3UvSWlCcFpEMGlWelZOTUUxd1EyVm9hVWg2Y21WVGVrNVVZM3ByWXpsa0lqOCtJRHg0T25odGNHMWxkR0VnZUcxc2JuTTZlRDBpWVdSdlltVTZibk02YldWMFlTOGlJSGc2ZUcxd2RHczlJa0ZrYjJKbElGaE5VQ0JEYjNKbElEVXVOaTFqTVRRMUlEYzVMakUyTXpRNU9Td2dNakF4T0M4d09DOHhNeTB4TmpvME1Eb3lNaUFnSUNBZ0lDQWdJajRnUEhKa1pqcFNSRVlnZUcxc2JuTTZjbVJtUFNKb2RIUndPaTh2ZDNkM0xuY3pMbTl5Wnk4eE9UazVMekF5THpJeUxYSmtaaTF6ZVc1MFlYZ3Ribk1qSWo0Z1BISmtaanBFWlhOamNtbHdkR2x2YmlCeVpHWTZZV0p2ZFhROUlpSWdlRzFzYm5NNmVHMXdUVTA5SW1oMGRIQTZMeTl1Y3k1aFpHOWlaUzVqYjIwdmVHRndMekV1TUM5dGJTOGlJSGh0Ykc1ek9uTjBVbVZtUFNKb2RIUndPaTh2Ym5NdVlXUnZZbVV1WTI5dEwzaGhjQzh4TGpBdmMxUjVjR1V2VW1WemIzVnlZMlZTWldZaklpQjRiV3h1Y3pwNGJYQTlJbWgwZEhBNkx5OXVjeTVoWkc5aVpTNWpiMjB2ZUdGd0x6RXVNQzhpSUhodGNFMU5Pazl5YVdkcGJtRnNSRzlqZFcxbGJuUkpSRDBpZUcxd0xtUnBaRHBoTUdWbU16Wm1aaTA0WW1JMUxUUmxOMll0T1Rjd01TMDRPVFU1WlRnMU4yWmhZMk1pSUhodGNFMU5Pa1J2WTNWdFpXNTBTVVE5SW5odGNDNWthV1E2TURORE9UQkROVVEyT1VKR01URkZPVGt3TXpZNFJUSTNOalpCUVRkRU5rTWlJSGh0Y0UxTk9rbHVjM1JoYm1ObFNVUTlJbmh0Y0M1cGFXUTZNRE5ET1RCRE5VTTJPVUpHTVRGRk9Ua3dNelk0UlRJM05qWkJRVGRFTmtNaUlIaHRjRHBEY21WaGRHOXlWRzl2YkQwaVFXUnZZbVVnVUdodmRHOXphRzl3SUVORElESXdNVGtnS0UxaFkybHVkRzl6YUNraVBpQThlRzF3VFUwNlJHVnlhWFpsWkVaeWIyMGdjM1JTWldZNmFXNXpkR0Z1WTJWSlJEMGllRzF3TG1scFpEcGpNbVptWmpNME1pMDVOakV5TFRRd00yWXRZV1poWVMwMU1URTFaalEyTlRobU1XTWlJSE4wVW1WbU9tUnZZM1Z0Wlc1MFNVUTlJbUZrYjJKbE9tUnZZMmxrT25Cb2IzUnZjMmh2Y0RwaFlqbGhNbVV3TXkxa05tSXdMVFkzTkdNdE9EYzRaUzB5TWpVek1qZGtOREk1T1RjaUx6NGdQQzl5WkdZNlJHVnpZM0pwY0hScGIyNCtJRHd2Y21SbU9sSkVSajRnUEM5NE9uaHRjRzFsZEdFK0lEdy9lSEJoWTJ0bGRDQmxibVE5SW5JaVB6NjhVSExiQUFBZ3BFbEVRVlI0MnV6ZDJaTmM5ZG5ZOFRPTDlnVTBJQWtqZ3dwa0k4UU9RbUkxRlMrRkhXOVZMdC83d3BXYjkwMHFLVitsVEwzdlRaekVsU3ZuSmlsZnZNNGZrUXVuZkVPdzJMVWdpVVVzTmhpTUFGc2p0SXpRcnBtSm5oT2RvYWVudCtucDVTeWZUMVhYaUo0UjBoejE5TGVmMzFsNlpIWjJOZ0VBV2h1MUNRQkFNQUZBTUFGQU1BRkFNQUZBTUFGQU1BRkFNQUVBd1FRQXdRUUF3UVFBd1FRQXdRUUF3UVFBd1FRQU11UDkvZ05HUmtac1pRQUdvcC92OFd6Q0JJQThUSmo5R0ZyOXN3R1VZeUFVVEhFRW9Mdm4rTnhHZEx3Z0cxQkVBYW94WVk3a05aNTVDK2JJRXU0RG9GaXhIR2tUMEpFOFJUTXZ3V3dYeFJIQkJLaE1RR2NiUE44UFBaeDVDT1pJaDZFY0VVK0FRZ2V4MmZSWUg4dG00UnhxTkljZHpHYnhhL2RST0FHS09UM1dobkNrNW5PelRYNVBicUk1ekdCMkVzdG12MjRYVHdEeU8ySE90b2hpL2YyNWllYXdndGtxbHZXL0h1a2ducUlKVUx4WTF2OTZ0c1YwT3ZSbzVta2ZabjBZUjV0RXM5MjBDVUIrbzlrb2t2VzNtUTZpV1lrSmM2Uk5MT3R2bzcvODVTL1gvZUlYdi9qbnRXdlgvbWpac21WZkdSc2JHM2VOV29DQ2x2T3E2ZW5weTFmOS9Zc3Z2dmpmdi9uTmIvN3pyMy85NnpNMW9SeE4ydS9USEhoQVIvcDVvZHIwRDFnWXR2cGcxa2R6dE9iajZOLy8vdmYvTkRFeDhlL0d4OGVYZVpnQmxNK1ZLMWN1bnpoeDRuOXUzcno1bjY1RmM2Wm0wbXkwZEZzL3RkYkd1RzkvejJGZWZMMVJPT2RpK1pPZi9HVGwxTlRVLzkyMGFkTXZ4Qktndk9JNS91cHovWCtJNS94NDdxOGJuRWFTbkJ5dk11Z0pzMUVrUnhvRWN5dzIzTHAxNng3MlVBS29qak5uenV4ZnYzNzlONi8rY3JyQmxEbmJic29zNDRUWjdNbythVFNQSFR2Mlg4VVNvSHJpdVQ4YTBHUzZIT3FVT2V3bDJRVzNPTUJuWW1MaUh6MXNBS29wR2hBdFNGcWZKVEg0YUExcFNiYlJVbXg2bTV5Yy9PODMzbmpqdi9HUUFhaXU0OGVQLzYrTkd6ZisrK1RMZzRBYUxjMG1TUVdXWkp1TjFpTnIxcXo1dm9jS1FMVmRiY0cvVG5KMmNacEJCclBWMVhubXBzMWx5NVp0OGxBQnFMYXJMZGlZTkw5WVRiT21sQ2FZOWZGc2RIbThrYmdvZ1ljS1FMVmRhMEhUVnBSOXd1d29ucTdnQTBDRDQxOHF0U1RiemRRSlFJVzdtYWN1ak9aZ1l3QkE3cHN4bXJPTklLQUE1TElONDJYYUlGZXVYRW1tcHFhU2l4Y3ZKak16TXg1cUFNT1l4RVpIa3hVclZpVHIxNitQNjhUMnNoR1ZlM3V2dm9oWVRrNU9DaVhBa01YejhQbno1OVBoWmVQR2piMklaajVlQ0pUbEh5Z21TN0VFeUZjNDQ3bTVOSk56V2I2UmVDVURRTDVjdUhCQk1QUDRTZ2FBZk9uMzljb0ZFd0J5cGpRSC9iaENFQUFtVEFBUVRBQVFUQUFRVEFBUVRBQkFNQUZBTUFGQU1BRkFNQUZBTUFGQU1BRkFNQUZBTUFFQXdRUUF3UVFBd1FRQXdRU0FBaGt2eXpjeU1qTGlYeE1BRXlZQUNDWUFDQ1lBQ0NZQUNDWUFJSmdBSUpnQUlKZ0FJSmdBSUpnQUlKZ0FJSmdBSUpnQWdHQUN3Qko1ZXk4QU1HRUNnR0FDZ0dBQ2dHQUNnR0FDZ0dBQ2dHQUNBSUlKQUlJSkFJSUpBSUlKQUlJSkFLWGc0dXNBWU1JRUFNRUVBTUVFQU1FRUFNRUVBTUVFQU1FRUFBUVRBQVFUQUFRVEFBUVRBQVFUQUVyQnhkY0J3SVFKQUlJSkFBTXpiaE1BOWNiR3hwTHg4ZkgwRnI4ZUhSMU5QOGF1ait3V1ptZG41MjdUMDlQSnpNeE0rdkhLbFN2cExYNE5nZ21VS3BETGx5OVBiOHVXTFVzRDJZbmFlTWIvbzE0RTlQTGx5OG1sUzVmU200QWltRURoUkJSWHJseVozbUtTckhYbXpKbms1TW1UeWFsVHA1SXZ2dmdpdlYyOGVERzlSZlFpZ3VrVHlMVXBkTVdLRldsczE2NWRtOTZ1di83NlpNT0dEY242OWV2VHo4VXR4TlI1NGNLRjlCWXhCY0VFY2l2Q3RtclZxcm1JWllHY25KeE1QdjMwMCtSdmYvdGJHc1pNTExjMmt5MjluajkvUHYzdlk4ZU96ZnQ4L0JrMzNYUlRzbVhMbG1UVHBrM0p1blhyNXFJYWYwYjh2cGc4b1FoR1d2MHc5T1FQK1BKMGo1R2FqOWx0dE9ZVzZ6bGpWLzgrSjd2NWMrcC9VSUZrUWJ6V3JGa3piNXI4OE1NUGs3Lzg1UzlwS090MTh0elE2bXNhZmU3bW0yOU90bTNibHR4MjIyM3pvbnYyN05sNWthWmM0c1ZTbC8zWWNQWEQ5TFhiVE0xdHR1YVcxSHhNK3RrMHdZU1NpMzJTTWRIRng1Qk5rdSsrKys3YzBtcXZJdGxwUk9QdnNtUEhqcm5KTThUZkpaWis2LzlPQ0taZ0NpYjBWZXlqakZER1BzcncrZWVmcHhQbE8rKzgwL05wc3B0cE0zUFhYWGVsRStlTk45NlkvbmZzMzR4dzJzY3BtSUlwbU5CM3Nmd2Erd3V6bzEzLzlLYy9KWHYzN2gxb0pGdDl2dEg5anozMldMSjkrL2IwMXhITDJLOXFtVll3QlZNd29XOC9ieEhLYktyOCtPT1Brd01IRHFUN0NQTXdUYmI3WEV6RXUzZnZUclp1M1RvM2JVWTQrLzA4aFdBS0psUkluQWNacDNIRS9zRTQ5ZVBnd1lQcGZzcGhUNU9MblRSRDdOL2N0V3RYK2ozRlBzMnBxU25uY0FybTBJUHB0QklvZ1lqa2RkZGRseTdCeGtFOUw3Lzhjc2VUMmJDbXlWYjNIemx5SkRsNjlHankxRk5QcFUrMmNVN242ZE9uSFJERVVKVm13b3duQ2FpaU9LOHlKc3Y0V2Z2clgvK2F2UFRTUyttcEdrV1pKbHQ5TGliTWlHWWNGQlJmRTVPbTh6YUxaK1BHamFXWU1GMThIUW9zRHU3Sll2bisrKzhuZS9ic2FSbkw3THF2M1h5KzlycXgzWHl1MDk5VGUzOThMODgrKzJ6eTNudnZwZDlqZHVVZ0dBWkxzbERneVRJTzhJbVEvUG5QZjA1ZWVlV1ZRaytUcmU2UEZ3THhNWTZpamU4NWZtM1NaTkJNbUZERVY3cmo0M09UWmJOWUZtMmFiSGYvODg4L254N0VsRTJhOWRlL0JjRUU1di9Ram82bUIvaGt5N0Qxc2V3MmhKMyszbDRHZExIM3g2U1pMYzltQnptQllBSUxaTk5WaE9Lamp6NUtqNGJ0VlFqek5FMjJ1dis1NTU1TFB2amdnM2t2SEdBUXhzdjBSQUpsRnhkUGoxTkk0akozRWN0Qm54TFM2MzJUbmQ3ZktKcXhMVFp2M3B4ZTdDQXVwUWNtVENDVnZTMVhpR1hZWnVja0xuVml6Tk0wMmV5KytONGptbkV4ZzdpcWtTTm5FVXdnRlNzb01VbUYySWQzNHNTSmpxUFdqOC8xOC81TzR4bHZicDN0djQxcDB5b1RnZ21rUVloOWRuRnQyRmRmZmJXanFiQ2J5WENRVTJNbjAyUzdxTDd4eGh2cCszbkd0b2x0QklJSkZSYW5UMlFYVTkrM2IxL0hVK0ZpSnIyOFRwT2RSUFhGRjE5TVA4WTJjcW9KZ2drVlZyc1VHd2UzRE9LVWtGNmRLdExMYWJMWi9YSE4zTGZlZW12ZXRnTEJoSXFKZzFsaWFvcWpZbHRkbkdCUTUwY09JNGp0dmpaKy9jYy8vakY5eDZMWVZnNEFRakNoZ3JLall1Tzh3MzVOazBzSmFLK2oyczNYWnVKTnNtdTNHUWdtVkVTY1JoSVRVMHhPYjcvOWR1NVBDUm5FTk5ucWF3OGRPcFI4OXRsbjZUYUxiUWVDQ1JXUkhlanp5U2VmNVBweWRZT2NKdXVYWXV2dmk3YzNxOTEySUpoUTloL00wZEgwaWo3aG5YZmV5ZDAwT1lnZ3R2dmFSdmNkUG54NGJqcDNuVmw2emFYeElJZml3SlY0VE1mMVlyTzNzY3I3NWVyeThMV3hyZUlkVGVKdHdHTEtQSC8rdkFjVEprd29lekJESE94am1teS9GRnQ3ZndTemRodUNDUlBLK2lwMmREUTljR1ZxYWlxZE1BYzVOUlpwbW14MlgyeXp1R3plOWRkZm4yN0xtWmtaRHlwTW1GQkcyUkdlY1hUc29LZkdvazJUelg3L3A1OStPbTliZ21CQ0NXVUgreHc5ZWpUM1I3cTIrMzhzTlo3ZC92NFBQL3h3M3JhRVhyQWtDemtOWmpZbDFZYWhtYVV1ZHk3Mi9uNHNwZmJ5OThkRjZnVVR3WVFTR3hzYlM0K09qZjJYRnk5ZTdIdjRpaHJFZHZmRjBiSFpmc3pZcHZHK21TQ1lVTEpnaHRPblR3ODhmR1dMNStUa1pCck1PSUJLTU9rRit6QWhoOEdNNmFnK0JIbSsrSGtlOTJNZVAzNTgzallGRXlhVTZSWHN0YXZUeElScG1semExMmJiMEJWL0VNdzZydlJES1g0Z3I3MEJjdXpEYkRSRkRUdUlSWXBuYk1Oc3d2VDhnR0JDeVdSUDdPZk9uUlBFSlg1dHRnM0ZFc0dFRWdmendvVUxoYi9penJEam1WMUhWakFSVENoeE1Pc3Y1eWFlaS8vYUsxZXVDQ2FDQ1dVUFpyenJoaUF1L1oxTEJCUEJoSkpieWdFLzR0bjZxa2dnbUZDU1VNWkVGSmQwdTN6NWNxR0NsTGUvYTNiaGRmRkVNS0hFd1l4VEliSWx4YklFYmREbmxHWVhMQkJNQkJOS0dzeHNPc3FPOGl4ai9BWVJ6NVVyVndvbWdnbGxEK2JxMWFzWFhCNHZEMEVhOXU5ZnpQOGp0cUZnMGt1dUdRVTVrbDBrZlAzNjlmTmlNS2pyci9ialdyRzl2TmJzWXE2Wm0yMURGMTdIaEZuSG9lT1VRWGIrNVhYWFhWZjVwZGlsL2o5aUcyYmIxUE1EZ2drbG5UQTNiTmhReUNBTyttdGIzYjl4NDhaNUwwSkFNS0dFd1l6M2NhemFPWks5am1jV3pPeUtQeUNZVUNJeERjV1RmaXdueGxHZWNVM1pQTVF2NzlOay9mMnJWcTFLSmlZbTB2dE5tUFNLZzM0Z1orS0NCV0hMbGkyRlBEQ24yNi90OXYvUjZQOXo2NjIzenR1V0lKaFFRdGtTWXZhazMwbE1saHEwUVFTeGwwZkF0cm8vYnJmZGR0dThiUW05WUVrV2NqcGhmdVVyWDZuYzFYbDZkZjlYdi9wVkV5WW1UQ2k3Mk9jV0IvL0Vmc3h0MjdhMW5NU0t1aFRici90RFRKYzMzSEJEdWczdHYwUXdvZVN5NjhoKy9ldGZML3hTN0NEdmo5czk5OXd6Ynh0Q3IxaVNoWndHTTQ3MGpBa3pyaXZiaS9mSEhQVHlhcitYWWh0OUxyYlYzWGZmTFppWU1LRXFZaWt4Mi85MjMzMzM1WHFhSE5hVTJlaHpEei84Y1BveHRwM2xXQVNUd2p0Ky9MaU4wSUdMRnkrbUg3ZHUzZHJ6K1BVNmZJUFlOOW5zL3RyUDNYNzc3Zk8ySGZTU2E4a3k4RmcrLy96enlaTlBQcGxzMnJUSkJta2hUb21JQTFmaWFOa0hIbmdnT1hqdzRJSklOQXBIczZBTTZtc0hjWCtqeiszZXZUdTU1WlpiMG0wVzI4NXpBaVpNQ2gzTFBYdjJwTy96R05FOGR1eVlqZEpHZHFXZk9QaW4yMmt5cjBmQUxuYUtiZmU1dSs2NmE5NDJBOEdrOExITW50UkVzNzNZRnhjVDAwMDMzWlI4ODV2ZnpFVVFseHE5cFFTMDJlZSs5NzN2SlRmZmZITzZyWng3aVdCU21saldUaytpMmQ2NWMrZlNqL2ZlZTIreWJ0MjZ3bDZ1cnBjQnJmMWN2Ty9sUXc4OU5HOWJnV0JTeUZoR0ZPdGpLWnFkaTZrcE8wWGlxYWVlR3VnMDJjdkwxZlhpOXpUNmZVOC8vWFQ2TWJhUk40dEdNQ2wwTE51OTZzK2lPVGs1YWFNMUVTODRJaEpmKzlyWGttOTk2MXVsdU1CQU45TmsvZWQzN2RxVmJOKytQYjIvMllzeUVFeEtFY3ZhYU1heXJXZ21UWU9SYmNzNEx6TjdyOGVpWEs2dVY5TmtyWGlUN1hqeFVQdUNBZ1NUUXNZeW5zVGkwUDVPYjNIdW5FbXp1VGlZSlR1LzhEdmYrVTR5UGo1ZXFXbXk5dlB4dmYvNHh6OU9QOFpTckt2NklKZ1VPcGJkc0R6YmZ2dGtSODErOTd2ZlhYVEk4bktCZ1c0L2wzMCtZaG52U0JMYndsSXNna2toWS9uQ0N5OHMrUWxNTkp1TFlKdzllemI5ZU1jZGQ4eEZNeTlUWmk4LzErelBpMWp1MkxGajNyYUFRUmpwOTRPdDVtb2JJelVmczl0b3pXMHNibGYvUGllNytYTk9uejd0WDNPSUltNjlpR1d0bFN0WHVpSlFFMk5qWThtYU5XdlNuNjgzM25naitjTWYvdEF3TnMwaTFJdjdoL0c1SC83d2grbFZqN0pZT2lxMkdPS3Q2cnJzeDRhckg2YXYzV1pxYnJNMXQ2VG1ZMTlmUUprd3lXVXNzMGt6L3I5T09Wa29RaEVIQWNXVFE1eWZXVHRwbG1tYXJQV0RIL3hnTHBieHZZc2xneWFZTEVtMkRCdHhXOHdCUG9zNUVFZzBHNHZycFdaSGgwWTA0Mm8zZWJ0Y1hTY2g3T1R6UC9yUmo1SUhIM3h3N3ZTUitONUJNQ2xVTEdOZlk3K3YzU21hemNXUnM5bWtHVytjbkIwNW1vZkwxUzMxU05qc2FOaWYvdlNueWYzMzN6ODNXYnIwSGNOaUh5YTVqbVd0RlN0VzJLZlpSTzArelU4KytTVDUvZTkvbjV3OGVYSXVQcTJtdDhYY3Y1VFBMZmJ6RXhNVDZRdUFlQWNTK3l5THJTejdNQVdUcm1MWmozMlduY2dPQk1wTzNPZExvNk9qeWVyVnE5TjRSbGllZSs2NVpQLysvVDBKM2xKQzJNM3ZqU3Y0ZlB2YjMwNldMVnMydDcvV0cwSUxwbUFLcGxpS1prOS8zbUw3TEYrK1BQM3Y5OTU3TDNuMjJXZlRuNDg4VDVPMVQ2eHhiZGc3Nzd3ei9lKzRJRUdzWWpoMVJEQUZVekFMR2NzOHZOOWd0andybW8zRlpMWnExYXE1bjc5NDgrbjZVMCtHTVUyMitwcnZmLy83eWM2ZE8rZStKbDZVMlY4cG1JSXBtR0lwbWdPZk5qLzk5TlBrN2JmZlR2YnUzWnVMYVRMenlDT1BKSGZmZlhleVpjc1dVNlZnQ3FaZ0Z0dm5uMzgrOUdWWTBleGVIR2thNFl4OW0rSG8wYVBKQng5OGtPemJ0eStOVTcrV1pGdDlUZnk3N2Q2OU85bTJiVnQ2VUUrSWZaVVJTcWVNQ0taZzlqbVlVMU5USHBWOW5DenpmTDNPaU1FVFR6emg2TmtPd2htaHlzSVozbjMzM2VUTk45OU1QdzVpbW94OWszSDZTMXphTGhPaGpGT0hoTEs4NGsyK0JWTXd4VkkwQ3huTzJNY1p0OXBWaEk4Ly9qaDUvLzMzazQ4KyttakJ2M20zMDJUc1I5MjZkV3Y2UHA2MzNucHJjc01OTjh4OUx2WlB4azBvQlZNd0JiUHdzWHp4eFJjTDlVNFFsbWNYLzdPWmhiTjI2c3dDR2hlS2lOdXBVNmZTVzV6YWtWMWxKM3M3cmV6M3h3dVdPQS8wK3V1dlQyL3hiN0I1OCtaNWdjeW15U3lVOWxFS3BtQUtwbGptWU5JVXpjV0pjemhqOG94d3hzZWFuOXNsaWVlWENHeUVNajQ2bDFJd0JWTXdTeU1taTRobFRCTkZKWnE5Q1dqRU16NW10K3o2dnJVLzE5bnpSM1lwdXdoaWRvdElDaVNDS1ppbGptVVozcEEzbG1kRkV3U3pweThrL1ZOU3RsaUdPT295dmg5dlFnMElKbUxaUVRSZmV1a2wwUVFFRTdGc0owNkVGMDFBTUZseUxDTW0vWHJ6NTd6Y3Nra3pqdjRGRUV5NmltVlpKOHQ2MlQ1TjBRUzZWWnFqWk0rY09lTmZjeEd4TFBNeWJDdHh5c25qanovdTZGa1lvSFhyMW5YYkQwZkpJcGJEWXA4bVlNSTBZWFljeXp5OVJkZXd4SG1hSmswd1lab3dhUmpMN0FBZm5ISUNDQ1l0WWxuVlpkaFcwWHo1NVpkRkV4Qk14TEtkbUxnam1vNmVCZHF4RDdQRVRwdzRJWllkeXZacDNuampqVFlHOUpoOW1JaGxpYmk0QVZDWkNmT0xMNzd3cjNtTkEzeVdObWsrOXRoampwNkZIbHE3ZHEwSkU3RXM0NlRwUUNCQU1Dc1F5M2l5RjB2UlpQZzhmZ1NUbk1mU1BzdmVSZk9WVjE3eHBFZFhZbC80ODg4L254dzdkc3pHS0JIN01FMld0SkR0MDNUMExJdUo1WjQ5ZTlJWHIzSHQ0bTk4NHh2SnBrMmJLcjFON01Na0YrSm9XTEhzNzZUcFBFMjZpV1dJbjB1VFpua0lwbGdpbXZRaGxoblJGRXh5RWt2N0xFV1RmTVF5b3Rqc3pkamo4ZlBDQ3krSVpzSFpoMm15WkJGaW4rYWpqejVxbnlZTFl0bkppOWZZcC9ua2swOVdicDltV2ZaaGxpYVlaOCtlcmNRRHp3RSsrWW1taXhzUVIxRjNHc3ZhYUZidFFLQTFhOWFVSXBpV1pBc1d5empWUVN5SHl5a24xTWF5MlRKc3MxczhmdXpUTENiQkxGZ3M3Yk1VVGZJVnkyNGZQNkpaUEpaa0M4QSt5L3l5VDdPYXNZd0RlSHJ4NHJVcSt6UXR5U0tXekUyYWpwNFZ5MjdFejdXalo0dERNTVVTMFdRSXNSVE40ckVrbStOWU9zQ25XR0o1OXBGSEhyRThXMEsxNTFuMlN5elBQdkhFRTZWY25yVWtpMWl5WU5KODlkVlhUWnBpMmZXaytlS0xMNW8wYzB3d3hSTFJaTWl4RkUzQlJDeEZrMExITXZZdER2cm5VVFR6cXpUN01NK2RPMWZvZjRnNHp6S2VaTVd5UE96VExLNStIZUN6R0dVNjVXVDE2dFhkOXNNK1RNVFNwRW5lWTduWUsvajAraGFQSDVObXZnam1rTVV5ckZpV081cDc5KzRWelFMR01nOHN6K2FMSlZteFpBQmllWGIzN3QyV1ozTXMyMmVaeDh0UEZ2MlVFMHV5aUNVbVRiRTBhVmFJWUlvbEE0em12bjM3UkZNc1JWTXdFVXM2ZWRJVHpmekZjdGdIK0RnUXFCanN3eHh3TEdOWlRpeko5bW5lY01NTk5zWVFZeG54S2VKYjVtWDdOSXZ5SnViMllTS1dkQzNicHhtbkZERjRzZDBqbGtXWkxKdE5tdDZQMVlSWnVnbno1TW1UNlRKc1BNaWgxdkxseTAyYVE0cGxHZDZNUFNiTnh4OS9QUGVUWmxrbXpOSUVNNjhQZnBNbDdjVHk3SzVkdTV4eU1nQkZYb1p0RjgwOG4zS3lhdFdxVWdUVGtxeFlNbVNPbmhYTHBZam5sNWRlZXNueTdBQ1lNUHNjUzh1d2RNcnliUDlqV2VZWHI3RlNrZGNEZ1V5WWlDVTlkZW5TSlFjQzlTbVdNWUdWZmFVbm5tOU1tdjBsbUgySVpTeXZpU1hkUmpNZVA2TFoyMWlXYlJtMkdjdXovV1ZKVml6Sm9WaWVqUU9CTE0rS1pUZnlkdlJzV1paa0JWTXNFYzNTcVQzUHNxcGluMlplb21rZkpuUGlQTXY5Ky9lTEpUMFZ5N1B4dUxJOEs1YmRpT2VqbDE5KzJmS3NDVE0vRTJiRTBtUkp2eWZOaHg5KzJLUXBsbDJKNWRuSEhudHNxSk9tSlZuQkZFc0dHczFZbnAyWW1MQXhXc1N5Q2tmRGRpTmJuaDNXeFRFc3lWYWNXREpJMmZKczdDdEhMQmNyTytYRXhURk1tS2xCL3FERWs1WjlsZ3hyMHJROE8xOVZ6clBzaFdFdHo4YWZhOEtzSUxFa0Q1T21BNEhFc3R2QndvRkFKc3lCL01CWWhpVXZZcC9VenAwN0t6MXBXb1pkMnVObmtKT21DYk5peEpJOGljZmhnUU1IS2p0cGl1WFNIejhtVFJObTMySnBHWlk4aW4yYVZaczB4Ykszazkramp6N2E5MG5UaEZtaHlWSXN5YXZZcHhtVFpsV09ubzFZeG1Ra2xyMFIyL0dWVjE1eDlLd0pVeXlwMXFRWlI4K1crVHhOc2V5ZmJKOW12ODdUTE11RUtaZ3RZaG12M01XU0lrVXpsbWZMR0UyeExIWTBMY21XbUZoU1JHVmRuaFhMd2NnT0JMSThLNWhpaVdnV1VId2ZzWTlOTEFjWFRmczBXMHk4bG1TL2RPclVxWFNmWlR6cFFKSEY4dXhERHoxVTZPWFppS1hKY2poaWVUYU9udTNWOHF3bDJaS0pXTVlyYzdHa0xKUG13WU1IQ3p0cGlxVkpNNDhFc3lhV2xtRXAyNU5lRWFNcGxxS1pWNlZaa3UwMmRySFA4clhYWGhOTFNxdEl5N054Z0U4OFNRL3IvVzFaS0x1NHdWS1daMk9KdDh0K09LMGtMOEVVUzZvaW5yQWVmUERCWEVjemk2WEpNcCtQbjZWRXN5ekJyT3lTckZoU0pYbGZuaFhML0Q5K0xNOVdkTUtNZlpaaVNSWEY4bXplSnMzczFCSExzT1dkTkMzSkZqU1lZb2tudlJYSkF3ODhrSXRvT3MreW1JK2ZSeDU1WkZIUkZNd0NCak9McFZOSE1Ha3VIM28weGJJNjBiUVBzMkFpbHJFUFJ5emgvNStuZWVqUW9YUmYvckJpK2VxcnI0cGxRY1dBRXY5K1ZkdW5XWWxnWnJHMERBdkRqMllXUy9zc2l4L052WHYzVnVwTnpFdS9KQ3VXMEZxMlQzUERoZzBtUzdwNi9NVHliS3MzTWJjUHN3REJQSDM2dEgyVzBJRnNuMlkvb3htVHJIMlcxWXltWU9ZOG1CRkxreVhrSTVvUlM1TmwrYU81ZS9mdWh0RjAwRS9PUkppem0xakM0dFh1MDZ6OWVWcnFUU3lyb1hhZlp2MWpvRFNkS2N1RW1TMjdPaG9XOGpOcDJtZFozVW16OXBTVGVFeVZZY0lzVlRBamx2RUsyV1FKdzQ5bXhESW1EckdzWmpSMzdkbzFGMDNCekZrd2p4MDdsc2JTWkFtOXNXelpzcTZqS1piVVJyTXN3U3pOUGt5eGhONjZmUGx5Y3ZqdzRVV2ZweW1XaEZqcDI3ZHZYNm5PMHl4Tk1NVVMrdk56dFpob2lpWDEwWXpIUTFtTWwrVWJLZE9SV0pESFNmUCsrKzl2dVR3YlVZMkpJcDRrL1R4U3htRm0xRDhuMEdrMG0wMmFjYi9Ka3JJVFRLRGphTDcrK3V2cDBlaGlpV0FDdEJETGEwZU9IRW1tcDZmRmtzcXhEeFBvV0p4cWN0OTk5eVZqWTJOenNiVFBFaE1tUUYwc2QrN2NtYXhkdTNiZUFUNGdtQURYeElubkVjdDE2OWJOeGRJeUxGVmpTUlpvTzFrKzlOQkRhU3pqUEV1eFJEQUJXc1F5SnN2OSsvZmJaMGxsV1pJRk9vcWx5UklUWmtsNHhRdTlqMlh0QVQ1aWlXQUN0SW1sWlZpd0pBdTBpR1cyenhLd0pBdGtUd2JqNHd0aWFSa1dTaGhNWUdtVDVZTVBQcGpHTXE0VjYyaFlXTWlTTElqbHZGaTZnZytVZk1MMFNoaTZlQUlZSDI4NFdRSWxEaWF3K01ueWdRY2VzQXdMSmt5Z1ZTenZ2Ly8rQlZmd0FVeVlRSVBKVWl4Qk1JRU9Zbm5nd0lIMFRhR3QwRUNGZ3VrSEh0ckhNcFpoYTJOcHNvVE9PYTBFeEJLbzBvUUp0STlsSEEzNzJtdXZXWWFGS2dmVER6ODArQUVmSDU4WFM1TWxDQ2JRWUxLODc3Nzc1azRkTVZuQzB0aUhDUldKcGNrU1RKZ3ByNXJoMmcvMStMaFlnbUFDblV5VzJkR3dCdzhlRkVzUVRLQ1RXRnA5QWNHY3g1TUNsZjVCdnJZTWE3S0UvbkhRRDRnbFVLVUpFNm9vbG1IdnZmZmV1Zk1zRHgwNjVOUVJNR0VDcldKcHNnUVRaa2U4b3FaU1A3amo0MklKZ2dtMG15enZ1ZWVlZWJHMERBdUNhY0tFdXNteVVTd0J3UVJxWWhuTHNHdldySmwzZ0E4d0dBNzZnWUxHMGo1TE1HRUNOYko5bGxrc0R4OCtiSjhsQ0diM1BIbFExc215UHBZbVN4Z09TN0pRZ0ZpZVBuMWFMTUdFQ2RTTFpkaTc3NzU3N21oWXk3QWdtRDNqaVlReVRaYjFzVFJaZ21BQ2RiRzB6eElFRTJnaFc0WjFOQ3dJWmw5NVVxSG9rMldqV0FMNTRTaFp5RmtzWDMvOWRiRUV3UVNheFRKT0hZbFkybWNKT2YxNXRRa2dIN0cwenhJRWN5QTh5VkMwV041MTExMExZZ2tJSnRBa2xyRU1lL255WlMvNklPZnN3NFFoeDlKa0NTYk1nZkxxbktMRWN2WHExV0lKZ2dsMEVzczMzbmpETWl3VWpDVlpHRUlzVFpaZ3dod2FyOVRKYXl4MzdOZ2hsbURDQkRxTjVadHZ2aW1XWU1JMFlVSjlMTys4ODg0RnNmUTRCUk1tVURkWnhxa2pVMU5UeVZ0dnZXV3lCQk1tMENpV0prc1F6Tnp5aEVRZVl0bG9HUllvQjB1eTBJZFlXb1lGd1FRNmlLVzM2QUxCQk1RU3F2bnpYcFp2eEQ1TWhoSEw3ZHUzTDFpRzlWZ0VFMmF1alkyTitkZGtLTEdNVTBlT0hEbGlueVdVL0xtNU5CUG0rdlhyazVNblQzcDBNdkJZbWl5aHVZbUpDY0hNbTF0dXVTVTVjK1pNTWowOTdSRktYMTh0TjRvbDBQakY1VzIzM1ZhYTcyZGtkbmEydjMvQWw2KzZSMm8rWnJmUm1sdk03V05YL3o1ZGo0a1hMbHhJamg0OW1qNlJDU2Y5K09HLzQ0NDd4Qkk2ZUdFWmsyWEVNbjVlbHRDUERWYy9URis3emRUY1ptdHVTYzNIcEo5TnkwTXdSNjdGTW40OXZwUmdBbEFlMTRKNTVWb2twNitGY1dqQnpNdEJQd3UrYVFBcUwxZHRHTTNKeGdDQVhEZGpOR2NiUWtBQnlHVVhSdk8yUWFhbnAwVVRvT0ptWm1aeUY4NWhCYlBSTjUvZWQrVXFEeFdBYXJ0OCtmS1ZWcTBvZXpBYjdieWRyZHNBc3hjdVhKajBVQUdvdG5QbnprMG1MWTZHVFlad1FGQmVsbVRuZm4zbXpKbmZlNmdBVk51cFU2ZitUNU5BRGsyZVRpdEpiNy85N1cvLytlb283cW9EQUJWMTZkS2w2ZC85N25mLzFHRENIS3BCWHJnZy9jOEdIeGRjOWVmRWlSUC9iY09HRGYvV3d3YWdlajc0NElQL3NXM2J0ditZZEhaMW4za1JLOHVWZm1wRFdSL0xCVmYrT1gvKy9ITXJWNjdjNmFFRFVCM0hqaDA3c0huejVuK1ZOTCt5VC8zRU9iQmdEbnBKdHRuUlR2VzNtWi85N0dkUFg3aHc0UzBQSDRCcW1KeWNQUEx6bi8vODZSYVJuRzNUbFA0T2dBT2VNSnRObVVuZGhEbTNSSHZpeEluL3NucjE2bjlZc1dMRk1nOG5nUEs1T2h4ZC91eXp6MzU3KysyM1A1TXNYSUtkU1JhZVVkRTBtR1cvbHV4c2s0a3p2ZGp1eE1URU03LzYxYTl1UFhyMDZMOU1UVTE5ZHVuU3BTdjlqandBL1JNWEpiaDQ4ZUtWa3lkUGZ2YmhoeC8reXpQUFBIUHIxVmorTXZueVhVbmFMcjBPd3pBbXpFWlRadTIwMmVrdGFmQVJnSHhxZExET1ltNUpKd0h0WjlQR2M3SVJSeHBzaUZhUkhHa1JYZ0R5R2N0R3dVemFCREkzNzFneVBzU05OOUltbW8zaW1ZZ2xRS21pbVhRUXlhRWU3Sk9IQ2JOVk5FZWFiS0RhKytzaktab0ErWTlsSi9ITVhTeUhIY3pGVHByMVgxOGZUa2NDQVpRbm5MbUtaUjZDMlN5YVNkSitpVFlYR3hDQXZzVXpON0hNU3pBYlJiQ1RjQUpRbm1DMmltSXVHakNldzQwMzBtWkRDU2hBZWFPWnUxRG1NWmlOTnRCSTNqY2dBQU9OcUdBdVlzTTVHaFpBSEFXemJCc1lnSElZdFFrQVFEQUJvQ2Y2dmlUcm5VVUFNR0VDZ0dBQ0FJSUpBSUlKQUlJSkFJSUpBSUlKQUlJSkFJSUpBSUlKQUFnbUFBZ21BQWdtQUFnbUFBZ21BQWdtQUFnbUFDQ1lBQ0NZQUNDWUFDQ1lBQ0NZQUZCMC8wK0FBUURISHhRRU1NUklyd0FBQUFCSlJVNUVya0pnZ2c9PVwiKSAhZGVmYXVsdDtcbiIsIkB1c2UgXCIuLi9jb3JlL19pbmRleC5zY3NzXCIgYXMgKjtcbkB1c2UgXCIuLi9saXN0L192YXJpYWJsZXMuc2Nzc1wiYXMgKjtcbkB1c2UgXCIuL192YXJpYWJsZXMuc2Nzc1wiIGFzICo7XG5cbkBtaXhpbiBrZW5kby1zcHJlYWRzaGVldC0tdGhlbWUoKSB7XG4gICAgLy8gU3ByZWFkc2hlZXRcbiAgICAuay1zcHJlYWRzaGVldCB7XG4gICAgICAgIEBpbmNsdWRlIGZpbGwoXG4gICAgICAgICAgICB2YXIoIC0ta2VuZG8tc3ByZWFkc2hlZXQtdGV4dCwgI3ska2VuZG8tc3ByZWFkc2hlZXQtdGV4dH0gKSxcbiAgICAgICAgICAgIHZhciggLS1rZW5kby1zcHJlYWRzaGVldC1iZywgI3ska2VuZG8tc3ByZWFkc2hlZXQtYmd9ICksXG4gICAgICAgICAgICB2YXIoIC0ta2VuZG8tc3ByZWFkc2hlZXQtYm9yZGVyLCAjeyRrZW5kby1zcHJlYWRzaGVldC1ib3JkZXJ9IClcbiAgICAgICAgKTtcbiAgICB9XG5cbiAgICAvLyBIZWFkZXJcbiAgICAuay1zcHJlYWRzaGVldC1oZWFkZXIge1xuICAgICAgICBAaW5jbHVkZSBmaWxsKFxuICAgICAgICAgICAgdmFyKCAtLWtlbmRvLXNwcmVhZHNoZWV0LWhlYWRlci10ZXh0LCAjeyRrZW5kby1zcHJlYWRzaGVldC1oZWFkZXItdGV4dH0gKSxcbiAgICAgICAgICAgIHZhciggLS1rZW5kby1zcHJlYWRzaGVldC1oZWFkZXItYmcsICN7JGtlbmRvLXNwcmVhZHNoZWV0LWhlYWRlci1iZ30gKSxcbiAgICAgICAgICAgIHZhciggLS1rZW5kby1zcHJlYWRzaGVldC1oZWFkZXItYm9yZGVyLCAjeyRrZW5kby1zcHJlYWRzaGVldC1oZWFkZXItYm9yZGVyfSApXG4gICAgICAgICk7XG4gICAgfVxuXG4gICAgLy8gUm93IC8gY29sdW1uIGhlYWRlcnNcbiAgICAuay1zcHJlYWRzaGVldC10b3AtY29ybmVyLFxuICAgIC5rLXNwcmVhZHNoZWV0LXJvdy1oZWFkZXIsXG4gICAgLmstc3ByZWFkc2hlZXQtY29sdW1uLWhlYWRlciB7XG4gICAgICAgIEBpbmNsdWRlIGZpbGwoXG4gICAgICAgICAgICB2YXIoIC0ta2VuZG8tc3ByZWFkc2hlZXQtaGVhZGVyLXRleHQsICN7JGtlbmRvLXNwcmVhZHNoZWV0LWhlYWRlci10ZXh0fSApLFxuICAgICAgICAgICAgdmFyKCAtLWtlbmRvLXNwcmVhZHNoZWV0LWhlYWRlci1iZywgI3ska2VuZG8tc3ByZWFkc2hlZXQtaGVhZGVyLWJnfSApLFxuICAgICAgICAgICAgdmFyKCAtLWtlbmRvLXNwcmVhZHNoZWV0LWhlYWRlci1ib3JkZXIsICN7JGtlbmRvLXNwcmVhZHNoZWV0LWhlYWRlci1ib3JkZXJ9IClcbiAgICAgICAgKTtcbiAgICB9XG5cblxuICAgIC8vIENlbGwgZWRpdG9yXG4gICAgLmstc3ByZWFkc2hlZXQtY2VsbC1lZGl0b3Ige1xuICAgICAgICBAaW5jbHVkZSBmaWxsKFxuICAgICAgICAgICAgdmFyKCAtLWtlbmRvLXNwcmVhZHNoZWV0LWNlbGwtZWRpdG9yLXRleHQsICN7JGtlbmRvLXNwcmVhZHNoZWV0LWNlbGwtZWRpdG9yLXRleHR9ICksXG4gICAgICAgICAgICB2YXIoIC0ta2VuZG8tc3ByZWFkc2hlZXQtY2VsbC1lZGl0b3ItYmcsICN7JGtlbmRvLXNwcmVhZHNoZWV0LWNlbGwtZWRpdG9yLWJnfSApLFxuICAgICAgICAgICAgdmFyKCAtLWtlbmRvLXNwcmVhZHNoZWV0LWNlbGwtZWRpdG9yLWJvcmRlciwgI3ska2VuZG8tc3ByZWFkc2hlZXQtY2VsbC1lZGl0b3ItYm9yZGVyfSApXG4gICAgICAgICk7XG4gICAgfVxuXG5cbiAgICAvLyBDZWxsc1xuICAgIC5rLXNwcmVhZHNoZWV0LW1lcmdlZC1jZWxsIHtcbiAgICAgICAgQGluY2x1ZGUgZmlsbCggJGJnOiB2YXIoIC0ta2VuZG8tc3ByZWFkc2hlZXQtYmcsICN7JGtlbmRvLXNwcmVhZHNoZWV0LWJnfSApICk7XG4gICAgfVxuXG5cbiAgICAvLyBTZWxlY3Rpb25cbiAgICAuay1zcHJlYWRzaGVldCAuay1zZWxlY3Rpb24tZnVsbCxcbiAgICAuay1zcHJlYWRzaGVldCAuay1zZWxlY3Rpb24tcGFydGlhbCB7XG4gICAgICAgIEBpbmNsdWRlIGZpbGwoICRiZzogdmFyKCAtLWtlbmRvLXNwcmVhZHNoZWV0LXBhcnRpYWwtc2VsZWN0aW9uLWJnLCAjeyRrZW5kby1zcHJlYWRzaGVldC1wYXJ0aWFsLXNlbGVjdGlvbi1iZ30gKSApO1xuICAgIH1cbiAgICAuay1zcHJlYWRzaGVldC1zZWxlY3Rpb24ge1xuICAgICAgICBAaW5jbHVkZSBmaWxsKFxuICAgICAgICAgICAgdmFyKCAtLWtlbmRvLXNwcmVhZHNoZWV0LXNlbGVjdGlvbi10ZXh0LCAjeyRrZW5kby1zcHJlYWRzaGVldC1zZWxlY3Rpb24tdGV4dH0gKSxcbiAgICAgICAgICAgIHZhciggLS1rZW5kby1zcHJlYWRzaGVldC1zZWxlY3Rpb24tYmcsICN7JGtlbmRvLXNwcmVhZHNoZWV0LXNlbGVjdGlvbi1iZ30gKSxcbiAgICAgICAgICAgIHZhciggLS1rZW5kby1zcHJlYWRzaGVldC1zZWxlY3Rpb24tYm9yZGVyLCAjeyRrZW5kby1zcHJlYWRzaGVldC1zZWxlY3Rpb24tYm9yZGVyfSApXG4gICAgICAgICk7XG4gICAgICAgIEBpbmNsdWRlIGJveC1zaGFkb3coIHZhciggLS1rZW5kby1zcHJlYWRzaGVldC1zZWxlY3Rpb24tc2hhZG93LCAjeyRrZW5kby1zcHJlYWRzaGVldC1zZWxlY3Rpb24tc2hhZG93fSApICk7XG4gICAgfVxuICAgIC5rLXNwcmVhZHNoZWV0LXNlbGVjdGlvbi1oaWdobGlnaHQge1xuICAgICAgICBAaW5jbHVkZSBmaWxsKCAkYm9yZGVyOiB2YXIoIC0ta2VuZG8tc3ByZWFkc2hlZXQtc2VsZWN0aW9uLWJvcmRlciwgI3ska2VuZG8tc3ByZWFkc2hlZXQtc2VsZWN0aW9uLWJvcmRlcn0gKSApO1xuICAgIH1cbiAgICAuay1zcHJlYWRzaGVldCAuay1zaW5nbGUtc2VsZWN0aW9uOjphZnRlciB7XG4gICAgICAgIEBpbmNsdWRlIGZpbGwoXG4gICAgICAgICAgICB2YXIoIC0ta2VuZG8tc3ByZWFkc2hlZXQtc2luZ2xlLXNlbGVjdGlvbi10ZXh0LCAjeyRrZW5kby1zcHJlYWRzaGVldC1zaW5nbGUtc2VsZWN0aW9uLXRleHR9ICksXG4gICAgICAgICAgICB2YXIoIC0ta2VuZG8tc3ByZWFkc2hlZXQtc2luZ2xlLXNlbGVjdGlvbi1iZywgI3ska2VuZG8tc3ByZWFkc2hlZXQtc2luZ2xlLXNlbGVjdGlvbi1iZ30gKSxcbiAgICAgICAgICAgIHZhciggLS1rZW5kby1zcHJlYWRzaGVldC1zaW5nbGUtc2VsZWN0aW9uLWJvcmRlciwgI3ska2VuZG8tc3ByZWFkc2hlZXQtc2luZ2xlLXNlbGVjdGlvbi1ib3JkZXJ9IClcbiAgICAgICAgKTtcbiAgICB9XG4gICAgLmstc3ByZWFkc2hlZXQtYWN0aXZlLWNlbGwge1xuICAgICAgICBAaW5jbHVkZSBmaWxsICggJGJnOiB2YXIoIC0ta2VuZG8tc3ByZWFkc2hlZXQtYWN0aXZlLWNlbGwtYmcsICN7JGtlbmRvLXNwcmVhZHNoZWV0LWFjdGl2ZS1jZWxsLWJnfSApICk7XG4gICAgICAgIEBpbmNsdWRlIGJveC1zaGFkb3coIHZhciggLS1rZW5kby1zcHJlYWRzaGVldC1hY3RpdmUtY2VsbC1zaGFkb3csICN7JGtlbmRvLXNwcmVhZHNoZWV0LWFjdGl2ZS1jZWxsLXNoYWRvd30gKSApO1xuICAgIH1cblxuICAgIC5rLXNwcmVhZHNoZWV0IC5rLWF1dG8tZmlsbCB7XG4gICAgICAgIGJvcmRlci1jb2xvcjogdmFyKCAtLWtlbmRvLXNwcmVhZHNoZWV0LXNlbGVjdGVkLWJvcmRlciwgI3ska2VuZG8tc3ByZWFkc2hlZXQtc2VsZWN0ZWQtYm9yZGVyfSApO1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoIC0ta2VuZG8tc3ByZWFkc2hlZXQtc2VsZWN0ZWQtYmcsICN7JGtlbmRvLXNwcmVhZHNoZWV0LXNlbGVjdGVkLWJnfSApO1xuICAgICAgICBib3gtc2hhZG93OiBpbnNldCAwIDAgMCAxcHggdmFyKCAtLWtlbmRvLXNwcmVhZHNoZWV0LXNlbGVjdGVkLWJnLCAjeyRrZW5kby1zcHJlYWRzaGVldC1zZWxlY3RlZC1iZ30gKTtcblxuICAgICAgICBAaW5jbHVkZSBmaWxsKFxuICAgICAgICAgICAgdmFyKCAtLWtlbmRvLXNwcmVhZHNoZWV0LWF1dG8tZmlsbC10ZXh0LCAjeyRrZW5kby1zcHJlYWRzaGVldC1hdXRvLWZpbGwtdGV4dH0gKSxcbiAgICAgICAgICAgIHZhciggLS1rZW5kby1zcHJlYWRzaGVldC1hdXRvLWZpbGwtYmcsICN7JGtlbmRvLXNwcmVhZHNoZWV0LWF1dG8tZmlsbC1iZ30gKSxcbiAgICAgICAgICAgIHZhciggLS1rZW5kby1zcHJlYWRzaGVldC1hdXRvLWZpbGwtYm9yZGVyLCAjeyRrZW5kby1zcHJlYWRzaGVldC1hdXRvLWZpbGwtYm9yZGVyfSApXG4gICAgICAgICk7XG4gICAgICAgIEBpbmNsdWRlIGJveC1zaGFkb3coIHZhciggLS1rZW5kby1zcHJlYWRzaGVldC1hdXRvLWZpbGwtc2hhZG93LCAjeyRrZW5kby1zcHJlYWRzaGVldC1hdXRvLWZpbGwtc2hhZG93fSApICk7XG4gICAgfVxuICAgIC5rLXNwcmVhZHNoZWV0IC5rLWF1dG8tZmlsbC1wdW5jaCB7XG4gICAgICAgIEBpbmNsdWRlIGZpbGwoICRiZzogdmFyKCAtLWtlbmRvLXNwcmVhZHNoZWV0LWF1dG8tZmlsbC1wdW5jaC1iZywgI3ska2VuZG8tc3ByZWFkc2hlZXQtYXV0by1maWxsLXB1bmNoLWJnfSApICk7XG4gICAgfVxuXG5cbiAgICAvLyBSZXNpemUgaGFuZGxlXG4gICAgLmstc3ByZWFkc2hlZXQgLmstcmVzaXplLWhhbmRsZSxcbiAgICAuay1zcHJlYWRzaGVldCAuay1yZXNpemUtaGludC1oYW5kbGUsXG4gICAgLmstc3ByZWFkc2hlZXQgLmstcmVzaXplLWhpbnQtbWFya2VyIHtcbiAgICAgICAgQGluY2x1ZGUgZmlsbCggJGJnOiB2YXIoIC0ta2VuZG8tc3ByZWFkc2hlZXQtcmVzaXplLWhhbmRsZS1iZywgI3ska2VuZG8tc3ByZWFkc2hlZXQtcmVzaXplLWhhbmRsZS1iZ30gKSApO1xuICAgIH1cblxuICAgIC8vIENvbW1lbnRzXG4gICAgLmstc3ByZWFkc2hlZXQtaGFzLWNvbW1lbnQ6OmFmdGVyIHtcbiAgICAgICAgYm9yZGVyLWJsb2NrLWNvbG9yOiB2YXIoIC0ta2VuZG8tc3ByZWFkc2hlZXQtY2VsbC1jb21tZW50LWJvcmRlciwgI3ska2VuZG8tc3ByZWFkc2hlZXQtY2VsbC1jb21tZW50LWJvcmRlcn0gKSB0cmFuc3BhcmVudDtcbiAgICAgICAgYm9yZGVyLWlubGluZS1jb2xvcjogdHJhbnNwYXJlbnQgdmFyKCAtLWtlbmRvLXNwcmVhZHNoZWV0LWNlbGwtY29tbWVudC1ib3JkZXIsICN7JGtlbmRvLXNwcmVhZHNoZWV0LWNlbGwtY29tbWVudC1ib3JkZXJ9ICk7XG4gICAgfVxuXG4gICAgLy8gVmFsaWRhdGlvblxuICAgIC5rLXNwcmVhZHNoZWV0LWNlbGwgLmstZGlydHkge1xuICAgICAgICBib3JkZXItYmxvY2stY29sb3I6IHZhciggLS1rZW5kby1zcHJlYWRzaGVldC1jZWxsLWRpcnR5LWJvcmRlciwgI3ska2VuZG8tc3ByZWFkc2hlZXQtY2VsbC1kaXJ0eS1ib3JkZXJ9ICkgdHJhbnNwYXJlbnQ7XG4gICAgICAgIGJvcmRlci1pbmxpbmUtY29sb3I6IHZhciggLS1rZW5kby1zcHJlYWRzaGVldC1jZWxsLWRpcnR5LWJvcmRlciwgI3ska2VuZG8tc3ByZWFkc2hlZXQtY2VsbC1kaXJ0eS1ib3JkZXJ9ICkgdHJhbnNwYXJlbnQ7XG4gICAgfVxuXG4gICAgLy8gRmlsdGVyIGJ1dHRvblxuICAgIC5rLXNwcmVhZHNoZWV0IC5rLWZpbHRlci1yYW5nZSB7XG4gICAgICAgIGJvcmRlci1jb2xvcjogdmFyKCAtLWtlbmRvLXNwcmVhZHNoZWV0LXByaW1hcnktYm9yZGVyLCAjeyRrZW5kby1zcHJlYWRzaGVldC1wcmltYXJ5LWJvcmRlcn0gKTtcbiAgICB9XG4gICAgLmstc3ByZWFkc2hlZXQtZmlsdGVyIHtcbiAgICAgICAgQGluY2x1ZGUgZmlsbChcbiAgICAgICAgICAgIHZhciggLS1rZW5kby1zcHJlYWRzaGVldC1maWx0ZXItYnV0dG9uLXRleHQsICN7JGtlbmRvLXNwcmVhZHNoZWV0LWZpbHRlci1idXR0b24tdGV4dH0gKSxcbiAgICAgICAgICAgIHZhciggLS1rZW5kby1zcHJlYWRzaGVldC1maWx0ZXItYnV0dG9uLWJnLCAjeyRrZW5kby1zcHJlYWRzaGVldC1maWx0ZXItYnV0dG9uLWJnfSApLFxuICAgICAgICAgICAgdmFyKCAtLWtlbmRvLXNwcmVhZHNoZWV0LWZpbHRlci1idXR0b24tYm9yZGVyLCAjeyRrZW5kby1zcHJlYWRzaGVldC1maWx0ZXItYnV0dG9uLWJvcmRlcn0gKVxuICAgICAgICApO1xuICAgICAgICBib3gtc2hhZG93OiBpbnNldCAwIDAgMCAxcHggdmFyKCAtLWtlbmRvLXNwcmVhZHNoZWV0LWZpbHRlci1idXR0b24tYm9yZGVyLCAjeyRrZW5kby1zcHJlYWRzaGVldC1maWx0ZXItYnV0dG9uLWJvcmRlcn0gKTtcblxuICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGZpbGwoXG4gICAgICAgICAgICAgICAgdmFyKCAtLWtlbmRvLXNwcmVhZHNoZWV0LWZpbHRlci1idXR0b24taG92ZXItdGV4dCwgI3ska2VuZG8tc3ByZWFkc2hlZXQtZmlsdGVyLWJ1dHRvbi1ob3Zlci10ZXh0fSApLFxuICAgICAgICAgICAgICAgIHZhciggLS1rZW5kby1zcHJlYWRzaGVldC1maWx0ZXItYnV0dG9uLWhvdmVyLWJnLCAjeyRrZW5kby1zcHJlYWRzaGVldC1maWx0ZXItYnV0dG9uLWhvdmVyLWJnfSApLFxuICAgICAgICAgICAgICAgIHZhciggLS1rZW5kby1zcHJlYWRzaGVldC1maWx0ZXItYnV0dG9uLWhvdmVyLWJvcmRlciwgI3ska2VuZG8tc3ByZWFkc2hlZXQtZmlsdGVyLWJ1dHRvbi1ob3Zlci1ib3JkZXJ9IClcbiAgICAgICAgICAgICk7XG4gICAgICAgIH1cblxuICAgICAgICAmLmstYWN0aXZlIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGZpbGwoXG4gICAgICAgICAgICAgICAgdmFyKCAtLWtlbmRvLXNwcmVhZHNoZWV0LWZpbHRlci1idXR0b24tYWN0aXZlLXRleHQsICN7JGtlbmRvLXNwcmVhZHNoZWV0LWZpbHRlci1idXR0b24tYWN0aXZlLXRleHR9ICksXG4gICAgICAgICAgICAgICAgdmFyKCAtLWtlbmRvLXNwcmVhZHNoZWV0LWZpbHRlci1idXR0b24tYWN0aXZlLWJnLCAjeyRrZW5kby1zcHJlYWRzaGVldC1maWx0ZXItYnV0dG9uLWFjdGl2ZS1iZ30gKSxcbiAgICAgICAgICAgICAgICB2YXIoIC0ta2VuZG8tc3ByZWFkc2hlZXQtZmlsdGVyLWJ1dHRvbi1hY3RpdmUtYm9yZGVyLCAjeyRrZW5kby1zcHJlYWRzaGVldC1maWx0ZXItYnV0dG9uLWFjdGl2ZS1ib3JkZXJ9IClcbiAgICAgICAgICAgICk7XG4gICAgICAgIH1cblxuICAgIH1cblxuICAgIC5rLXNwcmVhZHNoZWV0LXZhbHVlLXRyZWV2aWV3LXdyYXBwZXIge1xuICAgICAgICBAaW5jbHVkZSBmaWxsKFxuICAgICAgICAgICAgdmFyKCAtLWtlbmRvLXNwcmVhZHNoZWV0LXRleHQsICN7JGtlbmRvLXNwcmVhZHNoZWV0LXRleHR9ICksXG4gICAgICAgICAgICB2YXIoIC0ta2VuZG8tc3ByZWFkc2hlZXQtYmcsICN7JGtlbmRvLXNwcmVhZHNoZWV0LWJnfSApLFxuICAgICAgICAgICAgdmFyKCAtLWtlbmRvLXNwcmVhZHNoZWV0LWJvcmRlciwgI3ska2VuZG8tc3ByZWFkc2hlZXQtYm9yZGVyfSApXG4gICAgICAgICk7XG4gICAgfVxuXG4gICAgLy8gRmlsdGVyIG1lbnUgbGVnYWN5IC0gZGVsZXRlIGFmdGVyIG5ldyByZW5kZXJpbmcgYWRvcHRpb24gUjMgMjNcbiAgICAuay1zcHJlYWRzaGVldC1maWx0ZXItbWVudSB7XG5cbiAgICAgICAgPiAuay1tZW51LFxuICAgICAgICA+IC5rLW1lbnU6bm90KC5rLWNvbnRleHQtbWVudSkge1xuXG4gICAgICAgICAgICAuay1pdGVtOmhvdmVyLFxuICAgICAgICAgICAgLmstaXRlbS5rLWhvdmVyIHtcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBmaWxsKFxuICAgICAgICAgICAgICAgICAgICB2YXIoIC0ta2VuZG8tbGlzdC1pdGVtLWhvdmVyLXRleHQsICN7JGtlbmRvLWxpc3QtaXRlbS1ob3Zlci10ZXh0fSApLFxuICAgICAgICAgICAgICAgICAgICB2YXIoIC0ta2VuZG8tbGlzdC1pdGVtLWhvdmVyLWJnLCAjeyRrZW5kby1saXN0LWl0ZW0taG92ZXItYmd9IClcbiAgICAgICAgICAgICAgICApO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLmstY29sdW1ubWVudS1pdGVtID4gLmstaWNvbjpmaXJzdC1jaGlsZCB7XG4gICAgICAgICAgICBjb2xvcjogdmFyKCAtLWtlbmRvLXNwcmVhZHNoZWV0LWZpbHRlci1tZW51LWljb24tY29sb3IsICN7JGtlbmRvLXNwcmVhZHNoZWV0LWZpbHRlci1tZW51LWljb24tY29sb3J9ICk7XG4gICAgICAgIH1cbiAgICB9XG5cblxuICAgIC5rLXNwcmVhZHNoZWV0LWluc2VydC1pbWFnZS1kaWFsb2cge1xuICAgICAgICBib3JkZXItY29sb3I6IHZhciggLS1rZW5kby1zcHJlYWRzaGVldC1pbnNlcnQtaW1hZ2UtZGlhbG9nLXByZXZpZXctYm9yZGVyLCAjeyRrZW5kby1zcHJlYWRzaGVldC1pbnNlcnQtaW1hZ2UtZGlhbG9nLXByZXZpZXctYm9yZGVyfSApO1xuXG4gICAgICAgIC5rLXNwcmVhZHNoZWV0LWhhcy1pbWFnZSB7XG4gICAgICAgICAgICAmOmhvdmVyLFxuICAgICAgICAgICAgJi5rLWhvdmVyIHtcbiAgICAgICAgICAgICAgICBib3gtc2hhZG93OiB2YXIoIC0ta2VuZG8tc3ByZWFkc2hlZXQtaW5zZXJ0LWltYWdlLWRpYWxvZy1wcmV2aWV3LW92ZXJsYXktc2hhZG93LCAjeyRrZW5kby1zcHJlYWRzaGVldC1pbnNlcnQtaW1hZ2UtZGlhbG9nLXByZXZpZXctb3ZlcmxheS1zaGFkb3d9ICk7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICY6aG92ZXIgZGl2LFxuICAgICAgICAgICAgJi5rLWhvdmVyIGRpdiB7XG4gICAgICAgICAgICAgICAgY29sb3I6IHZhciggLS1rZW5kby1zcHJlYWRzaGVldC1pbnNlcnQtaW1hZ2UtZGlhbG9nLW92ZXJsYXktaG92ZXItdGV4dCwgI3ska2VuZG8tc3ByZWFkc2hlZXQtaW5zZXJ0LWltYWdlLWRpYWxvZy1vdmVybGF5LWhvdmVyLXRleHR9ICk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAuay1zcHJlYWRzaGVldC1kcmF3aW5nIHtcbiAgICAgICAgJi5rLXNwcmVhZHNoZWV0LWFjdGl2ZS1kcmF3aW5nIHtcbiAgICAgICAgICAgIG91dGxpbmUtY29sb3I6IHZhciggLS1rZW5kby1zcHJlYWRzaGVldC1kcmF3aW5nLWhhbmRsZS1vdXRsaW5lLWNvbG9yLCAjeyRrZW5kby1zcHJlYWRzaGVldC1kcmF3aW5nLWhhbmRsZS1vdXRsaW5lLWNvbG9yfSApO1xuICAgICAgICB9XG5cbiAgICAgICAgLmstc3ByZWFkc2hlZXQtZHJhd2luZy1oYW5kbGUge1xuICAgICAgICAgICAgYm9yZGVyLWNvbG9yOiB2YXIoIC0ta2VuZG8tc3ByZWFkc2hlZXQtZHJhd2luZy1oYW5kbGUtYm9yZGVyLWNvbG9yLCAjeyRrZW5kby1zcHJlYWRzaGVldC1kcmF3aW5nLWhhbmRsZS1ib3JkZXItY29sb3J9ICk7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoIC0ta2VuZG8tc3ByZWFkc2hlZXQtZHJhd2luZy1oYW5kbGUtYmcsICN7JGtlbmRvLXNwcmVhZHNoZWV0LWRyYXdpbmctaGFuZGxlLWJnfSApO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLmstc3ByZWFkc2hlZXQtZHJhd2luZy1hbmNob3ItY2VsbCB7XG4gICAgICAgIGJhY2tncm91bmQ6IHZhciggLS1rZW5kby1zcHJlYWRzaGVldC1kcmF3aW5nLWFuY2hvci1iZywgI3ska2VuZG8tc3ByZWFkc2hlZXQtZHJhd2luZy1hbmNob3ItYmd9ICk7XG4gICAgfVxuXG5cbiAgICAvLyBGb3JtdWxhIGJhclxuICAgIC5rLXNwcmVhZHNoZWV0LWZvcm11bGEtbGlzdCB7fVxuICAgIC5rLXN5bnRheC1yZWYgeyBjb2xvcjogI2ZmODgyMjsgfVxuICAgIC5rLXN5bnRheC1udW0geyBjb2xvcjogIzAwOTlmZjsgfVxuICAgIC5rLXN5bnRheC1zdHIgeyBjb2xvcjogIzM4YjcxNDsgfVxuICAgIC5rLXN5bnRheC1lcnJvciB7IGNvbG9yOiByZWQ7IH1cbiAgICAuay1zeW50YXgtYm9vbCB7IGNvbG9yOiAjYTkxNjljOyB9XG4gICAgLmstc3ludGF4LXBhcmVuLW1hdGNoIHsgYmFja2dyb3VuZC1jb2xvcjogI2NhZjIwMDsgfVxuXG59XG4iLCJAdXNlIFwic2FzczptYXBcIjtcbkB1c2UgXCIuLi9jb3JlL19pbmRleC5zY3NzXCIgYXMgKjtcbkB1c2UgXCIuL192YXJpYWJsZXMuc2Nzc1wiIGFzICo7XG5cbkBtaXhpbiBrZW5kby1waXZvdGdyaWQtLWxheW91dCgpIHtcblxuICAgIC8vIFBpdm90Z3JpZFxuICAgIC5rLXBpdm90Z3JpZCB7XG4gICAgICAgIHBhZGRpbmctYmxvY2s6IHZhciggLS1rZW5kby1waXZvdGdyaWQtcGFkZGluZy15LCAjeyRrZW5kby1waXZvdGdyaWQtcGFkZGluZy15fSApO1xuICAgICAgICBwYWRkaW5nLWlubGluZTogdmFyKCAtLWtlbmRvLXBpdm90Z3JpZC1wYWRkaW5nLXgsICN7JGtlbmRvLXBpdm90Z3JpZC1wYWRkaW5nLXh9ICk7XG4gICAgICAgIGJvcmRlci13aWR0aDogdmFyKCAtLWtlbmRvLXBpdm90Z3JpZC1ib3JkZXItd2lkdGgsICN7JGtlbmRvLXBpdm90Z3JpZC1ib3JkZXItd2lkdGh9ICk7XG4gICAgICAgIGJvcmRlci1zdHlsZTogc29saWQ7XG4gICAgICAgIGJveC1zaXppbmc6IGNvbnRlbnQtYm94O1xuICAgICAgICBmb250LXNpemU6IHZhciggLS1rZW5kby1waXZvdGdyaWQtZm9udC1zaXplLCAjeyRrZW5kby1waXZvdGdyaWQtZm9udC1zaXplfSApO1xuICAgICAgICBmb250LWZhbWlseTogdmFyKCAtLWtlbmRvLXBpdm90Z3JpZC1mb250LWZhbWlseSwgI3ska2VuZG8tcGl2b3RncmlkLWZvbnQtZmFtaWx5fSApO1xuICAgICAgICBsaW5lLWhlaWdodDogdmFyKCAtLWtlbmRvLXBpdm90Z3JpZC1saW5lLWhlaWdodCwgI3ska2VuZG8tcGl2b3RncmlkLWxpbmUtaGVpZ2h0fSApO1xuICAgICAgICB0ZXh0LWFsaWduOiBzdGFydDtcbiAgICAgICAgdmVydGljYWwtYWxpZ246IHRvcDtcbiAgICAgICAgZGlzcGxheTogZ3JpZDtcbiAgICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiB2YXIoIC0ta2VuZG8tcGl2b3RncmlkLXJvdy1oZWFkZXItd2lkdGgsICN7JGtlbmRvLXBpdm90Z3JpZC1yb3ctaGVhZGVyLXdpZHRofSApIGF1dG87XG4gICAgICAgIGdyaWQtdGVtcGxhdGUtcm93czogdmFyKCAtLWtlbmRvLXBpdm90Z3JpZC1jb2x1bW4taGVhZGVyLWhlaWdodCwgI3ska2VuZG8tcGl2b3RncmlkLWNvbHVtbi1oZWFkZXItaGVpZ2h0fSApIGF1dG87XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAgICAgICB0YWJsZSB7XG4gICAgICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgIG1heC13aWR0aDogbm9uZTtcbiAgICAgICAgICAgIGJvcmRlci13aWR0aDogMDtcbiAgICAgICAgICAgIGJvcmRlci1jb2xvcjogaW5oZXJpdDtcbiAgICAgICAgICAgIGJvcmRlci1jb2xsYXBzZTogc2VwYXJhdGU7XG4gICAgICAgICAgICBib3JkZXItc3BhY2luZzogMDtcbiAgICAgICAgICAgIG91dGxpbmU6IDA7XG4gICAgICAgICAgICB0ZXh0LWFsaWduOiBpbmhlcml0O1xuICAgICAgICAgICAgZW1wdHktY2VsbHM6IHNob3c7XG4gICAgICAgIH1cblxuICAgICAgICB0aGVhZCxcbiAgICAgICAgdGJvZHksXG4gICAgICAgIHRoLFxuICAgICAgICB0cixcbiAgICAgICAgdGQge1xuICAgICAgICAgICAgYm9yZGVyLWNvbG9yOiBpbmhlcml0O1xuICAgICAgICAgICAgdGV4dC1hbGlnbjogaW5oZXJpdDtcbiAgICAgICAgfVxuICAgIH1cblxuXG4gICAgLy8gVGFibGUgTGF5b3V0XG4gICAgLmstcGl2b3RncmlkLXRhYmxlIHtcbiAgICAgICAgdGFibGUtbGF5b3V0OiBmaXhlZDtcblxuICAgICAgICB0aCB7XG4gICAgICAgICAgICBmb250LXdlaWdodDogNDAwO1xuICAgICAgICAgICAgdGV4dC10cmFuc2Zvcm06IGluaXRpYWw7XG4gICAgICAgIH1cblxuICAgICAgICAuay1waXZvdGdyaWQtaGVhZGVyLXJvb3Qge1xuICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICAgICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgICAgIH1cbiAgICB9XG5cblxuICAgIC8vIEhlYWRlciBlbXB0eSBjZWxsXG4gICAgLmstcGl2b3RncmlkLWVtcHR5LWNlbGwge1xuICAgICAgICBib3JkZXItaW5saW5lLWVuZC1zdHlsZTogc29saWQ7XG4gICAgICAgIGJvcmRlci1pbmxpbmUtZW5kLXdpZHRoOiB2YXIoIC0ta2VuZG8tcGl2b3RncmlkLWNlbGwtYm9yZGVyLXdpZHRoLCAjeyRrZW5kby1waXZvdGdyaWQtY2VsbC1ib3JkZXItd2lkdGh9ICk7XG4gICAgICAgIGJvcmRlci1ib3R0b20tc3R5bGU6IHNvbGlkO1xuICAgICAgICBib3JkZXItYm90dG9tLXdpZHRoOiB2YXIoIC0ta2VuZG8tcGl2b3RncmlkLWNlbGwtYm9yZGVyLXdpZHRoLCAjeyRrZW5kby1waXZvdGdyaWQtY2VsbC1ib3JkZXItd2lkdGh9ICk7XG4gICAgfVxuXG5cbiAgICAvLyBDb2x1bW4gSGVhZGVyc1xuICAgIC5rLXBpdm90Z3JpZC1jb2x1bW4taGVhZGVycyB7XG4gICAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgfVxuXG4gICAgLmstcGl2b3RncmlkLWNvbHVtbi1oZWFkZXJzIC5rLXBpdm90Z3JpZC10YWJsZSB7XG4gICAgICAgIHBhZGRpbmctaW5saW5lLXN0YXJ0OiAwO1xuICAgICAgICBwYWRkaW5nLWlubGluZS1lbmQ6IHZhciggLS1rZW5kby1zY3JvbGxiYXItd2lkdGgsICN7JGtlbmRvLXNjcm9sbGJhci13aWR0aH0gKTtcbiAgICB9XG5cbiAgICAuay1waXZvdGdyaWQtY29sdW1uLWhlYWRlcnMgLmstcGl2b3RncmlkLWNlbGwge1xuICAgICAgICBib3JkZXItYm90dG9tLXN0eWxlOiBzb2xpZDtcbiAgICAgICAgYm9yZGVyLWJvdHRvbS13aWR0aDogdmFyKCAtLWtlbmRvLXBpdm90Z3JpZC1jZWxsLWJvcmRlci13aWR0aCwgI3ska2VuZG8tcGl2b3RncmlkLWNlbGwtYm9yZGVyLXdpZHRofSApO1xuICAgICAgICBib3JkZXItaW5saW5lLXN0YXJ0LXN0eWxlOiBzb2xpZDtcbiAgICAgICAgYm9yZGVyLWlubGluZS1zdGFydC13aWR0aDogdmFyKCAtLWtlbmRvLXBpdm90Z3JpZC1jZWxsLWJvcmRlci13aWR0aCwgI3ska2VuZG8tcGl2b3RncmlkLWNlbGwtYm9yZGVyLXdpZHRofSApO1xuXG4gICAgICAgICY6Zmlyc3QtY2hpbGQge1xuICAgICAgICAgICAgYm9yZGVyLWxlZnQtd2lkdGg6IDA7XG4gICAgICAgIH1cblxuICAgICAgICAmLmstZmlyc3Qge1xuICAgICAgICAgICAgYm9yZGVyLWxlZnQtd2lkdGg6IHZhciggLS1rZW5kby1waXZvdGdyaWQtY2VsbC1ib3JkZXItd2lkdGgsICN7JGtlbmRvLXBpdm90Z3JpZC1jZWxsLWJvcmRlci13aWR0aH0gKTtcbiAgICAgICAgfVxuICAgIH1cblxuXG4gICAgLy8gUm93IEhlYWRlcnNcbiAgICAuay1waXZvdGdyaWQtcm93LWhlYWRlcnMge1xuICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIH1cblxuICAgIC5rLXBpdm90Z3JpZC1yb3ctaGVhZGVycyAuay1waXZvdGdyaWQtdGFibGUge1xuICAgICAgICBwYWRkaW5nLWJvdHRvbTogdmFyKCAtLWtlbmRvLXNjcm9sbGJhci13aWR0aCwgI3ska2VuZG8tc2Nyb2xsYmFyLXdpZHRofSApO1xuICAgIH1cblxuICAgIC5rLXBpdm90Z3JpZC1yb3ctaGVhZGVycyAuay1waXZvdGdyaWQtY2VsbCB7XG4gICAgICAgIGJvcmRlci1yaWdodC1zdHlsZTogc29saWQ7XG4gICAgICAgIGJvcmRlci1yaWdodC13aWR0aDogdmFyKCAtLWtlbmRvLXBpdm90Z3JpZC1jZWxsLWJvcmRlci13aWR0aCwgI3ska2VuZG8tcGl2b3RncmlkLWNlbGwtYm9yZGVyLXdpZHRofSApO1xuICAgICAgICBib3JkZXItYm90dG9tLXN0eWxlOiBzb2xpZDtcbiAgICAgICAgYm9yZGVyLWJvdHRvbS13aWR0aDogdmFyKCAtLWtlbmRvLXBpdm90Z3JpZC1jZWxsLWJvcmRlci13aWR0aCwgI3ska2VuZG8tcGl2b3RncmlkLWNlbGwtYm9yZGVyLXdpZHRofSApO1xuICAgICAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICAgIH1cblxuXG4gICAgLy8gVmFsdWVzXG4gICAgLmstcGl2b3RncmlkLXZhbHVlcyB7XG4gICAgICAgIGJvcmRlci1jb2xvcjogaW5oZXJpdDtcbiAgICAgICAgb3ZlcmZsb3c6IHNjcm9sbDtcbiAgICB9XG5cbiAgICAuay1waXZvdGdyaWQtdmFsdWVzIC5rLXBpdm90Z3JpZC1jZWxsIHtcbiAgICAgICAgYm9yZGVyLWJvdHRvbS1zdHlsZTogc29saWQ7XG4gICAgICAgIGJvcmRlci1ib3R0b20td2lkdGg6IHZhciggLS1rZW5kby1waXZvdGdyaWQtY2VsbC1ib3JkZXItd2lkdGgsICN7JGtlbmRvLXBpdm90Z3JpZC1jZWxsLWJvcmRlci13aWR0aH0gKTtcbiAgICAgICAgYm9yZGVyLWxlZnQtc3R5bGU6IHNvbGlkO1xuICAgICAgICBib3JkZXItbGVmdC13aWR0aDogMDtcblxuICAgICAgICAmOmZpcnN0LWNoaWxkIHtcbiAgICAgICAgICAgIGJvcmRlci1sZWZ0LXdpZHRoOiAwO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLmstcGl2b3RncmlkLWNlbGwge1xuICAgICAgICBwYWRkaW5nLWJsb2NrOiB2YXIoIC0ta2VuZG8tcGl2b3RncmlkLWNlbGwtcGFkZGluZy15LCAjeyRrZW5kby1waXZvdGdyaWQtY2VsbC1wYWRkaW5nLXl9ICk7XG4gICAgICAgIHBhZGRpbmctaW5saW5lOiB2YXIoIC0ta2VuZG8tcGl2b3RncmlkLWNlbGwtcGFkZGluZy14LCAjeyRrZW5kby1waXZvdGdyaWQtY2VsbC1wYWRkaW5nLXh9ICk7XG4gICAgICAgIHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xuICAgICAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogdG9wO1xuICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIH1cblxuICAgIC5rLXBpdm90Z3JpZC1jZWxsIC5rLWljb24ge1xuICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgICAgIHBhZGRpbmctaW5saW5lLWVuZDogdmFyKCAtLWtlbmRvLXBpdm90Z3JpZC1pY29uLXNwYWNpbmcsICN7JGtlbmRvLXBpdm90Z3JpZC1pY29uLXNwYWNpbmd9ICk7XG4gICAgfVxuXG4gICAgLmstcGl2b3RncmlkLXRvdGFsIHtcbiAgICAgICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICB9XG5cbiAgICAvLyBDb2x1bW4gbWVudXNcbiAgICAuay1jb2x1bW4tbWVudSAuay10cmVldmlldyB7XG4gICAgICAgIHBhZGRpbmctYmxvY2s6IHZhciggLS1rZW5kby1waXZvdGdyaWQtdHJlZXZpZXctcGFkZGluZy15LCAjeyRrZW5kby1waXZvdGdyaWQtdHJlZXZpZXctcGFkZGluZy15fSApO1xuICAgICAgICBwYWRkaW5nLWlubGluZTogdmFyKCAtLWtlbmRvLXBpdm90Z3JpZC10cmVldmlldy1wYWRkaW5nLXgsICN7JGtlbmRvLXBpdm90Z3JpZC10cmVldmlldy1wYWRkaW5nLXh9ICk7XG4gICAgICAgIG92ZXJmbG93OiBhdXRvO1xuICAgIH1cblxufVxuXG5AbWl4aW4ga2VuZG8tcGl2b3RncmlkLWNvbmZpZ3VyYXRvci0tbGF5b3V0KCkge1xuXG4gICAgLy8gQ29uZmlndXJhdG9yXG4gICAgLmstcGl2b3RncmlkLWNvbmZpZ3VyYXRvciB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgfVxuXG4gICAgLmstcGl2b3RncmlkLWNvbmZpZ3VyYXRvci1wYW5lbCB7XG4gICAgICAgIHBhZGRpbmctYmxvY2s6IHZhciggLS1rZW5kby1waXZvdGdyaWQtY29uZmlndXJhdG9yLXBhZGRpbmcteSwgI3ska2VuZG8tcGl2b3RncmlkLWNvbmZpZ3VyYXRvci1wYWRkaW5nLXl9ICk7XG4gICAgICAgIHBhZGRpbmctaW5saW5lOiB2YXIoIC0ta2VuZG8tcGl2b3RncmlkLWNvbmZpZ3VyYXRvci1wYWRkaW5nLXgsICN7JGtlbmRvLXBpdm90Z3JpZC1jb25maWd1cmF0b3ItcGFkZGluZy14fSApO1xuICAgICAgICBib3JkZXItd2lkdGg6IHZhciggLS1rZW5kby1waXZvdGdyaWQtY29uZmlndXJhdG9yLWJvcmRlci13aWR0aCwgI3ska2VuZG8tcGl2b3RncmlkLWNvbmZpZ3VyYXRvci1ib3JkZXItd2lkdGh9ICk7XG4gICAgICAgIGJvcmRlci1zdHlsZTogc29saWQ7XG4gICAgICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgICAgIHotaW5kZXg6IDI7XG4gICAgfVxuXG4gICAgLy8gQ29uZmlndXJhdG9yIEJ1dHRvblxuICAgIC5rLXBpdm90Z3JpZC1jb25maWd1cmF0b3ItYnV0dG9uIHtcbiAgICAgICAgcGFkZGluZy1ibG9jazogdmFyKCAtLWtlbmRvLXBpdm90Z3JpZC1jb25maWd1cmF0b3ItYnV0dG9uLXBhZGRpbmcteSwgI3ska2VuZG8tcGl2b3RncmlkLWNvbmZpZ3VyYXRvci1idXR0b24tcGFkZGluZy15fSApO1xuICAgICAgICBwYWRkaW5nLWlubGluZTogdmFyKCAtLWtlbmRvLXBpdm90Z3JpZC1jb25maWd1cmF0b3ItYnV0dG9uLXBhZGRpbmcteCwgI3ska2VuZG8tcGl2b3RncmlkLWNvbmZpZ3VyYXRvci1idXR0b24tcGFkZGluZy14fSApO1xuICAgICAgICBib3JkZXItd2lkdGg6IHZhciggLS1rZW5kby1waXZvdGdyaWQtY29uZmlndXJhdG9yLWJ1dHRvbi1ib3JkZXItd2lkdGgsICN7JGtlbmRvLXBpdm90Z3JpZC1jb25maWd1cmF0b3ItYnV0dG9uLWJvcmRlci13aWR0aH0gKTtcbiAgICAgICAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcbiAgICAgICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgICAgICB1c2VyLXNlbGVjdDogbm9uZTtcblxuICAgICAgICAuay1pY29uIHtcbiAgICAgICAgICAgIG1hcmdpbi1pbmxpbmUtc3RhcnQ6IHZhciggLS1rZW5kby1waXZvdGdyaWQtY29uZmlndXJhdG9yLWJ1dHRvbi1pY29uLXNwYWNpbmcsICN7JGtlbmRvLXBpdm90Z3JpZC1jb25maWd1cmF0b3ItYnV0dG9uLWljb24tc3BhY2luZ30gKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5rLWZsZXgtcm93IC5rLXBpdm90Z3JpZC1jb25maWd1cmF0b3ItYnV0dG9uLFxuICAgIC5rLWZsZXgtcm93LXJldmVyc2UgLmstcGl2b3RncmlkLWNvbmZpZ3VyYXRvci1idXR0b24ge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgICAgd3JpdGluZy1tb2RlOiB2ZXJ0aWNhbC1ybDtcblxuICAgICAgICAuay1pY29uIHtcbiAgICAgICAgICAgIHZlcnRpY2FsLWFsaWduOiBiYXNlbGluZTtcbiAgICAgICAgfVxuICAgIH1cbiAgICAuay1mbGV4LXJvdy1yZXZlcnNlIC5rLXBpdm90Z3JpZC1jb25maWd1cmF0b3ItYnV0dG9uID4gc3BhbiB7XG4gICAgICAgIHRyYW5zZm9ybTogcm90YXRlKC0xODBkZWcpO1xuICAgIH1cblxuICAgIC5rLWZsZXgtY29sIC5rLXBpdm90Z3JpZC1jb25maWd1cmF0b3ItYnV0dG9uLFxuICAgIC5rLWZsZXgtY29sLXJldmVyc2UgLmstcGl2b3RncmlkLWNvbmZpZ3VyYXRvci1idXR0b24ge1xuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgfVxuXG5cbiAgICAvLyBNb2Rlc1xuICAgIC5rLXBpdm90Z3JpZC1jb25maWd1cmF0b3Itb3ZlcmxheSB7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAgICAgei1pbmRleDogMjtcbiAgICB9XG5cbiAgICAuay1mbGV4LXJvdyB7XG4gICAgICAgIC5rLXBpdm90Z3JpZC1jb25maWd1cmF0b3Itb3ZlcmxheSB7XG4gICAgICAgICAgICBpbnNldC1pbmxpbmUtZW5kOiB2YXIoIC0ta2VuZG8tcGl2b3RncmlkLWNvbmZpZ3VyYXRvci1idXR0b24tc2l6ZSwgI3ska2VuZG8tcGl2b3RncmlkLWNvbmZpZ3VyYXRvci1idXR0b24tc2l6ZX0gKTtcbiAgICAgICAgfVxuXG4gICAgICAgICYtcmV2ZXJzZSAuay1waXZvdGdyaWQtY29uZmlndXJhdG9yLW92ZXJsYXkge1xuICAgICAgICAgICAgaW5zZXQtaW5saW5lLXN0YXJ0OiB2YXIoIC0ta2VuZG8tcGl2b3RncmlkLWNvbmZpZ3VyYXRvci1idXR0b24tc2l6ZSwgI3ska2VuZG8tcGl2b3RncmlkLWNvbmZpZ3VyYXRvci1idXR0b24tc2l6ZX0gKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5rLWZsZXgtY29sIHtcbiAgICAgICAgLmstcGl2b3RncmlkLWNvbmZpZ3VyYXRvci1vdmVybGF5IHtcbiAgICAgICAgICAgIGluc2V0LWJsb2NrLWVuZDogdmFyKCAtLWtlbmRvLXBpdm90Z3JpZC1jb25maWd1cmF0b3ItYnV0dG9uLXNpemUsICN7JGtlbmRvLXBpdm90Z3JpZC1jb25maWd1cmF0b3ItYnV0dG9uLXNpemV9ICk7XG4gICAgICAgIH1cblxuICAgICAgICAmLXJldmVyc2UgLmstcGl2b3RncmlkLWNvbmZpZ3VyYXRvci1vdmVybGF5IHtcbiAgICAgICAgICAgIGluc2V0LWJsb2NrLXN0YXJ0OiB2YXIoIC0ta2VuZG8tcGl2b3RncmlkLWNvbmZpZ3VyYXRvci1idXR0b24tc2l6ZSwgI3ska2VuZG8tcGl2b3RncmlkLWNvbmZpZ3VyYXRvci1idXR0b24tc2l6ZX0gKTtcbiAgICAgICAgfVxuICAgIH1cblxuXG4gICAgLy8gUGFuZWwgQ29udGVudFxuICAgIC5rLXBpdm90Z3JpZC1jb25maWd1cmF0b3ItaGVhZGVyIHtcbiAgICAgICAgcGFkZGluZy1ibG9jazogdmFyKCAtLWtlbmRvLXBpdm90Z3JpZC1jb25maWd1cmF0b3ItaGVhZGVyLXBhZGRpbmcteSwgI3ska2VuZG8tcGl2b3RncmlkLWNvbmZpZ3VyYXRvci1oZWFkZXItcGFkZGluZy15fSApO1xuICAgICAgICBwYWRkaW5nLWlubGluZTogdmFyKCAtLWtlbmRvLXBpdm90Z3JpZC1jb25maWd1cmF0b3ItaGVhZGVyLXBhZGRpbmcteCwgI3ska2VuZG8tcGl2b3RncmlkLWNvbmZpZ3VyYXRvci1oZWFkZXItcGFkZGluZy14fSApO1xuICAgICAgICBmb250LXNpemU6IHZhciggLS1rZW5kby1waXZvdGdyaWQtY29uZmlndXJhdG9yLWhlYWRlci1mb250LXNpemUsICN7JGtlbmRvLXBpdm90Z3JpZC1jb25maWd1cmF0b3ItaGVhZGVyLWZvbnQtc2l6ZX0gKTtcbiAgICAgICAgZm9udC13ZWlnaHQ6IHZhciggLS1rZW5kby1waXZvdGdyaWQtY29uZmlndXJhdG9yLWhlYWRlci1mb250LXdlaWdodCwgI3ska2VuZG8tcGl2b3RncmlkLWNvbmZpZ3VyYXRvci1oZWFkZXItZm9udC13ZWlnaHR9ICk7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgfVxuXG4gICAgLmstcGl2b3RncmlkLWNvbmZpZ3VyYXRvci1oZWFkZXItdGV4dCB7XG4gICAgICAgIHdvcmQtYnJlYWs6IG5vcm1hbDtcbiAgICAgICAgb3ZlcmZsb3ctd3JhcDogYW55d2hlcmU7XG4gICAgfVxuXG4gICAgLmstcGl2b3RncmlkLWNvbmZpZ3VyYXRvci1jb250ZW50IHtcbiAgICAgICAgcGFkZGluZy1ibG9jazogdmFyKCAtLWtlbmRvLXBpdm90Z3JpZC1jb25maWd1cmF0b3ItY29udGVudC1wYWRkaW5nLXksICN7JGtlbmRvLXBpdm90Z3JpZC1jb25maWd1cmF0b3ItY29udGVudC1wYWRkaW5nLXl9ICk7XG4gICAgICAgIHBhZGRpbmctaW5saW5lOiB2YXIoIC0ta2VuZG8tcGl2b3RncmlkLWNvbmZpZ3VyYXRvci1jb250ZW50LXBhZGRpbmcteCwgI3ska2VuZG8tcGl2b3RncmlkLWNvbmZpZ3VyYXRvci1jb250ZW50LXBhZGRpbmcteH0gKTtcbiAgICAgICAgZmxleDogMSAxIGF1dG87XG4gICAgICAgIG92ZXJmbG93OiBhdXRvO1xuXG4gICAgICAgIC5rLWZvcm0ge1xuICAgICAgICAgICAgLmstbGFiZWwge1xuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMTZweDtcbiAgICAgICAgICAgICAgICBmb250LXdlaWdodDogNDAwO1xuICAgICAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0O1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgLmstZHJvcGRvd24tbGlzdCB7XG4gICAgICAgICAgICAgICAgbWF4LXdpZHRoOiA5MHB4O1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgLmstdGV4dGJveCB7XG4gICAgICAgICAgICAgICAgZmxleC1iYXNpczogNTAlO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLy8gUm93cywgQ29scyBhbmQgRmlsdGVyc1xuICAgICAgICAuay1yb3ctZmllbGRzLFxuICAgICAgICAuay1jb2x1bW4tZmllbGRzLFxuICAgICAgICAuay1maWx0ZXItZmllbGRzIHtcbiAgICAgICAgICAgIG1hcmdpbi1ibG9jay1zdGFydDogdmFyKCAtLWtlbmRvLXBpdm90Z3JpZC1jb25maWd1cmF0b3ItZmllbGRzLW1hcmdpbi15LCAjeyRrZW5kby1waXZvdGdyaWQtY29uZmlndXJhdG9yLWZpZWxkcy1tYXJnaW4teX0gKTtcbiAgICAgICAgICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICAgICAgfVxuXG4gICAgICAgIC8vIFZhbHVlc1xuICAgICAgICAuay12YWx1ZS1maWVsZHMge1xuICAgICAgICAgICAgbWFyZ2luLWJsb2NrOiB2YXIoIC0ta2VuZG8tcGl2b3RncmlkLWNvbmZpZ3VyYXRvci1maWVsZHMtbWFyZ2luLXksICN7JGtlbmRvLXBpdm90Z3JpZC1jb25maWd1cmF0b3ItZmllbGRzLW1hcmdpbi15fSApO1xuICAgICAgICAgICAgbWFyZ2luLWlubGluZTogdmFyKCAtLWtlbmRvLXBpdm90Z3JpZC1jb25maWd1cmF0b3ItZmllbGRzLW1hcmdpbi14LCAjeyRrZW5kby1waXZvdGdyaWQtY29uZmlndXJhdG9yLWZpZWxkcy1tYXJnaW4teH0gKTtcbiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgICAgICAgZ2FwOiB2YXIoIC0ta2VuZG8tcGl2b3RncmlkLWNvbmZpZ3VyYXRvci1maWVsZHMtZ2FwLCAjeyRrZW5kby1waXZvdGdyaWQtY29uZmlndXJhdG9yLWZpZWxkcy1nYXB9ICk7XG4gICAgICAgIH1cblxuICAgICAgICAuay1zZWxlY3QtYWxsIC5rLWNoZWNrYm94IHtcbiAgICAgICAgICAgIG1hcmdpbi1pbmxpbmUtZW5kOiBrLXNwYWNpbmcoMSk7XG4gICAgICAgIH1cblxuICAgICAgICAuay1maWVsZHMtbGlzdC13cmFwcGVyIHtcbiAgICAgICAgICAgIG1heC1oZWlnaHQ6IDIwMHB4O1xuICAgICAgICAgICAgYm9yZGVyLXdpZHRoOiAxcHg7XG4gICAgICAgICAgICBib3JkZXItc3R5bGU6IHNvbGlkO1xuICAgICAgICAgICAgZmxleDogMSAxIGF1dG87XG4gICAgICAgICAgICBvdmVyZmxvdy14OiBoaWRkZW47XG4gICAgICAgICAgICBvdmVyZmxvdy15OiBhdXRvO1xuICAgICAgICB9XG5cbiAgICAgICAgLmstc2V0dGluZ3MtZGVzY3JpcHRpb24ge1xuICAgICAgICAgICAgbWFyZ2luLWJsb2NrLXN0YXJ0OiBrLXNwYWNpbmcoNCk7XG4gICAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgIH1cblxuICAgICAgICAuay10cmVldmlldyB7XG4gICAgICAgICAgICBwYWRkaW5nLWJsb2NrOiB2YXIoIC0ta2VuZG8tcGl2b3RncmlkLXRyZWV2aWV3LXBhZGRpbmcteSwgI3ska2VuZG8tcGl2b3RncmlkLXRyZWV2aWV3LXBhZGRpbmcteX0gKTtcbiAgICAgICAgICAgIHBhZGRpbmctaW5saW5lOiB2YXIoIC0ta2VuZG8tcGl2b3RncmlkLXRyZWV2aWV3LXBhZGRpbmcteCwgI3ska2VuZG8tcGl2b3RncmlkLXRyZWV2aWV3LXBhZGRpbmcteH0gKTtcbiAgICAgICAgICAgIG92ZXJmbG93OiBhdXRvO1xuICAgICAgICB9XG4gICAgfVxuXG5cbiAgICAvLyBDYWxjdWxhdGVkIGZpZWxkXG4gICAgLmstY2FsY3VsYXRlZC1maWVsZCB7XG4gICAgICAgIHBhZGRpbmctYmxvY2s6IHZhciggLS1rZW5kby1waXZvdGdyaWQtY2FsY3VsYXRlZC1maWVsZC1wYWRkaW5nLXksICN7JGtlbmRvLXBpdm90Z3JpZC1jYWxjdWxhdGVkLWZpZWxkLXBhZGRpbmcteX0gKTtcbiAgICAgICAgcGFkZGluZy1pbmxpbmU6IHZhciggLS1rZW5kby1waXZvdGdyaWQtY2FsY3VsYXRlZC1maWVsZC1wYWRkaW5nLXgsICN7JGtlbmRvLXBpdm90Z3JpZC1jYWxjdWxhdGVkLWZpZWxkLXBhZGRpbmcteH0gKTtcbiAgICAgICAgYm9yZGVyLXdpZHRoOiB2YXIoIC0ta2VuZG8tcGl2b3RncmlkLWNhbGN1bGF0ZWQtZmllbGQtYm9yZGVyLXdpZHRoLCAjeyRrZW5kby1waXZvdGdyaWQtY2FsY3VsYXRlZC1maWVsZC1ib3JkZXItd2lkdGh9ICk7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IHZhciggLS1rZW5kby1waXZvdGdyaWQtY2FsY3VsYXRlZC1maWVsZC1ib3JkZXItcmFkaXVzLCAjeyRrZW5kby1waXZvdGdyaWQtY2FsY3VsYXRlZC1maWVsZC1ib3JkZXItcmFkaXVzfSApO1xuICAgICAgICBib3JkZXItc3R5bGU6IHNvbGlkO1xuICAgICAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgICBnYXA6IHZhciggLS1rZW5kby1waXZvdGdyaWQtY2FsY3VsYXRlZC1maWVsZC1nYXAsICN7JGtlbmRvLXBpdm90Z3JpZC1jYWxjdWxhdGVkLWZpZWxkLWdhcH0gKTtcbiAgICB9XG4gICAgLmstY2FsY3VsYXRlZC1maWVsZC1oZWFkZXIge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIH1cblxuICAgIC5rLWNhbGN1bGF0ZWQtZmllbGQtaGVhZGVyIC5rLXRleHRib3gge1xuICAgICAgICBtaW4td2lkdGg6IDIwMHB4O1xuICAgIH1cblxuICAgIC5rLWNhbGN1bGF0ZWQtZmllbGQtaGVhZGVyLXRleHQge1xuICAgICAgICBtYXJnaW4taW5saW5lLWVuZDogNXB4O1xuICAgICAgICB3b3JkLWJyZWFrOiBub3JtYWw7XG4gICAgICAgIG92ZXJmbG93LXdyYXA6IGFueXdoZXJlO1xuICAgIH1cblxuICAgIC5rLWNhbGN1bGF0ZWQtZmllbGQtaGVhZGVyLWFjdGlvbnMge1xuICAgICAgICBmbGV4LXNocmluazogMDtcbiAgICAgICAgYWxpZ24tc2VsZjogZmxleC1zdGFydDtcbiAgICB9XG5cbiAgICAuay1jYWxjdWxhdGVkLWZpZWxkLWNvbnRlbnQgLmstdGV4dGJveCB7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgIH1cblxuICAgIC5rLWNhbGN1bGF0ZWQtZmllbGQtYWN0aW9ucyB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cbiAgICAgICAgLmstaWNvbiB7XG4gICAgICAgICAgICBtYXJnaW4taW5saW5lLWVuZDogay1zcGFjaW5nKDIpO1xuICAgICAgICB9XG4gICAgICAgIC5rLWRyb3Bkb3duLWxpc3Qge1xuICAgICAgICAgICAgbWF4LXdpZHRoOiAxMDBweDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5rLWZpbHRlci1tZW51IC5rLWNhbGN1bGF0ZWQtaXRlbSB7XG4gICAgICAgIGJvcmRlci1ib3R0b20td2lkdGg6IDFweDtcbiAgICAgICAgYm9yZGVyLWJvdHRvbS1zdHlsZTogc29saWQ7XG4gICAgfVxuXG5cbiAgICAvLyBWZXJ0aWNhbCBMYXlvdXRcbiAgICAuay1waXZvdGdyaWQtY29uZmlndXJhdG9yLXZlcnRpY2FsIHtcbiAgICAgICAgbWluLXdpZHRoOiB2YXIoIC0ta2VuZG8tcGl2b3RncmlkLWNvbmZpZ3VyYXRvci12ZXJ0aWNhbC13aWR0aCwgI3ska2VuZG8tcGl2b3RncmlkLWNvbmZpZ3VyYXRvci12ZXJ0aWNhbC13aWR0aH0gKTtcbiAgICB9XG5cbiAgICA6aXMoLmstZmxleC1yb3csIC5rLWZsZXgtcm93LXJldmVyc2UpIC5rLXBpdm90Z3JpZC1jb25maWd1cmF0b3ItdmVydGljYWwuay1waXZvdGdyaWQtY29uZmlndXJhdG9yLXB1c2ggLmstcGl2b3RncmlkLWNvbmZpZ3VyYXRvci1wYW5lbCB7XG4gICAgICAgIGJvcmRlci1yaWdodC13aWR0aDogMDtcbiAgICAgICAgYm9yZGVyLWxlZnQtd2lkdGg6IDA7XG4gICAgfVxuXG5cbiAgICAvLyBIb3Jpem9udGFsIExheW91dFxuICAgIC5rLXBpdm90Z3JpZC1jb25maWd1cmF0b3ItaG9yaXpvbnRhbCB7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBoZWlnaHQ6IHZhciggLS1rZW5kby1waXZvdGdyaWQtY29uZmlndXJhdG9yLWhvcml6b250YWwtaGVpZ2h0LCAjeyRrZW5kby1waXZvdGdyaWQtY29uZmlndXJhdG9yLWhvcml6b250YWwtaGVpZ2h0fSApO1xuXG4gICAgICAgIC5rLXBpdm90Z3JpZC1jb25maWd1cmF0b3ItY29udGVudCB7XG4gICAgICAgICAgICAuay1mb3JtIHtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC5rLWZvcm0tZmllbGQtd3JhcHBlciB7XG4gICAgICAgICAgICAgICAgcGFkZGluZy1pbmxpbmUtc3RhcnQ6IHZhciggLS1rZW5kby1waXZvdGdyaWQtc3BhY2VyLCAjeyRrZW5kby1waXZvdGdyaWQtc3BhY2VyfSApO1xuXG4gICAgICAgICAgICAgICAgJiA+ICo6Zmlyc3QtY2hpbGQge1xuICAgICAgICAgICAgICAgICAgICBtYXJnaW4tYmxvY2stc3RhcnQ6IDA7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICY6Zmlyc3QtY2hpbGQge1xuICAgICAgICAgICAgICAgICAgICBwYWRkaW5nLWlubGluZS1zdGFydDogMDtcbiAgICAgICAgICAgICAgICAgICAgZmxleDogMSAxIDMwJTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgJjpudGgtY2hpbGQoMikge1xuICAgICAgICAgICAgICAgICAgICBmbGV4OiAxIDEgMzAlO1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICY6bGFzdC1jaGlsZCB7XG4gICAgICAgICAgICAgICAgICAgIGJvcmRlci1sZWZ0LXdpZHRoOiAxcHg7XG4gICAgICAgICAgICAgICAgICAgIGJvcmRlci1sZWZ0LXN0eWxlOiBzb2xpZDtcbiAgICAgICAgICAgICAgICAgICAgZmxleDogMSAxIDQwJTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC5rLXJvdy1maWVsZHMsXG4gICAgICAgICAgICAuay1jb2x1bW4tZmllbGRzLFxuICAgICAgICAgICAgLmstZmlsdGVyLWZpZWxkcyB7XG4gICAgICAgICAgICAgICAgbWF4LWhlaWdodDogMTAwcHg7XG4gICAgICAgICAgICAgICAgb3ZlcmZsb3cteDogaGlkZGVuO1xuICAgICAgICAgICAgICAgIG92ZXJmbG93LXk6IGF1dG87XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAuay12YWx1ZS1maWVsZHMge1xuICAgICAgICAgICAgICAgIG1heC1oZWlnaHQ6IDI1MHB4O1xuICAgICAgICAgICAgICAgIGZsZXgtZmxvdzogcm93IHdyYXA7XG4gICAgICAgICAgICAgICAgb3ZlcmZsb3cteDogaGlkZGVuO1xuICAgICAgICAgICAgICAgIG92ZXJmbG93LXk6IGF1dG87XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAuay1mbGV4LWNvbCxcbiAgICAuay1mbGV4LWNvbC1yZXZlcnNlIHtcbiAgICAgICAgLmstcGl2b3RncmlkLWNvbmZpZ3VyYXRvci1ob3Jpem9udGFsLmstcGl2b3RncmlkLWNvbmZpZ3VyYXRvci1wdXNoIC5rLXBpdm90Z3JpZC1jb25maWd1cmF0b3ItcGFuZWwge1xuICAgICAgICAgICAgYm9yZGVyLXRvcC13aWR0aDogMDtcbiAgICAgICAgICAgIGJvcmRlci1ib3R0b20td2lkdGg6IDA7XG4gICAgICAgIH1cbiAgICB9XG59XG5cbkBtaXhpbiBrZW5kby1waXZvdGdyaWQtZXhwb3J0LS1sYXlvdXQoKSB7XG5cbiAgICAuay1wZGYtZXhwb3J0LXNoYWRvdyB7XG4gICAgICAgIC5rLXBpdm90Z3JpZCB7XG4gICAgICAgICAgICBoZWlnaHQ6IGF1dG8gIWltcG9ydGFudDsgLy8gc3R5bGVsaW50LWRpc2FibGUtbGluZSBkZWNsYXJhdGlvbi1uby1pbXBvcnRhbnRcbiAgICAgICAgfVxuXG4gICAgICAgIC5rLXBpdm90Z3JpZC12YWx1ZXMgIHtcbiAgICAgICAgICAgIGhlaWdodDogYXV0bztcbiAgICAgICAgICAgIG92ZXJmbG93OiB2aXNpYmxlO1xuICAgICAgICB9XG5cbiAgICAgICAgLmstcGl2b3RncmlkLWNvbHVtbi1oZWFkZXJzIC5rLXBpdm90Z3JpZC10YWJsZSB7XG4gICAgICAgICAgICBwYWRkaW5nLWlubGluZS1lbmQ6IDA7XG4gICAgICAgIH1cbiAgICB9XG5cbn1cblxuQG1peGluIGtlbmRvLXBpdm90Z3JpZC1sZWdhY3ktLWxheW91dCgpIHtcblxuICAgIC5rLXBpdm90IHtcbiAgICAgICAgYm9yZGVyLXdpZHRoOiB2YXIoIC0ta2VuZG8tcGl2b3RncmlkLWJvcmRlci13aWR0aCwgI3ska2VuZG8tcGl2b3RncmlkLWJvcmRlci13aWR0aH0gKTtcbiAgICAgICAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gICAgICAgIC5rLWdyaWQgdGQge1xuICAgICAgICAgICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgICAgICAgfVxuXG4gICAgICAgIC5rLWdyaWQtY29udGVudCB7XG4gICAgICAgICAgICBmbGV4OiAxIDEgYXV0bztcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5rLXBpdm90LXRvb2xiYXIge1xuICAgICAgICBib3JkZXItd2lkdGg6IDAgMCAxcHg7XG4gICAgICAgIGJvcmRlci1zdHlsZTogc29saWQ7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0O1xuICAgICAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAgICAgIGJveC1zaGFkb3c6IG5vbmU7XG5cbiAgICAgICAgPiAqIHtcbiAgICAgICAgICAgIG1heC13aWR0aDogMTAwJTtcbiAgICAgICAgfVxuXG4gICAgICAgICY6OmJlZm9yZSB7XG4gICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLmstcGl2b3QtbGF5b3V0IHtcbiAgICAgICAgYm9yZGVyLXNwYWNpbmc6IDA7XG4gICAgICAgIHRhYmxlLWxheW91dDogYXV0bztcblxuICAgICAgICAuay1ncmlkLWZvb3RlcixcbiAgICAgICAgLmstZ3JpZCAuay10YWJsZS1hbHQtcm93IHtcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLmstcGl2b3QtbGF5b3V0ID4gdGJvZHksXG4gICAgLmstcGl2b3QgLmstdGFibGUtdGQsXG4gICAgLmstcGl2b3QgdGQge1xuICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogdG9wO1xuICAgIH1cblxuICAgIC5rLXBpdm90LWxheW91dCA+IHRib2R5ID4gdHIgPiB0ZCB7XG4gICAgICAgIHBhZGRpbmc6IDA7XG4gICAgfVxuXG4gICAgLmstcGl2b3Qtcm93aGVhZGVycyA+IC5rLWdyaWQsXG4gICAgLmstcGl2b3QtdGFibGUgPiAuay1ncmlkIHtcbiAgICAgICAgYm9yZGVyLXdpZHRoOiAwO1xuICAgICAgICBjb2xvcjogaW5oZXJpdDtcbiAgICAgICAgYmFja2dyb3VuZDogbm9uZTtcbiAgICB9XG5cbiAgICAuay1waXZvdC1yb3doZWFkZXJzID4gLmstZ3JpZCB0ZDpmaXJzdC1jaGlsZCxcbiAgICAuay1waXZvdC10YWJsZSAuay1ncmlkLWhlYWRlciAuay1oZWFkZXIuay1maXJzdCB7XG4gICAgICAgIGJvcmRlci1sZWZ0LXdpZHRoOiAxcHg7XG4gICAgfVxuXG4gICAgLmstcGl2b3Qtcm93aGVhZGVycyA+IC5rLWdyaWQgdGQuay1maXJzdCB7XG4gICAgICAgIGJvcmRlci1sZWZ0LXdpZHRoOiAwO1xuICAgIH1cblxuICAgIC5rLXBpdm90LXJvd2hlYWRlcnMgPiAuay1ncmlkIHtcbiAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICB9XG5cbiAgICAuay1waXZvdC10YWJsZSB7XG4gICAgICAgIGJvcmRlci1sZWZ0LXdpZHRoOiAxcHg7XG4gICAgICAgIGJvcmRlci1sZWZ0LXN0eWxlOiBzb2xpZDtcbiAgICB9XG5cbiAgICAuay1waXZvdC10YWJsZSAuay1ncmlkLWhlYWRlci13cmFwIHtcbiAgICAgICAgbWFyZ2luLWlubGluZS1lbmQ6IC0xcHg7XG4gICAgfVxuXG4gICAgLmstcGl2b3QtdGFibGUgLmstZ3JpZC1oZWFkZXItd3JhcCA+IHRhYmxlIHtcbiAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgIH1cblxuICAgIC5rLXBpdm90IC5rLWdyaWQtaGVhZGVyIC5rLWhlYWRlciB7XG4gICAgICAgIHZlcnRpY2FsLWFsaWduOiB0b3A7XG4gICAgfVxuXG4gICAgLmstcGl2b3QgLmstZ3JpZCB0ciB7XG4gICAgICAgIC5rLWdyaWQtZm9vdGVyIHtcbiAgICAgICAgICAgIGJvcmRlci1ib3R0b20td2lkdGg6IDA7XG4gICAgICAgIH1cbiAgICAgICAgJjpsYXN0LWNoaWxkOm5vdCguay1ncmlkLWZvb3Rlcikge1xuICAgICAgICAgICAgdGQ6bm90KC5rLWdyaWQtZm9vdGVyKSB7XG4gICAgICAgICAgICAgICAgYm9yZGVyLWJvdHRvbS13aWR0aDogMXB4O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgLmstcGl2b3QtbGF5b3V0IC5rLWdyaWQgdGQge1xuICAgICAgICBib3JkZXItYm90dG9tLXdpZHRoOiAxcHg7XG4gICAgfVxuXG4gICAgLmstcGl2b3QtbGF5b3V0IC5rLWdyaWQtZm9vdGVyID4gdGQge1xuICAgICAgICBib3JkZXItdG9wLXdpZHRoOiAwO1xuICAgIH1cblxuICAgIC5rLXBpdm90LWZpbHRlci13aW5kb3cgLmstdHJlZXZpZXcge1xuICAgICAgICBtYXgtaGVpZ2h0OiA2MDBweDtcbiAgICB9XG5cbn1cblxuQG1peGluIGtlbmRvLXBpdm90Z3JpZC1jb25maWd1cmF0b3ItbGVnYWN5LS1sYXlvdXQoKSB7XG5cbiAgICAvLyBqcXVlcnkgc3BlY2lmaWMgLS0gb2xkIHBpdm90XG4gICAgLmstcGl2b3RncmlkLXdyYXBwZXIge1xuICAgICAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBmbGV4LWZsb3c6IHJvdyBub3dyYXA7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0O1xuICAgICAgICBnYXA6IHZhciggLS1rZW5kby1waXZvdGdyaWQtc3BhY2VyLCAjeyRrZW5kby1waXZvdGdyaWQtc3BhY2VyfSApO1xuXG4gICAgICAgID4gLmstcGl2b3RncmlkLWNvbmZpZ3VyYXRvci1wYW5lbCB7XG4gICAgICAgICAgICBtYXgtd2lkdGg6IDMyMHB4O1xuICAgICAgICAgICAgZmxleDogbm9uZTtcbiAgICAgICAgfVxuICAgICAgICA+IC5rLXBpdm90IHtcbiAgICAgICAgICAgIGZsZXg6IDE7XG4gICAgICAgIH1cbiAgICB9XG4gICAgLmstcGl2b3RncmlkLWNvbmZpZ3VyYXRvci1wYW5lbC5rZW5kby1qcXVlcnkge1xuICAgICAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcblxuICAgICAgICAuay1waXZvdGdyaWQtY29uZmlndXJhdG9yIHtcbiAgICAgICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgfVxuXG4gICAgICAgIC5rLXBpdm90Z3JpZC1jb25maWd1cmF0b3ItY29udGVudCB7XG4gICAgICAgICAgICBwYWRkaW5nOiB2YXIoIC0ta2VuZG8tcGl2b3RncmlkLXNwYWNlciwgI3ska2VuZG8tcGl2b3RncmlkLXNwYWNlcn0gKTtcbiAgICAgICAgICAgIG1heC1oZWlnaHQ6IDEwMCU7XG4gICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAgZmxleC1mbG93OiBjb2x1bW4gbm93cmFwO1xuICAgICAgICAgICAgZ2FwOiB2YXIoIC0ta2VuZG8tcGl2b3RncmlkLXNwYWNlciwgI3ska2VuZG8tcGl2b3RncmlkLXNwYWNlcn0gKTtcbiAgICAgICAgICAgIG92ZXJmbG93LXg6IGhpZGRlbjtcbiAgICAgICAgICAgIG92ZXJmbG93LXk6IGF1dG87XG4gICAgICAgIH1cblxuICAgICAgICAuay1waXZvdGdyaWQtdGFyZ2V0cyB7XG4gICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAgZmxleC1mbG93OiBjb2x1bW4gbm93cmFwO1xuICAgICAgICAgICAgZ2FwOiB2YXIoIC0ta2VuZG8tcGl2b3RncmlkLXNwYWNlciwgI3ska2VuZG8tcGl2b3RncmlkLXNwYWNlcn0gKTtcbiAgICAgICAgfVxuXG4gICAgICAgIC5rLXBpdm90Z3JpZC1jb25maWd1cmF0b3Itc2VjdGlvbiB7XG4gICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAgZmxleC1mbG93OiBjb2x1bW4gbm93cmFwO1xuICAgICAgICAgICAgZ2FwOiB2YXIoIC0ta2VuZG8tcGl2b3RncmlkLXNwYWNlciwgI3ska2VuZG8tcGl2b3RncmlkLXNwYWNlcn0gKTtcbiAgICAgICAgfVxuXG4gICAgICAgIC5rLWNvbHVtbi1maWVsZHMge1xuICAgICAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICAgICAgcGFkZGluZzogY2FsYyggdmFyKCAtLWtlbmRvLXBpdm90Z3JpZC1zcGFjZXIsICN7JGtlbmRvLXBpdm90Z3JpZC1zcGFjZXJ9ICkgLyAyICk7XG4gICAgICAgICAgICBtYXgtaGVpZ2h0OiAyMDBweDtcbiAgICAgICAgICAgIGJvcmRlci13aWR0aDogMXB4O1xuICAgICAgICAgICAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcbiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICBmbGV4LWZsb3c6IHJvdyB3cmFwO1xuICAgICAgICAgICAgZ2FwOiBjYWxjKCB2YXIoIC0ta2VuZG8tcGl2b3RncmlkLXNwYWNlciwgI3ska2VuZG8tcGl2b3RncmlkLXNwYWNlcn0gKSAvIDIgKTtcbiAgICAgICAgICAgIG92ZXJmbG93LXg6IGhpZGRlbjtcbiAgICAgICAgICAgIG92ZXJmbG93LXk6IGF1dG87XG5cbiAgICAgICAgICAgID4gKiB7XG4gICAgICAgICAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgLy8gUGl2b3RHcmlkIHRvZ2dsZSBpY29uXG4gICAgLmstcGl2b3RncmlkLXRvZ2dsZSB7XG4gICAgICAgIG1hcmdpbi1ibG9jazogY2FsYyggdmFyKCAtLWtlbmRvLWljb24tcGFkZGluZyApICogLTEgKTtcbiAgICAgICAgcGFkZGluZzogdmFyKCAtLWtlbmRvLWljb24tcGFkZGluZywgLjI1cmVtICk7XG4gICAgICAgIGJveC1zaXppbmc6IGNvbnRlbnQtYm94O1xuICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgfVxuXG59XG4iLCJAdXNlIFwiLi4vY29yZS9faW5kZXguc2Nzc1wiIGFzICo7XG5AdXNlIFwiLi9fdmFyaWFibGVzLnNjc3NcIiBhcyAqO1xuXG5AbWl4aW4ga2VuZG8tcGl2b3RncmlkLS10aGVtZSgpIHtcblxuICAgIC5rLXBpdm90Z3JpZCB7XG4gICAgICAgIEBpbmNsdWRlIGZpbGwgKFxuICAgICAgICAgICAgdmFyKCAtLWtlbmRvLXBpdm90Z3JpZC10ZXh0LCAjeyRrZW5kby1waXZvdGdyaWQtdGV4dH0gKSxcbiAgICAgICAgICAgIHZhciggLS1rZW5kby1waXZvdGdyaWQtYmcsICN7JGtlbmRvLXBpdm90Z3JpZC1iZ30gKSxcbiAgICAgICAgICAgIHZhciggLS1rZW5kby1waXZvdGdyaWQtYm9yZGVyLCAjeyRrZW5kby1waXZvdGdyaWQtYm9yZGVyfSApXG4gICAgICAgICk7XG4gICAgfVxuXG4gICAgLmstcGl2b3RncmlkLWNvbHVtbi1oZWFkZXJzLFxuICAgIC5rLXBpdm90Z3JpZC1yb3ctaGVhZGVycyxcbiAgICAuay1waXZvdGdyaWQtZW1wdHktY2VsbCB7XG4gICAgICAgIEBpbmNsdWRlIGZpbGwgKFxuICAgICAgICAgICAgdmFyKCAtLWtlbmRvLXBpdm90Z3JpZC1oZWFkZXJzLXRleHQsICN7JGtlbmRvLXBpdm90Z3JpZC1oZWFkZXJzLXRleHR9ICksXG4gICAgICAgICAgICB2YXIoIC0ta2VuZG8tcGl2b3RncmlkLWhlYWRlcnMtYmcsICN7JGtlbmRvLXBpdm90Z3JpZC1oZWFkZXJzLWJnfSApLFxuICAgICAgICAgICAgdmFyKCAtLWtlbmRvLXBpdm90Z3JpZC1oZWFkZXJzLWJvcmRlciwgI3ska2VuZG8tcGl2b3RncmlkLWhlYWRlcnMtYm9yZGVyfSApXG4gICAgICAgICk7XG4gICAgfVxuXG4gICAgLmstcGl2b3RncmlkLWVtcHR5LWNlbGwge1xuICAgICAgICBAaW5jbHVkZSBmaWxsIChcbiAgICAgICAgICAgICRib3JkZXI6IHZhciggLS1rZW5kby1waXZvdGdyaWQtYWx0LWJvcmRlciwgI3ska2VuZG8tcGl2b3RncmlkLWFsdC1ib3JkZXJ9IClcbiAgICAgICAgKTtcbiAgICB9XG5cbiAgICAuay1waXZvdGdyaWQtcm93LWhlYWRlcnMgLmstcGl2b3RncmlkLXJvdyAuay1waXZvdGdyaWQtY2VsbDpsYXN0LWNoaWxkIHtcbiAgICAgICAgYm9yZGVyLXJpZ2h0LWNvbG9yOiB2YXIoIC0ta2VuZG8tcGl2b3RncmlkLWFsdC1ib3JkZXIsICN7JGtlbmRvLXBpdm90Z3JpZC1hbHQtYm9yZGVyfSApO1xuICAgIH1cblxuICAgIC5rLXBpdm90Z3JpZC1jb2x1bW4taGVhZGVycyAuay1waXZvdGdyaWQtY29sdW1uLXRvdGFsOm50aC1sYXN0LW9mLXR5cGUoMikgLmstcGl2b3RncmlkLWNlbGw6bm90KC5rLXBpdm90Z3JpZC1leHBhbmRlZCksXG4gICAgLmstcGl2b3RncmlkLWNvbHVtbi1oZWFkZXJzIC5rLXBpdm90Z3JpZC1yb3c6bGFzdC1jaGlsZCB7XG4gICAgICAgIGJvcmRlci1ib3R0b20tY29sb3I6IHZhciggLS1rZW5kby1waXZvdGdyaWQtYWx0LWJvcmRlciwgI3ska2VuZG8tcGl2b3RncmlkLWFsdC1ib3JkZXJ9ICk7XG4gICAgfVxuXG5cbiAgICAuay1waXZvdGdyaWQtaGVhZGVyLXRvdGFsLFxuICAgIC5rLXBpdm90Z3JpZC10b3RhbCB7XG4gICAgICAgIEBpbmNsdWRlIGZpbGwgKFxuICAgICAgICAgICAgdmFyKCAtLWtlbmRvLXBpdm90Z3JpZC10b3RhbC10ZXh0LCAjeyRrZW5kby1waXZvdGdyaWQtdG90YWwtdGV4dH0gKSxcbiAgICAgICAgICAgIHZhciggLS1rZW5kby1waXZvdGdyaWQtdG90YWwtYmcsICN7JGtlbmRvLXBpdm90Z3JpZC10b3RhbC1iZ30gKSxcbiAgICAgICAgICAgIHZhciggLS1rZW5kby1waXZvdGdyaWQtdG90YWwtYm9yZGVyLCAjeyRrZW5kby1waXZvdGdyaWQtdG90YWwtYm9yZGVyfSApXG4gICAgICAgICk7XG4gICAgfVxuXG5cbiAgICAvLyBIb3ZlciBzdGF0ZVxuICAgIC5rLXBpdm90Z3JpZC1yb3ctaGVhZGVycyB0Ym9keSA+IC5rLXBpdm90Z3JpZC1yb3c6aG92ZXIsXG4gICAgLmstcGl2b3RncmlkLXJvdy1oZWFkZXJzIHRib2R5ID4gLmstcGl2b3RncmlkLXJvdy5rLWhvdmVyLFxuICAgIC5rLXBpdm90Z3JpZC1jb2x1bW4taGVhZGVycyB0Ym9keSA+IC5rLXBpdm90Z3JpZC1yb3c6aG92ZXIsXG4gICAgLmstcGl2b3RncmlkLWNvbHVtbi1oZWFkZXJzIHRib2R5ID4gLmstcGl2b3RncmlkLXJvdy5rLWhvdmVyLFxuICAgIC5rLXBpdm90Z3JpZC12YWx1ZXMgdGJvZHkgPiAuay1waXZvdGdyaWQtcm93OmhvdmVyLFxuICAgIC5rLXBpdm90Z3JpZC12YWx1ZXMgdGJvZHkgPiAuay1waXZvdGdyaWQtcm93LmstaG92ZXIge1xuICAgICAgICBAaW5jbHVkZSBmaWxsIChcbiAgICAgICAgICAgIHZhciggLS1rZW5kby1waXZvdGdyaWQtaG92ZXItdGV4dCwgI3ska2VuZG8tcGl2b3RncmlkLWhvdmVyLXRleHR9ICksXG4gICAgICAgICAgICB2YXIoIC0ta2VuZG8tcGl2b3RncmlkLWhvdmVyLWJnLCAjeyRrZW5kby1waXZvdGdyaWQtaG92ZXItYmd9ICksXG4gICAgICAgICAgICB2YXIoIC0ta2VuZG8tcGl2b3RncmlkLWhvdmVyLWJvcmRlciwgI3ska2VuZG8tcGl2b3RncmlkLWhvdmVyLWJvcmRlcn0gKVxuICAgICAgICApO1xuICAgIH1cblxuICAgIC8vIEZvY3VzIHN0YXRlXG4gICAgLmstcGl2b3RncmlkLWNlbGw6Zm9jdXMsXG4gICAgLmstcGl2b3RncmlkLWNlbGwuay1mb2N1cyxcbiAgICAuay1waXZvdGdyaWQtZW1wdHktY2VsbDpmb2N1cyxcbiAgICAuay1waXZvdGdyaWQtZW1wdHktY2VsbC5rLWZvY3VzLFxuICAgIC5rLW1hc3Rlci1yb3cgPiAuay1waXZvdGdyaWQtY2VsbDpmb2N1cyxcbiAgICAuay1ncm91cGluZy1yb3cgPiAuay1waXZvdGdyaWQtY2VsbDpmb2N1cyxcbiAgICAuay1kZXRhaWwtcm93ID4gLmstcGl2b3RncmlkLWNlbGw6Zm9jdXMsXG4gICAgLmstZ3JvdXAtZm9vdGVyID4gLmstcGl2b3RncmlkLWNlbGw6Zm9jdXMge1xuICAgICAgICBAaW5jbHVkZSBib3gtc2hhZG93KCB2YXIoIC0ta2VuZG8tcGl2b3RncmlkLWZvY3VzLXNoYWRvdywgI3ska2VuZG8tcGl2b3RncmlkLWZvY3VzLXNoYWRvd30gKSApO1xuICAgIH1cblxuICAgIC8vIFNlbGVjdGVkIHN0YXRlXG4gICAgLmstcGl2b3RncmlkLWNlbGwuay1zZWxlY3RlZCxcbiAgICAuay1waXZvdGdyaWQtcm93Lmstc2VsZWN0ZWQgPiAuay1waXZvdGdyaWQtY2VsbCB7XG4gICAgICAgIEBpbmNsdWRlIGZpbGwgKFxuICAgICAgICAgICAgdmFyKCAtLWtlbmRvLXBpdm90Z3JpZC1zZWxlY3RlZC10ZXh0LCAjeyRrZW5kby1waXZvdGdyaWQtc2VsZWN0ZWQtdGV4dH0gKSxcbiAgICAgICAgICAgIHZhciggLS1rZW5kby1waXZvdGdyaWQtc2VsZWN0ZWQtYmcsICN7JGtlbmRvLXBpdm90Z3JpZC1zZWxlY3RlZC1iZ30gKSxcbiAgICAgICAgICAgIHZhciggLS1rZW5kby1waXZvdGdyaWQtc2VsZWN0ZWQtYm9yZGVyLCAjeyRrZW5kby1waXZvdGdyaWQtc2VsZWN0ZWQtYm9yZGVyfSApXG4gICAgICAgICk7XG4gICAgfVxuXG59XG5cblxuXG5AbWl4aW4ga2VuZG8tcGl2b3RncmlkLWNvbmZpZ3VyYXRvci0tdGhlbWUoKSB7XG5cbiAgICAuay1waXZvdGdyaWQtY29uZmlndXJhdG9yLWJ1dHRvbixcbiAgICAuay1waXZvdGdyaWQtY29uZmlndXJhdG9yLXBhbmVsIHtcbiAgICAgICAgQGluY2x1ZGUgZmlsbCAoXG4gICAgICAgICAgICB2YXIoIC0ta2VuZG8tcGl2b3RncmlkLWNvbmZpZ3VyYXRvci10ZXh0LCAjeyRrZW5kby1waXZvdGdyaWQtY29uZmlndXJhdG9yLXRleHR9ICksXG4gICAgICAgICAgICB2YXIoIC0ta2VuZG8tcGl2b3RncmlkLWNvbmZpZ3VyYXRvci1iZywgI3ska2VuZG8tcGl2b3RncmlkLWNvbmZpZ3VyYXRvci1iZ30gKSxcbiAgICAgICAgICAgIHZhciggLS1rZW5kby1waXZvdGdyaWQtY29uZmlndXJhdG9yLWJvcmRlciwgI3ska2VuZG8tcGl2b3RncmlkLWNvbmZpZ3VyYXRvci1ib3JkZXJ9IClcbiAgICAgICAgKTtcbiAgICB9XG5cbiAgICAuay1waXZvdGdyaWQtY29uZmlndXJhdG9yLWhlYWRlciB7XG4gICAgICAgIEBpbmNsdWRlIGZpbGwoXG4gICAgICAgICAgICB2YXIoIC0ta2VuZG8tcGl2b3RncmlkLWNvbmZpZ3VyYXRvci1oZWFkZXItdGV4dCwgI3ska2VuZG8tcGl2b3RncmlkLWNvbmZpZ3VyYXRvci1oZWFkZXItdGV4dH0gKSxcbiAgICAgICAgICAgIHZhciggLS1rZW5kby1waXZvdGdyaWQtY29uZmlndXJhdG9yLWhlYWRlci1iZywgI3ska2VuZG8tcGl2b3RncmlkLWNvbmZpZ3VyYXRvci1oZWFkZXItYmd9ICksXG4gICAgICAgICAgICB2YXIoIC0ta2VuZG8tcGl2b3RncmlkLWNvbmZpZ3VyYXRvci1oZWFkZXItYm9yZGVyLCAjeyRrZW5kby1waXZvdGdyaWQtY29uZmlndXJhdG9yLWhlYWRlci1ib3JkZXJ9IClcbiAgICAgICAgKTtcbiAgICB9XG5cbiAgICAuay1waXZvdGdyaWQtY29uZmlndXJhdG9yLWNvbnRlbnQgLmstZmllbGRzLWxpc3Qtd3JhcHBlciB7XG4gICAgICAgIEBpbmNsdWRlIGZpbGwoXG4gICAgICAgICAgICAkYm9yZGVyOiB2YXIoIC0ta2VuZG8tcGl2b3RncmlkLWNvbmZpZ3VyYXRvci1ib3JkZXIsICN7JGtlbmRvLXBpdm90Z3JpZC1jb25maWd1cmF0b3ItYm9yZGVyfSApXG4gICAgICAgICk7XG4gICAgfVxuXG5cbiAgICAvLyBDYWxjdWxhdGVkIGZpZWxkXG4gICAgLmstY2FsY3VsYXRlZC1maWVsZCB7XG4gICAgICAgIEBpbmNsdWRlIGZpbGwgKFxuICAgICAgICAgICAgdmFyKCAtLWtlbmRvLXBpdm90Z3JpZC1jYWxjdWxhdGVkLWZpZWxkLXRleHQsICN7JGtlbmRvLXBpdm90Z3JpZC1jYWxjdWxhdGVkLWZpZWxkLXRleHR9ICksXG4gICAgICAgICAgICB2YXIoIC0ta2VuZG8tcGl2b3RncmlkLWNhbGN1bGF0ZWQtZmllbGQtYmcsICN7JGtlbmRvLXBpdm90Z3JpZC1jYWxjdWxhdGVkLWZpZWxkLWJnfSApLFxuICAgICAgICAgICAgdmFyKCAtLWtlbmRvLXBpdm90Z3JpZC1jYWxjdWxhdGVkLWZpZWxkLWJvcmRlciwgI3ska2VuZG8tcGl2b3RncmlkLWNhbGN1bGF0ZWQtZmllbGQtYm9yZGVyfSApXG4gICAgICAgICk7XG4gICAgfVxuXG4gICAgLmstY2FsY3VsYXRlZC1maWVsZC1oZWFkZXIge1xuICAgICAgICBAaW5jbHVkZSBmaWxsKFxuICAgICAgICAgICAgdmFyKCAtLWtlbmRvLXBpdm90Z3JpZC1jYWxjdWxhdGVkLWZpZWxkLWhlYWRlci10ZXh0LCAjeyRrZW5kby1waXZvdGdyaWQtY2FsY3VsYXRlZC1maWVsZC1oZWFkZXItdGV4dH0gKSxcbiAgICAgICAgICAgIHZhciggLS1rZW5kby1waXZvdGdyaWQtY2FsY3VsYXRlZC1maWVsZC1oZWFkZXItYmcsICN7JGtlbmRvLXBpdm90Z3JpZC1jYWxjdWxhdGVkLWZpZWxkLWhlYWRlci1iZ30gKSxcbiAgICAgICAgICAgIHZhciggLS1rZW5kby1waXZvdGdyaWQtY2FsY3VsYXRlZC1maWVsZC1oZWFkZXItYm9yZGVyLCAjeyRrZW5kby1waXZvdGdyaWQtY2FsY3VsYXRlZC1maWVsZC1oZWFkZXItYm9yZGVyfSApXG4gICAgICAgICk7XG4gICAgfVxuXG4gICAgLmstZmlsdGVyLW1lbnUgLmstY2FsY3VsYXRlZC1pdGVtIHtcbiAgICAgICAgQGluY2x1ZGUgZmlsbCggJGJvcmRlcjogdmFyKCAtLWtlbmRvLWNvbXBvbmVudC1ib3JkZXIsIGluaGVyaXQgKSApO1xuICAgIH1cblxuICAgIC5rLXBpdm90Z3JpZC1jb25maWd1cmF0b3ItY29udGVudCAuay1mb3JtLWZpZWxkLXdyYXBwZXIge1xuICAgICAgICBAaW5jbHVkZSBmaWxsKCAkYm9yZGVyOiB2YXIoIC0ta2VuZG8tY29tcG9uZW50LWJvcmRlciwgaW5oZXJpdCApICk7XG4gICAgfVxuXG59XG5cbkBtaXhpbiBrZW5kby1waXZvdGdyaWQtbGVnYWN5LS10aGVtZSgpIHtcblxuICAgIC5rLXBpdm90IHtcbiAgICAgICAgQGluY2x1ZGUgZmlsbCAoXG4gICAgICAgICAgICB2YXIoIC0ta2VuZG8tcGl2b3RncmlkLXRleHQsICN7JGtlbmRvLXBpdm90Z3JpZC10ZXh0fSApLFxuICAgICAgICAgICAgdmFyKCAtLWtlbmRvLXBpdm90Z3JpZC1iZywgI3ska2VuZG8tcGl2b3RncmlkLWJnfSApLFxuICAgICAgICAgICAgdmFyKCAtLWtlbmRvLXBpdm90Z3JpZC1ib3JkZXIsICN7JGtlbmRvLXBpdm90Z3JpZC1ib3JkZXJ9IClcbiAgICAgICAgKTtcbiAgICB9XG4gICAgLmstcGl2b3QtdGFibGUge1xuICAgICAgICBib3JkZXItY29sb3I6IHZhciggLS1rZW5kby1waXZvdGdyaWQtYm9yZGVyLCAjeyRrZW5kby1waXZvdGdyaWQtYm9yZGVyfSApO1xuICAgIH1cblxuICAgIC8vIFBpdm90Z3JpZCBoZWFkZXJcbiAgICAuay1waXZvdC1yb3doZWFkZXJzIHtcbiAgICAgICAgQGluY2x1ZGUgZmlsbChcbiAgICAgICAgICAgIHZhciggLS1rZW5kby1waXZvdGdyaWQtaGVhZGVycy10ZXh0LCAjeyRrZW5kby1waXZvdGdyaWQtaGVhZGVycy10ZXh0fSApLFxuICAgICAgICAgICAgdmFyKCAtLWtlbmRvLXBpdm90Z3JpZC1oZWFkZXJzLWJnLCAjeyRrZW5kby1waXZvdGdyaWQtaGVhZGVycy1iZ30gKSxcbiAgICAgICAgICAgIHZhciggLS1rZW5kby1waXZvdGdyaWQtaGVhZGVycy1ib3JkZXIsICN7JGtlbmRvLXBpdm90Z3JpZC1oZWFkZXJzLWJvcmRlcn0gKVxuICAgICAgICApO1xuICAgIH1cblxuXG4gICAgLy8gUGl2b3RncmlkIHRvb2xiYXJcbiAgICAuay1waXZvdC10b29sYmFyIHtcbiAgICAgICAgQGluY2x1ZGUgZmlsbChcbiAgICAgICAgICAgIHZhciggLS1rZW5kby1waXZvdGdyaWQtaGVhZGVycy10ZXh0LCAjeyRrZW5kby1waXZvdGdyaWQtaGVhZGVycy10ZXh0fSApLFxuICAgICAgICAgICAgdmFyKCAtLWtlbmRvLXBpdm90Z3JpZC1oZWFkZXJzLWJnLCAjeyRrZW5kby1waXZvdGdyaWQtaGVhZGVycy1iZ30gKSxcbiAgICAgICAgICAgIHZhciggLS1rZW5kby1waXZvdGdyaWQtaGVhZGVycy1ib3JkZXIsICN7JGtlbmRvLXBpdm90Z3JpZC1oZWFkZXJzLWJvcmRlcn0gKVxuICAgICAgICApO1xuXG4gICAgICAgIC5rLWVtcHR5IHtcbiAgICAgICAgICAgIGNvbG9yOiB2YXIoIC0ta2VuZG8tc3VidGxlLXRleHQsIGluaGVyaXQgKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5rLXBpdm90LXRvb2xiYXIsXG4gICAgLmstcGl2b3QtdGFibGUsXG4gICAgLmstcGl2b3Qtcm93aGVhZGVycyA+IC5rLWdyaWQgdGQ6Zmlyc3QtY2hpbGQsXG4gICAgLmstcGl2b3QtdGFibGUgLmstZ3JpZC1oZWFkZXIgLmstaGVhZGVyLmstZmlyc3Qge1xuICAgICAgICBib3JkZXItY29sb3I6IHZhciggLS1rZW5kby1waXZvdGdyaWQtY2hyb21lLWJvcmRlciwgI3ska2VuZG8tcGl2b3RncmlkLWNocm9tZS1ib3JkZXJ9ICk7XG4gICAgfVxuXG4gICAgLmstcGl2b3QtbGF5b3V0IC5rLWdyaWQtZm9vdGVyIHtcbiAgICAgICAgY29sb3I6IHZhciggLS1rZW5kby1waXZvdGdyaWQtYWx0LXRleHQsICN7JGtlbmRvLXBpdm90Z3JpZC1hbHQtdGV4dH0gKTtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKCAtLWtlbmRvLXBpdm90Z3JpZC1hbHQtYmcsICN7JGtlbmRvLXBpdm90Z3JpZC1hbHQtYmd9ICk7XG4gICAgfVxuXG4gICAgLy8gS1BJIGljb25zXG4gICAgLmstaS1rcGktdHJlbmQtaW5jcmVhc2UsXG4gICAgLmstaS1rcGktdHJlbmQtZGVjcmVhc2UsXG4gICAgLmstaS1rcGktdHJlbmQtZXF1YWwge1xuICAgICAgICBjb2xvcjogaW5oZXJpdDtcbiAgICB9XG5cbiAgICAuay1pLWtwaS1zdGF0dXMtaG9sZCB7XG4gICAgICAgIGNvbG9yOiB2YXIoIC0ta2VuZG8td2FybmluZy0xMDAsIGluaXRpYWwgKTtcbiAgICB9XG5cbiAgICAuay1pLWtwaS1zdGF0dXMtZGVueSB7XG4gICAgICAgIGNvbG9yOiB2YXIoIC0ta2VuZG8tZXJyb3ItMTAwLCBpbml0aWFsICk7XG4gICAgfVxuXG4gICAgLmstaS1rcGktc3RhdHVzLW9wZW4ge1xuICAgICAgICBjb2xvcjogdmFyKCAtLWtlbmRvLXN1Y2Nlc3MtMTAwLCBpbml0aWFsICk7XG4gICAgfVxuXG5cbiAgICAvLyBDb25maWd1cmF0b3JcbiAgICAuay1waXZvdGdyaWQtY29uZmlndXJhdG9yLXBhbmVsLmtlbmRvLWpxdWVyeSB7XG4gICAgICAgIC5rLWNvbHVtbi1maWVsZHMge1xuICAgICAgICAgICAgYm9yZGVyLWNvbG9yOiB2YXIoIC0ta2VuZG8tY29tcG9uZW50LWJvcmRlciwgaW5oZXJpdCApO1xuICAgICAgICB9XG4gICAgfVxuXG59XG4iLCJAdXNlIFwic2FzczptYXBcIjtcbkB1c2UgXCIuLi9jb3JlL19pbmRleC5zY3NzXCIgYXMgKjtcbkB1c2UgXCIuL192YXJpYWJsZXMuc2Nzc1wiIGFzICo7XG5cbkBtaXhpbiBrZW5kby10cmVlbGlzdC0tbGF5b3V0KCkge1xuXG4gICAgLy8gQmFzZVxuICAgIC5rLXRyZWVsaXN0IHtcbiAgICAgICAgJi5rLWdyaWQtZGlzcGxheS1ibG9jay5rLWdyaWQtbG9ja2VkY29sdW1ucyB7XG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgfVxuXG4gICAgICAgIC5rLXN0YXR1cyB7XG4gICAgICAgICAgICBwYWRkaW5nLWlubGluZTogLjZlbTtcbiAgICAgICAgICAgIHBhZGRpbmctYmxvY2s6IC40ZW07XG4gICAgICAgICAgICBsaW5lLWhlaWdodDogMS42ZW07XG5cbiAgICAgICAgICAgIC8vIFRPRE86IHNlZSB3aGF0IHRoaXMgZG9lcyBhbmQgdXNlIGEgYmV0dGVyIG5hbWVcbiAgICAgICAgICAgIC5rLWxvYWRpbmcge1xuICAgICAgICAgICAgICAgIHZlcnRpY2FsLWFsaWduOiBiYXNlbGluZTtcbiAgICAgICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IGstc3BhY2luZygxKTtcblxuICAgICAgICAgICAgICAgIC8vIFRPRE9cbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLmstdHJlZWxpc3QtZHJhZ2dpbmcsXG4gICAgICAgIC5rLXRyZWVsaXN0LWRyYWdnaW5nIC5rLXN0YXRlLWhvdmVyLFxuICAgICAgICAuay10cmVlbGlzdC1kcmFnZ2luZyAuay1ob3ZlciB7XG4gICAgICAgICAgICBjdXJzb3I6IGRlZmF1bHQ7XG4gICAgICAgIH1cblxuICAgICAgICAuay1kcm9wLWhpbnQge1xuICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoMCwgLTUwJSk7XG4gICAgICAgIH1cblxuICAgICAgICB0ci5rLWZvb3RlciB0ZCxcbiAgICAgICAgdHIuay1mb290ZXItdGVtcGxhdGUgdGQge1xuICAgICAgICAgICAgYm9yZGVyLXdpZHRoOiB2YXIoIC0ta2VuZG8tdHJlZWxpc3QtZm9vdGVyLXJvdy1ib3JkZXItd2lkdGgsICN7JGtlbmRvLXRyZWVsaXN0LWZvb3Rlci1yb3ctYm9yZGVyLXdpZHRofSApIDA7XG4gICAgICAgICAgICBib3JkZXItc3R5bGU6IHNvbGlkO1xuICAgICAgICAgICAgZm9udC13ZWlnaHQ6IHZhciggLS1rZW5kby1mb250LXdlaWdodC1ib2xkLCBib2xkICk7XG4gICAgICAgIH1cblxuICAgICAgICB0ci5rLWZvb3RlciArIHRyLmstZm9vdGVyIHRkIHtcbiAgICAgICAgICAgIGJvcmRlci10b3Atd2lkdGg6IDA7XG4gICAgICAgIH1cblxuICAgICAgICAuay1pLWNhcmV0LWFsdC1kb3duLFxuICAgICAgICAuay1pLWNhcmV0LWFsdC1yaWdodCB7XG4gICAgICAgICAgICBtYXJnaW4taW5saW5lLWVuZDogay1zcGFjaW5nKDIpO1xuICAgICAgICB9XG4gICAgfVxuXG5cbiAgICAvLyBTdGlja3kgaGVhZGVyc1xuICAgIC5rLXRyZWVsaXN0LXNjcm9sbGFibGUge1xuICAgICAgICA+IHRhYmxlLFxuICAgICAgICAuay1ncmlkLWhlYWRlciB0cixcbiAgICAgICAgLmstZ3JpZC1oZWFkZXIgdGgge1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogaW5oZXJpdDtcbiAgICAgICAgfVxuXG4gICAgICAgIC5rLWdyaWQtdG9vbGJhciB7XG4gICAgICAgICAgICBwb3NpdGlvbjogc3RpY2t5O1xuICAgICAgICAgICAgei1pbmRleDogMztcbiAgICAgICAgICAgIHRvcDogMDtcbiAgICAgICAgICAgIGxlZnQ6IDA7XG4gICAgICAgIH1cblxuICAgICAgICAuay1ncmlkLWhlYWRlciB0aCB7XG4gICAgICAgICAgICBwb3NpdGlvbjogc3RpY2t5O1xuICAgICAgICAgICAgei1pbmRleDogMTtcbiAgICAgICAgfVxuXG4gICAgICAgIC5rLWdyaWQtaGVhZGVyIHRoLmstZ3JpZC1oZWFkZXItc3RpY2t5IHtcbiAgICAgICAgICAgIHotaW5kZXg6IDM7XG4gICAgICAgIH1cblxuICAgICAgICB0aGVhZC5rLWdyaWQtaGVhZGVyIHtcbiAgICAgICAgICAgIHBhZGRpbmctaW5saW5lLWVuZDogMDtcbiAgICAgICAgfVxuXG4gICAgICAgIHRyLmstZ3JvdXAtZm9vdGVyICsgdHIuay1ncm91cC1mb290ZXIgdGQge1xuICAgICAgICAgICAgYm9yZGVyLXRvcC13aWR0aDogMDtcbiAgICAgICAgfVxuXG4gICAgfVxuXG4gICAgLmstZHJhZy1zZXBhcmF0b3Ige1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgIGJvcmRlci1yaWdodDogMXB4IHNvbGlkO1xuICAgICAgICBoZWlnaHQ6IDFlbTtcbiAgICAgICAgdmVydGljYWwtYWxpZ246IHRvcDtcbiAgICAgICAgbWFyZ2luLWJsb2NrOiAwO1xuICAgICAgICBtYXJnaW4taW5saW5lOiAuNWVtO1xuICAgIH1cblxuICAgIC5rLXRyZWVsaXN0LXRvZ2dsZSB7XG4gICAgICAgIG1hcmdpbi1ibG9jazogY2FsYyggdmFyKCAtLWtlbmRvLWljb24tcGFkZGluZyApICogLTEgKTtcbiAgICAgICAgcGFkZGluZzogdmFyKCAtLWtlbmRvLWljb24tcGFkZGluZywgLjI1cmVtICk7XG4gICAgICAgIGJveC1zaXppbmc6IGNvbnRlbnQtYm94O1xuICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgfVxuXG59XG4iLCJAdXNlIFwiLi9fdmFyaWFibGVzLnNjc3NcIiBhcyAqO1xuXG5AbWl4aW4ga2VuZG8tdHJlZWxpc3QtLXRoZW1lKCkge1xuXG4gICAgLmstdHJlZWxpc3QsXG4gICAgLmstdHJlZWxpc3Qtc2Nyb2xsYWJsZSB7XG4gICAgICAgIHRyLmstZm9vdGVyLFxuICAgICAgICB0ci5rLWdyb3VwLWZvb3RlciB0ZCxcbiAgICAgICAgdHIuay1mb290ZXItdGVtcGxhdGUge1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKCAtLWtlbmRvLXRyZWVsaXN0LWZvb3Rlci1yb3ctYmcsICN7JGtlbmRvLXRyZWVsaXN0LWZvb3Rlci1yb3ctYmd9ICk7XG4gICAgICAgIH1cbiAgICB9XG5cbn1cbiIsIkB1c2UgXCIuL192YXJpYWJsZXMuc2Nzc1wiIGFzICo7XG5cbkBtaXhpbiBrZW5kby1maWx0ZXItLWxheW91dCgpIHtcblxuICAgIC5rLWZpbHRlciB7XG4gICAgICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgICAgIGJvcmRlci13aWR0aDogMDtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcblxuICAgICAgICAqLFxuICAgICAgICAqOjpiZWZvcmUsXG4gICAgICAgICo6OmFmdGVyIHtcbiAgICAgICAgICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgICAgIH1cblxuICAgICAgICB1bCB7XG4gICAgICAgICAgICBwYWRkaW5nOiAwO1xuXG4gICAgICAgICAgICBsaSB7XG4gICAgICAgICAgICAgICAgbGlzdC1zdHlsZS10eXBlOiBub25lO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLmstZmlsdGVyLWNvbnRhaW5lcixcbiAgICAgICAgLmstZmlsdGVyLXByZXZpZXcge1xuICAgICAgICAgICAgbWFyZ2luLWJsb2NrLWVuZDogdmFyKCAtLWtlbmRvLWZpbHRlci1ib3R0b20tbWFyZ2luLCAjeyRrZW5kby1maWx0ZXItYm90dG9tLW1hcmdpbn0gKTtcbiAgICAgICAgfVxuXG4gICAgICAgIC5rLWZpbHRlci1saW5lcyxcbiAgICAgICAgLmstZmlsdGVyLWl0ZW0ge1xuICAgICAgICAgICAgcGFkZGluZy1pbmxpbmUtc3RhcnQ6IHZhciggLS1rZW5kby1maWx0ZXItcGFkZGluZy14LCAjeyRrZW5kby1maWx0ZXItcGFkZGluZy14fSApO1xuICAgICAgICB9XG5cbiAgICAgICAgLmstZmlsdGVyLXRvb2xiYXIge1xuICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgICAgICBwYWRkaW5nLWlubGluZTogMDtcbiAgICAgICAgICAgIHBhZGRpbmctYmxvY2s6IHZhciggLS1rZW5kby1maWx0ZXItcGFkZGluZy15LCAjeyRrZW5kby1maWx0ZXItcGFkZGluZy15fSApO1xuXG4gICAgICAgICAgICAmOjpiZWZvcmUge1xuICAgICAgICAgICAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgICAgIHdpZHRoOiB2YXIoIC0ta2VuZG8tZmlsdGVyLXBhZGRpbmcteCwgI3ska2VuZG8tZmlsdGVyLXBhZGRpbmcteH0gKTtcbiAgICAgICAgICAgICAgICBoZWlnaHQ6IHZhciggLS1rZW5kby1maWx0ZXItbGluZS1zaXplLCAjeyRrZW5kby1maWx0ZXItbGluZS1zaXplfSApO1xuICAgICAgICAgICAgICAgIHRvcDogNTAlO1xuICAgICAgICAgICAgICAgIGluc2V0LWlubGluZS1zdGFydDogY2FsYyggdmFyKCAtLWtlbmRvLWZpbHRlci1wYWRkaW5nLXgsICN7JGtlbmRvLWZpbHRlci1wYWRkaW5nLXh9ICkgKiAtMSApO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAuay10b29sYmFyIHtcbiAgICAgICAgICAgICAgICBib3JkZXItc3R5bGU6IHNvbGlkO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIC5rLWZpbHRlci1vcGVyYXRvciAuay1kcm9wZG93bi1saXN0IHtcbiAgICAgICAgICAgIHdpZHRoOiB2YXIoIC0ta2VuZG8tZmlsdGVyLW9wZXJhdG9yLWRyb3Bkb3duLXdpZHRoLCAjeyRrZW5kby1maWx0ZXItb3BlcmF0b3ItZHJvcGRvd24td2lkdGh9ICk7XG4gICAgICAgIH1cblxuICAgICAgICAuay1maWx0ZXItaXRlbSB7XG4gICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgICAgICAgICAgICY6OmJlZm9yZSB7XG4gICAgICAgICAgICAgICAgY29udGVudDogXCJcIjtcbiAgICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICAgICAgd2lkdGg6IHZhciggLS1rZW5kby1maWx0ZXItbGluZS1zaXplLCAjeyRrZW5kby1maWx0ZXItbGluZS1zaXplfSApO1xuICAgICAgICAgICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgICAgICAgICB0b3A6IGNhbGMoIHZhciggLS1rZW5kby1maWx0ZXItcGFkZGluZy15LCAjeyRrZW5kby1maWx0ZXItcGFkZGluZy15fSApICogLTEgKTtcbiAgICAgICAgICAgICAgICBpbnNldC1pbmxpbmUtc3RhcnQ6IDA7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAvLyBUaGUgc2Vjb25kIHNlbGVjdG9yIHRhcmdldHMgdGhlIEFuZ3VsYXIgcmVuZGVyaW5nXG4gICAgICAgIC5rLWZpbHRlci1saW5lcyAuay1maWx0ZXItaXRlbTpsYXN0LWNoaWxkID4gLmstZmlsdGVyLXRvb2xiYXI6OmFmdGVyLFxuICAgICAgICAuay1maWx0ZXItbGluZXMgLmstZmlsdGVyLWl0ZW06bGFzdC1jaGlsZCA+ICogPiAuay1maWx0ZXItdG9vbGJhcjo6YWZ0ZXIge1xuICAgICAgICAgICAgY29udGVudDogXCJcIjtcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgIHdpZHRoOiB2YXIoIC0ta2VuZG8tZmlsdGVyLWxpbmUtc2l6ZSwgI3ska2VuZG8tZmlsdGVyLWxpbmUtc2l6ZX0gKTtcbiAgICAgICAgICAgIHRvcDogY2FsYyggKCB2YXIoIC0ta2VuZG8tZmlsdGVyLXBhZGRpbmcteSwgI3ska2VuZG8tZmlsdGVyLXBhZGRpbmcteX0gKSAqIC0xICkgLSB2YXIoIC0ta2VuZG8tZmlsdGVyLWxpbmUtc2l6ZSwgI3ska2VuZG8tZmlsdGVyLWxpbmUtc2l6ZX0gKSApO1xuICAgICAgICAgICAgYm90dG9tOiA1MCU7XG4gICAgICAgICAgICBpbnNldC1pbmxpbmUtc3RhcnQ6IGNhbGMoIHZhciggLS1rZW5kby1maWx0ZXItcGFkZGluZy14LCAjeyRrZW5kby1maWx0ZXItcGFkZGluZy14fSApICogLTEgKTtcbiAgICAgICAgfVxuXG4gICAgICAgIC8vIFRoZSBmb3J0aCBhbmQgZmlmdGggc2VsZWN0b3JzIHRhcmdldHMgdGhlIEFuZ3VsYXIgcmVuZGVyaW5nXG4gICAgICAgIC5rLWZpbHRlci1ncm91cC1tYWluOjpiZWZvcmUsXG4gICAgICAgIC5rLWZpbHRlci1ncm91cC1tYWluID4gLmstZmlsdGVyLXRvb2xiYXI6OmJlZm9yZSxcbiAgICAgICAgLmstZmlsdGVyLWdyb3VwLW1haW4gPiAuay1maWx0ZXItdG9vbGJhcjo6YWZ0ZXIsXG4gICAgICAgIC5rLWZpbHRlci1ncm91cC1tYWluID4gKiA+IC5rLWZpbHRlci10b29sYmFyOjpiZWZvcmUsXG4gICAgICAgIC5rLWZpbHRlci1ncm91cC1tYWluID4gKiA+IC5rLWZpbHRlci10b29sYmFyOjphZnRlcixcbiAgICAgICAgLmstZmlsdGVyLWxpbmVzIC5rLWZpbHRlci1pdGVtOmxhc3QtY2hpbGQ6OmJlZm9yZSB7XG4gICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICB9XG4gICAgfVxuXG59XG4iLCJAdXNlIFwiLi9fdmFyaWFibGVzLnNjc3NcIiBhcyAqO1xuXG5AbWl4aW4ga2VuZG8tZmlsdGVyLS10aGVtZSgpIHtcblxuICAgIC5rLWZpbHRlciB7XG4gICAgICAgIGNvbG9yOiB2YXIoIC0ta2VuZG8tZmlsdGVyLXRleHQsICN7JGtlbmRvLWZpbHRlci10ZXh0fSApO1xuXG4gICAgICAgIC5rLWZpbHRlci1wcmV2aWV3LWZpZWxkIHtcbiAgICAgICAgICAgIGNvbG9yOiB2YXIoIC0ta2VuZG8tZmlsdGVyLXByZXZpZXctZmllbGQtdGV4dCwgI3ska2VuZG8tZmlsdGVyLXByZXZpZXctZmllbGQtdGV4dH0gKTtcbiAgICAgICAgfVxuXG4gICAgICAgIC5rLWZpbHRlci1wcmV2aWV3LW9wZXJhdG9yIHtcbiAgICAgICAgICAgIGNvbG9yOiB2YXIoIC0ta2VuZG8tZmlsdGVyLXByZXZpZXctb3BlcmF0b3ItdGV4dCwgI3ska2VuZG8tZmlsdGVyLXByZXZpZXctb3BlcmF0b3ItdGV4dH0gKTtcbiAgICAgICAgfVxuXG4gICAgICAgIC8vIFRoZSBsYXN0IHNlbGVjdG9yIHRhcmdldHMgdGhlIEFuZ3VsYXIgcmVuZGVyaW5nXG4gICAgICAgIC5rLWZpbHRlci1pdGVtOjpiZWZvcmUsXG4gICAgICAgIC5rLWZpbHRlci10b29sYmFyOjpiZWZvcmUsXG4gICAgICAgIC5rLWZpbHRlci1saW5lcyAuay1maWx0ZXItaXRlbTpsYXN0LWNoaWxkID4gLmstZmlsdGVyLXRvb2xiYXI6OmFmdGVyLFxuICAgICAgICAuay1maWx0ZXItbGluZXMgLmstZmlsdGVyLWl0ZW06bGFzdC1jaGlsZCA+ICogPiAuay1maWx0ZXItdG9vbGJhcjo6YWZ0ZXIge1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKCAtLWtlbmRvLWZpbHRlci1saW5lLWJnLCAjeyRrZW5kby1maWx0ZXItbGluZS1iZ30gKTtcbiAgICAgICAgfVxuXG4gICAgICAgIC8vIEZvY3VzXG4gICAgICAgIC5rLXRvb2xiYXI6Zm9jdXMsXG4gICAgICAgIC5rLXRvb2xiYXIuay1mb2N1cyB7XG4gICAgICAgICAgICBib3JkZXItY29sb3I6IHZhciggLS1rZW5kby1maWx0ZXItdG9vbGJhci1mb2N1cy1ib3JkZXIsICN7JGtlbmRvLWZpbHRlci10b29sYmFyLWZvY3VzLWJvcmRlcn0gKTtcbiAgICAgICAgfVxuICAgIH1cblxufVxuIiwiQHVzZSBcIi4uL2ljb25zL192YXJpYWJsZXMuc2Nzc1wiIGFzICo7XG5AdXNlIFwiLi9fdmFyaWFibGVzLnNjc3NcIiBhcyAqO1xuXG5AbWl4aW4ga2VuZG8tZmlsZS1tYW5hZ2VyLS1sYXlvdXQoKSB7XG5cbiAgICAvLyBGaWxlIE1hbmFnZXJcbiAgICAuay1maWxlbWFuYWdlciB7XG4gICAgICAgIGJvcmRlci13aWR0aDogdmFyKCAtLWtlbmRvLWZpbGUtbWFuYWdlci1ib3JkZXItd2lkdGgsICN7JGtlbmRvLWZpbGUtbWFuYWdlci1ib3JkZXItd2lkdGh9ICk7XG4gICAgICAgIGJvcmRlci1zdHlsZTogc29saWQ7XG4gICAgICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgICAgIGZvbnQtZmFtaWx5OiB2YXIoIC0ta2VuZG8tZmlsZS1tYW5hZ2VyLWZvbnQtZmFtaWx5LCAjeyRrZW5kby1maWxlLW1hbmFnZXItZm9udC1mYW1pbHl9ICk7XG4gICAgICAgIGZvbnQtc2l6ZTogdmFyKCAtLWtlbmRvLWZpbGUtbWFuYWdlci1mb250LXNpemUsICN7JGtlbmRvLWZpbGUtbWFuYWdlci1mb250LXNpemV9ICk7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiB2YXIoIC0ta2VuZG8tZmlsZS1tYW5hZ2VyLWxpbmUtaGVpZ2h0LCAjeyRrZW5kby1maWxlLW1hbmFnZXItbGluZS1oZWlnaHR9ICk7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGZsZXgtZmxvdzogY29sdW1uIG5vd3JhcDtcbiAgICB9XG5cblxuICAgIC8vIFRvb2xiYXJcbiAgICAuay1maWxlbWFuYWdlci1oZWFkZXIge1xuICAgICAgICBib3JkZXItY29sb3I6IGluaGVyaXQ7XG4gICAgfVxuICAgIC5rLWZpbGVtYW5hZ2VyLXRvb2xiYXIge1xuICAgICAgICBib3JkZXItd2lkdGg6IDA7XG4gICAgICAgIGJvcmRlci1ib3R0b20td2lkdGg6IHZhciggLS1rZW5kby1maWxlLW1hbmFnZXItdG9vbGJhci1ib3JkZXItd2lkdGgsICN7JGtlbmRvLWZpbGUtbWFuYWdlci10b29sYmFyLWJvcmRlci13aWR0aH0gKTtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiBpbmhlcml0O1xuICAgICAgICBmbGV4LXNocmluazogMDtcbiAgICAgICAgei1pbmRleDogMTtcbiAgICB9XG5cblxuICAgIC8vIENvbnRlbnQgV3JhcHBlclxuICAgIC5rLWZpbGVtYW5hZ2VyLWNvbnRlbnQtY29udGFpbmVyIHtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiBpbmhlcml0O1xuICAgICAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgICAgICBmbGV4OiAxIDEgMCU7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGZsZXgtZmxvdzogcm93IG5vd3JhcDtcbiAgICAgICAgYWxpZ24taXRlbXM6IHN0cmV0Y2g7XG4gICAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgfVxuXG4gICAgLmstZmlsZW1hbmFnZXItc3BsaXR0ZXIge1xuICAgICAgICBib3JkZXItd2lkdGg6IDA7XG4gICAgfVxuXG5cbiAgICAvLyBOYXZpZ2F0aW9uXG4gICAgLmstZmlsZW1hbmFnZXItbmF2aWdhdGlvbiB7XG4gICAgICAgIHBhZGRpbmctaW5saW5lOiB2YXIoIC0ta2VuZG8tZmlsZS1tYW5hZ2VyLW5hdmlnYXRpb24tcGFkZGluZy14LCAjeyRrZW5kby1maWxlLW1hbmFnZXItbmF2aWdhdGlvbi1wYWRkaW5nLXh9ICk7XG4gICAgICAgIHBhZGRpbmctYmxvY2s6IHZhciggLS1rZW5kby1maWxlLW1hbmFnZXItbmF2aWdhdGlvbi1wYWRkaW5nLXksICN7JGtlbmRvLWZpbGUtbWFuYWdlci1uYXZpZ2F0aW9uLXBhZGRpbmcteX0gKTtcbiAgICAgICAgd2lkdGg6IHZhciggLS1rZW5kby1maWxlLW1hbmFnZXItbmF2aWdhdGlvbi13aWR0aCwgI3ska2VuZG8tZmlsZS1tYW5hZ2VyLW5hdmlnYXRpb24td2lkdGh9ICk7XG4gICAgICAgIGJvcmRlci13aWR0aDogMDtcbiAgICAgICAgYm9yZGVyLXJpZ2h0LXdpZHRoOiB2YXIoIC0ta2VuZG8tZmlsZS1tYW5hZ2VyLW5hdmlnYXRpb24tYm9yZGVyLXdpZHRoLCAjeyRrZW5kby1maWxlLW1hbmFnZXItbmF2aWdhdGlvbi1ib3JkZXItd2lkdGh9ICk7XG4gICAgICAgIGJvcmRlci1zdHlsZTogc29saWQ7XG4gICAgICAgIGJvcmRlci1jb2xvcjogaW5oZXJpdDtcbiAgICAgICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICAgICAgZmxleC1zaHJpbms6IDA7XG4gICAgICAgIG92ZXJmbG93OiBhdXRvO1xuICAgIH1cbiAgICAuay1maWxlbWFuYWdlci10cmVldmlldyB7XG4gICAgICAgIG92ZXJmbG93OiB2aXNpYmxlO1xuICAgIH1cblxuXG4gICAgLy8gQ29udGVudFxuICAgIC5rLWZpbGVtYW5hZ2VyLWNvbnRlbnQge1xuICAgICAgICBib3JkZXItY29sb3I6IGluaGVyaXQ7XG4gICAgICAgIGZsZXg6IDEgMSAwJTtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgZmxleC1mbG93OiBjb2x1bW4gbm93cmFwO1xuICAgICAgICBhbGlnbi1pdGVtczogc3RyZXRjaDtcbiAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICB9XG5cbiAgICAvLyBGaWxlbWFuYWdlciB2aWV3XG4gICAgLmstZmlsZW1hbmFnZXItdmlldyB7XG4gICAgICAgIG92ZXJmbG93OiBhdXRvO1xuICAgIH1cblxuICAgIC8vIEJyZWFkY3J1bWJcbiAgICAuay1maWxlbWFuYWdlci1icmVhZGNydW1iIHtcbiAgICAgICAgcGFkZGluZy1pbmxpbmU6IHZhciggLS1rZW5kby1maWxlLW1hbmFnZXItYnJlYWRjcnVtYi1wYWRkaW5nLXgsICN7JGtlbmRvLWZpbGUtbWFuYWdlci1icmVhZGNydW1iLXBhZGRpbmcteH0gKTtcbiAgICAgICAgcGFkZGluZy1ibG9jazogdmFyKCAtLWtlbmRvLWZpbGUtbWFuYWdlci1icmVhZGNydW1iLXBhZGRpbmcteSwgI3ska2VuZG8tZmlsZS1tYW5hZ2VyLWJyZWFkY3J1bWItcGFkZGluZy15fSApO1xuICAgICAgICBib3JkZXItd2lkdGg6IDA7XG4gICAgICAgIGJvcmRlci1ib3R0b20td2lkdGg6IHZhciggLS1rZW5kby1maWxlLW1hbmFnZXItYnJlYWRjcnVtYi1ib3JkZXItd2lkdGgsICN7JGtlbmRvLWZpbGUtbWFuYWdlci1icmVhZGNydW1iLWJvcmRlci13aWR0aH0gKTtcbiAgICAgICAgZmxleC1zaHJpbms6IDA7XG4gICAgfVxuXG5cbiAgICAvLyBGaWxlbWFuYWdlciBsaXN0dmlld1xuICAgIC5rLWZpbGVtYW5hZ2VyLWxpc3R2aWV3IHtcbiAgICAgICAgYm9yZGVyLXdpZHRoOiAwO1xuICAgICAgICBmbGV4OiAxIDEgMCU7XG5cbiAgICAgICAgLy8gTGlzdHZpZXcgaXRlbVxuICAgICAgICAuay1saXN0dmlldy1pdGVtIHtcbiAgICAgICAgICAgIHBhZGRpbmctaW5saW5lOiB2YXIoIC0ta2VuZG8tZmlsZS1tYW5hZ2VyLWxpc3R2aWV3LWl0ZW0tcGFkZGluZy14LCAjeyRrZW5kby1maWxlLW1hbmFnZXItbGlzdHZpZXctaXRlbS1wYWRkaW5nLXh9ICk7XG4gICAgICAgICAgICBwYWRkaW5nLWJsb2NrOiB2YXIoIC0ta2VuZG8tZmlsZS1tYW5hZ2VyLWxpc3R2aWV3LWl0ZW0tcGFkZGluZy15LCAjeyRrZW5kby1maWxlLW1hbmFnZXItbGlzdHZpZXctaXRlbS1wYWRkaW5nLXl9ICk7XG4gICAgICAgICAgICB3aWR0aDogdmFyKCAtLWtlbmRvLWZpbGUtbWFuYWdlci1saXN0dmlldy1pdGVtLXdpZHRoLCAjeyRrZW5kby1maWxlLW1hbmFnZXItbGlzdHZpZXctaXRlbS13aWR0aH0gKTtcbiAgICAgICAgICAgIGhlaWdodDogdmFyKCAtLWtlbmRvLWZpbGUtbWFuYWdlci1saXN0dmlldy1pdGVtLWhlaWdodCwgI3ska2VuZG8tZmlsZS1tYW5hZ2VyLWxpc3R2aWV3LWl0ZW0taGVpZ2h0fSApO1xuICAgICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICB9XG5cbiAgICAgICAgLy8gRmlsZSBwcmV2aWV3XG4gICAgICAgIC5rLWZpbGUtcHJldmlldyB7XG4gICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgICB9XG5cbiAgICAgICAgLy8gRmlsZSBuYW1lXG4gICAgICAgIC5rLWZpbGUtbmFtZSB7XG4gICAgICAgICAgICBtYXJnaW4tYmxvY2stc3RhcnQ6IGNhbGMoIHZhciggLS1rZW5kby1maWxlLW1hbmFnZXItc3BhY2VyLCAjeyRrZW5kby1maWxlLW1hbmFnZXItc3BhY2VyfSApIC8gMiApO1xuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgICAgICAgICAgdGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7XG4gICAgICAgICAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICAgICAgICB9XG5cbiAgICAgICAgLy8gRWRpdCBtb2RlXG4gICAgICAgIC5rLWZpbGUtZWRpdC1pbnB1dCBpbnB1dCB7XG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgfVxuICAgIH1cblxuXG4gICAgLy8gRmlsZW1hbmFnZXIgZ3JpZFxuICAgIC5rLWZpbGVtYW5hZ2VyLWdyaWQge1xuICAgICAgICBib3JkZXItd2lkdGg6IDA7XG4gICAgICAgIGZsZXg6IDEgMSAwJTtcblxuICAgICAgICAvLyBGaWxlIHByZXZpZXdcbiAgICAgICAgLmstZmlsZS1wcmV2aWV3IHtcbiAgICAgICAgICAgIG1hcmdpbi1pbmxpbmUtZW5kOiB2YXIoIC0ta2VuZG8taWNvbi1zcGFjaW5nLCAuNXJlbSApO1xuICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gICAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICAgICAgICAgICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgICAgICAgfVxuXG4gICAgICAgIC8vIEZpbGUgbmFtZVxuICAgICAgICAuay1maWxlLW5hbWUge1xuICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gICAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICAgICAgICAgICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgICAgICAgfVxuICAgIH1cblxuXG4gICAgLy8gRmlsZW1hbmFnZXIgcHJldmlld1xuICAgIC5rLWZpbGVtYW5hZ2VyLXByZXZpZXcge1xuICAgICAgICBwYWRkaW5nLWlubGluZS1zdGFydDogdmFyKCAtLWtlbmRvLWZpbGUtbWFuYWdlci1wcmV2aWV3LXBhZGRpbmcteCwgI3ska2VuZG8tZmlsZS1tYW5hZ2VyLXByZXZpZXctcGFkZGluZy14fSApO1xuICAgICAgICBwYWRkaW5nLWlubGluZS1lbmQ6IHZhciggLS1rZW5kby1maWxlLW1hbmFnZXItcHJldmlldy1wYWRkaW5nLXgsICN7JGtlbmRvLWZpbGUtbWFuYWdlci1wcmV2aWV3LXBhZGRpbmcteH0gKTtcbiAgICAgICAgcGFkZGluZy1ibG9jay1zdGFydDogIGNhbGMoIHZhciggLS1rZW5kby1maWxlLW1hbmFnZXItcHJldmlldy1wYWRkaW5nLXksICN7JGtlbmRvLWZpbGUtbWFuYWdlci1wcmV2aWV3LXBhZGRpbmcteX0gKSAqIDMgKTtcbiAgICAgICAgcGFkZGluZy1ibG9jay1lbmQ6IHZhciggLS1rZW5kby1maWxlLW1hbmFnZXItcHJldmlldy1wYWRkaW5nLXksICN7JGtlbmRvLWZpbGUtbWFuYWdlci1wcmV2aWV3LXBhZGRpbmcteX0gKTtcbiAgICAgICAgd2lkdGg6IHZhciggLS1rZW5kby1maWxlLW1hbmFnZXItcHJldmlldy13aWR0aCwgI3ska2VuZG8tZmlsZS1tYW5hZ2VyLXByZXZpZXctd2lkdGh9ICk7XG4gICAgICAgIG1pbi1oZWlnaHQ6IGNhbGMoICggdmFyKCAtLWtlbmRvLWZpbGUtbWFuYWdlci1wcmV2aWV3LXBhZGRpbmcteSwgI3ska2VuZG8tZmlsZS1tYW5hZ2VyLXByZXZpZXctcGFkZGluZy15fSApICogNCApICsgdmFyKCAtLWtlbmRvLWljb24tc2l6ZSwgMXJlbSApICogMiArICggdmFyKCAtLWtlbmRvLWZpbGUtbWFuYWdlci1wcmV2aWV3LXNwYWNpbmcsICN7JGtlbmRvLWZpbGUtbWFuYWdlci1wcmV2aWV3LXNwYWNpbmd9ICkgKiAzICkgKTtcbiAgICAgICAgYm9yZGVyLXdpZHRoOiAwO1xuICAgICAgICBib3JkZXItbGVmdC13aWR0aDogdmFyKCAtLWtlbmRvLWZpbGUtbWFuYWdlci1wcmV2aWV3LWJvcmRlci13aWR0aCwgI3ska2VuZG8tZmlsZS1tYW5hZ2VyLXByZXZpZXctYm9yZGVyLXdpZHRofSApO1xuICAgICAgICBib3JkZXItc3R5bGU6IHNvbGlkO1xuICAgICAgICBib3JkZXItY29sb3I6IGluaGVyaXQ7XG4gICAgICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgb3ZlcmZsb3cteTogYXV0bztcbiAgICAgICAgZmxleC1zaHJpbms6IDA7XG5cbiAgICAgICAgLy8gRmlsZSBwcmV2aWV3XG4gICAgICAgIC5rLWZpbGUtcHJldmlldyB7XG4gICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgICB9XG5cbiAgICAgICAgLy8gRmlsZSBuYW1lXG4gICAgICAgIC5rLWZpbGUtbmFtZSB7XG4gICAgICAgICAgICBtYXJnaW4tYmxvY2stc3RhcnQ6IHZhciggLS1rZW5kby1maWxlLW1hbmFnZXItcHJldmlldy1zcGFjaW5nLCAjeyRrZW5kby1maWxlLW1hbmFnZXItcHJldmlldy1zcGFjaW5nfSApO1xuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIH1cbiAgICAgICAgLmstc2luZ2xlLWZpbGUtc2VsZWN0ZWQgeyBmb250LXdlaWdodDogdmFyKCAtLWtlbmRvLWZvbnQtd2VpZ2h0LWJvbGQsIGJvbGQgKTsgfVxuICAgICAgICAuay1tdWx0aXBsZS1maWxlcy1zZWxlY3RlZCB7IGZvbnQtd2VpZ2h0OiB2YXIoIC0ta2VuZG8tZm9udC13ZWlnaHQtYm9sZCwgYm9sZCApOyB9XG5cbiAgICAgICAgLy8gRmlsZSBNZXRhXG4gICAgICAgIC5rLWZpbGUtbWV0YSB7XG4gICAgICAgICAgICBtYXJnaW4taW5saW5lOiAwO1xuICAgICAgICAgICAgbWFyZ2luLWJsb2NrLXN0YXJ0OiB2YXIoIC0ta2VuZG8tZmlsZS1tYW5hZ2VyLXByZXZpZXctc3BhY2luZywgI3ska2VuZG8tZmlsZS1tYW5hZ2VyLXByZXZpZXctc3BhY2luZ30gKTtcbiAgICAgICAgICAgIG1hcmdpbi1ibG9jay1lbmQ6IDA7XG4gICAgICAgICAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgICAgICAgICAgdGV4dC1hbGlnbjogc3RhcnQ7XG4gICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAgZmxleC1mbG93OiByb3cgd3JhcDtcbiAgICAgICAgICAgIGdyaWQtY29sdW1uLWdhcDogJGtlbmRvLWZpbGUtbWFuYWdlci1wcmV2aWV3LWNvbHVtbi1nYXA7XG4gICAgICAgIH1cbiAgICAgICAgLmstZmlsZS1tZXRhLWxhYmVsIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgfVxuICAgICAgICAuay1maWxlLW1ldGEtdmFsdWUge1xuICAgICAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICB9XG4gICAgICAgIC5rLWZpbGUtdHlwZSB7XG4gICAgICAgICAgICB0ZXh0LXRyYW5zZm9ybTogY2FwaXRhbGl6ZTtcbiAgICAgICAgfVxuICAgICAgICAuay1saW5lLWJyZWFrIHtcbiAgICAgICAgICAgIG1hcmdpbi1pbmxpbmU6IDA7XG4gICAgICAgICAgICBtYXJnaW4tYmxvY2stc3RhcnQ6IHZhciggLS1rZW5kby1maWxlLW1hbmFnZXItcHJldmlldy1zcGFjaW5nLCAjeyRrZW5kby1maWxlLW1hbmFnZXItcHJldmlldy1zcGFjaW5nfSApO1xuICAgICAgICAgICAgbWFyZ2luLWJsb2NrLWVuZDogMDtcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgZmxleDogMSAxIDEwMCU7XG4gICAgICAgICAgICBmbGV4LWZsb3c6IHJvdyBub3dyYXA7XG4gICAgICAgIH1cbiAgICB9XG5cblxuICAgIC8vIFJlc2l6aW5nIEhhbmRsZVxuICAgIC5rLWZpbGVtYW5hZ2VyIC5rLXNwbGl0YmFyIHtcbiAgICAgICAgZmxleC1zaHJpbms6IDA7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIGJvcmRlci13aWR0aDogMCAxcHg7XG4gICAgICAgIGJvcmRlci1zdHlsZTogc29saWQ7XG4gICAgICAgIGJvcmRlci1jb2xvcjogaW5oZXJpdDtcbiAgICB9XG5cblxuICAgIC8vIFVwbG9hZCBEaWFsb2dcbiAgICAuay1maWxlbWFuYWdlci11cGxvYWQtZGlhbG9nIC5rLXVwbG9hZC1maWxlcyB7XG4gICAgICAgIG1heC1oZWlnaHQ6IDIwMHB4O1xuICAgICAgICBvdmVyZmxvdy15OiBhdXRvO1xuICAgIH1cblxuXG4gICAgLy8gRHJhZyBIaW50XG4gICAgLy8gVE9ETzogdXNlIGRyYWctaGludCBzdHlsZXNcbiAgICAuay1maWxlbWFuYWdlci1kcmFnLWhpbnQge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIH1cblxuICAgIC5rLWZpbGVtYW5hZ2VyLWRyYWctaGludCAuay1pY29uIHtcbiAgICAgICAgbWFyZ2luLWlubGluZS1lbmQ6IHZhciggLS1rZW5kby1pY29uLXNwYWNpbmcsIC41cmVtICk7XG5cbiAgICB9XG5cbn1cbiIsIkB1c2UgXCJzYXNzOm1hcFwiO1xuQHVzZSBcIi4uL2NvcmUvX2luZGV4LnNjc3NcIiBhcyAqO1xuQHVzZSBcIi4uL3Rvb2xiYXIvX3ZhcmlhYmxlcy5zY3NzXCIgYXMgKjtcbkB1c2UgXCIuLi9pY29ucy9fdmFyaWFibGVzLnNjc3NcIiBhcyAqO1xuXG4vLy8gVGhlIHNwYWNlIGJldHdlZW4gdGhlIEZpbGVNYW5hZ2VyIGl0ZW1zLlxuLy8vIEBncm91cCBmaWxlLW1hbmFnZXJcbiRrZW5kby1maWxlLW1hbmFnZXItc3BhY2VyOiBrLXNwYWNpbmcoNCkgIWRlZmF1bHQ7XG4vLy8gVGhlIGJvcmRlciB3aWR0aCBvZiB0aGUgRmlsZU1hbmFnZXIuXG4vLy8gQGdyb3VwIGZpbGUtbWFuYWdlclxuJGtlbmRvLWZpbGUtbWFuYWdlci1ib3JkZXItd2lkdGg6IDFweCAhZGVmYXVsdDtcbi8vLyBUaGUgZm9udCBmYW1pbHkgb2YgdGhlIEZpbGVNYW5hZ2VyLlxuLy8vIEBncm91cCBmaWxlLW1hbmFnZXJcbiRrZW5kby1maWxlLW1hbmFnZXItZm9udC1mYW1pbHk6IHZhciggLS1rZW5kby1mb250LWZhbWlseSwgbm9ybWFsICkgIWRlZmF1bHQ7XG4vLy8gVGhlIGZvbnQgc2l6ZSBvZiB0aGUgRmlsZU1hbmFnZXIuXG4vLy8gQGdyb3VwIGZpbGUtbWFuYWdlclxuJGtlbmRvLWZpbGUtbWFuYWdlci1mb250LXNpemU6IHZhciggLS1rZW5kby1mb250LXNpemUsIGluaGVyaXQgKSAhZGVmYXVsdDtcbi8vLyBUaGUgbGluZSBoZWlnaHQgb2YgdGhlIEZpbGVNYW5hZ2VyLlxuLy8vIEBncm91cCBmaWxlLW1hbmFnZXJcbiRrZW5kby1maWxlLW1hbmFnZXItbGluZS1oZWlnaHQ6IHZhciggLS1rZW5kby1saW5lLWhlaWdodCwgbm9ybWFsICkgIWRlZmF1bHQ7XG4vLy8gVGhlIGJhY2tncm91bmQgY29sb3Igb2YgdGhlIEZpbGVNYW5hZ2VyLlxuLy8vIEBncm91cCBmaWxlLW1hbmFnZXJcbiRrZW5kby1maWxlLW1hbmFnZXItYmc6IHZhciggLS1rZW5kby1jb21wb25lbnQtYmcsIHRyYW5zcGFyZW50ICkgIWRlZmF1bHQ7XG4vLy8gVGhlIHRleHQgY29sb3Igb2YgdGhlIEZpbGVNYW5hZ2VyLlxuLy8vIEBncm91cCBmaWxlLW1hbmFnZXJcbiRrZW5kby1maWxlLW1hbmFnZXItdGV4dDogdmFyKCAtLWtlbmRvLWNvbXBvbmVudC10ZXh0LCBpbmhlcml0ICkgIWRlZmF1bHQ7XG4vLy8gVGhlIGJvcmRlciBjb2xvciBvZiB0aGUgRmlsZU1hbmFnZXIuXG4vLy8gQGdyb3VwIGZpbGUtbWFuYWdlclxuJGtlbmRvLWZpbGUtbWFuYWdlci1ib3JkZXI6IHZhciggLS1rZW5kby1jb21wb25lbnQtYm9yZGVyLCBpbmhlcml0ICkgIWRlZmF1bHQ7XG5cbi8vLyBUaGUgYm9yZGVyIHdpZHRoIG9mIHRoZSBGaWxlTWFuYWdlciBUb29sYmFyLlxuLy8vIEBncm91cCBmaWxlLW1hbmFnZXJcbiRrZW5kby1maWxlLW1hbmFnZXItdG9vbGJhci1ib3JkZXItd2lkdGg6ICRrZW5kby1maWxlLW1hbmFnZXItYm9yZGVyLXdpZHRoICFkZWZhdWx0O1xuLy8vIFRoZSBiYWNrZ3JvdW5kIGNvbG9yIG9mIHRoZSBGaWxlTWFuYWdlciBUb29sYmFyLlxuLy8vIEBncm91cCBmaWxlLW1hbmFnZXJcbiRrZW5kby1maWxlLW1hbmFnZXItdG9vbGJhci1iZzogJGtlbmRvLXRvb2xiYXItYmcgIWRlZmF1bHQ7XG4vLy8gVGhlIHRleHQgY29sb3Igb2YgdGhlIEZpbGVNYW5hZ2VyIFRvb2xiYXIuXG4vLy8gQGdyb3VwIGZpbGUtbWFuYWdlclxuJGtlbmRvLWZpbGUtbWFuYWdlci10b29sYmFyLXRleHQ6ICRrZW5kby10b29sYmFyLXRleHQgIWRlZmF1bHQ7XG4vLy8gVGhlIGJvcmRlciBjb2xvciBvZiB0aGUgRmlsZU1hbmFnZXIgVG9vbGJhci5cbi8vLyBAZ3JvdXAgZmlsZS1tYW5hZ2VyXG4ka2VuZG8tZmlsZS1tYW5hZ2VyLXRvb2xiYXItYm9yZGVyOiAka2VuZG8tdG9vbGJhci1ib3JkZXIgIWRlZmF1bHQ7XG5cbi8vLyBUaGUgaG9yaXpvbnRhbCBwYWRkaW5nIG9mIHRoZSBGaWxlTWFuYWdlciBOYXZpZ2F0aW9uLlxuLy8vIEBncm91cCBmaWxlLW1hbmFnZXJcbiRrZW5kby1maWxlLW1hbmFnZXItbmF2aWdhdGlvbi1wYWRkaW5nLXg6ICRrZW5kby1maWxlLW1hbmFnZXItc3BhY2VyICFkZWZhdWx0O1xuLy8vIFRoZSB2ZXJ0aWNhbCBwYWRkaW5nIG9mIHRoZSBGaWxlTWFuYWdlciBOYXZpZ2F0aW9uLlxuLy8vIEBncm91cCBmaWxlLW1hbmFnZXJcbiRrZW5kby1maWxlLW1hbmFnZXItbmF2aWdhdGlvbi1wYWRkaW5nLXk6ICRrZW5kby1maWxlLW1hbmFnZXItc3BhY2VyICFkZWZhdWx0O1xuLy8vIFRoZSB3aWR0aCBvZiB0aGUgRmlsZU1hbmFnZXIgTmF2aWdhdGlvbi5cbi8vLyBAZ3JvdXAgZmlsZS1tYW5hZ2VyXG4ka2VuZG8tZmlsZS1tYW5hZ2VyLW5hdmlnYXRpb24td2lkdGg6IDIwJSAhZGVmYXVsdDtcbi8vLyBUaGUgYm9yZGVyIHdpZHRoIG9mIHRoZSBGaWxlTWFuYWdlciBOYXZpZ2F0aW9uLlxuLy8vIEBncm91cCBmaWxlLW1hbmFnZXJcbiRrZW5kby1maWxlLW1hbmFnZXItbmF2aWdhdGlvbi1ib3JkZXItd2lkdGg6ICRrZW5kby1maWxlLW1hbmFnZXItYm9yZGVyLXdpZHRoICFkZWZhdWx0O1xuLy8vIFRoZSBiYWNrZ3JvdW5kIGNvbG9yIG9mIHRoZSBGaWxlTWFuYWdlciBOYXZpZ2F0aW9uLlxuLy8vIEBncm91cCBmaWxlLW1hbmFnZXJcbiRrZW5kby1maWxlLW1hbmFnZXItbmF2aWdhdGlvbi1iZzogdHJhbnNwYXJlbnQgIWRlZmF1bHQ7XG4vLy8gVGhlIHRleHQgY29sb3Igb2YgdGhlIEZpbGVNYW5hZ2VyIE5hdmlnYXRpb24uXG4vLy8gQGdyb3VwIGZpbGUtbWFuYWdlclxuJGtlbmRvLWZpbGUtbWFuYWdlci1uYXZpZ2F0aW9uLXRleHQ6IGluaGVyaXQgIWRlZmF1bHQ7XG4vLy8gVGhlIGJvcmRlciBjb2xvciBvZiB0aGUgRmlsZU1hbmFnZXIgTmF2aWdhdGlvbi5cbi8vLyBAZ3JvdXAgZmlsZS1tYW5hZ2VyXG4ka2VuZG8tZmlsZS1tYW5hZ2VyLW5hdmlnYXRpb24tYm9yZGVyOiBpbmhlcml0ICFkZWZhdWx0O1xuXG4vLy8gVGhlIGhvcml6b250YWwgcGFkZGluZyBvZiB0aGUgRmlsZU1hbmFnZXIgQnJlYWRjcnVtYi5cbi8vLyBAZ3JvdXAgZmlsZS1tYW5hZ2VyXG4ka2VuZG8tZmlsZS1tYW5hZ2VyLWJyZWFkY3J1bWItcGFkZGluZy14OiBrLXNwYWNpbmcoMikgIWRlZmF1bHQ7XG4vLy8gVGhlIHZlcnRpY2FsIHBhZGRpbmcgb2YgdGhlIEZpbGVNYW5hZ2VyIEJyZWFkY3J1bWIuXG4vLy8gQGdyb3VwIGZpbGUtbWFuYWdlclxuJGtlbmRvLWZpbGUtbWFuYWdlci1icmVhZGNydW1iLXBhZGRpbmcteTogay1zcGFjaW5nKDIpICFkZWZhdWx0O1xuLy8vIFRoZSBib3JkZXIgd2lkdGggb2YgdGhlIEZpbGVNYW5hZ2VyIEJyZWFkY3J1bWIuXG4vLy8gQGdyb3VwIGZpbGUtbWFuYWdlclxuJGtlbmRvLWZpbGUtbWFuYWdlci1icmVhZGNydW1iLWJvcmRlci13aWR0aDogJGtlbmRvLWZpbGUtbWFuYWdlci1ib3JkZXItd2lkdGggIWRlZmF1bHQ7XG4vLy8gVGhlIGJhY2tncm91bmQgY29sb3Igb2YgdGhlIEZpbGVNYW5hZ2VyIEJyZWFkY3J1bWIuXG4vLy8gQGdyb3VwIGZpbGUtbWFuYWdlclxuJGtlbmRvLWZpbGUtbWFuYWdlci1icmVhZGNydW1iLWJnOiAka2VuZG8tdG9vbGJhci1iZyAhZGVmYXVsdDtcbi8vLyBUaGUgdGV4dCBjb2xvciBvZiB0aGUgRmlsZU1hbmFnZXIgQnJlYWRjcnVtYi5cbi8vLyBAZ3JvdXAgZmlsZS1tYW5hZ2VyXG4ka2VuZG8tZmlsZS1tYW5hZ2VyLWJyZWFkY3J1bWItdGV4dDogaW5oZXJpdCAhZGVmYXVsdDtcbi8vLyBUaGUgYm9yZGVyIGNvbG9yIG9mIHRoZSBGaWxlTWFuYWdlciBCcmVhZGNydW1iLlxuLy8vIEBncm91cCBmaWxlLW1hbmFnZXJcbiRrZW5kby1maWxlLW1hbmFnZXItYnJlYWRjcnVtYi1ib3JkZXI6IGluaGVyaXQgIWRlZmF1bHQ7XG5cbi8vLyBUaGUgYmFja2dyb3VuZCBjb2xvciBvZiB0aGUgRmlsZU1hbmFnZXIgTGlzdFZpZXcuXG4vLy8gQGdyb3VwIGZpbGUtbWFuYWdlclxuJGtlbmRvLWZpbGUtbWFuYWdlci1saXN0dmlldy1iZzogdHJhbnNwYXJlbnQgIWRlZmF1bHQ7XG4vLy8gVGhlIHRleHQgY29sb3Igb2YgdGhlIEZpbGVNYW5hZ2VyIExpc3RWaWV3LlxuLy8vIEBncm91cCBmaWxlLW1hbmFnZXJcbiRrZW5kby1maWxlLW1hbmFnZXItbGlzdHZpZXctdGV4dDogaW5oZXJpdCAhZGVmYXVsdDtcbi8vLyBUaGUgYm9yZGVyIGNvbG9yIG9mIHRoZSBGaWxlTWFuYWdlciBMaXN0Vmlldy5cbi8vLyBAZ3JvdXAgZmlsZS1tYW5hZ2VyXG4ka2VuZG8tZmlsZS1tYW5hZ2VyLWxpc3R2aWV3LWJvcmRlcjogaW5oZXJpdCAhZGVmYXVsdDtcblxuLy8vIFRoZSBob3Jpem9udGFsIHBhZGRpbmcgb2YgdGhlIEZpbGVNYW5hZ2VyIExpc3RWaWV3IGl0ZW0uXG4vLy8gQGdyb3VwIGZpbGUtbWFuYWdlclxuJGtlbmRvLWZpbGUtbWFuYWdlci1saXN0dmlldy1pdGVtLXBhZGRpbmcteDogay1zcGFjaW5nKDQpICFkZWZhdWx0O1xuLy8vIFRoZSB2ZXJ0aWNhbCBwYWRkaW5nIG9mIHRoZSBGaWxlTWFuYWdlciBMaXN0VmlldyBpdGVtLlxuLy8vIEBncm91cCBmaWxlLW1hbmFnZXJcbiRrZW5kby1maWxlLW1hbmFnZXItbGlzdHZpZXctaXRlbS1wYWRkaW5nLXk6IGstc3BhY2luZyg0KSAhZGVmYXVsdDtcbi8vLyBUaGUgd2lkdGggb2YgdGhlIEZpbGVNYW5hZ2VyIExpc3RWaWV3IGl0ZW0uXG4vLy8gQGdyb3VwIGZpbGUtbWFuYWdlclxuJGtlbmRvLWZpbGUtbWFuYWdlci1saXN0dmlldy1pdGVtLXdpZHRoOiAxMjBweCAhZGVmYXVsdDtcbi8vLyBUaGUgaGVpZ2h0IG9mIHRoZSBGaWxlTWFuYWdlciBMaXN0VmlldyBpdGVtLlxuLy8vIEBncm91cCBmaWxlLW1hbmFnZXJcbiRrZW5kby1maWxlLW1hbmFnZXItbGlzdHZpZXctaXRlbS1oZWlnaHQ6IDEyMHB4ICFkZWZhdWx0O1xuXG4vLy8gVGhlIGJhY2tncm91bmQgY29sb3Igb2YgdGhlIEZpbGVNYW5hZ2VyIExpc3RWaWV3IGl0ZW0gaWNvbi5cbi8vLyBAZ3JvdXAgZmlsZS1tYW5hZ2VyXG4ka2VuZG8tZmlsZS1tYW5hZ2VyLWxpc3R2aWV3LWl0ZW0taWNvbi1iZzogdHJhbnNwYXJlbnQgIWRlZmF1bHQ7XG4vLy8gVGhlIHRleHQgY29sb3Igb2YgdGhlIEZpbGVNYW5hZ2VyIExpc3RWaWV3IGl0ZW0gaWNvbi5cbi8vLyBAZ3JvdXAgZmlsZS1tYW5hZ2VyXG4ka2VuZG8tZmlsZS1tYW5hZ2VyLWxpc3R2aWV3LWl0ZW0taWNvbi10ZXh0OiB2YXIoIC0ta2VuZG8tc3VidGxlLXRleHQsIGluaGVyaXQgKSAhZGVmYXVsdDtcbi8vLyBUaGUgYm9yZGVyIGNvbG9yIG9mIHRoZSBGaWxlTWFuYWdlciBMaXN0VmlldyBpdGVtIGljb24uXG4vLy8gQGdyb3VwIGZpbGUtbWFuYWdlclxuJGtlbmRvLWZpbGUtbWFuYWdlci1saXN0dmlldy1pdGVtLWljb24tYm9yZGVyOiBpbmhlcml0ICFkZWZhdWx0O1xuLy8vIFRoZSBiYWNrZ3JvdW5kIGNvbG9yIG9mIHRoZSBGaWxlTWFuYWdlciBmb2N1c2VkIExpc3RWaWV3IGl0ZW0gaWNvbi5cbi8vLyBAZ3JvdXAgZmlsZS1tYW5hZ2VyXG4ka2VuZG8tZmlsZS1tYW5hZ2VyLWxpc3R2aWV3LWl0ZW0taWNvbi1mb2N1cy1iZzogdHJhbnNwYXJlbnQgIWRlZmF1bHQ7XG4vLy8gVGhlIHRleHQgY29sb3Igb2YgdGhlIEZpbGVNYW5hZ2VyIGZvY3VzZWQgTGlzdFZpZXcgaXRlbSBpY29uLlxuLy8vIEBncm91cCBmaWxlLW1hbmFnZXJcbiRrZW5kby1maWxlLW1hbmFnZXItbGlzdHZpZXctaXRlbS1pY29uLWZvY3VzLXRleHQ6IGluaGVyaXQgIWRlZmF1bHQ7XG4vLy8gVGhlIGJvcmRlciBjb2xvciBvZiB0aGUgRmlsZU1hbmFnZXIgZm9jdXNlZCBMaXN0VmlldyBpdGVtIGljb24uXG4vLy8gQGdyb3VwIGZpbGUtbWFuYWdlclxuJGtlbmRvLWZpbGUtbWFuYWdlci1saXN0dmlldy1pdGVtLWljb24tZm9jdXMtYm9yZGVyOiBpbmhlcml0ICFkZWZhdWx0O1xuLy8vIEJhY2tncm91bmQgY29sb3Igb2YgdGhlIEZpbGVNYW5hZ2VyIHNlbGVjdGVkIExpc3RWaWV3IGl0ZW0gaWNvbi5cbi8vLyBAZ3JvdXAgZmlsZS1tYW5hZ2VyXG4ka2VuZG8tZmlsZS1tYW5hZ2VyLWxpc3R2aWV3LWl0ZW0taWNvbi1zZWxlY3RlZC1iZzogdHJhbnNwYXJlbnQgIWRlZmF1bHQ7XG4vLy8gVGV4dCBjb2xvciBvZiB0aGUgRmlsZU1hbmFnZXIgc2VsZWN0ZWQgTGlzdFZpZXcgaXRlbSBpY29uLlxuLy8vIEBncm91cCBmaWxlLW1hbmFnZXJcbiRrZW5kby1maWxlLW1hbmFnZXItbGlzdHZpZXctaXRlbS1pY29uLXNlbGVjdGVkLXRleHQ6IGluaGVyaXQgIWRlZmF1bHQ7XG4vLy8gQm9yZGVyIGNvbG9yIG9mIHRoZSBGaWxlTWFuYWdlciBzZWxlY3RlZCBMaXN0VmlldyBpdGVtIGljb24uXG4vLy8gQGdyb3VwIGZpbGUtbWFuYWdlclxuJGtlbmRvLWZpbGUtbWFuYWdlci1saXN0dmlldy1pdGVtLWljb24tc2VsZWN0ZWQtYm9yZGVyOiBpbmhlcml0ICFkZWZhdWx0O1xuXG4vLy8gVGhlIGJhY2tncm91bmQgY29sb3Igb2YgdGhlIEZpbGVNYW5hZ2VyIEdyaWQuXG4vLy8gQGdyb3VwIGZpbGUtbWFuYWdlclxuJGtlbmRvLWZpbGUtbWFuYWdlci1ncmlkLWJnOiB0cmFuc3BhcmVudCAhZGVmYXVsdDtcbi8vLyBUaGUgdGV4dCBjb2xvciBvZiB0aGUgRmlsZU1hbmFnZXIgR3JpZC5cbi8vLyBAZ3JvdXAgZmlsZS1tYW5hZ2VyXG4ka2VuZG8tZmlsZS1tYW5hZ2VyLWdyaWQtdGV4dDogaW5oZXJpdCAhZGVmYXVsdDtcbi8vLyBUaGUgYm9yZGVyIGNvbG9yIG9mIHRoZSBGaWxlTWFuYWdlciBHcmlkLlxuLy8vIEBncm91cCBmaWxlLW1hbmFnZXJcbiRrZW5kby1maWxlLW1hbmFnZXItZ3JpZC1ib3JkZXI6IGluaGVyaXQgIWRlZmF1bHQ7XG5cbi8vLyBUaGUgaG9yaXpvbnRhbCBwYWRkaW5nIG9mIHRoZSBGaWxlTWFuYWdlciBwcmV2aWV3LlxuLy8vIEBncm91cCBmaWxlLW1hbmFnZXJcbiRrZW5kby1maWxlLW1hbmFnZXItcHJldmlldy1wYWRkaW5nLXg6ICRrZW5kby1maWxlLW1hbmFnZXItc3BhY2VyICFkZWZhdWx0O1xuLy8vIFRoZSB2ZXJ0aWNhbCBwYWRkaW5nIG9mIHRoZSBGaWxlTWFuYWdlciBwcmV2aWV3LlxuLy8vIEBncm91cCBmaWxlLW1hbmFnZXJcbiRrZW5kby1maWxlLW1hbmFnZXItcHJldmlldy1wYWRkaW5nLXk6ICRrZW5kby1maWxlLW1hbmFnZXItc3BhY2VyICFkZWZhdWx0O1xuLy8vIFRoZSB3aWR0aCBvZiB0aGUgRmlsZU1hbmFnZXIgcHJldmlldy5cbi8vLyBAZ3JvdXAgZmlsZS1tYW5hZ2VyXG4ka2VuZG8tZmlsZS1tYW5hZ2VyLXByZXZpZXctd2lkdGg6IDIwJSAhZGVmYXVsdDtcbi8vLyBUaGUgYm9yZGVyIHdpZHRoIG9mIHRoZSBGaWxlTWFuYWdlciBwcmV2aWV3LlxuLy8vIEBncm91cCBmaWxlLW1hbmFnZXJcbiRrZW5kby1maWxlLW1hbmFnZXItcHJldmlldy1ib3JkZXItd2lkdGg6ICRrZW5kby1maWxlLW1hbmFnZXItYm9yZGVyLXdpZHRoICFkZWZhdWx0O1xuLy8vIFRoZSBzcGFjaW5nIG9mIHRoZSBGaWxlTWFuYWdlciBwcmV2aWV3LlxuLy8vIEBncm91cCBmaWxlLW1hbmFnZXJcbiRrZW5kby1maWxlLW1hbmFnZXItcHJldmlldy1zcGFjaW5nOiAka2VuZG8tZmlsZS1tYW5hZ2VyLXNwYWNlciAhZGVmYXVsdDtcbi8vLyBUaGUgZ2FwIGJldHdlZW4gdGhlIGNvbHVtbnMgaW4gdGhlIEZpbGVNYW5hZ2VyIHByZXZpZXcuXG4vLy8gQGdyb3VwIGZpbGUtbWFuYWdlclxuJGtlbmRvLWZpbGUtbWFuYWdlci1wcmV2aWV3LWNvbHVtbi1nYXA6IGstc3BhY2luZygxKSAhZGVmYXVsdDtcbi8vLyBUaGUgYmFja2dyb3VuZCBjb2xvciBvZiB0aGUgRmlsZU1hbmFnZXIgcHJldmlldy5cbi8vLyBAZ3JvdXAgZmlsZS1tYW5hZ2VyXG4ka2VuZG8tZmlsZS1tYW5hZ2VyLXByZXZpZXctYmc6IHRyYW5zcGFyZW50ICFkZWZhdWx0O1xuLy8vIFRoZSB0ZXh0IGNvbG9yIG9mIHRoZSBGaWxlTWFuYWdlciBwcmV2aWV3LlxuLy8vIEBncm91cCBmaWxlLW1hbmFnZXJcbiRrZW5kby1maWxlLW1hbmFnZXItcHJldmlldy10ZXh0OiBpbmhlcml0ICFkZWZhdWx0O1xuLy8vIFRoZSBib3JkZXIgY29sb3Igb2YgdGhlIEZpbGVNYW5hZ2VyIHByZXZpZXcuXG4vLy8gQGdyb3VwIGZpbGUtbWFuYWdlclxuJGtlbmRvLWZpbGUtbWFuYWdlci1wcmV2aWV3LWJvcmRlcjogaW5oZXJpdCAhZGVmYXVsdDtcblxuLy8vIFRoZSBiYWNrZ3JvdW5kIGNvbG9yIG9mIHRoZSBGaWxlTWFuYWdlciBwcmV2aWV3IGljb24uXG4vLy8gQGdyb3VwIGZpbGUtbWFuYWdlclxuJGtlbmRvLWZpbGUtbWFuYWdlci1wcmV2aWV3LWljb24tYmc6IHRyYW5zcGFyZW50ICFkZWZhdWx0O1xuLy8vIFRoZSB0ZXh0IGNvbG9yIG9mIHRoZSBGaWxlTWFuYWdlciBwcmV2aWV3IGljb24uXG4vLy8gQGdyb3VwIGZpbGUtbWFuYWdlclxuJGtlbmRvLWZpbGUtbWFuYWdlci1wcmV2aWV3LWljb24tdGV4dDogdmFyKCAtLWtlbmRvLXN1YnRsZS10ZXh0LCBpbmhlcml0ICkgIWRlZmF1bHQ7XG4vLy8gVGhlIGJvcmRlciBjb2xvciBvZiB0aGUgRmlsZU1hbmFnZXIgcHJldmlldyBpY29uLlxuLy8vIEBncm91cCBmaWxlLW1hbmFnZXJcbiRrZW5kby1maWxlLW1hbmFnZXItcHJldmlldy1pY29uLWJvcmRlcjogaW5oZXJpdCAhZGVmYXVsdDtcbiIsIkB1c2UgXCIuLi9jb3JlL19pbmRleC5zY3NzXCIgYXMgKjtcbkB1c2UgXCIuL192YXJpYWJsZXMuc2Nzc1wiIGFzICo7XG5cbkBtaXhpbiBrZW5kby1maWxlLW1hbmFnZXItLXRoZW1lKCkge1xuXG4gICAgLy8gRmlsZW1hbmFnZXJcbiAgICAuay1maWxlbWFuYWdlciB7XG4gICAgICAgIEBpbmNsdWRlIGZpbGwoXG4gICAgICAgICAgICB2YXIoIC0ta2VuZG8tZmlsZS1tYW5hZ2VyLXRleHQsICN7JGtlbmRvLWZpbGUtbWFuYWdlci10ZXh0fSApLFxuICAgICAgICAgICAgdmFyKCAtLWtlbmRvLWZpbGUtbWFuYWdlci1iZywgI3ska2VuZG8tZmlsZS1tYW5hZ2VyLWJnfSApLFxuICAgICAgICAgICAgdmFyKCAtLWtlbmRvLWZpbGUtbWFuYWdlci1ib3JkZXIsICN7JGtlbmRvLWZpbGUtbWFuYWdlci1ib3JkZXJ9IClcbiAgICAgICAgKTtcbiAgICB9XG5cblxuICAgIC8vIEZpbGVtYW5hZ2VyIHRvb2xiYXJcbiAgICAuay1maWxlbWFuYWdlci10b29sYmFyIHtcbiAgICAgICAgQGluY2x1ZGUgZmlsbChcbiAgICAgICAgICAgIHZhciggLS1rZW5kby1maWxlLW1hbmFnZXItdG9vbGJhci10ZXh0LCAjeyRrZW5kby1maWxlLW1hbmFnZXItdG9vbGJhci10ZXh0fSApLFxuICAgICAgICAgICAgdmFyKCAtLWtlbmRvLWZpbGUtbWFuYWdlci10b29sYmFyLWJnLCAjeyRrZW5kby1maWxlLW1hbmFnZXItdG9vbGJhci1iZ30gKSxcbiAgICAgICAgICAgIHZhciggLS1rZW5kby1maWxlLW1hbmFnZXItdG9vbGJhci1ib3JkZXIsICN7JGtlbmRvLWZpbGUtbWFuYWdlci10b29sYmFyLWJvcmRlcn0gKVxuICAgICAgICApO1xuICAgIH1cblxuXG4gICAgLy8gRmlsZW1hbmFnZXIgbmF2aWdhdGlvblxuICAgIC5rLWZpbGVtYW5hZ2VyLW5hdmlnYXRpb24ge1xuICAgICAgICBAaW5jbHVkZSBmaWxsKFxuICAgICAgICAgICAgdmFyKCAtLWtlbmRvLWZpbGUtbWFuYWdlci1uYXZpZ2F0aW9uLXRleHQsICN7JGtlbmRvLWZpbGUtbWFuYWdlci1uYXZpZ2F0aW9uLXRleHR9ICksXG4gICAgICAgICAgICB2YXIoIC0ta2VuZG8tZmlsZS1tYW5hZ2VyLW5hdmlnYXRpb24tYmcsICN7JGtlbmRvLWZpbGUtbWFuYWdlci1uYXZpZ2F0aW9uLWJnfSApLFxuICAgICAgICAgICAgdmFyKCAtLWtlbmRvLWZpbGUtbWFuYWdlci1uYXZpZ2F0aW9uLWJvcmRlciwgI3ska2VuZG8tZmlsZS1tYW5hZ2VyLW5hdmlnYXRpb24tYm9yZGVyfSApXG4gICAgICAgICk7XG4gICAgfVxuXG5cbiAgICAvLyBGaWxlbWFuYWdlciBicmVhZGNydW1iXG4gICAgLmstZmlsZW1hbmFnZXItYnJlYWRjcnVtYiB7XG4gICAgICAgIEBpbmNsdWRlIGZpbGwoXG4gICAgICAgICAgICB2YXIoIC0ta2VuZG8tZmlsZS1tYW5hZ2VyLWJyZWFkY3J1bWItdGV4dCwgI3ska2VuZG8tZmlsZS1tYW5hZ2VyLWJyZWFkY3J1bWItdGV4dH0gKSxcbiAgICAgICAgICAgIHZhciggLS1rZW5kby1maWxlLW1hbmFnZXItYnJlYWRjcnVtYi1iZywgI3ska2VuZG8tZmlsZS1tYW5hZ2VyLWJyZWFkY3J1bWItYmd9ICksXG4gICAgICAgICAgICB2YXIoIC0ta2VuZG8tZmlsZS1tYW5hZ2VyLWJyZWFkY3J1bWItYm9yZGVyLCAjeyRrZW5kby1maWxlLW1hbmFnZXItYnJlYWRjcnVtYi1ib3JkZXJ9IClcbiAgICAgICAgKTtcbiAgICB9XG5cblxuICAgIC8vIEZpbGVtYW5hZ2VyIGxpc3R2aWV3XG4gICAgLmstZmlsZW1hbmFnZXItbGlzdHZpZXcge1xuICAgICAgICBAaW5jbHVkZSBmaWxsKFxuICAgICAgICAgICAgdmFyKCAtLWtlbmRvLWZpbGUtbWFuYWdlci1saXN0dmlldy10ZXh0LCAjeyRrZW5kby1maWxlLW1hbmFnZXItbGlzdHZpZXctdGV4dH0gKSxcbiAgICAgICAgICAgIHZhciggLS1rZW5kby1maWxlLW1hbmFnZXItbGlzdHZpZXctYmcsICN7JGtlbmRvLWZpbGUtbWFuYWdlci1saXN0dmlldy1iZ30gKSxcbiAgICAgICAgICAgIHZhciggLS1rZW5kby1maWxlLW1hbmFnZXItbGlzdHZpZXctYm9yZGVyLCAjeyRrZW5kby1maWxlLW1hbmFnZXItbGlzdHZpZXctYm9yZGVyfSApXG4gICAgICAgICk7XG5cbiAgICAgICAgLmstbGlzdHZpZXctaXRlbSB7XG4gICAgICAgICAgICAuay1maWxlLWljb24ge1xuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGZpbGwoXG4gICAgICAgICAgICAgICAgICAgIHZhciggLS1rZW5kby1maWxlLW1hbmFnZXItbGlzdHZpZXctaXRlbS1pY29uLXRleHQsICN7JGtlbmRvLWZpbGUtbWFuYWdlci1saXN0dmlldy1pdGVtLWljb24tdGV4dH0gKSxcbiAgICAgICAgICAgICAgICAgICAgdmFyKCAtLWtlbmRvLWZpbGUtbWFuYWdlci1saXN0dmlldy1pdGVtLWljb24tYmcsICN7JGtlbmRvLWZpbGUtbWFuYWdlci1saXN0dmlldy1pdGVtLWljb24tYmd9ICksXG4gICAgICAgICAgICAgICAgICAgIHZhciggLS1rZW5kby1maWxlLW1hbmFnZXItbGlzdHZpZXctaXRlbS1pY29uLWJvcmRlciwgI3ska2VuZG8tZmlsZS1tYW5hZ2VyLWxpc3R2aWV3LWl0ZW0taWNvbi1ib3JkZXJ9IClcbiAgICAgICAgICAgICAgICApO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAmLmstZm9jdXMgLmstZmlsZS1pY29uIHtcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBmaWxsKFxuICAgICAgICAgICAgICAgICAgICB2YXIoIC0ta2VuZG8tZmlsZS1tYW5hZ2VyLWxpc3R2aWV3LWl0ZW0taWNvbi1mb2N1cy10ZXh0LCAjeyRrZW5kby1maWxlLW1hbmFnZXItbGlzdHZpZXctaXRlbS1pY29uLWZvY3VzLXRleHR9ICksXG4gICAgICAgICAgICAgICAgICAgIHZhciggLS1rZW5kby1maWxlLW1hbmFnZXItbGlzdHZpZXctaXRlbS1pY29uLWZvY3VzLWJnLCAjeyRrZW5kby1maWxlLW1hbmFnZXItbGlzdHZpZXctaXRlbS1pY29uLWZvY3VzLWJnfSApLFxuICAgICAgICAgICAgICAgICAgICB2YXIoIC0ta2VuZG8tZmlsZS1tYW5hZ2VyLWxpc3R2aWV3LWl0ZW0taWNvbi1mb2N1cy1ib3JkZXIsICN7JGtlbmRvLWZpbGUtbWFuYWdlci1saXN0dmlldy1pdGVtLWljb24tZm9jdXMtYm9yZGVyfSApXG4gICAgICAgICAgICAgICAgKTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgJi5rLXNlbGVjdGVkIC5rLWZpbGUtaWNvbiB7XG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgZmlsbChcbiAgICAgICAgICAgICAgICAgICAgdmFyKCAtLWtlbmRvLWZpbGUtbWFuYWdlci1saXN0dmlldy1pdGVtLWljb24tc2VsZWN0ZWQtdGV4dCwgI3ska2VuZG8tZmlsZS1tYW5hZ2VyLWxpc3R2aWV3LWl0ZW0taWNvbi1zZWxlY3RlZC10ZXh0fSApLFxuICAgICAgICAgICAgICAgICAgICB2YXIoIC0ta2VuZG8tZmlsZS1tYW5hZ2VyLWxpc3R2aWV3LWl0ZW0taWNvbi1zZWxlY3RlZC1iZywgI3ska2VuZG8tZmlsZS1tYW5hZ2VyLWxpc3R2aWV3LWl0ZW0taWNvbi1zZWxlY3RlZC1iZ30gKSxcbiAgICAgICAgICAgICAgICAgICAgdmFyKCAtLWtlbmRvLWZpbGUtbWFuYWdlci1saXN0dmlldy1pdGVtLWljb24tc2VsZWN0ZWQtYm9yZGVyLCAjeyRrZW5kby1maWxlLW1hbmFnZXItbGlzdHZpZXctaXRlbS1pY29uLXNlbGVjdGVkLWJvcmRlcn0gKVxuICAgICAgICAgICAgICAgICk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgIH1cblxuXG4gICAgLy8gRmlsZW1hbmFnZXIgZ3JpZFxuICAgIC5rLWZpbGVtYW5hZ2VyLWdyaWQge1xuICAgICAgICBAaW5jbHVkZSBmaWxsKFxuICAgICAgICAgICAgdmFyKCAtLWtlbmRvLWZpbGUtbWFuYWdlci1ncmlkLXRleHQsICN7JGtlbmRvLWZpbGUtbWFuYWdlci1ncmlkLXRleHR9ICksXG4gICAgICAgICAgICB2YXIoIC0ta2VuZG8tZmlsZS1tYW5hZ2VyLWdyaWQtYmcsICN7JGtlbmRvLWZpbGUtbWFuYWdlci1ncmlkLWJnfSApLFxuICAgICAgICAgICAgdmFyKCAtLWtlbmRvLWZpbGUtbWFuYWdlci1ncmlkLWJvcmRlciwgI3ska2VuZG8tZmlsZS1tYW5hZ2VyLWdyaWQtYm9yZGVyfSApXG4gICAgICAgICk7XG4gICAgfVxuXG5cbiAgICAvLyBGaWxlbWFuYWdlciBwcmV2aWV3XG4gICAgLmstZmlsZW1hbmFnZXItcHJldmlldyB7XG4gICAgICAgIEBpbmNsdWRlIGZpbGwoXG4gICAgICAgICAgICB2YXIoIC0ta2VuZG8tZmlsZS1tYW5hZ2VyLXByZXZpZXctdGV4dCwgI3ska2VuZG8tZmlsZS1tYW5hZ2VyLXByZXZpZXctdGV4dH0gKSxcbiAgICAgICAgICAgIHZhciggLS1rZW5kby1maWxlLW1hbmFnZXItcHJldmlldy1iZywgI3ska2VuZG8tZmlsZS1tYW5hZ2VyLXByZXZpZXctYmd9ICksXG4gICAgICAgICAgICB2YXIoIC0ta2VuZG8tZmlsZS1tYW5hZ2VyLXByZXZpZXctYm9yZGVyLCAjeyRrZW5kby1maWxlLW1hbmFnZXItcHJldmlldy1ib3JkZXJ9IClcbiAgICAgICAgKTtcblxuICAgICAgICAuay1maWxlLWljb24ge1xuICAgICAgICAgICAgQGluY2x1ZGUgZmlsbChcbiAgICAgICAgICAgICAgICB2YXIoIC0ta2VuZG8tZmlsZS1tYW5hZ2VyLXByZXZpZXctaWNvbi10ZXh0LCAjeyRrZW5kby1maWxlLW1hbmFnZXItcHJldmlldy1pY29uLXRleHR9ICksXG4gICAgICAgICAgICAgICAgdmFyKCAtLWtlbmRvLWZpbGUtbWFuYWdlci1wcmV2aWV3LWljb24tYmcsICN7JGtlbmRvLWZpbGUtbWFuYWdlci1wcmV2aWV3LWljb24tYmd9ICksXG4gICAgICAgICAgICAgICAgdmFyKCAtLWtlbmRvLWZpbGUtbWFuYWdlci1wcmV2aWV3LWljb24tYm9yZGVyLCAjeyRrZW5kby1maWxlLW1hbmFnZXItcHJldmlldy1pY29uLWJvcmRlcn0gKVxuICAgICAgICAgICAgKTtcbiAgICAgICAgfVxuICAgIH1cblxufVxuIiwiQHVzZSBcIi4uL2NvcmUvX2luZGV4LnNjc3NcIiBhcyAqO1xuQHVzZSBcIi4vX3ZhcmlhYmxlcy5zY3NzXCIgYXMgKjtcblxuQG1peGluIGtlbmRvLXRhc2stYm9hcmQtLWxheW91dCgpIHtcblxuICAgIC8vIFRhc2tCb2FyZFxuICAgIC5rLXRhc2tib2FyZCB7XG4gICAgICAgIGJvcmRlci13aWR0aDogdmFyKCAtLWtlbmRvLXRhc2tib2FyZC1ib3JkZXItd2lkdGgsICN7JGtlbmRvLXRhc2tib2FyZC1ib3JkZXItd2lkdGh9ICk7XG4gICAgICAgIGJvcmRlci1zdHlsZTogdmFyKCAtLWtlbmRvLXRhc2tib2FyZC1ib3JkZXItc3R5bGUsICN7JGtlbmRvLXRhc2tib2FyZC1ib3JkZXItc3R5bGV9ICk7XG4gICAgICAgIHBhZGRpbmctaW5saW5lOiB2YXIoIC0ta2VuZG8tdGFza2JvYXJkLXBhZGRpbmcteCwgI3ska2VuZG8tdGFza2JvYXJkLXBhZGRpbmcteH0gKTtcbiAgICAgICAgcGFkZGluZy1ibG9jazogdmFyKCAtLWtlbmRvLXRhc2tib2FyZC1wYWRkaW5nLXksICN7JGtlbmRvLXRhc2tib2FyZC1wYWRkaW5nLXl9ICk7XG4gICAgICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgICAgIGZvbnQtc2l6ZTogdmFyKCAtLWtlbmRvLXRhc2tib2FyZC1mb250LXNpemUsICN7JGtlbmRvLXRhc2tib2FyZC1mb250LXNpemV9ICk7XG4gICAgICAgIGZvbnQtZmFtaWx5OiB2YXIoIC0ta2VuZG8tdGFza2JvYXJkLWZvbnQtZmFtaWx5LCAjeyRrZW5kby10YXNrYm9hcmQtZm9udC1mYW1pbHl9ICk7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiB2YXIoIC0ta2VuZG8tdGFza2JvYXJkLWxpbmUtaGVpZ2h0LCAjeyRrZW5kby10YXNrYm9hcmQtbGluZS1oZWlnaHR9ICk7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAgICAgICAqLFxuICAgICAgICAqOjpiZWZvcmUsXG4gICAgICAgICo6OmFmdGVyIHtcbiAgICAgICAgICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBUb29sYmFyXG4gICAgLmstdGFza2JvYXJkLXRvb2xiYXIge1xuICAgICAgICBib3JkZXItaW5saW5lLXdpZHRoOiAwO1xuICAgICAgICBib3JkZXItYmxvY2stc3RhcnQtd2lkdGg6IDA7XG4gICAgfVxuXG4gICAgLy8gQ29udGVudFxuICAgIC5rLXRhc2tib2FyZC1jb250ZW50IHtcbiAgICAgICAgcGFkZGluZy1pbmxpbmU6IHZhciggLS1rZW5kby10YXNrYm9hcmQtY29udGVudC1wYWRkaW5nLXgsICN7JGtlbmRvLXRhc2tib2FyZC1jb250ZW50LXBhZGRpbmcteH0gKTtcbiAgICAgICAgcGFkZGluZy1ibG9jay1zdGFydDogMDtcbiAgICAgICAgcGFkZGluZy1ibG9jay1lbmQ6IHZhciggLS1rZW5kby10YXNrYm9hcmQtY29udGVudC1wYWRkaW5nLXksICN7JGtlbmRvLXRhc2tib2FyZC1jb250ZW50LXBhZGRpbmcteX0gKTtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICBmbGV4OiAxIDEgYXV0bztcbiAgICAgICAgb3ZlcmZsb3cteDogYXV0bztcbiAgICB9XG5cbiAgICAvLyBDb2x1bW5zXG4gICAgLmstdGFza2JvYXJkLWNvbHVtbnMtY29udGFpbmVyIHtcbiAgICAgICAgb3V0bGluZTogbm9uZTtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAgICAgZ2FwOiB2YXIoIC0ta2VuZG8tdGFza2JvYXJkLWNvbHVtbnMtY29udGFpbmVyLWdhcCwgI3ska2VuZG8tdGFza2JvYXJkLWNvbHVtbnMtY29udGFpbmVyLWdhcH0gKTtcbiAgICAgICAgb3ZlcmZsb3cteDogdmlzaWJsZTtcbiAgICB9XG5cbiAgICAuay10YXNrYm9hcmQtY29sdW1uIHtcbiAgICAgICAgd2lkdGg6IHZhciggLS1rZW5kby10YXNrYm9hcmQtY29sdW1uLXdpZHRoLCAjeyRrZW5kby10YXNrYm9hcmQtY29sdW1uLXdpZHRofSApO1xuICAgICAgICBib3JkZXItd2lkdGg6IHZhciggLS1rZW5kby10YXNrYm9hcmQtY29sdW1uLWJvcmRlci13aWR0aCwgI3ska2VuZG8tdGFza2JvYXJkLWNvbHVtbi1ib3JkZXItd2lkdGh9ICk7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IHZhciggLS1rZW5kby10YXNrYm9hcmQtY29sdW1uLWJvcmRlci1yYWRpdXMsICN7JGtlbmRvLXRhc2tib2FyZC1jb2x1bW4tYm9yZGVyLXJhZGl1c30gKTtcbiAgICAgICAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcbiAgICAgICAgb3V0bGluZTogbm9uZTtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgICAgZmxleC1zaHJpbms6IDA7XG4gICAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgfVxuXG4gICAgLmstdGFza2JvYXJkLWNvbHVtbi1oZWFkZXIge1xuICAgICAgICBwYWRkaW5nLWlubGluZTogdmFyKCAtLWtlbmRvLXRhc2tib2FyZC1jb2x1bW4taGVhZGVyLXBhZGRpbmcteCwgI3ska2VuZG8tdGFza2JvYXJkLWNvbHVtbi1oZWFkZXItcGFkZGluZy14fSApO1xuICAgICAgICBwYWRkaW5nLWJsb2NrOiB2YXIoIC0ta2VuZG8tdGFza2JvYXJkLWNvbHVtbi1oZWFkZXItcGFkZGluZy15LCAjeyRrZW5kby10YXNrYm9hcmQtY29sdW1uLWhlYWRlci1wYWRkaW5nLXl9ICk7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiB2YXIoIC0ta2VuZG8tdGFza2JvYXJkLWNvbHVtbi1oZWFkZXItZm9udC13ZWlnaHQsICN7JGtlbmRvLXRhc2tib2FyZC1jb2x1bW4taGVhZGVyLWZvbnQtd2VpZ2h0fSApO1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICBnYXA6IHZhciggLS1rZW5kby10YXNrYm9hcmQtY29sdW1uLWhlYWRlci1nYXAsICN7JGtlbmRvLXRhc2tib2FyZC1jb2x1bW4taGVhZGVyLWdhcH0gKTtcbiAgICB9XG5cbiAgICAuay10YXNrYm9hcmQtY29sdW1uLWhlYWRlci1hY3Rpb25zIHtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gICAgICAgIGZsZXgtc2hyaW5rOiAwO1xuICAgICAgICBhbGlnbi1zZWxmOiBmbGV4LXN0YXJ0O1xuICAgICAgICBnYXA6IHZhciggLS1rZW5kby10YXNrYm9hcmQtY29sdW1uLWhlYWRlci1hY3Rpb25zLWdhcCwgI3ska2VuZG8tdGFza2JvYXJkLWNvbHVtbi1oZWFkZXItYWN0aW9ucy1nYXB9ICk7XG4gICAgfVxuXG4gICAgLmstdGFza2JvYXJkLWNvbHVtbi1jYXJkcy1jb250YWluZXIge1xuICAgICAgICBwYWRkaW5nLWlubGluZTogdmFyKCAtLWtlbmRvLXRhc2tib2FyZC1jb2x1bW4tY29udGFpbmVyLXBhZGRpbmcteCwgI3ska2VuZG8tdGFza2JvYXJkLWNvbHVtbi1jb250YWluZXItcGFkZGluZy14fSApO1xuICAgICAgICBwYWRkaW5nLWJsb2NrOiB2YXIoIC0ta2VuZG8tdGFza2JvYXJkLWNvbHVtbi1jb250YWluZXItcGFkZGluZy15LCAjeyRrZW5kby10YXNrYm9hcmQtY29sdW1uLWNvbnRhaW5lci1wYWRkaW5nLXl9ICk7XG4gICAgICAgIG91dGxpbmU6IG5vbmU7XG4gICAgICAgIG92ZXJmbG93OiBhdXRvO1xuICAgICAgICBmbGV4OiAxIDEgYXV0bztcbiAgICB9XG5cbiAgICAuay10YXNrYm9hcmQtY29sdW1uLWNhcmRzIHtcbiAgICAgICAgbWFyZ2luLWJsb2NrLWVuZDogdmFyKCAtLWtlbmRvLXRhc2tib2FyZC1jb2x1bW4tY29udGFpbmVyLXNwYWNpbmcteSwgI3ska2VuZG8tdGFza2JvYXJkLWNvbHVtbi1jb250YWluZXItc3BhY2luZy15fSApO1xuICAgICAgICBwYWRkaW5nLWlubGluZTogdmFyKCAtLWtlbmRvLXRhc2tib2FyZC1jb2x1bW4tY2FyZHMtcGFkZGluZy14LCAjeyRrZW5kby10YXNrYm9hcmQtY29sdW1uLWNhcmRzLXBhZGRpbmcteH0gKTtcbiAgICAgICAgcGFkZGluZy1ibG9jazogdmFyKCAtLWtlbmRvLXRhc2tib2FyZC1jb2x1bW4tY2FyZHMtcGFkZGluZy15LCAjeyRrZW5kby10YXNrYm9hcmQtY29sdW1uLWNhcmRzLXBhZGRpbmcteX0pO1xuICAgICAgICBtaW4taGVpZ2h0OiAxMDAlO1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgICBnYXA6IHZhciggLS1rZW5kby10YXNrYm9hcmQtY29sdW1uLWNhcmRzLWdhcCwgI3ska2VuZG8tdGFza2JvYXJkLWNvbHVtbi1jYXJkcy1nYXB9ICk7XG4gICAgfVxuXG4gICAgLmstdGFza2JvYXJkLWNvbHVtbi1uZXcsXG4gICAgLmstdGFza2JvYXJkLWNvbHVtbi1lZGl0IHtcbiAgICAgICAgLmstdGFza2JvYXJkLWNvbHVtbi1oZWFkZXIge1xuICAgICAgICAgICAgZm9udC13ZWlnaHQ6IGluaGVyaXQ7XG4gICAgICAgIH1cblxuICAgICAgICAuay10YXNrYm9hcmQtY29sdW1uLWhlYWRlci10ZXh0IHtcbiAgICAgICAgICAgIGZsZXg6IDEgMSAxMDAlO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLy8gUHJldmlldy9FZGl0IFBhbmVcbiAgICAuay10YXNrYm9hcmQtcGFuZSB7XG4gICAgICAgIHBhZGRpbmctaW5saW5lOiB2YXIoIC0ta2VuZG8tdGFza2JvYXJkLXBhbmUtcGFkZGluZy14LCAjeyRrZW5kby10YXNrYm9hcmQtcGFuZS1wYWRkaW5nLXl9ICk7XG4gICAgICAgIHBhZGRpbmctYmxvY2s6IHZhciggLS1rZW5kby10YXNrYm9hcmQtcGFuZS1wYWRkaW5nLXksICN7JGtlbmRvLXRhc2tib2FyZC1wYW5lLXBhZGRpbmcteX0gKTtcbiAgICAgICAgd2lkdGg6IHZhciggLS1rZW5kby10YXNrYm9hcmQtcGFuZS13aWR0aCwgI3ska2VuZG8tdGFza2JvYXJkLXBhbmUtd2lkdGh9ICk7XG4gICAgICAgIGJvcmRlci1ibG9jay13aWR0aDogMDtcbiAgICAgICAgYm9yZGVyLWlubGluZS1zdGFydC13aWR0aDogdmFyKCAtLWtlbmRvLXRhc2tib2FyZC1wYW5lLWJvcmRlci13aWR0aCwgI3ska2VuZG8tdGFza2JvYXJkLXBhbmUtYm9yZGVyLXdpZHRofSApO1xuICAgICAgICBib3JkZXItaW5saW5lLWVuZC13aWR0aDogMDtcbiAgICAgICAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICBpbnNldC1ibG9jay1zdGFydDogMDtcbiAgICAgICAgaW5zZXQtYmxvY2stZW5kOiAwO1xuICAgICAgICBpbnNldC1pbmxpbmUtZW5kOiAwO1xuICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgICAgICB6LWluZGV4OiAyO1xuICAgIH1cblxuICAgIC5rLXRhc2tib2FyZC1wYW5lLWhlYWRlciB7XG4gICAgICAgIHBhZGRpbmctaW5saW5lOiB2YXIoIC0ta2VuZG8tdGFza2JvYXJkLXBhbmUtaGVhZGVyLXBhZGRpbmcteCwgI3ska2VuZG8tdGFza2JvYXJkLXBhbmUtaGVhZGVyLXBhZGRpbmcteH0gKTtcbiAgICAgICAgcGFkZGluZy1ibG9jazogdmFyKCAtLWtlbmRvLXRhc2tib2FyZC1wYW5lLWhlYWRlci1wYWRkaW5nLXksICN7JGtlbmRvLXRhc2tib2FyZC1wYW5lLWhlYWRlci1wYWRkaW5nLXl9ICk7XG4gICAgICAgIGZvbnQtc2l6ZTogdmFyKCAtLWtlbmRvLXRhc2tib2FyZC1wYW5lLWhlYWRlci1mb250LXNpemUsICN7JGtlbmRvLXRhc2tib2FyZC1wYW5lLWhlYWRlci1mb250LXNpemV9ICk7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiB2YXIoIC0ta2VuZG8tdGFza2JvYXJkLXBhbmUtaGVhZGVyLWZvbnQtd2VpZ2h0LCAjeyRrZW5kby10YXNrYm9hcmQtcGFuZS1oZWFkZXItZm9udC13ZWlnaHR9ICk7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgfVxuXG4gICAgLmstdGFza2JvYXJkLXBhbmUtaGVhZGVyLXRleHQge1xuICAgICAgICB3b3JkLWJyZWFrOiBub3JtYWw7XG4gICAgICAgIG92ZXJmbG93LXdyYXA6IGFueXdoZXJlO1xuICAgIH1cblxuICAgIC5rLXRhc2tib2FyZC1wYW5lLWhlYWRlci1hY3Rpb25zIHtcbiAgICAgICAgZmxleC1zaHJpbms6IDA7XG4gICAgICAgIGFsaWduLXNlbGY6IGZsZXgtc3RhcnQ7XG4gICAgfVxuXG4gICAgLmstdGFza2JvYXJkLXBhbmUtY29udGVudCB7XG4gICAgICAgIHBhZGRpbmctaW5saW5lOiB2YXIoIC0ta2VuZG8tdGFza2JvYXJkLXBhbmUtY29udGVudC1wYWRkaW5nLXgsICN7JGtlbmRvLXRhc2tib2FyZC1wYW5lLWNvbnRlbnQtcGFkZGluZy14fSApO1xuICAgICAgICBwYWRkaW5nLWJsb2NrOiB2YXIoIC0ta2VuZG8tdGFza2JvYXJkLXBhbmUtY29udGVudC1wYWRkaW5nLXksICN7JGtlbmRvLXRhc2tib2FyZC1wYW5lLWNvbnRlbnQtcGFkZGluZy15fSApO1xuICAgICAgICBvdmVyZmxvdzogYXV0bztcbiAgICAgICAgZmxleDogMSAxIGF1dG87XG4gICAgfVxuXG4gICAgLmstdGFza2JvYXJkLXBhbmUtYWN0aW9ucyB7XG4gICAgICAgIHBhZGRpbmctaW5saW5lOiB2YXIoIC0ta2VuZG8tdGFza2JvYXJkLXBhbmUtYWN0aW9ucy1wYWRkaW5nLXgsICN7JGtlbmRvLXRhc2tib2FyZC1wYW5lLWFjdGlvbnMtcGFkZGluZy14fSApO1xuICAgICAgICBwYWRkaW5nLWJsb2NrOiB2YXIoIC0ta2VuZG8tdGFza2JvYXJkLXBhbmUtYWN0aW9ucy1wYWRkaW5nLXksICN7JGtlbmRvLXRhc2tib2FyZC1wYW5lLWFjdGlvbnMtcGFkZGluZy15fSApO1xuICAgIH1cblxuICAgIC5rLXRhc2tib2FyZC1wYW5lLXN0YXJ0IHtcbiAgICAgICAgYm9yZGVyLWlubGluZS1lbmQtd2lkdGg6IHZhciggLS1rZW5kby10YXNrYm9hcmQtcGFuZS1ib3JkZXItd2lkdGgsICN7JGtlbmRvLXRhc2tib2FyZC1wYW5lLWJvcmRlci13aWR0aH0gKTtcbiAgICAgICAgaW5zZXQtaW5saW5lLWVuZDogYXV0bztcbiAgICAgICAgaW5zZXQtaW5saW5lLXN0YXJ0OiAwO1xuICAgIH1cblxuICAgIC8vIENhcmRzXG4gICAgLmstdGFza2JvYXJkLWNhcmQge1xuICAgICAgICAmLmstdGFza2JvYXJkLWNhcmQtY2F0ZWdvcnkge1xuICAgICAgICAgICAgYm9yZGVyLWlubGluZS1zdGFydC13aWR0aDogdmFyKCAtLWtlbmRvLXRhc2tib2FyZC1jYXJkLWNhdGVnb3J5LWJvcmRlci13aWR0aCwgI3ska2VuZG8tdGFza2JvYXJkLWNhcmQtY2F0ZWdvcnktYm9yZGVyLXdpZHRofSApO1xuICAgICAgICB9XG5cbiAgICAgICAgLmstY2FyZC1oZWFkZXIsXG4gICAgICAgIC5rLWNhcmQtYm9keSxcbiAgICAgICAgLmstY2FyZC1mb290ZXIge1xuICAgICAgICAgICAgcGFkZGluZy1pbmxpbmU6IHZhciggLS1rZW5kby10YXNrYm9hcmQtY2FyZC1wYWRkaW5nLXgsICN7JGtlbmRvLXRhc2tib2FyZC1jYXJkLXBhZGRpbmcteH0gKTtcbiAgICAgICAgICAgIHBhZGRpbmctYmxvY2s6IHZhciggLS1rZW5kby10YXNrYm9hcmQtY2FyZC1wYWRkaW5nLXksICN7JGtlbmRvLXRhc2tib2FyZC1jYXJkLXBhZGRpbmcteX0gKTtcbiAgICAgICAgfVxuXG4gICAgICAgIC5rLWNhcmQtaGVhZGVyIHtcbiAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgIH1cblxuICAgICAgICAuay1jYXJkLXRpdGxlIHtcbiAgICAgICAgICAgIHdvcmQtYnJlYWs6IG5vcm1hbDtcbiAgICAgICAgICAgIG92ZXJmbG93LXdyYXA6IGFueXdoZXJlO1xuICAgICAgICAgICAgZm9udC1zaXplOiB2YXIoIC0ta2VuZG8tdGFza2JvYXJkLWNhcmQtdGl0bGUtZm9udC1zaXplLCAjeyRrZW5kby10YXNrYm9hcmQtY2FyZC10aXRsZS1mb250LXNpemV9ICk7XG4gICAgICAgICAgICBmb250LXdlaWdodDogdmFyKCAtLWtlbmRvLXRhc2tib2FyZC1jYXJkLXRpdGxlLWZvbnQtd2VpZ2h0LCAjeyRrZW5kby10YXNrYm9hcmQtY2FyZC10aXRsZS1mb250LXdlaWdodH0gKTtcbiAgICAgICAgfVxuXG4gICAgICAgIC5rLWNhcmQtaGVhZGVyLWFjdGlvbnMge1xuICAgICAgICAgICAgYWxpZ24tc2VsZjogZmxleC1zdGFydDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8vIENhcmQgRHJhZyBQbGFjZWhvbGRlclxuICAgIC5rLXRhc2tib2FyZC1kcmFnLXBsYWNlaG9sZGVyIHtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogdmFyKCAtLWtlbmRvLXRhc2tib2FyZC1kcmFnLXBsYWNlaG9sZGVyLWJvcmRlci1yYWRpdXMsICN7JGtlbmRvLXRhc2tib2FyZC1kcmFnLXBsYWNlaG9sZGVyLWJvcmRlci1yYWRpdXN9ICk7XG4gICAgICAgIGJvcmRlci13aWR0aDogdmFyKCAtLWtlbmRvLXRhc2tib2FyZC1kcmFnLXBsYWNlaG9sZGVyLWJvcmRlci13aWR0aCwgI3ska2VuZG8tdGFza2JvYXJkLWRyYWctcGxhY2Vob2xkZXItYm9yZGVyLXdpZHRofSApO1xuICAgICAgICBib3JkZXItc3R5bGU6IHNvbGlkO1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgfVxuXG59XG4iLCJAdXNlIFwiLi4vY29yZS9faW5kZXguc2Nzc1wiIGFzICo7XG5AdXNlIFwiLi9fdmFyaWFibGVzLnNjc3NcIiBhcyAqO1xuXG5AbWl4aW4ga2VuZG8tdGFzay1ib2FyZC0tdGhlbWUoKSB7XG5cbiAgICAvLyBUYXNrQm9hcmRcbiAgICAuay10YXNrYm9hcmQge1xuICAgICAgICBAaW5jbHVkZSBmaWxsKFxuICAgICAgICAgICAgdmFyKCAtLWtlbmRvLXRhc2tib2FyZC10ZXh0LCAjeyRrZW5kby10YXNrYm9hcmQtdGV4dH0gKSxcbiAgICAgICAgICAgIHZhciggLS1rZW5kby10YXNrYm9hcmQtYmcsICN7JGtlbmRvLXRhc2tib2FyZC1iZ30gKSxcbiAgICAgICAgICAgIHZhciggLS1rZW5kby10YXNrYm9hcmQtYm9yZGVyLCAjeyRrZW5kby10YXNrYm9hcmQtYm9yZGVyfSApXG4gICAgICAgICk7XG4gICAgfVxuXG4gICAgLy8gQ29sdW1uc1xuICAgIC5rLXRhc2tib2FyZC1jb2x1bW4ge1xuICAgICAgICBAaW5jbHVkZSBmaWxsKFxuICAgICAgICAgICAgdmFyKCAtLWtlbmRvLXRhc2tib2FyZC1jb2x1bW4tdGV4dCwgI3ska2VuZG8tdGFza2JvYXJkLWNvbHVtbi10ZXh0fSApLFxuICAgICAgICAgICAgdmFyKCAtLWtlbmRvLXRhc2tib2FyZC1jb2x1bW4tYmcsICN7JGtlbmRvLXRhc2tib2FyZC1jb2x1bW4tYmd9ICksXG4gICAgICAgICAgICB2YXIoIC0ta2VuZG8tdGFza2JvYXJkLWNvbHVtbi1ib3JkZXIsICN7JGtlbmRvLXRhc2tib2FyZC1jb2x1bW4tYm9yZGVyfSApXG4gICAgICAgICk7XG4gICAgfVxuICAgIC5rLXRhc2tib2FyZC1jb2x1bW46Zm9jdXMsXG4gICAgLmstdGFza2JvYXJkLWNvbHVtbi5rLWZvY3VzIHtcbiAgICAgICAgQGluY2x1ZGUgZmlsbChcbiAgICAgICAgICAgIHZhciggLS1rZW5kby10YXNrYm9hcmQtY29sdW1uLWZvY3VzLXRleHQsICN7JGtlbmRvLXRhc2tib2FyZC1jb2x1bW4tZm9jdXMtdGV4dH0gKSxcbiAgICAgICAgICAgIHZhciggLS1rZW5kby10YXNrYm9hcmQtY29sdW1uLWZvY3VzLWJnLCAjeyRrZW5kby10YXNrYm9hcmQtY29sdW1uLWZvY3VzLWJnfSApLFxuICAgICAgICAgICAgdmFyKCAtLWtlbmRvLXRhc2tib2FyZC1jb2x1bW4tYm9yZGVyLCAjeyRrZW5kby10YXNrYm9hcmQtY29sdW1uLWZvY3VzLWJvcmRlcn0gKVxuICAgICAgICApO1xuICAgIH1cblxuICAgIC5rLXRhc2tib2FyZC1jb2x1bW4taGVhZGVyIHtcbiAgICAgICAgQGluY2x1ZGUgZmlsbChcbiAgICAgICAgICAgICRjb2xvcjogdmFyKCAtLWtlbmRvLXRhc2tib2FyZC1jb2x1bW4taGVhZGVyLXRleHQsICN7JGtlbmRvLXRhc2tib2FyZC1jb2x1bW4taGVhZGVyLXRleHR9IClcbiAgICAgICAgKTtcbiAgICB9XG5cbiAgICAvLyBQcmV2aWV3L0VkaXQgUGFuZVxuICAgIC5rLXRhc2tib2FyZC1wYW5lIHtcbiAgICAgICAgQGluY2x1ZGUgZmlsbCAoXG4gICAgICAgICAgICB2YXIoIC0ta2VuZG8tdGFza2JvYXJkLXBhbmUtdGV4dCwgI3ska2VuZG8tdGFza2JvYXJkLXBhbmUtdGV4dH0gKSxcbiAgICAgICAgICAgIHZhciggLS1rZW5kby10YXNrYm9hcmQtcGFuZS1iZywgI3ska2VuZG8tdGFza2JvYXJkLXBhbmUtYmd9ICksXG4gICAgICAgICAgICB2YXIoIC0ta2VuZG8tdGFza2JvYXJkLXBhbmUtYm9yZGVyLCAjeyRrZW5kby10YXNrYm9hcmQtcGFuZS1ib3JkZXJ9IClcbiAgICAgICAgKTtcbiAgICB9XG5cbiAgICAuay10YXNrYm9hcmQtcGFuZS1oZWFkZXIge1xuICAgICAgICBAaW5jbHVkZSBmaWxsKFxuICAgICAgICAgICAgJGNvbG9yOiB2YXIoIC0ta2VuZG8tdGFza2JvYXJkLXBhbmUtaGVhZGVyLXRleHQsICN7JGtlbmRvLXRhc2tib2FyZC1wYW5lLWhlYWRlci10ZXh0fSApXG4gICAgICAgICk7XG4gICAgfVxuXG4gICAgLy8gQ2FyZHNcbiAgICAuay10YXNrYm9hcmQtY2FyZCB7XG4gICAgICAgICYuay1zZWxlY3RlZCB7XG4gICAgICAgICAgICBAaW5jbHVkZSBib3gtc2hhZG93KFxuICAgICAgICAgICAgICAgIHZhciggLS1rZW5kby10YXNrYm9hcmQtY2FyZC1zZWxlY3RlZC1zaGFkb3csICN7JGtlbmRvLXRhc2tib2FyZC1jYXJkLXNlbGVjdGVkLXNoYWRvd30gKVxuICAgICAgICAgICAgKTtcbiAgICAgICAgfVxuXG4gICAgICAgICYuay1kaXNhYmxlZCB7XG4gICAgICAgICAgICBAaW5jbHVkZSBmaWxsKFxuICAgICAgICAgICAgICAgIHZhciggLS1rZW5kby1kaXNhYmxlZC10ZXh0LCBpbmhlcml0ICksXG4gICAgICAgICAgICAgICAgdmFyKCAtLWtlbmRvLWRpc2FibGVkLWJnLCBpbmhlcml0ICksXG4gICAgICAgICAgICAgICAgdmFyKCAtLWtlbmRvLWRpc2FibGVkLWJvcmRlciwgaW5oZXJpdCApXG5cbiAgICAgICAgICAgICk7XG5cbiAgICAgICAgICAgIC5rLWNhcmQtaGVhZGVyIHtcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBmaWxsKCAkY29sb3I6IHZhciggLS1rZW5kby1kaXNhYmxlZC10ZXh0LCBpbmhlcml0ICkgKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8vIENhcmQgRHJhZyBQbGFjZWhvbGRlclxuICAgIC5rLXRhc2tib2FyZC1kcmFnLXBsYWNlaG9sZGVyIHtcbiAgICAgICAgQGluY2x1ZGUgZmlsbChcbiAgICAgICAgICAgICRiZzogdmFyKCAtLWtlbmRvLXRhc2tib2FyZC1kcmFnLXBsYWNlaG9sZGVyLWJnLCAjeyRrZW5kby10YXNrYm9hcmQtZHJhZy1wbGFjZWhvbGRlci1iZ30gKSxcbiAgICAgICAgICAgICRib3JkZXI6IHZhciggLS1rZW5kby10YXNrYm9hcmQtZHJhZy1wbGFjZWhvbGRlci1ib3JkZXIsICN7JGtlbmRvLXRhc2tib2FyZC1kcmFnLXBsYWNlaG9sZGVyLWJvcmRlcn0gKVxuICAgICAgICApO1xuICAgIH1cblxufVxuIiwiQHVzZSBcInNhc3M6bWFwXCI7XG5AdXNlIFwic2FzczptYXRoXCI7XG5AdXNlIFwiLi4vY29yZS9faW5kZXguc2Nzc1wiIGFzICo7XG5AdXNlIFwiLi9fdmFyaWFibGVzLnNjc3NcIiBhcyAqO1xuQHVzZSBcIi4uL3Rvb2xiYXIvX3ZhcmlhYmxlcy5zY3NzXCIgYXMgKjtcbkB1c2UgXCIuLi9idXR0b24vX3ZhcmlhYmxlcy5zY3NzXCIgYXMgKjtcbkB1c2UgXCIuLi9pbnB1dC9fdmFyaWFibGVzLnNjc3NcIiBhcyAqO1xuQHVzZSBcIi4uL3dpbmRvdy9fdmFyaWFibGVzLnNjc3NcIiBhcyAqO1xuQHVzZSBcIi4uL2NvcmUvc3BhY2luZy9faW5kZXguc2Nzc1wiIGFzICo7XG5cbkBtaXhpbiBrZW5kby1lZGl0b3ItLWxheW91dCgpIHtcblxuICAgIC8vIEJhc2VcbiAgICAuay1lZGl0b3Ige1xuICAgICAgICBib3JkZXItd2lkdGg6IHZhciggLS1rZW5kby1lZGl0b3ItYm9yZGVyLXdpZHRoLCAjeyRrZW5kby1lZGl0b3ItYm9yZGVyLXdpZHRofSApO1xuICAgICAgICBib3JkZXItc3R5bGU6IHNvbGlkO1xuICAgICAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgICAgICBvdXRsaW5lOiAwO1xuICAgICAgICBmb250LWZhbWlseTogdmFyKCAtLWtlbmRvLWVkaXRvci1mb250LWZhbWlseSwgI3ska2VuZG8tZWRpdG9yLWZvbnQtZmFtaWx5fSApO1xuICAgICAgICBmb250LXNpemU6IHZhciggLS1rZW5kby1lZGl0b3ItZm9udC1zaXplLCAjeyRrZW5kby1lZGl0b3ItZm9udC1zaXplfSApO1xuICAgICAgICBsaW5lLWhlaWdodDogdmFyKCAtLWtlbmRvLWVkaXRvci1saW5lLWhlaWdodCwgI3ska2VuZG8tZWRpdG9yLWxpbmUtaGVpZ2h0fSApO1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBmbGV4LWZsb3c6IGNvbHVtbiBub3dyYXA7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgLXdlYmtpdC10b3VjaC1jYWxsb3V0OiBub25lO1xuICAgICAgICAtd2Via2l0LXRhcC1oaWdobGlnaHQtY29sb3I6ICRrZW5kby1jb2xvci1yZ2JhLXRyYW5zcGFyZW50O1xuXG4gICAgICAgICYuay1yZWFkb25seSB7XG4gICAgICAgICAgICAuay1lZGl0b3ItY29udGVudCB7XG4gICAgICAgICAgICAgICAgcG9pbnRlci1ldmVudHM6IGF1dG87XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC5rLWVkaXRvci1jb250ZW50LmstZm9jdXMge1xuICAgICAgICAgICAgICAgIG91dGxpbmUtd2lkdGg6IDFweDtcbiAgICAgICAgICAgICAgICBvdXRsaW5lLXN0eWxlOiBkYXNoZWQ7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cblxuICAgIC8vIElubGluZSBlZGl0b3JcbiAgICAuay1lZGl0b3ItaW5saW5lIHtcbiAgICAgICAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cyggay1ib3JkZXItcmFkaXVzKG1kKSApO1xuICAgICAgICBwYWRkaW5nLWJsb2NrOiBrLXNwYWNpbmcoMC41KTtcbiAgICAgICAgcGFkZGluZy1pbmxpbmU6IGstc3BhY2luZygxKTtcbiAgICAgICAgYm9yZGVyOiAxcHggc29saWQgdHJhbnNwYXJlbnQ7XG4gICAgICAgIHdvcmQtd3JhcDogYnJlYWstd29yZDtcbiAgICAgICAgb3ZlcmZsb3c6IGF1dG87XG4gICAgICAgIGJhY2tncm91bmQ6IG5vbmU7XG4gICAgfVxuXG4gICAgLy8gUmVzaXphYmxlIGVkaXRvclxuICAgIC5rLWVkaXRvci1yZXNpemFibGUge1xuICAgICAgICByZXNpemU6IGJvdGg7XG4gICAgICAgIG92ZXJmbG93OiBhdXRvO1xuICAgIH1cblxuICAgIC8vIFJlc2l6YWJsZSBpbWFnZXNcbiAgICAuay1lZGl0b3ItcmVzaXplLWhhbmRsZXMtd3JhcHBlciB7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgdmlzaWJpbGl0eTogaGlkZGVuO1xuICAgIH1cblxuICAgIC8vIFJlc2l6YWJsZSB0YWJsZXNcbiAgICAuay1lZGl0b3ItcmVzaXplLXdyYXAtZWxlbWVudCB7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIH1cblxuICAgIC5rLWVkaXRvci1yZXNpemUtaGFuZGxlIHtcbiAgICAgICAgd2lkdGg6IHZhciggLS1rZW5kby1lZGl0b3ItcmVzaXplLWhhbmRsZS1zaXplLCAjeyRrZW5kby1lZGl0b3ItcmVzaXplLWhhbmRsZS1zaXplfSApO1xuICAgICAgICBoZWlnaHQ6IHZhciggLS1rZW5kby1lZGl0b3ItcmVzaXplLWhhbmRsZS1zaXplLCAjeyRrZW5kby1lZGl0b3ItcmVzaXplLWhhbmRsZS1zaXplfSApO1xuICAgICAgICBib3JkZXItd2lkdGg6IHZhciggLS1rZW5kby1lZGl0b3ItcmVzaXplLWhhbmRsZS1ib3JkZXItd2lkdGgsICN7JGtlbmRvLWVkaXRvci1yZXNpemUtaGFuZGxlLWJvcmRlci13aWR0aH0gKTtcbiAgICAgICAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcbiAgICAgICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB2aXNpYmlsaXR5OiB2aXNpYmxlO1xuICAgICAgICB6LWluZGV4OiAxMDA7XG5cbiAgICAgICAgJi5ub3J0aHdlc3Qge1xuICAgICAgICAgICAgdG9wOiAwO1xuICAgICAgICAgICAgbGVmdDogMDtcbiAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIC01MCUpO1xuICAgICAgICAgICAgY3Vyc29yOiBudy1yZXNpemU7XG4gICAgICAgIH1cblxuICAgICAgICAmLm5vcnRoIHtcbiAgICAgICAgICAgIHRvcDogMDtcbiAgICAgICAgICAgIGxlZnQ6IDUwJTtcbiAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIC01MCUpO1xuICAgICAgICAgICAgY3Vyc29yOiBuLXJlc2l6ZTtcbiAgICAgICAgfVxuXG4gICAgICAgICYubm9ydGhlYXN0IHtcbiAgICAgICAgICAgIHRvcDogMDtcbiAgICAgICAgICAgIHJpZ2h0OiAwO1xuICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoNTAlLCAtNTAlKTtcbiAgICAgICAgICAgIGN1cnNvcjogbmUtcmVzaXplO1xuICAgICAgICB9XG5cbiAgICAgICAgJi5zb3V0aHdlc3Qge1xuICAgICAgICAgICAgbGVmdDogMDtcbiAgICAgICAgICAgIGJvdHRvbTogMDtcbiAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIDUwJSk7XG4gICAgICAgICAgICBjdXJzb3I6IHN3LXJlc2l6ZTtcbiAgICAgICAgfVxuXG4gICAgICAgICYuc291dGgge1xuICAgICAgICAgICAgYm90dG9tOiAwO1xuICAgICAgICAgICAgbGVmdDogNTAlO1xuICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgNTAlKTtcbiAgICAgICAgICAgIGN1cnNvcjogcy1yZXNpemU7XG4gICAgICAgIH1cblxuICAgICAgICAmLnNvdXRoZWFzdCB7XG4gICAgICAgICAgICByaWdodDogMDtcbiAgICAgICAgICAgIGJvdHRvbTogMDtcbiAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKDUwJSwgNTAlKTtcbiAgICAgICAgICAgIGN1cnNvcjogc2UtcmVzaXplO1xuICAgICAgICB9XG5cbiAgICAgICAgJi53ZXN0IHtcbiAgICAgICAgICAgIHRvcDogNTAlO1xuICAgICAgICAgICAgbGVmdDogMDtcbiAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIC01MCUpO1xuICAgICAgICAgICAgY3Vyc29yOiB3LXJlc2l6ZTtcbiAgICAgICAgfVxuXG4gICAgICAgICYuZWFzdCB7XG4gICAgICAgICAgICB0b3A6IDUwJTtcbiAgICAgICAgICAgIHJpZ2h0OiAwO1xuICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoNTAlLCAtNTAlKTtcbiAgICAgICAgICAgIGN1cnNvcjogZS1yZXNpemU7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAuUHJvc2VNaXJyb3Itc2VsZWN0ZWRub2RlIHsgLy8gc3R5bGVsaW50LWRpc2FibGUtbGluZVxuICAgICAgICBvdXRsaW5lLXdpZHRoOiB2YXIoIC0ta2VuZG8tZWRpdG9yLXNlbGVjdGVkbm9kZS1vdXRsaW5lLXdpZHRoLCAjeyRrZW5kby1lZGl0b3Itc2VsZWN0ZWRub2RlLW91dGxpbmUtd2lkdGh9ICk7XG4gICAgICAgIG91dGxpbmUtc3R5bGU6IHNvbGlkO1xuICAgIH1cblxuICAgIC8vIHN0eWxlbGludC1kaXNhYmxlIHNlbGVjdG9yLW5vLXZlbmRvci1wcmVmaXggLHNlbGVjdG9yLWNsYXNzLXBhdHRlcm5cbiAgICAuUHJvc2VNaXJyb3ItaGlkZXNlbGVjdGlvbiB7XG4gICAgICAgIGNhcmV0LWNvbG9yOiB0cmFuc3BhcmVudDtcblxuICAgICAgICAqOjpzZWxlY3Rpb24sXG4gICAgICAgICo6Oi1tb3otc2VsZWN0aW9uIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICAgICAgICB9XG4gICAgfVxuICAgIC8vIHN0eWxlbGludC1lbmFibGUgc2VsZWN0b3Itbm8tdmVuZG9yLXByZWZpeCAsc2VsZWN0b3ItY2xhc3MtcGF0dGVyblxuXG5cbiAgICAvLyDQom9vbGJhclxuICAgIC5rLWVkaXRvci10b29sYmFyIHtcbiAgICAgICAgYm9yZGVyLXdpZHRoOiAwIDAgJGtlbmRvLXRvb2xiYXItYm9yZGVyLXdpZHRoO1xuICAgICAgICBmbGV4LXNocmluazogMDtcblxuICAgICAgICAuay1lZGl0b3ItZXhwb3J0IHtcbiAgICAgICAgICAgIC5rLWljb24ge1xuICAgICAgICAgICAgICAgIG1hcmdpbi1pbmxpbmUtZW5kOiB2YXIoIC0ta2VuZG8tZWRpdG9yLWV4cG9ydC10b29sLWljb24tbWFyZ2luLXgsICN7JGtlbmRvLWVkaXRvci1leHBvcnQtdG9vbC1pY29uLW1hcmdpbi14fSApO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAuay1pY29uLFxuICAgICAgICAgICAgLmstZXhwb3J0LXRvb2wtdGV4dCB7XG4gICAgICAgICAgICAgICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuXG4gICAgLy8gRWRpdG9yIGNvbnRlbnRcbiAgICAuay1lZGl0b3ItY29udGVudCB7XG4gICAgICAgIGZsZXg6IDEgMSBhdXRvO1xuICAgICAgICBvdmVyZmxvdy15OiBhdXRvO1xuXG4gICAgICAgID4gLmstaWZyYW1lIHtcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICAgICAgYm9yZGVyLXdpZHRoOiAwO1xuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIH1cblxuICAgICAgICA+IC5Qcm9zZU1pcnJvciB7IC8vIHN0eWxlbGludC1kaXNhYmxlLWxpbmVcbiAgICAgICAgICAgIHBhZGRpbmc6IGstc3BhY2luZygyKTtcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICAgICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICAgICAgICAgIG91dGxpbmU6IG5vbmU7XG4gICAgICAgICAgICB3aGl0ZS1zcGFjZTogcHJlLXdyYXA7XG4gICAgICAgICAgICBvdmVyZmxvdzogYXV0bztcblxuICAgICAgICAgICAgdGFibGUge1xuICAgICAgICAgICAgICAgIHdoaXRlLXNwYWNlOiBwcmUtd3JhcDtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLmstcGxhY2Vob2xkZXI6OmJlZm9yZSB7XG4gICAgICAgICAgICAgICAgY29udGVudDogYXR0cihkYXRhLXBsYWNlaG9sZGVyKTtcbiAgICAgICAgICAgICAgICBoZWlnaHQ6IDA7XG4gICAgICAgICAgICAgICAgY29sb3I6IHZhciggLS1rZW5kby1lZGl0b3ItcGxhY2Vob2xkZXItdGV4dCwgI3ska2VuZG8tZWRpdG9yLXBsYWNlaG9sZGVyLXRleHR9ICk7XG4gICAgICAgICAgICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgICAgICAgICAgICAgb3BhY2l0eTogdmFyKCAtLWtlbmRvLWVkaXRvci1wbGFjZWhvbGRlci1vcGFjaXR5LCAjeyRrZW5kby1lZGl0b3ItcGxhY2Vob2xkZXItb3BhY2l0eX0gKTtcbiAgICAgICAgICAgICAgICBjdXJzb3I6IHRleHQ7XG4gICAgICAgICAgICAgICAgdXNlci1zZWxlY3Q6IG5vbmU7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAvLyBUYWJsZSBzdHlsZXNcbiAgICAgICAgcCB7XG4gICAgICAgICAgICBtYXJnaW46IDAgMCAxcmVtO1xuICAgICAgICB9XG5cbiAgICAgICAgdGQgcCxcbiAgICAgICAgdGggcCxcbiAgICAgICAgbGkgcCB7XG4gICAgICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgIH1cblxuICAgICAgICB0YWJsZSB7XG4gICAgICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgICAgICBib3JkZXItY29sbGFwc2U6IGNvbGxhcHNlO1xuICAgICAgICAgICAgdGFibGUtbGF5b3V0OiBmaXhlZDtcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAgICAgfVxuXG4gICAgICAgIHRkLFxuICAgICAgICB0aCB7XG4gICAgICAgICAgICBtaW4td2lkdGg6IDFlbTtcbiAgICAgICAgICAgIGJvcmRlcjogMXB4IHNvbGlkO1xuICAgICAgICAgICAgcGFkZGluZy1ibG9jazogM3B4O1xuICAgICAgICAgICAgcGFkZGluZy1pbmxpbmU6IDVweDtcbiAgICAgICAgICAgIHZlcnRpY2FsLWFsaWduOiB0b3A7XG4gICAgICAgICAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICB9XG5cbiAgICAgICAgdGgge1xuICAgICAgICAgICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gICAgICAgICAgICB0ZXh0LWFsaWduOiBzdGFydDtcbiAgICAgICAgfVxuICAgICAgICB0ZCB7XG4gICAgICAgICAgICB0ZXh0LWFsaWduOiBzdGFydDtcbiAgICAgICAgfVxuXG4gICAgICAgIC8vIEdpdmUgc2VsZWN0ZWQgY2VsbHMgYSBibHVlIG92ZXJsYXlcbiAgICAgICAgLnNlbGVjdGVkQ2VsbDo6YWZ0ZXIgeyAvLyBzdHlsZWxpbnQtZGlzYWJsZS1saW5lXG4gICAgICAgICAgICB6LWluZGV4OiAyO1xuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgY29udGVudDogXCJcIjtcbiAgICAgICAgICAgIGxlZnQ6IDA7XG4gICAgICAgICAgICByaWdodDogMDtcbiAgICAgICAgICAgIHRvcDogMDtcbiAgICAgICAgICAgIGJvdHRvbTogMDtcbiAgICAgICAgICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLmstZWRpdC1mb3JtLWNvbnRlbnQge1xuICAgICAgICBmbGV4OiAxIDEgYXV0bztcbiAgICAgICAgb3ZlcmZsb3c6IGF1dG87XG4gICAgICAgIG1hcmdpbi1ibG9jazogKC0ka2VuZG8td2luZG93LWlubmVyLXBhZGRpbmcteSk7XG4gICAgICAgIG1hcmdpbi1pbmxpbmU6ICgtJGtlbmRvLXdpbmRvdy1pbm5lci1wYWRkaW5nLXgpO1xuICAgICAgICBwYWRkaW5nLWJsb2NrOiAka2VuZG8td2luZG93LWlubmVyLXBhZGRpbmcteTtcbiAgICAgICAgcGFkZGluZy1pbmxpbmU6ICRrZW5kby13aW5kb3ctaW5uZXItcGFkZGluZy14O1xuICAgIH1cblxuICAgIC8vIEluc2VydCB0YWJsZVxuICAgIC5rLWN0LXBvcHVwIHtcbiAgICAgICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICAgICAgd2lkdGg6ICggJGN0LWNlbGwtc2l6ZSAqIDEwIC0gbWF0aC5kaXYoJGN0LWNlbGwtc2l6ZSwgMikgKTtcbiAgICAgICAgcGFkZGluZzogbWF0aC5kaXYoICRjdC1jZWxsLXNpemUsIDQgKTtcblxuICAgICAgICAuay1idXR0b24ge1xuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIH1cblxuICAgICAgICAuay1jdC1jZWxsIHtcbiAgICAgICAgICAgIG1hcmdpbjogMXB4O1xuICAgICAgICAgICAgd2lkdGg6ICRjdC1jZWxsLXNpemU7XG4gICAgICAgICAgICBoZWlnaHQ6ICRjdC1jZWxsLXNpemU7XG4gICAgICAgICAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgICAgICAgICAgYm9yZGVyOiAxcHggc29saWQ7XG4gICAgICAgICAgICBib3JkZXItY29sb3I6IGluaGVyaXQ7XG4gICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogdG9wO1xuICAgICAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAgICAgICAgIG9wYWNpdHk6IC43O1xuICAgICAgICAgICAgcG9pbnRlci1ldmVudHM6IGFsbDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5rLWVkaXRvciAuay1yZXNpemUtaGFuZGxlIHtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICByaWdodDogMDtcbiAgICAgICAgYm90dG9tOiAwO1xuICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgICB3aWR0aDogMDtcbiAgICAgICAgaGVpZ2h0OiAwO1xuICAgICAgICBib3JkZXItc3R5bGU6IHNvbGlkO1xuICAgICAgICBib3JkZXItd2lkdGg6IDAgMCAxM3B4IDEzcHg7XG4gICAgICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgICAgIGJvcmRlci1ib3R0b20tY29sb3I6IGluaGVyaXQ7XG4gICAgICAgIGN1cnNvcjogc2UtcmVzaXplO1xuXG4gICAgICAgIC5rLWktYXJyb3ctNDUtZG93bi1yaWdodCxcbiAgICAgICAgLmstaS1jYXJldC1iciB7XG4gICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICB9XG4gICAgfVxuXG5cbiAgICAvLyBGaW5kIGFuZCByZXBsYWNlIGRpYWxvZ1xuICAgIC5rLWVkaXRvci1maW5kLXJlcGxhY2Uge1xuICAgICAgICAuay1jb250ZW50IHtcbiAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgfVxuXG4gICAgICAgIC5rLWFjdGlvbnMge1xuICAgICAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgfVxuXG4gICAgICAgIC5rLXNlYXJjaC1vcHRpb25zIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgICAgICAgcGFkZGluZzogMTBweCAwIDQwcHg7XG4gICAgICAgIH1cblxuICAgICAgICAuay1tYXRjaGVzLWNvbnRhaW5lciB7XG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICBib3R0b206IDA7XG4gICAgICAgICAgICBsZWZ0OiAwO1xuICAgICAgICAgICAgcmlnaHQ6IDA7XG4gICAgICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLy8gVGV4dCBhcmVhIGluIGVkaXRvciBkaWFsb2dcbiAgICAuay10ZXh0YXJlYS5rLWVkaXRvci10ZXh0YXJlYSB7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgIHJlc2l6ZTogbm9uZTtcbiAgICB9XG5cbiAgICAuay1maWxlYnJvd3NlciB7XG4gICAgICAgIG1heC13aWR0aDogMTAwJTtcblxuICAgICAgICAvLyBCcmVhZGNydW1icyBhbmQgc2VhcmNoXG4gICAgICAgIC5rLWZsb2F0d3JhcCB7XG4gICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuXG4gICAgICAgICAgICAmOjphZnRlciB7IGRpc3BsYXk6IG5vbmU7IH1cbiAgICAgICAgfVxuICAgICAgICAuay1icmVhZGNydW1icyB7XG4gICAgICAgICAgICBmbGV4OiAxO1xuICAgICAgICB9XG4gICAgICAgIC5rLXNlYXJjaC13cmFwIHtcbiAgICAgICAgICAgIG1hcmdpbi1pbmxpbmUtc3RhcnQ6IGstc3BhY2luZyg0KTtcbiAgICAgICAgICAgIHdpZHRoOiAxNTBweDtcbiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuXG4gICAgICAgICAgICAuay1pbnB1dCB7XG4gICAgICAgICAgICAgICAgZmxleDogMTtcbiAgICAgICAgICAgICAgICB3aWR0aDogMTAwcHg7IC8vIGZpeCB3aWR0aCBmb3IgRWRnZVxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgLmstaWNvbiB7XG4gICAgICAgICAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICAgICAgICAgIHBvc2l0aW9uOiBzdGF0aWM7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAvLyBGaWxlYnJvd3NlciB0b29sYmFyXG4gICAgICAgIC5rLWZpbGVicm93c2VyLXRvb2xiYXIge1xuICAgICAgICAgICAgbWFyZ2luLWJsb2NrLXN0YXJ0OiBrLXNwYWNpbmcoNCk7XG4gICAgICAgIH1cblxuICAgICAgICAuay11cGxvYWQge1xuICAgICAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgICAgIGJvcmRlci13aWR0aDogMDtcbiAgICAgICAgICAgIGJhY2tncm91bmQ6IG5vbmU7XG5cbiAgICAgICAgICAgIC5rLXVwbG9hZC1idXR0b24ge1xuICAgICAgICAgICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLmstdXBsb2FkLXN0YXR1cyB7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC5rLXVwbG9hZC1maWxlcyB7XG4gICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICB9XG5cbiAgICAgICAgLy8gVGlsZXNcbiAgICAgICAgLmstdGlsZXMge1xuICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgIGZsZXgtZmxvdzogcm93IHdyYXA7XG4gICAgICAgICAgICBoZWlnaHQ6IDM5MHB4O1xuICAgICAgICAgICAgbWF4LWhlaWdodDogNTB2aDtcbiAgICAgICAgICAgIG1hcmdpbi1ibG9jay1lbmQ6IGstc3BhY2luZyg0KTtcbiAgICAgICAgICAgIHBhZGRpbmctYmxvY2s6IGstc3BhY2luZygxKTtcbiAgICAgICAgICAgIHBhZGRpbmctaW5saW5lOiBrLXNwYWNpbmcoMik7XG4gICAgICAgICAgICBib3JkZXItdG9wLXdpZHRoOiAwO1xuICAgICAgICAgICAgb3ZlcmZsb3c6IGF1dG87XG4gICAgICAgIH1cblxuICAgICAgICAuay10aWxlIHtcbiAgICAgICAgICAgIHdpZHRoOiAzMyU7XG4gICAgICAgICAgICBoZWlnaHQ6IDkwcHg7XG4gICAgICAgICAgICBwYWRkaW5nLWJsb2NrOiBrLXNwYWNpbmcoMSk7XG4gICAgICAgICAgICBwYWRkaW5nLWlubGluZTogay1zcGFjaW5nKDIpO1xuICAgICAgICAgICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICAgICAgICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gICAgICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgICAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgICAgICAgICAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cyggay1ib3JkZXItcmFkaXVzKG1kKSApO1xuXG4gICAgICAgICAgICAuay1pLWZpbGUsXG4gICAgICAgICAgICAuay1pLWZvbGRlciB7XG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiA0ZW07XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIGlucHV0IHtcbiAgICAgICAgICAgICAgICB3aWR0aDogMTAwcHg7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIHN0cm9uZyB7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgICAgICAgICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgICAgICAgICAgICAgIHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLmstdGlsZS1lbXB0eSB7XG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgIG1hcmdpbjogYXV0bztcblxuICAgICAgICAgICAgJi5rLXNlbGVjdGVkIHtcbiAgICAgICAgICAgICAgICBjb2xvcjogaW5oZXJpdDtcbiAgICAgICAgICAgICAgICBib3JkZXItd2lkdGg6IDA7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogbm9uZTtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgc3Ryb25nIHtcbiAgICAgICAgICAgICAgICBvcGFjaXR5OiAuNTtcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IDNlbTtcbiAgICAgICAgICAgICAgICBmb250LXdlaWdodDogNDAwO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLmstdGh1bWIge1xuICAgICAgICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgICAgICAgICBtYXJnaW4taW5saW5lLWVuZDogay1zcGFjaW5nKDEpO1xuICAgICAgICB9XG5cbiAgICAgICAgLmstYnJlYWRjcnVtYnMtd3JhcCB7XG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICBpbnNldC1pbmxpbmUtc3RhcnQ6ICRrZW5kby1pbnB1dC1tZC1wYWRkaW5nLXg7XG4gICAgICAgICAgICBpbnNldC1ibG9jay1zdGFydDogJGtlbmRvLWlucHV0LW1kLXBhZGRpbmcteTtcblxuICAgICAgICAgICAgLmstaWNvbiB7XG4gICAgICAgICAgICAgICAgcG9zaXRpb246IHN0YXRpYztcbiAgICAgICAgICAgICAgICBtYXJnaW4tYmxvY2stc3RhcnQ6IDA7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAuay1lZGl0b3ItdGFibGUtd2l6YXJkLXdpbmRvdyB7XG5cbiAgICAgICAgLy8gVGFic3RyaXAgd3JhcHBlclxuICAgICAgICAuay10YWJzdHJpcC13cmFwcGVyIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICBmbGV4OiAxIDEgYXV0bztcbiAgICAgICAgICAgIG92ZXJmbG93OiBhdXRvO1xuXG4gICAgICAgICAgICAuay10YWJzdHJpcC5rLXJvb3QtdGFicyB7XG4gICAgICAgICAgICAgICAgZmxleDogMSAxIGF1dG87XG4gICAgICAgICAgICAgICAgbWFyZ2luLWJsb2NrLWVuZDogMDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC5rLWVkaXQtZmllbGQgPiAuay1jaGVja2JveCB7XG4gICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7IC8vIGZpeCBzY3JvbGxpbmdcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5rLWVkaXRvci1pbmxpbmUge1xuXG4gICAgICAgIC5rLXRhYmxlIHtcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgYm9yZGVyLXNwYWNpbmc6IDA7XG4gICAgICAgICAgICBtYXJnaW46IDAgMCAxZW07XG5cbiAgICAgICAgICAgICYsXG4gICAgICAgICAgICAmIHRkIHtcbiAgICAgICAgICAgICAgICBvdXRsaW5lOiAwO1xuICAgICAgICAgICAgICAgIGJvcmRlci13aWR0aDogMXB4O1xuICAgICAgICAgICAgICAgIGJvcmRlci1zdHlsZTogZG90dGVkO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICB0ZCB7XG4gICAgICAgICAgICAgICAgbWluLXdpZHRoOiAxcHg7XG4gICAgICAgICAgICAgICAgcGFkZGluZy1ibG9jazogay1zcGFjaW5nKDAuNSk7XG4gICAgICAgICAgICAgICAgcGFkZGluZy1pbmxpbmU6IGstc3BhY2luZygxKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC5rLWVsZW1lbnQtcmVzaXplLWhhbmRsZS13cmFwcGVyIHtcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgIHdpZHRoOiA1cHg7XG4gICAgICAgICAgICBoZWlnaHQ6IDVweDtcbiAgICAgICAgICAgIGJvcmRlci13aWR0aDogMXB4O1xuICAgICAgICAgICAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcbiAgICAgICAgICAgIHotaW5kZXg6IDEwMDtcblxuICAgICAgICAgICAgLmstZWxlbWVudC1yZXNpemUtaGFuZGxlIHtcbiAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMCU7XG5cbiAgICAgICAgICAgICAgICAmLmstcmVzaXplLWVhc3Qge1xuICAgICAgICAgICAgICAgICAgICBjdXJzb3I6IGUtcmVzaXplO1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICYuay1yZXNpemUtbm9ydGgge1xuICAgICAgICAgICAgICAgICAgICBjdXJzb3I6IG4tcmVzaXplO1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICYuay1yZXNpemUtbm9ydGhlYXN0IHtcbiAgICAgICAgICAgICAgICAgICAgY3Vyc29yOiBuZS1yZXNpemU7XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgJi5rLXJlc2l6ZS1ub3J0aHdlc3Qge1xuICAgICAgICAgICAgICAgICAgICBjdXJzb3I6IG53LXJlc2l6ZTtcbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAmLmstcmVzaXplLXNvdXRoIHtcbiAgICAgICAgICAgICAgICAgICAgY3Vyc29yOiBzLXJlc2l6ZTtcbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAmLmstcmVzaXplLXNvdXRoZWFzdCB7XG4gICAgICAgICAgICAgICAgICAgIGN1cnNvcjogc2UtcmVzaXplO1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICYuay1yZXNpemUtc291dGh3ZXN0IHtcbiAgICAgICAgICAgICAgICAgICAgY3Vyc29yOiBzdy1yZXNpemU7XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgJi5rLXJlc2l6ZS13ZXN0IHtcbiAgICAgICAgICAgICAgICAgICAgY3Vyc29yOiB3LXJlc2l6ZTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAuay1jb2x1bW4tcmVzaXplLWhhbmRsZS13cmFwcGVyIHtcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgIGhlaWdodDogMTBweDtcbiAgICAgICAgICAgIHdpZHRoOiAxMHB4O1xuICAgICAgICAgICAgY3Vyc29yOiBjb2wtcmVzaXplO1xuICAgICAgICAgICAgei1pbmRleDogMjtcblxuICAgICAgICAgICAgLmstY29sdW1uLXJlc2l6ZS1oYW5kbGUge1xuICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgICAgIGhlaWdodDogMTAwJTtcblxuICAgICAgICAgICAgICAgIC5rLWNvbHVtbi1yZXNpemUtbWFya2VyIHtcbiAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDJweDtcbiAgICAgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICAgICAgICAgICAgICBtYXJnaW4tYmxvY2s6IDA7XG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbi1pbmxpbmU6IGF1dG87XG4gICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgICAgICAgICAgICAgIG9wYWNpdHk6IC44O1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC5rLXJvdy1yZXNpemUtaGFuZGxlLXdyYXBwZXIge1xuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgei1pbmRleDogMjtcbiAgICAgICAgICAgIGN1cnNvcjogcm93LXJlc2l6ZTtcbiAgICAgICAgICAgIHdpZHRoOiAxMHB4O1xuICAgICAgICAgICAgaGVpZ2h0OiAxMHB4O1xuXG4gICAgICAgICAgICAuay1yb3ctcmVzaXplLWhhbmRsZSB7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogdGFibGU7XG4gICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAuay1yb3ctcmVzaXplLW1hcmtlci13cmFwcGVyIHtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiB0YWJsZS1jZWxsO1xuICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgICAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAuay1yb3ctcmVzaXplLW1hcmtlciB7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgICAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgICAgICBoZWlnaHQ6IDJweDtcbiAgICAgICAgICAgICAgICBvcGFjaXR5OiAuODtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxufVxuIiwiQHVzZSBcInNhc3M6bWFwXCI7XG5AdXNlIFwiLi4vY29yZS9faW5kZXguc2Nzc1wiIGFzICo7XG5AdXNlIFwiLi4vaW5wdXQvX3ZhcmlhYmxlcy5zY3NzXCIgYXMgKjtcblxuLy8vIFRoZSB3aWR0aCBvZiB0aGUgYm9yZGVyIGFyb3VuZCB0aGUg0JVkaXRvci5cbi8vLyBAZ3JvdXAgZWRpdG9yXG4ka2VuZG8tZWRpdG9yLWJvcmRlci13aWR0aDogMXB4ICFkZWZhdWx0O1xuLy8vIFRoZSBmb250IGZhbWlseSBvZiB0aGUg0JVkaXRvci5cbi8vLyBAZ3JvdXAgZWRpdG9yXG4ka2VuZG8tZWRpdG9yLWZvbnQtZmFtaWx5OiB2YXIoIC0ta2VuZG8tZm9udC1mYW1pbHksIGluaGVyaXQgKSAhZGVmYXVsdDtcbi8vLyBUaGUgZm9udCBzaXplIG9mIHRoZSDQlWRpdG9yLlxuLy8vIEBncm91cCBlZGl0b3JcbiRrZW5kby1lZGl0b3ItZm9udC1zaXplOiB2YXIoIC0ta2VuZG8tZm9udC1zaXplLCBpbmhlcml0ICkgIWRlZmF1bHQ7XG4vLy8gVGhlIGxpbmUgaGVpZ2h0IG9mIHRoZSDQlWRpdG9yLlxuLy8vIEBncm91cCBlZGl0b3JcbiRrZW5kby1lZGl0b3ItbGluZS1oZWlnaHQ6IHZhciggLS1rZW5kby1saW5lLWhlaWdodCwgbm9ybWFsICkgIWRlZmF1bHQ7XG4vLy8gVGhlIHRleHQgY29sb3Igb2YgdGhlIEVkaXRvci5cbi8vLyBAZ3JvdXAgZWRpdG9yXG4ka2VuZG8tZWRpdG9yLXRleHQ6IHZhciggLS1rZW5kby1jb21wb25lbnQtdGV4dCwgaW5pdGlhbCApICFkZWZhdWx0O1xuLy8vIFRoZSBiYWNrZ3JvdW5kIGNvbG9yIG9mIHRoZSBFZGl0b3IuXG4vLy8gQGdyb3VwIGVkaXRvclxuJGtlbmRvLWVkaXRvci1iZzogdmFyKCAtLWtlbmRvLWNvbXBvbmVudC1iZywgaW5pdGlhbCApICFkZWZhdWx0O1xuLy8vIFRoZSBjb2xvciBvZiB0aGUgYm9yZGVyIGFyb3VuZCBFZGl0b3IuXG4vLy8gQGdyb3VwIGVkaXRvclxuJGtlbmRvLWVkaXRvci1ib3JkZXI6IHZhciggLS1rZW5kby1jb21wb25lbnQtYm9yZGVyLCBpbml0aWFsICkgIWRlZmF1bHQ7XG4vLy8gVGhlIHRleHQgY29sb3Igb2YgdGhlINCVZGl0b3IncyBwbGFjZWhvbGRlci5cbi8vLyBAZ3JvdXAgZWRpdG9yXG4ka2VuZG8tZWRpdG9yLXBsYWNlaG9sZGVyLXRleHQ6IHZhciggLS1rZW5kby1pbnB1dC1wbGFjZWhvbGRlci10ZXh0LCAjeyRrZW5kby1pbnB1dC1wbGFjZWhvbGRlci10ZXh0fSApICFkZWZhdWx0O1xuLy8vIFRoZSBvcGFjaXR5IG9mIHRoZSBFZGl0b3IncyBwbGFjZWhvbGRlci5cbi8vLyBAZ3JvdXAgZWRpdG9yXG4ka2VuZG8tZWRpdG9yLXBsYWNlaG9sZGVyLW9wYWNpdHk6IHZhciggLS1rZW5kby1pbnB1dC1wbGFjZWhvbGRlci1vcGFjaXR5LCAjeyRrZW5kby1pbnB1dC1wbGFjZWhvbGRlci1vcGFjaXR5fSApICFkZWZhdWx0O1xuLy8vIFRoZSBvdXRsaW5lIGNvbG9yIG9mIHRoZSBFZGl0b3IncyBjb250ZW50LlxuLy8vIEBncm91cCBlZGl0b3JcbiRrZW5kby1lZGl0b3ItY29udGVudC1vdXRsaW5lLWNvbG9yOiB2YXIoIC0ta2VuZG8tYm9keS10ZXh0LCBpbml0aWFsICkgIWRlZmF1bHQ7XG4vLy8gVGhlIGhvcml6b250YWwgbWFyZ2luIG9mIHRoZSBFZGl0b3IncyBleHBvcnQgdG9vbCBpY29uLlxuLy8vIEBncm91cCBlZGl0b3JcbiRrZW5kby1lZGl0b3ItZXhwb3J0LXRvb2wtaWNvbi1tYXJnaW4teDogay1zcGFjaW5nKDEpICFkZWZhdWx0O1xuLy8vIFRoZSBvdXRsaW5lIHdpZHRoIG9mIHRoZSBFZGl0b3IncyBzZWxlY3RlZCBub2RlLlxuLy8vIEBncm91cCBlZGl0b3JcbiRrZW5kby1lZGl0b3Itc2VsZWN0ZWRub2RlLW91dGxpbmUtd2lkdGg6IGstc3BhY2luZygwLjUpICFkZWZhdWx0O1xuXG4vLy8gVGhlIHNlbGVjdGVkIHRleHQgY29sb3Igb2YgdGhlIEVkaXRvci5cbi8vLyBAZ3JvdXAgZWRpdG9yXG4ka2VuZG8tZWRpdG9yLXNlbGVjdGVkLXRleHQ6IGlmKCRrZW5kby1lbmFibGUtY29sb3Itc3lzdGVtLCBrLWNvbG9yKCBhcHAtc3VyZmFjZSApLCAka2VuZG8tY29sb3Itd2hpdGUpICFkZWZhdWx0O1xuLy8vIFRoZSBzZWxlY3RlZCBiYWNrZ3JvdW5kIGNvbG9yIG9mIHRoZSBFZGl0b3IuXG4vLy8gQGdyb3VwIGVkaXRvclxuJGtlbmRvLWVkaXRvci1zZWxlY3RlZC1iZzogaWYoJGtlbmRvLWVuYWJsZS1jb2xvci1zeXN0ZW0sIGstY29sb3IoIHByaW1hcnkgKSwgay1nZXQtdGhlbWUtY29sb3ItdmFyKCBwcmltYXJ5LTEwMCApKSAhZGVmYXVsdDtcbi8vLyBUaGUgaGlnaGxpZ2h0ZWQgYmFja2dyb3VuZCBjb2xvciBvZiB0aGUgRWRpdG9yLlxuLy8vIEBncm91cCBlZGl0b3JcbiRrZW5kby1lZGl0b3ItaGlnaGxpZ2h0ZWQtYmc6IGlmKCRrZW5kby1lbmFibGUtY29sb3Itc3lzdGVtLCBjb2xvci1taXgoaW4gc3JnYiwgay1jb2xvciggcHJpbWFyeSApIDU1JSwgdHJhbnNwYXJlbnQpLCBrLWdldC10aGVtZS1jb2xvci12YXIoIHByaW1hcnktNjAgKSkgIWRlZmF1bHQ7XG5cbi8vLyBUaGUgc2l6ZSBvZiB0aGUgRWRpdG9yJ3MgcmVzaXplIGhhbmRsZS5cbi8vLyBAZ3JvdXAgZWRpdG9yXG4ka2VuZG8tZWRpdG9yLXJlc2l6ZS1oYW5kbGUtc2l6ZTogay1zcGFjaW5nKDIpICFkZWZhdWx0O1xuLy8vIFRoZSBib3JkZXIgd2lkdGggb2YgdGhlIEVkaXRvcidzIHJlc2l6ZSBoYW5kbGUuXG4vLy8gQGdyb3VwIGVkaXRvclxuJGtlbmRvLWVkaXRvci1yZXNpemUtaGFuZGxlLWJvcmRlci13aWR0aDogMXB4ICFkZWZhdWx0O1xuLy8vIFRoZSBib3JkZXIgY29sb3Igb2YgdGhlIEVkaXRvcidzIHJlc2l6ZSBoYW5kbGUuXG4vLy8gQGdyb3VwIGVkaXRvclxuJGtlbmRvLWVkaXRvci1yZXNpemUtaGFuZGxlLWJvcmRlcjogaWYoJGtlbmRvLWVuYWJsZS1jb2xvci1zeXN0ZW0sIGstY29sb3IoIG9uLWFwcC1zdXJmYWNlICksICRrZW5kby1jb2xvci1ibGFjaykgIWRlZmF1bHQ7XG4vLy8gVGhlIGJhY2tncm91bmQgY29sb3Igb2YgdGhlIEVkaXRvcidzIHJlc2l6ZSBoYW5kbGUuXG4vLy8gQGdyb3VwIGVkaXRvclxuJGtlbmRvLWVkaXRvci1yZXNpemUtaGFuZGxlLWJnOiBpZigka2VuZG8tZW5hYmxlLWNvbG9yLXN5c3RlbSwgay1jb2xvciggYXBwLXN1cmZhY2UgKSwgJGtlbmRvLWNvbG9yLXdoaXRlKSAhZGVmYXVsdDtcblxuLy8vIFRoZSBvdXRsaW5lIGNvbG9yIG9mIHRoZSBFZGl0b3IncyBzZWxlY3RlZCBub2RlLlxuLy8vIEBncm91cCBlZGl0b3JcbiRrZW5kby1lZGl0b3Itc2VsZWN0ZWRub2RlLW91dGxpbmUtY29sb3I6IGlmKCRrZW5kby1lbmFibGUtY29sb3Itc3lzdGVtLCBrLWNvbG9yKCBwcmltYXJ5ICksIGstZ2V0LXRoZW1lLWNvbG9yLXZhciggcHJpbWFyeS0xMDAgKSkgIWRlZmF1bHQ7XG5cbi8vLyBUaGUgYm9yZGVyIGNvbG9yIG9mIHRoZSBJbmxpbmUgRWRpdG9yIGRhdGEgY2VsbC5cbi8vLyBAZ3JvdXAgZWRpdG9yXG4ka2VuZG8tZWRpdG9yLWlubGluZS10ZC1ib3JkZXI6IHZhciggLS1rZW5kby1jb21wb25lbnQtYm9yZGVyLCBpbml0aWFsICkgIWRlZmF1bHQ7XG4vLy8gVGhlIGhvdmVyIGJvcmRlciBjb2xvciBvZiB0aGUgSW5saW5lIEVkaXRvci5cbi8vLyBAZ3JvdXAgZWRpdG9yXG4ka2VuZG8tZWRpdG9yLWlubGluZS1ob3Zlci1ib3JkZXI6IHZhciggLS1rZW5kby1jb21wb25lbnQtYm9yZGVyLCBpbml0aWFsICkgIWRlZmF1bHQ7XG5cbi8vIEluc2VydCB0YWJsZVxuLy8vIFRoZSBzaXplIG9mIHRoZSBjZWxsIGluIHRoZSBJbnNlcnQgdGFibGUgcG9wdXAuXG4vLy8gQGdyb3VwIGVkaXRvclxuJGN0LWNlbGwtc2l6ZTogMjBweCAhZGVmYXVsdDtcbi8vLyBUaGUgdGV4dCBjb2xvciBvZiB0aGUgc2VsZWN0ZWQgY2VsbHMgaW4gdGhlIEluc2VydCB0YWJsZSBwb3B1cC5cbi8vLyBAZ3JvdXAgZWRpdG9yXG4ka2VuZG8tZWRpdG9yLWN0LXBvcHVwLXRleHQ6IHZhciggLS1rZW5kby1zZWxlY3RlZC10ZXh0LCBpbml0aWFsICkgIWRlZmF1bHQ7XG4vLy8gVGhlIGJhY2tncm91bmQgY29sb3Igb2YgdGhlIHNlbGVjdGVkIGNlbGxzIGluIHRoZSBJbnNlcnQgdGFibGUgcG9wdXAuXG4vLy8gQGdyb3VwIGVkaXRvclxuJGtlbmRvLWVkaXRvci1jdC1wb3B1cC1iZzogdmFyKCAtLWtlbmRvLXNlbGVjdGVkLWJnLCBpbml0aWFsICkgIWRlZmF1bHQ7XG4vLy8gVGhlIGJvcmRlciBjb2xvciBvZiB0aGUgc2VsZWN0ZWQgY2VsbHMgaW4gdGhlIEluc2VydCB0YWJsZSBwb3B1cC5cbi8vLyBAZ3JvdXAgZWRpdG9yXG4ka2VuZG8tZWRpdG9yLWN0LXBvcHVwLWJvcmRlcjogdmFyKCAtLWtlbmRvLXNlbGVjdGVkLWJvcmRlciwgaW5pdGlhbCApICFkZWZhdWx0O1xuIiwiQHVzZSBcIi4uL2NvcmUvX2luZGV4LnNjc3NcIiBhcyAqO1xuQHVzZSBcIi4vX3ZhcmlhYmxlcy5zY3NzXCIgYXMgKjtcblxuQG1peGluIGtlbmRvLWVkaXRvci0tdGhlbWUoKSB7XG5cbiAgICAuay1lZGl0b3Ige1xuICAgICAgICBAaW5jbHVkZSBmaWxsKFxuICAgICAgICAgICAgdmFyKCAtLWtlbmRvLWVkaXRvci10ZXh0LCAjeyRrZW5kby1lZGl0b3ItdGV4dH0gKSxcbiAgICAgICAgICAgIHZhciggLS1rZW5kby1lZGl0b3ItYmcsICN7JGtlbmRvLWVkaXRvci1iZ30gKSxcbiAgICAgICAgICAgIHZhciggLS1rZW5kby1lZGl0b3ItYm9yZGVyLCAjeyRrZW5kby1lZGl0b3ItYm9yZGVyfSApXG4gICAgICAgICk7XG4gICAgfVxuXG4gICAga2VuZG8tZWRpdG9yIHtcbiAgICAgICAgJi5rLXJlYWRvbmx5IHtcbiAgICAgICAgICAgIC5rLWVkaXRvci1jb250ZW50OmZvY3VzLFxuICAgICAgICAgICAgLmstZWRpdG9yLWNvbnRlbnQuay1mb2N1cyB7XG4gICAgICAgICAgICAgICAgb3V0bGluZS1jb2xvcjogdmFyKCAtLWtlbmRvLWVkaXRvci1jb250ZW50LW91dGxpbmUtY29sb3IsICN7JGtlbmRvLWVkaXRvci1jb250ZW50LW91dGxpbmUtY29sb3J9ICk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBJbmxpbmUgRWRpdG9yXG4gICAgLmstZWRpdG9yLWlubGluZSB7XG5cbiAgICAgICAgLmstdGFibGUge1xuICAgICAgICAgICAgJixcbiAgICAgICAgICAgICYgdGQge1xuICAgICAgICAgICAgICAgIGJvcmRlci1jb2xvcjogdmFyKCAtLWtlbmRvLWVkaXRvci1pbmxpbmUtdGQtYm9yZGVyLCAjeyRrZW5kby1lZGl0b3ItaW5saW5lLXRkLWJvcmRlcn0gKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC5rLWVsZW1lbnQtcmVzaXplLWhhbmRsZS13cmFwcGVyIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHZhciggLS1rZW5kby1lZGl0b3ItcmVzaXplLWhhbmRsZS1iZywgI3ska2VuZG8tZWRpdG9yLXJlc2l6ZS1oYW5kbGUtYmd9ICk7XG4gICAgICAgICAgICBib3JkZXItY29sb3I6IHZhciggLS1rZW5kby1lZGl0b3ItcmVzaXplLWhhbmRsZS1ib3JkZXIsICN7JGtlbmRvLWVkaXRvci1yZXNpemUtaGFuZGxlLWJvcmRlcn0gKTtcbiAgICAgICAgfVxuXG4gICAgICAgIC5rLWNvbHVtbi1yZXNpemUtaGFuZGxlLXdyYXBwZXIge1xuICAgICAgICAgICAgLmstY29sdW1uLXJlc2l6ZS1oYW5kbGUge1xuICAgICAgICAgICAgICAgIC5rLWNvbHVtbi1yZXNpemUtbWFya2VyIHtcbiAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzAwYjBmZjtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAuay1yb3ctcmVzaXplLWhhbmRsZS13cmFwcGVyIHtcbiAgICAgICAgICAgIC5rLXJvdy1yZXNpemUtbWFya2VyIHtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDBiMGZmO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLy8gSG92ZXIgJiBBY3R2ZSBzdGF0ZVxuICAgICAgICAmOmhvdmVyLFxuICAgICAgICAmLmstYWN0aXZlIHtcbiAgICAgICAgICAgIGJvcmRlci1jb2xvcjogdmFyKCAtLWtlbmRvLWVkaXRvci1pbmxpbmUtaG92ZXItYm9yZGVyLCAjeyRrZW5kby1lZGl0b3ItaW5saW5lLWhvdmVyLWJvcmRlcn0gKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8vIFJlc2l6YWJsZSBpbWFnZXNcbiAgICAuay1lZGl0b3ItcmVzaXplLWhhbmRsZSB7XG4gICAgICAgQGluY2x1ZGUgZmlsbCAoXG4gICAgICAgICAgICAkYmc6IHZhciggLS1rZW5kby1lZGl0b3ItcmVzaXplLWhhbmRsZS1iZywgI3ska2VuZG8tZWRpdG9yLXJlc2l6ZS1oYW5kbGUtYmd9ICksXG4gICAgICAgICAgICAkYm9yZGVyOiB2YXIoIC0ta2VuZG8tZWRpdG9yLXJlc2l6ZS1oYW5kbGUtYm9yZGVyLCAjeyRrZW5kby1lZGl0b3ItcmVzaXplLWhhbmRsZS1ib3JkZXJ9IClcbiAgICAgICApO1xuICAgIH1cbiAgICAuUHJvc2VNaXJyb3Itc2VsZWN0ZWRub2RlIHsgLy8gc3R5bGVsaW50LWRpc2FibGUtbGluZVxuICAgICAgICBvdXRsaW5lLWNvbG9yOiB2YXIoIC0ta2VuZG8tZWRpdG9yLXNlbGVjdGVkbm9kZS1vdXRsaW5lLWNvbG9yLCAjeyRrZW5kby1lZGl0b3Itc2VsZWN0ZWRub2RlLW91dGxpbmUtY29sb3J9ICk7XG4gICAgfVxuXG5cbiAgICAvLyBJbnNlcnQgdGFibGVcbiAgICAuay1jdC1wb3B1cCB7XG4gICAgICAgIC5rLXNlbGVjdGVkIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGZpbGwoXG4gICAgICAgICAgICAgICAgdmFyKCAtLS1rZW5kby1lZGl0b3ItY3QtcG9wdXAtdGV4dCwgI3ska2VuZG8tZWRpdG9yLWN0LXBvcHVwLXRleHR9ICksXG4gICAgICAgICAgICAgICAgdmFyKCAtLWtlbmRvLWVkaXRvci1jdC1wb3B1cC1iZywgI3ska2VuZG8tZWRpdG9yLWN0LXBvcHVwLWJnfSApLFxuICAgICAgICAgICAgICAgIHZhciggLS1rZW5kby1lZGl0b3ItY3QtcG9wdXAtYm9yZGVyLCAjeyRrZW5kby1lZGl0b3ItY3QtcG9wdXAtYm9yZGVyfSApXG4gICAgICAgICAgICApO1xuICAgICAgICB9XG5cbiAgICAgICAgLmstZGlzYWJsZWQ6bm90KC5rLXNlbGVjdGVkKSB7XG4gICAgICAgICAgICBAaW5jbHVkZSBmaWxsIChcbiAgICAgICAgICAgICAgICAkYmc6IHZhciggLS1rZW5kby1kaXNhYmxlZC1iZywgaW5oZXJpdCApLFxuICAgICAgICAgICAgICAgICRib3JkZXI6IHZhciggLS1rZW5kby1kaXNhYmxlZC1ib3JkZXIsIGluaGVyaXQgKVxuICAgICAgICAgICAgKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8vIENvbnRlbnRcbiAgICAuay1lZGl0b3ItY29udGVudCB7XG5cbiAgICAgICAgLy8gU2VsZWN0aW9uXG4gICAgICAgIC5rLXRleHQtc2VsZWN0ZWQsXG4gICAgICAgICY6OnNlbGVjdGlvbiB7XG4gICAgICAgICAgICBAaW5jbHVkZSBmaWxsIChcbiAgICAgICAgICAgICAgICAkY29sb3I6IHZhciggLS1rZW5kby1lZGl0b3Itc2VsZWN0ZWQtdGV4dCwgI3ska2VuZG8tZWRpdG9yLXNlbGVjdGVkLXRleHR9ICksXG4gICAgICAgICAgICAgICAgJGJnOiB2YXIoIC0ta2VuZG8tZWRpdG9yLXNlbGVjdGVkLWJnLCAjeyRrZW5kby1lZGl0b3Itc2VsZWN0ZWQtYmd9IClcbiAgICAgICAgICAgICk7XG4gICAgICAgIH1cblxuICAgICAgICAuay10ZXh0LWhpZ2hsaWdodGVkIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGZpbGwgKFxuICAgICAgICAgICAgICAgICRiZzogdmFyKCAtLWtlbmRvLWVkaXRvci1oaWdobGlnaHRlZC1iZywgI3ska2VuZG8tZWRpdG9yLWhpZ2hsaWdodGVkLWJnfSApXG4gICAgICAgICAgICApO1xuICAgICAgICB9XG5cbiAgICAgICAgLy8gVGFibGUgc3R5bGVzXG4gICAgICAgIHRkLFxuICAgICAgICB0aCB7XG4gICAgICAgICAgICBib3JkZXItY29sb3I6ICNkZGRkZGQ7XG4gICAgICAgIH1cblxuICAgICAgICAuc2VsZWN0ZWRDZWxsOjphZnRlciB7IC8vIHN0eWxlbGludC1kaXNhYmxlLWxpbmVcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMjAwLCAyMDAsIDI1NSwgLjQpO1xuICAgICAgICB9XG4gICAgfVxuXG59XG4iLCJAdXNlIFwiLi4vY29yZS9faW5kZXguc2Nzc1wiIGFzICo7XG5AdXNlIFwiLi9fdmFyaWFibGVzLnNjc3NcIiBhcyAqO1xuXG5AbWl4aW4ga2VuZG8taW1hZ2UtZWRpdG9yLS1sYXlvdXQoKSB7XG5cbiAgICAvLyBJbWFnZSBFZGl0b3JcbiAgICAuay1pbWFnZWVkaXRvciB7XG4gICAgICAgIG1hcmdpbi1pbmxpbmU6IHZhciggLS1rZW5kby1pbWFnZS1lZGl0b3ItbWFyZ2luLXgsICN7JGtlbmRvLWltYWdlLWVkaXRvci1tYXJnaW4teH0gKTtcbiAgICAgICAgbWFyZ2luLWJsb2NrOiB2YXIoIC0ta2VuZG8taW1hZ2UtZWRpdG9yLW1hcmdpbi15LCAjeyRrZW5kby1pbWFnZS1lZGl0b3ItbWFyZ2luLXl9ICk7XG4gICAgICAgIHBhZGRpbmctaW5saW5lOiB2YXIoIC0ta2VuZG8taW1hZ2UtZWRpdG9yLXBhZGRpbmcteCwgI3ska2VuZG8taW1hZ2UtZWRpdG9yLXBhZGRpbmcteH0gKTtcbiAgICAgICAgcGFkZGluZy1ibG9jazogdmFyKCAtLWtlbmRvLWltYWdlLWVkaXRvci1wYWRkaW5nLXksICN7JGtlbmRvLWltYWdlLWVkaXRvci1wYWRkaW5nLXl9ICk7XG4gICAgICAgIGJvcmRlci13aWR0aDogdmFyKCAtLWtlbmRvLWltYWdlLWVkaXRvci1ib3JkZXItd2lkdGgsICN7JGtlbmRvLWltYWdlLWVkaXRvci1ib3JkZXItd2lkdGh9ICk7XG4gICAgICAgIGJvcmRlci1zdHlsZTogc29saWQ7XG4gICAgICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgICAgIG91dGxpbmU6IDA7XG4gICAgICAgIGZvbnQtZmFtaWx5OiB2YXIoIC0ta2VuZG8taW1hZ2UtZWRpdG9yLWZvbnQtZmFtaWx5LCAjeyRrZW5kby1pbWFnZS1lZGl0b3ItZm9udC1mYW1pbHl9ICk7XG4gICAgICAgIGZvbnQtc2l6ZTogdmFyKCAtLWtlbmRvLWltYWdlLWVkaXRvci1mb250LXNpemUsICN7JGtlbmRvLWltYWdlLWVkaXRvci1mb250LXNpemV9ICk7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiB2YXIoIC0ta2VuZG8taW1hZ2UtZWRpdG9yLWxpbmUtaGVpZ2h0LCAjeyRrZW5kby1pbWFnZS1lZGl0b3ItbGluZS1oZWlnaHR9ICk7XG4gICAgICAgIC13ZWJraXQtdG91Y2gtY2FsbG91dDogbm9uZTtcbiAgICAgICAgLXdlYmtpdC10YXAtaGlnaGxpZ2h0LWNvbG9yOiAka2VuZG8tY29sb3ItcmdiYS10cmFuc3BhcmVudDtcblxuICAgICAgICAqLFxuICAgICAgICAqOjpiZWZvcmUsXG4gICAgICAgICo6OmFmdGVyIHtcbiAgICAgICAgICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgICAgIH1cbiAgICB9XG5cblxuICAgIC8vIEltYWdlIGVkaXRvciB0b29sYmFyXG4gICAgLmstaW1hZ2VlZGl0b3ItdG9vbGJhciB7XG4gICAgICAgIGJvcmRlci13aWR0aDogMDtcbiAgICB9XG5cblxuICAgIC8vIENvbnRlbnRcbiAgICAuay1pbWFnZWVkaXRvci1jb250ZW50IHtcbiAgICAgICAgYm9yZGVyLXdpZHRoOiAwO1xuICAgICAgICBib3JkZXItc3R5bGU6IHNvbGlkO1xuICAgICAgICBib3JkZXItY29sb3I6IGluaGVyaXQ7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGZsZXgtZmxvdzogcm93IG5vd3JhcDtcbiAgICB9XG5cblxuICAgIC8vIENhbnZhc1xuICAgIC5rLWltYWdlZWRpdG9yLWNhbnZhcy1jb250YWluZXIge1xuICAgICAgICBmbGV4OiAxIDEgMTAwJTtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgZmxleC1mbG93OiByb3cgbm93cmFwO1xuICAgICAgICBvdmVyZmxvdzogYXV0bztcbiAgICB9XG4gICAgLmstaW1hZ2VlZGl0b3ItY2FudmFzIHtcbiAgICAgICAgbWFyZ2luOiBhdXRvO1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgfVxuXG5cbiAgICAvLyBBY3Rpb24gUGFuZVxuICAgIC5rLWltYWdlZWRpdG9yLWFjdGlvbi1wYW5lIHtcbiAgICAgICAgcGFkZGluZy1pbmxpbmU6IHZhciggLS1rZW5kby1pbWFnZS1lZGl0b3ItYWN0aW9uLXBhbmUtcGFkZGluZy14LCAjeyRrZW5kby1pbWFnZS1lZGl0b3ItYWN0aW9uLXBhbmUtcGFkZGluZy14fSApO1xuICAgICAgICBwYWRkaW5nLWJsb2NrOiB2YXIoIC0ta2VuZG8taW1hZ2UtZWRpdG9yLWFjdGlvbi1wYW5lLXBhZGRpbmcteSwgI3ska2VuZG8taW1hZ2UtZWRpdG9yLWFjdGlvbi1wYW5lLXBhZGRpbmcteX0gKTtcbiAgICAgICAgd2lkdGg6IHZhciggLS1rZW5kby1pbWFnZS1lZGl0b3ItYWN0aW9uLXBhbmUtd2lkdGgsICN7JGtlbmRvLWltYWdlLWVkaXRvci1hY3Rpb24tcGFuZS13aWR0aH0gKTtcbiAgICAgICAgYm9yZGVyLXdpZHRoOiAwO1xuICAgICAgICBib3JkZXItbGVmdC13aWR0aDogdmFyKCAtLWtlbmRvLWltYWdlLWVkaXRvci1jb250ZW50LWJvcmRlci13aWR0aCwgI3ska2VuZG8taW1hZ2UtZWRpdG9yLWNvbnRlbnQtYm9yZGVyLXdpZHRofSApO1xuICAgICAgICBib3JkZXItc3R5bGU6IHNvbGlkO1xuICAgICAgICBib3JkZXItY29sb3I6IGluaGVyaXQ7XG4gICAgICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgICAgIGZsZXg6IG5vbmU7XG4gICAgICAgIG92ZXJmbG93LXk6IGF1dG87XG5cbiAgICAgICAgLmstaW5wdXQtaW5uZXIsXG4gICAgICAgIC5rLWlucHV0LXZhbHVlLXRleHQge1xuICAgICAgICAgICAgdGV4dC1vdmVyZmxvdzogY2xpcDtcbiAgICAgICAgfVxuICAgIH1cblxuXG4gICAgLy8gQ3JvcCBUb29sXG4gICAgLmstaW1hZ2VlZGl0b3ItY3JvcC1vdmVybGF5IHtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB0b3A6IDA7XG4gICAgICAgIGxlZnQ6IDA7XG4gICAgfVxuXG4gICAgLmstaW1hZ2VlZGl0b3ItY3JvcCB7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgIGJvcmRlci13aWR0aDogdmFyKCAtLWtlbmRvLWltYWdlLWVkaXRvci1jcm9wLWJvcmRlci13aWR0aCwgI3ska2VuZG8taW1hZ2UtZWRpdG9yLWNyb3AtYm9yZGVyLXdpZHRofSApO1xuICAgICAgICBib3JkZXItc3R5bGU6IHZhciggLS1rZW5kby1pbWFnZS1lZGl0b3ItY3JvcC1ib3JkZXItc3R5bGUsICN7JGtlbmRvLWltYWdlLWVkaXRvci1jcm9wLWJvcmRlci1zdHlsZX0gKTtcbiAgICAgICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuXG4gICAgICAgIC5rLXJlc2l6ZS1oYW5kbGUge1xuICAgICAgICAgICAgbWFyZ2luLWlubGluZTogdmFyKCAtLWtlbmRvLWltYWdlLWVkaXRvci1yZXNpemUtaGFuZGxlLW1hcmdpbi14LCAjeyRrZW5kby1pbWFnZS1lZGl0b3ItcmVzaXplLWhhbmRsZS1tYXJnaW4teH0gKTtcbiAgICAgICAgICAgIG1hcmdpbi1ibG9jazogdmFyKCAtLWtlbmRvLWltYWdlLWVkaXRvci1yZXNpemUtaGFuZGxlLW1hcmdpbi15LCAjeyRrZW5kby1pbWFnZS1lZGl0b3ItcmVzaXplLWhhbmRsZS1tYXJnaW4teX0gKTtcbiAgICAgICAgICAgIGJvcmRlci1zdHlsZTogc29saWQ7XG4gICAgICAgICAgICBib3JkZXItd2lkdGg6IHZhciggLS1rZW5kby1pbWFnZS1lZGl0b3ItcmVzaXplLWhhbmRsZS1ib3JkZXItd2lkdGgsICN7JGtlbmRvLWltYWdlLWVkaXRvci1yZXNpemUtaGFuZGxlLWJvcmRlci13aWR0aH0gKTtcbiAgICAgICAgfVxuXG4gICAgICAgIC5rLXJlc2l6ZS1zdyxcbiAgICAgICAgLmstcmVzaXplLXNlLFxuICAgICAgICAuay1yZXNpemUtbncsXG4gICAgICAgIC5rLXJlc2l6ZS1uZSB7XG4gICAgICAgICAgICB3aWR0aDogdmFyKCAtLWtlbmRvLWltYWdlLWVkaXRvci1yZXNpemUtaGFuZGxlLXNpemUsICN7JGtlbmRvLWltYWdlLWVkaXRvci1yZXNpemUtaGFuZGxlLXNpemV9ICk7XG4gICAgICAgICAgICBoZWlnaHQ6IHZhciggLS1rZW5kby1pbWFnZS1lZGl0b3ItcmVzaXplLWhhbmRsZS1zaXplLCAjeyRrZW5kby1pbWFnZS1lZGl0b3ItcmVzaXplLWhhbmRsZS1zaXplfSApO1xuICAgICAgICB9XG5cbiAgICAgICAgLmstcmVzaXplLW4sXG4gICAgICAgIC5rLXJlc2l6ZS1zIHtcbiAgICAgICAgICAgIC0tSU5URVJOQUwtLWtlbmRvLWltYWdlLWVkaXRvci1yZXNpemUtbGVmdC1vZmZzZXQ6IHZhciggLS1rZW5kby1pbWFnZS1lZGl0b3ItcmVzaXplLWxlZnQtb2Zmc2V0LCAjeyRrZW5kby1pbWFnZS1lZGl0b3ItcmVzaXplLWxlZnQtb2Zmc2V0fSApO1xuICAgICAgICAgICAgbGVmdDogY2FsYyggNTAlIC0gdmFyKCAtLUlOVEVSTkFMLS1rZW5kby1pbWFnZS1lZGl0b3ItcmVzaXplLWxlZnQtb2Zmc2V0ICkgKTtcbiAgICAgICAgICAgIHdpZHRoOiB2YXIoIC0ta2VuZG8taW1hZ2UtZWRpdG9yLXJlc2l6ZS1oYW5kbGUtc2l6ZSwgI3ska2VuZG8taW1hZ2UtZWRpdG9yLXJlc2l6ZS1oYW5kbGUtc2l6ZX0gKTtcbiAgICAgICAgICAgIGhlaWdodDogMDtcbiAgICAgICAgfVxuXG4gICAgICAgIC5rLXJlc2l6ZS13LFxuICAgICAgICAuay1yZXNpemUtZSB7XG4gICAgICAgICAgICAtLUlOVEVSTkFMLS1rZW5kby1pbWFnZS1lZGl0b3ItcmVzaXplLXRvcC1vZmZzZXQ6IHZhciggLS1rZW5kby1pbWFnZS1lZGl0b3ItcmVzaXplLXRvcC1vZmZzZXQsICN7JGtlbmRvLWltYWdlLWVkaXRvci1yZXNpemUtdG9wLW9mZnNldH0gKTtcbiAgICAgICAgICAgIHRvcDogY2FsYyggNTAlIC0gdmFyKCAtLUlOVEVSTkFMLS1rZW5kby1pbWFnZS1lZGl0b3ItcmVzaXplLXRvcC1vZmZzZXQgKSApO1xuICAgICAgICAgICAgd2lkdGg6IDA7XG4gICAgICAgICAgICBoZWlnaHQ6IHZhciggLS1rZW5kby1pbWFnZS1lZGl0b3ItcmVzaXplLWhhbmRsZS1zaXplLCAjeyRrZW5kby1pbWFnZS1lZGl0b3ItcmVzaXplLWhhbmRsZS1zaXplfSApO1xuICAgICAgICB9XG5cbiAgICAgICAgLmstcmVzaXplLW5lIHtcbiAgICAgICAgICAgIHRyYW5zZm9ybTogcm90YXRlKC05MGRlZyk7XG4gICAgICAgIH1cblxuICAgICAgICAuay1yZXNpemUtbncge1xuICAgICAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoLTE4MGRlZyk7XG4gICAgICAgIH1cblxuXG4gICAgICAgIC5rLXJlc2l6ZS1zdyB7XG4gICAgICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSg5MGRlZyk7XG4gICAgICAgIH1cblxuICAgICAgICAuay1yZXNpemUtbiB7XG4gICAgICAgICAgICB0b3A6IDA7XG4gICAgICAgIH1cblxuICAgICAgICAuay1yZXNpemUtcyB7XG4gICAgICAgICAgICBib3R0b206IDA7XG4gICAgICAgIH1cblxuICAgICAgICAuay1yZXNpemUtdyB7XG4gICAgICAgICAgICBsZWZ0OiAwO1xuICAgICAgICB9XG5cbiAgICAgICAgLmstcmVzaXplLWUge1xuICAgICAgICAgICAgcmlnaHQ6IDA7XG4gICAgICAgIH1cbiAgICB9XG5cbn1cbiIsIkB1c2UgXCIuLi9jb3JlL19pbmRleC5zY3NzXCIgYXMgKjtcbkB1c2UgXCIuL192YXJpYWJsZXMuc2Nzc1wiIGFzICo7XG5cbkBtaXhpbiBrZW5kby1pbWFnZS1lZGl0b3ItLXRoZW1lKCkge1xuXG4gICAgLy8gSW1hZ2UgRWRpdG9yXG4gICAgLmstaW1hZ2VlZGl0b3Ige1xuICAgICAgICBAaW5jbHVkZSBmaWxsKFxuICAgICAgICAgICAgdmFyKCAtLWtlbmRvLWltYWdlLWVkaXRvci10ZXh0LCAjeyRrZW5kby1pbWFnZS1lZGl0b3ItdGV4dH0gKSxcbiAgICAgICAgICAgIHZhciggLS1rZW5kby1pbWFnZS1lZGl0b3ItYmcsICN7JGtlbmRvLWltYWdlLWVkaXRvci1iZ30gKSxcbiAgICAgICAgICAgIHZhciggLS1rZW5kby1pbWFnZS1lZGl0b3ItYm9yZGVyLCAjeyRrZW5kby1pbWFnZS1lZGl0b3ItYm9yZGVyfSApXG4gICAgICAgICk7XG4gICAgfVxuXG4gICAgLy8gQ29udGVudFxuICAgIC5rLWltYWdlZWRpdG9yLWNvbnRlbnQge1xuICAgICAgICBAaW5jbHVkZSBmaWxsKFxuICAgICAgICAgICAgdmFyKCAtLWtlbmRvLWltYWdlLWVkaXRvci1jb250ZW50LXRleHQsICN7JGtlbmRvLWltYWdlLWVkaXRvci1jb250ZW50LXRleHR9ICksXG4gICAgICAgICAgICB2YXIoIC0ta2VuZG8taW1hZ2UtZWRpdG9yLWNvbnRlbnQtYmcsICN7JGtlbmRvLWltYWdlLWVkaXRvci1jb250ZW50LWJnfSApLFxuICAgICAgICAgICAgdmFyKCAtLWtlbmRvLWltYWdlLWVkaXRvci1jb250ZW50LWJvcmRlciwgI3ska2VuZG8taW1hZ2UtZWRpdG9yLWNvbnRlbnQtYm9yZGVyfSApXG4gICAgICAgICk7XG4gICAgfVxuXG4gICAgLy8gQWN0aW9uIFBhbmVcbiAgICAuay1pbWFnZWVkaXRvci1hY3Rpb24tcGFuZSB7XG4gICAgICAgIEBpbmNsdWRlIGZpbGwoXG4gICAgICAgICAgICB2YXIoIC0ta2VuZG8taW1hZ2UtZWRpdG9yLWFjdGlvbi1wYW5lLXRleHQsICN7JGtlbmRvLWltYWdlLWVkaXRvci1hY3Rpb24tcGFuZS10ZXh0fSApLFxuICAgICAgICAgICAgdmFyKCAtLWtlbmRvLWltYWdlLWVkaXRvci1hY3Rpb24tcGFuZS1iZywgI3ska2VuZG8taW1hZ2UtZWRpdG9yLWFjdGlvbi1wYW5lLWJnfSApLFxuICAgICAgICAgICAgdmFyKCAtLWtlbmRvLWltYWdlLWVkaXRvci1hY3Rpb24tcGFuZS1ib3JkZXIsICN7JGtlbmRvLWltYWdlLWVkaXRvci1hY3Rpb24tcGFuZS1ib3JkZXJ9IClcbiAgICAgICAgKTtcbiAgICB9XG5cbiAgICAvLyBDcm9wIFRvb2xcbiAgICAuay1pbWFnZWVkaXRvci1jcm9wIHtcbiAgICAgICAgQGluY2x1ZGUgZmlsbChcbiAgICAgICAgICAgIHZhciggLS1rZW5kby1pbWFnZS1lZGl0b3ItY3JvcC10ZXh0LCAjeyRrZW5kby1pbWFnZS1lZGl0b3ItY3JvcC10ZXh0fSApLFxuICAgICAgICAgICAgdmFyKCAtLWtlbmRvLWltYWdlLWVkaXRvci1jcm9wLWJnLCAjeyRrZW5kby1pbWFnZS1lZGl0b3ItY3JvcC1iZ30gKSxcbiAgICAgICAgICAgIHZhciggLS1rZW5kby1pbWFnZS1lZGl0b3ItY3JvcC1ib3JkZXIsICN7JGtlbmRvLWltYWdlLWVkaXRvci1jcm9wLWJvcmRlcn0gKVxuICAgICAgICApO1xuICAgIH1cblxuICAgIC8vIENyb3AgT3ZlcmxheVxuICAgIC5rLWltYWdlZWRpdG9yLWNyb3Atb3ZlcmxheSB7XG4gICAgICAgIEBpbmNsdWRlIGZpbGwgKFxuICAgICAgICAgICAgJGJnOiB2YXIoIC0ta2VuZG8taW1hZ2UtZWRpdG9yLWNyb3Atb3ZlcmxheS1iZywgI3ska2VuZG8taW1hZ2UtZWRpdG9yLWNyb3Atb3ZlcmxheS1iZ30gKVxuICAgICAgICApO1xuICAgIH1cblxufVxuIiwiQHVzZSBcIi4uL2NvcmUvX2luZGV4LnNjc3NcIiBhcyAqO1xuQHVzZSBcIi4uL2J1dHRvbi9fdmFyaWFibGVzLnNjc3NcIiBhcyAqO1xuQHVzZSBcIi4uL2dyaWQvX3ZhcmlhYmxlcy5zY3NzXCIgYXMgKjtcbkB1c2UgXCIuLi90b29sYmFyL192YXJpYWJsZXMuc2Nzc1wiIGFzICo7XG5AdXNlIFwiLi9fdmFyaWFibGVzLnNjc3NcIiBhcyAqO1xuQHVzZSBcIi4uL2NvcmUvc3BhY2luZy9faW5kZXguc2Nzc1wiIGFzICo7XG5cbkBtaXhpbiBrZW5kby1nYW50dC0tbGF5b3V0KCkge1xuXG4gICAgLmstZ2FudHQge1xuICAgICAgICBib3JkZXItd2lkdGg6IHZhciggLS1rZW5kby1nYW50dC1ib3JkZXItd2lkdGgsICN7JGtlbmRvLWdhbnR0LWJvcmRlci13aWR0aH0gKTtcbiAgICAgICAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcbiAgICAgICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICAgICAgb3V0bGluZTogMDtcbiAgICAgICAgZm9udC1mYW1pbHk6IHZhciggLS1rZW5kby1nYW50dC1mb250LWZhbWlseSwgI3ska2VuZG8tZ2FudHQtZm9udC1mYW1pbHl9ICk7XG4gICAgICAgIGZvbnQtc2l6ZTogdmFyKCAtLWtlbmRvLWdhbnR0LWZvbnQtc2l6ZSwgI3ska2VuZG8tZ2FudHQtZm9udC1zaXplfSApO1xuICAgICAgICBsaW5lLWhlaWdodDogdmFyKCAtLWtlbmRvLWdhbnR0LWxpbmUtaGVpZ2h0LCAjeyRrZW5kby1nYW50dC1saW5lLWhlaWdodH0gKTtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgZmxleC1mbG93OiBjb2x1bW4gbm93cmFwO1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gICAgICAgIC13ZWJraXQtdG91Y2gtY2FsbG91dDogbm9uZTtcbiAgICAgICAgLXdlYmtpdC10YXAtaGlnaGxpZ2h0LWNvbG9yOiAka2VuZG8tY29sb3ItcmdiYS10cmFuc3BhcmVudDtcblxuICAgICAgICAuay10YWJsZS10ZCB7XG4gICAgICAgICAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICAgICAgICB9XG5cbiAgICAgICAgLy8gb3RoZXJcbiAgICAgICAgdGQge1xuICAgICAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAgICAgICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gICAgICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogdG9wO1xuICAgICAgICB9XG4gICAgICAgIC5rLWdyaWQtaGVhZGVyIHRyIHtcbiAgICAgICAgICAgIGhlaWdodDogY2FsYyggI3ska2VuZG8tbGluZS1oZWlnaHQtZW19ICsgY2FsYyggI3ska2VuZG8tZ3JpZC1oZWFkZXItcGFkZGluZy15fSAqIDIgKSArIDFweCApO1xuICAgICAgICB9XG4gICAgICAgIC5rLWdyaWQtaGVhZGVyIC5rLWhlYWRlciB7XG4gICAgICAgICAgICBwb3NpdGlvbjogc3RhdGljO1xuICAgICAgICAgICAgZm9udC13ZWlnaHQ6IHZhciggLS1rZW5kby1mb250LXdlaWdodC1ib2xkLCBib2xkICk7XG4gICAgICAgIH1cbiAgICAgICAgLmstdHJlZWxpc3QgLmstZ3JpZC1oZWFkZXIgLmstaGVhZGVyIHtcbiAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgfVxuICAgICAgICAuay1ncmlkLWNvbnRlbnQgdHIge1xuICAgICAgICAgICAgaGVpZ2h0OiBjYWxjKCAjeyRrZW5kby1saW5lLWhlaWdodC1lbX0gKyBjYWxjKCAjeyRrZW5kby1ncmlkLWNlbGwtcGFkZGluZy15fSAqIDIpICsgI3ska2VuZG8tZ3JpZC1jZWxsLWJvcmRlci13aWR0aC15fSApO1xuICAgICAgICB9XG5cbiAgICAgICAgJi5rLWdhbnR0LXBsYW5uZWQgLmstZ3JpZC1jb250ZW50IHRyIHtcbiAgICAgICAgICAgIGhlaWdodDogY2FsYyggI3ska2VuZG8tbGluZS1oZWlnaHQtZW19ICogMS43ICsgY2FsYyggI3ska2VuZG8tZ3JpZC1jZWxsLXBhZGRpbmcteX0gKiAyICkgKyAjeyRrZW5kby1ncmlkLWNlbGwtYm9yZGVyLXdpZHRoLXl9ICk7XG4gICAgICAgIH1cblxuICAgICAgICAvLyBMYXlvdXRcbiAgICAgICAgLmstZ2FudHQtbGF5b3V0IHtcbiAgICAgICAgICAgIHdoaXRlLXNwYWNlOiBub3JtYWw7XG4gICAgICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogdG9wO1xuICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICB9XG5cblxuICAgICAgICAvLyBTcGxpdGJhclxuICAgICAgICAuay1zcGxpdGJhciB7XG4gICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgICAgICAgfVxuXG4gICAgICAgIC8vIFNwbGl0dGVyXG4gICAgICAgIC5rLWdhbnR0LXNwbGl0dGVyIHtcbiAgICAgICAgICAgIGJvcmRlci13aWR0aDogMDtcbiAgICAgICAgfVxuXG4gICAgICAgIC8vIFJlYWN0IGdhbnR0XG4gICAgICAgIC5rLXRyZWVsaXN0LXNjcm9sbGFibGUge1xuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICBib3JkZXItd2lkdGg6IDA7XG4gICAgICAgICAgICBvdmVyZmxvdzogYXV0bztcblxuICAgICAgICAgICAgLmstZ3JpZC1oZWFkZXIgLmstaGVhZGVyIHtcbiAgICAgICAgICAgICAgICBwb3NpdGlvbjogc3RpY2t5O1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgLmstZ3JpZC1oZWFkZXIgdGgsXG4gICAgICAgICAgICAuay1ncmlkLWNvbnRlbnQtc3RpY2t5IHtcbiAgICAgICAgICAgICAgICB6LWluZGV4OiA0O1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgLmstZ3JpZC1oZWFkZXIgdGguay1ncmlkLWhlYWRlci1zdGlja3kge1xuICAgICAgICAgICAgICAgIHotaW5kZXg6IDU7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAuay1ncmlkLWhlYWRlciB0cjpmaXJzdC1jaGlsZCB0aDpsYXN0LWNoaWxkLFxuICAgICAgICAgICAgdGJvZHkgdGQ6bGFzdC1jaGlsZCB7XG4gICAgICAgICAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIC5rLWdyaWQtaGVhZGVyIHRoOmxhc3QtY2hpbGQge1xuICAgICAgICAgICAgICAgIC5rLWhlYWRlciB7XG4gICAgICAgICAgICAgICAgICAgIHBhZGRpbmctYmxvY2s6ICRrZW5kby1ncmlkLWhlYWRlci1wYWRkaW5nLXk7XG4gICAgICAgICAgICAgICAgICAgIHBhZGRpbmctaW5saW5lOiAka2VuZG8tZ3JpZC1oZWFkZXItcGFkZGluZy14O1xuICAgICAgICAgICAgICAgICAgICBib3JkZXItd2lkdGg6IDAgMCAxcHggJGtlbmRvLWdyaWQtY2VsbC1ib3JkZXItd2lkdGgteTtcbiAgICAgICAgICAgICAgICAgICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIHRyLmstc2VsZWN0ZWQgPiB0ZDpsYXN0LWNoaWxkIHtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLy8gVGFza1xuICAgICAgICAgICAgLmstdGFzayB7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gICAgICAgICAgICAgICAgZmxleC1mbG93OiByb3cgbm93cmFwO1xuICAgICAgICAgICAgICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gICAgICAgICAgICAgICAgei1pbmRleDogMztcblxuICAgICAgICAgICAgICAgICY6aG92ZXIgLmstdGFzay1zdGFydCxcbiAgICAgICAgICAgICAgICAmOmhvdmVyIC5rLXRhc2stZW5kIHtcbiAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgJjpob3ZlciAuay10YXNrLWRyYWdoYW5kbGUge1xuICAgICAgICAgICAgICAgICAgICB2aXNpYmlsaXR5OiB2aXNpYmxlO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIC5rLXRhc2stY29udGVudCB7XG4gICAgICAgICAgICAgICAgcGFkZGluZy1ibG9jazogdmFyKCAtLWtlbmRvLWdhbnR0LXRhc2stcGFkZGluZy15LCAjeyRrZW5kby1nYW50dC10YXNrLXBhZGRpbmcteX0gKTtcbiAgICAgICAgICAgICAgICBwYWRkaW5nLWlubGluZTogdmFyKCAtLWtlbmRvLWdhbnR0LXRhc2stcGFkZGluZy14LCAjeyRrZW5kby1nYW50dC10YXNrLXBhZGRpbmcteH0gKTtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgICAgICBsaW5lLWhlaWdodDogbm9ybWFsO1xuICAgICAgICAgICAgICAgIGZsZXg6IDEgMSBhdXRvO1xuICAgICAgICAgICAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgICAgICAgICAgICAgdGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7XG4gICAgICAgICAgICAgICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIC5rLXRhc2stYWN0aW9ucyB7XG4gICAgICAgICAgICAgICAgZmxleC1zaHJpbms6IDA7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC8vIE1pbGVzdG9uZVxuICAgICAgICAgICAgLmstdGFzay1taWxlc3RvbmUge1xuICAgICAgICAgICAgICAgIGJvcmRlcjogMDtcbiAgICAgICAgICAgICAgICB0cmFuc2Zvcm06IG5vbmU7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZDogbm9uZTtcblxuICAgICAgICAgICAgICAgIC5rLXRhc2stbWlsZXN0b25lLWNvbnRlbnQge1xuICAgICAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICAgICAgICAgICAgICBib3JkZXItd2lkdGg6IDFweDtcbiAgICAgICAgICAgICAgICAgICAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcbiAgICAgICAgICAgICAgICAgICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICAgICAgICAgICAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoNDVkZWcpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLy8gU3VtbWFyeVxuICAgICAgICAgICAgLmstdGFzay1zdW1tYXJ5IHtcbiAgICAgICAgICAgICAgICBoZWlnaHQ6IDE1cHg7XG4gICAgICAgICAgICAgICAgY2xpcC1wYXRoOiBwb2x5Z29uKC0yMHB4IDAsIGNhbGMoIDEwMCUgKyAyMHB4KSAwLCBjYWxjKCAxMDAlICsgMjBweCkgMTAwJSwgMTAwJSAxMDAlLCBjYWxjKCAxMDAlIC0gOHB4KSBjYWxjKCAxMDAlIC0gNXB4KSwgOHB4IGNhbGMoIDEwMCUgLSA1cHgpLCAwIDEwMCUsIC0yMHB4IDEwMCUpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgLmstdGFzay1zdW1tYXJ5LWNvbXBsZXRlIHtcbiAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgICAgICBoZWlnaHQ6IDE1cHg7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC8vIERvdHNcbiAgICAgICAgICAgIC5rLXRhc2stc3RhcnQge1xuICAgICAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtMTQwJSkgdHJhbnNsYXRlWSgtNTAlKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIC5rLXRhc2stZW5kIHtcbiAgICAgICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMTQwJSkgdHJhbnNsYXRlWSgtNTAlKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIC5rLW1hc3Rlci1yb3c6aG92ZXIgLmstdGFzay1kb3Qge1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAvLyBUYWJsZSB3aXRoIGNvbHVtbnMgYm9yZGVyc1xuICAgICAgICAgICAgLmstZ2FudHQtY29sdW1ucyB7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gICAgICAgICAgICAgICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gICAgICAgICAgICAgICAgdGFibGUtbGF5b3V0OiBmaXhlZDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC8vIERlcGVuZGVuY3kgbGluZXMgU1ZHXG4gICAgICAgIC5rLWdhbnR0LWRlcGVuZGVuY2llcy1zdmcge1xuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgdG9wOiAwO1xuICAgICAgICAgICAgaW5zZXQtaW5saW5lLXN0YXJ0OiAwO1xuICAgICAgICAgICAgb3ZlcmZsb3c6IHZpc2libGU7XG4gICAgICAgICAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgICAgICAgICAgIHotaW5kZXg6IDI7XG5cbiAgICAgICAgICAgIHBvbHlsaW5lIHtcbiAgICAgICAgICAgICAgICBzdHJva2Utd2lkdGg6IHZhciggLS1rZW5kby1nYW50dC1saW5lLXNpemUsICN7JGtlbmRvLWdhbnR0LWxpbmUtc2l6ZX0gKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8vIEhlYWRlciBhbmQgZm9vdGVyXG4gICAgLmstZ2FudHQtaGVhZGVyIHtcbiAgICAgICAgYm9yZGVyLXdpZHRoOiAwIDAgJGtlbmRvLXRvb2xiYXItYm9yZGVyLXdpZHRoO1xuICAgICAgICBmbGV4LXNocmluazogMDtcbiAgICAgICAgei1pbmRleDogNjtcbiAgICB9XG4gICAgLmstZ2FudHQtZm9vdGVyIHtcbiAgICAgICAgYm9yZGVyLXdpZHRoOiAxcHggMCAwO1xuICAgICAgICBmbGV4LXNocmluazogMDtcbiAgICB9XG5cblxuICAgIC8vIEdhbnR0IHZpZXdzXG4gICAgLmstZ2FudHQtdmlld3Mtd3JhcHBlciB7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xuXG4gICAgICAgIC5rLXZpZXdzLWRyb3Bkb3duIHtcbiAgICAgICAgICAgIHdpZHRoOiBhdXRvO1xuICAgICAgICAgICAgZm9udC1zaXplOiBpbmhlcml0O1xuICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAgICAgfVxuICAgIH1cblxuXG4gICAgLy8gUmVzcG9uc2l2ZSBnYW50dCB0b29sYmFyXG4gICAgLmstZ2FudHQtdG9nZ2xlIHtcbiAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG5cbiAgICBAbWVkaWEgKG1heC13aWR0aDogNDgwcHgpIHsgLy8gc3R5bGVsaW50LWRpc2FibGUtbGluZVxuXG4gICAgICAgIC5rLWdhbnR0LXRvb2xiYXIge1xuICAgICAgICAgICAgLmstZ2FudHQtdG9nZ2xlIHtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIC5rLWdhbnR0LXBkZixcbiAgICAgICAgICAgIC5rLWdhbnR0LWNyZWF0ZSB7XG4gICAgICAgICAgICAgICAgcGFkZGluZzogJGtlbmRvLWJ1dHRvbi1tZC1wYWRkaW5nLXk7XG4gICAgICAgICAgICAgICAgd2lkdGg6ICRrZW5kby1idXR0b24tY2FsYy1zaXplO1xuICAgICAgICAgICAgICAgIGhlaWdodDogJGtlbmRvLWJ1dHRvbi1jYWxjLXNpemU7XG5cbiAgICAgICAgICAgICAgICAuay1idXR0b24taWNvbiB7fVxuICAgICAgICAgICAgICAgIC5rLWJ1dHRvbi10ZXh0IHtcbiAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgIH1cblxuICAgIEBtZWRpYSAobWF4LXdpZHRoOiAxMDI0cHgpIHsgLy8gc3R5bGVsaW50LWRpc2FibGUtbGluZVxuICAgICAgICAuay1nYW50dC12aWV3cy13cmFwcGVyIC5rLWdhbnR0LXZpZXdzIHsgZGlzcGxheTogbm9uZTsgfVxuICAgICAgICAuay1nYW50dC12aWV3cy13cmFwcGVyIC5rLXZpZXdzLWRyb3Bkb3duIHsgZGlzcGxheTogZmxleDsgfVxuICAgIH1cblxuXG4gICAgLy8gR2FudCBjb250ZW50XG4gICAgLmstZ2FudHQtY29udGVudCB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGZsZXgtZmxvdzogcm93IG5vd3JhcDtcbiAgICAgICAgYWxpZ24taXRlbXM6IHN0cmV0Y2g7XG4gICAgICAgIGZsZXg6IDEgMSBhdXRvO1xuICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIH1cblxuXG4gICAgLy8gVHJlZWxpc3RcbiAgICAuay1nYW50dC10cmVlbGlzdCB7XG5cbiAgICAgICAgLmstdHJlZWxpc3Qge1xuICAgICAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICAgICAgYm9yZGVyLXdpZHRoOiAwO1xuICAgICAgICB9XG4gICAgICAgIC5rLWdyaWQtaGVhZGVyLFxuICAgICAgICAuay1ncmlkLWZvb3RlciB7XG4gICAgICAgICAgICBwYWRkaW5nOiAwICFpbXBvcnRhbnQ7IC8vIHN0eWxlbGludC1kaXNhYmxlLWxpbmUgZGVjbGFyYXRpb24tbm8taW1wb3J0YW50XG4gICAgICAgIH1cbiAgICAgICAgLmstZ3JpZC1oZWFkZXIgdHIge1xuICAgICAgICAgICAgaGVpZ2h0OiBjYWxjKCAjeyRrZW5kby1saW5lLWhlaWdodC1lbX0gKiAyICsgY2FsYyggI3ska2VuZG8tZ3JpZC1oZWFkZXItcGFkZGluZy15fSAqIDQgKSArIDJweCApO1xuICAgICAgICAgICAgdmVydGljYWwtYWxpZ246IGJvdHRvbTtcbiAgICAgICAgfVxuICAgICAgICAuay1ncmlkLWNvbnRlbnQge1xuICAgICAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAgICAgICAgIG92ZXJmbG93LXg6IHNjcm9sbDtcbiAgICAgICAgfVxuICAgICAgICAuay1ncmlkLWNvbnRlbnQgdGQge1xuICAgICAgICAgICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgICAgICAgfVxuICAgICAgICAuay1nYW50dC10cmVlbGlzdC1uZXN0ZWQtY29sdW1ucyAuay1ncmlkLWhlYWRlciB0ciB7XG4gICAgICAgICAgICBoZWlnaHQ6IGNhbGMoICN7JGtlbmRvLWxpbmUtaGVpZ2h0LWVtfSArIGNhbGMoICN7JGtlbmRvLWdyaWQtaGVhZGVyLXBhZGRpbmcteX0gKiAyICkgKyAxcHggKTtcbiAgICAgICAgfVxuXG4gICAgICAgICYuay1nYW50dC10cmVlbGlzdC1zY3JvbGxhYmxlIHtcbiAgICAgICAgICAgIC5rLWdyaWQtY29udGVudCB7XG4gICAgICAgICAgICAgICAgb3ZlcmZsb3c6IHNjcm9sbDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuXG4gICAgLy8gVGltZWxpbmVcbiAgICAuay1nYW50dC10aW1lbGluZS1wYW5lIHtcblxuICAgICAgICAuay1nYW50dC10aW1lbGluZSB7XG4gICAgICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgICAgICBib3JkZXItd2lkdGg6IDA7XG4gICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuXG4gICAgICAgICAgICAqLFxuICAgICAgICAgICAgKjo6YmVmb3JlLFxuICAgICAgICAgICAgKjo6YWZ0ZXIsXG4gICAgICAgICAgICAmOjpiZWZvcmUsXG4gICAgICAgICAgICAmOjphZnRlciB7XG4gICAgICAgICAgICAgICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAuay1ncmlkLWhlYWRlciB7fVxuICAgICAgICAuay1ncmlkLWNvbnRlbnQge1xuICAgICAgICAgICAgb3ZlcmZsb3cteDogc2Nyb2xsO1xuICAgICAgICB9XG4gICAgICAgIC5rLWhlYWRlciB7XG4gICAgICAgICAgICBwYWRkaW5nLWJsb2NrOiAka2VuZG8tZ3JpZC1oZWFkZXItcGFkZGluZy15O1xuICAgICAgICAgICAgcGFkZGluZy1pbmxpbmU6ICRrZW5kby1ncmlkLWhlYWRlci1wYWRkaW5nLXg7XG4gICAgICAgICAgICBib3JkZXItYmxvY2stc3RhcnQtd2lkdGg6IDA7XG4gICAgICAgICAgICBib3JkZXItYmxvY2stZW5kLXdpZHRoOiAxcHg7XG4gICAgICAgICAgICBib3JkZXItaW5saW5lLXN0YXJ0LXdpZHRoOiAka2VuZG8tZ3JpZC1jZWxsLWJvcmRlci13aWR0aC15O1xuICAgICAgICAgICAgYm9yZGVyLWlubGluZS1lbmQtd2lkdGg6IDA7XG4gICAgICAgICAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICAgICAgICB9XG5cbiAgICB9XG5cblxuICAgIC8vIFRhYmxlc1xuICAgIC5rLWdhbnR0LXRhYmxlcyB7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiBpbmhlcml0O1xuICAgIH1cbiAgICAuay1nYW50dC1yb3dzLFxuICAgIC5rLWdhbnR0LWNvbHVtbnMge1xuICAgICAgICBib3JkZXItY29sb3I6IGluaGVyaXQ7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgei1pbmRleDogMDtcbiAgICAgICAgdG9wOiAwO1xuICAgICAgICBpbnNldC1pbmxpbmUtc3RhcnQ6IDA7XG4gICAgfVxuICAgIC5rLWdhbnR0LXJvd3Mge31cblxuXG4gICAgLy8gRGVwc1xuICAgIC5rLWdhbnR0LWRlcGVuZGVuY2llcyB7XG4gICAgICAgIG9wYWNpdHk6IC43O1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHRvcDogMDtcbiAgICAgICAgaW5zZXQtaW5saW5lLXN0YXJ0OiAwO1xuXG4gICAgICAgIC8vIEFycm93c1xuICAgICAgICAuay1hcnJvdy1lLFxuICAgICAgICAuay1hcnJvdy13IHtcbiAgICAgICAgICAgIHdpZHRoOiAwO1xuICAgICAgICAgICAgaGVpZ2h0OiAwO1xuICAgICAgICAgICAgYm9yZGVyOiA1cHggc29saWQgdHJhbnNwYXJlbnQ7XG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICB0b3A6IC00cHg7XG4gICAgICAgIH1cbiAgICAgICAgLmstYXJyb3ctZSB7XG4gICAgICAgICAgICBib3JkZXItbGVmdC1jb2xvcjogY3VycmVudENvbG9yO1xuICAgICAgICAgICAgcmlnaHQ6IC02cHg7XG4gICAgICAgIH1cbiAgICAgICAgLmstYXJyb3ctdyB7XG4gICAgICAgICAgICBib3JkZXItcmlnaHQtY29sb3I6IGN1cnJlbnRDb2xvcjtcbiAgICAgICAgICAgIGxlZnQ6IC02cHg7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBEZXBlbmRlbmN5IExpbmVzXG4gICAgLmstZ2FudHQtbGluZSB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IGN1cnJlbnRDb2xvcjtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiBjdXJyZW50Q29sb3I7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB9XG4gICAgLmstZ2FudHQtbGluZS5rLXNlbGVjdGVkIHtcbiAgICAgICAgei1pbmRleDogMztcbiAgICB9XG5cbiAgICAuay1nYW50dC1saW5lLWgge1xuICAgICAgICBoZWlnaHQ6IHZhciggLS1rZW5kby1nYW50dC1saW5lLXNpemUsICN7JGtlbmRvLWdhbnR0LWxpbmUtc2l6ZX0gKTtcbiAgICB9XG5cbiAgICAuay1nYW50dC1saW5lLXYge1xuICAgICAgICB3aWR0aDogdmFyKCAtLWtlbmRvLWdhbnR0LWxpbmUtc2l6ZSwgI3ska2VuZG8tZ2FudHQtbGluZS1zaXplfSApO1xuICAgIH1cblxuICAgIC5rLWdhbnR0LWRlcGVuZGVuY3ktaGludCB7XG4gICAgICAgIHotaW5kZXg6IDQ7XG4gICAgfVxuXG5cbiAgICAvLyBUYXNrc1xuICAgIC5rLWdhbnR0LXRhc2tzIHtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gICAgICAgIHRkLFxuICAgICAgICAuay10YWJsZS10ZCB7XG4gICAgICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICAgICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgICAgICAgfVxuICAgICAgICB0ZDo6YWZ0ZXIgeyBjb250ZW50OiBcIlxcMjAwYlwiOyB9XG4gICAgfVxuXG4gICAgLmstdGFzay13cmFwIHtcbiAgICAgICAgbWFyZ2luLWJsb2NrOiAwO1xuICAgICAgICBtYXJnaW4taW5saW5lOiAtMjFweDtcbiAgICAgICAgcGFkZGluZy1ibG9jazogNXB4O1xuICAgICAgICBwYWRkaW5nLWlubGluZTogMjFweDtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgei1pbmRleDogMjtcbiAgICB9XG4gICAgLmstdGFzay13cmFwLmstZHJhZy1oaW50IHtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIH1cbiAgICAuay10YXNrIHtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICBmbGV4OiAxIDEgYXV0bztcbiAgICB9XG4gICAgLmstdGFzay1kb3Qge1xuICAgICAgICB3aWR0aDogY2FsYyggI3ska2VuZG8tZ2FudHQtZG90LXNpemV9ICsgY2FsYyggI3ska2VuZG8tZ2FudHQtZG90LXNwYWNpbmd9ICogMiApICk7XG4gICAgICAgIGhlaWdodDogY2FsYyggI3ska2VuZG8tZ2FudHQtZG90LXNpemV9ICsgY2FsYyggI3ska2VuZG8tZ2FudHQtZG90LXNwYWNpbmd9ICogMiApICk7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxO1xuICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgdG9wOiA1MCU7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTtcbiAgICB9XG4gICAgLmstdGFzay13cmFwOmhvdmVyIC5rLXRhc2stZG90LFxuICAgIC5rLXRhc2std3JhcC5rLW9yaWdpbiAuay10YXNrLWRvdCB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIH1cbiAgICAuay10YXNrLWRvdDo6YmVmb3JlIHtcbiAgICAgICAgY29udGVudDogXCJcIjtcbiAgICAgICAgd2lkdGg6IHZhciggLS1rZW5kby1nYW50dC1kb3Qtc2l6ZSwgI3ska2VuZG8tZ2FudHQtZG90LXNpemV9ICk7XG4gICAgICAgIGhlaWdodDogdmFyKCAtLWtlbmRvLWdhbnR0LWRvdC1zaXplLCAjeyRrZW5kby1nYW50dC1kb3Qtc2l6ZX0gKTtcbiAgICAgICAgYm9yZGVyLXdpZHRoOiAwO1xuICAgICAgICBib3JkZXItc3R5bGU6IHNvbGlkO1xuICAgICAgICBib3JkZXItcmFkaXVzOiAxMDAlO1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgdG9wOiA1MCU7XG4gICAgICAgIGxlZnQ6IDUwJTtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgLTUwJSk7XG4gICAgfVxuICAgIC5rLXRhc2stZG90OmhvdmVyOjpiZWZvcmUsXG4gICAgLmstdGFzay1kb3Quay1ob3Zlcjo6YmVmb3JlIHtcbiAgICAgICAgYm9yZGVyLXdpZHRoOiAxcHg7XG4gICAgfVxuICAgIC5rLXRhc2stc3RhcnQgeyBpbnNldC1pbmxpbmUtc3RhcnQ6IDA7IH1cbiAgICAuay10YXNrLWVuZCB7IGluc2V0LWlubGluZS1lbmQ6IDA7IH1cblxuICAgIC5rLXRhc2stZHJhZ2hhbmRsZSB7XG4gICAgICAgIG1hcmdpbi1pbmxpbmUtc3RhcnQ6IDE2cHg7XG4gICAgICAgIHdpZHRoOiAwO1xuICAgICAgICBoZWlnaHQ6IDA7XG4gICAgICAgIGJvcmRlcjogNXB4IHNvbGlkIHRyYW5zcGFyZW50O1xuICAgICAgICBib3JkZXItdG9wLXdpZHRoOiAwO1xuICAgICAgICBib3JkZXItYm90dG9tLWNvbG9yOiBpbmhlcml0O1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIGJvdHRvbTogMDtcbiAgICAgICAgLy8gZGlzcGxheTogbm9uZTtcbiAgICAgICAgY3Vyc29yOiBldy1yZXNpemU7XG4gICAgICAgIHZpc2liaWxpdHk6IGhpZGRlbjtcbiAgICB9XG5cbiAgICAuay10YXNrLXdyYXA6aG92ZXIgLmstdGFzay1kcmFnaGFuZGxlIHtcbiAgICAgICAgdmlzaWJpbGl0eTogdmlzaWJsZTtcbiAgICB9XG5cblxuICAgIC8vIE1pbGVzdG9uZVxuICAgIC5rLW1pbGVzdG9uZS13cmFwIHtcbiAgICAgICAgbWFyZ2luLWJsb2NrOiAwO1xuICAgICAgICBtYXJnaW4taW5saW5lOiAtMmVtO1xuICAgIH1cbiAgICAuay10YXNrLW1pbGVzdG9uZSB7XG4gICAgICAgIHdpZHRoOiAxcmVtO1xuICAgICAgICBoZWlnaHQ6IDFyZW07XG4gICAgICAgIGJvcmRlci13aWR0aDogMXB4O1xuICAgICAgICBib3JkZXItc3R5bGU6IHNvbGlkO1xuICAgICAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSg0NWRlZyk7XG4gICAgfVxuXG5cbiAgICAvLyBTdW1tYXJ5XG4gICAgLmstc3VtbWFyeS13cmFwIHt9XG4gICAgLmstdGFzay1zdW1tYXJ5IHtcbiAgICAgICAgaGVpZ2h0OiAxMHB4O1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgIHZlcnRpY2FsLWFsaWduOiB0b3A7XG4gICAgfVxuICAgIC5rLXRhc2stc3VtbWFyeSxcbiAgICAuay10YXNrLXN1bW1hcnktY29tcGxldGUge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBjdXJyZW50Q29sb3I7XG5cbiAgICAgICAgJjo6YmVmb3JlLFxuICAgICAgICAmOjphZnRlciB7XG4gICAgICAgICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgICAgICAgd2lkdGg6IDA7XG4gICAgICAgICAgICBoZWlnaHQ6IDA7XG4gICAgICAgICAgICBib3JkZXI6IDhweCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgIHRvcDogMDtcbiAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgIH1cblxuICAgICAgICAmOjpiZWZvcmUge1xuICAgICAgICAgICAgYm9yZGVyLWxlZnQtY29sb3I6IGN1cnJlbnRDb2xvcjtcbiAgICAgICAgICAgIGxlZnQ6IDA7XG4gICAgICAgIH1cbiAgICAgICAgJjo6YWZ0ZXIge1xuICAgICAgICAgICAgYm9yZGVyLXJpZ2h0LWNvbG9yOiBjdXJyZW50Q29sb3I7XG4gICAgICAgICAgICByaWdodDogMDtcbiAgICAgICAgfVxuICAgIH1cbiAgICAuay10YXNrLXN1bW1hcnktY29tcGxldGUge1xuICAgICAgICBoZWlnaHQ6IDEwcHg7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgei1pbmRleDogMjtcbiAgICB9XG4gICAgLmstdGFzay1zdW1tYXJ5LXByb2dyZXNzIHtcbiAgICAgICAgaGVpZ2h0OiAxNXB4O1xuICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIH1cblxuXG4gICAgLy8gU2luZ2xlIHRhc2tcbiAgICAuay1zaW5nbGUtd3JhcCB7fVxuICAgIC5rLXRhc2stc2luZ2xlIHtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogay1ib3JkZXItcmFkaXVzKG1kKTtcbiAgICAgICAgYm9yZGVyLXdpZHRoOiB2YXIoIC0ta2VuZG8tZ2FudHQtdGFzay1ib3JkZXItd2lkdGgsICN7JGtlbmRvLWdhbnR0LXRhc2stYm9yZGVyLXdpZHRofSApO1xuICAgICAgICBib3JkZXItc3R5bGU6IHNvbGlkO1xuICAgICAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgICAgICBjdXJzb3I6IGRlZmF1bHQ7XG5cbiAgICAgICAgLmstcmVzaXplLWhhbmRsZSB7XG4gICAgICAgICAgICBvcGFjaXR5OiAuNTtcbiAgICAgICAgICAgIHotaW5kZXg6IDI7XG4gICAgICAgICAgICB2aXNpYmlsaXR5OiBoaWRkZW47XG4gICAgICAgICAgICBjdXJzb3I6IGV3LXJlc2l6ZTtcbiAgICAgICAgfVxuXG4gICAgICAgIC5rLXJlc2l6ZS1oYW5kbGU6OmJlZm9yZSB7XG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICB0b3A6IDJweDtcbiAgICAgICAgICAgIGJvdHRvbTogMnB4O1xuICAgICAgICB9XG5cbiAgICAgICAgLmstcmVzaXplLXcge1xuICAgICAgICAgICAgbGVmdDogMDtcbiAgICAgICAgfVxuXG4gICAgICAgIC5rLXJlc2l6ZS13OjpiZWZvcmUge1xuICAgICAgICAgICAgbGVmdDogMnB4O1xuICAgICAgICAgICAgYm9yZGVyLWxlZnQtd2lkdGg6IDFweDtcbiAgICAgICAgfVxuXG4gICAgICAgIC5rLXJlc2l6ZS1lIHtcbiAgICAgICAgICAgIHJpZ2h0OiAwO1xuICAgICAgICB9XG5cbiAgICAgICAgLmstcmVzaXplLWU6OmJlZm9yZSB7XG4gICAgICAgICAgICByaWdodDogMnB4O1xuICAgICAgICAgICAgYm9yZGVyLWxlZnQtd2lkdGg6IDFweDtcbiAgICAgICAgfVxuXG4gICAgICAgICY6aG92ZXIgLmstcmVzaXplLWhhbmRsZSxcbiAgICAgICAgJjpob3ZlciAuay10YXNrLWFjdGlvbnMge1xuICAgICAgICAgICAgdmlzaWJpbGl0eTogdmlzaWJsZTtcbiAgICAgICAgfVxuICAgIH1cbiAgICAuay10YXNrLWNvbXBsZXRlIHtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogay1ib3JkZXItcmFkaXVzKG1kKTtcbiAgICAgICAgd2lkdGg6IDIwJTtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB6LWluZGV4OiAxO1xuICAgICAgICB0b3A6IDA7XG4gICAgICAgIGJvdHRvbTogMDtcbiAgICAgICAgaW5zZXQtaW5saW5lLXN0YXJ0OiAwO1xuICAgIH1cbiAgICAuay10YXNrLWNvbnRlbnQge1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIHotaW5kZXg6IDI7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgIHRleHQtYWxpZ246IHN0YXJ0O1xuICAgICAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICAgIH1cbiAgICAuay10YXNrLXRlbXBsYXRlIHtcbiAgICAgICAgcGFkZGluZy1ibG9jazogdmFyKCAtLWtlbmRvLWdhbnR0LXRhc2stcGFkZGluZy15LCAjeyRrZW5kby1nYW50dC10YXNrLXBhZGRpbmcteX0gKTtcbiAgICAgICAgcGFkZGluZy1pbmxpbmU6IHZhciggLS1rZW5kby1nYW50dC10YXNrLXBhZGRpbmcteCwgI3ska2VuZG8tZ2FudHQtdGFzay1wYWRkaW5nLXh9ICk7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiBub3JtYWw7XG4gICAgICAgIGZsZXg6IDE7XG4gICAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgICAgIHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xuICAgIH1cbiAgICAuay10YXNrLWFjdGlvbnMge1xuICAgICAgICBwYWRkaW5nLWJsb2NrOiB2YXIoIC0ta2VuZG8tZ2FudHQtdGFzay1hY3Rpb25zLXBhZGRpbmcteSwgI3ska2VuZG8tZ2FudHQtdGFzay1hY3Rpb25zLXBhZGRpbmcteX0gKTtcbiAgICAgICAgcGFkZGluZy1pbmxpbmU6IHZhciggLS1rZW5kby1nYW50dC10YXNrLWFjdGlvbnMtcGFkZGluZy14LCAjeyRrZW5kby1nYW50dC10YXNrLWFjdGlvbnMtcGFkZGluZy14fSApO1xuICAgICAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICB2aXNpYmlsaXR5OiBoaWRkZW47XG4gICAgICAgIHotaW5kZXg6IDE7XG4gICAgfVxuICAgIC5rLXRhc2stYWN0aW9ucyA+IC5rLWxpbmsge1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgICB9XG5cbiAgICAuay1yZXNvdXJjZXMtd3JhcCB7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICB6LWluZGV4OiAyO1xuICAgICAgICBtYXJnaW4tbGVmdDogMjBweDtcbiAgICAgICAgbWFyZ2luLXRvcDogLTJweDtcbiAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAgICAgdGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7XG4gICAgICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG5cbiAgICAgICAgLmstcmVzb3VyY2Uge1xuICAgICAgICAgICAgbWFyZ2luLWJsb2NrOiAwO1xuICAgICAgICAgICAgbWFyZ2luLWlubGluZTogNXB4O1xuICAgICAgICB9XG4gICAgfVxuXG5cbiAgICAvLyBUYXNrIHRvb2x0aXBcbiAgICAuay10YXNrLWRldGFpbHMge1xuICAgICAgICBwYWRkaW5nLWJsb2NrOiBrLXNwYWNpbmcoMSk7XG4gICAgICAgIHBhZGRpbmctaW5saW5lOiBrLXNwYWNpbmcoMik7XG4gICAgICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG5cbiAgICAgICAgc3Ryb25nIHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogdmFyKCAtLWtlbmRvLWZvbnQtc2l6ZS1sZywgaW5oZXJpdCApO1xuICAgICAgICAgICAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICB9XG4gICAgICAgIC5rLXRhc2stcGN0IHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogdmFyKCAtLWtlbmRvLWljb24tc2l6ZS14eGwsIDJyZW0gKTtcbiAgICAgICAgfVxuICAgICAgICB1bCB7XG4gICAgICAgICAgICBsaW5lLWhlaWdodDogbm9ybWFsO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLy8gUGxhbm5lZCBwb3NpdGlvblxuICAgIC5rLWdhbnR0LXBsYW5uZWQge1xuICAgICAgICAuay1nYW50dC1kZXBlbmRlbmNpZXMsXG4gICAgICAgIC5rLXRhc2stZG90LFxuICAgICAgICAuay1yZXNvdXJjZXMtd3JhcCB7XG4gICAgICAgICAgICBtYXJnaW4tdG9wOiB2YXIoIC0ta2VuZG8tZ2FudHQtcGxhbm5lZC1kZXBlbmRlbmN5LW1hcmdpbi15LCAjeyRrZW5kby1nYW50dC1wbGFubmVkLWRlcGVuZGVuY3ktbWFyZ2luLXl9ICk7XG4gICAgICAgIH1cblxuICAgICAgICAuay10YXNrLXdyYXAge1xuICAgICAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0O1xuICAgICAgICB9XG5cbiAgICAgICAgLmstdGFzay1pbm5lci13cmFwIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICAgICAgICB9XG5cbiAgICAgICAgLmstdGFzay13cmFwLmstZHJhZy1oaW50IHtcbiAgICAgICAgICAgIHRvcDogdmFyKCAtLWtlbmRvLWdhbnR0LXBsYW5uZWQtc2luZ2xlLWRyYWctaGludC10b3AsICN7JGtlbmRvLWdhbnR0LXBsYW5uZWQtc2luZ2xlLWRyYWctaGludC10b3B9ICk7XG4gICAgICAgIH1cblxuICAgICAgICAuay1zdW1tYXJ5LXdyYXAuay1kcmFnLWhpbnQge1xuICAgICAgICAgICAgdG9wOiB2YXIoIC0ta2VuZG8tZ2FudHQtcGxhbm5lZC1zdW1tYXJ5LWRyYWctaGludC10b3AsICN7JGtlbmRvLWdhbnR0LXBsYW5uZWQtc3VtbWFyeS1kcmFnLWhpbnQtdG9wfSApO1xuICAgICAgICB9XG5cbiAgICAgICAgLmstbWlsZXN0b25lLXdyYXAuay1kcmFnLWhpbnQge1xuICAgICAgICAgICAgdG9wOiB2YXIoIC0ta2VuZG8tZ2FudHQtcGxhbm5lZC1taWxlc3RvbmUtZHJhZy1oaW50LXRvcCwgI3ska2VuZG8tZ2FudHQtcGxhbm5lZC1taWxlc3RvbmUtZHJhZy1oaW50LXRvcH0gKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8vIFBsYW5uZWQgZWxlbWVudGtlbmRvLWdhbnR0LXBsYW5uZWQtZGVwZW5kZW5jeS1tYXJnaW4teVxuICAgIC5rLXRhc2stcGxhbm5lZCB7XG4gICAgICAgIG1hcmdpbjogMCAwIHZhciggLS1rZW5kby1nYW50dC1wbGFubmVkLW1hcmdpbi15LCAjeyRrZW5kby1nYW50dC1wbGFubmVkLW1hcmdpbi15fSApO1xuICAgICAgICBsaW5lLWhlaWdodDogdmFyKCAtLWtlbmRvLWdhbnR0LXBsYW5uZWQtbGluZS1oZWlnaHQsICN7JGtlbmRvLWdhbnR0LXBsYW5uZWQtbGluZS1oZWlnaHR9ICk7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cbiAgICAgICAgLmstdGFzay1tb21lbnQge1xuICAgICAgICAgICAgYm9yZGVyLXdpZHRoOiB2YXIoIC0ta2VuZG8tZ2FudHQtcGxhbm5lZC1ib3JkZXItd2lkdGgsICN7JGtlbmRvLWdhbnR0LXBsYW5uZWQtYm9yZGVyLXdpZHRofSApO1xuICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogdmFyKCAtLWtlbmRvLWdhbnR0LXBsYW5uZWQtbW9tZW50LWJvcmRlci1yYWRpdXMsICN7JGtlbmRvLWdhbnR0LXBsYW5uZWQtbW9tZW50LWJvcmRlci1yYWRpdXN9ICk7XG4gICAgICAgICAgICBib3JkZXItc3R5bGU6IHNvbGlkO1xuICAgICAgICAgICAgaGVpZ2h0OiB2YXIoIC0ta2VuZG8tZ2FudHQtcGxhbm5lZC1tb21lbnQtaGVpZ2h0LCAjeyRrZW5kby1nYW50dC1wbGFubmVkLW1vbWVudC1oZWlnaHR9ICk7XG4gICAgICAgICAgICB3aWR0aDogdmFyKCAtLWtlbmRvLWdhbnR0LXBsYW5uZWQtbW9tZW50LXdpZHRoLCAjeyRrZW5kby1nYW50dC1wbGFubmVkLW1vbWVudC13aWR0aH0gKTtcbiAgICAgICAgICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgICAgIH1cblxuICAgICAgICAuay10YXNrLWR1cmF0aW9uIHtcbiAgICAgICAgICAgIGhlaWdodDogdmFyKCAtLWtlbmRvLWdhbnR0LXBsYW5uZWQtZHVyYXRpb24taGVpZ2h0LCAjeyRrZW5kby1nYW50dC1wbGFubmVkLWR1cmF0aW9uLWhlaWdodH0gKTtcbiAgICAgICAgfVxuXG4gICAgICAgIC5rLXRhc2stbW9tZW50LmstbW9tZW50LWxlZnQge1xuICAgICAgICAgICAgbWFyZ2luLWlubGluZS1zdGFydDogdmFyKCAtLWtlbmRvLWdhbnR0LXBsYW5uZWQtbW9tZW50LWxlZnQtbWFyZ2luLXgsICN7JGtlbmRvLWdhbnR0LXBsYW5uZWQtbW9tZW50LWxlZnQtbWFyZ2luLXh9ICk7XG4gICAgICAgIH1cblxuICAgICAgICAmOmhvdmVyIC5rLXRhc2stZHVyYXRpb24ge1xuICAgICAgICAgICAgaGVpZ2h0OiB2YXIoIC0ta2VuZG8tZ2FudHQtcGxhbm5lZC1kdXJhdGlvbi1ob3Zlci1oZWlnaHQsICN7JGtlbmRvLWdhbnR0LXBsYW5uZWQtZHVyYXRpb24taG92ZXItaGVpZ2h0fSApO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLmstbWlsZXN0b25lLXdyYXAgLmstdGFzay1tb21lbnQge1xuICAgICAgICBtYXJnaW4taW5saW5lLXN0YXJ0OiB2YXIoIC0ta2VuZG8tZ2FudHQtcGxhbm5lZC1taWxlc3RvbmUtbW9tZW50LW1hcmdpbi14LCAjeyRrZW5kby1nYW50dC1wbGFubmVkLW1pbGVzdG9uZS1tb21lbnQtbWFyZ2luLXh9ICk7XG4gICAgfVxuXG4gICAgLy8gUGxhbm5lZCBUb29sdGlwXG4gICAgLmstcGxhbm5lZC10b29sdGlwIHtcbiAgICAgICAgLmstdGFzay1jb250ZW50IHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLy8gRGVsYXkgb2Zmc2V0XG4gICAgLmstdGFzay1vZmZzZXQtd3JhcCAuay10YXNrLWNvbnRlbnQgLmstcmVzaXplLWUge1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cblxuICAgIC5rLXRhc2stb2Zmc2V0IHtcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IHJvdy1yZXZlcnNlO1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuXG4gICAgICAgIC5rLXJlc2l6ZS1oYW5kbGUge1xuICAgICAgICAgICAgcmlnaHQ6IDA7XG4gICAgICAgICAgICB6LWluZGV4OiAyO1xuICAgICAgICAgICAgdmlzaWJpbGl0eTogaGlkZGVuO1xuICAgICAgICAgICAgbWFyZ2luLWlubGluZS1lbmQ6IHZhciggLS1rZW5kby1nYW50dC1wbGFubmVkLW9mZnNldC1yZXNpemUtaGFuZGxlci1tYXJnaW4teCwgI3ska2VuZG8tZ2FudHQtcGxhbm5lZC1vZmZzZXQtcmVzaXplLWhhbmRsZXItbWFyZ2luLXh9ICk7XG4gICAgICAgIH1cblxuICAgICAgICAuay1yZXNpemUtaGFuZGxlOjpiZWZvcmUge1xuICAgICAgICAgICAgYm9yZGVyLWlubGluZS1zdGFydC13aWR0aDogMXB4O1xuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgdG9wOiB2YXIoIC0ta2VuZG8tZ2FudHQtb2Zmc2V0LXJlc2l6ZS1oYW5kbGVyLXRvcCwgI3ska2VuZG8tZ2FudHQtb2Zmc2V0LXJlc2l6ZS1oYW5kbGVyLXRvcH0gKTtcbiAgICAgICAgICAgIGJvdHRvbTogLjVlbTtcbiAgICAgICAgICAgIG1hcmdpbi1pbmxpbmUtZW5kOiAycHg7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAuay10YXNrLXNpbmdsZTpob3ZlciArIC5rLXRhc2stb2Zmc2V0IC5rLXRhc2stYWN0aW9ucyxcbiAgICAuay10YXNrLW9mZnNldDpob3ZlciAuay10YXNrLWFjdGlvbnMsXG4gICAgLmstdGFzay1zaW5nbGU6aG92ZXIgKyAuay10YXNrLW9mZnNldCAuay1yZXNpemUtaGFuZGxlLFxuICAgIC5rLXRhc2stb2Zmc2V0OmhvdmVyIC5rLXJlc2l6ZS1oYW5kbGUge1xuICAgICAgICB2aXNpYmlsaXR5OiB2aXNpYmxlO1xuICAgIH1cblxuXG4gICAgLy8gRGVwZW5kZW5jeSBWYWxpZGF0aW9uIFRvb2x0aXBcbiAgICAuay1nYW50dC10b29sdGlwLXZhbGlkYXRpb24ge1xuICAgICAgICBtYXgtd2lkdGg6IHZhciggLS1rZW5kby1nYW50dC12YWxpZGF0aW9uLXRvb2x0aXAtd2lkdGgsICN7JGtlbmRvLWdhbnR0LXZhbGlkYXRpb24tdG9vbHRpcC13aWR0aH0gKTtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG5cbiAgICAgICAgJjo6YmVmb3JlIHtcbiAgICAgICAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICAgICAgICB3aWR0aDogNHB4O1xuICAgICAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgdG9wOiAwO1xuICAgICAgICAgICAgaW5zZXQtaW5saW5lLXN0YXJ0OiAwO1xuICAgICAgICB9XG4gICAgfVxuICAgIC5rLWdhbnR0LXRvb2x0aXAtdmFsaWRhdGlvbi1yb3cge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gICAgfVxuICAgIC5rLWdhbnR0LXRvb2x0aXAtdmFsaWRhdGlvbi1sYWJlbCB7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICAgICAgICBtaW4td2lkdGg6IHZhciggLS1rZW5kby1nYW50dC12YWxpZGF0aW9uLXRvb2x0aXAtbGFiZWwtd2lkdGgsICN7JGtlbmRvLWdhbnR0LXZhbGlkYXRpb24tdG9vbHRpcC1sYWJlbC13aWR0aH0gKTtcbiAgICB9XG4gICAgLmstZ2FudHQtdG9vbHRpcC12YWxpZGF0aW9uLXZhbHVlIHtcbiAgICAgICAgZm9udC13ZWlnaHQ6IHZhciggLS1rZW5kby1mb250LXdlaWdodC1ib2xkLCBib2xkICk7XG4gICAgfVxuICAgIC5rLWdhbnR0LXRvb2x0aXAtdmFsaWRhdGlvbi1sYWJlbCxcbiAgICAuay1nYW50dC10b29sdGlwLXZhbGlkYXRpb24tdmFsdWUge1xuICAgICAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgICAgICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcbiAgICB9XG5cbiAgICAvLyBQREYgRXhwb3J0XG4gICAgLmstcGRmLWV4cG9ydC1zaGFkb3cge1xuICAgICAgICAuay1nYW50dCB7XG4gICAgICAgICAgICBmbG9hdDogbGVmdDtcbiAgICAgICAgfVxuXG4gICAgICAgIC5rLWdhbnR0LFxuICAgICAgICAuay1nYW50dC10aW1lbGluZS1wYW5lLFxuICAgICAgICAuay1nYW50dC1kZXBlbmRlbmNpZXMge1xuICAgICAgICAgICAgd2lkdGg6IGF1dG8gIWltcG9ydGFudDsgLy8gc3R5bGVsaW50LWRpc2FibGUtbGluZSBkZWNsYXJhdGlvbi1uby1pbXBvcnRhbnRcbiAgICAgICAgICAgIGhlaWdodDogYXV0byAhaW1wb3J0YW50OyAvLyBzdHlsZWxpbnQtZGlzYWJsZS1saW5lIGRlY2xhcmF0aW9uLW5vLWltcG9ydGFudFxuICAgICAgICAgICAgb3ZlcmZsb3c6IHZpc2libGUgIWltcG9ydGFudDsgLy8gc3R5bGVsaW50LWRpc2FibGUtbGluZSBkZWNsYXJhdGlvbi1uby1pbXBvcnRhbnRcbiAgICAgICAgfVxuXG4gICAgICAgIC5rLWdhbnR0LXRyZWVsaXN0IC5rLXRyZWVsaXN0IHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICB9XG5cbiAgICAgICAgLmstZ2FudHQtbGF5b3V0Lmstc3BsaXRiYXIge1xuICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5rLXJ0bCxcbiAgICBbZGlyPVwicnRsXCJdIHtcbiAgICAgICAgLmstZ2FudHQtdGFza3MgdGJvZHkge1xuICAgICAgICAgICAgdGV4dC1hbGlnbjogZW5kO1xuICAgICAgICB9XG4gICAgfVxufVxuIiwiQHVzZSBcInNhc3M6bWFwXCI7XG5AdXNlIFwiLi4vY29yZS9faW5kZXguc2Nzc1wiIGFzICo7XG5AdXNlIFwiLi4vYnV0dG9uL192YXJpYWJsZXMuc2Nzc1wiIGFzICo7XG5AdXNlIFwiLi4vY2hpcC9fdmFyaWFibGVzLnNjc3NcIiBhcyAqO1xuQHVzZSBcIi4uL3RhYmxlL192YXJpYWJsZXMuc2Nzc1wiIGFzICo7XG5AdXNlIFwiLi4vdG9vbGJhci9fdmFyaWFibGVzLnNjc3NcIiBhcyAqO1xuQHVzZSBcIi4uL2xpc3QvX3ZhcmlhYmxlcy5zY3NzXCIgYXMgKjtcblxuLy8vIFRoZSBib3JkZXIgd2lkdGggb2YgdGhlIEdyaWQuXG4vLy8gQGdyb3VwIGdyaWRcbiRrZW5kby1ncmlkLWJvcmRlci13aWR0aDogMXB4ICFkZWZhdWx0O1xuLy8vIFRoZSBib3JkZXIgc3R5bGUgb2YgdGhlIEdyaWQuXG4vLy8gQGdyb3VwIGdyaWRcbiRrZW5kby1ncmlkLWJvcmRlci1zdHlsZTogc29saWQgIWRlZmF1bHQ7XG4vLy8gVGhlIGZvbnQgZmFtaWx5IG9mIHRoZSBHcmlkLlxuLy8vIEBncm91cCBncmlkXG4ka2VuZG8tZ3JpZC1mb250LWZhbWlseTogdmFyKCAtLWtlbmRvLWZvbnQtZmFtaWx5LCBpbmhlcml0ICkgIWRlZmF1bHQ7XG4vLy8gVGhlIGZvbnQgc2l6ZSBvZiB0aGUgR3JpZC5cbi8vLyBAZ3JvdXAgZ3JpZFxuJGtlbmRvLWdyaWQtZm9udC1zaXplOiB2YXIoIC0ta2VuZG8tZm9udC1zaXplLCBpbmhlcml0ICkgIWRlZmF1bHQ7XG4vLy8gVGhlIGxpbmUgaGVpZ2h0IG9mIHRoZSBHcmlkLlxuLy8vIEBncm91cCBncmlkXG4ka2VuZG8tZ3JpZC1saW5lLWhlaWdodDogdmFyKCAtLWtlbmRvLWxpbmUtaGVpZ2h0LCBub3JtYWwgKSAhZGVmYXVsdDtcblxuLy8vIFRoZSBob3Jpem9udGFsIHBhZGRpbmcgb2YgdGhlIEdyaWQuXG4vLy8gQGdyb3VwIGdyaWRcbiRrZW5kby1ncmlkLXBhZGRpbmcteDogJGtlbmRvLXRhYmxlLWNlbGwtcGFkZGluZy14ICFkZWZhdWx0O1xuLy8vIFRoZSB2ZXJ0aWNhbCBwYWRkaW5nIG9mIHRoZSBHcmlkLlxuLy8vIEBncm91cCBncmlkXG4ka2VuZG8tZ3JpZC1wYWRkaW5nLXk6ICRrZW5kby10YWJsZS1jZWxsLXBhZGRpbmcteSAhZGVmYXVsdDtcblxuLy8vIFRoZSBob3Jpem9udGFsIHBhZGRpbmcgb2YgdGhlIEdyaWQgaGVhZGVyLlxuLy8vIEBncm91cCBncmlkXG4ka2VuZG8tZ3JpZC1oZWFkZXItcGFkZGluZy14OiAka2VuZG8tZ3JpZC1wYWRkaW5nLXggIWRlZmF1bHQ7XG4vLy8gVGhlIHZlcnRpY2FsIHBhZGRpbmcgb2YgdGhlIEdyaWQgaGVhZGVyLlxuLy8vIEBncm91cCBncmlkXG4ka2VuZG8tZ3JpZC1oZWFkZXItcGFkZGluZy15OiAka2VuZG8tZ3JpZC1wYWRkaW5nLXkgIWRlZmF1bHQ7XG5cbi8vLyBUaGUgaG9yaXpvbnRhbCBwYWRkaW5nIG9mIHRoZSBHcmlkIGdyb3VwaW5nIGhlYWRlci5cbi8vLyBAZ3JvdXAgZ3JpZFxuJGtlbmRvLWdyaWQtZ3JvdXBpbmctaGVhZGVyLXBhZGRpbmcteDogJGtlbmRvLXRvb2xiYXItbWQtcGFkZGluZy14ICFkZWZhdWx0O1xuLy8vIFRoZSB2ZXJ0aWNhbCBwYWRkaW5nIG9mIHRoZSBHcmlkIGdyb3VwaW5nIGhlYWRlci5cbi8vLyBAZ3JvdXAgZ3JpZFxuJGtlbmRvLWdyaWQtZ3JvdXBpbmctaGVhZGVyLXBhZGRpbmcteTogJGtlbmRvLXRvb2xiYXItbWQtcGFkZGluZy15ICFkZWZhdWx0O1xuXG4vLy8gVGhlIGhvcml6b250YWwgcGFkZGluZyBvZiB0aGUgR3JpZCBjZWxsLlxuLy8vIEBncm91cCBncmlkXG4ka2VuZG8tZ3JpZC1jZWxsLXBhZGRpbmcteDogJGtlbmRvLWdyaWQtcGFkZGluZy14ICFkZWZhdWx0O1xuLy8vIFRoZSB2ZXJ0aWNhbCBwYWRkaW5nIG9mIHRoZSBHcmlkIGNlbGwuXG4vLy8gQGdyb3VwIGdyaWRcbiRrZW5kby1ncmlkLWNlbGwtcGFkZGluZy15OiAka2VuZG8tZ3JpZC1wYWRkaW5nLXkgIWRlZmF1bHQ7XG5cbi8vLyBUaGUgaG9yaXpvbnRhbCBwYWRkaW5nIG9mIHRoZSBHcmlkIGZpbHRlciBjZWxsLlxuLy8vIEBncm91cCBncmlkXG4ka2VuZG8tZ3JpZC1maWx0ZXItY2VsbC1wYWRkaW5nLXg6ICRrZW5kby1ncmlkLXBhZGRpbmcteSAhZGVmYXVsdDtcbi8vLyBUaGUgdmVydGljYWwgcGFkZGluZyBvZiB0aGUgR3JpZCBmaWx0ZXIgY2VsbC5cbi8vLyBAZ3JvdXAgZ3JpZFxuJGtlbmRvLWdyaWQtZmlsdGVyLWNlbGwtcGFkZGluZy15OiAka2VuZG8tZ3JpZC1maWx0ZXItY2VsbC1wYWRkaW5nLXggIWRlZmF1bHQ7XG5cbi8vLyBUaGUgaG9yaXpvbnRhbCBwYWRkaW5nIG9mIHRoZSBHcmlkIGVkaXQgY2VsbC5cbi8vLyBAZ3JvdXAgZ3JpZFxuJGtlbmRvLWdyaWQtZWRpdC1jZWxsLXBhZGRpbmcteDogJGtlbmRvLWdyaWQtY2VsbC1wYWRkaW5nLXggIWRlZmF1bHQ7XG4vLy8gVGhlIHZlcnRpY2FsIHBhZGRpbmcgb2YgdGhlIEdyaWQgZmlsdGVyIGNlbGwuXG4vLy8gQGdyb3VwIGdyaWRcbiRrZW5kby1ncmlkLWVkaXQtY2VsbC1wYWRkaW5nLXk6IGNhbGMoICN7ay1zcGFjaW5nKDIuNSl9IC8gMiApICFkZWZhdWx0O1xuXG5cbi8vLyBUaGUgc2l6ZSBvZiB0aGUgR3JpZCBncm91cCBkcm9wIGNsdWUuXG4vLy8gQGdyb3VwIGdyaWRcbiRrZW5kby1ncmlkLWdyb3VwLWRyb3AtaGludC1zaXplOiA2cHggIWRlZmF1bHQ7XG4vLy8gVGhlIGxpbmUgc2l6ZSBvZiB0aGUgR3JpZCBncm91cCBkcm9wIGNsdWUuXG4vLy8gQGdyb3VwIGdyaWRcbiRrZW5kby1ncmlkLWdyb3VwLWRyb3AtaGludC1saW5lLXNpemU6IDFweCAhZGVmYXVsdDtcbi8vLyBUaGUgZG90IHNpemUgb2YgdGhlIEdyaWQgZ3JvdXAgZHJvcCBjbHVlLlxuLy8vIEBncm91cCBncmlkXG4ka2VuZG8tZ3JpZC1ncm91cC1kcm9wLWhpbnQtZG90LXNpemU6ICRrZW5kby1ncmlkLWdyb3VwLWRyb3AtaGludC1zaXplICFkZWZhdWx0O1xuLy8vIFRoZSBoZWlnaHQgb2YgdGhlIEdyaWQgZ3JvdXAgZHJvcCBjbHVlLlxuLy8vIEBncm91cCBncmlkXG4ka2VuZG8tZ3JpZC1ncm91cC1kcm9wLWhpbnQtaGVpZ2h0OiBjYWxjKCAjeyRrZW5kby1jaGlwLWNhbGMtc2l6ZX0gKyAjeyRrZW5kby1ncmlkLWdyb3VwLWRyb3AtaGludC1zaXplfSApICFkZWZhdWx0O1xuLy8vIFRoZSB0b3Agb2Zmc2V0IG9mIHRoZSBHcmlkIGdyb3VwIGRyb3AgY2x1ZS5cbi8vLyBAZ3JvdXAgZ3JpZFxuJGtlbmRvLWdyaWQtZ3JvdXAtZHJvcC1oaW50LXRvcDogMnB4ICFkZWZhdWx0O1xuXG5cbiRrZW5kby1ncmlkLXNtLXBhZGRpbmcteDogay1zcGFjaW5nKDMpICFkZWZhdWx0O1xuJGtlbmRvLWdyaWQtc20tcGFkZGluZy15OiBrLXNwYWNpbmcoMS41KSAhZGVmYXVsdDtcbiRrZW5kby1ncmlkLXNtLWhlYWRlci1wYWRkaW5nLXg6ICRrZW5kby1ncmlkLXNtLXBhZGRpbmcteCAhZGVmYXVsdDtcbiRrZW5kby1ncmlkLXNtLWhlYWRlci1wYWRkaW5nLXk6ICRrZW5kby1ncmlkLXNtLXBhZGRpbmcteSAhZGVmYXVsdDtcbiRrZW5kby1ncmlkLXNtLWdyb3VwaW5nLWhlYWRlci1wYWRkaW5nLXg6IGstc3BhY2luZygxLjUpICFkZWZhdWx0O1xuJGtlbmRvLWdyaWQtc20tZ3JvdXBpbmctaGVhZGVyLXBhZGRpbmcteTogJGtlbmRvLWdyaWQtc20tZ3JvdXBpbmctaGVhZGVyLXBhZGRpbmcteCAhZGVmYXVsdDtcbiRrZW5kby1ncmlkLXNtLWNlbGwtcGFkZGluZy14OiAka2VuZG8tZ3JpZC1zbS1wYWRkaW5nLXggIWRlZmF1bHQ7XG4ka2VuZG8tZ3JpZC1zbS1jZWxsLXBhZGRpbmcteTogJGtlbmRvLWdyaWQtc20tcGFkZGluZy15ICFkZWZhdWx0O1xuJGtlbmRvLWdyaWQtc20tZmlsdGVyLWNlbGwtcGFkZGluZy14OiAka2VuZG8tZ3JpZC1zbS1wYWRkaW5nLXggIWRlZmF1bHQ7XG4ka2VuZG8tZ3JpZC1zbS1maWx0ZXItY2VsbC1wYWRkaW5nLXk6IGstc3BhY2luZygyKSAhZGVmYXVsdDtcbiRrZW5kby1ncmlkLXNtLWVkaXQtY2VsbC1wYWRkaW5nLXg6ICRrZW5kby1ncmlkLXNtLXBhZGRpbmcteCAhZGVmYXVsdDtcbiRrZW5kby1ncmlkLXNtLWVkaXQtY2VsbC1wYWRkaW5nLXk6IGstc3BhY2luZygwLjUpICFkZWZhdWx0O1xuJGtlbmRvLWdyaWQtc20tZ3JvdXAtZHJvcGNsdWUtaGVpZ2h0OiBjYWxjKCAjeyRrZW5kby1jaGlwLXNtLWNhbGMtc2l6ZX0gKyAjeyRrZW5kby1ncmlkLWdyb3VwLWRyb3AtaGludC1zaXplfSkgIWRlZmF1bHQ7XG4ka2VuZG8tZ3JpZC1zbS1zZWxlY3Rpb24tYWdncmVnYXRlcy1wYWRkaW5nLXg6ICRrZW5kby1ncmlkLXNtLXBhZGRpbmcteSAhZGVmYXVsdDtcbiRrZW5kby1ncmlkLXNtLXNlbGVjdGlvbi1hZ2dyZWdhdGVzLXBhZGRpbmcteTogJGtlbmRvLWdyaWQtc20tcGFkZGluZy15ICFkZWZhdWx0O1xuXG4ka2VuZG8tZ3JpZC1tZC1wYWRkaW5nLXg6ICRrZW5kby1ncmlkLXBhZGRpbmcteCAhZGVmYXVsdDtcbiRrZW5kby1ncmlkLW1kLXBhZGRpbmcteTogJGtlbmRvLWdyaWQtcGFkZGluZy15ICFkZWZhdWx0O1xuJGtlbmRvLWdyaWQtbWQtaGVhZGVyLXBhZGRpbmcteDogJGtlbmRvLWdyaWQtaGVhZGVyLXBhZGRpbmcteCAhZGVmYXVsdDtcbiRrZW5kby1ncmlkLW1kLWhlYWRlci1wYWRkaW5nLXk6ICRrZW5kby1ncmlkLWhlYWRlci1wYWRkaW5nLXkgIWRlZmF1bHQ7XG4ka2VuZG8tZ3JpZC1tZC1ncm91cGluZy1oZWFkZXItcGFkZGluZy14OiAka2VuZG8tZ3JpZC1ncm91cGluZy1oZWFkZXItcGFkZGluZy14ICFkZWZhdWx0O1xuJGtlbmRvLWdyaWQtbWQtZ3JvdXBpbmctaGVhZGVyLXBhZGRpbmcteTogJGtlbmRvLWdyaWQtZ3JvdXBpbmctaGVhZGVyLXBhZGRpbmcteSAhZGVmYXVsdDtcbiRrZW5kby1ncmlkLW1kLWNlbGwtcGFkZGluZy14OiAka2VuZG8tZ3JpZC1jZWxsLXBhZGRpbmcteCAhZGVmYXVsdDtcbiRrZW5kby1ncmlkLW1kLWNlbGwtcGFkZGluZy15OiAka2VuZG8tZ3JpZC1jZWxsLXBhZGRpbmcteSAhZGVmYXVsdDtcbiRrZW5kby1ncmlkLW1kLWZpbHRlci1jZWxsLXBhZGRpbmcteDogJGtlbmRvLWdyaWQtZmlsdGVyLWNlbGwtcGFkZGluZy14ICFkZWZhdWx0O1xuJGtlbmRvLWdyaWQtbWQtZmlsdGVyLWNlbGwtcGFkZGluZy15OiAka2VuZG8tZ3JpZC1maWx0ZXItY2VsbC1wYWRkaW5nLXkgIWRlZmF1bHQ7XG4ka2VuZG8tZ3JpZC1tZC1lZGl0LWNlbGwtcGFkZGluZy14OiAka2VuZG8tZ3JpZC1lZGl0LWNlbGwtcGFkZGluZy14ICFkZWZhdWx0O1xuJGtlbmRvLWdyaWQtbWQtZWRpdC1jZWxsLXBhZGRpbmcteTogJGtlbmRvLWdyaWQtZWRpdC1jZWxsLXBhZGRpbmcteSAhZGVmYXVsdDtcbiRrZW5kby1ncmlkLW1kLWdyb3VwLWRyb3BjbHVlLWhlaWdodDogJGtlbmRvLWdyaWQtZ3JvdXAtZHJvcC1oaW50LWhlaWdodCAhZGVmYXVsdDtcbiRrZW5kby1ncmlkLW1kLXNlbGVjdGlvbi1hZ2dyZWdhdGVzLXBhZGRpbmcteDogay1zcGFjaW5nKDIpICFkZWZhdWx0O1xuJGtlbmRvLWdyaWQtbWQtc2VsZWN0aW9uLWFnZ3JlZ2F0ZXMtcGFkZGluZy15OiAka2VuZG8tZ3JpZC1tZC1zZWxlY3Rpb24tYWdncmVnYXRlcy1wYWRkaW5nLXggIWRlZmF1bHQ7XG5cblxuLy8gS2VuZG8gR3JpZCBzaXplc1xuJGtlbmRvLWdyaWQtc2l6ZXM6IChcbiAgICBzbTogKFxuICAgICAgICBoZWFkZXItcGFkZGluZy14OiAka2VuZG8tZ3JpZC1zbS1oZWFkZXItcGFkZGluZy14LFxuICAgICAgICBoZWFkZXItcGFkZGluZy15OiAka2VuZG8tZ3JpZC1zbS1oZWFkZXItcGFkZGluZy15LFxuICAgICAgICBncm91cGluZy1oZWFkZXItcGFkZGluZy14OiAka2VuZG8tZ3JpZC1zbS1ncm91cGluZy1oZWFkZXItcGFkZGluZy14LFxuICAgICAgICBncm91cGluZy1oZWFkZXItcGFkZGluZy15OiAka2VuZG8tZ3JpZC1zbS1ncm91cGluZy1oZWFkZXItcGFkZGluZy15LFxuICAgICAgICBjZWxsLXBhZGRpbmcteDogJGtlbmRvLWdyaWQtc20tY2VsbC1wYWRkaW5nLXgsXG4gICAgICAgIGNlbGwtcGFkZGluZy15OiAka2VuZG8tZ3JpZC1zbS1jZWxsLXBhZGRpbmcteSxcbiAgICAgICAgZmlsdGVyLWNlbGwtcGFkZGluZy14OiAka2VuZG8tZ3JpZC1zbS1maWx0ZXItY2VsbC1wYWRkaW5nLXgsXG4gICAgICAgIGZpbHRlci1jZWxsLXBhZGRpbmcteTogJGtlbmRvLWdyaWQtc20tZmlsdGVyLWNlbGwtcGFkZGluZy15LFxuICAgICAgICBlZGl0LWNlbGwtcGFkZGluZy14OiAka2VuZG8tZ3JpZC1zbS1lZGl0LWNlbGwtcGFkZGluZy14LFxuICAgICAgICBlZGl0LWNlbGwtcGFkZGluZy15OiAka2VuZG8tZ3JpZC1zbS1lZGl0LWNlbGwtcGFkZGluZy15LFxuICAgICAgICBidXR0b24tcGFkZGluZy15OiAka2VuZG8tYnV0dG9uLXNtLXBhZGRpbmcteSxcbiAgICAgICAgYnV0dG9uLWNhbGMtc2l6ZTogJGtlbmRvLWJ1dHRvbi1zbS1jYWxjLXNpemUsXG4gICAgICAgIGdyb3VwLWRyb3BjbHVlLWhlaWdodDogJGtlbmRvLWdyaWQtc20tZ3JvdXAtZHJvcGNsdWUtaGVpZ2h0LFxuICAgICAgICBzZWxlY3Rpb24tYWdncmVnYXRlcy1wYWRkaW5nLXg6ICRrZW5kby1ncmlkLXNtLXNlbGVjdGlvbi1hZ2dyZWdhdGVzLXBhZGRpbmcteCxcbiAgICAgICAgc2VsZWN0aW9uLWFnZ3JlZ2F0ZXMtcGFkZGluZy15OiAka2VuZG8tZ3JpZC1zbS1zZWxlY3Rpb24tYWdncmVnYXRlcy1wYWRkaW5nLXlcbiAgICApLFxuICAgIG1kOiAoXG4gICAgICAgIGhlYWRlci1wYWRkaW5nLXg6ICRrZW5kby1ncmlkLW1kLWhlYWRlci1wYWRkaW5nLXgsXG4gICAgICAgIGhlYWRlci1wYWRkaW5nLXk6ICRrZW5kby1ncmlkLW1kLWhlYWRlci1wYWRkaW5nLXksXG4gICAgICAgIGdyb3VwaW5nLWhlYWRlci1wYWRkaW5nLXg6ICRrZW5kby1ncmlkLW1kLWdyb3VwaW5nLWhlYWRlci1wYWRkaW5nLXgsXG4gICAgICAgIGdyb3VwaW5nLWhlYWRlci1wYWRkaW5nLXk6ICRrZW5kby1ncmlkLW1kLWdyb3VwaW5nLWhlYWRlci1wYWRkaW5nLXksXG4gICAgICAgIGNlbGwtcGFkZGluZy14OiAka2VuZG8tZ3JpZC1tZC1jZWxsLXBhZGRpbmcteCxcbiAgICAgICAgY2VsbC1wYWRkaW5nLXk6ICRrZW5kby1ncmlkLW1kLWNlbGwtcGFkZGluZy15LFxuICAgICAgICBmaWx0ZXItY2VsbC1wYWRkaW5nLXg6ICRrZW5kby1ncmlkLW1kLWZpbHRlci1jZWxsLXBhZGRpbmcteCxcbiAgICAgICAgZmlsdGVyLWNlbGwtcGFkZGluZy15OiAka2VuZG8tZ3JpZC1tZC1maWx0ZXItY2VsbC1wYWRkaW5nLXksXG4gICAgICAgIGVkaXQtY2VsbC1wYWRkaW5nLXg6ICRrZW5kby1ncmlkLW1kLWVkaXQtY2VsbC1wYWRkaW5nLXgsXG4gICAgICAgIGVkaXQtY2VsbC1wYWRkaW5nLXk6ICRrZW5kby1ncmlkLW1kLWVkaXQtY2VsbC1wYWRkaW5nLXksXG4gICAgICAgIGJ1dHRvbi1wYWRkaW5nLXk6ICRrZW5kby1idXR0b24tbWQtcGFkZGluZy15LFxuICAgICAgICBidXR0b24tY2FsYy1zaXplOiAka2VuZG8tYnV0dG9uLW1kLWNhbGMtc2l6ZSxcbiAgICAgICAgZ3JvdXAtZHJvcGNsdWUtaGVpZ2h0OiAka2VuZG8tZ3JpZC1zbS1ncm91cC1kcm9wY2x1ZS1oZWlnaHQsXG4gICAgICAgIHNlbGVjdGlvbi1hZ2dyZWdhdGVzLXBhZGRpbmcteDogJGtlbmRvLWdyaWQtbWQtc2VsZWN0aW9uLWFnZ3JlZ2F0ZXMtcGFkZGluZy14LFxuICAgICAgICBzZWxlY3Rpb24tYWdncmVnYXRlcy1wYWRkaW5nLXk6ICRrZW5kby1ncmlkLW1kLXNlbGVjdGlvbi1hZ2dyZWdhdGVzLXBhZGRpbmcteVxuICAgICksXG4pICFkZWZhdWx0O1xuXG5cbi8vLyBUaGUgYmFja2dyb3VuZCBjb2xvciBvZiB0aGUgR3JpZC5cbi8vLyBAZ3JvdXAgZ3JpZFxuJGtlbmRvLWdyaWQtYmc6ICRrZW5kby10YWJsZS1iZyAhZGVmYXVsdDtcbi8vLyBUaGUgdGV4dCBjb2xvciBvZiB0aGUgR3JpZC5cbi8vLyBAZ3JvdXAgZ3JpZFxuJGtlbmRvLWdyaWQtdGV4dDogJGtlbmRvLXRhYmxlLXRleHQgIWRlZmF1bHQ7XG4vLy8gVGhlIGJvcmRlciBjb2xvciBvZiB0aGUgR3JpZC5cbi8vLyBAZ3JvdXAgZ3JpZFxuJGtlbmRvLWdyaWQtYm9yZGVyOiAka2VuZG8tdGFibGUtYm9yZGVyICFkZWZhdWx0O1xuLy8vIFRoZSBmb2N1cyBzaGFkb3cgb2YgdGhlIEdyaWQuXG4vLy8gQGdyb3VwIGdyaWRcbiRrZW5kby1ncmlkLWZvY3VzLXNoYWRvdzogJGtlbmRvLWxpc3QtaXRlbS1mb2N1cy1zaGFkb3cgIWRlZmF1bHQ7XG5cbi8vLyBUaGUgYmFja2dyb3VuZCBjb2xvciBvZiBhbHRlcm5hdGluZyByb3dzIGluIEdyaWQuXG4vLy8gQGdyb3VwIGdyaWRcbiRrZW5kby1ncmlkLWFsdC1iZzogJGtlbmRvLXRhYmxlLWFsdC1yb3ctYmcgIWRlZmF1bHQ7XG4vLy8gVGhlIHRleHQgY29sb3Igb2YgYWx0ZXJuYXRpbmcgcm93cyBpbiBHcmlkLlxuLy8vIEBncm91cCBncmlkXG4ka2VuZG8tZ3JpZC1hbHQtdGV4dDogJGtlbmRvLXRhYmxlLWFsdC1yb3ctdGV4dCAhZGVmYXVsdDtcbi8vLyBUaGUgYm9yZGVyIGNvbG9yIG9mIGFsdGVybmF0aW5nIHJvd3MgaW4gR3JpZC5cbi8vLyBAZ3JvdXAgZ3JpZFxuJGtlbmRvLWdyaWQtYWx0LWJvcmRlcjogJGtlbmRvLXRhYmxlLWFsdC1yb3ctYm9yZGVyICFkZWZhdWx0O1xuXG4vLy8gVGhlIGJhY2tncm91bmQgY29sb3Igb2YgaG92ZXIgcm93cyBpbiBHcmlkLlxuLy8vIEBncm91cCBncmlkXG4ka2VuZG8tZ3JpZC1ob3Zlci1iZzogJGtlbmRvLXRhYmxlLWhvdmVyLWJnICFkZWZhdWx0O1xuLy8vIFRoZSB0ZXh0IGNvbG9yIG9mIGhvdmVyIHJvd3MgaW4gR3JpZC5cbi8vLyBAZ3JvdXAgZ3JpZFxuJGtlbmRvLWdyaWQtaG92ZXItdGV4dDogJGtlbmRvLXRhYmxlLWhvdmVyLXRleHQgIWRlZmF1bHQ7XG4vLy8gVGhlIGJvcmRlciBjb2xvciBvZiBob3ZlciByb3dzIGluIEdyaWQuXG4vLy8gQGdyb3VwIGdyaWRcbiRrZW5kby1ncmlkLWhvdmVyLWJvcmRlcjogJGtlbmRvLXRhYmxlLWhvdmVyLWJvcmRlciAhZGVmYXVsdDtcblxuLy8vIFRoZSBiYWNrZ3JvdW5kIGNvbG9yIG9mIHNlbGVjdGVkIHJvd3MgaW4gR3JpZC5cbi8vLyBAZ3JvdXAgZ3JpZFxuJGtlbmRvLWdyaWQtc2VsZWN0ZWQtYmc6ICRrZW5kby10YWJsZS1zZWxlY3RlZC1iZyAhZGVmYXVsdDtcbi8vLyBUaGUgdGV4dCBjb2xvciBvZiBzZWxlY3RlZCByb3dzIGluIEdyaWQuXG4vLy8gQGdyb3VwIGdyaWRcbiRrZW5kby1ncmlkLXNlbGVjdGVkLXRleHQ6ICRrZW5kby10YWJsZS1zZWxlY3RlZC10ZXh0ICFkZWZhdWx0O1xuLy8vIFRoZSBib3JkZXIgY29sb3Igb2Ygc2VsZWN0ZWQgcm93cyBpbiBHcmlkLlxuLy8vIEBncm91cCBncmlkXG4ka2VuZG8tZ3JpZC1zZWxlY3RlZC1ib3JkZXI6ICRrZW5kby10YWJsZS1zZWxlY3RlZC1ib3JkZXIgIWRlZmF1bHQ7XG5cbi8vLyBUaGUgYmFja2dyb3VuZCBjb2xvciBvZiBob3ZlcmVkIHNlbGVjdGVkIHJvd3MgaW4gR3JpZC5cbi8vLyBAZ3JvdXAgZ3JpZFxuJGtlbmRvLWdyaWQtc2VsZWN0ZWQtaG92ZXItYmc6ICRrZW5kby10YWJsZS1zZWxlY3RlZC1ob3Zlci1iZyAhZGVmYXVsdDtcbi8vLyBUaGUgdGV4dCBjb2xvciBvZiBob3ZlcmVkIHNlbGVjdGVkIHJvd3MgaW4gR3JpZC5cbi8vLyBAZ3JvdXAgZ3JpZFxuJGtlbmRvLWdyaWQtc2VsZWN0ZWQtaG92ZXItdGV4dDogJGtlbmRvLXRhYmxlLXNlbGVjdGVkLWhvdmVyLXRleHQgIWRlZmF1bHQ7XG4vLy8gVGhlIGJvcmRlciBjb2xvciBvZiBob3ZlcmVkIHNlbGVjdGVkIHJvd3MgaW4gR3JpZC5cbi8vLyBAZ3JvdXAgZ3JpZFxuJGtlbmRvLWdyaWQtc2VsZWN0ZWQtaG92ZXItYm9yZGVyOiAka2VuZG8tdGFibGUtc2VsZWN0ZWQtaG92ZXItYm9yZGVyICFkZWZhdWx0O1xuXG4vLy8gVGhlIHZlcnRpY2FsIGJvcmRlciB3aWR0aCBvZiB0aGUgR3JpZCBoZWFkZXIuXG4vLy8gQGdyb3VwIGdyaWRcbiRrZW5kby1ncmlkLWhlYWRlci1ib3JkZXItd2lkdGgteTogJGtlbmRvLWdyaWQtYm9yZGVyLXdpZHRoICFkZWZhdWx0O1xuLy8vIFRoZSBob3Jpem9udGFsIGJvcmRlciB3aWR0aCBvZiB0aGUgR3JpZCBoZWFkZXIuXG4vLy8gQGdyb3VwIGdyaWRcbiRrZW5kby1ncmlkLWhlYWRlci1ib3JkZXItd2lkdGgteDogMCAhZGVmYXVsdDtcbi8vLyBUaGUgZm9udCBzaXplIG9mIHRoZSBHcmlkIGhlYWRlci5cbi8vLyBAZ3JvdXAgZ3JpZFxuJGtlbmRvLWdyaWQtaGVhZGVyLWZvbnQtc2l6ZTogaW5oZXJpdCAhZGVmYXVsdDtcbi8vLyBUaGUgZm9udCB3ZWlnaHQgb2YgdGhlIEdyaWQgaGVhZGVyLlxuLy8vIEBncm91cCBncmlkXG4ka2VuZG8tZ3JpZC1oZWFkZXItZm9udC13ZWlnaHQ6IHZhciggLS1rZW5kby1mb250LXdlaWdodC1ib2xkLCBub3JtYWwgKSAhZGVmYXVsdDtcbi8vLyBUaGUgbWVudSBzcGFjaW5nIG9mIHRoZSBHcmlkIGhlYWRlci5cbi8vLyBAZ3JvdXAgZ3JpZFxuJGtlbmRvLWdyaWQtaGVhZGVyLW1lbnUtc3BhY2luZzogdmFyKCAtLWtlbmRvLWljb24tc3BhY2luZywgLjVyZW0gKSAhZGVmYXVsdDtcbi8vLyBUaGUgYm9yZGVyIHdpZHRoIG9mIHRoZSBmaXJzdCBjZWxsIGluIHRoZSBHcmlkIGhlYWRlci5cbi8vLyBAZ3JvdXAgZ3JpZFxuJGtlbmRvLWdyaWQtaGVhZGVyLWZpcnN0LWJvcmRlci13aWR0aDogJGtlbmRvLWdyaWQtYm9yZGVyLXdpZHRoICFkZWZhdWx0O1xuLy8vIFRoZSBiYWNrZ3JvdW5kIGNvbG9yIG9mIEdyaWQgaGVhZGVyLlxuLy8vIEBncm91cCBncmlkXG4ka2VuZG8tZ3JpZC1oZWFkZXItYmc6ICRrZW5kby10YWJsZS1oZWFkZXItYmcgIWRlZmF1bHQ7XG4vLy8gVGhlIHRleHQgY29sb3Igb2YgR3JpZCBoZWFkZXIuXG4vLy8gQGdyb3VwIGdyaWRcbiRrZW5kby1ncmlkLWhlYWRlci10ZXh0OiAka2VuZG8tdGFibGUtaGVhZGVyLXRleHQgIWRlZmF1bHQ7XG4vLy8gVGhlIGJvcmRlciBjb2xvciBvZiBHcmlkIGhlYWRlci5cbi8vLyBAZ3JvdXAgZ3JpZFxuJGtlbmRvLWdyaWQtaGVhZGVyLWJvcmRlcjogJGtlbmRvLXRhYmxlLWhlYWRlci1ib3JkZXIgIWRlZmF1bHQ7XG4vLy8gVGhlIGJhY2tncm91bmQgY29sb3Igb2YgR3JpZCBoZWFkZXIgaWNvbnMuXG4vLy8gQGdyb3VwIGdyaWRcbiRrZW5kby1ncmlkLWhlYWRlci1pY29uLXRleHQ6IGlmKCRrZW5kby1lbmFibGUtY29sb3Itc3lzdGVtLCBrLWNvbG9yKCBzdWJ0bGUgKSwgay1nZXQtdGhlbWUtY29sb3ItdmFyKCBuZXV0cmFsLTEzMCApKSAhZGVmYXVsdDtcblxuLy8gVGhlIGJhY2tncm91bmQgY29sb3Igb2YgR3JpZCBmb290ZXIuXG4vLy8gQGdyb3VwIGdyaWRcbiRrZW5kby1ncmlkLWZvb3Rlci1iZzogJGtlbmRvLXRhYmxlLWZvb3Rlci1iZyAhZGVmYXVsdDtcbi8vLyBUaGUgdGV4dCBjb2xvciBvZiBHcmlkIGZvb3Rlci5cbi8vLyBAZ3JvdXAgZ3JpZFxuJGtlbmRvLWdyaWQtZm9vdGVyLXRleHQ6ICRrZW5kby10YWJsZS1mb290ZXItdGV4dCAhZGVmYXVsdDtcbi8vLyBUaGUgYm9yZGVyIGNvbG9yIG9mIEdyaWQgZm9vdGVyLlxuLy8vIEBncm91cCBncmlkXG4ka2VuZG8tZ3JpZC1mb290ZXItYm9yZGVyOiAka2VuZG8tdGFibGUtZm9vdGVyLWJvcmRlciAhZGVmYXVsdDtcblxuLy8vIFRoZSBiYWNrZ3JvdW5kIGNvbG9yIG9mIHRoZSBHcmlkIHNlbGVjdGlvbiBhZ2dyZWdhdGVzIGNvbnRhaW5lci5cbi8vLyBAZ3JvdXAgZ3JpZFxuJGtlbmRvLWdyaWQtc2VsZWN0aW9uLWFnZ3JlZ2F0ZXMtYmc6ICRrZW5kby10b29sYmFyLWJnICFkZWZhdWx0O1xuLy8vIFRoZSB0ZXh0IGNvbG9yIG9mIHRoZSBHcmlkIHNlbGVjdGlvbiBhZ2dyZWdhdGVzIGNvbnRhaW5lci5cbi8vLyBAZ3JvdXAgZ3JpZFxuJGtlbmRvLWdyaWQtc2VsZWN0aW9uLWFnZ3JlZ2F0ZXMtdGV4dDogJGtlbmRvLWdyaWQtdGV4dCAhZGVmYXVsdDtcbi8vLyBUaGUgYm9yZGVyIGNvbG9yIG9mIHRoZSBHcmlkIHNlbGVjdGlvbiBhZ2dyZWdhdGVzIGNvbnRhaW5lci5cbi8vLyBAZ3JvdXAgZ3JpZFxuJGtlbmRvLWdyaWQtc2VsZWN0aW9uLWFnZ3JlZ2F0ZXMtYm9yZGVyOiAka2VuZG8tZ3JpZC1ib3JkZXIgIWRlZmF1bHQ7XG4vLy8gVGhlIGJvcmRlciB3aWR0aCBvZiB0aGUgR3JpZCBzZWxlY3Rpb24gYWdncmVnYXRlcyBjb250YWluZXIuXG4vLy8gQGdyb3VwIGdyaWRcbiRrZW5kby1ncmlkLXNlbGVjdGlvbi1hZ2dyZWdhdGVzLWJvcmRlci13aWR0aDogJGtlbmRvLWdyaWQtYm9yZGVyLXdpZHRoICFkZWZhdWx0O1xuLy8vIFRoZSBzcGFjaW5nIGJldHdlZW4gdGhlIEdyaWQgc2VsZWN0aW9uIGFnZ3JlZ2F0ZXMgaXRlbXMuXG4vLy8gQGdyb3VwIGdyaWRcbiRrZW5kby1ncmlkLXNlbGVjdGlvbi1hZ2dyZWdhdGVzLXNwYWNpbmc6IGstc3BhY2luZygyKSAhZGVmYXVsdDtcbi8vLyBMaW5lIGhlaWdodCBvZiB0aGUgR3JpZCBzZWxlY3Rpb24gYWdncmVnYXRlcyBjb250YWluZXIuXG4vLy8gQGdyb3VwIGdyaWRcbiRrZW5kby1ncmlkLXNlbGVjdGlvbi1hZ2dyZWdhdGVzLWxpbmUtaGVpZ2h0OiAka2VuZG8tZ3JpZC1saW5lLWhlaWdodCAhZGVmYXVsdDtcbi8vLyBUaGUgZm9udCB3ZWlnaHQgb2YgdGhlIEdyaWQgc2VsZWN0aW9uIGFnZ3JlZ2F0ZXMgY29udGFpbmVyLlxuLy8vIEBncm91cCBncmlkXG4ka2VuZG8tZ3JpZC1zZWxlY3Rpb24tYWdncmVnYXRlcy1mb250LXdlaWdodDogJGtlbmRvLWZvbnQtd2VpZ2h0LWJvbGQgIWRlZmF1bHQ7XG5cbi8vLyBUaGUgYmFja2dyb3VuZCBjb2xvciBvZiB0aGUgR3JpZCBncm91cGluZyBoZWFkZXIuXG4vLy8gQGdyb3VwIGdyaWRcbiRrZW5kby1ncmlkLWdyb3VwaW5nLWhlYWRlci1iZzogJGtlbmRvLXRvb2xiYXItYmcgIWRlZmF1bHQ7XG4vLy8gVGhlIHRleHQgY29sb3Igb2YgdGhlIEdyaWQgZ3JvdXBpbmcgaGVhZGVyLlxuLy8vIEBncm91cCBncmlkXG4ka2VuZG8tZ3JpZC1ncm91cGluZy1oZWFkZXItdGV4dDogJGtlbmRvLXRvb2xiYXItdGV4dCAhZGVmYXVsdDtcbi8vLyBUaGUgYm9yZGVyIGNvbG9yIG9mIHRoZSBHcmlkIGdyb3VwaW5nIGhlYWRlci5cbi8vLyBAZ3JvdXAgZ3JpZFxuJGtlbmRvLWdyaWQtZ3JvdXBpbmctaGVhZGVyLWJvcmRlcjogJGtlbmRvLXRvb2xiYXItYm9yZGVyICFkZWZhdWx0O1xuXG4vLy8gVGhlIHZlcnRpY2FsIGJvcmRlciB3aWR0aCBvZiB0aGUgR3JpZCBncm91cGluZyByb3cuXG4vLy8gQGdyb3VwIGdyaWRcbiRrZW5kby1ncmlkLWdyb3VwaW5nLXJvdy1ib3JkZXItd2lkdGgteTogJGtlbmRvLWdyaWQtYm9yZGVyLXdpZHRoICFkZWZhdWx0O1xuLy8vIFRoZSBiYWNrZ3JvdW5kIGNvbG9yIG9mIHRoZSBHcmlkIGdyb3VwaW5nIHJvdy5cbi8vLyBAZ3JvdXAgZ3JpZFxuJGtlbmRvLWdyaWQtZ3JvdXBpbmctcm93LWJnOiAka2VuZG8tdGFibGUtZ3JvdXAtcm93LWJnICFkZWZhdWx0O1xuLy8vIFRoZSB0ZXh0IGNvbG9yIG9mIHRoZSBHcmlkIGdyb3VwaW5nIHJvdy5cbi8vLyBAZ3JvdXAgZ3JpZFxuJGtlbmRvLWdyaWQtZ3JvdXBpbmctcm93LXRleHQ6ICRrZW5kby10YWJsZS1ncm91cC1yb3ctdGV4dCAhZGVmYXVsdDtcbi8vLyBUaGUgYm9yZGVyIGNvbG9yIG9mIHRoZSBHcmlkIGdyb3VwaW5nIHJvdy5cbi8vLyBAZ3JvdXAgZ3JpZFxuJGtlbmRvLWdyaWQtZ3JvdXBpbmctcm93LWJvcmRlcjogJGtlbmRvLXRhYmxlLWdyb3VwLXJvdy1ib3JkZXIgIWRlZmF1bHQ7XG5cbi8vLyBUaGUgaG9yaXpvbnRhbCBwYWRkaW5nIG9mIHRoZSBHcmlkIGZpbHRlciBjZWxsLlxuLy8vIEBncm91cCBncmlkXG4ka2VuZG8tZ3JpZC1maWx0ZXItY2VsbC1wYWRkaW5nLXg6ICRrZW5kby1ncmlkLXBhZGRpbmcteSAhZGVmYXVsdDtcbi8vLyBUaGUgdmVydGljYWwgcGFkZGluZyBvZiB0aGUgR3JpZCBmaWx0ZXIgY2VsbC5cbi8vLyBAZ3JvdXAgZ3JpZFxuJGtlbmRvLWdyaWQtZmlsdGVyLWNlbGwtcGFkZGluZy15OiAka2VuZG8tZ3JpZC1maWx0ZXItY2VsbC1wYWRkaW5nLXggIWRlZmF1bHQ7XG5cbi8vLyBUaGUgaG9yaXpvbnRhbCBwYWRkaW5nIG9mIHRoZSBHcmlkIFRvb2xiYXIuXG4vLy8gQGdyb3VwIGdyaWRcbiRrZW5kby1ncmlkLXRvb2xiYXItcGFkZGluZy14OiAka2VuZG8tdG9vbGJhci1tZC1wYWRkaW5nLXggIWRlZmF1bHQ7XG4vLy8gVGhlIHZlcnRpY2FsIHBhZGRpbmcgb2YgdGhlIEdyaWQgVG9vbGJhci5cbi8vLyBAZ3JvdXAgZ3JpZFxuJGtlbmRvLWdyaWQtdG9vbGJhci1wYWRkaW5nLXk6ICRrZW5kby10b29sYmFyLW1kLXBhZGRpbmcteSAhZGVmYXVsdDtcbi8vLyBUaGUgc3BhY2luZyBvZiB0aGUgR3JpZCBUb29sYmFyLlxuLy8vIEBncm91cCBncmlkXG4ka2VuZG8tZ3JpZC10b29sYmFyLXNwYWNpbmc6ICRrZW5kby10b29sYmFyLW1kLXNwYWNpbmcgIWRlZmF1bHQ7XG4vLy8gVGhlIGJvcmRlciB3aWR0aCBvZiB0aGUgR3JpZCBUb29sYmFyLlxuLy8vIEBncm91cCBncmlkXG4ka2VuZG8tZ3JpZC10b29sYmFyLWJvcmRlci13aWR0aDogJGtlbmRvLWdyaWQtYm9yZGVyLXdpZHRoICFkZWZhdWx0O1xuXG4vLy8gVGhlIHZlcnRpY2FsIGJvcmRlciB3aWR0aCBvZiB0aGUgR3JpZCBjZWxsLlxuLy8vIEBncm91cCBncmlkXG4ka2VuZG8tZ3JpZC1jZWxsLWJvcmRlci13aWR0aC15OiAka2VuZG8tZ3JpZC1ib3JkZXItd2lkdGggIWRlZmF1bHQ7XG4vLy8gVGhlIGhvcml6b250YWwgYm9yZGVyIHdpZHRoIG9mIHRoZSBHcmlkIGNlbGwuXG4vLy8gQGdyb3VwIGdyaWRcbiRrZW5kby1ncmlkLWNlbGwtYm9yZGVyLXdpZHRoLXg6IDBweCAhZGVmYXVsdDtcbi8vLyBUaGUgZm9udCBzaXplIG9mIHRoZSBHcmlkIHNvcnQgaW5kZXguXG4vLy8gQGdyb3VwIGdyaWRcbiRrZW5kby1ncmlkLXNvcnQtaW5kZXgtZm9udC1zaXplOiB2YXIoIC0ta2VuZG8tZm9udC1zaXplLXNtLCBpbmhlcml0ICkgIWRlZmF1bHQ7XG4vLy8gVGhlIGRlZmF1bHQgaGVpZ2h0IG9mIHRoZSBHcmlkIHNvcnQgaW5kZXguXG4vLy8gQGdyb3VwIGdyaWRcbiRrZW5kby1ncmlkLXNvcnQtaW5kZXgtaGVpZ2h0OiB2YXIoIC0ta2VuZG8taWNvbi1zaXplLCAxcmVtICkgIWRlZmF1bHQ7XG4vLy8gVGhlIGhvcml6b250YWwgb2Zmc2V0IG9mIHRoZSBHcmlkIHNvcnQgaW5kZXguXG4vLy8gQGdyb3VwIGdyaWRcbiRrZW5kby1ncmlkLXNvcnQtaW5kZXgtc3BhY2luZy15OiBjYWxjKCB2YXIoIC0ta2VuZG8taWNvbi1zcGFjaW5nLCAuNXJlbSApIC8gNCApICFkZWZhdWx0O1xuLy8vIFRoZSB2ZXJ0aWNhbCBvZmZzZXQgb2YgdGhlIEdyaWQgc29ydCBpbmRleC5cbi8vLyBAZ3JvdXAgZ3JpZFxuJGtlbmRvLWdyaWQtc29ydC1pbmRleC1zcGFjaW5nLXg6IGstc3BhY2luZygwLjUpICFkZWZhdWx0O1xuLy8vIFRoZSBzcGFjaW5nIG9mIHRoZSBHcmlkIHNvcnQgaWNvbi5cbi8vLyBAZ3JvdXAgZ3JpZFxuJGtlbmRvLWdyaWQtc29ydC1pY29uLXNwYWNpbmc6IHZhciggLS1rZW5kby1pY29uLWxnLXNwYWNpbmcsIC41cmVtICkgIWRlZmF1bHQ7XG4vLy8gVGhlIHRleHQgY29sb3Igb2YgdGhlIEdyaWQgc29ydCBpbmRpY2F0b3IuXG4vLy8gQGdyb3VwIGdyaWRcbiRrZW5kby1ncmlkLXNvcnQtaW5kaWNhdG9yLXRleHQ6IGlmKCRrZW5kby1lbmFibGUtY29sb3Itc3lzdGVtLCBrLWNvbG9yKCBzdWJ0bGUgKSwgay1nZXQtdGhlbWUtY29sb3ItdmFyKCBuZXV0cmFsLTEzMCApKSAhZGVmYXVsdDtcbi8vLyBUaGUgdGV4dCBjb2xvciBvZiB0aGUgR3JpZCBzb3J0IG9yZGVyIGluZGljYXRvci5cbi8vLyBAZ3JvdXAgZ3JpZFxuJGtlbmRvLWdyaWQtc29ydC1pbmRpY2F0b3Itb3JkZXItdGV4dDogaWYoJGtlbmRvLWVuYWJsZS1jb2xvci1zeXN0ZW0sIGstY29sb3IoIHByaW1hcnkgKSwgay1nZXQtdGhlbWUtY29sb3ItdmFyKCBwcmltYXJ5LTEwMCApKSAhZGVmYXVsdDtcbi8vLyBUaGUgYmFja2dyb3VuZCBjb2xvciBvZiB0aGUgc29ydGVkIEdyaWQgY2VsbHMuXG4vLy8gQGdyb3VwIGdyaWRcbiRrZW5kby1ncmlkLXNvcnRlZC1iZzogaWYoJGtlbmRvLWVuYWJsZS1jb2xvci1zeXN0ZW0sIGstY29sb3IoIHN1cmZhY2UgKSwgay1nZXQtdGhlbWUtY29sb3ItdmFyKCBuZXV0cmFsLTEwICkpICFkZWZhdWx0O1xuXG4vLy8gVGhlIGhvcml6b250YWwgcGFkZGluZyBvZiB0aGUgR3JpZCBjb21tYW5kIGNlbGxzLlxuLy8vIEBncm91cCBncmlkXG4ka2VuZG8tZ3JpZC1jb21tYW5kLWNlbGwtcGFkZGluZy15OiBjYWxjKCAjeyRrZW5kby10YWJsZS1jZWxsLXBhZGRpbmcteX0gLSAoI3ska2VuZG8tYnV0dG9uLWNhbGMtc2l6ZX0gLSAjeyRrZW5kby1saW5lLWhlaWdodC1lbX0gKSAvIDIgKSAhZGVmYXVsdDtcbi8vLyBUaGUgdmVydGljYWwgcGFkZGluZyBvZiB0aGUgR3JpZCBjb21tYW5kIGNlbGxzLlxuLy8vIEBncm91cCBncmlkXG4ka2VuZG8tZ3JpZC1jb21tYW5kLWNlbGwtYnV0dG9uLXNwYWNpbmc6IGstc3BhY2luZygyKSAhZGVmYXVsdDtcblxuLy8vIFRoZSBob3Jpem9udGFsIHBhZGRpbmcgb2YgdGhlIEdyaWQgZ3JvdXAgaW5kaWNhdG9yLlxuLy8vIEBncm91cCBncmlkXG4ka2VuZG8tZ3JpZC1ncm91cC1pbmRpY2F0b3ItcGFkZGluZy14OiAka2VuZG8tYnV0dG9uLW1kLXBhZGRpbmcteCAhZGVmYXVsdDtcbi8vLyBUaGUgdmVydGljYWwgcGFkZGluZyBvZiB0aGUgR3JpZCBncm91cCBpbmRpY2F0b3IuXG4vLy8gQGdyb3VwIGdyaWRcbiRrZW5kby1ncmlkLWdyb3VwLWluZGljYXRvci1wYWRkaW5nLXk6ICRrZW5kby1idXR0b24tbWQtcGFkZGluZy15ICFkZWZhdWx0O1xuLy8vIFRoZSBib3JkZXIgd2lkdGggb2YgdGhlIEdyaWQgZ3JvdXAgaW5kaWNhdG9yLlxuLy8vIEBncm91cCBncmlkXG4ka2VuZG8tZ3JpZC1ncm91cC1pbmRpY2F0b3ItYm9yZGVyLXdpZHRoOiAka2VuZG8tYnV0dG9uLWJvcmRlci13aWR0aCAhZGVmYXVsdDtcbi8vLyBUaGUgYm9yZGVyIHJhZGl1cyBvZiB0aGUgR3JpZCBncm91cCBpbmRpY2F0b3IuXG4vLy8gQGdyb3VwIGdyaWRcbiRrZW5kby1ncmlkLWdyb3VwLWluZGljYXRvci1ib3JkZXItcmFkaXVzOiBrLWJvcmRlci1yYWRpdXMobWQpICFkZWZhdWx0O1xuLy8vIFNwYWNpbmcgb2YgdGhlIGdyaWQgZ3JvdXAgaW5kaWNhdG9yLlxuLy8vIEBncm91cCBncmlkXG4ka2VuZG8tZ3JpZC1ncm91cC1pbmRpY2F0b3ItZ2FwOiAka2VuZG8tdGFibGUtY2VsbC1wYWRkaW5nLXkgIWRlZmF1bHQ7XG4vLy8gVGhlIHRleHQgY29sb3Igb2YgdGhlIEdyaWQgZ3JvdXAgaW5kaWNhdG9yLlxuLy8vIEBncm91cCBncmlkXG4ka2VuZG8tZ3JpZC1ncm91cC1pbmRpY2F0b3ItdGV4dDogdmFyKCAtLWtlbmRvLWNvbXBvbmVudC10ZXh0LCBpbml0aWFsICkgIWRlZmF1bHQ7XG4vLy8gVGhlIGJhY2tncm91bmQgY29sb3Igb2YgdGhlIEdyaWQgZ3JvdXAgaW5kaWNhdG9yLlxuLy8vIEBncm91cCBncmlkXG4ka2VuZG8tZ3JpZC1ncm91cC1pbmRpY2F0b3ItYmc6IHZhciggLS1rZW5kby1jb21wb25lbnQtYmcsIGluaXRpYWwgKSAhZGVmYXVsdDtcbi8vLyBUaGUgYm9yZGVyIGNvbG9yIG9mIHRoZSBHcmlkIGdyb3VwIGluZGljYXRvci5cbi8vLyBAZ3JvdXAgZ3JpZFxuJGtlbmRvLWdyaWQtZ3JvdXAtaW5kaWNhdG9yLWJvcmRlcjogaWYoJGtlbmRvLWVuYWJsZS1jb2xvci1zeXN0ZW0sIGstY29sb3IoIGJvcmRlciApLCBrLWdldC10aGVtZS1jb2xvci12YXIoIG5ldXRyYWwtMTEwICkpICFkZWZhdWx0O1xuLy8vIFRoZSB0ZXh0IGNvbG9yIG9mIHRoZSBHcmlkIGdyb3VwIGluZGljYXRvciBpY29uLlxuLy8vIEBncm91cCBncmlkXG4ka2VuZG8tZ3JpZC1ncm91cC1pbmRpY2F0b3ItaWNvbi10ZXh0OiBpZigka2VuZG8tZW5hYmxlLWNvbG9yLXN5c3RlbSwgay1jb2xvciggc3VidGxlICksIGstZ2V0LXRoZW1lLWNvbG9yLXZhciggbmV1dHJhbC0xMzAgKSkgIWRlZmF1bHQ7XG5cbi8vLyBUaGUgaG9yaXpvbnRhbCBib3JkZXIgd2lkdGggb2YgdGhlIEdyaWQgZ3JvdXAgZm9vdGVyLlxuLy8vIEBncm91cCBncmlkXG4ka2VuZG8tZ3JpZC1ncm91cC1mb290ZXItYm9yZGVyLXdpZHRoLXk6IDBweCAhZGVmYXVsdDtcbi8vLyBUaGUgdmVydGljYWwgYm9yZGVyIHdpZHRoIG9mIHRoZSBHcmlkIGdyb3VwIGZvb3Rlci5cbi8vLyBAZ3JvdXAgZ3JpZFxuJGtlbmRvLWdyaWQtZ3JvdXAtZm9vdGVyLWJvcmRlci13aWR0aC14OiAwcHggIWRlZmF1bHQ7XG5cbi8vLyBUaGUgdGV4dCBjb2xvciBvZiB0aGUgR3JpZCBncm91cCBkcm9wIGNsdWUuXG4vLy8gQGdyb3VwIGdyaWRcbiRrZW5kby1ncmlkLWdyb3VwLWRyb3AtaGludC1iZzogaWYoJGtlbmRvLWVuYWJsZS1jb2xvci1zeXN0ZW0sIGstY29sb3IoIHByaW1hcnkgKSwgay1nZXQtdGhlbWUtY29sb3ItdmFyKCBwcmltYXJ5LTEwMCApKSAhZGVmYXVsdDtcblxuLy8vIFRoZSBib3JkZXIgd2lkdGggb2YgdGhlIEdyaWQgc3RpY2t5IGNlbGwuXG4vLy8gQGdyb3VwIGdyaWRcbiRrZW5kby1ncmlkLXN0aWNreS1jZWxsLWJvcmRlci13aWR0aDogJGtlbmRvLWdyaWQtYm9yZGVyLXdpZHRoICFkZWZhdWx0O1xuLy8vIFRoZSBiYWNrZ3JvdW5kIGNvbG9yIG9mIHRoZSBHcmlkIHN0aWNreSBjZWxsLlxuLy8vIEBncm91cCBncmlkXG4ka2VuZG8tZ3JpZC1zdGlja3ktYmc6IHZhciggLS1rZW5kby1jb21wb25lbnQtYmcsIGluaXRpYWwgKSAhZGVmYXVsdDtcbi8vLyBUaGUgdGV4dCBjb2xvciBvZiB0aGUgR3JpZCBzdGlja3kgY2VsbC5cbi8vLyBAZ3JvdXAgZ3JpZFxuJGtlbmRvLWdyaWQtc3RpY2t5LXRleHQ6ICRrZW5kby1ncmlkLXRleHQgIWRlZmF1bHQ7XG4vLy8gVGhlIGJvcmRlciBjb2xvciBvZiB0aGUgR3JpZCBzdGlja3kgY2VsbC5cbi8vLyBAZ3JvdXAgZ3JpZFxuJGtlbmRvLWdyaWQtc3RpY2t5LWJvcmRlcjogaWYoJGtlbmRvLWVuYWJsZS1jb2xvci1zeXN0ZW0sIGNvbG9yLW1peChpbiBzcmdiLCBrLWNvbG9yKCBib3JkZXIgKSA4MCUsIHRyYW5zcGFyZW50KSwgay1nZXQtdGhlbWUtY29sb3ItdmFyKCBuZXV0cmFsLTkwICkpICFkZWZhdWx0O1xuLy8vIFRoZSBhbHQgYmFja2dyb3VuZCBjb2xvciBvZiB0aGUgR3JpZCBzdGlja3kgY2VsbC5cbi8vLyBAZ3JvdXAgZ3JpZFxuJGtlbmRvLWdyaWQtc3RpY2t5LWFsdC1iZzogJGtlbmRvLWdyaWQtc3RpY2t5LWJnICFkZWZhdWx0O1xuLy8vIFRoZSBiYWNrZ3JvdW5kIGNvbG9yIG9mIHRoZSBHcmlkIHN0aWNreSBjZWxsLlxuLy8vIEBncm91cCBncmlkXG4ka2VuZG8tZ3JpZC1zdGlja3ktaG92ZXItYmc6ICRrZW5kby1ncmlkLWhvdmVyLWJnICFkZWZhdWx0O1xuXG4vLy8gVGhlIGJhY2tncm91bmQgY29sb3Igb2YgdGhlIEdyaWQgc3RpY2t5IGhlYWRlci5cbi8vLyBAZ3JvdXAgZ3JpZFxuJGtlbmRvLWdyaWQtc3RpY2t5LWhlYWRlci1iZzogJGtlbmRvLWdyaWQtaGVhZGVyLWJnICFkZWZhdWx0O1xuLy8vIFRoZSB0ZXh0IGNvbG9yIG9mIHRoZSBHcmlkIHN0aWNreSBoZWFkZXIuXG4vLy8gQGdyb3VwIGdyaWRcbiRrZW5kby1ncmlkLXN0aWNreS1oZWFkZXItdGV4dDogJGtlbmRvLWdyaWQtaGVhZGVyLXRleHQgIWRlZmF1bHQ7XG4vLy8gVGhlIGJvcmRlciBjb2xvciBvZiB0aGUgR3JpZCBzdGlja3kgaGVhZGVyLlxuLy8vIEBncm91cCBncmlkXG4ka2VuZG8tZ3JpZC1zdGlja3ktaGVhZGVyLWJvcmRlcjogJGtlbmRvLWdyaWQtc3RpY2t5LWJvcmRlciAhZGVmYXVsdDtcblxuLy8vIFRoZSBiYWNrZ3JvdW5kIGNvbG9yIG9mIHRoZSBHcmlkIHN0aWNreSBmb290ZXIuXG4vLy8gQGdyb3VwIGdyaWRcbiRrZW5kby1ncmlkLXN0aWNreS1mb290ZXItYmc6ICRrZW5kby1ncmlkLWhlYWRlci1iZyAhZGVmYXVsdDtcbi8vLyBUaGUgYmFja2dyb3VuZCBjb2xvciBvZiB0aGUgR3JpZCBzdGlja3kgZm9vdGVyLlxuLy8vIEBncm91cCBncmlkXG4ka2VuZG8tZ3JpZC1zdGlja3ktZm9vdGVyLWhvdmVyLWJnOiAka2VuZG8tZ3JpZC1ob3Zlci1iZyAhZGVmYXVsdDtcblxuLy8vIFRoZSBiYWNrZ3JvdW5kIGNvbG9yIG9mIHRoZSBzZWxlY3RlZCBHcmlkIHN0aWNreSBjZWxscy5cbi8vLyBAZ3JvdXAgZ3JpZFxuJGtlbmRvLWdyaWQtc3RpY2t5LXNlbGVjdGVkLWJnOiAka2VuZG8tZ3JpZC1zZWxlY3RlZC1iZyAhZGVmYXVsdDtcbi8vLyBUaGUgYmFja2dyb3VuZCBjb2xvciBvZiB0aGUgc2VsZWN0ZWQgYWx0IEdyaWQgc3RpY2t5IGNlbGxzLlxuLy8vIEBncm91cCBncmlkXG4ka2VuZG8tZ3JpZC1zdGlja3ktc2VsZWN0ZWQtYWx0LWJnOiAka2VuZG8tZ3JpZC1zdGlja3ktc2VsZWN0ZWQtYmcgIWRlZmF1bHQ7XG4vLy8gVGhlIGJhY2tncm91bmQgY29sb3Igb2YgdGhlIGhvdmVyZWQgc2VsZWN0ZWQgR3JpZCBzdGlja3kgY2VsbHMuXG4vLy8gQGdyb3VwIGdyaWRcbiRrZW5kby1ncmlkLXN0aWNreS1zZWxlY3RlZC1ob3Zlci1iZzogaWYoJGtlbmRvLWVuYWJsZS1jb2xvci1zeXN0ZW0sICRrZW5kby1ncmlkLXN0aWNreS1zZWxlY3RlZC1iZywgJGtlbmRvLWdyaWQtc2VsZWN0ZWQtaG92ZXItYmcpICFkZWZhdWx0O1xuXG4vLy8gVGhlIGhvcml6b250YWwgcGFkZGluZyBvZiB0aGUgR3JpZCBmaWx0ZXIgbWVudSBjb250YWluZXIuXG4vLy8gQGdyb3VwIGdyaWRcbiRrZW5kby1maWx0ZXItbWVudS1jb250YWluZXItcGFkZGluZy15OiBrLXNwYWNpbmcoMykgIWRlZmF1bHQ7XG4vLy8gVGhlIHZlcnRpY2FsIHBhZGRpbmcgb2YgdGhlIEdyaWQgZmlsdGVyIG1lbnUgY29udGFpbmVyLlxuLy8vIEBncm91cCBncmlkXG4ka2VuZG8tZmlsdGVyLW1lbnUtY29udGFpbmVyLXBhZGRpbmcteDogay1zcGFjaW5nKDMpICFkZWZhdWx0O1xuXG4vLy8gVGhlIGRlZmF1bHQgd2lkdGggb2YgdGhlIEdyaWQgY29sdW1uIG1lbnUuXG4vLy8gQGdyb3VwIGdyaWRcbiRrZW5kby1ncmlkLWNvbHVtbi1tZW51LXdpZHRoOiAyMzBweCAhZGVmYXVsdDtcbi8vLyBUaGUgbWF4IHdpZHRoIG9mIHRoZSBHcmlkIGNvbHVtbiBtZW51LlxuLy8vIEBncm91cCBncmlkXG4ka2VuZG8tZ3JpZC1jb2x1bW4tbWVudS1tYXgtd2lkdGg6IDMyMHB4ICFkZWZhdWx0O1xuLy8vIFRoZSBzcGFjaW5nIG9mIHRoZSBHcmlkIGNvbHVtbiBtZW51LlxuLy8vIEBncm91cCBncmlkXG4ka2VuZG8tZ3JpZC1jb2x1bW4tbWVudS1zcGFjaW5nOiBrLXNwYWNpbmcoMikgIWRlZmF1bHQ7XG4vLy8gVGhlIGZvY3VzIHNoYWRvdyBvZiB0aGUgR3JpZCBjb2x1bW4gbWVudS5cbi8vLyBAZ3JvdXAgZ3JpZFxuJGtlbmRvLWdyaWQtY29sdW1uLW1lbnUtc2hhZG93OiB2YXIoIC0ta2VuZG8tYm94LXNoYWRvdy1kZXB0aC00LCBub25lICkgIWRlZmF1bHQ7XG4vLy8gVGhlIGJhY2tncm91bmQgY29sb3Igb2YgdGhlIEdyaWQgY29sdW1uIG1lbnUuXG4vLy8gQGdyb3VwIGdyaWRcbiRrZW5kby1ncmlkLWNvbHVtbi1tZW51LWJnOiB2YXIoIC0ta2VuZG8tY29tcG9uZW50LWJnLCBpbmhlcml0ICkgIWRlZmF1bHQ7XG4vLy8gVGhlIHRleHQgY29sb3Igb2YgdGhlIEdyaWQgY29sdW1uIG1lbnUuXG4vLy8gQGdyb3VwIGdyaWRcbiRrZW5kby1ncmlkLWNvbHVtbi1tZW51LXRleHQ6IHZhciggLS1rZW5kby1jb21wb25lbnQtdGV4dCwgaW5oZXJpdCApICFkZWZhdWx0O1xuLy8vIFRoZSBib3JkZXIgY29sb3Igb2YgdGhlIEdyaWQgY29sdW1uIG1lbnUuXG4vLy8gQGdyb3VwIGdyaWRcbiRrZW5kby1ncmlkLWNvbHVtbi1tZW51LWJvcmRlcjogdmFyKCAtLWtlbmRvLWNvbXBvbmVudC1ib3JkZXIsIGluaGVyaXQgKSAhZGVmYXVsdDtcblxuLy8vIFRoZSBmb250IHNpemUgb2YgdGhlIEdyaWQgY29sdW1uIG1lbnUgY2hlY2tib3ggY29udGFpbmVyLlxuLy8vIEBncm91cCBncmlkXG4ka2VuZG8tZ3JpZC1jb2x1bW4tbWVudS1tdWx0aWNoZWNrLWZvbnQtc2l6ZTogJGtlbmRvLWxpc3QtbWQtZm9udC1zaXplICFkZWZhdWx0O1xuLy8vIFRoZSBsaW5lIGhlaWdodCBvZiB0aGUgR3JpZCBjb2x1bW4gbWVudSBjaGVja2JveCBjb250YWluZXIuXG4vLy8gQGdyb3VwIGdyaWRcbiRrZW5kby1ncmlkLWNvbHVtbi1tZW51LW11bHRpY2hlY2stbGluZS1oZWlnaHQ6ICRrZW5kby1saXN0LW1kLWxpbmUtaGVpZ2h0ICFkZWZhdWx0O1xuXG4vLy8gVGhlIHZlcnRpY2FsIHBhZGRpbmcgb2YgdGhlIEdyaWQgY29sdW1uIG1lbnUgaXRlbXMgd3JhcC5cbi8vLyBAZ3JvdXAgZ3JpZFxuJGtlbmRvLWdyaWQtY29sdW1uLW1lbnUtaXRlbXMtd3JhcC1wYWRkaW5nLXk6IGstc3BhY2luZygyKSAhZGVmYXVsdDtcbi8vLyBUaGUgaG9yaXpvbnRhbCBwYWRkaW5nIG9mIHRoZSBHcmlkIGNvbHVtbiBtZW51IGl0ZW1zIHdyYXAuXG4vLy8gQGdyb3VwIGdyaWRcbiRrZW5kby1ncmlkLWNvbHVtbi1tZW51LWl0ZW1zLXdyYXAtcGFkZGluZy14OiBrLXNwYWNpbmcoMikgIWRlZmF1bHQ7XG5cbi8vLyBUaGUgaG9yaXpvbnRhbCBwYWRkaW5nIG9mIHRoZSBHcmlkIGNvbHVtbiBtZW51IGl0ZW0uXG4vLy8gQGdyb3VwIGdyaWRcbiRrZW5kby1ncmlkLWNvbHVtbi1tZW51LWl0ZW0tcGFkZGluZy15OiAka2VuZG8tbGlzdC1tZC1pdGVtLXBhZGRpbmcteSAhZGVmYXVsdDtcbi8vLyBUaGUgdmVydGljYWwgcGFkZGluZyBvZiB0aGUgR3JpZCBjb2x1bW4gbWVudSBpdGVtLlxuLy8vIEBncm91cCBncmlkXG4ka2VuZG8tZ3JpZC1jb2x1bW4tbWVudS1pdGVtLXBhZGRpbmcteDogJGtlbmRvLWxpc3QtbWQtaXRlbS1wYWRkaW5nLXggIWRlZmF1bHQ7XG4vLy8gVGhlIHNwYWNpbmcgb2YgdGhlIEdyaWQgY29sdW1uIG1lbnUgaXRlbS5cbi8vLyBAZ3JvdXAgZ3JpZFxuJGtlbmRvLWdyaWQtY29sdW1uLW1lbnUtaXRlbS1nYXA6ICRrZW5kby1saXN0LW1kLWl0ZW0tcGFkZGluZy14ICFkZWZhdWx0O1xuLy8vIFRoZSBpY29uIHNwYWNpbmcgb2YgdGhlIEdyaWQgY29sdW1uIG1lbnUgaXRlbS5cbi8vLyBAZ3JvdXAgZ3JpZFxuJGtlbmRvLWdyaWQtY29sdW1uLW1lbnUtaXRlbS1pY29uLXNwYWNpbmc6IHZhciggLS1rZW5kby1pY29uLXNwYWNpbmcsIC41cmVtICkgIWRlZmF1bHQ7XG4vLy8gVGhlIGJhY2tncm91bmQgY29sb3Igb2YgdGhlIEdyaWQgY29sdW1uIG1lbnUgaXRlbS5cbi8vLyBAZ3JvdXAgZ3JpZFxuJGtlbmRvLWdyaWQtY29sdW1uLW1lbnUtaXRlbS1iZzogJGtlbmRvLWxpc3QtaXRlbS1iZyAhZGVmYXVsdDtcbi8vLyBUaGUgdGV4dCBjb2xvciBvZiB0aGUgR3JpZCBjb2x1bW4gbWVudSBpdGVtLlxuLy8vIEBncm91cCBncmlkXG4ka2VuZG8tZ3JpZC1jb2x1bW4tbWVudS1pdGVtLXRleHQ6ICRrZW5kby1saXN0LWl0ZW0tdGV4dCAhZGVmYXVsdDtcbi8vLyBUaGUgYmFja2dyb3VuZCBjb2xvciBvZiB0aGUgR3JpZCBjb2x1bW4gbWVudSBpdGVtLlxuLy8vIEBncm91cCBncmlkXG4ka2VuZG8tZ3JpZC1jb2x1bW4tbWVudS1pdGVtLWhvdmVyLWJnOiAka2VuZG8tbGlzdC1pdGVtLWhvdmVyLWJnICFkZWZhdWx0O1xuLy8vIFRoZSB0ZXh0IGNvbG9yIG9mIHRoZSBob3ZlcmVkIEdyaWQgY29sdW1uIG1lbnUgaXRlbS5cbi8vLyBAZ3JvdXAgZ3JpZFxuJGtlbmRvLWdyaWQtY29sdW1uLW1lbnUtaXRlbS1ob3Zlci10ZXh0OiAka2VuZG8tbGlzdC1pdGVtLWhvdmVyLXRleHQgIWRlZmF1bHQ7XG4vLy8gVGhlIGJhY2tncm91bmQgY29sb3Igb2YgdGhlIHNlbGVjdGVkIEdyaWQgY29sdW1uIG1lbnUgaXRlbS5cbi8vLyBAZ3JvdXAgZ3JpZFxuJGtlbmRvLWdyaWQtY29sdW1uLW1lbnUtaXRlbS1zZWxlY3RlZC1iZzogJGtlbmRvLWxpc3QtaXRlbS1zZWxlY3RlZC1iZyAhZGVmYXVsdDtcbi8vLyBUaGUgdGV4dCBjb2xvciBvZiB0aGUgc2VsZWN0ZWQgR3JpZCBjb2x1bW4gbWVudSBpdGVtLlxuLy8vIEBncm91cCBncmlkXG4ka2VuZG8tZ3JpZC1jb2x1bW4tbWVudS1pdGVtLXNlbGVjdGVkLXRleHQ6ICRrZW5kby1saXN0LWl0ZW0tc2VsZWN0ZWQtdGV4dCAhZGVmYXVsdDtcbi8vLyBUaGUgZm9jdXMgc2hhZG93IG9mIHRoZSBHcmlkIGNvbHVtbiBtZW51IGl0ZW0uXG4vLy8gQGdyb3VwIGdyaWRcbiRrZW5kby1ncmlkLWNvbHVtbi1tZW51LWl0ZW0tZm9jdXMtc2hhZG93OiAka2VuZG8tbGlzdC1pdGVtLWZvY3VzLXNoYWRvdyAhZGVmYXVsdDtcbi8vLyBUaGUgdGV4dCBjb2xvciBvZiB0aGUgR3JpZCBjb2x1bW4gbWVudSBpdGVtIGljb24uXG4vLy8gQGdyb3VwIGdyaWRcbiRrZW5kby1ncmlkLWNvbHVtbi1tZW51LWl0ZW0taWNvbi10ZXh0OiAka2VuZG8tbGlzdC1pdGVtLWljb24tdGV4dCAhZGVmYXVsdDtcblxuLy8vIFRoZSB2ZXJ0aWNhbCBwYWRkaW5nIG9mIHRoZSBHcmlkIGNvbHVtbiBtZW51IGdyb3VwIGhlYWRlci5cbi8vLyBAZ3JvdXAgZ3JpZFxuJGtlbmRvLWdyaWQtY29sdW1uLW1lbnUtZ3JvdXAtaGVhZGVyLXBhZGRpbmcteTogJGtlbmRvLWdyaWQtY29sdW1uLW1lbnUtaXRlbS1wYWRkaW5nLXkgIWRlZmF1bHQ7XG4vLy8gVGhlIGhvcml6b250YWwgcGFkZGluZyBvZiB0aGUgR3JpZCBjb2x1bW4gbWVudSBncm91cCBoZWFkZXIuXG4vLy8gQGdyb3VwIGdyaWRcbiRrZW5kby1ncmlkLWNvbHVtbi1tZW51LWdyb3VwLWhlYWRlci1wYWRkaW5nLXg6ICRrZW5kby1ncmlkLWNvbHVtbi1tZW51LWl0ZW0tcGFkZGluZy14ICFkZWZhdWx0O1xuLy8vIFRoZSBib3JkZXIgd2lkdGggb2YgdGhlIEdyaWQgY29sdW1uIG1lbnUgZ3JvdXAgaGVhZGVyLlxuLy8vIEBncm91cCBncmlkXG4ka2VuZG8tZ3JpZC1jb2x1bW4tbWVudS1ncm91cC1oZWFkZXItYm9yZGVyLXdpZHRoOiAxcHggIWRlZmF1bHQ7XG4vLy8gVGhlIGJvcmRlciBzdHlsZSBvZiB0aGUgR3JpZCBjb2x1bW4gbWVudSBncm91cCBoZWFkZXIuXG4vLy8gQGdyb3VwIGdyaWRcbiRrZW5kby1ncmlkLWNvbHVtbi1tZW51LWdyb3VwLWhlYWRlci1ib3JkZXItc3R5bGU6IHNvbGlkICFkZWZhdWx0O1xuLy8vIFRoZSBmb250IHNpemUgb2YgdGhlIEdyaWQgY29sdW1uIG1lbnUgZ3JvdXAgaGVhZGVyLlxuLy8vIEBncm91cCBncmlkXG4ka2VuZG8tZ3JpZC1jb2x1bW4tbWVudS1ncm91cC1oZWFkZXItZm9udC1zaXplOiB2YXIoIC0ta2VuZG8tZm9udC1zaXplLXNtLCBpbmhlcml0ICkgIWRlZmF1bHQ7XG4vLy8gVGhlIGZvbnQgd2VpZ2h0IG9mIHRoZSBHcmlkIGNvbHVtbiBtZW51IGdyb3VwIGhlYWRlci5cbi8vLyBAZ3JvdXAgZ3JpZFxuJGtlbmRvLWdyaWQtY29sdW1uLW1lbnUtZ3JvdXAtaGVhZGVyLWZvbnQtd2VpZ2h0OiB2YXIoIC0ta2VuZG8tZm9udC13ZWlnaHQtYm9sZCwgbm9ybWFsICkgIWRlZmF1bHQ7XG4vLy8gVGhlIG1pbmUgaGVpZ2h0IG9mIHRoZSBHcmlkIGNvbHVtbiBtZW51IGdyb3VwIGhlYWRlci5cbi8vLyBAZ3JvdXAgZ3JpZFxuJGtlbmRvLWdyaWQtY29sdW1uLW1lbnUtZ3JvdXAtaGVhZGVyLWxpbmUtaGVpZ2h0OiB2YXIoIC0ta2VuZG8tbGluZS1oZWlnaHQsIG5vcm1hbCApICFkZWZhdWx0O1xuLy8vIFRoZSB0ZXh0IHRyYW5zZm9ybSBvZiB0aGUgR3JpZCBjb2x1bW4gbWVudSBncm91cCBoZWFkZXIuXG4vLy8gQGdyb3VwIGdyaWRcbiRrZW5kby1ncmlkLWNvbHVtbi1tZW51LWdyb3VwLWhlYWRlci10ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlICFkZWZhdWx0O1xuXG4vLy8gVGhlIGJhY2tncm91bmQgY29sb3Igb2YgdGhlIEdyaWQgY29sdW1uIG1lbnUgZ3JvdXAuXG4vLy8gQGdyb3VwIGdyaWRcbiRrZW5kby1ncmlkLWNvbHVtbi1tZW51LWdyb3VwLWhlYWRlci1iZzogdmFyKCAtLWtlbmRvLWNvbXBvbmVudC1iZywgaW5oZXJpdCApICFkZWZhdWx0O1xuLy8vIFRoZSB0ZXh0IGNvbG9yIG9mIHRoZSBHcmlkIGNvbHVtbiBtZW51IGdyb3VwLlxuLy8vIEBncm91cCBncmlkXG4ka2VuZG8tZ3JpZC1jb2x1bW4tbWVudS1ncm91cC1oZWFkZXItdGV4dDogdmFyKCAtLWtlbmRvLWNvbXBvbmVudC10ZXh0LCBpbmhlcml0ICkgIWRlZmF1bHQ7XG4vLy8gVGhlIGJvcmRlciBjb2xvciBvZiB0aGUgR3JpZCBjb2x1bW4gbWVudSBncm91cC5cbi8vLyBAZ3JvdXAgZ3JpZFxuJGtlbmRvLWdyaWQtY29sdW1uLW1lbnUtZ3JvdXAtaGVhZGVyLWJvcmRlcjogdmFyKCAtLWtlbmRvLWNvbXBvbmVudC1ib3JkZXIsIGluaGVyaXQpICFkZWZhdWx0O1xuXG4vLy8gVGhlIGhvcml6b250YWwgcGFkZGluZyBvZiB0aGUgdGFic3RyaXAgY29udGVudCBpbiB0aGUgR3JpZCB0YWJiZWQgY29sdW1uIG1lbnUuXG4vLy8gQGdyb3VwIGdyaWRcbiRrZW5kby1ncmlkLWNvbHVtbi1tZW51LXRhYmJlZC10YWJzdHJpcC1jb250ZW50LXBhZGRpbmcteDogay1zcGFjaW5nKDApICFkZWZhdWx0O1xuLy8vIFRoZSB2ZXJ0aWNhbCBwYWRkaW5nIG9mIHRoZSB0YWJzdHJpcCBjb250ZW50IGluIHRoZSBHcmlkIHRhYmJlZCBjb2x1bW4gbWVudS5cbi8vLyBAZ3JvdXAgZ3JpZFxuJGtlbmRvLWdyaWQtY29sdW1uLW1lbnUtdGFiYmVkLXRhYnN0cmlwLWNvbnRlbnQtcGFkZGluZy15OiBrLXNwYWNpbmcoMykgIWRlZmF1bHQ7XG5cbi8vLyBUaGUgYmFja2dyb3VuZCBjb2xvciBvZiB0aGUgR3JpZCB0YWJiZWQgY29sdW1uIG1lbnUuXG4vLy8gQGdyb3VwIGdyaWRcbiRrZW5kby1ncmlkLWNvbHVtbi1tZW51LXRhYmJlZC1iZzogdmFyKCAtLWtlbmRvLWJhc2UtYmcsIGluaGVyaXQgKSAhZGVmYXVsdDtcblxuLy8vIFRoZSBkZWZhdWx0IHdpZHRoIG9mIHRoZSBHcmlkIGRyYWcgY2VsbC5cbi8vLyBAZ3JvdXAgZ3JpZFxuJGtlbmRvLWdyaWQtZHJhZy1jZWxsLXdpZHRoOiBjYWxjKCB2YXIoIC0ta2VuZG8taWNvbi1zaXplLCAxcmVtICkgKiAyLjI1ICkgIWRlZmF1bHQ7XG4vLy8gVGhlIGRlZmF1bHQgd2lkdGggb2YgdGhlIEdyaWQgaGllcmFyY2h5IGNlbGwuXG4vLy8gQGdyb3VwIGdyaWRcbiRrZW5kby1ncmlkLWhpZXJhcmNoeS1jb2wtd2lkdGg6IGNhbGMoIHZhciggLS1rZW5kby1pY29uLXNpemUsIDFyZW0gKSAqIDIgKSAhZGVmYXVsdDtcbi8vLyBUaGUgc3BhY2luZyBvZiB0aGUgR3JpZCBmaWx0ZXJhYmxlIGljb24uXG4vLy8gQGdyb3VwIGdyaWRcbiRrZW5kby1ncmlkLWZpbHRlcmFibGUtaWNvbi1zcGFjaW5nOiBjYWxjKCAjeyRrZW5kby1idXR0b24tY2FsYy1zaXplfSArICN7JGtlbmRvLWdyaWQtaGVhZGVyLW1lbnUtc3BhY2luZ30gKSAhZGVmYXVsdDtcblxuLy8vIFRoZSBiYWNrZ3JvdW5kIGNvbG9yIG9mIHRoZSBHcmlkIHJvdyByZXNpemUgaW5kaWNhdG9yLlxuLy8vIEBncm91cCBncmlkXG4ka2VuZG8tZ3JpZC1yb3ctcmVzaXplci1ob3Zlci1iZzogaWYoJGtlbmRvLWVuYWJsZS1jb2xvci1zeXN0ZW0sIGNvbG9yLW1peChpbiBzcmdiLCBrLWNvbG9yKCBvbi1hcHAtc3VyZmFjZSApIDQ2JSwgdHJhbnNwYXJlbnQpLCBrLWdldC10aGVtZS1jb2xvci12YXIoIG5ldXRyYWwtOTAgKSkgIWRlZmF1bHQ7XG4vLy8gVGhlIGJhY2tncm91bmQgY29sb3Igb2YgdGhlIGFjdGl2ZSBHcmlkIHJvdyByZXNpemUgaW5kaWNhdG9yLlxuLy8vIEBncm91cCBncmlkXG4ka2VuZG8tZ3JpZC1yb3ctcmVzaXplci1hY3RpdmUtYmc6IGlmKCRrZW5kby1lbmFibGUtY29sb3Itc3lzdGVtLCBrLWNvbG9yKCBwcmltYXJ5ICksIGstZ2V0LXRoZW1lLWNvbG9yLXZhciggcHJpbWFyeS0xMDAgKSkgIWRlZmF1bHQ7XG4vLy8gVGhlIGhlaWdodCBvZiB0aGUgR3JpZCByb3cgcmVzaXplIGluZGljYXRvci5cbi8vLyBAZ3JvdXAgZ3JpZFxuJGtlbmRvLWdyaWQtcm93LXJlc2l6ZXItaGVpZ2h0OiBrLXNwYWNpbmcoMC41KSAhZGVmYXVsdDtcbiIsIkB1c2UgXCIuLi9jb3JlL19pbmRleC5zY3NzXCIgYXMgKjtcbkB1c2UgXCIuL192YXJpYWJsZXMuc2Nzc1wiIGFzICo7XG5cbkBtaXhpbiBrZW5kby1nYW50dC0tdGhlbWUoKSB7XG5cbiAgICAuay1nYW50dCB7XG4gICAgICAgIEBpbmNsdWRlIGZpbGwoXG4gICAgICAgICAgICB2YXIoIC0ta2VuZG8tZ2FudHQtdGV4dCwgI3ska2VuZG8tZ2FudHQtdGV4dH0gKSxcbiAgICAgICAgICAgIHZhciggLS1rZW5kby1nYW50dC1iZywgI3ska2VuZG8tZ2FudHQtYmd9ICksXG4gICAgICAgICAgICB2YXIoIC0ta2VuZG8tZ2FudHQtYm9yZGVyLCAjeyRrZW5kby1nYW50dC1ib3JkZXJ9IClcbiAgICAgICAgKTtcblxuICAgICAgICAvLyBSZWFjdCBnYW50dFxuICAgICAgICAuay10cmVlbGlzdC1zY3JvbGxhYmxlIHtcbiAgICAgICAgICAgIC5rLXRhc2stbWlsZXN0b25lIC5rLXRhc2stbWlsZXN0b25lLWNvbnRlbnQge1xuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGZpbGwoXG4gICAgICAgICAgICAgICAgICAgICRiZzogdmFyKCAtLWtlbmRvLWdhbnR0LW1pbGVzdG9uZS1iZywgI3ska2VuZG8tZ2FudHQtbWlsZXN0b25lLWJnfSApLFxuICAgICAgICAgICAgICAgICAgICAkYm9yZGVyOiB2YXIoIC0ta2VuZG8tZ2FudHQtbWlsZXN0b25lLWJvcmRlciwgI3ska2VuZG8tZ2FudHQtbWlsZXN0b25lLWJvcmRlcn0gKVxuICAgICAgICAgICAgICAgICk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAuay10YXNrLW1pbGVzdG9uZS5rLXNlbGVjdGVkIC5rLXRhc2stbWlsZXN0b25lLWNvbnRlbnQge1xuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGZpbGwoXG4gICAgICAgICAgICAgICAgICAgICRiZzogdmFyKCAtLWtlbmRvLWdhbnR0LW1pbGVzdG9uZS1zZWxlY3RlZC1iZywgI3ska2VuZG8tZ2FudHQtbWlsZXN0b25lLXNlbGVjdGVkLWJnfSApLFxuICAgICAgICAgICAgICAgICAgICAkYm9yZGVyOiB2YXIoIC0ta2VuZG8tZ2FudHQtbWlsZXN0b25lLXNlbGVjdGVkLWJvcmRlciwgI3ska2VuZG8tZ2FudHQtbWlsZXN0b25lLXNlbGVjdGVkLWJvcmRlcn0gKVxuICAgICAgICAgICAgICAgICk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAuay1nYW50dC1kZXBlbmRlbmNpZXMtc3ZnIHtcbiAgICAgICAgICAgIHBvbHlsaW5lIHtcbiAgICAgICAgICAgICAgICBmaWxsOiBub25lO1xuICAgICAgICAgICAgICAgIHN0cm9rZTogdmFyKCAtLWtlbmRvLWdhbnR0LWxpbmUtZmlsbCwgI3ska2VuZG8tZ2FudHQtbGluZS1maWxsfSApO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBwb2x5bGluZS5rLXNlbGVjdGVkIHtcbiAgICAgICAgICAgICAgICBzdHJva2U6IHZhciggLS1rZW5kby1nYW50dC1saW5lLXNlbGVjdGVkLWZpbGwsICN7JGtlbmRvLWdhbnR0LWxpbmUtc2VsZWN0ZWQtZmlsbH0gKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuXG4gICAgLy8gVHJlZWxpc3RcbiAgICAuay1nYW50dC10cmVlbGlzdCB7XG4gICAgICAgIC5rLXRyZWVsaXN0LFxuICAgICAgICAuay1ncmlkLWNvbnRlbnQge1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgICAgIH1cbiAgICB9XG5cblxuICAgIC8vIE5vbiB3b3JrIGhvdXJzXG4gICAgLmstZ2FudHQgLmstbm9ud29yay1ob3VyIHtcbiAgICAgICAgQGluY2x1ZGUgZmlsbChcbiAgICAgICAgICAgIHZhciggLS1rZW5kby1nYW50dC1ub253b3JrLXRleHQsICN7JGtlbmRvLWdhbnR0LW5vbndvcmstdGV4dH0gKSxcbiAgICAgICAgICAgIHZhciggLS1rZW5kby1nYW50dC1ub253b3JrLWJnLCAjeyRrZW5kby1nYW50dC1ub253b3JrLWJnfSApLFxuICAgICAgICAgICAgdmFyKCAtLWtlbmRvLWdhbnR0LW5vbndvcmstYm9yZGVyLCAjeyRrZW5kby1nYW50dC1ub253b3JrLWJvcmRlcn0gKVxuICAgICAgICApO1xuICAgIH1cblxuXG4gICAgLy8gVGFzayBkb3RcbiAgICAuay10YXNrLWRvdCB7fVxuICAgIC5rLXRhc2stZG90OjpiZWZvcmUge1xuICAgICAgICBAaW5jbHVkZSBmaWxsKFxuICAgICAgICAgICAgJGJnOiB2YXIoIC0ta2VuZG8tZ2FudHQtZG90LWJnLCAjeyRrZW5kby1nYW50dC1kb3QtYmd9ICksXG4gICAgICAgICAgICAkYm9yZGVyOiB2YXIoIC0ta2VuZG8tZ2FudHQtZG90LWJvcmRlciwgI3ska2VuZG8tZ2FudHQtZG90LWJvcmRlcn0gKVxuICAgICAgICApO1xuICAgIH1cbiAgICAuay10YXNrLWRvdDpob3Zlcjo6YmVmb3JlLFxuICAgIC5rLXRhc2stZG90LmstaG92ZXI6OmJlZm9yZSB7XG4gICAgICAgIEBpbmNsdWRlIGZpbGwoXG4gICAgICAgICAgICAkYmc6IHZhciggLS1rZW5kby1nYW50dC1kb3QtaG92ZXItYmcsICN7JGtlbmRvLWdhbnR0LWRvdC1ob3Zlci1iZ30gKSxcbiAgICAgICAgICAgICRib3JkZXI6IHZhciggLS1rZW5kby1nYW50dC1kb3QtaG92ZXItYm9yZGVyLCAjeyRrZW5kby1nYW50dC1kb3QtaG92ZXItYm9yZGVyfSApXG4gICAgICAgICk7XG4gICAgfVxuXG5cbiAgICAvLyBNaWxlc3RvbmVcbiAgICAuay10YXNrLW1pbGVzdG9uZSB7XG4gICAgICAgIEBpbmNsdWRlIGZpbGwoXG4gICAgICAgICAgICAkYmc6IHZhciggLS1rZW5kby1nYW50dC1taWxlc3RvbmUtYmcsICN7JGtlbmRvLWdhbnR0LW1pbGVzdG9uZS1iZ30gKSxcbiAgICAgICAgICAgICRib3JkZXI6IHZhciggLS1rZW5kby1nYW50dC1taWxlc3RvbmUtYm9yZGVyLCAjeyRrZW5kby1nYW50dC1taWxlc3RvbmUtYm9yZGVyfSApXG4gICAgICAgICk7XG5cbiAgICAgICAgJi5rLXRhc2stZGVsYXllZCB7XG4gICAgICAgICAgICBAaW5jbHVkZSByZXBlYXRpbmctc3RyaXBlZC1ncmFkaWVudCggJGtlbmRvLWdhbnR0LWRlbGF5ZWQtYmcsICRrZW5kby1ib2R5LWJnLCA5MGRlZywgNHB4LCAycHggKTtcbiAgICAgICAgfVxuXG4gICAgICAgICYuay10YXNrLWFkdmFuY2VkIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGZpbGwoXG4gICAgICAgICAgICAgICAgJGJnOiB2YXIoIC0ta2VuZG8tZ2FudHQtYWR2YW5jZWQtYmcsICN7JGtlbmRvLWdhbnR0LWFkdmFuY2VkLWJnfSApXG4gICAgICAgICAgICApO1xuICAgICAgICB9XG4gICAgfVxuICAgIC5rLXRhc2stbWlsZXN0b25lLmstc2VsZWN0ZWQge1xuICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiBub25lO1xuICAgICAgICBAaW5jbHVkZSBmaWxsKFxuICAgICAgICAgICAgJGJnOiB2YXIoIC0ta2VuZG8tZ2FudHQtbWlsZXN0b25lLXNlbGVjdGVkLWJnLCAjeyRrZW5kby1nYW50dC1taWxlc3RvbmUtc2VsZWN0ZWQtYmd9ICksXG4gICAgICAgICAgICAkYm9yZGVyOiB2YXIoIC0ta2VuZG8tZ2FudHQtbWlsZXN0b25lLXNlbGVjdGVkLWJvcmRlciwgI3ska2VuZG8tZ2FudHQtbWlsZXN0b25lLXNlbGVjdGVkLWJvcmRlcn0gKVxuICAgICAgICApO1xuICAgIH1cblxuXG4gICAgLy8gU3VtbWFyeVxuICAgIC5rLXRhc2stc3VtbWFyeSB7XG4gICAgICAgIGNvbG9yOiB2YXIoIC0ta2VuZG8tZ2FudHQtc3VtbWFyeS1iZywgI3ska2VuZG8tZ2FudHQtc3VtbWFyeS1iZ30gKTtcblxuICAgICAgICAmLmstdGFzay1kZWxheWVkIHtcbiAgICAgICAgICAgIGNvbG9yOiB2YXIoIC0ta2VuZG8tZ2FudHQtZGVsYXllZC1iZy1saWdodGVyLCAjeyRrZW5kby1nYW50dC1kZWxheWVkLWJnLWxpZ2h0ZXJ9ICk7XG4gICAgICAgIH1cblxuICAgICAgICAmLmstdGFzay1hZHZhbmNlZCB7XG4gICAgICAgICAgICBjb2xvcjogdmFyKCAtLWtlbmRvLWdhbnR0LWFkdmFuY2VkLWJnLWxpZ2h0ZXIsICN7JGtlbmRvLWdhbnR0LWFkdmFuY2VkLWJnLWxpZ2h0ZXJ9ICk7XG4gICAgICAgIH1cbiAgICB9XG4gICAgLmstdGFzay1zdW1tYXJ5LWNvbXBsZXRlIHtcbiAgICAgICAgY29sb3I6IHZhciggLS1rZW5kby1nYW50dC1zdW1tYXJ5LXByb2dyZXNzLWJnLCAjeyRrZW5kby1nYW50dC1zdW1tYXJ5LXByb2dyZXNzLWJnfSApO1xuICAgIH1cbiAgICAuay10YXNrLWRlbGF5ZWQgLmstdGFzay1zdW1tYXJ5LWNvbXBsZXRlIHtcbiAgICAgICAgY29sb3I6IHZhciggLS1rZW5kby1nYW50dC1kZWxheWVkLWJnLCAjeyRrZW5kby1nYW50dC1kZWxheWVkLWJnfSApO1xuICAgIH1cbiAgICAuay10YXNrLWFkdmFuY2VkIC5rLXRhc2stc3VtbWFyeS1jb21wbGV0ZSB7XG4gICAgICAgIGNvbG9yOiB2YXIoIC0ta2VuZG8tZ2FudHQtYWR2YW5jZWQtYmcsICN7JGtlbmRvLWdhbnR0LWFkdmFuY2VkLWJnfSApO1xuICAgIH1cbiAgICAuay10YXNrLXN1bW1hcnkuay1zZWxlY3RlZCB7XG4gICAgICAgIGNvbG9yOiB2YXIoIC0ta2VuZG8tZ2FudHQtc3VtbWFyeS1zZWxlY3RlZC1iZywgI3ska2VuZG8tZ2FudHQtc3VtbWFyeS1zZWxlY3RlZC1iZ30gKTtcblxuICAgICAgICAuay10YXNrLXN1bW1hcnktY29tcGxldGUge1xuICAgICAgICAgICAgY29sb3I6IHZhciggLS1rZW5kby1nYW50dC1zdW1tYXJ5LXByb2dyZXNzLXNlbGVjdGVkLWJnLCAjeyRrZW5kby1nYW50dC1zdW1tYXJ5LXByb2dyZXNzLXNlbGVjdGVkLWJnfSApO1xuICAgICAgICB9XG4gICAgfVxuXG5cbiAgICAvLyBUYXNrc1xuICAgIC5rLXRhc2stc2luZ2xlIHtcbiAgICAgICAgQGluY2x1ZGUgZmlsbChcbiAgICAgICAgICAgIHZhciggLS1rZW5kby1nYW50dC10YXNrLXRleHQsICN7JGtlbmRvLWdhbnR0LXRhc2stdGV4dH0gKSxcbiAgICAgICAgICAgIHZhciggLS1rZW5kby1nYW50dC10YXNrLWJnLCAjeyRrZW5kby1nYW50dC10YXNrLWJnfSApLFxuICAgICAgICAgICAgdmFyKCAtLWtlbmRvLWdhbnR0LXRhc2stYm9yZGVyLCAjeyRrZW5kby1nYW50dC10YXNrLWJvcmRlcn0gKVxuICAgICAgICApO1xuXG4gICAgICAgICYuay10YXNrLWRlbGF5ZWQge1xuICAgICAgICAgICAgQGluY2x1ZGUgZmlsbChcbiAgICAgICAgICAgICAgICAkYmc6IHZhciggLS1rZW5kby1nYW50dC1kZWxheWVkLWJnLWxpZ2h0ZXIsICN7JGtlbmRvLWdhbnR0LWRlbGF5ZWQtYmctbGlnaHRlcn0gKVxuICAgICAgICAgICAgKTtcbiAgICAgICAgfVxuXG4gICAgICAgICYuay10YXNrLWFkdmFuY2VkIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGZpbGwoXG4gICAgICAgICAgICAgICAgJGJnOiB2YXIoIC0ta2VuZG8tZ2FudHQtYWR2YW5jZWQtYmctbGlnaHRlciwgI3ska2VuZG8tZ2FudHQtYWR2YW5jZWQtYmctbGlnaHRlcn0gKVxuICAgICAgICAgICAgKTtcbiAgICAgICAgfVxuXG4gICAgICAgIC5rLXRhc2stY29tcGxldGUge1xuICAgICAgICAgICAgQGluY2x1ZGUgZmlsbChcbiAgICAgICAgICAgICAgICAkYmc6IHZhciggLS1rZW5kby1nYW50dC10YXNrLXByb2dyZXNzLWJnLCAjeyRrZW5kby1nYW50dC10YXNrLXByb2dyZXNzLWJnfSApXG4gICAgICAgICAgICApO1xuICAgICAgICB9XG5cbiAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICAuay10YXNrLWNvbXBsZXRlIHtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoIC0ta2VuZG8tZ2FudHQtdGFzay1wcm9ncmVzcy1ob3Zlci1iZywgI3ska2VuZG8tZ2FudHQtdGFzay1wcm9ncmVzcy1ob3Zlci1iZ30gKVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgLmstdGFzay1kZWxheWVkIHtcbiAgICAgICAgLmstdGFzay1jb21wbGV0ZSB7XG4gICAgICAgICAgICBAaW5jbHVkZSBmaWxsKFxuICAgICAgICAgICAgICAgICRiZzogdmFyKCAtLWtlbmRvLWdhbnR0LWRlbGF5ZWQtYmcsICN7JGtlbmRvLWdhbnR0LWRlbGF5ZWQtYmd9IClcbiAgICAgICAgICAgICk7XG4gICAgICAgIH1cblxuICAgICAgICAmOmhvdmVyIC5rLXRhc2stY29tcGxldGUge1xuICAgICAgICAgICAgQGluY2x1ZGUgZmlsbChcbiAgICAgICAgICAgICAgICAkYmc6IHZhciggLS1rZW5kby1nYW50dC1kZWxheWVkLWhvdmVyLWJnLCAjeyRrZW5kby1nYW50dC1kZWxheWVkLWhvdmVyLWJnfSApXG4gICAgICAgICAgICApO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLmstdGFzay1hZHZhbmNlZCB7XG4gICAgICAgIC5rLXRhc2stY29tcGxldGUge1xuICAgICAgICAgICAgQGluY2x1ZGUgZmlsbChcbiAgICAgICAgICAgICAgICAkYmc6IHZhciggLS1rZW5kby1nYW50dC1hZHZhbmNlZC1iZywgI3ska2VuZG8tZ2FudHQtYWR2YW5jZWQtYmd9IClcbiAgICAgICAgICAgICk7XG4gICAgICAgIH1cblxuICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICAgIC5rLXRhc2stY29tcGxldGUge1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHZhciggLS1rZW5kby1nYW50dC1hZHZhbmNlZC1ob3Zlci1iZywgI3ska2VuZG8tZ2FudHQtYWR2YW5jZWQtaG92ZXItYmd9ICk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAuay10YXNrLXNpbmdsZS5rLXNlbGVjdGVkIHtcbiAgICAgICAgQGluY2x1ZGUgZmlsbChcbiAgICAgICAgICAgIHZhciggLS1rZW5kby1nYW50dC10YXNrLXNlbGVjdGVkLXRleHQsICN7JGtlbmRvLWdhbnR0LXRhc2stc2VsZWN0ZWQtdGV4dH0gKSxcbiAgICAgICAgICAgIHZhciggLS1rZW5kby1nYW50dC10YXNrLXNlbGVjdGVkLWJnLCAjeyRrZW5kby1nYW50dC10YXNrLXNlbGVjdGVkLWJnfSApLFxuICAgICAgICAgICAgdmFyKCAtLWtlbmRvLWdhbnR0LXRhc2stc2VsZWN0ZWQtYm9yZGVyLCAjeyRrZW5kby1nYW50dC10YXNrLXNlbGVjdGVkLWJvcmRlcn0gKVxuICAgICAgICApO1xuXG4gICAgICAgIC5rLXRhc2stY29tcGxldGUge1xuICAgICAgICAgICAgQGluY2x1ZGUgZmlsbChcbiAgICAgICAgICAgICAgICAkYmc6IHZhciggLS1rZW5kby1nYW50dC10YXNrLXByb2dyZXNzLXNlbGVjdGVkLWJnLCAjeyRrZW5kby1nYW50dC10YXNrLXByb2dyZXNzLXNlbGVjdGVkLWJnfSApXG4gICAgICAgICAgICApO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLy8gRGVwZW5kZW5jeSBMaW5lc1xuICAgIC5rLWdhbnR0LWxpbmUge1xuICAgICAgICBAaW5jbHVkZSBmaWxsIChcbiAgICAgICAgICAgICRjb2xvcjogdmFyKCAtLWtlbmRvLWdhbnR0LWxpbmUtZmlsbCwgI3ska2VuZG8tZ2FudHQtbGluZS1maWxsfSApXG4gICAgICAgICk7XG4gICAgfVxuICAgIC5rLWdhbnR0LWxpbmUuay1zZWxlY3RlZCB7XG4gICAgICAgIEBpbmNsdWRlIGZpbGwoXG4gICAgICAgICAgICAkY29sb3I6IHZhciggLS1rZW5kby1nYW50dC1saW5lLXNlbGVjdGVkLWZpbGwsICN7JGtlbmRvLWdhbnR0LWxpbmUtc2VsZWN0ZWQtZmlsbH0gKVxuICAgICAgICApO1xuICAgIH1cblxuICAgIC8vIFBsYW5uZWQgZWxlbWVudFxuICAgIC5rLXRhc2stcGxhbm5lZCB7XG4gICAgICAgIC5rLXRhc2stbW9tZW50IHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGZpbGwoXG4gICAgICAgICAgICAgICAgJGJnOiB0cmFuc3BhcmVudCxcbiAgICAgICAgICAgICAgICAkYm9yZGVyOiB2YXIoIC0ta2VuZG8tZ2FudHQtcGxhbm5lZC1ib3JkZXIsICN7JGtlbmRvLWdhbnR0LXBsYW5uZWQtYm9yZGVyfSApXG4gICAgICAgICAgICApO1xuICAgICAgICB9XG4gICAgICAgIC5rLXRhc2stZHVyYXRpb24ge1xuICAgICAgICAgICAgQGluY2x1ZGUgZmlsbChcbiAgICAgICAgICAgICAgICAkYmc6IHZhciggLS1rZW5kby1nYW50dC1wbGFubmVkLWJnLCAjeyRrZW5kby1nYW50dC1wbGFubmVkLWJnfSApXG4gICAgICAgICAgICApO1xuICAgICAgICB9XG4gICAgICAgICY6aG92ZXIgLmstdGFzay1tb21lbnQge1xuICAgICAgICAgICAgQGluY2x1ZGUgZmlsbChcbiAgICAgICAgICAgICAgICAkYmc6IHZhciggLS1rZW5kby1nYW50dC1wbGFubmVkLWJnLCAjeyRrZW5kby1nYW50dC1wbGFubmVkLWJnfSApXG4gICAgICAgICAgICApO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLy8gRGVsYXkgb2Zmc2V0XG4gICAgLmstdGFzay1vZmZzZXQge1xuICAgICAgICBAaW5jbHVkZSByZXBlYXRpbmctc3RyaXBlZC1ncmFkaWVudCggJGtlbmRvLWdhbnR0LWRlbGF5ZWQtYmcsICRrZW5kby1ib2R5LWJnLCAxMzVkZWcsIDRweCwgMnB4ICk7XG5cbiAgICAgICAgLmstcmVzaXplLWU6OmJlZm9yZSB7XG4gICAgICAgICAgICBAaW5jbHVkZSBmaWxsKFxuICAgICAgICAgICAgICAgICRib3JkZXI6IHZhciggLS1rZW5kby1nYW50dC1hY3Rpb24tb24tb2Zmc2V0LXRleHQsICN7JGtlbmRvLWdhbnR0LWFjdGlvbi1vbi1vZmZzZXQtdGV4dH0gKVxuICAgICAgICAgICAgKTtcbiAgICAgICAgfVxuXG4gICAgICAgIC5rLXRhc2stYWN0aW9ucyB7XG4gICAgICAgICAgICBAaW5jbHVkZSBmaWxsKFxuICAgICAgICAgICAgICAgICRjb2xvcjogdmFyKCAtLWtlbmRvLWdhbnR0LWFjdGlvbi1vbi1vZmZzZXQtdGV4dCwgI3ska2VuZG8tZ2FudHQtYWN0aW9uLW9uLW9mZnNldC10ZXh0fSApXG4gICAgICAgICAgICApO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLmstdGFzay1vZmZzZXQ6aG92ZXIge1xuICAgICAgICBAaW5jbHVkZSByZXBlYXRpbmctc3RyaXBlZC1ncmFkaWVudCggJGtlbmRvLWdhbnR0LWRlbGF5ZWQtYmctbGlnaHRlciwgJGtlbmRvLWJvZHktYmcsIDEzNWRlZywgNHB4LCAycHggKTtcbiAgICB9XG5cbiAgICAuay1wZGYtZXhwb3J0IC5rLXRhc2stb2Zmc2V0IHtcbiAgICAgICAgQGluY2x1ZGUgZmlsbChcbiAgICAgICAgICAgICRiZzogdmFyKCAtLWtlbmRvLWdhbnR0LWRlbGF5ZWQtYmcsICN7JGtlbmRvLWdhbnR0LWRlbGF5ZWQtYmd9IClcbiAgICAgICAgKTtcbiAgICB9XG5cbiAgICAvLyBUb29sdGlwc1xuICAgIC5rLW9mZnNldC10b29sdGlwLWRlbGF5ZWQge1xuICAgICAgICBAaW5jbHVkZSBmaWxsKFxuICAgICAgICAgICAgJGNvbG9yOiB2YXIoIC0ta2VuZG8tZ2FudHQtZGVsYXllZC10ZXh0LCAjeyRrZW5kby1nYW50dC1kZWxheWVkLXRleHR9ICksXG4gICAgICAgICAgICAkYmc6IHZhciggLS1rZW5kby1nYW50dC1kZWxheWVkLWJnLCAjeyRrZW5kby1nYW50dC1kZWxheWVkLWJnfSApXG4gICAgICAgICk7XG4gICAgfVxuXG4gICAgLmstcGxhbm5lZC10b29sdGlwIHtcbiAgICAgICAgQGluY2x1ZGUgZmlsbChcbiAgICAgICAgICAgICRjb2xvcjogdmFyKCAtLWtlbmRvLWdhbnR0LXBsYW5uZWQtdGV4dCwgI3ska2VuZG8tZ2FudHQtcGxhbm5lZC10ZXh0fSApLFxuICAgICAgICAgICAgJGJnOiB2YXIoIC0ta2VuZG8tZ2FudHQtcGxhbm5lZC1iZywgI3ska2VuZG8tZ2FudHQtcGxhbm5lZC1iZ30gKVxuICAgICAgICApO1xuICAgIH1cblxuICAgIC5rLWdhbnR0LXRvb2x0aXAtdmFsaWRhdGlvbjo6YmVmb3JlIHtcbiAgICAgICAgQGluY2x1ZGUgZmlsbChcbiAgICAgICAgICAgICRiZzogdmFyKCAtLWtlbmRvLWdhbnR0LXZhbGlkYXRpb24tdG9vbHRpcC1ib3JkZXIsICN7JGtlbmRvLWdhbnR0LXZhbGlkYXRpb24tdG9vbHRpcC1ib3JkZXJ9IClcbiAgICAgICAgKTtcbiAgICB9XG4gICAgLmstZ2FudHQtdG9vbHRpcC12YWxpZDo6YmVmb3JlIHtcbiAgICAgICAgQGluY2x1ZGUgZmlsbChcbiAgICAgICAgICAgICRiZzogdmFyKCAtLWtlbmRvLWdhbnR0LXZhbGlkYXRpb24tdG9vbHRpcC12YWxpZC1ib3JkZXIsICN7JGtlbmRvLWdhbnR0LXZhbGlkYXRpb24tdG9vbHRpcC12YWxpZC1ib3JkZXJ9IClcbiAgICAgICAgKTtcbiAgICB9XG4gICAgLmstZ2FudHQtdG9vbHRpcC1pbnZhbGlkOjpiZWZvcmUge1xuICAgICAgICBAaW5jbHVkZSBmaWxsKFxuICAgICAgICAgICAgJGJnOiB2YXIoIC0ta2VuZG8tZ2FudHQtdmFsaWRhdGlvbi10b29sdGlwLWludmFsaWQtYm9yZGVyLCAjeyRrZW5kby1nYW50dC12YWxpZGF0aW9uLXRvb2x0aXAtaW52YWxpZC1ib3JkZXJ9IClcbiAgICAgICAgKTtcbiAgICB9XG5cbn1cbiIsIkB1c2UgXCJzYXNzOm1hcFwiO1xuQHVzZSBcIi4vX3ZhcmlhYmxlcy5zY3NzXCIgYXMgKjtcbkB1c2UgXCIuLi9jb3JlL19pbmRleC5zY3NzXCIgYXMgKjtcbkB1c2UgXCIuLi90b29sYmFyL192YXJpYWJsZXMuc2Nzc1wiIGFzICo7XG5cbkBtaXhpbiBrZW5kby1zY2hlZHVsZXItLWxheW91dCgpIHtcblxuICAgIC5rLXNjaGVkdWxlciB7XG4gICAgICAgIGJvcmRlci13aWR0aDogdmFyKCAtLWtlbmRvLXNjaGVkdWxlci1ib3JkZXItd2lkdGgsICN7JGtlbmRvLXNjaGVkdWxlci1ib3JkZXItd2lkdGh9ICk7XG4gICAgICAgIGJvcmRlci1zdHlsZTogc29saWQ7XG4gICAgICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgICAgIG91dGxpbmU6IDA7XG4gICAgICAgIGZvbnQtZmFtaWx5OiB2YXIoIC0ta2VuZG8tc2NoZWR1bGVyLWZvbnQtZmFtaWx5LCAjeyRrZW5kby1zY2hlZHVsZXItZm9udC1mYW1pbHl9ICk7XG4gICAgICAgIGZvbnQtc2l6ZTogdmFyKCAtLWtlbmRvLXNjaGVkdWxlci1mb250LXNpemUsICN7JGtlbmRvLXNjaGVkdWxlci1mb250LXNpemV9ICk7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiB2YXIoIC0ta2VuZG8tc2NoZWR1bGVyLWxpbmUtaGVpZ2h0LCAjeyRrZW5kby1zY2hlZHVsZXItbGluZS1oZWlnaHR9ICk7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgLXdlYmtpdC10b3VjaC1jYWxsb3V0OiBub25lO1xuICAgICAgICAtd2Via2l0LXRhcC1oaWdobGlnaHQtY29sb3I6ICRrZW5kby1jb2xvci1yZ2JhLXRyYW5zcGFyZW50O1xuXG4gICAgICAgIHRhYmxlLFxuICAgICAgICB0aGVhZCxcbiAgICAgICAgdGZvb3QsXG4gICAgICAgIHRib2R5LFxuICAgICAgICB0cixcbiAgICAgICAgdGgsXG4gICAgICAgIHRkLFxuICAgICAgICBkaXYsXG4gICAgICAgIC5rLXNjaGVkdWxlci1lZGl0LWRpYWxvZyxcbiAgICAgICAgPiAqIHtcbiAgICAgICAgICAgIGJvcmRlci1jb2xvcjogaW5oZXJpdDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIGtlbmRvLXNjaGVkdWxlci5rLXNjaGVkdWxlciB7XG4gICAgICAgIG92ZXJmbG93OiBoaWRkZW47XG5cbiAgICAgICAgJi5rLXJlYWRvbmx5LXNjaGVkdWxlciAuay1ldmVudC1kZWxldGUge1xuICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5rLXNjaGVkdWxlci10YWJsZSB7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBtYXgtd2lkdGg6IG5vbmU7XG4gICAgICAgIGJvcmRlci1jb2xsYXBzZTogc2VwYXJhdGU7XG4gICAgICAgIGJvcmRlci1zcGFjaW5nOiAwO1xuICAgICAgICB0YWJsZS1sYXlvdXQ6IGZpeGVkO1xuXG4gICAgICAgIHRkLFxuICAgICAgICB0aCB7XG4gICAgICAgICAgICBwYWRkaW5nLWlubGluZTogdmFyKCAtLWtlbmRvLXNjaGVkdWxlci1jZWxsLXBhZGRpbmcteCwgI3ska2VuZG8tc2NoZWR1bGVyLWNlbGwtcGFkZGluZy14fSApO1xuICAgICAgICAgICAgcGFkZGluZy1ibG9jazogdmFyKCAtLWtlbmRvLXNjaGVkdWxlci1jZWxsLXBhZGRpbmcteSwgI3ska2VuZG8tc2NoZWR1bGVyLWNlbGwtcGFkZGluZy15fSApO1xuICAgICAgICAgICAgaGVpZ2h0OiB2YXIoIC0ta2VuZG8tc2NoZWR1bGVyLWNlbGwtaGVpZ2h0LCAjeyRrZW5kby1zY2hlZHVsZXItY2VsbC1oZWlnaHR9ICk7XG4gICAgICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgICAgICAgICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgICAgICAgICAgIGJvcmRlci1zdHlsZTogc29saWQ7XG4gICAgICAgICAgICBib3JkZXItaW5saW5lLXdpZHRoOiAxcHggMDtcbiAgICAgICAgICAgIGJvcmRlci1ibG9jay13aWR0aDogMCAxcHg7XG4gICAgICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogdG9wO1xuICAgICAgICAgICAgYm94LXNpemluZzogY29udGVudC1ib3g7XG4gICAgICAgIH1cblxuICAgICAgICB0ZDpmaXJzdC1jaGlsZCxcbiAgICAgICAgdGg6Zmlyc3QtY2hpbGQge1xuICAgICAgICAgICAgYm9yZGVyLWlubGluZS1zdGFydC13aWR0aDogMDtcbiAgICAgICAgfVxuXG4gICAgICAgIC5rLW1pZGRsZS1yb3cgdGQge1xuICAgICAgICAgICAgYm9yZGVyLWJsb2NrLWVuZC1zdHlsZTogZG90dGVkO1xuICAgICAgICB9XG5cbiAgICAgICAgLmstbGluayB7XG4gICAgICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAuay1zY2hlZHVsZXItbGF5b3V0LWZsZXgge1xuICAgICAgICBvdmVyZmxvdzogYXV0bztcblxuICAgICAgICAuay1zY2hlZHVsZXItaGVhZCB7XG4gICAgICAgICAgICBwb3NpdGlvbjogc3RpY2t5O1xuICAgICAgICAgICAgaW5zZXQtYmxvY2stc3RhcnQ6IDA7XG4gICAgICAgICAgICB6LWluZGV4OiAzO1xuICAgICAgICB9XG5cbiAgICAgICAgLmstc2NoZWR1bGVyLWJvZHkge1xuICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICB9XG5cbiAgICAgICAgLmstc2NoZWR1bGVyLWhlYWQsXG4gICAgICAgIC5rLXNjaGVkdWxlci1ib2R5IHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICBmbGV4OiAxMDAlO1xuICAgICAgICAgICAgZmxleC13cmFwOiB3cmFwO1xuICAgICAgICB9XG5cbiAgICAgICAgLmstc2NoZWR1bGVyLXJvdyB7XG4gICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAgZmxleDogMSAxIDEwMCU7XG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgIG1pbi13aWR0aDogMDtcbiAgICAgICAgfVxuXG4gICAgICAgIC5rLXNjaGVkdWxlci1ncm91cCB7XG4gICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAgZmxleDogMSAxIDEwMCU7XG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgIG1pbi13aWR0aDogMDtcbiAgICAgICAgICAgIGZsZXgtd3JhcDogd3JhcDtcblxuICAgICAgICAgICAgLmstZ3JvdXAtY2VsbCB7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgICAgICBmbGV4OiAxIDEgYXV0bztcbiAgICAgICAgICAgICAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAgICAgICAgICAgICAgb3ZlcmZsb3c6IGF1dG87XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC5rLWdyb3VwLWNvbnRlbnQge1xuICAgICAgICAgICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgICAgICBmbGV4OiAxIDEgMTAwJTtcbiAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgICAgICBib3JkZXItd2lkdGg6IDA7XG4gICAgICAgICAgICAgICAgZmxleC13cmFwOiB3cmFwO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAmLmstZ3JvdXAtaG9yaXpvbnRhbCB7XG4gICAgICAgICAgICAgICAgLmstZ3JvdXAtY2VsbCB7XG4gICAgICAgICAgICAgICAgICAgIGZsZXgtYmFzaXM6IDEwMCU7XG4gICAgICAgICAgICAgICAgICAgIGJvcmRlci13aWR0aDogMDtcbiAgICAgICAgICAgICAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAmLmstc2NoZWR1bGVyLXRpbWVsaW5lLXZpZXcgLmstc2NoZWR1bGVyLWJvZHkgLmstc2NoZWR1bGVyLWNlbGwge1xuICAgICAgICAgICAgZmxleC1iYXNpczogYXV0bztcbiAgICAgICAgfVxuXG4gICAgICAgIC5rLW1vcmUtZXZlbnRzIHtcbiAgICAgICAgICAgIGluc2V0LWJsb2NrLWVuZDogMnB4O1xuICAgICAgICAgICAgaW5zZXQtaW5saW5lLXN0YXJ0OiAwO1xuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIH1cblxuICAgICAgICAuay1zY2hlZHVsZXItY2VsbCB7XG4gICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAgZmxleDogMSAxIDEwMCU7XG4gICAgICAgICAgICBwYWRkaW5nLWlubGluZTogdmFyKCAtLWtlbmRvLXNjaGVkdWxlci1jZWxsLXBhZGRpbmcteCwgI3ska2VuZG8tc2NoZWR1bGVyLWNlbGwtcGFkZGluZy14fSApO1xuICAgICAgICAgICAgcGFkZGluZy1ibG9jazogdmFyKCAtLWtlbmRvLXNjaGVkdWxlci1jZWxsLXBhZGRpbmcteSwgI3ska2VuZG8tc2NoZWR1bGVyLWNlbGwtcGFkZGluZy15fSApO1xuICAgICAgICAgICAgbWluLWhlaWdodDogMS41ZW07XG4gICAgICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgICAgICAgICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgICAgICAgICAgIGJvcmRlci1zdHlsZTogc29saWQ7XG4gICAgICAgICAgICBib3JkZXItaW5saW5lLXdpZHRoOiAwIDFweDtcbiAgICAgICAgICAgIGJvcmRlci1ibG9jay13aWR0aDogMCAxcHg7XG4gICAgICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogdG9wO1xuICAgICAgICAgICAgYm94LXNpemluZzogY29udGVudC1ib3g7XG5cbiAgICAgICAgICAgICYuay1zbG90LWNlbGwge1xuICAgICAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgJi5rLWhlYWRpbmctY2VsbCB7XG4gICAgICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICAgICAgICAgICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICYuay1zaWRlLWNlbGwge1xuICAgICAgICAgICAgICAgIGZsZXgtZ3JvdzogMDtcbiAgICAgICAgICAgICAgICBmbGV4LWJhc2lzOiBhdXRvO1xuICAgICAgICAgICAgICAgIG92ZXJmbG93OiB2aXNpYmxlO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAmLmstbWFqb3ItY2VsbCB7XG4gICAgICAgICAgICAgICAgYm9yZGVyLWJsb2NrLWVuZC13aWR0aDogMDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC5rLW1pZGRsZS1yb3cgLmstc2NoZWR1bGVyLWNlbGwge1xuICAgICAgICAgICAgYm9yZGVyLWJsb2NrLWVuZC1zdHlsZTogZG90dGVkO1xuICAgICAgICB9XG5cbiAgICAgICAgLmstcmVzb3VyY2UtY2VsbCB7XG4gICAgICAgICAgICBmbGV4OiBub25lO1xuICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICAgICAgICAgIG92ZXJmbG93OiB2aXNpYmxlO1xuICAgICAgICB9XG5cbiAgICAgICAgLmstcmVzb3VyY2UtY29udGVudCB7XG4gICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAgZmxleC13cmFwOiB3cmFwO1xuICAgICAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgICAgIGJvcmRlci13aWR0aDogMDtcbiAgICAgICAgfVxuXG4gICAgICAgIC5rLXN0aWNreS1jZWxsIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAgICAgICAgICBmbGV4LWJhc2lzOiAwO1xuICAgICAgICAgICAgcG9zaXRpb246IHN0aWNreTtcbiAgICAgICAgICAgIGluc2V0LWlubGluZS1zdGFydDogMDtcbiAgICAgICAgICAgIHotaW5kZXg6IDM7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBIZWFkZXIgYW5kIGZvb3RlclxuICAgIC5rLXNjaGVkdWxlci10b29sYmFyIHtcbiAgICAgICAgYm9yZGVyLXdpZHRoOiAwO1xuICAgICAgICBib3JkZXItYmxvY2stZW5kLXdpZHRoOiAka2VuZG8tdG9vbGJhci1ib3JkZXItd2lkdGg7XG4gICAgICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gICAgICAgIGZsZXgtc2hyaW5rOiAwO1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIHotaW5kZXg6IDI7XG5cbiAgICAgICAgLmstd2lkZ2V0IHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogaW5oZXJpdDtcbiAgICAgICAgfVxuXG4gICAgICAgIC8vIEN1cnJlbnQgZGF0ZVxuICAgICAgICAuay1uYXYtY3VycmVudCB7XG4gICAgICAgICAgICBjb2xvcjogaW5oZXJpdDtcbiAgICAgICAgICAgIG91dGxpbmU6IDA7XG4gICAgICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgICAgICAgICAgIGZsZXgtZmxvdzogcm93IG5vd3JhcDtcbiAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgICAgIH1cblxuICAgICAgICAvLyBTY2hlZHVsZXIgc2VhcmNoXG4gICAgICAgIC5rLXNjaGVkdWxlci1zZWFyY2gge1xuICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gICAgICAgICAgICBmbGV4LWZsb3c6IHJvdyBub3dyYXA7XG4gICAgICAgIH1cbiAgICB9XG5cblxuICAgIC8vIFNjaGVkdWxlciBuYXZpZ2F0aW9uXG4gICAgLmstc2NoZWR1bGVyLW5hdmlnYXRpb24ge31cblxuICAgIC5rLXNjaGVkdWxlci10b29sYmFyIC5rLXZpZXdzLWRyb3Bkb3duIHtcbiAgICAgICAgd2lkdGg6IGF1dG87XG4gICAgICAgIGZvbnQ6IGluaGVyaXQ7XG4gICAgfVxuXG5cbiAgICAvLyBTY2hlZHVsZXIgZm9vdGVyXG4gICAgLmstc2NoZWR1bGVyLWZvb3RlciB7XG4gICAgICAgIEBpbmNsdWRlIGJveC1zaGFkb3coIG5vbmUgKTtcbiAgICAgICAgYm9yZGVyLXdpZHRoOiAwO1xuICAgICAgICBib3JkZXItdG9wLXdpZHRoOiAka2VuZG8tdG9vbGJhci1ib3JkZXItd2lkdGg7XG4gICAgICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gICAgICAgIGZsZXgtc2hyaW5rOiAwO1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgfVxuXG4gICAgLy8gTGF5b3V0XG4gICAgLmstc2NoZWR1bGVyLWxheW91dCB7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBib3JkZXItY29sbGFwc2U6IHNlcGFyYXRlO1xuICAgICAgICBib3JkZXItc3BhY2luZzogMDtcbiAgICAgICAgZmxleDogMSAxIGF1dG87XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgei1pbmRleDogMTtcblxuICAgICAgICA+IHRib2R5ID4gdHIgPiB0ZCB7XG4gICAgICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgICAgICAgdmVydGljYWwtYWxpZ246IHRvcDtcbiAgICAgICAgfVxuXG4gICAgICAgIHRkLmstc2VsZWN0ZWQsXG4gICAgICAgIC5rLXNjaGVkdWxlci1jZWxsLmstc2VsZWN0ZWQge1xuICAgICAgICAgICAgb3V0bGluZTogbm9uZTtcbiAgICAgICAgfVxuXG4gICAgICAgIC8vIFJlbW92ZSBib3R0b20gYm9yZGVyIGZyb20gZmlyc3QgY2VsbCBvZiBob3VycyBjZWxscyBzcGFuaW5nIG9uIHR3byByb3dzXG4gICAgICAgIHRyICsgdHIsXG4gICAgICAgIC5rLXNjaGVkdWxlci1wYW5lICsgLmstc2NoZWR1bGVyLXBhbmUge1xuICAgICAgICAgICAgLmstc2NoZWR1bGVyLXRpbWVzIHRyIHtcbiAgICAgICAgICAgICAgICB0aCB7XG4gICAgICAgICAgICAgICAgICAgIGJvcmRlci1ibG9jay1lbmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIC5rLXNsb3QtY2VsbCxcbiAgICAgICAgICAgICAgICAuay1zY2hlZHVsZXItdGltZXMtYWxsLWRheSxcbiAgICAgICAgICAgICAgICAmOmxhc3QtY2hpbGQgdGgge1xuICAgICAgICAgICAgICAgICAgICBib3JkZXItYmxvY2stZW5kLWNvbG9yOiBpbmhlcml0O1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5rLXNjaGVkdWxlci1sYXlvdXQuay1zY2hlZHVsZXItZmxleC1sYXlvdXQge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuXG4gICAgICAgICYuay1zY2hlZHVsZXItd2Vla3ZpZXcsXG4gICAgICAgICYuay1zY2hlZHVsZXItZGF5dmlldyB7XG4gICAgICAgICAgICAuay1zY2hlZHVsZXItcGFuZTpmaXJzdC1jaGlsZCAuay1zY2hlZHVsZXItdGFibGUge1xuICAgICAgICAgICAgICAgIHRhYmxlLWxheW91dDogZml4ZWQ7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBTY2hlZHVsZXIgdmlldyBoZWFkZXJcbiAgICAuay1zY2hlZHVsZXItaGVhZGVyLFxuICAgIC5rLXNjaGVkdWxlci12aWV3LWhlYWRlciB7XG4gICAgICAgIHBhZGRpbmctaW5saW5lLWVuZDogdmFyKCAtLWtlbmRvLXNjcm9sbGJhci13aWR0aCwgI3ska2VuZG8tc2Nyb2xsYmFyLXdpZHRofSk7XG4gICAgfVxuXG4gICAgLmstc2NoZWR1bGVyLWhlYWRlciB0aCB7XG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICB9XG5cbiAgICAuay1zY2hlZHVsZXItaGVhZGVyLFxuICAgIC5rLXNjaGVkdWxlci1oZWFkZXItd3JhcCxcbiAgICAuay1zY2hlZHVsZXItaGVhZGVyLXdyYXAgPiBkaXYge1xuICAgICAgICBib3JkZXItY29sb3I6IGluaGVyaXQ7XG4gICAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgfVxuXG4gICAgLmstc2NoZWR1bGVyLWhlYWRlci13cmFwIHtcbiAgICAgICAgYm9yZGVyLXdpZHRoOiAwO1xuICAgICAgICBib3JkZXItc3R5bGU6IHNvbGlkO1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgfVxuXG4gICAgLmstc2NoZWR1bGVyLXRpbWVzIHtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiBpbmhlcml0O1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIG92ZXJmbG93OiBoaWRkZW47XG5cbiAgICAgICAgLmstc2NoZWR1bGVyLXRhYmxlIHsgdGFibGUtbGF5b3V0OiBhdXRvOyB9XG5cbiAgICAgICAgdGgge1xuICAgICAgICAgICAgYm9yZGVyLWlubGluZS13aWR0aDogMCAxcHg7XG4gICAgICAgICAgICBib3JkZXItYmxvY2std2lkdGg6IDAgMXB4O1xuICAgICAgICAgICAgdGV4dC1hbGlnbjogZW5kO1xuICAgICAgICB9XG5cbiAgICAgICAgLmstc2xvdC1jZWxsLFxuICAgICAgICAuay1zY2hlZHVsZXItdGltZXMtYWxsLWRheSB7XG4gICAgICAgICAgICBib3JkZXItYmxvY2stZW5kLWNvbG9yOiBpbmhlcml0O1xuICAgICAgICB9XG5cbiAgICAgICAgLmstc2xvdC1jZWxsLmstbGFzdC1yZXNvdXJjZSB7XG4gICAgICAgICAgICBib3JkZXItaW5saW5lLWVuZDogMDtcbiAgICAgICAgfVxuXG4gICAgICAgIC5rLXNsb3QtY2VsbC5rLWVtcHR5LXNsb3Qge1xuICAgICAgICAgICAgcGFkZGluZy1pbmxpbmU6IDA7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAuay1zY2hlZHVsZXItZGF0ZWNvbHVtbiB7XG4gICAgICAgIHdpZHRoOiB2YXIoIC0ta2VuZG8tc2NoZWR1bGVyLWRhdGVjb2x1bW4td2lkdGgsICN7JGtlbmRvLXNjaGVkdWxlci1kYXRlY29sdW1uLXdpZHRofSApO1xuICAgIH1cblxuICAgIC5rLXNjaGVkdWxlci10aW1lY29sdW1uIHtcbiAgICAgICAgd2lkdGg6IHZhciggLS1rZW5kby1zY2hlZHVsZXItdGltZWNvbHVtbi13aWR0aCwgI3ska2VuZG8tc2NoZWR1bGVyLXRpbWVjb2x1bW4td2lkdGh9ICk7XG4gICAgICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gICAgfVxuXG4gICAgLy8gU2NoZWR1bGVyIGNvbnRlbnRcbiAgICAuay1zY2hlZHVsZXItY29udGVudCB7XG4gICAgICAgIGJvcmRlci1jb2xvcjogaW5oZXJpdDtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICBvdmVyZmxvdzogYXV0bztcblxuICAgICAgICAmOmZvY3VzIHtcbiAgICAgICAgICAgIG91dGxpbmU6IG5vbmU7XG4gICAgICAgIH1cbiAgICB9XG5cblxuICAgIC8vIEFwcG9pbnRtZW50c1xuICAgIGtlbmRvLXNjaGVkdWxlciAuay1ldmVudCxcbiAgICAuay1ldmVudCB7XG4gICAgICAgIEBpbmNsdWRlIGJvcmRlci1yYWRpdXMoIHZhciggLS1rZW5kby1zY2hlZHVsZXItZXZlbnQtYm9yZGVyLXJhZGl1cywgI3ska2VuZG8tc2NoZWR1bGVyLWV2ZW50LWJvcmRlci1yYWRpdXN9ICkgKTtcbiAgICAgICAgbWluLWhlaWdodDogdmFyKCAtLWtlbmRvLXNjaGVkdWxlci1ldmVudC1taW4taGVpZ2h0LCAjeyRrZW5kby1zY2hlZHVsZXItZXZlbnQtbWluLWhlaWdodH0gKTtcbiAgICAgICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICAgICAgYm9yZGVyLXdpZHRoOiAwO1xuICAgICAgICBib3JkZXItc3R5bGU6IHNvbGlkO1xuICAgICAgICBvdXRsaW5lOiAwO1xuICAgICAgICBjdXJzb3I6IGRlZmF1bHQ7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGZsZXgtZmxvdzogcm93IG5vd3JhcDtcbiAgICAgICAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAgICAgcGFkZGluZy1pbmxpbmU6IHZhciggLS1rZW5kby1zY2hlZHVsZXItZXZlbnQtcGFkZGluZy14LCAjeyRrZW5kby1zY2hlZHVsZXItZXZlbnQtcGFkZGluZy14fSApIGNhbGMoIHZhciggLS1rZW5kby1zY2hlZHVsZXItZXZlbnQtcGFkZGluZy14LCAjeyRrZW5kby1zY2hlZHVsZXItZXZlbnQtcGFkZGluZy14fSApIC8gMiApO1xuICAgICAgICBwYWRkaW5nLWJsb2NrOiB2YXIoIC0ta2VuZG8tc2NoZWR1bGVyLWV2ZW50LXBhZGRpbmcteSwgI3ska2VuZG8tc2NoZWR1bGVyLWV2ZW50LXBhZGRpbmcteX0gKTtcbiAgICAgICAgZ2FwOiAycHg7XG5cbiAgICAgICAgPiBkaXYge1xuICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICAgICAgei1pbmRleDogMjtcbiAgICAgICAgICAgIGZsZXg6IDEgMSBhdXRvO1xuICAgICAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAgICAgfVxuXG4gICAgICAgIC8vIFRlbXBsYXRlXG4gICAgICAgIC5rLWV2ZW50LXRlbXBsYXRlIHtcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiB2YXIoIC0ta2VuZG8tc2NoZWR1bGVyLWV2ZW50LWxpbmUtaGVpZ2h0LCAjeyRrZW5kby1zY2hlZHVsZXItZXZlbnQtbGluZS1oZWlnaHR9ICk7XG4gICAgICAgIH1cblxuICAgICAgICAuay1ldmVudC10aW1lIHtcbiAgICAgICAgICAgIHBhZGRpbmctYmxvY2stZW5kOiAwO1xuICAgICAgICAgICAgZm9udC1zaXplOiAuODc1ZW07XG4gICAgICAgICAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgfVxuXG5cbiAgICAgICAgLy8gQWN0aW9uc1xuICAgICAgICAuay1ldmVudC1hY3Rpb25zIHtcbiAgICAgICAgICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICAgICAgbWluLWhlaWdodDogY2FsYyggdmFyKCAtLWtlbmRvLXNjaGVkdWxlci1saW5lLWhlaWdodCwgI3ska2VuZG8tc2NoZWR1bGVyLWxpbmUtaGVpZ2h0fSApICogdmFyKCAtLWtlbmRvLXNjaGVkdWxlci1mb250LXNpemUsICN7JGtlbmRvLXNjaGVkdWxlci1mb250LXNpemV9ICkgKTtcbiAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgICAgIHotaW5kZXg6IDE7XG5cbiAgICAgICAgICAgIGEgeyBjb2xvcjogaW5oZXJpdDsgfVxuICAgICAgICB9XG5cbiAgICAgICAgLy8gUmVzaXplIGhhbmRsZXNcbiAgICAgICAgLmstcmVzaXplLWhhbmRsZSB7XG4gICAgICAgICAgICB6LWluZGV4OiA0O1xuICAgICAgICAgICAgb3BhY2l0eTogLjU7XG4gICAgICAgICAgICB2aXNpYmlsaXR5OiBoaWRkZW47XG4gICAgICAgIH1cblxuICAgICAgICAuay1yZXNpemUtaGFuZGxlOjpiZWZvcmUgeyBib3JkZXItY29sb3I6IGN1cnJlbnRDb2xvcjsgfVxuXG4gICAgICAgIC5rLXJlc2l6ZS1uIHtcbiAgICAgICAgICAgIGhlaWdodDogLjVlbTtcbiAgICAgICAgICAgIGluc2V0LWJsb2NrLXN0YXJ0OiAwO1xuICAgICAgICB9XG5cbiAgICAgICAgLmstcmVzaXplLXMge1xuICAgICAgICAgICAgaGVpZ2h0OiAuNWVtO1xuICAgICAgICAgICAgaW5zZXQtYmxvY2stZW5kOiAwO1xuICAgICAgICB9XG5cbiAgICAgICAgLmstcmVzaXplLW46OmJlZm9yZSxcbiAgICAgICAgLmstcmVzaXplLXM6OmJlZm9yZSB7XG4gICAgICAgICAgICB3aWR0aDogdmFyKCAtLWtlbmRvLXNjaGVkdWxlci1yZXNpemUtaGFuZGxlLXdpZHRoLCAjeyRrZW5kby1zY2hlZHVsZXItcmVzaXplLWhhbmRsZS13aWR0aH0gKTtcbiAgICAgICAgICAgIGJvcmRlci1ibG9jay1lbmQtd2lkdGg6IDFweDtcbiAgICAgICAgfVxuXG4gICAgICAgIC5rLXJlc2l6ZS13IHtcbiAgICAgICAgICAgIHdpZHRoOiAuNWVtO1xuICAgICAgICAgICAgaW5zZXQtaW5saW5lLXN0YXJ0OiAwO1xuICAgICAgICB9XG5cbiAgICAgICAgLmstcmVzaXplLWUge1xuICAgICAgICAgICAgd2lkdGg6IC41ZW07XG4gICAgICAgICAgICBpbnNldC1pbmxpbmUtZW5kOiAwO1xuICAgICAgICB9XG5cbiAgICAgICAgLmstcmVzaXplLXc6OmJlZm9yZSxcbiAgICAgICAgLmstcmVzaXplLWU6OmJlZm9yZSB7XG4gICAgICAgICAgICBoZWlnaHQ6IHZhciggLS1rZW5kby1zY2hlZHVsZXItcmVzaXplLWhhbmRsZS13aWR0aCwgI3ska2VuZG8tc2NoZWR1bGVyLXJlc2l6ZS1oYW5kbGUtd2lkdGh9ICk7XG4gICAgICAgICAgICBib3JkZXItaW5saW5lLXN0YXJ0LXdpZHRoOiAxcHg7XG4gICAgICAgIH1cblxuICAgICAgICAvLyBIb3ZlclxuICAgICAgICAmOmhvdmVyLFxuICAgICAgICAmLmstaG92ZXIge1xuICAgICAgICAgICAgLmstZXZlbnQtYWN0aW9ucyAuay1ldmVudC1kZWxldGUsXG4gICAgICAgICAgICAuay1yZXNpemUtaGFuZGxlIHtcbiAgICAgICAgICAgICAgICB2aXNpYmlsaXR5OiB2aXNpYmxlO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgJi5rLWV2ZW50LWRyYWctaGludCAuay1ldmVudC10aW1lIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICB9XG5cbiAgICAgICAgLmstZXZlbnQtdG9wLWFjdGlvbnMsXG4gICAgICAgIC5rLWV2ZW50LWJvdHRvbS1hY3Rpb25zIHtcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgIGluc2V0LWJsb2NrLXN0YXJ0OiAwO1xuICAgICAgICAgICAgaW5zZXQtaW5saW5lLXN0YXJ0OiAwO1xuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICAgIH1cblxuICAgICAgICAuay1ldmVudC1ib3R0b20tYWN0aW9ucyB7XG4gICAgICAgICAgICBpbnNldC1ibG9jay1zdGFydDogYXV0bztcbiAgICAgICAgICAgIGluc2V0LWJsb2NrLWVuZDogMDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5rLWV2ZW50LWRlbGV0ZSB7XG4gICAgICAgIG9wYWNpdHk6IC41O1xuICAgICAgICB2aXNpYmlsaXR5OiBoaWRkZW47XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgIG1hcmdpbi1pbmxpbmUtc3RhcnQ6IGF1dG87XG5cbiAgICAgICAgJjpob3ZlcixcbiAgICAgICAgJi5rLWhvdmVyIHtcbiAgICAgICAgICAgIG9wYWNpdHk6IDE7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBUYXNrc1xuICAgIC5rLXNjaGVkdWxlci1tYXJrIHtcbiAgICAgICAgd2lkdGg6IDFlbTtcbiAgICAgICAgaGVpZ2h0OiAxZW07XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgICB9XG5cbiAgICAvLyBNb3JlIGV2ZW50cyBpbmRpY2F0b3JcbiAgICAuay1tb3JlLWV2ZW50cyB7XG4gICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgIGhlaWdodDogdmFyKCAtLWtlbmRvLXNjaGVkdWxlci1tb3JlLWJ0bi1oZWlnaHQsICN7JGtlbmRvLXNjaGVkdWxlci1tb3JlLWJ0bi1oZWlnaHR9ICk7XG4gICAgICAgIGJvcmRlci1zdHlsZTogc29saWQ7XG4gICAgICAgIGJvcmRlci13aWR0aDogMXB4O1xuICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIH1cblxuICAgIC8vIERyYWdpbmcgaGludFxuICAgIC5rLWV2ZW50LWRyYWctaGludCB7XG4gICAgICAgIG9wYWNpdHk6IC41O1xuICAgICAgICB6LWluZGV4OiAzO1xuXG4gICAgICAgIC5rLWV2ZW50LWFjdGlvbnMsXG4gICAgICAgIC5rLWV2ZW50LXRvcC1hY3Rpb25zLFxuICAgICAgICAuay1ldmVudC1ib3R0b20tYWN0aW9ucyxcbiAgICAgICAgLmstcmVzaXplLWhhbmRsZSB7XG4gICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICB9XG5cbiAgICAgICAgLmstZXZlbnQtdGltZSB7XG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgfVxuICAgIH1cblxuXG4gICAgLy8gUmVzaXppbmdcbiAgICAuay1zY2hlZHVsZXItbWFycXVlZSB7XG4gICAgICAgIGJvcmRlci13aWR0aDogMDtcbiAgICAgICAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcblxuICAgICAgICAvLyBsYWJlbFxuICAgICAgICAuay1sYWJlbC10b3AsXG4gICAgICAgIC5rLWxhYmVsLWJvdHRvbSB7XG4gICAgICAgICAgICBmb250LXNpemU6IC43NWVtO1xuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB9XG5cbiAgICAgICAgLy8gQW5nbGUgdGluZ2llXG4gICAgICAgICYuay1maXJzdDo6YmVmb3JlLFxuICAgICAgICAmLmstbGFzdDo6YWZ0ZXIge1xuICAgICAgICAgICAgY29udGVudDogXCJcIjtcbiAgICAgICAgICAgIGJvcmRlci13aWR0aDogM3B4O1xuICAgICAgICAgICAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgIHdpZHRoOiAwO1xuICAgICAgICAgICAgaGVpZ2h0OiAwO1xuICAgICAgICB9XG5cbiAgICAgICAgJi5rLWZpcnN0OjpiZWZvcmUge1xuICAgICAgICAgICAgaW5zZXQtYmxvY2stc3RhcnQ6IDA7XG4gICAgICAgICAgICBpbnNldC1pbmxpbmUtc3RhcnQ6IDA7XG4gICAgICAgICAgICBib3JkZXItcmlnaHQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgICAgICAgICAgYm9yZGVyLWJsb2NrLWVuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgICAgIH1cblxuICAgICAgICAmLmstbGFzdDo6YWZ0ZXIge1xuICAgICAgICAgICAgaW5zZXQtYmxvY2stZW5kOiAwO1xuICAgICAgICAgICAgaW5zZXQtaW5saW5lLWVuZDogMDtcbiAgICAgICAgICAgIGJvcmRlci1pbmxpbmUtc3RhcnQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgICAgICAgICAgYm9yZGVyLXRvcC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvLyByZW1vdmUgc2Nyb2xsYmFycyBkdXJpbmcgUERGIGV4cG9ydFxuICAgIC8vIHN0eWxlbGludC1kaXNhYmxlIGRlY2xhcmF0aW9uLW5vLWltcG9ydGFudFxuICAgIC5rLXBkZi1leHBvcnQtc2hhZG93IC5rLXNjaGVkdWxlcixcbiAgICAuay1zY2hlZHVsZXItcGRmLWV4cG9ydCAuay1zY2hlZHVsZXItY29udGVudCxcbiAgICAuay1zY2hlZHVsZXItcGRmLWV4cG9ydCAuay1zY2hlZHVsZXItdGltZXMge1xuICAgICAgICBoZWlnaHQ6IGF1dG8gIWltcG9ydGFudDtcbiAgICAgICAgb3ZlcmZsb3c6IHZpc2libGUgIWltcG9ydGFudDtcbiAgICB9XG5cbiAgICAuay1zY2hlZHVsZXItcGRmLWV4cG9ydCB7XG4gICAgICAgIG92ZXJmbG93OiBoaWRkZW47XG5cbiAgICAgICAgLmstc2NoZWR1bGVyLWhlYWRlciB7XG4gICAgICAgICAgICBwYWRkaW5nOiAwICFpbXBvcnRhbnQ7XG4gICAgICAgIH1cblxuICAgICAgICAuay1zY2hlZHVsZXItaGVhZGVyLXdyYXAge1xuICAgICAgICAgICAgYm9yZGVyLXdpZHRoOiAwICFpbXBvcnRhbnQ7XG4gICAgICAgIH1cblxuICAgICAgICAuay1zY2hlZHVsZXItaGVhZGVyIC5rLXNjaGVkdWxlci10YWJsZSxcbiAgICAgICAgLmstc2NoZWR1bGVyLWNvbnRlbnQgLmstc2NoZWR1bGVyLXRhYmxlIHtcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlICFpbXBvcnRhbnQ7XG4gICAgICAgIH1cbiAgICB9XG4gICAgLy8gc3R5bGVsaW50LWVuYWJsZSBkZWNsYXJhdGlvbi1uby1pbXBvcnRhbnRcblxuXG4gICAgLy8gVE9ETzogYWRkIHRoaXMgY2xhc3MgdG8galF1ZXJ5IHJlbmRlcmluZ1xuICAgIC8vIGFmdGVyIHJlZmFjdG9yaW5nIGpRdWVyeSBzY2hlZHVsZXIgbGF5b3V0IHRvIGJlIGZsZXhcbiAgICAuay1yZWN1cnJlbmNlLWVkaXRvciB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgfVxuXG4gICAga2VuZG8tc2NoZWR1bGVyIC5rLXJlY3VycmVuY2UtZWRpdG9yIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgfVxuXG4gICAgLy8gRGF5IHZpZXdcbiAgICAuay1zY2hlZHVsZXItZGF5dmlldyB7fVxuXG5cbiAgICAvLyBXb3Jrd2VlayB2aWV3XG4gICAgLmstc2NoZWR1bGVyLXdvcmtXZWVrdmlldyB7fSAvLyBzdHlsZWxpbnQtZGlzYWJsZS1saW5lXG5cblxuICAgIC8vIFdlZWsgdmlld1xuICAgIC5rLXNjaGVkdWxlci13ZWVrdmlldyB7fVxuXG5cbiAgICAvLyBNb250aCB2aWV3XG4gICAgLmstc2NoZWR1bGVyLW1vbnRodmlldyB7XG5cbiAgICAgICAgLmstc2NoZWR1bGVyLXRhYmxlIHtcbiAgICAgICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgfVxuXG4gICAgICAgIC5rLXNjaGVkdWxlci10YWJsZSB0ZCB7XG4gICAgICAgICAgICBoZWlnaHQ6IDgwcHg7XG4gICAgICAgICAgICB0ZXh0LWFsaWduOiBlbmQ7XG4gICAgICAgIH1cblxuICAgICAgICAuay1zY2hlZHVsZXItYm9keSAuay1zY2hlZHVsZXItY2VsbCB7XG4gICAgICAgICAgICBtaW4taGVpZ2h0OiA4MHB4O1xuICAgICAgICB9XG5cbiAgICAgICAgLy8gaGlkZGVuIGNlbGxzIG11c3QgaGF2ZSBubyBsYXlvdXRcbiAgICAgICAgLmstaGlkZGVuIHtcbiAgICAgICAgICAgIHBhZGRpbmctaW5saW5lOiAwICFpbXBvcnRhbnQ7IC8vIHN0eWxlbGludC1kaXNhYmxlLWxpbmUgZGVjbGFyYXRpb24tbm8taW1wb3J0YW50XG4gICAgICAgICAgICBib3JkZXItaW5saW5lLWVuZC13aWR0aDogMCAhaW1wb3J0YW50OyAvLyBzdHlsZWxpbnQtZGlzYWJsZS1saW5lIGRlY2xhcmF0aW9uLW5vLWltcG9ydGFudFxuICAgICAgICB9XG5cbiAgICAgICAgLmstc2NoZWR1bGVyLXRhYmxlLWF1dG8sXG4gICAgICAgIC5rLXNjaGVkdWxlci10YWJsZS1hdXRvIHRkLFxuICAgICAgICAuay1zY2hlZHVsZXItY29udGVudCAuay1zY2hlZHVsZXItdGFibGUtYXV0byB7XG4gICAgICAgICAgICBoZWlnaHQ6IGF1dG87XG4gICAgICAgIH1cblxuICAgICAgICAvLyBGb3JjZSB2ZXJ0aWNhbCBzY3JvbGwgaW4gbW9udGh2aWV3IGZvciBqcXVlcnlcbiAgICAgICAgLmstc2NoZWR1bGVyLWNvbnRlbnQge1xuICAgICAgICAgICAgb3ZlcmZsb3cteTogc2Nyb2xsO1xuICAgICAgICB9XG5cbiAgICAgICAgJi5rLXNjaGVkdWxlci1mbGV4LWxheW91dCAuay1zY2hlZHVsZXItY29udGVudCB7XG4gICAgICAgICAgICBvdmVyZmxvdy15OiBhdXRvO1xuICAgICAgICB9XG4gICAgfVxuXG5cbiAgICAvLyBBZ2VuZGEgdmlld1xuICAgIDp3aGVyZSguay1zY2hlZHVsZXItYWdlbmRhdmlldykge1xuXG4gICAgICAgIC5rLXRhc2sge1xuICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgIGZsZXg6IDEgMSAxMDAlO1xuICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgICAgIGdhcDogay1zcGFjaW5nKDAuNSk7XG4gICAgICAgIH1cblxuICAgICAgICAuay1zY2hlZHVsZXItbWFyayB7XG4gICAgICAgICAgICBtYXJnaW4taW5saW5lLWVuZDogLjVlbTtcbiAgICAgICAgICAgIHdpZHRoOiAxZW07XG4gICAgICAgICAgICBoZWlnaHQ6IDFlbTtcbiAgICAgICAgfVxuXG4gICAgICAgIC5rLXNjaGVkdWxlci10YWJsZSB7XG4gICAgICAgICAgICB0aDpmaXJzdC1jaGlsZCxcbiAgICAgICAgICAgIHRkOmZpcnN0LWNoaWxkIHtcbiAgICAgICAgICAgICAgICBib3JkZXItaW5saW5lLXN0YXJ0LXdpZHRoOiAxcHg7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIHRkLmstZmlyc3Qge1xuICAgICAgICAgICAgICAgIGJvcmRlci1pbmxpbmUtc3RhcnQtd2lkdGg6IDA7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAuay1ob3ZlciAuay10YXNrID4gLmstZXZlbnQtZGVsZXRlLFxuICAgICAgICAuay1zY2hlZHVsZXItY29udGVudCB0cjpob3ZlciAuay1ldmVudC1kZWxldGUsXG4gICAgICAgIC5rLXNjaGVkdWxlci1jb250ZW50IC5rLXNjaGVkdWxlci1yb3c6aG92ZXIgLmstZXZlbnQtZGVsZXRlLFxuICAgICAgICAuay1zY2hlZHVsZXItY29udGVudCAuay1zY2hlZHVsZXItcm93LmstaG92ZXIgLmstZXZlbnQtZGVsZXRlIHtcbiAgICAgICAgICAgIHZpc2liaWxpdHk6IHZpc2libGU7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAuay1zY2hlZHVsZXItYWdlbmRhZGF5IHtcbiAgICAgICAgbWFyZ2luOiAwIC4yZW0gMCAwO1xuICAgICAgICBmb250LXNpemU6IDNlbTtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDE7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiA0MDA7XG4gICAgICAgIGZsb2F0OiBsZWZ0O1xuICAgIH1cblxuICAgIC5rLXNjaGVkdWxlci1hZ2VuZGF3ZWVrIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIG1hcmdpbjogLjRlbSAwIDA7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxO1xuICAgICAgICBmb250LXN0eWxlOiBub3JtYWw7XG4gICAgfVxuXG4gICAgLmstc2NoZWR1bGVyLWFnZW5kYWRhdGUge1xuICAgICAgICBmb250LXNpemU6IC43NWVtO1xuICAgIH1cblxuXG4gICAgLy8gVGltZWxpbmUgdmlld1xuICAgIC5rLXNjaGVkdWxlci10aW1lbGluZXZpZXcge1xuICAgICAgICAuay1zbG90LWNlbGwge1xuICAgICAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAgICAgfVxuICAgICAgICAuay1zY2hlZHVsZXItY29udGVudCB7XG4gICAgICAgICAgICBvdmVyZmxvdzogYXV0bztcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5rLXNjaGVkdWxlci1wYW5lIHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgICB9XG5cbiAgICAuay1zY2hlZHVsZXItcGFuZSAuay1zY2hlZHVsZXItdGltZXMge1xuICAgICAgICBmbGV4OiAwIDAgYXV0bztcbiAgICB9XG5cbiAgICAuay1zY2hlZHVsZXItcGFuZSAuay1zY2hlZHVsZXItdGltZXMgLmstc2NoZWR1bGVyLXRhYmxlIHtcbiAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgIH1cblxuICAgIC5rLXNjaGVkdWxlci1wYW5lIC5rLXNjaGVkdWxlci1oZWFkZXIsXG4gICAgLmstc2NoZWR1bGVyLXBhbmUgLmstc2NoZWR1bGVyLWNvbnRlbnQge1xuICAgICAgICBmbGV4OiAxIDEgYXV0bztcbiAgICB9XG5cblxuICAgIC8vIFllYXIgdmlld1xuICAgIC5rLXNjaGVkdWxlci15ZWFydmlldyB7XG4gICAgICAgIC5rLXNjaGVkdWxlci1ib2R5IHtcbiAgICAgICAgICAgIHBhZGRpbmctaW5saW5lOiB2YXIoIC0ta2VuZG8tc2NoZWR1bGVyLXllYXJ2aWV3LXBhZGRpbmcteCwgI3ska2VuZG8tc2NoZWR1bGVyLXllYXJ2aWV3LXBhZGRpbmcteH0gKTtcbiAgICAgICAgICAgIHBhZGRpbmctYmxvY2s6IHZhciggLS1rZW5kby1zY2hlZHVsZXIteWVhcnZpZXctcGFkZGluZy15LCAjeyRrZW5kby1zY2hlZHVsZXIteWVhcnZpZXctcGFkZGluZy15fSApO1xuICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICAgIH1cblxuICAgICAgICAuay1jYWxlbmRhciB7XG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgIGJvcmRlci13aWR0aDogMDtcblxuICAgICAgICAgICAgLmstY2FsZW5kYXItdmlldyB7XG4gICAgICAgICAgICAgICAgZmxleC13cmFwOiB3cmFwO1xuICAgICAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgICAgICAgICAgIGdhcDogdmFyKCAtLWtlbmRvLXNjaGVkdWxlci15ZWFydmlldy1jYWxlbmRhci1nYXAsICN7JGtlbmRvLXNjaGVkdWxlci15ZWFydmlldy1jYWxlbmRhci1nYXB9ICk7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC5rLWNvbnRlbnQge1xuICAgICAgICAgICAgICAgIGZsZXg6IDA7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC5rLWxpbmsge1xuICAgICAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgdGQuay1zZWxlY3RlZCB7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogaW5oZXJpdDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC5rLWRheS1pbmRpY2F0b3Ige1xuICAgICAgICAgICAgbWFyZ2luLWJsb2NrLXN0YXJ0OiAka2VuZG8tc2NoZWR1bGVyLXllYXJ2aWV3LWluZGljYXRvci1jYWxjLW9mZnNldC10b3A7XG4gICAgICAgICAgICB3aWR0aDogdmFyKCAtLWtlbmRvLXNjaGVkdWxlci15ZWFydmlldy1pbmRpY2F0b3Itc2l6ZSwgI3ska2VuZG8tc2NoZWR1bGVyLXllYXJ2aWV3LWluZGljYXRvci1zaXplfSApO1xuICAgICAgICAgICAgaGVpZ2h0OiB2YXIoIC0ta2VuZG8tc2NoZWR1bGVyLXllYXJ2aWV3LWluZGljYXRvci1zaXplLCAjeyRrZW5kby1zY2hlZHVsZXIteWVhcnZpZXctaW5kaWNhdG9yLXNpemV9ICk7XG4gICAgICAgICAgICBib3JkZXItcmFkaXVzOiB2YXIoIC0ta2VuZG8tc2NoZWR1bGVyLXllYXJ2aWV3LWluZGljYXRvci1ib3JkZXItcmFkaXVzLCAjeyRrZW5kby1zY2hlZHVsZXIteWVhcnZpZXctaW5kaWNhdG9yLWJvcmRlci1yYWRpdXN9ICk7XG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICBpbnNldC1pbmxpbmUtc3RhcnQ6IHZhciggLS1rZW5kby1zY2hlZHVsZXIteWVhcnZpZXctaW5kaWNhdG9yLWNhbGMtb2Zmc2V0LWxlZnQsICN7JGtlbmRvLXNjaGVkdWxlci15ZWFydmlldy1pbmRpY2F0b3ItY2FsYy1vZmZzZXQtbGVmdH0gKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5rLXNjaGVkdWxlci10b29sdGlwIHtcbiAgICAgICAgcGFkZGluZy1pbmxpbmU6IHZhciggLS1rZW5kby1zY2hlZHVsZXItdG9vbHRpcC1wYWRkaW5nLXgsICN7JGtlbmRvLXNjaGVkdWxlci10b29sdGlwLXBhZGRpbmcteH0gKTtcbiAgICAgICAgcGFkZGluZy1ibG9jazogdmFyKCAtLWtlbmRvLXNjaGVkdWxlci10b29sdGlwLXBhZGRpbmcteSwgI3ska2VuZG8tc2NoZWR1bGVyLXRvb2x0aXAtcGFkZGluZy15fSApO1xuICAgICAgICBib3JkZXItd2lkdGg6IHZhciggLS1rZW5kby1zY2hlZHVsZXItdG9vbHRpcC1ib3JkZXItd2lkdGgsICN7JGtlbmRvLXNjaGVkdWxlci10b29sdGlwLWJvcmRlci13aWR0aH0gKTtcbiAgICAgICAgY29sb3I6IGluaGVyaXQ7XG5cbiAgICAgICAgLmstdG9vbHRpcC10aXRsZSB7XG4gICAgICAgICAgICBtYXJnaW4tYmxvY2stZW5kOiB2YXIoIC0ta2VuZG8tc2NoZWR1bGVyLXRvb2x0aXAtdGl0bGUtbWFyZ2luLXksICN7JGtlbmRvLXNjaGVkdWxlci10b29sdGlwLXRpdGxlLW1hcmdpbi15fSApO1xuXG4gICAgICAgICAgICAuay1tb250aCB7XG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiB2YXIoIC0ta2VuZG8tc2NoZWR1bGVyLXRvb2x0aXAtbW9udGgtZm9udC1zaXplLCAjeyRrZW5kby1zY2hlZHVsZXItdG9vbHRpcC1tb250aC1mb250LXNpemV9ICk7XG4gICAgICAgICAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLmstZGF5IHtcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IHZhciggLS1rZW5kby1zY2hlZHVsZXItdG9vbHRpcC1kYXktZm9udC1zaXplLCAjeyRrZW5kby1zY2hlZHVsZXItdG9vbHRpcC1kYXktZm9udC1zaXplfSApO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLmstdG9vbHRpcC1ldmVudHMtY29udGFpbmVyIHtcbiAgICAgICAgICAgIG92ZXJmbG93OiBhdXRvO1xuICAgICAgICB9XG5cbiAgICAgICAgLmstdG9vbHRpcC1ldmVudHMge1xuICAgICAgICAgICAgbWF4LWhlaWdodDogdmFyKCAtLWtlbmRvLXNjaGVkdWxlci10b29sdGlwLWV2ZW50cy1tYXgtaGVpZ2h0LCAjeyRrZW5kby1zY2hlZHVsZXItdG9vbHRpcC1ldmVudHMtbWF4LWhlaWdodH0gKTtcbiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgICAgICAgZ2FwOiB2YXIoIC0ta2VuZG8tc2NoZWR1bGVyLXRvb2x0aXAtZXZlbnRzLWdhcCwgI3ska2VuZG8tc2NoZWR1bGVyLXRvb2x0aXAtZXZlbnRzLWdhcH0gKTtcbiAgICAgICAgfVxuXG4gICAgICAgIC5rLXRvb2x0aXAtZXZlbnQge1xuICAgICAgICAgICAgcGFkZGluZy1pbmxpbmU6IHZhciggLS1rZW5kby1zY2hlZHVsZXItdG9vbHRpcC1ldmVudC1wYWRkaW5nLXgsICN7JGtlbmRvLXNjaGVkdWxlci10b29sdGlwLWV2ZW50LXBhZGRpbmcteH0gKTtcbiAgICAgICAgICAgIHBhZGRpbmctYmxvY2s6IHZhciggLS1rZW5kby1zY2hlZHVsZXItdG9vbHRpcC1ldmVudC1wYWRkaW5nLXksICN7JGtlbmRvLXNjaGVkdWxlci10b29sdGlwLWV2ZW50LXBhZGRpbmcteX0gKTtcbiAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IHZhciggLS1rZW5kby1zY2hlZHVsZXItdG9vbHRpcC1ldmVudC1ib3JkZXItcmFkaXVzLCAjeyRrZW5kby1zY2hlZHVsZXItdG9vbHRpcC1ldmVudC1ib3JkZXItcmFkaXVzfSApO1xuICAgICAgICAgICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgICAgIGZsZXgtc2hyaW5rOiAwO1xuICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICAgICAgZ2FwOiB2YXIoIC0ta2VuZG8tc2NoZWR1bGVyLXRvb2x0aXAtZXZlbnQtZ2FwLCAjeyRrZW5kby1zY2hlZHVsZXItdG9vbHRpcC1ldmVudC1nYXB9ICk7XG5cbiAgICAgICAgICAgIC5rLWV2ZW50LXRpdGxlIHtcbiAgICAgICAgICAgICAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICAgICAgICAgICAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgICAgICAgICAgICAgdGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC5rLWV2ZW50LXRpbWUge1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICAgICAgZmxleC1zaHJpbms6IDA7XG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiBpbmhlcml0O1xuICAgICAgICAgICAgfVxuXG4gICAgICAgIH1cblxuXG4gICAgICAgIC5rLW5vLWRhdGEge1xuICAgICAgICAgICAgaGVpZ2h0OiBhdXRvO1xuICAgICAgICAgICAgbWluLWhlaWdodDogYXV0bztcbiAgICAgICAgICAgIGNvbG9yOiBpbmhlcml0O1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLmstc2NoZWR1bGVyLWVkaXQtZGlhbG9nIHtcbiAgICAgICAgLmstZGlhbG9nIHtcbiAgICAgICAgICAgIG1heC1oZWlnaHQ6IDEwMHZoO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLmstc2NoZWR1bGVyLWVkaXQtZm9ybSB7XG5cbiAgICAgICAgLmstZWRpdC1mb3JtLWNvbnRhaW5lciB7IHdpZHRoOiAxMDAlOyB9XG4gICAgICAgIC5rLWVkaXQtbGFiZWwgeyB3aWR0aDogMTclOyB9XG4gICAgICAgIC5rLWVkaXQtZmllbGQgeyB3aWR0aDogNzclOyB9XG5cbiAgICAgICAgLmstZWRpdC1maWVsZCA+IHVsID4gbGkge1xuICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgIGZsZXgtZmxvdzogcm93IG5vd3JhcDtcbiAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgIH1cblxuICAgICAgICAuay1yZWN1cnJlbmNlLWVkaXRvciB7XG4gICAgICAgICAgICAuay1yYWRpby1saXN0IC5rLXJhZGlvLXdyYXAsXG4gICAgICAgICAgICAuay1jaGVja2JveC1saXN0IC5rLWNoZWNrYm94LXdyYXAge1xuICAgICAgICAgICAgICAgIGFsaWduLXNlbGY6IGNlbnRlcjtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC5rLXJlY3VyLWludGVydmFsLFxuICAgICAgICAuay1yZWN1ci1jb3VudCxcbiAgICAgICAgLmstcmVjdXItbW9udGhkYXkge1xuICAgICAgICAgICAgd2lkdGg6IDVlbTtcbiAgICAgICAgfVxuXG4gICAgICAgIC5rLXJlY3VyLXVudGlsLFxuICAgICAgICAuay1yZWN1ci1tb250aCxcbiAgICAgICAgLmstcmVjdXItd2Vla2RheSxcbiAgICAgICAgLmstcmVjdXItd2Vla2RheS1vZmZzZXQge1xuICAgICAgICAgICAgd2lkdGg6IDEwZW07XG4gICAgICAgIH1cblxuICAgICAgICAuay1zY2hlZHVsZXItZGF0ZXRpbWUtcGlja2VyIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICBmbGV4LWZsb3c6IHJvdyBub3dyYXA7XG4gICAgICAgICAgICBnYXA6IGstc3BhY2luZygxKTtcbiAgICAgICAgfVxuXG4gICAgfVxuXG4gICAuay1ydGwge1xuICAgICAgICAuay1zY2hlZHVsZXIsXG4gICAgICAgICYuay1zY2hlZHVsZXIge1xuICAgICAgICAgICAgLmstc2NoZWR1bGVyLWFnZW5kYWRheSB7XG4gICAgICAgICAgICAgICAgZmxvYXQ6IHJpZ2h0O1xuICAgICAgICAgICAgICAgIG1hcmdpbjogMCAwIDAgLjJlbTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5rLXNhZmFyaSB7XG4gICAgICAgIC5rLXNjaGVkdWxlci10b29sdGlwIC5rLXRvb2x0aXAtZXZlbnQ6bm90KDpsYXN0LWNoaWxkKSB7XG4gICAgICAgICAgICBtYXJnaW4tYmxvY2stZW5kOiB2YXIoIC0ta2VuZG8tc2NoZWR1bGVyLXRvb2x0aXAtZXZlbnQtZ2FwLCAjeyRrZW5kby1zY2hlZHVsZXItdG9vbHRpcC1ldmVudC1nYXB9ICk7XG4gICAgICAgIH1cblxuICAgICAgICAuay1zY2hlZHVsZXIteWVhcnZpZXcgLmstY2FsZW5kYXItdmlldyAuay1tb250aCB7XG4gICAgICAgICAgICBtYXJnaW4taW5saW5lOiBjYWxjKCB2YXIoIC0ta2VuZG8tc2NoZWR1bGVyLXllYXJ2aWV3LWNhbGVuZGFyLWdhcCwgI3ska2VuZG8tc2NoZWR1bGVyLXllYXJ2aWV3LWNhbGVuZGFyLWdhcH0gKSAvIDIpO1xuICAgICAgICB9XG4gICAgfVxufVxuIiwiQHVzZSBcInNhc3M6bWFwXCI7XG5AdXNlIFwiLi4vY29yZS9faW5kZXguc2Nzc1wiIGFzICo7XG5AdXNlIFwiLi4vY2FsZW5kYXIvX3ZhcmlhYmxlcy5zY3NzXCIgYXMgKjtcbkB1c2UgXCIuLi90b29sYmFyL192YXJpYWJsZXMuc2Nzc1wiIGFzICo7XG5cbi8vLyBUaGUgd2lkdGggb2YgdGhlIGJvcmRlciBhcm91bmQgdGhlIFNjaGVkdWxlci5cbi8vLyBAZ3JvdXAgc2NoZWR1bGVyXG4ka2VuZG8tc2NoZWR1bGVyLWJvcmRlci13aWR0aDogMXB4ICFkZWZhdWx0O1xuLy8vIFRoZSBmb250IGZhbWlseSBvZiB0aGUgU2NoZWR1bGVyLlxuLy8vIEBncm91cCBzY2hlZHVsZXJcbiRrZW5kby1zY2hlZHVsZXItZm9udC1mYW1pbHk6IHZhciggLS1rZW5kby1mb250LWZhbWlseSwgaW5oZXJpdCApICFkZWZhdWx0O1xuLy8vIFRoZSBmb250IHNpemUgb2YgdGhlIFNjaGVkdWxlci5cbi8vLyBAZ3JvdXAgc2NoZWR1bGVyXG4ka2VuZG8tc2NoZWR1bGVyLWZvbnQtc2l6ZTogdmFyKCAtLWtlbmRvLWZvbnQtc2l6ZSwgaW5oZXJpdCApICFkZWZhdWx0O1xuLy8vIFRoZSBsaW5lIGhlaWdodCBvZiB0aGUgU2NoZWR1bGVyLlxuLy8vIEBncm91cCBzY2hlZHVsZXJcbiRrZW5kby1zY2hlZHVsZXItbGluZS1oZWlnaHQ6IHZhciggLS1rZW5kby1saW5lLWhlaWdodCwgbm9ybWFsICkgIWRlZmF1bHQ7XG5cbi8vLyBUaGUgYmFja2dyb3VuZCBjb2xvciBvZiB0aGUgU2NoZWR1bGVyLlxuLy8vIEBncm91cCBzY2hlZHVsZXJcbiRrZW5kby1zY2hlZHVsZXItYmc6IHZhciggLS1rZW5kby1jb21wb25lbnQtYmcsIGluaXRpYWwgKSAhZGVmYXVsdDtcbi8vLyBUaGUgdGV4dCBjb2xvciBvZiB0aGUgU2NoZWR1bGVyLlxuLy8vIEBncm91cCBzY2hlZHVsZXJcbiRrZW5kby1zY2hlZHVsZXItdGV4dDogdmFyKCAtLWtlbmRvLWNvbXBvbmVudC10ZXh0LCBpbml0aWFsICkgIWRlZmF1bHQ7XG4vLy8gVGhlIGJvcmRlciBjb2xvciBvZiB0aGUgU2NoZWR1bGVyLlxuLy8vIEBncm91cCBzY2hlZHVsZXJcbiRrZW5kby1zY2hlZHVsZXItYm9yZGVyOiB2YXIoIC0ta2VuZG8tY29tcG9uZW50LWJvcmRlciwgaW5pdGlhbCApICFkZWZhdWx0O1xuXG4vLy8gVGhlIGJhY2tncm91bmQgY29sb3Igb2YgdGhlIHNlbGVjdGVkIHJvdyBpbiBTY2hlZHVsZXIuXG4vLy8gQGdyb3VwIHNjaGVkdWxlclxuJGtlbmRvLXNjaGVkdWxlci1zZWxlY3RlZC1iZzogaWYoJGtlbmRvLWVuYWJsZS1jb2xvci1zeXN0ZW0sIGstY29sb3IoIHByaW1hcnktc3VidGxlICksIGstZ2V0LXRoZW1lLWNvbG9yLXZhciggcHJpbWFyeS0yMCApKSAhZGVmYXVsdDtcbi8vLyBUaGUgdGV4dCBjb2xvciBvZiB0aGUgc2VsZWN0ZWQgcm93IGluIFNjaGVkdWxlci5cbi8vLyBAZ3JvdXAgc2NoZWR1bGVyXG4ka2VuZG8tc2NoZWR1bGVyLXNlbGVjdGVkLXRleHQ6ICRrZW5kby1zY2hlZHVsZXItdGV4dCAhZGVmYXVsdDtcbi8vLyBUaGUgYm9yZGVyIGNvbG9yIG9mIHRoZSBzZWxlY3RlZCByb3cgaW4gU2NoZWR1bGVyLlxuLy8vIEBncm91cCBzY2hlZHVsZXJcbiRrZW5kby1zY2hlZHVsZXItc2VsZWN0ZWQtYm9yZGVyOiAka2VuZG8tc2NoZWR1bGVyLWJvcmRlciAhZGVmYXVsdDtcblxuLy8vIFRoZSBiYWNrZ3JvdW5kIGNvbG9yIG9mIHRoZSBTY2hlZHVsZXIgVG9vbEJhci5cbi8vLyBAZ3JvdXAgc2NoZWR1bGVyXG4ka2VuZG8tc2NoZWR1bGVyLXRvb2xiYXItYmc6IHZhciggLS1rZW5kby10b29sYmFyLWJnLCAka2VuZG8tdG9vbGJhci1iZyApICFkZWZhdWx0O1xuLy8vIFRoZSB0ZXh0IGNvbG9yIG9mIHRoZSBTY2hlZHVsZXIgVG9vbEJhci5cbi8vLyBAZ3JvdXAgc2NoZWR1bGVyXG4ka2VuZG8tc2NoZWR1bGVyLXRvb2xiYXItdGV4dDogdmFyKCAtLWtlbmRvLXRvb2xiYXItdGV4dCwgJGtlbmRvLXRvb2xiYXItdGV4dCApICFkZWZhdWx0O1xuLy8vIFRoZSBib3JkZXIgY29sb3Igb2YgdGhlIFNjaGVkdWxlciBUb29sQmFyLlxuLy8vIEBncm91cCBzY2hlZHVsZXJcbiRrZW5kby1zY2hlZHVsZXItdG9vbGJhci1ib3JkZXI6IHZhciggLS1rZW5kby10b29sYmFyLWJvcmRlciwgJGtlbmRvLXRvb2xiYXItYm9yZGVyICkgIWRlZmF1bHQ7XG4vLy8gVGhlIGdyYWRpZW50IG9mIHRoZSBTY2hlZHVsZXIgVG9vbEJhci5cbi8vLyBAZ3JvdXAgc2NoZWR1bGVyXG4ka2VuZG8tc2NoZWR1bGVyLXRvb2xiYXItZ3JhZGllbnQ6IG51bGwgIWRlZmF1bHQ7IC8vICRrZW5kby10b29sYmFyLWdyYWRpZW50XG5cbi8vLyBUaGUgYmFja2dyb3VuZCBjb2xvciBvZiB0aGUgU2NoZWR1bGVyIGZvb3Rlci5cbi8vLyBAZ3JvdXAgc2NoZWR1bGVyXG4ka2VuZG8tc2NoZWR1bGVyLWZvb3Rlci1iZzogdmFyKCAtLWtlbmRvLXRvb2xiYXItYmcsICRrZW5kby10b29sYmFyLWJnICkgIWRlZmF1bHQ7XG4vLy8gVGhlIHRleHQgY29sb3Igb2YgdGhlIFNjaGVkdWxlciBmb290ZXIuXG4vLy8gQGdyb3VwIHNjaGVkdWxlclxuJGtlbmRvLXNjaGVkdWxlci1mb290ZXItdGV4dDogdmFyKCAtLWtlbmRvLXRvb2xiYXItdGV4dCwgJGtlbmRvLXRvb2xiYXItdGV4dCApICFkZWZhdWx0O1xuLy8vIFRoZSBib3JkZXIgY29sb3Igb2YgdGhlIFNjaGVkdWxlciBmb290ZXIuXG4vLy8gQGdyb3VwIHNjaGVkdWxlclxuJGtlbmRvLXNjaGVkdWxlci1mb290ZXItYm9yZGVyOiB2YXIoIC0ta2VuZG8tdG9vbGJhci1ib3JkZXIsICRrZW5kby10b29sYmFyLWJvcmRlciApICFkZWZhdWx0O1xuLy8vIFRoZSBncmFkaWVudCBvZiB0aGUgU2NoZWR1bGVyIGZvb3Rlci5cbi8vLyBAZ3JvdXAgc2NoZWR1bGVyXG4ka2VuZG8tc2NoZWR1bGVyLWZvb3Rlci1ncmFkaWVudDogbnVsbCAhZGVmYXVsdDsgLy8gJGtlbmRvLXRvb2xiYXItZ3JhZGllbnRcblxuLy8vIFRoZSBib3JkZXIgcmFkaXVzIG9mIHRoZSBTY2hlZHVsZXIgZXZlbnQuXG4vLy8gQGdyb3VwIHNjaGVkdWxlclxuJGtlbmRvLXNjaGVkdWxlci1ldmVudC1ib3JkZXItcmFkaXVzOiBrLWJvcmRlci1yYWRpdXMobWQpICFkZWZhdWx0O1xuLy8vIFRoZSBsaW5lIGhlaWdodCBvZiB0aGUgU2NoZWR1bGVyIGV2ZW50LlxuLy8vIEBncm91cCBzY2hlZHVsZXJcbiRrZW5kby1zY2hlZHVsZXItZXZlbnQtbGluZS1oZWlnaHQ6ICRrZW5kby1zY2hlZHVsZXItbGluZS1oZWlnaHQgIWRlZmF1bHQ7XG4vLy8gVGhlIGhvcml6b250YWwgcGFkZGluZyBvZiB0aGUgU2NoZWR1bGVyIGV2ZW50LlxuLy8vIEBncm91cCBzY2hlZHVsZXJcbiRrZW5kby1zY2hlZHVsZXItZXZlbnQtcGFkZGluZy14OiBrLXNwYWNpbmcoMikgIWRlZmF1bHQ7XG4vLy8gVGhlIHZlcnRpY2FsIHBhZGRpbmcgb2YgdGhlIFNjaGVkdWxlciBldmVudC5cbi8vLyBAZ3JvdXAgc2NoZWR1bGVyXG4ka2VuZG8tc2NoZWR1bGVyLWV2ZW50LXBhZGRpbmcteTogay1zcGFjaW5nKDAuNSkgIWRlZmF1bHQ7XG4vLy8gVGhlIG1pbmltdW0gaGVpZ2h0IG9mIHRoZSBTY2hlZHVsZXIgZXZlbnQuXG4vLy8gQGdyb3VwIHNjaGVkdWxlclxuJGtlbmRvLXNjaGVkdWxlci1ldmVudC1taW4taGVpZ2h0OiBjYWxjKCAjeyRrZW5kby1zY2hlZHVsZXItbGluZS1oZWlnaHR9ICsgMiAqICN7JGtlbmRvLXNjaGVkdWxlci1ldmVudC1wYWRkaW5nLXl9ICkgIWRlZmF1bHQ7XG5cbi8vLyBUaGUgYmFja2dyb3VuZCBjb2xvciBvZiB0aGUgU2NoZWR1bGVyIGV2ZW50LlxuLy8vIEBncm91cCBzY2hlZHVsZXJcbiRrZW5kby1zY2hlZHVsZXItZXZlbnQtYmc6IGlmKCRrZW5kby1lbmFibGUtY29sb3Itc3lzdGVtLCBrLWNvbG9yKCBwcmltYXJ5ICksIGstZ2V0LXRoZW1lLWNvbG9yLXZhciggcHJpbWFyeS0xMDAgKSkgIWRlZmF1bHQ7XG4vLy8gVGhlIHRleHQgY29sb3Igb2YgdGhlIFNjaGVkdWxlciBldmVudC5cbi8vLyBAZ3JvdXAgc2NoZWR1bGVyXG4ka2VuZG8tc2NoZWR1bGVyLWV2ZW50LXRleHQ6IGlmKCRrZW5kby1lbmFibGUtY29sb3Itc3lzdGVtLCBrLWNvbG9yKCBhcHAtc3VyZmFjZSApLCAka2VuZG8tY29sb3Itd2hpdGUpICFkZWZhdWx0O1xuLy8vIFRoZSBib3JkZXIgY29sb3Igb2YgdGhlIFNjaGVkdWxlciBldmVudC5cbi8vLyBAZ3JvdXAgc2NoZWR1bGVyXG4ka2VuZG8tc2NoZWR1bGVyLWV2ZW50LWJvcmRlcjogJGtlbmRvLXNjaGVkdWxlci1ldmVudC1iZyAhZGVmYXVsdDtcbi8vLyBUaGUgZ3JhZGllbnQgb2YgdGhlIFNjaGVkdWxlciBldmVudC5cbi8vLyBAZ3JvdXAgc2NoZWR1bGVyXG4ka2VuZG8tc2NoZWR1bGVyLWV2ZW50LWdyYWRpZW50OiBudWxsICFkZWZhdWx0O1xuLy8vIFRoZSBzaGFkb3cgb2YgdGhlIFNjaGVkdWxlciBldmVudC5cbi8vLyBAZ3JvdXAgc2NoZWR1bGVyXG4ka2VuZG8tc2NoZWR1bGVyLWV2ZW50LXNoYWRvdzogbnVsbCAhZGVmYXVsdDtcblxuLy8vIFRoZSBiYWNrZ3JvdW5kIGNvbG9yIG9mIHRoZSBob3ZlcmVkIFNjaGVkdWxlciBldmVudC5cbi8vLyBAZ3JvdXAgc2NoZWR1bGVyXG4ka2VuZG8tc2NoZWR1bGVyLWV2ZW50LWhvdmVyLWJnOiB2YXIoIC0ta2VuZG8taG92ZXItYmcsIGluaGVyaXQgKSAhZGVmYXVsdDtcbi8vLyBUaGUgdGV4dCBjb2xvciBvZiB0aGUgaG92ZXJlZCBTY2hlZHVsZXIgZXZlbnQuXG4vLy8gQGdyb3VwIHNjaGVkdWxlclxuJGtlbmRvLXNjaGVkdWxlci1ldmVudC1ob3Zlci10ZXh0OiB2YXIoIC0ta2VuZG8taG92ZXItdGV4dCwgaW5oZXJpdCApICFkZWZhdWx0O1xuLy8vIFRoZSBib3JkZXIgY29sb3Igb2YgdGhlIGhvdmVyZWQgU2NoZWR1bGVyIGV2ZW50LlxuLy8vIEBncm91cCBzY2hlZHVsZXJcbiRrZW5kby1zY2hlZHVsZXItZXZlbnQtaG92ZXItYm9yZGVyOiB2YXIoIC0ta2VuZG8taG92ZXItYm9yZGVyLCBpbmhlcml0ICkgIWRlZmF1bHQ7XG4vLy8gVGhlIGdyYWRpZW50IG9mIHRoZSBob3ZlcmVkIFNjaGVkdWxlciBldmVudC5cbi8vLyBAZ3JvdXAgc2NoZWR1bGVyXG4ka2VuZG8tc2NoZWR1bGVyLWV2ZW50LWhvdmVyLWdyYWRpZW50OiBudWxsICFkZWZhdWx0O1xuLy8vIFRoZSBzaGFkb3cgb2YgdGhlIGhvdmVyZWQgU2NoZWR1bGVyIGV2ZW50LlxuLy8vIEBncm91cCBzY2hlZHVsZXJcbiRrZW5kby1zY2hlZHVsZXItZXZlbnQtaG92ZXItc2hhZG93OiBudWxsICFkZWZhdWx0O1xuXG4vLy8gVGhlIGJhY2tncm91bmQgY29sb3Igb2YgdGhlIHNlbGVjdGVkIFNjaGVkdWxlciBldmVudC5cbi8vLyBAZ3JvdXAgc2NoZWR1bGVyXG4ka2VuZG8tc2NoZWR1bGVyLWV2ZW50LXNlbGVjdGVkLWJnOiBpZigka2VuZG8tZW5hYmxlLWNvbG9yLXN5c3RlbSwgay1jb2xvciggcHJpbWFyeS1hY3RpdmUgKSwgay1nZXQtdGhlbWUtY29sb3ItdmFyKCBwcmltYXJ5LTEyMCApKSAhZGVmYXVsdDtcbi8vLyBUaGUgdGV4dCBjb2xvciBvZiB0aGUgc2VsZWN0ZWQgU2NoZWR1bGVyIGV2ZW50LlxuLy8vIEBncm91cCBzY2hlZHVsZXJcbiRrZW5kby1zY2hlZHVsZXItZXZlbnQtc2VsZWN0ZWQtdGV4dDogJGtlbmRvLXNjaGVkdWxlci1ldmVudC10ZXh0ICFkZWZhdWx0O1xuLy8vIFRoZSBib3JkZXIgY29sb3Igb2YgdGhlIHNlbGVjdGVkIFNjaGVkdWxlciBldmVudC5cbi8vLyBAZ3JvdXAgc2NoZWR1bGVyXG4ka2VuZG8tc2NoZWR1bGVyLWV2ZW50LXNlbGVjdGVkLWJvcmRlcjogJGtlbmRvLXNjaGVkdWxlci1ldmVudC1iZyAhZGVmYXVsdDtcbi8vLyBUaGUgZ3JhZGllbnQgb2YgdGhlIHNlbGVjdGVkIFNjaGVkdWxlciBldmVudC5cbi8vLyBAZ3JvdXAgc2NoZWR1bGVyXG4ka2VuZG8tc2NoZWR1bGVyLWV2ZW50LXNlbGVjdGVkLWdyYWRpZW50OiBudWxsICFkZWZhdWx0O1xuLy8vIFRoZSBzaGFkb3cgb2YgdGhlIHNlbGVjdGVkIFNjaGVkdWxlciBldmVudC5cbi8vLyBAZ3JvdXAgc2NoZWR1bGVyXG4ka2VuZG8tc2NoZWR1bGVyLWV2ZW50LXNlbGVjdGVkLXNoYWRvdzogbm9uZSAhZGVmYXVsdDtcblxuLy8vIFRoZSBzaGFkb3cgb2YgdGhlIG9uZ29pbmcgU2NoZWR1bGVyIGV2ZW50LlxuLy8vIEBncm91cCBzY2hlZHVsZXJcbiRrZW5kby1zY2hlZHVsZXItZXZlbnQtb25nb2luZy1zaGFkb3c6IGluc2V0IDBweCAwcHggMHB4IDFweCAjZmYwMDAwICFkZWZhdWx0O1xuXG4vLy8gVGhlIGhvcml6b250YWwgcGFkZGluZyBvZiB0aGUgU2NoZWR1bGVyIGNlbGwuXG4vLy8gQGdyb3VwIHNjaGVkdWxlclxuJGtlbmRvLXNjaGVkdWxlci1jZWxsLXBhZGRpbmcteDogay1zcGFjaW5nKDIpICFkZWZhdWx0O1xuLy8vIFRoZSB2ZXJ0aWNhbCBwYWRkaW5nIG9mIHRoZSBTY2hlZHVsZXIgY2VsbC5cbi8vLyBAZ3JvdXAgc2NoZWR1bGVyXG4ka2VuZG8tc2NoZWR1bGVyLWNlbGwtcGFkZGluZy15OiBrLXNwYWNpbmcoMikgIWRlZmF1bHQ7XG4vLy8gVGhlIGhlaWdodCBvZiB0aGUgU2NoZWR1bGVyIGNlbGwuXG4vLy8gQGdyb3VwIHNjaGVkdWxlclxuJGtlbmRvLXNjaGVkdWxlci1jZWxsLWhlaWdodDogJGtlbmRvLWxpbmUtaGVpZ2h0LWVtICFkZWZhdWx0O1xuLy8vIFRoZSB3aWR0aCBvZiB0aGUgU2NoZWR1bGVyIGRhdGUgY29sdW1uLlxuLy8vIEBncm91cCBzY2hlZHVsZXJcbiRrZW5kby1zY2hlZHVsZXItZGF0ZWNvbHVtbi13aWR0aDogMTJlbSAhZGVmYXVsdDtcbi8vLyBUaGUgd2lkdGggb2YgdGhlIFNjaGVkdWxlciB0aW1lIGNvbHVtbi5cbi8vLyBAZ3JvdXAgc2NoZWR1bGVyXG4ka2VuZG8tc2NoZWR1bGVyLXRpbWVjb2x1bW4td2lkdGg6IDExZW0gIWRlZmF1bHQ7XG5cbi8vLyBUaGUgYmFja2dyb3VuZCBjb2xvciBvZiB0aGUgbm9uLXdvcmtpbmcgaG91cnMgaW4gdGhlIFNjaGVkdWxlci5cbi8vLyBAZ3JvdXAgc2NoZWR1bGVyXG4ka2VuZG8tc2NoZWR1bGVyLW5vbndvcmstYmc6IGlmKCRrZW5kby1lbmFibGUtY29sb3Itc3lzdGVtLCBrLWNvbG9yKCBzdXJmYWNlICksIGstZ2V0LXRoZW1lLWNvbG9yLXZhciggbmV1dHJhbC0xMCApKSAhZGVmYXVsdDtcbi8vLyBUaGUgdGV4dCBjb2xvciBvZiB0aGUgbm9uLXdvcmtpbmcgaG91cnMgaW4gdGhlIFNjaGVkdWxlci5cbi8vLyBAZ3JvdXAgc2NoZWR1bGVyXG4ka2VuZG8tc2NoZWR1bGVyLW5vbndvcmstdGV4dDogbnVsbCAhZGVmYXVsdDtcblxuLy8vIFRoZSBiYWNrZ3JvdW5kIGNvbG9yIG9mIHRoZSB3ZWVrZW5kcyBpbiB0aGUgU2NoZWR1bGVyLlxuLy8vIEBncm91cCBzY2hlZHVsZXJcbiRrZW5kby1zY2hlZHVsZXItd2Vla2VuZC1iZzogbnVsbCAhZGVmYXVsdDtcbi8vLyBUaGUgdGV4dCBjb2xvciBvZiB0aGUgd2Vla2VuZHMgaW4gdGhlIFNjaGVkdWxlci5cbi8vLyBAZ3JvdXAgc2NoZWR1bGVyXG4ka2VuZG8tc2NoZWR1bGVyLXdlZWtlbmQtdGV4dDogbnVsbCAhZGVmYXVsdDtcblxuLy8vIFRoZSBiYWNrZ3JvdW5kIGNvbG9yIG9mIHRoZSBwcmVjZWRpbmcvc3Vic2VxdWVudCBtb250aCBjZWxscyBpbiB0aGUgQ2FsZW5kYXIuXG4vLy8gQGdyb3VwIHNjaGVkdWxlclxuJGtlbmRvLXNjaGVkdWxlci1vdGhlcm1vbnRoLWJnOiBpZigka2VuZG8tZW5hYmxlLWNvbG9yLXN5c3RlbSwgay1jb2xvciggc3VyZmFjZSApLCBrLWdldC10aGVtZS1jb2xvci12YXIoIG5ldXRyYWwtMTAgKSkgIWRlZmF1bHQ7XG4vLy8gVGhlIHRleHQgY29sb3Igb2YgdGhlIHByZWNlZGluZy9zdWJzZXF1ZW50IG1vbnRoIGNlbGxzIGluIHRoZSBDYWxlbmRhci5cbi8vLyBAZ3JvdXAgc2NoZWR1bGVyXG4ka2VuZG8tc2NoZWR1bGVyLW90aGVybW9udGgtdGV4dDogbnVsbCAhZGVmYXVsdDtcblxuLy8vIFRoZSBob3Jpem9udGFsIHBhZGRpbmcgb2YgdGhlIHllYXIgdmlldyBpbiB0aGUgU2NoZWR1bGVyLlxuLy8vIEBncm91cCBzY2hlZHVsZXJcbiRrZW5kby1zY2hlZHVsZXIteWVhcnZpZXctcGFkZGluZy14OiBrLXNwYWNpbmcoMykgIWRlZmF1bHQ7XG4vLy8gVGhlIHZlcnRpY2FsIHBhZGRpbmcgb2YgdGhlIHllYXIgdmlldyBpbiB0aGUgU2NoZWR1bGVyLlxuLy8vIEBncm91cCBzY2hlZHVsZXJcbiRrZW5kby1zY2hlZHVsZXIteWVhcnZpZXctcGFkZGluZy15OiAka2VuZG8tc2NoZWR1bGVyLXllYXJ2aWV3LXBhZGRpbmcteCAhZGVmYXVsdDtcblxuLy8vIFRoZSBzcGFjaW5nIGJldHdlZW4gdGhlIGNhbGVuZGFycyBvZiB0aGUgeWVhciB2aWV3IGluIHRoZSBTY2hlZHVsZXIuXG4vLy8gQGdyb3VwIHNjaGVkdWxlclxuJGtlbmRvLXNjaGVkdWxlci15ZWFydmlldy1jYWxlbmRhci1nYXA6IGstc3BhY2luZygzKSAhZGVmYXVsdDtcblxuLy8vIFRoZSBkYXlzIHdpdGggZXZlbnRzIGluZGljYXRvciBzaXplIG9mIHRoZSB5ZWFyIHZpZXcgaW4gdGhlIFNjaGVkdWxlci5cbi8vLyBAZ3JvdXAgc2NoZWR1bGVyXG4ka2VuZG8tc2NoZWR1bGVyLXllYXJ2aWV3LWluZGljYXRvci1zaXplOiAzcHggIWRlZmF1bHQ7XG4vLy8gVGhlIHRvcCBwb3NpdGlvbiBvZiB0aGUgZGF5cyB3aXRoIGV2ZW50cyBpbmRpY2F0b3Igb2YgdGhlIHllYXIgdmlldyBpbiB0aGUgU2NoZWR1bGVyLlxuLy8vIEBncm91cCBzY2hlZHVsZXJcbiRrZW5kby1zY2hlZHVsZXIteWVhcnZpZXctaW5kaWNhdG9yLWNhbGMtb2Zmc2V0LXRvcDogY2FsYyggI3ska2VuZG8tY2FsZW5kYXItY2VsbC1zaXplfSAtICgjeyRrZW5kby1jYWxlbmRhci1jZWxsLXBhZGRpbmcteX0gKiAyKSApICFkZWZhdWx0O1xuLy8vIFRoZSBsZWZ0IHBvc2l0aW9uIG9mIHRoZSBkYXlzIHdpdGggZXZlbnRzIGluZGljYXRvciBvZiB0aGUgeWVhciB2aWV3IGluIHRoZSBTY2hlZHVsZXIuXG4vLy8gQGdyb3VwIHNjaGVkdWxlclxuJGtlbmRvLXNjaGVkdWxlci15ZWFydmlldy1pbmRpY2F0b3ItY2FsYy1vZmZzZXQtbGVmdDogY2FsYyggNTAlIC0gKCN7JGtlbmRvLXNjaGVkdWxlci15ZWFydmlldy1pbmRpY2F0b3Itc2l6ZX0gLyAyKSApICFkZWZhdWx0O1xuLy8vIFRoZSBib3JkZXIgcmFkaXVzIG9mIHRoZSBkYXlzIHdpdGggZXZlbnRzIGluZGljYXRvciBvZiB0aGUgeWVhciB2aWV3IGluIHRoZSBTY2hlZHVsZXIuXG4vLy8gQGdyb3VwIHNjaGVkdWxlclxuJGtlbmRvLXNjaGVkdWxlci15ZWFydmlldy1pbmRpY2F0b3ItYm9yZGVyLXJhZGl1czogNTAlICFkZWZhdWx0O1xuLy8vIFRoZSBiYWNrZ3JvdW5kIGNvbG9yIG9mIHRoZSBkYXlzIHdpdGggZXZlbnRzIGluZGljYXRvciBvZiB0aGUgeWVhciB2aWV3IGluIHRoZSBTY2hlZHVsZXIuXG4vLy8gQGdyb3VwIHNjaGVkdWxlclxuJGtlbmRvLXNjaGVkdWxlci15ZWFydmlldy1pbmRpY2F0b3ItYmc6IGlmKCRrZW5kby1lbmFibGUtY29sb3Itc3lzdGVtLCBrLWNvbG9yKCBwcmltYXJ5ICksIGstZ2V0LXRoZW1lLWNvbG9yLXZhciggcHJpbWFyeS0xMDAgKSkgIWRlZmF1bHQ7XG4vLy8gVGhlIGJhY2tncm91bmQgY29sb3Igb2YgdGhlIHNlbGVjdGVkIGRheXMgd2l0aCBldmVudHMgaW5kaWNhdG9yIG9mIHRoZSB5ZWFyIHZpZXcgaW4gdGhlIFNjaGVkdWxlci5cbi8vLyBAZ3JvdXAgc2NoZWR1bGVyXG4ka2VuZG8tc2NoZWR1bGVyLXllYXJ2aWV3LWluZGljYXRvci1zZWxlY3RlZC1iZzogaWYoJGtlbmRvLWVuYWJsZS1jb2xvci1zeXN0ZW0sIGstY29sb3IoIGFwcC1zdXJmYWNlICksICRrZW5kby1jb2xvci13aGl0ZSkgIWRlZmF1bHQ7XG5cbi8vLyBUaGUgaG9yaXpvbnRhbCBwYWRkaW5nIG9mIHRoZSBTY2hlZHVsZXIgVG9vbHRpcC5cbi8vLyBAZ3JvdXAgc2NoZWR1bGVyXG4ka2VuZG8tc2NoZWR1bGVyLXRvb2x0aXAtcGFkZGluZy14OiBrLXNwYWNpbmcoMikgIWRlZmF1bHQ7XG4vLy8gVGhlIHZlcnRpY2FsIHBhZGRpbmcgb2YgdGhlIFNjaGVkdWxlciBUb29sdGlwLlxuLy8vIEBncm91cCBzY2hlZHVsZXJcbiRrZW5kby1zY2hlZHVsZXItdG9vbHRpcC1wYWRkaW5nLXk6ICRrZW5kby1zY2hlZHVsZXItdG9vbHRpcC1wYWRkaW5nLXggIWRlZmF1bHQ7XG4vLy8gVGhlIHdpZHRoIG9mIHRoZSBib3JkZXIgb2YgdGhlIFNjaGVkdWxlciBUb29sdGlwLlxuLy8vIEBncm91cCBzY2hlZHVsZXJcbiRrZW5kby1zY2hlZHVsZXItdG9vbHRpcC1ib3JkZXItd2lkdGg6IDAgIWRlZmF1bHQ7XG4vLy8gVGhlIGJhY2tncm91bmQgY29sb3Igb2YgdGhlIFNjaGVkdWxlciBUb29sdGlwLlxuLy8vIEBncm91cCBzY2hlZHVsZXJcbiRrZW5kby1zY2hlZHVsZXItdG9vbHRpcC1iZzogaWYoJGtlbmRvLWVuYWJsZS1jb2xvci1zeXN0ZW0sIGstY29sb3IoIGFwcC1zdXJmYWNlICksICRrZW5kby1jb2xvci13aGl0ZSkgIWRlZmF1bHQ7XG4vLy8gVGhlIHRleHQgY29sb3Igb2YgdGhlIFNjaGVkdWxlciBUb29sdGlwLlxuLy8vIEBncm91cCBzY2hlZHVsZXJcbiRrZW5kby1zY2hlZHVsZXItdG9vbHRpcC10ZXh0OiBpZigka2VuZG8tZW5hYmxlLWNvbG9yLXN5c3RlbSwgay1jb2xvciggc3VidGxlICksIGstZ2V0LXRoZW1lLWNvbG9yLXZhciggbmV1dHJhbC0xMzAgKSkgIWRlZmF1bHQ7XG4vLy8gVGhlIGJvcmRlciBjb2xvciBvZiB0aGUgU2NoZWR1bGVyIFRvb2x0aXAuXG4vLy8gQGdyb3VwIHNjaGVkdWxlclxuJGtlbmRvLXNjaGVkdWxlci10b29sdGlwLWJvcmRlcjogbnVsbCAhZGVmYXVsdDtcbi8vLyBUaGUgc2hhZG93IG9mIHRoZSBTY2hlZHVsZXIgVG9vbHRpcC5cbi8vLyBAZ3JvdXAgc2NoZWR1bGVyXG4ka2VuZG8tc2NoZWR1bGVyLXRvb2x0aXAtc2hhZG93OiBrLWVsZXZhdGlvbig1KSAhZGVmYXVsdDtcblxuLy8vIFRoZSB2ZXJ0aWNhbCBtYXJnaW4gb2YgdGhlIFNjaGVkdWxlciBUb29sdGlwIHRpdGxlLlxuLy8vIEBncm91cCBzY2hlZHVsZXJcbiRrZW5kby1zY2hlZHVsZXItdG9vbHRpcC10aXRsZS1tYXJnaW4teTogay1zcGFjaW5nKDMpICFkZWZhdWx0O1xuLy8vIFRoZSBmb250IHNpemUgb2YgdGhlIG1vbnRoIGluc2lkZSB0aGUgU2NoZWR1bGVyIFRvb2x0aXAuXG4vLy8gQGdyb3VwIHNjaGVkdWxlclxuJGtlbmRvLXNjaGVkdWxlci10b29sdGlwLW1vbnRoLWZvbnQtc2l6ZTogdmFyKCAtLWtlbmRvLWZvbnQtc2l6ZS1zbSwgaW5oZXJpdCApICFkZWZhdWx0O1xuLy8vIFRoZSBmb250IHNpemUgb2YgdGhlIGRheSBpbnNpZGUgdGhlIFNjaGVkdWxlciBUb29sdGlwLlxuLy8vIEBncm91cCBzY2hlZHVsZXJcbiRrZW5kby1zY2hlZHVsZXItdG9vbHRpcC1kYXktZm9udC1zaXplOiBjYWxjKCB2YXIoIC0ta2VuZG8tZm9udC1zaXplLXNtLCAuNzVyZW0gKSAqIDIgKSAhZGVmYXVsdDtcblxuLy8vIFRoZSBtYXggaGVpZ2h0IG9mIHRoZSBldmVudHMgaW5zaWRlIHRoZSBTY2hlZHVsZXIgVG9vbHRpcC5cbi8vLyBAZ3JvdXAgc2NoZWR1bGVyXG4ka2VuZG8tc2NoZWR1bGVyLXRvb2x0aXAtZXZlbnRzLW1heC1oZWlnaHQ6IDI1MHB4ICFkZWZhdWx0O1xuLy8vIFRoZSBzcGFjaW5nIGJldHdlZW4gdGhlIGV2ZW50cyBpbnNpZGUgdGhlIFNjaGVkdWxlciBUb29sdGlwLlxuLy8vIEBncm91cCBzY2hlZHVsZXJcbiRrZW5kby1zY2hlZHVsZXItdG9vbHRpcC1ldmVudHMtZ2FwOiBrLXNwYWNpbmcoMikgIWRlZmF1bHQ7XG5cbi8vLyBUaGUgaG9yaXpvbnRhbCBwYWRkaW5nIG9mIHRoZSBldmVudHMgaW5zaWRlIHRoZSBTY2hlZHVsZXIgVG9vbHRpcC5cbi8vLyBAZ3JvdXAgc2NoZWR1bGVyXG4ka2VuZG8tc2NoZWR1bGVyLXRvb2x0aXAtZXZlbnQtcGFkZGluZy14OiAka2VuZG8tc2NoZWR1bGVyLWV2ZW50LXBhZGRpbmcteCAhZGVmYXVsdDtcbi8vLyBUaGUgdmVydGljYWwgcGFkZGluZyBvZiB0aGUgZXZlbnRzIGluc2lkZSB0aGUgU2NoZWR1bGVyIFRvb2x0aXAuXG4vLy8gQGdyb3VwIHNjaGVkdWxlclxuJGtlbmRvLXNjaGVkdWxlci10b29sdGlwLWV2ZW50LXBhZGRpbmcteTogJGtlbmRvLXNjaGVkdWxlci1ldmVudC1wYWRkaW5nLXkgIWRlZmF1bHQ7XG4vLy8gVGhlIGJvcmRlciByYWRpdXMgb2YgdGhlIGV2ZW50cyBpbnNpZGUgdGhlIFNjaGVkdWxlciBUb29sdGlwLlxuLy8vIEBncm91cCBzY2hlZHVsZXJcbiRrZW5kby1zY2hlZHVsZXItdG9vbHRpcC1ldmVudC1ib3JkZXItcmFkaXVzOiAka2VuZG8tc2NoZWR1bGVyLWV2ZW50LWJvcmRlci1yYWRpdXMgIWRlZmF1bHQ7XG4vLy8gVGhlIHNwYWNpbmcgYmV0d2VlbiB0aGUgZXZlbnRzIGl0ZW1zIGluc2lkZSB0aGUgU2NoZWR1bGVyIFRvb2x0aXAuXG4vLy8gQGdyb3VwIHNjaGVkdWxlclxuJGtlbmRvLXNjaGVkdWxlci10b29sdGlwLWV2ZW50LWdhcDogay1zcGFjaW5nKDAuNSkgIWRlZmF1bHQ7XG5cbi8vLyBUaGUgY29sb3Igb2YgdGhlIFNjaGVkdWxlciBUb29sdGlwIGNhbGxvdXQuXG4vLy8gQGdyb3VwIHNjaGVkdWxlclxuJGtlbmRvLXNjaGVkdWxlci10b29sdGlwLWNhbGxvdXQtY29sb3I6ICRrZW5kby1zY2hlZHVsZXItdG9vbHRpcC1iZyAhZGVmYXVsdDtcblxuLy8vIFRoZSB3aWR0aCBvZiB0aGUgU2NoZWR1bGVyIHJlc2l6ZSBoYW5kbGUuXG4vLy8gQGdyb3VwIHNjaGVkdWxlclxuJGtlbmRvLXNjaGVkdWxlci1yZXNpemUtaGFuZGxlLXdpZHRoOiAyZW0gIWRlZmF1bHQ7XG5cbi8vLyBUaGUgaGVpZ2h0IG9mIHRoZSBTY2hlZHVsZXIgbW9yZSBldmVudHMgYnV0dG9uLlxuLy8vIEBncm91cCBzY2hlZHVsZXJcbiRrZW5kby1zY2hlZHVsZXItbW9yZS1idG4taGVpZ2h0OiAxM3B4ICFkZWZhdWx0O1xuXG4vLy8gVGhlIGNvbG9yIG9mIHRoZSBTY2hlZHVsZXIgbWFycXVlZS5cbi8vLyBAZ3JvdXAgc2NoZWR1bGVyXG4ka2VuZG8tc2NoZWR1bGVyLW1hcnF1ZWUtY29sb3I6IGlmKCRrZW5kby1lbmFibGUtY29sb3Itc3lzdGVtLCBrLWNvbG9yKCBwcmltYXJ5ICksIGstZ2V0LXRoZW1lLWNvbG9yLXZhciggcHJpbWFyeS0xMDAgKSkgIWRlZmF1bHQ7XG4iLCJAdXNlIFwiLi4vY29yZS9faW5kZXguc2Nzc1wiIGFzICo7XG5AdXNlIFwiLi9fdmFyaWFibGVzLnNjc3NcIiBhcyAqO1xuXG5AbWl4aW4ga2VuZG8tc2NoZWR1bGVyLS10aGVtZSgpIHtcblxuICAgIC5rLXNjaGVkdWxlciB7XG4gICAgICAgIEBpbmNsdWRlIGZpbGwoXG4gICAgICAgICAgICB2YXIoIC0ta2VuZG8tc2NoZWR1bGVyLXRleHQsICN7JGtlbmRvLXNjaGVkdWxlci10ZXh0fSApLFxuICAgICAgICAgICAgdmFyKCAtLWtlbmRvLXNjaGVkdWxlci1iZywgI3ska2VuZG8tc2NoZWR1bGVyLWJnfSApLFxuICAgICAgICAgICAgdmFyKCAtLWtlbmRvLXNjaGVkdWxlci1ib3JkZXIsICN7JGtlbmRvLXNjaGVkdWxlci1ib3JkZXJ9IClcbiAgICAgICAgKTtcbiAgICB9XG5cbiAgICAvLyBIZWFkZXIgYW5kIGZvb3RlclxuICAgIC5rLXNjaGVkdWxlci10b29sYmFyIHtcbiAgICAgICAgQGluY2x1ZGUgZmlsbChcbiAgICAgICAgICAgIHZhciggLS1rZW5kby1zY2hlZHVsZXItdG9vbGJhci10ZXh0LCAjeyRrZW5kby1zY2hlZHVsZXItdG9vbGJhci10ZXh0fSApLFxuICAgICAgICAgICAgdmFyKCAtLWtlbmRvLXNjaGVkdWxlci10b29sYmFyLWJnLCAjeyRrZW5kby1zY2hlZHVsZXItdG9vbGJhci1iZ30gKSxcbiAgICAgICAgICAgIHZhciggLS1rZW5kby1zY2hlZHVsZXItdG9vbGJhci1ib3JkZXIsICN7JGtlbmRvLXNjaGVkdWxlci10b29sYmFyLWJvcmRlcn0gKSxcbiAgICAgICAgICAgIHZhciggLS1rZW5kby1zY2hlZHVsZXItdG9vbGJhci1ncmFkaWVudCwgI3ska2VuZG8tc2NoZWR1bGVyLXRvb2xiYXItZ3JhZGllbnR9IClcbiAgICAgICAgKTtcbiAgICB9XG4gICAgLmstc2NoZWR1bGVyLWZvb3RlciB7XG4gICAgICAgIEBpbmNsdWRlIGZpbGwoXG4gICAgICAgICAgICB2YXIoIC0ta2VuZG8tc2NoZWR1bGVyLWZvb3Rlci10ZXh0LCAjeyRrZW5kby1zY2hlZHVsZXItZm9vdGVyLXRleHR9ICksXG4gICAgICAgICAgICB2YXIoIC0ta2VuZG8tc2NoZWR1bGVyLWZvb3Rlci1iZywgI3ska2VuZG8tc2NoZWR1bGVyLWZvb3Rlci1iZ30gKSxcbiAgICAgICAgICAgIHZhciggLS1rZW5kby1zY2hlZHVsZXItZm9vdGVyLWJvcmRlciwgI3ska2VuZG8tc2NoZWR1bGVyLWZvb3Rlci1ib3JkZXJ9ICksXG4gICAgICAgICAgICB2YXIoIC0ta2VuZG8tc2NoZWR1bGVyLWZvb3Rlci1ncmFkaWVudCwgI3ska2VuZG8tc2NoZWR1bGVyLWZvb3Rlci1ncmFkaWVudH0gKVxuICAgICAgICApO1xuICAgIH1cblxuICAgIC5rLXNjaGVkdWxlci1oZWFkZXIge1xuICAgICAgIGJhY2tncm91bmQtY29sb3I6IHZhciggLS1rZW5kby1zY2hlZHVsZXItdG9vbGJhci1iZywgI3ska2VuZG8tc2NoZWR1bGVyLXRvb2xiYXItYmd9ICk7XG4gICAgfVxuXG4gICAgLmstc2NoZWR1bGVyLWhlYWRlci13cmFwIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKCAtLWtlbmRvLXNjaGVkdWxlci1iZywgI3ska2VuZG8tc2NoZWR1bGVyLWJnfSApO1xuICAgIH1cblxuXG4gICAgLy8gU2NoZWR1bGVyIG5hdmlnYXRpb25cbiAgICAuay1zY2hlZHVsZXItbmF2aWdhdGlvbiB7fVxuXG5cbiAgICAvLyBWaWV3IHN3aXRjaGVyXG4gICAgLmstc2NoZWR1bGVyLXZpZXdzIHt9XG5cblxuICAgIC8vIFNjaGVkdWxlciBmb290ZXJcbiAgICAuay1zY2hlZHVsZXItZm9vdGVyIHt9XG5cblxuICAgIC8vIFNjaGVkdWxlciBjb250ZW50XG4gICAgLmstc2NoZWR1bGVyLWNvbnRlbnQge31cblxuICAgIC5rLXNjaGVkdWxlci1ub253b3JrLFxuICAgIC5rLXNjaGVkdWxlciAuay1ub253b3JrLWhvdXIge1xuICAgICAgICBAaW5jbHVkZSBmaWxsKFxuICAgICAgICAgICAgdmFyKCAtLWtlbmRvLXNjaGVkdWxlci1ub253b3JrLXRleHQsICN7JGtlbmRvLXNjaGVkdWxlci1ub253b3JrLXRleHR9ICksXG4gICAgICAgICAgICB2YXIoIC0ta2VuZG8tc2NoZWR1bGVyLW5vbndvcmstYmcsICN7JGtlbmRvLXNjaGVkdWxlci1ub253b3JrLWJnfSApXG4gICAgICAgICk7XG4gICAgfVxuXG4gICAgLmstc2NoZWR1bGVyLW90aGVyLW1vbnRoLFxuICAgIC5rLXNjaGVkdWxlciAuay1vdGhlci1tb250aCB7XG4gICAgICAgIEBpbmNsdWRlIGZpbGwoXG4gICAgICAgICAgICB2YXIoIC0ta2VuZG8tc2NoZWR1bGVyLW90aGVybW9udGgtdGV4dCwgI3ska2VuZG8tc2NoZWR1bGVyLW90aGVybW9udGgtdGV4dH0gKSxcbiAgICAgICAgICAgIHZhciggLS1rZW5kby1zY2hlZHVsZXItb3RoZXJtb250aC1iZywgI3ska2VuZG8tc2NoZWR1bGVyLW90aGVybW9udGgtYmd9IClcbiAgICAgICAgKTtcbiAgICB9XG5cbiAgICAuay1zY2hlZHVsZXItbGF5b3V0IHRkLmstc2VsZWN0ZWQsXG4gICAgLmstc2NoZWR1bGVyLWxheW91dCAuay1zY2hlZHVsZXItY2VsbC5rLXNlbGVjdGVkIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKCAtLWtlbmRvLXNlbGVjdGVkLWJnLCAjeyRrZW5kby1zZWxlY3RlZC1iZ30gKTtcbiAgICB9XG5cbiAgICAuay1zY2hlZHVsZXItbGF5b3V0LWZsZXgge1xuICAgICAgICAuay1zY2hlZHVsZXItaGVhZCxcbiAgICAgICAgLmstc3RpY2t5LWNlbGwge1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKCAtLWtlbmRvLXNjaGVkdWxlci1iZywgI3ska2VuZG8tc2NoZWR1bGVyLWJnfSApO1xuICAgICAgICB9XG4gICAgfVxuXG5cbiAgICAvLyBFdmVudHNcbiAgICAuay1ldmVudCB7XG4gICAgICAgIEBpbmNsdWRlIGZpbGwoXG4gICAgICAgICAgICB2YXIoIC0ta2VuZG8tc2NoZWR1bGVyLWV2ZW50LXRleHQsICN7JGtlbmRvLXNjaGVkdWxlci1ldmVudC10ZXh0fSApLFxuICAgICAgICAgICAgdmFyKCAtLWtlbmRvLXNjaGVkdWxlci1ldmVudC1iZywgI3ska2VuZG8tc2NoZWR1bGVyLWV2ZW50LWJnfSApLFxuICAgICAgICAgICAgdmFyKCAtLWtlbmRvLXNjaGVkdWxlci1ldmVudC1ib3JkZXIsICN7JGtlbmRvLXNjaGVkdWxlci1ldmVudC1ib3JkZXJ9ICksXG4gICAgICAgICAgICB2YXIoIC0ta2VuZG8tc2NoZWR1bGVyLWV2ZW50LWdyYWRpZW50LCAjeyRrZW5kby1zY2hlZHVsZXItZXZlbnQtZ3JhZGllbnR9IClcbiAgICAgICAgKTtcbiAgICAgICAgQGluY2x1ZGUgYm94LXNoYWRvdyggdmFyKCAtLWtlbmRvLXNjaGVkdWxlci1ldmVudC1zaGFkb3csICN7JGtlbmRvLXNjaGVkdWxlci1ldmVudC1zaGFkb3d9ICkgKTtcblxuICAgICAgICAmLmstaG92ZXIge1xuICAgICAgICAgICAgQGluY2x1ZGUgZmlsbChcbiAgICAgICAgICAgICAgICB2YXIoIC0ta2VuZG8tc2NoZWR1bGVyLWV2ZW50LWhvdmVyLXRleHQsICN7JGtlbmRvLXNjaGVkdWxlci1ldmVudC1ob3Zlci10ZXh0fSApLFxuICAgICAgICAgICAgICAgIHZhciggLS1rZW5kby1zY2hlZHVsZXItZXZlbnQtaG92ZXItYmcsICN7JGtlbmRvLXNjaGVkdWxlci1ldmVudC1ob3Zlci1iZ30gKSxcbiAgICAgICAgICAgICAgICB2YXIoIC0ta2VuZG8tc2NoZWR1bGVyLWV2ZW50LWhvdmVyLWJvcmRlciwgI3ska2VuZG8tc2NoZWR1bGVyLWV2ZW50LWhvdmVyLWJvcmRlcn0gKSxcbiAgICAgICAgICAgICAgICB2YXIoIC0ta2VuZG8tc2NoZWR1bGVyLWV2ZW50LWhvdmVyLWdyYWRpZW50LCAjeyRrZW5kby1zY2hlZHVsZXItZXZlbnQtaG92ZXItZ3JhZGllbnR9IClcbiAgICAgICAgICAgICk7XG4gICAgICAgICAgICBAaW5jbHVkZSBib3gtc2hhZG93KCB2YXIoIC0ta2VuZG8tc2NoZWR1bGVyLWV2ZW50LWhvdmVyLXNoYWRvdywgI3ska2VuZG8tc2NoZWR1bGVyLWV2ZW50LWhvdmVyLXNoYWRvd30gKSApO1xuICAgICAgICB9XG5cbiAgICAgICAgJi5rLXNlbGVjdGVkIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGZpbGwoXG4gICAgICAgICAgICAgICAgdmFyKCAtLWtlbmRvLXNjaGVkdWxlci1ldmVudC1zZWxlY3RlZC10ZXh0LCAjeyRrZW5kby1zY2hlZHVsZXItZXZlbnQtc2VsZWN0ZWQtdGV4dH0gKSxcbiAgICAgICAgICAgICAgICB2YXIoIC0ta2VuZG8tc2NoZWR1bGVyLWV2ZW50LXNlbGVjdGVkLWJnLCAjeyRrZW5kby1zY2hlZHVsZXItZXZlbnQtc2VsZWN0ZWQtYmd9ICksXG4gICAgICAgICAgICAgICAgdmFyKCAtLWtlbmRvLXNjaGVkdWxlci1ldmVudC1zZWxlY3RlZC1ib3JkZXIsICN7JGtlbmRvLXNjaGVkdWxlci1ldmVudC1zZWxlY3RlZC1ib3JkZXJ9ICksXG4gICAgICAgICAgICAgICAgdmFyKCAtLWtlbmRvLXNjaGVkdWxlci1ldmVudC1zZWxlY3RlZC1ncmFkaWVudCwgI3ska2VuZG8tc2NoZWR1bGVyLWV2ZW50LXNlbGVjdGVkLWdyYWRpZW50fSApXG4gICAgICAgICAgICApO1xuICAgICAgICAgICAgQGluY2x1ZGUgYm94LXNoYWRvdyggdmFyKCAtLWtlbmRvLXNjaGVkdWxlci1ldmVudC1zZWxlY3RlZC1zaGFkb3csICN7JGtlbmRvLXNjaGVkdWxlci1ldmVudC1zZWxlY3RlZC1zaGFkb3d9ICkgKTtcbiAgICAgICAgfVxuXG4gICAgICAgICYuay1ldmVudC1vbmdvaW5nIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGJveC1zaGFkb3coIHZhciggLS1rZW5kby1zY2hlZHVsZXItZXZlbnQtb25nb2luZy1zaGFkb3csICN7JGtlbmRvLXNjaGVkdWxlci1ldmVudC1vbmdvaW5nLXNoYWRvd30gKSApO1xuICAgICAgICB9XG5cbiAgICB9XG5cbiAgIC8vIC5rLWV2ZW50LWludmVyc2Uge1xuICAgLy8gICAgIGNvbG9yOiBrLWNvbnRyYXN0LWxlZ2FjeSggJGtlbmRvLXNjaGVkdWxlci1ldmVudC10ZXh0ICk7XG4gICAvLyB9XG5cbiAgICAvLyBEcmFnIGhpbnRcbiAgICAuay1ldmVudC1kcmFnLWhpbnQge31cblxuXG4gICAgLy8gUmVzaXppbmdcbiAgICAuay1zY2hlZHVsZXItbWFycXVlZSB7fVxuICAgIC5rLXNjaGVkdWxlci1tYXJxdWVlOjpiZWZvcmUsXG4gICAgLmstc2NoZWR1bGVyLW1hcnF1ZWU6OmFmdGVyIHtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiB2YXIoIC0ta2VuZG8tc2NoZWR1bGVyLW1hcnF1ZWUtY29sb3IsICN7JGtlbmRvLXNjaGVkdWxlci1tYXJxdWVlLWNvbG9yfSApO1xuICAgIH1cblxuICAgIC8vIEVkaXQgZGlhbG9nXG4gICAgLmstc2NoZWR1bGVyLWVkaXQtZGlhbG9nIHtcbiAgICAgICAgLmstZGlhbG9nLWFjdGlvbnMge1xuICAgICAgICAgICAgYm9yZGVyLWNvbG9yOiB2YXIoIC0ta2VuZG8tc2NoZWR1bGVyLWJvcmRlciwgI3ska2VuZG8tc2NoZWR1bGVyLWJvcmRlcn0gKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8vIERheSB2aWV3XG4gICAgLmstc2NoZWR1bGVyLWRheXZpZXcge31cblxuXG4gICAgLy8gV29ya3dlZWsgdmlld1xuICAgIC5rLXNjaGVkdWxlci13b3JrV2Vla3ZpZXcge30gLy8gc3R5bGVsaW50LWRpc2FibGUtbGluZVxuXG5cbiAgICAvLyBXZWVrIHZpZXdcbiAgICAuay1zY2hlZHVsZXItd2Vla3ZpZXcge31cblxuXG4gICAgLy8gTW9udGggdmlld1xuICAgIC5rLXNjaGVkdWxlci1tb250aHZpZXcge31cblxuXG4gICAgLy8gQWdlbmRhIHZpZXdcbiAgICAuay1zY2hlZHVsZXItYWdlbmRhdmlldyB7XG5cbiAgICAgICAgLy8gSG92ZXJcbiAgICAgICAgLmstc2NoZWR1bGVyLWNvbnRlbnQgdHI6aG92ZXIsXG4gICAgICAgIC5rLXNjaGVkdWxlci1jb250ZW50IHRyLmstaG92ZXIsXG4gICAgICAgIC5rLXNjaGVkdWxlci1jb250ZW50IC5rLXNjaGVkdWxlci1yb3c6aG92ZXIsXG4gICAgICAgIC5rLXNjaGVkdWxlci1jb250ZW50IC5rLXNjaGVkdWxlci1yb3cuay1ob3ZlciB7XG4gICAgICAgICAgICBAaW5jbHVkZSBmaWxsKFxuICAgICAgICAgICAgICAgIHZhciggLS1rZW5kby1ob3Zlci10ZXh0LCAjeyRrZW5kby1ob3Zlci10ZXh0fSApLFxuICAgICAgICAgICAgICAgIHZhciggLS1rZW5kby1ob3Zlci1iZywgI3ska2VuZG8taG92ZXItYmd9ICksXG4gICAgICAgICAgICAgICAgdmFyKCAtLWtlbmRvLWhvdmVyLWJvcmRlciwgI3ska2VuZG8taG92ZXItYm9yZGVyfSApXG4gICAgICAgICAgICApO1xuICAgICAgICB9XG5cbiAgICAgICAgLmstc2NoZWR1bGVyLWNvbnRlbnQgdHI6aG92ZXIgLmstc2NoZWR1bGVyLWRhdGVjb2x1bW4sXG4gICAgICAgIC5rLXNjaGVkdWxlci1jb250ZW50IHRyOmhvdmVyIC5rLXNjaGVkdWxlci1ncm91cGNvbHVtbixcbiAgICAgICAgLmstc2NoZWR1bGVyLWNvbnRlbnQgdHIuay1ob3ZlciAuay1zY2hlZHVsZXItZGF0ZWNvbHVtbixcbiAgICAgICAgLmstc2NoZWR1bGVyLWNvbnRlbnQgdHIuay1ob3ZlciAuay1zY2hlZHVsZXItZ3JvdXBjb2x1bW4ge1xuICAgICAgICAgICAgQGluY2x1ZGUgZmlsbChcbiAgICAgICAgICAgICAgICB2YXIoIC0ta2VuZG8tc2NoZWR1bGVyLXRleHQsICN7JGtlbmRvLXNjaGVkdWxlci10ZXh0fSApLFxuICAgICAgICAgICAgICAgIHZhciggLS1rZW5kby1zY2hlZHVsZXItYmcsICN7JGtlbmRvLXNjaGVkdWxlci1iZ30gKSxcbiAgICAgICAgICAgICAgICB2YXIoIC0ta2VuZG8tc2NoZWR1bGVyLWJvcmRlciwgI3ska2VuZG8tc2NoZWR1bGVyLWJvcmRlcn0gKVxuICAgICAgICAgICAgKTtcbiAgICAgICAgfVxuXG4gICAgICAgIC8vIFNlbGVjdGVkXG4gICAgICAgIC5rLXNjaGVkdWxlci1jb250ZW50IHRyLmstc2VsZWN0ZWQge1xuICAgICAgICAgICAgQGluY2x1ZGUgZmlsbChcbiAgICAgICAgICAgICAgICB2YXIoIC0ta2VuZG8tc2NoZWR1bGVyLXNlbGVjdGVkLXRleHQsICN7JGtlbmRvLXNjaGVkdWxlci1zZWxlY3RlZC10ZXh0fSApLFxuICAgICAgICAgICAgICAgIHZhciggLS1rZW5kby1zY2hlZHVsZXItc2VsZWN0ZWQtYmcsICN7JGtlbmRvLXNjaGVkdWxlci1zZWxlY3RlZC1iZ30gKSxcbiAgICAgICAgICAgICAgICB2YXIoIC0ta2VuZG8tc2NoZWR1bGVyLXNlbGVjdGVkLWJvcmRlciwgI3ska2VuZG8tc2NoZWR1bGVyLXNlbGVjdGVkLWJvcmRlcn0gKVxuICAgICAgICAgICAgKTtcbiAgICAgICAgfVxuXG4gICAgICAgIC5rLXNjaGVkdWxlci1jb250ZW50IHRyLmstc2VsZWN0ZWQgLmstc2NoZWR1bGVyLWRhdGVjb2x1bW4sXG4gICAgICAgIC5rLXNjaGVkdWxlci1jb250ZW50IHRyLmstc2VsZWN0ZWQgLmstc2NoZWR1bGVyLWdyb3VwY29sdW1uIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHZhciggLS1rZW5kby1zY2hlZHVsZXItYmcsICN7JGtlbmRvLXNjaGVkdWxlci1iZ30gKTtcbiAgICAgICAgfVxuICAgIH1cblxuXG4gICAgLy8gVGltZWxpbmUgdmlld1xuICAgIC5rLXNjaGVkdWxlci10aW1lbGluZXZpZXcge31cblxuXG4gICAgLy8gWWVhciB2aWV3XG4gICAgLmstc2NoZWR1bGVyLXllYXJ2aWV3IHtcblxuICAgICAgICAuay1kYXktaW5kaWNhdG9yIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGZpbGwoICRiZzogdmFyKCAtLWtlbmRvLXNjaGVkdWxlci15ZWFydmlldy1pbmRpY2F0b3ItYmcsICN7JGtlbmRvLXNjaGVkdWxlci15ZWFydmlldy1pbmRpY2F0b3ItYmd9ICkgKTtcbiAgICAgICAgfVxuXG4gICAgICAgIC5rLXNlbGVjdGVkIC5rLWRheS1pbmRpY2F0b3Ige1xuICAgICAgICAgICAgQGluY2x1ZGUgZmlsbCggJGJnOiB2YXIoIC0ta2VuZG8tc2NoZWR1bGVyLXllYXJ2aWV3LWluZGljYXRvci1zZWxlY3RlZC1iZywgI3ska2VuZG8tc2NoZWR1bGVyLXllYXJ2aWV3LWluZGljYXRvci1zZWxlY3RlZC1iZ30gKSApO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLmstdG9vbHRpcC5rLXNjaGVkdWxlci10b29sdGlwIHtcbiAgICAgICAgQGluY2x1ZGUgZmlsbChcbiAgICAgICAgICAgIHZhciggLS1rZW5kby1zY2hlZHVsZXItdG9vbHRpcC10ZXh0LCAjeyRrZW5kby1zY2hlZHVsZXItdG9vbHRpcC10ZXh0fSApLFxuICAgICAgICAgICAgdmFyKCAtLWtlbmRvLXNjaGVkdWxlci10b29sdGlwLWJnLCAjeyRrZW5kby1zY2hlZHVsZXItdG9vbHRpcC1iZ30gKSxcbiAgICAgICAgICAgIHZhciggLS1rZW5kby1zY2hlZHVsZXItdG9vbHRpcC1ib3JkZXIsICN7JGtlbmRvLXNjaGVkdWxlci10b29sdGlwLWJvcmRlcn0gKVxuICAgICAgICApO1xuICAgICAgICBAaW5jbHVkZSBib3gtc2hhZG93KCB2YXIoIC0ta2VuZG8tc2NoZWR1bGVyLXRvb2x0aXAtc2hhZG93LCAjeyRrZW5kby1zY2hlZHVsZXItdG9vbHRpcC1zaGFkb3d9ICkgKTtcblxuICAgICAgICAuay1jYWxsb3V0IHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGZpbGwoICRjb2xvcjogdmFyKCAtLWtlbmRvLXNjaGVkdWxlci10b29sdGlwLWNhbGxvdXQtY29sb3IsICN7JGtlbmRvLXNjaGVkdWxlci10b29sdGlwLWNhbGxvdXQtY29sb3J9ICkgKTtcbiAgICAgICAgfVxuXG4gICAgICAgIC5rLXRvb2x0aXAtdGl0bGUgLmstZGF5IHtcbiAgICAgICAgICAgIGNvbG9yOiBpZigka2VuZG8tZW5hYmxlLWNvbG9yLXN5c3RlbSwgay1jb2xvciggcHJpbWFyeS1lbXBoYXNpcyApLCBrLWdldC10aGVtZS1jb2xvci12YXIoIHByaW1hcnktMTMwICkpO1xuICAgICAgICB9XG4gICAgfVxufVxuIiwiQHVzZSBcInNhc3M6bWF0aFwiO1xuQHVzZSBcIi4uL2NvcmUvX2luZGV4LnNjc3NcIiBhcyAqO1xuQHVzZSBcIi4vX3ZhcmlhYmxlcy5zY3NzXCIgYXMgKjtcblxuQG1peGluIGtlbmRvLWNoYXQtLWxheW91dCgpIHtcbiAgICAuay1jaGF0IHtcbiAgICAgICAgbWFyZ2luOiBhdXRvO1xuICAgICAgICBtYXgtd2lkdGg6IHZhciggLS1rZW5kby1jaGF0LXdpZHRoLCAjeyAka2VuZG8tY2hhdC13aWR0aCB9ICk7XG4gICAgICAgIGhlaWdodDogdmFyKCAtLWtlbmRvLWNoYXQtaGVpZ2h0LCAjeyAka2VuZG8tY2hhdC1oZWlnaHQgfSApO1xuICAgICAgICBtYXgtaGVpZ2h0OiAxMDAlO1xuICAgICAgICBib3JkZXItd2lkdGg6IHZhciggLS1rZW5kby1jaGF0LWJvcmRlci13aWR0aCwgI3sgJGtlbmRvLWNoYXQtYm9yZGVyLXdpZHRoIH0gKTtcbiAgICAgICAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcbiAgICAgICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICAgICAgb3V0bGluZTogMDtcbiAgICAgICAgZm9udC1mYW1pbHk6IHZhciggLS1rZW5kby1jaGF0LWZvbnQtZmFtaWx5LCAjeyAka2VuZG8tY2hhdC1mb250LWZhbWlseSB9ICk7XG4gICAgICAgIGZvbnQtc2l6ZTogdmFyKCAtLWtlbmRvLWNoYXQtZm9udC1zaXplLCAjeyAka2VuZG8tY2hhdC1mb250LXNpemUgfSApO1xuICAgICAgICBsaW5lLWhlaWdodDogdmFyKCAtLWtlbmRvLWNoYXQtbGluZS1oZWlnaHQsICN7ICRrZW5kby1jaGF0LWxpbmUtaGVpZ2h0IH0gKTtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAgICAgLXdlYmtpdC10b3VjaC1jYWxsb3V0OiBub25lO1xuICAgICAgICAtd2Via2l0LXRhcC1oaWdobGlnaHQtY29sb3I6ICRrZW5kby1jb2xvci1yZ2JhLXRyYW5zcGFyZW50O1xuXG5cbiAgICAgICAgLy8gTWVzc2FnZSBsaXN0XG4gICAgICAgIC5rLW1lc3NhZ2UtbGlzdCB7XG4gICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAgZmxleDogMSAxIGF1dG87XG4gICAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgICAgICAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7XG4gICAgICAgICAgICBvdmVyZmxvdy14OiBoaWRkZW47XG4gICAgICAgICAgICBvdmVyZmxvdy15OiBhdXRvO1xuICAgICAgICAgICAgc2Nyb2xsLWJlaGF2aW9yOiBzbW9vdGg7XG4gICAgICAgIH1cbiAgICAgICAgLmstbWVzc2FnZS1saXN0LWNvbnRlbnQge1xuICAgICAgICAgICAgcGFkZGluZy1pbmxpbmU6IHZhciggLS1rZW5kby1jaGF0LW1lc3NhZ2UtbGlzdC1wYWRkaW5nLXgsICN7ICRrZW5kby1jaGF0LW1lc3NhZ2UtbGlzdC1wYWRkaW5nLXggfSApO1xuICAgICAgICAgICAgcGFkZGluZy1ibG9jazogdmFyKCAtLWtlbmRvLWNoYXQtbWVzc2FnZS1saXN0LXBhZGRpbmcteSwgI3sgJGtlbmRvLWNoYXQtbWVzc2FnZS1saXN0LXBhZGRpbmcteSB9ICk7XG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgICAgICBmbGV4OiAwIDAgYXV0bztcbiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgICAgICAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7XG4gICAgICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xuXG4gICAgICAgICAgICA+ICogKyAqIHtcbiAgICAgICAgICAgICAgICBtYXJnaW4tYmxvY2stc3RhcnQ6IHZhciggLS1rZW5kby1jaGF0LW1lc3NhZ2UtbGlzdC1zcGFjaW5nLCAjeyAka2VuZG8tY2hhdC1tZXNzYWdlLWxpc3Qtc3BhY2luZyB9ICk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAvLyBNZXNzYWdlIGdyb3VwXG4gICAgICAgIC5rLW1lc3NhZ2UtZ3JvdXAge1xuICAgICAgICAgICAgbWF4LXdpZHRoOiA4MCU7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiBub25lO1xuICAgICAgICAgICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICBmbGV4LXNocmluazogMDtcbiAgICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIH1cbiAgICAgICAgLmstbWVzc2FnZS1ncm91cDpub3QoLmstYWx0KSB7XG4gICAgICAgICAgICBhbGlnbi1pdGVtczogZmxleC1zdGFydDtcbiAgICAgICAgICAgIHRleHQtYWxpZ246IHN0YXJ0O1xuXG4gICAgICAgICAgICAuay1tZXNzYWdlLXRpbWUge1xuICAgICAgICAgICAgICAgIG1hcmdpbi1pbmxpbmUtc3RhcnQ6IHZhciggLS1rZW5kby1jaGF0LWl0ZW0tc3BhY2luZy14LCAjeyAka2VuZG8tY2hhdC1pdGVtLXNwYWNpbmcteCB9ICk7XG4gICAgICAgICAgICAgICAgaW5zZXQtaW5saW5lLXN0YXJ0OiAxMDAlO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgLmstbWVzc2FnZS1zdGF0dXMge1xuICAgICAgICAgICAgICAgIGluc2V0LWlubGluZS1zdGFydDogMDtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLmstZmlyc3QgLmstY2hhdC1idWJibGUsXG4gICAgICAgICAgICAuay1vbmx5IC5rLWNoYXQtYnViYmxlIHtcbiAgICAgICAgICAgICAgICBib3JkZXItZW5kLXN0YXJ0LXJhZGl1czogdmFyKCAtLWtlbmRvLWNoYXQtYnViYmxlLWJvcmRlci1yYWRpdXMtc20sICN7ICRrZW5kby1jaGF0LWJ1YmJsZS1ib3JkZXItcmFkaXVzLXNtIH0gKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIC5rLW1pZGRsZSAuay1jaGF0LWJ1YmJsZSxcbiAgICAgICAgICAgIC5rLWxhc3QgLmstY2hhdC1idWJibGUge1xuICAgICAgICAgICAgICAgIGJvcmRlci1lbmQtc3RhcnQtcmFkaXVzOiB2YXIoIC0ta2VuZG8tY2hhdC1idWJibGUtYm9yZGVyLXJhZGl1cy1zbSwgI3sgJGtlbmRvLWNoYXQtYnViYmxlLWJvcmRlci1yYWRpdXMtc20gfSApO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIC5rLW1lc3NhZ2UtZ3JvdXAuay1hbHQge1xuICAgICAgICAgICAgYWxpZ24tc2VsZjogZmxleC1lbmQ7XG4gICAgICAgICAgICBhbGlnbi1pdGVtczogZmxleC1lbmQ7XG4gICAgICAgICAgICB0ZXh0LWFsaWduOiBlbmQ7XG5cbiAgICAgICAgICAgIC5rLW1lc3NhZ2UtdGltZSB7XG4gICAgICAgICAgICAgICAgbWFyZ2luLWlubGluZS1lbmQ6IHZhciggLS1rZW5kby1jaGF0LWl0ZW0tc3BhY2luZy14LCAjeyAka2VuZG8tY2hhdC1pdGVtLXNwYWNpbmcteCB9ICk7XG4gICAgICAgICAgICAgICAgaW5zZXQtaW5saW5lLWVuZDogMTAwJTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIC5rLW1lc3NhZ2Utc3RhdHVzIHtcbiAgICAgICAgICAgICAgICBpbnNldC1pbmxpbmUtZW5kOiAwO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAuay1maXJzdCAuay1jaGF0LWJ1YmJsZSxcbiAgICAgICAgICAgIC5rLW9ubHkgLmstY2hhdC1idWJibGUge1xuICAgICAgICAgICAgICAgIGJvcmRlci1lbmQtZW5kLXJhZGl1czogdmFyKCAtLWtlbmRvLWNoYXQtYnViYmxlLWJvcmRlci1yYWRpdXMtc20sICN7ICRrZW5kby1jaGF0LWJ1YmJsZS1ib3JkZXItcmFkaXVzLXNtIH0gKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIC5rLW1pZGRsZSAuay1jaGF0LWJ1YmJsZSxcbiAgICAgICAgICAgIC5rLWxhc3QgLmstY2hhdC1idWJibGUge1xuICAgICAgICAgICAgICAgIGJvcmRlci1lbmQtZW5kLXJhZGl1czogdmFyKCAtLWtlbmRvLWNoYXQtYnViYmxlLWJvcmRlci1yYWRpdXMtc20sICN7ICRrZW5kby1jaGF0LWJ1YmJsZS1ib3JkZXItcmFkaXVzLXNtIH0gKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG5cbiAgICAgICAgLy8gTWVzc2FnZVxuICAgICAgICAuay1tZXNzYWdlIHtcbiAgICAgICAgICAgIG1heC13aWR0aDogMTAwJTtcbiAgICAgICAgICAgIG1hcmdpbjogdmFyKCAtLWtlbmRvLWNoYXQtYnViYmxlLXNwYWNpbmcsICN7ICRrZW5kby1jaGF0LWJ1YmJsZS1zcGFjaW5nIH0gKSAwIDA7XG4gICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgICAgICB0cmFuc2l0aW9uOiBtYXJnaW4gLjJzIGVhc2UtaW4tb3V0O1xuICAgICAgICAgICAgb3V0bGluZTogbm9uZTtcbiAgICAgICAgfVxuXG5cbiAgICAgICAgLy8gTWVzc2FnZSBtZXRhXG4gICAgICAgIC5rLW1lc3NhZ2UtdGltZSxcbiAgICAgICAgLmstbWVzc2FnZS1zdGF0dXMge1xuICAgICAgICAgICAgZm9udC1zaXplOiAka2VuZG8tY2hhdC1tZXNzYWdlLW1ldGEtZm9udC1zaXplO1xuICAgICAgICAgICAgbGluZS1oZWlnaHQ6ICRrZW5kby1jaGF0LW1lc3NhZ2UtbWV0YS1saW5lLWhlaWdodDtcbiAgICAgICAgICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gICAgICAgICAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgfVxuICAgICAgICAuay1tZXNzYWdlLXRpbWUge1xuICAgICAgICAgICAgb3BhY2l0eTogMDtcbiAgICAgICAgICAgIHRvcDogNTAlO1xuICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpO1xuICAgICAgICAgICAgdHJhbnNpdGlvbjogb3BhY2l0eSAuMnMgZWFzZS1pbi1vdXQ7XG4gICAgICAgIH1cbiAgICAgICAgLmstbWVzc2FnZS1zdGF0dXMge1xuICAgICAgICAgICAgbWFyZ2luLWJsb2NrLXN0YXJ0OiB2YXIoIC0ta2VuZG8tY2hhdC1idWJibGUtc3BhY2luZywgI3sgJGtlbmRvLWNoYXQtYnViYmxlLXNwYWNpbmcgfSApO1xuICAgICAgICAgICAgaGVpZ2h0OiAwO1xuICAgICAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAgICAgICAgIHRvcDogMTAwJTtcbiAgICAgICAgICAgIHRyYW5zaXRpb246IGhlaWdodCAuMnMgZWFzZS1pbi1vdXQ7XG4gICAgICAgIH1cblxuXG4gICAgICAgIC8vIEJ1YmJsZVxuICAgICAgICAuay1jaGF0LWJ1YmJsZSB7XG4gICAgICAgICAgICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKCB2YXIoIC0ta2VuZG8tY2hhdC1idWJibGUtYm9yZGVyLXJhZGl1cywgI3sgJGtlbmRvLWNoYXQtYnViYmxlLWJvcmRlci1yYWRpdXMgfSApICk7XG4gICAgICAgICAgICBwYWRkaW5nLWlubGluZTogdmFyKCAtLWtlbmRvLWNoYXQtYnViYmxlLXBhZGRpbmcteCwgI3sgJGtlbmRvLWNoYXQtYnViYmxlLXBhZGRpbmcteCB9ICk7XG4gICAgICAgICAgICBwYWRkaW5nLWJsb2NrOiB2YXIoIC0ta2VuZG8tY2hhdC1idWJibGUtcGFkZGluZy15LCAjeyAka2VuZG8tY2hhdC1idWJibGUtcGFkZGluZy15IH0gKTtcbiAgICAgICAgICAgIGJvcmRlci13aWR0aDogMXB4O1xuICAgICAgICAgICAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiB2YXIoIC0ta2VuZG8tY2hhdC1idWJibGUtbGluZS1oZWlnaHQsICN7ICRrZW5kby1jaGF0LWJ1YmJsZS1saW5lLWhlaWdodCB9ICk7XG4gICAgICAgICAgICB3b3JkLXdyYXA6IGJyZWFrLXdvcmQ7XG4gICAgICAgICAgICB3aGl0ZS1zcGFjZTogcHJlLXdyYXA7XG5cbiAgICAgICAgICAgIGEge1xuICAgICAgICAgICAgICAgIGNvbG9yOiBpbmhlcml0O1xuICAgICAgICAgICAgICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cblxuICAgICAgICAvLyBNZXNzYWdlIHN0YXRlc1xuICAgICAgICAuay1tZXNzYWdlLmstc2VsZWN0ZWQge1xuICAgICAgICAgICAgbWFyZ2luLWJsb2NrLWVuZDogdmFyKCAtLWtlbmRvLWNoYXQtaXRlbS1zcGFjaW5nLXksICN7ICRrZW5kby1jaGF0LWl0ZW0tc3BhY2luZy15IH0gKTtcbiAgICAgICAgICAgIGJvcmRlcjogMDtcbiAgICAgICAgICAgIGNvbG9yOiBpbmhlcml0O1xuICAgICAgICAgICAgYmFja2dyb3VuZDogbm9uZTtcblxuICAgICAgICAgICAgLmstbWVzc2FnZS10aW1lIHsgb3BhY2l0eTogMTsgfVxuICAgICAgICAgICAgLmstbWVzc2FnZS1zdGF0dXMgeyBoZWlnaHQ6IDEuMmVtOyB9XG4gICAgICAgIH1cbiAgICAgICAgLmstbWVzc2FnZS1lcnJvcixcbiAgICAgICAgLmstbWVzc2FnZS1zZW5kaW5nIHtcbiAgICAgICAgICAgIG1hcmdpbi1ibG9jay1lbmQ6IHZhciggLS1rZW5kby1jaGF0LWl0ZW0tc3BhY2luZy15LCAjeyAka2VuZG8tY2hhdC1pdGVtLXNwYWNpbmcteSB9ICk7XG5cbiAgICAgICAgICAgIC5rLW1lc3NhZ2Utc3RhdHVzIHsgaGVpZ2h0OiAxLjJlbTsgfVxuICAgICAgICB9XG5cbiAgICAgICAgLy8gQXZhdGFyXG4gICAgICAgIC5rLWF2YXRhciB7XG4gICAgICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG5cbiAgICAgICAgICAgIEBhdC1yb290IC5rLW1lc3NhZ2UtZ3JvdXA6bm90KC5rLWFsdCkgPiAuay1hdmF0YXIge1xuICAgICAgICAgICAgICAgIGluc2V0LWlubGluZS1zdGFydDogMDtcbiAgICAgICAgICAgICAgICBib3R0b206IDA7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBAYXQtcm9vdCAuay1tZXNzYWdlLWdyb3VwLmstYWx0ID4gLmstYXZhdGFyIHtcbiAgICAgICAgICAgICAgICBpbnNldC1pbmxpbmUtZW5kOiAwO1xuICAgICAgICAgICAgICAgIGJvdHRvbTogMDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAuay1hdmF0YXJzIHtcbiAgICAgICAgICAgIC5rLW1lc3NhZ2UtZ3JvdXA6bm90KC5rLWFsdCwgLmstbm8tYXZhdGFyKSB7XG4gICAgICAgICAgICAgICAgcGFkZGluZy1pbmxpbmUtc3RhcnQ6IGNhbGMoICN7JGtlbmRvLWNoYXQtYXZhdGFyLXNpemV9ICsgI3sgJGtlbmRvLWNoYXQtYXZhdGFyLXNwYWNpbmcgfSApO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgLmstbWVzc2FnZS1ncm91cC5rLWFsdDpub3QoLmstbm8tYXZhdGFyKSB7XG4gICAgICAgICAgICAgICAgcGFkZGluZy1pbmxpbmUtZW5kOiBjYWxjKCAjeyRrZW5kby1jaGF0LWF2YXRhci1zaXplfSArICN7ICRrZW5kby1jaGF0LWF2YXRhci1zcGFjaW5nIH0gKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8vIEF1dGhvclxuICAgIC5rLWF1dGhvciB7XG4gICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgZm9udC1zaXplOiAka2VuZG8tY2hhdC1hdXRob3ItZm9udC1zaXplO1xuICAgICAgICBsaW5lLWhlaWdodDogJGtlbmRvLWNoYXQtYXV0aG9yLWxpbmUtaGVpZ2h0O1xuICAgIH1cbiAgICAuay1jaGF0IC5rLWF1dGhvciB7XG4gICAgICAgIG1hcmdpbjogMDsgLy8gRHVwbGljYXRlIHN0eWxlcyBiZWNhdXNlIG9mIHR5cG9ncmFwaHkgbW9kdWxlXG4gICAgfVxuXG5cbiAgICAvLyBUaW1lc3RhbXBcbiAgICAuay1jaGF0IC5rLXRpbWVzdGFtcCB7XG4gICAgICAgIGZvbnQtc2l6ZTogdmFyKCAtLWtlbmRvLWNoYXQtdGltZXN0YW1wLWZvbnQtc2l6ZSwgI3sgJGtlbmRvLWNoYXQtdGltZXN0YW1wLWZvbnQtc2l6ZSB9ICk7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiB2YXIoIC0ta2VuZG8tY2hhdC10aW1lc3RhbXAtbGluZS1oZWlnaHQsICN7ICRrZW5kby1jaGF0LXRpbWVzdGFtcC1saW5lLWhlaWdodCB9ICk7XG4gICAgICAgIHRleHQtdHJhbnNmb3JtOiB2YXIoIC0ta2VuZG8tY2hhdC10aW1lc3RhbXAtdHJhbnNmb3JtLCAjeyAka2VuZG8tY2hhdC10aW1lc3RhbXAtdHJhbnNmb3JtIH0gKTtcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICBhbGlnbi1zZWxmOiBzdHJldGNoO1xuICAgIH1cblxuXG4gICAgLy8gUXVpY2sgcmVwbHlcbiAgICAuay1xdWljay1yZXBsaWVzIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIG1heC13aWR0aDogMTAwJTsgLy8gSUUgZml4XG4gICAgfVxuICAgIC5rLXF1aWNrLXJlcGx5IHtcbiAgICAgICAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cyggMTAwcHggKTtcbiAgICAgICAgbWFyZ2luLWlubGluZS1lbmQ6IHZhciggLS1rZW5kby1jaGF0LXF1aWNrLXJlcGx5LXNwYWNpbmcsICN7ICRrZW5kby1jaGF0LXF1aWNrLXJlcGx5LXNwYWNpbmcgfSApO1xuICAgICAgICBtYXJnaW4tYmxvY2stZW5kOiBjYWxjKCB2YXIoIC0ta2VuZG8tY2hhdC1xdWljay1yZXBseS1zcGFjaW5nLCAjeyAka2VuZG8tY2hhdC1xdWljay1yZXBseS1zcGFjaW5nIH0gKSAvIDIgKTtcbiAgICAgICAgcGFkZGluZy1pbmxpbmU6IHZhciggLS1rZW5kby1jaGF0LXF1aWNrLXJlcGx5LXBhZGRpbmcteCwgI3sgJGtlbmRvLWNoYXQtcXVpY2stcmVwbHktcGFkZGluZy14IH0gKTtcbiAgICAgICAgcGFkZGluZy1ibG9jazogdmFyKCAtLWtlbmRvLWNoYXQtcXVpY2stcmVwbHktcGFkZGluZy15LCAjeyAka2VuZG8tY2hhdC1xdWljay1yZXBseS1wYWRkaW5nLXkgfSApO1xuICAgICAgICBib3JkZXItd2lkdGg6IDFweDtcbiAgICAgICAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiBjdXJyZW50Q29sb3I7XG4gICAgICAgIGJhY2tncm91bmQ6IG5vbmU7XG4gICAgICAgIGNvbG9yOiBpbmhlcml0O1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiB2YXIoIC0ta2VuZG8tY2hhdC1xdWljay1yZXBseS1saW5lLWhlaWdodCwgI3sgJGtlbmRvLWNoYXQtcXVpY2stcmVwbHktbGluZS1oZWlnaHQgfSApO1xuICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgICAgIHVzZXItc2VsZWN0OiBub25lO1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgIGZsZXg6IDAgMCBhdXRvO1xuICAgICAgICB0cmFuc2l0aW9uLXByb3BlcnR5OiBjb2xvciwgYmFja2dyb3VuZC1jb2xvciwgYm9yZGVyLWNvbG9yO1xuICAgICAgICB0cmFuc2l0aW9uLWR1cmF0aW9uOiAuMnM7XG4gICAgICAgIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLWluLW91dDtcbiAgICAgICAgb3V0bGluZTogbm9uZTtcblxuICAgICAgICAmOmZvY3VzOjphZnRlcixcbiAgICAgICAgJi5rLWZvY3VzOjphZnRlciB7XG4gICAgICAgICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgYm9yZGVyOiBtZWRpdW0gbm9uZTtcbiAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IHZhcigtLWtlbmRvLWJvcmRlci1yYWRpdXMtZnVsbCwgOTk5OXB4KTtcbiAgICAgICAgICAgIGluc2V0OiB2YXIoIC0ta2VuZG8tY2hhdC1xdWljay1yZXBseS1mb2N1cy1vZmZzZXQsICN7JGtlbmRvLWNoYXQtcXVpY2stcmVwbHktZm9jdXMtb2Zmc2V0fSApO1xuICAgICAgICAgICAgb3V0bGluZS13aWR0aDogdmFyKCAtLWtlbmRvLWNoYXQtcXVpY2stcmVwbHktZm9jdXMtb3V0bGluZS13aWR0aCwgI3ska2VuZG8tY2hhdC1xdWljay1yZXBseS1mb2N1cy1vdXRsaW5lLXdpZHRofSApO1xuICAgICAgICAgICAgb3V0bGluZS1zdHlsZTogdmFyKCAtLWtlbmRvLWNoYXQtcXVpY2stcmVwbHktZm9jdXMtb3V0bGluZS1zdHlsZSwgI3ska2VuZG8tY2hhdC1xdWljay1yZXBseS1mb2N1cy1vdXRsaW5lLXN0eWxlfSApO1xuICAgICAgICAgICAgei1pbmRleDogMTtcbiAgICAgICAgfVxuICAgIH1cblxuXG4gICAgLy8gU2Nyb2xsYWJsZSBxdWljayByZXBsaWVzXG4gICAgLmstc2Nyb2xsYWJsZS1xdWljay1yZXBsaWVzIHtcbiAgICAgICAgbWFyZ2luLWJsb2NrOiBjYWxjKCB2YXIoIC0ta2VuZG8tY2hhdC1tZXNzYWdlLWxpc3QtcGFkZGluZy15LCAjeyAka2VuZG8tY2hhdC1tZXNzYWdlLWxpc3QtcGFkZGluZy15IH0gKSAqIC0xICk7XG4gICAgICAgIHBhZGRpbmctYmxvY2s6IGNhbGMoIHZhciggLS1rZW5kby1jaGF0LW1lc3NhZ2UtbGlzdC1wYWRkaW5nLXksICN7ICRrZW5kby1jaGF0LW1lc3NhZ2UtbGlzdC1wYWRkaW5nLXkgfSApICogLTEgKTtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgZmxleC1mbG93OiByb3cgbm93cmFwO1xuICAgICAgICBmbGV4OiAwIDAgYXV0bztcbiAgICAgICAgb3ZlcmZsb3cteDogYXV0bztcbiAgICAgICAgb3ZlcmZsb3cteTogaGlkZGVuO1xuXG4gICAgICAgICY6Oi13ZWJraXQtc2Nyb2xsYmFyIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgIH1cblxuICAgICAgICAuay1xdWljay1yZXBseSB7XG4gICAgICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgIH1cbiAgICAgICAgLmstcXVpY2stcmVwbHkgKyAuay1xdWljay1yZXBseSB7XG4gICAgICAgICAgICBtYXJnaW4taW5saW5lLXN0YXJ0OiB2YXIoIC0ta2VuZG8tY2hhdC1xdWljay1yZXBseS1zcGFjaW5nLCAjeyAka2VuZG8tY2hhdC1xdWljay1yZXBseS1zcGFjaW5nIH0gKTtcbiAgICAgICAgfVxuICAgIH1cblxuXG4gICAgLy8gTWVzc2FnZSBib3hcbiAgICAuay1tZXNzYWdlLWJveCB7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBoZWlnaHQ6IGF1dG87XG4gICAgICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgICAgIGJvcmRlci13aWR0aDogMXB4IDAgMDtcbiAgICAgICAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiBpbmhlcml0ICFpbXBvcnRhbnQ7IC8vIHN0eWxlbGludC1kaXNhYmxlLWxpbmUgZGVjbGFyYXRpb24tbm8taW1wb3J0YW50XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDAgIWltcG9ydGFudDsgLy8gc3R5bGVsaW50LWRpc2FibGUtbGluZSBkZWNsYXJhdGlvbi1uby1pbXBvcnRhbnRcbiAgICAgICAgZmxleDogbm9uZTtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgZmxleC1mbG93OiByb3cgbm93cmFwO1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuXG4gICAgICAgICY6Zm9jdXMsXG4gICAgICAgICYuay1mb2N1cyxcbiAgICAgICAgJjpmb2N1cy13aXRoaW4ge1xuICAgICAgICAgICAgb3V0bGluZTogMDtcbiAgICAgICAgICAgIGJveC1zaGFkb3c6IG5vbmU7XG4gICAgICAgIH1cblxuICAgICAgICAvLyBJbnB1dFxuICAgICAgICAuay1pbnB1dCB7fVxuXG4gICAgICAgIC5rLWJ1dHRvbiB7XG4gICAgICAgICAgICBib3JkZXItd2lkdGg6IDA7XG4gICAgICAgICAgICBmbGV4LXNocmluazogMDtcblxuICAgICAgICAgICAgc3ZnIHtcbiAgICAgICAgICAgICAgICB3aWR0aDogMjBweDtcbiAgICAgICAgICAgICAgICBoZWlnaHQ6IDIwcHg7XG4gICAgICAgICAgICAgICAgZmlsbDogY3VycmVudENvbG9yO1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5rLXJ0bCxcbiAgICBbZGlyPVwicnRsXCJdIHtcbiAgICAgICAgLmstbWVzc2FnZS1ib3gge1xuICAgICAgICAgICAgLmstYnV0dG9uIHtcbiAgICAgICAgICAgICAgICB0cmFuc2Zvcm06IHNjYWxlWCgtMSk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbn1cblxuQG1peGluIGtlbmRvLWNoYXQtY2FyZC0tbGF5b3V0KCkge1xuICAgIC5rLWNoYXQgLmstY2FyZC1saXN0IHtcbiAgICAgICAgbWFyZ2luOiAka2VuZG8tY2hhdC1idWJibGUtc3BhY2luZyAwIDA7XG4gICAgfVxuXG4gICAgLmstbWVzc2FnZS1ncm91cC5rLWFsdCArIC5rLWNhcmQtbGlzdCxcbiAgICAuay1tZXNzYWdlLWdyb3VwLmstYWx0ICsga2VuZG8tY2hhdC1tZXNzYWdlLWF0dGFjaG1lbnRzLmstY2FyZC1saXN0IHtcbiAgICAgICAgYWxpZ24tc2VsZjogZmxleC1lbmQ7XG4gICAgfVxuXG4gICAgLmstY2hhdCAuay1jYXJkLWRlY2sge1xuICAgICAgICBtYXgtd2lkdGg6IGNhbGMoIDEwMCUgKyBjYWxjKCAjeyAka2VuZG8tY2hhdC1tZXNzYWdlLWxpc3QtcGFkZGluZy15fSAqIDIgKSApOyAvLyBwcmV2ZW50IG92ZXJmbG93aW5nIGluIHRoZSBwYXJlbnQgZWxlbWVudFxuICAgICAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgICAgICBtYXJnaW4taW5saW5lOiBjYWxjKCB2YXIoIC0ta2VuZG8tY2hhdC1tZXNzYWdlLWxpc3QtcGFkZGluZy14LCAjeyAka2VuZG8tY2hhdC1tZXNzYWdlLWxpc3QtcGFkZGluZy14IH0gKSAqIC0xICk7XG4gICAgICAgIHBhZGRpbmctYmxvY2stc3RhcnQ6IHZhciggLS1rZW5kby1jaGF0LW1lc3NhZ2UtbGlzdC1wYWRkaW5nLXksICN7ICRrZW5kby1jaGF0LW1lc3NhZ2UtbGlzdC1wYWRkaW5nLXkgfSApO1xuICAgICAgICBwYWRkaW5nLWJsb2NrLWVuZDogdmFyKCAtLWtlbmRvLWNoYXQtbWVzc2FnZS1saXN0LXBhZGRpbmcteSwgI3sgJGtlbmRvLWNoYXQtbWVzc2FnZS1saXN0LXBhZGRpbmcteSB9ICk7XG4gICAgICAgIHBhZGRpbmctaW5saW5lOiB2YXIoIC0ta2VuZG8tY2hhdC1tZXNzYWdlLWxpc3QtcGFkZGluZy14LCAjeyAka2VuZG8tY2hhdC1tZXNzYWdlLWxpc3QtcGFkZGluZy14IH0gKTtcbiAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAgICAgb3ZlcmZsb3cteDogYXV0bztcbiAgICAgICAgc2Nyb2xsLWJlaGF2aW9yOiBzbW9vdGg7XG4gICAgfVxuICAgIC5rLWNoYXQgLmstY2FyZC1kZWNrIC5rLWNhcmQge1xuICAgICAgICB3aWR0aDogMjAwcHg7XG4gICAgfVxuXG4gICAgLmstY2hhdCAuay1jYXJkLWRlY2stc2Nyb2xsd3JhcCB7XG4gICAgICAgIG1hcmdpbi1pbmxpbmU6IGNhbGMoIHZhciggLS1rZW5kby1jaGF0LW1lc3NhZ2UtbGlzdC1wYWRkaW5nLXgsICN7ICRrZW5kby1jaGF0LW1lc3NhZ2UtbGlzdC1wYWRkaW5nLXggfSApICogLTEgKTtcbiAgICAgICAgcGFkZGluZy1pbmxpbmU6IHZhciggLS1rZW5kby1jaGF0LW1lc3NhZ2UtbGlzdC1wYWRkaW5nLXgsICN7ICRrZW5kby1jaGF0LW1lc3NhZ2UtbGlzdC1wYWRkaW5nLXggfSApO1xuICAgIH1cblxuICAgIC5rLWNoYXQgLmstY2FyZC1kZWNrLXNjcm9sbHdyYXAgPiAuay1jYXJkLWRlY2sge1xuICAgICAgICAvLyBoaWRlIHNjcm9sbGJhciBpbiBjaGF0XG4gICAgICAgIG1hcmdpbi1ibG9jay1lbmQ6IGNhbGMoIHZhciggLS1rZW5kby1jYXJkLWRlY2stc2Nyb2xsYmFyLXNpemUsICN7ICRrZW5kby1jYXJkLWRlY2stc2Nyb2xsYmFyLXNpemUgfSApICogLTEgKTtcbiAgICAgICAgcGFkZGluZy1ib3R0b206IHZhciggLS1rZW5kby1jYXJkLWRlY2stc2Nyb2xsYmFyLXNpemUsICN7ICRrZW5kby1jYXJkLWRlY2stc2Nyb2xsYmFyLXNpemUgfSApO1xuICAgIH1cblxuICAgIC8vIERlY2tcbiAgICAuay1jaGF0IC5rLWNhcmQtZGVjayAuay1jYXJkLXdyYXAge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBmbGV4LWZsb3c6IHJvdyBub3dyYXA7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBzdHJldGNoO1xuICAgICAgICBmbGV4OiAwIDAgYXV0bztcbiAgICAgICAgcGFkZGluZy1ib3R0b206IDVweDsgLy8gYWNjb21tb2RhdGUgZm9yIGZvY3VzZWQgYm94IHNoYWRvdyBvbiBPU1hcblxuICAgICAgICAuay1jYXJkIHtcbiAgICAgICAgICAgIGZsZXg6IDAgMCBhdXRvO1xuICAgICAgICB9XG5cbiAgICAgICAgJi5rLXNlbGVjdGVkIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQ6IG5vbmU7XG4gICAgICAgIH1cbiAgICB9XG5cbn1cblxuQG1peGluIGtlbmRvLWNoYXQtdHlwaW5nLWluZGljYXRvci0tbGF5b3V0KCkge1xuICAgIC8vIFR5cGluZyBpbmRpY2F0b3JcbiAgICAuay10eXBpbmctaW5kaWNhdG9yIHtcbiAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogNTBweDtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gICAgICAgIGZsZXgtZmxvdzogcm93IG5vd3JhcDtcblxuICAgICAgICBzcGFuIHtcbiAgICAgICAgICAgIHdpZHRoOiB2YXIoIC0ta2VuZG8tY2hhdC10eXBpbmctaW5kaWNhdG9yLWRvdC1zaXplLCAjeyAka2VuZG8tY2hhdC10eXBpbmctaW5kaWNhdG9yLWRvdC1zaXplIH0gKTtcbiAgICAgICAgICAgIGhlaWdodDogdmFyKCAtLWtlbmRvLWNoYXQtdHlwaW5nLWluZGljYXRvci1kb3Qtc2l6ZSwgI3sgJGtlbmRvLWNoYXQtdHlwaW5nLWluZGljYXRvci1kb3Qtc2l6ZSB9ICk7XG4gICAgICAgICAgICBib3JkZXItcmFkaXVzOiA1MCU7XG4gICAgICAgICAgICBmbGV4OiAwIDAgdmFyKCAtLWtlbmRvLWNoYXQtdHlwaW5nLWluZGljYXRvci1kb3Qtc2l6ZSwgI3sgJGtlbmRvLWNoYXQtdHlwaW5nLWluZGljYXRvci1kb3Qtc2l6ZSB9ICk7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBjdXJyZW50Q29sb3I7XG4gICAgICAgICAgICBvcGFjaXR5OiAuNDtcbiAgICAgICAgICAgIEBmb3IgJGkgZnJvbSAxIHRocm91Z2ggMyB7XG4gICAgICAgICAgICAgICAgJjpudGgtb2YtdHlwZSgjeyRpfSkge1xuICAgICAgICAgICAgICAgICAgICBhbmltYXRpb246IDFzIGstYW5pbWF0aW9uLWJsaW5rIGluZmluaXRlICgkaSAqIC4zMzMzcyk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIHNwYW4gKyBzcGFuIHtcbiAgICAgICAgICAgIG1hcmdpbi1pbmxpbmUtc3RhcnQ6IHZhciggLS1rZW5kby1jaGF0LXR5cGluZy1pbmRpY2F0b3ItZG90LXNwYWNpbmcsICN7ICRrZW5kby1jaGF0LXR5cGluZy1pbmRpY2F0b3ItZG90LXNwYWNpbmcgfSApO1xuICAgICAgICB9XG5cbiAgICAgICAgQGtleWZyYW1lcyBrLWFuaW1hdGlvbi1ibGluayB7XG4gICAgICAgICAgICA1MCUge1xuICAgICAgICAgICAgICAgIG9wYWNpdHk6IDE7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgIH1cblxufVxuXG5AbWl4aW4ga2VuZG8tY2hhdC10b29sYmFyLS1sYXlvdXQoKSB7XG5cbiAgICAuay1jaGF0LXRvb2xiYXIsXG4gICAgLmstY2hhdCAuay10b29sYmFyLWJveCB7XG4gICAgICAgIHBhZGRpbmctaW5saW5lOiB2YXIoIC0ta2VuZG8tY2hhdC10b29sYmFyLXBhZGRpbmcteCwgI3sgJGtlbmRvLWNoYXQtdG9vbGJhci1wYWRkaW5nLXggfSApO1xuICAgICAgICBwYWRkaW5nLWJsb2NrOiB2YXIoIC0ta2VuZG8tY2hhdC10b29sYmFyLXBhZGRpbmcteSwgI3sgJGtlbmRvLWNoYXQtdG9vbGJhci1wYWRkaW5nLXkgfSApO1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgYm9yZGVyLXdpZHRoOiAxcHggMCAwO1xuICAgICAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgICAgICBmbGV4OiBub25lO1xuICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIGdhcDogdmFyKCAtLWtlbmRvLWNoYXQtdG9vbGJhci1zcGFjaW5nLCAjeyRrZW5kby1jaGF0LXRvb2xiYXItc3BhY2luZ30gKTtcblxuICAgICAgICAmOjpiZWZvcmUge1xuICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgfVxuXG4gICAgICAgIC5rLWJ1dHRvbi1saXN0IHtcbiAgICAgICAgICAgIC8vIE5lZWRlZCBmb3IgbmF0aXZlIHNjcm9sbGluZy4gV2lsbCB1bmNvbWVudCB3aGVuIGl0J3MgaW1wbGVtZW50ZWQuXG4gICAgICAgICAgICAvLyBtYXJnaW4tYmxvY2stZW5kOiAtMjBweDtcbiAgICAgICAgICAgIC8vIHBhZGRpbmctYm90dG9tOiAyMHB4O1xuICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgIGZsZXgtZmxvdzogcm93IG5vd3JhcDtcbiAgICAgICAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgICAgICAgICAvLyBvdmVyZmxvdy14OiBhdXRvO1xuICAgICAgICAgICAgc2Nyb2xsLWJlaGF2aW9yOiBzbW9vdGg7XG4gICAgICAgIH1cblxuICAgICAgICAuay1idXR0b24ge1xuICAgICAgICAgICAgZmxleDogbm9uZTtcbiAgICAgICAgfVxuXG5cbiAgICAgICAgLmstc2Nyb2xsLWJ1dHRvbiB7XG4gICAgICAgICAgICAvLyBJTVBPUlRBTlQ6IGlmIHdlIGRvbid0IHNldCBwYWRkaW5nLCB0aGUgYnJvd3NlciB3aWxsIHNldCBmb3IgdXNcbiAgICAgICAgICAgIHBhZGRpbmctYmxvY2s6IDA7XG4gICAgICAgICAgICBwYWRkaW5nLWlubGluZTogdmFyKCAtLWtlbmRvLWNoYXQtc2Nyb2xsLWJ1dHRvbiwgI3sgJGtlbmRvLWNoYXQtc2Nyb2xsLWJ1dHRvbiB9ICk7XG4gICAgICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgICAgICBhc3BlY3QtcmF0aW86IGF1dG87XG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICB6LWluZGV4OiAyO1xuICAgICAgICAgICAgdG9wOiAwO1xuXG4gICAgICAgICAgICAuay1idXR0b24taWNvbiB7XG4gICAgICAgICAgICAgICAgbWluLXdpZHRoOiBhdXRvO1xuICAgICAgICAgICAgICAgIG1pbi1oZWlnaHQ6IGF1dG87XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgLmstc2Nyb2xsLWJ1dHRvbi1sZWZ0IHtcbiAgICAgICAgICAgIGxlZnQ6IDA7XG4gICAgICAgIH1cbiAgICAgICAgLmstc2Nyb2xsLWJ1dHRvbi1yaWdodCB7XG4gICAgICAgICAgICByaWdodDogMDtcbiAgICAgICAgfVxuICAgIH1cblxufVxuIiwiQHVzZSBcInNhc3M6bWFwXCI7XG5AdXNlIFwiLi4vY29yZS9faW5kZXguc2Nzc1wiIGFzICo7XG5AdXNlIFwiLi4vdG9vbGJhci9fdmFyaWFibGVzLnNjc3NcIiBhcyAqO1xuXG4vLyBDaGF0XG5cbi8vLyBUaGUgYm94IHNoYWRvdyB0cmFuc2l0aW9uIG9mIHRoZSBDaGF0LlxuLy8vIEBncm91cCBjaGF0XG4ka2VuZG8tY2hhdC10cmFuc2l0aW9uOiB2YXIoIC0ta2VuZG8tdHJhbnNpdGlvbiwgaW5oZXJpdCApICFkZWZhdWx0O1xuLy8vIFRoZSBob3ZlciB0ZXh0IGNvbG9yIG9mIHRoZSBDaGF0IGJ1YmJsZSBsaW5rcy5cbi8vLyBAZ3JvdXAgY2hhdFxuJGtlbmRvLWNoYXQtbGluay1ob3Zlci10ZXh0OiB2YXIoIC0ta2VuZG8tbGluay1ob3Zlci10ZXh0LCBpbmhlcml0ICkgIWRlZmF1bHQ7XG4vLy8gVGhlIHRleHQgY29sb3Igb2YgdGhlIENoYXQgYnViYmxlIGxpbmtzLlxuLy8vIEBncm91cCBjaGF0XG4ka2VuZG8tY2hhdC1saW5rLXRleHQ6IHZhciggLS1rZW5kby1saW5rLXRleHQsIGluaGVyaXQgKSAhZGVmYXVsdDtcbi8vLyBUaGUgaG9yaXpvbnRhbCBwYWRkaW5nIG9mIHRoZSBDaGF0LlxuLy8vIEBncm91cCBjaGF0XG4ka2VuZG8tY2hhdC1wYWRkaW5nLXg6IGstc3BhY2luZyg0KSAhZGVmYXVsdDtcbi8vLyBUaGUgdmVydGljYWwgcGFkZGluZyBvZiB0aGUgQ2hhdC5cbi8vLyBAZ3JvdXAgY2hhdFxuJGtlbmRvLWNoYXQtcGFkZGluZy15OiBrLXNwYWNpbmcoNCkgIWRlZmF1bHQ7XG4vLy8gVGhlIHdpZHRoIG9mIHRoZSBDaGF0LlxuLy8vIEBncm91cCBjaGF0XG4ka2VuZG8tY2hhdC13aWR0aDogNTAwcHggIWRlZmF1bHQ7XG4vLy8gVGhlIGhlaWdodCBvZiB0aGUgQ2hhdC5cbi8vLyBAZ3JvdXAgY2hhdFxuJGtlbmRvLWNoYXQtaGVpZ2h0OiA2MDBweCAhZGVmYXVsdDtcbi8vLyBUaGUgYm9yZGVyIHdpZHRoIG9mIHRoZSBDaGF0LlxuLy8vIEBncm91cCBjaGF0XG4ka2VuZG8tY2hhdC1ib3JkZXItd2lkdGg6IDFweCAhZGVmYXVsdDtcbi8vLyBUaGUgZm9udCBmYW1pbHkgb2YgdGhlIENoYXQuXG4vLy8gQGdyb3VwIGNoYXRcbiRrZW5kby1jaGF0LWZvbnQtZmFtaWx5OiB2YXIoIC0ta2VuZG8tZm9udC1mYW1pbHksIGluaGVyaXQgKSAhZGVmYXVsdDtcbi8vLyBUaGUgZm9udCBzaXplIG9mIHRoZSBDaGF0LlxuLy8vIEBncm91cCBjaGF0XG4ka2VuZG8tY2hhdC1mb250LXNpemU6IHZhciggLS1rZW5kby1mb250LXNpemUsIGluaGVyaXQgKSAhZGVmYXVsdDtcbi8vLyBUaGUgbGluZSBoZWlnaHQgb2YgdGhlIENoYXQuXG4vLy8gQGdyb3VwIGNoYXRcbiRrZW5kby1jaGF0LWxpbmUtaGVpZ2h0OiB2YXIoIC0ta2VuZG8tbGluZS1oZWlnaHQsIG5vcm1hbCApICFkZWZhdWx0O1xuXG4vLy8gVGhlIHNpemUgb2YgdGhlIENoYXQgdHlwaW5nIGluZGljYXRvciBkb3QuXG4vLy8gQGdyb3VwIGNoYXRcbiRrZW5kby1jaGF0LXR5cGluZy1pbmRpY2F0b3ItZG90LXNpemU6IDhweCAhZGVmYXVsdDtcbi8vLyBUaGUgc3BhY2luZyBvZiB0aGUgQ2hhdCB0eXBpbmcgaW5kaWNhdG9yIGRvdC5cbi8vLyBAZ3JvdXAgY2hhdFxuJGtlbmRvLWNoYXQtdHlwaW5nLWluZGljYXRvci1kb3Qtc3BhY2luZzogY2FsYyggI3trLXNwYWNpbmcoMi41KX0gLyAyICkgIWRlZmF1bHQ7XG5cbi8vLyBUaGUgaG9yaXpvbnRhbCBzcGFjaW5nIGJldHdlZW4gdGhlIGl0ZW1zIG9mIHRoZSBDaGF0LlxuLy8vIEBncm91cCBjaGF0XG4ka2VuZG8tY2hhdC1pdGVtLXNwYWNpbmcteDogay1zcGFjaW5nKDIpICFkZWZhdWx0O1xuLy8vIFRoZSB2ZXJ0aWNhbCBzcGFjaW5nIGJldHdlZW4gdGhlIGl0ZW1zIG9mIHRoZSBDaGF0LlxuLy8vIEBncm91cCBjaGF0XG4ka2VuZG8tY2hhdC1pdGVtLXNwYWNpbmcteTogay1zcGFjaW5nKDQpICFkZWZhdWx0O1xuXG4vLy8gVGhlIGhvcml6b250YWwgcGFkZGluZyBvZiB0aGUgQ2hhdCBtZXNzYWdlIGxpc3QuXG4vLy8gQGdyb3VwIGNoYXRcbiRrZW5kby1jaGF0LW1lc3NhZ2UtbGlzdC1wYWRkaW5nLXg6ICRrZW5kby1jaGF0LXBhZGRpbmcteCAhZGVmYXVsdDtcbi8vLyBUaGUgdmVydGljYWwgcGFkZGluZyBvZiB0aGUgQ2hhdCBtZXNzYWdlIGxpc3QuXG4vLy8gQGdyb3VwIGNoYXRcbiRrZW5kby1jaGF0LW1lc3NhZ2UtbGlzdC1wYWRkaW5nLXk6ICRrZW5kby1jaGF0LXBhZGRpbmcteSAhZGVmYXVsdDtcbi8vLyBUaGUgc3BhY2luZyBvZiB0aGUgQ2hhdCBtZXNzYWdlIGxpc3QuXG4vLy8gQGdyb3VwIGNoYXRcbiRrZW5kby1jaGF0LW1lc3NhZ2UtbGlzdC1zcGFjaW5nOiAka2VuZG8tY2hhdC1pdGVtLXNwYWNpbmcteSAhZGVmYXVsdDtcblxuLy8vIFRoZSBmb250IHNpemUgb2YgdGhlIENoYXQgdGltZXN0YW1wLlxuLy8vIEBncm91cCBjaGF0XG4ka2VuZG8tY2hhdC10aW1lc3RhbXAtZm9udC1zaXplOiB2YXIoIC0ta2VuZG8tZm9udC1zaXplLXNtLCBpbmhlcml0ICkgIWRlZmF1bHQ7XG4vLy8gVGhlIGxpbmUgaGVpZ2h0IG9mIHRoZSBDaGF0IHRpbWVzdGFtcC5cbi8vLyBAZ3JvdXAgY2hhdFxuJGtlbmRvLWNoYXQtdGltZXN0YW1wLWxpbmUtaGVpZ2h0OiB2YXIoIC0ta2VuZG8tbGluZS1oZWlnaHQtbGcsIG5vcm1hbCApICFkZWZhdWx0O1xuLy8vIFRoZSB0ZXh0IHRyYW5zZm9ybSBvZiB0aGUgQ2hhdCB0aW1lc3RhbXAuXG4vLy8gQGdyb3VwIGNoYXRcbiRrZW5kby1jaGF0LXRpbWVzdGFtcC10cmFuc2Zvcm06IHVwcGVyY2FzZSAhZGVmYXVsdDtcbi8vLyBUaGUgdGV4dCBjb2xvciBvZiB0aGUgQ2hhdCB0aW1lc3RhbXAuXG4vLy8gQGdyb3VwIGNoYXRcbiRrZW5kby1jaGF0LXRpbWVzdGFtcC10ZXh0OiB2YXIoIC0ta2VuZG8tc3VidGxlLXRleHQsIGluaGVyaXQgKSAhZGVmYXVsdDtcbi8vLyBUaGUgYmFja2dyb3VuZCBjb2xvciBvZiB0aGUgQ2hhdCB0aW1lc3RhbXAuXG4vLy8gQGdyb3VwIGNoYXRcbiRrZW5kby1jaGF0LXRpbWVzdGFtcC1iZzogbm9ybWFsICFkZWZhdWx0O1xuXG4vLy8gVGhlIGZvbnQgc2l6ZSBvZiB0aGUgQ2hhdCBtZXNzYWdlIG1ldGEgdGV4dC5cbi8vLyBAZ3JvdXAgY2hhdFxuJGtlbmRvLWNoYXQtbWVzc2FnZS1tZXRhLWZvbnQtc2l6ZTogdmFyKCAtLWtlbmRvLWZvbnQtc2l6ZS1zbSwgaW5oZXJpdCApICFkZWZhdWx0O1xuLy8vIFRoZSBsaW5lIGhlaWdodCBvZiB0aGUgQ2hhdCBtZXNzYWdlIG1ldGEgdGV4dC5cbi8vLyBAZ3JvdXAgY2hhdFxuJGtlbmRvLWNoYXQtbWVzc2FnZS1tZXRhLWxpbmUtaGVpZ2h0OiB2YXIoIC0ta2VuZG8tbGluZS1oZWlnaHQtbGcsIG5vcm1hbCApICFkZWZhdWx0O1xuXG4vLy8gVGhlIGZvbnQgc2l6ZSBvZiB0aGUgQ2hhdCBhdXRob3IgdGV4dC5cbi8vLyBAZ3JvdXAgY2hhdFxuJGtlbmRvLWNoYXQtYXV0aG9yLWZvbnQtc2l6ZTogdmFyKCAtLWtlbmRvLWZvbnQtc2l6ZS1zbSwgaW5oZXJpdCApICFkZWZhdWx0O1xuLy8vIFRoZSBsaW5lIGhlaWdodCBvZiB0aGUgQ2hhdCBhdXRob3IgdGV4dC5cbi8vLyBAZ3JvdXAgY2hhdFxuJGtlbmRvLWNoYXQtYXV0aG9yLWxpbmUtaGVpZ2h0OiB2YXIoIC0ta2VuZG8tbGluZS1oZWlnaHQtbGcsIG5vcm1hbCApICFkZWZhdWx0O1xuXG4vLy8gVGhlIGhvcml6b250YWwgcGFkZGluZyBvZiB0aGUgQ2hhdCBidWJibGUgbWVzc2FnZS5cbi8vLyBAZ3JvdXAgY2hhdFxuJGtlbmRvLWNoYXQtYnViYmxlLXBhZGRpbmcteDogay1zcGFjaW5nKDMpICFkZWZhdWx0O1xuLy8vIFRoZSB2ZXJ0aWNhbCBwYWRkaW5nIG9mIHRoZSBDaGF0IGJ1YmJsZSBtZXNzYWdlLlxuLy8vIEBncm91cCBjaGF0XG4ka2VuZG8tY2hhdC1idWJibGUtcGFkZGluZy15OiBrLXNwYWNpbmcoMikgIWRlZmF1bHQ7XG4vLy8gVGhlIHNwYWNpbmcgb2YgdGhlIENoYXQgYnViYmxlIG1lc3NhZ2UuXG4vLy8gQGdyb3VwIGNoYXRcbiRrZW5kby1jaGF0LWJ1YmJsZS1zcGFjaW5nOiBrLXNwYWNpbmcoMC41KSAhZGVmYXVsdDtcbi8vLyBUaGUgbGluZSBoZWlnaHQgb2YgdGhlIENoYXQgYnViYmxlIG1lc3NhZ2UuXG4vLy8gQGdyb3VwIGNoYXRcbiRrZW5kby1jaGF0LWJ1YmJsZS1saW5lLWhlaWdodDogdmFyKCAtLWtlbmRvLWxpbmUtaGVpZ2h0LCBub3JtYWwgKSAhZGVmYXVsdDtcblxuLy8vIFRoZSBzcGFjaW5nIG9mIHRoZSBDaGF0IHNjcm9sbCBidXR0b24uXG4vLy8gQGdyb3VwIGNoYXRcbiRrZW5kby1jaGF0LXNjcm9sbC1idXR0b246IGstc3BhY2luZygyKSAhZGVmYXVsdDtcbi8vLyBUaGUgc2l6ZSBvZiB0aGUgQ2hhdCBDYXJkIGRlY2sgc2Nyb2xsYmFyLlxuLy8vIEBncm91cCBjaGF0XG4ka2VuZG8tY2FyZC1kZWNrLXNjcm9sbGJhci1zaXplOiAyMHB4ICFkZWZhdWx0O1xuXG4vLy8gVGhlIGJvcmRlciByYWRpdXMgb2YgdGhlIENoYXQgYnViYmxlIG1lc3NhZ2UuXG4vLy8gQGdyb3VwIGNoYXRcbiRrZW5kby1jaGF0LWJ1YmJsZS1ib3JkZXItcmFkaXVzOiBrLXNwYWNpbmcoMykgIWRlZmF1bHQ7XG4vLy8gVGhlIGJvcmRlciByYWRpdXMgb2YgdGhlIENoYXQgc21hbGwgYnViYmxlIG1lc3NhZ2Vcbi8vLyBAZ3JvdXAgY2hhdFxuJGtlbmRvLWNoYXQtYnViYmxlLWJvcmRlci1yYWRpdXMtc206IHZhciggLS1rZW5kby1ib3JkZXItcmFkaXVzLCAwICkgIWRlZmF1bHQ7XG5cbi8vLyBUaGUgc2l6ZSBvZiB0aGUgQ2hhdCBBdmF0YXIuXG4vLy8gQGdyb3VwIGNoYXRcbiRrZW5kby1jaGF0LWF2YXRhci1zaXplOiAzMnB4ICFkZWZhdWx0O1xuLy8vIFRoZSBzcGFjaW5nIG9mIHRoZSBDaGF0IEF2YXRhci5cbi8vLyBAZ3JvdXAgY2hhdFxuJGtlbmRvLWNoYXQtYXZhdGFyLXNwYWNpbmc6ICRrZW5kby1jaGF0LWl0ZW0tc3BhY2luZy14ICFkZWZhdWx0O1xuXG4vLy8gVGhlIGhvcml6b250YWwgcGFkZGluZyBvZiB0aGUgQ2hhdCBUb29sYmFyLlxuLy8vIEBncm91cCBjaGF0XG4ka2VuZG8tY2hhdC10b29sYmFyLXBhZGRpbmcteDogJGtlbmRvLXRvb2xiYXItbWQtcGFkZGluZy14ICFkZWZhdWx0O1xuLy8vIFRoZSB2ZXJ0aWNhbCBwYWRkaW5nIG9mIHRoZSBDaGF0IFRvb2xiYXIuXG4vLy8gQGdyb3VwIGNoYXRcbiRrZW5kby1jaGF0LXRvb2xiYXItcGFkZGluZy15OiAka2VuZG8tdG9vbGJhci1tZC1wYWRkaW5nLXkgIWRlZmF1bHQ7XG4vLy8gVGhlIHNwYWNpbmcgb2YgdGhlIENoYXQgVG9vbGJhci5cbi8vLyBAZ3JvdXAgY2hhdFxuJGtlbmRvLWNoYXQtdG9vbGJhci1zcGFjaW5nOiAka2VuZG8tdG9vbGJhci1tZC1zcGFjaW5nICFkZWZhdWx0O1xuLy8vIFRoZSBiYWNrZ3JvdW5kIGNvbG9yIG9mIHRoZSBDaGF0IFRvb2xiYXIuXG4vLy8gQGdyb3VwIGNoYXRcbiRrZW5kby1jaGF0LXRvb2xiYXItYmc6ICRrZW5kby10b29sYmFyLWJnICFkZWZhdWx0O1xuLy8vIFRoZSB0ZXh0IGNvbG9yIG9mIHRoZSBDaGF0IFRvb2xiYXIuXG4vLy8gQGdyb3VwIGNoYXRcbiRrZW5kby1jaGF0LXRvb2xiYXItdGV4dDogJGtlbmRvLXRvb2xiYXItdGV4dCAhZGVmYXVsdDtcbi8vLyBUaGUgYm9yZGVyIGNvbG9yIG9mIHRoZSBDaGF0IFRvb2xiYXIuXG4vLy8gQGdyb3VwIGNoYXRcbiRrZW5kby1jaGF0LXRvb2xiYXItYm9yZGVyOiBpbmhlcml0ICFkZWZhdWx0O1xuXG4vLy8gVGhlIGhvcml6b250YWwgcGFkZGluZyBvZiB0aGUgQ2hhdCBxdWljayByZXBseS5cbi8vLyBAZ3JvdXAgY2hhdFxuJGtlbmRvLWNoYXQtcXVpY2stcmVwbHktcGFkZGluZy14OiBrLXNwYWNpbmcoMykgIWRlZmF1bHQ7XG4vLy8gVGhlIHZlcnRpY2FsIHBhZGRpbmcgb2YgdGhlIENoYXQgcXVpY2sgcmVwbHkuXG4vLy8gQGdyb3VwIGNoYXRcbiRrZW5kby1jaGF0LXF1aWNrLXJlcGx5LXBhZGRpbmcteTogay1zcGFjaW5nKDIpICFkZWZhdWx0O1xuLy8vIFRoZSBzcGFjaW5nIG9mIHRoZSBDaGF0IHF1aWNrIHJlcGx5LlxuLy8vIEBncm91cCBjaGF0XG4ka2VuZG8tY2hhdC1xdWljay1yZXBseS1zcGFjaW5nOiBrLXNwYWNpbmcoMikgIWRlZmF1bHQ7XG4vLy8gVGhlIGxpbmUgaGVpZ2h0IG9mIHRoZSBDaGF0IHF1aWNrIHJlcGx5LlxuLy8vIEBncm91cCBjaGF0XG4ka2VuZG8tY2hhdC1xdWljay1yZXBseS1saW5lLWhlaWdodDogJGtlbmRvLWNoYXQtYnViYmxlLWxpbmUtaGVpZ2h0ICFkZWZhdWx0O1xuXG4vLy8gVGhlIGJhY2tncm91bmQgY29sb3Igb2YgdGhlIENoYXQuXG4vLy8gQGdyb3VwIGNoYXRcbiRrZW5kby1jaGF0LWJnOiBpZigka2VuZG8tZW5hYmxlLWNvbG9yLXN5c3RlbSwgay1jb2xvciggc3VyZmFjZSApLCBrLWdldC10aGVtZS1jb2xvci12YXIoIG5ldXRyYWwtMTAgKSkgIWRlZmF1bHQ7XG4vLy8gVGhlIHRleHQgY29sb3Igb2YgdGhlIENoYXQuXG4vLy8gQGdyb3VwIGNoYXRcbiRrZW5kby1jaGF0LXRleHQ6IGlmKCRrZW5kby1lbmFibGUtY29sb3Itc3lzdGVtLCBrLWNvbG9yKCBvbi1hcHAtc3VyZmFjZSApLCBrLWdldC10aGVtZS1jb2xvci12YXIoIG5ldXRyYWwtMTkwICkpICFkZWZhdWx0O1xuLy8vIFRoZSBib3JkZXIgY29sb3Igb2YgdGhlIENoYXQuXG4vLy8gQGdyb3VwIGNoYXRcbiRrZW5kby1jaGF0LWJvcmRlcjogaWYoJGtlbmRvLWVuYWJsZS1jb2xvci1zeXN0ZW0sIGNvbG9yLW1peChpbiBzcmdiLCBrLWNvbG9yKCBib3JkZXIgKSAxNiUsIHRyYW5zcGFyZW50KSwgay1nZXQtdGhlbWUtY29sb3ItdmFyKCBuZXV0cmFsLTMwICkpICFkZWZhdWx0O1xuXG4vLy8gVGhlIGJhY2tncm91bmQgY29sb3Igb2YgdGhlIENoYXQgYnViYmxlLlxuLy8vIEBncm91cCBjaGF0XG4ka2VuZG8tY2hhdC1idWJibGUtYmc6IHZhciggLS1rZW5kby1jb21wb25lbnQtYmcsIGluaGVyaXQgKSAhZGVmYXVsdDtcbi8vLyBUaGUgdGV4dCBjb2xvciBvZiB0aGUgQ2hhdCBidWJibGUuXG4vLy8gQGdyb3VwIGNoYXRcbiRrZW5kby1jaGF0LWJ1YmJsZS10ZXh0OiB2YXIoIC0ta2VuZG8tY29tcG9uZW50LXRleHQsIGluaGVyaXQgKSAhZGVmYXVsdDtcbi8vLyBUaGUgYm9yZGVyIGNvbG9yIG9mIHRoZSBDaGF0IGJ1YmJsZS5cbi8vLyBAZ3JvdXAgY2hhdFxuJGtlbmRvLWNoYXQtYnViYmxlLWJvcmRlcjogJGtlbmRvLWNoYXQtYnViYmxlLWJnICFkZWZhdWx0O1xuLy8vIFRoZSBib3ggc2hhZG93IG9mIHRoZSBDaGF0IGJ1YmJsZS5cbi8vLyBAZ3JvdXAgY2hhdFxuJGtlbmRvLWNoYXQtYnViYmxlLXNoYWRvdzogdmFyKCAtLWtlbmRvLWJveC1zaGFkb3ctZGVwdGgtMSwgbm9uZSApICFkZWZhdWx0O1xuLy8vIFRoZSBzaGFkb3cgb2YgdGhlIGhvdmVyZWQgQ2hhdCBidWJibGUuXG4vLy8gQGdyb3VwIGNoYXRcbiRrZW5kby1jaGF0LWJ1YmJsZS1ob3Zlci1zaGFkb3c6IHZhciggLS1rZW5kby1ib3gtc2hhZG93LWRlcHRoLTIsIG5vbmUgKSAhZGVmYXVsdDtcbi8vLyBUaGUgc2hhZG93IG9mIHRoZSBzZWxlY3RlZCBDaGF0IGJ1YmJsZS5cbi8vLyBAZ3JvdXAgY2hhdFxuJGtlbmRvLWNoYXQtYnViYmxlLXNlbGVjdGVkLXNoYWRvdzogdmFyKCAtLWtlbmRvLWJveC1zaGFkb3ctZGVwdGgtMywgbm9uZSApICFkZWZhdWx0O1xuXG4vLy8gVGhlIGJhY2tncm91bmQgY29sb3Igb2YgdGhlIENoYXQgYWx0IGJ1YmJsZS5cbi8vLyBAZ3JvdXAgY2hhdFxuJGtlbmRvLWNoYXQtYWx0LWJ1YmJsZS1iZzogaWYoJGtlbmRvLWVuYWJsZS1jb2xvci1zeXN0ZW0sIGstY29sb3IoIHByaW1hcnkgKSwgay1nZXQtdGhlbWUtY29sb3ItdmFyKCBwcmltYXJ5LTEwMCApKSAhZGVmYXVsdDtcbi8vLyBUaGUgdGV4dCBjb2xvciBvZiB0aGUgQ2hhdCBhbHQgYnViYmxlLlxuLy8vIEBncm91cCBjaGF0XG4ka2VuZG8tY2hhdC1hbHQtYnViYmxlLXRleHQ6IHZhciggLS1rZW5kby1jb21wb25lbnQtYmcsIGluaGVyaXQgKSAhZGVmYXVsdDtcbi8vLyBUaGUgYm9yZGVyIGNvbG9yIG9mIHRoZSBDaGF0IGFsdCBidWJibGUuXG4vLy8gQGdyb3VwIGNoYXRcbiRrZW5kby1jaGF0LWFsdC1idWJibGUtYm9yZGVyOiAka2VuZG8tY2hhdC1hbHQtYnViYmxlLWJnICFkZWZhdWx0O1xuLy8vIFRoZSBzaGFkb3cgb2YgdGhlIENoYXQgYWx0IGJ1YmJsZS5cbi8vLyBAZ3JvdXAgY2hhdFxuJGtlbmRvLWNoYXQtYWx0LWJ1YmJsZS1zaGFkb3c6IHZhciggLS1rZW5kby1ib3gtc2hhZG93LWRlcHRoLTEsIG5vbmUgKSAhZGVmYXVsdDtcbi8vLyBUaGUgc2hhZG93IG9mIHRoZSBob3ZlcmVkIENoYXQgYWx0IGJ1YmJsZS5cbi8vLyBAZ3JvdXAgY2hhdFxuJGtlbmRvLWNoYXQtYWx0LWJ1YmJsZS1ob3Zlci1zaGFkb3c6IHZhciggLS1rZW5kby1ib3gtc2hhZG93LWRlcHRoLTIsIG5vbmUgKSAhZGVmYXVsdDtcbi8vLyBUaGUgc2hhZG93IG9mIHRoZSBzZWxlY3RlZCBDaGF0IGFsdCBidWJibGUuXG4vLy8gQGdyb3VwIGNoYXRcbiRrZW5kby1jaGF0LWFsdC1idWJibGUtc2VsZWN0ZWQtc2hhZG93OiB2YXIoIC0ta2VuZG8tYm94LXNoYWRvdy1kZXB0aC0zLCBub25lICkgIWRlZmF1bHQ7XG5cbi8vLyBUaGUgYmFja2dyb3VuZCBjb2xvciBvZiB0aGUgQ2hhdCBxdWljayByZXBseS5cbi8vLyBAZ3JvdXAgY2hhdFxuJGtlbmRvLWNoYXQtcXVpY2stcmVwbHktYmc6IHRyYW5zcGFyZW50ICFkZWZhdWx0O1xuLy8vIFRoZSB0ZXh0IGNvbG9yIG9mIHRoZSBDaGF0IHF1aWNrIHJlcGx5LlxuLy8vIEBncm91cCBjaGF0XG4ka2VuZG8tY2hhdC1xdWljay1yZXBseS10ZXh0OiBpZigka2VuZG8tZW5hYmxlLWNvbG9yLXN5c3RlbSwgay1jb2xvciggcHJpbWFyeSApLCBrLWdldC10aGVtZS1jb2xvci12YXIoIHByaW1hcnktMTAwICkpICFkZWZhdWx0O1xuLy8vIFRoZSBib3JkZXIgY29sb3Igb2YgdGhlIENoYXQgcXVpY2sgcmVwbHkuXG4vLy8gQGdyb3VwIGNoYXRcbiRrZW5kby1jaGF0LXF1aWNrLXJlcGx5LWJvcmRlcjogaWYoJGtlbmRvLWVuYWJsZS1jb2xvci1zeXN0ZW0sIGstY29sb3IoIHByaW1hcnkgKSwgay1nZXQtdGhlbWUtY29sb3ItdmFyKCBwcmltYXJ5LTEwMCApKSAhZGVmYXVsdDtcblxuLy8vIFRoZSBiYWNrZ3JvdW5kIGNvbG9yIG9mIHRoZSBob3ZlcmVkIENoYXQgcXVpY2sgcmVwbHkuXG4vLy8gQGdyb3VwIGNoYXRcbiRrZW5kby1jaGF0LXF1aWNrLXJlcGx5LWhvdmVyLWJnOiBpZigka2VuZG8tZW5hYmxlLWNvbG9yLXN5c3RlbSwgay1jb2xvciggcHJpbWFyeSApLCBrLWdldC10aGVtZS1jb2xvci12YXIoIHByaW1hcnktMTAwICkpICFkZWZhdWx0O1xuLy8vIFRoZSB0ZXh0IGNvbG9yIG9mIHRoZSBob3ZlcmVkIENoYXQgcXVpY2sgcmVwbHkuXG4vLy8gQGdyb3VwIGNoYXRcbiRrZW5kby1jaGF0LXF1aWNrLXJlcGx5LWhvdmVyLXRleHQ6IHZhciggLS1rZW5kby1jb21wb25lbnQtYmcsIGluaGVyaXQgKSAhZGVmYXVsdDtcbi8vLyBUaGUgYm9yZGVyIGNvbG9yIG9mIHRoZSBob3ZlcmVkIENoYXQgcXVpY2sgcmVwbHkuXG4vLy8gQGdyb3VwIGNoYXRcbiRrZW5kby1jaGF0LXF1aWNrLXJlcGx5LWhvdmVyLWJvcmRlcjogaWYoJGtlbmRvLWVuYWJsZS1jb2xvci1zeXN0ZW0sIGstY29sb3IoIHByaW1hcnkgKSwgay1nZXQtdGhlbWUtY29sb3ItdmFyKCBwcmltYXJ5LTEwMCApKSAhZGVmYXVsdDtcblxuLy8vIFRoZSBvZmZzZXQgb2YgdGhlIGZvY3VzZWQgQ2hhdCBxdWljayByZXBseS5cbi8vLyBAZ3JvdXAgY2hhdFxuJGtlbmRvLWNoYXQtcXVpY2stcmVwbHktZm9jdXMtb2Zmc2V0OiBrLXNwYWNpbmcoMC41KSAhZGVmYXVsdDtcbi8vLyBUaGUgb3V0bGluZSB3aWR0aCBvZiB0aGUgZm9jdXNlZCBDaGF0IHF1aWNrIHJlcGx5LlxuLy8vIEBncm91cCBjaGF0XG4ka2VuZG8tY2hhdC1xdWljay1yZXBseS1mb2N1cy1vdXRsaW5lLXdpZHRoOiAxcHggIWRlZmF1bHQ7XG4vLy8gVGhlIG91dGxpbmUgc3R5bGUgb2YgdGhlIGZvY3VzZWQgQ2hhdCBxdWljayByZXBseS5cbi8vLyBAZ3JvdXAgY2hhdFxuJGtlbmRvLWNoYXQtcXVpY2stcmVwbHktZm9jdXMtb3V0bGluZS1zdHlsZTogc29saWQgIWRlZmF1bHQ7XG4iLCJAdXNlIFwiLi4vY29yZS9faW5kZXguc2Nzc1wiIGFzICo7XG5AdXNlIFwiLi9fdmFyaWFibGVzLnNjc3NcIiBhcyAqO1xuXG5AbWl4aW4ga2VuZG8tY2hhdC0tdGhlbWUoKSB7XG5cbiAgICAvLyBDaGF0XG4gICAgLmstY2hhdCB7XG4gICAgICAgIEBpbmNsdWRlIGZpbGwoXG4gICAgICAgICAgICB2YXIoIC0ta2VuZG8tY2hhdC10ZXh0LCAjeyAka2VuZG8tY2hhdC10ZXh0IH0gKSxcbiAgICAgICAgICAgIHZhciggLS1rZW5kby1jaGF0LWJnLCAjeyAka2VuZG8tY2hhdC1iZyB9ICksXG4gICAgICAgICAgICB2YXIoIC0ta2VuZG8tY2hhdC1ib3JkZXIsICN7ICRrZW5kby1jaGF0LWJvcmRlciB9IClcbiAgICAgICAgKTtcblxuXG4gICAgICAgIC8vIE1lc3NhZ2UgbWV0YVxuICAgICAgICAuay10aW1lc3RhbXAge1xuICAgICAgICAgICAgQGluY2x1ZGUgZmlsbChcbiAgICAgICAgICAgICAgICB2YXIoIC0ta2VuZG8tY2hhdC10aW1lc3RhbXAtdGV4dCwgI3sgJGtlbmRvLWNoYXQtdGltZXN0YW1wLXRleHQgfSApLFxuICAgICAgICAgICAgICAgIHZhciggLS1rZW5kby1jaGF0LXRpbWVzdGFtcC1iZywgI3sgJGtlbmRvLWNoYXQtdGltZXN0YW1wLWJnIH0gKVxuICAgICAgICAgICAgKTtcbiAgICAgICAgfVxuICAgICAgICAuay1hdXRob3Ige1xuICAgICAgICAgICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gICAgICAgIH1cblxuXG4gICAgICAgIC8vIEJ1YmJsZXNcbiAgICAgICAgLmstY2hhdC1idWJibGUge1xuICAgICAgICAgICAgQGluY2x1ZGUgZmlsbChcbiAgICAgICAgICAgICAgICB2YXIoIC0ta2VuZG8tY2hhdC1idWJibGUtdGV4dCwgI3sgJGtlbmRvLWNoYXQtYnViYmxlLXRleHQgfSApLFxuICAgICAgICAgICAgICAgIHZhciggLS1rZW5kby1jaGF0LWJ1YmJsZS1iZywgI3sgJGtlbmRvLWNoYXQtYnViYmxlLWJnIH0gKSxcbiAgICAgICAgICAgICAgICB2YXIoIC0ta2VuZG8tY2hhdC1idWJibGUtYm9yZGVyLCAjeyAka2VuZG8tY2hhdC1idWJibGUtYm9yZGVyIH0gKVxuICAgICAgICAgICAgKTtcbiAgICAgICAgICAgIEBpbmNsdWRlIGJveC1zaGFkb3coIHZhciggLS1rZW5kby1jaGF0LWJ1YmJsZS1zaGFkb3csICN7ICRrZW5kby1jaGF0LWJ1YmJsZS1zaGFkb3cgfSApICk7XG4gICAgICAgICAgICB0cmFuc2l0aW9uOiB2YXIoIC0ta2VuZG8tY2hhdC10cmFuc2l0aW9uLCAjeyRrZW5kby1jaGF0LXRyYW5zaXRpb24gfSApO1xuICAgICAgICAgICAgb3JkZXI6IC0xO1xuXG4gICAgICAgICAgICBhIHsgY29sb3I6IHZhciggLS1rZW5kby1jaGF0LWxpbmstdGV4dCwgI3sgJGtlbmRvLWNoYXQtbGluay10ZXh0IH0gKSB9O1xuICAgICAgICAgICAgYTpob3ZlciB7IGNvbG9yOiB2YXIoIC0ta2VuZG8tY2hhdC1saW5rLWhvdmVyLXRleHQsICN7ICRrZW5kby1jaGF0LWxpbmstaG92ZXItdGV4dCB9ICkgfTtcbiAgICAgICAgfVxuICAgICAgICAuay1jaGF0LWJ1YmJsZTpob3ZlciB7XG4gICAgICAgICAgICBAaW5jbHVkZSBib3gtc2hhZG93KCB2YXIoIC0ta2VuZG8tY2hhdC1idWJibGUtaG92ZXItc2hhZG93LCAjeyAka2VuZG8tY2hhdC1idWJibGUtaG92ZXItc2hhZG93IH0gKSApO1xuICAgICAgICB9XG4gICAgICAgIC5rLXNlbGVjdGVkIC5rLWNoYXQtYnViYmxlIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGJveC1zaGFkb3coIHZhciggLS1rZW5kby1jaGF0LWJ1YmJsZS1zZWxlY3RlZC1zaGFkb3csICN7ICRrZW5kby1jaGF0LWJ1YmJsZS1zZWxlY3RlZC1zaGFkb3cgfSApICk7XG4gICAgICAgIH1cblxuICAgICAgICAuay1hbHQgLmstY2hhdC1idWJibGUge1xuICAgICAgICAgICAgQGluY2x1ZGUgZmlsbChcbiAgICAgICAgICAgICAgICB2YXIoIC0ta2VuZG8tY2hhdC1hbHQtYnViYmxlLXRleHQsICN7ICRrZW5kby1jaGF0LWFsdC1idWJibGUtdGV4dCB9ICksXG4gICAgICAgICAgICAgICAgdmFyKCAtLWtlbmRvLWNoYXQtYWx0LWJ1YmJsZS1iZywgI3sgJGtlbmRvLWNoYXQtYWx0LWJ1YmJsZS1iZyB9ICksXG4gICAgICAgICAgICAgICAgdmFyKCAtLWtlbmRvLWNoYXQtYWx0LWJ1YmJsZS1ib3JkZXIsICN7ICRrZW5kby1jaGF0LWFsdC1idWJibGUtYm9yZGVyIH0gKVxuICAgICAgICAgICAgKTtcbiAgICAgICAgICAgIEBpbmNsdWRlIGJveC1zaGFkb3coIHZhciggLS1rZW5kby1jaGF0LWFsdC1idWJibGUtc2hhZG93LCAjeyAka2VuZG8tY2hhdC1hbHQtYnViYmxlLXNoYWRvdyB9ICkgKTtcbiAgICAgICAgfVxuICAgICAgICAuay1hbHQgLmstY2hhdC1idWJibGU6aG92ZXIge1xuICAgICAgICAgICAgQGluY2x1ZGUgYm94LXNoYWRvdyggdmFyKCAtLWtlbmRvLWNoYXQtYWx0LWJ1YmJsZS1ob3Zlci1zaGFkb3csICN7ICRrZW5kby1jaGF0LWFsdC1idWJibGUtaG92ZXItc2hhZG93IH0gKSApO1xuICAgICAgICB9XG4gICAgICAgIC5rLWFsdCAuay1zZWxlY3RlZCAuay1jaGF0LWJ1YmJsZSB7XG4gICAgICAgICAgICBAaW5jbHVkZSBib3gtc2hhZG93KCB2YXIoIC0ta2VuZG8tY2hhdC1hbHQtYnViYmxlLXNlbGVjdGVkLXNoYWRvdywgI3sgJGtlbmRvLWNoYXQtYWx0LWJ1YmJsZS1zZWxlY3RlZC1zaGFkb3cgfSApICk7XG4gICAgICAgIH1cblxuXG4gICAgICAgIC8vIFF1aWNrIHJlcGxpZXNcbiAgICAgICAgLmstcXVpY2stcmVwbHkge1xuICAgICAgICAgICAgQGluY2x1ZGUgZmlsbChcbiAgICAgICAgICAgICAgICB2YXIoIC0ta2VuZG8tY2hhdC1xdWljay1yZXBseS10ZXh0LCAjeyAka2VuZG8tY2hhdC1xdWljay1yZXBseS10ZXh0IH0gKSxcbiAgICAgICAgICAgICAgICB2YXIoIC0ta2VuZG8tY2hhdC1xdWljay1yZXBseS1iZywgI3sgJGtlbmRvLWNoYXQtcXVpY2stcmVwbHktYmcgfSApLFxuICAgICAgICAgICAgICAgIHZhciggLS1rZW5kby1jaGF0LXF1aWNrLXJlcGx5LWJvcmRlciwgI3sgJGtlbmRvLWNoYXQtcXVpY2stcmVwbHktYm9yZGVyIH0gKVxuICAgICAgICAgICAgKTtcblxuICAgICAgICAgICAgJjpob3ZlcixcbiAgICAgICAgICAgICYuay1ob3ZlciB7XG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgZmlsbChcbiAgICAgICAgICAgICAgICAgICAgdmFyKCAtLWtlbmRvLWNoYXQtcXVpY2stcmVwbHktaG92ZXItdGV4dCwgI3sgJGtlbmRvLWNoYXQtcXVpY2stcmVwbHktaG92ZXItdGV4dCB9ICksXG4gICAgICAgICAgICAgICAgICAgIHZhciggLS1rZW5kby1jaGF0LXF1aWNrLXJlcGx5LWhvdmVyLWJnLCAjeyAka2VuZG8tY2hhdC1xdWljay1yZXBseS1ob3Zlci1iZyB9ICksXG4gICAgICAgICAgICAgICAgICAgIHZhciggLS1rZW5kby1jaGF0LXF1aWNrLXJlcGx5LWhvdmVyLWJvcmRlciwgI3sgJGtlbmRvLWNoYXQtcXVpY2stcmVwbHktaG92ZXItYm9yZGVyIH0gKVxuICAgICAgICAgICAgICAgICk7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICY6Zm9jdXM6OmFmdGVyLFxuICAgICAgICAgICAgJi5rLWZvY3VzOjphZnRlciB7XG4gICAgICAgICAgICAgICAgb3V0bGluZS1jb2xvcjogdmFyKCAtLWtlbmRvLWNoYXQtcXVpY2stcmVwbHktZm9jdXMtb3V0bGluZSwgaW5pdGlhbCApXG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cblxuICAgIC8vIFRvb2xiYXJcbiAgICAuay1jaGF0LXRvb2xiYXIsXG4gICAgLmstY2hhdCAuay10b29sYmFyLWJveCB7XG4gICAgICAgIEBpbmNsdWRlIGZpbGwoXG4gICAgICAgICAgICB2YXIoIC0ta2VuZG8tY2hhdC10b29sYmFyLXRleHQsICN7ICRrZW5kby1jaGF0LXRvb2xiYXItdGV4dCB9ICksXG4gICAgICAgICAgICB2YXIoIC0ta2VuZG8tY2hhdC10b29sYmFyLWJnLCAjeyAka2VuZG8tY2hhdC10b29sYmFyLWJnIH0gKSxcbiAgICAgICAgICAgIHZhciggLS1rZW5kby1jaGF0LXRvb2xiYXItYm9yZGVyLCAjeyAka2VuZG8tY2hhdC10b29sYmFyLWJvcmRlciB9IClcbiAgICAgICAgKTtcbiAgICB9XG5cbn1cbiIsIkB1c2UgXCIuLi9jb3JlL19pbmRleC5zY3NzXCIgYXMgKjtcbkB1c2UgXCIuL192YXJpYWJsZXMuc2Nzc1wiIGFzICo7XG5cbkBtaXhpbiBrZW5kby1tZWRpYS1wbGF5ZXItLWxheW91dCgpIHtcblxuICAgIC8vIEJhc2VcbiAgICAuay1tZWRpYXBsYXllciB7XG4gICAgICAgIGJvcmRlci13aWR0aDogdmFyKCAtLWtlbmRvLW1lZGlhLXBsYXllci1ib3JkZXItd2lkdGgsICN7JGtlbmRvLW1lZGlhLXBsYXllci1ib3JkZXItd2lkdGh9ICk7XG4gICAgICAgIGJvcmRlci1zdHlsZTogc29saWQ7XG4gICAgICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgICAgIG91dGxpbmU6IDA7XG4gICAgICAgIGZvbnQtZmFtaWx5OiB2YXIoIC0ta2VuZG8tbWVkaWEtcGxheWVyLWZvbnQtZmFtaWx5LCAjeyRrZW5kby1tZWRpYS1wbGF5ZXItZm9udC1mYW1pbHl9ICk7XG4gICAgICAgIGZvbnQtc2l6ZTogdmFyKCAtLWtlbmRvLW1lZGlhLXBsYXllci1mb250LXNpemUsICN7JGtlbmRvLW1lZGlhLXBsYXllci1mb250LXNpemV9ICk7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiB2YXIoIC0ta2VuZG8tbWVkaWEtcGxheWVyLWxpbmUtaGVpZ2h0LCAjeyRrZW5kby1tZWRpYS1wbGF5ZXItbGluZS1oZWlnaHR9ICk7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIC13ZWJraXQtdG91Y2gtY2FsbG91dDogbm9uZTtcbiAgICAgICAgLXdlYmtpdC10YXAtaGlnaGxpZ2h0LWNvbG9yOiAka2VuZG8tY29sb3ItcmdiYS10cmFuc3BhcmVudDtcblxuICAgICAgICAqLFxuICAgICAgICAqOjpiZWZvcmUsXG4gICAgICAgICo6OmFmdGVyIHtcbiAgICAgICAgICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgICAgIH1cblxuICAgICAgICA+IGlmcmFtZSB7XG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgICAgIGJvcmRlcjogMDtcbiAgICAgICAgICAgIHZlcnRpY2FsLWFsaWduOiB0b3A7XG4gICAgICAgIH1cbiAgICB9XG5cblxuICAgIC8vIE92ZXJsYXlcbiAgICAuay1tZWRpYXBsYXllci1vdmVybGF5IHtcbiAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgIH1cblxuXG4gICAgLy8gVGl0bGUgYmFyXG4gICAgLmstbWVkaWFwbGF5ZXItdGl0bGViYXIge1xuICAgICAgICBmb250LXNpemU6IHZhciggLS1rZW5kby1tZWRpYS1wbGF5ZXItdGl0bGUtZm9udC1zaXplLCAjeyRrZW5kby1tZWRpYS1wbGF5ZXItdGl0bGUtZm9udC1zaXplfSApO1xuICAgICAgICBwYWRkaW5nLWlubGluZTogdmFyKCAtLWtlbmRvLW1lZGlhLXBsYXllci10aXRsZWJhci1wYWRkaW5nLXgsICN7JGtlbmRvLW1lZGlhLXBsYXllci10aXRsZWJhci1wYWRkaW5nLXh9ICk7XG4gICAgICAgIHBhZGRpbmctYmxvY2s6IHZhciggLS1rZW5kby1tZWRpYS1wbGF5ZXItdGl0bGViYXItcGFkZGluZy15LCAjeyRrZW5kby1tZWRpYS1wbGF5ZXItdGl0bGViYXItcGFkZGluZy15fSApO1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHotaW5kZXg6IDI7XG4gICAgICAgIHRvcDogMDtcbiAgICAgICAgbGVmdDogMDtcbiAgICAgICAgcmlnaHQ6IDA7XG4gICAgfVxuXG5cbiAgICAvLyBUb29sYmFyXG4gICAgLmstbWVkaWFwbGF5ZXItdG9vbGJhci13cmFwIHtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB6LWluZGV4OiAyO1xuICAgICAgICBib3R0b206IDA7XG4gICAgICAgIGxlZnQ6IDA7XG4gICAgICAgIHJpZ2h0OiAwO1xuICAgIH1cbiAgICAuay1tZWRpYXBsYXllci10b29sYmFyIHtcbiAgICAgICAgYm9yZGVyLXdpZHRoOiAwO1xuICAgICAgICB3aWR0aDogMTAwJSAhaW1wb3J0YW50OyAvLyBzdHlsZWxpbnQtZGlzYWJsZS1saW5lIGRlY2xhcmF0aW9uLW5vLWltcG9ydGFudFxuICAgICAgICBib3gtc2hhZG93OiBub25lO1xuXG4gICAgICAgIC5rLWRyb3Bkb3duLWxpc3Qge1xuICAgICAgICAgICAgd2lkdGg6IGF1dG87XG4gICAgICAgIH1cbiAgICB9XG4gICAgLmstbWVkaWFwbGF5ZXItdGltZS13cmFwIHtcbiAgICAgICAgZmxleDogMTtcbiAgICB9XG5cbiAgICAuay1tZWRpYXBsYXllci12b2x1bWUge1xuICAgICAgICB3aWR0aDogMTAwcHg7XG4gICAgfVxuXG5cbiAgICAvLyBTZWVrYmFyXG4gICAgLmstbWVkaWFwbGF5ZXItc2Vla2JhciB7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHotaW5kZXg6IDM7XG4gICAgICAgIHRvcDogMDtcbiAgICAgICAgbGVmdDogMDtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKCAtNTAlICk7XG4gICAgfVxuXG4gICAgLmstbWVkaWFwbGF5ZXItZnVsbHNjcmVlbiB7XG4gICAgICAgIHotaW5kZXg6IDEwMDAwO1xuICAgICAgICBwb3NpdGlvbjogZml4ZWQ7XG4gICAgICAgIHRvcDogMDtcbiAgICAgICAgbGVmdDogMDtcbiAgICAgICAgd2lkdGg6IDEwMCUgIWltcG9ydGFudDsgLy8gc3R5bGVsaW50LWRpc2FibGUtbGluZSBkZWNsYXJhdGlvbi1uby1pbXBvcnRhbnRcbiAgICAgICAgaGVpZ2h0OiAxMDAlICFpbXBvcnRhbnQ7IC8vIHN0eWxlbGludC1kaXNhYmxlLWxpbmUgZGVjbGFyYXRpb24tbm8taW1wb3J0YW50XG4gICAgfVxuXG59XG4iLCJAdXNlIFwiLi4vY29yZS9faW5kZXguc2Nzc1wiIGFzICo7XG5AdXNlIFwiLi9fdmFyaWFibGVzLnNjc3NcIiBhcyAqO1xuXG5AbWl4aW4ga2VuZG8tbWVkaWEtcGxheWVyLS10aGVtZSgpIHtcblxuICAgIC5rLW1lZGlhcGxheWVyIHtcbiAgICAgICAgQGluY2x1ZGUgZmlsbChcbiAgICAgICAgICAgIHZhciggLS1rZW5kby1tZWRpYS1wbGF5ZXItdGV4dCwgI3ska2VuZG8tbWVkaWEtcGxheWVyLXRleHR9ICksXG4gICAgICAgICAgICB2YXIoIC0ta2VuZG8tbWVkaWEtcGxheWVyLWJnLCAjeyRrZW5kby1tZWRpYS1wbGF5ZXItYmd9ICksXG4gICAgICAgICAgICB2YXIoIC0ta2VuZG8tbWVkaWEtcGxheWVyLWJvcmRlciwgI3ska2VuZG8tbWVkaWEtcGxheWVyLWJvcmRlcn0gKVxuICAgICAgICApO1xuICAgIH1cblxuXG4gICAgLmstbWVkaWFwbGF5ZXItb3ZlcmxheSB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IHZhciggLS1rZW5kby1tZWRpYS1wbGF5ZXItb3ZlcmxheS1iZywgI3ska2VuZG8tbWVkaWEtcGxheWVyLW92ZXJsYXktYmd9ICk7XG4gICAgfVxuXG5cbiAgICAuay1tZWRpYXBsYXllci10aXRsZWJhciB7XG4gICAgICAgIGNvbG9yOiB2YXIoIC0ta2VuZG8tbWVkaWEtcGxheWVyLXRpdGxlYmFyLXRleHQsICN7JGtlbmRvLW1lZGlhLXBsYXllci10aXRsZWJhci10ZXh0fSApO1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoIC0ta2VuZG8tbWVkaWEtcGxheWVyLXRpdGxlYmFyLWJnLCAjeyRrZW5kby1tZWRpYS1wbGF5ZXItdGl0bGViYXItYmd9ICk7XG4gICAgfVxuXG5cbiAgICAuay1tZWRpYXBsYXllci1xdWFsaXR5IHtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiB2YXIoIC0ta2VuZG8tbWVkaWEtcGxheWVyLXF1YWxpdHktYm9yZGVyLCAjeyRrZW5kby1tZWRpYS1wbGF5ZXItcXVhbGl0eS1ib3JkZXJ9ICk7XG4gICAgfVxufVxuIiwiQHVzZSBcIi4uL2NvcmUvX2luZGV4LnNjc3NcIiBhcyAqO1xuQHVzZSBcIi4vX3ZhcmlhYmxlcy5zY3NzXCIgYXMgKjtcblxuQG1peGluIGtlbmRvLXRpbWVsaW5lLS1sYXlvdXQoKSB7XG5cbiAgICAuay10aW1lbGluZSB7XG4gICAgICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgICAgIG91dGxpbmU6IDA7XG4gICAgICAgIGZvbnQtZmFtaWx5OiB2YXIoIC0ta2VuZG8tdGltZWxpbmUtZm9udC1mYW1pbHksICN7ICRrZW5kby10aW1lbGluZS1mb250LWZhbWlseSB9ICk7XG4gICAgICAgIGZvbnQtc2l6ZTogdmFyKCAtLWtlbmRvLXRpbWVsaW5lLWZvbnQtc2l6ZSwgI3sgJGtlbmRvLXRpbWVsaW5lLWZvbnQtc2l6ZSB9ICk7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiB2YXIoIC0ta2VuZG8tdGltZWxpbmUtbGluZS1oZWlnaHQsICN7ICRrZW5kby10aW1lbGluZS1saW5lLWhlaWdodCB9ICk7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICAgICAgLXdlYmtpdC10b3VjaC1jYWxsb3V0OiBub25lO1xuICAgICAgICAtd2Via2l0LXRhcC1oaWdobGlnaHQtY29sb3I6ICRrZW5kby1jb2xvci1yZ2JhLXRyYW5zcGFyZW50O1xuXG4gICAgICAgICosXG4gICAgICAgICo6OmJlZm9yZSxcbiAgICAgICAgKjo6YWZ0ZXIsXG4gICAgICAgICY6OmJlZm9yZSxcbiAgICAgICAgJjo6YWZ0ZXIge1xuICAgICAgICAgICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICAgICAgfVxuXG4gICAgICAgIHVsIHtcbiAgICAgICAgICAgIG1hcmdpbjogMCAwIDFweDtcbiAgICAgICAgICAgIHBhZGRpbmc6IDA7XG5cbiAgICAgICAgICAgIGxpIHtcbiAgICAgICAgICAgICAgICBsaXN0LXN0eWxlLXR5cGU6IG5vbmU7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAuay10aW1lbGluZS1mbGFnIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgICAgIHBhZGRpbmctYmxvY2s6IHZhciggLS1rZW5kby10aW1lbGluZS1mbGFnLXBhZGRpbmcteSwgI3sgJGtlbmRvLXRpbWVsaW5lLWZsYWctcGFkZGluZy15fSApO1xuICAgICAgICAgICAgcGFkZGluZy1pbmxpbmU6IHZhciggLS1rZW5kby10aW1lbGluZS1mbGFnLXBhZGRpbmcteCwgI3sgJGtlbmRvLXRpbWVsaW5lLWZsYWctcGFkZGluZy14IH0gKTtcbiAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IHZhciggLS1rZW5kby10aW1lbGluZS1mbGFnLWJvcmRlci1yYWRpdXMsICN7ICRrZW5kby10aW1lbGluZS1mbGFnLWJvcmRlci1yYWRpdXMgfSApO1xuICAgICAgICAgICAgbGluZS1oZWlnaHQ6IHZhciggLS1rZW5kby10aW1lbGluZS1mbGFnLWxpbmUtaGVpZ2h0LCAjeyAka2VuZG8tdGltZWxpbmUtZmxhZy1saW5lLWhlaWdodCB9ICk7XG4gICAgICAgICAgICBtaW4td2lkdGg6IHZhciggLS1rZW5kby10aW1lbGluZS1mbGFnLW1pbi13aWR0aCwgI3sgJGtlbmRvLXRpbWVsaW5lLWZsYWctbWluLXdpZHRoIH0gKTtcbiAgICAgICAgICAgIG1heC13aWR0aDogdmFyKCAtLWtlbmRvLXRpbWVsaW5lLWZsYWctbWF4LXdpZHRoLCAjeyAka2VuZG8tdGltZWxpbmUtZmxhZy1tYXgtd2lkdGggfSApO1xuICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICAgICAgei1pbmRleDogMTtcbiAgICAgICAgfVxuXG4gICAgICAgIC5rLXRpbWVsaW5lLWNpcmNsZSB7XG4gICAgICAgICAgICB3aWR0aDogdmFyKCAtLWtlbmRvLXRpbWVsaW5lLWNpcmNsZS13aWR0aCwgI3sgJGtlbmRvLXRpbWVsaW5lLWNpcmNsZS13aWR0aCB9ICk7XG4gICAgICAgICAgICBoZWlnaHQ6IHZhciggLS1rZW5kby10aW1lbGluZS1jaXJjbGUtaGVpZ2h0LCAjeyAka2VuZG8tdGltZWxpbmUtY2lyY2xlLWhlaWdodCB9ICk7XG4gICAgICAgICAgICBib3JkZXItcmFkaXVzOiA1MCU7XG4gICAgICAgICAgICBmbGV4LXNocmluazogMDtcbiAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgICAgIHotaW5kZXg6IDE7XG4gICAgICAgIH1cblxuICAgICAgICAmLmstdGltZWxpbmUtZGF0ZXMtaGlkZGVuIHtcbiAgICAgICAgICAgIC5rLXRpbWVsaW5lLWRhdGUge1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAmLmstdGltZWxpbmUtY29sbGFwc2libGUge1xuICAgICAgICAgICAgLmstY2FyZC1oZWFkZXIge1xuICAgICAgICAgICAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLmstZXZlbnQtY29sbGFwc2Uge1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAuay10aW1lbGluZS1jYXJkIHtcbiAgICAgICAgLmstY2FyZCB7XG4gICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgICAgICBvdmVyZmxvdzogdmlzaWJsZTtcblxuICAgICAgICAgICAgLmstY2FyZC1oZWFkZXIge1xuICAgICAgICAgICAgICAgIG92ZXJmbG93OiB2aXNpYmxlO1xuICAgICAgICAgICAgICAgIGJvcmRlci1ib3R0b206IDA7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC5rLWNhcmQtaGVhZGVyICsgLmstY2FyZC1ib2R5IHtcbiAgICAgICAgICAgICAgICBwYWRkaW5nLWJsb2NrLXN0YXJ0OiAwO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAuay1jYXJkLWJvZHkge1xuICAgICAgICAgICAgICAgIG92ZXJmbG93LXk6IGF1dG87XG5cbiAgICAgICAgICAgICAgICAvLyBTY3JvbGxiYXIgc3R5bGVzIGZvciBNb3ppbGxhXG4gICAgICAgICAgICAgICAgc2Nyb2xsYmFyLXdpZHRoOiB0aGluO1xuXG4gICAgICAgICAgICAgICAgLy8gU2Nyb2xsYmFyIHN0eWxlcyBmb3IgQ2hyb21lLCBTYWZhcmkgYW5kIE9wZXJhXG4gICAgICAgICAgICAgICAgJjo6LXdlYmtpdC1zY3JvbGxiYXIge1xuICAgICAgICAgICAgICAgICAgICB3aWR0aDogNXB4O1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICY6Oi13ZWJraXQtc2Nyb2xsYmFyLXRodW1iIHtcbiAgICAgICAgICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogdmFyKCAtLWtlbmRvLXRpbWVsaW5lLWZsYWctYm9yZGVyLXJhZGl1cywgI3sgJGtlbmRvLXRpbWVsaW5lLWZsYWctYm9yZGVyLXJhZGl1cyB9ICk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLmstdGltZWxpbmUtY2FyZC1jYWxsb3V0IHtcbiAgICAgICAgICAgICYuay1jYWxsb3V0LXcsXG4gICAgICAgICAgICAmLmstY2FsbG91dC1lIHtcbiAgICAgICAgICAgICAgICB0b3A6IHZhciggLS1rZW5kby10aW1lbGluZS10cmFjay1ldmVudC1vZmZzZXQsICN7ICRrZW5kby10aW1lbGluZS10cmFjay1ldmVudC1vZmZzZXQgfSApO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgLmstdGltZWxpbmUtdmVydGljYWwsXG4gICAgLmstdGltZWxpbmUtaG9yaXpvbnRhbCB7XG4gICAgICAgIHBhZGRpbmctYmxvY2s6IDA7XG4gICAgICAgIHBhZGRpbmctaW5saW5lOiB2YXIoIC0ta2VuZG8tdGltZWxpbmUtc3BhY2luZy14LCAjeyAka2VuZG8tdGltZWxpbmUtc3BhY2luZy14IH0gKTtcbiAgICAgICAgbWFyZ2luLWJsb2NrOiB2YXIoIC0ta2VuZG8tdGltZWxpbmUtc3BhY2luZy15LCAjeyAka2VuZG8tdGltZWxpbmUtc3BhY2luZy15IH0gKTtcbiAgICAgICAgbWFyZ2luLWlubGluZTogMDtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgYm9yZGVyOiAwO1xuICAgIH1cblxuICAgIC5rLXRpbWVsaW5lLXZlcnRpY2FsLFxuICAgIC5rLXRpbWVsaW5lLWhvcml6b250YWwgLmstdGltZWxpbmUtdHJhY2std3JhcCB7XG4gICAgICAgICY6OmFmdGVyIHtcbiAgICAgICAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICB0b3A6IDA7XG4gICAgICAgICAgICBib3JkZXItd2lkdGg6IHZhciggLS1rZW5kby10aW1lbGluZS10cmFjay1ib3JkZXItd2lkdGgsICN7ICRrZW5kby10aW1lbGluZS10cmFjay1ib3JkZXItd2lkdGggfSApO1xuICAgICAgICAgICAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5rLXRpbWVsaW5lLXZlcnRpY2FsIHtcbiAgICAgICAgcGFkZGluZy1pbmxpbmUtc3RhcnQ6IHZhciggLS1rZW5kby10aW1lbGluZS12ZXJ0aWNhbC1wYWRkaW5nLXdpdGgtZGF0ZXMtY2FsYywgI3sgJGtlbmRvLXRpbWVsaW5lLXZlcnRpY2FsLXBhZGRpbmctd2l0aC1kYXRlcy1jYWxjIH0gKTtcblxuICAgICAgICAmLmstdGltZWxpbmUtZGF0ZXMtaGlkZGVuIHtcbiAgICAgICAgICAgIHBhZGRpbmctaW5saW5lLXN0YXJ0OiB2YXIoIC0ta2VuZG8tdGltZWxpbmUtdmVydGljYWwtcGFkZGluZy1jYWxjLCAjeyAka2VuZG8tdGltZWxpbmUtdmVydGljYWwtcGFkZGluZy1jYWxjIH0gKTtcbiAgICAgICAgfVxuXG4gICAgICAgICY6OmFmdGVyIHtcbiAgICAgICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgICAgIHdpZHRoOiB2YXIoIC0ta2VuZG8tdGltZWxpbmUtdHJhY2stc2l6ZSwgI3sgJGtlbmRvLXRpbWVsaW5lLXRyYWNrLXNpemUgfSApO1xuICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpO1xuICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogdmFyKCAtLWtlbmRvLXRpbWVsaW5lLXZlcnRpY2FsLWJvcmRlci1yYWRpdXMsICN7ICRrZW5kby10aW1lbGluZS12ZXJ0aWNhbC1ib3JkZXItcmFkaXVzIH0gKTtcbiAgICAgICAgfVxuXG4gICAgICAgIC5rLXRpbWVsaW5lLWZsYWctd3JhcCB7XG4gICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcblxuICAgICAgICAgICAgJjpmaXJzdC1jaGlsZCB7XG4gICAgICAgICAgICAgICAgcGFkZGluZy1ibG9jay1zdGFydDogdmFyKCAtLWtlbmRvLXRpbWVsaW5lLXNwYWNpbmcteSwgI3sgJGtlbmRvLXRpbWVsaW5lLXNwYWNpbmcteX0gKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC5rLXRpbWVsaW5lLWZsYWcge1xuICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpO1xuICAgICAgICB9XG5cbiAgICAgICAgLmstdGltZWxpbmUtZGF0ZS13cmFwIHtcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgIHBhZGRpbmctaW5saW5lLWVuZDogdmFyKCAtLWtlbmRvLXRpbWVsaW5lLWl0ZW1zLXBhZGRpbmcsICN7ICRrZW5kby10aW1lbGluZS1pdGVtcy1wYWRkaW5nfSApO1xuICAgICAgICAgICAgbWFyZ2luLWJsb2NrLXN0YXJ0OiB2YXIoIC0ta2VuZG8tdGltZWxpbmUtdHJhY2stZXZlbnQtb2Zmc2V0LCAjeyAka2VuZG8tdGltZWxpbmUtdHJhY2stZXZlbnQtb2Zmc2V0IH0gKTtcbiAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKC0xMDAlLCAtNTAlKTtcbiAgICAgICAgICAgIHRleHQtYWxpZ246IGVuZDtcbiAgICAgICAgfVxuXG4gICAgICAgIC5rLXRpbWVsaW5lLWV2ZW50IHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICBhbGlnbi1pdGVtczogZmxleC1zdGFydDtcbiAgICAgICAgICAgIHBhZGRpbmctaW5saW5lOiAwO1xuICAgICAgICAgICAgcGFkZGluZy1ibG9jazogdmFyKCAtLWtlbmRvLXRpbWVsaW5lLXNwYWNpbmcteSwgI3sgJGtlbmRvLXRpbWVsaW5lLXNwYWNpbmcteX0gKTtcbiAgICAgICAgfVxuXG4gICAgICAgIC5rLXRpbWVsaW5lLWNhcmQge1xuICAgICAgICAgICAgcGFkZGluZy1pbmxpbmUtc3RhcnQ6IHZhciggLS1rZW5kby10aW1lbGluZS1pdGVtcy1wYWRkaW5nLCAjeyAka2VuZG8tdGltZWxpbmUtaXRlbXMtcGFkZGluZyB9ICk7XG5cbiAgICAgICAgICAgIC5rLWNhcmQge1xuICAgICAgICAgICAgICAgIG1hcmdpbi1pbmxpbmUtc3RhcnQ6IHZhciggLS1rZW5kby10aW1lbGluZS1pdGVtcy1wYWRkaW5nLCAjeyAka2VuZG8tdGltZWxpbmUtaXRlbXMtcGFkZGluZyB9ICk7XG4gICAgICAgICAgICAgICAgbWluLWhlaWdodDogdmFyKCAtLWtlbmRvLXRpbWVsaW5lLWV2ZW50LW1pbi1oZWlnaHQtY2FsYywgI3sgJGtlbmRvLXRpbWVsaW5lLWV2ZW50LW1pbi1oZWlnaHQtY2FsY30gKTtcbiAgICAgICAgICAgICAgICB3aWR0aDogdmFyKCAtLWtlbmRvLXRpbWVsaW5lLWV2ZW50LXdpZHRoLCAjeyAka2VuZG8tdGltZWxpbmUtZXZlbnQtd2lkdGggfSApO1xuICAgICAgICAgICAgICAgIG1heC13aWR0aDogMTAwJTtcblxuICAgICAgICAgICAgICAgIC5rLWNhcmQtaGVhZGVyIHtcbiAgICAgICAgICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogMDsgLy8gSW4gdmVydGljYWwgY29sbGFwc2VkIG1vZGUgdGhlcmUgc2hvbGQgYmUgYSBib3R0b20gYm9yZGVyIHJhZGl1c1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIC5rLWNhcmQtdGl0bGUge1xuICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG5cbiAgICAgICAgICAgICAgICAgICAgLmstZXZlbnQtdGl0bGUge1xuICAgICAgICAgICAgICAgICAgICAgICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgICAgICAgICAgICAgICAgICAgICAgIHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xuICAgICAgICAgICAgICAgICAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAgICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAuay1ldmVudC1jb2xsYXBzZSB7XG4gICAgICAgICAgICAgICAgbWFyZ2luLWJsb2NrOiBjYWxjKCB2YXIoIC0ta2VuZG8tdGltZWxpbmUtaWNvbi1zcGFjaW5nLCAjeyAka2VuZG8tdGltZWxpbmUtaWNvbi1zcGFjaW5nIH0gKSAqIC0xKTtcbiAgICAgICAgICAgICAgICBtYXJnaW4taW5saW5lOiAwO1xuICAgICAgICAgICAgICAgIHRyYW5zZm9ybTogcm90YXRlKDkwZGVnKTtcbiAgICAgICAgICAgICAgICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gLjJzIGVhc2UtaW4tb3V0O1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAmLmstY29sbGFwc2VkIHtcbiAgICAgICAgICAgICAgICAuay1jYXJkLWJvZHksXG4gICAgICAgICAgICAgICAgLmstY2FyZC1hY3Rpb25zIHtcbiAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAuay1ldmVudC1jb2xsYXBzZSB7XG4gICAgICAgICAgICAgICAgICAgIHRyYW5zZm9ybTogcm90YXRlKDBkZWcpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cblxuICAgICAgICB9XG5cbiAgICAgICAgLmstdGltZWxpbmUtY2lyY2xlIHtcbiAgICAgICAgICAgIG1hcmdpbi1ibG9jay1zdGFydDogdmFyKCAtLWtlbmRvLXRpbWVsaW5lLXRyYWNrLWV2ZW50LW9mZnNldCwgI3sgJGtlbmRvLXRpbWVsaW5lLXRyYWNrLWV2ZW50LW9mZnNldCB9ICk7XG4gICAgICAgICAgICBtYXJnaW4taW5saW5lLWVuZDogY2FsYyggLTEgKiB2YXIoIC0ta2VuZG8tdGltZWxpbmUtY2lyY2xlLXdpZHRoLCAjeyAka2VuZG8tdGltZWxpbmUtY2lyY2xlLXdpZHRofSApIC8gMik7XG4gICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAtNTAlKTtcbiAgICAgICAgfVxuXG4gICAgICAgICYuay10aW1lbGluZS1hbHRlcm5hdGluZyB7XG4gICAgICAgICAgICBwYWRkaW5nLWlubGluZS1zdGFydDogdmFyKCAtLWtlbmRvLXRpbWVsaW5lLXNwYWNpbmcteCwgI3sgJGtlbmRvLXRpbWVsaW5lLXNwYWNpbmcteCB9ICk7XG5cbiAgICAgICAgICAgICY6OmFmdGVyIHtcbiAgICAgICAgICAgICAgICBsZWZ0OiA1MCU7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC5rLXRpbWVsaW5lLWZsYWctd3JhcCB7XG4gICAgICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC5rLXRpbWVsaW5lLWZsYWcge1xuICAgICAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgwKTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLmstdGltZWxpbmUtZXZlbnQge1xuICAgICAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcblxuICAgICAgICAgICAgICAgICYuay1yZXZlcnNlIHtcbiAgICAgICAgICAgICAgICAgICAgZmxleC1kaXJlY3Rpb246IHJvdy1yZXZlcnNlO1xuXG4gICAgICAgICAgICAgICAgICAgIC5rLXRpbWVsaW5lLWRhdGUtd3JhcCB7XG4gICAgICAgICAgICAgICAgICAgICAgICB0ZXh0LWFsaWduOiBzdGFydDtcbiAgICAgICAgICAgICAgICAgICAgICAgIHBhZGRpbmctaW5saW5lLWVuZDogMDtcbiAgICAgICAgICAgICAgICAgICAgICAgIHBhZGRpbmctaW5saW5lLXN0YXJ0OiB2YXIoIC0ta2VuZG8tdGltZWxpbmUtaXRlbXMtcGFkZGluZywgI3sgJGtlbmRvLXRpbWVsaW5lLWl0ZW1zLXBhZGRpbmcgfSApO1xuICAgICAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAgICAgLmstdGltZWxpbmUtY2FyZCB7XG4gICAgICAgICAgICAgICAgICAgICAgICBwYWRkaW5nLWlubGluZS1zdGFydDogMDtcbiAgICAgICAgICAgICAgICAgICAgICAgIHBhZGRpbmctaW5saW5lLWVuZDogdmFyKCAtLWtlbmRvLXRpbWVsaW5lLWl0ZW1zLXBhZGRpbmcsICN7ICRrZW5kby10aW1lbGluZS1pdGVtcy1wYWRkaW5nfSApO1xuXG4gICAgICAgICAgICAgICAgICAgICAgICAuay1jYXJkIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXJnaW4taW5saW5lLXN0YXJ0OiBhdXRvO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hcmdpbi1pbmxpbmUtZW5kOiB2YXIoIC0ta2VuZG8tdGltZWxpbmUtaXRlbXMtcGFkZGluZywgI3sgJGtlbmRvLXRpbWVsaW5lLWl0ZW1zLXBhZGRpbmd9ICk7XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC5rLXRpbWVsaW5lLWNhcmQsXG4gICAgICAgICAgICAuay10aW1lbGluZS1kYXRlLXdyYXAge1xuICAgICAgICAgICAgICAgIGZsZXgtYmFzaXM6IDUwJTtcbiAgICAgICAgICAgICAgICBtaW4td2lkdGg6IDA7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC5rLXRpbWVsaW5lLWRhdGUtd3JhcCB7XG4gICAgICAgICAgICAgICAgcG9zaXRpb246IHN0YXRpYztcbiAgICAgICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC5rLXRpbWVsaW5lLWNpcmNsZSB7XG4gICAgICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpO1xuICAgICAgICAgICAgICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5rLXRpbWVsaW5lLWhvcml6b250YWwge1xuXG4gICAgICAgIC5rLXRpbWVsaW5lLXRyYWNrLWl0ZW0ge1xuICAgICAgICAgICAgZmxleDogMSAwIDIwJTsgLy8gMjAlIGFyZSBkZWZhdWx0LCB0aGlzIHdpbGwgYmUgY2FsY3VsYXRlZCB3aGVuIHJlbmRlcmVkXG4gICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDtcbiAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG5cbiAgICAgICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgJi5rLXRpbWVsaW5lLWZsYWctd3JhcDpob3ZlciB7XG4gICAgICAgICAgICAgICAgY3Vyc29yOiBkZWZhdWx0O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLmstdGltZWxpbmUtZGF0ZS13cmFwIHtcbiAgICAgICAgICAgIG1hcmdpbi1ibG9jay1zdGFydDogYXV0bztcbiAgICAgICAgICAgIG1hcmdpbi1ibG9jay1lbmQ6IHZhciggLS1rZW5kby10aW1lbGluZS1kYXRlLW1hcmdpbi1ib3R0b20sICN7ICRrZW5kby10aW1lbGluZS1kYXRlLW1hcmdpbi1ib3R0b20gfSApO1xuICAgICAgICB9XG5cbiAgICAgICAgLmstdGltZWxpbmUtY2FyZCB7XG4gICAgICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgICAgICBwYWRkaW5nLWlubGluZTogLjVlbTtcbiAgICAgICAgfVxuXG4gICAgICAgIC5rLWNhcmQge1xuICAgICAgICAgICAgbWF4LWhlaWdodDogMTAwJTtcbiAgICAgICAgfVxuXG4gICAgICAgIC5rLXRpbWVsaW5lLWV2ZW50cy1saXN0IHtcbiAgICAgICAgICAgIG92ZXJmbG93LXg6IGhpZGRlbjtcbiAgICAgICAgICAgIHBhZGRpbmctYmxvY2stc3RhcnQ6IHZhciggLS1rZW5kby10aW1lbGluZS10cmFjay1tYXJnaW4tYm90dG9tLCAjeyAka2VuZG8tdGltZWxpbmUtdHJhY2stbWFyZ2luLWJvdHRvbX0gKTtcblxuICAgICAgICAgICAgLmstdGltZWxpbmUtc2Nyb2xsYWJsZS13cmFwIHtcbiAgICAgICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgICAgICAgICAgaGVpZ2h0OiB2YXIoIC0ta2VuZG8tdGltZWxpbmUtZXZlbnQtaGVpZ2h0LCAjeyAka2VuZG8tdGltZWxpbmUtZXZlbnQtaGVpZ2h0IH0gKTtcblxuICAgICAgICAgICAgICAgIC5rLXRpbWVsaW5lLWV2ZW50IHtcbiAgICAgICAgICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgICAgICAgICB0b3A6IDA7XG4gICAgICAgICAgICAgICAgICAgIGxlZnQ6IDA7XG4gICAgICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLmstdGltZWxpbmUtdHJhY2std3JhcCB7XG4gICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgICAgICBwYWRkaW5nLWJsb2NrOiBjYWxjKCB2YXIoIC0ta2VuZG8tdGltZWxpbmUtdHJhY2stYXJyb3ctaGVpZ2h0LCAjeyAka2VuZG8tdGltZWxpbmUtdHJhY2stYXJyb3ctaGVpZ2h0IH0gKSAvIDIgKTtcbiAgICAgICAgICAgIHBhZGRpbmctaW5saW5lOiAwO1xuXG4gICAgICAgICAgICAmOjphZnRlciB7XG4gICAgICAgICAgICAgICAgaW5zZXQtYmxvY2stc3RhcnQ6IGF1dG87XG4gICAgICAgICAgICAgICAgaW5zZXQtYmxvY2stZW5kOiB2YXIoIC0ta2VuZG8tdGltZWxpbmUtdHJhY2stYm90dG9tLWNhbGMsICN7ICRrZW5kby10aW1lbGluZS10cmFjay1ib3R0b20tY2FsYyB9ICk7XG4gICAgICAgICAgICAgICAgaW5zZXQtaW5saW5lLXN0YXJ0OiB2YXIoIC0ta2VuZG8tdGltZWxpbmUtdHJhY2stc3RhcnQtY2FsYywgI3sgJGtlbmRvLXRpbWVsaW5lLXRyYWNrLXN0YXJ0LWNhbGMgfSApO1xuICAgICAgICAgICAgICAgIGluc2V0LWlubGluZS1lbmQ6IHZhciggLS1rZW5kby10aW1lbGluZS10cmFjay1lbmQtY2FsYywgI3sgJGtlbmRvLXRpbWVsaW5lLXRyYWNrLWVuZC1jYWxjIH0gKTtcbiAgICAgICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7XG4gICAgICAgICAgICAgICAgaGVpZ2h0OiB2YXIoIC0ta2VuZG8tdGltZWxpbmUtdHJhY2stc2l6ZSwgI3sgJGtlbmRvLXRpbWVsaW5lLXRyYWNrLXNpemUgfSApO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAuay10aW1lbGluZS10cmFjayB7XG4gICAgICAgICAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAgICAgICAgICAgICBtYXJnaW4tYmxvY2s6IDA7XG4gICAgICAgICAgICAgICAgbWFyZ2luLWlubGluZTogdmFyKCAtLWtlbmRvLXRpbWVsaW5lLXRyYWNrLWFycm93LXdpZHRoLCAjeyAka2VuZG8tdGltZWxpbmUtdHJhY2stYXJyb3ctd2lkdGggfSApO1xuICAgICAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgICAgICAgICB6LWluZGV4OiAyO1xuXG4gICAgICAgICAgICAgICAgLmstdGltZWxpbmUtc2Nyb2xsYWJsZS13cmFwIHtcbiAgICAgICAgICAgICAgICAgICAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDFzIGVhc2UtaW4tb3V0O1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLmstdGltZWxpbmUtZmxhZyB7XG4gICAgICAgICAgICAgICAgbWFyZ2luLWJsb2NrLWVuZDogdmFyKCAtLWtlbmRvLXRpbWVsaW5lLWZsYWctbWFyZ2luLWJvdHRvbS1jYWxjLCAjeyAka2VuZG8tdGltZWxpbmUtZmxhZy1tYXJnaW4tYm90dG9tLWNhbGMgfSApO1xuICAgICAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgICAgICAgICBtaW4td2lkdGg6IHZhciggLS1rZW5kby10aW1lbGluZS1ob3Jpem9udGFsLWZsYWctbWluLXdpZHRoLCAjeyAka2VuZG8tdGltZWxpbmUtaG9yaXpvbnRhbC1mbGFnLW1pbi13aWR0aCB9ICk7XG5cbiAgICAgICAgICAgICAgICAmOjphZnRlciB7XG4gICAgICAgICAgICAgICAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICAgICAgICAgICAgICAgIHdpZHRoOiB2YXIoIC0ta2VuZG8tdGltZWxpbmUtZmxhZy1jYWxsb3V0LXdpZHRoLCAjeyAka2VuZG8tdGltZWxpbmUtZmxhZy1jYWxsb3V0LXdpZHRoIH0gKTtcbiAgICAgICAgICAgICAgICAgICAgaGVpZ2h0OiB2YXIoIC0ta2VuZG8tdGltZWxpbmUtZmxhZy1jYWxsb3V0LWhlaWdodCwgI3sgJGtlbmRvLXRpbWVsaW5lLWZsYWctY2FsbG91dC1oZWlnaHQgfSApO1xuICAgICAgICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICAgICAgICAgIGxlZnQ6IDUwJTtcbiAgICAgICAgICAgICAgICAgICAgYm90dG9tOiAwO1xuICAgICAgICAgICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCA1MCUpIHJvdGF0ZSg0NWRlZyk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLmstdGltZWxpbmUtc2Nyb2xsYWJsZS13cmFwIHtcbiAgICAgICAgICAgIHBhZGRpbmctYm90dG9tOiB2YXIoIC0ta2VuZG8tdGltZWxpbmUtdHJhY2std3JhcC1wYWRkaW5nLWJvdHRvbSwgI3sgJGtlbmRvLXRpbWVsaW5lLXRyYWNrLXdyYXAtcGFkZGluZy1ib3R0b20gfSApO1xuICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgIG91dGxpbmU6IDA7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAuay10aW1lbGluZS1hcnJvdyB7XG4gICAgICAgIHdpZHRoOiB2YXIoIC0ta2VuZG8tdGltZWxpbmUtdHJhY2stYXJyb3ctd2lkdGgsICN7ICRrZW5kby10aW1lbGluZS10cmFjay1hcnJvdy13aWR0aCB9ICk7XG4gICAgICAgIGhlaWdodDogdmFyKCAtLWtlbmRvLXRpbWVsaW5lLXRyYWNrLWFycm93LWhlaWdodCwgI3sgJGtlbmRvLXRpbWVsaW5lLXRyYWNrLWFycm93LWhlaWdodCB9ICk7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICBpbnNldC1ibG9jay1lbmQ6IHZhciggLS1rZW5kby10aW1lbGluZS1hcnJvdy1pbnNldC1ibG9jay1lbmQsICN7ICRrZW5kby10aW1lbGluZS1hcnJvdy1pbnNldC1ibG9jay1lbmQgfSApO1xuICAgICAgICB6LWluZGV4OiAzO1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICB9XG5cbiAgICAuay10aW1lbGluZS1hcnJvdy1sZWZ0IHtcbiAgICAgICAgaW5zZXQtaW5saW5lLXN0YXJ0OiAwO1xuICAgIH1cblxuICAgIC5rLXRpbWVsaW5lLWFycm93LXJpZ2h0IHtcbiAgICAgICAgaW5zZXQtaW5saW5lLWVuZDogMDtcbiAgICB9XG5cbiAgICAuay10aW1lbGluZS1tb2JpbGUge1xuICAgICAgICBwYWRkaW5nLWJsb2NrOiAwO1xuICAgICAgICBwYWRkaW5nLWlubGluZTogdmFyKCAtLWtlbmRvLXRpbWVsaW5lLW1vYmlsZS1zcGFjaW5nLXgsICN7ICRrZW5kby10aW1lbGluZS1tb2JpbGUtc3BhY2luZy14IH0gKTtcbiAgICAgICAgbWFyZ2luLWJsb2NrOiB2YXIoIC0ta2VuZG8tdGltZWxpbmUtbW9iaWxlLXNwYWNpbmcteSwgI3sgJGtlbmRvLXRpbWVsaW5lLW1vYmlsZS1zcGFjaW5nLXkgfSApO1xuICAgICAgICBtYXJnaW4taW5saW5lOiAwO1xuXG4gICAgICAgIC5rLXRpbWVsaW5lLWZsYWcge1xuICAgICAgICAgICAgbWF4LXdpZHRoOiB2YXIoIC0ta2VuZG8tdGltZWxpbmUtbW9iaWxlLWZsYWctbWF4LXdpZHRoLCAjeyAka2VuZG8tdGltZWxpbmUtbW9iaWxlLWZsYWctbWF4LXdpZHRoIH0gKTtcbiAgICAgICAgfVxuXG4gICAgICAgICYuay10aW1lbGluZS1ob3Jpem9udGFsIHtcbiAgICAgICAgICAgIC5rLXRpbWVsaW5lLWZsYWctd3JhcCB7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgICYuay10aW1lbGluZS12ZXJ0aWNhbCB7XG4gICAgICAgICAgICBwYWRkaW5nLWlubGluZS1zdGFydDogdmFyKCAtLWtlbmRvLXRpbWVsaW5lLW1vYmlsZS12ZXJ0aWNhbC1wYWRkaW5nLXdpdGgtZGF0ZXMtY2FsYywgI3sgJGtlbmRvLXRpbWVsaW5lLW1vYmlsZS12ZXJ0aWNhbC1wYWRkaW5nLXdpdGgtZGF0ZXMtY2FsYyB9ICk7XG5cbiAgICAgICAgICAgICYuay10aW1lbGluZS1kYXRlcy1oaWRkZW4ge1xuICAgICAgICAgICAgICAgIHBhZGRpbmctaW5saW5lLXN0YXJ0OiB2YXIoIC0ta2VuZG8tdGltZWxpbmUtbW9iaWxlLXZlcnRpY2FsLXBhZGRpbmctY2FsYywgI3sgJGtlbmRvLXRpbWVsaW5lLW1vYmlsZS12ZXJ0aWNhbC1wYWRkaW5nLWNhbGMgfSApO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAmLmstdGltZWxpbmUtYWx0ZXJuYXRpbmcge1xuICAgICAgICAgICAgICAgIHBhZGRpbmctaW5saW5lLXN0YXJ0OiB2YXIoIC0ta2VuZG8tdGltZWxpbmUtbW9iaWxlLXNwYWNpbmcteCwgI3sgJGtlbmRvLXRpbWVsaW5lLW1vYmlsZS1zcGFjaW5nLXggfSApO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAuay10aW1lbGluZS1jYXJkIHtcbiAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTtcblxuXG4gICAgICAgICAgICAgICAgLmstY2FyZCB7XG4gICAgICAgICAgICAgICAgICAgIHdpZHRoOiBhdXRvO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbn1cbiIsIkB1c2UgXCIuLi9jb3JlL19pbmRleC5zY3NzXCIgYXMgKjtcbkB1c2UgXCIuLi9jYXJkL192YXJpYWJsZXMuc2Nzc1wiIGFzICo7XG5AdXNlIFwiLi9fdmFyaWFibGVzLnNjc3NcIiBhcyAqO1xuXG5AbWl4aW4ga2VuZG8tdGltZWxpbmUtLXRoZW1lKCkge1xuXG4gICAgLmstdGltZWxpbmUge1xuICAgICAgICAuay10aW1lbGluZS1mbGFnIHtcbiAgICAgICAgICAgIGNvbG9yOiB2YXIoIC0ta2VuZG8tdGltZWxpbmUtZmxhZy10ZXh0LCAjeyAka2VuZG8tdGltZWxpbmUtZmxhZy10ZXh0IH0gKTtcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHZhciggLS1rZW5kby10aW1lbGluZS1mbGFnLWJnLCAjeyAka2VuZG8tdGltZWxpbmUtZmxhZy1iZ30gKTtcbiAgICAgICAgICAgIEBpbmNsdWRlIGJveC1zaGFkb3coIHZhciggLS1rZW5kby10aW1lbGluZS1mbGFnLWJveC1zaGFkb3csICN7ICRrZW5kby10aW1lbGluZS1mbGFnLWJveC1zaGFkb3d9ICkgKVxuICAgICAgICB9XG5cbiAgICAgICAgLmstdGltZWxpbmUtY2lyY2xlIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHZhciggLS1rZW5kby10aW1lbGluZS1jaXJjbGUtYmcsICN7ICRrZW5kby10aW1lbGluZS1jaXJjbGUtYmcgfSApO1xuICAgICAgICB9XG5cbiAgICAgICAgLmstdGltZWxpbmUtY2FyZCB7XG4gICAgICAgICAgICAuay1jYXJkLWhlYWRlciB7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKCAtLWtlbmRvLXRpbWVsaW5lLWNhcmQtaGVhZGVyLWJnLCAjeyAka2VuZG8tdGltZWxpbmUtY2FyZC1oZWFkZXItYmcgfSApO1xuICAgICAgICAgICAgICAgIGNvbG9yOiB2YXIoIC0ta2VuZG8tdGltZWxpbmUtY2FyZC1oZWFkZXItdGV4dCwgI3sgJGtlbmRvLXRpbWVsaW5lLWNhcmQtaGVhZGVyLXRleHQgfSApO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAuay1jYXJkLWJvZHkge1xuXG4gICAgICAgICAgICAgICAgLy8gU2Nyb2xsYmFyIHN0eWxlcyBmb3IgTW96aWxsYVxuICAgICAgICAgICAgICAgIHNjcm9sbGJhci1jb2xvcjogdmFyKCAtLWtlbmRvLXRpbWVsaW5lLWNhcmQtYm9keS1zY3JvbGwtYm9yZGVyLCAjeyAka2VuZG8tdGltZWxpbmUtY2FyZC1ib2R5LXNjcm9sbC1ib3JkZXIgfSApIHZhciggLS1rZW5kby10aW1lbGluZS1jYXJkLWJvZHktc2Nyb2xsLWJnLCAjeyAka2VuZG8tdGltZWxpbmUtY2FyZC1ib2R5LXNjcm9sbC1iZyB9ICk7XG5cbiAgICAgICAgICAgICAgICAvLyBTY3JvbGxiYXIgc3R5bGVzIGZvciBDaHJvbWUsIFNhZmFyaSBhbmQgT3BlcmFcbiAgICAgICAgICAgICAgICAmOjotd2Via2l0LXNjcm9sbGJhci10cmFjayB7XG4gICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6IHZhciggLS1rZW5kby10aW1lbGluZS1jYXJkLWJvZHktc2Nyb2xsLWJnLCAjeyAka2VuZG8tdGltZWxpbmUtY2FyZC1ib2R5LXNjcm9sbC1iZyB9ICk7XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgJjo6LXdlYmtpdC1zY3JvbGxiYXItdGh1bWIge1xuICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiB2YXIoIC0ta2VuZG8tdGltZWxpbmUtY2FyZC1ib2R5LXNjcm9sbC1iZywgI3sgJGtlbmRvLXRpbWVsaW5lLWNhcmQtYm9keS1zY3JvbGwtYmcgfSApO1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICY6Oi13ZWJraXQtc2Nyb2xsYmFyLXRodW1iOmhvdmVyIHtcbiAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZDogdmFyKCAtLWtlbmRvLXRpbWVsaW5lLWNhcmQtc2Nyb2xsLXRodW1iLWhvdmVyLCAjeyAka2VuZG8tdGltZWxpbmUtY2FyZC1zY3JvbGwtdGh1bWItaG92ZXIgfSApO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC8vIFRPRE86IHJlbW92ZVxuICAgICAgICAuay10aW1lbGluZS1kYXRlIHtcbiAgICAgICAgICAgIGNvbG9yOiB2YXIoIC0ta2VuZG8tdGltZWxpbmUtZGF0ZS1ib2R5LXRleHQsICN7ICRrZW5kby10aW1lbGluZS1kYXRlLWJvZHktdGV4dCB9ICk7XG4gICAgICAgIH1cblxuICAgICAgICAuay10aW1lbGluZS1hcnJvdy5rLWRpc2FibGVkIHtcbiAgICAgICAgICAgIG9wYWNpdHk6IDE7IC8vIFRoZSBhcnJvdyBidXR0b24gaW4gZGlzYWJsZWQgbW9kZSBzaG91bGQgaGF2ZSBhIHNvbGlkIGJhY2tncm91bmRcbiAgICAgICAgICAgIGNvbG9yOiB2YXIoIC0ta2VuZG8tdGltZWxpbmUtdHJhY2stYXJyb3ctZGlzYWJsZWQtdGV4dCwgI3sgJGtlbmRvLXRpbWVsaW5lLXRyYWNrLWFycm93LWRpc2FibGVkLXRleHR9ICk7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoIC0ta2VuZG8tdGltZWxpbmUtdHJhY2stYXJyb3ctZGlzYWJsZWQtYmcsICN7ICRrZW5kby10aW1lbGluZS10cmFjay1hcnJvdy1kaXNhYmxlZC1iZ30gKTtcbiAgICAgICAgICAgIGJvcmRlci1jb2xvcjogdmFyKCAtLWtlbmRvLXRpbWVsaW5lLXRyYWNrLWFycm93LWRpc2FibGVkLWJvcmRlciwgI3sgJGtlbmRvLXRpbWVsaW5lLXRyYWNrLWFycm93LWRpc2FibGVkLWJvcmRlcn0gKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5rLXRpbWVsaW5lLXZlcnRpY2FsLFxuICAgIC5rLXRpbWVsaW5lLWhvcml6b250YWwgLmstdGltZWxpbmUtdHJhY2std3JhcCB7XG4gICAgICAgICY6OmFmdGVyIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHZhciggLS1rZW5kby10aW1lbGluZS10cmFjay1iZywgI3sgJGtlbmRvLXRpbWVsaW5lLXRyYWNrLWJnIH0gKTtcbiAgICAgICAgICAgIGJvcmRlci1jb2xvcjogdmFyKCAtLWtlbmRvLXRpbWVsaW5lLXRyYWNrLWJvcmRlci1jb2xvciwgI3sgJGtlbmRvLXRpbWVsaW5lLXRyYWNrLWJvcmRlci1jb2xvciB9ICk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAuay10aW1lbGluZS1ob3Jpem9udGFsIC5rLXRpbWVsaW5lLWZsYWc6OmFmdGVyIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKCAtLWtlbmRvLXRpbWVsaW5lLWZsYWctYmcsICN7ICRrZW5kby10aW1lbGluZS1mbGFnLWJnIH0gKTtcbiAgICB9XG5cbiAgICAuay10aW1lbGluZS10cmFjay1pdGVtLmstZm9jdXMgLmstdGltZWxpbmUtY2lyY2xlIHtcbiAgICAgICAgQGluY2x1ZGUgYm94LXNoYWRvdyggdmFyKCAtLWtlbmRvLXRpbWVsaW5lLWZsYWctYm94LXNoYWRvdywgI3sgJGtlbmRvLXRpbWVsaW5lLWZsYWctYm94LXNoYWRvdyB9ICkgKTtcbiAgICB9XG59XG4iLCJAdXNlIFwiLi4vY29yZS9faW5kZXguc2Nzc1wiIGFzICo7XG5AdXNlIFwiLi9fdmFyaWFibGVzLnNjc3NcIiBhcyAqO1xuXG5AbWl4aW4ga2VuZG8tcGRmLXZpZXdlci0tbGF5b3V0KCkge1xuXG4gICAgLmstcGRmLXZpZXdlciB7XG4gICAgICAgIGJvcmRlci13aWR0aDogdmFyKCAtLWtlbmRvLXBkZi12aWV3ZXItYm9yZGVyLXdpZHRoLCAjeyRrZW5kby1wZGYtdmlld2VyLWJvcmRlci13aWR0aH0gKTtcbiAgICAgICAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcbiAgICAgICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICBvdXRsaW5lOiAwO1xuICAgICAgICBmb250LWZhbWlseTogdmFyKCAtLWtlbmRvLXBkZi12aWV3ZXItZm9udC1mYW1pbHksICN7JGtlbmRvLXBkZi12aWV3ZXItZm9udC1mYW1pbHl9ICk7XG4gICAgICAgIGZvbnQtc2l6ZTogdmFyKCAtLWtlbmRvLXBkZi12aWV3ZXItZm9udC1zaXplLCAjeyRrZW5kby1wZGYtdmlld2VyLWZvbnQtc2l6ZX0gKTtcbiAgICAgICAgbGluZS1oZWlnaHQ6IHZhciggLS1rZW5kby1wZGYtdmlld2VyLWxpbmUtaGVpZ2h0LCAjeyRrZW5kby1wZGYtdmlld2VyLWxpbmUtaGVpZ2h0fSApO1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgICAgICAtd2Via2l0LXRvdWNoLWNhbGxvdXQ6IG5vbmU7XG4gICAgICAgIC13ZWJraXQtdGFwLWhpZ2hsaWdodC1jb2xvcjogJGtlbmRvLWNvbG9yLXJnYmEtdHJhbnNwYXJlbnQ7XG5cbiAgICAgICAgLy8gVG9vbGJhclxuICAgICAgICAuay10b29sYmFyIHtcbiAgICAgICAgICAgIGJvcmRlci1ibG9jay1zdGFydC13aWR0aDogMDtcbiAgICAgICAgICAgIGJvcmRlci1pbmxpbmUtd2lkdGg6IDA7XG4gICAgICAgICAgICBib3JkZXItY29sb3I6IGluaGVyaXQ7XG4gICAgICAgICAgICBmbGV4OiAwIDAgYXV0bztcbiAgICAgICAgICAgIHotaW5kZXg6IDI7XG4gICAgICAgIH1cbiAgICAgICAgLmstdG9vbGJhciAuay1wYWdlci13cmFwLFxuICAgICAgICAuay10b29sYmFyIC5rLXBhZ2VyIHtcbiAgICAgICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgICAgICBib3JkZXItd2lkdGg6IDA7XG4gICAgICAgICAgICBjb2xvcjogaW5oZXJpdDtcbiAgICAgICAgICAgIGJhY2tncm91bmQ6IG5vbmU7XG4gICAgICAgICAgICBvdmVyZmxvdzogdmlzaWJsZTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8vIENhbnZhc1xuICAgIC5rLXBkZi12aWV3ZXItY2FudmFzIHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgICAgZmxleDogMSAxIGF1dG87XG4gICAgICAgIG91dGxpbmU6IG5vbmU7XG5cbiAgICAgICAgJi5rLWVuYWJsZS10ZXh0LXNlbGVjdCB7XG4gICAgICAgICAgICB1c2VyLXNlbGVjdDogdGV4dDtcbiAgICAgICAgICAgIGN1cnNvcjogdGV4dDtcbiAgICAgICAgfVxuXG4gICAgICAgICYuay1lbmFibGUtcGFubmluZyB7XG4gICAgICAgICAgICBjdXJzb3I6IGdyYWIgIWltcG9ydGFudDsgLy8gc3R5bGVsaW50LWRpc2FibGUtbGluZSBkZWNsYXJhdGlvbi1uby1pbXBvcnRhbnRcblxuXG4gICAgICAgICAgICBzcGFuOjpzZWxlY3Rpb24ge1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG5cbiAgICAvLyBQYWdlc1xuICAgIC5rLXBkZi12aWV3ZXItcGFnZXMge1xuICAgICAgICBmbGV4OiAxIDEgYXV0bztcblxuICAgICAgICAuay1wYWdlIHtcbiAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgICAgIG1hcmdpbi1ibG9jazogdmFyKCAtLWtlbmRvLXBkZi12aWV3ZXItcGFnZS1zcGFjaW5nLCAjeyRrZW5kby1wZGYtdmlld2VyLXBhZ2Utc3BhY2luZ30gKTtcbiAgICAgICAgICAgIG1hcmdpbi1pbmxpbmU6IGF1dG87XG4gICAgICAgICAgICB6LWluZGV4OiAxO1xuXG4gICAgICAgICAgICAvLyBDYW52YXNcbiAgICAgICAgICAgIC5rLWNhbnZhcy13cmFwcGVyIHtcbiAgICAgICAgICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgICAgIGhlaWdodDogMTAwJTtcblxuICAgICAgICAgICAgICAgIGNhbnZhcyB7XG4gICAgICAgICAgICAgICAgICAgIGRpcmVjdGlvbjogbHRyO1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIHN2ZyB7XG4gICAgICAgICAgICAgICAgICAgIHRyYW5zZm9ybTogbm9uZTtcbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAuay1oaWdobGlnaHQge1xuICAgICAgICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICAgICAgICAgIG1peC1ibGVuZC1tb2RlOiBtdWx0aXBseTtcbiAgICAgICAgICAgICAgICAgICAgZmlsbC1vcGFjaXR5OiAxO1xuXG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIC5rLWhpZ2hsaWdodC1vdXRsaW5lIHtcbiAgICAgICAgICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgICAgICAgICBmaWxsOiBub25lO1xuICAgICAgICAgICAgICAgICAgICBzdHJva2Utd2lkdGg6IDJweDtcbiAgICAgICAgICAgICAgICAgICAgc3Ryb2tlLWRhc2hhcnJheTogMjtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC5rLXRleHQtbGF5ZXIge1xuICAgICAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgICAgICB0b3A6IDA7XG4gICAgICAgICAgICAgICAgbGVmdDogMDtcbiAgICAgICAgICAgICAgICBvcGFjaXR5OiAuMjtcbiAgICAgICAgICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xuXG4gICAgICAgICAgICAgICAgLmstbWFya2VkLWNvbnRlbnQgPiBzcGFuLFxuICAgICAgICAgICAgICAgID4gc3BhbiwgYnIge1xuICAgICAgICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiB2YXIoIC0ta2VuZG8tcGRmLXZpZXdlci1zZWxlY3Rpb24tbGluZS1oZWlnaHQsICN7JGtlbmRvLXBkZi12aWV3ZXItc2VsZWN0aW9uLWxpbmUtaGVpZ2h0fSApO1xuICAgICAgICAgICAgICAgICAgICB0cmFuc2Zvcm0tb3JpZ2luOiAwJSAwJTtcbiAgICAgICAgICAgICAgICAgICAgY29sb3I6IHRyYW5zcGFyZW50O1xuICAgICAgICAgICAgICAgICAgICB3aGl0ZS1zcGFjZTogcHJlO1xuICAgICAgICAgICAgICAgICAgICBjdXJzb3I6IHRleHQ7XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgLmstbWFya2VkLWNvbnRlbnQge1xuICAgICAgICAgICAgICAgICAgICB0b3A6IDA7XG4gICAgICAgICAgICAgICAgICAgIGhlaWdodDogMDtcbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAuay1lbmQtb2YtY29udGVudCB7XG4gICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICAgICAgICAgIGluc2V0OiAxMDAlIDAgMDtcbiAgICAgICAgICAgICAgICAgICAgei1pbmRleDogMDtcbiAgICAgICAgICAgICAgICAgICAgY3Vyc29yOiBkZWZhdWx0O1xuICAgICAgICAgICAgICAgICAgICB1c2VyLXNlbGVjdDogbm9uZTtcbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAuay1zZWFyY2gtaGlnaGxpZ2h0LW1hcmsge1xuICAgICAgICAgICAgICAgICAgICBjb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgLmstaGlnaGxpZ2h0aW5nIHtcbiAgICAgICAgICAgICAgICAgICAgdG91Y2gtYWN0aW9uOiBub25lO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLmstYW5ub3RhdGlvbi1sYXllciB7XG4gICAgICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgICAgIHRvcDogMDtcbiAgICAgICAgICAgICAgICBsZWZ0OiAwO1xuICAgICAgICAgICAgICAgIHRyYW5zZm9ybS1vcmlnaW46IDAgMDtcbiAgICAgICAgICAgICAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcblxuICAgICAgICAgICAgICAgIHNlY3Rpb24ge1xuICAgICAgICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICAgICAgICAgIHBvaW50ZXItZXZlbnRzOiBhdXRvO1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIC5rLWFubm90YXRpb24tdGV4dC1jb250ZW50IHtcbiAgICAgICAgICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICAgICAgICAgICAgICBvcGFjaXR5OiAwO1xuICAgICAgICAgICAgICAgICAgICBjb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgICAgICAgICAgICAgICAgIHVzZXItc2VsZWN0OiBub25lO1xuICAgICAgICAgICAgICAgICAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAuay1saW5rLWFubm90YXRpb24gPiBhIHtcbiAgICAgICAgICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgICAgICAgICB0b3A6IDA7XG4gICAgICAgICAgICAgICAgICAgIGxlZnQ6IDA7XG4gICAgICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgLmstdGV4dC13aWRnZXQtYW5ub3RhdGlvbiAuay1hbm5vdGF0aW9uLWNvbnRlbnQge1xuICAgICAgICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgICAgICAgICAgICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLmstYW5ub3RhdGlvbi1lZGl0b3ItbGF5ZXIge1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICAgICAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgICAgICBpbnNldDogMDtcbiAgICAgICAgICAgICAgICB0cmFuc2Zvcm0tb3JpZ2luOiAwIDA7XG4gICAgICAgICAgICAgICAgY3Vyc29yOiBhdXRvO1xuXG4gICAgICAgICAgICAgICAgLmstc2VsZWN0ZWQge1xuICAgICAgICAgICAgICAgICAgICB6LWluZGV4OiAxMDAwMDAgIWltcG9ydGFudDsgLy8gc3R5bGVsaW50LWRpc2FibGUtbGluZSBkZWNsYXJhdGlvbi1uby1pbXBvcnRhbnRcbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAuay1oaWdobGlnaHQtZWRpdG9yIHtcbiAgICAgICAgICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgICAgICAgICAgICAgICAgICAgei1pbmRleDogMTtcbiAgICAgICAgICAgICAgICAgICAgY3Vyc29yOiBhdXRvO1xuICAgICAgICAgICAgICAgICAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICAgICAgICAgIG1heC1oZWlnaHQ6IDEwMCU7XG4gICAgICAgICAgICAgICAgICAgIGJvcmRlcjogbm9uZTtcbiAgICAgICAgICAgICAgICAgICAgb3V0bGluZTogbm9uZTtcbiAgICAgICAgICAgICAgICAgICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gICAgICAgICAgICAgICAgICAgIHRyYW5zZm9ybS1vcmlnaW46IDAgMDtcblxuICAgICAgICAgICAgICAgICAgICAuay1pbnRlcm5hbCB7XG4gICAgICAgICAgICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICAgICAgICAgICAgICB0b3A6IDA7XG4gICAgICAgICAgICAgICAgICAgICAgICBsZWZ0OiAwO1xuICAgICAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgICAgICAgICAgICAgICAgICBwb2ludGVyLWV2ZW50czogYXV0bztcbiAgICAgICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgICAgICYuay1oaWdobGlnaHQtZWRpdG9yLWRpc2FibGVkIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIC5rLWludGVybmFsIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIC5rLWZyZWUtdGV4dC1lZGl0b3Ige1xuICAgICAgICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICAgICAgICAgICAgICAgICAgICB6LWluZGV4OiAxO1xuICAgICAgICAgICAgICAgICAgICB0cmFuc2Zvcm0tb3JpZ2luOiAwIDA7XG4gICAgICAgICAgICAgICAgICAgIGN1cnNvcjogdGV4dDtcbiAgICAgICAgICAgICAgICAgICAgY2FyZXQtY29sb3I6IHZhciggLS1rZW5kby1wZGYtdmlld2VyLWZyZWUtdGV4dC1hbm5vdGF0aW9uLXRleHQsICN7JGtlbmRvLXBkZi12aWV3ZXItZnJlZS10ZXh0LWFubm90YXRpb24tdGV4dH0gKTtcbiAgICAgICAgICAgICAgICAgICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgICAgICAgICBtYXgtaGVpZ2h0OiAxMDAlO1xuICAgICAgICAgICAgICAgICAgICBib3JkZXI6IHNvbGlkIDJweCB0cmFuc3BhcmVudDtcblxuICAgICAgICAgICAgICAgICAgICAmLmstc2VsZWN0ZWQuay1kcmFnZ2FibGUge1xuICAgICAgICAgICAgICAgICAgICAgICAgY3Vyc29yOiBtb3ZlOztcbiAgICAgICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgICAgICYuay1zZWxlY3RlZCAuay1pbnRlcm5hbCB7XG4gICAgICAgICAgICAgICAgICAgICAgICBib3JkZXItcmFkaXVzOiAwcHg7XG4gICAgICAgICAgICAgICAgICAgICAgICBvdXRsaW5lOiAycHggZGFzaGVkIHZhciggLS1rZW5kby1wZGYtdmlld2VyLWZyZWUtdGV4dC1hbm5vdGF0aW9uLWJvcmRlciwgI3ska2VuZG8tcGRmLXZpZXdlci1mcmVlLXRleHQtYW5ub3RhdGlvbi1ib3JkZXJ9ICk7XG4gICAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICAgICAuay1pbnRlcm5hbCB7XG4gICAgICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgICAgICAgICAgICAgICAgICAgICAgIGJvcmRlcjogbm9uZTtcbiAgICAgICAgICAgICAgICAgICAgICAgIGluc2V0OiAwO1xuICAgICAgICAgICAgICAgICAgICAgICAgb3ZlcmZsb3c6IHZpc2libGU7XG4gICAgICAgICAgICAgICAgICAgICAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICAgICAgICAgICAgICAgICAgICAgICAgdXNlci1zZWxlY3Q6IG5vbmU7XG4gICAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICAgICAuay1pbnRlcm5hbDplbXB0eTo6YmVmb3JlIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbnRlbnQ6IGF0dHIoZGVmYXVsdC1jb250ZW50KTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLmstYW5ub3RhdGlvbi1lZGl0b3ItbGF5ZXItZGlzYWJsZWQge1xuICAgICAgICAgICAgICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLmstYmxhbmstcGFnZSB7XG4gICAgICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAgZmxleC1mbG93OiBjb2x1bW4gbm93cmFwO1xuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBpbmhlcml0ICFpbXBvcnRhbnQ7IC8vIHN0eWxlbGludC1kaXNhYmxlLWxpbmUgZGVjbGFyYXRpb24tbm8taW1wb3J0YW50XG5cbiAgICAgICAgICAgIC5rLXVwbG9hZCxcbiAgICAgICAgICAgIC5rLWRyb3B6b25lLFxuICAgICAgICAgICAgLmstZHJvcHpvbmUtaW5uZXIge1xuICAgICAgICAgICAgICAgIGJvcmRlcjogMDtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiBub25lO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG5cbiAgICAvLyBTZWFyY2hcbiAgICAuay1wZGYtdmlld2VyLWNhbnZhcyA+IC5rLXNlYXJjaC1wYW5lbCB7XG4gICAgICAgIHdpZHRoOiBtYXgtY29udGVudDtcbiAgICAgICAgbWFyZ2luLWJsb2NrLXN0YXJ0OiB2YXIoIC0ta2VuZG8tcGRmLXZpZXdlci1zZWFyY2gtcGFuZWwtbWFyZ2luLXksICN7JGtlbmRvLXBkZi12aWV3ZXItc2VhcmNoLXBhbmVsLW1hcmdpbi15fSApO1xuICAgICAgICBwYWRkaW5nLWJsb2NrOiB2YXIoIC0ta2VuZG8tcGRmLXZpZXdlci1zZWFyY2gtcGFuZWwtcGFkZGluZy15LCAjeyRrZW5kby1wZGYtdmlld2VyLXNlYXJjaC1wYW5lbC1wYWRkaW5nLXl9ICk7XG4gICAgICAgIHBhZGRpbmctaW5saW5lOiB2YXIoIC0ta2VuZG8tcGRmLXZpZXdlci1zZWFyY2gtcGFuZWwtcGFkZGluZy14LCAjeyRrZW5kby1wZGYtdmlld2VyLXNlYXJjaC1wYW5lbC1wYWRkaW5nLXh9ICk7XG4gICAgICAgIGJvcmRlci13aWR0aDogdmFyKCAtLWtlbmRvLXBkZi12aWV3ZXItc2VhcmNoLXBhbmVsLWJvcmRlci13aWR0aCwgI3ska2VuZG8tcGRmLXZpZXdlci1zZWFyY2gtcGFuZWwtYm9yZGVyLXdpZHRofSApO1xuICAgICAgICBib3JkZXItc3R5bGU6IHNvbGlkO1xuICAgICAgICBib3JkZXItcmFkaXVzOiB2YXIoIC0ta2VuZG8tcGRmLXZpZXdlci1zZWFyY2gtcGFuZWwtYm9yZGVyLXJhZGl1cywgI3ska2VuZG8tcGRmLXZpZXdlci1zZWFyY2gtcGFuZWwtYm9yZGVyLXJhZGl1c30gKTtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgZ2FwOiB2YXIoIC0ta2VuZG8tcGRmLXZpZXdlci1zZWFyY2gtcGFuZWwtc3BhY2luZywgI3ska2VuZG8tcGRmLXZpZXdlci1zZWFyY2gtcGFuZWwtc3BhY2luZ30gKTtcbiAgICAgICAgZmxleC1mbG93OiByb3cgbm93cmFwO1xuICAgICAgICBmbGV4OiAwIDAgYXV0bztcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0O1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICB6LWluZGV4OiAxMDtcbiAgICAgICAgY3Vyc29yOiBkZWZhdWx0O1xuXG4gICAgICAgIC5rLXNlYXJjaC1kaWFsb2ctZHJhZ2hhbmRsZSB7XG4gICAgICAgICAgICBjdXJzb3I6IG1vdmU7XG4gICAgICAgICAgICBtYXJnaW4tbGVmdDogMDtcbiAgICAgICAgfVxuXG4gICAgICAgIC5rLXRleHRib3gge1xuICAgICAgICAgICAgd2lkdGg6IDEwZW07XG4gICAgICAgICAgICBmbGV4OiBub25lO1xuXG4gICAgICAgICAgICAuay1idXR0b24ge1xuICAgICAgICAgICAgICAgIGJvcmRlci13aWR0aDogMDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC5rLXNlYXJjaC1tYXRjaGVzIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICAgICAgICAgICAgZ2FwOiB2YXIoIC0ta2VuZG8tcGRmLXZpZXdlci1zZWFyY2gtcGFuZWwtbWF0Y2hlcy1zcGFjaW5nLCAjeyRrZW5kby1wZGYtdmlld2VyLXNlYXJjaC1wYW5lbC1tYXRjaGVzLXNwYWNpbmd9ICk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBBbm5vdGF0aW9uIFRvb2xiYXJcbiAgICAuay1wZGYtdmlld2VyLWFubm90YXRpb24tZWRpdG9yLXRvb2xiYXIgPiAuay10b29sYmFyIHtcbiAgICAgICAgd2lkdGg6IG1pbi1jb250ZW50O1xuICAgICAgICBib3JkZXItYm90dG9tLXdpZHRoOiAwO1xuICAgIH1cblxuXG4gICAgLy8gQW5ub3RhdGlvbiBFZGl0b3JcbiAgICAuay1wZGYtdmlld2VyLWFubm90YXRpb24tZWRpdG9yIHtcbiAgICAgICAgcGFkZGluZy1ibG9jazogdmFyKC0ta2VuZG8tcGRmLXZpZXdlci1wb3B1cC1wYWRkaW5nLXksICN7JGtlbmRvLXBkZi12aWV3ZXItcG9wdXAtcGFkZGluZy15fSApO1xuICAgICAgICBwYWRkaW5nLWlubGluZTogdmFyKC0ta2VuZG8tcGRmLXZpZXdlci1wb3B1cC1wYWRkaW5nLXgsICN7JGtlbmRvLXBkZi12aWV3ZXItcG9wdXAtcGFkZGluZy14fSApO1xuXG4gICAgICAgIC5rLWNvbHVtbi1tZW51LWdyb3VwLWhlYWRlciB7XG4gICAgICAgICAgICBwYWRkaW5nLWlubGluZTogMDtcbiAgICAgICAgfVxuXG4gICAgICAgIC5rLWZvcm0tZmllbGQge1xuICAgICAgICAgICAgbWFyZ2luLXRvcDogMDtcbiAgICAgICAgfVxuICAgIH1cbn1cbiIsIkB1c2UgXCIuLi9jb3JlL19pbmRleC5zY3NzXCIgYXMgKjtcbkB1c2UgXCIuL192YXJpYWJsZXMuc2Nzc1wiIGFzICo7XG5cbkBtaXhpbiBrZW5kby1wZGYtdmlld2VyLS10aGVtZSgpIHtcblxuICAgIC5rLXBkZi12aWV3ZXIge1xuICAgICAgICBAaW5jbHVkZSBmaWxsKFxuICAgICAgICAgICAgdmFyKCAtLWtlbmRvLXBkZi12aWV3ZXItdGV4dCwgI3ska2VuZG8tcGRmLXZpZXdlci10ZXh0fSApLFxuICAgICAgICAgICAgdmFyKCAtLWtlbmRvLXBkZi12aWV3ZXItYmcsICN7JGtlbmRvLXBkZi12aWV3ZXItYmd9ICksXG4gICAgICAgICAgICB2YXIoIC0ta2VuZG8tcGRmLXZpZXdlci1ib3JkZXIsICN7JGtlbmRvLXBkZi12aWV3ZXItYm9yZGVyfSApLFxuICAgICAgICApO1xuXG5cbiAgICAgICAgLy8gQ2FudmFzXG4gICAgICAgIC5rLXBkZi12aWV3ZXItY2FudmFzIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGZpbGwoXG4gICAgICAgICAgICAgICAgdmFyKCAtLWtlbmRvLXBkZi12aWV3ZXItY2FudmFzLXRleHQsICN7JGtlbmRvLXBkZi12aWV3ZXItY2FudmFzLXRleHR9ICksXG4gICAgICAgICAgICAgICAgdmFyKCAtLWtlbmRvLXBkZi12aWV3ZXItY2FudmFzLWJnLCAjeyRrZW5kby1wZGYtdmlld2VyLWNhbnZhcy1iZ30gKSxcbiAgICAgICAgICAgICAgICB2YXIoIC0ta2VuZG8tcGRmLXZpZXdlci1jYW52YXMtYm9yZGVyLCAjeyRrZW5kby1wZGYtdmlld2VyLWNhbnZhcy1ib3JkZXJ9IClcbiAgICAgICAgICAgICk7XG4gICAgICAgIH1cblxuXG4gICAgICAgIC8vIFBhZ2VcbiAgICAgICAgLmstcGFnZSB7XG4gICAgICAgICAgICBAaW5jbHVkZSBmaWxsKFxuICAgICAgICAgICAgICAgIHZhciggLS1rZW5kby1wZGYtdmlld2VyLXBhZ2UtdGV4dCwgI3ska2VuZG8tcGRmLXZpZXdlci1wYWdlLXRleHR9ICksXG4gICAgICAgICAgICAgICAgdmFyKCAtLWtlbmRvLXBkZi12aWV3ZXItcGFnZS1iZywgI3ska2VuZG8tcGRmLXZpZXdlci1wYWdlLWJnfSApLFxuICAgICAgICAgICAgICAgIHZhciggLS1rZW5kby1wZGYtdmlld2VyLXBhZ2UtYm9yZGVyLCAjeyRrZW5kby1wZGYtdmlld2VyLXBhZ2UtYm9yZGVyfSApXG4gICAgICAgICAgICApO1xuICAgICAgICAgICAgQGluY2x1ZGUgYm94LXNoYWRvdyhcbiAgICAgICAgICAgICAgICB2YXIoIC0ta2VuZG8tcGRmLXZpZXdlci1wYWdlLXNoYWRvdywgI3ska2VuZG8tcGRmLXZpZXdlci1wYWdlLXNoYWRvd30gKVxuICAgICAgICAgICAgKTtcbiAgICAgICAgfVxuXG4gICAgICAgIC5rLWJsYW5rLXBhZ2UgPiAuay1pY29uIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGZpbGwoXG4gICAgICAgICAgICAgICAgJGNvbG9yOiB2YXIoIC0ta2VuZG8tcGRmLXZpZXdlci1pY29uLXRleHQsICN7JGtlbmRvLXBkZi12aWV3ZXItaWNvbi10ZXh0fSApXG4gICAgICAgICAgICApO1xuICAgICAgICB9XG5cbiAgICAgICAgLmstY2FudmFzLXdyYXBwZXIgLmstaGlnaGxpZ2h0LW91dGxpbmUge1xuICAgICAgICAgICAgJi5rLWhvdmVyLFxuICAgICAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICAgICAgc3Ryb2tlOiB2YXIoIC0ta2VuZG8tcGRmLXZpZXdlci1oaWdobGlnaHQtYW5ub3RhdGlvbi1ob3Zlci1ib3JkZXIsICN7JGtlbmRvLXBkZi12aWV3ZXItaGlnaGxpZ2h0LWFubm90YXRpb24taG92ZXItYm9yZGVyfSApO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAmLmstc2VsZWN0ZWQge1xuICAgICAgICAgICAgICAgIHN0cm9rZTogdmFyKCAtLWtlbmRvLXBkZi12aWV3ZXItaGlnaGxpZ2h0LWFubm90YXRpb24tYm9yZGVyLCAjeyRrZW5kby1wZGYtdmlld2VyLWhpZ2hsaWdodC1hbm5vdGF0aW9uLWJvcmRlcn0gKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC8vIFNlYXJjaFxuICAgICAgICAuay1zZWFyY2gtaGlnaGxpZ2h0IHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGZpbGwoXG4gICAgICAgICAgICAgICAgJGJnOiB2YXIoIC0ta2VuZG8tcGRmLXZpZXdlci1zZWFyY2gtaGlnaGxpZ2h0LWJnLCAjeyRrZW5kby1wZGYtdmlld2VyLXNlYXJjaC1oaWdobGlnaHQtYmd9IClcbiAgICAgICAgICAgICk7XG4gICAgICAgIH1cblxuICAgICAgICAuay1zZWFyY2gtaGlnaGxpZ2h0LW1hcmsge1xuICAgICAgICAgICAgQGluY2x1ZGUgZmlsbChcbiAgICAgICAgICAgICAgICAkYmc6IHZhciggLS1rZW5kby1wZGYtdmlld2VyLXNlYXJjaC1oaWdobGlnaHQtbWFyay1iZywgI3ska2VuZG8tcGRmLXZpZXdlci1zZWFyY2gtaGlnaGxpZ2h0LW1hcmstYmd9IClcbiAgICAgICAgICAgICk7XG4gICAgICAgIH1cbiAgICAgICAgLmstYW5ub3RhdGlvbi1lZGl0b3ItbGF5ZXIgLmstZnJlZS10ZXh0LWVkaXRvciAuay1pbnRlcm5hbCB7XG4gICAgICAgICAgICBjb2xvcjogdmFyKCAtLWtlbmRvLXBkZi12aWV3ZXItZnJlZS10ZXh0LWFubm90YXRpb24tdGV4dCwgI3ska2VuZG8tcGRmLXZpZXdlci1mcmVlLXRleHQtYW5ub3RhdGlvbi10ZXh0fSApO1xuXG4gICAgICAgICAgICAmOmVtcHR5OjpiZWZvcmUge1xuICAgICAgICAgICAgICAgIGNvbG9yOiB2YXIoIC0ta2VuZG8tcGRmLXZpZXdlci1mcmVlLXRleHQtYW5ub3RhdGlvbi1wbGFjZWhvbGRlci10ZXh0LCAjeyRrZW5kby1wZGYtdmlld2VyLWZyZWUtdGV4dC1hbm5vdGF0aW9uLXBsYWNlaG9sZGVyLXRleHR9ICk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAuay1wZGYtdmlld2VyLWNhbnZhcyA+IC5rLXNlYXJjaC1wYW5lbCB7XG4gICAgICAgIEBpbmNsdWRlIGZpbGwoXG4gICAgICAgICAgICB2YXIoIC0ta2VuZG8tcGRmLXZpZXdlci1zZWFyY2gtcGFuZWwtdGV4dCwgI3ska2VuZG8tcGRmLXZpZXdlci1zZWFyY2gtcGFuZWwtdGV4dH0gKSxcbiAgICAgICAgICAgIHZhciggLS1rZW5kby1wZGYtdmlld2VyLXNlYXJjaC1wYW5lbC1iZywgI3ska2VuZG8tcGRmLXZpZXdlci1zZWFyY2gtcGFuZWwtYmd9ICksXG4gICAgICAgICAgICB2YXIoIC0ta2VuZG8tcGRmLXZpZXdlci1zZWFyY2gtcGFuZWwtYm9yZGVyLCAjeyRrZW5kby1wZGYtdmlld2VyLXNlYXJjaC1wYW5lbC1ib3JkZXJ9IClcbiAgICAgICAgKTtcbiAgICAgICAgQGluY2x1ZGUgYm94LXNoYWRvdyhcbiAgICAgICAgICAgIHZhciggLS1rZW5kby1wZGYtdmlld2VyLXNlYXJjaC1wYW5lbC1zaGFkb3csICN7JGtlbmRvLXBkZi12aWV3ZXItc2VhcmNoLXBhbmVsLXNoYWRvd30gKVxuICAgICAgICApO1xuICAgIH1cblxufVxuIiwiQHVzZSBcIi4vX3ZhcmlhYmxlcy5zY3NzXCIgYXMgKjtcblxuQG1peGluIGtlbmRvLXNjcm9sbGVyLS1sYXlvdXQoKSB7XG5cbiAgICAvLyBMYXlvdXRcbiAgICAua20tc2Nyb2xsdmlldyxcbiAgICAua20tc2Nyb2xsLWNvbnRhaW5lciB7XG4gICAgICAgIHVzZXItc2VsZWN0OiBub25lO1xuICAgICAgICBib3JkZXItY29sbGFwc2U6IHNlcGFyYXRlO1xuICAgIH1cbiAgICAua20tc2Nyb2xsLXdyYXBwZXIge1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgfVxuICAgIC5rbS1zY3JvbGwtaGVhZGVyIHtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB6LWluZGV4OiAxMDAxO1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgdG9wOiAwO1xuICAgICAgICBsZWZ0OiAwO1xuICAgIH1cblxuXG4gICAgLy8gUHVsbCB0byByZWZyZXNoXG4gICAgLmttLXNjcm9sbGVyLXB1bGwge1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDNlbTtcbiAgICAgICAgZm9udC1zaXplOiAxLjRlbTtcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIC0zZW0sIDApO1xuICAgIH1cbiAgICAua20tc2Nyb2xsZXItcHVsbCAua20tdGVtcGxhdGUge1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgIG1pbi13aWR0aDogMjAwcHg7XG4gICAgICAgIHRleHQtYWxpZ246IHN0YXJ0O1xuICAgIH1cbiAgICAua20tbG9hZC1tb3JlIC5rbS1pY29uLFxuICAgIC5rbS13aWRnZXQgLmttLXNjcm9sbGVyLXB1bGwgLmttLWljb24ge1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgIGhlaWdodDogMnJlbTtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAxcmVtO1xuICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICAgICAgICB3aWR0aDogMnJlbTtcbiAgICAgICAgZm9udC1zaXplOiAycmVtO1xuICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgwZGVnKTtcbiAgICAgICAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDMwMG1zIGxpbmVhcjtcbiAgICB9XG4gICAgLmttLXdpZGdldCAua20tc2Nyb2xsZXItcmVsZWFzZSAua20taWNvbiB7XG4gICAgICAgIHRyYW5zZm9ybTogcm90YXRlKDE4MGRlZyk7XG4gICAgfVxuICAgIC5rbS13aWRnZXQgLmttLXNjcm9sbGVyLXJlZnJlc2ggLmttLWljb24ge1xuICAgICAgICB0cmFuc2l0aW9uOiBub25lO1xuICAgIH1cblxuXG4gICAgLy8gU2Nyb2xsYmFyXG4gICAgLmttLXRvdWNoLXNjcm9sbGJhciB7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgdmlzaWJpbGl0eTogaGlkZGVuO1xuICAgICAgICB6LWluZGV4OiAyMDAwMDA7XG4gICAgICAgIGhlaWdodDogLjRlbTtcbiAgICAgICAgd2lkdGg6IC40ZW07XG4gICAgICAgIG9wYWNpdHk6IDA7XG4gICAgICAgIHRyYW5zZm9ybS1vcmlnaW46IDAgMDtcbiAgICAgICAgdHJhbnNpdGlvbjogb3BhY2l0eSAuM3MgbGluZWFyO1xuICAgIH1cbiAgICAuay1tYXAgLmttLXRvdWNoLXNjcm9sbGJhcixcbiAgICAuay1kaWFncmFtIC5rbS10b3VjaC1zY3JvbGxiYXIge1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cbiAgICAua20tdmVydGljYWwtc2Nyb2xsYmFyIHtcbiAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICByaWdodDogMnB4O1xuICAgICAgICB0b3A6IDA7XG4gICAgfVxuICAgIC5rbS1ob3Jpem9udGFsLXNjcm9sbGJhciB7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBsZWZ0OiAwO1xuICAgICAgICBib3R0b206IDJweDtcbiAgICB9XG5cbn1cbiIsIkB1c2UgXCIuL192YXJpYWJsZXMuc2Nzc1wiIGFzICo7XG5cbkBtaXhpbiBrZW5kby1zY3JvbGxlci0tdGhlbWUoKSB7XG5cbiAgICAua20tdG91Y2gtc2Nyb2xsYmFyIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzMzMzMzMztcbiAgICB9XG59XG4iLCJAdXNlIFwiLi4vY29yZS9faW5kZXguc2Nzc1wiIGFzICo7XG5AdXNlIFwiLi9fdmFyaWFibGVzLnNjc3NcIiBhcyAqO1xuXG5AbWl4aW4ga2VuZG8tc2Nyb2xsdmlldy0tbGF5b3V0KCkge1xuXG4gICAgLmstc2Nyb2xsdmlldyB7XG4gICAgICAgIGJvcmRlci13aWR0aDogdmFyKCAtLWtlbmRvLXNjcm9sbHZpZXctYm9yZGVyLXdpZHRoLCAjeyRrZW5kby1zY3JvbGx2aWV3LWJvcmRlci13aWR0aH0gKTtcbiAgICAgICAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcbiAgICAgICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICAgICAgb3V0bGluZTogMDtcbiAgICAgICAgZm9udC1mYW1pbHk6IHZhciggLS1rZW5kby1zY3JvbGx2aWV3LWZvbnQtZmFtaWx5LCAjeyRrZW5kby1zY3JvbGx2aWV3LWZvbnQtZmFtaWx5fSApO1xuICAgICAgICBmb250LXNpemU6IHZhciggLS1rZW5kby1zY3JvbGx2aWV3LWZvbnQtc2l6ZSwgI3ska2VuZG8tc2Nyb2xsdmlldy1mb250LXNpemV9ICk7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiB2YXIoIC0ta2VuZG8tc2Nyb2xsdmlldy1saW5lLWhlaWdodCwgI3ska2VuZG8tc2Nyb2xsdmlldy1saW5lLWhlaWdodH0gKTtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgLXdlYmtpdC10b3VjaC1jYWxsb3V0OiBub25lO1xuICAgICAgICAtd2Via2l0LXRhcC1oaWdobGlnaHQtY29sb3I6ICRrZW5kby1jb2xvci1yZ2JhLXRyYW5zcGFyZW50O1xuICAgIH1cblxuICAgIC5rLXNjcm9sbHZpZXctd3JhcCB7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBmbGV4LWZsb3c6IHJvdyBub3dyYXA7XG4gICAgICAgIGN1cnNvcjogZGVmYXVsdDtcbiAgICAgICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcblxuICAgICAgICA+IC5rLXNjcm9sbHZpZXctdmlldyB7XG4gICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgICAgICAgICAgZmxleC1zaHJpbms6IDA7XG4gICAgICAgIH1cblxuICAgICAgICBpbWcge1xuICAgICAgICAgICAgdXNlci1zZWxlY3Q6IG5vbmU7XG4gICAgICAgIH1cblxuICAgIH1cblxuICAgIC5rLXNjcm9sbHZpZXctd3JhcC5rLXNjcm9sbHZpZXctYW5pbWF0ZSB7XG4gICAgICAgIHdpZHRoOiBjYWxjKCB2YXIoLS1rZW5kby1zY3JvbGx2aWV3LXZpZXdzLCAxKSAqIDEwMCUgKTtcbiAgICAgICAgdHJhbnNpdGlvbi1kdXJhdGlvbjogdmFyKCAtLWtlbmRvLXNjcm9sbHZpZXctdHJhbnNpdGlvbi1kdXJhdGlvbiwgI3ska2VuZG8tc2Nyb2xsdmlldy10cmFuc2l0aW9uLWR1cmF0aW9ufSApO1xuICAgICAgICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogdmFyKCAtLWtlbmRvLXNjcm9sbHZpZXctdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb24sICN7JGtlbmRvLXNjcm9sbHZpZXctdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb259ICk7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCggY2FsYyggLTEwMCUgLyB2YXIoIC0ta2VuZG8tc2Nyb2xsdmlldy12aWV3cywgMSkgKiAoIHZhciggLS1rZW5kby1zY3JvbGx2aWV3LWN1cnJlbnQsIDEpIC0gMSkgKSApO1xuXG4gICAgICAgIC5rLXNjcm9sbHZpZXctdmlldyB7XG4gICAgICAgICAgICB3aWR0aDogY2FsYyggMTAwJSAvIHZhcigtLWtlbmRvLXNjcm9sbHZpZXctdmlld3MsIDEpICk7XG4gICAgICAgICAgICBmbGV4OiAwIDAgY2FsYyggMTAwJSAvIHZhcigtLWtlbmRvLXNjcm9sbHZpZXctdmlld3MsIDEpICk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICA6aXMoW2Rpcj1cInJ0bFwiXSwgLmstcnRsKSAuay1zY3JvbGx2aWV3LXdyYXAuay1zY3JvbGx2aWV3LWFuaW1hdGUge1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoIGNhbGMoIDEwMCUgLyB2YXIoLS1rZW5kby1zY3JvbGx2aWV3LXZpZXdzLCAxKSAqICggdmFyKC0ta2VuZG8tc2Nyb2xsdmlldy1jdXJyZW50LCAxKSAtIDEpICkgKTtcbiAgICB9XG5cbiAgICAuay1zY3JvbGx2aWV3LW5hdi13cmFwIHtcbiAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIGxlZnQ6IDA7XG4gICAgICAgIHJpZ2h0OiAwO1xuICAgICAgICBib3R0b206IHZhciggLS1rZW5kby1zY3JvbGx2aWV3LXBhZ2VyLW9mZnNldCwgI3ska2VuZG8tc2Nyb2xsdmlldy1wYWdlci1vZmZzZXR9ICk7XG4gICAgICAgIGhlaWdodDogdmFyKCAtLWtlbmRvLXNjcm9sbHZpZXctcGFnZXItaGVpZ2h0LCAjeyRrZW5kby1zY3JvbGx2aWV3LXBhZ2VyLWhlaWdodH0gKTtcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIH1cblxuICAgIGtlbmRvLXNjcm9sbHZpZXcuay1zY3JvbGx2aWV3IGtlbmRvLXNjcm9sbHZpZXctcGFnZXIge1xuICAgICAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgICB9XG5cbiAgICBrZW5kby1zY3JvbGx2aWV3Lmstc2Nyb2xsdmlldyAuay1zY3JvbGx2aWV3LW5hdiB7XG4gICAgICAgIHBvaW50ZXItZXZlbnRzOiBpbml0aWFsO1xuICAgIH1cblxuICAgIC5rLXNjcm9sbHZpZXctbmF2IHtcbiAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICBwYWRkaW5nOiB2YXIoIC0ta2VuZG8tc2Nyb2xsdmlldy1wYWdlci1pdGVtLXNwYWNpbmcsICN7JGtlbmRvLXNjcm9sbHZpZXctcGFnZXItaXRlbS1zcGFjaW5nfSApO1xuICAgICAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAwO1xuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gICAgICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICBvdmVyZmxvdy14OiBzY3JvbGw7XG4gICAgICAgIG92ZXJmbG93LXk6IGhpZGRlbjtcbiAgICAgICAgcG9pbnRlci1ldmVudHM6IGluaXRpYWw7XG5cbiAgICAgICAgJjpmb2N1cyB7XG4gICAgICAgICAgICBvdXRsaW5lOiBub25lO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLmstc2Nyb2xsdmlldy1uYXYgPiAuay1saW5rIHtcbiAgICAgICAgbWFyZ2luOiAwIGNhbGMoIHZhciggLS1rZW5kby1zY3JvbGx2aWV3LXBhZ2VyLWl0ZW0tc3BhY2luZywgI3ska2VuZG8tc2Nyb2xsdmlldy1wYWdlci1pdGVtLXNwYWNpbmd9ICkgLyAyKTtcbiAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgd2lkdGg6IHZhciggLS1rZW5kby1zY3JvbGx2aWV3LXBhZ2VidXR0b24tc2l6ZSwgI3ska2VuZG8tc2Nyb2xsdmlldy1wYWdlYnV0dG9uLXNpemV9ICk7XG4gICAgICAgIGhlaWdodDogdmFyKCAtLWtlbmRvLXNjcm9sbHZpZXctcGFnZWJ1dHRvbi1zaXplLCAjeyRrZW5kby1zY3JvbGx2aWV3LXBhZ2VidXR0b24tc2l6ZX0gKTtcbiAgICAgICAgYm9yZGVyLXdpZHRoOiB2YXIoIC0ta2VuZG8tc2Nyb2xsdmlldy1wYWdlci1pdGVtLWJvcmRlci13aWR0aCwgI3ska2VuZG8tc2Nyb2xsdmlldy1wYWdlci1pdGVtLWJvcmRlci13aWR0aH0gKTtcbiAgICAgICAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogNTAlO1xuICAgICAgICBib3gtc2l6aW5nOiBjb250ZW50LWJveDtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIGZsZXg6IDAgMCBhdXRvO1xuICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgICAgIHBvaW50ZXItZXZlbnRzOiBhbGw7XG4gICAgICAgIHZlcnRpY2FsLWFsaWduOiB0b3A7XG5cbiAgICAgICAgJjo6YmVmb3JlIHtcbiAgICAgICAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICAgICAgICB3aWR0aDogdmFyKCAtLWtlbmRvLXNjcm9sbHZpZXctcGFnZWJ1dHRvbi1zaXplLCAjeyRrZW5kby1zY3JvbGx2aWV3LXBhZ2VidXR0b24tc2l6ZX0gKSArIHZhciggLS1rZW5kby1zY3JvbGx2aWV3LXBhZ2VyLWl0ZW0tc3BhY2luZywgI3ska2VuZG8tc2Nyb2xsdmlldy1wYWdlci1pdGVtLXNwYWNpbmd9ICk7XG4gICAgICAgICAgICBoZWlnaHQ6IHZhciggLS1rZW5kby1zY3JvbGx2aWV3LXBhZ2VidXR0b24tc2l6ZSwgI3ska2VuZG8tc2Nyb2xsdmlldy1wYWdlYnV0dG9uLXNpemV9ICkgKyB2YXIoIC0ta2VuZG8tc2Nyb2xsdmlldy1wYWdlci1pdGVtLXNwYWNpbmcsICN7JGtlbmRvLXNjcm9sbHZpZXctcGFnZXItaXRlbS1zcGFjaW5nfSApO1xuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICB0b3A6IDUwJTtcbiAgICAgICAgICAgIGxlZnQ6IDUwJTtcbiAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIC01MCUpO1xuICAgICAgICAgICAgcG9pbnRlci1ldmVudHM6IGluaXRpYWw7XG4gICAgICAgICAgICBib3JkZXItcmFkaXVzOiAwO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLmstc2Nyb2xsdmlldy1uZXh0LFxuICAgIC5rLXNjcm9sbHZpZXctcHJldiB7XG4gICAgICAgIGRpc3BsYXk6IHRhYmxlO1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgIGhlaWdodDogNjAlO1xuICAgICAgICB0b3A6IDIwJTtcbiAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgICAgICB1c2VyLXNlbGVjdDogbm9uZTtcbiAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xuXG4gICAgICAgIC5rLWljb24ge1xuICAgICAgICAgICAgZGlzcGxheTogdGFibGUtY2VsbDtcbiAgICAgICAgICAgIG92ZXJmbG93OiB2aXNpYmxlO1xuICAgICAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gICAgICAgICAgICBmb250LXdlaWdodDogbm9ybWFsO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLmstc2Nyb2xsdmlldy1wcmV2IHtcbiAgICAgICAgaW5zZXQtaW5saW5lLXN0YXJ0OiAwO1xuICAgIH1cblxuICAgIC5rLXNjcm9sbHZpZXctbmV4dCB7XG4gICAgICAgIGluc2V0LWlubGluZS1lbmQ6IDA7XG4gICAgfVxuXG5cbiAgICAuay1zY3JvbGx2aWV3LWFuaW1hdGlvbiB7XG4gICAgICAgIHRyYW5zaXRpb24tZHVyYXRpb246IC4zcztcbiAgICAgICAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2UtaW4tb3V0O1xuICAgIH1cblxufVxuIiwiQHVzZSBcIi4uL2NvcmUvX2luZGV4LnNjc3NcIiBhcyAqO1xuQHVzZSBcIi4vX3ZhcmlhYmxlcy5zY3NzXCIgYXMgKjtcblxuQG1peGluIGtlbmRvLXNjcm9sbHZpZXctLXRoZW1lKCkge1xuXG4gICAgLmstc2Nyb2xsdmlldyB7XG4gICAgICAgIEBpbmNsdWRlIGZpbGwoXG4gICAgICAgICAgICB2YXIoIC0ta2VuZG8tc2Nyb2xsdmlldy10ZXh0LCAjeyRrZW5kby1zY3JvbGx2aWV3LXRleHR9ICksXG4gICAgICAgICAgICB2YXIoIC0ta2VuZG8tc2Nyb2xsdmlldy1iZywgI3ska2VuZG8tc2Nyb2xsdmlldy1iZ30gKSxcbiAgICAgICAgICAgIHZhciggLS1rZW5kby1zY3JvbGx2aWV3LWJvcmRlciwgI3ska2VuZG8tc2Nyb2xsdmlldy1ib3JkZXJ9IClcbiAgICAgICAgKTtcblxuICAgICAgICAmLmstc2Nyb2xsdmlldy1kYXJrIHtcbiAgICAgICAgICAgIGtlbmRvLXNjcm9sbHZpZXctcGFnZXIsXG4gICAgICAgICAgICAuay1zY3JvbGx2aWV3LW5hdi13cmFwIHtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoIC0ta2VuZG8tc2Nyb2xsdmlldy1wYWdlci1kYXJrLWJnLCAjeyRrZW5kby1zY3JvbGx2aWV3LXBhZ2VyLWRhcmstYmd9ICk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAmLmstc2Nyb2xsdmlldy1saWdodCB7XG4gICAgICAgICAgICBrZW5kby1zY3JvbGx2aWV3LXBhZ2VyLFxuICAgICAgICAgICAgLmstc2Nyb2xsdmlldy1uYXYtd3JhcCB7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKCAtLWtlbmRvLXNjcm9sbHZpZXctcGFnZXItbGlnaHQtYmcsICN7JGtlbmRvLXNjcm9sbHZpZXctcGFnZXItbGlnaHQtYmd9ICk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAuay1zY3JvbGx2aWV3OmZvY3VzLFxuICAgIC5rLXNjcm9sbHZpZXctd3JhcDpmb2N1cyB7XG4gICAgICAgIG91dGxpbmU6IG5vbmU7XG5cbiAgICB9XG4gICAgLmstc2Nyb2xsdmlldy1lbGVtZW50cyB7XG4gICAgICAgIGNvbG9yOiB2YXIoIC0ta2VuZG8tc2Nyb2xsdmlldy1uYXZpZ2F0aW9uLWNvbG9yLCAjeyRrZW5kby1zY3JvbGx2aWV3LW5hdmlnYXRpb24tY29sb3J9ICk7XG4gICAgfVxuXG4gICAgLmstc2Nyb2xsdmlldy1uZXh0LFxuICAgIC5rLXNjcm9sbHZpZXctcHJldiB7XG4gICAgICAgIGNvbG9yOiB2YXIoIC0ta2VuZG8tc2Nyb2xsdmlldy1uYXZpZ2F0aW9uLWNvbG9yLCAjeyRrZW5kby1zY3JvbGx2aWV3LW5hdmlnYXRpb24tY29sb3J9ICk7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IHZhciggLS1rZW5kby1zY3JvbGx2aWV3LW5hdmlnYXRpb24tYmcsICN7JGtlbmRvLXNjcm9sbHZpZXctbmF2aWdhdGlvbi1iZ30gKTtcbiAgICAgICAgdGV4dC1zaGFkb3c6IHZhciggLS1rZW5kby1zY3JvbGx2aWV3LW5hdmlnYXRpb24tYXJyb3ctc2hhZG93LCAjeyRrZW5kby1zY3JvbGx2aWV3LW5hdmlnYXRpb24tYXJyb3ctc2hhZG93fSApO1xuICAgICAgICBvdXRsaW5lLXdpZHRoOiAwO1xuICAgICAgICAtd2Via2l0LXRhcC1oaWdobGlnaHQtY29sb3I6ICRrZW5kby1jb2xvci1yZ2JhLXRyYW5zcGFyZW50O1xuXG4gICAgICAgICY6Zm9jdXMsXG4gICAgICAgICYuay1mb2N1cyB7XG5cbiAgICAgICAgICAgIC5rLWljb246OmJlZm9yZSB7XG4gICAgICAgICAgICAgICAgYm94LXNoYWRvdzogdmFyKCAtLWtlbmRvLXNjcm9sbHZpZXctbmF2aWdhdGlvbi1mb2N1cy1zaGFkb3csICN7JGtlbmRvLXNjcm9sbHZpZXctbmF2aWdhdGlvbi1mb2N1cy1zaGFkb3d9ICk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAmOmhvdmVyLFxuICAgICAgICAmLmstaG92ZXIge1xuICAgICAgICAgICAgdGV4dC1zaGFkb3c6IHZhciggLS1rZW5kby1zY3JvbGx2aWV3LW5hdmlnYXRpb24tYXJyb3ctaG92ZXItc2hhZG93LCAjeyRrZW5kby1zY3JvbGx2aWV3LW5hdmlnYXRpb24tYXJyb3ctaG92ZXItc2hhZG93fSApO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLmstc2Nyb2xsdmlldy1uYXYgPiAuay1saW5rIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKCAtLWtlbmRvLXNjcm9sbHZpZXctcGFnZWJ1dHRvbi1iZywgI3ska2VuZG8tc2Nyb2xsdmlldy1wYWdlYnV0dG9uLWJnfSApO1xuICAgICAgICBib3JkZXI6IHZhciggLS1rZW5kby1zY3JvbGx2aWV3LXBhZ2VidXR0b24tYm9yZGVyLCAjeyRrZW5kby1zY3JvbGx2aWV3LXBhZ2VidXR0b24tYm9yZGVyfSApO1xuXG4gICAgICAgICYuay1wcmltYXJ5IHtcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHZhciggLS1rZW5kby1zY3JvbGx2aWV3LXBhZ2VidXR0b24tcHJpbWFyeS1iZywgI3ska2VuZG8tc2Nyb2xsdmlldy1wYWdlYnV0dG9uLXByaW1hcnktYmd9ICk7XG4gICAgICAgICAgICBib3JkZXI6IHZhciggLS1rZW5kby1zY3JvbGx2aWV3LXBhZ2VidXR0b24tcHJpbWFyeS1ib3JkZXIsICN7JGtlbmRvLXNjcm9sbHZpZXctcGFnZWJ1dHRvbi1wcmltYXJ5LWJvcmRlcn0gKTtcblxuICAgICAgICAgICAgJjpmb2N1cyxcbiAgICAgICAgICAgICYuay1mb2N1cyB7XG4gICAgICAgICAgICAgICAgYm94LXNoYWRvdzogdmFyKCAtLWtlbmRvLXNjcm9sbHZpZXctcGFnZWJ1dHRvbi1wcmltYXJ5LWZvY3VzLXNoYWRvdywgI3ska2VuZG8tc2Nyb2xsdmlldy1wYWdlYnV0dG9uLXByaW1hcnktZm9jdXMtc2hhZG93fSApO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAmOmhvdmVyLFxuICAgICAgICAgICAgJi5rLWhvdmVyIHtcbiAgICAgICAgICAgICAgICBib3gtc2hhZG93OiB2YXIoIC0ta2VuZG8tc2Nyb2xsdmlldy1wYWdlYnV0dG9uLXByaW1hcnktaG92ZXItc2hhZG93LCAjeyRrZW5kby1zY3JvbGx2aWV3LXBhZ2VidXR0b24tcHJpbWFyeS1ob3Zlci1zaGFkb3d9ICk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAmOmZvY3VzLFxuICAgICAgICAmLmstZm9jdXMge1xuICAgICAgICAgICAgYm94LXNoYWRvdzogdmFyKCAtLWtlbmRvLXNjcm9sbHZpZXctcGFnZWJ1dHRvbi1mb2N1cy1zaGFkb3csICN7JGtlbmRvLXNjcm9sbHZpZXctcGFnZWJ1dHRvbi1mb2N1cy1zaGFkb3d9ICk7XG4gICAgICAgIH1cblxuICAgICAgICAmOmhvdmVyLFxuICAgICAgICAmLmstaG92ZXIge1xuICAgICAgICAgICAgYm94LXNoYWRvdzogdmFyKCAtLWtlbmRvLXNjcm9sbHZpZXctcGFnZWJ1dHRvbi1ob3Zlci1zaGFkb3csICN7JGtlbmRvLXNjcm9sbHZpZXctcGFnZWJ1dHRvbi1ob3Zlci1zaGFkb3d9ICk7XG4gICAgICAgIH1cbiAgICB9XG59XG4iLCJAdXNlIFwiLi9fdmFyaWFibGVzLnNjc3NcIiBhcyAqO1xuQHVzZSBcIi4uL2NvcmUvX2luZGV4LnNjc3NcIiBhcyAqO1xuXG5AbWl4aW4ga2VuZG8tcHJvbXB0LS1sYXlvdXQge1xuXG4gICAgLy8gUHJvbXB0XG4gICAgLmstcHJvbXB0IHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xuXG4gICAgICAgIC8vIFRvb2xiYXJcbiAgICAgICAgLmstdG9vbGJhciB7XG4gICAgICAgICAgICBib3JkZXItdG9wLXdpZHRoOiAwO1xuICAgICAgICAgICAgYm9yZGVyLWlubGluZS13aWR0aDogMDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8vIENvbnRlbnRcbiAgICAuay1wcm9tcHQtY29udGVudCB7XG4gICAgICAgIHBhZGRpbmctYmxvY2s6IHZhciggLS1rZW5kby1wcm9tcHQtY29udGVudC1wYWRkaW5nLXksICN7JGtlbmRvLXByb21wdC1jb250ZW50LXBhZGRpbmcteX0gKTtcbiAgICAgICAgcGFkZGluZy1pbmxpbmU6IHZhciggLS1rZW5kby1wcm9tcHQtY29udGVudC1wYWRkaW5nLXgsICN7JGtlbmRvLXByb21wdC1jb250ZW50LXBhZGRpbmcteH0gKTtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgZmxleC1mbG93OiBjb2x1bW4gbm93cmFwO1xuICAgICAgICBmbGV4OiAxIDEgYXV0bztcbiAgICAgICAgZ2FwOiB2YXIoIC0ta2VuZG8tcHJvbXB0LWNvbnRlbnQtc3BhY2luZywgI3ska2VuZG8tcHJvbXB0LWNvbnRlbnQtc3BhY2luZ30gKTtcbiAgICAgICAgb3ZlcmZsb3c6IGF1dG87XG4gICAgfVxuXG4gICAgLmstcHJvbXB0LXZpZXcge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgICBmbGV4OiAxIDEgYXV0bztcbiAgICAgICAgZ2FwOiB2YXIoIC0ta2VuZG8tcHJvbXB0LWNvbnRlbnQtc3BhY2luZywgI3ska2VuZG8tcHJvbXB0LWNvbnRlbnQtc3BhY2luZ30gKTtcbiAgICB9XG5cbiAgICAvLyBQcm9tcHQgRXhwYW5kZXJcbiAgICAuay1wcm9tcHQtZXhwYW5kZXIge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgICBmbGV4OiAxO1xuICAgICAgICBhbGlnbi1pdGVtczogZmxleC1zdGFydDtcbiAgICAgICAgZ2FwOiB2YXIoIC0ta2VuZG8tcHJvbXB0LWV4cGFuZGVyLXNwYWNpbmcsICN7JGtlbmRvLXByb21wdC1leHBhbmRlci1zcGFjaW5nfSApO1xuICAgIH1cblxuICAgIC5rLXByb21wdC1leHBhbmRlci1jb250ZW50IHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgZmxleC1mbG93OiBjb2x1bW47XG4gICAgICAgIGZsZXg6IDAgMCBhdXRvO1xuICAgICAgICBnYXA6IHZhciggLS1rZW5kby1wcm9tcHQtZXhwYW5kZXItc3BhY2luZywgI3ska2VuZG8tcHJvbXB0LWV4cGFuZGVyLXNwYWNpbmd9ICk7XG4gICAgICAgIGFsaWduLXNlbGY6IHN0cmV0Y2g7XG4gICAgfVxuXG4gICAgLmstcHJvbXB0LXN1Z2dlc3Rpb24ge1xuICAgICAgICBib3JkZXItd2lkdGg6IDFweDtcbiAgICAgICAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogdmFyKCAtLWtlbmRvLXByb21wdC1zdWdnZXN0aW9uLWJvcmRlci1yYWRpdXMsICN7JGtlbmRvLXByb21wdC1zdWdnZXN0aW9uLWJvcmRlci1yYWRpdXN9ICk7XG4gICAgICAgIHBhZGRpbmctYmxvY2s6IHZhciggLS1rZW5kby1wcm9tcHQtc3VnZ2VzdGlvbi1wYWRkaW5nLXksICN7JGtlbmRvLXByb21wdC1zdWdnZXN0aW9uLXBhZGRpbmcteX0gKTtcbiAgICAgICAgcGFkZGluZy1pbmxpbmU6IHZhciggLS1rZW5kby1wcm9tcHQtc3VnZ2VzdGlvbi1wYWRkaW5nLXgsICN7JGtlbmRvLXByb21wdC1zdWdnZXN0aW9uLXBhZGRpbmcteH0gKTtcbiAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIH1cblxuICAgIC5rLXByb21wdC1zZXR0aW5nIHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICB9XG5cbiAgICAvLyBBY3Rpb25zXG4gICAgLmstcHJvbXB0LWFjdGlvbnMuay1hY3Rpb25zIHtcbiAgICAgICAgbWFyZ2luOiAwO1xuICAgIH1cblxufVxuIiwiQHVzZSBcIi4uL2NvcmUvX2luZGV4LnNjc3NcIiBhcyAqO1xuQHVzZSBcIi4vX3ZhcmlhYmxlcy5zY3NzXCIgYXMgKjtcblxuQG1peGluIGtlbmRvLXByb21wdC0tdGhlbWUge1xuXG4gICAgLmstcHJvbXB0IHtcbiAgICAgICAgQGluY2x1ZGUgZmlsbChcbiAgICAgICAgICAgIHZhciggLS1rZW5kby1wcm9tcHQtdGV4dCwgI3ska2VuZG8tcHJvbXB0LXRleHR9ICksXG4gICAgICAgICAgICB2YXIoIC0ta2VuZG8tcHJvbXB0LWJnLCAjeyRrZW5kby1wcm9tcHQtYmd9ICksXG4gICAgICAgICAgICB2YXIoIC0ta2VuZG8tcHJvbXB0LWJvcmRlciwgI3ska2VuZG8tcHJvbXB0LWJvcmRlcn0gKVxuICAgICAgICApO1xuICAgIH1cblxuICAgIC5rLXByb21wdC1oZWFkZXIge1xuICAgICAgICBAaW5jbHVkZSBmaWxsKFxuICAgICAgICAgICAgdmFyKCAtLWtlbmRvLXByb21wdC1oZWFkZXItdGV4dCwgI3ska2VuZG8tcHJvbXB0LWhlYWRlci10ZXh0fSApLFxuICAgICAgICAgICAgdmFyKCAtLWtlbmRvLXByb21wdC1oZWFkZXItYmcsICN7JGtlbmRvLXByb21wdC1oZWFkZXItYmd9ICksXG4gICAgICAgICAgICB2YXIoIC0ta2VuZG8tcHJvbXB0LWhlYWRlci1ib3JkZXIsICN7JGtlbmRvLXByb21wdC1oZWFkZXItYm9yZGVyfSApXG4gICAgICAgICk7XG4gICAgfVxuXG4gICAgLmstcHJvbXB0LWNvbnRlbnQge1xuICAgICAgICBAaW5jbHVkZSBmaWxsKFxuICAgICAgICAgICAgdmFyKCAtLWtlbmRvLXByb21wdC1jb250ZW50LXRleHQsICN7JGtlbmRvLXByb21wdC1jb250ZW50LXRleHR9ICksXG4gICAgICAgICAgICB2YXIoIC0ta2VuZG8tcHJvbXB0LWNvbnRlbnQtYmcsICN7JGtlbmRvLXByb21wdC1jb250ZW50LWJnfSApLFxuICAgICAgICAgICAgdmFyKCAtLWtlbmRvLXByb21wdC1jb250ZW50LWJvcmRlciwgI3ska2VuZG8tcHJvbXB0LWNvbnRlbnQtYm9yZGVyfSApXG4gICAgICAgICk7XG4gICAgfVxuXG4gICAgLmstcHJvbXB0LXN1Z2dlc3Rpb24ge1xuICAgICAgICBAaW5jbHVkZSBmaWxsKFxuICAgICAgICAgICAgdmFyKCAtLWtlbmRvLXByb21wdC1zdWdnZXN0aW9uLXRleHQsICN7JGtlbmRvLXByb21wdC1zdWdnZXN0aW9uLXRleHR9ICksXG4gICAgICAgICAgICB2YXIoIC0ta2VuZG8tcHJvbXB0LXN1Z2dlc3Rpb24tYmcsICN7JGtlbmRvLXByb21wdC1zdWdnZXN0aW9uLWJnfSApLFxuICAgICAgICAgICAgdmFyKCAtLWtlbmRvLXByb21wdC1zdWdnZXN0aW9uLWJvcmRlciwgI3ska2VuZG8tcHJvbXB0LXN1Z2dlc3Rpb24tYm9yZGVyfSApXG4gICAgICAgICk7XG4gICAgICAgIGJveC1zaGFkb3c6IHZhciggLS1rZW5kby1wcm9tcHQtc3VnZ2VzdGlvbi1zaGFkb3csICN7JGtlbmRvLXByb21wdC1zdWdnZXN0aW9uLXNoYWRvd30gKTtcbiAgICB9XG5cbn1cbiIsIkB1c2UgXCIuL192YXJpYWJsZXMuc2Nzc1wiIGFzICo7XG5cbkBtaXhpbiBrZW5kby1tYXAtLWxheW91dCgpIHtcblxuICAgIC8vIExheW91dFxuICAgIC5rLW1hcCB7XG4gICAgICAgIGhlaWdodDogdmFyKCAtLWtlbmRvLW1hcC1oZWlnaHQsICN7JGtlbmRvLW1hcC1oZWlnaHR9ICk7XG4gICAgICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgICAgIGJvcmRlci13aWR0aDogdmFyKCAtLWtlbmRvLW1hcC1ib3JkZXItd2lkdGgsICN7JGtlbmRvLW1hcC1ib3JkZXItd2lkdGh9ICk7XG4gICAgICAgIGJvcmRlci1zdHlsZTogc29saWQ7XG4gICAgICAgIGZvbnQtc2l6ZTogdmFyKCAtLWtlbmRvLW1hcC1mb250LXNpemUsICN7JGtlbmRvLW1hcC1mb250LXNpemV9ICk7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiB2YXIoIC0ta2VuZG8tbWFwLWxpbmUtaGVpZ2h0LCAjeyRrZW5kby1tYXAtbGluZS1oZWlnaHR9ICk7XG4gICAgICAgIGZvbnQtZmFtaWx5OiB2YXIoIC0ta2VuZG8tbWFwLWZvbnQtZmFtaWx5LCAjeyRrZW5kby1tYXAtZm9udC1mYW1pbHl9ICk7XG5cbiAgICAgICAgKixcbiAgICAgICAgKjo6YmVmb3JlLFxuICAgICAgICAqOjphZnRlciB7XG4gICAgICAgICAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgICAgICB9XG5cblxuICAgICAgICAvLyBTY3JvbGxcbiAgICAgICAgLmttLXNjcm9sbC13cmFwcGVyIHtcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICAgICAgdXNlci1zZWxlY3Q6IG5vbmU7XG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIH1cbiAgICAgICAgLmttLXNjcm9sbC1jb250YWluZXIgeyBoZWlnaHQ6IDEwMCU7IH1cbiAgICAgICAgLmstdG91Y2gtc2Nyb2xsYmFyIHsgZGlzcGxheTogbm9uZTsgfVxuXG4gICAgICAgIC8vIExheWVyc1xuICAgICAgICAuay1sYXllciB7XG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICBsZWZ0OiAwO1xuICAgICAgICAgICAgdG9wOiAwO1xuICAgICAgICB9XG5cbiAgICAgICAgLy8gTWFya2VyXG4gICAgICAgIC5rLW1hcmtlciB7XG4gICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAtMTAwJSk7XG4gICAgICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICBvdmVyZmxvdzogdmlzaWJsZTtcbiAgICAgICAgfVxuXG5cbiAgICAgICAgLy8gQXR0cmlidXRpb25cbiAgICAgICAgLmstYXR0cmlidXRpb24ge1xuICAgICAgICAgICAgcGFkZGluZy1pbmxpbmU6IHZhciggLS1rZW5kby1tYXAtYXR0cmlidXRpb24tcGFkZGluZy14LCAjeyRrZW5kby1tYXAtYXR0cmlidXRpb24tcGFkZGluZy14fSApO1xuICAgICAgICAgICAgcGFkZGluZy1ibG9jazogdmFyKCAtLWtlbmRvLW1hcC1hdHRyaWJ1dGlvbi1wYWRkaW5nLXksICN7JGtlbmRvLW1hcC1hdHRyaWJ1dGlvbi1wYWRkaW5nLXl9ICk7XG4gICAgICAgICAgICBib3JkZXItd2lkdGg6IDA7XG4gICAgICAgICAgICBmb250LXNpemU6IHZhciggLS1rZW5kby1tYXAtYXR0cmlidXRpb24tZm9udC1zaXplLCAjeyRrZW5kby1tYXAtYXR0cmlidXRpb24tZm9udC1zaXplfSApO1xuICAgICAgICAgICAgei1pbmRleDogMTAwMDtcbiAgICAgICAgfVxuICAgIH1cblxuXG4gICAgLy8gQ29udHJvbHNcbiAgICAuay1tYXAtY29udHJvbHMge1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgfVxuXG5cbiAgICAvLyBOYXZpZ2F0b3JcbiAgICAuay1uYXZpZ2F0b3Ige1xuICAgICAgICBtYXJnaW4taW5saW5lOiB2YXIoIC0ta2VuZG8tbWFwLW5hdmlnYXRvci1tYXJnaW4teCwgI3ska2VuZG8tbWFwLW5hdmlnYXRvci1tYXJnaW4teH0gKTtcbiAgICAgICAgbWFyZ2luLWJsb2NrOiB2YXIoIC0ta2VuZG8tbWFwLW5hdmlnYXRvci1tYXJnaW4teSwgI3ska2VuZG8tbWFwLW5hdmlnYXRvci1tYXJnaW4teX0gKTtcbiAgICAgICAgd2lkdGg6IHZhciggLS1rZW5kby1tYXAtbmF2aWdhdG9yLXdpZHRoLCAjeyRrZW5kby1tYXAtbmF2aWdhdG9yLXdpZHRofSApO1xuICAgICAgICBoZWlnaHQ6IHZhciggLS1rZW5kby1tYXAtbmF2aWdhdG9yLXdpZHRoLCAjeyRrZW5kby1tYXAtbmF2aWdhdG9yLXdpZHRofSApO1xuICAgICAgICBib3JkZXItd2lkdGg6IHZhciggLS1rZW5kby1tYXAtbmF2aWdhdG9yLWJvcmRlci13aWR0aCwgI3ska2VuZG8tbWFwLW5hdmlnYXRvci1ib3JkZXItd2lkdGh9ICk7XG4gICAgICAgIGJvcmRlci1zdHlsZTogc29saWQ7XG4gICAgICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gICAgICAgIC8vIEJ1dHRvbnNcbiAgICAgICAgLmstYnV0dG9uIHtcbiAgICAgICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgICAgICB3aWR0aDogYXV0bztcbiAgICAgICAgICAgIGhlaWdodDogYXV0bztcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAxO1xuICAgICAgICAgICAgYm94LXNoYWRvdzogbm9uZTtcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcblxuICAgICAgICAgICAgLmstaWNvbiB7XG4gICAgICAgICAgICAgICAgbWluLXdpZHRoOiAwO1xuICAgICAgICAgICAgICAgIG1pbi1oZWlnaHQ6IDA7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgLmstbmF2aWdhdG9yLW4sXG4gICAgICAgIC5rLW5hdmlnYXRvci11cCB7XG4gICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSk7XG4gICAgICAgICAgICB0b3A6IHZhciggLS1rZW5kby1tYXAtbmF2aWdhdG9yLXBhZGRpbmcsICN7JGtlbmRvLW1hcC1uYXZpZ2F0b3ItcGFkZGluZ30gKTtcbiAgICAgICAgICAgIGxlZnQ6IDUwJTtcbiAgICAgICAgfVxuICAgICAgICAuay1uYXZpZ2F0b3ItZSxcbiAgICAgICAgLmstbmF2aWdhdG9yLXJpZ2h0IHtcbiAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTtcbiAgICAgICAgICAgIHJpZ2h0OiB2YXIoIC0ta2VuZG8tbWFwLW5hdmlnYXRvci1wYWRkaW5nLCAjeyRrZW5kby1tYXAtbmF2aWdhdG9yLXBhZGRpbmd9ICk7XG4gICAgICAgICAgICB0b3A6IDUwJTtcbiAgICAgICAgfVxuICAgICAgICAuay1uYXZpZ2F0b3ItcyxcbiAgICAgICAgLmstbmF2aWdhdG9yLWRvd24ge1xuICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpO1xuICAgICAgICAgICAgYm90dG9tOiB2YXIoIC0ta2VuZG8tbWFwLW5hdmlnYXRvci1wYWRkaW5nLCAjeyRrZW5kby1tYXAtbmF2aWdhdG9yLXBhZGRpbmd9ICk7XG4gICAgICAgICAgICBsZWZ0OiA1MCU7XG4gICAgICAgIH1cbiAgICAgICAgLmstbmF2aWdhdG9yLXcsXG4gICAgICAgIC5rLW5hdmlnYXRvci1sZWZ0IHtcbiAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTtcbiAgICAgICAgICAgIGxlZnQ6IHZhciggLS1rZW5kby1tYXAtbmF2aWdhdG9yLXBhZGRpbmcsICN7JGtlbmRvLW1hcC1uYXZpZ2F0b3ItcGFkZGluZ30gKTtcbiAgICAgICAgICAgIHRvcDogNTAlO1xuICAgICAgICB9XG4gICAgfVxuXG5cbiAgICAvLyBab29tIGNvbnRyb2xcbiAgICAuay16b29tLWNvbnRyb2wge1xuICAgICAgICBtYXJnaW4taW5saW5lLXN0YXJ0OiB2YXIoIC0ta2VuZG8tbWFwLXpvb20tY29udHJvbC1tYXJnaW4sICN7JGtlbmRvLW1hcC16b29tLWNvbnRyb2wtbWFyZ2lufSApO1xuICAgICAgICBib3JkZXI6IDA7XG4gICAgICAgIGJhY2tncm91bmQ6IG5vbmU7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgfVxuXG4gICAgLmstcGRmLWV4cG9ydCB7XG4gICAgICAgIC5rLW5hdmlnYXRvcixcbiAgICAgICAgLmstem9vbS1jb250cm9sIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgIH1cbiAgICB9XG5cbn1cbiIsIkB1c2UgXCIuLi9jb3JlL19pbmRleC5zY3NzXCIgYXMgKjtcbkB1c2UgXCIuL192YXJpYWJsZXMuc2Nzc1wiIGFzICo7XG5cbkBtaXhpbiBrZW5kby1tYXAtLXRoZW1lKCkge1xuXG4gICAgLmstbWFwIHtcbiAgICAgICAgQGluY2x1ZGUgZmlsbChcbiAgICAgICAgICAgIHZhciggLS1rZW5kby1tYXAtdGV4dCwgI3ska2VuZG8tbWFwLXRleHR9ICksXG4gICAgICAgICAgICB2YXIoIC0ta2VuZG8tbWFwLWJnLCAjeyRrZW5kby1tYXAtYmd9ICksXG4gICAgICAgICAgICB2YXIoIC0ta2VuZG8tbWFwLWJvcmRlciwgI3ska2VuZG8tbWFwLWJvcmRlcn0gKVxuICAgICAgICApO1xuXG4gICAgICAgIC5rLW5hdmlnYXRvcixcbiAgICAgICAgLmstem9vbS1jb250cm9sIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHZhciggLS1rZW5kby1tYXAtbmF2aWdhdG9yLWJnLCAjeyRrZW5kby1tYXAtbmF2aWdhdG9yLWJnfSApO1xuICAgICAgICAgICAgYm9yZGVyLWNvbG9yOiB2YXIoIC0ta2VuZG8tbWFwLW5hdmlnYXRvci1ib3JkZXIsICN7JGtlbmRvLW1hcC1uYXZpZ2F0b3ItYm9yZGVyfSApO1xuXG4gICAgICAgICAgICAuay1idXR0b24ge1xuICAgICAgICAgICAgICAgIGNvbG9yOiB2YXIoIC0ta2VuZG8tbWFwLW5hdmlnYXRvci10ZXh0LCAjeyRrZW5kby1tYXAtbmF2aWdhdG9yLXRleHR9ICk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAuay1tYXJrZXIge1xuICAgICAgICAgICAgY29sb3I6IHZhciggLS1rZW5kby1tYXAtbWFya2VyLWZpbGwsICN7JGtlbmRvLW1hcC1tYXJrZXItZmlsbH0gKTtcbiAgICAgICAgfVxuXG4gICAgICAgIC5rLWF0dHJpYnV0aW9uIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHZhciggLS1rZW5kby1tYXAtYXR0cmlidXRpb24tYmcsICN7JGtlbmRvLW1hcC1hdHRyaWJ1dGlvbi1iZ30gKTtcbiAgICAgICAgfVxuICAgIH1cblxufVxuIiwiQHVzZSBcIi4vX3ZhcmlhYmxlcy5zY3NzXCIgYXMgKjtcblxuQG1peGluIGtlbmRvLW9yZ2NoYXJ0LS1sYXlvdXQoKSB7XG5cbiAgICAuay1vcmdjaGFydCB7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBwYWRkaW5nLWlubGluZTogdmFyKCAtLWtlbmRvLW9yZ2NoYXJ0LXBhZGRpbmcteCwgI3ska2VuZG8tb3JnY2hhcnQtcGFkZGluZy14fSApO1xuICAgICAgICBwYWRkaW5nLWJsb2NrOiB2YXIoIC0ta2VuZG8tb3JnY2hhcnQtcGFkZGluZy15LCAjeyRrZW5kby1vcmdjaGFydC1wYWRkaW5nLXl9ICk7XG4gICAgICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgICAgIGZvbnQtZmFtaWx5OiB2YXIoIC0ta2VuZG8tb3JnY2hhcnQtZm9udC1mYW1pbHksICN7JGtlbmRvLW9yZ2NoYXJ0LWZvbnQtZmFtaWx5fSApO1xuICAgICAgICBmb250LXNpemU6IHZhciggLS1rZW5kby1vcmdjaGFydC1mb250LXNpemUsICN7JGtlbmRvLW9yZ2NoYXJ0LWZvbnQtc2l6ZX0gKTtcbiAgICAgICAgbGluZS1oZWlnaHQ6IHZhciggLS1rZW5kby1vcmdjaGFydC1saW5lLWhlaWdodCwgI3ska2VuZG8tb3JnY2hhcnQtbGluZS1oZWlnaHR9ICk7XG4gICAgICAgIG92ZXJmbG93OiBhdXRvO1xuXG4gICAgICAgICosXG4gICAgICAgICo6OmJlZm9yZSxcbiAgICAgICAgKjo6YWZ0ZXIge1xuICAgICAgICAgICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5rLW9yZ2NoYXJ0LWNvbnRhaW5lciB7XG4gICAgICAgIG1hcmdpbi1ibG9jazogMDtcbiAgICAgICAgbWFyZ2luLWlubGluZTogYXV0bztcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIH1cblxuICAgIC8vIE5vZGVzXG4gICAgLmstb3JnY2hhcnQtZ3JvdXAge1xuICAgICAgICBnYXA6IHZhciggLS1rZW5kby1vcmdjaGFydC1ncm91cC1zcGFjaW5nLCAjeyRrZW5kby1vcmdjaGFydC1ncm91cC1zcGFjaW5nfSApO1xuICAgIH1cblxuICAgIC5rLW9yZ2NoYXJ0LWdyb3VwLmstdnN0YWNrID4gLmstb3JnY2hhcnQtbm9kZS1jb250YWluZXIge1xuICAgICAgICBnYXA6IDA7XG4gICAgfVxuXG4gICAgLmstb3JnY2hhcnQtbm9kZS1jb250YWluZXIge1xuICAgICAgICBnYXA6IHZhciggLS1rZW5kby1vcmdjaGFydC1ub2RlLXNwYWNpbmcsICN7JGtlbmRvLW9yZ2NoYXJ0LW5vZGUtc3BhY2luZ30gKTtcbiAgICB9XG5cbiAgICAuay1vcmdjaGFydC1ub2RlLWdyb3VwLWNvbnRhaW5lciB7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IHZhciggLS1rZW5kby1vcmdjaGFydC1ub2RlLWdyb3VwLWJvcmRlci1yYWRpdXMsICN7JGtlbmRvLW9yZ2NoYXJ0LW5vZGUtZ3JvdXAtYm9yZGVyLXJhZGl1c30gKTtcbiAgICAgICAgcGFkZGluZy1pbmxpbmU6IHZhciggLS1rZW5kby1vcmdjaGFydC1ub2RlLWdyb3VwLXBhZGRpbmcteCwgI3ska2VuZG8tb3JnY2hhcnQtbm9kZS1ncm91cC1wYWRkaW5nLXh9ICk7XG4gICAgICAgIHBhZGRpbmctYmxvY2s6IHZhciggLS1rZW5kby1vcmdjaGFydC1ub2RlLWdyb3VwLXBhZGRpbmcteSwgI3ska2VuZG8tb3JnY2hhcnQtbm9kZS1ncm91cC1wYWRkaW5nLXl9ICk7XG4gICAgICAgIGJvcmRlci13aWR0aDogdmFyKCAtLWtlbmRvLW9yZ2NoYXJ0LW5vZGUtZ3JvdXAtYm9yZGVyLXdpZHRoLCAjeyRrZW5kby1vcmdjaGFydC1ub2RlLWdyb3VwLWJvcmRlci13aWR0aH0gKTtcbiAgICAgICAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcbiAgICAgICAgb3V0bGluZTogMDtcbiAgICB9XG5cbiAgICAuay1vcmdjaGFydC1ub2RlLWdyb3VwLXRpdGxlIHtcbiAgICAgICAgbWFyZ2luLWlubGluZTogMDtcbiAgICAgICAgbWFyZ2luLWJsb2NrLXN0YXJ0OiAwO1xuICAgICAgICBtYXJnaW4tYmxvY2stZW5kOiB2YXIoIC0ta2VuZG8tb3JnY2hhcnQtbm9kZS1ncm91cC10aXRsZS1tYXJnaW4teSwgI3ska2VuZG8tb3JnY2hhcnQtbm9kZS1ncm91cC10aXRsZS1tYXJnaW4teX0gKTtcbiAgICAgICAgZm9udC1zaXplOiB2YXIoIC0ta2VuZG8tb3JnY2hhcnQtbm9kZS1ncm91cC10aXRsZS1mb250LXNpemUsICN7JGtlbmRvLW9yZ2NoYXJ0LW5vZGUtZ3JvdXAtdGl0bGUtZm9udC1zaXplfSApO1xuICAgICAgICBsaW5lLWhlaWdodDogdmFyKCAtLWtlbmRvLW9yZ2NoYXJ0LW5vZGUtZ3JvdXAtdGl0bGUtbGluZS1oZWlnaHQsICN7JGtlbmRvLW9yZ2NoYXJ0LW5vZGUtZ3JvdXAtdGl0bGUtbGluZS1oZWlnaHR9ICk7XG4gICAgfVxuXG4gICAgLmstb3JnY2hhcnQtbm9kZS1ncm91cC1zdWJ0aXRsZSB7XG4gICAgICAgIG1hcmdpbi1pbmxpbmU6IDA7XG4gICAgICAgIG1hcmdpbi1ibG9jay1zdGFydDogMDtcbiAgICAgICAgbWFyZ2luLWJsb2NrLWVuZDogdmFyKCAtLWtlbmRvLW9yZ2NoYXJ0LW5vZGUtZ3JvdXAtc3VidGl0bGUtbWFyZ2luLXksICN7JGtlbmRvLW9yZ2NoYXJ0LW5vZGUtZ3JvdXAtc3VidGl0bGUtbWFyZ2luLXl9ICk7XG4gICAgICAgIGZvbnQtc2l6ZTogdmFyKCAtLWtlbmRvLW9yZ2NoYXJ0LW5vZGUtZ3JvdXAtc3VidGl0bGUtZm9udC1zaXplLCAjeyRrZW5kby1vcmdjaGFydC1ub2RlLWdyb3VwLXN1YnRpdGxlLWZvbnQtc2l6ZX0gKTtcbiAgICB9XG5cbiAgICAvLyBDYXJkXG4gICAgLmstb3JnY2hhcnQtY2FyZCB7XG4gICAgICAgIHdpZHRoOiB2YXIoIC0ta2VuZG8tb3JnY2hhcnQtY2FyZC13aWR0aCwgI3ska2VuZG8tb3JnY2hhcnQtY2FyZC13aWR0aH0gKTtcbiAgICAgICAgYm9yZGVyLXdpZHRoOiB2YXIoIC0ta2VuZG8tb3JnY2hhcnQtY2FyZC1ib3JkZXItd2lkdGgsICN7JGtlbmRvLW9yZ2NoYXJ0LWNhcmQtYm9yZGVyLXdpZHRofSApO1xuXG4gICAgICAgIC5rLWNhcmQtdGl0bGUge1xuICAgICAgICAgICAgbWFyZ2luLWJsb2NrLWVuZDogdmFyKCAtLWtlbmRvLW9yZ2NoYXJ0LWNhcmQtdGl0bGUtbWFyZ2luLXksICN7JGtlbmRvLW9yZ2NoYXJ0LWNhcmQtdGl0bGUtbWFyZ2luLXl9ICk7XG4gICAgICAgICAgICBmb250LXNpemU6IHZhciggLS1rZW5kby1vcmdjaGFydC1jYXJkLXRpdGxlLWZvbnQtc2l6ZSwgI3ska2VuZG8tb3JnY2hhcnQtY2FyZC10aXRsZS1mb250LXNpemV9ICk7XG4gICAgICAgICAgICBsaW5lLWhlaWdodDogdmFyKCAtLWtlbmRvLW9yZ2NoYXJ0LWNhcmQtdGl0bGUtbGluZS1oZWlnaHQsICN7JGtlbmRvLW9yZ2NoYXJ0LWNhcmQtdGl0bGUtbGluZS1oZWlnaHR9ICk7XG4gICAgICAgIH1cblxuICAgICAgICAuay1jYXJkLXN1YnRpdGxlIHtcbiAgICAgICAgICAgIG1hcmdpbi1ibG9jay1lbmQ6IHZhciggLS1rZW5kby1vcmdjaGFydC1jYXJkLXN1YnRpdGxlLW1hcmdpbi15LCAjeyRrZW5kby1vcmdjaGFydC1jYXJkLXN1YnRpdGxlLW1hcmdpbi15fSApO1xuICAgICAgICAgICAgZm9udC1zaXplOiB2YXIoIC0ta2VuZG8tb3JnY2hhcnQtY2FyZC1zdWJ0aXRsZS1mb250LXNpemUsICN7JGtlbmRvLW9yZ2NoYXJ0LWNhcmQtc3VidGl0bGUtZm9udC1zaXplfSApO1xuICAgICAgICAgICAgbGluZS1oZWlnaHQ6IHZhciggLS1rZW5kby1vcmdjaGFydC1jYXJkLXN1YnRpdGxlLWxpbmUtaGVpZ2h0LCAjeyRrZW5kby1vcmdjaGFydC1jYXJkLXN1YnRpdGxlLWxpbmUtaGVpZ2h0fSApO1xuICAgICAgICB9XG5cbiAgICAgICAgLmstY2FyZC1ib2R5IHtcbiAgICAgICAgICAgIHBhZGRpbmctaW5saW5lOiB2YXIoIC0ta2VuZG8tb3JnY2hhcnQtY2FyZC1ib2R5LXBhZGRpbmcteCwgI3ska2VuZG8tb3JnY2hhcnQtY2FyZC1ib2R5LXBhZGRpbmcteH0gKTtcbiAgICAgICAgICAgIHBhZGRpbmctYmxvY2s6IHZhciggLS1rZW5kby1vcmdjaGFydC1jYXJkLWJvZHktcGFkZGluZy15LCAjeyRrZW5kby1vcmdjaGFydC1jYXJkLWJvZHktcGFkZGluZy15fSApO1xuICAgICAgICAgICAgYm9yZGVyLXdpZHRoOiB2YXIoIC0ta2VuZG8tb3JnY2hhcnQtY2FyZC1ib2R5LWJvcmRlci13aWR0aCwgI3ska2VuZG8tb3JnY2hhcnQtY2FyZC1ib2R5LWJvcmRlci13aWR0aH0gKTtcbiAgICAgICAgICAgIGJvcmRlci1zdHlsZTogc29saWQ7XG4gICAgICAgICAgICBmbGV4LWdyb3c6IDA7XG4gICAgICAgIH1cbiAgICAgICAgLmstY2FyZC1ib2R5IC5rLWNhcmQtdGl0bGUtd3JhcCB7XG4gICAgICAgICAgICBtYXJnaW4taW5saW5lLWVuZDogdmFyKCAtLWtlbmRvLW9yZ2NoYXJ0LWNhcmQtYm9keS12Ym94LW1hcmdpbi14LCAjeyRrZW5kby1vcmdjaGFydC1jYXJkLWJvZHktdmJveC1tYXJnaW4teH0gKTtcbiAgICAgICAgICAgIG1pbi13aWR0aDogMDtcbiAgICAgICAgICAgIG1pbi1oZWlnaHQ6IHZhciggLS1rZW5kby1vcmdjaGFydC1jYXJkLWJvZHktdmJveC1taW4taGVpZ2h0LCAjeyRrZW5kby1vcmdjaGFydC1jYXJkLWJvZHktdmJveC1taW4taGVpZ2h0fSApO1xuICAgICAgICB9XG5cbiAgICAgICAgLmstY2FyZC10aXRsZS13cmFwIC5rLWNhcmQtdGl0bGUgKyAuay1zcGFjZXIge1xuICAgICAgICAgICAgZmxleDogMDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8vIExpbmVzXG4gICAgLmstb3JnY2hhcnQtbGluZSB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IGN1cnJlbnRDb2xvcjtcbiAgICB9XG5cbiAgICAuay1vcmdjaGFydC1saW5lLWgge1xuICAgICAgICBoZWlnaHQ6IHZhciggLS1rZW5kby1vcmdjaGFydC1saW5lLXNpemUsICN7JGtlbmRvLW9yZ2NoYXJ0LWxpbmUtc2l6ZX0gKTtcbiAgICB9XG5cbiAgICAuay1vcmdjaGFydC1saW5lLXYge1xuICAgICAgICBtYXJnaW4tYmxvY2s6IDA7XG4gICAgICAgIG1hcmdpbi1pbmxpbmU6IGF1dG87XG4gICAgICAgIHdpZHRoOiB2YXIoIC0ta2VuZG8tb3JnY2hhcnQtbGluZS1zaXplLCAjeyRrZW5kby1vcmdjaGFydC1saW5lLXNpemV9ICk7XG4gICAgICAgIGhlaWdodDogdmFyKCAtLWtlbmRvLW9yZ2NoYXJ0LWxpbmUtdi1oZWlnaHQsICN7JGtlbmRvLW9yZ2NoYXJ0LWxpbmUtdi1oZWlnaHR9ICk7XG4gICAgfVxuXG4gICAgLy8gQnV0dG9uc1xuICAgIC5rLW9yZ2NoYXJ0LWJ1dHRvbiB7XG4gICAgICAgIHotaW5kZXg6IDE7XG4gICAgfVxuXG59XG4iLCJAdXNlIFwiLi4vY29yZS9faW5kZXguc2Nzc1wiIGFzICo7XG5AdXNlIFwiLi9fdmFyaWFibGVzLnNjc3NcIiBhcyAqO1xuXG5AbWl4aW4ga2VuZG8tb3JnY2hhcnQtLXRoZW1lKCkge1xuXG4gICAgLmstb3JnY2hhcnQge1xuICAgICAgICBAaW5jbHVkZSBmaWxsIChcbiAgICAgICAgICAgIHZhciggLS1rZW5kby1vcmdjaGFydC10ZXh0LCAjeyRrZW5kby1vcmdjaGFydC10ZXh0fSApLFxuICAgICAgICAgICAgdmFyKCAtLWtlbmRvLW9yZ2NoYXJ0LWJnLCAjeyRrZW5kby1vcmdjaGFydC1iZ30gKSxcbiAgICAgICAgICAgIHZhciggLS1rZW5kby1vcmdjaGFydC1ib3JkZXIsICN7JGtlbmRvLW9yZ2NoYXJ0LWJvcmRlcn0gKVxuICAgICAgICApO1xuICAgIH1cblxuICAgIC8vIENhcmRcbiAgICAuay1vcmdjaGFydC1jYXJkIHtcbiAgICAgICAgQGluY2x1ZGUgYm94LXNoYWRvdyggdmFyKCAtLWtlbmRvLW9yZ2NoYXJ0LWNhcmQtc2hhZG93LCAjeyRrZW5kby1vcmdjaGFydC1jYXJkLXNoYWRvd30gKSApO1xuXG4gICAgICAgIC5rLWNhcmQtYm9keSB7XG4gICAgICAgICAgICBAaW5jbHVkZSBmaWxsKFxuICAgICAgICAgICAgICAgICRib3JkZXI6IHZhciggLS1rZW5kby1vcmdjaGFydC1jYXJkLWJvZHktYm9yZGVyLWNvbG9yLCAjeyRrZW5kby1vcmdjaGFydC1jYXJkLWJvZHktYm9yZGVyLWNvbG9yfSApXG4gICAgICAgICAgICApO1xuICAgICAgICB9XG5cbiAgICAgICAgJjpmb2N1cyxcbiAgICAgICAgJi5rLWZvY3VzIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGJveC1zaGFkb3coIHZhciggLS1rZW5kby1vcmdjaGFydC1jYXJkLWZvY3VzLXNoYWRvdywgI3ska2VuZG8tb3JnY2hhcnQtY2FyZC1mb2N1cy1zaGFkb3d9ICkgKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8vIEdyb3VwXG4gICAgLmstb3JnY2hhcnQtbm9kZS1ncm91cC1jb250YWluZXIge1xuICAgICAgICBAaW5jbHVkZSBmaWxsIChcbiAgICAgICAgICAgIHZhciggLS1rZW5kby1vcmdjaGFydC1ub2RlLWdyb3VwLXRleHQsICN7JGtlbmRvLW9yZ2NoYXJ0LW5vZGUtZ3JvdXAtdGV4dH0gKSxcbiAgICAgICAgICAgIHZhciggLS1rZW5kby1vcmdjaGFydC1ub2RlLWdyb3VwLWJnLCAjeyRrZW5kby1vcmdjaGFydC1ub2RlLWdyb3VwLWJnfSApLFxuICAgICAgICAgICAgdmFyKCAtLWtlbmRvLW9yZ2NoYXJ0LW5vZGUtZ3JvdXAtYm9yZGVyLCAjeyRrZW5kby1vcmdjaGFydC1ub2RlLWdyb3VwLWJvcmRlcn0gKVxuICAgICAgICApO1xuICAgIH1cbiAgICAuay1vcmdjaGFydC1ub2RlLWdyb3VwLWNvbnRhaW5lcjpmb2N1cyxcbiAgICAuay1vcmdjaGFydC1ub2RlLWdyb3VwLWNvbnRhaW5lci5rLWZvY3VzIHtcbiAgICAgICAgQGluY2x1ZGUgYm94LXNoYWRvdyggdmFyKCAtLWtlbmRvLW9yZ2NoYXJ0LW5vZGUtZ3JvdXAtZm9jdXMtc2hhZG93LCAjeyRrZW5kby1vcmdjaGFydC1ub2RlLWdyb3VwLWZvY3VzLXNoYWRvd30gKSApO1xuICAgICAgICBAaW5jbHVkZSBmaWxsIChcbiAgICAgICAgICAgICRib3JkZXI6IHZhciggLS1rZW5kby1vcmdjaGFydC1ub2RlLWdyb3VwLWZvY3VzLWJvcmRlciwgI3ska2VuZG8tb3JnY2hhcnQtbm9kZS1ncm91cC1mb2N1cy1ib3JkZXJ9IClcbiAgICAgICAgKTtcbiAgICB9XG5cbiAgICAuay1vcmdjaGFydC1ub2RlLWdyb3VwLXN1YnRpdGxlIHtcbiAgICAgICAgQGluY2x1ZGUgZmlsbChcbiAgICAgICAgICAgICRjb2xvcjogdmFyKCAtLWtlbmRvLW9yZ2NoYXJ0LW5vZGUtZ3JvdXAtc3VidGl0bGUtdGV4dCwgI3ska2VuZG8tb3JnY2hhcnQtbm9kZS1ncm91cC1zdWJ0aXRsZS10ZXh0fSApXG4gICAgICAgICk7XG4gICAgfVxuXG4gICAgLy8gTGluZXNcbiAgICAuay1vcmdjaGFydC1saW5lLWgsXG4gICAgLmstb3JnY2hhcnQtbGluZS12IHtcbiAgICAgICAgQGluY2x1ZGUgZmlsbChcbiAgICAgICAgICAgICRjb2xvcjogdmFyKCAtLWtlbmRvLW9yZ2NoYXJ0LWxpbmUtdGV4dCwgI3ska2VuZG8tb3JnY2hhcnQtbGluZS10ZXh0fSApXG4gICAgICAgICk7XG4gICAgfVxuXG59XG4iLCJAdXNlIFwic2FzczptYXBcIjtcbkB1c2UgXCIuL192YXJpYWJsZXMuc2Nzc1wiIGFzICo7XG5cbkBtaXhpbiBrZW5kby1zaWduYXR1cmUtLWxheW91dCgpIHtcblxuICAgIC5rLXNpZ25hdHVyZSB7XG4gICAgICAgIHdpZHRoOiB2YXIoIC0ta2VuZG8tc2lnbmF0dXJlLXdpZHRoLCAjeyRrZW5kby1zaWduYXR1cmUtd2lkdGh9ICk7XG4gICAgICAgIG1pbi1oZWlnaHQ6IHZhciggLS1rZW5kby1zaWduYXR1cmUtaGVpZ2h0LCAjeyRrZW5kby1zaWduYXR1cmUtaGVpZ2h0fSApO1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcblxuICAgICAgICAmLmstc2lnbmF0dXJlLW1heGltaXplZCB7XG4gICAgICAgICAgICB3aWR0aDogdmFyKCAtLWtlbmRvLXNpZ25hdHVyZS1tYXhpbWl6ZWQtd2lkdGgsICN7JGtlbmRvLXNpZ25hdHVyZS1tYXhpbWl6ZWQtd2lkdGh9ICk7XG4gICAgICAgICAgICBoZWlnaHQ6IHZhciggLS1rZW5kby1zaWduYXR1cmUtbWF4aW1pemVkLWhlaWdodCwgI3ska2VuZG8tc2lnbmF0dXJlLW1heGltaXplZC1oZWlnaHR9ICk7XG5cbiAgICAgICAgICAgID4gLmstc2lnbmF0dXJlLWxpbmUge1xuICAgICAgICAgICAgICAgIGJvcmRlci1ib3R0b20td2lkdGg6IHZhciggLS1rZW5kby1zaWduYXR1cmUtbWF4aW1pemVkLWxpbmUtd2lkdGgsICN7JGtlbmRvLXNpZ25hdHVyZS1tYXhpbWl6ZWQtbGluZS13aWR0aH0gKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgICY6ZGlzYWJsZWQsXG4gICAgICAgICZbZGlzYWJsZWRdLFxuICAgICAgICAmLmstZGlzYWJsZWQge1xuICAgICAgICAgICAgb3BhY2l0eTogdmFyKCAtLWtlbmRvLXNpZ25hdHVyZS1kaXNhYmxlZC1vcGFjaXR5LCAjeyRrZW5kby1zaWduYXR1cmUtZGlzYWJsZWQtb3BhY2l0eX0gKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5rLXNpZ25hdHVyZS1hY3Rpb25zIHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgd2lkdGg6IG1pbi1jb250ZW50O1xuICAgICAgICBtYXJnaW4taW5saW5lLXN0YXJ0OiBhdXRvO1xuICAgICAgICBnYXA6IHZhciggLS1rZW5kby1zaWduYXR1cmUtYWN0aW9ucy1nYXAsICN7JGtlbmRvLXNpZ25hdHVyZS1hY3Rpb25zLWdhcH0gKTtcbiAgICAgICAgei1pbmRleDogMjtcbiAgICB9XG5cbiAgICAuay1zaWduYXR1cmUtY2FudmFzIHtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB0b3A6IDA7XG4gICAgICAgIGxlZnQ6IDA7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICB6LWluZGV4OiAxO1xuICAgIH1cblxuICAgIC5rLXNpZ25hdHVyZS1saW5lIHtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICBib3R0b206IHZhciggLS1rZW5kby1zaWduYXR1cmUtbGluZS1ib3R0b20tb2Zmc2V0LCAjeyRrZW5kby1zaWduYXR1cmUtbGluZS1ib3R0b20tb2Zmc2V0fSApO1xuICAgICAgICB6LWluZGV4OiAyO1xuICAgICAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgICAgICAgYm9yZGVyLWJvdHRvbS13aWR0aDogdmFyKCAtLWtlbmRvLXNpZ25hdHVyZS1saW5lLXdpZHRoLCAjeyRrZW5kby1zaWduYXR1cmUtbGluZS13aWR0aH0gKTtcbiAgICAgICAgYm9yZGVyLWJvdHRvbS1zdHlsZTogdmFyKCAtLWtlbmRvLXNpZ25hdHVyZS1saW5lLXN0eWxlLCAjeyRrZW5kby1zaWduYXR1cmUtbGluZS1zdHlsZX0gKTtcbiAgICB9XG5cbiAgICAvLyBTaXplc1xuICAgIEBlYWNoICRzaXplLCAkc2l6ZS1wcm9wcyBpbiAka2VuZG8tc2lnbmF0dXJlLXNpemVzIHtcbiAgICAgICAgJF9wYWRkaW5nLXg6IG1hcC5nZXQoICRzaXplLXByb3BzLCBwYWRkaW5nLXggKTtcbiAgICAgICAgJF9wYWRkaW5nLXk6IG1hcC5nZXQoICRzaXplLXByb3BzLCBwYWRkaW5nLXkgKTtcbiAgICAgICAgJF9saW5lLXNpemU6IG1hcC5nZXQoICRzaXplLXByb3BzLCBsaW5lLXNpemUgKTtcbiAgICAgICAgJF9saW5lLW9mZnNldDogbWFwLmdldCggJHNpemUtcHJvcHMsIGxpbmUtb2Zmc2V0ICk7XG5cbiAgICAgICAgLmstc2lnbmF0dXJlLSN7JHNpemV9IHtcbiAgICAgICAgICAgIHBhZGRpbmctaW5saW5lOiAkX3BhZGRpbmcteDtcbiAgICAgICAgICAgIHBhZGRpbmctYmxvY2s6ICRfcGFkZGluZy15O1xuXG4gICAgICAgICAgICAuay1zaWduYXR1cmUtbGluZSB7XG4gICAgICAgICAgICAgICAgd2lkdGg6ICRfbGluZS1zaXplO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgLmstc2lnbmF0dXJlLWxnIHtcbiAgICAgICAgbWluLWhlaWdodDogdmFyKCAtLWtlbmRvLXNpZ25hdHVyZS1sZy1taW4taGVpZ2h0LCAjeyRrZW5kby1zaWduYXR1cmUtbGctbWluLWhlaWdodH0gKTtcbiAgICB9XG5cbn1cbiIsIkB1c2UgXCIuL192YXJpYWJsZXMuc2Nzc1wiIGFzICo7XG5cbkBtaXhpbiBrZW5kby1zaWduYXR1cmUtLXRoZW1lKCkge1xuXG4gICAgLy8gU29saWQgc2lnbmF0dXJlXG4gICAgLmstc2lnbmF0dXJlIHtcblxuICAgICAgICAuay1zaWduYXR1cmUtbGluZSB7XG4gICAgICAgICAgICBib3JkZXItYm90dG9tLWNvbG9yOiB2YXIoIC0ta2VuZG8tc2lnbmF0dXJlLWxpbmUtY29sb3IsICN7JGtlbmRvLXNpZ25hdHVyZS1saW5lLWNvbG9yfSApO1xuICAgICAgICB9XG5cbiAgICAgICAgJjpkaXNhYmxlZCxcbiAgICAgICAgJltkaXNhYmxlZF0sXG4gICAgICAgICYuay1kaXNhYmxlZCB7XG4gICAgICAgICAgICAuay1zaWduYXR1cmUtbGluZSB7XG4gICAgICAgICAgICAgICAgYm9yZGVyLWJvdHRvbS1jb2xvcjogdmFyKCAtLWtlbmRvLXNpZ25hdHVyZS1saW5lLWRpc2FibGVkLWNvbG9yLCAjeyRrZW5kby1zaWduYXR1cmUtbGluZS1kaXNhYmxlZC1jb2xvcn0gKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxufVxuIl0sIm5hbWVzIjpbXSwiaWdub3JlTGlzdCI6W10sInNvdXJjZVJvb3QiOiIifQ==*/