@charset "UTF-8";
@import url("https://fonts.googleapis.com/css2?family=Bebas+Neue&family=DM+Sans:ital,opsz,wght@0,9..40,100..1000;1,9..40,100..1000&family=Josefin+Sans:ital,wght@0,100..700;1,100..700&family=Open+Sans:ital,wght@0,300..800;1,300..800&family=Unbounded:wght@200..900&display=swap");
h1,
h2,
h3,
h4,
h5,
h6,
*[class^=h-],
*[class*=title] {
  letter-spacing: -1px;
  text-transform: none !important;
  font-family: "Josefin Sans", sans-serif;
}

p,
li {
  font-family: "Open Sans", sans-serif;
}

*, *:before, *:after {
  box-sizing: border-box;
}

* {
  padding: 0;
  margin: 0;
}

/*! normalize.css v8.0.1 | MIT License | github.com/necolas/normalize.css */
/* Document
   ========================================================================== */
/**
 * 1. Correct the line height in all browsers.
 * 2. Prevent adjustments of font size after orientation changes in iOS.
 */
html {
  line-height: 1.15; /* 1 */
  -webkit-text-size-adjust: 100%; /* 2 */
}

/* Sections
   ========================================================================== */
/**
 * Remove the margin in all browsers.
 */
body {
  margin: 0;
}

/**
 * Render the `main` element consistently in IE.
 */
main {
  display: block;
}

/**
 * Correct the font size and margin on `h1` elements within `section` and
 * `article` contexts in Chrome, Firefox, and Safari.
 */
h1 {
  font-size: 2em;
  margin: 0.67em 0;
}

/* Grouping content
   ========================================================================== */
/**
 * 1. Add the correct box sizing in Firefox.
 * 2. Show the overflow in Edge and IE.
 */
hr {
  box-sizing: content-box; /* 1 */
  height: 0; /* 1 */
  overflow: visible; /* 2 */
}

/**
 * 1. Correct the inheritance and scaling of font size in all browsers.
 * 2. Correct the odd `em` font sizing in all browsers.
 */
pre {
  font-family: monospace, monospace; /* 1 */
  font-size: 1em; /* 2 */
}

/* Text-level semantics
   ========================================================================== */
/**
 * Remove the gray background on active links in IE 10.
 */
a {
  background-color: transparent;
}

/**
 * 1. Remove the bottom border in Chrome 57-
 * 2. Add the correct text decoration in Chrome, Edge, IE, Opera, and Safari.
 */
abbr[title] {
  border-bottom: none; /* 1 */
  text-decoration: underline; /* 2 */
  text-decoration: underline dotted; /* 2 */
}

/**
 * Add the correct font weight in Chrome, Edge, and Safari.
 */
b,
strong {
  font-weight: bolder;
}

/**
 * 1. Correct the inheritance and scaling of font size in all browsers.
 * 2. Correct the odd `em` font sizing in all browsers.
 */
code,
kbd,
samp {
  font-family: monospace, monospace; /* 1 */
  font-size: 1em; /* 2 */
}

/**
 * Add the correct font size in all browsers.
 */
small {
  font-size: 80%;
}

/**
 * Prevent `sub` and `sup` elements from affecting the line height in
 * all browsers.
 */
sub,
sup {
  font-size: 75%;
  line-height: 0;
  position: relative;
  vertical-align: baseline;
}

sub {
  bottom: -0.25em;
}

sup {
  top: -0.5em;
}

/* Embedded content
   ========================================================================== */
/**
 * Remove the border on images inside links in IE 10.
 */
img {
  border-style: none;
}

/* Forms
   ========================================================================== */
/**
 * 1. Change the font styles in all browsers.
 * 2. Remove the margin in Firefox and Safari.
 */
button,
input,
optgroup,
select,
textarea {
  font-family: inherit; /* 1 */
  font-size: 100%; /* 1 */
  line-height: 1.15; /* 1 */
  margin: 0; /* 2 */
}

/**
 * Show the overflow in IE.
 * 1. Show the overflow in Edge.
 */
button,
input { /* 1 */
  overflow: visible;
}

/**
 * Remove the inheritance of text transform in Edge, Firefox, and IE.
 * 1. Remove the inheritance of text transform in Firefox.
 */
button,
select { /* 1 */
  text-transform: none;
}

/**
 * Correct the inability to style clickable types in iOS and Safari.
 */
button,
[type=button],
[type=reset],
[type=submit] {
  -webkit-appearance: button;
}

/**
 * Remove the inner border and padding in Firefox.
 */
button::-moz-focus-inner,
[type=button]::-moz-focus-inner,
[type=reset]::-moz-focus-inner,
[type=submit]::-moz-focus-inner {
  border-style: none;
  padding: 0;
}

/**
 * Restore the focus styles unset by the previous rule.
 */
button:-moz-focusring,
[type=button]:-moz-focusring,
[type=reset]:-moz-focusring,
[type=submit]:-moz-focusring {
  outline: 1px dotted ButtonText;
}

/**
 * Correct the padding in Firefox.
 */
fieldset {
  padding: 0.35em 0.75em 0.625em;
}

/**
 * 1. Correct the text wrapping in Edge and IE.
 * 2. Correct the color inheritance from `fieldset` elements in IE.
 * 3. Remove the padding so developers are not caught out when they zero out
 *    `fieldset` elements in all browsers.
 */
legend {
  box-sizing: border-box; /* 1 */
  color: inherit; /* 2 */
  display: table; /* 1 */
  max-width: 100%; /* 1 */
  padding: 0; /* 3 */
  white-space: normal; /* 1 */
}

/**
 * Add the correct vertical alignment in Chrome, Firefox, and Opera.
 */
progress {
  vertical-align: baseline;
}

/**
 * Remove the default vertical scrollbar in IE 10+.
 */
textarea {
  overflow: auto;
}

/**
 * 1. Add the correct box sizing in IE 10.
 * 2. Remove the padding in IE 10.
 */
[type=checkbox],
[type=radio] {
  box-sizing: border-box; /* 1 */
  padding: 0; /* 2 */
}

/**
 * Correct the cursor style of increment and decrement buttons in Chrome.
 */
[type=number]::-webkit-inner-spin-button,
[type=number]::-webkit-outer-spin-button {
  height: auto;
}

/**
 * 1. Correct the odd appearance in Chrome and Safari.
 * 2. Correct the outline style in Safari.
 */
[type=search] {
  -webkit-appearance: textfield; /* 1 */
  outline-offset: -2px; /* 2 */
}

/**
 * Remove the inner padding in Chrome and Safari on macOS.
 */
[type=search]::-webkit-search-decoration {
  -webkit-appearance: none;
}

/**
 * 1. Correct the inability to style clickable types in iOS and Safari.
 * 2. Change font properties to `inherit` in Safari.
 */
::-webkit-file-upload-button {
  -webkit-appearance: button; /* 1 */
  font: inherit; /* 2 */
}

/* Interactive
   ========================================================================== */
/*
 * Add the correct display in Edge, IE 10+, and Firefox.
 */
details {
  display: block;
}

/*
 * Add the correct display in all browsers.
 */
summary {
  display: list-item;
}

/* Misc
   ========================================================================== */
/**
 * Add the correct display in IE 10+.
 */
template {
  display: none;
}

/**
 * Add the correct display in IE 10.
 */
[hidden] {
  display: none;
}

html {
  box-sizing: border-box;
  font-size: 100%;
}

body {
  background: #fff;
  font-family: "Open Sans", sans-serif;
  font-weight: 400;
  line-height: 1.4;
  color: #131415;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  text-rendering: optimizeLegibility;
  padding: 0;
  margin: 0;
}

#content {
  padding: 0;
  margin: 0;
}

img {
  display: inline-block;
  vertical-align: middle;
  max-width: 100%;
  height: auto;
  -ms-interpolation-mode: bicubic;
}

::selection {
  background: #225669;
  color: #fff;
}

::-moz-selection {
  background: #225669;
  color: #fff;
}

div, dl, dt, dd, ul, ol, li, h1, h2, h3, h4, h5, h6, pre, form, p, blockquote, th, td {
  margin: 0;
  padding: 0;
}

p {
  margin-bottom: 1rem;
  font-size: inherit;
  line-height: 1.4;
  -moz-osx-font-smoothing: grayscale;
  word-break: break-all;
  word-break: break-word;
  -webkit-hyphens: auto;
  -moz-hyphens: auto;
  -ms-hyphens: auto;
  hyphens: auto;
}

a:not(:has(img)) {
  line-height: inherit;
  cursor: pointer;
  text-decoration: none;
  color: #225669;
  word-break: break-all;
  word-break: break-word;
  font-size: inherit;
}
a:not(:has(img)):visited {
  border-bottom: none;
}
a:not(:has(img)):hover {
  border-bottom: none;
}
a:not(:has(img)):active {
  color: #18374C;
}
a:not(:has(img)):focus {
  border: none;
}

hr {
  clear: both;
  max-width: 1200px;
  height: 0;
  margin: 1.25rem auto;
  border-top: 0;
  border-right: 0;
  border-bottom: 1px solid #9e9ea6;
  border-left: 0;
}

strong, b {
  font-weight: bold;
}

em, i {
  font-style: italic;
}

small {
  font-size: 80%;
  line-height: inherit;
}

h1, h2, h3, h4, h5, h6, .h1, .h2, .h3, .h4, .h5, .h6 {
  font-family: "Arial", sans-serif;
  font-style: normal;
  font-weight: 400;
  color: inherit;
  line-height: 1.2;
  margin-bottom: 0.5rem;
  text-rendering: optimizeLegibility;
  word-break: break-word;
}
h1 small, h2 small, h3 small, h4 small, h5 small, h6 small, .h1 small, .h2 small, .h3 small, .h4 small, .h5 small, .h6 small {
  line-height: 0;
  color: #131415;
}

@media screen {
  .h-display {
    font-size: 3rem;
  }
  h1, .h1 {
    font-size: 2.5rem;
  }
  h2, .h2 {
    font-size: 2.25rem;
  }
  h3, .h3 {
    font-size: 1.875rem;
  }
  h4, .h4, .c-sidebar-widget__title {
    font-size: 1.625rem;
  }
  h5, .h5 {
    font-size: 1.375rem;
  }
  h6, .h6 {
    font-size: 1.25rem;
  }
}
@media screen and (min-width: 40em) {
  .h-display {
    font-size: 4.375rem;
  }
  h1, .h1 {
    font-size: 3.4375rem;
  }
  h2, .h2 {
    font-size: 2.875rem;
  }
  h3, .h3 {
    font-size: 2.25rem;
  }
  h4, .h4, .c-sidebar-widget__title {
    font-size: 1.75rem;
  }
  h5, .h5 {
    font-size: 1.5rem;
  }
  h6, .h6 {
    font-size: 1.25rem;
  }
}
blockquote {
  font-style: italic;
  margin: 0 0 1rem;
  padding: 1.25rem 2.5rem 1.25rem 2.5rem;
  font-family: "serif";
}
blockquote, blockquote p {
  line-height: 1.4;
}

cite:before {
  content: "—";
}

ul, ol, dl {
  margin-bottom: 1rem;
  list-style-position: outside;
  line-height: 1.4;
}

li {
  font-size: inherit;
  margin-bottom: 0.5rem;
}

ul {
  margin-left: 1.25rem;
  list-style-type: disc;
}

ol {
  margin-left: 1.25rem;
}

ul ul, ul ol, ol ul, ol ol {
  margin: 1rem 0 1rem 1.5rem;
  font-size: 90%;
}

dl {
  margin-bottom: 1rem;
}
dl dt {
  margin-bottom: 0.2rem;
  font-weight: 600;
}
dl dd {
  margin-bottom: 0.8rem;
}

abbr, abbr[title] {
  border-bottom: 1px dashed #9e9ea6;
  cursor: help;
  text-decoration: none;
}

figure {
  margin: 0;
}

pre {
  font-family: "IBM Plex Mono", Courier, monospace;
  margin-bottom: 2.5rem;
  font-size: 1rem;
  white-space: pre-wrap; /* Since CSS 2.1 */
  white-space: -moz-pre-wrap; /* Mozilla, since 1999 */
  white-space: -pre-wrap; /* Opera 4-6 */
  white-space: -o-pre-wrap; /* Opera 7 */
  word-wrap: break-word;
}
pre > code {
  display: block;
  padding: 1rem 1.5rem;
  white-space: pre;
}

code {
  padding: 0.125rem 0.3125rem 0.0625rem;
  border: none;
  background: #f5f5f5;
  border: 1px solid #9e9ea6;
  border-radius: 4px;
  font-family: "IBM Plex Mono", Courier, monospace;
  font-size: 1rem;
  overflow: auto;
}

table {
  border-collapse: collapse;
  margin-bottom: 1rem;
}

tr {
  border-bottom: 1px solid #f5f5f5;
}

th, td {
  text-align: left;
  padding: 0.625rem;
}

.heading-wide {
  font-family: "Unbounded", sans-serif;
  font-size: 84px;
  font-style: normal;
  font-weight: 700;
  line-height: 100%;
  text-transform: uppercase;
}
@media (max-width: 767px) {
  .heading-wide {
    font-size: 60px;
  }
}

@media print {
  * {
    background: transparent !important;
    color: #000 !important;
    box-shadow: none !important;
    text-shadow: none !important;
  }
  p, h2, h3 {
    orphans: 3;
    widows: 3;
  }
  h2, h3 {
    page-break-after: avoid;
  }
  a[href]:after {
    content: " (" attr(href) ")";
  }
  a[href^="javascript:"]:after, a[href^="#"]:after {
    content: "";
  }
  pre,
  blockquote {
    border: 1px solid #9e9ea6;
    page-break-inside: avoid;
  }
  thead {
    display: table-header-group;
  }
  tr, img {
    page-break-inside: avoid;
  }
  img {
    max-width: 100% !important;
  }
  @page {
    margin: 0.5cm;
  }
}
button, input, optgroup, select, textarea {
  font-family: inherit;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

select {
  box-sizing: border-box;
  width: 100%;
  padding: 0.3125rem 0.5rem;
  height: 40px;
  border: 1px solid #9e9ea6;
  transition: border-color 0.35s;
}

button, input[type=submit] {
  padding: 0;
  appearance: none;
  border: 0;
  background: transparent;
  line-height: 1;
  cursor: pointer;
  background-color: #225669;
  color: #fff;
  padding: 0.625rem 0.9375rem;
  font-weight: 600;
}
button:focus, button:hover, input[type=submit]:focus, input[type=submit]:hover {
  background-color: rgba(34, 86, 105, 0.7);
}

fieldset {
  border: 2px solid #9e9ea6;
}
fieldset legend {
  padding: 0 0.625rem;
  font-weight: bold;
}

label {
  margin-bottom: 0.3125rem;
  display: block;
}

input[type=email], input[type=number], input[type=password], input[type=search], input[type=tel], input[type=text], input[type=url], textarea {
  width: 100%;
  padding: 0.3125rem 0.5rem;
  height: 40px;
  border: 1px solid #9e9ea6;
  transition: border-color 0.35s;
}

textarea {
  height: auto;
  min-height: 50px;
}

.e-button {
  text-decoration: none;
  align-items: center;
  gap: 8px;
  padding: 12px 24px;
  border-width: 1px;
  border-style: solid;
  transition: all 0.35s ease-in-out;
  font-family: "Josefin Sans", sans-serif;
  font-size: 1.125rem;
  font-weight: 400;
  display: flex;
  align-items: center;
  line-height: 1;
  font-size: 18px;
  border-color: transparent;
  color: #000;
}
.e-button:hover {
  gap: 14px;
}
.e-button--small {
  padding: 6px 16px;
  font-size: 16px;
}
.e-button--primary {
  background-color: #225669 !important;
  color: #fff !important;
  border-color: #225669;
}
.e-button--primary:hover {
  background-color: #18374C !important;
  border-color: #18374C !important;
}
.e-button--primary svg {
  fill: #fff;
}
.e-button--secondary {
  background-color: #F66D1F !important;
  color: #fff !important;
  border-color: #F66D1F !important;
}
.e-button--secondary:hover {
  background-color: #94491E;
  border-color: #94491E !important;
}
.e-button--secondary svg {
  fill: #fff;
}
.e-button--white {
  background-color: #fff;
  color: #000 !important;
  border-color: #000 !important;
}
.e-button--white:hover {
  background-color: #F0F3F4;
}
.e-button--white svg {
  fill: #000;
}
.e-button--dark {
  background-color: #18374C;
  color: #fff !important;
  border-color: #18374C !important;
}
.e-button--dark:hover {
  background-color: #225669;
}
.e-button--dark svg {
  fill: #18374C;
}
.e-button--outlined-white {
  color: #fff !important;
  border-color: #fff !important;
}
.e-button--outlined-white:hover {
  background-color: rgba(0, 0, 0, 0.3);
}
.e-button--outlined-white svg {
  fill: #fff;
}
.e-button--menu-button {
  padding: 0px;
  background-color: transparent;
  min-height: 0;
  min-width: 0;
}
.e-button--menu-button:hover, .e-button--menu-button:active, .e-button--menu-button:focus {
  background-color: transparent;
}
.e-button--text-button {
  padding: 0;
  background-color: transparent !important;
  border: none !important;
  color: #131415;
  font-family: "Open Sans", sans-serif;
}
.e-button--text-button:hover {
  color: #F66D1F;
}
.e-button--text-button svg {
  fill: #F66D1F;
}
.e-button svg {
  width: 16px;
  height: 16px;
}

.e-modal {
  position: fixed;
  z-index: 10000;
  width: 100vw;
  height: 100vh;
  top: 0;
  left: 0;
  justify-content: center;
  align-items: center;
  background-color: rgba(0, 0, 0, 0.85);
  display: none;
}
.e-modal.open {
  display: flex;
}
.e-modal-box {
  display: flex;
  flex-direction: column;
  width: 320px;
  max-width: 90vw;
}
.e-modal-box__header {
  display: flex;
  justify-content: flex-end;
  padding: 8px;
}
.e-modal-box__header .e-modal__button--close {
  cursor: pointer;
}
.e-modal-box__content {
  padding: 20px;
  min-height: 200px;
}

#searchModal form[role=search] {
  display: flex;
  align-items: stretch;
}
#searchModal form[role=search] input {
  background-color: transparent;
  color: #fff;
}
#searchModal form[role=search] input, #searchModal form[role=search] input:active, #searchModal form[role=search] inputfocus {
  border: none;
  border-bottom: 1px solid #fff;
  outline: none;
}
#searchModal form[role=search] button[type=submit] {
  background-color: transparent;
}
#searchModal .e-modal-box__content {
  display: flex;
  gap: 12px;
  color: #fff;
  align-items: center;
  min-height: 0;
}

#portfolio {
  max-width: 100vw;
  overflow: hidden;
}

.scroll-holder {
  display: flex;
  flex-direction: column !important;
  position: relative;
  min-height: 520px;
}
.scroll-holder .scroll-tray {
  display: flex !important;
  white-space: nowrap;
  flex-wrap: nowrap;
  width: auto !important;
  height: 240px;
  position: absolute;
  left: 0;
  max-width: unset !important;
}
.scroll-holder .scroll-tray > figure {
  display: inline-flex;
  justify-content: center;
  align-items: center;
  aspect-ratio: 5/3 !important;
  overflow: hidden;
  height: 100%;
  width: auto;
  flex-shrink: 0;
}
.scroll-holder .scroll-tray > figure img {
  object-fit: cover;
  min-width: 100%;
  min-height: 100%;
}
.scroll-holder .scroll-tray:first-child {
  top: 0;
  animation: scroll 80s linear infinite;
}
.scroll-holder .scroll-tray:last-child {
  top: 240px;
  left: -40px;
  animation: scroll 50s linear infinite;
}

@keyframes scroll {
  0% {
    transform: translateX(-200px);
  }
  99.99% {
    transform: translateX(calc(100vw - 3800px));
  }
  100% {
    transform: translateX(0);
  }
}
.o-container {
  width: 100%;
  max-width: 75rem;
  margin-left: auto;
  margin-right: auto;
  padding-left: 1rem;
  padding-right: 1rem;
}
.o-container--wide {
  max-width: 90rem;
}

.o-row {
  display: flex;
  flex-wrap: wrap;
  row-gap: 2rem;
}
.o-row__column {
  width: calc(100% - 2rem);
  flex: 0 0 auto;
  margin-left: 1rem;
  margin-right: 1rem;
}
.o-row__column--span-1 {
  width: calc(8.3333333333% - 2rem);
}
.o-row__column--span-2 {
  width: calc(16.6666666667% - 2rem);
}
.o-row__column--span-3 {
  width: calc(25% - 2rem);
}
.o-row__column--span-4 {
  width: calc(33.3333333333% - 2rem);
}
.o-row__column--span-5 {
  width: calc(41.6666666667% - 2rem);
}
.o-row__column--span-6 {
  width: calc(50% - 2rem);
}
.o-row__column--span-7 {
  width: calc(58.3333333333% - 2rem);
}
.o-row__column--span-8 {
  width: calc(66.6666666667% - 2rem);
}
.o-row__column--span-9 {
  width: calc(75% - 2rem);
}
.o-row__column--span-10 {
  width: calc(83.3333333333% - 2rem);
}
.o-row__column--span-11 {
  width: calc(91.6666666667% - 2rem);
}
.o-row__column--span-12 {
  width: calc(100% - 2rem);
}
@media screen {
  .o-row__column--span-1\@small {
    width: calc(8.3333333333% - 2rem);
  }
  .o-row__column--span-2\@small {
    width: calc(16.6666666667% - 2rem);
  }
  .o-row__column--span-3\@small {
    width: calc(25% - 2rem);
  }
  .o-row__column--span-4\@small {
    width: calc(33.3333333333% - 2rem);
  }
  .o-row__column--span-5\@small {
    width: calc(41.6666666667% - 2rem);
  }
  .o-row__column--span-6\@small {
    width: calc(50% - 2rem);
  }
  .o-row__column--span-7\@small {
    width: calc(58.3333333333% - 2rem);
  }
  .o-row__column--span-8\@small {
    width: calc(66.6666666667% - 2rem);
  }
  .o-row__column--span-9\@small {
    width: calc(75% - 2rem);
  }
  .o-row__column--span-10\@small {
    width: calc(83.3333333333% - 2rem);
  }
  .o-row__column--span-11\@small {
    width: calc(91.6666666667% - 2rem);
  }
  .o-row__column--span-12\@small {
    width: calc(100% - 2rem);
  }
}
@media screen and (min-width: 40em) {
  .o-row__column--span-1\@medium {
    width: calc(8.3333333333% - 2rem);
  }
  .o-row__column--span-2\@medium {
    width: calc(16.6666666667% - 2rem);
  }
  .o-row__column--span-3\@medium {
    width: calc(25% - 2rem);
  }
  .o-row__column--span-4\@medium {
    width: calc(33.3333333333% - 2rem);
  }
  .o-row__column--span-5\@medium {
    width: calc(41.6666666667% - 2rem);
  }
  .o-row__column--span-6\@medium {
    width: calc(50% - 2rem);
  }
  .o-row__column--span-7\@medium {
    width: calc(58.3333333333% - 2rem);
  }
  .o-row__column--span-8\@medium {
    width: calc(66.6666666667% - 2rem);
  }
  .o-row__column--span-9\@medium {
    width: calc(75% - 2rem);
  }
  .o-row__column--span-10\@medium {
    width: calc(83.3333333333% - 2rem);
  }
  .o-row__column--span-11\@medium {
    width: calc(91.6666666667% - 2rem);
  }
  .o-row__column--span-12\@medium {
    width: calc(100% - 2rem);
  }
}
@media screen and (min-width: 64em) {
  .o-row__column--span-1\@large {
    width: calc(8.3333333333% - 2rem);
  }
  .o-row__column--span-2\@large {
    width: calc(16.6666666667% - 2rem);
  }
  .o-row__column--span-3\@large {
    width: calc(25% - 2rem);
  }
  .o-row__column--span-4\@large {
    width: calc(33.3333333333% - 2rem);
  }
  .o-row__column--span-5\@large {
    width: calc(41.6666666667% - 2rem);
  }
  .o-row__column--span-6\@large {
    width: calc(50% - 2rem);
  }
  .o-row__column--span-7\@large {
    width: calc(58.3333333333% - 2rem);
  }
  .o-row__column--span-8\@large {
    width: calc(66.6666666667% - 2rem);
  }
  .o-row__column--span-9\@large {
    width: calc(75% - 2rem);
  }
  .o-row__column--span-10\@large {
    width: calc(83.3333333333% - 2rem);
  }
  .o-row__column--span-11\@large {
    width: calc(91.6666666667% - 2rem);
  }
  .o-row__column--span-12\@large {
    width: calc(100% - 2rem);
  }
}
@media screen and (min-width: 75em) {
  .o-row__column--span-1\@xlarge {
    width: calc(8.3333333333% - 2rem);
  }
  .o-row__column--span-2\@xlarge {
    width: calc(16.6666666667% - 2rem);
  }
  .o-row__column--span-3\@xlarge {
    width: calc(25% - 2rem);
  }
  .o-row__column--span-4\@xlarge {
    width: calc(33.3333333333% - 2rem);
  }
  .o-row__column--span-5\@xlarge {
    width: calc(41.6666666667% - 2rem);
  }
  .o-row__column--span-6\@xlarge {
    width: calc(50% - 2rem);
  }
  .o-row__column--span-7\@xlarge {
    width: calc(58.3333333333% - 2rem);
  }
  .o-row__column--span-8\@xlarge {
    width: calc(66.6666666667% - 2rem);
  }
  .o-row__column--span-9\@xlarge {
    width: calc(75% - 2rem);
  }
  .o-row__column--span-10\@xlarge {
    width: calc(83.3333333333% - 2rem);
  }
  .o-row__column--span-11\@xlarge {
    width: calc(91.6666666667% - 2rem);
  }
  .o-row__column--span-12\@xlarge {
    width: calc(100% - 2rem);
  }
}

/* =WordPress Core
-------------------------------------------------------------- */
.alignnone {
  margin: 0.3125rem 1.25rem 1.25rem 0;
}

.aligncenter,
div.aligncenter {
  display: block;
  margin: 0.3125rem auto 0.3125rem auto;
}

.alignright {
  float: right;
  margin: 0.3125rem 0 1.25rem 1.25rem;
}

.alignleft {
  float: left;
  margin: 0.3125rem 1.25rem 1.25rem 0;
}

a img.alignright {
  float: right;
  margin: 0.3125rem 0 1.25rem 1.25rem;
}

a img.alignnone {
  margin: 0.3125rem 1.25rem 1.25rem 0;
}

a img.alignleft {
  float: left;
  margin: 0.3125rem 1.25rem 1.25rem 0;
}

a img.aligncenter {
  display: block;
  margin-left: auto;
  margin-right: auto;
}

.wp-caption {
  background: #fff;
  border: 1px solid #9e9ea6;
  max-width: 96%; /* Image does not overflow the content area */
  padding: 5px 3px 10px;
  text-align: center;
}

.wp-caption.alignnone {
  margin: 0.3125rem 1.25rem 1.25rem 0;
}

.wp-caption.alignleft {
  margin: 0.3125rem 1.25rem 1.25rem 0;
}

.wp-caption.alignright {
  margin: 0.3125rem 0 1.25rem 1.25rem;
}

.wp-caption img {
  border: 0 none;
  height: auto;
  margin: 0;
  max-width: 98.5%;
  padding: 0;
  width: auto;
}

.wp-caption p.wp-caption-text {
  font-size: 0.6875rem;
  line-height: 1.0625rem;
  margin: 0;
  padding: 0 0.25rem 0.3125rem;
}

/* Text meant only for screen readers. */
.screen-reader-text {
  border: 0;
  clip: rect(1px, 1px, 1px, 1px);
  clip-path: inset(50%);
  height: 1px;
  margin: -1px;
  overflow: hidden;
  padding: 0;
  position: absolute !important;
  width: 1px;
  word-wrap: normal !important; /* Many screen reader and browser combinations announce broken words as they would appear visually. */
}

.screen-reader-text:focus {
  background-color: #f5f5f5;
  clip: auto !important;
  clip-path: none;
  color: #636365;
  display: block;
  font-size: 1em;
  height: auto;
  left: 5px;
  line-height: normal;
  padding: 15px 23px 14px;
  text-decoration: none;
  top: 5px;
  width: auto;
  z-index: 100000;
  /* Above WP toolbar. */
}

.gallery {
  display: flex;
  flex-wrap: wrap;
  margin: 0 -0.625rem 1.25rem;
}
.gallery .gallery-item {
  flex: 1;
  margin-left: 0.625rem;
  margin-right: 0.625rem;
  margin-bottom: 1.25rem;
  text-align: center;
  flex: 0 0 auto;
}
.gallery.gallery-columns-1 .gallery-item {
  width: calc(100% - 1.25rem);
}
.gallery.gallery-columns-2 .gallery-item {
  width: calc(50% - 1.25rem);
}
.gallery.gallery-columns-3 .gallery-item {
  width: calc(33.3333333333% - 1.25rem);
}
.gallery.gallery-columns-4 .gallery-item {
  width: calc(25% - 1.25rem);
}
.gallery.gallery-columns-5 .gallery-item {
  width: calc(20% - 1.25rem);
}
.gallery.gallery-columns-6 .gallery-item {
  width: calc(16.6666666667% - 1.25rem);
}
.gallery.gallery-columns-7 .gallery-item {
  width: calc(14.2857142857% - 1.25rem);
}
.gallery.gallery-columns-8 .gallery-item {
  width: calc(12.5% - 1.25rem);
}
.gallery.gallery-columns-9 .gallery-item {
  width: calc(11.1111111111% - 1.25rem);
}
.gallery .gallery-caption {
  color: #888;
  font-size: 0.75rem;
  margin-top: 0.625rem;
}

.wp-block-columns {
  width: 100%;
  padding: 20px 16px;
}
.wp-block-columns .wp-block-column {
  max-width: 1200px;
  margin-left: auto;
  margin-right: auto;
}
.wp-block-columns .wp-block-columns {
  padding: 0;
}
.wp-block-columns p {
  padding: 0;
}

.slick-list {
  padding-bottom: 32px;
}
.slick-list .slick-track {
  display: flex !important;
}
.slick-list .slick-track .slick-slide {
  height: inherit !important;
}

.slick-dots {
  bottom: -36px !important;
}
.slick-dots li {
  margin: 0 6px !important;
}
.slick-dots li button {
  width: 16px !important;
  height: 16px !important;
  border-radius: 0%;
  padding: 0;
  background-color: #8AB4C4 !important;
  opacity: 1 !important;
}
.slick-dots li button::before {
  content: none !important;
}
.slick-dots li.slick-active button {
  background-color: #18374C !important;
}

header {
  width: 100vw;
  position: fixed;
  z-index: 1000;
  top: 0;
  left: 0;
  margin: 0;
  bottom: unset;
}
header.scrolled {
  max-width: 100vw;
  background-color: #225669;
  border-bottom-color: #225669;
}
header .o-container {
  height: 100%;
}
header .o-container .c-header-content {
  height: 100%;
  display: flex;
  justify-content: space-between;
  align-items: stretch;
}
header .o-container .c-header-content .logo {
  padding: 12px 16px 12px 0;
}
header .o-container .c-header-content .logo img {
  height: 72px;
}
@media (min-width: 1200px) {
  header .o-container .c-header-content .logo img {
    height: 96px;
  }
}
header .o-container .c-header-content .navigation {
  display: none;
}
@media (min-width: 1024px) {
  header .o-container .c-header-content .navigation {
    display: block;
  }
}
header .o-container .c-header-content .navigation nav {
  height: 100%;
}
header .o-container .c-header-content .navigation nav .menu-main-menu-container {
  height: 100%;
}
header .o-container .c-header-content .navigation nav .menu-main-menu-container > ul {
  margin: 0;
  padding: 0;
  list-style: none;
  display: flex;
  gap: 1.5rem;
  align-items: center;
  justify-content: center;
  height: 100%;
  overflow: visible;
}
@media (max-width: 1200px) {
  header .o-container .c-header-content .navigation nav .menu-main-menu-container > ul {
    gap: 16px;
  }
}
header .o-container .c-header-content .navigation nav .menu-main-menu-container > ul li.menu-item {
  flex-shrink: 0;
  margin: 0;
  font-style: 1.125rem;
  display: flex;
  align-items: center;
  position: relative;
  overflow: visible;
  padding-bottom: 4px;
  transform: translateY(6px);
  border-bottom: 2px solid transparent;
  transition: all 350ms ease;
  text-transform: uppercase;
  letter-spacing: 0.02em;
}
header .o-container .c-header-content .navigation nav .menu-main-menu-container > ul li.menu-item i {
  margin-left: 4px;
}
header .o-container .c-header-content .navigation nav .menu-main-menu-container > ul li.menu-item.current-menu-item, header .o-container .c-header-content .navigation nav .menu-main-menu-container > ul li.menu-item:hover {
  border-bottom-color: #fff;
}
header .o-container .c-header-content .navigation nav .menu-main-menu-container > ul li.menu-item > a {
  text-decoration: none;
  color: #fff;
  border: none;
}
header .o-container .c-header-content .navigation nav .menu-main-menu-container > ul li.menu-item ul.sub-menu {
  position: absolute;
  top: 100%;
  left: 0;
  list-style: none;
  display: none;
  flex-direction: column;
  padding: 12px 0px 20px;
  align-items: start;
  background-color: #fff;
  width: auto;
  margin: 0;
}
header .o-container .c-header-content .navigation nav .menu-main-menu-container > ul li.menu-item ul.sub-menu li {
  flex-shrink: 0;
  padding: 8px 20px;
  min-width: max-content;
  width: 100%;
}
header .o-container .c-header-content .navigation nav .menu-main-menu-container > ul li.menu-item ul.sub-menu li:hover, header .o-container .c-header-content .navigation nav .menu-main-menu-container > ul li.menu-item ul.sub-menu li:active {
  background-color: #8AB4C4;
}
header .o-container .c-header-content .navigation nav .menu-main-menu-container > ul li.menu-item ul.sub-menu li a {
  color: #000;
}
header .o-container .c-header-content .navigation nav .menu-main-menu-container > ul li.menu-item:hover ul.sub-menu, header .o-container .c-header-content .navigation nav .menu-main-menu-container > ul li.menu-item:active ul.sub-menu, header .o-container .c-header-content .navigation nav .menu-main-menu-container > ul li.menu-item.open ul.sub-menu {
  display: flex;
}
header .o-container .c-header-content .cta {
  gap: 1.5rem;
}
header .o-container .c-header-content .cta a.e-button {
  flex-shrink: 0;
}
header .o-container .c-header-content .cta a.e-button span {
  display: none;
}
@media (min-width: 1024px) {
  header .o-container .c-header-content .cta a.e-button span {
    display: block;
  }
}
header .o-container .c-header-content .cta a.e-button img {
  flex-shrink: 0;
}
header .o-container .c-header-content .cta .mobile-toggle {
  display: block;
  position: relative;
  width: 32px;
  height: 100%;
  cursor: pointer;
  z-index: 10000;
}
header .o-container .c-header-content .cta .mobile-toggle__bar, header .o-container .c-header-content .cta .mobile-toggle:not(.active) .mobile-toggle__bar {
  height: 2px;
  background-color: #fff;
  position: absolute;
  left: 0;
  width: 100%;
  transition: all 350ms ease;
  transform: none;
}
header .o-container .c-header-content .cta .mobile-toggle__bar:first-child, header .o-container .c-header-content .cta .mobile-toggle:not(.active) .mobile-toggle__bar:first-child {
  top: calc(50% - 4px);
}
header .o-container .c-header-content .cta .mobile-toggle__bar:last-child, header .o-container .c-header-content .cta .mobile-toggle:not(.active) .mobile-toggle__bar:last-child {
  top: calc(50% + 4px);
}
header .o-container .c-header-content .cta .mobile-toggle:hover .mobile-toggle__bar:first-child, header .o-container .c-header-content .cta .mobile-toggle.active .mobile-toggle__bar:first-child {
  top: 50%;
  transform: rotate(135deg);
}
header .o-container .c-header-content .cta .mobile-toggle:hover .mobile-toggle__bar:last-child, header .o-container .c-header-content .cta .mobile-toggle.active .mobile-toggle__bar:last-child {
  top: 50%;
  transform: rotate(45deg);
}
@media (min-width: 1024px) {
  header .o-container .c-header-content .cta .mobile-toggle {
    display: none;
  }
}
header .o-container .c-header-content .cta .mobile-navigation {
  position: fixed;
  top: 0;
  left: 0;
  z-index: 9000;
  background-color: #18374C;
  color: #fff;
  width: 100vw;
  height: 100vh;
  padding: 120px 20px 24px;
  transition: all 400ms ease;
  transform: translateY(-105%);
}
header .o-container .c-header-content .cta .mobile-navigation.open {
  transform: translateY(0);
}
header .o-container .c-header-content .cta .mobile-navigation nav {
  height: 100%;
  width: 100%;
  overflow: auto;
}
header .o-container .c-header-content .cta .mobile-navigation nav ul {
  list-style: none;
  display: flex;
  flex-direction: column;
  gap: 12px;
}
header .o-container .c-header-content .cta .mobile-navigation nav ul li {
  position: relative;
}
header .o-container .c-header-content .cta .mobile-navigation nav ul li a {
  border-bottom: 2px solid transparent;
  color: #fff;
}
header .o-container .c-header-content .cta .mobile-navigation nav ul li.open > a, header .o-container .c-header-content .cta .mobile-navigation nav ul li.current-menu-item > a, header .o-container .c-header-content .cta .mobile-navigation nav ul li:hover > a {
  border-bottom-color: #fff;
}
header .o-container .c-header-content .cta .mobile-navigation nav ul li ul.sub-menu {
  display: none;
  margin: 4px 0 0;
  padding: 16px 10px;
  background-color: rgba(255, 255, 255, 0.1);
}
header .o-container .c-header-content .cta .mobile-navigation nav ul li.menu-item-has-children > a::after {
  position: absolute;
  right: 0;
  top: 0px;
  width: 20px;
  height: 20px;
  content: "";
  background-image: url("/wp-content/themes/build/src/assets/images/icons/icon-plus.svg");
}
header .o-container .c-header-content .cta .mobile-navigation nav ul li.menu-item-has-children.open ul.sub-menu {
  display: flex;
}
header .o-container .c-header-content .cta .mobile-navigation nav ul li.menu-item-has-children.open > a::after {
  background-image: url("/wp-content/themes/build/src/assets/images/icons/icon-minus.svg");
}
@media (min-width: 1024px) {
  header .o-container .c-header-content .cta {
    display: none;
  }
}

body.admin-bar header {
  top: 32px;
}

.c-post {
  overflow: hidden;
}
.c-post.format-quote blockquote {
  background-color: #225669;
  color: #fff;
  padding: 1.25rem;
  font-size: 1.25rem;
}
.c-post.format-quote blockquote a {
  color: #fff;
}
.c-post.format-link .c-post__excerpt p {
  background-color: #225669;
  padding: 1.25rem;
  font-size: 1.25rem;
  text-align: center;
}
.c-post.format-link .c-post__excerpt p a {
  color: #fff;
}
.c-post p:after {
  content: "";
  display: table;
  clear: both;
}
.c-post__header {
  margin-bottom: 1.25rem;
}
.c-post__footer {
  overflow: hidden;
  border-top: 1px solid #9e9ea6;
  margin: 1.875rem -1.25rem -1.25rem -1.25rem;
  padding: 1.25rem;
}
.c-post__tags {
  margin: 1.25rem 0 1rem;
}
.c-post__tags ul {
  list-style: none;
  margin: 0;
  display: flex;
  align-items: stretch;
  flex-wrap: wrap;
  gap: 8px;
}
.c-post__tags ul li {
  display: inline-block;
  margin: 0;
}
.c-post__tags ul li a {
  border-bottom: none;
  padding: 0.25rem 0.625rem;
  display: inline-block;
  font-size: 0.875rem;
  color: #000;
  border: 1px solid #000;
  border-radius: 24px;
}
.c-post__audio {
  width: 100%;
  margin: 0 0 1.25rem 0;
}
.c-post__thumbnail, .c-post__gallery, .c-post__video {
  margin: -1.25rem -1.25rem 1.25rem -1.25rem;
  background-color: #f5f5f5;
  text-align: center;
}
.c-post__thumbnail {
  display: block;
  aspect-ratio: 16/9;
  overflow: hidden;
  background-color: #9e9ea6;
}
.c-post__excerpt {
  color: #636365;
}
.c-post__meta {
  color: #636365;
}
.c-post__title {
  font-weight: 600;
  font-size: 1.75rem;
}
.c-post__title a {
  color: #000;
  border-bottom: none;
}
.c-post__single-title {
  font-weight: 500;
  font-size: 1.25rem;
}
.c-post__single-title a {
  color: #000;
  border-bottom: none;
}

.o-single-post-full .c-post__inner {
  max-width: 50rem;
  margin: 0 auto;
}
.o-single-post-full .alignwide {
  margin-left: -100px;
  margin-right: -100px;
  max-width: calc(50rem + 200px);
}
.o-single-post-full .alignfull {
  margin-left: -11.875rem;
  margin-right: -11.875rem;
  max-width: 73.75rem;
  width: auto;
}
.o-single-post-full .alignfull img {
  width: 100%;
}
.o-single-post-full .wp-block-cover-image.alignwide, .o-single-post-full .wp-block-cover-image.alignfull {
  width: auto;
}

.wp-block-embed.is-type-video {
  position: relative;
  padding-bottom: 56.25%;
  padding-top: 35px;
  height: 0;
  overflow: hidden;
}
.wp-block-embed.is-type-video iframe {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}

.c-post-author {
  background-color: #fff;
  border: 1px solid #9e9ea6;
  box-shadow: 0 0 20px 5px rgba(0, 0, 0, 0.05);
  padding: 1.25rem;
  display: flex;
}
.c-post-author__avatar {
  width: 120px;
  margin-right: 1.5625rem;
}
.c-post-author__content {
  flex: 1;
}
.c-post-author__info {
  margin-bottom: 0.9375rem;
  font-size: 0.875rem;
}
.c-post-author__title {
  font-size: 1.5rem;
  font-weight: 600;
}
.c-post-author__title a {
  border-bottom: none;
  color: inherit;
}
.c-post-author__desc {
  color: #636365;
}

footer {
  background-color: #fff;
  display: flex;
  justify-content: center;
  padding: 0;
  box-shadow: -5px 0 15px rgba(24, 55, 76, 0.15);
}
footer .o-container {
  color: #000;
  position: relative;
  overflow: hidden;
}
footer .o-container::before {
  position: absolute;
  bottom: 0;
  left: 0;
  min-width: 300px;
  min-height: 400px;
  width: 100%;
  height: auto;
  content: "";
  background-repeat: no-repeat;
  opacity: 0.15;
}
footer .o-container .c-footer-grid {
  width: 100vw;
  padding: 3.75rem 0 3rem;
  display: flex;
  justify-content: space-between;
  align-items: stretch;
  flex-wrap: wrap;
  position: relative;
  border-bottom: 1px solid #8AB4C4;
  gap: 6px;
}
footer .o-container .c-footer-grid__item {
  display: flex;
  flex-direction: column;
  gap: 40px;
}
footer .o-container .c-footer-grid__item .c-sidebar-widget__title,
footer .o-container .c-footer-grid__item .logo img {
  margin: 0;
  max-height: 140px !important;
  width: auto !important;
}
footer .o-container .c-footer-grid__item h3,
footer .o-container .c-footer-grid__item h4 {
  font-family: "Josefin Sans", sans-serif;
  color: #225669;
  font-family: "Josefin Sans", sans-serif;
  font-weight: 500;
  font-style: normal;
  line-height: 1.2;
  font-size: 30px;
  margin-bottom: 12px;
}
footer .o-container .c-footer-grid__item .content {
  display: flex;
  flex-direction: column;
  gap: 12px;
}
footer .o-container .c-footer-grid__item .content .c-footer-grid__footer-text {
  font-size: 1rem;
  color: #000;
}
footer .o-container .c-footer-grid__item p {
  margin: 0;
}
footer .o-container .c-footer-grid__item ul {
  list-style: none;
  padding: 0;
  margin: 0;
}
footer .o-container .c-footer-grid__item ul li {
  margin-bottom: 0.8rem;
}
footer .o-container .c-footer-grid__item ul li:last-child {
  margin-bottom: 0;
}
footer .o-container .c-footer-grid__item ul li a {
  text-decoration: none;
  color: inherit;
  margin: 0;
  border: none;
}
footer .o-container .c-footer-grid__item .social-icons {
  display: flex;
  align-items: center;
  gap: 12px;
}
footer .o-container .c-footer-grid__item .social-icons figure {
  border-radius: 3px;
  width: 40px;
  height: 40px;
  flex: 0 0 auto;
  display: flex;
  align-items: center;
  justify-content: center;
}
footer .o-container .c-footer-grid__item .social-icons > a {
  border: none;
  width: 40px;
  height: 40px;
  flex: 0 0 auto;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: all 0.3s ease;
}
footer .o-container .c-footer-grid__item .social-icons > a:hover {
  border-color: #F66D1F;
}
footer .o-container .c-footer-grid__item .social-icons > a > img,
footer .o-container .c-footer-grid__item .social-icons > a svg {
  width: auto !important;
  min-height: 48px !important;
}
footer .o-container .c-footer-grid__item:first-child {
  max-width: 320px;
}
footer .o-container .c-footer-grid__item:first-child .logo img {
  min-height: 120px;
  width: 100%;
}
@media (max-width: 1024px) {
  footer .o-container .c-footer-grid__item:first-child .logo img {
    min-height: 100px;
    max-width: 240px;
  }
}
@media (max-width: 767px) {
  footer .o-container .c-footer-grid__item:first-child .logo img {
    min-height: 80px;
    max-width: 180px;
  }
}
footer .o-container .c-footer-grid__item:first-child p {
  padding-left: 0.8rem;
}
footer .o-container .c-footer-grid__item.item-4 img {
  max-width: 120px;
  max-height: 60px;
  width: auto !important;
  height: auto !important;
}
@media (max-width: 824px) {
  footer .o-container .c-footer-grid {
    flex-direction: column;
    gap: 2rem;
    align-items: flex-start;
  }
}
footer .o-container .c-footer-copyright {
  width: 100%;
  padding: 1.5rem 0;
  display: flex;
  align-items: center;
  justify-content: space-between;
}
@media (max-width: 767px) {
  footer .o-container .c-footer-copyright {
    flex-direction: column;
    gap: 1rem;
    align-items: flex-start;
  }
  footer .o-container .c-footer-copyright span,
  footer .o-container .c-footer-copyright div {
    text-align: left;
  }
}
footer .o-container a {
  color: #000;
  border-color: #fff;
}

.not-found-page {
  min-height: 100vh !important;
  background-color: #225669;
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100vh;
  z-index: 9999;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 60px 24px;
}
.not-found-page h1 {
  color: #fff;
  font-size: rem-calc(40);
  font-weight: 400;
  text-align: center;
}
.not-found-page div {
  display: flex;
  justify-content: center;
  margin-top: 24px;
}
.not-found-page a {
  display: inline-flex;
}
.not-found-page a:hover {
  border: 1px solid #fff;
}

.c-page-header {
  background-color: #18374C;
  min-height: 360px;
  display: flex;
  align-items: center;
  justify-content: center;
  padding-top: 100px;
  background-position: center;
  background-size: cover;
  position: relative;
  width: 100%;
}
.c-page-header::after {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: rgba(0, 0, 0, 0.5);
}
.c-page-header .o-container {
  position: relative;
  z-index: 10;
}
.c-page-header .o-container h1 {
  position: relative;
  color: #fff;
  font-size: rem-calc(40);
  font-weight: 400;
  text-align: center;
  z-index: 10;
}
.c-page-header .o-container .c-page-header__breadcrumbs {
  position: relative;
  z-index: 10;
  text-align: center;
  margin-top: 12px;
  color: #fff;
  font-size: rem-calc(14);
  font-weight: 400;
}
.c-page-header .o-container .c-page-header__breadcrumbs a {
  color: #fff;
}

body.page-about .c-page-header,
body.page-contact .c-page-header,
body.service-template .c-page-header {
  background-color: #fff;
  background-image: none;
  background: none !important;
}
body.page-about .c-page-header::after,
body.page-contact .c-page-header::after,
body.service-template .c-page-header::after {
  background: none;
}
body.page-about .c-page-header h1,
body.page-contact .c-page-header h1,
body.service-template .c-page-header h1 {
  color: #225669;
}
body.page-about .c-page-header .c-page-header__breadcrumbs,
body.page-contact .c-page-header .c-page-header__breadcrumbs,
body.service-template .c-page-header .c-page-header__breadcrumbs {
  color: #225669;
}

.u-flex {
  display: flex;
}

.u-flex-direction-row {
  flex-direction: row;
}

.u-flex-direction-row-reverse {
  flex-direction: row-reverse;
}

.u-flex-direction-column {
  flex-direction: column;
}

.u-flex-direction-column-reverse {
  flex-direction: column-reverse;
}

.u-flex-nowrap {
  flex-wrap: nowrap;
}

.u-flex-wrap {
  flex-wrap: wrap;
}

.u-flex-wrap-reverse {
  flex-wrap: wrap-reverse;
}

.u-align-left {
  justify-content: flex-start;
}

.u-align-right {
  justify-content: flex-end;
}

.u-align-center {
  justify-content: center;
}

.u-align-justify {
  justify-content: space-between;
}

.u-align-spaced {
  justify-content: space-around;
}

.u-align-evenly {
  justify-content: space-evenly;
}

.u-align-top {
  align-items: flex-start;
}

.u-align-bottom {
  align-items: flex-end;
}

.u-align-middle {
  align-items: center;
}

.u-align-baseline {
  align-items: baseline;
}

.u-align-stretch {
  align-items: stretch;
}

.u-align-self-top {
  align-self: flex-start;
}

.u-align-self-bottom {
  align-self: flex-end;
}

.u-align-self-middle {
  align-self: center;
}

.u-align-self-baseline {
  align-self: baseline;
}

.u-align-self-stretch {
  align-self: stretch;
}

.u-order-0 {
  order: 0;
}

.u-order-1 {
  order: 1;
}

.u-order-2 {
  order: 2;
}

.u-order-3 {
  order: 3;
}

.u-order-4 {
  order: 4;
}

.u-order-5 {
  order: 5;
}

.u-order-6 {
  order: 6;
}

.u-order-7 {
  order: 7;
}

.u-order-8 {
  order: 8;
}

.u-order-9 {
  order: 9;
}

.u-order-10 {
  order: 10;
}

.u-order-11 {
  order: 11;
}

.u-order-12 {
  order: 12;
}

@media screen {
  .u-order-0\@small {
    order: 0;
  }
  .u-order-1\@small {
    order: 1;
  }
  .u-order-2\@small {
    order: 2;
  }
  .u-order-3\@small {
    order: 3;
  }
  .u-order-4\@small {
    order: 4;
  }
  .u-order-5\@small {
    order: 5;
  }
  .u-order-6\@small {
    order: 6;
  }
  .u-order-7\@small {
    order: 7;
  }
  .u-order-8\@small {
    order: 8;
  }
  .u-order-9\@small {
    order: 9;
  }
  .u-order-10\@small {
    order: 10;
  }
  .u-order-11\@small {
    order: 11;
  }
  .u-order-12\@small {
    order: 12;
  }
}
@media screen and (min-width: 40em) {
  .u-order-0\@medium {
    order: 0;
  }
  .u-order-1\@medium {
    order: 1;
  }
  .u-order-2\@medium {
    order: 2;
  }
  .u-order-3\@medium {
    order: 3;
  }
  .u-order-4\@medium {
    order: 4;
  }
  .u-order-5\@medium {
    order: 5;
  }
  .u-order-6\@medium {
    order: 6;
  }
  .u-order-7\@medium {
    order: 7;
  }
  .u-order-8\@medium {
    order: 8;
  }
  .u-order-9\@medium {
    order: 9;
  }
  .u-order-10\@medium {
    order: 10;
  }
  .u-order-11\@medium {
    order: 11;
  }
  .u-order-12\@medium {
    order: 12;
  }
}
@media screen and (min-width: 64em) {
  .u-order-0\@large {
    order: 0;
  }
  .u-order-1\@large {
    order: 1;
  }
  .u-order-2\@large {
    order: 2;
  }
  .u-order-3\@large {
    order: 3;
  }
  .u-order-4\@large {
    order: 4;
  }
  .u-order-5\@large {
    order: 5;
  }
  .u-order-6\@large {
    order: 6;
  }
  .u-order-7\@large {
    order: 7;
  }
  .u-order-8\@large {
    order: 8;
  }
  .u-order-9\@large {
    order: 9;
  }
  .u-order-10\@large {
    order: 10;
  }
  .u-order-11\@large {
    order: 11;
  }
  .u-order-12\@large {
    order: 12;
  }
}
@media screen and (min-width: 75em) {
  .u-order-0\@xlarge {
    order: 0;
  }
  .u-order-1\@xlarge {
    order: 1;
  }
  .u-order-2\@xlarge {
    order: 2;
  }
  .u-order-3\@xlarge {
    order: 3;
  }
  .u-order-4\@xlarge {
    order: 4;
  }
  .u-order-5\@xlarge {
    order: 5;
  }
  .u-order-6\@xlarge {
    order: 6;
  }
  .u-order-7\@xlarge {
    order: 7;
  }
  .u-order-8\@xlarge {
    order: 8;
  }
  .u-order-9\@xlarge {
    order: 9;
  }
  .u-order-10\@xlarge {
    order: 10;
  }
  .u-order-11\@xlarge {
    order: 11;
  }
  .u-order-12\@xlarge {
    order: 12;
  }
}
.u-screen-reader-text {
  position: absolute;
  left: -10000px;
  top: auto;
  width: 1px;
  height: 1px;
  overflow: hidden;
}

.u-skip-link {
  position: absolute;
  left: -10000px;
  top: auto;
  width: 1px;
  height: 1px;
  overflow: hidden;
}
.u-skip-link:focus {
  position: absolute;
  left: 20px !important;
  top: 20px !important;
  background: #fff;
  padding: 8px 12px;
  width: auto;
  height: auto;
  z-index: 10000;
  font-size: 14px;
}

.u-responsive-video {
  position: relative;
  padding-bottom: 56.25%;
  padding-top: 35px;
  height: 0;
  overflow: hidden;
}
.u-responsive-video iframe {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}

.u-margin-top-0 {
  margin-top: 0 !important;
}

.u-margin-bottom-0 {
  margin-bottom: 0 !important;
}

.u-margin-left-0 {
  margin-left: 0 !important;
}

.u-margin-right-0 {
  margin-right: 0 !important;
}

.u-margin-top-5 {
  margin-top: 0.3125rem !important;
}

.u-margin-bottom-5 {
  margin-bottom: 0.3125rem !important;
}

.u-margin-left-5 {
  margin-left: 0.3125rem !important;
}

.u-margin-right-5 {
  margin-right: 0.3125rem !important;
}

.u-margin-top-10 {
  margin-top: 0.625rem !important;
}

.u-margin-bottom-10 {
  margin-bottom: 0.625rem !important;
}

.u-margin-left-10 {
  margin-left: 0.625rem !important;
}

.u-margin-right-10 {
  margin-right: 0.625rem !important;
}

.u-margin-top-15 {
  margin-top: 0.9375rem !important;
}

.u-margin-bottom-15 {
  margin-bottom: 0.9375rem !important;
}

.u-margin-left-15 {
  margin-left: 0.9375rem !important;
}

.u-margin-right-15 {
  margin-right: 0.9375rem !important;
}

.u-margin-top-20 {
  margin-top: 1.25rem !important;
}

.u-margin-bottom-20 {
  margin-bottom: 1.25rem !important;
}

.u-margin-left-20 {
  margin-left: 1.25rem !important;
}

.u-margin-right-20 {
  margin-right: 1.25rem !important;
}

.u-margin-top-25 {
  margin-top: 1.5625rem !important;
}

.u-margin-bottom-25 {
  margin-bottom: 1.5625rem !important;
}

.u-margin-left-25 {
  margin-left: 1.5625rem !important;
}

.u-margin-right-25 {
  margin-right: 1.5625rem !important;
}

.u-margin-top-30 {
  margin-top: 1.875rem !important;
}

.u-margin-bottom-30 {
  margin-bottom: 1.875rem !important;
}

.u-margin-left-30 {
  margin-left: 1.875rem !important;
}

.u-margin-right-30 {
  margin-right: 1.875rem !important;
}

.u-margin-top-35 {
  margin-top: 2.1875rem !important;
}

.u-margin-bottom-35 {
  margin-bottom: 2.1875rem !important;
}

.u-margin-left-35 {
  margin-left: 2.1875rem !important;
}

.u-margin-right-35 {
  margin-right: 2.1875rem !important;
}

.u-margin-top-40 {
  margin-top: 2.5rem !important;
}

.u-margin-bottom-40 {
  margin-bottom: 2.5rem !important;
}

.u-margin-left-40 {
  margin-left: 2.5rem !important;
}

.u-margin-right-40 {
  margin-right: 2.5rem !important;
}

@media screen {
  .u-margin-top-0\@small {
    margin-top: 0 !important;
  }
  .u-margin-bottom-0\@small {
    margin-bottom: 0 !important;
  }
  .u-margin-left-0\@small {
    margin-left: 0 !important;
  }
  .u-margin-right-0\@small {
    margin-right: 0 !important;
  }
  .u-margin-top-5\@small {
    margin-top: 0.3125rem !important;
  }
  .u-margin-bottom-5\@small {
    margin-bottom: 0.3125rem !important;
  }
  .u-margin-left-5\@small {
    margin-left: 0.3125rem !important;
  }
  .u-margin-right-5\@small {
    margin-right: 0.3125rem !important;
  }
  .u-margin-top-10\@small {
    margin-top: 0.625rem !important;
  }
  .u-margin-bottom-10\@small {
    margin-bottom: 0.625rem !important;
  }
  .u-margin-left-10\@small {
    margin-left: 0.625rem !important;
  }
  .u-margin-right-10\@small {
    margin-right: 0.625rem !important;
  }
  .u-margin-top-15\@small {
    margin-top: 0.9375rem !important;
  }
  .u-margin-bottom-15\@small {
    margin-bottom: 0.9375rem !important;
  }
  .u-margin-left-15\@small {
    margin-left: 0.9375rem !important;
  }
  .u-margin-right-15\@small {
    margin-right: 0.9375rem !important;
  }
  .u-margin-top-20\@small {
    margin-top: 1.25rem !important;
  }
  .u-margin-bottom-20\@small {
    margin-bottom: 1.25rem !important;
  }
  .u-margin-left-20\@small {
    margin-left: 1.25rem !important;
  }
  .u-margin-right-20\@small {
    margin-right: 1.25rem !important;
  }
  .u-margin-top-25\@small {
    margin-top: 1.5625rem !important;
  }
  .u-margin-bottom-25\@small {
    margin-bottom: 1.5625rem !important;
  }
  .u-margin-left-25\@small {
    margin-left: 1.5625rem !important;
  }
  .u-margin-right-25\@small {
    margin-right: 1.5625rem !important;
  }
  .u-margin-top-30\@small {
    margin-top: 1.875rem !important;
  }
  .u-margin-bottom-30\@small {
    margin-bottom: 1.875rem !important;
  }
  .u-margin-left-30\@small {
    margin-left: 1.875rem !important;
  }
  .u-margin-right-30\@small {
    margin-right: 1.875rem !important;
  }
  .u-margin-top-35\@small {
    margin-top: 2.1875rem !important;
  }
  .u-margin-bottom-35\@small {
    margin-bottom: 2.1875rem !important;
  }
  .u-margin-left-35\@small {
    margin-left: 2.1875rem !important;
  }
  .u-margin-right-35\@small {
    margin-right: 2.1875rem !important;
  }
  .u-margin-top-40\@small {
    margin-top: 2.5rem !important;
  }
  .u-margin-bottom-40\@small {
    margin-bottom: 2.5rem !important;
  }
  .u-margin-left-40\@small {
    margin-left: 2.5rem !important;
  }
  .u-margin-right-40\@small {
    margin-right: 2.5rem !important;
  }
}
@media screen and (min-width: 40em) {
  .u-margin-top-0\@medium {
    margin-top: 0 !important;
  }
  .u-margin-bottom-0\@medium {
    margin-bottom: 0 !important;
  }
  .u-margin-left-0\@medium {
    margin-left: 0 !important;
  }
  .u-margin-right-0\@medium {
    margin-right: 0 !important;
  }
  .u-margin-top-5\@medium {
    margin-top: 0.3125rem !important;
  }
  .u-margin-bottom-5\@medium {
    margin-bottom: 0.3125rem !important;
  }
  .u-margin-left-5\@medium {
    margin-left: 0.3125rem !important;
  }
  .u-margin-right-5\@medium {
    margin-right: 0.3125rem !important;
  }
  .u-margin-top-10\@medium {
    margin-top: 0.625rem !important;
  }
  .u-margin-bottom-10\@medium {
    margin-bottom: 0.625rem !important;
  }
  .u-margin-left-10\@medium {
    margin-left: 0.625rem !important;
  }
  .u-margin-right-10\@medium {
    margin-right: 0.625rem !important;
  }
  .u-margin-top-15\@medium {
    margin-top: 0.9375rem !important;
  }
  .u-margin-bottom-15\@medium {
    margin-bottom: 0.9375rem !important;
  }
  .u-margin-left-15\@medium {
    margin-left: 0.9375rem !important;
  }
  .u-margin-right-15\@medium {
    margin-right: 0.9375rem !important;
  }
  .u-margin-top-20\@medium {
    margin-top: 1.25rem !important;
  }
  .u-margin-bottom-20\@medium {
    margin-bottom: 1.25rem !important;
  }
  .u-margin-left-20\@medium {
    margin-left: 1.25rem !important;
  }
  .u-margin-right-20\@medium {
    margin-right: 1.25rem !important;
  }
  .u-margin-top-25\@medium {
    margin-top: 1.5625rem !important;
  }
  .u-margin-bottom-25\@medium {
    margin-bottom: 1.5625rem !important;
  }
  .u-margin-left-25\@medium {
    margin-left: 1.5625rem !important;
  }
  .u-margin-right-25\@medium {
    margin-right: 1.5625rem !important;
  }
  .u-margin-top-30\@medium {
    margin-top: 1.875rem !important;
  }
  .u-margin-bottom-30\@medium {
    margin-bottom: 1.875rem !important;
  }
  .u-margin-left-30\@medium {
    margin-left: 1.875rem !important;
  }
  .u-margin-right-30\@medium {
    margin-right: 1.875rem !important;
  }
  .u-margin-top-35\@medium {
    margin-top: 2.1875rem !important;
  }
  .u-margin-bottom-35\@medium {
    margin-bottom: 2.1875rem !important;
  }
  .u-margin-left-35\@medium {
    margin-left: 2.1875rem !important;
  }
  .u-margin-right-35\@medium {
    margin-right: 2.1875rem !important;
  }
  .u-margin-top-40\@medium {
    margin-top: 2.5rem !important;
  }
  .u-margin-bottom-40\@medium {
    margin-bottom: 2.5rem !important;
  }
  .u-margin-left-40\@medium {
    margin-left: 2.5rem !important;
  }
  .u-margin-right-40\@medium {
    margin-right: 2.5rem !important;
  }
}
@media screen and (min-width: 64em) {
  .u-margin-top-0\@large {
    margin-top: 0 !important;
  }
  .u-margin-bottom-0\@large {
    margin-bottom: 0 !important;
  }
  .u-margin-left-0\@large {
    margin-left: 0 !important;
  }
  .u-margin-right-0\@large {
    margin-right: 0 !important;
  }
  .u-margin-top-5\@large {
    margin-top: 0.3125rem !important;
  }
  .u-margin-bottom-5\@large {
    margin-bottom: 0.3125rem !important;
  }
  .u-margin-left-5\@large {
    margin-left: 0.3125rem !important;
  }
  .u-margin-right-5\@large {
    margin-right: 0.3125rem !important;
  }
  .u-margin-top-10\@large {
    margin-top: 0.625rem !important;
  }
  .u-margin-bottom-10\@large {
    margin-bottom: 0.625rem !important;
  }
  .u-margin-left-10\@large {
    margin-left: 0.625rem !important;
  }
  .u-margin-right-10\@large {
    margin-right: 0.625rem !important;
  }
  .u-margin-top-15\@large {
    margin-top: 0.9375rem !important;
  }
  .u-margin-bottom-15\@large {
    margin-bottom: 0.9375rem !important;
  }
  .u-margin-left-15\@large {
    margin-left: 0.9375rem !important;
  }
  .u-margin-right-15\@large {
    margin-right: 0.9375rem !important;
  }
  .u-margin-top-20\@large {
    margin-top: 1.25rem !important;
  }
  .u-margin-bottom-20\@large {
    margin-bottom: 1.25rem !important;
  }
  .u-margin-left-20\@large {
    margin-left: 1.25rem !important;
  }
  .u-margin-right-20\@large {
    margin-right: 1.25rem !important;
  }
  .u-margin-top-25\@large {
    margin-top: 1.5625rem !important;
  }
  .u-margin-bottom-25\@large {
    margin-bottom: 1.5625rem !important;
  }
  .u-margin-left-25\@large {
    margin-left: 1.5625rem !important;
  }
  .u-margin-right-25\@large {
    margin-right: 1.5625rem !important;
  }
  .u-margin-top-30\@large {
    margin-top: 1.875rem !important;
  }
  .u-margin-bottom-30\@large {
    margin-bottom: 1.875rem !important;
  }
  .u-margin-left-30\@large {
    margin-left: 1.875rem !important;
  }
  .u-margin-right-30\@large {
    margin-right: 1.875rem !important;
  }
  .u-margin-top-35\@large {
    margin-top: 2.1875rem !important;
  }
  .u-margin-bottom-35\@large {
    margin-bottom: 2.1875rem !important;
  }
  .u-margin-left-35\@large {
    margin-left: 2.1875rem !important;
  }
  .u-margin-right-35\@large {
    margin-right: 2.1875rem !important;
  }
  .u-margin-top-40\@large {
    margin-top: 2.5rem !important;
  }
  .u-margin-bottom-40\@large {
    margin-bottom: 2.5rem !important;
  }
  .u-margin-left-40\@large {
    margin-left: 2.5rem !important;
  }
  .u-margin-right-40\@large {
    margin-right: 2.5rem !important;
  }
}
@media screen and (min-width: 75em) {
  .u-margin-top-0\@xlarge {
    margin-top: 0 !important;
  }
  .u-margin-bottom-0\@xlarge {
    margin-bottom: 0 !important;
  }
  .u-margin-left-0\@xlarge {
    margin-left: 0 !important;
  }
  .u-margin-right-0\@xlarge {
    margin-right: 0 !important;
  }
  .u-margin-top-5\@xlarge {
    margin-top: 0.3125rem !important;
  }
  .u-margin-bottom-5\@xlarge {
    margin-bottom: 0.3125rem !important;
  }
  .u-margin-left-5\@xlarge {
    margin-left: 0.3125rem !important;
  }
  .u-margin-right-5\@xlarge {
    margin-right: 0.3125rem !important;
  }
  .u-margin-top-10\@xlarge {
    margin-top: 0.625rem !important;
  }
  .u-margin-bottom-10\@xlarge {
    margin-bottom: 0.625rem !important;
  }
  .u-margin-left-10\@xlarge {
    margin-left: 0.625rem !important;
  }
  .u-margin-right-10\@xlarge {
    margin-right: 0.625rem !important;
  }
  .u-margin-top-15\@xlarge {
    margin-top: 0.9375rem !important;
  }
  .u-margin-bottom-15\@xlarge {
    margin-bottom: 0.9375rem !important;
  }
  .u-margin-left-15\@xlarge {
    margin-left: 0.9375rem !important;
  }
  .u-margin-right-15\@xlarge {
    margin-right: 0.9375rem !important;
  }
  .u-margin-top-20\@xlarge {
    margin-top: 1.25rem !important;
  }
  .u-margin-bottom-20\@xlarge {
    margin-bottom: 1.25rem !important;
  }
  .u-margin-left-20\@xlarge {
    margin-left: 1.25rem !important;
  }
  .u-margin-right-20\@xlarge {
    margin-right: 1.25rem !important;
  }
  .u-margin-top-25\@xlarge {
    margin-top: 1.5625rem !important;
  }
  .u-margin-bottom-25\@xlarge {
    margin-bottom: 1.5625rem !important;
  }
  .u-margin-left-25\@xlarge {
    margin-left: 1.5625rem !important;
  }
  .u-margin-right-25\@xlarge {
    margin-right: 1.5625rem !important;
  }
  .u-margin-top-30\@xlarge {
    margin-top: 1.875rem !important;
  }
  .u-margin-bottom-30\@xlarge {
    margin-bottom: 1.875rem !important;
  }
  .u-margin-left-30\@xlarge {
    margin-left: 1.875rem !important;
  }
  .u-margin-right-30\@xlarge {
    margin-right: 1.875rem !important;
  }
  .u-margin-top-35\@xlarge {
    margin-top: 2.1875rem !important;
  }
  .u-margin-bottom-35\@xlarge {
    margin-bottom: 2.1875rem !important;
  }
  .u-margin-left-35\@xlarge {
    margin-left: 2.1875rem !important;
  }
  .u-margin-right-35\@xlarge {
    margin-right: 2.1875rem !important;
  }
  .u-margin-top-40\@xlarge {
    margin-top: 2.5rem !important;
  }
  .u-margin-bottom-40\@xlarge {
    margin-bottom: 2.5rem !important;
  }
  .u-margin-left-40\@xlarge {
    margin-left: 2.5rem !important;
  }
  .u-margin-right-40\@xlarge {
    margin-right: 2.5rem !important;
  }
}
/*# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNldHRpbmdzL19nbG9iYWwuc2NzcyIsInNldHRpbmdzL190eXBvZ3JhcGh5LnNjc3MiLCJnZW5lcmljL19ib3gtc2l6aW5nLnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvbm9ybWFsaXplLmNzcy9ub3JtYWxpemUuY3NzIiwiZWxlbWVudHMvX2dlbmVyYWwuc2NzcyIsInNldHRpbmdzL19jb2xvcnMuc2NzcyIsImVsZW1lbnRzL190eXBvZ3JhcGh5LnNjc3MiLCJ0b29scy9fYnJlYWtwb2ludHMuc2NzcyIsImVsZW1lbnRzL19wcmludC5zY3NzIiwiZWxlbWVudHMvX2Zvcm0uc2NzcyIsImVsZW1lbnRzL19idXR0b24uc2NzcyIsImVsZW1lbnRzL19tb2RhbC5zY3NzIiwiZWxlbWVudHMvX2F1dG8tc2xpZGVyLnNjc3MiLCJvYmplY3RzL19ncmlkLnNjc3MiLCJvYmplY3RzL193cC5zY3NzIiwib2JqZWN0cy9fc2xpY2suc2NzcyIsImNvbXBvbmVudHMvX2hlYWRlci5zY3NzIiwiY29tcG9uZW50cy9fcG9zdC5zY3NzIiwiY29tcG9uZW50cy9fZm9vdGVyLnNjc3MiLCJzZXR0aW5ncy9fbWl4aW5zLnNjc3MiLCJjb21wb25lbnRzL19ub3QtZm91bmQuc2NzcyIsImNvbXBvbmVudHMvX3BhZ2UtaGVhZGVyLnNjc3MiLCJ1dGlscy9fZmxleC5zY3NzIiwidXRpbHMvX2hlbHBlcnMuc2NzcyIsInV0aWxzL19tYXJnaW5zLnNjc3MiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUVRO0FDcUJSO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7RUFRSTtFQUNBO0VBQ0EsYUE3QmtCOzs7QUFnQ3RCO0FBQUE7RUFFSSxhQXJDZTs7O0FDRG5CO0VBQ0k7OztBQUdKO0VBQ0k7RUFDQTs7O0FDTko7QUFFQTtBQUFBO0FBR0E7QUFBQTtBQUFBO0FBQUE7QUFLQTtFQUNFO0VBQ0E7OztBQUdGO0FBQUE7QUFHQTtBQUFBO0FBQUE7QUFJQTtFQUNFOzs7QUFHRjtBQUFBO0FBQUE7QUFJQTtFQUNFOzs7QUFHRjtBQUFBO0FBQUE7QUFBQTtBQUtBO0VBQ0U7RUFDQTs7O0FBR0Y7QUFBQTtBQUdBO0FBQUE7QUFBQTtBQUFBO0FBS0E7RUFDRTtFQUNBO0VBQ0E7OztBQUdGO0FBQUE7QUFBQTtBQUFBO0FBS0E7RUFDRTtFQUNBOzs7QUFHRjtBQUFBO0FBR0E7QUFBQTtBQUFBO0FBSUE7RUFDRTs7O0FBR0Y7QUFBQTtBQUFBO0FBQUE7QUFLQTtFQUNFO0VBQ0E7RUFDQTs7O0FBR0Y7QUFBQTtBQUFBO0FBSUE7QUFBQTtFQUVFOzs7QUFHRjtBQUFBO0FBQUE7QUFBQTtBQUtBO0FBQUE7QUFBQTtFQUdFO0VBQ0E7OztBQUdGO0FBQUE7QUFBQTtBQUlBO0VBQ0U7OztBQUdGO0FBQUE7QUFBQTtBQUFBO0FBS0E7QUFBQTtFQUVFO0VBQ0E7RUFDQTtFQUNBOzs7QUFHRjtFQUNFOzs7QUFHRjtFQUNFOzs7QUFHRjtBQUFBO0FBR0E7QUFBQTtBQUFBO0FBSUE7RUFDRTs7O0FBR0Y7QUFBQTtBQUdBO0FBQUE7QUFBQTtBQUFBO0FBS0E7QUFBQTtBQUFBO0FBQUE7QUFBQTtFQUtFO0VBQ0E7RUFDQTtFQUNBOzs7QUFHRjtBQUFBO0FBQUE7QUFBQTtBQUtBO0FBQUEsUUFDUTtFQUNOOzs7QUFHRjtBQUFBO0FBQUE7QUFBQTtBQUtBO0FBQUEsU0FDUztFQUNQOzs7QUFHRjtBQUFBO0FBQUE7QUFJQTtBQUFBO0FBQUE7QUFBQTtFQUlFOzs7QUFHRjtBQUFBO0FBQUE7QUFJQTtBQUFBO0FBQUE7QUFBQTtFQUlFO0VBQ0E7OztBQUdGO0FBQUE7QUFBQTtBQUlBO0FBQUE7QUFBQTtBQUFBO0VBSUU7OztBQUdGO0FBQUE7QUFBQTtBQUlBO0VBQ0U7OztBQUdGO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQU9BO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOzs7QUFHRjtBQUFBO0FBQUE7QUFJQTtFQUNFOzs7QUFHRjtBQUFBO0FBQUE7QUFJQTtFQUNFOzs7QUFHRjtB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RUo7SUFDSTs7RUFFSjtJQUNJOztFQUVKO0lBQ0k7O0VBRUo7SUFDSTs7O0FDbENSO0VBQ0k7RUFDQTtFQUNBOzs7QUFHSjtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7O0FBR0o7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQSxrQkp2QmdCO0VJd0JoQixPSlhVO0VJWVY7RUFDQTs7QUFDQTtFQUNJOzs7QUFJUjtFQUNJOztBQUNBO0VBQ0k7RUFDQTs7O0FBSVI7RUFDSTtFQUNBOzs7QUFHSjtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7OztBQUdKO0VBQ0k7RUFDQTs7O0FDckRKO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQSxhVFJrQjtFU1NsQjtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBLE9MSlU7O0FLTVY7RUFDSTs7QUFHSjtFQUNJO0VBQ0E7O0FBR0o7RUFDSTtFQUNBO0VBQ0EsY0xoQ1k7O0FLa0NaO0VBQ0k7RUFDQTs7QUFHSjtFQUNJLE1MM0JFOztBSytCVjtFQUNJO0VBQ0E7RUFDQTs7QUFFQTtFQUNJLGtCTDlDVTtFSytDVjs7QUFHSjtFQUNJLE1MMUNFOztBSzhDVjtFQUNJLGtCTC9DTTtFS2dETjtFQUNBOztBQUVBO0VBQ0ksa0JMbkVROztBS3NFWjtFQUNJLE1MdkRFOztBSzJEVjtFQUNJLGtCTHpFWTtFSzBFWjtFQUNBOztBQUVBO0VBQ0ksa0JML0VROztBS2tGWjtFQUNJLE1MbEZROztBS3VGaEI7RUFFSTtFQUNBOztBQUVBO0VBQ0k7O0FBR0o7RUFDSSxNTHJGRTs7QUt5RlY7RUFDSTtFQUNBO0VBQ0E7RUFDQTs7QUFFQTtFQUNJOztBQUlSO0VBQ0k7RUFDQTtFQUNBO0VBQ0EsT0w5R1M7RUsrR1QsYVR2SFc7O0FTeUhYO0VBQ0ksT0x0SFU7O0FLeUhkO0VBQ0ksTUwxSFU7O0FLOEhsQjtFQUNJO0VBQ0E7OztBQ25JUjtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNB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Q0k7OztBQURKO0VBQ0k7OztBQURKO0VBQ0k7OztBQURKO0VBQ0k7OztBQUtKO0VBQ0k7OztBQURKO0VBQ0k7OztBQURKO0VBQ0k7OztBQURKO0VBQ0k7OztBQURKO0VBQ0k7OztBQUtKO0VBQ0ksT0FGSzs7O0FBQ1Q7RUFDSSxPQUZLOzs7QUFDVDtFQUNJLE9BRks7OztBQUNUO0VBQ0ksT0FGSzs7O0FBQ1Q7RUFDSSxPQUZLOzs7QUFDVDtFQUNJLE9BRks7OztBQUNUO0VBQ0ksT0FGSzs7O0FBQ1Q7RUFDSSxPQUZLOzs7QUFDVDtFQUNJLE9BRks7OztBQUNUO0VBQ0ksT0FGSzs7O0FBQ1Q7RUFDSSxPQUZLOzs7QUFDVDtFQUNJLE9BRks7OztBQUNUO0VBQ0ksT0FGSzs7O0FmQ1Q7RWVPUTtJQUNJLE9BRks7O0VBQ1Q7SUFDSSxPQUZLOztFQUNUO0lBQ0ksT0FGSzs7RUFDVDtJQUNJLE9BRks7O0VBQ1Q7SUFDSSxPQUZLOztFQUNUO0lBQ0ksT0FGSzs7RUFDVDtJQUNJLE9BRks7O0VBQ1Q7SUFDSSxPQUZLOztFQUNUO0lBQ0ksT0FGSzs7RUFDVDtJQUNJLE9BRks7O0VBQ1Q7SUFDSSxPQUZLOztFQUNUO0lBQ0ksT0FGSzs7RUFDVDtJQUNJLE9BRks7OztBZk5qQjtFZU9RO0lBQ0ksT0FGSzs7RUFDVDtJQUNJLE9BRks7O0VBQ1Q7SUFDSSxPQUZLOztFQUNUO0lBQ0ksT0FGSzs7RUFDVDtJQUNJLE9BRks7O0VBQ1Q7SUFDSSxPQUZLOztFQUNUO0lBQ0ksT0FGSzs7RUFDVDtJQUNJLE9BRks7O0VBQ1Q7SUFDSSxPQUZLOztFQUNUO0lBQ0ksT0FGSzs7RUFDVDtJQUNJLE9BRks7O0VBQ1Q7SUFDSSxPQUZLOztFQUNUO0lBQ0ksT0FGSzs7O0FmTmpCO0VlT1E7SUFDSSxPQUZLOztFQUNUO0lBQ0ksT0FGSzs7RUFDVDtJQUNJLE9BRks7O0VBQ1Q7SUFDSSxPQUZLOztFQUNUO0lBQ0ksT0FGSzs7RUFDVDtJQUNJLE9BRks7O0VBQ1Q7SUFDSSxPQUZLOztFQUNUO0lBQ0ksT0FGSzs7RUFDVDtJQUNJLE9BRks7O0VBQ1Q7SUFDSSxPQUZLOztFQUNUO0lBQ0ksT0FGSzs7RUFDVDtJQUNJLE9BRks7O0VBQ1Q7SUFDSSxPQUZLOzs7QWZOakI7RWVPUTtJQUNJLE9BRks7O0VBQ1Q7SUFDSSxPQUZLOztFQUNUO0lBQ0ksT0FGSzs7RUFDVDtJQUNJLE9BRks7O0VBQ1Q7SUFDSSxPQUZLOztFQUNUO0lBQ0ksT0FGSzs7RUFDVDtJQUNJLE9BRks7O0VBQ1Q7SUFDSSxPQUZLOztFQUNUO0lBQ0ksT0FGSzs7RUFDVDtJQUNJLE9BRks7O0VBQ1Q7SUFDSSxPQUZLOztFQUNUO0lBQ0ksT0FGSzs7RUFDVDtJQUNJLE9BRks7OztBQzNEckI7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7OztBQUdKO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOztBQUNBO0VBQ0k7RUFDQTtFQUNBO0VBQ0EsWWxCUk07RWtCU047RUFDQTtFQUNBO0VBQ0E7RUFDQTs7O0FBSVI7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBOztBQUNBO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7O0FDcENKO0VBQ0k7OztBQUVKO0VBQ0k7OztBQUVKO0VBQ0k7OztBQUVKO0VBQ0k7OztBQVZKO0VBQ0k7OztBQUVKO0VBQ0k7OztBQUVKO0VBQ0k7OztBQUVKO0VBQ0k7OztBQVZKO0VBQ0k7OztBQUVKO0VBQ0k7OztBQUVKO0VBQ0k7OztBQUVKO0VBQ0k7OztBQVZKO0VBQ0k7OztBQUVKO0VBQ0k7OztBQUVKO0VBQ0k7OztBQUVKO0VBQ0k7OztBQVZKO0VBQ0k7OztBQUVKO0VBQ0k7OztBQUVKO0VBQ0k7OztBQUVKO0VBQ0k7OztBQVZKO0VBQ0k7OztBQUVKO0VBQ0k7OztBQUVKO0VBQ0k7OztBQUVKO0VBQ0k7OztBQVZKO0VBQ0k7OztBQUVKO0VBQ0k7OztBQUVKO0VBQ0k7OztBQUVKO0VBQ0k7OztBQVZKO0VBQ0k7OztBQUVKO0VBQ0k7OztBQUVKO0VBQ0k7OztBQUVKO0VBQ0k7OztBQVZKO0VBQ0k7OztBQUVKO0VBQ0k7OztBQUVKO0VBQ0k7OztBQUVKO0VBQ0k7OztBakJ1Q0o7RWlCOUJRO0lBQ0k7O0VBRUo7SUFDSTs7RUFFSjtJQUNJOztFQUVKO0lBQ0k7O0VBVko7SUFDSTs7RUFFSjtJQUNJOztFQUVKO0lBQ0k7O0VBRUo7SUFDSTs7RUFWSjtJQUNJOztFQUVKO0lBQ0k7O0VBRUo7SUFDSTs7RUFFSjtJQUNJOztFQVZKO0lBQ0k7O0VBRUo7SUFDSTs7RUFFSjtJQUNJOztFQUVKO0lBQ0k7O0VBVko7SUFDSTs7RUFFSjtJQUNJOztFQUVKO0lBQ0k7O0VBRUo7SUFDSTs7RUFWSjtJQUNJOztFQUVKO0lBQ0k7O0VBRUo7SUFDSTs7RUFFSjtJQUNJOztFQVZKO0lBQ0k7O0VBRUo7SUFDSTs7RUFFSjtJQUNJOztFQUVKO0lBQ0k7O0VBVko7SUFDSTs7RUFFSjtJQUNJOztFQUVKO0lBQ0k7O0VBRUo7SUFDSTs7RUFWSjtJQUNJOztFQUVKO0lBQ0k7O0VBRUo7SUFDSTs7RUFFSjtJQUNJOzs7QWpCb0JaO0VpQjlCUTtJQUNJOztFQUVKO0lBQ0k7O0VBRUo7SUFDSTs7RUFFSjtJQUNJOztFQVZKO0lBQ0k7O0VBRUo7SUFDSTs7RUFFSjtJQUNJOztFQUVKO0lBQ0k7O0VBVko7SUFDSTs7RUFFSjtJQUNJOztFQUVKO0lBQ0k7O0VBRUo7SUFDSTs7RUFWSjtJQUNJOztFQUVKO0lBQ0k7O0VBRUo7SUFDSTs7RUFFSjtJQUNJOztFQVZKO0lBQ0k7O0VBRUo7SUFDSTs7RUFFSjtJQUNJOztFQUVKO0lBQ0k7O0VBVko7SUFDSTs7RUFFSjtJQUNJOztFQUVKO0lBQ0k7O0VBRUo7SUFDSTs7RUFWSjtJQUNJOztFQUVKO0lBQ0k7O0VBRUo7SUFDSTs7RUFFSjtJQUNJOztFQVZKO0lBQ0k7O0VBRUo7SUFDSTs7RUFFSjtJQUNJOztFQUVKO0lBQ0k7O0VBVko7SUFDSTs7RUFFSjtJQUNJOztFQUVKO0lBQ0k7O0VBRUo7SUFDSTs7O0FqQm9CWjtFaUI5QlE7SUFDSTs7RUFFSjtJQUNJOztFQUVKO0lBQ0k7O0VBRUo7SUFDSTs7RUFWSjtJQUNJOztFQUVKO0lBQ0k7O0VBRUo7SUFDSTs7RUFFSjtJQUNJOztFQVZKO0lBQ0k7O0VBRUo7SUFDSTs7RUFFSjtJQUNJOztFQUVKO0lBQ0k7O0VBVko7SUFDSTs7RUFFSjtJQUNJOztFQUVKO0lBQ0k7O0VBRUo7SUFDSTs7RUFWSjtJQUNJOztFQUVKO0lBQ0k7O0VBRUo7SUFDSTs7RUFFSjtJQUNJOztFQVZKO0lBQ0k7O0VBRUo7SUFDSTs7RUFFSjtJQUNJOztFQUVKO0lBQ0k7O0VBVko7SUFDSTs7RUFFSjtJQUNJOztFQUVKO0lBQ0k7O0VBRUo7SUFDSTs7RUFWSjtJQUNJOztFQUVKO0lBQ0k7O0VBRUo7SUFDSTs7RUFFSjtJQUNJOztFQVZKO0lBQ0k7O0VBRUo7SUFDSTs7RUFFSjtJQUNJOztFQUVKO0lBQ0k7OztBakJvQlo7RWlCOUJRO0lBQ0k7O0VBRUo7SUFDSTs7RUFFSjtJQUNJOztFQUVKO0lBQ0k7O0VBVko7SUFDSTs7RUFFSjtJQUNJOztFQUVKO0lBQ0k7O0VBRUo7SUFDSTs7RUFWSjtJQUNJOztFQUVKO0lBQ0k7O0VBRUo7SUFDSTs7RUFFSjtJQUNJOztFQVZKO0lBQ0k7O0VBRUo7SUFDSTs7RUFFSjtJQUNJOztFQUVKO0lBQ0k7O0VBVko7SUFDSTs7RUFFSjtJQUNJOztFQUVKO0lBQ0k7O0VBRUo7SUFDSTs7RUFWSjtJQUNJOztFQUVKO0lBQ0k7O0VBRUo7SUFDSTs7RUFFSjtJQUNJOztFQVZKO0lBQ0k7O0VBRUo7SUFDSTs7RUFFSjtJQUNJOztFQUVKO0lBQ0k7O0VBVko7SUFDSTs7RUFFSjtJQUNJOztFQUVKO0lBQ0k7O0VBRUo7SUFDSTs7RUFWSjtJQUNJOztFQUVKO0lBQ0k7O0VBRUo7SUFDSTs7RUFFSjtJQUNJIiwiZmlsZSI6ImJ1bmRsZS5jc3MiLCJzb3VyY2VzQ29udGVudCI6WyJAdXNlICcuL2NvbG9ycycgYXMgKjtcbkB1c2UgJy4vdHlwb2dyYXBoeScgYXMgKjtcbkBpbXBvcnQgdXJsKCdodHRwczovL2ZvbnRzLmdvb2dsZWFwaXMuY29tL2NzczI/ZmFtaWx5PUJlYmFzK05ldWUmZmFtaWx5PURNK1NhbnM6aXRhbCxvcHN6LHdnaHRAMCw5Li40MCwxMDAuLjEwMDA7MSw5Li40MCwxMDAuLjEwMDAmZmFtaWx5PUpvc2VmaW4rU2FuczppdGFsLHdnaHRAMCwxMDAuLjcwMDsxLDEwMC4uNzAwJmZhbWlseT1PcGVuK1NhbnM6aXRhbCx3Z2h0QDAsMzAwLi44MDA7MSwzMDAuLjgwMCZmYW1pbHk9VW5ib3VuZGVkOndnaHRAMjAwLi45MDAmZGlzcGxheT1zd2FwJyk7XG4kYm9keS1iYWNrZ3JvdW5kOiAkY29sb3ItYmFja2dyb3VuZCAhZGVmYXVsdDtcbiRnbG9iYWwtd2VpZ2h0LW5vcm1hbDogNDAwICFkZWZhdWx0O1xuJGdsb2JhbC1saW5laGVpZ2h0OiAxLjQgIWRlZmF1bHQ7XG4kYmFzZS1mb250LXNpemU6IDEwMCUgIWRlZmF1bHQ7XG4kYm9keS1mb250LWNvbG9yOiAjMTMxNDE1ICFkZWZhdWx0O1xuJGdsb2JhbC13aWR0aDogMTIwMHB4ICFkZWZhdWx0O1xuJGdsb2JhbC13aWR0aC13aWRlOiAxNDQwcHggIWRlZmF1bHQ7XG4kZ2xvYmFsLXNwYWNlOiAxNnB4O1xuJGdsb2JhbC1wYWRkaW5nOiAxNnB4OyIsIkB1c2UgJy4vY29sb3JzJyBhcyAqO1xuJGJvZHktZm9udC1mYW1pbHk6ICdPcGVuIFNhbnMnLFxuc2Fucy1zZXJpZiAhZGVmYXVsdDtcbi8vICRib2R5LWZvbnQtZmFtaWx5OiAnRE0gU2FucycsIHNhbnMtc2VyaWYgIWRlZmF1bHQ7XG4kaGVhZGluZy1mb250LWZhbWlseTogJ0pvc2VmaW4gU2FucycsXG5zYW5zLXNlcmlmICFkZWZhdWx0O1xuLy8gJGhlYWRpbmctZm9udC1mYW1pbHk6ICdCZWJhcyBOZXVlJywgc2Fucy1zZXJpZiAhZGVmYXVsdDtcbiRzcGVjaWFsLWZvbnQtZmFtaWx5OiAnVW5ib3VuZGVkJyxcbnNhbnMtc2VyaWY7XG4kbW9uby1mb250LWZhbWlseTogXCJJQk0gUGxleCBNb25vXCIsXG5Db3VyaWVyLFxubW9ub3NwYWNlO1xuJGhlYWRpbmctZm9udC13ZWlnaHQ6IDUwMCAhZGVmYXVsdDtcbiRoZWFkaW5nLWxpbmVoZWlnaHQ6IDEuMiAhZGVmYXVsdDtcbiRoZWFkaW5nLWZvbnQtc3R5bGU6IG5vcm1hbCAhZGVmYXVsdDtcbiRoZWFkaW5nLWNvbG9yOiBpbmhlcml0ICFkZWZhdWx0O1xuJGhlYWRpbmctbWFyZ2luLWJvdHRvbTogMC41cmVtICFkZWZhdWx0O1xuJGZvbnQtZmFtaWx5LXNlcmlmOiAnc2VyaWYnICFkZWZhdWx0O1xuJHNtYWxsLWZvbnQtc2l6ZTogODAlICFkZWZhdWx0O1xuJGhlYWRpbmctc21hbGwtZm9udC1jb2xvcjogJGNvbG9yLXRleHQtNDAwICFkZWZhdWx0O1xuJHBhcmFncmFwaC1saW5laGVpZ2h0OiAxLjQgIWRlZmF1bHQ7XG4kcGFyYWdyYXBoLW1hcmdpbi1ib3R0b206IDFyZW0gIWRlZmF1bHQ7XG4kaGVhZGluZy1zdHlsZXM6ICggc21hbGw6ICggJy5oLWRpc3BsYXknOiAoJ2ZvbnQtc2l6ZSc6IDQ4KSwgJ2gxLCAuaDEnOiAoJ2ZvbnQtc2l6ZSc6IDQwKSwgJ2gyLCAuaDInOiAoJ2ZvbnQtc2l6ZSc6IDM2KSwgJ2gzLCAuaDMnOiAoJ2ZvbnQtc2l6ZSc6IDMwKSwgJ2g0LCAuaDQsIC5jLXNpZGViYXItd2lkZ2V0X190aXRsZSc6ICgnZm9udC1zaXplJzogMjYpLCAnaDUsIC5oNSc6ICgnZm9udC1zaXplJzogMjIpLCAnaDYsIC5oNic6ICgnZm9udC1zaXplJzogMjApLCApLCBtZWRpdW06ICggJy5oLWRpc3BsYXknOiAoJ2ZvbnQtc2l6ZSc6IDcwKSwgJ2gxLCAuaDEnOiAoJ2ZvbnQtc2l6ZSc6IDU1KSwgJ2gyLCAuaDInOiAoJ2ZvbnQtc2l6ZSc6IDQ2KSwgJ2gzLCAuaDMnOiAoJ2ZvbnQtc2l6ZSc6IDM2KSwgJ2g0LCAuaDQsIC5jLXNpZGViYXItd2lkZ2V0X190aXRsZSc6ICgnZm9udC1zaXplJzogMjgpLCAnaDUsIC5oNSc6ICgnZm9udC1zaXplJzogMjQpLCAnaDYsIC5oNic6ICgnZm9udC1zaXplJzogMjApLCApLCApICFkZWZhdWx0O1xuaDEsXG5oMixcbmgzLFxuaDQsXG5oNSxcbmg2LFxuKltjbGFzc149XCJoLVwiXSxcbipbY2xhc3MqPVwidGl0bGVcIl0ge1xuICAgIGxldHRlci1zcGFjaW5nOiAtMXB4O1xuICAgIHRleHQtdHJhbnNmb3JtOiBub25lICFpbXBvcnRhbnQ7XG4gICAgZm9udC1mYW1pbHk6ICRoZWFkaW5nLWZvbnQtZmFtaWx5O1xufVxuXG5wLFxubGkge1xuICAgIGZvbnQtZmFtaWx5OiAkYm9keS1mb250LWZhbWlseTtcbn0iLCIqLCAqOmJlZm9yZSwgKjphZnRlciB7XG4gICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbn1cblxuKiB7XG4gICAgcGFkZGluZzogMDtcbiAgICBtYXJnaW46IDA7XG59IiwiLyohIG5vcm1hbGl6ZS5jc3MgdjguMC4xIHwgTUlUIExpY2Vuc2UgfCBnaXRodWIuY29tL25lY29sYXMvbm9ybWFsaXplLmNzcyAqL1xuXG4vKiBEb2N1bWVudFxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLyoqXG4gKiAxLiBDb3JyZWN0IHRoZSBsaW5lIGhlaWdodCBpbiBhbGwgYnJvd3NlcnMuXG4gKiAyLiBQcmV2ZW50IGFkanVzdG1lbnRzIG9mIGZvbnQgc2l6ZSBhZnRlciBvcmllbnRhdGlvbiBjaGFuZ2VzIGluIGlPUy5cbiAqL1xuXG5odG1sIHtcbiAgbGluZS1oZWlnaHQ6IDEuMTU7IC8qIDEgKi9cbiAgLXdlYmtpdC10ZXh0LXNpemUtYWRqdXN0OiAxMDAlOyAvKiAyICovXG59XG5cbi8qIFNlY3Rpb25zXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKipcbiAqIFJlbW92ZSB0aGUgbWFyZ2luIGluIGFsbCBicm93c2Vycy5cbiAqL1xuXG5ib2R5IHtcbiAgbWFyZ2luOiAwO1xufVxuXG4vKipcbiAqIFJlbmRlciB0aGUgYG1haW5gIGVsZW1lbnQgY29uc2lzdGVudGx5IGluIElFLlxuICovXG5cbm1haW4ge1xuICBkaXNwbGF5OiBibG9jaztcbn1cblxuLyoqXG4gKiBDb3JyZWN0IHRoZSBmb250IHNpemUgYW5kIG1hcmdpbiBvbiBgaDFgIGVsZW1lbnRzIHdpdGhpbiBgc2VjdGlvbmAgYW5kXG4gKiBgYXJ0aWNsZWAgY29udGV4dHMgaW4gQ2hyb21lLCBGaXJlZm94LCBhbmQgU2FmYXJpLlxuICovXG5cbmgxIHtcbiAgZm9udC1zaXplOiAyZW07XG4gIG1hcmdpbjogMC42N2VtIDA7XG59XG5cbi8qIEdyb3VwaW5nIGNvbnRlbnRcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qKlxuICogMS4gQWRkIHRoZSBjb3JyZWN0IGJveCBzaXppbmcgaW4gRmlyZWZveC5cbiAqIDIuIFNob3cgdGhlIG92ZXJmbG93IGluIEVkZ2UgYW5kIElFLlxuICovXG5cbmhyIHtcbiAgYm94LXNpemluZzogY29udGVudC1ib3g7IC8qIDEgKi9cbiAgaGVpZ2h0OiAwOyAvKiAxICovXG4gIG92ZXJmbG93OiB2aXNpYmxlOyAvKiAyICovXG59XG5cbi8qKlxuICogMS4gQ29ycmVjdCB0aGUgaW5oZXJpdGFuY2UgYW5kIHNjYWxpbmcgb2YgZm9udCBzaXplIGluIGFsbCBicm93c2Vycy5cbiAqIDIuIENvcnJlY3QgdGhlIG9kZCBgZW1gIGZvbnQgc2l6aW5nIGluIGFsbCBicm93c2Vycy5cbiAqL1xuXG5wcmUge1xuICBmb250LWZhbWlseTogbW9ub3NwYWNlLCBtb25vc3BhY2U7IC8qIDEgKi9cbiAgZm9udC1zaXplOiAxZW07IC8qIDIgKi9cbn1cblxuLyogVGV4dC1sZXZlbCBzZW1hbnRpY3NcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qKlxuICogUmVtb3ZlIHRoZSBncmF5IGJhY2tncm91bmQgb24gYWN0aXZlIGxpbmtzIGluIElFIDEwLlxuICovXG5cbmEge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbn1cblxuLyoqXG4gKiAxLiBSZW1vdmUgdGhlIGJvdHRvbSBib3JkZXIgaW4gQ2hyb21lIDU3LVxuICogMi4gQWRkIHRoZSBjb3JyZWN0IHRleHQgZGVjb3JhdGlvbiBpbiBDaHJvbWUsIEVkZ2UsIElFLCBPcGVyYSwgYW5kIFNhZmFyaS5cbiAqL1xuXG5hYmJyW3RpdGxlXSB7XG4gIGJvcmRlci1ib3R0b206IG5vbmU7IC8qIDEgKi9cbiAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7IC8qIDIgKi9cbiAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmUgZG90dGVkOyAvKiAyICovXG59XG5cbi8qKlxuICogQWRkIHRoZSBjb3JyZWN0IGZvbnQgd2VpZ2h0IGluIENocm9tZSwgRWRnZSwgYW5kIFNhZmFyaS5cbiAqL1xuXG5iLFxuc3Ryb25nIHtcbiAgZm9udC13ZWlnaHQ6IGJvbGRlcjtcbn1cblxuLyoqXG4gKiAxLiBDb3JyZWN0IHRoZSBpbmhlcml0YW5jZSBhbmQgc2NhbGluZyBvZiBmb250IHNpemUgaW4gYWxsIGJyb3dzZXJzLlxuICogMi4gQ29ycmVjdCB0aGUgb2RkIGBlbWAgZm9udCBzaXppbmcgaW4gYWxsIGJyb3dzZXJzLlxuICovXG5cbmNvZGUsXG5rYmQsXG5zYW1wIHtcbiAgZm9udC1mYW1pbHk6IG1vbm9zcGFjZSwgbW9ub3NwYWNlOyAvKiAxICovXG4gIGZvbnQtc2l6ZTogMWVtOyAvKiAyICovXG59XG5cbi8qKlxuICogQWRkIHRoZSBjb3JyZWN0IGZvbnQgc2l6ZSBpbiBhbGwgYnJvd3NlcnMuXG4gKi9cblxuc21hbGwge1xuICBmb250LXNpemU6IDgwJTtcbn1cblxuLyoqXG4gKiBQcmV2ZW50IGBzdWJgIGFuZCBgc3VwYCBlbGVtZW50cyBmcm9tIGFmZmVjdGluZyB0aGUgbGluZSBoZWlnaHQgaW5cbiAqIGFsbCBicm93c2Vycy5cbiAqL1xuXG5zdWIsXG5zdXAge1xuICBmb250LXNpemU6IDc1JTtcbiAgbGluZS1oZWlnaHQ6IDA7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgdmVydGljYWwtYWxpZ246IGJhc2VsaW5lO1xufVxuXG5zdWIge1xuICBib3R0b206IC0wLjI1ZW07XG59XG5cbnN1cCB7XG4gIHRvcDogLTAuNWVtO1xufVxuXG4vKiBFbWJlZGRlZCBjb250ZW50XG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKipcbiAqIFJlbW92ZSB0aGUgYm9yZGVyIG9uIGltYWdlcyBpbnNpZGUgbGlua3MgaW4gSUUgMTAuXG4gKi9cblxuaW1nIHtcbiAgYm9yZGVyLXN0eWxlOiBub25lO1xufVxuXG4vKiBGb3Jtc1xuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLyoqXG4gKiAxLiBDaGFuZ2UgdGhlIGZvbnQgc3R5bGVzIGluIGFsbCBicm93c2Vycy5cbiAqIDIuIFJlbW92ZSB0aGUgbWFyZ2luIGluIEZpcmVmb3ggYW5kIFNhZmFyaS5cbiAqL1xuXG5idXR0b24sXG5pbnB1dCxcbm9wdGdyb3VwLFxuc2VsZWN0LFxudGV4dGFyZWEge1xuICBmb250LWZhbWlseTogaW5oZXJpdDsgLyogMSAqL1xuICBmb250LXNpemU6IDEwMCU7IC8qIDEgKi9cbiAgbGluZS1oZWlnaHQ6IDEuMTU7IC8qIDEgKi9cbiAgbWFyZ2luOiAwOyAvKiAyICovXG59XG5cbi8qKlxuICogU2hvdyB0aGUgb3ZlcmZsb3cgaW4gSUUuXG4gKiAxLiBTaG93IHRoZSBvdmVyZmxvdyBpbiBFZGdlLlxuICovXG5cbmJ1dHRvbixcbmlucHV0IHsgLyogMSAqL1xuICBvdmVyZmxvdzogdmlzaWJsZTtcbn1cblxuLyoqXG4gKiBSZW1vdmUgdGhlIGluaGVyaXRhbmNlIG9mIHRleHQgdHJhbnNmb3JtIGluIEVkZ2UsIEZpcmVmb3gsIGFuZCBJRS5cbiAqIDEuIFJlbW92ZSB0aGUgaW5oZXJpdGFuY2Ugb2YgdGV4dCB0cmFuc2Zvcm0gaW4gRmlyZWZveC5cbiAqL1xuXG5idXR0b24sXG5zZWxlY3QgeyAvKiAxICovXG4gIHRleHQtdHJhbnNmb3JtOiBub25lO1xufVxuXG4vKipcbiAqIENvcnJlY3QgdGhlIGluYWJpbGl0eSB0byBzdHlsZSBjbGlja2FibGUgdHlwZXMgaW4gaU9TIGFuZCBTYWZhcmkuXG4gKi9cblxuYnV0dG9uLFxuW3R5cGU9XCJidXR0b25cIl0sXG5bdHlwZT1cInJlc2V0XCJdLFxuW3R5cGU9XCJzdWJtaXRcIl0ge1xuICAtd2Via2l0LWFwcGVhcmFuY2U6IGJ1dHRvbjtcbn1cblxuLyoqXG4gKiBSZW1vdmUgdGhlIGlubmVyIGJvcmRlciBhbmQgcGFkZGluZyBpbiBGaXJlZm94LlxuICovXG5cbmJ1dHRvbjo6LW1vei1mb2N1cy1pbm5lcixcblt0eXBlPVwiYnV0dG9uXCJdOjotbW96LWZvY3VzLWlubmVyLFxuW3R5cGU9XCJyZXNldFwiXTo6LW1vei1mb2N1cy1pbm5lcixcblt0eXBlPVwic3VibWl0XCJdOjotbW96LWZvY3VzLWlubmVyIHtcbiAgYm9yZGVyLXN0eWxlOiBub25lO1xuICBwYWRkaW5nOiAwO1xufVxuXG4vKipcbiAqIFJlc3RvcmUgdGhlIGZvY3VzIHN0eWxlcyB1bnNldCBieSB0aGUgcHJldmlvdXMgcnVsZS5cbiAqL1xuXG5idXR0b246LW1vei1mb2N1c3JpbmcsXG5bdHlwZT1cImJ1dHRvblwiXTotbW96LWZvY3VzcmluZyxcblt0eXBlPVwicmVzZXRcIl06LW1vei1mb2N1c3JpbmcsXG5bdHlwZT1cInN1Ym1pdFwiXTotbW96LWZvY3VzcmluZyB7XG4gIG91dGxpbmU6IDFweCBkb3R0ZWQgQnV0dG9uVGV4dDtcbn1cblxuLyoqXG4gKiBDb3JyZWN0IHRoZSBwYWRkaW5nIGluIEZpcmVmb3guXG4gKi9cblxuZmllbGRzZXQge1xuICBwYWRkaW5nOiAwLjM1ZW0gMC43NWVtIDAuNjI1ZW07XG59XG5cbi8qKlxuICogMS4gQ29ycmVjdCB0aGUgdGV4dCB3cmFwcGluZyBpbiBFZGdlIGFuZCBJRS5cbiAqIDIuIENvcnJlY3QgdGhlIGNvbG9yIGluaGVyaXRhbmNlIGZyb20gYGZpZWxkc2V0YCBlbGVtZW50cyBpbiBJRS5cbiAqIDMuIFJlbW92ZSB0aGUgcGFkZGluZyBzbyBkZXZlbG9wZXJzIGFyZSBub3QgY2F1Z2h0IG91dCB3aGVuIHRoZXkgemVybyBvdXRcbiAqICAgIGBmaWVsZHNldGAgZWxlbWVudHMgaW4gYWxsIGJyb3dzZXJzLlxuICovXG5cbmxlZ2VuZCB7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7IC8qIDEgKi9cbiAgY29sb3I6IGluaGVyaXQ7IC8qIDIgKi9cbiAgZGlzcGxheTogdGFibGU7IC8qIDEgKi9cbiAgbWF4LXdpZHRoOiAxMDAlOyAvKiAxICovXG4gIHBhZGRpbmc6IDA7IC8qIDMgKi9cbiAgd2hpdGUtc3BhY2U6IG5vcm1hbDsgLyogMSAqL1xufVxuXG4vKipcbiAqIEFkZCB0aGUgY29ycmVjdCB2ZXJ0aWNhbCBhbGlnbm1lbnQgaW4gQ2hyb21lLCBGaXJlZm94LCBhbmQgT3BlcmEuXG4gKi9cblxucHJvZ3Jlc3Mge1xuICB2ZXJ0aWNhbC1hbGlnbjogYmFzZWxpbmU7XG59XG5cbi8qKlxuICogUmVtb3ZlIHRoZSBkZWZhdWx0IHZlcnRpY2FsIHNjcm9sbGJhciBpbiBJRSAxMCsuXG4gKi9cblxudGV4dGFyZWEge1xuICBvdmVyZmxvdzogYXV0bztcbn1cblxuLyoqXG4gKiAxLiBBZGQgdGhlIGNvcnJlY3QgYm94IHNpemluZyBpbiBJRSAxMC5cbiAqIDIuIFJlbW92ZSB0aGUgcGFkZGluZyBpbiBJRSAxMC5cbiAqL1xuXG5bdHlwZT1cImNoZWNrYm94XCJdLFxuW3R5cGU9XCJyYWRpb1wiXSB7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7IC8qIDEgKi9cbiAgcGFkZGluZzogMDsgLyogMiAqL1xufVxuXG4vKipcbiAqIENvcnJlY3QgdGhlIGN1cnNvciBzdHlsZSBvZiBpbmNyZW1lbnQgYW5kIGRlY3JlbWVudCBidXR0b25zIGluIENocm9tZS5cbiAqL1xuXG5bdHlwZT1cIm51bWJlclwiXTo6LXdlYmtpdC1pbm5lci1zcGluLWJ1dHRvbixcblt0eXBlPVwibnVtYmVyXCJdOjotd2Via2l0LW91dGVyLXNwaW4tYnV0dG9uIHtcbiAgaGVpZ2h0OiBhdXRvO1xufVxuXG4vKipcbiAqIDEuIENvcnJlY3QgdGhlIG9kZCBhcHBlYXJhbmNlIGluIENocm9tZSBhbmQgU2FmYXJpLlxuICogMi4gQ29ycmVjdCB0aGUgb3V0bGluZSBzdHlsZSBpbiBTYWZhcmkuXG4gKi9cblxuW3R5cGU9XCJzZWFyY2hcIl0ge1xuICAtd2Via2l0LWFwcGVhcmFuY2U6IHRleHRmaWVsZDsgLyogMSAqL1xuICBvdXRsaW5lLW9mZnNldDogLTJweDsgLyogMiAqL1xufVxuXG4vKipcbiAqIFJlbW92ZSB0aGUgaW5uZXIgcGFkZGluZyBpbiBDaHJvbWUgYW5kIFNhZmFyaSBvbiBtYWNPUy5cbiAqL1xuXG5bdHlwZT1cInNlYXJjaFwiXTo6LXdlYmtpdC1zZWFyY2gtZGVjb3JhdGlvbiB7XG4gIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTtcbn1cblxuLyoqXG4gKiAxLiBDb3JyZWN0IHRoZSBpbmFiaWxpdHkgdG8gc3R5bGUgY2xpY2thYmxlIHR5cGVzIGluIGlPUyBhbmQgU2FmYXJpLlxuICogMi4gQ2hhbmdlIGZvbnQgcHJvcGVydGllcyB0byBgaW5oZXJpdGAgaW4gU2FmYXJpLlxuICovXG5cbjo6LXdlYmtpdC1maWxlLXVwbG9hZC1idXR0b24ge1xuICAtd2Via2l0LWFwcGVhcmFuY2U6IGJ1dHRvbjsgLyogMSAqL1xuICBmb250OiBpbmhlcml0OyAvKiAyICovXG59XG5cbi8qIEludGVyYWN0aXZlXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKlxuICogQWRkIHRoZSBjb3JyZWN0IGRpc3BsYXkgaW4gRWRnZSwgSUUgMTArLCBhbmQgRmlyZWZveC5cbiAqL1xuXG5kZXRhaWxzIHtcbiAgZGlzcGxheTogYmxvY2s7XG59XG5cbi8qXG4gKiBBZGQgdGhlIGNvcnJlY3QgZGlzcGxheSBpbiBhbGwgYnJvd3NlcnMuXG4gKi9cblxuc3VtbWFyeSB7XG4gIGRpc3BsYXk6IGxpc3QtaXRlbTtcbn1cblxuLyogTWlzY1xuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLyoqXG4gKiBBZGQgdGhlIGNvcnJlY3QgZGlzcGxheSBpbiBJRSAxMCsuXG4gKi9cblxudGVtcGxhdGUge1xuICBkaXNwbGF5OiBub25lO1xufVxuXG4vKipcbiAqIEFkZCB0aGUgY29ycmVjdCBkaXNwbGF5IGluIElFIDEwLlxuICovXG5cbltoaWRkZW5dIHtcbiAgZGlzcGxheTogbm9uZTtcbn1cbiIsIkB1c2UgJy4uL3NldHRpbmdzL2dsb2JhbCcgYXMgKjtcbkB1c2UgJy4uL3NldHRpbmdzL3R5cG9ncmFwaHknIGFzICo7XG5AdXNlICcuLi9zZXR0aW5ncy9jb2xvcnMnIGFzICo7XG5AdXNlICcuLi9zZXR0aW5ncy9icmVha3BvaW50cycgYXMgKjtcblxuaHRtbCB7XG4gICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICBmb250LXNpemU6ICRiYXNlLWZvbnQtc2l6ZTtcbn1cblxuYm9keSB7XG4gICAgYmFja2dyb3VuZDogJGJvZHktYmFja2dyb3VuZDtcbiAgICBmb250LWZhbWlseTogJGJvZHktZm9udC1mYW1pbHk7XG4gICAgZm9udC13ZWlnaHQ6ICRnbG9iYWwtd2VpZ2h0LW5vcm1hbDtcbiAgICBsaW5lLWhlaWdodDogJGdsb2JhbC1saW5laGVpZ2h0O1xuICAgIGNvbG9yOiAkYm9keS1mb250LWNvbG9yO1xuICAgIC13ZWJraXQtZm9udC1zbW9vdGhpbmc6IGFudGlhbGlhc2VkO1xuICAgIC1tb3otb3N4LWZvbnQtc21vb3RoaW5nOiBncmF5c2NhbGU7XG4gICAgdGV4dC1yZW5kZXJpbmc6IG9wdGltaXplTGVnaWJpbGl0eTtcbiAgICBwYWRkaW5nOiAwO1xuICAgIG1hcmdpbjogMDtcbn1cblxuI2NvbnRlbnQge1xuICAgIHBhZGRpbmc6IDA7XG4gICAgbWFyZ2luOiAwO1xufVxuaW1nIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiBhdXRvO1xuICAgIC1tcy1pbnRlcnBvbGF0aW9uLW1vZGU6IGJpY3ViaWM7XG59XG5cbjo6c2VsZWN0aW9uIHtcbiAgICBiYWNrZ3JvdW5kOiAkY29sb3Itc2Vjb25kYXJ5LTQwMDtcbiAgICBjb2xvcjogJGNvbG9yLXdoaXRlO1xufVxuXG46Oi1tb3otc2VsZWN0aW9uIHtcbiAgICBiYWNrZ3JvdW5kOiAkY29sb3Itc2Vjb25kYXJ5LTQwMDtcbiAgICBjb2xvcjogJGNvbG9yLXdoaXRlO1xufSIsIiRjb2xvci1wcmltYXJ5LTEwMDogI0YwRjNGNDtcbiRjb2xvci1wcmltYXJ5LTIwMDogIzhBQjRDNDtcbiRjb2xvci1wcmltYXJ5LTMwMDogIzIyNTY2OTtcbiRjb2xvci1wcmltYXJ5LTQwMDogIzE4Mzc0QztcblxuJGNvbG9yLXNlY29uZGFyeS0zMDA6ICNGNjZEMUY7XG4kY29sb3Itc2Vjb25kYXJ5LTQwMDogIzk0NDkxRTtcblxuJGNvbG9yLXRleHQtMzAwOiAjNDk0YjRjO1xuJGNvbG9yLXRleHQtNDAwOiAjMTMxNDE1O1xuJGNvbG9yLWJhY2tncm91bmQ6ICNmZmY7XG5cbiRjb2xvci1ncmF5LTEwMDogI2Y1ZjVmNTtcbiRjb2xvci1ncmF5LTIwMDogIzllOWVhNjtcbiRjb2xvci1ncmF5LTMwMDogIzYzNjM2NTtcbiRjb2xvci13aGl0ZTogI2ZmZjtcbiRjb2xvci1ibGFjazogIzAwMDtcbiIsIkB1c2UgXCJzYXNzOm1hcFwiO1xuQHVzZSAnLi4vc2V0dGluZ3MvZ2xvYmFsJyBhcyAqO1xuQHVzZSAnLi4vc2V0dGluZ3MvdHlwb2dyYXBoeScgYXMgKjtcbkB1c2UgJy4uL3NldHRpbmdzL2NvbG9ycycgYXMgKjtcbkB1c2UgJy4uL3NldHRpbmdzL2JyZWFrcG9pbnRzJyBhcyAqO1xuQHVzZSAnLi4vdG9vbHMvYnJlYWtwb2ludHMnIGFzICo7XG5AdXNlICcuLi90b29scy91bml0cycgYXMgKjtcblxuZGl2LCBkbCwgZHQsIGRkLCB1bCwgb2wsIGxpLCBoMSwgaDIsIGgzLCBoNCwgaDUsIGg2LCBwcmUsIGZvcm0sIHAsIGJsb2NrcXVvdGUsIHRoLCB0ZCB7XG4gICAgbWFyZ2luOiAwO1xuICAgIHBhZGRpbmc6IDA7XG59XG5cbnAge1xuICAgIG1hcmdpbi1ib3R0b206ICRwYXJhZ3JhcGgtbWFyZ2luLWJvdHRvbTtcbiAgICBmb250LXNpemU6IGluaGVyaXQ7XG4gICAgbGluZS1oZWlnaHQ6ICRwYXJhZ3JhcGgtbGluZWhlaWdodDtcbiAgICAtbW96LW9zeC1mb250LXNtb290aGluZzogZ3JheXNjYWxlO1xuICAgIHdvcmQtYnJlYWs6IGJyZWFrLWFsbDtcbiAgICB3b3JkLWJyZWFrOiBicmVhay13b3JkO1xuICAgIC13ZWJraXQtaHlwaGVuczogYXV0bztcbiAgICAtbW96LWh5cGhlbnM6IGF1dG87XG4gICAgLW1zLWh5cGhlbnM6IGF1dG87XG4gICAgaHlwaGVuczogYXV0bzsgXG59XG5cbmE6bm90KDpoYXMoaW1nKSkgICB7ICAgXG4gICAgbGluZS1oZWlnaHQ6IGluaGVyaXQ7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAkY29sb3Itc2Vjb25kYXJ5LTQwMDtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgY29sb3I6ICRjb2xvci1zZWNvbmRhcnktNDAwO1xuICAgIHdvcmQtYnJlYWs6IGJyZWFrLWFsbDtcbiAgICB3b3JkLWJyZWFrOiBicmVhay13b3JkO1xuICAgICY6dmlzaXRlZCB7XG4gICAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZDtcbiAgICB9XG4gICAgJjpob3ZlciB7ICAgXG4gICAgICAgIGJvcmRlci1ib3R0b206IG5vbmU7XG4gICAgfVxuICAgICY6YWN0aXZlIHsgICBcbiAgICAgICAgY29sb3I6ICRjb2xvci1wcmltYXJ5LTQwMDsgICAgICBcbiAgICB9XG4gICAgJjpmb2N1cyB7ICAgXG4gICAgICAgIGJvcmRlcjogbm9uZTsgXG4gICAgfVxuICAgIGZvbnQtc2l6ZTogaW5oZXJpdDtcbn1cblxuaHIge1xuICAgIGNsZWFyOiBib3RoO1xuICAgIG1heC13aWR0aDogJGdsb2JhbC13aWR0aDtcbiAgICBoZWlnaHQ6IDA7XG4gICAgbWFyZ2luOiByZW0tY2FsYygyMCkgYXV0bztcbiAgICBib3JkZXItdG9wOiAwO1xuICAgIGJvcmRlci1yaWdodDogMDtcbiAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgJGNvbG9yLWdyYXktMjAwO1xuICAgIGJvcmRlci1sZWZ0OiAwO1xufVxuXG5zdHJvbmcsIGIgIHsgICBcbiAgICBmb250LXdlaWdodDogYm9sZDsgIFxufVxuXG5lbSwgaSB7ICAgXG4gICAgZm9udC1zdHlsZTogaXRhbGljOyBcbn1cblxuc21hbGwge1xuICAgIGZvbnQtc2l6ZTogJHNtYWxsLWZvbnQtc2l6ZTtcbiAgICBsaW5lLWhlaWdodDogaW5oZXJpdDtcbn1cblxuaDEsIGgyLCBoMywgaDQsIGg1LCBoNiwgLmgxLCAuaDIsIC5oMywgLmg0LCAuaDUsIC5oNiB7XG4gICAgZm9udC1mYW1pbHk6ICRoZWFkaW5nLWZvbnQtZmFtaWx5O1xuICAgIGZvbnQtc3R5bGU6ICRoZWFkaW5nLWZvbnQtc3R5bGU7XG4gICAgZm9udC13ZWlnaHQ6ICRoZWFkaW5nLWZvbnQtd2VpZ2h0O1xuICAgIGNvbG9yOiAkaGVhZGluZy1jb2xvcjtcbiAgICBsaW5lLWhlaWdodDogJGhlYWRpbmctbGluZWhlaWdodDtcbiAgICBtYXJnaW4tYm90dG9tOiAkaGVhZGluZy1tYXJnaW4tYm90dG9tO1xuICAgIHRleHQtcmVuZGVyaW5nOiBvcHRpbWl6ZUxlZ2liaWxpdHk7XG4gICAgd29yZC1icmVhazogYnJlYWstd29yZDtcbiAgICBzbWFsbCB7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAwO1xuICAgICAgICBjb2xvcjogJGhlYWRpbmctc21hbGwtZm9udC1jb2xvcjtcbiAgICB9XG59XG5cbkBlYWNoICRzaXplLCAkaGVhZGluZ3MgaW4gJGhlYWRpbmctc3R5bGVzIHtcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KCRzaXplKSB7XG4gICAgICAgIEBlYWNoICRoZWFkaW5nLCAkaGVhZGluZy1kZWZzIGluICRoZWFkaW5ncyB7XG4gICAgICAgICAgICAkZm9udC1zaXplLXRlbXA6IDFyZW07XG4gICAgICAgICAgICAjeyRoZWFkaW5nfSB7XG4gICAgICAgICAgICAgICAgQGlmIG1hcC5oYXMta2V5KCRoZWFkaW5nLWRlZnMsIGZvbnQtc2l6ZSkge1xuICAgICAgICAgICAgICAgICAgICAkZm9udC1zaXplLXRlbXA6IHJlbS1jYWxjKG1hcC5nZXQoJGhlYWRpbmctZGVmcywgZm9udC1zaXplKSk7XG4gICAgICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogJGZvbnQtc2l6ZS10ZW1wO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbn1cblxuYmxvY2txdW90ZSB7XG4gICAgZm9udC1zdHlsZTogaXRhbGljOyBcbiAgICBtYXJnaW46IDAgMCAkcGFyYWdyYXBoLW1hcmdpbi1ib3R0b207XG4gICAgcGFkZGluZzogcmVtLWNhbGMoMjAgNDAgMjAgNDApO1xuICAgIGZvbnQtZmFtaWx5OiAkZm9udC1mYW1pbHktc2VyaWY7XG4gICAgJiwgcCB7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAkcGFyYWdyYXBoLWxpbmVoZWlnaHQ7XG4gICAgfVxufVxuXG5jaXRlIHtcbiAgICAmOmJlZm9yZSB7XG4gICAgICAgIGNvbnRlbnQ6ICfigJQnO1xuICAgIH1cbn1cblxuLy8gTGlzdHNcbnVsLCBvbCwgZGwge1xuICAgIG1hcmdpbi1ib3R0b206ICRwYXJhZ3JhcGgtbWFyZ2luLWJvdHRvbTtcbiAgICBsaXN0LXN0eWxlLXBvc2l0aW9uOiBvdXRzaWRlO1xuICAgIGxpbmUtaGVpZ2h0OiAkcGFyYWdyYXBoLWxpbmVoZWlnaHQ7XG59XG5cbmxpIHtcbiAgICBmb250LXNpemU6IGluaGVyaXQ7XG4gICAgbWFyZ2luLWJvdHRvbTogMC41cmVtO1xufVxuXG51bCB7XG4gICAgbWFyZ2luLWxlZnQ6IDEuMjVyZW07XG4gICAgbGlzdC1zdHlsZS10eXBlOiBkaXNjO1xufVxuXG5vbCB7XG4gICAgbWFyZ2luLWxlZnQ6IDEuMjVyZW07XG59XG5cbnVsLCBvbCB7XG4gICAgJiAmIHtcbiAgICAgICAgbWFyZ2luOiAxcmVtIDAgMXJlbSAxLjVyZW07XG4gICAgICAgIGZvbnQtc2l6ZTogOTAlO1xuICAgIH1cbn1cblxuZGwge1xuICAgIG1hcmdpbi1ib3R0b206ICAxcmVtO1xuICAgIGR0IHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDAuMnJlbTtcbiAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgfVxuICAgIGRkIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMC44cmVtO1xuICAgIH1cbn1cblxuYWJiciwgYWJiclt0aXRsZV0ge1xuICAgIGJvcmRlci1ib3R0b206IDFweCBkYXNoZWQgJGNvbG9yLWdyYXktMjAwO1xuICAgIGN1cnNvcjogaGVscDtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG59XG5cbmZpZ3VyZSB7XG4gICAgbWFyZ2luOiAwO1xufVxuXG5wcmUge1xuICAgIGZvbnQtZmFtaWx5OiAkbW9uby1mb250LWZhbWlseTtcbiAgICBtYXJnaW4tYm90dG9tOiAyLjVyZW07XG4gICAgZm9udC1zaXplOiAxcmVtOyBcbiAgICB3aGl0ZS1zcGFjZTogcHJlLXdyYXA7ICAgICAgIC8qIFNpbmNlIENTUyAyLjEgKi9cbiAgICB3aGl0ZS1zcGFjZTogLW1vei1wcmUtd3JhcDsgIC8qIE1vemlsbGEsIHNpbmNlIDE5OTkgKi9cbiAgICB3aGl0ZS1zcGFjZTogLXByZS13cmFwOyAgICAgIC8qIE9wZXJhIDQtNiAqL1xuICAgIHdoaXRlLXNwYWNlOiAtby1wcmUtd3JhcDsgICAgLyogT3BlcmEgNyAqL1xuICAgIHdvcmQtd3JhcDogYnJlYWstd29yZDtcbiAgICA+IGNvZGUge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgcGFkZGluZzogMXJlbSAxLjVyZW07XG4gICAgICAgIHdoaXRlLXNwYWNlOiBwcmU7XG4gICAgfVxufVxuXG5jb2RlIHtcbiAgICBwYWRkaW5nOiByZW0tY2FsYygyIDUgMSk7XG4gICAgYm9yZGVyOiBub25lO1xuICAgIGJhY2tncm91bmQ6ICRjb2xvci1ncmF5LTEwMDtcbiAgICBib3JkZXI6IDFweCBzb2xpZCAkY29sb3ItZ3JheS0yMDA7XG4gICAgYm9yZGVyLXJhZGl1czogNHB4O1xuICAgIGZvbnQtZmFtaWx5OiAkbW9uby1mb250LWZhbWlseTtcbiAgICBmb250LXNpemU6IDFyZW07IFxuICAgIG92ZXJmbG93OiBhdXRvO1xufVxuXG50YWJsZSB7XG4gICAgYm9yZGVyLWNvbGxhcHNlOiBjb2xsYXBzZTtcbiAgICBtYXJnaW4tYm90dG9tOiAkcGFyYWdyYXBoLW1hcmdpbi1ib3R0b207XG59XG5cbnRyIHtcbiAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgJGNvbG9yLWdyYXktMTAwO1xufVxuXG50aCwgdGQge1xuICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgcGFkZGluZzogcmVtLWNhbGMoMTBweCk7XG59XG5cbi5oZWFkaW5nLXdpZGUge1xuICAgIGZvbnQtZmFtaWx5OiAnVW5ib3VuZGVkJywgc2Fucy1zZXJpZjtcbiAgICBmb250LXNpemU6IDg0cHg7XG4gICAgZm9udC1zdHlsZTogbm9ybWFsO1xuICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgbGluZS1oZWlnaHQ6IDEwMCU7ICBcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuXG4gICAgQG1lZGlhIChtYXgtd2lkdGg6IDc2N3B4KSB7XG4gICAgICAgIGZvbnQtc2l6ZTogNjBweDtcbiAgICB9XG59XG4iLCJAdXNlIFwic2FzczptYXBcIjtcbkB1c2UgJ3Nhc3M6bGlzdCc7XG5AdXNlICdzYXNzOm1ldGEnO1xuQHVzZSAnLi4vc2V0dGluZ3MvZ2xvYmFsJyBhcyAqO1xuQHVzZSAnLi4vc2V0dGluZ3MvdHlwb2dyYXBoeScgYXMgKjtcbkB1c2UgJy4uL3NldHRpbmdzL2NvbG9ycycgYXMgKjtcbkB1c2UgJy4uL3NldHRpbmdzL2JyZWFrcG9pbnRzJyBhcyAqO1xuQHVzZSAnLi91bml0cycgYXMgKjtcblxuQG1peGluIGJyZWFrcG9pbnQoJHF1ZXJ5KSB7XG5cbiAgICBAaWYobWV0YS50eXBlLW9mKCRxdWVyeSkgIT0gJ3N0cmluZycgYW5kIG1ldGEudHlwZS1vZigkcXVlcnkpICE9ICdsaXN0Jykge1xuICAgICAgICBAd2FybiBcImJyZWFrcG9pbnQgbWl4aW4gb25seSBhY2NlcHRzIGEgc3RyaW5nIG9yIGEgbGlzdCwgYCN7JHF1ZXJ5fWAgZ2l2ZW4uXCI7XG4gICAgfVxuXG4gICAgJGJwOiBsaXN0Lm50aCgkcXVlcnksIDEpO1xuICAgICRkaXI6IGlmKGxpc3QubGVuZ3RoKCRxdWVyeSkgPiAxLCBsaXN0Lm50aCgkcXVlcnksIDIpLCB1cCk7XG5cbiAgICBAaWYgbm90IG1hcC5oYXMta2V5KCRicmVha3BvaW50cywgJGJwKSB7XG4gICAgICAgIEB3YXJuIFwiYnJlYWtwb2ludCBgI3skYnB9YCBpcyBub3Qgc3VwcG9ydGVkIGBzbWFsbGAgaXMgdXNlZCBpbnN0ZWFkLiBBdmFpbGFibGUgYnJlYWtwb2ludHM6ICN7bWFwLWtleXMoJGJyZWFrcG9pbnRzKX0uXCI7XG4gICAgICAgICRicDogc21hbGw7XG4gICAgfVxuICAgIEBpZiBub3QgKCRkaXIgPT0gJ3VwJyBvciAkZGlyID09ICdkb3duJyBvciAkZGlyID09ICdvbmx5Jykge1xuICAgICAgICBAd2FybiBcImJyZWFrcG9pbnQgZGlyZWN0aW9uIGAjeyRkaXJ9YCBpcyBub3Qgc3VwcG9ydGVkIGB1cGAgaXMgdXNlZCBpbnN0ZWFkLiBBdmFpbGFibGUgYnJlYWtwb2ludHMgZGlyZWN0aW9uczogdXAsIGRvd24sIG9ubHkuXCI7XG4gICAgICAgICRkaXI6IHVwO1xuICAgIH1cblxuICAgICRtcXM6ICdzY3JlZW4nO1xuICAgICRicHNsOiBsaXN0Lmxlbmd0aCgkYnJlYWtwb2ludHMpO1xuICAgICRicGk6IGxpc3QuaW5kZXgobWFwLmtleXMoJGJyZWFrcG9pbnRzKSwgJGJwKTtcbiAgICAkbmJwOiBpZigkYnBpICsgMSA8PSAkYnBzbCwgJGJwaSArIDEsIG51bGwpO1xuICAgICRwYnA6IGlmKCRicGkgPiAxLCAkYnBpIC0gMSwgbnVsbCk7XG5cbiAgICAkYnB2OiBtYXAuZ2V0KCRicmVha3BvaW50cywgJGJwKTtcblxuICAgIEBpZiAoJGRpciA9PSAndXAnKSB7XG4gICAgICAgIEBpZiAoc3RyaXAtdW5pdCgkYnB2KSA+IDApIHtcbiAgICAgICAgICAgICRtcXM6ICdzY3JlZW4gYW5kIChtaW4td2lkdGg6ICN7c3RyaXAtdW5pdChyZW0tY2FsYygkYnB2KSkqMWVtfSknO1xuICAgICAgICB9XG4gICAgfVxuICAgIEBpZiAoJGRpciA9PSAnZG93bicpIHtcbiAgICAgICAgQGlmICgkbmJwKSB7XG4gICAgICAgICAgICAkbmJwdjogbWFwLmdldCggJGJyZWFrcG9pbnRzLCBsaXN0Lm50aChtYXAua2V5cygkYnJlYWtwb2ludHMpLCAkbmJwKSk7XG4gICAgICAgICAgICAkbXFzOiAnc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAje3N0cmlwLXVuaXQocmVtLWNhbGMoJG5icHYgLSAxKSkqMWVtfSknO1xuICAgICAgICB9XG4gICAgfVxuICAgIEBpZiAoJGRpciA9PSAnb25seScpIHtcbiAgICAgICAgQGlmIChzdHJpcC11bml0KCRicHYpID4gMCkge1xuICAgICAgICAgICAgJG1xczogJG1xcyArICcgYW5kIChtaW4td2lkdGg6ICN7c3RyaXAtdW5pdChyZW0tY2FsYygkYnB2KSkqMWVtfSknO1xuICAgICAgICB9XG4gICAgICAgIEBpZiAoJG5icCkge1xuICAgICAgICAgICAgJG5icHY6IG1hcC5nZXQoICRicmVha3BvaW50cywgbGlzdC5udGgobWFwLmtleXMoJGJyZWFrcG9pbnRzKSwgJG5icCkpO1xuICAgICAgICAgICAgJG1xczogJG1xcyArICcgYW5kIChtYXgtd2lkdGg6ICN7c3RyaXAtdW5pdChyZW0tY2FsYygkbmJwdiAtIDEpKSoxZW19KSc7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBAbWVkaWEgI3skbXFzfSB7IEBjb250ZW50OyB9XG5cbn0iLCJAdXNlICcuLi9zZXR0aW5ncy9jb2xvcnMnIGFzICo7XG5cbkBtZWRpYSBwcmludCB7XG4gICAgKiB7XG4gICAgICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50ICFpbXBvcnRhbnQ7XG4gICAgICAgIGNvbG9yOiAkY29sb3ItYmxhY2sgIWltcG9ydGFudDtcbiAgICAgICAgYm94LXNoYWRvdzogbm9uZSAhaW1wb3J0YW50O1xuICAgICAgICB0ZXh0LXNoYWRvdzogbm9uZSAhaW1wb3J0YW50O1xuICAgIH1cbiAgICBwLCBoMiwgaDMge1xuICAgICAgICBvcnBoYW5zOiAzO1xuICAgICAgICB3aWRvd3M6IDM7IFxuICAgIH0gICAgICAgIFxuICAgIGgyLCBoMyB7XG4gICAgICAgIHBhZ2UtYnJlYWstYWZ0ZXI6IGF2b2lkOyAgIFxuICAgIH0gIFxuICAgIGFbaHJlZl06YWZ0ZXIgeyBcbiAgICAgICAgY29udGVudDogJyAoJyBhdHRyKGhyZWYpICcpJzsgXG4gICAgfVxuICAgIGFbaHJlZl49J2phdmFzY3JpcHQ6J106YWZ0ZXIsIGFbaHJlZl49JyMnXTphZnRlciB7IFxuICAgICAgICBjb250ZW50OiAnJzsgXG4gICAgfVxuICAgIHByZSxcbiAgICBibG9ja3F1b3RlIHtcbiAgICAgICAgYm9yZGVyOiAxcHggc29saWQgJGNvbG9yLWdyYXktMjAwO1xuICAgICAgICBwYWdlLWJyZWFrLWluc2lkZTogYXZvaWQ7XG4gICAgfVxuICAgIHRoZWFkIHsgXG4gICAgICAgIGRpc3BsYXk6IHRhYmxlLWhlYWRlci1ncm91cDsgXG4gICAgfVxuICAgIHRyLCBpbWcgeyBcbiAgICAgICAgcGFnZS1icmVhay1pbnNpZGU6IGF2b2lkOyBcbiAgICB9XG4gICAgaW1nIHtcbiAgICAgICAgbWF4LXdpZHRoOiAxMDAlICFpbXBvcnRhbnQ7IFxuICAgIH1cbiAgICBAcGFnZSB7IFxuICAgICAgICBtYXJnaW46IDAuNWNtOyBcbiAgICB9XG59IiwiQHVzZSAnLi4vc2V0dGluZ3MvY29sb3JzJyBhcyAqO1xuQHVzZSAnLi4vdG9vbHMvdW5pdHMnIGFzICo7XG5cbmJ1dHRvbiwgaW5wdXQsIG9wdGdyb3VwLCBzZWxlY3QsIHRleHRhcmVhIHtcbiAgICBmb250LWZhbWlseTogaW5oZXJpdDtcbiAgICAtd2Via2l0LWZvbnQtc21vb3RoaW5nOiBhbnRpYWxpYXNlZDtcbiAgICAtbW96LW9zeC1mb250LXNtb290aGluZzogZ3JheXNjYWxlO1xufVxuXG5zZWxlY3Qge1xuICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgcGFkZGluZzogcmVtLWNhbGMoNXB4IDhweCk7XG4gICAgaGVpZ2h0OiA0MHB4O1xuICAgIGJvcmRlcjogMXB4IHNvbGlkICRjb2xvci1ncmF5LTIwMDtcbiAgICB0cmFuc2l0aW9uOiBib3JkZXItY29sb3IgMC4zNXM7XG59XG5cbmJ1dHRvbiwgaW5wdXRbdHlwZT1zdWJtaXRdIHtcbiAgICBwYWRkaW5nOiAwO1xuICAgIGFwcGVhcmFuY2U6IG5vbmU7XG4gICAgYm9yZGVyOiAwO1xuICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICAgIGxpbmUtaGVpZ2h0OiAxO1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3ItcHJpbWFyeS0zMDA7XG4gICAgY29sb3I6ICRjb2xvci13aGl0ZTtcbiAgICBwYWRkaW5nOiByZW0tY2FsYygxMCAxNSk7XG4gICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICAmOmZvY3VzLCAmOmhvdmVyIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgkY29sb3ItcHJpbWFyeS0zMDAsIDAuNyk7XG4gICAgfVxufVxuXG5maWVsZHNldCB7XG4gICAgYm9yZGVyOiAycHggc29saWQgJGNvbG9yLWdyYXktMjAwO1xuICAgIGxlZ2VuZCB7XG4gICAgICAgIHBhZGRpbmc6IDAgcmVtLWNhbGMoMTBweCk7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICAgIH1cbn1cblxubGFiZWwge1xuICAgIG1hcmdpbi1ib3R0b206IHJlbS1jYWxjKDVweCk7XG4gICAgZGlzcGxheTogYmxvY2s7XG59XG5cbmlucHV0W3R5cGU9ZW1haWxdLCBpbnB1dFt0eXBlPW51bWJlcl0sIGlucHV0W3R5cGU9cGFzc3dvcmRdLCBpbnB1dFt0eXBlPXNlYXJjaF0sIGlucHV0W3R5cGU9dGVsXSwgaW5wdXRbdHlwZT10ZXh0XSwgaW5wdXRbdHlwZT11cmxdLCB0ZXh0YXJlYSB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgcGFkZGluZzogcmVtLWNhbGMoNXB4IDhweCk7XG4gICAgaGVpZ2h0OiA0MHB4O1xuICAgIGJvcmRlcjogMXB4IHNvbGlkICAkY29sb3ItZ3JheS0yMDA7XG4gICAgdHJhbnNpdGlvbjogYm9yZGVyLWNvbG9yIDAuMzVzO1xufVxuXG50ZXh0YXJlYSB7XG4gICAgaGVpZ2h0OiBhdXRvO1xuICAgIG1pbi1oZWlnaHQ6IDUwcHg7XG59IiwiQHVzZSAnLi4vc2V0dGluZ3MvY29sb3JzJyBhcyAqO1xuQHVzZSAnLi4vc2V0dGluZ3MvdHlwb2dyYXBoeScgYXMgKjtcbkB1c2UgJy4uL3Rvb2xzL3VuaXRzJyBhcyAqO1xuXG4uZS1idXR0b24gIHtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBnYXA6IDhweDtcbiAgICBwYWRkaW5nOiAxMnB4IDI0cHg7XG4gICAgYm9yZGVyLXdpZHRoOiAxcHg7XG4gICAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcbiAgICB0cmFuc2l0aW9uOiBhbGwgMC4zNXMgZWFzZS1pbi1vdXQ7XG4gICAgZm9udC1mYW1pbHk6ICRoZWFkaW5nLWZvbnQtZmFtaWx5O1xuICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMThweCk7XG4gICAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgbGluZS1oZWlnaHQ6IDE7XG4gICAgZm9udC1zaXplOiAxOHB4O1xuICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgY29sb3I6ICRjb2xvci1ibGFjaztcblxuICAgICY6aG92ZXIge1xuICAgICAgICBnYXA6IDE0cHg7XG4gICAgfVxuXG4gICAgJi0tc21hbGwge1xuICAgICAgICBwYWRkaW5nOiA2cHggMTZweDtcbiAgICAgICAgZm9udC1zaXplOiAxNnB4O1xuICAgIH1cblxuICAgICYtLXByaW1hcnkge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3ItcHJpbWFyeS0zMDAgIWltcG9ydGFudDtcbiAgICAgICAgY29sb3I6ICRjb2xvci13aGl0ZSAhaW1wb3J0YW50O1xuICAgICAgICBib3JkZXItY29sb3I6ICRjb2xvci1wcmltYXJ5LTMwMDtcblxuICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2xvci1wcmltYXJ5LTQwMCAhaW1wb3J0YW50O1xuICAgICAgICAgICAgYm9yZGVyLWNvbG9yOiAkY29sb3ItcHJpbWFyeS00MDAgIWltcG9ydGFudDtcbiAgICAgICAgfVxuXG4gICAgICAgIHN2ZyB7XG4gICAgICAgICAgICBmaWxsOiAkY29sb3Itd2hpdGU7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmLS1zZWNvbmRhcnkge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3Itc2Vjb25kYXJ5LTMwMCAhaW1wb3J0YW50O1xuICAgICAgICBjb2xvcjogJGNvbG9yLXdoaXRlICFpbXBvcnRhbnQ7XG4gICAgICAgIGJvcmRlci1jb2xvcjogJGNvbG9yLXNlY29uZGFyeS0zMDAgIWltcG9ydGFudDtcblxuICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2xvci1zZWNvbmRhcnktNDAwO1xuICAgICAgICAgICAgYm9yZGVyLWNvbG9yOiAkY29sb3Itc2Vjb25kYXJ5LTQwMCAhaW1wb3J0YW50O1xuICAgICAgICB9XG5cbiAgICAgICAgc3ZnIHtcbiAgICAgICAgICAgIGZpbGw6ICRjb2xvci13aGl0ZTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgICYtLXdoaXRlIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG9yLXdoaXRlO1xuICAgICAgICBjb2xvcjogJGNvbG9yLWJsYWNrICFpbXBvcnRhbnQ7XG4gICAgICAgIGJvcmRlci1jb2xvcjogJGNvbG9yLWJsYWNrICFpbXBvcnRhbnQ7XG5cbiAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3ItcHJpbWFyeS0xMDA7XG4gICAgICAgIH1cblxuICAgICAgICBzdmcge1xuICAgICAgICAgICAgZmlsbDogJGNvbG9yLWJsYWNrO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgJi0tZGFyayB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2xvci1wcmltYXJ5LTQwMDtcbiAgICAgICAgY29sb3I6ICRjb2xvci13aGl0ZSAhaW1wb3J0YW50O1xuICAgICAgICBib3JkZXItY29sb3I6ICRjb2xvci1wcmltYXJ5LTQwMCAhaW1wb3J0YW50O1xuXG4gICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG9yLXByaW1hcnktMzAwO1xuICAgICAgICB9XG5cbiAgICAgICAgc3ZnIHtcbiAgICAgICAgICAgIGZpbGw6ICRjb2xvci1wcmltYXJ5LTQwMDtcbiAgICAgICAgfVxuICAgIH1cblxuXG4gICAgJi0tb3V0bGluZWQtd2hpdGUge1xuICAgICAgICAvLyBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3ItcHJpbWFyeS0zMDA7XG4gICAgICAgIGNvbG9yOiAkY29sb3Itd2hpdGUgIWltcG9ydGFudDtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiAkY29sb3Itd2hpdGUgIWltcG9ydGFudDtcblxuICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMCwwLDAsLjMpO1xuICAgICAgICB9XG5cbiAgICAgICAgc3ZnIHtcbiAgICAgICAgICAgIGZpbGw6ICRjb2xvci13aGl0ZTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgICYtLW1lbnUtYnV0dG9uIHtcbiAgICAgICAgcGFkZGluZzogMHB4O1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICAgICAgbWluLWhlaWdodDogMDtcbiAgICAgICAgbWluLXdpZHRoOiAwO1xuXG4gICAgICAgICY6aG92ZXIsICY6YWN0aXZlLCAmOmZvY3VzIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgJi0tdGV4dC1idXR0b24ge1xuICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudCAhaW1wb3J0YW50O1xuICAgICAgICBib3JkZXI6IG5vbmUgIWltcG9ydGFudDtcbiAgICAgICAgY29sb3I6ICRjb2xvci10ZXh0LTQwMDtcbiAgICAgICAgZm9udC1mYW1pbHk6ICRib2R5LWZvbnQtZmFtaWx5O1xuXG4gICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgY29sb3I6ICRjb2xvci1zZWNvbmRhcnktMzAwO1xuICAgICAgICB9XG5cbiAgICAgICAgc3ZnIHtcbiAgICAgICAgICAgIGZpbGw6ICRjb2xvci1zZWNvbmRhcnktMzAwO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgc3ZnIHtcbiAgICAgICAgd2lkdGg6IDE2cHg7XG4gICAgICAgIGhlaWdodDogMTZweDtcbiAgICB9XG5cbn0iLCJAdXNlICcuLi9zZXR0aW5ncy9jb2xvcnMnIGFzICo7XG5cbi5lLW1vZGFsIHtcbiAgICBwb3NpdGlvbjogZml4ZWQ7XG4gICAgei1pbmRleDogMTAwMDA7XG4gICAgd2lkdGg6IDEwMHZ3O1xuICAgIGhlaWdodDogMTAwdmg7XG4gICAgdG9wOiAwO1xuICAgIGxlZnQ6IDA7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDAsMCwwLCAuODUpO1xuICAgIGRpc3BsYXk6IG5vbmU7XG5cbiAgICAmLm9wZW4ge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgIH1cblxuICAgICYtYm94IHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgICAgLy8gbWluLXdpZHRoOiAzMjBweDtcbiAgICAgICAgd2lkdGg6IDMyMHB4O1xuICAgICAgICBtYXgtd2lkdGg6IDkwdnc7XG5cbiAgICAgICAgJl9faGVhZGVyIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kO1xuICAgICAgICAgICAgcGFkZGluZzogOHB4O1xuXG4gICAgICAgICAgICAuZS1tb2RhbF9fYnV0dG9uLS1jbG9zZSB7XG4gICAgICAgICAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgJl9fY29udGVudCB7XG4gICAgICAgICAgICBwYWRkaW5nOiAyMHB4O1xuICAgICAgICAgICAgbWluLWhlaWdodDogMjAwcHg7XG4gICAgICAgIH1cbiAgICB9XG59XG5cbiNzZWFyY2hNb2RhbCB7XG4gICAgZm9ybVtyb2xlPXNlYXJjaF0ge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBhbGlnbi1pdGVtczogc3RyZXRjaDtcblxuICAgICAgICBpbnB1dCB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICAgICAgICAgIGNvbG9yOiAkY29sb3Itd2hpdGU7XG4gICAgICAgICAgICBcbiAgICAgICAgICAgICYsICY6YWN0aXZlLCAmZm9jdXMge1xuICAgICAgICAgICAgICAgIGJvcmRlcjogbm9uZTtcbiAgICAgICAgICAgICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgJGNvbG9yLXdoaXRlO1xuICAgICAgICAgICAgICAgIG91dGxpbmU6IG5vbmU7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICBidXR0b25bdHlwZT1zdWJtaXRdIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLmUtbW9kYWwtYm94X19jb250ZW50IHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgZ2FwOiAxMnB4O1xuICAgICAgICBjb2xvcjogJGNvbG9yLXdoaXRlO1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICBtaW4taGVpZ2h0OiAwO1xuICAgIH1cbn0iLCIjcG9ydGZvbGlvIHtcbiAgICBtYXgtd2lkdGg6IDEwMHZ3O1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG59XG5cbi5zY3JvbGwtaG9sZGVyIHtcbiAgICAvLyBvdmVyZmxvdy14OiBoaWRkZW47XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uICFpbXBvcnRhbnQ7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIG1pbi1oZWlnaHQ6IDUyMHB4O1xuICAgIC5zY3JvbGwtdHJheSB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXggIWltcG9ydGFudDtcbiAgICAgICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgICAgICAgZmxleC13cmFwOiBub3dyYXA7XG4gICAgICAgIHdpZHRoOiBhdXRvICFpbXBvcnRhbnQ7XG4gICAgICAgIGhlaWdodDogMjQwcHg7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgbGVmdDogMDtcbiAgICAgICAgLy8gdG9wOiAwO1xuICAgICAgICBtYXgtd2lkdGg6IHVuc2V0ICFpbXBvcnRhbnQ7XG4gICAgICAgID5maWd1cmUge1xuICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgICAgICBhc3BlY3QtcmF0aW86IDUvMyAhaW1wb3J0YW50O1xuICAgICAgICAgICAgLy8gbWF4LXdpZHRoOiAzNDBweDtcbiAgICAgICAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgICAgICAgICAvLyB3aWR0aDogMzAwcHg7XG4gICAgICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgICAgICB3aWR0aDogYXV0bztcbiAgICAgICAgICAgIGZsZXgtc2hyaW5rOiAwO1xuICAgICAgICAgICAgaW1nIHtcbiAgICAgICAgICAgICAgICBvYmplY3QtZml0OiBjb3ZlcjtcbiAgICAgICAgICAgICAgICBtaW4td2lkdGg6IDEwMCU7XG4gICAgICAgICAgICAgICAgbWluLWhlaWdodDogMTAwJTtcbiAgICAgICAgICAgICAgICAvLyBtYXJnaW46IDdweCA1cHg7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgJjpmaXJzdC1jaGlsZCB7XG4gICAgICAgICAgICB0b3A6IDA7XG4gICAgICAgICAgICBhbmltYXRpb246IHNjcm9sbCA4MHMgbGluZWFyIGluZmluaXRlO1xuICAgICAgICB9XG4gICAgICAgICY6bGFzdC1jaGlsZCB7XG4gICAgICAgICAgICB0b3A6IDI0MHB4O1xuICAgICAgICAgICAgbGVmdDogLTQwcHg7XG4gICAgICAgICAgICBhbmltYXRpb246IHNjcm9sbCA1MHMgbGluZWFyIGluZmluaXRlO1xuICAgICAgICB9XG4gICAgfVxufVxuXG5Aa2V5ZnJhbWVzIHNjcm9sbCB7XG4gICAgMCUge1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTIwMHB4KTtcbiAgICB9XG4gICAgOTkuOTklIHtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKGNhbGMoMTAwdncgLSAzODAwcHgpKTtcbiAgICB9XG4gICAgMTAwJSB7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgwKTtcbiAgICB9XG59IiwiQHVzZSAnLi4vdG9vbHMvdW5pdHMnIGFzICo7XG5AdXNlICcuLi90b29scy9icmVha3BvaW50cycgYXMgKjtcbkB1c2UgJy4uL3NldHRpbmdzL2dsb2JhbCcgYXMgKjtcbkB1c2UgJy4uL3NldHRpbmdzL2JyZWFrcG9pbnRzJyBhcyAqO1xuXG4kY29sdW1uczogMTI7XG4kZ3V0dGVyOiAzMjtcblxuLm8tY29udGFpbmVyIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBtYXgtd2lkdGg6IHJlbS1jYWxjKCRnbG9iYWwtd2lkdGgpO1xuICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICAgIG1hcmdpbi1yaWdodDogYXV0bztcbiAgICBwYWRkaW5nLWxlZnQ6IHJlbS1jYWxjKGNhbGMoJGd1dHRlci8yKSk7XG4gICAgcGFkZGluZy1yaWdodDogcmVtLWNhbGMoY2FsYygkZ3V0dGVyLzIpKTtcblxuICAgICYtLXdpZGUge1xuICAgICAgICBtYXgtd2lkdGg6IHJlbS1jYWxjKCRnbG9iYWwtd2lkdGgtd2lkZSk7XG4gICAgfVxufVxuXG4uby1yb3cge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgLy8gbWFyZ2luLXJpZ2h0OiAtIHJlbS1jYWxjKGNhbGMoJGd1dHRlci8yKSk7XG4gICAgLy8gbWFyZ2luLWxlZnQ6IC0gcmVtLWNhbGMoY2FsYygkZ3V0dGVyLzIpKTtcbiAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAgcm93LWdhcDogcmVtLWNhbGMoJGd1dHRlcik7XG4gICAgJl9fY29sdW1uIHtcbiAgICAgICAgd2lkdGg6IGNhbGMoMTAwJSAtICN7cmVtLWNhbGMoJGd1dHRlcil9KTtcbiAgICAgICAgZmxleDogMCAwIGF1dG87XG4gICAgICAgIG1hcmdpbi1sZWZ0OiByZW0tY2FsYyhjYWxjKCRndXR0ZXIvMikpO1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IHJlbS1jYWxjKGNhbGMoJGd1dHRlci8yKSk7XG4gICAgfVxuXG4gICAgQGZvciAkaSBmcm9tIDEgdGhyb3VnaCAkY29sdW1ucyB7XG4gICAgICAgICZfX2NvbHVtbi0tc3Bhbi0jeyRpfSB7XG4gICAgICAgICAgICB3aWR0aDogY2FsYygje2NhbGMoJGkvJGNvbHVtbnMpKjEwMCArICclJ30gLSAje3JlbS1jYWxjKCRndXR0ZXIpfSk7XG4gICAgICAgIH1cbiAgICB9XG4gICAgQGVhY2ggJHNpemUsICR3aWR0aCBpbiAkYnJlYWtwb2ludHMge1xuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KCRzaXplKSB7XG4gICAgICAgICAgICBAZm9yICRpIGZyb20gMSB0aHJvdWdoICRjb2x1bW5zIHtcbiAgICAgICAgICAgICAgICAmX19jb2x1bW4tLXNwYW4tI3skaX1cXEAjeyRzaXplfSB7XG4gICAgICAgICAgICAgICAgICAgIHdpZHRoOiBjYWxjKCN7Y2FsYygkaS8kY29sdW1ucykqMTAwICsgJyUnfSAtICN7cmVtLWNhbGMoJGd1dHRlcil9KTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG59IiwiQHVzZSAnLi4vdG9vbHMvdW5pdHMnIGFzICo7XG5AdXNlICcuLi9zZXR0aW5ncy9jb2xvcnMnIGFzICo7XG5AdXNlICcuLi9zZXR0aW5ncy9nbG9iYWwnIGFzICo7XG5cbi8qID1Xb3JkUHJlc3MgQ29yZVxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi5hbGlnbm5vbmUge1xuICAgIG1hcmdpbjogcmVtLWNhbGMoNXB4IDIwcHggMjBweCAwKTtcbn1cblxuLmFsaWduY2VudGVyLFxuZGl2LmFsaWduY2VudGVyIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBtYXJnaW46IHJlbS1jYWxjKDVweCkgYXV0byByZW0tY2FsYyg1cHgpIGF1dG87XG59XG5cbi5hbGlnbnJpZ2h0IHtcbiAgICBmbG9hdDpyaWdodDtcbiAgICBtYXJnaW46IHJlbS1jYWxjKDVweCAwIDIwcHggMjBweCk7XG59XG5cbi5hbGlnbmxlZnQge1xuICAgIGZsb2F0OiBsZWZ0O1xuICAgIG1hcmdpbjogcmVtLWNhbGMoNXB4IDIwcHggMjBweCAwKTtcbn1cblxuYSBpbWcuYWxpZ25yaWdodCB7XG4gICAgZmxvYXQ6IHJpZ2h0O1xuICAgIG1hcmdpbjogcmVtLWNhbGMoNXB4IDAgMjBweCAyMHB4KTtcbn1cblxuYSBpbWcuYWxpZ25ub25lIHtcbiAgICBtYXJnaW46IHJlbS1jYWxjKDVweCAyMHB4IDIwcHggMCk7XG59XG5cbmEgaW1nLmFsaWdubGVmdCB7XG4gICAgZmxvYXQ6IGxlZnQ7XG4gICAgbWFyZ2luOiByZW0tY2FsYyg1cHggMjBweCAyMHB4IDApO1xufVxuXG5hIGltZy5hbGlnbmNlbnRlciB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gICAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xufVxuXG4ud3AtY2FwdGlvbiB7XG4gICAgYmFja2dyb3VuZDogJGNvbG9yLXdoaXRlO1xuICAgIGJvcmRlcjogMXB4IHNvbGlkICRjb2xvci1ncmF5LTIwMDtcbiAgICBtYXgtd2lkdGg6IDk2JTsgLyogSW1hZ2UgZG9lcyBub3Qgb3ZlcmZsb3cgdGhlIGNvbnRlbnQgYXJlYSAqL1xuICAgIHBhZGRpbmc6IDVweCAzcHggMTBweDtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG59XG5cbi53cC1jYXB0aW9uLmFsaWdubm9uZSB7XG4gICAgbWFyZ2luOiByZW0tY2FsYyg1cHggMjBweCAyMHB4IDApO1xufVxuXG4ud3AtY2FwdGlvbi5hbGlnbmxlZnQge1xuICAgIG1hcmdpbjogcmVtLWNhbGMoNXB4IDIwcHggMjBweCAwKTtcbn1cblxuLndwLWNhcHRpb24uYWxpZ25yaWdodCB7XG4gICAgbWFyZ2luOiByZW0tY2FsYyg1cHggMCAyMHB4IDIwcHgpO1xufVxuXG4ud3AtY2FwdGlvbiBpbWcge1xuICAgIGJvcmRlcjogMCBub25lO1xuICAgIGhlaWdodDogYXV0bztcbiAgICBtYXJnaW46IDA7XG4gICAgbWF4LXdpZHRoOiA5OC41JTtcbiAgICBwYWRkaW5nOiAwO1xuICAgIHdpZHRoOiBhdXRvO1xufVxuXG4ud3AtY2FwdGlvbiBwLndwLWNhcHRpb24tdGV4dCB7XG4gICAgZm9udC1zaXplOiByZW0tY2FsYygxMXB4KTtcbiAgICBsaW5lLWhlaWdodDogcmVtLWNhbGMoMTdweCk7XG4gICAgbWFyZ2luOiAwO1xuICAgIHBhZGRpbmc6IHJlbS1jYWxjKDAgNHB4IDVweCk7XG59XG5cbi8qIFRleHQgbWVhbnQgb25seSBmb3Igc2NyZWVuIHJlYWRlcnMuICovXG4uc2NyZWVuLXJlYWRlci10ZXh0IHtcblx0Ym9yZGVyOiAwO1xuXHRjbGlwOiByZWN0KDFweCwgMXB4LCAxcHgsIDFweCk7XG5cdGNsaXAtcGF0aDogaW5zZXQoNTAlKTtcblx0aGVpZ2h0OiAxcHg7XG5cdG1hcmdpbjogLTFweDtcblx0b3ZlcmZsb3c6IGhpZGRlbjtcblx0cGFkZGluZzogMDtcblx0cG9zaXRpb246IGFic29sdXRlICFpbXBvcnRhbnQ7XG5cdHdpZHRoOiAxcHg7XG5cdHdvcmQtd3JhcDogbm9ybWFsICFpbXBvcnRhbnQ7IC8qIE1hbnkgc2NyZWVuIHJlYWRlciBhbmQgYnJvd3NlciBjb21iaW5hdGlvbnMgYW5ub3VuY2UgYnJva2VuIHdvcmRzIGFzIHRoZXkgd291bGQgYXBwZWFyIHZpc3VhbGx5LiAqL1xufVxuXG4uc2NyZWVuLXJlYWRlci10ZXh0OmZvY3VzIHtcblx0YmFja2dyb3VuZC1jb2xvcjogJGNvbG9yLWdyYXktMTAwO1xuXHRjbGlwOiBhdXRvICFpbXBvcnRhbnQ7XG5cdGNsaXAtcGF0aDogbm9uZTtcblx0Y29sb3I6ICRjb2xvci1ncmF5LTMwMDtcblx0ZGlzcGxheTogYmxvY2s7XG5cdGZvbnQtc2l6ZTogMWVtO1xuXHRoZWlnaHQ6IGF1dG87XG5cdGxlZnQ6IDVweDtcblx0bGluZS1oZWlnaHQ6IG5vcm1hbDtcblx0cGFkZGluZzogMTVweCAyM3B4IDE0cHg7XG5cdHRleHQtZGVjb3JhdGlvbjogbm9uZTtcblx0dG9wOiA1cHg7XG5cdHdpZHRoOiBhdXRvO1xuXHR6LWluZGV4OiAxMDAwMDA7XG5cdC8qIEFib3ZlIFdQIHRvb2xiYXIuICovXG59XG5cbi5nYWxsZXJ5IHtcblx0ZGlzcGxheTogZmxleDtcblx0ZmxleC13cmFwOiB3cmFwO1xuXHRtYXJnaW46IDAgLTAuNjI1cmVtIHJlbS1jYWxjKDIwKTtcblx0LmdhbGxlcnktaXRlbSB7XG5cdFx0ZmxleDogMTtcblx0XHRtYXJnaW4tbGVmdDogMC42MjVyZW07XG5cdFx0bWFyZ2luLXJpZ2h0OiAwLjYyNXJlbTtcblx0XHRtYXJnaW4tYm90dG9tOiByZW0tY2FsYygyMCk7XG5cdFx0dGV4dC1hbGlnbjogY2VudGVyO1xuXHRcdGZsZXg6IDAgMCBhdXRvO1xuXHR9XG5cdEBmb3IgJGkgZnJvbSAxIHRocm91Z2ggOSB7XG5cdFx0Ji5nYWxsZXJ5LWNvbHVtbnMtI3skaX0ge1xuXHRcdFx0LmdhbGxlcnktaXRlbSB7XG5cdFx0XHRcdHdpZHRoOiBjYWxjKCN7Y2FsYygxLyRpKSoxMDAgKyAnJSd9IC0gMS4yNXJlbSk7XG5cdFx0XHR9XG5cdFx0fVxuXHR9XG5cdC5nYWxsZXJ5LWNhcHRpb24ge1xuXHRcdGNvbG9yOiAjODg4O1xuXHRcdGZvbnQtc2l6ZTogcmVtLWNhbGMoMTJweCk7XG5cdFx0bWFyZ2luLXRvcDogcmVtLWNhbGMoMTApO1xuXHR9XG59XG5cblxuLndwLWJsb2NrLWNvbHVtbnMge1xuXHR3aWR0aDogMTAwJTtcblx0cGFkZGluZzogNTBweCAkZ2xvYmFsX3NwYWNlO1xuXG5cdC53cC1ibG9jay1jb2x1bW4ge1xuXHRcdG1heC13aWR0aDogJGdsb2JhbC13aWR0aCA7XG5cdFx0bWFyZ2luLWxlZnQ6IGF1dG87XG5cdFx0bWFyZ2luLXJpZ2h0OiBhdXRvO1xuXHR9XG5cblx0LndwLWJsb2NrLWNvbHVtbnMge1xuXHRcdHBhZGRpbmc6IDA7XG5cdH1cblxuXHRwIHtcblx0XHRwYWRkaW5nOiAwO1xuXHR9XG59XG5cbiIsIkB1c2UgJy4uL3NldHRpbmdzL2NvbG9ycycgYXMgKjtcbi5zbGljay1saXN0IHtcbiAgICBwYWRkaW5nLWJvdHRvbTogMzJweDtcbiAgICAuc2xpY2stdHJhY2t7XG4gICAgICAgIGRpc3BsYXk6IGZsZXggIWltcG9ydGFudDtcblxuICAgICAgICAuc2xpY2stc2xpZGUge1xuICAgICAgICAgICAgaGVpZ2h0OiBpbmhlcml0ICFpbXBvcnRhbnQ7XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi5zbGljay1kb3RzIHtcbiAgICBib3R0b206IC0zNnB4ICFpbXBvcnRhbnQ7XG5cbiAgICBsaSB7XG4gICAgICAgIC8vIG1hcmdpbjogMCA0cHg7XG4gICAgICAgIG1hcmdpbjogMCA2cHggIWltcG9ydGFudDtcbiAgICAgICAgYnV0dG9uIHtcbiAgICAgICAgICAgIHdpZHRoOiAxNnB4ICFpbXBvcnRhbnQ7XG4gICAgICAgICAgICBoZWlnaHQ6IDE2cHggIWltcG9ydGFudDtcbiAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDAlO1xuICAgICAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2xvci1wcmltYXJ5LTIwMCAhaW1wb3J0YW50O1xuICAgICAgICAgICAgb3BhY2l0eTogMSAhaW1wb3J0YW50O1xuXG4gICAgICAgICAgICAmOjpiZWZvcmUge1xuICAgICAgICAgICAgICAgIGNvbnRlbnQ6IG5vbmUgIWltcG9ydGFudDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgICYuc2xpY2stYWN0aXZlIHtcbiAgICAgICAgICAgIGJ1dHRvbiB7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG9yLXByaW1hcnktNDAwICFpbXBvcnRhbnQ7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG59IiwiQHVzZSAnLi4vc2V0dGluZ3MvY29sb3JzJyBhcyAqO1xuQHVzZSAnLi4vc2V0dGluZ3MvYnJlYWtwb2ludHMnIGFzICo7XG5AdXNlICcuLi90b29scy91bml0cycgYXMgKjtcbkB1c2UgXCJzYXNzOm1hcFwiO1xuaGVhZGVyIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICAvLyBib3JkZXItYm90dG9tOiAxcHggc29saWQgJGNvbG9yLXdoaXRlO1xuICAgIHBvc2l0aW9uOiBmaXhlZDtcbiAgICB6LWluZGV4OiAxMDAwO1xuICAgIHRvcDogMDtcbiAgICBsZWZ0OiAwO1xuICAgIG1hcmdpbjogMDtcbiAgICBib3R0b206IHVuc2V0O1xuICAgICYuc2Nyb2xsZWQge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3ItcHJpbWFyeS0zMDA7XG4gICAgICAgIGJvcmRlci1ib3R0b20tY29sb3I6ICRjb2xvci1wcmltYXJ5LTMwMDtcbiAgICB9XG4gICAgLm8tY29udGFpbmVyIHtcbiAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICAuYy1oZWFkZXItY29udGVudCB7XG4gICAgICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICAgICAgICAgICAgYWxpZ24taXRlbXM6IHN0cmV0Y2g7XG4gICAgICAgICAgICAubG9nbyB7XG4gICAgICAgICAgICAgICAgcGFkZGluZzogMTJweCAxNnB4IDEycHggMDtcbiAgICAgICAgICAgICAgICBpbWcge1xuICAgICAgICAgICAgICAgICAgICBoZWlnaHQ6IDcycHg7XG4gICAgICAgICAgICAgICAgICAgIEBtZWRpYSAobWluLXdpZHRoOiAxMjAwcHgpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGhlaWdodDogOTZweDtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIC5uYXZpZ2F0aW9uIHtcbiAgICAgICAgICAgICAgICAvLyBoZWlnaHQ6IDEwMCU7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgICAgICAgICBAbWVkaWEgKG1pbi13aWR0aDogbWFwLmdldCgkYnJlYWtwb2ludHMsICdsYXJnZScpKSB7XG4gICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBuYXYge1xuICAgICAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgICAgICAgICAgICAgIC5tZW51LW1haW4tbWVudS1jb250YWluZXIge1xuICAgICAgICAgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICAgICAgICAgICAgICAgICAgJj51bCB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlzdC1zdHlsZTogbm9uZTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGdhcDogcmVtLWNhbGMoMjRweCk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgb3ZlcmZsb3c6IHZpc2libGU7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgQG1lZGlhIChtYXgtd2lkdGg6IDEyMDBweCkge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBnYXA6IDE2cHg7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpLm1lbnUtaXRlbSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZsZXgtc2hyaW5rOiAwO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZvbnQtc3R5bGU6IHJlbS1jYWxjKDE4cHgpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG92ZXJmbG93OiB2aXNpYmxlO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwYWRkaW5nLWJvdHRvbTogNHB4O1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoNnB4KTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYm9yZGVyLWJvdHRvbTogMnB4IHNvbGlkIHRyYW5zcGFyZW50O1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0cmFuc2l0aW9uOiBhbGwgMzUwbXMgZWFzZTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGV0dGVyLXNwYWNpbmc6IDAuMDJlbTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXJnaW4tbGVmdDogNHB4O1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICYuY3VycmVudC1tZW51LWl0ZW0sXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYm9yZGVyLWJvdHRvbS1jb2xvcjogJGNvbG9yLXdoaXRlO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICY+YSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb2xvcjogJGNvbG9yLXdoaXRlO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYm9yZGVyOiBub25lO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVsLnN1Yi1tZW51IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRvcDogMTAwJTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxlZnQ6IDA7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaXN0LXN0eWxlOiBub25lO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwYWRkaW5nOiAxMnB4IDBweCAyMHB4O1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYWxpZ24taXRlbXM6IHN0YXJ0O1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG9yLXdoaXRlO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgd2lkdGg6IGF1dG87XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZmxleC1zaHJpbms6IDA7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcGFkZGluZzogOHB4IDIwcHg7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWluLXdpZHRoOiBtYXgtY29udGVudDtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmOmhvdmVyLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICY6YWN0aXZlIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG9yLXByaW1hcnktMjAwO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBhIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29sb3I6ICRjb2xvci1ibGFjaztcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJjpob3ZlciB1bC5zdWItbWVudSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJjphY3RpdmUgdWwuc3ViLW1lbnUsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICYub3BlbiB1bC5zdWItbWVudSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgLmN0YSB7XG4gICAgICAgICAgICAgICAgZ2FwOiByZW0tY2FsYygyNHB4KTtcbiAgICAgICAgICAgICAgICBhLmUtYnV0dG9uIHtcbiAgICAgICAgICAgICAgICAgICAgZmxleC1zaHJpbms6IDA7XG4gICAgICAgICAgICAgICAgICAgIHNwYW4ge1xuICAgICAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgICAgICAgICAgICAgICAgIEBtZWRpYSAobWluLXdpZHRoOiBtYXAuZ2V0KCRicmVha3BvaW50cywgJ2xhcmdlJykpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICBpbWcge1xuICAgICAgICAgICAgICAgICAgICAgICAgZmxleC1zaHJpbms6IDA7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgLm1vYmlsZS10b2dnbGUge1xuICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICAgICAgICAgICAgICB3aWR0aDogMzJweDtcbiAgICAgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICAgICAgICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgICAgICAgICAgICAgICAgIHotaW5kZXg6IDEwMDAwO1xuICAgICAgICAgICAgICAgICAgICAmX19iYXIsXG4gICAgICAgICAgICAgICAgICAgICY6bm90KC5hY3RpdmUpIC5tb2JpbGUtdG9nZ2xlX19iYXIge1xuICAgICAgICAgICAgICAgICAgICAgICAgaGVpZ2h0OiAycHg7XG4gICAgICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3Itd2hpdGU7XG4gICAgICAgICAgICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICAgICAgICAgICAgICBsZWZ0OiAwO1xuICAgICAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICAgICAgICAgICAgICB0cmFuc2l0aW9uOiBhbGwgMzUwbXMgZWFzZTtcbiAgICAgICAgICAgICAgICAgICAgICAgIHRyYW5zZm9ybTogbm9uZTtcbiAgICAgICAgICAgICAgICAgICAgICAgICY6Zmlyc3QtY2hpbGQge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRvcDogY2FsYyg1MCUgLSA0cHgpO1xuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgJjpsYXN0LWNoaWxkIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0b3A6IGNhbGMoNTAlICsgNHB4KTtcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAmOmhvdmVyLFxuICAgICAgICAgICAgICAgICAgICAmLmFjdGl2ZSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAubW9iaWxlLXRvZ2dsZV9fYmFyIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAmOmZpcnN0LWNoaWxkIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdG9wOiA1MCU7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRyYW5zZm9ybTogcm90YXRlKDEzNWRlZyk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICY6bGFzdC1jaGlsZCB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRvcDogNTAlO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSg0NWRlZyk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIEBtZWRpYSAobWluLXdpZHRoOiBtYXAuZ2V0KCRicmVha3BvaW50cywgJ2xhcmdlJykpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgLm1vYmlsZS1uYXZpZ2F0aW9uIHtcbiAgICAgICAgICAgICAgICAgICAgcG9zaXRpb246IGZpeGVkO1xuICAgICAgICAgICAgICAgICAgICB0b3A6IDA7XG4gICAgICAgICAgICAgICAgICAgIGxlZnQ6IDA7XG4gICAgICAgICAgICAgICAgICAgIHotaW5kZXg6IDkwMDA7XG4gICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2xvci1wcmltYXJ5LTQwMDtcbiAgICAgICAgICAgICAgICAgICAgY29sb3I6ICRjb2xvci13aGl0ZTtcbiAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDEwMHZ3O1xuICAgICAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMHZoO1xuICAgICAgICAgICAgICAgICAgICBwYWRkaW5nOiAxMjBweCAyMHB4IDI0cHg7XG4gICAgICAgICAgICAgICAgICAgIHRyYW5zaXRpb246IGFsbCA0MDBtcyBlYXNlO1xuICAgICAgICAgICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTEwNSUpO1xuICAgICAgICAgICAgICAgICAgICAmLm9wZW4ge1xuICAgICAgICAgICAgICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIG5hdiB7XG4gICAgICAgICAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgICAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgICAgICAgICAgICAgIG92ZXJmbG93OiBhdXRvO1xuICAgICAgICAgICAgICAgICAgICAgICAgdWwge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGdhcDogMTJweDtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBib3JkZXItYm90dG9tOiAycHggc29saWQgdHJhbnNwYXJlbnQ7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb2xvcjogJGNvbG9yLXdoaXRlO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICYub3Blbj5hLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmLmN1cnJlbnQtbWVudS1pdGVtPmEsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICY6aG92ZXI+YSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBib3JkZXItYm90dG9tLWNvbG9yOiAkY29sb3Itd2hpdGU7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdWwuc3ViLW1lbnUge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hcmdpbjogNHB4IDAgMDtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBhZGRpbmc6IDE2cHggMTBweDtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgLjEpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICYubWVudS1pdGVtLWhhcy1jaGlsZHJlbiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmPmE6OmFmdGVyIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmlnaHQ6IDA7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdG9wOiAwcHg7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDIwcHg7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaGVpZ2h0OiAyMHB4O1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIGJhY2tncm91bmQtY29sb3I6IHdoaXRlO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKCcvd3AtY29udGVudC90aGVtZXMvYnVpbGQvc3JjL2Fzc2V0cy9pbWFnZXMvaWNvbnMvaWNvbi1wbHVzLnN2ZycpXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmLm9wZW4ge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVsLnN1Yi1tZW51IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJj5hOjphZnRlciB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCgnL3dwLWNvbnRlbnQvdGhlbWVzL2J1aWxkL3NyYy9hc3NldHMvaW1hZ2VzL2ljb25zL2ljb24tbWludXMuc3ZnJylcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgQG1lZGlhIChtaW4td2lkdGg6IG1hcC5nZXQoJGJyZWFrcG9pbnRzLFxuICAgICAgICAgICAgICAgICdsYXJnZScpKSB7XG4gICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxufVxuXG5ib2R5LmFkbWluLWJhciB7XG4gICAgaGVhZGVyIHtcbiAgICAgICAgdG9wOiAzMnB4O1xuICAgIH1cbn0iLCJAdXNlICcuLi9zZXR0aW5ncy9jb2xvcnMnIGFzICo7XG5AdXNlICcuLi90b29scy91bml0cycgYXMgKjtcblxuLmMtcG9zdCB7XG4gICAgLy8gYmFja2dyb3VuZC1jb2xvcjogJGNvbG9yLXdoaXRlO1xuICAgIC8vIGJvcmRlcjogMXB4IHNvbGlkICRjb2xvci1ncmF5LTIwMDtcbiAgICAvLyBib3gtc2hhZG93OiAwIDAgMjBweCA1cHggcmdiYSgwLCAwLCAwLCAwLjA1KTtcbiAgICAvLyBwYWRkaW5nOiByZW0tY2FsYygyMCk7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAmLnN0aWNreSB7XG4gICAgICAgIC8vIGJvcmRlci1sZWZ0OiA1cHggc29saWQgJGNvbG9yLXByaW1hcnktMzAwO1xuICAgIH1cbiAgICAmLmZvcm1hdC1xdW90ZSB7XG4gICAgICAgIGJsb2NrcXVvdGUge1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG9yLXByaW1hcnktMzAwO1xuICAgICAgICAgICAgY29sb3I6ICRjb2xvci13aGl0ZTtcbiAgICAgICAgICAgIHBhZGRpbmc6IHJlbS1jYWxjKDIwKTtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMjApO1xuICAgICAgICAgICAgYSB7XG4gICAgICAgICAgICAgICAgY29sb3I6ICRjb2xvci13aGl0ZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbiAgICAmLmZvcm1hdC1saW5rIHtcbiAgICAgICAgLmMtcG9zdF9fZXhjZXJwdCBwIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2xvci1wcmltYXJ5LTMwMDtcbiAgICAgICAgICAgIHBhZGRpbmc6IHJlbS1jYWxjKDIwKTtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMjApO1xuICAgICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICAgICAgYSB7XG4gICAgICAgICAgICAgICAgY29sb3I6ICRjb2xvci13aGl0ZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbiAgICBwOmFmdGVyIHtcbiAgICAgICAgY29udGVudDogXCJcIjtcbiAgICAgICAgZGlzcGxheTogdGFibGU7XG4gICAgICAgIGNsZWFyOiBib3RoO1xuICAgIH1cbiAgICAmX19oZWFkZXIge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiByZW0tY2FsYygyMCk7XG4gICAgfVxuICAgICZfX2Zvb3RlciB7XG4gICAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgICAgIGJvcmRlci10b3A6IDFweCBzb2xpZCAkY29sb3ItZ3JheS0yMDA7XG4gICAgICAgIG1hcmdpbjogcmVtLWNhbGMoMzBweCAtMjBweCAtMjBweCAtMjBweCk7XG4gICAgICAgIHBhZGRpbmc6IHJlbS1jYWxjKDIwcHgpO1xuICAgIH1cbiAgICAmX190YWdzIHtcbiAgICAgICAgbWFyZ2luOiByZW0tY2FsYygyMCAwIDE2KTtcbiAgICAgICAgdWwge1xuICAgICAgICAgICAgbGlzdC1zdHlsZTogbm9uZTtcbiAgICAgICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICBhbGlnbi1pdGVtczogc3RyZXRjaDtcbiAgICAgICAgICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICAgICAgICAgIGdhcDogOHB4O1xuICAgICAgICAgICAgbGkge1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgICAgICAgICAgYSB7XG4gICAgICAgICAgICAgICAgICAgIC8vIGJhY2tncm91bmQtY29sb3I6ICRjb2xvci1ncmF5LTEwMDtcbiAgICAgICAgICAgICAgICAgICAgYm9yZGVyLWJvdHRvbTogbm9uZTtcbiAgICAgICAgICAgICAgICAgICAgLy8gbWFyZ2luLXJpZ2h0OiAxMHB4O1xuICAgICAgICAgICAgICAgICAgICBwYWRkaW5nOiByZW0tY2FsYyg0IDEwKTtcbiAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICAgICAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDE0cHgpO1xuICAgICAgICAgICAgICAgICAgICBjb2xvcjogJGNvbG9yLWJsYWNrO1xuICAgICAgICAgICAgICAgICAgICBib3JkZXI6IDFweCBzb2xpZCAkY29sb3ItYmxhY2s7XG4gICAgICAgICAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDI0cHg7XG5cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG4gICAgJl9fYXVkaW8ge1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgbWFyZ2luOiByZW0tY2FsYygwIDAgMjAgMCk7XG4gICAgfVxuICAgICZfX3RodW1ibmFpbCwgJl9fZ2FsbGVyeSwgJl9fdmlkZW8ge1xuICAgICAgICBtYXJnaW46IHJlbS1jYWxjKC0yMCAtMjAgMjAgLTIwKTtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG9yLWdyYXktMTAwO1xuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgfVxuICAgICZfX3RodW1ibmFpbCB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICBhc3BlY3QtcmF0aW86IDE2IC8gOTtcbiAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG9yLWdyYXktMjAwO1xuICAgIH1cbiAgICAmX19leGNlcnB0IHtcbiAgICAgICAgY29sb3I6ICRjb2xvci1ncmF5LTMwMDtcbiAgICB9XG4gICAgJl9fbWV0YSB7XG4gICAgICAgIGNvbG9yOiAkY29sb3ItZ3JheS0zMDA7XG4gICAgfVxuICAgICZfX3RpdGxlIHtcbiAgICAgICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygyOCk7XG4gICAgICAgIGEge1xuICAgICAgICAgICAgY29sb3I6ICRjb2xvci1ibGFjaztcbiAgICAgICAgICAgIGJvcmRlci1ib3R0b206IG5vbmU7XG4gICAgICAgIH1cbiAgICB9XG4gICAgJl9fc2luZ2xlLXRpdGxlIHtcbiAgICAgICAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygyMCk7XG4gICAgICAgIGEge1xuICAgICAgICAgICAgY29sb3I6ICRjb2xvci1ibGFjaztcbiAgICAgICAgICAgIGJvcmRlci1ib3R0b206IG5vbmU7XG4gICAgICAgIH1cbiAgICB9XG59XG5cblxuLm8tc2luZ2xlLXBvc3QtZnVsbCB7XG4gICAgLmMtcG9zdCB7XG4gICAgICAgICZfX2lubmVyIHtcbiAgICAgICAgICAgIG1heC13aWR0aDogNTByZW07XG4gICAgICAgICAgICBtYXJnaW46IDAgYXV0bztcbiAgICAgICAgfVxuICAgIH1cbiAgICAuYWxpZ253aWRlIHtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IC0xMDBweDtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAtMTAwcHg7XG4gICAgICAgIG1heC13aWR0aDogY2FsYyg1MHJlbSArIDIwMHB4KTtcbiAgICB9XG4gICAgLmFsaWduZnVsbCB7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiBjYWxjKC0xMi41cmVtICsgMC42MjVyZW0pO1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IGNhbGMoLTEyLjVyZW0gKyAwLjYyNXJlbSk7XG4gICAgICAgIG1heC13aWR0aDogY2FsYyg3NXJlbSAtIDEuMjVyZW0pO1xuICAgICAgICB3aWR0aDogYXV0bztcbiAgICAgICAgaW1nIHtcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICB9XG4gICAgfVxuICAgIC53cC1ibG9jay1jb3Zlci1pbWFnZSB7XG4gICAgICAgICYuYWxpZ253aWRlLCAmLmFsaWduZnVsbCB7XG4gICAgICAgICAgICB3aWR0aDogYXV0bztcbiAgICAgICAgfSBcbiAgICB9XG59XG4ud3AtYmxvY2stZW1iZWQuaXMtdHlwZS12aWRlbyB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHBhZGRpbmctYm90dG9tOiA1Ni4yNSU7XG4gICAgcGFkZGluZy10b3A6IDM1cHg7XG4gICAgaGVpZ2h0OiAwO1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgaWZyYW1lIHtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB0b3A6MDtcbiAgICAgICAgbGVmdDogMDtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIGhlaWdodDogMTAwJTtcbiAgICB9XG59XG5cbi5jLXBvc3QtYXV0aG9yIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3Itd2hpdGU7XG4gICAgYm9yZGVyOiAxcHggc29saWQgJGNvbG9yLWdyYXktMjAwO1xuICAgIGJveC1zaGFkb3c6IDAgMCAyMHB4IDVweCByZ2JhKDAsIDAsIDAsIDAuMDUpO1xuICAgIHBhZGRpbmc6IHJlbS1jYWxjKDIwKTtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgICZfX2F2YXRhciB7XG4gICAgICAgIHdpZHRoOiAxMjBweDtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiByZW0tY2FsYygyNSk7XG4gICAgfVxuICAgICZfX2NvbnRlbnQge1xuICAgICAgICBmbGV4OiAxO1xuICAgIH1cbiAgICAmX19pbmZvIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogcmVtLWNhbGMoMTUpO1xuICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDE0KTtcbiAgICB9XG4gICAgJl9fdGl0bGUge1xuICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDI0KTtcbiAgICAgICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICAgICAgYSB7XG4gICAgICAgICAgICBib3JkZXItYm90dG9tOiBub25lO1xuICAgICAgICAgICAgY29sb3I6IGluaGVyaXQ7XG4gICAgICAgIH1cbiAgICB9XG4gICAgJl9fZGVzYyB7XG4gICAgICAgIGNvbG9yOiAkY29sb3ItZ3JheS0zMDA7XG4gICAgfVxufSIsIkB1c2UgJy4uL3NldHRpbmdzL2NvbG9ycycgYXMgKjtcbkB1c2UgJy4uL3NldHRpbmdzL3R5cG9ncmFwaHknIGFzICo7XG5AdXNlICcuLi9lbGVtZW50cy90eXBvZ3JhcGh5JyBhcyAqO1xuQHVzZSAnLi4vdG9vbHMvdW5pdHMnIGFzICo7XG5AdXNlICcuLi9zZXR0aW5ncy9taXhpbnMnIGFzICo7XG5mb290ZXIge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2xvci13aGl0ZTtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIHBhZGRpbmc6IDA7XG4gICAgYm94LXNoYWRvdzogLTVweCAwIDE1cHggcmdiYSgyNCwgNTUsIDc2LCAwLjE1KTtcbiAgICAuby1jb250YWluZXIge1xuICAgICAgICBjb2xvcjogJGNvbG9yLWJsYWNrO1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgICAgICY6OmJlZm9yZSB7XG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICBib3R0b206IDA7XG4gICAgICAgICAgICBsZWZ0OiAwO1xuICAgICAgICAgICAgLy8gYmFja2dyb3VuZC1pbWFnZTogdXJsKCcvd3AtY29udGVudC90aGVtZXMvYnVpbGQvc3JjL2Fzc2V0cy9pbWFnZXMvYmctYmx1ZXByaW50LnN2ZycpO1xuICAgICAgICAgICAgbWluLXdpZHRoOiAzMDBweDtcbiAgICAgICAgICAgIG1pbi1oZWlnaHQ6IDQwMHB4O1xuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICBoZWlnaHQ6IGF1dG87XG4gICAgICAgICAgICBjb250ZW50OiAnJztcbiAgICAgICAgICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgICAgICAgICBvcGFjaXR5OiAwLjE1O1xuICAgICAgICB9XG4gICAgICAgIC5jLWZvb3Rlci1ncmlkIHtcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgcGFkZGluZzogcmVtLWNhbGMoNjBweCkgMCByZW0tY2FsYyg0OHB4KTtcbiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gICAgICAgICAgICBhbGlnbi1pdGVtczogc3RyZXRjaDtcbiAgICAgICAgICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAkY29sb3ItcHJpbWFyeS0yMDA7XG4gICAgICAgICAgICBnYXA6IDZweDtcbiAgICAgICAgICAgIC8vIC5oLWxpbmUge1xuICAgICAgICAgICAgLy8gICAgIG1pbi1oZWlnaHQ6IDIwMHB4O1xuICAgICAgICAgICAgLy8gICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgICAgIC8vICAgICB3aWR0aDogMXB4O1xuICAgICAgICAgICAgLy8gICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2xvci1wcmltYXJ5LTIwMDtcbiAgICAgICAgICAgIC8vICAgICBAbWVkaWEgKG1heC13aWR0aDogMTAyNHB4KSB7XG4gICAgICAgICAgICAvLyAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgICAgICAvLyAgICAgfVxuICAgICAgICAgICAgLy8gfVxuICAgICAgICAgICAgJl9faXRlbSB7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgICAgICAgICAgIGdhcDogNDBweDtcbiAgICAgICAgICAgICAgICAvLyB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgICAgICAuYy1zaWRlYmFyLXdpZGdldF9fdGl0bGUsXG4gICAgICAgICAgICAgICAgLmxvZ28gaW1nIHtcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICAgICAgICAgICAgICBtYXgtaGVpZ2h0OiAxNDBweCAhaW1wb3J0YW50O1xuICAgICAgICAgICAgICAgICAgICB3aWR0aDogYXV0byAhaW1wb3J0YW50O1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBoMyxcbiAgICAgICAgICAgICAgICBoNCB7XG4gICAgICAgICAgICAgICAgICAgIGZvbnQtZmFtaWx5OiAkaGVhZGluZy1mb250LWZhbWlseTtcbiAgICAgICAgICAgICAgICAgICAgY29sb3I6ICRjb2xvci1wcmltYXJ5LTMwMDtcbiAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgaGVhZGluZztcbiAgICAgICAgICAgICAgICAgICAgZm9udC1zaXplOiAzMHB4O1xuICAgICAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAxMnB4O1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAuY29udGVudCB7XG4gICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIGZsZXgtY29sO1xuICAgICAgICAgICAgICAgICAgICAuYy1mb290ZXItZ3JpZF9fZm9vdGVyLXRleHQge1xuICAgICAgICAgICAgICAgICAgICAgICAgZm9udC1zaXplOiAxcmVtO1xuICAgICAgICAgICAgICAgICAgICAgICAgY29sb3I6ICRjb2xvci1ibGFjaztcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBwIHtcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB1bCB7XG4gICAgICAgICAgICAgICAgICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG4gICAgICAgICAgICAgICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgICAgICAgICAgICAgbGkge1xuICAgICAgICAgICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMC44cmVtO1xuICAgICAgICAgICAgICAgICAgICAgICAgJjpsYXN0LWNoaWxkIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgYSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbG9yOiBpbmhlcml0O1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBib3JkZXI6IG5vbmU7XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgLnNvY2lhbC1pY29ucyB7XG4gICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgICAgICAgICAgICAgIGdhcDogMTJweDtcbiAgICAgICAgICAgICAgICAgICAgZmlndXJlIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIC8vIGJvcmRlcjogMXB4IHNvbGlkICRjb2xvci13aGl0ZTtcbiAgICAgICAgICAgICAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDNweDtcbiAgICAgICAgICAgICAgICAgICAgICAgIHdpZHRoOiA0MHB4O1xuICAgICAgICAgICAgICAgICAgICAgICAgaGVpZ2h0OiA0MHB4O1xuICAgICAgICAgICAgICAgICAgICAgICAgZmxleDogMCAwIGF1dG87XG4gICAgICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAgICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgICAgICAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgID5hIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIC8vIGJvcmRlcjogMXB4IHNvbGlkICRjb2xvci13aGl0ZTtcbiAgICAgICAgICAgICAgICAgICAgICAgIC8vIGJvcmRlci1yYWRpdXM6IDNweDtcbiAgICAgICAgICAgICAgICAgICAgICAgIGJvcmRlcjogbm9uZTtcbiAgICAgICAgICAgICAgICAgICAgICAgIHdpZHRoOiA0MHB4O1xuICAgICAgICAgICAgICAgICAgICAgICAgaGVpZ2h0OiA0MHB4O1xuICAgICAgICAgICAgICAgICAgICAgICAgZmxleDogMCAwIGF1dG87XG4gICAgICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAgICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgICAgICAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgICAgICAgICAgICAgICAgICAgdHJhbnNpdGlvbjogYWxsIDAuM3MgZWFzZTtcbiAgICAgICAgICAgICAgICAgICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJvcmRlci1jb2xvcjogJGNvbG9yLXNlY29uZGFyeS0zMDA7XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICA+aW1nLFxuICAgICAgICAgICAgICAgICAgICAgICAgc3ZnIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB3aWR0aDogYXV0byAhaW1wb3J0YW50O1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1pbi1oZWlnaHQ6IDQ4cHggIWltcG9ydGFudDtcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAmOmZpcnN0LWNoaWxkIHtcbiAgICAgICAgICAgICAgICAgICAgbWF4LXdpZHRoOiAzMjBweDtcbiAgICAgICAgICAgICAgICAgICAgLy8gd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICAgICAgICAgIC5sb2dvIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIC8vIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgICAgICAgICAgICAgLy8gbWF4LXdpZHRoOiAyMjBweDtcbiAgICAgICAgICAgICAgICAgICAgICAgIGltZyB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgbWluLWhlaWdodDogMTIwcHg7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gbWF4LXdpZHRoOiAyNDBweDtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBAbWVkaWEgKG1heC13aWR0aDogMTAyNHB4KSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1pbi1oZWlnaHQ6IDEwMHB4O1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXgtd2lkdGg6IDI0MHB4O1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBAbWVkaWEgKG1heC13aWR0aDogNzY3cHgpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWluLWhlaWdodDogODBweDtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWF4LXdpZHRoOiAxODBweDtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgcCB7XG4gICAgICAgICAgICAgICAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDAuOHJlbTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAmLml0ZW0tNCB7XG4gICAgICAgICAgICAgICAgICAgIGltZyB7XG4gICAgICAgICAgICAgICAgICAgICAgICBtYXgtd2lkdGg6IDEyMHB4O1xuICAgICAgICAgICAgICAgICAgICAgICAgbWF4LWhlaWdodDogNjBweDtcbiAgICAgICAgICAgICAgICAgICAgICAgIHdpZHRoOiBhdXRvICFpbXBvcnRhbnQ7XG4gICAgICAgICAgICAgICAgICAgICAgICBoZWlnaHQ6IGF1dG8gIWltcG9ydGFudDtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIEBtZWRpYSAobWF4LXdpZHRoOiA4MjRweCkge1xuICAgICAgICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICAgICAgICAgICAgZ2FwOiAycmVtO1xuICAgICAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIC5jLWZvb3Rlci1jb3B5cmlnaHQge1xuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICBwYWRkaW5nOiByZW0tY2FsYygyNHB4KSAwO1xuICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gICAgICAgICAgICBAbWVkaWEgKG1heC13aWR0aDogNzY3cHgpIHtcbiAgICAgICAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgICAgICAgICAgIGdhcDogMXJlbTtcbiAgICAgICAgICAgICAgICBhbGlnbi1pdGVtczogZmxleC1zdGFydDtcbiAgICAgICAgICAgICAgICBzcGFuLFxuICAgICAgICAgICAgICAgIGRpdiB7XG4gICAgICAgICAgICAgICAgICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIGEge1xuICAgICAgICAgICAgY29sb3I6ICRjb2xvci1ibGFjaztcbiAgICAgICAgICAgIGJvcmRlci1jb2xvcjogJGNvbG9yLXdoaXRlO1xuICAgICAgICB9XG4gICAgfVxufSIsIkB1c2UgJ3Nhc3M6bWFwJztcbkB1c2UgJy4vYnJlYWtwb2ludHMnIGFzICo7XG5AdXNlICcuL3R5cG9ncmFwaHknIGFzICo7XG5AdXNlICcuL2dsb2JhbCcgYXMgKjtcblxuQG1peGluIGhlYWRpbmcge1xuICAgIGZvbnQtZmFtaWx5OiAkaGVhZGluZy1mb250LWZhbWlseTtcbiAgICBmb250LXdlaWdodDogJGhlYWRpbmctZm9udC13ZWlnaHQ7XG4gICAgZm9udC1zdHlsZTogJGhlYWRpbmctZm9udC1zdHlsZTtcbiAgICBsaW5lLWhlaWdodDogJGhlYWRpbmctbGluZWhlaWdodDtcbn1cblxuQG1peGluIGZsZXgtY29sIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgZ2FwOiAxMnB4O1xufVxuXG4kZm9udC1zaXplczogKFwiaC1kaXNwbGF5XCI6ICg3MCwgNDgpLCBcImgxXCI6ICg1NSwgNDApLCBcImgyXCI6ICg0NiwgMzYpLCBcImgzXCI6ICgzNiwgMzApLCBcImg0XCI6ICgyOCwgMjYpLCBcImg1XCI6ICgyNCwgMjIpLCBcImg2XCI6ICgyMCwgMjApKTtcbi8vICRmb250LXNpemVzLXNtOiAoXCJoLWRpc3BsYXlcIjogNDgsIFwiaDFcIjogNDAsIFwiaDJcIjogMzYsIFwiaDNcIjogMzAsIFwiaDRcIjogMjYsIFwiaDVcIjogMjIsIFwiaDZcIjogMjApO1xuXG5cbi8vIEBlYWNoICR0YWcsICRzaXplcyBpbiAkZm9udC1zaXplcyB7XG4vLyAgICAgQG1peGluIGZzLSN7JHRhZ30ge1xuLy8gICAgICAgICBAaW5jbHVkZSBoZWFkaW5nO1xuLy8gICAgICAgICBAZWFjaCAkbWVkLXNpemUsICRzbS1zaXplIGluICRzaXplcyB7XG4vLyAgICAgICAgICAgICBmb250LXNpemU6ICRtZWQtc2l6ZTtcbi8vICAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnRzKCdtZWRpdW0nKSB7XG4vLyAgICAgICAgICAgICAgICAgZm9udC1zaXplOiAkc20tc2l6ZTtcbi8vICAgICAgICAgICAgIH1cbi8vICAgICAgICAgfVxuLy8gICAgIH1cbi8vIH0iLCJAdXNlICcuLi9zZXR0aW5ncy9jb2xvcnMnIGFzICo7XG5cbi5ub3QtZm91bmQtcGFnZSB7XG4gICAgbWluLWhlaWdodDogMTAwdmggIWltcG9ydGFudDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3ItcHJpbWFyeS0zMDA7XG4gICAgcG9zaXRpb246IGZpeGVkO1xuICAgIHRvcDogMDtcbiAgICBsZWZ0OiAwO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogMTAwdmg7XG4gICAgei1pbmRleDogOTk5OTtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgcGFkZGluZzogNjBweCAyNHB4O1xuXG4gICAgaDEge1xuICAgICAgICBjb2xvcjogJGNvbG9yLXdoaXRlO1xuICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDQwKTtcbiAgICAgICAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIH1cblxuICAgIGRpdiB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgICBtYXJnaW4tdG9wOiAyNHB4O1xuICAgIH1cblxuICAgIGEge1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICBib3JkZXI6IDFweCBzb2xpZCAkY29sb3Itd2hpdGU7XG4gICAgICAgIH1cbiAgICB9XG59IiwiQHVzZSAnLi4vc2V0dGluZ3MvY29sb3JzJyBhcyAqO1xuLmMtcGFnZS1oZWFkZXIge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2xvci1wcmltYXJ5LTQwMDtcbiAgICBtaW4taGVpZ2h0OiAzNjBweDtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgcGFkZGluZy10b3A6IDEwMHB4O1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlcjtcbiAgICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB3aWR0aDogMTAwJTtcbiAgICAmOjphZnRlciB7XG4gICAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHRvcDogMDtcbiAgICAgICAgbGVmdDogMDtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgkY29sb3ItYmxhY2ssIDAuNSk7XG4gICAgfVxuICAgIC5vLWNvbnRhaW5lciB7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgei1pbmRleDogMTA7XG4gICAgICAgIGgxIHtcbiAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgICAgIGNvbG9yOiAkY29sb3Itd2hpdGU7XG4gICAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDQwKTtcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA0MDA7XG4gICAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgICAgICB6LWluZGV4OiAxMDtcbiAgICAgICAgfVxuICAgICAgICAuYy1wYWdlLWhlYWRlcl9fYnJlYWRjcnVtYnMge1xuICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICAgICAgei1pbmRleDogMTA7XG4gICAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgICAgICBtYXJnaW4tdG9wOiAxMnB4O1xuICAgICAgICAgICAgY29sb3I6ICRjb2xvci13aGl0ZTtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTQpO1xuICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgICAgICAgICAgIGEge1xuICAgICAgICAgICAgICAgIGNvbG9yOiAkY29sb3Itd2hpdGU7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG59XG5cbmJvZHkucGFnZS1hYm91dCAuYy1wYWdlLWhlYWRlcixcbmJvZHkucGFnZS1jb250YWN0IC5jLXBhZ2UtaGVhZGVyLFxuYm9keS5zZXJ2aWNlLXRlbXBsYXRlIC5jLXBhZ2UtaGVhZGVyIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3Itd2hpdGU7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogbm9uZTtcbiAgICBiYWNrZ3JvdW5kOiBub25lICFpbXBvcnRhbnQ7XG4gICAgJjo6YWZ0ZXIge1xuICAgICAgICBiYWNrZ3JvdW5kOiBub25lO1xuICAgIH1cbiAgICBoMSB7XG4gICAgICAgIGNvbG9yOiAkY29sb3ItcHJpbWFyeS0zMDA7XG4gICAgfVxuICAgIC5jLXBhZ2UtaGVhZGVyX19icmVhZGNydW1icyB7XG4gICAgICAgIGNvbG9yOiAkY29sb3ItcHJpbWFyeS0zMDA7XG4gICAgfVxufSIsIkB1c2UgJ3Nhc3M6bGlzdCc7XG5AdXNlICcuLi9zZXR0aW5ncy9icmVha3BvaW50cycgYXMgKjtcbkB1c2UgJy4uL3Rvb2xzL2JyZWFrcG9pbnRzJyBhcyAqO1xuXG4udS1mbGV4IHtcbiAgICBkaXNwbGF5OiBmbGV4O1xufVxuXG5AZWFjaCAkZGlyIGluIHJvdyByb3ctcmV2ZXJzZSBjb2x1bW4gY29sdW1uLXJldmVyc2Uge1xuICAgIC51LWZsZXgtZGlyZWN0aW9uLSN7JGRpcn0ge1xuICAgICAgICBmbGV4LWRpcmVjdGlvbjogI3skZGlyfTtcbiAgICB9XG59XG5cbkBlYWNoICR3cmFwIGluIG5vd3JhcCB3cmFwIHdyYXAtcmV2ZXJzZSB7XG4gICAgLnUtZmxleC0jeyR3cmFwfSB7XG4gICAgICAgIGZsZXgtd3JhcDogI3skd3JhcH07XG4gICAgfVxufVxuXG4kanVzdGlmeTogKFxuICAgICdsZWZ0JzogZmxleC1zdGFydCwgXG4gICAgJ3JpZ2h0JzogZmxleC1lbmQsIFxuICAgICdjZW50ZXInOiBjZW50ZXIsICBcbiAgICAnanVzdGlmeSc6IHNwYWNlLWJldHdlZW4sIFxuICAgICdzcGFjZWQnOiBzcGFjZS1hcm91bmQsIFxuICAgICdldmVubHknOiBzcGFjZS1ldmVubHlcbik7XG5cbkBlYWNoICRjbGFzcywgJHZhbHVlIGluICRqdXN0aWZ5IHtcbiAgICAudS1hbGlnbi0jeyRjbGFzc30ge1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6ICN7JHZhbHVlfTtcbiAgICB9XG59XG5cbiRhbGlnbjogKFxuICAgICd0b3AnOiBmbGV4LXN0YXJ0LCBcbiAgICAnYm90dG9tJzogZmxleC1lbmQsIFxuICAgICdtaWRkbGUnOiBjZW50ZXIsICBcbiAgICAnYmFzZWxpbmUnOiBiYXNlbGluZSwgXG4gICAgJ3N0cmV0Y2gnOiBzdHJldGNoLCBcbik7XG5cbkBlYWNoICRjbGFzcywgJHZhbHVlIGluICRhbGlnbiB7XG4gICAgLnUtYWxpZ24tI3skY2xhc3N9IHtcbiAgICAgICAgYWxpZ24taXRlbXM6ICN7JHZhbHVlfTtcbiAgICB9XG59XG5cbkBlYWNoICRjbGFzcywgJHZhbHVlIGluICRhbGlnbiB7XG4gICAgLnUtYWxpZ24tc2VsZi0jeyRjbGFzc30ge1xuICAgICAgICBhbGlnbi1zZWxmOiAjeyR2YWx1ZX07XG4gICAgfVxufVxuXG5AZm9yICRpIGZyb20gMCB0aHJvdWdoIDEyIHtcbiAgICAudS1vcmRlci0jeyRpfSB7XG4gICAgICAgIG9yZGVyOiAkaTtcbiAgICB9XG59XG5AZWFjaCAkc2l6ZSwgJHdpZHRoIGluICRicmVha3BvaW50cyB7XG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkc2l6ZSkge1xuICAgICAgICBAZm9yICRpIGZyb20gMCB0aHJvdWdoIDEyIHtcbiAgICAgICAgICAgIC51LW9yZGVyLSN7JGl9XFxAI3skc2l6ZX0ge1xuICAgICAgICAgICAgICAgIG9yZGVyOiAkaTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbn0iLCJAdXNlICcuLi9zZXR0aW5ncy9jb2xvcnMnIGFzICo7XG5AdXNlICcuLi9zZXR0aW5ncy9icmVha3BvaW50cycgYXMgKjtcblxuLnUtc2NyZWVuLXJlYWRlci10ZXh0IHtcbiAgICBwb3NpdGlvbjphYnNvbHV0ZTsgXG4gICAgbGVmdDotMTAwMDBweDsgXG4gICAgdG9wOmF1dG87IFxuICAgIHdpZHRoOjFweDsgXG4gICAgaGVpZ2h0OjFweDsgXG4gICAgb3ZlcmZsb3c6aGlkZGVuO1xufVxuXG4udS1za2lwLWxpbmsge1xuICAgIHBvc2l0aW9uOmFic29sdXRlOyBcbiAgICBsZWZ0Oi0xMDAwMHB4OyBcbiAgICB0b3A6YXV0bzsgXG4gICAgd2lkdGg6MXB4OyBcbiAgICBoZWlnaHQ6MXB4OyBcbiAgICBvdmVyZmxvdzpoaWRkZW47XG4gICAgJjpmb2N1cyB7XG4gICAgICAgIHBvc2l0aW9uOmFic29sdXRlOyBcbiAgICAgICAgbGVmdDogMjBweCAhaW1wb3J0YW50O1xuICAgICAgICB0b3A6IDIwcHggIWltcG9ydGFudDtcbiAgICAgICAgYmFja2dyb3VuZDogJGNvbG9yLXdoaXRlO1xuICAgICAgICBwYWRkaW5nOiA4cHggMTJweDtcbiAgICAgICAgd2lkdGg6YXV0bzsgXG4gICAgICAgIGhlaWdodDphdXRvOyBcbiAgICAgICAgei1pbmRleDogMTAwMDA7XG4gICAgICAgIGZvbnQtc2l6ZTogMTRweDtcbiAgICB9XG59XG5cbi51LXJlc3BvbnNpdmUtdmlkZW8ge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBwYWRkaW5nLWJvdHRvbTogNTYuMjUlO1xuICAgIHBhZGRpbmctdG9wOiAzNXB4O1xuICAgIGhlaWdodDogMDtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIGlmcmFtZSB7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgdG9wOjA7XG4gICAgICAgIGxlZnQ6IDA7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgfVxufSIsIkB1c2UgJy4uL3Rvb2xzL3VuaXRzJyBhcyAqO1xuQHVzZSAnLi4vdG9vbHMvYnJlYWtwb2ludHMnIGFzICo7XG5AdXNlICcuLi9zZXR0aW5ncy9icmVha3BvaW50cycgYXMgKjtcblxuJGk6IDA7XG4kbWF4OiA0MDtcbkB3aGlsZSAkaSA8PSAkbWF4IHtcbiAgICAudS1tYXJnaW4tdG9wLSN7JGl9IHtcbiAgICAgICAgbWFyZ2luLXRvcDogcmVtLWNhbGMoJGkpICFpbXBvcnRhbnQ7XG4gICAgfVxuICAgIC51LW1hcmdpbi1ib3R0b20tI3skaX0ge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiByZW0tY2FsYygkaSkgIWltcG9ydGFudDtcbiAgICB9XG4gICAgLnUtbWFyZ2luLWxlZnQtI3skaX0ge1xuICAgICAgICBtYXJnaW4tbGVmdDogcmVtLWNhbGMoJGkpICFpbXBvcnRhbnQ7XG4gICAgfVxuICAgIC51LW1hcmdpbi1yaWdodC0jeyRpfSB7XG4gICAgICAgIG1hcmdpbi1yaWdodDogcmVtLWNhbGMoJGkpICFpbXBvcnRhbnQ7XG4gICAgfVxuICAgICRpOiAkaSArIDU7XG59XG5cbkBlYWNoICRzaXplLCAkd2lkdGggaW4gJGJyZWFrcG9pbnRzIHtcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KCRzaXplKSB7XG4gICAgICAgICRpOiAwO1xuICAgICAgICBAd2hpbGUgJGkgPD0gJG1heCB7XG4gICAgICAgICAgICAudS1tYXJnaW4tdG9wLSN7JGl9XFxAI3skc2l6ZX0ge1xuICAgICAgICAgICAgICAgIG1hcmdpbi10b3A6IHJlbS1jYWxjKCRpKSAhaW1wb3J0YW50O1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgLnUtbWFyZ2luLWJvdHRvbS0jeyRpfVxcQCN7JHNpemV9IHtcbiAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiByZW0tY2FsYygkaSkgIWltcG9ydGFudDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIC51LW1hcmdpbi1sZWZ0LSN7JGl9XFxAI3skc2l6ZX0ge1xuICAgICAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiByZW0tY2FsYygkaSkgIWltcG9ydGFudDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIC51LW1hcmdpbi1yaWdodC0jeyRpfVxcQCN7JHNpemV9IHtcbiAgICAgICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IHJlbS1jYWxjKCRpKSAhaW1wb3J0YW50O1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgJGk6ICRpICsgNTtcbiAgICAgICAgfVxuICAgIH1cbn0iXX0= */
