@-webkit-keyframes shake {
  10%, 90% {
    -webkit-transform: translate3d(-1px, 0, 0);
            transform: translate3d(-1px, 0, 0); }
  20%, 80% {
    -webkit-transform: translate3d(2px, 0, 0);
            transform: translate3d(2px, 0, 0); }
  30%, 50%, 70% {
    -webkit-transform: translate3d(-4px, 0, 0);
            transform: translate3d(-4px, 0, 0); }
  40%, 60% {
    -webkit-transform: translate3d(4px, 0, 0);
            transform: translate3d(4px, 0, 0); } }

@keyframes shake {
  10%, 90% {
    -webkit-transform: translate3d(-1px, 0, 0);
            transform: translate3d(-1px, 0, 0); }
  20%, 80% {
    -webkit-transform: translate3d(2px, 0, 0);
            transform: translate3d(2px, 0, 0); }
  30%, 50%, 70% {
    -webkit-transform: translate3d(-4px, 0, 0);
            transform: translate3d(-4px, 0, 0); }
  40%, 60% {
    -webkit-transform: translate3d(4px, 0, 0);
            transform: translate3d(4px, 0, 0); } }

.clearfix:after, .grid:after, .row:after {
  content: "";
  display: table;
  clear: both; }

.grid {
  max-width: 100%;
  margin-left: auto;
  margin-right: auto;
  max-width: 1200px; }
  .grid:after {
    content: " ";
    display: block;
    clear: both; }

.row {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  width: 100%; }

html {
  -webkit-box-sizing: border-box;
          box-sizing: border-box; }

html * {
  -webkit-box-sizing: inherit;
          box-sizing: inherit; }

/*! 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 {
  -webkit-box-sizing: content-box;
          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 */
  -webkit-text-decoration: underline dotted;
          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 {
  -webkit-box-sizing: border-box;
          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"] {
  -webkit-box-sizing: border-box;
          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; }

a svg {
  pointer-events: none; }

body {
  font-family: "Playfair Display", serif; }

body.small-nav-open {
  overflow: hidden; }

p .hljs-title, li .hljs-title {
  color: inherit; }

button:focus {
  outline: thin dotted; }

.global-svg {
  display: none; }

.module-header-1 {
  display: block;
  margin: 0 0 30px;
  font-family: "Heebo", sans-serif;
  font-size: 36px;
  font-weight: 700;
  letter-spacing: .05em;
  line-height: 1.5em; }

h3 {
  display: block;
  margin: 20px 0;
  font-family: "Playfair Display", serif;
  font-size: 28px;
  font-weight: 700;
  letter-spacing: .05em;
  line-height: 1.5em;
  color: #000000; }

.body-copy {
  display: block;
  margin: 0;
  font-family: "Playfair Display", serif;
  font-size: 18px;
  font-weight: 400;
  letter-spacing: .05em;
  line-height: 2em;
  color: #666; }

.small-body-copy {
  display: block;
  margin: 0;
  font-family: "Playfair Display", serif;
  font-size: 14px;
  font-weight: 400;
  letter-spacing: .05em;
  line-height: 2em;
  color: #666; }

.large-body-copy {
  display: block;
  margin: 0;
  font-family: "Playfair Display", serif;
  font-size: 21px;
  font-weight: 400;
  letter-spacing: .05em;
  line-height: 2em;
  color: #666; }

.button {
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  position: relative;
  display: inline-block;
  padding: 10px 20px;
  font-family: "Heebo", sans-serif;
  font-size: 18px;
  font-weight: 700;
  letter-spacing: .05em;
  text-decoration: none;
  background-color: #FFFFFF;
  color: #000000;
  border: 4px solid #6CF3D5;
  -webkit-transition: 0.3s cubic-bezier(0.55, 0.085, 0.68, 0.53);
  transition: 0.3s cubic-bezier(0.55, 0.085, 0.68, 0.53);
  outline: none;
  cursor: pointer; }

.button .svg-contain {
  position: relative;
  width: 30px; }

.button svg {
  position: absolute;
  top: 50%;
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%);
  width: 30px;
  color: #000000;
  pointer-events: none; }

.button:hover {
  border: 4px solid #6CF3D5;
  background-color: #6CF3D5; }

.button-large {
  padding: 20px 60px; }

.button.inline-button {
  border-left: 0; }

.button.inline-button:hover {
  background-color: #d5d5d5; }

.svg-button:hover .svg-contain {
  -webkit-backface-visibility: hidden;
          backface-visibility: hidden;
  -webkit-transition: 0.3s cubic-bezier(0.39, 0.575, 0.565, 1);
  transition: 0.3s cubic-bezier(0.39, 0.575, 0.565, 1);
  -webkit-transform: translateX(5px);
          transform: translateX(5px); }

.svg-button .svg-icon {
  -webkit-backface-visibility: hidden;
          backface-visibility: hidden;
  -webkit-transition: 0.3s cubic-bezier(0.39, 0.575, 0.565, 1);
  transition: 0.3s cubic-bezier(0.39, 0.575, 0.565, 1);
  -webkit-transform: translateX(-2px);
          transform: translateX(-2px); }

.svg-button:hover .svg-icon {
  -webkit-transition: 0.3s cubic-bezier(0.47, 0, 0.745, 0.715);
  transition: 0.3s cubic-bezier(0.47, 0, 0.745, 0.715);
  -webkit-transform: translateX(0);
          transform: translateX(0); }

.slideshow-button {
  position: relative; }

.slideshow-button button {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  opacity: 0; }

form {
  max-width: 560px; }

.form-item {
  margin-bottom: 20px; }

.submit-contain {
  margin-top: 30px; }

input,
textarea {
  display: block;
  width: 100%;
  border: 4px solid #EEE;
  padding: 10px;
  outline: none;
  font-family: "Heebo", sans-serif;
  font-size: 18px;
  font-weight: 400;
  letter-spacing: .05em;
  line-height: 2em;
  color: #000000; }

input[type="password"] {
  line-height: 36px;
  padding: 12px 10px 8px;
  font-size: 28px; }

label {
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  font-family: "Heebo", sans-serif;
  font-size: 14px;
  font-weight: 600;
  letter-spacing: .05em;
  line-height: 2em;
  color: #666;
  opacity: .7; }

.wpcf7-not-valid {
  border-color: #EE4D37; }

span.wpcf7-not-valid-tip,
div.wpcf7-response-output {
  display: none !important; }

.form-message {
  height: 0;
  overflow: hidden;
  -webkit-transition: 0.3s cubic-bezier(0.47, 0, 0.745, 0.715);
  transition: 0.3s cubic-bezier(0.47, 0, 0.745, 0.715); }

.form-message p {
  border: 4px solid #eee;
  padding: 20px;
  margin: 0;
  line-height: 1.4em;
  opacity: 0;
  -webkit-transition: 0.3s cubic-bezier(0.47, 0, 0.745, 0.715);
  transition: 0.3s cubic-bezier(0.47, 0, 0.745, 0.715);
  -webkit-transition-delay: .4s;
          transition-delay: .4s; }

.form-message.ready p {
  opacity: 1; }

.success.form-message p {
  border-color: #6CF3D5; }

.invalid.form-message p {
  border-color: #EE4D37; }

.input-with-placeholder {
  position: relative; }
  .input-with-placeholder .placeholder {
    position: absolute;
    top: 50%;
    -webkit-transform: translateY(-50%);
            transform: translateY(-50%);
    font-family: "Heebo", sans-serif;
    font-size: 18px;
    font-weight: 400;
    letter-spacing: .05em;
    margin-left: 14px;
    margin-top: -1px;
    color: #666;
    pointer-events: none; }

.background-imagery {
  position: absolute;
  top: 0;
  left: 0;
  height: 100%;
  width: 100%;
  z-index: 0;
  -webkit-transition: 0.3s cubic-bezier(0.39, 0.575, 0.565, 1);
  transition: 0.3s cubic-bezier(0.39, 0.575, 0.565, 1); }

.protected-hero .background-imagery {
  background-color: #6CF3D5; }

.background-imagery .background-color,
.background-imagery .background-image,
.background-imagery .background-video {
  position: absolute;
  top: 0;
  left: 0;
  height: 100%;
  width: 100%;
  background-position: center;
  -webkit-transition: 0.3s cubic-bezier(0.47, 0, 0.745, 0.715);
  transition: 0.3s cubic-bezier(0.47, 0, 0.745, 0.715);
  -webkit-transform: translateY(0);
          transform: translateY(0);
  -webkit-transform-origin: top;
          transform-origin: top;
  background-image: none;
  opacity: 1; }

.background-imagery .background-color {
  z-index: -3; }

.background-imagery .background-image {
  z-index: -2;
  overflow: hidden;
  pointer-events: none;
  -webkit-transition: 0.3s cubic-bezier(0.47, 0, 0.745, 0.715);
  transition: 0.3s cubic-bezier(0.47, 0, 0.745, 0.715);
  -webkit-transition-delay: .3s;
          transition-delay: .3s;
  -webkit-transform: translateY(0);
          transform: translateY(0);
  -webkit-transform-origin: top;
          transform-origin: top; }

.background-imagery .background-video {
  display: none;
  z-index: -1;
  overflow: hidden;
  pointer-events: none;
  -webkit-transition: 0.3s cubic-bezier(0.47, 0, 0.745, 0.715);
  transition: 0.3s cubic-bezier(0.47, 0, 0.745, 0.715);
  -webkit-transform: translateY(0);
          transform: translateY(0);
  -webkit-transform-origin: top;
          transform-origin: top; }

.background-imagery video {
  width: 100%; }

.eh-logo {
  position: absolute;
  top: 50%;
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%);
  width: 100px;
  height: 100px;
  z-index: 900; }

.eh-logo *,
.eh-logo *:before {
  -webkit-animation-play-state: running;
          animation-play-state: running; }

.eh-logo .character-1 .vert-post, .eh-logo .character-2 .vert-post {
  top: 14%;
  bottom: 14%;
  width: 22%; }

.eh-logo .character-1 .horz-post-top, .eh-logo .character-2 .horz-post-top {
  top: 14%;
  width: 42%;
  height: 20%; }

.eh-logo .character-1 .horz-post-middle, .eh-logo .character-2 .horz-post-middle {
  top: 40%;
  bottom: 40%;
  width: 21%; }

.eh-logo .character-1 .horz-post-bottom, .eh-logo .character-2 .horz-post-bottom {
  bottom: 14%;
  width: 42%;
  height: 20%; }

.eh-logo .character-1 .horz-post-top, .eh-logo .character-1 .horz-post-middle, .eh-logo .character-1 .horz-post-bottom {
  -webkit-transform-origin: left top;
          transform-origin: left top; }

.eh-logo .character-2 .horz-post-top, .eh-logo .character-2 .horz-post-middle, .eh-logo .character-2 .horz-post-bottom {
  -webkit-transform-origin: right top;
          transform-origin: right top; }

.eh-logo .character-1 .horz-post-top, .eh-logo .character-1 .horz-post-bottom {
  -webkit-transform: scaleX(1);
          transform: scaleX(1);
  -webkit-animation-name: shrink;
          animation-name: shrink; }

.eh-logo .character-2 .horz-post-top, .eh-logo .character-2 .horz-post-bottom {
  -webkit-transform: scaleX(0);
          transform: scaleX(0);
  -webkit-animation-name: grow;
          animation-name: grow; }

.eh-logo .background, .eh-logo .logo-container, .eh-logo .character-1 .horz-post-top, .eh-logo .character-1 .horz-post-middle, .eh-logo .character-1 .horz-post-bottom, .eh-logo .character-2 .horz-post-top, .eh-logo .character-2 .horz-post-middle, .eh-logo .character-2 .horz-post-bottom {
  -webkit-animation-duration: 1.5s;
          animation-duration: 1.5s;
  -webkit-animation-iteration-count: infinite;
          animation-iteration-count: infinite;
  -webkit-animation-timing-function: ease-in-out;
          animation-timing-function: ease-in-out; }

.eh-logo .character-1 .vert-post, .eh-logo .character-1 .horz-post-top, .eh-logo .character-1 .horz-post-middle, .eh-logo .character-1 .horz-post-bottom, .eh-logo .character-2 .vert-post, .eh-logo .character-2 .horz-post-top, .eh-logo .character-2 .horz-post-middle, .eh-logo .character-2 .horz-post-bottom {
  position: absolute; }
  .eh-logo .character-1 .vert-post::before, .eh-logo .character-1 .horz-post-top::before, .eh-logo .character-1 .horz-post-middle::before, .eh-logo .character-1 .horz-post-bottom::before, .eh-logo .character-2 .vert-post::before, .eh-logo .character-2 .horz-post-top::before, .eh-logo .character-2 .horz-post-middle::before, .eh-logo .character-2 .horz-post-bottom::before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    bottom: 0;
    right: 0;
    background: #000000;
    -webkit-animation-duration: 15s;
            animation-duration: 15s;
    -webkit-animation-iteration-count: infinite;
            animation-iteration-count: infinite;
    -webkit-animation-timing-function: ease-in-out;
            animation-timing-function: ease-in-out; }

.eh-logo .background {
  content: "";
  position: absolute;
  top: 9%;
  left: 0;
  bottom: 9%;
  right: 0;
  -webkit-animation-name: reverse-rotate;
          animation-name: reverse-rotate; }
  .eh-logo .background::before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    bottom: 0;
    right: 0;
    background: #FFFFFF;
    -webkit-animation-duration: 15s;
            animation-duration: 15s;
    -webkit-animation-iteration-count: infinite;
            animation-iteration-count: infinite;
    -webkit-animation-timing-function: ease-in-out;
            animation-timing-function: ease-in-out; }

.eh-logo .logo-container {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  -webkit-animation-name: rotate;
          animation-name: rotate; }

.eh-logo .character-1 .vert-post {
  left: 5%; }

.eh-logo .character-1 .horz-post-top {
  left: 26%; }

.eh-logo .character-1 .horz-post-middle {
  left: 26%;
  right: 26%;
  -webkit-transform: scaleX(1);
          transform: scaleX(1);
  -webkit-animation-name: shrink-middle;
          animation-name: shrink-middle; }

.eh-logo .character-1 .horz-post-bottom {
  left: 26%; }

.eh-logo .character-2 .vert-post {
  right: 5%; }

.eh-logo .character-2 .horz-post-top {
  right: 26%; }

.eh-logo .character-2 .horz-post-middle {
  right: 26%;
  -webkit-transform: scaleX(0.95);
          transform: scaleX(0.95);
  -webkit-animation-name: grow-middle;
          animation-name: grow-middle; }

.eh-logo .character-2 .horz-post-bottom {
  right: 26%; }

@-webkit-keyframes shrink {
  0% {
    -webkit-transform: scaleX(1);
            transform: scaleX(1); }
  10% {
    -webkit-transform: scaleX(1);
            transform: scaleX(1); }
  90% {
    -webkit-transform: scaleX(0);
            transform: scaleX(0); }
  100% {
    -webkit-transform: scaleX(0);
            transform: scaleX(0); } }

@keyframes shrink {
  0% {
    -webkit-transform: scaleX(1);
            transform: scaleX(1); }
  10% {
    -webkit-transform: scaleX(1);
            transform: scaleX(1); }
  90% {
    -webkit-transform: scaleX(0);
            transform: scaleX(0); }
  100% {
    -webkit-transform: scaleX(0);
            transform: scaleX(0); } }

@-webkit-keyframes rotate {
  0% {
    -webkit-transform: rotate(0);
            transform: rotate(0); }
  10% {
    -webkit-transform: rotate(0);
            transform: rotate(0); }
  90% {
    -webkit-transform: rotate(180deg);
            transform: rotate(180deg); }
  100% {
    -webkit-transform: rotate(180deg);
            transform: rotate(180deg); } }

@keyframes rotate {
  0% {
    -webkit-transform: rotate(0);
            transform: rotate(0); }
  10% {
    -webkit-transform: rotate(0);
            transform: rotate(0); }
  90% {
    -webkit-transform: rotate(180deg);
            transform: rotate(180deg); }
  100% {
    -webkit-transform: rotate(180deg);
            transform: rotate(180deg); } }

@-webkit-keyframes reverse-rotate {
  0% {
    -webkit-transform: rotate(180deg);
            transform: rotate(180deg); }
  10% {
    -webkit-transform: rotate(180deg);
            transform: rotate(180deg); }
  90% {
    -webkit-transform: rotate(0);
            transform: rotate(0); }
  100% {
    -webkit-transform: rotate(0);
            transform: rotate(0); } }

@keyframes reverse-rotate {
  0% {
    -webkit-transform: rotate(180deg);
            transform: rotate(180deg); }
  10% {
    -webkit-transform: rotate(180deg);
            transform: rotate(180deg); }
  90% {
    -webkit-transform: rotate(0);
            transform: rotate(0); }
  100% {
    -webkit-transform: rotate(0);
            transform: rotate(0); } }

@-webkit-keyframes grow {
  0% {
    -webkit-transform: scaleX(0);
            transform: scaleX(0); }
  10% {
    -webkit-transform: scaleX(0);
            transform: scaleX(0); }
  90% {
    -webkit-transform: scaleX(1);
            transform: scaleX(1); }
  100% {
    -webkit-transform: scaleX(1);
            transform: scaleX(1); } }

@keyframes grow {
  0% {
    -webkit-transform: scaleX(0);
            transform: scaleX(0); }
  10% {
    -webkit-transform: scaleX(0);
            transform: scaleX(0); }
  90% {
    -webkit-transform: scaleX(1);
            transform: scaleX(1); }
  100% {
    -webkit-transform: scaleX(1);
            transform: scaleX(1); } }

@-webkit-keyframes shrink-middle {
  0% {
    -webkit-transform: scaleX(1);
            transform: scaleX(1); }
  10% {
    -webkit-transform: scaleX(1);
            transform: scaleX(1); }
  90% {
    -webkit-transform: scaleX(0.95);
            transform: scaleX(0.95); }
  100% {
    -webkit-transform: scaleX(0.95);
            transform: scaleX(0.95); } }

@keyframes shrink-middle {
  0% {
    -webkit-transform: scaleX(1);
            transform: scaleX(1); }
  10% {
    -webkit-transform: scaleX(1);
            transform: scaleX(1); }
  90% {
    -webkit-transform: scaleX(0.95);
            transform: scaleX(0.95); }
  100% {
    -webkit-transform: scaleX(0.95);
            transform: scaleX(0.95); } }

@-webkit-keyframes grow-middle {
  0% {
    -webkit-transform: scaleX(0.95);
            transform: scaleX(0.95); }
  10% {
    -webkit-transform: scaleX(0.95);
            transform: scaleX(0.95); }
  90% {
    -webkit-transform: scaleX(1);
            transform: scaleX(1); }
  100% {
    -webkit-transform: scaleX(1);
            transform: scaleX(1); } }

@keyframes grow-middle {
  0% {
    -webkit-transform: scaleX(0.95);
            transform: scaleX(0.95); }
  10% {
    -webkit-transform: scaleX(0.95);
            transform: scaleX(0.95); }
  90% {
    -webkit-transform: scaleX(1);
            transform: scaleX(1); }
  100% {
    -webkit-transform: scaleX(1);
            transform: scaleX(1); } }

@-webkit-keyframes color {
  0% {
    background: #6CF3D5; }
  20% {
    background: #6CF3D5; }
  25% {
    background: #E9B5AC; }
  45% {
    background: #E9B5AC; }
  50% {
    background: #B3CC8C; }
  70% {
    background: #B3CC8C; }
  75% {
    background: #DFED65; }
  95% {
    background: #DFED65; }
  100% {
    background: #6CF3D5; } }

@keyframes color {
  0% {
    background: #6CF3D5; }
  20% {
    background: #6CF3D5; }
  25% {
    background: #E9B5AC; }
  45% {
    background: #E9B5AC; }
  50% {
    background: #B3CC8C; }
  70% {
    background: #B3CC8C; }
  75% {
    background: #DFED65; }
  95% {
    background: #DFED65; }
  100% {
    background: #6CF3D5; } }

@-webkit-keyframes color-background {
  0% {
    background: #2B364A; }
  20% {
    background: #2B364A; }
  25% {
    background: #8B7CAA; }
  45% {
    background: #8B7CAA; }
  50% {
    background: #628A68; }
  70% {
    background: #628A68; }
  75% {
    background: #8C8C8C; }
  95% {
    background: #8C8C8C; }
  100% {
    background: #2B364A; } }

@keyframes color-background {
  0% {
    background: #2B364A; }
  20% {
    background: #2B364A; }
  25% {
    background: #8B7CAA; }
  45% {
    background: #8B7CAA; }
  50% {
    background: #628A68; }
  70% {
    background: #628A68; }
  75% {
    background: #8C8C8C; }
  95% {
    background: #8C8C8C; }
  100% {
    background: #2B364A; } }

.loading-gate {
  position: fixed;
  top: 0;
  left: 0;
  height: 0;
  width: 100%;
  background: 100%;
  z-index: 40;
  -webkit-transition: .3s ease-out;
  transition: .3s ease-out;
  overflow: hidden;
  opacity: 0;
  -webkit-transition: height 0s linear 1s, opacity .3s ease-out 0s;
  transition: height 0s linear 1s, opacity .3s ease-out 0s; }

.loading-gate::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  bottom: 0;
  right: 0;
  background: #FFFFFF;
  opacity: .3; }

.skip-to-content {
  position: absolute;
  top: 0;
  left: 0;
  z-index: 70;
  padding: 10px;
  background: #000000;
  color: #FFFFFF;
  opacity: 0;
  pointer-events: none; }

.skip-to-content:focus {
  opacity: 1; }

.site-header {
  position: absolute;
  top: 0;
  width: 100%;
  color: #000000;
  fill: #000000;
  z-index: 60; }

.site-header.light-header {
  color: #FFFFFF;
  fill: #FFFFFF; }

.site-header .background-color {
  position: absolute;
  top: 0;
  left: 0;
  height: 100%;
  width: 100%;
  z-index: -1;
  opacity: 0;
  -webkit-transition: .3s ease-out;
  transition: .3s ease-out; }

.site-header.background-shown .background-color {
  opacity: 1; }

.site-header .row {
  position: relative;
  padding-top: 20px;
  padding-bottom: 20px; }

.site-header svg {
  fill: currentColor; }

.site-header a, .site-header span {
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  display: block;
  position: relative;
  font-family: "Heebo", sans-serif;
  font-size: 16px;
  font-weight: 700;
  letter-spacing: .05em;
  line-height: 22px;
  text-decoration: none;
  color: inherit; }

.site-header a {
  -webkit-transition: 0.3s cubic-bezier(0.39, 0.575, 0.565, 1) 0s;
  transition: 0.3s cubic-bezier(0.39, 0.575, 0.565, 1) 0s; }

.site-header .site-logo {
  width: 40px;
  height: 32px; }

.site-header .site-nav {
  padding-top: 0;
  padding-bottom: 0;
  margin: 0;
  list-style: none; }

.site-header .site-nav li {
  display: inline-block;
  vertical-align: middle; }

.site-header .site-nav li:not(:first-child) {
  margin-left: 16px; }

.site-header .site-nav .expando-item {
  position: relative; }

.site-header .site-nav .expando-item::before {
  display: none;
  content: "";
  position: absolute;
  top: 0%;
  left: 0%;
  -webkit-transform: translateX(-10px) translateY(-10px);
          transform: translateX(-10px) translateY(-10px);
  height: calc(100% + 20px);
  width: calc(100% + 20px);
  background: #FFFFFF;
  -webkit-transition: 0.3s cubic-bezier(0.55, 0.055, 0.675, 0.19);
  transition: 0.3s cubic-bezier(0.55, 0.055, 0.675, 0.19); }

.dark-header .site-header .site-nav .expando-item::before {
  background: #000000; }

.site-header .site-nav .expando-item button {
  position: absolute;
  top: 0;
  left: 0;
  height: 100%;
  width: 100%;
  background: transparent;
  border: none; }

.site-header .site-nav .expando-item .sub-menu {
  display: none;
  position: absolute;
  margin: 0;
  padding: 10px 20px 0 0;
  height: auto; }

.site-header .site-nav .expando-item .sub-menu::before {
  content: "";
  position: absolute;
  top: 0;
  left: 50%;
  -webkit-transform: translateX(-50%) translateY(0);
          transform: translateX(-50%) translateY(0);
  height: 100%;
  width: calc(100% + 20px);
  background: #FFFFFF;
  -webkit-transition: 0.3s cubic-bezier(0.55, 0.055, 0.675, 0.19);
  transition: 0.3s cubic-bezier(0.55, 0.055, 0.675, 0.19);
  margin-left: 0px; }

.dark-header .site-header .site-nav .expando-item .sub-menu::before {
  background: #000000; }

.site-header .site-nav .expando-item .sub-menu li {
  margin: 0 0 10px; }

.site-header .site-nav .expando-item.open::before {
  display: block; }

.site-header .site-nav .expando-item.open .sub-menu {
  display: block; }

.site-header .site-nav .text-link a,
.site-header .site-nav .text-link span {
  opacity: .8; }

.site-header .text-link a::after {
  content: "";
  position: absolute;
  display: block;
  height: 2px;
  width: 100%;
  background: currentColor;
  -webkit-transform: translateY(10px);
          transform: translateY(10px);
  opacity: 0;
  pointer-events: none; }

.site-header .current-menu-item.text-link a {
  opacity: 1; }

.site-header .text-link a:hover::after,
.site-header .current-menu-item.text-link a::after {
  -webkit-transform: translateY(0);
          transform: translateY(0);
  opacity: 1; }

.site-header .hamburger-icon {
  position: relative;
  display: block;
  height: 20px;
  width: 26px;
  margin-left: auto;
  -webkit-transition: 0.3s cubic-bezier(0.25, 0.46, 0.45, 0.94);
  transition: 0.3s cubic-bezier(0.25, 0.46, 0.45, 0.94); }

.site-header .hamburger-icon div {
  position: absolute;
  width: 26px;
  height: 2px;
  background: currentColor; }

.site-header .hamburger-icon div:nth-child(1) {
  top: 0;
  -webkit-transition: 0.3s cubic-bezier(0.25, 0.46, 0.45, 0.94);
  transition: 0.3s cubic-bezier(0.25, 0.46, 0.45, 0.94); }

.site-header .hamburger-icon div:nth-child(2) {
  top: 50%;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  -webkit-transition: 0.3s cubic-bezier(0.25, 0.46, 0.45, 0.94);
  transition: 0.3s cubic-bezier(0.25, 0.46, 0.45, 0.94); }

.site-header .hamburger-icon div:nth-child(2)::before {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  height: 26px;
  width: 2px;
  background-color: #000000;
  -webkit-transform: translate(-50%, -50%) scaleY(0);
          transform: translate(-50%, -50%) scaleY(0);
  -webkit-transition: 0.3s cubic-bezier(0.25, 0.46, 0.45, 0.94);
  transition: 0.3s cubic-bezier(0.25, 0.46, 0.45, 0.94); }

.site-header .hamburger-icon div:nth-child(3) {
  bottom: 0;
  -webkit-transition: 0.3s cubic-bezier(0.25, 0.46, 0.45, 0.94);
  transition: 0.3s cubic-bezier(0.25, 0.46, 0.45, 0.94); }

.site-header .hamburger-icon .target {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  margin: 0;
  padding: 0;
  border: 0;
  background: transparent;
  border: none; }

.mobile-nav-list {
  position: fixed;
  top: 0;
  display: none;
  height: 100%;
  width: 100%;
  padding-top: 80px;
  background: transparent;
  z-index: 50;
  -webkit-transform-origin: center top;
          transform-origin: center top; }

.mobile-nav-list::before {
  content: "";
  position: absolute;
  top: 0;
  height: 100%;
  width: 100%;
  z-index: -1;
  -webkit-transform: translateY(-100%);
          transform: translateY(-100%);
  opacity: 0;
  background: -webkit-gradient(linear, left top, left bottom, color-stop(80%, rgba(255, 255, 255, 0.96)), to(rgba(255, 255, 255, 0)));
  background: linear-gradient(to bottom, rgba(255, 255, 255, 0.96) 80%, rgba(255, 255, 255, 0) 100%);
  -webkit-transition: 0.3s cubic-bezier(0.55, 0.085, 0.68, 0.53);
  transition: 0.3s cubic-bezier(0.55, 0.085, 0.68, 0.53); }

.mobile-nav-list ul {
  list-style: none;
  padding-top: 0;
  padding-bottom: 0;
  margin: 0; }

.mobile-nav-list .site-logo {
  display: none; }

.mobile-nav-list li {
  -webkit-transform: translateY(10px);
          transform: translateY(10px);
  opacity: 0;
  padding-bottom: 16px;
  -webkit-transition: 0.3s cubic-bezier(0.55, 0.085, 0.68, 0.53);
  transition: 0.3s cubic-bezier(0.55, 0.085, 0.68, 0.53); }

.mobile-nav-list a {
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  display: inline-block;
  font-family: "Heebo", sans-serif;
  font-size: 24px;
  line-height: 30px;
  font-weight: 600;
  letter-spacing: .02em;
  text-decoration: none;
  color: #000000; }

.mobile-nav-list a::after {
  content: "";
  display: block;
  width: 100%;
  height: 3px;
  background: #000000;
  opacity: 0;
  -webkit-transform: scaleX(0);
          transform: scaleX(0);
  -webkit-transform-origin: left;
          transform-origin: left;
  -webkit-transition: 0.3s cubic-bezier(0.25, 0.46, 0.45, 0.94);
  transition: 0.3s cubic-bezier(0.25, 0.46, 0.45, 0.94); }

.mobile-nav-list .current-menu-item a::after {
  opacity: 1;
  -webkit-transform: scaleX(1);
          transform: scaleX(1);
  -webkit-transition: 0.3s cubic-bezier(0.55, 0.085, 0.68, 0.53);
  transition: 0.3s cubic-bezier(0.55, 0.085, 0.68, 0.53); }

.site-footer {
  -webkit-transition: 0.3s cubic-bezier(0.47, 0, 0.745, 0.715);
  transition: 0.3s cubic-bezier(0.47, 0, 0.745, 0.715);
  opacity: 1;
  -webkit-transform: translateY(0);
          transform: translateY(0); }

.site-footer nav {
  padding-top: 80px;
  padding-bottom: 40px; }

.site-footer .site-logo {
  width: 40px;
  height: 32px; }

.site-footer .site-nav,
.site-footer .secondary-nav {
  padding-top: 0;
  padding-bottom: 0;
  margin-top: 0;
  margin-bottom: 0;
  list-style: none;
  text-align: center; }

.site-footer .secondary-nav:before {
  content: "";
  height: 100%;
  width: 0;
  display: inline-block;
  vertical-align: middle; }

.site-footer .site-nav li,
.site-footer .secondary-nav li {
  display: inline-block;
  vertical-align: middle; }

.site-footer .site-nav li:not(:first-child) {
  margin-left: 16px; }

.site-footer .secondary-nav li:not(:last-child) {
  margin-right: 16px; }

.site-footer svg {
  fill: #000000; }

.site-footer a {
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  display: block;
  position: relative;
  font-family: "Heebo", sans-serif;
  font-size: 12px;
  font-weight: 700;
  letter-spacing: .05em;
  line-height: 22px;
  text-decoration: none;
  color: #000000; }

.site-footer .secondary-nav a {
  opacity: .6; }

.site-footer .copyright {
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  font-family: "Heebo", sans-serif;
  font-size: 12px;
  font-weight: 700;
  letter-spacing: .05em;
  line-height: 22px;
  color: #666;
  text-align: center;
  margin-top: 20px; }

.site-hero {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  z-index: 10;
  padding: 88px 0;
  color: #000000;
  -webkit-transition: 0.3s cubic-bezier(0.39, 0.575, 0.565, 1);
  transition: 0.3s cubic-bezier(0.39, 0.575, 0.565, 1);
  overflow: hidden; }

.site-hero .background-color {
  height: 120%; }

.page-hero {
  position: relative;
  z-index: 20;
  padding: 88px 0;
  color: #000000;
  overflow: hidden; }

.page-hero .row {
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center; }

.page-hero .content {
  padding: 100px 0 90px; }

.page-hero .header {
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  padding: 0;
  margin: 0 0 10px;
  font-family: "Heebo", sans-serif;
  font-size: 40px;
  line-height: 1em;
  -webkit-transition: 0.3s cubic-bezier(0.47, 0, 0.745, 0.715);
  transition: 0.3s cubic-bezier(0.47, 0, 0.745, 0.715);
  opacity: 1;
  -webkit-transform: translateY(0);
          transform: translateY(0);
  -webkit-transition-delay: .3s;
          transition-delay: .3s; }

.page-hero .hero-copy p {
  max-width: 500px;
  font-family: "Playfair Display", serif;
  font-size: 18px;
  line-height: 1.5em;
  letter-spacing: .05em;
  color: inherit;
  -webkit-transition: 0.3s cubic-bezier(0.47, 0, 0.745, 0.715);
  transition: 0.3s cubic-bezier(0.47, 0, 0.745, 0.715);
  -webkit-transform: translateY(0);
          transform: translateY(0);
  -webkit-transition-delay: .3s;
          transition-delay: .3s; }

.page-hero .hero-form {
  position: relative;
  max-width: 400px;
  opacity: 1;
  -webkit-transition: 0.3s cubic-bezier(0.47, 0, 0.745, 0.715);
  transition: 0.3s cubic-bezier(0.47, 0, 0.745, 0.715);
  -webkit-transform: translateY(0);
          transform: translateY(0);
  -webkit-transition-delay: .3s;
          transition-delay: .3s; }

.page-hero .hero-form .input-with-placeholder {
  position: relative;
  z-index: 1; }

.page-hero .hero-form button {
  position: absolute;
  top: 0;
  right: 0;
  height: 100%;
  z-index: 2;
  background: #EEE;
  border-color: #EEE; }

.page-hero .section-logo {
  display: inline-block;
  margin-bottom: 40px;
  -webkit-transition: 0.6s cubic-bezier(0.47, 0, 0.745, 0.715);
  transition: 0.6s cubic-bezier(0.47, 0, 0.745, 0.715);
  opacity: 1;
  -webkit-transform: translateY(0);
          transform: translateY(0);
  -webkit-transition-delay: .8s;
          transition-delay: .8s; }

.page-hero .section-logo img {
  display: block;
  width: 100%;
  max-width: 150px; }

.page-hero .title-image {
  max-width: 300px;
  width: 80%; }

.page-hero .wide-hero .title-image {
  max-width: 700px;
  width: 100%; }

.page-hero .title-image-text {
  display: none; }

.page-hero .side-image {
  display: block;
  background-position: center;
  background-repeat: no-repeat;
  background-size: contain;
  -webkit-transition: 0.3s cubic-bezier(0.47, 0, 0.745, 0.715);
  transition: 0.3s cubic-bezier(0.47, 0, 0.745, 0.715);
  opacity: 1;
  -webkit-transform: translateY(0);
          transform: translateY(0);
  -webkit-transition-delay: .6s;
          transition-delay: .6s; }
  .page-hero .side-image {
    position: relative; }
  .page-hero .side-image:before {
    content: "";
    display: block;
    width: 100%;
    padding-top: 50%; }

.page-hero .image-container {
  -webkit-box-ordinal-group: 2;
      -ms-flex-order: 1;
          order: 1; }

.page-hero .content-container {
  -webkit-box-ordinal-group: 3;
      -ms-flex-order: 2;
          order: 2; }

.page-hero .lock-icon {
  position: absolute;
  top: 50%;
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%);
  display: block;
  width: 140px;
  height: 168px;
  z-index: 1; }

.page-hero .lock-icon .lock-body {
  position: absolute;
  top: 0;
  width: 100%;
  z-index: 2; }

.page-hero .lock-icon .lock-bars {
  position: absolute;
  top: 0;
  width: 100%;
  z-index: 1;
  -webkit-transform: translateY(-40px);
          transform: translateY(-40px);
  -webkit-transition: 0.3s cubic-bezier(0.39, 0.575, 0.565, 1);
  transition: 0.3s cubic-bezier(0.39, 0.575, 0.565, 1); }

.page-hero .lock-icon .color-white {
  fill: #fff; }

.page-hero .lock-icon .color-black {
  fill: #000000; }

.page-hero.old-hero {
  -webkit-transition: 0.3s cubic-bezier(0.39, 0.575, 0.565, 1);
  transition: 0.3s cubic-bezier(0.39, 0.575, 0.565, 1);
  position: absolute;
  width: 100%; }

.page-hero.old-hero .content {
  opacity: 0 !important; }

.site-footer {
  -webkit-transition: 0.3s cubic-bezier(0.47, 0, 0.745, 0.715);
  transition: 0.3s cubic-bezier(0.47, 0, 0.745, 0.715);
  opacity: 1;
  -webkit-transform: translateY(0);
          transform: translateY(0); }

.site-footer nav {
  padding-top: 80px;
  padding-bottom: 40px; }

.site-footer .site-logo {
  width: 40px;
  height: 32px; }

.site-footer .site-nav,
.site-footer .secondary-nav {
  padding-top: 0;
  padding-bottom: 0;
  margin-top: 0;
  margin-bottom: 0;
  list-style: none;
  text-align: center; }

.site-footer .secondary-nav:before {
  content: "";
  height: 100%;
  width: 0;
  display: inline-block;
  vertical-align: middle; }

.site-footer .site-nav li,
.site-footer .secondary-nav li {
  display: inline-block;
  vertical-align: middle; }

.site-footer .site-nav li:not(:first-child) {
  margin-left: 16px; }

.site-footer .secondary-nav li:not(:last-child) {
  margin-right: 16px; }

.site-footer svg {
  fill: #000000; }

.site-footer a {
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  display: block;
  position: relative;
  font-family: "Heebo", sans-serif;
  font-size: 12px;
  font-weight: 700;
  letter-spacing: .05em;
  line-height: 22px;
  text-decoration: none;
  color: #000000; }

.site-footer .secondary-nav a {
  opacity: .6; }

.site-footer .copyright {
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  font-family: "Heebo", sans-serif;
  font-size: 12px;
  font-weight: 700;
  letter-spacing: .05em;
  line-height: 22px;
  color: #666;
  text-align: center;
  margin-top: 20px; }

.work-listing {
  position: relative;
  z-index: 30;
  margin-top: -80px;
  -webkit-transition: 0.3s cubic-bezier(0.47, 0, 0.745, 0.715);
  transition: 0.3s cubic-bezier(0.47, 0, 0.745, 0.715);
  opacity: 1;
  -webkit-transform: translateY(0);
          transform: translateY(0); }

.work-listing .work-item {
  margin-bottom: 40px; }

.work-listing .work-item .image {
  position: relative;
  background-color: #666;
  background-position: center;
  background-size: cover;
  pointer-events: none;
  overflow: hidden; }
  .work-listing .work-item .image {
    position: relative; }
  .work-listing .work-item .image:before {
    content: "";
    display: block;
    width: 100%;
    padding-top: 55%; }

.work-listing .background-video {
  position: absolute;
  top: 50%;
  left: 50%;
  width: 120%;
  height: 120%;
  -webkit-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%); }

.work-listing video {
  width: 100%; }

.work-listing .work-item h2 {
  display: block;
  margin: 20px 0 15px;
  font-family: "Heebo", sans-serif;
  font-size: 26px;
  letter-spacing: .025em;
  color: #000000; }

.work-listing .work-item p {
  margin: 0;
  font-family: "Playfair Display", serif;
  font-size: 16px;
  line-height: 1.5em;
  color: #000000;
  opacity: .7; }

.work-listing .work-item a {
  display: block;
  text-decoration: none; }

.work-listing .coming-soon-notice {
  text-align: center;
  padding-top: 160px; }

.entry-content {
  margin: 40px 0;
  -webkit-transition: 0.3s cubic-bezier(0.47, 0, 0.745, 0.715);
  transition: 0.3s cubic-bezier(0.47, 0, 0.745, 0.715);
  opacity: 1;
  -webkit-transform: translateY(0);
          transform: translateY(0); }

.entry-content .module-header-1,
.entry-content .module-break,
.entry-content .canvas-module {
  margin-top: 40px; }

.entry-content .module-header-1 {
  margin-bottom: 10px; }

.entry-content .module-break {
  margin-bottom: 40px; }

.entry-content .image-title {
  position: relative; }

.entry-content .image-title img {
  max-width: 700px;
  margin: 0; }

.entry-content .hidden-by-image {
  position: absolute;
  top: 50%;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  color: transparent;
  margin: 0; }

.entry-content .button-module {
  margin-top: 40px;
  margin-bottom: 80px; }

.entry-content .image-container {
  width: 100%; }

.entry-content figure {
  margin: 10px 0 40px; }

.entry-content figure img {
  border: 1px solid #EEE; }

.entry-content figcaption {
  margin-top: 10px; }

.entry-content img {
  display: block;
  width: 100%;
  height: auto;
  margin: 20px auto; }

.entry-content .code-module .file-name {
  display: block;
  width: 100%;
  padding: 10px;
  font-family: "Heebo", sans-serif;
  font-size: 16px;
  font-weight: 400;
  background-color: #6CF3D5;
  color: #000000; }

.entry-content .code-module pre {
  background: #fafafa;
  padding: 10px;
  border: 1px solid #eee;
  margin: 0; }

.entry-content .code-module code {
  background: #fafafa; }

.entry-content a:not(.button) {
  position: relative;
  display: inline-block;
  z-index: 1;
  color: #666;
  text-decoration: none; }

.entry-content a:not(.button)::after {
  content: "";
  position: absolute;
  left: 0;
  bottom: 0;
  display: block;
  width: 100%;
  height: 100%;
  -webkit-transform: scaleY(0.14);
          transform: scaleY(0.14);
  -webkit-transform-origin: bottom;
          transform-origin: bottom;
  opacity: .3;
  z-index: -1;
  -webkit-transition: 0.3s cubic-bezier(0.215, 0.61, 0.355, 1);
  transition: 0.3s cubic-bezier(0.215, 0.61, 0.355, 1); }

.entry-content a::after {
  background-color: #6CF3D5; }

.entry-content a:hover::after {
  -webkit-transform: scaleY(1);
          transform: scaleY(1); }

.entry-content .button-contain {
  text-align: center; }

.entry-content .slide-buttons-contain {
  display: block;
  width: 100%; }

.entry-content .slide-buttons-contain .next-button {
  float: right; }

.entry-content .slideshow-module {
  margin-top: 60px; }

.entry-content .canvas-module {
  border-top: 5px solid #F0DB4F;
  border-bottom: 5px solid #F0DB4F; }

.entry-content .canvas-module .canvas-contain {
  position: relative;
  z-index: 1;
  height: 600px;
  overflow: hidden; }

.holiday-card-18 .page-hero {
  padding: 0; }

.holiday-card-18 .page-hero .content {
  padding: 0;
  margin: 0; }

.holiday-card-18 .page-hero .title-image {
  width: 100%;
  max-width: 100%; }

.holiday-card-18 .entry-content .iframe-ctn {
  position: relative; }
  .holiday-card-18 .entry-content .iframe-ctn {
    position: relative; }
  .holiday-card-18 .entry-content .iframe-ctn:before {
    content: "";
    display: block;
    width: 100%;
    padding-top: 56.25%; }

.holiday-card-18 .entry-content .iframe-ctn iframe {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%; }

.small-nav-open .site-header.light-header {
  color: #000000;
  fill: #000000; }

.small-nav-open .mobile-nav-list::before {
  -webkit-transform: translateY(0);
          transform: translateY(0);
  opacity: 1;
  -webkit-transition: 0.9s cubic-bezier(0.25, 0.46, 0.45, 0.94);
  transition: 0.9s cubic-bezier(0.25, 0.46, 0.45, 0.94); }

.small-nav-open .mobile-nav-list li {
  -webkit-transform: translateY(0);
          transform: translateY(0);
  opacity: 1;
  -webkit-transition: 0.3s cubic-bezier(0.25, 0.46, 0.45, 0.94);
  transition: 0.3s cubic-bezier(0.25, 0.46, 0.45, 0.94); }

.small-nav-open .mobile-nav-list li:nth-child(1) {
  -webkit-transition-delay: 0.3s;
          transition-delay: 0.3s; }

.small-nav-open .mobile-nav-list li:nth-child(2) {
  -webkit-transition-delay: 0.4s;
          transition-delay: 0.4s; }

.small-nav-open .mobile-nav-list li:nth-child(3) {
  -webkit-transition-delay: 0.5s;
          transition-delay: 0.5s; }

.small-nav-open .mobile-nav-list li:nth-child(4) {
  -webkit-transition-delay: 0.6s;
          transition-delay: 0.6s; }

.small-nav-open .mobile-nav-list li:nth-child(5) {
  -webkit-transition-delay: 0.7s;
          transition-delay: 0.7s; }

.small-nav-open .mobile-nav-list li:nth-child(6) {
  -webkit-transition-delay: 0.8s;
          transition-delay: 0.8s; }

.small-nav-open .mobile-nav-list li:nth-child(7) {
  -webkit-transition-delay: 0.9s;
          transition-delay: 0.9s; }

.small-nav-open .mobile-nav-list li:nth-child(8) {
  -webkit-transition-delay: 1s;
          transition-delay: 1s; }

.small-nav-open .mobile-nav-list li:nth-child(9) {
  -webkit-transition-delay: 1.1s;
          transition-delay: 1.1s; }

.small-nav-open .mobile-nav-list li:nth-child(10) {
  -webkit-transition-delay: 1.2s;
          transition-delay: 1.2s; }

.small-nav-open .mobile-nav-list li:nth-child(11) {
  -webkit-transition-delay: 1.3s;
          transition-delay: 1.3s; }

.small-nav-open .mobile-nav-list li:nth-child(12) {
  -webkit-transition-delay: 1.4s;
          transition-delay: 1.4s; }

.small-nav-open .mobile-nav-list li:nth-child(13) {
  -webkit-transition-delay: 1.5s;
          transition-delay: 1.5s; }

.small-nav-open .mobile-nav-list li:nth-child(14) {
  -webkit-transition-delay: 1.6s;
          transition-delay: 1.6s; }

.small-nav-open .mobile-nav-list li:nth-child(15) {
  -webkit-transition-delay: 1.7s;
          transition-delay: 1.7s; }

.small-nav-open .mobile-nav-list li:nth-child(16) {
  -webkit-transition-delay: 1.8s;
          transition-delay: 1.8s; }

.small-nav-open .mobile-nav-list li:nth-child(17) {
  -webkit-transition-delay: 1.9s;
          transition-delay: 1.9s; }

.small-nav-open .mobile-nav-list li:nth-child(18) {
  -webkit-transition-delay: 2s;
          transition-delay: 2s; }

.small-nav-open .mobile-nav-list li:nth-child(19) {
  -webkit-transition-delay: 2.1s;
          transition-delay: 2.1s; }

.small-nav-open .mobile-nav-list li:nth-child(20) {
  -webkit-transition-delay: 2.2s;
          transition-delay: 2.2s; }

.small-nav-open .site-header .hamburger-icon {
  -webkit-transform: rotate(45deg);
          transform: rotate(45deg);
  -webkit-transition: 0.3s cubic-bezier(0.55, 0.085, 0.68, 0.53);
  transition: 0.3s cubic-bezier(0.55, 0.085, 0.68, 0.53); }

.small-nav-open .site-header .hamburger-icon div {
  color: #000000; }

.small-nav-open .site-header .hamburger-icon div:nth-child(1) {
  opacity: 0;
  -webkit-transform: translateY(-10px);
          transform: translateY(-10px);
  -webkit-transition: 0.3s cubic-bezier(0.55, 0.085, 0.68, 0.53);
  transition: 0.3s cubic-bezier(0.55, 0.085, 0.68, 0.53); }

.small-nav-open .site-header .hamburger-icon div:nth-child(2)::before {
  -webkit-transform: translate(-50%, -50%) scaleY(1);
          transform: translate(-50%, -50%) scaleY(1);
  -webkit-transition: 0.3s cubic-bezier(0.55, 0.085, 0.68, 0.53);
  transition: 0.3s cubic-bezier(0.55, 0.085, 0.68, 0.53); }

.small-nav-open .site-header .hamburger-icon div:nth-child(3) {
  opacity: 0;
  -webkit-transform: translateY(10px);
          transform: translateY(10px);
  -webkit-transition: 0.3s cubic-bezier(0.55, 0.085, 0.68, 0.53);
  transition: 0.3s cubic-bezier(0.55, 0.085, 0.68, 0.53); }

.page-transitioning {
  height: 100%;
  overflow: hidden; }

.page-transitioning .site-header .background-color {
  opacity: 0; }

.page-transitioning .loading-gate {
  display: block;
  height: 100%;
  opacity: 1;
  -webkit-transition: height 0s linear 0s, opacity .3s ease-out .1s;
  transition: height 0s linear 0s, opacity .3s ease-out .1s; }

.page-transitioning .eh-logo * {
  -webkit-animation-play-state: running;
          animation-play-state: running; }

.page-transitioning .page-hero .background-color,
.page-transitioning .page-hero .background-video {
  -webkit-transition: 0.3s cubic-bezier(0.39, 0.575, 0.565, 1);
  transition: 0.3s cubic-bezier(0.39, 0.575, 0.565, 1);
  opacity: 0;
  -webkit-transition-delay: .3s;
          transition-delay: .3s; }

.page-transitioning .page-hero .background-image {
  -webkit-transition: 0.3s cubic-bezier(0.39, 0.575, 0.565, 1);
  transition: 0.3s cubic-bezier(0.39, 0.575, 0.565, 1);
  opacity: 0;
  -webkit-transition-delay: .0s;
          transition-delay: .0s; }

.page-transitioning .page-hero .header {
  -webkit-transition: 0.3s cubic-bezier(0.39, 0.575, 0.565, 1);
  transition: 0.3s cubic-bezier(0.39, 0.575, 0.565, 1);
  opacity: 0;
  -webkit-transform: translateY(50px);
          transform: translateY(50px); }

.page-transitioning .page-hero .section-logo {
  -webkit-transition: 0.6s cubic-bezier(0.39, 0.575, 0.565, 1);
  transition: 0.6s cubic-bezier(0.39, 0.575, 0.565, 1);
  opacity: 0;
  -webkit-transform: translateY(-50px);
          transform: translateY(-50px);
  -webkit-transition-delay: .0s;
          transition-delay: .0s; }

.page-transitioning .page-hero .hero-copy p {
  -webkit-transition: 0.3s cubic-bezier(0.39, 0.575, 0.565, 1);
  transition: 0.3s cubic-bezier(0.39, 0.575, 0.565, 1);
  opacity: 0;
  -webkit-transform: translateY(50px);
          transform: translateY(50px); }

.page-transitioning .page-hero .side-image {
  -webkit-transition: 0.3s cubic-bezier(0.39, 0.575, 0.565, 1);
  transition: 0.3s cubic-bezier(0.39, 0.575, 0.565, 1);
  opacity: 0;
  -webkit-transform: translateY(50px);
          transform: translateY(50px);
  -webkit-transition-delay: .0s;
          transition-delay: .0s; }

.page-transitioning .page-hero .hero-form {
  -webkit-transition: 0.3s cubic-bezier(0.39, 0.575, 0.565, 1);
  transition: 0.3s cubic-bezier(0.39, 0.575, 0.565, 1);
  opacity: 0;
  -webkit-transform: translateY(50px);
          transform: translateY(50px);
  -webkit-transition-delay: .0s;
          transition-delay: .0s; }

.page-transitioning .page-hero.old-hero .background-color,
.page-transitioning .page-hero.old-hero .background-video {
  opacity: 1; }

.page-transitioning .work-listing {
  -webkit-transition: 0.3s cubic-bezier(0.39, 0.575, 0.565, 1);
  transition: 0.3s cubic-bezier(0.39, 0.575, 0.565, 1);
  opacity: 0;
  -webkit-transform: translateY(50px);
          transform: translateY(50px); }

.page-transitioning .site-footer {
  -webkit-transition: 0.3s cubic-bezier(0.39, 0.575, 0.565, 1);
  transition: 0.3s cubic-bezier(0.39, 0.575, 0.565, 1);
  opacity: 0;
  -webkit-transform: translateY(50px);
          transform: translateY(50px); }

.page-transitioning .entry-content {
  -webkit-transition: 0.3s cubic-bezier(0.39, 0.575, 0.565, 1);
  transition: 0.3s cubic-bezier(0.39, 0.575, 0.565, 1);
  opacity: 0;
  -webkit-transform: translateY(50px);
          transform: translateY(50px); }

.reset-scroll .router {
  height: 0;
  overflow: hidden; }

.page-locked .page-hero .lock-icon .lock-bars {
  -webkit-transform: translateY(0);
          transform: translateY(0);
  -webkit-transition: 0.3s cubic-bezier(0.175, 0.885, 0.32, 1.275);
  transition: 0.3s cubic-bezier(0.175, 0.885, 0.32, 1.275); }

.login-failed .page-hero .background-color {
  background-color: #EF6E6F; }

.login-failed .page-hero .hero-form {
  -webkit-animation: shake 0.82s cubic-bezier(0.36, 0.07, 0.19, 0.97) both;
          animation: shake 0.82s cubic-bezier(0.36, 0.07, 0.19, 0.97) both;
  -webkit-transform: translate3d(0, 0, 0);
          transform: translate3d(0, 0, 0);
  -webkit-backface-visibility: hidden;
          backface-visibility: hidden;
  -webkit-perspective: 1000px;
          perspective: 1000px; }

@media (min-width: 760px) {
    .grid {
      padding-left: 20px;
      padding-right: 20px; }
    .row {
      padding-left: 40px;
      padding-right: 40px; }
    .background-imagery .background-video {
      display: block; }
  .site-header:not(.latched) {
    top: 0 !important; }
  .site-header.stuck {
    position: fixed;
    top: 0 !important; }
  .site-footer .site-nav {
    text-align: left;
    margin-bottom: 20px; }
    .page-hero .header {
      font-size: 56px; }
    .page-hero .image-container {
      -webkit-box-ordinal-group: 3;
          -ms-flex-order: 2;
              order: 2; }
    .page-hero .content-container {
      -webkit-box-ordinal-group: 2;
          -ms-flex-order: 1;
              order: 1; }
  .site-footer .site-nav {
    text-align: left;
    margin-bottom: 20px; }
    .entry-content .module-header-1,
    .entry-content .module-break,
    .entry-content .canvas-module {
      margin-top: 60px; }
    .entry-content .module-header-1 {
      margin-bottom: 20px; }
    .entry-content .module-break {
      margin-bottom: 60px; }
    .entry-content .button-module {
      margin-top: 60px;
      margin-bottom: 120px; }
    .entry-content .code-module .file-name {
      padding: 10px 20px; }
    .entry-content .code-module pre {
      padding: 20px; }
    .entry-content .slideshow-module {
      margin-top: 100px; } }

@media (min-width: 760px) and (max-width: 1040px) {
  .push-t-1 {
    margin-left: 8.33333%; }
  .grid-t-1 {
    display: block;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    width: 8.33333%;
    float: left;
    padding-left: 1.38889%;
    padding-right: 1.38889%; }
  .push-t-2 {
    margin-left: 16.66667%; }
  .grid-t-2 {
    display: block;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    width: 16.66667%;
    float: left;
    padding-left: 1.38889%;
    padding-right: 1.38889%; }
  .push-t-3 {
    margin-left: 25%; }
  .grid-t-3 {
    display: block;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    width: 25%;
    float: left;
    padding-left: 1.38889%;
    padding-right: 1.38889%; }
  .push-t-4 {
    margin-left: 33.33333%; }
  .grid-t-4 {
    display: block;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    width: 33.33333%;
    float: left;
    padding-left: 1.38889%;
    padding-right: 1.38889%; }
  .push-t-5 {
    margin-left: 41.66667%; }
  .grid-t-5 {
    display: block;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    width: 41.66667%;
    float: left;
    padding-left: 1.38889%;
    padding-right: 1.38889%; }
  .push-t-6 {
    margin-left: 50%; }
  .grid-t-6 {
    display: block;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    width: 50%;
    float: left;
    padding-left: 1.38889%;
    padding-right: 1.38889%; }
  .push-t-7 {
    margin-left: 58.33333%; }
  .grid-t-7 {
    display: block;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    width: 58.33333%;
    float: left;
    padding-left: 1.38889%;
    padding-right: 1.38889%; }
  .push-t-8 {
    margin-left: 66.66667%; }
  .grid-t-8 {
    display: block;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    width: 66.66667%;
    float: left;
    padding-left: 1.38889%;
    padding-right: 1.38889%; }
  .push-t-9 {
    margin-left: 75%; }
  .grid-t-9 {
    display: block;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    width: 75%;
    float: left;
    padding-left: 1.38889%;
    padding-right: 1.38889%; }
  .push-t-10 {
    margin-left: 83.33333%; }
  .grid-t-10 {
    display: block;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    width: 83.33333%;
    float: left;
    padding-left: 1.38889%;
    padding-right: 1.38889%; }
  .push-t-11 {
    margin-left: 91.66667%; }
  .grid-t-11 {
    display: block;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    width: 91.66667%;
    float: left;
    padding-left: 1.38889%;
    padding-right: 1.38889%; }
  .push-t-12 {
    margin-left: 100%; }
  .grid-t-12 {
    display: block;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    width: 100%;
    float: left;
    padding-left: 1.38889%;
    padding-right: 1.38889%; }
  .grid-t-hide {
    display: none; } }

@media (min-width: 900px) {
    .grid {
      padding-left: 40px;
      padding-right: 40px; } }

@media (min-width: 1040px) {
  .push-d-1 {
    margin-left: 8.33333%; }
  .grid-d-1 {
    display: block;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    width: 8.33333%;
    float: left;
    padding-left: 1.38889%;
    padding-right: 1.38889%; }
  .push-d-2 {
    margin-left: 16.66667%; }
  .grid-d-2 {
    display: block;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    width: 16.66667%;
    float: left;
    padding-left: 1.38889%;
    padding-right: 1.38889%; }
  .push-d-3 {
    margin-left: 25%; }
  .grid-d-3 {
    display: block;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    width: 25%;
    float: left;
    padding-left: 1.38889%;
    padding-right: 1.38889%; }
  .push-d-4 {
    margin-left: 33.33333%; }
  .grid-d-4 {
    display: block;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    width: 33.33333%;
    float: left;
    padding-left: 1.38889%;
    padding-right: 1.38889%; }
  .push-d-5 {
    margin-left: 41.66667%; }
  .grid-d-5 {
    display: block;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    width: 41.66667%;
    float: left;
    padding-left: 1.38889%;
    padding-right: 1.38889%; }
  .push-d-6 {
    margin-left: 50%; }
  .grid-d-6 {
    display: block;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    width: 50%;
    float: left;
    padding-left: 1.38889%;
    padding-right: 1.38889%; }
  .push-d-7 {
    margin-left: 58.33333%; }
  .grid-d-7 {
    display: block;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    width: 58.33333%;
    float: left;
    padding-left: 1.38889%;
    padding-right: 1.38889%; }
  .push-d-8 {
    margin-left: 66.66667%; }
  .grid-d-8 {
    display: block;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    width: 66.66667%;
    float: left;
    padding-left: 1.38889%;
    padding-right: 1.38889%; }
  .push-d-9 {
    margin-left: 75%; }
  .grid-d-9 {
    display: block;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    width: 75%;
    float: left;
    padding-left: 1.38889%;
    padding-right: 1.38889%; }
  .push-d-10 {
    margin-left: 83.33333%; }
  .grid-d-10 {
    display: block;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    width: 83.33333%;
    float: left;
    padding-left: 1.38889%;
    padding-right: 1.38889%; }
  .push-d-11 {
    margin-left: 91.66667%; }
  .grid-d-11 {
    display: block;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    width: 91.66667%;
    float: left;
    padding-left: 1.38889%;
    padding-right: 1.38889%; }
  .push-d-12 {
    margin-left: 100%; }
  .grid-d-12 {
    display: block;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    width: 100%;
    float: left;
    padding-left: 1.38889%;
    padding-right: 1.38889%; }
  .grid-d-hide {
    display: none; }
  .site-footer .site-nav {
    margin-bottom: 0; }
  .site-footer .secondary-nav {
    text-align: right; }
  .site-footer .site-nav {
    margin-bottom: 0; }
  .site-footer .secondary-nav {
    text-align: right; }
    .entry-content .module-header-1,
    .entry-content .module-break,
    .entry-content .canvas-module {
      margin-top: 80px; }
    .entry-content .module-header-1 {
      margin-bottom: 40px; }
    .entry-content .module-break {
      margin-bottom: 80px; }
    .entry-content .button-module {
      margin-top: 80px;
      margin-bottom: 160px; }
    .entry-content .slideshow-module {
      margin-top: 120px; } }

@media (max-width: 760px) {
  .push-m-1 {
    margin-left: 25%; }
  .grid-m-1 {
    display: block;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    width: 25%;
    float: left;
    padding-left: 4.16667%;
    padding-right: 4.16667%; }
  .push-m-2 {
    margin-left: 50%; }
  .grid-m-2 {
    display: block;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    width: 50%;
    float: left;
    padding-left: 4.16667%;
    padding-right: 4.16667%; }
  .push-m-3 {
    margin-left: 75%; }
  .grid-m-3 {
    display: block;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    width: 75%;
    float: left;
    padding-left: 4.16667%;
    padding-right: 4.16667%; }
  .push-m-4 {
    margin-left: 100%; }
  .grid-m-4 {
    display: block;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    width: 100%;
    float: left;
    padding-left: 4.16667%;
    padding-right: 4.16667%; }
  .grid-m-hide {
    display: none; }
    .site-header {
      position: fixed;
      top: 0 !important; }
  .site-header .site-nav .text-link {
    display: none;
    opacity: 0;
    -webkit-transform: translateY(-20px);
            transform: translateY(-20px);
    pointer-events: none; }
  .site-header .hamburger-icon-contain {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -ms-flex-line-pack: right;
        align-content: right;
    text-align: right; }
  .small-nav-display .mobile-nav-list {
    display: block; } }

/*# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNldHRpbmdzL19hbmltYXRpb24uc2NzcyIsInNldHRpbmdzL19ncmlkLnNjc3MiLCIuLi8uLi9ub2RlX21vZHVsZXMvc3VzeS9zYXNzL3N1c3kvb3V0cHV0L3N1cHBvcnQvX3JlbS5zY3NzIiwiLi4vLi4vbm9kZV9tb2R1bGVzL3N1c3kvc2Fzcy9zdXN5L2xhbmd1YWdlL3N1c3kvX2NvbnRhaW5lci5zY3NzIiwiLi4vLi4vbm9kZV9tb2R1bGVzL3N1c3kvc2Fzcy9zdXN5L291dHB1dC9zdXBwb3J0L19jbGVhcmZpeC5zY3NzIiwiZ2VuZXJpYy9fYm94LXNpemluZy5zY3NzIiwidmVuZG9yL19ub3JtYWxpemUuc2NzcyIsInN0eWxlLmNzcyIsImdlbmVyaWMvX3N2Zy5zY3NzIiwiYmFzZS9fYm9keS5zY3NzIiwic2V0dGluZ3MvX2ZvbnRzLnNjc3MiLCJiYXNlL190ZXh0LnNjc3MiLCJiYXNlL19idXR0b24uc2NzcyIsIm9iamVjdHMvX2dsb2JhbC1zdmcuc2NzcyIsIm9iamVjdHMvX3R5cG9ncmFwaHkuc2NzcyIsInNldHRpbmdzL19jb2xvcnMuc2NzcyIsIm9iamVjdHMvX2J1dHRvbi5zY3NzIiwidG9vbHMvX21peGlucy5zY3NzIiwib2JqZWN0cy9fZmllbGRzLnNjc3MiLCJvYmplY3RzL19iYWNrZ3JvdW5kLWltYWdlcnkuc2NzcyIsIm9iamVjdHMvX2VoLWxvZ28uc2NzcyIsImNvbXBvbmVudHMvX2xvYWRpbmctZ2F0ZS5zY3NzIiwidG9vbHMvX2Z1bmN0aW9ucy5zY3NzIiwiY29tcG9uZW50cy9fc2tpcC10by1jb250ZW50LnNjc3MiLCJjb21wb25lbnRzL19zaXRlLWhlYWRlci5zY3NzIiwiY29tcG9uZW50cy9fbW9iaWxlLW5hdi5zY3NzIiwiY29tcG9uZW50cy9fc2l0ZS1mb290ZXIuc2NzcyIsImNvbXBvbmVudHMvX3NpdGUtaGVyby5zY3NzIiwiY29tcG9uZW50cy9fcGFnZS1oZXJvLnNjc3MiLCIuLi8uLi9ub2RlX21vZHVsZXMvc2Nzcy1hc3BlY3QtcmF0aW8vX3Njc3MtYXNwZWN0LXJhdGlvLnNjc3MiLCJjb21wb25lbnRzL19saXN0aW5nLnNjc3MiLCJjb21wb25lbnRzL19lbnRyeS1jb250ZW50LnNjc3MiLCJ0aGVtZXMvX2hvbGlkYXkxOC5zY3NzIiwic3RhdGVzL19zbWFsbC1uYXYtb3Blbi5zY3NzIiwic3RhdGVzL19wYWdlLXRyYW5zaXRpb24uc2NzcyIsInN0YXRlcy9fcmVzZXQtc2Nyb2xsLnNjc3MiLCJzdGF0ZXMvX3BhZ2UtbG9ja2VkLnNjc3MiLCJzdGF0ZXMvX2xvZ2luLWZhaWxlZC5zY3NzIiwiLi4vLi4vbm9kZV9tb2R1bGVzL2JyZWFrcG9pbnQtc2Fzcy9zdHlsZXNoZWV0cy9fYnJlYWtwb2ludC5zY3NzIiwiLi4vLi4vbm9kZV9tb2R1bGVzL3N1c3kvc2Fzcy9zdXN5L2xhbmd1YWdlL3N1c3kvX3NwYW4uc2NzcyIsIi4uLy4uL25vZGVfbW9kdWxlcy9zdXN5L3Nhc3Mvc3VzeS9vdXRwdXQvc2hhcmVkL19kaXJlY3Rpb24uc2NzcyIsIi4uLy4uL25vZGVfbW9kdWxlcy9zdXN5L3Nhc3Mvc3VzeS9sYW5ndWFnZS9zdXN5L19ndXR0ZXJzLnNjc3MiLCJzdGF0ZXMvX3NtYWxsLW5hdi1kaXNwbGF5LnNjc3MiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBMkNBO0VBQ0U7SUFDRSwyQ0FBa0M7WUFBbEMsbUNBQWtDLEVBQUE7RUFHcEM7SUFDRSwwQ0FBaUM7WUFBakMsa0NBQWlDLEVBQUE7RUFHbkM7SUFDRSwyQ0FBa0M7WUFBbEMsbUNBQWtDLEVBQUE7RUFHcEM7SUFDRSwwQ0FBaUM7WUFBakMsa0NBQWlDLEVBQUEsRUFBQTs7QUFkckM7RUFDRTtJQUNFLDJDQUFrQztZQUFsQyxtQ0FBa0MsRUFBQTtFQUdwQztJQUNFLDBDQUFpQztZQUFqQyxrQ0FBaUMsRUFBQTtFQUduQztJQUNFLDJDQUFrQztZQUFsQyxtQ0FBa0MsRUFBQTtFQUdwQztJQUNFLDBDQUFpQztZQUFqQyxrQ0FBaUMsRUFBQSxFQUFBOztBQzlDckM7RUFD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QTBERyxpQkFBZ0I7TUFDaEIscUJBQW9CLEVBQUE7SUEzRHZCO01BOEZHLG1CQUFrQixFQUFBO0lBOUZyQjtNQXVHRyxjQUFhLEVBQUE7SUF2R2hCO01BdUpHLGtCQUFpQixFQUFBLEU5QnpIbkI7O0FxQ2tDRztFckNDRjtJQzlDRSxzQnFDd0kwQyxFQUFBO0V0Q3ZGNUM7SUFDQyxlQUFjO0lDbERiLCtCcUNENEQ7SXJDQzVELHVCcUNENEQ7SXJDQzVELGdCcUN3STBDO0lyQ3hJMUMsWXNDQTREO0l0Q0E1RCx1QnVDcUZzQjtJdkNyRnRCLHdCdUNxRnNCLEVBQUE7RXhDdkN4QjtJQzlDRSx1QnFDd0kwQyxFQUFBO0V0Q3ZGNUM7SUFDQyxlQUFjO0lDbERiLCtCcUNENEQ7SXJDQzVELHVCcUNENEQ7SXJDQzVELGlCcUN3STBDO0lyQ3hJMUMsWXNDQTREO0l0Q0E1RCx1QnVDcUZzQjtJdkNyRnRCLHdCdUNxRnNCLEVBQUE7RXhDdkN4QjtJQzlDRSxpQnFDd0kwQyxFQUFBO0V0Q3ZGNUM7SUFDQyxlQUFjO0lDbERiLCtCcUNENEQ7SXJDQzVELHVCcUNENEQ7SXJDQzVELFdxQ3dJMEM7SXJDeEkxQyxZc0NBNEQ7SXRDQTVELHVCdUNxRnNCO0l2Q3JGdEIsd0J1Q3FGc0IsRUFBQTtFeEN2Q3hCO0lDOUNFLHVCcUN3STBDLEVBQUE7RXRDdkY1QztJQUNDLGVBQWM7SUNsRGIsK0JxQ0Q0RDtJckNDNUQsdUJxQ0Q0RDtJckNDNUQsaUJxQ3dJMEM7SXJDeEkxQyxZc0NBNEQ7SXRDQTVELHVCdUNxRnNCO0l2Q3JGdEIsd0J1Q3FGc0IsRUFBQTtFeEN2Q3hCO0lDOUNFLHVCcUN3STBDLEVBQUE7RXRDdkY1QztJQUNDLGVBQWM7SUNsRGIsK0JxQ0Q0RDtJckNDNUQsdUJxQ0Q0RDtJckNDNUQsaUJxQ3dJMEM7SXJDeEkxQyxZc0NBNEQ7SXRDQTVELHVCdUNxRnNCO0l2Q3JGdEIsd0J1Q3FGc0IsRUFBQTtFeEN2Q3hCO0lDOUNFLGlCcUN3STBDLEVBQUE7RXRDdkY1QztJQUNDLGVBQWM7SUNsRGIsK0JxQ0Q0RDtJckNDNUQsdUJxQ0Q0RDtJckNDNUQsV3FDd0kwQztJckN4STFDLFlzQ0E0RDtJdENBNUQsdUJ1Q3FGc0I7SXZDckZ0Qix3QnVDcUZzQixFQUFBO0V4Q3ZDeEI7SUM5Q0UsdUJxQ3dJMEMsRUFBQTtFdEN2RjVDO0lBQ0MsZUFBYztJQ2xEYiwrQnFDRDREO0lyQ0M1RCx1QnFDRDREO0lyQ0M1RCxpQnFDd0kwQztJckN4STFDLFlzQ0E0RDtJdENBNUQsdUJ1Q3FGc0I7SXZDckZ0Qix3QnVDcUZzQixFQUFBO0V4Q3ZDeEI7SUM5Q0UsdUJxQ3dJMEMsRUFBQTtFdEN2RjVDO0lBQ0MsZUFBYztJQ2xEYiwrQnFDRDREO0lyQ0M1RCx1QnFDRDREO0lyQ0M1RCxpQnFDd0kwQztJckN4STFDLFlzQ0E0RDtJdENBNUQsdUJ1Q3FGc0I7SXZDckZ0Qix3QnVDcUZzQixFQUFBO0V4Q3ZDeEI7SUM5Q0UsaUJxQ3dJMEMsRUFBQTtFdEN2RjVDO0lBQ0MsZUFBYztJQ2xEYiwrQnFDRDREO0lyQ0M1RCx1QnFDRDREO0lyQ0M1RCxXcUN3STBDO0lyQ3hJMUMsWXNDQTREO0l0Q0E1RCx1QnVDcUZzQjtJdkNyRnRCLHdCdUNxRnNCLEVBQUE7RXhDdkN4QjtJQzlDRSx1QnFDd0kwQyxFQUFBO0V0Q3ZGNUM7SUFDQyxlQUFjO0lDbERiLCtCcUNENEQ7SXJDQzVELHVCcUNENEQ7SXJDQzVELGlCcUN3STBDO0lyQ3hJMUMsWXNDQTREO0l0Q0E1RCx1QnVDcUZzQjtJdkNyRnRCLHdCdUNxRnNCLEVBQUE7RXhDdkN4QjtJQzlDRSx1QnFDd0kwQyxFQUFBO0V0Q3ZGNUM7SUFDQyxlQUFjO0lDbERiLCtCcUNENEQ7SXJDQzVELHVCcUNENEQ7SXJDQzVELGlCcUN3STBDO0lyQ3hJMUMsWXNDQTREO0l0Q0E1RCx1QnVDcUZzQjtJdkNyRnRCLHdCdUNxRnNCLEVBQUE7RXhDdkN4QjtJQzlDRSxrQnFDd0kwQyxFQUFBO0V0Q3ZGNUM7SUFDQyxlQUFjO0lDbERiLCtCcUNENEQ7SXJDQzVELHVCcUNENEQ7SXJDQzVELFlxQ3dJMEM7SXJDeEkxQyxZc0NBNEQ7SXRDQTVELHVCdUNxRnNCO0l2Q3JGdEIsd0J1Q3FGc0IsRUFBQTtFeEMvQnpCO0lBQ0MsY0FBYSxFQUFBLEVBQ2I7O0FxQ1hFO0lyQzlDSjtNQVNFLG1CQUFrQjtNQUNsQixvQkFBbUIsRUFBQSxFQUVwQjs7QXFDa0NHO0VyQ2tCRjtJQy9ERSxzQnFDd0kwQyxFQUFBO0V0Q3RFNUM7SUFDQyxlQUFjO0lDbkViLCtCcUNENEQ7SXJDQzVELHVCcUNENEQ7SXJDQzVELGdCcUN3STBDO0lyQ3hJMUMsWXNDQTREO0l0Q0E1RCx1QnVDcUZzQjtJdkNyRnRCLHdCdUNxRnNCLEVBQUE7RXhDdEJ4QjtJQy9ERSx1QnFDd0kwQyxFQUFBO0V0Q3RFNUM7SUFDQyxlQUFjO0lDbkViLCtCcUNENEQ7SXJDQzVELHVCcUNENEQ7SXJDQzVELGlCcUN3STBDO0lyQ3hJMUMsWXNDQTREO0l0Q0E1RCx1QnVDcUZzQjtJdkNyRnRCLHdCdUNxRnNCLEVBQUE7RXhDdEJ4QjtJQy9ERSxpQnFDd0kwQyxFQUFBO0V0Q3RFNUM7SUFDQyxlQUFjO0lDbkViLCtCcUNENEQ7SXJDQzVELHVCcUNENEQ7SXJDQzVELFdxQ3dJMEM7SXJDeEkxQyxZc0NBNEQ7SXRDQTVELHVCdUNxRnNCO0l2Q3JGdEIsd0J1Q3FGc0IsRUFBQTtFeEN0QnhCO0lDL0RFLHVCcUN3STBDLEVBQUE7RXRDdEU1QztJQUNDLGVBQWM7SUNuRWIsK0JxQ0Q0RDtJckNDNUQsdUJxQ0Q0RDtJckNDNUQsaUJxQ3dJMEM7SXJDeEkxQyxZc0NBNEQ7SXRDQTVELHVCdUNxRnNCO0l2Q3JGdEIsd0J1Q3FGc0IsRUFBQTtFeEN0QnhCO0lDL0RFLHVCcUN3STBDLEVBQUE7RXRDdEU1QztJQUNDLGVBQWM7SUNuRWIsK0JxQ0Q0RDtJckNDNUQsdUJxQ0Q0RDtJckNDNUQsaUJxQ3dJMEM7SXJDeEkxQyxZc0NBNEQ7SXRDQTVELHVCdUNxRnNCO0l2Q3JGdEIsd0J1Q3FGc0IsRUFBQTtFeEN0QnhCO0lDL0RFLGlCcUN3STBDLEVBQUE7RXRDdEU1QztJQUNDLGVBQWM7SUNuRWIsK0JxQ0Q0RDtJckNDNUQsdUJxQ0Q0RDtJckNDNUQsV3FDd0kwQztJckN4STFDLFlzQ0E0RDtJdENBNUQsdUJ1Q3FGc0I7SXZDckZ0Qix3QnVDcUZzQixFQUFBO0V4Q3RCeEI7SUMvREUsdUJxQ3dJMEMsRUFBQTtFdEN0RTVDO0lBQ0MsZUFBYztJQ25FYiwrQnFDRDREO0lyQ0M1RCx1QnFDRDREO0lyQ0M1RCxpQnFDd0kwQztJckN4STFDLFlzQ0E0RDtJdENBNUQsdUJ1Q3FGc0I7SXZDckZ0Qix3QnVDcUZzQixFQUFBO0V4Q3RCeEI7SUMvREUsdUJxQ3dJMEMsRUFBQTtFdEN0RTVDO0lBQ0MsZUFBYztJQ25FYiwrQnFDRDREO0lyQ0M1RCx1QnFDRDREO0lyQ0M1RCxpQnFDd0kwQztJckN4STFDLFlzQ0E0RDtJdENBNUQsdUJ1Q3FGc0I7SXZDckZ0Qix3QnVDcUZzQixFQUFBO0V4Q3RCeEI7SUMvREUsaUJxQ3dJMEMsRUFBQTtFdEN0RTVDO0lBQ0MsZUFBYztJQ25FYiwrQnFDRDREO0lyQ0M1RCx1QnFDRDREO0lyQ0M1RCxXcUN3STBDO0lyQ3hJMUMsWXNDQTREO0l0Q0E1RCx1QnVDcUZzQjtJdkNyRnRCLHdCdUNxRnNCLEVBQUE7RXhDdEJ4QjtJQy9ERSx1QnFDd0kwQyxFQUFBO0V0Q3RFNUM7SUFDQyxlQUFjO0lDbkViLCtCcUNENEQ7SXJDQzVELHVCcUNENEQ7SXJDQzVELGlCcUN3STBDO0lyQ3hJMUMsWXNDQTREO0l0Q0E1RCx1QnVDcUZzQjtJdkNyRnRCLHdCdUNxRnNCLEVBQUE7RXhDdEJ4QjtJQy9ERSx1QnFDd0kwQyxFQUFBO0V0Q3RFNUM7SUFDQyxlQUFjO0lDbkViLCtCcUNENEQ7SXJDQzVELHVCcUNENEQ7SXJDQzVELGlCcUN3STBDO0lyQ3hJMUMsWXNDQTREO0l0Q0E1RCx1QnVDcUZzQjtJdkNyRnRCLHdCdUNxRnNCLEVBQUE7RXhDdEJ4QjtJQy9ERSxrQnFDd0kwQyxFQUFBO0V0Q3RFNUM7SUFDQyxlQUFjO0lDbkViLCtCcUNENEQ7SXJDQzVELHVCcUNENEQ7SXJDQzVELFlxQ3dJMEM7SXJDeEkxQyxZc0NBNEQ7SXRDQTVELHVCdUNxRnNCO0l2Q3JGdEIsd0J1Q3FGc0IsRUFBQTtFeENkekI7SUFDQyxjQUFhLEVBQUE7RXlCM0ZmO0lBNkJHLGlCQUNELEVBQUE7RUE5QkY7SUFrQ0csa0JBQWlCLEVBQUE7RUFsQ3BCO0lBNkJHLGlCQUNELEVBQUE7RUE5QkY7SUFrQ0csa0JBQWlCLEVBQUE7SUtsQ3BCOzs7TUFpQkcsaUJBQWdCLEVBQUE7SUFqQm5CO01BMEJHLG9CQUFtQixFQUFBO0lBMUJ0QjtNQW1DRyxvQkFBbUIsRUFBQTtJQW5DdEI7TUE4REcsaUJBQWdCO01BQ2hCLHFCQUFvQixFQUFBO0lBL0R2QjtNQTBKRyxrQkFBaUIsRUFBQSxFOUI5RGxCOztBcUM1QkU7RXJDaEJGO0lDN0JFLGlCcUN3STBDLEVBQUE7RXRDeEc1QztJQUNDLGVBQWM7SUNqQ2IsK0JxQ0Q0RDtJckNDNUQsdUJxQ0Q0RDtJckNDNUQsV3FDd0kwQztJckN4STFDLFlzQ0E0RDtJdENBNUQsdUJ1Q3FGc0I7SXZDckZ0Qix3QnVDcUZzQixFQUFBO0V4Q3hEeEI7SUM3QkUsaUJxQ3dJMEMsRUFBQTtFdEN4RzVDO0lBQ0MsZUFBYztJQ2pDYiwrQnFDRDREO0lyQ0M1RCx1QnFDRDREO0lyQ0M1RCxXcUN3STBDO0lyQ3hJMUMsWXNDQTREO0l0Q0E1RCx1QnVDcUZzQjtJdkNyRnRCLHdCdUNxRnNCLEVBQUE7RXhDeER4QjtJQzdCRSxpQnFDd0kwQyxFQUFBO0V0Q3hHNUM7SUFDQyxlQUFjO0lDakNiLCtCcUNENEQ7SXJDQzVELHVCcUNENEQ7SXJDQzVELFdxQ3dJMEM7SXJDeEkxQyxZc0NBNEQ7SXRDQTVELHVCdUNxRnNCO0l2Q3JGdEIsd0J1Q3FGc0IsRUFBQTtFeEN4RHhCO0lDN0JFLGtCcUN3STBDLEVBQUE7RXRDeEc1QztJQUNDLGVBQWM7SUNqQ2IsK0JxQ0Q0RDtJckNDNUQsdUJxQ0Q0RDtJckNDNUQsWXFDd0kwQztJckN4STFDLFlzQ0E0RDtJdENBNUQsdUJ1Q3FGc0I7SXZDckZ0Qix3QnVDcUZzQixFQUFBO0V4Q2hEekI7SUFDQyxjQUFhLEVBQUE7SXVCekRmO01BV0csZ0JBQWU7TUFDZixrQkFBaUIsRUFBQTtFQVpwQjtJQW1KRyxjQUFhO0lBQ2IsV0FBVTtJQUNWLHFDQUE0QjtZQUE1Qiw2QkFBNEI7SUFDNUIscUJBQW9CLEVBQUE7RUF0SnZCO0lBb0xHLHFCQUFhO0lBQWIscUJBQWE7SUFBYixjQUFhO0lBQ2Isb0JBQWU7UUFBZixnQkFBZTtJQUNmLDBCQUFtQjtRQUFuQix1QkFBbUI7WUFBbkIsb0JBQW1CO0lBQ25CLDBCQUFvQjtRQUFwQixxQkFBb0I7SUFDcEIsa0JBQWlCLEVBQUE7RWtCeExwQjtJQUlJLGVBQWMsRUFBQSxFekNzRGhCIiwiZmlsZSI6InN0eWxlLmNzcyIsInNvdXJjZXNDb250ZW50IjpbIi8vIENoZWNrIG91dCBodHRwOi8vZWFzaW5ncy5uZXQvIGZvciBleGFtcGxlc1xuXG4vLyBTaW5lXG4kZWFzZUluU2luZTogY3ViaWMtYmV6aWVyKDAuNDcsIDAsIDAuNzQ1LCAwLjcxNSk7XG4kZWFzZU91dFNpbmU6IGN1YmljLWJlemllcigwLjM5LCAwLjU3NSwgMC41NjUsIDEpO1xuJGVhc2VJbk91dFNpbmU6IGN1YmljLWJlemllcigwLjQ0NSwgMC4wNSwgMC41NSwgMC45NSk7XG5cbi8vIFF1YWRcbiRlYXNlSW5RdWFkOiBjdWJpYy1iZXppZXIoMC41NSwgMC4wODUsIDAuNjgsIDAuNTMpO1xuJGVhc2VPdXRRdWFkOiBjdWJpYy1iZXppZXIoMC4yNSwgMC40NiwgMC40NSwgMC45NCk7XG4kZWFzZUluT3V0UXVhZDogY3ViaWMtYmV6aWVyKDAuNDU1LCAwLjAzLCAwLjUxNSwgMC45NTUpO1xuXG4vLyBDdWJpY1xuJGVhc2VJbkN1YmljOiBjdWJpYy1iZXppZXIoMC41NSwgMC4wNTUsIDAuNjc1LCAwLjE5KTtcbiRlYXNlT3V0Q3ViaWM6IGN1YmljLWJlemllcigwLjIxNSwgMC42MSwgMC4zNTUsIDEpO1xuJGVhc2VJbk91dEN1YmljOiBjdWJpYy1iZXppZXIoMC42NDUsIDAuMDQ1LCAwLjM1NSwgMSk7XG5cbi8vIFF1YXJ0XG4kZWFzZUluUXVhcnQ6IGN1YmljLWJlemllcigwLjg5NSwgMC4wMywgMC42ODUsIDAuMjIpO1xuJGVhc2VPdXRRdWFydDogY3ViaWMtYmV6aWVyKDAuMTY1LCAwLjg0LCAwLjQ0LCAxKTtcbiRlYXNlSW5PdXRRdWFydDogY3ViaWMtYmV6aWVyKDAuNzcsIDAsIDAuMTc1LCAxKTtcblxuLy8gUXVpbnRcbiRlYXNlSW5RdWludDogY3ViaWMtYmV6aWVyKDAuNzU1LCAwLjA1LCAwLjg1NSwgMC4wNik7XG4kZWFzZU91dFF1aW50OiBjdWJpYy1iZXppZXIoMC4yMywgMSwgMC4zMiwgMSk7XG4kZWFzZUluT3V0UXVpbnQ6IGN1YmljLWJlemllcigwLjg2LCAwLCAwLjA3LCAxKTtcblxuLy8gRXhwb1xuJGVhc2VJbkV4cG86IGN1YmljLWJlemllcigwLjk1LCAwLjA1LCAwLjc5NSwgMC4wMzUpO1xuJGVhc2VPdXRFeHBvOiBjdWJpYy1iZXppZXIoMC4xOSwgMSwgMC4yMiwgMSk7XG4kZWFzZUluT3V0RXhwbzogY3ViaWMtYmV6aWVyKDEsIDAsIDAsIDEpO1xuXG4vLyBDaXJjXG4kZWFzZUluQ2lyYzogY3ViaWMtYmV6aWVyKDAuNiwgMC4wNCwgMC45OCwgMC4zMzUpO1xuJGVhc2VPdXRDaXJjOiBjdWJpYy1iZXppZXIoMC4wNzUsIDAuODIsIDAuMTY1LCAxKTtcbiRlYXNlSW5PdXRDaXJjOiBjdWJpYy1iZXppZXIoMC43ODUsIDAuMTM1LCAwLjE1LCAwLjg2KTtcblxuLy8gQmFja1xuJGVhc2VJbkJhY2s6IGN1YmljLWJlemllcigwLjYsIC0wLjI4LCAwLjczNSwgMC4wNDUpO1xuJGVhc2VPdXRCYWNrOiBjdWJpYy1iZXppZXIoMC4xNzUsIDAuODg1LCAwLjMyLCAxLjI3NSk7XG4kZWFzZUluT3V0QmFjazogY3ViaWMtYmV6aWVyKDAuNjgsIC0wLjU1LCAwLjI2NSwgMS41NSk7XG5cbi8vIHNoYWtlXG5Aa2V5ZnJhbWVzIHNoYWtlIHtcbiAgMTAlLCA5MCUge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTFweCwgMCwgMCk7XG4gIH1cblxuICAyMCUsIDgwJSB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgycHgsIDAsIDApO1xuICB9XG5cbiAgMzAlLCA1MCUsIDcwJSB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtNHB4LCAwLCAwKTtcbiAgfVxuXG4gIDQwJSwgNjAlIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDRweCwgMCwgMCk7XG4gIH1cbn1cbiIsIiRjb2x1bW5zLWRlc2t0b3A6IDEyO1xuJGNvbHVtbnMtdGFibGV0OiAxMjtcbiRjb2x1bW5zLW1vYmlsZTogNDtcbiRncmlkLWd1dHRlcjogNDBweDtcbiRndXR0ZXI6ICRncmlkLWd1dHRlcjtcbiRjb2wtZ3V0dGVyOiAyLzQ7XG4kbWF4LXdpZHRoOiAxMjAwcHg7XG4kc21hbGwtbmF2LWhlaWdodDogNjRweDtcblxuXG4vLyBjbGVhcmZpeFxuLmNsZWFyZml4OmFmdGVyIHtcblx0Y29udGVudDogXCJcIjtcblx0ZGlzcGxheTogdGFibGU7XG5cdGNsZWFyOiBib3RoO1xufVxuXG4vLyBncmlkXG4uZ3JpZHtcblx0QGluY2x1ZGUgY29udGFpbmVyO1xuXHRAZXh0ZW5kIC5jbGVhcmZpeDtcblx0bWF4LXdpZHRoOiAkbWF4LXdpZHRoO1xuXHRAaW5jbHVkZSBicmVha3BvaW50KCRzbWFsbCl7XG5cdFx0cGFkZGluZy1sZWZ0OiAyMHB4O1xuXHRcdHBhZGRpbmctcmlnaHQ6IDIwcHg7XG5cdH1cblx0QGluY2x1ZGUgYnJlYWtwb2ludCgkbWVkaXVtKXtcblx0XHRwYWRkaW5nLWxlZnQ6IDQwcHg7XG5cdFx0cGFkZGluZy1yaWdodDogNDBweDtcblx0fVxufVxuXG4vLyByb3dcbi5yb3d7XG5cdEBleHRlbmQgLmNsZWFyZml4O1xuICBkaXNwbGF5OiBmbGV4O1xuXHRmbGV4LXdyYXA6IHdyYXA7XG5cdHdpZHRoOiAxMDAlO1xuXHRAaW5jbHVkZSBicmVha3BvaW50KCRzbWFsbCl7XG5cdFx0cGFkZGluZy1sZWZ0OiAkZ3JpZC1ndXR0ZXI7XG5cdFx0cGFkZGluZy1yaWdodDogJGdyaWQtZ3V0dGVyO1xuXHR9XG59XG5cbi8vIG1vYmlsZSBncmlkXG5AaW5jbHVkZSBicmVha3BvaW50KCRzbWFsbC1kb3duKXtcblx0QGluY2x1ZGUgbGF5b3V0KChjb2x1bW5zOiAkY29sdW1ucy1tb2JpbGUsIGd1dHRlcnM6ICRjb2wtZ3V0dGVyLCBndXR0ZXItcG9zaXRpb246IGluc2lkZSkpO1xuXHRAZm9yICRpIGZyb20gMSB0aHJvdWdoICRjb2x1bW5zLW1vYmlsZSB7XG5cdFx0LnB1c2gtbS0jeyRpfXtcblx0XHRcdEBpbmNsdWRlIHB1c2goJGkgb2YgJGNvbHVtbnMtbW9iaWxlKTtcblx0XHR9XG5cdFx0LmdyaWQtbS0jeyRpfXtcblx0XHRcdGRpc3BsYXk6IGJsb2NrO1xuXHRcdFx0QGluY2x1ZGUgc3BhbigkaSk7XG5cdFx0fVxuXHR9XG5cdC5ncmlkLW0taGlkZXtcblx0XHRkaXNwbGF5OiBub25lO1xuXHR9XG59XG5cbi8vIHRhYmxldCBncmlkXG5AaW5jbHVkZSBicmVha3BvaW50KCgkc21hbGwpKCRsYXJnZS1kb3duKSl7XG5cdEBpbmNsdWRlIGxheW91dCgoY29sdW1uczogJGNvbHVtbnMtdGFibGV0LCBndXR0ZXJzOiAkY29sLWd1dHRlciwgZ3V0dGVyLXBvc2l0aW9uOiBpbnNpZGUpKTtcblx0QGZvciAkaSBmcm9tIDEgdGhyb3VnaCAkY29sdW1ucy10YWJsZXQge1xuXHRcdC5wdXNoLXQtI3skaX17XG5cdFx0XHRAaW5jbHVkZSBwdXNoKCRpIG9mICRjb2x1bW5zLXRhYmxldCk7XG5cdFx0fVxuXHRcdC5ncmlkLXQtI3skaX17XG5cdFx0XHRkaXNwbGF5OiBibG9jaztcblx0XHRcdEBpbmNsdWRlIHNwYW4oJGkpO1xuXHRcdH1cblx0fVxuXHQuZ3JpZC10LWhpZGV7XG5cdFx0ZGlzcGxheTogbm9uZTtcblx0fVxufVxuXG4vLyBkZXNrdG9wIGdyaWRcbkBpbmNsdWRlIGJyZWFrcG9pbnQoJGxhcmdlKXtcblx0QGluY2x1ZGUgbGF5b3V0KChjb2x1bW5zOiAkY29sdW1ucy1kZXNrdG9wLCBndXR0ZXJzOiAkY29sLWd1dHRlciwgZ3V0dGVyLXBvc2l0aW9uOiBpbnNpZGUpKTtcblx0QGZvciAkaSBmcm9tIDEgdGhyb3VnaCAkY29sdW1ucy1kZXNrdG9wIHtcblx0XHQucHVzaC1kLSN7JGl9e1xuXHRcdFx0QGluY2x1ZGUgcHVzaCgkaSBvZiAkY29sdW1ucy1kZXNrdG9wKTtcblx0XHR9XG5cdFx0LmdyaWQtZC0jeyRpfXtcblx0XHRcdGRpc3BsYXk6IGJsb2NrO1xuXHRcdFx0QGluY2x1ZGUgc3BhbigkaSk7XG5cdFx0fVxuXHR9XG5cdC5ncmlkLWQtaGlkZXtcblx0XHRkaXNwbGF5OiBub25lO1xuXHR9XG59XG4iLCIvLyByZW0gU3VwcG9ydFxuLy8gPT09PT09PT09PT1cblxuLy8gcmVtXG4vLyAtLS1cbi8vIENoZWNrIGZvciBhbiBleGlzdGluZyBzdXBwb3J0IG1peGluLCBvciBvdXRwdXQgZGlyZWN0bHkuXG4vLyAtICRwcm9wICA6IDxjc3MgcHJvcGVydHk+XG4vLyAtICR2YWwgICA6IDxjc3MgdmFsdWU+XG5AbWl4aW4gc3VzeS1yZW0oXG4gICRwcm9wLFxuICAkdmFsXG4pIHtcbiAgJF9yZXFzOiAoXG4gICAgdmFyaWFibGU6IHJoeXRobS11bml0IHJlbS13aXRoLXB4LWZhbGxiYWNrLFxuICAgIG1peGluOiByZW0sXG4gICk7XG4gIEBpZiBzdXN5LXN1cHBvcnQocmVtLCAkX3JlcXMsICR3YXJuOiBmYWxzZSkgYW5kICRyaHl0aG0tdW5pdCA9PSByZW0ge1xuICAgIEBpbmNsdWRlIHJlbSgkcHJvcCwgJHZhbCk7XG4gIH0gQGVsc2Uge1xuICAgICN7JHByb3B9OiAkdmFsO1xuICB9XG59XG4iLCIvLyBDb250YWluZXIgU3ludGF4XG4vLyA9PT09PT09PT09PT09PT09XG5cbi8vIENvbnRhaW5lciBbbWl4aW5dXG4vLyAtLS0tLS0tLS0tLS0tLS0tLVxuLy8gU2V0IGEgY29udGFpbmVyIGVsZW1lbnRcbi8vIC0gWyRsYXlvdXRdICA6IDxzZXR0aW5ncz5cbkBtaXhpbiBjb250YWluZXIoXG4gICRsYXlvdXQ6ICRzdXN5XG4pIHtcbiAgJGluc3BlY3QgICAgOiAkbGF5b3V0O1xuICAkbGF5b3V0ICAgICA6IHBhcnNlLWdyaWQoJGxheW91dCk7XG5cbiAgJF93aWR0aCAgICAgOiBnZXQtY29udGFpbmVyLXdpZHRoKCRsYXlvdXQpO1xuICAkX2p1c3RpZnkgICA6IHBhcnNlLWNvbnRhaW5lci1wb3NpdGlvbihzdXN5LWdldChjb250YWluZXItcG9zaXRpb24sICRsYXlvdXQpKTtcbiAgJF9wcm9wZXJ0eSAgOiBpZihzdXN5LWdldChtYXRoLCAkbGF5b3V0KSA9PSBzdGF0aWMsIHdpZHRoLCBtYXgtd2lkdGgpO1xuXG4gICRfYm94ICAgICAgIDogc3VzeS1nZXQoYm94LXNpemluZywgJGxheW91dCk7XG5cbiAgQGlmICRfYm94IHtcbiAgICBAaW5jbHVkZSBvdXRwdXQoKGJveC1zaXppbmc6ICRfYm94KSk7XG4gIH1cblxuICBAaW5jbHVkZSBzdXN5LWluc3BlY3QoY29udGFpbmVyLCAkaW5zcGVjdCk7XG4gIEBpbmNsdWRlIGZsb2F0LWNvbnRhaW5lcigkX3dpZHRoLCAkX2p1c3RpZnksICRfcHJvcGVydHkpO1xuICBAaW5jbHVkZSBzaG93LWdyaWQoJGxheW91dCk7XG59XG5cbi8vIENvbnRhaW5lciBbZnVuY3Rpb25dXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLVxuLy8gUmV0dXJuIGNvbnRhaW5lciB3aWR0aFxuLy8gLSBbJGxheW91dF0gIDogPHNldHRpbmdzPlxuQGZ1bmN0aW9uIGNvbnRhaW5lcihcbiAgJGxheW91dDogJHN1c3lcbikge1xuICAkbGF5b3V0OiBwYXJzZS1ncmlkKCRsYXlvdXQpO1xuICBAcmV0dXJuIGdldC1jb250YWluZXItd2lkdGgoJGxheW91dCk7XG59XG5cbi8vIEdldCBDb250YWluZXIgV2lkdGhcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS1cbi8vIENhbGN1bGF0ZSB0aGUgY29udGFpbmVyIHdpZHRoXG4vLyAtIFskbGF5b3V0XTogPHNldHRpbmdzPlxuQGZ1bmN0aW9uIGdldC1jb250YWluZXItd2lkdGgoXG4gICRsYXlvdXQ6ICRzdXN5XG4pIHtcbiAgJGxheW91dCAgICAgICAgIDogcGFyc2UtZ3JpZCgkbGF5b3V0KTtcbiAgJF93aWR0aCAgICAgICAgIDogc3VzeS1nZXQoY29udGFpbmVyLCAkbGF5b3V0KTtcbiAgJF9jb2x1bW4td2lkdGggIDogc3VzeS1nZXQoY29sdW1uLXdpZHRoLCAkbGF5b3V0KTtcbiAgJF9tYXRoICAgICAgICAgIDogc3VzeS1nZXQobWF0aCwgJGxheW91dCk7XG5cbiAgQGlmIG5vdCgkX3dpZHRoKSBvciAkX3dpZHRoID09IGF1dG8ge1xuICAgIEBpZiB2YWxpZC1jb2x1bW4tbWF0aCgkX21hdGgsICRfY29sdW1uLXdpZHRoKSB7XG4gICAgICAkX2NvbHVtbnMgICA6IHN1c3ktZ2V0KGNvbHVtbnMsICRsYXlvdXQpO1xuICAgICAgJF9ndXR0ZXJzICAgOiBzdXN5LWdldChndXR0ZXJzLCAkbGF5b3V0KTtcbiAgICAgICRfc3ByZWFkICAgIDogaWYoaXMtc3BsaXQoJGxheW91dCksIHdpZGUsIG5hcnJvdyk7XG4gICAgICAkX3dpZHRoICAgICA6IHN1c3ktc3VtKCRfY29sdW1ucywgJF9ndXR0ZXJzLCAkX3NwcmVhZCkgKiAkX2NvbHVtbi13aWR0aDtcbiAgICB9IEBlbHNlIHtcbiAgICAgICRfd2lkdGg6IDEwMCU7XG4gICAgfVxuICB9XG5cbiAgQHJldHVybiAkX3dpZHRoO1xufVxuXG4vLyBQYXJzZSBDb250YWluZXIgUG9zaXRpb25cbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuLy8gUGFyc2UgdGhlICRjb250YWluZXItcG9zaXRpb24gaW50byBtYXJnaW4gdmFsdWVzLlxuLy8gLSBbJGp1c3RpZnldICAgOiBsZWZ0IHwgY2VudGVyIHwgcmlnaHQgfCA8bGVuZ3RoPiBbPGxlbmd0aD5dXG5AZnVuY3Rpb24gcGFyc2UtY29udGFpbmVyLXBvc2l0aW9uKFxuICAkanVzdGlmeTogbWFwLWdldCgkc3VzeS1kZWZhdWx0cywgY29udGFpbmVyLXBvc2l0aW9uKVxuKSB7XG4gICRfcmV0dXJuOiBpZigkanVzdGlmeSA9PSBsZWZ0LCAwLCBhdXRvKSBpZigkanVzdGlmeSA9PSByaWdodCwgMCwgYXV0byk7XG5cbiAgQGlmIG5vdChpbmRleChsZWZ0IHJpZ2h0IGNlbnRlciwgJGp1c3RpZnkpKSB7XG4gICAgJF9yZXR1cm46IG50aCgkanVzdGlmeSwgMSk7XG4gICAgJF9yZXR1cm46ICRfcmV0dXJuIGlmKGxlbmd0aCgkanVzdGlmeSkgPiAxLCBudGgoJGp1c3RpZnksIDIpLCAkX3JldHVybik7XG4gIH1cblxuICBAcmV0dXJuICRfcmV0dXJuO1xufVxuIiwiLy8gU3VzeSBGYWxsYmFjayBDbGVhcmZpeFxuLy8gPT09PT09PT09PT09PT09PT09PT09PVxuXG5cbi8vIENsZWFyZml4XG4vLyAtLS0tLS0tLVxuLy8gQ2hlY2sgZm9yIGFuIGV4aXN0aW5nIHN1cHBvcnQgbWl4aW4sIG9yIHByb3ZpZGUgYSBzaW1wbGUgZmFsbGJhY2suXG5AbWl4aW4gc3VzeS1jbGVhcmZpeCB7XG4gIEBpZiBzdXN5LXN1cHBvcnQoY2xlYXJmaXgsIChtaXhpbjogY2xlYXJmaXgpKSB7XG4gICAgQGluY2x1ZGUgY2xlYXJmaXg7XG4gIH0gQGVsc2Uge1xuICAgICY6YWZ0ZXIge1xuICAgICAgY29udGVudDogXCIgXCI7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIGNsZWFyOiBib3RoO1xuICAgIH1cbiAgfVxufVxuIiwiaHRtbHtcblx0Ym94LXNpemluZzogYm9yZGVyLWJveDtcbn1cbmh0bWwgKntcblx0Ym94LXNpemluZzogaW5oZXJpdDtcbn1cbiIsIi8qISBub3JtYWxpemUuY3NzIHY4LjAuMSB8IE1JVCBMaWNlbnNlIHwgZ2l0aHViLmNvbS9uZWNvbGFzL25vcm1hbGl6ZS5jc3MgKi9cblxuLyogRG9jdW1lbnRcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qKlxuICogMS4gQ29ycmVjdCB0aGUgbGluZSBoZWlnaHQgaW4gYWxsIGJyb3dzZXJzLlxuICogMi4gUHJldmVudCBhZGp1c3RtZW50cyBvZiBmb250IHNpemUgYWZ0ZXIgb3JpZW50YXRpb24gY2hhbmdlcyBpbiBpT1MuXG4gKi9cblxuaHRtbCB7XG4gIGxpbmUtaGVpZ2h0OiAxLjE1OyAvKiAxICovXG4gIC13ZWJraXQtdGV4dC1zaXplLWFkanVzdDogMTAwJTsgLyogMiAqL1xufVxuXG4vKiBTZWN0aW9uc1xuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLyoqXG4gKiBSZW1vdmUgdGhlIG1hcmdpbiBpbiBhbGwgYnJvd3NlcnMuXG4gKi9cblxuYm9keSB7XG4gIG1hcmdpbjogMDtcbn1cblxuLyoqXG4gKiBSZW5kZXIgdGhlIGBtYWluYCBlbGVtZW50IGNvbnNpc3RlbnRseSBpbiBJRS5cbiAqL1xuXG5tYWluIHtcbiAgZGlzcGxheTogYmxvY2s7XG59XG5cbi8qKlxuICogQ29ycmVjdCB0aGUgZm9udCBzaXplIGFuZCBtYXJnaW4gb24gYGgxYCBlbGVtZW50cyB3aXRoaW4gYHNlY3Rpb25gIGFuZFxuICogYGFydGljbGVgIGNvbnRleHRzIGluIENocm9tZSwgRmlyZWZveCwgYW5kIFNhZmFyaS5cbiAqL1xuXG5oMSB7XG4gIGZvbnQtc2l6ZTogMmVtO1xuICBtYXJnaW46IDAuNjdlbSAwO1xufVxuXG4vKiBHcm91cGluZyBjb250ZW50XG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKipcbiAqIDEuIEFkZCB0aGUgY29ycmVjdCBib3ggc2l6aW5nIGluIEZpcmVmb3guXG4gKiAyLiBTaG93IHRoZSBvdmVyZmxvdyBpbiBFZGdlIGFuZCBJRS5cbiAqL1xuXG5ociB7XG4gIGJveC1zaXppbmc6IGNvbnRlbnQtYm94OyAvKiAxICovXG4gIGhlaWdodDogMDsgLyogMSAqL1xuICBvdmVyZmxvdzogdmlzaWJsZTsgLyogMiAqL1xufVxuXG4vKipcbiAqIDEuIENvcnJlY3QgdGhlIGluaGVyaXRhbmNlIGFuZCBzY2FsaW5nIG9mIGZvbnQgc2l6ZSBpbiBhbGwgYnJvd3NlcnMuXG4gKiAyLiBDb3JyZWN0IHRoZSBvZGQgYGVtYCBmb250IHNpemluZyBpbiBhbGwgYnJvd3NlcnMuXG4gKi9cblxucHJlIHtcbiAgZm9udC1mYW1pbHk6IG1vbm9zcGFjZSwgbW9ub3NwYWNlOyAvKiAxICovXG4gIGZvbnQtc2l6ZTogMWVtOyAvKiAyICovXG59XG5cbi8qIFRleHQtbGV2ZWwgc2VtYW50aWNzXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKipcbiAqIFJlbW92ZSB0aGUgZ3JheSBiYWNrZ3JvdW5kIG9uIGFjdGl2ZSBsaW5rcyBpbiBJRSAxMC5cbiAqL1xuXG5hIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG59XG5cbi8qKlxuICogMS4gUmVtb3ZlIHRoZSBib3R0b20gYm9yZGVyIGluIENocm9tZSA1Ny1cbiAqIDIuIEFkZCB0aGUgY29ycmVjdCB0ZXh0IGRlY29yYXRpb24gaW4gQ2hyb21lLCBFZGdlLCBJRSwgT3BlcmEsIGFuZCBTYWZhcmkuXG4gKi9cblxuYWJiclt0aXRsZV0ge1xuICBib3JkZXItYm90dG9tOiBub25lOyAvKiAxICovXG4gIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lOyAvKiAyICovXG4gIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lIGRvdHRlZDsgLyogMiAqL1xufVxuXG4vKipcbiAqIEFkZCB0aGUgY29ycmVjdCBmb250IHdlaWdodCBpbiBDaHJvbWUsIEVkZ2UsIGFuZCBTYWZhcmkuXG4gKi9cblxuYixcbnN0cm9uZyB7XG4gIGZvbnQtd2VpZ2h0OiBib2xkZXI7XG59XG5cbi8qKlxuICogMS4gQ29ycmVjdCB0aGUgaW5oZXJpdGFuY2UgYW5kIHNjYWxpbmcgb2YgZm9udCBzaXplIGluIGFsbCBicm93c2Vycy5cbiAqIDIuIENvcnJlY3QgdGhlIG9kZCBgZW1gIGZvbnQgc2l6aW5nIGluIGFsbCBicm93c2Vycy5cbiAqL1xuXG5jb2RlLFxua2JkLFxuc2FtcCB7XG4gIGZvbnQtZmFtaWx5OiBtb25vc3BhY2UsIG1vbm9zcGFjZTsgLyogMSAqL1xuICBmb250LXNpemU6IDFlbTsgLyogMiAqL1xufVxuXG4vKipcbiAqIEFkZCB0aGUgY29ycmVjdCBmb250IHNpemUgaW4gYWxsIGJyb3dzZXJzLlxuICovXG5cbnNtYWxsIHtcbiAgZm9udC1zaXplOiA4MCU7XG59XG5cbi8qKlxuICogUHJldmVudCBgc3ViYCBhbmQgYHN1cGAgZWxlbWVudHMgZnJvbSBhZmZlY3RpbmcgdGhlIGxpbmUgaGVpZ2h0IGluXG4gKiBhbGwgYnJvd3NlcnMuXG4gKi9cblxuc3ViLFxuc3VwIHtcbiAgZm9udC1zaXplOiA3NSU7XG4gIGxpbmUtaGVpZ2h0OiAwO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHZlcnRpY2FsLWFsaWduOiBiYXNlbGluZTtcbn1cblxuc3ViIHtcbiAgYm90dG9tOiAtMC4yNWVtO1xufVxuXG5zdXAge1xuICB0b3A6IC0wLjVlbTtcbn1cblxuLyogRW1iZWRkZWQgY29udGVudFxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLyoqXG4gKiBSZW1vdmUgdGhlIGJvcmRlciBvbiBpbWFnZXMgaW5zaWRlIGxpbmtzIGluIElFIDEwLlxuICovXG5cbmltZyB7XG4gIGJvcmRlci1zdHlsZTogbm9uZTtcbn1cblxuLyogRm9ybXNcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qKlxuICogMS4gQ2hhbmdlIHRoZSBmb250IHN0eWxlcyBpbiBhbGwgYnJvd3NlcnMuXG4gKiAyLiBSZW1vdmUgdGhlIG1hcmdpbiBpbiBGaXJlZm94IGFuZCBTYWZhcmkuXG4gKi9cblxuYnV0dG9uLFxuaW5wdXQsXG5vcHRncm91cCxcbnNlbGVjdCxcbnRleHRhcmVhIHtcbiAgZm9udC1mYW1pbHk6IGluaGVyaXQ7IC8qIDEgKi9cbiAgZm9udC1zaXplOiAxMDAlOyAvKiAxICovXG4gIGxpbmUtaGVpZ2h0OiAxLjE1OyAvKiAxICovXG4gIG1hcmdpbjogMDsgLyogMiAqL1xufVxuXG4vKipcbiAqIFNob3cgdGhlIG92ZXJmbG93IGluIElFLlxuICogMS4gU2hvdyB0aGUgb3ZlcmZsb3cgaW4gRWRnZS5cbiAqL1xuXG5idXR0b24sXG5pbnB1dCB7IC8qIDEgKi9cbiAgb3ZlcmZsb3c6IHZpc2libGU7XG59XG5cbi8qKlxuICogUmVtb3ZlIHRoZSBpbmhlcml0YW5jZSBvZiB0ZXh0IHRyYW5zZm9ybSBpbiBFZGdlLCBGaXJlZm94LCBhbmQgSUUuXG4gKiAxLiBSZW1vdmUgdGhlIGluaGVyaXRhbmNlIG9mIHRleHQgdHJhbnNmb3JtIGluIEZpcmVmb3guXG4gKi9cblxuYnV0dG9uLFxuc2VsZWN0IHsgLyogMSAqL1xuICB0ZXh0LXRyYW5zZm9ybTogbm9uZTtcbn1cblxuLyoqXG4gKiBDb3JyZWN0IHRoZSBpbmFiaWxpdHkgdG8gc3R5bGUgY2xpY2thYmxlIHR5cGVzIGluIGlPUyBhbmQgU2FmYXJpLlxuICovXG5cbmJ1dHRvbixcblt0eXBlPVwiYnV0dG9uXCJdLFxuW3R5cGU9XCJyZXNldFwiXSxcblt0eXBlPVwic3VibWl0XCJdIHtcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiBidXR0b247XG59XG5cbi8qKlxuICogUmVtb3ZlIHRoZSBpbm5lciBib3JkZXIgYW5kIHBhZGRpbmcgaW4gRmlyZWZveC5cbiAqL1xuXG5idXR0b246Oi1tb3otZm9jdXMtaW5uZXIsXG5bdHlwZT1cImJ1dHRvblwiXTo6LW1vei1mb2N1cy1pbm5lcixcblt0eXBlPVwicmVzZXRcIl06Oi1tb3otZm9jdXMtaW5uZXIsXG5bdHlwZT1cInN1Ym1pdFwiXTo6LW1vei1mb2N1cy1pbm5lciB7XG4gIGJvcmRlci1zdHlsZTogbm9uZTtcbiAgcGFkZGluZzogMDtcbn1cblxuLyoqXG4gKiBSZXN0b3JlIHRoZSBmb2N1cyBzdHlsZXMgdW5zZXQgYnkgdGhlIHByZXZpb3VzIHJ1bGUuXG4gKi9cblxuYnV0dG9uOi1tb3otZm9jdXNyaW5nLFxuW3R5cGU9XCJidXR0b25cIl06LW1vei1mb2N1c3JpbmcsXG5bdHlwZT1cInJlc2V0XCJdOi1tb3otZm9jdXNyaW5nLFxuW3R5cGU9XCJzdWJtaXRcIl06LW1vei1mb2N1c3Jpbmcge1xuICBvdXRsaW5lOiAxcHggZG90dGVkIEJ1dHRvblRleHQ7XG59XG5cbi8qKlxuICogQ29ycmVjdCB0aGUgcGFkZGluZyBpbiBGaXJlZm94LlxuICovXG5cbmZpZWxkc2V0IHtcbiAgcGFkZGluZzogMC4zNWVtIDAuNzVlbSAwLjYyNWVtO1xufVxuXG4vKipcbiAqIDEuIENvcnJlY3QgdGhlIHRleHQgd3JhcHBpbmcgaW4gRWRnZSBhbmQgSUUuXG4gKiAyLiBDb3JyZWN0IHRoZSBjb2xvciBpbmhlcml0YW5jZSBmcm9tIGBmaWVsZHNldGAgZWxlbWVudHMgaW4gSUUuXG4gKiAzLiBSZW1vdmUgdGhlIHBhZGRpbmcgc28gZGV2ZWxvcGVycyBhcmUgbm90IGNhdWdodCBvdXQgd2hlbiB0aGV5IHplcm8gb3V0XG4gKiAgICBgZmllbGRzZXRgIGVsZW1lbnRzIGluIGFsbCBicm93c2Vycy5cbiAqL1xuXG5sZWdlbmQge1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94OyAvKiAxICovXG4gIGNvbG9yOiBpbmhlcml0OyAvKiAyICovXG4gIGRpc3BsYXk6IHRhYmxlOyAvKiAxICovXG4gIG1heC13aWR0aDogMTAwJTsgLyogMSAqL1xuICBwYWRkaW5nOiAwOyAvKiAzICovXG4gIHdoaXRlLXNwYWNlOiBub3JtYWw7IC8qIDEgKi9cbn1cblxuLyoqXG4gKiBBZGQgdGhlIGNvcnJlY3QgdmVydGljYWwgYWxpZ25tZW50IGluIENocm9tZSwgRmlyZWZveCwgYW5kIE9wZXJhLlxuICovXG5cbnByb2dyZXNzIHtcbiAgdmVydGljYWwtYWxpZ246IGJhc2VsaW5lO1xufVxuXG4vKipcbiAqIFJlbW92ZSB0aGUgZGVmYXVsdCB2ZXJ0aWNhbCBzY3JvbGxiYXIgaW4gSUUgMTArLlxuICovXG5cbnRleHRhcmVhIHtcbiAgb3ZlcmZsb3c6IGF1dG87XG59XG5cbi8qKlxuICogMS4gQWRkIHRoZSBjb3JyZWN0IGJveCBzaXppbmcgaW4gSUUgMTAuXG4gKiAyLiBSZW1vdmUgdGhlIHBhZGRpbmcgaW4gSUUgMTAuXG4gKi9cblxuW3R5cGU9XCJjaGVja2JveFwiXSxcblt0eXBlPVwicmFkaW9cIl0ge1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94OyAvKiAxICovXG4gIHBhZGRpbmc6IDA7IC8qIDIgKi9cbn1cblxuLyoqXG4gKiBDb3JyZWN0IHRoZSBjdXJzb3Igc3R5bGUgb2YgaW5jcmVtZW50IGFuZCBkZWNyZW1lbnQgYnV0dG9ucyBpbiBDaHJvbWUuXG4gKi9cblxuW3R5cGU9XCJudW1iZXJcIl06Oi13ZWJraXQtaW5uZXItc3Bpbi1idXR0b24sXG5bdHlwZT1cIm51bWJlclwiXTo6LXdlYmtpdC1vdXRlci1zcGluLWJ1dHRvbiB7XG4gIGhlaWdodDogYXV0bztcbn1cblxuLyoqXG4gKiAxLiBDb3JyZWN0IHRoZSBvZGQgYXBwZWFyYW5jZSBpbiBDaHJvbWUgYW5kIFNhZmFyaS5cbiAqIDIuIENvcnJlY3QgdGhlIG91dGxpbmUgc3R5bGUgaW4gU2FmYXJpLlxuICovXG5cblt0eXBlPVwic2VhcmNoXCJdIHtcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiB0ZXh0ZmllbGQ7IC8qIDEgKi9cbiAgb3V0bGluZS1vZmZzZXQ6IC0ycHg7IC8qIDIgKi9cbn1cblxuLyoqXG4gKiBSZW1vdmUgdGhlIGlubmVyIHBhZGRpbmcgaW4gQ2hyb21lIGFuZCBTYWZhcmkgb24gbWFjT1MuXG4gKi9cblxuW3R5cGU9XCJzZWFyY2hcIl06Oi13ZWJraXQtc2VhcmNoLWRlY29yYXRpb24ge1xuICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7XG59XG5cbi8qKlxuICogMS4gQ29ycmVjdCB0aGUgaW5hYmlsaXR5IHRvIHN0eWxlIGNsaWNrYWJsZSB0eXBlcyBpbiBpT1MgYW5kIFNhZmFyaS5cbiAqIDIuIENoYW5nZSBmb250IHByb3BlcnRpZXMgdG8gYGluaGVyaXRgIGluIFNhZmFyaS5cbiAqL1xuXG46Oi13ZWJraXQtZmlsZS11cGxvYWQtYnV0dG9uIHtcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiBidXR0b247IC8qIDEgKi9cbiAgZm9udDogaW5oZXJpdDsgLyogMiAqL1xufVxuXG4vKiBJbnRlcmFjdGl2ZVxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLypcbiAqIEFkZCB0aGUgY29ycmVjdCBkaXNwbGF5IGluIEVkZ2UsIElFIDEwKywgYW5kIEZpcmVmb3guXG4gKi9cblxuZGV0YWlscyB7XG4gIGRpc3BsYXk6IGJsb2NrO1xufVxuXG4vKlxuICogQWRkIHRoZSBjb3JyZWN0IGRpc3BsYXkgaW4gYWxsIGJyb3dzZXJzLlxuICovXG5cbnN1bW1hcnkge1xuICBkaXNwbGF5OiBsaXN0LWl0ZW07XG59XG5cbi8qIE1pc2NcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qKlxuICogQWRkIHRoZSBjb3JyZWN0IGRpc3BsYXkgaW4gSUUgMTArLlxuICovXG5cbnRlbXBsYXRlIHtcbiAgZGlzcGxheTogbm9uZTtcbn1cblxuLyoqXG4gKiBBZGQgdGhlIGNvcnJlY3QgZGlzcGxheSBpbiBJRSAxMC5cbiAqL1xuXG5baGlkZGVuXSB7XG4gIGRpc3BsYXk6IG5vbmU7XG59XG4iLCJAa2V5ZnJhbWVzIHNoYWtlIHtcbiAgMTAlLCA5MCUge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTFweCwgMCwgMCk7IH1cbiAgMjAlLCA4MCUge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMnB4LCAwLCAwKTsgfVxuICAzMCUsIDUwJSwgNzAlIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC00cHgsIDAsIDApOyB9XG4gIDQwJSwgNjAlIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDRweCwgMCwgMCk7IH0gfVxuXG4uY2xlYXJmaXg6YWZ0ZXIsIC5ncmlkOmFmdGVyLCAucm93OmFmdGVyIHtcbiAgY29udGVudDogXCJcIjtcbiAgZGlzcGxheTogdGFibGU7XG4gIGNsZWFyOiBib3RoOyB9XG5cbi5ncmlkIHtcbiAgbWF4LXdpZHRoOiAxMDAlO1xuICBtYXJnaW4tbGVmdDogYXV0bztcbiAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xuICBtYXgtd2lkdGg6IDEyMDBweDsgfVxuICAuZ3JpZDphZnRlciB7XG4gICAgY29udGVudDogXCIgXCI7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgY2xlYXI6IGJvdGg7IH1cbiAgQG1lZGlhIChtaW4td2lkdGg6IDc2MHB4KSB7XG4gICAgLmdyaWQge1xuICAgICAgcGFkZGluZy1sZWZ0OiAyMHB4O1xuICAgICAgcGFkZGluZy1yaWdodDogMjBweDsgfSB9XG4gIEBtZWRpYSAobWluLXdpZHRoOiA5MDBweCkge1xuICAgIC5ncmlkIHtcbiAgICAgIHBhZGRpbmctbGVmdDogNDBweDtcbiAgICAgIHBhZGRpbmctcmlnaHQ6IDQwcHg7IH0gfVxuXG4ucm93IHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC13cmFwOiB3cmFwO1xuICB3aWR0aDogMTAwJTsgfVxuICBAbWVkaWEgKG1pbi13aWR0aDogNzYwcHgpIHtcbiAgICAucm93IHtcbiAgICAgIHBhZGRpbmctbGVmdDogNDBweDtcbiAgICAgIHBhZGRpbmctcmlnaHQ6IDQwcHg7IH0gfVxuXG5AbWVkaWEgKG1heC13aWR0aDogNzYwcHgpIHtcbiAgLnB1c2gtbS0xIHtcbiAgICBtYXJnaW4tbGVmdDogMjUlOyB9XG4gIC5ncmlkLW0tMSB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgLW1vei1ib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgIC13ZWJraXQtYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgIHdpZHRoOiAyNSU7XG4gICAgZmxvYXQ6IGxlZnQ7XG4gICAgcGFkZGluZy1sZWZ0OiA0LjE2NjY3JTtcbiAgICBwYWRkaW5nLXJpZ2h0OiA0LjE2NjY3JTsgfVxuICAucHVzaC1tLTIge1xuICAgIG1hcmdpbi1sZWZ0OiA1MCU7IH1cbiAgLmdyaWQtbS0yIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICAtbW96LWJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgLXdlYmtpdC1ib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgd2lkdGg6IDUwJTtcbiAgICBmbG9hdDogbGVmdDtcbiAgICBwYWRkaW5nLWxlZnQ6IDQuMTY2NjclO1xuICAgIHBhZGRpbmctcmlnaHQ6IDQuMTY2NjclOyB9XG4gIC5wdXNoLW0tMyB7XG4gICAgbWFyZ2luLWxlZnQ6IDc1JTsgfVxuICAuZ3JpZC1tLTMge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIC1tb3otYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICAtd2Via2l0LWJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICB3aWR0aDogNzUlO1xuICAgIGZsb2F0OiBsZWZ0O1xuICAgIHBhZGRpbmctbGVmdDogNC4xNjY2NyU7XG4gICAgcGFkZGluZy1yaWdodDogNC4xNjY2NyU7IH1cbiAgLnB1c2gtbS00IHtcbiAgICBtYXJnaW4tbGVmdDogMTAwJTsgfVxuICAuZ3JpZC1tLTQge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIC1tb3otYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICAtd2Via2l0LWJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBmbG9hdDogbGVmdDtcbiAgICBwYWRkaW5nLWxlZnQ6IDQuMTY2NjclO1xuICAgIHBhZGRpbmctcmlnaHQ6IDQuMTY2NjclOyB9XG4gIC5ncmlkLW0taGlkZSB7XG4gICAgZGlzcGxheTogbm9uZTsgfSB9XG5cbkBtZWRpYSAobWluLXdpZHRoOiA3NjBweCkgYW5kIChtYXgtd2lkdGg6IDEwNDBweCkge1xuICAucHVzaC10LTEge1xuICAgIG1hcmdpbi1sZWZ0OiA4LjMzMzMzJTsgfVxuICAuZ3JpZC10LTEge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIC1tb3otYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICAtd2Via2l0LWJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICB3aWR0aDogOC4zMzMzMyU7XG4gICAgZmxvYXQ6IGxlZnQ7XG4gICAgcGFkZGluZy1sZWZ0OiAxLjM4ODg5JTtcbiAgICBwYWRkaW5nLXJpZ2h0OiAxLjM4ODg5JTsgfVxuICAucHVzaC10LTIge1xuICAgIG1hcmdpbi1sZWZ0OiAxNi42NjY2NyU7IH1cbiAgLmdyaWQtdC0yIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICAtbW96LWJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgLXdlYmtpdC1ib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgd2lkdGg6IDE2LjY2NjY3JTtcbiAgICBmbG9hdDogbGVmdDtcbiAgICBwYWRkaW5nLWxlZnQ6IDEuMzg4ODklO1xuICAgIHBhZGRpbmctcmlnaHQ6IDEuMzg4ODklOyB9XG4gIC5wdXNoLXQtMyB7XG4gICAgbWFyZ2luLWxlZnQ6IDI1JTsgfVxuICAuZ3JpZC10LTMge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIC1tb3otYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICAtd2Via2l0LWJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICB3aWR0aDogMjUlO1xuICAgIGZsb2F0OiBsZWZ0O1xuICAgIHBhZGRpbmctbGVmdDogMS4zODg4OSU7XG4gICAgcGFkZGluZy1yaWdodDogMS4zODg4OSU7IH1cbiAgLnB1c2gtdC00IHtcbiAgICBtYXJnaW4tbGVmdDogMzMuMzMzMzMlOyB9XG4gIC5ncmlkLXQtNCB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgLW1vei1ib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgIC13ZWJraXQtYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgIHdpZHRoOiAzMy4zMzMzMyU7XG4gICAgZmxvYXQ6IGxlZnQ7XG4gICAgcGFkZGluZy1sZWZ0OiAxLjM4ODg5JTtcbiAgICBwYWRkaW5nLXJpZ2h0OiAxLjM4ODg5JTsgfVxuICAucHVzaC10LTUge1xuICAgIG1hcmdpbi1sZWZ0OiA0MS42NjY2NyU7IH1cbiAgLmdyaWQtdC01IHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICAtbW96LWJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgLXdlYmtpdC1ib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgd2lkdGg6IDQxLjY2NjY3JTtcbiAgICBmbG9hdDogbGVmdDtcbiAgICBwYWRkaW5nLWxlZnQ6IDEuMzg4ODklO1xuICAgIHBhZGRpbmctcmlnaHQ6IDEuMzg4ODklOyB9XG4gIC5wdXNoLXQtNiB7XG4gICAgbWFyZ2luLWxlZnQ6IDUwJTsgfVxuICAuZ3JpZC10LTYge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIC1tb3otYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICAtd2Via2l0LWJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICB3aWR0aDogNTAlO1xuICAgIGZsb2F0OiBsZWZ0O1xuICAgIHBhZGRpbmctbGVmdDogMS4zODg4OSU7XG4gICAgcGFkZGluZy1yaWdodDogMS4zODg4OSU7IH1cbiAgLnB1c2gtdC03IHtcbiAgICBtYXJnaW4tbGVmdDogNTguMzMzMzMlOyB9XG4gIC5ncmlkLXQtNyB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgLW1vei1ib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgIC13ZWJraXQtYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgIHdpZHRoOiA1OC4zMzMzMyU7XG4gICAgZmxvYXQ6IGxlZnQ7XG4gICAgcGFkZGluZy1sZWZ0OiAxLjM4ODg5JTtcbiAgICBwYWRkaW5nLXJpZ2h0OiAxLjM4ODg5JTsgfVxuICAucHVzaC10LTgge1xuICAgIG1hcmdpbi1sZWZ0OiA2Ni42NjY2NyU7IH1cbiAgLmdyaWQtdC04IHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICAtbW96LWJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgLXdlYmtpdC1ib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgd2lkdGg6IDY2LjY2NjY3JTtcbiAgICBmbG9hdDogbGVmdDtcbiAgICBwYWRkaW5nLWxlZnQ6IDEuMzg4ODklO1xuICAgIHBhZGRpbmctcmlnaHQ6IDEuMzg4ODklOyB9XG4gIC5wdXNoLXQtOSB7XG4gICAgbWFyZ2luLWxlZnQ6IDc1JTsgfVxuICAuZ3JpZC10LTkge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIC1tb3otYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICAtd2Via2l0LWJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICB3aWR0aDogNzUlO1xuICAgIGZsb2F0OiBsZWZ0O1xuICAgIHBhZGRpbmctbGVmdDogMS4zODg4OSU7XG4gICAgcGFkZGluZy1yaWdodDogMS4zODg4OSU7IH1cbiAgLnB1c2gtdC0xMCB7XG4gICAgbWFyZ2luLWxlZnQ6IDgzLjMzMzMzJTsgfVxuICAuZ3JpZC10LTEwIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICAtbW96LWJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgLXdlYmtpdC1ib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgd2lkdGg6IDgzLjMzMzMzJTtcbiAgICBmbG9hdDogbGVmdDtcbiAgICBwYWRkaW5nLWxlZnQ6IDEuMzg4ODklO1xuICAgIHBhZGRpbmctcmlnaHQ6IDEuMzg4ODklOyB9XG4gIC5wdXNoLXQtMTEge1xuICAgIG1hcmdpbi1sZWZ0OiA5MS42NjY2NyU7IH1cbiAgLmdyaWQtdC0xMSB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgLW1vei1ib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgIC13ZWJraXQtYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgIHdpZHRoOiA5MS42NjY2NyU7XG4gICAgZmxvYXQ6IGxlZnQ7XG4gICAgcGFkZGluZy1sZWZ0OiAxLjM4ODg5JTtcbiAgICBwYWRkaW5nLXJpZ2h0OiAxLjM4ODg5JTsgfVxuICAucHVzaC10LTEyIHtcbiAgICBtYXJnaW4tbGVmdDogMTAwJTsgfVxuICAuZ3JpZC10LTEyIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICAtbW96LWJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgLXdlYmtpdC1ib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgZmxvYXQ6IGxlZnQ7XG4gICAgcGFkZGluZy1sZWZ0OiAxLjM4ODg5JTtcbiAgICBwYWRkaW5nLXJpZ2h0OiAxLjM4ODg5JTsgfVxuICAuZ3JpZC10LWhpZGUge1xuICAgIGRpc3BsYXk6IG5vbmU7IH0gfVxuXG5AbWVkaWEgKG1pbi13aWR0aDogMTA0MHB4KSB7XG4gIC5wdXNoLWQtMSB7XG4gICAgbWFyZ2luLWxlZnQ6IDguMzMzMzMlOyB9XG4gIC5ncmlkLWQtMSB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgLW1vei1ib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgIC13ZWJraXQtYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgIHdpZHRoOiA4LjMzMzMzJTtcbiAgICBmbG9hdDogbGVmdDtcbiAgICBwYWRkaW5nLWxlZnQ6IDEuMzg4ODklO1xuICAgIHBhZGRpbmctcmlnaHQ6IDEuMzg4ODklOyB9XG4gIC5wdXNoLWQtMiB7XG4gICAgbWFyZ2luLWxlZnQ6IDE2LjY2NjY3JTsgfVxuICAuZ3JpZC1kLTIge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIC1tb3otYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICAtd2Via2l0LWJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICB3aWR0aDogMTYuNjY2NjclO1xuICAgIGZsb2F0OiBsZWZ0O1xuICAgIHBhZGRpbmctbGVmdDogMS4zODg4OSU7XG4gICAgcGFkZGluZy1yaWdodDogMS4zODg4OSU7IH1cbiAgLnB1c2gtZC0zIHtcbiAgICBtYXJnaW4tbGVmdDogMjUlOyB9XG4gIC5ncmlkLWQtMyB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgLW1vei1ib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgIC13ZWJraXQtYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgIHdpZHRoOiAyNSU7XG4gICAgZmxvYXQ6IGxlZnQ7XG4gICAgcGFkZGluZy1sZWZ0OiAxLjM4ODg5JTtcbiAgICBwYWRkaW5nLXJpZ2h0OiAxLjM4ODg5JTsgfVxuICAucHVzaC1kLTQge1xuICAgIG1hcmdpbi1sZWZ0OiAzMy4zMzMzMyU7IH1cbiAgLmdyaWQtZC00IHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICAtbW96LWJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgLXdlYmtpdC1ib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgd2lkdGg6IDMzLjMzMzMzJTtcbiAgICBmbG9hdDogbGVmdDtcbiAgICBwYWRkaW5nLWxlZnQ6IDEuMzg4ODklO1xuICAgIHBhZGRpbmctcmlnaHQ6IDEuMzg4ODklOyB9XG4gIC5wdXNoLWQtNSB7XG4gICAgbWFyZ2luLWxlZnQ6IDQxLjY2NjY3JTsgfVxuICAuZ3JpZC1kLTUge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIC1tb3otYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICAtd2Via2l0LWJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICB3aWR0aDogNDEuNjY2NjclO1xuICAgIGZsb2F0OiBsZWZ0O1xuICAgIHBhZGRpbmctbGVmdDogMS4zODg4OSU7XG4gICAgcGFkZGluZy1yaWdodDogMS4zODg4OSU7IH1cbiAgLnB1c2gtZC02IHtcbiAgICBtYXJnaW4tbGVmdDogNTAlOyB9XG4gIC5ncmlkLWQtNiB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgLW1vei1ib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgIC13ZWJraXQtYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgIHdpZHRoOiA1MCU7XG4gICAgZmxvYXQ6IGxlZnQ7XG4gICAgcGFkZGluZy1sZWZ0OiAxLjM4ODg5JTtcbiAgICBwYWRkaW5nLXJpZ2h0OiAxLjM4ODg5JTsgfVxuICAucHVzaC1kLTcge1xuICAgIG1hcmdpbi1sZWZ0OiA1OC4zMzMzMyU7IH1cbiAgLmdyaWQtZC03IHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICAtbW96LWJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgLXdlYmtpdC1ib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgd2lkdGg6IDU4LjMzMzMzJTtcbiAgICBmbG9hdDogbGVmdDtcbiAgICBwYWRkaW5nLWxlZnQ6IDEuMzg4ODklO1xuICAgIHBhZGRpbmctcmlnaHQ6IDEuMzg4ODklOyB9XG4gIC5wdXNoLWQtOCB7XG4gICAgbWFyZ2luLWxlZnQ6IDY2LjY2NjY3JTsgfVxuICAuZ3JpZC1kLTgge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIC1tb3otYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICAtd2Via2l0LWJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICB3aWR0aDogNjYuNjY2NjclO1xuICAgIGZsb2F0OiBsZWZ0O1xuICAgIHBhZGRpbmctbGVmdDogMS4zODg4OSU7XG4gICAgcGFkZGluZy1yaWdodDogMS4zODg4OSU7IH1cbiAgLnB1c2gtZC05IHtcbiAgICBtYXJnaW4tbGVmdDogNzUlOyB9XG4gIC5ncmlkLWQtOSB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgLW1vei1ib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgIC13ZWJraXQtYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgIHdpZHRoOiA3NSU7XG4gICAgZmxvYXQ6IGxlZnQ7XG4gICAgcGFkZGluZy1sZWZ0OiAxLjM4ODg5JTtcbiAgICBwYWRkaW5nLXJpZ2h0OiAxLjM4ODg5JTsgfVxuICAucHVzaC1kLTEwIHtcbiAgICBtYXJnaW4tbGVmdDogODMuMzMzMzMlOyB9XG4gIC5ncmlkLWQtMTAge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIC1tb3otYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICAtd2Via2l0LWJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICB3aWR0aDogODMuMzMzMzMlO1xuICAgIGZsb2F0OiBsZWZ0O1xuICAgIHBhZGRpbmctbGVmdDogMS4zODg4OSU7XG4gICAgcGFkZGluZy1yaWdodDogMS4zODg4OSU7IH1cbiAgLnB1c2gtZC0xMSB7XG4gICAgbWFyZ2luLWxlZnQ6IDkxLjY2NjY3JTsgfVxuICAuZ3JpZC1kLTExIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICAtbW96LWJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgLXdlYmtpdC1ib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgd2lkdGg6IDkxLjY2NjY3JTtcbiAgICBmbG9hdDogbGVmdDtcbiAgICBwYWRkaW5nLWxlZnQ6IDEuMzg4ODklO1xuICAgIHBhZGRpbmctcmlnaHQ6IDEuMzg4ODklOyB9XG4gIC5wdXNoLWQtMTIge1xuICAgIG1hcmdpbi1sZWZ0OiAxMDAlOyB9XG4gIC5ncmlkLWQtMTIge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIC1tb3otYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICAtd2Via2l0LWJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBmbG9hdDogbGVmdDtcbiAgICBwYWRkaW5nLWxlZnQ6IDEuMzg4ODklO1xuICAgIHBhZGRpbmctcmlnaHQ6IDEuMzg4ODklOyB9XG4gIC5ncmlkLWQtaGlkZSB7XG4gICAgZGlzcGxheTogbm9uZTsgfSB9XG5cbmh0bWwge1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94OyB9XG5cbmh0bWwgKiB7XG4gIGJveC1zaXppbmc6IGluaGVyaXQ7IH1cblxuLyohIG5vcm1hbGl6ZS5jc3MgdjguMC4xIHwgTUlUIExpY2Vuc2UgfCBnaXRodWIuY29tL25lY29sYXMvbm9ybWFsaXplLmNzcyAqL1xuLyogRG9jdW1lbnRcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKipcbiAqIDEuIENvcnJlY3QgdGhlIGxpbmUgaGVpZ2h0IGluIGFsbCBicm93c2Vycy5cbiAqIDIuIFByZXZlbnQgYWRqdXN0bWVudHMgb2YgZm9udCBzaXplIGFmdGVyIG9yaWVudGF0aW9uIGNoYW5nZXMgaW4gaU9TLlxuICovXG5odG1sIHtcbiAgbGluZS1oZWlnaHQ6IDEuMTU7XG4gIC8qIDEgKi9cbiAgLXdlYmtpdC10ZXh0LXNpemUtYWRqdXN0OiAxMDAlO1xuICAvKiAyICovIH1cblxuLyogU2VjdGlvbnNcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKipcbiAqIFJlbW92ZSB0aGUgbWFyZ2luIGluIGFsbCBicm93c2Vycy5cbiAqL1xuYm9keSB7XG4gIG1hcmdpbjogMDsgfVxuXG4vKipcbiAqIFJlbmRlciB0aGUgYG1haW5gIGVsZW1lbnQgY29uc2lzdGVudGx5IGluIElFLlxuICovXG5tYWluIHtcbiAgZGlzcGxheTogYmxvY2s7IH1cblxuLyoqXG4gKiBDb3JyZWN0IHRoZSBmb250IHNpemUgYW5kIG1hcmdpbiBvbiBgaDFgIGVsZW1lbnRzIHdpdGhpbiBgc2VjdGlvbmAgYW5kXG4gKiBgYXJ0aWNsZWAgY29udGV4dHMgaW4gQ2hyb21lLCBGaXJlZm94LCBhbmQgU2FmYXJpLlxuICovXG5oMSB7XG4gIGZvbnQtc2l6ZTogMmVtO1xuICBtYXJnaW46IDAuNjdlbSAwOyB9XG5cbi8qIEdyb3VwaW5nIGNvbnRlbnRcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKipcbiAqIDEuIEFkZCB0aGUgY29ycmVjdCBib3ggc2l6aW5nIGluIEZpcmVmb3guXG4gKiAyLiBTaG93IHRoZSBvdmVyZmxvdyBpbiBFZGdlIGFuZCBJRS5cbiAqL1xuaHIge1xuICBib3gtc2l6aW5nOiBjb250ZW50LWJveDtcbiAgLyogMSAqL1xuICBoZWlnaHQ6IDA7XG4gIC8qIDEgKi9cbiAgb3ZlcmZsb3c6IHZpc2libGU7XG4gIC8qIDIgKi8gfVxuXG4vKipcbiAqIDEuIENvcnJlY3QgdGhlIGluaGVyaXRhbmNlIGFuZCBzY2FsaW5nIG9mIGZvbnQgc2l6ZSBpbiBhbGwgYnJvd3NlcnMuXG4gKiAyLiBDb3JyZWN0IHRoZSBvZGQgYGVtYCBmb250IHNpemluZyBpbiBhbGwgYnJvd3NlcnMuXG4gKi9cbnByZSB7XG4gIGZvbnQtZmFtaWx5OiBtb25vc3BhY2UsIG1vbm9zcGFjZTtcbiAgLyogMSAqL1xuICBmb250LXNpemU6IDFlbTtcbiAgLyogMiAqLyB9XG5cbi8qIFRleHQtbGV2ZWwgc2VtYW50aWNzXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLyoqXG4gKiBSZW1vdmUgdGhlIGdyYXkgYmFja2dyb3VuZCBvbiBhY3RpdmUgbGlua3MgaW4gSUUgMTAuXG4gKi9cbmEge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDsgfVxuXG4vKipcbiAqIDEuIFJlbW92ZSB0aGUgYm90dG9tIGJvcmRlciBpbiBDaHJvbWUgNTctXG4gKiAyLiBBZGQgdGhlIGNvcnJlY3QgdGV4dCBkZWNvcmF0aW9uIGluIENocm9tZSwgRWRnZSwgSUUsIE9wZXJhLCBhbmQgU2FmYXJpLlxuICovXG5hYmJyW3RpdGxlXSB7XG4gIGJvcmRlci1ib3R0b206IG5vbmU7XG4gIC8qIDEgKi9cbiAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG4gIC8qIDIgKi9cbiAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmUgZG90dGVkO1xuICAvKiAyICovIH1cblxuLyoqXG4gKiBBZGQgdGhlIGNvcnJlY3QgZm9udCB3ZWlnaHQgaW4gQ2hyb21lLCBFZGdlLCBhbmQgU2FmYXJpLlxuICovXG5iLFxuc3Ryb25nIHtcbiAgZm9udC13ZWlnaHQ6IGJvbGRlcjsgfVxuXG4vKipcbiAqIDEuIENvcnJlY3QgdGhlIGluaGVyaXRhbmNlIGFuZCBzY2FsaW5nIG9mIGZvbnQgc2l6ZSBpbiBhbGwgYnJvd3NlcnMuXG4gKiAyLiBDb3JyZWN0IHRoZSBvZGQgYGVtYCBmb250IHNpemluZyBpbiBhbGwgYnJvd3NlcnMuXG4gKi9cbmNvZGUsXG5rYmQsXG5zYW1wIHtcbiAgZm9udC1mYW1pbHk6IG1vbm9zcGFjZSwgbW9ub3NwYWNlO1xuICAvKiAxICovXG4gIGZvbnQtc2l6ZTogMWVtO1xuICAvKiAyICovIH1cblxuLyoqXG4gKiBBZGQgdGhlIGNvcnJlY3QgZm9udCBzaXplIGluIGFsbCBicm93c2Vycy5cbiAqL1xuc21hbGwge1xuICBmb250LXNpemU6IDgwJTsgfVxuXG4vKipcbiAqIFByZXZlbnQgYHN1YmAgYW5kIGBzdXBgIGVsZW1lbnRzIGZyb20gYWZmZWN0aW5nIHRoZSBsaW5lIGhlaWdodCBpblxuICogYWxsIGJyb3dzZXJzLlxuICovXG5zdWIsXG5zdXAge1xuICBmb250LXNpemU6IDc1JTtcbiAgbGluZS1oZWlnaHQ6IDA7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgdmVydGljYWwtYWxpZ246IGJhc2VsaW5lOyB9XG5cbnN1YiB7XG4gIGJvdHRvbTogLTAuMjVlbTsgfVxuXG5zdXAge1xuICB0b3A6IC0wLjVlbTsgfVxuXG4vKiBFbWJlZGRlZCBjb250ZW50XG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLyoqXG4gKiBSZW1vdmUgdGhlIGJvcmRlciBvbiBpbWFnZXMgaW5zaWRlIGxpbmtzIGluIElFIDEwLlxuICovXG5pbWcge1xuICBib3JkZXItc3R5bGU6IG5vbmU7IH1cblxuLyogRm9ybXNcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKipcbiAqIDEuIENoYW5nZSB0aGUgZm9udCBzdHlsZXMgaW4gYWxsIGJyb3dzZXJzLlxuICogMi4gUmVtb3ZlIHRoZSBtYXJnaW4gaW4gRmlyZWZveCBhbmQgU2FmYXJpLlxuICovXG5idXR0b24sXG5pbnB1dCxcbm9wdGdyb3VwLFxuc2VsZWN0LFxudGV4dGFyZWEge1xuICBmb250LWZhbWlseTogaW5oZXJpdDtcbiAgLyogMSAqL1xuICBmb250LXNpemU6IDEwMCU7XG4gIC8qIDEgKi9cbiAgbGluZS1oZWlnaHQ6IDEuMTU7XG4gIC8qIDEgKi9cbiAgbWFyZ2luOiAwO1xuICAvKiAyICovIH1cblxuLyoqXG4gKiBTaG93IHRoZSBvdmVyZmxvdyBpbiBJRS5cbiAqIDEuIFNob3cgdGhlIG92ZXJmbG93IGluIEVkZ2UuXG4gKi9cbmJ1dHRvbixcbmlucHV0IHtcbiAgLyogMSAqL1xuICBvdmVyZmxvdzogdmlzaWJsZTsgfVxuXG4vKipcbiAqIFJlbW92ZSB0aGUgaW5oZXJpdGFuY2Ugb2YgdGV4dCB0cmFuc2Zvcm0gaW4gRWRnZSwgRmlyZWZveCwgYW5kIElFLlxuICogMS4gUmVtb3ZlIHRoZSBpbmhlcml0YW5jZSBvZiB0ZXh0IHRyYW5zZm9ybSBpbiBGaXJlZm94LlxuICovXG5idXR0b24sXG5zZWxlY3Qge1xuICAvKiAxICovXG4gIHRleHQtdHJhbnNmb3JtOiBub25lOyB9XG5cbi8qKlxuICogQ29ycmVjdCB0aGUgaW5hYmlsaXR5IHRvIHN0eWxlIGNsaWNrYWJsZSB0eXBlcyBpbiBpT1MgYW5kIFNhZmFyaS5cbiAqL1xuYnV0dG9uLFxuW3R5cGU9XCJidXR0b25cIl0sXG5bdHlwZT1cInJlc2V0XCJdLFxuW3R5cGU9XCJzdWJtaXRcIl0ge1xuICAtd2Via2l0LWFwcGVhcmFuY2U6IGJ1dHRvbjsgfVxuXG4vKipcbiAqIFJlbW92ZSB0aGUgaW5uZXIgYm9yZGVyIGFuZCBwYWRkaW5nIGluIEZpcmVmb3guXG4gKi9cbmJ1dHRvbjo6LW1vei1mb2N1cy1pbm5lcixcblt0eXBlPVwiYnV0dG9uXCJdOjotbW96LWZvY3VzLWlubmVyLFxuW3R5cGU9XCJyZXNldFwiXTo6LW1vei1mb2N1cy1pbm5lcixcblt0eXBlPVwic3VibWl0XCJdOjotbW96LWZvY3VzLWlubmVyIHtcbiAgYm9yZGVyLXN0eWxlOiBub25lO1xuICBwYWRkaW5nOiAwOyB9XG5cbi8qKlxuICogUmVzdG9yZSB0aGUgZm9jdXMgc3R5bGVzIHVuc2V0IGJ5IHRoZSBwcmV2aW91cyBydWxlLlxuICovXG5idXR0b246LW1vei1mb2N1c3JpbmcsXG5bdHlwZT1cImJ1dHRvblwiXTotbW96LWZvY3VzcmluZyxcblt0eXBlPVwicmVzZXRcIl06LW1vei1mb2N1c3JpbmcsXG5bdHlwZT1cInN1Ym1pdFwiXTotbW96LWZvY3VzcmluZyB7XG4gIG91dGxpbmU6IDFweCBkb3R0ZWQgQnV0dG9uVGV4dDsgfVxuXG4vKipcbiAqIENvcnJlY3QgdGhlIHBhZGRpbmcgaW4gRmlyZWZveC5cbiAqL1xuZmllbGRzZXQge1xuICBwYWRkaW5nOiAwLjM1ZW0gMC43NWVtIDAuNjI1ZW07IH1cblxuLyoqXG4gKiAxLiBDb3JyZWN0IHRoZSB0ZXh0IHdyYXBwaW5nIGluIEVkZ2UgYW5kIElFLlxuICogMi4gQ29ycmVjdCB0aGUgY29sb3IgaW5oZXJpdGFuY2UgZnJvbSBgZmllbGRzZXRgIGVsZW1lbnRzIGluIElFLlxuICogMy4gUmVtb3ZlIHRoZSBwYWRkaW5nIHNvIGRldmVsb3BlcnMgYXJlIG5vdCBjYXVnaHQgb3V0IHdoZW4gdGhleSB6ZXJvIG91dFxuICogICAgYGZpZWxkc2V0YCBlbGVtZW50cyBpbiBhbGwgYnJvd3NlcnMuXG4gKi9cbmxlZ2VuZCB7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gIC8qIDEgKi9cbiAgY29sb3I6IGluaGVyaXQ7XG4gIC8qIDIgKi9cbiAgZGlzcGxheTogdGFibGU7XG4gIC8qIDEgKi9cbiAgbWF4LXdpZHRoOiAxMDAlO1xuICAvKiAxICovXG4gIHBhZGRpbmc6IDA7XG4gIC8qIDMgKi9cbiAgd2hpdGUtc3BhY2U6IG5vcm1hbDtcbiAgLyogMSAqLyB9XG5cbi8qKlxuICogQWRkIHRoZSBjb3JyZWN0IHZlcnRpY2FsIGFsaWdubWVudCBpbiBDaHJvbWUsIEZpcmVmb3gsIGFuZCBPcGVyYS5cbiAqL1xucHJvZ3Jlc3Mge1xuICB2ZXJ0aWNhbC1hbGlnbjogYmFzZWxpbmU7IH1cblxuLyoqXG4gKiBSZW1vdmUgdGhlIGRlZmF1bHQgdmVydGljYWwgc2Nyb2xsYmFyIGluIElFIDEwKy5cbiAqL1xudGV4dGFyZWEge1xuICBvdmVyZmxvdzogYXV0bzsgfVxuXG4vKipcbiAqIDEuIEFkZCB0aGUgY29ycmVjdCBib3ggc2l6aW5nIGluIElFIDEwLlxuICogMi4gUmVtb3ZlIHRoZSBwYWRkaW5nIGluIElFIDEwLlxuICovXG5bdHlwZT1cImNoZWNrYm94XCJdLFxuW3R5cGU9XCJyYWRpb1wiXSB7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gIC8qIDEgKi9cbiAgcGFkZGluZzogMDtcbiAgLyogMiAqLyB9XG5cbi8qKlxuICogQ29ycmVjdCB0aGUgY3Vyc29yIHN0eWxlIG9mIGluY3JlbWVudCBhbmQgZGVjcmVtZW50IGJ1dHRvbnMgaW4gQ2hyb21lLlxuICovXG5bdHlwZT1cIm51bWJlclwiXTo6LXdlYmtpdC1pbm5lci1zcGluLWJ1dHRvbixcblt0eXBlPVwibnVtYmVyXCJdOjotd2Via2l0LW91dGVyLXNwaW4tYnV0dG9uIHtcbiAgaGVpZ2h0OiBhdXRvOyB9XG5cbi8qKlxuICogMS4gQ29ycmVjdCB0aGUgb2RkIGFwcGVhcmFuY2UgaW4gQ2hyb21lIGFuZCBTYWZhcmkuXG4gKiAyLiBDb3JyZWN0IHRoZSBvdXRsaW5lIHN0eWxlIGluIFNhZmFyaS5cbiAqL1xuW3R5cGU9XCJzZWFyY2hcIl0ge1xuICAtd2Via2l0LWFwcGVhcmFuY2U6IHRleHRmaWVsZDtcbiAgLyogMSAqL1xuICBvdXRsaW5lLW9mZnNldDogLTJweDtcbiAgLyogMiAqLyB9XG5cbi8qKlxuICogUmVtb3ZlIHRoZSBpbm5lciBwYWRkaW5nIGluIENocm9tZSBhbmQgU2FmYXJpIG9uIG1hY09TLlxuICovXG5bdHlwZT1cInNlYXJjaFwiXTo6LXdlYmtpdC1zZWFyY2gtZGVjb3JhdGlvbiB7XG4gIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTsgfVxuXG4vKipcbiAqIDEuIENvcnJlY3QgdGhlIGluYWJpbGl0eSB0byBzdHlsZSBjbGlja2FibGUgdHlwZXMgaW4gaU9TIGFuZCBTYWZhcmkuXG4gKiAyLiBDaGFuZ2UgZm9udCBwcm9wZXJ0aWVzIHRvIGBpbmhlcml0YCBpbiBTYWZhcmkuXG4gKi9cbjo6LXdlYmtpdC1maWxlLXVwbG9hZC1idXR0b24ge1xuICAtd2Via2l0LWFwcGVhcmFuY2U6IGJ1dHRvbjtcbiAgLyogMSAqL1xuICBmb250OiBpbmhlcml0O1xuICAvKiAyICovIH1cblxuLyogSW50ZXJhY3RpdmVcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKlxuICogQWRkIHRoZSBjb3JyZWN0IGRpc3BsYXkgaW4gRWRnZSwgSUUgMTArLCBhbmQgRmlyZWZveC5cbiAqL1xuZGV0YWlscyB7XG4gIGRpc3BsYXk6IGJsb2NrOyB9XG5cbi8qXG4gKiBBZGQgdGhlIGNvcnJlY3QgZGlzcGxheSBpbiBhbGwgYnJvd3NlcnMuXG4gKi9cbnN1bW1hcnkge1xuICBkaXNwbGF5OiBsaXN0LWl0ZW07IH1cblxuLyogTWlzY1xuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qKlxuICogQWRkIHRoZSBjb3JyZWN0IGRpc3BsYXkgaW4gSUUgMTArLlxuICovXG50ZW1wbGF0ZSB7XG4gIGRpc3BsYXk6IG5vbmU7IH1cblxuLyoqXG4gKiBBZGQgdGhlIGNvcnJlY3QgZGlzcGxheSBpbiBJRSAxMC5cbiAqL1xuW2hpZGRlbl0ge1xuICBkaXNwbGF5OiBub25lOyB9XG5cbmEgc3ZnIHtcbiAgcG9pbnRlci1ldmVudHM6IG5vbmU7IH1cblxuYm9keSB7XG4gIGZvbnQtZmFtaWx5OiBcIlBsYXlmYWlyIERpc3BsYXlcIiwgc2VyaWY7IH1cblxuYm9keS5zbWFsbC1uYXYtb3BlbiB7XG4gIG92ZXJmbG93OiBoaWRkZW47IH1cblxucCAuaGxqcy10aXRsZSwgbGkgLmhsanMtdGl0bGUge1xuICBjb2xvcjogaW5oZXJpdDsgfVxuXG5idXR0b246Zm9jdXMge1xuICBvdXRsaW5lOiB0aGluIGRvdHRlZDsgfVxuXG4uZ2xvYmFsLXN2ZyB7XG4gIGRpc3BsYXk6IG5vbmU7IH1cblxuLm1vZHVsZS1oZWFkZXItMSB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBtYXJnaW46IDAgMCAzMHB4O1xuICBmb250LWZhbWlseTogXCJIZWVib1wiLCBzYW5zLXNlcmlmO1xuICBmb250LXNpemU6IDM2cHg7XG4gIGZvbnQtd2VpZ2h0OiA3MDA7XG4gIGxldHRlci1zcGFjaW5nOiAuMDVlbTtcbiAgbGluZS1oZWlnaHQ6IDEuNWVtOyB9XG5cbmgzIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIG1hcmdpbjogMjBweCAwO1xuICBmb250LWZhbWlseTogXCJQbGF5ZmFpciBEaXNwbGF5XCIsIHNlcmlmO1xuICBmb250LXNpemU6IDI4cHg7XG4gIGZvbnQtd2VpZ2h0OiA3MDA7XG4gIGxldHRlci1zcGFjaW5nOiAuMDVlbTtcbiAgbGluZS1oZWlnaHQ6IDEuNWVtO1xuICBjb2xvcjogIzAwMDAwMDsgfVxuXG4uYm9keS1jb3B5IHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIG1hcmdpbjogMDtcbiAgZm9udC1mYW1pbHk6IFwiUGxheWZhaXIgRGlzcGxheVwiLCBzZXJpZjtcbiAgZm9udC1zaXplOiAxOHB4O1xuICBmb250LXdlaWdodDogNDAwO1xuICBsZXR0ZXItc3BhY2luZzogLjA1ZW07XG4gIGxpbmUtaGVpZ2h0OiAyZW07XG4gIGNvbG9yOiAjNjY2OyB9XG5cbi5zbWFsbC1ib2R5LWNvcHkge1xuICBkaXNwbGF5OiBibG9jaztcbiAgbWFyZ2luOiAwO1xuICBmb250LWZhbWlseTogXCJQbGF5ZmFpciBEaXNwbGF5XCIsIHNlcmlmO1xuICBmb250LXNpemU6IDE0cHg7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7XG4gIGxldHRlci1zcGFjaW5nOiAuMDVlbTtcbiAgbGluZS1oZWlnaHQ6IDJlbTtcbiAgY29sb3I6ICM2NjY7IH1cblxuLmxhcmdlLWJvZHktY29weSB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBtYXJnaW46IDA7XG4gIGZvbnQtZmFtaWx5OiBcIlBsYXlmYWlyIERpc3BsYXlcIiwgc2VyaWY7XG4gIGZvbnQtc2l6ZTogMjFweDtcbiAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgbGV0dGVyLXNwYWNpbmc6IC4wNWVtO1xuICBsaW5lLWhlaWdodDogMmVtO1xuICBjb2xvcjogIzY2NjsgfVxuXG4uYnV0dG9uIHtcbiAgLXdlYmtpdC1mb250LXNtb290aGluZzogYW50aWFsaWFzZWQ7XG4gIC1tb3otb3N4LWZvbnQtc21vb3RoaW5nOiBncmF5c2NhbGU7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBwYWRkaW5nOiAxMHB4IDIwcHg7XG4gIGZvbnQtZmFtaWx5OiBcIkhlZWJvXCIsIHNhbnMtc2VyaWY7XG4gIGZvbnQtc2l6ZTogMThweDtcbiAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgbGV0dGVyLXNwYWNpbmc6IC4wNWVtO1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gIGJhY2tncm91bmQtY29sb3I6ICNGRkZGRkY7XG4gIGNvbG9yOiAjMDAwMDAwO1xuICBib3JkZXI6IDRweCBzb2xpZCAjNkNGM0Q1O1xuICB0cmFuc2l0aW9uOiAwLjNzIGN1YmljLWJlemllcigwLjU1LCAwLjA4NSwgMC42OCwgMC41Myk7XG4gIG91dGxpbmU6IG5vbmU7XG4gIGN1cnNvcjogcG9pbnRlcjsgfVxuXG4uYnV0dG9uIC5zdmctY29udGFpbiB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgd2lkdGg6IDMwcHg7IH1cblxuLmJ1dHRvbiBzdmcge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogNTAlO1xuICBsZWZ0OiA1MCU7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIC01MCUpO1xuICB3aWR0aDogMzBweDtcbiAgY29sb3I6ICMwMDAwMDA7XG4gIHBvaW50ZXItZXZlbnRzOiBub25lOyB9XG5cbi5idXR0b246aG92ZXIge1xuICBib3JkZXI6IDRweCBzb2xpZCAjNkNGM0Q1O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjNkNGM0Q1OyB9XG5cbi5idXR0b24tbGFyZ2Uge1xuICBwYWRkaW5nOiAyMHB4IDYwcHg7IH1cblxuLmJ1dHRvbi5pbmxpbmUtYnV0dG9uIHtcbiAgYm9yZGVyLWxlZnQ6IDA7IH1cblxuLmJ1dHRvbi5pbmxpbmUtYnV0dG9uOmhvdmVyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2Q1ZDVkNTsgfVxuXG4uc3ZnLWJ1dHRvbjpob3ZlciAuc3ZnLWNvbnRhaW4ge1xuICBiYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47XG4gIHRyYW5zaXRpb246IDAuM3MgY3ViaWMtYmV6aWVyKDAuMzksIDAuNTc1LCAwLjU2NSwgMSk7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWCg1cHgpOyB9XG5cbi5zdmctYnV0dG9uIC5zdmctaWNvbiB7XG4gIGJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjtcbiAgdHJhbnNpdGlvbjogMC4zcyBjdWJpYy1iZXppZXIoMC4zOSwgMC41NzUsIDAuNTY1LCAxKTtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0ycHgpOyB9XG5cbi5zdmctYnV0dG9uOmhvdmVyIC5zdmctaWNvbiB7XG4gIHRyYW5zaXRpb246IDAuM3MgY3ViaWMtYmV6aWVyKDAuNDcsIDAsIDAuNzQ1LCAwLjcxNSk7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgwKTsgfVxuXG4uc2xpZGVzaG93LWJ1dHRvbiB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuXG4uc2xpZGVzaG93LWJ1dHRvbiBidXR0b24ge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMDtcbiAgbGVmdDogMDtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogMTAwJTtcbiAgb3BhY2l0eTogMDsgfVxuXG5mb3JtIHtcbiAgbWF4LXdpZHRoOiA1NjBweDsgfVxuXG4uZm9ybS1pdGVtIHtcbiAgbWFyZ2luLWJvdHRvbTogMjBweDsgfVxuXG4uc3VibWl0LWNvbnRhaW4ge1xuICBtYXJnaW4tdG9wOiAzMHB4OyB9XG5cbmlucHV0LFxudGV4dGFyZWEge1xuICBkaXNwbGF5OiBibG9jaztcbiAgd2lkdGg6IDEwMCU7XG4gIGJvcmRlcjogNHB4IHNvbGlkICNFRUU7XG4gIHBhZGRpbmc6IDEwcHg7XG4gIG91dGxpbmU6IG5vbmU7XG4gIGZvbnQtZmFtaWx5OiBcIkhlZWJvXCIsIHNhbnMtc2VyaWY7XG4gIGZvbnQtc2l6ZTogMThweDtcbiAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgbGV0dGVyLXNwYWNpbmc6IC4wNWVtO1xuICBsaW5lLWhlaWdodDogMmVtO1xuICBjb2xvcjogIzAwMDAwMDsgfVxuXG5pbnB1dFt0eXBlPVwicGFzc3dvcmRcIl0ge1xuICBsaW5lLWhlaWdodDogMzZweDtcbiAgcGFkZGluZzogMTJweCAxMHB4IDhweDtcbiAgZm9udC1zaXplOiAyOHB4OyB9XG5cbmxhYmVsIHtcbiAgLXdlYmtpdC1mb250LXNtb290aGluZzogYW50aWFsaWFzZWQ7XG4gIC1tb3otb3N4LWZvbnQtc21vb3RoaW5nOiBncmF5c2NhbGU7XG4gIGZvbnQtZmFtaWx5OiBcIkhlZWJvXCIsIHNhbnMtc2VyaWY7XG4gIGZvbnQtc2l6ZTogMTRweDtcbiAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgbGV0dGVyLXNwYWNpbmc6IC4wNWVtO1xuICBsaW5lLWhlaWdodDogMmVtO1xuICBjb2xvcjogIzY2NjtcbiAgb3BhY2l0eTogLjc7IH1cblxuLndwY2Y3LW5vdC12YWxpZCB7XG4gIGJvcmRlci1jb2xvcjogI0VFNEQzNzsgfVxuXG5zcGFuLndwY2Y3LW5vdC12YWxpZC10aXAsXG5kaXYud3BjZjctcmVzcG9uc2Utb3V0cHV0IHtcbiAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OyB9XG5cbi5mb3JtLW1lc3NhZ2Uge1xuICBoZWlnaHQ6IDA7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIHRyYW5zaXRpb246IDAuM3MgY3ViaWMtYmV6aWVyKDAuNDcsIDAsIDAuNzQ1LCAwLjcxNSk7IH1cblxuLmZvcm0tbWVzc2FnZSBwIHtcbiAgYm9yZGVyOiA0cHggc29saWQgI2VlZTtcbiAgcGFkZGluZzogMjBweDtcbiAgbWFyZ2luOiAwO1xuICBsaW5lLWhlaWdodDogMS40ZW07XG4gIG9wYWNpdHk6IDA7XG4gIHRyYW5zaXRpb246IDAuM3MgY3ViaWMtYmV6aWVyKDAuNDcsIDAsIDAuNzQ1LCAwLjcxNSk7XG4gIHRyYW5zaXRpb24tZGVsYXk6IC40czsgfVxuXG4uZm9ybS1tZXNzYWdlLnJlYWR5IHAge1xuICBvcGFjaXR5OiAxOyB9XG5cbi5zdWNjZXNzLmZvcm0tbWVzc2FnZSBwIHtcbiAgYm9yZGVyLWNvbG9yOiAjNkNGM0Q1OyB9XG5cbi5pbnZhbGlkLmZvcm0tbWVzc2FnZSBwIHtcbiAgYm9yZGVyLWNvbG9yOiAjRUU0RDM3OyB9XG5cbi5pbnB1dC13aXRoLXBsYWNlaG9sZGVyIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG4gIC5pbnB1dC13aXRoLXBsYWNlaG9sZGVyIC5wbGFjZWhvbGRlciB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogNTAlO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTtcbiAgICBmb250LWZhbWlseTogXCJIZWVib1wiLCBzYW5zLXNlcmlmO1xuICAgIGZvbnQtc2l6ZTogMThweDtcbiAgICBmb250LXdlaWdodDogNDAwO1xuICAgIGxldHRlci1zcGFjaW5nOiAuMDVlbTtcbiAgICBtYXJnaW4tbGVmdDogMTRweDtcbiAgICBtYXJnaW4tdG9wOiAtMXB4O1xuICAgIGNvbG9yOiAjNjY2O1xuICAgIHBvaW50ZXItZXZlbnRzOiBub25lOyB9XG5cbi5iYWNrZ3JvdW5kLWltYWdlcnkge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMDtcbiAgbGVmdDogMDtcbiAgaGVpZ2h0OiAxMDAlO1xuICB3aWR0aDogMTAwJTtcbiAgei1pbmRleDogMDtcbiAgdHJhbnNpdGlvbjogMC4zcyBjdWJpYy1iZXppZXIoMC4zOSwgMC41NzUsIDAuNTY1LCAxKTsgfVxuXG4ucHJvdGVjdGVkLWhlcm8gLmJhY2tncm91bmQtaW1hZ2VyeSB7XG4gIGJhY2tncm91bmQtY29sb3I6ICM2Q0YzRDU7IH1cblxuLmJhY2tncm91bmQtaW1hZ2VyeSAuYmFja2dyb3VuZC1jb2xvcixcbi5iYWNrZ3JvdW5kLWltYWdlcnkgLmJhY2tncm91bmQtaW1hZ2UsXG4uYmFja2dyb3VuZC1pbWFnZXJ5IC5iYWNrZ3JvdW5kLXZpZGVvIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDA7XG4gIGxlZnQ6IDA7XG4gIGhlaWdodDogMTAwJTtcbiAgd2lkdGg6IDEwMCU7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlcjtcbiAgdHJhbnNpdGlvbjogMC4zcyBjdWJpYy1iZXppZXIoMC40NywgMCwgMC43NDUsIDAuNzE1KTtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApO1xuICB0cmFuc2Zvcm0tb3JpZ2luOiB0b3A7XG4gIGJhY2tncm91bmQtaW1hZ2U6IG5vbmU7XG4gIG9wYWNpdHk6IDE7IH1cblxuLmJhY2tncm91bmQtaW1hZ2VyeSAuYmFja2dyb3VuZC1jb2xvciB7XG4gIHotaW5kZXg6IC0zOyB9XG5cbi5iYWNrZ3JvdW5kLWltYWdlcnkgLmJhY2tncm91bmQtaW1hZ2Uge1xuICB6LWluZGV4OiAtMjtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gIHRyYW5zaXRpb246IDAuM3MgY3ViaWMtYmV6aWVyKDAuNDcsIDAsIDAuNzQ1LCAwLjcxNSk7XG4gIHRyYW5zaXRpb24tZGVsYXk6IC4zcztcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApO1xuICB0cmFuc2Zvcm0tb3JpZ2luOiB0b3A7IH1cblxuLmJhY2tncm91bmQtaW1hZ2VyeSAuYmFja2dyb3VuZC12aWRlbyB7XG4gIGRpc3BsYXk6IG5vbmU7XG4gIHotaW5kZXg6IC0xO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgdHJhbnNpdGlvbjogMC4zcyBjdWJpYy1iZXppZXIoMC40NywgMCwgMC43NDUsIDAuNzE1KTtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApO1xuICB0cmFuc2Zvcm0tb3JpZ2luOiB0b3A7IH1cbiAgQG1lZGlhIChtaW4td2lkdGg6IDc2MHB4KSB7XG4gICAgLmJhY2tncm91bmQtaW1hZ2VyeSAuYmFja2dyb3VuZC12aWRlbyB7XG4gICAgICBkaXNwbGF5OiBibG9jazsgfSB9XG5cbi5iYWNrZ3JvdW5kLWltYWdlcnkgdmlkZW8ge1xuICB3aWR0aDogMTAwJTsgfVxuXG4uZWgtbG9nbyB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiA1MCU7XG4gIGxlZnQ6IDUwJTtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgLTUwJSk7XG4gIHdpZHRoOiAxMDBweDtcbiAgaGVpZ2h0OiAxMDBweDtcbiAgei1pbmRleDogOTAwOyB9XG5cbi5laC1sb2dvICosXG4uZWgtbG9nbyAqOmJlZm9yZSB7XG4gIGFuaW1hdGlvbi1wbGF5LXN0YXRlOiBydW5uaW5nOyB9XG5cbi5laC1sb2dvIC5jaGFyYWN0ZXItMSAudmVydC1wb3N0LCAuZWgtbG9nbyAuY2hhcmFjdGVyLTIgLnZlcnQtcG9zdCB7XG4gIHRvcDogMTQlO1xuICBib3R0b206IDE0JTtcbiAgd2lkdGg6IDIyJTsgfVxuXG4uZWgtbG9nbyAuY2hhcmFjdGVyLTEgLmhvcnotcG9zdC10b3AsIC5laC1sb2dvIC5jaGFyYWN0ZXItMiAuaG9yei1wb3N0LXRvcCB7XG4gIHRvcDogMTQlO1xuICB3aWR0aDogNDIlO1xuICBoZWlnaHQ6IDIwJTsgfVxuXG4uZWgtbG9nbyAuY2hhcmFjdGVyLTEgLmhvcnotcG9zdC1taWRkbGUsIC5laC1sb2dvIC5jaGFyYWN0ZXItMiAuaG9yei1wb3N0LW1pZGRsZSB7XG4gIHRvcDogNDAlO1xuICBib3R0b206IDQwJTtcbiAgd2lkdGg6IDIxJTsgfVxuXG4uZWgtbG9nbyAuY2hhcmFjdGVyLTEgLmhvcnotcG9zdC1ib3R0b20sIC5laC1sb2dvIC5jaGFyYWN0ZXItMiAuaG9yei1wb3N0LWJvdHRvbSB7XG4gIGJvdHRvbTogMTQlO1xuICB3aWR0aDogNDIlO1xuICBoZWlnaHQ6IDIwJTsgfVxuXG4uZWgtbG9nbyAuY2hhcmFjdGVyLTEgLmhvcnotcG9zdC10b3AsIC5laC1sb2dvIC5jaGFyYWN0ZXItMSAuaG9yei1wb3N0LW1pZGRsZSwgLmVoLWxvZ28gLmNoYXJhY3Rlci0xIC5ob3J6LXBvc3QtYm90dG9tIHtcbiAgdHJhbnNmb3JtLW9yaWdpbjogbGVmdCB0b3A7IH1cblxuLmVoLWxvZ28gLmNoYXJhY3Rlci0yIC5ob3J6LXBvc3QtdG9wLCAuZWgtbG9nbyAuY2hhcmFjdGVyLTIgLmhvcnotcG9zdC1taWRkbGUsIC5laC1sb2dvIC5jaGFyYWN0ZXItMiAuaG9yei1wb3N0LWJvdHRvbSB7XG4gIHRyYW5zZm9ybS1vcmlnaW46IHJpZ2h0IHRvcDsgfVxuXG4uZWgtbG9nbyAuY2hhcmFjdGVyLTEgLmhvcnotcG9zdC10b3AsIC5laC1sb2dvIC5jaGFyYWN0ZXItMSAuaG9yei1wb3N0LWJvdHRvbSB7XG4gIHRyYW5zZm9ybTogc2NhbGVYKDEpO1xuICBhbmltYXRpb24tbmFtZTogc2hyaW5rOyB9XG5cbi5laC1sb2dvIC5jaGFyYWN0ZXItMiAuaG9yei1wb3N0LXRvcCwgLmVoLWxvZ28gLmNoYXJhY3Rlci0yIC5ob3J6LXBvc3QtYm90dG9tIHtcbiAgdHJhbnNmb3JtOiBzY2FsZVgoMCk7XG4gIGFuaW1hdGlvbi1uYW1lOiBncm93OyB9XG5cbi5laC1sb2dvIC5iYWNrZ3JvdW5kLCAuZWgtbG9nbyAubG9nby1jb250YWluZXIsIC5laC1sb2dvIC5jaGFyYWN0ZXItMSAuaG9yei1wb3N0LXRvcCwgLmVoLWxvZ28gLmNoYXJhY3Rlci0xIC5ob3J6LXBvc3QtbWlkZGxlLCAuZWgtbG9nbyAuY2hhcmFjdGVyLTEgLmhvcnotcG9zdC1ib3R0b20sIC5laC1sb2dvIC5jaGFyYWN0ZXItMiAuaG9yei1wb3N0LXRvcCwgLmVoLWxvZ28gLmNoYXJhY3Rlci0yIC5ob3J6LXBvc3QtbWlkZGxlLCAuZWgtbG9nbyAuY2hhcmFjdGVyLTIgLmhvcnotcG9zdC1ib3R0b20ge1xuICBhbmltYXRpb24tZHVyYXRpb246IDEuNXM7XG4gIGFuaW1hdGlvbi1pdGVyYXRpb24tY291bnQ6IGluZmluaXRlO1xuICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLWluLW91dDsgfVxuXG4uZWgtbG9nbyAuY2hhcmFjdGVyLTEgLnZlcnQtcG9zdCwgLmVoLWxvZ28gLmNoYXJhY3Rlci0xIC5ob3J6LXBvc3QtdG9wLCAuZWgtbG9nbyAuY2hhcmFjdGVyLTEgLmhvcnotcG9zdC1taWRkbGUsIC5laC1sb2dvIC5jaGFyYWN0ZXItMSAuaG9yei1wb3N0LWJvdHRvbSwgLmVoLWxvZ28gLmNoYXJhY3Rlci0yIC52ZXJ0LXBvc3QsIC5laC1sb2dvIC5jaGFyYWN0ZXItMiAuaG9yei1wb3N0LXRvcCwgLmVoLWxvZ28gLmNoYXJhY3Rlci0yIC5ob3J6LXBvc3QtbWlkZGxlLCAuZWgtbG9nbyAuY2hhcmFjdGVyLTIgLmhvcnotcG9zdC1ib3R0b20ge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7IH1cbiAgLmVoLWxvZ28gLmNoYXJhY3Rlci0xIC52ZXJ0LXBvc3Q6OmJlZm9yZSwgLmVoLWxvZ28gLmNoYXJhY3Rlci0xIC5ob3J6LXBvc3QtdG9wOjpiZWZvcmUsIC5laC1sb2dvIC5jaGFyYWN0ZXItMSAuaG9yei1wb3N0LW1pZGRsZTo6YmVmb3JlLCAuZWgtbG9nbyAuY2hhcmFjdGVyLTEgLmhvcnotcG9zdC1ib3R0b206OmJlZm9yZSwgLmVoLWxvZ28gLmNoYXJhY3Rlci0yIC52ZXJ0LXBvc3Q6OmJlZm9yZSwgLmVoLWxvZ28gLmNoYXJhY3Rlci0yIC5ob3J6LXBvc3QtdG9wOjpiZWZvcmUsIC5laC1sb2dvIC5jaGFyYWN0ZXItMiAuaG9yei1wb3N0LW1pZGRsZTo6YmVmb3JlLCAuZWgtbG9nbyAuY2hhcmFjdGVyLTIgLmhvcnotcG9zdC1ib3R0b206OmJlZm9yZSB7XG4gICAgY29udGVudDogXCJcIjtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAwO1xuICAgIGxlZnQ6IDA7XG4gICAgYm90dG9tOiAwO1xuICAgIHJpZ2h0OiAwO1xuICAgIGJhY2tncm91bmQ6ICMwMDAwMDA7XG4gICAgYW5pbWF0aW9uLWR1cmF0aW9uOiAxNXM7XG4gICAgYW5pbWF0aW9uLWl0ZXJhdGlvbi1jb3VudDogaW5maW5pdGU7XG4gICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1pbi1vdXQ7IH1cblxuLmVoLWxvZ28gLmJhY2tncm91bmQge1xuICBjb250ZW50OiBcIlwiO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogOSU7XG4gIGxlZnQ6IDA7XG4gIGJvdHRvbTogOSU7XG4gIHJpZ2h0OiAwO1xuICBhbmltYXRpb24tbmFtZTogcmV2ZXJzZS1yb3RhdGU7IH1cbiAgLmVoLWxvZ28gLmJhY2tncm91bmQ6OmJlZm9yZSB7XG4gICAgY29udGVudDogXCJcIjtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAwO1xuICAgIGxlZnQ6IDA7XG4gICAgYm90dG9tOiAwO1xuICAgIHJpZ2h0OiAwO1xuICAgIGJhY2tncm91bmQ6ICNGRkZGRkY7XG4gICAgYW5pbWF0aW9uLWR1cmF0aW9uOiAxNXM7XG4gICAgYW5pbWF0aW9uLWl0ZXJhdGlvbi1jb3VudDogaW5maW5pdGU7XG4gICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1pbi1vdXQ7IH1cblxuLmVoLWxvZ28gLmxvZ28tY29udGFpbmVyIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDA7XG4gIGxlZnQ6IDA7XG4gIHJpZ2h0OiAwO1xuICBib3R0b206IDA7XG4gIGFuaW1hdGlvbi1uYW1lOiByb3RhdGU7IH1cblxuLmVoLWxvZ28gLmNoYXJhY3Rlci0xIC52ZXJ0LXBvc3Qge1xuICBsZWZ0OiA1JTsgfVxuXG4uZWgtbG9nbyAuY2hhcmFjdGVyLTEgLmhvcnotcG9zdC10b3Age1xuICBsZWZ0OiAyNiU7IH1cblxuLmVoLWxvZ28gLmNoYXJhY3Rlci0xIC5ob3J6LXBvc3QtbWlkZGxlIHtcbiAgbGVmdDogMjYlO1xuICByaWdodDogMjYlO1xuICB0cmFuc2Zvcm06IHNjYWxlWCgxKTtcbiAgYW5pbWF0aW9uLW5hbWU6IHNocmluay1taWRkbGU7IH1cblxuLmVoLWxvZ28gLmNoYXJhY3Rlci0xIC5ob3J6LXBvc3QtYm90dG9tIHtcbiAgbGVmdDogMjYlOyB9XG5cbi5laC1sb2dvIC5jaGFyYWN0ZXItMiAudmVydC1wb3N0IHtcbiAgcmlnaHQ6IDUlOyB9XG5cbi5laC1sb2dvIC5jaGFyYWN0ZXItMiAuaG9yei1wb3N0LXRvcCB7XG4gIHJpZ2h0OiAyNiU7IH1cblxuLmVoLWxvZ28gLmNoYXJhY3Rlci0yIC5ob3J6LXBvc3QtbWlkZGxlIHtcbiAgcmlnaHQ6IDI2JTtcbiAgdHJhbnNmb3JtOiBzY2FsZVgoMC45NSk7XG4gIGFuaW1hdGlvbi1uYW1lOiBncm93LW1pZGRsZTsgfVxuXG4uZWgtbG9nbyAuY2hhcmFjdGVyLTIgLmhvcnotcG9zdC1ib3R0b20ge1xuICByaWdodDogMjYlOyB9XG5cbkBrZXlmcmFtZXMgc2hyaW5rIHtcbiAgMCUge1xuICAgIHRyYW5zZm9ybTogc2NhbGVYKDEpOyB9XG4gIDEwJSB7XG4gICAgdHJhbnNmb3JtOiBzY2FsZVgoMSk7IH1cbiAgOTAlIHtcbiAgICB0cmFuc2Zvcm06IHNjYWxlWCgwKTsgfVxuICAxMDAlIHtcbiAgICB0cmFuc2Zvcm06IHNjYWxlWCgwKTsgfSB9XG5cbkBrZXlmcmFtZXMgcm90YXRlIHtcbiAgMCUge1xuICAgIHRyYW5zZm9ybTogcm90YXRlKDApOyB9XG4gIDEwJSB7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUoMCk7IH1cbiAgOTAlIHtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZSgxODBkZWcpOyB9XG4gIDEwMCUge1xuICAgIHRyYW5zZm9ybTogcm90YXRlKDE4MGRlZyk7IH0gfVxuXG5Aa2V5ZnJhbWVzIHJldmVyc2Utcm90YXRlIHtcbiAgMCUge1xuICAgIHRyYW5zZm9ybTogcm90YXRlKDE4MGRlZyk7IH1cbiAgMTAlIHtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZSgxODBkZWcpOyB9XG4gIDkwJSB7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUoMCk7IH1cbiAgMTAwJSB7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUoMCk7IH0gfVxuXG5Aa2V5ZnJhbWVzIGdyb3cge1xuICAwJSB7XG4gICAgdHJhbnNmb3JtOiBzY2FsZVgoMCk7IH1cbiAgMTAlIHtcbiAgICB0cmFuc2Zvcm06IHNjYWxlWCgwKTsgfVxuICA5MCUge1xuICAgIHRyYW5zZm9ybTogc2NhbGVYKDEpOyB9XG4gIDEwMCUge1xuICAgIHRyYW5zZm9ybTogc2NhbGVYKDEpOyB9IH1cblxuQGtleWZyYW1lcyBzaHJpbmstbWlkZGxlIHtcbiAgMCUge1xuICAgIHRyYW5zZm9ybTogc2NhbGVYKDEpOyB9XG4gIDEwJSB7XG4gICAgdHJhbnNmb3JtOiBzY2FsZVgoMSk7IH1cbiAgOTAlIHtcbiAgICB0cmFuc2Zvcm06IHNjYWxlWCgwLjk1KTsgfVxuICAxMDAlIHtcbiAgICB0cmFuc2Zvcm06IHNjYWxlWCgwLjk1KTsgfSB9XG5cbkBrZXlmcmFtZXMgZ3Jvdy1taWRkbGUge1xuICAwJSB7XG4gICAgdHJhbnNmb3JtOiBzY2FsZVgoMC45NSk7IH1cbiAgMTAlIHtcbiAgICB0cmFuc2Zvcm06IHNjYWxlWCgwLjk1KTsgfVxuICA5MCUge1xuICAgIHRyYW5zZm9ybTogc2NhbGVYKDEpOyB9XG4gIDEwMCUge1xuICAgIHRyYW5zZm9ybTogc2NhbGVYKDEpOyB9IH1cblxuQGtleWZyYW1lcyBjb2xvciB7XG4gIDAlIHtcbiAgICBiYWNrZ3JvdW5kOiAjNkNGM0Q1OyB9XG4gIDIwJSB7XG4gICAgYmFja2dyb3VuZDogIzZDRjNENTsgfVxuICAyNSUge1xuICAgIGJhY2tncm91bmQ6ICNFOUI1QUM7IH1cbiAgNDUlIHtcbiAgICBiYWNrZ3JvdW5kOiAjRTlCNUFDOyB9XG4gIDUwJSB7XG4gICAgYmFja2dyb3VuZDogI0IzQ0M4QzsgfVxuICA3MCUge1xuICAgIGJhY2tncm91bmQ6ICNCM0NDOEM7IH1cbiAgNzUlIHtcbiAgICBiYWNrZ3JvdW5kOiAjREZFRDY1OyB9XG4gIDk1JSB7XG4gICAgYmFja2dyb3VuZDogI0RGRUQ2NTsgfVxuICAxMDAlIHtcbiAgICBiYWNrZ3JvdW5kOiAjNkNGM0Q1OyB9IH1cblxuQGtleWZyYW1lcyBjb2xvci1iYWNrZ3JvdW5kIHtcbiAgMCUge1xuICAgIGJhY2tncm91bmQ6ICMyQjM2NEE7IH1cbiAgMjAlIHtcbiAgICBiYWNrZ3JvdW5kOiAjMkIzNjRBOyB9XG4gIDI1JSB7XG4gICAgYmFja2dyb3VuZDogIzhCN0NBQTsgfVxuICA0NSUge1xuICAgIGJhY2tncm91bmQ6ICM4QjdDQUE7IH1cbiAgNTAlIHtcbiAgICBiYWNrZ3JvdW5kOiAjNjI4QTY4OyB9XG4gIDcwJSB7XG4gICAgYmFja2dyb3VuZDogIzYyOEE2ODsgfVxuICA3NSUge1xuICAgIGJhY2tncm91bmQ6ICM4QzhDOEM7IH1cbiAgOTUlIHtcbiAgICBiYWNrZ3JvdW5kOiAjOEM4QzhDOyB9XG4gIDEwMCUge1xuICAgIGJhY2tncm91bmQ6ICMyQjM2NEE7IH0gfVxuXG4ubG9hZGluZy1nYXRlIHtcbiAgcG9zaXRpb246IGZpeGVkO1xuICB0b3A6IDA7XG4gIGxlZnQ6IDA7XG4gIGhlaWdodDogMDtcbiAgd2lkdGg6IDEwMCU7XG4gIGJhY2tncm91bmQ6IDEwMCU7XG4gIHotaW5kZXg6IDQwO1xuICB0cmFuc2l0aW9uOiAuM3MgZWFzZS1vdXQ7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIG9wYWNpdHk6IDA7XG4gIHRyYW5zaXRpb246IGhlaWdodCAwcyBsaW5lYXIgMXMsIG9wYWNpdHkgLjNzIGVhc2Utb3V0IDBzOyB9XG5cbi5sb2FkaW5nLWdhdGU6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXCI7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAwO1xuICBsZWZ0OiAwO1xuICBib3R0b206IDA7XG4gIHJpZ2h0OiAwO1xuICBiYWNrZ3JvdW5kOiAjRkZGRkZGO1xuICBvcGFjaXR5OiAuMzsgfVxuXG4uc2tpcC10by1jb250ZW50IHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDA7XG4gIGxlZnQ6IDA7XG4gIHotaW5kZXg6IDcwO1xuICBwYWRkaW5nOiAxMHB4O1xuICBiYWNrZ3JvdW5kOiAjMDAwMDAwO1xuICBjb2xvcjogI0ZGRkZGRjtcbiAgb3BhY2l0eTogMDtcbiAgcG9pbnRlci1ldmVudHM6IG5vbmU7IH1cblxuLnNraXAtdG8tY29udGVudDpmb2N1cyB7XG4gIG9wYWNpdHk6IDE7IH1cblxuLnNpdGUtaGVhZGVyIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDA7XG4gIHdpZHRoOiAxMDAlO1xuICBjb2xvcjogIzAwMDAwMDtcbiAgZmlsbDogIzAwMDAwMDtcbiAgei1pbmRleDogNjA7IH1cbiAgQG1lZGlhIChtYXgtd2lkdGg6IDc2MHB4KSB7XG4gICAgLnNpdGUtaGVhZGVyIHtcbiAgICAgIHBvc2l0aW9uOiBmaXhlZDtcbiAgICAgIHRvcDogMCAhaW1wb3J0YW50OyB9IH1cblxuQG1lZGlhIChtaW4td2lkdGg6IDc2MHB4KSB7XG4gIC5zaXRlLWhlYWRlcjpub3QoLmxhdGNoZWQpIHtcbiAgICB0b3A6IDAgIWltcG9ydGFudDsgfSB9XG5cbkBtZWRpYSAobWluLXdpZHRoOiA3NjBweCkge1xuICAuc2l0ZS1oZWFkZXIuc3R1Y2sge1xuICAgIHBvc2l0aW9uOiBmaXhlZDtcbiAgICB0b3A6IDAgIWltcG9ydGFudDsgfSB9XG5cbi5zaXRlLWhlYWRlci5saWdodC1oZWFkZXIge1xuICBjb2xvcjogI0ZGRkZGRjtcbiAgZmlsbDogI0ZGRkZGRjsgfVxuXG4uc2l0ZS1oZWFkZXIgLmJhY2tncm91bmQtY29sb3Ige1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMDtcbiAgbGVmdDogMDtcbiAgaGVpZ2h0OiAxMDAlO1xuICB3aWR0aDogMTAwJTtcbiAgei1pbmRleDogLTE7XG4gIG9wYWNpdHk6IDA7XG4gIHRyYW5zaXRpb246IC4zcyBlYXNlLW91dDsgfVxuXG4uc2l0ZS1oZWFkZXIuYmFja2dyb3VuZC1zaG93biAuYmFja2dyb3VuZC1jb2xvciB7XG4gIG9wYWNpdHk6IDE7IH1cblxuLnNpdGUtaGVhZGVyIC5yb3cge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHBhZGRpbmctdG9wOiAyMHB4O1xuICBwYWRkaW5nLWJvdHRvbTogMjBweDsgfVxuXG4uc2l0ZS1oZWFkZXIgc3ZnIHtcbiAgZmlsbDogY3VycmVudENvbG9yOyB9XG5cbi5zaXRlLWhlYWRlciBhLCAuc2l0ZS1oZWFkZXIgc3BhbiB7XG4gIC13ZWJraXQtZm9udC1zbW9vdGhpbmc6IGFudGlhbGlhc2VkO1xuICAtbW96LW9zeC1mb250LXNtb290aGluZzogZ3JheXNjYWxlO1xuICBkaXNwbGF5OiBibG9jaztcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBmb250LWZhbWlseTogXCJIZWVib1wiLCBzYW5zLXNlcmlmO1xuICBmb250LXNpemU6IDE2cHg7XG4gIGZvbnQtd2VpZ2h0OiA3MDA7XG4gIGxldHRlci1zcGFjaW5nOiAuMDVlbTtcbiAgbGluZS1oZWlnaHQ6IDIycHg7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgY29sb3I6IGluaGVyaXQ7IH1cblxuLnNpdGUtaGVhZGVyIGEge1xuICB0cmFuc2l0aW9uOiAwLjNzIGN1YmljLWJlemllcigwLjM5LCAwLjU3NSwgMC41NjUsIDEpIDBzOyB9XG5cbi5zaXRlLWhlYWRlciAuc2l0ZS1sb2dvIHtcbiAgd2lkdGg6IDQwcHg7XG4gIGhlaWdodDogMzJweDsgfVxuXG4uc2l0ZS1oZWFkZXIgLnNpdGUtbmF2IHtcbiAgcGFkZGluZy10b3A6IDA7XG4gIHBhZGRpbmctYm90dG9tOiAwO1xuICBtYXJnaW46IDA7XG4gIGxpc3Qtc3R5bGU6IG5vbmU7IH1cblxuLnNpdGUtaGVhZGVyIC5zaXRlLW5hdiBsaSB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTsgfVxuXG4uc2l0ZS1oZWFkZXIgLnNpdGUtbmF2IGxpOm5vdCg6Zmlyc3QtY2hpbGQpIHtcbiAgbWFyZ2luLWxlZnQ6IDE2cHg7IH1cblxuLnNpdGUtaGVhZGVyIC5zaXRlLW5hdiAuZXhwYW5kby1pdGVtIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG5cbi5zaXRlLWhlYWRlciAuc2l0ZS1uYXYgLmV4cGFuZG8taXRlbTo6YmVmb3JlIHtcbiAgZGlzcGxheTogbm9uZTtcbiAgY29udGVudDogXCJcIjtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDAlO1xuICBsZWZ0OiAwJTtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0xMHB4KSB0cmFuc2xhdGVZKC0xMHB4KTtcbiAgaGVpZ2h0OiBjYWxjKDEwMCUgKyAyMHB4KTtcbiAgd2lkdGg6IGNhbGMoMTAwJSArIDIwcHgpO1xuICBiYWNrZ3JvdW5kOiAjRkZGRkZGO1xuICB0cmFuc2l0aW9uOiAwLjNzIGN1YmljLWJlemllcigwLjU1LCAwLjA1NSwgMC42NzUsIDAuMTkpOyB9XG5cbi5kYXJrLWhlYWRlciAuc2l0ZS1oZWFkZXIgLnNpdGUtbmF2IC5leHBhbmRvLWl0ZW06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQ6ICMwMDAwMDA7IH1cblxuLnNpdGUtaGVhZGVyIC5zaXRlLW5hdiAuZXhwYW5kby1pdGVtIGJ1dHRvbiB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAwO1xuICBsZWZ0OiAwO1xuICBoZWlnaHQ6IDEwMCU7XG4gIHdpZHRoOiAxMDAlO1xuICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgYm9yZGVyOiBub25lOyB9XG5cbi5zaXRlLWhlYWRlciAuc2l0ZS1uYXYgLmV4cGFuZG8taXRlbSAuc3ViLW1lbnUge1xuICBkaXNwbGF5OiBub25lO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIG1hcmdpbjogMDtcbiAgcGFkZGluZzogMTBweCAyMHB4IDAgMDtcbiAgaGVpZ2h0OiBhdXRvOyB9XG5cbi5zaXRlLWhlYWRlciAuc2l0ZS1uYXYgLmV4cGFuZG8taXRlbSAuc3ViLW1lbnU6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXCI7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAwO1xuICBsZWZ0OiA1MCU7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKSB0cmFuc2xhdGVZKDApO1xuICBoZWlnaHQ6IDEwMCU7XG4gIHdpZHRoOiBjYWxjKDEwMCUgKyAyMHB4KTtcbiAgYmFja2dyb3VuZDogI0ZGRkZGRjtcbiAgdHJhbnNpdGlvbjogMC4zcyBjdWJpYy1iZXppZXIoMC41NSwgMC4wNTUsIDAuNjc1LCAwLjE5KTtcbiAgbWFyZ2luLWxlZnQ6IDBweDsgfVxuXG4uZGFyay1oZWFkZXIgLnNpdGUtaGVhZGVyIC5zaXRlLW5hdiAuZXhwYW5kby1pdGVtIC5zdWItbWVudTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZDogIzAwMDAwMDsgfVxuXG4uc2l0ZS1oZWFkZXIgLnNpdGUtbmF2IC5leHBhbmRvLWl0ZW0gLnN1Yi1tZW51IGxpIHtcbiAgbWFyZ2luOiAwIDAgMTBweDsgfVxuXG4uc2l0ZS1oZWFkZXIgLnNpdGUtbmF2IC5leHBhbmRvLWl0ZW0ub3Blbjo6YmVmb3JlIHtcbiAgZGlzcGxheTogYmxvY2s7IH1cblxuLnNpdGUtaGVhZGVyIC5zaXRlLW5hdiAuZXhwYW5kby1pdGVtLm9wZW4gLnN1Yi1tZW51IHtcbiAgZGlzcGxheTogYmxvY2s7IH1cblxuQG1lZGlhIChtYXgtd2lkdGg6IDc2MHB4KSB7XG4gIC5zaXRlLWhlYWRlciAuc2l0ZS1uYXYgLnRleHQtbGluayB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgICBvcGFjaXR5OiAwO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMjBweCk7XG4gICAgcG9pbnRlci1ldmVudHM6IG5vbmU7IH0gfVxuXG4uc2l0ZS1oZWFkZXIgLnNpdGUtbmF2IC50ZXh0LWxpbmsgYSxcbi5zaXRlLWhlYWRlciAuc2l0ZS1uYXYgLnRleHQtbGluayBzcGFuIHtcbiAgb3BhY2l0eTogLjg7IH1cblxuLnNpdGUtaGVhZGVyIC50ZXh0LWxpbmsgYTo6YWZ0ZXIge1xuICBjb250ZW50OiBcIlwiO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBoZWlnaHQ6IDJweDtcbiAgd2lkdGg6IDEwMCU7XG4gIGJhY2tncm91bmQ6IGN1cnJlbnRDb2xvcjtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDEwcHgpO1xuICBvcGFjaXR5OiAwO1xuICBwb2ludGVyLWV2ZW50czogbm9uZTsgfVxuXG4uc2l0ZS1oZWFkZXIgLmN1cnJlbnQtbWVudS1pdGVtLnRleHQtbGluayBhIHtcbiAgb3BhY2l0eTogMTsgfVxuXG4uc2l0ZS1oZWFkZXIgLnRleHQtbGluayBhOmhvdmVyOjphZnRlcixcbi5zaXRlLWhlYWRlciAuY3VycmVudC1tZW51LWl0ZW0udGV4dC1saW5rIGE6OmFmdGVyIHtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApO1xuICBvcGFjaXR5OiAxOyB9XG5cbkBtZWRpYSAobWF4LXdpZHRoOiA3NjBweCkge1xuICAuc2l0ZS1oZWFkZXIgLmhhbWJ1cmdlci1pY29uLWNvbnRhaW4ge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC13cmFwOiB3cmFwO1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgYWxpZ24tY29udGVudDogcmlnaHQ7XG4gICAgdGV4dC1hbGlnbjogcmlnaHQ7IH0gfVxuXG4uc2l0ZS1oZWFkZXIgLmhhbWJ1cmdlci1pY29uIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBkaXNwbGF5OiBibG9jaztcbiAgaGVpZ2h0OiAyMHB4O1xuICB3aWR0aDogMjZweDtcbiAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gIHRyYW5zaXRpb246IDAuM3MgY3ViaWMtYmV6aWVyKDAuMjUsIDAuNDYsIDAuNDUsIDAuOTQpOyB9XG5cbi5zaXRlLWhlYWRlciAuaGFtYnVyZ2VyLWljb24gZGl2IHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB3aWR0aDogMjZweDtcbiAgaGVpZ2h0OiAycHg7XG4gIGJhY2tncm91bmQ6IGN1cnJlbnRDb2xvcjsgfVxuXG4uc2l0ZS1oZWFkZXIgLmhhbWJ1cmdlci1pY29uIGRpdjpudGgtY2hpbGQoMSkge1xuICB0b3A6IDA7XG4gIHRyYW5zaXRpb246IDAuM3MgY3ViaWMtYmV6aWVyKDAuMjUsIDAuNDYsIDAuNDUsIDAuOTQpOyB9XG5cbi5zaXRlLWhlYWRlciAuaGFtYnVyZ2VyLWljb24gZGl2Om50aC1jaGlsZCgyKSB7XG4gIHRvcDogNTAlO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7XG4gIHRyYW5zaXRpb246IDAuM3MgY3ViaWMtYmV6aWVyKDAuMjUsIDAuNDYsIDAuNDUsIDAuOTQpOyB9XG5cbi5zaXRlLWhlYWRlciAuaGFtYnVyZ2VyLWljb24gZGl2Om50aC1jaGlsZCgyKTo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcIjtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDUwJTtcbiAgbGVmdDogNTAlO1xuICBoZWlnaHQ6IDI2cHg7XG4gIHdpZHRoOiAycHg7XG4gIGJhY2tncm91bmQtY29sb3I6ICMwMDAwMDA7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIC01MCUpIHNjYWxlWSgwKTtcbiAgdHJhbnNpdGlvbjogMC4zcyBjdWJpYy1iZXppZXIoMC4yNSwgMC40NiwgMC40NSwgMC45NCk7IH1cblxuLnNpdGUtaGVhZGVyIC5oYW1idXJnZXItaWNvbiBkaXY6bnRoLWNoaWxkKDMpIHtcbiAgYm90dG9tOiAwO1xuICB0cmFuc2l0aW9uOiAwLjNzIGN1YmljLWJlemllcigwLjI1LCAwLjQ2LCAwLjQ1LCAwLjk0KTsgfVxuXG4uc2l0ZS1oZWFkZXIgLmhhbWJ1cmdlci1pY29uIC50YXJnZXQge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMDtcbiAgbGVmdDogMDtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogMTAwJTtcbiAgbWFyZ2luOiAwO1xuICBwYWRkaW5nOiAwO1xuICBib3JkZXI6IDA7XG4gIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICBib3JkZXI6IG5vbmU7IH1cblxuLm1vYmlsZS1uYXYtbGlzdCB7XG4gIHBvc2l0aW9uOiBmaXhlZDtcbiAgdG9wOiAwO1xuICBkaXNwbGF5OiBub25lO1xuICBoZWlnaHQ6IDEwMCU7XG4gIHdpZHRoOiAxMDAlO1xuICBwYWRkaW5nLXRvcDogODBweDtcbiAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gIHotaW5kZXg6IDUwO1xuICB0cmFuc2Zvcm0tb3JpZ2luOiBjZW50ZXIgdG9wOyB9XG5cbi5tb2JpbGUtbmF2LWxpc3Q6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXCI7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAwO1xuICBoZWlnaHQ6IDEwMCU7XG4gIHdpZHRoOiAxMDAlO1xuICB6LWluZGV4OiAtMTtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0xMDAlKTtcbiAgb3BhY2l0eTogMDtcbiAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KHRvIGJvdHRvbSwgcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjk2KSA4MCUsIHJnYmEoMjU1LCAyNTUsIDI1NSwgMCkgMTAwJSk7XG4gIHRyYW5zaXRpb246IDAuM3MgY3ViaWMtYmV6aWVyKDAuNTUsIDAuMDg1LCAwLjY4LCAwLjUzKTsgfVxuXG4ubW9iaWxlLW5hdi1saXN0IHVsIHtcbiAgbGlzdC1zdHlsZTogbm9uZTtcbiAgcGFkZGluZy10b3A6IDA7XG4gIHBhZGRpbmctYm90dG9tOiAwO1xuICBtYXJnaW46IDA7IH1cblxuLm1vYmlsZS1uYXYtbGlzdCAuc2l0ZS1sb2dvIHtcbiAgZGlzcGxheTogbm9uZTsgfVxuXG4ubW9iaWxlLW5hdi1saXN0IGxpIHtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDEwcHgpO1xuICBvcGFjaXR5OiAwO1xuICBwYWRkaW5nLWJvdHRvbTogMTZweDtcbiAgdHJhbnNpdGlvbjogMC4zcyBjdWJpYy1iZXppZXIoMC41NSwgMC4wODUsIDAuNjgsIDAuNTMpOyB9XG5cbi5tb2JpbGUtbmF2LWxpc3QgYSB7XG4gIC13ZWJraXQtZm9udC1zbW9vdGhpbmc6IGFudGlhbGlhc2VkO1xuICAtbW96LW9zeC1mb250LXNtb290aGluZzogZ3JheXNjYWxlO1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIGZvbnQtZmFtaWx5OiBcIkhlZWJvXCIsIHNhbnMtc2VyaWY7XG4gIGZvbnQtc2l6ZTogMjRweDtcbiAgbGluZS1oZWlnaHQ6IDMwcHg7XG4gIGZvbnQtd2VpZ2h0OiA2MDA7XG4gIGxldHRlci1zcGFjaW5nOiAuMDJlbTtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICBjb2xvcjogIzAwMDAwMDsgfVxuXG4ubW9iaWxlLW5hdi1saXN0IGE6OmFmdGVyIHtcbiAgY29udGVudDogXCJcIjtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDNweDtcbiAgYmFja2dyb3VuZDogIzAwMDAwMDtcbiAgb3BhY2l0eTogMDtcbiAgdHJhbnNmb3JtOiBzY2FsZVgoMCk7XG4gIHRyYW5zZm9ybS1vcmlnaW46IGxlZnQ7XG4gIHRyYW5zaXRpb246IDAuM3MgY3ViaWMtYmV6aWVyKDAuMjUsIDAuNDYsIDAuNDUsIDAuOTQpOyB9XG5cbi5tb2JpbGUtbmF2LWxpc3QgLmN1cnJlbnQtbWVudS1pdGVtIGE6OmFmdGVyIHtcbiAgb3BhY2l0eTogMTtcbiAgdHJhbnNmb3JtOiBzY2FsZVgoMSk7XG4gIHRyYW5zaXRpb246IDAuM3MgY3ViaWMtYmV6aWVyKDAuNTUsIDAuMDg1LCAwLjY4LCAwLjUzKTsgfVxuXG4uc2l0ZS1mb290ZXIge1xuICB0cmFuc2l0aW9uOiAwLjNzIGN1YmljLWJlemllcigwLjQ3LCAwLCAwLjc0NSwgMC43MTUpO1xuICBvcGFjaXR5OiAxO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCk7IH1cblxuLnNpdGUtZm9vdGVyIG5hdiB7XG4gIHBhZGRpbmctdG9wOiA4MHB4O1xuICBwYWRkaW5nLWJvdHRvbTogNDBweDsgfVxuXG4uc2l0ZS1mb290ZXIgLnNpdGUtbG9nbyB7XG4gIHdpZHRoOiA0MHB4O1xuICBoZWlnaHQ6IDMycHg7IH1cblxuLnNpdGUtZm9vdGVyIC5zaXRlLW5hdixcbi5zaXRlLWZvb3RlciAuc2Vjb25kYXJ5LW5hdiB7XG4gIHBhZGRpbmctdG9wOiAwO1xuICBwYWRkaW5nLWJvdHRvbTogMDtcbiAgbWFyZ2luLXRvcDogMDtcbiAgbWFyZ2luLWJvdHRvbTogMDtcbiAgbGlzdC1zdHlsZTogbm9uZTtcbiAgdGV4dC1hbGlnbjogY2VudGVyOyB9XG5cbkBtZWRpYSAobWluLXdpZHRoOiA3NjBweCkge1xuICAuc2l0ZS1mb290ZXIgLnNpdGUtbmF2IHtcbiAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgIG1hcmdpbi1ib3R0b206IDIwcHg7IH0gfVxuXG5AbWVkaWEgKG1pbi13aWR0aDogMTA0MHB4KSB7XG4gIC5zaXRlLWZvb3RlciAuc2l0ZS1uYXYge1xuICAgIG1hcmdpbi1ib3R0b206IDA7IH0gfVxuXG5AbWVkaWEgKG1pbi13aWR0aDogMTA0MHB4KSB7XG4gIC5zaXRlLWZvb3RlciAuc2Vjb25kYXJ5LW5hdiB7XG4gICAgdGV4dC1hbGlnbjogcmlnaHQ7IH0gfVxuXG4uc2l0ZS1mb290ZXIgLnNlY29uZGFyeS1uYXY6YmVmb3JlIHtcbiAgY29udGVudDogXCJcIjtcbiAgaGVpZ2h0OiAxMDAlO1xuICB3aWR0aDogMDtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlOyB9XG5cbi5zaXRlLWZvb3RlciAuc2l0ZS1uYXYgbGksXG4uc2l0ZS1mb290ZXIgLnNlY29uZGFyeS1uYXYgbGkge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7IH1cblxuLnNpdGUtZm9vdGVyIC5zaXRlLW5hdiBsaTpub3QoOmZpcnN0LWNoaWxkKSB7XG4gIG1hcmdpbi1sZWZ0OiAxNnB4OyB9XG5cbi5zaXRlLWZvb3RlciAuc2Vjb25kYXJ5LW5hdiBsaTpub3QoOmxhc3QtY2hpbGQpIHtcbiAgbWFyZ2luLXJpZ2h0OiAxNnB4OyB9XG5cbi5zaXRlLWZvb3RlciBzdmcge1xuICBmaWxsOiAjMDAwMDAwOyB9XG5cbi5zaXRlLWZvb3RlciBhIHtcbiAgLXdlYmtpdC1mb250LXNtb290aGluZzogYW50aWFsaWFzZWQ7XG4gIC1tb3otb3N4LWZvbnQtc21vb3RoaW5nOiBncmF5c2NhbGU7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGZvbnQtZmFtaWx5OiBcIkhlZWJvXCIsIHNhbnMtc2VyaWY7XG4gIGZvbnQtc2l6ZTogMTJweDtcbiAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgbGV0dGVyLXNwYWNpbmc6IC4wNWVtO1xuICBsaW5lLWhlaWdodDogMjJweDtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICBjb2xvcjogIzAwMDAwMDsgfVxuXG4uc2l0ZS1mb290ZXIgLnNlY29uZGFyeS1uYXYgYSB7XG4gIG9wYWNpdHk6IC42OyB9XG5cbi5zaXRlLWZvb3RlciAuY29weXJpZ2h0IHtcbiAgLXdlYmtpdC1mb250LXNtb290aGluZzogYW50aWFsaWFzZWQ7XG4gIC1tb3otb3N4LWZvbnQtc21vb3RoaW5nOiBncmF5c2NhbGU7XG4gIGZvbnQtZmFtaWx5OiBcIkhlZWJvXCIsIHNhbnMtc2VyaWY7XG4gIGZvbnQtc2l6ZTogMTJweDtcbiAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgbGV0dGVyLXNwYWNpbmc6IC4wNWVtO1xuICBsaW5lLWhlaWdodDogMjJweDtcbiAgY29sb3I6ICM2NjY7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgbWFyZ2luLXRvcDogMjBweDsgfVxuXG4uc2l0ZS1oZXJvIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDA7XG4gIGxlZnQ6IDA7XG4gIHdpZHRoOiAxMDAlO1xuICB6LWluZGV4OiAxMDtcbiAgcGFkZGluZzogODhweCAwO1xuICBjb2xvcjogIzAwMDAwMDtcbiAgdHJhbnNpdGlvbjogMC4zcyBjdWJpYy1iZXppZXIoMC4zOSwgMC41NzUsIDAuNTY1LCAxKTtcbiAgb3ZlcmZsb3c6IGhpZGRlbjsgfVxuXG4uc2l0ZS1oZXJvIC5iYWNrZ3JvdW5kLWNvbG9yIHtcbiAgaGVpZ2h0OiAxMjAlOyB9XG5cbi5wYWdlLWhlcm8ge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHotaW5kZXg6IDIwO1xuICBwYWRkaW5nOiA4OHB4IDA7XG4gIGNvbG9yOiAjMDAwMDAwO1xuICBvdmVyZmxvdzogaGlkZGVuOyB9XG5cbi5wYWdlLWhlcm8gLnJvdyB7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7IH1cblxuLnBhZ2UtaGVybyAuY29udGVudCB7XG4gIHBhZGRpbmc6IDEwMHB4IDAgOTBweDsgfVxuXG4ucGFnZS1oZXJvIC5oZWFkZXIge1xuICAtd2Via2l0LWZvbnQtc21vb3RoaW5nOiBhbnRpYWxpYXNlZDtcbiAgLW1vei1vc3gtZm9udC1zbW9vdGhpbmc6IGdyYXlzY2FsZTtcbiAgcGFkZGluZzogMDtcbiAgbWFyZ2luOiAwIDAgMTBweDtcbiAgZm9udC1mYW1pbHk6IFwiSGVlYm9cIiwgc2Fucy1zZXJpZjtcbiAgZm9udC1zaXplOiA0MHB4O1xuICBsaW5lLWhlaWdodDogMWVtO1xuICB0cmFuc2l0aW9uOiAwLjNzIGN1YmljLWJlemllcigwLjQ3LCAwLCAwLjc0NSwgMC43MTUpO1xuICBvcGFjaXR5OiAxO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCk7XG4gIHRyYW5zaXRpb24tZGVsYXk6IC4zczsgfVxuICBAbWVkaWEgKG1pbi13aWR0aDogNzYwcHgpIHtcbiAgICAucGFnZS1oZXJvIC5oZWFkZXIge1xuICAgICAgZm9udC1zaXplOiA1NnB4OyB9IH1cblxuLnBhZ2UtaGVybyAuaGVyby1jb3B5IHAge1xuICBtYXgtd2lkdGg6IDUwMHB4O1xuICBmb250LWZhbWlseTogXCJQbGF5ZmFpciBEaXNwbGF5XCIsIHNlcmlmO1xuICBmb250LXNpemU6IDE4cHg7XG4gIGxpbmUtaGVpZ2h0OiAxLjVlbTtcbiAgbGV0dGVyLXNwYWNpbmc6IC4wNWVtO1xuICBjb2xvcjogaW5oZXJpdDtcbiAgdHJhbnNpdGlvbjogMC4zcyBjdWJpYy1iZXppZXIoMC40NywgMCwgMC43NDUsIDAuNzE1KTtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApO1xuICB0cmFuc2l0aW9uLWRlbGF5OiAuM3M7IH1cblxuLnBhZ2UtaGVybyAuaGVyby1mb3JtIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBtYXgtd2lkdGg6IDQwMHB4O1xuICBvcGFjaXR5OiAxO1xuICB0cmFuc2l0aW9uOiAwLjNzIGN1YmljLWJlemllcigwLjQ3LCAwLCAwLjc0NSwgMC43MTUpO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCk7XG4gIHRyYW5zaXRpb24tZGVsYXk6IC4zczsgfVxuXG4ucGFnZS1oZXJvIC5oZXJvLWZvcm0gLmlucHV0LXdpdGgtcGxhY2Vob2xkZXIge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHotaW5kZXg6IDE7IH1cblxuLnBhZ2UtaGVybyAuaGVyby1mb3JtIGJ1dHRvbiB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAwO1xuICByaWdodDogMDtcbiAgaGVpZ2h0OiAxMDAlO1xuICB6LWluZGV4OiAyO1xuICBiYWNrZ3JvdW5kOiAjRUVFO1xuICBib3JkZXItY29sb3I6ICNFRUU7IH1cblxuLnBhZ2UtaGVybyAuc2VjdGlvbi1sb2dvIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBtYXJnaW4tYm90dG9tOiA0MHB4O1xuICB0cmFuc2l0aW9uOiAwLjZzIGN1YmljLWJlemllcigwLjQ3LCAwLCAwLjc0NSwgMC43MTUpO1xuICBvcGFjaXR5OiAxO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCk7XG4gIHRyYW5zaXRpb24tZGVsYXk6IC44czsgfVxuXG4ucGFnZS1oZXJvIC5zZWN0aW9uLWxvZ28gaW1nIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHdpZHRoOiAxMDAlO1xuICBtYXgtd2lkdGg6IDE1MHB4OyB9XG5cbi5wYWdlLWhlcm8gLnRpdGxlLWltYWdlIHtcbiAgbWF4LXdpZHRoOiAzMDBweDtcbiAgd2lkdGg6IDgwJTsgfVxuXG4ucGFnZS1oZXJvIC53aWRlLWhlcm8gLnRpdGxlLWltYWdlIHtcbiAgbWF4LXdpZHRoOiA3MDBweDtcbiAgd2lkdGg6IDEwMCU7IH1cblxuLnBhZ2UtaGVybyAudGl0bGUtaW1hZ2UtdGV4dCB7XG4gIGRpc3BsYXk6IG5vbmU7IH1cblxuLnBhZ2UtaGVybyAuc2lkZS1pbWFnZSB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXI7XG4gIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gIGJhY2tncm91bmQtc2l6ZTogY29udGFpbjtcbiAgdHJhbnNpdGlvbjogMC4zcyBjdWJpYy1iZXppZXIoMC40NywgMCwgMC43NDUsIDAuNzE1KTtcbiAgb3BhY2l0eTogMTtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApO1xuICB0cmFuc2l0aW9uLWRlbGF5OiAuNnM7IH1cbiAgLnBhZ2UtaGVybyAuc2lkZS1pbWFnZSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG4gIC5wYWdlLWhlcm8gLnNpZGUtaW1hZ2U6YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIlwiO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIHBhZGRpbmctdG9wOiA1MCU7IH1cblxuLnBhZ2UtaGVybyAuaW1hZ2UtY29udGFpbmVyIHtcbiAgb3JkZXI6IDE7IH1cbiAgQG1lZGlhIChtaW4td2lkdGg6IDc2MHB4KSB7XG4gICAgLnBhZ2UtaGVybyAuaW1hZ2UtY29udGFpbmVyIHtcbiAgICAgIG9yZGVyOiAyOyB9IH1cblxuLnBhZ2UtaGVybyAuY29udGVudC1jb250YWluZXIge1xuICBvcmRlcjogMjsgfVxuICBAbWVkaWEgKG1pbi13aWR0aDogNzYwcHgpIHtcbiAgICAucGFnZS1oZXJvIC5jb250ZW50LWNvbnRhaW5lciB7XG4gICAgICBvcmRlcjogMTsgfSB9XG5cbi5wYWdlLWhlcm8gLmxvY2staWNvbiB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiA1MCU7XG4gIGxlZnQ6IDUwJTtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgLTUwJSk7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICB3aWR0aDogMTQwcHg7XG4gIGhlaWdodDogMTY4cHg7XG4gIHotaW5kZXg6IDE7IH1cblxuLnBhZ2UtaGVybyAubG9jay1pY29uIC5sb2NrLWJvZHkge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMDtcbiAgd2lkdGg6IDEwMCU7XG4gIHotaW5kZXg6IDI7IH1cblxuLnBhZ2UtaGVybyAubG9jay1pY29uIC5sb2NrLWJhcnMge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMDtcbiAgd2lkdGg6IDEwMCU7XG4gIHotaW5kZXg6IDE7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNDBweCk7XG4gIHRyYW5zaXRpb246IDAuM3MgY3ViaWMtYmV6aWVyKDAuMzksIDAuNTc1LCAwLjU2NSwgMSk7IH1cblxuLnBhZ2UtaGVybyAubG9jay1pY29uIC5jb2xvci13aGl0ZSB7XG4gIGZpbGw6ICNmZmY7IH1cblxuLnBhZ2UtaGVybyAubG9jay1pY29uIC5jb2xvci1ibGFjayB7XG4gIGZpbGw6ICMwMDAwMDA7IH1cblxuLnBhZ2UtaGVyby5vbGQtaGVybyB7XG4gIHRyYW5zaXRpb246IDAuM3MgY3ViaWMtYmV6aWVyKDAuMzksIDAuNTc1LCAwLjU2NSwgMSk7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgd2lkdGg6IDEwMCU7IH1cblxuLnBhZ2UtaGVyby5vbGQtaGVybyAuY29udGVudCB7XG4gIG9wYWNpdHk6IDAgIWltcG9ydGFudDsgfVxuXG4uc2l0ZS1mb290ZXIge1xuICB0cmFuc2l0aW9uOiAwLjNzIGN1YmljLWJlemllcigwLjQ3LCAwLCAwLjc0NSwgMC43MTUpO1xuICBvcGFjaXR5OiAxO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCk7IH1cblxuLnNpdGUtZm9vdGVyIG5hdiB7XG4gIHBhZGRpbmctdG9wOiA4MHB4O1xuICBwYWRkaW5nLWJvdHRvbTogNDBweDsgfVxuXG4uc2l0ZS1mb290ZXIgLnNpdGUtbG9nbyB7XG4gIHdpZHRoOiA0MHB4O1xuICBoZWlnaHQ6IDMycHg7IH1cblxuLnNpdGUtZm9vdGVyIC5zaXRlLW5hdixcbi5zaXRlLWZvb3RlciAuc2Vjb25kYXJ5LW5hdiB7XG4gIHBhZGRpbmctdG9wOiAwO1xuICBwYWRkaW5nLWJvdHRvbTogMDtcbiAgbWFyZ2luLXRvcDogMDtcbiAgbWFyZ2luLWJvdHRvbTogMDtcbiAgbGlzdC1zdHlsZTogbm9uZTtcbiAgdGV4dC1hbGlnbjogY2VudGVyOyB9XG5cbkBtZWRpYSAobWluLXdpZHRoOiA3NjBweCkge1xuICAuc2l0ZS1mb290ZXIgLnNpdGUtbmF2IHtcbiAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgIG1hcmdpbi1ib3R0b206IDIwcHg7IH0gfVxuXG5AbWVkaWEgKG1pbi13aWR0aDogMTA0MHB4KSB7XG4gIC5zaXRlLWZvb3RlciAuc2l0ZS1uYXYge1xuICAgIG1hcmdpbi1ib3R0b206IDA7IH0gfVxuXG5AbWVkaWEgKG1pbi13aWR0aDogMTA0MHB4KSB7XG4gIC5zaXRlLWZvb3RlciAuc2Vjb25kYXJ5LW5hdiB7XG4gICAgdGV4dC1hbGlnbjogcmlnaHQ7IH0gfVxuXG4uc2l0ZS1mb290ZXIgLnNlY29uZGFyeS1uYXY6YmVmb3JlIHtcbiAgY29udGVudDogXCJcIjtcbiAgaGVpZ2h0OiAxMDAlO1xuICB3aWR0aDogMDtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlOyB9XG5cbi5zaXRlLWZvb3RlciAuc2l0ZS1uYXYgbGksXG4uc2l0ZS1mb290ZXIgLnNlY29uZGFyeS1uYXYgbGkge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7IH1cblxuLnNpdGUtZm9vdGVyIC5zaXRlLW5hdiBsaTpub3QoOmZpcnN0LWNoaWxkKSB7XG4gIG1hcmdpbi1sZWZ0OiAxNnB4OyB9XG5cbi5zaXRlLWZvb3RlciAuc2Vjb25kYXJ5LW5hdiBsaTpub3QoOmxhc3QtY2hpbGQpIHtcbiAgbWFyZ2luLXJpZ2h0OiAxNnB4OyB9XG5cbi5zaXRlLWZvb3RlciBzdmcge1xuICBmaWxsOiAjMDAwMDAwOyB9XG5cbi5zaXRlLWZvb3RlciBhIHtcbiAgLXdlYmtpdC1mb250LXNtb290aGluZzogYW50aWFsaWFzZWQ7XG4gIC1tb3otb3N4LWZvbnQtc21vb3RoaW5nOiBncmF5c2NhbGU7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGZvbnQtZmFtaWx5OiBcIkhlZWJvXCIsIHNhbnMtc2VyaWY7XG4gIGZvbnQtc2l6ZTogMTJweDtcbiAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgbGV0dGVyLXNwYWNpbmc6IC4wNWVtO1xuICBsaW5lLWhlaWdodDogMjJweDtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICBjb2xvcjogIzAwMDAwMDsgfVxuXG4uc2l0ZS1mb290ZXIgLnNlY29uZGFyeS1uYXYgYSB7XG4gIG9wYWNpdHk6IC42OyB9XG5cbi5zaXRlLWZvb3RlciAuY29weXJpZ2h0IHtcbiAgLXdlYmtpdC1mb250LXNtb290aGluZzogYW50aWFsaWFzZWQ7XG4gIC1tb3otb3N4LWZvbnQtc21vb3RoaW5nOiBncmF5c2NhbGU7XG4gIGZvbnQtZmFtaWx5OiBcIkhlZWJvXCIsIHNhbnMtc2VyaWY7XG4gIGZvbnQtc2l6ZTogMTJweDtcbiAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgbGV0dGVyLXNwYWNpbmc6IC4wNWVtO1xuICBsaW5lLWhlaWdodDogMjJweDtcbiAgY29sb3I6ICM2NjY7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgbWFyZ2luLXRvcDogMjBweDsgfVxuXG4ud29yay1saXN0aW5nIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB6LWluZGV4OiAzMDtcbiAgbWFyZ2luLXRvcDogLTgwcHg7XG4gIHRyYW5zaXRpb246IDAuM3MgY3ViaWMtYmV6aWVyKDAuNDcsIDAsIDAuNzQ1LCAwLjcxNSk7XG4gIG9wYWNpdHk6IDE7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTsgfVxuXG4ud29yay1saXN0aW5nIC53b3JrLWl0ZW0ge1xuICBtYXJnaW4tYm90dG9tOiA0MHB4OyB9XG5cbi53b3JrLWxpc3RpbmcgLndvcmstaXRlbSAuaW1hZ2Uge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGJhY2tncm91bmQtY29sb3I6ICM2NjY7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlcjtcbiAgYmFja2dyb3VuZC1zaXplOiBjb3ZlcjtcbiAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gIG92ZXJmbG93OiBoaWRkZW47IH1cbiAgLndvcmstbGlzdGluZyAud29yay1pdGVtIC5pbWFnZSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG4gIC53b3JrLWxpc3RpbmcgLndvcmstaXRlbSAuaW1hZ2U6YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIlwiO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIHBhZGRpbmctdG9wOiA1NSU7IH1cblxuLndvcmstbGlzdGluZyAuYmFja2dyb3VuZC12aWRlbyB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiA1MCU7XG4gIGxlZnQ6IDUwJTtcbiAgd2lkdGg6IDEyMCU7XG4gIGhlaWdodDogMTIwJTtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgLTUwJSk7IH1cblxuLndvcmstbGlzdGluZyB2aWRlbyB7XG4gIHdpZHRoOiAxMDAlOyB9XG5cbi53b3JrLWxpc3RpbmcgLndvcmstaXRlbSBoMiB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBtYXJnaW46IDIwcHggMCAxNXB4O1xuICBmb250LWZhbWlseTogXCJIZWVib1wiLCBzYW5zLXNlcmlmO1xuICBmb250LXNpemU6IDI2cHg7XG4gIGxldHRlci1zcGFjaW5nOiAuMDI1ZW07XG4gIGNvbG9yOiAjMDAwMDAwOyB9XG5cbi53b3JrLWxpc3RpbmcgLndvcmstaXRlbSBwIHtcbiAgbWFyZ2luOiAwO1xuICBmb250LWZhbWlseTogXCJQbGF5ZmFpciBEaXNwbGF5XCIsIHNlcmlmO1xuICBmb250LXNpemU6IDE2cHg7XG4gIGxpbmUtaGVpZ2h0OiAxLjVlbTtcbiAgY29sb3I6ICMwMDAwMDA7XG4gIG9wYWNpdHk6IC43OyB9XG5cbi53b3JrLWxpc3RpbmcgLndvcmstaXRlbSBhIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTsgfVxuXG4ud29yay1saXN0aW5nIC5jb21pbmctc29vbi1ub3RpY2Uge1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIHBhZGRpbmctdG9wOiAxNjBweDsgfVxuXG4uZW50cnktY29udGVudCB7XG4gIG1hcmdpbjogNDBweCAwO1xuICB0cmFuc2l0aW9uOiAwLjNzIGN1YmljLWJlemllcigwLjQ3LCAwLCAwLjc0NSwgMC43MTUpO1xuICBvcGFjaXR5OiAxO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCk7IH1cblxuLmVudHJ5LWNvbnRlbnQgLm1vZHVsZS1oZWFkZXItMSxcbi5lbnRyeS1jb250ZW50IC5tb2R1bGUtYnJlYWssXG4uZW50cnktY29udGVudCAuY2FudmFzLW1vZHVsZSB7XG4gIG1hcmdpbi10b3A6IDQwcHg7IH1cbiAgQG1lZGlhIChtaW4td2lkdGg6IDc2MHB4KSB7XG4gICAgLmVudHJ5LWNvbnRlbnQgLm1vZHVsZS1oZWFkZXItMSxcbiAgICAuZW50cnktY29udGVudCAubW9kdWxlLWJyZWFrLFxuICAgIC5lbnRyeS1jb250ZW50IC5jYW52YXMtbW9kdWxlIHtcbiAgICAgIG1hcmdpbi10b3A6IDYwcHg7IH0gfVxuICBAbWVkaWEgKG1pbi13aWR0aDogMTA0MHB4KSB7XG4gICAgLmVudHJ5LWNvbnRlbnQgLm1vZHVsZS1oZWFkZXItMSxcbiAgICAuZW50cnktY29udGVudCAubW9kdWxlLWJyZWFrLFxuICAgIC5lbnRyeS1jb250ZW50IC5jYW52YXMtbW9kdWxlIHtcbiAgICAgIG1hcmdpbi10b3A6IDgwcHg7IH0gfVxuXG4uZW50cnktY29udGVudCAubW9kdWxlLWhlYWRlci0xIHtcbiAgbWFyZ2luLWJvdHRvbTogMTBweDsgfVxuICBAbWVkaWEgKG1pbi13aWR0aDogNzYwcHgpIHtcbiAgICAuZW50cnktY29udGVudCAubW9kdWxlLWhlYWRlci0xIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDIwcHg7IH0gfVxuICBAbWVkaWEgKG1pbi13aWR0aDogMTA0MHB4KSB7XG4gICAgLmVudHJ5LWNvbnRlbnQgLm1vZHVsZS1oZWFkZXItMSB7XG4gICAgICBtYXJnaW4tYm90dG9tOiA0MHB4OyB9IH1cblxuLmVudHJ5LWNvbnRlbnQgLm1vZHVsZS1icmVhayB7XG4gIG1hcmdpbi1ib3R0b206IDQwcHg7IH1cbiAgQG1lZGlhIChtaW4td2lkdGg6IDc2MHB4KSB7XG4gICAgLmVudHJ5LWNvbnRlbnQgLm1vZHVsZS1icmVhayB7XG4gICAgICBtYXJnaW4tYm90dG9tOiA2MHB4OyB9IH1cbiAgQG1lZGlhIChtaW4td2lkdGg6IDEwNDBweCkge1xuICAgIC5lbnRyeS1jb250ZW50IC5tb2R1bGUtYnJlYWsge1xuICAgICAgbWFyZ2luLWJvdHRvbTogODBweDsgfSB9XG5cbi5lbnRyeS1jb250ZW50IC5pbWFnZS10aXRsZSB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuXG4uZW50cnktY29udGVudCAuaW1hZ2UtdGl0bGUgaW1nIHtcbiAgbWF4LXdpZHRoOiA3MDBweDtcbiAgbWFyZ2luOiAwOyB9XG5cbi5lbnRyeS1jb250ZW50IC5oaWRkZW4tYnktaW1hZ2Uge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogNTAlO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7XG4gIGNvbG9yOiB0cmFuc3BhcmVudDtcbiAgbWFyZ2luOiAwOyB9XG5cbi5lbnRyeS1jb250ZW50IC5idXR0b24tbW9kdWxlIHtcbiAgbWFyZ2luLXRvcDogNDBweDtcbiAgbWFyZ2luLWJvdHRvbTogODBweDsgfVxuICBAbWVkaWEgKG1pbi13aWR0aDogNzYwcHgpIHtcbiAgICAuZW50cnktY29udGVudCAuYnV0dG9uLW1vZHVsZSB7XG4gICAgICBtYXJnaW4tdG9wOiA2MHB4O1xuICAgICAgbWFyZ2luLWJvdHRvbTogMTIwcHg7IH0gfVxuICBAbWVkaWEgKG1pbi13aWR0aDogMTA0MHB4KSB7XG4gICAgLmVudHJ5LWNvbnRlbnQgLmJ1dHRvbi1tb2R1bGUge1xuICAgICAgbWFyZ2luLXRvcDogODBweDtcbiAgICAgIG1hcmdpbi1ib3R0b206IDE2MHB4OyB9IH1cblxuLmVudHJ5LWNvbnRlbnQgLmltYWdlLWNvbnRhaW5lciB7XG4gIHdpZHRoOiAxMDAlOyB9XG5cbi5lbnRyeS1jb250ZW50IGZpZ3VyZSB7XG4gIG1hcmdpbjogMTBweCAwIDQwcHg7IH1cblxuLmVudHJ5LWNvbnRlbnQgZmlndXJlIGltZyB7XG4gIGJvcmRlcjogMXB4IHNvbGlkICNFRUU7IH1cblxuLmVudHJ5LWNvbnRlbnQgZmlnY2FwdGlvbiB7XG4gIG1hcmdpbi10b3A6IDEwcHg7IH1cblxuLmVudHJ5LWNvbnRlbnQgaW1nIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IGF1dG87XG4gIG1hcmdpbjogMjBweCBhdXRvOyB9XG5cbi5lbnRyeS1jb250ZW50IC5jb2RlLW1vZHVsZSAuZmlsZS1uYW1lIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHdpZHRoOiAxMDAlO1xuICBwYWRkaW5nOiAxMHB4O1xuICBmb250LWZhbWlseTogXCJIZWVib1wiLCBzYW5zLXNlcmlmO1xuICBmb250LXNpemU6IDE2cHg7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7XG4gIGJhY2tncm91bmQtY29sb3I6ICM2Q0YzRDU7XG4gIGNvbG9yOiAjMDAwMDAwOyB9XG4gIEBtZWRpYSAobWluLXdpZHRoOiA3NjBweCkge1xuICAgIC5lbnRyeS1jb250ZW50IC5jb2RlLW1vZHVsZSAuZmlsZS1uYW1lIHtcbiAgICAgIHBhZGRpbmc6IDEwcHggMjBweDsgfSB9XG5cbi5lbnRyeS1jb250ZW50IC5jb2RlLW1vZHVsZSBwcmUge1xuICBiYWNrZ3JvdW5kOiAjZmFmYWZhO1xuICBwYWRkaW5nOiAxMHB4O1xuICBib3JkZXI6IDFweCBzb2xpZCAjZWVlO1xuICBtYXJnaW46IDA7IH1cbiAgQG1lZGlhIChtaW4td2lkdGg6IDc2MHB4KSB7XG4gICAgLmVudHJ5LWNvbnRlbnQgLmNvZGUtbW9kdWxlIHByZSB7XG4gICAgICBwYWRkaW5nOiAyMHB4OyB9IH1cblxuLmVudHJ5LWNvbnRlbnQgLmNvZGUtbW9kdWxlIGNvZGUge1xuICBiYWNrZ3JvdW5kOiAjZmFmYWZhOyB9XG5cbi5lbnRyeS1jb250ZW50IGE6bm90KC5idXR0b24pIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHotaW5kZXg6IDE7XG4gIGNvbG9yOiAjNjY2O1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7IH1cblxuLmVudHJ5LWNvbnRlbnQgYTpub3QoLmJ1dHRvbik6OmFmdGVyIHtcbiAgY29udGVudDogXCJcIjtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBsZWZ0OiAwO1xuICBib3R0b206IDA7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAxMDAlO1xuICB0cmFuc2Zvcm06IHNjYWxlWSgwLjE0KTtcbiAgdHJhbnNmb3JtLW9yaWdpbjogYm90dG9tO1xuICBvcGFjaXR5OiAuMztcbiAgei1pbmRleDogLTE7XG4gIHRyYW5zaXRpb246IDAuM3MgY3ViaWMtYmV6aWVyKDAuMjE1LCAwLjYxLCAwLjM1NSwgMSk7IH1cblxuLmVudHJ5LWNvbnRlbnQgYTo6YWZ0ZXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjNkNGM0Q1OyB9XG5cbi5lbnRyeS1jb250ZW50IGE6aG92ZXI6OmFmdGVyIHtcbiAgdHJhbnNmb3JtOiBzY2FsZVkoMSk7IH1cblxuLmVudHJ5LWNvbnRlbnQgLmJ1dHRvbi1jb250YWluIHtcbiAgdGV4dC1hbGlnbjogY2VudGVyOyB9XG5cbi5lbnRyeS1jb250ZW50IC5zbGlkZS1idXR0b25zLWNvbnRhaW4ge1xuICBkaXNwbGF5OiBibG9jaztcbiAgd2lkdGg6IDEwMCU7IH1cblxuLmVudHJ5LWNvbnRlbnQgLnNsaWRlLWJ1dHRvbnMtY29udGFpbiAubmV4dC1idXR0b24ge1xuICBmbG9hdDogcmlnaHQ7IH1cblxuLmVudHJ5LWNvbnRlbnQgLnNsaWRlc2hvdy1tb2R1bGUge1xuICBtYXJnaW4tdG9wOiA2MHB4OyB9XG4gIEBtZWRpYSAobWluLXdpZHRoOiA3NjBweCkge1xuICAgIC5lbnRyeS1jb250ZW50IC5zbGlkZXNob3ctbW9kdWxlIHtcbiAgICAgIG1hcmdpbi10b3A6IDEwMHB4OyB9IH1cbiAgQG1lZGlhIChtaW4td2lkdGg6IDEwNDBweCkge1xuICAgIC5lbnRyeS1jb250ZW50IC5zbGlkZXNob3ctbW9kdWxlIHtcbiAgICAgIG1hcmdpbi10b3A6IDEyMHB4OyB9IH1cblxuLmVudHJ5LWNvbnRlbnQgLmNhbnZhcy1tb2R1bGUge1xuICBib3JkZXItdG9wOiA1cHggc29saWQgI0YwREI0RjtcbiAgYm9yZGVyLWJvdHRvbTogNXB4IHNvbGlkICNGMERCNEY7IH1cblxuLmVudHJ5LWNvbnRlbnQgLmNhbnZhcy1tb2R1bGUgLmNhbnZhcy1jb250YWluIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB6LWluZGV4OiAxO1xuICBoZWlnaHQ6IDYwMHB4O1xuICBvdmVyZmxvdzogaGlkZGVuOyB9XG5cbi5ob2xpZGF5LWNhcmQtMTggLnBhZ2UtaGVybyB7XG4gIHBhZGRpbmc6IDA7IH1cblxuLmhvbGlkYXktY2FyZC0xOCAucGFnZS1oZXJvIC5jb250ZW50IHtcbiAgcGFkZGluZzogMDtcbiAgbWFyZ2luOiAwOyB9XG5cbi5ob2xpZGF5LWNhcmQtMTggLnBhZ2UtaGVybyAudGl0bGUtaW1hZ2Uge1xuICB3aWR0aDogMTAwJTtcbiAgbWF4LXdpZHRoOiAxMDAlOyB9XG5cbi5ob2xpZGF5LWNhcmQtMTggLmVudHJ5LWNvbnRlbnQgLmlmcmFtZS1jdG4ge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cbiAgLmhvbGlkYXktY2FyZC0xOCAuZW50cnktY29udGVudCAuaWZyYW1lLWN0biB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG4gIC5ob2xpZGF5LWNhcmQtMTggLmVudHJ5LWNvbnRlbnQgLmlmcmFtZS1jdG46YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIlwiO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIHBhZGRpbmctdG9wOiA1Ni4yNSU7IH1cblxuLmhvbGlkYXktY2FyZC0xOCAuZW50cnktY29udGVudCAuaWZyYW1lLWN0biBpZnJhbWUge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMDtcbiAgbGVmdDogMDtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogMTAwJTsgfVxuXG5AbWVkaWEgKG1heC13aWR0aDogNzYwcHgpIHtcbiAgLnNtYWxsLW5hdi1kaXNwbGF5IC5tb2JpbGUtbmF2LWxpc3Qge1xuICAgIGRpc3BsYXk6IGJsb2NrOyB9IH1cblxuLnNtYWxsLW5hdi1vcGVuIC5zaXRlLWhlYWRlci5saWdodC1oZWFkZXIge1xuICBjb2xvcjogIzAwMDAwMDtcbiAgZmlsbDogIzAwMDAwMDsgfVxuXG4uc21hbGwtbmF2LW9wZW4gLm1vYmlsZS1uYXYtbGlzdDo6YmVmb3JlIHtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApO1xuICBvcGFjaXR5OiAxO1xuICB0cmFuc2l0aW9uOiAwLjlzIGN1YmljLWJlemllcigwLjI1LCAwLjQ2LCAwLjQ1LCAwLjk0KTsgfVxuXG4uc21hbGwtbmF2LW9wZW4gLm1vYmlsZS1uYXYtbGlzdCBsaSB7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTtcbiAgb3BhY2l0eTogMTtcbiAgdHJhbnNpdGlvbjogMC4zcyBjdWJpYy1iZXppZXIoMC4yNSwgMC40NiwgMC40NSwgMC45NCk7IH1cblxuLnNtYWxsLW5hdi1vcGVuIC5tb2JpbGUtbmF2LWxpc3QgbGk6bnRoLWNoaWxkKDEpIHtcbiAgdHJhbnNpdGlvbi1kZWxheTogMC4zczsgfVxuXG4uc21hbGwtbmF2LW9wZW4gLm1vYmlsZS1uYXYtbGlzdCBsaTpudGgtY2hpbGQoMikge1xuICB0cmFuc2l0aW9uLWRlbGF5OiAwLjRzOyB9XG5cbi5zbWFsbC1uYXYtb3BlbiAubW9iaWxlLW5hdi1saXN0IGxpOm50aC1jaGlsZCgzKSB7XG4gIHRyYW5zaXRpb24tZGVsYXk6IDAuNXM7IH1cblxuLnNtYWxsLW5hdi1vcGVuIC5tb2JpbGUtbmF2LWxpc3QgbGk6bnRoLWNoaWxkKDQpIHtcbiAgdHJhbnNpdGlvbi1kZWxheTogMC42czsgfVxuXG4uc21hbGwtbmF2LW9wZW4gLm1vYmlsZS1uYXYtbGlzdCBsaTpudGgtY2hpbGQoNSkge1xuICB0cmFuc2l0aW9uLWRlbGF5OiAwLjdzOyB9XG5cbi5zbWFsbC1uYXYtb3BlbiAubW9iaWxlLW5hdi1saXN0IGxpOm50aC1jaGlsZCg2KSB7XG4gIHRyYW5zaXRpb24tZGVsYXk6IDAuOHM7IH1cblxuLnNtYWxsLW5hdi1vcGVuIC5tb2JpbGUtbmF2LWxpc3QgbGk6bnRoLWNoaWxkKDcpIHtcbiAgdHJhbnNpdGlvbi1kZWxheTogMC45czsgfVxuXG4uc21hbGwtbmF2LW9wZW4gLm1vYmlsZS1uYXYtbGlzdCBsaTpudGgtY2hpbGQoOCkge1xuICB0cmFuc2l0aW9uLWRlbGF5OiAxczsgfVxuXG4uc21hbGwtbmF2LW9wZW4gLm1vYmlsZS1uYXYtbGlzdCBsaTpudGgtY2hpbGQoOSkge1xuICB0cmFuc2l0aW9uLWRlbGF5OiAxLjFzOyB9XG5cbi5zbWFsbC1uYXYtb3BlbiAubW9iaWxlLW5hdi1saXN0IGxpOm50aC1jaGlsZCgxMCkge1xuICB0cmFuc2l0aW9uLWRlbGF5OiAxLjJzOyB9XG5cbi5zbWFsbC1uYXYtb3BlbiAubW9iaWxlLW5hdi1saXN0IGxpOm50aC1jaGlsZCgxMSkge1xuICB0cmFuc2l0aW9uLWRlbGF5OiAxLjNzOyB9XG5cbi5zbWFsbC1uYXYtb3BlbiAubW9iaWxlLW5hdi1saXN0IGxpOm50aC1jaGlsZCgxMikge1xuICB0cmFuc2l0aW9uLWRlbGF5OiAxLjRzOyB9XG5cbi5zbWFsbC1uYXYtb3BlbiAubW9iaWxlLW5hdi1saXN0IGxpOm50aC1jaGlsZCgxMykge1xuICB0cmFuc2l0aW9uLWRlbGF5OiAxLjVzOyB9XG5cbi5zbWFsbC1uYXYtb3BlbiAubW9iaWxlLW5hdi1saXN0IGxpOm50aC1jaGlsZCgxNCkge1xuICB0cmFuc2l0aW9uLWRlbGF5OiAxLjZzOyB9XG5cbi5zbWFsbC1uYXYtb3BlbiAubW9iaWxlLW5hdi1saXN0IGxpOm50aC1jaGlsZCgxNSkge1xuICB0cmFuc2l0aW9uLWRlbGF5OiAxLjdzOyB9XG5cbi5zbWFsbC1uYXYtb3BlbiAubW9iaWxlLW5hdi1saXN0IGxpOm50aC1jaGlsZCgxNikge1xuICB0cmFuc2l0aW9uLWRlbGF5OiAxLjhzOyB9XG5cbi5zbWFsbC1uYXYtb3BlbiAubW9iaWxlLW5hdi1saXN0IGxpOm50aC1jaGlsZCgxNykge1xuICB0cmFuc2l0aW9uLWRlbGF5OiAxLjlzOyB9XG5cbi5zbWFsbC1uYXYtb3BlbiAubW9iaWxlLW5hdi1saXN0IGxpOm50aC1jaGlsZCgxOCkge1xuICB0cmFuc2l0aW9uLWRlbGF5OiAyczsgfVxuXG4uc21hbGwtbmF2LW9wZW4gLm1vYmlsZS1uYXYtbGlzdCBsaTpudGgtY2hpbGQoMTkpIHtcbiAgdHJhbnNpdGlvbi1kZWxheTogMi4xczsgfVxuXG4uc21hbGwtbmF2LW9wZW4gLm1vYmlsZS1uYXYtbGlzdCBsaTpudGgtY2hpbGQoMjApIHtcbiAgdHJhbnNpdGlvbi1kZWxheTogMi4yczsgfVxuXG4uc21hbGwtbmF2LW9wZW4gLnNpdGUtaGVhZGVyIC5oYW1idXJnZXItaWNvbiB7XG4gIHRyYW5zZm9ybTogcm90YXRlKDQ1ZGVnKTtcbiAgdHJhbnNpdGlvbjogMC4zcyBjdWJpYy1iZXppZXIoMC41NSwgMC4wODUsIDAuNjgsIDAuNTMpOyB9XG5cbi5zbWFsbC1uYXYtb3BlbiAuc2l0ZS1oZWFkZXIgLmhhbWJ1cmdlci1pY29uIGRpdiB7XG4gIGNvbG9yOiAjMDAwMDAwOyB9XG5cbi5zbWFsbC1uYXYtb3BlbiAuc2l0ZS1oZWFkZXIgLmhhbWJ1cmdlci1pY29uIGRpdjpudGgtY2hpbGQoMSkge1xuICBvcGFjaXR5OiAwO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTEwcHgpO1xuICB0cmFuc2l0aW9uOiAwLjNzIGN1YmljLWJlemllcigwLjU1LCAwLjA4NSwgMC42OCwgMC41Myk7IH1cblxuLnNtYWxsLW5hdi1vcGVuIC5zaXRlLWhlYWRlciAuaGFtYnVyZ2VyLWljb24gZGl2Om50aC1jaGlsZCgyKTo6YmVmb3JlIHtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgLTUwJSkgc2NhbGVZKDEpO1xuICB0cmFuc2l0aW9uOiAwLjNzIGN1YmljLWJlemllcigwLjU1LCAwLjA4NSwgMC42OCwgMC41Myk7IH1cblxuLnNtYWxsLW5hdi1vcGVuIC5zaXRlLWhlYWRlciAuaGFtYnVyZ2VyLWljb24gZGl2Om50aC1jaGlsZCgzKSB7XG4gIG9wYWNpdHk6IDA7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgxMHB4KTtcbiAgdHJhbnNpdGlvbjogMC4zcyBjdWJpYy1iZXppZXIoMC41NSwgMC4wODUsIDAuNjgsIDAuNTMpOyB9XG5cbi5wYWdlLXRyYW5zaXRpb25pbmcge1xuICBoZWlnaHQ6IDEwMCU7XG4gIG92ZXJmbG93OiBoaWRkZW47IH1cblxuLnBhZ2UtdHJhbnNpdGlvbmluZyAuc2l0ZS1oZWFkZXIgLmJhY2tncm91bmQtY29sb3Ige1xuICBvcGFjaXR5OiAwOyB9XG5cbi5wYWdlLXRyYW5zaXRpb25pbmcgLmxvYWRpbmctZ2F0ZSB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBoZWlnaHQ6IDEwMCU7XG4gIG9wYWNpdHk6IDE7XG4gIHRyYW5zaXRpb246IGhlaWdodCAwcyBsaW5lYXIgMHMsIG9wYWNpdHkgLjNzIGVhc2Utb3V0IC4xczsgfVxuXG4ucGFnZS10cmFuc2l0aW9uaW5nIC5laC1sb2dvICoge1xuICBhbmltYXRpb24tcGxheS1zdGF0ZTogcnVubmluZzsgfVxuXG4ucGFnZS10cmFuc2l0aW9uaW5nIC5wYWdlLWhlcm8gLmJhY2tncm91bmQtY29sb3IsXG4ucGFnZS10cmFuc2l0aW9uaW5nIC5wYWdlLWhlcm8gLmJhY2tncm91bmQtdmlkZW8ge1xuICB0cmFuc2l0aW9uOiAwLjNzIGN1YmljLWJlemllcigwLjM5LCAwLjU3NSwgMC41NjUsIDEpO1xuICBvcGFjaXR5OiAwO1xuICB0cmFuc2l0aW9uLWRlbGF5OiAuM3M7IH1cblxuLnBhZ2UtdHJhbnNpdGlvbmluZyAucGFnZS1oZXJvIC5iYWNrZ3JvdW5kLWltYWdlIHtcbiAgdHJhbnNpdGlvbjogMC4zcyBjdWJpYy1iZXppZXIoMC4zOSwgMC41NzUsIDAuNTY1LCAxKTtcbiAgb3BhY2l0eTogMDtcbiAgdHJhbnNpdGlvbi1kZWxheTogLjBzOyB9XG5cbi5wYWdlLXRyYW5zaXRpb25pbmcgLnBhZ2UtaGVybyAuaGVhZGVyIHtcbiAgdHJhbnNpdGlvbjogMC4zcyBjdWJpYy1iZXppZXIoMC4zOSwgMC41NzUsIDAuNTY1LCAxKTtcbiAgb3BhY2l0eTogMDtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDUwcHgpOyB9XG5cbi5wYWdlLXRyYW5zaXRpb25pbmcgLnBhZ2UtaGVybyAuc2VjdGlvbi1sb2dvIHtcbiAgdHJhbnNpdGlvbjogMC42cyBjdWJpYy1iZXppZXIoMC4zOSwgMC41NzUsIDAuNTY1LCAxKTtcbiAgb3BhY2l0eTogMDtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MHB4KTtcbiAgdHJhbnNpdGlvbi1kZWxheTogLjBzOyB9XG5cbi5wYWdlLXRyYW5zaXRpb25pbmcgLnBhZ2UtaGVybyAuaGVyby1jb3B5IHAge1xuICB0cmFuc2l0aW9uOiAwLjNzIGN1YmljLWJlemllcigwLjM5LCAwLjU3NSwgMC41NjUsIDEpO1xuICBvcGFjaXR5OiAwO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoNTBweCk7IH1cblxuLnBhZ2UtdHJhbnNpdGlvbmluZyAucGFnZS1oZXJvIC5zaWRlLWltYWdlIHtcbiAgdHJhbnNpdGlvbjogMC4zcyBjdWJpYy1iZXppZXIoMC4zOSwgMC41NzUsIDAuNTY1LCAxKTtcbiAgb3BhY2l0eTogMDtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDUwcHgpO1xuICB0cmFuc2l0aW9uLWRlbGF5OiAuMHM7IH1cblxuLnBhZ2UtdHJhbnNpdGlvbmluZyAucGFnZS1oZXJvIC5oZXJvLWZvcm0ge1xuICB0cmFuc2l0aW9uOiAwLjNzIGN1YmljLWJlemllcigwLjM5LCAwLjU3NSwgMC41NjUsIDEpO1xuICBvcGFjaXR5OiAwO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoNTBweCk7XG4gIHRyYW5zaXRpb24tZGVsYXk6IC4wczsgfVxuXG4ucGFnZS10cmFuc2l0aW9uaW5nIC5wYWdlLWhlcm8ub2xkLWhlcm8gLmJhY2tncm91bmQtY29sb3IsXG4ucGFnZS10cmFuc2l0aW9uaW5nIC5wYWdlLWhlcm8ub2xkLWhlcm8gLmJhY2tncm91bmQtdmlkZW8ge1xuICBvcGFjaXR5OiAxOyB9XG5cbi5wYWdlLXRyYW5zaXRpb25pbmcgLndvcmstbGlzdGluZyB7XG4gIHRyYW5zaXRpb246IDAuM3MgY3ViaWMtYmV6aWVyKDAuMzksIDAuNTc1LCAwLjU2NSwgMSk7XG4gIG9wYWNpdHk6IDA7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWSg1MHB4KTsgfVxuXG4ucGFnZS10cmFuc2l0aW9uaW5nIC5zaXRlLWZvb3RlciB7XG4gIHRyYW5zaXRpb246IDAuM3MgY3ViaWMtYmV6aWVyKDAuMzksIDAuNTc1LCAwLjU2NSwgMSk7XG4gIG9wYWNpdHk6IDA7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWSg1MHB4KTsgfVxuXG4ucGFnZS10cmFuc2l0aW9uaW5nIC5lbnRyeS1jb250ZW50IHtcbiAgdHJhbnNpdGlvbjogMC4zcyBjdWJpYy1iZXppZXIoMC4zOSwgMC41NzUsIDAuNTY1LCAxKTtcbiAgb3BhY2l0eTogMDtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDUwcHgpOyB9XG5cbi5yZXNldC1zY3JvbGwgLnJvdXRlciB7XG4gIGhlaWdodDogMDtcbiAgb3ZlcmZsb3c6IGhpZGRlbjsgfVxuXG4ucGFnZS1sb2NrZWQgLnBhZ2UtaGVybyAubG9jay1pY29uIC5sb2NrLWJhcnMge1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCk7XG4gIHRyYW5zaXRpb246IDAuM3MgY3ViaWMtYmV6aWVyKDAuMTc1LCAwLjg4NSwgMC4zMiwgMS4yNzUpOyB9XG5cbi5sb2dpbi1mYWlsZWQgLnBhZ2UtaGVybyAuYmFja2dyb3VuZC1jb2xvciB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNFRjZFNkY7IH1cblxuLmxvZ2luLWZhaWxlZCAucGFnZS1oZXJvIC5oZXJvLWZvcm0ge1xuICBhbmltYXRpb246IHNoYWtlIDAuODJzIGN1YmljLWJlemllcigwLjM2LCAwLjA3LCAwLjE5LCAwLjk3KSBib3RoO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICBiYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47XG4gIHBlcnNwZWN0aXZlOiAxMDAwcHg7IH1cbiIsImEgc3Zne1xuXHRwb2ludGVyLWV2ZW50czogbm9uZTtcbn1cbiIsImJvZHl7XG5cdGZvbnQtZmFtaWx5OiAkZm9udC1ib2R5O1xufVxuYm9keS5zbWFsbC1uYXYtb3Blbntcblx0b3ZlcmZsb3c6IGhpZGRlbjtcbn1cbiIsIiRmb250LWhlYWRlcjogJ0hlZWJvJywgc2Fucy1zZXJpZjtcbiRmb250LWJvZHk6ICdQbGF5ZmFpciBEaXNwbGF5Jywgc2VyaWY7XG4iLCJwLCBsaXtcbiAgJnt9XG4gIC5obGpzLXRpdGxle1xuICAgIGNvbG9yOiBpbmhlcml0O1xuICB9XG59XG4iLCJidXR0b246Zm9jdXMgeyBvdXRsaW5lOiB0aGluIGRvdHRlZDsgfVxuIiwiLmdsb2JhbC1zdmd7XG4gIGRpc3BsYXk6IG5vbmU7XG59XG4iLCIvLyBoZWFkZXJzXG4ubW9kdWxlLWhlYWRlci0xe1xuXHRkaXNwbGF5OiBibG9jaztcblx0bWFyZ2luOiAwIDAgMzBweDtcblx0Zm9udC1mYW1pbHk6ICRmb250LWhlYWRlcjtcblx0Zm9udC1zaXplOiAzNnB4O1xuXHRmb250LXdlaWdodDogNzAwO1xuXHRsZXR0ZXItc3BhY2luZzogLjA1ZW07XG5cdGxpbmUtaGVpZ2h0OiAxLjVlbTtcbn1cbmgze1xuXHRkaXNwbGF5OiBibG9jaztcblx0bWFyZ2luOiAyMHB4IDA7XG5cdGZvbnQtZmFtaWx5OiAkZm9udC1ib2R5O1xuXHRmb250LXNpemU6IDI4cHg7XG5cdGZvbnQtd2VpZ2h0OiA3MDA7XG5cdGxldHRlci1zcGFjaW5nOiAuMDVlbTtcblx0bGluZS1oZWlnaHQ6IDEuNWVtO1xuXHRjb2xvcjogJGJsYWNrXG59XG5cbi8vIGNvcHlcbi5ib2R5LWNvcHl7XG5cdGRpc3BsYXk6IGJsb2NrO1xuXHRtYXJnaW46IDA7XG5cdGZvbnQtZmFtaWx5OiAkZm9udC1ib2R5O1xuXHRmb250LXNpemU6IDE4cHg7XG5cdGZvbnQtd2VpZ2h0OiA0MDA7XG5cdGxldHRlci1zcGFjaW5nOiAuMDVlbTtcblx0bGluZS1oZWlnaHQ6IDJlbTtcblx0Y29sb3I6ICRncmV5O1xufVxuLnNtYWxsLWJvZHktY29weXtcblx0ZGlzcGxheTogYmxvY2s7XG5cdG1hcmdpbjogMDtcblx0Zm9udC1mYW1pbHk6ICRmb250LWJvZHk7XG5cdGZvbnQtc2l6ZTogMTRweDtcblx0Zm9udC13ZWlnaHQ6IDQwMDtcblx0bGV0dGVyLXNwYWNpbmc6IC4wNWVtO1xuXHRsaW5lLWhlaWdodDogMmVtO1xuXHRjb2xvcjogJGdyZXk7XG59XG4ubGFyZ2UtYm9keS1jb3B5e1xuXHRkaXNwbGF5OiBibG9jaztcblx0bWFyZ2luOiAwO1xuXHRmb250LWZhbWlseTogJGZvbnQtYm9keTtcblx0Zm9udC1zaXplOiAyMXB4O1xuXHRmb250LXdlaWdodDogNDAwO1xuXHRsZXR0ZXItc3BhY2luZzogLjA1ZW07XG5cdGxpbmUtaGVpZ2h0OiAyZW07XG5cdGNvbG9yOiAkZ3JleTtcbn1cbiIsIi8vIHNvbGlkIGNvbG9yc1xuJGJsYWNrOiAjMDAwMDAwO1xuJHdoaXRlOiAjRkZGRkZGO1xuJGdyZXk6ICM2NjY7XG4kZGFyay1ncmV5OiBkYXJrZW4oJGdyZXksMjApO1xuJGxpZ2h0LWdyZXk6IGxpZ2h0ZW4oJGdyZXksMTApO1xuJHNvZnQtZ3JleTogI0VFRTtcbiRzcHJheTogIzZDRjNENTtcblxuLy8gdXRpbGl0eSBjb2xvcnNcbiRncmVlbjogIzVEQzg0MDtcbiRyZWQ6ICNFRTREMzc7XG4keWVsbG93OiAjRUVCQTRCO1xuJG9yYW5nZTogI0VFOTI0QjtcbiIsIi5idXR0b257XG5cdEBpbmNsdWRlIGZvbnQtc21vb3RoaW5nKHRydWUpO1xuXHRwb3NpdGlvbjogcmVsYXRpdmU7XG5cdGRpc3BsYXk6IGlubGluZS1ibG9jaztcblx0cGFkZGluZzogMTBweCAyMHB4O1xuXHRmb250LWZhbWlseTogJGZvbnQtaGVhZGVyO1xuXHRmb250LXNpemU6IDE4cHg7XG5cdGZvbnQtd2VpZ2h0OiA3MDA7XG5cdGxldHRlci1zcGFjaW5nOiAuMDVlbTtcblx0dGV4dC1kZWNvcmF0aW9uOiBub25lO1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiAkd2hpdGU7XG5cdGNvbG9yOiAkYmxhY2s7XG5cdGJvcmRlcjogNHB4IHNvbGlkICRzcHJheTtcblx0dHJhbnNpdGlvbjogLjNzICRlYXNlSW5RdWFkO1xuXHRvdXRsaW5lOiBub25lO1xuXHRjdXJzb3I6IHBvaW50ZXI7XG59XG4uYnV0dG9uIC5zdmctY29udGFpbntcblx0cG9zaXRpb246IHJlbGF0aXZlO1xuXHR3aWR0aDogMzBweDtcbn1cbi5idXR0b24gc3Zne1xuXHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdHRvcDogNTAlO1xuXHRsZWZ0OiA1MCU7XG5cdHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIC01MCUpO1xuXHR3aWR0aDogMzBweDtcblx0Y29sb3I6ICRibGFjaztcblx0cG9pbnRlci1ldmVudHM6IG5vbmU7XG59XG4uYnV0dG9uOmhvdmVye1xuXHRib3JkZXI6IDRweCBzb2xpZCAkc3ByYXk7XG5cdGJhY2tncm91bmQtY29sb3I6ICRzcHJheTtcbn1cbi5idXR0b24tbGFyZ2V7XG5cdHBhZGRpbmc6IDIwcHggNjBweDtcbn1cbi5idXR0b24uaW5saW5lLWJ1dHRvbntcblx0Jntcblx0XHRib3JkZXItbGVmdDogMDtcblx0fVxuXHQmOmhvdmVye1xuXHRcdGJhY2tncm91bmQtY29sb3I6IGRhcmtlbigkc29mdC1ncmV5LDEwKTtcblx0fVxufVxuLnN2Zy1idXR0b257XG5cdCZ7fVxuXHQmOmhvdmVyIC5zdmctY29udGFpbntcblx0XHRiYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47XG5cdFx0dHJhbnNpdGlvbjogLjNzICRlYXNlT3V0U2luZTtcblx0XHR0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoNXB4KTtcblx0fVxuXHQuc3ZnLWljb257XG5cdFx0YmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuO1xuXHRcdHRyYW5zaXRpb246IC4zcyAkZWFzZU91dFNpbmU7XG5cdFx0dHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0ycHgpO1xuXHR9XG5cdCY6aG92ZXIgLnN2Zy1pY29ue1xuXHRcdHRyYW5zaXRpb246IC4zcyAkZWFzZUluU2luZTtcblx0XHR0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCk7XG5cdH1cbn1cbi5zbGlkZXNob3ctYnV0dG9ue1xuXHQme1xuXHRcdHBvc2l0aW9uOiByZWxhdGl2ZTtcblx0fVxuXHRidXR0b257XG5cdFx0cG9zaXRpb246IGFic29sdXRlO1xuXHRcdHRvcDogMDtcblx0XHRsZWZ0OiAwO1xuXHRcdHdpZHRoOiAxMDAlO1xuXHRcdGhlaWdodDogMTAwJTtcblx0XHRvcGFjaXR5OiAwO1xuXHR9XG59XG4iLCJAbWl4aW4gbWF4LXdpZHRoe1xuXHRtYXgtd2lkdGg6IDExMDBweDtcbn1cblxuQG1peGluIGZvbnQtc21vb3RoaW5nKCR2YWx1ZTogZmFsc2UpIHtcblx0QGlmICR2YWx1ZSA9PSB0cnVlIHtcblx0XHQtd2Via2l0LWZvbnQtc21vb3RoaW5nOiBhbnRpYWxpYXNlZDtcblx0XHQtbW96LW9zeC1mb250LXNtb290aGluZzogZ3JheXNjYWxlO1xuXHR9XG5cdEBlbHNlIHtcblx0XHQtd2Via2l0LWZvbnQtc21vb3RoaW5nOiBzdWJwaXhlbC1hbnRpYWxpYXNlZDtcblx0XHQtbW96LW9zeC1mb250LXNtb290aGluZzogYXV0bztcblx0fVxufVxuIiwiZm9ybXtcblx0bWF4LXdpZHRoOiA1NjBweDtcbn1cbi5mb3JtLWl0ZW17XG5cdG1hcmdpbi1ib3R0b206IDIwcHg7XG59XG4uc3VibWl0LWNvbnRhaW57XG5cdG1hcmdpbi10b3A6IDMwcHg7XG59XG5cbmlucHV0LFxudGV4dGFyZWF7XG5cdGRpc3BsYXk6IGJsb2NrO1xuXHR3aWR0aDogMTAwJTtcblx0Ym9yZGVyOiA0cHggc29saWQgJHNvZnQtZ3JleTtcblx0cGFkZGluZzogMTBweDtcblx0b3V0bGluZTogbm9uZTtcblx0Zm9udC1mYW1pbHk6ICRmb250LWhlYWRlcjtcblx0Zm9udC1zaXplOiAxOHB4O1xuXHRmb250LXdlaWdodDogNDAwO1xuXHRsZXR0ZXItc3BhY2luZzogLjA1ZW07XG5cdGxpbmUtaGVpZ2h0OiAyZW07XG5cdGNvbG9yOiAkYmxhY2s7XG59XG5pbnB1dFt0eXBlPVwicGFzc3dvcmRcIl17XG5cdGxpbmUtaGVpZ2h0OiAzNnB4O1xuXHRwYWRkaW5nOiAxMnB4IDEwcHggOHB4O1xuXHRmb250LXNpemU6IDI4cHg7XG59XG5sYWJlbHtcblx0QGluY2x1ZGUgZm9udC1zbW9vdGhpbmcodHJ1ZSk7XG5cdGZvbnQtZmFtaWx5OiAkZm9udC1oZWFkZXI7XG5cdGZvbnQtc2l6ZTogMTRweDtcblx0Zm9udC13ZWlnaHQ6IDYwMDtcblx0bGV0dGVyLXNwYWNpbmc6IC4wNWVtO1xuXHRsaW5lLWhlaWdodDogMmVtO1xuXHRjb2xvcjogJGdyZXk7XG5cdG9wYWNpdHk6IC43O1xufVxuLndwY2Y3LW5vdC12YWxpZHtcblx0Ym9yZGVyLWNvbG9yOiAkcmVkO1xufVxuc3Bhbi53cGNmNy1ub3QtdmFsaWQtdGlwLFxuZGl2LndwY2Y3LXJlc3BvbnNlLW91dHB1dHtcblx0ZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xufVxuLmZvcm0tbWVzc2FnZXtcblx0aGVpZ2h0OiAwO1xuXHRvdmVyZmxvdzogaGlkZGVuO1xuXHR0cmFuc2l0aW9uOiAuM3MgJGVhc2VJblNpbmU7XG59XG4uZm9ybS1tZXNzYWdlIHB7XG5cdGJvcmRlcjogNHB4IHNvbGlkICNlZWU7XG5cdHBhZGRpbmc6IDIwcHg7XG5cdG1hcmdpbjogMDtcblx0bGluZS1oZWlnaHQ6IDEuNGVtO1xuXHRvcGFjaXR5OiAwO1xuXHR0cmFuc2l0aW9uOiAuM3MgJGVhc2VJblNpbmU7XG5cdHRyYW5zaXRpb24tZGVsYXk6IC40cztcbn1cbi5mb3JtLW1lc3NhZ2UucmVhZHkgcHtcblx0b3BhY2l0eTogMTtcbn1cbi5zdWNjZXNzLmZvcm0tbWVzc2FnZSBwe1xuXHRib3JkZXItY29sb3I6ICRzcHJheTtcbn1cbi5pbnZhbGlkLmZvcm0tbWVzc2FnZSBwe1xuXHRib3JkZXItY29sb3I6ICRyZWQ7XG59XG5cbi8vIGludHJpY2F0ZSBwbGFjZWhvbGRlclxuLmlucHV0LXdpdGgtcGxhY2Vob2xkZXJ7XG5cdHBvc2l0aW9uOiByZWxhdGl2ZTtcblx0LnBsYWNlaG9sZGVye1xuXHRcdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0XHR0b3A6IDUwJTtcblx0XHR0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7XG5cdFx0Zm9udC1mYW1pbHk6IFwiSGVlYm9cIiwgc2Fucy1zZXJpZjtcblx0XHRmb250LXNpemU6IDE4cHg7XG5cdFx0Zm9udC13ZWlnaHQ6IDQwMDtcblx0XHRsZXR0ZXItc3BhY2luZzogLjA1ZW07XG5cdFx0bWFyZ2luLWxlZnQ6IDE0cHg7XG5cdFx0bWFyZ2luLXRvcDogLTFweDtcblx0XHRjb2xvcjogJGdyZXk7XG5cdFx0cG9pbnRlci1ldmVudHM6IG5vbmU7XG5cdH1cbn1cbiIsIi5iYWNrZ3JvdW5kLWltYWdlcnl7XG5cdCZ7XG5cdFx0cG9zaXRpb246IGFic29sdXRlO1xuXHRcdHRvcDogMDtcblx0XHRsZWZ0OiAwO1xuXHRcdGhlaWdodDogMTAwJTtcblx0XHR3aWR0aDogMTAwJTtcblx0XHR6LWluZGV4OiAwO1xuXHRcdHRyYW5zaXRpb246IC4zcyAkZWFzZU91dFNpbmU7XG5cdH1cblx0LnByb3RlY3RlZC1oZXJvICZ7XG5cdFx0YmFja2dyb3VuZC1jb2xvcjogJHNwcmF5O1xuXHR9XG5cdC5iYWNrZ3JvdW5kLWNvbG9yLFxuXHQuYmFja2dyb3VuZC1pbWFnZSxcblx0LmJhY2tncm91bmQtdmlkZW97XG5cdFx0cG9zaXRpb246IGFic29sdXRlO1xuXHRcdHRvcDogMDtcblx0XHRsZWZ0OiAwO1xuXHRcdGhlaWdodDogMTAwJTtcblx0XHR3aWR0aDogMTAwJTtcblx0XHRiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXI7XG5cdFx0dHJhbnNpdGlvbjogLjNzICRlYXNlSW5TaW5lO1xuXHRcdHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTtcblx0XHR0cmFuc2Zvcm0tb3JpZ2luOiB0b3A7XG5cdFx0YmFja2dyb3VuZC1pbWFnZTogbm9uZTtcblx0XHRvcGFjaXR5OiAxO1xuXHR9XG5cdC5iYWNrZ3JvdW5kLWNvbG9ye1xuXHRcdHotaW5kZXg6IC0zO1xuXHR9XG5cdC5iYWNrZ3JvdW5kLWltYWdle1xuXHRcdHotaW5kZXg6IC0yO1xuXHRcdG92ZXJmbG93OiBoaWRkZW47XG5cdFx0cG9pbnRlci1ldmVudHM6IG5vbmU7XG5cdFx0dHJhbnNpdGlvbjogLjNzICRlYXNlSW5TaW5lO1xuXHRcdHRyYW5zaXRpb24tZGVsYXk6IC4zcztcblx0XHR0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCk7XG5cdFx0dHJhbnNmb3JtLW9yaWdpbjogdG9wO1xuXHR9XG5cdC5iYWNrZ3JvdW5kLXZpZGVve1xuXHRcdGRpc3BsYXk6IG5vbmU7XG5cdFx0ei1pbmRleDogLTE7XG5cdFx0b3ZlcmZsb3c6IGhpZGRlbjtcblx0XHRwb2ludGVyLWV2ZW50czogbm9uZTtcblx0XHR0cmFuc2l0aW9uOiAuM3MgJGVhc2VJblNpbmU7XG5cdFx0dHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApO1xuXHRcdHRyYW5zZm9ybS1vcmlnaW46IHRvcDtcblx0XHRAaW5jbHVkZSBicmVha3BvaW50KCRzbWFsbCl7XG5cdFx0XHRkaXNwbGF5OiBibG9jaztcblx0XHR9XG5cdH1cblx0dmlkZW97XG5cdFx0d2lkdGg6IDEwMCU7XG5cdH1cbn1cbiIsIi5laC1sb2dve1xuXHQkdG9wOiAxNCU7XG5cdCRzaWRlOiA1JTtcblx0JGluc2lkZTogMjYlO1xuXHQkYW5pbWF0aW9uVGltZTogMS41cztcblx0Jntcblx0XHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdFx0dG9wOiA1MCU7XG5cdFx0bGVmdDogNTAlO1xuXHRcdHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIC01MCUpO1xuXHRcdHdpZHRoOiAxMDBweDtcblx0XHRoZWlnaHQ6IDEwMHB4O1xuXHRcdHotaW5kZXg6IDkwMDtcblx0fVxuXHQqLFxuXHQqOmJlZm9yZXtcblx0XHQvL2FuaW1hdGlvbi1wbGF5LXN0YXRlOiBwYXVzZWQ7XG5cdFx0YW5pbWF0aW9uLXBsYXktc3RhdGU6IHJ1bm5pbmc7XG5cdH1cblx0JXZlcnQtcG9zdHtcblx0XHR0b3A6ICR0b3A7XG5cdFx0Ym90dG9tOiAkdG9wO1xuXHRcdHdpZHRoOiAyMiU7XG5cdH1cblx0JXRvcC1wb3N0e1xuXHRcdHRvcDogJHRvcDtcblx0XHR3aWR0aDogNDIlO1xuXHRcdGhlaWdodDogMjAlO1xuXHR9XG5cdCVtaWRkbGUtcG9zdHtcblx0XHR0b3A6IDQwJTtcblx0XHRib3R0b206IDQwJTtcblx0XHR3aWR0aDogMjElO1xuXHR9XG5cdCVib3R0b20tcG9zdHtcblx0XHRib3R0b206ICR0b3A7XG5cdFx0d2lkdGg6IDQyJTtcblx0XHRoZWlnaHQ6IDIwJTtcblx0fVxuXHQlb24tbGVmdHtcblx0XHR0cmFuc2Zvcm0tb3JpZ2luOiBsZWZ0IHRvcDtcblx0fVxuXHQlb24tcmlnaHR7XG5cdFx0dHJhbnNmb3JtLW9yaWdpbjogcmlnaHQgdG9wO1xuXHR9XG5cdCVzaG93bntcblx0XHR0cmFuc2Zvcm06IHNjYWxlWCgxKTtcblx0XHRhbmltYXRpb24tbmFtZTogc2hyaW5rO1xuXHR9XG5cdCVoaWRkZW57XG5cdFx0dHJhbnNmb3JtOiBzY2FsZVgoMCk7XG5cdFx0YW5pbWF0aW9uLW5hbWU6IGdyb3c7XG5cdH1cblx0JWFuaW1hdGlvbi1zZXR0aW5nc3tcblx0XHRhbmltYXRpb24tZHVyYXRpb246ICRhbmltYXRpb25UaW1lO1xuXHRcdGFuaW1hdGlvbi1pdGVyYXRpb24tY291bnQ6IGluZmluaXRlO1xuXHRcdGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2UtaW4tb3V0O1xuXHR9XG5cdCVwb3N0e1xuXHRcdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0XHQmOjpiZWZvcmV7XG5cdFx0XHRjb250ZW50OiBcIlwiO1xuXHRcdFx0cG9zaXRpb246IGFic29sdXRlO1xuXHRcdFx0dG9wOiAwO1xuXHRcdFx0bGVmdDogMDtcblx0XHRcdGJvdHRvbTogMDtcblx0XHRcdHJpZ2h0OiAwO1xuXHRcdFx0YmFja2dyb3VuZDogJGJsYWNrO1xuXHRcdFx0YW5pbWF0aW9uLWR1cmF0aW9uOiAkYW5pbWF0aW9uVGltZSAqIDEwO1xuXHRcdFx0YW5pbWF0aW9uLWl0ZXJhdGlvbi1jb3VudDogaW5maW5pdGU7XG5cdFx0XHRhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLWluLW91dDtcblx0XHR9XG5cdH1cblx0LmJhY2tncm91bmR7XG5cdFx0QGV4dGVuZCAlYW5pbWF0aW9uLXNldHRpbmdzO1xuXHRcdGNvbnRlbnQ6IFwiXCI7XG5cdFx0cG9zaXRpb246IGFic29sdXRlO1xuXHRcdHRvcDogJHRvcCAtIDUlO1xuXHRcdGxlZnQ6IDA7XG5cdFx0Ym90dG9tOiAkdG9wIC0gNSU7XG5cdFx0cmlnaHQ6IDA7XG5cdFx0YW5pbWF0aW9uLW5hbWU6IHJldmVyc2Utcm90YXRlO1xuXHRcdCY6OmJlZm9yZXtcblx0XHRcdGNvbnRlbnQ6IFwiXCI7XG5cdFx0XHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdFx0XHR0b3A6IDA7XG5cdFx0XHRsZWZ0OiAwO1xuXHRcdFx0Ym90dG9tOiAwO1xuXHRcdFx0cmlnaHQ6IDA7XG5cdFx0XHRiYWNrZ3JvdW5kOiAkd2hpdGU7XG5cdFx0XHRhbmltYXRpb24tZHVyYXRpb246ICRhbmltYXRpb25UaW1lICogMTA7XG5cdFx0XHRhbmltYXRpb24taXRlcmF0aW9uLWNvdW50OiBpbmZpbml0ZTtcblx0XHRcdGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2UtaW4tb3V0O1xuXHRcdH1cblx0fVxuXHQubG9nby1jb250YWluZXJ7XG5cdFx0QGV4dGVuZCAlYW5pbWF0aW9uLXNldHRpbmdzO1xuXHRcdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0XHR0b3A6IDA7XG5cdFx0bGVmdDogMDtcblx0XHRyaWdodDogMDtcblx0XHRib3R0b206IDA7XG5cdFx0YW5pbWF0aW9uLW5hbWU6IHJvdGF0ZTtcblx0fVxuXHQuY2hhcmFjdGVyLTF7XG5cdFx0LnZlcnQtcG9zdHtcblx0XHRcdEBleHRlbmQgJXBvc3Q7XG5cdFx0XHRAZXh0ZW5kICV2ZXJ0LXBvc3Q7XG5cdFx0XHRsZWZ0OiAkc2lkZTtcblx0XHR9XG5cdFx0LmhvcnotcG9zdC10b3B7XG5cdFx0XHRAZXh0ZW5kICVwb3N0O1xuXHRcdFx0QGV4dGVuZCAldG9wLXBvc3Q7XG5cdFx0XHRAZXh0ZW5kICVzaG93bjtcblx0XHRcdEBleHRlbmQgJW9uLWxlZnQ7XG5cdFx0XHRAZXh0ZW5kICVhbmltYXRpb24tc2V0dGluZ3M7XG5cdFx0XHRsZWZ0OiAkaW5zaWRlO1xuXHRcdH1cblx0XHQuaG9yei1wb3N0LW1pZGRsZXtcblx0XHRcdEBleHRlbmQgJXBvc3Q7XG5cdFx0XHRAZXh0ZW5kICVtaWRkbGUtcG9zdDtcblx0XHRcdEBleHRlbmQgJW9uLWxlZnQ7XG5cdFx0XHRAZXh0ZW5kICVhbmltYXRpb24tc2V0dGluZ3M7XG5cdFx0XHRsZWZ0OiAkaW5zaWRlO1xuXHRcdFx0cmlnaHQ6ICRpbnNpZGU7XG5cdFx0XHR0cmFuc2Zvcm06IHNjYWxlWCgxKTtcblx0XHRcdGFuaW1hdGlvbi1uYW1lOiBzaHJpbmstbWlkZGxlO1xuXHRcdH1cblx0XHQuaG9yei1wb3N0LWJvdHRvbXtcblx0XHRcdEBleHRlbmQgJXBvc3Q7XG5cdFx0XHRAZXh0ZW5kICVib3R0b20tcG9zdDtcblx0XHRcdEBleHRlbmQgJXNob3duO1xuXHRcdFx0QGV4dGVuZCAlb24tbGVmdDtcblx0XHRcdEBleHRlbmQgJWFuaW1hdGlvbi1zZXR0aW5ncztcblx0XHRcdGxlZnQ6ICRpbnNpZGU7XG5cdFx0fVxuXHR9XG5cdC5jaGFyYWN0ZXItMntcblx0XHQudmVydC1wb3N0e1xuXHRcdFx0QGV4dGVuZCAlcG9zdDtcblx0XHRcdEBleHRlbmQgJXZlcnQtcG9zdDtcblx0XHRcdHJpZ2h0OiAkc2lkZTtcblx0XHR9XG5cdFx0LmhvcnotcG9zdC10b3B7XG5cdFx0XHRAZXh0ZW5kICVwb3N0O1xuXHRcdFx0QGV4dGVuZCAldG9wLXBvc3Q7XG5cdFx0XHRAZXh0ZW5kICVoaWRkZW47XG5cdFx0XHRAZXh0ZW5kICVvbi1yaWdodDtcblx0XHRcdEBleHRlbmQgJWFuaW1hdGlvbi1zZXR0aW5ncztcblx0XHRcdHJpZ2h0OiAkaW5zaWRlO1xuXHRcdH1cblx0XHQuaG9yei1wb3N0LW1pZGRsZXtcblx0XHRcdEBleHRlbmQgJXBvc3Q7XG5cdFx0XHRAZXh0ZW5kICVtaWRkbGUtcG9zdDtcblx0XHRcdEBleHRlbmQgJW9uLXJpZ2h0O1xuXHRcdFx0QGV4dGVuZCAlYW5pbWF0aW9uLXNldHRpbmdzO1xuXHRcdFx0cmlnaHQ6ICRpbnNpZGU7XG5cdFx0XHR0cmFuc2Zvcm06IHNjYWxlWCgwLjk1KTtcblx0XHRcdGFuaW1hdGlvbi1uYW1lOiBncm93LW1pZGRsZTtcblx0XHR9XG5cdFx0LmhvcnotcG9zdC1ib3R0b217XG5cdFx0XHRAZXh0ZW5kICVwb3N0O1xuXHRcdFx0QGV4dGVuZCAlYm90dG9tLXBvc3Q7XG5cdFx0XHRAZXh0ZW5kICVoaWRkZW47XG5cdFx0XHRAZXh0ZW5kICVvbi1yaWdodDtcblx0XHRcdEBleHRlbmQgJWFuaW1hdGlvbi1zZXR0aW5ncztcblx0XHRcdHJpZ2h0OiAkaW5zaWRlO1xuXHRcdH1cblx0fVxufVxuXG5Aa2V5ZnJhbWVzIHNocmluayB7XG5cdDAlXHRcdHt0cmFuc2Zvcm06IHNjYWxlWCgxKTt9XG5cdDEwJVx0XHR7dHJhbnNmb3JtOiBzY2FsZVgoMSk7fVxuXHQ5MCVcdFx0e3RyYW5zZm9ybTogc2NhbGVYKDApO31cblx0MTAwJVx0e3RyYW5zZm9ybTogc2NhbGVYKDApO31cbn1cblxuQGtleWZyYW1lcyByb3RhdGUge1xuXHQwJVx0XHR7dHJhbnNmb3JtOiByb3RhdGUoMCk7fVxuXHQxMCVcdFx0e3RyYW5zZm9ybTogcm90YXRlKDApO31cblx0OTAlXHRcdHt0cmFuc2Zvcm06IHJvdGF0ZSgxODBkZWcpO31cblx0MTAwJVx0e3RyYW5zZm9ybTogcm90YXRlKDE4MGRlZyk7fVxufVxuXG5Aa2V5ZnJhbWVzIHJldmVyc2Utcm90YXRlIHtcblx0MCVcdFx0e3RyYW5zZm9ybTogcm90YXRlKDE4MGRlZyk7fVxuXHQxMCVcdFx0e3RyYW5zZm9ybTogcm90YXRlKDE4MGRlZyk7fVxuXHQ5MCVcdFx0e3RyYW5zZm9ybTogcm90YXRlKDApO31cblx0MTAwJVx0e3RyYW5zZm9ybTogcm90YXRlKDApO31cbn1cblxuQGtleWZyYW1lcyBncm93IHtcblx0MCVcdFx0e3RyYW5zZm9ybTogc2NhbGVYKDApO31cblx0MTAlXHRcdHt0cmFuc2Zvcm06IHNjYWxlWCgwKTt9XG5cdDkwJVx0XHR7dHJhbnNmb3JtOiBzY2FsZVgoMSk7fVxuXHQxMDAlXHR7dHJhbnNmb3JtOiBzY2FsZVgoMSk7fVxufVxuXG5Aa2V5ZnJhbWVzIHNocmluay1taWRkbGUge1xuXHQwJVx0XHR7dHJhbnNmb3JtOiBzY2FsZVgoMSk7fVxuXHQxMCVcdFx0e3RyYW5zZm9ybTogc2NhbGVYKDEpO31cblx0OTAlXHRcdHt0cmFuc2Zvcm06IHNjYWxlWCgwLjk1KTt9XG5cdDEwMCVcdHt0cmFuc2Zvcm06IHNjYWxlWCgwLjk1KTt9XG59XG5cbkBrZXlmcmFtZXMgZ3Jvdy1taWRkbGUge1xuXHQwJVx0XHR7dHJhbnNmb3JtOiBzY2FsZVgoMC45NSk7fVxuXHQxMCVcdFx0e3RyYW5zZm9ybTogc2NhbGVYKDAuOTUpO31cblx0OTAlXHRcdHt0cmFuc2Zvcm06IHNjYWxlWCgxKTt9XG5cdDEwMCVcdHt0cmFuc2Zvcm06IHNjYWxlWCgxKTt9XG59XG5cbiRjb2xvcnM6XG5cdChwcmltYXJ5OiAjNkNGM0Q1LCBzZWNvbmRhcnk6ICMyQjM2NEEpLFxuXHQocHJpbWFyeTogI0U5QjVBQywgc2Vjb25kYXJ5OiAjOEI3Q0FBKSxcblx0KHByaW1hcnk6ICNCM0NDOEMsIHNlY29uZGFyeTogIzYyOEE2OCksXG5cdChwcmltYXJ5OiAjREZFRDY1LCBzZWNvbmRhcnk6ICM4QzhDOEMpO1xuXG5Aa2V5ZnJhbWVzIGNvbG9yIHtcblx0MCVcdFx0e2JhY2tncm91bmQ6IG1hcC1nZXQoIG50aCggJGNvbG9ycyAsIDEgKSAsIHByaW1hcnkgKTt9XG5cdDIwJVx0XHR7YmFja2dyb3VuZDogbWFwLWdldCggbnRoKCAkY29sb3JzICwgMSApICwgcHJpbWFyeSApO31cblx0MjUlXHRcdHtiYWNrZ3JvdW5kOiBtYXAtZ2V0KCBudGgoICRjb2xvcnMgLCAyICkgLCBwcmltYXJ5ICk7fVxuXHQ0NSVcdFx0e2JhY2tncm91bmQ6IG1hcC1nZXQoIG50aCggJGNvbG9ycyAsIDIgKSAsIHByaW1hcnkgKTt9XG5cdDUwJVx0XHR7YmFja2dyb3VuZDogbWFwLWdldCggbnRoKCAkY29sb3JzICwgMyApICwgcHJpbWFyeSApO31cblx0NzAlXHRcdHtiYWNrZ3JvdW5kOiBtYXAtZ2V0KCBudGgoICRjb2xvcnMgLCAzICkgLCBwcmltYXJ5ICk7fVxuXHQ3NSVcdFx0e2JhY2tncm91bmQ6IG1hcC1nZXQoIG50aCggJGNvbG9ycyAsIDQgKSAsIHByaW1hcnkgKTt9XG5cdDk1JVx0XHR7YmFja2dyb3VuZDogbWFwLWdldCggbnRoKCAkY29sb3JzICwgNCApICwgcHJpbWFyeSApO31cblx0MTAwJVx0e2JhY2tncm91bmQ6IG1hcC1nZXQoIG50aCggJGNvbG9ycyAsIDEgKSAsIHByaW1hcnkgKTt9XG59XG5cbkBrZXlmcmFtZXMgY29sb3ItYmFja2dyb3VuZCB7XG5cdDAlXHRcdHtiYWNrZ3JvdW5kOiBtYXAtZ2V0KCBudGgoICRjb2xvcnMgLCAxICkgLCBzZWNvbmRhcnkgKTt9XG5cdDIwJVx0XHR7YmFja2dyb3VuZDogbWFwLWdldCggbnRoKCAkY29sb3JzICwgMSApICwgc2Vjb25kYXJ5ICk7fVxuXHQyNSVcdFx0e2JhY2tncm91bmQ6IG1hcC1nZXQoIG50aCggJGNvbG9ycyAsIDIgKSAsIHNlY29uZGFyeSApO31cblx0NDUlXHRcdHtiYWNrZ3JvdW5kOiBtYXAtZ2V0KCBudGgoICRjb2xvcnMgLCAyICkgLCBzZWNvbmRhcnkgKTt9XG5cdDUwJVx0XHR7YmFja2dyb3VuZDogbWFwLWdldCggbnRoKCAkY29sb3JzICwgMyApICwgc2Vjb25kYXJ5ICk7fVxuXHQ3MCVcdFx0e2JhY2tncm91bmQ6IG1hcC1nZXQoIG50aCggJGNvbG9ycyAsIDMgKSAsIHNlY29uZGFyeSApO31cblx0NzUlXHRcdHtiYWNrZ3JvdW5kOiBtYXAtZ2V0KCBudGgoICRjb2xvcnMgLCA0ICkgLCBzZWNvbmRhcnkgKTt9XG5cdDk1JVx0XHR7YmFja2dyb3VuZDogbWFwLWdldCggbnRoKCAkY29sb3JzICwgNCApICwgc2Vjb25kYXJ5ICk7fVxuXHQxMDAlXHR7YmFja2dyb3VuZDogbWFwLWdldCggbnRoKCAkY29sb3JzICwgMSApICwgc2Vjb25kYXJ5ICk7fVxufVxuIiwiLmxvYWRpbmctZ2F0ZXtcblx0Jntcblx0XHRwb3NpdGlvbjogZml4ZWQ7XG5cdFx0dG9wOiAwO1xuXHRcdGxlZnQ6IDA7XG5cdFx0aGVpZ2h0OiAwO1xuXHRcdHdpZHRoOiAxMDAlO1xuXHRcdGJhY2tncm91bmQ6IDEwMCU7XG5cdFx0ei1pbmRleDogei1pbmRleCgnbG9hZCBnYXRlJyk7XG5cdFx0dHJhbnNpdGlvbjogLjNzIGVhc2Utb3V0O1xuXHRcdG92ZXJmbG93OiBoaWRkZW47XG5cdFx0b3BhY2l0eTogMDtcblx0XHR0cmFuc2l0aW9uOiBoZWlnaHQgMHMgbGluZWFyIDFzLCBvcGFjaXR5IC4zcyBlYXNlLW91dCAwcztcblx0fVxuXHQmOjpiZWZvcmV7XG5cdFx0Y29udGVudDogXCJcIjtcblx0XHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdFx0dG9wOiAwO1xuXHRcdGxlZnQ6IDA7XG5cdFx0Ym90dG9tOiAwO1xuXHRcdHJpZ2h0OiAwO1xuXHRcdGJhY2tncm91bmQ6ICR3aGl0ZTtcblx0XHRvcGFjaXR5OiAuMztcblx0fVxufVxuIiwiQGZ1bmN0aW9uIHotaW5kZXgoJGVsZSwgJG1hcDogJGdsb2JhbC16LWluZGV4KXtcblx0QHJldHVybiBpbmRleCgkbWFwLCAkZWxlKSoxMDtcbn1cbiIsIi5za2lwLXRvLWNvbnRlbnR7XG5cdCZ7XG5cdFx0cG9zaXRpb246IGFic29sdXRlO1xuXHRcdHRvcDogMDtcblx0XHRsZWZ0OiAwO1xuXHRcdHotaW5kZXg6IHotaW5kZXgoXCJ0b3AgbGV2ZWxcIik7XG5cdFx0cGFkZGluZzogMTBweDtcblx0XHRiYWNrZ3JvdW5kOiAkYmxhY2s7XG5cdFx0Y29sb3I6ICR3aGl0ZTtcblx0XHRvcGFjaXR5OiAwO1xuXHRcdHBvaW50ZXItZXZlbnRzOiBub25lO1xuXHR9XG5cdCY6Zm9jdXN7XG5cdFx0b3BhY2l0eTogMTtcblx0fVxufVxuIiwiLnNpdGUtaGVhZGVye1xuXHQkY29sb3ItZGVsYXk6IDFzO1xuXHQkbW92ZS1kZWxheTogMHM7XG5cdCZ7XG5cdFx0cG9zaXRpb246IGFic29sdXRlO1xuXHRcdHRvcDogMDtcblx0XHR3aWR0aDogMTAwJTtcblx0XHRjb2xvcjogJGJsYWNrO1xuXHRcdGZpbGw6ICRibGFjaztcblx0XHR6LWluZGV4OiB6LWluZGV4KCduYXZpZ2F0aW9uJyk7XG5cdFx0QGluY2x1ZGUgYnJlYWtwb2ludCgkc21hbGwtZG93bil7XG5cdFx0XHRwb3NpdGlvbjogZml4ZWQ7XG5cdFx0XHR0b3A6IDAgIWltcG9ydGFudDtcblx0XHR9XG5cdH1cblx0Jjpub3QoLmxhdGNoZWQpe1xuXHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQoJHNtYWxsKXtcblx0XHRcdHRvcDogMCAhaW1wb3J0YW50O1xuXHRcdH1cblx0fVxuXHQmLnN0dWNre1xuXHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQoJHNtYWxsKXtcblx0XHRcdHBvc2l0aW9uOiBmaXhlZDtcblx0XHRcdHRvcDogMCAhaW1wb3J0YW50O1xuXHRcdH1cblx0fVxuXHQmLmxpZ2h0LWhlYWRlcntcblx0XHRjb2xvcjogJHdoaXRlO1xuXHRcdGZpbGw6ICR3aGl0ZTtcblx0fVxuXHQuYmFja2dyb3VuZC1jb2xvcntcblx0XHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdFx0dG9wOiAwO1xuXHRcdGxlZnQ6IDA7XG5cdFx0aGVpZ2h0OiAxMDAlO1xuXHRcdHdpZHRoOiAxMDAlO1xuXHRcdHotaW5kZXg6IC0xO1xuXHRcdG9wYWNpdHk6IDA7XG5cdFx0dHJhbnNpdGlvbjogLjNzIGVhc2Utb3V0O1xuXHR9XG5cdCYuYmFja2dyb3VuZC1zaG93biAuYmFja2dyb3VuZC1jb2xvcntcblx0XHRvcGFjaXR5OiAxO1xuXHR9XG5cdC5yb3d7XG5cdFx0cG9zaXRpb246IHJlbGF0aXZlO1xuXHRcdHBhZGRpbmctdG9wOiAyMHB4O1xuXHRcdHBhZGRpbmctYm90dG9tOiAyMHB4O1xuXHR9XG5cdHN2Z3tcblx0XHRmaWxsOiBjdXJyZW50Q29sb3I7XG5cdH1cblx0YSwgc3Bhbntcblx0XHRAaW5jbHVkZSBmb250LXNtb290aGluZyh0cnVlKTtcblx0XHRkaXNwbGF5OiBibG9jaztcblx0XHRwb3NpdGlvbjogcmVsYXRpdmU7XG5cdFx0Zm9udC1mYW1pbHk6ICRmb250LWhlYWRlcjtcblx0XHRmb250LXNpemU6IDE2cHg7XG5cdFx0Zm9udC13ZWlnaHQ6IDcwMDtcblx0XHRsZXR0ZXItc3BhY2luZzogLjA1ZW07XG5cdFx0bGluZS1oZWlnaHQ6IDIycHg7XG5cdFx0dGV4dC1kZWNvcmF0aW9uOiBub25lO1xuXHRcdGNvbG9yOiBpbmhlcml0O1xuXHR9XG5cdGF7XG5cdFx0dHJhbnNpdGlvbjogLjNzICRlYXNlT3V0U2luZSAwcztcblx0fVxuXHQuc2l0ZS1sb2dve1xuXHRcdHdpZHRoOiA0MHB4O1xuXHRcdGhlaWdodDogMzJweDtcblx0fVxuXHQuc2l0ZS1uYXZ7XG5cdFx0cGFkZGluZy10b3A6IDA7XG5cdFx0cGFkZGluZy1ib3R0b206IDA7XG5cdFx0bWFyZ2luOiAwO1xuXHRcdGxpc3Qtc3R5bGU6IG5vbmU7XG5cdH1cblx0LnNpdGUtbmF2IGxpe1xuXHRcdGRpc3BsYXk6IGlubGluZS1ibG9jaztcblx0XHR2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuXHR9XG5cdC5zaXRlLW5hdiBsaTpub3QoOmZpcnN0LWNoaWxkKXtcblx0XHRtYXJnaW4tbGVmdDogMTZweDtcblx0fVxuXHQuc2l0ZS1uYXYgLmV4cGFuZG8taXRlbXtcblx0XHQme1xuXHRcdFx0cG9zaXRpb246IHJlbGF0aXZlO1xuXHRcdH1cblx0XHQmOjpiZWZvcmV7XG5cdFx0XHRkaXNwbGF5OiBub25lO1xuXHRcdFx0Y29udGVudDogXCJcIjtcblx0XHRcdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0XHRcdHRvcDogMCU7XG5cdFx0XHRsZWZ0OiAwJTtcblx0XHRcdHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtMTBweCkgdHJhbnNsYXRlWSgtMTBweCk7XG5cdFx0XHRoZWlnaHQ6IGNhbGMoMTAwJSArIDIwcHgpO1xuIFx0XHRcdHdpZHRoOiBjYWxjKDEwMCUgKyAyMHB4KTtcblx0XHRcdGJhY2tncm91bmQ6ICR3aGl0ZTtcblx0XHRcdHRyYW5zaXRpb246IC4zcyAkZWFzZUluQ3ViaWM7XG5cdFx0fVxuXHRcdC5kYXJrLWhlYWRlciAmOjpiZWZvcmV7XG5cdFx0XHRiYWNrZ3JvdW5kOiAkYmxhY2s7XG5cdFx0fVxuXHRcdGJ1dHRvbntcblx0XHRcdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0XHRcdHRvcDogMDtcblx0XHRcdGxlZnQ6IDA7XG5cdFx0XHRoZWlnaHQ6IDEwMCU7XG5cdFx0XHR3aWR0aDogMTAwJTtcblx0XHRcdGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuXHRcdFx0Ym9yZGVyOiBub25lO1xuXHRcdH1cblx0XHQuc3ViLW1lbnV7XG5cdFx0XHRkaXNwbGF5OiBub25lO1xuXHRcdFx0cG9zaXRpb246IGFic29sdXRlO1xuXHRcdFx0bWFyZ2luOiAwO1xuXHRcdFx0cGFkZGluZzogMTBweCAyMHB4IDAgMDtcblx0XHRcdGhlaWdodDogYXV0bztcblx0XHR9XG5cdFx0LnN1Yi1tZW51OjpiZWZvcmV7XG5cdFx0XHRjb250ZW50OiBcIlwiO1xuXHRcdFx0cG9zaXRpb246IGFic29sdXRlO1xuXHRcdFx0dG9wOiAwO1xuXHRcdFx0bGVmdDogNTAlO1xuXHRcdFx0dHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpIHRyYW5zbGF0ZVkoMCk7XG5cdFx0XHRoZWlnaHQ6IDEwMCU7XG5cdFx0XHR3aWR0aDogY2FsYygxMDAlICsgMjBweCk7XG5cdFx0XHRiYWNrZ3JvdW5kOiAkd2hpdGU7XG5cdFx0XHR0cmFuc2l0aW9uOiAuM3MgJGVhc2VJbkN1YmljO1xuXHRcdFx0bWFyZ2luLWxlZnQ6IDBweDtcblx0XHR9XG5cdFx0LmRhcmstaGVhZGVyICYgLnN1Yi1tZW51OjpiZWZvcmV7XG5cdFx0XHRiYWNrZ3JvdW5kOiAkYmxhY2s7XG5cdFx0fVxuXHRcdC5zdWItbWVudSBsaXtcblx0XHRcdG1hcmdpbjogMCAwIDEwcHg7XG5cdFx0fVxuXHR9XG5cdC5zaXRlLW5hdiAuZXhwYW5kby1pdGVtLm9wZW57XG5cdFx0Jjo6YmVmb3Jle1xuXHRcdFx0ZGlzcGxheTogYmxvY2s7XG5cdFx0fVxuIFx0ICAgLnN1Yi1tZW51e1xuXHRcdCAgIGRpc3BsYXk6IGJsb2NrO1xuXHQgICB9XG5cdH1cblx0LnNpdGUtbmF2IC50ZXh0LWxpbmt7XG5cdFx0QGluY2x1ZGUgYnJlYWtwb2ludCgkc21hbGwtZG93bil7XG5cdFx0XHRkaXNwbGF5OiBub25lO1xuXHRcdFx0b3BhY2l0eTogMDtcblx0XHRcdHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMjBweCk7XG5cdFx0XHRwb2ludGVyLWV2ZW50czogbm9uZTtcblx0XHR9XG5cdH1cblx0LnNpdGUtbmF2IC50ZXh0LWxpbmsgYSxcblx0LnNpdGUtbmF2IC50ZXh0LWxpbmsgc3Bhbntcblx0XHRvcGFjaXR5OiAuODtcblx0fVxuXHQuc2l0ZS1uYXYgc3Zne1xuXHR9XG5cdC50ZXh0LWxpbmsgYTo6YWZ0ZXJ7XG5cdFx0Y29udGVudDogXCJcIjtcblx0XHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdFx0ZGlzcGxheTogYmxvY2s7XG5cdFx0aGVpZ2h0OiAycHg7XG5cdFx0d2lkdGg6IDEwMCU7XG5cdFx0YmFja2dyb3VuZDogY3VycmVudENvbG9yO1xuXHRcdHRyYW5zZm9ybTogdHJhbnNsYXRlWSgxMHB4KTtcblx0XHRvcGFjaXR5OiAwO1xuXHRcdHBvaW50ZXItZXZlbnRzOiBub25lO1xuXHR9XG5cdC5jdXJyZW50LW1lbnUtaXRlbS50ZXh0LWxpbmsgYXtcblx0XHRvcGFjaXR5OiAxO1xuXHR9XG5cdC50ZXh0LWxpbmsgYTpob3Zlcjo6YWZ0ZXIsXG5cdC5jdXJyZW50LW1lbnUtaXRlbS50ZXh0LWxpbmsgYTo6YWZ0ZXJ7XG5cdFx0dHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApO1xuXHRcdG9wYWNpdHk6IDE7XG5cdH1cblx0LmhhbWJ1cmdlci1pY29uLWNvbnRhaW57XG5cdFx0QGluY2x1ZGUgYnJlYWtwb2ludCgkc21hbGwtZG93bil7XG5cdFx0XHRkaXNwbGF5OiBmbGV4O1xuXHRcdFx0ZmxleC13cmFwOiB3cmFwO1xuXHRcdFx0YWxpZ24taXRlbXM6IGNlbnRlcjtcblx0XHRcdGFsaWduLWNvbnRlbnQ6IHJpZ2h0O1xuXHRcdFx0dGV4dC1hbGlnbjogcmlnaHQ7XG5cdFx0fVxuXHR9XG5cdCRoLWhlaWdodDogMjBweDtcblx0JGgtd2lkdGg6IDI2cHg7XG5cdC5oYW1idXJnZXItaWNvbntcblx0XHRwb3NpdGlvbjogcmVsYXRpdmU7XG5cdFx0ZGlzcGxheTogYmxvY2s7XG5cdFx0aGVpZ2h0OiAkaC1oZWlnaHQ7XG5cdFx0d2lkdGg6ICRoLXdpZHRoO1xuXHRcdG1hcmdpbi1sZWZ0OiBhdXRvO1xuXHRcdHRyYW5zaXRpb246IC4zcyAkZWFzZU91dFF1YWQ7XG5cdH1cblx0LmhhbWJ1cmdlci1pY29uIGRpdntcblx0XHQme1xuXHRcdFx0cG9zaXRpb246IGFic29sdXRlO1xuXHRcdFx0d2lkdGg6ICRoLXdpZHRoO1xuXHRcdFx0aGVpZ2h0OiAycHg7XG5cdFx0XHRiYWNrZ3JvdW5kOiBjdXJyZW50Q29sb3I7XG5cdFx0fVxuXHRcdCY6bnRoLWNoaWxkKDEpe1xuXHRcdFx0dG9wOiAwO1xuXHRcdFx0dHJhbnNpdGlvbjogLjNzICRlYXNlT3V0UXVhZDtcblx0XHR9XG5cdFx0JjpudGgtY2hpbGQoMil7XG5cdFx0XHR0b3A6IDUwJTtcblx0XHRcdHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTtcblx0XHRcdHRyYW5zaXRpb246IC4zcyAkZWFzZU91dFF1YWQ7XG5cdFx0fVxuXHRcdCY6bnRoLWNoaWxkKDIpOjpiZWZvcmV7XG5cdFx0XHRjb250ZW50OiBcIlwiO1xuXHRcdFx0cG9zaXRpb246IGFic29sdXRlO1xuXHRcdFx0dG9wOiA1MCU7XG5cdFx0XHRsZWZ0OiA1MCU7XG5cdFx0XHRoZWlnaHQ6ICRoLXdpZHRoO1xuXHRcdFx0d2lkdGg6IDJweDtcblx0XHRcdGJhY2tncm91bmQtY29sb3I6ICRibGFjaztcblx0XHRcdHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsLTUwJSkgc2NhbGVZKDApO1xuXHRcdFx0dHJhbnNpdGlvbjogLjNzICRlYXNlT3V0UXVhZDtcblx0XHR9XG5cdFx0JjpudGgtY2hpbGQoMyl7XG5cdFx0XHRib3R0b206IDA7XG5cdFx0XHR0cmFuc2l0aW9uOiAuM3MgJGVhc2VPdXRRdWFkO1xuXHRcdH1cblx0fVxuXHQuaGFtYnVyZ2VyLWljb24gLnRhcmdldHtcblx0XHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdFx0dG9wOiAwO1xuXHRcdGxlZnQ6IDA7XG5cdFx0d2lkdGg6IDEwMCU7XG5cdFx0aGVpZ2h0OiAxMDAlO1xuXHRcdG1hcmdpbjogMDtcblx0XHRwYWRkaW5nOiAwO1xuXHRcdGJvcmRlcjogMDtcblx0XHRiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcblx0XHRib3JkZXI6IG5vbmU7XG5cdH1cbn1cbiIsIi5tb2JpbGUtbmF2LWxpc3R7XG5cdCZ7XG5cdFx0cG9zaXRpb246IGZpeGVkO1xuXHRcdHRvcDogMDtcblx0XHRkaXNwbGF5OiBub25lO1xuXHRcdGhlaWdodDogMTAwJTtcblx0XHR3aWR0aDogMTAwJTtcblx0XHRwYWRkaW5nLXRvcDogODBweDtcblx0XHRiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcblx0XHR6LWluZGV4OiB6LWluZGV4KCdtb2JpbGUtbmF2Jyk7XG5cdFx0dHJhbnNmb3JtLW9yaWdpbjogY2VudGVyIHRvcDtcblx0fVxuXHQmOjpiZWZvcmV7XG5cdFx0Y29udGVudDogXCJcIjtcblx0XHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdFx0dG9wOiAwO1xuXHRcdGhlaWdodDogMTAwJTtcblx0XHR3aWR0aDogMTAwJTtcblx0XHR6LWluZGV4OiAtMTtcblx0XHR0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTEwMCUpO1xuXHRcdG9wYWNpdHk6IDA7XG5cdFx0YmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KHRvIGJvdHRvbSwgcmdiYSgkd2hpdGUsIC45NikgODAlLCByZ2JhKCR3aGl0ZSwgLjApIDEwMCUpO1xuXHRcdHRyYW5zaXRpb246IC4zcyAkZWFzZUluUXVhZDtcblx0fVxuXHR1bHtcblx0XHRsaXN0LXN0eWxlOiBub25lO1xuXHRcdHBhZGRpbmctdG9wOiAwO1xuXHRcdHBhZGRpbmctYm90dG9tOiAwO1xuXHRcdG1hcmdpbjogMDtcblx0fVxuXHQuc2l0ZS1sb2dve1xuXHRcdGRpc3BsYXk6IG5vbmU7XG5cdH1cblx0bGl7XG5cdFx0dHJhbnNmb3JtOiB0cmFuc2xhdGVZKDEwcHgpO1xuXHRcdG9wYWNpdHk6IDA7XG5cdFx0cGFkZGluZy1ib3R0b206IDE2cHg7XG5cdFx0dHJhbnNpdGlvbjogLjNzICRlYXNlSW5RdWFkO1xuXHR9XG5cdGF7XG5cdFx0QGluY2x1ZGUgZm9udC1zbW9vdGhpbmcodHJ1ZSk7XG5cdFx0ZGlzcGxheTogaW5saW5lLWJsb2NrO1xuXHRcdGZvbnQtZmFtaWx5OiAkZm9udC1oZWFkZXI7XG5cdFx0Zm9udC1zaXplOiAyNHB4O1xuXHRcdGxpbmUtaGVpZ2h0OiAzMHB4O1xuXHRcdGZvbnQtd2VpZ2h0OiA2MDA7XG5cdFx0bGV0dGVyLXNwYWNpbmc6IC4wMmVtO1xuXHRcdHRleHQtZGVjb3JhdGlvbjogbm9uZTtcblx0XHRjb2xvcjogJGJsYWNrO1xuXHR9XG5cdGE6OmFmdGVye1xuXHRcdGNvbnRlbnQ6IFwiXCI7XG5cdFx0ZGlzcGxheTogYmxvY2s7XG5cdFx0d2lkdGg6IDEwMCU7XG5cdFx0aGVpZ2h0OiAzcHg7XG5cdFx0YmFja2dyb3VuZDogJGJsYWNrO1xuXHRcdG9wYWNpdHk6IDA7XG5cdFx0dHJhbnNmb3JtOiBzY2FsZVgoMCk7XG5cdFx0dHJhbnNmb3JtLW9yaWdpbjogbGVmdDtcblx0XHR0cmFuc2l0aW9uOiAuM3MgJGVhc2VPdXRRdWFkO1xuXHR9XG5cdC5jdXJyZW50LW1lbnUtaXRlbSBhOjphZnRlcntcblx0XHRvcGFjaXR5OiAxO1xuXHRcdHRyYW5zZm9ybTogc2NhbGVYKDEpO1xuXHRcdHRyYW5zaXRpb246IC4zcyAkZWFzZUluUXVhZDtcblx0fVxufVxuIiwiLnNpdGUtZm9vdGVye1xuXHQme1xuXHRcdHRyYW5zaXRpb246IC4zcyAkZWFzZUluU2luZTtcblx0XHRvcGFjaXR5OiAxO1xuXHRcdHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTtcblx0fVxuXHRuYXZ7XG5cdFx0cGFkZGluZy10b3A6IDgwcHg7XG5cdFx0cGFkZGluZy1ib3R0b206IDQwcHg7XG5cdH1cblx0LnNpdGUtbG9nb3tcblx0XHR3aWR0aDogNDBweDtcblx0XHRoZWlnaHQ6IDMycHg7XG5cdH1cblx0LnNpdGUtbmF2LFxuXHQuc2Vjb25kYXJ5LW5hdntcblx0XHRwYWRkaW5nLXRvcDogMDtcblx0XHRwYWRkaW5nLWJvdHRvbTogMDtcblx0XHRtYXJnaW4tdG9wOiAwO1xuXHRcdG1hcmdpbi1ib3R0b206IDA7XG5cdFx0bGlzdC1zdHlsZTogbm9uZTtcblx0XHR0ZXh0LWFsaWduOiBjZW50ZXI7XG5cdH1cblx0LnNpdGUtbmF2e1xuXHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQoJHNtYWxsKXtcblx0XHRcdHRleHQtYWxpZ246IGxlZnQ7XG5cdFx0XHRtYXJnaW4tYm90dG9tOiAyMHB4O1xuXHRcdH1cblx0XHRAaW5jbHVkZSBicmVha3BvaW50KCRsYXJnZSl7XG5cdFx0XHRtYXJnaW4tYm90dG9tOiAwXG5cdFx0fVxuXHR9XG5cdC5zZWNvbmRhcnktbmF2e1xuXHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQoJGxhcmdlKXtcblx0XHRcdHRleHQtYWxpZ246IHJpZ2h0O1xuXHRcdH1cblx0fVxuXHQuc2Vjb25kYXJ5LW5hdjpiZWZvcmV7XG5cdFx0Y29udGVudDogXCJcIjtcblx0XHRoZWlnaHQ6IDEwMCU7XG5cdFx0d2lkdGg6IDA7XG5cdFx0ZGlzcGxheTogaW5saW5lLWJsb2NrO1xuXHRcdHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG5cdH1cblx0LnNpdGUtbmF2IGxpLFxuXHQuc2Vjb25kYXJ5LW5hdiBsaXtcblx0XHRkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG5cdFx0dmVydGljYWwtYWxpZ246IG1pZGRsZTtcblx0fVxuXHQuc2l0ZS1uYXYgbGk6bm90KDpmaXJzdC1jaGlsZCl7XG5cdFx0bWFyZ2luLWxlZnQ6IDE2cHg7XG5cdH1cblx0LnNlY29uZGFyeS1uYXYgbGk6bm90KDpsYXN0LWNoaWxkKXtcblx0XHRtYXJnaW4tcmlnaHQ6IDE2cHg7XG5cdH1cblx0c3Zne1xuXHRcdGZpbGw6ICRibGFjaztcblx0fVxuXHRhe1xuXHRcdEBpbmNsdWRlIGZvbnQtc21vb3RoaW5nKHRydWUpO1xuXHRcdGRpc3BsYXk6IGJsb2NrO1xuXHRcdHBvc2l0aW9uOiByZWxhdGl2ZTtcblx0XHRmb250LWZhbWlseTogJGZvbnQtaGVhZGVyO1xuXHRcdGZvbnQtc2l6ZTogMTJweDtcblx0XHRmb250LXdlaWdodDogNzAwO1xuXHRcdGxldHRlci1zcGFjaW5nOiAuMDVlbTtcblx0XHRsaW5lLWhlaWdodDogMjJweDtcblx0XHR0ZXh0LWRlY29yYXRpb246IG5vbmU7XG5cdFx0Y29sb3I6ICRibGFjaztcblx0fVxuXHQuc2Vjb25kYXJ5LW5hdiBhe1xuXHRcdG9wYWNpdHk6IC42O1xuXHR9XG5cdC5jb3B5cmlnaHR7XG5cdFx0QGluY2x1ZGUgZm9udC1zbW9vdGhpbmcodHJ1ZSk7XG5cdFx0Zm9udC1mYW1pbHk6ICRmb250LWhlYWRlcjtcblx0XHRmb250LXNpemU6IDEycHg7XG5cdFx0Zm9udC13ZWlnaHQ6IDcwMDtcblx0XHRsZXR0ZXItc3BhY2luZzogLjA1ZW07XG5cdFx0bGluZS1oZWlnaHQ6IDIycHg7XG5cdFx0Y29sb3I6ICRncmV5O1xuXHRcdHRleHQtYWxpZ246IGNlbnRlcjtcblx0XHRtYXJnaW4tdG9wOiAyMHB4O1xuXHR9XG59XG4iLCIuc2l0ZS1oZXJve1xuXHQme1xuXHRcdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0XHR0b3A6IDA7XG5cdFx0bGVmdDogMDtcblx0XHR3aWR0aDogMTAwJTtcblx0XHR6LWluZGV4OiB6LWluZGV4KCdwZXJtYW5hbnQtaGVybycpO1xuXHRcdHBhZGRpbmc6IDg4cHggMDtcblx0XHRjb2xvcjogJGJsYWNrO1xuXHRcdHRyYW5zaXRpb246IC4zcyAkZWFzZU91dFNpbmU7XG5cdFx0b3ZlcmZsb3c6IGhpZGRlbjtcblx0fVxuXHQuYmFja2dyb3VuZC1jb2xvcntcblx0XHRoZWlnaHQ6IDEyMCU7XG5cdH1cbn1cbiIsIi5wYWdlLWhlcm97XG5cdCZ7XG5cdFx0cG9zaXRpb246IHJlbGF0aXZlO1xuXHRcdHotaW5kZXg6IHotaW5kZXgoJ2hlcm8nKTtcblx0XHRwYWRkaW5nOiA4OHB4IDA7XG5cdFx0Y29sb3I6ICRibGFjaztcblx0XHRvdmVyZmxvdzogaGlkZGVuO1xuXHR9XG5cdC5yb3d7XG5cdFx0YWxpZ24taXRlbXM6IGNlbnRlcjtcblx0fVxuXHQuY29udGVudHtcblx0XHRwYWRkaW5nOiAxMDBweCAwIDkwcHg7XG5cdH1cblx0LmhlYWRlcntcblx0XHRAaW5jbHVkZSBmb250LXNtb290aGluZyh0cnVlKTtcblx0XHRwYWRkaW5nOiAwO1xuXHRcdG1hcmdpbjogMCAwIDEwcHg7XG5cdFx0Zm9udC1mYW1pbHk6ICRmb250LWhlYWRlcjtcblx0XHRmb250LXNpemU6IDQwcHg7XG5cdFx0bGluZS1oZWlnaHQ6IDFlbTtcblx0XHR0cmFuc2l0aW9uOiAuM3MgJGVhc2VJblNpbmU7XG5cdFx0b3BhY2l0eTogMTtcblx0XHR0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCk7XG5cdFx0dHJhbnNpdGlvbi1kZWxheTogLjNzO1xuXHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQoJHNtYWxsKXtcblx0XHRcdGZvbnQtc2l6ZTogNTZweDtcblx0XHR9XG5cdH1cblx0Lmhlcm8tY29weSBwe1xuXHRcdG1heC13aWR0aDogNTAwcHg7XG5cdFx0Zm9udC1mYW1pbHk6ICRmb250LWJvZHk7XG5cdFx0Zm9udC1zaXplOiAxOHB4O1xuXHRcdGxpbmUtaGVpZ2h0OiAxLjVlbTtcblx0XHRsZXR0ZXItc3BhY2luZzogLjA1ZW07XG5cdFx0Y29sb3I6IGluaGVyaXQ7XG5cdFx0dHJhbnNpdGlvbjogLjNzICRlYXNlSW5TaW5lO1xuXHRcdHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTtcblx0XHR0cmFuc2l0aW9uLWRlbGF5OiAuM3M7XG5cdH1cblx0Lmhlcm8tZm9ybXtcblx0XHQme1xuXHRcdFx0cG9zaXRpb246IHJlbGF0aXZlO1xuXHRcdFx0bWF4LXdpZHRoOiA0MDBweDtcblx0XHRcdG9wYWNpdHk6IDE7XG5cdFx0XHR0cmFuc2l0aW9uOiAuM3MgJGVhc2VJblNpbmU7XG5cdFx0XHR0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCk7XG5cdFx0XHR0cmFuc2l0aW9uLWRlbGF5OiAuM3M7XG5cdFx0fVxuXHRcdC5pbnB1dC13aXRoLXBsYWNlaG9sZGVye1xuXHRcdFx0cG9zaXRpb246IHJlbGF0aXZlO1xuXHRcdFx0ei1pbmRleDogMTtcblx0XHR9XG5cdFx0YnV0dG9ue1xuXHRcdFx0cG9zaXRpb246IGFic29sdXRlO1xuXHRcdFx0dG9wOiAwO1xuXHRcdFx0cmlnaHQ6IDA7XG5cdFx0XHRoZWlnaHQ6IDEwMCU7XG5cdFx0XHR6LWluZGV4OiAyO1xuXHRcdFx0YmFja2dyb3VuZDogJHNvZnQtZ3JleTtcblx0XHRcdGJvcmRlci1jb2xvcjogJHNvZnQtZ3JleTtcblx0XHR9XG5cdH1cblx0LnNlY3Rpb24tbG9nb3tcblx0XHQme1xuXHRcdFx0ZGlzcGxheTogaW5saW5lLWJsb2NrO1xuXHRcdFx0bWFyZ2luLWJvdHRvbTogNDBweDtcblx0XHRcdHRyYW5zaXRpb246IC42cyAkZWFzZUluU2luZTtcblx0XHRcdG9wYWNpdHk6IDE7XG5cdFx0XHR0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCk7XG5cdFx0XHR0cmFuc2l0aW9uLWRlbGF5OiAuOHM7XG5cdFx0fVxuXHRcdGltZ3tcblx0XHRcdGRpc3BsYXk6IGJsb2NrO1xuXHRcdFx0d2lkdGg6IDEwMCU7XG5cdFx0XHRtYXgtd2lkdGg6IDE1MHB4O1xuXHRcdH1cblx0fVxuXHQudGl0bGUtaW1hZ2V7XG5cdFx0bWF4LXdpZHRoOiAzMDBweDtcblx0XHR3aWR0aDogODAlO1xuXHR9XG5cdC53aWRlLWhlcm8gLnRpdGxlLWltYWdle1xuXHRcdG1heC13aWR0aDogNzAwcHg7XG5cdFx0d2lkdGg6IDEwMCU7XG5cdH1cblx0LnRpdGxlLWltYWdlLXRleHR7XG5cdFx0ZGlzcGxheTogbm9uZTtcblx0fVxuXHQuc2lkZS1pbWFnZXtcblx0XHRAaW5jbHVkZSBhc3BlY3QtcmF0aW8oMiwxKTtcblx0XHRkaXNwbGF5OiBibG9jaztcblx0XHRiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXI7XG5cdFx0YmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcblx0XHRiYWNrZ3JvdW5kLXNpemU6IGNvbnRhaW47XG5cdFx0dHJhbnNpdGlvbjogLjNzICRlYXNlSW5TaW5lO1xuXHRcdG9wYWNpdHk6IDE7XG5cdFx0dHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApO1xuXHRcdHRyYW5zaXRpb24tZGVsYXk6IC42cztcblx0fVxuXHQuaW1hZ2UtY29udGFpbmVye1xuXHRcdG9yZGVyOiAxO1xuXHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQoJHNtYWxsKXtcblx0XHRcdG9yZGVyOiAyO1xuXHRcdH1cblx0fVxuXHQuY29udGVudC1jb250YWluZXJ7XG5cdFx0b3JkZXI6IDI7XG5cdFx0QGluY2x1ZGUgYnJlYWtwb2ludCgkc21hbGwpe1xuXHRcdFx0b3JkZXI6IDE7XG5cdFx0fVxuXHR9XG5cdC5sb2NrLWljb257XG5cdFx0Jntcblx0XHRcdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0XHRcdHRvcDogNTAlO1xuXHRcdFx0bGVmdDogNTAlO1xuXHRcdFx0dHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwtNTAlKTtcblx0XHRcdGRpc3BsYXk6IGJsb2NrO1xuXHRcdFx0d2lkdGg6IDE0MHB4O1xuXHRcdFx0aGVpZ2h0OiAxNjhweDtcblx0XHRcdHotaW5kZXg6IDE7XG5cdFx0fVxuXHRcdC5sb2NrLWJvZHl7XG5cdFx0XHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdFx0XHR0b3A6IDA7XG5cdFx0XHR3aWR0aDogMTAwJTtcblx0XHRcdHotaW5kZXg6IDI7XG5cdFx0fVxuXHRcdC5sb2NrLWJhcnN7XG5cdFx0XHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdFx0XHR0b3A6IDA7XG5cdFx0XHR3aWR0aDogMTAwJTtcblx0XHRcdHotaW5kZXg6IDE7XG5cdFx0XHR0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTQwcHgpO1xuXHRcdFx0dHJhbnNpdGlvbjogLjNzICRlYXNlT3V0U2luZTtcblx0XHR9XG5cdFx0LmNvbG9yLXdoaXRle1xuXHRcdFx0ZmlsbDogI2ZmZjtcblx0XHR9XG5cdFx0LmNvbG9yLWJsYWNre1xuXHRcdFx0ZmlsbDogJGJsYWNrO1xuXHRcdH1cblx0fVxuXHQmLm9sZC1oZXJve1xuXHRcdCZ7XG5cdFx0XHR0cmFuc2l0aW9uOiAuM3MgJGVhc2VPdXRTaW5lO1xuXHRcdFx0cG9zaXRpb246IGFic29sdXRlO1xuXHRcdFx0d2lkdGg6IDEwMCU7XG5cdFx0fVxuXHRcdC5jb250ZW50e1xuXHRcdFx0b3BhY2l0eTogMCAhaW1wb3J0YW50XG5cdFx0fVxuXHR9XG59XG4iLCJAbWl4aW4gYXNwZWN0LXJhdGlvKCR3aWR0aCwgJGhlaWdodCkge1xuICAme1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgfVxuICAmOmJlZm9yZSB7XG4gICAgY29udGVudDogXCJcIjtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB3aWR0aDogMTAwJTtcbiAgICBwYWRkaW5nLXRvcDogKCRoZWlnaHQgLyAkd2lkdGgpICogMTAwJTtcbiAgfVxufVxuIiwiLndvcmstbGlzdGluZ3tcblx0Jntcblx0XHRwb3NpdGlvbjogcmVsYXRpdmU7XG5cdFx0ei1pbmRleDogei1pbmRleCgnYm9keS1jb250ZW50Jyk7XG5cdFx0bWFyZ2luLXRvcDogLTgwcHg7XG5cdFx0dHJhbnNpdGlvbjogLjNzICRlYXNlSW5TaW5lO1xuXHRcdG9wYWNpdHk6IDE7XG5cdFx0dHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApO1xuXHR9XG5cdC53b3JrLWl0ZW17XG5cdFx0bWFyZ2luLWJvdHRvbTogNDBweDtcblx0fVxuXHQud29yay1pdGVtIC5pbWFnZXtcblx0XHRAaW5jbHVkZSBhc3BlY3QtcmF0aW8oNCwyLjIpO1xuXHRcdHBvc2l0aW9uOiByZWxhdGl2ZTtcblx0XHRiYWNrZ3JvdW5kLWNvbG9yOiAkZ3JleTtcblx0XHRiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXI7XG5cdFx0YmFja2dyb3VuZC1zaXplOiBjb3Zlcjtcblx0XHRwb2ludGVyLWV2ZW50czogbm9uZTtcblx0XHRvdmVyZmxvdzogaGlkZGVuO1xuXHR9XG5cdC5iYWNrZ3JvdW5kLXZpZGVve1xuXHRcdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0XHR0b3A6IDUwJTtcblx0XHRsZWZ0OiA1MCU7XG5cdFx0d2lkdGg6IDEyMCU7XG5cdFx0aGVpZ2h0OiAxMjAlO1xuXHRcdHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIC01MCUpO1xuXHR9XG5cdHZpZGVve1xuXHRcdHdpZHRoOiAxMDAlO1xuXHR9XG5cdC53b3JrLWl0ZW0gaDJ7XG5cdFx0ZGlzcGxheTogYmxvY2s7XG5cdFx0bWFyZ2luOiAyMHB4IDAgMTVweDtcblx0XHRmb250LWZhbWlseTogJGZvbnQtaGVhZGVyO1xuXHRcdGZvbnQtc2l6ZTogMjZweDtcblx0XHRsZXR0ZXItc3BhY2luZzogLjAyNWVtO1xuXHRcdGNvbG9yOiAkYmxhY2s7XG5cdH1cblx0LndvcmstaXRlbSBwe1xuXHRcdG1hcmdpbjogMDtcblx0XHRmb250LWZhbWlseTogJGZvbnQtYm9keTtcblx0XHRmb250LXNpemU6IDE2cHg7XG5cdFx0bGluZS1oZWlnaHQ6IDEuNWVtO1xuXHRcdGNvbG9yOiAkYmxhY2s7XG5cdFx0b3BhY2l0eTogLjc7XG5cdH1cblx0LndvcmstaXRlbSBhe1xuXHRcdGRpc3BsYXk6IGJsb2NrO1xuXHRcdHRleHQtZGVjb3JhdGlvbjogbm9uZTtcblx0fVxuXHQuY29taW5nLXNvb24tbm90aWNle1xuXHRcdHRleHQtYWxpZ246IGNlbnRlcjtcblx0XHRwYWRkaW5nLXRvcDogMTYwcHg7XG5cdH1cbn1cbiIsIi5lbnRyeS1jb250ZW50e1xuXHQme1xuXHRcdG1hcmdpbjogNDBweCAwO1xuXHRcdHRyYW5zaXRpb246IC4zcyAkZWFzZUluU2luZTtcblx0XHRvcGFjaXR5OiAxO1xuXHRcdHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTtcblx0fVxuXHQucG9zdC1tb2R1bGV7XG5cdH1cblx0Lm1vZHVsZS1oZWFkZXItMSxcblx0Lm1vZHVsZS1icmVhayxcblx0LmNhbnZhcy1tb2R1bGV7XG5cdFx0bWFyZ2luLXRvcDogNDBweDtcblx0XHRAaW5jbHVkZSBicmVha3BvaW50KCRzbWFsbCl7XG5cdFx0XHRtYXJnaW4tdG9wOiA2MHB4O1xuXHRcdH1cblx0XHRAaW5jbHVkZSBicmVha3BvaW50KCRsYXJnZSl7XG5cdFx0XHRtYXJnaW4tdG9wOiA4MHB4O1xuXHRcdH1cblx0fVxuXHQubW9kdWxlLWhlYWRlci0xe1xuXHRcdG1hcmdpbi1ib3R0b206IDEwcHg7XG5cdFx0QGluY2x1ZGUgYnJlYWtwb2ludCgkc21hbGwpe1xuXHRcdFx0bWFyZ2luLWJvdHRvbTogMjBweDtcblx0XHR9XG5cdFx0QGluY2x1ZGUgYnJlYWtwb2ludCgkbGFyZ2Upe1xuXHRcdFx0bWFyZ2luLWJvdHRvbTogNDBweDtcblx0XHR9XG5cdH1cblx0Lm1vZHVsZS1icmVha3tcblx0XHRtYXJnaW4tYm90dG9tOiA0MHB4O1xuXHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQoJHNtYWxsKXtcblx0XHRcdG1hcmdpbi1ib3R0b206IDYwcHg7XG5cdFx0fVxuXHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQoJGxhcmdlKXtcblx0XHRcdG1hcmdpbi1ib3R0b206IDgwcHg7XG5cdFx0fVxuXHR9XG5cdC5pbWFnZS10aXRsZXtcblx0XHQme1xuXHRcdFx0cG9zaXRpb246IHJlbGF0aXZlO1xuXHRcdH1cblx0XHRpbWd7XG5cdFx0XHRtYXgtd2lkdGg6IDcwMHB4O1xuXHRcdFx0bWFyZ2luOiAwO1xuXHRcdH1cblx0fVxuXHQuaGlkZGVuLWJ5LWltYWdlIHtcblx0XHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdFx0dG9wOiA1MCU7XG5cdFx0dHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpO1xuXHRcdGNvbG9yOiB0cmFuc3BhcmVudDtcblx0XHRtYXJnaW46IDA7XG5cdH1cblx0LmJ1dHRvbi1tb2R1bGV7XG5cdFx0bWFyZ2luLXRvcDogNDBweDtcblx0XHRtYXJnaW4tYm90dG9tOiA4MHB4O1xuXHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQoJHNtYWxsKXtcblx0XHRcdG1hcmdpbi10b3A6IDYwcHg7XG5cdFx0XHRtYXJnaW4tYm90dG9tOiAxMjBweDtcblx0XHR9XG5cdFx0QGluY2x1ZGUgYnJlYWtwb2ludCgkbGFyZ2Upe1xuXHRcdFx0bWFyZ2luLXRvcDogODBweDtcblx0XHRcdG1hcmdpbi1ib3R0b206IDE2MHB4O1xuXHRcdH1cblx0fVxuXHQuaW1hZ2UtY29udGFpbmVye1xuXHRcdHdpZHRoOiAxMDAlO1xuXHR9XG5cdGZpZ3VyZXtcblx0XHRtYXJnaW46IDEwcHggMCA0MHB4O1xuXHR9XG5cdGZpZ3VyZSBpbWd7XG5cdFx0Ym9yZGVyOiAxcHggc29saWQgJHNvZnQtZ3JleTtcblx0fVxuXHRmaWdjYXB0aW9ue1xuXHRcdG1hcmdpbi10b3A6IDEwcHg7XG5cdH1cblx0aW1ne1xuXHRcdGRpc3BsYXk6IGJsb2NrO1xuXHRcdHdpZHRoOiAxMDAlO1xuXHRcdGhlaWdodDogYXV0bztcblx0XHRtYXJnaW46IDIwcHggYXV0bztcblx0fVxuXHQuY29kZS1tb2R1bGUgLmZpbGUtbmFtZXtcblx0XHRkaXNwbGF5OiBibG9jaztcblx0XHR3aWR0aDogMTAwJTtcblx0XHRwYWRkaW5nOiAxMHB4O1xuXHRcdGZvbnQtZmFtaWx5OiAkZm9udC1oZWFkZXI7XG5cdFx0Zm9udC1zaXplOiAxNnB4O1xuXHRcdGZvbnQtd2VpZ2h0OiA0MDA7XG5cdFx0YmFja2dyb3VuZC1jb2xvcjogJHNwcmF5O1xuXHRcdGNvbG9yOiAkYmxhY2s7XG5cdFx0QGluY2x1ZGUgYnJlYWtwb2ludCgkc21hbGwpe1xuXHRcdFx0cGFkZGluZzogMTBweCAyMHB4O1xuXHRcdH1cblx0fVxuXHQuY29kZS1tb2R1bGUgcHJle1xuXHRcdGJhY2tncm91bmQ6ICNmYWZhZmE7XG5cdFx0cGFkZGluZzogMTBweDtcblx0XHRib3JkZXI6IDFweCBzb2xpZCAjZWVlO1xuXHRcdG1hcmdpbjogMDtcblx0XHRAaW5jbHVkZSBicmVha3BvaW50KCRzbWFsbCl7XG5cdFx0XHRwYWRkaW5nOiAyMHB4O1xuXHRcdH1cblx0fVxuXHQuY29kZS1tb2R1bGUgY29kZXtcblx0XHRiYWNrZ3JvdW5kOiAjZmFmYWZhO1xuXHR9XG5cdGE6bm90KC5idXR0b24pe1xuXHRcdHBvc2l0aW9uOiByZWxhdGl2ZTtcblx0XHRkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG5cdFx0ei1pbmRleDogMTtcblx0XHRjb2xvcjogJGdyZXk7XG5cdFx0dGV4dC1kZWNvcmF0aW9uOiBub25lO1xuXHR9XG5cdGE6bm90KC5idXR0b24pOjphZnRlcntcblx0XHRjb250ZW50OiBcIlwiO1xuXHRcdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0XHRsZWZ0OiAwO1xuXHRcdGJvdHRvbTogMDtcblx0XHRkaXNwbGF5OiBibG9jaztcblx0XHR3aWR0aDogMTAwJTtcblx0XHRoZWlnaHQ6IDEwMCU7XG5cdFx0dHJhbnNmb3JtOiBzY2FsZVkoLjE0KTtcblx0XHR0cmFuc2Zvcm0tb3JpZ2luOiBib3R0b207XG5cdFx0b3BhY2l0eTogLjM7XG5cdFx0ei1pbmRleDogLTE7XG5cdFx0dHJhbnNpdGlvbjogLjNzICRlYXNlT3V0Q3ViaWM7XG5cdH1cblx0YTo6YWZ0ZXJ7XG5cdFx0YmFja2dyb3VuZC1jb2xvcjogJHNwcmF5O1xuXHR9XG5cdGE6aG92ZXI6OmFmdGVye1xuXHRcdHRyYW5zZm9ybTogc2NhbGVZKDEpO1xuXHR9XG5cdC5idXR0b24tY29udGFpbntcblx0XHR0ZXh0LWFsaWduOiBjZW50ZXI7XG5cdH1cblx0LnNsaWRlLWJ1dHRvbnMtY29udGFpbntcblx0XHQme1xuXHRcdFx0ZGlzcGxheTogYmxvY2s7XG5cdFx0XHR3aWR0aDogMTAwJTtcblx0XHR9XG5cdFx0Lm5leHQtYnV0dG9ue1xuXHRcdFx0ZmxvYXQ6IHJpZ2h0O1xuXHRcdH1cblx0fVxuXHQuc2xpZGVzaG93LW1vZHVsZXtcblx0XHRtYXJnaW4tdG9wOiA2MHB4O1xuXHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQoJHNtYWxsKXtcblx0XHRcdG1hcmdpbi10b3A6IDEwMHB4O1xuXHRcdH1cblx0XHRAaW5jbHVkZSBicmVha3BvaW50KCRsYXJnZSl7XG5cdFx0XHRtYXJnaW4tdG9wOiAxMjBweDtcblx0XHR9XG5cdH1cblx0LmNhbnZhcy1tb2R1bGV7XG5cdFx0Jntcblx0XHRcdGJvcmRlci10b3A6IDVweCBzb2xpZCAjRjBEQjRGO1xuXHRcdFx0Ym9yZGVyLWJvdHRvbTogNXB4IHNvbGlkICNGMERCNEY7XG5cdFx0fVxuXHRcdC5jYW52YXMtY29udGFpbntcblx0XHRcdHBvc2l0aW9uOiByZWxhdGl2ZTtcblx0XHRcdHotaW5kZXg6IDE7XG5cdFx0XHRoZWlnaHQ6IDYwMHB4O1xuXHRcdFx0b3ZlcmZsb3c6IGhpZGRlbjtcblx0XHR9XG5cdH1cbn1cbiIsIi5ob2xpZGF5LWNhcmQtMTh7XG5cdCZ7XG5cdH1cblx0LnBhZ2UtaGVyb3tcblx0XHQme1xuXHRcdFx0cGFkZGluZzogMDtcblx0XHR9XG5cdFx0LmNvbnRlbnR7XG5cdFx0XHRwYWRkaW5nOiAwO1xuXHRcdFx0bWFyZ2luOiAwO1xuXHRcdH1cblx0XHQudGl0bGUtaW1hZ2V7XG5cdFx0XHR3aWR0aDogMTAwJTtcblx0XHRcdG1heC13aWR0aDogMTAwJTtcblx0XHR9XG5cdH1cblx0LmVudHJ5LWNvbnRlbnR7XG5cdCAgIC5pZnJhbWUtY3Rue1xuXHRcdCAgIEBpbmNsdWRlIGFzcGVjdC1yYXRpbygxNiw5KTtcblx0XHQgICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cdCAgIH1cblx0ICAgLmlmcmFtZS1jdG4gaWZyYW1le1xuXHRcdCAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0XHQgICB0b3A6IDA7XG5cdFx0ICAgbGVmdDogMDtcblx0XHQgICB3aWR0aDogMTAwJTtcblx0XHQgICBoZWlnaHQ6IDEwMCU7XG5cdCAgIH1cblx0fVxufVxuIiwiLnNtYWxsLW5hdi1vcGVue1xuXHQuc2l0ZS1oZWFkZXIubGlnaHQtaGVhZGVye1xuXHRcdGNvbG9yOiAkYmxhY2s7XG5cdFx0ZmlsbDogJGJsYWNrO1xuXHR9XG5cdC5tb2JpbGUtbmF2LWxpc3R7XG5cdFx0Jjo6YmVmb3Jle1xuXHRcdFx0dHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApO1xuXHRcdFx0b3BhY2l0eTogMTtcblx0XHRcdHRyYW5zaXRpb246IC45cyAkZWFzZU91dFF1YWQ7XG5cdFx0fVxuXHRcdGxpe1xuXHRcdFx0dHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApO1xuXHRcdFx0b3BhY2l0eTogMTtcblx0XHRcdHRyYW5zaXRpb246IC4zcyAkZWFzZU91dFF1YWQ7XG5cdFx0fVxuXHRcdCRvcmlnaW5hbC1kZWxheTogMjtcblx0XHRAZm9yICRpIGZyb20gMSB0aHJvdWdoIDIwIHtcblx0XHRcdGxpOm50aC1jaGlsZCgjeyRpfSl7XG5cdFx0XHRcdHRyYW5zaXRpb24tZGVsYXk6ICgkb3JpZ2luYWwtZGVsYXkgKyAkaSkgKiAuMXM7XG5cdFx0XHR9XG5cdFx0fVxuXHR9XG5cdC5zaXRlLWhlYWRlcntcblx0XHQuaGFtYnVyZ2VyLWljb257XG5cdFx0XHR0cmFuc2Zvcm06IHJvdGF0ZSg0NWRlZyk7XG5cdFx0XHR0cmFuc2l0aW9uOiAuM3MgJGVhc2VJblF1YWQ7XG5cdFx0fVxuXHRcdC5oYW1idXJnZXItaWNvbiBkaXZ7XG5cdFx0XHQme1xuXHRcdFx0XHRjb2xvcjogJGJsYWNrO1xuXHRcdFx0fVxuXHRcdFx0JjpudGgtY2hpbGQoMSl7XG5cdFx0XHRcdG9wYWNpdHk6IDA7XG5cdFx0XHRcdHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMTBweCk7XG5cdFx0XHRcdHRyYW5zaXRpb246IC4zcyAkZWFzZUluUXVhZDtcblx0XHRcdH1cblx0XHRcdCY6bnRoLWNoaWxkKDIpOjpiZWZvcmV7XG5cdFx0XHRcdHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsLTUwJSkgc2NhbGVZKDEpO1xuXHRcdFx0XHR0cmFuc2l0aW9uOiAuM3MgJGVhc2VJblF1YWQ7XG5cdFx0XHR9XG5cdFx0XHQmOm50aC1jaGlsZCgzKXtcblx0XHRcdFx0b3BhY2l0eTogMDtcblx0XHRcdFx0dHJhbnNmb3JtOiB0cmFuc2xhdGVZKDEwcHgpO1xuXHRcdFx0XHR0cmFuc2l0aW9uOiAuM3MgJGVhc2VJblF1YWQ7XG5cdFx0XHR9XG5cdFx0fVxuXHR9XG59XG4iLCIucGFnZS10cmFuc2l0aW9uaW5ne1xuXHQme1xuXHRcdGhlaWdodDogMTAwJTtcblx0XHRvdmVyZmxvdzogaGlkZGVuO1xuXHR9XG5cdC5zaXRlLWhlYWRlcntcblx0XHQuYmFja2dyb3VuZC1jb2xvcntcblx0XHRcdG9wYWNpdHk6IDA7XG5cdFx0fVxuXHR9XG5cdC5sb2FkaW5nLWdhdGV7XG5cdFx0ZGlzcGxheTogYmxvY2s7XG5cdFx0aGVpZ2h0OiAxMDAlO1xuXHRcdG9wYWNpdHk6IDE7XG5cdFx0dHJhbnNpdGlvbjogaGVpZ2h0IDBzIGxpbmVhciAwcywgb3BhY2l0eSAuM3MgZWFzZS1vdXQgLjFzO1xuXHR9XG5cdC5laC1sb2dvICp7XG5cdFx0YW5pbWF0aW9uLXBsYXktc3RhdGU6IHJ1bm5pbmc7XG5cdH1cblx0LnBhZ2UtaGVyb3tcblx0XHQuYmFja2dyb3VuZC1jb2xvcixcblx0XHQuYmFja2dyb3VuZC12aWRlb3tcblx0XHRcdHRyYW5zaXRpb246IC4zcyAkZWFzZU91dFNpbmU7XG5cdFx0XHRvcGFjaXR5OiAwO1xuXHRcdFx0dHJhbnNpdGlvbi1kZWxheTogLjNzO1xuXHRcdH1cblx0XHQuYmFja2dyb3VuZC1pbWFnZXtcblx0XHRcdHRyYW5zaXRpb246IC4zcyAkZWFzZU91dFNpbmU7XG5cdFx0XHRvcGFjaXR5OiAwO1xuXHRcdFx0dHJhbnNpdGlvbi1kZWxheTogLjBzO1xuXHRcdH1cblx0XHQuaGVhZGVye1xuXHRcdFx0dHJhbnNpdGlvbjogLjNzICRlYXNlT3V0U2luZTtcblx0XHRcdG9wYWNpdHk6IDA7XG5cdFx0XHR0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoNTBweCk7XG5cdFx0fVxuXHRcdC5zZWN0aW9uLWxvZ297XG5cdFx0XHR0cmFuc2l0aW9uOiAuNnMgJGVhc2VPdXRTaW5lO1xuXHRcdFx0b3BhY2l0eTogMDtcblx0XHRcdHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTBweCk7XG5cdFx0XHR0cmFuc2l0aW9uLWRlbGF5OiAuMHM7XG5cdFx0fVxuXHRcdC5oZXJvLWNvcHkgcHtcblx0XHRcdHRyYW5zaXRpb246IC4zcyAkZWFzZU91dFNpbmU7XG5cdFx0XHRvcGFjaXR5OiAwO1xuXHRcdFx0dHJhbnNmb3JtOiB0cmFuc2xhdGVZKDUwcHgpO1xuXHRcdH1cblx0XHQuc2lkZS1pbWFnZXtcblx0XHRcdHRyYW5zaXRpb246IC4zcyAkZWFzZU91dFNpbmU7XG5cdFx0XHRvcGFjaXR5OiAwO1xuXHRcdFx0dHJhbnNmb3JtOiB0cmFuc2xhdGVZKDUwcHgpO1xuXHRcdFx0dHJhbnNpdGlvbi1kZWxheTogLjBzO1xuXHRcdH1cblx0XHQuaGVyby1mb3Jte1xuXHRcdFx0dHJhbnNpdGlvbjogLjNzICRlYXNlT3V0U2luZTtcblx0XHRcdG9wYWNpdHk6IDA7XG5cdFx0XHR0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoNTBweCk7XG5cdFx0XHR0cmFuc2l0aW9uLWRlbGF5OiAuMHM7XG5cdFx0fVxuXHRcdCYub2xkLWhlcm97XG5cdFx0XHQme31cblx0XHRcdC5iYWNrZ3JvdW5kLWNvbG9yLFxuXHRcdFx0LmJhY2tncm91bmQtdmlkZW97XG5cdFx0XHRcdG9wYWNpdHk6IDE7XG5cdFx0XHR9XG5cdFx0fVxuXHR9XG5cdC53b3JrLWxpc3Rpbmd7XG5cdFx0dHJhbnNpdGlvbjogLjNzICRlYXNlT3V0U2luZTtcblx0XHRvcGFjaXR5OiAwO1xuXHRcdHRyYW5zZm9ybTogdHJhbnNsYXRlWSg1MHB4KTtcblx0fVxuXHQuc2l0ZS1mb290ZXJ7XG5cdFx0dHJhbnNpdGlvbjogLjNzICRlYXNlT3V0U2luZTtcblx0XHRvcGFjaXR5OiAwO1xuXHRcdHRyYW5zZm9ybTogdHJhbnNsYXRlWSg1MHB4KTtcblx0fVxuXHQuZW50cnktY29udGVudHtcblx0XHR0cmFuc2l0aW9uOiAuM3MgJGVhc2VPdXRTaW5lO1xuXHRcdG9wYWNpdHk6IDA7XG5cdFx0dHJhbnNmb3JtOiB0cmFuc2xhdGVZKDUwcHgpO1xuXHR9XG59XG4iLCIucmVzZXQtc2Nyb2xse1xuXHQucm91dGVye1xuXHRcdGhlaWdodDogMDtcblx0XHRvdmVyZmxvdzogaGlkZGVuO1xuXHR9XG59XG4iLCIucGFnZS1sb2NrZWQgLnBhZ2UtaGVyb3tcblx0LmxvY2staWNvbiAubG9jay1iYXJze1xuXHRcdHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTtcblx0XHR0cmFuc2l0aW9uOiAuM3MgJGVhc2VPdXRCYWNrO1xuXHR9XG59XG4iLCIubG9naW4tZmFpbGVkIC5wYWdlLWhlcm97XG5cdC5iYWNrZ3JvdW5kLWNvbG9ye1xuXHRcdGJhY2tncm91bmQtY29sb3I6ICNFRjZFNkY7XG5cdH1cblx0Lmhlcm8tZm9ybXtcblx0XHRhbmltYXRpb246IHNoYWtlIDAuODJzIGN1YmljLWJlemllciguMzYsLjA3LC4xOSwuOTcpIGJvdGg7XG5cdFx0dHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcblx0XHRiYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47XG5cdFx0cGVyc3BlY3RpdmU6IDEwMDBweDtcblx0fVxufVxuIiwiLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG4vLyBEZWZhdWx0IFZhcmlhYmxlc1xuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG4kQnJlYWtwb2ludC1TZXR0aW5nczogKFxuICAnZGVmYXVsdCBtZWRpYSc6IGFsbCxcbiAgJ2RlZmF1bHQgZmVhdHVyZSc6IG1pbi13aWR0aCxcbiAgJ2RlZmF1bHQgcGFpcic6IHdpZHRoLFxuXG4gICdmb3JjZSBhbGwgbWVkaWEgdHlwZSc6IGZhbHNlLFxuICAndG8gZW1zJzogZmFsc2UsXG4gICd0cmFuc2Zvcm0gcmVzb2x1dGlvbnMnOiB0cnVlLFxuXG4gICdubyBxdWVyaWVzJzogZmFsc2UsXG4gICdubyBxdWVyeSBmYWxsYmFja3MnOiBmYWxzZSxcblxuICAnYmFzZSBmb250IHNpemUnOiAxNnB4LFxuXG4gICdsZWdhY3kgc3ludGF4JzogZmFsc2Vcbik7XG5cbiRicmVha3BvaW50OiAoKSAhZGVmYXVsdDtcblxuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG4vLyBJbXBvcnRzXG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cbkBpbXBvcnQgXCJicmVha3BvaW50L3NldHRpbmdzXCI7XG5AaW1wb3J0ICdicmVha3BvaW50L2NvbnRleHQnO1xuQGltcG9ydCAnYnJlYWtwb2ludC9oZWxwZXJzJztcbkBpbXBvcnQgJ2JyZWFrcG9pbnQvcGFyc2Vycyc7XG5AaW1wb3J0ICdicmVha3BvaW50L25vLXF1ZXJ5JztcblxuQGltcG9ydCAnYnJlYWtwb2ludC9yZXNwb25kLXRvJztcblxuQGltcG9ydCBcImJyZWFrcG9pbnQvbGVnYWN5LXNldHRpbmdzXCI7XG5cbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuLy8gQnJlYWtwb2ludCBNaXhpblxuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG5cbkBtaXhpbiBicmVha3BvaW50KCRxdWVyeSwgJG5vLXF1ZXJ5OiBmYWxzZSkge1xuICBAaW5jbHVkZSBsZWdhY3ktc2V0dGluZ3Mtd2FybmluZztcblxuICAvLyBSZXNldCBjb250ZXh0c1xuICBAaW5jbHVkZSBwcml2YXRlLWJyZWFrcG9pbnQtcmVzZXQtY29udGV4dHMoKTtcblxuICAkYnJlYWtwb2ludDogYnJlYWtwb2ludCgkcXVlcnksIGZhbHNlKTtcblxuICAkcXVlcnktc3RyaW5nOiBtYXAtZ2V0KCRicmVha3BvaW50LCAncXVlcnknKTtcbiAgJHF1ZXJ5LWZhbGxiYWNrOiBtYXAtZ2V0KCRicmVha3BvaW50LCAnZmFsbGJhY2snKTtcblxuICAkcHJpdmF0ZS1icmVha3BvaW50LWNvbnRleHQtaG9sZGVyOiBtYXAtZ2V0KCRicmVha3BvaW50LCAnY29udGV4dCBob2xkZXInKSAhZ2xvYmFsO1xuICAkcHJpdmF0ZS1icmVha3BvaW50LXF1ZXJ5LWNvdW50OiBtYXAtZ2V0KCRicmVha3BvaW50LCAncXVlcnkgY291bnQnKSAhZ2xvYmFsO1xuXG4gIC8vIEFsbG93IGZvciBhbiBhcy1uZWVkZWQgb3ZlcnJpZGUgb3IgdXNhZ2Ugb2Ygbm8gcXVlcnkgZmFsbGJhY2suXG4gIEBpZiAkbm8tcXVlcnkgIT0gZmFsc2Uge1xuICAgICRxdWVyeS1mYWxsYmFjazogJG5vLXF1ZXJ5O1xuICB9XG5cbiAgQGlmICRxdWVyeS1mYWxsYmFjayAhPSBmYWxzZSB7XG4gICAgJGNvbnRleHQtc2V0dGVyOiBwcml2YXRlLWJyZWFrcG9pbnQtc2V0LWNvbnRleHQoJ25vLXF1ZXJ5JywgJHF1ZXJ5LWZhbGxiYWNrKTtcbiAgfVxuXG4gIC8vIFByaW50IE91dCBRdWVyeSBTdHJpbmdcbiAgQGlmIG5vdCBicmVha3BvaW50LWdldCgnbm8gcXVlcmllcycpIHtcbiAgICBAbWVkaWEgI3skcXVlcnktc3RyaW5nfSB7XG4gICAgICBAY29udGVudDtcbiAgICB9XG4gIH1cblxuICBAaWYgYnJlYWtwb2ludC1nZXQoJ25vIHF1ZXJ5IGZhbGxiYWNrcycpICE9IGZhbHNlIG9yIGJyZWFrcG9pbnQtZ2V0KCdubyBxdWVyaWVzJykgPT0gdHJ1ZSB7XG5cbiAgICAkdHlwZTogdHlwZS1vZihicmVha3BvaW50LWdldCgnbm8gcXVlcnkgZmFsbGJhY2tzJykpO1xuICAgICRwcmludDogZmFsc2U7XG5cbiAgICBAaWYgKCR0eXBlID09ICdib29sJykge1xuICAgICAgJHByaW50OiB0cnVlO1xuICAgIH1cbiAgICBAZWxzZSBpZiAoJHR5cGUgPT0gJ3N0cmluZycpIHtcbiAgICAgIEBpZiAkcXVlcnktZmFsbGJhY2sgPT0gYnJlYWtwb2ludC1nZXQoJ25vIHF1ZXJ5IGZhbGxiYWNrcycpIHtcbiAgICAgICAgJHByaW50OiB0cnVlO1xuICAgICAgfVxuICAgIH1cbiAgICBAZWxzZSBpZiAoJHR5cGUgPT0gJ2xpc3QnKSB7XG4gICAgICBAZWFjaCAkd3JhcHBlciBpbiBicmVha3BvaW50LWdldCgnbm8gcXVlcnkgZmFsbGJhY2tzJykge1xuICAgICAgICBAaWYgJHF1ZXJ5LWZhbGxiYWNrID09ICR3cmFwcGVyIHtcbiAgICAgICAgICAkcHJpbnQ6IHRydWU7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBXcml0ZSBGYWxsYmFja1xuICAgIEBpZiAoJHF1ZXJ5LWZhbGxiYWNrICE9IGZhbHNlKSBhbmQgKCRwcmludCA9PSB0cnVlKSB7XG4gICAgICAkdHlwZS1mYWxsYmFjazogdHlwZS1vZigkcXVlcnktZmFsbGJhY2spO1xuXG4gICAgICBAaWYgKCR0eXBlLWZhbGxiYWNrICE9ICdib29sJykge1xuICAgICAgICAjeyRxdWVyeS1mYWxsYmFja30gJiB7XG4gICAgICAgICAgQGNvbnRlbnQ7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgIEBlbHNlIHtcbiAgICAgICAgQGNvbnRlbnQ7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgQGluY2x1ZGUgcHJpdmF0ZS1icmVha3BvaW50LXJlc2V0LWNvbnRleHRzKCk7XG59XG5cblxuQG1peGluIG1xKCRxdWVyeSwgJG5vLXF1ZXJ5OiBmYWxzZSkge1xuICBAaW5jbHVkZSBicmVha3BvaW50KCRxdWVyeSwgJG5vLXF1ZXJ5KSB7XG4gICAgQGNvbnRlbnQ7XG4gIH1cbn1cbiIsIi8vIFNwYW4gU3ludGF4XG4vLyA9PT09PT09PT09PVxuXG4vLyBTcGFuIFttaXhpbl1cbi8vIC0tLS0tLS0tLS0tLVxuLy8gU2V0IGEgc3Bhbm5pbmcgZWxlbWVudCB1c2luZyBzaG9ydGhhbmQgc3ludGF4LlxuLy8gLSAkc3BhbiAgOiA8c3Bhbj5cbkBtaXhpbiBzcGFuKFxuICAkc3BhblxuKSB7XG4gICRpbnNwZWN0OiAkc3BhbjtcbiAgJHNwYW46IHBhcnNlLXNwYW4oJHNwYW4pO1xuICAkb3V0cHV0OiBzcGFuLW1hdGgoJHNwYW4pO1xuICAkbmVzdGluZzogc3VzeS1nZXQoc3BhbiwgJHNwYW4pO1xuICAkY2xlYXI6IHN1c3ktZ2V0KGNsZWFyLCAkc3Bhbik7XG5cbiAgJGJveDogc3VzeS1nZXQoYm94LXNpemluZywgJHNwYW4pO1xuICAkY29udGVudC1ib3g6IGlmKHN1c3ktZ2V0KGdsb2JhbC1ib3gtc2l6aW5nKSAhPSAnYm9yZGVyLWJveCcsIHRydWUsIGZhbHNlKTtcbiAgJGJveDogJGJveCBvciBpZihpcy1pbnNpZGUoJHNwYW4pIGFuZCAkY29udGVudC1ib3gsIGJvcmRlci1ib3gsIG51bGwpO1xuXG4gIEBpZiAkY2xlYXIgPT0gYnJlYWsge1xuICAgIEBpbmNsdWRlIGJyZWFrO1xuICB9IEBlbHNlIGlmICRjbGVhciA9PSBub2JyZWFrIHtcbiAgICBAaW5jbHVkZSBub2JyZWFrO1xuICB9XG5cbiAgQGluY2x1ZGUgc3VzeS1pbnNwZWN0KHNwYW4sICRpbnNwZWN0KTtcbiAgQGluY2x1ZGUgb3V0cHV0KChib3gtc2l6aW5nOiAkYm94KSk7XG4gIEBpbmNsdWRlIGZsb2F0LXNwYW4tb3V0cHV0KCRvdXRwdXQuLi4pO1xuXG4gIEBpZiB2YWxpZC1jb2x1bW5zKCRuZXN0aW5nLCBzaWxlbnQpIHtcbiAgICBAaW5jbHVkZSBuZXN0ZWQoJHNwYW4pIHsgQGNvbnRlbnQ7IH1cbiAgfSBAZWxzZSB7XG4gICAgQGNvbnRlbnQ7XG4gIH1cbn1cblxuLy8gU3BhbiBbZnVuY3Rpb25dXG4vLyAtLS0tLS0tLS0tLS0tLS1cbi8vIFJldHVybiB0aGUgd2lkdGggb2YgYSBzcGFuLlxuLy8gLSAkc3BhbiAgOiA8c3Bhbj5cbkBmdW5jdGlvbiBzcGFuKFxuICAkc3BhblxuKSB7XG4gIEByZXR1cm4gZ2V0LXNwYW4td2lkdGgoJHNwYW4pO1xufVxuXG4vLyBTcGFuIE1hdGhcbi8vIC0tLS0tLS0tLVxuLy8gR2V0IGFsbCB0aGUgc3BhbiByZXN1bHRzLlxuLy8gLSAkc3BhbjogPG1hcD5cbkBmdW5jdGlvbiBzcGFuLW1hdGgoXG4gICRzcGFuXG4pIHtcbiAgJG5lc3QgICAgICAgICAgICAgOiBpZihzdXN5LWdldChyb2xlLCAkc3BhbikgPT0gbmVzdCwgdHJ1ZSwgZmFsc2UpO1xuICAkc3BsaXQtbmVzdCAgICAgICA6IGlmKGlzLXNwbGl0KCRzcGFuKSBhbmQgJG5lc3QsIHRydWUsIGZhbHNlKTtcbiAgJGVkZ2UgICAgICAgICAgICAgOiBnZXQtZWRnZSgkc3Bhbik7XG4gICRsb2NhdGlvbiAgICAgICAgIDogZ2V0LWxvY2F0aW9uKCRzcGFuKTtcblxuICAkZmxvYXQgICAgICAgICAgICA6IGZyb207XG4gICRwYWRkaW5nLWJlZm9yZSAgIDogbnVsbDtcbiAgJHBhZGRpbmctYWZ0ZXIgICAgOiBudWxsO1xuICAkbWFyZ2luLWJlZm9yZSAgICA6IG51bGw7XG4gICRtYXJnaW4tYWZ0ZXIgICAgIDogbnVsbDtcblxuICAvLyBjYWxjdWxhdGUgd2lkdGhzXG4gICRzcHJlYWQ6IGluZGV4KG1hcC12YWx1ZXMoJHNwYW4pLCBzcHJlYWQpO1xuICAkc3BhbjogaWYoJHNwbGl0LW5lc3QgYW5kIG5vdCgkc3ByZWFkKSwgbWFwLW1lcmdlKCRzcGFuLCAoc3ByZWFkOiB3aWRlKSksICRzcGFuKTtcbiAgJHdpZHRoOiBnZXQtc3Bhbi13aWR0aCgkc3Bhbik7XG4gICRndXR0ZXJzOiBnZXQtZ3V0dGVycygkc3Bhbik7XG5cbiAgLy8gYXBwbHkgZ3V0dGVyc1xuICBAaWYgaXMtaW5zaWRlKCRzcGFuKSB7XG4gICAgQGlmIG5vdChzdXN5LWdldChyb2xlLCAkc3BhbikpIHtcbiAgICAgICRwYWRkaW5nLWJlZm9yZTogbWFwLWdldCgkZ3V0dGVycywgYmVmb3JlKTtcbiAgICAgICRwYWRkaW5nLWFmdGVyOiBtYXAtZ2V0KCRndXR0ZXJzLCBhZnRlcik7XG4gICAgfVxuICB9IEBlbHNlIHtcbiAgICBAaWYgbm90KCRzcGxpdC1uZXN0KSB7XG4gICAgICAkbWFyZ2luLWJlZm9yZTogbWFwLWdldCgkZ3V0dGVycywgYmVmb3JlKTtcbiAgICAgICRtYXJnaW4tYWZ0ZXI6IG1hcC1nZXQoJGd1dHRlcnMsIGFmdGVyKTtcbiAgICB9XG4gIH1cblxuICAvLyBzcGVjaWFsIG1hcmdpbiBoYW5kbGluZ1xuICBAaWYgc3VzeS1nZXQob3V0cHV0LCAkc3BhbikgPT0gaXNvbGF0ZSBhbmQgJGxvY2F0aW9uIHtcbiAgICAkbWFyZ2luLWJlZm9yZTogZ2V0LWlzb2xhdGlvbigkc3Bhbik7XG4gICAgJG1hcmdpbi1hZnRlcjogLTEwMCU7XG4gIH0gQGVsc2UgaWYgJGVkZ2Uge1xuICAgICRpcy1zcGxpdDogaXMtc3BsaXQoJHNwYW4pO1xuICAgICRwb3M6IHN1c3ktZ2V0KGd1dHRlci1wb3NpdGlvbiwgJHNwYW4pO1xuXG4gICAgQGlmICRlZGdlID09IGxhc3Qge1xuICAgICAgJGZsb2F0OiBzdXN5LWdldChsYXN0LWZsb3csICRzcGFuKTtcbiAgICB9XG5cbiAgICBAaWYgbm90KCRpcy1zcGxpdCkge1xuICAgICAgQGlmICRlZGdlID09IGZ1bGwgb3IgKCRlZGdlID09IGZpcnN0IGFuZCAkcG9zID09IGJlZm9yZSkge1xuICAgICAgICAkbWFyZ2luLWJlZm9yZTogMDtcbiAgICAgIH1cbiAgICAgIEBpZiAkZWRnZSA9PSBmdWxsIG9yICgkZWRnZSA9PSBsYXN0IGFuZCAkcG9zID09IGFmdGVyKSB7XG4gICAgICAgICRtYXJnaW4tYWZ0ZXI6IDA7XG4gICAgICB9XG4gICAgfVxuXG4gIH1cblxuICBAcmV0dXJuIChcbiAgICB3aWR0aCAgICAgICAgICAgOiAkd2lkdGgsXG4gICAgZmxvYXQgICAgICAgICAgIDogJGZsb2F0LFxuICAgIG1hcmdpbi1iZWZvcmUgICA6ICRtYXJnaW4tYmVmb3JlLFxuICAgIG1hcmdpbi1hZnRlciAgICA6ICRtYXJnaW4tYWZ0ZXIsXG4gICAgcGFkZGluZy1iZWZvcmUgIDogJHBhZGRpbmctYmVmb3JlLFxuICAgIHBhZGRpbmctYWZ0ZXIgICA6ICRwYWRkaW5nLWFmdGVyLFxuICAgIGZsb3cgICAgICAgICAgICA6IHN1c3ktZ2V0KGZsb3csICRzcGFuKSxcbiAgKTtcbn1cblxuLy8gR2V0IFNwYW4gV2lkdGhcbi8vIC0tLS0tLS0tLS0tLS0tXG4vLyBSZXR1cm4gc3BhbiB3aWR0aC5cbi8vIC0gJHNwYW46IDxtYXA+XG5AZnVuY3Rpb24gZ2V0LXNwYW4td2lkdGgoXG4gICRzcGFuXG4pIHtcbiAgJHNwYW4gICAgIDogcGFyc2Utc3Bhbigkc3Bhbik7XG5cbiAgJG4gICAgICAgIDogc3VzeS1nZXQoc3BhbiwgJHNwYW4pO1xuICAkbG9jYXRpb24gOiBnZXQtbG9jYXRpb24oJHNwYW4pO1xuICAkY29sdW1ucyAgOiBzdXN5LWdldChjb2x1bW5zLCAkc3Bhbik7XG4gICRndXR0ZXJzICA6IHN1c3ktZ2V0KGd1dHRlcnMsICRzcGFuKTtcbiAgJHNwcmVhZCAgIDogc3VzeS1nZXQoc3ByZWFkLCAkc3Bhbik7XG5cbiAgJGNvbnRleHQgIDogbnVsbDtcbiAgJHNwYW4tc3VtIDogbnVsbDtcbiAgJHdpZHRoICAgIDogbnVsbDtcblxuICBAaWYgJG4gPT0gJ2Z1bGwnIHtcbiAgICAkcG9zOiBzdXN5LWdldChndXR0ZXItcG9zaXRpb24sICRzcGFuKTtcbiAgICAkcm9sZTogc3VzeS1nZXQocm9sZSwgJHNwYW4pO1xuICAgICRuOiBpZigkcG9zID09IHNwbGl0IGFuZCAkcm9sZSAhPSBuZXN0LCBzdXN5LWNvdW50KCRjb2x1bW5zKSwgMTAwJSk7XG4gIH1cblxuICBAaWYgdHlwZS1vZigkbikgIT0gbnVtYmVyIHtcbiAgICBAd2FybiBcIigje3R5cGUtb2YoJG4pfSkgI3skbn0gaXMgbm90IGEgdmFsaWQgc3Bhbi5cIjtcbiAgfSBAZWxzZSBpZiB1bml0bGVzcygkbikge1xuICAgICRjb250ZXh0OiBzdXN5LXN1bSgkY29sdW1ucywgJGd1dHRlcnMsIGlmKGlzLXNwbGl0KCRzcGFuKSwgd2lkZSwgbmFycm93KSk7XG4gICAgJHNwcmVhZDogaWYoaXMtaW5zaWRlKCRzcGFuKSwgJHNwcmVhZCBvciB3aWRlLCAkc3ByZWFkKTtcbiAgICAkc3Bhbi1zdW06IHN1c3koJG4sICRsb2NhdGlvbiwgJGNvbHVtbnMsICRndXR0ZXJzLCAkc3ByZWFkKTtcblxuICAgICRfbWF0aDogc3VzeS1nZXQobWF0aCwgJHNwYW4pO1xuICAgICRfY29sdW1uLXdpZHRoOiBzdXN5LWdldChjb2x1bW4td2lkdGgsICRzcGFuKTtcbiAgICBAaWYgJF9tYXRoID09IHN0YXRpYyB7XG4gICAgICAkd2lkdGg6ICRzcGFuLXN1bSAqIHZhbGlkLWNvbHVtbi1tYXRoKCRfbWF0aCwgJF9jb2x1bW4td2lkdGgpO1xuICAgIH0gQGVsc2Uge1xuICAgICAgJHdpZHRoOiBwZXJjZW50YWdlKCRzcGFuLXN1bSAvICRjb250ZXh0KTtcbiAgICB9XG4gIH0gQGVsc2Uge1xuICAgICR3aWR0aDogJG47XG4gIH1cblxuICBAcmV0dXJuICR3aWR0aDtcbn1cbiIsIi8vIERpcmVjdGlvbiBIZWxwZXJzXG4vLyA9PT09PT09PT09PT09PT09PVxuXG4vLyBTdXN5IEZsb3cgRGVmYXVsdHNcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLVxuLy8gLSBQUklWQVRFXG5AaW5jbHVkZSBzdXN5LWRlZmF1bHRzKChcbiAgZmxvdzogbHRyLFxuKSk7XG5cbi8vIEdldCBEaXJlY3Rpb25cbi8vIC0tLS0tLS0tLS0tLS1cbi8vIFJldHVybiB0aGUgJ2Zyb20nIG9yICd0bycgZGlyZWN0aW9uIG9mIGEgbHRyIG9yIHJ0bCBmbG93LlxuLy8gLSBbJGZsb3ddICA6IGx0ciB8IHJ0bFxuLy8gLSBbJGtleV0gICA6IGZyb20gfCB0b1xuQGZ1bmN0aW9uIGdldC1kaXJlY3Rpb24oXG4gICRmbG93OiBtYXAtZ2V0KCRzdXN5LWRlZmF1bHRzLCBmbG93KSxcbiAgJGtleTogZnJvbVxuKSB7XG4gICRyZXR1cm46IGlmKCRmbG93ID09IHJ0bCwgKGZyb206IHJpZ2h0LCB0bzogbGVmdCksIChmcm9tOiBsZWZ0LCB0bzogcmlnaHQpKTtcbiAgQHJldHVybiBtYXAtZ2V0KCRyZXR1cm4sICRrZXkpO1xufVxuXG4vLyBUb1xuLy8gLS1cbi8vIFJldHVybiB0aGUgJ3RvJyBkaXJlY3Rpb24gb2YgYSBmbG93XG4vLyAtIFskZmxvd10gIDogbHRyIHwgcnRsXG5AZnVuY3Rpb24gdG8oXG4gICRmbG93OiBtYXAtZ2V0KCRzdXN5LWRlZmF1bHRzLCBmbG93KVxuKSB7XG4gIEByZXR1cm4gZ2V0LWRpcmVjdGlvbigkZmxvdywgdG8pO1xufVxuXG4vLyBGcm9tXG4vLyAtLS0tXG4vLyBSZXR1cm4gdGhlICdmcm9tJyBkaXJlY3Rpb24gb2YgYSBmbG93XG4vLyAtIFskZmxvd10gIDogbHRyIHwgcnRsXG5AZnVuY3Rpb24gZnJvbShcbiAgJGZsb3c6IG1hcC1nZXQoJHN1c3ktZGVmYXVsdHMsIGZsb3cpXG4pIHtcbiAgQHJldHVybiBnZXQtZGlyZWN0aW9uKCRmbG93LCBmcm9tKTtcbn1cbiIsIi8vIEd1dHRlciBTeW50YXhcbi8vID09PT09PT09PT09PT1cblxuXG4vLyBHdXR0ZXJzXG4vLyAtLS0tLS0tXG4vLyBTZXQgZ3V0dGVycyBvbiBhbiBlbGVtZW50LlxuLy8gLSBbJHNwYW5dICAgOiA8c2V0dGluZ3M+XG5AbWl4aW4gZ3V0dGVycyhcbiAgJHNwYW46ICRzdXN5XG4pIHtcbiAgJGluc3BlY3QgIDogJHNwYW47XG4gICRzcGFuICAgICA6IHBhcnNlLWd1dHRlcnMoJHNwYW4pO1xuICAkX2d1dHRlcnMgOiBnZXQtZ3V0dGVycygkc3Bhbik7XG5cbiAgJF9vdXRwdXQ6IChcbiAgICBiZWZvcmU6IG1hcC1nZXQoJF9ndXR0ZXJzLCBiZWZvcmUpLFxuICAgIGFmdGVyOiBtYXAtZ2V0KCRfZ3V0dGVycywgYWZ0ZXIpLFxuICAgIGZsb3c6IHN1c3ktZ2V0KGZsb3csICRzcGFuKSxcbiAgKTtcblxuICBAaW5jbHVkZSBzdXN5LWluc3BlY3QoZ3V0dGVycywgJGluc3BlY3QpO1xuXG4gIEBpZiBpcy1pbnNpZGUoJHNwYW4pIHtcbiAgICBAaW5jbHVkZSBwYWRkaW5nLW91dHB1dCgkX291dHB1dC4uLik7XG4gIH0gQGVsc2Uge1xuICAgIEBpbmNsdWRlIG1hcmdpbi1vdXRwdXQoJF9vdXRwdXQuLi4pO1xuICB9XG59XG5cbkBtaXhpbiBndXR0ZXIoXG4gICRzcGFuOiAkc3VzeVxuKSB7XG4gIEBpbmNsdWRlIGd1dHRlcnMoJHNwYW4pO1xufVxuXG5cbi8vIEd1dHRlclxuLy8gLS0tLS0tXG4vLyBSZXR1cm4gdGhlIHdpZHRoIG9mIGEgZ3V0dGVyLlxuLy8gLSBbJHNwYW5dICAgOiA8c2V0dGluZ3M+XG5AZnVuY3Rpb24gZ3V0dGVyKFxuICAkc3BhbjogJHN1c3lcbikge1xuICAkc3BhbjogcGFyc2UtZ3V0dGVycygkc3Bhbik7XG5cbiAgJF9ndXR0ZXJzOiBnZXQtZ3V0dGVycygkc3Bhbik7XG4gICRfZ3V0dGVyczogbWFwLWdldCgkX2d1dHRlcnMsIGJlZm9yZSkgb3IgbWFwLWdldCgkX2d1dHRlcnMsIGFmdGVyKTtcblxuICBAcmV0dXJuICRfZ3V0dGVycztcbn1cblxuQGZ1bmN0aW9uIGd1dHRlcnMoXG4gICRzcGFuOiAkc3VzeVxuKSB7XG4gIEByZXR1cm4gZ3V0dGVyKCRzcGFuKTtcbn1cblxuXG4vLyBHZXQgR3V0dGVyIFdpZHRoXG4vLyAtLS0tLS0tLS0tLS0tLS0tXG4vLyBSZXR1cm4gZ3V0dGVyIHdpZHRoLlxuLy8gLSBbJGNvbnRleHRdOiA8Y29udGV4dD5cbkBmdW5jdGlvbiBnZXQtZ3V0dGVyLXdpZHRoKFxuICAkY29udGV4dDogJHN1c3lcbikge1xuICAkY29udGV4dCAgOiBwYXJzZS1ndXR0ZXJzKCRjb250ZXh0KTtcblxuICAkX2d1dHRlcnMgOiBzdXN5LWdldChndXR0ZXJzLCAkY29udGV4dCk7XG4gICRfZ3V0dGVyICA6IHN1c3ktZ2V0KGd1dHRlci1vdmVycmlkZSwgJGNvbnRleHQpO1xuXG4gIEBpZiAkX2d1dHRlcnMgYW5kICgkX2d1dHRlcnMgPiAwKSBhbmQgbm90KCRfZ3V0dGVyKSB7XG4gICAgJF9jb2x1bW4td2lkdGg6IHN1c3ktZ2V0KGNvbHVtbi13aWR0aCwgJGNvbnRleHQpO1xuICAgICRfbWF0aDogZ3V0dGVyLW1hdGgoJGNvbnRleHQpO1xuICAgIEBpZiAkX21hdGggPT0gc3RhdGljIHtcbiAgICAgICRfZ3V0dGVyOiAkX2d1dHRlcnMgKiB2YWxpZC1jb2x1bW4tbWF0aCgkX21hdGgsICRfY29sdW1uLXdpZHRoKTtcbiAgICB9IEBlbHNlIHtcbiAgICAgICRfY29sdW1ucyA6IHN1c3ktZ2V0KGNvbHVtbnMsICRjb250ZXh0KTtcbiAgICAgICRfc3ByZWFkICA6IGlmKGlzLXNwbGl0KCRjb250ZXh0KSwgd2lkZSwgc3VzeS1nZXQoc3ByZWFkLCAkY29udGV4dCkpO1xuICAgICAgJF9ndXR0ZXIgIDogcGVyY2VudGFnZSgkX2d1dHRlcnMgLyBzdXN5LXN1bSgkX2NvbHVtbnMsICRfZ3V0dGVycywgJF9zcHJlYWQpKTtcbiAgICB9XG4gIH1cblxuICAkX2d1dHRlcjogaWYoJF9ndXR0ZXIgPT0gJ25vLWd1dHRlcnMnIG9yICRfZ3V0dGVyID09ICduby1ndXR0ZXInLCBudWxsLCAkX2d1dHRlcik7XG5cbiAgQHJldHVybiAkX2d1dHRlcjtcbn1cblxuXG4vLyBHZXQgR3V0dGVyc1xuLy8gLS0tLS0tLS0tLS1cbi8vIFJldHVybiBiZWZvcmUgYW5kIGFmdGVyIGd1dHRlciB2YWx1ZXMuXG4vLyAtIFskY29udGV4dF06IDxjb250ZXh0PlxuQGZ1bmN0aW9uIGdldC1ndXR0ZXJzKFxuICAkY29udGV4dDogJHN1c3lcbikge1xuICAkY29udGV4dCAgICAgICAgICAgIDogcGFyc2UtZ3V0dGVycygkY29udGV4dCk7XG5cbiAgJF9ndXR0ZXItcG9zaXRpb24gICA6IHN1c3ktZ2V0KGd1dHRlci1wb3NpdGlvbiwgJGNvbnRleHQpO1xuICAkX2d1dHRlciAgICAgICAgICAgIDogZ2V0LWd1dHRlci13aWR0aCgkY29udGV4dCk7XG5cbiAgJF9yZXR1cm4gICAgICAgICAgICA6IChiZWZvcmU6IG51bGwsIGFmdGVyOiBudWxsKTtcblxuICBAaWYgaXMtc3BsaXQoJGNvbnRleHQpIGFuZCAkX2d1dHRlciB7XG4gICAgJF9ndXR0ZXI6ICRfZ3V0dGVyIC8gMjtcbiAgICAkX3JldHVybjogbWFwLW1lcmdlKCRfcmV0dXJuLCAoYmVmb3JlOiAkX2d1dHRlciwgYWZ0ZXI6ICRfZ3V0dGVyKSk7XG4gIH0gQGVsc2Uge1xuICAgICRfcmV0dXJuOiBtYXAtbWVyZ2UoJF9yZXR1cm4sICgkX2d1dHRlci1wb3NpdGlvbjogJF9ndXR0ZXIpKTtcbiAgfVxuXG4gIEByZXR1cm4gJF9yZXR1cm47XG59XG5cblxuLy8gSXMgSW5zaWRlXG4vLyAtLS0tLS0tLS1cbi8vIFJldHVybnMgdHJ1ZSBpZiBndXR0ZXJzIGFyZSBpbnNpZGUuXG4vLyAkY29udGV4dDogPGNvbnRleHQ+XG5AZnVuY3Rpb24gaXMtaW5zaWRlKFxuICAkY29udGV4dFxuKSB7XG4gICRfaW5zaWRlOiBpbnNpZGUgaW5zaWRlLXN0YXRpYztcbiAgJF9ndXR0ZXItcG9zaXRpb246IHN1c3ktZ2V0KGd1dHRlci1wb3NpdGlvbiwgJGNvbnRleHQpO1xuXG4gIEByZXR1cm4gaWYoaW5kZXgoJF9pbnNpZGUsICRfZ3V0dGVyLXBvc2l0aW9uKSwgdHJ1ZSwgZmFsc2UpO1xufVxuXG5cbi8vIElzIFNwbGl0XG4vLyAtLS0tLS0tLVxuLy8gUmV0dXJucyB0cnVlIGlmIGd1dHRlcnMgYXJlIHNwbGl0LlxuLy8gJGNvbnRleHQ6IDxjb250ZXh0PlxuQGZ1bmN0aW9uIGlzLXNwbGl0KFxuICAkY29udGV4dFxuKSB7XG4gICRfc3BsaXQ6IHNwbGl0IGluc2lkZSBpbnNpZGUtc3RhdGljO1xuICAkX2d1dHRlci1wb3NpdGlvbjogc3VzeS1nZXQoZ3V0dGVyLXBvc2l0aW9uLCAkY29udGV4dCk7XG5cbiAgQHJldHVybiBpZihpbmRleCgkX3NwbGl0LCAkX2d1dHRlci1wb3NpdGlvbiksIHRydWUsIGZhbHNlKTtcbn1cblxuXG4vLyBHdXR0ZXIgTWF0aFxuLy8gLS0tLS0tLS0tLS1cbi8vIFJldHVybiB0aGUgbWF0aCB0byB1c2UgZm9yIGd1dHRlciBjYWxjdWxhdGlvbnNcbi8vICRjb250ZXh0OiA8Y29udGV4dD5cbkBmdW5jdGlvbiBndXR0ZXItbWF0aChcbiAgJGNvbnRleHQ6ICRzdXN5XG4pIHtcbiAgJF9yZXR1cm4gIDogc3VzeS1nZXQobWF0aCwgJGNvbnRleHQpO1xuICAkX3JldHVybiAgOiBpZihzdXN5LWdldChndXR0ZXItcG9zaXRpb24sICRjb250ZXh0KSA9PSBpbnNpZGUtc3RhdGljLCBzdGF0aWMsICRfcmV0dXJuKTtcblxuICBAcmV0dXJuICRfcmV0dXJuO1xufVxuIiwiLnNtYWxsLW5hdi1kaXNwbGF5e1xuXHQubW9iaWxlLW5hdi1saXN0e1xuXHRcdCZ7XG5cdFx0XHRAaW5jbHVkZSBicmVha3BvaW50KCRzbWFsbC1kb3duKXtcblx0XHRcdFx0ZGlzcGxheTogYmxvY2s7XG5cdFx0XHR9XG5cdFx0fVxuXHR9XG59XG4iXX0= */
