html, body, div, span, applet, object, iframe, h1, h2, h3, h4, h5, h6, p,
blockquote, pre, a, abbr, acronym, address, big, cite, code, del, dfn, em,
img, ins, kbd, q, s, samp, small, strike, strong, sub, sup, tt, var, b, u, i,
center, dl, dt, dd, ol, ul, li, fieldset, form, label, legend, table,
caption, tbody, tfoot, thead, tr, th, td, article, aside, canvas, details,
embed, figure, figcaption, footer, header, hgroup, menu, nav, output, ruby,
section, summary, time, mark, audio, video {
  margin: 0;
  padding: 0;
  border: 0;
  vertical-align: baseline;
}

:root {
  box-sizing: border-box;
  -webkit-text-size-adjust: 100%;
}

*, *:after, *:before {
  box-sizing: inherit;
}
*:focus, *:after:focus, *:before:focus {
  outline: 0;
}

html {
  height: 100%;
  font-size: 62.5%;
  block-size: 100%;
  inline-size: 100%;
}

body {
  min-block-size: 100%;
  min-inline-size: 100%;
}

html, body {
  min-height: 100%;
}

p:empty, pre:empty, blockquote:empty, ol:empty, ul:empty, li:empty, legend:empty, figcaption:empty, body:empty, article:empty, nav:empty, aside:empty, section:empty, header:empty, footer:empty, address:empty {
  display: none;
}

article, aside, details, figcaption, figure, footer, header, main, menu, nav, section, summary {
  display: block;
}

svg, symbol {
  overflow: visible;
}

details {
  display: block;
}

summary {
  display: list-item;
  -webkit-appearance: none;
}
summary::-webkit-details-marker, summary::marker {
  display: none;
}

template {
  display: none;
}

[hidden] {
  display: none;
}

body {
  text-rendering: optimizeLegibility;
  -webkit-font-smoothing: antialiased;
  width: 100%;
}

address {
  font-style: normal;
}

h1, h2, h3, h4, h5, h6 {
  -webkit-margin-before: 0em;
  -webkit-margin-after: 0em;
  -webkit-margin-start: 0px;
  -webkit-margin-end: 0px;
  font-weight: normal;
}

hr {
  border: none;
  height: 1px;
  box-sizing: content-box;
  overflow: visible;
}

blockquote, q {
  quotes: none;
}
blockquote:before, blockquote:after, q:before, q:after {
  content: "";
  content: none;
}

pre {
  font-family: monospace, monospace;
  font-size: 1em;
  background-color: white;
  color: black;
  padding: 16px;
  position: relative;
  z-index: 9999;
}

table {
  border-collapse: collapse;
  border-spacing: 0;
}

button {
  touch-action: manipulation;
}

button, input, optgroup, select, textarea {
  font-family: inherit;
  font-size: 100%;
  line-height: 1.15;
  margin: 0;
}

button, input {
  overflow: visible;
}

button, select {
  text-transform: none;
}

button,
[type=button],
[type=reset],
[type=submit] {
  -webkit-appearance: button;
  background: none;
  border: none;
  padding: 0;
  margin: 0;
  cursor: pointer;
}
button:focus,
[type=button]:focus,
[type=reset]:focus,
[type=submit]:focus {
  outline: 0;
}

button::-moz-focus-inner,
[type=button]::-moz-focus-inner,
[type=reset]::-moz-focus-inner,
[type=submit]::-moz-focus-inner {
  border-style: none;
  padding: 0;
}

button:-moz-focusring,
[type=button]:-moz-focusring,
[type=reset]:-moz-focusring,
[type=submit]:-moz-focusring {
  outline: 1px dotted ButtonText;
}

fieldset {
  padding: 0.35em 0.75em 0.625em;
}

legend {
  box-sizing: border-box;
  color: inherit;
  display: table;
  max-width: 100%;
  padding: 0;
  white-space: normal;
}

progress {
  vertical-align: baseline;
}

[type=checkbox],
[type=radio] {
  box-sizing: border-box;
  padding: 0;
}

[type=number]::-webkit-inner-spin-button,
[type=number]::-webkit-outer-spin-button {
  height: auto;
}

[type=search] {
  -webkit-appearance: textfield;
  outline-offset: -2px;
}

[type=search]::-webkit-search-decoration {
  -webkit-appearance: none;
}

::-webkit-file-upload-button {
  -webkit-appearance: button;
  font: inherit;
}

[disabled] {
  cursor: default;
}

img {
  border-style: none;
}

em {
  font-style: italic;
}

a {
  background-color: transparent;
  text-decoration: none;
  touch-action: manipulation;
}

abbr[title] {
  border-bottom: none;
  text-decoration: underline;
  -webkit-text-decoration: underline dotted;
          text-decoration: underline dotted;
}

b, strong {
  font-weight: bold;
}

code, kbd, samp {
  font-family: monospace, monospace;
  font-size: 1em;
}

small {
  font-size: 80%;
}

sub, sup {
  font-size: 75%;
  line-height: 0;
  position: relative;
  vertical-align: baseline;
}

sub {
  bottom: -0.25em;
}

sup {
  top: -0.5em;
}

textarea {
  resize: none;
  overflow: auto;
}

pre {
  background-color: white;
  color: black;
  text-transform: none;
  text-decoration: none;
  text-align: left;
  display: block;
  font-size: 16px;
  padding: 16px;
  position: relative;
  z-index: 999;
}

body.devmode img:not([alt]) {
  border: 2px red dashed;
}

/* z-indexes are large due to the fact that things might change
 * in the future. In order to account for scalability, this gives
 * room to make changes and not break the entire site, meaning 
 * we won't have to go in and refactor a lot of our code.
 */
/*  ----------------------------------------------------
    INPUTS
  ----------------------------------------------------- */
/*  ----------------------------------------------------
    CONTAINERS
  ----------------------------------------------------- */
/* -------------------
	Base result styles
-------------------- */
/* -------------------
	Variations
-------------------- */
/* -----------------------------------------------------
  Base styling
----------------------------------------------------- */
/* -----------------------------------------------------
  With secondary section
----------------------------------------------------- */
/* -----------------------------------------------------
  Checkbox tags
----------------------------------------------------- */
/* -----------------------------------------------------
  States
----------------------------------------------------- */
@font-face {
  font-family: "lato";
  src: url("../../../assets/fonts/lato-bold.woff2") format("woff2"), url("../../../assets/fonts/lato-bold.woff") format("woff"), url("../../../assets/fonts/lato-bold.otf") format("opentype");
  font-display: swap;
  font-style: normal;
  font-weight: 700;
}
@font-face {
  font-family: "lato";
  src: url("../../../assets/fonts/lato-semibold.woff2") format("woff2"), url("../../../assets/fonts/lato-semibold.woff") format("woff"), url("../../../assets/fonts/lato-semibold.otf") format("opentype");
  font-display: swap;
  font-style: normal;
  font-weight: 600;
}
@font-face {
  font-family: "lato";
  src: url("../../../assets/fonts/lato-regular.woff2") format("woff2"), url("../../../assets/fonts/lato-regular.woff") format("woff"), url("../../../assets/fonts/lato-regular.otf") format("opentype");
  font-display: swap;
  font-style: normal;
  font-weight: 400;
}
@font-face {
  font-family: "montserrat";
  src: url("../../../assets/fonts/montserrat-medium.woff2") format("woff2"), url("../../../assets/fonts/montserrat-medium.woff") format("woff"), url("../../../assets/fonts/montserrat-medium.otf") format("opentype");
  font-display: swap;
  font-style: normal;
  font-weight: 500;
}
@font-face {
  font-family: "montserrat";
  src: url("../../../assets/fonts/montserrat-medium-italic.woff2") format("woff2"), url("../../../assets/fonts/montserrat-medium-italic.woff") format("woff"), url("../../../assets/fonts/montserrat-medium-italic.otf") format("opentype");
  font-display: swap;
  font-style: italic;
  font-weight: 500;
}
@font-face {
  font-family: "montserrat";
  src: url("../../../assets/fonts/montserrat-semibold.woff2") format("woff2"), url("../../../assets/fonts/montserrat-semibold.woff") format("woff"), url("../../../assets/fonts/montserrat-semibold.otf") format("opentype");
  font-display: swap;
  font-style: normal;
  font-weight: 600;
}
@font-face {
  font-family: "montserrat";
  src: url("../../../assets/fonts/montserrat-regular.woff2") format("woff2"), url("../../../assets/fonts/montserrat-regular.woff") format("woff"), url("../../../assets/fonts/montserrat-regular.otf") format("opentype");
  font-display: swap;
  font-style: normal;
  font-weight: 400;
}
@font-face {
  font-family: "montserrat";
  src: url("../../../assets/fonts/montserrat-extrabold.woff2") format("woff2"), url("../../../assets/fonts/montserrat-extrabold.woff") format("woff"), url("../../../assets/fonts/montserrat-extrabold.otf") format("opentype");
  font-display: swap;
  font-style: normal;
  font-weight: 800;
}
:root {
  --primary: #FFFFFF;
  --secondary: #131f6b;
  --breakpoint-min: 320px;
  --breakpoint-small: 480px;
  --breakpoint-small-medium: 980px;
  --breakpoint-medium: 1120px;
  --breakpoint-large: 1400px;
  --breakpoint-max: 1680px;
  --font-colour: var(--theme-font, #6A6A6A);
  --heading-colour: var(--theme-heading, #FFFFFF);
  --sub-heading-colour: var(--secondary, #131f6b);
  --transition-duration: 0.2s;
  --transition-ease: cubic-bezier(0.42, 0, 0.58, 1);
  --transition-delay: ;
  --gap: 16px;
  --gutter: 3vw;
  --spacer: 4vh;
  --gutter0: clamp(8px, var(--gutter) * 0.5, 12px);
  --gutter0-: calc(-1 * clamp(8px, var(--gutter) * 0.5, 12px));
  --spacer0: clamp(16px, var(--spacer), 32px);
  --spacer0-: calc(-1 * clamp(16px, var(--spacer), 32px));
  --gutter1: clamp(16px, var(--gutter), 32px);
  --gutter1-: calc(-1 * clamp(16px, var(--gutter), 32px));
  --spacer1: clamp(16px, var(--spacer) * 3, 64px);
  --spacer1-: calc(-1 * clamp(16px, var(--spacer) * 3, 64px));
  --gutter2: clamp(16px, var(--gutter) * 2, 48px);
  --gutter2-: calc(-1 * clamp(16px, var(--gutter) * 2, 48px));
  --spacer2: clamp(16px, var(--spacer) * 6, 112px);
  --spacer2-: calc(-1 * clamp(16px, var(--spacer) * 6, 112px));
  --gutter3: clamp(16px, var(--gutter) * 3, 64px);
  --gutter3-: calc(-1 * clamp(16px, var(--gutter) * 3, 64px));
  --spacer3: clamp(16px, var(--spacer) * 9, 160px);
  --spacer3-: calc(-1 * clamp(16px, var(--spacer) * 9, 160px));
  --gutter4: clamp(16px, var(--gutter) * 4, 80px);
  --gutter4-: calc(-1 * clamp(16px, var(--gutter) * 4, 80px));
  --spacer4: clamp(16px, var(--spacer) * 12, 208px);
  --spacer4-: calc(-1 * clamp(16px, var(--spacer) * 12, 208px));
  --gutter5: clamp(16px, var(--gutter) * 5, 96px);
  --gutter5-: calc(-1 * clamp(16px, var(--gutter) * 5, 96px));
  --spacer5: clamp(16px, var(--spacer) * 15, 256px);
  --spacer5-: calc(-1 * clamp(16px, var(--spacer) * 15, 256px));
  --gutter6: clamp(16px, var(--gutter) * 6, 112px);
  --gutter6-: calc(-1 * clamp(16px, var(--gutter) * 6, 112px));
  --spacer6: clamp(16px, var(--spacer) * 18, 304px);
  --spacer6-: calc(-1 * clamp(16px, var(--spacer) * 18, 304px));
}
:root body[data-theme=default] {
  --theme-page-background: linear-gradient(to bottom right, #131f6b 5%, #1E1A1A 66%);
  --theme-content-background: rgba(255, 255, 255, 0);
  --theme-content-opposite: #FFFFFF;
  --theme-nav-background: rgba(255, 255, 255, 0);
  --theme-nav-background-mob: #FFFFFF;
  --theme-nav-font: #FFFFFF;
  --theme-nav-font-mob: #131f6b;
  --theme-nav-spacing-colour: rgba(19, 31, 107, 0.3);
  --theme-accent: #DF3035;
  --theme-logo: #FFFFFF;
  --font-colour: #FFFFFF;
  --heading-colour: #FFFFFF;
}
:root body[data-theme=white] {
  --theme-page-background: radial-gradient(circle at bottom, #10124d 55%, #172582 100%);
  --theme-content-background: #f8f8f8;
  --theme-content-opposite: #FFFFFF;
  --theme-nav-background: rgba(255, 255, 255, 0);
  --theme-nav-background-mob: #131f6b;
  --theme-nav-font: #FFFFFF;
  --theme-nav-font-mob: #FFFFFF;
  --theme-nav-spacing-colour: rgba(255, 255, 255, 0.3);
  --theme-accent: #DF3035;
  --theme-logo: #FFFFFF;
  --font-colour: #1E1A1A;
  --heading-colour: #131f6b;
}
:root body[data-theme=black] {
  --theme-page-background: linear-gradient(to bottom right, #131f6b 5%, #1E1A1A 66%);
  --theme-content-background: #1E1A1A;
  --theme-content-opposite: #FFFFFF;
  --theme-nav-background: #FFFFFF;
  --theme-nav-background-mob: #FFFFFF;
  --theme-nav-font: #131f6b;
  --theme-nav-font-mob: #131f6b;
  --theme-nav-spacing-colour: rgba(19, 31, 107, 0.3);
  --theme-font: #FFFFFF;
  --theme-accent: #DF3035;
  --theme-logo: #131f6b;
  --font-colour: #FFFFFF;
  --heading-colour: #FFFFFF;
}
@supports not (width: clamp(1px, 5vw, 10px)) {
  :root {
    --gutter0: calc((var(--gutter) * 0.5) + 8px);
    --gutter0-: calc(-1 * calc((var(--gutter) * 0.5) + 8px));
    --spacer0: calc((var(--spacer) * 2) + 16px);
    --spacer0-: calc(-1 * calc((var(--spacer) * 2) + 16px));
    --gutter1: calc((var(--gutter) * 1) + 16px);
    --gutter1-: calc(-1 * calc((var(--gutter) * 1) + 16px));
    --spacer1: calc((var(--spacer) * 4) + 16px);
    --spacer1-: calc(-1 * calc((var(--spacer) * 4) + 16px));
    --gutter2: calc((var(--gutter) * 2) + 16px);
    --gutter2-: calc(-1 * calc((var(--gutter) * 2) + 16px));
    --spacer2: calc((var(--spacer) * 8) + 16px);
    --spacer2-: calc(-1 * calc((var(--spacer) * 8) + 16px));
    --gutter3: calc((var(--gutter) * 3) + 16px);
    --gutter3-: calc(-1 * calc((var(--gutter) * 3) + 16px));
    --spacer3: calc((var(--spacer) * 12) + 16px);
    --spacer3-: calc(-1 * calc((var(--spacer) * 12) + 16px));
    --gutter4: calc((var(--gutter) * 4) + 16px);
    --gutter4-: calc(-1 * calc((var(--gutter) * 4) + 16px));
    --spacer4: calc((var(--spacer) * 16) + 16px);
    --spacer4-: calc(-1 * calc((var(--spacer) * 16) + 16px));
    --gutter5: calc((var(--gutter) * 5) + 16px);
    --gutter5-: calc(-1 * calc((var(--gutter) * 5) + 16px));
    --spacer5: calc((var(--spacer) * 20) + 16px);
    --spacer5-: calc(-1 * calc((var(--spacer) * 20) + 16px));
    --gutter6: calc((var(--gutter) * 6) + 16px);
    --gutter6-: calc(-1 * calc((var(--gutter) * 6) + 16px));
    --spacer6: calc((var(--spacer) * 24) + 16px);
    --spacer6-: calc(-1 * calc((var(--spacer) * 24) + 16px));
  }
}

body {
  font-family: montserrat, sans-serif;
  font-weight: 500;
  font-style: normal;
  font-display: swap;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  color: var(--font-colour, #6A6A6A);
  line-height: 1.6;
  font-size: 1.5rem;
}
@supports (width: clamp(1px, 5vw, 10px)) {
  body {
    font-size: clamp(1.4rem, 1.5vw, 1.6rem);
  }
}
@supports not (width: clamp(1px, 5vw, 10px)) {
  @media (max-width: 950px) {
    body {
      font-size: 1.4rem;
    }
  }
  @media (min-width: 1601px) {
    body {
      font-size: 1.6rem;
    }
  }
}

h1 {
  font-size: 3.125em;
  font-size: clamp(2.5em, 5vw, 3.125em);
  line-height: 1.2;
}

h2 {
  font-size: 1.25em;
  line-height: 1.3;
}

h3 {
  font-size: 0.9375em;
  line-height: 1.6;
}

h4 {
  font-size: 0.8125em;
  line-height: 1.6;
}

h5 {
  font-size: 0.8125em;
  line-height: 1.6;
}

h6 {
  font-size: 0.8125em;
  line-height: 1.6;
}

h1, h2, h3, h4, h5, h6 {
  font-family: montserrat, sans-serif;
  font-weight: 600;
  font-style: normal;
  font-display: swap;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  color: var(--heading-colour, var(--font-colour));
}
h1.sub-heading, h2.sub-heading, h3.sub-heading, h4.sub-heading, h5.sub-heading, h6.sub-heading {
  color: var(--sub-heading-colour);
  font-family: lato, sans-serif;
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}
h1 span, h1 strong, h1 p, h2 span, h2 strong, h2 p, h3 span, h3 strong, h3 p, h4 span, h4 strong, h4 p, h5 span, h5 strong, h5 p, h6 span, h6 strong, h6 p {
  color: inherit;
  font-family: inherit;
  font-weight: inherit;
}

a {
  cursor: pointer;
  transition: color var(--transition-duration, 0.2s) var(--transition-ease, cubic-bezier(0.42, 0, 0.58, 1)) var(--transition-delay, ), -webkit-text-decoration-color var(--transition-duration, 0.2s) var(--transition-ease, cubic-bezier(0.42, 0, 0.58, 1)) var(--transition-delay, );
  transition: text-decoration-color var(--transition-duration, 0.2s) var(--transition-ease, cubic-bezier(0.42, 0, 0.58, 1)) var(--transition-delay, ), color var(--transition-duration, 0.2s) var(--transition-ease, cubic-bezier(0.42, 0, 0.58, 1)) var(--transition-delay, );
  transition: text-decoration-color var(--transition-duration, 0.2s) var(--transition-ease, cubic-bezier(0.42, 0, 0.58, 1)) var(--transition-delay, ), color var(--transition-duration, 0.2s) var(--transition-ease, cubic-bezier(0.42, 0, 0.58, 1)) var(--transition-delay, ), -webkit-text-decoration-color var(--transition-duration, 0.2s) var(--transition-ease, cubic-bezier(0.42, 0, 0.58, 1)) var(--transition-delay, );
  text-decoration: underline;
  text-underline-position: under;
  -webkit-text-decoration-color: rgba(255, 255, 255, 0);
          text-decoration-color: rgba(255, 255, 255, 0);
}
a.external {
  display: inline-flex;
  align-items: center;
}
a.external svg.external-link {
  opacity: 0.6;
  width: 0.8em;
  height: 0.8em;
  margin-left: 0.5em;
}
a:hover {
  -webkit-text-decoration-color: var(--font-colour);
          text-decoration-color: var(--font-colour);
}

@media (hover: hover) {
  h1 a:hover, h2 a:hover, h3 a:hover, h4 a:hover, h6 a:hover, h6 a:hover {
    -webkit-text-decoration-color: var(--heading-colour);
            text-decoration-color: var(--heading-colour);
  }
}

p, a {
  color: var(--font-colour);
}

ol, ul {
  list-style: none;
  list-style-position: inside;
}

li a {
  text-underline-offset: 2px;
}

small {
  font-size: 0.625em;
  line-height: 1.8;
}

hr {
  width: 100%;
  background-color: var(--hr-colour, #B1B1B1);
  margin-top: calc(var(--gap) * 2);
  margin-bottom: calc(var(--gap) * 2);
}

html {
  background-color: black;
}

body {
  --navigation-bar-width: clamp(250px, 25vw, 300px);
  --navigation-bar-height: 100vh;
  --sidebar-width: 30vw;
  --sidebar-max-width: var(--sidebar-width);
  --logo-height: 200px;
  --gap-x: clamp(2rem, 5vw, 8rem);
  --gap-y: 50px;
  --row-content: 1 / -1;
  --row-header: calc(1 + var(--content-offset, 0));
  --row-main: calc(2 + var(--content-offset, 0));
  --column-navigation: 1;
  --column-content: 2;
  --column-header: 2;
  --column-main: 2;
  --column-sidebar: 3;
  --rows: var(--logo-height) auto 1fr;
  --columns: var(--navigation-bar-width) minmax(0, 1fr) auto;
  display: grid;
  grid-gap: var(--gap-y) var(--gap-x);
  grid-template-rows: var(--rows);
  grid-template-columns: var(--columns);
}
body[data-sidebar=top] {
  --row-sidebar: 1 / -1;
}
body[data-sidebar=header] {
  --row-sidebar: var(--row-header) / -2;
}
body[data-sidebar=content] {
  --row-sidebar: var(--row-main) / -2;
}
body navigation-bar {
  grid-row: var(--row-navigation);
  grid-column: var(--column-navigation);
}
body main {
  container-type: inline-size;
  container-name: main;
}
body .content-wrapper {
  grid-row: var(--row-content);
  grid-column: var(--column-content);
  z-index: 1000;
}
body side-bar {
  grid-row: var(--row-sidebar);
  grid-column: var(--column-sidebar);
}
body.heatsinks-home, body.components-home {
  --row-content: 2;
}
@media (max-width: 1400px) {
  body[data-sidebar=top], body[data-sidebar=header], body[data-sidebar=content] {
    --column-sidebar: 2;
    --row-content: 1 / -2;
  }
  body[data-sidebar=top] side-bar, body[data-sidebar=header] side-bar, body[data-sidebar=content] side-bar {
    --row-sidebar: calc(var(--row-content) + 3);
  }
}
@media (max-width: 980px) {
  body {
    place-content: start;
    --navigation-container-height: 60px;
    --navigation-mobile-search-height: 61px;
    --rows: auto auto 1fr auto;
    --columns: 0 minmax(0, 1fr) 0;
    --row-navigation: 1;
    --column-navigation: 1 / -1;
  }
  body:not(.heatsinks-home, .components-home) {
    --row-content: 2 / span 3 !important;
  }
  body > * {
    width: 100%;
  }
  body main {
    margin-top: -2rem;
  }
}
body.mobile-open, body.modal-open {
  overflow: hidden;
}

.content {
  line-height: 1.7;
}
.content ul > li::before {
  content: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Ccircle fill='%23DA4B0F' cx='8' cy='8' r='8'/%3E%3Cpath fill='none' stroke='white' stroke-width='1.4' stroke-linecap='round' stroke-linejoin='round' stroke-miterlimit='10' d='M3.5 8.4l2.7 2.7 6.3-6.3'/%3E%3C/svg%3E");
}
.content ul > li {
  position: relative;
  padding-left: calc(var(--list-style-size, 1em) * 1.8);
}
.content ul > li + li {
  margin-top: var(--line-style-spacing, calc(var(--gap) * 0.5));
}
.content ul > li::before {
  display: inline-block;
  top: 0.1em;
  left: 0;
  position: absolute;
  width: var(--list-style-size, 1em);
  height: var(--list-style-size, 1em);
}
.content ol {
  counter-reset: counter;
}
.content ol > li {
  position: relative;
  display: block;
  padding-left: 22px;
  margin-left: var(--list-style-offset, 0);
}
.content ol > li + li {
  margin-top: calc(var(--gap) * 0.5);
}
.content ol > li::before {
  content: counter(counter) ".";
  counter-increment: counter;
  color: var(--list-style-colour, var(--font-colour));
  position: relative;
  margin-right: 0.5em;
}
.content h3 {
  font-size: 1.25em;
  line-height: 1.3;
}
.content > * {
  margin-bottom: 3rem;
}
.content > *:last-child {
  margin-bottom: 0;
}
.content > ul, .content > ol {
  margin-bottom: 4rem;
}
.content h1, .content h2, .content h3, .content h4, .content h6, .content h6 {
  margin-bottom: 2.25rem;
}
.content h1 + h1, .content h1 + h2, .content h1 + h3, .content h1 + h4, .content h1 + h5, .content h1 + h6, .content h2 + h1, .content h2 + h2, .content h2 + h3, .content h2 + h4, .content h2 + h5, .content h2 + h6, .content h3 + h1, .content h3 + h2, .content h3 + h3, .content h3 + h4, .content h3 + h5, .content h3 + h6, .content h4 + h1, .content h4 + h2, .content h4 + h3, .content h4 + h4, .content h4 + h5, .content h4 + h6, .content h6 + h1, .content h6 + h2, .content h6 + h3, .content h6 + h4, .content h6 + h5, .content h6 + h6, .content h6 + h1, .content h6 + h2, .content h6 + h3, .content h6 + h4, .content h6 + h5, .content h6 + h6 {
  margin-top: 3rem;
}
.content a {
  --font-colour: var(--theme-accent) ;
}

input[type=text], input[type=email], input[type=number], input[type=search], select, textarea {
  --font-colour: #6A6A6A;
  --background-colour: #FFFFFF;
  --padding: calc(var(--gap) / 1.5) var(--gap);
  --border-colour: #e9e9e9;
  --border-radius: 0;
  outline: 0;
  border: 1px solid var(--border-colour);
  appearance: none;
  -webkit-appearance: none;
  -moz-appearance: none;
  border-radius: var(--border-radius, 6px);
  /* Opera 10.5, IE 9, Safari 5, Chrome, Firefox 4, iOS 4, Android 2.1+ */
  -webkit-border-radius: 0;
  /* Safari 3-4, iOS 1-3.2, Android 1.6- */
  -moz-border-radius: 0;
  /* Firefox 1-3.6 */
  color: var(--font-colour);
  background-color: var(--background-colour);
  padding: var(--padding);
  transition: box-shadow var(--transition-duration, 0.2s) var(--transition-ease, cubic-bezier(0.42, 0, 0.58, 1)) var(--transition-delay, );
  box-shadow: 0px 0px 0px 0px transparent;
}
input[type=text]::-moz-placeholder, input[type=email]::-moz-placeholder, input[type=number]::-moz-placeholder, input[type=search]::-moz-placeholder, select::-moz-placeholder, textarea::-moz-placeholder {
  -moz-transition: color var(--transition-duration, 0.2s) var(--transition-ease, cubic-bezier(0.42, 0, 0.58, 1)) var(--transition-delay, );
  transition: color var(--transition-duration, 0.2s) var(--transition-ease, cubic-bezier(0.42, 0, 0.58, 1)) var(--transition-delay, );
}
input[type=text]::placeholder, input[type=email]::placeholder, input[type=number]::placeholder, input[type=search]::placeholder, select::placeholder, textarea::placeholder {
  transition: color var(--transition-duration, 0.2s) var(--transition-ease, cubic-bezier(0.42, 0, 0.58, 1)) var(--transition-delay, );
}
input[type=text]:not(select), input[type=email]:not(select), input[type=number]:not(select), input[type=search]:not(select), select:not(select), textarea:not(select) {
  width: 100%;
}

input[type=search]::-webkit-search-decoration, input[type=search]::-webkit-search-cancel-button, input[type=search]::-webkit-search-results-button, input[type=search]::-webkit-search-results-decoration {
  display: none;
  -webkit-appearance: none;
}

input[type=text]:focus,
input[type=email]:focus,
input[type=number]:focus,
input[type=search]:focus,
select:focus,
textarea:focus {
  box-shadow: 0px 0px 1px 1px rgba(223, 48, 53, 0.3);
}

input[type=submit], button[type=submit] {
  --background-colour: #DF3035;
  --font-colour: white;
  --icon-size: 0.8em;
  position: relative;
  cursor: pointer;
  display: flex;
  flex-wrap: nowrap;
  grid-gap: calc(var(--gap) * 0.5);
  align-items: center;
  word-break: break-all;
  white-space: nowrap;
  font-weight: 600;
  line-height: 1;
  text-transform: uppercase;
  overflow: hidden;
  height: -webkit-fit-content;
  height: -moz-fit-content;
  height: fit-content;
  padding: 1.25rem 3rem 1.25rem 4rem;
  font-size: 16px;
  background: var(--background-colour);
  color: var(--font-colour);
  -webkit-clip-path: polygon(0% 100%, 15px 0%, 100% 0%, 100% 100%);
          clip-path: polygon(0% 100%, 15px 0%, 100% 0%, 100% 100%);
}
input[type=submit] > svg, button[type=submit] > svg {
  width: var(--icon-size);
  height: var(--icon-size);
}
input[type=submit][disabled], button[type=submit][disabled] {
  opacity: 0.4;
  pointer-events: none;
}
input[type=submit]:not([disabled]):hover, button[type=submit]:not([disabled]):hover {
  -webkit-text-decoration-line: none;
          text-decoration-line: none;
  -webkit-text-decoration-color: transparent;
          text-decoration-color: transparent;
}
input[type=submit]:not([disabled]):hover::before, button[type=submit]:not([disabled]):hover::before {
  transform: translateX(calc(100% - 15px));
}
input[type=submit].small, button[type=submit].small {
  padding: 0.9rem 2rem 0.9rem 3rem;
  font-size: 12px;
}
input[type=submit].large, button[type=submit].large {
  padding: 1.4rem 3rem 1.4rem 4.25rem;
  font-size: 18px;
}
input[type=submit]::before, button[type=submit]::before {
  --transition-duration: 0.3s;
  content: "";
  position: absolute;
  top: 0;
  left: -100%;
  width: calc(100% + 15px);
  height: 100%;
  background: var(--background-colour);
  filter: brightness(120%);
  -webkit-clip-path: polygon(0% 100%, 0% 0%, 100% 0%, calc(100% - 15px) 100%);
          clip-path: polygon(0% 100%, 0% 0%, 100% 0%, calc(100% - 15px) 100%);
  z-index: -1;
  transition: transform var(--transition-duration, 0.2s) var(--transition-ease, cubic-bezier(0.42, 0, 0.58, 1)) var(--transition-delay, );
}

select {
  text-transform: uppercase;
  padding-right: calc(var(--gap) * 3);
  color: var(--font-colour);
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='17.4' height='10.1'%3E%3Cpath d='M16.7.7l-8 8-8-8' fill='none' stroke='%236A6A6A' stroke-width='2' stroke-miterlimit='10'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-size: 1em;
  background-position: calc(100% - var(--gap)) center;
  width: -webkit-min-content;
  width: -moz-min-content;
  width: min-content;
}
select option {
  text-transform: uppercase;
  font-weight: 400;
}

.input-container.horizontal {
  grid-auto-flow: column !important;
  align-items: center;
  justify-content: space-between;
}
.input-container:not(.radio, .checkbox) {
  --label-colour: var(--font-colour);
  --label-active-colour: var(--theme-accent);
  display: grid;
  grid-gap: 1rem;
  grid-auto-flow: row;
}
.input-container:not(.radio, .checkbox) label {
  color: var(--label-colour);
  transition: color var(--transition-duration, 0.2s) var(--transition-ease, cubic-bezier(0.42, 0, 0.58, 1)) var(--transition-delay, );
}
.input-container:not(.radio, .checkbox) input[maxlength], .input-container:not(.radio, .checkbox) input[size] {
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
}
.input-container.radio, .input-container.checkbox {
  --label-colour: var(--font-colour);
  --label-active-colour: var(--theme-accent);
  display: grid;
  grid-gap: 1rem;
  grid-auto-flow: column;
  --input-width: 1.2em;
  --input-border-thickness: 1px;
  --input-active-colour: #DF3035;
}
.input-container.radio label, .input-container.checkbox label {
  color: var(--label-colour);
  transition: color var(--transition-duration, 0.2s) var(--transition-ease, cubic-bezier(0.42, 0, 0.58, 1)) var(--transition-delay, );
}
.input-container.radio label, .input-container.checkbox label {
  display: grid;
  grid-auto-flow: column;
  grid-gap: var(--gap);
  align-items: center;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
}
.input-container.radio label::before, .input-container.radio label::after, .input-container.checkbox label::before, .input-container.checkbox label::after {
  grid-row: 1;
  grid-column: 1;
  content: "";
  position: relative;
  display: block;
}
.input-container.radio label::before, .input-container.checkbox label::before {
  width: var(--input-width);
  height: var(--input-width);
  background: #FFFFFF;
  border: var(--input-border-thickness, 1px) solid #969695;
  transition: border-color var(--transition-duration, 0.2s) var(--transition-ease, cubic-bezier(0.42, 0, 0.58, 1)) var(--transition-delay, );
  cursor: pointer;
}
.input-container.radio label::after, .input-container.checkbox label::after {
  width: calc(var(--input-width) - var(--input-border-thickness) * 6);
  height: calc(var(--input-width) - var(--input-border-thickness) * 6);
  background: var(--input-active-colour);
  opacity: 0;
  left: -10px;
  transition: opacity var(--transition-duration, 0.2s) var(--transition-ease, cubic-bezier(0.42, 0, 0.58, 1)) var(--transition-delay, ), transform var(--transition-duration, 0.2s) var(--transition-ease, cubic-bezier(0.42, 0, 0.58, 1)) var(--transition-delay, );
  pointer-events: none;
  justify-self: center;
}
.input-container.radio label:hover, .input-container.checkbox label:hover {
  --label-colour: var(--label-active-colour);
}
.input-container.radio label:hover::before, .input-container.checkbox label:hover::before {
  border-color: var(--input-active-colour);
}
.input-container.radio input, .input-container.checkbox input {
  display: none;
}
.input-container.radio input:checked + label, .input-container.checkbox input:checked + label {
  color: var(--label-active-colour);
}
.input-container.radio input:checked + label::after, .input-container.checkbox input:checked + label::after {
  opacity: 1;
  transform: translateX(10px);
}
.input-container.radio label::before, .input-container.radio label::after {
  border-radius: 50%;
}

.multi-input {
  --input-spacing: 0;
  display: flex;
  gap: var(--input-spacing);
  align-items: center;
  flex-wrap: nowrap;
  width: 100%;
  height: -webkit-fit-content;
  height: -moz-fit-content;
  height: fit-content;
}
.multi-input input[type=text]:not(select), .multi-input input[type=email]:not(select), .multi-input input[type=number]:not(select), .multi-input input[type=search]:not(select), .multi-input select:not(select), .multi-input textarea:not(select) {
  border: 1px solid var(--border-colour);
  border-right: 0;
}
.multi-input > *:not(select, button, a) {
  flex: 1;
}
.multi-input select, .multi-input button, .multi-input a {
  --font-colour: #FFFFFF;
  --background-colour: #DF3035;
  text-transform: uppercase;
  border-left: 1px solid var(--border-colour);
  background-color: var(--background-colour);
  color: var(--font-colour);
  font-weight: 600;
}
.multi-input select {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='17.4' height='10.1'%3E%3Cpath d='M16.7.7l-8 8-8-8' fill='none' stroke='%23FFFFFF' stroke-width='2' stroke-miterlimit='10'/%3E%3C/svg%3E");
}

radio-tabs {
  display: flex;
  flex-wrap: nowrap;
  justify-content: space-between;
}
radio-tabs radio-tab {
  position: relative;
  display: block;
  font-weight: 400;
  text-transform: uppercase;
  padding-bottom: calc(var(--gap) * 0.5);
}
radio-tabs radio-tab input {
  display: none;
}
radio-tabs radio-tab input:checked + label {
  font-weight: 600;
}
radio-tabs radio-tab input:checked + label::after {
  background: var(--theme-accent);
}
radio-tabs radio-tab input:not(:checked) + label:hover::after {
  background: var(--theme-accent);
}
radio-tabs radio-tab label {
  color: var(--font-colour);
  cursor: pointer;
}
radio-tabs radio-tab label::after {
  content: "";
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 3px;
  background: rgba(255, 255, 255, 0);
  transition: background var(--transition-duration, 0.2s) var(--transition-ease, cubic-bezier(0.42, 0, 0.58, 1)) var(--transition-delay, );
}

form [type=submit] {
  transition: opacity var(--transition-duration, 0.2s) var(--transition-ease, cubic-bezier(0.42, 0, 0.58, 1)) var(--transition-delay, );
}
form:invalid [type=submit] {
  cursor: not-allowed;
  opacity: 0.5;
}

form[data-freeform] h3, form[data-freeform] h4, form[data-freeform] h5, form[data-freeform] h6 {
  font-size: 1.25em;
  line-height: 1.3;
}
form[data-freeform] .ff-form-success {
  --font-colour: #50BC08;
  margin-bottom: calc(var(--gap) * 2);
}
form[data-freeform] .ff-form-success p {
  display: flex;
  align-items: center;
}
form[data-freeform] .ff-form-success p::before {
  content: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Ccircle fill='%2350BC08' cx='8' cy='8' r='8'/%3E%3Cpath fill='none' stroke='white' stroke-width='1.4' stroke-linecap='round' stroke-linejoin='round' stroke-miterlimit='10' d='M3.5 8.4l2.7 2.7 6.3-6.3'/%3E%3C/svg%3E");
  display: block;
  margin-right: var(--gap);
  width: 1.25em;
  height: 1.25em;
}
form[data-freeform] .ff-form-errors {
  --font-colour: #DF3035;
  margin-bottom: calc(var(--gap) * 2);
}
form[data-freeform] .ff-errors {
  --font-colour: #DF3035;
  margin-top: var(--gap);
  color: var(--font-colour);
}
form[data-freeform] .form-fields {
  display: grid;
  grid-template-columns: 100%;
  grid-gap: var(--gap);
}
form[data-freeform] .form-fields .freeform-row {
  display: grid;
  grid-gap: 2rem;
  grid-auto-flow: column;
  height: -webkit-fit-content;
  height: -moz-fit-content;
  height: fit-content;
}
form[data-freeform] .form-fields .freeform-row .freeform-column {
  position: relative;
}
form[data-freeform] .form-fields .freeform-row .freeform-column h3, form[data-freeform] .form-fields .freeform-row .freeform-column h4, form[data-freeform] .form-fields .freeform-row .freeform-column h5, form[data-freeform] .form-fields .freeform-row .freeform-column h6 {
  margin-top: calc(var(--gap) * 2);
}
form[data-freeform] .form-fields .freeform-row .freeform-column.freeform-column-content-align-right {
  text-align: right;
}
form[data-freeform] .form-fields .freeform-row .freeform-column label:not(.freeform-input-only-label) {
  opacity: 0.7;
}
form[data-freeform] .form-fields .freeform-row .freeform-column label:not(.freeform-input-only-label) + .freeform-input {
  margin-top: calc(var(--gap) / 2);
}
form[data-freeform] .form-fields required-notice {
  --notice-colour: #DF3035;
  display: block;
  position: absolute;
  top: 0;
  right: 10px;
  color: var(--notice-colour);
  font-size: 1.5em;
}
form[data-freeform] .form-fields required-notice span {
  position: absolute;
  right: -100%;
  pointer-events: none;
  white-space: nowrap;
  font-size: 1.5rem;
  opacity: 0;
}
form[data-handle=marketSectorForm] {
  display: flex;
  flex-direction: column;
}
form[data-handle=marketSectorForm] .ff-form-errors, form[data-handle=marketSectorForm] .ff-form-success {
  order: 10;
  background: white;
  padding: var(--gutter0) var(--gutter1);
  margin-top: var(--gutter1);
}
form[data-handle=marketSectorForm] .ff-form-errors p, form[data-handle=marketSectorForm] .ff-form-success p {
  color: white;
}
form[data-handle=marketSectorForm] .ff-form-errors ul li, form[data-handle=marketSectorForm] .ff-form-success ul li {
  color: white;
}
form[data-handle=marketSectorForm] .ff-form-errors {
  background: darkred;
}
form[data-handle=marketSectorForm] .ff-form-success {
  background: #218b00;
}
form[data-handle=marketSectorForm], form[data-handle=contact] {
  --submit-height: 41px;
}
form[data-handle=marketSectorForm] .form-fields label:not(.freeform-input-only-label), form[data-handle=contact] .form-fields label:not(.freeform-input-only-label) {
  text-transform: uppercase;
}
form[data-handle=marketSectorForm] .form-fields .message, form[data-handle=marketSectorForm] .form-fields .submit-row, form[data-handle=contact] .form-fields .message, form[data-handle=contact] .form-fields .submit-row {
  grid-row: 5;
  grid-column: 1;
}
form[data-handle=marketSectorForm] .form-fields .message .freeform-column, form[data-handle=contact] .form-fields .message .freeform-column {
  display: grid;
}
form[data-handle=marketSectorForm] .form-fields textarea[name=message], form[data-handle=contact] .form-fields textarea[name=message] {
  z-index: 1;
  padding-bottom: calc(41px + var(--gap));
}
form[data-handle=marketSectorForm] .form-fields .submit-row, form[data-handle=contact] .form-fields .submit-row {
  width: 100%;
  z-index: 1;
  margin: auto 0 0 auto;
}
form[data-handle=marketSectorForm] .form-fields .submit-row button, form[data-handle=contact] .form-fields .submit-row button {
  margin-left: auto;
  z-index: 2;
}
form[data-handle=creditApplication] .freeform-row:nth-last-of-type(-n+2), form[data-handle=creditApplication] .freeform-row:nth-last-of-type(-n+1) {
  margin-top: 2rem;
}
form[data-handle=creditApplication] .freeform-row:last-of-type {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: center;
}

html {
  overflow-x: hidden;
}

body {
  overflow-x: initial;
  background-color: var(--theme-content-background);
}
body#search .subheading {
  margin-right: 2rem;
}
body#search .subheading u {
  white-space: pre-line;
  word-break: break-word;
}

.d-none {
  display: none !important;
}

figure.image, picture.image {
  display: block;
  background-position: var(--position, center 33%);
  background-size: cover;
  background-repeat: no-repeat;
  overflow: hidden;
  position: relative;
}
figure.image img, picture.image img {
  display: block;
  position: absolute;
  -o-object-fit: cover;
     object-fit: cover;
  -o-object-position: var(--image-position, center 33.33%);
     object-position: var(--image-position, center 33.33%);
  width: var(--image-size, var(--image-width-size, 100%));
  height: var(--image-size, var(--image-height-size, 100%));
  max-width: var(--image-size, var(--image-width-size, 100%));
  max-height: var(--image-size, var(--image-height-size, 100%));
  top: 0;
  left: 0;
}

video-container {
  --aspect-ratio: 16/9;
  aspect-ratio: var(--aspect-ratio);
  display: block;
  position: relative;
  width: 100%;
  background-color: black;
}
@supports not (aspect-ratio: 16/9) {
  video-container {
    aspect-ratio: initial;
    padding-bottom: calc(100% / (var(--aspect-ratio)));
    height: 0;
  }
  video-container > * {
    position: absolute;
  }
}
video-container iframe, video-container canvas {
  position: absolute;
  display: block;
  top: 0;
  left: 0;
  height: 100% !important;
  width: 100% !important;
}

mark {
  background-color: #0095FF;
  color: white;
  border-radius: calc(var(--border-radius, 6px) / 2);
  padding: 0 5px;
  transition: color var(--transition-duration, 0.2s) var(--transition-ease, cubic-bezier(0.42, 0, 0.58, 1)) var(--transition-delay, ), background-color var(--transition-duration, 0.2s) var(--transition-ease, cubic-bezier(0.42, 0, 0.58, 1)) var(--transition-delay, );
}

.sr-only {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border-width: 0;
}

details {
  outline: none;
}
details[open] summary > svg {
  transform: rotate(90deg);
}

summary {
  -webkit-appearance: none;
  cursor: pointer;
}
summary::-webkit-details-marker, summary::marker {
  display: none;
}

.overflow-hidden {
  overflow: hidden !important;
}

.hide {
  opacity: 0 !important;
  pointer-events: none !important;
}

.button {
  --background-colour: #DF3035;
  --font-colour: white;
  --icon-size: 0.8em;
  position: relative;
  cursor: pointer;
  display: flex;
  flex-wrap: nowrap;
  grid-gap: calc(var(--gap) * 0.5);
  align-items: center;
  word-break: break-all;
  white-space: nowrap;
  font-weight: 600;
  line-height: 1;
  text-transform: uppercase;
  overflow: hidden;
  height: -webkit-fit-content;
  height: -moz-fit-content;
  height: fit-content;
  padding: 1.25rem 3rem 1.25rem 4rem;
  font-size: 16px;
  background: var(--background-colour);
  color: var(--font-colour);
  -webkit-clip-path: polygon(0% 100%, 15px 0%, 100% 0%, 100% 100%);
          clip-path: polygon(0% 100%, 15px 0%, 100% 0%, 100% 100%);
}
.button > svg {
  width: var(--icon-size);
  height: var(--icon-size);
}
.button[disabled] {
  opacity: 0.4;
  pointer-events: none;
}
.button:not([disabled]):hover {
  -webkit-text-decoration-line: none;
          text-decoration-line: none;
  -webkit-text-decoration-color: transparent;
          text-decoration-color: transparent;
}
.button:not([disabled]):hover::before {
  transform: translateX(calc(100% - 15px));
}
.button.small {
  padding: 0.9rem 2rem 0.9rem 3rem;
  font-size: 12px;
}
.button.large {
  padding: 1.4rem 3rem 1.4rem 4.25rem;
  font-size: 18px;
}
.button::before {
  --transition-duration: 0.3s;
  content: "";
  position: absolute;
  top: 0;
  left: -100%;
  width: calc(100% + 15px);
  height: 100%;
  background: var(--background-colour);
  filter: brightness(120%);
  -webkit-clip-path: polygon(0% 100%, 0% 0%, 100% 0%, calc(100% - 15px) 100%);
          clip-path: polygon(0% 100%, 0% 0%, 100% 0%, calc(100% - 15px) 100%);
  z-index: -1;
  transition: transform var(--transition-duration, 0.2s) var(--transition-ease, cubic-bezier(0.42, 0, 0.58, 1)) var(--transition-delay, );
}

.button svg, button svg {
  pointer-events: none;
  vertical-align: middle;
}

picture {
  display: block;
}

.result-item {
  --heading-colour: #131f6b;
  --border-thickness: 1px;
  --border-radius: 0px;
  --background-colour: white;
  --padding: 2rem;
  --padding-left: var(--padding);
  --padding-right: var(--padding);
  --padding-top: var(--padding);
  --padding-bottom: var(--padding);
  --image-width: 100px;
  --image-height: 100px;
  --grid-gap: var(--gap);
  position: relative;
  padding: var(--padding-top) var(--padding-right) var(--padding-bottom) var(--padding-left);
  border: var(--border-thickness) solid rgba(255, 255, 255, 0);
  border-radius: var(--border-radius, 6px);
  background-color: var(--background-colour);
  overflow: hidden;
  transition: border var(--transition-duration, 0.2s) var(--transition-ease, cubic-bezier(0.42, 0, 0.58, 1)) var(--transition-delay, );
  display: grid;
  grid-gap: var(--grid-gap) var(--grid-gap);
}
.result-item .result-image {
  grid-area: image;
  display: block;
}
.result-item .result-image picture {
  height: var(--image-height);
}
.result-item .result-image picture img {
  width: var(--image-height);
  height: var(--image-width);
}
.result-item .result-title {
  grid-area: title;
  color: var(--heading-colour);
}
.result-item .result-title a {
  color: var(--heading-colour);
}
.result-item .result-subtitle {
  grid-area: subtitle;
}
.result-item .result-body {
  grid-area: body;
}
.result-item.blog {
  --padding: 4rem;
  --border-thickness: 0;
  --border-radius: 0;
  grid-template-areas: "subtitle" "title" "body";
}
.result-item.blog .result-image {
  position: absolute;
  top: 0;
  right: 0;
  width: 100%;
  height: 100%;
  pointer-events: none;
}
.result-item.blog .result-image img {
  width: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
.result-item.blog .result-image::after {
  content: "";
  position: absolute;
  top: 0;
  right: 0;
  width: 100%;
  height: 100%;
  background: linear-gradient(120deg, white 45%, transparent 120%);
}
.result-item.blog .result-title, .result-item.blog .result-subtitle {
  text-transform: uppercase;
}
.result-item.blog .result-title {
  font-size: 1.25em;
  line-height: 1.3;
  line-height: 1.3;
}
.result-item.blog .result-subtitle {
  --heading-colour: #DF3035;
  display: flex;
  align-items: center;
}
.result-item.blog .result-subtitle h4, .result-item.blog .result-subtitle time {
  font-size: 1.5rem;
  height: 100%;
}
.result-item.blog .result-subtitle time {
  color: #969695;
}
.result-item.blog .result-body {
  --font-colour: #1E1A1A;
}
.result-item.blog.featured {
  --padding-right: 5rem;
  grid-column: 1/span 2;
}
.result-item.blog.featured .result-title {
  font-weight: 800;
  font-size: 2em;
}
.result-item.blog.featured::before {
  content: "FEATURED";
  position: absolute;
  top: 0;
  padding: 0.7rem 2rem 0.7rem 3rem;
  height: 39px;
  background: #ed6224;
  color: #FFFFFF;
  transform: translate(0, -0.5px) translateX(-100%) translateY(-100%) rotate(-90deg);
  transform-origin: bottom right;
  -webkit-clip-path: polygon(0% 100%, 15px 0%, 100% 0%, 100% 100%);
          clip-path: polygon(0% 100%, 15px 0%, 100% 0%, 100% 100%);
  left: 100%;
  z-index: 1;
}
.result-item.blog .result-title, .result-item.blog .result-subtitle, .result-item.blog .result-body {
  z-index: 2;
}
.result-item.market-sector {
  --background-colour:transparent;
  --font-colour:white;
  --heading-colour: white;
  isolation: isolate;
  cursor: pointer;
  display: flex;
  overflow: visible;
  flex-direction: column;
  padding: 0 0 var(--gutter0) 0;
  border-bottom: 1px solid var(--result-item-border-bottom, rgba(255, 255, 255, 0.2));
}
.result-item.market-sector .result-image {
  width: 100%;
  height: clamp(140px, 40vw, 180px);
  outline: 1px solid var(--image-outline-colour, transparent);
  outline-offset: var(--image-outline-offset, 0.1em);
  cursor: pointer;
  transition: outline-color var(--transition-duration, 0.2s) var(--transition-ease, cubic-bezier(0.42, 0, 0.58, 1)) var(--transition-delay, ), outline-offset var(--transition-duration, 0.2s) var(--transition-ease, cubic-bezier(0.42, 0, 0.58, 1)) var(--transition-delay, );
}
.result-item.market-sector .result-image img {
  width: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
.result-item.market-sector:hover {
  --image-outline-colour: rgba(255, 255, 255, 0.2);
  --image-outline-offset: 0.3em;
}
.result-item.market-sector:hover .result-title a {
  color: #DF3035;
}
.result-item.market-sector .result-title {
  text-transform: uppercase;
  align-self: flex-start;
}
.result-item.market-sector .result-title a {
  text-decoration: none !important;
}
.result-item.market-sector .result-title a::after {
  content: "";
  position: absolute;
  inset: 0;
  cursor: pointer;
  z-index: 1;
}
body[data-theme=white] .result-item.market-sector {
  --result-item-border-bottom: rgba(19, 31, 107, 0.2);
  --font-colour:#131f6b;
  --heading-colour: #131f6b;
}
body[data-theme=white] .result-item.market-sector:hover {
  --image-outline-colour: rgba(19, 31, 107, 0.2);
}

body#market-sectors {
  position: relative;
  container-type: inline-size;
  container-name: market-sector;
}
body#market-sectors .result-item {
  transition: opacity var(--transition-duration, 0.2s) var(--transition-ease, cubic-bezier(0.42, 0, 0.58, 1)) var(--transition-delay, );
}
body#market-sectors .result-item a.details:hover {
  text-decoration: none !important;
}
body#market-sectors:hover .result-image {
  --image-outline-colour: transparent !important;
  --image-outline-offset:0 !important;
}
body#market-sectors .details {
  background-color: #0f1956;
  position: absolute;
  z-index: 1;
  padding: 0;
  display: none;
  grid-template-columns: 1fr 220px;
  width: var(--market-sector-article-width, calc(200% + var(--gutter1)));
  opacity: 0;
  transition: opacity var(--transition-duration, 0.2s) var(--transition-ease, cubic-bezier(0.42, 0, 0.58, 1)) var(--transition-delay, ), display var(--transition-duration, 0.2s) var(--transition-ease, cubic-bezier(0.42, 0, 0.58, 1)) var(--transition-delay, ) allow-discrete;
}
body#market-sectors .details .details-text {
  padding: var(--gutter1);
}
body#market-sectors .details .details-heading {
  color: #DF3035;
  text-transform: uppercase;
  font-size: 1.25em;
  line-height: 1.3;
  margin-bottom: 1em;
}
body#market-sectors .details .details-image {
  -webkit-clip-path: polygon(0% 100%, 35% 0%, 100% 0%, 100% 100%);
          clip-path: polygon(0% 100%, 35% 0%, 100% 0%, 100% 100%);
}
body#market-sectors .details .details-image img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
body#market-sectors .details .details-image .details-link {
  width: 100%;
  text-align: right;
  justify-content: flex-end;
}
body#market-sectors .details .details-link {
  position: absolute;
  bottom: 0;
  right: 0;
}
@container market-sector ( width < 420px) {
  body#market-sectors .details {
    display: flex !important;
    flex-direction: column;
  }
  body#market-sectors .details .details-image {
    -webkit-clip-path: initial;
            clip-path: initial;
    height: 100px;
  }
  body#market-sectors .details .details-image .details-link {
    width: auto;
  }
}
@media (hover: hover) {
  body#market-sectors .result-item:is(:hover, :focus-visible) {
    z-index: 1;
  }
  body#market-sectors .result-item:is(:hover, :focus-visible) .details {
    display: grid;
    opacity: 1;
  }
  @starting-style {
    body#market-sectors .result-item:is(:hover, :focus-visible) .details {
      opacity: 0;
    }
  }
}
body#market-sectors article-grid:has(.result-item:is(:hover, :focus-visible)) .result-item:not(:is(:hover, :focus-visible)) {
  opacity: 0.5 !important;
}
@container main ( width < 660px) {
  body#market-sectors article-grid {
    grid-template-columns: 1fr !important;
    --market-sector-article-width: 100%;
  }
}
@container main (660px < width < 964px) {
  body#market-sectors article-grid .result-item:nth-child(2n) .details {
    left: initial;
    right: 0;
  }
}
@container main ( width > 964px) {
  body#market-sectors article-grid .result-item:nth-child(3n) .details {
    left: initial;
    right: 0;
  }
}

.result-item.product {
  --badge-spacing: 3rem;
  grid-template-columns: var(--image-width) auto;
  grid-template-areas: "image title" "image title" "image data" "image data";
}
.result-item.product .result-title, .result-item.product .result-body {
  padding-right: calc(var(--badge-spacing) * 2);
}
.result-item.product .product-data {
  grid-area: data;
  display: flex;
  flex-direction: column;
  flex-wrap: wrap;
  grid-gap: calc(var(--gap) / 2) var(--gap);
}
.result-item.product .result-image img {
  -o-object-fit: contain;
     object-fit: contain;
}
@media (max-width: 450px) {
  .result-item.product {
    grid-template-areas: "image " "title" "data";
    grid-template-columns: unset;
  }
  .result-item.product .product-data {
    flex-direction: row;
  }
  .result-item.product .result-title, .result-item.product .result-body {
    padding-right: 0;
  }
}
.result-item.product.in-stock::before {
  --padding-y: 0.2em;
  --padding-x: 10em;
  content: "in stock";
  position: absolute;
  top: calc(1em + var(--padding-y));
  right: calc(-1 * var(--padding-x));
  padding: 0.5em var(--padding-x);
  transform: rotate(45deg);
  text-transform: uppercase;
  background-color: #131f6b;
  color: #FFFFFF;
}
.result-item.page {
  grid-template-areas: "image title" "image body" "image body" "image body";
}
.result-item.page .result-image img {
  -o-object-fit: cover;
     object-fit: cover;
}

.tag[disabled] {
  opacity: 0.4;
  pointer-events: none;
}
.tag.category {
  --border-radius: 0px;
  --font-colour: #DF3035;
  --bg-colour: white;
  --secondary-width: 3ch;
  --secondary-padding-x: 3px;
  --border-colour: transparent;
  position: relative;
  display: grid;
  grid-auto-flow: column;
  align-items: center;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  border: 1px solid var(--border-colour);
  border-radius: var(--border-radius);
  color: var(--font-colour);
  background-color: var(--bg-colour);
  transition: var(--transition-duration, 0.2s) var(--transition-ease, cubic-bezier(0.42, 0, 0.58, 1)) var(--transition-delay, );
  font-size: 13px;
  white-space: nowrap;
  overflow: hidden;
  box-sizing: content-box;
  --border-colour: #DF3035;
  --symbol-colour: #DF3035;
}
.tag.category .tag-label {
  padding: 3px var(--gap) 3px var(--gap);
}
.tag.category .tag-secondary {
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 0 var(--secondary-padding-x);
  height: 100%;
  background-color: #dcdcdc;
  overflow: hidden;
  width: 3ch;
  transition: var(--transition-duration, 0.2s) var(--transition-ease, cubic-bezier(0.42, 0, 0.58, 1)) var(--transition-delay, );
}
.tag.category .tag-secondary svg {
  width: 50%;
  transition: var(--transition-duration, 0.2s) var(--transition-ease, cubic-bezier(0.42, 0, 0.58, 1)) var(--transition-delay, );
}
.tag.category .tag-secondary:hover {
  --symbol-colour: white;
  background-color: #DF3035;
}
.tag.checkbox input[type=checkbox] {
  display: none;
}
.tag.checkbox input[type=checkbox] ~ label {
  --border-radius: 0px;
  --font-colour: #DF3035;
  --bg-colour: white;
  --secondary-width: 3ch;
  --secondary-padding-x: 3px;
  --border-colour: transparent;
  position: relative;
  display: grid;
  grid-auto-flow: column;
  align-items: center;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  border: 1px solid var(--border-colour);
  border-radius: var(--border-radius);
  color: var(--font-colour);
  background-color: var(--bg-colour);
  transition: var(--transition-duration, 0.2s) var(--transition-ease, cubic-bezier(0.42, 0, 0.58, 1)) var(--transition-delay, );
  font-size: 13px;
  white-space: nowrap;
  overflow: hidden;
  box-sizing: content-box;
  --symbol-colour: #DF3035;
}
.tag.checkbox input[type=checkbox] ~ label .tag-label {
  padding: 3px var(--gap) 3px var(--gap);
}
.tag.checkbox input[type=checkbox] ~ label .tag-secondary {
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 0 var(--secondary-padding-x);
  height: 100%;
  background-color: #dcdcdc;
  overflow: hidden;
  width: 3ch;
  transition: var(--transition-duration, 0.2s) var(--transition-ease, cubic-bezier(0.42, 0, 0.58, 1)) var(--transition-delay, );
}
.tag.checkbox input[type=checkbox] ~ label .tag-secondary svg {
  width: 50%;
  transition: var(--transition-duration, 0.2s) var(--transition-ease, cubic-bezier(0.42, 0, 0.58, 1)) var(--transition-delay, );
}
.tag.checkbox input[type=checkbox] ~ label:hover {
  --border-colour: #DF3035;
  cursor: pointer;
}
.tag.checkbox input[type=checkbox]:checked ~ label {
  --font-colour: white;
  --bg-colour: #DF3035;
}
.tag.checkbox input[type=checkbox]:checked ~ label .tag-secondary {
  --symbol-colour: white;
  background-color: rgba(255, 255, 255, 0.3);
}

table-container .heading {
  font-size: 1.25em;
  line-height: 1.3;
  margin-bottom: calc(var(--gap) * 2);
}
table-container .table {
  --cell-padding-y: 1rem;
  --cell-padding-x: 1.5rem;
  --cell-padding: var(--cell-padding-y) var(--cell-padding-x);
  table-layout: fixed;
  text-align: left;
}
table-container .table tr:nth-child(odd) {
  background-color: var(--theme-content-opposite);
}
table-container .table tr td:first-child() {
  border-right: 1px solid #969695;
}
table-container .table td {
  padding: var(--cell-padding);
}
table-container .table th {
  padding: var(--cell-padding);
  font-weight: 600;
  border-bottom: 1px solid lightgrey;
}
table-container .table.vertical tr td:first-child {
  font-weight: 600;
}
table-container .table.product-specs tr td:first-child {
  white-space: nowrap;
}
table-container .table.product-specs tr td:last-child {
  width: 100%;
}
table-container .table.related-products a {
  --font-colour: #DF3035;
}

main > .snippet a {
  --font-colour: var(--theme-accent) ;
}

navigation-bar {
  position: fixed;
  top: 0;
  width: 100%;
  width: var(--navigation-bar-width);
  height: var(--navigation-bar-height);
  max-height: -webkit-fill-available;
  padding: 0 calc(var(--gap) * 2) var(--gap-y);
  background: var(--theme-nav-background);
  border-right: 1px solid rgba(255, 255, 255, 0.2);
  overflow-y: auto;
  z-index: 1500;
  transition: background 0.3s cubic-bezier(0.165, 0.84, 0.44, 1);
}
navigation-bar a, navigation-bar button {
  -webkit-tap-highlight-color: rgba(255, 255, 255, 0);
}
navigation-bar global-search-mobile {
  display: none;
}
navigation-bar .navigation-container {
  display: flex;
  flex-direction: column;
  width: 100%;
  height: 100%;
}
navigation-bar .navigation-container a.logo {
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
  width: 95%;
  min-height: var(--logo-height);
  height: var(--logo-height);
  margin-bottom: var(--gap-y);
}
navigation-bar .navigation-container a.logo > svg {
  width: 100%;
  color: var(--theme-logo);
}
navigation-bar .navigation-container a.logo.logo-mobile {
  display: none;
}
navigation-bar .navigation-container global-search-desktop {
  margin-bottom: calc(var(--gap) * 2);
}
navigation-bar nav navigation-links {
  --fallback-max-height: 600px;
  --base-spacing: calc(var(--gap) * 0.5);
  display: block;
}
navigation-bar nav navigation-links .top-level-link {
  padding: calc(var(--gap) * 0.5) 0;
}
navigation-bar nav navigation-links .top-level-link:first-child {
  padding-top: 0;
}
navigation-bar nav navigation-links .top-level-link.has-children > a:hover svg {
  opacity: 1;
}
navigation-bar nav navigation-links .sub-menu li {
  padding: calc((var(--gap) * 0.5) / 2) 0;
}
navigation-bar nav navigation-links .sub-menu li:first-child {
  padding-top: calc(var(--gap) * 0.5);
}
navigation-bar nav navigation-links .sub-menu li:last-child {
  padding-bottom: calc(var(--gap) * 0.5);
}
navigation-bar nav navigation-links ul li a {
  transition: opacity var(--transition-duration, 0.2s) var(--transition-ease, cubic-bezier(0.42, 0, 0.58, 1)) var(--transition-delay, ), color var(--transition-duration, 0.2s) var(--transition-ease, cubic-bezier(0.42, 0, 0.58, 1)) var(--transition-delay, ), -webkit-text-decoration-color var(--transition-duration, 0.2s) var(--transition-ease, cubic-bezier(0.42, 0, 0.58, 1)) var(--transition-delay, );
  transition: opacity var(--transition-duration, 0.2s) var(--transition-ease, cubic-bezier(0.42, 0, 0.58, 1)) var(--transition-delay, ), color var(--transition-duration, 0.2s) var(--transition-ease, cubic-bezier(0.42, 0, 0.58, 1)) var(--transition-delay, ), text-decoration-color var(--transition-duration, 0.2s) var(--transition-ease, cubic-bezier(0.42, 0, 0.58, 1)) var(--transition-delay, );
  transition: opacity var(--transition-duration, 0.2s) var(--transition-ease, cubic-bezier(0.42, 0, 0.58, 1)) var(--transition-delay, ), color var(--transition-duration, 0.2s) var(--transition-ease, cubic-bezier(0.42, 0, 0.58, 1)) var(--transition-delay, ), text-decoration-color var(--transition-duration, 0.2s) var(--transition-ease, cubic-bezier(0.42, 0, 0.58, 1)) var(--transition-delay, ), -webkit-text-decoration-color var(--transition-duration, 0.2s) var(--transition-ease, cubic-bezier(0.42, 0, 0.58, 1)) var(--transition-delay, );
}
navigation-bar nav navigation-links ul li a:not(.active) {
  --font-colour: var(--theme-nav-font);
}
navigation-bar nav navigation-links ul li a.active {
  --font-colour: var(--theme-accent);
}
@media (hover: hover) {
  navigation-bar nav navigation-links ul li a.active:hover {
    -webkit-text-decoration-color: rgba(255, 255, 255, 0) !important;
            text-decoration-color: rgba(255, 255, 255, 0) !important;
    text-decoration: none;
  }
}
navigation-bar nav navigation-links ul li a > svg {
  color: var(--theme-nav-font);
  transition: opacity var(--transition-duration, 0.2s) var(--transition-ease, cubic-bezier(0.42, 0, 0.58, 1)) var(--transition-delay, ), transform var(--transition-duration, 0.2s) var(--transition-ease, cubic-bezier(0.42, 0, 0.58, 1)) var(--transition-delay, );
  width: 1em;
  height: 1em;
  opacity: 0.2;
}
navigation-bar nav navigation-links ul li ul {
  --transition-duration: 0.325s;
  max-height: 0;
  opacity: 0;
  overflow: hidden;
  transition: max-height var(--transition-duration, 0.2s) var(--transition-ease, cubic-bezier(0.42, 0, 0.58, 1)) var(--transition-delay, ), opacity var(--transition-duration, 0.2s) var(--transition-ease, cubic-bezier(0.42, 0, 0.58, 1)) var(--transition-delay, );
  margin-left: var(--gap);
}
navigation-bar nav navigation-links ul li ul li a:not(.active) {
  opacity: 0.5;
}
@media (hover: hover) {
  navigation-bar nav navigation-links ul li ul li a:not(.active):hover {
    opacity: 1;
  }
}
navigation-bar nav navigation-links ul li.has-children > a {
  display: flex;
  justify-content: space-between;
  align-items: center;
}
navigation-bar nav navigation-links ul li.has-children.open > a > svg {
  transform: rotate(90deg);
}
navigation-bar nav navigation-links ul li.has-children.open > ul {
  max-height: var(--link-max-height, var(--fallback-max-height));
  opacity: 1;
}
navigation-bar nav navigation-links .top-level-links > li > a {
  text-transform: uppercase;
}
navigation-bar nav navigation-links .mobile-link.hidden {
  display: none;
}
navigation-bar navigation-controls {
  display: none;
  align-items: center;
}
navigation-bar navigation-controls > *:not(:first-child) {
  margin-left: var(--gutter3);
}
navigation-bar navigation-controls a, navigation-bar navigation-controls button {
  display: block;
  height: -webkit-fit-content;
  height: -moz-fit-content;
  height: fit-content;
}
navigation-bar navigation-controls a svg, navigation-bar navigation-controls button svg {
  height: 25px;
  width: 25px;
  color: var(--theme-nav-font);
  vertical-align: middle;
}
navigation-bar navigation-controls button.menu {
  --symbol-colour: var(--theme-nav-font, white);
}
navigation-bar navigation-controls button.menu svg {
  --corner-offset: 10px;
  width: 30px;
  height: 30px;
}
navigation-bar navigation-controls button.menu svg polygon {
  -webkit-clip-path: polygon(140px 20px, 0 20px, var(--corner-offset, 10px) 0, 140px 0);
          clip-path: polygon(140px 20px, 0 20px, var(--corner-offset, 10px) 0, 140px 0);
  transition: all var(--transition-duration, 0.2s) var(--transition-ease, cubic-bezier(0.42, 0, 0.58, 1)) var(--transition-delay, );
}
navigation-bar navigation-controls button.menu svg polygon:nth-child(1) {
  transform-origin: 15% 30%;
}
navigation-bar navigation-controls button.menu svg polygon:nth-child(2) {
  opacity: 1;
}
navigation-bar navigation-controls button.menu svg polygon:nth-child(3) {
  transform-origin: 15% 70%;
}
navigation-bar .extra-links {
  --font-colour: var(--theme-nav-font);
  --link-spacing: var(--gap);
  --opacity: 0.6;
  display: flex;
  font-size: 1.4rem;
  opacity: var(--opacity);
  margin-top: auto;
  flex-wrap: wrap;
  gap: 1rem;
}
navigation-bar .extra-links li:not(:last-of-type) {
  position: relative;
  display: inline-flex;
  align-items: center;
  gap: 1ch;
  min-width: -webkit-fit-content;
  min-width: -moz-fit-content;
  min-width: fit-content;
}
navigation-bar .extra-links a {
  text-decoration: none;
  white-space: nowrap;
}
@media (hover: hover) {
  navigation-bar .extra-links a:hover {
    text-decoration: underline;
  }
}

@media (max-width: 980px) {
  navigation-bar {
    --navigation-bar-width: 100%;
    --navigation-bar-height: min-content;
    --logo-height: 100%;
    --row-padding: 1rem var(--gap-x);
    --theme-nav-font: var(--theme-nav-font-mob);
    --theme-logo: var(--theme-nav-font-mob);
    position: relative;
    padding: 0;
    overflow: visible;
    border-right: none;
  }
  navigation-bar .extra-links {
    display: none;
  }
  navigation-bar global-search-desktop {
    display: none;
  }
  navigation-bar .navigation-container, navigation-bar global-search-mobile {
    background-color: var(--theme-nav-background-mob);
  }
  navigation-bar global-search-mobile {
    position: relative;
    display: block;
    padding: var(--row-padding);
    height: var(--navigation-mobile-search-height);
    margin-top: calc(-1 * var(--navigation-mobile-search-height) - 0px);
    transition: margin-top 0.4s cubic-bezier(0.215, 0.61, 0.355, 1);
    border-bottom: 1px solid var(--theme-nav-spacing-colour);
    z-index: -1;
  }
  navigation-bar global-search-mobile form {
    display: flex;
    flex-wrap: nowrap;
    align-items: center;
  }
  navigation-bar global-search-mobile form input[type=search] {
    border-right: none;
  }
  navigation-bar global-search-mobile form select {
    --font-colour: #FFFFFF;
    --background-colour: #DF3035;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='17.4' height='10.1'%3E%3Cpath d='M16.7.7l-8 8-8-8' fill='none' stroke='%23FFFFFF' stroke-width='2' stroke-miterlimit='10'/%3E%3C/svg%3E");
  }
  navigation-bar navigation-controls {
    display: flex;
    margin-bottom: 0;
  }
  navigation-bar .navigation-container {
    flex-direction: row;
    justify-content: space-between;
    height: var(--navigation-container-height);
    padding: var(--row-padding);
    border-bottom: 1px solid var(--theme-nav-spacing-colour);
    z-index: 1500;
  }
  navigation-bar .navigation-container a.logo {
    margin-bottom: 0;
    width: -webkit-fit-content;
    width: -moz-fit-content;
    width: fit-content;
  }
  navigation-bar .navigation-container a.logo.logo-desktop {
    display: none;
  }
  navigation-bar .navigation-container a.logo.logo-mobile {
    display: block;
    margin-left: -3rem;
  }
  navigation-bar .navigation-container a.logo svg {
    width: unset;
    height: 100%;
  }
  navigation-bar nav {
    position: absolute;
    top: calc(100% + 0px);
    left: 0;
    width: 100%;
    height: 100vh;
    padding: var(--gap-y) var(--gap-x) var(--navigation-container-height);
    background: var(--theme-nav-background-mob);
    overflow-y: auto;
    opacity: 0;
    pointer-events: none;
    transition: opacity 0.3s cubic-bezier(0.165, 0.84, 0.44, 1);
  }
  navigation-bar nav .top-level-links {
    opacity: 0;
  }

  body.mobile-search-open navigation-bar global-search-mobile {
    margin-top: 0;
  }
  body.mobile-navigation-open navigation-bar nav {
    pointer-events: all;
    opacity: 1;
  }
  body.mobile-navigation-open navigation-bar nav .top-level-links {
    opacity: 1;
    transition: all 0.3s cubic-bezier(0.165, 0.84, 0.44, 1) 0.3s;
  }
  body.mobile-navigation-open navigation-bar button.menu svg {
    --corner-offset: 0;
  }
  body.mobile-navigation-open navigation-bar button.menu svg polygon:nth-child(1) {
    transform: rotate(45deg) scaleY(80%);
    -webkit-transform: rotate(45deg) scaleY(80%);
  }
  body.mobile-navigation-open navigation-bar button.menu svg polygon:nth-child(2) {
    opacity: 0;
  }
  body.mobile-navigation-open navigation-bar button.menu svg polygon:nth-child(3) {
    transform: rotate(-45deg) scaleY(80%);
    -webkit-transform: rotate(-45deg) scaleY(80%);
  }
}
.heatsinks-home header.header,
.components-home header.header {
  transition: all 0.8s 0.2s;
}

.header {
  align-self: end;
  display: flex;
  flex-direction: column;
  z-index: 1000;
}
.header .heading,
.header .subheading {
  text-transform: uppercase;
}
.header .heading {
  order: 2;
  font-weight: 800;
}
.header .subheading {
  color: var(--theme-accent);
  margin-bottom: var(--gap);
}
.header .subheading a {
  --heading-colour: var(--theme-accent);
  color: var(--theme-accent);
}
.header .snippet {
  order: 3;
  margin-top: 2rem;
}
@media (min-width: 981px) {
  .header .snippet {
    max-width: 1000px;
  }
}
.header.transition {
  opacity: 0;
  transform: translateY(-10%);
}

main {
  display: flex;
  flex-direction: column;
  grid-gap: var(--gap-y);
  z-index: 1000;
}
main content-blocks {
  display: grid;
  grid-gap: var(--gap-y);
}
main content-blocks section {
  display: grid;
  grid-gap: var(--gap-y);
}
body:not([data-components*=scroll-bar]) {
  position: relative;
}

@media (min-width: 1401px) {
  main {
    padding-bottom: var(--gap-y);
  }
}

side-bar {
  position: relative;
  width: var(--sidebar-width);
  max-width: var(--sidebar-max-width);
  height: 100%;
  z-index: 1000;
}
side-bar div.content-block.callToAction {
  position: fixed;
  bottom: 0;
  top: unset;
  margin-bottom: 0;
  padding-bottom: 0;
}
@media (max-width: 980px) {
  side-bar div.content-block.callToAction {
    right: 0;
  }
}
@media (min-width: 980px) and (max-width: 1400px) {
  side-bar div.content-block.callToAction {
    margin-left: calc(clamp(2rem, 5vw, 8rem) * -1);
  }
}
@media (max-width: 1400px) {
  side-bar {
    margin-bottom: 200px;
  }
}
side-bar.free {
  --container-padding: 4rem;
}
side-bar.contain > div {
  padding-right: var(--gap-x);
}
side-bar[data-behaviour=sticky] {
  --sticky-spacing: 0;
}
side-bar[data-behaviour=sticky].contain {
  --sticky-spacing: var(--gap-y);
}
side-bar[data-behaviour=sticky] > div {
  position: -webkit-sticky;
  position: sticky;
  top: var(--sticky-spacing);
}
@media (max-width: 1400px) {
  side-bar[data-behaviour=sticky] > div {
    position: relative;
    top: 0;
  }
}
@media (max-width: 1400px) {
  side-bar:not([data-behaviour=foldout]) {
    --sidebar-max-width: 100%;
    --sidebar-width: 100%;
  }
  side-bar:not([data-behaviour=foldout]) > div {
    margin-bottom: calc(var(--gap-y) * 2);
  }
  side-bar.contain > div {
    padding: 0;
  }
}
side-bar[data-behaviour=foldout] {
  z-index: 1750;
  transition: max-width 0.7s cubic-bezier(0.42, 0, 0.58, 1), transform 0.7s cubic-bezier(0.165, 0.84, 0.44, 1), top 0.4s cubic-bezier(0.215, 0.61, 0.355, 1), opacity var(--transition-duration, 0.2s) var(--transition-ease, cubic-bezier(0.42, 0, 0.58, 1)) var(--transition-delay, );
}
side-bar[data-behaviour=foldout] > div {
  position: -webkit-sticky;
  position: sticky;
  top: 0;
}
@media (max-width: 1400px) {
  side-bar[data-behaviour=foldout] {
    position: fixed;
    top: 0;
    right: 0;
    transform: translateX(100%);
    width: min(100vw, 400px);
    max-width: min(100vw, 400px);
  }
  side-bar[data-behaviour=foldout].active {
    transform: translateX(0%);
  }
  side-bar[data-behaviour=foldout] > div {
    position: relative;
  }
}
@media (max-width: 980px) {
  side-bar[data-behaviour=foldout] .open-trigger {
    display: none !important;
  }
  side-bar[data-behaviour=foldout] .close-trigger {
    display: block;
  }
}

page-background {
  display: block;
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100vh;
  transform: scale(1);
  background: var(--theme-page-background);
  z-index: 500;
}
page-background::after {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: var(--theme-content-background);
  z-index: 501;
}
@media (min-width: 981px) {
  page-background::after {
    top: 0;
    left: calc(var(--navigation-bar-width));
    width: calc(100% - var(--navigation-bar-width));
    height: 100%;
  }
}
page-background video {
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  transform: scaleX(-1);
  -webkit-user-select: none;
     -moz-user-select: none;
          user-select: none;
  opacity: 0.3;
}
page-background img {
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  transform: scaleX(-1);
  -webkit-user-select: none;
     -moz-user-select: none;
          user-select: none;
}
page-background img.logo {
  opacity: 0.03;
}
page-background img::before {
  content: "";
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: linear-gradient(to bottom, transparent 40%, #12152B 100%);
  z-index: 500 -1;
}

body:not(#home) .content-wrapper header {
  padding-top: 200px;
  margin-bottom: var(--gap-y);
}
body:not(#home) .content-wrapper header:not(.has-subheading) {
  margin-top: calc(-1 * var(--gap-y));
}
body:not(#home) .content-wrapper header.has-subheading {
  margin-top: calc(-1.85 * var(--gap-y));
}
@media (max-width: 980px) {
  body:not(#home) .content-wrapper header {
    padding-top: var(--gap-y);
    margin-top: calc(-1 * var(--gap-y)) !important;
  }
}

body#home.components-home .content-wrapper header {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  grid-gap: var(--gap);
  margin-bottom: var(--gap-y);
}
body#home.components-home .content-wrapper header > h1, body#home.components-home .content-wrapper header p {
  grid-column: 1/3;
}
body#home.components-home .content-wrapper header h1 {
  grid-row: 1;
}
@media (max-width: 400px) {
  body#home.components-home .content-wrapper header h1 {
    font-size: 24px;
  }
}
body#home.components-home .content-wrapper header p {
  grid-column: 1/-1;
  grid-row: 2;
}
body#home.components-home .content-wrapper header img {
  grid-column: 3;
  width: 100%;
  height: auto;
}
body#home.components-home .content-wrapper header + main {
  margin-top: 0;
}
@media (min-width: 768px) {
  body#home.components-home .content-wrapper header {
    grid-gap: 0;
    grid-template-columns: repeat(auto-fill, min-max(200px, 25%));
  }
  body#home.components-home .content-wrapper header p {
    margin-top: 0;
  }
  body#home.components-home .content-wrapper header img {
    max-width: 150px;
    margin-left: auto;
  }
}
body#home.components-home .content-wrapper .about-us-block {
  background: linear-gradient(120deg, #10124d 20%, #131f6b 80%);
  display: flex;
  flex-wrap: nowrap;
  flex-direction: column;
  position: relative;
}
body#home.components-home .content-wrapper .about-us-block > div:last-of-type {
  padding-bottom: 75px;
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(125px, 1fr));
}
body#home.components-home .content-wrapper .about-us-block > div:first-of-type {
  display: flex;
  padding: calc(var(--gap) * 2);
  background-color: #DF3035;
  gap: 16px;
  justify-content: center;
  flex-direction: column;
}
body#home.components-home .content-wrapper .about-us-block > div:last-of-type {
  flex-grow: 1;
  grid-gap: var(--gap);
  padding-top: var(--gap);
}
body#home.components-home .content-wrapper .about-us-block > div:last-of-type > div {
  display: flex;
  flex-direction: column;
  justify-content: flex-start;
  align-items: center;
  padding: var(--gap);
  gap: var(--gap);
}
body#home.components-home .content-wrapper .about-us-block > div:last-of-type > div svg {
  width: 80%;
  color: white;
  max-width: 80px;
}
body#home.components-home .content-wrapper .about-us-block > div:last-of-type > div svg.wire-earth {
  width: 60%;
  margin-bottom: 1em;
}
body#home.components-home .content-wrapper .about-us-block > div:last-of-type > div p {
  text-align: center;
  text-transform: uppercase;
  color: #DF3035;
  justify-self: baseline;
  font-size: 1.4rem;
}
body#home.components-home .content-wrapper .about-us-block > a {
  position: absolute;
  right: 0;
  bottom: 0;
}
body#home.components-home .content-wrapper .content-block.callToAction {
  background: linear-gradient(120deg, #10124d 0%, #131f6b 80%);
  padding: calc(var(--gap) * 2) 0 0 calc(var(--gap) * 2);
  display: flex;
  flex-direction: column;
}
body#home.components-home .content-wrapper .content-block.callToAction .call-to-action-heading, body#home.components-home .content-wrapper .content-block.callToAction .call-to-action-subheading {
  text-transform: uppercase;
}
body#home.components-home .content-wrapper .content-block.callToAction .call-to-action-heading {
  --heading-colour: #FFFFFF;
  font-size: 1.25em;
  line-height: 1.3;
  padding-right: calc(var(--gap) * 2);
  font-weight: 800;
  margin-bottom: calc(var(--gap) * 2);
}
body#home.components-home .content-wrapper .content-block.callToAction .call-to-action-subheading {
  --heading-colour: #DF3035;
  font-size: 0.9375em;
  line-height: 1.6;
  margin-bottom: var(--gap);
}
body#home.components-home .content-wrapper .content-block.callToAction .call-to-action-button {
  margin-top: var(--gap);
  margin-left: calc(var(--gap) * 3);
  align-self: flex-end;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
}
body#home.components-home .content-wrapper scroll-bar {
  max-width: unset !important;
}
@media (min-width: 768px) {
  body#home.components-home .content-wrapper .about-us-block {
    padding-bottom: unset;
    flex-direction: row;
  }
  body#home.components-home .content-wrapper .about-us-block > div:first-of-type {
    max-width: 35%;
    padding-right: var(--spacer2);
    -webkit-clip-path: polygon(0% 100%, 0% 0%, 100% 0%, 75% 100%);
            clip-path: polygon(0% 100%, 0% 0%, 100% 0%, 75% 100%);
  }
  body#home.components-home .content-wrapper .about-us-block > div:last-of-type {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(125px, 1fr));
    padding: var(--spacer1);
    margin-left: -5%;
  }
}
@media (min-width: 981px) and (max-width: 1399px) {
  body#home.components-home .content-wrapper .about-us-block {
    flex-direction: column;
  }
  body#home.components-home .content-wrapper .about-us-block > div:first-of-type {
    max-width: unset;
    -webkit-clip-path: unset;
            clip-path: unset;
  }
  body#home.components-home .content-wrapper .about-us-block > div:last-of-type {
    padding: var(--spacer1);
    margin-left: 0%;
  }
}
@media (min-width: 1201px) {
  body#home.components-home .content-wrapper header, body#home.components-home .content-wrapper scroll-bar, body#home.components-home .content-wrapper .about-us-block, body#home.components-home .content-wrapper .content-block.callToAction, body#home.components-home .content-wrapper .market-sectors\:list {
    max-width: 1200px !important;
  }
}

footer {
  position: -webkit-sticky;
  position: sticky;
  top: 100dvh;
  order: 99;
  padding-bottom: var(--spacer1);
  grid-column: var(--column-content);
  z-index: 1000;
}
@media (min-width: 1201px) {
  footer {
    max-width: 1200px !important;
  }
}

#home footer {
  position: relative;
  top: initial;
  grid-row: -1;
}

content-blocks [data-columns] {
  grid-template-columns: repeat(var(--columns, 1), 1fr);
  grid-gap: calc(var(--gap) * 2);
}
@media (min-width: 769px) {
  content-blocks [data-columns="2"] {
    --columns: 2;
  }
}
@media (min-width: 980px) {
  content-blocks [data-columns="2"] {
    --columns: 1;
  }
}
@media (min-width: 1201px) {
  content-blocks [data-columns="2"] {
    --columns: 2;
  }
}
@media (min-width: 1401px) {
  content-blocks [data-columns="2"] {
    --columns: 1;
  }
}
@media (min-width: 1800px) {
  content-blocks [data-columns="2"] {
    --columns: 2;
  }
}

search-element .search-input svg {
  height: 32px;
}

modal-wrapper {
  --wrapper-background-colour: rgba(255, 255, 255, 0.95);
  --modal-close-colour: $black;
  --container-background-colour: white;
  --min-width:300px;
  --max-width:1120px;
  --width:clamp(var(--min-width), 90vw, fit-content);
  --min-height:600px;
  --max-height:calc(100vh - var(--gutter2));
  --height:clamp(var(--min-height), 90vw, fit-content);
  --close-button-size: 30px;
  --nav-button-size: 40px;
  position: fixed;
  inset: 0;
  height: 100vh;
  width: 100%;
  background-color: var(--wrapper-background-colour);
  z-index: 10000;
  display: flex;
  place-items: center;
  place-content: center;
  transition: opacity 0.5s cubic-bezier(0.42, 0, 0.58, 1);
  overscroll-behavior: contain;
}
@supports (--v:-webkit-fill-available ) {
  modal-wrapper {
    --max-height:-webkit-fill-available;
  }
}
modal-wrapper.loading {
  opacity: 0;
  pointer-events: none;
  transition: opacity 0.3s cubic-bezier(0.42, 0, 0.58, 1) 0.3s;
}
modal-wrapper.loading modal-container {
  opacity: 0;
  transform: translateY(2vh);
  transition: opacity 0.3s cubic-bezier(0.42, 0, 0.58, 1), transform 0.3s cubic-bezier(0.895, 0.03, 0.685, 0.22);
}
modal-wrapper button.close {
  position: absolute;
  top: var(--gutter1);
  right: var(--gutter1);
  width: var(--close-button-size);
  height: var(--close-button-size);
}
modal-wrapper button.close svg {
  color: var(--modal-close-colour, #DF3035);
}
modal-wrapper button.close svg circle, modal-wrapper button.close svg path {
  transition: 0.3s cubic-bezier(0.42, 0, 0.58, 1);
}
@media (hover: hover) {
  modal-wrapper button.close:hover svg {
    --fill:white;
    --stroke:var(--secondary, #DF3035);
  }
}
modal-wrapper button.navigation {
  position: absolute;
  width: var(--nav-button-size);
  height: var(--nav-button-size);
  top: calc(50% - var(--nav-button-size) / 2);
  background-color: var(--secondary, #DF3035);
  border-radius: 50%;
  border: 2px solid var(--secondary, #DF3035);
  color: white;
  display: flex;
  place-content: center;
  place-items: center;
  transition: color var(--transition-duration, 0.2s) var(--transition-ease, cubic-bezier(0.42, 0, 0.58, 1)) var(--transition-delay, ), background-color var(--transition-duration, 0.2s) var(--transition-ease, cubic-bezier(0.42, 0, 0.58, 1)) var(--transition-delay, ), transform 0.2s cubic-bezier(0.175, 0.885, 0.32, 1.275);
}
modal-wrapper button.navigation.previous {
  left: var(--gutter1);
}
modal-wrapper button.navigation.next {
  right: var(--gutter1);
}
modal-wrapper button.navigation svg {
  width: 50%;
  height: 50%;
}
@media (hover: hover) {
  modal-wrapper button.navigation:hover {
    transform: scale(1.1);
    color: var(--secondary, #DF3035);
    background-color: white;
  }
}

modal-container {
  transform: translateY(0);
  transition: opacity 0.5s cubic-bezier(0.42, 0, 0.58, 1) 0.3s, transform 0.5s cubic-bezier(0.165, 0.84, 0.44, 1) 0.3s;
  width: var(--width);
  height: var(--height);
  max-height: var(--max-height);
  max-width: var(--max-width);
  border: 1px solid #dcdcdc;
  border-radius: var(--border-radius, 6px);
  background-color: var(--container-background-colour);
  position: relative;
  display: flex;
  flex-direction: column;
  margin: var(--gutter1);
  overscroll-behavior: contain;
}
@supports not (width: clamp(1px, 5vw, 10px)) {
  modal-container {
    --width: 60vw;
    max-width: var(--max-width);
    min-width: var(--min-width);
    --height: 80vw;
    max-height: var(--max-height);
    min-height: var(--min-height);
  }
}
modal-container:empty {
  width: calc(var(--max-width) / 2);
  height: calc(var(--max-height) / 2);
}
modal-container:empty:after {
  --size: 20px;
  content: "";
  position: absolute;
  top: calc(50% - var(--size) / 2);
  left: calc(50% - var(--size) / 2);
  opacity: 0;
  width: var(--size);
  height: var(--size);
  border-radius: 50%;
  border: 2px solid var(--loader-colour, #969695);
  border-top-color: transparent;
  border-bottom-color: transparent;
  -webkit-animation-name: loader-rotate;
          animation-name: loader-rotate;
  -webkit-animation-duration: 0.5s;
          animation-duration: 0.5s;
  -webkit-animation-iteration-count: infinite;
          animation-iteration-count: infinite;
  transition: opacity 0.2s cubic-bezier(0.42, 0, 0.58, 1);
  -webkit-animation-play-state: paused;
          animation-play-state: paused;
  opacity: 1;
  -webkit-animation-play-state: running;
          animation-play-state: running;
}
@-webkit-keyframes loader-rotate {
  from {
    transform: rotate(180deg);
  }
  to {
    transform: rotate(0deg);
  }
}
@keyframes loader-rotate {
  from {
    transform: rotate(180deg);
  }
  to {
    transform: rotate(0deg);
  }
}
modal-container > button.close {
  position: relative;
  order: -1;
  align-self: flex-end;
  top: initial;
  right: initial;
  margin-top: calc(-1 * var(--close-button-size) / 2);
  margin-bottom: calc(-1 * var(--close-button-size) / 2);
  margin-right: calc(-1 * var(--close-button-size) / 2);
}

modal-content {
  display: block;
  position: -webkit-sticky;
  position: sticky;
  overscroll-behavior: contain;
  width: inherit;
  height: inherit;
  max-height: inherit;
  max-width: inherit;
  overflow-y: auto;
  overflow-x: hidden;
  padding: var(--gutter1);
}
modal-content > * {
  max-width: 100%;
}

modal-wrapper[data-type=image] .image {
  max-height: calc(var(--max-height) - var(--gutter6));
  border: none;
}
modal-wrapper[data-type=image] .image img {
  max-height: calc(100vh - var(--gutter3) - var(--gutter4));
  width: auto;
  height: auto;
  margin: auto;
}

modal-wrapper[data-type=default] modal-content > img[src*=".svg"] {
  width: 100%;
  height: auto;
}

modal-wrapper[data-type=video] {
  --wrapper-background-colour: rgba(0, 0, 0, 0.95);
  --modal-close-colour: #FFFFFF;
}
modal-wrapper[data-type=video] modal-container {
  --aspect-ratio: 16/9;
  aspect-ratio: var(--aspect-ratio);
  display: block;
  position: relative;
  width: 100%;
  background-color: black;
  background-color: white;
  padding: var(--gap);
}
@supports not (aspect-ratio: 16/9) {
  modal-wrapper[data-type=video] modal-container {
    aspect-ratio: initial;
    padding-bottom: calc(100% / (var(--aspect-ratio)));
    height: 0;
  }
  modal-wrapper[data-type=video] modal-container > * {
    position: absolute;
  }
}
modal-wrapper[data-type=video] modal-container iframe, modal-wrapper[data-type=video] modal-container canvas {
  position: absolute;
  display: block;
  top: 0;
  left: 0;
  height: 100% !important;
  width: 100% !important;
}
modal-wrapper[data-type=video] modal-container modal-content {
  height: 100%;
  border-radius: var(--border-radius, 6px);
}

.open-in-modal {
  cursor: pointer;
  transition: opacity var(--transition-duration, 0.2s) var(--transition-ease, cubic-bezier(0.42, 0, 0.58, 1)) var(--transition-delay, );
}
.open-in-modal:after {
  --size: 20px;
  content: "";
  position: absolute;
  top: calc(50% - var(--size) / 2);
  left: calc(50% - var(--size) / 2);
  opacity: 0;
  width: var(--size);
  height: var(--size);
  border-radius: 50%;
  border: white solid var(--loader-colour, #969695);
  border-top-color: transparent;
  border-bottom-color: transparent;
  -webkit-animation-name: loader-rotate;
          animation-name: loader-rotate;
  -webkit-animation-duration: 0.5s;
          animation-duration: 0.5s;
  -webkit-animation-iteration-count: infinite;
          animation-iteration-count: infinite;
  transition: opacity 0.2s cubic-bezier(0.42, 0, 0.58, 1);
  -webkit-animation-play-state: paused;
          animation-play-state: paused;
}
@keyframes loader-rotate {
  from {
    transform: rotate(180deg);
  }
  to {
    transform: rotate(0deg);
  }
}
.open-in-modal.loading {
  pointer-events: none;
}
.open-in-modal.loading:after {
  opacity: 1;
  -webkit-animation-play-state: running;
          animation-play-state: running;
}

img.open-in-modal, .open-in-modal img {
  -webkit-user-drag: none;
  -khtml-user-drag: none;
  -moz-user-drag: none;
  -o-user-drag: none;
  user-drag: none;
}

.back-to-top {
  --hide-offset: -10px;
  --svg-width: 18px;
  --edge-distance: 15px;
  --right-offset: 0px;
  display: block;
  position: fixed;
  right: calc(var(--right-offset) + var(--edge-distance));
  bottom: calc(var(--edge-distance) + var(--hide-offset));
  width: calc(var(--svg-width) + 12px);
  height: calc(var(--svg-width) + 12px);
  background: #131f6b;
  border: 1px solid #FFFFFF;
  border-radius: 50%;
  z-index: 1001;
  pointer-events: all;
  transition: opacity 0.2s var(--transition-duration, 0.2s) var(--transition-ease, cubic-bezier(0.42, 0, 0.58, 1)) var(--transition-delay, ), transform 0.2s var(--transition-duration, 0.2s) var(--transition-ease, cubic-bezier(0.42, 0, 0.58, 1)) var(--transition-delay, );
  display: none;
}
.back-to-top svg {
  position: relative;
  top: -2px;
  width: var(--svg-width);
  height: var(--svg-width);
  color: #FFFFFF;
}
.back-to-top:not(.hide) {
  pointer-events: all;
  opacity: 1;
  cursor: pointer;
  transform: translateY(var(--hide-offset));
}

@media (min-width: 1401px) {
  side-bar ~ .back-to-top {
    --right-offset: var(--sidebar-width);
  }
}
logo-bar {
  display: flex;
  flex-wrap: wrap;
  gap: var(--gutter1);
  align-items: center;
  padding-top: var(--spacer1);
}
logo-bar img {
  max-width: 140px;
  max-height: 90px;
  min-height: 60px;
  width: auto;
  height: auto;
  -o-object-fit: contain;
     object-fit: contain;
}
@media (min-width: 801px) {
  logo-bar {
    justify-content: space-between;
  }
}
/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImZpbGU6L1VzZXJzL21hcmtub3R0b24vUHJvamVjdHMvQUJMJTIwSGVhdHNpbmtzL1dlYnNpdGUvbm9kZV9tb2R1bGVzL0Bkb2dnaXN0eWxlL3Nhc3MvbGlicmFyeS9zcmMvY29sbGVjdGlvbnMvbm9ybWFsaXNlcnMvX2Jyb3dzZXIuc2NzcyIsImdsb2JhbC5jc3MiLCJmaWxlOi9Vc2Vycy9tYXJrbm90dG9uL1Byb2plY3RzL0FCTCUyMEhlYXRzaW5rcy9XZWJzaXRlL3NyYy9zYXNzL192YXJpYWJsZXMvei1pbmRleC5zY3NzIiwiZmlsZTovVXNlcnMvbWFya25vdHRvbi9Qcm9qZWN0cy9BQkwlMjBIZWF0c2lua3MvV2Vic2l0ZS9zcmMvc2Fzcy9fZWxlbWVudHMvZm9ybS5zY3NzIiwiZmlsZTovVXNlcnMvbWFya25vdHRvbi9Qcm9qZWN0cy9BQkwlMjBIZWF0c2lua3MvV2Vic2l0ZS9zcmMvc2Fzcy9fZWxlbWVudHMvcmVzdWx0LWl0ZW0uc2NzcyIsImZpbGU6L1VzZXJzL21hcmtub3R0b24vUHJvamVjdHMvQUJMJTIwSGVhdHNpbmtzL1dlYnNpdGUvc3JjL3Nhc3MvX2VsZW1lbnRzL3RhZy5zY3NzIiwiZmlsZTovVXNlcnMvbWFya25vdHRvbi9Qcm9qZWN0cy9BQkwlMjBIZWF0c2lua3MvV2Vic2l0ZS9zcmMvc2Fzcy9fY29yZS93ZWJmb250cy5zY3NzIiwiZmlsZTovVXNlcnMvbWFya25vdHRvbi9Qcm9qZWN0cy9BQkwlMjBIZWF0c2lua3MvV2Vic2l0ZS9zcmMvc2Fzcy9fY29yZS9jdXN0b20tcHJvcGVydGllcy5zY3NzIiwiZmlsZTovVXNlcnMvbWFya25vdHRvbi9Qcm9qZWN0cy9BQkwlMjBIZWF0c2lua3MvV2Vic2l0ZS9zcmMvc2Fzcy9fY29yZS90eXBvZ3JhcGh5LnNjc3MiLCJmaWxlOi9Vc2Vycy9tYXJrbm90dG9uL1Byb2plY3RzL0FCTCUyMEhlYXRzaW5rcy9XZWJzaXRlL3NyYy9zYXNzL192YXJpYWJsZXMvZm9udHMuc2NzcyIsImZpbGU6L1VzZXJzL21hcmtub3R0b24vUHJvamVjdHMvQUJMJTIwSGVhdHNpbmtzL1dlYnNpdGUvbm9kZV9tb2R1bGVzL0Bkb2dnaXN0eWxlL3Nhc3MvbGlicmFyeS9zcmMvY29sbGVjdGlvbnMvZm9udC9fcmVzcG9uc2l2ZS1mb250c2l6ZS5zY3NzIiwiZmlsZTovVXNlcnMvbWFya25vdHRvbi9Qcm9qZWN0cy9BQkwlMjBIZWF0c2lua3MvV2Vic2l0ZS9ub2RlX21vZHVsZXMvQGRvZ2dpc3R5bGUvc2Fzcy9saWJyYXJ5L3NyYy9oZWxwZXJzL19icmVhay5zY3NzIiwiZmlsZTovVXNlcnMvbWFya25vdHRvbi9Qcm9qZWN0cy9BQkwlMjBIZWF0c2lua3MvV2Vic2l0ZS9ub2RlX21vZHVsZXMvQGRvZ2dpc3R5bGUvc2Fzcy9saWJyYXJ5L3NyYy9jcmVhdGUvX2hlYWRpbmdzLnNjc3MiLCJmaWxlOi9Vc2Vycy9tYXJrbm90dG9uL1Byb2plY3RzL0FCTCUyMEhlYXRzaW5rcy9XZWJzaXRlL3NyYy9zYXNzL192YXJpYWJsZXMvY29sb3Vycy5zY3NzIiwiZmlsZTovVXNlcnMvbWFya25vdHRvbi9Qcm9qZWN0cy9BQkwlMjBIZWF0c2lua3MvV2Vic2l0ZS9ub2RlX21vZHVsZXMvQGRvZ2dpc3R5bGUvc2Fzcy9saWJyYXJ5L3NyYy9jb2xsZWN0aW9ucy9zdHlsaW5nL19ob3Zlci5zY3NzIiwiZmlsZTovVXNlcnMvbWFya25vdHRvbi9Qcm9qZWN0cy9BQkwlMjBIZWF0c2lua3MvV2Vic2l0ZS9ub2RlX21vZHVsZXMvQGRvZ2dpc3R5bGUvc2Fzcy9saWJyYXJ5L3NyYy9jcmVhdGUvX3VuaXRzLnNjc3MiLCJmaWxlOi9Vc2Vycy9tYXJrbm90dG9uL1Byb2plY3RzL0FCTCUyMEhlYXRzaW5rcy9XZWJzaXRlL3NyYy9zYXNzL19jb3JlL2xheW91dC5zY3NzIiwiZmlsZTovVXNlcnMvbWFya25vdHRvbi9Qcm9qZWN0cy9BQkwlMjBIZWF0c2lua3MvV2Vic2l0ZS9zcmMvc2Fzcy9fY29yZS9jb250ZW50LnNjc3MiLCJmaWxlOi9Vc2Vycy9tYXJrbm90dG9uL1Byb2plY3RzL0FCTCUyMEhlYXRzaW5rcy9XZWJzaXRlL3NyYy9zYXNzL19lbGVtZW50cy9saXN0LnNjc3MiLCJmaWxlOi9Vc2Vycy9tYXJrbm90dG9uL1Byb2plY3RzL0FCTCUyMEhlYXRzaW5rcy9XZWJzaXRlL3NyYy9zYXNzL192YXJpYWJsZXMvaGVhZGluZ3Muc2NzcyIsImZpbGU6L1VzZXJzL21hcmtub3R0b24vUHJvamVjdHMvQUJMJTIwSGVhdHNpbmtzL1dlYnNpdGUvc3JjL3Nhc3MvX3ZhcmlhYmxlcy91bml0cy5zY3NzIiwiZmlsZTovVXNlcnMvbWFya25vdHRvbi9Qcm9qZWN0cy9BQkwlMjBIZWF0c2lua3MvV2Vic2l0ZS9zcmMvc2Fzcy9fY29yZS9mb3Jtcy5zY3NzIiwiZmlsZTovVXNlcnMvbWFya25vdHRvbi9Qcm9qZWN0cy9BQkwlMjBIZWF0c2lua3MvV2Vic2l0ZS9zcmMvc2Fzcy9fZWxlbWVudHMvYnV0dG9uLnNjc3MiLCJmaWxlOi9Vc2Vycy9tYXJrbm90dG9uL1Byb2plY3RzL0FCTCUyMEhlYXRzaW5rcy9XZWJzaXRlL3NyYy9zYXNzL19oZWxwZXJzL21pc2Muc2NzcyIsImZpbGU6L1VzZXJzL21hcmtub3R0b24vUHJvamVjdHMvQUJMJTIwSGVhdHNpbmtzL1dlYnNpdGUvc3JjL3Nhc3MvX2NvcmUvX2luZGV4LnNjc3MiLCJmaWxlOi9Vc2Vycy9tYXJrbm90dG9uL1Byb2plY3RzL0FCTCUyMEhlYXRzaW5rcy9XZWJzaXRlL25vZGVfbW9kdWxlcy9AZG9nZ2lzdHlsZS9zYXNzL2xpYnJhcnkvc3JjL2NvbGxlY3Rpb25zL3N0eWxpbmcvX2ltYWdlLnNjc3MiLCJmaWxlOi9Vc2Vycy9tYXJrbm90dG9uL1Byb2plY3RzL0FCTCUyMEhlYXRzaW5rcy9XZWJzaXRlL25vZGVfbW9kdWxlcy9AZG9nZ2lzdHlsZS9zYXNzL2xpYnJhcnkvc3JjL2NvbGxlY3Rpb25zL3N0eWxpbmcvX2FzcGVjdC1yYXRpby5zY3NzIiwiZmlsZTovVXNlcnMvbWFya25vdHRvbi9Qcm9qZWN0cy9BQkwlMjBIZWF0c2lua3MvV2Vic2l0ZS9zcmMvc2Fzcy9fZWxlbWVudHMvdmlkZW8uc2NzcyIsImZpbGU6L1VzZXJzL21hcmtub3R0b24vUHJvamVjdHMvQUJMJTIwSGVhdHNpbmtzL1dlYnNpdGUvc3JjL3Nhc3MvX2VsZW1lbnRzL21hcmsuc2NzcyIsImZpbGU6L1VzZXJzL21hcmtub3R0b24vUHJvamVjdHMvQUJMJTIwSGVhdHNpbmtzL1dlYnNpdGUvbm9kZV9tb2R1bGVzL0Bkb2dnaXN0eWxlL3Nhc3MvbGlicmFyeS9zcmMvY3JlYXRlL19wYWxldHRlLnNjc3MiLCJmaWxlOi9Vc2Vycy9tYXJrbm90dG9uL1Byb2plY3RzL0FCTCUyMEhlYXRzaW5rcy9XZWJzaXRlL3NyYy9zYXNzL192YXJpYWJsZXMvdHJhbnNpdGlvbi5zY3NzIiwiZmlsZTovVXNlcnMvbWFya25vdHRvbi9Qcm9qZWN0cy9BQkwlMjBIZWF0c2lua3MvV2Vic2l0ZS9zcmMvc2Fzcy9fZWxlbWVudHMvdGFibGUuc2NzcyIsImZpbGU6L1VzZXJzL21hcmtub3R0b24vUHJvamVjdHMvQUJMJTIwSGVhdHNpbmtzL1dlYnNpdGUvc3JjL3Nhc3MvY29tcG9uZW50cy9zZWN0aW9ucy9uYXZpZ2F0aW9uLWJhci5zY3NzIiwiZmlsZTovVXNlcnMvbWFya25vdHRvbi9Qcm9qZWN0cy9BQkwlMjBIZWF0c2lua3MvV2Vic2l0ZS9zcmMvc2Fzcy9jb21wb25lbnRzL3NlY3Rpb25zL2hlYWRlci5zY3NzIiwiZmlsZTovVXNlcnMvbWFya25vdHRvbi9Qcm9qZWN0cy9BQkwlMjBIZWF0c2lua3MvV2Vic2l0ZS9zcmMvc2Fzcy9jb21wb25lbnRzL3NlY3Rpb25zL21haW4uc2NzcyIsImZpbGU6L1VzZXJzL21hcmtub3R0b24vUHJvamVjdHMvQUJMJTIwSGVhdHNpbmtzL1dlYnNpdGUvc3JjL3Nhc3MvX2hlbHBlcnMvY29tcG9uZW50LnNjc3MiLCJmaWxlOi9Vc2Vycy9tYXJrbm90dG9uL1Byb2plY3RzL0FCTCUyMEhlYXRzaW5rcy9XZWJzaXRlL3NyYy9zYXNzL2NvbXBvbmVudHMvc2VjdGlvbnMvc2lkZS1iYXIuc2NzcyIsImZpbGU6L1VzZXJzL21hcmtub3R0b24vUHJvamVjdHMvQUJMJTIwSGVhdHNpbmtzL1dlYnNpdGUvc3JjL3Nhc3MvY29tcG9uZW50cy9zZWN0aW9ucy9wYWdlLWJhY2tncm91bmQuc2NzcyIsImZpbGU6L1VzZXJzL21hcmtub3R0b24vUHJvamVjdHMvQUJMJTIwSGVhdHNpbmtzL1dlYnNpdGUvc3JjL3Nhc3MvY29tcG9uZW50cy9zZWN0aW9ucy9jb250ZW50LXdyYXBwZXIuc2NzcyIsImZpbGU6L1VzZXJzL21hcmtub3R0b24vUHJvamVjdHMvQUJMJTIwSGVhdHNpbmtzL1dlYnNpdGUvc3JjL3Nhc3MvY29tcG9uZW50cy9zZWN0aW9ucy9mb290ZXIuc2NzcyIsImZpbGU6L1VzZXJzL21hcmtub3R0b24vUHJvamVjdHMvQUJMJTIwSGVhdHNpbmtzL1dlYnNpdGUvc3JjL3Nhc3MvY29tcG9uZW50cy9jb250ZW50LWJsb2Nrcy9jb250ZW50LWJsb2Nrcy5zY3NzIiwiZmlsZTovVXNlcnMvbWFya25vdHRvbi9Qcm9qZWN0cy9BQkwlMjBIZWF0c2lua3MvV2Vic2l0ZS9zcmMvc2Fzcy9jb21wb25lbnRzL2dsb2JhbC1zZWFyY2guc2NzcyIsImZpbGU6L1VzZXJzL21hcmtub3R0b24vUHJvamVjdHMvQUJMJTIwSGVhdHNpbmtzL1dlYnNpdGUvc3JjL3Nhc3MvY29tcG9uZW50cy9tb2RhbC5zY3NzIiwiZmlsZTovVXNlcnMvbWFya25vdHRvbi9Qcm9qZWN0cy9BQkwlMjBIZWF0c2lua3MvV2Vic2l0ZS9zcmMvc2Fzcy9fZWxlbWVudHMvbG9hZGVyLnNjc3MiLCJmaWxlOi9Vc2Vycy9tYXJrbm90dG9uL1Byb2plY3RzL0FCTCUyMEhlYXRzaW5rcy9XZWJzaXRlL3NyYy9zYXNzL2NvbXBvbmVudHMvYmFjay10by10b3Auc2NzcyIsImZpbGU6L1VzZXJzL21hcmtub3R0b24vUHJvamVjdHMvQUJMJTIwSGVhdHNpbmtzL1dlYnNp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QUFBO0VBQ0EscUNBQUE7VUFBQSw2QkFBQTtBMUMyeUZGOztBeUNub0ZBO0VBQ0UsdUJBQUE7RUFDQSxzQkFBQTtFQUNBLG9CQUFBO0VBQ0Esa0JBQUE7RUFDQSxlQUFBO0F6Q3NvRkY7O0EyQ2gxRkE7RUFDRSxvQkFBQTtFQUNBLGlCQUFBO0VBQ0EscUJBQUE7RUFDQSxtQkFBQTtFQUVBLGNBQUE7RUFDQSxlQUFBO0VBQ0EsdURBQUE7RUFDQSx1REFBQTtFckJIRCxvQ3FCSWlCO0VyQkhqQixxQ3FCR2lCO0VBQ2hCLG1CL0JLa0I7RStCSmxCLHlCQUFBO0VBQ0Esa0JBQUE7RUFDQSxhQUFBO0VBR0EsbUJBQUE7RUFDQSw0UUFBQTtFQWdCQSxhQUFBO0EzQ2swRkY7QTJDaDFGRTtFQUNFLGtCQUFBO0VBQ0EsU0FBQTtFckJoQkgsdUJxQmlCbUI7RXJCaEJuQix3QnFCZ0JtQjtFQUNoQixjZnlCWTtBNUIwekZoQjtBMkNoMUZFO0VBQ0UsbUJBQUE7RUFDQSxVQUFBO0VBQ0EsZUFBQTtFQUNBLHlDQUFBO0EzQ2sxRko7O0FVOTJGRTtFaUNvQ0E7SUFDRSxvQ0FBQTtFM0M4MEZGO0FBQ0Y7QTRDdjNGQTtFQUNJLGFBQUE7RUFDQSxlQUFBO0VBQ0EsbUI5QitITztFOEI5SFAsbUJBQUE7RUFDQSwyQjlCa0dPO0FkdXhGWDtBNEN2M0ZJO0VBQ0ksZ0JBQUE7RUFDQSxnQkFBQTtFQUNBLGdCQUFBO0VBQ0EsV0FBQTtFQUNBLFlBQUE7RUFDQSxzQkFBQTtLQUFBLG1CQUFBO0E1Q3kzRlI7QVVuNEZFO0VrQ0hGO0lBZ0JRLDhCQUFBO0U1QzAzRk47QUFDRiIsImZpbGUiOiJnbG9iYWwuY3NzIiwic291cmNlc0NvbnRlbnQiOlsiLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cbi8vIE5vcm1hbGlzZXJzXG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuXG4vLy8gbm9ybWFsaXplLmNzcyB2OC4wLjEgfCBNSVQgTGljZW5zZVxuLy8vIEBhdXRob3IgQXV0aG9ycyBuYW1lXG4vLy8gQHNlZSBnaXRodWIuY29tL25lY29sYXMvbm9ybWFsaXplLmNzc1xuXG4kbm9ybWFsaXNlICAgICAgICAgOiB0cnVlICFkZWZhdWx0O1xuJGJhc2UtZWxlbWVudHMgICAgIDogdHJ1ZSAhZGVmYXVsdDtcbiRzZWN0aW9uLWVsZW1lbnRzICA6IHRydWUgIWRlZmF1bHQ7XG4kaGVhZGVyLWVsZW1lbnRzICAgOiB0cnVlICFkZWZhdWx0O1xuJGdyb3VwaW5nLWVsZW1lbnRzIDogdHJ1ZSAhZGVmYXVsdDtcbiR0YWJsZS1lbGVtZW50cyAgICA6IHRydWUgIWRlZmF1bHQ7XG4kZm9ybS1lbGVtZW50cyAgICAgOiB0cnVlICFkZWZhdWx0O1xuJGVtYmVkZGVkLWVsZW1lbnRzIDogdHJ1ZSAhZGVmYXVsdDtcbiR0ZXh0LWVsZW1lbnRzICAgICA6IHRydWUgIWRlZmF1bHQ7XG4kZGV2LWVsZW1lbnRzICAgICAgOiB0cnVlICFkZWZhdWx0O1xuXG5AaWYgJG5vcm1hbGlzZSB7XG5cblx0Ly8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09IC8vXG5cdC8vIEJhc2UgRWxlbWVudHNcblx0Ly8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09IC8vXG5cblx0QGlmICRiYXNlLWVsZW1lbnRzIHtcblxuXHRcdGh0bWwsIGJvZHksIGRpdiwgc3BhbiwgYXBwbGV0LCBvYmplY3QsIGlmcmFtZSwgaDEsIGgyLCBoMywgaDQsIGg1LCBoNiwgcCxcblx0XHRibG9ja3F1b3RlLCBwcmUsIGEsIGFiYnIsIGFjcm9ueW0sIGFkZHJlc3MsIGJpZywgY2l0ZSwgY29kZSwgZGVsLCBkZm4sIGVtLFxuXHRcdGltZywgaW5zLCBrYmQsIHEsIHMsIHNhbXAsIHNtYWxsLCBzdHJpa2UsIHN0cm9uZywgc3ViLCBzdXAsIHR0LCB2YXIsIGIsIHUsIGksXG5cdFx0Y2VudGVyLCBkbCwgZHQsIGRkLCBvbCwgdWwsIGxpLCBmaWVsZHNldCwgZm9ybSwgbGFiZWwsIGxlZ2VuZCwgdGFibGUsXG5cdFx0Y2FwdGlvbiwgdGJvZHksIHRmb290LCB0aGVhZCwgdHIsIHRoLCB0ZCwgYXJ0aWNsZSwgYXNpZGUsIGNhbnZhcywgZGV0YWlscyxcblx0XHRlbWJlZCwgZmlndXJlLCBmaWdjYXB0aW9uLCBmb290ZXIsIGhlYWRlciwgaGdyb3VwLCBtZW51LCBuYXYsIG91dHB1dCwgcnVieSxcblx0XHRzZWN0aW9uLCBzdW1tYXJ5LCB0aW1lLCBtYXJrLCBhdWRpbywgdmlkZW8ge1xuXHRcdFx0bWFyZ2luOiAwO1xuXHRcdFx0cGFkZGluZzogMDtcblx0XHRcdGJvcmRlcjogMDtcblx0XHRcdHZlcnRpY2FsLWFsaWduOiBiYXNlbGluZTtcblx0XHR9XG5cblx0XHQ6cm9vdCB7XG5cdFx0XHRib3gtc2l6aW5nOiBib3JkZXItYm94O1xuXHRcdFx0LXdlYmtpdC10ZXh0LXNpemUtYWRqdXN0OiAxMDAlO1xuXHRcdH1cblxuXHRcdCosICo6YWZ0ZXIsICo6YmVmb3JlIHtcblx0XHRcdCY6Zm9jdXMgeyBvdXRsaW5lOjA7IH07XG5cdFx0XHRib3gtc2l6aW5nOmluaGVyaXQ7XG5cdFx0fVxuXG5cdFx0aHRtbCB7IFxuXHRcdFx0aGVpZ2h0OjEwMCU7IFxuXHRcdFx0Zm9udC1zaXplOjYyLjUlOyBcblx0XHRcdGJsb2NrLXNpemU6IDEwMCU7XG5cdFx0XHRpbmxpbmUtc2l6ZTogMTAwJTtcblx0XHR9XG5cblx0XHRib2R5IHsgXG5cdFx0XHRtaW4tYmxvY2stc2l6ZTogMTAwJTtcblx0XHRcdG1pbi1pbmxpbmUtc2l6ZTogMTAwJTtcblx0XHR9XG5cblx0XHRodG1sLCBib2R5IHtcblx0XHRcdG1pbi1oZWlnaHQ6MTAwJTtcblx0XHR9XG5cblx0XHRwLCBwcmUsIGJsb2NrcXVvdGUsIG9sLCB1bCwgbGksIGxlZ2VuZCwgZmlnY2FwdGlvbiwgYm9keSwgYXJ0aWNsZSwgbmF2LCBhc2lkZSwgc2VjdGlvbiwgaGVhZGVyLCBmb290ZXIsIGFkZHJlc3Mge1xuXHRcdFx0JjplbXB0eSB7IGRpc3BsYXk6bm9uZTsgfVxuXHRcdH1cblxuXHRcdGFydGljbGUsIGFzaWRlLCBkZXRhaWxzLCBmaWdjYXB0aW9uLCBmaWd1cmUsIGZvb3RlciwgaGVhZGVyLCBtYWluLCBtZW51LCBuYXYsIHNlY3Rpb24sIHN1bW1hcnkge1xuXHRcdFx0ZGlzcGxheTogYmxvY2s7XG5cdFx0fVxuXG5cdFx0c3ZnLCBzeW1ib2wgeyBvdmVyZmxvdzp2aXNpYmxlOyB9XG5cblx0XHRkZXRhaWxzIHsgZGlzcGxheTogYmxvY2s7XHR9XG5cblx0XHRzdW1tYXJ5IHtcblx0XHRcdGRpc3BsYXk6IGxpc3QtaXRlbTtcblx0XHRcdC13ZWJraXQtYXBwZWFyYW5jZTpub25lO1xuXHRcdFx0Jjo6LXdlYmtpdC1kZXRhaWxzLW1hcmtlciwgJjo6bWFya2VyIHsgZGlzcGxheTpub25lOyB9XG5cdFx0fVxuXG5cdFx0dGVtcGxhdGUgeyBkaXNwbGF5OiBub25lO1x0fVxuXG5cdFx0W2hpZGRlbl0geyBkaXNwbGF5OiBub25lOyB9XG5cblx0fVxuXG5cdC8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAvL1xuXHQvLyBTZWN0aW9uIEVsZW1lbnRzXG5cdC8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAvL1xuXG5cdEBpZiAkc2VjdGlvbi1lbGVtZW50cyB7XG5cblx0XHRib2R5IHtcblx0XHRcdHRleHQtcmVuZGVyaW5nOiBvcHRpbWl6ZUxlZ2liaWxpdHk7XG5cdFx0XHQtd2Via2l0LWZvbnQtc21vb3RoaW5nOiBhbnRpYWxpYXNlZDtcblx0XHRcdHdpZHRoOjEwMCU7XG5cdFx0fVxuXG5cdFx0YWRkcmVzcyB7XG5cdFx0XHRmb250LXN0eWxlOm5vcm1hbDtcblx0XHR9XG5cblx0fVxuXG5cdC8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAvL1xuXHQvLyBIZWFkZXIgRWxlbWVudHNcblx0Ly8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09IC8vXG5cblx0QGlmICRoZWFkZXItZWxlbWVudHMge1xuXG5cdFx0aDEsIGgyLCBoMywgaDQsIGg1LCBoNiB7XG5cdFx0XHQtd2Via2l0LW1hcmdpbi1iZWZvcmU6MGVtO1xuXHRcdFx0LXdlYmtpdC1tYXJnaW4tYWZ0ZXI6MGVtO1xuXHRcdFx0LXdlYmtpdC1tYXJnaW4tc3RhcnQ6MHB4O1xuXHRcdFx0LXdlYmtpdC1tYXJnaW4tZW5kOjBweDtcblx0XHRcdGZvbnQtd2VpZ2h0OiBub3JtYWw7XG5cdFx0fVxuXG5cdH1cblxuXHQvLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gLy9cblx0Ly8gR3JvdXBpbmcgRWxlbWVudHNcblx0Ly8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09IC8vXG5cblx0QGlmICRncm91cGluZy1lbGVtZW50cyB7XG5cblx0XHRociB7XG5cdFx0XHRib3JkZXI6bm9uZTtcblx0XHRcdGhlaWdodDoxcHg7XG5cdFx0XHRib3gtc2l6aW5nOiBjb250ZW50LWJveDtcblx0XHRcdG92ZXJmbG93OiB2aXNpYmxlO1xuXHRcdH1cblxuXHRcdGJsb2NrcXVvdGUsIHEge1xuXHRcdFx0cXVvdGVzOiBub25lO1xuXHRcdFx0JjpiZWZvcmUsICY6YWZ0ZXIge1xuXHRcdFx0XHRjb250ZW50OiAnJztcblx0XHRcdFx0Y29udGVudDogbm9uZTtcblx0XHRcdH1cblx0XHR9XG5cblx0XHRwcmUge1xuXHRcdFx0Zm9udC1mYW1pbHk6IG1vbm9zcGFjZSwgbW9ub3NwYWNlO1xuXHRcdFx0Zm9udC1zaXplOiAxZW07XG5cdFx0XHRiYWNrZ3JvdW5kLWNvbG9yOiB3aGl0ZTtcblx0XHRcdGNvbG9yOiBibGFjaztcblx0XHRcdHBhZGRpbmc6MTZweDtcblx0XHRcdHBvc2l0aW9uOnJlbGF0aXZlO1xuXHRcdFx0ei1pbmRleDo5OTk5O1xuXHRcdH1cblxuXHR9XG5cblx0Ly8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09IC8vXG5cdC8vIFRhYmxlIEVsZW1lbnRzXG5cdC8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAvL1xuXG5cdEBpZiAkdGFibGUtZWxlbWVudHMge1xuXG5cdFx0dGFibGUge1xuXHRcdFx0Ym9yZGVyLWNvbGxhcHNlOiBjb2xsYXBzZTtcblx0XHRcdGJvcmRlci1zcGFjaW5nOiAwO1xuXHRcdH1cblxuXHR9XG5cblx0Ly8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09IC8vXG5cdC8vIEZvcm0gRWxlbWVudHNcblx0Ly8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09IC8vXG5cblx0QGlmICRmb3JtLWVsZW1lbnRzIHtcblxuXHRcdGJ1dHRvbiB7XG5cdFx0XHR0b3VjaC1hY3Rpb246IG1hbmlwdWxhdGlvbjtcblx0XHR9XG5cblx0XHRidXR0b24sXHRpbnB1dCwgb3B0Z3JvdXAsXHRzZWxlY3QsXHR0ZXh0YXJlYSB7XG5cdFx0XHRmb250LWZhbWlseTogaW5oZXJpdDtcblx0XHRcdGZvbnQtc2l6ZTogMTAwJTtcblx0XHRcdGxpbmUtaGVpZ2h0OiAxLjE1O1xuXHRcdFx0bWFyZ2luOiAwO1xuXHRcdH1cblxuXHRcdGJ1dHRvbixcdGlucHV0IHtcblx0XHRcdG92ZXJmbG93OiB2aXNpYmxlO1xuXHRcdH1cblxuXHRcdGJ1dHRvbixcdHNlbGVjdCB7XG5cdFx0XHR0ZXh0LXRyYW5zZm9ybTogbm9uZTtcblx0XHR9XG5cblx0XHRidXR0b24sXG5cdFx0W3R5cGU9XCJidXR0b25cIl0sXG5cdFx0W3R5cGU9XCJyZXNldFwiXSxcblx0XHRbdHlwZT1cInN1Ym1pdFwiXSB7XG5cdFx0XHQtd2Via2l0LWFwcGVhcmFuY2U6IGJ1dHRvbjtcblx0XHRcdGJhY2tncm91bmQ6bm9uZTtcblx0XHRcdGJvcmRlcjpub25lO1xuXHRcdFx0cGFkZGluZzowO1xuXHRcdFx0bWFyZ2luOjA7XG5cdFx0XHRjdXJzb3I6cG9pbnRlcjtcblx0XHRcdCY6Zm9jdXMgeyBvdXRsaW5lOjA7IH1cblx0XHR9XG5cblx0XHRidXR0b246Oi1tb3otZm9jdXMtaW5uZXIsXG5cdFx0W3R5cGU9XCJidXR0b25cIl06Oi1tb3otZm9jdXMtaW5uZXIsXG5cdFx0W3R5cGU9XCJyZXNldFwiXTo6LW1vei1mb2N1cy1pbm5lcixcblx0XHRbdHlwZT1cInN1Ym1pdFwiXTo6LW1vei1mb2N1cy1pbm5lciB7XG5cdFx0XHRib3JkZXItc3R5bGU6IG5vbmU7XG5cdFx0XHRwYWRkaW5nOiAwO1xuXHRcdH1cblxuXHRcdGJ1dHRvbjotbW96LWZvY3VzcmluZyxcblx0XHRbdHlwZT1cImJ1dHRvblwiXTotbW96LWZvY3VzcmluZyxcblx0XHRbdHlwZT1cInJlc2V0XCJdOi1tb3otZm9jdXNyaW5nLFxuXHRcdFt0eXBlPVwic3VibWl0XCJdOi1tb3otZm9jdXNyaW5nIHtcblx0XHRcdG91dGxpbmU6IDFweCBkb3R0ZWQgQnV0dG9uVGV4dDtcblx0XHR9XG5cblx0XHRmaWVsZHNldCB7XG5cdFx0XHRwYWRkaW5nOiAwLjM1ZW0gMC43NWVtIDAuNjI1ZW07XG5cdFx0fVxuXG5cdFx0bGVnZW5kIHtcblx0XHRcdGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG5cdFx0XHRjb2xvcjogaW5oZXJpdDtcblx0XHRcdGRpc3BsYXk6IHRhYmxlO1xuXHRcdFx0bWF4LXdpZHRoOiAxMDAlO1xuXHRcdFx0cGFkZGluZzogMDtcblx0XHRcdHdoaXRlLXNwYWNlOiBub3JtYWw7XG5cdFx0fVxuXG5cdFx0cHJvZ3Jlc3Mge1xuXHRcdFx0dmVydGljYWwtYWxpZ246IGJhc2VsaW5lO1xuXHRcdH1cblxuXHRcdFt0eXBlPVwiY2hlY2tib3hcIl0sXG5cdFx0W3R5cGU9XCJyYWRpb1wiXSB7XG5cdFx0XHRib3gtc2l6aW5nOiBib3JkZXItYm94O1xuXHRcdFx0cGFkZGluZzogMDtcblx0XHR9XG5cblx0XHRbdHlwZT1cIm51bWJlclwiXTo6LXdlYmtpdC1pbm5lci1zcGluLWJ1dHRvbixcblx0XHRbdHlwZT1cIm51bWJlclwiXTo6LXdlYmtpdC1vdXRlci1zcGluLWJ1dHRvbiB7XG5cdFx0XHRoZWlnaHQ6IGF1dG87XG5cdFx0fVxuXG5cdFx0W3R5cGU9XCJzZWFyY2hcIl0ge1xuXHRcdFx0LXdlYmtpdC1hcHBlYXJhbmNlOiB0ZXh0ZmllbGQ7XG5cdFx0XHRvdXRsaW5lLW9mZnNldDogLTJweDtcblx0XHR9XG5cblx0XHRbdHlwZT1cInNlYXJjaFwiXTo6LXdlYmtpdC1zZWFyY2gtZGVjb3JhdGlvbiB7XG5cdFx0XHQtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7XG5cdFx0fVxuXHRcdDo6LXdlYmtpdC1maWxlLXVwbG9hZC1idXR0b24ge1xuXHRcdFx0LXdlYmtpdC1hcHBlYXJhbmNlOiBidXR0b247XG5cdFx0XHRmb250OiBpbmhlcml0O1xuXHRcdH1cblxuXHRcdFtkaXNhYmxlZF0ge1xuXHRcdFx0Y3Vyc29yOiBkZWZhdWx0O1xuXHRcdH1cblxuXHR9XG5cblx0Ly8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09IC8vXG5cdC8vIEVtYmVkZGVkIEVsZW1lbnRzXG5cdC8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAvL1xuXG5cdEBpZiAkZW1iZWRkZWQtZWxlbWVudHMge1xuXG5cdFx0aW1nIHtcblx0XHRcdGJvcmRlci1zdHlsZTogbm9uZTtcblx0XHR9XG5cblx0fVxuXG5cdC8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAvL1xuXHQvLyBUZXh0IEVsZW1lbnRzXG5cdC8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAvL1xuXG5cdEBpZiAkdGV4dC1lbGVtZW50cyB7XG5cblx0XHRlbSB7XG5cdFx0XHRmb250LXN0eWxlOml0YWxpYztcblx0XHR9XG5cblx0XHRhIHtcblx0XHRcdGJhY2tncm91bmQtY29sb3I6dHJhbnNwYXJlbnQ7XG5cdFx0XHR0ZXh0LWRlY29yYXRpb246bm9uZTtcblx0XHRcdHRvdWNoLWFjdGlvbjogbWFuaXB1bGF0aW9uO1xuXHRcdH1cblxuXHRcdGFiYnJbdGl0bGVdIHtcblx0XHRcdGJvcmRlci1ib3R0b206IG5vbmU7XG5cdFx0XHR0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcblx0XHRcdHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lIGRvdHRlZDtcblx0XHR9XG5cblx0XHRiLCBzdHJvbmcge1xuXHRcdFx0Zm9udC13ZWlnaHQ6IGJvbGQ7XG5cdFx0fVxuXG5cdFx0Y29kZSxcdGtiZCwgc2FtcCB7XG5cdFx0XHRmb250LWZhbWlseTogbW9ub3NwYWNlLCBtb25vc3BhY2U7XG5cdFx0XHRmb250LXNpemU6IDFlbTtcblx0XHR9XG5cblx0XHRzbWFsbCB7XG5cdFx0XHRmb250LXNpemU6IDgwJTtcblx0XHR9XG5cblx0XHRzdWIsIHN1cCB7XG5cdFx0XHRmb250LXNpemU6IDc1JTtcblx0XHRcdGxpbmUtaGVpZ2h0OiAwO1xuXHRcdFx0cG9zaXRpb246IHJlbGF0aXZlO1xuXHRcdFx0dmVydGljYWwtYWxpZ246IGJhc2VsaW5lO1xuXHRcdH1cblxuXHRcdHN1YiB7XG5cdFx0XHRib3R0b206IC0wLjI1ZW07XG5cdFx0fVxuXG5cdFx0c3VwIHtcblx0XHRcdHRvcDogLTAuNWVtO1xuXHRcdH1cblxuXHRcdHRleHRhcmVhIHtcblx0XHRcdHJlc2l6ZTpub25lO1xuXHRcdFx0b3ZlcmZsb3c6IGF1dG87XG5cdFx0fVxuXG5cdH1cblxuXHQvLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gLy9cblx0Ly8gRGV2ZWxvcG1lbnQgRWxlbWVudHNcblx0Ly8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09IC8vXG5cblx0QGlmICRkZXYtZWxlbWVudHMge1xuXG5cdFx0cHJlIHtcblx0XHRcdGJhY2tncm91bmQtY29sb3I6d2hpdGU7XG5cdFx0XHRjb2xvcjpibGFjaztcblx0XHRcdHRleHQtdHJhbnNmb3JtOm5vbmU7XG5cdFx0XHR0ZXh0LWRlY29yYXRpb246bm9uZTtcblx0XHRcdHRleHQtYWxpZ246bGVmdDtcblx0XHRcdGRpc3BsYXk6YmxvY2s7XG5cdFx0XHRmb250LXNpemU6MTZweDtcblx0XHRcdHBhZGRpbmc6MTZweDtcblx0XHRcdHBvc2l0aW9uOnJlbGF0aXZlO1xuXHRcdFx0ei1pbmRleDo5OTk7XG5cdFx0fVxuXHRcdFxuXHRcdGJvZHkuZGV2bW9kZSB7XG5cdFx0XHRpbWc6bm90KFthbHRdKSB7XG5cdFx0XHRcdGJvcmRlcjogMnB4IHJlZCBkYXNoZWQ7XG5cdFx0XHR9XG5cdFx0fVxuXG5cdH1cbn1cbiIsImh0bWwsIGJvZHksIGRpdiwgc3BhbiwgYXBwbGV0LCBvYmplY3QsIGlmcmFtZSwgaDEsIGgyLCBoMywgaDQsIGg1LCBoNiwgcCxcbmJsb2NrcXVvdGUsIHByZSwgYSwgYWJiciwgYWNyb255bSwgYWRkcmVzcywgYmlnLCBjaXRlLCBjb2RlLCBkZWwsIGRmbiwgZW0sXG5pbWcsIGlucywga2JkLCBxLCBzLCBzYW1wLCBzbWFsbCwgc3RyaWtlLCBzdHJvbmcsIHN1Yiwgc3VwLCB0dCwgdmFyLCBiLCB1LCBpLFxuY2VudGVyLCBkbCwgZHQsIGRkLCBvbCwgdWwsIGxpLCBmaWVsZHNldCwgZm9ybSwgbGFiZWwsIGxlZ2VuZCwgdGFibGUsXG5jYXB0aW9uLCB0Ym9keSwgdGZvb3QsIHRoZWFkLCB0ciwgdGgsIHRkLCBhcnRpY2xlLCBhc2lkZSwgY2FudmFzLCBkZXRhaWxzLFxuZW1iZWQsIGZpZ3VyZSwgZmlnY2FwdGlvbiwgZm9vdGVyLCBoZWFkZXIsIGhncm91cCwgbWVudSwgbmF2LCBvdXRwdXQsIHJ1YnksXG5zZWN0aW9uLCBzdW1tYXJ5LCB0aW1lLCBtYXJrLCBhdWRpbywgdmlkZW8ge1xuICBtYXJnaW46IDA7XG4gIHBhZGRpbmc6IDA7XG4gIGJvcmRlcjogMDtcbiAgdmVydGljYWwtYWxpZ246IGJhc2VsaW5lO1xufVxuXG46cm9vdCB7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gIC13ZWJraXQtdGV4dC1zaXplLWFkanVzdDogMTAwJTtcbn1cblxuKiwgKjphZnRlciwgKjpiZWZvcmUge1xuICBib3gtc2l6aW5nOiBpbmhlcml0O1xufVxuKjpmb2N1cywgKjphZnRlcjpmb2N1cywgKjpiZWZvcmU6Zm9jdXMge1xuICBvdXRsaW5lOiAwO1xufVxuXG5odG1sIHtcbiAgaGVpZ2h0OiAxMDAlO1xuICBmb250LXNpemU6IDYyLjUlO1xuICBibG9jay1zaXplOiAxMDAlO1xuICBpbmxpbmUtc2l6ZTogMTAwJTtcbn1cblxuYm9keSB7XG4gIG1pbi1ibG9jay1zaXplOiAxMDAlO1xuICBtaW4taW5saW5lLXNpemU6IDEwMCU7XG59XG5cbmh0bWwsIGJvZHkge1xuICBtaW4taGVpZ2h0OiAxMDAlO1xufVxuXG5wOmVtcHR5LCBwcmU6ZW1wdHksIGJsb2NrcXVvdGU6ZW1wdHksIG9sOmVtcHR5LCB1bDplbXB0eSwgbGk6ZW1wdHksIGxlZ2VuZDplbXB0eSwgZmlnY2FwdGlvbjplbXB0eSwgYm9keTplbXB0eSwgYXJ0aWNsZTplbXB0eSwgbmF2OmVtcHR5LCBhc2lkZTplbXB0eSwgc2VjdGlvbjplbXB0eSwgaGVhZGVyOmVtcHR5LCBmb290ZXI6ZW1wdHksIGFkZHJlc3M6ZW1wdHkge1xuICBkaXNwbGF5OiBub25lO1xufVxuXG5hcnRpY2xlLCBhc2lkZSwgZGV0YWlscywgZmlnY2FwdGlvbiwgZmlndXJlLCBmb290ZXIsIGhlYWRlciwgbWFpbiwgbWVudSwgbmF2LCBzZWN0aW9uLCBzdW1tYXJ5IHtcbiAgZGlzcGxheTogYmxvY2s7XG59XG5cbnN2Zywgc3ltYm9sIHtcbiAgb3ZlcmZsb3c6IHZpc2libGU7XG59XG5cbmRldGFpbHMge1xuICBkaXNwbGF5OiBibG9jaztcbn1cblxuc3VtbWFyeSB7XG4gIGRpc3BsYXk6IGxpc3QtaXRlbTtcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lO1xufVxuc3VtbWFyeTo6LXdlYmtpdC1kZXRhaWxzLW1hcmtlciwgc3VtbWFyeTo6bWFya2VyIHtcbiAgZGlzcGxheTogbm9uZTtcbn1cblxudGVtcGxhdGUge1xuICBkaXNwbGF5OiBub25lO1xufVxuXG5baGlkZGVuXSB7XG4gIGRpc3BsYXk6IG5vbmU7XG59XG5cbmJvZHkge1xuICB0ZXh0LXJlbmRlcmluZzogb3B0aW1pemVMZWdpYmlsaXR5O1xuICAtd2Via2l0LWZvbnQtc21vb3RoaW5nOiBhbnRpYWxpYXNlZDtcbiAgd2lkdGg6IDEwMCU7XG59XG5cbmFkZHJlc3Mge1xuICBmb250LXN0eWxlOiBub3JtYWw7XG59XG5cbmgxLCBoMiwgaDMsIGg0LCBoNSwgaDYge1xuICAtd2Via2l0LW1hcmdpbi1iZWZvcmU6IDBlbTtcbiAgLXdlYmtpdC1tYXJnaW4tYWZ0ZXI6IDBlbTtcbiAgLXdlYmtpdC1tYXJnaW4tc3RhcnQ6IDBweDtcbiAgLXdlYmtpdC1tYXJnaW4tZW5kOiAwcHg7XG4gIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG59XG5cbmhyIHtcbiAgYm9yZGVyOiBub25lO1xuICBoZWlnaHQ6IDFweDtcbiAgYm94LXNpemluZzogY29udGVudC1ib3g7XG4gIG92ZXJmbG93OiB2aXNpYmxlO1xufVxuXG5ibG9ja3F1b3RlLCBxIHtcbiAgcXVvdGVzOiBub25lO1xufVxuYmxvY2txdW90ZTpiZWZvcmUsIGJsb2NrcXVvdGU6YWZ0ZXIsIHE6YmVmb3JlLCBxOmFmdGVyIHtcbiAgY29udGVudDogXCJcIjtcbiAgY29udGVudDogbm9uZTtcbn1cblxucHJlIHtcbiAgZm9udC1mYW1pbHk6IG1vbm9zcGFjZSwgbW9ub3NwYWNlO1xuICBmb250LXNpemU6IDFlbTtcbiAgYmFja2dyb3VuZC1jb2xvcjogd2hpdGU7XG4gIGNvbG9yOiBibGFjaztcbiAgcGFkZGluZzogMTZweDtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB6LWluZGV4OiA5OTk5O1xufVxuXG50YWJsZSB7XG4gIGJvcmRlci1jb2xsYXBzZTogY29sbGFwc2U7XG4gIGJvcmRlci1zcGFjaW5nOiAwO1xufVxuXG5idXR0b24ge1xuICB0b3VjaC1hY3Rpb246IG1hbmlwdWxhdGlvbjtcbn1cblxuYnV0dG9uLCBpbnB1dCwgb3B0Z3JvdXAsIHNlbGVjdCwgdGV4dGFyZWEge1xuICBmb250LWZhbWlseTogaW5oZXJpdDtcbiAgZm9udC1zaXplOiAxMDAlO1xuICBsaW5lLWhlaWdodDogMS4xNTtcbiAgbWFyZ2luOiAwO1xufVxuXG5idXR0b24sIGlucHV0IHtcbiAgb3ZlcmZsb3c6IHZpc2libGU7XG59XG5cbmJ1dHRvbiwgc2VsZWN0IHtcbiAgdGV4dC10cmFuc2Zvcm06IG5vbmU7XG59XG5cbmJ1dHRvbixcblt0eXBlPWJ1dHRvbl0sXG5bdHlwZT1yZXNldF0sXG5bdHlwZT1zdWJtaXRdIHtcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiBidXR0b247XG4gIGJhY2tncm91bmQ6IG5vbmU7XG4gIGJvcmRlcjogbm9uZTtcbiAgcGFkZGluZzogMDtcbiAgbWFyZ2luOiAwO1xuICBjdXJzb3I6IHBvaW50ZXI7XG59XG5idXR0b246Zm9jdXMsXG5bdHlwZT1idXR0b25dOmZvY3VzLFxuW3R5cGU9cmVzZXRdOmZvY3VzLFxuW3R5cGU9c3VibWl0XTpmb2N1cyB7XG4gIG91dGxpbmU6IDA7XG59XG5cbmJ1dHRvbjo6LW1vei1mb2N1cy1pbm5lcixcblt0eXBlPWJ1dHRvbl06Oi1tb3otZm9jdXMtaW5uZXIsXG5bdHlwZT1yZXNldF06Oi1tb3otZm9jdXMtaW5uZXIsXG5bdHlwZT1zdWJtaXRdOjotbW96LWZvY3VzLWlubmVyIHtcbiAgYm9yZGVyLXN0eWxlOiBub25lO1xuICBwYWRkaW5nOiAwO1xufVxuXG5idXR0b246LW1vei1mb2N1c3JpbmcsXG5bdHlwZT1idXR0b25dOi1tb3otZm9jdXNyaW5nLFxuW3R5cGU9cmVzZXRdOi1tb3otZm9jdXNyaW5nLFxuW3R5cGU9c3VibWl0XTotbW96LWZvY3VzcmluZyB7XG4gIG91dGxpbmU6IDFweCBkb3R0ZWQgQnV0dG9uVGV4dDtcbn1cblxuZmllbGRzZXQge1xuICBwYWRkaW5nOiAwLjM1ZW0gMC43NWVtIDAuNjI1ZW07XG59XG5cbmxlZ2VuZCB7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gIGNvbG9yOiBpbmhlcml0O1xuICBkaXNwbGF5OiB0YWJsZTtcbiAgbWF4LXdpZHRoOiAxMDAlO1xuICBwYWRkaW5nOiAwO1xuICB3aGl0ZS1zcGFjZTogbm9ybWFsO1xufVxuXG5wcm9ncmVzcyB7XG4gIHZlcnRpY2FsLWFsaWduOiBiYXNlbGluZTtcbn1cblxuW3R5cGU9Y2hlY2tib3hdLFxuW3R5cGU9cmFkaW9dIHtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgcGFkZGluZzogMDtcbn1cblxuW3R5cGU9bnVtYmVyXTo6LXdlYmtpdC1pbm5lci1zcGluLWJ1dHRvbixcblt0eXBlPW51bWJlcl06Oi13ZWJraXQtb3V0ZXItc3Bpbi1idXR0b24ge1xuICBoZWlnaHQ6IGF1dG87XG59XG5cblt0eXBlPXNlYXJjaF0ge1xuICAtd2Via2l0LWFwcGVhcmFuY2U6IHRleHRmaWVsZDtcbiAgb3V0bGluZS1vZmZzZXQ6IC0ycHg7XG59XG5cblt0eXBlPXNlYXJjaF06Oi13ZWJraXQtc2VhcmNoLWRlY29yYXRpb24ge1xuICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7XG59XG5cbjo6LXdlYmtpdC1maWxlLXVwbG9hZC1idXR0b24ge1xuICAtd2Via2l0LWFwcGVhcmFuY2U6IGJ1dHRvbjtcbiAgZm9udDogaW5oZXJpdDtcbn1cblxuW2Rpc2FibGVkXSB7XG4gIGN1cnNvcjogZGVmYXVsdDtcbn1cblxuaW1nIHtcbiAgYm9yZGVyLXN0eWxlOiBub25lO1xufVxuXG5lbSB7XG4gIGZvbnQtc3R5bGU6IGl0YWxpYztcbn1cblxuYSB7XG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gIHRvdWNoLWFjdGlvbjogbWFuaXB1bGF0aW9uO1xufVxuXG5hYmJyW3RpdGxlXSB7XG4gIGJvcmRlci1ib3R0b206IG5vbmU7XG4gIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xuICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZSBkb3R0ZWQ7XG59XG5cbmIsIHN0cm9uZyB7XG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xufVxuXG5jb2RlLCBrYmQsIHNhbXAge1xuICBmb250LWZhbWlseTogbW9ub3NwYWNlLCBtb25vc3BhY2U7XG4gIGZvbnQtc2l6ZTogMWVtO1xufVxuXG5zbWFsbCB7XG4gIGZvbnQtc2l6ZTogODAlO1xufVxuXG5zdWIsIHN1cCB7XG4gIGZvbnQtc2l6ZTogNzUlO1xuICBsaW5lLWhlaWdodDogMDtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB2ZXJ0aWNhbC1hbGlnbjogYmFzZWxpbmU7XG59XG5cbnN1YiB7XG4gIGJvdHRvbTogLTAuMjVlbTtcbn1cblxuc3VwIHtcbiAgdG9wOiAtMC41ZW07XG59XG5cbnRleHRhcmVhIHtcbiAgcmVzaXplOiBub25lO1xuICBvdmVyZmxvdzogYXV0bztcbn1cblxucHJlIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogd2hpdGU7XG4gIGNvbG9yOiBibGFjaztcbiAgdGV4dC10cmFuc2Zvcm06IG5vbmU7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgdGV4dC1hbGlnbjogbGVmdDtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGZvbnQtc2l6ZTogMTZweDtcbiAgcGFkZGluZzogMTZweDtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB6LWluZGV4OiA5OTk7XG59XG5cbmJvZHkuZGV2bW9kZSBpbWc6bm90KFthbHRdKSB7XG4gIGJvcmRlcjogMnB4IHJlZCBkYXNoZWQ7XG59XG5cbi8qIHotaW5kZXhlcyBhcmUgbGFyZ2UgZHVlIHRvIHRoZSBmYWN0IHRoYXQgdGhpbmdzIG1pZ2h0IGNoYW5nZVxuICogaW4gdGhlIGZ1dHVyZS4gSW4gb3JkZXIgdG8gYWNjb3VudCBmb3Igc2NhbGFiaWxpdHksIHRoaXMgZ2l2ZXNcbiAqIHJvb20gdG8gbWFrZSBjaGFuZ2VzIGFuZCBub3QgYnJlYWsgdGhlIGVudGlyZSBzaXRlLCBtZWFuaW5nIFxuICogd2Ugd29uJ3QgaGF2ZSB0byBnbyBpbiBhbmQgcmVmYWN0b3IgYSBsb3Qgb2Ygb3VyIGNvZGUuXG4gKi9cbi8qICAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgSU5QVVRTXG4gIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIENPTlRBSU5FUlNcbiAgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cblx0QmFzZSByZXN1bHQgc3R5bGVzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuXHRWYXJpYXRpb25zXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgQmFzZSBzdHlsaW5nXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgV2l0aCBzZWNvbmRhcnkgc2VjdGlvblxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gIENoZWNrYm94IHRhZ3Ncbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICBTdGF0ZXNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG5AZm9udC1mYWNlIHtcbiAgZm9udC1mYW1pbHk6IFwibGF0b1wiO1xuICBzcmM6IHVybChcIi4uLy4uLy4uL2Fzc2V0cy9mb250cy9sYXRvLWJvbGQud29mZjJcIikgZm9ybWF0KFwid29mZjJcIiksIHVybChcIi4uLy4uLy4uL2Fzc2V0cy9mb250cy9sYXRvLWJvbGQud29mZlwiKSBmb3JtYXQoXCJ3b2ZmXCIpLCB1cmwoXCIuLi8uLi8uLi9hc3NldHMvZm9udHMvbGF0by1ib2xkLm90ZlwiKSBmb3JtYXQoXCJvcGVudHlwZVwiKTtcbiAgZm9udC1kaXNwbGF5OiBzd2FwO1xuICBmb250LXN0eWxlOiBub3JtYWw7XG4gIGZvbnQtd2VpZ2h0OiA3MDA7XG59XG5AZm9udC1mYWNlIHtcbiAgZm9udC1mYW1pbHk6IFwibGF0b1wiO1xuICBzcmM6IHVybChcIi4uLy4uLy4uL2Fzc2V0cy9mb250cy9sYXRvLXNlbWlib2xkLndvZmYyXCIpIGZvcm1hdChcIndvZmYyXCIpLCB1cmwoXCIuLi8uLi8uLi9hc3NldHMvZm9udHMvbGF0by1zZW1pYm9sZC53b2ZmXCIpIGZvcm1hdChcIndvZmZcIiksIHVybChcIi4uLy4uLy4uL2Fzc2V0cy9mb250cy9sYXRvLXNlbWlib2xkLm90ZlwiKSBmb3JtYXQoXCJvcGVudHlwZVwiKTtcbiAgZm9udC1kaXNwbGF5OiBzd2FwO1xuICBmb250LXN0eWxlOiBub3JtYWw7XG4gIGZvbnQtd2VpZ2h0OiA2MDA7XG59XG5AZm9udC1mYWNlIHtcbiAgZm9udC1mYW1pbHk6IFwibGF0b1wiO1xuICBzcmM6IHVybChcIi4uLy4uLy4uL2Fzc2V0cy9mb250cy9sYXRvLXJlZ3VsYXIud29mZjJcIikgZm9ybWF0KFwid29mZjJcIiksIHVybChcIi4uLy4uLy4uL2Fzc2V0cy9mb250cy9sYXRvLXJlZ3VsYXIud29mZlwiKSBmb3JtYXQoXCJ3b2ZmXCIpLCB1cmwoXCIuLi8uLi8uLi9hc3NldHMvZm9udHMvbGF0by1yZWd1bGFyLm90ZlwiKSBmb3JtYXQoXCJvcGVudHlwZVwiKTtcbiAgZm9udC1kaXNwbGF5OiBzd2FwO1xuICBmb250LXN0eWxlOiBub3JtYWw7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7XG59XG5AZm9udC1mYWNlIHtcbiAgZm9udC1mYW1pbHk6IFwibW9udHNlcnJhdFwiO1xuICBzcmM6IHVybChcIi4uLy4uLy4uL2Fzc2V0cy9mb250cy9tb250c2VycmF0LW1lZGl1bS53b2ZmMlwiKSBmb3JtYXQoXCJ3b2ZmMlwiKSwgdXJsKFwiLi4vLi4vLi4vYXNzZXRzL2ZvbnRzL21vbnRzZXJyYXQtbWVkaXVtLndvZmZcIikgZm9ybWF0KFwid29mZlwiKSwgdXJsKFwiLi4vLi4vLi4vYXNzZXRzL2ZvbnRzL21vbnRzZXJyYXQtbWVkaXVtLm90ZlwiKSBmb3JtYXQoXCJvcGVudHlwZVwiKTtcbiAgZm9udC1kaXNwbGF5OiBzd2FwO1xuICBmb250LXN0eWxlOiBub3JtYWw7XG4gIGZvbnQtd2VpZ2h0OiA1MDA7XG59XG5AZm9udC1mYWNlIHtcbiAgZm9udC1mYW1pbHk6IFwibW9udHNlcnJhdFwiO1xuICBzcmM6IHVybChcIi4uLy4uLy4uL2Fzc2V0cy9mb250cy9tb250c2VycmF0LW1lZGl1bS1pdGFsaWMud29mZjJcIikgZm9ybWF0KFwid29mZjJcIiksIHVybChcIi4uLy4uLy4uL2Fzc2V0cy9mb250cy9tb250c2VycmF0LW1lZGl1bS1pdGFsaWMud29mZlwiKSBmb3JtYXQoXCJ3b2ZmXCIpLCB1cmwoXCIuLi8uLi8uLi9hc3NldHMvZm9udHMvbW9udHNlcnJhdC1tZWRpdW0taXRhbGljLm90ZlwiKSBmb3JtYXQoXCJvcGVudHlwZVwiKTtcbiAgZm9udC1kaXNwbGF5OiBzd2FwO1xuICBmb250LXN0eWxlOiBpdGFsaWM7XG4gIGZvbnQtd2VpZ2h0OiA1MDA7XG59XG5AZm9udC1mYWNlIHtcbiAgZm9udC1mYW1pbHk6IFwibW9udHNlcnJhdFwiO1xuICBzcmM6IHVybChcIi4uLy4uLy4uL2Fzc2V0cy9mb250cy9tb250c2VycmF0LXNlbWlib2xkLndvZmYyXCIpIGZvcm1hdChcIndvZmYyXCIpLCB1cmwoXCIuLi8uLi8uLi9hc3NldHMvZm9udHMvbW9udHNlcnJhdC1zZW1pYm9sZC53b2ZmXCIpIGZvcm1hdChcIndvZmZcIiksIHVybChcIi4uLy4uLy4uL2Fzc2V0cy9mb250cy9tb250c2VycmF0LXNlbWlib2xkLm90ZlwiKSBmb3JtYXQoXCJvcGVudHlwZVwiKTtcbiAgZm9udC1kaXNwbGF5OiBzd2FwO1xuICBmb250LXN0eWxlOiBub3JtYWw7XG4gIGZvbnQtd2VpZ2h0OiA2MDA7XG59XG5AZm9udC1mYWNlIHtcbiAgZm9udC1mYW1pbHk6IFwibW9udHNlcnJhdFwiO1xuICBzcmM6IHVybChcIi4uLy4uLy4uL2Fzc2V0cy9mb250cy9tb250c2VycmF0LXJlZ3VsYXIud29mZjJcIikgZm9ybWF0KFwid29mZjJcIiksIHVybChcIi4uLy4uLy4uL2Fzc2V0cy9mb250cy9tb250c2VycmF0LXJlZ3VsYXIud29mZlwiKSBmb3JtYXQoXCJ3b2ZmXCIpLCB1cmwoXCIuLi8uLi8uLi9hc3NldHMvZm9udHMvbW9udHNlcnJhdC1yZWd1bGFyLm90ZlwiKSBmb3JtYXQoXCJvcGVudHlwZVwiKTtcbiAgZm9udC1kaXNwbGF5OiBzd2FwO1xuICBmb250LXN0eWxlOiBub3JtYWw7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7XG59XG5AZm9udC1mYWNlIHtcbiAgZm9udC1mYW1pbHk6IFwibW9udHNlcnJhdFwiO1xuICBzcmM6IHVybChcIi4uLy4uLy4uL2Fzc2V0cy9mb250cy9tb250c2VycmF0LWV4dHJhYm9sZC53b2ZmMlwiKSBmb3JtYXQoXCJ3b2ZmMlwiKSwgdXJsKFwiLi4vLi4vLi4vYXNzZXRzL2ZvbnRzL21vbnRzZXJyYXQtZXh0cmFib2xkLndvZmZcIikgZm9ybWF0KFwid29mZlwiKSwgdXJsKFwiLi4vLi4vLi4vYXNzZXRzL2ZvbnRzL21vbnRzZXJyYXQtZXh0cmFib2xkLm90ZlwiKSBmb3JtYXQoXCJvcGVudHlwZVwiKTtcbiAgZm9udC1kaXNwbGF5OiBzd2FwO1xuICBmb250LXN0eWxlOiBub3JtYWw7XG4gIGZvbnQtd2VpZ2h0OiA4MDA7XG59XG46cm9vdCB7XG4gIC0tcHJpbWFyeTogI0ZGRkZGRjtcbiAgLS1zZWNvbmRhcnk6ICMxMzFmNmI7XG4gIC0tYnJlYWtwb2ludC1taW46IDMyMHB4O1xuICAtLWJyZWFrcG9pbnQtc21hbGw6IDQ4MHB4O1xuICAtLWJyZWFrcG9pbnQtc21hbGwtbWVkaXVtOiA5ODBweDtcbiAgLS1icmVha3BvaW50LW1lZGl1bTogMTEyMHB4O1xuICAtLWJyZWFrcG9pbnQtbGFyZ2U6IDE0MDBweDtcbiAgLS1icmVha3BvaW50LW1heDogMTY4MHB4O1xuICAtLWZvbnQtY29sb3VyOiB2YXIoLS10aGVtZS1mb250LCAjNkE2QTZBKTtcbiAgLS1oZWFkaW5nLWNvbG91cjogdmFyKC0tdGhlbWUtaGVhZGluZywgI0ZGRkZGRik7XG4gIC0tc3ViLWhlYWRpbmctY29sb3VyOiB2YXIoLS1zZWNvbmRhcnksICMxMzFmNmIpO1xuICAtLXRyYW5zaXRpb24tZHVyYXRpb246IDAuMnM7XG4gIC0tdHJhbnNpdGlvbi1lYXNlOiBjdWJpYy1iZXppZXIoMC40MiwgMCwgMC41OCwgMSk7XG4gIC0tdHJhbnNpdGlvbi1kZWxheTogO1xuICAtLWdhcDogMTZweDtcbiAgLS1ndXR0ZXI6IDN2dztcbiAgLS1zcGFjZXI6IDR2aDtcbiAgLS1ndXR0ZXIwOiBjbGFtcCg4cHgsIHZhcigtLWd1dHRlcikgKiAwLjUsIDEycHgpO1xuICAtLWd1dHRlcjAtOiBjYWxjKC0xICogY2xhbXAoOHB4LCB2YXIoLS1ndXR0ZXIpICogMC41LCAxMnB4KSk7XG4gIC0tc3BhY2VyMDogY2xhbXAoMTZweCwgdmFyKC0tc3BhY2VyKSwgMzJweCk7XG4gIC0tc3BhY2VyMC06IGNhbGMoLTEgKiBjbGFtcCgxNnB4LCB2YXIoLS1zcGFjZXIpLCAzMnB4KSk7XG4gIC0tZ3V0dGVyMTogY2xhbXAoMTZweCwgdmFyKC0tZ3V0dGVyKSwgMzJweCk7XG4gIC0tZ3V0dGVyMS06IGNhbGMoLTEgKiBjbGFtcCgxNnB4LCB2YXIoLS1ndXR0ZXIpLCAzMnB4KSk7XG4gIC0tc3BhY2VyMTogY2xhbXAoMTZweCwgdmFyKC0tc3BhY2VyKSAqIDMsIDY0cHgpO1xuICAtLXNwYWNlcjEtOiBjYWxjKC0xICogY2xhbXAoMTZweCwgdmFyKC0tc3BhY2VyKSAqIDMsIDY0cHgpKTtcbiAgLS1ndXR0ZXIyOiBjbGFtcCgxNnB4LCB2YXIoLS1ndXR0ZXIpICogMiwgNDhweCk7XG4gIC0tZ3V0dGVyMi06IGNhbGMoLTEgKiBjbGFtcCgxNnB4LCB2YXIoLS1ndXR0ZXIpICogMiwgNDhweCkpO1xuICAtLXNwYWNlcjI6IGNsYW1wKDE2cHgsIHZhcigtLXNwYWNlcikgKiA2LCAxMTJweCk7XG4gIC0tc3BhY2VyMi06IGNhbGMoLTEgKiBjbGFtcCgxNnB4LCB2YXIoLS1zcGFjZXIpICogNiwgMTEycHgpKTtcbiAgLS1ndXR0ZXIzOiBjbGFtcCgxNnB4LCB2YXIoLS1ndXR0ZXIpICogMywgNjRweCk7XG4gIC0tZ3V0dGVyMy06IGNhbGMoLTEgKiBjbGFtcCgxNnB4LCB2YXIoLS1ndXR0ZXIpICogMywgNjRweCkpO1xuICAtLXNwYWNlcjM6IGNsYW1wKDE2cHgsIHZhcigtLXNwYWNlcikgKiA5LCAxNjBweCk7XG4gIC0tc3BhY2VyMy06IGNhbGMoLTEgKiBjbGFtcCgxNnB4LCB2YXIoLS1zcGFjZXIpICogOSwgMTYwcHgpKTtcbiAgLS1ndXR0ZXI0OiBjbGFtcCgxNnB4LCB2YXIoLS1ndXR0ZXIpICogNCwgODBweCk7XG4gIC0tZ3V0dGVyNC06IGNhbGMoLTEgKiBjbGFtcCgxNnB4LCB2YXIoLS1ndXR0ZXIpICogNCwgODBweCkpO1xuICAtLXNwYWNlcjQ6IGNsYW1wKDE2cHgsIHZhcigtLXNwYWNlcikgKiAxMiwgMjA4cHgpO1xuICAtLXNwYWNlcjQtOiBjYWxjKC0xICogY2xhbXAoMTZweCwgdmFyKC0tc3BhY2VyKSAqIDEyLCAyMDhweCkpO1xuICAtLWd1dHRlcjU6IGNsYW1wKDE2cHgsIHZhcigtLWd1dHRlcikgKiA1LCA5NnB4KTtcbiAgLS1ndXR0ZXI1LTogY2FsYygtMSAqIGNsYW1wKDE2cHgsIHZhcigtLWd1dHRlcikgKiA1LCA5NnB4KSk7XG4gIC0tc3BhY2VyNTogY2xhbXAoMTZweCwgdmFyKC0tc3BhY2VyKSAqIDE1LCAyNTZweCk7XG4gIC0tc3BhY2VyNS06IGNhbGMoLTEgKiBjbGFtcCgxNnB4LCB2YXIoLS1zcGFjZXIpICogMTUsIDI1NnB4KSk7XG4gIC0tZ3V0dGVyNjogY2xhbXAoMTZweCwgdmFyKC0tZ3V0dGVyKSAqIDYsIDExMnB4KTtcbiAgLS1ndXR0ZXI2LTogY2FsYygtMSAqIGNsYW1wKDE2cHgsIHZhcigtLWd1dHRlcikgKiA2LCAxMTJweCkpO1xuICAtLXNwYWNlcjY6IGNsYW1wKDE2cHgsIHZhcigtLXNwYWNlcikgKiAxOCwgMzA0cHgpO1xuICAtLXNwYWNlcjYtOiBjYWxjKC0xICogY2xhbXAoMTZweCwgdmFyKC0tc3BhY2VyKSAqIDE4LCAzMDRweCkpO1xufVxuOnJvb3QgYm9keVtkYXRhLXRoZW1lPWRlZmF1bHRdIHtcbiAgLS10aGVtZS1wYWdlLWJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCh0byBib3R0b20gcmlnaHQsICMxMzFmNmIgNSUsICMxRTFBMUEgNjYlKTtcbiAgLS10aGVtZS1jb250ZW50LWJhY2tncm91bmQ6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMCk7XG4gIC0tdGhlbWUtY29udGVudC1vcHBvc2l0ZTogI0ZGRkZGRjtcbiAgLS10aGVtZS1uYXYtYmFja2dyb3VuZDogcmdiYSgyNTUsIDI1NSwgMjU1LCAwKTtcbiAgLS10aGVtZS1uYXYtYmFja2dyb3VuZC1tb2I6ICNGRkZGRkY7XG4gIC0tdGhlbWUtbmF2LWZvbnQ6ICNGRkZGRkY7XG4gIC0tdGhlbWUtbmF2LWZvbnQtbW9iOiAjMTMxZjZiO1xuICAtLXRoZW1lLW5hdi1zcGFjaW5nLWNvbG91cjogcmdiYSgxOSwgMzEsIDEwNywgMC4zKTtcbiAgLS10aGVtZS1hY2NlbnQ6ICNERjMwMzU7XG4gIC0tdGhlbWUtbG9nbzogI0ZGRkZGRjtcbiAgLS1mb250LWNvbG91cjogI0ZGRkZGRjtcbiAgLS1oZWFkaW5nLWNvbG91cjogI0ZGRkZGRjtcbn1cbjpyb290IGJvZHlbZGF0YS10aGVtZT13aGl0ZV0ge1xuICAtLXRoZW1lLXBhZ2UtYmFja2dyb3VuZDogcmFkaWFsLWdyYWRpZW50KGNpcmNsZSBhdCBib3R0b20sICMxMDEyNGQgNTUlLCAjMTcyNTgyIDEwMCUpO1xuICAtLXRoZW1lLWNvbnRlbnQtYmFja2dyb3VuZDogI2Y4ZjhmODtcbiAgLS10aGVtZS1jb250ZW50LW9wcG9zaXRlOiAjRkZGRkZGO1xuICAtLXRoZW1lLW5hdi1iYWNrZ3JvdW5kOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDApO1xuICAtLXRoZW1lLW5hdi1iYWNrZ3JvdW5kLW1vYjogIzEzMWY2YjtcbiAgLS10aGVtZS1uYXYtZm9udDogI0ZGRkZGRjtcbiAgLS10aGVtZS1uYXYtZm9udC1tb2I6ICNGRkZGRkY7XG4gIC0tdGhlbWUtbmF2LXNwYWNpbmctY29sb3VyOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMyk7XG4gIC0tdGhlbWUtYWNjZW50OiAjREYzMDM1O1xuICAtLXRoZW1lLWxvZ286ICNGRkZGRkY7XG4gIC0tZm9udC1jb2xvdXI6ICMxRTFBMUE7XG4gIC0taGVhZGluZy1jb2xvdXI6ICMxMzFmNmI7XG59XG46cm9vdCBib2R5W2RhdGEtdGhlbWU9YmxhY2tdIHtcbiAgLS10aGVtZS1wYWdlLWJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCh0byBib3R0b20gcmlnaHQsICMxMzFmNmIgNSUsICMxRTFBMUEgNjYlKTtcbiAgLS10aGVtZS1jb250ZW50LWJhY2tncm91bmQ6ICMxRTFBMUE7XG4gIC0tdGhlbWUtY29udGVudC1vcHBvc2l0ZTogI0ZGRkZGRjtcbiAgLS10aGVtZS1uYXYtYmFja2dyb3VuZDogI0ZGRkZGRjtcbiAgLS10aGVtZS1uYXYtYmFja2dyb3VuZC1tb2I6ICNGRkZGRkY7XG4gIC0tdGhlbWUtbmF2LWZvbnQ6ICMxMzFmNmI7XG4gIC0tdGhlbWUtbmF2LWZvbnQtbW9iOiAjMTMxZjZiO1xuICAtLXRoZW1lLW5hdi1zcGFjaW5nLWNvbG91cjogcmdiYSgxOSwgMzEsIDEwNywgMC4zKTtcbiAgLS10aGVtZS1mb250OiAjRkZGRkZGO1xuICAtLXRoZW1lLWFjY2VudDogI0RGMzAzNTtcbiAgLS10aGVtZS1sb2dvOiAjMTMxZjZiO1xuICAtLWZvbnQtY29sb3VyOiAjRkZGRkZGO1xuICAtLWhlYWRpbmctY29sb3VyOiAjRkZGRkZGO1xufVxuQHN1cHBvcnRzIG5vdCAod2lkdGg6IGNsYW1wKDFweCwgNXZ3LCAxMHB4KSkge1xuICA6cm9vdCB7XG4gICAgLS1ndXR0ZXIwOiBjYWxjKCh2YXIoLS1ndXR0ZXIpICogMC41KSArIDhweCk7XG4gICAgLS1ndXR0ZXIwLTogY2FsYygtMSAqIGNhbGMoKHZhcigtLWd1dHRlcikgKiAwLjUpICsgOHB4KSk7XG4gICAgLS1zcGFjZXIwOiBjYWxjKCh2YXIoLS1zcGFjZXIpICogMikgKyAxNnB4KTtcbiAgICAtLXNwYWNlcjAtOiBjYWxjKC0xICogY2FsYygodmFyKC0tc3BhY2VyKSAqIDIpICsgMTZweCkpO1xuICAgIC0tZ3V0dGVyMTogY2FsYygodmFyKC0tZ3V0dGVyKSAqIDEpICsgMTZweCk7XG4gICAgLS1ndXR0ZXIxLTogY2FsYygtMSAqIGNhbGMoKHZhcigtLWd1dHRlcikgKiAxKSArIDE2cHgpKTtcbiAgICAtLXNwYWNlcjE6IGNhbGMoKHZhcigtLXNwYWNlcikgKiA0KSArIDE2cHgpO1xuICAgIC0tc3BhY2VyMS06IGNhbGMoLTEgKiBjYWxjKCh2YXIoLS1zcGFjZXIpICogNCkgKyAxNnB4KSk7XG4gICAgLS1ndXR0ZXIyOiBjYWxjKCh2YXIoLS1ndXR0ZXIpICogMikgKyAxNnB4KTtcbiAgICAtLWd1dHRlcjItOiBjYWxjKC0xICogY2FsYygodmFyKC0tZ3V0dGVyKSAqIDIpICsgMTZweCkpO1xuICAgIC0tc3BhY2VyMjogY2FsYygodmFyKC0tc3BhY2VyKSAqIDgpICsgMTZweCk7XG4gICAgLS1zcGFjZXIyLTogY2FsYygtMSAqIGNhbGMoKHZhcigtLXNwYWNlcikgKiA4KSArIDE2cHgpKTtcbiAgICAtLWd1dHRlcjM6IGNhbGMoKHZhcigtLWd1dHRlcikgKiAzKSArIDE2cHgpO1xuICAgIC0tZ3V0dGVyMy06IGNhbGMoLTEgKiBjYWxjKCh2YXIoLS1ndXR0ZXIpICogMykgKyAxNnB4KSk7XG4gICAgLS1zcGFjZXIzOiBjYWxjKCh2YXIoLS1zcGFjZXIpICogMTIpICsgMTZweCk7XG4gICAgLS1zcGFjZXIzLTogY2FsYygtMSAqIGNhbGMoKHZhcigtLXNwYWNlcikgKiAxMikgKyAxNnB4KSk7XG4gICAgLS1ndXR0ZXI0OiBjYWxjKCh2YXIoLS1ndXR0ZXIpICogNCkgKyAxNnB4KTtcbiAgICAtLWd1dHRlcjQtOiBjYWxjKC0xICogY2FsYygodmFyKC0tZ3V0dGVyKSAqIDQpICsgMTZweCkpO1xuICAgIC0tc3BhY2VyNDogY2FsYygodmFyKC0tc3BhY2VyKSAqIDE2KSArIDE2cHgpO1xuICAgIC0tc3BhY2VyNC06IGNhbGMoLTEgKiBjYWxjKCh2YXIoLS1zcGFjZXIpICogMTYpICsgMTZweCkpO1xuICAgIC0tZ3V0dGVyNTogY2FsYygodmFyKC0tZ3V0dGVyKSAqIDUpICsgMTZweCk7XG4gICAgLS1ndXR0ZXI1LTogY2FsYygtMSAqIGNhbGMoKHZhcigtLWd1dHRlcikgKiA1KSArIDE2cHgpKTtcbiAgICAtLXNwYWNlcjU6IGNhbGMoKHZhcigtLXNwYWNlcikgKiAyMCkgKyAxNnB4KTtcbiAgICAtLXNwYWNlcjUtOiBjYWxjKC0xICogY2FsYygodmFyKC0tc3BhY2VyKSAqIDIwKSArIDE2cHgpKTtcbiAgICAtLWd1dHRlcjY6IGNhbGMoKHZhcigtLWd1dHRlcikgKiA2KSArIDE2cHgpO1xuICAgIC0tZ3V0dGVyNi06IGNhbGMoLTEgKiBjYWxjKCh2YXIoLS1ndXR0ZXIpICogNikgKyAxNnB4KSk7XG4gICAgLS1zcGFjZXI2OiBjYWxjKCh2YXIoLS1zcGFjZXIpICogMjQpICsgMTZweCk7XG4gICAgLS1zcGFjZXI2LTogY2FsYygtMSAqIGNhbGMoKHZhcigtLXNwYWNlcikgKiAyNCkgKyAxNnB4KSk7XG4gIH1cbn1cblxuYm9keSB7XG4gIGZvbnQtZmFtaWx5OiBtb250c2VycmF0LCBzYW5zLXNlcmlmO1xuICBmb250LXdlaWdodDogNTAwO1xuICBmb250LXN0eWxlOiBub3JtYWw7XG4gIGZvbnQtZGlzcGxheTogc3dhcDtcbiAgLXdlYmtpdC1mb250LXNtb290aGluZzogYW50aWFsaWFzZWQ7XG4gIC1tb3otb3N4LWZvbnQtc21vb3RoaW5nOiBncmF5c2NhbGU7XG4gIGNvbG9yOiB2YXIoLS1mb250LWNvbG91ciwgIzZBNkE2QSk7XG4gIGxpbmUtaGVpZ2h0OiAxLjY7XG4gIGZvbnQtc2l6ZTogMS41cmVtO1xufVxuQHN1cHBvcnRzICh3aWR0aDogY2xhbXAoMXB4LCA1dncsIDEwcHgpKSB7XG4gIGJvZHkge1xuICAgIGZvbnQtc2l6ZTogY2xhbXAoMS40cmVtLCAxLjV2dywgMS42cmVtKTtcbiAgfVxufVxuQHN1cHBvcnRzIG5vdCAod2lkdGg6IGNsYW1wKDFweCwgNXZ3LCAxMHB4KSkge1xuICBAbWVkaWEgKG1heC13aWR0aDogOTUwcHgpIHtcbiAgICBib2R5IHtcbiAgICAgIGZvbnQtc2l6ZTogMS40cmVtO1xuICAgIH1cbiAgfVxuICBAbWVkaWEgKG1pbi13aWR0aDogMTYwMXB4KSB7XG4gICAgYm9keSB7XG4gICAgICBmb250LXNpemU6IDEuNnJlbTtcbiAgICB9XG4gIH1cbn1cblxuaDEge1xuICBmb250LXNpemU6IDMuMTI1ZW07XG4gIGZvbnQtc2l6ZTogY2xhbXAoMi41ZW0sIDV2dywgMy4xMjVlbSk7XG4gIGxpbmUtaGVpZ2h0OiAxLjI7XG59XG5cbmgyIHtcbiAgZm9udC1zaXplOiAxLjI1ZW07XG4gIGxpbmUtaGVpZ2h0OiAxLjM7XG59XG5cbmgzIHtcbiAgZm9udC1zaXplOiAwLjkzNzVlbTtcbiAgbGluZS1oZWlnaHQ6IDEuNjtcbn1cblxuaDQge1xuICBmb250LXNpemU6IDAuODEyNWVtO1xuICBsaW5lLWhlaWdodDogMS42O1xufVxuXG5oNSB7XG4gIGZvbnQtc2l6ZTogMC44MTI1ZW07XG4gIGxpbmUtaGVpZ2h0OiAxLjY7XG59XG5cbmg2IHtcbiAgZm9udC1zaXplOiAwLjgxMjVlbTtcbiAgbGluZS1oZWlnaHQ6IDEuNjtcbn1cblxuaDEsIGgyLCBoMywgaDQsIGg1LCBoNiB7XG4gIGZvbnQtZmFtaWx5OiBtb250c2VycmF0LCBzYW5zLXNlcmlmO1xuICBmb250LXdlaWdodDogNjAwO1xuICBmb250LXN0eWxlOiBub3JtYWw7XG4gIGZvbnQtZGlzcGxheTogc3dhcDtcbiAgLXdlYmtpdC1mb250LXNtb290aGluZzogYW50aWFsaWFzZWQ7XG4gIC1tb3otb3N4LWZvbnQtc21vb3RoaW5nOiBncmF5c2NhbGU7XG4gIGNvbG9yOiB2YXIoLS1oZWFkaW5nLWNvbG91ciwgdmFyKC0tZm9udC1jb2xvdXIpKTtcbn1cbmgxLnN1Yi1oZWFkaW5nLCBoMi5zdWItaGVhZGluZywgaDMuc3ViLWhlYWRpbmcsIGg0LnN1Yi1oZWFkaW5nLCBoNS5zdWItaGVhZGluZywgaDYuc3ViLWhlYWRpbmcge1xuICBjb2xvcjogdmFyKC0tc3ViLWhlYWRpbmctY29sb3VyKTtcbiAgZm9udC1mYW1pbHk6IGxhdG8sIHNhbnMtc2VyaWY7XG4gIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgZm9udC1kaXNwbGF5OiBzd2FwO1xuICAtd2Via2l0LWZvbnQtc21vb3RoaW5nOiBhbnRpYWxpYXNlZDtcbiAgLW1vei1vc3gtZm9udC1zbW9vdGhpbmc6IGdyYXlzY2FsZTtcbn1cbmgxIHNwYW4sIGgxIHN0cm9uZywgaDEgcCwgaDIgc3BhbiwgaDIgc3Ryb25nLCBoMiBwLCBoMyBzcGFuLCBoMyBzdHJvbmcsIGgzIHAsIGg0IHNwYW4sIGg0IHN0cm9uZywgaDQgcCwgaDUgc3BhbiwgaDUgc3Ryb25nLCBoNSBwLCBoNiBzcGFuLCBoNiBzdHJvbmcsIGg2IHAge1xuICBjb2xvcjogaW5oZXJpdDtcbiAgZm9udC1mYW1pbHk6IGluaGVyaXQ7XG4gIGZvbnQtd2VpZ2h0OiBpbmhlcml0O1xufVxuXG5hIHtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICB0cmFuc2l0aW9uOiB0ZXh0LWRlY29yYXRpb24tY29sb3IgdmFyKC0tdHJhbnNpdGlvbi1kdXJhdGlvbiwgMC4ycykgdmFyKC0tdHJhbnNpdGlvbi1lYXNlLCBjdWJpYy1iZXppZXIoMC40MiwgMCwgMC41OCwgMSkpIHZhcigtLXRyYW5zaXRpb24tZGVsYXksICksIGNvbG9yIHZhcigtLXRyYW5zaXRpb24tZHVyYXRpb24sIDAuMnMpIHZhcigtLXRyYW5zaXRpb24tZWFzZSwgY3ViaWMtYmV6aWVyKDAuNDIsIDAsIDAuNTgsIDEpKSB2YXIoLS10cmFuc2l0aW9uLWRlbGF5LCApO1xuICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcbiAgdGV4dC11bmRlcmxpbmUtcG9zaXRpb246IHVuZGVyO1xuICB0ZXh0LWRlY29yYXRpb24tY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMCk7XG59XG5hLmV4dGVybmFsIHtcbiAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG59XG5hLmV4dGVybmFsIHN2Zy5leHRlcm5hbC1saW5rIHtcbiAgb3BhY2l0eTogMC42O1xuICB3aWR0aDogMC44ZW07XG4gIGhlaWdodDogMC44ZW07XG4gIG1hcmdpbi1sZWZ0OiAwLjVlbTtcbn1cbmE6aG92ZXIge1xuICB0ZXh0LWRlY29yYXRpb24tY29sb3I6IHZhcigtLWZvbnQtY29sb3VyKTtcbn1cblxuQG1lZGlhIChob3ZlcjogaG92ZXIpIHtcbiAgaDEgYTpob3ZlciwgaDIgYTpob3ZlciwgaDMgYTpob3ZlciwgaDQgYTpob3ZlciwgaDYgYTpob3ZlciwgaDYgYTpob3ZlciB7XG4gICAgdGV4dC1kZWNvcmF0aW9uLWNvbG9yOiB2YXIoLS1oZWFkaW5nLWNvbG91cik7XG4gIH1cbn1cblxucCwgYSB7XG4gIGNvbG9yOiB2YXIoLS1mb250LWNvbG91cik7XG59XG5cbm9sLCB1bCB7XG4gIGxpc3Qtc3R5bGU6IG5vbmU7XG4gIGxpc3Qtc3R5bGUtcG9zaXRpb246IGluc2lkZTtcbn1cblxubGkgYSB7XG4gIHRleHQtdW5kZXJsaW5lLW9mZnNldDogMnB4O1xufVxuXG5zbWFsbCB7XG4gIGZvbnQtc2l6ZTogMC42MjVlbTtcbiAgbGluZS1oZWlnaHQ6IDEuODtcbn1cblxuaHIge1xuICB3aWR0aDogMTAwJTtcbiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0taHItY29sb3VyLCAjQjFCMUIxKTtcbiAgbWFyZ2luLXRvcDogY2FsYyh2YXIoLS1nYXApICogMik7XG4gIG1hcmdpbi1ib3R0b206IGNhbGModmFyKC0tZ2FwKSAqIDIpO1xufVxuXG5odG1sIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogYmxhY2s7XG59XG5cbmJvZHkge1xuICAtLW5hdmlnYXRpb24tYmFyLXdpZHRoOiBjbGFtcCgyNTBweCwgMjV2dywgMzAwcHgpO1xuICAtLW5hdmlnYXRpb24tYmFyLWhlaWdodDogMTAwdmg7XG4gIC0tc2lkZWJhci13aWR0aDogMzB2dztcbiAgLS1zaWRlYmFyLW1heC13aWR0aDogdmFyKC0tc2lkZWJhci13aWR0aCk7XG4gIC0tbG9nby1oZWlnaHQ6IDIwMHB4O1xuICAtLWdhcC14OiBjbGFtcCgycmVtLCA1dncsIDhyZW0pO1xuICAtLWdhcC15OiA1MHB4O1xuICAtLXJvdy1jb250ZW50OiAxIC8gLTE7XG4gIC0tcm93LWhlYWRlcjogY2FsYygxICsgdmFyKC0tY29udGVudC1vZmZzZXQsIDApKTtcbiAgLS1yb3ctbWFpbjogY2FsYygyICsgdmFyKC0tY29udGVudC1vZmZzZXQsIDApKTtcbiAgLS1jb2x1bW4tbmF2aWdhdGlvbjogMTtcbiAgLS1jb2x1bW4tY29udGVudDogMjtcbiAgLS1jb2x1bW4taGVhZGVyOiAyO1xuICAtLWNvbHVtbi1tYWluOiAyO1xuICAtLWNvbHVtbi1zaWRlYmFyOiAzO1xuICAtLXJvd3M6IHZhcigtLWxvZ28taGVpZ2h0KSBhdXRvIDFmcjtcbiAgLS1jb2x1bW5zOiB2YXIoLS1uYXZpZ2F0aW9uLWJhci13aWR0aCkgbWlubWF4KDAsIDFmcikgYXV0bztcbiAgZGlzcGxheTogZ3JpZDtcbiAgZ3JpZC1nYXA6IHZhcigtLWdhcC15KSB2YXIoLS1nYXAteCk7XG4gIGdyaWQtdGVtcGxhdGUtcm93czogdmFyKC0tcm93cyk7XG4gIGdyaWQtdGVtcGxhdGUtY29sdW1uczogdmFyKC0tY29sdW1ucyk7XG59XG5ib2R5W2RhdGEtc2lkZWJhcj10b3BdIHtcbiAgLS1yb3ctc2lkZWJhcjogMSAvIC0xO1xufVxuYm9keVtkYXRhLXNpZGViYXI9aGVhZGVyXSB7XG4gIC0tcm93LXNpZGViYXI6IHZhcigtLXJvdy1oZWFkZXIpIC8gLTI7XG59XG5ib2R5W2RhdGEtc2lkZWJhcj1jb250ZW50XSB7XG4gIC0tcm93LXNpZGViYXI6IHZhcigtLXJvdy1tYWluKSAvIC0yO1xufVxuYm9keSBuYXZpZ2F0aW9uLWJhciB7XG4gIGdyaWQtcm93OiB2YXIoLS1yb3ctbmF2aWdhdGlvbik7XG4gIGdyaWQtY29sdW1uOiB2YXIoLS1jb2x1bW4tbmF2aWdhdGlvbik7XG59XG5ib2R5IG1haW4ge1xuICBjb250YWluZXItdHlwZTogaW5saW5lLXNpemU7XG4gIGNvbnRhaW5lci1uYW1lOiBtYWluO1xufVxuYm9keSAuY29udGVudC13cmFwcGVyIHtcbiAgZ3JpZC1yb3c6IHZhcigtLXJvdy1jb250ZW50KTtcbiAgZ3JpZC1jb2x1bW46IHZhcigtLWNvbHVtbi1jb250ZW50KTtcbiAgei1pbmRleDogMTAwMDtcbn1cbmJvZHkgc2lkZS1iYXIge1xuICBncmlkLXJvdzogdmFyKC0tcm93LXNpZGViYXIpO1xuICBncmlkLWNvbHVtbjogdmFyKC0tY29sdW1uLXNpZGViYXIpO1xufVxuYm9keS5oZWF0c2lua3MtaG9tZSwgYm9keS5jb21wb25lbnRzLWhvbWUge1xuICAtLXJvdy1jb250ZW50OiAyO1xufVxuQG1lZGlhIChtYXgtd2lkdGg6IDE0MDBweCkge1xuICBib2R5W2RhdGEtc2lkZWJhcj10b3BdLCBib2R5W2RhdGEtc2lkZWJhcj1oZWFkZXJdLCBib2R5W2RhdGEtc2lkZWJhcj1jb250ZW50XSB7XG4gICAgLS1jb2x1bW4tc2lkZWJhcjogMjtcbiAgICAtLXJvdy1jb250ZW50OiAxIC8gLTI7XG4gIH1cbiAgYm9keVtkYXRhLXNpZGViYXI9dG9wXSBzaWRlLWJhciwgYm9keVtkYXRhLXNpZGViYXI9aGVhZGVyXSBzaWRlLWJhciwgYm9keVtkYXRhLXNpZGViYXI9Y29udGVudF0gc2lkZS1iYXIge1xuICAgIC0tcm93LXNpZGViYXI6IGNhbGModmFyKC0tcm93LWNvbnRlbnQpICsgMyk7XG4gIH1cbn1cbkBtZWRpYSAobWF4LXdpZHRoOiA5ODBweCkge1xuICBib2R5IHtcbiAgICBwbGFjZS1jb250ZW50OiBzdGFydDtcbiAgICAtLW5hdmlnYXRpb24tY29udGFpbmVyLWhlaWdodDogNjBweDtcbiAgICAtLW5hdmlnYXRpb24tbW9iaWxlLXNlYXJjaC1oZWlnaHQ6IDYxcHg7XG4gICAgLS1yb3dzOiBhdXRvIGF1dG8gMWZyIGF1dG87XG4gICAgLS1jb2x1bW5zOiAwIG1pbm1heCgwLCAxZnIpIDA7XG4gICAgLS1yb3ctbmF2aWdhdGlvbjogMTtcbiAgICAtLWNvbHVtbi1uYXZpZ2F0aW9uOiAxIC8gLTE7XG4gIH1cbiAgYm9keTpub3QoLmhlYXRzaW5rcy1ob21lLCAuY29tcG9uZW50cy1ob21lKSB7XG4gICAgLS1yb3ctY29udGVudDogMiAvIHNwYW4gMyAhaW1wb3J0YW50O1xuICB9XG4gIGJvZHkgPiAqIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgfVxuICBib2R5IG1haW4ge1xuICAgIG1hcmdpbi10b3A6IC0ycmVtO1xuICB9XG59XG5ib2R5Lm1vYmlsZS1vcGVuLCBib2R5Lm1vZGFsLW9wZW4ge1xuICBvdmVyZmxvdzogaGlkZGVuO1xufVxuXG4uY29udGVudCB7XG4gIGxpbmUtaGVpZ2h0OiAxLjc7XG59XG4uY29udGVudCB1bCA+IGxpOjpiZWZvcmUge1xuICBjb250ZW50OiB1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWwsJTNDc3ZnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Zycgdmlld0JveD0nMCAwIDE2IDE2JyUzRSUzQ2NpcmNsZSBmaWxsPSclMjNEQTRCMEYnIGN4PSc4JyBjeT0nOCcgcj0nOCcvJTNFJTNDcGF0aCBmaWxsPSdub25lJyBzdHJva2U9J3doaXRlJyBzdHJva2Utd2lkdGg9JzEuNCcgc3Ryb2tlLWxpbmVjYXA9J3JvdW5kJyBzdHJva2UtbGluZWpvaW49J3JvdW5kJyBzdHJva2UtbWl0ZXJsaW1pdD0nMTAnIGQ9J00zLjUgOC40bDIuNyAyLjcgNi4zLTYuMycvJTNFJTNDL3N2ZyUzRVwiKTtcbn1cbi5jb250ZW50IHVsID4gbGkge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHBhZGRpbmctbGVmdDogY2FsYyh2YXIoLS1saXN0LXN0eWxlLXNpemUsIDFlbSkgKiAxLjgpO1xufVxuLmNvbnRlbnQgdWwgPiBsaSArIGxpIHtcbiAgbWFyZ2luLXRvcDogdmFyKC0tbGluZS1zdHlsZS1zcGFjaW5nLCBjYWxjKHZhcigtLWdhcCkgKiAwLjUpKTtcbn1cbi5jb250ZW50IHVsID4gbGk6OmJlZm9yZSB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgdG9wOiAwLjFlbTtcbiAgbGVmdDogMDtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB3aWR0aDogdmFyKC0tbGlzdC1zdHlsZS1zaXplLCAxZW0pO1xuICBoZWlnaHQ6IHZhcigtLWxpc3Qtc3R5bGUtc2l6ZSwgMWVtKTtcbn1cbi5jb250ZW50IG9sIHtcbiAgY291bnRlci1yZXNldDogY291bnRlcjtcbn1cbi5jb250ZW50IG9sID4gbGkge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBwYWRkaW5nLWxlZnQ6IDIycHg7XG4gIG1hcmdpbi1sZWZ0OiB2YXIoLS1saXN0LXN0eWxlLW9mZnNldCwgMCk7XG59XG4uY29udGVudCBvbCA+IGxpICsgbGkge1xuICBtYXJnaW4tdG9wOiBjYWxjKHZhcigtLWdhcCkgKiAwLjUpO1xufVxuLmNvbnRlbnQgb2wgPiBsaTo6YmVmb3JlIHtcbiAgY29udGVudDogY291bnRlcihjb3VudGVyKSBcIi5cIjtcbiAgY291bnRlci1pbmNyZW1lbnQ6IGNvdW50ZXI7XG4gIGNvbG9yOiB2YXIoLS1saXN0LXN0eWxlLWNvbG91ciwgdmFyKC0tZm9udC1jb2xvdXIpKTtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBtYXJnaW4tcmlnaHQ6IDAuNWVtO1xufVxuLmNvbnRlbnQgaDMge1xuICBmb250LXNpemU6IDEuMjVlbTtcbiAgbGluZS1oZWlnaHQ6IDEuMztcbn1cbi5jb250ZW50ID4gKiB7XG4gIG1hcmdpbi1ib3R0b206IDNyZW07XG59XG4uY29udGVudCA+ICo6bGFzdC1jaGlsZCB7XG4gIG1hcmdpbi1ib3R0b206IDA7XG59XG4uY29udGVudCA+IHVsLCAuY29udGVudCA+IG9sIHtcbiAgbWFyZ2luLWJvdHRvbTogNHJlbTtcbn1cbi5jb250ZW50IGgxLCAuY29udGVudCBoMiwgLmNvbnRlbnQgaDMsIC5jb250ZW50IGg0LCAuY29udGVudCBoNiwgLmNvbnRlbnQgaDYge1xuICBtYXJnaW4tYm90dG9tOiAyLjI1cmVtO1xufVxuLmNvbnRlbnQgaDEgKyBoMSwgLmNvbnRlbnQgaDEgKyBoMiwgLmNvbnRlbnQgaDEgKyBoMywgLmNvbnRlbnQgaDEgKyBoNCwgLmNvbnRlbnQgaDEgKyBoNSwgLmNvbnRlbnQgaDEgKyBoNiwgLmNvbnRlbnQgaDIgKyBoMSwgLmNvbnRlbnQgaDIgKyBoMiwgLmNvbnRlbnQgaDIgKyBoMywgLmNvbnRlbnQgaDIgKyBoNCwgLmNvbnRlbnQgaDIgKyBoNSwgLmNvbnRlbnQgaDIgKyBoNiwgLmNvbnRlbnQgaDMgKyBoMSwgLmNvbnRlbnQgaDMgKyBoMiwgLmNvbnRlbnQgaDMgKyBoMywgLmNvbnRlbnQgaDMgKyBoNCwgLmNvbnRlbnQgaDMgKyBoNSwgLmNvbnRlbnQgaDMgKyBoNiwgLmNvbnRlbnQgaDQgKyBoMSwgLmNvbnRlbnQgaDQgKyBoMiwgLmNvbnRlbnQgaDQgKyBoMywgLmNvbnRlbnQgaDQgKyBoNCwgLmNvbnRlbnQgaDQgKyBoNSwgLmNvbnRlbnQgaDQgKyBoNiwgLmNvbnRlbnQgaDYgKyBoMSwgLmNvbnRlbnQgaDYgKyBoMiwgLmNvbnRlbnQgaDYgKyBoMywgLmNvbnRlbnQgaDYgKyBoNCwgLmNvbnRlbnQgaDYgKyBoNSwgLmNvbnRlbnQgaDYgKyBoNiwgLmNvbnRlbnQgaDYgKyBoMSwgLmNvbnRlbnQgaDYgKyBoMiwgLmNvbnRlbnQgaDYgKyBoMywgLmNvbnRlbnQgaDYgKyBoNCwgLmNvbnRlbnQgaDYgKyBoNSwgLmNvbnRlbnQgaDYgKyBoNiB7XG4gIG1hcmdpbi10b3A6IDNyZW07XG59XG4uY29udGVudCBhIHtcbiAgLS1mb250LWNvbG91cjogdmFyKC0tdGhlbWUtYWNjZW50KSA7XG59XG5cbmlucHV0W3R5cGU9dGV4dF0sIGlucHV0W3R5cGU9ZW1haWxdLCBpbnB1dFt0eXBlPW51bWJlcl0sIGlucHV0W3R5cGU9c2VhcmNoXSwgc2VsZWN0LCB0ZXh0YXJlYSB7XG4gIC0tZm9udC1jb2xvdXI6ICM2QTZBNkE7XG4gIC0tYmFja2dyb3VuZC1jb2xvdXI6ICNGRkZGRkY7XG4gIC0tcGFkZGluZzogY2FsYyh2YXIoLS1nYXApIC8gMS41KSB2YXIoLS1nYXApO1xuICAtLWJvcmRlci1jb2xvdXI6ICNlOWU5ZTk7XG4gIC0tYm9yZGVyLXJhZGl1czogMDtcbiAgb3V0bGluZTogMDtcbiAgYm9yZGVyOiAxcHggc29saWQgdmFyKC0tYm9yZGVyLWNvbG91cik7XG4gIGFwcGVhcmFuY2U6IG5vbmU7XG4gIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTtcbiAgLW1vei1hcHBlYXJhbmNlOiBub25lO1xuICBib3JkZXItcmFkaXVzOiB2YXIoLS1ib3JkZXItcmFkaXVzLCA2cHgpO1xuICAvKiBPcGVyYSAxMC41LCBJRSA5LCBTYWZhcmkgNSwgQ2hyb21lLCBGaXJlZm94IDQsIGlPUyA0LCBBbmRyb2lkIDIuMSsgKi9cbiAgLXdlYmtpdC1ib3JkZXItcmFkaXVzOiAwO1xuICAvKiBTYWZhcmkgMy00LCBpT1MgMS0zLjIsIEFuZHJvaWQgMS42LSAqL1xuICAtbW96LWJvcmRlci1yYWRpdXM6IDA7XG4gIC8qIEZpcmVmb3ggMS0zLjYgKi9cbiAgY29sb3I6IHZhcigtLWZvbnQtY29sb3VyKTtcbiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmFja2dyb3VuZC1jb2xvdXIpO1xuICBwYWRkaW5nOiB2YXIoLS1wYWRkaW5nKTtcbiAgdHJhbnNpdGlvbjogYm94LXNoYWRvdyB2YXIoLS10cmFuc2l0aW9uLWR1cmF0aW9uLCAwLjJzKSB2YXIoLS10cmFuc2l0aW9uLWVhc2UsIGN1YmljLWJlemllcigwLjQyLCAwLCAwLjU4LCAxKSkgdmFyKC0tdHJhbnNpdGlvbi1kZWxheSwgKTtcbiAgYm94LXNoYWRvdzogMHB4IDBweCAwcHggMHB4IHRyYW5zcGFyZW50O1xufVxuaW5wdXRbdHlwZT10ZXh0XTo6cGxhY2Vob2xkZXIsIGlucHV0W3R5cGU9ZW1haWxdOjpwbGFjZWhvbGRlciwgaW5wdXRbdHlwZT1udW1iZXJdOjpwbGFjZWhvbGRlciwgaW5wdXRbdHlwZT1zZWFyY2hdOjpwbGFjZWhvbGRlciwgc2VsZWN0OjpwbGFjZWhvbGRlciwgdGV4dGFyZWE6OnBsYWNlaG9sZGVyIHtcbiAgdHJhbnNpdGlvbjogY29sb3IgdmFyKC0tdHJhbnNpdGlvbi1kdXJhdGlvbiwgMC4ycykgdmFyKC0tdHJhbnNpdGlvbi1lYXNlLCBjdWJpYy1iZXppZXIoMC40MiwgMCwgMC41OCwgMSkpIHZhcigtLXRyYW5zaXRpb24tZGVsYXksICk7XG59XG5pbnB1dFt0eXBlPXRleHRdOm5vdChzZWxlY3QpLCBpbnB1dFt0eXBlPWVtYWlsXTpub3Qoc2VsZWN0KSwgaW5wdXRbdHlwZT1udW1iZXJdOm5vdChzZWxlY3QpLCBpbnB1dFt0eXBlPXNlYXJjaF06bm90KHNlbGVjdCksIHNlbGVjdDpub3Qoc2VsZWN0KSwgdGV4dGFyZWE6bm90KHNlbGVjdCkge1xuICB3aWR0aDogMTAwJTtcbn1cblxuaW5wdXRbdHlwZT1zZWFyY2hdOjotd2Via2l0LXNlYXJjaC1kZWNvcmF0aW9uLCBpbnB1dFt0eXBlPXNlYXJjaF06Oi13ZWJraXQtc2VhcmNoLWNhbmNlbC1idXR0b24sIGlucHV0W3R5cGU9c2VhcmNoXTo6LXdlYmtpdC1zZWFyY2gtcmVzdWx0cy1idXR0b24sIGlucHV0W3R5cGU9c2VhcmNoXTo6LXdlYmtpdC1zZWFyY2gtcmVzdWx0cy1kZWNvcmF0aW9uIHtcbiAgZGlzcGxheTogbm9uZTtcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lO1xufVxuXG5pbnB1dFt0eXBlPXRleHRdOmZvY3VzLFxuaW5wdXRbdHlwZT1lbWFpbF06Zm9jdXMsXG5pbnB1dFt0eXBlPW51bWJlcl06Zm9jdXMsXG5pbnB1dFt0eXBlPXNlYXJjaF06Zm9jdXMsXG5zZWxlY3Q6Zm9jdXMsXG50ZXh0YXJlYTpmb2N1cyB7XG4gIGJveC1zaGFkb3c6IDBweCAwcHggMXB4IDFweCByZ2JhKDIyMywgNDgsIDUzLCAwLjMpO1xufVxuXG5pbnB1dFt0eXBlPXN1Ym1pdF0sIGJ1dHRvblt0eXBlPXN1Ym1pdF0ge1xuICAtLWJhY2tncm91bmQtY29sb3VyOiAjREYzMDM1O1xuICAtLWZvbnQtY29sb3VyOiB3aGl0ZTtcbiAgLS1pY29uLXNpemU6IDAuOGVtO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC13cmFwOiBub3dyYXA7XG4gIGdyaWQtZ2FwOiBjYWxjKHZhcigtLWdhcCkgKiAwLjUpO1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICB3b3JkLWJyZWFrOiBicmVhay1hbGw7XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gIGZvbnQtd2VpZ2h0OiA2MDA7XG4gIGxpbmUtaGVpZ2h0OiAxO1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBoZWlnaHQ6IGZpdC1jb250ZW50O1xuICBwYWRkaW5nOiAxLjI1cmVtIDNyZW0gMS4yNXJlbSA0cmVtO1xuICBmb250LXNpemU6IDE2cHg7XG4gIGJhY2tncm91bmQ6IHZhcigtLWJhY2tncm91bmQtY29sb3VyKTtcbiAgY29sb3I6IHZhcigtLWZvbnQtY29sb3VyKTtcbiAgY2xpcC1wYXRoOiBwb2x5Z29uKDAlIDEwMCUsIDE1cHggMCUsIDEwMCUgMCUsIDEwMCUgMTAwJSk7XG59XG5pbnB1dFt0eXBlPXN1Ym1pdF0gPiBzdmcsIGJ1dHRvblt0eXBlPXN1Ym1pdF0gPiBzdmcge1xuICB3aWR0aDogdmFyKC0taWNvbi1zaXplKTtcbiAgaGVpZ2h0OiB2YXIoLS1pY29uLXNpemUpO1xufVxuaW5wdXRbdHlwZT1zdWJtaXRdW2Rpc2FibGVkXSwgYnV0dG9uW3R5cGU9c3VibWl0XVtkaXNhYmxlZF0ge1xuICBvcGFjaXR5OiAwLjQ7XG4gIHBvaW50ZXItZXZlbnRzOiBub25lO1xufVxuaW5wdXRbdHlwZT1zdWJtaXRdOm5vdChbZGlzYWJsZWRdKTpob3ZlciwgYnV0dG9uW3R5cGU9c3VibWl0XTpub3QoW2Rpc2FibGVkXSk6aG92ZXIge1xuICB0ZXh0LWRlY29yYXRpb24tbGluZTogbm9uZTtcbiAgdGV4dC1kZWNvcmF0aW9uLWNvbG9yOiB0cmFuc3BhcmVudDtcbn1cbmlucHV0W3R5cGU9c3VibWl0XTpub3QoW2Rpc2FibGVkXSk6aG92ZXI6OmJlZm9yZSwgYnV0dG9uW3R5cGU9c3VibWl0XTpub3QoW2Rpc2FibGVkXSk6aG92ZXI6OmJlZm9yZSB7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWChjYWxjKDEwMCUgLSAxNXB4KSk7XG59XG5pbnB1dFt0eXBlPXN1Ym1pdF0uc21hbGwsIGJ1dHRvblt0eXBlPXN1Ym1pdF0uc21hbGwge1xuICBwYWRkaW5nOiAwLjlyZW0gMnJlbSAwLjlyZW0gM3JlbTtcbiAgZm9udC1zaXplOiAxMnB4O1xufVxuaW5wdXRbdHlwZT1zdWJtaXRdLmxhcmdlLCBidXR0b25bdHlwZT1zdWJtaXRdLmxhcmdlIHtcbiAgcGFkZGluZzogMS40cmVtIDNyZW0gMS40cmVtIDQuMjVyZW07XG4gIGZvbnQtc2l6ZTogMThweDtcbn1cbmlucHV0W3R5cGU9c3VibWl0XTo6YmVmb3JlLCBidXR0b25bdHlwZT1zdWJtaXRdOjpiZWZvcmUge1xuICAtLXRyYW5zaXRpb24tZHVyYXRpb246IDAuM3M7XG4gIGNvbnRlbnQ6IFwiXCI7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAwO1xuICBsZWZ0OiAtMTAwJTtcbiAgd2lkdGg6IGNhbGMoMTAwJSArIDE1cHgpO1xuICBoZWlnaHQ6IDEwMCU7XG4gIGJhY2tncm91bmQ6IHZhcigtLWJhY2tncm91bmQtY29sb3VyKTtcbiAgZmlsdGVyOiBicmlnaHRuZXNzKDEyMCUpO1xuICBjbGlwLXBhdGg6IHBvbHlnb24oMCUgMTAwJSwgMCUgMCUsIDEwMCUgMCUsIGNhbGMoMTAwJSAtIDE1cHgpIDEwMCUpO1xuICB6LWluZGV4OiAtMTtcbiAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIHZhcigtLXRyYW5zaXRpb24tZHVyYXRpb24sIDAuMnMpIHZhcigtLXRyYW5zaXRpb24tZWFzZSwgY3ViaWMtYmV6aWVyKDAuNDIsIDAsIDAuNTgsIDEpKSB2YXIoLS10cmFuc2l0aW9uLWRlbGF5LCApO1xufVxuXG5zZWxlY3Qge1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICBwYWRkaW5nLXJpZ2h0OiBjYWxjKHZhcigtLWdhcCkgKiAzKTtcbiAgY29sb3I6IHZhcigtLWZvbnQtY29sb3VyKTtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiZGF0YTppbWFnZS9zdmcreG1sLCUzQ3N2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHdpZHRoPScxNy40JyBoZWlnaHQ9JzEwLjEnJTNFJTNDcGF0aCBkPSdNMTYuNy43bC04IDgtOC04JyBmaWxsPSdub25lJyBzdHJva2U9JyUyMzZBNkE2QScgc3Ryb2tlLXdpZHRoPScyJyBzdHJva2UtbWl0ZXJsaW1pdD0nMTAnLyUzRSUzQy9zdmclM0VcIik7XG4gIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gIGJhY2tncm91bmQtc2l6ZTogMWVtO1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjYWxjKDEwMCUgLSB2YXIoLS1nYXApKSBjZW50ZXI7XG4gIHdpZHRoOiBtaW4tY29udGVudDtcbn1cbnNlbGVjdCBvcHRpb24ge1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICBmb250LXdlaWdodDogNDAwO1xufVxuXG4uaW5wdXQtY29udGFpbmVyLmhvcml6b250YWwge1xuICBncmlkLWF1dG8tZmxvdzogY29sdW1uICFpbXBvcnRhbnQ7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2Vlbjtcbn1cbi5pbnB1dC1jb250YWluZXI6bm90KC5yYWRpbywgLmNoZWNrYm94KSB7XG4gIC0tbGFiZWwtY29sb3VyOiB2YXIoLS1mb250LWNvbG91cik7XG4gIC0tbGFiZWwtYWN0aXZlLWNvbG91cjogdmFyKC0tdGhlbWUtYWNjZW50KTtcbiAgZGlzcGxheTogZ3JpZDtcbiAgZ3JpZC1nYXA6IDFyZW07XG4gIGdyaWQtYXV0by1mbG93OiByb3c7XG59XG4uaW5wdXQtY29udGFpbmVyOm5vdCgucmFkaW8sIC5jaGVja2JveCkgbGFiZWwge1xuICBjb2xvcjogdmFyKC0tbGFiZWwtY29sb3VyKTtcbiAgdHJhbnNpdGlvbjogY29sb3IgdmFyKC0tdHJhbnNpdGlvbi1kdXJhdGlvbiwgMC4ycykgdmFyKC0tdHJhbnNpdGlvbi1lYXNlLCBjdWJpYy1iZXppZXIoMC40MiwgMCwgMC41OCwgMSkpIHZhcigtLXRyYW5zaXRpb24tZGVsYXksICk7XG59XG4uaW5wdXQtY29udGFpbmVyOm5vdCgucmFkaW8sIC5jaGVja2JveCkgaW5wdXRbbWF4bGVuZ3RoXSwgLmlucHV0LWNvbnRhaW5lcjpub3QoLnJhZGlvLCAuY2hlY2tib3gpIGlucHV0W3NpemVdIHtcbiAgd2lkdGg6IGZpdC1jb250ZW50O1xufVxuLmlucHV0LWNvbnRhaW5lci5yYWRpbywgLmlucHV0LWNvbnRhaW5lci5jaGVja2JveCB7XG4gIC0tbGFiZWwtY29sb3VyOiB2YXIoLS1mb250LWNvbG91cik7XG4gIC0tbGFiZWwtYWN0aXZlLWNvbG91cjogdmFyKC0tdGhlbWUtYWNjZW50KTtcbiAgZGlzcGxheTogZ3JpZDtcbiAgZ3JpZC1nYXA6IDFyZW07XG4gIGdyaWQtYXV0by1mbG93OiBjb2x1bW47XG4gIC0taW5wdXQtd2lkdGg6IDEuMmVtO1xuICAtLWlucHV0LWJvcmRlci10aGlja25lc3M6IDFweDtcbiAgLS1pbnB1dC1hY3RpdmUtY29sb3VyOiAjREYzMDM1O1xufVxuLmlucHV0LWNvbnRhaW5lci5yYWRpbyBsYWJlbCwgLmlucHV0LWNvbnRhaW5lci5jaGVja2JveCBsYWJlbCB7XG4gIGNvbG9yOiB2YXIoLS1sYWJlbC1jb2xvdXIpO1xuICB0cmFuc2l0aW9uOiBjb2xvciB2YXIoLS10cmFuc2l0aW9uLWR1cmF0aW9uLCAwLjJzKSB2YXIoLS10cmFuc2l0aW9uLWVhc2UsIGN1YmljLWJlemllcigwLjQyLCAwLCAwLjU4LCAxKSkgdmFyKC0tdHJhbnNpdGlvbi1kZWxheSwgKTtcbn1cbi5pbnB1dC1jb250YWluZXIucmFkaW8gbGFiZWwsIC5pbnB1dC1jb250YWluZXIuY2hlY2tib3ggbGFiZWwge1xuICBkaXNwbGF5OiBncmlkO1xuICBncmlkLWF1dG8tZmxvdzogY29sdW1uO1xuICBncmlkLWdhcDogdmFyKC0tZ2FwKTtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgd2lkdGg6IGZpdC1jb250ZW50O1xufVxuLmlucHV0LWNvbnRhaW5lci5yYWRpbyBsYWJlbDo6YmVmb3JlLCAuaW5wdXQtY29udGFpbmVyLnJhZGlvIGxhYmVsOjphZnRlciwgLmlucHV0LWNvbnRhaW5lci5jaGVja2JveCBsYWJlbDo6YmVmb3JlLCAuaW5wdXQtY29udGFpbmVyLmNoZWNrYm94IGxhYmVsOjphZnRlciB7XG4gIGdyaWQtcm93OiAxO1xuICBncmlkLWNvbHVtbjogMTtcbiAgY29udGVudDogXCJcIjtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBkaXNwbGF5OiBibG9jaztcbn1cbi5pbnB1dC1jb250YWluZXIucmFkaW8gbGFiZWw6OmJlZm9yZSwgLmlucHV0LWNvbnRhaW5lci5jaGVja2JveCBsYWJlbDo6YmVmb3JlIHtcbiAgd2lkdGg6IHZhcigtLWlucHV0LXdpZHRoKTtcbiAgaGVpZ2h0OiB2YXIoLS1pbnB1dC13aWR0aCk7XG4gIGJhY2tncm91bmQ6ICNGRkZGRkY7XG4gIGJvcmRlcjogdmFyKC0taW5wdXQtYm9yZGVyLXRoaWNrbmVzcywgMXB4KSBzb2xpZCAjOTY5Njk1O1xuICB0cmFuc2l0aW9uOiBib3JkZXItY29sb3IgdmFyKC0tdHJhbnNpdGlvbi1kdXJhdGlvbiwgMC4ycykgdmFyKC0tdHJhbnNpdGlvbi1lYXNlLCBjdWJpYy1iZXppZXIoMC40MiwgMCwgMC41OCwgMSkpIHZhcigtLXRyYW5zaXRpb24tZGVsYXksICk7XG4gIGN1cnNvcjogcG9pbnRlcjtcbn1cbi5pbnB1dC1jb250YWluZXIucmFkaW8gbGFiZWw6OmFmdGVyLCAuaW5wdXQtY29udGFpbmVyLmNoZWNrYm94IGxhYmVsOjphZnRlciB7XG4gIHdpZHRoOiBjYWxjKHZhcigtLWlucHV0LXdpZHRoKSAtIHZhcigtLWlucHV0LWJvcmRlci10aGlja25lc3MpICogNik7XG4gIGhlaWdodDogY2FsYyh2YXIoLS1pbnB1dC13aWR0aCkgLSB2YXIoLS1pbnB1dC1ib3JkZXItdGhpY2tuZXNzKSAqIDYpO1xuICBiYWNrZ3JvdW5kOiB2YXIoLS1pbnB1dC1hY3RpdmUtY29sb3VyKTtcbiAgb3BhY2l0eTogMDtcbiAgbGVmdDogLTEwcHg7XG4gIHRyYW5zaXRpb246IG9wYWNpdHkgdmFyKC0tdHJhbnNpdGlvbi1kdXJhdGlvbiwgMC4ycykgdmFyKC0tdHJhbnNpdGlvbi1lYXNlLCBjdWJpYy1iZXppZXIoMC40MiwgMCwgMC41OCwgMSkpIHZhcigtLXRyYW5zaXRpb24tZGVsYXksICksIHRyYW5zZm9ybSB2YXIoLS10cmFuc2l0aW9uLWR1cmF0aW9uLCAwLjJzKSB2YXIoLS10cmFuc2l0aW9uLWVhc2UsIGN1YmljLWJlemllcigwLjQyLCAwLCAwLjU4LCAxKSkgdmFyKC0tdHJhbnNpdGlvbi1kZWxheSwgKTtcbiAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gIGp1c3RpZnktc2VsZjogY2VudGVyO1xufVxuLmlucHV0LWNvbnRhaW5lci5yYWRpbyBsYWJlbDpob3ZlciwgLmlucHV0LWNvbnRhaW5lci5jaGVja2JveCBsYWJlbDpob3ZlciB7XG4gIC0tbGFiZWwtY29sb3VyOiB2YXIoLS1sYWJlbC1hY3RpdmUtY29sb3VyKTtcbn1cbi5pbnB1dC1jb250YWluZXIucmFkaW8gbGFiZWw6aG92ZXI6OmJlZm9yZSwgLmlucHV0LWNvbnRhaW5lci5jaGVja2JveCBsYWJlbDpob3Zlcjo6YmVmb3JlIHtcbiAgYm9yZGVyLWNvbG9yOiB2YXIoLS1pbnB1dC1hY3RpdmUtY29sb3VyKTtcbn1cbi5pbnB1dC1jb250YWluZXIucmFkaW8gaW5wdXQsIC5pbnB1dC1jb250YWluZXIuY2hlY2tib3ggaW5wdXQge1xuICBkaXNwbGF5OiBub25lO1xufVxuLmlucHV0LWNvbnRhaW5lci5yYWRpbyBpbnB1dDpjaGVja2VkICsgbGFiZWwsIC5pbnB1dC1jb250YWluZXIuY2hlY2tib3ggaW5wdXQ6Y2hlY2tlZCArIGxhYmVsIHtcbiAgY29sb3I6IHZhcigtLWxhYmVsLWFjdGl2ZS1jb2xvdXIpO1xufVxuLmlucHV0LWNvbnRhaW5lci5yYWRpbyBpbnB1dDpjaGVja2VkICsgbGFiZWw6OmFmdGVyLCAuaW5wdXQtY29udGFpbmVyLmNoZWNrYm94IGlucHV0OmNoZWNrZWQgKyBsYWJlbDo6YWZ0ZXIge1xuICBvcGFjaXR5OiAxO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMTBweCk7XG59XG4uaW5wdXQtY29udGFpbmVyLnJhZGlvIGxhYmVsOjpiZWZvcmUsIC5pbnB1dC1jb250YWluZXIucmFkaW8gbGFiZWw6OmFmdGVyIHtcbiAgYm9yZGVyLXJhZGl1czogNTAlO1xufVxuXG4ubXVsdGktaW5wdXQge1xuICAtLWlucHV0LXNwYWNpbmc6IDA7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGdhcDogdmFyKC0taW5wdXQtc3BhY2luZyk7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGZsZXgtd3JhcDogbm93cmFwO1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiBmaXQtY29udGVudDtcbn1cbi5tdWx0aS1pbnB1dCBpbnB1dFt0eXBlPXRleHRdOm5vdChzZWxlY3QpLCAubXVsdGktaW5wdXQgaW5wdXRbdHlwZT1lbWFpbF06bm90KHNlbGVjdCksIC5tdWx0aS1pbnB1dCBpbnB1dFt0eXBlPW51bWJlcl06bm90KHNlbGVjdCksIC5tdWx0aS1pbnB1dCBpbnB1dFt0eXBlPXNlYXJjaF06bm90KHNlbGVjdCksIC5tdWx0aS1pbnB1dCBzZWxlY3Q6bm90KHNlbGVjdCksIC5tdWx0aS1pbnB1dCB0ZXh0YXJlYTpub3Qoc2VsZWN0KSB7XG4gIGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLWJvcmRlci1jb2xvdXIpO1xuICBib3JkZXItcmlnaHQ6IDA7XG59XG4ubXVsdGktaW5wdXQgPiAqOm5vdChzZWxlY3QsIGJ1dHRvbiwgYSkge1xuICBmbGV4OiAxO1xufVxuLm11bHRpLWlucHV0IHNlbGVjdCwgLm11bHRpLWlucHV0IGJ1dHRvbiwgLm11bHRpLWlucHV0IGEge1xuICAtLWZvbnQtY29sb3VyOiAjRkZGRkZGO1xuICAtLWJhY2tncm91bmQtY29sb3VyOiAjREYzMDM1O1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICBib3JkZXItbGVmdDogMXB4IHNvbGlkIHZhcigtLWJvcmRlci1jb2xvdXIpO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1iYWNrZ3JvdW5kLWNvbG91cik7XG4gIGNvbG9yOiB2YXIoLS1mb250LWNvbG91cik7XG4gIGZvbnQtd2VpZ2h0OiA2MDA7XG59XG4ubXVsdGktaW5wdXQgc2VsZWN0IHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiZGF0YTppbWFnZS9zdmcreG1sLCUzQ3N2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHdpZHRoPScxNy40JyBoZWlnaHQ9JzEwLjEnJTNFJTNDcGF0aCBkPSdNMTYuNy43bC04IDgtOC04JyBmaWxsPSdub25lJyBzdHJva2U9JyUyM0ZGRkZGRicgc3Ryb2tlLXdpZHRoPScyJyBzdHJva2UtbWl0ZXJsaW1pdD0nMTAnLyUzRSUzQy9zdmclM0VcIik7XG59XG5cbnJhZGlvLXRhYnMge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LXdyYXA6IG5vd3JhcDtcbiAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xufVxucmFkaW8tdGFicyByYWRpby10YWIge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBmb250LXdlaWdodDogNDAwO1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICBwYWRkaW5nLWJvdHRvbTogY2FsYyh2YXIoLS1nYXApICogMC41KTtcbn1cbnJhZGlvLXRhYnMgcmFkaW8tdGFiIGlucHV0IHtcbiAgZGlzcGxheTogbm9uZTtcbn1cbnJhZGlvLXRhYnMgcmFkaW8tdGFiIGlucHV0OmNoZWNrZWQgKyBsYWJlbCB7XG4gIGZvbnQtd2VpZ2h0OiA2MDA7XG59XG5yYWRpby10YWJzIHJhZGlvLXRhYiBpbnB1dDpjaGVja2VkICsgbGFiZWw6OmFmdGVyIHtcbiAgYmFja2dyb3VuZDogdmFyKC0tdGhlbWUtYWNjZW50KTtcbn1cbnJhZGlvLXRhYnMgcmFkaW8tdGFiIGlucHV0Om5vdCg6Y2hlY2tlZCkgKyBsYWJlbDpob3Zlcjo6YWZ0ZXIge1xuICBiYWNrZ3JvdW5kOiB2YXIoLS10aGVtZS1hY2NlbnQpO1xufVxucmFkaW8tdGFicyByYWRpby10YWIgbGFiZWwge1xuICBjb2xvcjogdmFyKC0tZm9udC1jb2xvdXIpO1xuICBjdXJzb3I6IHBvaW50ZXI7XG59XG5yYWRpby10YWJzIHJhZGlvLXRhYiBsYWJlbDo6YWZ0ZXIge1xuICBjb250ZW50OiBcIlwiO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGJvdHRvbTogMDtcbiAgbGVmdDogMDtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogM3B4O1xuICBiYWNrZ3JvdW5kOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDApO1xuICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kIHZhcigtLXRyYW5zaXRpb24tZHVyYXRpb24sIDAuMnMpIHZhcigtLXRyYW5zaXRpb24tZWFzZSwgY3ViaWMtYmV6aWVyKDAuNDIsIDAsIDAuNTgsIDEpKSB2YXIoLS10cmFuc2l0aW9uLWRlbGF5LCApO1xufVxuXG5mb3JtIFt0eXBlPXN1Ym1pdF0ge1xuICB0cmFuc2l0aW9uOiBvcGFjaXR5IHZhcigtLXRyYW5zaXRpb24tZHVyYXRpb24sIDAuMnMpIHZhcigtLXRyYW5zaXRpb24tZWFzZSwgY3ViaWMtYmV6aWVyKDAuNDIsIDAsIDAuNTgsIDEpKSB2YXIoLS10cmFuc2l0aW9uLWRlbGF5LCApO1xufVxuZm9ybTppbnZhbGlkIFt0eXBlPXN1Ym1pdF0ge1xuICBjdXJzb3I6IG5vdC1hbGxvd2VkO1xuICBvcGFjaXR5OiAwLjU7XG59XG5cbmZvcm1bZGF0YS1mcmVlZm9ybV0gaDMsIGZvcm1bZGF0YS1mcmVlZm9ybV0gaDQsIGZvcm1bZGF0YS1mcmVlZm9ybV0gaDUsIGZvcm1bZGF0YS1mcmVlZm9ybV0gaDYge1xuICBmb250LXNpemU6IDEuMjVlbTtcbiAgbGluZS1oZWlnaHQ6IDEuMztcbn1cbmZvcm1bZGF0YS1mcmVlZm9ybV0gLmZmLWZvcm0tc3VjY2VzcyB7XG4gIC0tZm9udC1jb2xvdXI6ICM1MEJDMDg7XG4gIG1hcmdpbi1ib3R0b206IGNhbGModmFyKC0tZ2FwKSAqIDIpO1xufVxuZm9ybVtkYXRhLWZyZWVmb3JtXSAuZmYtZm9ybS1zdWNjZXNzIHAge1xuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xufVxuZm9ybVtkYXRhLWZyZWVmb3JtXSAuZmYtZm9ybS1zdWNjZXNzIHA6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IHVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbCwlM0NzdmcgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyB2aWV3Qm94PScwIDAgMTYgMTYnJTNFJTNDY2lyY2xlIGZpbGw9JyUyMzUwQkMwOCcgY3g9JzgnIGN5PSc4JyByPSc4Jy8lM0UlM0NwYXRoIGZpbGw9J25vbmUnIHN0cm9rZT0nd2hpdGUnIHN0cm9rZS13aWR0aD0nMS40JyBzdHJva2UtbGluZWNhcD0ncm91bmQnIHN0cm9rZS1saW5lam9pbj0ncm91bmQnIHN0cm9rZS1taXRlcmxpbWl0PScxMCcgZD0nTTMuNSA4LjRsMi43IDIuNyA2LjMtNi4zJy8lM0UlM0Mvc3ZnJTNFXCIpO1xuICBkaXNwbGF5OiBibG9jaztcbiAgbWFyZ2luLXJpZ2h0OiB2YXIoLS1nYXApO1xuICB3aWR0aDogMS4yNWVtO1xuICBoZWlnaHQ6IDEuMjVlbTtcbn1cbmZvcm1bZGF0YS1mcmVlZm9ybV0gLmZmLWZvcm0tZXJyb3JzIHtcbiAgLS1mb250LWNvbG91cjogI0RGMzAzNTtcbiAgbWFyZ2luLWJvdHRvbTogY2FsYyh2YXIoLS1nYXApICogMik7XG59XG5mb3JtW2RhdGEtZnJlZWZvcm1dIC5mZi1lcnJvcnMge1xuICAtLWZvbnQtY29sb3VyOiAjREYzMDM1O1xuICBtYXJnaW4tdG9wOiB2YXIoLS1nYXApO1xuICBjb2xvcjogdmFyKC0tZm9udC1jb2xvdXIpO1xufVxuZm9ybVtkYXRhLWZyZWVmb3JtXSAuZm9ybS1maWVsZHMge1xuICBkaXNwbGF5OiBncmlkO1xuICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDEwMCU7XG4gIGdyaWQtZ2FwOiB2YXIoLS1nYXApO1xufVxuZm9ybVtkYXRhLWZyZWVmb3JtXSAuZm9ybS1maWVsZHMgLmZyZWVmb3JtLXJvdyB7XG4gIGRpc3BsYXk6IGdyaWQ7XG4gIGdyaWQtZ2FwOiAycmVtO1xuICBncmlkLWF1dG8tZmxvdzogY29sdW1uO1xuICBoZWlnaHQ6IGZpdC1jb250ZW50O1xufVxuZm9ybVtkYXRhLWZyZWVmb3JtXSAuZm9ybS1maWVsZHMgLmZyZWVmb3JtLXJvdyAuZnJlZWZvcm0tY29sdW1uIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xufVxuZm9ybVtkYXRhLWZyZWVmb3JtXSAuZm9ybS1maWVsZHMgLmZyZWVmb3JtLXJvdyAuZnJlZWZvcm0tY29sdW1uIGgzLCBmb3JtW2RhdGEtZnJlZWZvcm1dIC5mb3JtLWZpZWxkcyAuZnJlZWZvcm0tcm93IC5mcmVlZm9ybS1jb2x1bW4gaDQsIGZvcm1bZGF0YS1mcmVlZm9ybV0gLmZvcm0tZmllbGRzIC5mcmVlZm9ybS1yb3cgLmZyZWVmb3JtLWNvbHVtbiBoNSwgZm9ybVtkYXRhLWZyZWVmb3JtXSAuZm9ybS1maWVsZHMgLmZyZWVmb3JtLXJvdyAuZnJlZWZvcm0tY29sdW1uIGg2IHtcbiAgbWFyZ2luLXRvcDogY2FsYyh2YXIoLS1nYXApICogMik7XG59XG5mb3JtW2RhdGEtZnJlZWZvcm1dIC5mb3JtLWZpZWxkcyAuZnJlZWZvcm0tcm93IC5mcmVlZm9ybS1jb2x1bW4uZnJlZWZvcm0tY29sdW1uLWNvbnRlbnQtYWxpZ24tcmlnaHQge1xuICB0ZXh0LWFsaWduOiByaWdodDtcbn1cbmZvcm1bZGF0YS1mcmVlZm9ybV0gLmZvcm0tZmllbGRzIC5mcmVlZm9ybS1yb3cgLmZyZWVmb3JtLWNvbHVtbiBsYWJlbDpub3QoLmZyZWVmb3JtLWlucHV0LW9ubHktbGFiZWwpIHtcbiAgb3BhY2l0eTogMC43O1xufVxuZm9ybVtkYXRhLWZyZWVmb3JtXSAuZm9ybS1maWVsZHMgLmZyZWVmb3JtLXJvdyAuZnJlZWZvcm0tY29sdW1uIGxhYmVsOm5vdCguZnJlZWZvcm0taW5wdXQtb25seS1sYWJlbCkgKyAuZnJlZWZvcm0taW5wdXQge1xuICBtYXJnaW4tdG9wOiBjYWxjKHZhcigtLWdhcCkgLyAyKTtcbn1cbmZvcm1bZGF0YS1mcmVlZm9ybV0gLmZvcm0tZmllbGRzIHJlcXVpcmVkLW5vdGljZSB7XG4gIC0tbm90aWNlLWNvbG91cjogI0RGMzAzNTtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAwO1xuICByaWdodDogMTBweDtcbiAgY29sb3I6IHZhcigtLW5vdGljZS1jb2xvdXIpO1xuICBmb250LXNpemU6IDEuNWVtO1xufVxuZm9ybVtkYXRhLWZyZWVmb3JtXSAuZm9ybS1maWVsZHMgcmVxdWlyZWQtbm90aWNlIHNwYW4ge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHJpZ2h0OiAtMTAwJTtcbiAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gIGZvbnQtc2l6ZTogMS41cmVtO1xuICBvcGFjaXR5OiAwO1xufVxuZm9ybVtkYXRhLWhhbmRsZT1tYXJrZXRTZWN0b3JGb3JtXSB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG59XG5mb3JtW2RhdGEtaGFuZGxlPW1hcmtldFNlY3RvckZvcm1dIC5mZi1mb3JtLWVycm9ycywgZm9ybVtkYXRhLWhhbmRsZT1tYXJrZXRTZWN0b3JGb3JtXSAuZmYtZm9ybS1zdWNjZXNzIHtcbiAgb3JkZXI6IDEwO1xuICBiYWNrZ3JvdW5kOiB3aGl0ZTtcbiAgcGFkZGluZzogdmFyKC0tZ3V0dGVyMCkgdmFyKC0tZ3V0dGVyMSk7XG4gIG1hcmdpbi10b3A6IHZhcigtLWd1dHRlcjEpO1xufVxuZm9ybVtkYXRhLWhhbmRsZT1tYXJrZXRTZWN0b3JGb3JtXSAuZmYtZm9ybS1lcnJvcnMgcCwgZm9ybVtkYXRhLWhhbmRsZT1tYXJrZXRTZWN0b3JGb3JtXSAuZmYtZm9ybS1zdWNjZXNzIHAge1xuICBjb2xvcjogd2hpdGU7XG59XG5mb3JtW2RhdGEtaGFuZGxlPW1hcmtldFNlY3RvckZvcm1dIC5mZi1mb3JtLWVycm9ycyB1bCBsaSwgZm9ybVtkYXRhLWhhbmRsZT1tYXJrZXRTZWN0b3JGb3JtXSAuZmYtZm9ybS1zdWNjZXNzIHVsIGxpIHtcbiAgY29sb3I6IHdoaXRlO1xufVxuZm9ybVtkYXRhLWhhbmRsZT1tYXJrZXRTZWN0b3JGb3JtXSAuZmYtZm9ybS1lcnJvcnMge1xuICBiYWNrZ3JvdW5kOiBkYXJrcmVkO1xufVxuZm9ybVtkYXRhLWhhbmRsZT1tYXJrZXRTZWN0b3JGb3JtXSAuZmYtZm9ybS1zdWNjZXNzIHtcbiAgYmFja2dyb3VuZDogIzIxOGIwMDtcbn1cbmZvcm1bZGF0YS1oYW5kbGU9bWFya2V0U2VjdG9yRm9ybV0sIGZvcm1bZGF0YS1oYW5kbGU9Y29udGFjdF0ge1xuICAtLXN1Ym1pdC1oZWlnaHQ6IDQxcHg7XG59XG5mb3JtW2RhdGEtaGFuZGxlPW1hcmtldFNlY3RvckZvcm1dIC5mb3JtLWZpZWxkcyBsYWJlbDpub3QoLmZyZWVmb3JtLWlucHV0LW9ubHktbGFiZWwpLCBmb3JtW2RhdGEtaGFuZGxlPWNvbnRhY3RdIC5mb3JtLWZpZWxkcyBsYWJlbDpub3QoLmZyZWVmb3JtLWlucHV0LW9ubHktbGFiZWwpIHtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbn1cbmZvcm1bZGF0YS1oYW5kbGU9bWFya2V0U2VjdG9yRm9ybV0gLmZvcm0tZmllbGRzIC5tZXNzYWdlLCBmb3JtW2RhdGEtaGFuZGxlPW1hcmtldFNlY3RvckZvcm1dIC5mb3JtLWZpZWxkcyAuc3VibWl0LXJvdywgZm9ybVtkYXRhLWhhbmRsZT1jb250YWN0XSAuZm9ybS1maWVsZHMgLm1lc3NhZ2UsIGZvcm1bZGF0YS1oYW5kbGU9Y29udGFjdF0gLmZvcm0tZmllbGRzIC5zdWJtaXQtcm93IHtcbiAgZ3JpZC1yb3c6IDU7XG4gIGdyaWQtY29sdW1uOiAxO1xufVxuZm9ybVtkYXRhLWhhbmRsZT1tYXJrZXRTZWN0b3JGb3JtXSAuZm9ybS1maWVsZHMgLm1lc3NhZ2UgLmZyZWVmb3JtLWNvbHVtbiwgZm9ybVtkYXRhLWhhbmRsZT1jb250YWN0XSAuZm9ybS1maWVsZHMgLm1lc3NhZ2UgLmZyZWVmb3JtLWNvbHVtbiB7XG4gIGRpc3BsYXk6IGdyaWQ7XG59XG5mb3JtW2RhdGEtaGFuZGxlPW1hcmtldFNlY3RvckZvcm1dIC5mb3JtLWZpZWxkcyB0ZXh0YXJlYVtuYW1lPW1lc3NhZ2VdLCBmb3JtW2RhdGEtaGFuZGxlPWNvbnRhY3RdIC5mb3JtLWZpZWxkcyB0ZXh0YXJlYVtuYW1lPW1lc3NhZ2VdIHtcbiAgei1pbmRleDogMTtcbiAgcGFkZGluZy1ib3R0b206IGNhbGMoNDFweCArIHZhcigtLWdhcCkpO1xufVxuZm9ybVtkYXRhLWhhbmRsZT1tYXJrZXRTZWN0b3JGb3JtXSAuZm9ybS1maWVsZHMgLnN1Ym1pdC1yb3csIGZvcm1bZGF0YS1oYW5kbGU9Y29udGFjdF0gLmZvcm0tZmllbGRzIC5zdWJtaXQtcm93IHtcbiAgd2lkdGg6IDEwMCU7XG4gIHotaW5kZXg6IDE7XG4gIG1hcmdpbjogYXV0byAwIDAgYXV0bztcbn1cbmZvcm1bZGF0YS1oYW5kbGU9bWFya2V0U2VjdG9yRm9ybV0gLmZvcm0tZmllbGRzIC5zdWJtaXQtcm93IGJ1dHRvbiwgZm9ybVtkYXRhLWhhbmRsZT1jb250YWN0XSAuZm9ybS1maWVsZHMgLnN1Ym1pdC1yb3cgYnV0dG9uIHtcbiAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gIHotaW5kZXg6IDI7XG59XG5mb3JtW2RhdGEtaGFuZGxlPWNyZWRpdEFwcGxpY2F0aW9uXSAuZnJlZWZvcm0tcm93Om50aC1sYXN0LW9mLXR5cGUoLW4rMiksIGZvcm1bZGF0YS1oYW5kbGU9Y3JlZGl0QXBwbGljYXRpb25dIC5mcmVlZm9ybS1yb3c6bnRoLWxhc3Qtb2YtdHlwZSgtbisxKSB7XG4gIG1hcmdpbi10b3A6IDJyZW07XG59XG5mb3JtW2RhdGEtaGFuZGxlPWNyZWRpdEFwcGxpY2F0aW9uXSAuZnJlZWZvcm0tcm93Omxhc3Qtb2YtdHlwZSB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtd3JhcDogd3JhcDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG59XG5cbmh0bWwge1xuICBvdmVyZmxvdy14OiBoaWRkZW47XG59XG5cbmJvZHkge1xuICBvdmVyZmxvdy14OiBpbml0aWFsO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS10aGVtZS1jb250ZW50LWJhY2tncm91bmQpO1xufVxuYm9keSNzZWFyY2ggLnN1YmhlYWRpbmcge1xuICBtYXJnaW4tcmlnaHQ6IDJyZW07XG59XG5ib2R5I3NlYXJjaCAuc3ViaGVhZGluZyB1IHtcbiAgd2hpdGUtc3BhY2U6IHByZS1saW5lO1xuICB3b3JkLWJyZWFrOiBicmVhay13b3JkO1xufVxuXG4uZC1ub25lIHtcbiAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xufVxuXG5maWd1cmUuaW1hZ2UsIHBpY3R1cmUuaW1hZ2Uge1xuICBkaXNwbGF5OiBibG9jaztcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogdmFyKC0tcG9zaXRpb24sIGNlbnRlciAzMyUpO1xuICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xuICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG59XG5maWd1cmUuaW1hZ2UgaW1nLCBwaWN0dXJlLmltYWdlIGltZyB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIG9iamVjdC1maXQ6IGNvdmVyO1xuICBvYmplY3QtcG9zaXRpb246IHZhcigtLWltYWdlLXBvc2l0aW9uLCBjZW50ZXIgMzMuMzMlKTtcbiAgd2lkdGg6IHZhcigtLWltYWdlLXNpemUsIHZhcigtLWltYWdlLXdpZHRoLXNpemUsIDEwMCUpKTtcbiAgaGVpZ2h0OiB2YXIoLS1pbWFnZS1zaXplLCB2YXIoLS1pbWFnZS1oZWlnaHQtc2l6ZSwgMTAwJSkpO1xuICBtYXgtd2lkdGg6IHZhcigtLWltYWdlLXNpemUsIHZhcigtLWltYWdlLXdpZHRoLXNpemUsIDEwMCUpKTtcbiAgbWF4LWhlaWdodDogdmFyKC0taW1hZ2Utc2l6ZSwgdmFyKC0taW1hZ2UtaGVpZ2h0LXNpemUsIDEwMCUpKTtcbiAgdG9wOiAwO1xuICBsZWZ0OiAwO1xufVxuXG52aWRlby1jb250YWluZXIge1xuICAtLWFzcGVjdC1yYXRpbzogMTYvOTtcbiAgYXNwZWN0LXJhdGlvOiB2YXIoLS1hc3BlY3QtcmF0aW8pO1xuICBkaXNwbGF5OiBibG9jaztcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB3aWR0aDogMTAwJTtcbiAgYmFja2dyb3VuZC1jb2xvcjogYmxhY2s7XG59XG5Ac3VwcG9ydHMgbm90IChhc3BlY3QtcmF0aW86IDE2LzkpIHtcbiAgdmlkZW8tY29udGFpbmVyIHtcbiAgICBhc3BlY3QtcmF0aW86IGluaXRpYWw7XG4gICAgcGFkZGluZy1ib3R0b206IGNhbGMoMTAwJSAvICh2YXIoLS1hc3BlY3QtcmF0aW8pKSk7XG4gICAgaGVpZ2h0OiAwO1xuICB9XG4gIHZpZGVvLWNvbnRhaW5lciA+ICoge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgfVxufVxudmlkZW8tY29udGFpbmVyIGlmcmFtZSwgdmlkZW8tY29udGFpbmVyIGNhbnZhcyB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHRvcDogMDtcbiAgbGVmdDogMDtcbiAgaGVpZ2h0OiAxMDAlICFpbXBvcnRhbnQ7XG4gIHdpZHRoOiAxMDAlICFpbXBvcnRhbnQ7XG59XG5cbm1hcmsge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDA5NUZGO1xuICBjb2xvcjogd2hpdGU7XG4gIGJvcmRlci1yYWRpdXM6IGNhbGModmFyKC0tYm9yZGVyLXJhZGl1cywgNnB4KSAvIDIpO1xuICBwYWRkaW5nOiAwIDVweDtcbiAgdHJhbnNpdGlvbjogY29sb3IgdmFyKC0tdHJhbnNpdGlvbi1kdXJhdGlvbiwgMC4ycykgdmFyKC0tdHJhbnNpdGlvbi1lYXNlLCBjdWJpYy1iZXppZXIoMC40MiwgMCwgMC41OCwgMSkpIHZhcigtLXRyYW5zaXRpb24tZGVsYXksICksIGJhY2tncm91bmQtY29sb3IgdmFyKC0tdHJhbnNpdGlvbi1kdXJhdGlvbiwgMC4ycykgdmFyKC0tdHJhbnNpdGlvbi1lYXNlLCBjdWJpYy1iZXppZXIoMC40MiwgMCwgMC41OCwgMSkpIHZhcigtLXRyYW5zaXRpb24tZGVsYXksICk7XG59XG5cbi5zci1vbmx5IHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB3aWR0aDogMXB4O1xuICBoZWlnaHQ6IDFweDtcbiAgcGFkZGluZzogMDtcbiAgbWFyZ2luOiAtMXB4O1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBjbGlwOiByZWN0KDAsIDAsIDAsIDApO1xuICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICBib3JkZXItd2lkdGg6IDA7XG59XG5cbmRldGFpbHMge1xuICBvdXRsaW5lOiBub25lO1xufVxuZGV0YWlsc1tvcGVuXSBzdW1tYXJ5ID4gc3ZnIHtcbiAgdHJhbnNmb3JtOiByb3RhdGUoOTBkZWcpO1xufVxuXG5zdW1tYXJ5IHtcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lO1xuICBjdXJzb3I6IHBvaW50ZXI7XG59XG5zdW1tYXJ5Ojotd2Via2l0LWRldGFpbHMtbWFya2VyLCBzdW1tYXJ5OjptYXJrZXIge1xuICBkaXNwbGF5OiBub25lO1xufVxuXG4ub3ZlcmZsb3ctaGlkZGVuIHtcbiAgb3ZlcmZsb3c6IGhpZGRlbiAhaW1wb3J0YW50O1xufVxuXG4uaGlkZSB7XG4gIG9wYWNpdHk6IDAgIWltcG9ydGFudDtcbiAgcG9pbnRlci1ldmVudHM6IG5vbmUgIWltcG9ydGFudDtcbn1cblxuLmJ1dHRvbiB7XG4gIC0tYmFja2dyb3VuZC1jb2xvdXI6ICNERjMwMzU7XG4gIC0tZm9udC1jb2xvdXI6IHdoaXRlO1xuICAtLWljb24tc2l6ZTogMC44ZW07XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LXdyYXA6IG5vd3JhcDtcbiAgZ3JpZC1nYXA6IGNhbGModmFyKC0tZ2FwKSAqIDAuNSk7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIHdvcmQtYnJlYWs6IGJyZWFrLWFsbDtcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgbGluZS1oZWlnaHQ6IDE7XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIGhlaWdodDogZml0LWNvbnRlbnQ7XG4gIHBhZGRpbmc6IDEuMjVyZW0gM3JlbSAxLjI1cmVtIDRyZW07XG4gIGZvbnQtc2l6ZTogMTZweDtcbiAgYmFja2dyb3VuZDogdmFyKC0tYmFja2dyb3VuZC1jb2xvdXIpO1xuICBjb2xvcjogdmFyKC0tZm9udC1jb2xvdXIpO1xuICBjbGlwLXBhdGg6IHBvbHlnb24oMCUgMTAwJSwgMTVweCAwJSwgMTAwJSAwJSwgMTAwJSAxMDAlKTtcbn1cbi5idXR0b24gPiBzdmcge1xuICB3aWR0aDogdmFyKC0taWNvbi1zaXplKTtcbiAgaGVpZ2h0OiB2YXIoLS1pY29uLXNpemUpO1xufVxuLmJ1dHRvbltkaXNhYmxlZF0ge1xuICBvcGFjaXR5OiAwLjQ7XG4gIHBvaW50ZXItZXZlbnRzOiBub25lO1xufVxuLmJ1dHRvbjpub3QoW2Rpc2FibGVkXSk6aG92ZXIge1xuICB0ZXh0LWRlY29yYXRpb24tbGluZTogbm9uZTtcbiAgdGV4dC1kZWNvcmF0aW9uLWNvbG9yOiB0cmFuc3BhcmVudDtcbn1cbi5idXR0b246bm90KFtkaXNhYmxlZF0pOmhvdmVyOjpiZWZvcmUge1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoY2FsYygxMDAlIC0gMTVweCkpO1xufVxuLmJ1dHRvbi5zbWFsbCB7XG4gIHBhZGRpbmc6IDAuOXJlbSAycmVtIDAuOXJlbSAzcmVtO1xuICBmb250LXNpemU6IDEycHg7XG59XG4uYnV0dG9uLmxhcmdlIHtcbiAgcGFkZGluZzogMS40cmVtIDNyZW0gMS40cmVtIDQuMjVyZW07XG4gIGZvbnQtc2l6ZTogMThweDtcbn1cbi5idXR0b246OmJlZm9yZSB7XG4gIC0tdHJhbnNpdGlvbi1kdXJhdGlvbjogMC4zcztcbiAgY29udGVudDogXCJcIjtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDA7XG4gIGxlZnQ6IC0xMDAlO1xuICB3aWR0aDogY2FsYygxMDAlICsgMTVweCk7XG4gIGhlaWdodDogMTAwJTtcbiAgYmFja2dyb3VuZDogdmFyKC0tYmFja2dyb3VuZC1jb2xvdXIpO1xuICBmaWx0ZXI6IGJyaWdodG5lc3MoMTIwJSk7XG4gIGNsaXAtcGF0aDogcG9seWdvbigwJSAxMDAlLCAwJSAwJSwgMTAwJSAwJSwgY2FsYygxMDAlIC0gMTVweCkgMTAwJSk7XG4gIHotaW5kZXg6IC0xO1xuICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gdmFyKC0tdHJhbnNpdGlvbi1kdXJhdGlvbiwgMC4ycykgdmFyKC0tdHJhbnNpdGlvbi1lYXNlLCBjdWJpYy1iZXppZXIoMC40MiwgMCwgMC41OCwgMSkpIHZhcigtLXRyYW5zaXRpb24tZGVsYXksICk7XG59XG5cbi5idXR0b24gc3ZnLCBidXR0b24gc3ZnIHtcbiAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG59XG5cbnBpY3R1cmUge1xuICBkaXNwbGF5OiBibG9jaztcbn1cblxuLnJlc3VsdC1pdGVtIHtcbiAgLS1oZWFkaW5nLWNvbG91cjogIzEzMWY2YjtcbiAgLS1ib3JkZXItdGhpY2tuZXNzOiAxcHg7XG4gIC0tYm9yZGVyLXJhZGl1czogMHB4O1xuICAtLWJhY2tncm91bmQtY29sb3VyOiB3aGl0ZTtcbiAgLS1wYWRkaW5nOiAycmVtO1xuICAtLXBhZGRpbmctbGVmdDogdmFyKC0tcGFkZGluZyk7XG4gIC0tcGFkZGluZy1yaWdodDogdmFyKC0tcGFkZGluZyk7XG4gIC0tcGFkZGluZy10b3A6IHZhcigtLXBhZGRpbmcpO1xuICAtLXBhZGRpbmctYm90dG9tOiB2YXIoLS1wYWRkaW5nKTtcbiAgLS1pbWFnZS13aWR0aDogMTAwcHg7XG4gIC0taW1hZ2UtaGVpZ2h0OiAxMDBweDtcbiAgLS1ncmlkLWdhcDogdmFyKC0tZ2FwKTtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBwYWRkaW5nOiB2YXIoLS1wYWRkaW5nLXRvcCkgdmFyKC0tcGFkZGluZy1yaWdodCkgdmFyKC0tcGFkZGluZy1ib3R0b20pIHZhcigtLXBhZGRpbmctbGVmdCk7XG4gIGJvcmRlcjogdmFyKC0tYm9yZGVyLXRoaWNrbmVzcykgc29saWQgcmdiYSgyNTUsIDI1NSwgMjU1LCAwKTtcbiAgYm9yZGVyLXJhZGl1czogdmFyKC0tYm9yZGVyLXJhZGl1cywgNnB4KTtcbiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmFja2dyb3VuZC1jb2xvdXIpO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICB0cmFuc2l0aW9uOiBib3JkZXIgdmFyKC0tdHJhbnNpdGlvbi1kdXJhdGlvbiwgMC4ycykgdmFyKC0tdHJhbnNpdGlvbi1lYXNlLCBjdWJpYy1iZXppZXIoMC40MiwgMCwgMC41OCwgMSkpIHZhcigtLXRyYW5zaXRpb24tZGVsYXksICk7XG4gIGRpc3BsYXk6IGdyaWQ7XG4gIGdyaWQtZ2FwOiB2YXIoLS1ncmlkLWdhcCkgdmFyKC0tZ3JpZC1nYXApO1xufVxuLnJlc3VsdC1pdGVtIC5yZXN1bHQtaW1hZ2Uge1xuICBncmlkLWFyZWE6IGltYWdlO1xuICBkaXNwbGF5OiBibG9jaztcbn1cbi5yZXN1bHQtaXRlbSAucmVzdWx0LWltYWdlIHBpY3R1cmUge1xuICBoZWlnaHQ6IHZhcigtLWltYWdlLWhlaWdodCk7XG59XG4ucmVzdWx0LWl0ZW0gLnJlc3VsdC1pbWFnZSBwaWN0dXJlIGltZyB7XG4gIHdpZHRoOiB2YXIoLS1pbWFnZS1oZWlnaHQpO1xuICBoZWlnaHQ6IHZhcigtLWltYWdlLXdpZHRoKTtcbn1cbi5yZXN1bHQtaXRlbSAucmVzdWx0LXRpdGxlIHtcbiAgZ3JpZC1hcmVhOiB0aXRsZTtcbiAgY29sb3I6IHZhcigtLWhlYWRpbmctY29sb3VyKTtcbn1cbi5yZXN1bHQtaXRlbSAucmVzdWx0LXRpdGxlIGEge1xuICBjb2xvcjogdmFyKC0taGVhZGluZy1jb2xvdXIpO1xufVxuLnJlc3VsdC1pdGVtIC5yZXN1bHQtc3VidGl0bGUge1xuICBncmlkLWFyZWE6IHN1YnRpdGxlO1xufVxuLnJlc3VsdC1pdGVtIC5yZXN1bHQtYm9keSB7XG4gIGdyaWQtYXJlYTogYm9keTtcbn1cbi5yZXN1bHQtaXRlbS5ibG9nIHtcbiAgLS1wYWRkaW5nOiA0cmVtO1xuICAtLWJvcmRlci10aGlja25lc3M6IDA7XG4gIC0tYm9yZGVyLXJhZGl1czogMDtcbiAgZ3JpZC10ZW1wbGF0ZS1hcmVhczogXCJzdWJ0aXRsZVwiIFwidGl0bGVcIiBcImJvZHlcIjtcbn1cbi5yZXN1bHQtaXRlbS5ibG9nIC5yZXN1bHQtaW1hZ2Uge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMDtcbiAgcmlnaHQ6IDA7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDEwMCU7XG4gIHBvaW50ZXItZXZlbnRzOiBub25lO1xufVxuLnJlc3VsdC1pdGVtLmJsb2cgLnJlc3VsdC1pbWFnZSBpbWcge1xuICB3aWR0aDogMTAwJTtcbiAgb2JqZWN0LWZpdDogY292ZXI7XG59XG4ucmVzdWx0LWl0ZW0uYmxvZyAucmVzdWx0LWltYWdlOjphZnRlciB7XG4gIGNvbnRlbnQ6IFwiXCI7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAwO1xuICByaWdodDogMDtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogMTAwJTtcbiAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KDEyMGRlZywgd2hpdGUgNDUlLCB0cmFuc3BhcmVudCAxMjAlKTtcbn1cbi5yZXN1bHQtaXRlbS5ibG9nIC5yZXN1bHQtdGl0bGUsIC5yZXN1bHQtaXRlbS5ibG9nIC5yZXN1bHQtc3VidGl0bGUge1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xufVxuLnJlc3VsdC1pdGVtLmJsb2cgLnJlc3VsdC10aXRsZSB7XG4gIGZvbnQtc2l6ZTogMS4yNWVtO1xuICBsaW5lLWhlaWdodDogMS4zO1xuICBsaW5lLWhlaWdodDogMS4zO1xufVxuLnJlc3VsdC1pdGVtLmJsb2cgLnJlc3VsdC1zdWJ0aXRsZSB7XG4gIC0taGVhZGluZy1jb2xvdXI6ICNERjMwMzU7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG59XG4ucmVzdWx0LWl0ZW0uYmxvZyAucmVzdWx0LXN1YnRpdGxlIGg0LCAucmVzdWx0LWl0ZW0uYmxvZyAucmVzdWx0LXN1YnRpdGxlIHRpbWUge1xuICBmb250LXNpemU6IDEuNXJlbTtcbiAgaGVpZ2h0OiAxMDAlO1xufVxuLnJlc3VsdC1pdGVtLmJsb2cgLnJlc3VsdC1zdWJ0aXRsZSB0aW1lIHtcbiAgY29sb3I6ICM5Njk2OTU7XG59XG4ucmVzdWx0LWl0ZW0uYmxvZyAucmVzdWx0LWJvZHkge1xuICAtLWZvbnQtY29sb3VyOiAjMUUxQTFBO1xufVxuLnJlc3VsdC1pdGVtLmJsb2cuZmVhdHVyZWQge1xuICAtLXBhZGRpbmctcmlnaHQ6IDVyZW07XG4gIGdyaWQtY29sdW1uOiAxL3NwYW4gMjtcbn1cbi5yZXN1bHQtaXRlbS5ibG9nLmZlYXR1cmVkIC5yZXN1bHQtdGl0bGUge1xuICBmb250LXdlaWdodDogODAwO1xuICBmb250LXNpemU6IDJlbTtcbn1cbi5yZXN1bHQtaXRlbS5ibG9nLmZlYXR1cmVkOjpiZWZvcmUge1xuICBjb250ZW50OiBcIkZFQVRVUkVEXCI7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAwO1xuICBwYWRkaW5nOiAwLjdyZW0gMnJlbSAwLjdyZW0gM3JlbTtcbiAgaGVpZ2h0OiAzOXB4O1xuICBiYWNrZ3JvdW5kOiAjZWQ2MjI0O1xuICBjb2xvcjogI0ZGRkZGRjtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoMCwgLTAuNXB4KSB0cmFuc2xhdGVYKC0xMDAlKSB0cmFuc2xhdGVZKC0xMDAlKSByb3RhdGUoLTkwZGVnKTtcbiAgdHJhbnNmb3JtLW9yaWdpbjogYm90dG9tIHJpZ2h0O1xuICBjbGlwLXBhdGg6IHBvbHlnb24oMCUgMTAwJSwgMTVweCAwJSwgMTAwJSAwJSwgMTAwJSAxMDAlKTtcbiAgbGVmdDogMTAwJTtcbiAgei1pbmRleDogMTtcbn1cbi5yZXN1bHQtaXRlbS5ibG9nIC5yZXN1bHQtdGl0bGUsIC5yZXN1bHQtaXRlbS5ibG9nIC5yZXN1bHQtc3VidGl0bGUsIC5yZXN1bHQtaXRlbS5ibG9nIC5yZXN1bHQtYm9keSB7XG4gIHotaW5kZXg6IDI7XG59XG4ucmVzdWx0LWl0ZW0ubWFya2V0LXNlY3RvciB7XG4gIC0tYmFja2dyb3VuZC1jb2xvdXI6dHJhbnNwYXJlbnQ7XG4gIC0tZm9udC1jb2xvdXI6d2hpdGU7XG4gIC0taGVhZGluZy1jb2xvdXI6IHdoaXRlO1xuICBpc29sYXRpb246IGlzb2xhdGU7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgZGlzcGxheTogZmxleDtcbiAgb3ZlcmZsb3c6IHZpc2libGU7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIHBhZGRpbmc6IDAgMCB2YXIoLS1ndXR0ZXIwKSAwO1xuICBib3JkZXItYm90dG9tOiAxcHggc29saWQgdmFyKC0tcmVzdWx0LWl0ZW0tYm9yZGVyLWJvdHRvbSwgcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjIpKTtcbn1cbi5yZXN1bHQtaXRlbS5tYXJrZXQtc2VjdG9yIC5yZXN1bHQtaW1hZ2Uge1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiBjbGFtcCgxNDBweCwgNDB2dywgMTgwcHgpO1xuICBvdXRsaW5lOiAxcHggc29saWQgdmFyKC0taW1hZ2Utb3V0bGluZS1jb2xvdXIsIHRyYW5zcGFyZW50KTtcbiAgb3V0bGluZS1vZmZzZXQ6IHZhcigtLWltYWdlLW91dGxpbmUtb2Zmc2V0LCAwLjFlbSk7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgdHJhbnNpdGlvbjogb3V0bGluZS1jb2xvciB2YXIoLS10cmFuc2l0aW9uLWR1cmF0aW9uLCAwLjJzKSB2YXIoLS10cmFuc2l0aW9uLWVhc2UsIGN1YmljLWJlemllcigwLjQyLCAwLCAwLjU4LCAxKSkgdmFyKC0tdHJhbnNpdGlvbi1kZWxheSwgKSwgb3V0bGluZS1vZmZzZXQgdmFyKC0tdHJhbnNpdGlvbi1kdXJhdGlvbiwgMC4ycykgdmFyKC0tdHJhbnNpdGlvbi1lYXNlLCBjdWJpYy1iZXppZXIoMC40MiwgMCwgMC41OCwgMSkpIHZhcigtLXRyYW5zaXRpb24tZGVsYXksICk7XG59XG4ucmVzdWx0LWl0ZW0ubWFya2V0LXNlY3RvciAucmVzdWx0LWltYWdlIGltZyB7XG4gIHdpZHRoOiAxMDAlO1xuICBvYmplY3QtZml0OiBjb3Zlcjtcbn1cbi5yZXN1bHQtaXRlbS5tYXJrZXQtc2VjdG9yOmhvdmVyIHtcbiAgLS1pbWFnZS1vdXRsaW5lLWNvbG91cjogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjIpO1xuICAtLWltYWdlLW91dGxpbmUtb2Zmc2V0OiAwLjNlbTtcbn1cbi5yZXN1bHQtaXRlbS5tYXJrZXQtc2VjdG9yOmhvdmVyIC5yZXN1bHQtdGl0bGUgYSB7XG4gIGNvbG9yOiAjREYzMDM1O1xufVxuLnJlc3VsdC1pdGVtLm1hcmtldC1zZWN0b3IgLnJlc3VsdC10aXRsZSB7XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gIGFsaWduLXNlbGY6IGZsZXgtc3RhcnQ7XG59XG4ucmVzdWx0LWl0ZW0ubWFya2V0LXNlY3RvciAucmVzdWx0LXRpdGxlIGEge1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmUgIWltcG9ydGFudDtcbn1cbi5yZXN1bHQtaXRlbS5tYXJrZXQtc2VjdG9yIC5yZXN1bHQtdGl0bGUgYTo6YWZ0ZXIge1xuICBjb250ZW50OiBcIlwiO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGluc2V0OiAwO1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIHotaW5kZXg6IDE7XG59XG5ib2R5W2RhdGEtdGhlbWU9d2hpdGVdIC5yZXN1bHQtaXRlbS5tYXJrZXQtc2VjdG9yIHtcbiAgLS1yZXN1bHQtaXRlbS1ib3JkZXItYm90dG9tOiByZ2JhKDE5LCAzMSwgMTA3LCAwLjIpO1xuICAtLWZvbnQtY29sb3VyOiMxMzFmNmI7XG4gIC0taGVhZGluZy1jb2xvdXI6ICMxMzFmNmI7XG59XG5ib2R5W2RhdGEtdGhlbWU9d2hpdGVdIC5yZXN1bHQtaXRlbS5tYXJrZXQtc2VjdG9yOmhvdmVyIHtcbiAgLS1pbWFnZS1vdXRsaW5lLWNvbG91cjogcmdiYSgxOSwgMzEsIDEwNywgMC4yKTtcbn1cblxuYm9keSNtYXJrZXQtc2VjdG9ycyB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgY29udGFpbmVyLXR5cGU6IGlubGluZS1zaXplO1xuICBjb250YWluZXItbmFtZTogbWFya2V0LXNlY3Rvcjtcbn1cbmJvZHkjbWFya2V0LXNlY3RvcnMgLnJlc3VsdC1pdGVtIHtcbiAgdHJhbnNpdGlvbjogb3BhY2l0eSB2YXIoLS10cmFuc2l0aW9uLWR1cmF0aW9uLCAwLjJzKSB2YXIoLS10cmFuc2l0aW9uLWVhc2UsIGN1YmljLWJlemllcigwLjQyLCAwLCAwLjU4LCAxKSkgdmFyKC0tdHJhbnNpdGlvbi1kZWxheSwgKTtcbn1cbmJvZHkjbWFya2V0LXNlY3RvcnMgLnJlc3VsdC1pdGVtIGEuZGV0YWlsczpob3ZlciB7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZSAhaW1wb3J0YW50O1xufVxuYm9keSNtYXJrZXQtc2VjdG9yczpob3ZlciAucmVzdWx0LWltYWdlIHtcbiAgLS1pbWFnZS1vdXRsaW5lLWNvbG91cjogdHJhbnNwYXJlbnQgIWltcG9ydGFudDtcbiAgLS1pbWFnZS1vdXRsaW5lLW9mZnNldDowICFpbXBvcnRhbnQ7XG59XG5ib2R5I21hcmtldC1zZWN0b3JzIC5kZXRhaWxzIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzBmMTk1NjtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB6LWluZGV4OiAxO1xuICBwYWRkaW5nOiAwO1xuICBkaXNwbGF5OiBub25lO1xuICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDFmciAyMjBweDtcbiAgd2lkdGg6IHZhcigtLW1hcmtldC1zZWN0b3ItYXJ0aWNsZS13aWR0aCwgY2FsYygyMDAlICsgdmFyKC0tZ3V0dGVyMSkpKTtcbiAgb3BhY2l0eTogMDtcbiAgdHJhbnNpdGlvbjogb3BhY2l0eSB2YXIoLS10cmFuc2l0aW9uLWR1cmF0aW9uLCAwLjJzKSB2YXIoLS10cmFuc2l0aW9uLWVhc2UsIGN1YmljLWJlemllcigwLjQyLCAwLCAwLjU4LCAxKSkgdmFyKC0tdHJhbnNpdGlvbi1kZWxheSwgKSwgZGlzcGxheSB2YXIoLS10cmFuc2l0aW9uLWR1cmF0aW9uLCAwLjJzKSB2YXIoLS10cmFuc2l0aW9uLWVhc2UsIGN1YmljLWJlemllcigwLjQyLCAwLCAwLjU4LCAxKSkgdmFyKC0tdHJhbnNpdGlvbi1kZWxheSwgKSBhbGxvdy1kaXNjcmV0ZTtcbn1cbmJvZHkjbWFya2V0LXNlY3RvcnMgLmRldGFpbHMgLmRldGFpbHMtdGV4dCB7XG4gIHBhZGRpbmc6IHZhcigtLWd1dHRlcjEpO1xufVxuYm9keSNtYXJrZXQtc2VjdG9ycyAuZGV0YWlscyAuZGV0YWlscy1oZWFkaW5nIHtcbiAgY29sb3I6ICNERjMwMzU7XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gIGZvbnQtc2l6ZTogMS4yNWVtO1xuICBsaW5lLWhlaWdodDogMS4zO1xuICBtYXJnaW4tYm90dG9tOiAxZW07XG59XG5ib2R5I21hcmtldC1zZWN0b3JzIC5kZXRhaWxzIC5kZXRhaWxzLWltYWdlIHtcbiAgY2xpcC1wYXRoOiBwb2x5Z29uKDAlIDEwMCUsIDM1JSAwJSwgMTAwJSAwJSwgMTAwJSAxMDAlKTtcbn1cbmJvZHkjbWFya2V0LXNlY3RvcnMgLmRldGFpbHMgLmRldGFpbHMtaW1hZ2UgaW1nIHtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogMTAwJTtcbiAgb2JqZWN0LWZpdDogY292ZXI7XG59XG5ib2R5I21hcmtldC1zZWN0b3JzIC5kZXRhaWxzIC5kZXRhaWxzLWltYWdlIC5kZXRhaWxzLWxpbmsge1xuICB3aWR0aDogMTAwJTtcbiAgdGV4dC1hbGlnbjogcmlnaHQ7XG4gIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XG59XG5ib2R5I21hcmtldC1zZWN0b3JzIC5kZXRhaWxzIC5kZXRhaWxzLWxpbmsge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGJvdHRvbTogMDtcbiAgcmlnaHQ6IDA7XG59XG5AY29udGFpbmVyIG1hcmtldC1zZWN0b3IgKCB3aWR0aCA8IDQyMHB4KSB7XG4gIGJvZHkjbWFya2V0LXNlY3RvcnMgLmRldGFpbHMge1xuICAgIGRpc3BsYXk6IGZsZXggIWltcG9ydGFudDtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICB9XG4gIGJvZHkjbWFya2V0LXNlY3RvcnMgLmRldGFpbHMgLmRldGFpbHMtaW1hZ2Uge1xuICAgIGNsaXAtcGF0aDogaW5pdGlhbDtcbiAgICBoZWlnaHQ6IDEwMHB4O1xuICB9XG4gIGJvZHkjbWFya2V0LXNlY3RvcnMgLmRldGFpbHMgLmRldGFpbHMtaW1hZ2UgLmRldGFpbHMtbGluayB7XG4gICAgd2lkdGg6IGF1dG87XG4gIH1cbn1cbkBtZWRpYSAoaG92ZXI6IGhvdmVyKSB7XG4gIGJvZHkjbWFya2V0LXNlY3RvcnMgLnJlc3VsdC1pdGVtOmlzKDpob3ZlciwgOmZvY3VzLXZpc2libGUpIHtcbiAgICB6LWluZGV4OiAxO1xuICB9XG4gIGJvZHkjbWFya2V0LXNlY3RvcnMgLnJlc3VsdC1pdGVtOmlzKDpob3ZlciwgOmZvY3VzLXZpc2libGUpIC5kZXRhaWxzIHtcbiAgICBkaXNwbGF5OiBncmlkO1xuICAgIG9wYWNpdHk6IDE7XG4gIH1cbiAgQHN0YXJ0aW5nLXN0eWxlIHtcbiAgICBib2R5I21hcmtldC1zZWN0b3JzIC5yZXN1bHQtaXRlbTppcyg6aG92ZXIsIDpmb2N1cy12aXNpYmxlKSAuZGV0YWlscyB7XG4gICAgICBvcGFjaXR5OiAwO1xuICAgIH1cbiAgfVxufVxuYm9keSNtYXJrZXQtc2VjdG9ycyBhcnRpY2xlLWdyaWQ6aGFzKC5yZXN1bHQtaXRlbTppcyg6aG92ZXIsIDpmb2N1cy12aXNpYmxlKSkgLnJlc3VsdC1pdGVtOm5vdCg6aXMoOmhvdmVyLCA6Zm9jdXMtdmlzaWJsZSkpIHtcbiAgb3BhY2l0eTogMC41ICFpbXBvcnRhbnQ7XG59XG5AY29udGFpbmVyIG1haW4gKCB3aWR0aCA8IDY2MHB4KSB7XG4gIGJvZHkjbWFya2V0LXNlY3RvcnMgYXJ0aWNsZS1ncmlkIHtcbiAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDFmciAhaW1wb3J0YW50O1xuICAgIC0tbWFya2V0LXNlY3Rvci1hcnRpY2xlLXdpZHRoOiAxMDAlO1xuICB9XG59XG5AY29udGFpbmVyIG1haW4gKDY2MHB4IDwgd2lkdGggPCA5NjRweCkge1xuICBib2R5I21hcmtldC1zZWN0b3JzIGFydGljbGUtZ3JpZCAucmVzdWx0LWl0ZW06bnRoLWNoaWxkKDJuKSAuZGV0YWlscyB7XG4gICAgbGVmdDogaW5pdGlhbDtcbiAgICByaWdodDogMDtcbiAgfVxufVxuQGNvbnRhaW5lciBtYWluICggd2lkdGggPiA5NjRweCkge1xuICBib2R5I21hcmtldC1zZWN0b3JzIGFydGljbGUtZ3JpZCAucmVzdWx0LWl0ZW06bnRoLWNoaWxkKDNuKSAuZGV0YWlscyB7XG4gICAgbGVmdDogaW5pdGlhbDtcbiAgICByaWdodDogMDtcbiAgfVxufVxuXG4ucmVzdWx0LWl0ZW0ucHJvZHVjdCB7XG4gIC0tYmFkZ2Utc3BhY2luZzogM3JlbTtcbiAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiB2YXIoLS1pbWFnZS13aWR0aCkgYXV0bztcbiAgZ3JpZC10ZW1wbGF0ZS1hcmVhczogXCJpbWFnZSB0aXRsZVwiIFwiaW1hZ2UgdGl0bGVcIiBcImltYWdlIGRhdGFcIiBcImltYWdlIGRhdGFcIjtcbn1cbi5yZXN1bHQtaXRlbS5wcm9kdWN0IC5yZXN1bHQtdGl0bGUsIC5yZXN1bHQtaXRlbS5wcm9kdWN0IC5yZXN1bHQtYm9keSB7XG4gIHBhZGRpbmctcmlnaHQ6IGNhbGModmFyKC0tYmFkZ2Utc3BhY2luZykgKiAyKTtcbn1cbi5yZXN1bHQtaXRlbS5wcm9kdWN0IC5wcm9kdWN0LWRhdGEge1xuICBncmlkLWFyZWE6IGRhdGE7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIGZsZXgtd3JhcDogd3JhcDtcbiAgZ3JpZC1nYXA6IGNhbGModmFyKC0tZ2FwKSAvIDIpIHZhcigtLWdhcCk7XG59XG4ucmVzdWx0LWl0ZW0ucHJvZHVjdCAucmVzdWx0LWltYWdlIGltZyB7XG4gIG9iamVjdC1maXQ6IGNvbnRhaW47XG59XG5AbWVkaWEgKG1heC13aWR0aDogNDUwcHgpIHtcbiAgLnJlc3VsdC1pdGVtLnByb2R1Y3Qge1xuICAgIGdyaWQtdGVtcGxhdGUtYXJlYXM6IFwiaW1hZ2UgXCIgXCJ0aXRsZVwiIFwiZGF0YVwiO1xuICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogdW5zZXQ7XG4gIH1cbiAgLnJlc3VsdC1pdGVtLnByb2R1Y3QgLnByb2R1Y3QtZGF0YSB7XG4gICAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgfVxuICAucmVzdWx0LWl0ZW0ucHJvZHVjdCAucmVzdWx0LXRpdGxlLCAucmVzdWx0LWl0ZW0ucHJvZHVjdCAucmVzdWx0LWJvZHkge1xuICAgIHBhZGRpbmctcmlnaHQ6IDA7XG4gIH1cbn1cbi5yZXN1bHQtaXRlbS5wcm9kdWN0LmluLXN0b2NrOjpiZWZvcmUge1xuICAtLXBhZGRpbmcteTogMC4yZW07XG4gIC0tcGFkZGluZy14OiAxMGVtO1xuICBjb250ZW50OiBcImluIHN0b2NrXCI7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiBjYWxjKDFlbSArIHZhcigtLXBhZGRpbmcteSkpO1xuICByaWdodDogY2FsYygtMSAqIHZhcigtLXBhZGRpbmcteCkpO1xuICBwYWRkaW5nOiAwLjVlbSB2YXIoLS1wYWRkaW5nLXgpO1xuICB0cmFuc2Zvcm06IHJvdGF0ZSg0NWRlZyk7XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gIGJhY2tncm91bmQtY29sb3I6ICMxMzFmNmI7XG4gIGNvbG9yOiAjRkZGRkZGO1xufVxuLnJlc3VsdC1pdGVtLnBhZ2Uge1xuICBncmlkLXRlbXBsYXRlLWFyZWFzOiBcImltYWdlIHRpdGxlXCIgXCJpbWFnZSBib2R5XCIgXCJpbWFnZSBib2R5XCIgXCJpbWFnZSBib2R5XCI7XG59XG4ucmVzdWx0LWl0ZW0ucGFnZSAucmVzdWx0LWltYWdlIGltZyB7XG4gIG9iamVjdC1maXQ6IGNvdmVyO1xufVxuXG4udGFnW2Rpc2FibGVkXSB7XG4gIG9wYWNpdHk6IDAuNDtcbiAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG59XG4udGFnLmNhdGVnb3J5IHtcbiAgLS1ib3JkZXItcmFkaXVzOiAwcHg7XG4gIC0tZm9udC1jb2xvdXI6ICNERjMwMzU7XG4gIC0tYmctY29sb3VyOiB3aGl0ZTtcbiAgLS1zZWNvbmRhcnktd2lkdGg6IDNjaDtcbiAgLS1zZWNvbmRhcnktcGFkZGluZy14OiAzcHg7XG4gIC0tYm9yZGVyLWNvbG91cjogdHJhbnNwYXJlbnQ7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlzcGxheTogZ3JpZDtcbiAgZ3JpZC1hdXRvLWZsb3c6IGNvbHVtbjtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgd2lkdGg6IGZpdC1jb250ZW50O1xuICBib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1ib3JkZXItY29sb3VyKTtcbiAgYm9yZGVyLXJhZGl1czogdmFyKC0tYm9yZGVyLXJhZGl1cyk7XG4gIGNvbG9yOiB2YXIoLS1mb250LWNvbG91cik7XG4gIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJnLWNvbG91cik7XG4gIHRyYW5zaXRpb246IHZhcigtLXRyYW5zaXRpb24tZHVyYXRpb24sIDAuMnMpIHZhcigtLXRyYW5zaXRpb24tZWFzZSwgY3ViaWMtYmV6aWVyKDAuNDIsIDAsIDAuNTgsIDEpKSB2YXIoLS10cmFuc2l0aW9uLWRlbGF5LCApO1xuICBmb250LXNpemU6IDEzcHg7XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIGJveC1zaXppbmc6IGNvbnRlbnQtYm94O1xuICAtLWJvcmRlci1jb2xvdXI6ICNERjMwMzU7XG4gIC0tc3ltYm9sLWNvbG91cjogI0RGMzAzNTtcbn1cbi50YWcuY2F0ZWdvcnkgLnRhZy1sYWJlbCB7XG4gIHBhZGRpbmc6IDNweCB2YXIoLS1nYXApIDNweCB2YXIoLS1nYXApO1xufVxuLnRhZy5jYXRlZ29yeSAudGFnLXNlY29uZGFyeSB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICBwYWRkaW5nOiAwIHZhcigtLXNlY29uZGFyeS1wYWRkaW5nLXgpO1xuICBoZWlnaHQ6IDEwMCU7XG4gIGJhY2tncm91bmQtY29sb3I6ICNkY2RjZGM7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIHdpZHRoOiAzY2g7XG4gIHRyYW5zaXRpb246IHZhcigtLXRyYW5zaXRpb24tZHVyYXRpb24sIDAuMnMpIHZhcigtLXRyYW5zaXRpb24tZWFzZSwgY3ViaWMtYmV6aWVyKDAuNDIsIDAsIDAuNTgsIDEpKSB2YXIoLS10cmFuc2l0aW9uLWRlbGF5LCApO1xufVxuLnRhZy5jYXRlZ29yeSAudGFnLXNlY29uZGFyeSBzdmcge1xuICB3aWR0aDogNTAlO1xuICB0cmFuc2l0aW9uOiB2YXIoLS10cmFuc2l0aW9uLWR1cmF0aW9uLCAwLjJzKSB2YXIoLS10cmFuc2l0aW9uLWVhc2UsIGN1YmljLWJlemllcigwLjQyLCAwLCAwLjU4LCAxKSkgdmFyKC0tdHJhbnNpdGlvbi1kZWxheSwgKTtcbn1cbi50YWcuY2F0ZWdvcnkgLnRhZy1zZWNvbmRhcnk6aG92ZXIge1xuICAtLXN5bWJvbC1jb2xvdXI6IHdoaXRlO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjREYzMDM1O1xufVxuLnRhZy5jaGVja2JveCBpbnB1dFt0eXBlPWNoZWNrYm94XSB7XG4gIGRpc3BsYXk6IG5vbmU7XG59XG4udGFnLmNoZWNrYm94IGlucHV0W3R5cGU9Y2hlY2tib3hdIH4gbGFiZWwge1xuICAtLWJvcmRlci1yYWRpdXM6IDBweDtcbiAgLS1mb250LWNvbG91cjogI0RGMzAzNTtcbiAgLS1iZy1jb2xvdXI6IHdoaXRlO1xuICAtLXNlY29uZGFyeS13aWR0aDogM2NoO1xuICAtLXNlY29uZGFyeS1wYWRkaW5nLXg6IDNweDtcbiAgLS1ib3JkZXItY29sb3VyOiB0cmFuc3BhcmVudDtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBkaXNwbGF5OiBncmlkO1xuICBncmlkLWF1dG8tZmxvdzogY29sdW1uO1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICB3aWR0aDogZml0LWNvbnRlbnQ7XG4gIGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLWJvcmRlci1jb2xvdXIpO1xuICBib3JkZXItcmFkaXVzOiB2YXIoLS1ib3JkZXItcmFkaXVzKTtcbiAgY29sb3I6IHZhcigtLWZvbnQtY29sb3VyKTtcbiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmctY29sb3VyKTtcbiAgdHJhbnNpdGlvbjogdmFyKC0tdHJhbnNpdGlvbi1kdXJhdGlvbiwgMC4ycykgdmFyKC0tdHJhbnNpdGlvbi1lYXNlLCBjdWJpYy1iZXppZXIoMC40MiwgMCwgMC41OCwgMSkpIHZhcigtLXRyYW5zaXRpb24tZGVsYXksICk7XG4gIGZvbnQtc2l6ZTogMTNweDtcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgYm94LXNpemluZzogY29udGVudC1ib3g7XG4gIC0tc3ltYm9sLWNvbG91cjogI0RGMzAzNTtcbn1cbi50YWcuY2hlY2tib3ggaW5wdXRbdHlwZT1jaGVja2JveF0gfiBsYWJlbCAudGFnLWxhYmVsIHtcbiAgcGFkZGluZzogM3B4IHZhcigtLWdhcCkgM3B4IHZhcigtLWdhcCk7XG59XG4udGFnLmNoZWNrYm94IGlucHV0W3R5cGU9Y2hlY2tib3hdIH4gbGFiZWwgLnRhZy1zZWNvbmRhcnkge1xuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgcGFkZGluZzogMCB2YXIoLS1zZWNvbmRhcnktcGFkZGluZy14KTtcbiAgaGVpZ2h0OiAxMDAlO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZGNkY2RjO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICB3aWR0aDogM2NoO1xuICB0cmFuc2l0aW9uOiB2YXIoLS10cmFuc2l0aW9uLWR1cmF0aW9uLCAwLjJzKSB2YXIoLS10cmFuc2l0aW9uLWVhc2UsIGN1YmljLWJlemllcigwLjQyLCAwLCAwLjU4LCAxKSkgdmFyKC0tdHJhbnNpdGlvbi1kZWxheSwgKTtcbn1cbi50YWcuY2hlY2tib3ggaW5wdXRbdHlwZT1jaGVja2JveF0gfiBsYWJlbCAudGFnLXNlY29uZGFyeSBzdmcge1xuICB3aWR0aDogNTAlO1xuICB0cmFuc2l0aW9uOiB2YXIoLS10cmFuc2l0aW9uLWR1cmF0aW9uLCAwLjJzKSB2YXIoLS10cmFuc2l0aW9uLWVhc2UsIGN1YmljLWJlemllcigwLjQyLCAwLCAwLjU4LCAxKSkgdmFyKC0tdHJhbnNpdGlvbi1kZWxheSwgKTtcbn1cbi50YWcuY2hlY2tib3ggaW5wdXRbdHlwZT1jaGVja2JveF0gfiBsYWJlbDpob3ZlciB7XG4gIC0tYm9yZGVyLWNvbG91cjogI0RGMzAzNTtcbiAgY3Vyc29yOiBwb2ludGVyO1xufVxuLnRhZy5jaGVja2JveCBpbnB1dFt0eXBlPWNoZWNrYm94XTpjaGVja2VkIH4gbGFiZWwge1xuICAtLWZvbnQtY29sb3VyOiB3aGl0ZTtcbiAgLS1iZy1jb2xvdXI6ICNERjMwMzU7XG59XG4udGFnLmNoZWNrYm94IGlucHV0W3R5cGU9Y2hlY2tib3hdOmNoZWNrZWQgfiBsYWJlbCAudGFnLXNlY29uZGFyeSB7XG4gIC0tc3ltYm9sLWNvbG91cjogd2hpdGU7XG4gIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4zKTtcbn1cblxudGFibGUtY29udGFpbmVyIC5oZWFkaW5nIHtcbiAgZm9udC1zaXplOiAxLjI1ZW07XG4gIGxpbmUtaGVpZ2h0OiAxLjM7XG4gIG1hcmdpbi1ib3R0b206IGNhbGModmFyKC0tZ2FwKSAqIDIpO1xufVxudGFibGUtY29udGFpbmVyIC50YWJsZSB7XG4gIC0tY2VsbC1wYWRkaW5nLXk6IDFyZW07XG4gIC0tY2VsbC1wYWRkaW5nLXg6IDEuNXJlbTtcbiAgLS1jZWxsLXBhZGRpbmc6IHZhcigtLWNlbGwtcGFkZGluZy15KSB2YXIoLS1jZWxsLXBhZGRpbmcteCk7XG4gIHRhYmxlLWxheW91dDogZml4ZWQ7XG4gIHRleHQtYWxpZ246IGxlZnQ7XG59XG50YWJsZS1jb250YWluZXIgLnRhYmxlIHRyOm50aC1jaGlsZChvZGQpIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tdGhlbWUtY29udGVudC1vcHBvc2l0ZSk7XG59XG50YWJsZS1jb250YWluZXIgLnRhYmxlIHRyIHRkOmZpcnN0LWNoaWxkKCkge1xuICBib3JkZXItcmlnaHQ6IDFweCBzb2xpZCAjOTY5Njk1O1xufVxudGFibGUtY29udGFpbmVyIC50YWJsZSB0ZCB7XG4gIHBhZGRpbmc6IHZhcigtLWNlbGwtcGFkZGluZyk7XG59XG50YWJsZS1jb250YWluZXIgLnRhYmxlIHRoIHtcbiAgcGFkZGluZzogdmFyKC0tY2VsbC1wYWRkaW5nKTtcbiAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIGxpZ2h0Z3JleTtcbn1cbnRhYmxlLWNvbnRhaW5lciAudGFibGUudmVydGljYWwgdHIgdGQ6Zmlyc3QtY2hpbGQge1xuICBmb250LXdlaWdodDogNjAwO1xufVxudGFibGUtY29udGFpbmVyIC50YWJsZS5wcm9kdWN0LXNwZWNzIHRyIHRkOmZpcnN0LWNoaWxkIHtcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbn1cbnRhYmxlLWNvbnRhaW5lciAudGFibGUucHJvZHVjdC1zcGVjcyB0ciB0ZDpsYXN0LWNoaWxkIHtcbiAgd2lkdGg6IDEwMCU7XG59XG50YWJsZS1jb250YWluZXIgLnRhYmxlLnJlbGF0ZWQtcHJvZHVjdHMgYSB7XG4gIC0tZm9udC1jb2xvdXI6ICNERjMwMzU7XG59XG5cbm1haW4gPiAuc25pcHBldCBhIHtcbiAgLS1mb250LWNvbG91cjogdmFyKC0tdGhlbWUtYWNjZW50KSA7XG59XG5cbm5hdmlnYXRpb24tYmFyIHtcbiAgcG9zaXRpb246IGZpeGVkO1xuICB0b3A6IDA7XG4gIHdpZHRoOiAxMDAlO1xuICB3aWR0aDogdmFyKC0tbmF2aWdhdGlvbi1iYXItd2lkdGgpO1xuICBoZWlnaHQ6IHZhcigtLW5hdmlnYXRpb24tYmFyLWhlaWdodCk7XG4gIG1heC1oZWlnaHQ6IC13ZWJraXQtZmlsbC1hdmFpbGFibGU7XG4gIHBhZGRpbmc6IDAgY2FsYyh2YXIoLS1nYXApICogMikgdmFyKC0tZ2FwLXkpO1xuICBiYWNrZ3JvdW5kOiB2YXIoLS10aGVtZS1uYXYtYmFja2dyb3VuZCk7XG4gIGJvcmRlci1yaWdodDogMXB4IHNvbGlkIHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4yKTtcbiAgb3ZlcmZsb3cteTogYXV0bztcbiAgei1pbmRleDogMTUwMDtcbiAgdHJhbnNpdGlvbjogYmFja2dyb3VuZCAwLjNzIGN1YmljLWJlemllcigwLjE2NSwgMC44NCwgMC40NCwgMSk7XG59XG5uYXZpZ2F0aW9uLWJhciBhLCBuYXZpZ2F0aW9uLWJhciBidXR0b24ge1xuICAtd2Via2l0LXRhcC1oaWdobGlnaHQtY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMCk7XG59XG5uYXZpZ2F0aW9uLWJhciBnbG9iYWwtc2VhcmNoLW1vYmlsZSB7XG4gIGRpc3BsYXk6IG5vbmU7XG59XG5uYXZpZ2F0aW9uLWJhciAubmF2aWdhdGlvbi1jb250YWluZXIge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAxMDAlO1xufVxubmF2aWdhdGlvbi1iYXIgLm5hdmlnYXRpb24tY29udGFpbmVyIGEubG9nbyB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XG4gIHdpZHRoOiA5NSU7XG4gIG1pbi1oZWlnaHQ6IHZhcigtLWxvZ28taGVpZ2h0KTtcbiAgaGVpZ2h0OiB2YXIoLS1sb2dvLWhlaWdodCk7XG4gIG1hcmdpbi1ib3R0b206IHZhcigtLWdhcC15KTtcbn1cbm5hdmlnYXRpb24tYmFyIC5uYXZpZ2F0aW9uLWNvbnRhaW5lciBhLmxvZ28gPiBzdmcge1xuICB3aWR0aDogMTAwJTtcbiAgY29sb3I6IHZhcigtLXRoZW1lLWxvZ28pO1xufVxubmF2aWdhdGlvbi1iYXIgLm5hdmlnYXRpb24tY29udGFpbmVyIGEubG9nby5sb2dvLW1vYmlsZSB7XG4gIGRpc3BsYXk6IG5vbmU7XG59XG5uYXZpZ2F0aW9uLWJhciAubmF2aWdhdGlvbi1jb250YWluZXIgZ2xvYmFsLXNlYXJjaC1kZXNrdG9wIHtcbiAgbWFyZ2luLWJvdHRvbTogY2FsYyh2YXIoLS1nYXApICogMik7XG59XG5uYXZpZ2F0aW9uLWJhciBuYXYgbmF2aWdhdGlvbi1saW5rcyB7XG4gIC0tZmFsbGJhY2stbWF4LWhlaWdodDogNjAwcHg7XG4gIC0tYmFzZS1zcGFjaW5nOiBjYWxjKHZhcigtLWdhcCkgKiAwLjUpO1xuICBkaXNwbGF5OiBibG9jaztcbn1cbm5hdmlnYXRpb24tYmFyIG5hdiBuYXZpZ2F0aW9uLWxpbmtzIC50b3AtbGV2ZWwtbGluayB7XG4gIHBhZGRpbmc6IGNhbGModmFyKC0tZ2FwKSAqIDAuNSkgMDtcbn1cbm5hdmlnYXRpb24tYmFyIG5hdiBuYXZpZ2F0aW9uLWxpbmtzIC50b3AtbGV2ZWwtbGluazpmaXJzdC1jaGlsZCB7XG4gIHBhZGRpbmctdG9wOiAwO1xufVxubmF2aWdhdGlvbi1iYXIgbmF2IG5hdmlnYXRpb24tbGlua3MgLnRvcC1sZXZlbC1saW5rLmhhcy1jaGlsZHJlbiA+IGE6aG92ZXIgc3ZnIHtcbiAgb3BhY2l0eTogMTtcbn1cbm5hdmlnYXRpb24tYmFyIG5hdiBuYXZpZ2F0aW9uLWxpbmtzIC5zdWItbWVudSBsaSB7XG4gIHBhZGRpbmc6IGNhbGMoKHZhcigtLWdhcCkgKiAwLjUpIC8gMikgMDtcbn1cbm5hdmlnYXRpb24tYmFyIG5hdiBuYXZpZ2F0aW9uLWxpbmtzIC5zdWItbWVudSBsaTpmaXJzdC1jaGlsZCB7XG4gIHBhZGRpbmctdG9wOiBjYWxjKHZhcigtLWdhcCkgKiAwLjUpO1xufVxubmF2aWdhdGlvbi1iYXIgbmF2IG5hdmlnYXRpb24tbGlua3MgLnN1Yi1tZW51IGxpOmxhc3QtY2hpbGQge1xuICBwYWRkaW5nLWJvdHRvbTogY2FsYyh2YXIoLS1nYXApICogMC41KTtcbn1cbm5hdmlnYXRpb24tYmFyIG5hdiBuYXZpZ2F0aW9uLWxpbmtzIHVsIGxpIGEge1xuICB0cmFuc2l0aW9uOiBvcGFjaXR5IHZhcigtLXRyYW5zaXRpb24tZHVyYXRpb24sIDAuMnMpIHZhcigtLXRyYW5zaXRpb24tZWFzZSwgY3ViaWMtYmV6aWVyKDAuNDIsIDAsIDAuNTgsIDEpKSB2YXIoLS10cmFuc2l0aW9uLWRlbGF5LCApLCBjb2xvciB2YXIoLS10cmFuc2l0aW9uLWR1cmF0aW9uLCAwLjJzKSB2YXIoLS10cmFuc2l0aW9uLWVhc2UsIGN1YmljLWJlemllcigwLjQyLCAwLCAwLjU4LCAxKSkgdmFyKC0tdHJhbnNpdGlvbi1kZWxheSwgKSwgdGV4dC1kZWNvcmF0aW9uLWNvbG9yIHZhcigtLXRyYW5zaXRpb24tZHVyYXRpb24sIDAuMnMpIHZhcigtLXRyYW5zaXRpb24tZWFzZSwgY3ViaWMtYmV6aWVyKDAuNDIsIDAsIDAuNTgsIDEpKSB2YXIoLS10cmFuc2l0aW9uLWRlbGF5LCApO1xufVxubmF2aWdhdGlvbi1iYXIgbmF2IG5hdmlnYXRpb24tbGlua3MgdWwgbGkgYTpub3QoLmFjdGl2ZSkge1xuICAtLWZvbnQtY29sb3VyOiB2YXIoLS10aGVtZS1uYXYtZm9udCk7XG59XG5uYXZpZ2F0aW9uLWJhciBuYXYgbmF2aWdhdGlvbi1saW5rcyB1bCBsaSBhLmFjdGl2ZSB7XG4gIC0tZm9udC1jb2xvdXI6IHZhcigtLXRoZW1lLWFjY2VudCk7XG59XG5AbWVkaWEgKGhvdmVyOiBob3Zlcikge1xuICBuYXZpZ2F0aW9uLWJhciBuYXYgbmF2aWdhdGlvbi1saW5rcyB1bCBsaSBhLmFjdGl2ZTpob3ZlciB7XG4gICAgdGV4dC1kZWNvcmF0aW9uLWNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDApICFpbXBvcnRhbnQ7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICB9XG59XG5uYXZpZ2F0aW9uLWJhciBuYXYgbmF2aWdhdGlvbi1saW5rcyB1bCBsaSBhID4gc3ZnIHtcbiAgY29sb3I6IHZhcigtLXRoZW1lLW5hdi1mb250KTtcbiAgdHJhbnNpdGlvbjogb3BhY2l0eSB2YXIoLS10cmFuc2l0aW9uLWR1cmF0aW9uLCAwLjJzKSB2YXIoLS10cmFuc2l0aW9uLWVhc2UsIGN1YmljLWJlemllcigwLjQyLCAwLCAwLjU4LCAxKSkgdmFyKC0tdHJhbnNpdGlvbi1kZWxheSwgKSwgdHJhbnNmb3JtIHZhcigtLXRyYW5zaXRpb24tZHVyYXRpb24sIDAuMnMpIHZhcigtLXRyYW5zaXRpb24tZWFzZSwgY3ViaWMtYmV6aWVyKDAuNDIsIDAsIDAuNTgsIDEpKSB2YXIoLS10cmFuc2l0aW9uLWRlbGF5LCApO1xuICB3aWR0aDogMWVtO1xuICBoZWlnaHQ6IDFlbTtcbiAgb3BhY2l0eTogMC4yO1xufVxubmF2aWdhdGlvbi1iYXIgbmF2IG5hdmlnYXRpb24tbGlua3MgdWwgbGkgdWwge1xuICAtLXRyYW5zaXRpb24tZHVyYXRpb246IDAuMzI1cztcbiAgbWF4LWhlaWdodDogMDtcbiAgb3BhY2l0eTogMDtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgdHJhbnNpdGlvbjogbWF4LWhlaWdodCB2YXIoLS10cmFuc2l0aW9uLWR1cmF0aW9uLCAwLjJzKSB2YXIoLS10cmFuc2l0aW9uLWVhc2UsIGN1YmljLWJlemllcigwLjQyLCAwLCAwLjU4LCAxKSkgdmFyKC0tdHJhbnNpdGlvbi1kZWxheSwgKSwgb3BhY2l0eSB2YXIoLS10cmFuc2l0aW9uLWR1cmF0aW9uLCAwLjJzKSB2YXIoLS10cmFuc2l0aW9uLWVhc2UsIGN1YmljLWJlemllcigwLjQyLCAwLCAwLjU4LCAxKSkgdmFyKC0tdHJhbnNpdGlvbi1kZWxheSwgKTtcbiAgbWFyZ2luLWxlZnQ6IHZhcigtLWdhcCk7XG59XG5uYXZpZ2F0aW9uLWJhciBuYXYgbmF2aWdhdGlvbi1saW5rcyB1bCBsaSB1bCBsaSBhOm5vdCguYWN0aXZlKSB7XG4gIG9wYWNpdHk6IDAuNTtcbn1cbkBtZWRpYSAoaG92ZXI6IGhvdmVyKSB7XG4gIG5hdmlnYXRpb24tYmFyIG5hdiBuYXZpZ2F0aW9uLWxpbmtzIHVsIGxpIHVsIGxpIGE6bm90KC5hY3RpdmUpOmhvdmVyIHtcbiAgICBvcGFjaXR5OiAxO1xuICB9XG59XG5uYXZpZ2F0aW9uLWJhciBuYXYgbmF2aWdhdGlvbi1saW5rcyB1bCBsaS5oYXMtY2hpbGRyZW4gPiBhIHtcbiAgZGlzcGxheTogZmxleDtcbiAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xufVxubmF2aWdhdGlvbi1iYXIgbmF2IG5hdmlnYXRpb24tbGlua3MgdWwgbGkuaGFzLWNoaWxkcmVuLm9wZW4gPiBhID4gc3ZnIHtcbiAgdHJhbnNmb3JtOiByb3RhdGUoOTBkZWcpO1xufVxubmF2aWdhdGlvbi1iYXIgbmF2IG5hdmlnYXRpb24tbGlua3MgdWwgbGkuaGFzLWNoaWxkcmVuLm9wZW4gPiB1bCB7XG4gIG1heC1oZWlnaHQ6IHZhcigtLWxpbmstbWF4LWhlaWdodCwgdmFyKC0tZmFsbGJhY2stbWF4LWhlaWdodCkpO1xuICBvcGFjaXR5OiAxO1xufVxubmF2aWdhdGlvbi1iYXIgbmF2IG5hdmlnYXRpb24tbGlua3MgLnRvcC1sZXZlbC1saW5rcyA+IGxpID4gYSB7XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG59XG5uYXZpZ2F0aW9uLWJhciBuYXYgbmF2aWdhdGlvbi1saW5rcyAubW9iaWxlLWxpbmsuaGlkZGVuIHtcbiAgZGlzcGxheTogbm9uZTtcbn1cbm5hdmlnYXRpb24tYmFyIG5hdmlnYXRpb24tY29udHJvbHMge1xuICBkaXNwbGF5OiBub25lO1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xufVxubmF2aWdhdGlvbi1iYXIgbmF2aWdhdGlvbi1jb250cm9scyA+ICo6bm90KDpmaXJzdC1jaGlsZCkge1xuICBtYXJnaW4tbGVmdDogdmFyKC0tZ3V0dGVyMyk7XG59XG5uYXZpZ2F0aW9uLWJhciBuYXZpZ2F0aW9uLWNvbnRyb2xzIGEsIG5hdmlnYXRpb24tYmFyIG5hdmlnYXRpb24tY29udHJvbHMgYnV0dG9uIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGhlaWdodDogZml0LWNvbnRlbnQ7XG59XG5uYXZpZ2F0aW9uLWJhciBuYXZpZ2F0aW9uLWNvbnRyb2xzIGEgc3ZnLCBuYXZpZ2F0aW9uLWJhciBuYXZpZ2F0aW9uLWNvbnRyb2xzIGJ1dHRvbiBzdmcge1xuICBoZWlnaHQ6IDI1cHg7XG4gIHdpZHRoOiAyNXB4O1xuICBjb2xvcjogdmFyKC0tdGhlbWUtbmF2LWZvbnQpO1xuICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xufVxubmF2aWdhdGlvbi1iYXIgbmF2aWdhdGlvbi1jb250cm9scyBidXR0b24ubWVudSB7XG4gIC0tc3ltYm9sLWNvbG91cjogdmFyKC0tdGhlbWUtbmF2LWZvbnQsIHdoaXRlKTtcbn1cbm5hdmlnYXRpb24tYmFyIG5hdmlnYXRpb24tY29udHJvbHMgYnV0dG9uLm1lbnUgc3ZnIHtcbiAgLS1jb3JuZXItb2Zmc2V0OiAxMHB4O1xuICB3aWR0aDogMzBweDtcbiAgaGVpZ2h0OiAzMHB4O1xufVxubmF2aWdhdGlvbi1iYXIgbmF2aWdhdGlvbi1jb250cm9scyBidXR0b24ubWVudSBzdmcgcG9seWdvbiB7XG4gIGNsaXAtcGF0aDogcG9seWdvbigxNDBweCAyMHB4LCAwIDIwcHgsIHZhcigtLWNvcm5lci1vZmZzZXQsIDEwcHgpIDAsIDE0MHB4IDApO1xuICB0cmFuc2l0aW9uOiBhbGwgdmFyKC0tdHJhbnNpdGlvbi1kdXJhdGlvbiwgMC4ycykgdmFyKC0tdHJhbnNpdGlvbi1lYXNlLCBjdWJpYy1iZXppZXIoMC40MiwgMCwgMC41OCwgMSkpIHZhcigtLXRyYW5zaXRpb24tZGVsYXksICk7XG59XG5uYXZpZ2F0aW9uLWJhciBuYXZpZ2F0aW9uLWNvbnRyb2xzIGJ1dHRvbi5tZW51IHN2ZyBwb2x5Z29uOm50aC1jaGlsZCgxKSB7XG4gIHRyYW5zZm9ybS1vcmlnaW46IDE1JSAzMCU7XG59XG5uYXZpZ2F0aW9uLWJhciBuYXZpZ2F0aW9uLWNvbnRyb2xzIGJ1dHRvbi5tZW51IHN2ZyBwb2x5Z29uOm50aC1jaGlsZCgyKSB7XG4gIG9wYWNpdHk6IDE7XG59XG5uYXZpZ2F0aW9uLWJhciBuYXZpZ2F0aW9uLWNvbnRyb2xzIGJ1dHRvbi5tZW51IHN2ZyBwb2x5Z29uOm50aC1jaGlsZCgzKSB7XG4gIHRyYW5zZm9ybS1vcmlnaW46IDE1JSA3MCU7XG59XG5uYXZpZ2F0aW9uLWJhciAuZXh0cmEtbGlua3Mge1xuICAtLWZvbnQtY29sb3VyOiB2YXIoLS10aGVtZS1uYXYtZm9udCk7XG4gIC0tbGluay1zcGFjaW5nOiB2YXIoLS1nYXApO1xuICAtLW9wYWNpdHk6IDAuNjtcbiAgZGlzcGxheTogZmxleDtcbiAgZm9udC1zaXplOiAxLjRyZW07XG4gIG9wYWNpdHk6IHZhcigtLW9wYWNpdHkpO1xuICBtYXJnaW4tdG9wOiBhdXRvO1xuICBmbGV4LXdyYXA6IHdyYXA7XG4gIGdhcDogMXJlbTtcbn1cbm5hdmlnYXRpb24tYmFyIC5leHRyYS1saW5rcyBsaTpub3QoOmxhc3Qtb2YtdHlwZSkge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBnYXA6IDFjaDtcbiAgbWluLXdpZHRoOiBmaXQtY29udGVudDtcbn1cbm5hdmlnYXRpb24tYmFyIC5leHRyYS1saW5rcyBhIHtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICB3aGl0ZS1zcGFjZTogbm93cmFwO1xufVxuQG1lZGlhIChob3ZlcjogaG92ZXIpIHtcbiAgbmF2aWdhdGlvbi1iYXIgLmV4dHJhLWxpbmtzIGE6aG92ZXIge1xuICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xuICB9XG59XG5cbkBtZWRpYSAobWF4LXdpZHRoOiA5ODBweCkge1xuICBuYXZpZ2F0aW9uLWJhciB7XG4gICAgLS1uYXZpZ2F0aW9uLWJhci13aWR0aDogMTAwJTtcbiAgICAtLW5hdmlnYXRpb24tYmFyLWhlaWdodDogbWluLWNvbnRlbnQ7XG4gICAgLS1sb2dvLWhlaWdodDogMTAwJTtcbiAgICAtLXJvdy1wYWRkaW5nOiAxcmVtIHZhcigtLWdhcC14KTtcbiAgICAtLXRoZW1lLW5hdi1mb250OiB2YXIoLS10aGVtZS1uYXYtZm9udC1tb2IpO1xuICAgIC0tdGhlbWUtbG9nbzogdmFyKC0tdGhlbWUtbmF2LWZvbnQtbW9iKTtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgcGFkZGluZzogMDtcbiAgICBvdmVyZmxvdzogdmlzaWJsZTtcbiAgICBib3JkZXItcmlnaHQ6IG5vbmU7XG4gIH1cbiAgbmF2aWdhdGlvbi1iYXIgLmV4dHJhLWxpbmtzIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG4gIG5hdmlnYXRpb24tYmFyIGdsb2JhbC1zZWFyY2gtZGVza3RvcCB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxuICBuYXZpZ2F0aW9uLWJhciAubmF2aWdhdGlvbi1jb250YWluZXIsIG5hdmlnYXRpb24tYmFyIGdsb2JhbC1zZWFyY2gtbW9iaWxlIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS10aGVtZS1uYXYtYmFja2dyb3VuZC1tb2IpO1xuICB9XG4gIG5hdmlnYXRpb24tYmFyIGdsb2JhbC1zZWFyY2gtbW9iaWxlIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgcGFkZGluZzogdmFyKC0tcm93LXBhZGRpbmcpO1xuICAgIGhlaWdodDogdmFyKC0tbmF2aWdhdGlvbi1tb2JpbGUtc2VhcmNoLWhlaWdodCk7XG4gICAgbWFyZ2luLXRvcDogY2FsYygtMSAqIHZhcigtLW5hdmlnYXRpb24tbW9iaWxlLXNlYXJjaC1oZWlnaHQpIC0gMHB4KTtcbiAgICB0cmFuc2l0aW9uOiBtYXJnaW4tdG9wIDAuNHMgY3ViaWMtYmV6aWVyKDAuMjE1LCAwLjYxLCAwLjM1NSwgMSk7XG4gICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIHZhcigtLXRoZW1lLW5hdi1zcGFjaW5nLWNvbG91cik7XG4gICAgei1pbmRleDogLTE7XG4gIH1cbiAgbmF2aWdhdGlvbi1iYXIgZ2xvYmFsLXNlYXJjaC1tb2JpbGUgZm9ybSB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LXdyYXA6IG5vd3JhcDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICB9XG4gIG5hdmlnYXRpb24tYmFyIGdsb2JhbC1zZWFyY2gtbW9iaWxlIGZvcm0gaW5wdXRbdHlwZT1zZWFyY2hdIHtcbiAgICBib3JkZXItcmlnaHQ6IG5vbmU7XG4gIH1cbiAgbmF2aWdhdGlvbi1iYXIgZ2xvYmFsLXNlYXJjaC1tb2JpbGUgZm9ybSBzZWxlY3Qge1xuICAgIC0tZm9udC1jb2xvdXI6ICNGRkZGRkY7XG4gICAgLS1iYWNrZ3JvdW5kLWNvbG91cjogI0RGMzAzNTtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWwsJTNDc3ZnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Zycgd2lkdGg9JzE3LjQnIGhlaWdodD0nMTAuMSclM0UlM0NwYXRoIGQ9J00xNi43LjdsLTggOC04LTgnIGZpbGw9J25vbmUnIHN0cm9rZT0nJTIzRkZGRkZGJyBzdHJva2Utd2lkdGg9JzInIHN0cm9rZS1taXRlcmxpbWl0PScxMCcvJTNFJTNDL3N2ZyUzRVwiKTtcbiAgfVxuICBuYXZpZ2F0aW9uLWJhciBuYXZpZ2F0aW9uLWNvbnRyb2xzIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIG1hcmdpbi1ib3R0b206IDA7XG4gIH1cbiAgbmF2aWdhdGlvbi1iYXIgLm5hdmlnYXRpb24tY29udGFpbmVyIHtcbiAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgICBoZWlnaHQ6IHZhcigtLW5hdmlnYXRpb24tY29udGFpbmVyLWhlaWdodCk7XG4gICAgcGFkZGluZzogdmFyKC0tcm93LXBhZGRpbmcpO1xuICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCB2YXIoLS10aGVtZS1uYXYtc3BhY2luZy1jb2xvdXIpO1xuICAgIHotaW5kZXg6IDE1MDA7XG4gIH1cbiAgbmF2aWdhdGlvbi1iYXIgLm5hdmlnYXRpb24tY29udGFpbmVyIGEubG9nbyB7XG4gICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICB3aWR0aDogZml0LWNvbnRlbnQ7XG4gIH1cbiAgbmF2aWdhdGlvbi1iYXIgLm5hdmlnYXRpb24tY29udGFpbmVyIGEubG9nby5sb2dvLWRlc2t0b3Age1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cbiAgbmF2aWdhdGlvbi1iYXIgLm5hdmlnYXRpb24tY29udGFpbmVyIGEubG9nby5sb2dvLW1vYmlsZSB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgbWFyZ2luLWxlZnQ6IC0zcmVtO1xuICB9XG4gIG5hdmlnYXRpb24tYmFyIC5uYXZpZ2F0aW9uLWNvbnRhaW5lciBhLmxvZ28gc3ZnIHtcbiAgICB3aWR0aDogdW5zZXQ7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICB9XG4gIG5hdmlnYXRpb24tYmFyIG5hdiB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogY2FsYygxMDAlICsgMHB4KTtcbiAgICBsZWZ0OiAwO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogMTAwdmg7XG4gICAgcGFkZGluZzogdmFyKC0tZ2FwLXkpIHZhcigtLWdhcC14KSB2YXIoLS1uYXZpZ2F0aW9uLWNvbnRhaW5lci1oZWlnaHQpO1xuICAgIGJhY2tncm91bmQ6IHZhcigtLXRoZW1lLW5hdi1iYWNrZ3JvdW5kLW1vYik7XG4gICAgb3ZlcmZsb3cteTogYXV0bztcbiAgICBvcGFjaXR5OiAwO1xuICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICAgIHRyYW5zaXRpb246IG9wYWNpdHkgMC4zcyBjdWJpYy1iZXppZXIoMC4xNjUsIDAuODQsIDAuNDQsIDEpO1xuICB9XG4gIG5hdmlnYXRpb24tYmFyIG5hdiAudG9wLWxldmVsLWxpbmtzIHtcbiAgICBvcGFjaXR5OiAwO1xuICB9XG5cbiAgYm9keS5tb2JpbGUtc2VhcmNoLW9wZW4gbmF2aWdhdGlvbi1iYXIgZ2xvYmFsLXNlYXJjaC1tb2JpbGUge1xuICAgIG1hcmdpbi10b3A6IDA7XG4gIH1cbiAgYm9keS5tb2JpbGUtbmF2aWdhdGlvbi1vcGVuIG5hdmlnYXRpb24tYmFyIG5hdiB7XG4gICAgcG9pbnRlci1ldmVudHM6IGFsbDtcbiAgICBvcGFjaXR5OiAxO1xuICB9XG4gIGJvZHkubW9iaWxlLW5hdmlnYXRpb24tb3BlbiBuYXZpZ2F0aW9uLWJhciBuYXYgLnRvcC1sZXZlbC1saW5rcyB7XG4gICAgb3BhY2l0eTogMTtcbiAgICB0cmFuc2l0aW9uOiBhbGwgMC4zcyBjdWJpYy1iZXppZXIoMC4xNjUsIDAuODQsIDAuNDQsIDEpIDAuM3M7XG4gIH1cbiAgYm9keS5tb2JpbGUtbmF2aWdhdGlvbi1vcGVuIG5hdmlnYXRpb24tYmFyIGJ1dHRvbi5tZW51IHN2ZyB7XG4gICAgLS1jb3JuZXItb2Zmc2V0OiAwO1xuICB9XG4gIGJvZHkubW9iaWxlLW5hdmlnYXRpb24tb3BlbiBuYXZpZ2F0aW9uLWJhciBidXR0b24ubWVudSBzdmcgcG9seWdvbjpudGgtY2hpbGQoMSkge1xuICAgIHRyYW5zZm9ybTogcm90YXRlKDQ1ZGVnKSBzY2FsZVkoODAlKTtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlKDQ1ZGVnKSBzY2FsZVkoODAlKTtcbiAgfVxuICBib2R5Lm1vYmlsZS1uYXZpZ2F0aW9uLW9wZW4gbmF2aWdhdGlvbi1iYXIgYnV0dG9uLm1lbnUgc3ZnIHBvbHlnb246bnRoLWNoaWxkKDIpIHtcbiAgICBvcGFjaXR5OiAwO1xuICB9XG4gIGJvZHkubW9iaWxlLW5hdmlnYXRpb24tb3BlbiBuYXZpZ2F0aW9uLWJhciBidXR0b24ubWVudSBzdmcgcG9seWdvbjpudGgtY2hpbGQoMykge1xuICAgIHRyYW5zZm9ybTogcm90YXRlKC00NWRlZykgc2NhbGVZKDgwJSk7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZSgtNDVkZWcpIHNjYWxlWSg4MCUpO1xuICB9XG59XG4uaGVhdHNpbmtzLWhvbWUgaGVhZGVyLmhlYWRlcixcbi5jb21wb25lbnRzLWhvbWUgaGVhZGVyLmhlYWRlciB7XG4gIHRyYW5zaXRpb246IGFsbCAwLjhzIDAuMnM7XG59XG5cbi5oZWFkZXIge1xuICBhbGlnbi1zZWxmOiBlbmQ7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIHotaW5kZXg6IDEwMDA7XG59XG4uaGVhZGVyIC5oZWFkaW5nLFxuLmhlYWRlciAuc3ViaGVhZGluZyB7XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG59XG4uaGVhZGVyIC5oZWFkaW5nIHtcbiAgb3JkZXI6IDI7XG4gIGZvbnQtd2VpZ2h0OiA4MDA7XG59XG4uaGVhZGVyIC5zdWJoZWFkaW5nIHtcbiAgY29sb3I6IHZhcigtLXRoZW1lLWFjY2VudCk7XG4gIG1hcmdpbi1ib3R0b206IHZhcigtLWdhcCk7XG59XG4uaGVhZGVyIC5zdWJoZWFkaW5nIGEge1xuICAtLWhlYWRpbmctY29sb3VyOiB2YXIoLS10aGVtZS1hY2NlbnQpO1xuICBjb2xvcjogdmFyKC0tdGhlbWUtYWNjZW50KTtcbn1cbi5oZWFkZXIgLnNuaXBwZXQge1xuICBvcmRlcjogMztcbiAgbWFyZ2luLXRvcDogMnJlbTtcbn1cbkBtZWRpYSAobWluLXdpZHRoOiA5ODFweCkge1xuICAuaGVhZGVyIC5zbmlwcGV0IHtcbiAgICBtYXgtd2lkdGg6IDEwMDBweDtcbiAgfVxufVxuLmhlYWRlci50cmFuc2l0aW9uIHtcbiAgb3BhY2l0eTogMDtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0xMCUpO1xufVxuXG5tYWluIHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgZ3JpZC1nYXA6IHZhcigtLWdhcC15KTtcbiAgei1pbmRleDogMTAwMDtcbn1cbm1haW4gY29udGVudC1ibG9ja3Mge1xuICBkaXNwbGF5OiBncmlkO1xuICBncmlkLWdhcDogdmFyKC0tZ2FwLXkpO1xufVxubWFpbiBjb250ZW50LWJsb2NrcyBzZWN0aW9uIHtcbiAgZGlzcGxheTogZ3JpZDtcbiAgZ3JpZC1nYXA6IHZhcigtLWdhcC15KTtcbn1cbmJvZHk6bm90KFtkYXRhLWNvbXBvbmVudHMqPXNjcm9sbC1iYXJdKSB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbn1cblxuQG1lZGlhIChtaW4td2lkdGg6IDE0MDFweCkge1xuICBtYWluIHtcbiAgICBwYWRkaW5nLWJvdHRvbTogdmFyKC0tZ2FwLXkpO1xuICB9XG59XG5cbnNpZGUtYmFyIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB3aWR0aDogdmFyKC0tc2lkZWJhci13aWR0aCk7XG4gIG1heC13aWR0aDogdmFyKC0tc2lkZWJhci1tYXgtd2lkdGgpO1xuICBoZWlnaHQ6IDEwMCU7XG4gIHotaW5kZXg6IDEwMDA7XG59XG5zaWRlLWJhciBkaXYuY29udGVudC1ibG9jay5jYWxsVG9BY3Rpb24ge1xuICBwb3NpdGlvbjogZml4ZWQ7XG4gIGJvdHRvbTogMDtcbiAgdG9wOiB1bnNldDtcbiAgbWFyZ2luLWJvdHRvbTogMDtcbiAgcGFkZGluZy1ib3R0b206IDA7XG59XG5AbWVkaWEgKG1heC13aWR0aDogOTgwcHgpIHtcbiAgc2lkZS1iYXIgZGl2LmNvbnRlbnQtYmxvY2suY2FsbFRvQWN0aW9uIHtcbiAgICByaWdodDogMDtcbiAgfVxufVxuQG1lZGlhIChtaW4td2lkdGg6IDk4MHB4KSBhbmQgKG1heC13aWR0aDogMTQwMHB4KSB7XG4gIHNpZGUtYmFyIGRpdi5jb250ZW50LWJsb2NrLmNhbGxUb0FjdGlvbiB7XG4gICAgbWFyZ2luLWxlZnQ6IGNhbGMoY2xhbXAoMnJlbSwgNXZ3LCA4cmVtKSAqIC0xKTtcbiAgfVxufVxuQG1lZGlhIChtYXgtd2lkdGg6IDE0MDBweCkge1xuICBzaWRlLWJhciB7XG4gICAgbWFyZ2luLWJvdHRvbTogMjAwcHg7XG4gIH1cbn1cbnNpZGUtYmFyLmZyZWUge1xuICAtLWNvbnRhaW5lci1wYWRkaW5nOiA0cmVtO1xufVxuc2lkZS1iYXIuY29udGFpbiA+IGRpdiB7XG4gIHBhZGRpbmctcmlnaHQ6IHZhcigtLWdhcC14KTtcbn1cbnNpZGUtYmFyW2RhdGEtYmVoYXZpb3VyPXN0aWNreV0ge1xuICAtLXN0aWNreS1zcGFjaW5nOiAwO1xufVxuc2lkZS1iYXJbZGF0YS1iZWhhdmlvdXI9c3RpY2t5XS5jb250YWluIHtcbiAgLS1zdGlja3ktc3BhY2luZzogdmFyKC0tZ2FwLXkpO1xufVxuc2lkZS1iYXJbZGF0YS1iZWhhdmlvdXI9c3RpY2t5XSA+IGRpdiB7XG4gIHBvc2l0aW9uOiBzdGlja3k7XG4gIHRvcDogdmFyKC0tc3RpY2t5LXNwYWNpbmcpO1xufVxuQG1lZGlhIChtYXgtd2lkdGg6IDE0MDBweCkge1xuICBzaWRlLWJhcltkYXRhLWJlaGF2aW91cj1zdGlja3ldID4gZGl2IHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgdG9wOiAwO1xuICB9XG59XG5AbWVkaWEgKG1heC13aWR0aDogMTQwMHB4KSB7XG4gIHNpZGUtYmFyOm5vdChbZGF0YS1iZWhhdmlvdXI9Zm9sZG91dF0pIHtcbiAgICAtLXNpZGViYXItbWF4LXdpZHRoOiAxMDAlO1xuICAgIC0tc2lkZWJhci13aWR0aDogMTAwJTtcbiAgfVxuICBzaWRlLWJhcjpub3QoW2RhdGEtYmVoYXZpb3VyPWZvbGRvdXRdKSA+IGRpdiB7XG4gICAgbWFyZ2luLWJvdHRvbTogY2FsYyh2YXIoLS1nYXAteSkgKiAyKTtcbiAgfVxuICBzaWRlLWJhci5jb250YWluID4gZGl2IHtcbiAgICBwYWRkaW5nOiAwO1xuICB9XG59XG5zaWRlLWJhcltkYXRhLWJlaGF2aW91cj1mb2xkb3V0XSB7XG4gIHotaW5kZXg6IDE3NTA7XG4gIHRyYW5zaXRpb246IG1heC13aWR0aCAwLjdzIGN1YmljLWJlemllcigwLjQyLCAwLCAwLjU4LCAxKSwgdHJhbnNmb3JtIDAuN3MgY3ViaWMtYmV6aWVyKDAuMTY1LCAwLjg0LCAwLjQ0LCAxKSwgdG9wIDAuNHMgY3ViaWMtYmV6aWVyKDAuMjE1LCAwLjYxLCAwLjM1NSwgMSksIG9wYWNpdHkgdmFyKC0tdHJhbnNpdGlvbi1kdXJhdGlvbiwgMC4ycykgdmFyKC0tdHJhbnNpdGlvbi1lYXNlLCBjdWJpYy1iZXppZXIoMC40MiwgMCwgMC41OCwgMSkpIHZhcigtLXRyYW5zaXRpb24tZGVsYXksICk7XG59XG5zaWRlLWJhcltkYXRhLWJlaGF2aW91cj1mb2xkb3V0XSA+IGRpdiB7XG4gIHBvc2l0aW9uOiBzdGlja3k7XG4gIHRvcDogMDtcbn1cbkBtZWRpYSAobWF4LXdpZHRoOiAxNDAwcHgpIHtcbiAgc2lkZS1iYXJbZGF0YS1iZWhhdmlvdXI9Zm9sZG91dF0ge1xuICAgIHBvc2l0aW9uOiBmaXhlZDtcbiAgICB0b3A6IDA7XG4gICAgcmlnaHQ6IDA7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDEwMCUpO1xuICAgIHdpZHRoOiBtaW4oMTAwdncsIDQwMHB4KTtcbiAgICBtYXgtd2lkdGg6IG1pbigxMDB2dywgNDAwcHgpO1xuICB9XG4gIHNpZGUtYmFyW2RhdGEtYmVoYXZpb3VyPWZvbGRvdXRdLmFjdGl2ZSB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDAlKTtcbiAgfVxuICBzaWRlLWJhcltkYXRhLWJlaGF2aW91cj1mb2xkb3V0XSA+IGRpdiB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB9XG59XG5AbWVkaWEgKG1heC13aWR0aDogOTgwcHgpIHtcbiAgc2lkZS1iYXJbZGF0YS1iZWhhdmlvdXI9Zm9sZG91dF0gLm9wZW4tdHJpZ2dlciB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuICB9XG4gIHNpZGUtYmFyW2RhdGEtYmVoYXZpb3VyPWZvbGRvdXRdIC5jbG9zZS10cmlnZ2VyIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgfVxufVxuXG5wYWdlLWJhY2tncm91bmQge1xuICBkaXNwbGF5OiBibG9jaztcbiAgcG9zaXRpb246IGZpeGVkO1xuICB0b3A6IDA7XG4gIGxlZnQ6IDA7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDEwMHZoO1xuICB0cmFuc2Zvcm06IHNjYWxlKDEpO1xuICBiYWNrZ3JvdW5kOiB2YXIoLS10aGVtZS1wYWdlLWJhY2tncm91bmQpO1xuICB6LWluZGV4OiA1MDA7XG59XG5wYWdlLWJhY2tncm91bmQ6OmFmdGVyIHtcbiAgY29udGVudDogXCJcIjtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDA7XG4gIGxlZnQ6IDA7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDEwMCU7XG4gIGJhY2tncm91bmQ6IHZhcigtLXRoZW1lLWNvbnRlbnQtYmFja2dyb3VuZCk7XG4gIHotaW5kZXg6IDUwMTtcbn1cbkBtZWRpYSAobWluLXdpZHRoOiA5ODFweCkge1xuICBwYWdlLWJhY2tncm91bmQ6OmFmdGVyIHtcbiAgICB0b3A6IDA7XG4gICAgbGVmdDogY2FsYyh2YXIoLS1uYXZpZ2F0aW9uLWJhci13aWR0aCkpO1xuICAgIHdpZHRoOiBjYWxjKDEwMCUgLSB2YXIoLS1uYXZpZ2F0aW9uLWJhci13aWR0aCkpO1xuICAgIGhlaWdodDogMTAwJTtcbiAgfVxufVxucGFnZS1iYWNrZ3JvdW5kIHZpZGVvIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAwO1xuICBsZWZ0OiAwO1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAxMDAlO1xuICBvYmplY3QtZml0OiBjb3ZlcjtcbiAgdHJhbnNmb3JtOiBzY2FsZVgoLTEpO1xuICB1c2VyLXNlbGVjdDogbm9uZTtcbiAgb3BhY2l0eTogMC4zO1xufVxucGFnZS1iYWNrZ3JvdW5kIGltZyB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMDtcbiAgbGVmdDogMDtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogMTAwJTtcbiAgb2JqZWN0LWZpdDogY292ZXI7XG4gIHRyYW5zZm9ybTogc2NhbGVYKC0xKTtcbiAgdXNlci1zZWxlY3Q6IG5vbmU7XG59XG5wYWdlLWJhY2tncm91bmQgaW1nLmxvZ28ge1xuICBvcGFjaXR5OiAwLjAzO1xufVxucGFnZS1iYWNrZ3JvdW5kIGltZzo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcIjtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAwO1xuICBsZWZ0OiAwO1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAxMDAlO1xuICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQodG8gYm90dG9tLCB0cmFuc3BhcmVudCA0MCUsICMxMjE1MkIgMTAwJSk7XG4gIHotaW5kZXg6IDUwMCAtMTtcbn1cblxuYm9keTpub3QoI2hvbWUpIC5jb250ZW50LXdyYXBwZXIgaGVhZGVyIHtcbiAgcGFkZGluZy10b3A6IDIwMHB4O1xuICBtYXJnaW4tYm90dG9tOiB2YXIoLS1nYXAteSk7XG59XG5ib2R5Om5vdCgjaG9tZSkgLmNvbnRlbnQtd3JhcHBlciBoZWFkZXI6bm90KC5oYXMtc3ViaGVhZGluZykge1xuICBtYXJnaW4tdG9wOiBjYWxjKC0xICogdmFyKC0tZ2FwLXkpKTtcbn1cbmJvZHk6bm90KCNob21lKSAuY29udGVudC13cmFwcGVyIGhlYWRlci5oYXMtc3ViaGVhZGluZyB7XG4gIG1hcmdpbi10b3A6IGNhbGMoLTEuODUgKiB2YXIoLS1nYXAteSkpO1xufVxuQG1lZGlhIChtYXgtd2lkdGg6IDk4MHB4KSB7XG4gIGJvZHk6bm90KCNob21lKSAuY29udGVudC13cmFwcGVyIGhlYWRlciB7XG4gICAgcGFkZGluZy10b3A6IHZhcigtLWdhcC15KTtcbiAgICBtYXJnaW4tdG9wOiBjYWxjKC0xICogdmFyKC0tZ2FwLXkpKSAhaW1wb3J0YW50O1xuICB9XG59XG5cbmJvZHkjaG9tZS5jb21wb25lbnRzLWhvbWUgLmNvbnRlbnQtd3JhcHBlciBoZWFkZXIge1xuICBkaXNwbGF5OiBncmlkO1xuICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdCgzLCAxZnIpO1xuICBncmlkLWdhcDogdmFyKC0tZ2FwKTtcbiAgbWFyZ2luLWJvdHRvbTogdmFyKC0tZ2FwLXkpO1xufVxuYm9keSNob21lLmNvbXBvbmVudHMtaG9tZSAuY29udGVudC13cmFwcGVyIGhlYWRlciA+IGgxLCBib2R5I2hvbWUuY29tcG9uZW50cy1ob21lIC5jb250ZW50LXdyYXBwZXIgaGVhZGVyIHAge1xuICBncmlkLWNvbHVtbjogMS8zO1xufVxuYm9keSNob21lLmNvbXBvbmVudHMtaG9tZSAuY29udGVudC13cmFwcGVyIGhlYWRlciBoMSB7XG4gIGdyaWQtcm93OiAxO1xufVxuQG1lZGlhIChtYXgtd2lkdGg6IDQwMHB4KSB7XG4gIGJvZHkjaG9tZS5jb21wb25lbnRzLWhvbWUgLmNvbnRlbnQtd3JhcHBlciBoZWFkZXIgaDEge1xuICAgIGZvbnQtc2l6ZTogMjRweDtcbiAgfVxufVxuYm9keSNob21lLmNvbXBvbmVudHMtaG9tZSAuY29udGVudC13cmFwcGVyIGhlYWRlciBwIHtcbiAgZ3JpZC1jb2x1bW46IDEvLTE7XG4gIGdyaWQtcm93OiAyO1xufVxuYm9keSNob21lLmNvbXBvbmVudHMtaG9tZSAuY29udGVudC13cmFwcGVyIGhlYWRlciBpbWcge1xuICBncmlkLWNvbHVtbjogMztcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogYXV0bztcbn1cbmJvZHkjaG9tZS5jb21wb25lbnRzLWhvbWUgLmNvbnRlbnQtd3JhcHBlciBoZWFkZXIgKyBtYWluIHtcbiAgbWFyZ2luLXRvcDogMDtcbn1cbkBtZWRpYSAobWluLXdpZHRoOiA3NjhweCkge1xuICBib2R5I2hvbWUuY29tcG9uZW50cy1ob21lIC5jb250ZW50LXdyYXBwZXIgaGVhZGVyIHtcbiAgICBncmlkLWdhcDogMDtcbiAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdChhdXRvLWZpbGwsIG1pbi1tYXgoMjAwcHgsIDI1JSkpO1xuICB9XG4gIGJvZHkjaG9tZS5jb21wb25lbnRzLWhvbWUgLmNvbnRlbnQtd3JhcHBlciBoZWFkZXIgcCB7XG4gICAgbWFyZ2luLXRvcDogMDtcbiAgfVxuICBib2R5I2hvbWUuY29tcG9uZW50cy1ob21lIC5jb250ZW50LXdyYXBwZXIgaGVhZGVyIGltZyB7XG4gICAgbWF4LXdpZHRoOiAxNTBweDtcbiAgICBtYXJnaW4tbGVmdDogYXV0bztcbiAgfVxufVxuYm9keSNob21lLmNvbXBvbmVudHMtaG9tZSAuY29udGVudC13cmFwcGVyIC5hYm91dC11cy1ibG9jayB7XG4gIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCgxMjBkZWcsICMxMDEyNGQgMjAlLCAjMTMxZjZiIDgwJSk7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtd3JhcDogbm93cmFwO1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG59XG5ib2R5I2hvbWUuY29tcG9uZW50cy1ob21lIC5jb250ZW50LXdyYXBwZXIgLmFib3V0LXVzLWJsb2NrID4gZGl2Omxhc3Qtb2YtdHlwZSB7XG4gIHBhZGRpbmctYm90dG9tOiA3NXB4O1xuICBkaXNwbGF5OiBncmlkO1xuICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdChhdXRvLWZpdCwgbWlubWF4KDEyNXB4LCAxZnIpKTtcbn1cbmJvZHkjaG9tZS5jb21wb25lbnRzLWhvbWUgLmNvbnRlbnQtd3JhcHBlciAuYWJvdXQtdXMtYmxvY2sgPiBkaXY6Zmlyc3Qtb2YtdHlwZSB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIHBhZGRpbmc6IGNhbGModmFyKC0tZ2FwKSAqIDIpO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjREYzMDM1O1xuICBnYXA6IDE2cHg7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xufVxuYm9keSNob21lLmNvbXBvbmVudHMtaG9tZSAuY29udGVudC13cmFwcGVyIC5hYm91dC11cy1ibG9jayA+IGRpdjpsYXN0LW9mLXR5cGUge1xuICBmbGV4LWdyb3c6IDE7XG4gIGdyaWQtZ2FwOiB2YXIoLS1nYXApO1xuICBwYWRkaW5nLXRvcDogdmFyKC0tZ2FwKTtcbn1cbmJvZHkjaG9tZS5jb21wb25lbnRzLWhvbWUgLmNvbnRlbnQtd3JhcHBlciAuYWJvdXQtdXMtYmxvY2sgPiBkaXY6bGFzdC1vZi10eXBlID4gZGl2IHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBwYWRkaW5nOiB2YXIoLS1nYXApO1xuICBnYXA6IHZhcigtLWdhcCk7XG59XG5ib2R5I2hvbWUuY29tcG9uZW50cy1ob21lIC5jb250ZW50LXdyYXBwZXIgLmFib3V0LXVzLWJsb2NrID4gZGl2Omxhc3Qtb2YtdHlwZSA+IGRpdiBzdmcge1xuICB3aWR0aDogODAlO1xuICBjb2xvcjogd2hpdGU7XG4gIG1heC13aWR0aDogODBweDtcbn1cbmJvZHkjaG9tZS5jb21wb25lbnRzLWhvbWUgLmNvbnRlbnQtd3JhcHBlciAuYWJvdXQtdXMtYmxvY2sgPiBkaXY6bGFzdC1vZi10eXBlID4gZGl2IHN2Zy53aXJlLWVhcnRoIHtcbiAgd2lkdGg6IDYwJTtcbiAgbWFyZ2luLWJvdHRvbTogMWVtO1xufVxuYm9keSNob21lLmNvbXBvbmVudHMtaG9tZSAuY29udGVudC13cmFwcGVyIC5hYm91dC11cy1ibG9jayA+IGRpdjpsYXN0LW9mLXR5cGUgPiBkaXYgcCB7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgY29sb3I6ICNERjMwMzU7XG4gIGp1c3RpZnktc2VsZjogYmFzZWxpbmU7XG4gIGZvbnQtc2l6ZTogMS40cmVtO1xufVxuYm9keSNob21lLmNvbXBvbmVudHMtaG9tZSAuY29udGVudC13cmFwcGVyIC5hYm91dC11cy1ibG9jayA+IGEge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHJpZ2h0OiAwO1xuICBib3R0b206IDA7XG59XG5ib2R5I2hvbWUuY29tcG9uZW50cy1ob21lIC5jb250ZW50LXdyYXBwZXIgLmNvbnRlbnQtYmxvY2suY2FsbFRvQWN0aW9uIHtcbiAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KDEyMGRlZywgIzEwMTI0ZCAwJSwgIzEzMWY2YiA4MCUpO1xuICBwYWRkaW5nOiBjYWxjKHZhcigtLWdhcCkgKiAyKSAwIDAgY2FsYyh2YXIoLS1nYXApICogMik7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG59XG5ib2R5I2hvbWUuY29tcG9uZW50cy1ob21lIC5jb250ZW50LXdyYXBwZXIgLmNvbnRlbnQtYmxvY2suY2FsbFRvQWN0aW9uIC5jYWxsLXRvLWFjdGlvbi1oZWFkaW5nLCBib2R5I2hvbWUuY29tcG9uZW50cy1ob21lIC5jb250ZW50LXdyYXBwZXIgLmNvbnRlbnQtYmxvY2suY2FsbFRvQWN0aW9uIC5jYWxsLXRvLWFjdGlvbi1zdWJoZWFkaW5nIHtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbn1cbmJvZHkjaG9tZS5jb21wb25lbnRzLWhvbWUgLmNvbnRlbnQtd3JhcHBlciAuY29udGVudC1ibG9jay5jYWxsVG9BY3Rpb24gLmNhbGwtdG8tYWN0aW9uLWhlYWRpbmcge1xuICAtLWhlYWRpbmctY29sb3VyOiAjRkZGRkZGO1xuICBmb250LXNpemU6IDEuMjVlbTtcbiAgbGluZS1oZWlnaHQ6IDEuMztcbiAgcGFkZGluZy1yaWdodDogY2FsYyh2YXIoLS1nYXApICogMik7XG4gIGZvbnQtd2VpZ2h0OiA4MDA7XG4gIG1hcmdpbi1ib3R0b206IGNhbGModmFyKC0tZ2FwKSAqIDIpO1xufVxuYm9keSNob21lLmNvbXBvbmVudHMtaG9tZSAuY29udGVudC13cmFwcGVyIC5jb250ZW50LWJsb2NrLmNhbGxUb0FjdGlvbiAuY2FsbC10by1hY3Rpb24tc3ViaGVhZGluZyB7XG4gIC0taGVhZGluZy1jb2xvdXI6ICNERjMwMzU7XG4gIGZvbnQtc2l6ZTogMC45Mzc1ZW07XG4gIGxpbmUtaGVpZ2h0OiAxLjY7XG4gIG1hcmdpbi1ib3R0b206IHZhcigtLWdhcCk7XG59XG5ib2R5I2hvbWUuY29tcG9uZW50cy1ob21lIC5jb250ZW50LXdyYXBwZXIgLmNvbnRlbnQtYmxvY2suY2FsbFRvQWN0aW9uIC5jYWxsLXRvLWFjdGlvbi1idXR0b24ge1xuICBtYXJnaW4tdG9wOiB2YXIoLS1nYXApO1xuICBtYXJnaW4tbGVmdDogY2FsYyh2YXIoLS1nYXApICogMyk7XG4gIGFsaWduLXNlbGY6IGZsZXgtZW5kO1xuICB3aWR0aDogZml0LWNvbnRlbnQ7XG59XG5ib2R5I2hvbWUuY29tcG9uZW50cy1ob21lIC5jb250ZW50LXdyYXBwZXIgc2Nyb2xsLWJhciB7XG4gIG1heC13aWR0aDogdW5zZXQgIWltcG9ydGFudDtcbn1cbkBtZWRpYSAobWluLXdpZHRoOiA3NjhweCkge1xuICBib2R5I2hvbWUuY29tcG9uZW50cy1ob21lIC5jb250ZW50LXdyYXBwZXIgLmFib3V0LXVzLWJsb2NrIHtcbiAgICBwYWRkaW5nLWJvdHRvbTogdW5zZXQ7XG4gICAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgfVxuICBib2R5I2hvbWUuY29tcG9uZW50cy1ob21lIC5jb250ZW50LXdyYXBwZXIgLmFib3V0LXVzLWJsb2NrID4gZGl2OmZpcnN0LW9mLXR5cGUge1xuICAgIG1heC13aWR0aDogMzUlO1xuICAgIHBhZGRpbmctcmlnaHQ6IHZhcigtLXNwYWNlcjIpO1xuICAgIGNsaXAtcGF0aDogcG9seWdvbigwJSAxMDAlLCAwJSAwJSwgMTAwJSAwJSwgNzUlIDEwMCUpO1xuICB9XG4gIGJvZHkjaG9tZS5jb21wb25lbnRzLWhvbWUgLmNvbnRlbnQtd3JhcHBlciAuYWJvdXQtdXMtYmxvY2sgPiBkaXY6bGFzdC1vZi10eXBlIHtcbiAgICBkaXNwbGF5OiBncmlkO1xuICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KGF1dG8tZml0LCBtaW5tYXgoMTI1cHgsIDFmcikpO1xuICAgIHBhZGRpbmc6IHZhcigtLXNwYWNlcjEpO1xuICAgIG1hcmdpbi1sZWZ0OiAtNSU7XG4gIH1cbn1cbkBtZWRpYSAobWluLXdpZHRoOiA5ODFweCkgYW5kIChtYXgtd2lkdGg6IDEzOTlweCkge1xuICBib2R5I2hvbWUuY29tcG9uZW50cy1ob21lIC5jb250ZW50LXdyYXBwZXIgLmFib3V0LXVzLWJsb2NrIHtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICB9XG4gIGJvZHkjaG9tZS5jb21wb25lbnRzLWhvbWUgLmNvbnRlbnQtd3JhcHBlciAuYWJvdXQtdXMtYmxvY2sgPiBkaXY6Zmlyc3Qtb2YtdHlwZSB7XG4gICAgbWF4LXdpZHRoOiB1bnNldDtcbiAgICBjbGlwLXBhdGg6IHVuc2V0O1xuICB9XG4gIGJvZHkjaG9tZS5jb21wb25lbnRzLWhvbWUgLmNvbnRlbnQtd3JhcHBlciAuYWJvdXQtdXMtYmxvY2sgPiBkaXY6bGFzdC1vZi10eXBlIHtcbiAgICBwYWRkaW5nOiB2YXIoLS1zcGFjZXIxKTtcbiAgICBtYXJnaW4tbGVmdDogMCU7XG4gIH1cbn1cbkBtZWRpYSAobWluLXdpZHRoOiAxMjAxcHgpIHtcbiAgYm9keSNob21lLmNvbXBvbmVudHMtaG9tZSAuY29udGVudC13cmFwcGVyIGhlYWRlciwgYm9keSNob21lLmNvbXBvbmVudHMtaG9tZSAuY29udGVudC13cmFwcGVyIHNjcm9sbC1iYXIsIGJvZHkjaG9tZS5jb21wb25lbnRzLWhvbWUgLmNvbnRlbnQtd3JhcHBlciAuYWJvdXQtdXMtYmxvY2ssIGJvZHkjaG9tZS5jb21wb25lbnRzLWhvbWUgLmNvbnRlbnQtd3JhcHBlciAuY29udGVudC1ibG9jay5jYWxsVG9BY3Rpb24sIGJvZHkjaG9tZS5jb21wb25lbnRzLWhvbWUgLmNvbnRlbnQtd3JhcHBlciAubWFya2V0LXNlY3RvcnNcXDpsaXN0IHtcbiAgICBtYXgtd2lkdGg6IDEyMDBweCAhaW1wb3J0YW50O1xuICB9XG59XG5cbmZvb3RlciB7XG4gIHBvc2l0aW9uOiBzdGlja3k7XG4gIHRvcDogMTAwZHZoO1xuICBvcmRlcjogOTk7XG4gIHBhZGRpbmctYm90dG9tOiB2YXIoLS1zcGFjZXIxKTtcbiAgZ3JpZC1jb2x1bW46IHZhcigtLWNvbHVtbi1jb250ZW50KTtcbiAgei1pbmRleDogMTAwMDtcbn1cbkBtZWRpYSAobWluLXdpZHRoOiAxMjAxcHgpIHtcbiAgZm9vdGVyIHtcbiAgICBtYXgtd2lkdGg6IDEyMDBweCAhaW1wb3J0YW50O1xuICB9XG59XG5cbiNob21lIGZvb3RlciB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgdG9wOiBpbml0aWFsO1xuICBncmlkLXJvdzogLTE7XG59XG5cbmNvbnRlbnQtYmxvY2tzIFtkYXRhLWNvbHVtbnNdIHtcbiAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQodmFyKC0tY29sdW1ucywgMSksIDFmcik7XG4gIGdyaWQtZ2FwOiBjYWxjKHZhcigtLWdhcCkgKiAyKTtcbn1cbkBtZWRpYSAobWluLXdpZHRoOiA3NjlweCkge1xuICBjb250ZW50LWJsb2NrcyBbZGF0YS1jb2x1bW5zPVwiMlwiXSB7XG4gICAgLS1jb2x1bW5zOiAyO1xuICB9XG59XG5AbWVkaWEgKG1pbi13aWR0aDogOTgwcHgpIHtcbiAgY29udGVudC1ibG9ja3MgW2RhdGEtY29sdW1ucz1cIjJcIl0ge1xuICAgIC0tY29sdW1uczogMTtcbiAgfVxufVxuQG1lZGlhIChtaW4td2lkdGg6IDEyMDFweCkge1xuICBjb250ZW50LWJsb2NrcyBbZGF0YS1jb2x1bW5zPVwiMlwiXSB7XG4gICAgLS1jb2x1bW5zOiAyO1xuICB9XG59XG5AbWVkaWEgKG1pbi13aWR0aDogMTQwMXB4KSB7XG4gIGNvbnRlbnQtYmxvY2tzIFtkYXRhLWNvbHVtbnM9XCIyXCJdIHtcbiAgICAtLWNvbHVtbnM6IDE7XG4gIH1cbn1cbkBtZWRpYSAobWluLXdpZHRoOiAxODAwcHgpIHtcbiAgY29udGVudC1ibG9ja3MgW2RhdGEtY29sdW1ucz1cIjJcIl0ge1xuICAgIC0tY29sdW1uczogMjtcbiAgfVxufVxuXG5zZWFyY2gtZWxlbWVudCAuc2VhcmNoLWlucHV0IHN2ZyB7XG4gIGhlaWdodDogMzJweDtcbn1cblxubW9kYWwtd3JhcHBlciB7XG4gIC0td3JhcHBlci1iYWNrZ3JvdW5kLWNvbG91cjogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjk1KTtcbiAgLS1tb2RhbC1jbG9zZS1jb2xvdXI6ICRibGFjaztcbiAgLS1jb250YWluZXItYmFja2dyb3VuZC1jb2xvdXI6IHdoaXRlO1xuICAtLW1pbi13aWR0aDozMDBweDtcbiAgLS1tYXgtd2lkdGg6MTEyMHB4O1xuICAtLXdpZHRoOmNsYW1wKHZhcigtLW1pbi13aWR0aCksIDkwdncsIGZpdC1jb250ZW50KTtcbiAgLS1taW4taGVpZ2h0OjYwMHB4O1xuICAtLW1heC1oZWlnaHQ6Y2FsYygxMDB2aCAtIHZhcigtLWd1dHRlcjIpKTtcbiAgLS1oZWlnaHQ6Y2xhbXAodmFyKC0tbWluLWhlaWdodCksIDkwdncsIGZpdC1jb250ZW50KTtcbiAgLS1jbG9zZS1idXR0b24tc2l6ZTogMzBweDtcbiAgLS1uYXYtYnV0dG9uLXNpemU6IDQwcHg7XG4gIHBvc2l0aW9uOiBmaXhlZDtcbiAgaW5zZXQ6IDA7XG4gIGhlaWdodDogMTAwdmg7XG4gIHdpZHRoOiAxMDAlO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS13cmFwcGVyLWJhY2tncm91bmQtY29sb3VyKTtcbiAgei1pbmRleDogMTAwMDA7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIHBsYWNlLWl0ZW1zOiBjZW50ZXI7XG4gIHBsYWNlLWNvbnRlbnQ6IGNlbnRlcjtcbiAgdHJhbnNpdGlvbjogb3BhY2l0eSAwLjVzIGN1YmljLWJlemllcigwLjQyLCAwLCAwLjU4LCAxKTtcbiAgb3ZlcnNjcm9sbC1iZWhhdmlvcjogY29udGFpbjtcbn1cbkBzdXBwb3J0cyAoLS12Oi13ZWJraXQtZmlsbC1hdmFpbGFibGUgKSB7XG4gIG1vZGFsLXdyYXBwZXIge1xuICAgIC0tbWF4LWhlaWdodDotd2Via2l0LWZpbGwtYXZhaWxhYmxlO1xuICB9XG59XG5tb2RhbC13cmFwcGVyLmxvYWRpbmcge1xuICBvcGFjaXR5OiAwO1xuICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgdHJhbnNpdGlvbjogb3BhY2l0eSAwLjNzIGN1YmljLWJlemllcigwLjQyLCAwLCAwLjU4LCAxKSAwLjNzO1xufVxubW9kYWwtd3JhcHBlci5sb2FkaW5nIG1vZGFsLWNvbnRhaW5lciB7XG4gIG9wYWNpdHk6IDA7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgydmgpO1xuICB0cmFuc2l0aW9uOiBvcGFjaXR5IDAuM3MgY3ViaWMtYmV6aWVyKDAuNDIsIDAsIDAuNTgsIDEpLCB0cmFuc2Zvcm0gMC4zcyBjdWJpYy1iZXppZXIoMC44OTUsIDAuMDMsIDAuNjg1LCAwLjIyKTtcbn1cbm1vZGFsLXdyYXBwZXIgYnV0dG9uLmNsb3NlIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IHZhcigtLWd1dHRlcjEpO1xuICByaWdodDogdmFyKC0tZ3V0dGVyMSk7XG4gIHdpZHRoOiB2YXIoLS1jbG9zZS1idXR0b24tc2l6ZSk7XG4gIGhlaWdodDogdmFyKC0tY2xvc2UtYnV0dG9uLXNpemUpO1xufVxubW9kYWwtd3JhcHBlciBidXR0b24uY2xvc2Ugc3ZnIHtcbiAgY29sb3I6IHZhcigtLW1vZGFsLWNsb3NlLWNvbG91ciwgI0RGMzAzNSk7XG59XG5tb2RhbC13cmFwcGVyIGJ1dHRvbi5jbG9zZSBzdmcgY2lyY2xlLCBtb2RhbC13cmFwcGVyIGJ1dHRvbi5jbG9zZSBzdmcgcGF0aCB7XG4gIHRyYW5zaXRpb246IDAuM3MgY3ViaWMtYmV6aWVyKDAuNDIsIDAsIDAuNTgsIDEpO1xufVxuQG1lZGlhIChob3ZlcjogaG92ZXIpIHtcbiAgbW9kYWwtd3JhcHBlciBidXR0b24uY2xvc2U6aG92ZXIgc3ZnIHtcbiAgICAtLWZpbGw6d2hpdGU7XG4gICAgLS1zdHJva2U6dmFyKC0tc2Vjb25kYXJ5LCAjREYzMDM1KTtcbiAgfVxufVxubW9kYWwtd3JhcHBlciBidXR0b24ubmF2aWdhdGlvbiB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgd2lkdGg6IHZhcigtLW5hdi1idXR0b24tc2l6ZSk7XG4gIGhlaWdodDogdmFyKC0tbmF2LWJ1dHRvbi1zaXplKTtcbiAgdG9wOiBjYWxjKDUwJSAtIHZhcigtLW5hdi1idXR0b24tc2l6ZSkgLyAyKTtcbiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tc2Vjb25kYXJ5LCAjREYzMDM1KTtcbiAgYm9yZGVyLXJhZGl1czogNTAlO1xuICBib3JkZXI6IDJweCBzb2xpZCB2YXIoLS1zZWNvbmRhcnksICNERjMwMzUpO1xuICBjb2xvcjogd2hpdGU7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIHBsYWNlLWNvbnRlbnQ6IGNlbnRlcjtcbiAgcGxhY2UtaXRlbXM6IGNlbnRlcjtcbiAgdHJhbnNpdGlvbjogY29sb3IgdmFyKC0tdHJhbnNpdGlvbi1kdXJhdGlvbiwgMC4ycykgdmFyKC0tdHJhbnNpdGlvbi1lYXNlLCBjdWJpYy1iZXppZXIoMC40MiwgMCwgMC41OCwgMSkpIHZhcigtLXRyYW5zaXRpb24tZGVsYXksICksIGJhY2tncm91bmQtY29sb3IgdmFyKC0tdHJhbnNpdGlvbi1kdXJhdGlvbiwgMC4ycykgdmFyKC0tdHJhbnNpdGlvbi1lYXNlLCBjdWJpYy1iZXppZXIoMC40MiwgMCwgMC41OCwgMSkpIHZhcigtLXRyYW5zaXRpb24tZGVsYXksICksIHRyYW5zZm9ybSAwLjJzIGN1YmljLWJlemllcigwLjE3NSwgMC44ODUsIDAuMzIsIDEuMjc1KTtcbn1cbm1vZGFsLXdyYXBwZXIgYnV0dG9uLm5hdmlnYXRpb24ucHJldmlvdXMge1xuICBsZWZ0OiB2YXIoLS1ndXR0ZXIxKTtcbn1cbm1vZGFsLXdyYXBwZXIgYnV0dG9uLm5hdmlnYXRpb24ubmV4dCB7XG4gIHJpZ2h0OiB2YXIoLS1ndXR0ZXIxKTtcbn1cbm1vZGFsLXdyYXBwZXIgYnV0dG9uLm5hdmlnYXRpb24gc3ZnIHtcbiAgd2lkdGg6IDUwJTtcbiAgaGVpZ2h0OiA1MCU7XG59XG5AbWVkaWEgKGhvdmVyOiBob3Zlcikge1xuICBtb2RhbC13cmFwcGVyIGJ1dHRvbi5uYXZpZ2F0aW9uOmhvdmVyIHtcbiAgICB0cmFuc2Zvcm06IHNjYWxlKDEuMSk7XG4gICAgY29sb3I6IHZhcigtLXNlY29uZGFyeSwgI0RGMzAzNSk7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogd2hpdGU7XG4gIH1cbn1cblxubW9kYWwtY29udGFpbmVyIHtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApO1xuICB0cmFuc2l0aW9uOiBvcGFjaXR5IDAuNXMgY3ViaWMtYmV6aWVyKDAuNDIsIDAsIDAuNTgsIDEpIDAuM3MsIHRyYW5zZm9ybSAwLjVzIGN1YmljLWJlemllcigwLjE2NSwgMC44NCwgMC40NCwgMSkgMC4zcztcbiAgd2lkdGg6IHZhcigtLXdpZHRoKTtcbiAgaGVpZ2h0OiB2YXIoLS1oZWlnaHQpO1xuICBtYXgtaGVpZ2h0OiB2YXIoLS1tYXgtaGVpZ2h0KTtcbiAgbWF4LXdpZHRoOiB2YXIoLS1tYXgtd2lkdGgpO1xuICBib3JkZXI6IDFweCBzb2xpZCAjZGNkY2RjO1xuICBib3JkZXItcmFkaXVzOiB2YXIoLS1ib3JkZXItcmFkaXVzLCA2cHgpO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jb250YWluZXItYmFja2dyb3VuZC1jb2xvdXIpO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIG1hcmdpbjogdmFyKC0tZ3V0dGVyMSk7XG4gIG92ZXJzY3JvbGwtYmVoYXZpb3I6IGNvbnRhaW47XG59XG5Ac3VwcG9ydHMgbm90ICh3aWR0aDogY2xhbXAoMXB4LCA1dncsIDEwcHgpKSB7XG4gIG1vZGFsLWNvbnRhaW5lciB7XG4gICAgLS13aWR0aDogNjB2dztcbiAgICBtYXgtd2lkdGg6IHZhcigtLW1heC13aWR0aCk7XG4gICAgbWluLXdpZHRoOiB2YXIoLS1taW4td2lkdGgpO1xuICAgIC0taGVpZ2h0OiA4MHZ3O1xuICAgIG1heC1oZWlnaHQ6IHZhcigtLW1heC1oZWlnaHQpO1xuICAgIG1pbi1oZWlnaHQ6IHZhcigtLW1pbi1oZWlnaHQpO1xuICB9XG59XG5tb2RhbC1jb250YWluZXI6ZW1wdHkge1xuICB3aWR0aDogY2FsYyh2YXIoLS1tYXgtd2lkdGgpIC8gMik7XG4gIGhlaWdodDogY2FsYyh2YXIoLS1tYXgtaGVpZ2h0KSAvIDIpO1xufVxubW9kYWwtY29udGFpbmVyOmVtcHR5OmFmdGVyIHtcbiAgLS1zaXplOiAyMHB4O1xuICBjb250ZW50OiBcIlwiO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogY2FsYyg1MCUgLSB2YXIoLS1zaXplKSAvIDIpO1xuICBsZWZ0OiBjYWxjKDUwJSAtIHZhcigtLXNpemUpIC8gMik7XG4gIG9wYWNpdHk6IDA7XG4gIHdpZHRoOiB2YXIoLS1zaXplKTtcbiAgaGVpZ2h0OiB2YXIoLS1zaXplKTtcbiAgYm9yZGVyLXJhZGl1czogNTAlO1xuICBib3JkZXI6IDJweCBzb2xpZCB2YXIoLS1sb2FkZXItY29sb3VyLCAjOTY5Njk1KTtcbiAgYm9yZGVyLXRvcC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIGJvcmRlci1ib3R0b20tY29sb3I6IHRyYW5zcGFyZW50O1xuICBhbmltYXRpb24tbmFtZTogbG9hZGVyLXJvdGF0ZTtcbiAgYW5pbWF0aW9uLWR1cmF0aW9uOiAwLjVzO1xuICBhbmltYXRpb24taXRlcmF0aW9uLWNvdW50OiBpbmZpbml0ZTtcbiAgdHJhbnNpdGlvbjogb3BhY2l0eSAwLjJzIGN1YmljLWJlemllcigwLjQyLCAwLCAwLjU4LCAxKTtcbiAgYW5pbWF0aW9uLXBsYXktc3RhdGU6IHBhdXNlZDtcbiAgb3BhY2l0eTogMTtcbiAgYW5pbWF0aW9uLXBsYXktc3RhdGU6IHJ1bm5pbmc7XG59XG5Aa2V5ZnJhbWVzIGxvYWRlci1yb3RhdGUge1xuICBmcm9tIHtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZSgxODBkZWcpO1xuICB9XG4gIHRvIHtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZSgwZGVnKTtcbiAgfVxufVxubW9kYWwtY29udGFpbmVyID4gYnV0dG9uLmNsb3NlIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBvcmRlcjogLTE7XG4gIGFsaWduLXNlbGY6IGZsZXgtZW5kO1xuICB0b3A6IGluaXRpYWw7XG4gIHJpZ2h0OiBpbml0aWFsO1xuICBtYXJnaW4tdG9wOiBjYWxjKC0xICogdmFyKC0tY2xvc2UtYnV0dG9uLXNpemUpIC8gMik7XG4gIG1hcmdpbi1ib3R0b206IGNhbGMoLTEgKiB2YXIoLS1jbG9zZS1idXR0b24tc2l6ZSkgLyAyKTtcbiAgbWFyZ2luLXJpZ2h0OiBjYWxjKC0xICogdmFyKC0tY2xvc2UtYnV0dG9uLXNpemUpIC8gMik7XG59XG5cbm1vZGFsLWNvbnRlbnQge1xuICBkaXNwbGF5OiBibG9jaztcbiAgcG9zaXRpb246IHN0aWNreTtcbiAgb3ZlcnNjcm9sbC1iZWhhdmlvcjogY29udGFpbjtcbiAgd2lkdGg6IGluaGVyaXQ7XG4gIGhlaWdodDogaW5oZXJpdDtcbiAgbWF4LWhlaWdodDogaW5oZXJpdDtcbiAgbWF4LXdpZHRoOiBpbmhlcml0O1xuICBvdmVyZmxvdy15OiBhdXRvO1xuICBvdmVyZmxvdy14OiBoaWRkZW47XG4gIHBhZGRpbmc6IHZhcigtLWd1dHRlcjEpO1xufVxubW9kYWwtY29udGVudCA+ICoge1xuICBtYXgtd2lkdGg6IDEwMCU7XG59XG5cbm1vZGFsLXdyYXBwZXJbZGF0YS10eXBlPWltYWdlXSAuaW1hZ2Uge1xuICBtYXgtaGVpZ2h0OiBjYWxjKHZhcigtLW1heC1oZWlnaHQpIC0gdmFyKC0tZ3V0dGVyNikpO1xuICBib3JkZXI6IG5vbmU7XG59XG5tb2RhbC13cmFwcGVyW2RhdGEtdHlwZT1pbWFnZV0gLmltYWdlIGltZyB7XG4gIG1heC1oZWlnaHQ6IGNhbGMoMTAwdmggLSB2YXIoLS1ndXR0ZXIzKSAtIHZhcigtLWd1dHRlcjQpKTtcbiAgd2lkdGg6IGF1dG87XG4gIGhlaWdodDogYXV0bztcbiAgbWFyZ2luOiBhdXRvO1xufVxuXG5tb2RhbC13cmFwcGVyW2RhdGEtdHlwZT1kZWZhdWx0XSBtb2RhbC1jb250ZW50ID4gaW1nW3NyYyo9XCIuc3ZnXCJdIHtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogYXV0bztcbn1cblxubW9kYWwtd3JhcHBlcltkYXRhLXR5cGU9dmlkZW9dIHtcbiAgLS13cmFwcGVyLWJhY2tncm91bmQtY29sb3VyOiByZ2JhKDAsIDAsIDAsIDAuOTUpO1xuICAtLW1vZGFsLWNsb3NlLWNvbG91cjogI0ZGRkZGRjtcbn1cbm1vZGFsLXdyYXBwZXJbZGF0YS10eXBlPXZpZGVvXSBtb2RhbC1jb250YWluZXIge1xuICAtLWFzcGVjdC1yYXRpbzogMTYvOTtcbiAgYXNwZWN0LXJhdGlvOiB2YXIoLS1hc3BlY3QtcmF0aW8pO1xuICBkaXNwbGF5OiBibG9jaztcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB3aWR0aDogMTAwJTtcbiAgYmFja2dyb3VuZC1jb2xvcjogYmxhY2s7XG4gIGJhY2tncm91bmQtY29sb3I6IHdoaXRlO1xuICBwYWRkaW5nOiB2YXIoLS1nYXApO1xufVxuQHN1cHBvcnRzIG5vdCAoYXNwZWN0LXJhdGlvOiAxNi85KSB7XG4gIG1vZGFsLXdyYXBwZXJbZGF0YS10eXBlPXZpZGVvXSBtb2RhbC1jb250YWluZXIge1xuICAgIGFzcGVjdC1yYXRpbzogaW5pdGlhbDtcbiAgICBwYWRkaW5nLWJvdHRvbTogY2FsYygxMDAlIC8gKHZhcigtLWFzcGVjdC1yYXRpbykpKTtcbiAgICBoZWlnaHQ6IDA7XG4gIH1cbiAgbW9kYWwtd3JhcHBlcltkYXRhLXR5cGU9dmlkZW9dIG1vZGFsLWNvbnRhaW5lciA+ICoge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgfVxufVxubW9kYWwtd3JhcHBlcltkYXRhLXR5cGU9dmlkZW9dIG1vZGFsLWNvbnRhaW5lciBpZnJhbWUsIG1vZGFsLXdyYXBwZXJbZGF0YS10eXBlPXZpZGVvXSBtb2RhbC1jb250YWluZXIgY2FudmFzIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBkaXNwbGF5OiBibG9jaztcbiAgdG9wOiAwO1xuICBsZWZ0OiAwO1xuICBoZWlnaHQ6IDEwMCUgIWltcG9ydGFudDtcbiAgd2lkdGg6IDEwMCUgIWltcG9ydGFudDtcbn1cbm1vZGFsLXdyYXBwZXJbZGF0YS10eXBlPXZpZGVvXSBtb2RhbC1jb250YWluZXIgbW9kYWwtY29udGVudCB7XG4gIGhlaWdodDogMTAwJTtcbiAgYm9yZGVyLXJhZGl1czogdmFyKC0tYm9yZGVyLXJhZGl1cywgNnB4KTtcbn1cblxuLm9wZW4taW4tbW9kYWwge1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIHRyYW5zaXRpb246IG9wYWNpdHkgdmFyKC0tdHJhbnNpdGlvbi1kdXJhdGlvbiwgMC4ycykgdmFyKC0tdHJhbnNpdGlvbi1lYXNlLCBjdWJpYy1iZXppZXIoMC40MiwgMCwgMC41OCwgMSkpIHZhcigtLXRyYW5zaXRpb24tZGVsYXksICk7XG59XG4ub3Blbi1pbi1tb2RhbDphZnRlciB7XG4gIC0tc2l6ZTogMjBweDtcbiAgY29udGVudDogXCJcIjtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IGNhbGMoNTAlIC0gdmFyKC0tc2l6ZSkgLyAyKTtcbiAgbGVmdDogY2FsYyg1MCUgLSB2YXIoLS1zaXplKSAvIDIpO1xuICBvcGFjaXR5OiAwO1xuICB3aWR0aDogdmFyKC0tc2l6ZSk7XG4gIGhlaWdodDogdmFyKC0tc2l6ZSk7XG4gIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgYm9yZGVyOiB3aGl0ZSBzb2xpZCB2YXIoLS1sb2FkZXItY29sb3VyLCAjOTY5Njk1KTtcbiAgYm9yZGVyLXRvcC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIGJvcmRlci1ib3R0b20tY29sb3I6IHRyYW5zcGFyZW50O1xuICBhbmltYXRpb24tbmFtZTogbG9hZGVyLXJvdGF0ZTtcbiAgYW5pbWF0aW9uLWR1cmF0aW9uOiAwLjVzO1xuICBhbmltYXRpb24taXRlcmF0aW9uLWNvdW50OiBpbmZpbml0ZTtcbiAgdHJhbnNpdGlvbjogb3BhY2l0eSAwLjJzIGN1YmljLWJlemllcigwLjQyLCAwLCAwLjU4LCAxKTtcbiAgYW5pbWF0aW9uLXBsYXktc3RhdGU6IHBhdXNlZDtcbn1cbkBrZXlmcmFtZXMgbG9hZGVyLXJvdGF0ZSB7XG4gIGZyb20ge1xuICAgIHRyYW5zZm9ybTogcm90YXRlKDE4MGRlZyk7XG4gIH1cbiAgdG8ge1xuICAgIHRyYW5zZm9ybTogcm90YXRlKDBkZWcpO1xuICB9XG59XG4ub3Blbi1pbi1tb2RhbC5sb2FkaW5nIHtcbiAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG59XG4ub3Blbi1pbi1tb2RhbC5sb2FkaW5nOmFmdGVyIHtcbiAgb3BhY2l0eTogMTtcbiAgYW5pbWF0aW9uLXBsYXktc3RhdGU6IHJ1bm5pbmc7XG59XG5cbmltZy5vcGVuLWluLW1vZGFsLCAub3Blbi1pbi1tb2RhbCBpbWcge1xuICAtd2Via2l0LXVzZXItZHJhZzogbm9uZTtcbiAgLWtodG1sLXVzZXItZHJhZzogbm9uZTtcbiAgLW1vei11c2VyLWRyYWc6IG5vbmU7XG4gIC1vLXVzZXItZHJhZzogbm9uZTtcbiAgdXNlci1kcmFnOiBub25lO1xufVxuXG4uYmFjay10by10b3Age1xuICAtLWhpZGUtb2Zmc2V0OiAtMTBweDtcbiAgLS1zdmctd2lkdGg6IDE4cHg7XG4gIC0tZWRnZS1kaXN0YW5jZTogMTVweDtcbiAgLS1yaWdodC1vZmZzZXQ6IDBweDtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHBvc2l0aW9uOiBmaXhlZDtcbiAgcmlnaHQ6IGNhbGModmFyKC0tcmlnaHQtb2Zmc2V0KSArIHZhcigtLWVkZ2UtZGlzdGFuY2UpKTtcbiAgYm90dG9tOiBjYWxjKHZhcigtLWVkZ2UtZGlzdGFuY2UpICsgdmFyKC0taGlkZS1vZmZzZXQpKTtcbiAgd2lkdGg6IGNhbGModmFyKC0tc3ZnLXdpZHRoKSArIDEycHgpO1xuICBoZWlnaHQ6IGNhbGModmFyKC0tc3ZnLXdpZHRoKSArIDEycHgpO1xuICBiYWNrZ3JvdW5kOiAjMTMxZjZiO1xuICBib3JkZXI6IDFweCBzb2xpZCAjRkZGRkZGO1xuICBib3JkZXItcmFkaXVzOiA1MCU7XG4gIHotaW5kZXg6IDEwMDE7XG4gIHBvaW50ZXItZXZlbnRzOiBhbGw7XG4gIHRyYW5zaXRpb246IG9wYWNpdHkgMC4ycyB2YXIoLS10cmFuc2l0aW9uLWR1cmF0aW9uLCAwLjJzKSB2YXIoLS10cmFuc2l0aW9uLWVhc2UsIGN1YmljLWJlemllcigwLjQyLCAwLCAwLjU4LCAxKSkgdmFyKC0tdHJhbnNpdGlvbi1kZWxheSwgKSwgdHJhbnNmb3JtIDAuMnMgdmFyKC0tdHJhbnNpdGlvbi1kdXJhdGlvbiwgMC4ycykgdmFyKC0tdHJhbnNpdGlvbi1lYXNlLCBjdWJpYy1iZXppZXIoMC40MiwgMCwgMC41OCwgMSkpIHZhcigtLXRyYW5zaXRpb24tZGVsYXksICk7XG4gIGRpc3BsYXk6IG5vbmU7XG59XG4uYmFjay10by10b3Agc3ZnIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB0b3A6IC0ycHg7XG4gIHdpZHRoOiB2YXIoLS1zdmctd2lkdGgpO1xuICBoZWlnaHQ6IHZhcigtLXN2Zy13aWR0aCk7XG4gIGNvbG9yOiAjRkZGRkZGO1xufVxuLmJhY2stdG8tdG9wOm5vdCguaGlkZSkge1xuICBwb2ludGVyLWV2ZW50czogYWxsO1xuICBvcGFjaXR5OiAxO1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWSh2YXIoLS1oaWRlLW9mZnNldCkpO1xufVxuXG5AbWVkaWEgKG1pbi13aWR0aDogMTQwMXB4KSB7XG4gIHNpZGUtYmFyIH4gLmJhY2stdG8tdG9wIHtcbiAgICAtLXJpZ2h0LW9mZnNldDogdmFyKC0tc2lkZWJhci13aWR0aCk7XG4gIH1cbn1cbmxvZ28tYmFyIHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC13cmFwOiB3cmFwO1xuICBnYXA6IHZhcigtLWd1dHRlcjEpO1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBwYWRkaW5nLXRvcDogdmFyKC0tc3BhY2VyMSk7XG59XG5sb2dvLWJhciBpbWcge1xuICBtYXgtd2lkdGg6IDE0MHB4O1xuICBtYXgtaGVpZ2h0OiA5MHB4O1xuICBtaW4taGVpZ2h0OiA2MHB4O1xuICB3aWR0aDogYXV0bztcbiAgaGVpZ2h0OiBhdXRvO1xuICBvYmplY3QtZml0OiBjb250YWluO1xufVxuQG1lZGlhIChtaW4td2lkdGg6IDgwMXB4KSB7XG4gIGxvZ28tYmFyIHtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gIH1cbn0iLCIvKiB6LWluZGV4ZXMgYXJlIGxhcmdlIGR1ZSB0byB0aGUgZmFjdCB0aGF0IHRoaW5ncyBtaWdodCBjaGFuZ2VcbiAqIGluIHRoZSBmdXR1cmUuIEluIG9yZGVyIHRvIGFjY291bnQgZm9yIHNjYWxhYmlsaXR5LCB0aGlzIGdpdmVzXG4gKiByb29tIHRvIG1ha2UgY2hhbmdlcyBhbmQgbm90IGJyZWFrIHRoZSBlbnRpcmUgc2l0ZSwgbWVhbmluZyBcbiAqIHdlIHdvbid0IGhhdmUgdG8gZ28gaW4gYW5kIHJlZmFjdG9yIGEgbG90IG9mIG91ciBjb2RlLlxuICovXG5cbiRwYWdlLWJhY2tncm91bmQgICAgICAgICAgOiA1MDA7XG5cbiRuYXZpZ2F0aW9uLWJhciAgICAgICAgICAgOiAxNTAwO1xuJG5hdmlnYXRpb24tYmFyLWNvbnRhaW5lciA6ICRuYXZpZ2F0aW9uLWJhcjtcbiRnbG9iYWwtc2VhcmNoLW1vYmlsZSAgICAgOiAtMTtcblxuJHNjcm9sbC1iYXIgICAgICAgICAgICAgICA6IDExMDA7XG5cbiRtYWluICAgICAgICAgICAgICAgICAgICAgOiAxMDAwO1xuJGhlYWRlciAgICAgICAgICAgICAgICAgICA6IDEwMDA7XG4kc2lkZS1iYXIgICAgICAgICAgICAgICAgIDogMTc1MDtcblxuJG1vZGFsICAgICAgICAgICAgICAgICAgICA6IDEwMDAwOyIsIkB1c2UgJy4uL192YXJpYWJsZXMnIGFzICo7XG5AdXNlICdtb2R1bGVzL2NvbG91ci9lbmNvZGUnIGFzIGNvbG91cjtcbkB1c2UgXCJmb250XCI7XG5AdXNlICcuLi9faGVscGVycy9taXNjLnNjc3MnIGFzICo7XG5cbiRiYXNlLWlucHV0LXBhZGRpbmc6ICRnYXA7XG5cblxuQG1peGluIGFycm93LWRvd24taW1hZ2UoJHN0cm9rZSA6IHZhcigtLWZvbnQtY29sb3VyKSkge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWwsJTNDc3ZnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Zycgd2lkdGg9JzE3LjQnIGhlaWdodD0nMTAuMSclM0UlM0NwYXRoIGQ9J00xNi43LjdsLTggOC04LTgnIGZpbGw9J25vbmUnIHN0cm9rZT0nXCIrY29sb3VyLmVuY29kZSgkc3Ryb2tlKStcIicgc3Ryb2tlLXdpZHRoPScyJyBzdHJva2UtbWl0ZXJsaW1pdD0nMTAnLyUzRSUzQy9zdmclM0VcIik7XG59XG5cblxuLyogIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICBJTlBVVFNcbiAgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cblxuQG1peGluIGNoYXJhY3Rlci1pbnB1dHMoKSB7XG4gIGlucHV0W3R5cGU9XCJ0ZXh0XCJdLCBpbnB1dFt0eXBlPVwiZW1haWxcIl0sIGlucHV0W3R5cGU9XCJudW1iZXJcIl0sIGlucHV0W3R5cGU9XCJzZWFyY2hcIl0sIHNlbGVjdCwgdGV4dGFyZWEge1xuICAgIEBjb250ZW50O1xuICB9XG59XG5cbkBtaXhpbiBhbGwtaW5wdXRzKCkge1xuICBpbnB1dFt0eXBlPVwidGV4dFwiXSxcbiAgaW5wdXRbdHlwZT1cImVtYWlsXCJdLFxuICBpbnB1dFt0eXBlPVwibnVtYmVyXCJdLFxuICBpbnB1dFt0eXBlPVwic2VhcmNoXCJdLFxuICBzZWxlY3QsXG4gIHRleHRhcmVhIHtcbiAgICBAY29udGVudDtcbiAgfVxufVxuXG5AbWl4aW4gY2hhcmFjdGVyLWlucHV0KCkge1xuICAtLWZvbnQtY29sb3VyICAgICAgIDogI3skZm9udC1jb2xvdXJ9O1xuICAtLWJhY2tncm91bmQtY29sb3VyIDogI3skd2hpdGV9O1xuICAtLXBhZGRpbmcgICAgICAgICAgIDogY2FsYygjeyRiYXNlLWlucHV0LXBhZGRpbmd9IC8gMS41KSAjeyRiYXNlLWlucHV0LXBhZGRpbmd9O1xuICAtLWJvcmRlci1jb2xvdXIgICAgIDogI3skZ3JleTd9O1xuICAtLWJvcmRlci1yYWRpdXMgICAgIDogMDtcblxuICBvdXRsaW5lOiAwO1xuICBib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1ib3JkZXItY29sb3VyKTtcbiAgYXBwZWFyYW5jZTogbm9uZTtcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lO1xuICAtbW96LWFwcGVhcmFuY2U6IG5vbmU7XG4gIGJvcmRlci1yYWRpdXM6ICRib3JkZXItcmFkaXVzOyAgLyogT3BlcmEgMTAuNSwgSUUgOSwgU2FmYXJpIDUsIENocm9tZSwgRmlyZWZveCA0LCBpT1MgNCwgQW5kcm9pZCAyLjErICovXG4gIC13ZWJraXQtYm9yZGVyLXJhZGl1czogMDsgIC8qIFNhZmFyaSAzLTQsIGlPUyAxLTMuMiwgQW5kcm9pZCAxLjYtICovICAgIFxuICAtbW96LWJvcmRlci1yYWRpdXM6IDA7ICAvKiBGaXJlZm94IDEtMy42ICovICAgICBcblxuICBjb2xvcjogdmFyKC0tZm9udC1jb2xvdXIpO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1iYWNrZ3JvdW5kLWNvbG91cik7XG4gIHBhZGRpbmc6IHZhcigtLXBhZGRpbmcpO1xuICB0cmFuc2l0aW9uOiBib3gtc2hhZG93ICR0cmFuc2l0aW9uO1xuICBib3gtc2hhZG93OiAwcHggMHB4IDBweCAwcHggdHJhbnNwYXJlbnQ7XG5cbiAgJjo6cGxhY2Vob2xkZXIgeyB0cmFuc2l0aW9uOiBjb2xvciAkdHJhbnNpdGlvbiB9XG5cbiAgLy8gJjpub3QoOmVtcHR5KSB7XG4gIC8vICAgJjo6cGxhY2Vob2xkZXIgeyBjb2xvcjogJHRyYW5zcGFyZW50IH1cbiAgLy8gfVxufVxuXG5cbi8qICAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgQ09OVEFJTkVSU1xuICAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuXG5AbWl4aW4gY29udGFpbmVyKCkge1xuICAtLWxhYmVsLWNvbG91ciAgICAgICAgOiB2YXIoLS1mb250LWNvbG91cik7XG4gIC0tbGFiZWwtYWN0aXZlLWNvbG91ciA6IHZhcigtLXRoZW1lLWFjY2VudCk7XG5cbiAgZGlzcGxheTogZ3JpZDtcbiAgZ3JpZC1nYXA6IDFyZW07XG5cbiAgbGFiZWwge1xuICAgIGNvbG9yOiB2YXIoLS1sYWJlbC1jb2xvdXIpO1xuICAgIHRyYW5zaXRpb246IGNvbG9yICR0cmFuc2l0aW9uO1xuICB9XG59XG5cbkBtaXhpbiB0ZXh0LWNvbnRhaW5lcigpIHtcbiAgQGluY2x1ZGUgY29udGFpbmVyKCk7XG4gIGdyaWQtYXV0by1mbG93OiByb3c7XG59XG5cblxuQG1peGluIHJhZGlvLWNoZWNrYm94LWNvbnRhaW5lcigpIHtcbiAgQGluY2x1ZGUgY29udGFpbmVyKCk7XG4gIGdyaWQtYXV0by1mbG93OiBjb2x1bW47XG5cbiAgLS1pbnB1dC13aWR0aDogMS4yZW07XG4gIC0taW5wdXQtYm9yZGVyLXRoaWNrbmVzczogMXB4O1xuICAtLWlucHV0LWFjdGl2ZS1jb2xvdXI6ICN7JHJlZH07XG5cbiAgbGFiZWwge1xuICAgIGRpc3BsYXk6IGdyaWQ7XG4gICAgZ3JpZC1hdXRvLWZsb3c6IGNvbHVtbjtcbiAgICBncmlkLWdhcDogJGdhcDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIHdpZHRoOiBmaXQtY29udGVudDtcblxuICAgICY6OmJlZm9yZSwgJjo6YWZ0ZXIge1xuICAgICAgZ3JpZC1yb3c6IDE7XG4gICAgICBncmlkLWNvbHVtbjogMTtcbiAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgfVxuXG4gICAgJjo6YmVmb3JlIHtcbiAgICAgIEBpbmNsdWRlIHNxdWFyZSh2YXIoLS1pbnB1dC13aWR0aCkpO1xuICAgICAgYmFja2dyb3VuZDogJHdoaXRlO1xuICAgICAgYm9yZGVyOiB2YXIoLS1pbnB1dC1ib3JkZXItdGhpY2tuZXNzLCAxcHgpIHNvbGlkICRncmV5O1xuICAgICAgdHJhbnNpdGlvbjogYm9yZGVyLWNvbG9yICR0cmFuc2l0aW9uO1xuICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIH1cblxuICAgICY6OmFmdGVyIHtcbiAgICAgIEBpbmNsdWRlIHNxdWFyZShjYWxjKHZhcigtLWlucHV0LXdpZHRoKSAtIHZhcigtLWlucHV0LWJvcmRlci10aGlja25lc3MpICogNikpO1xuICAgICAgYmFja2dyb3VuZDogdmFyKC0taW5wdXQtYWN0aXZlLWNvbG91cik7XG4gICAgICBvcGFjaXR5OiAwO1xuICAgICAgbGVmdDogLTEwcHg7XG4gICAgICB0cmFuc2l0aW9uOiBvcGFjaXR5ICR0cmFuc2l0aW9uLCB0cmFuc2Zvcm0gJHRyYW5zaXRpb247XG4gICAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgICAgIGp1c3RpZnktc2VsZjogY2VudGVyO1xuICAgIH1cblxuICAgICY6aG92ZXIge1xuICAgICAgLS1sYWJlbC1jb2xvdXI6IHZhcigtLWxhYmVsLWFjdGl2ZS1jb2xvdXIpO1xuXG4gICAgICAmOjpiZWZvcmUge1xuICAgICAgICBib3JkZXItY29sb3I6IHZhcigtLWlucHV0LWFjdGl2ZS1jb2xvdXIpO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIGlucHV0IHtcbiAgICBkaXNwbGF5OiBub25lO1xuXG4gICAgJjpjaGVja2VkIHtcbiAgICAgICsgbGFiZWwge1xuICAgICAgICBjb2xvcjogdmFyKC0tbGFiZWwtYWN0aXZlLWNvbG91cik7XG5cbiAgICAgICAgJjo6YWZ0ZXIge1xuICAgICAgICAgIG9wYWNpdHk6IDE7XG4gICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDEwcHgpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbkBtaXhpbiByYWRpby1jb250YWluZXIoKSB7XG4gIGxhYmVsIHtcbiAgICAmOjpiZWZvcmUsICY6OmFmdGVyIHtcbiAgICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgICB9XG4gIH1cbn1cblxuQG1peGluIG11bHRpLWlucHV0KCkge1xuICAtLWlucHV0LXNwYWNpbmc6IDA7XG4gIFxuICBkaXNwbGF5OiBmbGV4O1xuICBnYXA6IHZhcigtLWlucHV0LXNwYWNpbmcpO1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBmbGV4LXdyYXA6IG5vd3JhcDtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogZml0LWNvbnRlbnQ7XG5cbiAgQGluY2x1ZGUgY2hhcmFjdGVyLWlucHV0cygpIHtcbiAgICAmOm5vdChzZWxlY3QpIHtcbiAgICAgIGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLWJvcmRlci1jb2xvdXIpO1xuICAgICAgYm9yZGVyLXJpZ2h0OiAwO1xuICAgIH1cbiAgfVxuXG4gID4gKjpub3Qoc2VsZWN0LCBidXR0b24sIGEpIHtcbiAgICBmbGV4OiAxO1xuICB9XG4gIFxuICBzZWxlY3QsIGJ1dHRvbiwgYSB7XG4gICAgLS1mb250LWNvbG91cjogI3skd2hpdGV9O1xuICAgIC0tYmFja2dyb3VuZC1jb2xvdXI6ICN7JHJlZH07XG5cbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgIGJvcmRlci1sZWZ0OiAxcHggc29saWQgdmFyKC0tYm9yZGVyLWNvbG91cik7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmFja2dyb3VuZC1jb2xvdXIpO1xuICAgIGNvbG9yOiB2YXIoLS1mb250LWNvbG91cik7XG4gICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgfVxuXG4gIHNlbGVjdCB7IEBpbmNsdWRlIGFycm93LWRvd24taW1hZ2UoJHdoaXRlKSB9O1xufVxuXG5AbWl4aW4gYmFzZS1yZXF1aXJlZCgpIHtcbiAgcmVxdWlyZWQtbm90aWNlIHtcbiAgICAtLW5vdGljZS1jb2xvdXI6ICN7JHJlZH07XG5cbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAwO1xuICAgIHJpZ2h0OiAxMHB4O1xuICAgIGNvbG9yOiB2YXIoLS1ub3RpY2UtY29sb3VyKTtcbiAgICBmb250LXNpemU6IDEuNWVtO1xuXG4gICAgc3BhbiB7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICByaWdodDogLTEwMCU7XG4gICAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gICAgICBmb250LXNpemU6ICRmb250LXNpemU7XG4gICAgICBvcGFjaXR5OiAwO1xuICAgIH1cbiAgfVxufVxuXG5AbWl4aW4gcmFkaW8tdGFicygpIHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC13cmFwOiBub3dyYXA7XG4gIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcblxuICByYWRpby10YWIge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBmb250LXdlaWdodDogNDAwO1xuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgcGFkZGluZy1ib3R0b206ICRnYXAwO1xuICAgIFxuICAgIGlucHV0IHsgXG4gICAgICBkaXNwbGF5OiBub25lO1xuXG4gICAgICAmOmNoZWNrZWQgKyBsYWJlbCB7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG5cbiAgICAgICAgJjo6YWZ0ZXIge1xuICAgICAgICAgIGJhY2tncm91bmQ6IHZhcigtLXRoZW1lLWFjY2VudCk7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgJjpub3QoOmNoZWNrZWQpIHtcbiAgICAgICAgKyBsYWJlbDpob3Zlcjo6YWZ0ZXIge1xuICAgICAgICAgIGJhY2tncm91bmQ6IHZhcigtLXRoZW1lLWFjY2VudCk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICBsYWJlbCB7XG4gICAgICBjb2xvcjogdmFyKC0tZm9udC1jb2xvdXIpO1xuICAgICAgY3Vyc29yOiBwb2ludGVyO1xuXG4gICAgICAmOjphZnRlciB7XG4gICAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIGJvdHRvbTogMDtcbiAgICAgICAgbGVmdDogMDtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIGhlaWdodDogM3B4O1xuICAgICAgICBiYWNrZ3JvdW5kOiAkdHJhbnNwYXJlbnQ7XG4gICAgICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQgJHRyYW5zaXRpb247XG4gICAgICB9XG4gICAgICBcblxuICAgIH1cblxuICB9XG59XG5cblxuQG1peGluIGlucHV0LWZvY3VzKCkge1xuICBib3gtc2hhZG93OiAwcHggMHB4IDFweCAxcHggcmdiYSgkcmVkLCAwLjMpO1xufSIsIkB1c2UgJy4uL192YXJpYWJsZXMvJyBhcyAqO1xuQHVzZSAnLi4vX2hlbHBlcnMvJyBhcyAqO1xuXG5cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cblx0QmFzZSByZXN1bHQgc3R5bGVzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuXG5cbkBtaXhpbiBiYXNlKCkge1xuXG4gIC0taGVhZGluZy1jb2xvdXIgICAgOiAjeyRibHVlfTtcblxuICAtLWJvcmRlci10aGlja25lc3MgIDogMXB4O1xuICAtLWJvcmRlci1yYWRpdXMgICAgIDogMHB4O1xuICAtLWJhY2tncm91bmQtY29sb3VyIDogd2hpdGU7XG5cbiAgLS1wYWRkaW5nICAgICAgICAgICA6IDJyZW07XG5cbiAgLS1wYWRkaW5nLWxlZnQgICAgICA6IHZhcigtLXBhZGRpbmcpO1xuICAtLXBhZGRpbmctcmlnaHQgICAgIDogdmFyKC0tcGFkZGluZyk7XG4gIC0tcGFkZGluZy10b3AgICAgICAgOiB2YXIoLS1wYWRkaW5nKTtcbiAgLS1wYWRkaW5nLWJvdHRvbSAgICA6IHZhcigtLXBhZGRpbmcpO1xuXG4gIC0taW1hZ2Utd2lkdGggICAgICAgOiAxMDBweDtcbiAgLS1pbWFnZS1oZWlnaHQgICAgICA6IDEwMHB4O1xuXG4gIC0tZ3JpZC1nYXAgICAgICAgICAgOiAjeyRnYXB9O1xuXG5cbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBwYWRkaW5nOiB2YXIoLS1wYWRkaW5nLXRvcCkgdmFyKC0tcGFkZGluZy1yaWdodCkgdmFyKC0tcGFkZGluZy1ib3R0b20pIHZhcigtLXBhZGRpbmctbGVmdCk7XG4gIGJvcmRlcjogdmFyKC0tYm9yZGVyLXRoaWNrbmVzcykgc29saWQgJHRyYW5zcGFyZW50O1xuICBib3JkZXItcmFkaXVzOiAkYm9yZGVyLXJhZGl1cztcbiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmFja2dyb3VuZC1jb2xvdXIpO1xuICAvLyBib3gtc2hhZG93OiAwcHggMHB4IDVweCAxcHggcmdiYSgkZ3JleSwgMC4xKTtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcblxuICB0cmFuc2l0aW9uOiBib3JkZXIgJHRyYW5zaXRpb247XG5cbiAgZGlzcGxheTogZ3JpZDtcbiAgZ3JpZC1nYXA6IHZhcigtLWdyaWQtZ2FwKSB2YXIoLS1ncmlkLWdhcCk7XG4gIC8vIHBsYWNlLWNvbnRlbnQ6IHN0YXJ0O1xuXG4gIC5yZXN1bHQtaW1hZ2Uge1xuICAgIGdyaWQtYXJlYTogaW1hZ2U7XG4gICAgZGlzcGxheTogYmxvY2s7XG5cbiAgICBwaWN0dXJlIHtcbiAgICAgIGhlaWdodDogdmFyKC0taW1hZ2UtaGVpZ2h0KTtcbiAgICAgIFxuICAgICAgaW1nIHtcbiAgICAgICAgd2lkdGg6IHZhcigtLWltYWdlLWhlaWdodCk7XG4gICAgICAgIGhlaWdodDogdmFyKC0taW1hZ2Utd2lkdGgpO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC5yZXN1bHQtdGl0bGUge1xuICAgIGdyaWQtYXJlYTogdGl0bGU7XG4gICAgY29sb3I6IHZhcigtLWhlYWRpbmctY29sb3VyKTtcbiAgICBhIHsgY29sb3I6IHZhcigtLWhlYWRpbmctY29sb3VyKSB9XG4gIH1cblxuICAucmVzdWx0LXN1YnRpdGxlIHsgZ3JpZC1hcmVhOiBzdWJ0aXRsZSB9XG4gIC5yZXN1bHQtYm9keSAgICAgeyBncmlkLWFyZWE6IGJvZHkgfVxuXG4gICYuYmxvZyAgICB7IEBpbmNsdWRlIGJsb2coKSB9XG4gICYubWFya2V0LXNlY3RvciAgICB7IEBpbmNsdWRlIG1hcmtldC1zZWN0b3IoKSB9XG4gICYucHJvZHVjdCB7IEBpbmNsdWRlIHByb2R1Y3QoKSB9XG4gICYucGFnZSAgICB7IEBpbmNsdWRlIHBhZ2UoKSB9XG59XG5cblxuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuXHRWYXJpYXRpb25zXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuXG5cbkBtaXhpbiBtYXJrZXQtc2VjdG9yKCkge1xuXG4gIC0tYmFja2dyb3VuZC1jb2xvdXI6dHJhbnNwYXJlbnQ7IFxuICAtLWZvbnQtY29sb3VyOndoaXRlOyBcbiAgLS1oZWFkaW5nLWNvbG91ciA6IHdoaXRlOyBcblxuICBpc29sYXRpb246IGlzb2xhdGU7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgZGlzcGxheTogZmxleDtcbiAgb3ZlcmZsb3c6IHZpc2libGU7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIHBhZGRpbmc6MCAwICRndXR0ZXIwIDAgOyBcbiAgYm9yZGVyLWJvdHRvbToxcHggc29saWQgdmFyKC0tcmVzdWx0LWl0ZW0tYm9yZGVyLWJvdHRvbSwgcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjIpKTtcblxuICAucmVzdWx0LWltYWdlIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IGNsYW1wKDE0MHB4LCA0MHZ3LCAxODBweCk7XG4gICAgb3V0bGluZTogMXB4IHNvbGlkIHZhcigtLWltYWdlLW91dGxpbmUtY29sb3VyLCB0cmFuc3BhcmVudCk7XG4gICAgb3V0bGluZS1vZmZzZXQ6IHZhcigtLWltYWdlLW91dGxpbmUtb2Zmc2V0LCAwLjFlbSk7IFxuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICB0cmFuc2l0aW9uOiBvdXRsaW5lLWNvbG9yICR0cmFuc2l0aW9uLCBvdXRsaW5lLW9mZnNldCAkdHJhbnNpdGlvbjtcbiAgICBpbWcge1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBvYmplY3QtZml0OiBjb3ZlcjtcbiAgICB9XG5cbiAgfVxuXG4gICY6aG92ZXIgeyBcbiAgICAtLWltYWdlLW91dGxpbmUtY29sb3VyIDogI3tyZ2JhKHdoaXRlLCAwLjIpfTtcbiAgICAtLWltYWdlLW91dGxpbmUtb2Zmc2V0IDogMC4zZW07XG4gICAgLnJlc3VsdC10aXRsZSBhIHsgY29sb3I6JHJlZDsgfVxuICB9XG5cbiAgLnJlc3VsdC10aXRsZSB7XG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICBhbGlnbi1zZWxmOiBmbGV4LXN0YXJ0O1xuXG4gICAgYSB7XG4gICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmUgIWltcG9ydGFudDtcbiAgICAgICY6OmFmdGVyIHsgXG4gICAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgICBwb3NpdGlvbjphYnNvbHV0ZTtcbiAgICAgICAgaW5zZXQ6MDsgXG4gICAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAgICAgei1pbmRleDoxOyBcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBAYXQtcm9vdCBib2R5W2RhdGEtdGhlbWU9J3doaXRlJ10gJiB7XG4gICAgLS1yZXN1bHQtaXRlbS1ib3JkZXItYm90dG9tIDogI3tyZ2JhKCRibHVlLCAwLjIpfTtcbiAgICAtLWZvbnQtY29sb3VyOiN7JGJsdWV9OyBcbiAgICAtLWhlYWRpbmctY29sb3VyIDogI3skYmx1ZX07IFxuICAgICY6aG92ZXIgeyBcbiAgICAgIC0taW1hZ2Utb3V0bGluZS1jb2xvdXIgOiAje3JnYmEoJGJsdWUsIDAuMil9O1xuICAgIH1cbiAgfVxuXG4gIEBhdC1yb290IGJvZHkjbWFya2V0LXNlY3RvcnMge1xuICAgICYge1xuICAgICAgLy8gaXNvbGF0aW9uOiBpbml0aWFsO1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgY29udGFpbmVyLXR5cGU6IGlubGluZS1zaXplO1xuICAgICAgY29udGFpbmVyLW5hbWUgOiBtYXJrZXQtc2VjdG9yO1xuICAgICAgLnJlc3VsdC1pdGVtIHtcbiAgICAgICAgdHJhbnNpdGlvbjogb3BhY2l0eSAkdHJhbnNpdGlvbjtcbiAgICAgICAgYS5kZXRhaWxzOmhvdmVyIHtcbiAgICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmUgIWltcG9ydGFudDsgXG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgICY6aG92ZXIgLnJlc3VsdC1pbWFnZSB7XG4gICAgICAgIC0taW1hZ2Utb3V0bGluZS1jb2xvdXIgOiB0cmFuc3BhcmVudCAhaW1wb3J0YW50O1xuICAgICAgICAtLWltYWdlLW91dGxpbmUtb2Zmc2V0IDowICFpbXBvcnRhbnQ7XG4gICAgICB9XG4gICAgICAuZGV0YWlscyB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRibHVlLWRhcms7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgei1pbmRleDogMTsgXG4gICAgICAgIHBhZGRpbmc6MDsgXG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogMWZyIDIyMHB4O1xuICAgICAgICB3aWR0aDp2YXIoLS1tYXJrZXQtc2VjdG9yLWFydGljbGUtd2lkdGgsIGNhbGMoMjAwJSArICN7JGd1dHRlcn0pKTtcbiAgICAgICAgXG4gICAgICAgIC8vIERpc2NyZXRlIGFuaW1hdGlvbiBzZXR1cFxuICAgICAgICBvcGFjaXR5OiAwO1xuICAgICAgICB0cmFuc2l0aW9uOiBcbiAgICAgICAgICBvcGFjaXR5ICR0cmFuc2l0aW9uLFxuICAgICAgICAgIGRpc3BsYXkgJHRyYW5zaXRpb24gYWxsb3ctZGlzY3JldGU7IFxuICAgICAgICAuZGV0YWlscy10ZXh0IHtcbiAgICAgICAgICBwYWRkaW5nOiRndXR0ZXI7IFxuICAgICAgICB9XG4gICAgICAgIC5kZXRhaWxzLWhlYWRpbmcgeyBcbiAgICAgICAgICBjb2xvcjokcmVkO1xuICAgICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgICAgICAgQGluY2x1ZGUgaGVhZGluZy1oMjtcbiAgICAgICAgICBtYXJnaW4tYm90dG9tOjFlbTtcbiAgICAgICAgfVxuICAgICAgICAuZGV0YWlscy1pbWFnZSB7XG4gICAgICAgICAgY2xpcC1wYXRoOiBwb2x5Z29uKDAlIDEwMCUsIDM1JSAwJSwgMTAwJSAwJSwgMTAwJSAxMDAlKTtcbiAgICAgICAgICBpbWcge1xuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICBoZWlnaHQ6MTAwJTsgXG4gICAgICAgICAgICBvYmplY3QtZml0OiBjb3ZlcjtcbiAgICAgICAgICB9XG4gICAgICAgICAgLmRldGFpbHMtbGluayB7XG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgIHRleHQtYWxpZ246IHJpZ2h0O1xuICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgLmRldGFpbHMtbGluayB7XG4gICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgIGJvdHRvbTowOyBcbiAgICAgICAgICByaWdodDowOyBcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgLmRldGFpbHMge1xuICAgICAgICBAY29udGFpbmVyIG1hcmtldC1zZWN0b3IgKCB3aWR0aCA8IDQyMHB4KSB7XG4gICAgICAgICAgZGlzcGxheTogZmxleCAhaW1wb3J0YW50O1xuICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICAgICAgLmRldGFpbHMtaW1hZ2Uge1xuICAgICAgICAgICAgY2xpcC1wYXRoOiBpbml0aWFsO1xuICAgICAgICAgICAgaGVpZ2h0OjEwMHB4OyBcbiAgICAgICAgICAgIC5kZXRhaWxzLWxpbmsge1xuICAgICAgICAgICAgICB3aWR0aDogYXV0bztcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICBAbWVkaWEgKGhvdmVyOiBob3Zlcikge1xuICAgICAgJiAucmVzdWx0LWl0ZW06aXMoOmhvdmVyLCA6Zm9jdXMtdmlzaWJsZSkge1xuICAgICAgICB6LWluZGV4OiAxO1xuICAgICAgICAuZGV0YWlscyB7XG4gICAgICAgICAgZGlzcGxheTogZ3JpZDtcbiAgICAgICAgICBvcGFjaXR5OiAxO1xuICAgICAgICAgIFxuICAgICAgICAgIEBzdGFydGluZy1zdHlsZSB7XG4gICAgICAgICAgICBvcGFjaXR5OiAwO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuXG4gICAgYXJ0aWNsZS1ncmlkOmhhcygucmVzdWx0LWl0ZW06aXMoOmhvdmVyLCA6Zm9jdXMtdmlzaWJsZSkpIHtcbiAgICAgIC5yZXN1bHQtaXRlbTpub3QoOmlzKDpob3ZlciwgOmZvY3VzLXZpc2libGUpKSB7IG9wYWNpdHk6IDAuNSAhaW1wb3J0YW50O31cbiAgICB9XG5cbiAgICBAY29udGFpbmVyIG1haW4gKCB3aWR0aCA8IDY2MHB4KSB7XG4gICAgICBhcnRpY2xlLWdyaWQge1xuICAgICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDFmciAhaW1wb3J0YW50O1xuICAgICAgICAtLW1hcmtldC1zZWN0b3ItYXJ0aWNsZS13aWR0aCA6IDEwMCU7IFxuICAgICAgfVxuICAgIH1cblxuICAgIGFydGljbGUtZ3JpZCB7XG4gICAgICBAY29udGFpbmVyIG1haW4gKDY2MHB4IDwgd2lkdGggPCA5NjRweCkgIHtcbiAgICAgICAgLnJlc3VsdC1pdGVtOm50aC1jaGlsZCgybikgLmRldGFpbHMgeyBcbiAgICAgICAgICAgIGxlZnQ6IGluaXRpYWw7IFxuICAgICAgICAgICAgcmlnaHQ6MDsgXG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgIEBjb250YWluZXIgbWFpbiAoIHdpZHRoID4gOTY0cHgpICB7XG4gICAgICAgIC5yZXN1bHQtaXRlbTpudGgtY2hpbGQoM24pIC5kZXRhaWxzIHsgXG4gICAgICAgICAgICBsZWZ0OiBpbml0aWFsOyBcbiAgICAgICAgICAgIHJpZ2h0OjA7IFxuICAgICAgICB9XG4gICAgICB9XG4gICAgfSBcblxuICB9XG5cblxufVxuQG1peGluIGJsb2coKSB7XG4gIC0tcGFkZGluZyAgICAgICAgICA6IDRyZW07XG4gIC0tYm9yZGVyLXRoaWNrbmVzcyA6IDA7XG4gIC0tYm9yZGVyLXJhZGl1cyAgICA6IDA7XG4gIC8vIC0tYmFja2dyb3VuZC1jb2xvdXIgOiB0cmFuc3BhcmVudDtcblxuICBncmlkLXRlbXBsYXRlLWFyZWFzOlxuICAgIFwic3VidGl0bGVcIlxuICAgIFwidGl0bGVcIlxuICAgIFwiYm9keVwiO1xuXG4gIC5yZXN1bHQtaW1hZ2Uge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDA7XG4gICAgcmlnaHQ6IDA7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xuXG4gICAgaW1nIHtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgb2JqZWN0LWZpdDogY292ZXI7XG4gICAgfVxuXG4gICAgJjo6YWZ0ZXIge1xuICAgICAgY29udGVudDogJyc7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB0b3A6IDA7XG4gICAgICByaWdodDogMDtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KDEyMGRlZywgcmdiYSh3aGl0ZSwgMSkgNDUlLCB0cmFuc3BhcmVudCAxMjAlKTtcbiAgICB9XG4gIH1cblxuICAucmVzdWx0LXRpdGxlLCAucmVzdWx0LXN1YnRpdGxlIHsgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZSB9XG5cbiAgLnJlc3VsdC10aXRsZSB7ICAgICBcbiAgICBAaW5jbHVkZSBoZWFkaW5nLWgyO1xuICAgIGxpbmUtaGVpZ2h0OiAxLjM7XG4gIH1cblxuICAucmVzdWx0LXN1YnRpdGxlIHtcbiAgICAtLWhlYWRpbmctY29sb3VyOiAjeyRyZWR9O1xuXG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuXG4gICAgaDQsIHRpbWUge1xuICAgICAgZm9udC1zaXplOiAkZm9udC1zaXplO1xuICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgIH1cblxuICAgIHRpbWUge1xuICAgICAgY29sb3I6ICRncmV5O1xuICAgIH1cbiAgfVxuXG4gIC5yZXN1bHQtYm9keSB7IC0tZm9udC1jb2xvdXI6ICN7JGJsYWNrfTsgfVxuXG4gICYuZmVhdHVyZWQge1xuICAgIC0tcGFkZGluZy1yaWdodDogNXJlbTtcblxuICAgIGdyaWQtY29sdW1uOiAxIC8gc3BhbiAyO1xuXG4gICAgLnJlc3VsdC10aXRsZSB7XG4gICAgICBmb250LXdlaWdodDogODAwO1xuICAgICAgZm9udC1zaXplOiAkZm9udC1zaXplLWgyO1xuICAgIH1cblxuICAgICY6OmJlZm9yZSB7XG4gICAgICBjb250ZW50OiAnRkVBVFVSRUQnO1xuICAgICAgQGluY2x1ZGUgZmVhdHVyZWQtYmFkZ2UoKTtcbiAgICAgIGxlZnQ6IDEwMCU7XG4gICAgICB6LWluZGV4OiAxO1xuICAgIH1cbiAgfVxuXG4gIC5yZXN1bHQtdGl0bGUsIC5yZXN1bHQtc3VidGl0bGUsIC5yZXN1bHQtYm9keSB7XG4gICAgei1pbmRleDogMjtcbiAgfVxufVxuXG5cblxuQG1peGluIHBhZ2UoKSB7XG4gIGdyaWQtdGVtcGxhdGUtYXJlYXM6XG4gIFwiaW1hZ2UgdGl0bGVcIlxuICBcImltYWdlIGJvZHlcIlxuICBcImltYWdlIGJvZHlcIlxuICBcImltYWdlIGJvZHlcIjtcblxuICAucmVzdWx0LWltYWdlIHtcbiAgICBpbWcge1xuICAgICAgb2JqZWN0LWZpdDogY292ZXI7XG4gICAgfVxuICB9XG59XG5cblxuXG5AbWl4aW4gcHJvZHVjdCgpIHtcbiAgLS1iYWRnZS1zcGFjaW5nIDogM3JlbTtcblxuICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHZhcigtLWltYWdlLXdpZHRoKSBhdXRvO1xuXG4gIGdyaWQtdGVtcGxhdGUtYXJlYXM6XG4gICAgXCJpbWFnZSB0aXRsZVwiXG4gICAgXCJpbWFnZSB0aXRsZVwiXG4gICAgXCJpbWFnZSBkYXRhXCJcbiAgICBcImltYWdlIGRhdGFcIjtcblxuICAvLyAucmVzdWx0LXRpdGxlIHtcbiAgLy8gICBtYXJnaW4tdG9wOiAkZ2FwO1xuICAvLyB9XG5cbiAgLnJlc3VsdC10aXRsZSwgLnJlc3VsdC1ib2R5IHtcbiAgICBwYWRkaW5nLXJpZ2h0OiBjYWxjKHZhcigtLWJhZGdlLXNwYWNpbmcpICogMik7XG4gIH1cblxuICAucHJvZHVjdC1kYXRhIHtcbiAgICBncmlkLWFyZWE6IGRhdGE7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICBncmlkLWdhcDogY2FsYygkZ2FwIC8gMikgJGdhcDtcbiAgfVxuXG4gIC5yZXN1bHQtaW1hZ2Uge1xuICAgIGltZyB7XG4gICAgICBvYmplY3QtZml0OiBjb250YWluO1xuICAgIH1cbiAgfVxuXG5cbiAgQGluY2x1ZGUgYnJlYWstaW4oNDUwKSB7XG4gICAgZ3JpZC10ZW1wbGF0ZS1hcmVhczpcbiAgICBcImltYWdlIFwiXG4gICAgXCJ0aXRsZVwiXG4gICAgXCJkYXRhXCI7XG5cbiAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHVuc2V0O1xuXG4gICAgLnByb2R1Y3QtZGF0YSB7XG4gICAgICAvLyBtYXJnaW4tdG9wOiAkZ2FwLTtcbiAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gICAgfVxuXG4gICAgLy8gZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiBhdXRvIDFmcjtcblxuICAgIC5yZXN1bHQtdGl0bGUsIC5yZXN1bHQtYm9keSB7IHBhZGRpbmctcmlnaHQ6IDAgfVxuICAgIC8vIC5yZXN1bHQtdGl0bGUgeyBhbGlnbi1zZWxmOiBjZW50ZXIgfVxuICB9XG5cblxuICAmLmluLXN0b2NrOjpiZWZvcmUge1xuICAgIC0tcGFkZGluZy15IDogMC4yZW07XG4gICAgLS1wYWRkaW5nLXggOiAxMGVtO1xuXG4gICAgY29udGVudDogJ2luIHN0b2NrJztcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiBjYWxjKDFlbSArIHZhcigtLXBhZGRpbmcteSkpO1xuICAgIHJpZ2h0OiBjYWxjKC0xICogdmFyKC0tcGFkZGluZy14KSk7XG4gICAgcGFkZGluZzogMC41ZW0gdmFyKC0tcGFkZGluZy14KTtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZSg0NWRlZyk7XG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYmx1ZTtcbiAgICBjb2xvcjogJHdoaXRlO1xuICB9XG59IiwiQHVzZSAnLi4vX3ZhcmlhYmxlcycgYXMgKjtcbkB1c2UgJy4uL19oZWxwZXJzL21pc2Muc2NzcycgYXMgKjtcblxuQG1peGluIHRhZygpIHtcbiAgJltkaXNhYmxlZF0geyBAaW5jbHVkZSBkaXNhYmxlZCgpIH1cbiAgJi5jYXRlZ29yeSB7XG4gICAgQGluY2x1ZGUgdGFnLWJhc2UoKTtcbiAgICAtLWJvcmRlci1jb2xvdXI6ICN7JHJlZH07XG4gICAgQGluY2x1ZGUgdGFnLXdpdGgtc2Vjb25kYXJ5KCk7XG4gICAgLnRhZy1zZWNvbmRhcnk6aG92ZXIgeyBAaW5jbHVkZSBzZWNvbmRhcnktaG92ZXIoKSB9XG4gIH1cblxuICAmLmNoZWNrYm94IHtcbiAgICBAaW5jbHVkZSB0YWctY2hlY2tib3goKTtcbiAgfVxufVxuXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICBCYXNlIHN0eWxpbmdcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG5AbWl4aW4gdGFnLWJhc2UoKSB7XG4gIC0tYm9yZGVyLXJhZGl1cyAgICAgICA6IDBweDtcbiAgLS1mb250LWNvbG91ciAgICAgICAgIDogI3skcmVkfTtcbiAgLS1iZy1jb2xvdXIgICAgICAgICAgIDogd2hpdGU7XG4gIC0tc2Vjb25kYXJ5LXdpZHRoICAgICA6IDNjaDtcbiAgLS1zZWNvbmRhcnktcGFkZGluZy14IDogM3B4O1xuICAtLWJvcmRlci1jb2xvdXIgICAgICAgOiB0cmFuc3BhcmVudDtcblxuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IGdyaWQ7XG4gIGdyaWQtYXV0by1mbG93OiBjb2x1bW47XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIHdpZHRoOiBmaXQtY29udGVudDtcbiAgYm9yZGVyOiAxcHggc29saWQgdmFyKC0tYm9yZGVyLWNvbG91cik7XG4gIGJvcmRlci1yYWRpdXM6IHZhcigtLWJvcmRlci1yYWRpdXMpO1xuICBjb2xvcjogdmFyKC0tZm9udC1jb2xvdXIpO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1iZy1jb2xvdXIpO1xuICB0cmFuc2l0aW9uOiAkdHJhbnNpdGlvbjtcbiAgZm9udC1zaXplOiAxM3B4O1xuICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBib3gtc2l6aW5nOiBjb250ZW50LWJveDtcblxuICAudGFnLWxhYmVsIHtcbiAgICBwYWRkaW5nOiAzcHggJGdhcCAzcHggJGdhcDtcbiAgfVxufVxuXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICBXaXRoIHNlY29uZGFyeSBzZWN0aW9uXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuQG1peGluIHRhZy13aXRoLXNlY29uZGFyeSgpIHtcbiAgLS1zeW1ib2wtY29sb3VyIDogI3skcmVkfTtcblxuICAudGFnLXNlY29uZGFyeSB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIHBhZGRpbmc6IDAgdmFyKC0tc2Vjb25kYXJ5LXBhZGRpbmcteCk7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRncmV5NDtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIHdpZHRoOiAzY2g7XG4gICAgdHJhbnNpdGlvbjogJHRyYW5zaXRpb247XG5cbiAgICBzdmcge1xuICAgICAgd2lkdGg6IDUwJTtcbiAgICAgIHRyYW5zaXRpb246ICR0cmFuc2l0aW9uO1xuICAgIH1cbiAgfVxufVxuXG5cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gIENoZWNrYm94IHRhZ3Ncbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG5AbWl4aW4gdGFnLWNoZWNrYm94KCkge1xuICBpbnB1dFt0eXBlPVwiY2hlY2tib3hcIl0ge1xuICAgIGRpc3BsYXk6IG5vbmU7XG5cbiAgICAmIH4gbGFiZWwge1xuICAgICAgQGluY2x1ZGUgdGFnLWJhc2UoKTtcbiAgICAgIEBpbmNsdWRlIHRhZy13aXRoLXNlY29uZGFyeSgpO1xuXG4gICAgICAmOmhvdmVyIHtcbiAgICAgICAgLS1ib3JkZXItY29sb3VyOiAjeyRyZWR9O1xuICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgICB9XG4gICAgfVxuXG4gICAgJjpjaGVja2VkIH4gbGFiZWwge1xuICAgICAgLS1mb250LWNvbG91cjogd2hpdGU7XG4gICAgICAtLWJnLWNvbG91cjogI3skcmVkfTtcblxuICAgICAgLnRhZy1zZWNvbmRhcnkgeyBAaW5jbHVkZSBzZWNvbmRhcnktaG92ZXIocmdiYSh3aGl0ZSwgMC4zKSkgfVxuICAgIH1cbiAgfVxufVxuXG5cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gIFN0YXRlc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbkBtaXhpbiBzZWNvbmRhcnktaG92ZXIoJGNvbG91ciA6ICRyZWQpIHtcbiAgLS1zeW1ib2wtY29sb3VyOiB3aGl0ZTtcbiAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG91cjtcbn0iLCJAdXNlICdfbW9kdWxlcycgYXMgKjtcblxuXG5AZm9udC1mYWNlIHtcbiAgZm9udC1mYW1pbHk6XCJsYXRvXCI7XG4gIHNyYzp1cmwoXCIuLi8uLi8uLi9hc3NldHMvZm9udHMvbGF0by1ib2xkLndvZmYyXCIpIGZvcm1hdChcIndvZmYyXCIpLFxuICAgICAgdXJsKFwiLi4vLi4vLi4vYXNzZXRzL2ZvbnRzL2xhdG8tYm9sZC53b2ZmXCIpICBmb3JtYXQoXCJ3b2ZmXCIpLFxuICAgICAgdXJsKFwiLi4vLi4vLi4vYXNzZXRzL2ZvbnRzL2xhdG8tYm9sZC5vdGZcIikgICBmb3JtYXQoXCJvcGVudHlwZVwiKTtcbiAgICAgIGZvbnQtZGlzcGxheTpzd2FwO2ZvbnQtc3R5bGU6bm9ybWFsO2ZvbnQtd2VpZ2h0OjcwMDtcbn1cblxuQGZvbnQtZmFjZSB7XG5mb250LWZhbWlseTpcImxhdG9cIjtcbnNyYzp1cmwoXCIuLi8uLi8uLi9hc3NldHMvZm9udHMvbGF0by1zZW1pYm9sZC53b2ZmMlwiKSBmb3JtYXQoXCJ3b2ZmMlwiKSxcbiAgICB1cmwoXCIuLi8uLi8uLi9hc3NldHMvZm9udHMvbGF0by1zZW1pYm9sZC53b2ZmXCIpICBmb3JtYXQoXCJ3b2ZmXCIpLFxuICAgIHVybChcIi4uLy4uLy4uL2Fzc2V0cy9mb250cy9sYXRvLXNlbWlib2xkLm90ZlwiKSAgIGZvcm1hdChcIm9wZW50eXBlXCIpO1xuICAgIGZvbnQtZGlzcGxheTpzd2FwO2ZvbnQtc3R5bGU6bm9ybWFsO2ZvbnQtd2VpZ2h0OjYwMDtcbn1cblxuQGZvbnQtZmFjZSB7XG4gIGZvbnQtZmFtaWx5OlwibGF0b1wiO1xuICBzcmM6dXJsKFwiLi4vLi4vLi4vYXNzZXRzL2ZvbnRzL2xhdG8tcmVndWxhci53b2ZmMlwiKSBmb3JtYXQoXCJ3b2ZmMlwiKSxcbiAgICAgIHVybChcIi4uLy4uLy4uL2Fzc2V0cy9mb250cy9sYXRvLXJlZ3VsYXIud29mZlwiKSAgZm9ybWF0KFwid29mZlwiKSxcbiAgICAgIHVybChcIi4uLy4uLy4uL2Fzc2V0cy9mb250cy9sYXRvLXJlZ3VsYXIub3RmXCIpICAgZm9ybWF0KFwib3BlbnR5cGVcIik7XG4gICAgICBmb250LWRpc3BsYXk6c3dhcDtmb250LXN0eWxlOm5vcm1hbDtmb250LXdlaWdodDo0MDA7XG4gIH1cblxuQGZvbnQtZmFjZSB7XG5mb250LWZhbWlseTpcIm1vbnRzZXJyYXRcIjtcbnNyYzp1cmwoXCIuLi8uLi8uLi9hc3NldHMvZm9udHMvbW9udHNlcnJhdC1tZWRpdW0ud29mZjJcIikgZm9ybWF0KFwid29mZjJcIiksXG4gICAgdXJsKFwiLi4vLi4vLi4vYXNzZXRzL2ZvbnRzL21vbnRzZXJyYXQtbWVkaXVtLndvZmZcIikgIGZvcm1hdChcIndvZmZcIiksXG4gICAgdXJsKFwiLi4vLi4vLi4vYXNzZXRzL2ZvbnRzL21vbnRzZXJyYXQtbWVkaXVtLm90ZlwiKSAgIGZvcm1hdChcIm9wZW50eXBlXCIpO1xuICAgIGZvbnQtZGlzcGxheTpzd2FwO2ZvbnQtc3R5bGU6bm9ybWFsO2ZvbnQtd2VpZ2h0OjUwMDtcbn1cblxuQGZvbnQtZmFjZSB7XG5mb250LWZhbWlseTpcIm1vbnRzZXJyYXRcIjtcbnNyYzp1cmwoXCIuLi8uLi8uLi9hc3NldHMvZm9udHMvbW9udHNlcnJhdC1tZWRpdW0taXRhbGljLndvZmYyXCIpIGZvcm1hdChcIndvZmYyXCIpLFxuICAgIHVybChcIi4uLy4uLy4uL2Fzc2V0cy9mb250cy9tb250c2VycmF0LW1lZGl1bS1pdGFsaWMud29mZlwiKSAgZm9ybWF0KFwid29mZlwiKSxcbiAgICB1cmwoXCIuLi8uLi8uLi9hc3NldHMvZm9udHMvbW9udHNlcnJhdC1tZWRpdW0taXRhbGljLm90ZlwiKSAgIGZvcm1hdChcIm9wZW50eXBlXCIpO1xuICAgIGZvbnQtZGlzcGxheTpzd2FwO2ZvbnQtc3R5bGU6aXRhbGljO2ZvbnQtd2VpZ2h0OjUwMDtcbn1cblxuQGZvbnQtZmFjZSB7XG5mb250LWZhbWlseTpcIm1vbnRzZXJyYXRcIjtcbnNyYzp1cmwoXCIuLi8uLi8uLi9hc3NldHMvZm9udHMvbW9udHNlcnJhdC1zZW1pYm9sZC53b2ZmMlwiKSBmb3JtYXQoXCJ3b2ZmMlwiKSxcbiAgICB1cmwoXCIuLi8uLi8uLi9hc3NldHMvZm9udHMvbW9udHNlcnJhdC1zZW1pYm9sZC53b2ZmXCIpICBmb3JtYXQoXCJ3b2ZmXCIpLFxuICAgIHVybChcIi4uLy4uLy4uL2Fzc2V0cy9mb250cy9tb250c2VycmF0LXNlbWlib2xkLm90ZlwiKSAgIGZvcm1hdChcIm9wZW50eXBlXCIpO1xuICAgIGZvbnQtZGlzcGxheTpzd2FwO2ZvbnQtc3R5bGU6bm9ybWFsO2ZvbnQtd2VpZ2h0OjYwMDtcbn1cblxuQGZvbnQtZmFjZSB7XG4gIGZvbnQtZmFtaWx5OlwibW9udHNlcnJhdFwiO1xuICBzcmM6dXJsKFwiLi4vLi4vLi4vYXNzZXRzL2ZvbnRzL21vbnRzZXJyYXQtcmVndWxhci53b2ZmMlwiKSBmb3JtYXQoXCJ3b2ZmMlwiKSxcbiAgICAgIHVybChcIi4uLy4uLy4uL2Fzc2V0cy9mb250cy9tb250c2VycmF0LXJlZ3VsYXIud29mZlwiKSAgZm9ybWF0KFwid29mZlwiKSxcbiAgICAgIHVybChcIi4uLy4uLy4uL2Fzc2V0cy9mb250cy9tb250c2VycmF0LXJlZ3VsYXIub3RmXCIpICAgZm9ybWF0KFwib3BlbnR5cGVcIik7XG4gICAgICBmb250LWRpc3BsYXk6c3dhcDtmb250LXN0eWxlOm5vcm1hbDtmb250LXdlaWdodDo0MDA7XG59XG5cbkBmb250LWZhY2Uge1xuICBmb250LWZhbWlseTpcIm1vbnRzZXJyYXRcIjtcbiAgc3JjOnVybChcIi4uLy4uLy4uL2Fzc2V0cy9mb250cy9tb250c2VycmF0LWV4dHJhYm9sZC53b2ZmMlwiKSBmb3JtYXQoXCJ3b2ZmMlwiKSxcbiAgICAgIHVybChcIi4uLy4uLy4uL2Fzc2V0cy9mb250cy9tb250c2VycmF0LWV4dHJhYm9sZC53b2ZmXCIpICBmb3JtYXQoXCJ3b2ZmXCIpLFxuICAgICAgdXJsKFwiLi4vLi4vLi4vYXNzZXRzL2ZvbnRzL21vbnRzZXJyYXQtZXh0cmFib2xkLm90ZlwiKSAgIGZvcm1hdChcIm9wZW50eXBlXCIpO1xuICAgICAgZm9udC1kaXNwbGF5OnN3YXA7Zm9udC1zdHlsZTpub3JtYWw7Zm9udC13ZWlnaHQ6ODAwO1xufSIsIi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG4vLyBDdXN0b20gUHJvcGVydGllc1xuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cblxuQHVzZSAnX21vZHVsZXMnIGFzICo7XG5AdXNlICdzYXNzOm1hdGgnO1xuXG46cm9vdCB7XG5cbiAgLy8gQ29sb3VycyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbiAgLS1wcmltYXJ5ICAgICAgICAgOiAjeyR3aGl0ZX07IFxuICAtLXNlY29uZGFyeSAgICAgICA6ICN7JGJsdWV9O1xuXG4gIGJvZHkge1xuXG4gICAgJltkYXRhLXRoZW1lPVwiZGVmYXVsdFwiXSB7XG4gICAgICAtLXRoZW1lLXBhZ2UtYmFja2dyb3VuZCAgICA6ICN7JHRoZW1lLWRlZmF1bHQtcGFnZS1iYWNrZ3JvdW5kfTtcbiAgICAgIC0tdGhlbWUtY29udGVudC1iYWNrZ3JvdW5kIDogI3skdGhlbWUtZGVmYXVsdC1jb250ZW50LWJhY2tncm91bmR9O1xuICAgICAgLS10aGVtZS1jb250ZW50LW9wcG9zaXRlICAgOiAjeyR3aGl0ZX07XG4gICAgICAtLXRoZW1lLW5hdi1iYWNrZ3JvdW5kICAgICA6ICN7JHRoZW1lLWRlZmF1bHQtbmF2LWJhY2tncm91bmR9O1xuICAgICAgLS10aGVtZS1uYXYtYmFja2dyb3VuZC1tb2IgOiAjeyR0aGVtZS1kZWZhdWx0LW5hdi1iYWNrZ3JvdW5kLW1vYn07XG4gICAgICAtLXRoZW1lLW5hdi1mb250ICAgICAgICAgICA6ICN7JHRoZW1lLWRlZmF1bHQtbmF2LWZvbnR9O1xuICAgICAgLS10aGVtZS1uYXYtZm9udC1tb2IgICAgICAgOiAjeyR0aGVtZS1kZWZhdWx0LW5hdi1mb250LW1vYn07XG4gICAgICAtLXRoZW1lLW5hdi1zcGFjaW5nLWNvbG91ciA6ICN7JHRoZW1lLWRlZmF1bHQtbmF2LXNwYWNpbmctY29sb3VyfTtcbiAgICAgIC0tdGhlbWUtYWNjZW50ICAgICAgICAgICAgIDogI3skdGhlbWUtZGVmYXVsdC1hY2NlbnR9O1xuICAgICAgLS10aGVtZS1sb2dvICAgICAgICAgICAgICAgOiAjeyR0aGVtZS1kZWZhdWx0LWxvZ299O1xuICAgICAgLS1mb250LWNvbG91ciAgICAgICAgICAgICAgOiAjeyR0aGVtZS1kZWZhdWx0LWZvbnR9O1xuICAgICAgLS1oZWFkaW5nLWNvbG91ciAgICAgICAgICAgOiAjeyR0aGVtZS1kZWZhdWx0LWhlYWRpbmd9O1xuICAgIH1cblxuICAgICZbZGF0YS10aGVtZT1cIndoaXRlXCJdIHtcbiAgICAgIC0tdGhlbWUtcGFnZS1iYWNrZ3JvdW5kICAgIDogI3skdGhlbWUtd2hpdGUtcGFnZS1iYWNrZ3JvdW5kfTtcbiAgICAgIC0tdGhlbWUtY29udGVudC1iYWNrZ3JvdW5kIDogI3skdGhlbWUtd2hpdGUtY29udGVudC1iYWNrZ3JvdW5kfTtcbiAgICAgIC0tdGhlbWUtY29udGVudC1vcHBvc2l0ZSAgIDogI3skd2hpdGV9O1xuICAgICAgLS10aGVtZS1uYXYtYmFja2dyb3VuZCAgICAgOiAjeyR0aGVtZS13aGl0ZS1uYXYtYmFja2dyb3VuZH07XG4gICAgICAtLXRoZW1lLW5hdi1iYWNrZ3JvdW5kLW1vYiA6ICN7JHRoZW1lLXdoaXRlLW5hdi1iYWNrZ3JvdW5kLW1vYn07XG4gICAgICAtLXRoZW1lLW5hdi1mb250ICAgICAgICAgICA6ICN7JHRoZW1lLXdoaXRlLW5hdi1mb250fTtcbiAgICAgIC0tdGhlbWUtbmF2LWZvbnQtbW9iICAgICAgIDogI3skdGhlbWUtd2hpdGUtbmF2LWZvbnQtbW9ifTtcbiAgICAgIC0tdGhlbWUtbmF2LXNwYWNpbmctY29sb3VyIDogI3skdGhlbWUtd2hpdGUtbmF2LXNwYWNpbmctY29sb3VyfTtcbiAgICAgIC0tdGhlbWUtYWNjZW50ICAgICAgICAgICAgIDogI3skdGhlbWUtd2hpdGUtYWNjZW50fTtcbiAgICAgIC0tdGhlbWUtbG9nbyAgICAgICAgICAgICAgIDogI3skdGhlbWUtd2hpdGUtbG9nb307XG4gICAgICAtLWZvbnQtY29sb3VyICAgICAgICAgICAgICA6ICN7JHRoZW1lLXdoaXRlLWZvbnR9O1xuICAgICAgLS1oZWFkaW5nLWNvbG91ciAgICAgICAgICAgOiAjeyR0aGVtZS13aGl0ZS1oZWFkaW5nfTtcbiAgICB9XG5cbiAgICAmW2RhdGEtdGhlbWU9XCJibGFja1wiXSB7XG4gICAgICAtLXRoZW1lLXBhZ2UtYmFja2dyb3VuZCAgICA6ICN7JHRoZW1lLWJsYWNrLXBhZ2UtYmFja2dyb3VuZH07XG4gICAgICAtLXRoZW1lLWNvbnRlbnQtYmFja2dyb3VuZCA6ICN7JHRoZW1lLWJsYWNrLWNvbnRlbnQtYmFja2dyb3VuZH07XG4gICAgICAtLXRoZW1lLWNvbnRlbnQtb3Bwb3NpdGUgICA6ICN7JHdoaXRlfTtcbiAgICAgIC0tdGhlbWUtbmF2LWJhY2tncm91bmQgICAgIDogI3skdGhlbWUtYmxhY2stbmF2LWJhY2tncm91bmR9O1xuICAgICAgLS10aGVtZS1uYXYtYmFja2dyb3VuZC1tb2IgOiAjeyR0aGVtZS1ibGFjay1uYXYtYmFja2dyb3VuZC1tb2J9O1xuICAgICAgLS10aGVtZS1uYXYtZm9udCAgICAgICAgICAgOiAjeyR0aGVtZS1ibGFjay1uYXYtZm9udH07XG4gICAgICAtLXRoZW1lLW5hdi1mb250LW1vYiAgICAgICA6ICN7JHRoZW1lLWJsYWNrLW5hdi1mb250LW1vYn07XG4gICAgICAtLXRoZW1lLW5hdi1zcGFjaW5nLWNvbG91ciA6ICN7JHRoZW1lLWJsYWNrLW5hdi1zcGFjaW5nLWNvbG91cn07XG4gICAgICAtLXRoZW1lLWZvbnQgICAgICAgICAgICAgICA6ICN7JHRoZW1lLWJsYWNrLWZvbnR9O1xuICAgICAgLS10aGVtZS1hY2NlbnQgICAgICAgICAgICAgOiAjeyR0aGVtZS1ibGFjay1hY2NlbnR9O1xuICAgICAgLS10aGVtZS1sb2dvICAgICAgICAgICAgICAgOiAjeyR0aGVtZS1ibGFjay1sb2dvfTtcbiAgICAgIC0tZm9udC1jb2xvdXIgICAgICAgICAgICAgIDogI3skdGhlbWUtYmxhY2stZm9udH07XG4gICAgICAtLWhlYWRpbmctY29sb3VyICAgICAgICAgICA6ICN7JHRoZW1lLWJsYWNrLWhlYWRpbmd9O1xuICAgIH1cbiAgfVxuXG5cbiAgLy8gQnJlYWtwb2ludHMgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gIFxuICBAZWFjaCAkbmFtZSwgJHZhbHVlIGluICRicmVha3BvaW50cyB7XG4gICAgLS1icmVha3BvaW50LSN7JG5hbWV9IDogI3skdmFsdWV9O1xuICB9XG5cbiAgLy8gRm9udHMgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gIFxuICAtLWZvbnQtY29sb3VyICAgICAgICA6ICN7dmFyKC0tdGhlbWUtZm9udCwgJGZvbnQtY29sb3VyKX07XG4gIC0taGVhZGluZy1jb2xvdXIgICAgIDogI3t2YXIoLS10aGVtZS1oZWFkaW5nLCAkd2hpdGUpfTtcbiAgLS1zdWItaGVhZGluZy1jb2xvdXIgOiAje3ZhcigtLXNlY29uZGFyeSwgJGJsdWUpfTtcblxuICAvLyBUcmFuc2l0aW9ucyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuICAtLXRyYW5zaXRpb24tZHVyYXRpb24gOiAjeyR0cmFuc2l0aW9uLWR1cmF0aW9ufTtcbiAgLS10cmFuc2l0aW9uLWVhc2UgICAgIDogI3skdHJhbnNpdGlvbi1lYXNlfTtcbiAgLS10cmFuc2l0aW9uLWRlbGF5ICAgIDogI3skdHJhbnNpdGlvbi1kZWxheX07XG5cbiAgLy8gVW5pdHMgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbiAgLS1nYXAgICAgOiAjeyRiYXNlLWdhcH07XG4gIC0tZ3V0dGVyIDogI3skYmFzZS1ndXR0ZXJ9O1xuICAtLXNwYWNlciA6ICN7JGJhc2Utc3BhY2VyfTtcbiBcbiAgLy8vIFNldCB0aGUgZ3V0dGVycyBhbmQgc3BhY2VycyB3aXRoIGNsYW1wIFxuICAvLy8gQHNlZSBodHRwczovL2RldmVsb3Blci5tb3ppbGxhLm9yZy9lbi1VUy9kb2NzL1dlYi9DU1MvY2xhbXBcbiAgQGZvciAkaSBmcm9tIDAgdGhyb3VnaCA2IHtcblxuICAgIC0tZ3V0dGVyI3skaX0gIDogI3tndXR0ZXIoJGkpfTsgXG4gICAgLS1ndXR0ZXIjeyRpfS0gOiAje2d1dHRlcigkaSwgJHVzZS1uZWdhdGl2ZSA6IHRydWUpfTtcblxuICAgICRzcGFjZXItZ3Jvd3RoIDogaWYoJGkgPT0gMCwgMSwgJGkgKiAzKTtcbiAgICAtLXNwYWNlciN7JGl9ICA6ICN7c3BhY2VyKCRzcGFjZXItZ3Jvd3RoKX07IFxuICAgIC0tc3BhY2VyI3skaX0tIDogI3tzcGFjZXIoJHNwYWNlci1ncm93dGgsICR1c2UtbmVnYXRpdmUgOiB0cnVlKX07XG4gIH1cbiAgXG4gIC8vLyBTZXRzIHRoZSBndXR0ZXJzIGFuZCBzcGFjZXJzIHVzaW5nIHRoZSBjYWxjIFxuICAvLy8gbWV0aG9kIGZvciBicm93c2VycyB0aGF0IGRvbid0IHN1cHBvcnQgY2xhbXBcbiAgQHN1cHBvcnRzIG5vdCAoIHdpZHRoOmNsYW1wKDFweCwgNXZ3LCAxMHB4KSkge1xuICAgIEBmb3IgJGkgZnJvbSAwIHRocm91Z2ggNiB7XG5cbiAgICAgIC0tZ3V0dGVyI3skaX0gIDogI3tndXR0ZXIoJGksICR1c2UtY2xhbXAgOiBmYWxzZSApfTsgXG4gICAgICAtLWd1dHRlciN7JGl9LSA6ICN7Z3V0dGVyKCRpLCAkdXNlLWNsYW1wIDogZmFsc2UsICR1c2UtbmVnYXRpdmUgOiB0cnVlICl9O1xuXG4gICAgICAkc3BhY2VyLWdyb3d0aCA6IGlmKCRpID09IDAsIDIsICRpICogNCk7XG4gICAgICAtLXNwYWNlciN7JGl9ICA6ICN7c3BhY2VyKCRzcGFjZXItZ3Jvd3RoLCAkdXNlLWNsYW1wIDogZmFsc2UgKX07IFxuICAgICAgLS1zcGFjZXIjeyRpfS0gOiAje3NwYWNlcigkc3BhY2VyLWdyb3d0aCwgJHVzZS1jbGFtcCA6IGZhbHNlLCAkdXNlLW5lZ2F0aXZlIDogdHJ1ZSApfTtcbiAgICB9ICAgIFxuICB9XG59IiwiLy8vIEdsb2JhbCB0eXBvZ3JhcGhpYyBzdHlsaW5nIHRoYXQgZWZmZWN0cyBldmVyeXRoaW5nLiBcbi8vLyBJZiB5b3Ugd2FudCB0byB1cGRhdGUgc3R5bGluZyBmb3IgY29udGVudCBibG9jayB0ZXh0IGZpZWxkcywgaW50cm9kdWN0aW9uIGZpZWxkcywgXG4vLy8gb3IgYW55dGhpbmcgYXNzaWduZWQgYSAudGV4dCBjbGFzcyBvbiBpdCdzIGNvbnRhaW5lciB0aGVuIGVkaXQgdGhpcyBmaWxlOlxuLy8vIEBzZWUgL3NyYy9zYXNzL2NvbXBvbmVudHMvdGV4dFxuXG5AdXNlICdfbW9kdWxlcycgYXMgKjtcblxuXG5ib2R5IHtcbiAgQGluY2x1ZGUgZm9udC1tb250c2VycmF0KCk7XG5cdGNvbG9yICAgICAgIDogdmFyKC0tZm9udC1jb2xvdXIsICRmb250LWNvbG91cik7XG4gIGxpbmUtaGVpZ2h0IDogJGZvbnQtbGluZS1oZWlnaHQ7XG4gIGZvbnQtc2l6ZSAgIDogJGZvbnQtc2l6ZTtcbiAgQGluY2x1ZGUgcmVzcG9uc2l2ZS1mb250c2l6ZSgkZm9udC1zaXplLW1pbiwgJGZvbnQtc2l6ZS1tYXgpO1xufVxuXG5oMSB7IEBpbmNsdWRlIGhlYWRpbmctaDE7IH1cbmgyIHsgQGluY2x1ZGUgaGVhZGluZy1oMjsgfVxuaDMgeyBAaW5jbHVkZSBoZWFkaW5nLWgzOyB9XG5oNCB7IEBpbmNsdWRlIGhlYWRpbmctaDQ7IH1cbmg1IHsgQGluY2x1ZGUgaGVhZGluZy1oNTsgfVxuaDYgeyBAaW5jbHVkZSBoZWFkaW5nLWg2OyB9XG5cbmgxLCBoMiwgaDMsIGg0LCBoNSwgaDYgeyBcblxuICBAaW5jbHVkZSBmb250LW1vbnRzZXJyYXQoYm9sZCk7XG4gIGNvbG9yOnZhcigtLWhlYWRpbmctY29sb3VyLCB2YXIoLS1mb250LWNvbG91cikpO1xuICBcbiAgJi5zdWItaGVhZGluZyB7XG4gICAgY29sb3I6dmFyKC0tc3ViLWhlYWRpbmctY29sb3VyKTsgXG4gICAgQGluY2x1ZGUgZm9udC1sYXRvKHNlbWktYm9sZCk7XG4gIH1cblxuICBzcGFuLCBzdHJvbmcsIHAge1xuICAgIGNvbG9yICAgICAgIDogaW5oZXJpdDtcbiAgICBmb250LWZhbWlseSA6IGluaGVyaXQ7XG4gICAgZm9udC13ZWlnaHQgOiBpbmhlcml0O1xuICB9XG59XG5cbi8vIHEsIGJsb2NrcXVvdGUge1xuLy8gICBxdW90ZXM6IFwi4oCcXCIgXCLigJ1cIiBcIuKAmFwiIFwi4oCZXCI7XG4vLyAgICY6OmJlZm9yZSB7IGNvbnRlbnQ6IG9wZW4tcXVvdGU7IH1cbi8vICAgJjo6YWZ0ZXIgeyBjb250ZW50OiBjbG9zZS1xdW90ZTsgfVxuLy8gfVxuXG5hIHsgXG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgdHJhbnNpdGlvbjogdGV4dC1kZWNvcmF0aW9uLWNvbG9yICR0cmFuc2l0aW9uLCBjb2xvciAkdHJhbnNpdGlvbjtcbiAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG4gIHRleHQtdW5kZXJsaW5lLXBvc2l0aW9uOiB1bmRlcjtcbiAgdGV4dC1kZWNvcmF0aW9uLWNvbG9yOiAkdHJhbnNwYXJlbnQ7XG4gICYuZXh0ZXJuYWwge1xuICAgIGRpc3BsYXk6aW5saW5lLWZsZXg7IFxuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgc3ZnLmV4dGVybmFsLWxpbmsge1xuICAgICAgb3BhY2l0eTowLjY7IFxuICAgICAgd2lkdGg6MC44ZW07XG4gICAgICBoZWlnaHQ6MC44ZW07XG4gICAgICBtYXJnaW4tbGVmdDowLjVlbTsgXG4gICAgfVxuICB9XG4gICY6aG92ZXIge1xuICAgIHRleHQtZGVjb3JhdGlvbi1jb2xvcjogdmFyKC0tZm9udC1jb2xvdXIpO1xuICB9XG59XG5cbkBpbmNsdWRlIGhlYWRpbmctYWxsKCkge1xuICBhIHtcbiAgICBAaW5jbHVkZSBob3ZlcigpIHtcbiAgICAgIHRleHQtZGVjb3JhdGlvbi1jb2xvcjogdmFyKC0taGVhZGluZy1jb2xvdXIpO1xuICAgIH1cbiAgfVxufVxuXG5cblxucCwgYSB7XG4gIGNvbG9yOiB2YXIoLS1mb250LWNvbG91cik7XG59XG5cbm9sLCB1bCB7XG4gIGxpc3Qtc3R5bGU6IG5vbmU7XG4gIGxpc3Qtc3R5bGUtcG9zaXRpb246IGluc2lkZTtcbn1cblxubGkgeyBcblx0YSB7IHRleHQtdW5kZXJsaW5lLW9mZnNldDoycHg7IH1cbn1cblxuc21hbGwge1xuICBmb250LXNpemU6Zm9udC1zaXplKDEwKTtcbiAgbGluZS1oZWlnaHQ6MS44O1xufVxuXG5ociB7IFxuICB3aWR0aDogMTAwJTtcbiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0taHItY29sb3VyLCAkZ3JleTUpO1xuICBtYXJnaW4tdG9wOiRnYXAyOyBcbiAgbWFyZ2luLWJvdHRvbTokZ2FwMjsgXG59IiwiLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cbi8vLyBGb250XG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuXG5AdXNlICdjb2xvdXJzJyBhcyAqO1xuXG4kY29sb3VyICAgICAgOiAkZ3JleTI7XG4kc2l6ZSAgICAgICAgOiAxLjVyZW0gIWRlZmF1bHQ7XG4kc2l6ZS1taW4gICAgOiAxLjRyZW0gIWRlZmF1bHQ7IFxuJHNpemUtbWF4ICAgIDogMS42cmVtICFkZWZhdWx0OyBcbiRsaW5lLWhlaWdodCA6IDEuNiAhZGVmYXVsdDsgXG5cbiRzaXplLWgxICAgICA6IDVlbSAhZGVmYXVsdDtcbiRzaXplLWgxLW1pbiA6IDRlbSAhZGVmYXVsdDtcbiRzaXplLWgyICAgICA6IDJlbSAhZGVmYXVsdDtcbiRzaXplLWgzICAgICA6IDEuNWVtICFkZWZhdWx0O1xuJHNpemUtaDQgICAgIDogMS4zZW0gIWRlZmF1bHQ7XG4kc2l6ZS1oNSAgICAgOiAxLjNlbSAhZGVmYXVsdDtcbiRzaXplLWg2ICAgICA6IDEuM2VtICFkZWZhdWx0O1xuICBcbi8vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4vLy8gTGF0byBGb250XG4vLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuLy8vIFRoaXMgZm9udCBpdCBwcmltYXJpbHkgdXNlZCBmb3IgaGVhZGluZ3MgKDxoKj4gdGFncylcbi8vLyBAZXhhbXBsZSBAaW5jbHVkZSBmb250LWxhdG8oYm9sZClcblxuQG1peGluIGxhdG8oJHdlaWdodDpyZWd1bGFyKSB7XG5cbiAgZm9udC1mYW1pbHk6bGF0bywgc2Fucy1zZXJpZjtcbiAgZm9udC1zdHlsZTogbm9ybWFsO1xuXG4gIEBpZiAoICR3ZWlnaHQgPT0gJ3JlZ3VsYXInKSB7XG4gICAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgfSBAZWxzZSBpZiAoICR3ZWlnaHQgPT0gJ3NlbWktYm9sZCcgb3IgJHdlaWdodCA9PSAnc2VtaWJvbGQnKSB7XG4gICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgfSBAZWxzZSBpZiAoICR3ZWlnaHQgPT0gJ2JvbGQnKSB7XG4gICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgfVxuXG4gIGZvbnQtZGlzcGxheTogc3dhcDtcbiAgLXdlYmtpdC1mb250LXNtb290aGluZzogYW50aWFsaWFzZWQ7XG5cdC1tb3otb3N4LWZvbnQtc21vb3RoaW5nOiBncmF5c2NhbGU7XG59XG5cbi8vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4vLy8gTW9udHNlcnJhdCBGb250XG4vLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuLy8vIFRoaXMgaXMgdGhlIGJhc2UgZm9udCB1c2VkIGZvciBhbGwgc3RhbmRhcmQgY29weSB0aHJvdWdob3V0IHRoZSBzaXRlLlxuLy8vIEBleGFtcGxlIEBpbmNsdWRlIGZvbnQtbW9udHNlcnJhdCgpXG5cbkBtaXhpbiBtb250c2VycmF0KCR3ZWlnaHQ6cmVndWxhcikge1xuXG4gIGZvbnQtZmFtaWx5Om1vbnRzZXJyYXQsIHNhbnMtc2VyaWY7XG4gIFxuICBAaWYgKCAkd2VpZ2h0ID09ICdyZWd1bGFyJykge1xuICAgIGZvbnQtd2VpZ2h0OiA1MDA7XG4gICAgZm9udC1zdHlsZTogbm9ybWFsO1xuICB9IEBlbHNlIGlmICggJHdlaWdodCA9PSAnaXRhbGljJykge1xuICAgIGZvbnQtd2VpZ2h0OiA1MDA7XG4gICAgZm9udC1zdHlsZTogaXRhbGljO1xuICB9IEBlbHNlIGlmICggJHdlaWdodCA9PSAnYm9sZCcpIHtcbiAgICBmb250LXdlaWdodDogNjAwO1xuICAgIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgfVxuXG4gIGZvbnQtZGlzcGxheTogc3dhcDtcbiAgLXdlYmtpdC1mb250LXNtb290aGluZzogYW50aWFsaWFzZWQ7XG5cdC1tb3otb3N4LWZvbnQtc21vb3RoaW5nOiBncmF5c2NhbGU7XG5cbn0iLCIvLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuLy8vIFJlc3BvbnNpdmUgRm9udHNpemUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgI3Jlc3BvbnNpdmUtZm9udHNpemVcbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG5cbkB1c2UgJy4uL2hlbHBlcnMvYnJlYWsnO1xuQHVzZSBcInNhc3M6bWFwXCI7XG5cbkBtaXhpbiByZXNwb25zaXZlLWZvbnRzaXplKCRtaW4sICRtYXgsICRzY2FsZXIgOiAxLjV2dywgJGJyZWFrcG9pbnRzIDogKG1pbjo5NTBweCwgbWF4OjE2MDBweCkpIHtcbiAgXG5cdC8vIFJlc3BvbnNpdmUgZm9udHNpemVcbiAgQHN1cHBvcnRzICggd2lkdGg6Y2xhbXAoMXB4LCA1dncsIDEwcHgpKSB7XG4gICAgZm9udC1zaXplOmNsYW1wKCN7JG1pbn0sICN7JHNjYWxlcn0sICN7JG1heH0pOyAgIFxuXHR9XG5cblx0Ly8gUmVzcG9uc2l2ZSBmb250c2l6ZSBmYWxsYmFjayBmb3IgYnJvd3NlcnMgdGhhdCBkb24ndCBzdXBwb3J0ICdjbGFtcCdcblx0QHN1cHBvcnRzIG5vdCAod2lkdGg6Y2xhbXAoMXB4LCA1dncsIDEwcHgpKSB7XG5cdFx0QGluY2x1ZGUgYnJlYWsuaW4obWFwLmdldCgkYnJlYWtwb2ludHMsICdtaW4nKSkgeyBmb250LXNpemU6JG1pbjsgfVxuXHRcdEBpbmNsdWRlIGJyZWFrLm91dChtYXAuZ2V0KCRicmVha3BvaW50cywgJ21heCcpKSB7IGZvbnQtc2l6ZTokbWF4OyB9XG5cdH1cbn0iLCIvLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuLy8vIEJyZWFrICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAjYnJlYWtcbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG5cbkBtaXhpbiBvdXQoJGJyZWFrcG9pbnQpIHtcbiAgQG1lZGlhIChtaW4td2lkdGg6I3skYnJlYWtwb2ludCArIDF9KSB7XG4gICAgQGNvbnRlbnQ7XG4gIH1cbn1cblxuQG1peGluIGluKCRicmVha3BvaW50KSB7XG4gIEBtZWRpYSAobWF4LXdpZHRoOiN7JGJyZWFrcG9pbnR9KSB7XG4gICAgQGNvbnRlbnQ7XG4gIH1cbn1cblxuQG1peGluIGJldHdlZW4oJG1pbiwgJG1heCkge1xuICBAbWVkaWEgKG1pbi13aWR0aDojeyRtaW59KSBhbmQgKG1heC13aWR0aDojeyRtYXh9KSB7XG4gICAgQGNvbnRlbnQ7XG4gIH1cbn0iLCIvLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuLy8gSGVhZGluZ3Ncbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG5cbkB1c2UgJ3Nhc3M6c3RyaW5nJztcbkB1c2UgJ3Nhc3M6bWFwJztcbkB1c2UgJ3Nhc3M6bWV0YSc7XG5AdXNlICdzYXNzOm1hdGgnO1xuQHVzZSAnLi9jb2xsZWN0aW9ucy9mb250JztcbkB1c2UgJy4vbW9kdWxlcy91bml0JztcblxuLy8gRGVmYXVsdCBIZWFkaW5nIFZhbHVlcyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuJGgxIDogKFxuICAnZm9udC1zaXplJyAgIDogMy4wcmVtLFxuICAnbGluZS1oZWlnaHQnIDogMS4xXG4pICFkZWZhdWx0O1xuXG4kaDIgOiAoXG4gICdmb250LXNpemUnICAgOiAyLjVyZW0sXG4gICdsaW5lLWhlaWdodCcgOiAxLjNcbikgIWRlZmF1bHQ7XG5cbiRoMyA6IChcbiAgJ2ZvbnQtc2l6ZScgICA6IDIuMnJlbSxcbiAgJ2xpbmUtaGVpZ2h0JyA6IDEuNFxuKSAhZGVmYXVsdDtcblxuJGg0IDogKFxuICAnZm9udC1zaXplJyAgIDogMi4wcmVtLFxuICAnbGluZS1oZWlnaHQnIDogMS40XG4pICFkZWZhdWx0O1xuXG4kaDUgOiAoXG4gICdmb250LXNpemUnICAgOiAxLjhyZW0sXG4gICdsaW5lLWhlaWdodCcgOiAxLjRcbikgIWRlZmF1bHQ7XG5cbiRoNiA6IChcbiAgJ2ZvbnQtc2l6ZScgICA6IDEuNnJlbSxcbiAgJ2xpbmUtaGVpZ2h0JyA6IDEuNFxuKSAhZGVmYXVsdDtcblxuJGJhc2UgOiA2Mi41ICFkZWZhdWx0O1xuJHNjYWxlciA6IDEuNXZ3ICFkZWZhdWx0O1xuJGVuYWJsZS1jcm9wcGluZyA6IGZhbHNlICFkZWZhdWx0O1xuXG4vLyBGYWxsYmFjayBMaW5lLWhlaWdodHMgc2hvdWxkIHRoZXkgbm90IGhhdmUgYmVlbiBwYXNzZWQgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG5AaWYgbm90IG1hcC5oYXMta2V5KCRoMSwgXCJsaW5lLWhlaWdodFwiKSB7ICRoMSA6IG1hcC5zZXQoJGgxLCAnbGluZS1oZWlnaHQnLCAxLjEpOyB9XG5AaWYgbm90IG1hcC5oYXMta2V5KCRoMiwgXCJsaW5lLWhlaWdodFwiKSB7ICRoMiA6IG1hcC5zZXQoJGgyLCAnbGluZS1oZWlnaHQnLCAxLjMpOyB9XG5AaWYgbm90IG1hcC5oYXMta2V5KCRoMywgXCJsaW5lLWhlaWdodFwiKSB7ICRoMyA6IG1hcC5zZXQoJGgzLCAnbGluZS1oZWlnaHQnLCAxLjQpOyB9XG5AaWYgbm90IG1hcC5oYXMta2V5KCRoNCwgXCJsaW5lLWhlaWdodFwiKSB7ICRoNCA6IG1hcC5zZXQoJGg0LCAnbGluZS1oZWlnaHQnLCAxLjQpOyB9XG5AaWYgbm90IG1hcC5oYXMta2V5KCRoNSwgXCJsaW5lLWhlaWdodFwiKSB7ICRoNSA6IG1hcC5zZXQoJGg1LCAnbGluZS1oZWlnaHQnLCAxLjQpOyB9XG5AaWYgbm90IG1hcC5oYXMta2V5KCRoNiwgXCJsaW5lLWhlaWdodFwiKSB7ICRoNiA6IG1hcC5zZXQoJGg2LCAnbGluZS1oZWlnaHQnLCAxLjQpOyB9XG5cbi8vIERlZmluZSB0aGUgdmFyaWFibGVzIHNvIHRoZXkgYXJlIHN0aWxsIGFjY2VzaWJsZSAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbiRoMS1mb250LXNpemUgICAgIDogbWFwLWdldCgkaDEsICdmb250LXNpemUnKTtcbiRoMS1saW5lLWhlaWdodCAgIDogbWFwLWdldCgkaDEsICdsaW5lLWhlaWdodCcpO1xuJGgxLWZvbnQtc2l6ZS1taW4gOiBpZihtYXAuaGFzLWtleSgkaDEsIFwiZm9udC1zaXplLW1pblwiKSwgbWFwLWdldCgkaDEsIFwiZm9udC1zaXplLW1pblwiKSwgZmFsc2UpO1xuJGgxLXNjYWxlciAgICAgICAgOiBpZihtYXAuaGFzLWtleSgkaDEsIFwic2NhbGVyXCIpLCBtYXAtZ2V0KCRoMSwgXCJzY2FsZXJcIiksICRzY2FsZXIpO1xuXG4kaDItZm9udC1zaXplICAgICA6IG1hcC1nZXQoJGgyLCAnZm9udC1zaXplJyk7XG4kaDItbGluZS1oZWlnaHQgICA6IG1hcC1nZXQoJGgyLCAnbGluZS1oZWlnaHQnKTtcbiRoMi1mb250LXNpemUtbWluIDogaWYobWFwLmhhcy1rZXkoJGgyLCBcImZvbnQtc2l6ZS1taW5cIiksIG1hcC1nZXQoJGgyLCBcImZvbnQtc2l6ZS1taW5cIiksIGZhbHNlKTtcbiRoMi1zY2FsZXIgICAgICAgIDogaWYobWFwLmhhcy1rZXkoJGgyLCBcInNjYWxlclwiKSwgbWFwLWdldCgkaDIsIFwic2NhbGVyXCIpLCAkc2NhbGVyKTtcblxuJGgzLWZvbnQtc2l6ZSAgICAgOiBtYXAtZ2V0KCRoMywgJ2ZvbnQtc2l6ZScpO1xuJGgzLWxpbmUtaGVpZ2h0ICAgOiBtYXAtZ2V0KCRoMywgJ2xpbmUtaGVpZ2h0Jyk7XG4kaDMtZm9udC1zaXplLW1pbiA6IGlmKG1hcC5oYXMta2V5KCRoMywgXCJmb250LXNpemUtbWluXCIpLCBtYXAtZ2V0KCRoMywgXCJmb250LXNpemUtbWluXCIpLCBmYWxzZSk7XG4kaDMtc2NhbGVyICAgICAgICA6IGlmKG1hcC5oYXMta2V5KCRoMywgXCJzY2FsZXJcIiksIG1hcC1nZXQoJGgzLCBcInNjYWxlclwiKSwgJHNjYWxlcik7XG5cbiRoNC1mb250LXNpemUgICAgIDogbWFwLWdldCgkaDQsICdmb250LXNpemUnKTtcbiRoNC1saW5lLWhlaWdodCAgIDogbWFwLWdldCgkaDQsICdsaW5lLWhlaWdodCcpO1xuJGg0LWZvbnQtc2l6ZS1taW4gOiBpZihtYXAuaGFzLWtleSgkaDQsIFwiZm9udC1zaXplLW1pblwiKSwgbWFwLWdldCgkaDQsIFwiZm9udC1zaXplLW1pblwiKSwgZmFsc2UpO1xuJGg0LXNjYWxlciAgICAgICAgOiBpZihtYXAuaGFzLWtleSgkaDQsIFwic2NhbGVyXCIpLCBtYXAtZ2V0KCRoNCwgXCJzY2FsZXJcIiksICRzY2FsZXIpO1xuXG4kaDUtZm9udC1zaXplICAgICA6IG1hcC1nZXQoJGg1LCAnZm9udC1zaXplJyk7XG4kaDUtbGluZS1oZWlnaHQgICA6IG1hcC1nZXQoJGg1LCAnbGluZS1oZWlnaHQnKTtcbiRoNS1mb250LXNpemUtbWluIDogaWYobWFwLmhhcy1rZXkoJGg1LCBcImZvbnQtc2l6ZS1taW5cIiksIG1hcC1nZXQoJGg1LCBcImZvbnQtc2l6ZS1taW5cIiksIGZhbHNlKTtcbiRoNS1zY2FsZXIgICAgICAgIDogaWYobWFwLmhhcy1rZXkoJGg1LCBcInNjYWxlclwiKSwgbWFwLWdldCgkaDUsIFwic2NhbGVyXCIpLCAkc2NhbGVyKTtcblxuJGg2LWZvbnQtc2l6ZSAgICAgOiBtYXAtZ2V0KCRoNiwgJ2ZvbnQtc2l6ZScpO1xuJGg2LWxpbmUtaGVpZ2h0ICAgOiBtYXAtZ2V0KCRoNiwgJ2xpbmUtaGVpZ2h0Jyk7XG4kaDYtZm9udC1zaXplLW1pbiA6IGlmKG1hcC5oYXMta2V5KCRoNiwgXCJmb250LXNpemUtbWluXCIpLCBtYXAtZ2V0KCRoNiwgXCJmb250LXNpemUtbWluXCIpLCBmYWxzZSk7XG4kaDYtc2NhbGVyICAgICAgICA6IGlmKG1hcC5oYXMta2V5KCRoNiwgXCJzY2FsZXJcIiksIG1hcC1nZXQoJGg2LCBcInNjYWxlclwiKSwgJHNjYWxlcik7XG5cbi8vIEhhbmRsZXMgQ3JvcHMgc2hvdWxkIHRoZXkgbm90IGhhdmUgYmVlbiBwYXNzZWQgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbiRfaDEtY3JvcC10b3AgICAgOiBpZihtYXAuaGFzLWtleSgkaDEsIFwiY3JvcC10b3BcIiksIG1hcC1nZXQoJGgxLCBcImNyb3AtdG9wXCIpLCBmYWxzZSk7XG4kX2gyLWNyb3AtdG9wICAgIDogaWYobWFwLmhhcy1rZXkoJGgyLCBcImNyb3AtdG9wXCIpLCBtYXAtZ2V0KCRoMiwgXCJjcm9wLXRvcFwiKSwgZmFsc2UpO1xuJF9oMy1jcm9wLXRvcCAgICA6IGlmKG1hcC5oYXMta2V5KCRoMywgXCJjcm9wLXRvcFwiKSwgbWFwLWdldCgkaDMsIFwiY3JvcC10b3BcIiksIGZhbHNlKTtcbiRfaDQtY3JvcC10b3AgICAgOiBpZihtYXAuaGFzLWtleSgkaDQsIFwiY3JvcC10b3BcIiksIG1hcC1nZXQoJGg0LCBcImNyb3AtdG9wXCIpLCBmYWxzZSk7XG4kX2g1LWNyb3AtdG9wICAgIDogaWYobWFwLmhhcy1rZXkoJGg1LCBcImNyb3AtdG9wXCIpLCBtYXAtZ2V0KCRoNSwgXCJjcm9wLXRvcFwiKSwgZmFsc2UpO1xuJF9oNi1jcm9wLXRvcCAgICA6IGlmKG1hcC5oYXMta2V5KCRoNiwgXCJjcm9wLXRvcFwiKSwgbWFwLWdldCgkaDYsIFwiY3JvcC10b3BcIiksIGZhbHNlKTtcblxuJF9oMS1jcm9wLWJvdHRvbSA6IGlmKG1hcC5oYXMta2V5KCRoMSwgXCJjcm9wLWJvdHRvbVwiKSwgbWFwLWdldCgkaDEsIFwiY3JvcC1ib3R0b21cIiksIGZhbHNlKTtcbiRfaDItY3JvcC1ib3R0b20gOiBpZihtYXAuaGFzLWtleSgkaDIsIFwiY3JvcC1ib3R0b21cIiksIG1hcC1nZXQoJGgyLCBcImNyb3AtYm90dG9tXCIpLCBmYWxzZSk7XG4kX2gzLWNyb3AtYm90dG9tIDogaWYobWFwLmhhcy1rZXkoJGgzLCBcImNyb3AtYm90dG9tXCIpLCBtYXAtZ2V0KCRoMywgXCJjcm9wLWJvdHRvbVwiKSwgZmFsc2UpO1xuJF9oNC1jcm9wLWJvdHRvbSA6IGlmKG1hcC5oYXMta2V5KCRoNCwgXCJjcm9wLWJvdHRvbVwiKSwgbWFwLWdldCgkaDQsIFwiY3JvcC1ib3R0b21cIiksIGZhbHNlKTtcbiRfaDUtY3JvcC1ib3R0b20gOiBpZihtYXAuaGFzLWtleSgkaDUsIFwiY3JvcC1ib3R0b21cIiksIG1hcC1nZXQoJGg1LCBcImNyb3AtYm90dG9tXCIpLCBmYWxzZSk7XG4kX2g2LWNyb3AtYm90dG9tIDogaWYobWFwLmhhcy1rZXkoJGg2LCBcImNyb3AtYm90dG9tXCIpLCBtYXAtZ2V0KCRoNiwgXCJjcm9wLWJvdHRvbVwiKSwgZmFsc2UpO1xuXG5cbi8vIE1peGlucyBmb3IgZWFjaCBoZWFkaW5nIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbkBtaXhpbiBfc2V0LWNyb3AoJGZvbnQtc2l6ZSwgJGxpbmUtaGVpZ2h0LCAkY3JvcCkge1xuXG4gIEBpZiAobWV0YS50eXBlLW9mKCRjcm9wKSA9PSAnbWFwJykge1xuXG4gICAgJGZvbnQtc2l6ZSAgIDogdW5pdC5zdHJpcCgkZm9udC1zaXplKSAqIDEwO1xuICAgICRsaW5lLWhlaWdodCA6IHVuaXQuc3RyaXAoJGxpbmUtaGVpZ2h0KTtcbiAgICAkdG9wICAgICAgICAgOiBpZihtYXAuaGFzLWtleSgkY3JvcCwgXCJ0b3BcIiksIHVuaXQuc3RyaXAobWFwLmdldCgkY3JvcCwgXCJ0b3BcIikpLCAwKTtcbiAgICAkYm90dG9tICAgICAgOiBpZihtYXAuaGFzLWtleSgkY3JvcCwgXCJib3R0b21cIiksIHVuaXQuc3RyaXAobWFwLmdldCgkY3JvcCwgXCJib3R0b21cIikpLCAwKTtcblxuICAgIEBpbmNsdWRlIGZvbnQuY3JvcCgkZm9udC1zaXplLCAkbGluZS1oZWlnaHQsICR0b3AsICRib3R0b20pO1xuXG4gIH1cblxufVxuXG5AbWl4aW4gaDEoJGZvbnQtc2l6ZS1vbmx5IDogZmFsc2UsICRjcm9wIDogJGVuYWJsZS1jcm9wcGluZykge1xuXG4gIGZvbnQtc2l6ZSA6IGZvbnQuc2l6ZSgkaDEtZm9udC1zaXplKTtcblxuICBAaWYgKCAkaDEtZm9udC1zaXplLW1pbiBhbmQgJGgxLWZvbnQtc2l6ZS1taW4gPCAkaDEtZm9udC1zaXplICkge1xuICAgIGZvbnQtc2l6ZSA6IGNsYW1wKCN7Zm9udC5zaXplKCRoMS1mb250LXNpemUtbWluKX0sICN7JGgxLXNjYWxlcn0sICN7Zm9udC5zaXplKCRoMS1mb250LXNpemUpfSk7XG4gIH1cblxuICBAaWYgbm90ICRmb250LXNpemUtb25seSB7IFxuXG4gICAgQGlmICggJGNyb3AgKSB7IFxuICAgICAgQGluY2x1ZGUgZm9udC5jcm9wKCRoMS1mb250LXNpemUsICRoMS1saW5lLWhlaWdodCwgJF9oMS1jcm9wLXRvcCwgJF9oMS1jcm9wLWJvdHRvbSApOyBcbiAgICB9IEBlbHNlIHtcbiAgICAgIGxpbmUtaGVpZ2h0IDogJGgxLWxpbmUtaGVpZ2h0OyBcbiAgICB9XG5cbiAgfVxuXG59XG5cbkBtaXhpbiBoMigkZm9udC1zaXplLW9ubHkgOiBmYWxzZSwgJGNyb3AgOiAkZW5hYmxlLWNyb3BwaW5nKSB7XG5cbiAgZm9udC1zaXplIDogZm9udC5zaXplKCRoMi1mb250LXNpemUpO1xuXG4gIEBpZiAoICRoMi1mb250LXNpemUtbWluIGFuZCAkaDItZm9udC1zaXplLW1pbiA8ICRoMi1mb250LXNpemUgKSB7XG4gICAgZm9udC1zaXplIDogY2xhbXAoI3tmb250LnNpemUoJGgyLWZvbnQtc2l6ZS1taW4pfSwgI3skaDItc2NhbGVyfSwgI3tmb250LnNpemUoJGgyLWZvbnQtc2l6ZSl9KTtcbiAgfVxuXG4gIEBpZiBub3QgJGZvbnQtc2l6ZS1vbmx5IHsgXG5cbiAgICBAaWYgKCAkY3JvcCApIHsgXG4gICAgICBAaW5jbHVkZSBmb250LmNyb3AoJGgyLWZvbnQtc2l6ZSwgJGgyLWxpbmUtaGVpZ2h0LCAkX2gyLWNyb3AtdG9wLCAkX2gyLWNyb3AtYm90dG9tICk7IFxuICAgIH0gQGVsc2Uge1xuICAgICAgbGluZS1oZWlnaHQgOiAkaDItbGluZS1oZWlnaHQ7IFxuICAgIH1cbiAgICBcbiAgfVxuXG59XG5cbkBtaXhpbiBoMygkZm9udC1zaXplLW9ubHkgOiBmYWxzZSwgJGNyb3AgOiAkZW5hYmxlLWNyb3BwaW5nKSB7XG5cbiAgZm9udC1zaXplIDogZm9udC5zaXplKCRoMy1mb250LXNpemUpO1xuXG4gIEBpZiAoICRoMy1mb250LXNpemUtbWluIGFuZCAkaDMtZm9udC1zaXplLW1pbiA8ICRoMy1mb250LXNpemUgKSB7XG4gICAgZm9udC1zaXplIDogY2xhbXAoI3tmb250LnNpemUoJGgzLWZvbnQtc2l6ZS1taW4pfSwgI3skaDMtc2NhbGVyfSwgI3tmb250LnNpemUoJGgzLWZvbnQtc2l6ZSl9KTtcbiAgfVxuXG4gIEBpZiBub3QgJGZvbnQtc2l6ZS1vbmx5IHsgXG5cbiAgICBAaWYgKCAkY3JvcCApIHsgXG4gICAgICBAaW5jbHVkZSBmb250LmNyb3AoJGgzLWZvbnQtc2l6ZSwgJGgzLWxpbmUtaGVpZ2h0LCAkX2gzLWNyb3AtdG9wLCAkX2gzLWNyb3AtYm90dG9tICk7IFxuICAgIH0gQGVsc2Uge1xuICAgICAgbGluZS1oZWlnaHQgOiAkaDMtbGluZS1oZWlnaHQ7IFxuICAgIH1cbiAgICBcbiAgfVxuXG59XG5cbkBtaXhpbiBoNCgkZm9udC1zaXplLW9ubHkgOiBmYWxzZSwgJGNyb3AgOiAkZW5hYmxlLWNyb3BwaW5nKSB7XG5cbiAgZm9udC1zaXplIDogZm9udC5zaXplKCRoNC1mb250LXNpemUpO1xuXG4gIEBpZiAoICRoNC1mb250LXNpemUtbWluIGFuZCAkaDQtZm9udC1zaXplLW1pbiA8ICRoNC1mb250LXNpemUgKSB7XG4gICAgZm9udC1zaXplIDogY2xhbXAoI3tmb250LnNpemUoJGg0LWZvbnQtc2l6ZS1taW4pfSwgI3skaDQtc2NhbGVyfSwgI3tmb250LnNpemUoJGg0LWZvbnQtc2l6ZSl9KTtcbiAgfVxuXG4gIEBpZiBub3QgJGZvbnQtc2l6ZS1vbmx5IHsgXG5cbiAgICBAaWYgKCAkY3JvcCApIHsgXG4gICAgICBAaW5jbHVkZSBmb250LmNyb3AoJGg0LWZvbnQtc2l6ZSwgJGg0LWxpbmUtaGVpZ2h0LCAkX2g0LWNyb3AtdG9wLCAkX2g0LWNyb3AtYm90dG9tICk7IFxuICAgIH0gQGVsc2Uge1xuICAgICAgbGluZS1oZWlnaHQgOiAkaDQtbGluZS1oZWlnaHQ7IFxuICAgIH1cbiAgICBcbiAgfVxuXG59XG5cbkBtaXhpbiBoNSgkZm9udC1zaXplLW9ubHkgOiBmYWxzZSwgJGNyb3AgOiAkZW5hYmxlLWNyb3BwaW5nKSB7XG5cbiAgZm9udC1zaXplIDogZm9udC5zaXplKCRoNS1mb250LXNpemUpO1xuXG4gIEBpZiAoICRoNS1mb250LXNpemUtbWluIGFuZCAkaDUtZm9udC1zaXplLW1pbiA8ICRoNS1mb250LXNpemUgKSB7XG4gICAgZm9udC1zaXplIDogY2xhbXAoI3tmb250LnNpemUoJGg1LWZvbnQtc2l6ZS1taW4pfSwgI3skaDUtc2NhbGVyfSwgI3tmb250LnNpemUoJGg1LWZvbnQtc2l6ZSl9KTtcbiAgfVxuXG4gIEBpZiBub3QgJGZvbnQtc2l6ZS1vbmx5IHsgXG5cbiAgICBAaWYgKCAkY3JvcCApIHsgXG4gICAgICBAaW5jbHVkZSBmb250LmNyb3AoJGg1LWZvbnQtc2l6ZSwgJGg1LWxpbmUtaGVpZ2h0LCAkX2g1LWNyb3AtdG9wLCAkX2g1LWNyb3AtYm90dG9tICk7IFxuICAgIH0gQGVsc2Uge1xuICAgICAgbGluZS1oZWlnaHQgOiAkaDUtbGluZS1oZWlnaHQ7IFxuICAgIH1cbiAgICBcbiAgfVxuXG59XG5cbkBtaXhpbiBoNigkZm9udC1zaXplLW9ubHkgOiBmYWxzZSwgJGNyb3AgOiAkZW5hYmxlLWNyb3BwaW5nKSB7XG5cbiAgZm9udC1zaXplIDogZm9udC5zaXplKCRoNi1mb250LXNpemUpO1xuXG4gIEBpZiAoICRoNi1mb250LXNpemUtbWluIGFuZCAkaDYtZm9udC1zaXplLW1pbiA8ICRoNi1mb250LXNpemUgKSB7XG4gICAgZm9udC1zaXplIDogY2xhbXAoI3tmb250LnNpemUoJGg2LWZvbnQtc2l6ZS1taW4pfSwgI3skaDYtc2NhbGVyfSwgI3tmb250LnNpemUoJGg2LWZvbnQtc2l6ZSl9KTtcbiAgfVxuXG4gIEBpZiBub3QgJGZvbnQtc2l6ZS1vbmx5IHsgXG5cbiAgICBAaWYgKCAkY3JvcCApIHsgXG4gICAgICBAaW5jbHVkZSBmb250LmNyb3AyKCRoNi1mb250LXNpemUsICRoNi1saW5lLWhlaWdodCwgJF9oNi1jcm9wLXRvcCwgJF9oNi1jcm9wLWJvdHRvbSApOyBcbiAgICB9IEBlbHNlIHtcbiAgICAgIGxpbmUtaGVpZ2h0IDogJGg2LWxpbmUtaGVpZ2h0OyBcbiAgICB9XG4gICAgXG4gIH1cblxufVxuXG5cbiIsIi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG4vLyBDb2xvdXJzXG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuXG4vLy8gRXhwbGljaXQgQ29sb3VycyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuLy8vIEV4cGxpY2l0IGNvbG91cnMgYXJlIGEgd2hhdCB0aGV5IGFyZS4gR3JlZW4gaXMgZ3JlZW4sIGJsdWUgaXMgYmx1ZS4uLiBubyBvYnNjdXJpdHkuXG4vLy8gV2Ugc3VmZml4IG51bWJlcnMgdG8gZGVmaW5lIHZhcmlhdGlvbnMgb2YgY29sb3VycyBpbiBubyBwYXJ0aWN1bGFyIG9yZGVyIG9mIHNoYWRlLiBcbi8vLyBFeGFtcGxlOiBncmVlbjEsIGdyZWVuMiwgZ3JlZW4zLCBncmVlbjQuIFRoaXMgaXMgc28gd2UgY2FuIGltbWlkaWF0ZWx5IHNlZSBob3cgXG4vLy8gbWFueSBvcHRpb25zIHdlIGhhdmUgZm9yIGEgc2luZ2xlIGNvbG91ciBhdCBhIGdsYW5jZS4gSWYgeW91IHNlZSAkZ3JlZW40LCB5b3Uga25vdyB0aGlzXG4vLy8gcHJvamVjdCBpcyB1c2luZyBmb3VyIHZhcmlhdGlvbnMgb2YgZ3JlZW4uIFRoaXMgaXMgYWxzbyBvZnRlbiB1c2VmdWwgYmVjYXVzZSBtYW55IGRldmVsb3BtZW50IFxuLy8vIHRvb2xzIHdpbGwgYXV0by1zdWdnZXN0IGNvbG91cnMgd2l0aCBhY3R1YWwgZXhhbXBsZXMgb2YgdGhlIGNvbG91ci4gXG4vLy8gVGhlIFBhbGxldGVzIG1vZHVsZSAoYXQgdGhlIGJvdHRvbSBvZiB0aGlzIGZpbGUpIHdpbGwgb3V0cHV0IHNoYWRlZCBuYW1lZCB2YXJpYXRpb25zLCBcbi8vLy8gPGNvbG91cj4tZGFyayBhbmQgPGNvbG91cj4tbGlnaHQuIElmIHlvdSBuZWVkIGFkZGl0aW9uYWwgc2hhZGVzIHBsZWFzZSByZWZyYWltIGZyb20gZ29pbmcgZG93biBcbi8vLyB0aGUgJ2xpZ2h0ZXInLCAnbGlnaHRlc3QnLCAnZGFya2VyJywgJ2Rhcmtlc3QnIGNvbnZlbnRpb24uIFRoZXNlIGFyZSBub3QgcGFydGljdWFybHkgbGVnaWFibGUgXG4vLy8gYW5kIHRoZXkgYXJlIGxpbWl0ZWQgYnkgaG93IGNyZWF0aXZlIChjb25mdXNpbmcpIHlvdXIgd29yZGluZyBjYW4gYmUuIFxuLy8vIEl0IGlzIGJldHRlciB0byBkZWZpbmUgYSBuZXcgZXhwbGNpdCBjb2xvdXIgZW50aXJlbHkuIFxuLy8vIEBzZWUgaHR0cHM6Ly9jc3MtdHJpY2tzLmNvbS93aGF0LWRvLXlvdS1uYW1lLWNvbG9yLXZhcmlhYmxlcy9cblxuJGJsdWUgICAgICAgICAgICAgOiAjMTMxZjZiOyAvLyBQcmltYXJ5XG4kYmx1ZTIgICAgICAgICAgICA6ICMyOTJCNjg7IC8vIE5ha2VkIExpbmtcbiRibHVlMyAgICAgICAgICAgIDogIzNkM2Y3ZjsgLy8gTGlnbnQgR3JhZGllbnRcbiRibHVlNCAgICAgICAgICAgIDogIzEwMTI0ZDsgLy8gRGFyayBHcmFkaWVudFxuJGJsdWU1ICAgICAgICAgICAgOiAjMDA5NUZGOyAvLyBOYXZpZ2F0aW9uIGxpbmsgaG92ZXIgXG5cbiRyZWQgICAgICAgICAgICAgIDogI0RGMzAzNTsgLy8gU2Vjb25kYXJ5IC0gVGhpcyBwYXNzZXMgdGhlIGNvbnRyYXN0IHJhdGlvIGFjY2Vzc2liaWxpdHkgdGVzdCBpbiBHb29nbGVzIExpZ2h0aG91c2UgXG5cbiRncmV5ICAgICAgICAgICAgIDogIzk2OTY5NTtcbiRncmV5MiAgICAgICAgICAgIDogIzZBNkE2QTsgLy8gRm9udFxuJGdyZXkzICAgICAgICAgICAgOiAjRjRGNEY0OyAvLyBMaWdodGVyIEdyZXkgQmFja2dyb3VuZFxuJGdyZXk0ICAgICAgICAgICAgOiAjZGNkY2RjO1xuJGdyZXk1ICAgICAgICAgICAgOiAjQjFCMUIxOyAvLyBTcGFjZXJzIDxocj5cbiRncmV5NiAgICAgICAgICAgIDogIzMzMzIzNjsgLy8gTmF2aWdhdGlvbiBsaW5rIGhvdmVyICBcbiRncmV5NyAgICAgICAgICAgIDogI2U5ZTllOTtcbiRncmVlbiAgICAgICAgICAgIDogIzUwQkMwODtcbiR5ZWxsb3cgICAgICAgICAgIDogI0Y2RjREQjsgLy8gRGlzY2xhaW1lciBCYWNrZ3JvdW5kXG4keWVsbG93MiAgICAgICAgICA6ICNGQ0IwMDI7XG4kYmxhY2sgICAgICAgICAgICA6ICMxRTFBMUE7XG4kd2hpdGUgICAgICAgICAgICA6ICNGRkZGRkY7XG5cbiRvcmFuZ2UgICAgICAgICAgIDogI2VkNjIyNDtcblxuXG4kdHJhbnNwYXJlbnQgICAgICA6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMCk7XG4kbWFyayAgICAgICAgICAgICA6ICRibHVlNTsgLy8gYmFja2dyb3VuZCBjb2xvdXIgZm9yIDxtYXJrPiB0YWdzXG5cbiRkZWZhdWx0LWdyYWRpZW50IDogbGluZWFyLWdyYWRpZW50KHRvIGJvdHRvbSByaWdodCwgJGJsdWUgNSUsICRibGFjayA2NiUpO1xuJHJldmVyc2UtZ3JhZGllbnQgOiBsaW5lYXItZ3JhZGllbnQoMTIwZGVnLCAjMTAxMjRkIDAlLCAkYmx1ZSA4MCUpO1xuJGxpZ2h0LWdyYWRpZW50ICAgOiByYWRpYWwtZ3JhZGllbnQoY2lyY2xlIGF0IGJvdHRvbSwgIzEwMTI0ZCA1NSUsICMxNzI1ODIgMTAwJSk7XG5cblxuLy8vXG4kcHJpbWFyeTogJGJsdWU7XG4vLy9cblxuXG5cblxuLy8vIFRoZW1lcyAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuJHRoZW1lLWRlZmF1bHQtcGFnZS1iYWNrZ3JvdW5kICAgIDogJGRlZmF1bHQtZ3JhZGllbnQ7XG4kdGhlbWUtZGVmYXVsdC1jb250ZW50LWJhY2tncm91bmQgOiAkdHJhbnNwYXJlbnQ7XG4kdGhlbWUtZGVmYXVsdC1uYXYtYmFja2dyb3VuZCAgICAgOiAkdHJhbnNwYXJlbnQ7XG4kdGhlbWUtZGVmYXVsdC1uYXYtYmFja2dyb3VuZC1tb2IgOiAkd2hpdGU7XG4kdGhlbWUtZGVmYXVsdC1uYXYtZm9udCAgICAgICAgICAgOiAkd2hpdGU7XG4kdGhlbWUtZGVmYXVsdC1uYXYtZm9udC1tb2IgICAgICAgOiAkYmx1ZTtcbiR0aGVtZS1kZWZhdWx0LW5hdi1zcGFjaW5nLWNvbG91ciA6IHJnYmEoJGJsdWUsIDAuMyk7XG4kdGhlbWUtZGVmYXVsdC1mb250ICAgICAgICAgICAgICAgOiAkd2hpdGU7XG4kdGhlbWUtZGVmYXVsdC1oZWFkaW5nICAgICAgICAgICAgOiAkd2hpdGU7XG4kdGhlbWUtZGVmYXVsdC1hY2NlbnRcdFx0XHRcdFx0ICAgIDogJHJlZDtcbiR0aGVtZS1kZWZhdWx0LWxvZ28gICAgICAgICAgICAgICA6ICR3aGl0ZTtcblxuJHRoZW1lLXdoaXRlLXBhZ2UtYmFja2dyb3VuZCAgICAgIDogJGxpZ2h0LWdyYWRpZW50O1xuJHRoZW1lLXdoaXRlLWNvbnRlbnQtYmFja2dyb3VuZCAgIDogI2Y4ZjhmODtcbiR0aGVtZS13aGl0ZS1uYXYtYmFja2dyb3VuZCAgICAgICA6ICR0cmFuc3BhcmVudDtcbiR0aGVtZS13aGl0ZS1uYXYtYmFja2dyb3VuZC1tb2IgICA6ICRibHVlO1xuJHRoZW1lLXdoaXRlLW5hdi1mb250ICAgICAgICAgICAgIDogJHdoaXRlO1xuJHRoZW1lLXdoaXRlLW5hdi1mb250LW1vYiAgICAgICAgIDogJHdoaXRlO1xuJHRoZW1lLXdoaXRlLW5hdi1zcGFjaW5nLWNvbG91ciAgIDogcmdiYSgkd2hpdGUsIDAuMyk7XG4kdGhlbWUtd2hpdGUtZm9udCAgICAgICAgICAgICAgICAgOiAkYmxhY2s7XG4kdGhlbWUtd2hpdGUtaGVhZGluZyAgICAgICAgICAgICAgOiAkYmx1ZTtcbiR0aGVtZS13aGl0ZS1hY2NlbnRcdFx0XHRcdFx0ICAgICAgOiAkdGhlbWUtZGVmYXVsdC1hY2NlbnQ7XG4kdGhlbWUtd2hpdGUtbG9nbyAgICAgICAgICAgICAgICAgOiAkd2hpdGU7XG5cbiR0aGVtZS1ibGFjay1wYWdlLWJhY2tncm91bmQgICAgICA6ICRkZWZhdWx0LWdyYWRpZW50O1xuJHRoZW1lLWJsYWNrLWNvbnRlbnQtYmFja2dyb3VuZCAgIDogJGJsYWNrO1xuJHRoZW1lLWJsYWNrLW5hdi1iYWNrZ3JvdW5kICAgICAgIDogJHdoaXRlO1xuJHRoZW1lLWJsYWNrLW5hdi1iYWNrZ3JvdW5kLW1vYiAgIDogJHdoaXRlO1xuJHRoZW1lLWJsYWNrLW5hdi1mb250ICAgICAgICAgICAgIDogJGJsdWU7XG4kdGhlbWUtYmxhY2stbmF2LWZvbnQtbW9iICAgICAgICAgOiAkYmx1ZTtcbiR0aGVtZS1ibGFjay1uYXYtc3BhY2luZy1jb2xvdXIgICA6IHJnYmEoJGJsdWUsIDAuMyk7XG4kdGhlbWUtYmxhY2stZm9udCAgICAgICAgICAgICAgICAgOiAkd2hpdGU7XG4kdGhlbWUtYmxhY2staGVhZGluZyAgICAgICAgICAgICAgOiAkd2hpdGU7XG4kdGhlbWUtYmxhY2stYWNjZW50XHRcdFx0XHRcdCAgICAgIDogJHRoZW1lLWRlZmF1bHQtYWNjZW50O1xuJHRoZW1lLWJsYWNrLWxvZ28gICAgICAgICAgICAgICAgIDogJGJsdWU7XG5cbi8vLyBQYWxldHRlID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4vLy8gQnkgbG9hZGluZyBjb25maWd1cmF0aW9ucyBpbnRvIHRoaXMgJ3BhbGxldGUnIG1vZHVsZSwgd2Ugd2lsbCBiZSBhYmxlXG4vLy8gdG8gZGVjbGFyZSB2YXJpYW50cyBvZiBhIGZldyBjb21tb24gY29sb3Vycy4gWW91IGNhbiBhbHNvIGFkanVzdCB0aGUgbGlnaHRuZXNzXG4vLy8gb3IgZGFya25lc3Mgb2YgZWFjaCB2YXJpYW50IGJ5IHBhc3NpbmcgaW4gdGhlIHJlbGV2YW50IHByaXZhdGUgcnVsZXMuIFxuLy8vIFBhbGV0dGUgd2lsbCBhbHNvIGV4cG9zZSBwb3B1bGFyIHNvY2lhbCBtZWRpYSBjb2xvdXJzIGFuZCB0aGUgWWVsbG8gYnJhbmQgY29sb3VyLlxuLy8vIEBzZWUgaHR0cHM6Ly9zYXNzLWxhbmcuY29tL2RvY3VtZW50YXRpb24vYXQtcnVsZXMvZm9yd2FyZCNjb25maWd1cmluZy1tb2R1bGVzXG4vLy8gQG91dHB1dCAkZ3JlZW4gOiAjMDI5MjlBOyAkZ3JlZW4tZGFyayA6ICMyNTY1Njk7ICRncmVlbi1saWdodDogIzA0YjljNDtcblxuQGZvcndhcmQgJ2NyZWF0ZS9wYWxldHRlJ3dpdGggKCRibHVlIDogJGJsdWUsXG5cdCRyZWQgOiAkcmVkLFxuXHQkZ3JleSA6ICRncmV5LFxuXHQkeWVsbG93IDogJHllbGxvdyxcblx0JGdyZWVuIDogJGdyZWVuLFxuXHQkYmxhY2sgOiAkYmxhY2spO1xuXG4kY29tcG9uZW50LXRoZW1lcyA6IChcInJlZFwiOiAkcmVkLCBcImJsdWVcIjogJGJsdWUsIFwiZ3JleVwiOiAkZ3JleTMsIFwid2hpdGVcIiA6ICR3aGl0ZSk7IiwiLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cbi8vLyBIb3ZlciAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgI2hvdmVyXG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuXG5AbWl4aW4gaG92ZXIoJHNlbGVjdG9yIDogbnVsbCkge1xuICBAbWVkaWEgKCBob3ZlciA6IGhvdmVyICkge1xuICAgICY6aG92ZXIge1xuICAgICAgQGNvbnRlbnQ7XG4gICAgfVxuICB9XG5cbiAgQGlmICRzZWxlY3RvciB7XG4gICAgJiN7JHNlbGVjdG9yfSB7IFxuICAgICAgQGNvbnRlbnQ7XG4gICAgfVxuICB9XG5cbn0iLCIvLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuLy8gVW5pdHNcbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG5cbkB1c2UgXCJzYXNzOm1hdGhcIjtcbkB1c2UgJ3Nhc3M6c3RyaW5nJztcbkB1c2UgJ3Nhc3M6bWV0YSc7XG5cbi8vIFRoaXMgdW5pdHMgY3JlYXRvciB3aWxsIHJlbmRlciBzaXggcG9zaXRpdmUgYW5kIHNpeCBuZWdhdGl2ZSBzYXNzIHZhcmlhYmxlcyBmb3IgXG4vLyBnYXBzLCBzcGFjZXJzLCBhbmQgZ3V0dGVycyByZWxhdGl2ZSB0byB0aGUgYmFzZXYgdmFsdWVzIGRlZmluZWQgYmVsb3cuXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuLy8gQmFzZSBWYWx1ZXMgXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4vLy8gQHNlZSBodHRwczovL2NvZGVwZW4uaW8vbWFya25vdHRvbi9wZW4vRXhQYk5HZVxuXG4vLyBUaGVzZSB0aHJlZSB2YWx1ZXMgd2lsbCBhY3QgYSBjb25zdGFudCBiYXNlbGluZSBmb3IgYWxsIGZvbGxvd2luZyB1bml0IGRlbGNhcmF0aW9ucy5cblxuLy8gR2FwcyBtdXN0IHVzZSBhbiBhYnNvbHV0ZSBhbmQgc3RhdGljICdweCcgdW5pdC4gSXQgc2hvdWxkIG5vdCBiZSByZWxhdGl2ZSB0byBhbnlcbi8vIHBhcmVudCBjb250YWluZXIgYW5kIGlzIG5vdCBpbnRlbmRlZCBmb3IgZm9udCBzaXplcywgc28geW91IHNob3VsZCBub3QgdXNlICdyZW0nIG9yICdlbScuIFxuJGdhcCA6IDE2cHggIWRlZmF1bHQ7XG4kYmFzZS1nYXAgOiAkZ2FwO1xuXG4vLyBTcGFjZXJzIG11c3QgdXNlIGEgJ3ZoJyB1bml0IHNvIHRoZXkgYXJlIHJlbGF0aXZlIHRvIHRoZSB1c2VycyB2aWV3cG9ydCBoZWlnaHQtd2lzZS5cbi8vIFRoZXkgc2hvdWxkIHByaW1hcmlseSBiZSB1c2VkIGZvciB0aGUgdG9wIGFuZCBib3R0b20gbWFyZ2lucyBvbiBhIGNvbXBvbmVudCBsZXZlbC5cbiRzcGFjZXIgOiA0dmggIWRlZmF1bHQ7IFxuJGJhc2Utc3BhY2VyIDogJHNwYWNlcjsgXG5cbi8vIEd1dHRlcnMgbXVzdCB1c2UgYSAndncnIHVuaXQgc28gdGhleSBhcmUgcmVsYXRpdmUgdG8gdGhlIHVzZXJzIHZpZXdwb3J0IHdpZHRoLXdpc2UuIFxuLy8gVGhleSBzaG91bGQgcHJpbWFyaWx5IGJlIHVzZWQgZm9yIHRoZSBsZWZ0IGFuZCByaWdodCBwYWRkaW5nIG9yIG1hcmdpbiBvbiBhIHBhcmVudCBsZXZlbC5cbi8vIEFzIGEgc3VnZ2VzdGlvbiwgdGhpcyBndXR0ZXIgY29uc3RhbnQgc2hvdWxkIGJlIGhhbGYgdGhlIHNpemUgb2YgdGhlIHNwYWNlciB2YWx1ZS5cbiRndXR0ZXIgOiAzdncgIWRlZmF1bHQ7XG4kYmFzZS1ndXR0ZXIgOiAkZ3V0dGVyOyBcblxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbi8vIEFzYm9sdXRlIFVuaXRzIFxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuLy8gR2FwcyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbi8vIEdhcHMgYXJlIGFuIGFic29sdXRlIHVuaXQgKHB4KSBpbnRlbmRlZCB0byBiZSB1c2VkIG9uIGluZGl2aWR1YWwgZWxlbWVudHMgd2l0aGluIGEgY29tcG9uZW50ZWQuIFxuLy8gVGhlIGFpbSBpcyB0byByZXRhaW4gY29uc2lzdGFudCBzcGFjaW5nIGFtb25nc3QgYmxvY2ssIGlubGluZSwgdGFibGUgYW5kIGdyb3VwIGh0bWwgZWxlbWVudHMuXG5cbkBmdW5jdGlvbiBnYXAoJGFtb3VudCA6IDEpIHtcbiAgQGlmICggJGFtb3VudCA9PSAxICkgeyBcbiAgICBAcmV0dXJuIHZhcigtLWdhcCk7IFxuICB9IEBlbHNlIHsgXG4gICAgQHJldHVybiBjYWxjKHZhcigtLWdhcCkgKiAjeyRhbW91bnR9KTsgXG4gIH1cbn1cblxuJGdhcDAgOiBnYXAoMC41KTsgJGdhcDAtIDogZ2FwKC0wLjUpO1xuJGdhcCAgOiBnYXAoMSk7ICAgJGdhcC0gIDogZ2FwKC0xKTtcbiRnYXAyIDogZ2FwKDIpOyAgICRnYXAyLSA6IGdhcCgtMik7XG4kZ2FwMyA6IGdhcCgzKTsgICAkZ2FwMy0gOiBnYXAoLTMpO1xuJGdhcDQgOiBnYXAoNCk7ICAgJGdhcDQtIDogZ2FwKC00KTtcbiRnYXA1IDogZ2FwKDUpOyAgICRnYXA1LSA6IGdhcCgtNSk7XG4kZ2FwNiA6IGdhcCg2KTsgICAkZ2FwNi0gOiBnYXAoLTYpO1xuXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuLy8gUmVsYXRpdmUgVW5pdHMgXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG5AZnVuY3Rpb24gX2R5bmFtaWMtdW5pdCgkY3VzdG9tLXByb3BlcnR5LCAkYW1vdW50LCAkbWluLCAkbWF4LCAkdXNlLW5lZ2F0aXZlIDogZmFsc2UsICR1c2UtY2xhbXAgOiB0cnVlKSB7XG5cbiAgLy8gQ2FsYyBNZXRob2RcbiAgJHJlc3VsdCA6IGNhbGMoKCN7JGN1c3RvbS1wcm9wZXJ0eX0gKiAjeyRhbW91bnR9KSArICN7aWYoJG1pbiA9PSAwLCAwcHgsICRtaW4pfSk7XG4gIFxuICAvLyBDbGFtcCBNZXRob2RcbiAgQGlmICggJHVzZS1jbGFtcCApIHtcbiAgICBAaWYgKCAkYW1vdW50ID09IDAgKSB7XG4gICAgICAkcmVzdWx0IDogY2xhbXAoI3ttYXRoLmRpdigkbWluLCAyKX0sICN7JGN1c3RvbS1wcm9wZXJ0eX0gKiAwLjUsICN7JG1heH0pO1xuICAgIH0gQGVsc2UgaWYgKCAkYW1vdW50ID09IDEgKSB7XG4gICAgICAkcmVzdWx0IDogY2xhbXAoI3skbWlufSwgI3skY3VzdG9tLXByb3BlcnR5fSwgI3skbWF4fSk7XG4gICAgfSBAZWxzZSB7XG4gICAgICAkcmVzdWx0IDogY2xhbXAoI3skbWlufSwgI3skY3VzdG9tLXByb3BlcnR5fSAqICN7JGFtb3VudH0sICN7JG1heH0pO1xuICAgIH1cbiAgfSBcblxuICBAaWYgKCAkdXNlLW5lZ2F0aXZlICkge1xuICAgICRyZXN1bHQgOiBjYWxjKC0xICogI3skcmVzdWx0fSk7XG4gIH1cblxuICBAcmV0dXJuICRyZXN1bHQ7XG5cbn0gXG5cbi8vIFNwYWNlcnMgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4vLyBTcGFjZXJzIGFyZSBhIHJlbGF0aXZlIHZpZXdwb3J0IGhlaWdodCAodmgpIHVuaXQgaW50ZW5kZWQgdG8gYmUgdXNlZCBvbiBhIGNvbXBvbmVudGVkIGxldmVsLlxuLy8gVGhlIGFpbSBpcyB0byByZXRhaW4gY29uc2lzdGFudCB0b3AgYW5kIGJvdHRvbSBzcGFjaW5nIGFtb25nc3QgJ3NlY3Rpb24nIGFuZCAnY3VzdG9tJyBlbGVtZW50cy5cbi8vIFNwYWNlcnMgd2lsbCBlcXVhdGUgdG8gc29tZXRoaW5nIGxpa2U6IGAoJHNwYWNlciAqIHgpICsgJGdhcGAuIFxuLy8gVGhlICckZ2FwJyBpcyBhZGRlZCBzbyB0aGF0IHZoIHNwYWNpbmcgd2lsbCBuZXZlciBzY2FsZSB0b28gY2xvc2UgdG8gMHB4LiBcblxuQGZ1bmN0aW9uIHNwYWNlcigkYW1vdW50IDogMSwgJG1pbiA6ICRiYXNlLWdhcCwgJG1heCA6IG51bGwsICR1c2UtbmVnYXRpdmUgOiBmYWxzZSwgJHVzZS1jbGFtcCA6IHRydWUpIHtcbiAgQGlmICggJGFtb3VudCA9PSAwKSB7ICRhbW91bnQgOiAwLjU7ICRtaW4gOiBtYXRoLmRpdigkbWluLCAyKTsgfVxuICBAaWYgKCBtZXRhLnR5cGUtb2YoJG1heCkgPT0gJ251bGwnICkgeyBcbiAgICBAaWYgKCBtZXRhLnR5cGUtb2YoJG1pbikgPT0gJ3N0cmluZycgYW5kIHN0cmluZy5pbmRleCgkbWluLCAndmFyJykgKSB7XG4gICAgICAkbWF4IDogY2FsYygjeyRtaW59ICogI3skYW1vdW50ICsgMX0pOyBcbiAgICB9IEBlbHNlIHtcbiAgICAgICRtYXggOiAjeyRtaW4gKiAoJGFtb3VudCArIDEpfTsgXG4gICAgfVxuICB9XG4gIEByZXR1cm4gX2R5bmFtaWMtdW5pdCh2YXIoLS1zcGFjZXIpLCAkYW1vdW50LCAkbWluLCAkbWF4LCAkdXNlLW5lZ2F0aXZlLCAkdXNlLWNsYW1wKTtcbn1cblxuJHNwYWNlcjAgOiB2YXIoLS1zcGFjZXIwKTsgJHNwYWNlcjAtIDogdmFyKC0tc3BhY2VyMC0pO1xuJHNwYWNlciAgOiB2YXIoLS1zcGFjZXIxKTsgJHNwYWNlci0gIDogdmFyKC0tc3BhY2VyMS0pO1xuJHNwYWNlcjIgOiB2YXIoLS1zcGFjZXIyKTsgJHNwYWNlcjItIDogdmFyKC0tc3BhY2VyMi0pO1xuJHNwYWNlcjMgOiB2YXIoLS1zcGFjZXIzKTsgJHNwYWNlcjMtIDogdmFyKC0tc3BhY2VyMy0pO1xuJHNwYWNlcjQgOiB2YXIoLS1zcGFjZXI0KTsgJHNwYWNlcjQtIDogdmFyKC0tc3BhY2VyNC0pO1xuJHNwYWNlcjUgOiB2YXIoLS1zcGFjZXI1KTsgJHNwYWNlcjUtIDogdmFyKC0tc3BhY2VyNS0pO1xuJHNwYWNlcjYgOiB2YXIoLS1zcGFjZXI2KTsgJHNwYWNlcjYtIDogdmFyKC0tc3BhY2VyNi0pO1xuXG4vLyBHdXR0ZXJzIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuLy8gR3V0dGVycyBhcmUgYSByZWxhdGl2ZSB2aWV3cG9ydCB3aWR0aCAodncpIHVuaXQgaW50ZW5kZWQgdG8gYmUgdXNlZCBvbiBhIHBhcmVudCBsZXZlbDtcbi8vIGZvciBleGFtcGxlLCBhIHdyYXBwZXIgY29udGFpbmVyIG9yIGJvZHkgd2l0aCBuZXN0ZWQgY29tcG9uZW50cy4gXG4vLyBUaGUgYWltIGlzIHRvIHJldGFpbiBjb25zaXN0YW50IGxlZnQgYW5kIHJpZ2h0IHNwYWNpbmcgYW1vbmdzdCAnc2VjdGlvbicgYW5kICdjdXN0b20nIGVsZW1lbnRzLlxuLy8gR3V0dGVycyB3aWxsIGVxdWF0ZSB0byBzb21ldGhpbmcgbGlrZTogYCgkZ3V0dGVyICogeCkgKyAkZ2FwYC4gXG4vLyBUaGUgJyRnYXAnIGlzIGFkZGVkIHNvIHRoYXQgdncgc3BhY2luZyB3aWxsIG5ldmVyIHNjYWxlIHRvbyBjbG9zZSB0byAwcHguIFxuXG5AZnVuY3Rpb24gZ3V0dGVyKCRhbW91bnQgOiAxLCAkbWluIDogJGJhc2UtZ2FwLCAkbWF4IDogbnVsbCwgJHVzZS1uZWdhdGl2ZSA6IGZhbHNlLCAkdXNlLWNsYW1wIDogdHJ1ZSkge1xuICBAaWYgKCAkYW1vdW50ID09IDApIHsgJGFtb3VudCA6IDAuNTsgJG1pbiA6IG1hdGguZGl2KCRtaW4sIDIpOyB9XG4gIEBpZiAoIG1ldGEudHlwZS1vZigkbWF4KSA9PSAnbnVsbCcgKSB7IFxuICAgIEBpZiAoIG1ldGEudHlwZS1vZigkbWluKSA9PSAnc3RyaW5nJyBhbmQgc3RyaW5nLmluZGV4KCRtaW4sICd2YXInKSApIHtcbiAgICAgICRtYXggOiBjYWxjKCN7JG1pbn0gKiAjeyRhbW91bnQgKyAxfSk7IFxuICAgIH0gQGVsc2Uge1xuICAgICAgJG1heCA6ICN7JG1pbiAqICgkYW1vdW50ICsgMSl9OyBcbiAgICB9XG4gIH1cbiAgQHJldHVybiBfZHluYW1pYy11bml0KHZhcigtLWd1dHRlciksICRhbW91bnQsICRtaW4sICRtYXgsICR1c2UtbmVnYXRpdmUsICR1c2UtY2xhbXApO1xufVxuXG4kZ3V0dGVyMCA6IHZhcigtLWd1dHRlcjApOyAkZ3V0dGVyMC0gOiB2YXIoLS1ndXR0ZXIwLSk7XG4kZ3V0dGVyICA6IHZhcigtLWd1dHRlcjEpOyAkZ3V0dGVyLSAgOiB2YXIoLS1ndXR0ZXIxLSk7XG4kZ3V0dGVyMiA6IHZhcigtLWd1dHRlcjIpOyAkZ3V0dGVyMi0gOiB2YXIoLS1ndXR0ZXIyLSk7XG4kZ3V0dGVyMyA6IHZhcigtLWd1dHRlcjMpOyAkZ3V0dGVyMy0gOiB2YXIoLS1ndXR0ZXIzLSk7XG4kZ3V0dGVyNCA6IHZhcigtLWd1dHRlcjQpOyAkZ3V0dGVyNC0gOiB2YXIoLS1ndXR0ZXI0LSk7XG4kZ3V0dGVyNSA6IHZhcigtLWd1dHRlcjUpOyAkZ3V0dGVyNS0gOiB2YXIoLS1ndXR0ZXI1LSk7XG4kZ3V0dGVyNiA6IHZhcigtLWd1dHRlcjYpOyAkZ3V0dGVyNi0gOiB2YXIoLS1ndXR0ZXI2LSk7XG4iLCJAdXNlICdfbW9kdWxlcycgYXMgKjtcblxuLy8gVE9ETzogUkVNT1ZFIFVORUNFU1NBUlkgQ09ERVxuXG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuLy8gTGF5b3V0XG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuXG4vLyBMYXlvdXQgc3R5bGluZyBzaG91bGQgYmUgdXNlZCB0byBhZGp1c3QgbGF5b3V0IHByb3BlcnRpZXMgb25seS5cbi8vIFdoZXJlIHBvc3NpYmxlLCBpdCBzaG91bGQgbm90IGJlIHVzZWQgdG8gbWFuYWdlIHRoZSBmbG93IG9mIGEgcGFnZS5cbi8vIEluc3RlYWQgb25seSB3aWR0aHMsIGhlaWdodCwgZGlzcGxheSwgZ3JpZCwgcG9zaXRpb24sIHBhZGRpbmcsIG1hcmdpbnMsIG9yZGVyLCBhbmQgYWxpa2Vcbi8vIHNob3VsZCBiZSB0aGUgcHJvcGVydGllcyBkZWZpbmVkIGluIHRoZXNlIGZpbGVzLiBLZWVwIHRoZSBsYXlvdXRzIGhlcmUgYW5kXG4vLyBjb21wb25lbnQgc3R5bGluZyBpbiB0aGVpciByZXNwZWN0aXZlIGZpbGVzLlxuXG5odG1sIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogYmxhY2s7XG59XG5cbmJvZHkge1xuICAkc2lkZWJhci13aWR0aDogMzB2dztcblxuICAtLW5hdmlnYXRpb24tYmFyLXdpZHRoOiBjbGFtcCgyNTBweCwgMjV2dywgMzAwcHgpO1xuICAtLW5hdmlnYXRpb24tYmFyLWhlaWdodDogMTAwdmg7XG5cbiAgLS1zaWRlYmFyLXdpZHRoOiAjeyRzaWRlYmFyLXdpZHRofTtcbiAgLS1zaWRlYmFyLW1heC13aWR0aDogdmFyKC0tc2lkZWJhci13aWR0aCk7XG5cbiAgLS1sb2dvLWhlaWdodDogMjAwcHg7XG5cbiAgLS1nYXAteDogY2xhbXAoMnJlbSwgNXZ3LCA4cmVtKTtcbiAgLS1nYXAteTogNTBweDtcblxuICAtLXJvdy1jb250ZW50OiAxIC8gLTE7XG4gIC0tcm93LWhlYWRlcjogY2FsYygxICsgdmFyKC0tY29udGVudC1vZmZzZXQsIDApKTtcbiAgLS1yb3ctbWFpbjogY2FsYygyICsgdmFyKC0tY29udGVudC1vZmZzZXQsIDApKTtcblxuICAmW2RhdGEtc2lkZWJhcj0ndG9wJ10ge1xuICAgIC0tcm93LXNpZGViYXI6IDEgLyAtMTtcbiAgfVxuICAmW2RhdGEtc2lkZWJhcj0naGVhZGVyJ10ge1xuICAgIC0tcm93LXNpZGViYXI6IHZhcigtLXJvdy1oZWFkZXIpIC8gLTI7XG4gIH1cbiAgJltkYXRhLXNpZGViYXI9J2NvbnRlbnQnXSB7XG4gICAgLS1yb3ctc2lkZWJhcjogdmFyKC0tcm93LW1haW4pIC8gLTI7XG4gIH1cblxuICAtLWNvbHVtbi1uYXZpZ2F0aW9uOiAxO1xuICAtLWNvbHVtbi1jb250ZW50OiAyO1xuICAtLWNvbHVtbi1oZWFkZXI6IDI7XG4gIC0tY29sdW1uLW1haW46IDI7XG4gIC0tY29sdW1uLXNpZGViYXI6IDM7XG5cbiAgLS1yb3dzOiB2YXIoLS1sb2dvLWhlaWdodCkgYXV0byAxZnI7XG4gIC0tY29sdW1uczogdmFyKC0tbmF2aWdhdGlvbi1iYXItd2lkdGgpIG1pbm1heCgwLCAxZnIpIGF1dG87XG5cbiAgZGlzcGxheTogZ3JpZDtcbiAgZ3JpZC1nYXA6IHZhcigtLWdhcC15KSB2YXIoLS1nYXAteCk7XG4gIGdyaWQtdGVtcGxhdGUtcm93czogdmFyKC0tcm93cyk7XG4gIGdyaWQtdGVtcGxhdGUtY29sdW1uczogdmFyKC0tY29sdW1ucyk7XG5cbiAgbmF2aWdhdGlvbi1iYXIge1xuICAgIGdyaWQtcm93OiB2YXIoLS1yb3ctbmF2aWdhdGlvbik7XG4gICAgZ3JpZC1jb2x1bW46IHZhcigtLWNvbHVtbi1uYXZpZ2F0aW9uKTtcbiAgfVxuXG4gIG1haW4geyBcbiAgICBjb250YWluZXItdHlwZTogaW5saW5lLXNpemU7XG4gICAgY29udGFpbmVyLW5hbWU6IG1haW47XG4gIH1cblxuICAuY29udGVudC13cmFwcGVyIHtcbiAgICBncmlkLXJvdzogdmFyKC0tcm93LWNvbnRlbnQpO1xuICAgIGdyaWQtY29sdW1uOiB2YXIoLS1jb2x1bW4tY29udGVudCk7XG4gICAgei1pbmRleDogJHotaW5kZXgtbWFpbjtcbiAgfVxuXG4gIHNpZGUtYmFyIHtcbiAgICBncmlkLXJvdzogdmFyKC0tcm93LXNpZGViYXIpO1xuICAgIGdyaWQtY29sdW1uOiB2YXIoLS1jb2x1bW4tc2lkZWJhcik7XG4gIH1cblxuICAmLmhlYXRzaW5rcy1ob21lLFxuICAmLmNvbXBvbmVudHMtaG9tZSB7XG4gICAgLS1yb3ctY29udGVudDogMjtcbiAgfVxuXG4gIEBpbmNsdWRlIGJyZWFrLWluKCdsYXJnZScpIHtcbiAgICAmW2RhdGEtc2lkZWJhcj0ndG9wJ10sXG4gICAgJltkYXRhLXNpZGViYXI9J2hlYWRlciddLFxuICAgICZbZGF0YS1zaWRlYmFyPSdjb250ZW50J10ge1xuICAgICAgLS1jb2x1bW4tc2lkZWJhcjogMjtcbiAgICAgIC0tcm93LWNvbnRlbnQ6IDEgLyAtMjtcblxuICAgICAgc2lkZS1iYXIge1xuICAgICAgICAtLXJvdy1zaWRlYmFyOiBjYWxjKHZhcigtLXJvdy1jb250ZW50KSArIDMpO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIEBpbmNsdWRlIGJyZWFrLWluKCdzbWFsbC1tZWRpdW0nKSB7XG4gICAgcGxhY2UtY29udGVudDogc3RhcnQ7XG5cbiAgICAtLW5hdmlnYXRpb24tY29udGFpbmVyLWhlaWdodDogNjBweDtcbiAgICAtLW5hdmlnYXRpb24tbW9iaWxlLXNlYXJjaC1oZWlnaHQ6IDYxcHg7XG5cbiAgICAtLXJvd3M6IGF1dG8gYXV0byAxZnIgYXV0bztcbiAgICAtLWNvbHVtbnM6IDAgbWlubWF4KDAsIDFmcikgMDtcblxuICAgIC0tcm93LW5hdmlnYXRpb246IDE7XG4gICAgLS1jb2x1bW4tbmF2aWdhdGlvbjogMSAvIC0xO1xuXG4gICAgJjpub3QoLmhlYXRzaW5rcy1ob21lLCAuY29tcG9uZW50cy1ob21lKSB7XG4gICAgICAtLXJvdy1jb250ZW50OiAyIC8gc3BhbiAzICFpbXBvcnRhbnQ7XG4gICAgfVxuXG4gICAgLy8gLS1jb2x1bW4tY29udGVudDogMS8gLTE7XG5cbiAgICAvLyAtLXJvdy1jb250ZW50OiAyO1xuXG4gICAgLy8gLS1jb250ZW50LW9mZnNldDogMTtcblxuICAgICYgPiAqIHtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgIH1cblxuICAgIG1haW4ge1xuICAgICAgbWFyZ2luLXRvcDogLTJyZW07XG4gICAgfVxuICB9XG5cbiAgJi5tb2JpbGUtb3BlbixcbiAgJi5tb2RhbC1vcGVuIHtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICB9XG59XG4iLCJAdXNlICdfbW9kdWxlcycgYXMgKjtcblxuLmNvbnRlbnQge1xuICBsaW5lLWhlaWdodDogMS43O1xuXG4gIHVsIHsgQGluY2x1ZGUgbGlzdC11bCgkb3JhbmdlKSB9XG4gIG9sIHsgQGluY2x1ZGUgbGlzdC1vbCgpIH1cblxuICBoMyB7IEBpbmNsdWRlIGhlYWRpbmctaDIgfVxuXG4gID4gKiB7XG4gICAgbWFyZ2luLWJvdHRvbTogM3JlbTtcblxuICAgICY6bGFzdC1jaGlsZCB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgIH1cbiAgfVxuXG4gID4gdWwsID4gb2wge1xuICAgIG1hcmdpbi1ib3R0b206IDRyZW07XG4gIH1cblxuICBAaW5jbHVkZSBoZWFkaW5nLWFsbCgpIHtcbiAgICAvLyBtYXJnaW4tdG9wOiAxcmVtO1xuICAgIG1hcmdpbi1ib3R0b206IDIuMjVyZW07XG5cbiAgICAmICsgaDEsXG4gICAgJiArIGgyLFxuICAgICYgKyBoMyxcbiAgICAmICsgaDQsXG4gICAgJiArIGg1LFxuICAgICYgKyBoNiB7XG4gICAgICBtYXJnaW4tdG9wOiAzcmVtO1xuICAgIH1cbiAgfVxuXG4gIGEgeyAtLWZvbnQtY29sb3VyOiB2YXIoLS10aGVtZS1hY2NlbnQpIH1cbn0iLCJAdXNlICcuLi9fdmFyaWFibGVzJyBhcyAqO1xuQHVzZSAnY29sbGVjdGlvbnMvZm9udC9jcm9wJyBhcyBmb250O1xuQHVzZSAnbW9kdWxlcy9jb2xvdXIvZW5jb2RlJyBhcyBjb2xvdXI7XG5cblxuQG1peGluIHRpY2stbWFya2VyKCRmaWxsLCAkc3Ryb2tlIDogd2hpdGUpIHtcbiAgY29udGVudDogdXJsKFwiZGF0YTppbWFnZS9zdmcreG1sLCUzQ3N2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHZpZXdCb3g9JzAgMCAxNiAxNiclM0UlM0NjaXJjbGUgZmlsbD0nXCIrY29sb3VyLmVuY29kZSgkZmlsbCkrXCInIGN4PSc4JyBjeT0nOCcgcj0nOCcvJTNFJTNDcGF0aCBmaWxsPSdub25lJyBzdHJva2U9J1wiK2NvbG91ci5lbmNvZGUoJHN0cm9rZSkrXCInIHN0cm9rZS13aWR0aD0nMS40JyBzdHJva2UtbGluZWNhcD0ncm91bmQnIHN0cm9rZS1saW5lam9pbj0ncm91bmQnIHN0cm9rZS1taXRlcmxpbWl0PScxMCcgZD0nTTMuNSA4LjRsMi43IDIuNyA2LjMtNi4zJy8lM0UlM0Mvc3ZnJTNFXCIpO1xufVxuXG5AbWl4aW4gc3R5bGUoJGZpbGwsICRzdHJva2UgOiB3aGl0ZSkge1xuICA+IGxpOjpiZWZvcmUgeyBcbiAgICBjb250ZW50OnVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbCwlM0NzdmcgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyB2aWV3Qm94PScwIDAgMTYgMTYnJTNFJTNDY2lyY2xlIGZpbGw9J1wiK2NvbG91ci5lbmNvZGUoJGZpbGwpK1wiJyBjeD0nOCcgY3k9JzgnIHI9JzgnLyUzRSUzQ3BhdGggZmlsbD0nbm9uZScgc3Ryb2tlPSdcIitjb2xvdXIuZW5jb2RlKCRzdHJva2UpK1wiJyBzdHJva2Utd2lkdGg9JzEuNCcgc3Ryb2tlLWxpbmVjYXA9J3JvdW5kJyBzdHJva2UtbGluZWpvaW49J3JvdW5kJyBzdHJva2UtbWl0ZXJsaW1pdD0nMTAnIGQ9J00zLjUgOC40bDIuNyAyLjcgNi4zLTYuMycvJTNFJTNDL3N2ZyUzRVwiKTtcbiAgfVxufVxuXG4vLyBVbm9yZGVyZCBMaXN0cyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG5AbWl4aW4gdWwoJGxpc3Qtc3R5bGUtY29sb3VyIDogJGdyZWVuLCAkbGlzdC1zdHlsZS1hY2NlbnQtY29sb3VyIDogd2hpdGUpIHtcblxuICBAaW5jbHVkZSBzdHlsZSgkbGlzdC1zdHlsZS1jb2xvdXIsICRsaXN0LXN0eWxlLWFjY2VudC1jb2xvdXIpO1xuXG4gID4gbGkgeyBcblxuICAgIHBvc2l0aW9uICAgICAgOiByZWxhdGl2ZTsgXG4gICAgcGFkZGluZy1sZWZ0ICA6IGNhbGModmFyKC0tbGlzdC1zdHlsZS1zaXplLCAxZW0pICogMS44KTtcblxuICAgICYgKyBsaSB7IG1hcmdpbi10b3AgOiB2YXIoLS1saW5lLXN0eWxlLXNwYWNpbmcsICN7JGdhcDB9KTsgfVxuICAgIFxuICAgICY6OmJlZm9yZSB7IFxuICAgICAgZGlzcGxheSAgOiBpbmxpbmUtYmxvY2s7IFxuICAgICAgdG9wICAgICAgOiAwLjFlbTsgXG4gICAgICBsZWZ0ICAgICA6IDA7IFxuICAgICAgcG9zaXRpb24gOiBhYnNvbHV0ZTtcbiAgICAgIHdpZHRoICAgIDogdmFyKC0tbGlzdC1zdHlsZS1zaXplLCAxZW0pOyBcbiAgICAgIGhlaWdodCAgIDogdmFyKC0tbGlzdC1zdHlsZS1zaXplLCAxZW0pOyBcbiAgICB9XG4gIH1cblxuICBAY29udGVudDtcblxufVxuXG4vLyBPcmRlcmVkIExpc3RzIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG5AbWl4aW4gb2woKSB7XG5cbiAgY291bnRlci1yZXNldCA6IGNvdW50ZXI7XG5cbiAgPiBsaSB7IFxuICAgIHBvc2l0aW9uICAgICA6IHJlbGF0aXZlOyBcbiAgICBkaXNwbGF5ICAgICAgOiBibG9jazsgXG4gICAgcGFkZGluZy1sZWZ0IDogMjJweDtcbiAgICBtYXJnaW4tbGVmdCAgOiB2YXIoLS1saXN0LXN0eWxlLW9mZnNldCwgMCk7XG5cbiAgICAmICsgbGkgeyBtYXJnaW4tdG9wOiRnYXAwOyB9XG5cbiAgICAmOjpiZWZvcmUgeyBcbiAgICAgIGNvbnRlbnQgICAgICAgICAgIDogY291bnRlcihjb3VudGVyKScuJztcbiAgICAgIGNvdW50ZXItaW5jcmVtZW50IDogY291bnRlcjtcbiAgICAgIGNvbG9yICAgICAgICAgICAgIDogdmFyKC0tbGlzdC1zdHlsZS1jb2xvdXIsIHZhcigtLWZvbnQtY29sb3VyKSk7IFxuICAgICAgcG9zaXRpb24gICAgICAgICAgOiByZWxhdGl2ZTsgXG4gICAgICBtYXJnaW4tcmlnaHQgICAgICA6IDAuNWVtO1xuICAgIH1cbiAgfVxuXG4gIEBjb250ZW50O1xuICBcbn1cbiIsIi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG4vLyBIZWFkaW5nXG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuXG5AdXNlIFwiZm9udHNcIiBhcyBmb250O1xuXG4vLy8gQHNlZSBodHRwczovL2dpdGh1Yi5jb20vbWFya25vdHRvbi9kb2dnaXN0eWxlL2Jsb2IvbWFzdGVyL2xpYnJhcnkvc3JjL2NyZWF0ZS9faGVhZGluZ3Muc2Nzc1xuLy8vIDxoPiB0YWdzIGFyZSB1c2VkIGFsbCBvdmVyIHRoZSBwbGFjZSBhbmQgdGVuZCB0byBoYXZlIGJlc3Bva2Ugc3R5bGUgZGVwZW5kaW5nXG4vLy8gaXQncyBzZW1hbnRpYyBpbXBvcnRhbmNlLiBUaGlzIGlzIHdoeSBhIDxoMj4gb24gb25lIHBhZ2UgbWF5IG5vdCBiZSB0aGUgc2FtZSBcbi8vLyBzaXplIGFzIGEgPGgyPiBvbiBhbm90aGVyIHBhZ2UuIEl0IGNhbiBiZSB0ZW1wYXRpbmcgdG8gaGFyZGNvZGUgYSBuZXcgXG4vLy8gZm9udC1zaXplIHZhbHVlIG9uIGEgY2FzZS1ieS1jYXNlIGJhc2VzLCB1c3VhdWxseSB0byBtYXRjaCB0aGUgZGVzaWducy4gXG4vLy8gSG93ZXZlciBkZXNpZ25zIHdpbGwgY2hhbmdlIG92ZXIgdGltZSBhbmQgY2xpZW50IHJlcXVlc3RzIGVmZmVjdCBmb250IGZsb3dzIGZyZXF1ZW50bHkuXG4vLy8gVG8gZW5jb3VyYWdlIGEgc3Ryb25nIGNvbnRpbnVpdHkgYWNyb3NzIHRoZSBzaXRlLCBJIHByb3Bvc2Ugd2UgdXNlIHRoZSBzYW1lIFxuLy8vIHNpeCBoZWFkaW5nIHR5cGVzIHJlZ2FyZGxlc3Mgb2YgdGhlaXIgdGFnIG51bWJlci4gVGhpcyB3aWxsIHNhdmUgYW55XG4vLy8gZ3Vlc3N3b3JrIHdpdGggbGluZS1oZWlnaHRzIGFzd2VsbC4gXG4vLy8gU28gaWYgd2UgJ0BpbmNsdWRlIGhlYWRpbmctaDInIG9uIGEgPGg0Piwgd2Ugc3RpbGwga25vdyBvdGhlciB1bm1vZGlmaWVkIDxoMj4ncyBcbi8vLyB3aWxsIGFwcGVhciB0aGUgc2FtZSBhcyB0aGlzIHNwZWNpZmljIDxoND4uIFxuLy8vIEBleGFtcGxlIFxuLy8vIEBpbmNsdWRlIGhlYWRpbmctaDE7XG4vLy8gQGluY2x1ZGUgaGVhZGluZy1oMjtcbi8vLyBAaW5jbHVkZSBoZWFkaW5nLWgzO1xuLy8vIEBpbmNsdWRlIGhlYWRpbmctaDQ7XG4vLy8gQGluY2x1ZGUgaGVhZGluZy1oNTtcbi8vLyBAaW5jbHVkZSBoZWFkaW5nLWg2O1xuLy8vIFBhc3MgaW4gJ3RydWUnIHBhcmFtIGlmIHlvdSBvbmx5IHdhbnQgdG8gZGVmaW5lIHRoZSBmb250LXNpemUgYW5kIG5vIG90aGVyIHByb3BlcnRpZXMgKGxpbmUtaGVpZ2h0ICYgY3JvcHBpbmcpXG4vLy8gQGV4YW1wbGUgXG4vLy8gaDEgeyBAaW5jbHVkZSBoZWFkaW5nLWgzIH0gPC0gVGhpcyBIMSB3aWxsIGxvb2sgbGlrZSBhIEgzXG4vLy8gaDIgeyBAaW5jbHVkZSBoZWFkaW5nLWg0IH0gPC0gVGhpcyBIMiB3aWxsIGxvb2sgbGlrZSBhIEg0XG4vLy9cbi8vLyBAb3V0cHV0XG4vLy8gQWxzbyB0aGVzZSB2YXJpYWJsZXMgYXJlIGF2YWlsYWJsZSB0b28gc2hvdWxkIHlvdSBuZWVkIHRoZW0gKGhvcGVmdWxseSB5b3Ugd29uJ3QpLiBcbi8vLyAkaGVhZGluZy1oMS1mb250LXNpemUsICRoZWFkaW5nLWgxLWxpbmUtaGVpZ2h0O1xuLy8vICRoZWFkaW5nLWgyLWZvbnQtc2l6ZSwgJGhlYWRpbmctaDItbGluZS1oZWlnaHQ7XG4vLy8gJGhlYWRpbmctaDMtZm9udC1zaXplLCAkaGVhZGluZy1oMy1saW5lLWhlaWdodDtcbi8vLyAkaGVhZGluZy1oNC1mb250LXNpemUsICRoZWFkaW5nLWg0LWxpbmUtaGVpZ2h0O1xuLy8vICRoZWFkaW5nLWg1LWZvbnQtc2l6ZSwgJGhlYWRpbmctaDUtbGluZS1oZWlnaHQ7XG4vLy8gJGhlYWRpbmctaDYtZm9udC1zaXplLCAkaGVhZGluZy1oNi1saW5lLWhlaWdodDtcbi8vL1xuLy8vIFR5cGUgY3JvcHBpbmcgYWRkcmVzZXMgc3BhY2luZyBpc3N1ZXMgdGhhdCBlZmZlY3QgZGlmZmVybnQgZm9udCBmaWxlc1xuLy8vIGF0IHZhcnlpbmcgZm9udCBzaXplcyBhbmQgbGluZSBoZWlnaHRzLiBUaGlzIG1peGluIGF0dGVtcHRzIHRvIGZpeCB0aGF0LiBcbi8vLyBAc2VlIGh0dHA6Ly90ZXh0LWNyb3AuZWlnaHRzaGFwZXMuY29tLz90eXBlZmFjZS1zZWxlY3Rpb249Z29vZ2xlLWZvbnQmdHlwZWZhY2U9TGF0byZjdXN0b20tdHlwZWZhY2UtbmFtZT1IZWx2ZXRpY2EmY3VzdG9tLXR5cGVmYWNlLXVybD0mY3VzdG9tLXR5cGVmYWNlLXdlaWdodD00MDAmY3VzdG9tLXR5cGVmYWNlLXN0eWxlPW5vcm1hbCZ3ZWlnaHQtYW5kLXN0eWxlPTEwMCZzaXplPTM2JmxpbmUtaGVpZ2h0PTEuMiZ0b3AtY3JvcD05JmJvdHRvbS1jcm9wPThcblxuXG5AZm9yd2FyZCAnY3JlYXRlL2hlYWRpbmdzJ3dpdGggKFxuXHQkaDEgOiAoJ2ZvbnQtc2l6ZScgOiBmb250LiRzaXplLWgxLFxuXHRcdCdmb250LXNpemUtbWluJyA6IGZvbnQuJHNpemUtaDEtbWluLFxuXHRcdCdsaW5lLWhlaWdodCcgOiAxLjIsXG5cdFx0J3NjYWxlcicgOiA1dncsXG5cdFx0Ly8nY3JvcC10b3AnICAgIDogMTcsXG5cdFx0Ly8nY3JvcC1ib3R0b20nIDogMFxuXHQpLFxuXHQkaDIgOiAoJ2ZvbnQtc2l6ZScgOiBmb250LiRzaXplLWgyLFxuXHRcdCdsaW5lLWhlaWdodCcgOiAxLjMsXG5cdFx0Ly8nY3JvcC10b3AnICAgIDogMTQsXG5cdFx0Ly8nY3JvcC1ib3R0b20nIDogNVxuXHQpLFxuXHQkaDMgOiAoJ2ZvbnQtc2l6ZScgOiBmb250LiRzaXplLWgzLFxuXHRcdCdsaW5lLWhlaWdodCcgOiBmb250LiRsaW5lLWhlaWdodCxcblx0XHQvLydjcm9wLXRvcCcgICAgOiAxNixcblx0XHQvLydjcm9wLWJvdHRvbScgOiAxXG5cdCksXG5cdCRoNCA6ICgnZm9udC1zaXplJyA6IGZvbnQuJHNpemUtaDQsXG5cdFx0J2xpbmUtaGVpZ2h0JyA6IGZvbnQuJGxpbmUtaGVpZ2h0LFxuXHRcdC8vJ2Nyb3AtdG9wJyAgICA6IDE0LFxuXHRcdC8vJ2Nyb3AtYm90dG9tJyA6IDNcblx0KSxcblx0JGg1IDogKCdmb250LXNpemUnIDogZm9udC4kc2l6ZS1oNSxcblx0XHQnbGluZS1oZWlnaHQnIDogZm9udC4kbGluZS1oZWlnaHQsXG5cdFx0Ly8nY3JvcC10b3AnICAgIDogMTQsXG5cdFx0Ly8nY3JvcC1ib3R0b20nIDogM1xuXHQpLFxuXHQkaDYgOiAoJ2ZvbnQtc2l6ZScgOiBmb250LiRzaXplLWg2LFxuXHRcdCdsaW5lLWhlaWdodCcgOiBmb250LiRsaW5lLWhlaWdodCxcblx0XHQvLydjcm9wLXRvcCcgICAgOiAxNCxcblx0XHQvLydjcm9wLWJvdHRvbScgOiAzXG5cdClcbik7XG5cbkBtaXhpbiBhbGwoKSB7XG5cdGgxLCBoMiwgaDMsIGg0LCBoNiwgaDYge1xuXHRcdEBjb250ZW50O1xuXHR9XG59IiwiLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cbi8vIFVuaXRzXG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuXG4vLy8gQHNlZSBodHRwczovL2NvZGVwZW4uaW8vbWFya25vdHRvbi9wZW4vRXhQYk5HZVxuLy8vIEBzZWUgaHR0cHM6Ly9naXRodWIuY29tL21hcmtub3R0b24vZG9nZ2lzdHlsZS9ibG9iL21hc3Rlci9saWJyYXJ5L3NyYy9jcmVhdGUvX3VuaXRzLnNjc3NcblxuLy8vIFRoaXMgdW5pdHMgY3JlYXRvciB3aWxsIHJlbmRlciBzaXggcG9zaXRpdmUgYW5kIHNpeCBuZWdhdGl2ZSBzYXNzIHZhcmlhYmxlcyBmb3IgXG4vLy8gZ2Fwcywgc3BhY2VycywgYW5kIGd1dHRlcnMgcmVsYXRpdmUgdG8gdGhlIGJhc2UgdmFsdWVzIGRlZmluZWQgYmVsb3cuIFxuXG5AZm9yd2FyZCAnY3JlYXRlL3VuaXRzJyB3aXRoIChcblxuICAvLy8gR2FwcyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgLy8vIEdhcHMgYXJlIGFuIGFic29sdXRlIHVuaXQgKHB4KSBpbnRlbmRlZCB0byBiZSB1c2VkIG9uIGluZGl2aWR1YWwgZWxlbWVudHMgd2l0aGluIGEgY29tcG9uZW50ZWQuIFxuICAvLy8gVGhlIGFpbSBpcyB0byByZXRhaW4gY29uc2lzdGFudCBzcGFjaW5nIGFtb25nc3QgYmxvY2ssIGlubGluZSwgdGFibGUgYW5kIGdyb3VwIGh0bWwgZWxlbWVudHMuXG4gIC8vLyBHYXBzIG11c3QgdXNlIGFuIGFic29sdXRlIGFuZCBzdGF0aWMgJ3B4JyB1bml0LiBJdCBzaG91bGQgbm90IGJlIHJlbGF0aXZlIHRvIGFueVxuICAvLy8gcGFyZW50IGNvbnRhaW5lciBhbmQgaXMgbm90IGludGVuZGVkIGZvciBmb250IHNpemVzLCBzbyB5b3Ugc2hvdWxkIG5vdCB1c2UgJ3JlbScgb3IgJ2VtJy4gXG4gIC8vLyBAcmVzdWx0IDogJGdhcDAsICRnYXAsICRnYXAyLCAkZ2FwMywgJGdhcDQsICRnYXA1ICwgJGdhcDYsICRnYXAwLSwgJGdhcC0sICRnYXAyLSwgJGdhcDMtLCAkZ2FwNC0sICRnYXA1LSBhbmQgJGdhcDYtXG4gIFxuICAkZ2FwIDogMTZweCxcblxuICAvLyBTcGFjZXJzIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAvLyBTcGFjZXJzIGFyZSBhIHJlbGF0aXZlIHZpZXdwb3J0IGhlaWdodCAodmgpIHVuaXQgaW50ZW5kZWQgdG8gYmUgdXNlZCBvbiBhIGNvbXBvbmVudGVkIGxldmVsLlxuICAvLy8gVGhlIGFpbSBpcyB0byByZXRhaW4gY29uc2lzdGFudCB0b3AgYW5kIGJvdHRvbSBzcGFjaW5nIGFtb25nc3QgJ3NlY3Rpb24nIGFuZCAnY3VzdG9tJyBlbGVtZW50cy5cbiAgLy8vIFNwYWNlcnMgd2lsbCBlcXVhdGUgdG8gc29tZXRoaW5nIGxpa2U6IGAoJHNwYWNlciAqIHgpICsgJGdhcGAuIFxuICAvLy8gVGhlICckZ2FwJyBpcyBhZGRlZCBzbyB0aGF0IHZoIHNwYWNpbmcgd2lsbCBuZXZlciBzY2FsZSB0b28gY2xvc2UgdG8gMHB4LiBcbiAgLy8vIFNwYWNlcnMgbXVzdCB1c2UgYSAndmgnIHVuaXQgc28gdGhleSBhcmUgcmVsYXRpdmUgdG8gdGhlIHVzZXJzIHZpZXdwb3J0IGhlaWdodC13aXNlLlxuICAvLy8gVGhleSBzaG91bGQgcHJpbWFyaWx5IGJlIHVzZWQgZm9yIHRoZSB0b3AgYW5kIGJvdHRvbSBtYXJnaW5zIG9uIGEgY29tcG9uZW50IGxldmVsLlxuICAvLy8gQHJlc3VsdCA6ICRzcGFjZXIwLCAkc3BhY2VyLCAkc3BhY2VyLCAkc3BhY2VyLCAkc3BhY2VyNCwgJHNwYWNlcjUsICRzcGFjZXI2LCAkc3BhY2VyMC0sICRzcGFjZXItLCAkc3BhY2VyLSwgJHNwYWNlci0sICRzcGFjZXI0LSwgJHNwYWNlcjUtIGFuZCAkc3BhY2VyNi1cbiAgXG4gICRzcGFjZXIgOiA0dmgsIFxuXG4gIC8vIEd1dHRlcnMgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gIC8vIEd1dHRlcnMgYXJlIGEgcmVsYXRpdmUgdmlld3BvcnQgd2lkdGggKHZ3KSB1bml0IGludGVuZGVkIHRvIGJlIHVzZWQgb24gYSBwYXJlbnQgbGV2ZWw7XG4gIC8vIGZvciBleGFtcGxlLCBhIHdyYXBwZXIgY29udGFpbmVyIG9yIGJvZHkgd2l0aCBuZXN0ZWQgY29tcG9uZW50cy4gXG4gIC8vIFRoZSBhaW0gaXMgdG8gcmV0YWluIGNvbnNpc3RhbnQgbGVmdCBhbmQgcmlnaHQgc3BhY2luZyBhbW9uZ3N0ICdzZWN0aW9uJyBhbmQgJ2N1c3RvbScgZWxlbWVudHMuXG4gIC8vLyBHdXR0ZXJzIHdpbGwgZXF1YXRlIHRvIHNvbWV0aGluZyBsaWtlOiBgKCRndXR0ZXIgKiB4KSArICRnYXBgLiBcbiAgLy8vIFRoZSAnJGdhcCcgaXMgYWRkZWQgc28gdGhhdCB2dyBzcGFjaW5nIHdpbGwgbmV2ZXIgc2NhbGUgdG9vIGNsb3NlIHRvIDBweC4gXG4gIC8vLyBHdXR0ZXJzIG11c3QgdXNlIGEgJ3Z3JyB1bml0IHNvIHRoZXkgYXJlIHJlbGF0aXZlIHRvIHRoZSB1c2VycyB2aWV3cG9ydCB3aWR0aC13aXNlLiBcbiAgLy8vIFRoZXkgc2hvdWxkIHByaW1hcmlseSBiZSB1c2VkIGZvciB0aGUgbGVmdCBhbmQgcmlnaHQgcGFkZGluZyBvciBtYXJnaW4gb24gYSBwYXJlbnQgbGV2ZWwuXG4gIC8vLyBBcyBhIHN1Z2dlc3Rpb24sIHRoaXMgZ3V0dGVyIGNvbnN0YW50IHNob3VsZCBiZSBoYWxmIHRoZSBzaXplIG9mIHRoZSBzcGFjZXIgdmFsdWUuXG4gIC8vLyBAcmVzdWx0IDogJGd1dHRlcjAsICRndXR0ZXIsICRndXR0ZXIyLCAkZ3V0dGVyMywgJGd1dHRlcjQsICRndXR0ZXI1LCAkZ3V0dGVyNiwgJGd1dHRlcjAtLCAkZ3V0dGVyLSwgJGd1dHRlcjItLCAkZ3V0dGVyMy0sICRndXR0ZXI0LSwgJGd1dHRlcjUtIGFuZCAkZ3V0dGVyNi1cbiAgXG4gICRndXR0ZXIgOiAzdncsIFxuXG4pO1xuXG4kYm9yZGVyLXJhZGl1cyA6IHZhcigtLWJvcmRlci1yYWRpdXMsIDZweCk7IiwiQHVzZSAnX21vZHVsZXMnIGFzICo7XG5AdXNlICdtb2R1bGVzL2NvbG91ci9lbmNvZGUnIGFzIGNvbG91cjtcblxuLy8gR2xvYmFsbHkgc3R5bGUgaW5wdXRzIGFuZCBzdWJtaXQgaGFuZGxlc1xuXG5AaW5jbHVkZSBmb3JtLWNoYXJhY3Rlci1pbnB1dHMoKSB7XG4gIEBpbmNsdWRlIGZvcm0tY2hhcmFjdGVyLWlucHV0KCk7XG4gICY6bm90KHNlbGVjdCkge1xuICAgIHdpZHRoOiAxMDAlO1xuICB9XG59XG5cbmlucHV0W3R5cGU9XCJzZWFyY2hcIl0ge1xuICAmOjotd2Via2l0LXNlYXJjaC1kZWNvcmF0aW9uLFxuICAmOjotd2Via2l0LXNlYXJjaC1jYW5jZWwtYnV0dG9uLFxuICAmOjotd2Via2l0LXNlYXJjaC1yZXN1bHRzLWJ1dHRvbixcbiAgJjo6LXdlYmtpdC1zZWFyY2gtcmVzdWx0cy1kZWNvcmF0aW9uIHtcbiAgICBkaXNwbGF5Om5vbmU7XG4gICAgLXdlYmtpdC1hcHBlYXJhbmNlOm5vbmU7XG4gIH1cbn1cblxuQGluY2x1ZGUgZm9ybS1hbGwtaW5wdXRzKCkge1xuICAmOmZvY3VzIHsgQGluY2x1ZGUgZm9ybS1pbnB1dC1mb2N1cygpIH1cbn1cblxuaW5wdXRbdHlwZT1cInN1Ym1pdFwiXSwgYnV0dG9uW3R5cGU9XCJzdWJtaXRcIl0ge1xuICBAaW5jbHVkZSBidXR0b24tZGVmYXVsdCgpO1xufVxuXG5cbnNlbGVjdCB7ICBcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgcGFkZGluZy1yaWdodDogY2FsYygkZm9ybS1iYXNlLWlucHV0LXBhZGRpbmcgKiAzKTtcbiAgY29sb3I6IHZhcigtLWZvbnQtY29sb3VyKTtcbiAgQGluY2x1ZGUgZm9ybS1hcnJvdy1kb3duLWltYWdlKCRmb250LWNvbG91cik7XG4gIGJhY2tncm91bmQtcmVwZWF0Om5vLXJlcGVhdDtcbiAgYmFja2dyb3VuZC1zaXplOiAxZW07XG4gIGJhY2tncm91bmQtcG9zaXRpb246Y2FsYygxMDAlIC0gI3skZm9ybS1iYXNlLWlucHV0LXBhZGRpbmd9KSBjZW50ZXI7XG4gIHdpZHRoOiBtaW4tY29udGVudDtcblxuICBvcHRpb24ge1xuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgfVxufVxuXG4uaW5wdXQtY29udGFpbmVyIHtcbiAgJi5ob3Jpem9udGFsIHsgXG4gICAgZ3JpZC1hdXRvLWZsb3c6IGNvbHVtbiAhaW1wb3J0YW50O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICB9XG5cbiAgJjpub3QoLnJhZGlvLCAuY2hlY2tib3gpIHtcbiAgICBAaW5jbHVkZSBmb3JtLXRleHQtY29udGFpbmVyKCk7XG5cbiAgICBpbnB1dFttYXhsZW5ndGhdLCBpbnB1dFtzaXplXSB7XG4gICAgICB3aWR0aDogZml0LWNvbnRlbnQ7XG4gICAgfVxuICB9XG5cbiAgJi5yYWRpbywgJi5jaGVja2JveCB7IEBpbmNsdWRlIGZvcm0tcmFkaW8tY2hlY2tib3gtY29udGFpbmVyKCkgfVxuICAmLnJhZGlvIHsgQGluY2x1ZGUgZm9ybS1yYWRpby1jb250YWluZXIoKSB9XG59XG5cbi5tdWx0aS1pbnB1dCB7XG4gIEBpbmNsdWRlIGZvcm0tbXVsdGktaW5wdXQoKTtcbn1cblxucmFkaW8tdGFicyB7XG4gIEBpbmNsdWRlIGZvcm0tcmFkaW8tdGFicygpO1xufVxuXG5cbmZvcm0ge1xuXG4gIC8vIE1ha2Ugc3VibWl0IGJ1dHRvbiBkaXNhYmxlZCB3aGVuIGZvcm0gaXMgaW52YWxpZC5cblxuICBbdHlwZT1cInN1Ym1pdFwiXSB7XG4gICAgdHJhbnNpdGlvbjogb3BhY2l0eSAkdHJhbnNpdGlvbjtcbiAgfVxuICBcbiAgJjppbnZhbGlkIHtcbiAgICBbdHlwZT1cInN1Ym1pdFwiXSB7IFxuICAgICAgY3Vyc29yOiBub3QtYWxsb3dlZDtcbiAgICAgIG9wYWNpdHk6IDAuNTtcbiAgICB9XG4gIH1cblxufVxuXG5cblxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuLy8gRlJFRUZPUk0gU1RZTElOR1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG5mb3JtIHtcbiAgJltkYXRhLWZyZWVmb3JtXSB7XG5cbiAgICBoMywgaDQsIGg1LCBoNiB7IEBpbmNsdWRlIGhlYWRpbmctaDIoKSB9XG5cbiAgICAuZmYtZm9ybS1zdWNjZXNzIHtcbiAgICAgIC0tZm9udC1jb2xvdXI6ICN7JGdyZWVufTtcbiAgICAgIG1hcmdpbi1ib3R0b206ICRnYXAyO1xuXG4gICAgICBwIHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcblxuICAgICAgICAmOjpiZWZvcmUge1xuICAgICAgICAgIEBpbmNsdWRlIGxpc3QtdGljay1tYXJrZXIoJGdyZWVuKTtcbiAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICBtYXJnaW4tcmlnaHQ6ICRnYXA7XG4gICAgICAgICAgd2lkdGg6IDEuMjVlbTtcbiAgICAgICAgICBoZWlnaHQ6IDEuMjVlbTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIC5mZi1mb3JtLWVycm9ycyB7XG4gICAgICAtLWZvbnQtY29sb3VyOiAjeyRyZWR9O1xuICAgICAgbWFyZ2luLWJvdHRvbTogJGdhcDI7XG4gICAgfVxuXG4gICAgLmZmLWVycm9ycyB7XG4gICAgICAtLWZvbnQtY29sb3VyOiAjeyRyZWR9O1xuICAgICAgbWFyZ2luLXRvcDogJGdhcDtcbiAgICAgIGNvbG9yOiB2YXIoLS1mb250LWNvbG91cik7XG4gICAgfVxuXG4gICAgLmZvcm0tZmllbGRzIHtcbiAgICAgIGRpc3BsYXk6IGdyaWQ7XG4gICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDEwMCU7XG4gICAgICBncmlkLWdhcDogJGdhcDtcblxuICAgICAgLmZyZWVmb3JtLXJvdyB7XG4gICAgICAgIGRpc3BsYXk6IGdyaWQ7XG4gICAgICAgIGdyaWQtZ2FwOiAycmVtO1xuICAgICAgICBncmlkLWF1dG8tZmxvdzogY29sdW1uO1xuICAgICAgICBoZWlnaHQ6IGZpdC1jb250ZW50O1xuXG4gICAgICAgIC5mcmVlZm9ybS1jb2x1bW4ge1xuICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAgICAgICAgIGgzLCBoNCwgaDUsIGg2IHtcbiAgICAgICAgICAgIG1hcmdpbi10b3A6ICRnYXAyO1xuICAgICAgICAgIH1cblxuICAgICAgICAgICYuZnJlZWZvcm0tY29sdW1uLWNvbnRlbnQtYWxpZ24tcmlnaHQge1xuICAgICAgICAgICAgdGV4dC1hbGlnbjogcmlnaHQ7XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgbGFiZWw6bm90KC5mcmVlZm9ybS1pbnB1dC1vbmx5LWxhYmVsKSB7XG4gICAgICAgICAgICBvcGFjaXR5OiAwLjc7XG4gICAgICAgICAgICAmICsgLmZyZWVmb3JtLWlucHV0IHtcbiAgICAgICAgICAgICAgbWFyZ2luLXRvcDogY2FsYygkZ2FwIC8gMik7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIEBpbmNsdWRlIGZvcm0tYmFzZS1yZXF1aXJlZCgpO1xuICAgIH1cbiAgfVxuXG5cbiAgLy8gSU5ESVZJRFVBTCBGT1JNIFNUWUxFU1xuXG4gICZbZGF0YS1oYW5kbGU9XCJtYXJrZXRTZWN0b3JGb3JtXCJdIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgLmZmLWZvcm0tZXJyb3JzLCAuZmYtZm9ybS1zdWNjZXNzIHtcbiAgICAgIG9yZGVyOiAxMDtcbiAgICAgIGJhY2tncm91bmQ6IHdoaXRlO1xuICAgICAgcGFkZGluZzogJGd1dHRlcjAgJGd1dHRlcjtcbiAgICAgIG1hcmdpbi10b3A6ICRndXR0ZXI7XG4gICAgICBwIHsgXG4gICAgICAgIGNvbG9yOndoaXRlOyBcbiAgICAgIH1cbiAgICAgIHVsIGxpIHtcbiAgICAgICAgY29sb3I6d2hpdGU7IFxuICAgICAgfVxuICAgIH1cbiAgICAuZmYtZm9ybS1lcnJvcnMgeyBcbiAgICAgIGJhY2tncm91bmQ6IGRhcmtyZWQ7XG4gICAgfVxuICAgIC5mZi1mb3JtLXN1Y2Nlc3Mge1xuICAgICAgYmFja2dyb3VuZDogIzIxOGIwMDtcbiAgICB9XG4gICAgXG4gIH1cbiAgJltkYXRhLWhhbmRsZT1cIm1hcmtldFNlY3RvckZvcm1cIl0sXG4gICZbZGF0YS1oYW5kbGU9XCJjb250YWN0XCJdIHtcbiAgICAtLXN1Ym1pdC1oZWlnaHQ6IDQxcHg7XG5cbiAgICAuZm9ybS1maWVsZHMge1xuXG4gICAgICBsYWJlbDpub3QoLmZyZWVmb3JtLWlucHV0LW9ubHktbGFiZWwpIHtcbiAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICAgIH1cblxuICAgICAgLm1lc3NhZ2UsIC5zdWJtaXQtcm93IHtcbiAgICAgICAgZ3JpZC1yb3c6IDU7XG4gICAgICAgIGdyaWQtY29sdW1uOiAxO1xuICAgICAgfVxuICBcbiAgICAgIC5tZXNzYWdlIHsgXG4gICAgICAgIC5mcmVlZm9ybS1jb2x1bW4ge1xuICAgICAgICAgIGRpc3BsYXk6IGdyaWQ7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgdGV4dGFyZWFbbmFtZT1cIm1lc3NhZ2VcIl0ge1xuICAgICAgICB6LWluZGV4OiAxO1xuICAgICAgICBwYWRkaW5nLWJvdHRvbTogY2FsYyg0MXB4ICsgJGdhcCk7XG4gICAgICB9XG4gIFxuICAgICAgLnN1Ym1pdC1yb3cge1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgei1pbmRleDogMTtcbiAgICAgICAgbWFyZ2luOiBhdXRvIDAgMCBhdXRvO1xuXG4gICAgICAgIGJ1dHRvbiB7XG4gICAgICAgICAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gICAgICAgICAgei1pbmRleDogMjtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gICZbZGF0YS1oYW5kbGU9XCJjcmVkaXRBcHBsaWNhdGlvblwiXSB7XG4gICAgLmZyZWVmb3JtLXJvdyB7XG4gICAgICAmOm50aC1sYXN0LW9mLXR5cGUoLW4rMiksICY6bnRoLWxhc3Qtb2YtdHlwZSgtbisxKSB7XG4gICAgICAgIG1hcmdpbi10b3A6IDJyZW07XG4gICAgICB9XG5cbiAgICAgICY6bGFzdC1vZi10eXBlIHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgZmxleC13cmFwOiB3cmFwO1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn0iLCJAdXNlICcuLi9fdmFyaWFibGVzJyBhcyAqO1xuQHVzZSAnLi4vX2hlbHBlcnMvbWlzYy5zY3NzJyBhcyAqO1xuQHVzZSBcInN0eWxpbmdcIiBhcyAqO1xuXG5cbkBtaXhpbiBkZWZhdWx0KCkge1xuXG4gIEBpbmNsdWRlIGNvbG91cigpO1xuICAtLWljb24tc2l6ZTogMC44ZW07XG5cbiAgcG9zaXRpb24gICAgICAgICA6IHJlbGF0aXZlO1xuICBjdXJzb3IgICAgICAgICAgIDogcG9pbnRlcjtcblxuICBkaXNwbGF5ICAgICAgICAgIDogZmxleDtcbiAgZmxleC13cmFwICAgICAgICA6IG5vd3JhcDtcbiAgZ3JpZC1nYXAgICAgICAgICA6ICRnYXAwO1xuICBhbGlnbi1pdGVtcyAgICAgIDogY2VudGVyO1xuXG4gIHdvcmQtYnJlYWsgICAgICAgOiBicmVhay1hbGw7IFxuICB3aGl0ZS1zcGFjZSAgICAgIDogbm93cmFwO1xuICBmb250LXdlaWdodCAgICAgIDogNjAwO1xuICBsaW5lLWhlaWdodCAgICAgIDogMTtcbiAgdGV4dC10cmFuc2Zvcm0gICA6IHVwcGVyY2FzZTtcbiAgb3ZlcmZsb3cgICAgICAgICA6IGhpZGRlbjtcblxuICBoZWlnaHQgICAgICAgICAgIDogZml0LWNvbnRlbnQ7XG4gIHBhZGRpbmcgICAgICAgICAgOiAxLjI1cmVtIDNyZW0gMS4yNXJlbSA0cmVtO1xuICBmb250LXNpemUgICAgICAgIDogMTZweDtcblxuICBiYWNrZ3JvdW5kICAgICAgIDogdmFyKC0tYmFja2dyb3VuZC1jb2xvdXIpO1xuICBjb2xvciAgICAgICAgICAgIDogdmFyKC0tZm9udC1jb2xvdXIpOyBcblxuICBAaW5jbHVkZSBhbmdsZWQtY2xpcCgpO1xuXG4gIC8vIFRPRE86IG1heWJlIGluY2x1ZGUgYSBjb250YWluZXIgd2l0aCBhIGNsYXNzIHNvIHRoYXQgYnV0dG9ucyBjYW4gaG9sZCBvdGhlciBlbGVtZW50c1xuICAvLyBhcyB3ZWxsIGFzIFNWR3NcbiAgPiBzdmcgeyBAaW5jbHVkZSBzcXVhcmUodmFyKC0taWNvbi1zaXplKSkgfVxuXG5cbiAgJltkaXNhYmxlZF0geyBAaW5jbHVkZSBkaXNhYmxlZCgpIH1cbiAgJjpub3QoW2Rpc2FibGVkXSk6aG92ZXIgeyBAaW5jbHVkZSBob3ZlcigpIH1cblxuICAmLnNtYWxsIHsgQGluY2x1ZGUgc21hbGwoKSB9XG4gICYubGFyZ2UgeyBAaW5jbHVkZSBsYXJnZSgpIH1cblxuICAmOjpiZWZvcmUge1xuICAgIC0tdHJhbnNpdGlvbi1kdXJhdGlvbjogMC4zcztcblxuICAgIGNvbnRlbnQ6ICcnO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDA7XG4gICAgbGVmdDogY2FsYygtMTAwJSk7XG4gICAgd2lkdGg6IGNhbGMoMTAwJSArIDE1cHgpO1xuICAgIGhlaWdodDogMTAwJTtcbiAgICBiYWNrZ3JvdW5kOiB2YXIoLS1iYWNrZ3JvdW5kLWNvbG91cik7XG4gICAgZmlsdGVyOiBicmlnaHRuZXNzKDEyMCUpO1xuICAgIGNsaXAtcGF0aDogcG9seWdvbigwJSAxMDAlLCAwJSAwJSwgMTAwJSAwJSwgY2FsYygxMDAlIC0gMTVweCkgMTAwJSk7XG4gICAgei1pbmRleDogLTE7XG4gICAgdHJhbnNpdGlvbjogdHJhbnNmb3JtICR0cmFuc2l0aW9uO1xuICB9XG59XG5cblxuQG1peGluIGNvbG91cigkcHJpbWFyeSA6ICRyZWQsICRzZWNvbmRhcnkgOiB3aGl0ZSkge1xuICAtLWJhY2tncm91bmQtY29sb3VyIDogI3skcHJpbWFyeX07XG4gIC0tZm9udC1jb2xvdXIgOiAjeyRzZWNvbmRhcnl9O1xufVxuXG5cblxuXG5AbWl4aW4gc21hbGwge1xuICBwYWRkaW5nICAgOiAwLjlyZW0gMnJlbSAwLjlyZW0gM3JlbTtcbiAgZm9udC1zaXplIDogMTJweDtcbn1cblxuQG1peGluIGxhcmdlIHtcbiAgcGFkZGluZyAgIDogMS40cmVtIDNyZW0gMS40cmVtIDQuMjVyZW07XG4gIGZvbnQtc2l6ZSA6IDE4cHg7XG59XG5cblxuXG5cbkBtaXhpbiBob3ZlcigpIHtcbiAgdGV4dC1kZWNvcmF0aW9uLWxpbmU6IG5vbmU7XG4gIHRleHQtZGVjb3JhdGlvbi1jb2xvcjogdHJhbnNwYXJlbnQ7XG5cbiAgJjo6YmVmb3JlIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoY2FsYygxMDAlIC0gMTVweCkpO1xuICB9XG59XG5cblxuXG5cbkBtaXhpbiBjbGlwcGVkKCkge1xuICBAaW5jbHVkZSBhbmdsZWQtY2xpcCgpO1xufSIsIkB1c2UgJy4uL192YXJpYWJsZXMnIGFzICo7XG5cblxuQG1peGluIGFuZ2xlZC1jbGlwKCkge1xuXHRjbGlwLXBhdGg6IHBvbHlnb24oMCUgMTAwJSwgMTVweCAwJSwgMTAwJSAwJSwgMTAwJSAxMDAlKTtcbn1cblxuQG1peGluIHNxdWFyZSgkbGVuZ3RoKSB7XG5cdHdpZHRoOiAkbGVuZ3RoO1xuXHRoZWlnaHQ6ICRsZW5ndGg7XG59XG5cbkBtaXhpbiBmZWF0dXJlZC1iYWRnZSgkY29sb3VyIDogJG9yYW5nZSkge1xuXHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdHRvcDogMDtcblx0cGFkZGluZzogMC43cmVtIDJyZW0gMC43cmVtIDNyZW07XG5cdC8vIEZpeGVkIGhlaWdodCBzbGlnaHRseSBmaXhlcyBibHVycnkgdGV4dCBpc3N1ZSBpbiBjaHJvbWVcblx0aGVpZ2h0OiAzOXB4O1xuXHRiYWNrZ3JvdW5kOiAkY29sb3VyO1xuXHRjb2xvcjogJHdoaXRlO1xuXHQvLyAtMC41cHggc2xpZ2h0bHkgZml4ZXMgYmx1cnJ5IHRleHQgaXNzdWUgaW4gY2hyb21lXG5cdHRyYW5zZm9ybTogdHJhbnNsYXRlKDAsIC0wLjVweCkgdHJhbnNsYXRlWCgtMTAwJSkgdHJhbnNsYXRlWSgtMTAwJSkgcm90YXRlKC05MGRlZyk7XG5cdHRyYW5zZm9ybS1vcmlnaW46IGJvdHRvbSByaWdodDtcblx0QGluY2x1ZGUgYW5nbGVkLWNsaXAoKTtcbn1cblxuQG1peGluIGRpc2FibGVkKCRvcGFjaXR5IDogMC40KSB7XG4gIG9wYWNpdHk6ICRvcGFjaXR5O1xuICBwb2ludGVyLWV2ZW50czogbm9uZTtcbn1cblxuQG1peGluIHRleHQtZWxsaXBzaXMoKSB7XG5cdHdoaXRlLXNwYWNlOiBub3dyYXA7XG5cdHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xuXHRvdmVyZmxvdzogaGlkZGVuO1xufSIsIi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG4vLyBHbG9iYWwgU3R5bGluZ1xuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cblxuQHVzZSAnX21vZHVsZXMnIGFzICo7XG5cbkB1c2UgJ3dlYmZvbnRzJztcbkB1c2UgJ2N1c3RvbS1wcm9wZXJ0aWVzJztcbkB1c2UgJ3R5cG9ncmFwaHknO1xuQHVzZSAnbGF5b3V0JztcbkB1c2UgJ2NvbnRlbnQnO1xuQHVzZSAnZm9ybXMnO1xuXG5cbmh0bWwge1xuICBvdmVyZmxvdy14OiBoaWRkZW47XG59XG5cbmJvZHkge1xuICBvdmVyZmxvdy14OiBpbml0aWFsO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS10aGVtZS1jb250ZW50LWJhY2tncm91bmQpO1xuXG4gICYjc2VhcmNoIHtcbiAgICAuc3ViaGVhZGluZyB7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDJyZW07XG4gICAgICB1IHsgXG4gICAgICAgIHdoaXRlLXNwYWNlOiBwcmUtbGluZTtcbiAgICAgICAgd29yZC1icmVhazogYnJlYWstd29yZDtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuLmQtbm9uZSB7XG4gIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbn1cblxuZmlndXJlLmltYWdlLCBwaWN0dXJlLmltYWdlIHtcbiAgQGluY2x1ZGUgaW1hZ2Utc3Jjc2V0KCk7XG59XG5cbnZpZGVvLWNvbnRhaW5lciB7XG4gIEBpbmNsdWRlIHZpZGVvLWNvbnRhaW5lcigpO1xufVxuXG5tYXJrIHtcbiAgQGluY2x1ZGUgbWFyaygpO1xufVxuXG4uc3Itb25seSB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgd2lkdGg6IDFweDtcbiAgaGVpZ2h0OiAxcHg7XG4gIHBhZGRpbmc6IDA7XG4gIG1hcmdpbjogLTFweDtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgY2xpcDogcmVjdCgwLCAwLCAwLCAwKTtcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgYm9yZGVyLXdpZHRoOiAwO1xufVxuXG5kZXRhaWxzIHsgXG4gIG91dGxpbmU6bm9uZTtcbiAgJltvcGVuXSBzdW1tYXJ5ID4gc3ZnIHsgdHJhbnNmb3JtOiByb3RhdGUoOTBkZWcpIH1cbn1cbnN1bW1hcnkge1xuICAtd2Via2l0LWFwcGVhcmFuY2U6bm9uZTtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICAmOjotd2Via2l0LWRldGFpbHMtbWFya2VyLCAmOjptYXJrZXIgeyBkaXNwbGF5Om5vbmU7IH1cbn1cblxuLm92ZXJmbG93LWhpZGRlbiB7IG92ZXJmbG93IDogaGlkZGVuICFpbXBvcnRhbnQgfVxuXG4uaGlkZSB7XG4gIG9wYWNpdHk6IDAgIWltcG9ydGFudDtcbiAgcG9pbnRlci1ldmVudHM6IG5vbmUgIWltcG9ydGFudDtcbn1cblxuLmJ1dHRvbiB7XG4gIEBpbmNsdWRlIGJ1dHRvbi1kZWZhdWx0KCk7XG59XG5cbi5idXR0b24sIGJ1dHRvbiB7XG4gIHN2ZyB7XG4gICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgfVxufVxuXG5waWN0dXJlIHtcbiAgZGlzcGxheTogYmxvY2s7XG59XG5cbi5yZXN1bHQtaXRlbSB7XG4gIEBpbmNsdWRlIHJlc3VsdC1pdGVtLWJhc2UoKTtcbn1cblxuLnRhZyB7XG4gIEBpbmNsdWRlIHRhZygpO1xufVxuXG5cbnRhYmxlLWNvbnRhaW5lciB7XG4gIC5oZWFkaW5nIHtcbiAgICBAaW5jbHVkZSBoZWFkaW5nLWgyO1xuICAgIG1hcmdpbi1ib3R0b206ICRnYXAyO1xuICB9XG4gIC50YWJsZSB7XG4gICAgQGluY2x1ZGUgdGFibGUtZGVmYXVsdCgpO1xuICB9XG59XG5cbm1haW4gPiAuc25pcHBldCB7XG4gIGEgeyAtLWZvbnQtY29sb3VyIDogdmFyKC0tdGhlbWUtYWNjZW50KSB9XG59XG5cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSIsIi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG4vLy8gSW1hZ2UgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICNpbWFnZVxuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cblxuQHVzZSAncG9zaXRpb24nO1xuXG5AbWl4aW4gc3Jjc2V0KCRwb3NpdGlvbjpmYWxzZSkge1xuXG4gIGRpc3BsYXkgICAgICAgICAgICAgOiBibG9jaztcblx0YmFja2dyb3VuZC1wb3NpdGlvbiA6IHZhcigtLXBvc2l0aW9uLCBjZW50ZXIgMzMlKTtcblx0YmFja2dyb3VuZC1zaXplICAgICA6IGNvdmVyO1xuXHRiYWNrZ3JvdW5kLXJlcGVhdCAgIDogbm8tcmVwZWF0O1xuXHRvdmVyZmxvdyAgICAgICAgICAgIDogaGlkZGVuO1xuXG5cdEBpZiAkcG9zaXRpb24gPT0gJ2V4cGFuZGVkJyB7IFxuXHRcdEBpbmNsdWRlIHBvc2l0aW9uLmV4cGFuZGVkO1xuXHR9IEBlbHNlIGlmICRwb3NpdGlvbiA9PSAnYmxvd291dCcgeyBcblx0XHRAaW5jbHVkZSBwb3NpdGlvbi5ibG93b3V0O1xuXHR9IEBlbHNlIHtcblx0XHRwb3NpdGlvbiA6IHJlbGF0aXZlOyBcblx0fVxuXHRcbiAgaW1nIHtcbiAgICBkaXNwbGF5ICAgICAgICAgOiBibG9jaztcbiAgICBwb3NpdGlvbiAgICAgICAgOiBhYnNvbHV0ZTtcbiAgICBvYmplY3QtZml0ICAgICAgOiBjb3ZlcjtcbiAgICBvYmplY3QtcG9zaXRpb24gOiB2YXIoLS1pbWFnZS1wb3NpdGlvbiwgY2VudGVyIDMzLjMzJSk7XG5cdFx0d2lkdGggICAgICAgICAgIDogdmFyKC0taW1hZ2Utc2l6ZSwgdmFyKC0taW1hZ2Utd2lkdGgtc2l6ZSwgMTAwJSkpO1xuXHRcdGhlaWdodCAgICAgICAgICA6IHZhcigtLWltYWdlLXNpemUsIHZhcigtLWltYWdlLWhlaWdodC1zaXplLCAxMDAlKSk7IFxuXHRcdG1heC13aWR0aCAgICAgICA6IHZhcigtLWltYWdlLXNpemUsIHZhcigtLWltYWdlLXdpZHRoLXNpemUsIDEwMCUpKTtcblx0XHRtYXgtaGVpZ2h0ICAgICAgOiB2YXIoLS1pbWFnZS1zaXplLCB2YXIoLS1pbWFnZS1oZWlnaHQtc2l6ZSwgMTAwJSkpO1xuXHRcdHRvcCAgICAgICAgICAgICA6IDA7IFxuXHRcdGxlZnQgICAgICAgICAgICA6IDA7XG5cdH1cblxuXHRAY29udGVudDtcbn0iLCIvLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuLy8vIEFzcGVjdCBSYXRpbyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICNhc3BlY3QtcmF0aW9cbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG5cbkB1c2UgXCJzYXNzOnN0cmluZ1wiO1xuXG4vLy8gQGV4YW1wbGUgQGluY2x1ZGUgYXNwZWN0LXJhdGlvKDE2LzkpXG5cbkBtaXhpbiBhc3BlY3QtcmF0aW8oJHJhdGlvIDogJzE2LzknKSB7XG5cbiAgLS1hc3BlY3QtcmF0aW86ICN7c3RyaW5nLnVucXVvdGUoJHJhdGlvKX07XG4gIGFzcGVjdC1yYXRpbzogdmFyKC0tYXNwZWN0LXJhdGlvKTtcblxuICBAc3VwcG9ydHMgbm90IChhc3BlY3QtcmF0aW86ICN7c3RyaW5nLnVucXVvdGUoJHJhdGlvKX0pIHtcbiAgICBhc3BlY3QtcmF0aW86aW5pdGlhbDtcbiAgICBwYWRkaW5nLWJvdHRvbTogY2FsYygxMDAlLyh2YXIoLS1hc3BlY3QtcmF0aW8pKSk7XG4gICAgaGVpZ2h0OiAwO1xuICAgID4gKiB7IHBvc2l0aW9uOiBhYnNvbHV0ZTsgfSBcbiAgfVxufSIsIkB1c2UgJ3Nhc3M6bWFwJztcbkB1c2UgJ2NvbGxlY3Rpb25zL3N0eWxpbmcvYXNwZWN0LXJhdGlvJyBhcyAqO1xuXG5AbWl4aW4gY29udGFpbmVyKCRyYXRpbzonMTYvOScpIHtcblx0XG5cdEBpbmNsdWRlIGFzcGVjdC1yYXRpbygkcmF0aW8pO1xuXG5cdGRpc3BsYXkgICAgICAgICAgOiBibG9jaztcblx0cG9zaXRpb24gICAgICAgICA6IHJlbGF0aXZlO1xuXHR3aWR0aCAgICAgICAgICAgIDogMTAwJTtcblx0YmFja2dyb3VuZC1jb2xvciA6IGJsYWNrO1xuXG5cdGlmcmFtZSwgY2FudmFzIHtcblx0XHRwb3NpdGlvbiA6IGFic29sdXRlO1xuXHRcdGRpc3BsYXkgIDogYmxvY2s7XG5cdFx0dG9wICAgICAgOiAwOyBcblx0XHRsZWZ0ICAgICA6IDA7XG5cdFx0aGVpZ2h0ICAgOiAxMDAlICFpbXBvcnRhbnQ7IFxuXHRcdHdpZHRoICAgIDogMTAwJSAhaW1wb3J0YW50O1xuXHR9XG59IiwiQHVzZSAnLi4vX3ZhcmlhYmxlcycgYXMgKjtcblxuQG1peGluIG1hcmsoKSB7XG4gIGJhY2tncm91bmQtY29sb3I6ICRjb2xvdXJzLW1hcms7XG4gIGNvbG9yOiB3aGl0ZTtcbiAgYm9yZGVyLXJhZGl1czogY2FsYygjeyRib3JkZXItcmFkaXVzfSAvIDIpO1xuICBwYWRkaW5nOjAgNXB4O1xuICB0cmFuc2l0aW9uOiBjb2xvciAkdHJhbnNpdGlvbiwgYmFja2dyb3VuZC1jb2xvciAkdHJhbnNpdGlvbjtcbn1cblxuQG1peGluIG1hcmstcmVzZXQoKSB7XG4gIGJhY2tncm91bmQtY29sb3I6IGluaXRpYWw7XG4gIGNvbG9yOiBpbmhlcml0O1xuICBib3JkZXItcmFkaXVzOiBpbml0aWFsO1xuICBwYWRkaW5nOmluaXRpYWw7XG4gIHRyYW5zaXRpb246IGluaXRpYWw7XG59IiwiLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cbi8vIENvbG91ciBQYWxldHRlXG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuXG5AdXNlIFwiLi9tb2R1bGVzL2NvbG91clwiO1xuXG4vLyBBZGp1c3QgdGhlc2UgdG8gYW1lbmQgdGhlIGxpZ2h0bmVzcyBvciBkYXJrbmVzcyBhbW91bnRzIGZvciB0aGUgY29sb3VycyBsc2l0ZWQgYmVsb3cuLiBcblxuJF9saWdodG5lc3MgOiAxNSUgIWRlZmF1bHQ7XG4kX2RhcmtuZXNzICA6IDIwJSAhZGVmYXVsdDtcblxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbi8vIENvbW1vbiBDb2xvdXJzXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4kcmVkICAgICAgICAgIDogIzk3MDgwRSAhZGVmYXVsdDtcbiRyZWQtbGlnaHQgICAgOiBjb2xvdXIubGlnaHRlbigkcmVkLCAkX2xpZ2h0bmVzcykgIWRlZmF1bHQ7XG4kcmVkLWRhcmsgICAgIDogY29sb3VyLmRhcmtlbigkcmVkLCAkX2RhcmtuZXNzKSAhZGVmYXVsdDtcblxuJG9yYW5nZSAgICAgICA6ICNEQTRCMEYgIWRlZmF1bHQ7XG4kb3JhbmdlLWxpZ2h0IDogY29sb3VyLmxpZ2h0ZW4oJG9yYW5nZSwgJF9saWdodG5lc3MpICFkZWZhdWx0O1xuJG9yYW5nZS1kYXJrICA6IGNvbG91ci5kYXJrZW4oJG9yYW5nZSwgJF9kYXJrbmVzcykgIWRlZmF1bHQ7XG5cbiR5ZWxsb3cgICAgICAgOiAjRTlCMTA0ICFkZWZhdWx0O1xuJHllbGxvdy1saWdodCA6IGNvbG91ci5saWdodGVuKCR5ZWxsb3csICRfbGlnaHRuZXNzKSAhZGVmYXVsdDtcbiR5ZWxsb3ctZGFyayAgOiBjb2xvdXIuZGFya2VuKCR5ZWxsb3csICRfZGFya25lc3MpICFkZWZhdWx0O1xuXG4kZ3JlZW4gICAgICAgIDogIzQ4OEMxMyAhZGVmYXVsdDtcbiRncmVlbi1saWdodCAgOiBjb2xvdXIubGlnaHRlbigkZ3JlZW4sICRfbGlnaHRuZXNzKSAhZGVmYXVsdDtcbiRncmVlbi1kYXJrICAgOiBjb2xvdXIuZGFya2VuKCRncmVlbiwgJF9kYXJrbmVzcykgIWRlZmF1bHQ7XG5cbiRibHVlICAgICAgICAgOiAjMUI1NUMwICFkZWZhdWx0O1xuJGJsdWUtbGlnaHQgICA6IGNvbG91ci5saWdodGVuKCRibHVlLCAkX2xpZ2h0bmVzcykgIWRlZmF1bHQ7XG4kYmx1ZS1kYXJrICAgIDogY29sb3VyLmRhcmtlbigkYmx1ZSwgJF9kYXJrbmVzcykgIWRlZmF1bHQ7XG5cbiRwaW5rICAgICAgICAgOiAjRTA1RDZCICFkZWZhdWx0O1xuJHBpbmstbGlnaHQgICA6IGNvbG91ci5saWdodGVuKCRwaW5rLCAkX2xpZ2h0bmVzcykgIWRlZmF1bHQ7XG4kcGluay1kYXJrICAgIDogY29sb3VyLmRhcmtlbigkcGluaywgJF9kYXJrbmVzcykgIWRlZmF1bHQ7XG5cbiRwdXJwbGUgICAgICAgOiAjNjEzRDVBICFkZWZhdWx0O1xuJHB1cnBsZS1saWdodCA6IGNvbG91ci5saWdodGVuKCRwdXJwbGUsICRfbGlnaHRuZXNzKSAhZGVmYXVsdDtcbiRwdXJwbGUtZGFyayAgOiBjb2xvdXIuZGFya2VuKCRwdXJwbGUsICRfZGFya25lc3MpICFkZWZhdWx0O1xuXG4kZ3JleSAgICAgICAgIDogIzc4Nzg3OCAhZGVmYXVsdDtcbiRncmV5LWxpZ2h0ICAgOiBjb2xvdXIubGlnaHRlbigkZ3JleSwgJF9saWdodG5lc3MpICFkZWZhdWx0O1xuJGdyZXktZGFyayAgICA6IGNvbG91ci5kYXJrZW4oJGdyZXksICRfZGFya25lc3MpICFkZWZhdWx0O1xuXG4kYnJvd24gICAgICAgIDogIzc3NEYzOCAhZGVmYXVsdDtcbiRicm93bi1saWdodCAgOiBjb2xvdXIubGlnaHRlbigkYnJvd24sICRfbGlnaHRuZXNzKSAhZGVmYXVsdDtcbiRicm93bi1kYXJrICAgOiBjb2xvdXIuZGFya2VuKCRicm93biwgJF9kYXJrbmVzcykgIWRlZmF1bHQ7XG5cbiR3aGl0ZSAgICAgICAgOiAjRkZGRkZGICFkZWZhdWx0IDtcbiR3aGl0ZS1kYXJrICAgOiBjb2xvdXIubGlnaHRlbigkd2hpdGUsICRfbGlnaHRuZXNzKSAhZGVmYXVsdDtcblxuJGJsYWNrICAgICAgICA6ICMwMDAwMDAgIWRlZmF1bHQgO1xuJGJsYWNrLWxpZ2h0ICA6IGNvbG91ci5kYXJrZW4oJGJsYWNrLCAkX2RhcmtuZXNzKSAhZGVmYXVsdDtcblxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbi8vIFNvY2lhbCBNZWRpYSBDb2xvdXJzXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4vLy8gQHNlZSBodHRwczovL3d3dy5sb2NrZWRvd25zZW8uY29tL3NvY2lhbC1tZWRpYS1jb2xvcnMvXG5cbiRmYWNlYm9vazogICAgIzE4NzdmMiAhZGVmYXVsdDtcbiR0d2l0dGVyOiAgICAgIzFkYTFmMiAhZGVmYXVsdDtcbiRnb29nbGU6ICAgICAgIzQyODVmNCAhZGVmYXVsdDtcbiR5b3V0dWJlOiAgICAgI2ZmMDAwMCAhZGVmYXVsdDtcbiRsaW5rZWRpbjogICAgIzAwN2JiNSAhZGVmYXVsdDtcbiRpbnN0YWdyYW06ICAgI2MzMmFhMyAhZGVmYXVsdDtcbiRwaW50ZXJlc3Q6ICAgI2JkMDgxYyAhZGVmYXVsdDtcbiRkYWlseW1vdGlvbjogIzAwNjZEQyAhZGVmYXVsdDtcbiRzbmFwY2hhdDogICAgI2ZmZmMwMCAhZGVmYXVsdDtcbiRmbGlja3I6ICAgICAgI2Y0MDA4MyAhZGVmYXVsdDtcbiR2aW1lbzogICAgICAgIzFhYjdlYSAhZGVmYXVsdDtcbiR0aHVtYmxlcjogICAgIzM1NDY1ZCAhZGVmYXVsdDtcbiRyZWRkaXQ6ICAgICAgI2ZmNDUwMCAhZGVmYXVsdDtcbiR3aGF0c2FwcDogICAgIzI1ZDM2NiAhZGVmYXVsdDtcbiRza3lwZTogICAgICAgIzAwYWZmMCAhZGVmYXVsdDtcbiRkaXNjb3JkOiAgICAgIzcyODlkYSAhZGVmYXVsdDtcblxuJHNvY2lhbC1tZWRpYSA6IChcbiAgZmFjZWJvb2s6ICAgICAkZmFjZWJvb2ssXG4gIHR3aXR0ZXI6ICAgICAgJHR3aXR0ZXIsXG4gIGdvb2dsZTogICAgICAgJGdvb2dsZSxcbiAgeW91dHViZTogICAgICAkeW91dHViZSxcbiAgbGlua2VkaW46ICAgICAkbGlua2VkaW4sXG4gIGluc3RhZ3JhbTogICAgJGluc3RhZ3JhbSxcbiAgcGludGVyZXN0OiAgICAkcGludGVyZXN0LFxuICBkYWlseW1vdGlvbjogICRkYWlseW1vdGlvbixcbiAgc25hcGNoYXQ6ICAgICAkc25hcGNoYXQsXG4gIGZsaWNrcjogICAgICAgJGZsaWNrcixcbiAgdmltZW86ICAgICAgICAkdmltZW8sXG4gIHRodW1ibGVyOiAgICAgJHRodW1ibGVyLFxuICByZWRkaXQ6ICAgICAgICRyZWRkaXQsXG4gIHdoYXRzYXBwOiAgICAgJHdoYXRzYXBwLFxuICBza3lwZTogICAgICAgICRza3lwZSxcbiAgZGlzY29yZDogICAgICAkZGlzY29yZFxuKTtcblxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbi8vIE90aGVyIENvbG91cnNcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbiR5ZWxsbzogI0ZGQ0IwOCAhZGVmYXVsdDtcblxuLy8vIEhhbmRsZXMgdGhlIGN1cnNvciBzZWxlY3Rpb24gY29sb3VyXG4vLy8gQHNlZSBodHRwczovL2Nzcy10cmlja3MuY29tL2FsbWFuYWMvc2VsZWN0b3JzL3Mvc2VsZWN0aW9uL1xuXG4kaGlnaGxpZ2h0OiAjQjJEM0ZBICFkZWZhdWx0OyBcbiIsIi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG4vLyBUcmFuc2l0aW9uc1xuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cblxuQHVzZSBcImhlbHBlcnMvZWFzZVwiO1xuXG4kZHVyYXRpb24gOiAwLjJzO1xuJGVhc2UgICAgIDogZWFzZS4kaW4tb3V0O1xuJGRlbGF5ICAgIDogbnVsbDtcblxuJHRyYW5zaXRpb24gOiB2YXIoLS10cmFuc2l0aW9uLWR1cmF0aW9uLCAkZHVyYXRpb24pIHZhcigtLXRyYW5zaXRpb24tZWFzZSwgJGVhc2UpIHZhcigtLXRyYW5zaXRpb24tZGVsYXksICRkZWxheSk7XG5cbiRzaWRlYmFyLW9wZW46IDAuN3MgZWFzZS4kb3V0LXF1YXJ0O1xuJHNlYXJjaC1vcGVuOiAwLjRzIGVhc2UuJG91dC1jdWJpYztcbiRuYXYtYmFja2dyb3VuZDogMC4zcyBlYXNlLiRvdXQtcXVhcnQ7IiwiQHVzZSAnLi4vX3ZhcmlhYmxlcycgYXMgKjtcbkB1c2UgJy4uL19oZWxwZXJzJyBhcyAqO1xuXG5AbWl4aW4gZGVmYXVsdCgpIHtcbiAgLS1jZWxsLXBhZGRpbmcteSA6IDFyZW07XG4gIC0tY2VsbC1wYWRkaW5nLXggOiAxLjVyZW07XG4gIC0tY2VsbC1wYWRkaW5nICAgOiB2YXIoLS1jZWxsLXBhZGRpbmcteSkgdmFyKC0tY2VsbC1wYWRkaW5nLXgpO1xuXG4gIC8vIHdpZHRoOiAxMDAlO1xuICB0YWJsZS1sYXlvdXQ6IGZpeGVkO1xuICB0ZXh0LWFsaWduOiBsZWZ0O1xuXG4gIHRyIHtcbiAgICAmOm50aC1jaGlsZChvZGQpIHtcbiAgICAgIC8vIFRPRE86IGNoYW5nZSB0aGlzIHRvIHNvbWV0aGluZyBtb3JlIHNlbWFudGljXG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS10aGVtZS1jb250ZW50LW9wcG9zaXRlKTtcbiAgICB9XG5cbiAgICB0ZDpmaXJzdC1jaGlsZCgpIHtcbiAgICAgIGJvcmRlci1yaWdodDogMXB4IHNvbGlkICRncmV5O1xuICAgIH1cbiAgfVxuXG4gIHRkIHtcbiAgICBwYWRkaW5nOiB2YXIoLS1jZWxsLXBhZGRpbmcpO1xuICB9XG5cbiAgdGgge1xuICAgIHBhZGRpbmc6IHZhcigtLWNlbGwtcGFkZGluZyk7XG4gICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgbGlnaHRncmV5O1xuICB9XG5cbiAgJi52ZXJ0aWNhbCB7XG4gICAgdHIge1xuICAgICAgdGQ6Zmlyc3QtY2hpbGQgeyBmb250LXdlaWdodDogNjAwIH1cbiAgICB9XG4gIH1cblxuICAmLnByb2R1Y3Qtc3BlY3Mge1xuICAgIHRyIHtcbiAgICAgIHRkOmZpcnN0LWNoaWxkIHsgd2hpdGUtc3BhY2U6IG5vd3JhcCB9XG4gICAgICB0ZDpsYXN0LWNoaWxkIHsgd2lkdGg6IDEwMCU7IH1cbiAgICB9XG4gIH1cblxuICAmLnJlbGF0ZWQtcHJvZHVjdHMge1xuICAgIGEgeyAtLWZvbnQtY29sb3VyOiAjeyRyZWR9OyB9XG4gIH1cbn0iLCJAdXNlICdfbW9kdWxlcycgYXMgKjtcblxuXG5uYXZpZ2F0aW9uLWJhclx0e1xuXHRwb3NpdGlvbjogZml4ZWQ7XG4gIHRvcDogMDtcblx0d2lkdGg6IDEwMCU7XG5cdHdpZHRoOiB2YXIoLS1uYXZpZ2F0aW9uLWJhci13aWR0aCk7XG5cdGhlaWdodDogdmFyKC0tbmF2aWdhdGlvbi1iYXItaGVpZ2h0KTtcblx0bWF4LWhlaWdodDogLXdlYmtpdC1maWxsLWF2YWlsYWJsZTtcblx0cGFkZGluZzogMCAkZ2FwMiB2YXIoLS1nYXAteSk7XG5cdGJhY2tncm91bmQ6IHZhcigtLXRoZW1lLW5hdi1iYWNrZ3JvdW5kKTtcblx0Ym9yZGVyLXJpZ2h0OiAxcHggc29saWQgcmdiYSgkd2hpdGUsIDAuMik7XG5cdG92ZXJmbG93LXk6IGF1dG87XG5cdHotaW5kZXg6ICR6LWluZGV4LW5hdmlnYXRpb24tYmFyO1xuXHR0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kICR0cmFuc2l0aW9uLW5hdi1iYWNrZ3JvdW5kO1xuXG5cdGEsIGJ1dHRvbiB7XG5cdFx0LXdlYmtpdC10YXAtaGlnaGxpZ2h0LWNvbG9yOiAkdHJhbnNwYXJlbnQ7XG5cdH1cblxuXHRnbG9iYWwtc2VhcmNoLW1vYmlsZSAgeyBkaXNwbGF5OiBub25lIH1cblxuXHQubmF2aWdhdGlvbi1jb250YWluZXIge1xuXG5cdFx0ZGlzcGxheTogZmxleDtcblx0XHRmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuXHRcdEBpbmNsdWRlIHNxdWFyZSgxMDAlKTtcblxuXHRcdGEubG9nbyB7XG5cdFx0XHRkaXNwbGF5OiBmbGV4O1xuXHRcdFx0ZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcblx0XHRcdGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XG5cdFx0XHR3aWR0aDogOTUlO1xuXHRcdFx0bWluLWhlaWdodDogdmFyKC0tbG9nby1oZWlnaHQpO1xuXHRcdFx0aGVpZ2h0OiB2YXIoLS1sb2dvLWhlaWdodCk7XG5cdFx0XHRtYXJnaW4tYm90dG9tOiB2YXIoLS1nYXAteSk7XG5cdFxuXHRcdFx0PiBzdmcge1xuXHRcdFx0XHR3aWR0aDogMTAwJTtcblx0XHRcdFx0Y29sb3I6IHZhcigtLXRoZW1lLWxvZ28pO1xuXHRcdFx0fVxuXG5cdFx0XHQmLmxvZ28tbW9iaWxlIHsgZGlzcGxheTogbm9uZSB9XG5cdFx0fVxuXG5cdFx0Z2xvYmFsLXNlYXJjaC1kZXNrdG9wIHsgbWFyZ2luLWJvdHRvbTogJGdhcDIgfVxuXHR9XG5cblx0bmF2IHtcblx0XHRuYXZpZ2F0aW9uLWxpbmtzIHtcblx0XHRcdC0tZmFsbGJhY2stbWF4LWhlaWdodDogNjAwcHg7XG5cdFx0XHQtLWJhc2Utc3BhY2luZzogI3skZ2FwMH07XG5cblx0XHRcdGRpc3BsYXk6IGJsb2NrO1xuXG5cdFx0XHQudG9wLWxldmVsLWxpbmsge1xuXHRcdFx0XHRwYWRkaW5nOiAkZ2FwMCAwO1xuXG5cdFx0XHRcdCY6Zmlyc3QtY2hpbGQgeyBwYWRkaW5nLXRvcDogMCB9XG5cblx0XHRcdFx0Ji5oYXMtY2hpbGRyZW4ge1xuXHRcdFx0XHRcdD4gYTpob3ZlciBzdmcgeyBvcGFjaXR5OiAxIH1cblx0XHRcdFx0fVxuXHRcdFx0fVxuXG5cdFx0XHQuc3ViLW1lbnUge1xuXHRcdFx0XHRsaSB7XG5cdFx0XHRcdFx0cGFkZGluZzogY2FsYygkZ2FwMCAvIDIpIDA7XG5cblx0XHRcdFx0XHQmOmZpcnN0LWNoaWxkIHsgcGFkZGluZy10b3A6ICRnYXAwIH1cblx0XHRcdFx0XHQmOmxhc3QtY2hpbGQgIHsgcGFkZGluZy1ib3R0b206ICRnYXAwIH1cblx0XHRcdFx0fVxuXHRcdFx0fVxuXG5cblx0XHRcdHVsIHtcblx0XHRcdFx0bGkge1xuXHRcdFx0XHRcdGEge1xuXHRcdFx0XHRcdFx0dHJhbnNpdGlvbjogb3BhY2l0eSAkdHJhbnNpdGlvbiwgY29sb3IgJHRyYW5zaXRpb24sIHRleHQtZGVjb3JhdGlvbi1jb2xvciAkdHJhbnNpdGlvbjtcblxuXHRcdFx0XHRcdFx0Jjpub3QoLmFjdGl2ZSkge1xuXHRcdFx0XHRcdFx0XHQtLWZvbnQtY29sb3VyOiB2YXIoLS10aGVtZS1uYXYtZm9udCk7XG5cdFx0XHRcdFx0XHR9XG5cblx0XHRcdFx0XHRcdCYuYWN0aXZlIHsgXG5cdFx0XHRcdFx0XHRcdC0tZm9udC1jb2xvdXI6IHZhcigtLXRoZW1lLWFjY2VudCk7XG5cblx0XHRcdFx0XHRcdFx0QGluY2x1ZGUgaG92ZXIoKSB7XG5cdFx0XHRcdFx0XHRcdFx0dGV4dC1kZWNvcmF0aW9uLWNvbG9yOiAkdHJhbnNwYXJlbnQgIWltcG9ydGFudDtcblx0XHRcdFx0XHRcdFx0XHR0ZXh0LWRlY29yYXRpb246IG5vbmU7XG5cdFx0XHRcdFx0XHRcdH1cblx0XHRcdFx0XHRcdH1cblxuXHRcdFx0XHRcdFx0PiBzdmcge1xuXHRcdFx0XHRcdFx0XHRjb2xvcjogdmFyKC0tdGhlbWUtbmF2LWZvbnQpO1xuXHRcdFx0XHRcdFx0XHR0cmFuc2l0aW9uOiBvcGFjaXR5ICR0cmFuc2l0aW9uLCB0cmFuc2Zvcm0gJHRyYW5zaXRpb247XG5cdFx0XHRcdFx0XHRcdHdpZHRoOiAxZW07XG5cdFx0XHRcdFx0XHRcdGhlaWdodDogMWVtO1xuXHRcdFx0XHRcdFx0XHRvcGFjaXR5OiAwLjI7XG5cdFx0XHRcdFx0XHR9XG5cdFx0XHRcdFx0fVxuXG5cdFx0XHRcdFx0dWwge1xuXHRcdFx0XHRcdFx0LS10cmFuc2l0aW9uLWR1cmF0aW9uOiAwLjMyNXM7XG5cblx0XHRcdFx0XHRcdG1heC1oZWlnaHQ6IDA7XG5cdFx0XHRcdFx0XHRvcGFjaXR5OiAwO1xuXHRcdFx0XHRcdFx0b3ZlcmZsb3c6IGhpZGRlbjtcblx0XHRcdFx0XHRcdHRyYW5zaXRpb246IG1heC1oZWlnaHQgJHRyYW5zaXRpb24sIG9wYWNpdHkgJHRyYW5zaXRpb247XG5cdFx0XHRcdFx0XHRtYXJnaW4tbGVmdDogJGdhcDtcblxuXHRcdFx0XHRcdFx0bGkge1xuXHRcdFx0XHRcdFx0XHRhOm5vdCguYWN0aXZlKSB7XG5cdFx0XHRcdFx0XHRcdFx0b3BhY2l0eTogMC41O1xuXHRcdFx0XHRcdFx0XHRcdEBpbmNsdWRlIGhvdmVyIHsgb3BhY2l0eTogMSB9XG5cdFx0XHRcdFx0XHRcdH1cblx0XHRcdFx0XHRcdH1cblx0XHRcdFx0XHR9XG5cblx0XHRcdFx0XHQmLmhhcy1jaGlsZHJlbiB7XG5cdFx0XHRcdFx0XHQ+IGEge1xuXHRcdFx0XHRcdFx0XHRkaXNwbGF5OiBmbGV4O1xuXHRcdFx0XHRcdFx0XHRqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG5cdFx0XHRcdFx0XHRcdGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cdFx0XHRcdFx0XHR9XG5cblx0XHRcdFx0XHRcdCYub3BlbiB7XG5cdFx0XHRcdFx0XHRcdD4gYSA+IHN2ZyB7XG5cdFx0XHRcdFx0XHRcdFx0dHJhbnNmb3JtOiByb3RhdGUoOTBkZWcpO1xuXHRcdFx0XHRcdFx0XHR9XG5cblx0XHRcdFx0XHRcdFx0PiB1bCB7XG5cdFx0XHRcdFx0XHRcdFx0bWF4LWhlaWdodDogdmFyKC0tbGluay1tYXgtaGVpZ2h0LCB2YXIoLS1mYWxsYmFjay1tYXgtaGVpZ2h0KSk7XG5cdFx0XHRcdFx0XHRcdFx0b3BhY2l0eTogMTtcblx0XHRcdFx0XHRcdFx0fVxuXHRcdFx0XHRcdFx0fVxuXHRcdFx0XHRcdH1cblx0XHRcdFx0fVxuXHRcdFx0fVxuXG5cdFx0XHQudG9wLWxldmVsLWxpbmtzIHtcblx0XHRcdFx0PiBsaSA+IGEgeyB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlIH1cblx0XHRcdH1cblxuXHRcdFx0Lm1vYmlsZS1saW5rLmhpZGRlbiB7IGRpc3BsYXk6IG5vbmUgfVxuXHRcdH1cblx0fVxuXG5cdG5hdmlnYXRpb24tY29udHJvbHMge1xuXHRcdGRpc3BsYXk6IG5vbmU7XG5cdFx0YWxpZ24taXRlbXM6IGNlbnRlcjtcblxuXHRcdCYgPiAqOm5vdCg6Zmlyc3QtY2hpbGQpIHtcblx0XHRcdG1hcmdpbi1sZWZ0OiB2YXIoLS1ndXR0ZXIzKTtcblx0XHR9XG5cblx0XHRhLCBidXR0b24ge1xuXHRcdFx0ZGlzcGxheTogYmxvY2s7XG5cdFx0XHRoZWlnaHQ6IGZpdC1jb250ZW50O1xuXG5cdFx0XHRzdmcge1xuXHRcdFx0XHRoZWlnaHQ6IDI1cHg7XG5cdFx0XHRcdHdpZHRoOiAyNXB4O1xuXHRcdFx0XHRjb2xvcjogdmFyKC0tdGhlbWUtbmF2LWZvbnQpO1xuXHRcdFx0XHR2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuXHRcdFx0fVxuXHRcdH1cblxuXHRcdGJ1dHRvbi5tZW51IHtcblx0XHRcdC0tc3ltYm9sLWNvbG91cjogdmFyKC0tdGhlbWUtbmF2LWZvbnQsIHdoaXRlKTtcblxuXHRcdFx0c3ZnIHtcblx0XHRcdFx0LS1jb3JuZXItb2Zmc2V0OiAxMHB4O1xuXG5cdFx0XHRcdHdpZHRoOjMwcHg7XG5cdFx0XHRcdGhlaWdodDozMHB4O1xuXHRcdFxuXHRcdFx0XHRwb2x5Z29uIHtcblx0XHRcdFx0XHRjbGlwLXBhdGg6IHBvbHlnb24oMTQwcHggMjBweCwgMCAyMHB4LCB2YXIoLS1jb3JuZXItb2Zmc2V0LCAxMHB4KSAwLCAxNDBweCAwKTtcblx0XHRcdFx0XHR0cmFuc2l0aW9uOiBhbGwgJHRyYW5zaXRpb247XG5cdFx0XHRcdFx0XG5cdFx0XHRcdFx0JjpudGgtY2hpbGQoMSkge1xuXHRcdFx0XHRcdFx0dHJhbnNmb3JtLW9yaWdpbjogMTUlIDMwJTtcblx0XHRcdFx0XHR9XG5cdFx0XG5cdFx0XHRcdFx0JjpudGgtY2hpbGQoMikge1xuXHRcdFx0XHRcdFx0b3BhY2l0eTogMTtcblx0XHRcdFx0XHR9XG5cdFx0XG5cdFx0XHRcdFx0JjpudGgtY2hpbGQoMykge1xuXHRcdFx0XHRcdFx0dHJhbnNmb3JtLW9yaWdpbjogMTUlIDcwJVxuXHRcdFx0XHRcdH1cblx0XHRcdFx0fVxuXHRcdFx0fVxuXHRcdH1cblx0fVxuXG5cdC5leHRyYS1saW5rcyB7XG5cdFx0LS1mb250LWNvbG91cjogdmFyKC0tdGhlbWUtbmF2LWZvbnQpO1xuXHRcdC0tbGluay1zcGFjaW5nOiAjeyRnYXB9O1xuXHRcdC0tb3BhY2l0eTogMC42O1xuXG5cdFx0ZGlzcGxheTogZmxleDtcblx0XHRmb250LXNpemU6ICRmb250LXNpemUtbWluO1xuXHRcdG9wYWNpdHk6IHZhcigtLW9wYWNpdHkpO1xuXHRcdG1hcmdpbi10b3A6IGF1dG87XG5cdFx0ZmxleC13cmFwOiB3cmFwO1xuXHRcdGdhcDoxcmVtO1xuXG5cdFx0Ly8gbGkgKyBsaSB7XG5cdFx0bGk6bm90KDpsYXN0LW9mLXR5cGUpIHtcblx0XHRcdHBvc2l0aW9uOiByZWxhdGl2ZTtcblx0XHRcdGRpc3BsYXk6IGlubGluZS1mbGV4O1xuXHRcdFx0YWxpZ24taXRlbXM6IGNlbnRlcjtcblx0XHRcdGdhcDoxY2g7XG5cdFx0XHRtaW4td2lkdGg6IGZpdC1jb250ZW50O1xuXHRcdH1cblxuXHRcdGEge1xuXHRcdFx0dGV4dC1kZWNvcmF0aW9uOiBub25lO1xuXHRcdFx0d2hpdGUtc3BhY2U6IG5vd3JhcDtcblx0XHRcdEBpbmNsdWRlIGhvdmVyIHsgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmUgfVxuXHRcdH1cblx0fVxufVxuXG5cblxuXG5cbkBpbmNsdWRlIGJyZWFrLWluKCdzbWFsbC1tZWRpdW0nKSB7XG5cblx0bmF2aWdhdGlvbi1iYXIge1xuXG5cdFx0LS1uYXZpZ2F0aW9uLWJhci13aWR0aDogMTAwJTtcblx0XHQtLW5hdmlnYXRpb24tYmFyLWhlaWdodDogbWluLWNvbnRlbnQ7XG5cdFx0LS1sb2dvLWhlaWdodDogMTAwJTtcblx0XHQtLXJvdy1wYWRkaW5nOiAxcmVtIHZhcigtLWdhcC14KTtcblxuXHRcdC0tdGhlbWUtbmF2LWZvbnQ6IHZhcigtLXRoZW1lLW5hdi1mb250LW1vYik7XG5cdFx0LS10aGVtZS1sb2dvOiB2YXIoLS10aGVtZS1uYXYtZm9udC1tb2IpO1xuXG5cdFx0cG9zaXRpb246IHJlbGF0aXZlO1xuXHRcdHBhZGRpbmc6IDA7XG5cdFx0b3ZlcmZsb3c6IHZpc2libGU7XG5cdFx0Ym9yZGVyLXJpZ2h0OiBub25lO1xuXG5cblx0XHQuZXh0cmEtbGlua3MgeyBkaXNwbGF5OiBub25lIH1cblx0XHRnbG9iYWwtc2VhcmNoLWRlc2t0b3BcdCB7IGRpc3BsYXk6IG5vbmUgfVxuXG5cdFx0Lm5hdmlnYXRpb24tY29udGFpbmVyLCBnbG9iYWwtc2VhcmNoLW1vYmlsZSB7XG5cdFx0XHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS10aGVtZS1uYXYtYmFja2dyb3VuZC1tb2IpO1xuXHRcdH1cblxuXHRcdGdsb2JhbC1zZWFyY2gtbW9iaWxlICB7XG5cdFx0XHRwb3NpdGlvbjogcmVsYXRpdmU7XG5cdFx0XHRkaXNwbGF5OiBibG9jaztcblx0XHRcdHBhZGRpbmc6IHZhcigtLXJvdy1wYWRkaW5nKTtcblx0XHRcdGhlaWdodDogdmFyKC0tbmF2aWdhdGlvbi1tb2JpbGUtc2VhcmNoLWhlaWdodCk7XG5cdFx0XHRtYXJnaW4tdG9wOiBjYWxjKC0xICogdmFyKC0tbmF2aWdhdGlvbi1tb2JpbGUtc2VhcmNoLWhlaWdodCkgLSAwcHgpO1xuXHRcdFx0dHJhbnNpdGlvbjogbWFyZ2luLXRvcCAkdHJhbnNpdGlvbi1zZWFyY2gtb3Blbjtcblx0XHRcdGJvcmRlci1ib3R0b206IDFweCBzb2xpZCB2YXIoLS10aGVtZS1uYXYtc3BhY2luZy1jb2xvdXIpO1xuXHRcdFx0ei1pbmRleDogJHotaW5kZXgtZ2xvYmFsLXNlYXJjaC1tb2JpbGU7XG5cblx0XHRcdGZvcm0ge1xuXHRcdFx0XHRkaXNwbGF5OiBmbGV4O1xuXHRcdFx0XHRmbGV4LXdyYXA6IG5vd3JhcDtcblx0XHRcdFx0YWxpZ24taXRlbXM6IGNlbnRlcjtcblxuXHRcdFx0XHRpbnB1dFt0eXBlPVwic2VhcmNoXCJdIHsgYm9yZGVyLXJpZ2h0OiBub25lOyB9XG5cblx0XHRcdFx0c2VsZWN0IHtcblx0XHRcdFx0XHQtLWZvbnQtY29sb3VyOiAjeyR3aGl0ZX07XG5cdFx0XHRcdFx0LS1iYWNrZ3JvdW5kLWNvbG91cjogI3skcmVkfTtcblx0XHRcdFx0XHRAaW5jbHVkZSBmb3JtLWFycm93LWRvd24taW1hZ2UoJHdoaXRlKTtcblx0XHRcdFx0fVxuXHRcdFx0fVxuXHRcdH1cblxuXHRcdG5hdmlnYXRpb24tY29udHJvbHMge1xuXHRcdFx0ZGlzcGxheTogZmxleDtcblx0XHRcdG1hcmdpbi1ib3R0b206IDA7XG5cdFx0fVxuXG5cdFx0Lm5hdmlnYXRpb24tY29udGFpbmVyIHtcblx0XHRcdGZsZXgtZGlyZWN0aW9uOiByb3c7XG5cdFx0XHRqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG5cdFx0XHRoZWlnaHQ6IHZhcigtLW5hdmlnYXRpb24tY29udGFpbmVyLWhlaWdodCk7XG5cdFx0XHRwYWRkaW5nOiB2YXIoLS1yb3ctcGFkZGluZyk7XG5cdFx0XHRib3JkZXItYm90dG9tOiAxcHggc29saWQgdmFyKC0tdGhlbWUtbmF2LXNwYWNpbmctY29sb3VyKTtcblx0XHRcdHotaW5kZXg6ICR6LWluZGV4LW5hdmlnYXRpb24tYmFyLWNvbnRhaW5lcjtcblx0XHRcdFxuXHRcdFx0YS5sb2dvIHtcblx0XHRcdFx0bWFyZ2luLWJvdHRvbTogMDtcblx0XHRcdFx0d2lkdGg6IGZpdC1jb250ZW50O1xuXG5cdFx0XHRcdCYubG9nby1kZXNrdG9wIHsgZGlzcGxheTogbm9uZSB9XG5cdFx0XHRcdCYubG9nby1tb2JpbGUgIHsgXG5cdFx0XHRcdFx0ZGlzcGxheTogYmxvY2s7XG5cdFx0XHRcdFx0bWFyZ2luLWxlZnQ6IC0zcmVtO1xuXHRcdFx0XHR9XG5cdFxuXHRcdFx0XHRzdmcgeyBcblx0XHRcdFx0XHR3aWR0aDogdW5zZXQ7XG5cdFx0XHRcdFx0aGVpZ2h0OiAxMDAlO1xuXHRcdFx0XHR9XG5cdFx0XHR9XG5cdFx0fVxuXG5cdFx0bmF2IHtcblx0XHRcdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0XHRcdHRvcDogY2FsYygxMDAlICsgMHB4KTtcblx0XHRcdGxlZnQ6IDA7XG5cdFx0XHR3aWR0aDogMTAwJTtcblx0XHRcdGhlaWdodDogMTAwdmg7XG5cdFx0XHRwYWRkaW5nOiB2YXIoLS1nYXAteSkgdmFyKC0tZ2FwLXgpIHZhcigtLW5hdmlnYXRpb24tY29udGFpbmVyLWhlaWdodCk7XG5cdFx0XHRiYWNrZ3JvdW5kOiB2YXIoLS10aGVtZS1uYXYtYmFja2dyb3VuZC1tb2IpO1xuXHRcdFx0b3ZlcmZsb3cteTogYXV0bztcblx0XHRcdG9wYWNpdHk6IDA7XG5cdFx0XHRwb2ludGVyLWV2ZW50czogbm9uZTtcblx0XHRcdHRyYW5zaXRpb246IG9wYWNpdHkgJHRyYW5zaXRpb24tbmF2LWJhY2tncm91bmQ7XG5cblx0XHRcdC50b3AtbGV2ZWwtbGlua3MgeyBvcGFjaXR5OiAwIH1cblx0XHR9XG5cdH1cblxuXG5cblxuXG5cblx0Ly8gQWN0aXZhdGVkIGNvbXBvbmVudHNcblxuXHRib2R5IHtcblx0XHQmLm1vYmlsZS1zZWFyY2gtb3BlbiB7XG5cdFx0XHRuYXZpZ2F0aW9uLWJhciB7XG5cdFx0XHRcdGdsb2JhbC1zZWFyY2gtbW9iaWxlIHsgbWFyZ2luLXRvcDogMCB9XG5cdFx0XHR9XG5cdFx0fVxuXHRcblx0XHQmLm1vYmlsZS1uYXZpZ2F0aW9uLW9wZW4ge1xuXHRcdFx0bmF2aWdhdGlvbi1iYXIge1xuXHRcdFx0XHQvLyBiYWNrZ3JvdW5kOiB2YXIoLS1hY3RpdmF0ZWQtYmFja2dyb3VuZCk7XG5cblx0XHRcdFx0bmF2IHtcblx0XHRcdFx0XHRwb2ludGVyLWV2ZW50czogYWxsO1xuXHRcdFx0XHRcdG9wYWNpdHk6IDE7XG5cblx0XHRcdFx0XHQudG9wLWxldmVsLWxpbmtzIHtcblx0XHRcdFx0XHRcdG9wYWNpdHk6IDE7XG5cdFx0XHRcdFx0XHR0cmFuc2l0aW9uOiBhbGwgMC4zcyAkZWFzZS1vdXQtcXVhcnQgMC4zcztcblx0XHRcdFx0XHR9XG5cdFx0XHRcdH1cblxuXHRcdFx0XHRidXR0b24ubWVudSB7XG5cdFx0XHRcdFx0c3ZnIHtcblx0XHRcdFx0XHRcdC0tY29ybmVyLW9mZnNldDogMDtcblx0XHRcdFx0XG5cdFx0XHRcdFx0XHRwb2x5Z29uIHtcblx0XHRcdFx0XHRcdFx0JjpudGgtY2hpbGQoMSkge1xuXHRcdFx0XHRcdFx0XHRcdHRyYW5zZm9ybTogcm90YXRlKDQ1ZGVnKSBzY2FsZVkoODAlKTtcblx0XHRcdFx0XHRcdFx0XHQtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlKDQ1ZGVnKSBzY2FsZVkoODAlKTtcblx0XHRcdFx0XHRcdFx0fVxuXHRcdFx0XHRcblx0XHRcdFx0XHRcdFx0JjpudGgtY2hpbGQoMikge1xuXHRcdFx0XHRcdFx0XHRcdG9wYWNpdHk6IDA7XG5cdFx0XHRcdFx0XHRcdH1cblx0XHRcdFx0XG5cdFx0XHRcdFx0XHRcdCY6bnRoLWNoaWxkKDMpIHtcblx0XHRcdFx0XHRcdFx0XHR0cmFuc2Zvcm06IHJvdGF0ZSgtNDVkZWcpIHNjYWxlWSg4MCUpO1xuXHRcdFx0XHRcdFx0XHRcdC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUoLTQ1ZGVnKSBzY2FsZVkoODAlKTtcblx0XHRcdFx0XHRcdFx0fVxuXHRcdFx0XHRcdFx0fVxuXHRcdFx0XHRcdH1cblx0XHRcdFx0fVxuXHRcdFx0fVxuXHRcdH1cbiAgfVxufSIsIkB1c2UgJ19tb2R1bGVzJyBhcyAqO1xuXG4uaGVhdHNpbmtzLWhvbWUsXG4uY29tcG9uZW50cy1ob21lIHtcbiAgaGVhZGVyLmhlYWRlciB7XG4gICAgdHJhbnNpdGlvbjogYWxsIDAuOHMgMC4ycztcbiAgfVxufVxuXG4uaGVhZGVyIHtcbiAgYWxpZ24tc2VsZjogZW5kO1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICB6LWluZGV4OiAkei1pbmRleC1oZWFkZXI7XG5cbiAgLmhlYWRpbmcsXG4gIC5zdWJoZWFkaW5nIHtcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICB9XG5cbiAgLmhlYWRpbmcge1xuICAgIG9yZGVyOiAyO1xuICAgIGZvbnQtd2VpZ2h0OiA4MDA7XG4gIH1cblxuICAuc3ViaGVhZGluZyB7XG4gICAgY29sb3I6IHZhcigtLXRoZW1lLWFjY2VudCk7XG4gICAgbWFyZ2luLWJvdHRvbTogJGdhcDtcblxuICAgIGEge1xuICAgICAgLS1oZWFkaW5nLWNvbG91cjogdmFyKC0tdGhlbWUtYWNjZW50KTtcbiAgICAgIC8vIHRleHQtZGVjb3JhdGlvbi1jb2xvcjogdmFyKC0tdGhlbWUtYWNjZW50KTtcbiAgICAgIGNvbG9yOiB2YXIoLS10aGVtZS1hY2NlbnQpO1xuICAgIH1cbiAgfVxuXG4gIC5zbmlwcGV0IHtcbiAgICBvcmRlcjogMztcbiAgICBtYXJnaW4tdG9wOiAycmVtO1xuXG4gICAgQGluY2x1ZGUgYnJlYWstb3V0KCdzbWFsbC1tZWRpdW0nKSB7XG4gICAgICBtYXgtd2lkdGg6IDEwMDBweDtcbiAgICB9XG4gIH1cblxuICAmLnRyYW5zaXRpb24ge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0xMCUpO1xuICB9XG59XG4iLCJAdXNlICdfbW9kdWxlcycgYXMgKjtcblxubWFpbiB7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG5cdGdyaWQtZ2FwOiB2YXIoLS1nYXAteSk7XG5cdHotaW5kZXg6ICR6LWluZGV4LW1haW47XG5cdC8vIGhlaWdodDogMTAwJTtcblxuXHRjb250ZW50LWJsb2NrcyB7XG5cdFx0ZGlzcGxheTogZ3JpZDtcblx0XHRncmlkLWdhcDogdmFyKC0tZ2FwLXkpO1xuXG5cdFx0c2VjdGlvbiB7XG5cdFx0XHRkaXNwbGF5OiBncmlkO1xuXHRcdFx0Z3JpZC1nYXA6IHZhcigtLWdhcC15KTtcblx0XHR9XG5cdH1cblxuXHRAaW5jbHVkZSBjb21wb25lbnQtZG9lc250LWV4aXN0KCdzY3JvbGwtYmFyJykge1xuXHRcdHBvc2l0aW9uOiByZWxhdGl2ZTtcblx0fVxuXG5cdEBpbmNsdWRlIGJyZWFrLW91dCgnbGFyZ2UnKSB7XG5cdFx0cGFkZGluZy1ib3R0b206IHZhcigtLWdhcC15KTtcblx0fVxufSIsIkB1c2UgXCJzYXNzOmxpc3RcIjtcblxuLy8vIEBleGFtcGxlIEBpbmNsdWRlIGNvbXBvbmVudC1leGlzdHMoJ2JhY2tncm91bmQtaW1hZ2UnKSB7IG9wYWNpdHk6MC41OyB9XG4vLy8gUGFzcyBpbiBtdWx0dWlwbGUgY29tcGVuZW50IG5hbWVzIGlmIHlvdSB3YW50IHRvIGNoZWNrIHRoZXkgYWxsIGV4aXN0XG5cbkBtaXhpbiBleGlzdHMoJG5hbWVzLi4uKSB7XG5cbiAgJHNlbGVjdG9yIDogJ2JvZHknO1xuICAkcGFyZW50IDppZihsaXN0Lm50aChsaXN0Lm50aCgmLCAxKSwgMSkgPT0gJzpyb290JywgJycsICYpO1xuXG4gIEBlYWNoICRuYW1lIGluICRuYW1lcyB7XG4gICAgJHNlbGVjdG9yIDogJHNlbGVjdG9yICsgJ1tkYXRhLWNvbXBvbmVudHMqPVwiI3skbmFtZX1cIl0nO1xuICB9XG5cbiAgQGF0LXJvb3QgI3skc2VsZWN0b3J9IHtcbiAgICBAY29udGVudDtcbiAgfVxufVxuXG4vLy8gQGV4YW1wbGUgQGluY2x1ZGUgY29tcG9uZW50LWRvZXNudC1leGlzdHMoJ2JhY2tncm91bmQtaW1hZ2UnKSB7IG9wYWNpdHk6MC41OyB9XG4vLy8gUGFzcyBpbiBtdWx0dWlwbGUgY29tcGVuZW50IG5hbWVzIGlmIHlvdSB3YW50IHRvIGNoZWNrIG5vbmUgZXhpc3RcblxuQG1peGluIGRvZXNudC1leGlzdCgkbmFtZXMuLi4pIHtcblxuICAkc2VsZWN0b3IgOiAnYm9keSc7XG4gICRwYXJlbnQgOmlmKGxpc3QubnRoKGxpc3QubnRoKCYsIDEpLCAxKSA9PSAnOnJvb3QnLCAnJywgJik7XG4gIFxuICBAZWFjaCAkbmFtZSBpbiAkbmFtZXMge1xuICAgICRzZWxlY3RvciA6ICRzZWxlY3RvciArICc6bm90KFtkYXRhLWNvbXBvbmVudHMqPVwiI3skbmFtZX1cIl0pJztcbiAgfVxuXG4gIEBhdC1yb290ICN7JHNlbGVjdG9yfSB7XG4gICAgQGNvbnRlbnQ7XG4gIH1cbn1cbiIsIkB1c2UgJ19tb2R1bGVzJyBhcyAqO1xuXG5zaWRlLWJhciB7XG5cdHBvc2l0aW9uOiByZWxhdGl2ZTtcblx0d2lkdGg6IHZhcigtLXNpZGViYXItd2lkdGgpO1xuXHRtYXgtd2lkdGg6IHZhcigtLXNpZGViYXItbWF4LXdpZHRoKTtcblx0aGVpZ2h0OiAxMDAlO1xuXHR6LWluZGV4OiAkei1pbmRleC1tYWluO1xuXG5cdGRpdi5jb250ZW50LWJsb2NrLmNhbGxUb0FjdGlvbntcblx0XHRwb3NpdGlvbjogZml4ZWQ7XG5cdFx0Ym90dG9tOiAwO1xuXHRcdHRvcDogdW5zZXQ7XG5cdFx0bWFyZ2luLWJvdHRvbTogMDtcblx0XHRwYWRkaW5nLWJvdHRvbTogMDtcblxuXHRcdEBtZWRpYShtYXgtd2lkdGg6IDk4MHB4KXtcblx0XHRcdHJpZ2h0OiAwO1xuXHRcdH1cblx0XHRAbWVkaWEobWluLXdpZHRoOiA5ODBweCkgYW5kIChtYXgtd2lkdGg6IDE0MDBweCl7XG5cdFx0XHRtYXJnaW4tbGVmdDogY2FsYyhjbGFtcCgycmVtLCA1dncsIDhyZW0pICogLTEpO1xuXHRcdH1cblx0fVxuXG5cdEBtZWRpYSAobWF4LXdpZHRoOiAxNDAwcHgpIHtcblx0XHRtYXJnaW4tYm90dG9tOiAyMDBweDtcblx0XHRcblx0fVxuXG5cdCYuZnJlZSB7XG5cdFx0LS1jb250YWluZXItcGFkZGluZzogNHJlbTtcblx0fVxuXG5cdCYuY29udGFpbiB7XG5cdFx0PiBkaXYge1xuXHRcdFx0cGFkZGluZy1yaWdodDogdmFyKC0tZ2FwLXgpO1xuXHRcdH1cblx0fVxuXG5cdCZbZGF0YS1iZWhhdmlvdXI9XCJzdGlja3lcIl0ge1xuXHRcdC0tc3RpY2t5LXNwYWNpbmc6IDA7XG5cblx0XHQmLmNvbnRhaW4ge1xuXHRcdFx0LS1zdGlja3ktc3BhY2luZzogdmFyKC0tZ2FwLXkpO1xuXHRcdH1cblxuXHRcdD4gZGl2IHtcblx0XHRcdHBvc2l0aW9uOiBzdGlja3k7XG5cdFx0XHR0b3A6IHZhcigtLXN0aWNreS1zcGFjaW5nKTtcblx0XHR9XG5cblx0XHRAaW5jbHVkZSBicmVhay1pbignbGFyZ2UnKSB7XG5cdFx0XHQ+IGRpdiB7XG5cdFx0XHRcdHBvc2l0aW9uOiByZWxhdGl2ZTtcblx0XHRcdFx0dG9wOiAwO1xuXHRcdFx0fVxuXHRcdH1cblx0fVxuXG5cblx0QGluY2x1ZGUgYnJlYWstaW4oJ2xhcmdlJykge1xuXHRcdCY6bm90KFtkYXRhLWJlaGF2aW91cj1cImZvbGRvdXRcIl0pIHtcblx0XHRcdC0tc2lkZWJhci1tYXgtd2lkdGg6IDEwMCU7XG5cdFx0XHQtLXNpZGViYXItd2lkdGg6IDEwMCU7XG5cdFx0XHRcblx0XHRcdD4gZGl2IHtcblx0XHRcdFx0bWFyZ2luLWJvdHRvbTogY2FsYyh2YXIoLS1nYXAteSkgKiAyKTtcblx0XHRcdH1cblx0XHR9XG5cblx0XHQmLmNvbnRhaW4ge1xuXHRcdFx0PiBkaXYge1xuXHRcdFx0XHRwYWRkaW5nOiAwO1xuXHRcdFx0fVxuXHRcdH1cblx0fVxuXG5cblx0JltkYXRhLWJlaGF2aW91cj1cImZvbGRvdXRcIl0ge1xuXHRcdHotaW5kZXg6ICR6LWluZGV4LXNpZGUtYmFyO1xuXHRcdHRyYW5zaXRpb246IG1heC13aWR0aCAwLjdzICRlYXNlLWluLW91dCwgdHJhbnNmb3JtICR0cmFuc2l0aW9uLXNpZGViYXItb3BlbiwgdG9wICR0cmFuc2l0aW9uLXNlYXJjaC1vcGVuLCBvcGFjaXR5ICR0cmFuc2l0aW9uO1xuXG5cdFx0PiBkaXYge1xuXHRcdFx0cG9zaXRpb246IHN0aWNreTtcblx0XHRcdHRvcDogMDtcblx0XHR9XG5cblx0XHRAaW5jbHVkZSBicmVhay1pbignbGFyZ2UnKSB7XG5cdFx0XHRwb3NpdGlvbjogZml4ZWQ7XG5cdFx0XHR0b3A6IDA7XG5cdFx0XHRyaWdodDogMDtcblx0XHRcdHRyYW5zZm9ybTogdHJhbnNsYXRlWCgxMDAlKTtcblx0XHRcdC8vIGhlaWdodDogY2FsYygxMDAlICsgdmFyKC0tZ2FwLXkpKTtcblx0XHRcdC8vIEN1c3RvbSBwcm9wcyBkaWRuJ3Qgd29yayBmb3Igc29tZSByZWFzb24uXG5cdFx0XHQvLyBJZGVhbGx5IEkgd291bGQgaGF2ZSBsaWtlZCB0byBqdXN0IHNldCAtLXNpZGViYXItd2lkdGggdG8gdGhpcyB2YWx1ZS5cblx0XHRcdHdpZHRoOiBtaW4oY2FsYygxMDB2dyksIDQwMHB4KTtcblx0XHRcdG1heC13aWR0aDogbWluKGNhbGMoMTAwdncpLCA0MDBweCk7XG5cdFxuXHRcdFx0Ji5hY3RpdmUge1xuXHRcdFx0XHR0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCUpO1xuXHRcdFx0fVxuXHRcblx0XHRcdD4gZGl2IHtcblx0XHRcdFx0cG9zaXRpb246IHJlbGF0aXZlO1xuXHRcdFx0fVxuXHRcdH1cblxuXHRcdEBpbmNsdWRlIGJyZWFrLWluKCdzbWFsbC1tZWRpdW0nKSB7XG5cdFx0XHQub3Blbi10cmlnZ2VyICB7IGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudCB9XG5cdFx0XHQuY2xvc2UtdHJpZ2dlciB7IGRpc3BsYXk6IGJsb2NrIH1cblx0XHR9XG5cdH1cblxufSIsIkB1c2UgJ19tb2R1bGVzJyBhcyAqO1xuXG5wYWdlLWJhY2tncm91bmQge1xuICBkaXNwbGF5OiBibG9jaztcbiAgcG9zaXRpb246IGZpeGVkO1xuICB0b3A6IDA7XG4gIGxlZnQ6IDA7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDEwMHZoO1xuICB0cmFuc2Zvcm06IHNjYWxlKDEuMCk7XG5cbiAgYmFja2dyb3VuZDogdmFyKC0tdGhlbWUtcGFnZS1iYWNrZ3JvdW5kKTtcbiAgei1pbmRleDogJHotaW5kZXgtcGFnZS1iYWNrZ3JvdW5kO1xuXG4gICY6OmFmdGVyIHtcbiAgICBjb250ZW50OiAnJztcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAwO1xuICAgIGxlZnQ6IDA7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIGJhY2tncm91bmQ6IHZhcigtLXRoZW1lLWNvbnRlbnQtYmFja2dyb3VuZCk7XG4gICAgei1pbmRleDogJHotaW5kZXgtcGFnZS1iYWNrZ3JvdW5kICsgMTtcblxuICAgIEBpbmNsdWRlIGJyZWFrLW91dCgnc21hbGwtbWVkaXVtJykge1xuICAgICAgdG9wOiAwO1xuICAgICAgbGVmdDogY2FsYyh2YXIoLS1uYXZpZ2F0aW9uLWJhci13aWR0aCkpO1xuICAgICAgd2lkdGg6IGNhbGMoMTAwJSAtIHZhcigtLW5hdmlnYXRpb24tYmFyLXdpZHRoKSk7XG4gICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgfVxuICB9XG5cbiAgdmlkZW97XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMDtcbiAgICBsZWZ0OiAwO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogMTAwJTtcbiAgICBvYmplY3QtZml0OiBjb3ZlcjtcbiAgICB0cmFuc2Zvcm06IHNjYWxlWCgtMSk7XG4gICAgdXNlci1zZWxlY3Q6IG5vbmU7XG4gICAgb3BhY2l0eTogMC4zO1xuICB9XG5cbiAgaW1nIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAwO1xuICAgIGxlZnQ6IDA7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIG9iamVjdC1maXQ6IGNvdmVyO1xuICAgIHRyYW5zZm9ybTogc2NhbGVYKC0xKTtcbiAgICB1c2VyLXNlbGVjdDogbm9uZTtcblxuICAgIC8vICYuZGVmYXVsdCB7IG9iamVjdC1wb3NpdGlvbjogMHB4IDIxdm1pbiB9XG5cbiAgICAmLmxvZ28ge1xuICAgICAgb3BhY2l0eTogMC4wMztcbiAgICB9XG5cbiAgICAmOjpiZWZvcmUge1xuICAgICAgY29udGVudDogJyc7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHRvcDogMDtcbiAgICAgIGxlZnQ6IDA7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCh0byBib3R0b20sIHRyYW5zcGFyZW50IDQwJSwgIzEyMTUyQiAxMDAlKTtcbiAgICAgIHotaW5kZXg6ICR6LWluZGV4LXBhZ2UtYmFja2dyb3VuZCAtMTtcbiAgICB9XG4gIH1cbn0iLCJAdXNlICdfbW9kdWxlcycgYXMgKjtcblxuYm9keTpub3QoI2hvbWUpIHtcbiAgLmNvbnRlbnQtd3JhcHBlciB7XG4gICAgaGVhZGVyIHtcbiAgICAgIHBhZGRpbmctdG9wOiAyMDBweDtcbiAgICAgIG1hcmdpbi1ib3R0b206IHZhcigtLWdhcC15KTtcbiAgICAgIFxuICAgICAgJjpub3QoLmhhcy1zdWJoZWFkaW5nKSB7XG4gICAgICAgIG1hcmdpbi10b3A6IGNhbGMoLTEgKiB2YXIoLS1nYXAteSkpO1xuICAgICAgfVxuXG4gICAgICAmLmhhcy1zdWJoZWFkaW5nIHtcbiAgICAgICAgbWFyZ2luLXRvcDogY2FsYygtMS44NSAqIHZhcigtLWdhcC15KSk7XG4gICAgICB9XG5cbiAgICAgIEBpbmNsdWRlIGJyZWFrLWluKHNtYWxsLW1lZGl1bSkge1xuICAgICAgICBwYWRkaW5nLXRvcDogdmFyKC0tZ2FwLXkpO1xuICAgICAgICBtYXJnaW4tdG9wOiBjYWxjKC0xICogdmFyKC0tZ2FwLXkpKSAhaW1wb3J0YW50O1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG5ib2R5I2hvbWUuY29tcG9uZW50cy1ob21le1xuICAuY29udGVudC13cmFwcGVye1xuICAgIGhlYWRlcntcbiAgICAgIGRpc3BsYXk6IGdyaWQ7XG4gICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdCgzLCAxZnIpO1xuICAgICAgZ3JpZC1nYXA6ICRnYXA7XG4gICAgICBtYXJnaW4tYm90dG9tOiB2YXIoLS1nYXAteSk7XG5cbiAgICAgID4gaDEsIHB7XG4gICAgICAgIGdyaWQtY29sdW1uOiAxIC8gMztcbiAgICAgICBcbiAgICAgIH1cblxuICAgICAgaDF7XG4gICAgICAgIGdyaWQtcm93OiAxO1xuICAgICAgICBAbWVkaWEobWF4LXdpZHRoOiA0MDBweCl7XG4gICAgICAgICAgZm9udC1zaXplOiAyNHB4O1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIHB7XG4gICAgICAgIGdyaWQtY29sdW1uOiAxIC8gLTE7XG4gICAgICAgIGdyaWQtcm93OiAyXG4gICAgICB9XG4gICAgICBpbWd7XG4gICAgICAgICAgZ3JpZC1jb2x1bW46IDM7XG4gICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgaGVpZ2h0OiBhdXRvO1xuICAgICAgfVxuICAgICAgJiArIG1haW57XG4gICAgICAgIG1hcmdpbi10b3A6IDA7XG4gICAgICB9XG4gICAgICBAbWVkaWEobWluLXdpZHRoOiA3NjhweCl7XG4gICAgICAgIGdyaWQtZ2FwOiAwO1xuICAgICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdChhdXRvLWZpbGwsIG1pbi1tYXgoMjAwcHggLDI1JSkpO1xuXG4gICAgICAgIHB7bWFyZ2luLXRvcDogMDt9XG5cbiAgICAgICAgaW1ne1xuICAgICAgICAgIG1heC13aWR0aDogMTUwcHg7XG4gICAgICAgICAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICAuYWJvdXQtdXMtYmxvY2t7XG4gICAgICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoMTIwZGVnLCAjMTAxMjRkIDIwJSwgIzEzMWY2YiA4MCUpO1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGZsZXgtd3JhcDogbm93cmFwO1xuICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAgICAgPiBkaXY6bGFzdC1vZi10eXBle1xuICAgICAgICBwYWRkaW5nLWJvdHRvbTogNzVweDtcbiAgICAgICAgZGlzcGxheTogZ3JpZDtcbiAgICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoYXV0by1maXQsIG1pbm1heCgxMjVweCwgMWZyKSk7XG4gICAgICB9XG5cbiAgICAgID4gZGl2e1xuICAgICAgICAmOmZpcnN0LW9mLXR5cGV7XG4gICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICBwYWRkaW5nOiAkZ2FwMjtcbiAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkcmVkO1xuICAgICAgICAgIGdhcDogMTZweDtcbiAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgICB9XG4gICAgICAgICY6bGFzdC1vZi10eXBle1xuICAgICAgICAgIGZsZXgtZ3JvdzogMTtcbiAgICAgICAgICBncmlkLWdhcDogJGdhcDtcbiAgICAgICAgICBwYWRkaW5nLXRvcDogJGdhcDtcbiAgICAgICAgICA+IGRpdntcbiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0O1xuICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgICAgIHBhZGRpbmc6ICRnYXA7XG4gICAgICAgICAgICBnYXA6JGdhcDsgXG4gICAgICAgICAgICBzdmd7XG4gICAgICAgICAgICAgIHdpZHRoOiA4MCU7XG4gICAgICAgICAgICAgIGNvbG9yOiB3aGl0ZTtcbiAgICAgICAgICAgICAgbWF4LXdpZHRoOiA4MHB4O1xuICAgICAgICAgICAgICAmLndpcmUtZWFydGgge1xuICAgICAgICAgICAgICAgIHdpZHRoOjYwJTsgXG4gICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbToxZW07XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHB7XG4gICAgICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICAgICAgICAgICAgY29sb3I6ICRyZWQ7XG4gICAgICAgICAgICAgIGp1c3RpZnktc2VsZjogYmFzZWxpbmU7XG4gICAgICAgICAgICAgIC8vIG1hcmdpbi10b3A6YXV0bztcbiAgICAgICAgICAgICAgZm9udC1zaXplOiAkZm9udC1zaXplLW1pbjtcbiAgICAgICAgICAgIH07XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgICA+IGEge1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHJpZ2h0OiAwO1xuICAgICAgICBib3R0b206IDA7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLmNvbnRlbnQtYmxvY2suY2FsbFRvQWN0aW9uIHtcbiAgICAgIGJhY2tncm91bmQ6ICRyZXZlcnNlLWdyYWRpZW50O1xuICAgICAgcGFkZGluZzogJGdhcDIgMCAwICRnYXAyO1xuICAgIFxuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICBcbiAgICAgIC5jYWxsLXRvLWFjdGlvbi1oZWFkaW5nLCAuY2FsbC10by1hY3Rpb24tc3ViaGVhZGluZyB7XG4gICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgICB9XG4gICAgXG4gICAgICAuY2FsbC10by1hY3Rpb24taGVhZGluZyB7XG4gICAgICAgIC0taGVhZGluZy1jb2xvdXI6ICN7JHdoaXRlfTtcbiAgICAgICAgQGluY2x1ZGUgaGVhZGluZy1oMjtcbiAgICAgICAgLy8gZm9udC1zaXplOiAkZm9udC1zaXplLWgzO1xuICAgICAgICBwYWRkaW5nLXJpZ2h0OiAkZ2FwMjtcbiAgICAgICAgZm9udC13ZWlnaHQ6IDgwMDtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogJGdhcDI7XG4gICAgICB9XG4gICAgICAuY2FsbC10by1hY3Rpb24tc3ViaGVhZGluZyB7XG4gICAgICAgIC0taGVhZGluZy1jb2xvdXI6ICN7JHJlZH07XG4gICAgICAgIEBpbmNsdWRlIGhlYWRpbmctaDM7XG4gICAgICAgIG1hcmdpbi1ib3R0b206ICRnYXA7XG4gICAgICAgIC8vIGZvbnQtc2l6ZTogJGZvbnQtc2l6ZS1oNDtcbiAgICAgIH1cbiAgICAgIC5jYWxsLXRvLWFjdGlvbi1idXR0b24ge1xuICAgICAgICBtYXJnaW4tdG9wOiAkZ2FwO1xuICAgICAgICBtYXJnaW4tbGVmdDogJGdhcDM7XG4gICAgICAgIGFsaWduLXNlbGY6IGZsZXgtZW5kO1xuICAgICAgICB3aWR0aDogZml0LWNvbnRlbnQ7XG4gICAgICB9XG4gICAgfVxuXG4gICAgc2Nyb2xsLWJhcntcbiAgICAgIG1heC13aWR0aDogdW5zZXQgIWltcG9ydGFudDtcbiAgICB9XG4gICAgQG1lZGlhIChtaW4td2lkdGg6NzY4cHgpIHtcblxuICAgICAgLmFib3V0LXVzLWJsb2Nre1xuICAgICAgICBwYWRkaW5nLWJvdHRvbTogdW5zZXQ7O1xuICAgICAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICAgICAgICA+IGRpdntcbiAgICAgICAgICAmOmZpcnN0LW9mLXR5cGV7XG4gICAgICAgICAgICBtYXgtd2lkdGg6IDM1JTtcbiAgICAgICAgICAgIHBhZGRpbmctcmlnaHQ6ICRzcGFjZXIyO1xuICAgICAgICAgICAgY2xpcC1wYXRoOiBwb2x5Z29uKDAlIDEwMCUsIDAlIDAlLCAxMDAlIDAlLCA3NSUgMTAwJSk7XG4gICAgICAgICAgfVxuICAgICAgICAgICY6bGFzdC1vZi10eXBle1xuICAgICAgICAgICAgZGlzcGxheTogZ3JpZDtcbiAgICAgICAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KGF1dG8tZml0LCBtaW5tYXgoMTI1cHgsIDFmcikpO1xuICAgICAgICAgICAgcGFkZGluZzogJHNwYWNlcjtcbiAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiAtNSU7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgQG1lZGlhIChtaW4td2lkdGg6IDk4MXB4KSBhbmQgKG1heC13aWR0aDogMTM5OXB4KSB7XG4gICAgICAuYWJvdXQtdXMtYmxvY2sge1xuICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgICA+IGRpdiB7XG4gICAgICAgICAgJjpmaXJzdC1vZi10eXBle1xuICAgICAgICAgICAgbWF4LXdpZHRoOiB1bnNldDtcbiAgICAgICAgICAgIGNsaXAtcGF0aDogdW5zZXQ7XG4gICAgICAgICAgfVxuICAgICAgICAgICY6bGFzdC1vZi10eXBle1xuICAgICAgICAgICAgcGFkZGluZzogJHNwYWNlcjtcbiAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiAwJTtcbiAgICAgICAgICB9XG5cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIEBtZWRpYSAobWluLXdpZHRoOjEyMDFweCkge1xuICAgICAgaGVhZGVyLCBzY3JvbGwtYmFyLCAuYWJvdXQtdXMtYmxvY2ssIC5jb250ZW50LWJsb2NrLmNhbGxUb0FjdGlvbiwgLm1hcmtldC1zZWN0b3JzXFw6bGlzdCB7XG4gICAgICAgIG1heC13aWR0aDogMTIwMHB4ICFpbXBvcnRhbnQ7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iLCJAdXNlICdfbW9kdWxlcycgYXMgKjtcblxuZm9vdGVyIHtcbiAgICBwb3NpdGlvbjpzdGlja3k7XG4gICAgdG9wOjEwMGR2aDtcbiAgICBvcmRlcjo5OTtcbiAgICBwYWRkaW5nLWJvdHRvbTokc3BhY2VyOyBcbiAgICBncmlkLWNvbHVtbjogdmFyKC0tY29sdW1uLWNvbnRlbnQpO1xuICAgIHotaW5kZXg6MTAwMDsgXG5cbiAgICBAbWVkaWEgKG1pbi13aWR0aDoxMjAxcHgpIHtcbiAgICAgICAgbWF4LXdpZHRoOiAxMjAwcHggIWltcG9ydGFudDtcbiAgICB9XG59XG5cbiNob21lIGZvb3RlciB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHRvcDppbml0aWFsO1xuICAgICAgICBncmlkLXJvdzogLTE7XG59IiwiQHVzZSAnbW9kdWxlcycgYXMgKjtcblxuY29udGVudC1ibG9ja3Mge1xuXG4gIC8vIC4uLiBDb2x1bW4gbGF5b3V0XG5cbiAgJGNvbHVtbi1jb25maWc6IChcbiAgICAnMicgOiAoXG4gICAgICA3NjggOiAyLFxuICAgICAgOTc5OiAxLFxuICAgICAgMTIwMDogMixcbiAgICAgIDE0MDA6IDEsIC8vIC4uLiBUT0RPOiBjaGVjayB0aGlzIGRvZXNuJ3QgcnVpbiBwYWdlcyB3aXRob3V0IHNpZGViYXIgY29tcG9uZW50c1xuICAgICAgMTc5OTogMlxuICAgIClcbiAgKTtcblxuICBbZGF0YS1jb2x1bW5zXSB7XG4gICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQodmFyKC0tY29sdW1ucywgMSksIDFmcik7XG4gICAgZ3JpZC1nYXA6ICRnYXAyO1xuICB9XG5cbiAgQGVhY2ggJGNvbHVtbi1udW1iZXIsICRtYXAgaW4gJGNvbHVtbi1jb25maWcge1xuICAgIFtkYXRhLWNvbHVtbnM9XCIjeyRjb2x1bW4tbnVtYmVyfVwiXSB7XG5cbiAgICAgIEBlYWNoICRicmVha3BvaW50LCAkYnJlYWtwb2ludC1jb2x1bW5zIGluICRtYXAge1xuXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrLW91dCgkYnJlYWtwb2ludCkge1xuICAgICAgICAgIC0tY29sdW1ucyA6ICN7JGJyZWFrcG9pbnQtY29sdW1uc307XG4gICAgICAgIH1cblxuICAgICAgfVxuXG4gICAgfVxuICB9XG59IiwiQHVzZSAnX21vZHVsZXMnIGFzICo7XG5cbnNlYXJjaC1lbGVtZW50e1xuICAuc2VhcmNoLWlucHV0e1xuICAgIHN2Z3tcbiAgICAgIGhlaWdodDogMzJweDtcbiAgICB9XG4gIH1cbn0iLCJAdXNlICdfbW9kdWxlcycgYXMgKjtcblxubW9kYWwtd3JhcHBlciB7XG5cbiAgLS13cmFwcGVyLWJhY2tncm91bmQtY29sb3VyICAgOiAje3JnYmEoJHdoaXRlLCAwLjk1KX07XG4gIC0tbW9kYWwtY2xvc2UtY29sb3VyICAgICAgICAgIDogJGJsYWNrO1xuICAtLWNvbnRhaW5lci1iYWNrZ3JvdW5kLWNvbG91ciA6IHdoaXRlO1xuXG4gIC0tbWluLXdpZHRoOjMwMHB4O1xuICAtLW1heC13aWR0aDojeyRicmVhay1tZWRpdW19O1xuICAtLXdpZHRoOmNsYW1wKHZhcigtLW1pbi13aWR0aCksIDkwdncsIGZpdC1jb250ZW50KTtcblxuICAtLW1pbi1oZWlnaHQ6NjAwcHg7XG4gIC0tbWF4LWhlaWdodDpjYWxjKDEwMHZoIC0gI3skZ3V0dGVyMn0pO1xuICBcbiAgLS1oZWlnaHQ6Y2xhbXAodmFyKC0tbWluLWhlaWdodCksIDkwdncsIGZpdC1jb250ZW50KTtcblxuICBAc3VwcG9ydHMgKCAtLXY6LXdlYmtpdC1maWxsLWF2YWlsYWJsZSApIHtcbiAgICAtLW1heC1oZWlnaHQ6LXdlYmtpdC1maWxsLWF2YWlsYWJsZTtcbiAgfVxuXG4gIC0tY2xvc2UtYnV0dG9uLXNpemUgOiAzMHB4OyBcbiAgLS1uYXYtYnV0dG9uLXNpemUgOiA0MHB4OyBcblxuICBwb3NpdGlvbjpmaXhlZDtcbiAgaW5zZXQ6MDtcbiAgaGVpZ2h0OjEwMHZoOyBcbiAgd2lkdGg6MTAwJTsgXG4gIGJhY2tncm91bmQtY29sb3I6dmFyKC0td3JhcHBlci1iYWNrZ3JvdW5kLWNvbG91cik7XG4gIHotaW5kZXg6JHotaW5kZXgtbW9kYWw7XG4gIGRpc3BsYXk6ZmxleDtcbiAgcGxhY2UtaXRlbXM6IGNlbnRlcjtcbiAgcGxhY2UtY29udGVudDogY2VudGVyO1xuICB0cmFuc2l0aW9uOiBvcGFjaXR5IDAuNXMgJGVhc2UtaW4tb3V0O1xuICBvdmVyc2Nyb2xsLWJlaGF2aW9yOiBjb250YWluO1xuXG4gICYubG9hZGluZyB7IFxuICAgIG9wYWNpdHk6MDsgXG4gICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gICAgdHJhbnNpdGlvbjogb3BhY2l0eSAwLjNzICRlYXNlLWluLW91dCAwLjNzO1xuICAgIG1vZGFsLWNvbnRhaW5lciB7XG4gICAgICBvcGFjaXR5OjA7IFxuICAgICAgdHJhbnNmb3JtOnRyYW5zbGF0ZVkoMnZoKTsgXG4gICAgICB0cmFuc2l0aW9uOiBvcGFjaXR5IDAuM3MgJGVhc2UtaW4tb3V0LCB0cmFuc2Zvcm0gMC4zcyAkZWFzZS1pbi1xdWFydDtcbiAgICB9XG4gIH1cblxuICBidXR0b24uY2xvc2Uge1xuICAgIHBvc2l0aW9uOmFic29sdXRlO1xuICAgIHRvcDokZ3V0dGVyOyBcbiAgICByaWdodDokZ3V0dGVyOyBcbiAgICB3aWR0aDp2YXIoLS1jbG9zZS1idXR0b24tc2l6ZSk7IFxuICAgIGhlaWdodDp2YXIoLS1jbG9zZS1idXR0b24tc2l6ZSk7IFxuICAgIHN2ZyB7IFxuICAgICAgLy8gYm9yZGVyOjJweCBzb2xpZCB2YXIoLS1zZWNvbmRhcnksICN7JHJlZH0pO1xuICAgICAgLy8gYm9yZGVyLXJhZGl1czogNTAlO1xuICAgICAgY2lyY2xlLCBwYXRoIHsgdHJhbnNpdGlvbjowLjNzICRlYXNlLWluLW91dDsgfVxuICAgICAgY29sb3I6IHZhcigtLW1vZGFsLWNsb3NlLWNvbG91ciwgI3skcmVkfSk7XG4gICAgfVxuICAgIEBpbmNsdWRlIGhvdmVyIHtcbiAgICAgIHN2ZyB7IFxuICAgICAgICAtLWZpbGw6d2hpdGU7XG4gICAgICAgIC0tc3Ryb2tlOnZhcigtLXNlY29uZGFyeSwgI3skcmVkfSk7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgYnV0dG9uLm5hdmlnYXRpb24ge1xuICAgIHBvc2l0aW9uOmFic29sdXRlO1xuICAgIHdpZHRoOnZhcigtLW5hdi1idXR0b24tc2l6ZSk7IFxuICAgIGhlaWdodDp2YXIoLS1uYXYtYnV0dG9uLXNpemUpOyBcbiAgICB0b3A6Y2FsYyg1MCUgLSAodmFyKC0tbmF2LWJ1dHRvbi1zaXplKSAvIDIpKTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLXNlY29uZGFyeSwgI3skcmVkfSk7XG4gICAgYm9yZGVyLXJhZGl1czogNTAlO1xuICAgIGJvcmRlcjoycHggc29saWQgdmFyKC0tc2Vjb25kYXJ5LCAjeyRyZWR9KTtcbiAgICBjb2xvcjp3aGl0ZTsgXG4gICAgZGlzcGxheTpmbGV4O1xuICAgIHBsYWNlLWNvbnRlbnQ6IGNlbnRlcjtcbiAgICBwbGFjZS1pdGVtczogY2VudGVyO1xuICAgIHRyYW5zaXRpb246Y29sb3IgJHRyYW5zaXRpb24sIGJhY2tncm91bmQtY29sb3IgJHRyYW5zaXRpb24sIHRyYW5zZm9ybSAwLjJzICRlYXNlLW91dC1iYWNrO1xuICAgICYucHJldmlvdXMgeyBsZWZ0IDogJGd1dHRlcjsgfVxuICAgICYubmV4dCB7IHJpZ2h0IDogJGd1dHRlcjsgfVxuICAgIHN2ZyB7IFxuICAgICAgd2lkdGg6NTAlO1xuICAgICAgaGVpZ2h0OjUwJTsgXG4gICAgfVxuICAgIEBpbmNsdWRlIGhvdmVyIHtcbiAgICAgIHRyYW5zZm9ybTogc2NhbGUoMS4xKTtcbiAgICAgIGNvbG9yOnZhcigtLXNlY29uZGFyeSwgI3skcmVkfSk7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB3aGl0ZTtcbiAgICB9XG4gIH1cbn1cblxubW9kYWwtY29udGFpbmVyIHtcblxuICB0cmFuc2Zvcm06dHJhbnNsYXRlWSgwKTtcbiAgdHJhbnNpdGlvbjogb3BhY2l0eSAwLjVzICRlYXNlLWluLW91dCAwLjNzLCB0cmFuc2Zvcm0gMC41cyAkZWFzZS1vdXQtcXVhcnQgMC4zcztcbiAgd2lkdGg6dmFyKC0td2lkdGgpO1xuICBoZWlnaHQ6dmFyKC0taGVpZ2h0KTtcbiAgbWF4LWhlaWdodDp2YXIoLS1tYXgtaGVpZ2h0KTtcbiAgbWF4LXdpZHRoOnZhcigtLW1heC13aWR0aCk7XG4gIGJvcmRlcjoxcHggc29saWQgJGdyZXk0OyBcbiAgYm9yZGVyLXJhZGl1czokYm9yZGVyLXJhZGl1cztcbiAgYmFja2dyb3VuZC1jb2xvcjp2YXIoLS1jb250YWluZXItYmFja2dyb3VuZC1jb2xvdXIpO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIG1hcmdpbjokZ3V0dGVyO1xuICBvdmVyc2Nyb2xsLWJlaGF2aW9yOiBjb250YWluO1xuXG4gIEBzdXBwb3J0cyBub3QgKCB3aWR0aDpjbGFtcCgxcHgsIDV2dywgMTBweCkpIHtcblxuICAgIC0td2lkdGggOiA2MHZ3O1xuICAgIG1heC13aWR0aDp2YXIoLS1tYXgtd2lkdGgpO1xuICAgIG1pbi13aWR0aDp2YXIoLS1taW4td2lkdGgpO1xuXG4gICAgLS1oZWlnaHQgOiA4MHZ3O1xuICAgIG1heC1oZWlnaHQ6dmFyKC0tbWF4LWhlaWdodCk7XG4gICAgbWluLWhlaWdodDp2YXIoLS1taW4taGVpZ2h0KTtcbiAgfVxuXG4gICY6ZW1wdHkge1xuICAgIHdpZHRoOmNhbGModmFyKC0tbWF4LXdpZHRoKSAvIDIpO1xuICAgIGhlaWdodDpjYWxjKHZhcigtLW1heC1oZWlnaHQpIC8gMik7XG4gICAgJjphZnRlciB7XG4gICAgICBAaW5jbHVkZSBsb2FkZXIoMjBweCk7XG4gICAgICBAaW5jbHVkZSBsb2FkZXItYW5pbWF0aW9uKCk7XG4gICAgfVxuICB9XG5cbiAgPiBidXR0b24uY2xvc2Uge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBvcmRlcjotMTtcbiAgICBhbGlnbi1zZWxmOiBmbGV4LWVuZDtcbiAgICB0b3A6aW5pdGlhbDtcbiAgICByaWdodDppbml0aWFsO1xuICAgIG1hcmdpbi10b3A6Y2FsYygoLTEgKiB2YXIoLS1jbG9zZS1idXR0b24tc2l6ZSkpIC8gMik7XG4gICAgbWFyZ2luLWJvdHRvbTpjYWxjKCgtMSAqIHZhcigtLWNsb3NlLWJ1dHRvbi1zaXplKSkgLyAyKTtcbiAgICBtYXJnaW4tcmlnaHQ6Y2FsYygoLTEgKiB2YXIoLS1jbG9zZS1idXR0b24tc2l6ZSkpIC8gMik7XG4gIH1cblxufVxuXG5tb2RhbC1jb250ZW50IHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHBvc2l0aW9uOiBzdGlja3k7XG4gIG92ZXJzY3JvbGwtYmVoYXZpb3I6IGNvbnRhaW47XG4gIHdpZHRoOmluaGVyaXQ7XG4gIGhlaWdodDppbmhlcml0O1xuICBtYXgtaGVpZ2h0OmluaGVyaXQ7XG4gIG1heC13aWR0aDppbmhlcml0O1xuICBvdmVyZmxvdy15OiBhdXRvO1xuICBvdmVyZmxvdy14OiBoaWRkZW47XG4gIHBhZGRpbmc6JGd1dHRlcjtcbiAgPiAqIHsgbWF4LXdpZHRoOjEwMCU7IH1cbn1cblxubW9kYWwtd3JhcHBlcltkYXRhLXR5cGU9XCJpbWFnZVwiXSAuaW1hZ2UgeyBcbiAgbWF4LWhlaWdodDpjYWxjKHZhcigtLW1heC1oZWlnaHQpIC0gI3skZ3V0dGVyNn0pO1xuICBib3JkZXI6bm9uZTtcbiAgaW1nIHtcbiAgICBtYXgtaGVpZ2h0OmNhbGMoMTAwdmggLSAjeyRndXR0ZXIzfSAtICN7JGd1dHRlcjR9KTtcbiAgICB3aWR0aDogYXV0bztcbiAgICBoZWlnaHQ6IGF1dG87XG4gICAgbWFyZ2luOmF1dG87XG4gIH1cbn1cblxubW9kYWwtd3JhcHBlcltkYXRhLXR5cGU9XCJkZWZhdWx0XCJdIHtcbiAgbW9kYWwtY29udGVudCA+IGltZyB7XG4gICAgJltzcmMqPVwiLnN2Z1wiXSB7IHdpZHRoOjEwMCU7IGhlaWdodDphdXRvOyB9XG4gIH1cbn1cblxubW9kYWwtd3JhcHBlcltkYXRhLXR5cGU9XCJ2aWRlb1wiXSB7XG4gIC0td3JhcHBlci1iYWNrZ3JvdW5kLWNvbG91ciA6ICN7cmdiYShibGFjaywgMC45NSl9O1xuICAtLW1vZGFsLWNsb3NlLWNvbG91ciAgICAgICAgOiAjeyR3aGl0ZX07XG4gIG1vZGFsLWNvbnRhaW5lciB7IFxuICAgIEBpbmNsdWRlIHZpZGVvLWNvbnRhaW5lcigpO1xuICAgIGJhY2tncm91bmQtY29sb3I6d2hpdGU7XG4gICAgcGFkZGluZzokZ2FwOyBcbiAgICBtb2RhbC1jb250ZW50IHtcbiAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgIGJvcmRlci1yYWRpdXM6ICRib3JkZXItcmFkaXVzO1xuICAgIH1cbiAgfVxufVxuXG4ub3Blbi1pbi1tb2RhbCB7XG4gIGN1cnNvcjpwb2ludGVyO1xuICB0cmFuc2l0aW9uOm9wYWNpdHkgJHRyYW5zaXRpb247XG4gICY6YWZ0ZXIgeyBAaW5jbHVkZSBsb2FkZXIoMjBweCwgd2hpdGUpOyB9XG4gICYubG9hZGluZyB7XG4gICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gICAgJjphZnRlciB7IEBpbmNsdWRlIGxvYWRlci1hbmltYXRpb24oKTsgfVxuICB9XG59XG5cbmltZy5vcGVuLWluLW1vZGFsLCAub3Blbi1pbi1tb2RhbCBpbWcgeyBcbiAgLXdlYmtpdC11c2VyLWRyYWc6IG5vbmU7XG4gIC1raHRtbC11c2VyLWRyYWc6IG5vbmU7XG4gIC1tb3otdXNlci1kcmFnOiBub25lO1xuICAtby11c2VyLWRyYWc6IG5vbmU7XG4gIHVzZXItZHJhZzogbm9uZTtcbn1cbiIsIkB1c2UgJy4uL192YXJpYWJsZXMnIGFzICo7XG5AdXNlICdtb2R1bGVzL2NvbG91ci9lbmNvZGUnIGFzIGNvbG91cjtcblxuXG5AbWl4aW4gbG9hZGVyKCRzaXplIDogMTJweCwgJGJvcmRlci10aGlja25lc3MgOiAycHgsICRjb2xvdXIgOiAkZ3JleSkge1xuICAtLXNpemUgOiAjeyRzaXplfTsgXG4gIGNvbnRlbnQ6XCJcIjtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6Y2FsYyg1MCUgLSAodmFyKC0tc2l6ZSkgLyAyKSk7IFxuICBsZWZ0OmNhbGMoNTAlIC0gKHZhcigtLXNpemUpIC8gMikpOyBcbiAgb3BhY2l0eTogMDtcbiAgd2lkdGg6dmFyKC0tc2l6ZSk7IFxuICBoZWlnaHQ6dmFyKC0tc2l6ZSk7XG4gIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgYm9yZGVyOiRib3JkZXItdGhpY2tuZXNzIHNvbGlkIHZhcigtLWxvYWRlci1jb2xvdXIsICRjb2xvdXIpO1xuICBib3JkZXItdG9wLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgYm9yZGVyLWJvdHRvbS1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIGFuaW1hdGlvbi1uYW1lOiBsb2FkZXItcm90YXRlO1xuICBhbmltYXRpb24tZHVyYXRpb246IDAuNXM7XG4gIGFuaW1hdGlvbi1pdGVyYXRpb24tY291bnQ6IGluZmluaXRlO1xuICB0cmFuc2l0aW9uOiBvcGFjaXR5IDAuMnMgJGVhc2UtaW4tb3V0O1xuICBhbmltYXRpb24tcGxheS1zdGF0ZTogcGF1c2VkO1xuICBAa2V5ZnJhbWVzIGxvYWRlci1yb3RhdGUge1xuICAgIGZyb20ge3RyYW5zZm9ybTogcm90YXRlKDE4MGRlZyk7IH1cbiAgICB0byB7dHJhbnNmb3JtOiByb3RhdGUoMGRlZyk7IH1cbiAgfVxuICBAY29udGVudDtcbn1cblxuQG1peGluIGxvYWRlci1hbmltYXRpb24geyBcbiAgb3BhY2l0eToxOyBcbiAgYW5pbWF0aW9uLXBsYXktc3RhdGU6IHJ1bm5pbmc7XG4gIEBjb250ZW50O1xufSIsIkB1c2UgJ19tb2R1bGVzJyBhcyAqO1xuXG4uYmFjay10by10b3Age1xuICAtLWhpZGUtb2Zmc2V0ICAgOiAtMTBweDtcbiAgLS1zdmctd2lkdGggICAgIDogMThweDtcbiAgLS1lZGdlLWRpc3RhbmNlIDogMTVweDtcbiAgLS1yaWdodC1vZmZzZXQgIDogMHB4O1xuXG4gIGRpc3BsYXk6IGJsb2NrO1xuICBwb3NpdGlvbjogZml4ZWQ7XG4gIHJpZ2h0OiBjYWxjKHZhcigtLXJpZ2h0LW9mZnNldCkgKyB2YXIoLS1lZGdlLWRpc3RhbmNlKSk7XG4gIGJvdHRvbTogY2FsYyh2YXIoLS1lZGdlLWRpc3RhbmNlKSArIHZhcigtLWhpZGUtb2Zmc2V0KSk7XG4gIEBpbmNsdWRlIHNxdWFyZShjYWxjKHZhcigtLXN2Zy13aWR0aCkgKyAxMnB4KSk7XG4gIGJhY2tncm91bmQ6ICRibHVlO1xuICBib3JkZXI6IDFweCBzb2xpZCAkd2hpdGU7XG4gIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgei1pbmRleDogJHotaW5kZXgtbWFpbisxO1xuICAvLyBvcGFjaXR5OiAwO1xuICAvLyBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgcG9pbnRlci1ldmVudHM6IGFsbDtcbiAgdHJhbnNpdGlvbjogb3BhY2l0eSAwLjJzICR0cmFuc2l0aW9uLCB0cmFuc2Zvcm0gMC4ycyAkdHJhbnNpdGlvbjtcblxuICBzdmcge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB0b3A6IC0ycHg7XG4gICAgQGluY2x1ZGUgc3F1YXJlKHZhcigtLXN2Zy13aWR0aCkpO1xuICAgIGNvbG9yOiAkd2hpdGU7XG4gIH1cblxuICAmOm5vdCguaGlkZSkgeyAgICBcbiAgICBwb2ludGVyLWV2ZW50czogYWxsO1xuICAgIG9wYWNpdHk6IDE7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSh2YXIoLS1oaWRlLW9mZnNldCkpO1xuICB9XG5cbiAgZGlzcGxheTogbm9uZTtcblxufVxuXG5AaW5jbHVkZSBicmVhay1vdXQobGFyZ2UpIHtcbiAgc2lkZS1iYXIgfiAuYmFjay10by10b3Age1xuICAgIC0tcmlnaHQtb2Zmc2V0OiB2YXIoLS1zaWRlYmFyLXdpZHRoKTtcbiAgfVxufSIsIkB1c2UgJ19tb2R1bGVzJyBhcyAqO1xuXG5sb2dvLWJhciB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAgZ2FwOiAkZ3V0dGVyOyBcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIHBhZGRpbmctdG9wOiRzcGFjZXI7IFxuICAgIFxuICAgIGltZyB7XG4gICAgICAgIG1heC13aWR0aDogMTQwcHg7XG4gICAgICAgIG1heC1oZWlnaHQ6IDkwcHg7XG4gICAgICAgIG1pbi1oZWlnaHQ6NjBweDsgXG4gICAgICAgIHdpZHRoOiBhdXRvO1xuICAgICAgICBoZWlnaHQ6IGF1dG87XG4gICAgICAgIG9iamVjdC1maXQ6IGNvbnRhaW47XG4gICAgfVxuICAgIEBpbmNsdWRlIGJyZWFrLW91dCg4MDBweCApIHtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICAgIH1cbn1cbiJdfQ== */