@charset "UTF-8";
/**
 * Foundation for Sites by ZURB
 * Version 6.4.3
 * foundation.zurb.com
 * Licensed under MIT Open Source
 */
@media print, screen and (min-width: 40em) {
  .reveal, .reveal.tiny, .reveal.small, .reveal.large {
    right: auto;
    left: auto;
    margin: 0 auto; } }

/*$print-breakpoint: small;*/
/*! normalize-scss | MIT/GPLv2 License | bit.ly/normalize-scss */
/* Document
       ========================================================================== */
/**
     * 1. Change the default font family in all browsers (opinionated).
     * 2. Correct the line height in all browsers.
     * 3. Prevent adjustments of font size after orientation changes in
     *    IE on Windows Phone and in iOS.
     */
html {
  font-family: sans-serif;
  /* 1 */
  line-height: 1.15;
  /* 2 */
  -ms-text-size-adjust: 100%;
  /* 3 */
  -webkit-text-size-adjust: 100%;
  /* 3 */ }

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

/**
     * Add the correct display in IE 9-.
     */
article,
aside,
footer,
header,
nav,
section {
  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
       ========================================================================== */
/**
     * Add the correct display in IE 9-.
     */
figcaption,
figure {
  display: block; }

/**
     * Add the correct margin in IE 8.
     */
figure {
  margin: 1em 40px; }

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

/**
     * Add the correct display in IE.
     */
main {
  display: block; }

/**
     * 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 */ }

/* Links
       ========================================================================== */
/**
     * 1. Remove the gray background on active links in IE 10.
     * 2. Remove gaps in links underline in iOS 8+ and Safari 8+.
     */
a {
  background-color: transparent;
  /* 1 */
  -webkit-text-decoration-skip: objects;
  /* 2 */ }

/**
     * Remove the outline on focused links when they are also active or hovered
     * in all browsers (opinionated).
     */
a:active,
a:hover {
  outline-width: 0; }

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

/**
     * Prevent the duplicate application of `bolder` by the next rule in Safari 6.
     */
b,
strong {
  font-weight: inherit; }

/**
     * 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 style in Android 4.3-.
     */
dfn {
  font-style: italic; }

/**
     * Add the correct background and color in IE 9-.
     */
mark {
  background-color: #ff0;
  color: #000; }

/**
     * 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
       ========================================================================== */
/**
     * Add the correct display in IE 9-.
     */
audio,
video {
  display: inline-block; }

/**
     * Add the correct display in iOS 4-7.
     */
audio:not([controls]) {
  display: none;
  height: 0; }

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

/**
     * Hide the overflow in IE.
     */
svg:not(:root) {
  overflow: hidden; }

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

/**
     * Show the overflow in IE.
     */
button {
  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; }

/**
     * 1. Prevent a WebKit bug where (2) destroys native `audio` and `video`
     *    controls in Android 4.
     * 2. Correct the inability to style clickable types in iOS and Safari.
     */
button,
html [type="button"],
[type="reset"],
[type="submit"] {
  -webkit-appearance: button;
  /* 2 */ }

button,
[type="button"],
[type="reset"],
[type="submit"] {
  /**
       * Remove the inner border and padding in Firefox.
       */
  /**
       * Restore the focus styles unset by the previous rule.
       */ }
  button::-moz-focus-inner,
  [type="button"]::-moz-focus-inner,
  [type="reset"]::-moz-focus-inner,
  [type="submit"]::-moz-focus-inner {
    border-style: none;
    padding: 0; }
  button:-moz-focusring,
  [type="button"]:-moz-focusring,
  [type="reset"]:-moz-focusring,
  [type="submit"]:-moz-focusring {
    outline: 1px dotted ButtonText; }

/**
     * Show the overflow in Edge.
     */
input {
  overflow: visible; }

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

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

/**
     * 1. Correct the odd appearance in Chrome and Safari.
     * 2. Correct the outline style in Safari.
     */
[type="search"] {
  -webkit-appearance: textfield;
  /* 1 */
  outline-offset: -2px;
  /* 2 */
  /**
       * Remove the inner padding and cancel buttons in Chrome and Safari on macOS.
       */ }
  [type="search"]::-webkit-search-cancel-button, [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 */ }

/**
     * Change the border, margin, and padding in all browsers (opinionated).
     */
fieldset {
  border: 1px solid #c0c0c0;
  margin: 0 2px;
  padding: 0.35em 0.625em 0.75em; }

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

/**
     * 1. Add the correct display in IE 9-.
     * 2. Add the correct vertical alignment in Chrome, Firefox, and Opera.
     */
progress {
  display: inline-block;
  /* 1 */
  vertical-align: baseline;
  /* 2 */ }

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

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

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

/*
     * Add the correct display in IE 9-.
     */
menu {
  display: block; }

/* Scripting
       ========================================================================== */
/**
     * Add the correct display in IE 9-.
     */
canvas {
  display: inline-block; }

/**
     * Add the correct display in IE.
     */
template {
  display: none; }

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

.foundation-mq {
  font-family: "small=0em&medium=48em&large=64em&xlarge=75em&xxlarge=90em&xxxlarge=118.75em"; }

html {
  box-sizing: border-box;
  font-size: 18px; }

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

body {
  margin: 0;
  padding: 0;
  background: #fefefe;
  font-family: "BreveSans", sans-serif;
  font-weight: normal;
  line-height: 1.5;
  color: #525252;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale; }

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

textarea {
  height: auto;
  min-height: 50px;
  border-radius: 0; }

select {
  box-sizing: border-box;
  width: 100%;
  border-radius: 0; }

.map_canvas img,
.map_canvas embed,
.map_canvas object,
.mqa-display img,
.mqa-display embed,
.mqa-display object {
  max-width: none !important; }

button {
  padding: 0;
  appearance: none;
  border: 0;
  border-radius: 0;
  background: transparent;
  line-height: 1;
  cursor: auto; }
  [data-whatinput='mouse'] button {
    outline: 0; }

pre {
  overflow: auto; }

button,
input,
optgroup,
select,
textarea {
  font-family: inherit; }

.is-visible {
  display: block !important; }

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

.grid-container {
  padding-right: 0.55556rem;
  padding-left: 0.55556rem;
  max-width: 75rem;
  margin: 0 auto; }
  @media print, screen and (min-width: 48em) {
    .grid-container {
      padding-right: 0.83333rem;
      padding-left: 0.83333rem; } }
  .grid-container.fluid {
    padding-right: 0.55556rem;
    padding-left: 0.55556rem;
    max-width: 100%;
    margin: 0 auto; }
    @media print, screen and (min-width: 48em) {
      .grid-container.fluid {
        padding-right: 0.83333rem;
        padding-left: 0.83333rem; } }
  .grid-container.full {
    padding-right: 0;
    padding-left: 0;
    max-width: 100%;
    margin: 0 auto; }

.grid-x {
  display: flex;
  flex-flow: row wrap; }

.cell {
  flex: 0 0 auto;
  min-height: 0px;
  min-width: 0px;
  width: 100%; }
  .cell.auto {
    flex: 1 1 0px; }
  .cell.shrink {
    flex: 0 0 auto; }

.grid-x > .auto {
  width: auto; }

.grid-x > .shrink {
  width: auto; }

.grid-x > .small-shrink, .grid-x > .small-full, .grid-x > .small-1, .grid-x > .small-2, .grid-x > .small-3, .grid-x > .small-4, .grid-x > .small-5, .grid-x > .small-6, .grid-x > .small-7, .grid-x > .small-8, .grid-x > .small-9, .grid-x > .small-10, .grid-x > .small-11, .grid-x > .small-12 {
  flex-basis: auto; }

@media print, screen and (min-width: 48em) {
  .grid-x > .medium-shrink, .grid-x > .medium-full, .grid-x > .medium-1, .grid-x > .medium-2, .grid-x > .medium-3, .grid-x > .medium-4, .grid-x > .medium-5, .grid-x > .medium-6, .grid-x > .medium-7, .grid-x > .medium-8, .grid-x > .medium-9, .grid-x > .medium-10, .grid-x > .medium-11, .grid-x > .medium-12 {
    flex-basis: auto; } }

@media print, screen and (min-width: 64em) {
  .grid-x > .large-shrink, .grid-x > .large-full, .grid-x > .large-1, .grid-x > .large-2, .grid-x > .large-3, .grid-x > .large-4, .grid-x > .large-5, .grid-x > .large-6, .grid-x > .large-7, .grid-x > .large-8, .grid-x > .large-9, .grid-x > .large-10, .grid-x > .large-11, .grid-x > .large-12 {
    flex-basis: auto; } }

@media screen and (min-width: 75em) {
  .grid-x > .xlarge-shrink, .grid-x > .xlarge-full, .grid-x > .xlarge-1, .grid-x > .xlarge-2, .grid-x > .xlarge-3, .grid-x > .xlarge-4, .grid-x > .xlarge-5, .grid-x > .xlarge-6, .grid-x > .xlarge-7, .grid-x > .xlarge-8, .grid-x > .xlarge-9, .grid-x > .xlarge-10, .grid-x > .xlarge-11, .grid-x > .xlarge-12 {
    flex-basis: auto; } }

@media screen and (min-width: 90em) {
  .grid-x > .xxlarge-shrink, .grid-x > .xxlarge-full, .grid-x > .xxlarge-1, .grid-x > .xxlarge-2, .grid-x > .xxlarge-3, .grid-x > .xxlarge-4, .grid-x > .xxlarge-5, .grid-x > .xxlarge-6, .grid-x > .xxlarge-7, .grid-x > .xxlarge-8, .grid-x > .xxlarge-9, .grid-x > .xxlarge-10, .grid-x > .xxlarge-11, .grid-x > .xxlarge-12 {
    flex-basis: auto; } }

.grid-x > .small-1 {
  width: 8.33333%; }

.grid-x > .small-2 {
  width: 16.66667%; }

.grid-x > .small-3 {
  width: 25%; }

.grid-x > .small-4 {
  width: 33.33333%; }

.grid-x > .small-5 {
  width: 41.66667%; }

.grid-x > .small-6 {
  width: 50%; }

.grid-x > .small-7 {
  width: 58.33333%; }

.grid-x > .small-8 {
  width: 66.66667%; }

.grid-x > .small-9 {
  width: 75%; }

.grid-x > .small-10 {
  width: 83.33333%; }

.grid-x > .small-11 {
  width: 91.66667%; }

.grid-x > .small-12 {
  width: 100%; }

@media print, screen and (min-width: 48em) {
  .grid-x > .medium-auto {
    flex: 1 1 0px;
    width: auto; }
  .grid-x > .medium-shrink {
    flex: 0 0 auto;
    width: auto; }
  .grid-x > .medium-1 {
    width: 8.33333%; }
  .grid-x > .medium-2 {
    width: 16.66667%; }
  .grid-x > .medium-3 {
    width: 25%; }
  .grid-x > .medium-4 {
    width: 33.33333%; }
  .grid-x > .medium-5 {
    width: 41.66667%; }
  .grid-x > .medium-6 {
    width: 50%; }
  .grid-x > .medium-7 {
    width: 58.33333%; }
  .grid-x > .medium-8 {
    width: 66.66667%; }
  .grid-x > .medium-9 {
    width: 75%; }
  .grid-x > .medium-10 {
    width: 83.33333%; }
  .grid-x > .medium-11 {
    width: 91.66667%; }
  .grid-x > .medium-12 {
    width: 100%; } }

@media print, screen and (min-width: 64em) {
  .grid-x > .large-auto {
    flex: 1 1 0px;
    width: auto; }
  .grid-x > .large-shrink {
    flex: 0 0 auto;
    width: auto; }
  .grid-x > .large-1 {
    width: 8.33333%; }
  .grid-x > .large-2 {
    width: 16.66667%; }
  .grid-x > .large-3 {
    width: 25%; }
  .grid-x > .large-4 {
    width: 33.33333%; }
  .grid-x > .large-5 {
    width: 41.66667%; }
  .grid-x > .large-6 {
    width: 50%; }
  .grid-x > .large-7 {
    width: 58.33333%; }
  .grid-x > .large-8 {
    width: 66.66667%; }
  .grid-x > .large-9 {
    width: 75%; }
  .grid-x > .large-10 {
    width: 83.33333%; }
  .grid-x > .large-11 {
    width: 91.66667%; }
  .grid-x > .large-12 {
    width: 100%; } }

@media screen and (min-width: 75em) {
  .grid-x > .xlarge-auto {
    flex: 1 1 0px;
    width: auto; }
  .grid-x > .xlarge-shrink {
    flex: 0 0 auto;
    width: auto; }
  .grid-x > .xlarge-1 {
    width: 8.33333%; }
  .grid-x > .xlarge-2 {
    width: 16.66667%; }
  .grid-x > .xlarge-3 {
    width: 25%; }
  .grid-x > .xlarge-4 {
    width: 33.33333%; }
  .grid-x > .xlarge-5 {
    width: 41.66667%; }
  .grid-x > .xlarge-6 {
    width: 50%; }
  .grid-x > .xlarge-7 {
    width: 58.33333%; }
  .grid-x > .xlarge-8 {
    width: 66.66667%; }
  .grid-x > .xlarge-9 {
    width: 75%; }
  .grid-x > .xlarge-10 {
    width: 83.33333%; }
  .grid-x > .xlarge-11 {
    width: 91.66667%; }
  .grid-x > .xlarge-12 {
    width: 100%; } }

@media screen and (min-width: 90em) {
  .grid-x > .xxlarge-auto {
    flex: 1 1 0px;
    width: auto; }
  .grid-x > .xxlarge-shrink {
    flex: 0 0 auto;
    width: auto; }
  .grid-x > .xxlarge-1 {
    width: 8.33333%; }
  .grid-x > .xxlarge-2 {
    width: 16.66667%; }
  .grid-x > .xxlarge-3 {
    width: 25%; }
  .grid-x > .xxlarge-4 {
    width: 33.33333%; }
  .grid-x > .xxlarge-5 {
    width: 41.66667%; }
  .grid-x > .xxlarge-6 {
    width: 50%; }
  .grid-x > .xxlarge-7 {
    width: 58.33333%; }
  .grid-x > .xxlarge-8 {
    width: 66.66667%; }
  .grid-x > .xxlarge-9 {
    width: 75%; }
  .grid-x > .xxlarge-10 {
    width: 83.33333%; }
  .grid-x > .xxlarge-11 {
    width: 91.66667%; }
  .grid-x > .xxlarge-12 {
    width: 100%; } }

.grid-margin-x:not(.grid-x) > .cell {
  width: auto; }

.grid-margin-y:not(.grid-y) > .cell {
  height: auto; }

.grid-margin-x {
  margin-left: -0.55556rem;
  margin-right: -0.55556rem; }
  @media print, screen and (min-width: 48em) {
    .grid-margin-x {
      margin-left: -0.83333rem;
      margin-right: -0.83333rem; } }
  .grid-margin-x > .cell {
    width: calc(100% - 1.11111rem);
    margin-left: 0.55556rem;
    margin-right: 0.55556rem; }
  @media print, screen and (min-width: 48em) {
    .grid-margin-x > .cell {
      width: calc(100% - 1.66667rem);
      margin-left: 0.83333rem;
      margin-right: 0.83333rem; } }
  .grid-margin-x > .auto {
    width: auto; }
  .grid-margin-x > .shrink {
    width: auto; }
  .grid-margin-x > .small-1 {
    width: calc(8.33333% - 1.11111rem); }
  .grid-margin-x > .small-2 {
    width: calc(16.66667% - 1.11111rem); }
  .grid-margin-x > .small-3 {
    width: calc(25% - 1.11111rem); }
  .grid-margin-x > .small-4 {
    width: calc(33.33333% - 1.11111rem); }
  .grid-margin-x > .small-5 {
    width: calc(41.66667% - 1.11111rem); }
  .grid-margin-x > .small-6 {
    width: calc(50% - 1.11111rem); }
  .grid-margin-x > .small-7 {
    width: calc(58.33333% - 1.11111rem); }
  .grid-margin-x > .small-8 {
    width: calc(66.66667% - 1.11111rem); }
  .grid-margin-x > .small-9 {
    width: calc(75% - 1.11111rem); }
  .grid-margin-x > .small-10 {
    width: calc(83.33333% - 1.11111rem); }
  .grid-margin-x > .small-11 {
    width: calc(91.66667% - 1.11111rem); }
  .grid-margin-x > .small-12 {
    width: calc(100% - 1.11111rem); }
  @media print, screen and (min-width: 48em) {
    .grid-margin-x > .auto {
      width: auto; }
    .grid-margin-x > .shrink {
      width: auto; }
    .grid-margin-x > .small-1 {
      width: calc(8.33333% - 1.66667rem); }
    .grid-margin-x > .small-2 {
      width: calc(16.66667% - 1.66667rem); }
    .grid-margin-x > .small-3 {
      width: calc(25% - 1.66667rem); }
    .grid-margin-x > .small-4 {
      width: calc(33.33333% - 1.66667rem); }
    .grid-margin-x > .small-5 {
      width: calc(41.66667% - 1.66667rem); }
    .grid-margin-x > .small-6 {
      width: calc(50% - 1.66667rem); }
    .grid-margin-x > .small-7 {
      width: calc(58.33333% - 1.66667rem); }
    .grid-margin-x > .small-8 {
      width: calc(66.66667% - 1.66667rem); }
    .grid-margin-x > .small-9 {
      width: calc(75% - 1.66667rem); }
    .grid-margin-x > .small-10 {
      width: calc(83.33333% - 1.66667rem); }
    .grid-margin-x > .small-11 {
      width: calc(91.66667% - 1.66667rem); }
    .grid-margin-x > .small-12 {
      width: calc(100% - 1.66667rem); }
    .grid-margin-x > .medium-auto {
      width: auto; }
    .grid-margin-x > .medium-shrink {
      width: auto; }
    .grid-margin-x > .medium-1 {
      width: calc(8.33333% - 1.66667rem); }
    .grid-margin-x > .medium-2 {
      width: calc(16.66667% - 1.66667rem); }
    .grid-margin-x > .medium-3 {
      width: calc(25% - 1.66667rem); }
    .grid-margin-x > .medium-4 {
      width: calc(33.33333% - 1.66667rem); }
    .grid-margin-x > .medium-5 {
      width: calc(41.66667% - 1.66667rem); }
    .grid-margin-x > .medium-6 {
      width: calc(50% - 1.66667rem); }
    .grid-margin-x > .medium-7 {
      width: calc(58.33333% - 1.66667rem); }
    .grid-margin-x > .medium-8 {
      width: calc(66.66667% - 1.66667rem); }
    .grid-margin-x > .medium-9 {
      width: calc(75% - 1.66667rem); }
    .grid-margin-x > .medium-10 {
      width: calc(83.33333% - 1.66667rem); }
    .grid-margin-x > .medium-11 {
      width: calc(91.66667% - 1.66667rem); }
    .grid-margin-x > .medium-12 {
      width: calc(100% - 1.66667rem); } }
  @media print, screen and (min-width: 64em) {
    .grid-margin-x > .large-auto {
      width: auto; }
    .grid-margin-x > .large-shrink {
      width: auto; }
    .grid-margin-x > .large-1 {
      width: calc(8.33333% - 1.66667rem); }
    .grid-margin-x > .large-2 {
      width: calc(16.66667% - 1.66667rem); }
    .grid-margin-x > .large-3 {
      width: calc(25% - 1.66667rem); }
    .grid-margin-x > .large-4 {
      width: calc(33.33333% - 1.66667rem); }
    .grid-margin-x > .large-5 {
      width: calc(41.66667% - 1.66667rem); }
    .grid-margin-x > .large-6 {
      width: calc(50% - 1.66667rem); }
    .grid-margin-x > .large-7 {
      width: calc(58.33333% - 1.66667rem); }
    .grid-margin-x > .large-8 {
      width: calc(66.66667% - 1.66667rem); }
    .grid-margin-x > .large-9 {
      width: calc(75% - 1.66667rem); }
    .grid-margin-x > .large-10 {
      width: calc(83.33333% - 1.66667rem); }
    .grid-margin-x > .large-11 {
      width: calc(91.66667% - 1.66667rem); }
    .grid-margin-x > .large-12 {
      width: calc(100% - 1.66667rem); } }
  @media screen and (min-width: 75em) {
    .grid-margin-x > .xlarge-auto {
      width: auto; }
    .grid-margin-x > .xlarge-shrink {
      width: auto; }
    .grid-margin-x > .xlarge-1 {
      width: calc(8.33333% - 1.66667rem); }
    .grid-margin-x > .xlarge-2 {
      width: calc(16.66667% - 1.66667rem); }
    .grid-margin-x > .xlarge-3 {
      width: calc(25% - 1.66667rem); }
    .grid-margin-x > .xlarge-4 {
      width: calc(33.33333% - 1.66667rem); }
    .grid-margin-x > .xlarge-5 {
      width: calc(41.66667% - 1.66667rem); }
    .grid-margin-x > .xlarge-6 {
      width: calc(50% - 1.66667rem); }
    .grid-margin-x > .xlarge-7 {
      width: calc(58.33333% - 1.66667rem); }
    .grid-margin-x > .xlarge-8 {
      width: calc(66.66667% - 1.66667rem); }
    .grid-margin-x > .xlarge-9 {
      width: calc(75% - 1.66667rem); }
    .grid-margin-x > .xlarge-10 {
      width: calc(83.33333% - 1.66667rem); }
    .grid-margin-x > .xlarge-11 {
      width: calc(91.66667% - 1.66667rem); }
    .grid-margin-x > .xlarge-12 {
      width: calc(100% - 1.66667rem); } }
  @media screen and (min-width: 90em) {
    .grid-margin-x > .xxlarge-auto {
      width: auto; }
    .grid-margin-x > .xxlarge-shrink {
      width: auto; }
    .grid-margin-x > .xxlarge-1 {
      width: calc(8.33333% - 1.66667rem); }
    .grid-margin-x > .xxlarge-2 {
      width: calc(16.66667% - 1.66667rem); }
    .grid-margin-x > .xxlarge-3 {
      width: calc(25% - 1.66667rem); }
    .grid-margin-x > .xxlarge-4 {
      width: calc(33.33333% - 1.66667rem); }
    .grid-margin-x > .xxlarge-5 {
      width: calc(41.66667% - 1.66667rem); }
    .grid-margin-x > .xxlarge-6 {
      width: calc(50% - 1.66667rem); }
    .grid-margin-x > .xxlarge-7 {
      width: calc(58.33333% - 1.66667rem); }
    .grid-margin-x > .xxlarge-8 {
      width: calc(66.66667% - 1.66667rem); }
    .grid-margin-x > .xxlarge-9 {
      width: calc(75% - 1.66667rem); }
    .grid-margin-x > .xxlarge-10 {
      width: calc(83.33333% - 1.66667rem); }
    .grid-margin-x > .xxlarge-11 {
      width: calc(91.66667% - 1.66667rem); }
    .grid-margin-x > .xxlarge-12 {
      width: calc(100% - 1.66667rem); } }

.grid-padding-x .grid-padding-x {
  margin-right: -0.55556rem;
  margin-left: -0.55556rem; }
  @media print, screen and (min-width: 48em) {
    .grid-padding-x .grid-padding-x {
      margin-right: -0.83333rem;
      margin-left: -0.83333rem; } }

.grid-container:not(.full) > .grid-padding-x {
  margin-right: -0.55556rem;
  margin-left: -0.55556rem; }
  @media print, screen and (min-width: 48em) {
    .grid-container:not(.full) > .grid-padding-x {
      margin-right: -0.83333rem;
      margin-left: -0.83333rem; } }

.grid-padding-x > .cell {
  padding-right: 0.55556rem;
  padding-left: 0.55556rem; }
  @media print, screen and (min-width: 48em) {
    .grid-padding-x > .cell {
      padding-right: 0.83333rem;
      padding-left: 0.83333rem; } }

.small-up-1 > .cell {
  width: 100%; }

.small-up-2 > .cell {
  width: 50%; }

.small-up-3 > .cell {
  width: 33.33333%; }

.small-up-4 > .cell {
  width: 25%; }

.small-up-5 > .cell {
  width: 20%; }

.small-up-6 > .cell {
  width: 16.66667%; }

.small-up-7 > .cell {
  width: 14.28571%; }

.small-up-8 > .cell {
  width: 12.5%; }

@media print, screen and (min-width: 48em) {
  .medium-up-1 > .cell {
    width: 100%; }
  .medium-up-2 > .cell {
    width: 50%; }
  .medium-up-3 > .cell {
    width: 33.33333%; }
  .medium-up-4 > .cell {
    width: 25%; }
  .medium-up-5 > .cell {
    width: 20%; }
  .medium-up-6 > .cell {
    width: 16.66667%; }
  .medium-up-7 > .cell {
    width: 14.28571%; }
  .medium-up-8 > .cell {
    width: 12.5%; } }

@media print, screen and (min-width: 64em) {
  .large-up-1 > .cell {
    width: 100%; }
  .large-up-2 > .cell {
    width: 50%; }
  .large-up-3 > .cell {
    width: 33.33333%; }
  .large-up-4 > .cell {
    width: 25%; }
  .large-up-5 > .cell {
    width: 20%; }
  .large-up-6 > .cell {
    width: 16.66667%; }
  .large-up-7 > .cell {
    width: 14.28571%; }
  .large-up-8 > .cell {
    width: 12.5%; } }

@media screen and (min-width: 75em) {
  .xlarge-up-1 > .cell {
    width: 100%; }
  .xlarge-up-2 > .cell {
    width: 50%; }
  .xlarge-up-3 > .cell {
    width: 33.33333%; }
  .xlarge-up-4 > .cell {
    width: 25%; }
  .xlarge-up-5 > .cell {
    width: 20%; }
  .xlarge-up-6 > .cell {
    width: 16.66667%; }
  .xlarge-up-7 > .cell {
    width: 14.28571%; }
  .xlarge-up-8 > .cell {
    width: 12.5%; } }

@media screen and (min-width: 90em) {
  .xxlarge-up-1 > .cell {
    width: 100%; }
  .xxlarge-up-2 > .cell {
    width: 50%; }
  .xxlarge-up-3 > .cell {
    width: 33.33333%; }
  .xxlarge-up-4 > .cell {
    width: 25%; }
  .xxlarge-up-5 > .cell {
    width: 20%; }
  .xxlarge-up-6 > .cell {
    width: 16.66667%; }
  .xxlarge-up-7 > .cell {
    width: 14.28571%; }
  .xxlarge-up-8 > .cell {
    width: 12.5%; } }

.grid-margin-x.small-up-1 > .cell {
  width: calc(100% - 1.11111rem); }

.grid-margin-x.small-up-2 > .cell {
  width: calc(50% - 1.11111rem); }

.grid-margin-x.small-up-3 > .cell {
  width: calc(33.33333% - 1.11111rem); }

.grid-margin-x.small-up-4 > .cell {
  width: calc(25% - 1.11111rem); }

.grid-margin-x.small-up-5 > .cell {
  width: calc(20% - 1.11111rem); }

.grid-margin-x.small-up-6 > .cell {
  width: calc(16.66667% - 1.11111rem); }

.grid-margin-x.small-up-7 > .cell {
  width: calc(14.28571% - 1.11111rem); }

.grid-margin-x.small-up-8 > .cell {
  width: calc(12.5% - 1.11111rem); }

@media print, screen and (min-width: 48em) {
  .grid-margin-x.small-up-1 > .cell {
    width: calc(100% - 1.11111rem); }
  .grid-margin-x.small-up-2 > .cell {
    width: calc(50% - 1.11111rem); }
  .grid-margin-x.small-up-3 > .cell {
    width: calc(33.33333% - 1.11111rem); }
  .grid-margin-x.small-up-4 > .cell {
    width: calc(25% - 1.11111rem); }
  .grid-margin-x.small-up-5 > .cell {
    width: calc(20% - 1.11111rem); }
  .grid-margin-x.small-up-6 > .cell {
    width: calc(16.66667% - 1.11111rem); }
  .grid-margin-x.small-up-7 > .cell {
    width: calc(14.28571% - 1.11111rem); }
  .grid-margin-x.small-up-8 > .cell {
    width: calc(12.5% - 1.11111rem); }
  .grid-margin-x.medium-up-1 > .cell {
    width: calc(100% - 1.66667rem); }
  .grid-margin-x.medium-up-2 > .cell {
    width: calc(50% - 1.66667rem); }
  .grid-margin-x.medium-up-3 > .cell {
    width: calc(33.33333% - 1.66667rem); }
  .grid-margin-x.medium-up-4 > .cell {
    width: calc(25% - 1.66667rem); }
  .grid-margin-x.medium-up-5 > .cell {
    width: calc(20% - 1.66667rem); }
  .grid-margin-x.medium-up-6 > .cell {
    width: calc(16.66667% - 1.66667rem); }
  .grid-margin-x.medium-up-7 > .cell {
    width: calc(14.28571% - 1.66667rem); }
  .grid-margin-x.medium-up-8 > .cell {
    width: calc(12.5% - 1.66667rem); } }

@media print, screen and (min-width: 64em) {
  .grid-margin-x.large-up-1 > .cell {
    width: calc(100% - 1.66667rem); }
  .grid-margin-x.large-up-2 > .cell {
    width: calc(50% - 1.66667rem); }
  .grid-margin-x.large-up-3 > .cell {
    width: calc(33.33333% - 1.66667rem); }
  .grid-margin-x.large-up-4 > .cell {
    width: calc(25% - 1.66667rem); }
  .grid-margin-x.large-up-5 > .cell {
    width: calc(20% - 1.66667rem); }
  .grid-margin-x.large-up-6 > .cell {
    width: calc(16.66667% - 1.66667rem); }
  .grid-margin-x.large-up-7 > .cell {
    width: calc(14.28571% - 1.66667rem); }
  .grid-margin-x.large-up-8 > .cell {
    width: calc(12.5% - 1.66667rem); } }

@media screen and (min-width: 75em) {
  .grid-margin-x.xlarge-up-1 > .cell {
    width: calc(100% - 1.66667rem); }
  .grid-margin-x.xlarge-up-2 > .cell {
    width: calc(50% - 1.66667rem); }
  .grid-margin-x.xlarge-up-3 > .cell {
    width: calc(33.33333% - 1.66667rem); }
  .grid-margin-x.xlarge-up-4 > .cell {
    width: calc(25% - 1.66667rem); }
  .grid-margin-x.xlarge-up-5 > .cell {
    width: calc(20% - 1.66667rem); }
  .grid-margin-x.xlarge-up-6 > .cell {
    width: calc(16.66667% - 1.66667rem); }
  .grid-margin-x.xlarge-up-7 > .cell {
    width: calc(14.28571% - 1.66667rem); }
  .grid-margin-x.xlarge-up-8 > .cell {
    width: calc(12.5% - 1.66667rem); } }

@media screen and (min-width: 90em) {
  .grid-margin-x.xxlarge-up-1 > .cell {
    width: calc(100% - 1.66667rem); }
  .grid-margin-x.xxlarge-up-2 > .cell {
    width: calc(50% - 1.66667rem); }
  .grid-margin-x.xxlarge-up-3 > .cell {
    width: calc(33.33333% - 1.66667rem); }
  .grid-margin-x.xxlarge-up-4 > .cell {
    width: calc(25% - 1.66667rem); }
  .grid-margin-x.xxlarge-up-5 > .cell {
    width: calc(20% - 1.66667rem); }
  .grid-margin-x.xxlarge-up-6 > .cell {
    width: calc(16.66667% - 1.66667rem); }
  .grid-margin-x.xxlarge-up-7 > .cell {
    width: calc(14.28571% - 1.66667rem); }
  .grid-margin-x.xxlarge-up-8 > .cell {
    width: calc(12.5% - 1.66667rem); } }

.small-margin-collapse {
  margin-right: 0;
  margin-left: 0; }
  .small-margin-collapse > .cell {
    margin-right: 0;
    margin-left: 0; }
  .small-margin-collapse > .small-1 {
    width: 8.33333%; }
  .small-margin-collapse > .small-2 {
    width: 16.66667%; }
  .small-margin-collapse > .small-3 {
    width: 25%; }
  .small-margin-collapse > .small-4 {
    width: 33.33333%; }
  .small-margin-collapse > .small-5 {
    width: 41.66667%; }
  .small-margin-collapse > .small-6 {
    width: 50%; }
  .small-margin-collapse > .small-7 {
    width: 58.33333%; }
  .small-margin-collapse > .small-8 {
    width: 66.66667%; }
  .small-margin-collapse > .small-9 {
    width: 75%; }
  .small-margin-collapse > .small-10 {
    width: 83.33333%; }
  .small-margin-collapse > .small-11 {
    width: 91.66667%; }
  .small-margin-collapse > .small-12 {
    width: 100%; }
  @media print, screen and (min-width: 48em) {
    .small-margin-collapse > .medium-1 {
      width: 8.33333%; }
    .small-margin-collapse > .medium-2 {
      width: 16.66667%; }
    .small-margin-collapse > .medium-3 {
      width: 25%; }
    .small-margin-collapse > .medium-4 {
      width: 33.33333%; }
    .small-margin-collapse > .medium-5 {
      width: 41.66667%; }
    .small-margin-collapse > .medium-6 {
      width: 50%; }
    .small-margin-collapse > .medium-7 {
      width: 58.33333%; }
    .small-margin-collapse > .medium-8 {
      width: 66.66667%; }
    .small-margin-collapse > .medium-9 {
      width: 75%; }
    .small-margin-collapse > .medium-10 {
      width: 83.33333%; }
    .small-margin-collapse > .medium-11 {
      width: 91.66667%; }
    .small-margin-collapse > .medium-12 {
      width: 100%; } }
  @media print, screen and (min-width: 64em) {
    .small-margin-collapse > .large-1 {
      width: 8.33333%; }
    .small-margin-collapse > .large-2 {
      width: 16.66667%; }
    .small-margin-collapse > .large-3 {
      width: 25%; }
    .small-margin-collapse > .large-4 {
      width: 33.33333%; }
    .small-margin-collapse > .large-5 {
      width: 41.66667%; }
    .small-margin-collapse > .large-6 {
      width: 50%; }
    .small-margin-collapse > .large-7 {
      width: 58.33333%; }
    .small-margin-collapse > .large-8 {
      width: 66.66667%; }
    .small-margin-collapse > .large-9 {
      width: 75%; }
    .small-margin-collapse > .large-10 {
      width: 83.33333%; }
    .small-margin-collapse > .large-11 {
      width: 91.66667%; }
    .small-margin-collapse > .large-12 {
      width: 100%; } }
  @media screen and (min-width: 75em) {
    .small-margin-collapse > .xlarge-1 {
      width: 8.33333%; }
    .small-margin-collapse > .xlarge-2 {
      width: 16.66667%; }
    .small-margin-collapse > .xlarge-3 {
      width: 25%; }
    .small-margin-collapse > .xlarge-4 {
      width: 33.33333%; }
    .small-margin-collapse > .xlarge-5 {
      width: 41.66667%; }
    .small-margin-collapse > .xlarge-6 {
      width: 50%; }
    .small-margin-collapse > .xlarge-7 {
      width: 58.33333%; }
    .small-margin-collapse > .xlarge-8 {
      width: 66.66667%; }
    .small-margin-collapse > .xlarge-9 {
      width: 75%; }
    .small-margin-collapse > .xlarge-10 {
      width: 83.33333%; }
    .small-margin-collapse > .xlarge-11 {
      width: 91.66667%; }
    .small-margin-collapse > .xlarge-12 {
      width: 100%; } }
  @media screen and (min-width: 90em) {
    .small-margin-collapse > .xxlarge-1 {
      width: 8.33333%; }
    .small-margin-collapse > .xxlarge-2 {
      width: 16.66667%; }
    .small-margin-collapse > .xxlarge-3 {
      width: 25%; }
    .small-margin-collapse > .xxlarge-4 {
      width: 33.33333%; }
    .small-margin-collapse > .xxlarge-5 {
      width: 41.66667%; }
    .small-margin-collapse > .xxlarge-6 {
      width: 50%; }
    .small-margin-collapse > .xxlarge-7 {
      width: 58.33333%; }
    .small-margin-collapse > .xxlarge-8 {
      width: 66.66667%; }
    .small-margin-collapse > .xxlarge-9 {
      width: 75%; }
    .small-margin-collapse > .xxlarge-10 {
      width: 83.33333%; }
    .small-margin-collapse > .xxlarge-11 {
      width: 91.66667%; }
    .small-margin-collapse > .xxlarge-12 {
      width: 100%; } }

.small-padding-collapse {
  margin-right: 0;
  margin-left: 0; }
  .small-padding-collapse > .cell {
    padding-right: 0;
    padding-left: 0; }

@media print, screen and (min-width: 48em) {
  .medium-margin-collapse {
    margin-right: 0;
    margin-left: 0; }
    .medium-margin-collapse > .cell {
      margin-right: 0;
      margin-left: 0; } }

@media print, screen and (min-width: 48em) {
  .medium-margin-collapse > .small-1 {
    width: 8.33333%; }
  .medium-margin-collapse > .small-2 {
    width: 16.66667%; }
  .medium-margin-collapse > .small-3 {
    width: 25%; }
  .medium-margin-collapse > .small-4 {
    width: 33.33333%; }
  .medium-margin-collapse > .small-5 {
    width: 41.66667%; }
  .medium-margin-collapse > .small-6 {
    width: 50%; }
  .medium-margin-collapse > .small-7 {
    width: 58.33333%; }
  .medium-margin-collapse > .small-8 {
    width: 66.66667%; }
  .medium-margin-collapse > .small-9 {
    width: 75%; }
  .medium-margin-collapse > .small-10 {
    width: 83.33333%; }
  .medium-margin-collapse > .small-11 {
    width: 91.66667%; }
  .medium-margin-collapse > .small-12 {
    width: 100%; } }

@media print, screen and (min-width: 48em) {
  .medium-margin-collapse > .medium-1 {
    width: 8.33333%; }
  .medium-margin-collapse > .medium-2 {
    width: 16.66667%; }
  .medium-margin-collapse > .medium-3 {
    width: 25%; }
  .medium-margin-collapse > .medium-4 {
    width: 33.33333%; }
  .medium-margin-collapse > .medium-5 {
    width: 41.66667%; }
  .medium-margin-collapse > .medium-6 {
    width: 50%; }
  .medium-margin-collapse > .medium-7 {
    width: 58.33333%; }
  .medium-margin-collapse > .medium-8 {
    width: 66.66667%; }
  .medium-margin-collapse > .medium-9 {
    width: 75%; }
  .medium-margin-collapse > .medium-10 {
    width: 83.33333%; }
  .medium-margin-collapse > .medium-11 {
    width: 91.66667%; }
  .medium-margin-collapse > .medium-12 {
    width: 100%; } }

@media print, screen and (min-width: 64em) {
  .medium-margin-collapse > .large-1 {
    width: 8.33333%; }
  .medium-margin-collapse > .large-2 {
    width: 16.66667%; }
  .medium-margin-collapse > .large-3 {
    width: 25%; }
  .medium-margin-collapse > .large-4 {
    width: 33.33333%; }
  .medium-margin-collapse > .large-5 {
    width: 41.66667%; }
  .medium-margin-collapse > .large-6 {
    width: 50%; }
  .medium-margin-collapse > .large-7 {
    width: 58.33333%; }
  .medium-margin-collapse > .large-8 {
    width: 66.66667%; }
  .medium-margin-collapse > .large-9 {
    width: 75%; }
  .medium-margin-collapse > .large-10 {
    width: 83.33333%; }
  .medium-margin-collapse > .large-11 {
    width: 91.66667%; }
  .medium-margin-collapse > .large-12 {
    width: 100%; } }

@media screen and (min-width: 75em) {
  .medium-margin-collapse > .xlarge-1 {
    width: 8.33333%; }
  .medium-margin-collapse > .xlarge-2 {
    width: 16.66667%; }
  .medium-margin-collapse > .xlarge-3 {
    width: 25%; }
  .medium-margin-collapse > .xlarge-4 {
    width: 33.33333%; }
  .medium-margin-collapse > .xlarge-5 {
    width: 41.66667%; }
  .medium-margin-collapse > .xlarge-6 {
    width: 50%; }
  .medium-margin-collapse > .xlarge-7 {
    width: 58.33333%; }
  .medium-margin-collapse > .xlarge-8 {
    width: 66.66667%; }
  .medium-margin-collapse > .xlarge-9 {
    width: 75%; }
  .medium-margin-collapse > .xlarge-10 {
    width: 83.33333%; }
  .medium-margin-collapse > .xlarge-11 {
    width: 91.66667%; }
  .medium-margin-collapse > .xlarge-12 {
    width: 100%; } }

@media screen and (min-width: 90em) {
  .medium-margin-collapse > .xxlarge-1 {
    width: 8.33333%; }
  .medium-margin-collapse > .xxlarge-2 {
    width: 16.66667%; }
  .medium-margin-collapse > .xxlarge-3 {
    width: 25%; }
  .medium-margin-collapse > .xxlarge-4 {
    width: 33.33333%; }
  .medium-margin-collapse > .xxlarge-5 {
    width: 41.66667%; }
  .medium-margin-collapse > .xxlarge-6 {
    width: 50%; }
  .medium-margin-collapse > .xxlarge-7 {
    width: 58.33333%; }
  .medium-margin-collapse > .xxlarge-8 {
    width: 66.66667%; }
  .medium-margin-collapse > .xxlarge-9 {
    width: 75%; }
  .medium-margin-collapse > .xxlarge-10 {
    width: 83.33333%; }
  .medium-margin-collapse > .xxlarge-11 {
    width: 91.66667%; }
  .medium-margin-collapse > .xxlarge-12 {
    width: 100%; } }

@media print, screen and (min-width: 48em) {
  .medium-padding-collapse {
    margin-right: 0;
    margin-left: 0; }
    .medium-padding-collapse > .cell {
      padding-right: 0;
      padding-left: 0; } }

@media print, screen and (min-width: 64em) {
  .large-margin-collapse {
    margin-right: 0;
    margin-left: 0; }
    .large-margin-collapse > .cell {
      margin-right: 0;
      margin-left: 0; } }

@media print, screen and (min-width: 64em) {
  .large-margin-collapse > .small-1 {
    width: 8.33333%; }
  .large-margin-collapse > .small-2 {
    width: 16.66667%; }
  .large-margin-collapse > .small-3 {
    width: 25%; }
  .large-margin-collapse > .small-4 {
    width: 33.33333%; }
  .large-margin-collapse > .small-5 {
    width: 41.66667%; }
  .large-margin-collapse > .small-6 {
    width: 50%; }
  .large-margin-collapse > .small-7 {
    width: 58.33333%; }
  .large-margin-collapse > .small-8 {
    width: 66.66667%; }
  .large-margin-collapse > .small-9 {
    width: 75%; }
  .large-margin-collapse > .small-10 {
    width: 83.33333%; }
  .large-margin-collapse > .small-11 {
    width: 91.66667%; }
  .large-margin-collapse > .small-12 {
    width: 100%; } }

@media print, screen and (min-width: 64em) {
  .large-margin-collapse > .medium-1 {
    width: 8.33333%; }
  .large-margin-collapse > .medium-2 {
    width: 16.66667%; }
  .large-margin-collapse > .medium-3 {
    width: 25%; }
  .large-margin-collapse > .medium-4 {
    width: 33.33333%; }
  .large-margin-collapse > .medium-5 {
    width: 41.66667%; }
  .large-margin-collapse > .medium-6 {
    width: 50%; }
  .large-margin-collapse > .medium-7 {
    width: 58.33333%; }
  .large-margin-collapse > .medium-8 {
    width: 66.66667%; }
  .large-margin-collapse > .medium-9 {
    width: 75%; }
  .large-margin-collapse > .medium-10 {
    width: 83.33333%; }
  .large-margin-collapse > .medium-11 {
    width: 91.66667%; }
  .large-margin-collapse > .medium-12 {
    width: 100%; } }

@media print, screen and (min-width: 64em) {
  .large-margin-collapse > .large-1 {
    width: 8.33333%; }
  .large-margin-collapse > .large-2 {
    width: 16.66667%; }
  .large-margin-collapse > .large-3 {
    width: 25%; }
  .large-margin-collapse > .large-4 {
    width: 33.33333%; }
  .large-margin-collapse > .large-5 {
    width: 41.66667%; }
  .large-margin-collapse > .large-6 {
    width: 50%; }
  .large-margin-collapse > .large-7 {
    width: 58.33333%; }
  .large-margin-collapse > .large-8 {
    width: 66.66667%; }
  .large-margin-collapse > .large-9 {
    width: 75%; }
  .large-margin-collapse > .large-10 {
    width: 83.33333%; }
  .large-margin-collapse > .large-11 {
    width: 91.66667%; }
  .large-margin-collapse > .large-12 {
    width: 100%; } }

@media screen and (min-width: 75em) {
  .large-margin-collapse > .xlarge-1 {
    width: 8.33333%; }
  .large-margin-collapse > .xlarge-2 {
    width: 16.66667%; }
  .large-margin-collapse > .xlarge-3 {
    width: 25%; }
  .large-margin-collapse > .xlarge-4 {
    width: 33.33333%; }
  .large-margin-collapse > .xlarge-5 {
    width: 41.66667%; }
  .large-margin-collapse > .xlarge-6 {
    width: 50%; }
  .large-margin-collapse > .xlarge-7 {
    width: 58.33333%; }
  .large-margin-collapse > .xlarge-8 {
    width: 66.66667%; }
  .large-margin-collapse > .xlarge-9 {
    width: 75%; }
  .large-margin-collapse > .xlarge-10 {
    width: 83.33333%; }
  .large-margin-collapse > .xlarge-11 {
    width: 91.66667%; }
  .large-margin-collapse > .xlarge-12 {
    width: 100%; } }

@media screen and (min-width: 90em) {
  .large-margin-collapse > .xxlarge-1 {
    width: 8.33333%; }
  .large-margin-collapse > .xxlarge-2 {
    width: 16.66667%; }
  .large-margin-collapse > .xxlarge-3 {
    width: 25%; }
  .large-margin-collapse > .xxlarge-4 {
    width: 33.33333%; }
  .large-margin-collapse > .xxlarge-5 {
    width: 41.66667%; }
  .large-margin-collapse > .xxlarge-6 {
    width: 50%; }
  .large-margin-collapse > .xxlarge-7 {
    width: 58.33333%; }
  .large-margin-collapse > .xxlarge-8 {
    width: 66.66667%; }
  .large-margin-collapse > .xxlarge-9 {
    width: 75%; }
  .large-margin-collapse > .xxlarge-10 {
    width: 83.33333%; }
  .large-margin-collapse > .xxlarge-11 {
    width: 91.66667%; }
  .large-margin-collapse > .xxlarge-12 {
    width: 100%; } }

@media print, screen and (min-width: 64em) {
  .large-padding-collapse {
    margin-right: 0;
    margin-left: 0; }
    .large-padding-collapse > .cell {
      padding-right: 0;
      padding-left: 0; } }

@media screen and (min-width: 75em) {
  .xlarge-margin-collapse {
    margin-right: 0;
    margin-left: 0; }
    .xlarge-margin-collapse > .cell {
      margin-right: 0;
      margin-left: 0; } }

@media screen and (min-width: 75em) {
  .xlarge-margin-collapse > .small-1 {
    width: 8.33333%; }
  .xlarge-margin-collapse > .small-2 {
    width: 16.66667%; }
  .xlarge-margin-collapse > .small-3 {
    width: 25%; }
  .xlarge-margin-collapse > .small-4 {
    width: 33.33333%; }
  .xlarge-margin-collapse > .small-5 {
    width: 41.66667%; }
  .xlarge-margin-collapse > .small-6 {
    width: 50%; }
  .xlarge-margin-collapse > .small-7 {
    width: 58.33333%; }
  .xlarge-margin-collapse > .small-8 {
    width: 66.66667%; }
  .xlarge-margin-collapse > .small-9 {
    width: 75%; }
  .xlarge-margin-collapse > .small-10 {
    width: 83.33333%; }
  .xlarge-margin-collapse > .small-11 {
    width: 91.66667%; }
  .xlarge-margin-collapse > .small-12 {
    width: 100%; } }

@media screen and (min-width: 75em) {
  .xlarge-margin-collapse > .medium-1 {
    width: 8.33333%; }
  .xlarge-margin-collapse > .medium-2 {
    width: 16.66667%; }
  .xlarge-margin-collapse > .medium-3 {
    width: 25%; }
  .xlarge-margin-collapse > .medium-4 {
    width: 33.33333%; }
  .xlarge-margin-collapse > .medium-5 {
    width: 41.66667%; }
  .xlarge-margin-collapse > .medium-6 {
    width: 50%; }
  .xlarge-margin-collapse > .medium-7 {
    width: 58.33333%; }
  .xlarge-margin-collapse > .medium-8 {
    width: 66.66667%; }
  .xlarge-margin-collapse > .medium-9 {
    width: 75%; }
  .xlarge-margin-collapse > .medium-10 {
    width: 83.33333%; }
  .xlarge-margin-collapse > .medium-11 {
    width: 91.66667%; }
  .xlarge-margin-collapse > .medium-12 {
    width: 100%; } }

@media screen and (min-width: 75em) {
  .xlarge-margin-collapse > .large-1 {
    width: 8.33333%; }
  .xlarge-margin-collapse > .large-2 {
    width: 16.66667%; }
  .xlarge-margin-collapse > .large-3 {
    width: 25%; }
  .xlarge-margin-collapse > .large-4 {
    width: 33.33333%; }
  .xlarge-margin-collapse > .large-5 {
    width: 41.66667%; }
  .xlarge-margin-collapse > .large-6 {
    width: 50%; }
  .xlarge-margin-collapse > .large-7 {
    width: 58.33333%; }
  .xlarge-margin-collapse > .large-8 {
    width: 66.66667%; }
  .xlarge-margin-collapse > .large-9 {
    width: 75%; }
  .xlarge-margin-collapse > .large-10 {
    width: 83.33333%; }
  .xlarge-margin-collapse > .large-11 {
    width: 91.66667%; }
  .xlarge-margin-collapse > .large-12 {
    width: 100%; } }

@media screen and (min-width: 75em) {
  .xlarge-margin-collapse > .xlarge-1 {
    width: 8.33333%; }
  .xlarge-margin-collapse > .xlarge-2 {
    width: 16.66667%; }
  .xlarge-margin-collapse > .xlarge-3 {
    width: 25%; }
  .xlarge-margin-collapse > .xlarge-4 {
    width: 33.33333%; }
  .xlarge-margin-collapse > .xlarge-5 {
    width: 41.66667%; }
  .xlarge-margin-collapse > .xlarge-6 {
    width: 50%; }
  .xlarge-margin-collapse > .xlarge-7 {
    width: 58.33333%; }
  .xlarge-margin-collapse > .xlarge-8 {
    width: 66.66667%; }
  .xlarge-margin-collapse > .xlarge-9 {
    width: 75%; }
  .xlarge-margin-collapse > .xlarge-10 {
    width: 83.33333%; }
  .xlarge-margin-collapse > .xlarge-11 {
    width: 91.66667%; }
  .xlarge-margin-collapse > .xlarge-12 {
    width: 100%; } }

@media screen and (min-width: 90em) {
  .xlarge-margin-collapse > .xxlarge-1 {
    width: 8.33333%; }
  .xlarge-margin-collapse > .xxlarge-2 {
    width: 16.66667%; }
  .xlarge-margin-collapse > .xxlarge-3 {
    width: 25%; }
  .xlarge-margin-collapse > .xxlarge-4 {
    width: 33.33333%; }
  .xlarge-margin-collapse > .xxlarge-5 {
    width: 41.66667%; }
  .xlarge-margin-collapse > .xxlarge-6 {
    width: 50%; }
  .xlarge-margin-collapse > .xxlarge-7 {
    width: 58.33333%; }
  .xlarge-margin-collapse > .xxlarge-8 {
    width: 66.66667%; }
  .xlarge-margin-collapse > .xxlarge-9 {
    width: 75%; }
  .xlarge-margin-collapse > .xxlarge-10 {
    width: 83.33333%; }
  .xlarge-margin-collapse > .xxlarge-11 {
    width: 91.66667%; }
  .xlarge-margin-collapse > .xxlarge-12 {
    width: 100%; } }

@media screen and (min-width: 75em) {
  .xlarge-padding-collapse {
    margin-right: 0;
    margin-left: 0; }
    .xlarge-padding-collapse > .cell {
      padding-right: 0;
      padding-left: 0; } }

@media screen and (min-width: 90em) {
  .xxlarge-margin-collapse {
    margin-right: 0;
    margin-left: 0; }
    .xxlarge-margin-collapse > .cell {
      margin-right: 0;
      margin-left: 0; } }

@media screen and (min-width: 90em) {
  .xxlarge-margin-collapse > .small-1 {
    width: 8.33333%; }
  .xxlarge-margin-collapse > .small-2 {
    width: 16.66667%; }
  .xxlarge-margin-collapse > .small-3 {
    width: 25%; }
  .xxlarge-margin-collapse > .small-4 {
    width: 33.33333%; }
  .xxlarge-margin-collapse > .small-5 {
    width: 41.66667%; }
  .xxlarge-margin-collapse > .small-6 {
    width: 50%; }
  .xxlarge-margin-collapse > .small-7 {
    width: 58.33333%; }
  .xxlarge-margin-collapse > .small-8 {
    width: 66.66667%; }
  .xxlarge-margin-collapse > .small-9 {
    width: 75%; }
  .xxlarge-margin-collapse > .small-10 {
    width: 83.33333%; }
  .xxlarge-margin-collapse > .small-11 {
    width: 91.66667%; }
  .xxlarge-margin-collapse > .small-12 {
    width: 100%; } }

@media screen and (min-width: 90em) {
  .xxlarge-margin-collapse > .medium-1 {
    width: 8.33333%; }
  .xxlarge-margin-collapse > .medium-2 {
    width: 16.66667%; }
  .xxlarge-margin-collapse > .medium-3 {
    width: 25%; }
  .xxlarge-margin-collapse > .medium-4 {
    width: 33.33333%; }
  .xxlarge-margin-collapse > .medium-5 {
    width: 41.66667%; }
  .xxlarge-margin-collapse > .medium-6 {
    width: 50%; }
  .xxlarge-margin-collapse > .medium-7 {
    width: 58.33333%; }
  .xxlarge-margin-collapse > .medium-8 {
    width: 66.66667%; }
  .xxlarge-margin-collapse > .medium-9 {
    width: 75%; }
  .xxlarge-margin-collapse > .medium-10 {
    width: 83.33333%; }
  .xxlarge-margin-collapse > .medium-11 {
    width: 91.66667%; }
  .xxlarge-margin-collapse > .medium-12 {
    width: 100%; } }

@media screen and (min-width: 90em) {
  .xxlarge-margin-collapse > .large-1 {
    width: 8.33333%; }
  .xxlarge-margin-collapse > .large-2 {
    width: 16.66667%; }
  .xxlarge-margin-collapse > .large-3 {
    width: 25%; }
  .xxlarge-margin-collapse > .large-4 {
    width: 33.33333%; }
  .xxlarge-margin-collapse > .large-5 {
    width: 41.66667%; }
  .xxlarge-margin-collapse > .large-6 {
    width: 50%; }
  .xxlarge-margin-collapse > .large-7 {
    width: 58.33333%; }
  .xxlarge-margin-collapse > .large-8 {
    width: 66.66667%; }
  .xxlarge-margin-collapse > .large-9 {
    width: 75%; }
  .xxlarge-margin-collapse > .large-10 {
    width: 83.33333%; }
  .xxlarge-margin-collapse > .large-11 {
    width: 91.66667%; }
  .xxlarge-margin-collapse > .large-12 {
    width: 100%; } }

@media screen and (min-width: 90em) {
  .xxlarge-margin-collapse > .xlarge-1 {
    width: 8.33333%; }
  .xxlarge-margin-collapse > .xlarge-2 {
    width: 16.66667%; }
  .xxlarge-margin-collapse > .xlarge-3 {
    width: 25%; }
  .xxlarge-margin-collapse > .xlarge-4 {
    width: 33.33333%; }
  .xxlarge-margin-collapse > .xlarge-5 {
    width: 41.66667%; }
  .xxlarge-margin-collapse > .xlarge-6 {
    width: 50%; }
  .xxlarge-margin-collapse > .xlarge-7 {
    width: 58.33333%; }
  .xxlarge-margin-collapse > .xlarge-8 {
    width: 66.66667%; }
  .xxlarge-margin-collapse > .xlarge-9 {
    width: 75%; }
  .xxlarge-margin-collapse > .xlarge-10 {
    width: 83.33333%; }
  .xxlarge-margin-collapse > .xlarge-11 {
    width: 91.66667%; }
  .xxlarge-margin-collapse > .xlarge-12 {
    width: 100%; } }

@media screen and (min-width: 90em) {
  .xxlarge-margin-collapse > .xxlarge-1 {
    width: 8.33333%; }
  .xxlarge-margin-collapse > .xxlarge-2 {
    width: 16.66667%; }
  .xxlarge-margin-collapse > .xxlarge-3 {
    width: 25%; }
  .xxlarge-margin-collapse > .xxlarge-4 {
    width: 33.33333%; }
  .xxlarge-margin-collapse > .xxlarge-5 {
    width: 41.66667%; }
  .xxlarge-margin-collapse > .xxlarge-6 {
    width: 50%; }
  .xxlarge-margin-collapse > .xxlarge-7 {
    width: 58.33333%; }
  .xxlarge-margin-collapse > .xxlarge-8 {
    width: 66.66667%; }
  .xxlarge-margin-collapse > .xxlarge-9 {
    width: 75%; }
  .xxlarge-margin-collapse > .xxlarge-10 {
    width: 83.33333%; }
  .xxlarge-margin-collapse > .xxlarge-11 {
    width: 91.66667%; }
  .xxlarge-margin-collapse > .xxlarge-12 {
    width: 100%; } }

@media screen and (min-width: 90em) {
  .xxlarge-padding-collapse {
    margin-right: 0;
    margin-left: 0; }
    .xxlarge-padding-collapse > .cell {
      padding-right: 0;
      padding-left: 0; } }

.small-offset-0 {
  margin-left: 0%; }

.grid-margin-x > .small-offset-0 {
  margin-left: calc(0% + 0.55556rem); }

.small-offset-1 {
  margin-left: 8.33333%; }

.grid-margin-x > .small-offset-1 {
  margin-left: calc(8.33333% + 0.55556rem); }

.small-offset-2 {
  margin-left: 16.66667%; }

.grid-margin-x > .small-offset-2 {
  margin-left: calc(16.66667% + 0.55556rem); }

.small-offset-3 {
  margin-left: 25%; }

.grid-margin-x > .small-offset-3 {
  margin-left: calc(25% + 0.55556rem); }

.small-offset-4 {
  margin-left: 33.33333%; }

.grid-margin-x > .small-offset-4 {
  margin-left: calc(33.33333% + 0.55556rem); }

.small-offset-5 {
  margin-left: 41.66667%; }

.grid-margin-x > .small-offset-5 {
  margin-left: calc(41.66667% + 0.55556rem); }

.small-offset-6 {
  margin-left: 50%; }

.grid-margin-x > .small-offset-6 {
  margin-left: calc(50% + 0.55556rem); }

.small-offset-7 {
  margin-left: 58.33333%; }

.grid-margin-x > .small-offset-7 {
  margin-left: calc(58.33333% + 0.55556rem); }

.small-offset-8 {
  margin-left: 66.66667%; }

.grid-margin-x > .small-offset-8 {
  margin-left: calc(66.66667% + 0.55556rem); }

.small-offset-9 {
  margin-left: 75%; }

.grid-margin-x > .small-offset-9 {
  margin-left: calc(75% + 0.55556rem); }

.small-offset-10 {
  margin-left: 83.33333%; }

.grid-margin-x > .small-offset-10 {
  margin-left: calc(83.33333% + 0.55556rem); }

.small-offset-11 {
  margin-left: 91.66667%; }

.grid-margin-x > .small-offset-11 {
  margin-left: calc(91.66667% + 0.55556rem); }

@media print, screen and (min-width: 48em) {
  .medium-offset-0 {
    margin-left: 0%; }
  .grid-margin-x > .medium-offset-0 {
    margin-left: calc(0% + 0.83333rem); }
  .medium-offset-1 {
    margin-left: 8.33333%; }
  .grid-margin-x > .medium-offset-1 {
    margin-left: calc(8.33333% + 0.83333rem); }
  .medium-offset-2 {
    margin-left: 16.66667%; }
  .grid-margin-x > .medium-offset-2 {
    margin-left: calc(16.66667% + 0.83333rem); }
  .medium-offset-3 {
    margin-left: 25%; }
  .grid-margin-x > .medium-offset-3 {
    margin-left: calc(25% + 0.83333rem); }
  .medium-offset-4 {
    margin-left: 33.33333%; }
  .grid-margin-x > .medium-offset-4 {
    margin-left: calc(33.33333% + 0.83333rem); }
  .medium-offset-5 {
    margin-left: 41.66667%; }
  .grid-margin-x > .medium-offset-5 {
    margin-left: calc(41.66667% + 0.83333rem); }
  .medium-offset-6 {
    margin-left: 50%; }
  .grid-margin-x > .medium-offset-6 {
    margin-left: calc(50% + 0.83333rem); }
  .medium-offset-7 {
    margin-left: 58.33333%; }
  .grid-margin-x > .medium-offset-7 {
    margin-left: calc(58.33333% + 0.83333rem); }
  .medium-offset-8 {
    margin-left: 66.66667%; }
  .grid-margin-x > .medium-offset-8 {
    margin-left: calc(66.66667% + 0.83333rem); }
  .medium-offset-9 {
    margin-left: 75%; }
  .grid-margin-x > .medium-offset-9 {
    margin-left: calc(75% + 0.83333rem); }
  .medium-offset-10 {
    margin-left: 83.33333%; }
  .grid-margin-x > .medium-offset-10 {
    margin-left: calc(83.33333% + 0.83333rem); }
  .medium-offset-11 {
    margin-left: 91.66667%; }
  .grid-margin-x > .medium-offset-11 {
    margin-left: calc(91.66667% + 0.83333rem); } }

@media print, screen and (min-width: 64em) {
  .large-offset-0 {
    margin-left: 0%; }
  .grid-margin-x > .large-offset-0 {
    margin-left: calc(0% + 0.83333rem); }
  .large-offset-1 {
    margin-left: 8.33333%; }
  .grid-margin-x > .large-offset-1 {
    margin-left: calc(8.33333% + 0.83333rem); }
  .large-offset-2 {
    margin-left: 16.66667%; }
  .grid-margin-x > .large-offset-2 {
    margin-left: calc(16.66667% + 0.83333rem); }
  .large-offset-3 {
    margin-left: 25%; }
  .grid-margin-x > .large-offset-3 {
    margin-left: calc(25% + 0.83333rem); }
  .large-offset-4 {
    margin-left: 33.33333%; }
  .grid-margin-x > .large-offset-4 {
    margin-left: calc(33.33333% + 0.83333rem); }
  .large-offset-5 {
    margin-left: 41.66667%; }
  .grid-margin-x > .large-offset-5 {
    margin-left: calc(41.66667% + 0.83333rem); }
  .large-offset-6 {
    margin-left: 50%; }
  .grid-margin-x > .large-offset-6 {
    margin-left: calc(50% + 0.83333rem); }
  .large-offset-7 {
    margin-left: 58.33333%; }
  .grid-margin-x > .large-offset-7 {
    margin-left: calc(58.33333% + 0.83333rem); }
  .large-offset-8 {
    margin-left: 66.66667%; }
  .grid-margin-x > .large-offset-8 {
    margin-left: calc(66.66667% + 0.83333rem); }
  .large-offset-9 {
    margin-left: 75%; }
  .grid-margin-x > .large-offset-9 {
    margin-left: calc(75% + 0.83333rem); }
  .large-offset-10 {
    margin-left: 83.33333%; }
  .grid-margin-x > .large-offset-10 {
    margin-left: calc(83.33333% + 0.83333rem); }
  .large-offset-11 {
    margin-left: 91.66667%; }
  .grid-margin-x > .large-offset-11 {
    margin-left: calc(91.66667% + 0.83333rem); } }

@media screen and (min-width: 75em) {
  .xlarge-offset-0 {
    margin-left: 0%; }
  .grid-margin-x > .xlarge-offset-0 {
    margin-left: calc(0% + 0.83333rem); }
  .xlarge-offset-1 {
    margin-left: 8.33333%; }
  .grid-margin-x > .xlarge-offset-1 {
    margin-left: calc(8.33333% + 0.83333rem); }
  .xlarge-offset-2 {
    margin-left: 16.66667%; }
  .grid-margin-x > .xlarge-offset-2 {
    margin-left: calc(16.66667% + 0.83333rem); }
  .xlarge-offset-3 {
    margin-left: 25%; }
  .grid-margin-x > .xlarge-offset-3 {
    margin-left: calc(25% + 0.83333rem); }
  .xlarge-offset-4 {
    margin-left: 33.33333%; }
  .grid-margin-x > .xlarge-offset-4 {
    margin-left: calc(33.33333% + 0.83333rem); }
  .xlarge-offset-5 {
    margin-left: 41.66667%; }
  .grid-margin-x > .xlarge-offset-5 {
    margin-left: calc(41.66667% + 0.83333rem); }
  .xlarge-offset-6 {
    margin-left: 50%; }
  .grid-margin-x > .xlarge-offset-6 {
    margin-left: calc(50% + 0.83333rem); }
  .xlarge-offset-7 {
    margin-left: 58.33333%; }
  .grid-margin-x > .xlarge-offset-7 {
    margin-left: calc(58.33333% + 0.83333rem); }
  .xlarge-offset-8 {
    margin-left: 66.66667%; }
  .grid-margin-x > .xlarge-offset-8 {
    margin-left: calc(66.66667% + 0.83333rem); }
  .xlarge-offset-9 {
    margin-left: 75%; }
  .grid-margin-x > .xlarge-offset-9 {
    margin-left: calc(75% + 0.83333rem); }
  .xlarge-offset-10 {
    margin-left: 83.33333%; }
  .grid-margin-x > .xlarge-offset-10 {
    margin-left: calc(83.33333% + 0.83333rem); }
  .xlarge-offset-11 {
    margin-left: 91.66667%; }
  .grid-margin-x > .xlarge-offset-11 {
    margin-left: calc(91.66667% + 0.83333rem); } }

@media screen and (min-width: 90em) {
  .xxlarge-offset-0 {
    margin-left: 0%; }
  .grid-margin-x > .xxlarge-offset-0 {
    margin-left: calc(0% + 0.83333rem); }
  .xxlarge-offset-1 {
    margin-left: 8.33333%; }
  .grid-margin-x > .xxlarge-offset-1 {
    margin-left: calc(8.33333% + 0.83333rem); }
  .xxlarge-offset-2 {
    margin-left: 16.66667%; }
  .grid-margin-x > .xxlarge-offset-2 {
    margin-left: calc(16.66667% + 0.83333rem); }
  .xxlarge-offset-3 {
    margin-left: 25%; }
  .grid-margin-x > .xxlarge-offset-3 {
    margin-left: calc(25% + 0.83333rem); }
  .xxlarge-offset-4 {
    margin-left: 33.33333%; }
  .grid-margin-x > .xxlarge-offset-4 {
    margin-left: calc(33.33333% + 0.83333rem); }
  .xxlarge-offset-5 {
    margin-left: 41.66667%; }
  .grid-margin-x > .xxlarge-offset-5 {
    margin-left: calc(41.66667% + 0.83333rem); }
  .xxlarge-offset-6 {
    margin-left: 50%; }
  .grid-margin-x > .xxlarge-offset-6 {
    margin-left: calc(50% + 0.83333rem); }
  .xxlarge-offset-7 {
    margin-left: 58.33333%; }
  .grid-margin-x > .xxlarge-offset-7 {
    margin-left: calc(58.33333% + 0.83333rem); }
  .xxlarge-offset-8 {
    margin-left: 66.66667%; }
  .grid-margin-x > .xxlarge-offset-8 {
    margin-left: calc(66.66667% + 0.83333rem); }
  .xxlarge-offset-9 {
    margin-left: 75%; }
  .grid-margin-x > .xxlarge-offset-9 {
    margin-left: calc(75% + 0.83333rem); }
  .xxlarge-offset-10 {
    margin-left: 83.33333%; }
  .grid-margin-x > .xxlarge-offset-10 {
    margin-left: calc(83.33333% + 0.83333rem); }
  .xxlarge-offset-11 {
    margin-left: 91.66667%; }
  .grid-margin-x > .xxlarge-offset-11 {
    margin-left: calc(91.66667% + 0.83333rem); } }

.grid-y {
  display: flex;
  flex-flow: column nowrap; }
  .grid-y > .cell {
    width: auto; }
  .grid-y > .auto {
    height: auto; }
  .grid-y > .shrink {
    height: auto; }
  .grid-y > .small-shrink, .grid-y > .small-full, .grid-y > .small-1, .grid-y > .small-2, .grid-y > .small-3, .grid-y > .small-4, .grid-y > .small-5, .grid-y > .small-6, .grid-y > .small-7, .grid-y > .small-8, .grid-y > .small-9, .grid-y > .small-10, .grid-y > .small-11, .grid-y > .small-12 {
    flex-basis: auto; }
  @media print, screen and (min-width: 48em) {
    .grid-y > .medium-shrink, .grid-y > .medium-full, .grid-y > .medium-1, .grid-y > .medium-2, .grid-y > .medium-3, .grid-y > .medium-4, .grid-y > .medium-5, .grid-y > .medium-6, .grid-y > .medium-7, .grid-y > .medium-8, .grid-y > .medium-9, .grid-y > .medium-10, .grid-y > .medium-11, .grid-y > .medium-12 {
      flex-basis: auto; } }
  @media print, screen and (min-width: 64em) {
    .grid-y > .large-shrink, .grid-y > .large-full, .grid-y > .large-1, .grid-y > .large-2, .grid-y > .large-3, .grid-y > .large-4, .grid-y > .large-5, .grid-y > .large-6, .grid-y > .large-7, .grid-y > .large-8, .grid-y > .large-9, .grid-y > .large-10, .grid-y > .large-11, .grid-y > .large-12 {
      flex-basis: auto; } }
  @media screen and (min-width: 75em) {
    .grid-y > .xlarge-shrink, .grid-y > .xlarge-full, .grid-y > .xlarge-1, .grid-y > .xlarge-2, .grid-y > .xlarge-3, .grid-y > .xlarge-4, .grid-y > .xlarge-5, .grid-y > .xlarge-6, .grid-y > .xlarge-7, .grid-y > .xlarge-8, .grid-y > .xlarge-9, .grid-y > .xlarge-10, .grid-y > .xlarge-11, .grid-y > .xlarge-12 {
      flex-basis: auto; } }
  @media screen and (min-width: 90em) {
    .grid-y > .xxlarge-shrink, .grid-y > .xxlarge-full, .grid-y > .xxlarge-1, .grid-y > .xxlarge-2, .grid-y > .xxlarge-3, .grid-y > .xxlarge-4, .grid-y > .xxlarge-5, .grid-y > .xxlarge-6, .grid-y > .xxlarge-7, .grid-y > .xxlarge-8, .grid-y > .xxlarge-9, .grid-y > .xxlarge-10, .grid-y > .xxlarge-11, .grid-y > .xxlarge-12 {
      flex-basis: auto; } }
  .grid-y > .small-1 {
    height: 8.33333%; }
  .grid-y > .small-2 {
    height: 16.66667%; }
  .grid-y > .small-3 {
    height: 25%; }
  .grid-y > .small-4 {
    height: 33.33333%; }
  .grid-y > .small-5 {
    height: 41.66667%; }
  .grid-y > .small-6 {
    height: 50%; }
  .grid-y > .small-7 {
    height: 58.33333%; }
  .grid-y > .small-8 {
    height: 66.66667%; }
  .grid-y > .small-9 {
    height: 75%; }
  .grid-y > .small-10 {
    height: 83.33333%; }
  .grid-y > .small-11 {
    height: 91.66667%; }
  .grid-y > .small-12 {
    height: 100%; }
  @media print, screen and (min-width: 48em) {
    .grid-y > .medium-auto {
      flex: 1 1 0px;
      height: auto; }
    .grid-y > .medium-shrink {
      height: auto; }
    .grid-y > .medium-1 {
      height: 8.33333%; }
    .grid-y > .medium-2 {
      height: 16.66667%; }
    .grid-y > .medium-3 {
      height: 25%; }
    .grid-y > .medium-4 {
      height: 33.33333%; }
    .grid-y > .medium-5 {
      height: 41.66667%; }
    .grid-y > .medium-6 {
      height: 50%; }
    .grid-y > .medium-7 {
      height: 58.33333%; }
    .grid-y > .medium-8 {
      height: 66.66667%; }
    .grid-y > .medium-9 {
      height: 75%; }
    .grid-y > .medium-10 {
      height: 83.33333%; }
    .grid-y > .medium-11 {
      height: 91.66667%; }
    .grid-y > .medium-12 {
      height: 100%; } }
  @media print, screen and (min-width: 64em) {
    .grid-y > .large-auto {
      flex: 1 1 0px;
      height: auto; }
    .grid-y > .large-shrink {
      height: auto; }
    .grid-y > .large-1 {
      height: 8.33333%; }
    .grid-y > .large-2 {
      height: 16.66667%; }
    .grid-y > .large-3 {
      height: 25%; }
    .grid-y > .large-4 {
      height: 33.33333%; }
    .grid-y > .large-5 {
      height: 41.66667%; }
    .grid-y > .large-6 {
      height: 50%; }
    .grid-y > .large-7 {
      height: 58.33333%; }
    .grid-y > .large-8 {
      height: 66.66667%; }
    .grid-y > .large-9 {
      height: 75%; }
    .grid-y > .large-10 {
      height: 83.33333%; }
    .grid-y > .large-11 {
      height: 91.66667%; }
    .grid-y > .large-12 {
      height: 100%; } }
  @media screen and (min-width: 75em) {
    .grid-y > .xlarge-auto {
      flex: 1 1 0px;
      height: auto; }
    .grid-y > .xlarge-shrink {
      height: auto; }
    .grid-y > .xlarge-1 {
      height: 8.33333%; }
    .grid-y > .xlarge-2 {
      height: 16.66667%; }
    .grid-y > .xlarge-3 {
      height: 25%; }
    .grid-y > .xlarge-4 {
      height: 33.33333%; }
    .grid-y > .xlarge-5 {
      height: 41.66667%; }
    .grid-y > .xlarge-6 {
      height: 50%; }
    .grid-y > .xlarge-7 {
      height: 58.33333%; }
    .grid-y > .xlarge-8 {
      height: 66.66667%; }
    .grid-y > .xlarge-9 {
      height: 75%; }
    .grid-y > .xlarge-10 {
      height: 83.33333%; }
    .grid-y > .xlarge-11 {
      height: 91.66667%; }
    .grid-y > .xlarge-12 {
      height: 100%; } }
  @media screen and (min-width: 90em) {
    .grid-y > .xxlarge-auto {
      flex: 1 1 0px;
      height: auto; }
    .grid-y > .xxlarge-shrink {
      height: auto; }
    .grid-y > .xxlarge-1 {
      height: 8.33333%; }
    .grid-y > .xxlarge-2 {
      height: 16.66667%; }
    .grid-y > .xxlarge-3 {
      height: 25%; }
    .grid-y > .xxlarge-4 {
      height: 33.33333%; }
    .grid-y > .xxlarge-5 {
      height: 41.66667%; }
    .grid-y > .xxlarge-6 {
      height: 50%; }
    .grid-y > .xxlarge-7 {
      height: 58.33333%; }
    .grid-y > .xxlarge-8 {
      height: 66.66667%; }
    .grid-y > .xxlarge-9 {
      height: 75%; }
    .grid-y > .xxlarge-10 {
      height: 83.33333%; }
    .grid-y > .xxlarge-11 {
      height: 91.66667%; }
    .grid-y > .xxlarge-12 {
      height: 100%; } }

.grid-padding-y .grid-padding-y {
  margin-top: -0.55556rem;
  margin-bottom: -0.55556rem; }
  @media print, screen and (min-width: 48em) {
    .grid-padding-y .grid-padding-y {
      margin-top: -0.83333rem;
      margin-bottom: -0.83333rem; } }

.grid-padding-y > .cell {
  padding-top: 0.55556rem;
  padding-bottom: 0.55556rem; }
  @media print, screen and (min-width: 48em) {
    .grid-padding-y > .cell {
      padding-top: 0.83333rem;
      padding-bottom: 0.83333rem; } }

.grid-margin-y {
  margin-top: -0.55556rem;
  margin-bottom: -0.55556rem; }
  @media print, screen and (min-width: 48em) {
    .grid-margin-y {
      margin-top: -0.83333rem;
      margin-bottom: -0.83333rem; } }
  .grid-margin-y > .cell {
    height: calc(100% - 1.11111rem);
    margin-top: 0.55556rem;
    margin-bottom: 0.55556rem; }
  @media print, screen and (min-width: 48em) {
    .grid-margin-y > .cell {
      height: calc(100% - 1.66667rem);
      margin-top: 0.83333rem;
      margin-bottom: 0.83333rem; } }
  .grid-margin-y > .auto {
    height: auto; }
  .grid-margin-y > .shrink {
    height: auto; }
  .grid-margin-y > .small-1 {
    height: calc(8.33333% - 1.11111rem); }
  .grid-margin-y > .small-2 {
    height: calc(16.66667% - 1.11111rem); }
  .grid-margin-y > .small-3 {
    height: calc(25% - 1.11111rem); }
  .grid-margin-y > .small-4 {
    height: calc(33.33333% - 1.11111rem); }
  .grid-margin-y > .small-5 {
    height: calc(41.66667% - 1.11111rem); }
  .grid-margin-y > .small-6 {
    height: calc(50% - 1.11111rem); }
  .grid-margin-y > .small-7 {
    height: calc(58.33333% - 1.11111rem); }
  .grid-margin-y > .small-8 {
    height: calc(66.66667% - 1.11111rem); }
  .grid-margin-y > .small-9 {
    height: calc(75% - 1.11111rem); }
  .grid-margin-y > .small-10 {
    height: calc(83.33333% - 1.11111rem); }
  .grid-margin-y > .small-11 {
    height: calc(91.66667% - 1.11111rem); }
  .grid-margin-y > .small-12 {
    height: calc(100% - 1.11111rem); }
  @media print, screen and (min-width: 48em) {
    .grid-margin-y > .auto {
      height: auto; }
    .grid-margin-y > .shrink {
      height: auto; }
    .grid-margin-y > .small-1 {
      height: calc(8.33333% - 1.66667rem); }
    .grid-margin-y > .small-2 {
      height: calc(16.66667% - 1.66667rem); }
    .grid-margin-y > .small-3 {
      height: calc(25% - 1.66667rem); }
    .grid-margin-y > .small-4 {
      height: calc(33.33333% - 1.66667rem); }
    .grid-margin-y > .small-5 {
      height: calc(41.66667% - 1.66667rem); }
    .grid-margin-y > .small-6 {
      height: calc(50% - 1.66667rem); }
    .grid-margin-y > .small-7 {
      height: calc(58.33333% - 1.66667rem); }
    .grid-margin-y > .small-8 {
      height: calc(66.66667% - 1.66667rem); }
    .grid-margin-y > .small-9 {
      height: calc(75% - 1.66667rem); }
    .grid-margin-y > .small-10 {
      height: calc(83.33333% - 1.66667rem); }
    .grid-margin-y > .small-11 {
      height: calc(91.66667% - 1.66667rem); }
    .grid-margin-y > .small-12 {
      height: calc(100% - 1.66667rem); }
    .grid-margin-y > .medium-auto {
      height: auto; }
    .grid-margin-y > .medium-shrink {
      height: auto; }
    .grid-margin-y > .medium-1 {
      height: calc(8.33333% - 1.66667rem); }
    .grid-margin-y > .medium-2 {
      height: calc(16.66667% - 1.66667rem); }
    .grid-margin-y > .medium-3 {
      height: calc(25% - 1.66667rem); }
    .grid-margin-y > .medium-4 {
      height: calc(33.33333% - 1.66667rem); }
    .grid-margin-y > .medium-5 {
      height: calc(41.66667% - 1.66667rem); }
    .grid-margin-y > .medium-6 {
      height: calc(50% - 1.66667rem); }
    .grid-margin-y > .medium-7 {
      height: calc(58.33333% - 1.66667rem); }
    .grid-margin-y > .medium-8 {
      height: calc(66.66667% - 1.66667rem); }
    .grid-margin-y > .medium-9 {
      height: calc(75% - 1.66667rem); }
    .grid-margin-y > .medium-10 {
      height: calc(83.33333% - 1.66667rem); }
    .grid-margin-y > .medium-11 {
      height: calc(91.66667% - 1.66667rem); }
    .grid-margin-y > .medium-12 {
      height: calc(100% - 1.66667rem); } }
  @media print, screen and (min-width: 64em) {
    .grid-margin-y > .large-auto {
      height: auto; }
    .grid-margin-y > .large-shrink {
      height: auto; }
    .grid-margin-y > .large-1 {
      height: calc(8.33333% - 1.66667rem); }
    .grid-margin-y > .large-2 {
      height: calc(16.66667% - 1.66667rem); }
    .grid-margin-y > .large-3 {
      height: calc(25% - 1.66667rem); }
    .grid-margin-y > .large-4 {
      height: calc(33.33333% - 1.66667rem); }
    .grid-margin-y > .large-5 {
      height: calc(41.66667% - 1.66667rem); }
    .grid-margin-y > .large-6 {
      height: calc(50% - 1.66667rem); }
    .grid-margin-y > .large-7 {
      height: calc(58.33333% - 1.66667rem); }
    .grid-margin-y > .large-8 {
      height: calc(66.66667% - 1.66667rem); }
    .grid-margin-y > .large-9 {
      height: calc(75% - 1.66667rem); }
    .grid-margin-y > .large-10 {
      height: calc(83.33333% - 1.66667rem); }
    .grid-margin-y > .large-11 {
      height: calc(91.66667% - 1.66667rem); }
    .grid-margin-y > .large-12 {
      height: calc(100% - 1.66667rem); } }
  @media screen and (min-width: 75em) {
    .grid-margin-y > .xlarge-auto {
      height: auto; }
    .grid-margin-y > .xlarge-shrink {
      height: auto; }
    .grid-margin-y > .xlarge-1 {
      height: calc(8.33333% - 1.66667rem); }
    .grid-margin-y > .xlarge-2 {
      height: calc(16.66667% - 1.66667rem); }
    .grid-margin-y > .xlarge-3 {
      height: calc(25% - 1.66667rem); }
    .grid-margin-y > .xlarge-4 {
      height: calc(33.33333% - 1.66667rem); }
    .grid-margin-y > .xlarge-5 {
      height: calc(41.66667% - 1.66667rem); }
    .grid-margin-y > .xlarge-6 {
      height: calc(50% - 1.66667rem); }
    .grid-margin-y > .xlarge-7 {
      height: calc(58.33333% - 1.66667rem); }
    .grid-margin-y > .xlarge-8 {
      height: calc(66.66667% - 1.66667rem); }
    .grid-margin-y > .xlarge-9 {
      height: calc(75% - 1.66667rem); }
    .grid-margin-y > .xlarge-10 {
      height: calc(83.33333% - 1.66667rem); }
    .grid-margin-y > .xlarge-11 {
      height: calc(91.66667% - 1.66667rem); }
    .grid-margin-y > .xlarge-12 {
      height: calc(100% - 1.66667rem); } }
  @media screen and (min-width: 90em) {
    .grid-margin-y > .xxlarge-auto {
      height: auto; }
    .grid-margin-y > .xxlarge-shrink {
      height: auto; }
    .grid-margin-y > .xxlarge-1 {
      height: calc(8.33333% - 1.66667rem); }
    .grid-margin-y > .xxlarge-2 {
      height: calc(16.66667% - 1.66667rem); }
    .grid-margin-y > .xxlarge-3 {
      height: calc(25% - 1.66667rem); }
    .grid-margin-y > .xxlarge-4 {
      height: calc(33.33333% - 1.66667rem); }
    .grid-margin-y > .xxlarge-5 {
      height: calc(41.66667% - 1.66667rem); }
    .grid-margin-y > .xxlarge-6 {
      height: calc(50% - 1.66667rem); }
    .grid-margin-y > .xxlarge-7 {
      height: calc(58.33333% - 1.66667rem); }
    .grid-margin-y > .xxlarge-8 {
      height: calc(66.66667% - 1.66667rem); }
    .grid-margin-y > .xxlarge-9 {
      height: calc(75% - 1.66667rem); }
    .grid-margin-y > .xxlarge-10 {
      height: calc(83.33333% - 1.66667rem); }
    .grid-margin-y > .xxlarge-11 {
      height: calc(91.66667% - 1.66667rem); }
    .grid-margin-y > .xxlarge-12 {
      height: calc(100% - 1.66667rem); } }

.grid-frame {
  overflow: hidden;
  position: relative;
  flex-wrap: nowrap;
  align-items: stretch;
  width: 100vw; }

.cell .grid-frame {
  width: 100%; }

.cell-block {
  overflow-x: auto;
  max-width: 100%;
  -webkit-overflow-scrolling: touch;
  -ms-overflow-stype: -ms-autohiding-scrollbar; }

.cell-block-y {
  overflow-y: auto;
  max-height: 100%;
  -webkit-overflow-scrolling: touch;
  -ms-overflow-stype: -ms-autohiding-scrollbar; }

.cell-block-container {
  display: flex;
  flex-direction: column;
  max-height: 100%; }
  .cell-block-container > .grid-x {
    max-height: 100%;
    flex-wrap: nowrap; }

@media print, screen and (min-width: 48em) {
  .medium-grid-frame {
    overflow: hidden;
    position: relative;
    flex-wrap: nowrap;
    align-items: stretch;
    width: 100vw; }
  .cell .medium-grid-frame {
    width: 100%; }
  .medium-cell-block {
    overflow-x: auto;
    max-width: 100%;
    -webkit-overflow-scrolling: touch;
    -ms-overflow-stype: -ms-autohiding-scrollbar; }
  .medium-cell-block-container {
    display: flex;
    flex-direction: column;
    max-height: 100%; }
    .medium-cell-block-container > .grid-x {
      max-height: 100%;
      flex-wrap: nowrap; }
  .medium-cell-block-y {
    overflow-y: auto;
    max-height: 100%;
    -webkit-overflow-scrolling: touch;
    -ms-overflow-stype: -ms-autohiding-scrollbar; } }

@media print, screen and (min-width: 64em) {
  .large-grid-frame {
    overflow: hidden;
    position: relative;
    flex-wrap: nowrap;
    align-items: stretch;
    width: 100vw; }
  .cell .large-grid-frame {
    width: 100%; }
  .large-cell-block {
    overflow-x: auto;
    max-width: 100%;
    -webkit-overflow-scrolling: touch;
    -ms-overflow-stype: -ms-autohiding-scrollbar; }
  .large-cell-block-container {
    display: flex;
    flex-direction: column;
    max-height: 100%; }
    .large-cell-block-container > .grid-x {
      max-height: 100%;
      flex-wrap: nowrap; }
  .large-cell-block-y {
    overflow-y: auto;
    max-height: 100%;
    -webkit-overflow-scrolling: touch;
    -ms-overflow-stype: -ms-autohiding-scrollbar; } }

@media screen and (min-width: 75em) {
  .xlarge-grid-frame {
    overflow: hidden;
    position: relative;
    flex-wrap: nowrap;
    align-items: stretch;
    width: 100vw; }
  .cell .xlarge-grid-frame {
    width: 100%; }
  .xlarge-cell-block {
    overflow-x: auto;
    max-width: 100%;
    -webkit-overflow-scrolling: touch;
    -ms-overflow-stype: -ms-autohiding-scrollbar; }
  .xlarge-cell-block-container {
    display: flex;
    flex-direction: column;
    max-height: 100%; }
    .xlarge-cell-block-container > .grid-x {
      max-height: 100%;
      flex-wrap: nowrap; }
  .xlarge-cell-block-y {
    overflow-y: auto;
    max-height: 100%;
    -webkit-overflow-scrolling: touch;
    -ms-overflow-stype: -ms-autohiding-scrollbar; } }

@media screen and (min-width: 90em) {
  .xxlarge-grid-frame {
    overflow: hidden;
    position: relative;
    flex-wrap: nowrap;
    align-items: stretch;
    width: 100vw; }
  .cell .xxlarge-grid-frame {
    width: 100%; }
  .xxlarge-cell-block {
    overflow-x: auto;
    max-width: 100%;
    -webkit-overflow-scrolling: touch;
    -ms-overflow-stype: -ms-autohiding-scrollbar; }
  .xxlarge-cell-block-container {
    display: flex;
    flex-direction: column;
    max-height: 100%; }
    .xxlarge-cell-block-container > .grid-x {
      max-height: 100%;
      flex-wrap: nowrap; }
  .xxlarge-cell-block-y {
    overflow-y: auto;
    max-height: 100%;
    -webkit-overflow-scrolling: touch;
    -ms-overflow-stype: -ms-autohiding-scrollbar; } }

.grid-y.grid-frame {
  width: auto;
  overflow: hidden;
  position: relative;
  flex-wrap: nowrap;
  align-items: stretch;
  height: 100vh; }

@media print, screen and (min-width: 48em) {
  .grid-y.medium-grid-frame {
    width: auto;
    overflow: hidden;
    position: relative;
    flex-wrap: nowrap;
    align-items: stretch;
    height: 100vh; } }

@media print, screen and (min-width: 64em) {
  .grid-y.large-grid-frame {
    width: auto;
    overflow: hidden;
    position: relative;
    flex-wrap: nowrap;
    align-items: stretch;
    height: 100vh; } }

@media screen and (min-width: 75em) {
  .grid-y.xlarge-grid-frame {
    width: auto;
    overflow: hidden;
    position: relative;
    flex-wrap: nowrap;
    align-items: stretch;
    height: 100vh; } }

@media screen and (min-width: 90em) {
  .grid-y.xxlarge-grid-frame {
    width: auto;
    overflow: hidden;
    position: relative;
    flex-wrap: nowrap;
    align-items: stretch;
    height: 100vh; } }

.cell .grid-y.grid-frame {
  height: 100%; }

@media print, screen and (min-width: 48em) {
  .cell .grid-y.medium-grid-frame {
    height: 100%; } }

@media print, screen and (min-width: 64em) {
  .cell .grid-y.large-grid-frame {
    height: 100%; } }

@media screen and (min-width: 75em) {
  .cell .grid-y.xlarge-grid-frame {
    height: 100%; } }

@media screen and (min-width: 90em) {
  .cell .grid-y.xxlarge-grid-frame {
    height: 100%; } }

.grid-margin-y {
  margin-top: -0.55556rem;
  margin-bottom: -0.55556rem; }
  @media print, screen and (min-width: 48em) {
    .grid-margin-y {
      margin-top: -0.83333rem;
      margin-bottom: -0.83333rem; } }
  .grid-margin-y > .cell {
    height: calc(100% - 1.11111rem);
    margin-top: 0.55556rem;
    margin-bottom: 0.55556rem; }
  @media print, screen and (min-width: 48em) {
    .grid-margin-y > .cell {
      height: calc(100% - 1.66667rem);
      margin-top: 0.83333rem;
      margin-bottom: 0.83333rem; } }
  .grid-margin-y > .auto {
    height: auto; }
  .grid-margin-y > .shrink {
    height: auto; }
  .grid-margin-y > .small-1 {
    height: calc(8.33333% - 1.11111rem); }
  .grid-margin-y > .small-2 {
    height: calc(16.66667% - 1.11111rem); }
  .grid-margin-y > .small-3 {
    height: calc(25% - 1.11111rem); }
  .grid-margin-y > .small-4 {
    height: calc(33.33333% - 1.11111rem); }
  .grid-margin-y > .small-5 {
    height: calc(41.66667% - 1.11111rem); }
  .grid-margin-y > .small-6 {
    height: calc(50% - 1.11111rem); }
  .grid-margin-y > .small-7 {
    height: calc(58.33333% - 1.11111rem); }
  .grid-margin-y > .small-8 {
    height: calc(66.66667% - 1.11111rem); }
  .grid-margin-y > .small-9 {
    height: calc(75% - 1.11111rem); }
  .grid-margin-y > .small-10 {
    height: calc(83.33333% - 1.11111rem); }
  .grid-margin-y > .small-11 {
    height: calc(91.66667% - 1.11111rem); }
  .grid-margin-y > .small-12 {
    height: calc(100% - 1.11111rem); }
  @media print, screen and (min-width: 48em) {
    .grid-margin-y > .auto {
      height: auto; }
    .grid-margin-y > .shrink {
      height: auto; }
    .grid-margin-y > .small-1 {
      height: calc(8.33333% - 1.66667rem); }
    .grid-margin-y > .small-2 {
      height: calc(16.66667% - 1.66667rem); }
    .grid-margin-y > .small-3 {
      height: calc(25% - 1.66667rem); }
    .grid-margin-y > .small-4 {
      height: calc(33.33333% - 1.66667rem); }
    .grid-margin-y > .small-5 {
      height: calc(41.66667% - 1.66667rem); }
    .grid-margin-y > .small-6 {
      height: calc(50% - 1.66667rem); }
    .grid-margin-y > .small-7 {
      height: calc(58.33333% - 1.66667rem); }
    .grid-margin-y > .small-8 {
      height: calc(66.66667% - 1.66667rem); }
    .grid-margin-y > .small-9 {
      height: calc(75% - 1.66667rem); }
    .grid-margin-y > .small-10 {
      height: calc(83.33333% - 1.66667rem); }
    .grid-margin-y > .small-11 {
      height: calc(91.66667% - 1.66667rem); }
    .grid-margin-y > .small-12 {
      height: calc(100% - 1.66667rem); }
    .grid-margin-y > .medium-auto {
      height: auto; }
    .grid-margin-y > .medium-shrink {
      height: auto; }
    .grid-margin-y > .medium-1 {
      height: calc(8.33333% - 1.66667rem); }
    .grid-margin-y > .medium-2 {
      height: calc(16.66667% - 1.66667rem); }
    .grid-margin-y > .medium-3 {
      height: calc(25% - 1.66667rem); }
    .grid-margin-y > .medium-4 {
      height: calc(33.33333% - 1.66667rem); }
    .grid-margin-y > .medium-5 {
      height: calc(41.66667% - 1.66667rem); }
    .grid-margin-y > .medium-6 {
      height: calc(50% - 1.66667rem); }
    .grid-margin-y > .medium-7 {
      height: calc(58.33333% - 1.66667rem); }
    .grid-margin-y > .medium-8 {
      height: calc(66.66667% - 1.66667rem); }
    .grid-margin-y > .medium-9 {
      height: calc(75% - 1.66667rem); }
    .grid-margin-y > .medium-10 {
      height: calc(83.33333% - 1.66667rem); }
    .grid-margin-y > .medium-11 {
      height: calc(91.66667% - 1.66667rem); }
    .grid-margin-y > .medium-12 {
      height: calc(100% - 1.66667rem); } }
  @media print, screen and (min-width: 64em) {
    .grid-margin-y > .large-auto {
      height: auto; }
    .grid-margin-y > .large-shrink {
      height: auto; }
    .grid-margin-y > .large-1 {
      height: calc(8.33333% - 1.66667rem); }
    .grid-margin-y > .large-2 {
      height: calc(16.66667% - 1.66667rem); }
    .grid-margin-y > .large-3 {
      height: calc(25% - 1.66667rem); }
    .grid-margin-y > .large-4 {
      height: calc(33.33333% - 1.66667rem); }
    .grid-margin-y > .large-5 {
      height: calc(41.66667% - 1.66667rem); }
    .grid-margin-y > .large-6 {
      height: calc(50% - 1.66667rem); }
    .grid-margin-y > .large-7 {
      height: calc(58.33333% - 1.66667rem); }
    .grid-margin-y > .large-8 {
      height: calc(66.66667% - 1.66667rem); }
    .grid-margin-y > .large-9 {
      height: calc(75% - 1.66667rem); }
    .grid-margin-y > .large-10 {
      height: calc(83.33333% - 1.66667rem); }
    .grid-margin-y > .large-11 {
      height: calc(91.66667% - 1.66667rem); }
    .grid-margin-y > .large-12 {
      height: calc(100% - 1.66667rem); } }
  @media screen and (min-width: 75em) {
    .grid-margin-y > .xlarge-auto {
      height: auto; }
    .grid-margin-y > .xlarge-shrink {
      height: auto; }
    .grid-margin-y > .xlarge-1 {
      height: calc(8.33333% - 1.66667rem); }
    .grid-margin-y > .xlarge-2 {
      height: calc(16.66667% - 1.66667rem); }
    .grid-margin-y > .xlarge-3 {
      height: calc(25% - 1.66667rem); }
    .grid-margin-y > .xlarge-4 {
      height: calc(33.33333% - 1.66667rem); }
    .grid-margin-y > .xlarge-5 {
      height: calc(41.66667% - 1.66667rem); }
    .grid-margin-y > .xlarge-6 {
      height: calc(50% - 1.66667rem); }
    .grid-margin-y > .xlarge-7 {
      height: calc(58.33333% - 1.66667rem); }
    .grid-margin-y > .xlarge-8 {
      height: calc(66.66667% - 1.66667rem); }
    .grid-margin-y > .xlarge-9 {
      height: calc(75% - 1.66667rem); }
    .grid-margin-y > .xlarge-10 {
      height: calc(83.33333% - 1.66667rem); }
    .grid-margin-y > .xlarge-11 {
      height: calc(91.66667% - 1.66667rem); }
    .grid-margin-y > .xlarge-12 {
      height: calc(100% - 1.66667rem); } }
  @media screen and (min-width: 90em) {
    .grid-margin-y > .xxlarge-auto {
      height: auto; }
    .grid-margin-y > .xxlarge-shrink {
      height: auto; }
    .grid-margin-y > .xxlarge-1 {
      height: calc(8.33333% - 1.66667rem); }
    .grid-margin-y > .xxlarge-2 {
      height: calc(16.66667% - 1.66667rem); }
    .grid-margin-y > .xxlarge-3 {
      height: calc(25% - 1.66667rem); }
    .grid-margin-y > .xxlarge-4 {
      height: calc(33.33333% - 1.66667rem); }
    .grid-margin-y > .xxlarge-5 {
      height: calc(41.66667% - 1.66667rem); }
    .grid-margin-y > .xxlarge-6 {
      height: calc(50% - 1.66667rem); }
    .grid-margin-y > .xxlarge-7 {
      height: calc(58.33333% - 1.66667rem); }
    .grid-margin-y > .xxlarge-8 {
      height: calc(66.66667% - 1.66667rem); }
    .grid-margin-y > .xxlarge-9 {
      height: calc(75% - 1.66667rem); }
    .grid-margin-y > .xxlarge-10 {
      height: calc(83.33333% - 1.66667rem); }
    .grid-margin-y > .xxlarge-11 {
      height: calc(91.66667% - 1.66667rem); }
    .grid-margin-y > .xxlarge-12 {
      height: calc(100% - 1.66667rem); } }

.grid-frame.grid-margin-y {
  height: calc(100vh + 1.11111rem); }
  @media print, screen and (min-width: 48em) {
    .grid-frame.grid-margin-y {
      height: calc(100vh + 1.66667rem); } }
  @media print, screen and (min-width: 64em) {
    .grid-frame.grid-margin-y {
      height: calc(100vh + 1.66667rem); } }
  @media screen and (min-width: 75em) {
    .grid-frame.grid-margin-y {
      height: calc(100vh + 1.66667rem); } }
  @media screen and (min-width: 90em) {
    .grid-frame.grid-margin-y {
      height: calc(100vh + 1.66667rem); } }

@media print, screen and (min-width: 48em) {
  .grid-margin-y.medium-grid-frame {
    height: calc(100vh + 1.66667rem); } }

@media print, screen and (min-width: 64em) {
  .grid-margin-y.large-grid-frame {
    height: calc(100vh + 1.66667rem); } }

@media screen and (min-width: 75em) {
  .grid-margin-y.xlarge-grid-frame {
    height: calc(100vh + 1.66667rem); } }

@media screen and (min-width: 90em) {
  .grid-margin-y.xxlarge-grid-frame {
    height: calc(100vh + 1.66667rem); } }

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

p {
  margin-bottom: 1rem;
  font-size: inherit;
  line-height: 28px;
  text-rendering: optimizeLegibility; }

em,
i {
  font-style: italic;
  line-height: inherit; }

strong,
b {
  font-weight: bold;
  line-height: inherit; }

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

h1, .h1,
h2, .h2,
h3, .h3,
h4, .h4,
h5, .h5,
h6, .h6 {
  font-family: "BreveSlabTitle", sans-serif;
  font-style: normal;
  font-weight: normal;
  color: #18161f;
  text-rendering: optimizeLegibility; }
  h1 small, .h1 small,
  h2 small, .h2 small,
  h3 small, .h3 small,
  h4 small, .h4 small,
  h5 small, .h5 small,
  h6 small, .h6 small {
    line-height: 0;
    color: #cacaca; }

h1, .h1 {
  font-size: 2.11111rem;
  line-height: 1.2;
  margin-top: 0;
  margin-bottom: 0.5rem; }

h2, .h2 {
  font-size: 1.77778rem;
  line-height: 1.2;
  margin-top: 0;
  margin-bottom: 0.5rem; }

h3, .h3 {
  font-size: 1.55556rem;
  line-height: 1.2;
  margin-top: 0;
  margin-bottom: 0.5rem; }

h4, .h4 {
  font-size: 1.44444rem;
  line-height: 1.2;
  margin-top: 0;
  margin-bottom: 0.5rem; }

h5, .h5 {
  font-size: 1.22222rem;
  line-height: 1.2;
  margin-top: 0;
  margin-bottom: 0.5rem; }

h6, .h6 {
  font-size: 1.11111rem;
  line-height: 1.2;
  margin-top: 0;
  margin-bottom: 0.5rem; }

@media print, screen and (min-width: 48em) {
  h1, .h1 {
    font-size: 2.77778rem; }
  h2, .h2 {
    font-size: 2rem; }
  h3, .h3 {
    font-size: 1.77778rem; }
  h4, .h4 {
    font-size: 1.55556rem; }
  h5, .h5 {
    font-size: 1.33333rem; }
  h6, .h6 {
    font-size: 1.22222rem; } }

@media print, screen and (min-width: 64em) {
  h1, .h1 {
    font-size: 3.11111rem; }
  h2, .h2 {
    font-size: 2.11111rem; }
  h3, .h3 {
    font-size: 1.88889rem; }
  h4, .h4 {
    font-size: 1.55556rem; }
  h5, .h5 {
    font-size: 1.33333rem; }
  h6, .h6 {
    font-size: 1.22222rem; } }

a {
  line-height: inherit;
  color: #1779ba;
  text-decoration: none;
  cursor: pointer; }
  a:hover, a:focus {
    color: #1468a0; }
  a img {
    border: 0; }

hr {
  clear: both;
  max-width: 66.66667rem;
  height: 0;
  margin: 0 auto 2.22222rem auto;
  border-top: 0;
  border-right: 0;
  border-bottom: 2px solid #d1d1d2;
  border-left: 0; }

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

li {
  font-size: inherit; }

ul {
  margin-left: 15px;
  list-style-type: disc; }

ol {
  margin-left: 15px; }

ul ul, ol ul, ul ol, ol ol {
  margin-left: 1.25rem;
  margin-bottom: 0; }

dl {
  margin-bottom: 1rem; }
  dl dt {
    margin-bottom: 0.3rem;
    font-weight: bold; }

blockquote {
  margin: 0 0 1rem;
  padding: 1.55556rem 2.22222rem 1.55556rem 2.22222rem;
  border-left: 0 none; }
  blockquote, blockquote p {
    line-height: 28px;
    color: #18171e; }

cite {
  display: block;
  font-size: 1rem;
  color: #18171e; }
  cite:before {
    content: "— "; }

abbr, abbr[title] {
  border-bottom: 1px dotted #0a0a0a;
  cursor: help;
  text-decoration: none; }

figure {
  margin: 0; }

code {
  padding: 0.11111rem 0.27778rem 0.05556rem;
  border: 1px solid #cacaca;
  background-color: #e6e6e6;
  font-family: "BreveSlabTitle", sans-serif;
  font-weight: normal;
  color: #0a0a0a; }

kbd {
  margin: 0;
  padding: 0.11111rem 0.22222rem 0;
  background-color: #e6e6e6;
  font-family: "BreveSlabTitle", sans-serif;
  color: #0a0a0a; }

.subheader {
  margin-top: 0.2rem;
  margin-bottom: 0.5rem;
  font-weight: normal;
  line-height: 1.4;
  color: #8a8a8a; }

.lead {
  font-size: 22.5px;
  line-height: 1.6; }

.stat {
  font-size: 2.5rem;
  line-height: 1; }
  p + .stat {
    margin-top: -1rem; }

ul.no-bullet, ol.no-bullet {
  margin-left: 0;
  list-style: none; }

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

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

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

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

@media print, screen and (min-width: 48em) {
  .medium-text-left {
    text-align: left; }
  .medium-text-right {
    text-align: right; }
  .medium-text-center {
    text-align: center; }
  .medium-text-justify {
    text-align: justify; } }

@media print, screen and (min-width: 64em) {
  .large-text-left {
    text-align: left; }
  .large-text-right {
    text-align: right; }
  .large-text-center {
    text-align: center; }
  .large-text-justify {
    text-align: justify; } }

@media screen and (min-width: 75em) {
  .xlarge-text-left {
    text-align: left; }
  .xlarge-text-right {
    text-align: right; }
  .xlarge-text-center {
    text-align: center; }
  .xlarge-text-justify {
    text-align: justify; } }

@media screen and (min-width: 90em) {
  .xxlarge-text-left {
    text-align: left; }
  .xxlarge-text-right {
    text-align: right; }
  .xxlarge-text-center {
    text-align: center; }
  .xxlarge-text-justify {
    text-align: justify; } }

.show-for-print {
  display: none !important; }

@media print {
  * {
    background: transparent !important;
    box-shadow: none !important;
    color: black !important;
    text-shadow: none !important; }
  .show-for-print {
    display: block !important; }
  .hide-for-print {
    display: none !important; }
  table.show-for-print {
    display: table !important; }
  thead.show-for-print {
    display: table-header-group !important; }
  tbody.show-for-print {
    display: table-row-group !important; }
  tr.show-for-print {
    display: table-row !important; }
  td.show-for-print {
    display: table-cell !important; }
  th.show-for-print {
    display: table-cell !important; }
  a,
  a:visited {
    text-decoration: underline; }
  a[href]:after {
    content: " (" attr(href) ")"; }
  .ir a:after,
  a[href^='javascript:']:after,
  a[href^='#']:after {
    content: ''; }
  abbr[title]:after {
    content: " (" attr(title) ")"; }
  pre,
  blockquote {
    border: 1px solid #8a8a8a;
    page-break-inside: avoid; }
  thead {
    display: table-header-group; }
  tr,
  img {
    page-break-inside: avoid; }
  img {
    max-width: 100% !important; }
  @page {
    margin: 0.5cm; }
  p,
  h2,
  h3 {
    orphans: 3;
    widows: 3; }
  h2,
  h3 {
    page-break-after: avoid; }
  .print-break-inside {
    page-break-inside: auto; } }

[type='text'], [type='password'], [type='date'], [type='datetime'], [type='datetime-local'], [type='month'], [type='week'], [type='email'], [type='number'], [type='search'], [type='tel'], [type='time'], [type='url'], [type='color'],
textarea {
  display: block;
  box-sizing: border-box;
  width: 100%;
  height: 2.27778rem;
  margin: 0 0 0.88889rem;
  padding: 0.5rem;
  border: 1px solid #cacaca;
  border-radius: 0;
  background-color: #fefefe;
  box-shadow: inset 0 1px 2px rgba(10, 10, 10, 0.1);
  font-family: "BreveSans", sans-serif;
  font-size: 0.88889rem;
  font-weight: normal;
  line-height: 1.5;
  color: #525252;
  transition: box-shadow 0.5s, border-color 0.25s ease-in-out;
  appearance: none; }
  [type='text']:focus, [type='password']:focus, [type='date']:focus, [type='datetime']:focus, [type='datetime-local']:focus, [type='month']:focus, [type='week']:focus, [type='email']:focus, [type='number']:focus, [type='search']:focus, [type='tel']:focus, [type='time']:focus, [type='url']:focus, [type='color']:focus,
  textarea:focus {
    outline: none;
    border: 1px solid #8a8a8a;
    background-color: #fefefe;
    box-shadow: 0 0 5px #cacaca;
    transition: box-shadow 0.5s, border-color 0.25s ease-in-out; }

textarea {
  max-width: 100%; }
  textarea[rows] {
    height: auto; }

input::placeholder,
textarea::placeholder {
  color: #525252; }

input:disabled, input[readonly],
textarea:disabled,
textarea[readonly] {
  background-color: #e6e6e6;
  cursor: not-allowed; }

[type='submit'],
[type='button'] {
  appearance: none;
  border-radius: 0; }

input[type='search'] {
  box-sizing: border-box; }

[type='file'],
[type='checkbox'],
[type='radio'] {
  margin: 0 0 0.88889rem; }

[type='checkbox'] + label,
[type='radio'] + label {
  display: inline-block;
  vertical-align: baseline;
  margin-left: 0.44444rem;
  margin-right: 0.88889rem;
  margin-bottom: 0; }
  [type='checkbox'] + label[for],
  [type='radio'] + label[for] {
    cursor: pointer; }

label > [type='checkbox'],
label > [type='radio'] {
  margin-right: 0.44444rem; }

[type='file'] {
  width: 100%; }

label {
  display: block;
  margin: 0;
  font-size: 1.22222rem;
  font-weight: bold;
  line-height: 1.8;
  color: #18161f; }
  label.middle {
    margin: 0 0 0.88889rem;
    padding: 0.5rem 0; }

.help-text {
  margin-top: -0.44444rem;
  font-size: 0.72222rem;
  font-style: italic;
  color: #525252; }

.input-group {
  display: flex;
  width: 100%;
  margin-bottom: 0.88889rem;
  align-items: stretch; }
  .input-group > :first-child {
    border-radius: 0 0 0 0; }
  .input-group > :last-child > * {
    border-radius: 0 0 0 0; }

.input-group-label, .input-group-field, .input-group-button, .input-group-button a,
.input-group-button input,
.input-group-button button,
.input-group-button label {
  margin: 0;
  white-space: nowrap; }

.input-group-label {
  padding: 0 1rem;
  border: 1px solid #cacaca;
  background: #e6e6e6;
  color: #525252;
  text-align: center;
  white-space: nowrap;
  display: flex;
  flex: 0 0 auto;
  align-items: center; }
  .input-group-label:first-child {
    border-right: 0; }
  .input-group-label:last-child {
    border-left: 0; }

.input-group-field {
  border-radius: 0;
  flex: 1 1 0px;
  height: auto;
  min-width: 0; }

.input-group-button {
  padding-top: 0;
  padding-bottom: 0;
  text-align: center;
  display: flex;
  flex: 0 0 auto; }
  .input-group-button a,
  .input-group-button input,
  .input-group-button button,
  .input-group-button label {
    height: auto;
    align-self: stretch;
    padding-top: 0;
    padding-bottom: 0;
    font-size: 0.88889rem; }

fieldset {
  margin: 0;
  padding: 0;
  border: 0; }

legend {
  max-width: 100%;
  margin-bottom: 0.44444rem; }

.fieldset {
  margin: 1rem 0;
  padding: 1.11111rem;
  border: 1px solid #d1d1d2; }
  .fieldset legend {
    margin: 0;
    margin-left: -0.16667rem;
    padding: 0 0.16667rem; }

select {
  height: 2.27778rem;
  margin: 0 0 0.88889rem;
  padding: 0.5rem;
  appearance: none;
  border: 1px solid #cacaca;
  border-radius: 0;
  background-color: #fefefe;
  font-family: "BreveSans", sans-serif;
  font-size: 0.88889rem;
  font-weight: normal;
  line-height: 1.5;
  color: #525252;
  background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' version='1.1' width='32' height='24' viewBox='0 0 32 24'><polygon points='0,0 32,0 16,24' style='fill: rgb%28138, 138, 138%29'></polygon></svg>");
  background-origin: content-box;
  background-position: right -0.88889rem center;
  background-repeat: no-repeat;
  background-size: 9px 6px;
  padding-right: 1.33333rem;
  transition: box-shadow 0.5s, border-color 0.25s ease-in-out; }
  @media screen and (min-width: 0\0) {
    select {
      background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAYCAYAAACbU/80AAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAIpJREFUeNrEkckNgDAMBBfRkEt0ObRBBdsGXUDgmQfK4XhH2m8czQAAy27R3tsw4Qfe2x8uOO6oYLb6GlOor3GF+swURAOmUJ+RwtEJs9WvTGEYxBXqI1MQAZhCfUQKRzDMVj+TwrAIV6jvSUEkYAr1LSkcyTBb/V+KYfX7xAeusq3sLDtGH3kEGACPWIflNZfhRQAAAABJRU5ErkJggg=="); } }
  select:focus {
    outline: none;
    border: 1px solid #8a8a8a;
    background-color: #fefefe;
    box-shadow: 0 0 5px #cacaca;
    transition: box-shadow 0.5s, border-color 0.25s ease-in-out; }
  select:disabled {
    background-color: #e6e6e6;
    cursor: not-allowed; }
  select::-ms-expand {
    display: none; }
  select[multiple] {
    height: auto;
    background-image: none; }

.is-invalid-input:not(:focus) {
  border-color: #cc4b37;
  background-color: #f9ecea; }
  .is-invalid-input:not(:focus)::placeholder {
    color: #cc4b37; }

.is-invalid-label {
  color: #cc4b37; }

.form-error {
  display: none;
  margin-top: -0.44444rem;
  margin-bottom: 0.88889rem;
  font-size: 0.66667rem;
  font-weight: bold;
  color: #cc4b37; }
  .form-error.is-visible {
    display: block; }

.button {
  display: inline-block;
  vertical-align: middle;
  margin: 0 0 1rem 0;
  font-family: inherit;
  padding: 0.85em 1em;
  -webkit-appearance: none;
  border: 1px solid transparent;
  border-radius: 0;
  transition: background-color 0.25s ease-out, color 0.25s ease-out;
  font-size: 0.9rem;
  line-height: 1;
  text-align: center;
  cursor: pointer;
  background-color: #1779ba;
  color: #fefefe; }
  [data-whatinput='mouse'] .button {
    outline: 0; }
  .button:hover, .button:focus {
    background-color: #14679e;
    color: #fefefe; }
  .button.tiny {
    font-size: 0.6rem; }
  .button.small {
    font-size: 0.75rem; }
  .button.large {
    font-size: 1.25rem; }
  .button.expanded {
    display: block;
    width: 100%;
    margin-right: 0;
    margin-left: 0; }
  .button.primary {
    background-color: #1779ba;
    color: #fefefe; }
    .button.primary:hover, .button.primary:focus {
      background-color: #126195;
      color: #fefefe; }
  .button.secondary {
    background-color: #767676;
    color: #fefefe; }
    .button.secondary:hover, .button.secondary:focus {
      background-color: #5e5e5e;
      color: #fefefe; }
  .button.success {
    background-color: #3adb76;
    color: #0a0a0a; }
    .button.success:hover, .button.success:focus {
      background-color: #22bb5b;
      color: #0a0a0a; }
  .button.warning {
    background-color: #ffae00;
    color: #0a0a0a; }
    .button.warning:hover, .button.warning:focus {
      background-color: #cc8b00;
      color: #0a0a0a; }
  .button.alert {
    background-color: #cc4b37;
    color: #fefefe; }
    .button.alert:hover, .button.alert:focus {
      background-color: #a53b2a;
      color: #fefefe; }
  .button.disabled, .button[disabled] {
    opacity: 0.25;
    cursor: not-allowed; }
    .button.disabled, .button.disabled:hover, .button.disabled:focus, .button[disabled], .button[disabled]:hover, .button[disabled]:focus {
      background-color: #1779ba;
      color: #fefefe; }
    .button.disabled.primary, .button[disabled].primary {
      opacity: 0.25;
      cursor: not-allowed; }
      .button.disabled.primary, .button.disabled.primary:hover, .button.disabled.primary:focus, .button[disabled].primary, .button[disabled].primary:hover, .button[disabled].primary:focus {
        background-color: #1779ba;
        color: #fefefe; }
    .button.disabled.secondary, .button[disabled].secondary {
      opacity: 0.25;
      cursor: not-allowed; }
      .button.disabled.secondary, .button.disabled.secondary:hover, .button.disabled.secondary:focus, .button[disabled].secondary, .button[disabled].secondary:hover, .button[disabled].secondary:focus {
        background-color: #767676;
        color: #fefefe; }
    .button.disabled.success, .button[disabled].success {
      opacity: 0.25;
      cursor: not-allowed; }
      .button.disabled.success, .button.disabled.success:hover, .button.disabled.success:focus, .button[disabled].success, .button[disabled].success:hover, .button[disabled].success:focus {
        background-color: #3adb76;
        color: #0a0a0a; }
    .button.disabled.warning, .button[disabled].warning {
      opacity: 0.25;
      cursor: not-allowed; }
      .button.disabled.warning, .button.disabled.warning:hover, .button.disabled.warning:focus, .button[disabled].warning, .button[disabled].warning:hover, .button[disabled].warning:focus {
        background-color: #ffae00;
        color: #0a0a0a; }
    .button.disabled.alert, .button[disabled].alert {
      opacity: 0.25;
      cursor: not-allowed; }
      .button.disabled.alert, .button.disabled.alert:hover, .button.disabled.alert:focus, .button[disabled].alert, .button[disabled].alert:hover, .button[disabled].alert:focus {
        background-color: #cc4b37;
        color: #fefefe; }
  .button.hollow {
    border: 1px solid #1779ba;
    color: #1779ba; }
    .button.hollow, .button.hollow:hover, .button.hollow:focus {
      background-color: transparent; }
    .button.hollow.disabled, .button.hollow.disabled:hover, .button.hollow.disabled:focus, .button.hollow[disabled], .button.hollow[disabled]:hover, .button.hollow[disabled]:focus {
      background-color: transparent; }
    .button.hollow:hover, .button.hollow:focus {
      border-color: #0c3d5d;
      color: #0c3d5d; }
      .button.hollow:hover.disabled, .button.hollow:hover[disabled], .button.hollow:focus.disabled, .button.hollow:focus[disabled] {
        border: 1px solid #1779ba;
        color: #1779ba; }
    .button.hollow.primary {
      border: 1px solid #1779ba;
      color: #1779ba; }
      .button.hollow.primary:hover, .button.hollow.primary:focus {
        border-color: #0c3d5d;
        color: #0c3d5d; }
        .button.hollow.primary:hover.disabled, .button.hollow.primary:hover[disabled], .button.hollow.primary:focus.disabled, .button.hollow.primary:focus[disabled] {
          border: 1px solid #1779ba;
          color: #1779ba; }
    .button.hollow.secondary {
      border: 1px solid #767676;
      color: #767676; }
      .button.hollow.secondary:hover, .button.hollow.secondary:focus {
        border-color: #3b3b3b;
        color: #3b3b3b; }
        .button.hollow.secondary:hover.disabled, .button.hollow.secondary:hover[disabled], .button.hollow.secondary:focus.disabled, .button.hollow.secondary:focus[disabled] {
          border: 1px solid #767676;
          color: #767676; }
    .button.hollow.success {
      border: 1px solid #3adb76;
      color: #3adb76; }
      .button.hollow.success:hover, .button.hollow.success:focus {
        border-color: #157539;
        color: #157539; }
        .button.hollow.success:hover.disabled, .button.hollow.success:hover[disabled], .button.hollow.success:focus.disabled, .button.hollow.success:focus[disabled] {
          border: 1px solid #3adb76;
          color: #3adb76; }
    .button.hollow.warning {
      border: 1px solid #ffae00;
      color: #ffae00; }
      .button.hollow.warning:hover, .button.hollow.warning:focus {
        border-color: #805700;
        color: #805700; }
        .button.hollow.warning:hover.disabled, .button.hollow.warning:hover[disabled], .button.hollow.warning:focus.disabled, .button.hollow.warning:focus[disabled] {
          border: 1px solid #ffae00;
          color: #ffae00; }
    .button.hollow.alert {
      border: 1px solid #cc4b37;
      color: #cc4b37; }
      .button.hollow.alert:hover, .button.hollow.alert:focus {
        border-color: #67251a;
        color: #67251a; }
        .button.hollow.alert:hover.disabled, .button.hollow.alert:hover[disabled], .button.hollow.alert:focus.disabled, .button.hollow.alert:focus[disabled] {
          border: 1px solid #cc4b37;
          color: #cc4b37; }
  .button.clear {
    border: 1px solid #1779ba;
    color: #1779ba; }
    .button.clear, .button.clear:hover, .button.clear:focus {
      background-color: transparent; }
    .button.clear.disabled, .button.clear.disabled:hover, .button.clear.disabled:focus, .button.clear[disabled], .button.clear[disabled]:hover, .button.clear[disabled]:focus {
      background-color: transparent; }
    .button.clear:hover, .button.clear:focus {
      border-color: #0c3d5d;
      color: #0c3d5d; }
      .button.clear:hover.disabled, .button.clear:hover[disabled], .button.clear:focus.disabled, .button.clear:focus[disabled] {
        border: 1px solid #1779ba;
        color: #1779ba; }
    .button.clear, .button.clear.disabled, .button.clear[disabled], .button.clear:hover, .button.clear:hover.disabled, .button.clear:hover[disabled], .button.clear:focus, .button.clear:focus.disabled, .button.clear:focus[disabled] {
      border-color: transparent; }
    .button.clear.primary {
      border: 1px solid #1779ba;
      color: #1779ba; }
      .button.clear.primary:hover, .button.clear.primary:focus {
        border-color: #0c3d5d;
        color: #0c3d5d; }
        .button.clear.primary:hover.disabled, .button.clear.primary:hover[disabled], .button.clear.primary:focus.disabled, .button.clear.primary:focus[disabled] {
          border: 1px solid #1779ba;
          color: #1779ba; }
      .button.clear.primary, .button.clear.primary.disabled, .button.clear.primary[disabled], .button.clear.primary:hover, .button.clear.primary:hover.disabled, .button.clear.primary:hover[disabled], .button.clear.primary:focus, .button.clear.primary:focus.disabled, .button.clear.primary:focus[disabled] {
        border-color: transparent; }
    .button.clear.secondary {
      border: 1px solid #767676;
      color: #767676; }
      .button.clear.secondary:hover, .button.clear.secondary:focus {
        border-color: #3b3b3b;
        color: #3b3b3b; }
        .button.clear.secondary:hover.disabled, .button.clear.secondary:hover[disabled], .button.clear.secondary:focus.disabled, .button.clear.secondary:focus[disabled] {
          border: 1px solid #767676;
          color: #767676; }
      .button.clear.secondary, .button.clear.secondary.disabled, .button.clear.secondary[disabled], .button.clear.secondary:hover, .button.clear.secondary:hover.disabled, .button.clear.secondary:hover[disabled], .button.clear.secondary:focus, .button.clear.secondary:focus.disabled, .button.clear.secondary:focus[disabled] {
        border-color: transparent; }
    .button.clear.success {
      border: 1px solid #3adb76;
      color: #3adb76; }
      .button.clear.success:hover, .button.clear.success:focus {
        border-color: #157539;
        color: #157539; }
        .button.clear.success:hover.disabled, .button.clear.success:hover[disabled], .button.clear.success:focus.disabled, .button.clear.success:focus[disabled] {
          border: 1px solid #3adb76;
          color: #3adb76; }
      .button.clear.success, .button.clear.success.disabled, .button.clear.success[disabled], .button.clear.success:hover, .button.clear.success:hover.disabled, .button.clear.success:hover[disabled], .button.clear.success:focus, .button.clear.success:focus.disabled, .button.clear.success:focus[disabled] {
        border-color: transparent; }
    .button.clear.warning {
      border: 1px solid #ffae00;
      color: #ffae00; }
      .button.clear.warning:hover, .button.clear.warning:focus {
        border-color: #805700;
        color: #805700; }
        .button.clear.warning:hover.disabled, .button.clear.warning:hover[disabled], .button.clear.warning:focus.disabled, .button.clear.warning:focus[disabled] {
          border: 1px solid #ffae00;
          color: #ffae00; }
      .button.clear.warning, .button.clear.warning.disabled, .button.clear.warning[disabled], .button.clear.warning:hover, .button.clear.warning:hover.disabled, .button.clear.warning:hover[disabled], .button.clear.warning:focus, .button.clear.warning:focus.disabled, .button.clear.warning:focus[disabled] {
        border-color: transparent; }
    .button.clear.alert {
      border: 1px solid #cc4b37;
      color: #cc4b37; }
      .button.clear.alert:hover, .button.clear.alert:focus {
        border-color: #67251a;
        color: #67251a; }
        .button.clear.alert:hover.disabled, .button.clear.alert:hover[disabled], .button.clear.alert:focus.disabled, .button.clear.alert:focus[disabled] {
          border: 1px solid #cc4b37;
          color: #cc4b37; }
      .button.clear.alert, .button.clear.alert.disabled, .button.clear.alert[disabled], .button.clear.alert:hover, .button.clear.alert:hover.disabled, .button.clear.alert:hover[disabled], .button.clear.alert:focus, .button.clear.alert:focus.disabled, .button.clear.alert:focus[disabled] {
        border-color: transparent; }
  .button.dropdown::after {
    display: block;
    width: 0;
    height: 0;
    border: inset 0.4em;
    content: '';
    border-bottom-width: 0;
    border-top-style: solid;
    border-color: #fefefe transparent transparent;
    position: relative;
    top: 0.4em;
    display: inline-block;
    float: right;
    margin-left: 1em; }
  .button.dropdown.hollow::after {
    border-top-color: #1779ba; }
  .button.dropdown.hollow.primary::after {
    border-top-color: #1779ba; }
  .button.dropdown.hollow.secondary::after {
    border-top-color: #767676; }
  .button.dropdown.hollow.success::after {
    border-top-color: #3adb76; }
  .button.dropdown.hollow.warning::after {
    border-top-color: #ffae00; }
  .button.dropdown.hollow.alert::after {
    border-top-color: #cc4b37; }
  .button.arrow-only::after {
    top: -0.1em;
    float: none;
    margin-left: 0; }

a.button:hover, a.button:focus {
  text-decoration: none; }

.accordion {
  margin-left: 0;
  background: transparent;
  list-style-type: none; }
  .accordion[disabled] .accordion-title {
    cursor: not-allowed; }

.accordion-item:first-child > :first-child {
  border-radius: 0 0 0 0; }

.accordion-item:last-child > :last-child {
  border-radius: 0 0 0 0; }

.accordion-title {
  position: relative;
  display: block;
  padding: 1.25rem 1rem;
  border: 0 none;
  border-bottom: 0;
  font-size: 1.33333rem;
  line-height: 1;
  color: #525252; }
  :last-child:not(.is-active) > .accordion-title {
    border-bottom: 0 none;
    border-radius: 0 0 0 0; }
  .accordion-title:hover, .accordion-title:focus {
    background-color: #81796f; }
  .accordion-title::before {
    position: absolute;
    top: 50%;
    right: 1rem;
    margin-top: -0.5rem;
    content: '+'; }
  .is-active > .accordion-title::before {
    content: '\2013'; }

.accordion-content {
  display: none;
  padding: 1rem;
  border: 0 none;
  border-bottom: 0;
  background-color: #f9f9f9;
  color: #525252; }
  :last-child > .accordion-content:last-child {
    border-bottom: 0 none; }

.accordion-menu li {
  width: 100%; }

.accordion-menu a {
  padding: 0.7rem 1rem; }

.accordion-menu .is-accordion-submenu a {
  padding: 0.7rem 1rem; }

.accordion-menu .nested.is-accordion-submenu {
  margin-right: 0;
  margin-left: 1rem; }

.accordion-menu.align-right .nested.is-accordion-submenu {
  margin-right: 1rem;
  margin-left: 0; }

.accordion-menu .is-accordion-submenu-parent:not(.has-submenu-toggle) > a {
  position: relative; }
  .accordion-menu .is-accordion-submenu-parent:not(.has-submenu-toggle) > a::after {
    display: block;
    width: 0;
    height: 0;
    border: inset 6px;
    content: '';
    border-bottom-width: 0;
    border-top-style: solid;
    border-color: #1779ba transparent transparent;
    position: absolute;
    top: 50%;
    margin-top: -3px;
    right: 1rem; }

.accordion-menu.align-left .is-accordion-submenu-parent > a::after {
  left: auto;
  right: 1rem; }

.accordion-menu.align-right .is-accordion-submenu-parent > a::after {
  right: auto;
  left: 1rem; }

.accordion-menu .is-accordion-submenu-parent[aria-expanded='true'] > a::after {
  transform: rotate(180deg);
  transform-origin: 50% 50%; }

.is-accordion-submenu-parent {
  position: relative; }

.has-submenu-toggle > a {
  margin-right: 40px; }

.submenu-toggle {
  position: absolute;
  top: 0;
  right: 0;
  cursor: pointer;
  width: 40px;
  height: 40px; }
  .submenu-toggle::after {
    display: block;
    width: 0;
    height: 0;
    border: inset 6px;
    content: '';
    border-bottom-width: 0;
    border-top-style: solid;
    border-color: #1779ba transparent transparent;
    top: 0;
    bottom: 0;
    margin: auto; }

.submenu-toggle[aria-expanded='true']::after {
  transform: scaleY(-1);
  transform-origin: 50% 50%; }

.submenu-toggle-text {
  position: absolute !important;
  width: 1px;
  height: 1px;
  padding: 0;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  clip-path: inset(50%);
  border: 0; }

.badge {
  display: inline-block;
  min-width: 2.1em;
  padding: 0.3em;
  border-radius: 50%;
  font-size: 0.6rem;
  text-align: center;
  background: #1779ba;
  color: #fefefe; }
  .badge.primary {
    background: #1779ba;
    color: #fefefe; }
  .badge.secondary {
    background: #767676;
    color: #fefefe; }
  .badge.success {
    background: #3adb76;
    color: #0a0a0a; }
  .badge.warning {
    background: #ffae00;
    color: #0a0a0a; }
  .badge.alert {
    background: #cc4b37;
    color: #fefefe; }

.breadcrumbs {
  margin: 0 0 1rem 0;
  list-style: none; }
  .breadcrumbs::before, .breadcrumbs::after {
    display: table;
    content: ' ';
    flex-basis: 0;
    order: 1; }
  .breadcrumbs::after {
    clear: both; }
  .breadcrumbs li {
    float: left;
    font-size: 0.61111rem;
    color: #0a0a0a;
    cursor: default;
    text-transform: uppercase; }
    .breadcrumbs li:not(:last-child)::after {
      position: relative;
      margin: 0 0.75rem;
      opacity: 1;
      content: "/";
      color: #cacaca; }
  .breadcrumbs a {
    color: #1779ba; }
    .breadcrumbs a:hover {
      text-decoration: underline; }
  .breadcrumbs .disabled {
    color: #cacaca;
    cursor: not-allowed; }

.button-group {
  margin-bottom: 1rem;
  display: flex;
  flex-wrap: nowrap;
  align-items: stretch; }
  .button-group::before, .button-group::after {
    display: table;
    content: ' ';
    flex-basis: 0;
    order: 1; }
  .button-group::after {
    clear: both; }
  .button-group .button {
    margin: 0;
    margin-right: 1px;
    margin-bottom: 1px;
    font-size: 0.9rem;
    flex: 0 0 auto; }
    .button-group .button:last-child {
      margin-right: 0; }
  .button-group.tiny .button {
    font-size: 0.6rem; }
  .button-group.small .button {
    font-size: 0.75rem; }
  .button-group.large .button {
    font-size: 1.25rem; }
  .button-group.expanded .button {
    flex: 1 1 0px; }
  .button-group.primary .button {
    background-color: #1779ba;
    color: #fefefe; }
    .button-group.primary .button:hover, .button-group.primary .button:focus {
      background-color: #126195;
      color: #fefefe; }
  .button-group.secondary .button {
    background-color: #767676;
    color: #fefefe; }
    .button-group.secondary .button:hover, .button-group.secondary .button:focus {
      background-color: #5e5e5e;
      color: #fefefe; }
  .button-group.success .button {
    background-color: #3adb76;
    color: #0a0a0a; }
    .button-group.success .button:hover, .button-group.success .button:focus {
      background-color: #22bb5b;
      color: #0a0a0a; }
  .button-group.warning .button {
    background-color: #ffae00;
    color: #0a0a0a; }
    .button-group.warning .button:hover, .button-group.warning .button:focus {
      background-color: #cc8b00;
      color: #0a0a0a; }
  .button-group.alert .button {
    background-color: #cc4b37;
    color: #fefefe; }
    .button-group.alert .button:hover, .button-group.alert .button:focus {
      background-color: #a53b2a;
      color: #fefefe; }
  .button-group.stacked, .button-group.stacked-for-small, .button-group.stacked-for-medium {
    flex-wrap: wrap; }
    .button-group.stacked .button, .button-group.stacked-for-small .button, .button-group.stacked-for-medium .button {
      flex: 0 0 100%; }
      .button-group.stacked .button:last-child, .button-group.stacked-for-small .button:last-child, .button-group.stacked-for-medium .button:last-child {
        margin-bottom: 0; }
  @media print, screen and (min-width: 48em) {
    .button-group.stacked-for-small .button {
      flex: 1 1 0px;
      margin-bottom: 0; } }
  @media print, screen and (min-width: 64em) {
    .button-group.stacked-for-medium .button {
      flex: 1 1 0px;
      margin-bottom: 0; } }
  @media screen and (max-width: 47.9375em) {
    .button-group.stacked-for-small.expanded {
      display: block; }
      .button-group.stacked-for-small.expanded .button {
        display: block;
        margin-right: 0; } }

.callout {
  position: relative;
  margin: 0 0 1rem 0;
  padding: 1rem;
  border: 1px solid rgba(10, 10, 10, 0.25);
  border-radius: 0;
  background-color: white;
  color: #525252; }
  .callout > :first-child {
    margin-top: 0; }
  .callout > :last-child {
    margin-bottom: 0; }
  .callout.primary {
    background-color: #d7ecfa;
    color: #525252; }
  .callout.secondary {
    background-color: #eaeaea;
    color: #525252; }
  .callout.success {
    background-color: #e1faea;
    color: #525252; }
  .callout.warning {
    background-color: #fff3d9;
    color: #525252; }
  .callout.alert {
    background-color: #f7e4e1;
    color: #525252; }
  .callout.small {
    padding-top: 0.5rem;
    padding-right: 0.5rem;
    padding-bottom: 0.5rem;
    padding-left: 0.5rem; }
  .callout.large {
    padding-top: 3rem;
    padding-right: 3rem;
    padding-bottom: 3rem;
    padding-left: 3rem; }

.card {
  display: flex;
  flex-direction: column;
  flex-grow: 1;
  margin-bottom: 1rem;
  border: 1px solid #e6e6e6;
  border-radius: 0;
  background: #fefefe;
  box-shadow: none;
  overflow: hidden;
  color: #525252; }
  .card > :last-child {
    margin-bottom: 0; }

.card-divider {
  flex: 0 1 auto;
  display: flex;
  padding: 1rem;
  background: #e6e6e6; }
  .card-divider > :last-child {
    margin-bottom: 0; }

.card-section {
  flex: 1 0 auto;
  padding: 1rem; }
  .card-section > :last-child {
    margin-bottom: 0; }

.card-image {
  min-height: 1px; }

.close-button {
  position: absolute;
  color: #8a8a8a;
  cursor: pointer; }
  [data-whatinput='mouse'] .close-button {
    outline: 0; }
  .close-button:hover, .close-button:focus {
    color: #0a0a0a; }
  .close-button.small {
    right: 0.66rem;
    top: 0.33em;
    font-size: 1.5em;
    line-height: 1; }
  .close-button, .close-button.medium {
    right: 1rem;
    top: 0.5rem;
    font-size: 2em;
    line-height: 1; }

.menu {
  padding: 0;
  margin: 0;
  list-style: none;
  position: relative;
  display: flex;
  flex-wrap: wrap; }
  [data-whatinput='mouse'] .menu li {
    outline: 0; }
  .menu a,
  .menu .button {
    line-height: 1;
    text-decoration: none;
    display: block;
    padding: 0.7rem 1rem; }
  .menu input,
  .menu select,
  .menu a,
  .menu button {
    margin-bottom: 0; }
  .menu input {
    display: inline-block; }
  .menu, .menu.horizontal {
    flex-wrap: wrap;
    flex-direction: row; }
  .menu.vertical {
    flex-wrap: nowrap;
    flex-direction: column; }
  .menu.expanded li {
    flex: 1 1 0px; }
  .menu.simple {
    align-items: center; }
    .menu.simple li + li {
      margin-left: 1rem; }
    .menu.simple a {
      padding: 0; }
  @media print, screen and (min-width: 48em) {
    .menu.medium-horizontal {
      flex-wrap: wrap;
      flex-direction: row; }
    .menu.medium-vertical {
      flex-wrap: nowrap;
      flex-direction: column; }
    .menu.medium-expanded li {
      flex: 1 1 0px; }
    .menu.medium-simple li {
      flex: 1 1 0px; } }
  @media print, screen and (min-width: 64em) {
    .menu.large-horizontal {
      flex-wrap: wrap;
      flex-direction: row; }
    .menu.large-vertical {
      flex-wrap: nowrap;
      flex-direction: column; }
    .menu.large-expanded li {
      flex: 1 1 0px; }
    .menu.large-simple li {
      flex: 1 1 0px; } }
  @media screen and (min-width: 75em) {
    .menu.xlarge-horizontal {
      flex-wrap: wrap;
      flex-direction: row; }
    .menu.xlarge-vertical {
      flex-wrap: nowrap;
      flex-direction: column; }
    .menu.xlarge-expanded li {
      flex: 1 1 0px; }
    .menu.xlarge-simple li {
      flex: 1 1 0px; } }
  @media screen and (min-width: 90em) {
    .menu.xxlarge-horizontal {
      flex-wrap: wrap;
      flex-direction: row; }
    .menu.xxlarge-vertical {
      flex-wrap: nowrap;
      flex-direction: column; }
    .menu.xxlarge-expanded li {
      flex: 1 1 0px; }
    .menu.xxlarge-simple li {
      flex: 1 1 0px; } }
  .menu.nested {
    margin-right: 0;
    margin-left: 1rem; }
  .menu.icons a {
    display: flex; }
  .menu.icon-top a, .menu.icon-right a, .menu.icon-bottom a, .menu.icon-left a {
    display: flex; }
  .menu.icon-left li a {
    flex-flow: row nowrap; }
    .menu.icon-left li a img,
    .menu.icon-left li a i,
    .menu.icon-left li a svg {
      margin-right: 0.25rem; }
  .menu.icon-right li a {
    flex-flow: row nowrap; }
    .menu.icon-right li a img,
    .menu.icon-right li a i,
    .menu.icon-right li a svg {
      margin-left: 0.25rem; }
  .menu.icon-top li a {
    flex-flow: column nowrap; }
    .menu.icon-top li a img,
    .menu.icon-top li a i,
    .menu.icon-top li a svg {
      align-self: stretch;
      margin-bottom: 0.25rem;
      text-align: center; }
  .menu.icon-bottom li a {
    flex-flow: column nowrap; }
    .menu.icon-bottom li a img,
    .menu.icon-bottom li a i,
    .menu.icon-bottom li a svg {
      align-self: stretch;
      margin-bottom: 0.25rem;
      text-align: center; }
  .menu .is-active > a {
    background: #1779ba;
    color: #fefefe; }
  .menu .active > a {
    background: #1779ba;
    color: #fefefe; }
  .menu.align-left {
    justify-content: flex-start; }
  .menu.align-right li {
    display: flex;
    justify-content: flex-end; }
    .menu.align-right li .submenu li {
      justify-content: flex-start; }
  .menu.align-right.vertical li {
    display: block;
    text-align: right; }
    .menu.align-right.vertical li .submenu li {
      text-align: right; }
  .menu.align-right .nested {
    margin-right: 1rem;
    margin-left: 0; }
  .menu.align-center li {
    display: flex;
    justify-content: center; }
    .menu.align-center li .submenu li {
      justify-content: flex-start; }
  .menu .menu-text {
    padding: 0.7rem 1rem;
    font-weight: bold;
    line-height: 1;
    color: inherit; }

.menu-centered > .menu {
  justify-content: center; }
  .menu-centered > .menu li {
    display: flex;
    justify-content: center; }
    .menu-centered > .menu li .submenu li {
      justify-content: flex-start; }

.no-js [data-responsive-menu] ul {
  display: none; }

.menu-icon {
  position: relative;
  display: inline-block;
  vertical-align: middle;
  width: 20px;
  height: 16px;
  cursor: pointer; }
  .menu-icon::after {
    position: absolute;
    top: 0;
    left: 0;
    display: block;
    width: 100%;
    height: 2px;
    background: #fefefe;
    box-shadow: 0 7px 0 #fefefe, 0 14px 0 #fefefe;
    content: ''; }
  .menu-icon:hover::after {
    background: #cacaca;
    box-shadow: 0 7px 0 #cacaca, 0 14px 0 #cacaca; }

.menu-icon.dark {
  position: relative;
  display: inline-block;
  vertical-align: middle;
  width: 20px;
  height: 16px;
  cursor: pointer; }
  .menu-icon.dark::after {
    position: absolute;
    top: 0;
    left: 0;
    display: block;
    width: 100%;
    height: 2px;
    background: #0a0a0a;
    box-shadow: 0 7px 0 #0a0a0a, 0 14px 0 #0a0a0a;
    content: ''; }
  .menu-icon.dark:hover::after {
    background: #8a8a8a;
    box-shadow: 0 7px 0 #8a8a8a, 0 14px 0 #8a8a8a; }

.is-drilldown {
  position: relative;
  overflow: hidden; }
  .is-drilldown li {
    display: block; }
  .is-drilldown.animate-height {
    transition: height 0.5s; }

.drilldown a {
  padding: 0.7rem 1rem;
  background: #fefefe; }

.drilldown .is-drilldown-submenu {
  position: absolute;
  top: 0;
  left: 100%;
  z-index: -1;
  width: 100%;
  background: #fefefe;
  transition: transform 0.15s linear; }
  .drilldown .is-drilldown-submenu.is-active {
    z-index: 1;
    display: block;
    transform: translateX(-100%); }
  .drilldown .is-drilldown-submenu.is-closing {
    transform: translateX(100%); }
  .drilldown .is-drilldown-submenu a {
    padding: 0.7rem 1rem; }

.drilldown .nested.is-drilldown-submenu {
  margin-right: 0;
  margin-left: 0; }

.drilldown .drilldown-submenu-cover-previous {
  min-height: 100%; }

.drilldown .is-drilldown-submenu-parent > a {
  position: relative; }
  .drilldown .is-drilldown-submenu-parent > a::after {
    position: absolute;
    top: 50%;
    margin-top: -6px;
    right: 1rem;
    display: block;
    width: 0;
    height: 0;
    border: inset 6px;
    content: '';
    border-right-width: 0;
    border-left-style: solid;
    border-color: transparent transparent transparent #1779ba; }

.drilldown.align-left .is-drilldown-submenu-parent > a::after {
  left: auto;
  right: 1rem;
  display: block;
  width: 0;
  height: 0;
  border: inset 6px;
  content: '';
  border-right-width: 0;
  border-left-style: solid;
  border-color: transparent transparent transparent #1779ba; }

.drilldown.align-right .is-drilldown-submenu-parent > a::after {
  right: auto;
  left: 1rem;
  display: block;
  width: 0;
  height: 0;
  border: inset 6px;
  content: '';
  border-left-width: 0;
  border-right-style: solid;
  border-color: transparent #1779ba transparent transparent; }

.drilldown .js-drilldown-back > a::before {
  display: block;
  width: 0;
  height: 0;
  border: inset 6px;
  content: '';
  border-left-width: 0;
  border-right-style: solid;
  border-color: transparent #1779ba transparent transparent;
  border-left-width: 0;
  display: inline-block;
  vertical-align: middle;
  margin-right: 0.75rem;
  border-left-width: 0; }

.dropdown-pane {
  position: absolute;
  z-index: 10;
  width: 300px;
  padding: 1rem;
  visibility: hidden;
  display: none;
  border: 1px solid #cacaca;
  border-radius: 0;
  background-color: #fefefe;
  font-size: 1rem; }
  .dropdown-pane.is-opening {
    display: block; }
  .dropdown-pane.is-open {
    visibility: visible;
    display: block; }

.dropdown-pane.tiny {
  width: 100px; }

.dropdown-pane.small {
  width: 200px; }

.dropdown-pane.large {
  width: 400px; }

.dropdown.menu > li.opens-left > .is-dropdown-submenu {
  top: 100%;
  right: 0;
  left: auto; }

.dropdown.menu > li.opens-right > .is-dropdown-submenu {
  top: 100%;
  right: auto;
  left: 0; }

.dropdown.menu a {
  padding: 0.7rem 1rem; }
  [data-whatinput='mouse'] .dropdown.menu a {
    outline: 0; }

.dropdown.menu .is-active > a {
  background: transparent;
  color: #1779ba; }

.no-js .dropdown.menu ul {
  display: none; }

.dropdown.menu .nested.is-dropdown-submenu {
  margin-right: 0;
  margin-left: 0; }

.dropdown.menu.vertical > li .is-dropdown-submenu {
  top: 0; }

.dropdown.menu.vertical > li.opens-left > .is-dropdown-submenu {
  right: 100%;
  left: auto;
  top: 0; }

.dropdown.menu.vertical > li.opens-right > .is-dropdown-submenu {
  right: auto;
  left: 100%; }

@media print, screen and (min-width: 48em) {
  .dropdown.menu.medium-horizontal > li.opens-left > .is-dropdown-submenu {
    top: 100%;
    right: 0;
    left: auto; }
  .dropdown.menu.medium-horizontal > li.opens-right > .is-dropdown-submenu {
    top: 100%;
    right: auto;
    left: 0; }
  .dropdown.menu.medium-vertical > li .is-dropdown-submenu {
    top: 0; }
  .dropdown.menu.medium-vertical > li.opens-left > .is-dropdown-submenu {
    right: 100%;
    left: auto;
    top: 0; }
  .dropdown.menu.medium-vertical > li.opens-right > .is-dropdown-submenu {
    right: auto;
    left: 100%; } }

@media print, screen and (min-width: 64em) {
  .dropdown.menu.large-horizontal > li.opens-left > .is-dropdown-submenu {
    top: 100%;
    right: 0;
    left: auto; }
  .dropdown.menu.large-horizontal > li.opens-right > .is-dropdown-submenu {
    top: 100%;
    right: auto;
    left: 0; }
  .dropdown.menu.large-vertical > li .is-dropdown-submenu {
    top: 0; }
  .dropdown.menu.large-vertical > li.opens-left > .is-dropdown-submenu {
    right: 100%;
    left: auto;
    top: 0; }
  .dropdown.menu.large-vertical > li.opens-right > .is-dropdown-submenu {
    right: auto;
    left: 100%; } }

@media screen and (min-width: 75em) {
  .dropdown.menu.xlarge-horizontal > li.opens-left > .is-dropdown-submenu {
    top: 100%;
    right: 0;
    left: auto; }
  .dropdown.menu.xlarge-horizontal > li.opens-right > .is-dropdown-submenu {
    top: 100%;
    right: auto;
    left: 0; }
  .dropdown.menu.xlarge-vertical > li .is-dropdown-submenu {
    top: 0; }
  .dropdown.menu.xlarge-vertical > li.opens-left > .is-dropdown-submenu {
    right: 100%;
    left: auto;
    top: 0; }
  .dropdown.menu.xlarge-vertical > li.opens-right > .is-dropdown-submenu {
    right: auto;
    left: 100%; } }

@media screen and (min-width: 90em) {
  .dropdown.menu.xxlarge-horizontal > li.opens-left > .is-dropdown-submenu {
    top: 100%;
    right: 0;
    left: auto; }
  .dropdown.menu.xxlarge-horizontal > li.opens-right > .is-dropdown-submenu {
    top: 100%;
    right: auto;
    left: 0; }
  .dropdown.menu.xxlarge-vertical > li .is-dropdown-submenu {
    top: 0; }
  .dropdown.menu.xxlarge-vertical > li.opens-left > .is-dropdown-submenu {
    right: 100%;
    left: auto;
    top: 0; }
  .dropdown.menu.xxlarge-vertical > li.opens-right > .is-dropdown-submenu {
    right: auto;
    left: 100%; } }

.dropdown.menu.align-right .is-dropdown-submenu.first-sub {
  top: 100%;
  right: 0;
  left: auto; }

.is-dropdown-menu.vertical {
  width: 100px; }
  .is-dropdown-menu.vertical.align-right {
    float: right; }

.is-dropdown-submenu-parent {
  position: relative; }
  .is-dropdown-submenu-parent a::after {
    position: absolute;
    top: 50%;
    right: 5px;
    left: auto;
    margin-top: -6px; }
  .is-dropdown-submenu-parent.opens-inner > .is-dropdown-submenu {
    top: 100%;
    left: auto; }
  .is-dropdown-submenu-parent.opens-left > .is-dropdown-submenu {
    right: 100%;
    left: auto; }
  .is-dropdown-submenu-parent.opens-right > .is-dropdown-submenu {
    right: auto;
    left: 100%; }

.is-dropdown-submenu {
  position: absolute;
  top: 0;
  left: 100%;
  z-index: 1;
  display: none;
  min-width: 200px;
  border: 1px solid #cacaca;
  background: #fefefe; }
  .dropdown .is-dropdown-submenu a {
    padding: 0.7rem 1rem; }
  .is-dropdown-submenu .is-dropdown-submenu {
    margin-top: -1px; }
  .is-dropdown-submenu > li {
    width: 100%; }
  .is-dropdown-submenu.js-dropdown-active {
    display: block; }

.responsive-embed,
.flex-video {
  position: relative;
  height: 0;
  margin-bottom: 0.88889rem;
  padding-bottom: 75%;
  overflow: hidden; }
  .responsive-embed iframe,
  .responsive-embed object,
  .responsive-embed embed,
  .responsive-embed video,
  .flex-video iframe,
  .flex-video object,
  .flex-video embed,
  .flex-video video {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%; }
  .responsive-embed.widescreen,
  .flex-video.widescreen {
    padding-bottom: 56.25%; }

.label {
  display: inline-block;
  padding: 0.33333rem 0.5rem;
  border-radius: 0;
  font-size: 0.8rem;
  line-height: 1;
  white-space: nowrap;
  cursor: default;
  background: #1779ba;
  color: #fefefe; }
  .label.primary {
    background: #1779ba;
    color: #fefefe; }
  .label.secondary {
    background: #767676;
    color: #fefefe; }
  .label.success {
    background: #3adb76;
    color: #0a0a0a; }
  .label.warning {
    background: #ffae00;
    color: #0a0a0a; }
  .label.alert {
    background: #cc4b37;
    color: #fefefe; }

.media-object {
  display: flex;
  margin-bottom: 1rem;
  flex-wrap: nowrap; }
  .media-object img {
    max-width: none; }
  @media screen and (max-width: 47.9375em) {
    .media-object.stack-for-small {
      flex-wrap: wrap; } }
  @media screen and (max-width: 47.9375em) {
    .media-object.stack-for-small .media-object-section {
      padding: 0;
      padding-bottom: 1rem;
      flex-basis: 100%;
      max-width: 100%; }
      .media-object.stack-for-small .media-object-section img {
        width: 100%; } }

.media-object-section {
  flex: 0 1 auto; }
  .media-object-section:first-child {
    padding-right: 1rem; }
  .media-object-section:last-child:not(:nth-child(2)) {
    padding-left: 1rem; }
  .media-object-section > :last-child {
    margin-bottom: 0; }
  .media-object-section.main-section {
    flex: 1 1 0px; }

.is-off-canvas-open {
  overflow: hidden; }

.js-off-canvas-overlay {
  position: absolute;
  top: 0;
  left: 0;
  z-index: 11;
  width: 100%;
  height: 100%;
  transition: opacity 0.5s ease, visibility 0.5s ease;
  background: rgba(10, 10, 10, 0.3);
  opacity: 0;
  visibility: hidden;
  overflow: hidden; }
  .js-off-canvas-overlay.is-visible {
    opacity: 1;
    visibility: visible; }
  .js-off-canvas-overlay.is-closable {
    cursor: pointer; }
  .js-off-canvas-overlay.is-overlay-absolute {
    position: absolute; }
  .js-off-canvas-overlay.is-overlay-fixed {
    position: fixed; }

.off-canvas-wrapper {
  position: relative;
  overflow: hidden; }

.off-canvas {
  position: fixed;
  z-index: 12;
  transition: transform 0.5s ease;
  backface-visibility: hidden;
  background: #98012e; }
  [data-whatinput='mouse'] .off-canvas {
    outline: 0; }
  .off-canvas.is-transition-push {
    z-index: 12; }
  .off-canvas.is-closed {
    visibility: hidden; }
  .off-canvas.is-transition-overlap {
    z-index: 13; }
    .off-canvas.is-transition-overlap.is-open {
      box-shadow: none; }
  .off-canvas.is-open {
    transform: translate(0, 0); }

.off-canvas-absolute {
  position: absolute;
  z-index: 12;
  transition: transform 0.5s ease;
  backface-visibility: hidden;
  background: #98012e; }
  [data-whatinput='mouse'] .off-canvas-absolute {
    outline: 0; }
  .off-canvas-absolute.is-transition-push {
    z-index: 12; }
  .off-canvas-absolute.is-closed {
    visibility: hidden; }
  .off-canvas-absolute.is-transition-overlap {
    z-index: 13; }
    .off-canvas-absolute.is-transition-overlap.is-open {
      box-shadow: none; }
  .off-canvas-absolute.is-open {
    transform: translate(0, 0); }

.position-left {
  top: 0;
  left: 0;
  height: 100%;
  overflow-y: auto;
  width: 286px;
  transform: translateX(-286px); }
  @media print, screen and (min-width: 48em) {
    .position-left {
      width: 571px;
      transform: translateX(-571px); } }
  @media print, screen and (min-width: 64em) {
    .position-left {
      width: 772px;
      transform: translateX(-772px); } }
  .off-canvas-content .off-canvas.position-left {
    transform: translateX(-286px); }
    @media print, screen and (min-width: 48em) {
      .off-canvas-content .off-canvas.position-left {
        transform: translateX(-571px); } }
    @media print, screen and (min-width: 64em) {
      .off-canvas-content .off-canvas.position-left {
        transform: translateX(-772px); } }
    .off-canvas-content .off-canvas.position-left.is-transition-overlap.is-open {
      transform: translate(0, 0); }
  .off-canvas-content.is-open-left.has-transition-push {
    transform: translateX(286px); }
    @media print, screen and (min-width: 48em) {
      .off-canvas-content.is-open-left.has-transition-push {
        transform: translateX(571px); } }
    @media print, screen and (min-width: 64em) {
      .off-canvas-content.is-open-left.has-transition-push {
        transform: translateX(772px); } }
  .position-left.is-transition-push {
    box-shadow: inset -13px 0 20px -13px rgba(10, 10, 10, 0.25); }

.position-right {
  top: 0;
  right: 0;
  height: 100%;
  overflow-y: auto;
  width: 286px;
  transform: translateX(286px); }
  @media print, screen and (min-width: 48em) {
    .position-right {
      width: 571px;
      transform: translateX(571px); } }
  @media print, screen and (min-width: 64em) {
    .position-right {
      width: 772px;
      transform: translateX(772px); } }
  .off-canvas-content .off-canvas.position-right {
    transform: translateX(286px); }
    @media print, screen and (min-width: 48em) {
      .off-canvas-content .off-canvas.position-right {
        transform: translateX(571px); } }
    @media print, screen and (min-width: 64em) {
      .off-canvas-content .off-canvas.position-right {
        transform: translateX(772px); } }
    .off-canvas-content .off-canvas.position-right.is-transition-overlap.is-open {
      transform: translate(0, 0); }
  .off-canvas-content.is-open-right.has-transition-push {
    transform: translateX(-286px); }
    @media print, screen and (min-width: 48em) {
      .off-canvas-content.is-open-right.has-transition-push {
        transform: translateX(-571px); } }
    @media print, screen and (min-width: 64em) {
      .off-canvas-content.is-open-right.has-transition-push {
        transform: translateX(-772px); } }
  .position-right.is-transition-push {
    box-shadow: inset 13px 0 20px -13px rgba(10, 10, 10, 0.25); }

.position-top {
  top: 0;
  left: 0;
  width: 100%;
  overflow-x: auto; }
  @media print, screen and (min-width: 48em) {
    .position-top {
      height: 600px;
      transform: translateY(-600px); } }
  @media print, screen and (min-width: 48em) {
    .off-canvas-content .off-canvas.position-top {
      transform: translateY(-600px); } }
  .off-canvas-content .off-canvas.position-top.is-transition-overlap.is-open {
    transform: translate(0, 0); }
  @media print, screen and (min-width: 48em) {
    .off-canvas-content.is-open-top.has-transition-push {
      transform: translateY(600px); } }
  .position-top.is-transition-push {
    box-shadow: inset 0 -13px 20px -13px rgba(10, 10, 10, 0.25); }

.position-bottom {
  bottom: 0;
  left: 0;
  width: 100%;
  overflow-x: auto; }
  @media print, screen and (min-width: 48em) {
    .position-bottom {
      height: 600px;
      transform: translateY(600px); } }
  @media print, screen and (min-width: 48em) {
    .off-canvas-content .off-canvas.position-bottom {
      transform: translateY(600px); } }
  .off-canvas-content .off-canvas.position-bottom.is-transition-overlap.is-open {
    transform: translate(0, 0); }
  @media print, screen and (min-width: 48em) {
    .off-canvas-content.is-open-bottom.has-transition-push {
      transform: translateY(-600px); } }
  .position-bottom.is-transition-push {
    box-shadow: inset 0 13px 20px -13px rgba(10, 10, 10, 0.25); }

.off-canvas-content {
  transform: none;
  transition: transform 0.5s ease;
  backface-visibility: hidden; }
  .off-canvas-content.has-transition-push {
    transform: translate(0, 0); }
  .off-canvas-content .off-canvas.is-open {
    transform: translate(0, 0); }

@media print, screen and (min-width: 48em) {
  .position-left.reveal-for-medium {
    transform: none;
    z-index: 12;
    transition: none;
    visibility: visible; }
    .position-left.reveal-for-medium .close-button {
      display: none; }
    .off-canvas-content .position-left.reveal-for-medium {
      transform: none; }
    .off-canvas-content.has-reveal-left {
      margin-left: 571px; }
    .position-left.reveal-for-medium ~ .off-canvas-content {
      margin-left: 571px; }
  .position-right.reveal-for-medium {
    transform: none;
    z-index: 12;
    transition: none;
    visibility: visible; }
    .position-right.reveal-for-medium .close-button {
      display: none; }
    .off-canvas-content .position-right.reveal-for-medium {
      transform: none; }
    .off-canvas-content.has-reveal-right {
      margin-right: 571px; }
    .position-right.reveal-for-medium ~ .off-canvas-content {
      margin-right: 571px; }
  .position-top.reveal-for-medium {
    transform: none;
    z-index: 12;
    transition: none;
    visibility: visible; }
    .position-top.reveal-for-medium .close-button {
      display: none; }
    .off-canvas-content .position-top.reveal-for-medium {
      transform: none; }
    .off-canvas-content.has-reveal-top {
      margin-top: 571px; }
    .position-top.reveal-for-medium ~ .off-canvas-content {
      margin-top: 571px; }
  .position-bottom.reveal-for-medium {
    transform: none;
    z-index: 12;
    transition: none;
    visibility: visible; }
    .position-bottom.reveal-for-medium .close-button {
      display: none; }
    .off-canvas-content .position-bottom.reveal-for-medium {
      transform: none; }
    .off-canvas-content.has-reveal-bottom {
      margin-bottom: 571px; }
    .position-bottom.reveal-for-medium ~ .off-canvas-content {
      margin-bottom: 571px; } }

@media print, screen and (min-width: 64em) {
  .position-left.reveal-for-large {
    transform: none;
    z-index: 12;
    transition: none;
    visibility: visible; }
    .position-left.reveal-for-large .close-button {
      display: none; }
    .off-canvas-content .position-left.reveal-for-large {
      transform: none; }
    .off-canvas-content.has-reveal-left {
      margin-left: 772px; }
    .position-left.reveal-for-large ~ .off-canvas-content {
      margin-left: 772px; }
  .position-right.reveal-for-large {
    transform: none;
    z-index: 12;
    transition: none;
    visibility: visible; }
    .position-right.reveal-for-large .close-button {
      display: none; }
    .off-canvas-content .position-right.reveal-for-large {
      transform: none; }
    .off-canvas-content.has-reveal-right {
      margin-right: 772px; }
    .position-right.reveal-for-large ~ .off-canvas-content {
      margin-right: 772px; }
  .position-top.reveal-for-large {
    transform: none;
    z-index: 12;
    transition: none;
    visibility: visible; }
    .position-top.reveal-for-large .close-button {
      display: none; }
    .off-canvas-content .position-top.reveal-for-large {
      transform: none; }
    .off-canvas-content.has-reveal-top {
      margin-top: 772px; }
    .position-top.reveal-for-large ~ .off-canvas-content {
      margin-top: 772px; }
  .position-bottom.reveal-for-large {
    transform: none;
    z-index: 12;
    transition: none;
    visibility: visible; }
    .position-bottom.reveal-for-large .close-button {
      display: none; }
    .off-canvas-content .position-bottom.reveal-for-large {
      transform: none; }
    .off-canvas-content.has-reveal-bottom {
      margin-bottom: 772px; }
    .position-bottom.reveal-for-large ~ .off-canvas-content {
      margin-bottom: 772px; } }

@media screen and (min-width: 75em) {
  .position-left.reveal-for-xlarge {
    transform: none;
    z-index: 12;
    transition: none;
    visibility: visible; }
    .position-left.reveal-for-xlarge .close-button {
      display: none; }
    .off-canvas-content .position-left.reveal-for-xlarge {
      transform: none; }
    .off-canvas-content.has-reveal-left {
      margin-left: 772px; }
    .position-left.reveal-for-xlarge ~ .off-canvas-content {
      margin-left: 772px; }
  .position-right.reveal-for-xlarge {
    transform: none;
    z-index: 12;
    transition: none;
    visibility: visible; }
    .position-right.reveal-for-xlarge .close-button {
      display: none; }
    .off-canvas-content .position-right.reveal-for-xlarge {
      transform: none; }
    .off-canvas-content.has-reveal-right {
      margin-right: 772px; }
    .position-right.reveal-for-xlarge ~ .off-canvas-content {
      margin-right: 772px; }
  .position-top.reveal-for-xlarge {
    transform: none;
    z-index: 12;
    transition: none;
    visibility: visible; }
    .position-top.reveal-for-xlarge .close-button {
      display: none; }
    .off-canvas-content .position-top.reveal-for-xlarge {
      transform: none; }
    .off-canvas-content.has-reveal-top {
      margin-top: 772px; }
    .position-top.reveal-for-xlarge ~ .off-canvas-content {
      margin-top: 772px; }
  .position-bottom.reveal-for-xlarge {
    transform: none;
    z-index: 12;
    transition: none;
    visibility: visible; }
    .position-bottom.reveal-for-xlarge .close-button {
      display: none; }
    .off-canvas-content .position-bottom.reveal-for-xlarge {
      transform: none; }
    .off-canvas-content.has-reveal-bottom {
      margin-bottom: 772px; }
    .position-bottom.reveal-for-xlarge ~ .off-canvas-content {
      margin-bottom: 772px; } }

@media screen and (min-width: 90em) {
  .position-left.reveal-for-xxlarge {
    transform: none;
    z-index: 12;
    transition: none;
    visibility: visible; }
    .position-left.reveal-for-xxlarge .close-button {
      display: none; }
    .off-canvas-content .position-left.reveal-for-xxlarge {
      transform: none; }
    .off-canvas-content.has-reveal-left {
      margin-left: 772px; }
    .position-left.reveal-for-xxlarge ~ .off-canvas-content {
      margin-left: 772px; }
  .position-right.reveal-for-xxlarge {
    transform: none;
    z-index: 12;
    transition: none;
    visibility: visible; }
    .position-right.reveal-for-xxlarge .close-button {
      display: none; }
    .off-canvas-content .position-right.reveal-for-xxlarge {
      transform: none; }
    .off-canvas-content.has-reveal-right {
      margin-right: 772px; }
    .position-right.reveal-for-xxlarge ~ .off-canvas-content {
      margin-right: 772px; }
  .position-top.reveal-for-xxlarge {
    transform: none;
    z-index: 12;
    transition: none;
    visibility: visible; }
    .position-top.reveal-for-xxlarge .close-button {
      display: none; }
    .off-canvas-content .position-top.reveal-for-xxlarge {
      transform: none; }
    .off-canvas-content.has-reveal-top {
      margin-top: 772px; }
    .position-top.reveal-for-xxlarge ~ .off-canvas-content {
      margin-top: 772px; }
  .position-bottom.reveal-for-xxlarge {
    transform: none;
    z-index: 12;
    transition: none;
    visibility: visible; }
    .position-bottom.reveal-for-xxlarge .close-button {
      display: none; }
    .off-canvas-content .position-bottom.reveal-for-xxlarge {
      transform: none; }
    .off-canvas-content.has-reveal-bottom {
      margin-bottom: 772px; }
    .position-bottom.reveal-for-xxlarge ~ .off-canvas-content {
      margin-bottom: 772px; } }

@media print, screen and (min-width: 48em) {
  .off-canvas.in-canvas-for-medium {
    visibility: visible;
    height: auto;
    position: static;
    background: inherit;
    width: inherit;
    overflow: inherit;
    transition: inherit; }
    .off-canvas.in-canvas-for-medium.position-left, .off-canvas.in-canvas-for-medium.position-right, .off-canvas.in-canvas-for-medium.position-top, .off-canvas.in-canvas-for-medium.position-bottom {
      box-shadow: none;
      transform: none; }
    .off-canvas.in-canvas-for-medium .close-button {
      display: none; } }

@media print, screen and (min-width: 64em) {
  .off-canvas.in-canvas-for-large {
    visibility: visible;
    height: auto;
    position: static;
    background: inherit;
    width: inherit;
    overflow: inherit;
    transition: inherit; }
    .off-canvas.in-canvas-for-large.position-left, .off-canvas.in-canvas-for-large.position-right, .off-canvas.in-canvas-for-large.position-top, .off-canvas.in-canvas-for-large.position-bottom {
      box-shadow: none;
      transform: none; }
    .off-canvas.in-canvas-for-large .close-button {
      display: none; } }

@media screen and (min-width: 75em) {
  .off-canvas.in-canvas-for-xlarge {
    visibility: visible;
    height: auto;
    position: static;
    background: inherit;
    width: inherit;
    overflow: inherit;
    transition: inherit; }
    .off-canvas.in-canvas-for-xlarge.position-left, .off-canvas.in-canvas-for-xlarge.position-right, .off-canvas.in-canvas-for-xlarge.position-top, .off-canvas.in-canvas-for-xlarge.position-bottom {
      box-shadow: none;
      transform: none; }
    .off-canvas.in-canvas-for-xlarge .close-button {
      display: none; } }

@media screen and (min-width: 90em) {
  .off-canvas.in-canvas-for-xxlarge {
    visibility: visible;
    height: auto;
    position: static;
    background: inherit;
    width: inherit;
    overflow: inherit;
    transition: inherit; }
    .off-canvas.in-canvas-for-xxlarge.position-left, .off-canvas.in-canvas-for-xxlarge.position-right, .off-canvas.in-canvas-for-xxlarge.position-top, .off-canvas.in-canvas-for-xxlarge.position-bottom {
      box-shadow: none;
      transform: none; }
    .off-canvas.in-canvas-for-xxlarge .close-button {
      display: none; } }

.orbit {
  position: relative; }

.orbit-container {
  position: relative;
  height: 0;
  margin: 0;
  list-style: none;
  overflow: hidden; }

.orbit-slide {
  width: 100%; }
  .orbit-slide.no-motionui.is-active {
    top: 0;
    left: 0; }

.orbit-figure {
  margin: 0; }

.orbit-image {
  width: 100%;
  max-width: 100%;
  margin: 0; }

.orbit-caption {
  position: absolute;
  bottom: 0;
  width: 100%;
  margin-bottom: 0;
  padding: 11px 11px 35px;
  background-color: rgba(10, 10, 10, 0.65);
  color: #fefefe; }

.orbit-previous, .orbit-next {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  z-index: 10;
  padding: 10px 0px;
  color: #fefefe; }
  [data-whatinput='mouse'] .orbit-previous, [data-whatinput='mouse'] .orbit-next {
    outline: 0; }
  .orbit-previous:hover, .orbit-next:hover, .orbit-previous:active, .orbit-next:active, .orbit-previous:focus, .orbit-next:focus {
    background-color: rgba(10, 10, 10, 0.5); }

.orbit-previous {
  left: 0; }

.orbit-next {
  left: auto;
  right: 0; }

.orbit-bullets {
  position: relative;
  margin-top: 0.8rem;
  margin-bottom: 0.8rem;
  text-align: center; }
  [data-whatinput='mouse'] .orbit-bullets {
    outline: 0; }
  .orbit-bullets button {
    width: 13px;
    height: 13px;
    margin: 0.1rem;
    border-radius: 50%;
    background-color: transparent; }
    .orbit-bullets button:hover {
      background-color: #98012e; }
    .orbit-bullets button.is-active {
      background-color: #98012e; }

.pagination {
  margin-left: 0;
  margin-bottom: 1rem; }
  .pagination::before, .pagination::after {
    display: table;
    content: ' ';
    flex-basis: 0;
    order: 1; }
  .pagination::after {
    clear: both; }
  .pagination li {
    margin-right: 0.55556rem;
    border-radius: 0;
    font-size: 1rem;
    display: none; }
    .pagination li:last-child, .pagination li:first-child {
      display: inline-block; }
    .pagination li.current {
      display: inline-block; }
    @media print, screen and (min-width: 48em) {
      .pagination li {
        display: inline-block; } }
  .pagination a,
  .pagination button {
    display: block;
    padding: 0.16667rem 0.33333rem;
    border-radius: 0;
    color: #0a0a0a; }
    .pagination a:hover,
    .pagination button:hover {
      background: transparent; }
  .pagination .current {
    padding: 0.16667rem 0.33333rem;
    background: transparent;
    color: #98012e;
    cursor: default; }
  .pagination .disabled {
    padding: 0.16667rem 0.33333rem;
    color: #ecf0f3;
    cursor: not-allowed; }
    .pagination .disabled:hover {
      background: transparent; }
  .pagination .ellipsis::after {
    padding: 0.16667rem 0.33333rem;
    content: '\2026';
    color: #18161f; }

.progress {
  height: 1rem;
  margin-bottom: 1rem;
  border-radius: 0;
  background-color: #cacaca; }
  .progress.primary .progress-meter {
    background-color: #1779ba; }
  .progress.secondary .progress-meter {
    background-color: #767676; }
  .progress.success .progress-meter {
    background-color: #3adb76; }
  .progress.warning .progress-meter {
    background-color: #ffae00; }
  .progress.alert .progress-meter {
    background-color: #cc4b37; }

.progress-meter {
  position: relative;
  display: block;
  width: 0%;
  height: 100%;
  background-color: #1779ba; }

.progress-meter-text {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  position: absolute;
  margin: 0;
  font-size: 0.75rem;
  font-weight: bold;
  color: #fefefe;
  white-space: nowrap; }

.slider {
  position: relative;
  height: 0.5rem;
  margin-top: 1.25rem;
  margin-bottom: 2.25rem;
  background-color: #e6e6e6;
  cursor: pointer;
  user-select: none;
  touch-action: none; }

.slider-fill {
  position: absolute;
  top: 0;
  left: 0;
  display: inline-block;
  max-width: 100%;
  height: 0.5rem;
  background-color: #cacaca;
  transition: all 0.2s ease-in-out; }
  .slider-fill.is-dragging {
    transition: all 0s linear; }

.slider-handle {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  left: 0;
  z-index: 1;
  display: inline-block;
  width: 1.4rem;
  height: 1.4rem;
  border-radius: 0;
  background-color: #1779ba;
  transition: all 0.2s ease-in-out;
  touch-action: manipulation; }
  [data-whatinput='mouse'] .slider-handle {
    outline: 0; }
  .slider-handle:hover {
    background-color: #14679e; }
  .slider-handle.is-dragging {
    transition: all 0s linear; }

.slider.disabled,
.slider[disabled] {
  opacity: 0.25;
  cursor: not-allowed; }

.slider.vertical {
  display: inline-block;
  width: 0.5rem;
  height: 12.5rem;
  margin: 0 1.25rem;
  transform: scale(1, -1); }
  .slider.vertical .slider-fill {
    top: 0;
    width: 0.5rem;
    max-height: 100%; }
  .slider.vertical .slider-handle {
    position: absolute;
    top: 0;
    left: 50%;
    width: 1.4rem;
    height: 1.4rem;
    transform: translateX(-50%); }

.sticky-container {
  position: relative; }

.sticky {
  position: relative;
  z-index: 0;
  transform: translate3d(0, 0, 0); }

.sticky.is-stuck {
  position: fixed;
  z-index: 5;
  width: 100%; }
  .sticky.is-stuck.is-at-top {
    top: 0; }
  .sticky.is-stuck.is-at-bottom {
    bottom: 0; }

.sticky.is-anchored {
  position: relative;
  right: auto;
  left: auto; }
  .sticky.is-anchored.is-at-bottom {
    bottom: 0; }

body.is-reveal-open {
  overflow: hidden; }

html.is-reveal-open,
html.is-reveal-open body {
  min-height: 100%;
  overflow: hidden;
  position: fixed;
  user-select: none; }

.reveal-overlay {
  position: fixed;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  z-index: 1005;
  display: none;
  background-color: rgba(10, 10, 10, 0.8);
  overflow-y: scroll; }

.reveal {
  z-index: 1006;
  backface-visibility: hidden;
  display: none;
  padding: 1rem;
  border: 1px solid #cacaca;
  border-radius: 0;
  background-color: #fefefe;
  position: relative;
  top: 100px;
  margin-right: auto;
  margin-left: auto;
  overflow-y: auto; }
  [data-whatinput='mouse'] .reveal {
    outline: 0; }
  @media print, screen and (min-width: 48em) {
    .reveal {
      min-height: 0; } }
  .reveal .column, .reveal .columns {
    min-width: 0; }
  .reveal > :last-child {
    margin-bottom: 0; }
  @media print, screen and (min-width: 48em) {
    .reveal {
      width: 600px;
      max-width: 66.66667rem; } }
  .reveal.collapse {
    padding: 0; }
  @media print, screen and (min-width: 48em) {
    .reveal.tiny {
      width: 30%;
      max-width: 66.66667rem; } }
  @media print, screen and (min-width: 48em) {
    .reveal.small {
      width: 50%;
      max-width: 66.66667rem; } }
  @media print, screen and (min-width: 48em) {
    .reveal.large {
      width: 90%;
      max-width: 66.66667rem; } }
  .reveal.full {
    top: 0;
    left: 0;
    width: 100%;
    max-width: none;
    height: 100%;
    height: 100vh;
    min-height: 100vh;
    margin-left: 0;
    border: 0;
    border-radius: 0; }
  @media screen and (max-width: 47.9375em) {
    .reveal {
      top: 0;
      left: 0;
      width: 100%;
      max-width: none;
      height: 100%;
      height: 100vh;
      min-height: 100vh;
      margin-left: 0;
      border: 0;
      border-radius: 0; } }
  .reveal.without-overlay {
    position: fixed; }

.switch {
  height: 2rem;
  position: relative;
  margin-bottom: 1rem;
  outline: 0;
  font-size: 0.77778rem;
  font-weight: bold;
  color: #fefefe;
  user-select: none; }

.switch-input {
  position: absolute;
  margin-bottom: 0;
  opacity: 0; }

.switch-paddle {
  position: relative;
  display: block;
  width: 4rem;
  height: 2rem;
  border-radius: 0;
  background: #cacaca;
  transition: all 0.25s ease-out;
  font-weight: inherit;
  color: inherit;
  cursor: pointer; }
  input + .switch-paddle {
    margin: 0; }
  .switch-paddle::after {
    position: absolute;
    top: 0.25rem;
    left: 0.25rem;
    display: block;
    width: 1.5rem;
    height: 1.5rem;
    transform: translate3d(0, 0, 0);
    border-radius: 0;
    background: #fefefe;
    transition: all 0.25s ease-out;
    content: ''; }
  input:checked ~ .switch-paddle {
    background: #1779ba; }
    input:checked ~ .switch-paddle::after {
      left: 2.25rem; }
  [data-whatinput='mouse'] input:focus ~ .switch-paddle {
    outline: 0; }

.switch-active, .switch-inactive {
  position: absolute;
  top: 50%;
  transform: translateY(-50%); }

.switch-active {
  left: 8%;
  display: none; }
  input:checked + label > .switch-active {
    display: block; }

.switch-inactive {
  right: 15%; }
  input:checked + label > .switch-inactive {
    display: none; }

.switch.tiny {
  height: 1.5rem; }
  .switch.tiny .switch-paddle {
    width: 3rem;
    height: 1.5rem;
    font-size: 0.55556rem; }
  .switch.tiny .switch-paddle::after {
    top: 0.25rem;
    left: 0.25rem;
    width: 1rem;
    height: 1rem; }
  .switch.tiny input:checked ~ .switch-paddle::after {
    left: 1.75rem; }

.switch.small {
  height: 1.75rem; }
  .switch.small .switch-paddle {
    width: 3.5rem;
    height: 1.75rem;
    font-size: 0.66667rem; }
  .switch.small .switch-paddle::after {
    top: 0.25rem;
    left: 0.25rem;
    width: 1.25rem;
    height: 1.25rem; }
  .switch.small input:checked ~ .switch-paddle::after {
    left: 2rem; }

.switch.large {
  height: 2.5rem; }
  .switch.large .switch-paddle {
    width: 5rem;
    height: 2.5rem;
    font-size: 0.88889rem; }
  .switch.large .switch-paddle::after {
    top: 0.25rem;
    left: 0.25rem;
    width: 2rem;
    height: 2rem; }
  .switch.large input:checked ~ .switch-paddle::after {
    left: 2.75rem; }

table {
  border-collapse: collapse;
  width: 100%;
  margin-bottom: 1rem;
  border-radius: 0; }
  thead, tbody, tfoot {
    border: 0 none;
    background-color: #fefefe; }
  caption {
    padding: 0.83333rem 1.11111rem 0.83333rem;
    font-weight: bold; }
  thead {
    background: #81796f;
    color: #fefefe; }
  tfoot {
    background: #f1f1f1;
    color: #525252; }
  thead tr, tfoot tr {
    background: transparent; }
  thead th, thead td, tfoot th, tfoot td {
    padding: 0.83333rem 1.11111rem 0.83333rem;
    font-weight: bold;
    text-align: left; }
  tbody th, tbody td {
    padding: 0.83333rem 1.11111rem 0.83333rem; }
  tbody tr:nth-child(even) {
    border-bottom: 0;
    background-color: #f9f9f9; }
  table.unstriped tbody {
    background-color: #fefefe; }
    table.unstriped tbody tr {
      border-bottom: 0;
      border-bottom: 0 none;
      background-color: #fefefe; }

@media screen and (max-width: 63.9375em) {
  table.stack thead {
    display: none; }
  table.stack tfoot {
    display: none; }
  table.stack tr,
  table.stack th,
  table.stack td {
    display: block; }
  table.stack td {
    border-top: 0; } }

table.scroll {
  display: block;
  width: 100%;
  overflow-x: auto; }

table.hover thead tr:hover {
  background-color: #7c746a; }

table.hover tfoot tr:hover {
  background-color: #ececec; }

table.hover tbody tr:hover {
  background-color: #f9f9f9; }

table.hover:not(.unstriped) tr:nth-of-type(even):hover {
  background-color: #ececec; }

.table-scroll {
  overflow-x: auto; }
  .table-scroll table {
    width: auto; }

.tabs {
  margin: 0;
  border: 1px solid #e6e6e6;
  background: #fefefe;
  list-style-type: none; }
  .tabs::before, .tabs::after {
    display: table;
    content: ' ';
    flex-basis: 0;
    order: 1; }
  .tabs::after {
    clear: both; }

.tabs.vertical > li {
  display: block;
  float: none;
  width: auto; }

.tabs.simple > li > a {
  padding: 0; }
  .tabs.simple > li > a:hover {
    background: transparent; }

.tabs.primary {
  background: #1779ba; }
  .tabs.primary > li > a {
    color: #fefefe; }
    .tabs.primary > li > a:hover, .tabs.primary > li > a:focus {
      background: #1673b1; }

.tabs-title {
  float: left; }
  .tabs-title > a {
    display: block;
    padding: 1.25rem 1.5rem;
    font-size: 0.66667rem;
    line-height: 1;
    color: #1779ba; }
    .tabs-title > a:hover {
      background: #fefefe;
      color: #1468a0; }
    .tabs-title > a:focus, .tabs-title > a[aria-selected='true'] {
      background: #e6e6e6;
      color: #1779ba; }

.tabs-content {
  border: 1px solid #e6e6e6;
  border-top: 0;
  background: #fefefe;
  color: #525252;
  transition: all 0.5s ease; }

.tabs-content.vertical {
  border: 1px solid #e6e6e6;
  border-left: 0; }

.tabs-panel {
  display: none;
  padding: 40 52px; }
  .tabs-panel.is-active {
    display: block; }

.thumbnail {
  display: inline-block;
  max-width: 100%;
  margin-bottom: 1rem;
  border: solid 4px #fefefe;
  border-radius: 0;
  box-shadow: 0 0 0 1px rgba(10, 10, 10, 0.2);
  line-height: 0; }

a.thumbnail {
  transition: box-shadow 200ms ease-out; }
  a.thumbnail:hover, a.thumbnail:focus {
    box-shadow: 0 0 6px 1px rgba(23, 121, 186, 0.5); }
  a.thumbnail image {
    box-shadow: none; }

.title-bar {
  padding: 0.5rem;
  background: #0a0a0a;
  color: #fefefe;
  display: flex;
  justify-content: flex-start;
  align-items: center; }
  .title-bar .menu-icon {
    margin-left: 0.25rem;
    margin-right: 0.25rem; }

.title-bar-left,
.title-bar-right {
  flex: 1 1 0px; }

.title-bar-right {
  text-align: right; }

.title-bar-title {
  display: inline-block;
  vertical-align: middle;
  font-weight: bold; }

.has-tip {
  position: relative;
  display: inline-block;
  border-bottom: dotted 1px #8a8a8a;
  font-weight: bold;
  cursor: help; }

.tooltip {
  position: absolute;
  top: calc(100% + 0.6495rem);
  z-index: 1200;
  max-width: 10rem;
  padding: 0.75rem;
  border-radius: 0;
  background-color: #0a0a0a;
  font-size: 80%;
  color: #fefefe; }
  .tooltip::before {
    position: absolute; }
  .tooltip.bottom::before {
    display: block;
    width: 0;
    height: 0;
    border: inset 0.75rem;
    content: '';
    border-top-width: 0;
    border-bottom-style: solid;
    border-color: transparent transparent #0a0a0a;
    bottom: 100%; }
  .tooltip.bottom.align-center::before {
    left: 50%;
    transform: translateX(-50%); }
  .tooltip.top::before {
    display: block;
    width: 0;
    height: 0;
    border: inset 0.75rem;
    content: '';
    border-bottom-width: 0;
    border-top-style: solid;
    border-color: #0a0a0a transparent transparent;
    top: 100%;
    bottom: auto; }
  .tooltip.top.align-center::before {
    left: 50%;
    transform: translateX(-50%); }
  .tooltip.left::before {
    display: block;
    width: 0;
    height: 0;
    border: inset 0.75rem;
    content: '';
    border-right-width: 0;
    border-left-style: solid;
    border-color: transparent transparent transparent #0a0a0a;
    left: 100%; }
  .tooltip.left.align-center::before {
    bottom: auto;
    top: 50%;
    transform: translateY(-50%); }
  .tooltip.right::before {
    display: block;
    width: 0;
    height: 0;
    border: inset 0.75rem;
    content: '';
    border-left-width: 0;
    border-right-style: solid;
    border-color: transparent #0a0a0a transparent transparent;
    right: 100%;
    left: auto; }
  .tooltip.right.align-center::before {
    bottom: auto;
    top: 50%;
    transform: translateY(-50%); }
  .tooltip.align-top::before {
    bottom: auto;
    top: 10%; }
  .tooltip.align-bottom::before {
    bottom: 10%;
    top: auto; }
  .tooltip.align-left::before {
    left: 10%;
    right: auto; }
  .tooltip.align-right::before {
    left: auto;
    right: 10%; }

.top-bar {
  display: flex;
  flex-wrap: nowrap;
  justify-content: space-between;
  align-items: center;
  padding: 0;
  flex-wrap: wrap; }
  .top-bar,
  .top-bar ul {
    background-color: #fefefe; }
  .top-bar input {
    max-width: 200px;
    margin-right: 1rem; }
  .top-bar .input-group-field {
    width: 100%;
    margin-right: 0; }
  .top-bar input.button {
    width: auto; }
  .top-bar .top-bar-left,
  .top-bar .top-bar-right {
    flex: 0 0 100%;
    max-width: 100%; }
  @media print, screen and (min-width: 48em) {
    .top-bar {
      flex-wrap: nowrap; }
      .top-bar .top-bar-left {
        flex: 1 1 auto;
        margin-right: auto; }
      .top-bar .top-bar-right {
        flex: 0 1 auto;
        margin-left: auto; } }
  @media screen and (max-width: 63.9375em) {
    .top-bar.stacked-for-medium {
      flex-wrap: wrap; }
      .top-bar.stacked-for-medium .top-bar-left,
      .top-bar.stacked-for-medium .top-bar-right {
        flex: 0 0 100%;
        max-width: 100%; } }
  @media screen and (max-width: 74.9375em) {
    .top-bar.stacked-for-large {
      flex-wrap: wrap; }
      .top-bar.stacked-for-large .top-bar-left,
      .top-bar.stacked-for-large .top-bar-right {
        flex: 0 0 100%;
        max-width: 100%; } }
  @media screen and (max-width: 89.9375em) {
    .top-bar.stacked-for-xlarge {
      flex-wrap: wrap; }
      .top-bar.stacked-for-xlarge .top-bar-left,
      .top-bar.stacked-for-xlarge .top-bar-right {
        flex: 0 0 100%;
        max-width: 100%; } }
  @media screen and (max-width: 118.6875em) {
    .top-bar.stacked-for-xxlarge {
      flex-wrap: wrap; }
      .top-bar.stacked-for-xxlarge .top-bar-left,
      .top-bar.stacked-for-xxlarge .top-bar-right {
        flex: 0 0 100%;
        max-width: 100%; } }

.top-bar-title {
  flex: 0 0 auto;
  margin: 0.5rem 1rem 0.5rem 0; }

.top-bar-left,
.top-bar-right {
  flex: 0 0 auto; }

.hide {
  display: none !important; }

.invisible {
  visibility: hidden; }

@media screen and (max-width: 47.9375em) {
  .hide-for-small-only {
    display: none !important; } }

@media screen and (max-width: 0em), screen and (min-width: 48em) {
  .show-for-small-only {
    display: none !important; } }

@media print, screen and (min-width: 48em) {
  .hide-for-medium {
    display: none !important; } }

@media screen and (max-width: 47.9375em) {
  .show-for-medium {
    display: none !important; } }

@media screen and (min-width: 48em) and (max-width: 63.9375em) {
  .hide-for-medium-only {
    display: none !important; } }

@media screen and (max-width: 47.9375em), screen and (min-width: 64em) {
  .show-for-medium-only {
    display: none !important; } }

@media print, screen and (min-width: 64em) {
  .hide-for-large {
    display: none !important; } }

@media screen and (max-width: 63.9375em) {
  .show-for-large {
    display: none !important; } }

@media screen and (min-width: 64em) and (max-width: 74.9375em) {
  .hide-for-large-only {
    display: none !important; } }

@media screen and (max-width: 63.9375em), screen and (min-width: 75em) {
  .show-for-large-only {
    display: none !important; } }

@media screen and (min-width: 75em) {
  .hide-for-xlarge {
    display: none !important; } }

@media screen and (max-width: 74.9375em) {
  .show-for-xlarge {
    display: none !important; } }

@media screen and (min-width: 75em) and (max-width: 89.9375em) {
  .hide-for-xlarge-only {
    display: none !important; } }

@media screen and (max-width: 74.9375em), screen and (min-width: 90em) {
  .show-for-xlarge-only {
    display: none !important; } }

@media screen and (min-width: 90em) {
  .hide-for-xxlarge {
    display: none !important; } }

@media screen and (max-width: 89.9375em) {
  .show-for-xxlarge {
    display: none !important; } }

@media screen and (min-width: 90em) and (max-width: 118.6875em) {
  .hide-for-xxlarge-only {
    display: none !important; } }

@media screen and (max-width: 89.9375em), screen and (min-width: 118.75em) {
  .show-for-xxlarge-only {
    display: none !important; } }

.show-for-sr,
.show-on-focus {
  position: absolute !important;
  width: 1px;
  height: 1px;
  padding: 0;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  clip-path: inset(50%);
  border: 0; }

.show-on-focus:active, .show-on-focus:focus {
  position: static !important;
  width: auto;
  height: auto;
  overflow: visible;
  clip: auto;
  white-space: normal;
  clip-path: none; }

.show-for-landscape,
.hide-for-portrait {
  display: block !important; }
  @media screen and (orientation: landscape) {
    .show-for-landscape,
    .hide-for-portrait {
      display: block !important; } }
  @media screen and (orientation: portrait) {
    .show-for-landscape,
    .hide-for-portrait {
      display: none !important; } }

.hide-for-landscape,
.show-for-portrait {
  display: none !important; }
  @media screen and (orientation: landscape) {
    .hide-for-landscape,
    .show-for-portrait {
      display: none !important; } }
  @media screen and (orientation: portrait) {
    .hide-for-landscape,
    .show-for-portrait {
      display: block !important; } }

.float-left {
  float: left !important; }

.float-right {
  float: right !important; }

.float-center {
  display: block;
  margin-right: auto;
  margin-left: auto; }

.clearfix::before, .clearfix::after {
  display: table;
  content: ' ';
  flex-basis: 0;
  order: 1; }

.clearfix::after {
  clear: both; }

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

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

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

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

.align-right.vertical.menu > li > a {
  justify-content: flex-end; }

.align-center.vertical.menu > li > a {
  justify-content: center; }

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

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

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

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

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

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

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

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

.align-center-middle {
  justify-content: center;
  align-items: center;
  align-content: center; }

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

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

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

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

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

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

@media print, screen and (min-width: 48em) {
  .medium-order-1 {
    order: 1; }
  .medium-order-2 {
    order: 2; }
  .medium-order-3 {
    order: 3; }
  .medium-order-4 {
    order: 4; }
  .medium-order-5 {
    order: 5; }
  .medium-order-6 {
    order: 6; } }

@media print, screen and (min-width: 64em) {
  .large-order-1 {
    order: 1; }
  .large-order-2 {
    order: 2; }
  .large-order-3 {
    order: 3; }
  .large-order-4 {
    order: 4; }
  .large-order-5 {
    order: 5; }
  .large-order-6 {
    order: 6; } }

@media screen and (min-width: 75em) {
  .xlarge-order-1 {
    order: 1; }
  .xlarge-order-2 {
    order: 2; }
  .xlarge-order-3 {
    order: 3; }
  .xlarge-order-4 {
    order: 4; }
  .xlarge-order-5 {
    order: 5; }
  .xlarge-order-6 {
    order: 6; } }

@media screen and (min-width: 90em) {
  .xxlarge-order-1 {
    order: 1; }
  .xxlarge-order-2 {
    order: 2; }
  .xxlarge-order-3 {
    order: 3; }
  .xxlarge-order-4 {
    order: 4; }
  .xxlarge-order-5 {
    order: 5; }
  .xxlarge-order-6 {
    order: 6; } }

.flex-container {
  display: flex; }

.flex-child-auto {
  flex: 1 1 auto; }

.flex-child-grow {
  flex: 1 0 auto; }

.flex-child-shrink {
  flex: 0 1 auto; }

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

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

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

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

@media print, screen and (min-width: 48em) {
  .medium-flex-container {
    display: flex; }
  .medium-flex-child-auto {
    flex: 1 1 auto; }
  .medium-flex-child-grow {
    flex: 1 0 auto; }
  .medium-flex-child-shrink {
    flex: 0 1 auto; }
  .medium-flex-dir-row {
    flex-direction: row; }
  .medium-flex-dir-row-reverse {
    flex-direction: row-reverse; }
  .medium-flex-dir-column {
    flex-direction: column; }
  .medium-flex-dir-column-reverse {
    flex-direction: column-reverse; } }

@media print, screen and (min-width: 64em) {
  .large-flex-container {
    display: flex; }
  .large-flex-child-auto {
    flex: 1 1 auto; }
  .large-flex-child-grow {
    flex: 1 0 auto; }
  .large-flex-child-shrink {
    flex: 0 1 auto; }
  .large-flex-dir-row {
    flex-direction: row; }
  .large-flex-dir-row-reverse {
    flex-direction: row-reverse; }
  .large-flex-dir-column {
    flex-direction: column; }
  .large-flex-dir-column-reverse {
    flex-direction: column-reverse; } }

@media screen and (min-width: 75em) {
  .xlarge-flex-container {
    display: flex; }
  .xlarge-flex-child-auto {
    flex: 1 1 auto; }
  .xlarge-flex-child-grow {
    flex: 1 0 auto; }
  .xlarge-flex-child-shrink {
    flex: 0 1 auto; }
  .xlarge-flex-dir-row {
    flex-direction: row; }
  .xlarge-flex-dir-row-reverse {
    flex-direction: row-reverse; }
  .xlarge-flex-dir-column {
    flex-direction: column; }
  .xlarge-flex-dir-column-reverse {
    flex-direction: column-reverse; } }

@media screen and (min-width: 90em) {
  .xxlarge-flex-container {
    display: flex; }
  .xxlarge-flex-child-auto {
    flex: 1 1 auto; }
  .xxlarge-flex-child-grow {
    flex: 1 0 auto; }
  .xxlarge-flex-child-shrink {
    flex: 0 1 auto; }
  .xxlarge-flex-dir-row {
    flex-direction: row; }
  .xxlarge-flex-dir-row-reverse {
    flex-direction: row-reverse; }
  .xxlarge-flex-dir-column {
    flex-direction: column; }
  .xxlarge-flex-dir-column-reverse {
    flex-direction: column-reverse; } }

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

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

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

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

.align-right.vertical.menu > li > a {
  justify-content: flex-end; }

.align-center.vertical.menu > li > a {
  justify-content: center; }

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

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

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

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

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

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

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

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

.align-center-middle {
  justify-content: center;
  align-items: center;
  align-content: center; }

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

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

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

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

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

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

@media print, screen and (min-width: 48em) {
  .medium-order-1 {
    order: 1; }
  .medium-order-2 {
    order: 2; }
  .medium-order-3 {
    order: 3; }
  .medium-order-4 {
    order: 4; }
  .medium-order-5 {
    order: 5; }
  .medium-order-6 {
    order: 6; } }

@media print, screen and (min-width: 64em) {
  .large-order-1 {
    order: 1; }
  .large-order-2 {
    order: 2; }
  .large-order-3 {
    order: 3; }
  .large-order-4 {
    order: 4; }
  .large-order-5 {
    order: 5; }
  .large-order-6 {
    order: 6; } }

@media screen and (min-width: 75em) {
  .xlarge-order-1 {
    order: 1; }
  .xlarge-order-2 {
    order: 2; }
  .xlarge-order-3 {
    order: 3; }
  .xlarge-order-4 {
    order: 4; }
  .xlarge-order-5 {
    order: 5; }
  .xlarge-order-6 {
    order: 6; } }

@media screen and (min-width: 90em) {
  .xxlarge-order-1 {
    order: 1; }
  .xxlarge-order-2 {
    order: 2; }
  .xxlarge-order-3 {
    order: 3; }
  .xxlarge-order-4 {
    order: 4; }
  .xxlarge-order-5 {
    order: 5; }
  .xxlarge-order-6 {
    order: 6; } }

.flex-container {
  display: flex; }

.flex-child-auto {
  flex: 1 1 auto; }

.flex-child-grow {
  flex: 1 0 auto; }

.flex-child-shrink {
  flex: 0 1 auto; }

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

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

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

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

@media print, screen and (min-width: 48em) {
  .medium-flex-container {
    display: flex; }
  .medium-flex-child-auto {
    flex: 1 1 auto; }
  .medium-flex-child-grow {
    flex: 1 0 auto; }
  .medium-flex-child-shrink {
    flex: 0 1 auto; }
  .medium-flex-dir-row {
    flex-direction: row; }
  .medium-flex-dir-row-reverse {
    flex-direction: row-reverse; }
  .medium-flex-dir-column {
    flex-direction: column; }
  .medium-flex-dir-column-reverse {
    flex-direction: column-reverse; } }

@media print, screen and (min-width: 64em) {
  .large-flex-container {
    display: flex; }
  .large-flex-child-auto {
    flex: 1 1 auto; }
  .large-flex-child-grow {
    flex: 1 0 auto; }
  .large-flex-child-shrink {
    flex: 0 1 auto; }
  .large-flex-dir-row {
    flex-direction: row; }
  .large-flex-dir-row-reverse {
    flex-direction: row-reverse; }
  .large-flex-dir-column {
    flex-direction: column; }
  .large-flex-dir-column-reverse {
    flex-direction: column-reverse; } }

@media screen and (min-width: 75em) {
  .xlarge-flex-container {
    display: flex; }
  .xlarge-flex-child-auto {
    flex: 1 1 auto; }
  .xlarge-flex-child-grow {
    flex: 1 0 auto; }
  .xlarge-flex-child-shrink {
    flex: 0 1 auto; }
  .xlarge-flex-dir-row {
    flex-direction: row; }
  .xlarge-flex-dir-row-reverse {
    flex-direction: row-reverse; }
  .xlarge-flex-dir-column {
    flex-direction: column; }
  .xlarge-flex-dir-column-reverse {
    flex-direction: column-reverse; } }

@media screen and (min-width: 90em) {
  .xxlarge-flex-container {
    display: flex; }
  .xxlarge-flex-child-auto {
    flex: 1 1 auto; }
  .xxlarge-flex-child-grow {
    flex: 1 0 auto; }
  .xxlarge-flex-child-shrink {
    flex: 0 1 auto; }
  .xxlarge-flex-dir-row {
    flex-direction: row; }
  .xxlarge-flex-dir-row-reverse {
    flex-direction: row-reverse; }
  .xxlarge-flex-dir-column {
    flex-direction: column; }
  .xxlarge-flex-dir-column-reverse {
    flex-direction: column-reverse; } }

.row {
  max-width: 66.66667rem;
  margin-right: auto;
  margin-left: auto;
  display: flex;
  flex-flow: row wrap; }
  .row .row {
    margin-right: -0.22222rem;
    margin-left: -0.22222rem; }
    @media print, screen and (min-width: 48em) {
      .row .row {
        margin-right: -0.44444rem;
        margin-left: -0.44444rem; } }
    @media print, screen and (min-width: 64em) {
      .row .row {
        margin-right: -0.44444rem;
        margin-left: -0.44444rem; } }
    @media screen and (min-width: 75em) {
      .row .row {
        margin-right: -0.44444rem;
        margin-left: -0.44444rem; } }
    @media screen and (min-width: 90em) {
      .row .row {
        margin-right: -0.44444rem;
        margin-left: -0.44444rem; } }
    .row .row.collapse {
      margin-right: 0;
      margin-left: 0; }
  .row.expanded {
    max-width: none; }
    .row.expanded .row {
      margin-right: auto;
      margin-left: auto; }
  .row:not(.expanded) .row {
    max-width: none; }
  .row.collapse > .column, .row.collapse > .columns {
    padding-right: 0;
    padding-left: 0; }
  .row.is-collapse-child,
  .row.collapse > .column > .row,
  .row.collapse > .columns > .row {
    margin-right: 0;
    margin-left: 0; }

.column, .columns {
  flex: 1 1 0px;
  padding-right: 0.22222rem;
  padding-left: 0.22222rem;
  min-width: 0; }
  @media print, screen and (min-width: 48em) {
    .column, .columns {
      padding-right: 0.44444rem;
      padding-left: 0.44444rem; } }

.column.row.row, .row.row.columns {
  float: none;
  display: block; }

.row .column.row.row, .row .row.row.columns {
  margin-right: 0;
  margin-left: 0;
  padding-right: 0;
  padding-left: 0; }

.small-1 {
  flex: 0 0 8.33333%;
  max-width: 8.33333%; }

.small-offset-0 {
  margin-left: 0%; }

.small-2 {
  flex: 0 0 16.66667%;
  max-width: 16.66667%; }

.small-offset-1 {
  margin-left: 8.33333%; }

.small-3 {
  flex: 0 0 25%;
  max-width: 25%; }

.small-offset-2 {
  margin-left: 16.66667%; }

.small-4 {
  flex: 0 0 33.33333%;
  max-width: 33.33333%; }

.small-offset-3 {
  margin-left: 25%; }

.small-5 {
  flex: 0 0 41.66667%;
  max-width: 41.66667%; }

.small-offset-4 {
  margin-left: 33.33333%; }

.small-6 {
  flex: 0 0 50%;
  max-width: 50%; }

.small-offset-5 {
  margin-left: 41.66667%; }

.small-7 {
  flex: 0 0 58.33333%;
  max-width: 58.33333%; }

.small-offset-6 {
  margin-left: 50%; }

.small-8 {
  flex: 0 0 66.66667%;
  max-width: 66.66667%; }

.small-offset-7 {
  margin-left: 58.33333%; }

.small-9 {
  flex: 0 0 75%;
  max-width: 75%; }

.small-offset-8 {
  margin-left: 66.66667%; }

.small-10 {
  flex: 0 0 83.33333%;
  max-width: 83.33333%; }

.small-offset-9 {
  margin-left: 75%; }

.small-11 {
  flex: 0 0 91.66667%;
  max-width: 91.66667%; }

.small-offset-10 {
  margin-left: 83.33333%; }

.small-12 {
  flex: 0 0 100%;
  max-width: 100%; }

.small-offset-11 {
  margin-left: 91.66667%; }

.small-up-1 {
  flex-wrap: wrap; }
  .small-up-1 > .column, .small-up-1 > .columns {
    flex: 0 0 100%;
    max-width: 100%; }

.small-up-2 {
  flex-wrap: wrap; }
  .small-up-2 > .column, .small-up-2 > .columns {
    flex: 0 0 50%;
    max-width: 50%; }

.small-up-3 {
  flex-wrap: wrap; }
  .small-up-3 > .column, .small-up-3 > .columns {
    flex: 0 0 33.33333%;
    max-width: 33.33333%; }

.small-up-4 {
  flex-wrap: wrap; }
  .small-up-4 > .column, .small-up-4 > .columns {
    flex: 0 0 25%;
    max-width: 25%; }

.small-up-5 {
  flex-wrap: wrap; }
  .small-up-5 > .column, .small-up-5 > .columns {
    flex: 0 0 20%;
    max-width: 20%; }

.small-up-6 {
  flex-wrap: wrap; }
  .small-up-6 > .column, .small-up-6 > .columns {
    flex: 0 0 16.66667%;
    max-width: 16.66667%; }

.small-up-7 {
  flex-wrap: wrap; }
  .small-up-7 > .column, .small-up-7 > .columns {
    flex: 0 0 14.28571%;
    max-width: 14.28571%; }

.small-up-8 {
  flex-wrap: wrap; }
  .small-up-8 > .column, .small-up-8 > .columns {
    flex: 0 0 12.5%;
    max-width: 12.5%; }

.small-collapse > .column, .small-collapse > .columns {
  padding-right: 0;
  padding-left: 0; }

.small-uncollapse > .column, .small-uncollapse > .columns {
  padding-right: 0.22222rem;
  padding-left: 0.22222rem; }

@media print, screen and (min-width: 48em) {
  .medium-1 {
    flex: 0 0 8.33333%;
    max-width: 8.33333%; }
  .medium-offset-0 {
    margin-left: 0%; }
  .medium-2 {
    flex: 0 0 16.66667%;
    max-width: 16.66667%; }
  .medium-offset-1 {
    margin-left: 8.33333%; }
  .medium-3 {
    flex: 0 0 25%;
    max-width: 25%; }
  .medium-offset-2 {
    margin-left: 16.66667%; }
  .medium-4 {
    flex: 0 0 33.33333%;
    max-width: 33.33333%; }
  .medium-offset-3 {
    margin-left: 25%; }
  .medium-5 {
    flex: 0 0 41.66667%;
    max-width: 41.66667%; }
  .medium-offset-4 {
    margin-left: 33.33333%; }
  .medium-6 {
    flex: 0 0 50%;
    max-width: 50%; }
  .medium-offset-5 {
    margin-left: 41.66667%; }
  .medium-7 {
    flex: 0 0 58.33333%;
    max-width: 58.33333%; }
  .medium-offset-6 {
    margin-left: 50%; }
  .medium-8 {
    flex: 0 0 66.66667%;
    max-width: 66.66667%; }
  .medium-offset-7 {
    margin-left: 58.33333%; }
  .medium-9 {
    flex: 0 0 75%;
    max-width: 75%; }
  .medium-offset-8 {
    margin-left: 66.66667%; }
  .medium-10 {
    flex: 0 0 83.33333%;
    max-width: 83.33333%; }
  .medium-offset-9 {
    margin-left: 75%; }
  .medium-11 {
    flex: 0 0 91.66667%;
    max-width: 91.66667%; }
  .medium-offset-10 {
    margin-left: 83.33333%; }
  .medium-12 {
    flex: 0 0 100%;
    max-width: 100%; }
  .medium-offset-11 {
    margin-left: 91.66667%; }
  .medium-up-1 {
    flex-wrap: wrap; }
    .medium-up-1 > .column, .medium-up-1 > .columns {
      flex: 0 0 100%;
      max-width: 100%; }
  .medium-up-2 {
    flex-wrap: wrap; }
    .medium-up-2 > .column, .medium-up-2 > .columns {
      flex: 0 0 50%;
      max-width: 50%; }
  .medium-up-3 {
    flex-wrap: wrap; }
    .medium-up-3 > .column, .medium-up-3 > .columns {
      flex: 0 0 33.33333%;
      max-width: 33.33333%; }
  .medium-up-4 {
    flex-wrap: wrap; }
    .medium-up-4 > .column, .medium-up-4 > .columns {
      flex: 0 0 25%;
      max-width: 25%; }
  .medium-up-5 {
    flex-wrap: wrap; }
    .medium-up-5 > .column, .medium-up-5 > .columns {
      flex: 0 0 20%;
      max-width: 20%; }
  .medium-up-6 {
    flex-wrap: wrap; }
    .medium-up-6 > .column, .medium-up-6 > .columns {
      flex: 0 0 16.66667%;
      max-width: 16.66667%; }
  .medium-up-7 {
    flex-wrap: wrap; }
    .medium-up-7 > .column, .medium-up-7 > .columns {
      flex: 0 0 14.28571%;
      max-width: 14.28571%; }
  .medium-up-8 {
    flex-wrap: wrap; }
    .medium-up-8 > .column, .medium-up-8 > .columns {
      flex: 0 0 12.5%;
      max-width: 12.5%; } }

@media print, screen and (min-width: 48em) and (min-width: 48em) {
  .medium-expand {
    flex: 1 1 0px; } }

.row.medium-unstack > .column, .row.medium-unstack > .columns {
  flex: 0 0 100%; }
  @media print, screen and (min-width: 48em) {
    .row.medium-unstack > .column, .row.medium-unstack > .columns {
      flex: 1 1 0px; } }

@media print, screen and (min-width: 48em) {
  .medium-collapse > .column, .medium-collapse > .columns {
    padding-right: 0;
    padding-left: 0; }
  .medium-uncollapse > .column, .medium-uncollapse > .columns {
    padding-right: 0.44444rem;
    padding-left: 0.44444rem; } }

@media print, screen and (min-width: 64em) {
  .large-1 {
    flex: 0 0 8.33333%;
    max-width: 8.33333%; }
  .large-offset-0 {
    margin-left: 0%; }
  .large-2 {
    flex: 0 0 16.66667%;
    max-width: 16.66667%; }
  .large-offset-1 {
    margin-left: 8.33333%; }
  .large-3 {
    flex: 0 0 25%;
    max-width: 25%; }
  .large-offset-2 {
    margin-left: 16.66667%; }
  .large-4 {
    flex: 0 0 33.33333%;
    max-width: 33.33333%; }
  .large-offset-3 {
    margin-left: 25%; }
  .large-5 {
    flex: 0 0 41.66667%;
    max-width: 41.66667%; }
  .large-offset-4 {
    margin-left: 33.33333%; }
  .large-6 {
    flex: 0 0 50%;
    max-width: 50%; }
  .large-offset-5 {
    margin-left: 41.66667%; }
  .large-7 {
    flex: 0 0 58.33333%;
    max-width: 58.33333%; }
  .large-offset-6 {
    margin-left: 50%; }
  .large-8 {
    flex: 0 0 66.66667%;
    max-width: 66.66667%; }
  .large-offset-7 {
    margin-left: 58.33333%; }
  .large-9 {
    flex: 0 0 75%;
    max-width: 75%; }
  .large-offset-8 {
    margin-left: 66.66667%; }
  .large-10 {
    flex: 0 0 83.33333%;
    max-width: 83.33333%; }
  .large-offset-9 {
    margin-left: 75%; }
  .large-11 {
    flex: 0 0 91.66667%;
    max-width: 91.66667%; }
  .large-offset-10 {
    margin-left: 83.33333%; }
  .large-12 {
    flex: 0 0 100%;
    max-width: 100%; }
  .large-offset-11 {
    margin-left: 91.66667%; }
  .large-up-1 {
    flex-wrap: wrap; }
    .large-up-1 > .column, .large-up-1 > .columns {
      flex: 0 0 100%;
      max-width: 100%; }
  .large-up-2 {
    flex-wrap: wrap; }
    .large-up-2 > .column, .large-up-2 > .columns {
      flex: 0 0 50%;
      max-width: 50%; }
  .large-up-3 {
    flex-wrap: wrap; }
    .large-up-3 > .column, .large-up-3 > .columns {
      flex: 0 0 33.33333%;
      max-width: 33.33333%; }
  .large-up-4 {
    flex-wrap: wrap; }
    .large-up-4 > .column, .large-up-4 > .columns {
      flex: 0 0 25%;
      max-width: 25%; }
  .large-up-5 {
    flex-wrap: wrap; }
    .large-up-5 > .column, .large-up-5 > .columns {
      flex: 0 0 20%;
      max-width: 20%; }
  .large-up-6 {
    flex-wrap: wrap; }
    .large-up-6 > .column, .large-up-6 > .columns {
      flex: 0 0 16.66667%;
      max-width: 16.66667%; }
  .large-up-7 {
    flex-wrap: wrap; }
    .large-up-7 > .column, .large-up-7 > .columns {
      flex: 0 0 14.28571%;
      max-width: 14.28571%; }
  .large-up-8 {
    flex-wrap: wrap; }
    .large-up-8 > .column, .large-up-8 > .columns {
      flex: 0 0 12.5%;
      max-width: 12.5%; } }

@media print, screen and (min-width: 64em) and (min-width: 64em) {
  .large-expand {
    flex: 1 1 0px; } }

.row.large-unstack > .column, .row.large-unstack > .columns {
  flex: 0 0 100%; }
  @media print, screen and (min-width: 64em) {
    .row.large-unstack > .column, .row.large-unstack > .columns {
      flex: 1 1 0px; } }

@media print, screen and (min-width: 64em) {
  .large-collapse > .column, .large-collapse > .columns {
    padding-right: 0;
    padding-left: 0; }
  .large-uncollapse > .column, .large-uncollapse > .columns {
    padding-right: 0.44444rem;
    padding-left: 0.44444rem; } }

@media screen and (min-width: 75em) {
  .xlarge-1 {
    flex: 0 0 8.33333%;
    max-width: 8.33333%; }
  .xlarge-offset-0 {
    margin-left: 0%; }
  .xlarge-2 {
    flex: 0 0 16.66667%;
    max-width: 16.66667%; }
  .xlarge-offset-1 {
    margin-left: 8.33333%; }
  .xlarge-3 {
    flex: 0 0 25%;
    max-width: 25%; }
  .xlarge-offset-2 {
    margin-left: 16.66667%; }
  .xlarge-4 {
    flex: 0 0 33.33333%;
    max-width: 33.33333%; }
  .xlarge-offset-3 {
    margin-left: 25%; }
  .xlarge-5 {
    flex: 0 0 41.66667%;
    max-width: 41.66667%; }
  .xlarge-offset-4 {
    margin-left: 33.33333%; }
  .xlarge-6 {
    flex: 0 0 50%;
    max-width: 50%; }
  .xlarge-offset-5 {
    margin-left: 41.66667%; }
  .xlarge-7 {
    flex: 0 0 58.33333%;
    max-width: 58.33333%; }
  .xlarge-offset-6 {
    margin-left: 50%; }
  .xlarge-8 {
    flex: 0 0 66.66667%;
    max-width: 66.66667%; }
  .xlarge-offset-7 {
    margin-left: 58.33333%; }
  .xlarge-9 {
    flex: 0 0 75%;
    max-width: 75%; }
  .xlarge-offset-8 {
    margin-left: 66.66667%; }
  .xlarge-10 {
    flex: 0 0 83.33333%;
    max-width: 83.33333%; }
  .xlarge-offset-9 {
    margin-left: 75%; }
  .xlarge-11 {
    flex: 0 0 91.66667%;
    max-width: 91.66667%; }
  .xlarge-offset-10 {
    margin-left: 83.33333%; }
  .xlarge-12 {
    flex: 0 0 100%;
    max-width: 100%; }
  .xlarge-offset-11 {
    margin-left: 91.66667%; }
  .xlarge-up-1 {
    flex-wrap: wrap; }
    .xlarge-up-1 > .column, .xlarge-up-1 > .columns {
      flex: 0 0 100%;
      max-width: 100%; }
  .xlarge-up-2 {
    flex-wrap: wrap; }
    .xlarge-up-2 > .column, .xlarge-up-2 > .columns {
      flex: 0 0 50%;
      max-width: 50%; }
  .xlarge-up-3 {
    flex-wrap: wrap; }
    .xlarge-up-3 > .column, .xlarge-up-3 > .columns {
      flex: 0 0 33.33333%;
      max-width: 33.33333%; }
  .xlarge-up-4 {
    flex-wrap: wrap; }
    .xlarge-up-4 > .column, .xlarge-up-4 > .columns {
      flex: 0 0 25%;
      max-width: 25%; }
  .xlarge-up-5 {
    flex-wrap: wrap; }
    .xlarge-up-5 > .column, .xlarge-up-5 > .columns {
      flex: 0 0 20%;
      max-width: 20%; }
  .xlarge-up-6 {
    flex-wrap: wrap; }
    .xlarge-up-6 > .column, .xlarge-up-6 > .columns {
      flex: 0 0 16.66667%;
      max-width: 16.66667%; }
  .xlarge-up-7 {
    flex-wrap: wrap; }
    .xlarge-up-7 > .column, .xlarge-up-7 > .columns {
      flex: 0 0 14.28571%;
      max-width: 14.28571%; }
  .xlarge-up-8 {
    flex-wrap: wrap; }
    .xlarge-up-8 > .column, .xlarge-up-8 > .columns {
      flex: 0 0 12.5%;
      max-width: 12.5%; } }

@media screen and (min-width: 75em) and (min-width: 75em) {
  .xlarge-expand {
    flex: 1 1 0px; } }

.row.xlarge-unstack > .column, .row.xlarge-unstack > .columns {
  flex: 0 0 100%; }
  @media screen and (min-width: 75em) {
    .row.xlarge-unstack > .column, .row.xlarge-unstack > .columns {
      flex: 1 1 0px; } }

@media screen and (min-width: 75em) {
  .xlarge-collapse > .column, .xlarge-collapse > .columns {
    padding-right: 0;
    padding-left: 0; }
  .xlarge-uncollapse > .column, .xlarge-uncollapse > .columns {
    padding-right: 0.44444rem;
    padding-left: 0.44444rem; } }

@media screen and (min-width: 90em) {
  .xxlarge-1 {
    flex: 0 0 8.33333%;
    max-width: 8.33333%; }
  .xxlarge-offset-0 {
    margin-left: 0%; }
  .xxlarge-2 {
    flex: 0 0 16.66667%;
    max-width: 16.66667%; }
  .xxlarge-offset-1 {
    margin-left: 8.33333%; }
  .xxlarge-3 {
    flex: 0 0 25%;
    max-width: 25%; }
  .xxlarge-offset-2 {
    margin-left: 16.66667%; }
  .xxlarge-4 {
    flex: 0 0 33.33333%;
    max-width: 33.33333%; }
  .xxlarge-offset-3 {
    margin-left: 25%; }
  .xxlarge-5 {
    flex: 0 0 41.66667%;
    max-width: 41.66667%; }
  .xxlarge-offset-4 {
    margin-left: 33.33333%; }
  .xxlarge-6 {
    flex: 0 0 50%;
    max-width: 50%; }
  .xxlarge-offset-5 {
    margin-left: 41.66667%; }
  .xxlarge-7 {
    flex: 0 0 58.33333%;
    max-width: 58.33333%; }
  .xxlarge-offset-6 {
    margin-left: 50%; }
  .xxlarge-8 {
    flex: 0 0 66.66667%;
    max-width: 66.66667%; }
  .xxlarge-offset-7 {
    margin-left: 58.33333%; }
  .xxlarge-9 {
    flex: 0 0 75%;
    max-width: 75%; }
  .xxlarge-offset-8 {
    margin-left: 66.66667%; }
  .xxlarge-10 {
    flex: 0 0 83.33333%;
    max-width: 83.33333%; }
  .xxlarge-offset-9 {
    margin-left: 75%; }
  .xxlarge-11 {
    flex: 0 0 91.66667%;
    max-width: 91.66667%; }
  .xxlarge-offset-10 {
    margin-left: 83.33333%; }
  .xxlarge-12 {
    flex: 0 0 100%;
    max-width: 100%; }
  .xxlarge-offset-11 {
    margin-left: 91.66667%; }
  .xxlarge-up-1 {
    flex-wrap: wrap; }
    .xxlarge-up-1 > .column, .xxlarge-up-1 > .columns {
      flex: 0 0 100%;
      max-width: 100%; }
  .xxlarge-up-2 {
    flex-wrap: wrap; }
    .xxlarge-up-2 > .column, .xxlarge-up-2 > .columns {
      flex: 0 0 50%;
      max-width: 50%; }
  .xxlarge-up-3 {
    flex-wrap: wrap; }
    .xxlarge-up-3 > .column, .xxlarge-up-3 > .columns {
      flex: 0 0 33.33333%;
      max-width: 33.33333%; }
  .xxlarge-up-4 {
    flex-wrap: wrap; }
    .xxlarge-up-4 > .column, .xxlarge-up-4 > .columns {
      flex: 0 0 25%;
      max-width: 25%; }
  .xxlarge-up-5 {
    flex-wrap: wrap; }
    .xxlarge-up-5 > .column, .xxlarge-up-5 > .columns {
      flex: 0 0 20%;
      max-width: 20%; }
  .xxlarge-up-6 {
    flex-wrap: wrap; }
    .xxlarge-up-6 > .column, .xxlarge-up-6 > .columns {
      flex: 0 0 16.66667%;
      max-width: 16.66667%; }
  .xxlarge-up-7 {
    flex-wrap: wrap; }
    .xxlarge-up-7 > .column, .xxlarge-up-7 > .columns {
      flex: 0 0 14.28571%;
      max-width: 14.28571%; }
  .xxlarge-up-8 {
    flex-wrap: wrap; }
    .xxlarge-up-8 > .column, .xxlarge-up-8 > .columns {
      flex: 0 0 12.5%;
      max-width: 12.5%; } }

@media screen and (min-width: 90em) and (min-width: 90em) {
  .xxlarge-expand {
    flex: 1 1 0px; } }

.row.xxlarge-unstack > .column, .row.xxlarge-unstack > .columns {
  flex: 0 0 100%; }
  @media screen and (min-width: 90em) {
    .row.xxlarge-unstack > .column, .row.xxlarge-unstack > .columns {
      flex: 1 1 0px; } }

@media screen and (min-width: 90em) {
  .xxlarge-collapse > .column, .xxlarge-collapse > .columns {
    padding-right: 0;
    padding-left: 0; }
  .xxlarge-uncollapse > .column, .xxlarge-uncollapse > .columns {
    padding-right: 0.44444rem;
    padding-left: 0.44444rem; } }

.shrink {
  flex: 0 0 auto;
  max-width: 100%; }

.column-block {
  margin-bottom: 0.44444rem; }
  .column-block > :last-child {
    margin-bottom: 0; }
  @media print, screen and (min-width: 48em) {
    .column-block {
      margin-bottom: 0.88889rem; }
      .column-block > :last-child {
        margin-bottom: 0; } }

/* Chrome hack: SVG is rendered more smooth in Windozze. 100% magic, uncomment if you need it. */
/* Note, that will break hinting! In other OS-es font will be not as sharp as it could be */
/*
@media screen and (-webkit-min-device-pixel-ratio:0) {
  @font-face {
    font-family: 'fontello';
    src: url('../font/fontello.svg?63332846#fontello') format('svg');
  }
}
*/
[class^="icon-du"]:before,
[class*=" icon-du"]:before,
[class^="du-icon"]:before,
[class*=" du-icon"]:before {
  font-family: "fontello";
  font-style: normal;
  font-weight: normal;
  speak: none;
  display: inline-block;
  text-decoration: inherit;
  width: 1em;
  margin-right: .2em;
  text-align: center;
  /* opacity: .8; */
  /* For safety - reset parent styles, that can break glyph codes*/
  font-variant: normal;
  text-transform: none;
  /* fix buttons height, for twitter bootstrap */
  line-height: 1em;
  /* Animation center compensation - margins should be symmetric */
  /* remove if not needed */
  margin-left: .2em;
  /* you can be more comfortable with increased icons size */
  /* font-size: 120%; */
  /* Font smoothing. That was taken from TWBS */
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  /* Uncomment for 3D effect */
  /* text-shadow: 1px 1px 1px rgba(127, 127, 127, 0.3); */ }

[class^="icon-du"].bold:before,
[class*=" icon-du"].bold:before,
[class^="du-icon"].bold:before,
[class*=" du-icon"].bold:before {
  font-weight: bold; }

/*
   Animation example, for spinners
*/
.animate-spin {
  -moz-animation: spin 2s infinite linear;
  -o-animation: spin 2s infinite linear;
  -webkit-animation: spin 2s infinite linear;
  animation: spin 2s infinite linear;
  display: inline-block; }

@-moz-keyframes spin {
  0% {
    -moz-transform: rotate(0deg);
    -o-transform: rotate(0deg);
    -webkit-transform: rotate(0deg);
    transform: rotate(0deg); }
  100% {
    -moz-transform: rotate(359deg);
    -o-transform: rotate(359deg);
    -webkit-transform: rotate(359deg);
    transform: rotate(359deg); } }

@-webkit-keyframes spin {
  0% {
    -moz-transform: rotate(0deg);
    -o-transform: rotate(0deg);
    -webkit-transform: rotate(0deg);
    transform: rotate(0deg); }
  100% {
    -moz-transform: rotate(359deg);
    -o-transform: rotate(359deg);
    -webkit-transform: rotate(359deg);
    transform: rotate(359deg); } }

@-o-keyframes spin {
  0% {
    -moz-transform: rotate(0deg);
    -o-transform: rotate(0deg);
    -webkit-transform: rotate(0deg);
    transform: rotate(0deg); }
  100% {
    -moz-transform: rotate(359deg);
    -o-transform: rotate(359deg);
    -webkit-transform: rotate(359deg);
    transform: rotate(359deg); } }

@-ms-keyframes spin {
  0% {
    -moz-transform: rotate(0deg);
    -o-transform: rotate(0deg);
    -webkit-transform: rotate(0deg);
    transform: rotate(0deg); }
  100% {
    -moz-transform: rotate(359deg);
    -o-transform: rotate(359deg);
    -webkit-transform: rotate(359deg);
    transform: rotate(359deg); } }

@keyframes spin {
  0% {
    -moz-transform: rotate(0deg);
    -o-transform: rotate(0deg);
    -webkit-transform: rotate(0deg);
    transform: rotate(0deg); }
  100% {
    -moz-transform: rotate(359deg);
    -o-transform: rotate(359deg);
    -webkit-transform: rotate(359deg);
    transform: rotate(359deg); } }

/*
   End of Animation example
*/
.icon-du-right-arrow:before {
  content: '\e800'; }

/* '' */
.icon-du-left-arrow:before {
  content: '\e801'; }

/* '' */
.icon-du-up-arrow:before {
  content: '\e802'; }

/* '' */
.icon-du-down-arrow:before {
  content: '\e803'; }

/* '' */
.icon-du-cust-menu:before {
  content: '\e804'; }

/* '' */
.icon-du-cust-close:before {
  content: '\e805'; }

/* '' */
.icon-du-cust-search:before {
  content: '\e806'; }

/* '' */
.icon-du-check:before {
  content: '\e807'; }

/* '' */
.icon-du-minus:before {
  content: '\e808'; }

/* '' */
.icon-du-plus:before {
  content: '\e809'; }

/* '' */
.icon-du-cust-clipboard:before {
  content: '\e80a'; }

/* '' */
.icon-du-cust-right-arrow:before {
  content: '\e80b'; }

/* '' */
.icon-du-cust-left-arrow:before {
  content: '\e80c'; }

/* '' */
.icon-du-play-circled2:before {
  content: '\e80d'; }

/* '' */
.icon-du-pause-circled:before {
  content: '\e80e'; }

/* '' */
.icon-du-play-circled:before {
  content: '\e80f'; }

/* '' */
.icon-du-attention-circled:before {
  content: '\e810'; }

/* '' */
.icon-du-print:before {
  content: '\e811'; }

/* '' */
.icon-du-mail:before {
  content: '\e812'; }

/* '' */
.icon-du-phone:before {
  content: '\e813'; }

/* '' */
.icon-du-clock:before {
  content: '\e814'; }

/* '' */
.icon-du-globe:before {
  content: '\e815'; }

/* '' */
.icon-du-location:before {
  content: '\e816'; }

/* '' */
.icon-du-info-circled:before {
  content: '\e817'; }

/* '' */
.icon-du-logout:before {
  content: '\e818'; }

/* '' */
.icon-du-block:before {
  content: '\e819'; }

/* '' */
.icon-calendar:before {
  content: '\e81a'; }

/* '' */
.icon-du-shieldicon:before {
  content: '\e81b'; }

/* '' */
.icon-du-plus-circled:before {
  content: '\e81c'; }

/* '' */
.icon-du-picture:before {
  content: '\e81d'; }

/* '' */
.icon-du-videocam:before {
  content: '\e81e'; }

/* '' */
.icon-du-spin3:before {
  content: '\e832'; }

/* '' */
.icon-info-circled-alt:before {
  content: '\f086'; }

/* '' */
.icon-du-twitter:before {
  content: '\f099'; }

/* '' */
.icon-du-facebook:before {
  content: '\f09a'; }

/* '' */
.icon-du-filter:before {
  content: '\f0b0'; }

/* '' */
.icon-du-gplus:before {
  content: '\f0d5'; }

/* '' */
.icon-du-mail-alt:before {
  content: '\f0e0'; }

/* '' */
.icon-du-linkedin:before {
  content: '\f0e1'; }

/* '' */
.icon-circle-empty:before {
  content: '\f10c'; }

/* '' */
.icon-info:before {
  content: '\f129'; }

/* '' */
.icon-du-calendar-empty:before {
  content: '\f133'; }

/* '' */
.icon-du-link-ext-alt:before {
  content: '\f14c'; }

/* '' */
.icon-du-youtube:before {
  content: '\f167'; }

/* '' */
.icon-du-instagram:before {
  content: '\f16d'; }

/* '' */
.icon-du-tumblr:before {
  content: '\f173'; }

/* '' */
.icon-du-bank:before {
  content: '\f19c'; }

/* '' */
.icon-du-fax:before {
  content: '\f1ac'; }

/* '' */
.icon-du-rebel:before {
  content: '\f1d0'; }

/* '' */
.icon-circle-thin:before {
  content: '\f1db'; }

/* '' */
.icon-du-newspaper:before {
  content: '\f1ea'; }

/* '' */
.icon-du-calendar-plus-o:before {
  content: '\f271'; }

/* '' */
.icon-du-snapchat:before {
  content: '\f2ac'; }

/* '' */
.icon-du-user:before {
  content: '\f2c0'; }

/* '' */
.icon-du-podcast:before {
  content: '\f2ce'; }

/* '' */
#main-content h1 {
  font-weight: 800;
  position: relative;
  margin-bottom: 30px;
  padding-bottom: 33px; }
  #main-content h1 > .socialHeader {
    width: 49%;
    display: inline-block; }
    #main-content h1 > .socialHeader:nth-child(2) {
      text-align: right;
      padding-right: 10%; }
  @media screen and (max-width: 47.9375em) {
    #main-content h1 {
      padding-bottom: 33px; }
      #main-content h1 > .socialHeader {
        with: 100%; }
        #main-content h1 > .socialHeader:nth-child(2) {
          text-align: left; } }
  #main-content h1:after {
    content: "";
    position: absolute;
    left: 0;
    bottom: 0;
    height: 8px;
    width: 85px;
    background-color: #18171e; }

#main-content .intro {
  font-family: "BreveText", sans-serif;
  font-size: 20px; }
  #main-content .intro, #main-content .intro p {
    line-height: 32px; }
  @media screen and (max-width: 74.9375em) {
    #main-content .intro {
      font-size: 18px; }
      #main-content .intro, #main-content .intro p {
        line-height: 28px; } }
  @media screen and (max-width: 47.9375em) {
    #main-content .intro {
      font-size: 17px; }
      #main-content .intro, #main-content .intro p {
        line-height: 26px; } }

#main-content ul li {
  position: relative;
  list-style-type: none; }
  #main-content ul li:before {
    content: "";
    height: 5px;
    width: 5px;
    position: absolute;
    left: -13px;
    background-color: #bcbcbc;
    top: 11px; }

#main-content ul.list-of-facts li:before {
  background-color: transparent;
  height: 0px;
  width: 0px; }

h1 {
  font-weight: 800; }

h2 {
  margin-bottom: 18px; }

h3,
h5 {
  font-weight: 700; }

h2.btm-divider, h3.btm-divider, h4.btm-divider, h5.btm-divider, h6.btm-divider {
  position: relative;
  padding-bottom: 26px;
  margin-bottom: 34px; }
  h2.btm-divider:after, h3.btm-divider:after, h4.btm-divider:after, h5.btm-divider:after, h6.btm-divider:after {
    content: "";
    height: 6px;
    background-color: #18171e;
    width: 77px;
    position: absolute;
    bottom: 0;
    left: 0; }
  h2.btm-divider.text-right:after, h3.btm-divider.text-right:after, h4.btm-divider.text-right:after, h5.btm-divider.text-right:after, h6.btm-divider.text-right:after {
    right: 0;
    left: auto; }
  h2.btm-divider.text-center:after, h3.btm-divider.text-center:after, h4.btm-divider.text-center:after, h5.btm-divider.text-center:after, h6.btm-divider.text-center:after {
    left: 50%;
    margin-left: -38.5px; }

h2.top-divider, h3.top-divider, h4.top-divider, h5.top-divider, h6.top-divider {
  position: relative;
  padding-top: 26px;
  margin-top: 34px; }
  h2.top-divider:before, h3.top-divider:before, h4.top-divider:before, h5.top-divider:before, h6.top-divider:before {
    content: "";
    height: 6px;
    background-color: #18171e;
    width: 77px;
    position: absolute;
    top: 0;
    left: 0; }
  h2.top-divider.text-right:before, h3.top-divider.text-right:before, h4.top-divider.text-right:before, h5.top-divider.text-right:before, h6.top-divider.text-right:before {
    right: 0;
    left: auto; }
  h2.top-divider.text-center:before, h3.top-divider.text-center:before, h4.top-divider.text-center:before, h5.top-divider.text-center:before, h6.top-divider.text-center:before {
    left: 50%;
    margin-left: -38.5px; }

a {
  color: #2090ac;
  text-decoration: underline; }
  a:hover, a:focus {
    color: #05637b; }
  a,
  a > * {
    transition: color .3s, background-color .3s; }

ul {
  margin-left: 0; }
  ul li {
    margin-left: 15px; }

table {
  border-collapse: collapse;
  border-bottom: 2px solid #d1d1d2; }
  table.table--full-width {
    width: 100%; }
  table thead {
    border-bottom: 2px solid #6b655d; }
    table thead th {
      font-size: 18px; }
    table thead th + th {
      border-left: 1px solid #d1d1d2; }
  table th,
  table td {
    text-align: left; }
  table td {
    font-size: 16px; }
    table td + td {
      border-left: 1px solid #d1d1d2; }

.table-scroll {
  position: relative;
  overflow: hidden !important; }
  .table-scroll .table-scroll__wrapper {
    overflow-x: auto; }
    .table-scroll .table-scroll__wrapper > table td {
      min-width: 160px !important; }
  .table-scroll.active.table-scroll--shadow-right:after, .table-scroll.active.table-scroll--shadow-left:before {
    content: "";
    position: absolute;
    top: 0;
    bottom: 18px;
    width: 200px;
    pointer-events: none; }
    @media screen and (max-width: 47.9375em) {
      .table-scroll.active.table-scroll--shadow-right:after, .table-scroll.active.table-scroll--shadow-left:before {
        width: 50px; } }
  .table-scroll.active.table-scroll--shadow-right:after {
    background: -moz-linear-gradient(left, rgba(255, 255, 255, 0) 0%, white 100%);
    background: -webkit-linear-gradient(left, rgba(255, 255, 255, 0) 0%, white 100%);
    background: linear-gradient(to right, rgba(255, 255, 255, 0) 0%, white 100%);
    filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#00ffffff', endColorstr='#ffffff',GradientType=1 );
    right: 0;
    left: unset; }
  .table-scroll.active.table-scroll--shadow-left:before {
    background: -moz-linear-gradient(left, white 0%, rgba(255, 255, 255, 0) 100%);
    background: -webkit-linear-gradient(left, white 0%, rgba(255, 255, 255, 0) 100%);
    background: linear-gradient(to right, white 0%, rgba(255, 255, 255, 0) 100%);
    filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#ffffff', endColorstr='#00ffffff',GradientType=1 );
    left: 0; }

.add-this {
  margin: 20px 0; }

#academic-filters {
  position: relative; }

#academic-filter-toggler > a {
  display: block;
  border-width: 2px 0;
  border-color: #e0e0e0;
  border-style: solid;
  padding: 17px 22px;
  font-family: "BreveSans", sans-serif;
  font-size: 20px;
  color: #18171e;
  text-decoration: none;
  margin-top: 50px; }
  #academic-filter-toggler > a:after {
    content: "\e805";
    padding-top: 6px;
    color: #000000;
    font-weight: bold;
    float: right;
    font-family: "Fontello";
    speak: none;
    display: inline-block;
    text-align: center;
    text-transform: none;
    line-height: 1em;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    transform: rotate(45deg);
    transition: transform 0.3s; }
  #academic-filter-toggler > a.open {
    background-color: #f9f9f9;
    text-decoration: none;
    color: #98012e; }
    #academic-filter-toggler > a.open:after {
      transform: rotate(0deg);
      color: #666666;
      font-weight: normal; }

.index-list,
[class^="index-list--"],
[class*=' index-list--'] {
  margin-bottom: 0; }
  .index-list dt,
  [class^="index-list--"] dt,
  [class*=' index-list--'] dt {
    color: #fff;
    line-height: 1.45;
    font-weight: bold;
    margin-bottom: 2px; }
  .index-list dd,
  [class^="index-list--"] dd,
  [class*=' index-list--'] dd {
    color: #fff;
    line-height: 1.5;
    font-family: "BreveSans", sans-serif;
    font-size: 16px;
    margin-bottom: 12px; }
    .index-list dd:last-child,
    [class^="index-list--"] dd:last-child,
    [class*=' index-list--'] dd:last-child {
      margin-bottom: 0; }

.index-list--horizontal {
  column-count: 2;
  column-gap: 0; }
  .index-list--horizontal dt,
  .index-list--horizontal dd {
    vertical-align: top;
    display: inline-block; }
  .index-list--horizontal dt {
    width: 30%;
    max-width: 60px; }
  .index-list--horizontal dd {
    width: 67.8%;
    padding-right: 5px; }
  @media (max-width: 560px), (min-width: 768px) and (max-width: 1024px) {
    .index-list--horizontal {
      column-count: 1; }
      .index-list--horizontal dt {
        width: 19%;
        max-width: none; }
      .index-list--horizontal dd {
        width: 78%;
        padding-right: 0; } }
  @media (max-width: 400px) {
    .index-list--horizontal dt {
      width: 22%; }
    .index-list--horizontal dd {
      width: 75%; } }

@media screen and (max-width: 47.9375em) {
  .index-list--horizontal {
    margin: 15px 0 0; } }

#index-info-box {
  position: absolute;
  background: #2A2930;
  max-height: 0;
  overflow: hidden;
  -webkit-transition: max-height 0.3s;
  transition: max-height 0.3s;
  width: 100%;
  margin-top: -23px;
  z-index: 1;
  left: 0; }
  #index-info-box .index-info-box__wrapper {
    padding: 20px; }
    @media screen and (max-width: 47.9375em) {
      #index-info-box .index-info-box__wrapper {
        padding: 15px; } }
  #index-info-box.open {
    max-height: 1000px; }
    @media screen and (max-width: 63.9375em) {
      #index-info-box.open {
        max-height: 1500px; } }
    @media screen and (max-width: 47.9375em) {
      #index-info-box.open {
        max-height: 3000px; } }
    @media (max-width: 480px) {
      #index-info-box.open {
        max-height: 10000px; } }

.filter-box {
  position: relative;
  margin: 50px auto 40px;
  display: flex;
  justify-content: center;
  flex-flow: row wrap; }
  @media screen and (max-width: 63.9375em) {
    .filter-box {
      margin-top: 24px;
      margin-bottom: 20px; } }
  .filter-box .btn.btn--academic-filter,
  .filter-box a.btn.btn--academic-filter:not(.info) {
    width: auto;
    min-width: 170px;
    margin-bottom: 10px;
    text-transform: uppercase; }
    @media screen and (max-width: 63.9375em) {
      .filter-box .btn.btn--academic-filter,
      .filter-box a.btn.btn--academic-filter:not(.info) {
        font-size: 14px;
        min-width: 130px; } }
    @media screen and (max-width: 47.9375em) {
      .filter-box .btn.btn--academic-filter,
      .filter-box a.btn.btn--academic-filter:not(.info) {
        width: calc(50% - 10px);
        padding-left: 0;
        padding-right: 0;
        margin-left: 5px;
        margin-right: 5px; } }
  .filter-box a.btn.btn--academic-filter.info {
    min-width: 0;
    position: relative; }
    .filter-box a.btn.btn--academic-filter.info.active:after {
      content: '';
      border-bottom: 29px solid #2A2930;
      border-right: 29px solid transparent;
      border-left: 29px solid transparent;
      width: 58px;
      display: inline-block;
      position: absolute;
      bottom: -39px;
      left: 50%;
      transform: translateX(-50%); }
  @media print, screen and (min-width: 48em) {
    .filter-box p + p {
      margin-left: 10px; }
    .filter-box .btn + .btn {
      margin-left: 10px; } }

.alphabet-filter-holder {
  float: left;
  background: #f9f9f9;
  font-family: "BreveSans", sans-serif;
  font-weight: 600;
  padding: 11px 17px; }
  @media screen and (min-width: 64em) and (max-width: 74.9375em) {
    .alphabet-filter-holder {
      margin-right: 20px; } }
  .alphabet-filter-holder.active-filter {
    display: block; }
  .alphabet-filter-holder.inactive-filter {
    display: none; }
  .alphabet-filter-holder a {
    display: inline-block;
    text-decoration: none;
    font-size: 24px;
    color: #05637b;
    padding: 0 7px;
    line-height: 1; }
    .alphabet-filter-holder a.active {
      color: #05637b; }
      .alphabet-filter-holder a.active:hover, .alphabet-filter-holder a.active:focus {
        color: #033b4a; }
    .alphabet-filter-holder a.inactive {
      color: #c3c3c3;
      cursor: default; }
    .alphabet-filter-holder a:hover {
      text-decoration: none; }

.school-filter-dropdown-holder select {
  background-color: #fafafa;
  height: 50px;
  margin-bottom: 0; }

.school-filter-dropdown-holder.active-filter {
  display: block; }

.school-filter-dropdown-holder.inactive-filter {
  display: none; }

.az-school-switch {
  margin: 0;
  min-width: 232px;
  float: right; }
  @media screen and (max-width: 47.9375em) {
    .az-school-switch {
      float: none;
      text-align: center;
      margin-top: 20px; } }
  .az-school-switch .filter-switch [type='checkbox'] + label {
    vertical-align: middle;
    margin: 0 10px; }
  .az-school-switch .filter-switch span {
    vertical-align: middle;
    color: #525252;
    font-weight: 600;
    font-size: 20px; }
  .az-school-switch .filter-switch input:checked ~ .switch-paddle,
  .az-school-switch .filter-switch .switch-paddle {
    background: #05637b; }
    .az-school-switch .filter-switch input:checked ~ .switch-paddle:hover, .az-school-switch .filter-switch input:checked ~ .switch-paddle:focus,
    .az-school-switch .filter-switch .switch-paddle:hover,
    .az-school-switch .filter-switch .switch-paddle:focus {
      background-color: #033b4a; }

/*.ap-item .flyout{
  max-height: 0;
  overflow: hidden;
  -webkit-transition: max-height 0.3s;
  transition: max-height 0.3s;
}
.ap-item.ap-item--open .flyout{
  max-height: 500px;
}*/
.academic-filter .search-box > input[type="text"] {
  font-size: 36px; }
  @media screen and (max-width: 47.9375em) {
    .academic-filter .search-box > input[type="text"] {
      font-size: 20px; } }

.academic-error {
  padding-top: 2em;
  padding-bottom: 1em;
  background-color: lightpink; }

.academic-program {
  margin-top: 30px; }
  .academic-program .program-links {
    margin-top: 80px; }
    @media screen and (max-width: 47.9375em) {
      .academic-program .program-links {
        margin-top: 0; } }
  .academic-program .intro .program-overview {
    margin-top: 50px; }

@media screen {
  #concModal.reveal {
    padding-left: 30px; }
    #concModal.reveal:focus {
      outline: #2090ac auto 5px; }
    #concModal.reveal ul {
      list-style: none; }
      #concModal.reveal ul a {
        font-size: 20px;
        line-height: 20px;
        text-decoration: none; }
  .admission-steps {
    position: relative;
    overflow: hidden;
    margin-bottom: 59px; } }
  @media screen and (max-width: 47.9375em) {
    .admission-steps {
      margin-bottom: 19px; } }

@media screen {
    .admission-steps .columns.tabs-title > a {
      font-size: 20px;
      line-height: 20px;
      font-weight: bold;
      color: #c8c8c8;
      text-decoration: none;
      padding-left: 74px;
      position: relative; }
      .admission-steps .columns.tabs-title > a .admission-steps__circle {
        position: absolute;
        left: 0;
        top: 15px;
        font-size: 25px;
        font-weight: bold;
        color: #c8c8c8;
        border: 4px solid #c8c8c8;
        width: 56px;
        height: 56px;
        border-radius: 28px;
        display: inline-block;
        text-align: center;
        padding-top: 14px; }
      .admission-steps .columns.tabs-title > a:hover, .admission-steps .columns.tabs-title > a:focus {
        color: #b8a162; }
        .admission-steps .columns.tabs-title > a:hover .admission-steps__circle, .admission-steps .columns.tabs-title > a:focus .admission-steps__circle {
          background-color: #b8a162;
          color: white;
          border-color: #b8a162; } }
    @media screen and (max-width: 47.9375em) {
      .admission-steps .columns.tabs-title > a {
        padding: 30px 0 42px;
        color: #b8a162;
        text-align: center;
        border-bottom: 1px solid #e0e0e0; }
        .admission-steps .columns.tabs-title > a br {
          display: none; }
        .admission-steps .columns.tabs-title > a .admission-steps__circle {
          position: static;
          display: block;
          margin: 0 auto 14px;
          color: #b8a162;
          border-color: #b8a162; } }

@media screen {
    .admission-steps .columns.tabs-title.is-active a {
      background-color: transparent;
      color: #b8a162; }
      .admission-steps .columns.tabs-title.is-active a .admission-steps__circle {
        background-color: #b8a162;
        color: white;
        border-color: #b8a162; }
    .admission-steps .tabs {
      border-color: #e0e0e0;
      border-width: 2px 0 0 0; }
      .admission-steps .tabs.vertical {
        position: relative;
        margin-top: 16px;
        margin-bottom: 30px; }
        .admission-steps .tabs.vertical:after {
          content: "";
          background-color: #f4f4f4;
          top: -46px;
          bottom: -54px;
          left: 80px;
          right: -3000px;
          position: absolute;
          display: block;
          z-index: -1; }
        .admission-steps .tabs.vertical li {
          margin-left: 0; }
          .admission-steps .tabs.vertical li:before {
            display: none; }
          .admission-steps .tabs.vertical li a {
            border-bottom: 2px solid #e0e0e0;
            display: block;
            font-size: 20px;
            color: #231f20;
            padding: 21px 10px 22px 24px;
            position: relative;
            font-family: "BreveSlabTitle", sans-serif;
            text-decoration: none; }
          .admission-steps .tabs.vertical li[aria-selected='true'] a, .admission-steps .tabs.vertical li.is-active a {
            border-left: 6px solid #caaf77;
            padding-left: 18px; }
            .admission-steps .tabs.vertical li[aria-selected='true'] a:after, .admission-steps .tabs.vertical li.is-active a:after {
              content: "";
              border-top: 30px solid transparent;
              border-bottom: 30px solid transparent;
              border-right: 30px solid white;
              position: absolute;
              right: -37px;
              top: 50%;
              margin-top: -31px;
              display: block; }
    .admission-steps > .tabs-content {
      background-color: transparent;
      border: 0 none; }
    .admission-steps .tabs-content.vertical {
      margin-left: 34px;
      border: 0 none; }
    .admission-steps .tabs-content .tabs-panel {
      padding: 40px 52px; }
      .admission-steps .tabs-content .tabs-panel p.academicYear {
        font-weight: 500;
        font-style: italic; }
      .admission-steps .tabs-content .tabs-panel #deadlines ul {
        margin-left: 15px; }
        .admission-steps .tabs-content .tabs-panel #deadlines ul li p {
          margin-bottom: 0.4em; }
    .admission-steps .tabs-title > a:hover, .admission-steps .tabs-title > a:focus, .admission-steps .tabs-title > a[aria-selected='true'] {
      background-color: transparent;
      color: #caaf77; }
    .admission-steps .admission-steps__print {
      font-weight: bold;
      font-size: 19px;
      float: right;
      text-decoration: none; } }
  @media screen and (max-width: 74.9375em) {
    .admission-steps > .row:first-child {
      margin-left: 56px;
      margin-right: 56px; } }
  @media screen and (max-width: 74.9375em) and (max-width: 47.9375em) {
    .admission-steps > .row:first-child {
      margin-left: 18px;
      margin-right: 18px; } }
  @media screen and (max-width: 63.9375em) {
    .admission-steps .admission-steps__nav {
      margin-left: 60px;
      margin-right: 32px; } }
  @media screen and (max-width: 63.9375em) and (max-width: 47.9375em) {
    .admission-steps .admission-steps__nav {
      border-top: 5px solid #b8a162;
      border-bottom: 5px solid #b8a162;
      margin-left: 22px;
      margin-right: 22px;
      background-color: white;
      position: relative; }
      .admission-steps .admission-steps__nav:before {
        content: "";
        background-color: #f4f4f4;
        position: absolute;
        left: -22px;
        right: -22px;
        bottom: -38px;
        top: 28px;
        z-index: -1; }
      .admission-steps .admission-steps__nav > .columns {
        padding-left: 15px;
        padding-right: 15px; }
        .admission-steps .admission-steps__nav > .columns.tabs-title {
          position: relative; }
          .admission-steps .admission-steps__nav > .columns.tabs-title:after {
            content: "";
            border-top: 13px solid transparent;
            border-bottom: 13px solid transparent;
            border-left: 11px solid #f4f4f4;
            position: absolute;
            right: 22px;
            top: 50%;
            margin-top: -6px; }
        .admission-steps .admission-steps__nav > .columns.large-2 > a {
          border-bottom: 0 none; } }
  @media screen and (max-width: 63.9375em) {
    .admission-steps > .tabs-content {
      position: relative;
      background-color: white;
      border-color: #b8a162;
      border-width: 5px 0;
      border-style: solid;
      margin: 0 60px 60px; }
      .admission-steps > .tabs-content:before {
        content: "";
        background-color: #f4f4f4;
        position: absolute;
        left: -60px;
        right: -60px;
        bottom: -50px;
        top: 50px;
        z-index: -1; } }
  @media screen and (max-width: 63.9375em) and (max-width: 47.9375em) {
    .admission-steps > .tabs-content {
      margin-left: 22px;
      margin-right: 22px;
      border-width: 0; } }
  @media screen and (max-width: 63.9375em) {
      .admission-steps > .tabs-content .tabs-panel {
        min-height: 0 !important;
        padding: 0 15px; }
        .admission-steps > .tabs-content .tabs-panel h4 {
          display: none; }
          .admission-steps > .tabs-content .tabs-panel h4.hide-for-large {
            display: block; } }
    @media screen and (max-width: 63.9375em) and (max-width: 47.9375em) {
      .admission-steps > .tabs-content .tabs-panel p,
      .admission-steps > .tabs-content .tabs-panel li {
        line-height: 19px;
        font-size: 14px; }
      .admission-steps > .tabs-content .tabs-panel ul li:before {
        top: 8px !important; } }
  @media screen and (max-width: 63.9375em) {
      .admission-steps > .tabs-content .vertical {
        margin-left: 0; }
    .admission-steps .sub-step-content.is-active {
      display: block; }
    .admission-steps .sub-step-content__toggle {
      margin-bottom: 0; }
      .admission-steps .sub-step-content__toggle:first-child a {
        border-top: 0 none; }
      .admission-steps .sub-step-content__toggle a {
        border-top: 2px solid #e0e0e0;
        display: block;
        font-size: 18px;
        color: #231f20;
        padding: 16px 40px 19px 15px;
        position: relative;
        font-family: "BreveSlabTitle", sans-serif;
        text-decoration: none; } }
    @media screen and (max-width: 63.9375em) and (max-width: 47.9375em) {
      .admission-steps .sub-step-content__toggle a {
        font-size: 17px; } }
  @media screen and (max-width: 63.9375em) {
        .admission-steps .sub-step-content__toggle a:after {
          content: '\e809';
          font-family: "Fontello";
          border: 1px solid #b8a162;
          height: 30px;
          width: 30px;
          position: absolute;
          top: 50%;
          right: 2px;
          text-align: center;
          margin-top: -15px;
          font-size: 23px;
          line-height: 27px;
          color: #b8a162;
          font-weight: bold;
          border-radius: 17px; }
        .admission-steps .sub-step-content__toggle a.open {
          border-bottom: 0 none; }
          .admission-steps .sub-step-content__toggle a.open:after {
            content: '\e808';
            background-color: #b8a162;
            color: white; } }
  @media screen and (max-width: 47.9375em) {
    .admission-steps > .admission-steps__nav {
      transition: background-color 1ms ease;
      margin-top: 41px;
      opacity: 1; }
      .admission-steps > .admission-steps__nav .tabs-title a {
        background-color: white; }
      .admission-steps > .admission-steps__nav.admission-steps--slide-off {
        opacity: 0;
        position: absolute; }
        .admission-steps > .admission-steps__nav.admission-steps--slide-off:before {
          opacity: 1; }
        .admission-steps > .admission-steps__nav.admission-steps--slide-off + .tabs-content {
          opacity: 1;
          height: auto; }
    .admission-steps .admission-steps__back {
      margin: 0 22px 8px; }
      .admission-steps .admission-steps__back a {
        color: #a99a6f;
        font-size: 13px;
        text-transform: uppercase;
        margin-top: -10px;
        padding-top: 5px;
        padding-top: 5px;
        padding-bottom: 8px;
        display: block;
        font-family: "BreveSans", sans-serif;
        font-weight: 600;
        text-decoration: none; }
        .admission-steps .admission-steps__back a:hover, .admission-steps .admission-steps__back a:focus {
          color: #8b6e4a; }
    .admission-steps .admission-steps__section-title {
      margin-left: 22px;
      margin-bottom: 12px;
      margin-right: 22px;
      color: #b8a162;
      font-size: 20px;
      font-weight: bold; }
      .admission-steps .admission-steps__section-title .admission-steps__circle,
      .admission-steps .admission-steps__section-title br {
        display: none; }
    .admission-steps > .tabs-content {
      transition: background-color 1ms ease;
      opacity: 0;
      border-width: 5px 0;
      border-style: solid;
      border-color: #b8a162;
      height: 0; }
      .admission-steps > .tabs-content:before {
        top: 28px; } }
  @media screen and (min-width: 64em) {
    .admission-steps h4 {
      font-size: 36px;
      line-height: 42px; } }

@media screen {
    .admission-steps .steps-cta {
      margin-bottom: 20px;
      margin-left: 20px; } }
    @media screen and (max-width: 47.9375em) {
      .admission-steps .steps-cta a {
        width: 210px; }
        .admission-steps .steps-cta a:first-child {
          margin-bottom: 10px; } }

@media screen {
    .admission-steps .align-years {
      overflow: auto; }
      .admission-steps .align-years div.columns:first-child {
        float: left; }
      .admission-steps .align-years div.columns:last-child {
        float: right; }
    .admission-steps .indent-paragraph {
      margin-left: 40px; }
    .admission-steps .indent-paragraph {
      position: relative; }
      .admission-steps .indent-paragraph strong:before {
        content: "";
        height: 5px;
        width: 5px;
        position: absolute;
        left: -13px;
        background-color: #bcbcbc;
        top: 11px; }
  #apply.btn {
    width: 100%;
    margin-bottom: 30px;
    text-align: center; } }

.du-alert {
  background-color: #faebce; }
  .du-alert > .row > .columns {
    position: relative;
    padding-right: 82px; }
    @media screen and (max-width: 47.9375em) {
      .du-alert > .row > .columns {
        padding-right: 0; } }
    .du-alert > .row > .columns .du-alert__action-button {
      display: none; }
    .js .du-alert > .row > .columns .du-alert__action-button {
      position: absolute;
      right: 30px;
      top: 30px;
      color: #666666;
      font-size: 24px;
      display: block; }
      .js .du-alert > .row > .columns .du-alert__action-button.open .icon-du-down-arrow:before {
        content: "\e802"; }
      .js .du-alert > .row > .columns .du-alert__action-button:hover, .js .du-alert > .row > .columns .du-alert__action-button:focus {
        color: #000000;
        cursor: pointer; }
  .js .du-alert #du-alert__content {
    display: none; }
    .js .du-alert #du-alert__content.du-alert__content--expanded {
      display: block; }
  .du-alert #du-alert__content.du-alert__content--expanded {
    text-align: center; }
    .du-alert #du-alert__content.du-alert__content--expanded p {
      font-size: 16px;
      line-height: 22px;
      color: #302d2e; }
      @media screen and (max-width: 63.9375em) {
        .du-alert #du-alert__content.du-alert__content--expanded p {
          font-size: 15px; } }
      @media screen and (max-width: 63.9375em) {
        .du-alert #du-alert__content.du-alert__content--expanded p {
          font-size: 14px; } }
    .du-alert #du-alert__content.du-alert__content--expanded a {
      color: #302d2e; }
      .du-alert #du-alert__content.du-alert__content--expanded a:hover, .du-alert #du-alert__content.du-alert__content--expanded a:focus {
        color: #560d20; }
  .du-alert h1 {
    font-size: 26px;
    text-transform: uppercase;
    padding-top: 25px;
    margin-bottom: 25px; }
    .du-alert h1:before {
      content: "\e810";
      font-family: "Fontello";
      color: #c50c0c;
      padding-right: 4px; }
    @media screen and (max-width: 47.9375em) {
      .du-alert h1 {
        margin-bottom: 5px;
        padding-right: 20px; } }
    .du-alert h1,
    .du-alert h1 + p {
      display: inline-block; }
      @media screen and (max-width: 47.9375em) {
        .du-alert h1,
        .du-alert h1 + p {
          display: block; } }
    .du-alert h1 + p {
      border-left: 2px solid #ccbda3;
      margin-left: 14px;
      padding-left: 16px;
      font-weight: bold;
      color: #18171e;
      font-size: 24px; }
      @media screen and (max-width: 47.9375em) {
        .du-alert h1 + p {
          border-left: 0 none;
          margin-left: 0;
          padding-left: 0;
          font-size: 20px;
          line-height: 22px; } }
  .js .du-alert--notification {
    display: none; }
    .js .du-alert--notification.du-alert--notification--show {
      display: block; }
    .js .du-alert--notification > .row > .columns .du-alert__action-button {
      top: 27px; }
  .du-alert--notification h1 {
    font-size: 22px; }
    .du-alert--notification h1:before {
      color: #ac9147; }
    .du-alert--notification h1 + p {
      font-size: 18px; }

.catastrophic-alert header {
  background-color: #333335;
  height: auto;
  padding-bottom: 32px;
  padding-top: 40px;
  margin-bottom: 40px; }
  @media screen and (max-width: 63.9375em) {
    .catastrophic-alert header {
      text-align: center;
      padding-bottom: 13px;
      padding-top: 21px;
      padding-left: 62px;
      padding-right: 62px; }
      .catastrophic-alert header img {
        width: 235px;
        height: auto; } }
  @media screen and (max-width: 47.9375em) {
    .catastrophic-alert header {
      padding-left: 22px;
      padding-right: 22px; } }
  .catastrophic-alert header h1 {
    text-transform: uppercase;
    color: white;
    font-size: 50px; }
    .catastrophic-alert header h1:before {
      content: "";
      background: transparent url("../images/alert-attention-circle.png") no-repeat scroll center center;
      background-size: 100% 100%;
      width: 39px;
      height: 39px;
      margin-right: 10px;
      display: inline-block; }
    @media screen and (max-width: 63.9375em) {
      .catastrophic-alert header h1 {
        font-size: 40px;
        margin-top: 14px;
        margin-bottom: 11px; }
        .catastrophic-alert header h1:before {
          width: 31px;
          height: 31px; } }
    @media screen and (max-width: 47.9375em) {
      .catastrophic-alert header h1 {
        font-size: 32px;
        text-align: left;
        padding-left: 49px;
        position: relative;
        max-width: 264px;
        margin-left: auto;
        margin-right: auto; }
        .catastrophic-alert header h1:before {
          width: 33px;
          height: 33px;
          position: absolute;
          left: 0;
          top: 50%;
          margin-top: -17px;
          margin-left: 6px; } }
  .catastrophic-alert header h2 {
    color: white;
    font-size: 38px; }
    @media screen and (max-width: 63.9375em) {
      .catastrophic-alert header h2 {
        font-size: 32px; } }
    @media screen and (max-width: 47.9375em) {
      .catastrophic-alert header h2 {
        font-size: 26px; } }

@media print, screen and (min-width: 64em) {
  .catastrophic-alert aside {
    padding-right: 8%; } }

.catastrophic-alert aside h3 {
  margin-bottom: 20px;
  font-size: 24px; }

.catastrophic-alert aside h4 {
  margin-bottom: 20px;
  font-size: 22px; }

.catastrophic-alert aside p {
  margin-left: 20px; }
  .catastrophic-alert aside p + h3 {
    margin-top: 36px; }

.application-cards-module {
  background-color: #f4f4f4;
  margin-bottom: 140px;
  background-repeat: no-repeat;
  background-position: center center;
  background-size: cover; }
  .application-cards-module a {
    text-decoration: none;
    color: #18161f; }
  @media screen and (max-width: 63.9375em) {
    .application-cards-module {
      margin-bottom: 100px; } }
  @media screen and (max-width: 47.9375em) {
    .application-cards-module {
      margin-bottom: 70px; } }
  .application-cards-module.application-cards-module-overlay {
    position: relative; }
    .application-cards-module.application-cards-module-overlay:before {
      content: "";
      position: absolute;
      left: 0;
      right: 0;
      top: 0;
      bottom: 0;
      z-index: 0; }
    .application-cards-module.application-cards-module-overlay > .row {
      position: relative;
      z-index: 1; }
  .application-cards-module--has-icons .cards-module__content {
    position: relative; }
    .application-cards-module--has-icons .cards-module__content:before {
      content: "";
      position: absolute;
      top: 0;
      left: 0;
      right: 0;
      height: 74px;
      background: transparent url("../images/arrow-pattern.png") repeat scroll 0 0; }
      @media screen and (max-width: 47.9375em) {
        .application-cards-module--has-icons .cards-module__content:before {
          display: none; } }
    .application-cards-module--has-icons .cards-module__content .img-wrapper {
      margin-top: 30px; }
      .application-cards-module--has-icons .cards-module__content .img-wrapper img {
        width: 80px;
        height: 80px;
        margin: 0 auto 30px auto;
        display: block; }
  .application-cards-module > .row {
    margin-top: 50px;
    position: relative;
    top: -30px; }
    @media screen and (max-width: 63.9375em) {
      .application-cards-module > .row {
        padding-left: 18px;
        padding-right: 18px; } }
    .application-cards-module > .row > .columns {
      flex-basis: 33.33%; }
      @media screen and (max-width: 47.9375em) {
        .application-cards-module > .row > .columns {
          flex-basis: 100%; } }
  .application-cards-module .cards-module__content {
    background-color: white;
    padding: 0 50px;
    margin-bottom: 18px;
    border: 1px solid #eeeeee;
    text-align: center; }
    .application-cards-module .cards-module__content .card-img-wrapper {
      margin-left: -30px;
      margin-right: -30px;
      margin-bottom: 24px; }
      @media screen and (max-width: 47.9375em) {
        .application-cards-module .cards-module__content .card-img-wrapper {
          display: none; } }
    .application-cards-module .cards-module__content h4 {
      font-weight: 600;
      font-size: 26px;
      line-height: 34px;
      margin-bottom: 40px; }
      @media screen and (max-width: 63.9375em) {
        .application-cards-module .cards-module__content h4 {
          font-size: 18px;
          line-height: 22px; } }
  .application-cards-module .cards-module--has-icons img {
    width: 80px;
    height: 80px;
    margin: 0 auto 30px auto;
    display: block; }
  @media screen and (max-width: 47.9375em) {
    .application-cards-module > .row > .columns:first-child .cards-module__content {
      border-top: 2px solid #d1d1d2; }
    .application-cards-module .cards-module__content {
      padding: 10px 14px;
      margin-bottom: 18px;
      border-width: 0 0 2px 0;
      border-style: solid;
      border-color: #d1d1d2; }
      .application-cards-module .cards-module__content h4 {
        font-size: 24px;
        padding-top: 10px;
        padding-right: 30px;
        position: relative;
        cursor: pointer; } }

body.unit-theme-teal .application-cards-module-overlay:before {
  background-color: #126379;
  opacity: 0.75; }

body.unit-theme-purple .application-cards-module-overlay:before {
  background-color: #544976;
  opacity: 0.75; }

body.unit-theme-green .application-cards-module-overlay:before {
  background-color: #586b2c;
  opacity: 0.75; }

body.unit-theme-gold .application-cards-module-overlay:before {
  background-color: #8c7846;
  opacity: 0.75; }

body.unit-theme-red .application-cards-module-overlay:before {
  background-color: #960e33;
  opacity: 0.75; }

body.unit-theme-grey .application-cards-module-overlay:before {
  background-color: #535353;
  opacity: 0.5; }

.application-cards__description p {
  padding-right: 60px; }

.application-cards__deadline {
  background-color: white;
  padding: 0 20px;
  margin-top: 60px;
  text-align: center; }
  .application-cards__deadline hr {
    clear: both;
    max-width: 66.66667rem;
    height: 0;
    margin: 0 auto 15px auto;
    border-top: 0;
    border-right: 0;
    border-bottom: 2px solid #d1d1d2;
    border-left: 0; }
  .application-cards__deadline p {
    font-size: 18px;
    line-height: 24px;
    color: #000000;
    text-align: center; }
    @media screen and (max-width: 63.9375em) {
      .application-cards__deadline p {
        font-size: 16px;
        line-height: 22px;
        text-align: center;
        padding: 0; } }

.application-cards__deadline-date {
  background-color: white;
  padding: 0 30px;
  text-align: center; }
  .application-cards__deadline-date p {
    color: #000000;
    font-weight: 600;
    font-size: 28px;
    line-height: 34px;
    text-align: center; }
    @media screen and (max-width: 63.9375em) {
      .application-cards__deadline-date p {
        font-size: 24px;
        line-height: 22px;
        padding: 0;
        text-align: center; } }

.article-list {
  margin-bottom: 50px; }
  .article-list .article-list-content {
    border-top: 6px solid #e0e0e0;
    margin-bottom: 30px; }
    .article-list .article-list-content > div {
      border-bottom: 1px solid #d1d1d2; }
      .article-list .article-list-content > div .article.teaser {
        padding: 40px 0;
        max-height: 230px;
        overflow: hidden; }
        .article-list .article-list-content > div .article.teaser .article-list-image {
          margin-right: 20px; }
          .article-list .article-list-content > div .article.teaser .article-list-image img {
            max-height: 150px;
            width: auto; }
        .article-list .article-list-content > div .article.teaser .article-info {
          padding-left: 0;
          max-height: 175px;
          overflow: hidden; }
          .article-list .article-list-content > div .article.teaser .article-info .article-date {
            color: #888888;
            font-size: .8rem;
            margin-bottom: 3px;
            text-transform: uppercase; }
          .article-list .article-list-content > div .article.teaser .article-info a {
            text-decoration: none; }
            .article-list .article-list-content > div .article.teaser .article-info a h5 {
              color: #05637b; }
          .article-list .article-list-content > div .article.teaser .article-info p {
            margin-bottom: 0;
            font-size: 16px; }

.article.teaser {
  padding: 30px 20px;
  height: 100%;
  position: relative;
  max-height: 230px;
  overflow: hidden; }
  .article.teaser:after {
    content: "";
    position: absolute;
    left: 0;
    right: 0;
    bottom: 0;
    height: 2px;
    background: #e0e0e0; }
  .article.teaser .article-list-image {
    margin-right: 20px; }
    .article.teaser .article-list-image img {
      max-height: 150px;
      width: auto; }
  .article.teaser .article-info {
    padding-left: 0;
    max-height: 175px;
    overflow: hidden; }
    .article.teaser .article-info .article-date {
      margin: 0;
      color: #888888;
      font-size: .8rem;
      margin-bottom: 3px;
      text-transform: uppercase; }
    .article.teaser .article-info .article-list-title {
      margin: 0; }
      .article.teaser .article-info .article-list-title a {
        text-decoration: none; }
        .article.teaser .article-info .article-list-title a h5 {
          color: #05637b; }
    .article.teaser .article-info p {
      margin-bottom: 0;
      font-size: 16px; }

.article .intro {
  margin-bottom: 0; }
  .article .intro .article-type-date {
    font-size: 18px;
    font-weight: bold; }
    .article .intro .article-type-date .article-type {
      color: #05637b; }
  .article .intro .article-overview > div {
    margin-top: 20px; }
    .article .intro .article-overview > div p {
      line-height: 28px !important;
      font-family: "BreveSans", sans-serif;
      font-size: 18px; }

.article .feature-media > div {
  width: 100%;
  margin-bottom: 50px;
  text-align: center; }

.article .comment-article-form #edit-submit {
  margin: 20px auto;
  display: block; }

.article .article-comment {
  margin-bottom: 50px; }

.article .article-related {
  margin-bottom: 50px; }
  .article .article-related h2 {
    font-weight: bold; }
  .article .article-related .article-related-type {
    font-size: 19px;
    margin-top: 15px;
    margin-bottom: 5px; }
  .article .article-related h3 {
    margin-bottom: 15px; }

.featured-articles-module {
  margin-bottom: 140px;
  position: relative; }
  .featured-articles-module:before {
    content: "";
    left: 0;
    right: 0;
    width: 100%;
    background: transparent url("../images/arrow-pattern.png") repeat scroll 0 0;
    z-index: -1;
    position: absolute;
    bottom: 52px;
    top: 200px; }
  .featured-articles-module .orbit-next,
  .featured-articles-module .orbit-previous {
    color: #81796f;
    font-size: 31px;
    margin-top: -33px;
    transition: color .3s ease;
    z-index: 2; }
    .featured-articles-module .orbit-next:hover, .featured-articles-module .orbit-next:focus,
    .featured-articles-module .orbit-previous:hover,
    .featured-articles-module .orbit-previous:focus {
      color: #b8a162;
      background-color: transparent;
      cursor: pointer; }
    @media screen and (max-width: 47.9375em) {
      .featured-articles-module .orbit-next,
      .featured-articles-module .orbit-previous {
        display: none; } }
  .featured-articles-module .orbit-previous {
    left: -42px; }
  .featured-articles-module .orbit-next {
    right: -42px; }
  .featured-articles-module .orbit-bullets {
    margin-bottom: 26px;
    margin-top: 0; }
  @media print, screen and (min-width: 48em) {
    .featured-articles-module {
      margin-bottom: 100px; }
      .featured-articles-module > .row {
        max-width: 1270px;
        overflow: hidden; }
        .featured-articles-module > .row > .columns {
          padding-right: 42px;
          padding-left: 44px; }
      .featured-articles-module .orbit-container {
        overflow: visible; } }
  @media (min-width: 768px) and (max-width: 1199px) {
    .featured-articles-module > .row {
      max-width: 96%; } }
  .featured-articles-module .featured-articles__slide a {
    color: #525252;
    text-decoration: none; }
  .featured-articles-module .featured-articles__slide img {
    width: 100%;
    height: auto;
    max-width: 600px;
    max-height: 400px; }
  .featured-articles-module .featured-articles__slide .featured-articles__content {
    background-color: white;
    margin: 0px 0 35px 0px;
    padding: 0px 10px 10px 100px;
    position: relative; }
    @media screen and (max-width: 63.9375em) {
      .featured-articles-module .featured-articles__slide .featured-articles__content {
        margin-top: -87px;
        margin-left: 72px; } }
    @media screen and (max-width: 47.9375em) {
      .featured-articles-module .featured-articles__slide .featured-articles__content {
        margin-left: 0;
        margin-top: 0;
        padding: 23px 20px 31px; } }
    .featured-articles-module .featured-articles__slide .featured-articles__content .featured-articles__category {
      font-size: 18px;
      font-weight: 600;
      color: #8a8a8a;
      margin-bottom: 0;
      text-align: center; }
      .featured-articles-module .featured-articles__slide .featured-articles__content .featured-articles__category + h3 {
        margin-top: 5px; }
      @media screen and (max-width: 47.9375em) {
        .featured-articles-module .featured-articles__slide .featured-articles__content .featured-articles__category {
          font-size: 17px; } }
    .featured-articles-module .featured-articles__slide .featured-articles__content h3 {
      font-size: 40px;
      font-weight: normal;
      margin-bottom: 1.5rem;
      text-align: center; }
      @media screen and (max-width: 47.9375em) {
        .featured-articles-module .featured-articles__slide .featured-articles__content h3 {
          font-size: 22px;
          line-height: 28px; }
          .featured-articles-module .featured-articles__slide .featured-articles__content h3 + p {
            display: none; } }
      .featured-articles-module .featured-articles__slide .featured-articles__content h3.btm-divider:after {
        left: 50%;
        -webkit-transform: translateX(-50%);
        transform: translateX(-50%); }
    .featured-articles-module .featured-articles__slide .featured-articles__content p {
      font-family: "BreveText", sans-serif;
      font-size: 0.889em;
      line-height: 1.625em; }
  @media print, screen and (min-width: 64em) {
    .featured-articles-module .featured-articles__slide .row .columns:first-child {
      padding-right: 0; }
    .featured-articles-module .featured-articles__slide .row .columns:last-child {
      padding-left: 0; } }
  @media screen and (max-width: 47.9375em) {
    .featured-articles-module {
      margin-bottom: 70px; }
      .featured-articles-module > .row {
        margin-left: 0;
        margin-right: 0; }
        .featured-articles-module > .row > .columns {
          padding-left: 0;
          padding-right: 0; } }

.author h3, .author .author-item {
  border-bottom: 1px solid #d1d1d2;
  padding-bottom: 20px; }

.author .author-item {
  font-family: "BreveText", sans-serif;
  margin-top: 20px; }
  .author .author-item h4 {
    color: #05637b;
    font-weight: 700;
    font-size: 1.3492rem;
    margin-bottom: 0; }
  .author .author-item .author-info a span {
    color: #525252; }
  .author .author-item .author-info p {
    margin: 0 15px;
    color: #05637b; }
  .author .author-item .author-social {
    margin-top: 20px; }
    .author .author-item .author-social span {
      background-color: #b8a162;
      display: inline-block;
      border-radius: 40px;
      color: #ffffff; }

blockquote {
  width: 100%;
  font-weight: bold;
  font-size: 28px;
  font-family: "BreveText", sans-serif;
  font-style: italic; }
  blockquote,
  blockquote p {
    line-height: 36px; }
  @media screen and (max-width: 74.9375em) {
    blockquote {
      font-size: 26px; } }
  @media screen and (max-width: 63.9375em) {
    blockquote {
      padding-left: 20px;
      padding-right: 20px; } }
  @media screen and (max-width: 47.9375em) {
    blockquote {
      font-size: 20px;
      padding-bottom: 10px;
      padding-left: 13px;
      padding-right: 13px; }
      blockquote,
      blockquote p {
        line-height: 30px; } }

.blockquote__background {
  position: relative;
  margin-top: 20px;
  margin-bottom: 86px; }
  .blockquote__background:before {
    content: "";
    background: transparent url("../images/arrow-pattern.png") repeat scroll 0 0;
    border-top: 6px solid #d1d1d2;
    position: absolute;
    right: 0;
    top: 0;
    bottom: 0;
    width: 100%;
    z-index: -1; }
    @media (max-width: 1214px) {
      .blockquote__background:before {
        width: 82%; } }
    @media (min-width: 1550px) {
      .blockquote__background:before {
        width: 75%; } }
  @media screen and (max-width: 63.9375em) {
    .blockquote__background {
      margin-left: 63px !important; }
      .blockquote__background:before {
        width: 100%; } }
  @media screen and (max-width: 47.9375em) {
    .blockquote__background {
      margin-left: 22px !important;
      margin-bottom: 100px; } }
  .blockquote__background .row {
    margin-left: auto;
    margin-right: auto; }
  @media (min-width: 1215px) {
    .blockquote__background > .columns > .row > .columns:first-child {
      position: relative; }
      .blockquote__background > .columns > .row > .columns:first-child:before {
        content: "";
        position: absolute;
        top: 0;
        left: -3000px;
        background-color: white;
        display: block;
        height: 100%;
        right: 991px; } }

@media screen {
  .img-wrapper {
    position: relative;
    margin-bottom: 24px; }
    .img-wrapper img {
      width: 100%; }
    .img-wrapper .img-wrapper__content {
      overflow: hidden;
      position: absolute;
      left: 0;
      right: 0;
      bottom: 0;
      margin: 10px 13px;
      color: white;
      background-color: rgba(24, 23, 30, 0.85);
      font-size: 16px;
      padding: 7px 60px 12px 17px; }
      .img-wrapper .img-wrapper__content > *:first-child {
        opacity: 1; }
      .img-wrapper .img-wrapper__content.truncated {
        cursor: pointer;
        background-color: rgba(24, 23, 30, 0.6);
        transition: background-color 0.5s ease; }
        .img-wrapper .img-wrapper__content.truncated:after {
          content: "\e809";
          font-family: "Fontello";
          position: absolute;
          right: 18px;
          bottom: 6px;
          font-size: 24px;
          opacity: 0.5; }
        .img-wrapper .img-wrapper__content.truncated:hover, .img-wrapper .img-wrapper__content.truncated:focus {
          background-color: rgba(24, 23, 30, 0.85); }
          .img-wrapper .img-wrapper__content.truncated:hover > *:first-child, .img-wrapper .img-wrapper__content.truncated:hover:after, .img-wrapper .img-wrapper__content.truncated:focus > *:first-child, .img-wrapper .img-wrapper__content.truncated:focus:after {
            opacity: 1; }
        .img-wrapper .img-wrapper__content.truncated > *:first-child {
          white-space: nowrap;
          overflow: hidden;
          text-overflow: ellipsis;
          opacity: 0.5; }
        .img-wrapper .img-wrapper__content.truncated.expanded {
          background-color: rgba(24, 23, 30, 0.85); }
          .img-wrapper .img-wrapper__content.truncated.expanded > *:first-child {
            white-space: normal;
            opacity: 1; }
          .img-wrapper .img-wrapper__content.truncated.expanded:after {
            content: "\e808";
            opacity: 1; }
      .img-wrapper .img-wrapper__content p:last-child {
        margin-bottom: 0; } }

.card-list-item {
  -webkit-transform: translate3d(0, 0, 0);
  -moz-transform: translate3d(0, 0, 0);
  transform: translate3d(0, 0, 0); }

.cards-list__holder {
  position: relative; }
  .cards-list__holder:after {
    content: '';
    display: inline-block;
    border-bottom: 28px solid #fff;
    border-left: 28px solid transparent;
    border-right: 28px solid transparent;
    position: absolute;
    bottom: -40px;
    left: 50%;
    transform: translateX(-50%);
    z-index: 0;
    opacity: 0;
    transition: opacity .3s; }
  .card-list-item--open .cards-list__holder:after, .cards-list__holder.fading:after {
    opacity: 1; }
  .card-list-item--open .cards-list__holder.fading:after {
    opacity: 0; }
  .cards-list__holder .cards-list__content {
    min-height: 320px;
    background-color: #ffffff;
    position: relative;
    border-top: 6px solid #05637b;
    transition: border .3s ease;
    padding: 11px 17px 17px;
    margin-bottom: 17px; }
    .ap-letter .cards-list__holder .cards-list__content,
    .ap-school .cards-list__holder .cards-list__content {
      border-top: 6px solid #C3C3C3;
      background: transparent url("../images/arrow-pattern.png") repeat scroll 0 0; }
      .ap-letter .cards-list__holder .cards-list__content h2,
      .ap-school .cards-list__holder .cards-list__content h2 {
        font-size: 120px;
        line-height: 132px;
        font-weight: 800;
        color: #b0b0b0; }
    .ap-letter .cards-list__holder .cards-list__content h2 {
      margin-top: -14px;
      margin-left: 8px; }
    .ap-school .cards-list__holder .cards-list__content h2 {
      font-size: 36px;
      font-weight: 700;
      line-height: 1.1; }
    .card-list-item--open .cards-list__holder .cards-list__content {
      border-color: #98012e; }
    .cards-list__holder .cards-list__content p.academic-card {
      font-size: 16px;
      font-family: "BreveSans", sans-serif;
      color: #525252;
      line-height: 20px;
      border-bottom: 1px solid #efefef;
      padding-bottom: 13px; }
    .cards-list__holder .cards-list__content .cards-list-module__title h2.cards-list-title {
      font-family: "BreveSlabTitle", sans-serif;
      font-size: 26px;
      line-height: 34px;
      font-weight: 800;
      transition: color .3s ease; }
      .card-list-item--open .cards-list__holder .cards-list__content .cards-list-module__title h2.cards-list-title {
        color: #98012e; }
    .cards-list__holder .cards-list__content .card-list-bottom {
      position: absolute;
      bottom: 20px;
      left: 17px;
      font-size: 16px; }
    .cards-list__holder .cards-list__content .more-button {
      border: 2px solid #b1b1b1;
      position: absolute;
      width: 30px;
      height: 30px;
      line-height: 25px;
      bottom: 17px;
      right: 17px;
      cursor: pointer;
      transition: border .3s ease;
      font-size: 25px;
      border-radius: 16px;
      text-align: center; }
      .card-list-item--open .cards-list__holder .cards-list__content .more-button {
        border-color: #98012e; }
      .cards-list__holder .cards-list__content .more-button span {
        color: #b1b1b1;
        font-weight: 800;
        transition: color .3s ease; }
        .card-list-item--open .cards-list__holder .cards-list__content .more-button span {
          color: #98012e; }
        .cards-list__holder .cards-list__content .more-button span:before {
          width: auto; }
    .columns:not(.ap-letter):not(.ap-school) .cards-list__holder .cards-list__content:hover {
      border-color: #98012e;
      cursor: pointer; }
      .columns:not(.ap-letter):not(.ap-school) .cards-list__holder .cards-list__content:hover .cards-list-module__title h2.cards-list-title {
        color: #98012e; }
      .columns:not(.ap-letter):not(.ap-school) .cards-list__holder .cards-list__content:hover .more-button {
        border-color: #98012e; }
        .columns:not(.ap-letter):not(.ap-school) .cards-list__holder .cards-list__content:hover .more-button span {
          color: #98012e; }
  .cards-list__holder .flyout {
    box-sizing: border-box;
    display: none;
    position: absolute;
    background: white;
    z-index: 2;
    left: 0;
    float: left;
    right: 0;
    top: 340px;
    margin: 20px 0 0 0;
    border-bottom: 6px solid #98012e; }
    .cards-list__holder .flyout .flyout-content__holder {
      padding: 40px;
      margin-left: 0;
      margin-right: 0;
      position: relative; }
      @media screen and (max-width: 47.9375em) {
        .cards-list__holder .flyout .flyout-content__holder {
          padding: 25px 20px; } }
      .cards-list__holder .flyout .flyout-content__holder .cards-module__buttons {
        margin-top: 38px; }
        @media screen and (max-width: 47.9375em) {
          .cards-list__holder .flyout .flyout-content__holder .cards-module__buttons {
            margin-top: 5px; } }
        .cards-list__holder .flyout .flyout-content__holder .cards-module__buttons ul {
          margin-left: 0; }
          .cards-list__holder .flyout .flyout-content__holder .cards-module__buttons ul li {
            padding-left: 0; }
            .cards-list__holder .flyout .flyout-content__holder .cards-module__buttons ul li:before {
              display: none; }
            .cards-list__holder .flyout .flyout-content__holder .cards-module__buttons ul li a {
              padding: 15px 22px;
              font-size: 20px;
              line-height: 22px;
              font-family: "Acto", sans-serif;
              text-decoration: none;
              display: block;
              color: white;
              text-align: left;
              background-color: #ac9147; }
              @media screen and (max-width: 63.9375em) {
                .cards-list__holder .flyout .flyout-content__holder .cards-module__buttons ul li a {
                  font-size: 16px;
                  line-height: 18px; } }
              @media screen and (max-width: 47.9375em) {
                .cards-list__holder .flyout .flyout-content__holder .cards-module__buttons ul li a {
                  text-align: center; } }
              .cards-list__holder .flyout .flyout-content__holder .cards-module__buttons ul li a:hover, .cards-list__holder .flyout .flyout-content__holder .cards-module__buttons ul li a:focus {
                background-color: #8b6e4a; }
            .cards-list__holder .flyout .flyout-content__holder .cards-module__buttons ul li + li {
              margin-top: 15px; }
            .cards-list__holder .flyout .flyout-content__holder .cards-module__buttons ul li.requirements a {
              background-color: transparent;
              padding-left: 15px; }
              .cards-list__holder .flyout .flyout-content__holder .cards-module__buttons ul li.requirements a:hover, .cards-list__holder .flyout .flyout-content__holder .cards-module__buttons ul li.requirements a:focus {
                background-color: #ac9147; }
        @media screen and (max-width: 47.9375em) {
          .cards-list__holder .flyout .flyout-content__holder .cards-module__buttons {
            max-width: 260px;
            margin-left: auto;
            margin-right: auto; }
            .cards-list__holder .flyout .flyout-content__holder .cards-module__buttons ul li {
              margin-left: 0; } }
      .cards-list__holder .flyout .flyout-content__holder h3 {
        font-size: 24px; }
      .cards-list__holder .flyout .flyout-content__holder h4 {
        font-size: 22px;
        margin-top: 25px; }
      @media print, screen and (min-width: 64em) {
        .cards-list__holder .flyout .flyout-content__holder > .columns:first-child {
          padding-right: 20px; }
          .cards-list__holder .flyout .flyout-content__holder > .columns:first-child + .columns {
            padding-left: 20px; } }
    .card-list-item--open .cards-list__holder .flyout {
      /*display: block;*/
      width: calc(100% - 0.88888rem);
      left: 0;
      right: 0; }

.cards-list-module {
  background: #f4f4f4;
  margin-top: 72px;
  margin-bottom: 60px; }
  @media screen and (max-width: 47.9375em) {
    .cards-list-module {
      margin-bottom: 38px; } }
  .cards-list-module > .row {
    margin-top: 72px;
    padding-bottom: 30px;
    position: relative;
    top: -30px; }
    @media screen and (max-width: 63.9375em) {
      .cards-list-module > .row {
        padding-left: 18px;
        padding-right: 18px; } }
    @media (max-width: 480px) {
      .cards-list-module > .row {
        padding-left: 9px;
        padding-right: 9px; } }
    .cards-list-module > .row > .columns {
      /*flex-basis: 25%;*/
      width: 25%;
      float: left;
      flex: auto; }
      @media screen and (max-width: 63.9375em) {
        .cards-list-module > .row > .columns {
          /*flex-basis: 33.33%;*/
          width: 32%; } }
      @media (max-width: 915px) {
        .cards-list-module > .row > .columns {
          /*flex-basis: 33.33%;*/
          width: 31%; } }
      @media (max-width: 650px) {
        .cards-list-module > .row > .columns {
          width: 47%; } }
      @media (max-width: 650px) {
        .cards-list-module > .row > .columns {
          width: 46%; } }
      @media (max-width: 480px) {
        .cards-list-module > .row > .columns {
          width: 95%; } }

@media screen {
  .cards-module {
    background-color: #f4f4f4;
    margin-bottom: 140px; } }
  @media screen and (max-width: 63.9375em) {
    .cards-module {
      margin-bottom: 100px; } }
  @media screen and (max-width: 47.9375em) {
    .cards-module {
      margin-bottom: 70px; } }

@media screen {
    .cards-module--has-icons .cards-module__content {
      position: relative; }
      .cards-module--has-icons .cards-module__content:before {
        content: "";
        position: absolute;
        top: 0;
        left: 0;
        right: 0;
        height: 74px;
        background: transparent url("../images/arrow-pattern.png") repeat scroll 0 0; } }
      @media screen and (max-width: 47.9375em) {
        .cards-module--has-icons .cards-module__content:before {
          display: none; } }

@media screen {
      .cards-module--has-icons .cards-module__content .img-wrapper {
        margin-top: 30px; }
        .cards-module--has-icons .cards-module__content .img-wrapper img {
          width: 80px;
          height: 80px;
          margin: 0 auto 30px auto;
          display: block; }
    .cards-module > .row {
      margin-top: 50px;
      padding-bottom: 30px;
      position: relative;
      top: -30px; } }
    @media screen and (max-width: 63.9375em) {
      .cards-module > .row {
        padding-left: 18px;
        padding-right: 18px; } }

@media screen {
      .cards-module > .row > .columns {
        flex-basis: 33.33%; } }
      @media screen and (max-width: 47.9375em) {
        .cards-module > .row > .columns {
          flex-basis: 100%; } }

@media screen {
    .cards-module .cards-module__content {
      background-color: white;
      padding: 0 30px;
      margin-bottom: 18px;
      border: 1px solid #eeeeee; }
      .cards-module .cards-module__content p {
        font-size: 16px;
        line-height: 24px; } }
      @media screen and (max-width: 63.9375em) {
        .cards-module .cards-module__content p {
          font-size: 15px;
          line-height: 22px; } }

@media screen {
      .cards-module .cards-module__content ul li {
        font-size: 18px; } }
      @media screen and (max-width: 63.9375em) {
        .cards-module .cards-module__content ul li {
          font-size: 16px; } }

@media screen {
      .cards-module .cards-module__content .card-img-wrapper {
        margin-left: -30px;
        margin-right: -30px;
        margin-bottom: 24px; } }
      @media screen and (max-width: 47.9375em) {
        .cards-module .cards-module__content .card-img-wrapper {
          display: none; } }

@media screen {
      .cards-module .cards-module__content img {
        width: 100%; }
      .cards-module .cards-module__content h4 {
        font-weight: 800;
        font-size: 28px;
        line-height: 34px; }
      .cards-module .cards-module__content .btn {
        display: inline-block;
        font-size: 16px;
        padding: 12px 25px;
        margin-bottom: 40px; }
    .cards-module .cards-module--has-icons img {
      width: 80px;
      height: 80px;
      margin: 0 auto 30px auto;
      display: block; } }
  @media screen and (max-width: 47.9375em) {
    .cards-module > .row > .columns:first-child .cards-module__content {
      border-top: 2px solid #d1d1d2; }
      .cards-module > .row > .columns:first-child .cards-module__content.expanded {
        border-top: 5px solid #d4c092;
        margin-top: 0; }
    .js .cards-module .cards-module__content {
      padding: 10px 14px;
      margin-bottom: 0;
      border-width: 0 0 2px 0;
      border-style: solid;
      border-color: #d1d1d2; }
      .js .cards-module .cards-module__content.expanded {
        border-width: 5px 0;
        border-color: #d4c092;
        margin-top: -2px; }
        .js .cards-module .cards-module__content.expanded > h4:after {
          content: '\e808';
          color: #d4c092; }
        .js .cards-module .cards-module__content.expanded > h4 + .cards-module__hidden-on-small {
          max-height: 1500px; }
      .js .cards-module .cards-module__content > h4 {
        font-size: 24px;
        display: block;
        padding-top: 10px;
        padding-right: 30px;
        position: relative;
        cursor: pointer; }
        .js .cards-module .cards-module__content > h4:after {
          content: "\e809";
          font-family: "Fontello";
          position: absolute;
          right: 0;
          top: 50%;
          margin-top: -9px; }
        .js .cards-module .cards-module__content > h4 + .cards-module__hidden-on-small {
          max-height: 0;
          overflow: hidden;
          transition: max-height 0.5s ease; } }

@media screen {
    .cards-module.two-up .row .columns:first-child .cards-module__content {
      background-color: #05637b; }
      .cards-module.two-up .row .columns:first-child .cards-module__content:before {
        background: none; }
      .cards-module.two-up .row .columns:first-child .cards-module__content h3 {
        padding-top: 130px;
        color: #f9f9f9; }
        .cards-module.two-up .row .columns:first-child .cards-module__content h3:after {
          background-color: #f9f9f9; } }
    @media screen and (max-width: 47.9375em) {
      .cards-module.two-up .row .columns:first-child .cards-module__content {
        display: none; } }
  @media screen and (max-width: 47.9375em) {
    .cards-module.two-up .row .columns:nth-child(2) {
      border-top: 2px solid #d1d1d2; } }

.category-list {
  margin: 24px -8px 70px;
  overflow: auto; }
  @media screen and (max-width: 47.9375em) {
    .category-list {
      margin-bottom: 31px; } }
  .category-list li {
    margin-left: 0;
    width: 25%;
    float: left; }
    .category-list li:before {
      display: none; }
    @media screen and (max-width: 63.9375em) {
      .category-list li {
        width: 33.33%; } }
    @media screen and (max-width: 47.9375em) {
      .category-list li {
        width: 100%; } }
    .category-list li a {
      display: flex;
      align-items: center;
      justify-content: center;
      background-position: center center;
      background-repeat: no-repeat;
      background-attachment: scroll;
      text-align: center;
      color: white;
      margin-left: 8px;
      margin-right: 8px;
      margin-bottom: 16px;
      height: 175px;
      text-decoration: none;
      font-family: "BreveSlabTitle", sans-serif;
      font-size: 20px;
      line-height: 24px;
      font-weight: 700;
      text-transform: uppercase;
      padding: 0 21px; }
      @media screen and (max-width: 63.9375em) {
        .category-list li a {
          background-image: none !important;
          height: 120px; } }
      .category-list li a .category-link-icon {
        margin-bottom: 15px; }
      .category-list li a span {
        display: inline-block; }
  .category-list.category-list--purple li a:hover, .category-list.category-list--purple li a:focus {
    background-color: #2f254d !important; }
  .category-list.category-list--purple li:nth-child(6n+1) a {
    background-color: #534779; }
  .category-list.category-list--purple li:nth-child(6n+2) a {
    background-color: #7a5289; }
  .category-list.category-list--purple li:nth-child(6n+3) a {
    background-color: #48458f; }
  .category-list.category-list--purple li:nth-child(6n+4) a {
    background-color: #6d6191; }
  .category-list.category-list--purple li:nth-child(6n+5) a {
    background-color: #714084; }
  .category-list.category-list--purple li:nth-child(6n+6) a {
    background-color: #6562a7; }
  .category-list.category-list--teal li a:hover, .category-list.category-list--teal li a:focus {
    background-color: #033b4a !important; }
  .category-list.category-list--teal li:nth-child(6n+1) a {
    background-color: #05637b; }
  .category-list.category-list--teal li:nth-child(6n+2) a {
    background-color: #2090ac; }
  .category-list.category-list--teal li:nth-child(6n+3) a {
    background-color: #0b7d87; }
  .category-list.category-list--teal li:nth-child(6n+4) a {
    background-color: #2378a4; }
  .category-list.category-list--teal li:nth-child(6n+5) a {
    background-color: #118f9a; }
  .category-list.category-list--teal li:nth-child(6n+6) a {
    background-color: #0a5a83; }

.category-list__toggler > a {
  display: block;
  border-width: 2px 0;
  border-color: #e0e0e0;
  border-style: solid;
  padding: 17px 11px;
  font-family: "BreveSans", sans-serif;
  font-size: 18px;
  color: #18171e;
  text-decoration: none;
  min-height: 66px; }
  .category-list__toggler > a [class*="icon-du"] {
    float: right;
    font-size: 28px; }
    .category-list__toggler > a [class*="icon-du"]:before {
      margin-right: 0; }
  .category-list__toggler > a:hover, .category-list__toggler > a:focus {
    background-color: #f9f9f9;
    text-decoration: none;
    color: #98012e; }
  @media screen and (max-width: 47.9375em) {
    .category-list__toggler > a {
      margin-bottom: 47px; } }
  @media screen and (max-width: 47.9375em) {
    .category-list__toggler > a.open {
      margin-bottom: 0; } }
  .category-list__toggler > a.open [class*="icon-du"] {
    display: none; }
  .category-list__toggler > a.open:after {
    content: "\e805";
    font-size: 23px;
    padding-top: 4px;
    padding-right: 1px;
    color: #18171e;
    float: right;
    font-family: "Fontello";
    speak: none;
    display: inline-block;
    text-align: center;
    font-variant: normal;
    text-transform: none;
    line-height: 1em;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale; }

@media screen {
  .contact-single-module {
    color: #ffffff;
    margin-bottom: 86px;
    background-repeat: no-repeat;
    background-position: center center;
    background-size: cover;
    color: white; } }
  @media screen and (max-width: 63.9375em) {
    .contact-single-module {
      margin-bottom: 70px; } }
  @media screen and (max-width: 47.9375em) {
    .contact-single-module {
      margin-bottom: 60px; } }

@media screen {
    .contact-single-module--teal {
      background-color: #05637b; }
    .contact-single-module--purple {
      background-color: #534779; }
    .contact-single-module--green {
      background-color: #7a9032; }
    .contact-single-module--gold {
      background-color: #8b6e4a; }
    .contact-single-module .contact-single-module_overlay {
      position: relative; }
      .contact-single-module .contact-single-module_overlay:before {
        content: "";
        position: absolute;
        left: 0;
        right: 0;
        top: 0;
        bottom: 0;
        z-index: 0; }
      .contact-single-module .contact-single-module_overlay > .row {
        position: relative;
        z-index: 1; }
      .contact-single-module .contact-single-module_overlay--black:before {
        background-color: #000000;
        opacity: 0.5; }
      .contact-single-module .contact-single-module_overlay--teal:before {
        background-color: #05637b;
        opacity: 0.85; }
      .contact-single-module .contact-single-module_overlay--purple:before {
        background-color: #2f254d;
        opacity: 0.8; }
      .contact-single-module .contact-single-module_overlay--green:before {
        background-color: #506121;
        opacity: 0.8; }
      .contact-single-module .contact-single-module_overlay--gold:before {
        background-color: #765b3a;
        opacity: 0.8; }
    .contact-single-module .contact-single-module__content {
      padding: 30px;
      margin-bottom: 18px;
      color: #ffffff; } }
    @media screen and (max-width: 47.9375em) {
      .contact-single-module .contact-single-module__content {
        padding: 30px 0 20px 0; } }

@media screen {
      .contact-single-module .contact-single-module__content p {
        font-size: 16px;
        line-height: 24px;
        margin-bottom: 2rem; } }
      @media screen and (max-width: 74.9375em) {
        .contact-single-module .contact-single-module__content p {
          font-size: 15px;
          line-height: 22px; } }

@media screen {
      .contact-single-module .contact-single-module__content a {
        color: #ffffff; }
        .contact-single-module .contact-single-module__content a:hover {
          color: #ffffff; }
      .contact-single-module .contact-single-module__content h3, .contact-single-module .contact-single-module__content h6 {
        color: #ffffff; }
        .contact-single-module .contact-single-module__content h3.btm-divider:after, .contact-single-module .contact-single-module__content h6.btm-divider:after {
          background-color: #ffffff; } }
    @media screen and (max-width: 47.9375em) {
      .contact-single-module .contact-single-module__content h3 {
        margin-bottom: -30px; } }

@media screen {
      .contact-single-module .contact-single-module__content h6 {
        font-size: 0.778rem;
        font-family: "BreveSans", sans-serif;
        max-width: 63%;
        margin-top: 60px; } }
      @media screen and (max-width: 63.9375em) {
        .contact-single-module .contact-single-module__content h6 {
          max-width: 54%; } }
      @media screen and (max-width: 47.9375em) {
        .contact-single-module .contact-single-module__content h6 {
          margin-top: 0;
          max-width: 63%; } }

@media screen {
      .contact-single-module .contact-single-module__content .contact-list {
        color: #ffffff; }
        .contact-single-module .contact-single-module__content .contact-list li {
          margin-left: 0;
          color: #ffffff;
          border: none;
          padding-left: 42px;
          padding-bottom: 21px;
          line-height: 20px; } }
        @media screen and (max-width: 47.9375em) {
          .contact-single-module .contact-single-module__content .contact-list li {
            font-size: 15px; } }

@media screen {
          .contact-single-module .contact-single-module__content .contact-list li a {
            color: #ffffff;
            /* Force Wrap of long URLs */
            /* These are technically the same, but use both */
            overflow-wrap: break-word;
            word-wrap: break-word;
            -ms-word-break: break-all;
            /* This is the dangerous one in WebKit, as it breaks things wherever */
            word-break: break-all;
            /* Instead use this non-standard one: */
            word-break: break-word;
            /* Adds a hyphen where the word breaks, if supported (No Blink) */
            -ms-hyphens: auto;
            -moz-hyphens: auto;
            -webkit-hyphens: auto;
            hyphens: auto;
            /* END - Force Wrap */ }
            .contact-single-module .contact-single-module__content .contact-list li a:hover {
              color: #ffffff;
              text-decoration: underline; }
          .contact-single-module .contact-single-module__content .contact-list li .contact-list__media {
            margin-top: -2px; } }
        @media screen and (max-width: 47.9375em) {
          .contact-single-module .contact-single-module__content .contact-list li .contact-list__media {
            margin-left: -45px;
            font-size: 20px; } }

@media screen {
      .contact-single-module .contact-single-module__content .social-media {
        margin-left: -13px; }
        .contact-single-module .contact-single-module__content .social-media li {
          margin-left: 0;
          font-size: 23px; } }
        @media screen and (max-width: 47.9375em) {
          .contact-single-module .contact-single-module__content .social-media li {
            font-size: 22px; } }

@media screen {
          .contact-single-module .contact-single-module__content .social-media li:before {
            display: none; }
          .contact-single-module .contact-single-module__content .social-media li a {
            padding: 9px 4px;
            border-radius: 21px; }
            .contact-single-module .contact-single-module__content .social-media li a:hover, .contact-single-module .contact-single-module__content .social-media li a:focus {
              background-color: #033b4a;
              text-decoration: none;
              color: white; } }

@media screen {
  .contacts-module {
    color: #ffffff; }
    .contacts-module > .row {
      margin-top: 40px;
      padding-bottom: 30px;
      position: relative;
      top: -30px; } }
    @media screen and (max-width: 74.9375em) {
      .contacts-module > .row {
        padding-left: 18px;
        padding-right: 18px; } }
    @media screen and (max-width: 47.9375em) {
      .contacts-module > .row {
        padding-bottom: 16px; } }

@media screen {
    .contacts-module .contacts-module__content {
      background-color: #05637b;
      padding: 30px;
      margin-bottom: 18px; }
      .contacts-module .contacts-module__content p {
        font-size: 16px;
        line-height: 24px;
        margin-bottom: 2rem; } }
      @media screen and (max-width: 74.9375em) {
        .contacts-module .contacts-module__content p {
          font-size: 17px;
          line-height: 27px; } }
      @media screen and (max-width: 63.9375em) {
        .contacts-module .contacts-module__content p {
          font-size: 15px;
          line-height: 22px; } }

@media screen {
        .contacts-module .contacts-module__content p a {
          color: #ffffff; }
          .contacts-module .contacts-module__content p a:hover {
            color: #ffffff; }
      .contacts-module .contacts-module__content p:empty {
        display: none; }
      .contacts-module .contacts-module__content h4 {
        font-weight: 800;
        font-size: 26px;
        line-height: 30px;
        color: #ffffff; }
      .contacts-module .contacts-module__content .contact-list {
        color: #ffffff; }
        .contacts-module .contacts-module__content .contact-list li {
          margin-left: 0;
          color: #ffffff;
          border-color: #044f62; }
          .contacts-module .contacts-module__content .contact-list li a {
            color: #ffffff; }
            .contacts-module .contacts-module__content .contact-list li a:hover {
              color: #ffffff;
              text-decoration: underline; } }
  @media screen and (max-width: 47.9375em) {
    .contacts-module > .row > .columns:first-child .contacts-module__content.expanded {
      border-top: 5px solid #2090ac;
      margin-top: 0; }
    .js .contacts-module .contacts-module__content {
      padding: 10px 14px;
      margin-bottom: 0;
      border-width: 0 0 1px 0;
      border-style: solid;
      border-color: #d1d1d2; }
      .js .contacts-module .contacts-module__content.expanded {
        border-width: 5px 0;
        border-color: #2090ac;
        margin-top: 0px;
        margin-bottom: 1px; }
        .js .contacts-module .contacts-module__content.expanded > h4:after {
          content: '\e808';
          color: #ffffff; }
        .js .contacts-module .contacts-module__content.expanded > h4 + .contacts-module__hidden-on-small {
          max-height: 1500px; }
      .js .contacts-module .contacts-module__content > h4 {
        font-size: 22px;
        line-height: 26px;
        display: block;
        padding-top: 4px;
        padding-right: 30px;
        padding-bottom: 5px;
        position: relative;
        cursor: pointer; }
        .js .contacts-module .contacts-module__content > h4:after {
          content: "\e809";
          font-family: "Fontello";
          position: absolute;
          right: 0;
          top: 50%;
          margin-top: -9px; }
        .js .contacts-module .contacts-module__content > h4 + .contacts-module__hidden-on-small {
          max-height: 0;
          overflow: hidden;
          transition: max-height 0.5s ease; } }

.btn,
a.btn {
  padding: 15px 20px;
  font-size: 18px;
  font-family: "Acto", sans-serif;
  text-decoration: none;
  display: inline-block;
  color: white;
  background-color: #ac9147; }
  .btn.display-block,
  a.btn.display-block {
    display: block; }
  .btn.centered,
  a.btn.centered {
    text-align: center; }
  .btn:hover, .btn:focus,
  a.btn:hover,
  a.btn:focus {
    background-color: #8b6e4a; }
  .btn.btn--small,
  a.btn.btn--small {
    font-size: 16px;
    padding: 10px 16px; }
  .btn.btn--white,
  a.btn.btn--white {
    color: #ac9147;
    background-color: white; }
    .btn.btn--white:hover, .btn.btn--white:focus,
    a.btn.btn--white:hover,
    a.btn.btn--white:focus {
      background-color: #ac9147;
      color: white; }
  .btn.btn--dark-red,
  a.btn.btn--dark-red {
    background-color: #760626;
    color: white; }
    .btn.btn--dark-red:hover, .btn.btn--dark-red:focus,
    a.btn.btn--dark-red:hover,
    a.btn.btn--dark-red:focus {
      background-color: #510c1e;
      text-decoration: underline; }
  .btn.btn--academic-filter,
  a.btn.btn--academic-filter {
    border: 2px solid #b1b1b1;
    background-color: white;
    color: #81796f !important;
    width: 170px;
    height: 45px;
    padding: 13px 10px;
    font-size: 16px;
    text-align: center;
    line-height: 1; }
    .btn.btn--academic-filter:hover, .btn.btn--academic-filter:focus, .btn.btn--academic-filter.active,
    a.btn.btn--academic-filter:hover,
    a.btn.btn--academic-filter:focus,
    a.btn.btn--academic-filter.active {
      background-color: #98012e;
      text-decoration: none;
      border: 2px solid #98012e;
      color: white !important; }
    .btn.btn--academic-filter.info,
    a.btn.btn--academic-filter.info {
      width: 45px;
      font-size: 26px;
      padding: 8px 0;
      text-align: center;
      position: relative; }
  .btn.btn--disabled,
  a.btn.btn--disabled {
    background-color: #f4f4f4;
    border: 2px solid #f4f4f4;
    color: #a9a8a8 !important;
    font-weight: normal;
    cursor: not-allowed;
    pointer-events: none; }
    .btn.btn--disabled.active,
    a.btn.btn--disabled.active {
      background-color: #f4f4f4;
      border: 2px solid #f4f4f4;
      color: #a9a8a8 !important; }
    .btn.btn--disabled:before,
    a.btn.btn--disabled:before {
      font-family: "Fontello";
      content: "\e819";
      padding-right: 5px; }
    .btn.btn--disabled:hover, .btn.btn--disabled:focus,
    a.btn.btn--disabled:hover,
    a.btn.btn--disabled:focus {
      color: #a9a8a8 !important;
      background-color: #f4f4f4 !important;
      border: 2px solid #f4f4f4; }
  .btn.btn--inline--gold,
  a.btn.btn--inline--gold {
    color: #A58D5B !important;
    border-left: 5px solid #A58D5B;
    background-color: transparent;
    padding-top: 10px;
    padding-bottom: 10px;
    margin-top: 5px;
    margin-bottom: 5px; }
    .btn.btn--inline--gold:hover, .btn.btn--inline--gold:focus,
    a.btn.btn--inline--gold:hover,
    a.btn.btn--inline--gold:focus {
      background-color: #A58D5B;
      color: #f4f4f4 !important; }
  .btn.btn--inline--dark-red,
  a.btn.btn--inline--dark-red {
    color: #760626 !important;
    border-left: 5px solid #760626;
    background-color: transparent; }
    .btn.btn--inline--dark-red:hover, .btn.btn--inline--dark-red:focus,
    a.btn.btn--inline--dark-red:hover,
    a.btn.btn--inline--dark-red:focus {
      background-color: #760626;
      color: #f4f4f4 !important; }
  .btn.btn--hollow,
  a.btn.btn--hollow {
    background: transparent;
    border: 2px solid white;
    padding: 13px 18px;
    font-weight: bold; }
    .btn.btn--hollow:hover, .btn.btn--hollow:focus,
    a.btn.btn--hollow:hover,
    a.btn.btn--hollow:focus {
      background: white;
      color: black; }

.bg-img-btn {
  position: relative;
  display: block; }
  .bg-img-btn > img {
    width: 100%; }
  .bg-img-btn .content {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    display: flex;
    align-items: center;
    flex-direction: column;
    justify-content: center;
    color: white;
    font-size: 24px;
    line-height: 1.2;
    font-family: "BreveSlabTitle", sans-serif;
    font-weight: 700;
    text-transform: uppercase;
    background-color: rgba(0, 0, 0, 0.3);
    text-align: center;
    padding-left: 5px;
    padding-right: 5px; }
    .bg-img-btn .content p {
      margin-bottom: 0;
      line-height: 1.2; }
  .bg-img-btn:hover .content, .bg-img-btn:focus .content {
    background-color: rgba(0, 0, 0, 0.75); }
  @media screen and (max-width: 47.9375em) {
    .bg-img-btn {
      max-height: 90px;
      overflow: hidden;
      margin-top: 13px; }
      .bg-img-btn .content > img {
        display: none; } }

.follow-us {
  background: #8c2332 url("../images/follow-us-stamp.png") no-repeat scroll center center;
  text-align: center;
  padding-bottom: 24px;
  padding-top: 24px;
  font-size: 16px; }
  @media screen and (max-width: 63.9375em) {
    .follow-us {
      background-position: center bottom;
      background-size: 90% auto; } }
  .follow-us h2 {
    font-size: 30px;
    font-weight: 700;
    color: white;
    font-family: "BreveSans", sans-serif; }
  .follow-us .social-media li {
    margin-left: 0; }
    .follow-us .social-media li a {
      font-size: 30px;
      padding-left: 7px;
      padding-right: 7px;
      border-radius: 30px; }
      .follow-us .social-media li a:hover, .follow-us .social-media li a:focus {
        background-color: #560d20;
        text-decoration: none;
        color: white; }
  @media (max-width: 350px) {
    .follow-us .social-media {
      justify-content: center; }
      .follow-us .social-media > li {
        flex-basis: 21%; } }
  .follow-us .follow-us__view-all {
    font-family: "Acto", sans-serif;
    font-size: 16px;
    color: white;
    display: block;
    text-decoration: none; }
    .follow-us .follow-us__view-all:hover, .follow-us .follow-us__view-all:focus {
      text-decoration: underline; }
    @media screen and (max-width: 63.9375em) {
      .follow-us .follow-us__view-all {
        margin-top: 1em; } }

ul.list-of-facts {
  list-style: none;
  margin-left: 0px;
  margin-bottom: 0px;
  height: 100%; }
  ul.list-of-facts li {
    margin-left: 0;
    height: 25%;
    font-weight: bold;
    font-size: 1.25rem;
    padding-top: 0.8rem;
    padding-right: 24px;
    padding-bottom: 0.8rem;
    padding-left: 24px;
    border-bottom: 1px solid #d1d1d2; }
    @media screen and (max-width: 47.9375em) {
      ul.list-of-facts li {
        height: auto; } }
    @media (min-width: 768px) and (max-width: 1199px) {
      ul.list-of-facts li {
        padding-top: 0.6rem;
        padding-right: 18px;
        padding-bottom: 0.6rem;
        padding-left: 18px; } }
    ul.list-of-facts li:last-child {
      border-bottom: none; }
    @media screen and (max-width: 47.9375em) {
      ul.list-of-facts li:first-child {
        border-top: 1px solid #d1d1d2; } }
    ul.list-of-facts li:nth-child(2), ul.list-of-facts li:nth-child(4) {
      background-color: #e0e0e0; }
    ul.list-of-facts li:before {
      background-color: transparent;
      height: 0px;
      width: 0px; }
    ul.list-of-facts li p {
      font-weight: normal;
      font-size: 1rem;
      margin-bottom: 0px; }

ul.two-col {
  -moz-column-count: 2;
  -webkit-column-count: 2;
  column-count: 2; }
  ul.two-col li {
    /* autoprefixer: off */
    -webkit-column-break-inside: avoid;
    /* Chrome, Safari */
    page-break-inside: avoid;
    /* Theoretically FF 20+ */
    break-inside: avoid-column;
    /* IE 11 */ }

.pagination {
  font-family: "BreveSlabTitle", sans-serif;
  font-size: 18px;
  font-weight: 700;
  margin-bottom: 56px;
  margin-top: 43px; }
  .pagination li {
    border-bottom: 5px solid transparent; }
    .pagination li:before {
      display: none; }
    .pagination li.pagination-previous, .pagination li.pagination-next {
      padding-top: 0;
      font-size: 26px;
      position: relative;
      top: -14px; }
      .pagination li.pagination-previous a, .pagination li.pagination-next a {
        display: block;
        width: 65px;
        height: 65px;
        color: #c2b89d;
        border: 2px solid #d1d1d2;
        padding: 0; }
        .pagination li.pagination-previous a [class*="icon-du-"]:before,
        .pagination li.pagination-previous a [class*="du-icon-"]:before, .pagination li.pagination-next a [class*="icon-du-"]:before,
        .pagination li.pagination-next a [class*="du-icon-"]:before {
          margin: 0;
          width: 65px;
          height: 65px;
          position: relative;
          top: 16px; }
        .pagination li.pagination-previous a:hover, .pagination li.pagination-previous a:focus, .pagination li.pagination-next a:hover, .pagination li.pagination-next a:focus {
          background-color: #c2b89d;
          border-color: #c2b89d;
          color: white; }
      .pagination li.pagination-previous.disabled, .pagination li.pagination-next.disabled {
        color: #ecf0f3;
        border: 2px solid #ecf0f3;
        padding: 0; }
        .pagination li.pagination-previous.disabled [class*="icon-du-"]:before, .pagination li.pagination-next.disabled [class*="icon-du-"]:before {
          width: 65px;
          height: 65px;
          margin: 0;
          position: relative;
          top: 16px; }
    .pagination li a {
      color: #18171e;
      text-decoration: none; }
      .pagination li a:hover, .pagination li a:focus {
        color: #98012e; }
    .pagination li.current {
      border-bottom: 5px solid #98012e; }

ul.accordion li {
  margin-left: 0; }

.accordion-item:before,
#main-content .accordion-item:before {
  display: none; }

.accordion-item a.accordion-title,
#main-content .accordion-item a.accordion-title {
  background-color: #e0dbce;
  color: #525252;
  font-family: "BreveSlabTitle", sans-serif;
  font-weight: 700;
  text-decoration: none;
  padding-right: 42px; }
  .accordion-item a.accordion-title:hover, .accordion-item a.accordion-title:focus,
  #main-content .accordion-item a.accordion-title:hover,
  #main-content .accordion-item a.accordion-title:focus {
    text-decoration: none;
    background-color: #b0aa9e;
    color: white; }
  .accordion-item a.accordion-title:before,
  #main-content .accordion-item a.accordion-title:before {
    font-family: "Fontello";
    content: "\e809";
    color: white;
    margin-top: -11px; }

.accordion-item.is-active a.accordion-title,
#main-content .accordion-item.is-active a.accordion-title {
  background-color: #81796f;
  color: white; }
  .accordion-item.is-active a.accordion-title:before,
  #main-content .accordion-item.is-active a.accordion-title:before {
    content: "\e808"; }

.accordion-item + .accordion-item,
#main-content .accordion-item + .accordion-item {
  margin-top: 11px; }

.icon-list {
  margin-left: 0; }
  .icon-list > li {
    margin-left: 0;
    border-bottom: 1px solid #d1d1d2;
    padding: 19px 15px 14px 100px;
    font-size: 18px;
    color: #525252;
    overflow: auto; }
    .icon-list > li:before {
      display: none; }
    .icon-list > li:first-child {
      border-top: 1px solid #d1d1d2; }
    .icon-list > li .icon-list__media {
      width: 60px;
      height: 60px;
      margin-left: -85px;
      float: left;
      font-size: 60px;
      line-height: 47px;
      text-align: center; }
      .icon-list > li .icon-list__media span:before {
        margin-left: 0;
        margin-right: 0;
        width: auto; }
    .icon-list > li ul {
      margin-left: 0; }
    .icon-list > li p {
      margin-bottom: 0px;
      line-height: 28px; }
    .icon-list > li a {
      font-family: "Acto", sans-serif;
      text-decoration: none;
      font-weight: bold; }
      .icon-list > li a.btn {
        position: relative;
        padding: 11px 0 2px 22px;
        background-color: transparent;
        color: #2090ac; }
        .icon-list > li a.btn:before {
          content: "\e800";
          color: #d1d1d2;
          font-family: "Fontello";
          position: absolute;
          left: 2px;
          top: 12px;
          margin-top: 0; }
        .icon-list > li a.btn:hover, .icon-list > li a.btn:focus {
          color: #05637b; }
    @media screen and (max-width: 74.9375em) {
      .icon-list > li {
        font-size: 16px; }
        .icon-list > li p {
          line-height: 26px; } }
    @media screen and (max-width: 47.9375em) {
      .icon-list > li {
        padding-left: 78px;
        font-size: 15px; }
        .icon-list > li .icon-list__media {
          margin-left: -78px; }
        .icon-list > li p {
          line-height: 22px; } }

.list-of-links {
  margin-left: 0;
  list-style-type: none; }
  .list-of-links > li {
    margin-top: -1px;
    /* Helps items align in 2 column version. */
    margin-left: 0;
    border-top: 1px solid #d1d1d2;
    border-bottom: 1px solid #d1d1d2;
    padding-top: 8px;
    padding-bottom: 8px;
    line-height: 21px; }
    .list-of-links > li:before {
      display: none; }
    .list-of-links > li:first-child {
      margin-top: 0; }
    .list-of-links > li a {
      padding: 0 16px 0 41px;
      position: relative;
      display: block;
      font-size: 18px;
      font-weight: 800;
      font-family: "Acto", sans-serif;
      text-decoration: none; }
      .list-of-links > li a:before {
        content: "\e800";
        color: #d1d1d2;
        font-family: "Fontello";
        position: absolute;
        left: 16px;
        top: 50%;
        margin-top: -10px; }
    .list-of-links > li ul {
      margin-left: 41px;
      padding-bottom: 7px; }
      .list-of-links > li ul li a {
        padding: 0; }
        .list-of-links > li ul li a:before {
          display: none; }

.list-of-links--alt {
  margin-left: 0; }
  .list-of-links--alt li {
    margin-left: 0;
    text-align: left; }
    .list-of-links--alt li:before {
      display: none; }
    .list-of-links--alt li a {
      position: relative;
      z-index: 1;
      padding: 18px 21px 21px 20px;
      color: #A58D5B;
      display: inline-block;
      text-decoration: none;
      font-size: 22px;
      line-height: 25px; }
      .list-of-links--alt li a:before {
        content: "";
        transition: width .2s ease;
        width: 5px;
        top: 0;
        bottom: 0;
        left: 0;
        position: absolute;
        background-color: #bda474;
        z-index: -1; }
      @media screen and (max-width: 63.9375em) {
        .list-of-links--alt li a {
          font-size: 18px;
          line-height: 23px; } }
      .list-of-links--alt li a:hover, .list-of-links--alt li a:focus {
        color: white; }
        .list-of-links--alt li a:hover:before, .list-of-links--alt li a:focus:before {
          width: 100%;
          right: 0; }
    .list-of-links--alt li + li {
      margin-top: 23px; }

.contact-list {
  margin-left: 0; }
  .contact-list li {
    border-bottom: 1px solid #d1d1d2;
    padding: 7px 15px 5px 55px;
    font-size: 16px;
    color: #525252;
    overflow: auto; }
    .contact-list li:before {
      display: none; }
    .contact-list li:first-child {
      border-top: 1px solid #d1d1d2; }
    .contact-list li .contact-list__media {
      width: 25px;
      height: 25px;
      margin-left: -45px;
      float: left;
      font-size: 24px;
      line-height: 24px; }
    .contact-list li p {
      margin-bottom: 0px;
      line-height: 28px; }
    .contact-list li a {
      text-decoration: none; }
    @media screen and (max-width: 74.9375em) {
      .contact-list li {
        font-size: 16px; }
        .contact-list li p {
          line-height: 26px; } }
    @media screen and (max-width: 47.9375em) {
      .contact-list li {
        padding-left: 50px;
        font-size: 14px; }
        .contact-list li .contact-list__media {
          margin-left: -48px; }
        .contact-list li p {
          line-height: 22px; } }

.show-hide-toggle {
  display: none; }

.js .show-hide-toggle {
  position: relative;
  margin-top: -54px;
  margin-bottom: 40px;
  display: block; }
  .js .show-hide-toggle ~ * {
    display: none; }
  .js .show-hide-toggle:before {
    content: "";
    position: absolute;
    left: 0;
    right: 0;
    bottom: 1px;
    height: 70px;
    background: -moz-linear-gradient(top, rgba(255, 255, 255, 0) 0%, rgba(255, 255, 255, 0.64) 21%, white 62%, white 100%);
    background: -webkit-linear-gradient(top, rgba(255, 255, 255, 0) 0%, rgba(255, 255, 255, 0.64) 21%, white 62%, white 100%);
    background: linear-gradient(to bottom, rgba(255, 255, 255, 0) 0%, rgba(255, 255, 255, 0.64) 21%, white 62%, white 100%);
    filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#00ffffff', endColorstr='#ffffff',GradientType=0 ); }
  .js .show-hide-toggle a {
    display: block;
    text-decoration: none;
    border-bottom: 1px solid #d1d1d2;
    height: 70px;
    position: relative; }
    .js .show-hide-toggle a [class*="icon-du"],
    .js .show-hide-toggle a [class*="du-icon"] {
      position: absolute;
      margin-left: -15.5px;
      left: 50%;
      bottom: -14px; }
      .js .show-hide-toggle a [class*="icon-du"]:before,
      .js .show-hide-toggle a [class*="du-icon"]:before {
        width: 30px;
        height: 30px;
        border: 1px solid #c2b89d;
        background-color: white;
        color: #81796f;
        padding: 0;
        font-size: 23px;
        line-height: 27px;
        transition: background-color 0.5s ease;
        border-radius: 16px;
        margin-left: 0;
        margin-right: 0; }
    .js .show-hide-toggle a .icon-du-minus,
    .js .show-hide-toggle a .du-icon-minus {
      display: none; }
    .js .show-hide-toggle a:hover [class*="icon-du"]:before,
    .js .show-hide-toggle a:hover [class*="du-icon"]:before, .js .show-hide-toggle a:focus [class*="icon-du"]:before,
    .js .show-hide-toggle a:focus [class*="du-icon"]:before {
      background-color: #c2b89d;
      color: white; }
  .js .show-hide-toggle.show-hide--expanded:before {
    display: none; }
  .js .show-hide-toggle.show-hide--expanded a .icon-du-minus,
  .js .show-hide-toggle.show-hide--expanded a .du-icon-minus {
    display: block; }
  .js .show-hide-toggle.show-hide--expanded a .icon-du-plus,
  .js .show-hide-toggle.show-hide--expanded a .du-icon-plus {
    display: none; }

.js .show-hide__contents {
  display: none; }

.orbit-bullets button {
  background-color: #c7c7c7; }
  .orbit-bullets button.is-active {
    background-color: #98012e; }
  .orbit-bullets button:hover, .orbit-bullets button:focus {
    cursor: pointer; }

.responsive-embed {
  margin-bottom: 50px; }
  @media screen and (max-width: 47.9375em) {
    .responsive-embed {
      margin-bottom: 40px; } }

#du-loader {
  display: none;
  position: fixed;
  top: 0;
  left: 0;
  background-color: rgba(209, 209, 210, 0.6);
  width: 100%;
  text-align: center;
  bottom: 0;
  z-index: 10; }
  #du-loader > span {
    /*content: '\e832';
		font-family: $icon-font;*/
    font-size: 30px;
    position: absolute;
    top: 50%;
    margin-top: -17px;
    margin-left: -17px;
    color: white; }

@media screen {
  .copy-module {
    margin-bottom: 68px; } }
  @media screen and (max-width: 47.9375em) {
    .copy-module {
      margin-bottom: 58px; } }

@media screen {
    .copy-module.copy-module--image-alt > .row.expanded {
      position: relative; }
      .copy-module.copy-module--image-alt > .row.expanded:before {
        content: "";
        left: 0;
        right: 0;
        width: 100%;
        background-color: #f4f4f4;
        height: 250px;
        z-index: -1;
        position: absolute;
        top: 50%; } }
    @media screen and (max-width: 63.9375em) {
      .copy-module.copy-module--image-alt > .row.expanded:before {
        display: none; }
      .copy-module.copy-module--image-alt > .row.expanded > .columns {
        padding-left: 0;
        padding-right: 0; }
        .copy-module.copy-module--image-alt > .row.expanded > .columns > .row {
          padding-left: 0;
          padding-right: 0; }
      .copy-module.copy-module--image-alt > .row.expanded .large-9 {
        position: relative;
        padding-left: 0;
        padding-right: 0; }
        .copy-module.copy-module--image-alt > .row.expanded .large-9:before {
          content: "";
          left: 0;
          right: 0;
          width: 100%;
          background-color: #f4f4f4;
          z-index: -1;
          position: absolute;
          height: 163px;
          bottom: -98px; }
        .copy-module.copy-module--image-alt > .row.expanded .large-9 img {
          width: 100%;
          padding-left: 63px;
          padding-right: 63px; }
      .copy-module.copy-module--image-alt > .row.expanded .large-3 {
        padding-right: 43px; } }
    @media screen and (max-width: 47.9375em) {
      .copy-module.copy-module--image-alt > .row.expanded .large-9:before {
        height: 121px;
        bottom: 0; }
      .copy-module.copy-module--image-alt > .row.expanded .large-9 img {
        padding-left: 22px;
        padding-right: 22px; }
      .copy-module.copy-module--image-alt > .row.expanded .large-3 {
        padding-right: 20px; } }

@media screen {
    .copy-module.copy-module--image {
      margin-top: 95px;
      margin-bottom: 140px; } }
    @media screen and (max-width: 63.9375em) {
      .copy-module.copy-module--image {
        margin-top: 65px;
        margin-bottom: 100px; } }
    @media screen and (max-width: 47.9375em) {
      .copy-module.copy-module--image {
        margin-top: 0;
        margin-bottom: 40px; } }

@media screen {
      .copy-module.copy-module--image > .row.expanded .content {
        position: relative;
        top: 50px;
        background-color: white;
        padding: 30px 65px 30px 40px;
        margin-bottom: 50px;
        font-size: 18px; } }
      @media screen and (max-width: 63.9375em) {
        .copy-module.copy-module--image > .row.expanded .content {
          top: -105px;
          margin-bottom: -105px; } }
      @media screen and (max-width: 63.9375em) {
        .copy-module.copy-module--image > .row.expanded .content {
          font-size: 16px; } }

@media screen {
        .copy-module.copy-module--image > .row.expanded .content h3 {
          margin-bottom: 30px;
          padding-bottom: 35px;
          position: relative; }
          .copy-module.copy-module--image > .row.expanded .content h3:after {
            content: "";
            width: 85px;
            position: absolute;
            left: 0;
            bottom: 0;
            height: 6px;
            background-color: #18171e; }
      .copy-module.copy-module--image > .row.expanded .large-3 .content {
        left: -66%;
        width: 166%; }
      .copy-module.copy-module--image > .row.expanded .large-6 .content {
        left: -42%;
        width: 142%; } }
    @media screen and (max-width: 63.9375em) {
      .copy-module.copy-module--image > .row.expanded > .columns > .row {
        margin-left: 0;
        margin-right: 0; }
      .copy-module.copy-module--image > .row.expanded .large-3 .content,
      .copy-module.copy-module--image > .row.expanded .large-6 .content {
        left: 0;
        width: 75%;
        float: right;
        padding: 30px 18px; } }
  @media screen and (max-width: 63.9375em) and (max-width: 47.9375em) {
    .copy-module.copy-module--image > .row.expanded .large-3 .content,
    .copy-module.copy-module--image > .row.expanded .large-6 .content {
      width: 100%;
      float: none;
      position: static;
      margin-bottom: 0; } }
    @media screen and (max-width: 47.9375em) {
      .copy-module.copy-module--image > .row.expanded > .columns {
        padding-left: 0;
        padding-right: 0; }
        .copy-module.copy-module--image > .row.expanded > .columns > .row {
          padding-left: 0;
          padding-right: 0; }
      .copy-module.copy-module--image > .row.expanded img {
        width: 100%;
        padding-left: 18px;
        padding-right: 18px; } }

@media screen {
    .copy-module > .row.expanded,
    .copy-module > .row.expanded > .columns > .row {
      margin-left: auto;
      margin-right: auto; } }
  @media screen and (max-width: 74.9375em) {
    .copy-module > .row.expanded > .columns > .row {
      padding-left: 47px;
      padding-right: 47px; } }
  @media screen and (max-width: 74.9375em) and (max-width: 47.9375em) {
    .copy-module > .row.expanded > .columns > .row {
      padding-left: 18px;
      padding-right: 18px; } }

.cta-inline-module {
  border-left: 2px solid #2090ac;
  padding: 0px 0px 0px 10px;
  margin-bottom: 15px; }
  .cta-inline-module .inline-content h4 {
    font-size: 28px;
    font-weight: 600; }
  .cta-inline-module .inline-content .btn {
    margin-top: 0px; }
  .cta-inline-module .cta-inline {
    text-align: left;
    font-style: italic;
    color: #2090ac; }
  @media screen and (max-width: 63.9375em) {
    .cta-inline-module {
      padding: 0px 0px 0px 10px;
      margin-bottom: 30px; }
      .cta-inline-module .inline-content h4 {
        font-size: 24px; }
      .cta-inline-module .inline-content .btn {
        margin-top: 0px; } }
  @media screen and (max-width: 47.9375em) {
    .cta-inline-module {
      padding: 0px 0px 0px 10px;
      margin-bottom: 86px; }
      .cta-inline-module .inline-content h4 {
        font-size: 24px; }
      .cta-inline-module .inline-content .btn {
        margin-top: 5px; } }

.cta-module {
  padding-bottom: 68px;
  padding-top: 64px;
  margin-bottom: 140px;
  margin-top: 122px;
  background-repeat: no-repeat;
  background-position: center center;
  background-size: cover;
  color: white; }
  @media screen and (max-width: 63.9375em) {
    .cta-module {
      margin-top: 82px;
      margin-bottom: 100px; } }
  @media screen and (max-width: 47.9375em) {
    .cta-module {
      margin-top: 40px;
      margin-bottom: 70px; } }
  .cta-module.cta-module--large {
    padding-top: 137px;
    padding-bottom: 161px;
    margin-bottom: 132px; }
    .cta-module.cta-module--large .content {
      text-align: center;
      position: relative;
      padding: 40px; }
      .cta-module.cta-module--large .content h2 {
        font-size: 42px;
        margin-bottom: 18px; }
        .cta-module.cta-module--large .content h2 + p {
          padding-top: 18px;
          position: relative;
          margin-bottom: 10px; }
          .cta-module.cta-module--large .content h2 + p:after {
            content: "";
            background-color: white;
            width: 78px;
            height: 6px;
            position: absolute;
            left: 50%;
            margin-left: -39px;
            top: -3px; }
      .cta-module.cta-module--large .content .btn-wrap {
        position: absolute;
        bottom: -29px;
        left: 0;
        right: 0;
        top: auto;
        margin-top: 0;
        width: 100%; }
        .cta-module.cta-module--large .content .btn-wrap .btn {
          padding: 15px 20px;
          min-width: 141px; }
  .cta-module--remove-btm-margin {
    margin-bottom: 0 !important; }
  .cta-module--teal .content {
    background-color: #05637b; }
  .cta-module--purple .content {
    background-color: #534779; }
  .cta-module--green .content {
    background-color: #7a9032; }
  .cta-module--gold .content {
    background-color: #8b6e4a; }
  .cta-module[class*="overlay"] {
    position: relative; }
    .cta-module[class*="overlay"]:before {
      content: "";
      position: absolute;
      left: 0;
      right: 0;
      top: 0;
      bottom: 0;
      z-index: 0;
      /*@include breakpoint(medium down) {
				opacity: 1;
			}*/ }
    .cta-module[class*="overlay"] > .row {
      position: relative;
      z-index: 1; }
  .cta-module--overlay-black:before {
    background-color: #000000;
    opacity: 0.5; }
  .cta-module--overlay-teal:before {
    background-color: #05637b;
    opacity: 0.75; }
  .cta-module--overlay-purple:before {
    background-color: #2f254d;
    opacity: 0.75; }
  .cta-module--overlay-green:before {
    background-color: #506121;
    opacity: 0.75; }
  .cta-module--overlay-gold:before {
    background-color: #765b3a;
    opacity: 0.75; }
  @media print, screen and (min-width: 48em) {
    .cta-module .content {
      padding: 0 230px 0 0; } }
  .cta-module .content h2 {
    color: white;
    font-size: 36px;
    font-weight: 800;
    text-align: center;
    margin-bottom: 0; }
    .cta-module .content h2 + p {
      margin-bottom: 0; }
  .cta-module .content p {
    text-align: center; }
  .cta-module .content .btn-wrap {
    margin-bottom: 0; }
    @media print, screen and (min-width: 48em) {
      .cta-module .content .btn-wrap {
        position: absolute;
        right: 0;
        top: 50%;
        margin-top: -20px;
        width: 230px; } }
    .cta-module .content .btn-wrap .btn {
      font-size: 16px;
      display: inline-block;
      padding: 10px 20px;
      min-width: 155px; }
  .cta-module > .row > .columns > .row {
    align-items: center; }
  @media screen and (max-width: 63.9375em) {
    .cta-module {
      padding-bottom: 54px;
      padding-top: 49px; }
      .cta-module.cta-module--large {
        padding-bottom: 139px;
        padding-top: 116px;
        margin-bottom: 95px;
        margin-top: 49px; }
        .cta-module.cta-module--large .content h2 {
          font-size: 38px;
          line-height: 42px; }
        .cta-module.cta-module--large .content .btn {
          margin-top: 0; }
      .cta-module--overlay-black:before {
        background-color: #18171e; }
      .cta-module .content h2 {
        font-size: 30px;
        line-height: 34px; }
        .cta-module .content h2 + p {
          font-size: 16px; } }
  @media screen and (max-width: 47.9375em) {
    .cta-module {
      padding: 32px 17px 48px;
      margin-bottom: 52px;
      margin-top: 30px; }
      .cta-module.cta-module--large {
        padding: 81px 0 103px;
        margin-bottom: 65px; }
        .cta-module.cta-module--large .content {
          padding: 22px; }
          .cta-module.cta-module--large .content h2 {
            font-size: 28px;
            line-height: 32px; }
            .cta-module.cta-module--large .content h2 + p {
              margin-bottom: 33px; }
      .cta-module .content h2 {
        font-size: 24px;
        line-height: 26px; }
        .cta-module .content h2 + p {
          font-size: 15px;
          line-height: 20px; }
      .cta-module .content .btn {
        margin-top: 18px; }
      .cta-module > .row > .columns > .row > .columns {
        padding-left: 0;
        padding-right: 0; } }

.dropdown-video-module__container {
  margin-bottom: 164px;
  margin-top: 122px; }
  @media screen and (max-width: 63.9375em) {
    .dropdown-video-module__container {
      margin-bottom: 124px;
      margin-top: 83px; } }
  @media screen and (max-width: 47.9375em) {
    .dropdown-video-module__container {
      margin-bottom: 94px;
      margin-top: 40px; } }

.dropdown-video-module {
  position: relative; }
  .dropdown-video-module__wrapper {
    overflow: hidden;
    height: 382px;
    transition: height 1s ease; }
    @media screen and (max-width: 63.9375em) {
      .dropdown-video-module__wrapper {
        height: 332px; } }
    @media screen and (max-width: 47.9375em) {
      .dropdown-video-module__wrapper {
        height: 240px; } }
    .dropdown-video-module__wrapper img {
      width: 100vw; }
    .dropdown-video-module__wrapper #dropdownVideo {
      display: none; }
      .dropdown-video-module__wrapper #dropdownVideo iframe {
        width: 68vw;
        height: 80vh;
        margin-left: 16vw;
        margin-right: 16vw;
        border-width: 0px; }
        @media screen and (max-width: 63.9375em) {
          .dropdown-video-module__wrapper #dropdownVideo iframe {
            margin-left: 0vw;
            margin-right: 0vw;
            width: 100vw; } }
  .dropdown-video-module .dropdown-video-module__toggle {
    display: none; }
    .dropdown-video-module .dropdown-video-module__toggle p {
      margin-bottom: 0rem; }
  .js .dropdown-video-module .dropdown-video-module__toggle,
  .js .dropdown-video-module .dropdown-video-module__close-modal {
    margin-top: -24px;
    margin-left: 35%;
    width: 30%;
    display: block;
    position: relative;
    text-align: center; }
    @media screen and (max-width: 63.9375em) {
      .js .dropdown-video-module .dropdown-video-module__toggle,
      .js .dropdown-video-module .dropdown-video-module__close-modal {
        margin-top: -44px;
        margin-left: 20%;
        width: 60%; } }
    @media screen and (max-width: 400px) {
      .js .dropdown-video-module .dropdown-video-module__toggle,
      .js .dropdown-video-module .dropdown-video-module__close-modal {
        margin-top: -84px; } }
    .js .dropdown-video-module .dropdown-video-module__toggle .dropdown-video-module__toggle__hide,
    .js .dropdown-video-module .dropdown-video-module__close-modal .dropdown-video-module__toggle__hide {
      display: none; }
  .js .dropdown-video-module--active .dropdown-video-module__wrapper {
    height: 80vh;
    width: 100%;
    background-color: #18171e; }
    @media screen and (max-width: 63.9375em) {
      .js .dropdown-video-module--active .dropdown-video-module__wrapper {
        height: 461px; } }
    @media screen and (max-width: 63.9375em) {
      .js .dropdown-video-module--active .dropdown-video-module__wrapper {
        height: 461px; } }
    .js .dropdown-video-module--active .dropdown-video-module__wrapper .orbit-previous,
    .js .dropdown-video-module--active .dropdown-video-module__wrapper .orbit-next {
      display: block; }
    .js .dropdown-video-module--active .dropdown-video-module__wrapper .orbit-caption {
      visibility: visible;
      opacity: 1; }
  .js .dropdown-video-module--active .dropdown-video-module__toggle {
    text-align: center; }
    .js .dropdown-video-module--active .dropdown-video-module__toggle .dropdown-video-module__toggle__open {
      display: none; }
    .js .dropdown-video-module--active .dropdown-video-module__toggle .dropdown-video-module__toggle__hide {
      display: block; }

@media screen and (max-width: 47.9375em) {
  .reveal.dropdown-video-module__modal {
    background-color: transparent;
    padding-left: 0;
    padding-right: 0;
    padding-bottom: 0;
    overflow: visible;
    margin-top: 15%;
    height: auto;
    min-height: 0;
    width: auto; }
    .reveal.dropdown-video-module__modal:focus {
      border: 0 none;
      outline: none; } }

/*
  Contains styles specifically to theme Drupal administration elements.
 */
.toolbar-menu-administration ul li {
  margin-left: 0; }

.tabs.primary {
  margin-top: 0;
  background: #555; }

.is-horizontal .tabs.primary a {
  display: block;
  line-height: 1em;
  padding: 4px 20px;
  margin: 0;
  text-decoration: none; }

.is-horizontal .tabs.primary .tabs__tab {
  border-radius: 0 !important; }

.du-news-list-content .du-news.teaser {
  margin-bottom: 50px; }
  .du-news-list-content .du-news.teaser .du-news-date {
    font-size: 16px; }
  .du-news-list-content .du-news.teaser .du-news-title {
    font-size: 26px; }
  .du-news-list-content .du-news.teaser .du-news-summary {
    height: 85px;
    overflow: hidden; }
    .du-news-list-content .du-news.teaser .du-news-summary p {
      font-size: 22px; }
  .du-news-list-content .du-news.teaser .du-news-url a {
    text-decoration: none;
    color: #000000; }

.event-card {
  height: 100%;
  color: #525252;
  text-decoration: none;
  display: flex;
  flex-direction: column;
  justify-content: flex-start; }
  @media print, screen and (min-width: 48em) {
    .event-card {
      padding-right: 10px; } }
  .event-card:hover h3, .event-card:focus h3 {
    color: #05637b; }
  .event-card:hover .btn, .event-card:focus .btn {
    background-color: #8b6e4a; }
  .event-card p {
    font-size: 16px;
    margin-bottom: 0; }
    @media screen and (max-width: 47.9375em) {
      .event-card p {
        font-size: 15px; } }
    .event-card p:first-child {
      font-size: 17px; }
    .event-card p [class*="icon-du"] {
      color: #18171e; }
  .event-card h3 {
    font-size: 26px;
    line-height: 30px;
    margin-top: 6px;
    color: #18171e; }
    @media screen and (max-width: 47.9375em) {
      .event-card h3 {
        font-size: 22px;
        line-height: 28px; } }
  .event-card .event-listing__details-button {
    margin-top: auto; }
  .event-card .btn {
    padding: 5px 20px;
    margin-top: 17px; }
  .event-card.visible {
    width: 30%;
    padding-right: 2%;
    height: 300px; }

.events-listing__top-filters > .columns {
  border-bottom: 2px solid #d1d1d2; }
  @media screen and (max-width: 47.9375em) {
    .events-listing__top-filters > .columns:first-child {
      border-width: 0; }
      .events-listing__top-filters > .columns:first-child + .columns {
        padding-bottom: 16px; } }

.events-listing__top-filters .js-form-item.js-form-type-select {
  width: 100%; }

.events-listing__top-filters input[type='submit'] {
  margin-top: 40px;
  margin-left: 8px; }

.events-listing__top-filters #calendar-list > ul li {
  margin-left: 0px;
  margin-bottom: 12px; }
  .events-listing__top-filters #calendar-list > ul li:before {
    background-color: transparent;
    content: inherit; }
  .events-listing__top-filters #calendar-list > ul li a {
    border: none;
    color: #2090ac;
    width: 200px;
    text-align: left;
    padding-left: 4px; }
    .events-listing__top-filters #calendar-list > ul li a:hover, .events-listing__top-filters #calendar-list > ul li a:focus {
      color: #9aa76f;
      background-color: transparent; }
    .events-listing__top-filters #calendar-list > ul li a:before {
      background-color: transparent; }

@media screen and (max-width: 47.9375em) {
  .events-listing__top-filters {
    display: block;
    text-align: center; } }

.events-listing__date-filters h2 {
  font-size: 36px;
  font-weight: 800; }
  @media screen and (max-width: 47.9375em) {
    .events-listing__date-filters h2 {
      font-size: 30px; } }
  @media screen and (max-width: 47.9375em) {
    .events-listing__date-filters h2 {
      text-align: center; } }

.events-listing__date-filters #month-nav {
  padding-top: 20px;
  padding-bottom: 20px;
  border-bottom: 10px solid #a31e39; }
  .events-listing__date-filters #month-nav .month-range {
    padding-top: 20px;
    padding-left: 20px; }
    @media screen and (max-width: 63.9375em) {
      .events-listing__date-filters #month-nav .month-range {
        padding-top: 0px; } }
    @media screen and (max-width: 47.9375em) {
      .events-listing__date-filters #month-nav .month-range {
        width: 100%; } }

.events-listing__date-filters #byDate {
  padding-top: 20px;
  padding-bottom: 20px;
  border-bottom: none;
  position: relative; }
  .events-listing__date-filters #byDate h2 {
    display: inline-block;
    color: #bebebe;
    margin-left: 0.5em; }
    @media screen and (max-width: 63.9375em) {
      .events-listing__date-filters #byDate h2 {
        margin-left: 0px;
        display: block; } }
  .events-listing__date-filters #byDate > .columns > .columns > image {
    vertical-align: top; }
  .events-listing__date-filters #byDate .hasDatepicker {
    position: absolute;
    z-index: 1; }
    .events-listing__date-filters #byDate .hasDatepicker#datepicker-end {
      right: 0px; }
    @media screen and (max-width: 47.9375em) {
      .events-listing__date-filters #byDate .hasDatepicker {
        max-width: 92vw; } }
    .events-listing__date-filters #byDate .hasDatepicker a.ui-datepicker-prev, .events-listing__date-filters #byDate .hasDatepicker a.ui-datepicker-next {
      background-color: #fff;
      width: 55px;
      display: none; }
    .events-listing__date-filters #byDate .hasDatepicker .ui-datepicker-title {
      background-color: #fff;
      border: 1px solid #a31e39;
      padding-top: 5px; }
      .events-listing__date-filters #byDate .hasDatepicker .ui-datepicker-title .ui-datepicker-month {
        display: inline-block;
        width: 70%;
        padding-right: 10px; }
      .events-listing__date-filters #byDate .hasDatepicker .ui-datepicker-title .ui-datepicker-year {
        display: inline-block;
        font-size: 1.2em; }
    @media screen and (max-width: 47.9375em) {
      .events-listing__date-filters #byDate .hasDatepicker table.ui-datepicker-calendar {
        width: 90vw;
        display: block; }
        .events-listing__date-filters #byDate .hasDatepicker table.ui-datepicker-calendar > thead {
          width: 90vw;
          display: block; }
          .events-listing__date-filters #byDate .hasDatepicker table.ui-datepicker-calendar > thead > tr {
            width: 90vw;
            display: block; }
            .events-listing__date-filters #byDate .hasDatepicker table.ui-datepicker-calendar > thead > tr > th {
              width: 12.857vw;
              padding: 0.5rem; } }
    @media screen and (max-width: 47.9375em) {
      .events-listing__date-filters #byDate .hasDatepicker table.ui-datepicker-calendar tbody {
        width: 90vw;
        display: block; }
        .events-listing__date-filters #byDate .hasDatepicker table.ui-datepicker-calendar tbody > tr > td {
          font-size: 12px;
          width: 12.857vw;
          padding: 0.5rem; }
          .events-listing__date-filters #byDate .hasDatepicker table.ui-datepicker-calendar tbody > tr > td a {
            width: auto;
            height: auto;
            border: none; } }
    @media screen and (max-width: 47.9375em) {
      .events-listing__date-filters #byDate .hasDatepicker table.ui-datepicker-calendar tbody thead th {
        font-size: 12px; } }
    .events-listing__date-filters #byDate .hasDatepicker table.ui-datepicker-calendar tbody thead th td {
      padding: 0.01rem; }

.events-listing__date-filters a {
  color: #c2b89d;
  display: inline-block;
  width: 40px;
  height: 40px;
  border: 2px solid #d1d1d2;
  text-align: center; }
  .events-listing__date-filters a [class*="icon-du"] {
    font-size: 23px; }
    .events-listing__date-filters a [class*="icon-du"]:before {
      margin: 0;
      width: auto;
      height: auto; }
  .events-listing__date-filters a:hover, .events-listing__date-filters a:focus {
    background-color: #c2b89d;
    border-color: #c2b89d;
    color: white; }

.events-listing__items {
  padding-top: 39px;
  margin-bottom: 65px;
  padding-left: 0px;
  padding-right: 0px;
  /*.js & > .columns:nth-child(1n+7) .events-listing__item {
		display: none;
	}*/ }
  @media print, screen and (min-width: 48em) {
    .events-listing__items > .columns {
      padding-right: 26px; } }
  .events-listing__items .events-listing__item {
    width: 25%;
    float: left;
    padding-right: 0.22222rem;
    padding-left: 0.22222rem;
    margin-bottom: 45px; }
    @media print, screen and (min-width: 48em) {
      .events-listing__items .events-listing__item {
        padding-right: 0.44444rem;
        padding-left: 0.44444rem; } }
    .events-listing__items .events-listing__item:last-child:not(:first-child) {
      float: right; }
    @media screen and (max-width: 63.9375em) {
      .events-listing__items .events-listing__item {
        width: 33.33333%;
        float: left;
        padding-right: 0.22222rem;
        padding-left: 0.22222rem; } }
  @media screen and (max-width: 63.9375em) and (min-width: 48em) {
    .events-listing__items .events-listing__item {
      padding-right: 0.44444rem;
      padding-left: 0.44444rem; } }
    @media screen and (max-width: 63.9375em) {
        .events-listing__items .events-listing__item:last-child:not(:first-child) {
          float: right; } }
    @media screen and (max-width: 47.9375em) {
      .events-listing__items .events-listing__item {
        width: 50%;
        float: left;
        padding-right: 0.22222rem;
        padding-left: 0.22222rem; } }
  @media screen and (max-width: 47.9375em) and (min-width: 48em) {
    .events-listing__items .events-listing__item {
      padding-right: 0.44444rem;
      padding-left: 0.44444rem; } }
    @media screen and (max-width: 47.9375em) {
        .events-listing__items .events-listing__item:last-child:not(:first-child) {
          float: right; } }

.featured-events-module {
  margin-bottom: 140px;
  position: relative; }
  .featured-events-module:before {
    content: "";
    left: 0;
    right: 0;
    width: 100%;
    background-color: #f4f4f4;
    z-index: -1;
    position: absolute;
    bottom: 0;
    top: 111px; }
  .featured-events-module .featured-events__calendar-link {
    margin-bottom: -7px; }
    @media print, screen and (min-width: 48em) {
      .featured-events-module .featured-events__calendar-link {
        text-align: right; } }
    @media screen and (max-width: 63.9375em) {
      .featured-events-module .featured-events__calendar-link {
        margin-bottom: 15px; } }
    .featured-events-module .featured-events__calendar-link a {
      font-weight: bold;
      text-decoration: none;
      padding-left: 20px; }
  .featured-events-module .orbit-next,
  .featured-events-module .orbit-previous {
    color: #81796f;
    font-size: 31px;
    margin-top: -33px;
    transition: color .3s ease;
    z-index: 2; }
    .featured-events-module .orbit-next:hover, .featured-events-module .orbit-next:focus,
    .featured-events-module .orbit-previous:hover,
    .featured-events-module .orbit-previous:focus {
      color: #b8a162;
      background-color: transparent;
      cursor: pointer; }
    @media screen and (max-width: 47.9375em) {
      .featured-events-module .orbit-next,
      .featured-events-module .orbit-previous {
        display: none; } }
  .featured-events-module .orbit-previous {
    left: -42px; }
  .featured-events-module .orbit-next {
    right: -42px; }
  .featured-events-module .orbit-bullets {
    margin-bottom: 26px;
    margin-top: 0; }
  @media print, screen and (min-width: 48em) {
    .featured-events-module {
      margin-bottom: 100px; }
      .featured-events-module > .row {
        max-width: 1270px;
        overflow: hidden; }
        .featured-events-module > .row > .columns {
          padding-right: 42px;
          padding-left: 44px; }
      .featured-events-module .orbit-container {
        overflow: visible; } }
  @media (min-width: 768px) and (max-width: 1199px) {
    .featured-events-module > .row {
      max-width: 96%; } }
  .featured-events-module .orbit-slide img {
    width: 100%;
    height: auto; }
  .featured-events-module .orbit-slide .featured-events__content {
    background-color: white;
    margin: 23px 0 35px -40px;
    padding: 36px 40px 60px;
    position: relative; }
    @media screen and (max-width: 63.9375em) {
      .featured-events-module .orbit-slide .featured-events__content {
        margin-top: -87px;
        margin-left: 72px; } }
    @media screen and (max-width: 47.9375em) {
      .featured-events-module .orbit-slide .featured-events__content {
        margin-left: 0;
        margin-top: 0;
        padding: 23px 20px 51px; } }
    .featured-events-module .orbit-slide .featured-events__content .featured-events__date {
      font-size: 24px;
      margin-bottom: 0; }
      .featured-events-module .orbit-slide .featured-events__content .featured-events__date + h4 {
        margin-top: 5px; }
      @media screen and (max-width: 47.9375em) {
        .featured-events-module .orbit-slide .featured-events__content .featured-events__date {
          font-size: 17px; } }
    .featured-events-module .orbit-slide .featured-events__content h4 {
      font-size: 26px;
      line-height: 30px;
      font-weight: 800;
      margin-bottom: 16px; }
      @media screen and (max-width: 47.9375em) {
        .featured-events-module .orbit-slide .featured-events__content h4 {
          font-size: 22px;
          line-height: 28px; }
          .featured-events-module .orbit-slide .featured-events__content h4 + p {
            display: none; } }
    .featured-events-module .orbit-slide .featured-events__content .featured-events__details {
      margin-left: -4px; }
      .featured-events-module .orbit-slide .featured-events__content .featured-events__details li {
        list-style-type: none;
        padding-left: 0;
        margin-left: 0; }
        .featured-events-module .orbit-slide .featured-events__content .featured-events__details li:before {
          display: none; }
        @media screen and (max-width: 47.9375em) {
          .featured-events-module .orbit-slide .featured-events__content .featured-events__details li {
            font-size: 15px;
            line-height: 22px; } }
    .featured-events-module .orbit-slide .featured-events__content .btn-wrap {
      position: absolute;
      width: 100%;
      bottom: -24px;
      margin-bottom: 0;
      margin-left: -40px;
      text-align: center; }
      @media screen and (max-width: 47.9375em) {
        .featured-events-module .orbit-slide .featured-events__content .btn-wrap {
          margin-left: -20px; } }
      .featured-events-module .orbit-slide .featured-events__content .btn-wrap .btn {
        min-width: 156px;
        padding-top: 11px;
        padding-bottom: 11px;
        font-size: 18px; }
        @media screen and (max-width: 63.9375em) {
          .featured-events-module .orbit-slide .featured-events__content .btn-wrap .btn {
            font-size: 17px; } }
        @media screen and (max-width: 47.9375em) {
          .featured-events-module .orbit-slide .featured-events__content .btn-wrap .btn {
            min-width: 120px;
            font-size: 16px;
            padding-top: 6px;
            padding-bottom: 6px; } }
  @media screen and (max-width: 47.9375em) {
    .featured-events-module .orbit-slide > .row {
      margin-left: 0;
      margin-right: 0; }
      .featured-events-module .orbit-slide > .row > .columns {
        padding-left: 0;
        padding-right: 0; } }
  @media screen and (max-width: 47.9375em) {
    .featured-events-module {
      margin-bottom: 70px; }
      .featured-events-module > .row {
        margin-left: 0;
        margin-right: 0; }
        .featured-events-module > .row > .columns {
          padding-left: 0;
          padding-right: 0; } }

.event__details {
  font-size: 20px;
  color: #18171e;
  font-weight: 600;
  margin-bottom: 22px; }
  .event__details p {
    margin-bottom: 6px; }

.utility-page aside {
  margin-top: 9px; }
  .utility-page aside a + a {
    margin-left: 5px; }
  @media screen and (max-width: 63.9375em) {
    .utility-page aside {
      margin-top: 1em; } }

#events-listing__show-more a {
  display: block;
  text-decoration: none;
  border-bottom: 1px solid #d1d1d2;
  position: relative;
  height: 15px; }
  #events-listing__show-more a [class*="icon-du"] {
    position: absolute;
    margin-left: -15.5px;
    left: 50%;
    bottom: -14px; }
    #events-listing__show-more a [class*="icon-du"]:before {
      width: 30px;
      height: 30px;
      border: 1px solid #c2b89d;
      background-color: white;
      color: #81796f;
      padding: 0;
      font-size: 23px;
      line-height: 27px;
      transition: background-color 0.5s ease;
      border-radius: 16px;
      margin-left: 0;
      margin-right: 0; }
  #events-listing__show-more a:hover [class*="icon-du"]:before, #events-listing__show-more a:focus [class*="icon-du"]:before {
    background-color: #c2b89d;
    color: white; }

.events-listing__no-events {
  display: none;
  margin-top: -70px;
  margin-bottom: 60px; }

.event-detail footer {
  margin-top: 35px; }

.add-this {
  margin-top: 30px;
  margin-bottom: 30px; }

.primary-font {
  font-family: "BreveSans", sans-serif; }

.accent-font {
  font-family: "BreveText", sans-serif; }

.headline-font {
  font-family: "BreveSlabTitle", sans-serif; }

.cta-font {
  font-family: "Acto", sans-serif; }

.example-code {
  font-family: "Lucida Console", Monaco, monospace; }

.fw-300 {
  font-weight: 300; }

.fw-500 {
  font-weight: 500; }

.fw-600 {
  font-weight: 600; }

.fw-700 {
  font-weight: 700; }

.fw-800 {
  font-weight: 800; }

.primary-color-1 {
  color: #560d20; }

.primary-color-1-bg {
  background-color: #560d20; }

.primary-color-2 {
  color: #760626; }

.primary-color-2-bg {
  background-color: #760626; }

.primary-color-3 {
  color: #98012e; }

.primary-color-3-bg {
  background-color: #98012e; }

.primary-color-4 {
  color: #962733; }

.primary-color-4-bg {
  background-color: #962733; }

.primary-color-5 {
  color: #c6403d; }

.primary-color-5-bg {
  background-color: #c6403d; }

.secondary-color-1 {
  color: #765b3a; }

.secondary-color-1-bg {
  background-color: #765b3a; }

.secondary-color-2 {
  color: #8b6e4a; }

.secondary-color-2-bg {
  background-color: #8b6e4a; }

.secondary-color-3 {
  color: #b8a162; }

.secondary-color-3-bg {
  background-color: #b8a162; }

.secondary-color-4 {
  color: #ebd5ab; }

.secondary-color-4-bg {
  background-color: #ebd5ab; }

.secondary-color-5 {
  color: #c2b89d; }

.secondary-color-5-bg {
  background-color: #c2b89d; }

.neutral-color-1 {
  color: #000000; }

.neutral-color-1-bg {
  background-color: #000000; }

.neutral-color-2 {
  color: #18171e; }

.neutral-color-2-bg {
  background-color: #18171e; }

.neutral-color-3 {
  color: #525252; }

.neutral-color-3-bg {
  background-color: #525252; }

.neutral-color-4 {
  color: #d1d1d2; }

.neutral-color-4-bg {
  background-color: #d1d1d2; }

.neutral-color-5 {
  color: #e0e0e0; }

.neutral-color-5-bg {
  background-color: #e0e0e0; }

.neutral-color-6 {
  color: #f9f9f9; }

.neutral-color-6-bg {
  background-color: #f9f9f9; }

.accent-color-1a {
  color: #2f254d; }

.accent-color-1a-bg {
  background-color: #2f254d; }

.accent-color-1b {
  color: #534779; }

.accent-color-1b-bg {
  background-color: #534779; }

.accent-color-1c {
  color: #6d6191; }

.accent-color-1c-bg {
  background-color: #6d6191; }

.accent-color-2a {
  color: #033b4a; }

.accent-color-2a-bg {
  background-color: #033b4a; }

.accent-color-2b {
  color: #05637b; }

.accent-color-2b-bg {
  background-color: #05637b; }

.accent-color-2c {
  color: #2090ac; }

.accent-color-2c-bg {
  background-color: #2090ac; }

.accent-color-3a {
  color: #506121; }

.accent-color-3a-bg {
  background-color: #506121; }

.accent-color-3b {
  color: #7a9032; }

.accent-color-3b-bg {
  background-color: #7a9032; }

.accent-color-3c {
  color: #9aa76f; }

.accent-color-3c-bg {
  background-color: #9aa76f; }

.color-palette ul {
  margin-left: 0; }
  .color-palette ul li {
    border: 1px solid #d1d1d2;
    padding: 5px;
    display: inline-block;
    margin-bottom: 2em;
    margin-left: 1em;
    font-size: 16px;
    font-family: "Lucida Console", Monaco, monospace; }
    .color-palette ul li:before {
      display: none; }
    .color-palette ul li > span {
      display: block;
      height: 50px;
      margin-bottom: 10px; }
    .color-palette ul li strong {
      font-family: "BreveSlabTitle", sans-serif;
      font-size: 18px; }

.expert-list-item {
  padding: 55px 0 20px 0;
  height: 100%;
  position: relative;
  border-bottom: 2px solid #d1d1d2; }
  .expert-list-item .expert-name-main,
  .expert-list-item .expert-name-column {
    font-size: 28px;
    font-weight: bold;
    color: #18171e;
    margin-bottom: 16px;
    margin-top: -8px; }
  .expert-list-item .expert-name-main {
    position: absolute;
    left: -9999px;
    top: -9999px; }
  .expert-list-item .details {
    display: flex;
    background: #f9f9f9;
    padding: 24px 20px 30px 20px; }
  .expert-list-item .thumb-wrapper {
    width: 168px;
    max-width: 40%;
    margin-top: -50px;
    flex-grow: 0; }
  .expert-list-item .profile-button {
    margin-top: 15px; }
  .expert-list-item .expertise {
    padding-left: 24px;
    flex-grow: 1; }
  .expert-list-item .expert-topics h4 {
    font-size: 18px;
    font-weight: bold;
    margin-bottom: 8px; }
  .expert-list-item .expert-topics a {
    display: inline-block;
    margin-bottom: 4px; }
  .expert-list-item .expert-topics + .expert-icons {
    margin-top: 20px;
    padding-top: 20px;
    border-top: 1px solid #d1d1d2; }
  .expert-list-item .expert-icons {
    color: #525252;
    overflow: hidden; }
  .expert-list-item .expert-icon {
    margin-bottom: 6px;
    font-size: 16px; }
  .expert-list-item .expert-icon-glyph {
    font-size: 18px; }
  .expert-list-item .description {
    padding-right: 20px; }
  @media screen and (max-width: 63.9375em) {
    .expert-list-item {
      padding-top: 20px; }
      .expert-list-item .expert-name-main {
        position: static; }
      .expert-list-item .expert-name-column {
        display: none; }
      .expert-list-item .details {
        float: left;
        margin-right: 16px;
        margin-bottom: 8px;
        padding-bottom: 20px; }
      .expert-list-item .thumb-wrapper {
        margin-top: 0; }
      .expert-list-item .description {
        padding-right: 0; } }
  @media screen and (max-width: 47.9375em) {
    .expert-list-item .details {
      width: 100%;
      padding: 20px 12px;
      margin-right: 0;
      margin-bottom: 20px; }
    .expert-list-item .profile-button {
      padding: 20px 12px;
      background: #f9f9f9; } }

@media screen {
  .feature-video-module {
    margin-bottom: 70px;
    padding-top: 30px; } }
  @media screen and (max-width: 47.9375em) {
    .feature-video-module {
      padding-top: 20px;
      margin-bottom: 44px; } }

@media screen {
    .feature-video-module .blockquote__background {
      pointer-events: none;
      min-height: 350px;
      margin-bottom: 0;
      z-index: 1; } }
    @media screen and (min-width: 64em) {
      .feature-video-module .blockquote__background:before {
        width: 42%; } }
    @media screen and (min-width: 1500px) {
      .feature-video-module .blockquote__background:before {
        width: 43%; } }
    @media screen and (min-width: 1800px) {
      .feature-video-module .blockquote__background:before {
        width: 44%; } }
    @media screen and (min-width: 2100px) {
      .feature-video-module .blockquote__background:before {
        width: 45%; } }
    @media screen and (max-width: 63.9375em) {
      .feature-video-module .blockquote__background {
        padding-left: 18px;
        min-height: 100px; }
        .feature-video-module .blockquote__background blockquote {
          padding-left: 0; } }
    @media screen and (max-width: 47.9375em) {
      .feature-video-module .blockquote__background blockquote {
        padding-left: 22px;
        padding-right: 22px; } }

@media screen {
      .feature-video-module .blockquote__background > .columns > .row > .columns:first-child:before {
        display: none; }
      .feature-video-module .blockquote__background.hideBackground:before {
        display: none; }
    .feature-video-module .feature-video-module__video-wrapper {
      position: relative; } }
    @media screen and (min-width: 64em) {
      .feature-video-module .feature-video-module__video-wrapper {
        min-height: 350px;
        top: -260px;
        margin-bottom: -260px; } }

@media screen {
      .feature-video-module .feature-video-module__video-wrapper a.video-toggle {
        text-decoration: none;
        position: absolute;
        top: 0;
        bottom: 0;
        left: 0;
        right: 0;
        margin: 0;
        padding: 0;
        display: block;
        z-index: 1;
        opacity: 1; }
        .feature-video-module .feature-video-module__video-wrapper a.video-toggle .video-toggle__text {
          position: absolute;
          left: 44px;
          bottom: 53px;
          color: white; }
          .feature-video-module .feature-video-module__video-wrapper a.video-toggle .video-toggle__text > [class*="icon-du"] {
            font-size: 62px;
            position: relative;
            top: 10px; }
          .feature-video-module .feature-video-module__video-wrapper a.video-toggle .video-toggle__text .icon-du-pause-circled {
            display: none; }
        .feature-video-module .feature-video-module__video-wrapper a.video-toggle:hover .video-toggle__text .icon-du-play-circled2:before {
          content: '\e80f'; }
        .feature-video-module .feature-video-module__video-wrapper a.video-toggle.playing {
          opacity: 0; }
          .feature-video-module .feature-video-module__video-wrapper a.video-toggle.playing .video-toggle__text .icon-du-pause-circled {
            display: inline-block; }
          .feature-video-module .feature-video-module__video-wrapper a.video-toggle.playing .video-toggle__text .icon-du-play-circled2 {
            display: none; }
          .feature-video-module .feature-video-module__video-wrapper a.video-toggle.playing:hover {
            opacity: 1; }
      .feature-video-module .feature-video-module__video-wrapper video {
        width: 100%;
        height: auto; }
    .feature-video-module .responsive-embed {
      margin-bottom: 0; } }
  @media screen and (max-width: 47.9375em) {
    .feature-video-module.buffer-on-inner-row > .row,
    .feature-video-module.buffer-on-inner-row > .row > .columns {
      padding-left: 0;
      padding-right: 0; } }

@font-face {
  font-family: "BreveText";
  src: url("fonts/breve-text-web/medium/BreveText-Medium.eot");
  src: url("fonts/breve-text-web/medium/BreveText-Medium.eot?#iefix") format("embedded-opentype"), url("fonts/breve-text-web/medium/BreveText-Medium.woff") format("woff"), url("fonts/breve-text-web/medium/BreveText-Medium.ttf") format("truetype"), url("fonts/breve-text-web/medium/BreveText-Medium.svg#BreveText") format("svg");
  font-style: normal;
  font-weight: normal; }

@font-face {
  font-family: "BreveText";
  src: url("fonts/breve-text-web/medium/BreveText-MediumItalic.eot");
  src: url("fonts/breve-text-web/medium/BreveText-MediumItalic.eot?#iefix") format("embedded-opentype"), url("fonts/breve-text-web/medium/BreveText-MediumItalic.woff") format("woff"), url("fonts/breve-text-web/medium/BreveText-MediumItalic.ttf") format("truetype"), url("fonts/breve-text-web/medium/BreveText-MediumItalic.svg#BreveText") format("svg");
  font-style: italic;
  font-weight: normal; }

@font-face {
  font-family: "BreveText";
  src: url("fonts/breve-text-web/bold/BreveText-Bold.eot");
  src: url("fonts/breve-text-web/bold/BreveText-Bold.eot?#iefix") format("embedded-opentype"), url("fonts/breve-text-web/bold/BreveText-Bold.woff") format("woff"), url("fonts/breve-text-web/bold/BreveText-Bold.ttf") format("truetype"), url("fonts/breve-text-web/bold/BreveText-Bold.svg#BreveText") format("svg");
  font-style: normal;
  font-weight: bold; }

@font-face {
  font-family: "BreveText";
  src: url("fonts/breve-text-web/bold/BreveText-BoldItalic.eot");
  src: url("fonts/breve-text-web/bold/BreveText-BoldItalic.eot?#iefix") format("embedded-opentype"), url("fonts/breve-text-web/bold/BreveText-BoldItalic.woff") format("woff"), url("fonts/breve-text-web/bold/BreveText-BoldItalic.ttf") format("truetype"), url("fonts/breve-text-web/bold/BreveText-BoldItalic.svg#BreveText") format("svg");
  font-style: italic;
  font-weight: bold; }

@font-face {
  font-family: "BreveSans";
  src: url("fonts/breve-sans-text-web/book/BreveSansText-Book.eot");
  src: url("fonts/breve-sans-text-web/book/BreveSansText-Book.eot?#iefix") format("embedded-opentype"), url("fonts/breve-sans-text-web/book/BreveSansText-Book.woff") format("woff"), url("fonts/breve-sans-text-web/book/BreveSansText-Book.ttf") format("truetype"), url("fonts/breve-sans-text-web/book/BreveSansText-Book.svg#BreveSans") format("svg");
  font-style: normal;
  font-weight: 500; }

@font-face {
  font-family: "BreveSans";
  src: url("fonts/breve-sans-text-web/medium/BreveSansText-Medium.eot");
  src: url("fonts/breve-sans-text-web/medium/BreveSansText-Medium.eot?#iefix") format("embedded-opentype"), url("fonts/breve-sans-text-web/medium/BreveSansText-Medium.woff") format("woff"), url("fonts/breve-sans-text-web/medium/BreveSansText-Medium.ttf") format("truetype"), url("fonts/breve-sans-text-web/medium/BreveSansText-Medium.svg#BreveSans") format("svg");
  font-style: normal;
  font-weight: 600; }

@font-face {
  font-family: "BreveSans";
  src: url("fonts/breve-sans-text-web/black/BreveSansText-Black.eot");
  src: url("fonts/breve-sans-text-web/black/BreveSansText-Black.eot?#iefix") format("embedded-opentype"), url("fonts/breve-sans-text-web/black/BreveSansText-Black.woff") format("woff"), url("fonts/breve-sans-text-web/black/BreveSansText-Black.ttf") format("truetype"), url("fonts/breve-sans-text-web/black/BreveSansText-Black.svg#BreveSans") format("svg");
  font-style: normal;
  font-weight: 800; }

@font-face {
  font-family: "BreveSlabTitle";
  src: url("fonts/breve-slab-title-web/book/BreveSlabTitle-Book.eot");
  src: url("fonts/breve-slab-title-web/book/BreveSlabTitle-Book.eot?#iefix") format("embedded-opentype"), url("fonts/breve-slab-title-web/book/BreveSlabTitle-Book.woff") format("woff"), url("fonts/breve-slab-title-web/book/BreveSlabTitle-Book.ttf") format("truetype"), url("fonts/breve-slab-title-web/book/BreveSlabTitle-Book.svg#BreveSlabTitle") format("svg");
  font-style: normal;
  font-weight: 500; }

@font-face {
  font-family: "BreveSlabTitle";
  src: url("fonts/breve-slab-title-web/book/BreveSlabTitle-BookItalic.eot");
  src: url("fonts/breve-slab-title-web/book/BreveSlabTitle-BookItalic.eot?#iefix") format("embedded-opentype"), url("fonts/breve-slab-title-web/book/BreveSlabTitle-BookItalic.woff") format("woff"), url("fonts/breve-slab-title-web/book/BreveSlabTitle-BookItalic.ttf") format("truetype"), url("fonts/breve-slab-title-web/book/BreveSlabTitle-BookItalic.svg#BreveSlabTitle") format("svg");
  font-style: italic;
  font-weight: 500; }

@font-face {
  font-family: "BreveSlabTitle";
  src: url("fonts/breve-slab-title-web/bold/BreveSlabTitle-Bold.eot");
  src: url("fonts/breve-slab-title-web/bold/BreveSlabTitle-Bold.eot?#iefix") format("embedded-opentype"), url("fonts/breve-slab-title-web/bold/BreveSlabTitle-Bold.woff") format("woff"), url("fonts/breve-slab-title-web/bold/BreveSlabTitle-Bold.ttf") format("truetype"), url("fonts/breve-slab-title-web/bold/BreveSlabTitle-Bold.svg#BreveSlabTitle") format("svg");
  font-style: normal;
  font-weight: 700; }

@font-face {
  font-family: "BreveSlabTitle";
  src: url("fonts/breve-slab-title-web/bold/BreveSlabTitle-BoldItalic.eot");
  src: url("fonts/breve-slab-title-web/bold/BreveSlabTitle-BoldItalic.eot?#iefix") format("embedded-opentype"), url("fonts/breve-slab-title-web/bold/BreveSlabTitle-BoldItalic.woff") format("woff"), url("fonts/breve-slab-title-web/bold/BreveSlabTitle-BoldItalic.ttf") format("truetype"), url("fonts/breve-slab-title-web/bold/BreveSlabTitle-BoldItalic.svg#BreveSlabTitle") format("svg");
  font-style: italic;
  font-weight: 700; }

@font-face {
  font-family: "BreveSlabTitle";
  src: url("fonts/breve-slab-title-web/black/BreveSlabTitle-Black.eot");
  src: url("fonts/breve-slab-title-web/black/BreveSlabTitle-Black.eot?#iefix") format("embedded-opentype"), url("fonts/breve-slab-title-web/black/BreveSlabTitle-Black.woff") format("woff"), url("fonts/breve-slab-title-web/black/BreveSlabTitle-Black.ttf") format("truetype"), url("fonts/breve-slab-title-web/black/BreveSlabTitle-Black.svg#BreveSlabTitle") format("svg");
  font-style: normal;
  font-weight: 800; }

@font-face {
  font-family: "BreveSlabTitle";
  src: url("fonts/breve-slab-title-web/black/BreveSlabTitle-BlackItalic.eot");
  src: url("fonts/breve-slab-title-web/black/BreveSlabTitle-BlackItalic.eot?#iefix") format("embedded-opentype"), url("fonts/breve-slab-title-web/black/BreveSlabTitle-BlackItalic.woff") format("woff"), url("fonts/breve-slab-title-web/black/BreveSlabTitle-BlackItalic.ttf") format("truetype"), url("fonts/breve-slab-title-web/black/BreveSlabTitle-BlackItalic.svg#BreveSlabTitle") format("svg");
  font-style: italic;
  font-weight: 800; }

@font-face {
  font-family: "Acto";
  src: url("fonts/acto-web/black/Acto-Black.eot");
  src: url("fonts/acto-web/black/Acto-Black.eot?#iefix") format("embedded-opentype"), url("fonts/acto-web/black/Acto-Black.woff") format("woff"), url("fonts/acto-web/black/Acto-Black.ttf") format("truetype"), url("fonts/acto-web/black/Acto-Black.svg#Acto") format("svg");
  font-style: normal;
  font-weight: 800; }

@font-face {
  font-family: "BreveSlabTitle";
  src: url("fonts/breve-slab-title-web/thin/BreveSlabTitle-Thin.eot");
  src: url("fonts/breve-slab-title-web/thin/BreveSlabTitle-Thin.eot?#iefix") format("embedded-opentype"), url("fonts/breve-slab-title-web/thin/BreveSlabTitle-Thin.woff") format("woff"), url("fonts/breve-slab-title-web/thin/BreveSlabTitle-Thin.ttf") format("truetype"), url("fonts/breve-slab-title-web/thin/BreveSlabTitle-Thin.svg#BreveSlabTitle") format("svg");
  font-style: normal;
  font-weight: 300; }

@font-face {
  font-family: "BreveDisplay";
  src: url("fonts/breve-display-web/stencil/BreveDisplay-Stencil.eot");
  src: url("fonts/breve-display-web/stencil/BreveDisplay-Stencil.eot?#iefix") format("embedded-opentype"), url("fonts/breve-display-web/stencil/BreveDisplay-Stencil.woff") format("woff"), url("fonts/breve-display-web/stencil/BreveDisplay-Stencil.ttf") format("truetype"), url("fonts/breve-display-web/stencil/BreveDisplay-Stencil.svg#BreveDisplay") format("svg");
  font-style: normal;
  font-weight: bold; }

@font-face {
  font-family: 'fontello';
  src: url("fonts/fontello-icons/fontello.eot?63332846");
  src: url("fonts/fontello-icons/fontello.eot?63332846#iefix") format("embedded-opentype"), url("fonts/fontello-icons/fontello.woff2?63332846") format("woff2"), url("fonts/fontello-icons/fontello.woff?63332846") format("woff"), url("fonts/fontello-icons/fontello.ttf?63332846") format("truetype"), url("fonts/fontello-icons/fontello.svg?63332846#fontello") format("svg");
  font-weight: normal;
  font-style: normal; }

footer {
  text-align: center; }
  footer .menu {
    flex-wrap: wrap; }
    footer .menu li {
      margin-left: 0; }
      footer .menu li a {
        color: white;
        font-size: 14px;
        font-weight: normal;
        font-family: "BreveSans", sans-serif;
        text-decoration: none; }
        footer .menu li a:hover, footer .menu li a:focus {
          color: #ebd5ab;
          text-decoration: underline; }
  footer .bg-dark-gray {
    padding: 36px 0; }
  footer .copyright {
    background-color: #000000;
    color: #797979;
    font-size: 14px;
    padding: 15px;
    font-family: "BreveSans", sans-serif;
    margin-bottom: 0; }
  @media screen and (max-width: 63.9375em) {
    footer .has-gray-band > .row {
      padding-left: 55px;
      padding-right: 55px; } }
  @media screen and (max-width: 63.9375em) and (max-width: 47.9375em) {
    footer .has-gray-band > .row {
      padding-left: 18px;
      padding-right: 18px; } }

.has-gray-band {
  position: relative;
  padding-bottom: 50px; }
  .has-gray-band:after {
    content: "";
    background-color: #f4f4f4;
    height: 138px;
    position: absolute;
    left: 0;
    right: 0;
    bottom: 0;
    z-index: -1; }
  @media screen and (max-width: 47.9375em) {
    .has-gray-band {
      padding-bottom: 30px; }
      .has-gray-band:after {
        height: 274px; } }

form.buffer-on-inner-row {
  margin-bottom: 50px; }

form label {
  font-family: "BreveText", sans-serif; }

form .help-text {
  margin-top: -10px; }

form [type="radio"] + label,
form [type="checkbox"] + label {
  font-size: 18px;
  font-weight: normal;
  font-family: "BreveSans", sans-serif; }

form .du-form__required {
  color: #98012e;
  font-size: 24px;
  line-height: 22px;
  padding-right: 3px; }

form .du-form__error {
  padding: 5px 10px;
  font-size: 14px;
  background-color: #98012e;
  margin-bottom: 1em;
  color: white;
  font-family: "BreveSans", sans-serif;
  display: block;
  margin-top: -16px; }

form button:hover, form button:focus {
  cursor: pointer; }

.du-form__alert,
.du-form__success {
  padding: 10px 15px !important;
  margin-bottom: 1.5em; }

.du-form__alert {
  background-color: #faebce; }

.du-form__success {
  background-color: #ccd8a5; }

.bg-dark-gray {
  background-color: #18171e; }

.buffer-top {
  margin-top: 1em; }

.display-block {
  display: block; }

@media screen and (max-width: 74.9375em) {
  .buffer-on-inner-row > .row {
    padding-left: 55px;
    padding-right: 55px; } }

@media screen and (max-width: 47.9375em) {
  .buffer-on-inner-row > .row {
    padding-left: 18px;
    padding-right: 18px; } }

.hero-items {
  position: absolute;
  bottom: 50px;
  width: 100%; }
  @media screen and (max-width: 47.9375em) {
    .hero-items {
      bottom: 10px; } }
  .hero-items .columns {
    padding: 0; }
    .hero-items .columns span {
      font-weight: bold; }
      .hero-items .columns span.value {
        text-transform: uppercase; }

header.unit-header .hero-media {
  top: 100px; }

header .hero-media {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  z-index: -1;
  overflow: hidden; }
  header .hero-media > * {
    width: auto;
    min-height: 100%;
    min-width: 100%;
    height: auto;
    max-width: none; }
    @media (max-width: 1356px) {
      header .hero-media > * {
        min-height: 0;
        min-width: 0;
        position: relative;
        left: 50%;
        width: 1356px;
        margin-left: -678px; } }
    @media screen and (max-width: 74.9375em) {
      header .hero-media > * {
        width: 1232px;
        margin-left: -616px; } }
    @media screen and (max-width: 47.9375em) {
      header .hero-media > * {
        width: 1084px;
        margin-left: -542px; } }
  header .hero-media > video + img {
    position: absolute !important;
    top: 0;
    z-index: -1; }
  header .hero-media > video {
    visibility: hidden;
    opacity: 0;
    transition: opacity 1s ease; }
    header .hero-media > video.hero-video--visible {
      opacity: 1;
      visibility: visible; }
  @media print, screen and (min-width: 64em) {
    header .hero-media {
      display: flex;
      align-items: center;
      /*> video + img {
				display: none;
			}*/ } }

header .hero-media__caption {
  position: absolute;
  width: 100%;
  bottom: 113px; }
  @media screen and (max-width: 74.9375em) {
    header .hero-media__caption {
      right: 55px; } }
  @media screen and (max-width: 63.9375em) {
    header .hero-media__caption {
      right: 22px; } }
  header .hero-media__caption .columns {
    padding-left: 0;
    padding-right: 0; }
  header .hero-media__caption .hero-media__caption__text {
    transition: background-color 1s ease;
    position: relative;
    float: right;
    right: 0;
    left: unset;
    background-color: rgba(24, 23, 30, 0.6);
    width: 283px; }
    header .hero-media__caption .hero-media__caption__text > a {
      text-decoration: none;
      display: block;
      padding: 9px 56px 13px 16px; }
      header .hero-media__caption .hero-media__caption__text > a:hover, header .hero-media__caption .hero-media__caption__text > a:focus {
        background-color: rgba(24, 23, 30, 0.8); }
        header .hero-media__caption .hero-media__caption__text > a:hover p, header .hero-media__caption .hero-media__caption__text > a:focus p {
          opacity: 1; }
    header .hero-media__caption .hero-media__caption__text p {
      color: #fff;
      opacity: 0.5;
      margin-bottom: 0;
      font-size: 16px;
      line-height: 20px;
      overflow: hidden;
      white-space: nowrap;
      text-overflow: ellipsis; }
    header .hero-media__caption .hero-media__caption__text .hero-media__caption__toggler {
      position: absolute;
      bottom: 8px;
      right: 11px; }
      header .hero-media__caption .hero-media__caption__text .hero-media__caption__toggler .icon-du-minus,
      header .hero-media__caption .hero-media__caption__text .hero-media__caption__toggler .du-icon-minus {
        display: none; }
      header .hero-media__caption .hero-media__caption__text .hero-media__caption__toggler [class*="icon-du"],
      header .hero-media__caption .hero-media__caption__text .hero-media__caption__toggler [class*="du-icon"] {
        font-size: 24px;
        color: white; }
  @media screen and (max-width: 63.9375em) {
    header .hero-media__caption.caption-expanded {
      width: auto;
      left: 20px; } }
  header .hero-media__caption.caption-expanded .hero-media__caption__text {
    background-color: rgba(24, 23, 30, 0.9);
    width: auto;
    left: 0;
    margin-left: -54px; }
    @media screen and (max-width: 74.9375em) {
      header .hero-media__caption.caption-expanded .hero-media__caption__text {
        margin-left: 20px; } }
    @media screen and (max-width: 63.9375em) {
      header .hero-media__caption.caption-expanded .hero-media__caption__text {
        margin-left: 0; } }
    header .hero-media__caption.caption-expanded .hero-media__caption__text p {
      opacity: 1;
      white-space: normal; }
  header .hero-media__caption.caption-expanded .hero-media__caption__toggler .icon-du-plus,
  header .hero-media__caption.caption-expanded .hero-media__caption__toggler .du-icon-plus {
    display: none; }
  header .hero-media__caption.caption-expanded .hero-media__caption__toggler .icon-du-minus,
  header .hero-media__caption.caption-expanded .hero-media__caption__toggler .du-icon-minus {
    display: block; }

header .hero-items .label {
  background-color: transparent;
  font-size: 16px;
  margin-bottom: 0; }

header .hero-title {
  line-height: 81px;
  font-family: "BreveDisplay", sans-serif;
  padding-bottom: 100px;
  height: 100%;
  width: 700px; }
  @media screen and (max-width: 47.9375em) {
    header .hero-title {
      width: 100%;
      padding: 0 10px 50px 10px; } }
  header .hero-title h3 {
    color: white;
    font-weight: normal;
    margin-bottom: 0;
    font-size: 1.2rem; }
  header .hero-title h2 {
    color: white;
    font-weight: bold;
    font-size: 78px; }
    @media screen and (max-width: 47.9375em) {
      header .hero-title h2 {
        font-size: 54px; } }

@font-face {
  font-family: "BreveDisplay";
  src: url("fonts/breve-display-web/regular/BreveDisplay.eot");
  src: url("fonts/breve-display-web/regular/BreveDisplay.eot?#iefix") format("embedded-opentype"), url("fonts/breve-display-web/regular/BreveDisplay.woff") format("woff"), url("fonts/breve-display-web/regular/BreveDisplay.ttf") format("truetype"), url("fonts/breve-display-web/regular/BreveDisplay.svg#BreveDisplay") format("svg");
  font-style: normal;
  font-weight: normal; }

@font-face {
  font-family: "BreveDisplay";
  src: url("fonts/breve-display-web/stencil/BreveDisplay-Stencil.eot");
  src: url("fonts/breve-display-web/stencil/BreveDisplay-Stencil.eot?#iefix") format("embedded-opentype"), url("fonts/breve-display-web/stencil/BreveDisplay-Stencil.woff") format("woff"), url("fonts/breve-display-web/stencil/BreveDisplay-Stencil.ttf") format("truetype"), url("fonts/breve-display-web/stencil/BreveDisplay-Stencil.svg#BreveDisplay") format("svg");
  font-style: normal;
  font-weight: bold; }

@font-face {
  font-family: "BreveNews";
  src: url("fonts/breve-news-web/book/BreveNews-Book.eot");
  src: url("fonts/breve-news-web/book/BreveNews-Book.eot?#iefix") format("embedded-opentype"), url("fonts/breve-news-web/book/BreveNews-Book.woff") format("woff"), url("fonts/breve-news-web/book/BreveNews-Book.ttf") format("truetype"), url("fonts/breve-news-web/book/BreveNews-Book.svg#BreveNews") format("svg");
  font-style: normal;
  font-weight: normal; }

@font-face {
  font-family: "BreveNews";
  src: url("fonts/breve-news-web/book/BreveNews-BookItalic.eot");
  src: url("fonts/breve-news-web/book/BreveNews-BookItalic.eot?#iefix") format("embedded-opentype"), url("fonts/breve-news-web/book/BreveNews-BookItalic.woff") format("woff"), url("fonts/breve-news-web/book/BreveNews-BookItalic.ttf") format("truetype"), url("fonts/breve-news-web/book/BreveNews-BookItalic.svg#BreveNews") format("svg");
  font-style: italic;
  font-weight: normal; }

@font-face {
  font-family: "BreveNews";
  src: url("fonts/breve-news-web/bold/BreveNews-Bold.eot");
  src: url("fonts/breve-news-web/bold/BreveNews-Bold.eot?#iefix") format("embedded-opentype"), url("fonts/breve-news-web/bold/BreveNews-Bold.woff") format("woff"), url("fonts/breve-news-web/bold/BreveNews-Bold.ttf") format("truetype"), url("fonts/breve-news-web/bold/BreveNews-Bold.svg#BreveNews") format("svg");
  font-style: normal;
  font-weight: bold; }

@font-face {
  font-family: "BreveNews";
  src: url("fonts/breve-news-web/bold/BreveNews-BoldItalic.eot");
  src: url("fonts/breve-news-web/bold/BreveNews-BoldItalic.eot?#iefix") format("embedded-opentype"), url("fonts/breve-news-web/bold/BreveNews-BoldItalic.woff") format("woff"), url("fonts/breve-news-web/bold/BreveNews-BoldItalic.ttf") format("truetype"), url("fonts/breve-news-web/bold/BreveNews-BoldItalic.svg#BreveNews") format("svg");
  font-style: italic;
  font-weight: bold; }

.du-home header {
  height: 837px; }
  @media screen and (max-width: 74.9375em) {
    .du-home header {
      height: 630px; } }
  @media screen and (max-width: 47.9375em) {
    .du-home header {
      height: 500px; } }
  .du-home header:before, .du-home header:after {
    content: "";
    width: 50%;
    border-bottom: 40px solid white;
    position: absolute;
    bottom: 0;
    height: 40px; }
  .du-home header:before {
    border-right: 40px solid transparent;
    left: 0;
    margin-right: 40px; }
  .du-home header:after {
    border-left: 40px solid transparent;
    right: 0;
    margin-left: 40px; }
  @media screen and (max-width: 74.9375em) {
    .du-home header:before, .du-home header:after {
      border-bottom-width: 30px;
      height: 30px; }
    .du-home header:before {
      border-right-width: 30px;
      margin-right: 30px; }
    .du-home header:after {
      border-left-width: 30px;
      margin-left: 30px; } }
  @media screen and (max-width: 47.9375em) {
    .du-home header:before, .du-home header:after {
      display: none; } }
  .du-home header .hero-media {
    /*&:before {
				content: "";
				background-color: rgba(184, 161, 98, 0);
				position: absolute;
				left: 0;
				right: 0;
				top: 0;
				bottom: 0;
				z-index: 1;
				transition: background-color 2s ease;
			}*/ }
    @media print, screen and (min-width: 64em) {
      .du-home header .hero-media {
        display: block; } }
    .du-home header .hero-media > video {
      width: 100%; }
      @media (min-width: 1489px) {
        .du-home header .hero-media > video {
          width: auto; } }
      @media (min-width: 1200px) and (max-width: 1488px) {
        .du-home header .hero-media > video {
          width: 1488px;
          margin-left: -744px;
          height: 837px;
          left: 50%;
          position: relative;
          min-height: 0;
          min-width: 0; } }
      @media (min-width: 1120px) and (max-width: 1199px) {
        .du-home header .hero-media > video {
          min-width: 100%;
          width: 100%;
          position: static;
          margin-left: 0;
          height: auto; } }
      @media (min-width: 1024px) and (max-width: 1119px) {
        .du-home header .hero-media > video {
          width: 1120px;
          margin-left: -560px;
          height: 630px;
          left: 50%;
          position: relative;
          min-height: 0;
          min-width: 0; } }
      @media screen and (max-width: 63.9375em) {
        .du-home header .hero-media > video {
          width: 1588px;
          margin-left: -794px;
          left: 50%;
          min-height: 0;
          min-width: 0;
          position: relative; } }
      @media screen and (max-width: 47.9375em) {
        .du-home header .hero-media > video {
          width: 1260px;
          margin-left: -630px;
          height: 500px; } }
    @media (min-width: 2111px) {
      .du-home header .hero-media > img {
        width: 100%;
        min-height: auto;
        height: auto; } }
    @media (min-width: 1200px) and (max-width: 2110px) {
      .du-home header .hero-media > img {
        width: 2110px;
        margin-left: -1055px;
        height: 837px;
        left: 50%;
        position: relative;
        min-height: 0;
        min-width: 0; } }
    @media screen and (max-width: 74.9375em) {
      .du-home header .hero-media > img {
        width: 1588px;
        margin-left: -794px;
        height: 630px;
        left: 50%;
        position: relative;
        min-height: 0;
        min-width: 0; } }
    @media screen and (max-width: 47.9375em) {
      .du-home header .hero-media > img {
        width: 1260px;
        margin-left: -630px;
        height: 500px; } }
  .du-home header .hero-media__caption h2 {
    font-size: 78px;
    line-height: 81px;
    color: white;
    font-weight: bold;
    font-family: "BreveDisplay", sans-serif; }
    @media screen and (max-width: 74.9375em) {
      .du-home header .hero-media__caption h2 {
        font-size: 70px;
        line-height: 73px; } }
    @media screen and (max-width: 47.9375em) {
      .du-home header .hero-media__caption h2 {
        font-size: 48px;
        line-height: 51px; } }
    .du-home header .hero-media__caption h2 a {
      color: inherit;
      text-decoration: inherit; }
    .du-home header .hero-media__caption h2 p {
      line-height: 1em; }
    .du-home header .hero-media__caption h2 span.line {
      line-height: 1em;
      display: block; }
      @media screen and (max-width: 47.9375em) {
        .du-home header .hero-media__caption h2 span.line {
          display: inline; } }
  @media screen and (max-width: 74.9375em) {
    .du-home header .hero-media__caption {
      right: 0;
      padding-left: 80px;
      padding-right: 80px;
      bottom: 88px; } }
  @media screen and (max-width: 47.9375em) {
    .du-home header .hero-media__caption {
      padding-left: 22px;
      padding-right: 22px;
      bottom: 29px; } }

.du-home #main-content {
  padding-top: 96px;
  padding-bottom: 150px; }
  @media screen and (max-width: 74.9375em) {
    .du-home #main-content {
      padding-top: 66px;
      padding-bottom: 100px; } }
  @media screen and (max-width: 47.9375em) {
    .du-home #main-content {
      padding-top: 63px;
      padding-bottom: 50px; } }
  .du-home #main-content h2, .du-home #main-content h3, .du-home #main-content h4, .du-home #main-content h5, .du-home #main-content h6 {
    font-weight: 300; }
  .du-home #main-content h2 {
    font-size: 66px;
    line-height: 66px; }
    @media screen and (max-width: 74.9375em) {
      .du-home #main-content h2 {
        font-size: 55px;
        line-height: 55px; } }
    @media screen and (max-width: 47.9375em) {
      .du-home #main-content h2 {
        font-size: 38px;
        line-height: 38px; } }
  .du-home #main-content h3 {
    font-size: 45px;
    line-height: 59px; }
    @media screen and (max-width: 74.9375em) {
      .du-home #main-content h3 {
        font-size: 33px;
        line-height: 44px; } }
  .du-home #main-content p {
    font-family: 'BreveNews', san-serif; }
  .du-home #main-content > .row + .row {
    margin-top: 150px; }
    @media screen and (max-width: 63.9375em) {
      .du-home #main-content > .row + .row {
        margin-top: 70px; } }
    @media screen and (max-width: 47.9375em) {
      .du-home #main-content > .row + .row {
        margin-top: 60px; } }

.du-home .du-home__section-1 {
  align-items: center; }
  .du-home .du-home__section-1 p {
    font-size: 24px;
    line-height: 32px; }
    @media screen and (max-width: 74.9375em) {
      .du-home .du-home__section-1 p {
        font-size: 18px;
        line-height: 28px; } }
    @media screen and (max-width: 47.9375em) {
      .du-home .du-home__section-1 p {
        font-size: 16px;
        line-height: 23px; } }
  @media screen and (min-width: 75em) {
    .du-home .du-home__section-1 h2.btm-divider {
      margin-bottom: 53px; }
    .du-home .du-home__section-1 .list-of-links--alt {
      text-align: center; }
      .du-home .du-home__section-1 .list-of-links--alt a {
        text-align: left; } }

.du-home .du-home__academic-programs .search-box {
  max-width: none; }
  .du-home .du-home__academic-programs .search-box input[type="text"] {
    font-weight: 300;
    font-size: 40px;
    line-height: 67px;
    margin-bottom: 1.5rem;
    height: 81px; }
    @media screen and (max-width: 74.9375em) {
      .du-home .du-home__academic-programs .search-box input[type="text"] {
        font-size: 30px;
        line-height: 45px;
        margin-bottom: 26px;
        height: 59px; } }
    @media screen and (max-width: 47.9375em) {
      .du-home .du-home__academic-programs .search-box input[type="text"] {
        font-size: 22px;
        line-height: 37px;
        margin-bottom: 20px;
        padding-left: 5px;
        padding-right: 36px;
        height: 51px; } }
  @media screen and (max-width: 47.9375em) {
    .du-home .du-home__academic-programs .search-box > button {
      right: 8px;
      bottom: 12px; }
      .du-home .du-home__academic-programs .search-box > button > .icon-du-cust-search {
        font-size: 20px; } }

.du-home .du-home__academic-programs .btn {
  font-size: 19px;
  text-align: center;
  display: flex;
  width: 100%;
  height: 64px;
  align-items: center;
  justify-content: center;
  line-height: 21px;
  padding-bottom: 5;
  padding-top: 5; }
  @media screen and (max-width: 74.9375em) {
    .du-home .du-home__academic-programs .btn {
      font-size: 17px;
      line-height: 19px; } }
  @media screen and (max-width: 47.9375em) {
    .du-home .du-home__academic-programs .btn {
      height: 84px; } }
  .du-home .du-home__academic-programs .btn .icon-du-cust-search {
    padding-left: 6px; }
  .du-home .du-home__academic-programs .btn:hover, .du-home .du-home__academic-programs .btn:focus {
    cursor: pointer; }

@media screen and (max-width: 47.9375em) {
  .du-home .du-home__academic-programs button {
    margin-bottom: 4px; } }

@media screen and (max-width: 74.9375em) {
  .du-home #main-content > .row.row--expanded {
    max-width: 1200px;
    margin-left: 0;
    margin-right: 0;
    padding-left: 0;
    padding-right: 0; } }

.du-home header .hero-media {
  position: fixed; }

.du-home.du-alert--active header .hero-media {
  position: absolute; }

.du-home #main-content,
.du-home footer {
  background-color: white; }

/*.du-home header.header--fade-out-gold {
	.hero-media {
		&:before {
			background-color: rgba(184, 161, 98, 0.25);
		}
	}
}*/
.image-with-caption {
  margin-top: 40px;
  margin-bottom: 40px; }
  .image-with-caption.align-right {
    margin-left: 10px !important;
    margin-top: 0;
    margin-bottom: 0; }
  .image-with-caption.align-left {
    margin-right: 10px !important;
    margin-top: 0;
    margin-bottom: 0; }
  .image-with-caption figure {
    display: table; }
    .image-with-caption figure figcaption {
      margin: 4px 80px 0 80px;
      display: table-caption;
      caption-side: bottom; }
      .image-with-caption figure figcaption p {
        margin-bottom: 10px; }

.information-overview-module {
  height: auto;
  background: #f4f4f4 url("../images/arrow-pattern_transparent.png") repeat scroll 0 0;
  padding: 30px 30px 0;
  margin-top: 118px;
  margin-bottom: 135px;
  /*.orbit-slide {
    @include breakpoint(small down) {
      padding-left: 0;
      padding-right: 0;
    }
  }*/ }
  @media screen and (max-width: 74.9375em) {
    .information-overview-module {
      padding: 15px 0 0; } }
  @media screen and (max-width: 63.9375em) {
    .information-overview-module {
      margin-top: 82px;
      margin-bottom: 95px; } }
  @media screen and (max-width: 47.9375em) {
    .information-overview-module {
      display: none; } }
  @media print, screen and (min-width: 48em) {
    .information-overview-module .orbit-container {
      height: auto;
      margin: 0 auto; } }
  @media screen and (max-width: 74.9375em) {
    .information-overview-module .orbit-container {
      padding: 30px 0px; } }
  .information-overview-module .orbit-bullets {
    padding-bottom: 25px; }
  .information-overview-module .fact {
    padding-right: 15px;
    padding-left: 15px;
    /*@include breakpoint(small down) {
      padding-right: 22px;
      padding-left: 22px;
    }*/ }
  .information-overview-module .quick-fact-module__content {
    height: 100%; }
    .information-overview-module .quick-fact-module__content p {
      font-size: 16px;
      line-height: 24px;
      font-family: "BreveSans", sans-serif; }
      @media (min-width: 737px) and (max-width: 1023px) {
        .information-overview-module .quick-fact-module__content p {
          font-size: 15px;
          line-height: 18px; } }
      .information-overview-module .quick-fact-module__content p.stat {
        font-family: "BreveSlabTitle", sans-serif;
        font-weight: 700;
        color: #18161f;
        font-size: 20px; }
        @media (min-width: 737px) and (max-width: 1023px) {
          .information-overview-module .quick-fact-module__content p.stat {
            font-size: 18px;
            line-height: 16px;
            margin-bottom: 4px; } }
      .information-overview-module .quick-fact-module__content p.citation {
        font-size: 0.7rem;
        display: table-row-group;
        vertical-align: bottom; }
        @media screen and (min-width: 48em) and (max-width: 63.9375em) {
          .information-overview-module .quick-fact-module__content p.citation {
            margin-top: 80px; } }
      .information-overview-module .quick-fact-module__content p.headline {
        font-weight: 300;
        font-family: "BreveSlabTitle", sans-serif;
        font-size: 28px;
        line-height: 35px;
        text-align: center;
        color: #18161f; }
        @media screen and (max-width: 63.9375em) {
          .information-overview-module .quick-fact-module__content p.headline {
            font-size: 22px;
            line-height: 31px; } }
        @media (min-width: 737px) and (max-width: 1023px) {
          .information-overview-module .quick-fact-module__content p.headline {
            margin-bottom: 24px;
            margin-top: 8px; } }
    .information-overview-module .quick-fact-module__content.statistic .quick-fact-module__head {
      display: flex;
      justify-content: center;
      align-items: center; }
      @media print, screen and (min-width: 48em) {
        .information-overview-module .quick-fact-module__content.statistic .quick-fact-module__head {
          height: 175px; } }
    .information-overview-module .quick-fact-module__content .quick-fact-module__head {
      display: flex;
      justify-content: center;
      align-items: center;
      padding: 0px 24px 0px 24px;
      height: 175px; }
      @media screen and (max-width: 63.9375em) {
        .information-overview-module .quick-fact-module__content .quick-fact-module__head {
          height: 135px; } }
      .information-overview-module .quick-fact-module__content .quick-fact-module__head img {
        max-height: 170px;
        width: auto;
        /*@include breakpoint(small down) {
          max-height: 200px;
        }*/ }
        @media screen and (max-width: 63.9375em) {
          .information-overview-module .quick-fact-module__content .quick-fact-module__head img {
            max-height: 130px; } }
      .information-overview-module .quick-fact-module__content .quick-fact-module__head.factStatistic {
        /*@include breakpoint(small down) {
          min-height:200px;
        }*/ }
        @media print {
          .information-overview-module .quick-fact-module__content .quick-fact-module__head.factStatistic {
            font-size: 8px; } }
    .information-overview-module .quick-fact-module__content a {
      font-weight: bold;
      color: #05637b; }
    .information-overview-module .quick-fact-module__content h2 {
      color: #534779;
      font-family: "BreveDisplay", sans-serif;
      font-weight: bold;
      font-size: 95px;
      line-height: 95px;
      vertical-align: middle;
      text-align: center;
      padding: 0px 24px 0px 24px;
      margin-bottom: 0; }
      @media (max-width: 1199px) {
        .information-overview-module .quick-fact-module__content h2 {
          font-size: 65px; } }
      @media screen and (max-width: 63.9375em) {
        .information-overview-module .quick-fact-module__content h2 {
          padding-left: 0;
          padding-right: 0; } }
    .information-overview-module .quick-fact-module__content .caption {
      padding: 10px 24px 24px;
      display: table;
      width: 100%;
      text-align: center;
      /*@include breakpoint(small down) {
        //width:100%;
        padding: 10px 0px; //height:250px;
      }*/ }
      @media screen and (max-width: 63.9375em) {
        .information-overview-module .quick-fact-module__content .caption {
          padding-left: 0;
          padding-right: 0; } }
  .information-overview-module ul.list-of-facts {
    margin-top: -8px; }
    .information-overview-module ul.list-of-facts li,
    #main-content .information-overview-module ul.list-of-facts li {
      display: flex;
      flex-direction: column;
      justify-content: center;
      text-align: center; }
      .information-overview-module ul.list-of-facts li:nth-child(2), .information-overview-module ul.list-of-facts li:nth-child(4),
      #main-content .information-overview-module ul.list-of-facts li:nth-child(2),
      #main-content .information-overview-module ul.list-of-facts li:nth-child(4) {
        background-color: transparent; }

.key-faculty {
  margin-bottom: 20rem; }
  .key-faculty h3 {
    display: flex;
    justify-content: center;
    font-weight: normal; }
  .key-faculty h3.btm-divider {
    padding-bottom: 16px;
    margin-bottom: 0; }
  .key-faculty h3.btm-divider:after {
    content: none !important; }
  .key-faculty .divider {
    height: 6px;
    background-color: #18171e;
    width: 77px;
    margin: 0 auto; }
  .key-faculty .component-header {
    margin-bottom: 2rem; }
    .key-faculty .component-header .columns {
      flex: 1 1 auto; }
  .key-faculty .row-key-faculty {
    position: relative;
    margin-right: auto;
    margin-left: auto;
    display: flex;
    flex-flow: nowrap; }
  .key-faculty .component-container {
    position: relative;
    width: 100%;
    height: 25rem;
    z-index: 300; }
  .key-faculty .columns {
    flex: none; }
  .key-faculty .background-container {
    position: absolute;
    background-color: #05637b;
    width: 100%;
    height: 27.5rem;
    top: 14%;
    z-index: 100; }
  .key-faculty .key-profile-background:before {
    position: absolute;
    background-color: #05637b;
    height: 86%;
    top: 14%;
    content: "";
    display: inline-block;
    z-index: -1; }
  .key-faculty .key-faculty-profile {
    padding: 2px;
    width: 287px;
    margin: 0 auto; }
  .key-faculty .background-container-four_col-one {
    height: 29.5rem; }
  .key-faculty .background-container-four_col-two {
    height: 64.5rem; }
  .key-faculty .background-container-four_col-three {
    height: 97.5rem; }
  .key-faculty .background-container-four_col-four {
    height: 132.5rem; }
  .key-faculty .background-container-four_col-five {
    height: 165.5rem; }
  .key-faculty .background-container-one_col-one {
    display: none; }
  .key-faculty .faculty-container {
    display: flex;
    margin-right: auto;
    margin-left: auto;
    justify-content: center;
    flex-flow: wrap; }
  .key-faculty .two.faculty-container .faculty-profile-container,
  .key-faculty .three.faculty-container .faculty-profile-container,
  .key-faculty .four.faculty-container .faculty-profile-container,
  .key-faculty .five.faculty-container .faculty-profile-container {
    margin-bottom: 2rem; }
  .key-faculty .four_col {
    max-width: 70rem; }
    .key-faculty .four_col span.first {
      display: block; }
  .key-faculty .three_col {
    max-width: 69rem; }
    .key-faculty .three_col .columns {
      flex: 1 1 auto; }
  .key-faculty .two_col {
    max-width: 39rem; }
    .key-faculty .two_col .columns {
      flex: 1 1 auto; }
  .key-faculty .one_col {
    max-width: 43rem; }
    .key-faculty .one_col .faculty-profile-container {
      flex-direction: row; }
    .key-faculty .one_col .information {
      padding: 0 2rem;
      background-color: #05637b;
      position: absolute;
      z-index: 800;
      top: 42%;
      left: 46%;
      width: 21rem; }
    .key-faculty .one_col .image {
      display: block;
      width: 34rem; }
    .key-faculty .one_col .name .first {
      display: block; }
    .key-faculty .one_col .rank {
      font-style: italic; }
    .key-faculty .one_col .learn-more {
      padding: 10px 28px;
      font-size: 16px;
      font-family: "Acto", sans-serif;
      display: inline-block;
      color: white;
      background-color: #ac9147; }
      .key-faculty .one_col .learn-more .icon-du-cust-right-arrow:before {
        display: none; }
      .key-faculty .one_col .learn-more:hover {
        background-color: #8f6d4d; }
      .key-faculty .one_col .learn-more a:hover {
        text-decoration: none; }
  .key-faculty .faculty-profile-container {
    display: flex;
    flex-direction: column;
    justify-content: center; }
  .key-faculty .image {
    display: flex;
    justify-content: center; }
    .key-faculty .image img {
      width: 287px;
      height: 384px; }
  .key-faculty [class^="icon-du"]:before {
    margin-left: 0; }
  .key-faculty .icon-du-cust-right-arrow:before {
    color: #b8a162;
    font-size: .8rem; }
  .key-faculty p {
    line-height: 22px; }
  .key-faculty .rank,
  .key-faculty .name {
    color: #f9f9f9; }
  .key-faculty .name {
    margin-top: .8rem;
    white-space: nowrap;
    flex: 1 1 auto;
    overflow-y: auto; }
  .key-faculty .learn-more a {
    color: #f9f9f9;
    text-decoration: none; }
  .key-faculty .learn-more a:hover {
    text-decoration: underline; }
  .key-faculty .rank span a {
    color: #f9f9f9;
    text-decoration: none; }

.key-faculty-one-col {
  margin-bottom: 7rem; }

.key-faculty.two-rows {
  margin-bottom: 55rem; }
  .key-faculty.two-rows .faculty-container {
    justify-content: left; }

.key-faculty.three-rows {
  margin-bottom: 88rem; }
  .key-faculty.three-rows .faculty-container {
    justify-content: left; }

.key-faculty.four-rows {
  margin-bottom: 123rem; }
  .key-faculty.four-rows .faculty-container {
    justify-content: left; }

.key-faculty.five-rows {
  margin-bottom: 156rem; }
  .key-faculty.five-rows .faculty-container {
    justify-content: left; }

.key-faculty {
  margin-bottom: 5rem; }

.key-faculty .component-container {
  height: auto; }

.key-faculty .key-faculty-profile {
  width: 100%; }

.key-faculty .key-faculty-profile {
  padding: 0 5rem; }

.key-faculty .image img {
  width: 100%;
  height: 100%; }

.key-profile-background {
  position: relative;
  margin-top: 25px;
  margin-bottom: 25px; }

.key-profile-background:first-child {
  margin-top: 0; }

.key-profile-background:last-child {
  margin-bottom: 0; }

.key-profile-background:before {
  position: absolute;
  background-color: #05637b;
  height: 86%;
  top: 14%;
  content: "";
  display: inline-block;
  z-index: -1;
  width: 100%; }

.key-faculty .full-background {
  background: none; }

@media print, screen and (min-width: 48em) {
  .key-faculty .key-faculty-profile {
    width: 100%; }
  .key-faculty .key-faculty-profile {
    padding: 0 10rem; }
  .key-faculty .image img {
    width: 100%;
    height: 100%; }
  .key-profile-background:before {
    background: 0;
    width: 100%;
    height: 86%; } }

@media print, screen and (min-width: 64em) {
  .key-faculty .image img {
    width: 287px;
    height: 384px; }
  .key-faculty .key-faculty-profile {
    padding: 0; }
  .key-profile-background:before {
    background: 0;
    width: auto; }
  .key-profile-background {
    position: static;
    margin-top: 0px;
    margin-bottom: 0px; }
  .full-background:before {
    position: absolute;
    background-color: #05637b;
    height: 86%;
    top: 14%;
    content: "";
    display: inline-block;
    z-index: -1;
    width: 100%; }
  .faculty-profile-container {
    max-width: 287px;
    margin: 0 auto;
    padding: 10px; } }

.large-image-module__container {
  margin-bottom: 164px;
  margin-top: 122px; }
  @media screen and (max-width: 63.9375em) {
    .large-image-module__container {
      margin-bottom: 124px;
      margin-top: 83px; } }
  @media screen and (max-width: 47.9375em) {
    .large-image-module__container {
      margin-bottom: 94px;
      margin-top: 40px; } }

.large-image-module ul.orbit-container li {
  margin-left: 0; }

.large-image-module__wrapper {
  overflow: hidden;
  height: 382px;
  transition: height 0.5s ease; }
  .large-image-module__wrapper .orbit-previous,
  .large-image-module__wrapper .orbit-next {
    display: none;
    z-index: 1; }
  .large-image-module__wrapper .orbit-caption {
    transition: visibility 0.5s ease, opacity 0.5s ease;
    visibility: hidden;
    opacity: 0; }
  .large-image-module__wrapper .orbit-container,
  .large-image-module__wrapper .orbit-slide {
    height: 704px !important; }
    @media screen and (max-width: 63.9375em) {
      .large-image-module__wrapper .orbit-container,
      .large-image-module__wrapper .orbit-slide {
        height: 511px !important; } }

.large-image-module.large-image-module--single-slide .orbit-previous,
.large-image-module.large-image-module--single-slide .orbit-next,
.large-image-module.large-image-module--single-slide .orbit-bullets {
  display: none !important; }

.large-image-module.large-image-module--single-slide .orbit-caption {
  padding-bottom: 45px !important; }

.large-image-module .orbit-slide img {
  width: 100%;
  max-width: 100%; }
  @media (max-width: 1356px) {
    .large-image-module .orbit-slide img {
      min-width: 1356px;
      left: 50%;
      margin-left: -678px;
      position: relative; } }
  @media (max-width: 984px) {
    .large-image-module .orbit-slide img {
      margin-left: -492px;
      min-width: 984px; } }
  @media (max-width: 736px) {
    .large-image-module .orbit-slide img {
      margin-left: -368px;
      min-width: 736px; } }

.large-image-module .orbit-previous,
.large-image-module .orbit-next {
  font-size: 63px;
  transition: background-color 0.5s ease;
  cursor: pointer; }

.large-image-module .orbit-previous {
  left: 22px; }

.large-image-module .orbit-next {
  right: 22px; }

.large-image-module .large-image-module__toggle {
  display: none; }

.js .large-image-module .large-image-module__toggle,
.js .large-image-module .large-image-module__close-modal {
  bottom: -24px;
  left: 50%;
  margin-left: -85px;
  width: 170px;
  display: block;
  position: absolute; }
  .js .large-image-module .large-image-module__toggle .large-image-module__toggle__hide,
  .js .large-image-module .large-image-module__close-modal .large-image-module__toggle__hide {
    display: none; }

.js .large-image-module--active .large-image-module__wrapper {
  height: 704px; }
  @media screen and (max-width: 63.9375em) {
    .js .large-image-module--active .large-image-module__wrapper {
      height: 511px; } }
  .js .large-image-module--active .large-image-module__wrapper .orbit-previous,
  .js .large-image-module--active .large-image-module__wrapper .orbit-next {
    display: block !important; }
  .js .large-image-module--active .large-image-module__wrapper .orbit-caption {
    visibility: visible;
    opacity: 1; }

.js .large-image-module--active .large-image-module__toggle {
  text-align: center; }
  .js .large-image-module--active .large-image-module__toggle .large-image-module__toggle__open {
    display: none; }
  .js .large-image-module--active .large-image-module__toggle .large-image-module__toggle__hide {
    display: block; }

.large-image-module__modal .large-image-module .orbit-container,
.large-image-module__modal .large-image-module .orbit-slide,
.large-image-module__modal .large-image-module .large-image-module__wrapper {
  height: auto !important; }

.large-image-module__modal .large-image-module .orbit-previous,
.large-image-module__modal .large-image-module .orbit-next {
  font-size: 40px; }

.large-image-module__modal .large-image-module .orbit-caption {
  position: static;
  text-align: center;
  font-size: 14px;
  padding-left: 50px;
  padding-right: 50px;
  padding-bottom: 65px; }
  .large-image-module__modal .large-image-module .orbit-caption p {
    line-height: 18px; }

.large-image-module__modal .large-image-module .orbit-slide img {
  width: 100%;
  min-width: 0;
  left: 0;
  margin-left: 0; }

@media screen and (max-width: 47.9375em) {
  .reveal.large-image-module__modal {
    background-color: transparent;
    padding-left: 0;
    padding-right: 0;
    padding-bottom: 0;
    overflow: visible;
    margin-top: 15%;
    height: auto;
    min-height: 0;
    width: auto; }
    .reveal.large-image-module__modal:focus {
      border: 0 none;
      outline: none; }
  .large-image-module .orbit-bullets {
    display: none; }
  .js .large-image-module__modal .orbit-previous,
  .js .large-image-module__modal .orbit-next {
    display: none !important; }
  .js .large-image-module__modal .orbit-bullets {
    display: block;
    position: absolute;
    bottom: 33px;
    width: 100%;
    margin-bottom: 8px; }
    .js .large-image-module__modal .orbit-bullets button {
      width: 15px;
      height: 15px; } }

@media screen {
  html {
    min-width: 320px; }
  header {
    height: 538px; } }
  @media screen and (max-width: 74.9375em) {
    header {
      height: 489px; } }
  @media screen and (max-width: 47.9375em) {
    header {
      height: 430px; } }
  @media screen and (min-width: 118.75em) {
    header {
      height: 750px; } }

@media screen {
  .utility-page header {
    height: 392px; } }
  @media screen and (max-width: 47.9375em) {
    .utility-page header {
      height: 354px; } }

@media screen {
  .hide-hero header {
    height: 260px; } }
  @media screen and (max-width: 47.9375em) {
    .hide-hero header {
      height: 200px; } }

@media screen {
    .hide-hero header #top-bar-sticky-wrap {
      box-shadow: 0px 4px 18px 0px rgba(0, 0, 0, 0.45); }
  .page-title-band {
    position: relative; }
    .page-title-band:before {
      content: "";
      position: absolute;
      top: 0;
      left: -54px;
      background-color: white;
      right: 0;
      width: auto;
      bottom: 0; } }
    @media screen and (max-width: 63.9375em) {
      .page-title-band:before {
        left: 0; } }

@media screen {
  .intro {
    margin-bottom: 51px; }
    .intro > *:last-child {
      margin-bottom: 0; } }
  @media screen and (max-width: 47.9375em) {
    .intro {
      margin-bottom: 41px; } }

@media screen and (min-width: 64em) {
  .pull-up > *:last-child {
    margin-bottom: 70px; } }

@media screen {
  .heading {
    margin-bottom: -100px; } }

@media print, screen and (min-width: 64em) {
  .pull-up {
    margin-top: -93px;
    padding-top: 43px; } }

@media screen and (max-width: 74.9375em) {
  #main-content > .row,
  footer > .row {
    margin-left: 55px;
    margin-right: 55px; }
    #main-content > .row.expanded,
    footer > .row.expanded {
      margin-left: 0;
      margin-right: 0; } }
  @media screen and (max-width: 74.9375em) and (max-width: 47.9375em) {
    #main-content > .row,
    footer > .row {
      margin-left: 0;
      margin-right: 0;
      padding-left: 18px;
      padding-right: 18px; } }

@media screen and (max-width: 63.9375em) {
  #main-content > .row:first-child > .pull-up {
    margin-top: -81px;
    padding-top: 32px;
    margin-left: -35px;
    margin-right: -35px;
    padding-left: 42px;
    padding-right: 42px; } }
  @media screen and (max-width: 63.9375em) and (max-width: 47.9375em) {
    #main-content > .row:first-child > .pull-up {
      margin-left: -18px;
      margin-right: -18px;
      padding-left: 22px;
      padding-right: 22px; } }

.list-filter {
  position: relative;
  width: 100%;
  margin-bottom: 3rem;
  justify-content: space-between;
  flex-wrap: no-wrap; }
  .list-filter .list-filter-sizes {
    color: #18171e;
    width: 30%; }
  .list-filter .list-filter-form {
    width: 100%;
    margin-top: 25px;
    color: #f9f9f9;
    background-color: #29282e; }
    .list-filter .list-filter-form .icon-du-down-arrow:before {
      margin-right: .4em; }
    .list-filter .list-filter-form .views-exposed-form {
      width: 100%; }
      .list-filter .list-filter-form .views-exposed-form .form-item {
        display: inline-block;
        width: 30%;
        padding: 0 25px 0 35px; }
      .list-filter .list-filter-form .views-exposed-form label {
        margin-top: 1rem;
        color: #f9f9f9; }
      .list-filter .list-filter-form .views-exposed-form .form-actions {
        position: relative;
        margin: 1rem 0;
        margin-left: 40%; }
        .list-filter .list-filter-form .views-exposed-form .form-actions input:first-child {
          text-transform: uppercase; }
      .list-filter .list-filter-form .views-exposed-form #edit-reset {
        background-color: #29282e;
        border: 1px solid #f9f9f9;
        margin-left: 15px; }
  .list-filter .list-filter-filter-button {
    width: 12%;
    color: #fff;
    background-color: #9f042d;
    text-transform: uppercase;
    font-weight: bold;
    padding: 10px 20px;
    border: 2px solid #888888; }

.views-pager {
  width: 100%;
  padding-bottom: 3rem; }
  .views-pager .pager {
    margin: 0 auto; }
    .views-pager .pager .pager__items {
      list-style-type: none; }
    .views-pager .pager .pager__item {
      list-style-type: none;
      display: inline;
      float: left; }
      .views-pager .pager .pager__item a {
        color: #18171e;
        padding: 0 7px; }
      .views-pager .pager .pager__item a:link {
        text-decoration: none; }
      .views-pager .pager .pager__item a:hover {
        padding-bottom: 8px;
        border-bottom: 3px solid #18171e; }
    .views-pager .pager .is-active a {
      color: #9f042d;
      padding-bottom: 8px;
      border-bottom: 3px solid #9f042d; }
    .views-pager .pager ul li:before {
      content: none !important; }
    .views-pager .pager .previous,
    .views-pager .pager .next {
      font-size: 1.5rem;
      color: #888888;
      padding: 8px 4px;
      border: 2px solid #e0e0e0; }

.mega-flyout.is-dropdown-submenu {
  left: 0 !important;
  right: 0 !important;
  top: auto !important;
  position: absolute;
  border: 0 none;
  box-shadow: 0px 8px 9px 0px rgba(0, 0, 0, 0.2); }

@media screen and (max-width: 63.9375em) {
  .mega-flyout.is-dropdown-submenu {
    display: none; } }

.mega-flyout > li > .row {
  margin-left: auto;
  margin-right: auto;
  padding-top: 39px;
  padding-bottom: 39px; }
  .mega-flyout > li > .row ul {
    border-top: 8px solid #e0e0e0; }
    .mega-flyout > li > .row ul li {
      list-style-type: none;
      display: table !important;
      width: 100%; }
      .mega-flyout > li > .row ul li a {
        display: table-cell;
        vertical-align: middle;
        height: 62px;
        border-bottom: 2px solid #e0e0e0;
        font-size: 18px;
        line-height: 1.2;
        padding: 0 15px 0 10px;
        text-align: left;
        text-decoration: none; }
        .mega-flyout > li > .row ul li a:hover, .mega-flyout > li > .row ul li a:focus {
          background-color: #f9f9f9;
          color: #98012e !important; }
  .mega-flyout > li > .row .content {
    background-color: white;
    margin-right: 30px;
    margin-top: -48px;
    position: relative;
    padding-top: 17px;
    padding-right: 15px; }
    .mega-flyout > li > .row .content h2 {
      font-size: 24px;
      font-weight: 700; }

.mega-flyout.mega-menu--alt-layout .content-wrap {
  position: relative; }
  .mega-flyout.mega-menu--alt-layout .content-wrap .content {
    position: absolute;
    bottom: 0;
    left: 0;
    max-width: 358px;
    margin-right: 0;
    margin-top: 0;
    padding-right: 30px;
    text-align: left; }

.mega-flyout.mega-menu--dropdown {
  left: auto !important;
  right: auto !important;
  margin-left: -34px;
  box-shadow: 0 0 30px 0 rgba(0, 0, 0, 0.2);
  z-index: -1;
  background: transparent;
  padding: 0; }
  @media screen and (max-width: 63.9375em) {
    .mega-flyout.mega-menu--dropdown {
      display: none !important; } }
  .mega-flyout.mega-menu--dropdown.js-dropdown-active {
    display: table-cell; }
  .mega-flyout.mega-menu--dropdown > li {
    display: table-cell; }
  .mega-flyout.mega-menu--dropdown > li > .row {
    padding-top: 0;
    padding-bottom: 0;
    display: table-cell; }
    .mega-flyout.mega-menu--dropdown > li > .row ul {
      width: 360px;
      margin: 0;
      padding: 30px 34px;
      border-top: 0; }
      .mega-flyout.mega-menu--dropdown > li > .row ul li {
        width: 100%; }
      .mega-flyout.mega-menu--dropdown > li > .row ul li a {
        display: block !important;
        width: 100%;
        height: auto;
        padding: 20px 10px;
        border-top: 2px solid #e0e0e0;
        border-bottom: 0; }
      .mega-flyout.mega-menu--dropdown > li > .row ul li:last-child a {
        border-bottom: 8px solid #e0e0e0; }

.mini-event-feed .intro {
  border-bottom: 2px solid #e0e0e0; }

.mini-event-feed .intro h2 {
  font-weight: bold; }

.mini-event-feed .feed-link {
  padding-top: 12px; }

.mini-event-feed .feed-link a {
  font-family: "Acto", sans-serif;
  font-weight: bold;
  text-decoration: none; }

.mini-event-feed .mini-event-feed__item {
  flex: 0 0 33.33333%;
  max-width: 33.33333%;
  padding-right: 0.22222rem;
  padding-left: 0.22222rem;
  margin-bottom: 45px; }
  @media print, screen and (min-width: 48em) {
    .mini-event-feed .mini-event-feed__item {
      padding-right: 0.44444rem;
      padding-left: 0.44444rem; } }
  @media screen and (max-width: 47.9375em) {
    .mini-event-feed .mini-event-feed__item {
      flex: 0 0 100%;
      max-width: 100%;
      padding-right: 0.22222rem;
      padding-left: 0.22222rem; } }
  @media screen and (max-width: 47.9375em) and (min-width: 48em) {
    .mini-event-feed .mini-event-feed__item {
      padding-right: 0.44444rem;
      padding-left: 0.44444rem; } }

.mini-event-feed .views-element-container > div {
  max-width: 66.66667rem;
  margin-right: auto;
  margin-left: auto;
  display: flex;
  flex-flow: row wrap; }

/* Modal Styles */
.reveal.full {
  background-color: white; }
  .reveal.full .modal_cta_utility h2 {
    font-size: 66px;
    line-height: 66px;
    font-weight: 100;
    margin-bottom: 1em; }
    @media screen and (max-width: 74.9375em) {
      .reveal.full .modal_cta_utility h2 {
        margin-bottom: 0.5em;
        font-size: 55px;
        line-height: 55px; } }
    @media screen and (max-width: 47.9375em) {
      .reveal.full .modal_cta_utility h2 {
        font-size: 38px;
        line-height: 38px; } }
  .reveal.full .modal_cta_utility h4 {
    font-weight: bold; }
  .reveal.full .modal_cta_utility h6 {
    color: #525252; }
  .reveal.full .modal_cta_utility p {
    margin-bottom: 1em; }
  .reveal.full .modal_cta_utility .btn {
    font-size: 19px;
    text-align: center;
    display: block;
    width: 100%;
    align-items: center;
    justify-content: center;
    line-height: 21px;
    margin-bottom: 1em; }
    @media screen and (max-width: 74.9375em) {
      .reveal.full .modal_cta_utility .btn {
        font-size: 17px;
        line-height: 19px; } }
    .reveal.full .modal_cta_utility .btn:hover, .reveal.full .modal_cta_utility .btn:focus {
      cursor: pointer; }

.reveal.modal_wrapper {
  height: 100%; }

#feedback_floater {
  border: 0;
  position: fixed;
  bottom: 0;
  left: 20px;
  z-index: 999;
  display: block;
  background-color: #2090ac;
  -webkit-box-shadow: 0 0 5px 3px rgba(0, 0, 0, 0.4);
  -moz-box-shadow: 0 0 5px 3px rgba(0, 0, 0, 0.4);
  box-shadow: 0 0 5px 3px rgba(0, 0, 0, 0.4); }
  #feedback_floater:hover, #feedback_floater:focus {
    background-color: #05637b; }

@font-face {
  font-family: "BreveSlabTitle";
  src: url("fonts/breve-slab-title-web/thin/BreveSlabTitle-Thin.eot");
  src: url("fonts/breve-slab-title-web/thin/BreveSlabTitle-Thin.eot?#iefix") format("embedded-opentype"), url("fonts/breve-slab-title-web/thin/BreveSlabTitle-Thin.woff") format("woff"), url("fonts/breve-slab-title-web/thin/BreveSlabTitle-Thin.ttf") format("truetype"), url("fonts/breve-slab-title-web/thin/BreveSlabTitle-Thin.svg#BreveSlabTitle") format("svg");
  font-style: normal;
  font-weight: 300; }

.headline-news-story {
  margin-bottom: 8px; }
  @media print, screen and (min-width: 64em) {
    .headline-news-story {
      margin-bottom: 32px; } }
  .headline-news-story:first-child {
    padding-right: 25px; }
  @media print, screen and (min-width: 64em) {
    .headline-news-story .columns {
      padding-bottom: 36px; } }
  .headline-news-story .columns {
    padding-bottom: 16px; }
  .headline-news-story .columns + .columns {
    padding-left: 25px; }
  .headline-news-story .news-title h3 {
    text-align: center;
    font-size: 40px;
    line-height: 48px;
    font-family: 'BreveSlabtitle', sans-serif;
    font-weight: 500;
    margin: .1rem 0 1rem 0; }
    @media screen and (max-width: 74.9375em) {
      .headline-news-story .news-title h3 {
        font-size: 55px;
        line-height: 55px; } }
    @media screen and (max-width: 47.9375em) {
      .headline-news-story .news-title h3 {
        font-size: 38px;
        line-height: 38px; } }
  .headline-news-story .news-category {
    text-align: center; }
    .headline-news-story .news-category a {
      color: #525252;
      text-decoration: none; }
      .headline-news-story .news-category a:hover {
        color: #525252;
        text-decoration: underline; }

.id-22481 .news-title,
.id-23561 .news-title {
  padding-bottom: 1.5rem; }

@media print, screen and (min-width: 64em) {
  .id-22481 .news-title,
  .id-23561 .news-title {
    width: 24rem;
    margin: 0 auto;
    padding-bottom: 3.2rem; } }

.id-22481 h3:after,
.id-23561 h3:after {
  content: "";
  display: block;
  margin: 0 auto;
  margin-top: 1.6rem;
  height: 6px;
  width: 85px;
  background-color: #18171e; }

.id-22481 .news-article-teaser,
.id-23561 .news-article-teaser {
  margin: 0 2rem 0 2.5rem; }

@media print, screen and (min-width: 64em) {
  .top-news-story-image-left .news-image,
  .top-news-story-image-left .news-info {
    flex: 0 0 50%;
    max-width: 50%; } }

.top-news-story-image-top {
  display: inline-block; }

.news-stories-listing {
  margin-bottom: 4rem; }
  .news-stories-listing h3 {
    font-size: 1.4rem;
    font-weight: 500;
    text-align: center; }
  .news-stories-listing .news-category {
    padding: .7rem 0 .3rem 0;
    text-align: center; }
    .news-stories-listing .news-category a {
      color: #525252;
      text-decoration: none; }
      .news-stories-listing .news-category a:hover {
        color: #525252;
        text-decoration: underline; }

.news-article-header h3 a {
  color: #18171e;
  text-decoration: none; }
  .news-article-header h3 a:hover {
    color: #525252; }

@media print, screen and (min-width: 64em) {
  .news-stories-listing.horizontal-listing .news-story {
    flex: 0 0 33.33333%;
    max-width: 33.33333%; } }

.news-stories-listing.vertical-listing {
  display: inline-block; }
  .news-stories-listing.vertical-listing .news-image {
    padding-right: 0;
    padding-left: 0; }
  .news-stories-listing.vertical-listing .news-category {
    padding: .9rem 0 .5rem; }
  .news-stories-listing.vertical-listing h3 {
    font-size: 1.1rem;
    line-height: 25px;
    padding-bottom: 1.8rem; }

.two-column-news {
  margin-bottom: 2.6rem; }
  .two-column-news .vertical-listing .columns:first-child {
    padding-right: 0; }

.two-column-news-header {
  padding-bottom: .4rem; }
  .two-column-news-header:before {
    content: "";
    display: block;
    width: 100%;
    margin-right: 0.44444rem;
    margin-left: 0.44444rem;
    margin-bottom: 1.7rem;
    border-top: 2px solid #e9e9e9; }
  .two-column-news-header h3.btm-divider {
    font-size: 2.1rem;
    font-weight: 500;
    line-height: 1.3; }
  .two-column-news-header .btm-divider:after {
    width: 84px; }
  .two-column-news-header .view-all-stories {
    float: right;
    padding-top: 1rem; }

.pager {
  margin: 12px auto; }
  .pager .visually-hidden {
    position: absolute !important;
    clip: rect(1px, 1px, 1px, 1px);
    overflow: hidden;
    height: 1px;
    width: 1px;
    word-wrap: normal; }
  .pager .pager__items {
    list-style-type: none; }
  .pager .pager__item {
    list-style-type: none;
    display: inline;
    float: left; }
    .pager .pager__item a {
      color: #18171e;
      padding: 0 7px; }
    .pager .pager__item a:link {
      text-decoration: none; }
    .pager .pager__item a:hover {
      padding-bottom: 8px;
      border-bottom: 3px solid #18171e; }
  .pager .pager__item--previous a:hover,
  .pager .pager__item--next a:hover {
    border-bottom: none; }
    .pager .pager__item--previous a:hover .next,
    .pager .pager__item--previous a:hover .previous,
    .pager .pager__item--next a:hover .next,
    .pager .pager__item--next a:hover .previous {
      border: 2px solid #888888; }
  .pager .is-active a {
    color: #9f042d;
    padding-bottom: 8px;
    border-bottom: 3px solid #9f042d; }
  .pager ul li:before {
    content: none !important; }
  .pager .previous,
  .pager .next {
    font-size: 1.5rem;
    color: #888888;
    padding: 8px 4px;
    border: 2px solid #e0e0e0; }

@media print {
  /*@page {
	  margin: 1cm 2cm 2cm;
	}*/
  header {
    height: auto; }
    header .hero-media,
    header .hero-media__caption,
    header .utility-menu,
    header #main-menu,
    header #search-toggler,
    header #main-menu-toggler {
      display: none; }
    header .sticky.is-stuck {
      position: relative; }
    header #main-menu-wrap a.logo {
      margin-left: 0; }
      header #main-menu-wrap a.logo > span {
        position: static; }
  #main-content {
    margin-left: 20px;
    margin-right: 20px; }
    #main-content .pull-up {
      margin-top: 0;
      padding-left: 0 !important;
      margin-left: 0; }
      #main-content .pull-up h1 {
        margin-top: 80px;
        font-size: 40px;
        margin-bottom: 20px; }
  .intro.large-8 {
    flex: 0 0 100%;
    max-width: 100%; }
  .intro.large-offset-1 {
    margin-left: 0; }
  blockquote {
    border: 0 none; }
  .blockquote__background .large-offset-2 {
    margin-left: 0; }
  .academic-filter {
    display: none; }
  .cards-list-module .card-list-item {
    width: 50%;
    position: static !important;
    display: block;
    min-width: 50%;
    page-break-inside: avoid;
    margin-bottom: 1em; }
    .cards-list-module .card-list-item.card-list-item--open {
      width: 100%;
      min-width: 100%; }
    .cards-list-module .card-list-item .cards-list__content {
      min-height: 0;
      padding: 5px 0 0 0;
      border-top-width: 3px; }
      .cards-list-module .card-list-item .cards-list__content h2.cards-list-title {
        margin-bottom: 5px;
        font-size: 24px;
        line-height: 28px; }
      .cards-list-module .card-list-item .cards-list__content .academic-card {
        margin-bottom: 5px;
        padding-bottom: 4px;
        font-size: 14px; }
    .cards-list-module .card-list-item .card-list-bottom {
      position: static;
      font-size: 13px; }
    .cards-list-module .card-list-item.ap-letter, .cards-list-module .card-list-item.ap-school,
    .cards-list-module .card-list-item .more-button {
      display: none; }
    .cards-list-module .card-list-item .flyout {
      position: static;
      float: none;
      width: 100% !important;
      border-bottom-width: 0; }
      .cards-list-module .card-list-item .flyout .flyout-content__holder {
        padding: 0 10px; }
        .cards-list-module .card-list-item .flyout .flyout-content__holder > .columns {
          max-width: 100%;
          flex: 0 0 100%;
          padding-right: 0; }
      .cards-list-module .card-list-item .flyout .cards-module__buttons {
        display: none; }
  .cards-list-module .js-filter-cards {
    height: auto !important;
    position: static; }
  .copy-module ul {
    margin-left: 10px; }
    .copy-module ul li {
      list-style-type: disc !important; }
  .copy-module.copy-module--image-alt .large-9,
  .copy-module.copy-module--image-alt .large-3 {
    flex: 0 0 50%;
    max-width: 50%; }
  .copy-module.copy-module--image-alt .large-3 .content {
    width: 100%;
    left: 0; }
  .information-overview-module .orbit-container {
    height: auto; }
    .information-overview-module .orbit-container .fact .quick-fact-module__content h2 {
      font-size: 28px;
      padding-top: 10px; }
    .information-overview-module .orbit-container .factStatistic {
      height: 50% !important; }
    .information-overview-module .orbit-container ul.list-of-facts li {
      height: auto !important; }
  .related-stories-module .orbit-container {
    height: auto; }
  .related-stories-module .related-stories-module__story {
    page-break-inside: avoid; }
  .related-stories-module .related-stories-module__story__content {
    margin-top: 20px; }
    .related-stories-module .related-stories-module__story__content a {
      text-decoration: none; }
      .related-stories-module .related-stories-module__story__content a .read-more {
        font-weight: bold;
        font-family: "Acto", sans-serif; }
  .stories-module > .row {
    padding-top: 0; }
  .stories-module .stories-module__story .content {
    height: auto !important; }
  .cards-module > .row {
    position: static; }
    .cards-module > .row > .columns .cards-module__content {
      height: auto !important;
      margin-top: 20px; }
      .cards-module > .row > .columns .cards-module__content h4 {
        padding-top: 20px; }
  .accordion .accordion-title {
    padding: 0 0 10px 0; }
    .accordion .accordion-title:before {
      display: none; }
  .accordion .accordion-content {
    display: block; }
  .feature-video-module .blockquote__background .large-offset-7 {
    margin-left: 0;
    max-width: none;
    flex: 0 0 100%; }
  .feature-video-module .feature-video-module__video-wrapper {
    position: relative; }
    .feature-video-module .feature-video-module__video-wrapper a.video-toggle {
      text-decoration: none;
      position: absolute;
      top: 0;
      bottom: 0;
      left: 0;
      right: 0;
      margin: 0;
      padding: 0;
      display: block;
      z-index: 1;
      opacity: 1; }
      .feature-video-module .feature-video-module__video-wrapper a.video-toggle .video-toggle__text {
        position: absolute;
        bottom: 28px;
        left: 8px;
        color: white; }
        .feature-video-module .feature-video-module__video-wrapper a.video-toggle .video-toggle__text > [class*="icon-du"] {
          font-size: 62px;
          position: relative;
          top: 10px;
          color: white; }
        .feature-video-module .feature-video-module__video-wrapper a.video-toggle .video-toggle__text .icon-du-pause-circled {
          display: none; }
    .feature-video-module .feature-video-module__video-wrapper video {
      width: 100%;
      height: auto; }
  .large-image-module .large-image-module__toggle {
    display: none !important; }
  #events-listing__show-more {
    display: none; }
  .js #events-listing > .columns:nth-child(1n+7) .events-listing__item {
    display: block; }
  #du-alert .du-alert__action-button {
    display: none; }
  #du-alert #du-alert__content {
    display: block !important;
    border-bottom: 2px solid #e0e0e0;
    margin-bottom: 30px; }
  .school-list .accordion-content {
    display: block; }
  #school-list-container .school-name {
    max-width: none;
    flex: 0 0 100%; }
  h1, h2, h3, h4, h5 {
    page-break-after: avoid;
    page-break-inside: avoid; }
  ul, ol, img, p, blockquote, table {
    page-break-inside: avoid; }
  .search-results {
    page-break-inside: auto; }
  .img-wrapper__content {
    font-style: italic; }
  .contacts-module {
    /*&:after {
			content: "";
			display: table;
			clear: both;
		}*/ }
    .contacts-module .contacts-module__content {
      height: auto !important; }
  .contact-single-module .contact-single-module_overlay {
    display: none; }
  .contact-single-module .columns {
    max-width: 50%; }
  .contact-single-module .show-for-small-only {
    display: none; }
  .contact-single-module__content {
    height: auto !important; }
    .contact-single-module__content .social-media {
      flex-direction: column;
      -webkit-box-align: left;
      -webkit-align-items: left;
      -ms-flex-align: left;
      align-items: left; }
      .contact-single-module__content .social-media li > a {
        padding-left: 0;
        /* These are technically the same, but use both */
        overflow-wrap: break-word;
        word-wrap: break-word;
        -ms-word-break: break-all;
        /* This is the dangerous one in WebKit, as it breaks things wherever */
        word-break: break-all;
        /* Instead use this non-standard one: */
        word-break: break-word;
        /* Adds a hyphen where the word breaks, if supported (No Blink) */
        -ms-hyphens: auto;
        -moz-hyphens: auto;
        -webkit-hyphens: auto;
        hyphens: auto; }
  ul.two-col li {
    margin-left: 20px;
    list-style-type: disc !important; }
  footer .copyright {
    margin-top: 50px;
    border-top: 6px solid #000000; }
  .sub-menu-wrap,
  .follow-us,
  footer .bg-dark-gray,
  .js .show-hide-toggle {
    display: none; }
  .js .show-hide__contents {
    display: block; }
  .admission-steps .admission-steps__nav {
    display: none; }
  .admission-steps .large-offset-4 {
    margin-left: 0;
    max-width: none;
    flex: 0 0 100%;
    padding-left: 0; }
  .admission-steps .admission-steps__print {
    display: none; }
  .admission-steps .admission-steps__section-name {
    position: static !important;
    width: auto;
    height: auto; }
  .admission-steps .tabs-panel[aria-hidden="true"] {
    display: block !important; }
  .admission-steps .tabs.vertical {
    display: none; }
  .admission-steps > .tabs-content {
    border-width: 0 !important; }
    .admission-steps > .tabs-content .tabs-content {
      border-width: 0 !important; }
      .admission-steps > .tabs-content .tabs-content ul {
        margin-left: 10px; }
        .admission-steps > .tabs-content .tabs-content ul li {
          list-style-type: disc !important; }
    .admission-steps > .tabs-content > .tabs-panel > .row > .large-9 {
      max-width: none;
      flex: 0 0 100%; }
  .admission-steps .sub-step-content {
    min-height: 0 !important;
    border-width: 0 !important; }
    .admission-steps .sub-step-content h4 {
      page-break-after: avoid;
      font-size: 30px;
      line-height: 36px; } }

#main-content.profile-page {
  padding-top: 30px; }
  #main-content.profile-page .row.main-wrapper {
    max-width: 100% !important;
    padding: 20px 0; }
  #main-content.profile-page h1 {
    padding-bottom: 0; }
    #main-content.profile-page h1:after {
      width: 0;
      height: 0;
      background: none; }
  #main-content.profile-page .profile-background {
    background: #f4f4f4; }
  #main-content.profile-page .no-background {
    background: white; }
  #main-content.profile-page .profile-photo img {
    margin-top: -20px; }
  #main-content.profile-page .top-info {
    margin-top: 30px; }
  #main-content.profile-page .sub-menu-wrap {
    margin-top: 30px;
    width: 100%; }
  #main-content.profile-page .phone-desc {
    color: #ccc; }
  #main-content.profile-page ul.profile-tags {
    margin: 0;
    padding: 0;
    list-style: none; }
    #main-content.profile-page ul.profile-tags li {
      list-style: none;
      padding: 20px 0;
      border-bottom: solid 1px #f4f4f4;
      text-indent: 20px;
      margin-left: 0; }
      #main-content.profile-page ul.profile-tags li:first-child {
        border-top: solid 1px #f4f4f4; }
      #main-content.profile-page ul.profile-tags li:before {
        background: none; }
  #main-content.profile-page .profile-expert {
    font-size: 16px;
    margin-top: -10px; }
  #main-content.profile-page .profile-links a {
    text-decoration: none; }
  #main-content.profile-page .profile-links p {
    margin-bottom: 0.5rem; }
  #main-content.profile-page .profile-location {
    display: flex;
    flex-direction: row; }
    #main-content.profile-page .profile-location .info-profile-loc {
      padding-left: 5px; }
  #main-content.profile-page .icon-du-twitter,
  #main-content.profile-page .icon-du-facebook,
  #main-content.profile-page .icon-du-linkedin {
    display: inline-block;
    border-radius: 60px;
    box-shadow: 0px 0px 2px #b5a15c;
    padding: 0.5em 0.6em;
    background: #b5a15c;
    margin-right: 10px; }
    #main-content.profile-page .icon-du-twitter:before,
    #main-content.profile-page .icon-du-facebook:before,
    #main-content.profile-page .icon-du-linkedin:before {
      color: white; }
  #main-content.profile-page a.profile-social-link {
    text-decoration: none; }
  #main-content.profile-page .tabs-content {
    border-right: none;
    border-left: none;
    padding: 10px;
    width: 100%; }
  #main-content.profile-page .tabs-panel {
    padding: 0; }
  #main-content.profile-page .link-download a {
    color: #b9a067;
    background: #f9f9f9;
    border-left: solid 6px #b8a15d;
    padding: 20px;
    width: 100%;
    text-decoration: none;
    display: block;
    font-weight: 600; }
  #main-content.profile-page .span-arrow-down {
    width: 32px;
    height: 32px;
    top: -34px;
    background: #0f637a;
    padding: 10px;
    position: relative; }
    #main-content.profile-page .span-arrow-down:after {
      content: '';
      position: absolute;
      border-style: solid;
      border-width: 9px 9px 0px;
      border-color: #0f637a transparent;
      display: block;
      width: 0;
      z-index: 1;
      top: 42px;
      left: 14px; }
    #main-content.profile-page .span-arrow-down:before {
      color: white; }

#audience-menu {
  padding-left: 100px;
  padding-right: 100px;
  padding-top: 48px; }
  #audience-menu .columns {
    margin-bottom: 16px; }
    @media screen and (max-width: 47.9375em) {
      #audience-menu .columns {
        margin-bottom: 7px; } }
    #audience-menu .columns .bg-img-btn .content {
      background-color: rgba(0, 0, 0, 0.5);
      font-size: 22px; }
      #audience-menu .columns .bg-img-btn .content,
      #audience-menu .columns .bg-img-btn .content p {
        line-height: 1.2; }
      #audience-menu .columns .bg-img-btn .content:hover, #audience-menu .columns .bg-img-btn .content:focus {
        background-color: rgba(0, 0, 0, 0.75); }
  #audience-menu .row + .row {
    margin-top: 15px; }
  @media screen and (max-width: 74.9375em) {
    #audience-menu {
      padding-left: 77px;
      padding-right: 56px; } }
  @media screen and (max-width: 47.9375em) {
    #audience-menu {
      padding-left: 29px;
      padding-right: 31px; }
      #audience-menu .bg-img-btn {
        margin-top: 0; } }

.is-off-canvas-open header #top-bar-sticky-wrap {
  max-width: none; }

@media screen and (max-width: 74.9375em) {
  .off-canvas.position-right {
    width: 571px;
    transform: translateX(571px); } }
  @media screen and (max-width: 74.9375em) and (max-width: 47.9375em) {
    .off-canvas.position-right {
      width: 286px;
      transform: translateX(286px); } }

@media screen and (max-width: 74.9375em) {
  .off-canvas.is-open {
    transform: translate(0, 0); }
  .position-right.is-open ~ .off-canvas-content {
    transform: translateX(-571px); } }
  @media screen and (max-width: 74.9375em) and (max-width: 47.9375em) {
    .position-right.is-open ~ .off-canvas-content {
      transform: translateX(-286px); } }

.three-col-quick-stats {
  height: auto;
  background: #f4f4f4 url(../images/arrow-pattern_transparent.png) repeat scroll 0 0;
  padding: 30px 30px 0; }
  .three-col-quick-stats .three-col-facts {
    width: 100%;
    padding-top: 5%;
    padding-bottom: 5%; }
    .three-col-quick-stats .three-col-facts > .three-col-facts__item p {
      color: #000000; }
    .three-col-quick-stats .three-col-facts .three-col-facts__item strong,
    .three-col-quick-stats .three-col-facts > .three-col-facts__item + .three-col-facts__item p strong,
    .three-col-quick-stats .three-col-facts > .three-col-facts__item + .three-col-facts__item + .three-col-facts__item p strong {
      color: #2f254d; }

.information-overview-module.single-quick-stat {
  margin-top: 20px;
  margin-bottom: 20px; }
  .information-overview-module.single-quick-stat > .row {
    padding-top: 20px;
    padding-bottom: 20px; }
  .information-overview-module.single-quick-stat.with-headline .fact-headline {
    display: flex;
    flex-direction: column;
    justify-content: center; }
    .information-overview-module.single-quick-stat.with-headline .fact-headline .caption {
      margin: 0;
      padding: 0;
      text-align: left; }
      .information-overview-module.single-quick-stat.with-headline .fact-headline .caption p {
        text-align: left;
        margin: 0; }

.information-overview-module.quick-stat-standard {
  padding-top: 0; }

.information-overview-module .quick-fact-module__content .fact-standard {
  padding: 24px; }
  .information-overview-module .quick-fact-module__content .fact-standard p {
    text-align: left; }
    .information-overview-module .quick-fact-module__content .fact-standard p.headline {
      text-align: left; }

.quick-stat-wrapper h1 {
  text-align: center; }
  .quick-stat-wrapper h1:after {
    content: "";
    position: absolute;
    bottom: 0;
    height: 8px;
    width: 85px;
    background-color: #18171e;
    right: 50%;
    margin-right: -43px;
    left: unset !important; }

.quick-stat-wrapper.align-left h1 {
  text-align: left; }
  .quick-stat-wrapper.align-left h1:after {
    left: 0 !important; }

.feature-full-headline {
  padding: 0; }
  .feature-full-headline > .row {
    padding: 0 !important; }
  .feature-full-headline .quick-fact-module__head {
    height: auto !important; }
    .feature-full-headline .quick-fact-module__head h2 {
      margin-top: 25px; }

.graphic-desc {
  padding: 0; }
  .graphic-desc > .row {
    padding: 0 !important; }
  .graphic-desc .quick-fact-module__head {
    height: auto !important; }
  .graphic-desc #factImage {
    margin-top: 25px; }

.text-headline {
  padding: 0; }
  .text-headline > .row {
    padding: 0 !important; }
  .text-headline .quick-fact-module__head {
    padding: 0 !important; }

.three-col-quick-stats p.statistic {
  color: #534779;
  font-family: "BreveDisplay", sans-serif;
  font-weight: bold;
  font-size: 95px;
  line-height: 95px;
  vertical-align: middle;
  text-align: center;
  padding: 0px 24px 0px 24px;
  margin-bottom: 0;
  text-rendering: optimizeLegibility; }

.quotes-module__wrapper {
  position: relative; }
  .quotes-module__wrapper,
  .quotes-module__wrapper + .row {
    margin-top: 150px; }
    @media screen and (max-width: 47.9375em) {
      .quotes-module__wrapper,
      .quotes-module__wrapper + .row {
        margin-top: 60px; } }
  @media screen and (min-width: 75em) {
    .quotes-module__wrapper:before {
      content: "";
      background: transparent url("../images/arrow-pattern.png") repeat scroll 0 0;
      position: absolute;
      right: 0;
      top: 50%;
      margin-top: -175px;
      left: 0;
      width: 100%;
      height: 350px;
      z-index: 0;
      /*@include breakpoint(large down) {
				top: -30px;
				height: 30px;
			}
			@include breakpoint(small down) {
				width: 100%;
			}*/ } }

.quotes-module .orbit-slide > .row {
  margin-left: 0;
  margin-right: 0; }
  .quotes-module .orbit-slide > .row > .columns {
    padding-left: 0;
    padding-right: 0; }

.quotes-module .quotes-module__content {
  background-color: #2090ac;
  padding: 0 250px 0 50px;
  display: table;
  width: 100%; }
  @media print, screen and (min-width: 48em) {
    .quotes-module .quotes-module__content {
      min-height: 445px; } }
  @media screen and (min-width: 48em) and (max-width: 74.9375em) {
    .quotes-module .quotes-module__content {
      min-height: 345px; } }
  @media screen and (max-width: 74.9375em) {
    .quotes-module .quotes-module__content {
      padding-right: 200px;
      padding-left: 25px; } }
  @media screen and (max-width: 47.9375em) {
    .quotes-module .quotes-module__content {
      padding: 54px 25px; } }
  .quotes-module .quotes-module__content blockquote {
    display: table-cell;
    vertical-align: middle;
    color: white;
    text-align: center;
    font-style: normal;
    padding: 0; }
    .quotes-module .quotes-module__content blockquote p {
      color: white;
      font-family: "BreveDisplay", sans-serif !important;
      font-size: 38px;
      line-height: 51px; }
      @media screen and (max-width: 74.9375em) {
        .quotes-module .quotes-module__content blockquote p {
          font-size: 28px;
          line-height: 38px; } }
      @media screen and (max-width: 63.9375em) {
        .quotes-module .quotes-module__content blockquote p {
          font-size: 26px;
          line-height: 36px; } }
      @media screen and (max-width: 47.9375em) {
        .quotes-module .quotes-module__content blockquote p {
          font-size: 23px;
          line-height: 29px; } }
    .quotes-module .quotes-module__content blockquote cite {
      font-family: "BreveSans", sans-serif;
      font-weight: 500;
      font-style: normal;
      color: white;
      font-size: 18px;
      line-height: 22px; }
      .quotes-module .quotes-module__content blockquote cite:before {
        display: none; }
      .quotes-module .quotes-module__content blockquote cite small {
        font-size: 15px;
        text-transform: uppercase;
        display: block;
        margin-top: 10px; }
    @media screen and (max-width: 47.9375em) {
      .quotes-module .quotes-module__content blockquote {
        padding-bottom: 0;
        margin-bottom: 0; } }

.quotes-module .quotes-module__image {
  position: relative;
  left: -208px;
  margin-right: -200px;
  top: 60px; }
  @media screen and (max-width: 74.9375em) {
    .quotes-module .quotes-module__image {
      left: -158px;
      margin-right: -150px;
      top: 40px; } }
  @media screen and (max-width: 47.9375em) {
    .quotes-module .quotes-module__image {
      left: 0;
      margin-right: 0;
      top: 0; } }

@media screen and (max-width: 47.9375em) {
  .quotes-module .orbit-container {
    background-color: #2090ac; } }

@media screen {
  .related-stories-module {
    margin-bottom: 60px;
    position: relative;
    /*Kristin*/ }
    .related-stories-module:before {
      content: "";
      background-color: #f4f4f4;
      height: 285px;
      position: absolute;
      /*bottom: 0;*/
      bottom: 150px;
      /*Kristin*/
      left: 0;
      right: 0;
      z-index: -1; } }
    @media screen and (max-width: 63.9375em) {
      .related-stories-module:before {
        bottom: 100px;
        /*Kristin*/ } }

@media screen {
    .related-stories-module .orbit-bullets {
      padding-bottom: 25px; }
    .related-stories-module .related-stories-image {
      height: 450px;
      overflow: hidden; }
      .related-stories-module .related-stories-image img {
        width: 100%; } }
  @media screen and (min-width: 48em) {
    .related-stories-module .orbit-container {
      height: auto;
      margin: 0 auto; } }

@media screen and (min-width: 48em) and (max-width: 63.9375em) {
  .related-stories-module .related-stories-module__story .related-stories-image {
    height: 260px;
    overflow: hidden; } }
  @media screen and (min-width: 48em) {
    .related-stories-module .related-stories-module__story .related-stories-image img {
      width: 100%; } }
  @media screen and (max-width: 47.9375em) {
    .related-stories-module.buffer-on-inner-row > .row {
      padding-left: 0;
      padding-right: 0; }
    .related-stories-module .related-stories-module__story img {
      width: 100%; }
    .related-stories-module .orbit-slide {
      padding-left: 0;
      padding-right: 0; } }

@media screen {
  .related-stories-module__story__content {
    /*margin-top: -205px;*/
    bottom: 50px;
    /*Kristin*/
    margin-left: 16%;
    position: relative; } }
  @media screen and (max-width: 63.9375em) {
    .related-stories-module__story__content {
      /*margin-top: -96px;*/
      bottom: 50px;
      margin-left: 10%; } }
  @media screen and (max-width: 47.9375em) {
    .related-stories-module__story__content {
      /*margin-top: -50px;*/
      bottom: 50px;
      margin-left: 10px; } }

@media screen {
    .related-stories-module__story__content > a {
      background-color: #534779;
      color: white;
      display: block;
      text-decoration: none;
      padding: 40px 35px; } }
    @media screen and (min-width: 64em) {
      .related-stories-module__story__content > a {
        min-height: 285px; } }
    @media screen and (max-width: 63.9375em) {
      .related-stories-module__story__content > a {
        padding: 27px 20px; } }

@media screen {
      .related-stories-module__story__content > a h4 {
        color: white;
        font-weight: bold;
        font-size: 24px;
        line-height: 28px; } }
      @media screen and (max-width: 63.9375em) {
        .related-stories-module__story__content > a h4 {
          font-size: 22px;
          line-height: 26px; } }

@media screen {
      .related-stories-module__story__content > a .read-more {
        font-weight: bold;
        font-family: "Acto", sans-serif;
        margin-bottom: 0; } }
      @media screen and (max-width: 63.9375em) {
        .related-stories-module__story__content > a .read-more {
          font-size: 16px; } }

@media screen {
      .related-stories-module__story__content > a p {
        font-size: 18px;
        line-height: 28px; } }
      @media screen and (max-width: 63.9375em) {
        .related-stories-module__story__content > a p {
          font-size: 15px;
          line-height: 22px; } }

@media screen {
      .related-stories-module__story__content > a:hover, .related-stories-module__story__content > a:focus {
        background-color: #2f254d; }
        .related-stories-module__story__content > a:hover .read-more, .related-stories-module__story__content > a:focus .read-more {
          text-decoration: underline; } }

.research-item {
  padding: 30px 20px;
  height: 100%;
  position: relative; }
  .research-item:after {
    content: "";
    position: absolute;
    left: 0;
    right: 0;
    bottom: 0;
    height: 2px;
    background: #e0e0e0; }
  .research-item .research-type {
    text-transform: uppercase;
    color: #888888;
    font-size: .8rem;
    margin-bottom: 3px; }
  .research-item .title {
    margin-bottom: 3px;
    font-size: 1.7rem;
    font-weight: 600; }
    .research-item .title a {
      text-decoration: none; }
  .research-item .research-type .field-content,
  .research-item .research-classification .field-content {
    display: inline-block; }

@media screen {
  .research-project {
    padding-bottom: 3.5rem; }
    .research-project .columns.page-title-band {
      padding-left: 0; }
    .research-project .project-info {
      padding: 10px 0 5rem 0;
      font-size: 1.2rem; }
      .research-project .project-info h6 {
        font-size: 1.2rem;
        font-weight: bold;
        margin-botton: 1rem; }
    .research-project .research-project-lab {
      margin-bottom: 1rem; }
      .research-project .research-project-lab a {
        text-decoration: none; }
    .research-project .research-project-date {
      padding-bottom: 1.5rem;
      font-weight: bold; }
    .research-project .research-project-faculty {
      font-weight: bold; }
    .research-project .research-project-image,
    .research-project .research-project-video {
      margin-top: 1.2rem;
      margin-bottom: 4rem; }
    .research-project .research-project-abstract,
    .research-project .research-project-text {
      padding-top: .5rem;
      font-size: 1rem; }
    .research-project .sidebar {
      margin-top: 10px;
      margin-bottom: 2rem; }
      .research-project .sidebar p {
        line-height: 20px;
        font-size: .8rem; }
      .research-project .sidebar p:last-child {
        margin-bottom: 1rem; }
      .research-project .sidebar > div {
        padding-top: 1rem;
        border-top: 2px solid #e9e9e9; }
      .research-project .sidebar :nth-child(2) {
        border-top: none; }
      .research-project .sidebar .research-interest {
        padding-bottom: .3rem;
        border-bottom: 2px solid #e9e9e9; }
    .research-project .title {
      font-weight: bold; }
    .research-project h3 > p {
      line-height: normal; }
    .research-project .pis > p {
      font-style: italic; }
    .research-project .related-materials {
      margin-bottom: 3rem; }
      .research-project .related-materials .columns.large-up-3 {
        padding-right: 0; }
      .research-project .related-materials .columns {
        padding-right: 1.44444rem;
        vertical-align: top; }
      .research-project .related-materials .columns:nth-child(3n+0) {
        padding-right: 0; }
      .research-project .related-materials .large-8 .columns {
        flex: 0 0 50%;
        max-width: 49%; }
      .research-project .related-materials .large-up-3 .columns {
        flex: 0 0 33.33333%;
        max-width: 32.33333%; }
      .research-project .related-materials .medium-up-2 .columns {
        flex: 0 0 50%;
        max-width: 49%; }
      .research-project .related-materials .small-up-1 .columns {
        flex: 0 0 100%;
        max-width: 100%; }
    .research-project .material {
      padding-left: 0;
      display: inline-block;
      margin-bottom: 2rem; }
      .research-project .material .btn {
        padding: 10px 28px; }
    .research-project .related-type {
      font-weight: normal; }
    .research-project .related-title {
      margin: .5rem 0 1rem 0; }
      .research-project .related-title a {
        color: #18171e;
        text-decoration: none; }
    .research-project .read-more {
      margin-top: 1rem; }
      .research-project .read-more a {
        color: #f9f9f9;
        text-decoration: none; } }

.research-project-listing {
  margin-bottom: 68px; }
  .research-project-listing .generic-listing {
    width: 100%; }
  .research-project-listing #main-content h1 {
    width: 60rem; }
  .research-project-listing .large-6,
  .research-project-listing .medium-6 {
    max-width: 49%; }
  .research-project-listing .large-6:only-child,
  .research-project-listing .medium-6:only-child,
  .research-project-listing .research-item:only-child {
    max-width: 100%;
    flex: 0 0 100%; }
  .research-project-listing p {
    margin-bottom: 0rem; }
  .research-project-listing .research-items {
    background: white;
    margin: 0 auto;
    width: 100%;
    justify-content: space-between;
    flex-wrap: wrap; }

article.resource .row.author a {
  text-decoration: none; }

article.resource .row.pub-date, article.resource .row.type {
  font-weight: 600; }

article.resource .row.short-desc {
  font-size: 24px; }

article.resource .row.pub-body div > div:first-child {
  font-weight: 600; }

article.resource .scholar-link {
  margin-left: 10px; }

article.resource .row.owning-unit,
article.resource .row.assoc-unit,
article.resource .row.pub-body {
  margin-left: 0;
  margin-right: 0; }

article.resource .row.owning-unit,
article.resource .row.assoc-unit {
  margin-bottom: 1rem;
  padding-bottom: 1rem; }
  article.resource .row.owning-unit div.title,
  article.resource .row.assoc-unit div.title {
    font-weight: 600; }

article.resource .row.keywords {
  border-top: 1px solid #efefef;
  margin-top: 30px;
  margin-bottom: 40px;
  padding-top: 10px;
  font-style: italic;
  font-size: 16px; }

article.resource .row.owning-unit,
article.resource .row.assoc-unit,
article.resource .row.pub-body,
article.resource .add-this {
  border-bottom: 1px solid #efefef; }

article.resource .add-this {
  padding-bottom: 1rem;
  margin-bottom: 1rem;
  padding-top: 50px; }

article.resource .row.owning-unit {
  padding-top: 1rem; }

#resource-list {
  background: white; }
  #resource-list .resource-listing.row {
    background: white;
    margin: 0 auto;
    width: 100%; }
  #resource-list .form-item {
    width: 25%;
    max-width: 25%;
    flex: 0 0 25%; }
  #resource-list .form-item-field-res-date-of-publication-value-min,
  #resource-list .form-item-field-res-date-of-publication-value-max {
    width: 12.5%;
    max-width: 12.5%;
    flex: 0 0 12.5%; }
  #resource-list .pub-date {
    color: #7c7c7c;
    text-transform: uppercase; }
  #resource-list a {
    text-decoration: none; }
  #resource-list h2 a {
    color: #1e7996;
    font-weight: 600; }
  #resource-list .info {
    color: #535353; }
  #resource-list .short-desc {
    margin-left: 0;
    margin-right: 0; }
  #resource-list .generic-sample-listing-item {
    margin: 20px; }
    #resource-list .generic-sample-listing-item::before {
      background: none; }
  #resource-list nav.pager {
    margin: 50px auto; }
    #resource-list nav.pager .pager__item--previous a:hover,
    #resource-list nav.pager .pager__item--next a:hover {
      border-bottom: none; }

.scholarship-filter > div {
  margin-bottom: 40px; }
  .scholarship-filter > div .scholarship-filter-class-level {
    border-right: 2px solid #e0e0e0;
    padding-right: 40px; }
    @media screen and (max-width: 63.9375em) {
      .scholarship-filter > div .scholarship-filter-class-level {
        border-right: 0;
        padding-right: 0; } }
    .scholarship-filter > div .scholarship-filter-class-level .button.circle {
      height: 85px;
      width: 85px;
      border-radius: 50%;
      text-transform: uppercase;
      color: #80786e;
      border: 1px solid;
      outline: none;
      margin-bottom: 5px;
      font-size: 13px;
      font-weight: bold; }
      @media screen and (max-width: 63.9375em) {
        .scholarship-filter > div .scholarship-filter-class-level .button.circle {
          display: block;
          margin: 0 auto;
          margin-bottom: 20px; } }
      .scholarship-filter > div .scholarship-filter-class-level .button.circle.selected {
        background-color: #962733;
        color: #FFFFFF; }
      .scholarship-filter > div .scholarship-filter-class-level .button.circle span {
        font-size: 25px; }
  .scholarship-filter > div .scholarship-filter-dropdown {
    padding-left: 40px;
    margin-top: 5px; }
    .scholarship-filter > div .scholarship-filter-dropdown .form-item:not(.form-item-field-scholarship-kind-checkbox-financial) label {
      display: none; }
  .scholarship-filter > div .scholarship-filter-search {
    margin-top: 40px; }
    .scholarship-filter > div .scholarship-filter-search label {
      display: none; }
    .scholarship-filter > div .scholarship-filter-search .search-box {
      margin-left: 0;
      margin-right: 0; }
      @media screen and (max-width: 63.9375em) {
        .scholarship-filter > div .scholarship-filter-search .search-box {
          margin: 0 auto; } }
      .scholarship-filter > div .scholarship-filter-search .search-box input {
        border-width: 0 0 4px 0;
        padding-right: 90px;
        padding-bottom: 2px;
        border-color: #d1d1d2;
        box-shadow: none;
        margin-bottom: 0;
        font-size: 36px;
        height: auto; }
    .scholarship-filter > div .scholarship-filter-search .scholarship-filter-submit > div {
      height: 100%;
      padding-top: 0.5rem; }
      .scholarship-filter > div .scholarship-filter-search .scholarship-filter-submit > div input {
        float: right;
        height: 100%;
        margin-bottom: 0;
        padding-right: 100px;
        padding-left: 100px;
        text-transform: uppercase; }
        @media screen and (max-width: 63.9375em) {
          .scholarship-filter > div .scholarship-filter-search .scholarship-filter-submit > div input {
            margin: 0 auto;
            display: block;
            float: none; } }

.scholarship-list .card-list-item .cards-list__holder .cards-list__content {
  min-height: 284px; }

.scholarship-list .card-list-item .cards-list__holder .flyout {
  top: 304px; }
  @media screen and (max-width: 47.9375em) {
    .scholarship-list .card-list-item .cards-list__holder .flyout .flyout-content__holder {
      padding-bottom: 60px; } }
  .scholarship-list .card-list-item .cards-list__holder .flyout .flyout-content__holder .scholarship-kind {
    font-weight: 600;
    font-size: 19px;
    position: absolute;
    bottom: 20px; }
  .scholarship-list .card-list-item .cards-list__holder .flyout .flyout-content__holder .cards-module__buttons {
    font-size: 16px; }
    .scholarship-list .card-list-item .cards-list__holder .flyout .flyout-content__holder .cards-module__buttons li {
      margin-top: 0; }
      .scholarship-list .card-list-item .cards-list__holder .flyout .flyout-content__holder .cards-module__buttons li span {
        font-weight: bold; }
        .scholarship-list .card-list-item .cards-list__holder .flyout .flyout-content__holder .cards-module__buttons li span:not(.inline-label) {
          display: block; }

#school-list-container {
  margin-top: 1px;
  margin-bottom: 75px; }
  @media screen and (max-width: 47.9375em) {
    #school-list-container {
      margin-bottom: 35px; } }
  #school-list-container ul.accordion {
    width: 100%; }
    #school-list-container ul.accordion .accordion-item.is-active a.accordion-title {
      background-color: #fff; }
      #school-list-container ul.accordion .accordion-item.is-active a.accordion-title:before {
        font-family: "Fontello";
        content: "\e808";
        color: white;
        background-color: #b8a162;
        top: 35%;
        position: absolute;
        line-height: 27px;
        width: 30px;
        height: 30px;
        text-align: center;
        border: 1px solid #b8a162;
        font-size: 23px; }
    #school-list-container ul.accordion .accordion-item.is-active p.excerpt {
      display: none; }
    #school-list-container ul.accordion .accordion-item a.accordion-title {
      background-color: transparent;
      color: #18171e;
      padding-right: 1rem; }
      #school-list-container ul.accordion .accordion-item a.accordion-title:hover, #school-list-container ul.accordion .accordion-item a.accordion-title:focus {
        color: #18171e;
        background-color: transparent; }
      #school-list-container ul.accordion .accordion-item a.accordion-title:before {
        font-family: "Fontello";
        content: "\e809";
        color: #b8a162;
        top: 35%;
        position: absolute;
        line-height: 27px;
        text-align: center;
        width: 30px;
        height: 30px;
        border: 1px solid #b8a162;
        transition: background-color 0.5s ease;
        font-size: 23px;
        border-radius: 16px;
        -moz-border-radius: 16px;
        -webkit-border-radius: 16px; }
      #school-list-container ul.accordion .accordion-item a.accordion-title.gold:before {
        color: white;
        background-color: #b8a162; }
      #school-list-container ul.accordion .accordion-item a.accordion-title h3 p {
        font-size: inherit;
        margin-bottom: inherit;
        line-height: inherit; }
    #school-list-container ul.accordion .accordion-item .accordion-content {
      background-color: #fff; }
      @media screen and (max-width: 47.9375em) {
        #school-list-container ul.accordion .accordion-item .accordion-content {
          margin-top: 0px;
          padding-top: 0px; } }
      #school-list-container ul.accordion .accordion-item .accordion-content .cta {
        display: block; }
        #school-list-container ul.accordion .accordion-item .accordion-content .cta a.btn {
          display: inline-block;
          margin-top: 5px;
          text-align: center;
          width: 80%; }
          #school-list-container ul.accordion .accordion-item .accordion-content .cta a.btn p {
            margin-bottom: inherit; }
    #school-list-container ul.accordion .accordion-item .school {
      border-top: 1px solid #d1d1d2;
      padding-top: 4%; }
    @media screen and (max-width: 47.9375em) {
      #school-list-container ul.accordion .accordion-item .school-name {
        padding-right: 40px; } }
    #school-list-container ul.accordion .accordion-item h4 {
      color: #05637b;
      font-family: "BreveText", sans-serif;
      font-style: italic;
      font-weight: 700;
      font-size: 1.3492rem; }
      @media screen and (min-width: 767px) and (max-width: 1023px) {
        #school-list-container ul.accordion .accordion-item h4 {
          font-size: 1.222rem; } }
    #school-list-container ul.accordion .accordion-item .subtitle {
      border-left: 3px solid #05637b;
      padding-left: 30px; }
      @media screen and (max-width: 47.9375em) {
        #school-list-container ul.accordion .accordion-item .subtitle {
          display: none; } }
      #school-list-container ul.accordion .accordion-item .subtitle p {
        font-weight: normal; }
    #school-list-container ul.accordion .accordion-item p {
      font-size: 18px; }
      @media screen and (max-width: 47.9375em) {
        #school-list-container ul.accordion .accordion-item p {
          font-size: 14px; } }
      #school-list-container ul.accordion .accordion-item p.division {
        color: #000;
        font-family: "BreveSans", sans-serif;
        font-weight: 600;
        margin-bottom: 0.4rem;
        font-size: 24px; }
        @media screen and (max-width: 47.9375em) {
          #school-list-container ul.accordion .accordion-item p.division {
            font-size: 17px; } }
    @media screen and (max-width: 47.9375em) {
      #school-list-container ul.accordion .accordion-item .btn {
        margin-top: 20px; } }

.search-box {
  max-width: 590px;
  margin-left: auto;
  margin-right: auto;
  position: relative; }
  .search-box > input[type="text"] {
    background-color: transparent;
    border-width: 0 0 4px 0;
    border-color: #98012e;
    box-shadow: none;
    color: #525252;
    font-size: 28px;
    font-weight: 500;
    height: auto;
    width: 100%;
    max-width: none;
    font-family: "BreveSlabTitle", sans-serif;
    line-height: 1.3;
    padding-bottom: 2px;
    padding-right: 90px; }
  .search-box.search-box--neutral > input[type="text"] {
    border-color: #d1d1d2; }
  .search-box > button {
    position: absolute;
    bottom: 14px;
    right: 16px; }
    .search-box > button > .icon-du-cust-search {
      font-size: 26px; }
  .search-box > button.search-clear {
    right: 55px;
    background-color: transparent;
    display: inline-block;
    vertical-align: middle;
    outline: 0;
    cursor: pointer; }
    .search-box > button.search-clear > .icon-du-cust-close {
      font-size: 24px;
      color: #2090ac;
      text-align: center;
      display: block; }
  .search-box > input[name="search"]:not(:valid) ~ .search-clear {
    display: none; }

#main-content .search-results__listing-summary {
  color: #18171e;
  margin-top: 10px; }

#main-content .search-results {
  margin-left: 0;
  border-top: 8px solid #e0e0e0; }
  #main-content .search-results li {
    list-style-type: none;
    border-bottom: 2px solid #e0e0e0;
    padding: 26px 10px 5px 21px;
    margin-left: 0; }
    @media screen and (max-width: 47.9375em) {
      #main-content .search-results li {
        padding-left: 0;
        padding-right: 0; } }
    #main-content .search-results li a {
      display: block;
      text-decoration: none; }
      #main-content .search-results li a h2 {
        font-size: 24px;
        line-height: 26px;
        font-weight: 700;
        color: #2090ac;
        margin-bottom: 13px; }
      #main-content .search-results li a .search-result--type {
        text-transform: uppercase;
        color: #81796f;
        font-weight: bold;
        font-family: "BreveText", sans-serif; }
      #main-content .search-results li a p {
        font-size: 18px;
        line-height: 28px;
        color: #525252;
        margin-bottom: 10px; }
      #main-content .search-results li a .search-result--url {
        color: #727272;
        font-size: 14px;
        overflow: hidden;
        text-overflow: ellipsis;
        white-space: nowrap; }
      #main-content .search-results li a:hover, #main-content .search-results li a:focus {
        text-decoration: none; }
        #main-content .search-results li a:hover h2, #main-content .search-results li a:focus h2 {
          color: #05637b; }
        #main-content .search-results li a:hover .search-result--url, #main-content .search-results li a:focus .search-result--url {
          text-decoration: underline; }
    #main-content .search-results li.search-result--keyword-hit {
      background-color: #f9f9f9;
      padding-right: 40px; }

#main-content .search-results--no-pager,
#main-content .search-results__no-results,
#main-content .search-results__error {
  margin-bottom: 56px; }

#main-content .loader {
  display: block;
  margin: 20px auto 40px; }

input#search-input::-ms-clear, input.search-input::-ms-clear {
  display: none;
  width: 0;
  height: 0; }

.shared-content {
  margin-left: 3rem;
  margin-right: 3rem; }
  .shared-content:first-child {
    margin-top: 6rem; }
  .shared-content:last-child {
    margin-bottom: 8rem; }
  @media print, screen and (min-width: 64em) {
    .shared-content {
      margin-left: 6rem;
      margin-right: 6rem; } }
  .shared-content h1 {
    color: #18171e; }
  .shared-content .page-title-band:before {
    background-color: transparent; }
  .shared-content .shared-content-title {
    margin: 3rem 0 2rem 0; }

.stories-module {
  position: relative;
  margin-bottom: 68px; }
  @media screen and (max-width: 47.9375em) {
    .stories-module {
      margin-bottom: 30px; } }
  .stories-module:before {
    content: "";
    background: transparent url("../images/arrow-pattern.png") repeat scroll 0 0;
    height: 165px;
    top: 0;
    width: 100%;
    display: block;
    z-index: -1;
    position: absolute;
    right: 0; }
    @media print, screen and (min-width: 64em) {
      .stories-module:before {
        height: 277px; } }
    @media screen and (max-width: 74.9375em) {
      .stories-module:before {
        border-left: 93px solid white; } }
    @media screen and (max-width: 47.9375em) {
      .stories-module:before {
        display: none; } }
  .stories-module.stories-module--two-col:before {
    width: 60%; }
  @media print, screen and (min-width: 48em) {
    .stories-module.stories-module--two-col:before {
      width: 100%; }
    .stories-module.stories-module--two-col > .row > .columns:first-child {
      position: relative; }
      .stories-module.stories-module--two-col > .row > .columns:first-child:before {
        content: "";
        position: absolute;
        top: -40px;
        left: -3000px;
        background-color: white;
        display: block;
        right: -40px;
        height: 165px;
        z-index: -1; } }
    @media print, screen and (min-width: 48em) and (min-width: 64em) {
      .stories-module.stories-module--two-col > .row > .columns:first-child:before {
        height: 277px; } }
  @media screen and (min-width: 75em) {
    .stories-module > .row > .columns:first-child {
      position: relative; }
      .stories-module > .row > .columns:first-child:before {
        content: "";
        position: absolute;
        top: -40px;
        left: -2000px;
        background-color: white;
        display: block;
        right: 350px;
        height: 165px;
        z-index: -1; } }
    @media screen and (min-width: 75em) and (min-width: 64em) {
      .stories-module > .row > .columns:first-child:before {
        height: 277px; } }
  @media print, screen and (min-width: 48em) {
    .stories-module > .row {
      padding-top: 40px; } }
  .stories-module .stories-module__story {
    font-family: "BreveText", sans-serif; }
    .stories-module .stories-module__story img {
      width: 100%; }
      .stories-module .stories-module__story img + * {
        margin-top: 25px; }
    .stories-module .stories-module__story h4 {
      font-size: 34px;
      line-height: 42px; }
      @media screen and (max-width: 63.9375em) {
        .stories-module .stories-module__story h4 {
          font-size: 28px;
          line-height: 32px; } }
    .stories-module .stories-module__story p {
      font-size: 18px;
      line-height: 28px; }
      @media screen and (max-width: 63.9375em) {
        .stories-module .stories-module__story p {
          font-size: 15px;
          line-height: 24px; } }
    @media screen and (max-width: 47.9375em) {
      .stories-module .stories-module__story {
        position: relative;
        margin: 45px auto 30px auto;
        max-width: 320px; }
        .stories-module .stories-module__story:before {
          content: "";
          background: transparent url("../images/arrow-pattern.png") repeat scroll 0 0;
          height: 242px;
          top: -44px;
          left: 30px;
          display: block;
          z-index: -1;
          position: absolute;
          right: -22px; } }
  @media screen and (max-width: 47.9375em) and (max-width: 480px) {
    .stories-module .stories-module__story {
      max-width: none; }
      .stories-module .stories-module__story:before {
        left: -22px; } }
    .stories-module .stories-module__story .content {
      margin-bottom: 18px; }
  @media print, screen and (min-width: 48em) {
    .stories-module .medium-text-right {
      max-width: 44%;
      float: right;
      margin-top: 0;
      margin-top: -40px;
      margin-right: 27%; }
      .stories-module .medium-text-right.btm-divider:after {
        left: unset;
        right: 0; } }

#sub-menu {
  margin-top: 12px; }
  #sub-menu > ul {
    margin-left: 0; }
    #sub-menu > ul ul {
      margin-left: 24px; }
    #sub-menu > ul > li:first-child > a {
      border-top: 2px solid #e0e0e0; }
    #sub-menu > ul li {
      list-style-type: none;
      padding: 0;
      margin: 0; }
      #sub-menu > ul li a {
        border-bottom: 2px solid #e0e0e0;
        display: block;
        font-size: 20px;
        color: #353535;
        padding: 15px 10px 18px 20px;
        position: relative;
        font-family: "BreveSans", sans-serif;
        text-decoration: none; }
        #sub-menu > ul li a:hover, #sub-menu > ul li a:focus {
          background-color: #f9f9f9;
          color: #98012e;
          text-decoration: none; }
      #sub-menu > ul li.active > a,
      #sub-menu > ul li.active > a:hover,
      #sub-menu > ul li.active > a:focus {
        background-color: #f9f9f9;
        color: #353535;
        font-weight: bold;
        cursor: default; }
        #sub-menu > ul li.active > a:before,
        #sub-menu > ul li.active > a:hover:before,
        #sub-menu > ul li.active > a:focus:before {
          content: "";
          position: absolute;
          left: 0;
          bottom: 0;
          top: 0;
          width: 8px;
          background-color: #98012e; }
  #sub-menu > .search-box {
    margin-bottom: 40px; }
  #sub-menu ul li:before {
    display: none; }
  @media print, screen and (min-width: 64em) {
    #sub-menu.sub-menu--horizontal {
      max-width: none; }
      #sub-menu.sub-menu--horizontal > ul {
        border-bottom: 2px solid #e6e6e6;
        margin-bottom: 32px;
        overflow: auto;
        display: flex;
        align-items: flex-end; }
        #sub-menu.sub-menu--horizontal > ul > li {
          display: inline-block;
          flex-basis: 12%; }
          #sub-menu.sub-menu--horizontal > ul > li:first-child > a {
            border-top: 0 none; }
          #sub-menu.sub-menu--horizontal > ul > li.active > a, #sub-menu.sub-menu--horizontal > ul > li.is-active {
            border-bottom: 6px solid #98012e;
            background-color: transparent; }
            #sub-menu.sub-menu--horizontal > ul > li.active > a:before, #sub-menu.sub-menu--horizontal > ul > li.is-active:before {
              display: none; }
            #sub-menu.sub-menu--horizontal > ul > li.active > a:hover, #sub-menu.sub-menu--horizontal > ul > li.active > a:focus, #sub-menu.sub-menu--horizontal > ul > li.is-active:hover, #sub-menu.sub-menu--horizontal > ul > li.is-active:focus {
              color: #18171e; }
          #sub-menu.sub-menu--horizontal > ul > li > a {
            font-size: 16px;
            line-height: 20px;
            padding: 10px 10px 9px 10px;
            text-align: center;
            background: transparent;
            border-bottom: 6px solid transparent; }
            #sub-menu.sub-menu--horizontal > ul > li > a:hover, #sub-menu.sub-menu--horizontal > ul > li > a:focus {
              color: #98012e;
              background-color: transparent; } }
  @media screen and (min-width: 75em) {
    #sub-menu {
      max-width: 287px; } }

@media print, screen and (min-width: 64em) {
  #sub-menu-toggler {
    display: none; } }

@media screen and (max-width: 63.9375em) {
  #sub-menu-toggler {
    margin-bottom: 30px; }
    #sub-menu-toggler > a {
      display: block;
      border-width: 2px 0;
      border-color: #e0e0e0;
      border-style: solid;
      padding: 17px 22px;
      font-family: "BreveSans", sans-serif;
      font-size: 20px;
      color: #18171e;
      text-decoration: none; }
      #sub-menu-toggler > a:after {
        content: "\e804";
        padding-top: 6px;
        color: #000000;
        float: right;
        font-family: "Fontello";
        speak: none;
        display: inline-block;
        text-align: center;
        font-variant: normal;
        text-transform: none;
        line-height: 1em;
        -webkit-font-smoothing: antialiased;
        -moz-osx-font-smoothing: grayscale; }
      #sub-menu-toggler > a:hover, #sub-menu-toggler > a:focus {
        background-color: #f9f9f9;
        text-decoration: none;
        color: #98012e; }
      #sub-menu-toggler > a.open:after {
        content: "\e805";
        color: #666666; }
  .sub-menu-wrap #sub-menu {
    margin-top: 0;
    position: absolute;
    z-index: 3;
    left: 0;
    right: 0;
    width: 100%;
    background-color: white;
    padding-left: 65px;
    padding-right: 62px;
    box-shadow: 0px 8px 9px 0px rgba(0, 0, 0, 0.2); } }
  @media screen and (max-width: 63.9375em) and (max-width: 47.9375em) {
    .sub-menu-wrap #sub-menu {
      padding-left: 22px;
      padding-right: 22px; } }

@media screen and (max-width: 63.9375em) {
    .sub-menu-wrap #sub-menu > ul {
      margin-bottom: 30px;
      border-bottom: 2px solid #e0e0e0;
      margin-top: -32px; }
      .sub-menu-wrap #sub-menu > ul li {
        margin-left: 22px; } }
      @media screen and (max-width: 63.9375em) and (max-width: 47.9375em) {
        .sub-menu-wrap #sub-menu > ul li {
          margin-left: 0; } }

@media screen and (max-width: 63.9375em) {
      .sub-menu-wrap #sub-menu > ul ul {
        margin-bottom: -2px; }
    .sub-menu-wrap #sub-menu > p + ul,
    .sub-menu-wrap #sub-menu > .search-box + ul {
      margin-top: 0; } }

.sub-menu__back-link {
  color: #a99a6f;
  font-size: 13px;
  text-transform: uppercase;
  margin-top: -5px;
  display: block;
  font-family: "BreveSans", sans-serif;
  font-weight: 600;
  text-decoration: none; }
  .sub-menu__back-link:hover, .sub-menu__back-link:focus {
    color: #8b6e4a; }

@media screen {
  .du-home #main-content .swapping-img-feature.row {
    margin-top: 60px; }
  .swapping-img-feature .swapping-img-feature__content {
    background-color: white;
    padding: 24px 44px;
    position: relative; } }
  @media screen and (max-width: 47.9375em) {
    .swapping-img-feature .swapping-img-feature__content {
      padding: 14px 22px 15px; } }
  @media screen and (min-width: 48em) {
    .swapping-img-feature .swapping-img-feature__content {
      top: -76px;
      left: -90px;
      margin-right: -23px;
      z-index: 1; } }
  @media screen and (min-width: 48em) and (max-width: 74.9375em) {
    .swapping-img-feature .swapping-img-feature__content {
      left: -68px; } }

@media screen {
    .swapping-img-feature .swapping-img-feature__content p {
      font-size: 20px;
      line-height: 32px; } }
    @media screen and (max-width: 74.9375em) {
      .swapping-img-feature .swapping-img-feature__content p {
        font-size: 15px;
        line-height: 24px; } }

@media screen {
  .swapping-img-feature .swapping-img-feature__image {
    position: relative;
    padding-left: 0;
    padding-right: 0;
    margin-top: 64px; }
    .swapping-img-feature .swapping-img-feature__image:before {
      content: "";
      background: transparent url("../images/arrow-pattern.png") repeat scroll 0 0;
      position: absolute;
      right: 0;
      top: -40px;
      left: 0;
      width: 100%;
      height: 40px;
      z-index: 0; } }
    @media screen and (max-width: 74.9375em) {
      .swapping-img-feature .swapping-img-feature__image:before {
        top: -36px;
        height: 36px; } }

@media screen {
    .swapping-img-feature .swapping-img-feature__image img {
      width: 100%;
      height: auto; } }

@media screen and (max-width: 47.9375em) {
  .du-home #main-content .swapping-img-feature.row {
    margin-top: 0; } }

@media screen {
  .swapping-img-feature.swapping-img-feature--alt .swapping-img-feature__image {
    margin-top: 41px; } }

@media screen and (min-width: 48em) {
  .swapping-img-feature.swapping-img-feature--alt .swapping-img-feature__content {
    left: auto;
    right: -90px;
    margin-right: 0;
    margin-left: -38px;
    top: 0;
    padding-top: 29px; } }
  @media screen and (min-width: 48em) and (max-width: 74.9375em) {
    .swapping-img-feature.swapping-img-feature--alt .swapping-img-feature__content {
      right: -68px; } }

div.testimonial-blockquote blockquote {
  background: #fefefe;
  border-left: solid 2px #2090ac; }
  div.testimonial-blockquote blockquote p, div.testimonial-blockquote blockquote cite {
    color: #2090ac; }
  div.testimonial-blockquote blockquote cite {
    margin-bottom: 15px; }

div.testimonial-blockquote .media-wrapper {
  z-index: 0; }

div.testimonial-blockquote .text-wrapper {
  z-index: 1; }

@media screen and (min-width: 64em) {
  .feature-video-module .feature-video-module__video-wrapper.small {
    top: -210px;
    margin-bottom: -210px; } }

@media screen and (min-width: 64em) {
  .feature-video-module .feature-video-module__video-wrapper.small-right {
    top: -200px;
    margin-bottom: -260px; } }

@media screen and (min-width: 64em) {
  .feature-video-module .feature-video-module__video-wrapper.large-right {
    top: -260px;
    margin-bottom: -260px; } }

.three-col-facts {
  background-repeat: no-repeat;
  background-position: top center;
  background-size: 100% auto;
  padding-top: 10.3%; }
  @media screen and (max-width: 63.9375em) {
    #main-content .three-col-facts.row {
      margin-left: 24px;
      margin-right: 24px; } }
  @media screen and (max-width: 63.9375em) and (max-width: 47.9375em) {
    #main-content .three-col-facts.row {
      margin-left: 0;
      margin-right: 0; } }
  @media screen and (max-width: 47.9375em) {
    .three-col-facts {
      background-image: none !important;
      padding-top: 0; } }
  @media print, screen and (min-width: 48em) {
    .three-col-facts {
      padding-bottom: 19%; }
      .three-col-facts + .row,
      .three-col-facts + .du-home__quotes__wrapper {
        margin-top: 60px; } }
  @media (min-width: 1600px) {
    .three-col-facts {
      padding-bottom: 235px; } }
  .du-home #main-content .three-col-facts.row {
    margin-top: 60px; }
    @media screen and (max-width: 47.9375em) {
      .du-home #main-content .three-col-facts.row {
        margin-top: 33px; } }
  .three-col-facts .show-for-small-only {
    position: absolute;
    width: 100%;
    left: 0; }
  .three-col-facts .three-col-facts__img.is-stuck {
    z-index: 0; }
  .three-col-facts > .three-col-facts__item {
    position: relative;
    z-index: 1; }
    .three-col-facts > .three-col-facts__item p {
      color: #08657d;
      font-weight: 300;
      font-size: 43px;
      line-height: 59px;
      text-align: center; }
      @media print, screen and (min-width: 64em) {
        .three-col-facts > .three-col-facts__item p {
          max-width: 300px;
          margin-left: auto;
          margin-right: auto; } }
      @media screen and (max-width: 74.9375em) {
        .three-col-facts > .three-col-facts__item p {
          max-width: 223.26px;
          margin: 0 auto 60px; } }
      .three-col-facts > .three-col-facts__item p,
      .du-home #main-content .three-col-facts > .three-col-facts__item p {
        font-family: "BreveSlabTitle", sans-serif; }
      @media screen and (max-width: 74.9375em) {
        .three-col-facts > .three-col-facts__item p {
          font-size: 32px;
          line-height: 44px; } }
      .three-col-facts > .three-col-facts__item p strong {
        font-size: 95px;
        line-height: 95px;
        color: #0072bc;
        font-weight: bold;
        display: block; }
        @media screen and (max-width: 74.9375em) {
          .three-col-facts > .three-col-facts__item p strong {
            font-size: 71px;
            line-height: 71px; } }
        .three-col-facts > .three-col-facts__item p strong,
        .du-home #main-content .three-col-facts > .three-col-facts__item p strong {
          font-family: "BreveDisplay", sans-serif; }
    .three-col-facts > .three-col-facts__item + .three-col-facts__item p strong {
      color: #08657d; }
    .three-col-facts > .three-col-facts__item + .three-col-facts__item + .three-col-facts__item p strong {
      color: #00746b; }
    @media screen and (max-width: 47.9375em) {
      .three-col-facts > .three-col-facts__item {
        padding-top: 26px; } }

@media screen {
  .header {
    position: relative; }
    .header #top-bar-sticky-wrap {
      z-index: 5;
      width: 100%; }
      .header #top-bar-sticky-wrap,
      .header #top-bar-sticky-wrap * {
        transition: all 0.5s ease; }
    .header #main-menu-wrap {
      position: relative;
      background-color: white;
      height: 80px;
      width: 100%;
      margin-left: auto;
      margin-right: auto; } }
    @media screen and (max-width: 600px) {
      .header #main-menu-wrap {
        height: 60px; }
        .header #main-menu-wrap #main-menu {
          top: 60px !important; } }

@media screen {
      .header #main-menu-wrap a.logo {
        position: relative;
        width: 225px;
        height: 84px;
        display: block;
        margin-left: 80px; }
        .header #main-menu-wrap a.logo > span {
          position: absolute;
          top: -10px;
          z-index: 3; }
          .header #main-menu-wrap a.logo > span > img {
            float: left; } }
      @media screen and (min-width: 1024px) and (max-width: 1100px) {
        .header #main-menu-wrap a.logo {
          margin-left: 30px; } }
      @media screen and (max-width: 47.9375em) {
        .header #main-menu-wrap a.logo {
          margin-left: 58px; } }
      @media screen and (max-width: 600px) {
        .header #main-menu-wrap a.logo {
          width: 66px;
          margin-left: 14px; }
          .header #main-menu-wrap a.logo > span {
            top: -34px; }
            .header #main-menu-wrap a.logo > span > img + img {
              position: absolute;
              left: -9999px;
              top: -9999px; } }

@media screen {
      .header #main-menu-wrap #alt-logo {
        background-color: #fff;
        text-align: center; }
        .header #main-menu-wrap #alt-logo.mobile {
          display: none; }
        .header #main-menu-wrap #alt-logo.desktop {
          display: block; } }
      @media screen and (max-width: 63.9375em) {
        .header #main-menu-wrap #alt-logo {
          padding-bottom: 0px;
          text-align: left; }
          .header #main-menu-wrap #alt-logo.mobile {
            display: block;
            position: relative; }
          .header #main-menu-wrap #alt-logo.desktop {
            display: none; } }

@media screen {
        .header #main-menu-wrap #alt-logo img {
          height: 112px; } }
        @media screen and (max-width: 63.9375em) {
          .header #main-menu-wrap #alt-logo img {
            height: 80px; } }
        @media screen and (max-width: 47.9375em) {
          .header #main-menu-wrap #alt-logo img {
            height: auto;
            max-height: 60px; } }

@media screen {
      .header #main-menu-wrap .shield-logo img {
        height: 54px;
        margin-top: 0.6em;
        margin-left: 1.2em;
        margin-right: 3em; } }
      @media screen and (max-width: 63.9375em) {
        .header #main-menu-wrap .shield-logo img {
          margin-right: 2em;
          margin-top: 0.8em; } }
      @media screen and (max-width: 47.9375em) {
        .header #main-menu-wrap .shield-logo img {
          height: 44px;
          margin-top: 0.4em;
          margin-right: 1em; } }

@media screen {
      .header #main-menu-wrap #main-menu > ul {
        position: static; }
        .header #main-menu-wrap #main-menu > ul > li.active > a {
          background-color: transparent;
          border-bottom: 8px solid #98012e; } }
        @media screen and (max-width: 63.9375em) {
          .header #main-menu-wrap #main-menu > ul > li.active > a {
            border-bottom: 0 none; } }

@media screen {
        .header #main-menu-wrap #main-menu > ul > li > a {
          height: 80px;
          border-width: 8px 0;
          border-style: solid;
          text-align: center;
          border-color: transparent;
          text-decoration: none; }
          .header #main-menu-wrap #main-menu > ul > li > a:hover, .header #main-menu-wrap #main-menu > ul > li > a:focus {
            border-bottom: 8px solid #98012e;
            background-color: #f9f9f9; } }
          @media screen and (max-width: 63.9375em) {
            .header #main-menu-wrap #main-menu > ul > li > a:hover, .header #main-menu-wrap #main-menu > ul > li > a:focus {
              border-bottom: 0 none; } }
        @media screen and (max-width: 63.9375em) {
          .header #main-menu-wrap #main-menu > ul > li > a {
            border-color: #e0e0e0;
            border-style: solid;
            border-width: 0 0 0 4px;
            font-size: 32px;
            height: auto;
            text-align: left; } }
      @media screen and (max-width: 63.9375em) {
        .header #main-menu-wrap #main-menu > ul > li[role="menuitem"] {
          max-width: 320px; }
        .header #main-menu-wrap #main-menu > ul > li + li {
          margin-top: 15px; }
        .header #main-menu-wrap #main-menu > ul > li#utility-menu {
          margin-top: 40px; }
          .header #main-menu-wrap #main-menu > ul > li#utility-menu ul.menu {
            background-color: #18171e;
            justify-content: center; }
            .header #main-menu-wrap #main-menu > ul > li#utility-menu ul.menu li {
              display: flex; }
              .header #main-menu-wrap #main-menu > ul > li#utility-menu ul.menu li a {
                color: white;
                font-size: 15px; } }

@media screen {
        .header #main-menu-wrap #main-menu > ul li {
          margin-left: 0; }
          .header #main-menu-wrap #main-menu > ul li > a {
            font-size: 19px;
            color: #18171e;
            font-weight: normal;
            font-family: "BreveSans", sans-serif;
            display: table-cell;
            vertical-align: middle; } }
          @media screen and (min-width: 1220px) and (max-width: 1295px) {
            .header #main-menu-wrap #main-menu > ul li > a {
              font-size: 16px; } }
          @media screen and (min-width: 1034px) and (max-width: 1219px) {
            .header #main-menu-wrap #main-menu > ul li > a {
              font-size: 16px;
              padding-left: 9px;
              padding-right: 9px; } }
          @media screen and (min-width: 1014px) and (max-width: 1033px) {
            .header #main-menu-wrap #main-menu > ul li > a {
              font-size: 16px;
              padding-left: 7px;
              padding-right: 7px; } }
    @media screen and (max-width: 63.9375em) {
      .header #main-menu-wrap #main-menu {
        height: 90vh;
        overflow: auto;
        background-color: white;
        padding: 40px 62px; } }
  @media screen and (max-width: 63.9375em) and (max-width: 47.9375em) {
    .header #main-menu-wrap #main-menu {
      padding: 30px 20px; } }
    @media screen and (max-width: 63.9375em) {
        .header #main-menu-wrap #main-menu > ul.menu {
          display: block; }
        .header #main-menu-wrap #main-menu .utility-menu {
          height: auto;
          background-color: white;
          top: 33px;
          right: 62px;
          background-color: transparent;
          text-align: center;
          position: static;
          width: 100%; }
          .header #main-menu-wrap #main-menu .utility-menu ul {
            flex-flow: column;
            align-items: stretch; }
          .header #main-menu-wrap #main-menu .utility-menu ul.menu {
            margin-top: 30px; }
          .header #main-menu-wrap #main-menu .utility-menu li {
            display: block; }
            .header #main-menu-wrap #main-menu .utility-menu li + li {
              margin-top: 10px; }
            .header #main-menu-wrap #main-menu .utility-menu li a {
              justify-content: center; } }
    @media screen and (max-width: 63.9375em) and (max-width: 47.9375em) {
      .header #main-menu-wrap #main-menu .utility-menu {
        margin-top: 30px;
        position: static;
        width: 100%; }
        .header #main-menu-wrap #main-menu .utility-menu li + li {
          margin-top: 2px; } }

@media screen {
      .header #main-menu-wrap #search-toggler {
        position: static; }
      .header #main-menu-wrap li.search.is-active > a {
        background-color: #e0e0e0;
        color: #666666; }
        .header #main-menu-wrap li.search.is-active > a:before {
          content: '\e805'; }
      .header #main-menu-wrap li.search > a {
        text-decoration: none;
        height: 80px;
        background-color: #f9f9f9;
        border-width: 0 1px 1px 1px !important;
        border-style: solid;
        border-color: #e0e0e0;
        text-indent: -9999px;
        display: block;
        position: relative;
        width: 80px;
        color: #666666; }
        .header #main-menu-wrap li.search > a:before {
          text-indent: 0;
          content: '\e806';
          position: absolute;
          top: 50%;
          left: 50%;
          margin-left: -11px;
          margin-top: -11px;
          font-size: 22px;
          font-family: "Fontello";
          speak: none;
          display: inline-block;
          text-align: center;
          font-variant: normal;
          text-transform: none;
          line-height: 1em;
          -webkit-font-smoothing: antialiased;
          -moz-osx-font-smoothing: grayscale; }
        .header #main-menu-wrap li.search > a:hover, .header #main-menu-wrap li.search > a:focus {
          border-bottom-width: 0 !important;
          background-color: #e0e0e0; }
      .header #main-menu-wrap #calendar-icon {
        width: 80px;
        height: 80px;
        position: relative;
        display: block;
        background: #f9f9f9;
        border: 1px solid #e0e0e0;
        border-top: 0;
        overflow: hidden; }
        .header #main-menu-wrap #calendar-icon li {
          margin-left: 0; }
          .header #main-menu-wrap #calendar-icon li a {
            margin-left: -1px;
            text-indent: 9999px;
            width: 80px;
            height: 80px;
            position: relative;
            display: block;
            border-bottom: 8px solid transparent; }
        .header #main-menu-wrap #calendar-icon:before {
          color: #18171e;
          text-indent: 0;
          content: '\f133';
          position: absolute;
          top: 50%;
          left: 50%;
          margin-left: -11px;
          margin-top: -11px;
          font-size: 22px;
          font-family: "Fontello";
          speak: none;
          display: inline-block;
          text-align: center;
          font-variant: normal;
          text-transform: none;
          line-height: 1em;
          -webkit-font-smoothing: antialiased;
          -moz-osx-font-smoothing: grayscale; }
        .header #main-menu-wrap #calendar-icon:hover, .header #main-menu-wrap #calendar-icon:focus {
          border-bottom: 0;
          background-color: #e0e0e0;
          color: #666666; }
          .header #main-menu-wrap #calendar-icon:hover li a, .header #main-menu-wrap #calendar-icon:focus li a {
            border-bottom: 8px solid #98012e !important; } }
      @media screen and (max-width: 63.9375em) {
        .header #main-menu-wrap #calendar-icon {
          display: none; } }
      @media screen and (max-width: 1024px) {
        .header #main-menu-wrap #calendar-icon {
          width: 80px;
          height: 80px;
          display: inline-block;
          color: #666666;
          text-align: center;
          background-color: #f9f9f9;
          border-width: 0 1px 1px 1px !important;
          border-style: solid;
          border-color: #e0e0e0; } }
      @media screen and (max-width: 600px) {
        .header #main-menu-wrap #calendar-icon {
          width: 60px;
          height: 60px; }
          .header #main-menu-wrap #calendar-icon li a {
            width: 60px;
            height: 60px; } }

@media screen {
      .header #main-menu-wrap .is-dropdown-submenu-parent.mega-menu {
        position: static; }
      .header #main-menu-wrap > .row.expanded {
        max-width: 1356px;
        height: 100%; }
        .header #main-menu-wrap > .row.expanded > .columns.shrink + .columns {
          padding-right: 0;
          height: 100%; }
        .header #main-menu-wrap > .row.expanded > .columns.shrink:last-child {
          padding-left: 0;
          padding-right: 0; } }
      @media screen and (max-width: 63.9375em) {
        .header #main-menu-wrap > .row.expanded #main-menu {
          position: absolute;
          top: 80px;
          left: 0;
          right: 0;
          padding-top: 32px;
          box-shadow: 0px 8px 9px 0px rgba(0, 0, 0, 0.2);
          display: none; }
          .header #main-menu-wrap > .row.expanded #main-menu .menu {
            width: 100%; } }
  @media screen and (max-width: 63.9375em) and (max-width: 47.9375em) {
    .header #main-menu-wrap > .row.expanded #main-menu > ul {
      padding-left: 30px; } }
      @media screen and (max-width: 63.9375em) {
          .header #main-menu-wrap > .row.expanded #main-menu > ul > li > a {
            padding-left: 30px; }
          .header #main-menu-wrap > .row.expanded #main-menu > ul.align-right {
            justify-content: center; } }
    @media screen and (max-width: 63.9375em) and (max-width: 63.9375em) {
      .header #main-menu-wrap > .row.expanded #main-menu > ul.align-right {
        justify-content: left; } }
      @media screen and (max-width: 63.9375em) {
        .header #main-menu-wrap > .row.expanded .columns.shrink {
          padding-right: 0; }
          .header #main-menu-wrap > .row.expanded .columns.shrink .logo {
            float: left; }
          .header #main-menu-wrap > .row.expanded .columns.shrink #search-toggler {
            float: left;
            width: auto; } }
    @media screen and (max-width: 63.9375em) and (max-width: 600px) {
      .header #main-menu-wrap > .row.expanded .columns.shrink #search-toggler > li > a {
        height: 60px;
        width: 60px; } }
      @media screen and (max-width: 63.9375em) {
          .header #main-menu-wrap > .row.expanded .columns.shrink #main-menu-toggler {
            float: right;
            position: relative; }
            .header #main-menu-wrap > .row.expanded .columns.shrink #main-menu-toggler button {
              cursor: pointer;
              height: 80px;
              width: 80px;
              background-color: #f9f9f9;
              border-bottom: 1px solid #e0e0e0;
              display: inline-block; }
              .header #main-menu-wrap > .row.expanded .columns.shrink #main-menu-toggler button:hover, .header #main-menu-wrap > .row.expanded .columns.shrink #main-menu-toggler button:focus {
                background-color: #e0e0e0; } }
      @media screen and (max-width: 63.9375em) and (max-width: 600px) {
        .header #main-menu-wrap > .row.expanded .columns.shrink #main-menu-toggler button {
          height: 60px;
          width: 60px; } }
      @media screen and (max-width: 63.9375em) {
              .header #main-menu-wrap > .row.expanded .columns.shrink #main-menu-toggler button.icon-du-cust-menu, .header #main-menu-wrap > .row.expanded .columns.shrink #main-menu-toggler button.du-icon-cust-menu {
                font-size: 23px;
                color: #98012e; }
              .header #main-menu-wrap > .row.expanded .columns.shrink #main-menu-toggler button.open.icon-du-cust-menu, .header #main-menu-wrap > .row.expanded .columns.shrink #main-menu-toggler button.open.du-icon-cust-menu {
                background-color: #e0e0e0; }
                .header #main-menu-wrap > .row.expanded .columns.shrink #main-menu-toggler button.open.icon-du-cust-menu:before, .header #main-menu-wrap > .row.expanded .columns.shrink #main-menu-toggler button.open.du-icon-cust-menu:before {
                  content: "\e805";
                  color: #666666; } }

@media screen {
    .header .is-stuck {
      box-shadow: 0px 4px 18px 0px rgba(0, 0, 0, 0.45); }
      .header .is-stuck #main-menu-wrap {
        height: 60px; }
        .header .is-stuck #main-menu-wrap > .row.expanded a.logo > span > img:first-child {
          margin-top: 13px; } }
        @media screen and (max-width: 600px) {
          .header .is-stuck #main-menu-wrap > .row.expanded a.logo > span > img:first-child {
            margin-top: 42px; } }

@media screen {
          .header .is-stuck #main-menu-wrap > .row.expanded a.logo > span > img:first-child + img {
            opacity: 0; }
        .header .is-stuck #main-menu-wrap > .row.expanded #alt-logo {
          padding-bottom: 0px; }
          .header .is-stuck #main-menu-wrap > .row.expanded #alt-logo.mobile {
            display: block; }
          .header .is-stuck #main-menu-wrap > .row.expanded #alt-logo.desktop {
            display: none; }
          .header .is-stuck #main-menu-wrap > .row.expanded #alt-logo img {
            height: 60px; }
        .header .is-stuck #main-menu-wrap > .row.expanded .shield-logo img {
          height: 44px;
          margin-top: 0.4em;
          margin-right: 1em; } }
      @media screen and (min-width: 64em) {
        .header .is-stuck #main-menu-wrap > .row.expanded #main-menu ul > li > a,
        .header .is-stuck #main-menu-wrap > .row.expanded #search-toggler > li > a {
          font-size: 16px;
          height: 60px; } }

@media screen {
        .header .is-stuck #main-menu-wrap > .row.expanded #calendar-icon,
        .header .is-stuck #main-menu-wrap > .row.expanded #calendar-icon li a {
          height: 60px; }
        .header .is-stuck #main-menu-wrap > .row.expanded #search-toggler > li > a {
          width: 60px;
          height: 60px; } }
      @media screen and (max-width: 63.9375em) {
        .header .is-stuck #main-menu-wrap > .row.expanded #main-menu {
          top: 60px;
          padding-top: 50px; } }

@media screen {
        .header .is-stuck #main-menu-wrap > .row.expanded #calendar-icon > a > img {
          height: 60px; } }
      @media screen and (max-width: 63.9375em) {
        .header .is-stuck #main-menu-wrap > .row.expanded .columns.shrink #main-menu-toggler button {
          height: 60px;
          width: 60px; } }

@media screen {
    .header .top-bar .search .is-dropdown-submenu {
      left: 0 !important;
      right: 0 !important;
      top: auto !important;
      position: absolute;
      border: 0 none;
      box-shadow: 0px 8px 9px 0px rgba(0, 0, 0, 0.2);
      background-color: rgba(255, 255, 255, 0.9); }
      .header .top-bar .search .is-dropdown-submenu > li > .row {
        margin-left: auto;
        margin-right: auto;
        padding-top: 39px;
        padding-bottom: 39px; }
    .header .top-bar .search .search-box {
      padding-left: 20px;
      padding-right: 20px; }
      .header .top-bar .search .search-box label > input[type="text"] {
        font-size: 36px; }
    .header ul#search-toggler li {
      margin-left: 0; } }

@media screen {
  .two-column-copy {
    margin-bottom: 32px; } }
  @media screen and (max-width: 47.9375em) {
    .two-column-copy {
      margin-bottom: 6px; } }

@media screen {
    .two-column-copy .columns {
      margin-bottom: 36px; } }
    @media screen and (min-width: 48em) {
      .two-column-copy .columns:first-child {
        padding-right: 25px; }
      .two-column-copy .columns + .columns {
        padding-left: 25px; } }
  @media screen and (max-width: 47.9375em) {
    .two-column-copy .two-col {
      column-count: 1; } }

header .utility-menu {
  height: 48px; }
  header .utility-menu .menu li {
    margin-left: 0; }
    header .utility-menu .menu li a {
      height: 48px;
      background-color: #18171e;
      text-transform: uppercase;
      font-family: "BreveSans", sans-serif;
      font-weight: 600;
      font-size: 13px;
      color: white;
      padding-bottom: 17px;
      padding-top: 18px;
      text-decoration: none; }
      header .utility-menu .menu li a:hover, header .utility-menu .menu li a:focus {
        text-decoration: underline; }
    header .utility-menu .menu li.audience-menu > a {
      background-color: #98012e; }
      header .utility-menu .menu li.audience-menu > a:hover, header .utility-menu .menu li.audience-menu > a:focus {
        text-decoration: none;
        background-color: #710829; }
      header .utility-menu .menu li.audience-menu > a:after {
        content: "\e800";
        font-family: "Fontello";
        padding-left: 7px; }
      header .utility-menu .menu li.audience-menu > a[aria-expanded="true"]:after {
        content: "\e805";
        font-size: 10px;
        padding-top: 2px; }
    @media screen and (max-width: 47.9375em) {
      header .utility-menu .menu li {
        display: none; }
        header .utility-menu .menu li.audience-menu {
          display: block; } }

.webform-module {
  margin-bottom: 60px; }
  .webform-module .description {
    font-size: 0.8em;
    color: #797979; }
  .webform-module label.form-required:before {
    content: "* ";
    color: #98012e;
    font-size: 24px;
    line-height: 22px;
    padding-right: 3px; }
  .webform-module .form-item--error-message {
    padding: 5px 10px;
    font-size: 14px;
    background-color: #98012e;
    margin-bottom: 1em;
    color: white;
    font-family: "BreveSans", sans-serif;
    display: block;
    margin-top: -16px; }

.wide-carousel__wrapper.row {
  max-width: none; }
  .wide-carousel__wrapper.row > .columns {
    padding-left: 0;
    padding-right: 0; }
    .wide-carousel__wrapper.row > .columns > .row {
      margin-left: auto;
      margin-right: auto; }
  @media screen and (max-width: 74.9375em) {
    #main-content .wide-carousel__wrapper.row {
      padding-left: 0;
      padding-right: 0;
      margin-left: 0;
      margin-right: 0; } }

@media screen and (max-width: 47.9375em) {
  .wide-carousel__wrapper .wide-carousel {
    position: relative; }
    .wide-carousel__wrapper .wide-carousel:before {
      content: "";
      background: transparent url("../images/arrow-pattern.png") repeat scroll 0 0;
      position: absolute;
      right: 0;
      top: -30px;
      left: auto;
      bottom: 0;
      width: 100%;
      height: 30px;
      z-index: 0; } }

@media print, screen and (min-width: 48em) {
  .wide-carousel__wrapper .wide-carousel .orbit-slide > .row > .columns:first-child {
    position: relative; }
    .wide-carousel__wrapper .wide-carousel .orbit-slide > .row > .columns:first-child:before {
      content: "";
      background: transparent url("../images/arrow-pattern.png") repeat scroll 0 0;
      position: absolute;
      right: 0;
      top: -47px;
      left: auto;
      bottom: 0;
      width: 50%;
      height: 47px;
      z-index: 0; } }
    @media screen and (min-width: 48em) and (max-width: 74.9375em) {
      .wide-carousel__wrapper .wide-carousel .orbit-slide > .row > .columns:first-child:before {
        top: -30px;
        height: 30px; } }

@media print, screen and (min-width: 64em) {
  .wide-carousel__wrapper .wide-carousel .wide-carousel__media-wrapper {
    position: relative;
    padding-bottom: 56.25%;
    height: 0;
    overflow: hidden; } }
  @media screen and (min-width: 64em) and (min-width: 75em) {
    .wide-carousel__wrapper .wide-carousel .wide-carousel__media-wrapper {
      padding-bottom: 46.25%; }
      .wide-carousel__wrapper .wide-carousel .wide-carousel__media-wrapper > * {
        top: -5% !important;
        height: auto !important; } }

@media print, screen and (min-width: 64em) {
    .wide-carousel__wrapper .wide-carousel .wide-carousel__media-wrapper > * {
      position: absolute;
      top: 0;
      left: 0;
      width: 100%;
      height: 100%; }
    .wide-carousel__wrapper .wide-carousel .wide-carousel__media-wrapper > video {
      z-index: 2; }
      .wide-carousel__wrapper .wide-carousel .wide-carousel__media-wrapper > video + img {
        display: none; }
    .wide-carousel__wrapper .wide-carousel .wide-carousel__media-wrapper > img {
      z-index: 1; } }

@media screen and (max-width: 47.9375em) {
  .wide-carousel__wrapper .wide-carousel {
    margin-top: 35px; } }

@media screen and (max-width: 63.9375em) {
  .wide-carousel__wrapper .wide-carousel .wide-carousel__media-wrapper > video {
    display: none; }
  .wide-carousel__wrapper .wide-carousel .wide-carousel__media-wrapper > img {
    width: 100%; } }

@media print, screen and (min-width: 48em) {
  .wide-carousel__wrapper.wide-carousel__wrapper--alt .wide-carousel .orbit-slide > .row > .columns:first-child:before {
    right: auto;
    left: 0; } }

.wide-carousel__wrapper .wide-carousel__content {
  margin-bottom: -57px;
  position: relative;
  background-color: white;
  z-index: 3;
  padding: 13px 44px; }
  @media print, screen and (min-width: 48em) {
    .wide-carousel__wrapper .wide-carousel__content {
      left: -10px; } }
  .wide-carousel__wrapper .wide-carousel__content p {
    font-size: 16px;
    line-height: 24px; }
  @media screen and (max-width: 47.9375em) {
    .wide-carousel__wrapper .wide-carousel__content {
      padding: 15px 22px 0 22px;
      margin-bottom: 0; }
      .wide-carousel__wrapper .wide-carousel__content p {
        font-size: 14px;
        line-height: 19px; } }

@media print, screen and (min-width: 48em) {
  .wide-carousel__wrapper.wide-carousel__wrapper--alt .wide-carousel__content {
    left: 10px; } }

@media screen and (max-width: 47.9375em) {
  .wide-carousel__wrapper > .columns:first-child {
    padding-left: 22px;
    padding-right: 22px; }
  .wide-carousel__wrapper h3 {
    position: relative;
    z-index: 1; } }

.filter-button {
  border: 2px solid #b1b1b1;
  padding: 15px 18px;
  color: #81796f;
  text-transform: uppercase;
  cursor: pointer;
  font-family: "Acto", sans-serif;
  font-size: 16px; }
  .filter-button:hover, .filter-button:focus, .filter-button.open {
    color: white;
    background: #98012e;
    border-color: #98012e; }

.footer-site-level {
  background-color: #126379;
  color: #ffffff;
  padding: 55px 0; }
  .unit-theme-teal .footer-site-level {
    background-color: #126379; }
  .unit-theme-purple .footer-site-level {
    background-color: #544976; }
  .unit-theme-green .footer-site-level {
    background-color: #586b2c; }
  .unit-theme-gold .footer-site-level {
    background-color: #8c7846; }
  .unit-theme-grey .footer-site-level {
    background-color: #535353; }
  .unit-theme-red .footer-site-level {
    background-color: #960e33; }
  .footer-site-level > div {
    max-width: 66.66667rem;
    margin: 0 auto; }
    @media screen and (max-width: 74.9375em) {
      .footer-site-level > div {
        margin-left: 25px;
        margin-right: 55px; } }
    @media screen and (max-width: 63.9375em) {
      .footer-site-level > div {
        margin-left: 5vw;
        margin-right: 5vw; } }
    .footer-site-level > div .footer-site-level-logo {
      margin-bottom: 40px; }
    .footer-site-level > div .footer-site-level-social {
      font-size: 14px;
      margin-left: 50px; }
      @media screen and (max-width: 63.9375em) {
        .footer-site-level > div .footer-site-level-social {
          margin-left: 0;
          margin-top: 2rem; } }
      .footer-site-level > div .footer-site-level-social p {
        padding-left: 0;
        margin-bottom: 10px;
        line-height: 16px; }
      .footer-site-level > div .footer-site-level-social .social-media {
        margin-left: -12px; }
        .footer-site-level > div .footer-site-level-social .social-media > div a {
          font-size: 23px;
          color: #ffffff; }
    .footer-site-level > div .footer-site-level-address {
      margin-left: 6vw; }
      @media screen and (max-width: 63.9375em) {
        .footer-site-level > div .footer-site-level-address {
          margin-left: 50px; } }
      .footer-site-level > div .footer-site-level-address span {
        float: left;
        margin-left: -40px;
        font-size: 24px;
        margin-top: -15px; }
        @media screen and (max-width: 63.9375em) {
          .footer-site-level > div .footer-site-level-address span {
            margin-left: -50px; } }
      .footer-site-level > div .footer-site-level-address p {
        font-size: 16px;
        margin-bottom: 0;
        line-height: 20px; }
    .footer-site-level > div .footer-site-level-info {
      margin-left: 4vw; }
      @media screen and (max-width: 63.9375em) {
        .footer-site-level > div .footer-site-level-info {
          margin-left: 0; } }
      .footer-site-level > div .footer-site-level-info > div {
        margin-top: 1rem; }
        .footer-site-level > div .footer-site-level-info > div span {
          font-size: 24px; }
        .footer-site-level > div .footer-site-level-info > div p {
          font-size: 16px;
          margin-bottom: 0;
          margin-left: 10px; }
          @media screen and (max-width: 63.9375em) {
            .footer-site-level > div .footer-site-level-info > div p {
              margin-left: 20px; } }

.generic-sample-listing-item {
  padding: 30px 20px;
  height: 100%;
  position: relative; }
  .generic-sample-listing-item:before, .generic-sample-listing-item:after {
    content: "";
    position: absolute;
    left: 0;
    right: 0;
    height: 2px;
    background: #e0e0e0; }
  .generic-sample-listing-item:before {
    top: -2px; }
  .generic-sample-listing-item:after {
    bottom: 0; }

.filter-container {
  padding-top: 30px; }

.filter-container-inner {
  position: relative;
  border-bottom: 8px solid #e0e0e0; }

.listing-filters {
  position: absolute;
  z-index: 1;
  background: #2a2930;
  color: white;
  display: none;
  width: 100%; }
  .listing-filters.open {
    display: block; }
  .listing-filters .listing-filters-contents form {
    width: 100%;
    padding: 24px 22px 23px 22px;
    max-width: 66.66667rem;
    margin-right: auto;
    margin-left: auto;
    display: flex;
    flex-flow: row wrap; }
  .listing-filters .form-item {
    flex: 0 0 33.33333%;
    max-width: 33.33333%;
    padding-right: 0.22222rem;
    padding-left: 0.22222rem; }
    @media print, screen and (min-width: 48em) {
      .listing-filters .form-item {
        padding-right: 0.44444rem;
        padding-left: 0.44444rem; } }
  .listing-filters label {
    color: white;
    font-size: 18px;
    font-weight: bold;
    font-family: "BreveSans", sans-serif;
    margin-bottom: 3px; }
  .listing-filters .form-actions {
    margin-top: 15px;
    flex: 0 0 100%;
    max-width: 100%;
    padding-right: 0.22222rem;
    padding-left: 0.22222rem;
    display: flex;
    justify-content: center; }
    @media print, screen and (min-width: 48em) {
      .listing-filters .form-actions {
        padding-right: 0.44444rem;
        padding-left: 0.44444rem; } }
    .listing-filters .form-actions > * + * {
      margin-left: 15px; }
  .listing-filters:after {
    content: '';
    display: inline-block;
    border-bottom: 20px solid #2a2930;
    border-left: 20px solid transparent;
    border-right: 20px solid transparent;
    position: absolute;
    top: -20px;
    right: 42px;
    z-index: 0; }
  @media screen and (max-width: 63.9375em) {
    .listing-filters .form-item {
      flex: 0 0 50%;
      max-width: 50%;
      padding-right: 0.22222rem;
      padding-left: 0.22222rem; } }
  @media screen and (max-width: 63.9375em) and (min-width: 48em) {
    .listing-filters .form-item {
      padding-right: 0.44444rem;
      padding-left: 0.44444rem; } }
  @media screen and (max-width: 47.9375em) {
    .listing-filters .form-item {
      flex: 0 0 100%;
      max-width: 100%;
      padding-right: 0.22222rem;
      padding-left: 0.22222rem; } }
  @media screen and (max-width: 47.9375em) and (min-width: 48em) {
    .listing-filters .form-item {
      padding-right: 0.44444rem;
      padding-left: 0.44444rem; } }

.unit-generic-flyout {
  position: relative;
  display: none;
  max-height: 75vh;
  overflow: auto;
  background: #e7e7e7; }
  .unit-generic-flyout.expanded {
    display: block; }
  .unit-generic-flyout .unit-generic-flyout-wrapper {
    overflow: hidden;
    position: relative;
    max-width: 1000px;
    padding: 50px 20px 30px 20px;
    margin: 0 auto;
    text-align: center; }
  .unit-generic-flyout .columns {
    padding-bottom: 30px; }
  .unit-generic-flyout h2 {
    font-size: 28px;
    margin-bottom: 10px; }
  .unit-generic-flyout .flyout-button {
    margin-top: 20px; }
  @media screen and (max-width: 63.9375em) {
    .unit-generic-flyout {
      position: absolute;
      z-index: 2;
      top: 120px;
      width: 100%;
      box-shadow: 0 -50px 50px 50px rgba(0, 0, 0, 0.3); }
      .unit-header .is-stuck .unit-generic-flyout {
        top: 60px; }
      .unit-generic-flyout .unit-generic-flyout-wrapper {
        padding-top: 30px;
        padding-bottom: 20px; } }
  @media screen and (max-width: 47.9375em) {
    .unit-generic-flyout {
      top: 87px; } }

body .hero-background {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  top: 0;
  bottom: 0;
  z-index: 0;
  background-color: #126379;
  margin-left: 0;
  width: 100%; }

body.unit-theme-teal .hero-background {
  background-color: #126379; }

body.unit-theme-purple .hero-background {
  background-color: #544976; }

body.unit-theme-green .hero-background {
  background-color: #586b2c; }

body.unit-theme-gold .hero-background {
  background-color: #8c7846; }

body.unit-theme-red .hero-background {
  background-color: #960e33; }

body.unit-theme-grey .hero-background {
  background-color: #535353; }

body .hero-overlay {
  opacity: 0.75; }

.unit-header .unit-hero-media {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  z-index: -1;
  overflow: hidden; }
  .unit-header .unit-hero-media > * {
    width: auto;
    min-height: 100%;
    min-width: 100%;
    height: auto;
    max-width: none; }
    @media (max-width: 1356px) {
      .unit-header .unit-hero-media > * {
        min-height: 0;
        min-width: 0;
        position: relative;
        left: 50%;
        width: 1356px;
        margin-left: -678px; } }
    @media screen and (max-width: 74.9375em) {
      .unit-header .unit-hero-media > * {
        width: 1232px;
        margin-left: -616px; } }
    @media screen and (max-width: 47.9375em) {
      .unit-header .unit-hero-media > * {
        width: 1084px;
        margin-left: -542px; } }
  .unit-header .unit-hero-media > video + img {
    position: absolute !important;
    top: 0;
    z-index: -1; }
  .unit-header .unit-hero-media > video {
    visibility: hidden;
    opacity: 0;
    transition: opacity 1s ease; }
    .unit-header .unit-hero-media > video.hero-video--visible {
      opacity: 1;
      visibility: visible; }
  @media print, screen and (min-width: 64em) {
    .unit-header .unit-hero-media {
      display: flex;
      align-items: center;
      /*> video + img {
				display: none;
			}*/ } }

.unit-header .hero-media__caption {
  position: absolute;
  width: 100%;
  bottom: 113px; }
  @media screen and (max-width: 74.9375em) {
    .unit-header .hero-media__caption {
      right: 55px; } }
  @media screen and (max-width: 63.9375em) {
    .unit-header .hero-media__caption {
      right: 22px; } }
  .unit-header .hero-media__caption .columns {
    padding-left: 0;
    padding-right: 0; }
  .unit-header .hero-media__caption .hero-media__caption__text {
    transition: background-color 1s ease;
    position: relative;
    float: right;
    right: 0;
    left: unset;
    background-color: rgba(24, 23, 30, 0.6);
    width: 283px; }
    .unit-header .hero-media__caption .hero-media__caption__text > a {
      text-decoration: none;
      display: block;
      padding: 9px 56px 13px 16px; }
      .unit-header .hero-media__caption .hero-media__caption__text > a:hover, .unit-header .hero-media__caption .hero-media__caption__text > a:focus {
        background-color: rgba(24, 23, 30, 0.8); }
        .unit-header .hero-media__caption .hero-media__caption__text > a:hover p, .unit-header .hero-media__caption .hero-media__caption__text > a:focus p {
          opacity: 1; }
    .unit-header .hero-media__caption .hero-media__caption__text p {
      color: #fff;
      opacity: 0.5;
      margin-bottom: 0;
      font-size: 16px;
      line-height: 20px;
      overflow: hidden;
      white-space: nowrap;
      text-overflow: ellipsis; }
    .unit-header .hero-media__caption .hero-media__caption__text .hero-media__caption__toggler {
      position: absolute;
      bottom: 8px;
      right: 11px; }
      .unit-header .hero-media__caption .hero-media__caption__text .hero-media__caption__toggler .icon-du-minus,
      .unit-header .hero-media__caption .hero-media__caption__text .hero-media__caption__toggler .du-icon-minus {
        display: none; }
      .unit-header .hero-media__caption .hero-media__caption__text .hero-media__caption__toggler [class*="icon-du"],
      .unit-header .hero-media__caption .hero-media__caption__text .hero-media__caption__toggler [class*="du-icon"] {
        font-size: 24px;
        color: white; }
  @media screen and (max-width: 63.9375em) {
    .unit-header .hero-media__caption.caption-expanded {
      width: auto;
      left: 20px; } }
  .unit-header .hero-media__caption.caption-expanded .hero-media__caption__text {
    background-color: rgba(24, 23, 30, 0.9);
    width: auto;
    left: 0;
    margin-left: -54px; }
    @media screen and (max-width: 74.9375em) {
      .unit-header .hero-media__caption.caption-expanded .hero-media__caption__text {
        margin-left: 20px; } }
    @media screen and (max-width: 63.9375em) {
      .unit-header .hero-media__caption.caption-expanded .hero-media__caption__text {
        margin-left: 0; } }
    .unit-header .hero-media__caption.caption-expanded .hero-media__caption__text p {
      opacity: 1;
      white-space: normal; }
  .unit-header .hero-media__caption.caption-expanded .hero-media__caption__toggler .icon-du-plus,
  .unit-header .hero-media__caption.caption-expanded .hero-media__caption__toggler .du-icon-plus {
    display: none; }
  .unit-header .hero-media__caption.caption-expanded .hero-media__caption__toggler .icon-du-minus,
  .unit-header .hero-media__caption.caption-expanded .hero-media__caption__toggler .du-icon-minus {
    display: block; }

.generic-listing {
  margin-bottom: 40px; }
  .generic-listing .page-info {
    padding-top: 20px;
    font-size: 18px;
    font-weight: 600;
    color: #18171e; }
  .generic-listing .results-container {
    max-width: 66.66667rem;
    margin-right: auto;
    margin-left: auto;
    display: flex;
    flex-flow: row wrap;
    margin-bottom: 30px;
    width: 100%; }
  .generic-listing .results-item {
    flex: 0 0 50%;
    max-width: 50%;
    padding-right: 0.22222rem;
    padding-left: 0.22222rem; }
    @media print, screen and (min-width: 48em) {
      .generic-listing .results-item {
        padding-right: 0.44444rem;
        padding-left: 0.44444rem; } }
  .generic-listing .results-container.one-col .results-item {
    flex: 0 0 100%;
    max-width: 100%;
    padding-right: 0.22222rem;
    padding-left: 0.22222rem; }
    @media print, screen and (min-width: 48em) {
      .generic-listing .results-container.one-col .results-item {
        padding-right: 0.44444rem;
        padding-left: 0.44444rem; } }
  .generic-listing .listing-pager {
    width: 100%;
    padding-bottom: 3rem; }
  @media screen and (max-width: 47.9375em) {
    .generic-listing .results-item {
      flex: 0 0 100%;
      max-width: 100%;
      padding-right: 0.22222rem;
      padding-left: 0.22222rem; } }
  @media screen and (max-width: 47.9375em) and (min-width: 48em) {
    .generic-listing .results-item {
      padding-right: 0.44444rem;
      padding-left: 0.44444rem; } }
  .generic-listing .empty-results {
    padding: 20px; }

.back-to-main {
  display: none;
  margin: 0 auto;
  height: 60px;
  line-height: 60px;
  background: white;
  color: #b8a162;
  font-weight: 600;
  font-size: 13px;
  text-transform: uppercase;
  cursor: pointer; }
  @media screen and (max-width: 63.9375em) {
    .back-to-main {
      display: block; } }

.back-to-main-wrapper {
  max-width: 680px;
  margin: 0 auto;
  padding: 0 20px; }

.close-panel {
  position: absolute;
  top: 16px;
  right: 16px;
  font-size: 32px;
  cursor: pointer;
  transition: none !important;
  color: #868686; }
  @media screen and (max-width: 63.9375em) {
    .close-panel {
      display: none; } }
  .close-panel:hover {
    color: #525252; }

.unit-resources-for {
  position: relative;
  display: none;
  max-height: 75vh;
  overflow: auto;
  background: #e7e7e7; }
  .unit-resources-for.expanded {
    display: block; }
  .unit-resources-for .unit-resources-for-wrapper {
    overflow: hidden;
    position: relative;
    max-width: 830px;
    padding: 30px 20px 37px 20px;
    margin: 0 auto; }
  @media screen and (max-width: 63.9375em) {
    .unit-resources-for {
      position: absolute;
      z-index: 2;
      top: 120px;
      width: 100%;
      box-shadow: 0 -50px 50px 50px rgba(0, 0, 0, 0.3); }
      .unit-header .is-stuck .unit-resources-for {
        top: 60px; }
      .unit-resources-for .unit-resources-for-wrapper {
        padding-bottom: 40px; } }
  @media screen and (max-width: 47.9375em) {
    .unit-resources-for {
      top: 87px; } }
  .unit-resources-for ul {
    border-top: 8px solid #d1d1d2;
    list-style: none;
    -moz-column-count: 2;
    -webkit-column-count: 2;
    column-count: 2; }
    .unit-resources-for ul li {
      /* autoprefixer: off */
      -webkit-column-break-inside: avoid;
      /* Chrome, Safari */
      page-break-inside: avoid;
      /* Theoretically FF 20+ */
      break-inside: avoid-column;
      /* IE 11 */ }
    @media screen and (max-width: 47.9375em) {
      .unit-resources-for ul {
        -moz-column-count: 1;
        -webkit-column-count: 1;
        column-count: 1; } }
  .unit-resources-for li {
    margin-left: 0; }
  .unit-resources-for li a {
    display: block;
    color: #18171e;
    font-weight: 600;
    text-decoration: none;
    padding: 22px 28px;
    border-bottom: 2px solid #d1d1d2; }
    .unit-resources-for li a:hover, .unit-resources-for li a:focus {
      color: #98012e;
      background: #d1d1d2; }
    .unit-resources-for li a.off-site:after {
      font-family: "Fontello";
      content: "\00A0" "\00A0" "\f14c"; }
    .unit-resources-for li a.current-site {
      border-left: 8px solid #98012e; }

.unit-search-form {
  position: relative;
  display: none;
  max-height: 75vh;
  overflow: auto;
  background: #e7e7e7; }
  .unit-search-form.expanded {
    display: block; }
  .unit-search-form .unit-search-form-wrapper {
    overflow: hidden;
    position: relative;
    max-width: 630px;
    padding: 45px 20px 50px 20px;
    margin: 0 auto; }
  @media screen and (max-width: 63.9375em) {
    .unit-search-form {
      position: absolute;
      z-index: 2;
      top: 120px;
      width: 100%;
      box-shadow: 0 -50px 50px 50px rgba(0, 0, 0, 0.3); }
      .unit-header .is-stuck .unit-search-form {
        top: 60px; }
      .unit-search-form .unit-search-form-wrapper {
        padding-bottom: 40px; } }
  @media screen and (max-width: 47.9375em) {
    .unit-search-form {
      top: 87px; } }
  .unit-search-form input[type=text] {
    background: transparent;
    border: 0;
    border-bottom: 4px solid #962733;
    box-shadow: none;
    padding: 4px 10px;
    line-height: 1em;
    height: auto;
    font-size: 32px;
    font-weight: 600;
    color: #18171e; }
  .unit-search-form .search-mode {
    float: left;
    margin-left: 10px;
    margin-right: 20px;
    color: #18171e;
    line-height: 1em;
    font-size: 18px;
    font-weight: 400; }
  .unit-search-form .search-submit {
    font-size: 26px;
    position: absolute;
    right: 25px;
    top: 55px; }

.unit-site-carousel {
  position: relative;
  overflow: hidden;
  margin-bottom: 50px; }
  .unit-site-carousel__single .unit-site-carousel__nav {
    display: none; }
  @media screen and (min-width: 75em) {
    .unit-site-carousel__single {
      max-width: none !important;
      margin-left: 0 !important;
      margin-right: 0 !important;
      padding: 0;
      background: transparent url("../images/arrow-pattern.png") repeat scroll 0 0; } }
  .unit-site-carousel__single .unit-site-carousel__slides {
    max-width: 1000px;
    margin: 0 auto; }
  .unit-site-carousel .unit-site-carousel__overlay {
    position: absolute;
    height: 100%;
    z-index: 1;
    pointer-events: none;
    background: #18171e;
    opacity: 0.7; }
    .unit-site-carousel .unit-site-carousel__overlay.left {
      left: 0; }
    .unit-site-carousel .unit-site-carousel__overlay.right {
      right: 0; }
  .unit-site-carousel .unit-site-carousel__nav {
    position: absolute;
    z-index: 2;
    top: 50%;
    left: 0;
    right: 0;
    max-width: 1180px;
    margin: 0 auto; }
  .unit-site-carousel .prev-button, .unit-site-carousel .next-button {
    position: absolute;
    z-index: 2;
    font-size: 65px;
    line-height: 0;
    color: white;
    transform: translate(0, -50%);
    border-radius: 100px;
    padding: 12px 0;
    cursor: pointer; }
  .unit-site-carousel .prev-button {
    left: 10px; }
  .unit-site-carousel .next-button {
    right: 10px; }
  .unit-site-carousel .unit-carousel-slide {
    position: relative;
    display: block !important; }
  .unit-site-carousel .unit-carousel-slide img {
    width: 100%; }
  .unit-site-carousel .unit-carousel-slide .caption {
    position: absolute;
    right: 0;
    bottom: 0;
    left: 0;
    background: rgba(0, 0, 0, 0.35);
    padding: 25px 34px;
    color: white;
    line-height: 22px;
    min-height: 94px; }
    .unit-site-carousel .unit-carousel-slide .caption p {
      line-height: 22px; }
      .unit-site-carousel .unit-carousel-slide .caption p:last-child {
        margin-bottom: 0; }
  @media screen and (max-width: 47.9375em) {
    .unit-site-carousel .prev-button, .unit-site-carousel .next-button {
      font-size: 30px;
      background: rgba(24, 23, 30, 0);
      transition: background 0.3s; }
      .unit-site-carousel .prev-button:hover, .unit-site-carousel .next-button:hover {
        background: rgba(24, 23, 30, 0.75); }
    .unit-site-carousel .prev-button {
      padding-left: 4px;
      padding-right: 8px;
      left: 30px; }
    .unit-site-carousel .next-button {
      padding-left: 8px;
      padding-right: 4px;
      right: 30px; }
    .unit-site-carousel .unit-carousel-slide .caption {
      padding: 18px 20px;
      position: static;
      color: #18171e;
      background: transparent; } }

.unit-sites-list {
  position: relative;
  display: none;
  max-height: 75vh;
  overflow: auto;
  background: #e7e7e7; }
  .unit-sites-list.expanded {
    display: block; }
  .unit-sites-list .unit-sites-list-wrapper {
    overflow: hidden;
    position: relative;
    max-width: 630px;
    padding: 30px 20px 37px 20px;
    margin: 0 auto; }
  @media screen and (max-width: 63.9375em) {
    .unit-sites-list {
      position: absolute;
      z-index: 2;
      top: 120px;
      width: 100%;
      box-shadow: 0 -50px 50px 50px rgba(0, 0, 0, 0.3); }
      .unit-header .is-stuck .unit-sites-list {
        top: 60px; }
      .unit-sites-list .unit-sites-list-wrapper {
        padding-bottom: 40px; } }
  @media screen and (max-width: 47.9375em) {
    .unit-sites-list {
      top: 87px; } }
  .unit-sites-list ul {
    border-top: 8px solid #d1d1d2;
    list-style: none; }
  .unit-sites-list li {
    margin-left: 0; }
  .unit-sites-list li a {
    display: block;
    color: #18171e;
    font-weight: 600;
    text-decoration: none;
    padding: 22px 28px;
    border-bottom: 2px solid #d1d1d2; }
    .unit-sites-list li a:hover, .unit-sites-list li a:focus {
      color: #98012e;
      background: #d1d1d2; }
    .unit-sites-list li a.off-site:after {
      font-family: "Fontello";
      content: "\00A0" "\00A0" "\f14c"; }
    .unit-sites-list li a.current-site {
      border-left: 8px solid #98012e; }

@media screen {
  .unit-header {
    position: relative;
    height: 630px; } }
  @media screen and (max-width: 63.9375em) {
    .unit-header {
      height: 545px; } }
  @media screen and (max-width: 47.9375em) {
    .unit-header {
      height: 425px; } }

@media screen {
    .unit-header.no-hero {
      height: 250px; } }
    @media screen and (max-width: 63.9375em) {
      .unit-header.no-hero {
        height: 212px; } }
    @media screen and (max-width: 47.9375em) {
      .unit-header.no-hero {
        height: 175px; } }

@media screen {
    .unit-header.no-hero #top-bar-sticky-wrap {
      width: 100%; }
      .unit-header.no-hero #top-bar-sticky-wrap:after {
        position: absolute;
        width: 100%;
        display: block;
        height: 30px;
        content: "";
        background: linear-gradient(to bottom, #b5b7ba 0%, rgba(181, 183, 186, 0) 100%);
        pointer-events: none;
        transition: height 0.5s ease; }
    .unit-header #top-bar-sticky-wrap {
      z-index: 5;
      width: 100%; }
      .unit-header #top-bar-sticky-wrap,
      .unit-header #top-bar-sticky-wrap * {
        transition: all 0.5s ease; }
    .unit-header #main-menu-wrap {
      position: relative;
      z-index: 10;
      background-color: white;
      height: 110px;
      width: 100%;
      margin-left: auto;
      margin-right: auto; } }
    @media screen and (max-width: 63.9375em) {
      .unit-header #main-menu-wrap {
        height: 120px; } }
    @media screen and (max-width: 47.9375em) {
      .unit-header #main-menu-wrap {
        height: 87px; } }

@media screen {
      .unit-header #main-menu-wrap .logo {
        position: relative;
        width: 350px;
        display: table;
        bottom: 20px;
        z-index: 3;
        color: #18171e;
        text-decoration: none; }
        .unit-header #main-menu-wrap .logo .site-logo {
          display: table-cell;
          width: 85px;
          vertical-align: bottom; }
        .unit-header #main-menu-wrap .logo img {
          height: 110px;
          width: auto; } }
        @media screen and (max-width: 63.9375em) {
          .unit-header #main-menu-wrap .logo img {
            height: 120px; } }

@media screen {
        .unit-header #main-menu-wrap .logo .site-identity {
          display: table-cell;
          vertical-align: bottom;
          padding-left: 16px; }
        .unit-header #main-menu-wrap .logo .site-prefix {
          display: block;
          font-family: "BreveSans", sans-serif;
          font-size: 17px;
          font-weight: 600;
          line-height: 1em;
          letter-spacing: 0.025em; }
        .unit-header #main-menu-wrap .logo .site-name {
          display: block;
          font-family: "BreveText", sans-serif;
          font-size: 30px;
          font-weight: 900;
          line-height: 1em;
          letter-spacing: -0.010em;
          margin-bottom: -3px;
          white-space: pre-wrap; }
        .unit-header #main-menu-wrap .logo.image {
          background: white; }
          .unit-header #main-menu-wrap .logo.image:before {
            content: "";
            position: absolute;
            right: 100%;
            width: 160px;
            height: 30px;
            z-index: 1;
            background: white; }
          .unit-header #main-menu-wrap .logo.image:after {
            content: "";
            position: absolute;
            left: 100%;
            width: 160px;
            height: 30px;
            z-index: 1;
            background: linear-gradient(to right, white 0, white 60px, rgba(255, 255, 255, 0) 100%); } }
      @media screen and (max-width: 63.9375em) {
        .unit-header #main-menu-wrap .logo {
          margin-left: 20px;
          position: static; }
          .unit-header #main-menu-wrap .logo .site-logo,
          .unit-header #main-menu-wrap .logo .site-identity {
            vertical-align: middle; }
          .unit-header #main-menu-wrap .logo .site-logo {
            width: 70px; }
          .unit-header #main-menu-wrap .logo img {
            height: 90px;
            width: auto; }
          .unit-header #main-menu-wrap .logo.image:before, .unit-header #main-menu-wrap .logo.image:after {
            display: none; } }
      @media screen and (max-width: 47.9375em) {
        .unit-header #main-menu-wrap .logo {
          margin-left: 10px;
          width: 190px; }
          .unit-header #main-menu-wrap .logo .site-logo,
          .unit-header #main-menu-wrap .logo .site-identity {
            vertical-align: top; }
          .unit-header #main-menu-wrap .logo .site-logo {
            width: 32px; }
          .unit-header #main-menu-wrap .logo img {
            height: 40px;
            width: auto; }
          .unit-header #main-menu-wrap .logo .site-identity {
            padding-left: 8px; }
          .unit-header #main-menu-wrap .logo .site-prefix {
            font-size: 14px; }
          .unit-header #main-menu-wrap .logo .site-name {
            font-size: 18px; }
          .unit-header #main-menu-wrap .logo.image {
            width: auto; }
            .unit-header #main-menu-wrap .logo.image img {
              height: 60px; } }

@media screen {
      .unit-header #main-menu-wrap #main-menu {
        max-height: 75vh;
        overflow: auto; }
        .unit-header #main-menu-wrap #main-menu .main-menu-contents {
          padding: 0 20px 0 0;
          margin: 0 auto; }
        .unit-header #main-menu-wrap #main-menu .main-menu-contents > ul {
          flex-wrap: nowrap;
          position: static; } }
        @media screen and (max-width: 63.9375em) {
          .unit-header #main-menu-wrap #main-menu .main-menu-contents > ul {
            border-top: 8px solid #e0e0e0;
            float: none; } }

@media screen {
          .unit-header #main-menu-wrap #main-menu .main-menu-contents > ul > li.active > a {
            background-color: transparent; } }
          @media screen and (min-width: 64em) {
            .unit-header #main-menu-wrap #main-menu .main-menu-contents > ul > li.active > a {
              border-bottom: 8px solid #98012e; }
              .unit-theme-teal .unit-header #main-menu-wrap #main-menu .main-menu-contents > ul > li.active > a {
                border-bottom-color: #126379; }
              .unit-theme-purple .unit-header #main-menu-wrap #main-menu .main-menu-contents > ul > li.active > a {
                border-bottom-color: #544976; }
              .unit-theme-green .unit-header #main-menu-wrap #main-menu .main-menu-contents > ul > li.active > a {
                border-bottom-color: #586b2c; }
              .unit-theme-gold .unit-header #main-menu-wrap #main-menu .main-menu-contents > ul > li.active > a {
                border-bottom-color: #8c7846; }
              .unit-theme-grey .unit-header #main-menu-wrap #main-menu .main-menu-contents > ul > li.active > a {
                border-bottom-color: #535353; }
              .unit-theme-red .unit-header #main-menu-wrap #main-menu .main-menu-contents > ul > li.active > a {
                border-bottom-color: #960e33; } }
          @media screen and (max-width: 63.9375em) {
            .unit-header #main-menu-wrap #main-menu .main-menu-contents > ul > li.active > a {
              border-left: 8px solid #98012e; }
              .unit-theme-teal .unit-header #main-menu-wrap #main-menu .main-menu-contents > ul > li.active > a {
                border-left-color: #126379; }
              .unit-theme-purple .unit-header #main-menu-wrap #main-menu .main-menu-contents > ul > li.active > a {
                border-left-color: #544976; }
              .unit-theme-green .unit-header #main-menu-wrap #main-menu .main-menu-contents > ul > li.active > a {
                border-left-color: #586b2c; }
              .unit-theme-gold .unit-header #main-menu-wrap #main-menu .main-menu-contents > ul > li.active > a {
                border-left-color: #8c7846; }
              .unit-theme-grey .unit-header #main-menu-wrap #main-menu .main-menu-contents > ul > li.active > a {
                border-left-color: #535353; }
              .unit-theme-red .unit-header #main-menu-wrap #main-menu .main-menu-contents > ul > li.active > a {
                border-left-color: #960e33; } }

@media screen {
          .unit-header #main-menu-wrap #main-menu .main-menu-contents > ul > li > a {
            height: 110px;
            border-width: 8px 0;
            border-style: solid;
            text-align: center;
            border-color: transparent;
            text-decoration: none;
            white-space: pre-wrap; }
            .unit-header #main-menu-wrap #main-menu .main-menu-contents > ul > li > a:hover, .unit-header #main-menu-wrap #main-menu .main-menu-contents > ul > li > a:focus {
              background-color: #f9f9f9; } }
        @media screen and (max-width: 63.9375em) {
          .unit-header #main-menu-wrap #main-menu .main-menu-contents > ul > li {
            border-bottom: 2px solid #e0e0e0; }
            .unit-header #main-menu-wrap #main-menu .main-menu-contents > ul > li > a {
              display: block !important;
              border: none;
              font-size: 20px;
              font-weight: 600;
              height: auto;
              text-align: left;
              white-space: normal;
              padding: 20px 12px;
              width: 100%; }
            .unit-header #main-menu-wrap #main-menu .main-menu-contents > ul > li[role="menuitem"] {
              max-width: 320px; } }

@media screen {
          .unit-header #main-menu-wrap #main-menu .main-menu-contents > ul > li + li {
            margin-left: 10px; }
          .unit-header #main-menu-wrap #main-menu .main-menu-contents > ul li {
            margin-left: 0; }
            .unit-header #main-menu-wrap #main-menu .main-menu-contents > ul li > a {
              color: #18171e;
              font-weight: 600;
              font-family: "BreveSans", sans-serif;
              display: table-cell;
              vertical-align: middle; } }
            @media screen and (min-width: 64em) and (max-width: 74.9375em) {
              .unit-header #main-menu-wrap #main-menu .main-menu-contents > ul li > a {
                font-size: 18px;
                padding-left: 12px;
                padding-right: 12px; } }
            @media screen and (min-width: 75em) and (max-width: 89.9375em) {
              .unit-header #main-menu-wrap #main-menu .main-menu-contents > ul li > a {
                font-size: 20px;
                padding-left: 14px;
                padding-right: 14px; } }
      @media screen and (max-width: 63.9375em) {
        .unit-header #main-menu-wrap #main-menu {
          display: none;
          background-color: white;
          padding: 40px 62px; }
          .unit-header #main-menu-wrap #main-menu.expanded {
            display: block; } }
  @media screen and (max-width: 63.9375em) and (max-width: 47.9375em) {
    .unit-header #main-menu-wrap #main-menu {
      padding: 30px 20px; } }
      @media screen and (max-width: 63.9375em) {
          .unit-header #main-menu-wrap #main-menu .main-menu-contents {
            display: flex; }
          .unit-header #main-menu-wrap #main-menu .main-menu-contents > ul {
            width: 50%; }
            .unit-header #main-menu-wrap #main-menu .main-menu-contents > ul.menu {
              display: block; }
            .unit-header #main-menu-wrap #main-menu .main-menu-contents > ul > li + li {
              margin-left: 0; }
          .unit-header #main-menu-wrap #main-menu .mobile-utility-wrapper {
            width: 50%;
            padding-left: 70px; } }
      @media screen and (max-width: 47.9375em) {
        .unit-header #main-menu-wrap #main-menu .main-menu-contents {
          display: block; } }

@media screen {
      .unit-header #main-menu-wrap .is-dropdown-submenu-parent.mega-menu {
        position: static; }
      .unit-header #main-menu-wrap > .row.expanded {
        max-width: 66.66667rem;
        height: 100%; }
        .unit-header #main-menu-wrap > .row.expanded > .columns {
          display: flex;
          align-items: center; }
        .unit-header #main-menu-wrap > .row.expanded > .columns.shrink + .columns {
          padding-right: 0;
          height: 100%;
          display: flex;
          justify-content: flex-end;
          align-items: flex-end; }
        .unit-header #main-menu-wrap > .row.expanded > .columns.shrink:last-child {
          padding-left: 0;
          padding-right: 0; } }
      @media screen and (max-width: 63.9375em) {
        .unit-header #main-menu-wrap > .row.expanded #main-menu {
          position: absolute;
          top: 120px;
          left: 0;
          right: 0;
          padding-top: 32px;
          box-shadow: 0px 8px 9px 0px rgba(0, 0, 0, 0.2); }
          .unit-header #main-menu-wrap > .row.expanded #main-menu .main-menu-contents > ul.align-right {
            justify-content: center; } }
    @media screen and (max-width: 63.9375em) and (max-width: 63.9375em) {
      .unit-header #main-menu-wrap > .row.expanded #main-menu .main-menu-contents > ul.align-right {
        justify-content: left; } }
      @media screen and (max-width: 63.9375em) {
        .unit-header #main-menu-wrap > .row.expanded .columns.shrink {
          padding-right: 0; }
          .unit-header #main-menu-wrap > .row.expanded .columns.shrink .logo {
            float: left; }
          .unit-header #main-menu-wrap > .row.expanded .columns.shrink #unit-main-menu-toggler {
            float: right;
            position: relative; }
            .unit-header #main-menu-wrap > .row.expanded .columns.shrink #unit-main-menu-toggler button {
              cursor: pointer;
              height: 57px;
              width: 59px;
              margin-right: 20px;
              background-color: #f9f9f9;
              border: 2px solid #e0e0e0;
              display: inline-block; }
              .unit-header #main-menu-wrap > .row.expanded .columns.shrink #unit-main-menu-toggler button:hover, .unit-header #main-menu-wrap > .row.expanded .columns.shrink #unit-main-menu-toggler button:focus {
                background-color: #e0e0e0; }
              .unit-header #main-menu-wrap > .row.expanded .columns.shrink #unit-main-menu-toggler button.icon-du-cust-menu, .unit-header #main-menu-wrap > .row.expanded .columns.shrink #unit-main-menu-toggler button.du-icon-cust-menu {
                font-size: 23px;
                color: #98012e; }
              .unit-header #main-menu-wrap > .row.expanded .columns.shrink #unit-main-menu-toggler button.open.icon-du-cust-menu, .unit-header #main-menu-wrap > .row.expanded .columns.shrink #unit-main-menu-toggler button.open.du-icon-cust-menu {
                background-color: #e0e0e0; }
                .unit-header #main-menu-wrap > .row.expanded .columns.shrink #unit-main-menu-toggler button.open.icon-du-cust-menu:before, .unit-header #main-menu-wrap > .row.expanded .columns.shrink #unit-main-menu-toggler button.open.du-icon-cust-menu:before {
                  content: "\e805";
                  color: #666666; } }
    @media screen and (max-width: 63.9375em) and (max-width: 63.9375em) {
      .unit-header #main-menu-wrap > .row.expanded .columns.shrink #unit-main-menu-toggler button {
        height: 60px;
        width: 60px; } }
    @media screen and (max-width: 63.9375em) and (max-width: 47.9375em) {
      .unit-header #main-menu-wrap > .row.expanded .columns.shrink #unit-main-menu-toggler button {
        height: 48px;
        width: 50px; } }
      @media screen and (max-width: 47.9375em) {
        .unit-header #main-menu-wrap > .row.expanded #main-menu {
          top: 87px; }
          .unit-header #main-menu-wrap > .row.expanded #main-menu .main-menu-contents {
            padding: 0; }
          .unit-header #main-menu-wrap > .row.expanded #main-menu .main-menu-contents > ul {
            width: 80%; }
            .unit-header #main-menu-wrap > .row.expanded #main-menu .main-menu-contents > ul > li {
              max-width: none !important; }
          .unit-header #main-menu-wrap > .row.expanded #main-menu .mobile-utility-wrapper {
            width: 80%;
            padding-left: 16px; } }

@media screen {
    .unit-header #top-bar-sticky-wrap.is-stuck #main-menu-wrap {
      height: 60px; }
      .unit-header #top-bar-sticky-wrap.is-stuck #main-menu-wrap .logo {
        position: static;
        margin-top: 28px;
        margin-left: 10px;
        width: auto; }
        .unit-header #top-bar-sticky-wrap.is-stuck #main-menu-wrap .logo .site-logo,
        .unit-header #top-bar-sticky-wrap.is-stuck #main-menu-wrap .logo .site-identity {
          vertical-align: top; }
        .unit-header #top-bar-sticky-wrap.is-stuck #main-menu-wrap .logo .site-logo {
          width: auto; }
        .unit-header #top-bar-sticky-wrap.is-stuck #main-menu-wrap .logo img {
          height: 80px;
          width: auto; }
        .unit-header #top-bar-sticky-wrap.is-stuck #main-menu-wrap .logo.image {
          margin-top: 0; }
          .unit-header #top-bar-sticky-wrap.is-stuck #main-menu-wrap .logo.image img {
            height: 50px; }
        .unit-header #top-bar-sticky-wrap.is-stuck #main-menu-wrap .logo .site-identity {
          width: 158px;
          padding-left: 8px; }
        .unit-header #top-bar-sticky-wrap.is-stuck #main-menu-wrap .logo .site-prefix {
          font-size: 14px; }
        .unit-header #top-bar-sticky-wrap.is-stuck #main-menu-wrap .logo .site-name {
          font-size: 18px; } }
      @media screen and (max-width: 47.9375em) {
        .unit-header #top-bar-sticky-wrap.is-stuck #main-menu-wrap .logo {
          margin-top: 0; }
          .unit-header #top-bar-sticky-wrap.is-stuck #main-menu-wrap .logo img {
            height: 40px; } }
    @media screen and (min-width: 64em) {
      .unit-header #top-bar-sticky-wrap.is-stuck #main-menu-wrap > .row.expanded #main-menu ul > li > a {
        font-size: 16px;
        height: 60px; } }
    @media screen and (max-width: 63.9375em) {
      .unit-header #top-bar-sticky-wrap.is-stuck #main-menu-wrap > .row.expanded #main-menu {
        top: 60px;
        padding-top: 50px; } }

@media screen {
      .unit-header #top-bar-sticky-wrap.is-stuck #main-menu-wrap > .row.expanded .columns.shrink #unit-main-menu-toggler button {
        height: 48px;
        width: 50px; }
    .unit-header #top-bar-sticky-wrap.is-stuck:after {
      height: 14px; } }

.unit-utility-menu {
  background: white;
  box-shadow: inset 0 -10px 10px -10px rgba(0, 0, 0, 0.1); }
  .unit-utility-menu .unit-utility-menu-inside {
    max-width: 66.66667rem;
    margin: 0 auto;
    display: flex;
    justify-content: flex-end; }
  .unit-utility-menu li {
    margin: 0; }
  .unit-utility-menu a {
    height: 48px;
    line-height: 48px;
    padding: 0 15px;
    color: #8b6e4a;
    text-transform: uppercase;
    font-size: 14px;
    font-weight: 600; }
    .unit-utility-menu a:hover, .unit-utility-menu a.open {
      color: #98012e;
      background: #e7e7e7; }
    .unit-utility-menu a .toggle-icon {
      font-size: 20px; }
  .unit-utility-menu .unit-utility-menu__audience-button .toggle-icon {
    position: absolute;
    left: -9999px;
    top: -9999px; }
  .unit-utility-menu .unit-utility-menu__audience-button .toggle-label {
    position: static; }
  .unit-utility-menu .unit-utility-menu__sites-button {
    width: 55px;
    padding-left: 0;
    padding-right: 0;
    text-align: center; }
    .unit-utility-menu .unit-utility-menu__sites-button .toggle-icon {
      font-size: 26px; }
    .unit-utility-menu .unit-utility-menu__sites-button .toggle-label {
      position: absolute;
      left: -9999px;
      top: -9999px; }
  .unit-utility-menu .unit-utility-menu__search-button {
    width: 55px;
    padding-left: 0;
    padding-right: 0;
    text-align: center; }
    .unit-utility-menu .unit-utility-menu__search-button .toggle-label {
      position: absolute;
      left: -9999px;
      top: -9999px; }
  @media screen and (max-width: 63.9375em) {
    .unit-utility-menu .meta-navigation {
      float: none;
      border-bottom: 2px solid #e0e0e0;
      padding-bottom: 8px;
      margin-bottom: 20px; }
    .unit-utility-menu .unit-utility-menu-inside {
      display: flex;
      flex-direction: column-reverse; }
    .unit-utility-menu .menu,
    .unit-utility-menu .menu li {
      display: block; }
    .unit-utility-menu .menu li a {
      height: 35px;
      line-height: 35px;
      margin-bottom: 13px; }
    .unit-utility-menu .menu.meta-navigation {
      display: flex;
      flex-direction: column-reverse; }
    .unit-utility-menu .unit-utility-menu__audience-button,
    .unit-utility-menu .unit-utility-menu__sites-button,
    .unit-utility-menu .unit-utility-menu__search-button {
      padding-left: 0;
      padding-right: 0;
      width: auto;
      text-align: left; }
      .unit-utility-menu .unit-utility-menu__audience-button .toggle-icon,
      .unit-utility-menu .unit-utility-menu__sites-button .toggle-icon,
      .unit-utility-menu .unit-utility-menu__search-button .toggle-icon {
        position: static;
        width: 50px;
        display: inline-block;
        vertical-align: middle;
        text-align: center; }
      .unit-utility-menu .unit-utility-menu__audience-button .toggle-label,
      .unit-utility-menu .unit-utility-menu__sites-button .toggle-label,
      .unit-utility-menu .unit-utility-menu__search-button .toggle-label {
        position: static;
        display: inline-block;
        vertical-align: middle;
        font-size: 16px; }
    .unit-utility-menu .utility-links a {
      padding-left: 50px;
      font-size: 16px; } }
  @media screen and (max-width: 47.9375em) {
    .unit-utility-menu .meta-navigation {
      margin-top: 20px;
      padding-bottom: 16px;
      margin-bottom: 16px; }
    .unit-utility-menu .menu.align-right li a {
      margin-bottom: 4px; }
    .unit-utility-menu .unit-utility-menu__audience-button .toggle-icon,
    .unit-utility-menu .unit-utility-menu__sites-button .toggle-icon,
    .unit-utility-menu .unit-utility-menu__search-button .toggle-icon {
      width: 35px; }
    .unit-utility-menu .utility-links a {
      padding-left: 35px; } }

/*# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3R5bGUuY3NzIiwic291cmNlcyI6WyJzdHlsZS5zY3NzIiwiX3ZhcmlhYmxlcy5zY3NzIiwiLi4vYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvZm91bmRhdGlvbi5zY3NzIiwiLi4vYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL192ZW5kb3Ivbm9ybWFsaXplLXNjc3Mvc2Fzcy9fbm9ybWFsaXplLnNjc3MiLCIuLi9ib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvX3ZlbmRvci9ub3JtYWxpemUtc2Nzcy9zYXNzL25vcm1hbGl6ZS9fdmFyaWFibGVzLnNjc3MiLCIuLi9ib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvX3ZlbmRvci9ub3JtYWxpemUtc2Nzcy9zYXNzL25vcm1hbGl6ZS9fdmVydGljYWwtcmh5dGhtLnNjc3MiLCIuLi9ib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvX3ZlbmRvci9ub3JtYWxpemUtc2Nzcy9zYXNzL25vcm1hbGl6ZS9fbm9ybWFsaXplLW1peGluLnNjc3MiLCIuLi9ib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvX3ZlbmRvci9zYXNzeS1saXN0cy9zdHlsZXNoZWV0cy9oZWxwZXJzL19taXNzaW5nLWRlcGVuZGVuY2llcy5zY3NzIiwiLi4vYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL192ZW5kb3Ivc2Fzc3ktbGlzdHMvc3R5bGVzaGVldHMvaGVscGVycy9fdHJ1ZS5zY3NzIiwiLi4vYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL192ZW5kb3Ivc2Fzc3ktbGlzdHMvc3R5bGVzaGVldHMvZnVuY3Rpb25zL19jb250YWluLnNjc3MiLCIuLi9ib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvX3ZlbmRvci9zYXNzeS1saXN0cy9zdHlsZXNoZWV0cy9mdW5jdGlvbnMvX3B1cmdlLnNjc3MiLCIuLi9ib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvX3ZlbmRvci9zYXNzeS1saXN0cy9zdHlsZXNoZWV0cy9mdW5jdGlvbnMvX3JlbW92ZS5zY3NzIiwiLi4vYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL192ZW5kb3Ivc2Fzc3ktbGlzdHMvc3R5bGVzaGVldHMvZnVuY3Rpb25zL19yZXBsYWNlLnNjc3MiLCIuLi9ib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvX3ZlbmRvci9zYXNzeS1saXN0cy9zdHlsZXNoZWV0cy9mdW5jdGlvbnMvX3RvLWxpc3Quc2NzcyIsIi4uL2Jvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL3V0aWwvX3V0aWwuc2NzcyIsIi4uL2Jvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL3V0aWwvX21hdGguc2NzcyIsIi4uL2Jvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL3V0aWwvX3VuaXQuc2NzcyIsIi4uL2Jvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL3V0aWwvX3ZhbHVlLnNjc3MiLCIuLi9ib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy91dGlsL19kaXJlY3Rpb24uc2NzcyIsIi4uL2Jvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL3V0aWwvX2NvbG9yLnNjc3MiLCIuLi9ib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy91dGlsL19zZWxlY3Rvci5zY3NzIiwiLi4vYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvdXRpbC9fZmxleC5zY3NzIiwiLi4vYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvdXRpbC9fYnJlYWtwb2ludC5zY3NzIiwiLi4vYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvdXRpbC9fbWl4aW5zLnNjc3MiLCIuLi9ib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy91dGlsL190eXBvZ3JhcGh5LnNjc3MiLCIuLi9ib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9fZ2xvYmFsLnNjc3MiLCIuLi9ib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9ncmlkL19ncmlkLnNjc3MiLCIuLi9ib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9ncmlkL19yb3cuc2NzcyIsIi4uL2Jvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2dyaWQvX2NvbHVtbi5zY3NzIiwiLi4vYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvZ3JpZC9fc2l6ZS5zY3NzIiwiLi4vYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvZ3JpZC9fcG9zaXRpb24uc2NzcyIsIi4uL2Jvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2dyaWQvX2d1dHRlci5zY3NzIiwiLi4vYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvZ3JpZC9fY2xhc3Nlcy5zY3NzIiwiLi4vYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvZ3JpZC9fbGF5b3V0LnNjc3MiLCIuLi9ib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9ncmlkL19mbGV4LWdyaWQuc2NzcyIsIi4uL2Jvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL3h5LWdyaWQvX3h5LWdyaWQuc2NzcyIsIi4uL2Jvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL3h5LWdyaWQvX2d1dHRlcnMuc2NzcyIsIi4uL2Jvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL3h5LWdyaWQvX2dyaWQuc2NzcyIsIi4uL2Jvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL3h5LWdyaWQvX2NlbGwuc2NzcyIsIi4uL2Jvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL3h5LWdyaWQvX2ZyYW1lLnNjc3MiLCIuLi9ib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy94eS1ncmlkL19wb3NpdGlvbi5zY3NzIiwiLi4vYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MveHktZ3JpZC9fbGF5b3V0LnNjc3MiLCIuLi9ib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy94eS1ncmlkL19jb2xsYXBzZS5zY3NzIiwiLi4vYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MveHktZ3JpZC9fY2xhc3Nlcy5zY3NzIiwiLi4vYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvdHlwb2dyYXBoeS9fdHlwb2dyYXBoeS5zY3NzIiwiLi4vYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvdHlwb2dyYXBoeS9fYmFzZS5zY3NzIiwiLi4vYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvdHlwb2dyYXBoeS9faGVscGVycy5zY3NzIiwiLi4vYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvdHlwb2dyYXBoeS9fYWxpZ25tZW50LnNjc3MiLCIuLi9ib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy90eXBvZ3JhcGh5L19wcmludC5zY3NzIiwiLi4vYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvZm9ybXMvX2Zvcm1zLnNjc3MiLCIuLi9ib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9mb3Jtcy9fdGV4dC5zY3NzIiwiLi4vYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvZm9ybXMvX2NoZWNrYm94LnNjc3MiLCIuLi9ib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9mb3Jtcy9fbGFiZWwuc2NzcyIsIi4uL2Jvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2Zvcm1zL19oZWxwLXRleHQuc2NzcyIsIi4uL2Jvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2Zvcm1zL19pbnB1dC1ncm91cC5zY3NzIiwiLi4vYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvZm9ybXMvX2ZpZWxkc2V0LnNjc3MiLCIuLi9ib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9mb3Jtcy9fc2VsZWN0LnNjc3MiLCIuLi9ib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9mb3Jtcy9fcmFuZ2Uuc2NzcyIsIi4uL2Jvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2Zvcm1zL19wcm9ncmVzcy5zY3NzIiwiLi4vYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvZm9ybXMvX21ldGVyLnNjc3MiLCIuLi9ib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9mb3Jtcy9fZXJyb3Iuc2NzcyIsIi4uL2Jvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2NvbXBvbmVudHMvX3Zpc2liaWxpdHkuc2NzcyIsIi4uL2Jvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2NvbXBvbmVudHMvX2Zsb2F0LnNjc3MiLCIuLi9ib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9jb21wb25lbnRzL19idXR0b24uc2NzcyIsIi4uL2Jvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2NvbXBvbmVudHMvX2J1dHRvbi1ncm91cC5zY3NzIiwiLi4vYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvY29tcG9uZW50cy9fYWNjb3JkaW9uLW1lbnUuc2NzcyIsIi4uL2Jvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2NvbXBvbmVudHMvX2FjY29yZGlvbi5zY3NzIiwiLi4vYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvY29tcG9uZW50cy9fYmFkZ2Uuc2NzcyIsIi4uL2Jvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2NvbXBvbmVudHMvX2JyZWFkY3J1bWJzLnNjc3MiLCIuLi9ib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9jb21wb25lbnRzL19jYWxsb3V0LnNjc3MiLCIuLi9ib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9jb21wb25lbnRzL19jYXJkLnNjc3MiLCIuLi9ib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9jb21wb25lbnRzL19jbG9zZS1idXR0b24uc2NzcyIsIi4uL2Jvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2NvbXBvbmVudHMvX2RyaWxsZG93bi5zY3NzIiwiLi4vYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvY29tcG9uZW50cy9fZHJvcGRvd24tbWVudS5zY3NzIiwiLi4vYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvY29tcG9uZW50cy9fZHJvcGRvd24uc2NzcyIsIi4uL2Jvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2NvbXBvbmVudHMvX2ZsZXguc2NzcyIsIi4uL2Jvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2NvbXBvbmVudHMvX3Jlc3BvbnNpdmUtZW1iZWQuc2NzcyIsIi4uL2Jvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2NvbXBvbmVudHMvX2xhYmVsLnNjc3MiLCIuLi9ib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9jb21wb25lbnRzL19tZWRpYS1vYmplY3Quc2NzcyIsIi4uL2Jvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2NvbXBvbmVudHMvX21lbnUuc2NzcyIsIi4uL2Jvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2NvbXBvbmVudHMvX21lbnUtaWNvbi5zY3NzIiwiLi4vYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvY29tcG9uZW50cy9fb2ZmLWNhbnZhcy5zY3NzIiwiLi4vYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvY29tcG9uZW50cy9fb3JiaXQuc2NzcyIsIi4uL2Jvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2NvbXBvbmVudHMvX3BhZ2luYXRpb24uc2NzcyIsIi4uL2Jvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2NvbXBvbmVudHMvX3Byb2dyZXNzLWJhci5zY3NzIiwiLi4vYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvY29tcG9uZW50cy9fcmV2ZWFsLnNjc3MiLCIuLi9ib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9jb21wb25lbnRzL19zbGlkZXIuc2NzcyIsIi4uL2Jvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2NvbXBvbmVudHMvX3N0aWNreS5zY3NzIiwiLi4vYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvY29tcG9uZW50cy9fc3dpdGNoLnNjc3MiLCIuLi9ib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9jb21wb25lbnRzL190YWJsZS5zY3NzIiwiLi4vYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvY29tcG9uZW50cy9fdGFicy5zY3NzIiwiLi4vYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvY29tcG9uZW50cy9fdGl0bGUtYmFyLnNjc3MiLCIuLi9ib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9jb21wb25lbnRzL190b3AtYmFyLnNjc3MiLCIuLi9ib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9jb21wb25lbnRzL190aHVtYm5haWwuc2NzcyIsIi4uL2Jvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2NvbXBvbmVudHMvX3Rvb2x0aXAuc2NzcyIsIi4uL2Jvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL3Byb3RvdHlwZS9fcHJvdG90eXBlLnNjc3MiLCIuLi9ib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9wcm90b3R5cGUvX3JlbGF0aW9uLnNjc3MiLCIuLi9ib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9wcm90b3R5cGUvX2JveC5zY3NzIiwiLi4vYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvcHJvdG90eXBlL19yb3RhdGUuc2NzcyIsIi4uL2Jvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL3Byb3RvdHlwZS9fdGV4dC11dGlsaXRpZXMuc2NzcyIsIi4uL2Jvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL3Byb3RvdHlwZS9fdGV4dC10cmFuc2Zvcm1hdGlvbi5zY3NzIiwiLi4vYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvcHJvdG90eXBlL190ZXh0LWRlY29yYXRpb24uc2NzcyIsIi4uL2Jvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL3Byb3RvdHlwZS9fZm9udC1zdHlsaW5nLnNjc3MiLCIuLi9ib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9wcm90b3R5cGUvX2xpc3Qtc3R5bGUtdHlwZS5zY3NzIiwiLi4vYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvcHJvdG90eXBlL19yb3VuZGVkLnNjc3MiLCIuLi9ib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9wcm90b3R5cGUvX2JvcmRlcmVkLnNjc3MiLCIuLi9ib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9wcm90b3R5cGUvX3NoYWRvdy5zY3NzIiwiLi4vYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvcHJvdG90eXBlL19hcnJvdy5zY3NzIiwiLi4vYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvcHJvdG90eXBlL19zZXBhcmF0b3Iuc2NzcyIsIi4uL2Jvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL3Byb3RvdHlwZS9fb3ZlcmZsb3cuc2NzcyIsIi4uL2Jvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL3Byb3RvdHlwZS9fZGlzcGxheS5zY3NzIiwiLi4vYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvcHJvdG90eXBlL19wb3NpdGlvbi5zY3NzIiwiLi4vYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvcHJvdG90eXBlL19ib3JkZXItYm94LnNjc3MiLCIuLi9ib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9wcm90b3R5cGUvX2JvcmRlci1ub25lLnNjc3MiLCIuLi9ib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9wcm90b3R5cGUvX3NpemluZy5zY3NzIiwiLi4vYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvcHJvdG90eXBlL19zcGFjaW5nLnNjc3MiLCIuLi9ib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy91dGlsL191dGlsLnNjc3MiLCJfc2V0dGluZ3Muc2NzcyIsIi4uL2R1LXJlc291cmNlcy9iYXNlL2ZvbnRlbGxvLnNjc3MiLCIuLi9kdS1yZXNvdXJjZXMvYmFzZS90eXBvZ3JhcGh5LnNjc3MiLCIuLi9kdS1yZXNvdXJjZXMvb3ZlcnJpZGVzL19mb250ZmFjZS5zY3NzIiwiLi4vZHUtcmVzb3VyY2VzL292ZXJyaWRlcy9hY2FkZW1pYy1wcm9ncmFtcy5zY3NzIiwiLi4vZHUtcmVzb3VyY2VzL292ZXJyaWRlcy9hZG1pc3Npb24tc3RlcHMuc2NzcyIsIi4uL2R1LXJlc291cmNlcy9vdmVycmlkZXMvYWxlcnQuc2NzcyIsIi4uL2R1LXJlc291cmNlcy9vdmVycmlkZXMvYXBwbGljYXRpb24tY2FyZHMuc2NzcyIsIi4uL2R1LXJlc291cmNlcy9vdmVycmlkZXMvYXJ0aWNsZS1saXN0LnNjc3MiLCIuLi9kdS1yZXNvdXJjZXMvb3ZlcnJpZGVzL2FydGljbGUtdGVhc2VyLnNjc3MiLCIuLi9kdS1yZXNvdXJjZXMvb3ZlcnJpZGVzL2FydGljbGUuc2NzcyIsIi4uL2R1LXJlc291cmNlcy9vdmVycmlkZXMvYXV0aG9yLnNjc3MiLCIuLi9kdS1yZXNvdXJjZXMvb3ZlcnJpZGVzL2Jsb2NrcXVvdGUuc2NzcyIsIi4uL2R1LXJlc291cmNlcy9vdmVycmlkZXMvY2FwdGlvbmVkLWltYWdlLnNjc3MiLCIuLi9kdS1yZXNvdXJjZXMvb3ZlcnJpZGVzL2NhcmQtbGlzdC1tb2R1bGUuc2NzcyIsIi4uL2R1LXJlc291cmNlcy9vdmVycmlkZXMvY2FyZHMuc2NzcyIsIi4uL2R1LXJlc291cmNlcy9vdmVycmlkZXMvY2F0ZWdvcnktbGlzdC5zY3NzIiwiLi4vZHUtcmVzb3VyY2VzL292ZXJyaWRlcy9jb250YWN0LXNpbmdsZS5zY3NzIiwiLi4vZHUtcmVzb3VyY2VzL292ZXJyaWRlcy9jb250YWN0cy5zY3NzIiwiLi4vZHUtcmVzb3VyY2VzL292ZXJyaWRlcy9jb250ZW50LWVsZW1lbnRzLnNjc3MiLCIuLi9kdS1yZXNvdXJjZXMvb3ZlcnJpZGVzL2NvcHkuc2NzcyIsIi4uL2R1LXJlc291cmNlcy9vdmVycmlkZXMvY3RhLWlubGluZS5zY3NzIiwiLi4vZHUtcmVzb3VyY2VzL292ZXJyaWRlcy9jdGEuc2NzcyIsIi4uL2R1LXJlc291cmNlcy9vdmVycmlkZXMvZHJvcGRvd24tdmlkZW8uc2NzcyIsIi4uL2R1LXJlc291cmNlcy9vdmVycmlkZXMvZHJ1cGFsLnNjc3MiLCIuLi9kdS1yZXNvdXJjZXMvb3ZlcnJpZGVzL2R1LW5ld3Muc2NzcyIsIi4uL2R1LXJlc291cmNlcy9vdmVycmlkZXMvZXZlbnQtY2FyZC5zY3NzIiwiLi4vZHUtcmVzb3VyY2VzL292ZXJyaWRlcy9ldmVudHMuc2NzcyIsIi4uL2R1LXJlc291cmNlcy9vdmVycmlkZXMvZXhhbXBsZS1jbGFzc2VzLnNjc3MiLCIuLi9kdS1yZXNvdXJjZXMvb3ZlcnJpZGVzL2V4cGVydC1saXN0LWl0ZW0uc2NzcyIsIi4uL2R1LXJlc291cmNlcy9vdmVycmlkZXMvZmVhdHVyZS12aWRlby5zY3NzIiwiLi4vZHUtcmVzb3VyY2VzL292ZXJyaWRlcy9mb250cy5zY3NzIiwiLi4vZHUtcmVzb3VyY2VzL292ZXJyaWRlcy9mb290ZXIuc2NzcyIsIi4uL2R1LXJlc291cmNlcy9vdmVycmlkZXMvZm9ybXMuc2NzcyIsIi4uL2R1LXJlc291cmNlcy9vdmVycmlkZXMvZm91bmRhdGlvbi1leHQuc2NzcyIsIi4uL2R1LXJlc291cmNlcy9vdmVycmlkZXMvaGVyby1tZWRpYS1pdGVtcy5zY3NzIiwiLi4vZHUtcmVzb3VyY2VzL292ZXJyaWRlcy9oZXJvLW1lZGlhLnNjc3MiLCIuLi9kdS1yZXNvdXJjZXMvb3ZlcnJpZGVzL2hvbWUuc2NzcyIsIi4uL2R1LXJlc291cmNlcy9vdmVycmlkZXMvaW1hZ2Utd2l0aC1jYXB0aW9uLnNjc3MiLCIuLi9kdS1yZXNvdXJjZXMvb3ZlcnJpZGVzL2luZm9ybWF0aW9uLW92ZXJ2aWV3LnNjc3MiLCIuLi9kdS1yZXNvdXJjZXMvb3ZlcnJpZGVzL2tleS1mYWN1bHR5LnNjc3MiLCIuLi9kdS1yZXNvdXJjZXMvb3ZlcnJpZGVzL2xhcmdlLWltYWdlLnNjc3MiLCIuLi9kdS1yZXNvdXJjZXMvb3ZlcnJpZGVzL2xheW91dC5zY3NzIiwiLi4vZHUtcmVzb3VyY2VzL292ZXJyaWRlcy9saXN0LWZpbHRlci5zY3NzIiwiLi4vZHUtcmVzb3VyY2VzL292ZXJyaWRlcy9saXN0LXBhZ2VyLnNjc3MiLCIuLi9kdS1yZXNvdXJjZXMvb3ZlcnJpZGVzL21lZ2EtZmx5b3V0LnNjc3MiLCIuLi9kdS1yZXNvdXJjZXMvb3ZlcnJpZGVzL21pbmktZXZlbnQtZmVlZC5zY3NzIiwiLi4vZHUtcmVzb3VyY2VzL292ZXJyaWRlcy9tb2RhbC5zY3NzIiwiLi4vZHUtcmVzb3VyY2VzL292ZXJyaWRlcy9uZXdzcm9vbS5zY3NzIiwiLi4vZHUtcmVzb3VyY2VzL292ZXJyaWRlcy9wYWdlci5zY3NzIiwiLi4vZHUtcmVzb3VyY2VzL292ZXJyaWRlcy9wcmludC5zY3NzIiwiLi4vZHUtcmVzb3VyY2VzL292ZXJyaWRlcy9wcm9maWxlLnNjc3MiLCIuLi9kdS1yZXNvdXJjZXMvb3ZlcnJpZGVzL3B1c2gtbWVudS5zY3NzIiwiLi4vZHUtcmVzb3VyY2VzL292ZXJyaWRlcy9xdWljay1zdGF0cy5zY3NzIiwiLi4vZHUtcmVzb3VyY2VzL292ZXJyaWRlcy9xdW90ZXMuc2NzcyIsIi4uL2R1LXJlc291cmNlcy9vdmVycmlkZXMvcmVsYXRlZC1zdG9yaWVzLnNjc3MiLCIuLi9kdS1yZXNvdXJjZXMvb3ZlcnJpZGVzL3Jlc2VhcmNoLXByb2plY3QtdGVhc2VyLnNjc3MiLCIuLi9kdS1yZXNvdXJjZXMvb3ZlcnJpZGVzL3Jlc2VhcmNoLXByb2plY3Quc2NzcyIsIi4uL2R1LXJlc291cmNlcy9vdmVycmlkZXMvcmVzb3VyY2Uuc2NzcyIsIi4uL2R1LXJlc291cmNlcy9vdmVycmlkZXMvc2Nob2xhcnNoaXAuc2NzcyIsIi4uL2R1LXJlc291cmNlcy9vdmVycmlkZXMvc2Nob29sLWxpc3Quc2NzcyIsIi4uL2R1LXJlc291cmNlcy9vdmVycmlkZXMvc2VhcmNoLnNjc3MiLCIuLi9kdS1yZXNvdXJjZXMvb3ZlcnJpZGVzL3NoYXJlZC1jb250ZW50LWJsb2NrLnNjc3MiLCIuLi9kdS1yZXNvdXJjZXMvb3ZlcnJpZGVzL3N0b3JpZXMuc2NzcyIsIi4uL2R1LXJlc291cmNlcy9vdmVycmlkZXMvc3ViLW1lbnUuc2NzcyIsIi4uL2R1LXJlc291cmNlcy9vdmVycmlkZXMvc3dhcHBpbmctaW1nLWZlYXR1cmUuc2NzcyIsIi4uL2R1LXJlc291cmNlcy9vdmVycmlkZXMvdGVzdGltb25pYWxfc3BvdGxpZ2h0LnNjc3MiLCIuLi9kdS1yZXNvdXJjZXMvb3ZlcnJpZGVzL3RocmVlLWNvbC1mYWN0cy5zY3NzIiwiLi4vZHUtcmVzb3VyY2VzL292ZXJyaWRlcy90b3AtYmFyLW1haW4tbWVudS5zY3NzIiwiLi4vZHUtcmVzb3VyY2VzL292ZXJyaWRlcy90d28tY29sdW1uLWNvcHkuc2NzcyIsIi4uL2R1LXJlc291cmNlcy9vdmVycmlkZXMvdXRpbGl0eS1tZW51LnNjc3MiLCIuLi9kdS1yZXNvdXJjZXMvb3ZlcnJpZGVzL3dlYmZvcm0uc2NzcyIsIi4uL2R1LXJlc291cmNlcy9vdmVycmlkZXMvd2lkZS1jYXJvdXNlbC5zY3NzIiwiLi4vZHUtcmVzb3VyY2VzL3VuaXRzL2ZpbHRlci1idXR0b24uc2NzcyIsIi4uL2R1LXJlc291cmNlcy91bml0cy9mb290ZXItc2l0ZS1sZXZlbC5zY3NzIiwiLi4vZHUtcmVzb3VyY2VzL3VuaXRzL2dhbGxlcnkuc2NzcyIsIi4uL2R1LXJlc291cmNlcy91bml0cy9nZW5lcmljLXRlYXNlci5zY3NzIiwiLi4vZHUtcmVzb3VyY2VzL3VuaXRzL2xpc3RpbmctZmlsdGVycy5zY3NzIiwiLi4vZHUtcmVzb3VyY2VzL3VuaXRzL3VuaXQtZ2VuZXJpYy1mbHlvdXQuc2NzcyIsIi4uL2R1LXJlc291cmNlcy91bml0cy91bml0LWhlcm8tbWVkaWEuc2NzcyIsIi4uL2R1LXJlc291cmNlcy91bml0cy91bml0LWxpc3Rpbmcuc2NzcyIsIi4uL2R1LXJlc291cmNlcy91bml0cy91bml0LW5hdi1iYWNrLnNjc3MiLCIuLi9kdS1yZXNvdXJjZXMvdW5pdHMvdW5pdC1uYXYtY2xvc2Uuc2NzcyIsIi4uL2R1LXJlc291cmNlcy91bml0cy91bml0LXJlc291cmNlcy5zY3NzIiwiLi4vZHUtcmVzb3VyY2VzL3VuaXRzL3VuaXQtc2VhcmNoLWZvcm0uc2NzcyIsIi4uL2R1LXJlc291cmNlcy91bml0cy91bml0LXNpdGUtY2Fyb3VzZWwuc2NzcyIsIi4uL2R1LXJlc291cmNlcy91bml0cy91bml0LXNpdGVzLWxpc3Quc2NzcyIsIi4uL2R1LXJlc291cmNlcy91bml0cy91bml0LXRvcC1iYXItbWFpbi1tZW51LnNjc3MiLCIuLi9kdS1yZXNvdXJjZXMvdW5pdHMvdW5pdC11dGlsaXR5LW1lbnUuc2NzcyJdLCJzb3VyY2VzQ29udGVudCI6WyIvL1xuLy8gQ29uZmlnXG4vL1xuXG5AaW1wb3J0IFwidmFyaWFibGVzXCI7XG5cbkBpbXBvcnQgXCJmb3VuZGF0aW9uLXNpdGVzL3Njc3MvZm91bmRhdGlvblwiO1xuQGltcG9ydCBcImZvdW5kYXRpb24tc2l0ZXMvc2Nzcy91dGlsL3V0aWxcIjtcblxuQGltcG9ydCBcInNldHRpbmdzXCI7XG5cbkBpbmNsdWRlIGZvdW5kYXRpb24tZXZlcnl0aGluZztcbkBpbmNsdWRlIGZvdW5kYXRpb24tZmxleC1jbGFzc2VzO1xuQGluY2x1ZGUgZm91bmRhdGlvbi1mbGV4LWdyaWQ7XG5cbi8vcHVsbCBpbiBkdS1zcGVjaWZpYyBzY3NzIHRoYXQgaXMgbm90IGluIHRoZSBwYXR0ZXJucyBkaXJcblxuQGltcG9ydCBcIi9ob21lL3RyYXZpcy9idWlsZC9Vbml2ZXJzaXR5LW9mLURlbnZlci9kdS1hY3NmL2RvY3Jvb3QvdGhlbWVzL2N1c3RvbS9wbF9kcnVwYWwvZHUtcmVzb3VyY2VzL2Jhc2UvZm9udGVsbG8uc2Nzc1wiO1xuQGltcG9ydCBcIi9ob21lL3RyYXZpcy9idWlsZC9Vbml2ZXJzaXR5LW9mLURlbnZlci9kdS1hY3NmL2RvY3Jvb3QvdGhlbWVzL2N1c3RvbS9wbF9kcnVwYWwvZHUtcmVzb3VyY2VzL2Jhc2UvdHlwb2dyYXBoeS5zY3NzXCI7XG5AaW1wb3J0IFwiL2hvbWUvdHJhdmlzL2J1aWxkL1VuaXZlcnNpdHktb2YtRGVudmVyL2R1LWFjc2YvZG9jcm9vdC90aGVtZXMvY3VzdG9tL3BsX2RydXBhbC9kdS1yZXNvdXJjZXMvb3ZlcnJpZGVzL19mb250ZmFjZS5zY3NzXCI7XG5AaW1wb3J0IFwiL2hvbWUvdHJhdmlzL2J1aWxkL1VuaXZlcnNpdHktb2YtRGVudmVyL2R1LWFjc2YvZG9jcm9vdC90aGVtZXMvY3VzdG9tL3BsX2RydXBhbC9kdS1yZXNvdXJjZXMvb3ZlcnJpZGVzL2FjYWRlbWljLXByb2dyYW1zLnNjc3NcIjtcbkBpbXBvcnQgXCIvaG9tZS90cmF2aXMvYnVpbGQvVW5pdmVyc2l0eS1vZi1EZW52ZXIvZHUtYWNzZi9kb2Nyb290L3RoZW1lcy9jdXN0b20vcGxfZHJ1cGFsL2R1LXJlc291cmNlcy9vdmVycmlkZXMvYWRtaXNzaW9uLXN0ZXBzLnNjc3NcIjtcbkBpbXBvcnQgXCIvaG9tZS90cmF2aXMvYnVpbGQvVW5pdmVyc2l0eS1vZi1EZW52ZXIvZHUtYWNzZi9kb2Nyb290L3RoZW1lcy9jdXN0b20vcGxfZHJ1cGFsL2R1LXJlc291cmNlcy9vdmVycmlkZXMvYWxlcnQuc2Nzc1wiO1xuQGltcG9ydCBcIi9ob21lL3RyYXZpcy9idWlsZC9Vbml2ZXJzaXR5LW9mLURlbnZlci9kdS1hY3NmL2RvY3Jvb3QvdGhlbWVzL2N1c3RvbS9wbF9kcnVwYWwvZHUtcmVzb3VyY2VzL292ZXJyaWRlcy9hcHBsaWNhdGlvbi1jYXJkcy5zY3NzXCI7XG5AaW1wb3J0IFwiL2hvbWUvdHJhdmlzL2J1aWxkL1VuaXZlcnNpdHktb2YtRGVudmVyL2R1LWFjc2YvZG9jcm9vdC90aGVtZXMvY3VzdG9tL3BsX2RydXBhbC9kdS1yZXNvdXJjZXMvb3ZlcnJpZGVzL2FydGljbGUtbGlzdC5zY3NzXCI7XG5AaW1wb3J0IFwiL2hvbWUvdHJhdmlzL2J1aWxkL1VuaXZlcnNpdHktb2YtRGVudmVyL2R1LWFjc2YvZG9jcm9vdC90aGVtZXMvY3VzdG9tL3BsX2RydXBhbC9kdS1yZXNvdXJjZXMvb3ZlcnJpZGVzL2FydGljbGUtdGVhc2VyLnNjc3NcIjtcbkBpbXBvcnQgXCIvaG9tZS90cmF2aXMvYnVpbGQvVW5pdmVyc2l0eS1vZi1EZW52ZXIvZHUtYWNzZi9kb2Nyb290L3RoZW1lcy9jdXN0b20vcGxfZHJ1cGFsL2R1LXJlc291cmNlcy9vdmVycmlkZXMvYXJ0aWNsZS5zY3NzXCI7XG5AaW1wb3J0IFwiL2hvbWUvdHJhdmlzL2J1aWxkL1VuaXZlcnNpdHktb2YtRGVudmVyL2R1LWFjc2YvZG9jcm9vdC90aGVtZXMvY3VzdG9tL3BsX2RydXBhbC9kdS1yZXNvdXJjZXMvb3ZlcnJpZGVzL2F1dGhvci5zY3NzXCI7XG5AaW1wb3J0IFwiL2hvbWUvdHJhdmlzL2J1aWxkL1VuaXZlcnNpdHktb2YtRGVudmVyL2R1LWFjc2YvZG9jcm9vdC90aGVtZXMvY3VzdG9tL3BsX2RydXBhbC9kdS1yZXNvdXJjZXMvb3ZlcnJpZGVzL2Jsb2NrcXVvdGUuc2Nzc1wiO1xuQGltcG9ydCBcIi9ob21lL3RyYXZpcy9idWlsZC9Vbml2ZXJzaXR5LW9mLURlbnZlci9kdS1hY3NmL2RvY3Jvb3QvdGhlbWVzL2N1c3RvbS9wbF9kcnVwYWwvZHUtcmVzb3VyY2VzL292ZXJyaWRlcy9jYXB0aW9uZWQtaW1hZ2Uuc2Nzc1wiO1xuQGltcG9ydCBcIi9ob21lL3RyYXZpcy9idWlsZC9Vbml2ZXJzaXR5LW9mLURlbnZlci9kdS1hY3NmL2RvY3Jvb3QvdGhlbWVzL2N1c3RvbS9wbF9kcnVwYWwvZHUtcmVzb3VyY2VzL292ZXJyaWRlcy9jYXJkLWxpc3QtbW9kdWxlLnNjc3NcIjtcbkBpbXBvcnQgXCIvaG9tZS90cmF2aXMvYnVpbGQvVW5pdmVyc2l0eS1vZi1EZW52ZXIvZHUtYWNzZi9kb2Nyb290L3RoZW1lcy9jdXN0b20vcGxfZHJ1cGFsL2R1LXJlc291cmNlcy9vdmVycmlkZXMvY2FyZHMuc2Nzc1wiO1xuQGltcG9ydCBcIi9ob21lL3RyYXZpcy9idWlsZC9Vbml2ZXJzaXR5LW9mLURlbnZlci9kdS1hY3NmL2RvY3Jvb3QvdGhlbWVzL2N1c3RvbS9wbF9kcnVwYWwvZHUtcmVzb3VyY2VzL292ZXJyaWRlcy9jYXRlZ29yeS1saXN0LnNjc3NcIjtcbkBpbXBvcnQgXCIvaG9tZS90cmF2aXMvYnVpbGQvVW5pdmVyc2l0eS1vZi1EZW52ZXIvZHUtYWNzZi9kb2Nyb290L3RoZW1lcy9jdXN0b20vcGxfZHJ1cGFsL2R1LXJlc291cmNlcy9vdmVycmlkZXMvY29udGFjdC1zaW5nbGUuc2Nzc1wiO1xuQGltcG9ydCBcIi9ob21lL3RyYXZpcy9idWlsZC9Vbml2ZXJzaXR5LW9mLURlbnZlci9kdS1hY3NmL2RvY3Jvb3QvdGhlbWVzL2N1c3RvbS9wbF9kcnVwYWwvZHUtcmVzb3VyY2VzL292ZXJyaWRlcy9jb250YWN0cy5zY3NzXCI7XG5AaW1wb3J0IFwiL2hvbWUvdHJhdmlzL2J1aWxkL1VuaXZlcnNpdHktb2YtRGVudmVyL2R1LWFjc2YvZG9jcm9vdC90aGVtZXMvY3VzdG9tL3BsX2RydXBhbC9kdS1yZXNvdXJjZXMvb3ZlcnJpZGVzL2NvbnRlbnQtZWxlbWVudHMuc2Nzc1wiO1xuQGltcG9ydCBcIi9ob21lL3RyYXZpcy9idWlsZC9Vbml2ZXJzaXR5LW9mLURlbnZlci9kdS1hY3NmL2RvY3Jvb3QvdGhlbWVzL2N1c3RvbS9wbF9kcnVwYWwvZHUtcmVzb3VyY2VzL292ZXJyaWRlcy9jb3B5LnNjc3NcIjtcbkBpbXBvcnQgXCIvaG9tZS90cmF2aXMvYnVpbGQvVW5pdmVyc2l0eS1vZi1EZW52ZXIvZHUtYWNzZi9kb2Nyb290L3RoZW1lcy9jdXN0b20vcGxfZHJ1cGFsL2R1LXJlc291cmNlcy9vdmVycmlkZXMvY3RhLWlubGluZS5zY3NzXCI7XG5AaW1wb3J0IFwiL2hvbWUvdHJhdmlzL2J1aWxkL1VuaXZlcnNpdHktb2YtRGVudmVyL2R1LWFjc2YvZG9jcm9vdC90aGVtZXMvY3VzdG9tL3BsX2RydXBhbC9kdS1yZXNvdXJjZXMvb3ZlcnJpZGVzL2N0YS5zY3NzXCI7XG5AaW1wb3J0IFwiL2hvbWUvdHJhdmlzL2J1aWxkL1VuaXZlcnNpdHktb2YtRGVudmVyL2R1LWFjc2YvZG9jcm9vdC90aGVtZXMvY3VzdG9tL3BsX2RydXBhbC9kdS1yZXNvdXJjZXMvb3ZlcnJpZGVzL2Ryb3Bkb3duLXZpZGVvLnNjc3NcIjtcbkBpbXBvcnQgXCIvaG9tZS90cmF2aXMvYnVpbGQvVW5pdmVyc2l0eS1vZi1EZW52ZXIvZHUtYWNzZi9kb2Nyb290L3RoZW1lcy9jdXN0b20vcGxfZHJ1cGFsL2R1LXJlc291cmNlcy9vdmVycmlkZXMvZHJ1cGFsLnNjc3NcIjtcbkBpbXBvcnQgXCIvaG9tZS90cmF2aXMvYnVpbGQvVW5pdmVyc2l0eS1vZi1EZW52ZXIvZHUtYWNzZi9kb2Nyb290L3RoZW1lcy9jdXN0b20vcGxfZHJ1cGFsL2R1LXJlc291cmNlcy9vdmVycmlkZXMvZHUtbmV3cy5zY3NzXCI7XG5AaW1wb3J0IFwiL2hvbWUvdHJhdmlzL2J1aWxkL1VuaXZlcnNpdHktb2YtRGVudmVyL2R1LWFjc2YvZG9jcm9vdC90aGVtZXMvY3VzdG9tL3BsX2RydXBhbC9kdS1yZXNvdXJjZXMvb3ZlcnJpZGVzL2V2ZW50LWNhcmQuc2Nzc1wiO1xuQGltcG9ydCBcIi9ob21lL3RyYXZpcy9idWlsZC9Vbml2ZXJzaXR5LW9mLURlbnZlci9kdS1hY3NmL2RvY3Jvb3QvdGhlbWVzL2N1c3RvbS9wbF9kcnVwYWwvZHUtcmVzb3VyY2VzL292ZXJyaWRlcy9ldmVudHMuc2Nzc1wiO1xuQGltcG9ydCBcIi9ob21lL3RyYXZpcy9idWlsZC9Vbml2ZXJzaXR5LW9mLURlbnZlci9kdS1hY3NmL2RvY3Jvb3QvdGhlbWVzL2N1c3RvbS9wbF9kcnVwYWwvZHUtcmVzb3VyY2VzL292ZXJyaWRlcy9leGFtcGxlLWNsYXNzZXMuc2Nzc1wiO1xuQGltcG9ydCBcIi9ob21lL3RyYXZpcy9idWlsZC9Vbml2ZXJzaXR5LW9mLURlbnZlci9kdS1hY3NmL2RvY3Jvb3QvdGhlbWVzL2N1c3RvbS9wbF9kcnVwYWwvZHUtcmVzb3VyY2VzL292ZXJyaWRlcy9leHBlcnQtbGlzdC1pdGVtLnNjc3NcIjtcbkBpbXBvcnQgXCIvaG9tZS90cmF2aXMvYnVpbGQvVW5pdmVyc2l0eS1vZi1EZW52ZXIvZHUtYWNzZi9kb2Nyb290L3RoZW1lcy9jdXN0b20vcGxfZHJ1cGFsL2R1LXJlc291cmNlcy9vdmVycmlkZXMvZmVhdHVyZS12aWRlby5zY3NzXCI7XG5AaW1wb3J0IFwiL2hvbWUvdHJhdmlzL2J1aWxkL1VuaXZlcnNpdHktb2YtRGVudmVyL2R1LWFjc2YvZG9jcm9vdC90aGVtZXMvY3VzdG9tL3BsX2RydXBhbC9kdS1yZXNvdXJjZXMvb3ZlcnJpZGVzL2ZvbnRzLnNjc3NcIjtcbkBpbXBvcnQgXCIvaG9tZS90cmF2aXMvYnVpbGQvVW5pdmVyc2l0eS1vZi1EZW52ZXIvZHUtYWNzZi9kb2Nyb290L3RoZW1lcy9jdXN0b20vcGxfZHJ1cGFsL2R1LXJlc291cmNlcy9vdmVycmlkZXMvZm9vdGVyLnNjc3NcIjtcbkBpbXBvcnQgXCIvaG9tZS90cmF2aXMvYnVpbGQvVW5pdmVyc2l0eS1vZi1EZW52ZXIvZHUtYWNzZi9kb2Nyb290L3RoZW1lcy9jdXN0b20vcGxfZHJ1cGFsL2R1LXJlc291cmNlcy9vdmVycmlkZXMvZm9ybXMuc2Nzc1wiO1xuQGltcG9ydCBcIi9ob21lL3RyYXZpcy9idWlsZC9Vbml2ZXJzaXR5LW9mLURlbnZlci9kdS1hY3NmL2RvY3Jvb3QvdGhlbWVzL2N1c3RvbS9wbF9kcnVwYWwvZHUtcmVzb3VyY2VzL292ZXJyaWRlcy9mb3VuZGF0aW9uLWV4dC5zY3NzXCI7XG5AaW1wb3J0IFwiL2hvbWUvdHJhdmlzL2J1aWxkL1VuaXZlcnNpdHktb2YtRGVudmVyL2R1LWFjc2YvZG9jcm9vdC90aGVtZXMvY3VzdG9tL3BsX2RydXBhbC9kdS1yZXNvdXJjZXMvb3ZlcnJpZGVzL2hlcm8tbWVkaWEtaXRlbXMuc2Nzc1wiO1xuQGltcG9ydCBcIi9ob21lL3RyYXZpcy9idWlsZC9Vbml2ZXJzaXR5LW9mLURlbnZlci9kdS1hY3NmL2RvY3Jvb3QvdGhlbWVzL2N1c3RvbS9wbF9kcnVwYWwvZHUtcmVzb3VyY2VzL292ZXJyaWRlcy9oZXJvLW1lZGlhLnNjc3NcIjtcbkBpbXBvcnQgXCIvaG9tZS90cmF2aXMvYnVpbGQvVW5pdmVyc2l0eS1vZi1EZW52ZXIvZHUtYWNzZi9kb2Nyb290L3RoZW1lcy9jdXN0b20vcGxfZHJ1cGFsL2R1LXJlc291cmNlcy9vdmVycmlkZXMvaG9tZS5zY3NzXCI7XG5AaW1wb3J0IFwiL2hvbWUvdHJhdmlzL2J1aWxkL1VuaXZlcnNpdHktb2YtRGVudmVyL2R1LWFjc2YvZG9jcm9vdC90aGVtZXMvY3VzdG9tL3BsX2RydXBhbC9kdS1yZXNvdXJjZXMvb3ZlcnJpZGVzL2ltYWdlLXdpdGgtY2FwdGlvbi5zY3NzXCI7XG5AaW1wb3J0IFwiL2hvbWUvdHJhdmlzL2J1aWxkL1VuaXZlcnNpdHktb2YtRGVudmVyL2R1LWFjc2YvZG9jcm9vdC90aGVtZXMvY3VzdG9tL3BsX2RydXBhbC9kdS1yZXNvdXJjZXMvb3ZlcnJpZGVzL2luZm9ybWF0aW9uLW92ZXJ2aWV3LnNjc3NcIjtcbkBpbXBvcnQgXCIvaG9tZS90cmF2aXMvYnVpbGQvVW5pdmVyc2l0eS1vZi1EZW52ZXIvZHUtYWNzZi9kb2Nyb290L3RoZW1lcy9jdXN0b20vcGxfZHJ1cGFsL2R1LXJlc291cmNlcy9vdmVycmlkZXMva2V5LWZhY3VsdHkuc2Nzc1wiO1xuQGltcG9ydCBcIi9ob21lL3RyYXZpcy9idWlsZC9Vbml2ZXJzaXR5LW9mLURlbnZlci9kdS1hY3NmL2RvY3Jvb3QvdGhlbWVzL2N1c3RvbS9wbF9kcnVwYWwvZHUtcmVzb3VyY2VzL292ZXJyaWRlcy9sYXJnZS1pbWFnZS5zY3NzXCI7XG5AaW1wb3J0IFwiL2hvbWUvdHJhdmlzL2J1aWxkL1VuaXZlcnNpdHktb2YtRGVudmVyL2R1LWFjc2YvZG9jcm9vdC90aGVtZXMvY3VzdG9tL3BsX2RydXBhbC9kdS1yZXNvdXJjZXMvb3ZlcnJpZGVzL2xheW91dC5zY3NzXCI7XG5AaW1wb3J0IFwiL2hvbWUvdHJhdmlzL2J1aWxkL1VuaXZlcnNpdHktb2YtRGVudmVyL2R1LWFjc2YvZG9jcm9vdC90aGVtZXMvY3VzdG9tL3BsX2RydXBhbC9kdS1yZXNvdXJjZXMvb3ZlcnJpZGVzL2xpc3QtZmlsdGVyLnNjc3NcIjtcbkBpbXBvcnQgXCIvaG9tZS90cmF2aXMvYnVpbGQvVW5pdmVyc2l0eS1vZi1EZW52ZXIvZHUtYWNzZi9kb2Nyb290L3RoZW1lcy9jdXN0b20vcGxfZHJ1cGFsL2R1LXJlc291cmNlcy9vdmVycmlkZXMvbGlzdC1wYWdlci5zY3NzXCI7XG5AaW1wb3J0IFwiL2hvbWUvdHJhdmlzL2J1aWxkL1VuaXZlcnNpdHktb2YtRGVudmVyL2R1LWFjc2YvZG9jcm9vdC90aGVtZXMvY3VzdG9tL3BsX2RydXBhbC9kdS1yZXNvdXJjZXMvb3ZlcnJpZGVzL21lZ2EtZmx5b3V0LnNjc3NcIjtcbkBpbXBvcnQgXCIvaG9tZS90cmF2aXMvYnVpbGQvVW5pdmVyc2l0eS1vZi1EZW52ZXIvZHUtYWNzZi9kb2Nyb290L3RoZW1lcy9jdXN0b20vcGxfZHJ1cGFsL2R1LXJlc291cmNlcy9vdmVycmlkZXMvbWluaS1ldmVudC1mZWVkLnNjc3NcIjtcbkBpbXBvcnQgXCIvaG9tZS90cmF2aXMvYnVpbGQvVW5pdmVyc2l0eS1vZi1EZW52ZXIvZHUtYWNzZi9kb2Nyb290L3RoZW1lcy9jdXN0b20vcGxfZHJ1cGFsL2R1LXJlc291cmNlcy9vdmVycmlkZXMvbW9kYWwuc2Nzc1wiO1xuQGltcG9ydCBcIi9ob21lL3RyYXZpcy9idWlsZC9Vbml2ZXJzaXR5LW9mLURlbnZlci9kdS1hY3NmL2RvY3Jvb3QvdGhlbWVzL2N1c3RvbS9wbF9kcnVwYWwvZHUtcmVzb3VyY2VzL292ZXJyaWRlcy9uZXdzcm9vbS5zY3NzXCI7XG5AaW1wb3J0IFwiL2hvbWUvdHJhdmlzL2J1aWxkL1VuaXZlcnNpdHktb2YtRGVudmVyL2R1LWFjc2YvZG9jcm9vdC90aGVtZXMvY3VzdG9tL3BsX2RydXBhbC9kdS1yZXNvdXJjZXMvb3ZlcnJpZGVzL3BhZ2VyLnNjc3NcIjtcbkBpbXBvcnQgXCIvaG9tZS90cmF2aXMvYnVpbGQvVW5pdmVyc2l0eS1vZi1EZW52ZXIvZHUtYWNzZi9kb2Nyb290L3RoZW1lcy9jdXN0b20vcGxfZHJ1cGFsL2R1LXJlc291cmNlcy9vdmVycmlkZXMvcHJpbnQuc2Nzc1wiO1xuQGltcG9ydCBcIi9ob21lL3RyYXZpcy9idWlsZC9Vbml2ZXJzaXR5LW9mLURlbnZlci9kdS1hY3NmL2RvY3Jvb3QvdGhlbWVzL2N1c3RvbS9wbF9kcnVwYWwvZHUtcmVzb3VyY2VzL292ZXJyaWRlcy9wcm9maWxlLnNjc3NcIjtcbkBpbXBvcnQgXCIvaG9tZS90cmF2aXMvYnVpbGQvVW5pdmVyc2l0eS1vZi1EZW52ZXIvZHUtYWNzZi9kb2Nyb290L3RoZW1lcy9jdXN0b20vcGxfZHJ1cGFsL2R1LXJlc291cmNlcy9vdmVycmlkZXMvcHVzaC1tZW51LnNjc3NcIjtcbkBpbXBvcnQgXCIvaG9tZS90cmF2aXMvYnVpbGQvVW5pdmVyc2l0eS1vZi1EZW52ZXIvZHUtYWNzZi9kb2Nyb290L3RoZW1lcy9jdXN0b20vcGxfZHJ1cGFsL2R1LXJlc291cmNlcy9vdmVycmlkZXMvcXVpY2stc3RhdHMuc2Nzc1wiO1xuQGltcG9ydCBcIi9ob21lL3RyYXZpcy9idWlsZC9Vbml2ZXJzaXR5LW9mLURlbnZlci9kdS1hY3NmL2RvY3Jvb3QvdGhlbWVzL2N1c3RvbS9wbF9kcnVwYWwvZHUtcmVzb3VyY2VzL292ZXJyaWRlcy9xdW90ZXMuc2Nzc1wiO1xuQGltcG9ydCBcIi9ob21lL3RyYXZpcy9idWlsZC9Vbml2ZXJzaXR5LW9mLURlbnZlci9kdS1hY3NmL2RvY3Jvb3QvdGhlbWVzL2N1c3RvbS9wbF9kcnVwYWwvZHUtcmVzb3VyY2VzL292ZXJyaWRlcy9yZWxhdGVkLXN0b3JpZXMuc2Nzc1wiO1xuQGltcG9ydCBcIi9ob21lL3RyYXZpcy9idWlsZC9Vbml2ZXJzaXR5LW9mLURlbnZlci9kdS1hY3NmL2RvY3Jvb3QvdGhlbWVzL2N1c3RvbS9wbF9kcnVwYWwvZHUtcmVzb3VyY2VzL292ZXJyaWRlcy9yZXNlYXJjaC1wcm9qZWN0LXRlYXNlci5zY3NzXCI7XG5AaW1wb3J0IFwiL2hvbWUvdHJhdmlzL2J1aWxkL1VuaXZlcnNpdHktb2YtRGVudmVyL2R1LWFjc2YvZG9jcm9vdC90aGVtZXMvY3VzdG9tL3BsX2RydXBhbC9kdS1yZXNvdXJjZXMvb3ZlcnJpZGVzL3Jlc2VhcmNoLXByb2plY3Quc2Nzc1wiO1xuQGltcG9ydCBcIi9ob21lL3RyYXZpcy9idWlsZC9Vbml2ZXJzaXR5LW9mLURlbnZlci9kdS1hY3NmL2RvY3Jvb3QvdGhlbWVzL2N1c3RvbS9wbF9kcnVwYWwvZHUtcmVzb3VyY2VzL292ZXJyaWRlcy9yZXNvdXJjZS5zY3NzXCI7XG5AaW1wb3J0IFwiL2hvbWUvdHJhdmlzL2J1aWxkL1VuaXZlcnNpdHktb2YtRGVudmVyL2R1LWFjc2YvZG9jcm9vdC90aGVtZXMvY3VzdG9tL3BsX2RydXBhbC9kdS1yZXNvdXJjZXMvb3ZlcnJpZGVzL3NjaG9sYXJzaGlwLnNjc3NcIjtcbkBpbXBvcnQgXCIvaG9tZS90cmF2aXMvYnVpbGQvVW5pdmVyc2l0eS1vZi1EZW52ZXIvZHUtYWNzZi9kb2Nyb290L3RoZW1lcy9jdXN0b20vcGxfZHJ1cGFsL2R1LXJlc291cmNlcy9vdmVycmlkZXMvc2Nob29sLWxpc3Quc2Nzc1wiO1xuQGltcG9ydCBcIi9ob21lL3RyYXZpcy9idWlsZC9Vbml2ZXJzaXR5LW9mLURlbnZlci9kdS1hY3NmL2RvY3Jvb3QvdGhlbWVzL2N1c3RvbS9wbF9kcnVwYWwvZHUtcmVzb3VyY2VzL292ZXJyaWRlcy9zZWFyY2guc2Nzc1wiO1xuQGltcG9ydCBcIi9ob21lL3RyYXZpcy9idWlsZC9Vbml2ZXJzaXR5LW9mLURlbnZlci9kdS1hY3NmL2RvY3Jvb3QvdGhlbWVzL2N1c3RvbS9wbF9kcnVwYWwvZHUtcmVzb3VyY2VzL292ZXJyaWRlcy9zaGFyZWQtY29udGVudC1ibG9jay5zY3NzXCI7XG5AaW1wb3J0IFwiL2hvbWUvdHJhdmlzL2J1aWxkL1VuaXZlcnNpdHktb2YtRGVudmVyL2R1LWFjc2YvZG9jcm9vdC90aGVtZXMvY3VzdG9tL3BsX2RydXBhbC9kdS1yZXNvdXJjZXMvb3ZlcnJpZGVzL3N0b3JpZXMuc2Nzc1wiO1xuQGltcG9ydCBcIi9ob21lL3RyYXZpcy9idWlsZC9Vbml2ZXJzaXR5LW9mLURlbnZlci9kdS1hY3NmL2RvY3Jvb3QvdGhlbWVzL2N1c3RvbS9wbF9kcnVwYWwvZHUtcmVzb3VyY2VzL292ZXJyaWRlcy9zdWItbWVudS5zY3NzXCI7XG5AaW1wb3J0IFwiL2hvbWUvdHJhdmlzL2J1aWxkL1VuaXZlcnNpdHktb2YtRGVudmVyL2R1LWFjc2YvZG9jcm9vdC90aGVtZXMvY3VzdG9tL3BsX2RydXBhbC9kdS1yZXNvdXJjZXMvb3ZlcnJpZGVzL3N3YXBwaW5nLWltZy1mZWF0dXJlLnNjc3NcIjtcbkBpbXBvcnQgXCIvaG9tZS90cmF2aXMvYnVpbGQvVW5pdmVyc2l0eS1vZi1EZW52ZXIvZHUtYWNzZi9kb2Nyb290L3RoZW1lcy9jdXN0b20vcGxfZHJ1cGFsL2R1LXJlc291cmNlcy9vdmVycmlkZXMvdGVzdGltb25pYWxfc3BvdGxpZ2h0LnNjc3NcIjtcbkBpbXBvcnQgXCIvaG9tZS90cmF2aXMvYnVpbGQvVW5pdmVyc2l0eS1vZi1EZW52ZXIvZHUtYWNzZi9kb2Nyb290L3RoZW1lcy9jdXN0b20vcGxfZHJ1cGFsL2R1LXJlc291cmNlcy9vdmVycmlkZXMvdGhyZWUtY29sLWZhY3RzLnNjc3NcIjtcbkBpbXBvcnQgXCIvaG9tZS90cmF2aXMvYnVpbGQvVW5pdmVyc2l0eS1vZi1EZW52ZXIvZHUtYWNzZi9kb2Nyb290L3RoZW1lcy9jdXN0b20vcGxfZHJ1cGFsL2R1LXJlc291cmNlcy9vdmVycmlkZXMvdG9wLWJhci1tYWluLW1lbnUuc2Nzc1wiO1xuQGltcG9ydCBcIi9ob21lL3RyYXZpcy9idWlsZC9Vbml2ZXJzaXR5LW9mLURlbnZlci9kdS1hY3NmL2RvY3Jvb3QvdGhlbWVzL2N1c3RvbS9wbF9kcnVwYWwvZHUtcmVzb3VyY2VzL292ZXJyaWRlcy90d28tY29sdW1uLWNvcHkuc2Nzc1wiO1xuQGltcG9ydCBcIi9ob21lL3RyYXZpcy9idWlsZC9Vbml2ZXJzaXR5LW9mLURlbnZlci9kdS1hY3NmL2RvY3Jvb3QvdGhlbWVzL2N1c3RvbS9wbF9kcnVwYWwvZHUtcmVzb3VyY2VzL292ZXJyaWRlcy91dGlsaXR5LW1lbnUuc2Nzc1wiO1xuQGltcG9ydCBcIi9ob21lL3RyYXZpcy9idWlsZC9Vbml2ZXJzaXR5LW9mLURlbnZlci9kdS1hY3NmL2RvY3Jvb3QvdGhlbWVzL2N1c3RvbS9wbF9kcnVwYWwvZHUtcmVzb3VyY2VzL292ZXJyaWRlcy93ZWJmb3JtLnNjc3NcIjtcbkBpbXBvcnQgXCIvaG9tZS90cmF2aXMvYnVpbGQvVW5pdmVyc2l0eS1vZi1EZW52ZXIvZHUtYWNzZi9kb2Nyb290L3RoZW1lcy9jdXN0b20vcGxfZHJ1cGFsL2R1LXJlc291cmNlcy9vdmVycmlkZXMvd2lkZS1jYXJvdXNlbC5zY3NzXCI7XG5AaW1wb3J0IFwiL2hvbWUvdHJhdmlzL2J1aWxkL1VuaXZlcnNpdHktb2YtRGVudmVyL2R1LWFjc2YvZG9jcm9vdC90aGVtZXMvY3VzdG9tL3BsX2RydXBhbC9kdS1yZXNvdXJjZXMvdW5pdHMvZmlsdGVyLWJ1dHRvbi5zY3NzXCI7XG5AaW1wb3J0IFwiL2hvbWUvdHJhdmlzL2J1aWxkL1VuaXZlcnNpdHktb2YtRGVudmVyL2R1LWFjc2YvZG9jcm9vdC90aGVtZXMvY3VzdG9tL3BsX2RydXBhbC9kdS1yZXNvdXJjZXMvdW5pdHMvZm9vdGVyLXNpdGUtbGV2ZWwuc2Nzc1wiO1xuQGltcG9ydCBcIi9ob21lL3RyYXZpcy9idWlsZC9Vbml2ZXJzaXR5LW9mLURlbnZlci9kdS1hY3NmL2RvY3Jvb3QvdGhlbWVzL2N1c3RvbS9wbF9kcnVwYWwvZHUtcmVzb3VyY2VzL3VuaXRzL2dhbGxlcnkuc2Nzc1wiO1xuQGltcG9ydCBcIi9ob21lL3RyYXZpcy9idWlsZC9Vbml2ZXJzaXR5LW9mLURlbnZlci9kdS1hY3NmL2RvY3Jvb3QvdGhlbWVzL2N1c3RvbS9wbF9kcnVwYWwvZHUtcmVzb3VyY2VzL3VuaXRzL2dlbmVyaWMtdGVhc2VyLnNjc3NcIjtcbkBpbXBvcnQgXCIvaG9tZS90cmF2aXMvYnVpbGQvVW5pdmVyc2l0eS1vZi1EZW52ZXIvZHUtYWNzZi9kb2Nyb290L3RoZW1lcy9jdXN0b20vcGxfZHJ1cGFsL2R1LXJlc291cmNlcy91bml0cy9saXN0aW5nLWZpbHRlcnMuc2Nzc1wiO1xuQGltcG9ydCBcIi9ob21lL3RyYXZpcy9idWlsZC9Vbml2ZXJzaXR5LW9mLURlbnZlci9kdS1hY3NmL2RvY3Jvb3QvdGhlbWVzL2N1c3RvbS9wbF9kcnVwYWwvZHUtcmVzb3VyY2VzL3VuaXRzL3VuaXQtZ2VuZXJpYy1mbHlvdXQuc2Nzc1wiO1xuQGltcG9ydCBcIi9ob21lL3RyYXZpcy9idWlsZC9Vbml2ZXJzaXR5LW9mLURlbnZlci9kdS1hY3NmL2RvY3Jvb3QvdGhlbWVzL2N1c3RvbS9wbF9kcnVwYWwvZHUtcmVzb3VyY2VzL3VuaXRzL3VuaXQtaGVyby1tZWRpYS5zY3NzXCI7XG5AaW1wb3J0IFwiL2hvbWUvdHJhdmlzL2J1aWxkL1VuaXZlcnNpdHktb2YtRGVudmVyL2R1LWFjc2YvZG9jcm9vdC90aGVtZXMvY3VzdG9tL3BsX2RydXBhbC9kdS1yZXNvdXJjZXMvdW5pdHMvdW5pdC1saXN0aW5nLnNjc3NcIjtcbkBpbXBvcnQgXCIvaG9tZS90cmF2aXMvYnVpbGQvVW5pdmVyc2l0eS1vZi1EZW52ZXIvZHUtYWNzZi9kb2Nyb290L3RoZW1lcy9jdXN0b20vcGxfZHJ1cGFsL2R1LXJlc291cmNlcy91bml0cy91bml0LW5hdi1iYWNrLnNjc3NcIjtcbkBpbXBvcnQgXCIvaG9tZS90cmF2aXMvYnVpbGQvVW5pdmVyc2l0eS1vZi1EZW52ZXIvZHUtYWNzZi9kb2Nyb290L3RoZW1lcy9jdXN0b20vcGxfZHJ1cGFsL2R1LXJlc291cmNlcy91bml0cy91bml0LW5hdi1jbG9zZS5zY3NzXCI7XG5AaW1wb3J0IFwiL2hvbWUvdHJhdmlzL2J1aWxkL1VuaXZlcnNpdHktb2YtRGVudmVyL2R1LWFjc2YvZG9jcm9vdC90aGVtZXMvY3VzdG9tL3BsX2RydXBhbC9kdS1yZXNvdXJjZXMvdW5pdHMvdW5pdC1yZXNvdXJjZXMuc2Nzc1wiO1xuQGltcG9ydCBcIi9ob21lL3RyYXZpcy9idWlsZC9Vbml2ZXJzaXR5LW9mLURlbnZlci9kdS1hY3NmL2RvY3Jvb3QvdGhlbWVzL2N1c3RvbS9wbF9kcnVwYWwvZHUtcmVzb3VyY2VzL3VuaXRzL3VuaXQtc2VhcmNoLWZvcm0uc2Nzc1wiO1xuQGltcG9ydCBcIi9ob21lL3RyYXZpcy9idWlsZC9Vbml2ZXJzaXR5LW9mLURlbnZlci9kdS1hY3NmL2RvY3Jvb3QvdGhlbWVzL2N1c3RvbS9wbF9kcnVwYWwvZHUtcmVzb3VyY2VzL3VuaXRzL3VuaXQtc2l0ZS1jYXJvdXNlbC5zY3NzXCI7XG5AaW1wb3J0IFwiL2hvbWUvdHJhdmlzL2J1aWxkL1VuaXZlcnNpdHktb2YtRGVudmVyL2R1LWFjc2YvZG9jcm9vdC90aGVtZXMvY3VzdG9tL3BsX2RydXBhbC9kdS1yZXNvdXJjZXMvdW5pdHMvdW5pdC1zaXRlcy1saXN0LnNjc3NcIjtcbkBpbXBvcnQgXCIvaG9tZS90cmF2aXMvYnVpbGQvVW5pdmVyc2l0eS1vZi1EZW52ZXIvZHUtYWNzZi9kb2Nyb290L3RoZW1lcy9jdXN0b20vcGxfZHJ1cGFsL2R1LXJlc291cmNlcy91bml0cy91bml0LXRvcC1iYXItbWFpbi1tZW51LnNjc3NcIjtcbkBpbXBvcnQgXCIvaG9tZS90cmF2aXMvYnVpbGQvVW5pdmVyc2l0eS1vZi1EZW52ZXIvZHUtYWNzZi9kb2Nyb290L3RoZW1lcy9jdXN0b20vcGxfZHJ1cGFsL2R1LXJlc291cmNlcy91bml0cy91bml0LXV0aWxpdHktbWVudS5zY3NzXCI7XG5cbi8vIFJ1biB0aHJvdWdoIHRoZSBlbnRpcmUgcGF0dGVybnMgY29sbGVjdGlvbiwgZmluZGluZyBhbGwgc2NzcyBmaWxlcyBpbmNsdWRlZCB0aGVyZWluXG4vLyBAaW1wb3J0IFwiLi4vc291cmNlLyoqLyouc2Nzc1wiO1xuIiwiJHByaW1hcnktZm9udDogXCJCcmV2ZVNhbnNcIiwgc2Fucy1zZXJpZjtcbiRhY2NlbnQtZm9udDogXCJCcmV2ZVRleHRcIiwgc2Fucy1zZXJpZjtcbiRoZWFkbGluZS1mb250OiBcIkJyZXZlU2xhYlRpdGxlXCIsIHNhbnMtc2VyaWY7XG4kY3RhLWZvbnQ6IFwiQWN0b1wiLCBzYW5zLXNlcmlmO1xuJGljb24tZm9udDogXCJGb250ZWxsb1wiO1xuXG4kYnJldmUtZGlzcGxheTogXCJCcmV2ZURpc3BsYXlcIiwgc2Fucy1zZXJpZjtcblxuJHByaW1hcnktY29sb3ItMTogIzU2MGQyMDtcbiRwcmltYXJ5LWNvbG9yLTI6ICM3NjA2MjY7XG4kcHJpbWFyeS1jb2xvci0zOiAjOTgwMTJlO1xuJHByaW1hcnktY29sb3ItNDogIzk2MjczMztcbiRwcmltYXJ5LWNvbG9yLTU6ICNjNjQwM2Q7XG4kcHJpbWFyeS1jb2xvci02OiAjOGMyMzMyO1xuJHNlY29uZGFyeS1jb2xvci0xOiAjNzY1YjNhO1xuJHNlY29uZGFyeS1jb2xvci0yOiAjOGI2ZTRhO1xuJHNlY29uZGFyeS1jb2xvci0zOiAjYjhhMTYyO1xuJHNlY29uZGFyeS1jb2xvci00OiAjZWJkNWFiO1xuJHNlY29uZGFyeS1jb2xvci01OiAjYzJiODlkO1xuJHNlY29uZGFyeS1jb2xvci02OiAjOWYwNDJkO1xuJHNlY29uZGFyeS1jb2xvci03OiAjMjkyODJlO1xuJG5ldXRyYWwtY29sb3ItMTogIzAwMDAwMDtcbiRuZXV0cmFsLWNvbG9yLTI6ICMxODE3MWU7XG4kbmV1dHJhbC1jb2xvci0zOiAjNTI1MjUyO1xuJG5ldXRyYWwtY29sb3ItNDogI2QxZDFkMjtcbiRuZXV0cmFsLWNvbG9yLTU6ICNlMGUwZTA7XG4kbmV1dHJhbC1jb2xvci02OiAjZjlmOWY5O1xuJG5ldXRyYWwtY29sb3ItNzogI2U5ZTllOTtcbiRuZXV0cmFsLWNvbG9yLTg6ICM4ODg4ODg7XG4kYWNjZW50LWNvbG9yLTFhOiAjMmYyNTRkO1xuJGFjY2VudC1jb2xvci0xYjogIzUzNDc3OTtcbiRhY2NlbnQtY29sb3ItMWM6ICM2ZDYxOTE7XG4kYWNjZW50LWNvbG9yLTJhOiAjMDMzYjRhO1xuJGFjY2VudC1jb2xvci0yYjogIzA1NjM3YjtcbiRhY2NlbnQtY29sb3ItMmM6ICMyMDkwYWM7XG4kYWNjZW50LWNvbG9yLTNhOiAjNTA2MTIxO1xuJGFjY2VudC1jb2xvci0zYjogIzdhOTAzMjtcbiRhY2NlbnQtY29sb3ItM2M6ICM5YWE3NmY7XG5cbiR1bml0LWFjY2VudC1jb2xvci10ZWFsOiAjMTI2Mzc5O1xuJHVuaXQtYWNjZW50LWNvbG9yLXB1cnBsZTogIzU0NDk3NjtcbiR1bml0LWFjY2VudC1jb2xvci1ncmVlbjogIzU4NmIyYztcbiR1bml0LWFjY2VudC1jb2xvci1nb2xkOiAjOGM3ODQ2O1xuJHVuaXQtYWNjZW50LWNvbG9yLWdyZXk6ICM1MzUzNTM7XG4kdW5pdC1hY2NlbnQtY29sb3ItcmVkOiAjOTYwZTMzO1xuXG4iLCIvKipcbiAqIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbiAqIFZlcnNpb24gNi40LjNcbiAqIGZvdW5kYXRpb24uenVyYi5jb21cbiAqIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuICovXG5cbi8vIERlcGVuZGVuY2llc1xuQGltcG9ydCAnLi4vX3ZlbmRvci9ub3JtYWxpemUtc2Nzcy9zYXNzL25vcm1hbGl6ZSc7XG5AaW1wb3J0ICcuLi9fdmVuZG9yL3Nhc3N5LWxpc3RzL3N0eWxlc2hlZXRzL2hlbHBlcnMvbWlzc2luZy1kZXBlbmRlbmNpZXMnO1xuQGltcG9ydCAnLi4vX3ZlbmRvci9zYXNzeS1saXN0cy9zdHlsZXNoZWV0cy9oZWxwZXJzL3RydWUnO1xuQGltcG9ydCAnLi4vX3ZlbmRvci9zYXNzeS1saXN0cy9zdHlsZXNoZWV0cy9mdW5jdGlvbnMvY29udGFpbic7XG5AaW1wb3J0ICcuLi9fdmVuZG9yL3Nhc3N5LWxpc3RzL3N0eWxlc2hlZXRzL2Z1bmN0aW9ucy9wdXJnZSc7XG5AaW1wb3J0ICcuLi9fdmVuZG9yL3Nhc3N5LWxpc3RzL3N0eWxlc2hlZXRzL2Z1bmN0aW9ucy9yZW1vdmUnO1xuQGltcG9ydCAnLi4vX3ZlbmRvci9zYXNzeS1saXN0cy9zdHlsZXNoZWV0cy9mdW5jdGlvbnMvcmVwbGFjZSc7XG5AaW1wb3J0ICcuLi9fdmVuZG9yL3Nhc3N5LWxpc3RzL3N0eWxlc2hlZXRzL2Z1bmN0aW9ucy90by1saXN0JztcblxuLy8gU2V0dGluZ3Ncbi8vIGltcG9ydCB5b3VyIG93biBgc2V0dGluZ3NgIGhlcmUgb3Jcbi8vIGltcG9ydCBhbmQgbW9kaWZ5IHRoZSBkZWZhdWx0IHNldHRpbmdzIHRocm91Z2hcbi8vIEBpbXBvcnQgJ3NldHRpbmdzL3NldHRpbmdzJztcblxuLy8gU2FzcyB1dGlsaXRpZXNcbkBpbXBvcnQgJ3V0aWwvdXRpbCc7XG5cbi8vIEdsb2JhbCB2YXJpYWJsZXMgYW5kIHN0eWxlc1xuQGltcG9ydCAnZ2xvYmFsJztcblxuLy8gQ29tcG9uZW50c1xuQGltcG9ydCAnZ3JpZC9ncmlkJztcbkBpbXBvcnQgJ3h5LWdyaWQveHktZ3JpZCc7XG5AaW1wb3J0ICd0eXBvZ3JhcGh5L3R5cG9ncmFwaHknO1xuQGltcG9ydCAnZm9ybXMvZm9ybXMnO1xuQGltcG9ydCAnY29tcG9uZW50cy92aXNpYmlsaXR5JztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvZmxvYXQnO1xuQGltcG9ydCAnY29tcG9uZW50cy9idXR0b24nO1xuQGltcG9ydCAnY29tcG9uZW50cy9idXR0b24tZ3JvdXAnO1xuQGltcG9ydCAnY29tcG9uZW50cy9hY2NvcmRpb24tbWVudSc7XG5AaW1wb3J0ICdjb21wb25lbnRzL2FjY29yZGlvbic7XG5AaW1wb3J0ICdjb21wb25lbnRzL2JhZGdlJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvYnJlYWRjcnVtYnMnO1xuQGltcG9ydCAnY29tcG9uZW50cy9jYWxsb3V0JztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvY2FyZCc7XG5AaW1wb3J0ICdjb21wb25lbnRzL2Nsb3NlLWJ1dHRvbic7XG5AaW1wb3J0ICdjb21wb25lbnRzL2RyaWxsZG93bic7XG5AaW1wb3J0ICdjb21wb25lbnRzL2Ryb3Bkb3duLW1lbnUnO1xuQGltcG9ydCAnY29tcG9uZW50cy9kcm9wZG93bic7XG5AaW1wb3J0ICdjb21wb25lbnRzL2ZsZXgnO1xuQGltcG9ydCAnY29tcG9uZW50cy9yZXNwb25zaXZlLWVtYmVkJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvbGFiZWwnO1xuQGltcG9ydCAnY29tcG9uZW50cy9tZWRpYS1vYmplY3QnO1xuQGltcG9ydCAnY29tcG9uZW50cy9tZW51JztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvbWVudS1pY29uJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvb2ZmLWNhbnZhcyc7XG5AaW1wb3J0ICdjb21wb25lbnRzL29yYml0JztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvcGFnaW5hdGlvbic7XG5AaW1wb3J0ICdjb21wb25lbnRzL3Byb2dyZXNzLWJhcic7XG5AaW1wb3J0ICdjb21wb25lbnRzL3JldmVhbCc7XG5AaW1wb3J0ICdjb21wb25lbnRzL3NsaWRlcic7XG5AaW1wb3J0ICdjb21wb25lbnRzL3N0aWNreSc7XG5AaW1wb3J0ICdjb21wb25lbnRzL3N3aXRjaCc7XG5AaW1wb3J0ICdjb21wb25lbnRzL3RhYmxlJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvdGFicyc7XG5AaW1wb3J0ICdjb21wb25lbnRzL3RpdGxlLWJhcic7XG5AaW1wb3J0ICdjb21wb25lbnRzL3RvcC1iYXInO1xuQGltcG9ydCAnY29tcG9uZW50cy90aHVtYm5haWwnO1xuQGltcG9ydCAnY29tcG9uZW50cy90b29sdGlwJztcbkBpbXBvcnQgJ3Byb3RvdHlwZS9wcm90b3R5cGUnO1xuXG5AbWl4aW4gZm91bmRhdGlvbi1ldmVyeXRoaW5nKFxuICAkZmxleDogdHJ1ZSxcbiAgJHByb3RvdHlwZTogZmFsc2Vcbikge1xuICBAaWYgJGZsZXgge1xuICAgICRnbG9iYWwtZmxleGJveDogdHJ1ZSAhZ2xvYmFsO1xuICB9XG5cbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1nbG9iYWwtc3R5bGVzO1xuICBAaWYgbm90ICRmbGV4IHtcbiAgICBAaW5jbHVkZSBmb3VuZGF0aW9uLWdyaWQ7XG4gIH1cbiAgQGVsc2Uge1xuICAgIEBpZiAkeHktZ3JpZCB7XG4gICAgICBAaW5jbHVkZSBmb3VuZGF0aW9uLXh5LWdyaWQtY2xhc3NlcztcbiAgICB9XG4gICAgQGVsc2Uge1xuICAgICAgQGluY2x1ZGUgZm91bmRhdGlvbi1mbGV4LWdyaWQ7XG4gICAgfVxuICB9XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tdHlwb2dyYXBoeTtcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1mb3JtcztcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1idXR0b247XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tYWNjb3JkaW9uO1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLWFjY29yZGlvbi1tZW51O1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLWJhZGdlO1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLWJyZWFkY3J1bWJzO1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLWJ1dHRvbi1ncm91cDtcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1jYWxsb3V0O1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLWNhcmQ7XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tY2xvc2UtYnV0dG9uO1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLW1lbnU7XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tbWVudS1pY29uO1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLWRyaWxsZG93bi1tZW51O1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLWRyb3Bkb3duO1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLWRyb3Bkb3duLW1lbnU7XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tcmVzcG9uc2l2ZS1lbWJlZDtcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1sYWJlbDtcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1tZWRpYS1vYmplY3Q7XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tb2ZmLWNhbnZhcztcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1vcmJpdDtcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1wYWdpbmF0aW9uO1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLXByb2dyZXNzLWJhcjtcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1zbGlkZXI7XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tc3RpY2t5O1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLXJldmVhbDtcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1zd2l0Y2g7XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tdGFibGU7XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tdGFicztcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi10aHVtYm5haWw7XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tdGl0bGUtYmFyO1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLXRvb2x0aXA7XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tdG9wLWJhcjtcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi12aXNpYmlsaXR5LWNsYXNzZXM7XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tZmxvYXQtY2xhc3NlcztcblxuICBAaWYgJGZsZXgge1xuICAgIEBpbmNsdWRlIGZvdW5kYXRpb24tZmxleC1jbGFzc2VzO1xuICB9XG5cbiAgQGlmICRwcm90b3R5cGUge1xuICAgIEBpbmNsdWRlIGZvdW5kYXRpb24tcHJvdG90eXBlLWNsYXNzZXM7XG4gIH1cbn1cbiIsIkBpbXBvcnQgJ25vcm1hbGl6ZS92YXJpYWJsZXMnO1xuQGltcG9ydCAnbm9ybWFsaXplL3ZlcnRpY2FsLXJoeXRobSc7XG5AaW1wb3J0ICdub3JtYWxpemUvbm9ybWFsaXplLW1peGluJztcbiIsIi8vXG4vLyBWYXJpYWJsZXNcbi8vXG4vLyBZb3UgY2FuIG92ZXJyaWRlIHRoZSBkZWZhdWx0IHZhbHVlcyBieSBzZXR0aW5nIHRoZSB2YXJpYWJsZXMgaW4geW91ciBTYXNzXG4vLyBiZWZvcmUgaW1wb3J0aW5nIHRoZSBub3JtYWxpemUtc2NzcyBsaWJyYXJ5LlxuXG4vLyBUaGUgZm9udCBzaXplIHNldCBvbiB0aGUgcm9vdCBodG1sIGVsZW1lbnQuXG4kYmFzZS1mb250LXNpemU6IDE2cHggIWRlZmF1bHQ7XG5cbi8vIFRoZSBiYXNlIGxpbmUgaGVpZ2h0IGRldGVybWluZXMgdGhlIGJhc2ljIHVuaXQgb2YgdmVydGljYWwgcmh5dGhtLlxuJGJhc2UtbGluZS1oZWlnaHQ6IDI0cHggIWRlZmF1bHQ7XG5cbi8vIFRoZSBsZW5ndGggdW5pdCBpbiB3aGljaCB0byBvdXRwdXQgdmVydGljYWwgcmh5dGhtIHZhbHVlcy5cbi8vIFN1cHBvcnRlZCB2YWx1ZXM6IHB4LCBlbSwgcmVtLlxuJGJhc2UtdW5pdDogJ2VtJyAhZGVmYXVsdDtcblxuLy8gVGhlIGRlZmF1bHQgZm9udCBmYW1pbHkuXG4kYmFzZS1mb250LWZhbWlseTogc2Fucy1zZXJpZiAhZGVmYXVsdDtcblxuLy8gVGhlIGZvbnQgc2l6ZXMgZm9yIGgxLWg2LlxuJGgxLWZvbnQtc2l6ZTogMiAgICAqICRiYXNlLWZvbnQtc2l6ZSAhZGVmYXVsdDtcbiRoMi1mb250LXNpemU6IDEuNSAgKiAkYmFzZS1mb250LXNpemUgIWRlZmF1bHQ7XG4kaDMtZm9udC1zaXplOiAxLjE3ICogJGJhc2UtZm9udC1zaXplICFkZWZhdWx0O1xuJGg0LWZvbnQtc2l6ZTogMSAgICAqICRiYXNlLWZvbnQtc2l6ZSAhZGVmYXVsdDtcbiRoNS1mb250LXNpemU6IDAuODMgKiAkYmFzZS1mb250LXNpemUgIWRlZmF1bHQ7XG4kaDYtZm9udC1zaXplOiAwLjY3ICogJGJhc2UtZm9udC1zaXplICFkZWZhdWx0O1xuXG4vLyBUaGUgYW1vdW50IGxpc3RzIGFuZCBibG9ja3F1b3RlcyBhcmUgaW5kZW50ZWQuXG4kaW5kZW50LWFtb3VudDogNDBweCAhZGVmYXVsdDtcblxuLy8gVGhlIGZvbGxvd2luZyB2YXJpYWJsZSBjb250cm9scyB3aGV0aGVyIG5vcm1hbGl6ZS1zY3NzIHdpbGwgb3V0cHV0XG4vLyBmb250LXNpemVzLCBsaW5lLWhlaWdodHMgYW5kIGJsb2NrLWxldmVsIHRvcC9ib3R0b20gbWFyZ2lucyB0aGF0IGZvcm0gYSBiYXNpY1xuLy8gdmVydGljYWwgcmh5dGhtIG9uIHRoZSBwYWdlLCB3aGljaCBkaWZmZXJzIGZyb20gdGhlIG9yaWdpbmFsIE5vcm1hbGl6ZS5jc3MuXG4vLyBIb3dldmVyLCBjaGFuZ2luZyBhbnkgb2YgdGhlIHZhcmlhYmxlcyBhYm92ZSB3aWxsIGNhdXNlXG4vLyAkbm9ybWFsaXplLXZlcnRpY2FsLXJoeXRobSB0byBiZSBhdXRvbWF0aWNhbGx5IHNldCB0byB0cnVlLlxuJG5vcm1hbGl6ZS12ZXJ0aWNhbC1yaHl0aG06IGZhbHNlICFkZWZhdWx0O1xuIiwiLy9cbi8vIFZlcnRpY2FsIFJoeXRobVxuLy9cbi8vIFRoaXMgaXMgdGhlIG1pbmltYWwgYW1vdW50IG9mIGNvZGUgbmVlZGVkIHRvIGNyZWF0ZSB2ZXJ0aWNhbCByaHl0aG0gaW4gb3VyXG4vLyBDU1MuIElmIHlvdSBhcmUgbG9va2luZyBmb3IgYSByb2J1c3Qgc29sdXRpb24sIGxvb2sgYXQgdGhlIGV4Y2VsbGVudCBUeXBleVxuLy8gbGlicmFyeS4gQHNlZSBodHRwczovL2dpdGh1Yi5jb20vanB0YXJhbnRvL3R5cGV5XG5cbkBmdW5jdGlvbiBub3JtYWxpemUtcmh5dGhtKCR2YWx1ZSwgJHJlbGF0aXZlLXRvOiAkYmFzZS1mb250LXNpemUsICR1bml0OiAkYmFzZS11bml0KSB7XG4gIEBpZiB1bml0KCR2YWx1ZSkgIT0gcHgge1xuICAgIEBlcnJvciBcIlRoZSBub3JtYWxpemUgdmVydGljYWwtcmh5dGhtIG1vZHVsZSBvbmx5IHN1cHBvcnRzIHB4IGlucHV0cy4gVGhlIHR5cGV5IGxpYnJhcnkgaXMgYmV0dGVyLlwiO1xuICB9XG4gIEBpZiAkdW5pdCA9PSByZW0ge1xuICAgIEByZXR1cm4gKCR2YWx1ZSAvICRiYXNlLWZvbnQtc2l6ZSkgKiAxcmVtO1xuICB9XG4gIEBlbHNlIGlmICR1bml0ID09IGVtIHtcbiAgICBAcmV0dXJuICgkdmFsdWUgLyAkcmVsYXRpdmUtdG8pICogMWVtO1xuICB9XG4gIEBlbHNlIHsgLy8gJHVuaXQgPT0gcHhcbiAgICBAcmV0dXJuICR2YWx1ZTtcbiAgfVxufVxuXG5AbWl4aW4gbm9ybWFsaXplLWZvbnQtc2l6ZSgkdmFsdWUsICRyZWxhdGl2ZS10bzogJGJhc2UtZm9udC1zaXplKSB7XG4gIEBpZiB1bml0KCR2YWx1ZSkgIT0gJ3B4JyB7XG4gICAgQGVycm9yIFwibm9ybWFsaXplLWZvbnQtc2l6ZSgpIG9ubHkgc3VwcG9ydHMgcHggaW5wdXRzLiBUaGUgdHlwZXkgbGlicmFyeSBpcyBiZXR0ZXIuXCI7XG4gIH1cbiAgZm9udC1zaXplOiBub3JtYWxpemUtcmh5dGhtKCR2YWx1ZSwgJHJlbGF0aXZlLXRvKTtcbn1cblxuQG1peGluIG5vcm1hbGl6ZS1yaHl0aG0oJHByb3BlcnR5LCAkdmFsdWVzLCAkcmVsYXRpdmUtdG86ICRiYXNlLWZvbnQtc2l6ZSkge1xuICAkdmFsdWUtbGlzdDogJHZhbHVlcztcbiAgJHNlcDogc3BhY2U7XG4gIEBpZiB0eXBlLW9mKCR2YWx1ZXMpID09ICdsaXN0JyB7XG4gICAgJHNlcDogbGlzdC1zZXBhcmF0b3IoJHZhbHVlcyk7XG4gIH1cbiAgQGVsc2Uge1xuICAgICR2YWx1ZS1saXN0OiBhcHBlbmQoKCksICR2YWx1ZXMpO1xuICB9XG5cbiAgJG5vcm1hbGl6ZWQtdmFsdWVzOiAoKTtcbiAgQGVhY2ggJHZhbHVlIGluICR2YWx1ZS1saXN0IHtcbiAgICBAaWYgdW5pdGxlc3MoJHZhbHVlKSBhbmQgJHZhbHVlICE9IDAge1xuICAgICAgJHZhbHVlOiAkdmFsdWUgKiBub3JtYWxpemUtcmh5dGhtKCRiYXNlLWxpbmUtaGVpZ2h0LCAkcmVsYXRpdmUtdG8pO1xuICAgIH1cbiAgICAkbm9ybWFsaXplZC12YWx1ZXM6IGFwcGVuZCgkbm9ybWFsaXplZC12YWx1ZXMsICR2YWx1ZSwgJHNlcCk7XG4gIH1cbiAgI3skcHJvcGVydHl9OiAkbm9ybWFsaXplZC12YWx1ZXM7XG59XG5cbkBtaXhpbiBub3JtYWxpemUtbWFyZ2luKCR2YWx1ZXMsICRyZWxhdGl2ZS10bzogJGJhc2UtZm9udC1zaXplKSB7XG4gIEBpbmNsdWRlIG5vcm1hbGl6ZS1yaHl0aG0obWFyZ2luLCAkdmFsdWVzLCAkcmVsYXRpdmUtdG8pO1xufVxuXG5AbWl4aW4gbm9ybWFsaXplLWxpbmUtaGVpZ2h0KCRmb250LXNpemUsICRtaW4tbGluZS1wYWRkaW5nOiAycHgpIHtcbiAgJGxpbmVzOiBjZWlsKCRmb250LXNpemUgLyAkYmFzZS1saW5lLWhlaWdodCk7XG4gIC8vIElmIGxpbmVzIGFyZSBjcmFtcGVkIGluY2x1ZGUgc29tZSBleHRyYSBsZWFkaW5nLlxuICBAaWYgKCRsaW5lcyAqICRiYXNlLWxpbmUtaGVpZ2h0IC0gJGZvbnQtc2l6ZSkgPCAoJG1pbi1saW5lLXBhZGRpbmcgKiAyKSB7XG4gICAgJGxpbmVzOiAkbGluZXMgKyAxO1xuICB9XG4gIEBpbmNsdWRlIG5vcm1hbGl6ZS1yaHl0aG0obGluZS1oZWlnaHQsICRsaW5lcywgJGZvbnQtc2l6ZSk7XG59XG4iLCIvLyBIZWxwZXIgZnVuY3Rpb24gZm9yIHRoZSBub3JtYWxpemUoKSBtaXhpbi5cbkBmdW5jdGlvbiBfbm9ybWFsaXplLWluY2x1ZGUoJHNlY3Rpb24sICRleGNsdWRlOiBudWxsKSB7XG4gIC8vIEluaXRpYWxpemUgdGhlIGdsb2JhbCB2YXJpYWJsZXMgbmVlZGVkIGJ5IHRoaXMgZnVuY3Rpb24uXG4gIEBpZiBub3QgZ2xvYmFsX3ZhcmlhYmxlX2V4aXN0cyhfbm9ybWFsaXplLWluY2x1ZGUpIHtcbiAgICAkX25vcm1hbGl6ZS1pbmNsdWRlOiAoKSAhZ2xvYmFsO1xuICAgICRfbm9ybWFsaXplLWV4Y2x1ZGU6ICgpICFnbG9iYWw7XG4gIH1cbiAgLy8gU2luY2Ugd2UgYXJlIGdpdmVuIDIgcGFyYW1ldGVycywgc2V0IHRoZSBnbG9iYWwgdmFyaWFibGVzLlxuICBAaWYgJGV4Y2x1ZGUgIT0gbnVsbCB7XG4gICAgJGluY2x1ZGU6ICRzZWN0aW9uO1xuICAgIC8vIFNhc3MgZG9lc24ndCBoYXZlIHN0YXRpYyB2YXJpYWJsZXMsIHNvIHRoZSB3b3JrLWFyb3VuZCBpcyB0byBzdHVmZiB0aGVzZVxuICAgIC8vIHZhbHVlcyBpbnRvIGdsb2JhbCB2YXJpYWJsZXMgc28gd2UgY2FuIGFjY2VzcyB0aGVtIGluIGZ1dHVyZSBjYWxscy5cbiAgICAkX25vcm1hbGl6ZS1pbmNsdWRlOiBpZih0eXBlLW9mKCRpbmNsdWRlKSA9PSAnbGlzdCcsICRpbmNsdWRlLCAoJGluY2x1ZGUpKSAhZ2xvYmFsO1xuICAgICRfbm9ybWFsaXplLWV4Y2x1ZGU6IGlmKHR5cGUtb2YoJGV4Y2x1ZGUpID09ICdsaXN0JywgJGV4Y2x1ZGUsICgkZXhjbHVkZSkpICFnbG9iYWw7XG4gICAgQHJldHVybiB0cnVlO1xuICB9XG5cbiAgLy8gQ2hlY2sgaWYgJHNlY3Rpb24gaXMgaW4gdGhlICRpbmNsdWRlIGxpc3QuXG4gIEBpZiBpbmRleCgkX25vcm1hbGl6ZS1pbmNsdWRlLCAkc2VjdGlvbikge1xuICAgIEByZXR1cm4gdHJ1ZTtcbiAgfVxuICAvLyBJZiAkaW5jbHVkZSBpcyBzZXQgdG8gKGFsbCksIG1ha2Ugc3VyZSAkc2VjdGlvbiBpcyBub3QgaW4gJGV4Y2x1ZGUuXG4gIEBlbHNlIGlmIG5vdCBpbmRleCgkX25vcm1hbGl6ZS1leGNsdWRlLCAkc2VjdGlvbikgYW5kIGluZGV4KCRfbm9ybWFsaXplLWluY2x1ZGUsIGFsbCkge1xuICAgIEByZXR1cm4gdHJ1ZTtcbiAgfVxuICBAcmV0dXJuIGZhbHNlO1xufVxuXG5AbWl4aW4gbm9ybWFsaXplKCRpbmNsdWRlOiAoYWxsKSwgJGV4Y2x1ZGU6ICgpKSB7XG4gIC8vIEluaXRpYWxpemUgdGhlIGhlbHBlciBmdW5jdGlvbiBieSBwYXNzaW5nIGl0IHRoaXMgbWl4aW4ncyBwYXJhbWV0ZXJzLlxuICAkaW5pdDogX25vcm1hbGl6ZS1pbmNsdWRlKCRpbmNsdWRlLCAkZXhjbHVkZSk7XG5cbiAgLy8gSWYgd2UndmUgY3VzdG9taXplZCBhbnkgZm9udCB2YXJpYWJsZXMsIHdlJ2xsIG5lZWQgZXh0cmEgcHJvcGVydGllcy5cbiAgQGlmICRiYXNlLWZvbnQtc2l6ZSAhPSAxNnB4XG4gICAgb3IgJGJhc2UtbGluZS1oZWlnaHQgIT0gMjRweFxuICAgIG9yICRiYXNlLXVuaXQgIT0gJ2VtJ1xuICAgIG9yICRoMS1mb250LXNpemUgIT0gMiAgICAqICRiYXNlLWZvbnQtc2l6ZVxuICAgIG9yICRoMi1mb250LXNpemUgIT0gMS41ICAqICRiYXNlLWZvbnQtc2l6ZVxuICAgIG9yICRoMy1mb250LXNpemUgIT0gMS4xNyAqICRiYXNlLWZvbnQtc2l6ZVxuICAgIG9yICRoNC1mb250LXNpemUgIT0gMSAgICAqICRiYXNlLWZvbnQtc2l6ZVxuICAgIG9yICRoNS1mb250LXNpemUgIT0gMC44MyAqICRiYXNlLWZvbnQtc2l6ZVxuICAgIG9yICRoNi1mb250LXNpemUgIT0gMC42NyAqICRiYXNlLWZvbnQtc2l6ZSB7XG4gICAgJG5vcm1hbGl6ZS12ZXJ0aWNhbC1yaHl0aG06IHRydWUgIWdsb2JhbDtcbiAgfVxuXG4gIC8qISBub3JtYWxpemUtc2NzcyB8IE1JVC9HUEx2MiBMaWNlbnNlIHwgYml0Lmx5L25vcm1hbGl6ZS1zY3NzICovXG5cbiAgQGlmIF9ub3JtYWxpemUtaW5jbHVkZShkb2N1bWVudCkge1xuICAgIC8qIERvY3VtZW50XG4gICAgICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuICAgIC8qKlxuICAgICAqIDEuIENoYW5nZSB0aGUgZGVmYXVsdCBmb250IGZhbWlseSBpbiBhbGwgYnJvd3NlcnMgKG9waW5pb25hdGVkKS5cbiAgICAgKiAyLiBDb3JyZWN0IHRoZSBsaW5lIGhlaWdodCBpbiBhbGwgYnJvd3NlcnMuXG4gICAgICogMy4gUHJldmVudCBhZGp1c3RtZW50cyBvZiBmb250IHNpemUgYWZ0ZXIgb3JpZW50YXRpb24gY2hhbmdlcyBpblxuICAgICAqICAgIElFIG9uIFdpbmRvd3MgUGhvbmUgYW5kIGluIGlPUy5cbiAgICAgKi9cblxuICAgIGh0bWwge1xuICAgICAgZm9udC1mYW1pbHk6ICRiYXNlLWZvbnQtZmFtaWx5OyAvKiAxICovXG4gICAgICBAaWYgJG5vcm1hbGl6ZS12ZXJ0aWNhbC1yaHl0aG0ge1xuICAgICAgICAvLyBDb3JyZWN0IG9sZCBicm93c2VyIGJ1ZyB0aGF0IHByZXZlbnRlZCBhY2Nlc3NpYmxlIHJlc2l6aW5nIG9mIHRleHRcbiAgICAgICAgLy8gd2hlbiByb290IGZvbnQtc2l6ZSBpcyBzZXQgd2l0aCBweCBvciBlbS5cbiAgICAgICAgZm9udC1zaXplOiAoJGJhc2UtZm9udC1zaXplIC8gMTZweCkgKiAxMDAlO1xuICAgICAgICBsaW5lLWhlaWdodDogKCRiYXNlLWxpbmUtaGVpZ2h0IC8gJGJhc2UtZm9udC1zaXplKSAqIDFlbTsgLyogMiAqL1xuICAgICAgfVxuICAgICAgQGVsc2Uge1xuICAgICAgICBsaW5lLWhlaWdodDogMS4xNTsgLyogMiAqL1xuICAgICAgfVxuICAgICAgLW1zLXRleHQtc2l6ZS1hZGp1c3Q6IDEwMCU7IC8qIDMgKi9cbiAgICAgIC13ZWJraXQtdGV4dC1zaXplLWFkanVzdDogMTAwJTsgLyogMyAqL1xuICAgIH1cbiAgfVxuXG4gIEBpZiBfbm9ybWFsaXplLWluY2x1ZGUoc2VjdGlvbnMpIHtcbiAgICAvKiBTZWN0aW9uc1xuICAgICAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbiAgICAvKipcbiAgICAgKiBSZW1vdmUgdGhlIG1hcmdpbiBpbiBhbGwgYnJvd3NlcnMgKG9waW5pb25hdGVkKS5cbiAgICAgKi9cblxuICAgIGJvZHkge1xuICAgICAgbWFyZ2luOiAwO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEFkZCB0aGUgY29ycmVjdCBkaXNwbGF5IGluIElFIDktLlxuICAgICAqL1xuXG4gICAgYXJ0aWNsZSxcbiAgICBhc2lkZSxcbiAgICBmb290ZXIsXG4gICAgaGVhZGVyLFxuICAgIG5hdixcbiAgICBzZWN0aW9uIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIENvcnJlY3QgdGhlIGZvbnQgc2l6ZSBhbmQgbWFyZ2luIG9uIGBoMWAgZWxlbWVudHMgd2l0aGluIGBzZWN0aW9uYCBhbmRcbiAgICAgKiBgYXJ0aWNsZWAgY29udGV4dHMgaW4gQ2hyb21lLCBGaXJlZm94LCBhbmQgU2FmYXJpLlxuICAgICAqL1xuXG4gICAgaDEge1xuICAgICAgQGluY2x1ZGUgbm9ybWFsaXplLWZvbnQtc2l6ZSgkaDEtZm9udC1zaXplKTtcbiAgICAgIEBpZiAkbm9ybWFsaXplLXZlcnRpY2FsLXJoeXRobSB7XG4gICAgICAgIEBpbmNsdWRlIG5vcm1hbGl6ZS1saW5lLWhlaWdodCgkaDEtZm9udC1zaXplKTtcbiAgICAgIH1cblxuICAgICAgQGlmICRub3JtYWxpemUtdmVydGljYWwtcmh5dGhtIHtcbiAgICAgICAgLyogU2V0IDEgdW5pdCBvZiB2ZXJ0aWNhbCByaHl0aG0gb24gdGhlIHRvcCBhbmQgYm90dG9tIG1hcmdpbnMuICovXG4gICAgICAgIEBpbmNsdWRlIG5vcm1hbGl6ZS1tYXJnaW4oMSAwLCAkaDEtZm9udC1zaXplKTtcbiAgICAgIH1cbiAgICAgIEBlbHNlIHtcbiAgICAgICAgbWFyZ2luOiAwLjY3ZW0gMDtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBAaWYgJG5vcm1hbGl6ZS12ZXJ0aWNhbC1yaHl0aG0ge1xuICAgICAgaDIge1xuICAgICAgICBAaW5jbHVkZSBub3JtYWxpemUtZm9udC1zaXplKCRoMi1mb250LXNpemUpO1xuICAgICAgICBAaW5jbHVkZSBub3JtYWxpemUtbGluZS1oZWlnaHQoJGgyLWZvbnQtc2l6ZSk7XG4gICAgICAgIEBpbmNsdWRlIG5vcm1hbGl6ZS1tYXJnaW4oMSAwLCAkaDItZm9udC1zaXplKTtcbiAgICAgIH1cblxuICAgICAgaDMge1xuICAgICAgICBAaW5jbHVkZSBub3JtYWxpemUtZm9udC1zaXplKCRoMy1mb250LXNpemUpO1xuICAgICAgICBAaW5jbHVkZSBub3JtYWxpemUtbGluZS1oZWlnaHQoJGgzLWZvbnQtc2l6ZSk7XG4gICAgICAgIEBpbmNsdWRlIG5vcm1hbGl6ZS1tYXJnaW4oMSAwLCAkaDMtZm9udC1zaXplKTtcbiAgICAgIH1cblxuICAgICAgaDQge1xuICAgICAgICBAaW5jbHVkZSBub3JtYWxpemUtZm9udC1zaXplKCRoNC1mb250LXNpemUpO1xuICAgICAgICBAaW5jbHVkZSBub3JtYWxpemUtbGluZS1oZWlnaHQoJGg0LWZvbnQtc2l6ZSk7XG4gICAgICAgIEBpbmNsdWRlIG5vcm1hbGl6ZS1tYXJnaW4oMSAwLCAkaDQtZm9udC1zaXplKTtcbiAgICAgIH1cblxuICAgICAgaDUge1xuICAgICAgICBAaW5jbHVkZSBub3JtYWxpemUtZm9udC1zaXplKCRoNS1mb250LXNpemUpO1xuICAgICAgICBAaW5jbHVkZSBub3JtYWxpemUtbGluZS1oZWlnaHQoJGg1LWZvbnQtc2l6ZSk7XG4gICAgICAgIEBpbmNsdWRlIG5vcm1hbGl6ZS1tYXJnaW4oMSAwLCAkaDUtZm9udC1zaXplKTtcbiAgICAgIH1cblxuICAgICAgaDYge1xuICAgICAgICBAaW5jbHVkZSBub3JtYWxpemUtZm9udC1zaXplKCRoNi1mb250LXNpemUpO1xuICAgICAgICBAaW5jbHVkZSBub3JtYWxpemUtbGluZS1oZWlnaHQoJGg2LWZvbnQtc2l6ZSk7XG4gICAgICAgIEBpbmNsdWRlIG5vcm1hbGl6ZS1tYXJnaW4oMSAwLCAkaDYtZm9udC1zaXplKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBAaWYgX25vcm1hbGl6ZS1pbmNsdWRlKGdyb3VwaW5nKSB7XG4gICAgLyogR3JvdXBpbmcgY29udGVudFxuICAgICAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbiAgICBAaWYgJG5vcm1hbGl6ZS12ZXJ0aWNhbC1yaHl0aG0ge1xuICAgICAgLyoqXG4gICAgICAgKiBTZXQgMSB1bml0IG9mIHZlcnRpY2FsIHJoeXRobSBvbiB0aGUgdG9wIGFuZCBib3R0b20gbWFyZ2luLlxuICAgICAgICovXG5cbiAgICAgIGJsb2NrcXVvdGUge1xuICAgICAgICBAaW5jbHVkZSBub3JtYWxpemUtbWFyZ2luKDEgJGluZGVudC1hbW91bnQpO1xuICAgICAgfVxuXG4gICAgICBkbCxcbiAgICAgIG9sLFxuICAgICAgdWwge1xuICAgICAgICBAaW5jbHVkZSBub3JtYWxpemUtbWFyZ2luKDEgMCk7XG4gICAgICB9XG5cbiAgICAgIC8qKlxuICAgICAgICogVHVybiBvZmYgbWFyZ2lucyBvbiBuZXN0ZWQgbGlzdHMuXG4gICAgICAgKi9cblxuICAgICAgb2wsXG4gICAgICB1bCB7XG4gICAgICAgIG9sLFxuICAgICAgICB1bCB7XG4gICAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIGRkIHtcbiAgICAgICAgbWFyZ2luOiAwIDAgMCAkaW5kZW50LWFtb3VudDtcbiAgICAgIH1cblxuICAgICAgb2wsXG4gICAgICB1bCB7XG4gICAgICAgIHBhZGRpbmc6IDAgMCAwICRpbmRlbnQtYW1vdW50O1xuICAgICAgfVxuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEFkZCB0aGUgY29ycmVjdCBkaXNwbGF5IGluIElFIDktLlxuICAgICAqL1xuXG4gICAgZmlnY2FwdGlvbixcbiAgICBmaWd1cmUge1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQWRkIHRoZSBjb3JyZWN0IG1hcmdpbiBpbiBJRSA4LlxuICAgICAqL1xuXG4gICAgZmlndXJlIHtcbiAgICAgIEBpZiAkbm9ybWFsaXplLXZlcnRpY2FsLXJoeXRobSB7XG4gICAgICAgIEBpbmNsdWRlIG5vcm1hbGl6ZS1tYXJnaW4oMSAkaW5kZW50LWFtb3VudCk7XG4gICAgICB9XG4gICAgICBAZWxzZSB7XG4gICAgICAgIG1hcmdpbjogMWVtICRpbmRlbnQtYW1vdW50O1xuICAgICAgfVxuICAgIH1cblxuICAgIC8qKlxuICAgICAqIDEuIEFkZCB0aGUgY29ycmVjdCBib3ggc2l6aW5nIGluIEZpcmVmb3guXG4gICAgICogMi4gU2hvdyB0aGUgb3ZlcmZsb3cgaW4gRWRnZSBhbmQgSUUuXG4gICAgICovXG5cbiAgICBociB7XG4gICAgICBib3gtc2l6aW5nOiBjb250ZW50LWJveDsgLyogMSAqL1xuICAgICAgaGVpZ2h0OiAwOyAvKiAxICovXG4gICAgICBvdmVyZmxvdzogdmlzaWJsZTsgLyogMiAqL1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEFkZCB0aGUgY29ycmVjdCBkaXNwbGF5IGluIElFLlxuICAgICAqL1xuXG4gICAgbWFpbiB7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICB9XG5cbiAgICBAaWYgJG5vcm1hbGl6ZS12ZXJ0aWNhbC1yaHl0aG0ge1xuICAgICAgLyoqXG4gICAgICAgKiBTZXQgMSB1bml0IG9mIHZlcnRpY2FsIHJoeXRobSBvbiB0aGUgdG9wIGFuZCBib3R0b20gbWFyZ2luLlxuICAgICAgICovXG5cbiAgICAgIHAsXG4gICAgICBwcmUge1xuICAgICAgICBAaW5jbHVkZSBub3JtYWxpemUtbWFyZ2luKDEgMCk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogMS4gQ29ycmVjdCB0aGUgaW5oZXJpdGFuY2UgYW5kIHNjYWxpbmcgb2YgZm9udCBzaXplIGluIGFsbCBicm93c2Vycy5cbiAgICAgKiAyLiBDb3JyZWN0IHRoZSBvZGQgYGVtYCBmb250IHNpemluZyBpbiBhbGwgYnJvd3NlcnMuXG4gICAgICovXG5cbiAgICBwcmUge1xuICAgICAgZm9udC1mYW1pbHk6IG1vbm9zcGFjZSwgbW9ub3NwYWNlOyAvKiAxICovXG4gICAgICBmb250LXNpemU6IDFlbTsgLyogMiAqL1xuICAgIH1cbiAgfVxuXG4gIEBpZiBfbm9ybWFsaXplLWluY2x1ZGUobGlua3MpIHtcbiAgICAvKiBMaW5rc1xuICAgICAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbiAgICAvKipcbiAgICAgKiAxLiBSZW1vdmUgdGhlIGdyYXkgYmFja2dyb3VuZCBvbiBhY3RpdmUgbGlua3MgaW4gSUUgMTAuXG4gICAgICogMi4gUmVtb3ZlIGdhcHMgaW4gbGlua3MgdW5kZXJsaW5lIGluIGlPUyA4KyBhbmQgU2FmYXJpIDgrLlxuICAgICAqL1xuXG4gICAgYSB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDsgLyogMSAqL1xuICAgICAgLXdlYmtpdC10ZXh0LWRlY29yYXRpb24tc2tpcDogb2JqZWN0czsgLyogMiAqL1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFJlbW92ZSB0aGUgb3V0bGluZSBvbiBmb2N1c2VkIGxpbmtzIHdoZW4gdGhleSBhcmUgYWxzbyBhY3RpdmUgb3IgaG92ZXJlZFxuICAgICAqIGluIGFsbCBicm93c2VycyAob3BpbmlvbmF0ZWQpLlxuICAgICAqL1xuXG4gICAgYTphY3RpdmUsXG4gICAgYTpob3ZlciB7XG4gICAgICBvdXRsaW5lLXdpZHRoOiAwO1xuICAgIH1cbiAgfVxuXG4gIEBpZiBfbm9ybWFsaXplLWluY2x1ZGUodGV4dCkge1xuICAgIC8qIFRleHQtbGV2ZWwgc2VtYW50aWNzXG4gICAgICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuICAgIC8qKlxuICAgICAqIDEuIFJlbW92ZSB0aGUgYm90dG9tIGJvcmRlciBpbiBGaXJlZm94IDM5LS5cbiAgICAgKiAyLiBBZGQgdGhlIGNvcnJlY3QgdGV4dCBkZWNvcmF0aW9uIGluIENocm9tZSwgRWRnZSwgSUUsIE9wZXJhLCBhbmQgU2FmYXJpLlxuICAgICAqL1xuXG4gICAgYWJiclt0aXRsZV0ge1xuICAgICAgYm9yZGVyLWJvdHRvbTogbm9uZTsgLyogMSAqL1xuICAgICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7IC8qIDIgKi9cbiAgICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lIGRvdHRlZDsgLyogMiAqL1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFByZXZlbnQgdGhlIGR1cGxpY2F0ZSBhcHBsaWNhdGlvbiBvZiBgYm9sZGVyYCBieSB0aGUgbmV4dCBydWxlIGluIFNhZmFyaSA2LlxuICAgICAqL1xuXG4gICAgYixcbiAgICBzdHJvbmcge1xuICAgICAgZm9udC13ZWlnaHQ6IGluaGVyaXQ7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQWRkIHRoZSBjb3JyZWN0IGZvbnQgd2VpZ2h0IGluIENocm9tZSwgRWRnZSwgYW5kIFNhZmFyaS5cbiAgICAgKi9cblxuICAgIGIsXG4gICAgc3Ryb25nIHtcbiAgICAgIGZvbnQtd2VpZ2h0OiBib2xkZXI7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogMS4gQ29ycmVjdCB0aGUgaW5oZXJpdGFuY2UgYW5kIHNjYWxpbmcgb2YgZm9udCBzaXplIGluIGFsbCBicm93c2Vycy5cbiAgICAgKiAyLiBDb3JyZWN0IHRoZSBvZGQgYGVtYCBmb250IHNpemluZyBpbiBhbGwgYnJvd3NlcnMuXG4gICAgICovXG5cbiAgICBjb2RlLFxuICAgIGtiZCxcbiAgICBzYW1wIHtcbiAgICAgIGZvbnQtZmFtaWx5OiBtb25vc3BhY2UsIG1vbm9zcGFjZTsgLyogMSAqL1xuICAgICAgZm9udC1zaXplOiAxZW07IC8qIDIgKi9cbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBBZGQgdGhlIGNvcnJlY3QgZm9udCBzdHlsZSBpbiBBbmRyb2lkIDQuMy0uXG4gICAgICovXG5cbiAgICBkZm4ge1xuICAgICAgZm9udC1zdHlsZTogaXRhbGljO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEFkZCB0aGUgY29ycmVjdCBiYWNrZ3JvdW5kIGFuZCBjb2xvciBpbiBJRSA5LS5cbiAgICAgKi9cblxuICAgIG1hcmsge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmMDtcbiAgICAgIGNvbG9yOiAjMDAwO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEFkZCB0aGUgY29ycmVjdCBmb250IHNpemUgaW4gYWxsIGJyb3dzZXJzLlxuICAgICAqL1xuXG4gICAgc21hbGwge1xuICAgICAgZm9udC1zaXplOiA4MCU7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogUHJldmVudCBgc3ViYCBhbmQgYHN1cGAgZWxlbWVudHMgZnJvbSBhZmZlY3RpbmcgdGhlIGxpbmUgaGVpZ2h0IGluXG4gICAgICogYWxsIGJyb3dzZXJzLlxuICAgICAqL1xuXG4gICAgc3ViLFxuICAgIHN1cCB7XG4gICAgICBmb250LXNpemU6IDc1JTtcbiAgICAgIGxpbmUtaGVpZ2h0OiAwO1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgdmVydGljYWwtYWxpZ246IGJhc2VsaW5lO1xuICAgIH1cblxuICAgIHN1YiB7XG4gICAgICBib3R0b206IC0wLjI1ZW07XG4gICAgfVxuXG4gICAgc3VwIHtcbiAgICAgIHRvcDogLTAuNWVtO1xuICAgIH1cbiAgfVxuXG4gIEBpZiBfbm9ybWFsaXplLWluY2x1ZGUoZW1iZWRkZWQpIHtcbiAgICAvKiBFbWJlZGRlZCBjb250ZW50XG4gICAgICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuICAgIC8qKlxuICAgICAqIEFkZCB0aGUgY29ycmVjdCBkaXNwbGF5IGluIElFIDktLlxuICAgICAqL1xuXG4gICAgYXVkaW8sXG4gICAgdmlkZW8ge1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEFkZCB0aGUgY29ycmVjdCBkaXNwbGF5IGluIGlPUyA0LTcuXG4gICAgICovXG5cbiAgICBhdWRpbzpub3QoW2NvbnRyb2xzXSkge1xuICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgIGhlaWdodDogMDtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBSZW1vdmUgdGhlIGJvcmRlciBvbiBpbWFnZXMgaW5zaWRlIGxpbmtzIGluIElFIDEwLS5cbiAgICAgKi9cblxuICAgIGltZyB7XG4gICAgICBib3JkZXItc3R5bGU6IG5vbmU7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogSGlkZSB0aGUgb3ZlcmZsb3cgaW4gSUUuXG4gICAgICovXG5cbiAgICBzdmc6bm90KDpyb290KSB7XG4gICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIH1cbiAgfVxuXG4gIEBpZiBfbm9ybWFsaXplLWluY2x1ZGUoZm9ybXMpIHtcbiAgICAvKiBGb3Jtc1xuICAgICAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbiAgICAvKipcbiAgICAgKiAxLiBDaGFuZ2UgdGhlIGZvbnQgc3R5bGVzIGluIGFsbCBicm93c2VycyAob3BpbmlvbmF0ZWQpLlxuICAgICAqIDIuIFJlbW92ZSB0aGUgbWFyZ2luIGluIEZpcmVmb3ggYW5kIFNhZmFyaS5cbiAgICAgKi9cblxuICAgIGJ1dHRvbixcbiAgICBpbnB1dCxcbiAgICBvcHRncm91cCxcbiAgICBzZWxlY3QsXG4gICAgdGV4dGFyZWEge1xuICAgICAgZm9udC1mYW1pbHk6ICRiYXNlLWZvbnQtZmFtaWx5OyAvKiAxICovXG4gICAgICBmb250LXNpemU6IDEwMCU7IC8qIDEgKi9cbiAgICAgIEBpZiAkbm9ybWFsaXplLXZlcnRpY2FsLXJoeXRobSB7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAoJGJhc2UtbGluZS1oZWlnaHQgLyAkYmFzZS1mb250LXNpemUpICogMWVtOyAvKiAxICovXG4gICAgICB9XG4gICAgICBAZWxzZSB7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxLjE1OyAvKiAxICovXG4gICAgICB9XG4gICAgICBtYXJnaW46IDA7IC8qIDIgKi9cbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBTaG93IHRoZSBvdmVyZmxvdyBpbiBJRS5cbiAgICAgKi9cblxuICAgIGJ1dHRvbiB7XG4gICAgICBvdmVyZmxvdzogdmlzaWJsZTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBSZW1vdmUgdGhlIGluaGVyaXRhbmNlIG9mIHRleHQgdHJhbnNmb3JtIGluIEVkZ2UsIEZpcmVmb3gsIGFuZCBJRS5cbiAgICAgKiAxLiBSZW1vdmUgdGhlIGluaGVyaXRhbmNlIG9mIHRleHQgdHJhbnNmb3JtIGluIEZpcmVmb3guXG4gICAgICovXG5cbiAgICBidXR0b24sXG4gICAgc2VsZWN0IHsgLyogMSAqL1xuICAgICAgdGV4dC10cmFuc2Zvcm06IG5vbmU7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogMS4gUHJldmVudCBhIFdlYktpdCBidWcgd2hlcmUgKDIpIGRlc3Ryb3lzIG5hdGl2ZSBgYXVkaW9gIGFuZCBgdmlkZW9gXG4gICAgICogICAgY29udHJvbHMgaW4gQW5kcm9pZCA0LlxuICAgICAqIDIuIENvcnJlY3QgdGhlIGluYWJpbGl0eSB0byBzdHlsZSBjbGlja2FibGUgdHlwZXMgaW4gaU9TIGFuZCBTYWZhcmkuXG4gICAgICovXG5cbiAgICBidXR0b24sXG4gICAgaHRtbCBbdHlwZT1cImJ1dHRvblwiXSwgLyogMSAqL1xuICAgIFt0eXBlPVwicmVzZXRcIl0sXG4gICAgW3R5cGU9XCJzdWJtaXRcIl0ge1xuICAgICAgLXdlYmtpdC1hcHBlYXJhbmNlOiBidXR0b247IC8qIDIgKi9cbiAgICB9XG5cbiAgICBidXR0b24sXG4gICAgW3R5cGU9XCJidXR0b25cIl0sXG4gICAgW3R5cGU9XCJyZXNldFwiXSxcbiAgICBbdHlwZT1cInN1Ym1pdFwiXSB7XG5cbiAgICAgIC8qKlxuICAgICAgICogUmVtb3ZlIHRoZSBpbm5lciBib3JkZXIgYW5kIHBhZGRpbmcgaW4gRmlyZWZveC5cbiAgICAgICAqL1xuXG4gICAgICAmOjotbW96LWZvY3VzLWlubmVyIHtcbiAgICAgICAgYm9yZGVyLXN0eWxlOiBub25lO1xuICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgfVxuXG4gICAgICAvKipcbiAgICAgICAqIFJlc3RvcmUgdGhlIGZvY3VzIHN0eWxlcyB1bnNldCBieSB0aGUgcHJldmlvdXMgcnVsZS5cbiAgICAgICAqL1xuXG4gICAgICAmOi1tb3otZm9jdXNyaW5nIHtcbiAgICAgICAgb3V0bGluZTogMXB4IGRvdHRlZCBCdXR0b25UZXh0O1xuICAgICAgfVxuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFNob3cgdGhlIG92ZXJmbG93IGluIEVkZ2UuXG4gICAgICovXG5cbiAgICBpbnB1dCB7XG4gICAgICBvdmVyZmxvdzogdmlzaWJsZTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiAxLiBBZGQgdGhlIGNvcnJlY3QgYm94IHNpemluZyBpbiBJRSAxMC0uXG4gICAgICogMi4gUmVtb3ZlIHRoZSBwYWRkaW5nIGluIElFIDEwLS5cbiAgICAgKi9cblxuICAgIFt0eXBlPVwiY2hlY2tib3hcIl0sXG4gICAgW3R5cGU9XCJyYWRpb1wiXSB7XG4gICAgICBib3gtc2l6aW5nOiBib3JkZXItYm94OyAvKiAxICovXG4gICAgICBwYWRkaW5nOiAwOyAvKiAyICovXG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQ29ycmVjdCB0aGUgY3Vyc29yIHN0eWxlIG9mIGluY3JlbWVudCBhbmQgZGVjcmVtZW50IGJ1dHRvbnMgaW4gQ2hyb21lLlxuICAgICAqL1xuXG4gICAgW3R5cGU9XCJudW1iZXJcIl06Oi13ZWJraXQtaW5uZXItc3Bpbi1idXR0b24sXG4gICAgW3R5cGU9XCJudW1iZXJcIl06Oi13ZWJraXQtb3V0ZXItc3Bpbi1idXR0b24ge1xuICAgICAgaGVpZ2h0OiBhdXRvO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIDEuIENvcnJlY3QgdGhlIG9kZCBhcHBlYXJhbmNlIGluIENocm9tZSBhbmQgU2FmYXJpLlxuICAgICAqIDIuIENvcnJlY3QgdGhlIG91dGxpbmUgc3R5bGUgaW4gU2FmYXJpLlxuICAgICAqL1xuXG4gICAgW3R5cGU9XCJzZWFyY2hcIl0ge1xuICAgICAgLXdlYmtpdC1hcHBlYXJhbmNlOiB0ZXh0ZmllbGQ7IC8qIDEgKi9cbiAgICAgIG91dGxpbmUtb2Zmc2V0OiAtMnB4OyAvKiAyICovXG5cbiAgICAgIC8qKlxuICAgICAgICogUmVtb3ZlIHRoZSBpbm5lciBwYWRkaW5nIGFuZCBjYW5jZWwgYnV0dG9ucyBpbiBDaHJvbWUgYW5kIFNhZmFyaSBvbiBtYWNPUy5cbiAgICAgICAqL1xuXG4gICAgICAmOjotd2Via2l0LXNlYXJjaC1jYW5jZWwtYnV0dG9uLFxuICAgICAgJjo6LXdlYmtpdC1zZWFyY2gtZGVjb3JhdGlvbiB7XG4gICAgICAgIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiAxLiBDb3JyZWN0IHRoZSBpbmFiaWxpdHkgdG8gc3R5bGUgY2xpY2thYmxlIHR5cGVzIGluIGlPUyBhbmQgU2FmYXJpLlxuICAgICAqIDIuIENoYW5nZSBmb250IHByb3BlcnRpZXMgdG8gYGluaGVyaXRgIGluIFNhZmFyaS5cbiAgICAgKi9cblxuICAgIDo6LXdlYmtpdC1maWxlLXVwbG9hZC1idXR0b24ge1xuICAgICAgLXdlYmtpdC1hcHBlYXJhbmNlOiBidXR0b247IC8qIDEgKi9cbiAgICAgIGZvbnQ6IGluaGVyaXQ7IC8qIDIgKi9cbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBDaGFuZ2UgdGhlIGJvcmRlciwgbWFyZ2luLCBhbmQgcGFkZGluZyBpbiBhbGwgYnJvd3NlcnMgKG9waW5pb25hdGVkKS5cbiAgICAgKi9cblxuICAgIGZpZWxkc2V0IHtcbiAgICAgIGJvcmRlcjogMXB4IHNvbGlkICNjMGMwYzA7XG4gICAgICBtYXJnaW46IDAgMnB4O1xuICAgICAgcGFkZGluZzogMC4zNWVtIDAuNjI1ZW0gMC43NWVtO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIDEuIENvcnJlY3QgdGhlIHRleHQgd3JhcHBpbmcgaW4gRWRnZSBhbmQgSUUuXG4gICAgICogMi4gQ29ycmVjdCB0aGUgY29sb3IgaW5oZXJpdGFuY2UgZnJvbSBgZmllbGRzZXRgIGVsZW1lbnRzIGluIElFLlxuICAgICAqIDMuIFJlbW92ZSB0aGUgcGFkZGluZyBzbyBkZXZlbG9wZXJzIGFyZSBub3QgY2F1Z2h0IG91dCB3aGVuIHRoZXkgemVybyBvdXRcbiAgICAgKiAgICBgZmllbGRzZXRgIGVsZW1lbnRzIGluIGFsbCBicm93c2Vycy5cbiAgICAgKi9cblxuICAgIGxlZ2VuZCB7XG4gICAgICBib3gtc2l6aW5nOiBib3JkZXItYm94OyAvKiAxICovXG4gICAgICBkaXNwbGF5OiB0YWJsZTsgLyogMSAqL1xuICAgICAgbWF4LXdpZHRoOiAxMDAlOyAvKiAxICovXG4gICAgICBwYWRkaW5nOiAwOyAvKiAzICovXG4gICAgICBjb2xvcjogaW5oZXJpdDsgLyogMiAqL1xuICAgICAgd2hpdGUtc3BhY2U6IG5vcm1hbDsgLyogMSAqL1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIDEuIEFkZCB0aGUgY29ycmVjdCBkaXNwbGF5IGluIElFIDktLlxuICAgICAqIDIuIEFkZCB0aGUgY29ycmVjdCB2ZXJ0aWNhbCBhbGlnbm1lbnQgaW4gQ2hyb21lLCBGaXJlZm94LCBhbmQgT3BlcmEuXG4gICAgICovXG5cbiAgICBwcm9ncmVzcyB7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7IC8qIDEgKi9cbiAgICAgIHZlcnRpY2FsLWFsaWduOiBiYXNlbGluZTsgLyogMiAqL1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFJlbW92ZSB0aGUgZGVmYXVsdCB2ZXJ0aWNhbCBzY3JvbGxiYXIgaW4gSUUuXG4gICAgICovXG5cbiAgICB0ZXh0YXJlYSB7XG4gICAgICBvdmVyZmxvdzogYXV0bztcbiAgICB9XG4gIH1cblxuICBAaWYgX25vcm1hbGl6ZS1pbmNsdWRlKGludGVyYWN0aXZlKSB7XG4gICAgLyogSW50ZXJhY3RpdmVcbiAgICAgICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4gICAgLypcbiAgICAgKiBBZGQgdGhlIGNvcnJlY3QgZGlzcGxheSBpbiBFZGdlLCBJRSwgYW5kIEZpcmVmb3guXG4gICAgICovXG5cbiAgICBkZXRhaWxzIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIH1cblxuICAgIC8qXG4gICAgICogQWRkIHRoZSBjb3JyZWN0IGRpc3BsYXkgaW4gYWxsIGJyb3dzZXJzLlxuICAgICAqL1xuXG4gICAgc3VtbWFyeSB7XG4gICAgICBkaXNwbGF5OiBsaXN0LWl0ZW07XG4gICAgfVxuXG4gICAgLypcbiAgICAgKiBBZGQgdGhlIGNvcnJlY3QgZGlzcGxheSBpbiBJRSA5LS5cbiAgICAgKi9cblxuICAgIG1lbnUge1xuICAgICAgZGlzcGxheTogYmxvY2s7XG5cbiAgICAgIEBpZiAkbm9ybWFsaXplLXZlcnRpY2FsLXJoeXRobSB7XG4gICAgICAgIC8qXG4gICAgICAgICAqIDEuIFNldCAxIHVuaXQgb2YgdmVydGljYWwgcmh5dGhtIG9uIHRoZSB0b3AgYW5kIGJvdHRvbSBtYXJnaW4uXG4gICAgICAgICAqIDIuIFNldCBjb25zaXN0ZW50IHNwYWNlIGZvciB0aGUgbGlzdCBzdHlsZSBpbWFnZS5cbiAgICAgICAgICovXG5cbiAgICAgICAgQGluY2x1ZGUgbm9ybWFsaXplLW1hcmdpbigxIDApOyAvKiAxICovXG4gICAgICAgIHBhZGRpbmc6IDAgMCAwICRpbmRlbnQtYW1vdW50OyAvKiAyICovXG5cbiAgICAgICAgLyoqXG4gICAgICAgICAqIFR1cm4gb2ZmIG1hcmdpbnMgb24gbmVzdGVkIGxpc3RzLlxuICAgICAgICAgKi9cblxuICAgICAgICBtZW51ICYsXG4gICAgICAgIG9sICYsXG4gICAgICAgIHVsICYge1xuICAgICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIEBpZiBfbm9ybWFsaXplLWluY2x1ZGUoc2NyaXB0aW5nKSB7XG4gICAgLyogU2NyaXB0aW5nXG4gICAgICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuICAgIC8qKlxuICAgICAqIEFkZCB0aGUgY29ycmVjdCBkaXNwbGF5IGluIElFIDktLlxuICAgICAqL1xuXG4gICAgY2FudmFzIHtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBBZGQgdGhlIGNvcnJlY3QgZGlzcGxheSBpbiBJRS5cbiAgICAgKi9cblxuICAgIHRlbXBsYXRlIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxuICB9XG5cbiAgQGlmIF9ub3JtYWxpemUtaW5jbHVkZShoaWRkZW4pIHtcbiAgICAvKiBIaWRkZW5cbiAgICAgICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4gICAgLyoqXG4gICAgICogQWRkIHRoZSBjb3JyZWN0IGRpc3BsYXkgaW4gSUUgMTAtLlxuICAgICAqL1xuXG4gICAgW2hpZGRlbl0ge1xuICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG4gIH1cbn1cbiIsIi8vL1xuLy8vIENoZWNrcyB3aGV0aGVyIGAkZnVuY3Rpb25zYCBleGlzdCBpbiBnbG9iYWwgc2NvcGUuXG4vLy9cbi8vLyBAYWNjZXNzIHByaXZhdGVcbi8vL1xuLy8vIEBwYXJhbSB7QXJnTGlzdH0gJGZ1bmN0aW9ucyAtIGxpc3Qgb2YgZnVuY3Rpb25zIHRvIGNoZWNrIGZvclxuLy8vXG4vLy8gQHJldHVybiB7Qm9vbH0gV2hldGhlciBvciBub3QgdGhlcmUgYXJlIG1pc3NpbmcgZGVwZW5kZW5jaWVzXG4vLy9cbiBcbkBmdW5jdGlvbiBzbC1taXNzaW5nLWRlcGVuZGVuY2llcygkZnVuY3Rpb25zLi4uKSB7XG4gICRtaXNzaW5nLWRlcGVuZGVuY2llczogKCk7XG4gIFxuICBAZWFjaCAkZnVuY3Rpb24gaW4gJGZ1bmN0aW9ucyB7XG4gICAgQGlmIG5vdCBmdW5jdGlvbi1leGlzdHMoJGZ1bmN0aW9uKSB7XG4gICAgICAkbWlzc2luZy1kZXBlbmRlbmNpZXM6IGFwcGVuZCgkbWlzc2luZy1kZXBlbmRlbmNpZXMsICRmdW5jdGlvbiwgY29tbWEpO1xuICAgIH1cbiAgfVxuICBcbiAgQGlmIGxlbmd0aCgkbWlzc2luZy1kZXBlbmRlbmNpZXMpID4gMCB7XG4gICAgQGVycm9yICdVbm1ldCBkZXBlbmRlbmNpZXMhIFRoZSBmb2xsb3dpbmcgZnVuY3Rpb25zIGFyZSByZXF1aXJlZDogI3skbWlzc2luZy1kZXBlbmRlbmNpZXN9Lic7XG4gIH1cblxuICBAcmV0dXJuIGxlbmd0aCgkbWlzc2luZy1kZXBlbmRlbmNpZXMpID4gMDtcbn1cbiIsIi8vL1xuLy8vIFJldHVybnMgdHJ1dGhpbmVzcyBvZiBgJHZhbHVlYC5cbi8vL1xuLy8vIEBhY2Nlc3MgcHJpdmF0ZVxuLy8vXG4vLy8gQHBhcmFtIHsqfSAkdmFsdWUgLSB2YWx1ZSB0byBjaGVja1xuLy8vXG4vLy8gQHJldHVybiB7Qm9vbH1cbi8vL1xuIFxuQGZ1bmN0aW9uIHNsLWlzLXRydWUoJHZhbHVlKSB7XG4gIEByZXR1cm4gaWYoJHZhbHVlID09IG51bGwsIGZhbHNlLCAkdmFsdWUgYW5kICR2YWx1ZSAhPSBudWxsIGFuZCAkdmFsdWUgIT0gJycgYW5kICR2YWx1ZSAhPSAoKSk7XG59XG4iLCIvLy9cbi8vLyBSZXR1cm5zIHdoZXRoZXIgYCRsaXN0YCBjb250YWlucyBgJHZhbHVlYC5cbi8vL1xuLy8vIEBpZ25vcmUgRG9jdW1lbnRhdGlvbjogaHR0cDovL2F0LWltcG9ydC5naXRodWIuaW8vU2Fzc3lMaXN0cy9kb2N1bWVudGF0aW9uLyNmdW5jdGlvbi1zbC1jb250YWluXG4vLy9cbi8vLyBAcGFyYW0ge0xpc3R9ICAgICRsaXN0ICAtIGxpc3QgdG8gY2hlY2tcbi8vLyBAcGFyYW0geyp9ICAgICAgICR2YWx1ZSAtIHZhbHVlIHRvIGxvb2sgZm9yXG4vLy9cbi8vLyBAZXhhbXBsZVxuLy8vIHNsLWNvbnRhaW4oYSBiIGMsIGEpXG4vLy8gLy8gdHJ1ZVxuLy8vXG4vLy8gQGV4YW1wbGVcbi8vLyBzbC1jb250YWluKGEgYiBjLCB6KVxuLy8vIC8vIGZhbHNlXG4vLy9cbi8vLyBAcmV0dXJuIHtCb29sfVxuLy8vXG5cbkBmdW5jdGlvbiBzbC1jb250YWluKCRsaXN0LCAkdmFsdWUpIHtcbiAgQHJldHVybiBub3Qgbm90IGluZGV4KCRsaXN0LCAkdmFsdWUpO1xufVxuXG4vLy9cbi8vLyBAcmVxdWlyZXMgc2wtY29udGFpblxuLy8vIEBhbGlhcyBzbC1jb250YWluXG4vLy9cbiBcbkBmdW5jdGlvbiBzbC1pbmNsdWRlKCRsaXN0LCAkdmFsdWUpIHtcbiAgQHJldHVybiBzbC1jb250YWluKCRsaXN0LCAkdmFsdWUpO1xufVxuIiwiLy8vIFJlbW92ZXMgYWxsIGZhbHNlIGFuZCBudWxsIHZhbHVlcyBmcm9tIGAkbGlzdGAuXG4vLy9cbi8vLyBAaWdub3JlIERvY3VtZW50YXRpb246IGh0dHA6Ly9hdC1pbXBvcnQuZ2l0aHViLmlvL1Nhc3N5TGlzdHMvZG9jdW1lbnRhdGlvbi8jZnVuY3Rpb24tc2wtcHVyZ2Vcbi8vL1xuLy8vIEByZXF1aXJlcyBzbC1pcy10cnVlXG4vLy8gQHJlcXVpcmVzIHNsLXRvLWxpc3Rcbi8vL1xuLy8vIEBwYXJhbSB7TGlzdH0gJGxpc3QgLSBsaXN0IHRvIHB1cmdlXG4vLy9cbi8vLyBAZXhhbXBsZVxuLy8vIHNsLXB1cmdlKG51bGwgYSBmYWxzZSBiKVxuLy8vIC8vIGEgYlxuLy8vXG4vLy8gQHJldHVybiB7TGlzdH1cbi8vL1xuXG5AZnVuY3Rpb24gc2wtcHVyZ2UoJGxpc3QpIHtcbiAgJF86IHNsLW1pc3NpbmctZGVwZW5kZW5jaWVzKCdzbC1pcy10cnVlJywgJ3NsLXRvLWxpc3QnKTtcbiAgXG4gICRyZXN1bHQ6ICgpO1xuXG4gIEBlYWNoICRpdGVtIGluICRsaXN0IHtcbiAgICBAaWYgc2wtaXMtdHJ1ZSgkaXRlbSkge1xuICAgICAgJHJlc3VsdDogYXBwZW5kKCRyZXN1bHQsICRpdGVtLCBsaXN0LXNlcGFyYXRvcigkbGlzdCkpO1xuICAgIH1cbiAgfVxuXG4gIEByZXR1cm4gc2wtdG8tbGlzdCgkcmVzdWx0KTtcbn1cblxuLy8vXG4vLy8gQHJlcXVpcmVzIHNsLXB1cmdlXG4vLy8gQGFsaWFzIHNsLXB1cmdlXG4vLy9cbiBcbkBmdW5jdGlvbiBzbC1jbGVhbigkbGlzdCkge1xuICBAcmV0dXJuIHNsLXB1cmdlKCRsaXN0KTtcbn1cbiIsIi8vL1xuLy8vIFJlbW92ZXMgdmFsdWUocykgYCR2YWx1ZWAgZnJvbSBgJGxpc3RgLlxuLy8vXG4vLy8gQGlnbm9yZSBEb2N1bWVudGF0aW9uOiBodHRwOi8vYXQtaW1wb3J0LmdpdGh1Yi5pby9TYXNzeUxpc3RzL2RvY3VtZW50YXRpb24vI2Z1bmN0aW9uLXNsLXJlbW92ZVxuLy8vXG4vLy8gQHJlcXVpcmVzIHNsLXJlcGxhY2Vcbi8vL1xuLy8vIEBwYXJhbSB7TGlzdH0gICAgJGxpc3QgICAgICAtIGxpc3QgdG8gdXBkYXRlXG4vLy8gQHBhcmFtIHsqfSAgICAgICAkdmFsdWUgICAgIC0gdmFsdWUgdG8gcmVtb3ZlXG4vLy9cbi8vLyBAZXhhbXBsZVxuLy8vIHNsLXJlbW92ZShhIGIgYywgYSlcbi8vLyAvLyBiIGNcbi8vL1xuLy8vIEByZXR1cm4ge0xpc3R9XG4vLy9cblxuQGZ1bmN0aW9uIHNsLXJlbW92ZSgkbGlzdCwgJHZhbHVlKSB7XG4gICRfOiBzbC1taXNzaW5nLWRlcGVuZGVuY2llcygnc2wtcmVwbGFjZScpO1xuXG4gIEByZXR1cm4gc2wtcmVwbGFjZSgkbGlzdCwgJHZhbHVlLCBudWxsKTtcbn1cblxuLy8vXG4vLy8gQHJlcXVpcmVzIHNsLXJlbW92ZVxuLy8vIEBhbGlhcyBzbC1yZW1vdmVcbi8vL1xuXG5AZnVuY3Rpb24gc2wtd2l0aG91dCgkbGlzdCwgJHZhbHVlKSB7XG4gIEByZXR1cm4gc2wtcmVtb3ZlKCRsaXN0LCAkdmFsdWUpO1xufVxuIiwiLy8vXG4vLy8gUmVwbGFjZXMgYCRvbGRgIGJ5IGAkbmV3YCBpbiBgJGxpc3RgLlxuLy8vXG4vLy8gQGlnbm9yZSBEb2N1bWVudGF0aW9uOiBodHRwOi8vYXQtaW1wb3J0LmdpdGh1Yi5pby9TYXNzeUxpc3RzL2RvY3VtZW50YXRpb24vI2Z1bmN0aW9uLXNsLXJlcGxhY2Vcbi8vL1xuLy8vIEByZXF1aXJlcyBzbC1pcy10cnVlXG4vLy8gQHJlcXVpcmVzIHNsLXB1cmdlXG4vLy8gQHJlcXVpcmVzIHNsLXRvLWxpc3Rcbi8vL1xuLy8vIEBwYXJhbSB7TGlzdH0gICAgJGxpc3QgIC0gbGlzdCB0byB1cGRhdGVcbi8vLyBAcGFyYW0geyp9ICAgICAgICRvbGQgICAtIHZhbHVlIHRvIHJlcGxhY2Vcbi8vLyBAcGFyYW0geyp9ICAgICAgICR2YWx1ZSAtIG5ldyB2YWx1ZSBmb3IgJG9sZFxuLy8vXG4vLy8gQGV4YW1wbGVcbi8vLyBzbC1yZXBsYWNlKGEgYiBjLCBiLCB6KVxuLy8vIC8vIGEgeiBjXG4vLy9cbi8vLyBAZXhhbXBsZVxuLy8vIHNsLXJlcGxhY2UoYSBiIGMsIHksIHopXG4vLy8gLy8gYSBiIGNcbi8vLyBcbi8vLyBAcmV0dXJuIHtMaXN0fVxuLy8vXG4gXG5AZnVuY3Rpb24gc2wtcmVwbGFjZSgkbGlzdCwgJG9sZCwgJHZhbHVlKSB7XG4gICRfOiBzbC1taXNzaW5nLWRlcGVuZGVuY2llcygnc2wtaXMtdHJ1ZScsICdzbC1wdXJnZScsICdzbC10by1saXN0Jyk7XG5cbiAgJHJ1bm5pbmc6IHRydWU7XG5cbiAgQHdoaWxlICRydW5uaW5nIHtcbiAgICAkaW5kZXg6IGluZGV4KCRsaXN0LCAkb2xkKTtcblxuICAgIEBpZiBub3QgJGluZGV4IHtcbiAgICAgICRydW5uaW5nOiBmYWxzZTtcbiAgICB9XG5cbiAgICBAZWxzZSB7XG4gICAgICAkbGlzdDogc2V0LW50aCgkbGlzdCwgJGluZGV4LCAkdmFsdWUpO1xuICAgIH1cblxuICB9XG5cbiAgJGxpc3Q6IGlmKHNsLWlzLXRydWUoJHZhbHVlKSwgJGxpc3QsIHNsLXB1cmdlKCRsaXN0KSk7XG4gIFxuICBAcmV0dXJuIHNsLXRvLWxpc3QoJGxpc3QpO1xufVxuIiwiLy8vXG4vLy8gQ2FzdHMgYCR2YWx1ZWAgaW50byBhIGxpc3QuXG4vLy9cbi8vLyBAaWdub3JlIERvY3VtZW50YXRpb246IGh0dHA6Ly9hdC1pbXBvcnQuZ2l0aHViLmlvL1Nhc3N5TGlzdHMvZG9jdW1lbnRhdGlvbi8jZnVuY3Rpb24tc2wtdG8tbGlzdFxuLy8vXG4vLy8gQHBhcmFtIHsqfSAkdmFsdWUgLSB2YWx1ZSB0byBjYXN0IHRvIGxpc3Rcbi8vLyBAcGFyYW0ge1N0cmluZ30gJHNlcGFyYXRvciBbc3BhY2VdIC0gc2VwYXJhdG9yIHRvIHVzZVxuLy8vXG4vLy8gQGV4YW1wbGVcbi8vLyBzbC10by1saXN0KGEgYiBjLCBjb21tYSlcbi8vLyAvLyBhLCBiLCBjXG4vLy8gXG4vLy8gQHJldHVybiB7TGlzdH1cbi8vL1xuXG5AZnVuY3Rpb24gc2wtdG8tbGlzdCgkdmFsdWUsICRzZXBhcmF0b3I6IGxpc3Qtc2VwYXJhdG9yKCR2YWx1ZSkpIHtcbiAgQHJldHVybiBqb2luKCgpLCAkdmFsdWUsICRzZXBhcmF0b3IpO1xufVxuXG4vLy9cbi8vLyBAcmVxdWlyZXMgc2wtdG8tbGlzdFxuLy8vIEBhbGlhcyBzbC10by1saXN0XG4vLy9cblxuQGZ1bmN0aW9uIHNsLWxpc3RpZnkoJHZhbHVlKSB7XG4gIEByZXR1cm4gc2wtdG8tbGlzdCgkdmFsdWUpO1xufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbkBpbXBvcnQgJ21hdGgnO1xuQGltcG9ydCAndW5pdCc7XG5AaW1wb3J0ICd2YWx1ZSc7XG5AaW1wb3J0ICdkaXJlY3Rpb24nO1xuQGltcG9ydCAnY29sb3InO1xuQGltcG9ydCAnc2VsZWN0b3InO1xuQGltcG9ydCAnZmxleCc7XG5AaW1wb3J0ICdicmVha3BvaW50JztcbkBpbXBvcnQgJ21peGlucyc7XG5AaW1wb3J0ICd0eXBvZ3JhcGh5JztcbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIGZ1bmN0aW9uc1xuLy8vL1xuXG4vLy8gRmluZHMgdGhlIGdyZWF0ZXN0IGNvbW1vbiBkaXZpc29yIG9mIHR3byBpbnRlZ2Vycy5cbi8vL1xuLy8vIEBwYXJhbSB7TnVtYmVyfSAkYSAtIEZpcnN0IG51bWJlciB0byBjb21wYXJlLlxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkYiAtIFNlY29uZCBudW1iZXIgdG8gY29tcGFyZS5cbi8vL1xuLy8vIEByZXR1cm5zIHtOdW1iZXJ9IFRoZSBncmVhdGVzdCBjb21tb24gZGl2aXNvci5cbkBmdW5jdGlvbiBnY2QoJGEsICRiKSB7XG4gIC8vIEZyb206IGh0dHA6Ly9yb3NldHRhY29kZS5vcmcvd2lraS9HcmVhdGVzdF9jb21tb25fZGl2aXNvciNKYXZhU2NyaXB0XG4gIEBpZiAoJGIgIT0gMCkge1xuICAgIEByZXR1cm4gZ2NkKCRiLCAkYSAlICRiKTtcbiAgfVxuICBAZWxzZSB7XG4gICAgQHJldHVybiBhYnMoJGEpO1xuICB9XG59XG5cbi8vLyBIYW5kbGVzIGRlY2ltYWwgZXhwb25lbnRzIGJ5IHRyeWluZyB0byBjb252ZXJ0IHRoZW0gaW50byBhIGZyYWN0aW9uIGFuZCB0aGVuIHVzZSBhIG50aC1yb290LWFsZ29yaXRobSBmb3IgcGFydHMgb2YgdGhlIGNhbGN1bGF0aW9uXG4vLy9cbi8vLyBAcGFyYW0ge051bWJlcn0gJGJhc2UgLSBUaGUgYmFzZSBudW1iZXIuXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRleHBvbmVudCAtIFRoZSBleHBvbmVudC5cbi8vL1xuLy8vIEByZXR1cm5zIHtOdW1iZXJ9IFRoZSBwcm9kdWN0IG9mIHRoZSBleHBvbmVudGlhdGlvbi5cbkBmdW5jdGlvbiBwb3coJGJhc2UsICRleHBvbmVudCwgJHByZWM6IDE2KSB7XG4gIEBpZiAoZmxvb3IoJGV4cG9uZW50KSAhPSAkZXhwb25lbnQpIHtcbiAgICAkcHJlYzIgOiBwb3coMTAsICRwcmVjKTtcbiAgICAkZXhwb25lbnQ6IHJvdW5kKCRleHBvbmVudCAqICRwcmVjMik7XG4gICAgJGRlbm9taW5hdG9yOiBnY2QoJGV4cG9uZW50LCAkcHJlYzIpO1xuICAgIEByZXR1cm4gbnRoLXJvb3QocG93KCRiYXNlLCAkZXhwb25lbnQgLyAkZGVub21pbmF0b3IpLCAkcHJlYzIgLyAkZGVub21pbmF0b3IsICRwcmVjKTtcbiAgfVxuXG4gICR2YWx1ZTogJGJhc2U7XG4gIEBpZiAkZXhwb25lbnQgPiAxIHtcbiAgICBAZm9yICRpIGZyb20gMiB0aHJvdWdoICRleHBvbmVudCB7XG4gICAgICAkdmFsdWU6ICR2YWx1ZSAqICRiYXNlO1xuICAgIH1cbiAgfVxuICBAZWxzZSBpZiAkZXhwb25lbnQgPCAxIHtcbiAgICBAZm9yICRpIGZyb20gMCB0aHJvdWdoIC0kZXhwb25lbnQge1xuICAgICAgJHZhbHVlOiAkdmFsdWUgLyAkYmFzZTtcbiAgICB9XG4gIH1cblxuICBAcmV0dXJuICR2YWx1ZTtcbn1cblxuQGZ1bmN0aW9uIG50aC1yb290KCRudW0sICRuOiAyLCAkcHJlYzogMTIpIHtcbiAgLy8gRnJvbTogaHR0cDovL3Jvc2V0dGFjb2RlLm9yZy93aWtpL050aF9yb290I0phdmFTY3JpcHRcbiAgJHg6IDE7XG5cbiAgQGZvciAkaSBmcm9tIDAgdGhyb3VnaCAkcHJlYyB7XG4gICAgJHg6IDEgLyAkbiAqICgoJG4gLSAxKSAqICR4ICsgKCRudW0gLyBwb3coJHgsICRuIC0gMSkpKTtcbiAgfVxuXG4gIEByZXR1cm4gJHg7XG59XG5cbi8vLyBDYWxjdWxhdGVzIHRoZSBoZWlnaHQgYXMgYSBwZXJjZW50YWdlIG9mIHRoZSB3aWR0aCBmb3IgYSBnaXZlbiByYXRpby5cbi8vLyBAcGFyYW0ge0xpc3R9ICRyYXRpbyAtIFJhdGlvIHRvIHVzZSB0byBjYWxjdWxhdGUgdGhlIGhlaWdodCwgZm9ybWF0dGVkIGFzIGB4IGJ5IHlgLlxuLy8vIEByZXR1cm4ge051bWJlcn0gQSBwZXJjZW50YWdlIHZhbHVlIGZvciB0aGUgaGVpZ2h0IHJlbGF0aXZlIHRvIHRoZSB3aWR0aCBvZiBhIHJlc3BvbnNpdmUgY29udGFpbmVyLlxuQGZ1bmN0aW9uIHJhdGlvLXRvLXBlcmNlbnRhZ2UoJHJhdGlvKSB7XG4gICR3OiBudGgoJHJhdGlvLCAxKTtcbiAgJGg6IG50aCgkcmF0aW8sIDMpO1xuICBAcmV0dXJuICRoIC8gJHcgKiAxMDAlO1xufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgZnVuY3Rpb25zXG4vLy8vXG5cbiRnbG9iYWwtZm9udC1zaXplOiAxMDAlICFkZWZhdWx0O1xuXG4vLy8gUmVtb3ZlcyB0aGUgdW5pdCAoZS5nLiBweCwgZW0sIHJlbSkgZnJvbSBhIHZhbHVlLCByZXR1cm5pbmcgdGhlIG51bWJlciBvbmx5LlxuLy8vXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRudW0gLSBOdW1iZXIgdG8gc3RyaXAgdW5pdCBmcm9tLlxuLy8vXG4vLy8gQHJldHVybnMge051bWJlcn0gVGhlIHNhbWUgbnVtYmVyLCBzYW5zIHVuaXQuXG5AZnVuY3Rpb24gc3RyaXAtdW5pdCgkbnVtKSB7XG4gIEByZXR1cm4gJG51bSAvICgkbnVtICogMCArIDEpO1xufVxuXG4vLy8gQ29udmVydHMgb25lIG9yIG1vcmUgcGl4ZWwgdmFsdWVzIGludG8gbWF0Y2hpbmcgcmVtIHZhbHVlcy5cbi8vL1xuLy8vIEBwYXJhbSB7TnVtYmVyfExpc3R9ICR2YWx1ZXMgLSBPbmUgb3IgbW9yZSB2YWx1ZXMgdG8gY29udmVydC4gQmUgc3VyZSB0byBzZXBhcmF0ZSB0aGVtIHdpdGggc3BhY2VzIGFuZCBub3QgY29tbWFzLiBJZiB5b3UgbmVlZCB0byBjb252ZXJ0IGEgY29tbWEtc2VwYXJhdGVkIGxpc3QsIHdyYXAgdGhlIGxpc3QgaW4gcGFyZW50aGVzZXMuXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRiYXNlIFtudWxsXSAtIFRoZSBiYXNlIHZhbHVlIHRvIHVzZSB3aGVuIGNhbGN1bGF0aW5nIHRoZSBgcmVtYC4gSWYgeW91J3JlIHVzaW5nIEZvdW5kYXRpb24gb3V0IG9mIHRoZSBib3gsIHRoaXMgaXMgMTZweC4gSWYgdGhpcyBwYXJhbWV0ZXIgaXMgYG51bGxgLCB0aGUgZnVuY3Rpb24gd2lsbCByZWZlcmVuY2UgdGhlIGAkYmFzZS1mb250LXNpemVgIHZhcmlhYmxlIGFzIHRoZSBiYXNlLlxuLy8vXG4vLy8gQHJldHVybnMge0xpc3R9IEEgbGlzdCBvZiBjb252ZXJ0ZWQgdmFsdWVzLlxuQGZ1bmN0aW9uIHJlbS1jYWxjKCR2YWx1ZXMsICRiYXNlOiBudWxsKSB7XG4gICRyZW0tdmFsdWVzOiAoKTtcbiAgJGNvdW50OiBsZW5ndGgoJHZhbHVlcyk7XG5cbiAgLy8gSWYgbm8gYmFzZSBpcyBkZWZpbmVkLCBkZWZlciB0byB0aGUgZ2xvYmFsIGZvbnQgc2l6ZVxuICBAaWYgJGJhc2UgPT0gbnVsbCB7XG4gICAgJGJhc2U6ICRnbG9iYWwtZm9udC1zaXplO1xuICB9XG5cbiAgLy8gSWYgdGhlIGJhc2UgZm9udCBzaXplIGlzIGEgJSwgdGhlbiBtdWx0aXBseSBpdCBieSAxNnB4XG4gIC8vIFRoaXMgaXMgYmVjYXVzZSAxMDAlIGZvbnQgc2l6ZSA9IDE2cHggaW4gbW9zdCBhbGwgYnJvd3NlcnNcbiAgQGlmIHVuaXQoJGJhc2UpID09ICclJyB7XG4gICAgJGJhc2U6ICgkYmFzZSAvIDEwMCUpICogMTZweDtcbiAgfVxuXG4gIC8vIFVzaW5nIHJlbSBhcyBiYXNlIGFsbG93cyBjb3JyZWN0IHNjYWxpbmdcbiAgQGlmIHVuaXQoJGJhc2UpID09ICdyZW0nIHtcbiAgICAkYmFzZTogc3RyaXAtdW5pdCgkYmFzZSkgKiAxNnB4O1xuICB9XG5cbiAgQGlmICRjb3VudCA9PSAxIHtcbiAgICBAcmV0dXJuIC16Zi10by1yZW0oJHZhbHVlcywgJGJhc2UpO1xuICB9XG5cbiAgQGZvciAkaSBmcm9tIDEgdGhyb3VnaCAkY291bnQge1xuICAgICRyZW0tdmFsdWVzOiBhcHBlbmQoJHJlbS12YWx1ZXMsIC16Zi10by1yZW0obnRoKCR2YWx1ZXMsICRpKSwgJGJhc2UpKTtcbiAgfVxuXG4gIEByZXR1cm4gJHJlbS12YWx1ZXM7XG59XG5cbi8vIENvbnZlcnRzIGEgdW5pdGxlc3MsIHBpeGVsLCBvciByZW0gdmFsdWUgdG8gZW0sIGZvciB1c2UgaW4gYnJlYWtwb2ludHMuXG5AZnVuY3Rpb24gLXpmLWJwLXRvLWVtKCR2YWx1ZSkge1xuICAvLyBQaXhlbCBhbmQgdW5pdGxlc3MgdmFsdWVzIGFyZSBjb252ZXJ0ZWQgdG8gcmVtc1xuICBAaWYgdW5pdCgkdmFsdWUpID09ICdweCcgb3IgdW5pdGxlc3MoJHZhbHVlKSB7XG4gICAgJHZhbHVlOiByZW0tY2FsYygkdmFsdWUsICRiYXNlOiAxNnB4KTtcbiAgfVxuXG4gIC8vIFRoZW4gdGhlIHZhbHVlIGlzIGNvbnZlcnRlZCB0byBlbXNcbiAgQHJldHVybiBzdHJpcC11bml0KCR2YWx1ZSkgKiAxZW07XG59XG5cbi8vLyBDb252ZXJ0cyBhIHBpeGVsIHZhbHVlIHRvIG1hdGNoaW5nIHJlbSB2YWx1ZS4gKkFueSogdmFsdWUgcGFzc2VkLCByZWdhcmRsZXNzIG9mIHVuaXQsIGlzIGFzc3VtZWQgdG8gYmUgYSBwaXhlbCB2YWx1ZS4gQnkgZGVmYXVsdCwgdGhlIGJhc2UgcGl4ZWwgdmFsdWUgdXNlZCB0byBjYWxjdWxhdGUgdGhlIHJlbSB2YWx1ZSBpcyB0YWtlbiBmcm9tIHRoZSBgJGdsb2JhbC1mb250LXNpemVgIHZhcmlhYmxlLlxuLy8vIEBhY2Nlc3MgcHJpdmF0ZVxuLy8vXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICR2YWx1ZSAtIFBpeGVsIHZhbHVlIHRvIGNvbnZlcnQuXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRiYXNlIFtudWxsXSAtIEJhc2UgZm9yIHBpeGVsIGNvbnZlcnNpb24uXG4vLy9cbi8vLyBAcmV0dXJucyB7TnVtYmVyfSBBIG51bWJlciBpbiByZW1zLCBjYWxjdWxhdGVkIGJhc2VkIG9uIHRoZSBnaXZlbiB2YWx1ZSBhbmQgdGhlIGJhc2UgcGl4ZWwgdmFsdWUuIHJlbSB2YWx1ZXMgYXJlIHBhc3NlZCB0aHJvdWdoIGFzIGlzLlxuQGZ1bmN0aW9uIC16Zi10by1yZW0oJHZhbHVlLCAkYmFzZTogbnVsbCkge1xuICAvLyBDaGVjayBpZiB0aGUgdmFsdWUgaXMgYSBudW1iZXJcbiAgQGlmIHR5cGUtb2YoJHZhbHVlKSAhPSAnbnVtYmVyJyB7XG4gICAgQHdhcm4gaW5zcGVjdCgkdmFsdWUpICsgJyB3YXMgcGFzc2VkIHRvIHJlbS1jYWxjKCksIHdoaWNoIGlzIG5vdCBhIG51bWJlci4nO1xuICAgIEByZXR1cm4gJHZhbHVlO1xuICB9XG5cbiAgLy8gVHJhbnNmb3JtIGVtIGludG8gcmVtIGlmIHNvbWVvbmUgaGFuZHMgb3ZlciAnZW0nc1xuICBAaWYgdW5pdCgkdmFsdWUpID09ICdlbScge1xuICAgICR2YWx1ZTogc3RyaXAtdW5pdCgkdmFsdWUpICogMXJlbTtcbiAgfVxuXG4gIC8vIENhbGN1bGF0ZSByZW0gaWYgdW5pdHMgZm9yICR2YWx1ZSBpcyBub3QgcmVtIG9yIGVtXG4gIEBpZiB1bml0KCR2YWx1ZSkgIT0gJ3JlbScge1xuICAgICR2YWx1ZTogc3RyaXAtdW5pdCgkdmFsdWUpIC8gc3RyaXAtdW5pdCgkYmFzZSkgKiAxcmVtO1xuICB9XG5cbiAgLy8gVHVybiAwcmVtIGludG8gMFxuICBAaWYgJHZhbHVlID09IDByZW0ge1xuICAgICR2YWx1ZTogMDtcbiAgfVxuXG4gIEByZXR1cm4gJHZhbHVlO1xufVxuXG4vLy8gQ29udmVydHMgYSBwaXhlbCwgcGVyY2VudGFnZSwgcmVtIG9yIGVtIHZhbHVlIHRvIGEgdW5pdGxlc3MgdmFsdWUgYmFzZWQgb24gYSBnaXZlbiBmb250IHNpemUuIElkZWFsIGZvciB3b3JraW5nIG91dCB1bml0bGVzcyBsaW5lIGhlaWdodHMuXG4vLy9cbi8vLyBAcGFyYW0ge051bWJlcn0gJHZhbHVlIC0gVmFsdWUgdG8gY29udmVydCB0byBhIHVuaXRsZXNzIGxpbmUgaGVpZ2h0XG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRiYXNlIC0gVGhlIGZvbnQgc2l6ZSB0byB1c2UgdG8gd29yayBvdXQgdGhlIGxpbmUgaGVpZ2h0IC0gZGVmYXVsdHMgdG8gJGdsb2JhbC1mb250LXNpemVcbi8vL1xuLy8vIEByZXR1cm4ge051bWJlcn0gLSBVbml0bGVzcyBudW1iZXJcbkBmdW5jdGlvbiB1bml0bGVzcy1jYWxjKCR2YWx1ZSwgJGJhc2U6IG51bGwpIHtcblxuICAvLyBJZiBubyBiYXNlIGlzIGRlZmluZWQsIGRlZmVyIHRvIHRoZSBnbG9iYWwgZm9udCBzaXplXG4gIEBpZiAkYmFzZSA9PSBudWxsIHtcbiAgICAkYmFzZTogJGdsb2JhbC1mb250LXNpemU7XG4gIH1cblxuICAvLyBGaXJzdCwgbGV0cyBjb252ZXJ0IG91ciAkYmFzZSB0byBwaXhlbHNcblxuICAvLyBJZiB0aGUgYmFzZSBmb250IHNpemUgaXMgYSAlLCB0aGVuIG11bHRpcGx5IGl0IGJ5IDE2cHhcbiAgQGlmIHVuaXQoJGJhc2UpID09ICclJyB7XG4gICAgJGJhc2U6ICgkYmFzZSAvIDEwMCUpICogMTZweDtcbiAgfVxuXG4gIEBpZiB1bml0KCRiYXNlKSA9PSAncmVtJyB7XG4gICAgJGJhc2U6IHN0cmlwLXVuaXQoJGJhc2UpICogMTZweDtcbiAgfVxuXG4gIEBpZiB1bml0KCRiYXNlKSA9PSAnZW0nIHtcbiAgICAkYmFzZTogc3RyaXAtdW5pdCgkYmFzZSkgKiAxNnB4O1xuICB9XG5cbiAgLy8gTm93IGxldHMgY29udmVydCBvdXIgdmFsdWUgdG8gcGl4ZWxzIHRvb1xuICBAaWYgdW5pdCgkdmFsdWUpID09ICclJyB7XG4gICAgJHZhbHVlOiAoJHZhbHVlIC8gMTAwJSkgKiAkYmFzZTtcbiAgfVxuXG4gIEBpZiB1bml0KCR2YWx1ZSkgPT0gJ3JlbScge1xuICAgICR2YWx1ZTogc3RyaXAtdW5pdCgkdmFsdWUpICogJGJhc2U7XG4gIH1cblxuICBAaWYgdW5pdCgkdmFsdWUpID09ICdlbScge1xuICAgICR2YWx1ZTogc3RyaXAtdW5pdCgkdmFsdWUpICogJGJhc2U7XG4gIH1cblxuICAvLyAncHgnXG4gIEBpZiB1bml0KCR2YWx1ZSkgPT0gJ3B4JyB7XG4gICAgQHJldHVybiBzdHJpcC11bml0KCR2YWx1ZSkgLyBzdHJpcC11bml0KCRiYXNlKTtcbiAgfVxuXG4gIC8vIGFzc3VtZSB0aGF0IGxpbmUtaGVpZ2h0cyBncmVhdGVybiB0aGVuIDEwIGFyZSBtZWFudCB0byBiZSBhYnNvbHV0ZSBpbiAncHgnXG4gIEBpZiB1bml0bGVzcygkdmFsdWUpIGFuZCAoJHZhbHVlID4gMTApIHtcbiAgICBAcmV0dXJuICR2YWx1ZSAvIHN0cmlwLXVuaXQoJGJhc2UpO1xuICB9XG5cbiAgQHJldHVybiAkdmFsdWU7XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBmdW5jdGlvbnNcbi8vLy9cblxuLy8vIERldGVybWluZSBpZiBhIHZhbHVlIGlzIG5vdCBmYWxzZXksIGluIENTUyB0ZXJtcy4gRmFsc2V5IHZhbHVlcyBhcmUgYG51bGxgLCBgbm9uZWAsIGAwYCB3aXRoIGFueSB1bml0LCBvciBhbiBlbXB0eSBsaXN0LlxuLy8vXG4vLy8gQHBhcmFtIHtNaXhlZH0gJHZhbCAtIFZhbHVlIHRvIGNoZWNrLlxuLy8vXG4vLy8gQHJldHVybnMge0Jvb2xlYW59IGB0cnVlYCBpZiBgJHZhbGAgaXMgbm90IGZhbHNleS5cbkBmdW5jdGlvbiBoYXMtdmFsdWUoJHZhbCkge1xuICBAaWYgJHZhbCA9PSBudWxsIG9yICR2YWwgPT0gbm9uZSB7XG4gICAgQHJldHVybiBmYWxzZTtcbiAgfVxuICBAaWYgdHlwZS1vZigkdmFsKSA9PSAnbnVtYmVyJyBhbmQgc3RyaXAtdW5pdCgkdmFsKSA9PSAwIHtcbiAgICBAcmV0dXJuIGZhbHNlO1xuICB9XG4gIEBpZiB0eXBlLW9mKCR2YWwpID09ICdsaXN0JyBhbmQgbGVuZ3RoKCR2YWwpID09IDAge1xuICAgIEByZXR1cm4gZmFsc2U7XG4gIH1cbiAgQHJldHVybiB0cnVlO1xufVxuXG4vLy8gRGV0ZXJtaW5lIGEgdG9wL3JpZ2h0L2JvdHRvbS9yaWdodCB2YWx1ZSBvbiBhIHBhZGRpbmcsIG1hcmdpbiwgZXRjLiBwcm9wZXJ0eSwgbm8gbWF0dGVyIGhvdyBtYW55IHZhbHVlcyB3ZXJlIHBhc3NlZCBpbi4gVXNlIHRoaXMgZnVuY3Rpb24gaWYgeW91IG5lZWQgdG8ga25vdyB0aGUgc3BlY2lmaWMgc2lkZSBvZiBhIHZhbHVlLCBidXQgZG9uJ3Qga25vdyBpZiB0aGUgdmFsdWUgaXMgdXNpbmcgYSBzaG9ydGhhbmQgZm9ybWF0LlxuLy8vXG4vLy8gQHBhcmFtIHtMaXN0fE51bWJlcn0gJHZhbCAtIFZhbHVlIHRvIGFuYWx5emUuIFNob3VsZCBiZSBhIHNob3J0aGFuZCBzaXppbmcgcHJvcGVydHksIGUuZy4gXCIxZW0gMmVtIDFlbVwiXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkc2lkZSAtIFNpZGUgdG8gcmV0dXJuLiBTaG91bGQgYmUgYHRvcGAsIGByaWdodGAsIGBib3R0b21gLCBvciBgbGVmdGAuXG4vLy9cbi8vLyBAcmV0dXJucyB7TnVtYmVyfSBBIHNpbmdsZSB2YWx1ZSBiYXNlZCBvbiBgJHZhbGAgYW5kIGAkc2lkZWAuXG5AZnVuY3Rpb24gZ2V0LXNpZGUoJHZhbCwgJHNpZGUpIHtcbiAgJGxlbmd0aDogbGVuZ3RoKCR2YWwpO1xuXG4gIEBpZiAkbGVuZ3RoID09IDEge1xuICAgIEByZXR1cm4gJHZhbDtcbiAgfVxuICBAaWYgJGxlbmd0aCA9PSAyIHtcbiAgICBAcmV0dXJuIG1hcC1nZXQoKFxuICAgICAgdG9wOiBudGgoJHZhbCwgMSksXG4gICAgICBib3R0b206IG50aCgkdmFsLCAxKSxcbiAgICAgIGxlZnQ6IG50aCgkdmFsLCAyKSxcbiAgICAgIHJpZ2h0OiBudGgoJHZhbCwgMiksXG4gICAgKSwgJHNpZGUpO1xuICB9XG4gIEBpZiAkbGVuZ3RoID09IDMge1xuICAgIEByZXR1cm4gbWFwLWdldCgoXG4gICAgICB0b3A6IG50aCgkdmFsLCAxKSxcbiAgICAgIGxlZnQ6IG50aCgkdmFsLCAyKSxcbiAgICAgIHJpZ2h0OiBudGgoJHZhbCwgMiksXG4gICAgICBib3R0b206IG50aCgkdmFsLCAzKSxcbiAgICApLCAkc2lkZSk7XG4gIH1cbiAgQGlmICRsZW5ndGggPT0gNCB7XG4gICAgQHJldHVybiBtYXAtZ2V0KChcbiAgICAgIHRvcDogbnRoKCR2YWwsIDEpLFxuICAgICAgcmlnaHQ6IG50aCgkdmFsLCAyKSxcbiAgICAgIGJvdHRvbTogbnRoKCR2YWwsIDMpLFxuICAgICAgbGVmdDogbnRoKCR2YWwsIDQpLFxuICAgICksICRzaWRlKTtcbiAgfVxufVxuXG4vLy8gR2l2ZW4gYm9yZGVyICR2YWwsIGZpbmQgYSBzcGVjaWZpYyBlbGVtZW50IG9mIHRoZSBib3JkZXIsIHdoaWNoIGlzICRlbGVtLiBUaGUgcG9zc2libGUgdmFsdWVzIGZvciAkZWxlbSBhcmUgd2lkdGgsIHN0eWxlLCBhbmQgY29sb3IuXG4vLy9cbi8vLyBAcGFyYW0ge0xpc3R9ICR2YWwgLSBCb3JkZXIgdmFsdWUgdG8gZmluZCBhIHZhbHVlIGluLlxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJGVsZW0gLSBCb3JkZXIgY29tcG9uZW50IHRvIGV4dHJhY3QuXG4vLy9cbi8vLyBAcmV0dXJucyB7TWl4ZWR9IElmIHRoZSB2YWx1ZSBleGlzdHMsIHJldHVybnMgdGhlIHZhbHVlLiBJZiB0aGUgdmFsdWUgaXMgbm90IGluIHRoZSBib3JkZXIgZGVmaW5pdGlvbiwgdGhlIGZ1bmN0aW9uIHdpbGwgcmV0dXJuIGEgMHB4IHdpZHRoLCBzb2xpZCBzdHlsZSwgb3IgYmxhY2sgYm9yZGVyLlxuQGZ1bmN0aW9uIGdldC1ib3JkZXItdmFsdWUoJHZhbCwgJGVsZW0pIHtcbiAgLy8gRmluZCB0aGUgd2lkdGgsIHN0eWxlLCBvciBjb2xvciBhbmQgcmV0dXJuIGl0XG4gIEBlYWNoICR2IGluICR2YWwge1xuICAgICR0eXBlOiB0eXBlLW9mKCR2KTtcbiAgICBAaWYgJGVsZW0gPT0gd2lkdGggYW5kICR0eXBlID09ICdudW1iZXInIHtcbiAgICAgIEByZXR1cm4gJHY7XG4gICAgfVxuICAgIEBpZiAkZWxlbSA9PSBzdHlsZSBhbmQgJHR5cGUgPT0gJ3N0cmluZycge1xuICAgICAgQHJldHVybiAkdjtcbiAgICB9XG4gICAgQGlmICRlbGVtID09IGNvbG9yIGFuZCAkdHlwZSA9PSAnY29sb3InIHtcbiAgICAgIEByZXR1cm4gJHY7XG4gICAgfVxuICB9XG5cbiAgLy8gRGVmYXVsdHNcbiAgJGRlZmF1bHRzOiAoXG4gICAgd2lkdGg6IDAsXG4gICAgc3R5bGU6IHNvbGlkLFxuICAgIGNvbG9yOiAjMDAwLFxuICApO1xuXG4gIEByZXR1cm4gbWFwLWdldCgkZGVmYXVsdHMsICRlbGVtKTtcbn1cblxuLy8vIEZpbmRzIGEgdmFsdWUgaW4gYSBuZXN0ZWQgbWFwLlxuLy8vIEBsaW5rIGh0dHBzOi8vY3NzLXRyaWNrcy5jb20vc25pcHBldHMvc2Fzcy9kZWVwLWdldHNldC1tYXBzLyBEZWVwIEdldC9TZXQgaW4gTWFwc1xuLy8vXG4vLy8gQHBhcmFtIHtNYXB9ICRtYXAgLSBNYXAgdG8gcHVsbCBhIHZhbHVlIGZyb20uXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICRrZXlzLi4uIC0gS2V5cyB0byB1c2Ugd2hlbiBsb29raW5nIGZvciBhIHZhbHVlLlxuLy8vIEByZXR1cm5zIHtNaXhlZH0gVGhlIHZhbHVlIGZvdW5kIGluIHRoZSBtYXAuXG5AZnVuY3Rpb24gbWFwLWRlZXAtZ2V0KCRtYXAsICRrZXlzLi4uKSB7XG4gIEBlYWNoICRrZXkgaW4gJGtleXMge1xuICAgICRtYXA6IG1hcC1nZXQoJG1hcCwgJGtleSk7XG4gIH1cbiAgQHJldHVybiAkbWFwO1xufVxuXG4vLy8gQ2FzdHMgYSBtYXAgaW50byBhIGxpc3QuXG4vLy8gQGxpbmsgaHR0cDovL2h1Z29naXJhdWRlbC5jb20vMjAxNC8wNC8yOC9jYXN0aW5nLW1hcC1pbnRvLWxpc3QvXG4vLy9cbi8vLyBAcGFyYW0ge01hcH0gJG1hcCAtIE1hcCB0byBwdWxsIGEgdmFsdWUgZnJvbS5cbi8vL1xuLy8vIEByZXR1cm5zIHtMaXN0fSBEZXBlbmRpbmcgb24gdGhlIGZsYWcsIHJldHVybnMgZWl0aGVyICRrZXlzIG9yICR2YWx1ZXMgb3IgYm90aC5cbkBmdW5jdGlvbiBtYXAtdG8tbGlzdCgkbWFwLCAka2VlcDogJ2JvdGgnKSB7XG4gICRrZWVwOiBpZihpbmRleCgna2V5cycgJ3ZhbHVlcycsICRrZWVwKSwgJGtlZXAsICdib3RoJyk7XG5cbiAgQGlmIHR5cGUtb2YoJG1hcCkgPT0gJ21hcCcge1xuICAgICRrZXlzOiAoKTtcbiAgICAkdmFsdWVzOiAoKTtcblxuICAgIEBlYWNoICRrZXksICR2YWwgaW4gJG1hcCB7XG4gICAgICAka2V5czogYXBwZW5kKCRrZXlzLCAka2V5KTtcbiAgICAgICR2YWx1ZXM6IGFwcGVuZCgkdmFsdWVzLCAkdmFsKTtcbiAgICB9XG5cbiAgICBAaWYgJGtlZXAgPT0gJ2tleXMnIHtcbiAgICAgIEByZXR1cm4gJGtleXM7XG4gICAgfVxuICAgIEBlbHNlIGlmICRrZWVwID09ICd2YWx1ZXMnIHtcbiAgICAgIEByZXR1cm4gJHZhbHVlcztcbiAgICB9XG4gICAgQGVsc2Uge1xuICAgICAgQHJldHVybiB6aXAoJGtleXMsICR2YWx1ZXMpO1xuICAgIH1cbiAgfVxuXG4gIEByZXR1cm4gaWYodHlwZS1vZigkbWFwKSAhPSAnbGlzdCcsICgkdmFsdWUsKSwgJG1hcCk7XG5cbn1cblxuLy8vIFNhZmVseSByZXR1cm4gYSB2YWx1ZSBmcm9tIGEgbWFwLlxuLy8vXG4vLy8gQHBhcmFtIHtNYXB9ICRtYXAgLSBNYXAgdG8gcmV0cmlldmUgYSB2YWx1ZSBmcm9tLlxuLy8vIEBwYXJhbSB7U3RyaW5nfSAka2V5IC0gTmFtZSBvZiB0aGUgbWFwIGtleS5cbi8vL1xuLy8vIEByZXR1cm5zIHtMaXN0fSBGb3VuZCB2YWx1ZS5cbkBmdW5jdGlvbiBtYXAtc2FmZS1nZXQoJG1hcCwgJGtleSkge1xuICBAaWYgKHR5cGUtb2YoJG1hcCkgPT0gJ21hcCcgb3IgKHR5cGUtb2YoJG1hcCkgPT0gJ2xpc3QnIGFuZCBsZW5ndGgoJG1hcCkgPT0gMCkpIHtcbiAgICBAaWYgKG1hcC1oYXMta2V5KCRtYXAsICRrZXkpKSB7XG4gICAgICBAcmV0dXJuIG1hcC1nZXQoJG1hcCwgJGtleSk7XG4gICAgfVxuICAgIEBlbHNlIHtcbiAgICAgIEBlcnJvciAnS2V5OiBgI3ska2V5fWAgaXMgbm90IGF2YWlsYWJsZSBpbiBgI3skbWFwfWAnO1xuICAgIH1cbiAgfVxuICBAZWxzZSB7XG4gICAgQGVycm9yICdgI3skbWFwfWAgaXMgbm90IGEgdmFsaWQgbWFwJztcbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgZnVuY3Rpb25zXG4vLy8vXG5cbi8vLyBSZXR1cm5zIHRoZSBvcHBvc2l0ZSBkaXJlY3Rpb24gb2YgJGRpclxuLy8vXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkZGlyIC0gVXNlZCBkaXJlY3Rpb24gYmV0d2VlbiBcInRvcFwiLCBcInJpZ2h0XCIsIFwiYm90dG9tXCIgYW5kIFwibGVmdFwiLlxuLy8vIEByZXR1cm4ge0tleXdvcmR9IE9wcG9zaXRlIGRpcmVjdGlvbiBvZiAkZGlyXG5AZnVuY3Rpb24gZGlyZWN0aW9uLW9wcG9zaXRlKFxuICAkZGlyXG4pIHtcbiAgJGRpcnM6ICh0b3AsIHJpZ2h0LCBib3R0b20sIGxlZnQpO1xuICAkcGxhY2U6IGluZGV4KCRkaXJzLCAkZGlyKTtcblxuICBAaWYgJHBsYWNlID09IG51bGwge1xuICAgIEBlcnJvciAnZGlyZWN0aW9uLW9wcG9zaXRlOiBJbnZhbGlkICRkaXIgcGFyYW1ldGVyLCBleHBlY3RlZCBhIHZhbHVlIGZyb20gXCIjeyRkaXJzfVwiLCBmb3VuZCBcIiN7JGRpcn1cIi4nO1xuICAgIEByZXR1cm4gbnVsbDtcbiAgfVxuXG4gIC8vIENhbGN1bCB0aGUgb3Bwb3NpdGUgcGxhY2UgaW4gYSBjaXJjbGUsIHdpdGggYSBzdGFydGluZyBpbmRleCBvZiAxXG4gICRsZW5ndGg6IGxlbmd0aCgkZGlycyk7XG4gICRkZW1pOiAkbGVuZ3RoIC8gMjtcbiAgJG9wcG9zaXRlLXBsYWNlOiAoKCRwbGFjZSArICRkZW1pIC0gMSkgJSAkbGVuZ3RoKSArIDE7XG5cbiAgQHJldHVybiBudGgoJGRpcnMsICRvcHBvc2l0ZS1wbGFjZSk7XG59XG5cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG5AaW1wb3J0ICdtYXRoJztcblxuJGNvbnRyYXN0LXdhcm5pbmdzOiB0cnVlICFkZWZhdWx0O1xuXG4vLy8vXG4vLy8gQGdyb3VwIGZ1bmN0aW9uc1xuLy8vL1xuXG4vLy8gQ2hlY2tzIHRoZSBsdW1pbmFuY2Ugb2YgYCRjb2xvcmAuXG4vLy9cbi8vLyBAcGFyYW0ge0NvbG9yfSAkY29sb3IgLSBDb2xvciB0byBjaGVjayB0aGUgbHVtaW5hbmNlIG9mLlxuLy8vXG4vLy8gQHJldHVybnMge051bWJlcn0gVGhlIGx1bWluYW5jZSBvZiBgJGNvbG9yYC5cbkBmdW5jdGlvbiBjb2xvci1sdW1pbmFuY2UoJGNvbG9yKSB7XG4gIC8vIEFkYXB0ZWQgZnJvbTogaHR0cHM6Ly9naXRodWIuY29tL0xlYVZlcm91L2NvbnRyYXN0LXJhdGlvL2Jsb2IvZ2gtcGFnZXMvY29sb3IuanNcbiAgLy8gRm9ybXVsYTogaHR0cDovL3d3dy53My5vcmcvVFIvMjAwOC9SRUMtV0NBRzIwLTIwMDgxMjExLyNyZWxhdGl2ZWx1bWluYW5jZWRlZlxuICAkcmdiYTogcmVkKCRjb2xvciksIGdyZWVuKCRjb2xvciksIGJsdWUoJGNvbG9yKTtcbiAgJHJnYmEyOiAoKTtcblxuICBAZm9yICRpIGZyb20gMSB0aHJvdWdoIDMge1xuICAgICRyZ2I6IG50aCgkcmdiYSwgJGkpO1xuICAgICRyZ2I6ICRyZ2IgLyAyNTU7XG5cbiAgICAkcmdiOiBpZigkcmdiIDwgMC4wMzkyOCwgJHJnYiAvIDEyLjkyLCBwb3coKCRyZ2IgKyAwLjA1NSkgLyAxLjA1NSwgMi40KSk7XG5cbiAgICAkcmdiYTI6IGFwcGVuZCgkcmdiYTIsICRyZ2IpO1xuICB9XG5cbiAgQHJldHVybiAwLjIxMjYgKiBudGgoJHJnYmEyLCAxKSArIDAuNzE1MiAqIG50aCgkcmdiYTIsIDIpICsgMC4wNzIyICogbnRoKCRyZ2JhMiwgMyk7XG59XG5cbi8vLyBDaGVja3MgdGhlIGNvbnRyYXN0IHJhdGlvIG9mIHR3byBjb2xvcnMuXG4vLy9cbi8vLyBAcGFyYW0ge0NvbG9yfSAkY29sb3IxIC0gRmlyc3QgY29sb3IgdG8gY29tcGFyZS5cbi8vLyBAcGFyYW0ge0NvbG9yfSAkY29sb3IyIC0gU2Vjb25kIGNvbG9yIHRvIGNvbXBhcmUuXG4vLy9cbi8vLyBAcmV0dXJucyB7TnVtYmVyfSBUaGUgY29udHJhc3QgcmF0aW8gb2YgdGhlIGNvbXBhcmVkIGNvbG9ycy5cbkBmdW5jdGlvbiBjb2xvci1jb250cmFzdCgkY29sb3IxLCAkY29sb3IyKSB7XG4gIC8vIEFkYXB0ZWQgZnJvbTogaHR0cHM6Ly9naXRodWIuY29tL0xlYVZlcm91L2NvbnRyYXN0LXJhdGlvL2Jsb2IvZ2gtcGFnZXMvY29sb3IuanNcbiAgLy8gRm9ybXVsYTogaHR0cDovL3d3dy53My5vcmcvVFIvMjAwOC9SRUMtV0NBRzIwLTIwMDgxMjExLyNjb250cmFzdC1yYXRpb2RlZlxuICAkbHVtaW5hbmNlMTogY29sb3ItbHVtaW5hbmNlKCRjb2xvcjEpICsgMC4wNTtcbiAgJGx1bWluYW5jZTI6IGNvbG9yLWx1bWluYW5jZSgkY29sb3IyKSArIDAuMDU7XG4gICRyYXRpbzogJGx1bWluYW5jZTEgLyAkbHVtaW5hbmNlMjtcblxuICBAaWYgJGx1bWluYW5jZTIgPiAkbHVtaW5hbmNlMSB7XG4gICAgJHJhdGlvOiAxIC8gJHJhdGlvO1xuICB9XG5cbiAgJHJhdGlvOiByb3VuZCgkcmF0aW8gKiAxMCkgLyAxMDtcblxuICBAcmV0dXJuICRyYXRpbztcbn1cblxuLy8vIENoZWNrcyB0aGUgbHVtaW5hbmNlIG9mIGAkYmFzZWAsIGFuZCByZXR1cm5zIHRoZSBjb2xvciBmcm9tIGAkY29sb3JzYCAobGlzdCBvZiBjb2xvcnMpIHRoYXQgaGFzIHRoZSBtb3N0IGNvbnRyYXN0LlxuLy8vXG4vLy8gQHBhcmFtIHtDb2xvcn0gJGJhc2UgLSBDb2xvciB0byBjaGVjayBsdW1pbmFuY2UuXG4vLy8gQHBhcmFtIHtMaXN0fSAkY29sb3JzIFsoJHdoaXRlLCAkYmxhY2spXSAtIENvbG9ycyB0byBjb21wYXJlLlxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkdG9sZXJhbmNlIFskZ2xvYmFsLWNvbG9yLXBpY2stY29udHJhc3QtdG9sZXJhbmNlXSAtIENvbnRyYXN0IHRvbGVyYW5jZS5cbi8vL1xuLy8vIEByZXR1cm5zIHtDb2xvcn0gdGhlIGNvbG9yIGZyb20gYCRjb2xvcnNgIChsaXN0IG9mIGNvbG9ycykgdGhhdCBoYXMgdGhlIG1vc3QgY29udHJhc3QuXG5AZnVuY3Rpb24gY29sb3ItcGljay1jb250cmFzdCgkYmFzZSwgJGNvbG9yczogKCR3aGl0ZSwgJGJsYWNrKSwgJHRvbGVyYW5jZTogJGdsb2JhbC1jb2xvci1waWNrLWNvbnRyYXN0LXRvbGVyYW5jZSkge1xuICAkY29udHJhc3Q6IGNvbG9yLWNvbnRyYXN0KCRiYXNlLCBudGgoJGNvbG9ycywgMSkpO1xuICAkYmVzdDogbnRoKCRjb2xvcnMsIDEpO1xuXG4gIEBmb3IgJGkgZnJvbSAyIHRocm91Z2ggbGVuZ3RoKCRjb2xvcnMpIHtcbiAgICAkY3VycmVudC1jb250cmFzdDogY29sb3ItY29udHJhc3QoJGJhc2UsIG50aCgkY29sb3JzLCAkaSkpO1xuICAgIEBpZiAoJGN1cnJlbnQtY29udHJhc3QgLSAkY29udHJhc3QgPiAkdG9sZXJhbmNlKSB7XG4gICAgICAkY29udHJhc3Q6IGNvbG9yLWNvbnRyYXN0KCRiYXNlLCBudGgoJGNvbG9ycywgJGkpKTtcbiAgICAgICRiZXN0OiBudGgoJGNvbG9ycywgJGkpO1xuICAgIH1cbiAgfVxuXG4gIEBpZiAoJGNvbnRyYXN0LXdhcm5pbmdzIGFuZCAkY29udHJhc3QgPCAzKSB7XG4gICAgQHdhcm4gXCJDb250cmFzdCByYXRpbyBvZiAjeyRiZXN0fSBvbiAjeyRiYXNlfSBpcyBwcmV0dHkgYmFkLCBqdXN0ICN7JGNvbnRyYXN0fVwiO1xuICB9XG5cbiAgQHJldHVybiAkYmVzdDtcbn1cblxuLy8vIFNjYWxlcyBhIGNvbG9yIHRvIGJlIGRhcmtlciBpZiBpdCdzIGxpZ2h0LCBvciBsaWdodGVyIGlmIGl0J3MgZGFyay4gVXNlIHRoaXMgZnVuY3Rpb24gdG8gdGludCBhIGNvbG9yIGFwcHJvcHJpYXRlIHRvIGl0cyBsaWdodG5lc3MuXG4vLy9cbi8vLyBAcGFyYW0ge0NvbG9yfSAkY29sb3IgLSBDb2xvciB0byBzY2FsZS5cbi8vLyBAcGFyYW0ge1BlcmNlbnRhZ2V9ICRzY2FsZSBbNSVdIC0gQW1vdW50IHRvIHNjYWxlIHVwIG9yIGRvd24uXG4vLy8gQHBhcmFtIHtQZXJjZW50YWdlfSAkdGhyZXNob2xkIFs0MCVdIC0gVGhyZXNob2xkIG9mIGxpZ2h0bmVzcyB0byBjaGVjayBhZ2FpbnN0LlxuLy8vXG4vLy8gQHJldHVybnMge0NvbG9yfSBBIHNjYWxlZCBjb2xvci5cbkBmdW5jdGlvbiBzbWFydC1zY2FsZSgkY29sb3IsICRzY2FsZTogNSUsICR0aHJlc2hvbGQ6IDQwJSkge1xuICBAaWYgbGlnaHRuZXNzKCRjb2xvcikgPiAkdGhyZXNob2xkIHtcbiAgICAkc2NhbGU6IC0kc2NhbGU7XG4gIH1cbiAgQHJldHVybiBzY2FsZS1jb2xvcigkY29sb3IsICRsaWdodG5lc3M6ICRzY2FsZSk7XG59XG5cbi8vLyBHZXQgY29sb3IgZnJvbSBmb3VuZGF0aW9uLXBhbGV0dGVcbi8vL1xuLy8vIEBwYXJhbSB7a2V5fSBjb2xvciBrZXkgZnJvbSBmb3VuZGF0aW9uLXBhbGV0dGVcbi8vL1xuLy8vIEByZXR1cm5zIHtDb2xvcn0gY29sb3IgZnJvbSBmb3VuZGF0aW9uLXBhbGV0dGVcbkBmdW5jdGlvbiBnZXQtY29sb3IoJGtleSkge1xuICBAaWYgbWFwLWhhcy1rZXkoJGZvdW5kYXRpb24tcGFsZXR0ZSwgJGtleSkge1xuICAgIEByZXR1cm4gbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCAka2V5KTtcbiAgfVxuICBAZWxzZSB7XG4gICAgQGVycm9yICdnaXZlbiAka2V5IGlzIG5vdCBhdmFpbGFibGUgaW4gJGZvdW5kYXRpb24tcGFsZXR0ZSc7XG4gIH1cbn1cblxuLy8vIFRyYW5zZmVycyB0aGUgY29sb3JzIGluIHRoZSBgJGZvdW5kYXRpb24tcGFsZXR0ZWBtYXAgaW50byB2YXJpYWJsZXMsIHN1Y2ggYXMgYCRwcmltYXJ5LWNvbG9yYCBhbmQgYCRzZWNvbmRhcnktY29sb3JgLiBDYWxsIHRoaXMgbWl4aW4gYmVsb3cgdGhlIEdsb2JhbCBzZWN0aW9uIG9mIHlvdXIgc2V0dGluZ3MgZmlsZSB0byBwcm9wZXJseSBtaWdyYXRlIHlvdXIgY29kZWJhc2UuXG5AbWl4aW4gYWRkLWZvdW5kYXRpb24tY29sb3JzKCkge1xuICBAaWYgbWFwLWhhcy1rZXkoJGZvdW5kYXRpb24tcGFsZXR0ZSwgcHJpbWFyeSkge1xuICAgICRwcmltYXJ5LWNvbG9yOiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHByaW1hcnkpICFnbG9iYWw7XG4gIH1cbiAgQGlmIG1hcC1oYXMta2V5KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHNlY29uZGFyeSkge1xuICAgICRzZWNvbmRhcnktY29sb3I6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgc2Vjb25kYXJ5KSAhZ2xvYmFsO1xuICB9XG4gIEBpZiBtYXAtaGFzLWtleSgkZm91bmRhdGlvbi1wYWxldHRlLCBzdWNjZXNzKSB7XG4gICAgJHN1Y2Nlc3MtY29sb3I6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgc3VjY2VzcykgIWdsb2JhbDtcbiAgfVxuICBAaWYgbWFwLWhhcy1rZXkoJGZvdW5kYXRpb24tcGFsZXR0ZSwgd2FybmluZykge1xuICAgICR3YXJuaW5nLWNvbG9yOiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHdhcm5pbmcpICFnbG9iYWw7XG4gIH1cbiAgQGlmIG1hcC1oYXMta2V5KCRmb3VuZGF0aW9uLXBhbGV0dGUsIGFsZXJ0KSB7XG4gICAgJGFsZXJ0LWNvbG9yOiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIGFsZXJ0KSAhZ2xvYmFsO1xuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBmdW5jdGlvbnNcbi8vLy9cblxuLy8vIEdlbmVyYXRlcyBhIHNlbGVjdG9yIHdpdGggZXZlcnkgdGV4dCBpbnB1dCB0eXBlLiBZb3UgY2FuIGFsc28gZmlsdGVyIHRoZSBsaXN0IHRvIG9ubHkgb3V0cHV0IGEgc3Vic2V0IG9mIHRob3NlIHNlbGVjdG9ycy5cbi8vL1xuLy8vIEBwYXJhbSB7TGlzdHxLZXl3b3JkfSAkdHlwZXMgWygpXSAtIEEgbGlzdCBvZiB0ZXh0IGlucHV0IHR5cGVzIHRvIHVzZS4gTGVhdmUgYmxhbmsgdG8gdXNlIGFsbCBvZiB0aGVtLlxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJG1vZGlmaWVyIFsnJ10gLSBBIG1vZGlmaWVyIHRvIGJlIGFwcGxpZWQgdG8gZWFjaCB0ZXh0IGlucHV0IHR5cGUgKGUuZy4gYSBjbGFzcyBvciBhIHBzZXVkby1jbGFzcykuIExlYXZlIGJsYW5rIHRvIGlnbm9yZS5cbkBmdW5jdGlvbiB0ZXh0LWlucHV0cygkdHlwZXM6ICgpLCAkbW9kaWZpZXI6ICcnKSB7XG4gICRyZXR1cm46ICgpO1xuXG4gICRhbGwtdHlwZXM6XG4gICAgdGV4dFxuICAgIHBhc3N3b3JkXG4gICAgZGF0ZVxuICAgIGRhdGV0aW1lXG4gICAgZGF0ZXRpbWUtbG9jYWxcbiAgICBtb250aFxuICAgIHdlZWtcbiAgICBlbWFpbFxuICAgIG51bWJlclxuICAgIHNlYXJjaFxuICAgIHRlbFxuICAgIHRpbWVcbiAgICB1cmxcbiAgICBjb2xvcjtcblxuICBAaWYgbm90IGhhcy12YWx1ZSgkdHlwZXMpIHtcbiAgICAkdHlwZXM6ICRhbGwtdHlwZXM7XG4gIH1cblxuICBAZWFjaCAkdHlwZSBpbiAkdHlwZXMge1xuICAgICRyZXR1cm46IGFwcGVuZCgkcmV0dXJuLCB1bnF1b3RlKCdbdHlwZT1cXCcjeyR0eXBlfVxcJ10jeyRtb2RpZmllcn0nKSwgY29tbWEpO1xuICB9XG5cbiAgQHJldHVybiAkcmV0dXJuO1xufVxuIiwiJC16Zi1mbGV4LWp1c3RpZnk6IChcbiAgJ2xlZnQnOiBmbGV4LXN0YXJ0LFxuICAncmlnaHQnOiBmbGV4LWVuZCxcbiAgJ2NlbnRlcic6IGNlbnRlcixcbiAgJ2p1c3RpZnknOiBzcGFjZS1iZXR3ZWVuLFxuICAnc3BhY2VkJzogc3BhY2UtYXJvdW5kLFxuKTtcblxuJC16Zi1mbGV4LWFsaWduOiAoXG4gICd0b3AnOiBmbGV4LXN0YXJ0LFxuICAnYm90dG9tJzogZmxleC1lbmQsXG4gICdtaWRkbGUnOiBjZW50ZXIsXG4gICdzdHJldGNoJzogc3RyZXRjaCxcbik7XG5cbiQtemYtZmxleC1kaXJlY3Rpb246IChcbiAgJ3Jvdyc6IHJvdyxcbiAgJ3Jvdy1yZXZlcnNlJzogcm93LXJldmVyc2UsXG4gICdjb2x1bW4nOiBjb2x1bW4sXG4gICdjb2x1bW4tcmV2ZXJzZSc6IGNvbHVtbi1yZXZlcnNlLFxuKTtcblxuLy8vIEVuYWJsZXMgZmxleGJveCBieSBhZGRpbmcgYGRpc3BsYXk6IGZsZXhgIHRvIHRoZSBlbGVtZW50LlxuQG1peGluIGZsZXgge1xuICBkaXNwbGF5OiBmbGV4O1xufVxuXG4vLy8gSG9yaXpvbnRhbGx5IG9yIHZlcnRpY2FsbHkgYWxpZ25zIHRoZSBpdGVtcyB3aXRoaW4gYSBmbGV4IGNvbnRhaW5lci5cbi8vL1xuLy8vIEBwYXJhbSB7S2V5d29yZH0gJHggW251bGxdIC0gSG9yaXpvbnRhbCBhbGlnbm1lbnQgdG8gdXNlLiBDYW4gYmUgYGxlZnRgLCBgcmlnaHRgLCBgY2VudGVyYCwgYGp1c3RpZnlgLCBvciBgc3BhY2VkYC4gT3IsIHNldCBpdCB0byBgbnVsbGAgKHRoZSBkZWZhdWx0KSB0byBub3Qgc2V0IGhvcml6b250YWwgYWxpZ25tZW50LlxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJHkgW251bGxdIC0gVmVydGljYWwgYWxpZ25tZW50IHRvIHVzZS4gQ2FuIGJlIGB0b3BgLCBgYm90dG9tYCwgYG1pZGRsZWAsIG9yIGBzdHJldGNoYC4gT3IsIHNldCBpdCB0byBgbnVsbGAgKHRoZSBkZWZhdWx0KSB0byBub3Qgc2V0IHZlcnRpY2FsIGFsaWdubWVudC5cbkBtaXhpbiBmbGV4LWFsaWduKCR4OiBudWxsLCAkeTogbnVsbCkge1xuICBAaWYgJHgge1xuICAgIEBpZiBtYXAtaGFzLWtleSgkLXpmLWZsZXgtanVzdGlmeSwgJHgpIHtcbiAgICAgICR4OiBtYXAtZ2V0KCQtemYtZmxleC1qdXN0aWZ5LCAkeCk7XG4gICAgfVxuICAgIEBlbHNlIHtcbiAgICAgIEB3YXJuICdmbGV4LWdyaWQtcm93LWFsaWduKCk6ICN7JHh9IGlzIG5vdCBhIHZhbGlkIHZhbHVlIGZvciBob3Jpem9udGFsIGFsaWdubWVudC4gVXNlIGxlZnQsIHJpZ2h0LCBjZW50ZXIsIGp1c3RpZnksIG9yIHNwYWNlZC4nO1xuICAgIH1cbiAgfVxuXG4gIEBpZiAkeSB7XG4gICAgQGlmIG1hcC1oYXMta2V5KCQtemYtZmxleC1hbGlnbiwgJHkpIHtcbiAgICAgICR5OiBtYXAtZ2V0KCQtemYtZmxleC1hbGlnbiwgJHkpO1xuICAgIH1cbiAgICBAZWxzZSB7XG4gICAgICBAd2FybiAnZmxleC1ncmlkLXJvdy1hbGlnbigpOiAjeyR5fSBpcyBub3QgYSB2YWxpZCB2YWx1ZSBmb3IgdmVydGljYWwgYWxpZ25tZW50LiBVc2UgdG9wLCBib3R0b20sIG1pZGRsZSwgb3Igc3RyZXRjaC4nO1xuICAgIH1cbiAgfVxuXG4gIGp1c3RpZnktY29udGVudDogJHg7XG4gIGFsaWduLWl0ZW1zOiAkeTtcbn1cblxuLy8vIFZlcnRpY2FsbHkgYWxpZ24gYSBzaW5nbGUgY29sdW1uIHdpdGhpbiBhIGZsZXggcm93LiBBcHBseSB0aGlzIG1peGluIHRvIGEgZmxleCBjb2x1bW4uXG4vLy9cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICR5IFtudWxsXSAtIFZlcnRpY2FsIGFsaWdubWVudCB0byB1c2UuIENhbiBiZSBgdG9wYCwgYGJvdHRvbWAsIGBtaWRkbGVgLCBvciBgc3RyZXRjaGAuIE9yLCBzZXQgaXQgdG8gYG51bGxgICh0aGUgZGVmYXVsdCkgdG8gbm90IHNldCB2ZXJ0aWNhbCBhbGlnbm1lbnQuXG5AbWl4aW4gZmxleC1hbGlnbi1zZWxmKCR5OiBudWxsKSB7XG4gIEBpZiAkeSB7XG4gICAgQGlmIG1hcC1oYXMta2V5KCQtemYtZmxleC1hbGlnbiwgJHkpIHtcbiAgICAgICR5OiBtYXAtZ2V0KCQtemYtZmxleC1hbGlnbiwgJHkpO1xuICAgIH1cbiAgICBAZWxzZSB7XG4gICAgICBAd2FybiAnZmxleC1ncmlkLWNvbHVtbi1hbGlnbigpOiAjeyR5fSBpcyBub3QgYSB2YWxpZCB2YWx1ZSBmb3IgYWxpZ25tZW50LiBVc2UgdG9wLCBib3R0b20sIG1pZGRsZSwgb3Igc3RyZXRjaC4nO1xuICAgIH1cbiAgfVxuXG4gIGFsaWduLXNlbGY6ICR5O1xufVxuXG4vLy8gQ2hhbmdlcyB0aGUgc291cmNlIG9yZGVyIG9mIGEgZmxleCBjaGlsZC4gQ2hpbGRyZW4gd2l0aCBsb3dlciBudW1iZXJzIGFwcGVhciBmaXJzdCBpbiB0aGUgbGF5b3V0LlxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkb3JkZXIgWzBdIC0gT3JkZXIgbnVtYmVyIHRvIGFwcGx5LlxuQG1peGluIGZsZXgtb3JkZXIoJG9yZGVyOiAwKSB7XG4gIG9yZGVyOiAkb3JkZXI7XG59XG5cbi8vLyBDaGFuZ2UgZmxleC1kaXJlY3Rpb25cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRkaXJlY3Rpb24gW3Jvd10gLSBGbGV4IGRpcmVjdGlvbiB0byB1c2UuIENhbiBiZVxuLy8vICAgLSByb3cgKGRlZmF1bHQpOiBzYW1lIGFzIHRleHQgZGlyZWN0aW9uXG4vLy8gICAtIHJvdy1yZXZlcnNlOiBvcHBvc2l0ZSB0byB0ZXh0IGRpcmVjdGlvblxuLy8vICAgLSBjb2x1bW46IHNhbWUgYXMgcm93IGJ1dCB0b3AgdG8gYm90dG9tXG4vLy8gICAtIGNvbHVtbi1yZXZlcnNlOiBzYW1lIGFzIHJvdy1yZXZlcnNlIHRvcCB0byBib3R0b21cbkBtaXhpbiBmbGV4LWRpcmVjdGlvbigkZGlyZWN0aW9uOiByb3cpIHtcbiAgZmxleC1kaXJlY3Rpb246ICRkaXJlY3Rpb247XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBicmVha3BvaW50c1xuLy8vL1xuXG4vLy8gQSBsaXN0IG9mIG5hbWVkIGJyZWFrcG9pbnRzLiBZb3UgY2FuIHVzZSB0aGVzZSB3aXRoIHRoZSBgYnJlYWtwb2ludCgpYCBtaXhpbiB0byBxdWlja2x5IGNyZWF0ZSBtZWRpYSBxdWVyaWVzLlxuLy8vIEB0eXBlIE1hcFxuJGJyZWFrcG9pbnRzOiAoXG4gIHNtYWxsOiAwLFxuICBtZWRpdW06IDY0MHB4LFxuICBsYXJnZTogMTAyNHB4LFxuICB4bGFyZ2U6IDEyMDBweCxcbiAgeHhsYXJnZTogMTQ0MHB4LFxuKSAhZGVmYXVsdDtcblxuLy8vIFRoZSBsYXJnZXN0IG5hbWVkIGJyZWFrcG9pbnQgaW4gd2hpY2ggdG8gaW5jbHVkZSBwcmludCBhcyBhIG1lZGlhIHR5cGVcbi8vLyBAdHlwZSBLZXl3b3JkXG4kcHJpbnQtYnJlYWtwb2ludDogbGFyZ2UgIWRlZmF1bHQ7XG5cbiQtemYtemVyby1icmVha3BvaW50OiBzbWFsbCAhZGVmYXVsdDtcblxuJC16Zi1icmVha3BvaW50cy1rZXlzOiBtYXAtdG8tbGlzdCgkYnJlYWtwb2ludHMsICdrZXlzJyk7XG5cbkBpZiBudGgobWFwLXZhbHVlcygkYnJlYWtwb2ludHMpLCAxKSAhPSAwIHtcbiAgQGVycm9yICdZb3VyIHNtYWxsZXN0IGJyZWFrcG9pbnQgKGRlZmluZWQgaW4gJGJyZWFrcG9pbnRzKSBtdXN0IGJlIHNldCB0byBcIjBcIi4nO1xufVxuQGVsc2Uge1xuICAkLXpmLXplcm8tYnJlYWtwb2ludDogbnRoKG1hcC1rZXlzKCRicmVha3BvaW50cyksIDEpO1xufVxuXG4vLy8gQWxsIG9mIHRoZSBuYW1lcyBpbiB0aGlzIGxpc3Qgd2lsbCBiZSBvdXRwdXQgYXMgY2xhc3NlcyBpbiB5b3VyIENTUywgbGlrZSBgLnNtYWxsLTEyYCwgYC5tZWRpdW0tNmAsIGFuZCBzbyBvbi4gRWFjaCB2YWx1ZSBpbiB0aGlzIGxpc3QgbXVzdCBhbHNvIGJlIGluIHRoZSBgJGJyZWFrcG9pbnRzYCBtYXAuXG4vLy8gQHR5cGUgTGlzdFxuJGJyZWFrcG9pbnQtY2xhc3NlczogKHNtYWxsIG1lZGl1bSBsYXJnZSkgIWRlZmF1bHQ7XG5cbi8vLyBHZW5lcmF0ZXMgYSBtZWRpYSBxdWVyeSBzdHJpbmcgbWF0Y2hpbmcgdGhlIGlucHV0IHZhbHVlLiBSZWZlciB0byB0aGUgZG9jdW1lbnRhdGlvbiBmb3IgdGhlIGBicmVha3BvaW50KClgIG1peGluIHRvIHNlZSB3aGF0IHRoZSBwb3NzaWJsZSBpbnB1dHMgYXJlLlxuLy8vXG4vLy8gQHBhcmFtIHtLZXl3b3JkfE51bWJlcn0gJHZhbCBbc21hbGxdIC0gQnJlYWtwb2ludCBuYW1lLCBvciBweCwgcmVtLCBvciBlbSB2YWx1ZSB0byBwcm9jZXNzLlxuQGZ1bmN0aW9uIGJyZWFrcG9pbnQoJHZhbDogJC16Zi16ZXJvLWJyZWFrcG9pbnQpIHtcbiAgLy8gU2l6ZSBvciBrZXl3b3JkXG4gICRicDogbnRoKCR2YWwsIDEpO1xuICAvLyBWYWx1ZSBmb3IgbWF4LXdpZHRoIG1lZGlhIHF1ZXJpZXNcbiAgJGJwLW1heDogMDtcbiAgLy8gRGlyZWN0aW9uIG9mIG1lZGlhIHF1ZXJ5ICh1cCwgZG93biwgb3Igb25seSlcbiAgJGRpcjogaWYobGVuZ3RoKCR2YWwpID4gMSwgbnRoKCR2YWwsIDIpLCB1cCk7XG4gIC8vIEV2ZW50dWFsIG91dHB1dFxuICAkc3RyOiAnJztcbiAgLy8gSXMgaXQgYSBuYW1lZCBtZWRpYSBxdWVyeT9cbiAgJG5hbWVkOiBmYWxzZTtcblxuICAvLyBPcmllbnRhdGlvbiBtZWRpYSBxdWVyaWVzIGhhdmUgYSB1bmlxdWUgc3ludGF4XG4gIEBpZiAkYnAgPT0gJ2xhbmRzY2FwZScgb3IgJGJwID09ICdwb3J0cmFpdCcge1xuICAgIEByZXR1cm4gJyhvcmllbnRhdGlvbjogI3skYnB9KSc7XG4gIH1cbiAgQGVsc2UgaWYgJGJwID09ICdyZXRpbmEnIHtcbiAgICBAcmV0dXJuICcoLXdlYmtpdC1taW4tZGV2aWNlLXBpeGVsLXJhdGlvOiAyKSwgKG1pbi1yZXNvbHV0aW9uOiAxOTJkcGkpJztcbiAgfVxuXG4gIC8vIFRyeSB0byBwdWxsIGEgbmFtZWQgYnJlYWtwb2ludCBvdXQgb2YgdGhlICRicmVha3BvaW50cyBtYXBcbiAgQGlmIHR5cGUtb2YoJGJwKSA9PSAnc3RyaW5nJyB7XG4gICAgQGlmIG1hcC1oYXMta2V5KCRicmVha3BvaW50cywgJGJwKSB7XG4gICAgICBAaWYgJGRpciA9PSAnb25seScgb3IgJGRpciA9PSAnZG93bicge1xuICAgICAgICAkYnAtbWF4OiAtemYtbWFwLW5leHQoJGJyZWFrcG9pbnRzLCAkYnApO1xuICAgICAgfVxuXG4gICAgICAkYnA6IG1hcC1nZXQoJGJyZWFrcG9pbnRzLCAkYnApO1xuICAgICAgJG5hbWVkOiB0cnVlO1xuICAgIH1cbiAgICBAZWxzZSB7XG4gICAgICAkYnA6IDA7XG4gICAgICBAd2FybiAnYnJlYWtwb2ludCgpOiBcIiN7JHZhbH1cIiBpcyBub3QgZGVmaW5lZCBpbiB5b3VyICRicmVha3BvaW50cyBzZXR0aW5nLic7XG4gICAgfVxuICB9XG5cbiAgLy8gQ29udmVydCBhbnkgcGl4ZWwsIHJlbSwgb3IgdW5pdGxlc3MgdmFsdWUgdG8gZW1cbiAgJGJwOiAtemYtYnAtdG8tZW0oJGJwKTtcbiAgQGlmICRicC1tYXgge1xuICAgICRicC1tYXg6IC16Zi1icC10by1lbSgkYnAtbWF4KSAtICgxLzE2KTtcbiAgfVxuXG4gIC8vIENvbmRpdGlvbnMgdG8gc2tpcCBtZWRpYSBxdWVyeSBjcmVhdGlvblxuICAvLyAtIEl0J3MgYSBuYW1lZCBicmVha3BvaW50IHRoYXQgcmVzb2x2ZWQgdG8gXCIwIGRvd25cIiBvciBcIjAgdXBcIlxuICAvLyAtIEl0J3MgYSBudW1lcmljIGJyZWFrcG9pbnQgdGhhdCByZXNvbHZlZCB0byBcIjAgXCIgKyBhbnl0aGluZ1xuICBAaWYgJGJwID4gMGVtIG9yICRkaXIgPT0gJ29ubHknIG9yICRkaXIgPT0gJ2Rvd24nIHtcbiAgICAvLyBgb25seWAgcmFuZ2VzIHVzZSB0aGUgZm9ybWF0IGAobWluLXdpZHRoOiBuKSBhbmQgKG1heC13aWR0aDogbilgXG4gICAgQGlmICRkaXIgPT0gJ29ubHknIHtcbiAgICAgIC8vIE9ubHkgbmFtZWQgbWVkaWEgcXVlcmllcyBjYW4gaGF2ZSBhbiBcIm9ubHlcIiByYW5nZVxuICAgICAgQGlmICRuYW1lZCA9PSB0cnVlIHtcbiAgICAgICAgLy8gT25seSB1c2UgXCJtaW4td2lkdGhcIiBpZiB0aGUgZmxvb3IgaXMgZ3JlYXRlciB0aGFuIDBcbiAgICAgICAgQGlmICRicCA+IDBlbSB7XG4gICAgICAgICAgJHN0cjogJHN0ciArICcobWluLXdpZHRoOiAjeyRicH0pJztcblxuICAgICAgICAgIC8vIE9ubHkgYWRkIFwiYW5kXCIgdG8gdGhlIG1lZGlhIHF1ZXJ5IGlmIHRoZXJlJ3MgYSBjZWlsaW5nXG4gICAgICAgICAgQGlmICRicC1tYXggIT0gbnVsbCB7XG4gICAgICAgICAgICAkc3RyOiAkc3RyICsgJyBhbmQgJztcbiAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAvLyBPbmx5IHVzZSBcIm1heC13aWR0aFwiIGlmIHRoZXJlJ3MgYSBjZWlsaW5nXG4gICAgICAgIEBpZiAkYnAtbWF4ICE9IG51bGwge1xuICAgICAgICAgICRzdHI6ICRzdHIgKyAnKG1heC13aWR0aDogI3skYnAtbWF4fSknO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgICBAZWxzZSB7XG4gICAgICAgIEB3YXJuICdicmVha3BvaW50KCk6IE9ubHkgbmFtZWQgbWVkaWEgcXVlcmllcyBjYW4gaGF2ZSBhbiBgb25seWAgcmFuZ2UuJztcbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBgZG93bmAgcmFuZ2VzIHVzZSB0aGUgZm9ybWF0IGAobWF4LXdpZHRoOiBuKWBcbiAgICBAZWxzZSBpZiAkZGlyID09ICdkb3duJyB7XG4gICAgICAkbWF4OiBpZigkbmFtZWQsICRicC1tYXgsICRicCk7XG5cbiAgICAgIC8vIFNraXAgbWVkaWEgcXVlcnkgY3JlYXRpb24gaWYgaW5wdXQgdmFsdWUgaXMgZXhhY3RseSBcIjAgZG93blwiLFxuICAgICAgLy8gdW5sZXNzIHRoZSBmdW5jdGlvbiB3YXMgY2FsbGVkIGFzIFwic21hbGwgZG93blwiLCBpbiB3aGljaCBjYXNlIGl0J3MganVzdCBcInNtYWxsIG9ubHlcIlxuICAgICAgQGlmICRuYW1lZCBvciAkYnAgPiAwZW0ge1xuICAgICAgICBAaWYgJG1heCAhPSBudWxsIHtcbiAgICAgICAgICAkc3RyOiAkc3RyICsgJyhtYXgtd2lkdGg6ICN7JG1heH0pJztcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIC8vIGB1cGAgcmFuZ2VzIHVzZSB0aGUgZm9ybWF0IGAobWluLXdpZHRoOiBuKWBcbiAgICBAZWxzZSBpZiAkYnAgPiAwZW0ge1xuICAgICAgJHN0cjogJHN0ciArICcobWluLXdpZHRoOiAjeyRicH0pJztcbiAgICB9XG4gIH1cblxuICBAcmV0dXJuICRzdHI7XG59XG5cbi8vLyBXcmFwcyBhIG1lZGlhIHF1ZXJ5IGFyb3VuZCB0aGUgY29udGVudCB5b3UgcHV0IGluc2lkZSB0aGUgbWl4aW4uIFRoaXMgbWl4aW4gYWNjZXB0cyBhIG51bWJlciBvZiB2YWx1ZXM6XG4vLy8gIC0gSWYgYSBzdHJpbmcgaXMgcGFzc2VkLCB0aGUgbWl4aW4gd2lsbCBsb29rIGZvciBpdCBpbiB0aGUgYCRicmVha3BvaW50c2AgbWFwLCBhbmQgdXNlIGEgbWVkaWEgcXVlcnkgdGhlcmUuXG4vLy8gIC0gSWYgYSBwaXhlbCB2YWx1ZSBpcyBwYXNzZWQsIGl0IHdpbGwgYmUgY29udmVydGVkIHRvIGFuIGVtIHZhbHVlIHVzaW5nIGAkZ2xvYmFsLWZvbnQtc2l6ZWAgYXMgdGhlIGJhc2UuXG4vLy8gIC0gSWYgYSByZW0gdmFsdWUgaXMgcGFzc2VkLCB0aGUgdW5pdCB3aWxsIGJlIGNoYW5nZWQgdG8gZW0uXG4vLy8gIC0gSWYgYW4gZW0gdmFsdWUgaXMgcGFzc2VkLCB0aGUgdmFsdWUgd2lsbCBiZSB1c2VkIGFzLWlzLlxuLy8vXG4vLy8gQHBhcmFtIHtLZXl3b3JkfE51bWJlcn0gJHZhbHVlIC0gQnJlYWtwb2ludCBuYW1lLCBvciBweCwgcmVtLCBvciBlbSB2YWx1ZSB0byBwcm9jZXNzLlxuLy8vXG4vLy8gQG91dHB1dCBJZiB0aGUgYnJlYWtwb2ludCBpcyBcIjBweCBhbmQgbGFyZ2VyXCIsIG91dHB1dHMgdGhlIGNvbnRlbnQgYXMtaXMuIE90aGVyd2lzZSwgb3V0cHV0cyB0aGUgY29udGVudCB3cmFwcGVkIGluIGEgbWVkaWEgcXVlcnkuXG5AbWl4aW4gYnJlYWtwb2ludCgkdmFsdWUpIHtcbiAgJHN0cjogYnJlYWtwb2ludCgkdmFsdWUpO1xuICAkYnA6IGluZGV4KCQtemYtYnJlYWtwb2ludHMta2V5cywgJHZhbHVlKTtcbiAgJHBicDogaW5kZXgoJC16Zi1icmVha3BvaW50cy1rZXlzLCAkcHJpbnQtYnJlYWtwb2ludCk7XG5cbiAgJG9sZC16Zi1zaXplOiBudWxsO1xuXG4gIC8vIE1ha2UgYnJlYWtwb2ludCBzaXplIGF2YWlsYWJsZSBhcyBhIHZhcmlhYmxlXG4gIEBpZiBnbG9iYWwtdmFyaWFibGUtZXhpc3RzKC16Zi1zaXplKSB7XG4gICAgJG9sZC16Zi1zaXplOiAkLXpmLXNpemU7XG4gIH1cbiAgJC16Zi1zaXplOiBudGgoJHZhbHVlLCAxKSAhZ2xvYmFsOyAvLyBnZXQgdGhlIGZpcnN0IHZhbHVlIHRvIGFjY291bnQgZm9yIGBvbmx5YCBhbmQgYGRvd25gIGtleXdvcmRzXG5cbiAgLy8gSWYgJHN0ciBpcyBzdGlsbCBhbiBlbXB0eSBzdHJpbmcsIG5vIG1lZGlhIHF1ZXJ5IGlzIG5lZWRlZFxuICBAaWYgJHN0ciA9PSAnJyB7XG4gICAgQGNvbnRlbnQ7XG4gIH1cblxuICAvLyBPdGhlcndpc2UsIHdyYXAgdGhlIGNvbnRlbnQgaW4gYSBtZWRpYSBxdWVyeVxuICBAZWxzZSB7XG4gICAgLy8gRm9yIG5hbWVkIGJyZWFrcG9pbnRzIGxlc3MgdGhhbiBvciBlcXVhbCB0byAkcHJpbnQtYnJlYWtwb2ludCwgYWRkIHByaW50IHRvIHRoZSBtZWRpYSB0eXBlc1xuICAgIEBpZiAkYnAgIT0gbnVsbCBhbmQgJGJwIDw9ICRwYnAge1xuICAgICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kICN7JHN0cn0ge1xuICAgICAgICBAY29udGVudDtcbiAgICAgICB9XG4gICAgfVxuICAgIEBlbHNlIHtcbiAgICAgIEBtZWRpYSBzY3JlZW4gYW5kICN7JHN0cn0ge1xuICAgICAgICBAY29udGVudDtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBAaWYgJG9sZC16Zi1zaXplICE9IG51bGwge1xuICAgIC8vIFJlc3RvcmUgdGhlIG9sZCBicmVha3BvaW50IHNpemVcbiAgICAkLXpmLXNpemU6ICRvbGQtemYtc2l6ZSAhZ2xvYmFsO1xuICB9IEBlbHNlIHtcbiAgICAkLXpmLXNpemU6IG51bGwgIWdsb2JhbDtcbiAgfVxufVxuXG4vLy8gQ29udmVycyB0aGUgYnJlYWtwb2ludHMgbWFwIHRvIGEgVVJMLWVuY29kZWQgc3RyaW5nLCBsaWtlIHRoaXM6IGBrZXkxPXZhbHVlMSZrZXkyPXZhbHVlMmAuIFRoZSB2YWx1ZSBpcyB0aGVuIGRyb3BwZWQgaW50byB0aGUgQ1NTIGZvciBhIHNwZWNpYWwgYDxtZXRhPmAgdGFnLCB3aGljaCBpcyByZWFkIGJ5IHRoZSBGb3VuZGF0aW9uIEphdmFTY3JpcHQuIFRoaXMgaXMgaG93IHdlIHRyYW5zZmVyIHZhbHVlcyBmcm9tIFNhc3MgdG8gSmF2YVNjcmlwdCwgc28gdGhleSBjYW4gYmUgZGVmaW5lZCBpbiBvbmUgcGxhY2UuXG4vLy8gQGFjY2VzcyBwcml2YXRlXG4vLy9cbi8vLyBAcGFyYW0ge01hcH0gJG1hcCAtIE1hcCB0byBjb252ZXJ0LlxuLy8vXG4vLy8gQHJldHVybnMge1N0cmluZ30gQSBzdHJpbmcgY29udGFpbmluZyB0aGUgbWFwJ3MgY29udGVudHMuXG5AZnVuY3Rpb24gLXpmLWJwLXNlcmlhbGl6ZSgkbWFwKSB7XG4gICRzdHI6ICcnO1xuICBAZWFjaCAka2V5LCAkdmFsdWUgaW4gJG1hcCB7XG4gICAgJHN0cjogJHN0ciArICRrZXkgKyAnPScgKyAtemYtYnAtdG8tZW0oJHZhbHVlKSArICcmJztcbiAgfVxuICAkc3RyOiBzdHItc2xpY2UoJHN0ciwgMSwgLTIpO1xuXG4gIEByZXR1cm4gJHN0cjtcbn1cblxuLy8vIEZpbmQgdGhlIG5leHQga2V5IGluIGEgbWFwLlxuLy8vIEBhY2Nlc3MgcHJpdmF0ZVxuLy8vXG4vLy8gQHBhcmFtIHtNYXB9ICRtYXAgLSBNYXAgdG8gdHJhdmVyc2UuXG4vLy8gQHBhcmFtIHtNaXhlZH0gJGtleSAtIEtleSB0byB1c2UgYXMgYSBzdGFydGluZyBwb2ludC5cbi8vL1xuLy8vIEByZXR1cm5zIHtNaXhlZH0gVGhlIHZhbHVlIGZvciB0aGUga2V5IGFmdGVyIGAka2V5YCwgaWYgYCRrZXlgIHdhcyBmb3VuZC4gSWYgYCRrZXlgIHdhcyBub3QgZm91bmQsIG9yIGAka2V5YCB3YXMgdGhlIGxhc3QgdmFsdWUgaW4gdGhlIG1hcCwgcmV0dXJucyBgbnVsbGAuXG5AZnVuY3Rpb24gLXpmLW1hcC1uZXh0KCRtYXAsICRrZXkpIHtcblxuICAvLyBTdG9yZSB0aGUga2V5cyBvZiB0aGUgbWFwIGFzIGEgbGlzdFxuICAkdmFsdWVzOiBtYXAta2V5cygkbWFwKTtcblxuICAkaTogMDtcblxuICAvLyBJZiB0aGUgS2V5IEV4aXN0cywgR2V0IHRoZSBpbmRleCBvZiB0aGUga2V5IHdpdGhpbiB0aGUgbWFwIGFuZCBhZGQgMSB0byBpdCBmb3IgdGhlIG5leHQgYnJlYWtwb2ludCBpbiB0aGUgbWFwXG4gIEBpZiAobWFwLWhhcy1rZXkoJG1hcCwgJGtleSkpIHtcbiAgICAkaTogaW5kZXgoJHZhbHVlcywgJGtleSkgKyAxO1xuICB9XG5cbiAgLy8gSWYgdGhlIGtleSBkb2Vzbid0IGV4aXN0LCBvciBpdCdzIHRoZSBsYXN0IGtleSBpbiB0aGUgbWFwLCByZXR1cm4gbnVsbFxuICBAaWYgKCRpID4gbGVuZ3RoKCRtYXApIG9yICRpID09IDApIHtcbiAgICBAcmV0dXJuIG51bGw7XG4gIH1cbiAgLy8gT3RoZXJ3aXNlLCByZXR1cm4gdGhlIHZhbHVlXG4gIEBlbHNlIHtcbiAgICBAcmV0dXJuIG1hcC1nZXQoJG1hcCwgbnRoKCR2YWx1ZXMsICRpKSk7XG4gIH1cblxufVxuXG4vLy8gUmV0dXJuIGEgbGlzdCBvZiBvdXIgbmFtZWQgYnJlYWtwb2ludHMgbGVzcyB0aGFuICRrZXkuIFVzZWZ1bCBmb3IgZGVhbGluZyB3aXRoXG4vLy8gcmVzcG9uc2l2ZSBndXR0ZXJzIGZvciB0aGUgZ3JpZC5cbi8vLyBAYWNjZXNzIHByaXZhdGVcbi8vL1xuLy8vIEBwYXJhbSB7U3RyaW5nfSAka2V5IC0gS2V5IHRvIHVzZSBhcyBsYXN0IGJyZWFrcG9pbnQuXG4vLy9cbi8vLyBAcmV0dXJucyB7QXJyYXl9IFRoZSBsaXN0IG9mIGJyZWFrcG9pbnRzIHVwIHRvIGFuZC4gSWYgJGtleSBpcyBhdXRvLCByZXR1cm5zIGJyZWFrcG9pbnRzIGFib3ZlIHRoZSB6ZXJvXG5AZnVuY3Rpb24gLXpmLWJyZWFrcG9pbnRzLWxlc3MtdGhhbigka2V5KSB7XG4gICRsaXN0OiAoKTtcbiAgJGZvdW5kX2tleTogZmFsc2U7XG5cbiAgQGVhY2ggJG5hbWUgaW4gJC16Zi1icmVha3BvaW50cy1rZXlzIHtcbiAgICBAaWYgKCRuYW1lID09ICRrZXkpIHtcbiAgICAgICRmb3VuZF9rZXk6IHRydWU7XG4gICAgfVxuICAgIEBpZiBub3QgJGZvdW5kX2tleSB7XG4gICAgICAkbGlzdDogYXBwZW5kKCRsaXN0LCAkbmFtZSk7XG4gICAgfVxuICB9XG4gIEByZXR1cm4gJGxpc3Q7XG59XG5cbi8vLyBSZXR1cm4gYSBsaXN0IG9mIG91ciBuYW1lZCBicmVha3BvaW50cyBsZXNzIHRoYW4gJGtleS4gVXNlZnVsIGZvciBkZWFsaW5nIHdpdGhcbi8vLyByZXNwb25zaXZlIGd1dHRlcnMgZm9yIHRoZSBncmlkLlxuLy8vIEBhY2Nlc3MgcHJpdmF0ZVxuLy8vXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICRicmVha3BvaW5nIC0gYSBuYW1lZCBvciBub24tbmFtZWQgYnJlYWtwb2luZy5cbi8vL1xuLy8vIEByZXR1cm5zIHtBcnJheX0gVGhlIGxpc3Qgb2YgYnJlYWtwb2ludHMgdXAgdG8gYW5kLiBJZiAka2V5IGlzIGF1dG8sIHJldHVybnMgYnJlYWtwb2ludHMgYWJvdmUgdGhlIHplcm9cbkBmdW5jdGlvbiAtemYtY2xvc2VzdC1uYW1lZC1icmVha3BvaW50KCRicmVha3BvaW50KSB7XG4gICRsYXN0OiAkLXpmLXplcm8tYnJlYWtwb2ludDtcbiAgJGZvdW5kOiBmYWxzZTtcblxuICAkdmFsdWU6IHVuaXRsZXNzLWNhbGMoJGJyZWFrcG9pbnQsIDFweCk7XG4gIEBlYWNoICRrZXksICR2YWwgaW4gJGJyZWFrcG9pbnRzIHtcbiAgICBAaWYgbm90ICRmb3VuZCB7XG4gICAgICBAaWYgdW5pdGxlc3MtY2FsYygkdmFsKSA+ICR2YWx1ZSB7XG4gICAgICAgICRmb3VuZDogdHJ1ZTtcbiAgICAgIH0gQGVsc2Uge1xuICAgICAgICAkbGFzdDogJGtleTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBAcmV0dXJuICRsYXN0O1xufVxuXG4vLy8gR2V0IGEgdmFsdWUgZm9yIGEgYnJlYWtwb2ludCBmcm9tIGEgcmVzcG9uc2l2ZSBjb25maWcgbWFwIG9yIHNpbmdsZSB2YWx1ZS5cbi8vLyAtIElmIHRoZSBjb25maWcgaXMgYSBzaW5nbGUgdmFsdWUsIHJldHVybiBpdCByZWdhcmRsZXNzIG9mIGAkdmFsdWVgLlxuLy8vIC0gSWYgdGhlIGNvbmZpZyBpcyBhIG1hcCBhbmQgaGFzIHRoZSBrZXkgYCR2YWx1ZWAsIHRoZSBleGFjdCBicmVha3BvaW50IHZhbHVlIGlzIHJldHVybmVkLlxuLy8vIC0gSWYgdGhlIGNvbmZpZyBpcyBhIG1hcCBhbmQgZG9lcyAqbm90KiBoYXZlIHRoZSBicmVha3BvaW50LCB0aGUgdmFsdWUgbWF0Y2hpbmcgdGhlIG5leHQgbG93ZXN0IGJyZWFrcG9pbnQgaW4gdGhlIGNvbmZpZyBtYXAgaXMgcmV0dXJuZWQuXG4vLy8gQGFjY2VzcyBwcml2YXRlXG4vLy9cbi8vLyBAcGFyYW0ge051bWJlcnxNYXB9ICRtYXAgLSBSZXNwb25zaXZlIGNvbmZpZyBtYXAgb3Igc2luZ2xlIHZhbHVlLlxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJHZhbHVlIC0gQnJlYWtwb2ludCBuYW1lIHRvIHVzZS5cbi8vL1xuLy8vIEByZXR1cm4ge01peGVkfSBUaGUgY29ycmVzcG9uZGluZyBicmVha3BvaW50IHZhbHVlLlxuQGZ1bmN0aW9uIC16Zi1nZXQtYnAtdmFsKCRtYXAsICR2YWx1ZSkge1xuICAvLyBJZiB0aGUgZ2l2ZW4gbWFwIGlzIGEgc2luZ2xlIHZhbHVlLCByZXR1cm4gaXRcbiAgQGlmIHR5cGUtb2YoJG1hcCkgPT0gJ251bWJlcicge1xuICAgIEByZXR1cm4gJG1hcDtcbiAgfVxuXG5cbiAgLy8gQ2hlY2sgaWYgdGhlIGJyZWFrcG9pbnQgbmFtZSBleGlzdHMgZ2xvYmFsbHlcbiAgQGlmIG5vdCBtYXAtaGFzLWtleSgkYnJlYWtwb2ludHMsICR2YWx1ZSkge1xuICAgIEBpZiB0eXBlLW9mKCR2YWx1ZSkgPT0gJ251bWJlcicge1xuICAgICAgJHZhbHVlOiAtemYtY2xvc2VzdC1uYW1lZC1icmVha3BvaW50KCR2YWx1ZSk7XG4gICAgfSBAZWxzZSB7XG4gICAgICBAcmV0dXJuIG51bGw7XG4gICAgfVxuICB9XG4gIC8vIENoZWNrIGlmIHRoZSBicmVha3BvaW50IG5hbWUgZXhpc3RzIGluIHRoZSBsb2NhbCBjb25maWcgbWFwXG4gIEBlbHNlIGlmIG1hcC1oYXMta2V5KCRtYXAsICR2YWx1ZSkge1xuICAgIC8vIElmIGl0IGRvZXMsIGp1c3QgcmV0dXJuIHRoZSB2YWx1ZVxuICAgIEByZXR1cm4gbWFwLWdldCgkbWFwLCAkdmFsdWUpO1xuICB9XG4gIC8vIE90aGVyd2lzZSwgZmluZCB0aGUgbmV4dCBsb3dlc3QgYnJlYWtwb2ludCBhbmQgcmV0dXJuIHRoYXQgdmFsdWVcbiAgQGVsc2Uge1xuICAgICRhbmNob3I6IG51bGw7XG4gICAgJGZvdW5kOiBmYWxzZTtcblxuICAgIEBlYWNoICRrZXksICR2YWwgaW4gJGJyZWFrcG9pbnRzIHtcbiAgICAgIEBpZiBub3QgJGZvdW5kIHtcbiAgICAgICAgQGlmIG1hcC1oYXMta2V5KCRtYXAsICRrZXkpIHtcbiAgICAgICAgICAkYW5jaG9yOiAka2V5O1xuICAgICAgICB9XG4gICAgICAgIEBpZiAka2V5ID09ICR2YWx1ZSB7XG4gICAgICAgICAgJGZvdW5kOiB0cnVlO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgQHJldHVybiBtYXAtZ2V0KCRtYXAsICRhbmNob3IpO1xuICB9XG59XG5cbkBpZiBtYXAtaGFzLWtleSgkYnJlYWtwb2ludHMsIHNtYWxsKSB7XG4gICRzbWFsbC11cDogc2NyZWVuO1xuICAkc21hbGwtb25seTogdW5xdW90ZSgnc2NyZWVuIGFuZCAje2JyZWFrcG9pbnQoc21hbGwgb25seSl9Jyk7XG59XG5cbkBpZiBtYXAtaGFzLWtleSgkYnJlYWtwb2ludHMsIG1lZGl1bSkge1xuICAkbWVkaXVtLXVwOiB1bnF1b3RlKCdzY3JlZW4gYW5kICN7YnJlYWtwb2ludChtZWRpdW0pfScpO1xuICAkbWVkaXVtLW9ubHk6IHVucXVvdGUoJ3NjcmVlbiBhbmQgI3ticmVha3BvaW50KG1lZGl1bSBvbmx5KX0nKTtcbn1cblxuQGlmIG1hcC1oYXMta2V5KCRicmVha3BvaW50cywgbGFyZ2UpIHtcbiAgJGxhcmdlLXVwOiB1bnF1b3RlKCdzY3JlZW4gYW5kICN7YnJlYWtwb2ludChsYXJnZSl9Jyk7XG4gICRsYXJnZS1vbmx5OiB1bnF1b3RlKCdzY3JlZW4gYW5kICN7YnJlYWtwb2ludChsYXJnZSBvbmx5KX0nKTtcbn1cblxuQGlmIG1hcC1oYXMta2V5KCRicmVha3BvaW50cywgeGxhcmdlKSB7XG4gICR4bGFyZ2UtdXA6IHVucXVvdGUoJ3NjcmVlbiBhbmQgI3ticmVha3BvaW50KHhsYXJnZSl9Jyk7XG4gICR4bGFyZ2Utb25seTogdW5xdW90ZSgnc2NyZWVuIGFuZCAje2JyZWFrcG9pbnQoeGxhcmdlIG9ubHkpfScpO1xufVxuXG5AaWYgbWFwLWhhcy1rZXkoJGJyZWFrcG9pbnRzLCB4eGxhcmdlKSB7XG4gICR4eGxhcmdlLXVwOiB1bnF1b3RlKCdzY3JlZW4gYW5kICN7YnJlYWtwb2ludCh4eGxhcmdlKX0nKTtcbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIGZ1bmN0aW9uc1xuLy8vL1xuXG4vLy8gQ3JlYXRlcyBhbiBpbm5lciBib3gtc2hhZG93IGZvciBvbmx5IG9uZSBzaWRlXG4vLy8gXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkc2lkZSAtIFNpZGUgdGhlIHNoYWRvdyBpcyBzdXBwb3NlZCB0byBhcHBlYXIuIENhbiBiZSBgdG9wYCwgYGxlZnRgLCBgcmlnaHRgIG9yIGBib3R0b21gLlxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkc2l6ZSAtIFdpZHRoIGZvciB0aGUgdGFyZ2V0IHNpZGUuXG4vLy8gQHBhcmFtIHtDb2xvcn0gJGNvbG9yIC0gQ29sb3Igb2YgdGhlIHNoYWRvdy5cbkBtaXhpbiBpbm5lci1zaWRlLXNoYWRvdyhcbiAgJHNpZGU6IGJvdHRvbSxcbiAgJHNpemU6IDIwcHgsXG4gICRjb2xvcjogcmdiYSgkYmxhY2ssIDAuMjUpXG4pIHtcblxuICAkaGVscGVyOiByb3VuZCgkc2l6ZSAqIDAuNjUpO1xuXG4gIEBpZiAoJHNpZGUgPT0gdG9wKSB7XG4gICAgYm94LXNoYWRvdzogaW5zZXQgMCAkaGVscGVyICRzaXplICgtMSkqJGhlbHBlciAkY29sb3I7XG4gIH0gQGVsc2UgaWYgKCRzaWRlID09IGxlZnQpIHtcbiAgICBib3gtc2hhZG93OiBpbnNldCAkaGVscGVyIDAgJHNpemUgKC0xKSokaGVscGVyICRjb2xvcjtcbiAgfSBAZWxzZSBpZiAoJHNpZGUgPT0gcmlnaHQpIHtcbiAgICBib3gtc2hhZG93OiBpbnNldCAoLTEpKiRoZWxwZXIgMCAkc2l6ZSAoLTEpKiRoZWxwZXIgJGNvbG9yO1xuICB9IEBlbHNlIGlmICgkc2lkZSA9PSBib3R0b20pIHtcbiAgICBib3gtc2hhZG93OiBpbnNldCAwICgtMSkqJGhlbHBlciAkc2l6ZSAoLTEpKiRoZWxwZXIgJGNvbG9yO1xuICB9XG59XG5cbi8vLyBDcmVhdGVzIGEgQ1NTIHRyaWFuZ2xlLCB3aGljaCBjYW4gYmUgdXNlZCBmb3IgZHJvcGRvd24gYXJyb3dzLCBkcm9wZG93biBwaXBzLCBhbmQgbW9yZS4gVXNlIHRoaXMgbWl4aW4gaW5zaWRlIGEgYCY6OmJlZm9yZWAgb3IgYCY6OmFmdGVyYCBzZWxlY3RvciwgdG8gYXR0YWNoIHRoZSB0cmlhbmdsZSB0byBhbiBleGlzdGluZyBlbGVtZW50LlxuLy8vXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICR0cmlhbmdsZS1zaXplIC0gV2lkdGggb2YgdGhlIHRyaWFuZ2xlLlxuLy8vIEBwYXJhbSB7Q29sb3J9ICR0cmlhbmdsZS1jb2xvciAtIENvbG9yIG9mIHRoZSB0cmlhbmdsZS5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICR0cmlhbmdsZS1kaXJlY3Rpb24gLSBEaXJlY3Rpb24gdGhlIHRyaWFuZ2xlIHBvaW50cy4gQ2FuIGJlIGB1cGAsIGByaWdodGAsIGBkb3duYCwgb3IgYGxlZnRgLlxuQG1peGluIGNzcy10cmlhbmdsZShcbiAgJHRyaWFuZ2xlLXNpemUsXG4gICR0cmlhbmdsZS1jb2xvcixcbiAgJHRyaWFuZ2xlLWRpcmVjdGlvblxuKSB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICB3aWR0aDogMDtcbiAgaGVpZ2h0OiAwO1xuXG4gIGJvcmRlcjogaW5zZXQgJHRyaWFuZ2xlLXNpemU7XG5cbiAgY29udGVudDogJyc7XG5cbiAgQGlmICgkdHJpYW5nbGUtZGlyZWN0aW9uID09IGRvd24pIHtcbiAgICBib3JkZXItYm90dG9tLXdpZHRoOiAwO1xuICAgIGJvcmRlci10b3Atc3R5bGU6IHNvbGlkO1xuICAgIGJvcmRlci1jb2xvcjogJHRyaWFuZ2xlLWNvbG9yIHRyYW5zcGFyZW50IHRyYW5zcGFyZW50O1xuICB9XG4gIEBpZiAoJHRyaWFuZ2xlLWRpcmVjdGlvbiA9PSB1cCkge1xuICAgIGJvcmRlci10b3Atd2lkdGg6IDA7XG4gICAgYm9yZGVyLWJvdHRvbS1zdHlsZTogc29saWQ7XG4gICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudCB0cmFuc3BhcmVudCAkdHJpYW5nbGUtY29sb3I7XG4gIH1cbiAgQGlmICgkdHJpYW5nbGUtZGlyZWN0aW9uID09IHJpZ2h0KSB7XG4gICAgYm9yZGVyLXJpZ2h0LXdpZHRoOiAwO1xuICAgIGJvcmRlci1sZWZ0LXN0eWxlOiBzb2xpZDtcbiAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50IHRyYW5zcGFyZW50IHRyYW5zcGFyZW50ICR0cmlhbmdsZS1jb2xvcjtcbiAgfVxuICBAaWYgKCR0cmlhbmdsZS1kaXJlY3Rpb24gPT0gbGVmdCkge1xuICAgIGJvcmRlci1sZWZ0LXdpZHRoOiAwO1xuICAgIGJvcmRlci1yaWdodC1zdHlsZTogc29saWQ7XG4gICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudCAkdHJpYW5nbGUtY29sb3IgdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQ7XG4gIH1cbn1cblxuLy8vIENyZWF0ZXMgYSBtZW51IGljb24gd2l0aCBhIHNldCB3aWR0aCwgaGVpZ2h0LCBudW1iZXIgb2YgYmFycywgYW5kIGNvbG9ycy4gVGhlIG1peGluIHVzZXMgdGhlIGhlaWdodCBvZiB0aGUgaWNvbiBhbmQgdGhlIHdlaWdodCBvZiB0aGUgYmFycyB0byBkZXRlcm1pbmUgc3BhY2luZy4gPGRpdiBjbGFzcz1cImRvY3MtZXhhbXBsZS1idXJnZXJcIj48L2Rpdj5cbi8vL1xuLy8vIEBwYXJhbSB7Q29sb3J9ICRjb2xvciBbJGJsYWNrXSAtIENvbG9yIHRvIHVzZSBmb3IgdGhlIGljb24uXG4vLy8gQHBhcmFtIHtDb2xvcn0gJGNvbG9yLWhvdmVyIFskZGFyay1ncmF5XSAtIENvbG9yIHRvIHVzZSB3aGVuIHRoZSBpY29uIGlzIGhvdmVyZWQgb3Zlci5cbi8vLyBAcGFyYW0ge051bWJlcn0gJHdpZHRoIFsyMHB4XSAtIFdpZHRoIG9mIHRoZSBpY29uLlxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkaGVpZ2h0IFsxNnB4XSAtIEhlaWdodCBvZiB0aGUgaWNvbi5cbi8vLyBAcGFyYW0ge051bWJlcn0gJHdlaWdodCBbMnB4XSAtIEhlaWdodCBvZiBpbmRpdmlkdWFsIGJhcnMgaW4gdGhlIGljb24uXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRiYXJzIFszXSAtIE51bWJlciBvZiBiYXJzIGluIHRoZSBpY29uLlxuQG1peGluIGhhbWJ1cmdlcihcbiAgJGNvbG9yOiAkYmxhY2ssXG4gICRjb2xvci1ob3ZlcjogJGRhcmstZ3JheSxcbiAgJHdpZHRoOiAyMHB4LFxuICAkaGVpZ2h0OiAxNnB4LFxuICAkd2VpZ2h0OiAycHgsXG4gICRiYXJzOiAzXG4pIHtcbiAgLy8gYm94LXNoYWRvdyBDU1Mgb3V0cHV0XG4gICRzaGFkb3c6ICgpO1xuICAkaG92ZXItc2hhZG93OiAoKTtcblxuICAvLyBTcGFjaW5nIGJldHdlZW4gYmFycyBpcyBjYWxjdWxhdGVkIGJhc2VkIG9uIHRoZSB0b3RhbCBoZWlnaHQgb2YgdGhlIGljb24gYW5kIHRoZSB3ZWlnaHQgb2YgZWFjaCBiYXJcbiAgJHNwYWNpbmc6ICgkaGVpZ2h0IC0gKCR3ZWlnaHQgKiAkYmFycykpIC8gKCRiYXJzIC0gMSk7XG5cbiAgQGlmIHVuaXQoJHNwYWNpbmcpID09ICdweCcge1xuICAgICRzcGFjaW5nOiBmbG9vcigkc3BhY2luZyk7XG4gIH1cblxuICBAZm9yICRpIGZyb20gMiB0aHJvdWdoICRiYXJzIHtcbiAgICAkb2Zmc2V0OiAoJHdlaWdodCArICRzcGFjaW5nKSAqICgkaSAtIDEpO1xuICAgICRzaGFkb3c6IGFwcGVuZCgkc2hhZG93LCAwICRvZmZzZXQgMCAkY29sb3IsIGNvbW1hKTtcbiAgfVxuXG4gIC8vIEljb24gY29udGFpbmVyXG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICB3aWR0aDogJHdpZHRoO1xuICBoZWlnaHQ6ICRoZWlnaHQ7XG4gIGN1cnNvcjogcG9pbnRlcjtcblxuICAvLyBJY29uIGJhcnNcbiAgJjo6YWZ0ZXIge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDA7XG4gICAgbGVmdDogMDtcblxuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogJHdlaWdodDtcblxuICAgIGJhY2tncm91bmQ6ICRjb2xvcjtcbiAgICBib3gtc2hhZG93OiAkc2hhZG93O1xuXG4gICAgY29udGVudDogJyc7XG4gIH1cblxuICAvLyBIb3ZlciBzdGF0ZVxuICBAaWYgJGNvbG9yLWhvdmVyIHtcbiAgICAvLyBHZW5lcmF0ZSBDU1NcbiAgICBAZm9yICRpIGZyb20gMiB0aHJvdWdoICRiYXJzIHtcbiAgICAgICRvZmZzZXQ6ICgkd2VpZ2h0ICsgJHNwYWNpbmcpICogKCRpIC0gMSk7XG4gICAgICAkaG92ZXItc2hhZG93OiBhcHBlbmQoJGhvdmVyLXNoYWRvdywgMCAkb2Zmc2V0IDAgJGNvbG9yLWhvdmVyLCBjb21tYSk7XG4gICAgfVxuXG4gICAgJjpob3Zlcjo6YWZ0ZXIge1xuICAgICAgYmFja2dyb3VuZDogJGNvbG9yLWhvdmVyO1xuICAgICAgYm94LXNoYWRvdzogJGhvdmVyLXNoYWRvdztcbiAgICB9XG4gIH1cbn1cblxuLy8vIEFkZHMgYSBkb3dud2FyZC1mYWNpbmcgdHJpYW5nbGUgYXMgYSBiYWNrZ3JvdW5kIGltYWdlIHRvIGFuIGVsZW1lbnQuIFRoZSBpbWFnZSBpcyBmb3JtYXR0ZWQgYXMgYW4gU1ZHLCBtYWtpbmcgaXQgZWFzeSB0byBjaGFuZ2UgdGhlIGNvbG9yLiBCZWNhdXNlIEludGVybmV0IEV4cGxvcmVyIGRvZXNuJ3Qgc3VwcG9ydCBlbmNvZGVkIFNWR3MgYXMgYmFja2dyb3VuZCBpbWFnZXMsIGEgUE5HIGZhbGxiYWNrIGlzIGFsc28gaW5jbHVkZWQuXG4vLy8gVGhlcmUgYXJlIHR3byBQTkcgZmFsbGJhY2tzOiBhIGJsYWNrIHRyaWFuZ2xlIGFuZCBhIHdoaXRlIHRyaWFuZ2xlLiBUaGUgb25lIHVzZWQgZGVwZW5kcyBvbiB0aGUgbGlnaHRuZXNzIG9mIHRoZSBpbnB1dCBjb2xvci5cbi8vL1xuLy8vIEBwYXJhbSB7Q29sb3J9ICRjb2xvciBbJGJsYWNrXSAtIENvbG9yIHRvIHVzZSBmb3IgdGhlIHRyaWFuZ2xlLlxuQG1peGluIGJhY2tncm91bmQtdHJpYW5nbGUoJGNvbG9yOiAkYmxhY2spIHtcbiAgJHJnYjogJ3JnYiUyOCN7cm91bmQocmVkKCRjb2xvcikpfSwgI3tyb3VuZChncmVlbigkY29sb3IpKX0sICN7cm91bmQoYmx1ZSgkY29sb3IpKX0lMjknO1xuXG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbDt1dGY4LDxzdmcgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyB2ZXJzaW9uPScxLjEnIHdpZHRoPSczMicgaGVpZ2h0PScyNCcgdmlld0JveD0nMCAwIDMyIDI0Jz48cG9seWdvbiBwb2ludHM9JzAsMCAzMiwwIDE2LDI0JyBzdHlsZT0nZmlsbDogI3skcmdifSc+PC9wb2x5Z29uPjwvc3ZnPlwiKTtcblxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOjBcXDApIHtcbiAgICBAaWYgbGlnaHRuZXNzKCRjb2xvcikgPCA2MCUge1xuICAgICAgLy8gV2hpdGUgdHJpYW5nbGVcbiAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCgnZGF0YTppbWFnZS9wbmc7YmFzZTY0LGlWQk9SdzBLR2dvQUFBQU5TVWhFVWdBQUFDQUFBQUFZQ0FZQUFBQ2JVLzgwQUFBQUdYUkZXSFJUYjJaMGQyRnlaUUJCWkc5aVpTQkpiV0ZuWlZKbFlXUjVjY2xsUEFBQUFJcEpSRUZVZU5yRWtja05nREFNQkJmUmtFdDBPYlJCQmRzR1hVRGdtUWZLNFhoSDJtOGN6UUFBeTI3UjN0c3c0UWZlMng4dU9PNm9ZTGI2R2xPb3IzR0Yrc3dVUkFPbVVKK1J3dEVKczlXdlRHRVl4QlhxSTFNUUFaaENmVVFLUnpETVZqK1R3ckFJVjZqdlNVRWtZQXIxTFNrY3lUQmIvVitLWWZYN3hBZXVzcTNzTER0R0gza0VHQUNQV0lmbE5aZmhSUUFBQUFCSlJVNUVya0pnZ2c9PScpO1xuICAgIH1cbiAgICBAZWxzZSB7XG4gICAgICAvLyBCbGFjayB0cmlhbmdsZVxuICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKCdkYXRhOmltYWdlL3BuZztiYXNlNjQsaVZCT1J3MEtHZ29BQUFBTlNVaEVVZ0FBQUNBQUFBQVlDQVlBQUFDYlUvODBBQUFBR1hSRldIUlRiMlowZDJGeVpRQkJaRzlpWlNCSmJXRm5aVkpsWVdSNWNjbGxQQUFBQU1CSlJFRlVlTnJFbGxzT2hDQU1SVnN6QzlJbHpVN0tDbVZIVEpzb01XWU1VdHB5djlCZ2J1WFFCNVpTZGdCWVlZNHljZ0Jpdms4S1lGc1FNZk1pVFRCUDRvM25VekNLek9hYkxKYkx5Mi9nMzFldkdrQWdpblI0L1plZ0tINXFYM2JKQ3NjQTN0MHgza2dPNXRRRnloaEZmNTB4UnFGTGJ5TVVOSlF6Z3lqR1Mvd2dDcHZLcWtSQnB1V3JFNFY5ZCsxRTRkUFVYcUlnMTA3U1FPRS8yRFJReE13VER5Z0lJblZERVQ5VDNsQ29qLzZqL1ZDbUdqWk9sMmxLcFo4QUF3RFFQN3pJaW1ER0ZRQUFBQUJKUlU1RXJrSmdnZz09Jyk7XG4gICAgfVxuICB9XG59XG5cbi8vLyBBcHBsaWVzIHRoZSBtaWNybyBjbGVhcmZpeCBoYWNrIHBvcHVsYXJpemVkIGJ5IE5pY29sYXMgR2FsbGFnaGVyLiBJbmNsdWRlIHRoaXMgbWl4aW4gb24gYSBjb250YWluZXIgaWYgaXRzIGNoaWxkcmVuIGFyZSBhbGwgZmxvYXRlZCwgdG8gZ2l2ZSB0aGUgY29udGFpbmVyIGEgcHJvcGVyIGhlaWdodC5cbi8vLyBUaGUgY2xlYXJmaXggaXMgYXVnbWVudGVkIHdpdGggc3BlY2lmaWMgc3R5bGVzIHRvIHByZXZlbnQgYm9yZGVycyBpbiBmbGV4Ym94IGVudmlyb25tZW50c1xuLy8vIEBsaW5rIGh0dHA6Ly9uaWNvbGFzZ2FsbGFnaGVyLmNvbS9taWNyby1jbGVhcmZpeC1oYWNrLyBNaWNybyBDbGVhcmZpeCBIYWNrXG4vLy8gQGxpbmsgaHR0cDovL2RhbmlzYWRlc2lnbmVyLmNvbS9ibG9nL2ZsZXhib3gtY2xlYXItZml4LXBzZXVkby1lbGVtZW50cy8gRmxleGJveCBmaXhcbkBtaXhpbiBjbGVhcmZpeCB7XG4gICY6OmJlZm9yZSxcbiAgJjo6YWZ0ZXIge1xuICAgIGRpc3BsYXk6IHRhYmxlO1xuICAgIGNvbnRlbnQ6ICcgJztcblxuICAgIEBpZiAkZ2xvYmFsLWZsZXhib3gge1xuICAgICAgZmxleC1iYXNpczogMDtcbiAgICAgIG9yZGVyOiAxO1xuICAgIH1cbiAgfVxuXG4gICY6OmFmdGVyIHtcbiAgICBjbGVhcjogYm90aDtcbiAgfVxufVxuXG4vLy8gQWRkcyBDU1MgZm9yIGEgXCJxdWFudGl0eSBxdWVyeVwiIHNlbGVjdG9yIHRoYXQgYXV0b21hdGljYWxseSBzaXplcyBlbGVtZW50cyBiYXNlZCBvbiBob3cgbWFueSB0aGVyZSBhcmUgaW5zaWRlIGEgY29udGFpbmVyLlxuLy8vIEBsaW5rIGh0dHA6Ly9hbGlzdGFwYXJ0LmNvbS9hcnRpY2xlL3F1YW50aXR5LXF1ZXJpZXMtZm9yLWNzcyBRdWFudGl0eSBRdWVyaWVzIGZvciBDU1Ncbi8vL1xuLy8vIEBwYXJhbSB7TnVtYmVyfSAkbWF4IC0gTWF4aW11bSBudW1iZXIgb2YgaXRlbXMgdG8gZGV0ZWN0LiBUaGUgaGlnaGVyIHRoaXMgbnVtYmVyIGlzLCB0aGUgbW9yZSBDU1MgdGhhdCdzIHJlcXVpcmVkIHRvIGNvdmVyIGVhY2ggbnVtYmVyIG9mIGl0ZW1zLlxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJGVsZW0gW2xpXSAtIFRhZyB0byB1c2UgZm9yIHNpYmxpbmcgc2VsZWN0b3JzLlxuQG1peGluIGF1dG8td2lkdGgoJG1heCwgJGVsZW06IGxpKSB7XG4gIEBmb3IgJGkgZnJvbSAyIHRocm91Z2ggJG1heCB7XG4gICAgJjpudGgtbGFzdC1jaGlsZCgjeyRpfSk6Zmlyc3QtY2hpbGQsXG4gICAgJjpudGgtbGFzdC1jaGlsZCgjeyRpfSk6Zmlyc3QtY2hpbGQgfiAjeyRlbGVtfSB7XG4gICAgICB3aWR0aDogcGVyY2VudGFnZSgxIC8gJGkpO1xuICAgIH1cbiAgfVxufVxuXG4vLy8gUmVtb3ZlcyB0aGUgZm9jdXMgcmluZyBhcm91bmQgYW4gZWxlbWVudCB3aGVuIGEgbW91c2UgaW5wdXQgaXMgZGV0ZWN0ZWQuXG5AbWl4aW4gZGlzYWJsZS1tb3VzZS1vdXRsaW5lIHtcbiAgW2RhdGEtd2hhdGlucHV0PSdtb3VzZSddICYge1xuICAgIG91dGxpbmU6IDA7XG4gIH1cbn1cblxuLy8vIE1ha2VzIGFuIGVsZW1lbnQgdmlzdWFsbHkgaGlkZGVuLCBidXQgc3RpbGwgYWNjZXNzaWJsZSB0byBrZXlib2FyZHMgYW5kIGFzc2lzdGl2ZSBkZXZpY2VzLlxuLy8vIEBsaW5rIGh0dHA6Ly9zbm9vay5jYS9hcmNoaXZlcy9odG1sX2FuZF9jc3MvaGlkaW5nLWNvbnRlbnQtZm9yLWFjY2Vzc2liaWxpdHkgSGlkaW5nIENvbnRlbnQgZm9yIEFjY2Vzc2liaWxpdHlcbi8vLyBAbGluayBodHRwOi8vaHVnb2dpcmF1ZGVsLmNvbS8yMDE2LzEwLzEzL2Nzcy1oaWRlLWFuZC1zZWVrL1xuQG1peGluIGVsZW1lbnQtaW52aXNpYmxlIHtcbiAgcG9zaXRpb246IGFic29sdXRlICFpbXBvcnRhbnQ7XG4gIHdpZHRoOiAxcHg7XG4gIGhlaWdodDogMXB4O1xuICBwYWRkaW5nOiAwO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBjbGlwOiByZWN0KDAsMCwwLDApO1xuICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICBjbGlwLXBhdGg6IGluc2V0KDUwJSk7XG4gIGJvcmRlcjogMDtcbn1cblxuLy8vIFJldmVyc2VzIHRoZSBDU1Mgb3V0cHV0IGNyZWF0ZWQgYnkgdGhlIGBlbGVtZW50LWludmlzaWJsZSgpYCBtaXhpbi5cbkBtaXhpbiBlbGVtZW50LWludmlzaWJsZS1vZmYge1xuICBwb3NpdGlvbjogc3RhdGljICFpbXBvcnRhbnQ7XG4gIHdpZHRoOiBhdXRvO1xuICBoZWlnaHQ6IGF1dG87XG4gIG92ZXJmbG93OiB2aXNpYmxlO1xuICBjbGlwOiBhdXRvO1xuICB3aGl0ZS1zcGFjZTogbm9ybWFsO1xuICBjbGlwLXBhdGg6IG5vbmU7XG59XG5cbi8vLyBWZXJ0aWNhbGx5IGNlbnRlcnMgdGhlIGVsZW1lbnQgaW5zaWRlIG9mIGl0cyBmaXJzdCBub24tc3RhdGljIHBhcmVudCxcbi8vLyBAbGluayBodHRwOi8vd3d3LnNpdGVwb2ludC5jb20vY2VudGVyaW5nLXdpdGgtc2Fzcy8gQ2VudGVyaW5nIFdpdGggU2Fzc1xuQG1peGluIHZlcnRpY2FsLWNlbnRlciB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiA1MCU7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTtcbn1cblxuLy8vIEhvcml6b250YWxseSBjZW50ZXJzIHRoZSBlbGVtZW50IGluc2lkZSBvZiBpdHMgZmlyc3Qgbm9uLXN0YXRpYyBwYXJlbnQsXG4vLy8gQGxpbmsgaHR0cDovL3d3dy5zaXRlcG9pbnQuY29tL2NlbnRlcmluZy13aXRoLXNhc3MvIENlbnRlcmluZyBXaXRoIFNhc3NcbkBtaXhpbiBob3Jpem9udGFsLWNlbnRlciB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgbGVmdDogNTAlO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSk7XG59XG5cbi8vLyBBYnNvbHV0ZWx5IGNlbnRlcnMgdGhlIGVsZW1lbnQgaW5zaWRlIG9mIGl0cyBmaXJzdCBub24tc3RhdGljIHBhcmVudCxcbi8vLyBAbGluayBodHRwOi8vd3d3LnNpdGVwb2ludC5jb20vY2VudGVyaW5nLXdpdGgtc2Fzcy8gQ2VudGVyaW5nIFdpdGggU2Fzc1xuQG1peGluIGFic29sdXRlLWNlbnRlciB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiA1MCU7XG4gIGxlZnQ6IDUwJTtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgLTUwJSk7XG59XG5cbi8vLyBJdGVyYXRlcyB0aHJvdWdoIGJyZWFrcG9pbnRzIGRlZmluZWQgaW4gYCRicmVha3BvaW50LWNsYXNzZXNgIGFuZCBwcmludHMgdGhlIENTUyBpbnNpZGUgdGhlIG1peGluIGF0IGVhY2ggYnJlYWtwb2ludCdzIG1lZGlhIHF1ZXJ5LiBVc2UgdGhpcyB3aXRoIHRoZSBncmlkLCBvciBhbnkgb3RoZXIgY29tcG9uZW50IHRoYXQgaGFzIHJlc3BvbnNpdmUgY2xhc3Nlcy5cbi8vL1xuLy8vIEBwYXJhbSB7Qm9vbGVhbn0gJHNtYWxsIFt0cnVlXSAtIElmIGBmYWxzZWAsIHRoZSBtaXhpbiB3aWxsIHNraXAgdGhlIGBzbWFsbGAgYnJlYWtwb2ludC4gVXNlIHRoaXMgd2l0aCBjb21wb25lbnRzIHRoYXQgZG9uJ3QgcHJlZml4IGNsYXNzZXMgd2l0aCBgc21hbGwtYCwgb25seSBgbWVkaXVtLWAgYW5kIHVwLlxuLy8vIEBwYXJhbSB7Qm9vbGVhbn0gJGF1dG8taW5zZXJ0LWJyZWFrcG9pbnRzIFt0cnVlXSAtIElmIGBmYWxzZWAsIHRoZSBtaXhpbiB3aWxsIGl0ZXJhdGUgb3ZlciBicmVha3BvaW50cyB3aXRob3V0IGRvaW5nIHRoZSBtZWRpYSBxdWVyeSBpdHNlbGYuIFVzZWZ1bCBmb3IgbW9yZSBjb21wbGV4IG1lZGlhIHF1ZXJ5IGdlbmVyYXRpb24gYXMgaW4gdGhlIG1hcmdpbiBncmlkLlxuQG1peGluIC16Zi1lYWNoLWJyZWFrcG9pbnQoJHNtYWxsOiB0cnVlLCAkYXV0by1pbnNlcnQtYnJlYWtwb2ludHM6IHRydWUpIHtcbiAgJGxpc3Q6ICRicmVha3BvaW50LWNsYXNzZXM7XG5cbiAgQGlmIG5vdCAkc21hbGwge1xuICAgICRsaXN0OiBzbC1yZW1vdmUoJGxpc3QsICQtemYtemVyby1icmVha3BvaW50KTtcbiAgfVxuXG4gIEBlYWNoICRuYW1lIGluICRsaXN0IHtcbiAgICAkLXpmLXNpemU6ICRuYW1lICFnbG9iYWw7XG5cbiAgICBAaWYgJGF1dG8taW5zZXJ0LWJyZWFrcG9pbnRzIHtcbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJG5hbWUpIHtcbiAgICAgICAgQGNvbnRlbnQ7XG4gICAgICB9XG4gICAgfVxuICAgIEBlbHNlIHtcbiAgICAgIEBjb250ZW50O1xuICAgIH1cbiAgfVxufVxuXG4vLy8gR2VuZXJhdGUgdGhlIGBAY29udGVudGAgcGFzc2VkIHRvIHRoZSBtaXhpbiB3aXRoIGEgdmFsdWUgYCQtemYtYnAtdmFsdWVgIHJlbGF0ZWQgdG8gYSBicmVha3BvaW50LCBkZXBlbmRpbmcgb24gdGhlIGAkbmFtZWAgcGFyYW1ldGVyOlxuLy8vIC0gRm9yIGEgc2luZ2xlIHZhbHVlLCBgJC16Zi1icC12YWx1ZWAgaXMgdGhpcyB2YWx1ZS5cbi8vLyAtIEZvciBhIGJyZWFrcG9pbnQgbmFtZSwgYCQtemYtYnAtdmFsdWVgIGlzIHRoZSBjb3JyZXNwb25kaW5nIGJyZWFrcG9pbnQgdmFsdWUgaW4gYCRtYXBgLlxuLy8vIC0gRm9yIFwiYXV0b1wiLCBgJC16Zi1icC12YWx1ZWAgaXMgdGhlIGNvcnJlc3BvbmRpbmcgYnJlYWtwb2ludCB2YWx1ZSBpbiBgJG1hcGAgYW5kIGlzIHBhc3NlZCB0byBgQGNvbnRlbnRgLCB3aGljaCBpcyBtYWRlIHJlc3BvbnNpdmUgZm9yIGVhY2ggYnJlYWtwb2ludCBvZiBgJG1hcGAuXG4vLy8gQHBhcmFtIHtOdW1iZXJ8QXJyYXl8S2V5d29yZH0gJG5hbWUgW2F1dG9dIC0gU2luZ2xlIHZhbHVlLCBicmVha3BvaW50IG5hbWUsIG9yIGxpc3Qgb2YgYnJlYWtwb2ludCBuYW1lcyB0byB1c2UuIFwiYXV0b1wiIGJ5IGRlZmF1bHQuXG4vLy8gQHBhcmFtIHtOdW1iZXJ8TWFwfSAkbWFwIC0gTWFwIG9mIGJyZWFrcG9pbnRzIGFuZCB2YWx1ZXMgb3Igc2luZ2xlIHZhbHVlIHRvIHVzZS5cbkBtaXhpbiAtemYtYnJlYWtwb2ludC12YWx1ZShcbiAgJG5hbWU6IGF1dG8sXG4gICRtYXA6IG51bGxcbikge1xuICBAaWYgJG5hbWUgPT0gYXV0byBhbmQgdHlwZS1vZigkbWFwKSA9PSAnbWFwJyB7XG4gICAgLy8gXCJhdXRvXCJcbiAgICBAZWFjaCAkaywgJHYgaW4gJG1hcCB7XG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KCRrKSB7XG4gICAgICAgIEBpbmNsdWRlIC16Zi1icmVha3BvaW50LXZhbHVlKCR2LCAkbWFwKSB7XG4gICAgICAgICAgQGNvbnRlbnQ7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgQGVsc2Uge1xuICAgIC8vIGJyZWFrcG9pbnQgbmFtZVxuICAgIEBpZiB0eXBlLW9mKCRuYW1lKSA9PSAnc3RyaW5nJyB7XG4gICAgICAkbmFtZTogLXpmLWdldC1icC12YWwoJG1hcCwgJG5hbWUpO1xuICAgIH1cblxuICAgIC8vIGJyZWFrcG9pbnQgdmFsdWVcbiAgICAkLXpmLWJwLXZhbHVlOiAkbmFtZSAhZ2xvYmFsO1xuICAgIEBjb250ZW50O1xuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBmdW5jdGlvbnNcbi8vLy9cblxuJC16Zi1mb250LXN0YWNrOiAoXG4gICdnZW9yZ2lhJzogKEdlb3JnaWEsIFwiVVJXIEJvb2ttYW4gTFwiLCBzZXJpZiksXG4gICdoZWx2ZXRpY2EnOiAoSGVsdmV0aWNhLCBBcmlhbCwgXCJOaW1idXMgU2FucyBMXCIsIHNhbnMtc2VyaWYpLFxuICAnbHVjaWRhLWdyYW5kZSc6IChcIkx1Y2lkYSBHcmFuZGVcIiwgXCJMdWNpZGEgU2FucyBVbmljb2RlXCIsIFwiQml0c3RyZWFtIFZlcmEgU2Fuc1wiLCBzYW5zLXNlcmlmKSxcbiAgJ21vbm9zcGFjZSc6IChcIkNvdXJpZXIgTmV3XCIsIENvdXJpZXIsIFwiTmltYnVzIFNhbnMgTFwiLCBtb25vc3BhY2UpLFxuICAnc3lzdGVtJzogKC1hcHBsZS1zeXN0ZW0sIHN5c3RlbS11aSwgQmxpbmtNYWNTeXN0ZW1Gb250LCBcIlNlZ29lIFVJXCIsIFwiUm9ib3RvXCIsIFwiT3h5Z2VuXCIsIFwiVWJ1bnR1XCIsIFwiQ2FudGFyZWxsXCIsIFwiRmlyYSBTYW5zXCIsIFwiSGVsdmV0aWNhIE5ldWVcIiwgSGVsdmV0aWNhLCBBcmlhbCwgc2Fucy1zZXJpZiksXG4gICd2ZXJkYW5hJzogKFZlcmRhbmEsIEdlbmV2YSwgXCJEZWphVnUgU2Fuc1wiLCBzYW5zLXNlcmlmKSxcbik7XG5cbi8vLyBSZXR1cm4gYSBmb250IHN0YWNrIGxpc3QgZnJvbSBhIG1hcC4gRXF1aXZhbGVudCB0byBgbWFwLXNhZmUtZ2V0KCRuYW1lLCAkLXpmLWZvbnQtc3RhY2spYC5cbi8vL1xuLy8vIEBwYXJhbSB7U3RyaW5nfSAkc3RhY2sgLSBOYW1lIG9mIHRoZSBmb250IHN0YWNrLlxuLy8vIEBwYXJhbSB7TWFwfSAkbWFwIFskLXpmLWZvbnQtc3RhY2tdIC0gTWFwIG9mIGZvbnQgc3RhY2tzIHRvIHJldHJpZXZlIGEgbGlzdCBmcm9tLlxuLy8vXG4vLy8gQHJldHVybnMge0xpc3R9IEZvdW5kIGZvbnQgc3RhY2suXG5AZnVuY3Rpb24gZm9udC1zdGFjaygkc3RhY2ssICRtYXA6ICQtemYtZm9udC1zdGFjaykge1xuICBAcmV0dXJuIG1hcC1zYWZlLWdldCgkbWFwLCAkc3RhY2spO1xufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vIHNhc3MtbGludDpkaXNhYmxlIGZvcmNlLWF0dHJpYnV0ZS1uZXN0aW5nLCBmb3JjZS1wc2V1ZG8tbmVzdGluZywgbm8tY29sb3ItbGl0ZXJhbHMsIG5vLXF1YWxpZnlpbmctZWxlbWVudHNcblxuLy8vL1xuLy8vIEBncm91cCBnbG9iYWxcbi8vLy9cblxuLy8vIEZvbnQgc2l6ZSBhdHRyaWJ1dGUgYXBwbGllZCB0byBgPGh0bWw+YCBhbmQgYDxib2R5PmAuIFdlIHVzZSAxMDAlIGJ5IGRlZmF1bHQgc28gdGhlIHZhbHVlIGlzIGluaGVyaXRlZCBmcm9tIHRoZSB1c2VyJ3MgYnJvd3NlciBzZXR0aW5ncy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRnbG9iYWwtZm9udC1zaXplOiAxMDAlICFkZWZhdWx0O1xuXG4vLy8gR2xvYmFsIHdpZHRoIG9mIHlvdXIgc2l0ZS4gVXNlZCBieSB0aGUgZ3JpZCB0byBkZXRlcm1pbmUgcm93IHdpZHRoLlxuLy8vIEB0eXBlIE51bWJlclxuJGdsb2JhbC13aWR0aDogcmVtLWNhbGMoMTIwMCkgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGxpbmUgaGVpZ2h0IGZvciBhbGwgdHlwZS4gYCRnbG9iYWwtbGluZWhlaWdodGAgaXMgMjRweCB3aGlsZSBgJGdsb2JhbC1mb250LXNpemVgIGlzIDE2cHhcbi8vLyBAdHlwZSBOdW1iZXJcbiRnbG9iYWwtbGluZWhlaWdodDogMS41ICFkZWZhdWx0O1xuXG4vLy8gQ29sb3JzIHVzZWQgZm9yIGJ1dHRvbnMsIGNhbGxvdXRzLCBsaW5rcywgZXRjLiBUaGVyZSBtdXN0IGFsd2F5cyBiZSBhIGNvbG9yIGNhbGxlZCBgcHJpbWFyeWAuXG4vLy8gQHR5cGUgTWFwXG4kZm91bmRhdGlvbi1wYWxldHRlOiAoXG4gIHByaW1hcnk6ICMxNzc5YmEsXG4gIHNlY29uZGFyeTogIzc2NzY3NixcbiAgc3VjY2VzczogIzNhZGI3NixcbiAgd2FybmluZzogI2ZmYWUwMCxcbiAgYWxlcnQ6ICNjYzRiMzcsXG4pICFkZWZhdWx0O1xuXG4vLy8gQ29sb3IgdXNlZCBmb3IgbGlnaHQgZ3JheSBVSSBpdGVtcy5cbi8vLyBAdHlwZSBDb2xvclxuJGxpZ2h0LWdyYXk6ICNlNmU2ZTYgIWRlZmF1bHQ7XG5cbi8vLyBDb2xvciB1c2VkIGZvciBtZWRpdW0gZ3JheSBVSSBpdGVtcy5cbi8vLyBAdHlwZSBDb2xvclxuJG1lZGl1bS1ncmF5OiAjY2FjYWNhICFkZWZhdWx0O1xuXG4vLy8gQ29sb3IgdXNlZCBmb3IgZGFyayBncmF5IFVJIGl0ZW1zLlxuLy8vIEB0eXBlIENvbG9yXG4kZGFyay1ncmF5OiAjOGE4YThhICFkZWZhdWx0O1xuXG4vLy8gQ29sb3IgdXNlZCBmb3IgYmxhY2sgdWkgaXRlbXMuXG4vLy8gQHR5cGUgQ29sb3JcbiRibGFjazogIzBhMGEwYSAhZGVmYXVsdDtcblxuLy8vIENvbG9yIHVzZWQgZm9yIHdoaXRlIHVpIGl0ZW1zLlxuLy8vIEB0eXBlIENvbG9yXG4kd2hpdGU6ICNmZWZlZmUgIWRlZmF1bHQ7XG5cbi8vLyBCYWNrZ3JvdW5kIGNvbG9yIG9mIHRoZSBib2R5LlxuLy8vIEB0eXBlIENvbG9yXG4kYm9keS1iYWNrZ3JvdW5kOiAkd2hpdGUgIWRlZmF1bHQ7XG5cbi8vLyBUZXh0IGNvbG9yIG9mIHRoZSBib2R5LlxuLy8vIEB0eXBlIENvbG9yXG4kYm9keS1mb250LWNvbG9yOiAkYmxhY2sgIWRlZmF1bHQ7XG5cbi8vLyBGb250IHN0YWNrIG9mIHRoZSBib2R5LlxuLy8vIEB0eXBlIExpc3RcbiRib2R5LWZvbnQtZmFtaWx5OiAnSGVsdmV0aWNhIE5ldWUnLCBIZWx2ZXRpY2EsIFJvYm90bywgQXJpYWwsIHNhbnMtc2VyaWYgIWRlZmF1bHQ7XG5cbi8vLyBTZXQgdG8gYHRydWVgIHRvIGVuYWJsZSBhbnRpYWxpYXNlZCB0eXBlLCB1c2luZyB0aGUgYC13ZWJraXQtZm9udC1zbW9vdGhpbmdgIGFuZCBgLW1vei1vc3gtZm9udC1zbW9vdGhpbmdgIENTUyBwcm9wZXJ0aWVzLlxuLy8vIEB0eXBlIEJvb2xlYW5cbiRib2R5LWFudGlhbGlhc2VkOiB0cnVlICFkZWZhdWx0O1xuXG4vLy8gR2xvYmFsIHZhbHVlIHVzZWQgZm9yIG1hcmdpbiBvbiBjb21wb25lbnRzLlxuLy8vIEB0eXBlIE51bWJlclxuJGdsb2JhbC1tYXJnaW46IDFyZW0gIWRlZmF1bHQ7XG5cbi8vLyBHbG9iYWwgdmFsdWUgdXNlZCBmb3IgcGFkZGluZyBvbiBjb21wb25lbnRzLlxuLy8vIEB0eXBlIE51bWJlclxuJGdsb2JhbC1wYWRkaW5nOiAxcmVtICFkZWZhdWx0O1xuXG4vLy8gR2xvYmFsIHZhbHVlIHVzZWQgZm9yIHBvc2l0aW9uaW5nIG9uIGNvbXBvbmVudHMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kZ2xvYmFsLXBvc2l0aW9uOiAxcmVtICFkZWZhdWx0O1xuXG4vLy8gR2xvYmFsIGZvbnQgd2VpZ2h0IHVzZWQgZm9yIG5vcm1hbCB0eXBlLlxuLy8vIEB0eXBlIEtleXdvcmQgfCBOdW1iZXJcbiRnbG9iYWwtd2VpZ2h0LW5vcm1hbDogbm9ybWFsICFkZWZhdWx0O1xuXG4vLy8gR2xvYmFsIGZvbnQgd2VpZ2h0IHVzZWQgZm9yIGJvbGQgdHlwZS5cbi8vLyBAdHlwZSBLZXl3b3JkIHwgTnVtYmVyXG4kZ2xvYmFsLXdlaWdodC1ib2xkOiBib2xkICFkZWZhdWx0O1xuXG4vLy8gR2xvYmFsIHZhbHVlIHVzZWQgZm9yIGFsbCBlbGVtZW50cyB0aGF0IGhhdmUgYSBib3JkZXIgcmFkaXVzLlxuLy8vIEB0eXBlIE51bWJlclxuJGdsb2JhbC1yYWRpdXM6IDAgIWRlZmF1bHQ7XG5cbi8vLyBHbG9iYWwgdmFsdWUgdXNlZCBmb3IgYWxsIG1lbnUgc3R5bGVzLiBDYW4gYmUgb3ZlcndyaXR0ZW4gYXQgaW5kaXZpZHVhbCBtZW51IGNvbXBvbmVudCBsZXZlbC5cbi8vLyBAdHlwZSBOdW1iZXJcbiRnbG9iYWwtbWVudS1wYWRkaW5nOiAwLjdyZW0gMXJlbSAhZGVmYXVsdDtcblxuLy8vIEdsb2JhbCB2YWx1ZSB1c2VkIGZvciBhbGwgbWVudSBzdHlsZXMuIE5lc3RlZCBtYXJnaW4gZm9yIHN1Ym1lbnUuXG4kZ2xvYmFsLW1lbnUtbmVzdGVkLW1hcmdpbjogMXJlbSAhZGVmYXVsdDtcblxuLy8vIFNldHMgdGhlIHRleHQgZGlyZWN0aW9uIG9mIHRoZSBDU1MuIENhbiBiZSBlaXRoZXIgYGx0cmAgb3IgYHJ0bGAuXG4vLy8gQHR5cGUgS2V5d29yZFxuJGdsb2JhbC10ZXh0LWRpcmVjdGlvbjogbHRyICFkZWZhdWx0O1xuXG4vLy8gRW5hYmxlcyBmbGV4Ym94IGZvciBjb21wb25lbnRzIHRoYXQgc3VwcG9ydCBpdC5cbi8vLyBAdHlwZSBCb29sZWFuXG4kZ2xvYmFsLWZsZXhib3g6IHRydWUgIWRlZmF1bHQ7XG5cbi8vLyBFbmFibGVkIHJlc3BvbnNpdmUgYnJlYWtwb2ludHMgZm9yIHByb3RvdHlwZXMgaWYgYXBwbGljYWJsZVxuLy8vIEB0eXBlIEJvb2xlYW5cbiRnbG9iYWwtcHJvdG90eXBlLWJyZWFrcG9pbnRzOiBmYWxzZSAhZGVmYXVsdDtcblxuLy8vIEJ1dHRvbiBjdXJzb3IncyB2YWx1ZSwgYGF1dG9gIGJ5IGRlZmF1bHRcbi8vLyBAdHlwZSBLZXl3b3JkXG4kZ2xvYmFsLWJ1dHRvbi1jdXJzb3I6IGF1dG8gIWRlZmF1bHQ7XG5cbkBpZiBub3QgbWFwLWhhcy1rZXkoJGZvdW5kYXRpb24tcGFsZXR0ZSwgcHJpbWFyeSkge1xuICBAZXJyb3IgJ0luICRmb3VuZGF0aW9uLXBhbGV0dGUsIHlvdSBtdXN0IGhhdmUgYSBjb2xvciBuYW1lZCBcInByaW1hcnlcIi4nO1xufVxuXG4vLyBJbnRlcm5hbCB2YXJpYWJsZXMgdXNlZCBmb3IgdGV4dCBkaXJlY3Rpb25cbiRnbG9iYWwtbGVmdDogaWYoJGdsb2JhbC10ZXh0LWRpcmVjdGlvbiA9PSBydGwsIHJpZ2h0LCBsZWZ0KTtcbiRnbG9iYWwtcmlnaHQ6IGlmKCRnbG9iYWwtdGV4dC1kaXJlY3Rpb24gPT0gcnRsLCBsZWZ0LCByaWdodCk7XG5cbi8vLyBHbG9iYWwgdG9sZXJhbmNlIGZvciBjb2xvciBwaWNrIGNvbnRyYXN0LlxuLy8vIEB0eXBlIE51bWJlclxuJGdsb2JhbC1jb2xvci1waWNrLWNvbnRyYXN0LXRvbGVyYW5jZTogMCAhZGVmYXVsdDtcblxuLy8gSW50ZXJuYWwgdmFyaWFibGVzIHVzZWQgZm9yIGNvbG9yc1xuJHByaW1hcnktY29sb3I6IGdldC1jb2xvcihwcmltYXJ5KTtcbiRzZWNvbmRhcnktY29sb3I6IGdldC1jb2xvcihzZWNvbmRhcnkpO1xuJHN1Y2Nlc3MtY29sb3I6IGdldC1jb2xvcihzdWNjZXNzKTtcbiR3YXJuaW5nLWNvbG9yOiBnZXQtY29sb3Iod2FybmluZyk7XG4kYWxlcnQtY29sb3I6IGdldC1jb2xvcihhbGVydCk7XG5cbkBtaXhpbiBmb3VuZGF0aW9uLWdsb2JhbC1zdHlsZXMge1xuICBAaW5jbHVkZSAtemYtbm9ybWFsaXplO1xuXG4gIC8vIFRoZXNlIHN0eWxlcyBhcmUgYXBwbGllZCB0byBhIDxtZXRhPiB0YWcsIHdoaWNoIGlzIHJlYWQgYnkgdGhlIEZvdW5kYXRpb24gSmF2YVNjcmlwdFxuICAuZm91bmRhdGlvbi1tcSB7XG4gICAgZm9udC1mYW1pbHk6ICcjey16Zi1icC1zZXJpYWxpemUoJGJyZWFrcG9pbnRzKX0nO1xuICB9XG5cbiAgaHRtbCB7XG4gICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICBmb250LXNpemU6ICRnbG9iYWwtZm9udC1zaXplO1xuICB9XG5cbiAgLy8gU2V0IGJveC1zaXppbmcgZ2xvYmFsbHkgdG8gaGFuZGxlIHBhZGRpbmcgYW5kIGJvcmRlciB3aWR0aHNcbiAgKixcbiAgKjo6YmVmb3JlLFxuICAqOjphZnRlciB7XG4gICAgYm94LXNpemluZzogaW5oZXJpdDtcbiAgfVxuXG4gIC8vIERlZmF1bHQgYm9keSBzdHlsZXNcbiAgYm9keSB7XG4gICAgbWFyZ2luOiAwO1xuICAgIHBhZGRpbmc6IDA7XG5cbiAgICBiYWNrZ3JvdW5kOiAkYm9keS1iYWNrZ3JvdW5kO1xuXG4gICAgZm9udC1mYW1pbHk6ICRib2R5LWZvbnQtZmFtaWx5O1xuICAgIGZvbnQtd2VpZ2h0OiAkZ2xvYmFsLXdlaWdodC1ub3JtYWw7XG4gICAgbGluZS1oZWlnaHQ6ICRnbG9iYWwtbGluZWhlaWdodDtcbiAgICBjb2xvcjogJGJvZHktZm9udC1jb2xvcjtcblxuICAgIEBpZiAoJGJvZHktYW50aWFsaWFzZWQpIHtcbiAgICAgIC13ZWJraXQtZm9udC1zbW9vdGhpbmc6IGFudGlhbGlhc2VkO1xuICAgICAgLW1vei1vc3gtZm9udC1zbW9vdGhpbmc6IGdyYXlzY2FsZTtcbiAgICB9XG4gIH1cblxuICBpbWcge1xuICAgIC8vIEdldCByaWQgb2YgZ2FwIHVuZGVyIGltYWdlcyBieSBtYWtpbmcgdGhlbSBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7IGJ5IGRlZmF1bHRcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcblxuICAgIC8vIEdyaWQgZGVmYXVsdHMgdG8gZ2V0IGltYWdlcyBhbmQgZW1iZWRzIHRvIHdvcmsgcHJvcGVybHlcbiAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiBhdXRvO1xuICAgIC1tcy1pbnRlcnBvbGF0aW9uLW1vZGU6IGJpY3ViaWM7XG4gIH1cblxuICAvLyBNYWtlIHN1cmUgdGV4dGFyZWEgdGFrZXMgb24gaGVpZ2h0IGF1dG9tYXRpY2FsbHlcbiAgdGV4dGFyZWEge1xuICAgIGhlaWdodDogYXV0bztcbiAgICBtaW4taGVpZ2h0OiA1MHB4O1xuICAgIGJvcmRlci1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xuICB9XG5cbiAgLy8gTWFrZSBzZWxlY3QgZWxlbWVudHMgYXJlIDEwMCUgd2lkdGggYnkgZGVmYXVsdFxuICBzZWxlY3Qge1xuICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgYm9yZGVyLXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XG4gIH1cblxuICAvLyBTdHlsZXMgR29vZ2xlIE1hcHMgYW5kIE1hcFF1ZXN0IGVtYmVkcyBwcm9wZXJseVxuICAvLyBzYXNzLWxpbnQ6ZGlzYWJsZS1saW5lIG5vLWlkc1xuICAubWFwX2NhbnZhcyxcbiAgLm1xYS1kaXNwbGF5IHtcbiAgICBpbWcsXG4gICAgZW1iZWQsXG4gICAgb2JqZWN0IHtcbiAgICAgIG1heC13aWR0aDogbm9uZSAhaW1wb3J0YW50O1xuICAgIH1cbiAgfVxuXG4gIC8vIFJlc2V0IDxidXR0b24+IHN0eWxlcyBjcmVhdGVkIGJ5IG1vc3QgYnJvd3NlcnNcbiAgYnV0dG9uIHtcbiAgICBAaW5jbHVkZSBkaXNhYmxlLW1vdXNlLW91dGxpbmU7XG4gICAgcGFkZGluZzogMDtcbiAgICBhcHBlYXJhbmNlOiBub25lO1xuICAgIGJvcmRlcjogMDtcbiAgICBib3JkZXItcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcbiAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgICBsaW5lLWhlaWdodDogMTtcbiAgICBjdXJzb3I6ICRnbG9iYWwtYnV0dG9uLWN1cnNvcjtcbiAgfVxuXG4gIC8vIFByZXZlbnQgdGV4dCBvdmVyZmxvdyBvbiBwcmVcbiAgcHJlIHtcbiAgICBvdmVyZmxvdzogYXV0bztcbiAgfVxuXG4gIC8vIE1ha2UgcmVzZXQgaW5oZXJpdCBmb250LWZhbWlseSBpbnN0ZWFkIG9mIHNldHRpbmdzIHNhbnMtc2VyaWZcbiAgYnV0dG9uLFxuICBpbnB1dCxcbiAgb3B0Z3JvdXAsXG4gIHNlbGVjdCxcbiAgdGV4dGFyZWEge1xuICAgIGZvbnQtZmFtaWx5OiBpbmhlcml0O1xuICB9XG5cbiAgLy8gSW50ZXJuYWwgY2xhc3NlcyB0byBzaG93L2hpZGUgZWxlbWVudHMgaW4gSmF2YVNjcmlwdFxuICAuaXMtdmlzaWJsZSB7XG4gICAgZGlzcGxheTogYmxvY2sgIWltcG9ydGFudDtcbiAgfVxuXG4gIC5pcy1oaWRkZW4ge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgfVxufVxuXG4vLy8gTG9hZHMgbm9ybWFsaXplLmNzcy5cbi8vLyBAYWNjZXNzIHByaXZhdGVcbkBtaXhpbiAtemYtbm9ybWFsaXplIHtcbiAgQGluY2x1ZGUgbm9ybWFsaXplKCk7XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBncmlkXG4vLy8vXG5cbi8vLyBUaGUgbWF4aW11bSB3aWR0aCBvZiBhIHJvdy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRncmlkLXJvdy13aWR0aDogJGdsb2JhbC13aWR0aCAhZGVmYXVsdDtcblxuLy8vIFRoZSBkZWZhdWx0IGNvbHVtbiBjb3VudCBvZiBhIGdyaWQuIENoYW5naW5nIHRoaXMgdmFsdWUgYWZmZWN0cyB0aGUgbG9naWMgb2YgdGhlIGdyaWQgbWl4aW5zLCBhbmQgdGhlIG51bWJlciBvZiBDU1MgY2xhc3NlcyBvdXRwdXQuXG4vLy8gQHR5cGUgTnVtYmVyXG4kZ3JpZC1jb2x1bW4tY291bnQ6IDEyICFkZWZhdWx0O1xuXG4vLy8gVGhlIGFtb3VudCBvZiBzcGFjZSBiZXR3ZWVuIGNvbHVtbnMgYXQgZGlmZmVyZW50IHNjcmVlbiBzaXplcy4gVG8gdXNlIGp1c3Qgb25lIHNpemUsIHNldCB0aGUgdmFyaWFibGUgdG8gYSBudW1iZXIgaW5zdGVhZCBvZiBhIG1hcC5cbi8vLyBAdHlwZSBNYXAgfCBMZW5ndGhcbi8vLyBAc2luY2UgNi4xLjBcbiRncmlkLWNvbHVtbi1ndXR0ZXI6IChcbiAgc21hbGw6IDIwcHgsXG4gIG1lZGl1bTogMzBweCxcbikgIWRlZmF1bHQ7XG5cbi8vLyBJZiBgdHJ1ZWAsIHRoZSBsYXN0IGNvbHVtbiBpbiBhIHJvdyB3aWxsIGFsaWduIHRvIHRoZSBvcHBvc2l0ZSBlZGdlIG9mIHRoZSByb3cuXG4vLy8gQHR5cGUgQm9vbGVhblxuJGdyaWQtY29sdW1uLWFsaWduLWVkZ2U6IHRydWUgIWRlZmF1bHQ7XG5cbi8vLyBTZWxlY3RvciB1c2VkIGZvciBhbiBhbGlhcyBvZiBjb2x1bW4gKHdpdGggQGV4dGVuZCkuIElmIGBmYWxzZWAsIG5vIGFsaWFzIGlzIGNyZWF0ZWQuXG4vLy8gQHR5cGUgU3RyaW5nXG4kZ3JpZC1jb2x1bW4tYWxpYXM6ICdjb2x1bW5zJyAhZGVmYXVsdDtcblxuLy8vIFRoZSBoaWdoZXN0IG51bWJlciBvZiBgLngtdXBgIGNsYXNzZXMgYXZhaWxhYmxlIHdoZW4gdXNpbmcgdGhlIGJsb2NrIGdyaWQgQ1NTLlxuLy8vIEB0eXBlIE51bWJlclxuJGJsb2NrLWdyaWQtbWF4OiA4ICFkZWZhdWx0O1xuXG4vLyBJbnRlcm5hbCB2YWx1ZSB0byBzdG9yZSB0aGUgZW5kIGNvbHVtbiBmbG9hdCBkaXJlY3Rpb25cbiQtemYtZW5kLWZsb2F0OiBpZigkZ3JpZC1jb2x1bW4tYWxpZ24tZWRnZSwgJGdsb2JhbC1yaWdodCwgJGdsb2JhbC1sZWZ0KTtcblxuQGltcG9ydCAncm93JztcbkBpbXBvcnQgJ2NvbHVtbic7XG5AaW1wb3J0ICdzaXplJztcbkBpbXBvcnQgJ3Bvc2l0aW9uJztcbkBpbXBvcnQgJ2d1dHRlcic7XG5AaW1wb3J0ICdjbGFzc2VzJztcbkBpbXBvcnQgJ2xheW91dCc7XG5cbkBpbXBvcnQgJ2ZsZXgtZ3JpZCc7XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBncmlkXG4vLy8vXG5cbi8vLyBDaGFuZ2UgdGhlIGJlaGF2aW9yIG9mIGNvbHVtbnMgZGVmaW5lZCBpbnNpZGUgdGhpcyBtaXhpbiB0byB1c2UgYSBkaWZmZXJlbnQgY29sdW1uIGNvdW50LlxuLy8vIEBjb250ZW50XG4vLy9cbi8vLyBAcGFyYW0ge051bWJlcn0gJGNvbHVtbnMgLSBOdW1iZXIgb2YgY29sdW1ucyB0byB1c2UuXG4vLy8gQHBhcmFtIHtCb29sZWFufSAkcm9vdCBbZmFsc2VdXG4vLy8gICBJZiBgZmFsc2VgLCBzZWxlY3RvcnMgaW5zaWRlIHRoaXMgbWl4aW4gd2lsbCBuZXN0IGluc2lkZSB0aGUgcGFyZW50IHNlbGVjdG9yLlxuLy8vICAgSWYgYHRydWVgLCBzZWxlY3RvcnMgd2lsbCBub3QgbmVzdC5cbkBtaXhpbiBncmlkLWNvbnRleHQoXG4gICRjb2x1bW5zLFxuICAkcm9vdDogZmFsc2Vcbikge1xuICAvLyBTdG9yZSB0aGUgY3VycmVudCBjb2x1bW4gY291bnQgc28gaXQgY2FuIGJlIHJlLXNldCBsYXRlclxuICAkb2xkLWdyaWQtY29sdW1uLWNvdW50OiAkZ3JpZC1jb2x1bW4tY291bnQ7XG4gICRncmlkLWNvbHVtbi1jb3VudDogJGNvbHVtbnMgIWdsb2JhbDtcblxuICBAaWYgJHJvb3Qge1xuICAgIEBhdC1yb290IHsgQGNvbnRlbnQ7IH1cbiAgfVxuICBAZWxzZSB7XG4gICAgQGNvbnRlbnQ7XG4gIH1cblxuICAvLyBSZXN0b3JlIHRoZSBvbGQgY29sdW1uIGNvdW50XG4gICRncmlkLWNvbHVtbi1jb3VudDogJG9sZC1ncmlkLWNvbHVtbi1jb3VudCAhZ2xvYmFsO1xufVxuXG4vLy8gQ3JlYXRlcyBhIGdyaWQgcm93LlxuLy8vIEBjb250ZW50XG4vLy9cbi8vLyBAcGFyYW0ge051bWJlcn0gJGNvbHVtbnMgW251bGxdIC0gQ29sdW1uIGNvdW50IGZvciB0aGlzIHJvdy4gYG51bGxgIHdpbGwgdXNlIHRoZSBkZWZhdWx0IGNvbHVtbiBjb3VudC5cbi8vLyBAcGFyYW0ge0tleXdvcmRzfSAkYmVoYXZpb3IgW251bGxdXG4vLy8gICBNb2RpZmljYXRpb25zIHRvIHRoZSBkZWZhdWx0IGdyaWQgc3R5bGVzLiBgbmVzdGAgaW5kaWNhdGVzIHRoZSByb3cgd2lsbCBiZSBwbGFjZWQgaW5zaWRlIGFub3RoZXIgcm93LiBgY29sbGFwc2VgIGluZGljYXRlcyB0aGF0IHRoZSBjb2x1bW5zIGluc2lkZSB0aGlzIHJvdyB3aWxsIG5vdCBoYXZlIHBhZGRpbmcuIGBuZXN0IGNvbGxhcHNlYCBjb21iaW5lcyBib3RoIGJlaGF2aW9ycy5cbi8vLyBAcGFyYW0ge0tleXdvcmR8TnVtYmVyfSAkc2l6ZSBbJGdyaWQtcm93LXdpZHRoXSBNYXhpbXVtIHNpemUgb2YgdGhlIHJvdy4gU2V0IHRvIGBleHBhbmRgIHRvIG1ha2UgdGhlIHJvdyB0YWtpbmcgdGhlIGZ1bGwgd2lkdGguXG4vLy8gQHBhcmFtIHtCb29sZWFufSAkY2YgW3RydWVdIC0gV2hldGhlciBvciBub3QgdG8gaW5jbHVkZSBhIGNsZWFyZml4LlxuLy8vIEBwYXJhbSB7TnVtYmVyfE1hcH0gJGd1dHRlcnMgWyRncmlkLWNvbHVtbi1ndXR0ZXJdIC0gR3V0dGVyIG1hcCBvciBzaW5nbGUgdmFsdWUgdG8gdXNlIHdoZW4gaW52ZXJ0aW5nIG1hcmdpbnMuIFJlc3BvbnNpdmUgZ3V0dGVyIHNldHRpbmdzIGJ5IGRlZmF1bHQuXG5AbWl4aW4gZ3JpZC1yb3coXG4gICRjb2x1bW5zOiBudWxsLFxuICAkYmVoYXZpb3I6IG51bGwsXG4gICRzaXplOiAkZ3JpZC1yb3ctd2lkdGgsXG4gICRjZjogdHJ1ZSxcbiAgJGd1dHRlcnM6ICRncmlkLWNvbHVtbi1ndXR0ZXJcbikge1xuICAkbWFyZ2luOiBhdXRvO1xuXG4gIEBpZiBpbmRleCgkYmVoYXZpb3IsIG5lc3QpICE9IG51bGwge1xuICAgIEBpbmNsdWRlIGdyaWQtcm93LW5lc3QoJGd1dHRlcnMpO1xuXG4gICAgQGlmIGluZGV4KCRiZWhhdmlvciwgY29sbGFwc2UpICE9IG51bGwge1xuICAgICAgbWFyZ2luLXJpZ2h0OiAwO1xuICAgICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgfVxuICB9XG4gIEBlbHNlIHtcbiAgICBAaW5jbHVkZSBncmlkLXJvdy1zaXplKCRzaXplKTtcbiAgICBtYXJnaW4tcmlnaHQ6IGF1dG87XG4gICAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gIH1cblxuICBAaWYgJGNmIHtcbiAgICBAaW5jbHVkZSBjbGVhcmZpeDtcbiAgfVxuXG4gIEBpZiAkY29sdW1ucyAhPSBudWxsIHtcbiAgICBAaW5jbHVkZSBncmlkLWNvbnRleHQoJGNvbHVtbnMpIHtcbiAgICAgIEBjb250ZW50O1xuICAgIH1cbiAgfVxufVxuXG4vLy8gSW52ZXJ0cyB0aGUgbWFyZ2lucyBvZiBhIHJvdyB0byBuZXN0IGl0IGluc2lkZSBvZiBhIGNvbHVtbi5cbi8vL1xuLy8vIEBwYXJhbSB7TnVtYmVyfE1hcH0gJGd1dHRlcnMgWyRncmlkLWNvbHVtbi1ndXR0ZXJdIC0gR3V0dGVyIG1hcCBvciBzaW5nbGUgdmFsdWUgdG8gdXNlIHdoZW4gaW52ZXJ0aW5nIG1hcmdpbnMuIFJlc3BvbnNpdmUgZ3V0dGVyIHNldHRpbmdzIGJ5IGRlZmF1bHQuXG5AbWl4aW4gZ3JpZC1yb3ctbmVzdCgkZ3V0dGVyczogJGdyaWQtY29sdW1uLWd1dHRlcikge1xuICBAaW5jbHVkZSAtemYtZWFjaC1icmVha3BvaW50IHtcbiAgICAkbWFyZ2luOiByZW0tY2FsYygtemYtZ2V0LWJwLXZhbCgkZ3V0dGVycywgJC16Zi1zaXplKSkgLyAyICogLTE7XG5cbiAgICBtYXJnaW4tcmlnaHQ6ICRtYXJnaW47XG4gICAgbWFyZ2luLWxlZnQ6ICRtYXJnaW47XG4gIH1cbn1cblxuLy8vIFNldCBhIGdyaWQgcm93IHNpemVcbi8vL1xuLy8vIEBwYXJhbSB7S2V5d29yZHxOdW1iZXJ9ICRzaXplIFskZ3JpZC1yb3ctd2lkdGhdIE1heGltdW0gc2l6ZSBvZiB0aGUgcm93LiBTZXQgdG8gYGV4cGFuZGAgdG8gbWFrZSB0aGUgcm93IHRha2luZyB0aGUgZnVsbCB3aWR0aC5cbkBtaXhpbiBncmlkLXJvdy1zaXplKCRzaXplOiAkZ3JpZC1yb3ctd2lkdGgpIHtcbiAgQGlmICRzaXplID09IGV4cGFuZCB7XG4gICAgJHNpemU6IG5vbmU7XG4gIH1cblxuICBtYXgtd2lkdGg6ICRzaXplO1xufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgZ3JpZFxuLy8vL1xuXG4vLy8gQ2FsY3VsYXRlcyB0aGUgd2lkdGggb2YgYSBjb2x1bW4gYmFzZWQgb24gYSBudW1iZXIgb2YgZmFjdG9ycy5cbi8vL1xuLy8vIEBwYXJhbSB7TnVtYmVyfExpc3R9ICRjb2x1bW5zXG4vLy8gICBXaWR0aCBvZiB0aGUgY29sdW1uLiBBY2NlcHRzIG11bHRpcGxlIHZhbHVlczpcbi8vLyAgIC0gQSBwZXJjZW50YWdlIHZhbHVlIHdpbGwgbWFrZSB0aGUgY29sdW1uIHRoYXQgZXhhY3Qgc2l6ZS5cbi8vLyAgIC0gQSBzaW5nbGUgZGlnaXQgd2lsbCBtYWtlIHRoZSBjb2x1bW4gc3BhbiB0aGF0IG51bWJlciBvZiBjb2x1bW5zIHdpZGUsIHRha2luZyBpbnRvIGFjY291bnQgdGhlIGNvbHVtbiBjb3VudCBvZiB0aGUgcGFyZW50IHJvdy5cbi8vLyAgIC0gQSBsaXN0IG9mIHRoZSBmb3JtYXQgXCJ4IG9mIHlcIiAod2l0aG91dCBxdW90ZXMpIHdpbGwgbWFrZSBhIGNvbHVtbiB0aGF0IGlzICp4KiBjb2x1bW5zIHdpZGUsIGFzc3VtaW5nICp5KiB0b3RhbCBjb2x1bW5zIGZvciB0aGUgcGFyZW50LlxuLy8vXG4vLy8gQHJldHVybnMge051bWJlcn0gQSBjYWxjdWxhdGVkIHBlcmNlbnRhZ2UgdmFsdWUuXG5AZnVuY3Rpb24gZ3JpZC1jb2x1bW4oJGNvbHVtbnMpIHtcbiAgJHdpZHRoOiAwJTtcblxuICAvLyBQYXJzaW5nIHBlcmNlbnRzLCBkZWNpbWFscywgYW5kIGNvbHVtbiBjb3VudHNcbiAgQGlmIHR5cGUtb2YoJGNvbHVtbnMpID09ICdudW1iZXInIHtcbiAgICBAaWYgdW5pdCgkY29sdW1ucykgPT0gJyUnIHtcbiAgICAgICR3aWR0aDogJGNvbHVtbnM7XG4gICAgfVxuICAgIEBlbHNlIGlmICRjb2x1bW5zIDwgMSB7XG4gICAgICAkd2lkdGg6IHBlcmNlbnRhZ2UoJGNvbHVtbnMpO1xuICAgIH1cbiAgICBAZWxzZSB7XG4gICAgICAkd2lkdGg6IHBlcmNlbnRhZ2UoJGNvbHVtbnMgLyAkZ3JpZC1jb2x1bW4tY291bnQpO1xuICAgIH1cbiAgfVxuXG4gIC8vIFBhcnNpbmcgXCJuIG9mIG5cIiBleHByZXNzaW9uc1xuICBAZWxzZSBpZiB0eXBlLW9mKCRjb2x1bW5zKSA9PSAnbGlzdCcge1xuICAgIEBpZiBsZW5ndGgoJGNvbHVtbnMpICE9IDMge1xuICAgICAgQGVycm9yICdXcm9uZyBzeW50YXggZm9yIGdyaWQtY29sdW1uKCkuIFVzZSB0aGUgZm9ybWF0IFwibiBvZiBuXCIuJztcbiAgICB9XG4gICAgQGVsc2Uge1xuICAgICAgJHdpZHRoOiBwZXJjZW50YWdlKG50aCgkY29sdW1ucywgMSkgLyBudGgoJGNvbHVtbnMsIDMpKTtcbiAgICB9XG4gIH1cblxuICAvLyBBbnl0aGluZyBlbHNlIGlzIGluY29ycmVjdFxuICBAZWxzZSB7XG4gICAgQGVycm9yICdXcm9uZyBzeW50YXggZm9yIGdyaWQtY29sdW1uKCkuIFVzZSBhIG51bWJlciwgZGVjaW1hbCwgcGVyY2VudGFnZSwgb3IgXCJuIG9mIG5cIi4nO1xuICB9XG5cbiAgQHJldHVybiAkd2lkdGg7XG59XG5cbi8vLyBDcmVhdGVzIGEgZ3JpZCBjb2x1bW4uXG4vLy9cbi8vLyBAcGFyYW0ge01peGVkfSAkY29sdW1ucyBbJGdyaWQtY29sdW1uLWNvdW50XSAtIFdpZHRoIG9mIHRoZSBjb2x1bW4uIFJlZmVyIHRvIHRoZSBgZ3JpZC1jb2x1bW4oKWAgZnVuY3Rpb24gdG8gc2VlIHBvc3NpYmxlIHZhbHVlcy5cbi8vLyBAcGFyYW0ge01peGVkfSAkZ3V0dGVycyBbJGdyaWQtY29sdW1uLWd1dHRlcl0gLSBTcGFjaW5nIGJldHdlZW4gY29sdW1ucy4gUmVmZXIgdG8gdGhlIGBncmlkLWNvbHVtbi1ndXR0ZXIoKWAgZnVuY3Rpb24gdG8gc2VlIHBvc3NpYmxlIHZhbHVlcy5cbkBtaXhpbiBncmlkLWNvbHVtbihcbiAgJGNvbHVtbnM6ICRncmlkLWNvbHVtbi1jb3VudCxcbiAgJGd1dHRlcnM6ICRncmlkLWNvbHVtbi1ndXR0ZXJcbikge1xuICBAaW5jbHVkZSBncmlkLWNvbHVtbi1zaXplKCRjb2x1bW5zKTtcbiAgZmxvYXQ6ICRnbG9iYWwtbGVmdDtcblxuICAvLyBHdXR0ZXJzXG4gIEBpbmNsdWRlIGdyaWQtY29sdW1uLWd1dHRlcigkZ3V0dGVyczogJGd1dHRlcnMpO1xuXG4gIC8vIExhc3QgY29sdW1uIGFsaWdubWVudFxuICBAaWYgJGdyaWQtY29sdW1uLWFsaWduLWVkZ2Uge1xuICAgICY6bGFzdC1jaGlsZDpub3QoOmZpcnN0LWNoaWxkKSB7XG4gICAgICBmbG9hdDogJGdsb2JhbC1yaWdodDtcbiAgICB9XG4gIH1cbn1cblxuLy8vIENyZWF0ZXMgYSBncmlkIGNvbHVtbiByb3cuIFRoaXMgaXMgdGhlIGVxdWl2YWxlbnQgb2YgYWRkaW5nIGAucm93YCBhbmQgYC5jb2x1bW5gIHRvIHRoZSBzYW1lIGVsZW1lbnQuXG4vLy9cbi8vLyBAcGFyYW0ge01peGVkfSAkZ3V0dGVycyBbJGdyaWQtY29sdW1uLWd1dHRlcl0gLSBXaWR0aCBvZiB0aGUgZ3V0dGVycyBvbiBlaXRoZXIgc2lkZSBvZiB0aGUgY29sdW1uIHJvdy4gUmVmZXIgdG8gdGhlIGBncmlkLWNvbHVtbi1ndXR0ZXIoKWAgZnVuY3Rpb24gdG8gc2VlIHBvc3NpYmxlIHZhbHVlcy5cbkBtaXhpbiBncmlkLWNvbHVtbi1yb3coXG4gICRndXR0ZXJzOiAkZ3JpZC1jb2x1bW4tZ3V0dGVyXG4pIHtcbiAgQGluY2x1ZGUgZ3JpZC1yb3c7XG4gIEBpbmNsdWRlIGdyaWQtY29sdW1uKCRndXR0ZXJzOiAkZ3V0dGVycyk7XG5cbiAgJixcbiAgJjpsYXN0LWNoaWxkIHtcbiAgICBmbG9hdDogbm9uZTtcbiAgfVxufVxuXG4vLy8gU2hvcnRoYW5kIGZvciBgZ3JpZC1jb2x1bW4oKWAuXG4vLy8gQGFsaWFzIGdyaWQtY29sdW1uXG5AZnVuY3Rpb24gZ3JpZC1jb2woXG4gICRjb2x1bW5zOiAkZ3JpZC1jb2x1bW4tY291bnRcbikge1xuICBAcmV0dXJuIGdyaWQtY29sdW1uKCRjb2x1bW5zKTtcbn1cblxuLy8vIFNob3J0aGFuZCBmb3IgYGdyaWQtY29sdW1uKClgLlxuLy8vIEBhbGlhcyBncmlkLWNvbHVtblxuQG1peGluIGdyaWQtY29sKFxuICAkY29sdW1uczogJGdyaWQtY29sdW1uLWNvdW50LFxuICAkZ3V0dGVyczogJGdyaWQtY29sdW1uLWd1dHRlclxuKSB7XG4gIEBpbmNsdWRlIGdyaWQtY29sdW1uKCRjb2x1bW5zLCAkZ3V0dGVycyk7XG59XG5cbi8vLyBTaG9ydGhhbmQgZm9yIGBncmlkLWNvbHVtbi1yb3coKWAuXG4vLy8gQGFsaWFzIGdyaWQtY29sdW1uLXJvd1xuQG1peGluIGdyaWQtY29sLXJvdyhcbiAgJGd1dHRlcnM6ICRncmlkLWNvbHVtbi1ndXR0ZXJcbikge1xuICBAaW5jbHVkZSBncmlkLWNvbHVtbi1yb3coJGd1dHRlcnMpO1xufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgZ3JpZFxuLy8vL1xuXG4vLy8gU2V0IHRoZSB3aWR0aCBvZiBhIGdyaWQgY29sdW1uLlxuLy8vXG4vLy8gQHBhcmFtIHtOdW1iZXJ8TGlzdH0gJHdpZHRoIFskZ3JpZC1jb2x1bW4tY291bnRdIC0gV2lkdGggdG8gbWFrZSB0aGUgY29sdW1uLiBZb3UgY2FuIHBhc3MgaW4gYW55IHZhbHVlIGFjY2VwdGVkIGJ5IHRoZSBgZ3JpZC1jb2x1bW4oKWAgZnVuY3Rpb24sIHN1Y2ggYXMgYDZgLCBgNTAlYCwgb3IgYDEgb2YgMmAuXG5AbWl4aW4gZ3JpZC1jb2x1bW4tc2l6ZShcbiAgJGNvbHVtbnM6ICRncmlkLWNvbHVtbi1jb3VudFxuKSB7XG4gIHdpZHRoOiBncmlkLWNvbHVtbigkY29sdW1ucyk7XG59XG5cbi8vLyBTaG9ydGhhbmQgZm9yIGBncmlkLWNvbHVtbi1zaXplKClgLlxuLy8vIEBhbGlhcyBncmlkLWNvbHVtbi1zaXplXG5AbWl4aW4gZ3JpZC1jb2wtc2l6ZShcbiAgJGNvbHVtbnM6ICRncmlkLWNvbHVtbi1jb3VudFxuKSB7XG4gIEBpbmNsdWRlIGdyaWQtY29sdW1uLXNpemUoJGNvbHVtbnMpO1xufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgZ3JpZFxuLy8vL1xuXG4vLy8gUmVwb3NpdGlvbiBhIGNvbHVtbi5cbi8vL1xuLy8vIEBwYXJhbSB7TnVtYmVyfEtleXdvcmR9ICRwb3NpdGlvbiAtIERpcmVjdGlvbiBhbmQgYW1vdW50IHRvIG1vdmUuIFRoZSBjb2x1bW4gd2lsbCBtb3ZlIGVxdWFsIHRvIHRoZSB3aWR0aCBvZiB0aGUgY29sdW1uIGNvdW50IHNwZWNpZmllZC4gQSBwb3NpdGl2ZSBudW1iZXIgd2lsbCBwdXNoIHRoZSBjb2x1bW4gdG8gdGhlIHJpZ2h0LCB3aGlsZSBhIG5lZ2F0aXZlIG51bWJlciB3aWxsIHB1bGwgaXQgdG8gdGhlIGxlZnQuIFNldCB0byBjZW50ZXIgdG8gY2VudGVyIHRoZSBjb2x1bW4uXG5AbWl4aW4gZ3JpZC1jb2x1bW4tcG9zaXRpb24oJHBvc2l0aW9uKSB7XG4gIEBpZiB0eXBlLW9mKCRwb3NpdGlvbikgPT0gJ251bWJlcicge1xuICAgICRvZmZzZXQ6IHBlcmNlbnRhZ2UoJHBvc2l0aW9uIC8gJGdyaWQtY29sdW1uLWNvdW50KTtcblxuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAjeyRnbG9iYWwtbGVmdH06ICRvZmZzZXQ7XG4gIH1cbiAgQGVsc2UgaWYgJHBvc2l0aW9uID09IGNlbnRlciB7XG4gICAgJiwgJjpsYXN0LWNoaWxkOm5vdCg6Zmlyc3QtY2hpbGQpIHtcbiAgICAgIGZsb2F0OiBub25lO1xuICAgICAgY2xlYXI6IGJvdGg7XG4gICAgfVxuICAgIG1hcmdpbi1yaWdodDogYXV0bztcbiAgICBtYXJnaW4tbGVmdDogYXV0bztcbiAgfVxuICBAZWxzZSB7XG4gICAgQHdhcm4gJ1dyb25nIHN5bnRheCBmb3IgZ3JpZC1jb2x1bW4tcG9zaXRpb24oKS4gRW50ZXIgYSBwb3NpdGl2ZSBvciBuZWdhdGl2ZSBudW1iZXIsIG9yIGNlbnRlci4nO1xuICB9XG59XG5cbi8vLyBSZXNldCBhIHBvc2l0aW9uIGRlZmluaXRpb24uXG5AbWl4aW4gZ3JpZC1jb2x1bW4tdW5wb3NpdGlvbiB7XG4gIHBvc2l0aW9uOiBzdGF0aWM7XG4gIGZsb2F0OiAkZ2xvYmFsLWxlZnQ7XG4gIG1hcmdpbi1yaWdodDogMDtcbiAgbWFyZ2luLWxlZnQ6IDA7XG59XG5cbi8vLyBPZmZzZXRzIGEgY29sdW1uIHRvIHRoZSByaWdodCBieSBgJG5gIGNvbHVtbnMuXG4vLy8gQHBhcmFtIHtOdW1iZXJ8TGlzdH0gJG4gLSBXaWR0aCB0byBvZmZzZXQgYnkuIFlvdSBjYW4gcGFzcyBpbiBhbnkgdmFsdWUgYWNjZXB0ZWQgYnkgdGhlIGBncmlkLWNvbHVtbigpYCBtaXhpbiwgc3VjaCBhcyBgNmAsIGA1MCVgLCBvciBgMSBvZiAyYC5cbkBtaXhpbiBncmlkLWNvbHVtbi1vZmZzZXQoJG4pIHtcbiAgbWFyZ2luLSN7JGdsb2JhbC1sZWZ0fTogZ3JpZC1jb2x1bW4oJG4pO1xufVxuXG4vLy8gRGlzYWJsZSB0aGUgZGVmYXVsdCBiZWhhdmlvciBvZiB0aGUgbGFzdCBjb2x1bW4gaW4gYSByb3cgYWxpZ25pbmcgdG8gdGhlIG9wcG9zaXRlIGVkZ2UuXG5AbWl4aW4gZ3JpZC1jb2x1bW4tZW5kIHtcbiAgLy8gVGhpcyBleHRyYSBzcGVjaWZpY2l0eSBpcyByZXF1aXJlZCBmb3IgdGhlIHByb3BlcnR5IHRvIGJlIGFwcGxpZWRcbiAgJjpsYXN0LWNoaWxkOmxhc3QtY2hpbGQge1xuICAgIGZsb2F0OiAkZ2xvYmFsLWxlZnQ7XG4gIH1cbn1cblxuLy8vIFNob3J0aGFuZCBmb3IgYGdyaWQtY29sdW1uLXBvc2l0aW9uKClgLlxuLy8vIEBhbGlhcyBncmlkLWNvbHVtbi1wb3NpdGlvblxuQG1peGluIGdyaWQtY29sLXBvcygkcG9zaXRpb24pIHtcbiAgQGluY2x1ZGUgZ3JpZC1jb2x1bW4tcG9zaXRpb24oJHBvc2l0aW9uKTtcbn1cblxuLy8vIFNob3J0aGFuZCBmb3IgYGdyaWQtY29sdW1uLXVucG9zaXRpb24oKWAuXG4vLy8gQGFsaWFzIGdyaWQtY29sdW1uLXVucG9zaXRpb25cbkBtaXhpbiBncmlkLWNvbC11bnBvcyB7XG4gIEBpbmNsdWRlIGdyaWQtY29sdW1uLXVucG9zaXRpb247XG59XG5cbi8vLyBTaG9ydGhhbmQgZm9yIGBncmlkLWNvbHVtbi1vZmZzZXQoKWAuXG4vLy8gQGFsaWFzIGdyaWQtY29sdW1uLW9mZnNldFxuQG1peGluIGdyaWQtY29sLW9mZigkbikge1xuICBAaW5jbHVkZSBncmlkLWNvbHVtbi1vZmZzZXQoJG4pO1xufVxuXG4vLy8gU2hvcnRoYW5kIGZvciBgZ3JpZC1jb2x1bW4tZW5kKClgLlxuLy8vIEBhbGlhcyBncmlkLWNvbHVtbi1lbmRcbkBtaXhpbiBncmlkLWNvbC1lbmQge1xuICBAaW5jbHVkZSBncmlkLWNvbHVtbi1lbmQ7XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBncmlkXG4vLy8vXG5cbi8vLyBTZXQgdGhlIGd1dHRlcnMgb24gYSBjb2x1bW5cbi8vLyBAcGFyYW0ge051bWJlcnxLZXl3b3JkfSAkZ3V0dGVyIFthdXRvXVxuLy8vICAgU3BhY2luZyBiZXR3ZWVuIGNvbHVtbnMsIGFjY2VwdHMgbXVsdGlwbGUgdmFsdWVzOlxuLy8vICAgLSBBIHNpbmdsZSB2YWx1ZSB3aWxsIG1ha2UgdGhlIGd1dHRlciB0aGF0IGV4YWN0IHNpemUuXG4vLy8gICAtIEEgYnJlYWtwb2ludCBuYW1lIHdpbGwgbWFrZSB0aGUgZ3V0dGVyIHRoZSBjb3JyZXNwb25kaW5nIHNpemUgaW4gdGhlICRndXR0ZXJzIG1hcC5cbi8vLyAgIC0gXCJhdXRvXCIgd2lsbCBtYWtlIHRoZSBndXR0ZXIgcmVzcG9uc2l2ZSwgdXNpbmcgdGhlICRndXR0ZXJzIG1hcCB2YWx1ZXMuXG4vLy8gQHBhcmFtIHtOdW1iZXJ8TWFwfSAkZ3V0dGVycyBbJGdyaWQtY29sdW1uLWd1dHRlcl0gLSBHdXR0ZXIgbWFwIG9yIHNpbmdsZSB2YWx1ZSB0byB1c2UuIFJlc3BvbnNpdmUgZ3V0dGVyIHNldHRpbmdzIGJ5IGRlZmF1bHQuXG5AbWl4aW4gZ3JpZC1jb2x1bW4tZ3V0dGVyKFxuICAkZ3V0dGVyOiBhdXRvLFxuICAkZ3V0dGVyczogJGdyaWQtY29sdW1uLWd1dHRlclxuKSB7XG4gIEBpbmNsdWRlIC16Zi1icmVha3BvaW50LXZhbHVlKCRndXR0ZXIsICRndXR0ZXJzKSB7XG4gICAgJHBhZGRpbmc6IHJlbS1jYWxjKCQtemYtYnAtdmFsdWUpIC8gMjtcblxuICAgIHBhZGRpbmctcmlnaHQ6ICRwYWRkaW5nO1xuICAgIHBhZGRpbmctbGVmdDogJHBhZGRpbmc7XG4gIH1cbn1cblxuLy8vIENvbGxhcHNlIHRoZSBndXR0ZXJzIG9uIGEgY29sdW1uIGJ5IHJlbW92aW5nIHRoZSBwYWRkaW5nLiAqKk5vdGU6Kiogb25seSB1c2UgdGhpcyBtaXhpbiB3aXRoaW4gYSBicmVha3BvaW50LiBUbyBjb2xsYXBzZSBhIGNvbHVtbidzIGd1dHRlcnMgb24gYWxsIHNjcmVlbiBzaXplcywgdXNlIHRoZSBgJGd1dHRlcmAgcGFyYW1ldGVyIG9mIHRoZSBgZ3JpZC1jb2x1bW4oKWAgbWl4aW4gaW5zdGVhZC5cbkBtaXhpbiBncmlkLWNvbHVtbi1jb2xsYXBzZSB7XG4gIEBpbmNsdWRlIGdyaWQtY29sdW1uLWd1dHRlcigwKTtcbn1cblxuLy8vIFVuLWNvbGxhcHNlIHRoZSBndXR0ZXJzIG9uIGEgY29sdW1uIGJ5IHJlLWFkZGluZyB0aGUgcGFkZGluZy5cbi8vL1xuLy8vIEBwYXJhbSB7TnVtYmVyfSAkZ3V0dGVyIFskZ3JpZC1jb2x1bW4tZ3V0dGVyXSAtIFNwYWNpbmcgYmV0d2VlbiBjb2x1bW5zLlxuQG1peGluIGdyaWQtY29sdW1uLXVuY29sbGFwc2UoJGd1dHRlcjogJGdyaWQtY29sdW1uLWd1dHRlcikge1xuICBAd2FybiAnVGhpcyBtaXhpbiBpcyBiZWluZyByZXBsYWNlZCBieSBncmlkLWNvbHVtbi1ndXR0ZXIoKS4gZ3JpZC1jb2x1bW4tdW5jb2xsYXBzZSgpIHdpbGwgYmUgcmVtb3ZlZCBpbiBGb3VuZGF0aW9uIDYuNC4nO1xuICBAaW5jbHVkZSBncmlkLWNvbHVtbi1ndXR0ZXIoJGd1dHRlcnM6ICRndXR0ZXIpO1xufVxuXG4vLy8gU2hvcnRoYW5kIGZvciBgZ3JpZC1jb2x1bW4tZ3V0dGVyKClgLlxuLy8vIEBhbGlhcyBncmlkLWNvbHVtbi1ndXR0ZXJcbkBtaXhpbiBncmlkLWNvbC1ndXR0ZXIoXG4gICRndXR0ZXI6IGF1dG8sXG4gICRndXR0ZXJzOiAkZ3JpZC1jb2x1bW4tZ3V0dGVyXG4pIHtcbiAgQGluY2x1ZGUgZ3JpZC1jb2x1bW4tZ3V0dGVyKCRndXR0ZXIsICRndXR0ZXJzKTtcbn1cblxuLy8vIFNob3J0aGFuZCBmb3IgYGdyaWQtY29sdW1uLWNvbGxhcHNlKClgLlxuLy8vIEBhbGlhcyBncmlkLWNvbHVtbi1jb2xsYXBzZVxuQG1peGluIGdyaWQtY29sLWNvbGxhcHNlIHtcbiAgQGluY2x1ZGUgZ3JpZC1jb2x1bW4tY29sbGFwc2U7XG59XG5cbi8vLyBTaG9ydGhhbmQgZm9yIGBncmlkLWNvbHVtbi11bmNvbGxhcHNlKClgLlxuLy8vIEBhbGlhcyBncmlkLWNvbHVtbi11bmNvbGxhcHNlXG5AbWl4aW4gZ3JpZC1jb2wtdW5jb2xsYXBzZSgkZ3V0dGVyOiAkZ3JpZC1jb2x1bW4tZ3V0dGVyKSB7XG4gIEB3YXJuICdUaGlzIG1peGluIGlzIGJlaW5nIHJlcGxhY2VkIGJ5IGdyaWQtY29sLWd1dHRlcigpLiBncmlkLWNvbC11bmNvbGxhcHNlKCkgd2lsbCBiZSByZW1vdmVkIGluIEZvdW5kYXRpb24gNi40Lic7XG4gIEBpbmNsdWRlIGdyaWQtY29sdW1uLXVuY29sbGFwc2UoJGd1dHRlcik7XG59XG5cbi8vLyBTZXRzIGJvdHRvbSBtYXJnaW4gb24gZ3JpZCBjb2x1bW5zIHRvIG1hdGNoIGd1dHRlcnNcbi8vLyBAcGFyYW0ge051bWJlcnxLZXl3b3JkfSAkbWFyZ2luIFthdXRvXVxuLy8vICAgVGhlIGJvdHRvbSBtYXJnaW4gb24gZ3JpZCBjb2x1bW5zLCBhY2NlcHRzIG11bHRpcGxlIHZhbHVlczpcbi8vLyAgIC0gQSBzaW5nbGUgdmFsdWUgd2lsbCBtYWtlIHRoZSBtYXJnaW4gdGhhdCBleGFjdCBzaXplLlxuLy8vICAgLSBBIGJyZWFrcG9pbnQgbmFtZSB3aWxsIG1ha2UgdGhlIG1hcmdpbiB0aGUgY29ycmVzcG9uZGluZyBzaXplIGluIHRoZSAkbWFyZ2lucyBtYXAuXG4vLy8gICAtIFwiYXV0b1wiIHdpbGwgbWFrZSB0aGUgbWFyZ2luIHJlc3BvbnNpdmUsIHVzaW5nIHRoZSAkbWFyZ2lucyBtYXAgdmFsdWVzLlxuLy8vIEBwYXJhbSB7TnVtYmVyfE1hcH0gJG1hcmdpbnMgWyRncmlkLWNvbHVtbi1ndXR0ZXJdIC0gTWFwIG9yIHNpbmdsZSB2YWx1ZSB0byB1c2UuIFJlc3BvbnNpdmUgZ3V0dGVyIHNldHRpbmdzIGJ5IGRlZmF1bHQuXG5AbWl4aW4gZ3JpZC1jb2x1bW4tbWFyZ2luIChcbiAgJG1hcmdpbjogYXV0byxcbiAgJG1hcmdpbnM6ICRncmlkLWNvbHVtbi1ndXR0ZXJcbikge1xuICBAaW5jbHVkZSAtemYtYnJlYWtwb2ludC12YWx1ZSgkbWFyZ2luLCAkbWFyZ2lucykge1xuICAgICRtYXJnaW4tYm90dG9tOiByZW0tY2FsYygkLXpmLWJwLXZhbHVlKTtcbiAgICBtYXJnaW4tYm90dG9tOiAkbWFyZ2luLWJvdHRvbTtcblxuICAgID4gOmxhc3QtY2hpbGQge1xuICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICB9XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIGdyaWRcbi8vLy9cblxuLy8vIE91dHB1dHMgQ1NTIGNsYXNzZXMgZm9yIHRoZSBncmlkLlxuLy8vIEBhY2Nlc3MgcHJpdmF0ZVxuQG1peGluIGZvdW5kYXRpb24tZ3JpZChcbiAgJHJvdzogJ3JvdycsXG4gICRjb2x1bW46ICdjb2x1bW4nLFxuICAkY29sdW1uLXJvdzogJ2NvbHVtbi1yb3cnLFxuICAkZ3V0dGVyOiAnZ3V0dGVyJyxcbiAgJHB1c2g6ICdwdXNoJyxcbiAgJHB1bGw6ICdwdWxsJyxcbiAgJGNlbnRlcjogJ2NlbnRlcmVkJyxcbiAgJHVuY2VudGVyOiAndW5jZW50ZXJlZCcsXG4gICRjb2xsYXBzZTogJ2NvbGxhcHNlJyxcbiAgJHVuY29sbGFwc2U6ICd1bmNvbGxhcHNlJyxcbiAgJG9mZnNldDogJ29mZnNldCcsXG4gICRlbmQ6ICdlbmQnLFxuICAkZXhwYW5kZWQ6ICdleHBhbmRlZCcsXG4gICRibG9jazogJ2Jsb2NrJ1xuKSB7XG4gIC8vIFJvd1xuICAuI3skcm93fSB7XG4gICAgQGluY2x1ZGUgZ3JpZC1yb3c7XG5cbiAgICAvLyBDb2xsYXBzaW5nXG4gICAgJi4jeyRjb2xsYXBzZX0ge1xuICAgICAgPiAuI3skY29sdW1ufSB7XG4gICAgICAgIEBpbmNsdWRlIGdyaWQtY29sLWNvbGxhcHNlO1xuICAgICAgfVxuICAgIH1cblxuICAgIC8vIE5lc3RpbmdcbiAgICAmIC4jeyRyb3d9IHtcbiAgICAgIEBpbmNsdWRlIGdyaWQtcm93LW5lc3QoJGdyaWQtY29sdW1uLWd1dHRlcik7XG5cbiAgICAgICYuI3skY29sbGFwc2V9IHtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAwO1xuICAgICAgICBtYXJnaW4tbGVmdDogMDtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBFeHBhbmRlZCAoZnVsbC13aWR0aCkgcm93XG4gICAgJi4jeyRleHBhbmRlZH0ge1xuICAgICAgQGluY2x1ZGUgZ3JpZC1yb3ctc2l6ZShleHBhbmQpO1xuXG4gICAgICAuI3skcm93fSB7XG4gICAgICAgIG1hcmdpbi1yaWdodDogYXV0bztcbiAgICAgICAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gICAgICB9XG4gICAgfVxuXG4gICAgJjpub3QoLiN7JGV4cGFuZGVkfSkgLiN7JHJvd30ge1xuICAgICAgQGluY2x1ZGUgZ3JpZC1yb3ctc2l6ZShleHBhbmQpO1xuICAgIH1cblxuICAgIEBpZiB0eXBlLW9mKCRncmlkLWNvbHVtbi1ndXR0ZXIpID09ICdtYXAnIHtcbiAgICAgIC8vIFN0YXRpYyAodW5yZXNwb25zaXZlKSByb3cgZ3V0dGVyc1xuICAgICAgLy9cbiAgICAgIEBlYWNoICRicmVha3BvaW50LCAkdmFsdWUgaW4gJGdyaWQtY29sdW1uLWd1dHRlciB7XG4gICAgICAgICYuI3skZ3V0dGVyfS0jeyRicmVha3BvaW50fSB7XG4gICAgICAgICAgPiAuI3skY29sdW1ufSB7XG4gICAgICAgICAgICBAaW5jbHVkZSBncmlkLWNvbC1ndXR0ZXIoJHZhbHVlKTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAvLyBDb2x1bW5cbiAgLiN7JGNvbHVtbn0ge1xuICAgIEBpbmNsdWRlIGdyaWQtY29sO1xuXG4gICAgQGlmICRncmlkLWNvbHVtbi1hbGlnbi1lZGdlIHtcbiAgICAgICYuI3skZW5kfSB7XG4gICAgICAgIEBpbmNsdWRlIGdyaWQtY29sLWVuZDtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAvLyBDb2x1bW4gcm93XG4gIC8vIFRoZSBkb3VibGUgLnJvdyBjbGFzcyBpcyBuZWVkZWQgdG8gYnVtcCB1cCB0aGUgc3BlY2lmaWNpdHlcbiAgLiN7JGNvbHVtbn0uI3skcm93fS4jeyRyb3d9IHtcbiAgICBmbG9hdDogbm9uZTtcbiAgfVxuXG4gIC8vIFRvIHByb3Blcmx5IG5lc3QgYSBjb2x1bW4gcm93LCBwYWRkaW5nIGFuZCBtYXJnaW4gaXMgcmVtb3ZlZFxuICAuI3skcm93fSAuI3skY29sdW1ufS4jeyRyb3d9LiN7JHJvd30ge1xuICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICBtYXJnaW4tbGVmdDogMDtcbiAgICBwYWRkaW5nLXJpZ2h0OiAwO1xuICAgIHBhZGRpbmctbGVmdDogMDtcbiAgfVxuXG4gIEBpbmNsdWRlIC16Zi1lYWNoLWJyZWFrcG9pbnQge1xuICAgIEBmb3IgJGkgZnJvbSAxIHRocm91Z2ggJGdyaWQtY29sdW1uLWNvdW50IHtcbiAgICAgIC8vIENvbHVtbiB3aWR0aFxuICAgICAgLiN7JC16Zi1zaXplfS0jeyRpfSB7XG4gICAgICAgIEBpbmNsdWRlIGdyaWQtY29sLXNpemUoJGkpO1xuICAgICAgfVxuXG4gICAgICAvLyBTb3VyY2Ugb3JkZXJpbmdcbiAgICAgIEBpZiAkaSA8ICRncmlkLWNvbHVtbi1jb3VudCB7XG4gICAgICAgIC4jeyQtemYtc2l6ZX0tI3skcHVzaH0tI3skaX0ge1xuICAgICAgICAgIEBpbmNsdWRlIGdyaWQtY29sLXBvcygkaSk7XG4gICAgICAgIH1cblxuICAgICAgICAuI3skLXpmLXNpemV9LSN7JHB1bGx9LSN7JGl9IHtcbiAgICAgICAgICBAaW5jbHVkZSBncmlkLWNvbC1wb3MoLSRpKTtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICAvLyBPZmZzZXRzXG4gICAgICAkbzogJGkgLSAxO1xuXG4gICAgICAuI3skLXpmLXNpemV9LSN7JG9mZnNldH0tI3skb30ge1xuICAgICAgICBAaW5jbHVkZSBncmlkLWNvbC1vZmYoJG8pO1xuICAgICAgfVxuICAgIH1cblxuICAgIC8vIEJsb2NrIGdyaWRcbiAgICBAZm9yICRpIGZyb20gMSB0aHJvdWdoICRibG9jay1ncmlkLW1heCB7XG4gICAgICAuI3skLXpmLXNpemV9LXVwLSN7JGl9IHtcbiAgICAgICAgQGluY2x1ZGUgZ3JpZC1sYXlvdXQoJGksICcuI3skY29sdW1ufScpO1xuICAgICAgfVxuICAgIH1cblxuICAgIC8vIFJlc3BvbnNpdmUgY29sbGFwc2luZ1xuICAgIC4jeyQtemYtc2l6ZX0tI3skY29sbGFwc2V9IHtcbiAgICAgID4gLiN7JGNvbHVtbn0geyBAaW5jbHVkZSBncmlkLWNvbC1jb2xsYXBzZTsgfVxuXG4gICAgICAuI3skcm93fSB7XG4gICAgICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLiN7JGV4cGFuZGVkfS4jeyRyb3d9IC4jeyQtemYtc2l6ZX0tI3skY29sbGFwc2V9LiN7JHJvd30ge1xuICAgICAgbWFyZ2luLXJpZ2h0OiAwO1xuICAgICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgfVxuXG4gICAgLiN7JC16Zi1zaXplfS0jeyR1bmNvbGxhcHNlfSB7XG4gICAgICA+IC4jeyRjb2x1bW59IHsgQGluY2x1ZGUgZ3JpZC1jb2wtZ3V0dGVyKCQtemYtc2l6ZSk7IH1cbiAgICB9XG5cbiAgICAvLyBQb3NpdGlvbmluZ1xuICAgIC4jeyQtemYtc2l6ZX0tI3skY2VudGVyfSB7XG4gICAgICBAaW5jbHVkZSBncmlkLWNvbC1wb3MoY2VudGVyKTtcbiAgICB9XG5cbiAgICAvLyBHdXR0ZXIgYWRqdXN0bWVudFxuICAgIC4jeyQtemYtc2l6ZX0tI3skdW5jZW50ZXJ9LFxuICAgIC4jeyQtemYtc2l6ZX0tI3skcHVzaH0tMCxcbiAgICAuI3skLXpmLXNpemV9LSN7JHB1bGx9LTAge1xuICAgICAgQGluY2x1ZGUgZ3JpZC1jb2wtdW5wb3M7XG4gICAgfVxuICB9XG5cbiAgLy8gQmxvY2sgZ3JpZCBjb2x1bW5zXG4gIC4jeyRjb2x1bW59LSN7JGJsb2NrfSB7XG4gICAgQGluY2x1ZGUgZ3JpZC1jb2x1bW4tbWFyZ2luO1xuICB9XG5cbiAgQGlmICRjb2x1bW4gPT0gJ2NvbHVtbicgYW5kIGhhcy12YWx1ZSgkZ3JpZC1jb2x1bW4tYWxpYXMpIHtcbiAgICAuI3skZ3JpZC1jb2x1bW4tYWxpYXN9IHtcbiAgICAgIC8vIHNhc3MtbGludDpkaXNhYmxlLWJsb2NrIHBsYWNlaG9sZGVyLWluLWV4dGVuZFxuICAgICAgQGV4dGVuZCAuY29sdW1uO1xuICAgIH1cbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgZ3JpZFxuLy8vL1xuXG4vLy8gU2l6ZXMgY2hpbGQgZWxlbWVudHMgc28gdGhhdCBgJG5gIG51bWJlciBvZiBpdGVtcyBhcHBlYXIgb24gZWFjaCByb3cuXG4vLy9cbi8vLyBAcGFyYW0ge051bWJlcn0gJG4gLSBOdW1iZXIgb2YgZWxlbWVudHMgdG8gZGlzcGxheSBwZXIgcm93LlxuLy8vIEBwYXJhbSB7U3RyaW5nfSAkc2VsZWN0b3IgWycuY29sdW1uJ10gLSBTZWxlY3RvcihzKSB0byB1c2UgZm9yIGNoaWxkIGVsZW1lbnRzLlxuLy8vIEBwYXJhbSB7TnVtYmVyfExpc3R9ICRndXR0ZXJcbi8vLyAgIFRoZSBndXR0ZXIgdG8gYXBwbHkgdG8gY2hpbGQgZWxlbWVudHMuIEFjY2VwdHMgbXVsdGlwbGUgdmFsdWVzOlxuLy8vICAgLSAkZ3JpZC1jb2x1bW4tZ3V0dGVyIHdpbGwgdXNlIHRoZSB2YWx1ZXMgaW4gdGhlICRncmlkLWNvbHVtbi1ndXR0ZXIgbWFwLCBpbmNsdWRpbmcgYnJlYWtwb2ludCBzaXplcy5cbi8vLyAgIC0gQSBmaXhlZCBudW1lcmljIHZhbHVlIHdpbGwgYXBwbHkgdGhpcyBndXR0ZXIgdG8gYWxsIGJyZWFrcG9pbnRzLlxuQG1peGluIGdyaWQtbGF5b3V0KFxuICAkbixcbiAgJHNlbGVjdG9yOiAnLmNvbHVtbicsXG4gICRndXR0ZXI6IG51bGxcbikge1xuICAmID4gI3skc2VsZWN0b3J9IHtcbiAgICBmbG9hdDogJGdsb2JhbC1sZWZ0O1xuICAgIHdpZHRoOiBwZXJjZW50YWdlKDEvJG4pO1xuXG4gICAgLy8gSWYgYSAkZ3V0dGVyIHZhbHVlIGlzIHBhc3NlZFxuICAgIEBpZigkZ3V0dGVyKSB7XG4gICAgICAvLyBHdXR0ZXJzXG4gICAgICBAaWYgdHlwZS1vZigkZ3V0dGVyKSA9PSAnbWFwJyB7XG4gICAgICAgIEBlYWNoICRicmVha3BvaW50LCAkdmFsdWUgaW4gJGd1dHRlciB7XG4gICAgICAgICAgJHBhZGRpbmc6IHJlbS1jYWxjKCR2YWx1ZSkgLyAyO1xuXG4gICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkYnJlYWtwb2ludCkge1xuICAgICAgICAgICAgcGFkZGluZy1yaWdodDogJHBhZGRpbmc7XG4gICAgICAgICAgICBwYWRkaW5nLWxlZnQ6ICRwYWRkaW5nO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgQGVsc2UgaWYgdHlwZS1vZigkZ3V0dGVyKSA9PSAnbnVtYmVyJyBhbmQgc3RyaXAtdW5pdCgkZ3V0dGVyKSA+IDAge1xuICAgICAgICAkcGFkZGluZzogcmVtLWNhbGMoJGd1dHRlcikgLyAyO1xuICAgICAgICBwYWRkaW5nLXJpZ2h0OiAkcGFkZGluZztcbiAgICAgICAgcGFkZGluZy1sZWZ0OiAkcGFkZGluZztcbiAgICAgIH1cbiAgICB9XG5cbiAgICAmOm50aC1vZi10eXBlKDFuKSB7XG4gICAgICBjbGVhcjogbm9uZTtcbiAgICB9XG5cbiAgICAmOm50aC1vZi10eXBlKCN7JG59bisxKSB7XG4gICAgICBjbGVhcjogYm90aDtcbiAgICB9XG5cbiAgICAmOmxhc3QtY2hpbGQge1xuICAgICAgZmxvYXQ6ICRnbG9iYWwtbGVmdDtcbiAgICB9XG4gIH1cbn1cblxuLy8vIEFkZHMgZXh0cmEgQ1NTIHRvIGJsb2NrIGdyaWQgY2hpbGRyZW4gc28gdGhlIGxhc3QgaXRlbXMgaW4gdGhlIHJvdyBjZW50ZXIgYXV0b21hdGljYWxseS4gQXBwbHkgdGhpcyB0byB0aGUgY29sdW1ucywgbm90IHRoZSByb3cuXG4vLy9cbi8vLyBAcGFyYW0ge051bWJlcn0gJG4gLSBOdW1iZXIgb2YgaXRlbXMgdGhhdCBhcHBlYXIgaW4gZWFjaCByb3cuXG5AbWl4aW4gZ3JpZC1sYXlvdXQtY2VudGVyLWxhc3QoJG4pIHtcbiAgQGZvciAkaSBmcm9tIDEgdG8gJG4ge1xuICAgIEBpZiAkaSA9PSAxIHtcbiAgICAgICY6bnRoLWNoaWxkKCN7JG59bisxKTpsYXN0LWNoaWxkIHtcbiAgICAgICAgbWFyZ2luLWxlZnQ6ICgxMDAgLSAxMDAvJG4gKiAkaSkgLyAyICogMSU7XG4gICAgICB9XG4gICAgfVxuICAgIEBlbHNlIHtcbiAgICAgICY6bnRoLWNoaWxkKCN7JG59bisxKTpudGgtbGFzdC1jaGlsZCgjeyRpfSkge1xuICAgICAgICBtYXJnaW4tbGVmdDogKDEwMCAtIDEwMC8kbiAqICRpKSAvIDIgKiAxJTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIGZsZXgtZ3JpZFxuLy8vL1xuXG4vLy8gQ3JlYXRlcyBhIGNvbnRhaW5lciBmb3IgYSBmbGV4IGdyaWQgcm93LlxuLy8vXG4vLy8gQHBhcmFtIHtLZXl3b3JkfExpc3R9ICRiZWhhdmlvciBbbnVsbF1cbi8vLyAgIE1vZGlmaWNhdGlvbnMgdG8gdGhlIGRlZmF1bHQgZ3JpZCBzdHlsZXMuIGBuZXN0YCBpbmRpY2F0ZXMgdGhlIHJvdyB3aWxsIGJlIHBsYWNlZCBpbnNpZGUgYW5vdGhlciByb3cuIGBjb2xsYXBzZWAgaW5kaWNhdGVzIHRoYXQgdGhlIGNvbHVtbnMgaW5zaWRlIHRoaXMgcm93IHdpbGwgbm90IGhhdmUgcGFkZGluZy4gYG5lc3QgY29sbGFwc2VgIGNvbWJpbmVzIGJvdGggYmVoYXZpb3JzLlxuLy8vIEBwYXJhbSB7S2V5d29yZHxOdW1iZXJ9ICRzaXplIFskZ3JpZC1yb3ctd2lkdGhdIE1heGltdW0gc2l6ZSBvZiB0aGUgcm93LiBTZXQgdG8gYGV4cGFuZGAgdG8gbWFrZSB0aGUgcm93IHRha2luZyB0aGUgZnVsbCB3aWR0aC5cbi8vLyBAcGFyYW0ge051bWJlcn0gJGNvbHVtbnMgW251bGxdIC0gTnVtYmVyIG9mIGNvbHVtbnMgdG8gdXNlIGZvciB0aGlzIHJvdy4gSWYgc2V0IHRvIGBudWxsYCAodGhlIGRlZmF1bHQpLCB0aGUgZ2xvYmFsIGNvbHVtbiBjb3VudCB3aWxsIGJlIHVzZWQuXG4vLy8gQHBhcmFtIHtCb29sZWFufSAkYmFzZSBbdHJ1ZV0gLSBTZXQgdG8gYGZhbHNlYCB0byBwcmV2ZW50IGJhc2ljIHN0eWxlcyBmcm9tIGJlaW5nIG91dHB1dC4gVXNlZnVsIGlmIHlvdSdyZSBjYWxsaW5nIHRoaXMgbWl4aW4gb24gdGhlIHNhbWUgZWxlbWVudCB0d2ljZSwgYXMgaXQgcHJldmVudHMgZHVwbGljYXRlIENTUyBvdXRwdXQuXG4vLy8gQHBhcmFtIHtOdW1iZXJ8TWFwfSAkZ3V0dGVycyBbJGdyaWQtY29sdW1uLWd1dHRlcl0gLSBHdXR0ZXIgbWFwIG9yIHNpbmdsZSB2YWx1ZSB0byB1c2Ugd2hlbiBpbnZlcnRpbmcgbWFyZ2lucywgaW4gY2FzZSB0aGUgcm93IGlzIG5lc3RlZC4gUmVzcG9uc2l2ZSBndXR0ZXIgc2V0dGluZ3MgYnkgZGVmYXVsdC5cbkBtaXhpbiBmbGV4LWdyaWQtcm93KFxuICAkYmVoYXZpb3I6IG51bGwsXG4gICRzaXplOiAkZ3JpZC1yb3ctd2lkdGgsXG4gICRjb2x1bW5zOiBudWxsLFxuICAkYmFzZTogdHJ1ZSxcbiAgJHdyYXA6IHRydWUsXG4gICRndXR0ZXJzOiAkZ3JpZC1jb2x1bW4tZ3V0dGVyXG4pIHtcbiAgJG1hcmdpbjogYXV0bztcbiAgJHdyYXA6IGlmKCR3cmFwLCB3cmFwLCBub3dyYXApO1xuXG4gIEBpZiBpbmRleCgkYmVoYXZpb3IsIG5lc3QpICE9IG51bGwge1xuICAgIEBpbmNsdWRlIGdyaWQtcm93LW5lc3QoJGd1dHRlcnMpO1xuXG4gICAgQGlmIGluZGV4KCRiZWhhdmlvciwgY29sbGFwc2UpICE9IG51bGwge1xuICAgICAgbWFyZ2luLXJpZ2h0OiAwO1xuICAgICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgfVxuICB9XG4gIEBlbHNlIHtcbiAgICBAaW5jbHVkZSBncmlkLXJvdy1zaXplKCRzaXplKTtcbiAgICBtYXJnaW4tcmlnaHQ6IGF1dG87XG4gICAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gIH1cblxuICBAaWYgJGJhc2Uge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1mbG93OiByb3cgJHdyYXA7XG4gIH1cblxuICBAaWYgJGNvbHVtbnMgIT0gbnVsbCB7XG4gICAgQGluY2x1ZGUgZ3JpZC1jb250ZXh0KCRjb2x1bW5zLCAkYmFzZSkge1xuICAgICAgQGNvbnRlbnQ7XG4gICAgfVxuICB9XG59XG5cbi8vLyBDYWxjdWxhdGVzIHRoZSBgZmxleGAgcHJvcGVydHkgZm9yIGEgZmxleCBncmlkIGNvbHVtbi4gSXQgYWNjZXB0cyBhbGwgb2YgdGhlIHNhbWUgdmFsdWVzIGFzIHRoZSBiYXNpYyBgZ3JpZC1jb2x1bW4oKWAgZnVuY3Rpb24sIGFsb25nIHdpdGggdHdvIGV4dHJhczpcbi8vLyAgIC0gYGV4cGFuZGAgKHRoZSBkZWZhdWx0KSB3aWxsIG1ha2UgdGhlIGNvbHVtbiBleHBhbmQgdG8gZmlsbCBzcGFjZS5cbi8vLyAgIC0gYHNocmlua2Agd2lsbCBtYWtlIHRoZSBjb2x1bW4gY29udHJhY3QsIHNvIGl0IG9ubHkgdGFrZXMgdXAgdGhlIGhvcml6b250YWwgc3BhY2UgaXQgbmVlZHMuXG4vLy9cbi8vLyBAcGFyYW0ge01peGVkfSAkY29sdW1ucyBbZXhwYW5kXSAtIFdpZHRoIG9mIHRoZSBjb2x1bW4uXG5AZnVuY3Rpb24gZmxleC1ncmlkLWNvbHVtbigkY29sdW1uczogZXhwYW5kKSB7XG4gICRmbGV4OiAxIDEgMHB4OyAvLyBzYXNzLWxpbnQ6ZGlzYWJsZS1saW5lIHplcm8tdW5pdFxuXG4gIEBpZiAkY29sdW1ucyA9PSBzaHJpbmsge1xuICAgICRmbGV4OiAwIDAgYXV0bztcbiAgfVxuICBAZWxzZSBpZiAkY29sdW1ucyAhPSBleHBhbmQge1xuICAgICRmbGV4OiAwIDAgZ3JpZC1jb2x1bW4oJGNvbHVtbnMpO1xuICB9XG5cbiAgQHJldHVybiAkZmxleDtcbn1cblxuLy8vIENyZWF0ZXMgYSBjb2x1bW4gZm9yIGEgZmxleCBncmlkLiBCeSBkZWZhdWx0LCB0aGUgY29sdW1uIHdpbGwgc3RyZXRjaCB0byB0aGUgZnVsbCB3aWR0aCBvZiBpdHMgY29udGFpbmVyLCBidXQgdGhpcyBjYW4gYmUgb3ZlcnJpZGRlbiB3aXRoIHNpemluZyBjbGFzc2VzLCBvciBieSB1c2luZyB0aGUgYHVuc3RhY2tgIGNsYXNzIG9uIHRoZSBwYXJlbnQgZmxleCByb3cuXG4vLy9cbi8vLyBAcGFyYW0ge01peGVkfSAkY29sdW1ucyBbZXhwYW5kXSAtIFdpZHRoIG9mIHRoZSBjb2x1bW4uIFJlZmVyIHRvIHRoZSBgZmxleC1ncmlkLWNvbHVtbigpYCBmdW5jdGlvbiB0byBzZWUgcG9zc2libGUgdmFsdWVzLlxuLy8vIEBwYXJhbSB7TnVtYmVyfE1hcH0gJGd1dHRlcnMgWyRncmlkLWNvbHVtbi1ndXR0ZXJdIC0gTWFwIG9yIHNpbmdsZSB2YWx1ZSBmb3IgZ3V0dGVycyB3aWR0aC4gU2VlIHRoZSBgZ3JpZC1jb2x1bW4tZ3V0dGVyYCBtaXhpbi5cbkBtaXhpbiBmbGV4LWdyaWQtY29sdW1uKFxuICAkY29sdW1uczogZXhwYW5kLFxuICAkZ3V0dGVyczogJGdyaWQtY29sdW1uLWd1dHRlclxuKSB7XG4gIC8vIEJhc2UgcHJvcGVydGllc1xuICBAaW5jbHVkZSBmbGV4LWdyaWQtc2l6ZSgkY29sdW1ucyk7XG5cbiAgLy8gR3V0dGVyc1xuICBAaW5jbHVkZSBncmlkLWNvbHVtbi1ndXR0ZXIoJGd1dHRlcnM6ICRndXR0ZXJzKTtcblxuICAvLyBmaXhlcyByZWNlbnQgQ2hyb21lIHZlcnNpb24gbm90IGxpbWl0aW5nIGNoaWxkIHdpZHRoXG4gIC8vIGh0dHBzOi8vc3RhY2tvdmVyZmxvdy5jb20vcXVlc3Rpb25zLzM0OTM0NTg2L3doaXRlLXNwYWNlLW5vd3JhcC1hbmQtZmxleGJveC1kaWQtbm90LXdvcmstaW4tY2hyb21lXG4gIEBpZiAkY29sdW1ucyA9PSBleHBhbmQge1xuICAgIG1pbi13aWR0aDogMDtcbiAgfVxufVxuXG4vLy8gQ3JlYXRlcyBhIGJsb2NrIGdyaWQgZm9yIGEgZmxleCBncmlkIHJvdy5cbi8vL1xuLy8vIEBwYXJhbSB7TnVtYmVyfSAkbiAtIE51bWJlciBvZiBjb2x1bW5zIHRvIGRpc3BsYXkgb24gZWFjaCByb3cuXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICRzZWxlY3RvciAtIFNlbGVjdG9yIHRvIHVzZSB0byB0YXJnZXQgY29sdW1ucyB3aXRoaW4gdGhlIHJvdy5cbkBtaXhpbiBmbGV4LWdyaWQtbGF5b3V0KFxuICAkbixcbiAgJHNlbGVjdG9yOiAnLmNvbHVtbidcbikge1xuICBmbGV4LXdyYXA6IHdyYXA7XG5cbiAgPiAjeyRzZWxlY3Rvcn0ge1xuICAgICRwY3Q6IHBlcmNlbnRhZ2UoMS8kbik7XG5cbiAgICBmbGV4OiAwIDAgJHBjdDtcbiAgICBtYXgtd2lkdGg6ICRwY3Q7XG4gIH1cbn1cblxuLy8vIENoYW5nZXMgdGhlIHdpZHRoIGZsZXggZ3JpZCBjb2x1bW4uXG4vLy8gQHBhcmFtIHtNaXhlZH0gJGNvbHVtbnMgW2V4cGFuZF0gLSBXaWR0aCBvZiB0aGUgY29sdW1uLiBSZWZlciB0byB0aGUgYGZsZXgtZ3JpZC1jb2x1bW4oKWAgZnVuY3Rpb24gdG8gc2VlIHBvc3NpYmxlIHZhbHVlcy5cbkBtaXhpbiBmbGV4LWdyaWQtc2l6ZSgkY29sdW1uczogbnVsbCkge1xuICAkY29sdW1uczogJGNvbHVtbnMgb3IgZXhwYW5kO1xuXG4gIGZsZXg6IGZsZXgtZ3JpZC1jb2x1bW4oJGNvbHVtbnMpO1xuXG4gIC8vIG1heC13aWR0aCBmaXhlcyBJRSAxMC8xMSBub3QgcmVzcGVjdGluZyB0aGUgZmxleC1iYXNpcyBwcm9wZXJ0eVxuICBAaWYgJGNvbHVtbnMgIT0gZXhwYW5kIGFuZCAkY29sdW1ucyAhPSBzaHJpbmsge1xuICAgIG1heC13aWR0aDogZ3JpZC1jb2x1bW4oJGNvbHVtbnMpO1xuICB9XG59XG5cblxuQG1peGluIGZvdW5kYXRpb24tZmxleC1ncmlkIHtcbiAgLy8gUm93XG4gIC5yb3cge1xuICAgIEBpbmNsdWRlIGZsZXgtZ3JpZC1yb3c7XG5cbiAgICAvLyBOZXN0aW5nIGJlaGF2aW9yXG4gICAgJiAucm93IHtcbiAgICAgIEBpbmNsdWRlIGZsZXgtZ3JpZC1yb3cobmVzdCwgJGJhc2U6IGZhbHNlKTtcblxuICAgICAgJi5jb2xsYXBzZSB7XG4gICAgICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gRXhwYW5kZWQgcm93XG4gICAgJi5leHBhbmRlZCB7XG4gICAgICBAaW5jbHVkZSBncmlkLXJvdy1zaXplKGV4cGFuZCk7XG5cbiAgICAgIC5yb3cge1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IGF1dG87XG4gICAgICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICAgICAgfVxuICAgIH1cblxuICAgICY6bm90KC5leHBhbmRlZCkgLnJvdyB7XG4gICAgICBAaW5jbHVkZSBncmlkLXJvdy1zaXplKGV4cGFuZCk7XG4gICAgfVxuXG4gICAgJi5jb2xsYXBzZSB7XG4gICAgICA+IC5jb2x1bW4ge1xuICAgICAgICBAaW5jbHVkZSBncmlkLWNvbC1jb2xsYXBzZTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBVbmRvIG5lZ2F0aXZlIG1hcmdpbnNcbiAgICAvLyBGcm9tIGNvbGxhcHNlZCBjaGlsZFxuICAgICYuaXMtY29sbGFwc2UtY2hpbGQsXG4gICAgJi5jb2xsYXBzZSA+IC5jb2x1bW4gPiAucm93IHtcbiAgICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgIH1cbiAgfVxuXG4gIC8vIENvbHVtblxuICAuY29sdW1uIHtcbiAgICBAaW5jbHVkZSBmbGV4LWdyaWQtY29sdW1uO1xuICB9XG5cbiAgLy8gQ29sdW1uIHJvd1xuICAvLyBUaGUgZG91YmxlIC5yb3cgY2xhc3MgaXMgbmVlZGVkIHRvIGJ1bXAgdXAgdGhlIHNwZWNpZmljaXR5XG4gIC5jb2x1bW4ucm93LnJvdyB7XG4gICAgZmxvYXQ6IG5vbmU7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gIH1cblxuICAvLyBUbyBwcm9wZXJseSBuZXN0IGEgY29sdW1uIHJvdywgcGFkZGluZyBhbmQgbWFyZ2luIGlzIHJlbW92ZWRcbiAgLnJvdyAuY29sdW1uLnJvdy5yb3cge1xuICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICBtYXJnaW4tbGVmdDogMDtcbiAgICBwYWRkaW5nLXJpZ2h0OiAwO1xuICAgIHBhZGRpbmctbGVmdDogMDtcbiAgfVxuXG4gIEBpbmNsdWRlIC16Zi1lYWNoLWJyZWFrcG9pbnQge1xuICAgIEBmb3IgJGkgZnJvbSAxIHRocm91Z2ggJGdyaWQtY29sdW1uLWNvdW50IHtcbiAgICAgIC8vIFNpemluZyAocGVyY2VudGFnZSlcbiAgICAgIC4jeyQtemYtc2l6ZX0tI3skaX0ge1xuICAgICAgICBmbGV4OiBmbGV4LWdyaWQtY29sdW1uKCRpKTtcbiAgICAgICAgbWF4LXdpZHRoOiBncmlkLWNvbHVtbigkaSk7XG4gICAgICB9XG5cbiAgICAgIC8vIE9mZnNldHNcbiAgICAgICRvOiAkaSAtIDE7XG5cbiAgICAgIC4jeyQtemYtc2l6ZX0tb2Zmc2V0LSN7JG99IHtcbiAgICAgICAgQGluY2x1ZGUgZ3JpZC1jb2x1bW4tb2Zmc2V0KCRvKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBCbG9jayBncmlkXG4gICAgQGZvciAkaSBmcm9tIDEgdGhyb3VnaCAkYmxvY2stZ3JpZC1tYXgge1xuICAgICAgLiN7JC16Zi1zaXplfS11cC0jeyRpfSB7XG4gICAgICAgIEBpbmNsdWRlIGZsZXgtZ3JpZC1sYXlvdXQoJGkpO1xuICAgICAgfVxuICAgIH1cblxuICAgIEBpZiAkLXpmLXNpemUgIT0gJC16Zi16ZXJvLWJyZWFrcG9pbnQge1xuICAgICAgLy8gU2l6aW5nIChleHBhbmQpXG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KCQtemYtc2l6ZSkge1xuICAgICAgICAuI3skLXpmLXNpemV9LWV4cGFuZCB7XG4gICAgICAgICAgZmxleDogZmxleC1ncmlkLWNvbHVtbigpO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIC8vIEF1dG8tc3RhY2tpbmcvdW5zdGFja2luZ1xuICAgICAgQGF0LXJvb3QgKHdpdGhvdXQ6IG1lZGlhKSB7XG4gICAgICAgIC5yb3cuI3skLXpmLXNpemV9LXVuc3RhY2sge1xuICAgICAgICAgID4gLmNvbHVtbiB7XG4gICAgICAgICAgICBmbGV4OiBmbGV4LWdyaWQtY29sdW1uKDEwMCUpO1xuXG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KCQtemYtc2l6ZSkge1xuICAgICAgICAgICAgICBmbGV4OiBmbGV4LWdyaWQtY29sdW1uKCk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gUmVzcG9uc2l2ZSBjb2xsYXBzaW5nXG4gICAgLiN7JC16Zi1zaXplfS1jb2xsYXBzZSB7XG4gICAgICA+IC5jb2x1bW4geyBAaW5jbHVkZSBncmlkLWNvbC1jb2xsYXBzZTsgfVxuICAgIH1cblxuICAgIC4jeyQtemYtc2l6ZX0tdW5jb2xsYXBzZSB7XG4gICAgICA+IC5jb2x1bW4geyBAaW5jbHVkZSBncmlkLWNvbC1ndXR0ZXIoJC16Zi1zaXplKTsgfVxuICAgIH1cbiAgfVxuXG4gIC8vIFNpemluZyAoc2hyaW5rKVxuICAuc2hyaW5rIHtcbiAgICBmbGV4OiBmbGV4LWdyaWQtY29sdW1uKHNocmluayk7XG4gICAgbWF4LXdpZHRoOiAxMDAlO1xuICB9XG5cbiAgLy8gQmxvY2sgZ3JpZCBjb2x1bW5zXG4gIC5jb2x1bW4tYmxvY2sge1xuICAgIEBpbmNsdWRlIGdyaWQtY29sdW1uLW1hcmdpbjtcbiAgfVxuXG4gIC5jb2x1bW5zIHtcbiAgICBAZXh0ZW5kIC5jb2x1bW47IC8vIHNhc3MtbGludDpkaXNhYmxlLWxpbmUgcGxhY2Vob2xkZXItaW4tZXh0ZW5kXG5cbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgeHktZ3JpZFxuLy8vL1xuXG4vLy8gRW5hYmxlcyB0aGUgWFkgZ3JpZC5cbi8vLyBAdHlwZSBCb29sZWFuXG4keHktZ3JpZDogdHJ1ZSAhZGVmYXVsdDtcblxuLy8vIFRoZSBtYXhpbXVtIHdpZHRoIG9mIGEgZ3JpZCBjb250YWluZXIuXG4vLy8gQHR5cGUgTnVtYmVyXG4kZ3JpZC1jb250YWluZXI6ICRnbG9iYWwtd2lkdGggIWRlZmF1bHQ7XG5cbi8vLyBUaGUgbnVtYmVyIG9mIGNvbHVtbnMgdXNlZCBpbiB0aGUgZ3JpZC5cbi8vLyBAdHlwZSBOdW1iZXJcbiRncmlkLWNvbHVtbnM6IDEyICFkZWZhdWx0O1xuXG4vLy8gVGhlIGFtb3VudCBvZiBtYXJnaW4gYmV0d2VlbiBjZWxscyBhdCBkaWZmZXJlbnQgc2NyZWVuIHNpemVzIHdoZW4gdXNpbmcgdGhlIG1hcmdpbiBncmlkLiBUbyB1c2UganVzdCBvbmUgc2l6ZSwgc2V0IHRoZSB2YXJpYWJsZSB0byBhIG51bWJlciBpbnN0ZWFkIG9mIGEgbWFwLlxuLy8vIEB0eXBlIE1hcCB8IExlbmd0aFxuJGdyaWQtbWFyZ2luLWd1dHRlcnM6IChcbiAgc21hbGw6IDIwcHgsXG4gIG1lZGl1bTogMzBweFxuKSAhZGVmYXVsdDtcblxuLy8vIFRoZSBhbW91bnQgb2YgcGFkZGluZyBpbiBjZWxscyBhdCBkaWZmZXJlbnQgc2NyZWVuIHNpemVzIHdoZW4gdXNpbmcgdGhlIHBhZGRpbmcgZ3JpZC4gVG8gdXNlIGp1c3Qgb25lIHNpemUsIHNldCB0aGUgdmFyaWFibGUgdG8gYSBudW1iZXIgaW5zdGVhZCBvZiBhIG1hcC5cbi8vLyBAdHlwZSBNYXAgfCBMZW5ndGhcbiRncmlkLXBhZGRpbmctZ3V0dGVyczogJGdyaWQtbWFyZ2luLWd1dHRlcnMgIWRlZmF1bHQ7XG5cbi8vLyBUaGUgYW1vdW50IG9mIHBhZGRpbmcgdG8gdXNlIHdoZW4gcGFkZGluZyB0aGUgZ3JpZC1jb250YWluZXIuXG4vLy8gQHR5cGUgTWFwIHwgTGVuZ3RoXG4kZ3JpZC1jb250YWluZXItcGFkZGluZzogJGdyaWQtcGFkZGluZy1ndXR0ZXJzICFkZWZhdWx0O1xuXG4vLy8gVGhlIG1heGltdW0gd2lkdGggdG8gYXBwbHkgdG8gYSBncmlkIGNvbnRhaW5lclxuLy8vIEB0eXBlIE51bWJlclxuJGdyaWQtY29udGFpbmVyLW1heDogJGdsb2JhbC13aWR0aCAhZGVmYXVsdDtcblxuLy8vIFRoZSBtYXhpbXVtIG51bWJlciBvZiBjZWxscyBpbiBhbiBYWSBibG9jayBncmlkLlxuLy8vIEB0eXBlIE51bWJlclxuJHh5LWJsb2NrLWdyaWQtbWF4OiA4ICFkZWZhdWx0O1xuXG5AaW1wb3J0ICdndXR0ZXJzJztcbkBpbXBvcnQgJ2dyaWQnO1xuQGltcG9ydCAnY2VsbCc7XG5AaW1wb3J0ICdmcmFtZSc7XG5AaW1wb3J0ICdwb3NpdGlvbic7XG5AaW1wb3J0ICdsYXlvdXQnO1xuQGltcG9ydCAnY29sbGFwc2UnO1xuQGltcG9ydCAnY2xhc3Nlcyc7XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCB4eS1ncmlkXG4vLy8vXG5cbi8vLyBDcmVhdGUgZ3V0dGVycyBmb3IgYSBjZWxsL2NvbnRhaW5lci5cbi8vL1xuLy8vIEBwYXJhbSB7TnVtYmVyfE1hcH0gJGd1dHRlcnMgWyRncmlkLW1hcmdpbi1ndXR0ZXJzXSAtIE1hcCBvciBzaW5nbGUgdmFsdWUgZm9yIGd1dHRlcnMuXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkZ3V0dGVyLXR5cGUgW21hcmdpbl0gLSBUeXBlIG9mIGd1dHRlciB0byBvdXRwdXQuIEFjY2VwdHMgZWl0aGVyIG1hcmdpbiBvciBwYWRkaW5nLlxuLy8vIEBwYXJhbSB7TGlzdH0gJGd1dHRlci1wb3NpdGlvbiBbcmlnaHQgbGVmdF0gLSBUaGUgcG9zaXRpb24gdG8gYXBwbHkgZ3V0dGVycyB0by4gQWNjZXB0cyBgdG9wYCwgYGJvdHRvbWAsIGBsZWZ0YCwgYHJpZ2h0YCBpbiBhbnkgY29tYmluYXRpb24uXG4vLy8gQHBhcmFtIHtCb29sZWFufSAkbmVnYXRpdmUgW2ZhbHNlXSAtIFdoZXRoZXIgdG8gYXBwbHkgdGhlIGd1dHRlciBhcyBhIG5lZ2F0aXZlIHZhbHVlLiBDb21tb25seSB1c2VkIGZvciBuZXN0ZWQgZ3JpZHMuXG5AbWl4aW4geHktZ3V0dGVycyhcbiAgJGd1dHRlcnM6ICRncmlkLW1hcmdpbi1ndXR0ZXJzLFxuICAkZ3V0dGVyLXR5cGU6IG1hcmdpbixcbiAgJGd1dHRlci1wb3NpdGlvbjogcmlnaHQgbGVmdCxcbiAgJG5lZ2F0aXZlOiBmYWxzZVxuKSB7XG4gICRvcGVyYXRvcjogaWYoJG5lZ2F0aXZlLCAnLScsICcnKTtcblxuICAvLyBJZiB3ZSBoYXZlIGRlY2xhcmVkIG5lZ2F0aXZlIGd1dHRlcnMsIGZvcmNlIHR5cGUgdG8gYG1hcmdpbi5cbiAgJGd1dHRlci10eXBlOiBpZigkbmVnYXRpdmUsICdtYXJnaW4nLCAkZ3V0dGVyLXR5cGUpO1xuXG4gIC8vIE91dHB1dCBvdXIgbWFyZ2luIGd1dHRlcnMuXG4gIEBpZiAodHlwZS1vZigkZ3V0dGVycykgPT0gJ21hcCcpIHtcbiAgICBAaW5jbHVkZSAtemYtYnJlYWtwb2ludC12YWx1ZShhdXRvLCAkZ3V0dGVycykge1xuICAgICAgJGd1dHRlcjogcmVtLWNhbGMoJC16Zi1icC12YWx1ZSkgLyAyO1xuXG4gICAgICAvLyBMb29wIHRocm91Z2ggZWFjaCBndXR0ZXIgcG9zaXRpb25cbiAgICAgIEBlYWNoICR2YWx1ZSBpbiAkZ3V0dGVyLXBvc2l0aW9uIHtcbiAgICAgICAgI3skZ3V0dGVyLXR5cGV9LSN7JHZhbHVlfTogI3skb3BlcmF0b3J9JGd1dHRlcjtcbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgQGVsc2VpZiAodHlwZS1vZigkZ3V0dGVycykgPT0gJ251bWJlcicpIHtcbiAgICAkZ3V0dGVyOiByZW0tY2FsYygkZ3V0dGVycykgLyAyO1xuXG4gICAgLy8gTG9vcCB0aHJvdWdoIGVhY2ggZ3V0dGVyIHBvc2l0aW9uXG4gICAgQGVhY2ggJHZhbHVlIGluICRndXR0ZXItcG9zaXRpb24ge1xuICAgICAgI3skZ3V0dGVyLXR5cGV9LSN7JHZhbHVlfTogI3skb3BlcmF0b3J9JGd1dHRlcjtcbiAgICB9XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIHh5LWdyaWRcbi8vLy9cblxuLy8vIENyZWF0ZXMgYSBtYXggd2lkdGggY29udGFpbmVyLCBkZXNpZ25lZCB0byBob3VzZSB5b3VyIGdyaWQgY29udGVudC5cbi8vL1xuLy8vIEBwYXJhbSB7TnVtYmVyfSAkd2lkdGggWyRncmlkLWNvbnRhaW5lcl0gLSBhIHdpZHRoIHRvIGxpbWl0IHRoZSBjb250YWluZXIgdG8uXG5AbWl4aW4geHktZ3JpZC1jb250YWluZXIoXG4gICR3aWR0aDogJGdyaWQtY29udGFpbmVyLFxuICAkcGFkZGluZzogJGdyaWQtY29udGFpbmVyLXBhZGRpbmdcbikge1xuICBAaW5jbHVkZSB4eS1ndXR0ZXJzKCRndXR0ZXJzOiAkcGFkZGluZywgJGd1dHRlci10eXBlOiBwYWRkaW5nKTtcblxuICBtYXgtd2lkdGg6ICR3aWR0aDtcbiAgbWFyZ2luOiAwIGF1dG87XG59XG5cbi8vLyBDcmVhdGVzIGEgY29udGFpbmVyIGZvciB5b3VyIGZsZXggY2VsbHMuXG4vLy9cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRkaXJlY3Rpb24gW2hvcml6b250YWxdIC0gRWl0aGVyIGhvcml6b250YWwgb3IgdmVydGljYWwgZGlyZWN0aW9uIG9mIGNlbGxzIHdpdGhpbi5cbi8vLyBAcGFyYW0ge0Jvb2xlYW59ICR3cmFwIFt0cnVlXSAtIElmIHRoZSBjZWxscyB3aXRoaW4gc2hvdWxkIHdyYXAgb3Igbm90LlxuQG1peGluIHh5LWdyaWQoXG4gICRkaXJlY3Rpb246IGhvcml6b250YWwsXG4gICR3cmFwOiB0cnVlXG4pIHtcbiAgJGRpcmVjdGlvbjogaWYoJGRpcmVjdGlvbiA9PSAnaG9yaXpvbnRhbCcsIHJvdywgY29sdW1uKTtcbiAgJHdyYXA6IGlmKCR3cmFwLCB3cmFwLCBub3dyYXApO1xuXG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZmxvdzogJGRpcmVjdGlvbiAkd3JhcDtcbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIHh5LWdyaWRcbi8vLy9cblxuLy8vIENhbGN1bGF0ZSB0aGUgcGVyY2VudGFnZSBzaXplIG9mIGEgY2VsbC5cbi8vL1xuLy8vIEBwYXJhbSB7TnVtYmVyfExpc3R9ICRzaXplIFskZ3JpZC1jb2x1bW5zXSAtIFNpemUgdG8gbWFrZSB0aGUgY2VsbC4gWW91IGNhbiBwYXNzIGEgdmFsdWUgaW4gbXVsdGlwbGUgZm9ybWF0cywgc3VjaCBhcyBgNmAsIGA1MCVgLCBgMSBvZiAyIG9yIDEvMy5cbkBmdW5jdGlvbiB4eS1jZWxsLXNpemUoXG4gICRzaXplOiAkZ3JpZC1jb2x1bW5zXG4pIHtcbiAgLy8gUGFyc2luZyBwZXJjZW50cywgZGVjaW1hbHMsIG4gb2YgbiBhbmQgbnVtYmVyIGNvdW50c1xuICBAaWYgdHlwZS1vZigkc2l6ZSkgPT0gJ251bWJlcicge1xuICAgIEBpZiB1bml0KCRzaXplKSA9PSAnJScge1xuICAgICAgJHNpemU6ICRzaXplO1xuICAgIH1cbiAgICBAZWxzZSBpZiAkc2l6ZSA8IDEge1xuICAgICAgJHNpemU6IHBlcmNlbnRhZ2UoJHNpemUpO1xuICAgIH1cbiAgICBAZWxzZSB7XG4gICAgICAkc2l6ZTogcGVyY2VudGFnZSgkc2l6ZSAvICRncmlkLWNvbHVtbnMpO1xuICAgIH1cbiAgfVxuXG4gIC8vIFBhcnNpbmcgXCJuIG9mIG5cIiBvciBcIm4vblwiIGV4cHJlc3Npb25zXG4gIEBlbHNlaWYgdHlwZS1vZigkc2l6ZSkgPT0gJ2xpc3QnIHtcbiAgICBAaWYgbGVuZ3RoKCRzaXplKSAhPSAzIHtcbiAgICAgIEBlcnJvciAnV3Jvbmcgc3ludGF4IGZvciB4eS1jZWxsLXNpemUoKS4gVXNlIHRoZSBmb3JtYXQgXCJuIG9mIG5cIiBvciBcIm4vblwiLic7XG4gICAgfVxuICAgIEBlbHNlIHtcbiAgICAgICRzaXplOiBwZXJjZW50YWdlKG50aCgkc2l6ZSwgMSkgLyBudGgoJHNpemUsIDMpKTtcbiAgICB9XG4gIH1cbiAgLy8gQW55dGhpbmcgZWxzZSBpcyBpbmNvcnJlY3RcbiAgQGVsc2Uge1xuICAgIEBlcnJvciAnV3Jvbmcgc3ludGF4IGZvciB4eS1jZWxsLXNpemUoKS4gVXNlIGEgbnVtYmVyLCBkZWNpbWFsLCBwZXJjZW50YWdlLCBvciBcIm4gb2YgblwiIC8gXCJuL25cIi4nO1xuICB9XG5cbiAgQHJldHVybiAkc2l6ZTtcbn1cblxuLy8vIFNldHMgYmFzZSBmbGV4IHByb3BlcnRpZXMgZm9yIGNlbGxzLlxuLy8vXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkc2l6ZSBbZnVsbF0gLSBUaGUgc2l6ZSBvZiB5b3VyIGNlbGwuIEFjY2VwdHMgYGZ1bGxgLCBgYXV0b2Agb3IgYHNocmlua2AuXG5AbWl4aW4geHktY2VsbC1iYXNlKCRzaXplOiBmdWxsKSB7XG4gIEBpZigkc2l6ZSA9PSAnZnVsbCcpIHtcbiAgICAvLyBUaGlzIGlzIHRoZSBiYXNlIHN0eWxlLCBhbGwgb3RoZXJzIGluaGVyaXQgZnJvbSBpdFxuICAgIGZsZXg6IDAgMCBhdXRvO1xuICAgIG1pbi1oZWlnaHQ6IDBweDtcbiAgICBtaW4td2lkdGg6IDBweDtcbiAgfVxuICBAZWxzZWlmICgkc2l6ZSA9PSAnYXV0bycpIHtcbiAgICBmbGV4OiAxIDEgMHB4OyAvLyBzYXNzLWxpbnQ6ZGlzYWJsZS1saW5lIHplcm8tdW5pdFxuICB9XG4gIEBlbHNlaWYgKCRzaXplID09ICdzaHJpbmsnKSB7XG4gICAgZmxleDogMCAwIGF1dG87XG4gIH1cbn1cblxuLy8vIFJlc2V0cyBhIGNlbGxzIHdpZHRoIChvciBoZWlnaHQgaWYgdmVydGljYWwgaXMgdHJ1ZSkgYXMgd2VsbCBhcyBzdHJpcHMgaXRzIGd1dHRlcnMuXG4vLy9cbi8vLyBAcGFyYW0ge0Jvb2xlYW59ICR2ZXJ0aWNhbCBbZmFsc2VdIC0gU2V0IHRvIHRydWUgdG8gb3V0cHV0IHZlcnRpY2FsIChoZWlnaHQpIHN0eWxlcyByYXRoZXIgdGhhbiB3aWR0aHMuXG5AbWl4aW4geHktY2VsbC1yZXNldCgkdmVydGljYWw6IHRydWUpIHtcbiAgJGRpcmVjdGlvbjogaWYoJHZlcnRpY2FsID09IHRydWUsIHdpZHRoLCBoZWlnaHQpO1xuICAjeyRkaXJlY3Rpb259OiBhdXRvO1xufVxuXG4vLyBTZXRzIG91ciBjZWxsIHdpZHRocyBvciBoZWlnaHRzIGRlcGVuZGluZyBvbiBndXR0ZXIgdHlwZS5cbkBtaXhpbiAteHktY2VsbC1wcm9wZXJ0aWVzKCRzaXplLCAkbWFyZ2luLWd1dHRlciwgJHZlcnRpY2FsKSB7XG4gICRkaXJlY3Rpb246IGlmKCR2ZXJ0aWNhbCA9PSB0cnVlLCBoZWlnaHQsIHdpZHRoKTtcbiAgQGlmKCRzaXplID09ICdmdWxsJykge1xuICAgICR2YWw6IGlmKCRtYXJnaW4tZ3V0dGVyID09IDAsIDEwMCUsIGNhbGMoMTAwJSAtICN7cmVtLWNhbGMoJG1hcmdpbi1ndXR0ZXIpfSkpO1xuICAgICN7JGRpcmVjdGlvbn06ICR2YWw7XG4gIH1cbiAgQGVsc2VpZiAoJHNpemUgPT0gJ2F1dG8nKSB7XG4gICAgI3skZGlyZWN0aW9ufTogYXV0bztcbiAgICAkdmFsOiBpZigkbWFyZ2luLWd1dHRlciA9PSAwLCAxMDAlLCBjYWxjKDEwMCUgLSAje3JlbS1jYWxjKCRtYXJnaW4tZ3V0dGVyKX0pKTtcbiAgfVxuICBAZWxzZWlmICgkc2l6ZSA9PSAnc2hyaW5rJykge1xuICAgICN7JGRpcmVjdGlvbn06IGF1dG87XG4gIH1cbiAgQGVsc2Uge1xuICAgICR2YWw6IGlmKCRtYXJnaW4tZ3V0dGVyID09IDAsICN7eHktY2VsbC1zaXplKCRzaXplKX0sIGNhbGMoI3t4eS1jZWxsLXNpemUoJHNpemUpfSAtICN7cmVtLWNhbGMoJG1hcmdpbi1ndXR0ZXIpfSkpO1xuICAgICN7JGRpcmVjdGlvbn06ICR2YWw7XG4gIH1cbn1cblxuLy8vIENyZWF0ZXMgYSBjZWxsIGZvciB5b3VyIGdyaWQuXG4vLy9cbi8vLyBAcGFyYW0ge0tleXdvcmR8TnVtYmVyfSAkc2l6ZSBbZnVsbF0gLSBUaGUgc2l6ZSBvZiB5b3VyIGNlbGwuIENhbiBiZSBgZnVsbGAgKGRlZmF1bHQpIGZvciAxMDAlIHdpZHRoLCBgYXV0b2AgdG8gdXNlIHVwIGF2YWlsYWJsZSBzcGFjZSBhbmQgYHNocmlua2AgdG8gdXNlIHVwIG9ubHkgcmVxdWlyZWQgc3BhY2UuXG4vLy8gQHBhcmFtIHtCb29sZWFufSAkZ3V0dGVyLW91dHB1dCBbdHJ1ZV0gLSBXaGV0aGVyIG9yIG5vdCB0byBvdXRwdXQgZ3V0dGVyc1xuLy8vIEBwYXJhbSB7TnVtYmVyfE1hcH0gJGd1dHRlcnMgWyRncmlkLW1hcmdpbi1ndXR0ZXJzXSAtIE1hcCBvciBzaW5nbGUgdmFsdWUgZm9yIGd1dHRlcnMuXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkZ3V0dGVyLXR5cGUgW21hcmdpbl0gLSBNYXAgb3Igc2luZ2xlIHZhbHVlIGZvciBndXR0ZXJzLlxuLy8vIEBwYXJhbSB7TGlzdH0gJGd1dHRlci1wb3NpdGlvbiBbcmlnaHQgbGVmdF0gLSBUaGUgcG9zaXRpb24gdG8gYXBwbHkgZ3V0dGVycyB0by4gQWNjZXB0cyBgdG9wYCwgYGJvdHRvbWAsIGBsZWZ0YCwgYHJpZ2h0YCBpbiBhbnkgY29tYmluYXRpb24uXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICRicmVha3BvaW50IFtudWxsXSAtIFRoZSBuYW1lIG9mIHRoZSBicmVha3BvaW50IHNpemUgaW4geW91ciBndXR0ZXJzIG1hcCB0byBnZXQgdGhlIHNpemUgZnJvbS4gSWYgdXNpbmcgd2l0aCB0aGUgYGJyZWFrcG9pbnQoKWAgbWl4aW4gdGhpcyB3aWxsIGJlIHNldCBhdXRvbWF0aWNhbGx5IHVubGVzcyBtYW51YWxseSBlbnRlcmVkLlxuLy8vIEBwYXJhbSB7Qm9vbGVhbn0gJHZlcnRpY2FsIFtmYWxzZV0gLSBTZXQgdG8gdHJ1ZSB0byBvdXRwdXQgdmVydGljYWwgKGhlaWdodCkgc3R5bGVzIHJhdGhlciB0aGFuIHdpZHRocy5cbkBtaXhpbiB4eS1jZWxsKFxuICAkc2l6ZTogZnVsbCxcbiAgJGd1dHRlci1vdXRwdXQ6IHRydWUsXG4gICRndXR0ZXJzOiAkZ3JpZC1tYXJnaW4tZ3V0dGVycyxcbiAgJGd1dHRlci10eXBlOiBtYXJnaW4sXG4gICRndXR0ZXItcG9zaXRpb246IHJpZ2h0IGxlZnQsXG4gICRicmVha3BvaW50OiBudWxsLFxuICAkdmVydGljYWw6IGZhbHNlXG4pIHtcbiAgQGlmKCRicmVha3BvaW50ID09IG51bGwpIHtcbiAgICAvLyBJZiBgJGJwLXNpemVgIGlzIGF2YWlsYWJsZSB0aGVuIHVzZSB0aGlzLCBvdGhlcndpc2UgcmV2ZXJ0IHRvIHRoZSBzbWFsbGVzdCBicC5cbiAgICBAaWYodmFyaWFibGUtZXhpc3RzKC16Zi1zaXplKSBhbmQgdHlwZS1vZigkLXpmLXNpemUpICE9ICdudW1iZXInKSBhbmQgJC16Zi1zaXplICE9IG51bGwge1xuICAgICAgJGJyZWFrcG9pbnQ6ICQtemYtc2l6ZTtcbiAgICB9XG4gICAgQGVsc2Uge1xuICAgICAgJGJyZWFrcG9pbnQ6ICQtemYtemVyby1icmVha3BvaW50O1xuICAgIH1cbiAgfVxuXG4gIC8vIEdldCBvdXIgZ3V0dGVycyBmcm9tIG1hcCBpZiBhdmFpbGFibGUsIGlmIG5vdCBtYXAganVzdCByZXR1cm4gdGhlIHZhbHVlLlxuICAkZ3V0dGVyOiAtemYtZ2V0LWJwLXZhbCgkZ3V0dGVycywgJGJyZWFrcG9pbnQpO1xuXG4gIC8vIEJhc2UgZmxleCBwcm9wZXJ0aWVzXG4gIEBpbmNsdWRlIHh5LWNlbGwtYmFzZSgkc2l6ZSk7XG5cbiAgQGlmKCRndXR0ZXItdHlwZSA9PSAnbWFyZ2luJykge1xuICAgIEBpbmNsdWRlIC14eS1jZWxsLXByb3BlcnRpZXMoJHNpemUsICRndXR0ZXIsICR2ZXJ0aWNhbCk7XG4gIH1cbiAgQGVsc2Uge1xuICAgIEBpbmNsdWRlIC14eS1jZWxsLXByb3BlcnRpZXMoJHNpemUsIDAsICR2ZXJ0aWNhbCk7XG4gIH1cblxuICBAaWYgJGd1dHRlci1vdXRwdXQge1xuICAgIEBpbmNsdWRlIHh5LWd1dHRlcnMoJGd1dHRlciwgJGd1dHRlci10eXBlLCAkZ3V0dGVyLXBvc2l0aW9uKTtcbiAgfVxufVxuXG4vLy8gQ3JlYXRlcyBhIHNpbmdsZSBicmVha3BvaW50IHNpemVkIGdyaWQuIFVzZWQgdG8gZ2VuZXJhdGUgb3VyIGdyaWQgY2xhc3Nlcy5cbi8vL1xuLy8vIEBwYXJhbSB7S2V5d29yZHxOdW1iZXJ9ICRzaXplIFtmdWxsXSAtIFRoZSBzaXplIG9mIHlvdXIgY2VsbC4gQ2FuIGJlIGBmdWxsYCAoZGVmYXVsdCkgZm9yIDEwMCUgd2lkdGgsIGBhdXRvYCB0byB1c2UgdXAgYXZhaWxhYmxlIHNwYWNlIGFuZCBgc2hyaW5rYCB0byB1c2UgdXAgb25seSByZXF1aXJlZCBzcGFjZS5cbi8vLyBAcGFyYW0ge0Jvb2xlYW59ICRndXR0ZXItb3V0cHV0IFt0cnVlXSAtIFdoZXRoZXIgb3Igbm90IHRvIG91dHB1dCBndXR0ZXJzXG4vLy8gQHBhcmFtIHtOdW1iZXJ8TWFwfSAkZ3V0dGVycyBbJGdyaWQtbWFyZ2luLWd1dHRlcnNdIC0gTWFwIG9yIHNpbmdsZSB2YWx1ZSBmb3IgZ3V0dGVycy5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRndXR0ZXItdHlwZSBbbWFyZ2luXSAtIE1hcCBvciBzaW5nbGUgdmFsdWUgZm9yIGd1dHRlcnMuXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICRicmVha3BvaW50IFtudWxsXSAtIFRoZSBuYW1lIG9mIHRoZSBicmVha3BvaW50IHNpemUgaW4geW91ciBndXR0ZXJzIG1hcCB0byBnZXQgdGhlIHNpemUgZnJvbS4gSWYgdXNpbmcgd2l0aCB0aGUgYGJyZWFrcG9pbnQoKWAgbWl4aW4gdGhpcyB3aWxsIGJlIHNldCBhdXRvbWF0aWNhbGx5IHVubGVzcyBtYW51YWxseSBlbnRlcmVkLlxuLy8vIEBwYXJhbSB7Qm9vbGVhbn0gJHZlcnRpY2FsIFtmYWxzZV0gLSBTZXQgdG8gdHJ1ZSB0byBvdXRwdXQgdmVydGljYWwgKGhlaWdodCkgc3R5bGVzIHJhdGhlciB0aGFuIHdpZHRocy5cbkBtaXhpbiB4eS1jZWxsLXN0YXRpYyhcbiAgJHNpemU6IGZ1bGwsXG4gICRndXR0ZXItb3V0cHV0OiB0cnVlLFxuICAkZ3V0dGVyczogJGdyaWQtbWFyZ2luLWd1dHRlcnMsXG4gICRndXR0ZXItdHlwZTogbWFyZ2luLFxuICAkYnJlYWtwb2ludDogJC16Zi16ZXJvLWJyZWFrcG9pbnQsXG4gICR2ZXJ0aWNhbDogZmFsc2Vcbikge1xuXG4gICRndXR0ZXI6IC16Zi1nZXQtYnAtdmFsKCRndXR0ZXJzLCAkYnJlYWtwb2ludCk7XG4gICRndXR0ZXItcG9zaXRpb246IGlmKCR2ZXJ0aWNhbCA9PSB0cnVlLCB0b3AgYm90dG9tLCBsZWZ0IHJpZ2h0KTtcblxuICBAaWYoJGd1dHRlci10eXBlID09ICdtYXJnaW4nKSB7XG4gICAgQGluY2x1ZGUgLXh5LWNlbGwtcHJvcGVydGllcygkc2l6ZSwgJGd1dHRlciwgJHZlcnRpY2FsKTtcbiAgfVxuICBAZWxzZSB7XG4gICAgQGluY2x1ZGUgLXh5LWNlbGwtcHJvcGVydGllcygkc2l6ZSwgMCwgJHZlcnRpY2FsKTtcbiAgfVxuXG4gIC8vIElmIHdlIHdhbnQgdG8gb3V0cHV0IHRoZSBndXR0ZXJzXG4gIEBpZigkZ3V0dGVyLW91dHB1dCkge1xuICAgIC8vIFRPRE86IEZpZ3VyZSBvdXQgaWYgd2UgbmVlZCB0byBwYXNzIGJyZWFrcG9pbnQgaW4gaGVyZSB0b28uXG4gICAgQGluY2x1ZGUgeHktZ3V0dGVycygkZ3V0dGVyLCAkZ3V0dGVyLXR5cGUsICRndXR0ZXItcG9zaXRpb24pO1xuICB9XG59XG4iLCIvLy8gTW9kaWZpZXMgYSBncmlkIHRvIGdpdmUgaXQgXCJmcmFtZVwiIGJlaGF2aW9yIChubyBvdmVyZmxvdywgbm8gd3JhcCwgc3RyZXRjaCBiZWhhdmlvcilcbi8vL1xuLy8vIEBwYXJhbSB7Qm9vbGVhbn0gJHZlcnRpY2FsIFtmYWxzZV0gLSBJcyBncmlkIHZlcnRpY2FsIG9yIGhvcml6b250YWwuIFNob3VsZCBtYXRjaCBncmlkLlxuLy8vIEBwYXJhbSB7Qm9vbGVhbn0gJG5lc3RlZCBbZmFsc2VdIC0gSXMgZ3JpZCBuZXN0ZWQgb3Igbm90LiBJZiBuZXN0ZWQgaXMgdHJ1ZSB0aGlzIHNldHMgdGhlIGZyYW1lIHRvIDEwMCUgaGVpZ2h0LCBvdGhlcndpc2Ugd2lsbCBiZSAxMDB2aC5cbi8vLyBAcGFyYW0ge051bWJlcnxNYXB9ICRndXR0ZXJzIFtudWxsXSAtIE1hcCBvciBzaW5nbGUgdmFsdWUgZm9yIGd1dHRlcnMuXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICRicmVha3BvaW50IFtudWxsXSAtIFRoZSBuYW1lIG9mIHRoZSBicmVha3BvaW50IHNpemUgaW4geW91ciBndXR0ZXJzIG1hcCB0byBnZXQgdGhlIHNpemUgZnJvbS5cbi8vLyBAcGFyYW0ge0Jvb2xlYW59ICRpbmNsdWRlLWJhc2UgW3RydWVdIC0gSW5jbHVkZSB0aGUgYmFzZSBzdHlsZXMgdGhhdCBkb24ndCB2YXJ5IHBlciBicmVha3BvaW50LlxuQG1peGluIHh5LWdyaWQtZnJhbWUoXG4gICR2ZXJ0aWNhbDogZmFsc2UsXG4gICRuZXN0ZWQ6IGZhbHNlLFxuICAkZ3V0dGVyczogbnVsbCxcbiAgJGJyZWFrcG9pbnQ6IG51bGwsXG4gICRpbmNsdWRlLWJhc2U6IHRydWVcbikge1xuXG4gIEBpZiAkaW5jbHVkZS1iYXNlIHtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBmbGV4LXdyYXA6IG5vd3JhcDtcbiAgICBhbGlnbi1pdGVtczogc3RyZXRjaDtcbiAgfVxuXG4gIEBpZiAkYnJlYWtwb2ludCA9PSBudWxsIGFuZCB0eXBlLW9mKCRndXR0ZXJzKSA9PSAnbWFwJyB7XG4gICAgQGluY2x1ZGUgLXpmLWVhY2gtYnJlYWtwb2ludCgpIHtcbiAgICAgIEBpbmNsdWRlIHh5LWdyaWQtZnJhbWUoJHZlcnRpY2FsLCAkbmVzdGVkLCAkZ3V0dGVycywgJC16Zi1zaXplLCBmYWxzZSk7XG4gICAgfVxuICB9IEBlbHNlIHtcbiAgICAvLyBHZXQgb3VyIGd1dHRlcnMgaWYgYXBwbGljYWJsZVxuICAgICRndXR0ZXI6IC16Zi1nZXQtYnAtdmFsKCRndXR0ZXJzLCAkYnJlYWtwb2ludCk7XG5cbiAgICAvLyBJZiB3ZSBoYXZlIGEgZ3V0dGVyLCBhZGQgaXQgdG8gdGhlIHdpZHRoL2hlaWdodFxuICAgIEBpZiAkZ3V0dGVyIHtcbiAgICAgIEBpZiAkdmVydGljYWwgPT0gdHJ1ZSB7XG4gICAgICAgICR1bml0OiBpZigkbmVzdGVkID09IHRydWUsIDEwMCUsIDEwMHZoKTtcbiAgICAgICAgJGd1dHRlcjogcmVtLWNhbGMoJGd1dHRlcik7XG4gICAgICAgIGhlaWdodDogY2FsYygjeyR1bml0fSArICN7JGd1dHRlcn0pO1xuICAgICAgfSBAZWxzZSB7XG4gICAgICAgICR1bml0OiBpZigkbmVzdGVkID09IHRydWUsIDEwMCUsIDEwMHZ3KTtcbiAgICAgICAgJGd1dHRlcjogcmVtLWNhbGMoJGd1dHRlcik7XG4gICAgICAgIHdpZHRoOiBjYWxjKCN7JHVuaXR9ICsgI3skZ3V0dGVyfSk7XG4gICAgICB9XG4gICAgfVxuICAgIEBlbHNlIHtcbiAgICAgIEBpZiAkdmVydGljYWwgPT0gdHJ1ZSB7XG4gICAgICAgIGhlaWdodDogaWYoJG5lc3RlZCA9PSB0cnVlLCAxMDAlLCAxMDB2aCk7XG4gICAgICB9IEBlbHNlIHtcbiAgICAgICAgd2lkdGg6IGlmKCRuZXN0ZWQgPT0gdHJ1ZSwgMTAwJSwgMTAwdncpO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG4vLy8gTW9kaWZpZXMgYSBjZWxsIHRvIGdpdmUgaXQgXCJibG9ja1wiIGJlaGF2aW9yIChvdmVyZmxvdyBhdXRvLCBpbmVydGlhbCBzY3JvbGxpbmcpXG4vLy9cbi8vLyBAcGFyYW0ge0Jvb2xlYW59ICR2ZXJ0aWNhbCBbZmFsc2VdIC0gSXMgZ3JpZCB2ZXJ0aWNhbCBvciBob3Jpem9udGFsLiBTaG91bGQgbWF0Y2ggZ3JpZC5cbkBtaXhpbiB4eS1jZWxsLWJsb2NrKFxuICAkdmVydGljYWw6IGZhbHNlXG4pIHtcbiAgJHByb3BlcnR5OiBpZigkdmVydGljYWwgPT0gdHJ1ZSwgJ292ZXJmbG93LXknLCAnb3ZlcmZsb3cteCcpO1xuXG4gIEBpZiAkdmVydGljYWwgPT0gdHJ1ZSB7XG4gICAgb3ZlcmZsb3cteTogYXV0bztcbiAgICBtYXgtaGVpZ2h0OiAxMDAlO1xuICB9IEBlbHNlIHtcbiAgICBvdmVyZmxvdy14OiBhdXRvO1xuICAgIG1heC13aWR0aDogMTAwJTtcbiAgfVxuXG4gIC13ZWJraXQtb3ZlcmZsb3ctc2Nyb2xsaW5nOiB0b3VjaDtcbiAgLW1zLW92ZXJmbG93LXN0eXBlOiAtbXMtYXV0b2hpZGluZy1zY3JvbGxiYXI7XG59XG5cbi8vLyBDb250YWluZXIgZm9yIGluc2lkZSBhIGdyaWQgZnJhbWUgY29udGFpbmluZyBtdWx0aXBsZSBibG9ja3MuIFR5cGljYWxseSB1c2VkXG4vLy8gYXMgYSBtb2RpZmllciBmb3IgYSBgLmNlbGxgIHRvIGFsbG93IHRoZSBjZWxsIHRvIHBhc3MgYWxvbmcgZmxleCBzaXppbmdcbi8vLyBjb25zdHJhaW50cyAvIGZyb20gcGFyZW50cyB0byBjaGlsZHJlbi5cbkBtaXhpbiB4eS1jZWxsLWJsb2NrLWNvbnRhaW5lcigpIHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgbWF4LWhlaWdodDogMTAwJTtcblxuICA+IC5ncmlkLXgge1xuICAgIG1heC1oZWlnaHQ6IDEwMCU7XG4gICAgZmxleC13cmFwOiBub3dyYXA7XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIHh5LWdyaWRcbi8vLy9cblxuLy8vIE9mZnNldHMgYSBjb2x1bW4gdG8gdGhlIHJpZ2h0L2JvdHRvbSBieSBgJG5gIGNvbHVtbnMuXG4vLy9cbi8vLyBAcGFyYW0ge051bWJlcnxMaXN0fSAkbiAtIFNpemUgdG8gb2Zmc2V0IGJ5LiBZb3UgY2FuIHBhc3MgaW4gYW55IHZhbHVlIGFjY2VwdGVkIGJ5IHRoZSBgemYtY2VsbCgpYCBtaXhpbiwgc3VjaCBhcyBgNmAsIGA1MCVgLCBvciBgMSBvZiAyYC5cbi8vLyBAcGFyYW0ge0Jvb2xlYW59ICR2ZXJ0aWNhbCBbZmFsc2VdIFNldHMgdGhlIGRpcmVjdGlvbiBvZiB0aGUgb2Zmc2V0LiBJZiBzZXQgdG8gdHJ1ZSB3aWxsIGFwcGx5IG1hcmdpbi10b3AgaW5zdGVhZC5cbkBtaXhpbiB4eS1jZWxsLW9mZnNldChcbiAkbixcbiAkZ3V0dGVyczogJGdyaWQtbWFyZ2luLWd1dHRlcnMsXG4gJGd1dHRlci10eXBlOiBtYXJnaW4sXG4gJGJyZWFrcG9pbnQ6ICQtemYtemVyby1icmVha3BvaW50LFxuICR2ZXJ0aWNhbDogZmFsc2Vcbikge1xuICAkZGlyZWN0aW9uOiBpZigkdmVydGljYWwsICd0b3AnLCAkZ2xvYmFsLWxlZnQpO1xuXG4gIEBpbmNsdWRlIC16Zi1icmVha3BvaW50LXZhbHVlKCRicmVha3BvaW50LCAkZ3V0dGVycykge1xuICAgICRndXR0ZXI6IHJlbS1jYWxjKCQtemYtYnAtdmFsdWUpIC8gMjtcbiAgICAkc2l6ZTogaWYoJGd1dHRlci10eXBlID09ICdtYXJnaW4nLCBjYWxjKCN7eHktY2VsbC1zaXplKCRuKX0gKyAjeyRndXR0ZXJ9KSwgI3t4eS1jZWxsLXNpemUoJG4pfSk7XG5cbiAgICBtYXJnaW4tI3skZGlyZWN0aW9ufTogI3skc2l6ZX07XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIHh5LWdyaWRcbi8vLy9cblxuLy8vIFNpemVzIGNoaWxkIGVsZW1lbnRzIHNvIHRoYXQgYCRuYCBudW1iZXIgb2YgaXRlbXMgYXBwZWFyIG9uIGVhY2ggcm93LlxuLy8vXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRuIC0gTnVtYmVyIG9mIGVsZW1lbnRzIHRvIGRpc3BsYXkgcGVyIHJvdy5cbi8vLyBAcGFyYW0ge1N0cmluZ30gJHNlbGVjdG9yIFsnLmNlbGwnXSAtIFNlbGVjdG9yKHMpIHRvIHVzZSBmb3IgY2hpbGQgZWxlbWVudHMuXG4vLy8gQHBhcmFtIHtCb29sZWFufSAkZ3V0dGVyLW91dHB1dCBbdHJ1ZV0gLSBXaGV0aGVyIG9yIG5vdCB0byBvdXRwdXQgZ3V0dGVyc1xuLy8vIEBwYXJhbSB7TnVtYmVyfE1hcH0gJGd1dHRlcnMgWyRncmlkLW1hcmdpbi1ndXR0ZXJzXSAtIE1hcCBvciBzaW5nbGUgdmFsdWUgZm9yIGd1dHRlcnMuXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkZ3V0dGVyLXR5cGUgW21hcmdpbl0gLSBUeXBlIG9mIGd1dHRlciB0byBvdXRwdXQuIEFjY2VwdHMgYG1hcmdpbmAgb3IgYHBhZGRpbmdgLlxuLy8vIEBwYXJhbSB7TGlzdH0gJGd1dHRlci1wb3NpdGlvbiBbcmlnaHQgbGVmdF0gLSBUaGUgcG9zaXRpb24gdG8gYXBwbHkgZ3V0dGVycyB0by4gQWNjZXB0cyBgdG9wYCwgYGJvdHRvbWAsIGBsZWZ0YCwgYHJpZ2h0YCBpbiBhbnkgY29tYmluYXRpb24uXG4vLy8gQHBhcmFtIHtCb29sZWFufSAkdmVydGljYWwgW2ZhbHNlXSAtIFNldCB0byB0cnVlIHRvIG91dHB1dCB2ZXJ0aWNhbCAoaGVpZ2h0KSBzdHlsZXMgcmF0aGVyIHRoYW4gd2lkdGhzLlxuQG1peGluIHh5LWdyaWQtbGF5b3V0KFxuICAkbixcbiAgJHNlbGVjdG9yOiAnLmNlbGwnLFxuICAkZ3V0dGVyLW91dHB1dDogdHJ1ZSxcbiAgJGd1dHRlcnM6ICRncmlkLW1hcmdpbi1ndXR0ZXJzLFxuICAkZ3V0dGVyLXR5cGU6IG1hcmdpbixcbiAgJGd1dHRlci1wb3NpdGlvbjogcmlnaHQgbGVmdCxcbiAgJGJyZWFrcG9pbnQ6ICQtemYtemVyby1icmVha3BvaW50LFxuICAkdmVydGljYWw6IGZhbHNlXG4pIHtcbiAgJHNpemU6IHBlcmNlbnRhZ2UoMS8kbik7XG5cbiAgJiA+ICN7JHNlbGVjdG9yfSB7XG4gICAgQGluY2x1ZGUgeHktY2VsbCgkc2l6ZSwgJGd1dHRlci1vdXRwdXQsICRndXR0ZXJzLCAkZ3V0dGVyLXR5cGUsICRndXR0ZXItcG9zaXRpb24sICRicmVha3BvaW50LCAkdmVydGljYWwpO1xuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCB4eS1ncmlkXG4vLy8vXG5cbi8vLyBDb2xsYXBzZXMgdGhlIGdyaWQgYSBjZWxscyB3aXRoaW4gaXQuXG4vLy9cbi8vLyBAcGFyYW0ge1N0cmluZ30gJHNlbGVjdG9yIFsuY2VsbF0gLSBUaGUgY2hpbGQgZWxlbWVudCB0byByZW1vdmUgdGhlIGd1dHRlciBmcm9tLlxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJGd1dHRlci10eXBlIFttYXJnaW5dIC0gVGhlIHR5cGUgb2YgZ3V0dGVyIHRvIHJlbW92ZS5cbi8vLyBAcGFyYW0ge0xpc3R9ICRndXR0ZXItcG9zaXRpb24gW3JpZ2h0IGxlZnRdIC0gVGhlIHBvc2l0aW9ucyB0byByZW1vdmUgZ3V0dGVycyBmcm9tLiBBY2NlcHRzIGB0b3BgLCBgYm90dG9tYCwgYGxlZnRgLCBgcmlnaHRgIGluIGFueSBjb21iaW5hdGlvbi5cbkBtaXhpbiB4eS1ncmlkLWNvbGxhcHNlKFxuICAkc2VsZWN0b3I6ICcuY2VsbCcsXG4gICRndXR0ZXItdHlwZTogbWFyZ2luLFxuICAkZ3V0dGVyLXBvc2l0aW9uOiByaWdodCBsZWZ0LFxuICAkbWluLWJyZWFrcG9pbnQ6ICQtemYtemVyby1icmVha3BvaW50XG4pIHtcbiAgLy8gRmlyc3QsIGxldHMgbmVnYXRlIGFueSBtYXJnaW5zIG9uIHRoZSB0b3AgbGV2ZWxcbiAgQGlmICgkZ3V0dGVyLXR5cGUgPT0gJ21hcmdpbicpIHtcblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJG1pbi1icmVha3BvaW50KSB7XG4gICAgICBAZWFjaCAkdmFsdWUgaW4gJGd1dHRlci1wb3NpdGlvbiB7XG4gICAgICAgIG1hcmdpbi0jeyR2YWx1ZX06IDA7XG4gICAgICB9XG5cbiAgICAgID4gI3skc2VsZWN0b3J9IHtcbiAgICAgICAgQGVhY2ggJHZhbHVlIGluICRndXR0ZXItcG9zaXRpb24ge1xuICAgICAgICAgIG1hcmdpbi0jeyR2YWx1ZX06IDA7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICAkZXhjbHVkZWQtYnBzOiAtemYtYnJlYWtwb2ludHMtbGVzcy10aGFuKCRtaW4tYnJlYWtwb2ludCk7XG5cbiAgICAvLyBPdXRwdXQgbmV3IHdpZHRocyB0byBub3QgaW5jbHVkZSBndXR0ZXJzXG4gICAgQGVhY2ggJGJwIGluICRicmVha3BvaW50LWNsYXNzZXMge1xuICAgICAgQGlmKHNsLWNvbnRhaW4oJGV4Y2x1ZGVkLWJwcywgJGJwKSkge1xuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KCRtaW4tYnJlYWtwb2ludCkge1xuICAgICAgICAgIEBmb3IgJGkgZnJvbSAxIHRocm91Z2ggJGdyaWQtY29sdW1ucyB7XG4gICAgICAgICAgICAvLyBTaXppbmcgKHBlcmNlbnRhZ2UpXG4gICAgICAgICAgICA+IC4jeyRicH0tI3skaX0ge1xuICAgICAgICAgICAgICBAaW5jbHVkZSB4eS1jZWxsLXN0YXRpYygkaSwgJGd1dHRlci1vdXRwdXQ6IGZhbHNlLCAkZ3V0dGVyLXR5cGU6IHBhZGRpbmcpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfSBAZWxzZSB7XG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJGJwKSB7XG4gICAgICAgICAgQGZvciAkaSBmcm9tIDEgdGhyb3VnaCAkZ3JpZC1jb2x1bW5zIHtcbiAgICAgICAgICAgIC8vIFNpemluZyAocGVyY2VudGFnZSlcbiAgICAgICAgICAgID4gLiN7JGJwfS0jeyRpfSB7XG4gICAgICAgICAgICAgIEBpbmNsdWRlIHh5LWNlbGwtc3RhdGljKCRpLCAkZ3V0dGVyLW91dHB1dDogZmFsc2UsICRndXR0ZXItdHlwZTogcGFkZGluZyk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9IFxuICAgIH1cbiAgfVxuICBAZWxzZSB7XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KCRtaW4tYnJlYWtwb2ludCkge1xuICAgICAgQGVhY2ggJHZhbHVlIGluICRndXR0ZXItcG9zaXRpb24ge1xuICAgICAgICBtYXJnaW4tI3skdmFsdWV9OiAwO1xuICAgICAgfVxuXG4gICAgICA+ICN7JHNlbGVjdG9yfSB7XG4gICAgICAgIEBlYWNoICR2YWx1ZSBpbiAkZ3V0dGVyLXBvc2l0aW9uIHtcbiAgICAgICAgICBwYWRkaW5nLSN7JHZhbHVlfTogMDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgeHktZ3JpZFxuLy8vL1xuXG4vLyBNYXJnaW4gR3JpZCBjbGFzc2VzXG5AbWl4aW4geHktYmFzZS1ncmlkLWNsYXNzZXMge1xuXG4gIC8vIEdyaWQgQ29udGFpbmVyXG4gIC5ncmlkLWNvbnRhaW5lciB7XG4gICAgQGluY2x1ZGUgeHktZ3JpZC1jb250YWluZXI7XG5cbiAgICAmLmZsdWlkIHtcbiAgICAgIEBpbmNsdWRlIHh5LWdyaWQtY29udGFpbmVyKDEwMCUpO1xuICAgIH1cblxuICAgICYuZnVsbCB7XG4gICAgICBAaW5jbHVkZSB4eS1ncmlkLWNvbnRhaW5lcigxMDAlLCAwKTtcbiAgICB9XG4gIH1cblxuICAvLyBCYXNlIGdyaWQgc3R5bGVzXG4gIC5ncmlkLXgge1xuICAgIEBpbmNsdWRlIHh5LWdyaWQ7XG4gIH1cblxuICAuY2VsbCB7XG4gICAgQGluY2x1ZGUgeHktY2VsbC1iYXNlKCk7XG4gICAgQGluY2x1ZGUgeHktY2VsbC1zdGF0aWMoJGdyaWQtY29sdW1ucywgZmFsc2UsICRndXR0ZXItdHlwZTogcGFkZGluZyk7XG5cbiAgICAmLmF1dG8ge1xuICAgICAgQGluY2x1ZGUgeHktY2VsbC1iYXNlKGF1dG8pO1xuICAgIH1cblxuICAgICYuc2hyaW5rIHtcbiAgICAgIEBpbmNsdWRlIHh5LWNlbGwtYmFzZShzaHJpbmspO1xuICAgIH1cblxuICB9XG4gIC5ncmlkLXgge1xuICAgID4gLmF1dG8ge1xuICAgICAgQGluY2x1ZGUgeHktY2VsbC1zdGF0aWMoYXV0bywgZmFsc2UpO1xuICAgIH1cblxuICAgID4gLnNocmluayB7XG4gICAgICBAaW5jbHVkZSB4eS1jZWxsLXN0YXRpYyhzaHJpbmssIGZhbHNlKTtcbiAgICB9XG4gIH1cblxuICAvLyBBdXRvIHdpZHRoXG4gIEBpbmNsdWRlIC16Zi1lYWNoLWJyZWFrcG9pbnQoKSB7XG4gICAgLy8gVGhpcyBpcyBhIGJpdCBvZiBhIGhhY2svd29ya2Fyb3VuZCwgc2VlIHRoZXNlIGlzc3VlcyAmIFBScyBmb3IgdGhlIGJhY2tzdG9yeTpcbiAgICAvLyBodHRwczovL2dpdGh1Yi5jb20venVyYi9mb3VuZGF0aW9uLXNpdGVzL2lzc3Vlcy8xMDI0NFxuICAgIC8vIGh0dHBzOi8vZ2l0aHViLmNvbS96dXJiL2ZvdW5kYXRpb24tc2l0ZXMvcHVsbC8xMDIyMiBhbmRcbiAgICAvLyBodHRwczovL2dpdGh1Yi5jb20venVyYi9mb3VuZGF0aW9uLXNpdGVzL3B1bGwvMTAxNjRcbiAgICAuZ3JpZC14IHtcbiAgICAgICRzdHI6IFwiPiAuI3skLXpmLXNpemV9LXNocmluaywgPiAuI3skLXpmLXNpemV9LWZ1bGxcIjtcbiAgICAgIEBmb3IgJGkgZnJvbSAxIHRocm91Z2ggJGdyaWQtY29sdW1ucyB7XG4gICAgICAgICRzdHI6ICRzdHIgKyBcIiwgPiAuI3skLXpmLXNpemV9LSN7JGl9XCJcbiAgICAgIH1cbiAgICAgICN7JHN0cn0ge1xuICAgICAgICBmbGV4LWJhc2lzOiBhdXRvO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIEBpbmNsdWRlIC16Zi1lYWNoLWJyZWFrcG9pbnQoKSB7XG4gICAgQGlmIG5vdCgkLXpmLXNpemUgPT0gc21hbGwpIHtcbiAgICAgIC5ncmlkLXggPiAuI3skLXpmLXNpemV9LWF1dG8ge1xuICAgICAgICBAaW5jbHVkZSB4eS1jZWxsLWJhc2UoYXV0byk7XG4gICAgICAgIEBpbmNsdWRlIHh5LWNlbGwtc3RhdGljKGF1dG8sIGZhbHNlKTtcbiAgICAgIH1cblxuICAgICAgLmdyaWQteCA+IC4jeyQtemYtc2l6ZX0tc2hyaW5rIHtcbiAgICAgICAgQGluY2x1ZGUgeHktY2VsbC1iYXNlKHNocmluayk7XG4gICAgICAgIEBpbmNsdWRlIHh5LWNlbGwtc3RhdGljKHNocmluaywgZmFsc2UpO1xuICAgICAgfVxuICAgIH1cblxuICAgIEBmb3IgJGkgZnJvbSAxIHRocm91Z2ggJGdyaWQtY29sdW1ucyB7XG4gICAgICAvLyBTaXppbmcgKHBlcmNlbnRhZ2UpXG4gICAgICAuZ3JpZC14ID4gLiN7JC16Zi1zaXplfS0jeyRpfSB7XG4gICAgICAgIEBpbmNsdWRlIHh5LWNlbGwtc3RhdGljKCRpLCBmYWxzZSwgJGd1dHRlci10eXBlOiBwYWRkaW5nKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAvLyBSZXNldCB3aWR0aCB3aGVuIHVzaW5nIGAuZ3JpZC1tYXJnaW4teGAgbm90IG9uIGAuZ3JpZC14YFxuICAuZ3JpZC1tYXJnaW4teDpub3QoLmdyaWQteCkgPiAuY2VsbCB7XG4gICAgd2lkdGg6IGF1dG87XG4gIH1cblxuICAvLyBSZXNldCBoZWlnaHQgd2hlbiB1c2luZyBgLmdyaWQtbWFyZ2luLXlgIG5vdCBvbiBgLmdyaWQteWBcbiAgLmdyaWQtbWFyZ2luLXk6bm90KC5ncmlkLXkpID4gLmNlbGwge1xuICAgIGhlaWdodDogYXV0bztcbiAgfVxufVxuXG5AbWl4aW4gLXh5LWJyZWFrcG9pbnQtY2VsbC1jbGFzc2VzKCRjbGFzcy1icmVha3BvaW50LCAkZ3V0dGVyLWJyZWFrcG9pbnQsICR2ZXJ0aWNhbCkge1xuICAkcHJlZml4OiBpZigkY2xhc3MtYnJlYWtwb2ludCA9PSAkLXpmLXplcm8tYnJlYWtwb2ludCwgJycsICcjeyRjbGFzcy1icmVha3BvaW50fS0nKTtcbiAgPiAuI3skcHJlZml4fWF1dG8ge1xuICAgIEBpbmNsdWRlIHh5LWNlbGwtc3RhdGljKGF1dG8sIGZhbHNlLCAkYnJlYWtwb2ludDogJGd1dHRlci1icmVha3BvaW50LCAkdmVydGljYWw6ICR2ZXJ0aWNhbCk7XG4gIH1cblxuICA+IC4jeyRwcmVmaXh9c2hyaW5rIHtcbiAgICBAaW5jbHVkZSB4eS1jZWxsLXN0YXRpYyhzaHJpbmssIGZhbHNlLCAkYnJlYWtwb2ludDogJGd1dHRlci1icmVha3BvaW50LCAkdmVydGljYWw6ICR2ZXJ0aWNhbCk7XG4gIH1cblxuICBAZm9yICRpIGZyb20gMSB0aHJvdWdoICRncmlkLWNvbHVtbnMge1xuICAgIC8vIFNpemluZyAocGVyY2VudGFnZSlcbiAgICAkY2xhc3NuYW1lOiBpZigkdmVydGljYWwsICcuI3skY2xhc3MtYnJlYWtwb2ludH0tI3skaX0nLCAnLiN7JGNsYXNzLWJyZWFrcG9pbnR9LSN7JGl9Jyk7XG5cbiAgICA+ICN7JGNsYXNzbmFtZX0ge1xuICAgICAgQGluY2x1ZGUgeHktY2VsbC1zdGF0aWMoJGksIGZhbHNlLCAkYnJlYWtwb2ludDogJGd1dHRlci1icmVha3BvaW50LCAkdmVydGljYWw6ICR2ZXJ0aWNhbCk7XG4gICAgfVxuICB9XG59XG5cbi8vIE1hcmdpbiBHcmlkIGNsYXNzZXNcbkBtaXhpbiB4eS1tYXJnaW4tZ3JpZC1jbGFzc2VzKFxuICAkZ3V0dGVyLXBvc2l0aW9uOiBsZWZ0IHJpZ2h0LFxuICAkdmVydGljYWw6IGZhbHNlLFxuICAkd3JhcHBpbmctc2VsZWN0b3I6ICcuZ3JpZC1tYXJnaW4teCdcbil7XG4gICN7JHdyYXBwaW5nLXNlbGVjdG9yfSB7XG4gICAgQGluY2x1ZGUgeHktZ3V0dGVycygkbmVnYXRpdmU6IHRydWUsICRndXR0ZXItcG9zaXRpb246ICRndXR0ZXItcG9zaXRpb24pO1xuXG4gICAgLy8gQmFzZSBjZWxsIHN0eWxlc1xuICAgID4gLmNlbGwge1xuICAgICAgQGluY2x1ZGUgeHktY2VsbC1zdGF0aWMoJHZlcnRpY2FsOiAkdmVydGljYWwpO1xuICAgIH1cblxuICAgIC8vIGJhc2Ugc3R5bGVzIG5lZWQgdG8gYWxsIGJlIGJlZm9yZSB0aGUgYXV0byBhbmQgc2hyaW5rIHN0eWxlc1xuICAgIEBpbmNsdWRlIC16Zi1lYWNoLWJyZWFrcG9pbnQoKSB7XG4gICAgICBAaWYodHlwZS1vZigkZ3JpZC1tYXJnaW4tZ3V0dGVycykgPT0gJ21hcCcgYW5kIG1hcC1oYXMta2V5KCRncmlkLW1hcmdpbi1ndXR0ZXJzLCAkLXpmLXNpemUpIGFuZCAkLXpmLXNpemUgIT0gJC16Zi16ZXJvLWJyZWFrcG9pbnQpIHtcbiAgICAgICAgPiAuY2VsbCB7XG4gICAgICAgICAgQGluY2x1ZGUgeHktY2VsbC1zdGF0aWMoJGJyZWFrcG9pbnQ6ICQtemYtc2l6ZSwgJHZlcnRpY2FsOiAkdmVydGljYWwpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgLXpmLWVhY2gtYnJlYWtwb2ludCgpIHtcblxuICAgICAgLy8gVGhpcyBpcyBwdXJlbHkgZm9yIHJlc3BvbnNpdmUgZ3V0dGVycyAtIHRoZSBtYXJnaW4gZ3JpZCBoYXMgdG8gZ28gYmFjayBhbmQgYWRqdXN0IHdpZHRocyAob3IgaGVpZ2h0cylcbiAgICAgIC8vIGZvciBwcmlvciBicmVha3BvaW50cyBiYXNlZCBvbiB0aGUgcmVzcG9uc2l2ZSBndXR0ZXIuXG4gICAgICBAaWYodHlwZS1vZigkZ3JpZC1tYXJnaW4tZ3V0dGVycykgPT0gJ21hcCcgYW5kIG1hcC1oYXMta2V5KCRncmlkLW1hcmdpbi1ndXR0ZXJzLCAkLXpmLXNpemUpKSB7XG4gICAgICAgIEBlYWNoICRicCBpbiAtemYtYnJlYWtwb2ludHMtbGVzcy10aGFuKCQtemYtc2l6ZSkge1xuICAgICAgICAgIEBpZihtYXAtaGFzLWtleSgkZ3JpZC1tYXJnaW4tZ3V0dGVycywgJGJwKSkge1xuICAgICAgICAgICAgQGluY2x1ZGUgLXh5LWJyZWFrcG9pbnQtY2VsbC1jbGFzc2VzKCRicCwgJC16Zi1zaXplLCAkdmVydGljYWwpO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICBAaW5jbHVkZSAteHktYnJlYWtwb2ludC1jZWxsLWNsYXNzZXMoJC16Zi1zaXplLCAkLXpmLXNpemUsICR2ZXJ0aWNhbCk7XG4gICAgfVxuICB9XG59XG5cbi8vIFBhZGRpbmcgR3JpZCBjbGFzc2VzXG5AbWl4aW4geHktcGFkZGluZy1ncmlkLWNsYXNzZXMge1xuICAuZ3JpZC1wYWRkaW5nLXgge1xuXG4gICAgLy8gTmVnYXRpdmUgbWFyZ2luIGZvciBuZXN0ZWQgZ3JpZHNcbiAgICAuZ3JpZC1wYWRkaW5nLXgge1xuICAgICAgQGluY2x1ZGUgeHktZ3V0dGVycygkbmVnYXRpdmU6IHRydWUpO1xuICAgIH1cblxuICAgIC8vIE5lZ2F0aXZlIG1hcmdpbiBmb3IgZ3JpZHMgd2l0aGluIGBncmlkLWNvbnRhaW5lci9ncmlkLWNvbnRhaW5lci5mbHVpZGBcbiAgICAvLyBUaGlzIGFsbG93cyBtYXJnaW4gYW5kIHBhZGRpbmcgZ3JpZHMgdG8gbGluZSB1cCB3aXRoIGVhY2hvdGhlclxuICAgIC5ncmlkLWNvbnRhaW5lcjpub3QoLmZ1bGwpID4gJiB7XG4gICAgICBAaW5jbHVkZSB4eS1ndXR0ZXJzKCRuZWdhdGl2ZTogdHJ1ZSk7XG4gICAgfVxuXG4gICAgLy8gQmFzZSBjZWxsIHN0eWxlc1xuICAgID4gLmNlbGwge1xuICAgICAgQGluY2x1ZGUgeHktZ3V0dGVycygkZ3V0dGVyczogJGdyaWQtcGFkZGluZy1ndXR0ZXJzLCAkZ3V0dGVyLXR5cGU6IHBhZGRpbmcpO1xuICAgIH1cbiAgfVxufVxuXG4vLyBCbG9jayBHcmlkIGNsYXNzZXNcbkBtaXhpbiB4eS1ibG9jay1ncmlkLWNsYXNzZXMoJG1hcmdpbi1ncmlkOiB0cnVlLCAkcGFkZGluZy1ncmlkOiB0cnVlKSB7XG4gIEBpZiAkcGFkZGluZy1ncmlkIHtcbiAgICBAaW5jbHVkZSAtemYtZWFjaC1icmVha3BvaW50IHtcbiAgICAgIEBmb3IgJGkgZnJvbSAxIHRocm91Z2ggJHh5LWJsb2NrLWdyaWQtbWF4IHtcbiAgICAgICAgLiN7JC16Zi1zaXplfS11cC0jeyRpfSB7XG4gICAgICAgICAgQGluY2x1ZGUgeHktZ3JpZC1sYXlvdXQoJGksICcuY2VsbCcsIGZhbHNlLCAkZ3V0dGVyLXR5cGU6IHBhZGRpbmcpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgQGlmICRtYXJnaW4tZ3JpZCB7XG4gICAgQGluY2x1ZGUgLXpmLWVhY2gtYnJlYWtwb2ludCB7XG4gICAgICBAZm9yICRpIGZyb20gMSB0aHJvdWdoICR4eS1ibG9jay1ncmlkLW1heCB7XG4gICAgICAgIC8vIFRoaXMgaXMgcHVyZWx5IGZvciByZXNwb25zaXZlIGd1dHRlcnMgLSB0aGUgbWFyZ2luIGdyaWQgaGFzIHRvIGdvIGJhY2sgYW5kIGFkanVzdCB3aWR0aHMgKG9yIGhlaWdodHMpXG4gICAgICAgIC8vIGZvciBwcmlvciBicmVha3BvaW50cyBiYXNlZCBvbiB0aGUgcmVzcG9uc2l2ZSBndXR0ZXIuXG4gICAgICAgIEBpZih0eXBlLW9mKCRncmlkLW1hcmdpbi1ndXR0ZXJzKSA9PSAnbWFwJyBhbmQgbWFwLWhhcy1rZXkoJGdyaWQtbWFyZ2luLWd1dHRlcnMsICQtemYtc2l6ZSkpIHtcbiAgICAgICAgICBAZWFjaCAkYnAgaW4gLXpmLWJyZWFrcG9pbnRzLWxlc3MtdGhhbigkLXpmLXNpemUpIHtcbiAgICAgICAgICAgIEBpZihtYXAtaGFzLWtleSgkZ3JpZC1tYXJnaW4tZ3V0dGVycywgJGJwKSkge1xuICAgICAgICAgICAgICAuZ3JpZC1tYXJnaW4teC4jeyRicH0tdXAtI3skaX0ge1xuICAgICAgICAgICAgICAgIEBpbmNsdWRlIHh5LWdyaWQtbGF5b3V0KCRpLCAnLmNlbGwnLCBmYWxzZSwgJGd1dHRlci10eXBlOiBtYXJnaW4sICRicmVha3BvaW50OiAkYnApO1xuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgICBAZm9yICRpIGZyb20gMSB0aHJvdWdoICR4eS1ibG9jay1ncmlkLW1heCB7XG4gICAgICAgIC5ncmlkLW1hcmdpbi14LiN7JC16Zi1zaXplfS11cC0jeyRpfSB7XG4gICAgICAgICAgQGluY2x1ZGUgeHktZ3JpZC1sYXlvdXQoJGksICcuY2VsbCcsIGZhbHNlLCAkZ3V0dGVyLXR5cGU6IG1hcmdpbiwgJGJyZWFrcG9pbnQ6ICQtemYtc2l6ZSk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuLy8gQ29sbGFwc2UgY2xhc3Nlc1xuQG1peGluIHh5LWNvbGxhcHNlLWdyaWQtY2xhc3NlcygkbWFyZ2luLWdyaWQ6IHRydWUsICRwYWRkaW5nLWdyaWQ6IHRydWUpIHtcbiAgQGVhY2ggJGJwIGluICRicmVha3BvaW50LWNsYXNzZXMge1xuICAgIEBpZiAkbWFyZ2luLWdyaWQge1xuICAgICAgLiN7JGJwfS1tYXJnaW4tY29sbGFwc2Uge1xuICAgICAgICBAaW5jbHVkZSB4eS1ncmlkLWNvbGxhcHNlKCRndXR0ZXItdHlwZTogbWFyZ2luLCAkbWluLWJyZWFrcG9pbnQ6ICRicCk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgQGlmICRwYWRkaW5nLWdyaWQge1xuICAgICAgLiN7JGJwfS1wYWRkaW5nLWNvbGxhcHNlIHtcbiAgICAgICAgQGluY2x1ZGUgeHktZ3JpZC1jb2xsYXBzZSgkZ3V0dGVyLXR5cGU6IHBhZGRpbmcsICRtaW4tYnJlYWtwb2ludDogJGJwKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuLy8gT2Zmc2V0IGNsYXNzZXNcbkBtaXhpbiB4eS1vZmZzZXQtY2VsbC1jbGFzc2VzIHtcbiAgQGluY2x1ZGUgLXpmLWVhY2gtYnJlYWtwb2ludCB7XG4gICAgQGZvciAkaSBmcm9tIDEgdGhyb3VnaCAkZ3JpZC1jb2x1bW5zIHtcbiAgICAgIC8vIE9mZnNldHNcbiAgICAgICRvOiAkaSAtIDE7XG5cbiAgICAgIC4jeyQtemYtc2l6ZX0tb2Zmc2V0LSN7JG99IHtcbiAgICAgICAgQGluY2x1ZGUgeHktY2VsbC1vZmZzZXQoJG8sICRndXR0ZXJzOiAkZ3JpZC1wYWRkaW5nLWd1dHRlcnMsICRndXR0ZXItdHlwZTogcGFkZGluZywgJGJyZWFrcG9pbnQ6ICQtemYtc2l6ZSk7XG4gICAgICB9XG5cbiAgICAgIC5ncmlkLW1hcmdpbi14ID4gLiN7JC16Zi1zaXplfS1vZmZzZXQtI3skb30ge1xuICAgICAgICBAaW5jbHVkZSB4eS1jZWxsLW9mZnNldCgkbywgJGJyZWFrcG9pbnQ6ICQtemYtc2l6ZSk7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbi8vIFZlcnRpY2FsIEdyaWQgY2xhc3Nlc1xuQG1peGluIHh5LXZlcnRpY2FsLWdyaWQtY2xhc3NlcyhcbiAgJG1hcmdpbi1ncmlkOiB0cnVlLFxuICAkcGFkZGluZy1ncmlkOiB0cnVlXG4pIHtcblxuICBAaW5jbHVkZSAtemYtZWFjaC1icmVha3BvaW50KCkge1xuICAgIEBpZiBub3QoJC16Zi1zaXplID09IHNtYWxsKSB7XG4gICAgfVxuICB9XG5cbiAgLmdyaWQteSB7XG4gICAgQGluY2x1ZGUgeHktZ3JpZCh2ZXJ0aWNhbCwgZmFsc2UpO1xuXG5cbiAgICA+IC5jZWxsIHtcbiAgICAgIEBpbmNsdWRlIHh5LWNlbGwtcmVzZXQoKTtcbiAgICB9XG5cbiAgICA+IC5hdXRvIHtcbiAgICAgIEBpbmNsdWRlIHh5LWNlbGwtc3RhdGljKGF1dG8sIGZhbHNlLCAkYnJlYWtwb2ludDogJC16Zi1zaXplLCAkdmVydGljYWw6IHRydWUpO1xuICAgIH1cblxuICAgID4gLnNocmluayB7XG4gICAgICBAaW5jbHVkZSB4eS1jZWxsLXN0YXRpYyhzaHJpbmssIGZhbHNlLCAkYnJlYWtwb2ludDogJC16Zi1zaXplLCAkdmVydGljYWw6IHRydWUpO1xuICAgIH1cblxuXG4gICAgQGluY2x1ZGUgLXpmLWVhY2gtYnJlYWtwb2ludCgpIHtcbiAgICAgIC8vIFRoaXMgaXMgYSBiaXQgb2YgYSBoYWNrL3dvcmthcm91bmQsIHNlZSB0aGVzZSBpc3N1ZXMgYW5kIFBScyBmb3IgdGhlIGJhY2tzdG9yeTpcbiAgICAgIC8vIGh0dHBzOi8vZ2l0aHViLmNvbS96dXJiL2ZvdW5kYXRpb24tc2l0ZXMvaXNzdWVzLzEwMjQ0XG4gICAgICAvLyBodHRwczovL2dpdGh1Yi5jb20venVyYi9mb3VuZGF0aW9uLXNpdGVzL3B1bGwvMTAyMjIgYW5kXG4gICAgICAvLyBodHRwczovL2dpdGh1Yi5jb20venVyYi9mb3VuZGF0aW9uLXNpdGVzL3B1bGwvMTAxNjRcbiAgICAgICRzdHI6IFwiPiAuI3skLXpmLXNpemV9LXNocmluaywgPiAuI3skLXpmLXNpemV9LWZ1bGxcIjtcbiAgICAgIEBmb3IgJGkgZnJvbSAxIHRocm91Z2ggJGdyaWQtY29sdW1ucyB7XG4gICAgICAgICRzdHI6ICRzdHIgKyBcIiwgPiAuI3skLXpmLXNpemV9LSN7JGl9XCJcbiAgICAgIH1cbiAgICAgICN7JHN0cn0ge1xuICAgICAgICBmbGV4LWJhc2lzOiBhdXRvO1xuICAgICAgfVxuICAgIH1cblxuICAgIEBpbmNsdWRlIC16Zi1lYWNoLWJyZWFrcG9pbnQoKSB7XG4gICAgICBAaWYgbm90KCQtemYtc2l6ZSA9PSBzbWFsbCkge1xuICAgICAgICA+IC4jeyQtemYtc2l6ZX0tYXV0byB7XG4gICAgICAgICAgQGluY2x1ZGUgeHktY2VsbC1iYXNlKGF1dG8pO1xuICAgICAgICAgIEBpbmNsdWRlIHh5LWNlbGwtc3RhdGljKGF1dG8sIGZhbHNlLCAkYnJlYWtwb2ludDogJC16Zi1zaXplLCAkdmVydGljYWw6IHRydWUpO1xuICAgICAgICB9XG5cbiAgICAgICAgPiAuI3skLXpmLXNpemV9LXNocmluayB7XG4gICAgICAgICAgQGluY2x1ZGUgeHktY2VsbC1zdGF0aWMoc2hyaW5rLCBmYWxzZSwgJGJyZWFrcG9pbnQ6ICQtemYtc2l6ZSwgJHZlcnRpY2FsOiB0cnVlKTtcbiAgICAgICAgfVxuXG4gICAgICB9XG5cbiAgICAgIEBmb3IgJGkgZnJvbSAxIHRocm91Z2ggJGdyaWQtY29sdW1ucyB7XG4gICAgICAgIC8vIFNpemluZyAocGVyY2VudGFnZSlcbiAgICAgICAgPiAuI3skLXpmLXNpemV9LSN7JGl9IHtcbiAgICAgICAgICBAaW5jbHVkZSB4eS1jZWxsLXN0YXRpYygkaSwgZmFsc2UsICR2ZXJ0aWNhbDogdHJ1ZSwgJGd1dHRlci10eXBlOiBwYWRkaW5nKTtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgfVxuICB9XG5cbiAgQGlmICRwYWRkaW5nLWdyaWQge1xuICAgIC5ncmlkLXBhZGRpbmcteSB7XG4gICAgICAvLyBOZWdhdGl2ZSBtYXJnaW4gZm9yIG5lc3RlZCBncmlkc1xuICAgICAgLmdyaWQtcGFkZGluZy15IHtcbiAgICAgICAgQGluY2x1ZGUgeHktZ3V0dGVycygkbmVnYXRpdmU6IHRydWUsICRndXR0ZXItcG9zaXRpb246IHRvcCBib3R0b20pO1xuICAgICAgfVxuXG4gICAgICAvLyBCYXNlIGNlbGwgc3R5bGVzXG4gICAgICA+IC5jZWxsIHtcbiAgICAgICAgQGluY2x1ZGUgeHktZ3V0dGVycygkZ3V0dGVyczogJGdyaWQtcGFkZGluZy1ndXR0ZXJzLCAkZ3V0dGVyLXR5cGU6IHBhZGRpbmcsICRndXR0ZXItcG9zaXRpb246IHRvcCBib3R0b20pO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIEBpZiAkbWFyZ2luLWdyaWQge1xuICAgIEBpbmNsdWRlIHh5LW1hcmdpbi1ncmlkLWNsYXNzZXModG9wIGJvdHRvbSwgdHJ1ZSwgJy5ncmlkLW1hcmdpbi15Jyk7XG4gIH1cblxufVxuXG5AbWl4aW4geHktZnJhbWUtZ3JpZC1jbGFzc2VzKCR2ZXJ0aWNhbC1ncmlkOiB0cnVlLCAkbWFyZ2luLWdyaWQ6IHRydWUpIHtcbiAgLy8gRnJhbWVkIGdyaWQgc3R5bGVzXG4gIC5ncmlkLWZyYW1lIHtcbiAgICBAaW5jbHVkZSB4eS1ncmlkLWZyYW1lO1xuICB9XG5cbiAgLmNlbGwgLmdyaWQtZnJhbWUge1xuICAgIHdpZHRoOiAxMDAlOyAvLyBTYW1lIGFzIGluY2x1ZGUgd2l0aCAkbmVzdGVkLCBidXQgd2l0aCBsZXNzIGNzc1xuICB9XG5cbiAgLmNlbGwtYmxvY2sge1xuICAgIEBpbmNsdWRlIHh5LWNlbGwtYmxvY2soKTtcbiAgfVxuXG4gIC5jZWxsLWJsb2NrLXkge1xuICAgIEBpbmNsdWRlIHh5LWNlbGwtYmxvY2sodHJ1ZSk7XG4gIH1cblxuXG4gIC5jZWxsLWJsb2NrLWNvbnRhaW5lciB7XG4gICAgQGluY2x1ZGUgeHktY2VsbC1ibG9jay1jb250YWluZXIoKTtcbiAgfVxuXG5cbiAgQGluY2x1ZGUgLXpmLWVhY2gtYnJlYWtwb2ludChmYWxzZSkge1xuXG4gICAgLiN7JC16Zi1zaXplfS1ncmlkLWZyYW1lIHtcbiAgICAgIEBpbmNsdWRlIHh5LWdyaWQtZnJhbWU7XG4gICAgfVxuXG4gICAgLmNlbGwgLiN7JC16Zi1zaXplfS1ncmlkLWZyYW1lIHtcbiAgICAgIHdpZHRoOiAxMDAlOyAvLyBTYW1lIGFzIGluY2x1ZGUgd2l0aCAkbmVzdGVkLCBidXQgd2l0aCBsZXNzIGNzc1xuICAgIH1cblxuICAgIC4jeyQtemYtc2l6ZX0tY2VsbC1ibG9jayB7XG4gICAgICBAaW5jbHVkZSB4eS1jZWxsLWJsb2NrKCk7XG4gICAgfVxuXG4gICAgLiN7JC16Zi1zaXplfS1jZWxsLWJsb2NrLWNvbnRhaW5lciB7XG4gICAgICBAaW5jbHVkZSB4eS1jZWxsLWJsb2NrLWNvbnRhaW5lcigpO1xuICAgIH1cblxuICAgIC4jeyQtemYtc2l6ZX0tY2VsbC1ibG9jay15IHtcbiAgICAgIEBpbmNsdWRlIHh5LWNlbGwtYmxvY2sodHJ1ZSk7XG4gICAgfVxuICB9XG5cbiAgQGlmICR2ZXJ0aWNhbC1ncmlkIHtcbiAgICAuZ3JpZC15IHtcbiAgICAgICYuZ3JpZC1mcmFtZSB7XG4gICAgICAgIHdpZHRoOiBhdXRvO1xuICAgICAgICBAaW5jbHVkZSB4eS1ncmlkLWZyYW1lKHRydWUpO1xuICAgICAgfVxuXG4gICAgICBAaW5jbHVkZSAtemYtZWFjaC1icmVha3BvaW50KGZhbHNlKSB7XG4gICAgICAgICYuI3skLXpmLXNpemV9LWdyaWQtZnJhbWUge1xuICAgICAgICAgIHdpZHRoOiBhdXRvO1xuICAgICAgICAgIEBpbmNsdWRlIHh5LWdyaWQtZnJhbWUodHJ1ZSk7XG4gICAgICAgIH1cblxuICAgICAgfVxuICAgIH1cbiAgICAuY2VsbCB7XG4gICAgICAuZ3JpZC15LmdyaWQtZnJhbWUge1xuICAgICAgICBoZWlnaHQ6IDEwMCU7IC8vIFNhbWUgYXMgaW5jbHVkZSB3aXRoICRuZXN0ZWQsIGJ1dCB3aXRoIGxlc3MgY3NzXG4gICAgICB9XG4gICAgICBAaW5jbHVkZSAtemYtZWFjaC1icmVha3BvaW50KGZhbHNlKSB7XG4gICAgICAgIC5ncmlkLXkuI3skLXpmLXNpemV9LWdyaWQtZnJhbWUge1xuICAgICAgICAgIGhlaWdodDogMTAwJTsgLy8gU2FtZSBhcyBpbmNsdWRlIHdpdGggJG5lc3RlZCwgYnV0IHdpdGggbGVzcyBjc3NcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuICBAaWYgJG1hcmdpbi1ncmlkIHtcbiAgICBAaW5jbHVkZSB4eS1tYXJnaW4tZ3JpZC1jbGFzc2VzKHRvcCBib3R0b20sIHRydWUsICcuZ3JpZC1tYXJnaW4teScpO1xuICAgIC5ncmlkLWZyYW1lLmdyaWQtbWFyZ2luLXkge1xuICAgICAgQGluY2x1ZGUgeHktZ3JpZC1mcmFtZSh0cnVlLCBmYWxzZSwgJGdyaWQtbWFyZ2luLWd1dHRlcnMsICRpbmNsdWRlLWJhc2U6IGZhbHNlKTtcbiAgICB9XG4gICAgQGluY2x1ZGUgLXpmLWVhY2gtYnJlYWtwb2ludChmYWxzZSkge1xuICAgICAgLmdyaWQtbWFyZ2luLXkuI3skLXpmLXNpemV9LWdyaWQtZnJhbWUge1xuICAgICAgICBAaW5jbHVkZSB4eS1ncmlkLWZyYW1lKHRydWUsIGZhbHNlLCAkZ3JpZC1tYXJnaW4tZ3V0dGVycywgJC16Zi1zaXplLCBmYWxzZSk7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbi8vIEZpbmFsIGNsYXNzZXNcbkBtaXhpbiBmb3VuZGF0aW9uLXh5LWdyaWQtY2xhc3NlcyhcbiAgJGJhc2UtZ3JpZDogdHJ1ZSxcbiAgJG1hcmdpbi1ncmlkOiB0cnVlLFxuICAkcGFkZGluZy1ncmlkOiB0cnVlLFxuICAkYmxvY2stZ3JpZDogdHJ1ZSxcbiAgJGNvbGxhcHNlOiB0cnVlLFxuICAkb2Zmc2V0OiB0cnVlLFxuICAkdmVydGljYWwtZ3JpZDogdHJ1ZSxcbiAgJGZyYW1lLWdyaWQ6IHRydWVcbikge1xuXG4gIC8vIEJhc2UgZ3JpZCBzdHlsZXNcbiAgQGlmKCRiYXNlLWdyaWQpIHtcbiAgICBAaW5jbHVkZSB4eS1iYXNlLWdyaWQtY2xhc3NlcygpO1xuICB9XG5cbiAgLy8gTWFyZ2luIGdyaWRcbiAgQGlmKCRtYXJnaW4tZ3JpZCkge1xuICAgIEBpbmNsdWRlIHh5LW1hcmdpbi1ncmlkLWNsYXNzZXMoKTtcbiAgfVxuXG4gIC8vIFBhZGRpbmcgZ3JpZFxuICBAaWYoJHBhZGRpbmctZ3JpZCkge1xuICAgIEBpbmNsdWRlIHh5LXBhZGRpbmctZ3JpZC1jbGFzc2VzKCk7XG4gIH1cblxuICAvLyBCbG9jayBncmlkXG4gIEBpZigkYmxvY2stZ3JpZCkge1xuICAgIEBpbmNsdWRlIHh5LWJsb2NrLWdyaWQtY2xhc3NlcygkbWFyZ2luLWdyaWQsICRwYWRkaW5nLWdyaWQpO1xuICB9XG5cbiAgLy8gQ29sbGFwc2UgZ3V0dGVyc1xuICBAaWYoJGNvbGxhcHNlKSB7XG4gICAgQGluY2x1ZGUgeHktY29sbGFwc2UtZ3JpZC1jbGFzc2VzKCRtYXJnaW4tZ3JpZCwgJHBhZGRpbmctZ3JpZCk7XG4gIH1cblxuICAvLyBPZmZzZXQgZ3V0dGVyc1xuICBAaWYoJG9mZnNldCkge1xuICAgIEBpbmNsdWRlIHh5LW9mZnNldC1jZWxsLWNsYXNzZXMoKTtcbiAgfVxuXG4gIC8vIFZlcnRpY2FsIGdyaWRcbiAgQGlmKCR2ZXJ0aWNhbC1ncmlkKSB7XG4gICAgQGluY2x1ZGUgeHktdmVydGljYWwtZ3JpZC1jbGFzc2VzKCRtYXJnaW4tZ3JpZCwgJHBhZGRpbmctZ3JpZCk7XG4gIH1cblxuICBAaWYgKCRmcmFtZS1ncmlkKSB7XG4gICAgQGluY2x1ZGUgeHktZnJhbWUtZ3JpZC1jbGFzc2VzKCR2ZXJ0aWNhbC1ncmlkLCAkbWFyZ2luLWdyaWQpXG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIHR5cG9ncmFwaHlcbi8vLy9cblxuLy8gQmFzZSB0eXBvZ3JhcGh5IHN0eWxlcyAodGFncyBvbmx5KVxuQGltcG9ydCAnYmFzZSc7XG5cbi8vIFR5cG9ncmFwaHkgaGVscGVyIGNsYXNzZXMgKGNsYXNzZXMgb25seSlcbkBpbXBvcnQgJ2hlbHBlcnMnO1xuXG4vLyBUZXh0IGFsaWdubWVudCBjbGFzc2VzXG5AaW1wb3J0ICdhbGlnbm1lbnQnO1xuXG4vLyBQcmludCBzdHlsZXNcbkBpbXBvcnQgJ3ByaW50JztcblxuQG1peGluIGZvdW5kYXRpb24tdHlwb2dyYXBoeSB7XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tdHlwb2dyYXBoeS1iYXNlO1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLXR5cG9ncmFwaHktaGVscGVycztcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi10ZXh0LWFsaWdubWVudDtcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1wcmludC1zdHlsZXM7XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCB0eXBvZ3JhcGh5LWJhc2Vcbi8vLy9cblxuLy8gQmFzZSBUeXBvZ3JhcGh5XG4vLyAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLVxuLy8gVGhlc2UgYXJlIHN0eWxlcyBhcHBsaWVkIHRvIGJhc2ljIEhUTUwgdGFncywgaW5jbHVkaW5nOlxuLy8gICAtIFBhcmFncmFwaHMgPHA+XG4vLyAgIC0gQm9sZC9pdGFsaWNzIDxiPiA8c3Ryb25nPiA8aT4gPGVtPlxuLy8gICAtIFNtYWxsIHRleHQgPHNtYWxsPlxuLy8gICAtIEhlYWRpbmdzIDxoMT4tPGg2PlxuLy8gICAtIEFuY2hvcnMgPGE+XG4vLyAgIC0gRGl2aWRlcnMgPGhyPlxuLy8gICAtIExpc3RzIDx1bD4gPG9sPiA8ZGw+XG4vLyAgIC0gQmxvY2txdW90ZXMgPGJsb2NrcXVvdGU+XG4vLyAgIC0gQ29kZSBibG9ja3MgPGNvZGU+XG4vLyAgIC0gQWJicmV2aWF0aW9ucyA8YWJicj5cbi8vICAgLSBDaXRhdGlvbnMgPGNpdGU+XG4vLyAgIC0gS2V5c3Ryb2tlcyA8a2JkPlxuXG4vLy8gRm9udCBmYW1pbHkgZm9yIGhlYWRlciBlbGVtZW50cy5cbi8vLyBAdHlwZSBTdHJpbmcgfCBMaXN0XG4kaGVhZGVyLWZvbnQtZmFtaWx5OiAkYm9keS1mb250LWZhbWlseSAhZGVmYXVsdDtcblxuLy8vIEZvbnQgd2VpZ2h0IG9mIGhlYWRlcnMuXG4vLy8gQHR5cGUgU3RyaW5nXG4kaGVhZGVyLWZvbnQtd2VpZ2h0OiAkZ2xvYmFsLXdlaWdodC1ub3JtYWwgIWRlZmF1bHQ7XG5cbi8vLyBGb250IHN0eWxlIChlLmcuIGl0YWxpY2l6ZWQpIG9mIGhlYWRlcnMuXG4vLy8gQHR5cGUgU3RyaW5nXG4kaGVhZGVyLWZvbnQtc3R5bGU6IG5vcm1hbCAhZGVmYXVsdDtcblxuLy8vIEZvbnQgc3RhY2sgdXNlZCBmb3IgZWxlbWVudHMgdGhhdCB1c2UgbW9ub3NwYWNlZCB0eXBlLCBzdWNoIGFzIGNvZGUgc2FtcGxlc1xuLy8vIEB0eXBlIFN0cmluZyB8IExpc3RcbiRmb250LWZhbWlseS1tb25vc3BhY2U6IENvbnNvbGFzLCAnTGliZXJhdGlvbiBNb25vJywgQ291cmllciwgbW9ub3NwYWNlICFkZWZhdWx0O1xuXG4vLy8gQ29sb3Igb2YgaGVhZGVycy5cbi8vLyBAdHlwZSBDb2xvclxuJGhlYWRlci1jb2xvcjogaW5oZXJpdCAhZGVmYXVsdDtcblxuLy8vIExpbmUgaGVpZ2h0IG9mIGhlYWRlcnMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kaGVhZGVyLWxpbmVoZWlnaHQ6IDEuNCAhZGVmYXVsdDtcblxuLy8vIEJvdHRvbSBtYXJnaW4gb2YgaGVhZGVycy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRoZWFkZXItbWFyZ2luLWJvdHRvbTogMC41cmVtICFkZWZhdWx0O1xuXG4vLy8gU3R5bGVzIGZvciBoZWFkaW5ncyBhdCB2YXJpb3VzIHNjcmVlbiBzaXplcy4gRWFjaCBrZXkgaXMgYSBicmVha3BvaW50LCBhbmQgZWFjaCB2YWx1ZSBpcyBhIG1hcCBvZiBoZWFkaW5nIHN0eWxlcy5cbi8vLyBAdHlwZSBNYXBcbiRoZWFkZXItc3R5bGVzOiAoXG4gIHNtYWxsOiAoXG4gICAgJ2gxJzogKCdmb250LXNpemUnOiAyNCksXG4gICAgJ2gyJzogKCdmb250LXNpemUnOiAyMCksXG4gICAgJ2gzJzogKCdmb250LXNpemUnOiAxOSksXG4gICAgJ2g0JzogKCdmb250LXNpemUnOiAxOCksXG4gICAgJ2g1JzogKCdmb250LXNpemUnOiAxNyksXG4gICAgJ2g2JzogKCdmb250LXNpemUnOiAxNiksXG4gICksXG4gIG1lZGl1bTogKFxuICAgICdoMSc6ICgnZm9udC1zaXplJzogNDgpLFxuICAgICdoMic6ICgnZm9udC1zaXplJzogNDApLFxuICAgICdoMyc6ICgnZm9udC1zaXplJzogMzEpLFxuICAgICdoNCc6ICgnZm9udC1zaXplJzogMjUpLFxuICAgICdoNSc6ICgnZm9udC1zaXplJzogMjApLFxuICAgICdoNic6ICgnZm9udC1zaXplJzogMTYpLFxuICApLFxuKSAhZGVmYXVsdDtcblxuLy8gJGhlYWRlci1zdHlsZXMgbWFwIGlzIGJ1aWx0IGZyb20gJGhlYWRlci1zaXplcyBpbiBvcmRlciB0byBlbnN1cmUgZG93bndhcmQgY29tcGF0aWJpbGl0eVxuLy8gd2hlbiAkaGVhZGVyLXNpemVzIGlzIGRlcHJlY2lhdGVkLCAkaGVhZGVyLXN0eWxlcyBuZWVkcyB0byBnZXQgIWRlZmF1bHQgdmFsdWVzIGxpa2Ugc2V0dGluZ3Muc2Nzc1xuQGZ1bmN0aW9uIGJ1aWxkX2Zyb21faGVhZGVyLXNpemVzKCRoZWFkZXItc2l6ZXMpIHtcbiAgQHdhcm4gJ05vdGUsIHRoYXQgJGhlYWRlci1zaXplcyBoYXMgYmVlbiByZXBsYWNlZCB3aXRoICRoZWFkZXItc3R5bGVzLiAkaGVhZGVyLXNpemVzIHN0aWxsIHdvcmtzLCBidXQgaXQgaXMgZ29pbmcgdG8gYmUgZGVwcmVjaWF0ZWQuJztcbiAgJGhlYWRlci1zdHlsZXM6ICgpO1xuICBAZWFjaCAkc2l6ZSwgJGhlYWRlcnMgaW4gJGhlYWRlci1zaXplcyB7XG4gICAgJGhlYWRlci1tYXA6ICgpO1xuICAgIEBlYWNoICRoZWFkZXIsICRmb250LXNpemUgaW4gJGhlYWRlcnMge1xuICAgICAgJGhlYWRlci1tYXA6IG1hcC1tZXJnZSgkaGVhZGVyLW1hcCwgKCRoZWFkZXI6ICgnZm9udC1zaXplJzogJGZvbnQtc2l6ZSkpKTsgIFxuICAgIH1cbiAgICAkaGVhZGVyLXN0eWxlczogbWFwLW1lcmdlKCRoZWFkZXItc3R5bGVzLCAoJHNpemU6ICRoZWFkZXItbWFwKSk7XG4gIH1cbiAgQHJldHVybiAkaGVhZGVyLXN0eWxlcztcbn1cblxuLy8gSWYgaXQgZXhpc3RzICRoZWFkZXJzLXNpemVzIGlzIHVzZWQgdG8gYnVpbGQgJGhlYWRlci1zdHlsZXMuIFNlZSB0aGUgZG9jdW1lbnRhdGlvbi5cbkBpZiB2YXJpYWJsZS1leGlzdHMoaGVhZGVyLXNpemVzKSB7XG4gICRoZWFkZXItc3R5bGVzOiBidWlsZF9mcm9tX2hlYWRlci1zaXplcygkaGVhZGVyLXNpemVzKTtcbn1cblxuLy8vIFRleHQgcmVuZGVyaW5nIG1ldGhvZCBvZiBoZWFkZXJzLlxuLy8vIEB0eXBlIFN0cmluZ1xuJGhlYWRlci10ZXh0LXJlbmRlcmluZzogb3B0aW1pemVMZWdpYmlsaXR5ICFkZWZhdWx0O1xuXG4vLy8gRm9udCBzaXplIG9mIGA8c21hbGw+YCBlbGVtZW50cy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRzbWFsbC1mb250LXNpemU6IDgwJSAhZGVmYXVsdDtcblxuLy8vIENvbG9yIG9mIGA8c21hbGw+YCBlbGVtZW50cyB3aGVuIHBsYWNlZCBpbnNpZGUgaGVhZGVycy5cbi8vLyBAdHlwZSBDb2xvclxuJGhlYWRlci1zbWFsbC1mb250LWNvbG9yOiAkbWVkaXVtLWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBMaW5lIGhlaWdodCBvZiB0ZXh0IGluc2lkZSBgPHA+YCBlbGVtZW50cy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRwYXJhZ3JhcGgtbGluZWhlaWdodDogMS42ICFkZWZhdWx0O1xuXG4vLy8gQm90dG9tIG1hcmdpbiBvZiBwYXJhZ3JhcGhzLlxuLy8vIEB0eXBlIE51bWJlclxuJHBhcmFncmFwaC1tYXJnaW4tYm90dG9tOiAxcmVtICFkZWZhdWx0O1xuXG4vLy8gVGV4dCByZW5kZXJpbmcgbWV0aG9kIGZvciBwYXJhZ3JhcGggdGV4dC5cbi8vLyBAdHlwZSBTdHJpbmdcbiRwYXJhZ3JhcGgtdGV4dC1yZW5kZXJpbmc6IG9wdGltaXplTGVnaWJpbGl0eSAhZGVmYXVsdDtcblxuLy8vIFRleHQgY29sb3Igb2YgY29kZSBzYW1wbGVzLlxuLy8vIEB0eXBlIENvbG9yXG4kY29kZS1jb2xvcjogJGJsYWNrICFkZWZhdWx0O1xuXG4vLy8gRm9udCBmYW1pbHkgb2YgY29kZSBzYW1wbGVzLlxuLy8vIEB0eXBlIFN0cmluZyB8IExpc3RcbiRjb2RlLWZvbnQtZmFtaWx5OiAkZm9udC1mYW1pbHktbW9ub3NwYWNlICFkZWZhdWx0O1xuXG4vLy8gRm9udCB3ZWlnaHQgb2YgdGV4dCBpbiBjb2RlIHNhbXBsZXMuXG4vLy8gQHR5cGUgU3RyaW5nXG4kY29kZS1mb250LXdlaWdodDogJGdsb2JhbC13ZWlnaHQtbm9ybWFsICFkZWZhdWx0O1xuXG4vLy8gQmFja2dyb3VuZCBjb2xvciBvZiBjb2RlIHNhbXBsZXMuXG4vLy8gQHR5cGUgQ29sb3JcbiRjb2RlLWJhY2tncm91bmQ6ICRsaWdodC1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gQm9yZGVyIGFyb3VuZCBjb2RlIHNhbXBsZXMuXG4vLy8gQHR5cGUgTGlzdFxuJGNvZGUtYm9yZGVyOiAxcHggc29saWQgJG1lZGl1bS1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gUGFkZGluZyBhcm91bmQgdGV4dCBvZiBjb2RlIHNhbXBsZXMuXG4vLy8gQHR5cGUgTnVtYmVyIHwgTGlzdFxuJGNvZGUtcGFkZGluZzogcmVtLWNhbGMoMiA1IDEpICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBjb2xvciBmb3IgbGlua3MuXG4vLy8gQHR5cGUgQ29sb3JcbiRhbmNob3ItY29sb3I6ICRwcmltYXJ5LWNvbG9yICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBjb2xvciBmb3IgbGlua3Mgb24gaG92ZXIuXG4vLy8gQHR5cGUgQ29sb3JcbiRhbmNob3ItY29sb3ItaG92ZXI6IHNjYWxlLWNvbG9yKCRhbmNob3ItY29sb3IsICRsaWdodG5lc3M6IC0xNCUpICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCB0ZXh0IGRlY29yYXRpb24gZm9yIGxpbmtzLlxuLy8vIEB0eXBlIFN0cmluZ1xuJGFuY2hvci10ZXh0LWRlY29yYXRpb246IG5vbmUgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHRleHQgZGVjb3JhdGlvbiBmb3IgbGlua3Mgb24gaG92ZXIuXG4vLy8gQHR5cGUgU3RyaW5nXG4kYW5jaG9yLXRleHQtZGVjb3JhdGlvbi1ob3Zlcjogbm9uZSAhZGVmYXVsdDtcblxuLy8vIE1heGltdW0gd2lkdGggb2YgYSBkaXZpZGVyLlxuLy8vIEB0eXBlIE51bWJlclxuJGhyLXdpZHRoOiAkZ2xvYmFsLXdpZHRoICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBib3JkZXIgZm9yIGEgZGl2aWRlci5cbi8vLyBAdHlwZSBMaXN0XG4kaHItYm9yZGVyOiAxcHggc29saWQgJG1lZGl1bS1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBtYXJnaW4gZm9yIGEgZGl2aWRlci5cbi8vLyBAdHlwZSBOdW1iZXIgfCBMaXN0XG4kaHItbWFyZ2luOiByZW0tY2FsYygyMCkgYXV0byAhZGVmYXVsdDtcblxuLy8vIExpbmUgaGVpZ2h0IGZvciBpdGVtcyBpbiBhIGxpc3QuXG4vLy8gQHR5cGUgTnVtYmVyXG4kbGlzdC1saW5laGVpZ2h0OiAkcGFyYWdyYXBoLWxpbmVoZWlnaHQgIWRlZmF1bHQ7XG5cbi8vLyBCb3R0b20gbWFyZ2luIGZvciBpdGVtcyBpbiBhIGxpc3QuXG4vLy8gQHR5cGUgTnVtYmVyXG4kbGlzdC1tYXJnaW4tYm90dG9tOiAkcGFyYWdyYXBoLW1hcmdpbi1ib3R0b20gIWRlZmF1bHQ7XG5cbi8vLyBCdWxsZXQgdHlwZSB0byB1c2UgZm9yIHVub3JkZXJlZCBsaXN0cyAoZS5nLiwgYHNxdWFyZWAsIGBjaXJjbGVgLCBgZGlzY2ApLlxuLy8vIEB0eXBlIFN0cmluZ1xuJGxpc3Qtc3R5bGUtdHlwZTogZGlzYyAhZGVmYXVsdDtcblxuLy8vIFBvc2l0aW9uaW5nIGZvciBidWxsZXRzIG9uIHVub3JkZXJlZCBsaXN0IGl0ZW1zLlxuLy8vIEB0eXBlIFN0cmluZ1xuJGxpc3Qtc3R5bGUtcG9zaXRpb246IG91dHNpZGUgIWRlZmF1bHQ7XG5cbi8vLyBMZWZ0IChvciByaWdodCkgbWFyZ2luIGZvciBsaXN0cy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRsaXN0LXNpZGUtbWFyZ2luOiAxLjI1cmVtICFkZWZhdWx0O1xuXG4vLy8gTGVmdCAob3IgcmlnaHQpIG1hcmdpbiBmb3IgYSBsaXN0IGluc2lkZSBhIGxpc3QuXG4vLy8gQHR5cGUgTnVtYmVyXG4kbGlzdC1uZXN0ZWQtc2lkZS1tYXJnaW46IDEuMjVyZW0gIWRlZmF1bHQ7XG5cbi8vLyBCb3R0b20gbWFyZ2luIGZvciBgPGRsPmAgZWxlbWVudHMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kZGVmbmxpc3QtbWFyZ2luLWJvdHRvbTogMXJlbSAhZGVmYXVsdDtcblxuLy8vIEZvbnQgd2VpZ2h0IGZvciBgPGR0PmAgZWxlbWVudHMuXG4vLy8gQHR5cGUgU3RyaW5nXG4kZGVmbmxpc3QtdGVybS13ZWlnaHQ6ICRnbG9iYWwtd2VpZ2h0LWJvbGQgIWRlZmF1bHQ7XG5cbi8vLyBTcGFjaW5nIGJldHdlZW4gYDxkdD5gIGFuZCBgPGRkPmAgZWxlbWVudHMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kZGVmbmxpc3QtdGVybS1tYXJnaW4tYm90dG9tOiAwLjNyZW0gIWRlZmF1bHQ7XG5cbi8vLyBUZXh0IGNvbG9yIG9mIGA8YmxvY2txdW90ZT5gIGVsZW1lbnRzLlxuLy8vIEB0eXBlIENvbG9yXG4kYmxvY2txdW90ZS1jb2xvcjogJGRhcmstZ3JheSAhZGVmYXVsdDtcblxuLy8vIFBhZGRpbmcgaW5zaWRlIGEgYDxibG9ja3F1b3RlPmAgZWxlbWVudC5cbi8vLyBAdHlwZSBOdW1iZXIgfCBMaXN0XG4kYmxvY2txdW90ZS1wYWRkaW5nOiByZW0tY2FsYyg5IDIwIDAgMTkpICFkZWZhdWx0O1xuXG4vLy8gU2lkZSBib3JkZXIgZm9yIGA8YmxvY2txdW90ZT5gIGVsZW1lbnRzLlxuLy8vIEB0eXBlIExpc3RcbiRibG9ja3F1b3RlLWJvcmRlcjogMXB4IHNvbGlkICRtZWRpdW0tZ3JheSAhZGVmYXVsdDtcblxuLy8vIEZvbnQgc2l6ZSBmb3IgYDxjaXRlPmAgZWxlbWVudHMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kY2l0ZS1mb250LXNpemU6IHJlbS1jYWxjKDEzKSAhZGVmYXVsdDtcblxuLy8vIFRleHQgY29sb3IgZm9yIGA8Y2l0ZT5gIGVsZW1lbnRzLlxuLy8vIEB0eXBlIENvbG9yXG4kY2l0ZS1jb2xvcjogJGRhcmstZ3JheSAhZGVmYXVsdDtcblxuLy8vIFBzZXVkbyBjb250ZW50IGZvciBgPGNpdGU+YCBlbGVtZW50cy5cbi8vLyBAdHlwZSBTdHJpbmdcbiRjaXRlLXBzZXVkby1jb250ZW50OiAnXFwyMDE0IFxcMDAyMCcgIWRlZmF1bHQ7XG5cbi8vLyBGb250IGZhbWlseSBmb3IgYDxrYmQ+YCBlbGVtZW50cy5cbi8vLyBAdHlwZSBTdHJpbmcgfCBMaXN0XG4ka2V5c3Ryb2tlLWZvbnQ6ICRmb250LWZhbWlseS1tb25vc3BhY2UgIWRlZmF1bHQ7XG5cbi8vLyBUZXh0IGNvbG9yIGZvciBgPGtiZD5gIGVsZW1lbnRzLlxuLy8vIEB0eXBlIENvbG9yXG4ka2V5c3Ryb2tlLWNvbG9yOiAkYmxhY2sgIWRlZmF1bHQ7XG5cbi8vLyBCYWNrZ3JvdW5kIGNvbG9yIGZvciBgPGtiZD5gIGVsZW1lbnRzLlxuLy8vIEB0eXBlIENvbG9yXG4ka2V5c3Ryb2tlLWJhY2tncm91bmQ6ICRsaWdodC1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gUGFkZGluZyBmb3IgYDxrYmQ+YCBlbGVtZW50cy5cbi8vLyBAdHlwZSBOdW1iZXIgfCBMaXN0XG4ka2V5c3Ryb2tlLXBhZGRpbmc6IHJlbS1jYWxjKDIgNCAwKSAhZGVmYXVsdDtcblxuLy8vIEJvcmRlciByYWRpdXMgZm9yIGA8a2JkPmAgZWxlbWVudHMuXG4vLy8gQHR5cGUgTnVtYmVyIHwgTGlzdFxuJGtleXN0cm9rZS1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzICFkZWZhdWx0O1xuXG4vLy8gQm90dG9tIGJvcmRlciBzdHlsZSBmb3IgYDxhYmJyPmAgZWxlbWVudHMuXG4vLy8gQHR5cGUgTGlzdFxuJGFiYnItdW5kZXJsaW5lOiAxcHggZG90dGVkICRibGFjayAhZGVmYXVsdDtcblxuQG1peGluIGZvdW5kYXRpb24tdHlwb2dyYXBoeS1iYXNlIHtcbiAgLy8gVHlwb2dyYXBoeSByZXNldHNcbiAgZGl2LFxuICBkbCxcbiAgZHQsXG4gIGRkLFxuICB1bCxcbiAgb2wsXG4gIGxpLFxuICBoMSxcbiAgaDIsXG4gIGgzLFxuICBoNCxcbiAgaDUsXG4gIGg2LFxuICBwcmUsXG4gIGZvcm0sXG4gIHAsXG4gIGJsb2NrcXVvdGUsXG4gIHRoLFxuICB0ZCB7XG4gICAgbWFyZ2luOiAwO1xuICAgIHBhZGRpbmc6IDA7XG4gIH1cblxuICAvLyBQYXJhZ3JhcGhzXG4gIHAge1xuICAgIG1hcmdpbi1ib3R0b206ICRwYXJhZ3JhcGgtbWFyZ2luLWJvdHRvbTtcblxuICAgIGZvbnQtc2l6ZTogaW5oZXJpdDtcbiAgICBsaW5lLWhlaWdodDogJHBhcmFncmFwaC1saW5laGVpZ2h0O1xuICAgIHRleHQtcmVuZGVyaW5nOiAkcGFyYWdyYXBoLXRleHQtcmVuZGVyaW5nO1xuICB9XG5cbiAgLy8gRW1waGFzaXplZCB0ZXh0XG4gIGVtLFxuICBpIHtcbiAgICBmb250LXN0eWxlOiBpdGFsaWM7XG4gICAgbGluZS1oZWlnaHQ6IGluaGVyaXQ7XG4gIH1cblxuICAvLyBTdHJvbmcgdGV4dFxuICBzdHJvbmcsXG4gIGIge1xuICAgIGZvbnQtd2VpZ2h0OiAkZ2xvYmFsLXdlaWdodC1ib2xkO1xuICAgIGxpbmUtaGVpZ2h0OiBpbmhlcml0O1xuICB9XG5cbiAgLy8gU21hbGwgdGV4dFxuICBzbWFsbCB7XG4gICAgZm9udC1zaXplOiAkc21hbGwtZm9udC1zaXplO1xuICAgIGxpbmUtaGVpZ2h0OiBpbmhlcml0O1xuICB9XG5cbiAgLy8gSGVhZGluZ3NcbiAgaDEsIC5oMSxcbiAgaDIsIC5oMixcbiAgaDMsIC5oMyxcbiAgaDQsIC5oNCxcbiAgaDUsIC5oNSxcbiAgaDYsIC5oNiB7XG4gICAgZm9udC1mYW1pbHk6ICRoZWFkZXItZm9udC1mYW1pbHk7XG4gICAgZm9udC1zdHlsZTogJGhlYWRlci1mb250LXN0eWxlO1xuICAgIGZvbnQtd2VpZ2h0OiAkaGVhZGVyLWZvbnQtd2VpZ2h0O1xuICAgIGNvbG9yOiAkaGVhZGVyLWNvbG9yO1xuICAgIHRleHQtcmVuZGVyaW5nOiAkaGVhZGVyLXRleHQtcmVuZGVyaW5nO1xuXG4gICAgc21hbGwge1xuICAgICAgbGluZS1oZWlnaHQ6IDA7XG4gICAgICBjb2xvcjogJGhlYWRlci1zbWFsbC1mb250LWNvbG9yO1xuICAgIH1cbiAgfVxuXG4gIC8vIEhlYWRpbmcgc3R5bGVzXG4gIEBlYWNoICRzaXplLCAkaGVhZGVycyBpbiAkaGVhZGVyLXN0eWxlcyB7XG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkc2l6ZSkge1xuICAgICAgQGVhY2ggJGhlYWRlciwgJGhlYWRlci1kZWZzIGluICRoZWFkZXJzIHtcbiAgICAgICAgJGZvbnQtc2l6ZS10ZW1wOiAxcmVtO1xuICAgICAgICAjeyRoZWFkZXJ9LCAuI3skaGVhZGVyfSB7XG5cbiAgICAgICAgICBAaWYgbWFwLWhhcy1rZXkoJGhlYWRlci1kZWZzLCBmb250LXNpemUpIHtcbiAgICAgICAgICAgICRmb250LXNpemUtdGVtcDogcmVtLWNhbGMobWFwLWdldCgkaGVhZGVyLWRlZnMsIGZvbnQtc2l6ZSkpO1xuICAgICAgICAgICAgZm9udC1zaXplOiAkZm9udC1zaXplLXRlbXA7XG4gICAgICAgICAgfSBAZWxzZSBpZiBtYXAtaGFzLWtleSgkaGVhZGVyLWRlZnMsIGZzKSB7XG4gICAgICAgICAgICAkZm9udC1zaXplLXRlbXA6IHJlbS1jYWxjKG1hcC1nZXQoJGhlYWRlci1kZWZzLCBmcykpO1xuICAgICAgICAgICAgZm9udC1zaXplOiAkZm9udC1zaXplLXRlbXA7XG4gICAgICAgICAgfSBAZWxzZSBpZiAkc2l6ZSA9PSAkLXpmLXplcm8tYnJlYWtwb2ludCB7XG4gICAgICAgICAgICBmb250LXNpemU6ICRmb250LXNpemUtdGVtcDtcbiAgICAgICAgICB9XG4gICAgICAgICAgQGlmIG1hcC1oYXMta2V5KCRoZWFkZXItZGVmcywgbGluZS1oZWlnaHQpIHtcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiB1bml0bGVzcy1jYWxjKG1hcC1nZXQoJGhlYWRlci1kZWZzLCBsaW5lLWhlaWdodCksICRmb250LXNpemUtdGVtcCk7XG4gICAgICAgICAgfSBAZWxzZSBpZiBtYXAtaGFzLWtleSgkaGVhZGVyLWRlZnMsIGxoKSB7XG4gICAgICAgICAgICBsaW5lLWhlaWdodDogdW5pdGxlc3MtY2FsYyhtYXAtZ2V0KCRoZWFkZXItZGVmcywgbGgpLCAkZm9udC1zaXplLXRlbXApO1xuICAgICAgICAgIH0gQGVsc2UgaWYgJHNpemUgPT0gJC16Zi16ZXJvLWJyZWFrcG9pbnQge1xuICAgICAgICAgICAgbGluZS1oZWlnaHQ6IHVuaXRsZXNzLWNhbGMoJGhlYWRlci1saW5laGVpZ2h0LCAkZm9udC1zaXplLXRlbXApO1xuICAgICAgICAgIH1cblxuICAgICAgICAgIEBpZiBtYXAtaGFzLWtleSgkaGVhZGVyLWRlZnMsIG1hcmdpbi10b3ApIHtcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IHJlbS1jYWxjKG1hcC1nZXQoJGhlYWRlci1kZWZzLCBtYXJnaW4tdG9wKSk7XG4gICAgICAgICAgfSBAZWxzZSBpZiBtYXAtaGFzLWtleSgkaGVhZGVyLWRlZnMsIG10KSB7XG4gICAgICAgICAgICBtYXJnaW4tdG9wOiByZW0tY2FsYyhtYXAtZ2V0KCRoZWFkZXItZGVmcywgbXQpKTtcbiAgICAgICAgICB9IEBlbHNlIGlmICRzaXplID09ICQtemYtemVyby1icmVha3BvaW50IHtcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IDA7XG4gICAgICAgICAgfVxuICAgICAgICAgIEBpZiBtYXAtaGFzLWtleSgkaGVhZGVyLWRlZnMsIG1hcmdpbi1ib3R0b20pIHtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IHJlbS1jYWxjKG1hcC1nZXQoJGhlYWRlci1kZWZzLCBtYXJnaW4tYm90dG9tKSk7XG4gICAgICAgICAgfSBAZWxzZSBpZiBtYXAtaGFzLWtleSgkaGVhZGVyLWRlZnMsIG1iKSB7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiByZW0tY2FsYyhtYXAtZ2V0KCRoZWFkZXItZGVmcywgbWIpKTtcbiAgICAgICAgICB9IEBlbHNlIGlmICRzaXplID09ICQtemYtemVyby1icmVha3BvaW50IHtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IHJlbS1jYWxjKCRoZWFkZXItbWFyZ2luLWJvdHRvbSk7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLy8gTGlua3NcbiAgYSB7XG4gICAgbGluZS1oZWlnaHQ6IGluaGVyaXQ7XG4gICAgY29sb3I6ICRhbmNob3ItY29sb3I7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiAkYW5jaG9yLXRleHQtZGVjb3JhdGlvbjtcblxuICAgIGN1cnNvcjogcG9pbnRlcjtcblxuICAgICY6aG92ZXIsXG4gICAgJjpmb2N1cyB7XG4gICAgICBjb2xvcjogJGFuY2hvci1jb2xvci1ob3ZlcjtcbiAgICAgIEBpZiAkYW5jaG9yLXRleHQtZGVjb3JhdGlvbi1ob3ZlciAhPSAkYW5jaG9yLXRleHQtZGVjb3JhdGlvbiB7XG4gICAgICAgIHRleHQtZGVjb3JhdGlvbjogJGFuY2hvci10ZXh0LWRlY29yYXRpb24taG92ZXI7XG4gICAgICB9XG4gICAgfVxuXG4gICAgaW1nIHtcbiAgICAgIGJvcmRlcjogMDtcbiAgICB9XG4gIH1cblxuICAvLyBIb3Jpem9udGFsIHJ1bGVcbiAgaHIge1xuICAgIGNsZWFyOiBib3RoO1xuXG4gICAgbWF4LXdpZHRoOiAkaHItd2lkdGg7XG4gICAgaGVpZ2h0OiAwO1xuICAgIG1hcmdpbjogJGhyLW1hcmdpbjtcblxuICAgIGJvcmRlci10b3A6IDA7XG4gICAgYm9yZGVyLXJpZ2h0OiAwO1xuICAgIGJvcmRlci1ib3R0b206ICRoci1ib3JkZXI7XG4gICAgYm9yZGVyLWxlZnQ6IDA7XG4gIH1cblxuICAvLyBMaXN0c1xuICB1bCxcbiAgb2wsXG4gIGRsIHtcbiAgICBtYXJnaW4tYm90dG9tOiAkbGlzdC1tYXJnaW4tYm90dG9tO1xuICAgIGxpc3Qtc3R5bGUtcG9zaXRpb246ICRsaXN0LXN0eWxlLXBvc2l0aW9uO1xuICAgIGxpbmUtaGVpZ2h0OiAkbGlzdC1saW5laGVpZ2h0O1xuICB9XG5cbiAgLy8gTGlzdCBpdGVtc1xuICBsaSB7XG4gICAgZm9udC1zaXplOiBpbmhlcml0O1xuICB9XG5cbiAgLy8gVW5vcmRlcmVkIGxpc3RzXG4gIHVsIHtcbiAgICBtYXJnaW4tI3skZ2xvYmFsLWxlZnR9OiAkbGlzdC1zaWRlLW1hcmdpbjtcbiAgICBsaXN0LXN0eWxlLXR5cGU6ICRsaXN0LXN0eWxlLXR5cGU7XG4gIH1cblxuICAvLyBPcmRlcmVkIGxpc3RzXG4gIG9sIHtcbiAgICBtYXJnaW4tI3skZ2xvYmFsLWxlZnR9OiAkbGlzdC1zaWRlLW1hcmdpbjtcbiAgfVxuXG4gIC8vIE5lc3RlZCB1bm9yZGVyZWQvb3JkZXJlZCBsaXN0c1xuICB1bCwgb2wge1xuICAgICYgJiB7XG4gICAgICBtYXJnaW4tI3skZ2xvYmFsLWxlZnR9OiAkbGlzdC1uZXN0ZWQtc2lkZS1tYXJnaW47XG4gICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgIH1cbiAgfVxuXG4gIC8vIERlZmluaXRpb24gbGlzdHNcbiAgZGwge1xuICAgIG1hcmdpbi1ib3R0b206ICRkZWZubGlzdC1tYXJnaW4tYm90dG9tO1xuXG4gICAgZHQge1xuICAgICAgbWFyZ2luLWJvdHRvbTogJGRlZm5saXN0LXRlcm0tbWFyZ2luLWJvdHRvbTtcbiAgICAgIGZvbnQtd2VpZ2h0OiAkZGVmbmxpc3QtdGVybS13ZWlnaHQ7XG4gICAgfVxuICB9XG5cbiAgLy8gQmxvY2txdW90ZXNcbiAgYmxvY2txdW90ZSB7XG4gICAgbWFyZ2luOiAwIDAgJHBhcmFncmFwaC1tYXJnaW4tYm90dG9tO1xuICAgIHBhZGRpbmc6ICRibG9ja3F1b3RlLXBhZGRpbmc7XG4gICAgYm9yZGVyLSN7JGdsb2JhbC1sZWZ0fTogJGJsb2NrcXVvdGUtYm9yZGVyO1xuXG4gICAgJiwgcCB7XG4gICAgICBsaW5lLWhlaWdodDogJHBhcmFncmFwaC1saW5laGVpZ2h0O1xuICAgICAgY29sb3I6ICRibG9ja3F1b3RlLWNvbG9yO1xuICAgIH1cbiAgfVxuXG4gIC8vIENpdGF0aW9uc1xuICBjaXRlIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBmb250LXNpemU6ICRjaXRlLWZvbnQtc2l6ZTtcbiAgICBjb2xvcjogJGNpdGUtY29sb3I7XG5cbiAgICAmOmJlZm9yZSB7XG4gICAgICBjb250ZW50OiAkY2l0ZS1wc2V1ZG8tY29udGVudDtcbiAgICB9XG4gIH1cblxuICAvLyBBYmJyZXZpYXRpb25zXG4gIGFiYnIsIGFiYnJbdGl0bGVdIHtcbiAgICBib3JkZXItYm90dG9tOiAkYWJici11bmRlcmxpbmU7XG4gICAgY3Vyc29yOiBoZWxwO1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgfVxuXG4gIC8vIEZpZ3VyZXNcbiAgZmlndXJlIHtcbiAgICBtYXJnaW46IDA7XG4gIH1cbiAgXG4gIC8vIENvZGVcbiAgY29kZSB7XG4gICAgcGFkZGluZzogJGNvZGUtcGFkZGluZztcblxuICAgIGJvcmRlcjogJGNvZGUtYm9yZGVyO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2RlLWJhY2tncm91bmQ7XG5cbiAgICBmb250LWZhbWlseTogJGNvZGUtZm9udC1mYW1pbHk7XG4gICAgZm9udC13ZWlnaHQ6ICRjb2RlLWZvbnQtd2VpZ2h0O1xuICAgIGNvbG9yOiAkY29kZS1jb2xvcjtcbiAgfVxuXG4gIC8vIEtleXN0cm9rZXNcbiAga2JkIHtcbiAgICBtYXJnaW46IDA7XG4gICAgcGFkZGluZzogJGtleXN0cm9rZS1wYWRkaW5nO1xuXG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGtleXN0cm9rZS1iYWNrZ3JvdW5kO1xuXG4gICAgZm9udC1mYW1pbHk6ICRrZXlzdHJva2UtZm9udDtcbiAgICBjb2xvcjogJGtleXN0cm9rZS1jb2xvcjtcblxuICAgIEBpZiBoYXMtdmFsdWUoJGtleXN0cm9rZS1yYWRpdXMpIHtcbiAgICAgIGJvcmRlci1yYWRpdXM6ICRrZXlzdHJva2UtcmFkaXVzO1xuICAgIH1cbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgdHlwb2dyYXBoeS1oZWxwZXJzXG4vLy8vXG5cbi8vLyBEZWZhdWx0IGZvbnQgc2l6ZSBmb3IgbGVhZCBwYXJhZ3JhcGhzLlxuLy8vIEB0eXBlIE51bWJlclxuJGxlYWQtZm9udC1zaXplOiAkZ2xvYmFsLWZvbnQtc2l6ZSAqIDEuMjUgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGxpbmUgaGVpZ2h0IGZvciBsZWFkIHBhcmFncmFwaHMuXG4vLy8gQHR5cGUgU3RyaW5nXG4kbGVhZC1saW5laGVpZ2h0OiAxLjYgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGxpbmUgaGVpZ2h0IGZvciBzdWJoZWFkZXJzLlxuLy8vIEB0eXBlIE51bWJlclxuJHN1YmhlYWRlci1saW5laGVpZ2h0OiAxLjQgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGZvbnQgY29sb3IgZm9yIHN1YmhlYWRlcnMuXG4vLy8gQHR5cGUgQ29sb3JcbiRzdWJoZWFkZXItY29sb3I6ICRkYXJrLWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGZvbnQgd2VpZ2h0IGZvciBzdWJoZWFkZXJzLlxuLy8vIEB0eXBlIFN0cmluZ1xuJHN1YmhlYWRlci1mb250LXdlaWdodDogJGdsb2JhbC13ZWlnaHQtbm9ybWFsICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCB0b3AgbWFyZ2luIGZvciBzdWJoaGVhZGVycy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRzdWJoZWFkZXItbWFyZ2luLXRvcDogMC4ycmVtICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBib3R0b20gbWFyZ2luIGZvciBzdWJoZWFkZXJzLlxuLy8vIEB0eXBlIE51bWJlclxuJHN1YmhlYWRlci1tYXJnaW4tYm90dG9tOiAwLjVyZW0gIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGZvbnQgc2l6ZSBmb3Igc3RhdGlzdGljIG51bWJlcnMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kc3RhdC1mb250LXNpemU6IDIuNXJlbSAhZGVmYXVsdDtcblxuQG1peGluIGZvdW5kYXRpb24tdHlwb2dyYXBoeS1oZWxwZXJzIHtcbiAgLy8gVXNlIHRvIGNyZWF0ZSBhIHN1YmhlYWRpbmcgdW5kZXIgYSBtYWluIGhlYWRlclxuICAvLyBNYWtlIHN1cmUgeW91IHBhaXIgdGhlIHR3byBlbGVtZW50cyBpbiBhIDxoZWFkZXI+IGVsZW1lbnQsIGxpa2UgdGhpczpcbiAgLy8gPGhlYWRlcj5cbiAgLy8gICA8aDE+SGVhZGluZzwvaDE+XG4gIC8vICAgPGgyPlN1YmhlYWRpbmc8L2gyPlxuICAvLyA8L2hlYWRlcj5cbiAgLnN1YmhlYWRlciB7XG4gICAgbWFyZ2luLXRvcDogJHN1YmhlYWRlci1tYXJnaW4tdG9wO1xuICAgIG1hcmdpbi1ib3R0b206ICRzdWJoZWFkZXItbWFyZ2luLWJvdHRvbTtcblxuICAgIGZvbnQtd2VpZ2h0OiAkc3ViaGVhZGVyLWZvbnQtd2VpZ2h0O1xuICAgIGxpbmUtaGVpZ2h0OiAkc3ViaGVhZGVyLWxpbmVoZWlnaHQ7XG4gICAgY29sb3I6ICRzdWJoZWFkZXItY29sb3I7XG4gIH1cblxuICAvLyBVc2UgdG8gc3R5bGUgYW4gaW50cm9kdWN0b3J5IGxlYWQsIGRlY2ssIGJsdXJiLCBldGMuXG4gIC5sZWFkIHtcbiAgICBmb250LXNpemU6ICRsZWFkLWZvbnQtc2l6ZTtcbiAgICBsaW5lLWhlaWdodDogJGxlYWQtbGluZWhlaWdodDtcbiAgfVxuXG4gIC8vIFVzZSB0byBzdHlsZSBhIGxhcmdlIG51bWJlciB0byBkaXNwbGF5IGEgc3RhdGlzdGljXG4gIC5zdGF0IHtcbiAgICBmb250LXNpemU6ICRzdGF0LWZvbnQtc2l6ZTtcbiAgICBsaW5lLWhlaWdodDogMTtcblxuICAgIHAgKyAmIHtcbiAgICAgIG1hcmdpbi10b3A6IC0xcmVtO1xuICAgIH1cbiAgfVxuXG4gIHVsLCBvbCB7XG4gICAgLy8gVXNlIHRvIHJlbW92ZSBudW1iZXJzIGZyb20gb3JkZXJlZCBsaXN0ICYgYnVsbGV0cyBmcm9tIHVub3JkZXJlZCBsaXN0XG4gICAgJi5uby1idWxsZXQge1xuICAgICAgbWFyZ2luLSN7JGdsb2JhbC1sZWZ0fTogMDtcbiAgICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG4gICAgfVxuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuQG1peGluIGZvdW5kYXRpb24tdGV4dC1hbGlnbm1lbnQge1xuICBAZWFjaCAkc2l6ZSBpbiAkYnJlYWtwb2ludC1jbGFzc2VzIHtcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KCRzaXplKSB7XG4gICAgICBAZWFjaCAkYWxpZ24gaW4gKGxlZnQsIHJpZ2h0LCBjZW50ZXIsIGp1c3RpZnkpIHtcbiAgICAgICAgQGlmICRzaXplICE9ICQtemYtemVyby1icmVha3BvaW50IHtcbiAgICAgICAgICAuI3skc2l6ZX0tdGV4dC0jeyRhbGlnbn0ge1xuICAgICAgICAgICAgdGV4dC1hbGlnbjogJGFsaWduO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICBAZWxzZSB7XG4gICAgICAgICAgLnRleHQtI3skYWxpZ259IHtcbiAgICAgICAgICAgIHRleHQtYWxpZ246ICRhbGlnbjtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8gSWYgYHRydWVgLCBhbGwgZWxlbWVudHMgd2lsbCBoYXZlIHRyYW5zcGFyZW50IGJhY2tncm91bmRzIHdoZW4gcHJpbnRlZCwgdG8gc2F2ZSBvbiBpbmsuXG4vLy8gQHR5cGUgQm9vbGVhblxuLy8vIEBncm91cCBnbG9iYWxcbiRwcmludC10cmFuc3BhcmVudC1iYWNrZ3JvdW5kczogdHJ1ZSAhZGVmYXVsdDtcbiRwcmludC1ocmVmczogdHJ1ZSAhZGVmYXVsdDtcblxuLy8gc2Fzcy1saW50OmRpc2FibGUtYWxsXG5cbkBtaXhpbiBmb3VuZGF0aW9uLXByaW50LXN0eWxlcyB7XG4gIC5zaG93LWZvci1wcmludCB7IGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsgfVxuXG4gIEBtZWRpYSBwcmludCB7XG4gICAgKiB7XG4gICAgICBAaWYgJHByaW50LXRyYW5zcGFyZW50LWJhY2tncm91bmRzIHtcbiAgICAgICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQgIWltcG9ydGFudDtcbiAgICAgIH1cblxuICAgICAgYm94LXNoYWRvdzogbm9uZSAhaW1wb3J0YW50O1xuXG4gICAgICBjb2xvcjogYmxhY2sgIWltcG9ydGFudDsgLy8gQmxhY2sgcHJpbnRzIGZhc3RlcjogaDVicC5jb20vc1xuICAgICAgdGV4dC1zaGFkb3c6IG5vbmUgIWltcG9ydGFudDtcbiAgICB9XG5cbiAgICAuc2hvdy1mb3ItcHJpbnQgeyBkaXNwbGF5OiBibG9jayAhaW1wb3J0YW50OyB9XG4gICAgLmhpZGUtZm9yLXByaW50IHsgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OyB9XG5cbiAgICB0YWJsZS5zaG93LWZvci1wcmludCB7IGRpc3BsYXk6IHRhYmxlICFpbXBvcnRhbnQ7IH1cbiAgICB0aGVhZC5zaG93LWZvci1wcmludCB7IGRpc3BsYXk6IHRhYmxlLWhlYWRlci1ncm91cCAhaW1wb3J0YW50OyB9XG4gICAgdGJvZHkuc2hvdy1mb3ItcHJpbnQgeyBkaXNwbGF5OiB0YWJsZS1yb3ctZ3JvdXAgIWltcG9ydGFudDsgfVxuICAgIHRyLnNob3ctZm9yLXByaW50IHsgZGlzcGxheTogdGFibGUtcm93ICFpbXBvcnRhbnQ7IH1cbiAgICB0ZC5zaG93LWZvci1wcmludCB7IGRpc3BsYXk6IHRhYmxlLWNlbGwgIWltcG9ydGFudDsgfVxuICAgIHRoLnNob3ctZm9yLXByaW50IHsgZGlzcGxheTogdGFibGUtY2VsbCAhaW1wb3J0YW50OyB9XG5cbiAgICAvLyBEaXNwbGF5IHRoZSBVUkwgb2YgYSBsaW5rIGFmdGVyIHRoZSB0ZXh0XG4gICAgYSxcbiAgICBhOnZpc2l0ZWQgeyB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTt9XG4gICAgQGlmICRwcmludC1ocmVmcyB7XG4gICAgICBhW2hyZWZdOmFmdGVyIHsgY29udGVudDogJyAoJyBhdHRyKGhyZWYpICcpJzsgfVxuICAgIH1cblxuICAgIC8vIERvbid0IGRpc3BsYXkgdGhlIFVSTCBmb3IgaW1hZ2VzIG9yIEphdmFTY3JpcHQvaW50ZXJuYWwgbGlua3NcbiAgICAuaXIgYTphZnRlcixcbiAgICBhW2hyZWZePSdqYXZhc2NyaXB0OiddOmFmdGVyLFxuICAgIGFbaHJlZl49JyMnXTphZnRlciB7IGNvbnRlbnQ6ICcnOyB9XG5cbiAgICAvLyBEaXNwbGF5IHdoYXQgYW4gYWJicmV2aWF0aW9uIHN0YW5kcyBmb3IgYWZ0ZXIgdGhlIHRleHRcbiAgICBhYmJyW3RpdGxlXTphZnRlciB7IGNvbnRlbnQ6ICcgKCcgYXR0cih0aXRsZSkgJyknOyB9XG5cbiAgICAvLyBQcmV2ZW50IHBhZ2UgYnJlYWtzIGluIHRoZSBtaWRkbGUgb2YgYSBibG9ja3F1b3RlIG9yIHByZWZvcm1hdHRlZCB0ZXh0IGJsb2NrXG4gICAgcHJlLFxuICAgIGJsb2NrcXVvdGUge1xuICAgICAgYm9yZGVyOiAxcHggc29saWQgJGRhcmstZ3JheTtcbiAgICAgIHBhZ2UtYnJlYWstaW5zaWRlOiBhdm9pZDtcbiAgICB9XG5cbiAgICAvLyBoNWJwLmNvbS90XG4gICAgdGhlYWQgeyBkaXNwbGF5OiB0YWJsZS1oZWFkZXItZ3JvdXA7IH1cblxuICAgIHRyLFxuICAgIGltZyB7IHBhZ2UtYnJlYWstaW5zaWRlOiBhdm9pZDsgfVxuXG4gICAgaW1nIHsgbWF4LXdpZHRoOiAxMDAlICFpbXBvcnRhbnQ7IH1cblxuICAgIEBwYWdlIHsgbWFyZ2luOiAwLjVjbTsgfVxuXG4gICAgcCxcbiAgICBoMixcbiAgICBoMyB7XG4gICAgICBvcnBoYW5zOiAzO1xuICAgICAgd2lkb3dzOiAzO1xuICAgIH1cblxuICAgIC8vIEF2b2lkIHBhZ2UgYnJlYWtzIGFmdGVyIGEgaGVhZGluZ1xuICAgIGgyLFxuICAgIGgzIHsgcGFnZS1icmVhay1hZnRlcjogYXZvaWQ7IH1cblxuICAgIC8vIEhlbHBlciB0byByZS1hbGxvdyBwYWdlIGJyZWFrcyBpbiB0aGUgbWlkZGxlIG9mIGNlcnRhaW4gZWxlbWVudHMgKGUuZy4gcHJlLCBibG9ja3F1b3RlLCB0cilcbiAgICAucHJpbnQtYnJlYWstaW5zaWRlIHtcbiAgICAgIHBhZ2UtYnJlYWstaW5zaWRlOiBhdXRvO1xuICAgIH1cbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgZm9ybXNcbi8vLy9cblxuLy8vIEdsb2JhbCBzcGFjaW5nIGZvciBmb3JtIGVsZW1lbnRzLlxuLy8vIEB0eXBlIE51bWJlclxuJGZvcm0tc3BhY2luZzogcmVtLWNhbGMoMTYpICFkZWZhdWx0O1xuXG5AaW1wb3J0ICd0ZXh0JztcbkBpbXBvcnQgJ2NoZWNrYm94JztcbkBpbXBvcnQgJ2xhYmVsJztcbkBpbXBvcnQgJ2hlbHAtdGV4dCc7XG5AaW1wb3J0ICdpbnB1dC1ncm91cCc7XG5AaW1wb3J0ICdmaWVsZHNldCc7XG5AaW1wb3J0ICdzZWxlY3QnO1xuQGltcG9ydCAncmFuZ2UnO1xuQGltcG9ydCAncHJvZ3Jlc3MnO1xuQGltcG9ydCAnbWV0ZXInO1xuQGltcG9ydCAnZXJyb3InO1xuXG5AbWl4aW4gZm91bmRhdGlvbi1mb3JtcyB7XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tZm9ybS10ZXh0O1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLWZvcm0tY2hlY2tib3g7XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tZm9ybS1sYWJlbDtcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1mb3JtLWhlbHB0ZXh0O1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLWZvcm0tcHJlcG9zdGZpeDtcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1mb3JtLWZpZWxkc2V0O1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLWZvcm0tc2VsZWN0O1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLWZvcm0tZXJyb3I7XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBmb3Jtc1xuLy8vL1xuXG4vLy8gRm9udCBjb2xvciBvZiB0ZXh0IGlucHV0cy5cbi8vLyBAdHlwZSBDb2xvclxuJGlucHV0LWNvbG9yOiAkYmxhY2sgIWRlZmF1bHQ7XG5cbi8vLyBGb250IGNvbG9yIG9mIHBsYWNlaG9sZGVyIHRleHQgd2l0aGluIHRleHQgaW5wdXRzLlxuLy8vIEB0eXBlIENvbG9yXG4kaW5wdXQtcGxhY2Vob2xkZXItY29sb3I6ICRtZWRpdW0tZ3JheSAhZGVmYXVsdDtcblxuLy8vIEZvbnQgZmFtaWx5IG9mIHRleHQgaW5wdXRzLlxuLy8vIEB0eXBlIEZvbnRcbiRpbnB1dC1mb250LWZhbWlseTogaW5oZXJpdCAhZGVmYXVsdDtcblxuLy8vIEZvbnQgc2l6ZSBvZiB0ZXh0IGlucHV0cy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRpbnB1dC1mb250LXNpemU6IHJlbS1jYWxjKDE2KSAhZGVmYXVsdDtcblxuLy8vIEZvbnQgd2VpZ2h0IG9mIHRleHQgaW5wdXRzLlxuLy8vIEB0eXBlIEtleXdvcmRcbiRpbnB1dC1mb250LXdlaWdodDogJGdsb2JhbC13ZWlnaHQtbm9ybWFsICFkZWZhdWx0O1xuXG4vLy8gTGluZSBoZWlnaHQgb2YgdGV4dCBpbnB1dHMuXG4vLy8gQHR5cGUgS2V5d29yZFxuJGlucHV0LWxpbmUtaGVpZ2h0OiAkZ2xvYmFsLWxpbmVoZWlnaHQgIWRlZmF1bHQ7XG5cbi8vLyBCYWNrZ3JvdW5kIGNvbG9yIG9mIHRleHQgaW5wdXRzLlxuLy8vIEB0eXBlIENvbG9yXG4kaW5wdXQtYmFja2dyb3VuZDogJHdoaXRlICFkZWZhdWx0O1xuXG4vLy8gQmFja2dyb3VuZCBjb2xvciBvZiBmb2N1c2VkIG9mIHRleHQgaW5wdXRzLlxuLy8vIEB0eXBlIENvbG9yXG4kaW5wdXQtYmFja2dyb3VuZC1mb2N1czogJHdoaXRlICFkZWZhdWx0O1xuXG4vLy8gQmFja2dyb3VuZCBjb2xvciBvZiBkaXNhYmxlZCB0ZXh0IGlucHV0cy5cbi8vLyBAdHlwZSBDb2xvclxuJGlucHV0LWJhY2tncm91bmQtZGlzYWJsZWQ6ICRsaWdodC1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gQm9yZGVyIGFyb3VuZCB0ZXh0IGlucHV0cy5cbi8vLyBAdHlwZSBCb3JkZXJcbiRpbnB1dC1ib3JkZXI6IDFweCBzb2xpZCAkbWVkaXVtLWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBCb3JkZXIgYXJvdW5kIGZvY3VzZWQgdGV4dCBpbnB1dHMuXG4vLy8gQHR5cGUgQ29sb3JcbiRpbnB1dC1ib3JkZXItZm9jdXM6IDFweCBzb2xpZCAkZGFyay1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gUGFkZGluZyBvZiB0ZXh0IGlucHV0cy5cbi8vLyBAdHlwZSBDb2xvclxuJGlucHV0LXBhZGRpbmc6ICRmb3JtLXNwYWNpbmcgLyAyICFkZWZhdWx0O1xuXG4vLy8gQm94IHNoYWRvdyBpbnNpZGUgdGV4dCBpbnB1dHMgd2hlbiBub3QgZm9jdXNlZC5cbi8vLyBAdHlwZSBTaGFkb3dcbiRpbnB1dC1zaGFkb3c6IGluc2V0IDAgMXB4IDJweCByZ2JhKCRibGFjaywgMC4xKSAhZGVmYXVsdDtcblxuLy8vIEJveCBzaGFkb3cgb3V0c2lkZSB0ZXh0IGlucHV0cyB3aGVuIGZvY3VzZWQuXG4vLy8gQHR5cGUgU2hhZG93XG4kaW5wdXQtc2hhZG93LWZvY3VzOiAwIDAgNXB4ICRtZWRpdW0tZ3JheSAhZGVmYXVsdDtcblxuLy8vIEN1cnNvciB0byB1c2Ugd2hlbiBob3ZlcmluZyBvdmVyIGEgZGlzYWJsZWQgdGV4dCBpbnB1dC5cbi8vLyBAdHlwZSBDdXJzb3JcbiRpbnB1dC1jdXJzb3ItZGlzYWJsZWQ6IG5vdC1hbGxvd2VkICFkZWZhdWx0O1xuXG4vLy8gUHJvcGVydGllcyB0byB0cmFuc2l0aW9uIG9uIHRleHQgaW5wdXRzLlxuLy8vIEB0eXBlIFRyYW5zaXRpb25cbiRpbnB1dC10cmFuc2l0aW9uOiBib3gtc2hhZG93IDAuNXMsIGJvcmRlci1jb2xvciAwLjI1cyBlYXNlLWluLW91dCAhZGVmYXVsdDtcblxuLy8vIEVuYWJsZXMgdGhlIHVwL2Rvd24gYnV0dG9ucyB0aGF0IENocm9tZSBhbmQgRmlyZWZveCBhZGQgdG8gYDxpbnB1dCB0eXBlPSdudW1iZXInPmAgZWxlbWVudHMuXG4vLy8gQHR5cGUgQm9vbGVhblxuJGlucHV0LW51bWJlci1zcGlubmVyczogdHJ1ZSAhZGVmYXVsdDtcblxuLy8vIFJhZGl1cyBmb3IgdGV4dCBpbnB1dHMuXG4vLy8gQHR5cGUgQm9yZGVyXG4kaW5wdXQtcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cyAhZGVmYXVsdDtcblxuLy8vIEJvcmRlciByYWRpdXMgZm9yIGZvcm0gYnV0dG9ucywgZGVmYXVsdGVkIHRvIGdsb2JhbC1yYWRpdXMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kZm9ybS1idXR0b24tcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cyAhZGVmYXVsdDtcblxuQG1peGluIGZvcm0tZWxlbWVudCB7XG4gICRoZWlnaHQ6ICgkaW5wdXQtZm9udC1zaXplICogdW5pdGxlc3MtY2FsYygkaW5wdXQtbGluZS1oZWlnaHQpKSArIChnZXQtc2lkZSgkaW5wdXQtcGFkZGluZywgJ3RvcCcpICsgZ2V0LXNpZGUoJGlucHV0LXBhZGRpbmcsICdib3R0b20nKSkgLSByZW0tY2FsYygxKTtcblxuICBkaXNwbGF5OiBibG9jaztcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogJGhlaWdodDtcbiAgbWFyZ2luOiAwIDAgJGZvcm0tc3BhY2luZztcbiAgcGFkZGluZzogJGlucHV0LXBhZGRpbmc7XG5cbiAgYm9yZGVyOiAkaW5wdXQtYm9yZGVyO1xuICBib3JkZXItcmFkaXVzOiAkaW5wdXQtcmFkaXVzO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkaW5wdXQtYmFja2dyb3VuZDtcbiAgYm94LXNoYWRvdzogJGlucHV0LXNoYWRvdztcblxuICBmb250LWZhbWlseTogJGlucHV0LWZvbnQtZmFtaWx5O1xuICBmb250LXNpemU6ICRpbnB1dC1mb250LXNpemU7XG4gIGZvbnQtd2VpZ2h0OiAkaW5wdXQtZm9udC13ZWlnaHQ7XG4gIGxpbmUtaGVpZ2h0OiAkaW5wdXQtbGluZS1oZWlnaHQ7XG4gIGNvbG9yOiAkaW5wdXQtY29sb3I7XG5cbiAgQGlmIGhhcy12YWx1ZSgkaW5wdXQtdHJhbnNpdGlvbikge1xuICAgIHRyYW5zaXRpb246ICRpbnB1dC10cmFuc2l0aW9uO1xuICB9XG5cbiAgLy8gRm9jdXMgc3RhdGVcbiAgJjpmb2N1cyB7XG4gICAgb3V0bGluZTogbm9uZTtcbiAgICBib3JkZXI6ICRpbnB1dC1ib3JkZXItZm9jdXM7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGlucHV0LWJhY2tncm91bmQtZm9jdXM7XG4gICAgYm94LXNoYWRvdzogJGlucHV0LXNoYWRvdy1mb2N1cztcblxuICAgIEBpZiBoYXMtdmFsdWUoJGlucHV0LXRyYW5zaXRpb24pIHtcbiAgICAgIHRyYW5zaXRpb246ICRpbnB1dC10cmFuc2l0aW9uO1xuICAgIH1cbiAgfVxufVxuXG5AbWl4aW4gZm91bmRhdGlvbi1mb3JtLXRleHQge1xuICAvLyBUZXh0IGlucHV0c1xuICAje3RleHQtaW5wdXRzKCl9LFxuICB0ZXh0YXJlYSB7XG4gICAgQGluY2x1ZGUgZm9ybS1lbGVtZW50O1xuICAgIGFwcGVhcmFuY2U6IG5vbmU7XG4gIH1cblxuICAvLyBUZXh0IGFyZWFzXG4gIHRleHRhcmVhIHtcbiAgICBtYXgtd2lkdGg6IDEwMCU7XG5cbiAgICAmW3Jvd3NdIHtcbiAgICAgIGhlaWdodDogYXV0bztcbiAgICB9XG4gIH1cblxuICBpbnB1dCxcbiAgdGV4dGFyZWEge1xuICAgIC8vIFBsYWNlaG9sZGVyIHRleHRcbiAgICAmOjpwbGFjZWhvbGRlciB7XG4gICAgICBjb2xvcjogJGlucHV0LXBsYWNlaG9sZGVyLWNvbG9yO1xuICAgIH1cblxuICAgIC8vIERpc2FibGVkL3JlYWRvbmx5IHN0YXRlXG4gICAgJjpkaXNhYmxlZCxcbiAgICAmW3JlYWRvbmx5XSB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkaW5wdXQtYmFja2dyb3VuZC1kaXNhYmxlZDtcbiAgICAgIGN1cnNvcjogJGlucHV0LWN1cnNvci1kaXNhYmxlZDtcbiAgICB9XG4gIH1cblxuICAvLyBSZXNldCBzdHlsZXMgb24gYnV0dG9uLWxpa2UgaW5wdXRzXG4gIFt0eXBlPSdzdWJtaXQnXSxcbiAgW3R5cGU9J2J1dHRvbiddIHtcbiAgICBhcHBlYXJhbmNlOiBub25lO1xuICAgIGJvcmRlci1yYWRpdXM6ICRmb3JtLWJ1dHRvbi1yYWRpdXM7XG4gIH1cblxuICAvLyBSZXNldCBOb3JtYWxpemUgc2V0dGluZyBjb250ZW50LWJveCB0byBzZWFyY2ggZWxlbWVudHNcbiAgaW5wdXRbdHlwZT0nc2VhcmNoJ10geyAvLyBzYXNzLWxpbnQ6ZGlzYWJsZS1saW5lIG5vLXF1YWxpZnlpbmctZWxlbWVudHNcbiAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICB9XG5cbiAgLy8gTnVtYmVyIGlucHV0IHN0eWxlc1xuICBbdHlwZT0nbnVtYmVyJ10ge1xuICAgIEBpZiBub3QgJGlucHV0LW51bWJlci1zcGlubmVycyB7XG4gICAgICAtbW96LWFwcGVhcmFuY2U6IHRleHRmaWVsZDsgLy8gc2Fzcy1saW50OmRpc2FibGUtbGluZSBuby12ZW5kb3ItcHJlZml4XG5cbiAgICAgICY6Oi13ZWJraXQtaW5uZXItc3Bpbi1idXR0b24sXG4gICAgICAmOjotd2Via2l0LW91dGVyLXNwaW4tYnV0dG9uIHtcbiAgICAgICAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lOyAvLyBzYXNzLWxpbnQ6ZGlzYWJsZS1saW5lIG5vLXZlbmRvci1wcmVmaXhcbiAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgZm9ybXNcbi8vLy9cblxuQG1peGluIGZvdW5kYXRpb24tZm9ybS1jaGVja2JveCB7XG4gIFt0eXBlPSdmaWxlJ10sXG4gIFt0eXBlPSdjaGVja2JveCddLFxuICBbdHlwZT0ncmFkaW8nXSB7XG4gICAgbWFyZ2luOiAwIDAgJGZvcm0tc3BhY2luZztcbiAgfVxuXG4gIC8vIFN0eWxlcyBmb3IgaW5wdXQvbGFiZWwgc2libGluZ3NcbiAgW3R5cGU9J2NoZWNrYm94J10gKyBsYWJlbCxcbiAgW3R5cGU9J3JhZGlvJ10gKyBsYWJlbCB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIHZlcnRpY2FsLWFsaWduOiBiYXNlbGluZTtcblxuICAgIG1hcmdpbi0jeyRnbG9iYWwtbGVmdH06ICRmb3JtLXNwYWNpbmcgKiAwLjU7XG4gICAgbWFyZ2luLSN7JGdsb2JhbC1yaWdodH06ICRmb3JtLXNwYWNpbmc7XG4gICAgbWFyZ2luLWJvdHRvbTogMDtcblxuICAgICZbZm9yXSB7XG4gICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgfVxuICB9XG5cbiAgLy8gU3R5bGVzIGZvciBpbnB1dHMgaW5zaWRlIGxhYmVsc1xuICBsYWJlbCA+IFt0eXBlPSdjaGVja2JveCddLFxuICBsYWJlbCA+IFt0eXBlPSdyYWRpbyddIHtcbiAgICBtYXJnaW4tI3skZ2xvYmFsLXJpZ2h0fTogJGZvcm0tc3BhY2luZyAqIDAuNTtcbiAgfVxuXG4gIC8vIE5vcm1hbGl6ZSBmaWxlIGlucHV0IHdpZHRoXG4gIFt0eXBlPSdmaWxlJ10ge1xuICAgIHdpZHRoOiAxMDAlO1xuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBmb3Jtc1xuLy8vL1xuXG4vLy8gQ29sb3IgZm9yIGZvcm0gbGFiZWxzLlxuLy8vIEB0eXBlIENvbG9yXG4kZm9ybS1sYWJlbC1jb2xvcjogJGJsYWNrICFkZWZhdWx0O1xuXG4vLy8gRm9udCBzaXplIGZvciBmb3JtIGxhYmVscy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRmb3JtLWxhYmVsLWZvbnQtc2l6ZTogcmVtLWNhbGMoMTQpICFkZWZhdWx0O1xuXG4vLy8gRm9udCB3ZWlnaHQgZm9yIGZvcm0gbGFiZWxzLlxuLy8vIEB0eXBlIEtleXdvcmRcbiRmb3JtLWxhYmVsLWZvbnQtd2VpZ2h0OiAkZ2xvYmFsLXdlaWdodC1ub3JtYWwgIWRlZmF1bHQ7XG5cbi8vLyBMaW5lIGhlaWdodCBmb3IgZm9ybSBsYWJlbHMuIFRoZSBoaWdoZXIgdGhlIG51bWJlciwgdGhlIG1vcmUgc3BhY2UgYmV0d2VlbiB0aGUgbGFiZWwgYW5kIGl0cyBpbnB1dCBmaWVsZC5cbi8vLyBAdHlwZSBOdW1iZXJcbiRmb3JtLWxhYmVsLWxpbmUtaGVpZ2h0OiAxLjggIWRlZmF1bHQ7XG5cbkBtaXhpbiBmb3JtLWxhYmVsIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIG1hcmdpbjogMDtcblxuICBmb250LXNpemU6ICRmb3JtLWxhYmVsLWZvbnQtc2l6ZTtcbiAgZm9udC13ZWlnaHQ6ICRmb3JtLWxhYmVsLWZvbnQtd2VpZ2h0O1xuICBsaW5lLWhlaWdodDogJGZvcm0tbGFiZWwtbGluZS1oZWlnaHQ7XG4gIGNvbG9yOiAkZm9ybS1sYWJlbC1jb2xvcjtcbn1cblxuQG1peGluIGZvcm0tbGFiZWwtbWlkZGxlIHtcbiAgJGlucHV0LWJvcmRlci13aWR0aDogZ2V0LWJvcmRlci12YWx1ZSgkaW5wdXQtYm9yZGVyLCB3aWR0aCk7XG5cbiAgbWFyZ2luOiAwIDAgJGZvcm0tc3BhY2luZztcbiAgcGFkZGluZzogKCRmb3JtLXNwYWNpbmcgLyAyICsgcmVtLWNhbGMoJGlucHV0LWJvcmRlci13aWR0aCkpIDA7XG59XG5cbkBtaXhpbiBmb3VuZGF0aW9uLWZvcm0tbGFiZWwge1xuICBsYWJlbCB7XG4gICAgQGluY2x1ZGUgZm9ybS1sYWJlbDtcblxuICAgICYubWlkZGxlIHtcbiAgICAgIEBpbmNsdWRlIGZvcm0tbGFiZWwtbWlkZGxlO1xuICAgIH1cbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgZm9ybXNcbi8vLy9cblxuLy8vIERlZmF1bHQgY29sb3IgZm9yIGhlbHAgdGV4dC5cbi8vLyBAdHlwZSBDb2xvclxuJGhlbHB0ZXh0LWNvbG9yOiAkYmxhY2sgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGZvbnQgc2l6ZSBmb3IgaGVscCB0ZXh0LlxuLy8vIEB0eXBlIE51bWJlclxuJGhlbHB0ZXh0LWZvbnQtc2l6ZTogcmVtLWNhbGMoMTMpICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBmb250IHN0eWxlIGZvciBoZWxwIHRleHQuXG4vLy8gQHR5cGUgS2V5d29yZFxuJGhlbHB0ZXh0LWZvbnQtc3R5bGU6IGl0YWxpYyAhZGVmYXVsdDtcblxuQG1peGluIGZvdW5kYXRpb24tZm9ybS1oZWxwdGV4dCB7XG4gIC5oZWxwLXRleHQge1xuICAgICRtYXJnaW4tdG9wOiAoJGZvcm0tc3BhY2luZyAqIDAuNSkgKiAtMTtcblxuICAgIG1hcmdpbi10b3A6ICRtYXJnaW4tdG9wO1xuICAgIGZvbnQtc2l6ZTogJGhlbHB0ZXh0LWZvbnQtc2l6ZTtcbiAgICBmb250LXN0eWxlOiAkaGVscHRleHQtZm9udC1zdHlsZTtcbiAgICBjb2xvcjogJGhlbHB0ZXh0LWNvbG9yO1xuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBmb3Jtc1xuLy8vL1xuXG4vLy8gQ29sb3Igb2YgbGFiZWxzIHByZWZpeGVkIHRvIGFuIGlucHV0LlxuLy8vIEB0eXBlIENvbG9yXG4kaW5wdXQtcHJlZml4LWNvbG9yOiAkYmxhY2sgIWRlZmF1bHQ7XG5cbi8vLyBCYWNrZ3JvdW5kIGNvbG9yIG9mIGxhYmVscyBwcmVmaXhlZCB0byBhbiBpbnB1dC5cbi8vLyBAdHlwZSBDb2xvclxuJGlucHV0LXByZWZpeC1iYWNrZ3JvdW5kOiAkbGlnaHQtZ3JheSAhZGVmYXVsdDtcblxuLy8vIEJvcmRlciBhcm91bmQgbGFiZWxzIHByZWZpeGVkIHRvIGFuIGlucHV0LlxuLy8vIEB0eXBlIEJvcmRlclxuJGlucHV0LXByZWZpeC1ib3JkZXI6IDFweCBzb2xpZCAkbWVkaXVtLWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBMZWZ0L3JpZ2h0IHBhZGRpbmcgb2YgYW4gcHJlL3Bvc3RmaXhlZCBpbnB1dCBsYWJlbFxuJGlucHV0LXByZWZpeC1wYWRkaW5nOiAxcmVtICFkZWZhdWx0O1xuXG5AbWl4aW4gZm91bmRhdGlvbi1mb3JtLXByZXBvc3RmaXgge1xuICAkaGVpZ2h0OiAoJGlucHV0LWZvbnQtc2l6ZSArICRmb3JtLXNwYWNpbmcgKiAxLjUpO1xuXG4gIC5pbnB1dC1ncm91cCB7XG4gICAgZGlzcGxheTogaWYoJGdsb2JhbC1mbGV4Ym94LCBmbGV4LCB0YWJsZSk7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgbWFyZ2luLWJvdHRvbTogJGZvcm0tc3BhY2luZztcblxuICAgIEBpZiAkZ2xvYmFsLWZsZXhib3gge1xuICAgICAgYWxpZ24taXRlbXM6IHN0cmV0Y2g7XG4gICAgfVxuXG4gICAgPiA6Zmlyc3QtY2hpbGQge1xuICAgICAgYm9yZGVyLXJhZGl1czogaWYoJGdsb2JhbC10ZXh0LWRpcmVjdGlvbiA9PSBydGwsIDAgJGlucHV0LXJhZGl1cyAkaW5wdXQtcmFkaXVzIDAsICRpbnB1dC1yYWRpdXMgMCAwICRpbnB1dC1yYWRpdXMpO1xuICAgIH1cblxuICAgID4gOmxhc3QtY2hpbGQge1xuICAgICAgPiAqIHtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogaWYoJGdsb2JhbC10ZXh0LWRpcmVjdGlvbiA9PSBydGwsICRpbnB1dC1yYWRpdXMgMCAwICRpbnB1dC1yYWRpdXMsIDAgJGlucHV0LXJhZGl1cyAkaW5wdXQtcmFkaXVzIDApO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gICVpbnB1dC1ncm91cC1jaGlsZCB7XG4gICAgbWFyZ2luOiAwO1xuICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG5cbiAgICBAaWYgbm90ICRnbG9iYWwtZmxleGJveCB7XG4gICAgICBkaXNwbGF5OiB0YWJsZS1jZWxsO1xuICAgICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgICB9XG4gIH1cblxuICAuaW5wdXQtZ3JvdXAtbGFiZWwge1xuICAgIEBleHRlbmQgJWlucHV0LWdyb3VwLWNoaWxkO1xuICAgIHBhZGRpbmc6IDAgJGlucHV0LXByZWZpeC1wYWRkaW5nO1xuICAgIGJvcmRlcjogJGlucHV0LXByZWZpeC1ib3JkZXI7XG4gICAgYmFja2dyb3VuZDogJGlucHV0LXByZWZpeC1iYWNrZ3JvdW5kO1xuXG4gICAgY29sb3I6ICRpbnB1dC1wcmVmaXgtY29sb3I7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG5cbiAgICBAaWYgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBmbGV4OiAwIDAgYXV0bztcbiAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgfVxuICAgIEBlbHNlIHtcbiAgICAgIHdpZHRoOiAxJTtcbiAgICAgIGhlaWdodDogMTAwJTtcbiAgICB9XG5cbiAgICBAaWYgaGFzLXZhbHVlKCRpbnB1dC1wcmVmaXgtYm9yZGVyKSB7XG4gICAgICAmOmZpcnN0LWNoaWxkIHtcbiAgICAgICAgYm9yZGVyLSN7JGdsb2JhbC1yaWdodH06IDA7XG4gICAgICB9XG5cbiAgICAgICY6bGFzdC1jaGlsZCB7XG4gICAgICAgIGJvcmRlci0jeyRnbG9iYWwtbGVmdH06IDA7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLmlucHV0LWdyb3VwLWZpZWxkIHtcbiAgICBAZXh0ZW5kICVpbnB1dC1ncm91cC1jaGlsZDtcbiAgICBib3JkZXItcmFkaXVzOiAwO1xuXG4gICAgQGlmICRnbG9iYWwtZmxleGJveCB7XG4gICAgICBmbGV4OiAxIDEgMHB4OyAvLyBzYXNzLWxpbnQ6ZGlzYWJsZS1saW5lIHplcm8tdW5pdFxuICAgICAgaGVpZ2h0OiBhdXRvO1xuICAgICAgbWluLXdpZHRoOiAwO1xuICAgIH1cbiAgICBAZWxzZSB7XG4gICAgICBoZWlnaHQ6ICRoZWlnaHQ7XG4gICAgfVxuICB9XG5cbiAgLmlucHV0LWdyb3VwLWJ1dHRvbiB7XG4gICAgQGV4dGVuZCAlaW5wdXQtZ3JvdXAtY2hpbGQ7XG4gICAgcGFkZGluZy10b3A6IDA7XG4gICAgcGFkZGluZy1ib3R0b206IDA7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuXG4gICAgQGlmICRnbG9iYWwtZmxleGJveCB7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgZmxleDogMCAwIGF1dG87XG4gICAgfVxuICAgIEBlbHNlIHtcbiAgICAgIHdpZHRoOiAxJTtcbiAgICAgIGhlaWdodDogMTAwJTtcbiAgICB9XG5cbiAgICBhLFxuICAgIGlucHV0LFxuICAgIGJ1dHRvbixcbiAgICBsYWJlbCB7XG4gICAgICBAZXh0ZW5kICVpbnB1dC1ncm91cC1jaGlsZDtcblxuICAgICAgQGlmICRnbG9iYWwtZmxleGJveCB7XG4gICAgICAgIGhlaWdodDogYXV0bztcbiAgICAgICAgYWxpZ24tc2VsZjogc3RyZXRjaDtcbiAgICAgIH1cbiAgICAgIEBlbHNlIHtcbiAgICAgICAgaGVpZ2h0OiAkaGVpZ2h0O1xuICAgICAgfVxuICAgICAgcGFkZGluZy10b3A6IDA7XG4gICAgICBwYWRkaW5nLWJvdHRvbTogMDtcbiAgICAgIGZvbnQtc2l6ZTogJGlucHV0LWZvbnQtc2l6ZTtcbiAgICB9XG4gIH1cblxuICAvLyBTcGVjaWZpY2l0eSBidW1wIG5lZWRlZCB0byBwcmV2ZW50IG92ZXJyaWRlIGJ5IGJ1dHRvbnNcbiAgQGlmIG5vdCAkZ2xvYmFsLWZsZXhib3gge1xuICAgICAgLmlucHV0LWdyb3VwIC5pbnB1dC1ncm91cC1idXR0b24ge1xuICAgICAgICAgIGRpc3BsYXk6IHRhYmxlLWNlbGw7XG4gICAgICB9XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIGZvcm1zXG4vLy8vXG5cbi8vLyBEZWZhdWx0IGJvcmRlciBhcm91bmQgY3VzdG9tIGZpZWxkc2V0cy5cbi8vLyBAdHlwZSBCb3JkZXJcbiRmaWVsZHNldC1ib3JkZXI6IDFweCBzb2xpZCAkbWVkaXVtLWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHBhZGRpbmcgaW5zaWRlIGN1c3RvbSBmaWVsZHNldHMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kZmllbGRzZXQtcGFkZGluZzogcmVtLWNhbGMoMjApICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBtYXJnaW4gYXJvdW5kIGN1c3RvbSBmaWVsZHNldHMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kZmllbGRzZXQtbWFyZ2luOiByZW0tY2FsYygxOCAwKSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgcGFkZGluZyBiZXR3ZWVuIHRoZSBsZWdlbmQgdGV4dCBhbmQgZmllbGRzZXQgYm9yZGVyLlxuLy8vIEB0eXBlIE51bWJlclxuJGxlZ2VuZC1wYWRkaW5nOiByZW0tY2FsYygwIDMpICFkZWZhdWx0O1xuXG5AbWl4aW4gZmllbGRzZXQge1xuICBtYXJnaW46ICRmaWVsZHNldC1tYXJnaW47XG4gIHBhZGRpbmc6ICRmaWVsZHNldC1wYWRkaW5nO1xuICBib3JkZXI6ICRmaWVsZHNldC1ib3JkZXI7XG5cbiAgbGVnZW5kIHtcbiAgICAvLyBDb3ZlcnMgdXAgdGhlIGZpZWxkc2V0J3MgYm9yZGVyIHRvIGNyZWF0ZSBhcnRpZmljaWFsIHBhZGRpbmdcbiAgICBtYXJnaW46IDA7XG4gICAgbWFyZ2luLSN7JGdsb2JhbC1sZWZ0fTogcmVtLWNhbGMoLTMpO1xuICAgIHBhZGRpbmc6ICRsZWdlbmQtcGFkZGluZztcbiAgfVxufVxuXG5AbWl4aW4gZm91bmRhdGlvbi1mb3JtLWZpZWxkc2V0IHtcbiAgZmllbGRzZXQge1xuICAgIG1hcmdpbjogMDtcbiAgICBwYWRkaW5nOiAwO1xuICAgIGJvcmRlcjogMDtcbiAgfVxuXG4gIGxlZ2VuZCB7XG4gICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgIG1hcmdpbi1ib3R0b206ICRmb3JtLXNwYWNpbmcgKiAwLjU7XG4gIH1cblxuICAuZmllbGRzZXQge1xuICAgIEBpbmNsdWRlIGZpZWxkc2V0O1xuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBmb3Jtc1xuLy8vL1xuXG4vLy8gQmFja2dyb3VuZCBjb2xvciBmb3Igc2VsZWN0IG1lbnVzLlxuLy8vIEB0eXBlIENvbG9yXG4kc2VsZWN0LWJhY2tncm91bmQ6ICR3aGl0ZSAhZGVmYXVsdDtcblxuLy8vIENvbG9yIG9mIHRoZSBkcm9wZG93biB0cmlhbmdsZSBpbnNpZGUgc2VsZWN0IG1lbnVzLiBTZXQgdG8gYHRyYW5zcGFyZW50YCB0byByZW1vdmUgaXQgZW50aXJlbHkuXG4vLy8gQHR5cGUgQ29sb3JcbiRzZWxlY3QtdHJpYW5nbGUtY29sb3I6ICRkYXJrLWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHJhZGl1cyBmb3Igc2VsZWN0IG1lbnVzLlxuLy8vIEB0eXBlIENvbG9yXG4kc2VsZWN0LXJhZGl1czogJGdsb2JhbC1yYWRpdXMgIWRlZmF1bHQ7XG5cbkBtaXhpbiBmb3JtLXNlbGVjdCB7XG4gICRoZWlnaHQ6ICgkaW5wdXQtZm9udC1zaXplICogdW5pdGxlc3MtY2FsYygkaW5wdXQtbGluZS1oZWlnaHQpKSArIChnZXQtc2lkZSgkaW5wdXQtcGFkZGluZywgJ3RvcCcpICsgZ2V0LXNpZGUoJGlucHV0LXBhZGRpbmcsICdib3R0b20nKSkgLSByZW0tY2FsYygxKTtcblxuICBoZWlnaHQ6ICRoZWlnaHQ7XG4gIG1hcmdpbjogMCAwICRmb3JtLXNwYWNpbmc7XG4gIHBhZGRpbmc6ICRpbnB1dC1wYWRkaW5nO1xuXG4gIGFwcGVhcmFuY2U6IG5vbmU7XG4gIGJvcmRlcjogJGlucHV0LWJvcmRlcjtcbiAgYm9yZGVyLXJhZGl1czogJHNlbGVjdC1yYWRpdXM7XG4gIGJhY2tncm91bmQtY29sb3I6ICRzZWxlY3QtYmFja2dyb3VuZDtcblxuICBmb250LWZhbWlseTogJGlucHV0LWZvbnQtZmFtaWx5O1xuICBmb250LXNpemU6ICRpbnB1dC1mb250LXNpemU7XG4gIGZvbnQtd2VpZ2h0OiAkaW5wdXQtZm9udC13ZWlnaHQ7XG4gIGxpbmUtaGVpZ2h0OiAkaW5wdXQtbGluZS1oZWlnaHQ7XG4gIGNvbG9yOiAkaW5wdXQtY29sb3I7XG5cbiAgQGlmICRzZWxlY3QtdHJpYW5nbGUtY29sb3IgIT0gdHJhbnNwYXJlbnQge1xuICAgIEBpbmNsdWRlIGJhY2tncm91bmQtdHJpYW5nbGUoJHNlbGVjdC10cmlhbmdsZS1jb2xvcik7XG4gICAgYmFja2dyb3VuZC1vcmlnaW46IGNvbnRlbnQtYm94O1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246ICRnbG9iYWwtcmlnaHQgKC0kZm9ybS1zcGFjaW5nKSBjZW50ZXI7XG4gICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICBiYWNrZ3JvdW5kLXNpemU6IDlweCA2cHg7XG5cbiAgICBwYWRkaW5nLSN7JGdsb2JhbC1yaWdodH06ICgkZm9ybS1zcGFjaW5nICogMS41KTtcbiAgfVxuXG4gIEBpZiBoYXMtdmFsdWUoJGlucHV0LXRyYW5zaXRpb24pIHtcbiAgICB0cmFuc2l0aW9uOiAkaW5wdXQtdHJhbnNpdGlvbjtcbiAgfVxuXG4gIC8vIEZvY3VzIHN0YXRlXG4gICY6Zm9jdXMge1xuICAgIG91dGxpbmU6IG5vbmU7XG4gICAgYm9yZGVyOiAkaW5wdXQtYm9yZGVyLWZvY3VzO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRpbnB1dC1iYWNrZ3JvdW5kLWZvY3VzO1xuICAgIGJveC1zaGFkb3c6ICRpbnB1dC1zaGFkb3ctZm9jdXM7XG5cbiAgICBAaWYgaGFzLXZhbHVlKCRpbnB1dC10cmFuc2l0aW9uKSB7XG4gICAgICB0cmFuc2l0aW9uOiAkaW5wdXQtdHJhbnNpdGlvbjtcbiAgICB9XG4gIH1cblxuICAvLyBEaXNhYmxlZCBzdGF0ZVxuICAmOmRpc2FibGVkIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkaW5wdXQtYmFja2dyb3VuZC1kaXNhYmxlZDtcbiAgICBjdXJzb3I6ICRpbnB1dC1jdXJzb3ItZGlzYWJsZWQ7XG4gIH1cblxuICAvLyBIaWRlIHRoZSBkcm9wZG93biBhcnJvdyBzaG93biBpbiBuZXdlciBJRSB2ZXJzaW9uc1xuICAmOjotbXMtZXhwYW5kIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG5cbiAgJlttdWx0aXBsZV0ge1xuICAgIGhlaWdodDogYXV0bztcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiBub25lO1xuICB9XG59XG5cbkBtaXhpbiBmb3VuZGF0aW9uLWZvcm0tc2VsZWN0IHtcbiAgc2VsZWN0IHtcbiAgICBAaW5jbHVkZSBmb3JtLXNlbGVjdDtcbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgc2xpZGVyXG4vLy8vXG5cbi8vLyBEZWZhdWx0IGhlaWdodCBvZiB0aGUgc2xpZGVyLlxuLy8vIEB0eXBlIE51bWJlclxuJHNsaWRlci1oZWlnaHQ6IDAuNXJlbSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgYmFja2dyb3VuZCBjb2xvciBvZiB0aGUgc2xpZGVyJ3MgdHJhY2suXG4vLy8gQHR5cGUgQ29sb3JcbiRzbGlkZXItYmFja2dyb3VuZDogJGxpZ2h0LWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGNvbG9yIG9mIHRoZSBhY3RpdmUgZmlsbCBjb2xvciBvZiB0aGUgc2xpZGVyLlxuLy8vIEB0eXBlIENvbG9yXG4kc2xpZGVyLWZpbGwtYmFja2dyb3VuZDogJG1lZGl1bS1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBoZWlnaHQgb2YgdGhlIGhhbmRsZSBvZiB0aGUgc2xpZGVyLlxuLy8vIEB0eXBlIE51bWJlclxuJHNsaWRlci1oYW5kbGUtaGVpZ2h0OiAxLjRyZW0gIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHdpZHRoIG9mIHRoZSBoYW5kbGUgb2YgdGhlIHNsaWRlci5cbi8vLyBAdHlwZSBOdW1iZXJcbiRzbGlkZXItaGFuZGxlLXdpZHRoOiAxLjRyZW0gIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGNvbG9yIG9mIHRoZSBoYW5kbGUgZm9yIHRoZSBzbGlkZXIuXG4vLy8gQHR5cGUgQ29sb3JcbiRzbGlkZXItaGFuZGxlLWJhY2tncm91bmQ6ICRwcmltYXJ5LWNvbG9yICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBmYWRlIGFtb3VudCBvZiBhIGRpc2FibGVkIHNsaWRlci5cbi8vLyBAdHlwZSBOdW1iZXJcbiRzbGlkZXItb3BhY2l0eS1kaXNhYmxlZDogMC4yNSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgcmFkaXVzIGZvciBzbGlkZXIuXG4vLy8gQHR5cGUgTnVtYmVyXG4kc2xpZGVyLXJhZGl1czogJGdsb2JhbC1yYWRpdXMgIWRlZmF1bHQ7XG5cbkBtaXhpbiBmb3VuZGF0aW9uLXJhbmdlLWlucHV0IHtcbiAgaW5wdXRbdHlwZT1cInJhbmdlXCJdIHsgIC8vIHNhc3MtbGludDpkaXNhYmxlLWxpbmUgbm8tcXVhbGlmeWluZy1lbGVtZW50c1xuICAgICRtYXJnaW46ICgkc2xpZGVyLWhhbmRsZS1oZWlnaHQgLSAkc2xpZGVyLWhlaWdodCkgLyAyO1xuXG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiBhdXRvO1xuICAgIG1hcmdpbi10b3A6ICRtYXJnaW47XG4gICAgbWFyZ2luLWJvdHRvbTogJG1hcmdpbjtcblxuICAgIGFwcGVhcmFuY2U6IG5vbmU7XG4gICAgYm9yZGVyOiAwO1xuICAgIGxpbmUtaGVpZ2h0OiAxO1xuICAgIGN1cnNvcjogcG9pbnRlcjtcblxuICAgIEBpZiBoYXMtdmFsdWUoJHNsaWRlci1yYWRpdXMpIHtcbiAgICAgIGJvcmRlci1yYWRpdXM6ICRzbGlkZXItcmFkaXVzO1xuICAgIH1cblxuICAgICY6Zm9jdXMge1xuICAgICAgb3V0bGluZTogMDtcbiAgICB9XG5cbiAgICAmW2Rpc2FibGVkXSB7XG4gICAgICBvcGFjaXR5OiAkc2xpZGVyLW9wYWNpdHktZGlzYWJsZWQ7XG4gICAgfVxuXG4gICAgLy8gc2Fzcy1saW50OmRpc2FibGUgbm8tdmVuZG9yLXByZWZpeFxuXG4gICAgLy8gQ2hyb21lL1NhZmFyaVxuICAgICY6Oi13ZWJraXQtc2xpZGVyLXJ1bm5hYmxlLXRyYWNrIHtcbiAgICAgIGhlaWdodDogJHNsaWRlci1oZWlnaHQ7XG4gICAgICBiYWNrZ3JvdW5kOiAkc2xpZGVyLWJhY2tncm91bmQ7XG4gICAgfVxuXG4gICAgJjo6LXdlYmtpdC1zbGlkZXItaGFuZGxlIHtcbiAgICAgIHdpZHRoOiAkc2xpZGVyLWhhbmRsZS13aWR0aDtcbiAgICAgIGhlaWdodDogJHNsaWRlci1oYW5kbGUtaGVpZ2h0O1xuICAgICAgbWFyZ2luLXRvcDogLSRtYXJnaW47XG5cbiAgICAgIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTtcbiAgICAgIGJhY2tncm91bmQ6ICRzbGlkZXItaGFuZGxlLWJhY2tncm91bmQ7XG5cbiAgICAgIEBpZiBoYXMtdmFsdWUoJHNsaWRlci1yYWRpdXMpIHtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogJHNsaWRlci1yYWRpdXM7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gRmlyZWZveFxuICAgICY6Oi1tb3otcmFuZ2UtdHJhY2sge1xuICAgICAgaGVpZ2h0OiAkc2xpZGVyLWhlaWdodDtcbiAgICAgIC1tb3otYXBwZWFyYW5jZTogbm9uZTtcbiAgICAgIGJhY2tncm91bmQ6ICRzbGlkZXItYmFja2dyb3VuZDtcbiAgICB9XG5cbiAgICAmOjotbW96LXJhbmdlLXRodW1iIHtcbiAgICAgIHdpZHRoOiAkc2xpZGVyLWhhbmRsZS13aWR0aDtcbiAgICAgIGhlaWdodDogJHNsaWRlci1oYW5kbGUtaGVpZ2h0O1xuICAgICAgbWFyZ2luLXRvcDogLSRtYXJnaW47XG5cbiAgICAgIC1tb3otYXBwZWFyYW5jZTogbm9uZTtcbiAgICAgIGJhY2tncm91bmQ6ICRzbGlkZXItaGFuZGxlLWJhY2tncm91bmQ7XG5cbiAgICAgIEBpZiBoYXMtdmFsdWUoJHNsaWRlci1yYWRpdXMpIHtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogJHNsaWRlci1yYWRpdXM7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gSW50ZXJuZXQgRXhwbG9yZXJcbiAgICAmOjotbXMtdHJhY2sge1xuICAgICAgaGVpZ2h0OiAkc2xpZGVyLWhlaWdodDtcblxuICAgICAgYm9yZGVyOiAwO1xuICAgICAgYm9yZGVyLXRvcDogJG1hcmdpbiBzb2xpZCAkYm9keS1iYWNrZ3JvdW5kO1xuICAgICAgYm9yZGVyLWJvdHRvbTogJG1hcmdpbiBzb2xpZCAkYm9keS1iYWNrZ3JvdW5kO1xuICAgICAgYmFja2dyb3VuZDogJHNsaWRlci1iYWNrZ3JvdW5kO1xuXG4gICAgICBvdmVyZmxvdzogdmlzaWJsZTtcbiAgICAgIGNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICB9XG5cbiAgICAmOjotbXMtdGh1bWIge1xuICAgICAgd2lkdGg6ICRzbGlkZXItaGFuZGxlLXdpZHRoO1xuICAgICAgaGVpZ2h0OiAkc2xpZGVyLWhhbmRsZS1oZWlnaHQ7XG4gICAgICBib3JkZXI6IDA7XG4gICAgICBiYWNrZ3JvdW5kOiAkc2xpZGVyLWhhbmRsZS1iYWNrZ3JvdW5kO1xuXG4gICAgICBAaWYgaGFzLXZhbHVlKCRzbGlkZXItcmFkaXVzKSB7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6ICRzbGlkZXItcmFkaXVzO1xuICAgICAgfVxuICAgIH1cblxuICAgICY6Oi1tcy1maWxsLWxvd2VyIHtcbiAgICAgIGJhY2tncm91bmQ6ICRzbGlkZXItZmlsbC1iYWNrZ3JvdW5kO1xuICAgIH1cblxuICAgICY6Oi1tcy1maWxsLXVwcGVyIHtcbiAgICAgIGJhY2tncm91bmQ6ICRzbGlkZXItYmFja2dyb3VuZDtcbiAgICB9XG5cbiAgICBAYXQtcm9vdCB7XG4gICAgICBvdXRwdXQge1xuICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICAgICAgICBtYXJnaW4tbGVmdDogMC41ZW07XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAkc2xpZGVyLWhhbmRsZS1oZWlnaHQ7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBwcm9ncmVzcy1iYXJcbi8vLy9cblxuLy8vIEhlaWdodCBvZiBhIHByb2dyZXNzIGJhci5cbi8vLyBAdHlwZSBOdW1iZXJcbiRwcm9ncmVzcy1oZWlnaHQ6IDFyZW0gIWRlZmF1bHQ7XG5cbi8vLyBCYWNrZ3JvdW5kIGNvbG9yIG9mIGEgcHJvZ3Jlc3MgYmFyLlxuLy8vIEB0eXBlIENvbG9yXG4kcHJvZ3Jlc3MtYmFja2dyb3VuZDogJG1lZGl1bS1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gQm90dG9tIG1hcmdpbiBvZiBhIHByb2dyZXNzIGJhci5cbi8vLyBAdHlwZSBOdW1iZXJcbiRwcm9ncmVzcy1tYXJnaW4tYm90dG9tOiAkZ2xvYmFsLW1hcmdpbiAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgY29sb3Igb2YgYSBwcm9ncmVzcyBiYXIncyBtZXRlci5cbi8vLyBAdHlwZSBDb2xvclxuJHByb2dyZXNzLW1ldGVyLWJhY2tncm91bmQ6ICRwcmltYXJ5LWNvbG9yICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCByYWRpdXMgb2YgYSBwcm9ncmVzcyBiYXIuXG4vLy8gQHR5cGUgTnVtYmVyXG4kcHJvZ3Jlc3MtcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cyAhZGVmYXVsdDtcblxuQG1peGluIGZvdW5kYXRpb24tcHJvZ3Jlc3MtZWxlbWVudCB7XG4gIHByb2dyZXNzIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6ICRwcm9ncmVzcy1oZWlnaHQ7XG4gICAgbWFyZ2luLWJvdHRvbTogJHByb2dyZXNzLW1hcmdpbi1ib3R0b207XG5cbiAgICBhcHBlYXJhbmNlOiBub25lO1xuXG4gICAgQGlmIGhhc3ZhbHVlKCRwcm9ncmVzcy1yYWRpdXMpIHtcbiAgICAgIGJvcmRlci1yYWRpdXM6ICRwcm9ncmVzcy1yYWRpdXM7XG4gICAgfVxuXG4gICAgLy8gRm9yIEZpcmVmb3hcbiAgICBib3JkZXI6IDA7XG4gICAgYmFja2dyb3VuZDogJHByb2dyZXNzLWJhY2tncm91bmQ7XG5cbiAgICAmOjotd2Via2l0LXByb2dyZXNzLWJhciB7XG4gICAgICBiYWNrZ3JvdW5kOiAkcHJvZ3Jlc3MtYmFja2dyb3VuZDtcblxuICAgICAgQGlmIGhhc3ZhbHVlKCRwcm9ncmVzcy1yYWRpdXMpIHtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogJHByb2dyZXNzLXJhZGl1cztcbiAgICAgIH1cbiAgICB9XG5cbiAgICAmOjotd2Via2l0LXByb2dyZXNzLXZhbHVlIHtcbiAgICAgIGJhY2tncm91bmQ6ICRwcm9ncmVzcy1tZXRlci1iYWNrZ3JvdW5kO1xuXG4gICAgICBAaWYgaGFzdmFsdWUoJHByb2dyZXNzLXJhZGl1cykge1xuICAgICAgICBib3JkZXItcmFkaXVzOiAkcHJvZ3Jlc3MtcmFkaXVzO1xuICAgICAgfVxuICAgIH1cblxuICAgICY6Oi1tb3otcHJvZ3Jlc3MtYmFyIHtcbiAgICAgIGJhY2tncm91bmQ6ICRwcm9ncmVzcy1tZXRlci1iYWNrZ3JvdW5kO1xuXG4gICAgICBAaWYgaGFzdmFsdWUoJHByb2dyZXNzLXJhZGl1cykge1xuICAgICAgICBib3JkZXItcmFkaXVzOiAkcHJvZ3Jlc3MtcmFkaXVzO1xuICAgICAgfVxuICAgIH1cblxuICAgIEBlYWNoICRuYW1lLCAkY29sb3IgaW4gJGZvdW5kYXRpb24tcGFsZXR0ZSB7XG4gICAgICAmLiN7JG5hbWV9IHtcbiAgICAgICAgLy8gSW50ZXJuZXQgRXhwbG9yZXIgc2V0cyB0aGUgZmlsbCB3aXRoIGNvbG9yXG4gICAgICAgIGNvbG9yOiAkY29sb3I7XG5cbiAgICAgICAgJjo6LXdlYmtpdC1wcm9ncmVzcy12YWx1ZSB7XG4gICAgICAgICAgYmFja2dyb3VuZDogJGNvbG9yO1xuICAgICAgICB9XG5cbiAgICAgICAgJjo6LW1vei1wcm9ncmVzcy1iYXIge1xuICAgICAgICAgIGJhY2tncm91bmQ6ICRjb2xvcjtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIC8vIEZvciBJRSBhbmQgRWRnZVxuICAgICY6Oi1tcy1maWxsIHtcbiAgICAgIEBpZiBoYXN2YWx1ZSgkcHJvZ3Jlc3MtcmFkaXVzKSB7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6ICRwcm9ncmVzcy1yYWRpdXM7XG4gICAgICB9XG5cbiAgICAgIGJvcmRlcjogMDtcbiAgICB9XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIG1ldGVyXG4vLy8vXG5cbi8vLyBIZWlnaHQgb2YgYSBgPG1ldGVyPmAgZWxlbWVudC5cbi8vLyBAdHlwZSBMZW5ndGhcbiRtZXRlci1oZWlnaHQ6IDFyZW0gIWRlZmF1bHQ7XG5cbi8vLyBCb3JkZXIgcmFkaXVzIG9mIGEgYDxtZXRlcj5gIGVsZW1lbnQuXG4vLy8gQHR5cGUgTGVuZ3RoXG4kbWV0ZXItcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cyAhZGVmYXVsdDtcblxuLy8vIEJhY2tncm91bmQgY29sb3Igb2YgYSBgPG1ldGVyPmAgZWxlbWVudC5cbi8vLyBAdHlwZSBDb2xvclxuJG1ldGVyLWJhY2tncm91bmQ6ICRtZWRpdW0tZ3JheSAhZGVmYXVsdDtcblxuLy8vIE1ldGVyIGZpbGwgZm9yIGFuIG9wdGltYWwgdmFsdWUgaW4gYSBgPG1ldGVyPmAgZWxlbWVudC5cbi8vLyBAdHlwZSBDb2xvclxuJG1ldGVyLWZpbGwtZ29vZDogJHN1Y2Nlc3MtY29sb3IgIWRlZmF1bHQ7XG5cbi8vLyBNZXRlciBmaWxsIGZvciBhbiBhdmVyYWdlIHZhbHVlIGluIGEgYDxtZXRlcj5gIGVsZW1lbnQuXG4vLy8gQHR5cGUgQ29sb3JcbiRtZXRlci1maWxsLW1lZGl1bTogJHdhcm5pbmctY29sb3IgIWRlZmF1bHQ7XG5cbi8vLyBNZXRlciBmaWxsIGZvciBhIHN1Ym9wdGltYWwgdmFsdWUgaW4gYSBgPG1ldGVyPmAgZWxlbWVudC5cbi8vLyBAdHlwZSBDb2xvclxuJG1ldGVyLWZpbGwtYmFkOiAkYWxlcnQtY29sb3IgIWRlZmF1bHQ7XG5cbkBtaXhpbiBmb3VuZGF0aW9uLW1ldGVyLWVsZW1lbnQge1xuICBtZXRlciB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiAkbWV0ZXItaGVpZ2h0O1xuICAgIG1hcmdpbi1ib3R0b206IDFyZW07XG5cbiAgICAvLyBEaXNhYmxlIGAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmVgIGZyb20gZ2V0dGluZyBwcmVmaXhlZCxcbiAgICAvLyBXZSBoYXZlIGRpc2FibGVkIGF1dG9wcmVmaXhlciBmaXJzdCBhbmQgYXJlIGp1c3Qgb25seSB1c2luZyBcbiAgICAvLyBgLW1vei1hcHBlYXJhbmNlOiBub25lYCBhcyBhIHByZWZpeCBhbmQgbmVnbGVjdGluZyB0aGUgd2Via2l0LlxuICAgIFxuICAgIC8qISBhdXRvcHJlZml4ZXI6IG9mZiAqL1xuICAgIC1tb3otYXBwZWFyYW5jZTogbm9uZTtcbiAgICAgICAgIGFwcGVhcmFuY2U6IG5vbmU7XG5cbiAgICBAaWYgaGFzLXZhbHVlKCRtZXRlci1yYWRpdXMpIHtcbiAgICAgIGJvcmRlci1yYWRpdXM6ICRtZXRlci1yYWRpdXM7XG4gICAgfVxuXG4gICAgLy8gRm9yIEZpcmVmb3hcbiAgICBib3JkZXI6IDA7XG4gICAgYmFja2dyb3VuZDogJG1ldGVyLWJhY2tncm91bmQ7XG5cbiAgICAvLyBDaHJvbWUvU2FmYXJpL0VkZ2VcbiAgICAmOjotd2Via2l0LW1ldGVyLWJhciB7XG4gICAgICBib3JkZXI6IDA7XG4gICAgICBAaWYgaGFzLXZhbHVlKCRtZXRlci1yYWRpdXMpIHtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogJG1ldGVyLXJhZGl1cztcbiAgICAgIH1cblxuICAgICAgYmFja2dyb3VuZDogJG1ldGVyLWJhY2tncm91bmQ7XG4gICAgfVxuXG4gICAgJjo6LXdlYmtpdC1tZXRlci1pbm5lci1lbGVtZW50IHtcbiAgICAgIEBpZiBoYXMtdmFsdWUoJG1ldGVyLXJhZGl1cykge1xuICAgICAgICBib3JkZXItcmFkaXVzOiAkbWV0ZXItcmFkaXVzO1xuICAgICAgfVxuICAgIH1cblxuICAgICY6Oi13ZWJraXQtbWV0ZXItb3B0aW11bS12YWx1ZSB7XG4gICAgICBiYWNrZ3JvdW5kOiAkbWV0ZXItZmlsbC1nb29kO1xuXG4gICAgICBAaWYgaGFzLXZhbHVlKCRtZXRlci1yYWRpdXMpIHtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogJG1ldGVyLXJhZGl1cztcbiAgICAgIH1cbiAgICB9XG5cbiAgICAmOjotd2Via2l0LW1ldGVyLXN1Ym9wdGltdW0tdmFsdWUge1xuICAgICAgYmFja2dyb3VuZDogJG1ldGVyLWZpbGwtbWVkaXVtO1xuXG4gICAgICBAaWYgaGFzLXZhbHVlKCRtZXRlci1yYWRpdXMpIHtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogJG1ldGVyLXJhZGl1cztcbiAgICAgIH1cbiAgICB9XG5cbiAgICAmOjotd2Via2l0LW1ldGVyLWV2ZW4tbGVzcy1nb29kLXZhbHVlIHtcbiAgICAgIGJhY2tncm91bmQ6ICRtZXRlci1maWxsLWJhZDtcblxuICAgICAgQGlmIGhhcy12YWx1ZSgkbWV0ZXItcmFkaXVzKSB7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6ICRtZXRlci1yYWRpdXM7XG4gICAgICB9XG4gICAgfVxuXG4gICAgJjo6LW1vei1tZXRlci1iYXIge1xuICAgICAgYmFja2dyb3VuZDogJHByaW1hcnktY29sb3I7XG5cbiAgICAgIEBpZiBoYXMtdmFsdWUoJG1ldGVyLXJhZGl1cykge1xuICAgICAgICBib3JkZXItcmFkaXVzOiAkbWV0ZXItcmFkaXVzO1xuICAgICAgfVxuICAgIH1cblxuICAgICY6LW1vei1tZXRlci1vcHRpbXVtOjotbW96LW1ldGVyLWJhciB7IC8vIHNhc3MtbGludDpkaXNhYmxlLWxpbmUgZm9yY2UtcHNldWRvLW5lc3RpbmdcbiAgICAgIGJhY2tncm91bmQ6ICRtZXRlci1maWxsLWdvb2Q7XG4gICAgfVxuXG4gICAgJjotbW96LW1ldGVyLXN1Yi1vcHRpbXVtOjotbW96LW1ldGVyLWJhciB7IC8vIHNhc3MtbGludDpkaXNhYmxlLWxpbmUgZm9yY2UtcHNldWRvLW5lc3RpbmdcbiAgICAgIGJhY2tncm91bmQ6ICRtZXRlci1maWxsLW1lZGl1bTtcbiAgICB9XG5cbiAgICAmOi1tb3otbWV0ZXItc3ViLXN1Yi1vcHRpbXVtOjotbW96LW1ldGVyLWJhciB7IC8vIHNhc3MtbGludDpkaXNhYmxlLWxpbmUgZm9yY2UtcHNldWRvLW5lc3RpbmdcbiAgICAgIGJhY2tncm91bmQ6ICRtZXRlci1maWxsLWJhZDtcbiAgICB9XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIGFiaWRlXG4vLy8vXG5cbi8vLyBTZXRzIGlmIGVycm9yIHN0eWxlcyBzaG91bGQgYmUgYWRkZWQgdG8gaW5wdXRzLlxuLy8vIEB0eXBlIEJvb2xlYW5cbiRhYmlkZS1pbnB1dHM6IHRydWUgIWRlZmF1bHQ7XG5cbi8vLyBTZXRzIGlmIGVycm9yIHN0eWxlcyBzaG91bGQgYmUgYWRkZWQgdG8gbGFiZWxzLlxuLy8vIEB0eXBlIEJvb2xlYW5cbiRhYmlkZS1sYWJlbHM6IHRydWUgIWRlZmF1bHQ7XG5cbi8vLyBCYWNrZ3JvdW5kIGNvbG9yIHRvIHVzZSBmb3IgaW52YWxpZCB0ZXh0IGlucHV0cy5cbi8vLyBAdHlwZSBDb2xvclxuJGlucHV0LWJhY2tncm91bmQtaW52YWxpZDogZ2V0LWNvbG9yKGFsZXJ0KSAhZGVmYXVsdDtcblxuLy8vIENvbG9yIHRvIHVzZSBmb3IgbGFiZWxzIG9mIGludmFsaWQgaW5wdXRzLlxuLy8vIEB0eXBlIENvbG9yXG4kZm9ybS1sYWJlbC1jb2xvci1pbnZhbGlkOiBnZXQtY29sb3IoYWxlcnQpICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBmb250IGNvbG9yIGZvciBmb3JtIGVycm9yIHRleHQuXG4vLy8gQHR5cGUgQ29sb3JcbiRpbnB1dC1lcnJvci1jb2xvcjogZ2V0LWNvbG9yKGFsZXJ0KSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgZm9udCBzaXplIGZvciBmb3JtIGVycm9yIHRleHQuXG4vLy8gQHR5cGUgTnVtYmVyXG4kaW5wdXQtZXJyb3ItZm9udC1zaXplOiByZW0tY2FsYygxMikgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGZvbnQgd2VpZ2h0IGZvciBmb3JtIGVycm9yIHRleHQuXG4vLy8gQHR5cGUgS2V5d29yZFxuJGlucHV0LWVycm9yLWZvbnQtd2VpZ2h0OiAkZ2xvYmFsLXdlaWdodC1ib2xkICFkZWZhdWx0O1xuXG4vLy8gU3R5bGVzIHRoZSBiYWNrZ3JvdW5kIGFuZCBib3JkZXIgb2YgYW4gaW5wdXQgZmllbGQgdG8gaGF2ZSBhbiBlcnJvciBzdGF0ZS5cbi8vL1xuLy8vIEBwYXJhbSB7Q29sb3J9ICRiYWNrZ3JvdW5kIFskYWxlcnQtY29sb3JdIC0gQ29sb3IgdG8gdXNlIGZvciB0aGUgYmFja2dyb3VuZCBhbmQgYm9yZGVyLlxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkYmFja2dyb3VuZC1saWdodGVuIFsxMCVdIC0gTGlnaHRuZXNzIGxldmVsIG9mIHRoZSBiYWNrZ3JvdW5kIGNvbG9yLlxuQG1peGluIGZvcm0taW5wdXQtZXJyb3IoXG4gICRiYWNrZ3JvdW5kOiAkaW5wdXQtYmFja2dyb3VuZC1pbnZhbGlkLFxuICAkYmFja2dyb3VuZC1saWdodGVuOiAxMCVcbikge1xuICAmOm5vdCg6Zm9jdXMpIHtcbiAgICBib3JkZXItY29sb3I6ICRiYWNrZ3JvdW5kO1xuICAgIGJhY2tncm91bmQtY29sb3I6IG1peCgkYmFja2dyb3VuZCwgJHdoaXRlLCAkYmFja2dyb3VuZC1saWdodGVuKTtcbiAgICAmOjpwbGFjZWhvbGRlciB7XG4gICAgICBjb2xvcjogJGJhY2tncm91bmQ7XG4gICAgfVxuICB9XG59XG5cbi8vLyBBZGRzIGVycm9yIHN0eWxlcyB0byBhIGZvcm0gZWxlbWVudCwgdXNpbmcgdGhlIHZhbHVlcyBpbiB0aGUgc2V0dGluZ3MgZmlsZS5cbkBtaXhpbiBmb3JtLWVycm9yIHtcbiAgZGlzcGxheTogbm9uZTtcbiAgbWFyZ2luLXRvcDogJGZvcm0tc3BhY2luZyAqIC0wLjU7XG4gIG1hcmdpbi1ib3R0b206ICRmb3JtLXNwYWNpbmc7XG5cbiAgZm9udC1zaXplOiAkaW5wdXQtZXJyb3ItZm9udC1zaXplO1xuICBmb250LXdlaWdodDogJGlucHV0LWVycm9yLWZvbnQtd2VpZ2h0O1xuICBjb2xvcjogJGlucHV0LWVycm9yLWNvbG9yO1xufVxuXG5AbWl4aW4gZm91bmRhdGlvbi1mb3JtLWVycm9yIHtcbiAgQGlmICRhYmlkZS1pbnB1dHMge1xuICAgIC8vIEVycm9yIGNsYXNzIGZvciBpbnZhbGlkIGlucHV0c1xuICAgIC5pcy1pbnZhbGlkLWlucHV0IHtcbiAgICAgIEBpbmNsdWRlIGZvcm0taW5wdXQtZXJyb3I7XG4gICAgfVxuICB9XG5cbiAgQGlmICRhYmlkZS1sYWJlbHMge1xuICAgIC8vIEVycm9yIGNsYXNzIGZvciBsYWJlbHMgb2YgaW52YWxpZCBvdXRwdXRzXG4gICAgLmlzLWludmFsaWQtbGFiZWwge1xuICAgICAgY29sb3I6ICRmb3JtLWxhYmVsLWNvbG9yLWludmFsaWQ7XG4gICAgfVxuICB9XG5cbiAgLy8gRm9ybSBlcnJvciBlbGVtZW50XG4gIC5mb3JtLWVycm9yIHtcbiAgICBAaW5jbHVkZSBmb3JtLWVycm9yO1xuXG4gICAgJi5pcy12aXNpYmxlIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIH1cbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLyBIaWRlIGFuIGVsZW1lbnQgYnkgZGVmYXVsdCwgb25seSBkaXNwbGF5aW5nIGl0IGFib3ZlIGEgY2VydGFpbiBzY3JlZW4gc2l6ZS5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRzaXplIC0gQnJlYWtwb2ludCB0byB1c2UuICoqTXVzdCBiZSBhIGJyZWFrcG9pbnQgZGVmaW5lZCBpbiBgJGJyZWFrcG9pbnRzYC4qKlxuQG1peGluIHNob3ctZm9yKCRzaXplKSB7XG4gICRzaXplOiBtYXAtZ2V0KCRicmVha3BvaW50cywgJHNpemUpO1xuICAkc2l6ZTogLXpmLWJwLXRvLWVtKCRzaXplKSAtICgxIC8gMTYpO1xuXG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQoJHNpemUgZG93bikge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgfVxufVxuXG4vLy8gSGlkZSBhbiBlbGVtZW50IGJ5IGRlZmF1bHQsIG9ubHkgZGlzcGxheWluZyBpdCB3aXRoaW4gYSBjZXJ0YWluIGJyZWFrcG9pbnQuXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkc2l6ZSAtIEJyZWFrcG9pbnQgdG8gdXNlLiAqKk11c3QgYmUgYSBicmVha3BvaW50IGRlZmluZWQgaW4gYCRicmVha3BvaW50c2AuKipcbkBtaXhpbiBzaG93LWZvci1vbmx5KCRzaXplKSB7XG4gICRsb3dlci1ib3VuZC1zaXplOiBtYXAtZ2V0KCRicmVha3BvaW50cywgJHNpemUpO1xuICAkdXBwZXItYm91bmQtc2l6ZTogLXpmLW1hcC1uZXh0KCRicmVha3BvaW50cywgJHNpemUpO1xuXG4gIC8vIG1vcmUgb2Z0ZW4gdGhhbiBub3QgdGhpcyB3aWxsIGJlIGNvcnJlY3QsIGp1c3Qgb25lIHRpbWUgcm91bmQgdGhlIGxvb3AgaXQgd29uJ3Qgc28gc2V0IGluIHNjb3BlIGhlcmVcbiAgJGxvd2VyLWJvdW5kOiAtemYtYnAtdG8tZW0oJGxvd2VyLWJvdW5kLXNpemUpIC0gKDEgLyAxNik7XG4gIC8vIHRlc3QgYWN0dWFsIGxvd2VyLWJvdW5kLXNpemUsIGlmIDAgc2V0IGl0IHRvIDBlbVxuICBAaWYgc3RyaXAtdW5pdCgkbG93ZXItYm91bmQtc2l6ZSkgPT0gMCB7XG4gICAgJGxvd2VyLWJvdW5kOiAtemYtYnAtdG8tZW0oJGxvd2VyLWJvdW5kLXNpemUpO1xuICB9XG5cbiAgQGlmICR1cHBlci1ib3VuZC1zaXplID09IG51bGwge1xuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6ICRsb3dlci1ib3VuZCkge1xuICAgICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuICAgIH1cbiAgfVxuICBAZWxzZSB7XG4gICAgJHVwcGVyLWJvdW5kOiAtemYtYnAtdG8tZW0oJHVwcGVyLWJvdW5kLXNpemUpO1xuXG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogJGxvd2VyLWJvdW5kKSwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAkdXBwZXItYm91bmQpIHtcbiAgICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgICB9XG4gIH1cbn1cblxuXG4vLy8gU2hvdyBhbiBlbGVtZW50IGJ5IGRlZmF1bHQsIGFuZCBoaWRlIGl0IGFib3ZlIGEgY2VydGFpbiBzY3JlZW4gc2l6ZS5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRzaXplIC0gQnJlYWtwb2ludCB0byB1c2UuICoqTXVzdCBiZSBhIGJyZWFrcG9pbnQgZGVmaW5lZCBpbiBgJGJyZWFrcG9pbnRzYC4qKlxuQG1peGluIGhpZGUtZm9yKCRzaXplKSB7XG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQoJHNpemUpIHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG4gIH1cbn1cblxuLy8vIFNob3cgYW4gZWxlbWVudCBieSBkZWZhdWx0LCBhbmQgaGlkZSBpdCBhYm92ZSBhIGNlcnRhaW4gc2NyZWVuIHNpemUuXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkc2l6ZSAtIEJyZWFrcG9pbnQgdG8gdXNlLiAqKk11c3QgYmUgYSBicmVha3BvaW50IGRlZmluZWQgaW4gYCRicmVha3BvaW50c2AuKipcbkBtaXhpbiBoaWRlLWZvci1vbmx5KCRzaXplKSB7XG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQoJHNpemUgb25seSkge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgfVxufVxuXG5AbWl4aW4gZm91bmRhdGlvbi12aXNpYmlsaXR5LWNsYXNzZXMge1xuICAvLyBCYXNpYyBoaWRpbmcgY2xhc3Nlc1xuICAuaGlkZSB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuICB9XG5cbiAgLmludmlzaWJsZSB7XG4gICAgdmlzaWJpbGl0eTogaGlkZGVuO1xuICB9XG5cbiAgLy8gUmVzcG9uc2l2ZSB2aXNpYmlsaXR5IGNsYXNzZXNcbiAgQGVhY2ggJHNpemUgaW4gJGJyZWFrcG9pbnQtY2xhc3NlcyB7XG4gICAgQGlmICRzaXplICE9ICQtemYtemVyby1icmVha3BvaW50IHtcbiAgICAgIC5oaWRlLWZvci0jeyRzaXplfSB7XG4gICAgICAgIEBpbmNsdWRlIGhpZGUtZm9yKCRzaXplKTtcbiAgICAgIH1cblxuICAgICAgLnNob3ctZm9yLSN7JHNpemV9IHtcbiAgICAgICAgQGluY2x1ZGUgc2hvdy1mb3IoJHNpemUpO1xuICAgICAgfVxuICAgIH1cblxuICAgIC5oaWRlLWZvci0jeyRzaXplfS1vbmx5IHtcbiAgICAgIEBpbmNsdWRlIGhpZGUtZm9yLW9ubHkoJHNpemUpO1xuICAgIH1cblxuICAgIC5zaG93LWZvci0jeyRzaXplfS1vbmx5IHtcbiAgICAgIEBpbmNsdWRlIHNob3ctZm9yLW9ubHkoJHNpemUpO1xuICAgIH1cbiAgfVxuXG4gIC8vIFNjcmVlbiByZWFkZXIgdmlzaWJpbGl0eSBjbGFzc2VzXG4gIC8vIE5lZWQgYSBcImhpZGUtZm9yLXNyXCIgY2xhc3M/IEFkZCBhcmlhLWhpZGRlbj0ndHJ1ZScgdG8gdGhlIGVsZW1lbnRcbiAgLnNob3ctZm9yLXNyLFxuICAuc2hvdy1vbi1mb2N1cyB7XG4gICAgQGluY2x1ZGUgZWxlbWVudC1pbnZpc2libGU7XG4gIH1cblxuICAvLyBPbmx5IGRpc3BsYXkgdGhlIGVsZW1lbnQgd2hlbiBpdCdzIGZvY3VzZWRcbiAgLnNob3ctb24tZm9jdXMge1xuICAgICY6YWN0aXZlLFxuICAgICY6Zm9jdXMge1xuICAgICAgQGluY2x1ZGUgZWxlbWVudC1pbnZpc2libGUtb2ZmO1xuICAgIH1cbiAgfVxuXG4gIC8vIExhbmRzY2FwZSBhbmQgcG9ydHJhaXQgdmlzaWJpbGl0eVxuICAuc2hvdy1mb3ItbGFuZHNjYXBlLFxuICAuaGlkZS1mb3ItcG9ydHJhaXQge1xuICAgIGRpc3BsYXk6IGJsb2NrICFpbXBvcnRhbnQ7XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhbmRzY2FwZSkge1xuICAgICAgZGlzcGxheTogYmxvY2sgIWltcG9ydGFudDtcbiAgICB9XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KHBvcnRyYWl0KSB7XG4gICAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG4gICAgfVxuICB9XG5cbiAgLmhpZGUtZm9yLWxhbmRzY2FwZSxcbiAgLnNob3ctZm9yLXBvcnRyYWl0IHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhbmRzY2FwZSkge1xuICAgICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuICAgIH1cblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQocG9ydHJhaXQpIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrICFpbXBvcnRhbnQ7XG4gICAgfVxuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBmbG9hdFxuLy8vL1xuXG5AbWl4aW4gZm91bmRhdGlvbi1mbG9hdC1jbGFzc2VzIHtcbiAgLmZsb2F0LWxlZnQge1xuICAgIGZsb2F0OiBsZWZ0ICFpbXBvcnRhbnQ7XG4gIH1cblxuICAuZmxvYXQtcmlnaHQge1xuICAgIGZsb2F0OiByaWdodCAhaW1wb3J0YW50O1xuICB9XG5cbiAgLmZsb2F0LWNlbnRlciB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xuICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICB9XG5cbiAgLmNsZWFyZml4IHtcbiAgICBAaW5jbHVkZSBjbGVhcmZpeDtcbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgYnV0dG9uXG4vLy8vXG5cbi8vLyBGb250IGZhbWlseSBmb3IgYnV0dG9uIGVsZW1lbnRzLlxuLy8vIEB0eXBlIEZvbnRcbiRidXR0b24tZm9udC1mYW1pbHk6IGluaGVyaXQgIWRlZmF1bHQ7XG5cbi8vLyBQYWRkaW5nIGluc2lkZSBidXR0b25zLlxuLy8vIEB0eXBlIExpc3RcbiRidXR0b24tcGFkZGluZzogMC44NWVtIDFlbSAhZGVmYXVsdDtcblxuLy8vIE1hcmdpbiBhcm91bmQgYnV0dG9ucy5cbi8vLyBAdHlwZSBMaXN0XG4kYnV0dG9uLW1hcmdpbjogMCAwICRnbG9iYWwtbWFyZ2luIDAgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGZpbGwgZm9yIGJ1dHRvbnMuIENhbiBlaXRoZXIgYmUgYHNvbGlkYCBvciBgaG9sbG93YC5cbi8vLyBAdHlwZSBLZXl3b3JkXG4kYnV0dG9uLWZpbGw6IHNvbGlkICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBiYWNrZ3JvdW5kIGNvbG9yIGZvciBidXR0b25zLlxuLy8vIEB0eXBlIENvbG9yXG4kYnV0dG9uLWJhY2tncm91bmQ6ICRwcmltYXJ5LWNvbG9yICFkZWZhdWx0O1xuXG4vLy8gQmFja2dyb3VuZCBjb2xvciBvbiBob3ZlciBmb3IgYnV0dG9ucy5cbi8vLyBAdHlwZSBDb2xvclxuJGJ1dHRvbi1iYWNrZ3JvdW5kLWhvdmVyOiBzY2FsZS1jb2xvcigkYnV0dG9uLWJhY2tncm91bmQsICRsaWdodG5lc3M6IC0xNSUpICFkZWZhdWx0O1xuXG4vLy8gRm9udCBjb2xvciBmb3IgYnV0dG9ucy5cbi8vLyBAdHlwZSBMaXN0XG4kYnV0dG9uLWNvbG9yOiAkd2hpdGUgIWRlZmF1bHQ7XG5cbi8vLyBBbHRlcm5hdGl2ZSBmb250IGNvbG9yIGZvciBidXR0b25zLlxuLy8vIEB0eXBlIExpc3RcbiRidXR0b24tY29sb3ItYWx0OiAkYmxhY2sgIWRlZmF1bHQ7XG5cbi8vLyBCb3JkZXIgcmFkaXVzIGZvciBidXR0b25zLCBkZWZhdWx0ZWQgdG8gZ2xvYmFsLXJhZGl1cy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRidXR0b24tcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cyAhZGVmYXVsdDtcblxuLy8vIEJvcmRlciB3aWR0aCBmb3IgaG9sbG93IG91dGxpbmUgYnV0dG9uc1xuLy8vIEB0eXBlIE51bWJlclxuJGJ1dHRvbi1ob2xsb3ctYm9yZGVyLXdpZHRoOiAxcHggIWRlZmF1bHQ7XG5cbi8vLyBTaXplcyBmb3IgYnV0dG9ucy5cbi8vLyBAdHlwZSBNYXBcbiRidXR0b24tc2l6ZXM6IChcbiAgdGlueTogMC42cmVtLFxuICBzbWFsbDogMC43NXJlbSxcbiAgZGVmYXVsdDogMC45cmVtLFxuICBsYXJnZTogMS4yNXJlbSxcbikgIWRlZmF1bHQ7XG5cbi8vLyBDb2xvcmluZyBjbGFzc2VzLiBBIG1hcCBvZiBjbGFzc2VzIHRvIG91dHB1dCBpbiB5b3VyIENTUywgbGlrZSBgLnNlY29uZGFyeWAsIGAuc3VjY2Vzc2AsIGFuZCBzbyBvbi5cbi8vLyBAdHlwZSBNYXBcbiRidXR0b24tcGFsZXR0ZTogJGZvdW5kYXRpb24tcGFsZXR0ZSAhZGVmYXVsdDtcblxuLy8vIG9wYWNpdHkgZm9yIGEgZGlzYWJsZWQgYnV0dG9uLlxuLy8vIEB0eXBlIExpc3RcbiRidXR0b24tb3BhY2l0eS1kaXNhYmxlZDogMC4yNSAhZGVmYXVsdDtcblxuLy8vIEJhY2tncm91bmQgY29sb3IgbGlnaHRuZXNzIG9uIGhvdmVyIGZvciBidXR0b25zLlxuLy8vIEB0eXBlIE51bWJlclxuJGJ1dHRvbi1iYWNrZ3JvdW5kLWhvdmVyLWxpZ2h0bmVzczogLTIwJSAhZGVmYXVsdDtcblxuLy8vIENvbG9yIGxpZ2h0bmVzcyBvbiBob3ZlciBmb3IgaG9sbG93IGJ1dHRvbnMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kYnV0dG9uLWhvbGxvdy1ob3Zlci1saWdodG5lc3M6IC01MCUgIWRlZmF1bHQ7XG5cbi8vIEludGVybmFsOiBmbGlwIGZyb20gbWFyZ2luLXJpZ2h0IHRvIG1hcmdpbi1sZWZ0IGZvciBkZWZhdWx0c1xuQGlmICRnbG9iYWwtdGV4dC1kaXJlY3Rpb24gPT0gJ3J0bCcge1xuICAkYnV0dG9uLW1hcmdpbjogMCAwICRnbG9iYWwtbWFyZ2luICRnbG9iYWwtbWFyZ2luICFkZWZhdWx0O1xufVxuXG4vLy8gdHJhbnNpdGlvbnMgZm9yIGJ1dHRvbnMuXG4vLy8gQHR5cGUgTGlzdFxuJGJ1dHRvbi10cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDAuMjVzIGVhc2Utb3V0LCBjb2xvciAwLjI1cyBlYXNlLW91dCAhZGVmYXVsdDtcblxuLy8gVE9ETzogRG9jdW1lbnQgYnV0dG9uLWJhc2UoKSBtaXhpblxuQG1peGluIGJ1dHRvbi1iYXNlIHtcbiAgQGluY2x1ZGUgZGlzYWJsZS1tb3VzZS1vdXRsaW5lO1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gIG1hcmdpbjogJGJ1dHRvbi1tYXJnaW47XG4gIGZvbnQtZmFtaWx5OiAkYnV0dG9uLWZvbnQtZmFtaWx5O1xuXG4gIEBpZiAodHlwZS1vZigkYnV0dG9uLXBhZGRpbmcpID09ICdtYXAnKSB7XG4gICAgQGVhY2ggJHNpemUsICRwYWRkaW5nIGluICRidXR0b24tcGFkZGluZyB7XG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KCRzaXplKSB7XG4gICAgICAgIHBhZGRpbmc6ICRwYWRkaW5nO1xuICAgICAgfVxuICAgIH1cbiAgfVxuICBAZWxzZSB7XG4gICAgcGFkZGluZzogJGJ1dHRvbi1wYWRkaW5nO1xuICB9XG5cbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lO1xuICBib3JkZXI6IDFweCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgYm9yZGVyLXJhZGl1czogJGJ1dHRvbi1yYWRpdXM7XG4gIHRyYW5zaXRpb246ICRidXR0b24tdHJhbnNpdGlvbjtcblxuICBmb250LXNpemU6IG1hcC1nZXQoJGJ1dHRvbi1zaXplcywgZGVmYXVsdCk7XG4gIGxpbmUtaGVpZ2h0OiAxO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIGN1cnNvcjogcG9pbnRlcjtcbn1cblxuLy8vIEV4cGFuZHMgYSBidXR0b24gdG8gbWFrZSBpdCBmdWxsLXdpZHRoLlxuLy8vIEBwYXJhbSB7Qm9vbGVhbn0gJGV4cGFuZCBbdHJ1ZV0gLSBTZXQgdG8gYHRydWVgIHRvIGVuYWJsZSB0aGUgZXhwYW5kIGJlaGF2aW9yLiBTZXQgdG8gYGZhbHNlYCB0byByZXZlcnNlIHRoaXMgYmVoYXZpb3IuXG5AbWl4aW4gYnV0dG9uLWV4cGFuZCgkZXhwYW5kOiB0cnVlKSB7XG4gIEBpZiAkZXhwYW5kIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB3aWR0aDogMTAwJTtcbiAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gICAgbWFyZ2luLWxlZnQ6IDA7XG4gIH1cbiAgQGVsc2Uge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICB3aWR0aDogYXV0bztcbiAgICBtYXJnaW46ICRidXR0b24tbWFyZ2luO1xuICB9XG59XG5cbi8vLyBTZXRzIHRoZSB2aXN1YWwgc3R5bGUgb2YgYSBidXR0b24uXG4vLy8gQHBhcmFtIHtDb2xvcn0gJGJhY2tncm91bmQgWyRidXR0b24tYmFja2dyb3VuZF0gLSBCYWNrZ3JvdW5kIGNvbG9yIG9mIHRoZSBidXR0b24uXG4vLy8gQHBhcmFtIHtDb2xvcn0gJGJhY2tncm91bmQtaG92ZXIgWyRidXR0b24tYmFja2dyb3VuZC1ob3Zlcl0gLSBCYWNrZ3JvdW5kIGNvbG9yIG9mIHRoZSBidXR0b24gb24gaG92ZXIuIFNldCB0byBgYXV0b2AgdG8gaGF2ZSB0aGUgbWl4aW4gYXV0b21hdGljYWxseSBnZW5lcmF0ZSBhIGhvdmVyIGNvbG9yLlxuLy8vIEBwYXJhbSB7Q29sb3J9ICRjb2xvciBbJGJ1dHRvbi1jb2xvcl0gLSBUZXh0IGNvbG9yIG9mIHRoZSBidXR0b24uIFNldCB0byBgYXV0b2AgdG8gYXV0b21hdGljYWxseSBnZW5lcmF0ZSBhIGNvbG9yIGJhc2VkIG9uIHRoZSBiYWNrZ3JvdW5kIGNvbG9yLlxuQG1peGluIGJ1dHRvbi1zdHlsZShcbiAgJGJhY2tncm91bmQ6ICRidXR0b24tYmFja2dyb3VuZCxcbiAgJGJhY2tncm91bmQtaG92ZXI6ICRidXR0b24tYmFja2dyb3VuZC1ob3ZlcixcbiAgJGNvbG9yOiAkYnV0dG9uLWNvbG9yLFxuICAkYmFja2dyb3VuZC1ob3Zlci1saWdodG5lc3M6ICRidXR0b24tYmFja2dyb3VuZC1ob3Zlci1saWdodG5lc3Ncbikge1xuICBAaWYgJGNvbG9yID09IGF1dG8ge1xuICAgICRjb2xvcjogY29sb3ItcGljay1jb250cmFzdCgkYmFja2dyb3VuZCwgKCRidXR0b24tY29sb3IsICRidXR0b24tY29sb3ItYWx0KSk7XG4gIH1cblxuICBAaWYgJGJhY2tncm91bmQtaG92ZXIgPT0gYXV0byB7XG4gICAgJGJhY2tncm91bmQtaG92ZXI6IHNjYWxlLWNvbG9yKCRiYWNrZ3JvdW5kLCAkbGlnaHRuZXNzOiAkYmFja2dyb3VuZC1ob3Zlci1saWdodG5lc3MpO1xuICB9XG5cbiAgYmFja2dyb3VuZC1jb2xvcjogJGJhY2tncm91bmQ7XG4gIGNvbG9yOiAkY29sb3I7XG5cbiAgJjpob3ZlciwgJjpmb2N1cyB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGJhY2tncm91bmQtaG92ZXI7XG4gICAgY29sb3I6ICRjb2xvcjtcbiAgfVxufVxuXG4vLy8gUmVtb3ZlcyBiYWNrZ3JvdW5kIGZpbGwgb24gaG92ZXIgYW5kIGZvY3VzIGZvciBob2xsb3cgYnV0dG9ucy5cbkBtaXhpbiBidXR0b24taG9sbG93IHtcbiAgJixcbiAgJjpob3ZlciwgJjpmb2N1cyB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIH1cblxuICAmLmRpc2FibGVkLFxuICAmW2Rpc2FibGVkXSB7XG4gICAgJixcbiAgICAmOmhvdmVyLCAmOmZvY3VzIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgIH1cbiAgfVxufVxuXG5AbWl4aW4gYnV0dG9uLWhvbGxvdy1zdHlsZShcbiAgJGNvbG9yOiAkYnV0dG9uLWJhY2tncm91bmQsXG4gICRob3Zlci1saWdodG5lc3M6ICRidXR0b24taG9sbG93LWhvdmVyLWxpZ2h0bmVzcyxcbiAgJGJvcmRlci13aWR0aDogJGJ1dHRvbi1ob2xsb3ctYm9yZGVyLXdpZHRoXG4pIHtcbiAgJGNvbG9yLWhvdmVyOiBzY2FsZS1jb2xvcigkY29sb3IsICRsaWdodG5lc3M6ICRob3Zlci1saWdodG5lc3MpO1xuXG4gIGJvcmRlcjogJGJvcmRlci13aWR0aCBzb2xpZCAkY29sb3I7XG4gIGNvbG9yOiAkY29sb3I7XG5cbiAgJjpob3ZlciwgJjpmb2N1cyB7XG4gICAgYm9yZGVyLWNvbG9yOiAkY29sb3ItaG92ZXI7XG4gICAgY29sb3I6ICRjb2xvci1ob3ZlcjtcbiAgICAmLmRpc2FibGVkLFxuICAgICZbZGlzYWJsZWRdIHtcbiAgICAgIGJvcmRlcjogJGJvcmRlci13aWR0aCBzb2xpZCAkY29sb3I7XG4gICAgICBjb2xvcjogJGNvbG9yO1xuICAgIH1cbiAgfVxufVxuXG4vLy8gQWRkcyBkaXNhYmxlZCBzdHlsZXMgdG8gYSBidXR0b24gYnkgZmFkaW5nIHRoZSBlbGVtZW50LCByZXNldGluZyB0aGUgY3Vyc29yLCBhbmQgZGlzYWJsaW5nIHBvaW50ZXIgZXZlbnRzLlxuLy8vIEBwYXJhbSBbQ29sb3JdICRiYWNrZ3JvdW5kIFskYnV0dG9uLWJhY2tncm91bmRdIC0gQmFja2dyb3VuZCBjb2xvciBvZiB0aGUgZGlzYWJsZWQgYnV0dG9uLlxuLy8vIEBwYXJhbSBbQ29sb3JdICRjb2xvciBbJGJ1dHRvbi1jb2xvcl0gLSBUZXh0IGNvbG9yIG9mIHRoZSBkaXNhYmxlZCBidXR0b24uIFNldCB0byBgYXV0b2AgdG8gaGF2ZSB0aGUgbWl4aW4gYXV0b21hdGljYWxseSBnZW5lcmF0ZSBhIGNvbG9yIGJhc2VkIG9uIHRoZSBiYWNrZ3JvdW5kIGNvbG9yLlxuQG1peGluIGJ1dHRvbi1kaXNhYmxlZChcbiAgJGJhY2tncm91bmQ6ICRidXR0b24tYmFja2dyb3VuZCxcbiAgJGNvbG9yOiAkYnV0dG9uLWNvbG9yXG4pIHtcbiAgQGlmICRjb2xvciA9PSBhdXRvIHtcbiAgICAkY29sb3I6IGNvbG9yLXBpY2stY29udHJhc3QoJGJhY2tncm91bmQsICgkYnV0dG9uLWNvbG9yLCAkYnV0dG9uLWNvbG9yLWFsdCkpO1xuICB9XG5cbiAgb3BhY2l0eTogJGJ1dHRvbi1vcGFjaXR5LWRpc2FibGVkO1xuICBjdXJzb3I6IG5vdC1hbGxvd2VkO1xuXG4gICYsICY6aG92ZXIsICY6Zm9jdXMge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRiYWNrZ3JvdW5kO1xuICAgIGNvbG9yOiAkY29sb3I7XG4gIH1cbn1cblxuLy8vIEFkZHMgYSBkcm9wZG93biBhcnJvdyB0byBhIGJ1dHRvbi5cbi8vLyBAcGFyYW0ge051bWJlcn0gJHNpemUgWzAuNGVtXSAtIFNpemUgb2YgdGhlIGFycm93LiBXZSByZWNvbW1lbmQgdXNpbmcgYW4gYGVtYCB2YWx1ZSBzbyB0aGUgdHJpYW5nbGUgc2NhbGVzIHdoZW4gdXNlZCBpbnNpZGUgZGlmZmVyZW50IHNpemVzIG9mIGJ1dHRvbnMuXG4vLy8gQHBhcmFtIHtDb2xvcn0gJGNvbG9yIFt3aGl0ZV0gLSBDb2xvciBvZiB0aGUgYXJyb3cuXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRvZmZzZXQgWyRidXR0b24tcGFkZGluZ10gLSBEaXN0YW5jZSBiZXR3ZWVuIHRoZSBhcnJvdyBhbmQgdGhlIHRleHQgb2YgdGhlIGJ1dHRvbi4gRGVmYXVsdHMgdG8gd2hhdGV2ZXIgdGhlIHJpZ2h0IHBhZGRpbmcgb2YgYSBidXR0b24gaXMuXG5AbWl4aW4gYnV0dG9uLWRyb3Bkb3duKFxuICAkc2l6ZTogMC40ZW0sXG4gICRjb2xvcjogJHdoaXRlLFxuICAkb2Zmc2V0OiBnZXQtc2lkZSgkYnV0dG9uLXBhZGRpbmcsIHJpZ2h0KVxuKSB7XG4gICY6OmFmdGVyIHtcbiAgICBAaW5jbHVkZSBjc3MtdHJpYW5nbGUoJHNpemUsICRjb2xvciwgZG93bik7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHRvcDogMC40ZW07IC8vIEFsaWducyB0aGUgYXJyb3cgd2l0aCB0aGUgdGV4dCBvZiB0aGUgYnV0dG9uXG5cbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgZmxvYXQ6ICN7JGdsb2JhbC1yaWdodH07XG4gICAgbWFyZ2luLSN7JGdsb2JhbC1sZWZ0fTogJG9mZnNldDtcbiAgfVxufVxuXG4vLy8gQWRkcyBhbGwgc3R5bGVzIGZvciBhIGJ1dHRvbi4gRm9yIG1vcmUgZ3JhbnVsYXIgY29udHJvbCBvdmVyIHN0eWxlcywgdXNlIHRoZSBpbmRpdmlkdWFsIGJ1dHRvbiBtaXhpbnMuXG4vLy8gQHBhcmFtIHtCb29sZWFufSAkZXhwYW5kIFtmYWxzZV0gLSBTZXQgdG8gYHRydWVgIHRvIG1ha2UgdGhlIGJ1dHRvbiBmdWxsLXdpZHRoLlxuLy8vIEBwYXJhbSB7Q29sb3J9ICRiYWNrZ3JvdW5kIFskYnV0dG9uLWJhY2tncm91bmRdIC0gQmFja2dyb3VuZCBjb2xvciBvZiB0aGUgYnV0dG9uLlxuLy8vIEBwYXJhbSB7Q29sb3J9ICRiYWNrZ3JvdW5kLWhvdmVyIFskYnV0dG9uLWJhY2tncm91bmQtaG92ZXJdIC0gQmFja2dyb3VuZCBjb2xvciBvZiB0aGUgYnV0dG9uIG9uIGhvdmVyLiBTZXQgdG8gYGF1dG9gIHRvIGhhdmUgdGhlIG1peGluIGF1dG9tYXRpY2FsbHkgZ2VuZXJhdGUgYSBob3ZlciBjb2xvci5cbi8vLyBAcGFyYW0ge0NvbG9yfSAkY29sb3IgWyRidXR0b24tY29sb3JdIC0gVGV4dCBjb2xvciBvZiB0aGUgYnV0dG9uLiBTZXQgdG8gYGF1dG9gIHRvIGF1dG9tYXRpY2FsbHkgZ2VuZXJhdGUgYSBjb2xvciBiYXNlZCBvbiB0aGUgYmFja2dyb3VuZCBjb2xvci5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRzdHlsZSBbc29saWRdIC0gU2V0IHRvIGBob2xsb3dgIHRvIGNyZWF0ZSBhIGhvbGxvdyBidXR0b24uIFRoZSBjb2xvciBkZWZpbmVkIGluIGAkYmFja2dyb3VuZGAgd2lsbCBiZSB1c2VkIGFzIHRoZSBwcmltYXJ5IGNvbG9yIG9mIHRoZSBidXR0b24uXG5AbWl4aW4gYnV0dG9uKFxuICAkZXhwYW5kOiBmYWxzZSxcbiAgJGJhY2tncm91bmQ6ICRidXR0b24tYmFja2dyb3VuZCxcbiAgJGJhY2tncm91bmQtaG92ZXI6ICRidXR0b24tYmFja2dyb3VuZC1ob3ZlcixcbiAgJGNvbG9yOiAkYnV0dG9uLWNvbG9yLFxuICAkc3R5bGU6ICRidXR0b24tZmlsbFxuKSB7XG4gIEBpbmNsdWRlIGJ1dHRvbi1iYXNlO1xuXG4gIEBpZiAkc3R5bGUgPT0gc29saWQge1xuICAgIEBpbmNsdWRlIGJ1dHRvbi1zdHlsZSgkYmFja2dyb3VuZCwgJGJhY2tncm91bmQtaG92ZXIsICRjb2xvcik7XG4gIH1cbiAgQGVsc2UgaWYgJHN0eWxlID09IGhvbGxvdyB7XG4gICAgQGluY2x1ZGUgYnV0dG9uLWhvbGxvdztcbiAgICBAaW5jbHVkZSBidXR0b24taG9sbG93LXN0eWxlKCRiYWNrZ3JvdW5kKTtcbiAgfVxuXG4gIEBpZiAkZXhwYW5kIHtcbiAgICBAaW5jbHVkZSBidXR0b24tZXhwYW5kO1xuICB9XG59XG5cbkBtaXhpbiBmb3VuZGF0aW9uLWJ1dHRvbiB7XG4gIC5idXR0b24ge1xuICAgIEBpbmNsdWRlIGJ1dHRvbjtcblxuICAgIC8vIFNpemVzXG4gICAgQGVhY2ggJHNpemUsICR2YWx1ZSBpbiBtYXAtcmVtb3ZlKCRidXR0b24tc2l6ZXMsIGRlZmF1bHQpIHtcbiAgICAgICYuI3skc2l6ZX0ge1xuICAgICAgICBmb250LXNpemU6ICR2YWx1ZTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAmLmV4cGFuZGVkIHsgQGluY2x1ZGUgYnV0dG9uLWV4cGFuZDsgfVxuXG4gICAgLy8gQ29sb3JzXG4gICAgQGVhY2ggJG5hbWUsICRjb2xvciBpbiAkYnV0dG9uLXBhbGV0dGUge1xuICAgICAgQGlmICRidXR0b24tZmlsbCAhPSBob2xsb3cge1xuICAgICAgICAmLiN7JG5hbWV9IHtcbiAgICAgICAgICBAaW5jbHVkZSBidXR0b24tc3R5bGUoJGNvbG9yLCBhdXRvLCBhdXRvKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgQGVsc2Uge1xuICAgICAgICAmLiN7JG5hbWV9IHtcbiAgICAgICAgICBAaW5jbHVkZSBidXR0b24taG9sbG93LXN0eWxlKCRjb2xvcik7XG4gICAgICAgIH1cblxuICAgICAgICAmLiN7JG5hbWV9LmRyb3Bkb3duOjphZnRlciB7XG4gICAgICAgICAgYm9yZGVyLXRvcC1jb2xvcjogJGNvbG9yO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gRGlzYWJsZWQgc3R5bGVcbiAgICAmLmRpc2FibGVkLFxuICAgICZbZGlzYWJsZWRdIHtcbiAgICAgIEBpbmNsdWRlIGJ1dHRvbi1kaXNhYmxlZDtcblxuICAgICAgQGVhY2ggJG5hbWUsICRjb2xvciBpbiAkYnV0dG9uLXBhbGV0dGUge1xuICAgICAgICAmLiN7JG5hbWV9IHtcbiAgICAgICAgICBAaW5jbHVkZSBidXR0b24tZGlzYWJsZWQoJGNvbG9yLCBhdXRvKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIC8vIEhvbGxvdyBzdHlsZVxuICAgIEBpZiAkYnV0dG9uLWZpbGwgIT0gaG9sbG93IHtcbiAgICAgICYuaG9sbG93IHtcbiAgICAgICAgQGluY2x1ZGUgYnV0dG9uLWhvbGxvdztcbiAgICAgICAgQGluY2x1ZGUgYnV0dG9uLWhvbGxvdy1zdHlsZTtcblxuICAgICAgICBAZWFjaCAkbmFtZSwgJGNvbG9yIGluICRidXR0b24tcGFsZXR0ZSB7XG4gICAgICAgICAgJi4jeyRuYW1lfSB7XG4gICAgICAgICAgICBAaW5jbHVkZSBidXR0b24taG9sbG93LXN0eWxlKCRjb2xvcik7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gQ2xlYXIgc3R5bGVcbiAgICBAaWYgJGJ1dHRvbi1maWxsICE9IGNsZWFyIHtcbiAgICAgICYuY2xlYXIge1xuICAgICAgICBAaW5jbHVkZSBidXR0b24taG9sbG93O1xuICAgICAgICBAaW5jbHVkZSBidXR0b24taG9sbG93LXN0eWxlO1xuXG4gICAgICAgICYsICY6aG92ZXIsICY6Zm9jdXMge1xuICAgICAgICAgICYsICYuZGlzYWJsZWQsICZbZGlzYWJsZWRdIHtcbiAgICAgICAgICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgQGVhY2ggJG5hbWUsICRjb2xvciBpbiAkYnV0dG9uLXBhbGV0dGUge1xuICAgICAgICAgICYuI3skbmFtZX0ge1xuICAgICAgICAgICAgQGluY2x1ZGUgYnV0dG9uLWhvbGxvdy1zdHlsZSgkY29sb3IpO1xuXG4gICAgICAgICAgICAmLCAmOmhvdmVyLFxuICAgICAgICAgICAgJjpmb2N1cyB7XG4gICAgICAgICAgICAgICYsXG4gICAgICAgICAgICAgICYuZGlzYWJsZWQsXG4gICAgICAgICAgICAgICZbZGlzYWJsZWRdIHtcbiAgICAgICAgICAgICAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50O1xuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gRHJvcGRvd24gYXJyb3dcbiAgICAmLmRyb3Bkb3duIHtcbiAgICAgIEBpbmNsdWRlIGJ1dHRvbi1kcm9wZG93bjtcblxuICAgICAgQGlmICRidXR0b24tZmlsbCA9PSBob2xsb3cge1xuICAgICAgICAmOjphZnRlciB7XG4gICAgICAgICAgYm9yZGVyLXRvcC1jb2xvcjogJGJ1dHRvbi1iYWNrZ3JvdW5kO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgICYuaG9sbG93IHtcbiAgICAgICAgJjo6YWZ0ZXIge1xuICAgICAgICAgIGJvcmRlci10b3AtY29sb3I6ICRidXR0b24tYmFja2dyb3VuZDtcbiAgICAgICAgfVxuXG4gICAgICAgIEBlYWNoICRuYW1lLCAkY29sb3IgaW4gJGJ1dHRvbi1wYWxldHRlIHtcbiAgICAgICAgICAmLiN7JG5hbWV9IHtcbiAgICAgICAgICAgICY6OmFmdGVyIHtcbiAgICAgICAgICAgICAgYm9yZGVyLXRvcC1jb2xvcjogJGNvbG9yO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIC8vIEJ1dHRvbiB3aXRoIGRyb3Bkb3duIGFycm93IG9ubHlcbiAgICAmLmFycm93LW9ubHk6OmFmdGVyIHtcbiAgICAgIHRvcDogLTAuMWVtO1xuICAgICAgZmxvYXQ6IG5vbmU7XG4gICAgICBtYXJnaW4tI3skZ2xvYmFsLWxlZnR9OiAwO1xuICAgIH1cbiAgfVxuICBhLmJ1dHRvbiB7XG4gICAgJjpob3ZlcixcbiAgICAmOmZvY3VzIHtcbiAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICB9XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIGJ1dHRvbi1ncm91cFxuLy8vL1xuXG4vLy8gTWFyZ2luIGZvciBidXR0b24gZ3JvdXBzLlxuLy8vIEB0eXBlIE51bWJlclxuJGJ1dHRvbmdyb3VwLW1hcmdpbjogMXJlbSAhZGVmYXVsdDtcblxuLy8vIE1hcmdpbiBiZXR3ZWVuIGJ1dHRvbnMgaW4gYSBidXR0b24gZ3JvdXAuXG4vLy8gQHR5cGUgTnVtYmVyXG4kYnV0dG9uZ3JvdXAtc3BhY2luZzogMXB4ICFkZWZhdWx0O1xuXG4vLy8gU2VsZWN0b3IgZm9yIHRoZSBidXR0b25zIGluc2lkZSBhIGJ1dHRvbiBncm91cC5cbi8vLyBAdHlwZSBTdHJpbmdcbiRidXR0b25ncm91cC1jaGlsZC1zZWxlY3RvcjogJy5idXR0b24nICFkZWZhdWx0O1xuXG4vLy8gTWF4aW11bSBudW1iZXIgb2YgYnV0dG9ucyB0aGF0IGNhbiBiZSBpbiBhbiBldmVuLXdpZHRoIGJ1dHRvbiBncm91cC5cbi8vLyBAdHlwZSBOdW1iZXJcbiRidXR0b25ncm91cC1leHBhbmQtbWF4OiA2ICFkZWZhdWx0O1xuXG4vLy8gRGV0ZXJtaW5lcyBpZiAkYnV0dG9uLXJhZGl1cyBpcyBhcHBsaWVkIHRvIGVhY2ggYnV0dG9uIG9yIHRoZSBidXR0b24gZ3JvdXAgYXMgYSB3aG9sZS4gVXNlICRnbG9iYWwtcmFkaXVzIGluIF9zZXR0aW5ncy5zY3NzIHRvIGNoYW5nZSByYWRpdXMuXG4vLy8gQHR5cGUgQm9vbGVhblxuJGJ1dHRvbmdyb3VwLXJhZGl1cy1vbi1lYWNoOiB0cnVlICFkZWZhdWx0O1xuXG4vLy8gQWRkIHN0eWxlcyBmb3IgYSBidXR0b24gZ3JvdXAgY29udGFpbmVyLlxuLy8vIEBwYXJhbSB7U3RyaW5nfSAkY2hpbGQtc2VsZWN0b3IgWyRidXR0b25ncm91cC1jaGlsZC1zZWxlY3Rvcl0gLSBTZWxlY3RvciBmb3IgdGhlIGJ1dHRvbnMgaW5zaWRlIGEgYnV0dG9uIGdyb3VwLlxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkc3BhY2luZyBbJGJ1dHRvbmdyb3VwLXNwYWNpbmddIC0gU3BhY2luZyBiZXR3ZWVuIGJ1dHRvbnMgaW4gYSBidXR0b24gZ3JvdXAuXG5AbWl4aW4gYnV0dG9uLWdyb3VwKFxuICAkY2hpbGQtc2VsZWN0b3I6ICRidXR0b25ncm91cC1jaGlsZC1zZWxlY3RvcixcbiAgJHNwYWNpbmc6ICRidXR0b25ncm91cC1zcGFjaW5nXG4pIHtcbiAgQGluY2x1ZGUgY2xlYXJmaXg7XG4gIG1hcmdpbi1ib3R0b206ICRidXR0b25ncm91cC1tYXJnaW47XG5cbiAgQGlmICRnbG9iYWwtZmxleGJveCB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LXdyYXA6IG5vd3JhcDtcbiAgICBhbGlnbi1pdGVtczogc3RyZXRjaDtcbiAgfVxuICBAZWxzZSB7XG4gICAgZm9udC1zaXplOiAwO1xuICB9XG5cbiAgI3skY2hpbGQtc2VsZWN0b3J9IHtcbiAgICBtYXJnaW46IDA7XG4gICAgbWFyZ2luLSN7JGdsb2JhbC1yaWdodH06ICRzcGFjaW5nO1xuICAgIG1hcmdpbi1ib3R0b206ICRzcGFjaW5nO1xuICAgIGZvbnQtc2l6ZTogbWFwLWdldCgkYnV0dG9uLXNpemVzLCBkZWZhdWx0KTtcblxuICAgIEBpZiAkZ2xvYmFsLWZsZXhib3gge1xuICAgICAgZmxleDogMCAwIGF1dG87XG4gICAgfVxuXG4gICAgJjpsYXN0LWNoaWxkIHtcbiAgICAgIG1hcmdpbi0jeyRnbG9iYWwtcmlnaHR9OiAwO1xuICAgIH1cblxuICAgIEBpZiBub3QgJGJ1dHRvbmdyb3VwLXJhZGl1cy1vbi1lYWNoIHtcbiAgICAgIGJvcmRlci1yYWRpdXM6IDA7XG5cbiAgICAgICY6Zmlyc3QtY2hpbGQge1xuICAgICAgICBib3JkZXItdG9wLSN7JGdsb2JhbC1sZWZ0fS1yYWRpdXM6ICRidXR0b24tcmFkaXVzO1xuICAgICAgICBib3JkZXItYm90dG9tLSN7JGdsb2JhbC1sZWZ0fS1yYWRpdXM6ICRidXR0b24tcmFkaXVzO1xuICAgICAgfVxuXG4gICAgICAmOmxhc3QtY2hpbGQge1xuICAgICAgICBib3JkZXItdG9wLSN7JGdsb2JhbC1yaWdodH0tcmFkaXVzOiAkYnV0dG9uLXJhZGl1cztcbiAgICAgICAgYm9yZGVyLWJvdHRvbS0jeyRnbG9iYWwtcmlnaHR9LXJhZGl1czogJGJ1dHRvbi1yYWRpdXM7XG4gICAgICB9XG4gICAgfVxuXG4gIH1cbn1cblxuLy8vIENyZWF0ZXMgYSBmdWxsLXdpZHRoIGJ1dHRvbiBncm91cCwgbWFraW5nIGVhY2ggYnV0dG9uIGVxdWFsIHdpZHRoLlxuLy8vIEBwYXJhbSB7U3RyaW5nfSAkc2VsZWN0b3IgWyRidXR0b25ncm91cC1jaGlsZC1zZWxlY3Rvcl0gLSBTZWxlY3RvciBmb3IgdGhlIGJ1dHRvbnMgaW5zaWRlIGEgYnV0dG9uIGdyb3VwLlxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkc3BhY2luZyBbJGJ1dHRvbmdyb3VwLXNwYWNpbmddIC0gU3BhY2luZyBiZXR3ZWVuIGJ1dHRvbnMgaW4gYSBidXR0b24gZ3JvdXAuXG5AbWl4aW4gYnV0dG9uLWdyb3VwLWV4cGFuZChcbiAgJHNlbGVjdG9yOiAkYnV0dG9uZ3JvdXAtY2hpbGQtc2VsZWN0b3IsXG4gICRzcGFjaW5nOiAkYnV0dG9uZ3JvdXAtc3BhY2luZyxcbiAgJGNvdW50OiBudWxsXG4pIHtcbiAgQGlmIG5vdCAkZ2xvYmFsLWZsZXhib3gge1xuICAgIG1hcmdpbi0jeyRnbG9iYWwtcmlnaHR9OiAtJHNwYWNpbmc7XG5cbiAgICAmOjpiZWZvcmUsXG4gICAgJjo6YWZ0ZXIge1xuICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG4gIH1cblxuICAjeyRzZWxlY3Rvcn0ge1xuICAgIEBpZiAkZ2xvYmFsLWZsZXhib3gge1xuICAgICAgZmxleDogMSAxIDBweDsgLy8gc2Fzcy1saW50OmRpc2FibGUtbGluZSB6ZXJvLXVuaXRcbiAgICB9XG4gICAgQGVsc2Uge1xuICAgICAgLy8gT25lIGNoaWxkXG4gICAgICAmOmZpcnN0LWNoaWxkOmxhc3QtY2hpbGQge1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgIH1cblxuICAgICAgLy8gVHdvIG9yIG1vcmUgY2hpbGRyZWVuXG4gICAgICBAZm9yICRpIGZyb20gMiB0aHJvdWdoICRidXR0b25ncm91cC1leHBhbmQtbWF4IHtcbiAgICAgICAgJjpmaXJzdC1jaGlsZDpudGgtbGFzdC1jaGlsZCgjeyRpfSkge1xuICAgICAgICAgICYsICY6Zmlyc3QtY2hpbGQ6bnRoLWxhc3QtY2hpbGQoI3skaX0pIH4gI3skc2VsZWN0b3J9IHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgICAgIHdpZHRoOiBjYWxjKCN7cGVyY2VudGFnZSgxIC8gJGkpfSAtICN7JHNwYWNpbmd9KTtcbiAgICAgICAgICAgIG1hcmdpbi0jeyRnbG9iYWwtcmlnaHR9OiAkc3BhY2luZztcblxuICAgICAgICAgICAgJjpsYXN0LWNoaWxkIHtcbiAgICAgICAgICAgICAgbWFyZ2luLSN7JGdsb2JhbC1yaWdodH06ICRzcGFjaW5nICogLSRidXR0b25ncm91cC1leHBhbmQtbWF4O1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG4vLy8gU3RhY2tzIHRoZSBidXR0b25zIGluIGEgYnV0dG9uIGdyb3VwLlxuLy8vIEBwYXJhbSB7U3RyaW5nfSAkc2VsZWN0b3IgWyRidXR0b25ncm91cC1jaGlsZC1zZWxlY3Rvcl0gLSBTZWxlY3RvciBmb3IgdGhlIGJ1dHRvbnMgaW5zaWRlIHRoZSBidXR0b24gZ3JvdXAuXG5AbWl4aW4gYnV0dG9uLWdyb3VwLXN0YWNrKFxuICAkc2VsZWN0b3I6ICRidXR0b25ncm91cC1jaGlsZC1zZWxlY3RvclxuKSB7XG4gIEBpZiAkZ2xvYmFsLWZsZXhib3gge1xuICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgfVxuXG4gICN7JHNlbGVjdG9yfSB7XG4gICAgQGlmICRnbG9iYWwtZmxleGJveCB7XG4gICAgICBmbGV4OiAwIDAgMTAwJTtcbiAgICB9XG4gICAgQGVsc2Uge1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgfVxuXG4gICAgJjpsYXN0LWNoaWxkIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgfVxuXG5cbiAgICBAaWYgbm90ICRidXR0b25ncm91cC1yYWRpdXMtb24tZWFjaCB7XG4gICAgICBib3JkZXItcmFkaXVzOiAwO1xuXG4gICAgICAmOmZpcnN0LWNoaWxke1xuICAgICAgICBib3JkZXItdG9wLSN7JGdsb2JhbC1sZWZ0fS1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xuICAgICAgICBib3JkZXItdG9wLSN7JGdsb2JhbC1yaWdodH0tcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcbiAgICAgIH1cblxuICAgICAgJjpsYXN0LWNoaWxkIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICAgICAgYm9yZGVyLWJvdHRvbS0jeyRnbG9iYWwtbGVmdH0tcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcbiAgICAgICAgYm9yZGVyLWJvdHRvbS0jeyRnbG9iYWwtcmlnaHR9LXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XG4gICAgICB9XG4gICAgfVxuXG4gIH1cbn1cblxuLy8vIFVuLXN0YWNrcyB0aGUgYnV0dG9ucyBpbiBhIGJ1dHRvbiBncm91cC5cbi8vLyBAcGFyYW0ge1N0cmluZ30gJHNlbGVjdG9yIFskYnV0dG9uZ3JvdXAtY2hpbGQtc2VsZWN0b3JdIC0gU2VsZWN0b3IgZm9yIHRoZSBidXR0b25zIGluc2lkZSB0aGUgYnV0dG9uIGdyb3VwLlxuQG1peGluIGJ1dHRvbi1ncm91cC11bnN0YWNrKFxuICAkc2VsZWN0b3I6ICRidXR0b25ncm91cC1jaGlsZC1zZWxlY3RvclxuKSB7XG4gICN7JHNlbGVjdG9yfSB7XG4gICAgQGlmICRnbG9iYWwtZmxleGJveCB7XG4gICAgICBmbGV4OiAxIDEgMHB4OyAvLyBzYXNzLWxpbnQ6ZGlzYWJsZS1saW5lIHplcm8tdW5pdFxuICAgIH1cbiAgICBAZWxzZSB7XG4gICAgICB3aWR0aDogYXV0bztcbiAgICB9XG4gICAgbWFyZ2luLWJvdHRvbTogMDtcblxuICAgIEBpZiBub3QgJGJ1dHRvbmdyb3VwLXJhZGl1cy1vbi1lYWNoIHtcbiAgICAgICY6Zmlyc3QtY2hpbGQge1xuICAgICAgICBib3JkZXItdG9wLSN7JGdsb2JhbC1sZWZ0fS1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xuICAgICAgICBib3JkZXItdG9wLSN7JGdsb2JhbC1yaWdodH0tcmFkaXVzOiAwO1xuICAgICAgICBib3JkZXItYm90dG9tLSN7JGdsb2JhbC1sZWZ0fS1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xuICAgICAgfVxuXG4gICAgICAmOmxhc3QtY2hpbGQge1xuICAgICAgICBib3JkZXItdG9wLSN7JGdsb2JhbC1yaWdodH0tcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcbiAgICAgICAgYm9yZGVyLWJvdHRvbS0jeyRnbG9iYWwtcmlnaHR9LXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XG4gICAgICAgIGJvcmRlci1ib3R0b20tI3skZ2xvYmFsLWxlZnR9LXJhZGl1czogMDtcbiAgICAgIH1cbiAgICB9XG5cbiAgfVxufVxuXG5AbWl4aW4gZm91bmRhdGlvbi1idXR0b24tZ3JvdXAge1xuICAuYnV0dG9uLWdyb3VwIHtcbiAgICBAaW5jbHVkZSBidXR0b24tZ3JvdXA7XG5cbiAgICAvLyBTaXplc1xuICAgIEBlYWNoICRzaXplLCAkdmFsdWUgaW4gbWFwLXJlbW92ZSgkYnV0dG9uLXNpemVzLCBkZWZhdWx0KSB7XG4gICAgICAmLiN7JHNpemV9ICN7JGJ1dHRvbmdyb3VwLWNoaWxkLXNlbGVjdG9yfSB7XG4gICAgICAgIGZvbnQtc2l6ZTogJHZhbHVlO1xuICAgICAgfVxuICAgIH1cblxuICAgIC8vIEV2ZW4td2lkdGggR3JvdXBcbiAgICAmLmV4cGFuZGVkIHsgQGluY2x1ZGUgYnV0dG9uLWdyb3VwLWV4cGFuZDsgfVxuXG4gICAgLy8gQ29sb3JzXG4gICAgQGVhY2ggJG5hbWUsICRjb2xvciBpbiAkZm91bmRhdGlvbi1wYWxldHRlIHtcbiAgICAgIEBpZiAkYnV0dG9uLWZpbGwgIT0gaG9sbG93IHtcbiAgICAgICAgJi4jeyRuYW1lfSAjeyRidXR0b25ncm91cC1jaGlsZC1zZWxlY3Rvcn0ge1xuICAgICAgICAgIEBpbmNsdWRlIGJ1dHRvbi1zdHlsZSgkY29sb3IsIGF1dG8sIGF1dG8pO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgICBAZWxzZSB7XG4gICAgICAgICYuI3skbmFtZX0gI3skYnV0dG9uZ3JvdXAtY2hpbGQtc2VsZWN0b3J9IHtcbiAgICAgICAgICBAaW5jbHVkZSBidXR0b24taG9sbG93O1xuICAgICAgICAgIEBpbmNsdWRlIGJ1dHRvbi1ob2xsb3ctc3R5bGUoJGNvbG9yKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgICYuc3RhY2tlZCxcbiAgICAmLnN0YWNrZWQtZm9yLXNtYWxsLFxuICAgICYuc3RhY2tlZC1mb3ItbWVkaXVtIHtcbiAgICAgIEBpbmNsdWRlIGJ1dHRvbi1ncm91cC1zdGFjaztcbiAgICB9XG5cbiAgICAmLnN0YWNrZWQtZm9yLXNtYWxsIHtcbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XG4gICAgICAgIEBpbmNsdWRlIGJ1dHRvbi1ncm91cC11bnN0YWNrO1xuICAgICAgfVxuICAgIH1cblxuICAgICYuc3RhY2tlZC1mb3ItbWVkaXVtIHtcbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcbiAgICAgICAgQGluY2x1ZGUgYnV0dG9uLWdyb3VwLXVuc3RhY2s7XG4gICAgICB9XG4gICAgfVxuXG4gICAgJi5zdGFja2VkLWZvci1zbWFsbC5leHBhbmRlZCB7IC8vIHNhc3MtbGludDpkaXNhYmxlLWxpbmUgZm9yY2UtZWxlbWVudC1uZXN0aW5nXG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsIG9ubHkpIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG5cbiAgICAgICAgI3skYnV0dG9uZ3JvdXAtY2hpbGQtc2VsZWN0b3J9IHtcbiAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICBtYXJnaW4tI3skZ2xvYmFsLXJpZ2h0fTogMDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiLy8vL1xuLy8vIEBncm91cCBhY2NvcmRpb24tbWVudVxuLy8vL1xuXG4vLy8gU2V0cyBhY2NvcmRpb24gbWVudSBwYWRkaW5nLlxuLy8vIEB0eXBlIE51bWJlclxuJGFjY29yZGlvbm1lbnUtcGFkZGluZzogJGdsb2JhbC1tZW51LXBhZGRpbmcgIWRlZmF1bHQ7XG5cbi8vLyBTZXRzIGFjY29yZGlvbiBtZW51IG5lc3RlZCBtYXJnaW5cbi8vLyBAdHlwZSBOdW1iZXJcbiRhY2NvcmRpb25tZW51LW5lc3RlZC1tYXJnaW46ICRnbG9iYWwtbWVudS1uZXN0ZWQtbWFyZ2luICFkZWZhdWx0O1xuXG4vLy8gU2V0cyBhY2NvcmRpb24gbWVudSBzdWJtZW51IHBhZGRpbmcuXG4vLy8gQHR5cGUgTnVtYmVyXG4kYWNjb3JkaW9ubWVudS1zdWJtZW51LXBhZGRpbmc6ICRhY2NvcmRpb25tZW51LXBhZGRpbmcgIWRlZmF1bHQ7XG5cbi8vLyBTZXRzIGlmIGFjY29yZGlvbiBtZW51cyBoYXZlIHRoZSBkZWZhdWx0IGFycm93IHN0eWxlcy5cbi8vLyBAdHlwZSBCb29sZWFuXG4kYWNjb3JkaW9ubWVudS1hcnJvd3M6IHRydWUgIWRlZmF1bHQ7XG5cbi8vLyBTZXRzIGFjY29yZGlvbiBtZW51IGFycm93IGNvbG9yIGlmIGFycm93IGlzIHVzZWQuXG4vLy8gQHR5cGUgQ29sb3JcbiRhY2NvcmRpb25tZW51LWFycm93LWNvbG9yOiAkcHJpbWFyeS1jb2xvciAhZGVmYXVsdDtcblxuLy8vIFNldHMgYWNjb3JkaW9uIG1lbnUgaXRlbSBwYWRkaW5nLlxuLy8vIEB0eXBlIENvbG9yXG4kYWNjb3JkaW9ubWVudS1pdGVtLWJhY2tncm91bmQ6IG51bGwgIWRlZmF1bHQ7XG5cbi8vLyBTZXRzIGFjY29yZGlvbiBtZW51IGl0ZW0gYm9yZGVyLlxuLy8vIEB0eXBlIENvbG9yXG4kYWNjb3JkaW9ubWVudS1ib3JkZXI6IG51bGwgIWRlZmF1bHQ7XG5cbi8vLyBTZXRzIGFjY29yZGlvbiBtZW51IGl0ZW0gcGFkZGluZy5cbi8vLyBAdHlwZSBDb2xvclxuJGFjY29yZGlvbm1lbnUtc3VibWVudS10b2dnbGUtYmFja2dyb3VuZDogbnVsbCAhZGVmYXVsdDtcblxuLy8vIFNldHMgYWNjb3JkaW9uIG1lbnUgaXRlbSBwYWRkaW5nLlxuLy8vIEB0eXBlIExpc3RcbiRhY2NvcmRpb24tc3VibWVudS10b2dnbGUtYm9yZGVyOiAkYWNjb3JkaW9ubWVudS1ib3JkZXIgIWRlZmF1bHQ7XG5cbi8vLyBTZXRzIGFjY29yZGlvbiBtZW51IHN1Ym1lbnUgdG9nZ2xlIGJhY2tncm91bmQgd2lkdGguXG4vLy8gQHR5cGUgTnVtYmVyXG4kYWNjb3JkaW9ubWVudS1zdWJtZW51LXRvZ2dsZS13aWR0aDogNDBweCAhZGVmYXVsdDtcblxuLy8vIFNldHMgYWNjb3JkaW9uIG1lbnUgc3VibWVudSB0b2dnbGUgYmFja2dyb3VuZCBoZWlnaHQuXG4vLy8gQHR5cGUgTnVtYmVyXG4kYWNjb3JkaW9ubWVudS1zdWJtZW51LXRvZ2dsZS1oZWlnaHQ6ICRhY2NvcmRpb25tZW51LXN1Ym1lbnUtdG9nZ2xlLXdpZHRoICFkZWZhdWx0O1xuXG4vLy8gU2V0cyBhY2NvcmRpb24gbWVudSBhcnJvdyBzaXplIGlmIGFycm93IGlzIHVzZWQuXG4vLy8gQHR5cGUgTGVuZ3RoXG4kYWNjb3JkaW9ubWVudS1hcnJvdy1zaXplOiA2cHggIWRlZmF1bHQ7XG5cbkBtaXhpbiB6Zi1hY2NvcmRpb24tbWVudS1sZWZ0LXJpZ2h0LWFycm93cyB7XG4gIC5pcy1hY2NvcmRpb24tc3VibWVudS1wYXJlbnQ6bm90KC5oYXMtc3VibWVudS10b2dnbGUpID4gYSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gICAgJjo6YWZ0ZXIge1xuICAgICAgQGluY2x1ZGUgY3NzLXRyaWFuZ2xlKCRhY2NvcmRpb25tZW51LWFycm93LXNpemUsICRhY2NvcmRpb25tZW51LWFycm93LWNvbG9yLCBkb3duKTtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHRvcDogNTAlO1xuICAgICAgbWFyZ2luLXRvcDogLTEgKiAoJGFjY29yZGlvbm1lbnUtYXJyb3ctc2l6ZSAvIDIpO1xuICAgICAgI3skZ2xvYmFsLXJpZ2h0fTogMXJlbTtcbiAgICB9XG4gIH1cbiAgJi5hbGlnbi1sZWZ0IC5pcy1hY2NvcmRpb24tc3VibWVudS1wYXJlbnQgPiBhOjphZnRlciB7XG4gICAgbGVmdDogYXV0bztcbiAgICByaWdodDogMXJlbTtcbiAgfVxuICAmLmFsaWduLXJpZ2h0IC5pcy1hY2NvcmRpb24tc3VibWVudS1wYXJlbnQgPiBhOjphZnRlciB7XG4gICAgcmlnaHQ6IGF1dG87XG4gICAgbGVmdDogMXJlbTtcbiAgfVxufVxuQG1peGluIGZvdW5kYXRpb24tYWNjb3JkaW9uLW1lbnUge1xuXG4gIC5hY2NvcmRpb24tbWVudSB7XG4gICAgQGlmICRhY2NvcmRpb25tZW51LWJvcmRlciB7XG4gICAgICBib3JkZXItYm90dG9tOiAkYWNjb3JkaW9ubWVudS1ib3JkZXI7XG4gICAgfVxuXG4gICAgbGkge1xuICAgICAgQGlmICRhY2NvcmRpb25tZW51LWJvcmRlciB7XG4gICAgICAgIGJvcmRlci10b3A6ICRhY2NvcmRpb25tZW51LWJvcmRlcjtcbiAgICAgICAgYm9yZGVyLXJpZ2h0OiAkYWNjb3JkaW9ubWVudS1ib3JkZXI7XG4gICAgICAgIGJvcmRlci1sZWZ0OiAkYWNjb3JkaW9ubWVudS1ib3JkZXI7XG4gICAgICB9XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICB9XG5cbiAgICBhIHtcbiAgICAgIEBpZiAkYWNjb3JkaW9ubWVudS1pdGVtLWJhY2tncm91bmQge1xuICAgICAgICBiYWNrZ3JvdW5kOiAkYWNjb3JkaW9ubWVudS1pdGVtLWJhY2tncm91bmQ7XG4gICAgICB9XG4gICAgICBwYWRkaW5nOiAkYWNjb3JkaW9ubWVudS1wYWRkaW5nO1xuICAgIH1cbiAgICBcbiAgICAuaXMtYWNjb3JkaW9uLXN1Ym1lbnUgYSB7XG4gICAgICBwYWRkaW5nOiAkYWNjb3JkaW9ubWVudS1zdWJtZW51LXBhZGRpbmc7XG4gICAgfVxuXG4gICAgLm5lc3RlZC5pcy1hY2NvcmRpb24tc3VibWVudSB7XG4gICAgICBAaW5jbHVkZSBtZW51LW5lc3RlZCgkYWNjb3JkaW9ubWVudS1uZXN0ZWQtbWFyZ2luKTtcbiAgICB9XG5cbiAgICAmLmFsaWduLSN7JGdsb2JhbC1yaWdodH0ge1xuICAgICAgLm5lc3RlZC5pcy1hY2NvcmRpb24tc3VibWVudSB7XG4gICAgICAgIEBpbmNsdWRlIG1lbnUtbmVzdGVkKCRhY2NvcmRpb25tZW51LW5lc3RlZC1tYXJnaW4sIHJpZ2h0KTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBAaWYgJGFjY29yZGlvbm1lbnUtYXJyb3dzIHtcbiAgICAgIEBpbmNsdWRlIHpmLWFjY29yZGlvbi1tZW51LWxlZnQtcmlnaHQtYXJyb3dzO1xuXG4gICAgICAuaXMtYWNjb3JkaW9uLXN1Ym1lbnUtcGFyZW50W2FyaWEtZXhwYW5kZWQ9J3RydWUnXSA+IGE6OmFmdGVyIHtcbiAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoMTgwZGVnKTtcbiAgICAgICAgdHJhbnNmb3JtLW9yaWdpbjogNTAlIDUwJTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAuaXMtYWNjb3JkaW9uLXN1Ym1lbnUgbGkge1xuICAgIEBpZiAkYWNjb3JkaW9ubWVudS1ib3JkZXIge1xuICAgICAgYm9yZGVyLXJpZ2h0OiAwO1xuICAgICAgYm9yZGVyLWxlZnQ6IDA7XG4gICAgfVxuICB9XG5cbiAgLmlzLWFjY29yZGlvbi1zdWJtZW51LXBhcmVudCB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB9XG5cbiAgLmhhcy1zdWJtZW51LXRvZ2dsZSA+IGEge1xuICAgIG1hcmdpbi0jeyRnbG9iYWwtcmlnaHR9OiAkYWNjb3JkaW9ubWVudS1zdWJtZW51LXRvZ2dsZS13aWR0aDtcbiAgfVxuXG4gIC8vIFN1Ym1lbnUgdG9nZ2xlXG4gIC5zdWJtZW51LXRvZ2dsZSB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMDtcbiAgICAjeyRnbG9iYWwtcmlnaHR9OiAwO1xuICAgIGN1cnNvcjogcG9pbnRlcjtcblxuICAgIHdpZHRoOiAkYWNjb3JkaW9ubWVudS1zdWJtZW51LXRvZ2dsZS13aWR0aDtcbiAgICBoZWlnaHQ6ICRhY2NvcmRpb25tZW51LXN1Ym1lbnUtdG9nZ2xlLWhlaWdodDtcblxuICAgIGJvcmRlci0jeyRnbG9iYWwtbGVmdH06ICRhY2NvcmRpb24tc3VibWVudS10b2dnbGUtYm9yZGVyO1xuXG4gICAgQGlmICRhY2NvcmRpb25tZW51LXN1Ym1lbnUtdG9nZ2xlLWJhY2tncm91bmQge1xuICAgICAgYmFja2dyb3VuZDogJGFjY29yZGlvbm1lbnUtc3VibWVudS10b2dnbGUtYmFja2dyb3VuZDtcbiAgICB9XG5cbiAgICAvLyBBZGQgdGhlIGFycm93IHRvIHRoZSB0b2dnbGVcbiAgICAmOjphZnRlciB7XG4gICAgICBAaW5jbHVkZSBjc3MtdHJpYW5nbGUoNnB4LCAkYWNjb3JkaW9ubWVudS1hcnJvdy1jb2xvciwgZG93bik7XG5cbiAgICAgIHRvcDogMDtcbiAgICAgIGJvdHRvbTogMDtcbiAgICAgIG1hcmdpbjogYXV0bztcbiAgICB9XG4gIH1cblxuICAvLyBSb3RhdGUgdGhlIGFycm93IHdoZW4gbWVudSBpcyBvcGVuXG4gIC5zdWJtZW51LXRvZ2dsZVthcmlhLWV4cGFuZGVkPSd0cnVlJ106OmFmdGVyIHtcbiAgICB0cmFuc2Zvcm06IHNjYWxlWSgtMSk7XG4gICAgdHJhbnNmb3JtLW9yaWdpbjogNTAlIDUwJTtcbiAgfVxuXG4gIC5zdWJtZW51LXRvZ2dsZS10ZXh0IHtcbiAgICBAaW5jbHVkZSBlbGVtZW50LWludmlzaWJsZTtcbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgYWNjb3JkaW9uXG4vLy8vXG5cbi8vLyBEZWZhdWx0IGJhY2tncm91bmQgY29sb3Igb2YgYW4gYWNjb3JkaW9uIGdyb3VwLlxuLy8vIEB0eXBlIENvbG9yXG4kYWNjb3JkaW9uLWJhY2tncm91bmQ6ICR3aGl0ZSAhZGVmYXVsdDtcblxuLy8vIElmIGB0cnVlYCwgYWRkcyBwbHVzIGFuZCBtaW51cyBpY29ucyB0byB0aGUgc2lkZSBvZiBlYWNoIGFjY29yZGlvbiB0aXRsZS5cbi8vLyBAdHlwZSBCb29sZWFuXG4kYWNjb3JkaW9uLXBsdXNtaW51czogdHJ1ZSAhZGVmYXVsdDtcblxuLy8vIEZvbnQgc2l6ZSBvZiBhY2NvcmRpb24gdGl0bGVzLlxuLy8vIEB0eXBlIE51bWJlclxuJGFjY29yZGlvbi10aXRsZS1mb250LXNpemU6IHJlbS1jYWxjKDEyKSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgdGV4dCBjb2xvciBmb3IgaXRlbXMgaW4gYSBNZW51LlxuLy8vIEB0eXBlIENvbG9yXG4kYWNjb3JkaW9uLWl0ZW0tY29sb3I6ICRwcmltYXJ5LWNvbG9yICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBiYWNrZ3JvdW5kIGNvbG9yIG9uIGhvdmVyIGZvciBpdGVtcyBpbiBhIE1lbnUuXG4vLy8gQHR5cGUgQ29sb3JcbiRhY2NvcmRpb24taXRlbS1iYWNrZ3JvdW5kLWhvdmVyOiAkbGlnaHQtZ3JheSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgcGFkZGluZyBvZiBhbiBhY2NvcmRpb24gaXRlbS5cbi8vLyBAdHlwZSBOdW1iZXIgfCBMaXN0XG4kYWNjb3JkaW9uLWl0ZW0tcGFkZGluZzogMS4yNXJlbSAxcmVtICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBiYWNrZ3JvdW5kIGNvbG9yIG9mIHRhYiBjb250ZW50LlxuLy8vIEB0eXBlIENvbG9yXG4kYWNjb3JkaW9uLWNvbnRlbnQtYmFja2dyb3VuZDogJHdoaXRlICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBib3JkZXIgY29sb3Igb2YgdGFiIGNvbnRlbnQuXG4vLy8gQHR5cGUgQ29sb3JcbiRhY2NvcmRpb24tY29udGVudC1ib3JkZXI6IDFweCBzb2xpZCAkbGlnaHQtZ3JheSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgdGV4dCBjb2xvciBvZiB0YWIgY29udGVudC5cbi8vLyBAdHlwZSBDb2xvclxuJGFjY29yZGlvbi1jb250ZW50LWNvbG9yOiAkYm9keS1mb250LWNvbG9yICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBwYWRkaW5nIGZvciB0YWIgY29udGVudC5cbi8vLyBAdHlwZSBOdW1iZXIgfCBMaXN0XG4kYWNjb3JkaW9uLWNvbnRlbnQtcGFkZGluZzogMXJlbSAhZGVmYXVsdDtcblxuLy8vIEFkZHMgc3R5bGVzIGZvciBhbiBhY2NvcmRpb24gY29udGFpbmVyLiBBcHBseSB0aGlzIHRvIHRoZSBzYW1lIGVsZW1lbnQgdGhhdCBnZXRzIGBkYXRhLWFjY29yZGlvbmAuXG5AbWl4aW4gYWNjb3JkaW9uLWNvbnRhaW5lciAoXG4gICRiYWNrZ3JvdW5kOiAkYWNjb3JkaW9uLWJhY2tncm91bmRcbikge1xuICBtYXJnaW4tI3skZ2xvYmFsLWxlZnR9OiAwO1xuICBiYWNrZ3JvdW5kOiAkYmFja2dyb3VuZDtcbiAgbGlzdC1zdHlsZS10eXBlOiBub25lO1xuICAmW2Rpc2FibGVkXSB7XG4gICAgLmFjY29yZGlvbi10aXRsZSB7XG4gICAgICBjdXJzb3I6IG5vdC1hbGxvd2VkO1xuICAgIH1cbiAgfVxufVxuXG4vLy8gQWRkcyBzdHlsZXMgZm9yIHRoZSBhY2NvcmRpb24gaXRlbS4gQXBwbHkgdGhpcyB0byB0aGUgbGlzdCBpdGVtIHdpdGhpbiBhbiBhY2NvcmRpb24gdWwuXG5AbWl4aW4gYWNjb3JkaW9uLWl0ZW0ge1xuICAmOmZpcnN0LWNoaWxkID4gOmZpcnN0LWNoaWxkIHtcbiAgICBib3JkZXItcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cyAkZ2xvYmFsLXJhZGl1cyAwIDA7XG4gIH1cblxuICAmOmxhc3QtY2hpbGQgPiA6bGFzdC1jaGlsZCB7XG4gICAgYm9yZGVyLXJhZGl1czogMCAwICRnbG9iYWwtcmFkaXVzICRnbG9iYWwtcmFkaXVzO1xuICB9XG59XG5cbi8vLyBBZGRzIHN0eWxlcyBmb3IgdGhlIHRpdGxlIG9mIGFuIGFjY29yZGlvbiBpdGVtLiBBcHBseSB0aGlzIHRvIHRoZSBsaW5rIHdpdGhpbiBhbiBhY2NvcmRpb24gaXRlbS5cbkBtaXhpbiBhY2NvcmRpb24tdGl0bGUgKFxuICAkcGFkZGluZzogJGFjY29yZGlvbi1pdGVtLXBhZGRpbmcsXG4gICRmb250LXNpemU6ICRhY2NvcmRpb24tdGl0bGUtZm9udC1zaXplLFxuICAkY29sb3I6ICRhY2NvcmRpb24taXRlbS1jb2xvcixcbiAgJGJvcmRlcjogJGFjY29yZGlvbi1jb250ZW50LWJvcmRlcixcbiAgJGJhY2tncm91bmQtaG92ZXI6ICRhY2NvcmRpb24taXRlbS1iYWNrZ3JvdW5kLWhvdmVyXG4pIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBkaXNwbGF5OiBibG9jaztcbiAgcGFkZGluZzogJHBhZGRpbmc7XG5cbiAgYm9yZGVyOiAkYm9yZGVyO1xuICBib3JkZXItYm90dG9tOiAwO1xuXG4gIGZvbnQtc2l6ZTogJGZvbnQtc2l6ZTtcbiAgbGluZS1oZWlnaHQ6IDE7XG4gIGNvbG9yOiAkY29sb3I7XG5cbiAgOmxhc3QtY2hpbGQ6bm90KC5pcy1hY3RpdmUpID4gJiB7XG4gICAgYm9yZGVyLWJvdHRvbTogJGJvcmRlcjtcbiAgICBib3JkZXItcmFkaXVzOiAwIDAgJGdsb2JhbC1yYWRpdXMgJGdsb2JhbC1yYWRpdXM7XG4gIH1cblxuICAmOmhvdmVyLFxuICAmOmZvY3VzIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYmFja2dyb3VuZC1ob3ZlcjtcbiAgfVxuXG4gIEBpZiAkYWNjb3JkaW9uLXBsdXNtaW51cyB7XG4gICAgJjo6YmVmb3JlIHtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHRvcDogNTAlO1xuICAgICAgI3skZ2xvYmFsLXJpZ2h0fTogMXJlbTtcbiAgICAgIG1hcmdpbi10b3A6IC0wLjVyZW07XG4gICAgICBjb250ZW50OiAnKyc7XG4gICAgfVxuXG4gICAgLmlzLWFjdGl2ZSA+ICY6OmJlZm9yZSB7XG4gICAgICBjb250ZW50OiAnXFwyMDEzJztcbiAgICB9XG4gIH1cbn1cblxuLy8vIEFkZHMgc3R5bGVzIGZvciBhY2NvcmRpb24gY29udGVudC4gQXBwbHkgdGhpcyB0byB0aGUgY29udGVudCBwYW5lIGJlbG93IGFuIGFjY29yZGlvbiBpdGVtJ3MgdGl0bGUuXG5AbWl4aW4gYWNjb3JkaW9uLWNvbnRlbnQgKFxuICAkcGFkZGluZzogJGFjY29yZGlvbi1jb250ZW50LXBhZGRpbmcsXG4gICRib3JkZXI6ICRhY2NvcmRpb24tY29udGVudC1ib3JkZXIsXG4gICRiYWNrZ3JvdW5kOiAkYWNjb3JkaW9uLWNvbnRlbnQtYmFja2dyb3VuZCxcbiAgJGNvbG9yOiAkYWNjb3JkaW9uLWNvbnRlbnQtY29sb3Jcbikge1xuICBkaXNwbGF5OiBub25lO1xuICBwYWRkaW5nOiAkcGFkZGluZztcblxuICBib3JkZXI6ICRib3JkZXI7XG4gIGJvcmRlci1ib3R0b206IDA7XG4gIGJhY2tncm91bmQtY29sb3I6ICRiYWNrZ3JvdW5kO1xuXG4gIGNvbG9yOiAkY29sb3I7XG5cbiAgOmxhc3QtY2hpbGQgPiAmOmxhc3QtY2hpbGQge1xuICAgIGJvcmRlci1ib3R0b206ICRib3JkZXI7XG4gIH1cbn1cblxuQG1peGluIGZvdW5kYXRpb24tYWNjb3JkaW9uIHtcbiAgLmFjY29yZGlvbiB7XG4gICAgQGluY2x1ZGUgYWNjb3JkaW9uLWNvbnRhaW5lcjtcbiAgfVxuXG4gIC5hY2NvcmRpb24taXRlbSB7XG4gICAgQGluY2x1ZGUgYWNjb3JkaW9uLWl0ZW07XG4gIH1cblxuICAuYWNjb3JkaW9uLXRpdGxlIHtcbiAgICBAaW5jbHVkZSBhY2NvcmRpb24tdGl0bGU7XG4gIH1cblxuICAuYWNjb3JkaW9uLWNvbnRlbnQge1xuICAgIEBpbmNsdWRlIGFjY29yZGlvbi1jb250ZW50O1xuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBiYWRnZVxuLy8vL1xuXG4vLy8gRGVmYXVsdCBiYWNrZ3JvdW5kIGNvbG9yIGZvciBiYWRnZXMuXG4vLy8gQHR5cGUgQ29sb3JcbiRiYWRnZS1iYWNrZ3JvdW5kOiAkcHJpbWFyeS1jb2xvciAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgdGV4dCBjb2xvciBmb3IgYmFkZ2VzLlxuLy8vIEB0eXBlIENvbG9yXG4kYmFkZ2UtY29sb3I6ICR3aGl0ZSAhZGVmYXVsdDtcblxuLy8vIEFsdGVybmF0ZSB0ZXh0IGNvbG9yIGZvciBiYWRnZXMuXG4vLy8gQHR5cGUgQ29sb3JcbiRiYWRnZS1jb2xvci1hbHQ6ICRibGFjayAhZGVmYXVsdDtcblxuLy8vIENvbG9yaW5nIGNsYXNzZXMuIEEgbWFwIG9mIGNsYXNzZXMgdG8gb3V0cHV0IGluIHlvdXIgQ1NTLCBsaWtlIGAuc2Vjb25kYXJ5YCwgYC5zdWNjZXNzYCwgYW5kIHNvIG9uLlxuLy8vIEB0eXBlIE1hcFxuJGJhZGdlLXBhbGV0dGU6ICRmb3VuZGF0aW9uLXBhbGV0dGUgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHBhZGRpbmcgaW5zaWRlIGJhZGdlcy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRiYWRnZS1wYWRkaW5nOiAwLjNlbSAhZGVmYXVsdDtcblxuLy8vIE1pbmltdW0gd2lkdGggb2YgYSBiYWRnZS5cbi8vLyBAdHlwZSBOdW1iZXJcbiRiYWRnZS1taW53aWR0aDogMi4xZW0gIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGZvbnQgc2l6ZSBmb3IgYmFkZ2VzLlxuLy8vIEB0eXBlIE51bWJlclxuJGJhZGdlLWZvbnQtc2l6ZTogMC42cmVtICFkZWZhdWx0O1xuXG4vLy8gR2VuZXJhdGVzIHRoZSBiYXNlIHN0eWxlcyBmb3IgYSBiYWRnZS5cbkBtaXhpbiBiYWRnZSB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgbWluLXdpZHRoOiAkYmFkZ2UtbWlud2lkdGg7XG4gIHBhZGRpbmc6ICRiYWRnZS1wYWRkaW5nO1xuXG4gIGJvcmRlci1yYWRpdXM6IDUwJTtcblxuICBmb250LXNpemU6ICRiYWRnZS1mb250LXNpemU7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbn1cblxuQG1peGluIGZvdW5kYXRpb24tYmFkZ2Uge1xuICAuYmFkZ2Uge1xuICAgIEBpbmNsdWRlIGJhZGdlO1xuXG4gICAgYmFja2dyb3VuZDogJGJhZGdlLWJhY2tncm91bmQ7XG4gICAgY29sb3I6ICRiYWRnZS1jb2xvcjtcblxuICAgIEBlYWNoICRuYW1lLCAkY29sb3IgaW4gJGJhZGdlLXBhbGV0dGUge1xuICAgICAgJi4jeyRuYW1lfSB7XG4gICAgICAgIGJhY2tncm91bmQ6ICRjb2xvcjtcbiAgICAgICAgY29sb3I6IGNvbG9yLXBpY2stY29udHJhc3QoJGNvbG9yLCAoJGJhZGdlLWNvbG9yLCAkYmFkZ2UtY29sb3ItYWx0KSk7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBicmVhZGNydW1ic1xuLy8vL1xuXG4vLy8gTWFyZ2luIGFyb3VuZCBhIGJyZWFkY3J1bWJzIGNvbnRhaW5lci5cbi8vLyBAdHlwZSBOdW1iZXJcbiRicmVhZGNydW1icy1tYXJnaW46IDAgMCAkZ2xvYmFsLW1hcmdpbiAwICFkZWZhdWx0O1xuXG4vLy8gRm9udCBzaXplIG9mIGJyZWFkY3J1bWIgbGlua3MuXG4vLy8gQHR5cGUgTnVtYmVyXG4kYnJlYWRjcnVtYnMtaXRlbS1mb250LXNpemU6IHJlbS1jYWxjKDExKSAhZGVmYXVsdDtcblxuLy8vIENvbG9yIG9mIGJyZWFkY3J1bWIgbGlua3MuXG4vLy8gQHR5cGUgQ29sb3JcbiRicmVhZGNydW1icy1pdGVtLWNvbG9yOiAkcHJpbWFyeS1jb2xvciAhZGVmYXVsdDtcblxuLy8vIENvbG9yIG9mIHRoZSBhY3RpdmUgYnJlYWRjcnVtYiBsaW5rLlxuLy8vIEB0eXBlIENvbG9yXG4kYnJlYWRjcnVtYnMtaXRlbS1jb2xvci1jdXJyZW50OiAkYmxhY2sgIWRlZmF1bHQ7XG5cbi8vLyBPcGFjaXR5IG9mIGRpc2FibGVkIGJyZWFkY3J1bWIgbGlua3MuXG4vLy8gQHR5cGUgTnVtYmVyXG4kYnJlYWRjcnVtYnMtaXRlbS1jb2xvci1kaXNhYmxlZDogJG1lZGl1bS1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gTWFyZ2luIGJldHdlZW4gYnJlYWRjcnVtYiBpdGVtcy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRicmVhZGNydW1icy1pdGVtLW1hcmdpbjogMC43NXJlbSAhZGVmYXVsdDtcblxuLy8vIElmIGB0cnVlYCwgbWFrZXMgYnJlYWRjcnVtYiBsaW5rcyB1cHBlcmNhc2UuXG4vLy8gQHR5cGUgQm9vbGVhblxuJGJyZWFkY3J1bWJzLWl0ZW0tdXBwZXJjYXNlOiB0cnVlICFkZWZhdWx0O1xuXG4vLy8gSWYgYHRydWVgLCBhZGRzIGEgc2VwZXJhdG9yIGJldHdlZW4gYnJlYWRjcnVtYiBsaW5rcy5cbi8vLyBAdHlwZSBCb29sZWFuXG4kYnJlYWRjcnVtYnMtaXRlbS1zZXBhcmF0b3I6IHRydWUgIWRlZmF1bHQ7XG5cbi8vIElmIGl0IGV4aXN0cyAkYnJlYWRjcnVtYnMtaXRlbS1zbGFzaCBpcyB1c2VkIHRvIGJ1aWxkICRicmVhZGNydW1icy1pdGVtLXNlcGFyYXRvci4gU2VlIHRoZSBkb2N1bWVudGF0aW9uLlxuQGlmIHZhcmlhYmxlLWV4aXN0cyhicmVhZGNydW1icy1pdGVtLXNsYXNoKSB7XG4gICRicmVhZGNydW1icy1pdGVtLXNlcGFyYXRvcjogJGJyZWFkY3J1bWJzLWl0ZW0tc2xhc2g7XG59XG5cbi8vLyBVc2VkIGNoYXJhY3RlciBmb3IgdGhlIGJyZWFkY3J1bWIgc2VwYXJhdG9yLlxuLy8vIEB0eXBlIENvbnRlbnRcbiRicmVhZGNydW1icy1pdGVtLXNlcGFyYXRvci1pdGVtOiAnLycgIWRlZmF1bHQ7XG5cbi8vLyBVc2VkIGNoYXJhY3RlciBmb3IgdGhlIGJyZWFkY3J1bWIgc2VwYXJhdG9yIGluIHJ0bCBtb2RlLlxuLy8vIEB0eXBlIENvbnRlbnRcbiRicmVhZGNydW1icy1pdGVtLXNlcGFyYXRvci1pdGVtLXJ0bDogJ1xcXFwnICFkZWZhdWx0O1xuXG4vLy8gQ29sb3Igb2YgYnJlYWRjcnVtYiBpdGVtLlxuLy8vIEB0eXBlIENvbG9yXG4kYnJlYWRjcnVtYnMtaXRlbS1zZXBhcmF0b3ItY29sb3I6ICRtZWRpdW0tZ3JheSAhZGVmYXVsdDtcblxuLy8gSWYgaXQgZXhpc3RzICRicmVhZGNydW1icy1pdGVtLXNsYXNoLWNvbG9yIGlzIHVzZWQgdG8gYnVpbGQgJGJyZWFkY3J1bWJzLWl0ZW0tc2VwYXJhdG9yLWNvbG9yLiBTZWUgdGhlIGRvY3VtZW50YXRpb24uXG5AaWYgdmFyaWFibGUtZXhpc3RzKGJyZWFkY3J1bWJzLWl0ZW0tc2xhc2gtY29sb3IpIHtcbiAgJGJyZWFkY3J1bWJzLWl0ZW0tc2VwYXJhdG9yLWNvbG9yOiAkYnJlYWRjcnVtYnMtaXRlbS1zbGFzaC1jb2xvcjtcbn1cblxuLy8vIEFkZHMgc3R5bGVzIGZvciBhIGJyZWFkY3J1bWJzIGNvbnRhaW5lciwgYWxvbmcgd2l0aCB0aGUgc3R5bGVzIGZvciB0aGUgYDxsaT5gIGFuZCBgPGE+YCBlbGVtZW50cyBpbnNpZGUgb2YgaXQuXG5AbWl4aW4gYnJlYWRjcnVtYnMtY29udGFpbmVyIHtcbiAgQGluY2x1ZGUgY2xlYXJmaXg7XG4gIG1hcmdpbjogJGJyZWFkY3J1bWJzLW1hcmdpbjtcbiAgbGlzdC1zdHlsZTogbm9uZTtcblxuICAvLyBJdGVtIHdyYXBwZXJcbiAgbGkge1xuICAgIGZsb2F0OiAjeyRnbG9iYWwtbGVmdH07XG5cbiAgICBmb250LXNpemU6ICRicmVhZGNydW1icy1pdGVtLWZvbnQtc2l6ZTtcbiAgICBjb2xvcjogJGJyZWFkY3J1bWJzLWl0ZW0tY29sb3ItY3VycmVudDtcbiAgICBjdXJzb3I6IGRlZmF1bHQ7XG5cbiAgICBAaWYgJGJyZWFkY3J1bWJzLWl0ZW0tdXBwZXJjYXNlIHtcbiAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgfVxuXG4gICAgQGlmICRicmVhZGNydW1icy1pdGVtLXNlcGFyYXRvciB7XG4gICAgICAvLyBOZWVkIHRvIGVzY2FwZSB0aGUgYmFja3NsYXNoXG4gICAgICAkc2VwYXJhdG9yOiBpZigkZ2xvYmFsLXRleHQtZGlyZWN0aW9uID09ICdsdHInLCAkYnJlYWRjcnVtYnMtaXRlbS1zZXBhcmF0b3ItaXRlbSwgJGJyZWFkY3J1bWJzLWl0ZW0tc2VwYXJhdG9yLWl0ZW0tcnRsKTtcblxuICAgICAgJjpub3QoOmxhc3QtY2hpbGQpOjphZnRlciB7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgbWFyZ2luOiAwICRicmVhZGNydW1icy1pdGVtLW1hcmdpbjtcbiAgICAgICAgb3BhY2l0eTogMTtcbiAgICAgICAgY29udGVudDogJHNlcGFyYXRvcjtcbiAgICAgICAgY29sb3I6ICRicmVhZGNydW1icy1pdGVtLXNlcGFyYXRvci1jb2xvcjtcbiAgICAgIH1cbiAgICB9XG4gICAgQGVsc2Uge1xuICAgICAgbWFyZ2luLSN7JGdsb2JhbC1yaWdodH06ICRicmVhZGNydW1icy1pdGVtLW1hcmdpbjtcbiAgICB9XG4gIH1cblxuICAvLyBQYWdlIGxpbmtzXG4gIGEge1xuICAgIGNvbG9yOiAkYnJlYWRjcnVtYnMtaXRlbS1jb2xvcjtcblxuICAgICY6aG92ZXIge1xuICAgICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG4gICAgfVxuICB9XG59XG5cbkBtaXhpbiBmb3VuZGF0aW9uLWJyZWFkY3J1bWJzIHtcbiAgLmJyZWFkY3J1bWJzIHtcbiAgICBAaW5jbHVkZSBicmVhZGNydW1icy1jb250YWluZXI7XG5cbiAgICAuZGlzYWJsZWQge1xuICAgICAgY29sb3I6ICRicmVhZGNydW1icy1pdGVtLWNvbG9yLWRpc2FibGVkO1xuICAgICAgY3Vyc29yOiBub3QtYWxsb3dlZDtcbiAgICB9XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIGNhbGxvdXRcbi8vLy9cblxuLy8vIERlZmF1bHQgYmFja2dyb3VuZCBjb2xvci5cbi8vLyBAdHlwZSBDb2xvclxuJGNhbGxvdXQtYmFja2dyb3VuZDogJHdoaXRlICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBmYWRlIHZhbHVlIGZvciBjYWxsb3V0IGJhY2tncm91bmRzLlxuLy8vIEB0eXBlIE51bWJlclxuJGNhbGxvdXQtYmFja2dyb3VuZC1mYWRlOiA4NSUgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGJvcmRlciBzdHlsZSBmb3IgY2FsbG91dHMuXG4vLy8gQHR5cGUgTGlzdFxuJGNhbGxvdXQtYm9yZGVyOiAxcHggc29saWQgcmdiYSgkYmxhY2ssIDAuMjUpICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBib3R0b20gbWFyZ2luIGZvciBjYWxsb3V0cy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRjYWxsb3V0LW1hcmdpbjogMCAwIDFyZW0gMCAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgaW5uZXIgcGFkZGluZyBmb3IgY2FsbG91dHMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kY2FsbG91dC1wYWRkaW5nOiAxcmVtICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBmb250IGNvbG9yIGZvciBjYWxsb3V0cy5cbi8vLyBAdHlwZSBDb2xvclxuJGNhbGxvdXQtZm9udC1jb2xvcjogJGJvZHktZm9udC1jb2xvciAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgZm9udCBjb2xvciBmb3IgY2FsbG91dHMsIGlmIHRoZSBjYWxsb3V0IGhhcyBhIGRhcmsgYmFja2dyb3VuZC5cbi8vLyBAdHlwZSBDb2xvclxuJGNhbGxvdXQtZm9udC1jb2xvci1hbHQ6ICRib2R5LWJhY2tncm91bmQgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGJvcmRlciByYWRpdXMgZm9yIGNhbGxvdXRzLlxuLy8vIEB0eXBlIENvbG9yXG4kY2FsbG91dC1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzICFkZWZhdWx0O1xuXG4vLy8gQW1vdW50IHRvIHRpbnQgbGlua3MgdXNlZCB3aXRoaW4gY29sb3JlZCBwYW5lbHMuIFNldCB0byBgZmFsc2VgIHRvIGRpc2FibGUgdGhpcyBmZWF0dXJlLlxuLy8vIEB0eXBlIE51bWJlciB8IEJvb2xlYW5cbiRjYWxsb3V0LWxpbmstdGludDogMzAlICFkZWZhdWx0O1xuXG4vLy8gQWRkcyBiYXNpYyBzdHlsZXMgZm9yIGEgY2FsbG91dCwgaW5jbHVkaW5nIHBhZGRpbmcgYW5kIG1hcmdpbi5cbkBtaXhpbiBjYWxsb3V0LWJhc2UoKSB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgbWFyZ2luOiAkY2FsbG91dC1tYXJnaW47XG4gIHBhZGRpbmc6ICRjYWxsb3V0LXBhZGRpbmc7XG5cbiAgYm9yZGVyOiAkY2FsbG91dC1ib3JkZXI7XG4gIGJvcmRlci1yYWRpdXM6ICRjYWxsb3V0LXJhZGl1cztcblxuICAvLyBSZXNwZWN0IHRoZSBwYWRkaW5nLCBmb29sLlxuICA+IDpmaXJzdC1jaGlsZCB7XG4gICAgbWFyZ2luLXRvcDogMDtcbiAgfVxuXG4gID4gOmxhc3QtY2hpbGQge1xuICAgIG1hcmdpbi1ib3R0b206IDA7XG4gIH1cbn1cblxuLy8vIEdlbmVyYXRlIHF1aWNrIHN0eWxlcyBmb3IgYSBjYWxsb3V0IHVzaW5nIGEgc2luZ2xlIGNvbG9yIGFzIGEgYmFzZWxpbmUuXG4vLy8gQHBhcmFtIHtDb2xvcn0gJGNvbG9yIFskY2FsbG91dC1iYWNrZ3JvdW5kXSAtIENvbG9yIHRvIHVzZS5cbkBtaXhpbiBjYWxsb3V0LXN0eWxlKCRjb2xvcjogJGNhbGxvdXQtYmFja2dyb3VuZCkge1xuICAkYmFja2dyb3VuZDogc2NhbGUtY29sb3IoJGNvbG9yLCAkbGlnaHRuZXNzOiAkY2FsbG91dC1iYWNrZ3JvdW5kLWZhZGUpO1xuXG4gIGJhY2tncm91bmQtY29sb3I6ICRiYWNrZ3JvdW5kO1xuICBjb2xvcjogY29sb3ItcGljay1jb250cmFzdCgkYmFja2dyb3VuZCwgKCRjYWxsb3V0LWZvbnQtY29sb3IsICRjYWxsb3V0LWZvbnQtY29sb3ItYWx0KSk7XG59XG5cbkBtaXhpbiBjYWxsb3V0LXNpemUoJHBhZGRpbmcpIHtcbiAgcGFkZGluZy10b3A6ICRwYWRkaW5nO1xuICBwYWRkaW5nLXJpZ2h0OiAkcGFkZGluZztcbiAgcGFkZGluZy1ib3R0b206ICRwYWRkaW5nO1xuICBwYWRkaW5nLWxlZnQ6ICRwYWRkaW5nO1xufVxuXG5cbi8vLyBBZGRzIHN0eWxlcyBmb3IgYSBjYWxsb3V0LlxuLy8vIEBwYXJhbSB7Q29sb3J9ICRjb2xvciBbJGNhbGxvdXQtYmFja2dyb3VuZF0gLSBDb2xvciB0byB1c2UuXG5AbWl4aW4gY2FsbG91dCgkY29sb3I6ICRjYWxsb3V0LWJhY2tncm91bmQpIHtcbiAgQGluY2x1ZGUgY2FsbG91dC1iYXNlO1xuICBAaW5jbHVkZSBjYWxsb3V0LXN0eWxlKCRjb2xvcik7XG59XG5cbkBtaXhpbiBmb3VuZGF0aW9uLWNhbGxvdXQge1xuICAuY2FsbG91dCB7XG4gICAgQGluY2x1ZGUgY2FsbG91dDtcblxuICAgIEBlYWNoICRuYW1lLCAkY29sb3IgaW4gJGZvdW5kYXRpb24tcGFsZXR0ZSB7XG4gICAgICAmLiN7JG5hbWV9IHtcbiAgICAgICAgQGluY2x1ZGUgY2FsbG91dC1zdHlsZSgkY29sb3IpO1xuICAgICAgfVxuICAgIH1cblxuICAgICYuc21hbGwge1xuICAgICAgQGluY2x1ZGUgY2FsbG91dC1zaXplKDAuNXJlbSk7XG4gICAgfVxuXG4gICAgJi5sYXJnZSB7XG4gICAgICBAaW5jbHVkZSBjYWxsb3V0LXNpemUoM3JlbSk7XG4gICAgfVxuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBjYXJkXG4vLy8vXG5cbi8vLyBEZWZ1YWx0IGJhY2tncm91bmQgY29sb3IuXG4vLy8gQHR5cGUgQ29sb3JcbiRjYXJkLWJhY2tncm91bmQ6ICR3aGl0ZSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgZm9udCBjb2xvciBmb3IgY2FyZHMuXG4vLy8gQHR5cGUgQ29sb3JcbiRjYXJkLWZvbnQtY29sb3I6ICRib2R5LWZvbnQtY29sb3IgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGJhY2tncm91bmQuXG4vLy8gQHR5cGUgQ29sb3JcbiRjYXJkLWRpdmlkZXItYmFja2dyb3VuZDogJGxpZ2h0LWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGJvcmRlciBzdHlsZS5cbi8vLyBAdHlwZSBMaXN0XG4kY2FyZC1ib3JkZXI6IDFweCBzb2xpZCAkbGlnaHQtZ3JheSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgY2FyZCBzaGFkb3cuXG4vLy8gQHR5cGUgTGlzdFxuJGNhcmQtc2hhZG93OiBub25lICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBib3JkZXIgcmFkaXVzLlxuLy8vIEB0eXBlIExpc3RcbiRjYXJkLWJvcmRlci1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBwYWRkaW5nLlxuLy8vIEB0eXBlIE51bWJlclxuJGNhcmQtcGFkZGluZzogJGdsb2JhbC1wYWRkaW5nICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBib3R0b20gbWFyZ2luLlxuLy8vIEB0eXBlIG51bWJlclxuJGNhcmQtbWFyZ2luLWJvdHRvbTogJGdsb2JhbC1tYXJnaW4gIWRlZmF1bHQ7XG5cbi8vLyBBZGRzIHN0eWxlcyBmb3IgYSBjYXJkIGNvbnRhaW5lci5cbi8vLyBAcGFyYW0ge0NvbG9yfSAkYmFja2dyb3VuZCAtIEJhY2tncm91bmQgY29sb3Igb2YgdGhlIGNhcmQuXG4vLy8gQHBhcmFtIHtDb2xvcn0gJGNvbG9yIC0gZm9udCBjb2xvciBvZiB0aGUgY2FyZC5cbi8vLyBAcGFyYW0ge051bWJlcn0gJG1hcmdpbiAtIEJvdHRvbSBtYXJnaW4gb2YgdGhlIGNhcmQuXG4vLy8gQHBhcmFtIHtMaXN0fSAkYm9yZGVyIC0gQm9yZGVyIGFyb3VuZCB0aGUgY2FyZC5cbi8vLyBAcGFyYW0ge0xpc3R9ICRyYWRpdXMgLSBib3JkZXIgcmFkaXVzIG9mIHRoZSBjYXJkLlxuLy8vIEBwYXJhbSB7TGlzdH0gJHNoYWRvdyAtIGJveCBzaGFkb3cgb2YgdGhlIGNhcmQuXG5AbWl4aW4gY2FyZC1jb250YWluZXIoXG4gICRiYWNrZ3JvdW5kOiAkY2FyZC1iYWNrZ3JvdW5kLFxuICAkY29sb3I6ICRjYXJkLWZvbnQtY29sb3IsXG4gICRtYXJnaW46ICRjYXJkLW1hcmdpbi1ib3R0b20sXG4gICRib3JkZXI6ICRjYXJkLWJvcmRlcixcbiAgJHJhZGl1czogJGNhcmQtYm9yZGVyLXJhZGl1cyxcbiAgJHNoYWRvdzogJGNhcmQtc2hhZG93XG4pIHtcbiAgQGlmICRnbG9iYWwtZmxleGJveCB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIGZsZXgtZ3JvdzogMTtcbiAgfVxuXG4gIG1hcmdpbi1ib3R0b206ICRtYXJnaW47XG5cbiAgYm9yZGVyOiAkYm9yZGVyO1xuICBib3JkZXItcmFkaXVzOiAkcmFkaXVzO1xuXG4gIGJhY2tncm91bmQ6ICRiYWNrZ3JvdW5kO1xuICBib3gtc2hhZG93OiAkc2hhZG93O1xuXG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIGNvbG9yOiAkY29sb3I7XG5cbiAgJiA+IDpsYXN0LWNoaWxkIHtcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xuICB9XG59XG5cbi8vLyBBZGRzIHN0eWxlcyBmb3IgYSBjYXJkIGRpdmlkZXIuXG5AbWl4aW4gY2FyZC1kaXZpZGVyKFxuICAkYmFja2dyb3VuZDogJGNhcmQtZGl2aWRlci1iYWNrZ3JvdW5kLFxuICAkcGFkZGluZzogJGNhcmQtcGFkZGluZ1xuKSB7XG4gIEBpZiAkZ2xvYmFsLWZsZXhib3gge1xuICAgIGZsZXg6IDAgMSBhdXRvO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gIH1cblxuICBwYWRkaW5nOiAkcGFkZGluZztcbiAgYmFja2dyb3VuZDogJGJhY2tncm91bmQ7XG5cbiAgJiA+IDpsYXN0LWNoaWxkIHtcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xuICB9XG59XG5cbi8vLyBBZGRzIHN0eWxlcyBmb3IgYSBjYXJkIHNlY3Rpb24uXG5AbWl4aW4gY2FyZC1zZWN0aW9uKFxuICAkcGFkZGluZzogJGNhcmQtcGFkZGluZ1xuKSB7XG4gIEBpZiAkZ2xvYmFsLWZsZXhib3gge1xuICAgIGZsZXg6IDEgMCBhdXRvO1xuICB9XG5cbiAgcGFkZGluZzogJHBhZGRpbmc7XG5cbiAgJiA+IDpsYXN0LWNoaWxkIHtcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xuICB9XG59XG5cbkBtaXhpbiBmb3VuZGF0aW9uLWNhcmQge1xuICAuY2FyZCB7XG4gICAgQGluY2x1ZGUgY2FyZC1jb250YWluZXI7XG4gIH1cblxuICAuY2FyZC1kaXZpZGVyIHtcbiAgICBAaW5jbHVkZSBjYXJkLWRpdmlkZXI7XG4gIH1cblxuICAuY2FyZC1zZWN0aW9uIHtcbiAgICBAaW5jbHVkZSBjYXJkLXNlY3Rpb247XG4gIH1cblxuICAvLyBGb3IgSUUgMTEgLSBGbGV4YnVnXG4gIC8vIGh0dHBzOi8vZ2l0aHViLmNvbS9waGlsaXB3YWx0b24vZmxleGJ1Z3MvaXNzdWVzLzc1XG4gIC5jYXJkLWltYWdlIHtcbiAgICBtaW4taGVpZ2h0OiAxcHg7XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIGNsb3NlLWJ1dHRvblxuLy8vL1xuXG4vLy8gRGVmYXVsdCBwb3NpdGlvbiBvZiB0aGUgY2xvc2UgYnV0dG9uLiBUaGUgZmlyc3QgdmFsdWUgc2hvdWxkIGJlIGByaWdodGAgb3IgYGxlZnRgLCBhbmQgdGhlIHNlY29uZCB2YWx1ZSBzaG91bGQgYmUgYHRvcGAgb3IgYGJvdHRvbWAuXG4vLy8gQHR5cGUgTGlzdFxuJGNsb3NlYnV0dG9uLXBvc2l0aW9uOiByaWdodCB0b3AgIWRlZmF1bHQ7XG5cbi8vLyBSaWdodCAob3IgbGVmdCkgb2Zmc2V0KHMpIGZvciBhIGNsb3NlIGJ1dHRvbi5cbi8vLyBAdHlwZSBOdW1iZXJ8TWFwXG4kY2xvc2VidXR0b24tb2Zmc2V0LWhvcml6b250YWw6IChcbiAgc21hbGw6IDAuNjZyZW0sXG4gIG1lZGl1bTogMXJlbSxcbikgIWRlZmF1bHQ7XG5cbi8vLyBUb3AgKG9yIGJvdHRvbSkgb2Zmc2V0KHMpIGZvciBhIGNsb3NlIGJ1dHRvbi5cbi8vLyBAdHlwZSBOdW1iZXJ8TWFwXG4kY2xvc2VidXR0b24tb2Zmc2V0LXZlcnRpY2FsOiAoXG4gIHNtYWxsOiAwLjMzZW0sXG4gIG1lZGl1bTogMC41cmVtLFxuKSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgZm9udCBzaXplKHMpIG9mIHRoZSBjbG9zZSBidXR0b24uXG4vLy8gQHR5cGUgTnVtYmVyfE1hcFxuJGNsb3NlYnV0dG9uLXNpemU6IChcbiAgc21hbGw6IDEuNWVtLFxuICBtZWRpdW06IDJlbSxcbikgIWRlZmF1bHQ7XG5cbi8vLyBUaGUgbGluZS1oZWlnaHQgb2YgdGhlIGNsb3NlIGJ1dHRvbi4gSXQgYWZmZWN0cyB0aGUgc3BhY2luZyBvZiB0aGUgZWxlbWVudC5cbi8vLyBAdHlwZSBOdW1iZXJcbiRjbG9zZWJ1dHRvbi1saW5laGVpZ2h0OiAxICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBjb2xvciBvZiB0aGUgY2xvc2UgYnV0dG9uLlxuLy8vIEB0eXBlIENvbG9yXG4kY2xvc2VidXR0b24tY29sb3I6ICRkYXJrLWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGNvbG9yIG9mIHRoZSBjbG9zZSBidXR0b24gd2hlbiBiZWluZyBob3ZlcmVkIG9uLlxuLy8vIEB0eXBlIENvbG9yXG4kY2xvc2VidXR0b24tY29sb3ItaG92ZXI6ICRibGFjayAhZGVmYXVsdDtcblxuXG4vLy8gR2V0IHRoZSBzaXplIGFuZCBwb3NpdGlvbiBmb3IgYSBjbG9zZSBidXR0b24uIElmIHRoZSBpbnB1dCB2YWx1ZSBpcyBhIG51bWJlciwgdGhlIG51bWJlciBpcyByZXR1cm5lZC4gSWYgdGhlIGlucHV0IHZhbHVlIGlzIGEgY29uZmlnIG1hcCBhbmQgdGhlIG1hcCBoYXMgdGhlIGtleSBgJHNpemVgLCB0aGUgdmFsdWUgaXMgcmV0dXJuZWQuXG4vLy9cbi8vLyBAcGFyYW0ge051bWJlcnxNYXB9ICR2YWx1ZSAtIEEgbnVtYmVyIG9yIG1hcCB0aGF0IHJlcHJlc2VudHMgdGhlIHNpemUgb3IgcG9zaXRpb24gdmFsdWUocykgb2YgdGhlIGNsb3NlIGJ1dHRvbi5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRzaXplIC0gVGhlIHNpemUgb2YgdGhlIGNsb3NlIGJ1dHRvbiB0byB1c2UuXG4vLy9cbi8vLyBAcmV0dXJuIHtOdW1iZXJ9IFRoZSBnaXZlbiBudW1iZXIgb3IgdGhlIHZhbHVlIGZvdW5kIGluIHRoZSBtYXAuXG5AZnVuY3Rpb24gLXpmLWdldC1zaXplLXZhbCgkdmFsdWUsICRzaXplKSB7XG4gIC8vIENoZWNrIGlmIHRoZSB2YWx1ZSBpcyBhIG51bWJlclxuICBAaWYgdHlwZS1vZigkdmFsdWUpID09ICdudW1iZXInIHtcbiAgICAvLyBJZiBpdCBpcywganVzdCByZXR1cm4gdGhlIG51bWJlclxuICAgIEByZXR1cm4gJHZhbHVlO1xuICB9XG5cbiAgLy8gQ2hlY2sgaWYgdGhlIHNpemUgbmFtZSBleGlzdHMgaW4gdGhlIHZhbHVlIG1hcFxuICBAZWxzZSBpZiBtYXAtaGFzLWtleSgkdmFsdWUsICRzaXplKSB7XG4gICAgLy8gSWYgaXQgZG9lcywgcmV0dXJuIHRoZSB2YWx1ZVxuICAgIEByZXR1cm4gbWFwLWdldCgkdmFsdWUsICRzaXplKTtcbiAgfVxufVxuXG4vLy8gU2V0cyB0aGUgc2l6ZSBhbmQgcG9zaXRpb24gb2YgYSBjbG9zZSBidXR0b24uXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkc2l6ZSBbbWVkaXVtXSAtIFRoZSBzaXplIHRvIHVzZS4gU2V0IHRvIGBzbWFsbGAgdG8gY3JlYXRlIGEgc21hbGwgY2xvc2UgYnV0dG9uLiBUaGUgJ21lZGl1bScgdmFsdWVzIGRlZmluZWQgaW4gYCRjbG9zZWJ1dHRvbi0qYCB2YXJpYWJsZXMgd2lsbCBiZSB1c2VkIGFzIHRoZSBkZWZhdWx0IHNpemUgYW5kIHBvc2l0aW9uIG9mIHRoZSBjbG9zZSBidXR0b24uXG5AbWl4aW4gY2xvc2UtYnV0dG9uLXNpemUoJHNpemUpIHtcbiAgJHg6IG50aCgkY2xvc2VidXR0b24tcG9zaXRpb24sIDEpO1xuICAkeTogbnRoKCRjbG9zZWJ1dHRvbi1wb3NpdGlvbiwgMik7XG5cbiAgI3skeH06IC16Zi1nZXQtc2l6ZS12YWwoJGNsb3NlYnV0dG9uLW9mZnNldC1ob3Jpem9udGFsLCAkc2l6ZSk7XG4gICN7JHl9OiAtemYtZ2V0LXNpemUtdmFsKCRjbG9zZWJ1dHRvbi1vZmZzZXQtdmVydGljYWwsICRzaXplKTtcbiAgZm9udC1zaXplOiAtemYtZ2V0LXNpemUtdmFsKCRjbG9zZWJ1dHRvbi1zaXplLCAkc2l6ZSk7XG4gIGxpbmUtaGVpZ2h0OiAtemYtZ2V0LXNpemUtdmFsKCRjbG9zZWJ1dHRvbi1saW5laGVpZ2h0LCAkc2l6ZSk7XG59XG5cbi8vLyBBZGRzIHN0eWxlcyBmb3IgYSBjbG9zZSBidXR0b24sIHVzaW5nIHRoZSBzdHlsZXMgaW4gdGhlIHNldHRpbmdzIHZhcmlhYmxlcy5cbkBtaXhpbiBjbG9zZS1idXR0b24ge1xuICAkeDogbnRoKCRjbG9zZWJ1dHRvbi1wb3NpdGlvbiwgMSk7XG4gICR5OiBudGgoJGNsb3NlYnV0dG9uLXBvc2l0aW9uLCAyKTtcblxuICBAaW5jbHVkZSBkaXNhYmxlLW1vdXNlLW91dGxpbmU7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgY29sb3I6ICRjbG9zZWJ1dHRvbi1jb2xvcjtcbiAgY3Vyc29yOiBwb2ludGVyO1xuXG4gICY6aG92ZXIsXG4gICY6Zm9jdXMge1xuICAgIGNvbG9yOiAkY2xvc2VidXR0b24tY29sb3ItaG92ZXI7XG4gIH1cbn1cblxuQG1peGluIGZvdW5kYXRpb24tY2xvc2UtYnV0dG9uIHtcbiAgLmNsb3NlLWJ1dHRvbiB7XG4gICAgQGluY2x1ZGUgY2xvc2UtYnV0dG9uO1xuXG4gICAgJi5zbWFsbCB7IEBpbmNsdWRlIGNsb3NlLWJ1dHRvbi1zaXplKHNtYWxsKSB9XG4gICAgJiwgJi5tZWRpdW0geyBAaW5jbHVkZSBjbG9zZS1idXR0b24tc2l6ZShtZWRpdW0pIH1cbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgZHJpbGxkb3duXG4vLy8vXG5cbi8vLyBUcmFuc2l0aW9uIHByb3BlcnR5IHRvIHVzZSBmb3IgYW5pbWF0aW5nIG1lbnVzLlxuLy8vIEB0eXBlIFRyYW5zaXRpb25cbiRkcmlsbGRvd24tdHJhbnNpdGlvbjogdHJhbnNmb3JtIDAuMTVzIGxpbmVhciAhZGVmYXVsdDtcblxuLy8vIEFkZHMgYXJyb3dzIHRvIGRyaWxsZG93biBpdGVtcyB3aXRoIHN1Ym1lbnVzLCBhcyB3ZWxsIGFzIHRoZSBiYWNrIGJ1dHRvbi5cbi8vLyBAdHlwZSBCb29sZWFuXG4kZHJpbGxkb3duLWFycm93czogdHJ1ZSAhZGVmYXVsdDtcblxuLy8vIFNldHMgZHJpbGxkb3duIG1lbnUgaXRlbSBwYWRkaW5nLlxuLy8vIEB0eXBlIE51bWJlclxuJGRyaWxsZG93bi1wYWRkaW5nOiAkZ2xvYmFsLW1lbnUtcGFkZGluZyAhZGVmYXVsdDtcblxuLy8vIFNldHMgZHJpbGxkb3duIG1lbnUgbmVzdGVkIG1hcmdpblxuLy8vIEB0eXBlIE51bWJlclxuJGRyaWxsZG93bi1uZXN0ZWQtbWFyZ2luOiAwICFkZWZhdWx0O1xuXG4vLy8gQmFja2dyb3VuZCBjb2xvciBmb3IgZHJpbGxkb3duIHRvcCBsZXZlbCBpdGVtcy5cbi8vLyBAdHlwZSBDb2xvclxuJGRyaWxsZG93bi1iYWNrZ3JvdW5kOiAkd2hpdGUgIWRlZmF1bHQ7XG5cbi8vLyBTZXRzIGRyaWxsZG93biBtZW51IGl0ZW0gcGFkZGluZyBpbiB0aGUgc3VibWVudS5cbi8vLyBAdHlwZSBOdW1iZXJcbiRkcmlsbGRvd24tc3VibWVudS1wYWRkaW5nOiAkZHJpbGxkb3duLXBhZGRpbmcgIWRlZmF1bHQ7XG5cbi8vLyBCYWNrZ3JvdW5kIGNvbG9yIGZvciBkcmlsbGRvd24gc3VibWVudXMuXG4vLy8gQHR5cGUgQ29sb3JcbiRkcmlsbGRvd24tc3VibWVudS1iYWNrZ3JvdW5kOiAkd2hpdGUgIWRlZmF1bHQ7XG5cbi8vLyBTZXRzIGRyaWxsZG93biBhcnJvdyBjb2xvciBpZiBhcnJvdyBpcyB1c2VkLlxuLy8vIEB0eXBlIENvbG9yXG4kZHJpbGxkb3duLWFycm93LWNvbG9yOiAkcHJpbWFyeS1jb2xvciAhZGVmYXVsdDtcblxuLy8vIFNldHMgZHJpbGxkb3duIGFycm93IHNpemUgaWYgYXJyb3cgaXMgdXNlZC5cbi8vLyBAdHlwZSBMZW5ndGhcbiRkcmlsbGRvd24tYXJyb3ctc2l6ZTogNnB4ICFkZWZhdWx0O1xuXG5AbWl4aW4gemYtZHJpbGxkb3duLWxlZnQtcmlnaHQtYXJyb3dzIHtcbiAgLmlzLWRyaWxsZG93bi1zdWJtZW51LXBhcmVudCA+IGEge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAmOjphZnRlciB7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB0b3A6IDUwJTtcbiAgICAgIG1hcmdpbi10b3A6IC0xICogJGRyaWxsZG93bi1hcnJvdy1zaXplO1xuICAgICAgI3skZ2xvYmFsLXJpZ2h0fTogMXJlbTtcbiAgICAgIEBpbmNsdWRlIGNzcy10cmlhbmdsZSgkZHJpbGxkb3duLWFycm93LXNpemUsICRkcmlsbGRvd24tYXJyb3ctY29sb3IsICRnbG9iYWwtcmlnaHQpO1xuICAgIH1cbiAgfVxuXG4gICYuYWxpZ24tbGVmdCAuaXMtZHJpbGxkb3duLXN1Ym1lbnUtcGFyZW50ID4gYTo6YWZ0ZXIge1xuICAgIGxlZnQ6IGF1dG87XG4gICAgcmlnaHQ6IDFyZW07XG4gICAgQGluY2x1ZGUgY3NzLXRyaWFuZ2xlKCRkcm9wZG93bm1lbnUtYXJyb3ctc2l6ZSwgJGRyb3Bkb3dubWVudS1hcnJvdy1jb2xvciwgcmlnaHQpO1xuICB9XG5cbiAgJi5hbGlnbi1yaWdodCAuaXMtZHJpbGxkb3duLXN1Ym1lbnUtcGFyZW50ID4gYTo6YWZ0ZXIge1xuICAgIHJpZ2h0OiBhdXRvO1xuICAgIGxlZnQ6IDFyZW07XG4gICAgQGluY2x1ZGUgY3NzLXRyaWFuZ2xlKCRkcm9wZG93bm1lbnUtYXJyb3ctc2l6ZSwgJGRyb3Bkb3dubWVudS1hcnJvdy1jb2xvciwgbGVmdCk7XG4gIH1cblxufVxuXG5AbWl4aW4gZm91bmRhdGlvbi1kcmlsbGRvd24tbWVudSB7XG4gIC8vIEFwcGxpZWQgdG8gdGhlIE1lbnUgY29udGFpbmVyXG4gIC5pcy1kcmlsbGRvd24ge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuXG4gICAgbGkge1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgfVxuXG4gICAgJi5hbmltYXRlLWhlaWdodCB7XG4gICAgICB0cmFuc2l0aW9uOiBoZWlnaHQgMC41cztcbiAgICB9XG4gIH1cblxuICAvLyBUaGUgdG9wIGxldmVsIDx1bD5cbiAgLmRyaWxsZG93biB7XG4gICAgYSB7XG4gICAgICBwYWRkaW5nOiAkZHJpbGxkb3duLXBhZGRpbmc7XG4gICAgICBiYWNrZ3JvdW5kOiAkZHJpbGxkb3duLWJhY2tncm91bmQ7XG4gICAgfVxuXG4gICAgLy8gQXBwbGllZCB0byBzdWJtZW51IDx1bD5zXG4gICAgLmlzLWRyaWxsZG93bi1zdWJtZW51IHtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHRvcDogMDtcbiAgICAgICN7JGdsb2JhbC1sZWZ0fTogMTAwJTtcbiAgICAgIHotaW5kZXg6IC0xO1xuXG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIGJhY2tncm91bmQ6ICRkcmlsbGRvd24tc3VibWVudS1iYWNrZ3JvdW5kO1xuICAgICAgdHJhbnNpdGlvbjogJGRyaWxsZG93bi10cmFuc2l0aW9uO1xuXG4gICAgICAmLmlzLWFjdGl2ZSB7XG4gICAgICAgIHotaW5kZXg6IDE7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoaWYoJGdsb2JhbC10ZXh0LWRpcmVjdGlvbiA9PSBsdHIsIC0xMDAlLCAxMDAlKSk7XG4gICAgICB9XG5cbiAgICAgICYuaXMtY2xvc2luZyB7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWChpZigkZ2xvYmFsLXRleHQtZGlyZWN0aW9uID09IGx0ciwgMTAwJSwgLTEwMCUpKTtcbiAgICAgIH1cblxuICAgICAgLy8gU3VibWVudSBpdGVtIHBhZGRpbmdcbiAgICAgIGEge1xuICAgICAgICBwYWRkaW5nOiAkZHJpbGxkb3duLXN1Ym1lbnUtcGFkZGluZztcbiAgICAgIH1cbiAgICB9XG5cbiAgICAubmVzdGVkLmlzLWRyaWxsZG93bi1zdWJtZW51IHtcbiAgICAgIEBpbmNsdWRlIG1lbnUtbmVzdGVkKCRkcmlsbGRvd24tbmVzdGVkLW1hcmdpbik7XG4gICAgfVxuXG4gICAgLmRyaWxsZG93bi1zdWJtZW51LWNvdmVyLXByZXZpb3VzIHtcbiAgICAgIG1pbi1oZWlnaHQ6IDEwMCU7XG4gICAgfVxuXG4gICAgQGlmICRkcmlsbGRvd24tYXJyb3dzIHtcbiAgICAgIEBpbmNsdWRlIHpmLWRyaWxsZG93bi1sZWZ0LXJpZ2h0LWFycm93cztcblxuICAgICAgLmpzLWRyaWxsZG93bi1iYWNrID4gYTo6YmVmb3JlIHtcbiAgICAgICAgQGluY2x1ZGUgY3NzLXRyaWFuZ2xlKCRkcmlsbGRvd24tYXJyb3ctc2l6ZSwgJGRyaWxsZG93bi1hcnJvdy1jb2xvciwgJGdsb2JhbC1sZWZ0KTtcbiAgICAgICAgYm9yZGVyLSN7JGdsb2JhbC1sZWZ0fS13aWR0aDogMDtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICAgICAgICBtYXJnaW4tI3skZ2xvYmFsLXJpZ2h0fTogMC43NXJlbTsgLy8gQ3JlYXRlcyBzcGFjZSBiZXR3ZWVuIHRoZSBhcnJvdyBhbmQgdGhlIHRleHRcblxuICAgICAgICBib3JkZXItI3skZ2xvYmFsLWxlZnR9LXdpZHRoOiAwO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgZHJvcGRvd24tbWVudVxuLy8vL1xuXG4vLy8gRW5hYmxlcyBhcnJvd3MgZm9yIGl0ZW1zIHdpdGggZHJvcGRvd24gbWVudXMuXG4vLy8gQHR5cGUgQm9vbGVhblxuJGRyb3Bkb3dubWVudS1hcnJvd3M6IHRydWUgIWRlZmF1bHQ7XG5cbi8vLyBTZXRzIGRyb3Bkb3duIG1lbnUgYXJyb3cgY29sb3IgaWYgYXJyb3cgaXMgdXNlZC5cbi8vLyBAdHlwZSBDb2xvclxuJGRyb3Bkb3dubWVudS1hcnJvdy1jb2xvcjogJGFuY2hvci1jb2xvciAhZGVmYXVsdDtcblxuLy8vIFNldHMgZHJvcGRvd24gbWVudSBhcnJvdyBzaXplIGlmIGFycm93IGlzIHVzZWQuXG4vLy8gQHR5cGUgTGVuZ3RoXG4kZHJvcGRvd25tZW51LWFycm93LXNpemU6IDZweCAhZGVmYXVsdDtcblxuLy8vIFNldHMgZHJvcGRvd24gbWVudSBhcnJvdyBwYWRkaW5nIGZvciBhbGlnbmluZyB0aGUgYXJyb3cgY29ycmVjdGx5LlxuLy8vIEB0eXBlIExlbmd0aFxuJGRyb3Bkb3dubWVudS1hcnJvdy1wYWRkaW5nOiAxLjVyZW0gIWRlZmF1bHQ7XG5cbi8vLyBNaW5pbXVtIHdpZHRoIG9mIGRyb3Bkb3duIHN1Yi1tZW51cy5cbi8vLyBAdHlwZSBMZW5ndGhcbiRkcm9wZG93bm1lbnUtbWluLXdpZHRoOiAyMDBweCAhZGVmYXVsdDtcblxuLy8vIEJhY2tncm91bmQgY29sb3IgZm9yIHRvcCBsZXZlbCBpdGVtcy5cbi8vLyBAdHlwZSBDb2xvclxuJGRyb3Bkb3dubWVudS1iYWNrZ3JvdW5kOiAkd2hpdGUgIWRlZmF1bHQ7XG5cbi8vLyBCYWNrZ3JvdW5kIGNvbG9yIGZvciBkcm9wZG93bnMuXG4vLy8gQHR5cGUgQ29sb3JcbiRkcm9wZG93bm1lbnUtc3VibWVudS1iYWNrZ3JvdW5kOiAkZHJvcGRvd25tZW51LWJhY2tncm91bmQgIWRlZmF1bHQ7XG5cbi8vLyBQYWRkaW5nIGZvciB0b3AgbGV2ZWwgaXRlbXMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kZHJvcGRvd25tZW51LXBhZGRpbmc6ICRnbG9iYWwtbWVudS1wYWRkaW5nICFkZWZhdWx0O1xuXG4vLy8gU2V0cyBkcm9wZG93biBtZW51IG5lc3RlZCBtYXJnaW5cbi8vLyBAdHlwZSBOdW1iZXJcbiRkcm9wZG93bm1lbnUtbmVzdGVkLW1hcmdpbjogMCAhZGVmYXVsdDtcblxuLy8vIFBhZGRpbmcgZm9yIHN1Yi1tZW51IGl0ZW1zLlxuLy8vIEB0eXBlIE51bWJlclxuJGRyb3Bkb3dubWVudS1zdWJtZW51LXBhZGRpbmc6ICRkcm9wZG93bm1lbnUtcGFkZGluZyAhZGVmYXVsdDtcblxuLy8vIEJvcmRlciBmb3IgZHJvcGRvd24gc3ViLW1lbnVzLlxuLy8vIEB0eXBlIExpc3RcbiRkcm9wZG93bm1lbnUtYm9yZGVyOiAxcHggc29saWQgJG1lZGl1bS1ncmF5ICFkZWZhdWx0O1xuXG4vLyBCb3JkZXIgd2lkdGggZm9yIGRyb3Bkb3duIHN1Yi1tZW51cy5cbi8vIFVzZWQgdG8gYWRqdXN0IHRvcCBtYXJnaW4gb2YgYSBzdWItbWVudSBpZiBhIGJvcmRlciBpcyB1c2VkLlxuLy8gQHR5cGUgTGVuZ3RoXG4kZHJvcGRvd25tZW51LWJvcmRlci13aWR0aDogbnRoKCRkcm9wZG93bm1lbnUtYm9yZGVyLCAxKTtcblxuLy8vIFRleHQgY29sb3Igb2YgYW4gYWN0aXZlIGRyb3Bkb3duIG1lbnUgaXRlbS4gRXhwbGljaXQgb3ZlcnJpZGUgZm9yIG1lbnUgZGVmYXVsdHNcbi8vLyBAdHlwZSBDb2xvclxuJGRyb3Bkb3duLW1lbnUtaXRlbS1jb2xvci1hY3RpdmU6IGdldC1jb2xvcihwcmltYXJ5KSAhZGVmYXVsdDtcblxuLy8vIEJhY2tncm91bmQgY29sb3Igb2YgYW4gYWN0aXZlIGRyb3Bkb3duIG1lbnUgaXRlbS4gRXhwbGljaXQgb3ZlcnJpZGUgZm9yIG1lbnUgZGVmYXVsdHNcbi8vLyBAdHlwZSBDb2xvclxuJGRyb3Bkb3duLW1lbnUtaXRlbS1iYWNrZ3JvdW5kLWFjdGl2ZTogdHJhbnNwYXJlbnQgIWRlZmF1bHQ7XG5cbkBtaXhpbiB6Zi1kcm9wZG93bi1sZWZ0LXJpZ2h0LWFycm93cyB7XG4gID4gYTo6YWZ0ZXIge1xuICAgICN7JGdsb2JhbC1yaWdodH06IDE0cHg7XG4gIH1cblxuICAmLm9wZW5zLWxlZnQgPiBhOjphZnRlciB7XG4gICAgcmlnaHQ6IGF1dG87XG4gICAgbGVmdDogNXB4O1xuICAgIEBpbmNsdWRlIGNzcy10cmlhbmdsZSgkZHJvcGRvd25tZW51LWFycm93LXNpemUsICRkcm9wZG93bm1lbnUtYXJyb3ctY29sb3IsIGxlZnQpO1xuICB9XG5cbiAgJi5vcGVucy1yaWdodCA+IGE6OmFmdGVyIHtcbiAgICBAaW5jbHVkZSBjc3MtdHJpYW5nbGUoJGRyb3Bkb3dubWVudS1hcnJvdy1zaXplLCAkZHJvcGRvd25tZW51LWFycm93LWNvbG9yLCByaWdodCk7XG4gIH1cbn1cblxuQG1peGluIGRyb3Bkb3duLW1lbnUtZGlyZWN0aW9uKCRkaXI6IGhvcml6b250YWwpIHtcbiAgQGlmICRkaXIgPT0gaG9yaXpvbnRhbCB7XG4gICAgPiBsaS5vcGVucy1sZWZ0IHtcbiAgICAgID4gLmlzLWRyb3Bkb3duLXN1Ym1lbnUge1xuICAgICAgICB0b3A6IDEwMCU7XG4gICAgICAgIHJpZ2h0OiAwO1xuICAgICAgICBsZWZ0OiBhdXRvO1xuICAgICAgfVxuICAgIH1cblxuICAgID4gbGkub3BlbnMtcmlnaHQge1xuICAgICAgPiAuaXMtZHJvcGRvd24tc3VibWVudSB7XG4gICAgICAgIHRvcDogMTAwJTtcbiAgICAgICAgcmlnaHQ6IGF1dG87XG4gICAgICAgIGxlZnQ6IDA7XG4gICAgICB9XG4gICAgfVxuXG4gICAgQGlmICRkcm9wZG93bm1lbnUtYXJyb3dzIHtcbiAgICAgID4gbGkuaXMtZHJvcGRvd24tc3VibWVudS1wYXJlbnQgPiBhIHtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICBwYWRkaW5nLSN7JGdsb2JhbC1yaWdodH06ICRkcm9wZG93bm1lbnUtYXJyb3ctcGFkZGluZztcbiAgICAgIH1cblxuICAgICAgPiBsaS5pcy1kcm9wZG93bi1zdWJtZW51LXBhcmVudCA+IGE6OmFmdGVyIHtcbiAgICAgICAgQGluY2x1ZGUgY3NzLXRyaWFuZ2xlKCRkcm9wZG93bm1lbnUtYXJyb3ctc2l6ZSwgJGRyb3Bkb3dubWVudS1hcnJvdy1jb2xvciwgZG93bik7XG4gICAgICAgICN7JGdsb2JhbC1yaWdodH06IDVweDtcbiAgICAgICAgI3skZ2xvYmFsLWxlZnR9OiBhdXRvO1xuICAgICAgICBtYXJnaW4tdG9wOiAtMSAqICgkZHJvcGRvd25tZW51LWFycm93LXNpemUgLyAyKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgQGVsc2UgaWYgJGRpciA9PSB2ZXJ0aWNhbCB7XG4gICAgPiBsaSB7XG4gICAgICAuaXMtZHJvcGRvd24tc3VibWVudSB7XG4gICAgICAgIHRvcDogMDtcbiAgICAgIH1cblxuICAgICAgJi5vcGVucy1sZWZ0IHtcbiAgICAgICAgPiAuaXMtZHJvcGRvd24tc3VibWVudSB7XG4gICAgICAgICAgcmlnaHQ6IDEwMCU7XG4gICAgICAgICAgbGVmdDogYXV0bztcbiAgICAgICAgICB0b3A6IDA7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgJi5vcGVucy1yaWdodCB7XG4gICAgICAgID4gLmlzLWRyb3Bkb3duLXN1Ym1lbnUge1xuICAgICAgICAgIHJpZ2h0OiBhdXRvO1xuICAgICAgICAgIGxlZnQ6IDEwMCU7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgQGlmICRkcm9wZG93bm1lbnUtYXJyb3dzIHtcbiAgICAgICAgQGluY2x1ZGUgemYtZHJvcGRvd24tbGVmdC1yaWdodC1hcnJvd3M7XG4gICAgICB9XG4gICAgfVxuICB9XG4gIEBlbHNlIHtcbiAgICBAd2FybiAnVGhlIGRpcmVjdGlvbiB1c2VkIGZvciBkcm9wZG93bi1tZW51LWRpcmVjdGlvbigpIG11c3QgYmUgaG9yaXpvbnRhbCBvciB2ZXJ0aWNhbC4nO1xuICB9XG59XG5cbkBtaXhpbiBmb3VuZGF0aW9uLWRyb3Bkb3duLW1lbnUge1xuICAuZHJvcGRvd24ubWVudSB7XG4gICAgQGluY2x1ZGUgZHJvcGRvd24tbWVudS1kaXJlY3Rpb24oaG9yaXpvbnRhbCk7XG5cbiAgICBhIHtcbiAgICAgIEBpbmNsdWRlIGRpc2FibGUtbW91c2Utb3V0bGluZTtcbiAgICAgIHBhZGRpbmc6ICRkcm9wZG93bm1lbnUtcGFkZGluZztcbiAgICB9XG5cbiAgICAvLyBBY3RpdmUgc3RhdGVcbiAgICAuaXMtYWN0aXZlID4gYSB7XG4gICAgICBiYWNrZ3JvdW5kOiAkZHJvcGRvd24tbWVudS1pdGVtLWJhY2tncm91bmQtYWN0aXZlO1xuICAgICAgY29sb3I6ICRkcm9wZG93bi1tZW51LWl0ZW0tY29sb3ItYWN0aXZlO1xuICAgIH1cblxuICAgIC5uby1qcyAmIHVsIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxuXG4gICAgLm5lc3RlZC5pcy1kcm9wZG93bi1zdWJtZW51IHtcbiAgICAgIEBpbmNsdWRlIG1lbnUtbmVzdGVkKCRkcm9wZG93bm1lbnUtbmVzdGVkLW1hcmdpbik7XG4gICAgfVxuXG4gICAgJi52ZXJ0aWNhbCB7XG4gICAgICBAaW5jbHVkZSBkcm9wZG93bi1tZW51LWRpcmVjdGlvbih2ZXJ0aWNhbCk7XG4gICAgfVxuXG4gICAgQGVhY2ggJHNpemUgaW4gJGJyZWFrcG9pbnQtY2xhc3NlcyB7XG4gICAgICBAaWYgJHNpemUgIT0gJC16Zi16ZXJvLWJyZWFrcG9pbnQge1xuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KCRzaXplKSB7XG4gICAgICAgICAgJi4jeyRzaXplfS1ob3Jpem9udGFsIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGRyb3Bkb3duLW1lbnUtZGlyZWN0aW9uKGhvcml6b250YWwpO1xuICAgICAgICAgIH1cblxuICAgICAgICAgICYuI3skc2l6ZX0tdmVydGljYWwge1xuICAgICAgICAgICAgQGluY2x1ZGUgZHJvcGRvd24tbWVudS1kaXJlY3Rpb24odmVydGljYWwpO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgICYuYWxpZ24tcmlnaHQge1xuICAgICAgLmlzLWRyb3Bkb3duLXN1Ym1lbnUuZmlyc3Qtc3ViIHtcbiAgICAgICAgdG9wOiAxMDAlO1xuICAgICAgICByaWdodDogMDtcbiAgICAgICAgbGVmdDogYXV0bztcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAuaXMtZHJvcGRvd24tbWVudS52ZXJ0aWNhbCB7XG4gICAgd2lkdGg6IDEwMHB4O1xuXG4gICAgJi5hbGlnbi1yaWdodCB7XG4gICAgICBmbG9hdDogcmlnaHQ7XG4gICAgfVxuICB9XG5cbiAgLmlzLWRyb3Bkb3duLXN1Ym1lbnUtcGFyZW50IHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgICBhOjphZnRlciB7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB0b3A6IDUwJTtcbiAgICAgICN7JGdsb2JhbC1yaWdodH06IDVweDtcbiAgICAgICN7JGdsb2JhbC1sZWZ0fTogYXV0bztcbiAgICAgIG1hcmdpbi10b3A6IC0xICogJGRyb3Bkb3dubWVudS1hcnJvdy1zaXplO1xuICAgIH1cblxuICAgICYub3BlbnMtaW5uZXIgPiAuaXMtZHJvcGRvd24tc3VibWVudSB7XG5cbiAgICAgIHRvcDogMTAwJTtcbiAgICAgIEBpZiAkZ2xvYmFsLXRleHQtZGlyZWN0aW9uID09ICdydGwnIHtcbiAgICAgICAgcmlnaHQ6IGF1dG87XG4gICAgICB9XG4gICAgICBAZWxzZSB7XG4gICAgICAgIGxlZnQ6IGF1dG87XG4gICAgICB9XG4gICAgfVxuXG4gICAgJi5vcGVucy1sZWZ0ID4gLmlzLWRyb3Bkb3duLXN1Ym1lbnUge1xuICAgICAgcmlnaHQ6IDEwMCU7XG4gICAgICBsZWZ0OiBhdXRvO1xuICAgIH1cblxuICAgICYub3BlbnMtcmlnaHQgPiAuaXMtZHJvcGRvd24tc3VibWVudSB7XG4gICAgICByaWdodDogYXV0bztcbiAgICAgIGxlZnQ6IDEwMCU7XG4gICAgfVxuICB9XG5cbiAgLmlzLWRyb3Bkb3duLXN1Ym1lbnUge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDA7XG4gICAgI3skZ2xvYmFsLWxlZnR9OiAxMDAlO1xuICAgIHotaW5kZXg6IDE7XG5cbiAgICBkaXNwbGF5OiBub25lO1xuICAgIG1pbi13aWR0aDogJGRyb3Bkb3dubWVudS1taW4td2lkdGg7XG5cbiAgICBib3JkZXI6ICRkcm9wZG93bm1lbnUtYm9yZGVyO1xuICAgIGJhY2tncm91bmQ6ICRkcm9wZG93bm1lbnUtc3VibWVudS1iYWNrZ3JvdW5kO1xuXG4gICAgLmRyb3Bkb3duICYgYSB7XG4gICAgICBwYWRkaW5nOiAkZHJvcGRvd25tZW51LXN1Ym1lbnUtcGFkZGluZztcbiAgICB9XG5cbiAgICAuaXMtZHJvcGRvd24tc3VibWVudS1wYXJlbnQge1xuICAgICAgQGlmICRkcm9wZG93bm1lbnUtYXJyb3dzIHtcbiAgICAgICAgQGluY2x1ZGUgemYtZHJvcGRvd24tbGVmdC1yaWdodC1hcnJvd3M7XG4gICAgICB9XG4gICAgfVxuXG4gICAgQGlmICh0eXBlLW9mKCRkcm9wZG93bm1lbnUtYm9yZGVyLXdpZHRoKSA9PSAnbnVtYmVyJykge1xuICAgICAgLmlzLWRyb3Bkb3duLXN1Ym1lbnUge1xuICAgICAgICBtYXJnaW4tdG9wOiAoLSRkcm9wZG93bm1lbnUtYm9yZGVyLXdpZHRoKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICA+IGxpIHtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgIH1cblxuICAgIC8vIFtUT0RPXSBDdXQgYmFjayBzcGVjaWZpY2l0eVxuICAgIC8vJjpub3QoLmpzLWRyb3Bkb3duLW5vaG92ZXIpID4gLmlzLWRyb3Bkb3duLXN1Ym1lbnUtcGFyZW50OmhvdmVyID4gJiwgLy8gd2h5IGlzIHRoaXMgbGluZSBuZWVkZWQ/IE9wZW5pbmcgaXMgaGFuZGxlZCBieSBKUyBhbmQgdGhpcyBjYXVzZXMgc29tZSB1Z2x5IGZsaWNrZXJpbmcgd2hlbiB0aGUgc3ViIGlzIHJlLXBvc2l0aW9uZWQgYXV0b21hdGljYWxseS4uLlxuICAgICYuanMtZHJvcGRvd24tYWN0aXZlIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIH1cbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgZHJvcGRvd25cbi8vLy9cblxuLy8vIFBhZGRpbmcgZm9yIGRyb3Bkb3duIHBhbmVzLlxuLy8vIEB0eXBlIExpc3RcbiRkcm9wZG93bi1wYWRkaW5nOiAxcmVtICFkZWZhdWx0O1xuXG4vLy8gQmFja2dyb3VuZCBmb3IgZHJvcGRvd24gcGFuZXMuXG4vLy8gQHR5cGUgQ29sb3JcbiRkcm9wZG93bi1iYWNrZ3JvdW5kOiAkYm9keS1iYWNrZ3JvdW5kICFkZWZhdWx0O1xuXG4vLy8gQm9yZGVyIGZvciBkcm9wZG93biBwYW5lcy5cbi8vLyBAdHlwZSBMaXN0XG4kZHJvcGRvd24tYm9yZGVyOiAxcHggc29saWQgJG1lZGl1bS1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gRm9udCBzaXplIGZvciBkcm9wZG93biBwYW5lcy5cbi8vLyBAdHlwZSBMaXN0XG4kZHJvcGRvd24tZm9udC1zaXplOiAxcmVtICFkZWZhdWx0O1xuXG4vLy8gV2lkdGggZm9yIGRyb3Bkb3duIHBhbmVzLlxuLy8vIEB0eXBlIE51bWJlclxuJGRyb3Bkb3duLXdpZHRoOiAzMDBweCAhZGVmYXVsdDtcblxuLy8vIEJvcmRlciByYWRpdXMgZHJvcGRvd24gcGFuZXMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kZHJvcGRvd24tcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cyAhZGVmYXVsdDtcblxuLy8vIFNpemVzIGZvciBkcm9wZG93biBwYW5lcy4gRWFjaCBzaXplIGlzIGEgQ1NTIGNsYXNzIHlvdSBjYW4gYXBwbHkuXG4vLy8gQHR5cGUgTWFwXG4kZHJvcGRvd24tc2l6ZXM6IChcbiAgdGlueTogMTAwcHgsXG4gIHNtYWxsOiAyMDBweCxcbiAgbGFyZ2U6IDQwMHB4LFxuKSAhZGVmYXVsdDtcblxuLy8vIEFwcGxpZXMgc3R5bGVzIGZvciBhIGJhc2ljIGRyb3Bkb3duLlxuQG1peGluIGRyb3Bkb3duLWNvbnRhaW5lciB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgei1pbmRleDogMTA7XG5cbiAgd2lkdGg6ICRkcm9wZG93bi13aWR0aDtcbiAgcGFkZGluZzogJGRyb3Bkb3duLXBhZGRpbmc7XG5cbiAgdmlzaWJpbGl0eTogaGlkZGVuO1xuICBkaXNwbGF5OiBub25lO1xuICBib3JkZXI6ICRkcm9wZG93bi1ib3JkZXI7XG4gIGJvcmRlci1yYWRpdXM6ICRkcm9wZG93bi1yYWRpdXM7XG4gIGJhY2tncm91bmQtY29sb3I6ICRkcm9wZG93bi1iYWNrZ3JvdW5kO1xuXG4gIGZvbnQtc2l6ZTogJGRyb3Bkb3duLWZvbnQtc2l6ZTtcblxuXG4gIC8vIEFsbG93IGFuIGludGVybWl0dGVudCBzdGF0ZSB0byBkbyBwb3NpdGlvbmluZyBiZWZvcmUgbWFraW5nIHZpc2libGUuXG4gICYuaXMtb3BlbmluZyB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gIH1cblxuICAmLmlzLW9wZW4ge1xuICAgIHZpc2liaWxpdHk6IHZpc2libGU7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gIH1cbn1cblxuQG1peGluIGZvdW5kYXRpb24tZHJvcGRvd24ge1xuICAuZHJvcGRvd24tcGFuZSB7XG4gICAgQGluY2x1ZGUgZHJvcGRvd24tY29udGFpbmVyO1xuICB9XG5cbiAgQGVhY2ggJG5hbWUsICRzaXplIGluICRkcm9wZG93bi1zaXplcyB7XG4gICAgLmRyb3Bkb3duLXBhbmUuI3skbmFtZX0ge1xuICAgICAgd2lkdGg6ICRzaXplO1xuICAgIH1cbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgRmxleGJveCBVdGlsaXRpZXNcbi8vLy9cbi8vXG4vLy8gRGVmYXVsdCB2YWx1ZSBmb3IgdGhlIGNvdW50IG9mIHNvdXJjZSBvcmRlcmluZ2Bcbi8vLyBAdHlwZSBOdW1iZXJcbiRmbGV4LXNvdXJjZS1vcmRlcmluZy1jb3VudDogNiAhZGVmYXVsdDtcblxuLy8vIFF1aWNrbHkgZGlzYWJsZS9lbmFibGUgUmVzcG9uc2l2ZSBicmVha3BvaW50cyBmb3IgVmFuaWxsYSBGbGV4IEhlbHBlcnMuXG4vLy8gQHR5cGUgQm9vbGVhblxuJGZsZXhib3gtcmVzcG9uc2l2ZS1icmVha3BvaW50czogdHJ1ZSAhZGVmYXVsdDtcblxuQG1peGluIGZsZXgtaGVscGVycyB7XG4gIC5mbGV4LWNvbnRhaW5lciB7XG4gICAgQGluY2x1ZGUgZmxleDtcbiAgfVxuXG4gIC5mbGV4LWNoaWxkLWF1dG8ge1xuICAgIGZsZXg6IDEgMSBhdXRvO1xuICB9XG5cbiAgLmZsZXgtY2hpbGQtZ3JvdyB7XG4gICAgZmxleDogMSAwIGF1dG87XG4gIH1cblxuICAuZmxleC1jaGlsZC1zaHJpbmsge1xuICAgIGZsZXg6IDAgMSBhdXRvO1xuICB9XG5cbiAgQGVhY2ggJGRpciwgJHByb3AgaW4gJC16Zi1mbGV4LWRpcmVjdGlvbiB7XG4gICAgLmZsZXgtZGlyLSN7JGRpcn0ge1xuICAgICAgQGluY2x1ZGUgZmxleC1kaXJlY3Rpb24oJHByb3ApO1xuICAgIH1cbiAgfVxuXG4gIEBpZiAoJGZsZXhib3gtcmVzcG9uc2l2ZS1icmVha3BvaW50cykge1xuICAgIC8vIExvb3AgdGhyb3VnaCBSZXNwb25zaXZlIEJyZWFrcG9pbnRzXG4gICAgQGVhY2ggJHNpemUgaW4gJGJyZWFrcG9pbnQtY2xhc3NlcyB7XG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KCRzaXplKSB7XG4gICAgICAgIEBpZiAkc2l6ZSAhPSAkLXpmLXplcm8tYnJlYWtwb2ludCB7XG4gICAgICAgICAgLiN7JHNpemV9LWZsZXgtY29udGFpbmVyIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGZsZXg7XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgLiN7JHNpemV9LWZsZXgtY2hpbGQtYXV0byB7XG4gICAgICAgICAgICBmbGV4OiAxIDEgYXV0bztcbiAgICAgICAgICB9XG5cbiAgICAgICAgICAuI3skc2l6ZX0tZmxleC1jaGlsZC1ncm93IHtcbiAgICAgICAgICAgIGZsZXg6IDEgMCBhdXRvO1xuICAgICAgICAgIH1cblxuICAgICAgICAgIC4jeyRzaXplfS1mbGV4LWNoaWxkLXNocmluayB7XG4gICAgICAgICAgICBmbGV4OiAwIDEgYXV0bztcbiAgICAgICAgICB9XG5cbiAgICAgICAgICBAZWFjaCAkZGlyLCAkcHJvcCBpbiAkLXpmLWZsZXgtZGlyZWN0aW9uIHtcbiAgICAgICAgICAgIC4jeyRzaXplfS1mbGV4LWRpci0jeyRkaXJ9IHtcbiAgICAgICAgICAgICAgQGluY2x1ZGUgZmxleC1kaXJlY3Rpb24oJHByb3ApO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG5AbWl4aW4gZm91bmRhdGlvbi1mbGV4LWNsYXNzZXMge1xuICAvLyBIb3Jpem9udGFsIGFsaWdubWVudCB1c2luZyBqdXN0aWZ5LWNvbnRlbnRcbiAgQGVhY2ggJGhkaXIsICRwcm9wIGluIG1hcC1yZW1vdmUoJC16Zi1mbGV4LWp1c3RpZnksICdsZWZ0Jykge1xuICAgIC5hbGlnbi0jeyRoZGlyfSB7XG4gICAgICBAaW5jbHVkZSBmbGV4LWFsaWduKCR4OiAkaGRpcik7XG4gICAgfVxuICB9XG4gIFxuICAvLyBIb3Jpem9udGFsIGFsaWdubWVudCBTcGVjaWZpY2FsbHkgZm9yIFZlcnRpY2FsIE1lbnVcbiAgQGVhY2ggJGhkaXIsICRwcm9wIGluIG1hcC1yZW1vdmUoJC16Zi1mbGV4LWp1c3RpZnksICdsZWZ0JywgJ2p1c3RpZnknLCAnc3BhY2VkJykge1xuICAgIC5hbGlnbi0jeyRoZGlyfSB7XG4gICAgICAmLnZlcnRpY2FsLm1lbnUgPiBsaSA+IGEgeyBcbiAgICAgICAgQGluY2x1ZGUgZmxleC1hbGlnbigkeDogJGhkaXIpO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC8vIFZlcnRpY2FsIGFsaWdubWVudCB1c2luZyBhbGlnbi1pdGVtcyBhbmQgYWxpZ24tc2VsZlxuICBAZWFjaCAkdmRpciwgJHByb3AgaW4gJC16Zi1mbGV4LWFsaWduIHtcbiAgICAuYWxpZ24tI3skdmRpcn0ge1xuICAgICAgQGluY2x1ZGUgZmxleC1hbGlnbigkeTogJHZkaXIpO1xuICAgIH1cblxuICAgIC5hbGlnbi1zZWxmLSN7JHZkaXJ9IHtcbiAgICAgIEBpbmNsdWRlIGZsZXgtYWxpZ24tc2VsZigkeTogJHZkaXIpO1xuICAgIH1cbiAgfVxuXG4gIC8vIENlbnRyYWwgYWxpZ25tZW50IG9mIGNvbnRlbnRcbiAgLmFsaWduLWNlbnRlci1taWRkbGUge1xuICAgIEBpbmNsdWRlIGZsZXgtYWxpZ24oJHg6IGNlbnRlciwgJHk6IG1pZGRsZSk7XG4gICAgYWxpZ24tY29udGVudDogY2VudGVyO1xuICB9XG5cbiAgLy8gU291cmNlIG9yZGVyaW5nXG4gIEBpbmNsdWRlIC16Zi1lYWNoLWJyZWFrcG9pbnQge1xuICAgIEBmb3IgJGkgZnJvbSAxIHRocm91Z2ggJGZsZXgtc291cmNlLW9yZGVyaW5nLWNvdW50IHtcbiAgICAgIC4jeyQtemYtc2l6ZX0tb3JkZXItI3skaX0ge1xuICAgICAgICBAaW5jbHVkZSBmbGV4LW9yZGVyKCRpKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAvLyBWYW5pbGxhIEZsZXhib3ggSGVscGVyc1xuICBAaW5jbHVkZSBmbGV4LWhlbHBlcnM7XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCByZXNwb25zaXZlLWVtYmVkXG4vLy8vXG5cbi8vLyBNYXJnaW4gYmVsb3cgYSByZXNwb25zaXZlIGVtYmVkIGNvbnRhaW5lci5cbi8vLyBAdHlwZSBOdW1iZXJcbiRyZXNwb25zaXZlLWVtYmVkLW1hcmdpbi1ib3R0b206IHJlbS1jYWxjKDE2KSAhZGVmYXVsdDtcblxuLy8vIEFzcGVjdCByYXRpb3MgdXNlZCB0byBkZXRlcm1pbmUgcGFkZGluZy1ib3R0b20gb2YgcmVzcG9uc2l2ZSBlbWJlZCBjb250YWluZXJzLlxuLy8vIEB0eXBlIE1hcFxuJHJlc3BvbnNpdmUtZW1iZWQtcmF0aW9zOiAoXG4gIGRlZmF1bHQ6IDQgYnkgMyxcbiAgd2lkZXNjcmVlbjogMTYgYnkgOSxcbikgIWRlZmF1bHQ7XG5cbi8vIFdBUk5JTkc6IFdpbGwgYmUgcmVtb3ZlZCBpbiB2ZXJzaW9uIDYuNFxuJHJlc3BvbnNpdmUtZW1iZWQtcmF0aW86IGRlZmF1bHQ7XG5cbi8vLyBDcmVhdGVzIGEgcmVzcG9uc2l2ZSBlbWJlZCBjb250YWluZXIuXG4vLy8gQHBhcmFtIHtTdHJpbmd8TGlzdH0gJHJhdGlvIFtkZWZhdWx0XSAtIFJhdGlvIG9mIHRoZSBjb250YWluZXIuIENhbiBiZSBhIGtleSBmcm9tIHRoZSBgJHJlc3BvbnNpdmUtZW1iZWQtcmF0aW9zYCBtYXAgb3IgYSBsaXN0IGZvcm1hdHRlZCBhcyBgeCBieSB5YC5cbkBtaXhpbiByZXNwb25zaXZlLWVtYmVkKCRyYXRpbzogZGVmYXVsdCkge1xuICBAaWYgdHlwZS1vZigkcmF0aW8pID09ICdzdHJpbmcnIHtcbiAgICAkcmF0aW86IG1hcC1nZXQoJHJlc3BvbnNpdmUtZW1iZWQtcmF0aW9zLCAkcmF0aW8pO1xuICB9XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgaGVpZ2h0OiAwO1xuICBtYXJnaW4tYm90dG9tOiAkcmVzcG9uc2l2ZS1lbWJlZC1tYXJnaW4tYm90dG9tO1xuICBwYWRkaW5nLWJvdHRvbTogcmF0aW8tdG8tcGVyY2VudGFnZSgkcmF0aW8pO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuXG4gIGlmcmFtZSxcbiAgb2JqZWN0LFxuICBlbWJlZCxcbiAgdmlkZW8ge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDA7XG4gICAgI3skZ2xvYmFsLWxlZnR9OiAwO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogMTAwJTtcbiAgfVxufVxuXG5AbWl4aW4gZm91bmRhdGlvbi1yZXNwb25zaXZlLWVtYmVkIHtcbiAgLnJlc3BvbnNpdmUtZW1iZWQsXG4gIC5mbGV4LXZpZGVvIHtcbiAgICBAaW5jbHVkZSByZXNwb25zaXZlLWVtYmVkKCRyYXRpbzogZGVmYXVsdCk7XG5cbiAgICAkcmF0aW9zOiBtYXAtcmVtb3ZlKCRyZXNwb25zaXZlLWVtYmVkLXJhdGlvcyxkZWZhdWx0KTtcblxuICAgIEBlYWNoICRuYW1lLCAkcmF0aW8gaW4gJHJhdGlvcyB7XG4gICAgICAmLiN7JG5hbWV9IHtcbiAgICAgICAgcGFkZGluZy1ib3R0b206IHJhdGlvLXRvLXBlcmNlbnRhZ2UoJHJhdGlvKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuQG1peGluIGZvdW5kYXRpb24tZmxleC12aWRlbyB7XG4gIEB3YXJuICdUaGlzIG1peGluIGlzIGJlaW5nIHJlcGxhY2VkIGJ5IGZvdW5kYXRpb24tcmVzcG9uc2l2ZS1lbWJlZCgpLiBmb3VuZGF0aW9uLWZsZXgtdmlkZW8oKSB3aWxsIGJlIHJlbW92ZWQgaW4gRm91bmRhdGlvbiA2LjQuJztcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1yZXNwb25zaXZlLWVtYmVkO1xufVxuXG5AbWl4aW4gZmxleC12aWRlbygkcmF0aW86ICRyZXNwb25zaXZlLWVtYmVkLXJhdGlvKSB7XG4gIEB3YXJuICdUaGlzIG1peGluIGlzIGJlaW5nIHJlcGxhY2VkIGJ5IHJlc3BvbnNpdmUtZW1iZWQoKS4gZmxleC12aWRlbygpIHdpbGwgYmUgcmVtb3ZlZCBpbiBGb3VuZGF0aW9uIDYuNC4nO1xuICBAaW5jbHVkZSByZXNwb25zaXZlLWVtYmVkKCRyYXRpbyk7XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBsYWJlbFxuLy8vL1xuXG4vLy8gRGVmYXVsdCBiYWNrZ3JvdW5kIGNvbG9yIGZvciBsYWJlbHMuXG4vLy8gQHR5cGUgQ29sb3JcbiRsYWJlbC1iYWNrZ3JvdW5kOiAkcHJpbWFyeS1jb2xvciAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgdGV4dCBjb2xvciBmb3IgbGFiZWxzLlxuLy8vIEB0eXBlIENvbG9yXG4kbGFiZWwtY29sb3I6ICR3aGl0ZSAhZGVmYXVsdDtcblxuLy8vIEFsdGVybmF0ZSB0ZXh0IGNvbG9yIGZvciBsYWJlbHMuXG4vLy8gQHR5cGUgQ29sb3JcbiRsYWJlbC1jb2xvci1hbHQ6ICRibGFjayAhZGVmYXVsdDtcblxuLy8vIENvbG9yaW5nIGNsYXNzZXMuIEEgbWFwIG9mIGNsYXNzZXMgdG8gb3V0cHV0IGluIHlvdXIgQ1NTLCBsaWtlIGAuc2Vjb25kYXJ5YCwgYC5zdWNjZXNzYCwgYW5kIHNvIG9uLlxuLy8vIEB0eXBlIE1hcFxuJGxhYmVsLXBhbGV0dGU6ICRmb3VuZGF0aW9uLXBhbGV0dGUgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGZvbnQgc2l6ZSBmb3IgbGFiZWxzLlxuLy8vIEB0eXBlIE51bWJlclxuJGxhYmVsLWZvbnQtc2l6ZTogMC44cmVtICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBwYWRkaW5nIGluc2lkZSBsYWJlbHMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kbGFiZWwtcGFkZGluZzogMC4zMzMzM3JlbSAwLjVyZW0gIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHJhZGl1cyBvZiBsYWJlbHMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kbGFiZWwtcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cyAhZGVmYXVsdDtcblxuLy8vIEdlbmVyYXRlcyBiYXNlIHN0eWxlcyBmb3IgYSBsYWJlbC5cbkBtaXhpbiBsYWJlbCB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgcGFkZGluZzogJGxhYmVsLXBhZGRpbmc7XG5cbiAgYm9yZGVyLXJhZGl1czogJGxhYmVsLXJhZGl1cztcblxuICBmb250LXNpemU6ICRsYWJlbC1mb250LXNpemU7XG4gIGxpbmUtaGVpZ2h0OiAxO1xuICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICBjdXJzb3I6IGRlZmF1bHQ7XG59XG5cbkBtaXhpbiBmb3VuZGF0aW9uLWxhYmVsIHtcbiAgLmxhYmVsIHtcbiAgICBAaW5jbHVkZSBsYWJlbDtcblxuICAgIGJhY2tncm91bmQ6ICRsYWJlbC1iYWNrZ3JvdW5kO1xuICAgIGNvbG9yOiAkbGFiZWwtY29sb3I7XG5cbiAgICBAZWFjaCAkbmFtZSwgJGNvbG9yIGluICRsYWJlbC1wYWxldHRlIHtcbiAgICAgICYuI3skbmFtZX0ge1xuICAgICAgICBiYWNrZ3JvdW5kOiAkY29sb3I7XG4gICAgICAgIGNvbG9yOiBjb2xvci1waWNrLWNvbnRyYXN0KCRjb2xvciwgKCRsYWJlbC1jb2xvciwgJGxhYmVsLWNvbG9yLWFsdCkpO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgbWVkaWEtb2JqZWN0XG4vLy8vXG5cbi8vLyBCb3R0b20gbWFyZ2luIG9mIGEgbWVkaWEgb2JqZWN0LlxuLy8vIEB0eXBlIE51bWJlclxuJG1lZGlhb2JqZWN0LW1hcmdpbi1ib3R0b206ICRnbG9iYWwtbWFyZ2luICFkZWZhdWx0O1xuXG4vLy8gTGVmdCBhbmQgcmlnaHQgcGFkZGluZyBvbiBzZWN0aW9ucyB3aXRoaW4gYSBtZWRpYSBvYmplY3QuXG4vLy8gQHR5cGUgTnVtYmVyXG4kbWVkaWFvYmplY3Qtc2VjdGlvbi1wYWRkaW5nOiAkZ2xvYmFsLXBhZGRpbmcgIWRlZmF1bHQ7XG5cbi8vLyBXaWR0aCBvZiBpbWFnZXMgd2l0aGluIGEgbWVkaWEgb2JqZWN0LCB3aGVuIHRoZSBvYmplY3QgaXMgc3RhY2tlZCB2ZXJ0aWNhbGx5LiBTZXQgdG8gJ2F1dG8nIHRvIHVzZSB0aGUgaW1hZ2UncyBuYXR1cmFsIHdpZHRoLlxuLy8vIEB0eXBlIE51bWJlclxuJG1lZGlhb2JqZWN0LWltYWdlLXdpZHRoLXN0YWNrZWQ6IDEwMCUgIWRlZmF1bHQ7XG5cbi8vLyBBZGRzIHN0eWxlcyBmb3IgYSBtZWRpYSBvYmplY3QgY29udGFpbmVyLlxuQG1peGluIG1lZGlhLW9iamVjdC1jb250YWluZXIge1xuICBkaXNwbGF5OiBpZigkZ2xvYmFsLWZsZXhib3gsIGZsZXgsIGJsb2NrKTtcbiAgbWFyZ2luLWJvdHRvbTogJG1lZGlhb2JqZWN0LW1hcmdpbi1ib3R0b207XG5cbiAgQGlmICRnbG9iYWwtZmxleGJveCB7XG4gICAgZmxleC13cmFwOiBub3dyYXA7XG4gIH1cbn1cblxuLy8vIEFkZHMgc3R5bGVzIGZvciBzZWN0aW9ucyB3aXRoaW4gYSBtZWRpYSBvYmplY3QuXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRwYWRkaW5nIFskbWVkaWFvYmplY3Qtc2VjdGlvbi1wYWRkaW5nXSAtIFBhZGRpbmcgYmV0d2VlbiBzZWN0aW9ucy5cbkBtaXhpbiBtZWRpYS1vYmplY3Qtc2VjdGlvbigkcGFkZGluZzogJG1lZGlhb2JqZWN0LXNlY3Rpb24tcGFkZGluZykge1xuICBAaWYgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICBmbGV4OiAwIDEgYXV0bztcbiAgfVxuICBAZWxzZSB7XG4gICAgZGlzcGxheTogdGFibGUtY2VsbDtcbiAgICB2ZXJ0aWNhbC1hbGlnbjogdG9wO1xuICB9XG5cbiAgJjpmaXJzdC1jaGlsZCB7XG4gICAgcGFkZGluZy0jeyRnbG9iYWwtcmlnaHR9OiAkcGFkZGluZztcbiAgfVxuXG4gICY6bGFzdC1jaGlsZDpub3QoOm50aC1jaGlsZCgyKSkge1xuICAgIHBhZGRpbmctI3skZ2xvYmFsLWxlZnR9OiAkcGFkZGluZztcbiAgfVxuXG4gID4gOmxhc3QtY2hpbGQge1xuICAgIG1hcmdpbi1ib3R0b206IDA7XG4gIH1cbn1cblxuLy8vIEFkZHMgc3R5bGVzIHRvIHN0YWNrIHNlY3Rpb25zIG9mIGEgbWVkaWEgb2JqZWN0LiBBcHBseSB0aGlzIHRvIHRoZSBzZWN0aW9uIGVsZW1lbnRzLCBub3QgdGhlIGNvbnRhaW5lci5cbkBtaXhpbiBtZWRpYS1vYmplY3Qtc3RhY2sge1xuICBwYWRkaW5nOiAwO1xuICBwYWRkaW5nLWJvdHRvbTogJG1lZGlhb2JqZWN0LXNlY3Rpb24tcGFkZGluZztcblxuICBAaWYgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICBmbGV4LWJhc2lzOiAxMDAlO1xuICAgIG1heC13aWR0aDogMTAwJTtcbiAgfVxuICBAZWxzZSB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gIH1cblxuICBpbWcge1xuICAgIHdpZHRoOiAkbWVkaWFvYmplY3QtaW1hZ2Utd2lkdGgtc3RhY2tlZDtcbiAgfVxufVxuXG5AbWl4aW4gZm91bmRhdGlvbi1tZWRpYS1vYmplY3Qge1xuICAubWVkaWEtb2JqZWN0IHtcbiAgICBAaW5jbHVkZSBtZWRpYS1vYmplY3QtY29udGFpbmVyO1xuXG4gICAgaW1nIHtcbiAgICAgIG1heC13aWR0aDogbm9uZTtcbiAgICB9XG5cbiAgICBAaWYgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICAgICYuc3RhY2stZm9yLSN7JC16Zi16ZXJvLWJyZWFrcG9pbnR9IHtcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkLXpmLXplcm8tYnJlYWtwb2ludCBvbmx5KSB7XG4gICAgICAgICAgZmxleC13cmFwOiB3cmFwO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgJi5zdGFjay1mb3ItI3skLXpmLXplcm8tYnJlYWtwb2ludH0gLm1lZGlhLW9iamVjdC1zZWN0aW9uIHtcbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJC16Zi16ZXJvLWJyZWFrcG9pbnQgb25seSkge1xuICAgICAgICBAaW5jbHVkZSBtZWRpYS1vYmplY3Qtc3RhY2s7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLm1lZGlhLW9iamVjdC1zZWN0aW9uIHtcbiAgICBAaW5jbHVkZSBtZWRpYS1vYmplY3Qtc2VjdGlvbjtcblxuICAgIEBpZiAkZ2xvYmFsLWZsZXhib3gge1xuICAgICAgJi5tYWluLXNlY3Rpb24ge1xuICAgICAgICBmbGV4OiAxIDEgMHB4OyAvLyBzYXNzLWxpbnQ6ZGlzYWJsZS1saW5lIHplcm8tdW5pdFxuICAgICAgfVxuICAgIH1cbiAgICBAZWxzZSB7XG4gICAgICAmLm1pZGRsZSB7XG4gICAgICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gICAgICB9XG5cbiAgICAgICYuYm90dG9tIHtcbiAgICAgICAgdmVydGljYWwtYWxpZ246IGJvdHRvbTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIG1lbnVcbi8vLy9cblxuLy8vIE1hcmdpbiBvZiBhIG1lbnUuXG4vLy8gQHR5cGUgTnVtYmVyXG4kbWVudS1tYXJnaW46IDAgIWRlZmF1bHQ7XG5cbi8vLyBMZWZ0LWhhbmQgbWFyZ2luIG9mIGEgbmVzdGVkIG1lbnUuXG4vLy8gQHR5cGUgTnVtYmVyXG4kbWVudS1uZXN0ZWQtbWFyZ2luOiAkZ2xvYmFsLW1lbnUtbmVzdGVkLW1hcmdpbiAhZGVmYXVsdDtcblxuLy8vIFBhZGRpbmcgZm9yIGl0ZW1zIGluIGEgcGlsbCBtZW51LlxuLy8vIEB0eXBlIE51bWJlclxuJG1lbnUtaXRlbXMtcGFkZGluZzogJGdsb2JhbC1tZW51LXBhZGRpbmcgIWRlZmF1bHQ7XG5cbi8vLyBtYXJnaW4gZm9yIGl0ZW1zIGluIGEgc2ltcGxlIG1lbnUuXG4vLy8gQHR5cGUgTnVtYmVyXG4kbWVudS1zaW1wbGUtbWFyZ2luOiAxcmVtICFkZWZhdWx0O1xuXG4vLy8gVGV4dCBjb2xvciBvZiBhbiBhY3RpdmUgbWVudSBpdGVtLlxuLy8vIEB0eXBlIENvbG9yXG4kbWVudS1pdGVtLWNvbG9yLWFjdGl2ZTogJHdoaXRlICFkZWZhdWx0O1xuXG4vLy8gQmFja2dyb3VuZCBjb2xvciBvZiBhbiBhY3RpdmUgbWVudSBpdGVtLlxuLy8vIEB0eXBlIENvbG9yXG4kbWVudS1pdGVtLWJhY2tncm91bmQtYWN0aXZlOiBnZXQtY29sb3IocHJpbWFyeSkgIWRlZmF1bHQ7XG5cbi8vLyBTcGFjaW5nIGJldHdlZW4gYW4gaWNvbiBhbmQgdGV4dCBpbiBhIG1lbnUgaXRlbS5cbi8vLyBAdHlwZSBOdW1iZXJcbiRtZW51LWljb24tc3BhY2luZzogMC4yNXJlbSAhZGVmYXVsdDtcblxuLy8vIEJhY2tncm91bmQgY29sb3IgZm9yIGFuIGhvdmVyZWQgbWVudSBpdGVtLlxuLy8vIEB0eXBlIENvbG9yXG4kbWVudS1pdGVtLWJhY2tncm91bmQtaG92ZXI6ICRsaWdodC1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gQmFja3dhcmQgY29tcGF0aWJpbGl0eSBmb3IgbWVudSBzdGF0ZS4gSWYgdHJ1ZSwgdGhpcyBkdXBsaWNhdGUgYGFjdGl2ZWAgd2l0aCBgaXMtYWN0aXZlYC4gXG4vLy8gQnV0IHBsZWFzZSBub3RlIHRoYXQgYGFjdGl2ZWAgd2lsbCBiZSByZW1vdmVkIGluIHVwY29taW5nIHZlcnNpb25zLlxuLy8vIEB0eXBlIEJvb2xlYW5cbiRtZW51LXN0YXRlLWJhY2stY29tcGF0OiB0cnVlICFkZWZhdWx0O1xuXG4vLy8gQmFja3dhcmQgY29tcGF0aWJpbGl0eSBmb3IgbWVudSBjZW50ZXJlZC4gSWYgdHJ1ZSwgdGhpcyBkdXBsaWNhdGUgYC5tZW51LWNlbnRlcmVkID4gLm1lbnVgIHdpdGggYC5tZW51LmFsaWduLWNlbnRlcmAuIFxuLy8vIEJ1dCBwbGVhc2Ugbm90ZSB0aGF0IGBtZW51LWNlbnRlcmVkYCB3aWxsIGJlIHJlbW92ZWQgaW4gdXBjb21pbmcgdmVyc2lvbnMuXG4vLy8gQHR5cGUgQm9vbGVhblxuJG1lbnUtY2VudGVyZWQtYmFjay1jb21wYXQ6IHRydWUgIWRlZmF1bHQ7XG5cbi8vLyBCYWNrd2FyZCBjb21wYXRpYmlsaXR5IGZvciB1c2luZyBgaWNvbi0qYCBjbGFzc2VzIHdpdGhvdXQgYC5pY29uc2AgY2xhc3Nlc1xuLy8vIEJ1dCBwbGVhc2Ugbm90ZSB0aGF0IHRoaXMgYmFja3dhcmQgY29tcGF0aWJpbGl0eSB3aWxsIGJlIHJlbW92ZWQgaW4gdXBjb21pbmcgdmVyc2lvbnMuXG4vLy8gQHR5cGUgQm9vbGVhblxuJG1lbnUtaWNvbnMtYmFjay1jb21wYXQ6IHRydWUgIWRlZmF1bHQ7XG5cbi8vLyBDcmVhdGVzIHRoZSBiYXNlIHN0eWxlcyBmb3IgYSBNZW51LlxuQG1peGluIG1lbnUtYmFzZSB7XG4gIHBhZGRpbmc6IDA7XG4gIG1hcmdpbjogMDtcbiAgbGlzdC1zdHlsZTogbm9uZTtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gIEBpZiAkZ2xvYmFsLWZsZXhib3gge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC13cmFwOiB3cmFwO1xuICB9XG5cbiAgbGkge1xuICAgIEBpbmNsdWRlIGRpc2FibGUtbW91c2Utb3V0bGluZTtcbiAgfVxuXG4gIGEsXG4gIC5idXR0b24ge1xuICAgIGxpbmUtaGVpZ2h0OiAxO1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBwYWRkaW5nOiAkbWVudS1pdGVtcy1wYWRkaW5nO1xuICB9XG5cbiAgLy8gUmVzZXQgc3R5bGVzIG9mIGlubmVyIGVsZW1lbnRzXG4gIGlucHV0LFxuICBzZWxlY3QsXG4gIGEsXG4gIGJ1dHRvbiB7XG4gICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgfVxuXG4gIGlucHV0IHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIH1cbn1cblxuLy8vIEV4cGFuZHMgdGhlIGl0ZW1zIG9mIGEgTWVudSwgc28gZWFjaCBpdGVtIGlzIHRoZSBzYW1lIHdpZHRoLlxuQG1peGluIG1lbnUtZXhwYW5kIHtcbiAgQGlmICRnbG9iYWwtZmxleGJveCB7XG4gICAgbGkge1xuICAgICAgZmxleDogMSAxIDBweDsgLy8gc2Fzcy1saW50OmRpc2FibGUtbGluZSB6ZXJvLXVuaXRcbiAgICB9XG4gIH1cbiAgQGVsc2Uge1xuICAgIGRpc3BsYXk6IHRhYmxlO1xuICAgIHdpZHRoOiAxMDAlO1xuXG4gICAgPiBsaSB7XG4gICAgICBkaXNwbGF5OiB0YWJsZS1jZWxsO1xuICAgICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgICB9XG4gIH1cbn1cblxuLy8vIEFsaWduIG1lbnUgaXRlbXMuXG5AbWl4aW4gbWVudS1hbGlnbigkYWxpZ25tZW50KSB7XG4gIEBpZiAkYWxpZ25tZW50ID09IGxlZnQge1xuICAgIEBpZiAkZ2xvYmFsLWZsZXhib3gge1xuICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0O1xuICAgIH1cbiAgICBAZWxzZSB7XG4gICAgICB0ZXh0LWFsaWduOiAkZ2xvYmFsLWxlZnQ7XG4gICAgfVxuICB9XG4gIEBlbHNlIGlmICRhbGlnbm1lbnQgPT0gcmlnaHQge1xuICAgIEBpZiAkZ2xvYmFsLWZsZXhib3gge1xuICAgICAgbGkge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kO1xuXG4gICAgICAgIC5zdWJtZW51IGxpIHtcbiAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgJi52ZXJ0aWNhbCBsaSB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICB0ZXh0LWFsaWduOiAkZ2xvYmFsLXJpZ2h0O1xuXG4gICAgICAgIC5zdWJtZW51IGxpIHtcbiAgICAgICAgICB0ZXh0LWFsaWduOiAkZ2xvYmFsLXJpZ2h0O1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICAgIEBlbHNlIHtcbiAgICAgIHRleHQtYWxpZ246ICRnbG9iYWwtcmlnaHQ7XG5cbiAgICAgIC5zdWJtZW51IGxpIHtcbiAgICAgICAgdGV4dC1hbGlnbjogJGdsb2JhbC1sZWZ0O1xuICAgICAgfVxuXG4gICAgICAmLnZlcnRpY2FsIHtcbiAgICAgICAgLnN1Ym1lbnUgbGkge1xuICAgICAgICAgIHRleHQtYWxpZ246ICRnbG9iYWwtcmlnaHQ7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgQGVsc2UgaWYgJGFsaWdubWVudCA9PSBjZW50ZXIge1xuICAgIEBpZiAkZ2xvYmFsLWZsZXhib3gge1xuICAgICAgbGkge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcblxuICAgICAgICAuc3VibWVudSBsaSB7XG4gICAgICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0O1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICAgIEBlbHNlIHtcbiAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcblxuICAgICAgLnN1Ym1lbnUgbGkge1xuICAgICAgICB0ZXh0LWFsaWduOiAkZ2xvYmFsLWxlZnQ7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbi8vLyBTZXRzIHRoZSBkaXJlY3Rpb24gb2YgYSBNZW51LlxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJGRpciBbaG9yaXpvbnRhbF0gLSBEaXJlY3Rpb24gb2YgdGhlIE1lbnUuIENhbiBiZSBgaG9yaXpvbnRhbGAgb3IgYHZlcnRpY2FsYC5cbkBtaXhpbiBtZW51LWRpcmVjdGlvbigkZGlyOiBob3Jpem9udGFsKSB7XG4gIEBpZiAkZGlyID09IGhvcml6b250YWwge1xuICAgIEBpZiAkZ2xvYmFsLWZsZXhib3gge1xuICAgICAgZmxleC13cmFwOiB3cmFwO1xuICAgICAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgICB9XG4gICAgQGVsc2Uge1xuICAgICAgbGkge1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICB9XG4gICAgfVxuICB9XG4gIEBlbHNlIGlmICRkaXIgPT0gdmVydGljYWwge1xuICAgIEBpZiAkZ2xvYmFsLWZsZXhib3gge1xuICAgICAgZmxleC13cmFwOiBub3dyYXA7XG4gICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIH1cbiAgICBAZWxzZSB7XG4gICAgICBsaSB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgfVxuICAgIH1cbiAgfVxuICBAZWxzZSB7XG4gICAgQHdhcm4gJ1RoZSBkaXJlY3Rpb24gdXNlZCBmb3IgbWVudS1kaXJlY3Rpb24oKSBtdXN0IGJlIGhvcml6b250YWwgb3IgdmVydGljYWwuJztcbiAgfVxufVxuXG4vLy8gQ3JlYXRlcyBhIHNpbXBsZSBNZW51LCB3aGljaCBoYXMgbm8gcGFkZGluZyBvciBob3ZlciBzdGF0ZS5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRkaXIgWyRnbG9iYWwtbGVmdF0gLSBEaXJlY3Rpb24gb2YgdGhlIG1lbnUuIFRoaXMgZWZmZWN0cyB0aGUgc2lkZSBvZiB0aGUgYDxsaT5gIHRoYXQgcmVjZWl2ZXMgdGhlIG1hcmdpbi5cbi8vLyBAcGFyYW0ge051bWJlcn0gJG1hcmdpbiBbJG1lbnUtc2ltcGxlLW1hcmdpbl0gLSBUaGUgbWFyZ2luIHRvIGFwcGx5IHRvIGVhY2ggYDxsaT5gLlxuQG1peGluIG1lbnUtc2ltcGxlKCRkaXI6ICRnbG9iYWwtbGVmdCwgJG1hcmdpbjogJG1lbnUtc2ltcGxlLW1hcmdpbikge1xuICBAaWYgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICB9XG5cbiAgbGkgKyBsaSB7XG4gICAgbWFyZ2luLSN7JGRpcn06ICRtYXJnaW47XG4gIH1cblxuICBhIHtcbiAgICBwYWRkaW5nOiAwO1xuICB9XG59XG5cbi8vLyBBZGRzIHN0eWxlcyBmb3IgYSBuZXN0ZWQgTWVudSwgYnkgYWRkaW5nIGBtYXJnaW4tbGVmdGAgdG8gdGhlIG1lbnUuXG4vLy8gQHBhcmFtIHtLZXl3b3JkfE51bWJlcn0gJG1hcmdpbiBbJG1lbnUtbmVzdGVkLW1hcmdpbl0gLSBMZW5ndGggb2YgdGhlIG1hcmdpbi5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRuZXN0ZWQtYWxpZ25tZW50IFtsZWZ0XSAtIEFsaWdubWVudCBvZiB0aGUgbmVzdGVkIGNsYXNzXG5AbWl4aW4gbWVudS1uZXN0ZWQoXG4gICRtYXJnaW46ICRtZW51LW5lc3RlZC1tYXJnaW4sXG4gICRuZXN0ZWQtYWxpZ25tZW50OiBsZWZ0XG4pIHtcbiAgQGlmICRuZXN0ZWQtYWxpZ25tZW50ID09IHJpZ2h0IHtcbiAgICBtYXJnaW4tI3skZ2xvYmFsLXJpZ2h0fTogJG1hcmdpbjtcbiAgICBtYXJnaW4tI3skZ2xvYmFsLWxlZnR9OiAwO1xuICB9XG4gIEBlbHNlIHtcbiAgICBtYXJnaW4tI3skZ2xvYmFsLXJpZ2h0fTogMDtcbiAgICBtYXJnaW4tI3skZ2xvYmFsLWxlZnR9OiAkbWFyZ2luO1xuICB9XG5cbn1cblxuLy8vIEFkZHMgYmFzaWMgc3R5bGVzIGZvciBpY29ucyBpbiBtZW51cy5cbkBtaXhpbiBtZW51LWljb25zKCkge1xuICBAaWYgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICBhIHtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgfVxuICB9XG4gIEBlbHNlIHtcbiAgICBpbWcsXG4gICAgaSxcbiAgICBzdmcge1xuICAgICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcblxuICAgICAgKyBzcGFuIHtcbiAgICAgICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuLy8vIEFkZHMgcG9zaXRpb24gY2xhc3NlcyBmb3IgaWNvbnMgd2l0aGluIGEgbWVudS5cbkBtaXhpbiBtZW51LWljb24tcG9zaXRpb24oJHBvc2l0aW9uOiBsZWZ0LCAkc3BhY2luZzogJG1lbnUtaWNvbi1zcGFjaW5nKSB7XG4gIEBpZiAkcG9zaXRpb24gPT0gbGVmdCB7XG4gICAgbGkgYSB7XG4gICAgICBAaWYgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICAgICAgZmxleC1mbG93OiByb3cgbm93cmFwO1xuICAgICAgfVxuXG4gICAgICBpbWcsXG4gICAgICBpLFxuICAgICAgc3ZnIHtcbiAgICAgICAgbWFyZ2luLSN7JGdsb2JhbC1yaWdodH06ICRzcGFjaW5nO1xuXG4gICAgICAgIEBpZiBub3QgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgQGVsc2UgaWYgJHBvc2l0aW9uID09IHJpZ2h0IHtcbiAgICBsaSBhIHtcbiAgICAgIEBpZiAkZ2xvYmFsLWZsZXhib3gge1xuICAgICAgICBmbGV4LWZsb3c6IHJvdyBub3dyYXA7XG4gICAgICB9XG5cbiAgICAgIGltZyxcbiAgICAgIGksXG4gICAgICBzdmcge1xuICAgICAgICBtYXJnaW4tI3skZ2xvYmFsLWxlZnR9OiAkc3BhY2luZztcblxuICAgICAgICBAaWYgbm90ICRnbG9iYWwtZmxleGJveCB7XG4gICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG4gIEBlbHNlIGlmICRwb3NpdGlvbiA9PSB0b3Age1xuICAgIGxpIGEge1xuICAgICAgQGlmICRnbG9iYWwtZmxleGJveCB7XG4gICAgICAgIGZsZXgtZmxvdzogY29sdW1uIG5vd3JhcDtcbiAgICAgIH1cbiAgICAgIEBlbHNlIHtcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgfVxuXG4gICAgICBpbWcsXG4gICAgICBpLFxuICAgICAgc3ZnIHtcbiAgICAgICAgQGlmIG5vdCAkZ2xvYmFsLWZsZXhib3gge1xuICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgIG1hcmdpbjogMCBhdXRvICRzcGFjaW5nO1xuICAgICAgICB9XG4gICAgICAgIEBlbHNlIHtcbiAgICAgICAgICBhbGlnbi1zZWxmOiBzdHJldGNoO1xuICAgICAgICAgIG1hcmdpbi1ib3R0b206ICRzcGFjaW5nO1xuICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuICBAZWxzZSBpZiAkcG9zaXRpb24gPT0gYm90dG9tIHtcbiAgICBsaSBhIHtcbiAgICAgIEBpZiAkZ2xvYmFsLWZsZXhib3gge1xuICAgICAgICBmbGV4LWZsb3c6IGNvbHVtbiBub3dyYXA7XG4gICAgICB9XG4gICAgICBAZWxzZSB7XG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgIH1cblxuICAgICAgaW1nLFxuICAgICAgaSxcbiAgICAgIHN2ZyB7XG4gICAgICAgIEBpZiBub3QgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICBtYXJnaW46ICRzcGFjaW5nIGF1dG8gMDtcbiAgICAgICAgfVxuICAgICAgICBAZWxzZSB7XG4gICAgICAgICAgYWxpZ24tc2VsZjogc3RyZXRjaDtcbiAgICAgICAgICBtYXJnaW4tYm90dG9tOiAkc3BhY2luZztcbiAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuQG1peGluIG1lbnUtdGV4dCB7XG4gIHBhZGRpbmc6ICRnbG9iYWwtbWVudS1wYWRkaW5nO1xuXG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xuICBsaW5lLWhlaWdodDogMTtcbiAgY29sb3I6IGluaGVyaXQ7XG59XG5cbkBtaXhpbiBtZW51LXN0YXRlLWFjdGl2ZSB7XG4gIGJhY2tncm91bmQ6ICRtZW51LWl0ZW0tYmFja2dyb3VuZC1hY3RpdmU7XG4gIGNvbG9yOiAkbWVudS1pdGVtLWNvbG9yLWFjdGl2ZTtcbn1cblxuQG1peGluIGZvdW5kYXRpb24tbWVudSB7XG4gIC5tZW51IHtcbiAgICBAaW5jbHVkZSBtZW51LWJhc2U7XG5cbiAgICAvLyBEZWZhdWx0IG9yaWVudGF0aW9uOiBob3Jpem9udGFsXG4gICAgJiwgJi5ob3Jpem9udGFsIHtcbiAgICAgIEBpbmNsdWRlIG1lbnUtZGlyZWN0aW9uKGhvcml6b250YWwpO1xuICAgIH1cblxuICAgIC8vIFZlcnRpY2FsIG9yaWVudGF0aW9uIG1vZGlmaWVyXG4gICAgJi52ZXJ0aWNhbCB7XG4gICAgICBAaW5jbHVkZSBtZW51LWRpcmVjdGlvbih2ZXJ0aWNhbCk7XG4gICAgfVxuXG4gICAgLy8gRXZlbi13aWR0aCBtb2RpZmllciBmb3IgaG9yaXpvbnRhbCBvcmllbnRhdGlvblxuICAgICYuZXhwYW5kZWQge1xuICAgICAgQGluY2x1ZGUgbWVudS1leHBhbmQ7XG4gICAgfVxuXG4gICAgLy8gU2ltcGxlXG4gICAgJi5zaW1wbGUge1xuICAgICAgQGluY2x1ZGUgbWVudS1zaW1wbGU7XG4gICAgfVxuXG4gICAgLy8gQnJlYWtwb2ludCBzcGVjaWZpYyB2ZXJzaW9uc1xuICAgIEBpbmNsdWRlIC16Zi1lYWNoLWJyZWFrcG9pbnQoJHNtYWxsOiBmYWxzZSkge1xuICAgICAgJi4jeyQtemYtc2l6ZX0taG9yaXpvbnRhbCB7XG4gICAgICAgIEBpbmNsdWRlIG1lbnUtZGlyZWN0aW9uKGhvcml6b250YWwpO1xuICAgICAgfVxuXG4gICAgICAmLiN7JC16Zi1zaXplfS12ZXJ0aWNhbCB7XG4gICAgICAgIEBpbmNsdWRlIG1lbnUtZGlyZWN0aW9uKHZlcnRpY2FsKTtcbiAgICAgIH1cblxuICAgICAgJi4jeyQtemYtc2l6ZX0tZXhwYW5kZWQge1xuICAgICAgICBAaW5jbHVkZSBtZW51LWV4cGFuZDtcbiAgICAgIH1cblxuICAgICAgJi4jeyQtemYtc2l6ZX0tc2ltcGxlIHtcbiAgICAgICAgQGluY2x1ZGUgbWVudS1leHBhbmQ7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gTmVzdGluZ1xuICAgICYubmVzdGVkIHtcbiAgICAgIEBpbmNsdWRlIG1lbnUtbmVzdGVkO1xuICAgIH1cblxuICAgIC8vIEljb24gQmFzZSBTdHlsZXNcbiAgICAmLmljb25zIHtcbiAgICAgIEBpbmNsdWRlIG1lbnUtaWNvbnM7XG4gICAgfVxuXG4gICAgLy8gQmFja3dhcmQgQ29tcGF0aWJpbGl0eSBmb3IgYWN0aXZlIHN0YXRlXG4gICAgQGlmICRtZW51LWljb25zLWJhY2stY29tcGF0IHtcbiAgICAgICYuaWNvbi10b3AsXG4gICAgICAmLmljb24tcmlnaHQsXG4gICAgICAmLmljb24tYm90dG9tLFxuICAgICAgJi5pY29uLWxlZnQge1xuICAgICAgICBAaW5jbHVkZSBtZW51LWljb25zO1xuICAgICAgfVxuICAgIH1cblxuICAgIC8vIEljb24gTGVmdFxuICAgICYuaWNvbi1sZWZ0IHtcbiAgICAgIEBpbmNsdWRlIG1lbnUtaWNvbi1wb3NpdGlvbihsZWZ0KTtcbiAgICB9XG5cbiAgICAvLyBJY29uIFJpZ2h0XG4gICAgJi5pY29uLXJpZ2h0IHtcbiAgICAgIEBpbmNsdWRlIG1lbnUtaWNvbi1wb3NpdGlvbihyaWdodCk7XG4gICAgfVxuXG4gICAgLy8gSWNvbiBUb3BcbiAgICAmLmljb24tdG9wIHtcbiAgICAgIEBpbmNsdWRlIG1lbnUtaWNvbi1wb3NpdGlvbih0b3ApO1xuICAgIH1cblxuICAgIC8vIEljb24gQm90dG9tXG4gICAgJi5pY29uLWJvdHRvbSB7XG4gICAgICBAaW5jbHVkZSBtZW51LWljb24tcG9zaXRpb24oYm90dG9tKTtcbiAgICB9XG5cbiAgICAvLyBBY3RpdmUgc3RhdGVcbiAgICAuaXMtYWN0aXZlID4gYSB7XG4gICAgICBAaW5jbHVkZSBtZW51LXN0YXRlLWFjdGl2ZTtcbiAgICB9XG4gICAgXG4gICAgLy8gQmFja3dhcmQgQ29tcGF0aWJpbGl0eSBmb3IgYWN0aXZlIHN0YXRlXG4gICAgQGlmICRtZW51LXN0YXRlLWJhY2stY29tcGF0IHtcbiAgICAgIC5hY3RpdmUgPiBhIHtcbiAgICAgICAgQGluY2x1ZGUgbWVudS1zdGF0ZS1hY3RpdmU7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gQWxpZ24gbGVmdFxuICAgICYuYWxpZ24tI3skZ2xvYmFsLWxlZnR9IHtcbiAgICAgIEBpbmNsdWRlIG1lbnUtYWxpZ24obGVmdCk7XG4gICAgfVxuXG4gICAgLy8gQWxpZ24gcmlnaHRcbiAgICAmLmFsaWduLSN7JGdsb2JhbC1yaWdodH0ge1xuICAgICAgQGluY2x1ZGUgbWVudS1hbGlnbihyaWdodCk7XG5cbiAgICAgIC5uZXN0ZWQge1xuICAgICAgICBAaW5jbHVkZSBtZW51LW5lc3RlZCgkbmVzdGVkLWFsaWdubWVudDogcmlnaHQpO1xuICAgICAgfVxuICAgIH1cblxuICAgIC8vIEFsaWduIGNlbnRlclxuICAgICYuYWxpZ24tY2VudGVyIHtcbiAgICAgIEBpbmNsdWRlIG1lbnUtYWxpZ24oY2VudGVyKTtcbiAgICB9XG5cbiAgICAubWVudS10ZXh0IHtcbiAgICAgIEBpbmNsdWRlIG1lbnUtdGV4dDtcbiAgICB9XG4gIH1cblxuICBAaWYgJG1lbnUtY2VudGVyZWQtYmFjay1jb21wYXQge1xuICAgIC5tZW51LWNlbnRlcmVkIHtcbiAgICAgID4gLm1lbnUge1xuICAgICAgICBAaWYgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgICAgfVxuICAgICAgICBcbiAgICAgICAgQGluY2x1ZGUgbWVudS1hbGlnbihjZW50ZXIpO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC8vIFByZXZlbnQgRk9VQyB3aGVuIHVzaW5nIHRoZSBSZXNwb25zaXZlIE1lbnUgcGx1Z2luXG4gIC5uby1qcyBbZGF0YS1yZXNwb25zaXZlLW1lbnVdIHVsIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG59XG4iLCJAbWl4aW4gZm91bmRhdGlvbi1tZW51LWljb24ge1xuICAubWVudS1pY29uIHtcbiAgICBAaW5jbHVkZSBoYW1idXJnZXIoJGNvbG9yOiAkdGl0bGViYXItaWNvbi1jb2xvciwgJGNvbG9yLWhvdmVyOiAkdGl0bGViYXItaWNvbi1jb2xvci1ob3Zlcik7XG4gIH1cblxuICAubWVudS1pY29uLmRhcmsge1xuICAgIEBpbmNsdWRlIGhhbWJ1cmdlcjtcbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgb2ZmLWNhbnZhc1xuLy8vL1xuXG4vLy8gV2lkdGggbWFwIG9mIGEgbGVmdC9yaWdodCBvZmYtY2FudmFzIHBhbmVsLlxuLy8vIEB0eXBlIE1hcFxuJG9mZmNhbnZhcy1zaXplczogKFxuICBzbWFsbDogMjUwcHgsXG4pICFkZWZhdWx0O1xuXG4vLy8gSGVpZ2h0IG1hcCBvZiBhIHRvcC9ib3R0b20gb2ZmLWNhbnZhcyBwYW5lbC5cbi8vLyBAdHlwZSBNYXBcbiRvZmZjYW52YXMtdmVydGljYWwtc2l6ZXM6IChcbiAgc21hbGw6IDI1MHB4LFxuKSAhZGVmYXVsdDtcblxuLy8vIEJhY2tncm91bmQgY29sb3Igb2YgYW4gb2ZmLWNhbnZhcyBwYW5lbC5cbi8vLyBAdHlwZSBDb2xvclxuJG9mZmNhbnZhcy1iYWNrZ3JvdW5kOiAkbGlnaHQtZ3JheSAhZGVmYXVsdDtcblxuLy8vIEJveCBzaGFkb3cgZm9yIHRoZSBvZmYtY2FudmFzIG92ZXJsYXAgcGFuZWwuXG4vLy8gQHR5cGUgU2hhZG93XG4kb2ZmY2FudmFzLXNoYWRvdzogMCAwIDEwcHggcmdiYSgkYmxhY2ssIDAuNykgIWRlZmF1bHQ7XG5cbi8vLyBJbm5lciBib3ggc2hhZG93IHNpemUgZm9yIHRoZSBvZmYtY2FudmFzIHB1c2ggcGFuZWwuXG4vLy8gQHR5cGUgTnVtYmVyXG4kb2ZmY2FudmFzLWlubmVyLXNoYWRvdy1zaXplOiAyMHB4ICFkZWZhdWx0O1xuXG4vLy8gSW5uZXIgYm94IHNoYWRvdyBjb2xvciBmb3IgdGhlIG9mZi1jYW52YXMgcHVzaCBwYW5lbC5cbi8vLyBAdHlwZSBDb2xvclxuJG9mZmNhbnZhcy1pbm5lci1zaGFkb3ctY29sb3I6IHJnYmEoJGJsYWNrLCAwLjI1KSAhZGVmYXVsdDtcblxuLy8vIFotaW5kZXggb2YgYW4gb2ZmLWNhbnZhcyBjb250ZW50IG92ZXJsYXkuXG4vLy8gQHR5cGUgTnVtYmVyXG4kb2ZmY2FudmFzLW92ZXJsYXktemluZGV4OiAxMSAhZGVmYXVsdDtcblxuLy8vIFotaW5kZXggb2YgYW4gb2ZmLWNhbnZhcyBwYW5lbCB3aXRoIHRoZSBgcHVzaGAgdHJhbnNpdGlvbi5cbi8vLyBAdHlwZSBOdW1iZXJcbiRvZmZjYW52YXMtcHVzaC16aW5kZXg6IDEyICFkZWZhdWx0O1xuXG4vLy8gWi1pbmRleCBvZiBhbiBvZmYtY2FudmFzIHBhbmVsIHdpdGggdGhlIGBvdmVybGFwYCB0cmFuc2l0aW9uLlxuLy8vIEB0eXBlIE51bWJlclxuJG9mZmNhbnZhcy1vdmVybGFwLXppbmRleDogMTMgIWRlZmF1bHQ7XG5cbi8vLyBaLWluZGV4IG9mIGFuIG9mZi1jYW52YXMgcGFuZWwgdXNpbmcgdGhlIGByZXZlYWwtZm9yLSpgIGNsYXNzZXMgb3IgbWl4aW4uXG4vLy8gQHR5cGUgTnVtYmVyXG4kb2ZmY2FudmFzLXJldmVhbC16aW5kZXg6IDEyICFkZWZhdWx0O1xuXG4vLy8gTGVuZ3RoIG9mIHRoZSBhbmltYXRpb24gb24gYW4gb2ZmLWNhbnZhcyBwYW5lbC5cbi8vLyBAdHlwZSBOdW1iZXJcbiRvZmZjYW52YXMtdHJhbnNpdGlvbi1sZW5ndGg6IDAuNXMgIWRlZmF1bHQ7XG5cbi8vLyBUaW1pbmcgZnVuY3Rpb24gb2YgdGhlIGFuaW1hdGlvbiBvbiBhbiBvZmYtY2FudmFzIHBhbmVsLlxuLy8vIEB0eXBlIEtleXdvcmRcbiRvZmZjYW52YXMtdHJhbnNpdGlvbi10aW1pbmc6IGVhc2UgIWRlZmF1bHQ7XG5cbi8vLyBJZiBgdHJ1ZWAsIGEgcmV2ZWFsZWQgb2ZmLWNhbnZhcyB3aWxsIGJlIGZpeGVkLXBvc2l0aW9uLCBhbmQgc2Nyb2xsIHdpdGggdGhlIHNjcmVlbi5cbi8vLyBAdHlwZSBCb29sXG4kb2ZmY2FudmFzLWZpeGVkLXJldmVhbDogdHJ1ZSAhZGVmYXVsdDtcblxuLy8vIEJhY2tncm91bmQgY29sb3IgZm9yIHRoZSBvdmVybGF5IHRoYXQgYXBwZWFycyB3aGVuIGFuIG9mZi1jYW52YXMgcGFuZWwgaXMgb3Blbi5cbi8vLyBAdHlwZSBDb2xvclxuJG9mZmNhbnZhcy1leGl0LWJhY2tncm91bmQ6IHJnYmEoJHdoaXRlLCAwLjI1KSAhZGVmYXVsdDtcblxuLy8vIENTUyBjbGFzcyB1c2VkIGZvciB0aGUgbWFpbiBjb250ZW50IGFyZWEuIFRoZSBvZmYtY2FudmFzIG1peGlucyB1c2UgdGhpcyB0byB0YXJnZXQgdGhlIHBhZ2UgY29udGVudC5cbiRtYWluY29udGVudC1jbGFzczogJ29mZi1jYW52YXMtY29udGVudCcgIWRlZmF1bHQ7XG5cbi8vLyBBZGRzIGJhc2VsaW5lIHN0eWxlcyBmb3Igb2ZmLWNhbnZhcy4gVGhpcyBDU1MgaXMgcmVxdWlyZWQgdG8gbWFrZSB0aGUgb3RoZXIgcGllY2VzIHdvcmsuXG5AbWl4aW4gb2ZmLWNhbnZhcy1iYXNpY3Mge1xuXG4gIC8vLyBUcmFuc2Zvcm0gZGVwcmVjYXRlZCBzaXplIHNldHRpbmdzIGludG8gbWFwICYgc2hvdyB3YXJuaW5nXG4gIEBpZiB2YXJpYWJsZS1leGlzdHMob2ZmY2FudmFzLXNpemUpIHtcbiAgICAkb2ZmY2FudmFzLXNpemVzOiAoc21hbGw6ICRvZmZjYW52YXMtc2l6ZSwgbWVkaXVtOiAkb2ZmY2FudmFzLXNpemUpICFnbG9iYWw7XG4gICAgQHdhcm4gJyRvZmZjYW52YXMtc2l6ZSBpcyBkZXByZWNhdGVkIGFuZCBub3QgdXNlZCBhbnltb3JlISBQbGVhc2UgdXBkYXRlIHlvdXIgc2V0dGluZ3MgYW5kIHVzZSB0aGUgbWFwICRvZmZjYW52YXMtc2l6ZXMgaW5zdGVhZCc7XG4gIH1cbiAgQGlmIHZhcmlhYmxlLWV4aXN0cyhvZmZjYW52YXMtdmVydGljYWwtc2l6ZSkge1xuICAgICRvZmZjYW52YXMtdmVydGljYWwtc2l6ZXM6IChzbWFsbDogJG9mZmNhbnZhcy12ZXJ0aWNhbC1zaXplLCBtZWRpdW06ICRvZmZjYW52YXMtdmVydGljYWwtc2l6ZSkgIWdsb2JhbDtcbiAgICBAd2FybiAnJG9mZmNhbnZhcy12ZXJ0aWNhbC1zaXplIGlzIGRlcHJlY2F0ZWQgYW5kIG5vdCB1c2VkIGFueW1vcmUhIFBsZWFzZSB1cGRhdGUgeW91ciBzZXR0aW5ncyBhbmQgdXNlIHRoZSBtYXAgJG9mZmNhbnZhcy12ZXJ0aWNhbC1zaXplcyBpbnN0ZWFkJztcbiAgfVxuXG4gIC8vIENoZWNrcyB0aGUgei1pbmRleGVzIGFuZCBpbmNyZWFzZSB0aGVtIGR1ZSB0byBiYWNrd2FyZHMgY29tcGF0aWJpbGl0eS5cbiAgLy8gVGhpcyBpcyBuZWNlc3NhcnkgYmVjYXVzZSB0aGUgb3ZlcmxheSdzIHotaW5kZXggaXMgbmV3IHNpbmNlIHY2LjQgYW5kIG1heSBiZSBpZGVudGljYWwgdG8gdGhlIHVzZXIgY3VzdG9tIHNldHRpbmdzIG9mIHRoZSBwdXNoIHotaW5kZXguXG4gIEBpZiAkb2ZmY2FudmFzLXB1c2gtemluZGV4IDw9ICRvZmZjYW52YXMtb3ZlcmxheS16aW5kZXggeyAkb2ZmY2FudmFzLXB1c2gtemluZGV4OiAkb2ZmY2FudmFzLW92ZXJsYXktemluZGV4ICsgMSAhZ2xvYmFsOyB9XG4gIEBpZiAkb2ZmY2FudmFzLW92ZXJsYXAtemluZGV4IDw9ICRvZmZjYW52YXMtcHVzaC16aW5kZXggeyAkb2ZmY2FudmFzLW92ZXJsYXAtemluZGV4OiAkb2ZmY2FudmFzLXB1c2gtemluZGV4ICsgMSAhZ2xvYmFsOyB9XG4gIEBpZiAkb2ZmY2FudmFzLXJldmVhbC16aW5kZXggPD0gJG9mZmNhbnZhcy1vdmVybGF5LXppbmRleCB7ICRvZmZjYW52YXMtcmV2ZWFsLXppbmRleDogJG9mZmNhbnZhcy1vdmVybGF5LXppbmRleCArIDEgIWdsb2JhbDsgfVxuXG4gIC8vIEhpZGVzIG92ZXJmbG93IG9uIGJvZHkgd2hlbiBhbiBvZmYtY2FudmFzIHBhbmVsIGlzIG9wZW4uXG4gIC5pcy1vZmYtY2FudmFzLW9wZW4ge1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gIH1cblxuICAvLyBPZmYtY2FudmFzIG92ZXJsYXkgKGdlbmVyYXRlZCBieSBKYXZhU2NyaXB0KVxuICAuanMtb2ZmLWNhbnZhcy1vdmVybGF5IHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAwO1xuICAgIGxlZnQ6IDA7XG4gICAgei1pbmRleDogJG9mZmNhbnZhcy1vdmVybGF5LXppbmRleDtcblxuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogMTAwJTtcblxuICAgIHRyYW5zaXRpb246IG9wYWNpdHkgJG9mZmNhbnZhcy10cmFuc2l0aW9uLWxlbmd0aCAkb2ZmY2FudmFzLXRyYW5zaXRpb24tdGltaW5nLCB2aXNpYmlsaXR5ICRvZmZjYW52YXMtdHJhbnNpdGlvbi1sZW5ndGggJG9mZmNhbnZhcy10cmFuc2l0aW9uLXRpbWluZztcblxuICAgIGJhY2tncm91bmQ6ICRvZmZjYW52YXMtZXhpdC1iYWNrZ3JvdW5kO1xuXG4gICAgb3BhY2l0eTogMDtcbiAgICB2aXNpYmlsaXR5OiBoaWRkZW47XG5cbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuXG4gICAgJi5pcy12aXNpYmxlIHtcbiAgICAgIG9wYWNpdHk6IDE7XG4gICAgICB2aXNpYmlsaXR5OiB2aXNpYmxlO1xuICAgIH1cblxuICAgICYuaXMtY2xvc2FibGUge1xuICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIH1cblxuICAgICYuaXMtb3ZlcmxheS1hYnNvbHV0ZSB7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgfVxuXG4gICAgJi5pcy1vdmVybGF5LWZpeGVkIHtcbiAgICAgIHBvc2l0aW9uOiBmaXhlZDtcbiAgICB9XG4gIH1cbn1cblxuLy8gQWRkcyBiYXNpYyBzdHlsZXMgZm9yIGFuIG9mZi1jYW52YXMgd3JhcHBlci5cbkBtaXhpbiBvZmYtY2FudmFzLXdyYXBwZXIoKSB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbn1cblxuLy8vIEFkZHMgYmFzaWMgc3R5bGVzIGZvciBhbiBvZmYtY2FudmFzIHBhbmVsLlxuQG1peGluIG9mZi1jYW52YXMtYmFzZShcbiAgJGJhY2tncm91bmQ6ICRvZmZjYW52YXMtYmFja2dyb3VuZCxcbiAgJHRyYW5zaXRpb246ICRvZmZjYW52YXMtdHJhbnNpdGlvbi1sZW5ndGggJG9mZmNhbnZhcy10cmFuc2l0aW9uLXRpbWluZyxcbiAgJGZpeGVkOiB0cnVlXG4pIHtcbiAgQGluY2x1ZGUgZGlzYWJsZS1tb3VzZS1vdXRsaW5lO1xuXG4gIEBpZiAkZml4ZWQgPT0gdHJ1ZSB7XG4gICAgcG9zaXRpb246IGZpeGVkO1xuICB9XG4gIEBlbHNlIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIH1cblxuICAvLyBTZXQgdGhlIG9mZi1jYW52YXMgei1pbmRleC5cbiAgei1pbmRleDogJG9mZmNhbnZhcy1wdXNoLXppbmRleDtcblxuICAvLyBJbmNyZWFzZSBDU1Mgc3BlY2lmaWNpdHlcbiAgJi5pcy10cmFuc2l0aW9uLXB1c2gge1xuICAgIHotaW5kZXg6ICRvZmZjYW52YXMtcHVzaC16aW5kZXg7XG4gIH1cblxuICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gJHRyYW5zaXRpb247XG4gIGJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjtcblxuICBiYWNrZ3JvdW5kOiAkYmFja2dyb3VuZDtcblxuICAvLyBIaWRlIGluYWN0aXZlIG9mZi1jYW52YXMgd2l0aGluIHRoZSBjb250ZW50IHRoYXQgaGF2ZSB0aGUgc2FtZSBwb3NpdGlvblxuICAmLmlzLWNsb3NlZCB7XG4gICAgdmlzaWJpbGl0eTogaGlkZGVuO1xuICB9XG5cbiAgLy8gT3ZlcmxhcCBvbmx5IHN0eWxlcy5cbiAgJi5pcy10cmFuc2l0aW9uLW92ZXJsYXAge1xuICAgIHotaW5kZXg6ICRvZmZjYW52YXMtb3ZlcmxhcC16aW5kZXg7XG5cbiAgICAmLmlzLW9wZW4ge1xuICAgICAgYm94LXNoYWRvdzogJG9mZmNhbnZhcy1zaGFkb3c7XG4gICAgfVxuICB9XG5cbiAgLy8gU2V0cyB0cmFuc2Zvcm0gdG8gMCB0byBzaG93IGFuIG9mZi1jYW52YXMgcGFuZWwuXG4gICYuaXMtb3BlbiB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoMCwgMCk7XG4gIH1cbn1cblxuLy8vIEFkZHMgc3R5bGVzIHRvIHBvc2l0aW9uIGFuIG9mZi1jYW52YXMgcGFuZWwgdG8gdGhlIGxlZnQvcmlnaHQvdG9wL2JvdHRvbS5cbkBtaXhpbiBvZmYtY2FudmFzLXBvc2l0aW9uKFxuICAkcG9zaXRpb246IGxlZnQsXG4gICRvcmllbnRhdGlvbjogaG9yaXpvbnRhbCxcbiAgJHNpemVzOiBpZigkb3JpZW50YXRpb24gPT0gaG9yaXpvbnRhbCwgJG9mZmNhbnZhcy1zaXplcywgJG9mZmNhbnZhcy12ZXJ0aWNhbC1zaXplcylcbikge1xuICBAaWYgJHBvc2l0aW9uID09IGxlZnQge1xuICAgIHRvcDogMDtcbiAgICBsZWZ0OiAwO1xuICAgIGhlaWdodDogMTAwJTtcbiAgICBvdmVyZmxvdy15OiBhdXRvO1xuXG4gICAgQGVhY2ggJG5hbWUsICRzaXplIGluICRzaXplcyB7XG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KCRuYW1lKSB7XG4gICAgICAgIHdpZHRoOiAkc2l6ZTtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0kc2l6ZSk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gU2V0cyB0aGUgcG9zaXRpb24gZm9yIG5lc3RlZCBvZmYtY2FudmFzIGVsZW1lbnRcbiAgICBAYXQtcm9vdCAuI3skbWFpbmNvbnRlbnQtY2xhc3N9IC5vZmYtY2FudmFzLnBvc2l0aW9uLSN7JHBvc2l0aW9ufSB7XG5cbiAgICAgIEBlYWNoICRuYW1lLCAkc2l6ZSBpbiAkc2l6ZXMge1xuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KCRuYW1lKSB7XG4gICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0kc2l6ZSk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgICYuaXMtdHJhbnNpdGlvbi1vdmVybGFwLmlzLW9wZW4ge1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgwLCAwKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBTZXRzIHRoZSBvcGVuIHBvc2l0aW9uIGZvciB0aGUgY29udGVudFxuICAgIEBhdC1yb290IC4jeyRtYWluY29udGVudC1jbGFzc30uaXMtb3Blbi0jeyRwb3NpdGlvbn0ge1xuICAgICAgJi5oYXMtdHJhbnNpdGlvbi1wdXNoIHtcbiAgICAgICAgQGVhY2ggJG5hbWUsICRzaXplIGluICRzaXplcyB7XG4gICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkbmFtZSkge1xuICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKCRzaXplKTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgQGVsc2UgaWYgJHBvc2l0aW9uID09IHJpZ2h0IHtcbiAgICB0b3A6IDA7XG4gICAgcmlnaHQ6IDA7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIG92ZXJmbG93LXk6IGF1dG87XG5cbiAgICBAZWFjaCAkbmFtZSwgJHNpemUgaW4gJHNpemVzIHtcbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJG5hbWUpIHtcbiAgICAgICAgd2lkdGg6ICRzaXplO1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoJHNpemUpO1xuICAgICAgfVxuICAgIH1cblxuICAgIC8vIFNldHMgdGhlIHBvc2l0aW9uIGZvciBuZXN0ZWQgb2ZmLWNhbnZhcyBlbGVtZW50XG4gICAgQGF0LXJvb3QgLiN7JG1haW5jb250ZW50LWNsYXNzfSAub2ZmLWNhbnZhcy5wb3NpdGlvbi0jeyRwb3NpdGlvbn0ge1xuXG4gICAgICBAZWFjaCAkbmFtZSwgJHNpemUgaW4gJHNpemVzIHtcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkbmFtZSkge1xuICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgkc2l6ZSk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgICYuaXMtdHJhbnNpdGlvbi1vdmVybGFwLmlzLW9wZW4ge1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgwLCAwKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBTZXRzIHRoZSBvcGVuIHBvc2l0aW9uIGZvciB0aGUgY29udGVudFxuICAgIEBhdC1yb290IC4jeyRtYWluY29udGVudC1jbGFzc30uaXMtb3Blbi0jeyRwb3NpdGlvbn0ge1xuICAgICAgJi5oYXMtdHJhbnNpdGlvbi1wdXNoIHtcbiAgICAgICAgQGVhY2ggJG5hbWUsICRzaXplIGluICRzaXplcyB7XG4gICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkbmFtZSkge1xuICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0kc2l6ZSk7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG4gIEBlbHNlIGlmICRwb3NpdGlvbiA9PSB0b3Age1xuICAgIHRvcDogMDtcbiAgICBsZWZ0OiAwO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIG92ZXJmbG93LXg6IGF1dG87XG5cbiAgICBAZWFjaCAkbmFtZSwgJHNpemUgaW4gJHNpemVzIHtcbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJG5hbWUpIHtcbiAgICAgICAgaGVpZ2h0OiAkc2l6ZTtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0kc2l6ZSk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gU2V0cyB0aGUgcG9zaXRpb24gZm9yIG5lc3RlZCBvZmYtY2FudmFzIGVsZW1lbnRcbiAgICBAYXQtcm9vdCAuI3skbWFpbmNvbnRlbnQtY2xhc3N9IC5vZmYtY2FudmFzLnBvc2l0aW9uLSN7JHBvc2l0aW9ufSB7XG4gICAgICBAZWFjaCAkbmFtZSwgJHNpemUgaW4gJHNpemVzIHtcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkbmFtZSkge1xuICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtJHNpemUpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgICAmLmlzLXRyYW5zaXRpb24tb3ZlcmxhcC5pcy1vcGVuIHtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoMCwgMCk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gU2V0cyB0aGUgb3BlbiBwb3NpdGlvbiBmb3IgdGhlIGNvbnRlbnRcbiAgICBAYXQtcm9vdCAuI3skbWFpbmNvbnRlbnQtY2xhc3N9LmlzLW9wZW4tI3skcG9zaXRpb259IHtcbiAgICAgICYuaGFzLXRyYW5zaXRpb24tcHVzaCB7XG4gICAgICAgIEBlYWNoICRuYW1lLCAkc2l6ZSBpbiAkc2l6ZXMge1xuICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJG5hbWUpIHtcbiAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgkc2l6ZSk7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG4gIEBlbHNlIGlmICRwb3NpdGlvbiA9PSBib3R0b20ge1xuICAgIGJvdHRvbTogMDtcbiAgICBsZWZ0OiAwO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIG92ZXJmbG93LXg6IGF1dG87XG5cbiAgICBAZWFjaCAkbmFtZSwgJHNpemUgaW4gJHNpemVzIHtcbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJG5hbWUpIHtcbiAgICAgICAgaGVpZ2h0OiAkc2l6ZTtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKCRzaXplKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBTZXRzIHRoZSBwb3NpdGlvbiBmb3IgbmVzdGVkIG9mZi1jYW52YXMgZWxlbWVudFxuICAgIEBhdC1yb290IC4jeyRtYWluY29udGVudC1jbGFzc30gLm9mZi1jYW52YXMucG9zaXRpb24tI3skcG9zaXRpb259IHtcbiAgICAgIEBlYWNoICRuYW1lLCAkc2l6ZSBpbiAkc2l6ZXMge1xuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KCRuYW1lKSB7XG4gICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKCRzaXplKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgJi5pcy10cmFuc2l0aW9uLW92ZXJsYXAuaXMtb3BlbiB7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKDAsIDApO1xuICAgICAgfVxuICAgIH1cblxuICAgIC8vIFNldHMgdGhlIG9wZW4gcG9zaXRpb24gZm9yIHRoZSBjb250ZW50XG4gICAgQGF0LXJvb3QgLiN7JG1haW5jb250ZW50LWNsYXNzfS5pcy1vcGVuLSN7JHBvc2l0aW9ufSB7XG4gICAgICAmLmhhcy10cmFuc2l0aW9uLXB1c2gge1xuICAgICAgICBAZWFjaCAkbmFtZSwgJHNpemUgaW4gJHNpemVzIHtcbiAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KCRuYW1lKSB7XG4gICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLSRzaXplKTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAvLyBJZiAkb2ZmY2FudmFzLWlubmVyLXNoYWRvdy1zaXplIGlzIHNldCwgYWRkIGlubmVyIGJveC1zaGFkb3cuXG4gIC8vIFRoaXMgbWltaWNzIHRoZSBvZmYtY2FudmFzIHBhbmVsIGhhdmluZyBhIGxvd2VyIHotaW5kZXgsIHdpdGhvdXQgaGF2aW5nIHRvIGhhdmUgb25lLlxuICBAaWYgJG9mZmNhbnZhcy1pbm5lci1zaGFkb3ctc2l6ZSB7XG4gICAgJi5pcy10cmFuc2l0aW9uLXB1c2gge1xuICAgICAgQGlmICRwb3NpdGlvbiA9PSBsZWZ0IHtcbiAgICAgICAgQGluY2x1ZGUgaW5uZXItc2lkZS1zaGFkb3cocmlnaHQsICRvZmZjYW52YXMtaW5uZXItc2hhZG93LXNpemUsICRvZmZjYW52YXMtaW5uZXItc2hhZG93LWNvbG9yKTtcbiAgICAgIH1cbiAgICAgIEBlbHNlIGlmICRwb3NpdGlvbiA9PSByaWdodCB7XG4gICAgICAgIEBpbmNsdWRlIGlubmVyLXNpZGUtc2hhZG93KGxlZnQsICRvZmZjYW52YXMtaW5uZXItc2hhZG93LXNpemUsICRvZmZjYW52YXMtaW5uZXItc2hhZG93LWNvbG9yKTtcbiAgICAgIH1cbiAgICAgIEBlbHNlIGlmICRwb3NpdGlvbiA9PSB0b3Age1xuICAgICAgICBAaW5jbHVkZSBpbm5lci1zaWRlLXNoYWRvdyhib3R0b20sICRvZmZjYW52YXMtaW5uZXItc2hhZG93LXNpemUsICRvZmZjYW52YXMtaW5uZXItc2hhZG93LWNvbG9yKTtcbiAgICAgIH1cbiAgICAgIEBlbHNlIGlmICRwb3NpdGlvbiA9PSBib3R0b20ge1xuICAgICAgICBAaW5jbHVkZSBpbm5lci1zaWRlLXNoYWRvdyh0b3AsICRvZmZjYW52YXMtaW5uZXItc2hhZG93LXNpemUsICRvZmZjYW52YXMtaW5uZXItc2hhZG93LWNvbG9yKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxufVxuXG4vLy8gU2V0cyB0aGUgc3R5bGVzIGZvciB0aGUgY29udGVudCBjb250YWluZXIuXG5AbWl4aW4gb2ZmLWNhbnZhcy1jb250ZW50KCkge1xuICB0cmFuc2Zvcm06IG5vbmU7XG4gIHRyYW5zaXRpb246IHRyYW5zZm9ybSAkb2ZmY2FudmFzLXRyYW5zaXRpb24tbGVuZ3RoICRvZmZjYW52YXMtdHJhbnNpdGlvbi10aW1pbmc7XG4gIGJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjtcblxuICAvLyBUcmFuc2Zvcm0gc2NvcGUgdW50aWwgdGhlIGVsZW1lbnQgaXMgY2xvc2VkIChtYWtlcyBzdXJlIHRyYW5zaXRpb25lbmQgZ2V0cyB0cmlnZ2VyZWQpXG4gICYuaGFzLXRyYW5zaXRpb24tcHVzaCB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoMCwgMCk7XG4gIH1cblxuICAvLyBDb25zaWRlciBlbGVtZW50ICYgY29udGVudCwgbmVzdGVkIGluIGFub3RoZXIgY29udGVudFxuICAub2ZmLWNhbnZhcy5pcy1vcGVuIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgwLCAwKTtcbiAgfVxufVxuXG4vLy8gQWRkcyBzdHlsZXMgdGhhdCByZXZlYWwgYW4gb2ZmLWNhbnZhcyBwYW5lbC5cbkBtaXhpbiBvZmYtY2FudmFzLXJldmVhbChcbiRwb3NpdGlvbjogbGVmdCxcbiR6aW5kZXg6ICRvZmZjYW52YXMtcmV2ZWFsLXppbmRleCxcbiRjb250ZW50OiAkbWFpbmNvbnRlbnQtY2xhc3MsXG4kYnJlYWtwb2ludDogc21hbGxcbikge1xuICB0cmFuc2Zvcm06IG5vbmU7XG4gIHotaW5kZXg6ICR6aW5kZXg7XG4gIHRyYW5zaXRpb246IG5vbmU7XG4gIHZpc2liaWxpdHk6IHZpc2libGU7XG5cbiAgQGlmIG5vdCAkb2ZmY2FudmFzLWZpeGVkLXJldmVhbCB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICB9XG5cbiAgLmNsb3NlLWJ1dHRvbiB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxuXG4gIC8vIENvbnNpZGVyIHJldmVhbGVkIGVsZW1lbnQgaXMgbmVzdGVkIGluIGNvbnRlbnRcbiAgLiN7JG1haW5jb250ZW50LWNsYXNzfSAmIHtcbiAgICB0cmFuc2Zvcm06IG5vbmU7XG4gIH1cblxuICBAYXQtcm9vdCAuI3skY29udGVudH0uaGFzLXJldmVhbC0jeyRwb3NpdGlvbn0ge1xuICAgIG1hcmdpbi0jeyRwb3NpdGlvbn06IC16Zi1nZXQtYnAtdmFsKCRvZmZjYW52YXMtc2l6ZXMsICRicmVha3BvaW50KTtcbiAgfVxuXG4gIC8vIGJhY2t3YXJkcyBjb21wYXRpYmlsaXR5IChwcmlvciB0byB2Ni40KVxuICAmIH4gLiN7JGNvbnRlbnR9IHtcbiAgICBtYXJnaW4tI3skcG9zaXRpb259OiAtemYtZ2V0LWJwLXZhbCgkb2ZmY2FudmFzLXNpemVzLCAkYnJlYWtwb2ludCk7XG4gIH1cbn1cblxuLy8vIE92ZXJyaWRlcyB0aGUgb2ZmLWNhbnZhcyBzdHlsZXNcbkBtaXhpbiBpbi1jYW52YXMoKSB7XG4gIHZpc2liaWxpdHk6IHZpc2libGU7XG4gIGhlaWdodDogYXV0bztcbiAgcG9zaXRpb246IHN0YXRpYztcbiAgYmFja2dyb3VuZDogaW5oZXJpdDtcbiAgd2lkdGg6IGluaGVyaXQ7XG4gIG92ZXJmbG93OiBpbmhlcml0O1xuICB0cmFuc2l0aW9uOiBpbmhlcml0O1xuXG4gIC8vIEluY3JlYXNlIENTUyBzcGVjaWZpY2l0eVxuICAmLnBvc2l0aW9uLWxlZnQsXG4gICYucG9zaXRpb24tcmlnaHQsXG4gICYucG9zaXRpb24tdG9wLFxuICAmLnBvc2l0aW9uLWJvdHRvbSB7XG4gICAgYm94LXNoYWRvdzogbm9uZTtcbiAgICB0cmFuc2Zvcm06IG5vbmU7XG4gIH1cblxuICAuY2xvc2UtYnV0dG9uIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG59XG5cbkBtaXhpbiBmb3VuZGF0aW9uLW9mZi1jYW52YXMge1xuICBAaW5jbHVkZSBvZmYtY2FudmFzLWJhc2ljcztcblxuICAvLyBPZmYtY2FudmFzIHdyYXBwZXJcbiAgLm9mZi1jYW52YXMtd3JhcHBlciB7XG4gICAgQGluY2x1ZGUgb2ZmLWNhbnZhcy13cmFwcGVyO1xuICB9XG5cbiAgLy8gT2ZmLWNhbnZhcyBjb250YWluZXJcbiAgLm9mZi1jYW52YXMge1xuICAgIEBpbmNsdWRlIG9mZi1jYW52YXMtYmFzZTtcblxuICAgIC8vIEZvcmNlIHBvc2l0aW9uIGFic29sdXRlIGZvciBuZXN0ZWQgb2ZmLWNhbnZhcyBiZWNhdXNlIGZpeGVkIGRvZXNuJ3Qgd29yayBmb3IgcHVzaCB0cmFuc2l0aW9uIHdpdGhpbiB0aGUgdHJhbnNmb3JtIHNjb3BlLlxuICAgIEBhdC1yb290IC4jeyRtYWluY29udGVudC1jbGFzc30gJiB7XG4gICAgICAvLyBOT1RFOiBzaW5jZSBvdmVybGFwIHRyYW5zaXRpb24gaXMgY3VycmVudGx5IGZvcmNlZCBpZiBuZXN0ZWQsIHRoZXJlJ3Mgbm8gbmVlZCB0byBmb3JjZSBwb3NpdGlvbiBhYnNvbHV0ZSB1bnRpbCBuZXN0ZWQgcHVzaCB0cmFuc2l0aW9uIGlzIHN1cHBvcnRlZC5cbiAgICAgIC8vIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB9XG4gIH1cblxuICAvLyBPZmYtY2FudmFzIGNvbnRhaW5lciB3aXRoIGFic29sdXRlIHBvc2l0aW9uXG4gIC5vZmYtY2FudmFzLWFic29sdXRlIHtcbiAgICBAaW5jbHVkZSBvZmYtY2FudmFzLWJhc2UoJGZpeGVkOiBmYWxzZSk7XG4gIH1cblxuICAvLyBPZmYtY2FudmFzIHBvc2l0aW9uIGNsYXNzZXNcbiAgLnBvc2l0aW9uLWxlZnQgICAgeyBAaW5jbHVkZSBvZmYtY2FudmFzLXBvc2l0aW9uKGxlZnQsICAgaG9yaXpvbnRhbCk7IH1cbiAgLnBvc2l0aW9uLXJpZ2h0ICAgeyBAaW5jbHVkZSBvZmYtY2FudmFzLXBvc2l0aW9uKHJpZ2h0LCAgaG9yaXpvbnRhbCk7IH1cbiAgLnBvc2l0aW9uLXRvcCAgICAgeyBAaW5jbHVkZSBvZmYtY2FudmFzLXBvc2l0aW9uKHRvcCwgICAgdmVydGljYWwpOyB9XG4gIC5wb3NpdGlvbi1ib3R0b20gIHsgQGluY2x1ZGUgb2ZmLWNhbnZhcy1wb3NpdGlvbihib3R0b20sIHZlcnRpY2FsKTsgfVxuXG4gIC5vZmYtY2FudmFzLWNvbnRlbnQge1xuICAgIEBpbmNsdWRlIG9mZi1jYW52YXMtY29udGVudDtcbiAgfVxuXG4gIC8vIFJldmVhbCBvZmYtY2FudmFzIHBhbmVsIG9uIGxhcmdlciBzY3JlZW5zXG4gIEBlYWNoICRuYW1lLCAkdmFsdWUgaW4gJGJyZWFrcG9pbnQtY2xhc3NlcyB7XG4gICAgQGlmICRuYW1lICE9ICQtemYtemVyby1icmVha3BvaW50IHtcbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJG5hbWUpIHtcbiAgICAgICAgLnBvc2l0aW9uLWxlZnQucmV2ZWFsLWZvci0jeyRuYW1lfSB7XG4gICAgICAgICAgQGluY2x1ZGUgb2ZmLWNhbnZhcy1yZXZlYWwobGVmdCwgJG9mZmNhbnZhcy1yZXZlYWwtemluZGV4LCAkbWFpbmNvbnRlbnQtY2xhc3MsICRuYW1lKTtcbiAgICAgICAgfVxuXG4gICAgICAgIC5wb3NpdGlvbi1yaWdodC5yZXZlYWwtZm9yLSN7JG5hbWV9IHtcbiAgICAgICAgICBAaW5jbHVkZSBvZmYtY2FudmFzLXJldmVhbChyaWdodCwgJG9mZmNhbnZhcy1yZXZlYWwtemluZGV4LCAkbWFpbmNvbnRlbnQtY2xhc3MsICRuYW1lKTtcbiAgICAgICAgfVxuXG4gICAgICAgIC5wb3NpdGlvbi10b3AucmV2ZWFsLWZvci0jeyRuYW1lfSB7XG4gICAgICAgICAgQGluY2x1ZGUgb2ZmLWNhbnZhcy1yZXZlYWwodG9wLCAkb2ZmY2FudmFzLXJldmVhbC16aW5kZXgsICRtYWluY29udGVudC1jbGFzcywgJG5hbWUpO1xuICAgICAgICB9XG5cbiAgICAgICAgLnBvc2l0aW9uLWJvdHRvbS5yZXZlYWwtZm9yLSN7JG5hbWV9IHtcbiAgICAgICAgICBAaW5jbHVkZSBvZmYtY2FudmFzLXJldmVhbChib3R0b20sICRvZmZjYW52YXMtcmV2ZWFsLXppbmRleCwgJG1haW5jb250ZW50LWNsYXNzLCAkbmFtZSk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAvLyBNb3ZlIGluLWNhbnZhcyBmb3IgbGFyZ2VyIHNjcmVlbnNcbiAgQGVhY2ggJG5hbWUsICR2YWx1ZSBpbiAkYnJlYWtwb2ludC1jbGFzc2VzIHtcbiAgICBAaWYgJG5hbWUgIT0gJC16Zi16ZXJvLWJyZWFrcG9pbnQge1xuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkbmFtZSkge1xuICAgICAgICAub2ZmLWNhbnZhcy5pbi1jYW52YXMtZm9yLSN7JG5hbWV9IHtcbiAgICAgICAgICBAaW5jbHVkZSBpbi1jYW52YXM7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgb3JiaXRcbi8vLy9cblxuLy8vIERlZmF1bHQgY29sb3IgZm9yIE9yYml0J3MgYnVsbGV0cy5cbi8vLyBAdHlwZSBDb2xvclxuJG9yYml0LWJ1bGxldC1iYWNrZ3JvdW5kOiAkbWVkaXVtLWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGFjdGl2ZSBjb2xvciBmb3IgT3JiaXQncyBidWxsZXRzLlxuLy8vIEB0eXBlIENvbG9yXG4kb3JiaXQtYnVsbGV0LWJhY2tncm91bmQtYWN0aXZlOiAkZGFyay1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBkaWFtZXRlciBmb3IgT3JiaXQncyBidWxsZXRzLlxuLy8vIEB0eXBlIE51bWJlclxuJG9yYml0LWJ1bGxldC1kaWFtZXRlcjogMS4ycmVtICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBtYXJnaW4gYmV0d2VlbiBPcmJpdCdzIGJ1bGxldHMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kb3JiaXQtYnVsbGV0LW1hcmdpbjogMC4xcmVtICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBkaXN0YW5jZSBmcm9tIHNsaWRlIHJlZ2lvbiBmb3IgT3JiaXQncyBidWxsZXRzLlxuLy8vIEB0eXBlIE51bWJlclxuJG9yYml0LWJ1bGxldC1tYXJnaW4tdG9wOiAwLjhyZW0gIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGJvdHRvbSBtYXJnaW4gZnJvbSBPcmJpdCdzIGJ1bGxldHMgdG8gd2hhdGV2ZXIgY29udGVudCBtYXkgbHVyayBiZWxvdyBpdC5cbi8vLyBAdHlwZSBOdW1iZXJcbiRvcmJpdC1idWxsZXQtbWFyZ2luLWJvdHRvbTogMC44cmVtICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBiYWNrZ3JvdW5kIGNvbG9yIGZvciBPcmJpdCdzIGNhcHRpb24uXG4vLy8gQHR5cGUgQ29sb3JcbiRvcmJpdC1jYXB0aW9uLWJhY2tncm91bmQ6IHJnYmEoJGJsYWNrLCAwLjUpICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBwYWRkaW5nIGZvciBPcmJpdCdzIGNhcHRpb24uXG4vLy8gQHR5cGUgTnVtYmVyXG4kb3JiaXQtY2FwdGlvbi1wYWRkaW5nOiAxcmVtICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBiYWNrZ3JvdW5kIGNvbG9yIGZvciBPcmJpdCdzIGNvbnRyb2xzIHdoZW4gaG92ZXJlZC5cbi8vLyBAdHlwZSBDb2xvclxuJG9yYml0LWNvbnRyb2wtYmFja2dyb3VuZC1ob3ZlcjogcmdiYSgkYmxhY2ssIDAuNSkgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHBhZGRpbmcgZm9yIE9yYml0J3MgY29udHJvbHMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kb3JiaXQtY29udHJvbC1wYWRkaW5nOiAxcmVtICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCB6LWluZGV4IGZvciBPcmJpdCdzIGNvbnRyb2xzLlxuLy8vIEB0eXBlIE51bWJlclxuJG9yYml0LWNvbnRyb2wtemluZGV4OiAxMCAhZGVmYXVsdDtcblxuLy8vIEFkZHMgc3R5bGVzIGZvciB0aGUgb3V0ZXIgT3JiaXQgd3JhcHBlci4gVGhlc2Ugc3R5bGVzIGFyZSB1c2VkIG9uIHRoZSBgLm9yYml0YCBjbGFzcy5cbkBtaXhpbiBvcmJpdC13cmFwcGVyIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xufVxuXG4vLy8gQWRkcyBzdHlsZXMgZm9yIHRoZSBpbm5lciBPcmJpdCBzbGlkZSBjb250YWluZXIuIFRoZXNlIHN0eWxlcyBhcmUgdXNlZCBvbiB0aGUgYC5vcmJpdC1jb250YWluZXJgIGNsYXNzLlxuQG1peGluIG9yYml0LWNvbnRhaW5lciB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgaGVpZ2h0OiAwOyAvLyBQcmV2ZW50IEZPVUMgYnkgbm90IHNob3dpbmcgdW50aWwgSlMgc2V0cyBoZWlnaHRcbiAgbWFyZ2luOiAwO1xuICBsaXN0LXN0eWxlOiBub25lO1xuICBvdmVyZmxvdzogaGlkZGVuO1xufVxuXG4vLy8gQWRkcyBzdHlsZXMgZm9yIHRoZSBpbmRpdmlkdWFsIHNsaWRlcyBvZiBhbiBPcmJpdCBzbGlkZXIuIFRoZXNlIHN0eWxlcyBhcmUgdXNlZCBvbiB0aGUgYC5vcmJpdC1zbGlkZWAgY2xhc3MuXG5AbWl4aW4gb3JiaXQtc2xpZGUge1xuICB3aWR0aDogMTAwJTtcblxuICAmLm5vLW1vdGlvbnVpIHtcbiAgICAmLmlzLWFjdGl2ZSB7XG4gICAgICB0b3A6IDA7XG4gICAgICBsZWZ0OiAwO1xuICAgIH1cbiAgfVxufVxuXG5AbWl4aW4gb3JiaXQtZmlndXJlIHtcbiAgbWFyZ2luOiAwO1xufVxuXG4vLy8gQWRkcyBzdHlsZXMgZm9yIGEgc2xpZGUgY29udGFpbmluZyBhbiBpbWFnZS4gVGhlc2Ugc3R5bGVzIGFyZSB1c2VkIG9uIHRoZSBgLm9yYml0LWltYWdlYCBjbGFzcy5cbkBtaXhpbiBvcmJpdC1pbWFnZSB7XG4gIHdpZHRoOiAxMDAlO1xuICBtYXgtd2lkdGg6IDEwMCU7XG4gIG1hcmdpbjogMDtcbn1cblxuLy8vIEFkZHMgc3R5bGVzIGZvciBhbiBvcmJpdCBzbGlkZSBjYXB0aW9uLiBUaGVzZSBzdHlsZXMgYXJlIHVzZWQgb24gdGhlIGAub3JiaXQtY2FwdGlvbmAgY2xhc3MuXG5AbWl4aW4gb3JiaXQtY2FwdGlvbiB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgYm90dG9tOiAwO1xuICB3aWR0aDogMTAwJTtcbiAgbWFyZ2luLWJvdHRvbTogMDtcbiAgcGFkZGluZzogJG9yYml0LWNhcHRpb24tcGFkZGluZztcblxuICBiYWNrZ3JvdW5kLWNvbG9yOiAkb3JiaXQtY2FwdGlvbi1iYWNrZ3JvdW5kO1xuICBjb2xvcjogY29sb3ItcGljay1jb250cmFzdCgkb3JiaXQtY2FwdGlvbi1iYWNrZ3JvdW5kKTtcbn1cblxuLy8vIEFkZHMgYmFzZSBzdHlsZXMgZm9yIHRoZSBuZXh0L3ByZXZpb3VzIGJ1dHRvbnMgaW4gYW4gT3JiaXQgc2xpZGVyLiBUaGVzZSBzdHlsZXMgYXJlIHNoYXJlZCBiZXR3ZWVuIHRoZSBgLm9yYml0LW5leHRgIGFuZCBgLm9yYml0LXByZXZpb3VzYCBjbGFzc2VzIGluIHRoZSBkZWZhdWx0IENTUy5cbkBtaXhpbiBvcmJpdC1jb250cm9sIHtcbiAgQGluY2x1ZGUgZGlzYWJsZS1tb3VzZS1vdXRsaW5lO1xuICBAaW5jbHVkZSB2ZXJ0aWNhbC1jZW50ZXI7XG4gIHotaW5kZXg6ICRvcmJpdC1jb250cm9sLXppbmRleDtcbiAgcGFkZGluZzogJG9yYml0LWNvbnRyb2wtcGFkZGluZztcbiAgY29sb3I6ICR3aGl0ZTtcblxuICAmOmhvdmVyLFxuICAmOmFjdGl2ZSxcbiAgJjpmb2N1cyB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJG9yYml0LWNvbnRyb2wtYmFja2dyb3VuZC1ob3ZlcjtcbiAgfVxufVxuXG4vLy8gQWRkcyBzdHlsZXMgZm9yIHRoZSBPcmJpdCBwcmV2aW91cyBidXR0b24uIFRoZXNlIHN0eWxlcyBhcmUgdXNlZCBvbiB0aGUgYC5vcmJpdC1wcmV2aW91c2AgY2xhc3MuXG5AbWl4aW4gb3JiaXQtcHJldmlvdXMge1xuICAjeyRnbG9iYWwtbGVmdH06IDA7XG59XG5cbi8vLyBBZGRzIHN0eWxlcyBmb3IgdGhlIE9yYml0IG5leHQgYnV0dG9uLiBUaGVzZSBzdHlsZXMgYXJlIHVzZWQgb24gdGhlIGAub3JiaXQtbmV4dGAgY2xhc3MuXG5AbWl4aW4gb3JiaXQtbmV4dCB7XG4gICN7JGdsb2JhbC1sZWZ0fTogYXV0bztcbiAgI3skZ2xvYmFsLXJpZ2h0fTogMDtcbn1cblxuLy8vIEFkZHMgc3R5bGVzIGZvciBhIGNvbnRhaW5lciBvZiBPcmJpdCBidWxsZXRzLiAvLy8gQWRkcyBzdHlsZXMgZm9yIHRoZSBPcmJpdCBwcmV2aW91cyBidXR0b24uIFRoZXNlIHN0eWxlcyBhcmUgdXNlZCBvbiB0aGUgYC5vcmJpdC1idWxsZXRzYCBjbGFzcy5cbkBtaXhpbiBvcmJpdC1idWxsZXRzIHtcbiAgQGluY2x1ZGUgZGlzYWJsZS1tb3VzZS1vdXRsaW5lO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIG1hcmdpbi10b3A6ICRvcmJpdC1idWxsZXQtbWFyZ2luLXRvcDtcbiAgbWFyZ2luLWJvdHRvbTogJG9yYml0LWJ1bGxldC1tYXJnaW4tYm90dG9tO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG5cbiAgYnV0dG9uIHtcbiAgICB3aWR0aDogJG9yYml0LWJ1bGxldC1kaWFtZXRlcjtcbiAgICBoZWlnaHQ6ICRvcmJpdC1idWxsZXQtZGlhbWV0ZXI7XG4gICAgbWFyZ2luOiAkb3JiaXQtYnVsbGV0LW1hcmdpbjtcblxuICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkb3JiaXQtYnVsbGV0LWJhY2tncm91bmQ7XG5cbiAgICAmOmhvdmVyIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICRvcmJpdC1idWxsZXQtYmFja2dyb3VuZC1hY3RpdmU7XG4gICAgfVxuXG4gICAgJi5pcy1hY3RpdmUge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJG9yYml0LWJ1bGxldC1iYWNrZ3JvdW5kLWFjdGl2ZTtcbiAgICB9XG4gIH1cbn1cblxuQG1peGluIGZvdW5kYXRpb24tb3JiaXQge1xuICAub3JiaXQge1xuICAgIEBpbmNsdWRlIG9yYml0LXdyYXBwZXI7XG4gIH1cblxuICAub3JiaXQtY29udGFpbmVyIHtcbiAgICBAaW5jbHVkZSBvcmJpdC1jb250YWluZXI7XG4gIH1cblxuICAub3JiaXQtc2xpZGUge1xuICAgIEBpbmNsdWRlIG9yYml0LXNsaWRlO1xuICB9XG5cbiAgLm9yYml0LWZpZ3VyZSB7XG4gICAgQGluY2x1ZGUgb3JiaXQtZmlndXJlO1xuICB9XG5cbiAgLm9yYml0LWltYWdlIHtcbiAgICBAaW5jbHVkZSBvcmJpdC1pbWFnZTtcbiAgfVxuXG4gIC5vcmJpdC1jYXB0aW9uIHtcbiAgICBAaW5jbHVkZSBvcmJpdC1jYXB0aW9uO1xuICB9XG5cbiAgJW9yYml0LWNvbnRyb2wge1xuICAgIEBpbmNsdWRlIG9yYml0LWNvbnRyb2w7XG4gIH1cblxuICAub3JiaXQtcHJldmlvdXMge1xuICAgIEBleHRlbmQgJW9yYml0LWNvbnRyb2w7XG4gICAgQGluY2x1ZGUgb3JiaXQtcHJldmlvdXM7XG4gIH1cblxuICAub3JiaXQtbmV4dCB7XG4gICAgQGV4dGVuZCAlb3JiaXQtY29udHJvbDtcbiAgICBAaW5jbHVkZSBvcmJpdC1uZXh0O1xuICB9XG5cbiAgLm9yYml0LWJ1bGxldHMge1xuICAgIEBpbmNsdWRlIG9yYml0LWJ1bGxldHM7XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIHBhZ2luYXRpb25cbi8vLy9cblxuLy8vIEZvbnQgc2l6ZSBvZiBwYWdpbmF0aW9uIGl0ZW1zLlxuLy8vIEB0eXBlIE51bWJlclxuJHBhZ2luYXRpb24tZm9udC1zaXplOiByZW0tY2FsYygxNCkgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGJvdHRvbSBtYXJnaW4gb2YgdGhlIHBhZ2luYXRpb24gb2JqZWN0LlxuLy8vIEB0eXBlIE51bWJlclxuJHBhZ2luYXRpb24tbWFyZ2luLWJvdHRvbTogJGdsb2JhbC1tYXJnaW4gIWRlZmF1bHQ7XG5cbi8vLyBUZXh0IGNvbG9yIG9mIHBhZ2luYXRpb24gaXRlbXMuXG4vLy8gQHR5cGUgQ29sb3JcbiRwYWdpbmF0aW9uLWl0ZW0tY29sb3I6ICRibGFjayAhZGVmYXVsdDtcblxuLy8vIFBhZGRpbmcgaW5zaWRlIG9mIHBhZ2luYXRpb24gaXRlbXMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kcGFnaW5hdGlvbi1pdGVtLXBhZGRpbmc6IHJlbS1jYWxjKDMgMTApICFkZWZhdWx0O1xuXG4vLy8gUmlnaHQgbWFyZ2luIHRvIHNlcGFyYXRlIHBhZ2luYXRpb24gaXRlbXMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kcGFnaW5hdGlvbi1pdGVtLXNwYWNpbmc6IHJlbS1jYWxjKDEpICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCByYWRpdXMgZm9yIHBhZ2luYXRpb24gaXRlbXMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kcGFnaW5hdGlvbi1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzICFkZWZhdWx0O1xuXG4vLy8gQmFja2dyb3VuZCBjb2xvciBvZiBwYWdpbmF0aW9uIGl0ZW1zIG9uIGhvdmVyLlxuLy8vIEB0eXBlIENvbG9yXG4kcGFnaW5hdGlvbi1pdGVtLWJhY2tncm91bmQtaG92ZXI6ICRsaWdodC1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gQmFja2dyb3VuZCBjb2xvciBvZiBwYWdpbmF0aW9uIGl0ZW0gZm9yIHRoZSBjdXJyZW50IHBhZ2UuXG4vLy8gQHR5cGUgQ29sb3JcbiRwYWdpbmF0aW9uLWl0ZW0tYmFja2dyb3VuZC1jdXJyZW50OiAkcHJpbWFyeS1jb2xvciAhZGVmYXVsdDtcblxuLy8vIFRleHQgY29sb3Igb2YgdGhlIHBhZ2luYXRpb24gaXRlbSBmb3IgdGhlIGN1cnJlbnQgcGFnZS5cbi8vLyBAdHlwZSBDb2xvclxuJHBhZ2luYXRpb24taXRlbS1jb2xvci1jdXJyZW50OiAkd2hpdGUgIWRlZmF1bHQ7XG5cbi8vLyBUZXh0IGNvbG9yIG9mIGEgZGlzYWJsZWQgcGFnaW5hdGlvbiBpdGVtLlxuLy8vIEB0eXBlIENvbG9yXG4kcGFnaW5hdGlvbi1pdGVtLWNvbG9yLWRpc2FibGVkOiAkbWVkaXVtLWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBDb2xvciBvZiB0aGUgZWxsaXBzaXMgaW4gYSBwYWdpbmF0aW9uIG1lbnUuXG4vLy8gQHR5cGUgQ29sb3JcbiRwYWdpbmF0aW9uLWVsbGlwc2lzLWNvbG9yOiAkYmxhY2sgIWRlZmF1bHQ7XG5cbi8vLyBJZiBgZmFsc2VgLCBkb24ndCBkaXNwbGF5IHBhZ2UgbnVtYmVyIGxpbmtzIG9uIG1vYmlsZSwgb25seSBuZXh0L3ByZXZpb3VzIGxpbmtzXG4vLy8gYW5kIG9wdGlvbmFsbHkgY3VycmVudCBwYWdlIG51bWJlci5cbi8vLyBAdHlwZSBCb29sZWFuXG4kcGFnaW5hdGlvbi1tb2JpbGUtaXRlbXM6IGZhbHNlICFkZWZhdWx0O1xuXG4vLy8gSWYgYHRydWVgLCBkaXNwbGF5IHRoZSBjdXJyZW50IHBhZ2UgbnVtYmVyIG9uIG1vYmlsZSBldmVuIGlmIGAkcGFnaW5hdGlvbi1tb2JpbGUtaXRlbXNgIGlzIHNldCB0byBgZmFsc2VgLlxuLy8vIFRoaXMgcGFyYW1ldGVyIHdpbGwgb25seSBvdmVycmlkZSB0aGUgdmlzaWJpbGl0eSBzZXR0aW5nIG9mIHRoZSBjdXJyZW50IGl0ZW0gZm9yIGAkcGFnaW5hdGlvbi1tb2JpbGUtaXRlbXM6IGZhbHNlO2AsXG4vLy8gaXQgd2lsbCBub3QgYWZmZWN0IHRoZSBjdXJyZW50IHBhZ2UgbnVtYmVyIHZpc2liaWxpdHkgd2hlbiBgJHBhZ2luYXRpb24tbW9iaWxlLWl0ZW1zYCBpcyBzZXQgdG8gYHRydWVgLlxuLy8vIEB0eXBlIEJvb2xlYW5cbiRwYWdpbmF0aW9uLW1vYmlsZS1jdXJyZW50LWl0ZW06IGZhbHNlICFkZWZhdWx0O1xuXG4vLy8gSWYgYHRydWVgLCBhcnJvd3MgYXJlIGFkZGVkIHRvIHRoZSBuZXh0IGFuZCBwcmV2aW91cyBsaW5rcyBvZiBwYWdpbmF0aW9uLlxuLy8vIEB0eXBlIEJvb2xlYW5cbiRwYWdpbmF0aW9uLWFycm93czogdHJ1ZSAhZGVmYXVsdDtcblxuLy8vIEFkZHMgc3R5bGVzIGZvciBhIHBhZ2luYXRpb24gY29udGFpbmVyLiBBcHBseSB0aGlzIHRvIGEgYDx1bD5gLlxuQG1peGluIHBhZ2luYXRpb24tY29udGFpbmVyIChcbiAgJG1hcmdpbi1ib3R0b206ICRwYWdpbmF0aW9uLW1hcmdpbi1ib3R0b20sXG4gICRmb250LXNpemU6ICRwYWdpbmF0aW9uLWZvbnQtc2l6ZSxcbiAgJHNwYWNpbmc6ICRwYWdpbmF0aW9uLWl0ZW0tc3BhY2luZyxcbiAgJHJhZGl1czogJHBhZ2luYXRpb24tcmFkaXVzLFxuICAkY29sb3I6ICRwYWdpbmF0aW9uLWl0ZW0tY29sb3IsXG4gICRwYWRkaW5nOiAkcGFnaW5hdGlvbi1pdGVtLXBhZGRpbmcsXG4gICRiYWNrZ3JvdW5kLWhvdmVyOiAkcGFnaW5hdGlvbi1pdGVtLWJhY2tncm91bmQtaG92ZXJcbikge1xuICBAaW5jbHVkZSBjbGVhcmZpeDtcbiAgbWFyZ2luLSN7JGdsb2JhbC1sZWZ0fTogMDtcbiAgbWFyZ2luLWJvdHRvbTogJG1hcmdpbi1ib3R0b207XG5cbiAgLy8gTGlzdCBpdGVtXG4gIGxpIHtcbiAgICBtYXJnaW4tI3skZ2xvYmFsLXJpZ2h0fTogJHNwYWNpbmc7XG4gICAgYm9yZGVyLXJhZGl1czogJHJhZGl1cztcbiAgICBmb250LXNpemU6ICRmb250LXNpemU7XG5cbiAgICBAaWYgJHBhZ2luYXRpb24tbW9iaWxlLWl0ZW1zIHtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICB9XG4gICAgQGVsc2Uge1xuICAgICAgZGlzcGxheTogbm9uZTtcblxuICAgICAgJjpsYXN0LWNoaWxkLFxuICAgICAgJjpmaXJzdC1jaGlsZCB7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgIH1cblxuICAgICAgQGlmICRwYWdpbmF0aW9uLW1vYmlsZS1jdXJyZW50LWl0ZW0ge1xuICAgICAgICAmLmN1cnJlbnQge1xuICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLy8gUGFnZSBsaW5rc1xuICBhLFxuICBidXR0b24ge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHBhZGRpbmc6ICRwYWRkaW5nO1xuICAgIGJvcmRlci1yYWRpdXM6ICRyYWRpdXM7XG4gICAgY29sb3I6ICRjb2xvcjtcblxuICAgICY6aG92ZXIge1xuICAgICAgYmFja2dyb3VuZDogJGJhY2tncm91bmQtaG92ZXI7XG4gICAgfVxuICB9XG59XG5cbi8vLyBBZGRzIHN0eWxlcyBmb3IgdGhlIGN1cnJlbnQgcGFnaW5hdGlvbiBpdGVtLiBBcHBseSB0aGlzIHRvIGFuIGA8YT5gLlxuQG1peGluIHBhZ2luYXRpb24taXRlbS1jdXJyZW50IChcbiAgJHBhZGRpbmc6ICRwYWdpbmF0aW9uLWl0ZW0tcGFkZGluZyxcbiAgJGJhY2tncm91bmQtY3VycmVudDogJHBhZ2luYXRpb24taXRlbS1iYWNrZ3JvdW5kLWN1cnJlbnQsXG4gICRjb2xvci1jdXJyZW50OiAkcGFnaW5hdGlvbi1pdGVtLWNvbG9yLWN1cnJlbnRcbikge1xuICBwYWRkaW5nOiAkcGFkZGluZztcbiAgYmFja2dyb3VuZDogJGJhY2tncm91bmQtY3VycmVudDtcbiAgY29sb3I6ICRjb2xvci1jdXJyZW50O1xuICBjdXJzb3I6IGRlZmF1bHQ7XG59XG5cbi8vLyBBZGRzIHN0eWxlcyBmb3IgYSBkaXNhYmxlZCBwYWdpbmF0aW9uIGl0ZW0uIEFwcGx5IHRoaXMgdG8gYW4gYDxhPmAuXG5AbWl4aW4gcGFnaW5hdGlvbi1pdGVtLWRpc2FibGVkIChcbiAgJHBhZGRpbmc6ICRwYWdpbmF0aW9uLWl0ZW0tcGFkZGluZyxcbiAgJGNvbG9yOiAkcGFnaW5hdGlvbi1pdGVtLWNvbG9yLWRpc2FibGVkXG4pIHtcbiAgcGFkZGluZzogJHBhZGRpbmc7XG4gIGNvbG9yOiAkY29sb3I7XG4gIGN1cnNvcjogbm90LWFsbG93ZWQ7XG5cbiAgJjpob3ZlciB7XG4gICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gIH1cbn1cblxuLy8vIEFkZHMgc3R5bGVzIGZvciBhbiBlbGxpcHNpcyBmb3IgdXNlIGluIGEgcGFnaW5hdGlvbiBsaXN0LlxuQG1peGluIHBhZ2luYXRpb24tZWxsaXBzaXMgKFxuICAkcGFkZGluZzogJHBhZ2luYXRpb24taXRlbS1wYWRkaW5nLFxuICAkY29sb3I6ICRwYWdpbmF0aW9uLWVsbGlwc2lzLWNvbG9yXG4pIHtcbiAgcGFkZGluZzogJHBhZGRpbmc7XG4gIGNvbnRlbnQ6ICdcXDIwMjYnO1xuICBjb2xvcjogJGNvbG9yO1xufVxuXG5AbWl4aW4gZm91bmRhdGlvbi1wYWdpbmF0aW9uIHtcbiAgLnBhZ2luYXRpb24ge1xuICAgIEBpbmNsdWRlIHBhZ2luYXRpb24tY29udGFpbmVyO1xuXG4gICAgLmN1cnJlbnQge1xuICAgICAgQGluY2x1ZGUgcGFnaW5hdGlvbi1pdGVtLWN1cnJlbnQ7XG4gICAgfVxuXG4gICAgLmRpc2FibGVkIHtcbiAgICAgIEBpbmNsdWRlIHBhZ2luYXRpb24taXRlbS1kaXNhYmxlZDtcbiAgICB9XG5cbiAgICAuZWxsaXBzaXM6OmFmdGVyIHtcbiAgICAgIEBpbmNsdWRlIHBhZ2luYXRpb24tZWxsaXBzaXM7XG4gICAgfVxuICB9XG5cbiAgQGlmICRwYWdpbmF0aW9uLWFycm93cyB7XG4gICAgLnBhZ2luYXRpb24tcHJldmlvdXMgYTo6YmVmb3JlLFxuICAgIC5wYWdpbmF0aW9uLXByZXZpb3VzLmRpc2FibGVkOjpiZWZvcmUge1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgbWFyZ2luLSN7JGdsb2JhbC1yaWdodH06IDAuNXJlbTtcbiAgICAgIGNvbnRlbnQ6ICdcXDAwYWInO1xuICAgIH1cblxuICAgIC5wYWdpbmF0aW9uLW5leHQgYTo6YWZ0ZXIsXG4gICAgLnBhZ2luYXRpb24tbmV4dC5kaXNhYmxlZDo6YWZ0ZXIge1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgbWFyZ2luLSN7JGdsb2JhbC1sZWZ0fTogMC41cmVtO1xuICAgICAgY29udGVudDogJ1xcMDBiYic7XG4gICAgfVxuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vIEFkZHMgc3R5bGVzIGZvciBhIHByb2dyZXNzIGJhciBjb250YWluZXIuXG5AbWl4aW4gcHJvZ3Jlc3MtY29udGFpbmVyIHtcbiAgaGVpZ2h0OiAkcHJvZ3Jlc3MtaGVpZ2h0O1xuICBtYXJnaW4tYm90dG9tOiAkcHJvZ3Jlc3MtbWFyZ2luLWJvdHRvbTtcbiAgYm9yZGVyLXJhZGl1czogJHByb2dyZXNzLXJhZGl1cztcbiAgYmFja2dyb3VuZC1jb2xvcjogJHByb2dyZXNzLWJhY2tncm91bmQ7XG59XG5cbi8vLyBBZGRzIHN0eWxlcyBmb3IgdGhlIGlubmVyIG1ldGVyIG9mIGEgcHJvZ3Jlc3MgYmFyLlxuQG1peGluIHByb2dyZXNzLW1ldGVyIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBkaXNwbGF5OiBibG9jaztcbiAgd2lkdGg6IDAlO1xuICBoZWlnaHQ6IDEwMCU7XG4gIGJhY2tncm91bmQtY29sb3I6ICRwcm9ncmVzcy1tZXRlci1iYWNrZ3JvdW5kO1xuXG4gIEBpZiBoYXMtdmFsdWUoJHByb2dyZXNzLXJhZGl1cykge1xuICAgIGJvcmRlci1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xuICB9XG59XG5cbi8vLyBBZGRzIHN0eWxlcyBmb3IgdGV4dCBpbiB0aGUgcHJvZ3Jlc3MgbWV0ZXIuXG5AbWl4aW4gcHJvZ3Jlc3MtbWV0ZXItdGV4dCB7XG4gIEBpbmNsdWRlIGFic29sdXRlLWNlbnRlcjtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBtYXJnaW46IDA7XG4gIGZvbnQtc2l6ZTogMC43NXJlbTtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gIGNvbG9yOiAkd2hpdGU7XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7XG5cbiAgQGlmIGhhcy12YWx1ZSgkcHJvZ3Jlc3MtcmFkaXVzKSB7XG4gICAgYm9yZGVyLXJhZGl1czogJHByb2dyZXNzLXJhZGl1cztcbiAgfVxufVxuXG5AbWl4aW4gZm91bmRhdGlvbi1wcm9ncmVzcy1iYXIge1xuICAvLyBQcm9ncmVzcyBiYXJcbiAgLnByb2dyZXNzIHtcbiAgICBAaW5jbHVkZSBwcm9ncmVzcy1jb250YWluZXI7XG5cbiAgICBAZWFjaCAkbmFtZSwgJGNvbG9yIGluICRmb3VuZGF0aW9uLXBhbGV0dGUge1xuICAgICAgJi4jeyRuYW1lfSB7XG4gICAgICAgIC5wcm9ncmVzcy1tZXRlciB7XG4gICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG9yO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLy8gSW5uZXIgbWV0ZXJcbiAgLnByb2dyZXNzLW1ldGVyIHtcbiAgICBAaW5jbHVkZSBwcm9ncmVzcy1tZXRlcjtcbiAgfVxuXG4gIC8vIElubmVyIG1ldGVyIHRleHRcbiAgLnByb2dyZXNzLW1ldGVyLXRleHQge1xuICAgIEBpbmNsdWRlIHByb2dyZXNzLW1ldGVyLXRleHQ7XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIHJldmVhbFxuLy8vL1xuXG4vLy8gRGVmYXVsdCBiYWNrZ3JvdW5kIGNvbG9yIG9mIGEgbW9kYWwuXG4vLy8gQHR5cGUgQ29sb3JcbiRyZXZlYWwtYmFja2dyb3VuZDogJHdoaXRlICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCB3aWR0aCBvZiBhIG1vZGFsLCB3aXRoIG5vIGNsYXNzIGFwcGxpZWQuXG4vLy8gQHR5cGUgTnVtYmVyXG4kcmV2ZWFsLXdpZHRoOiA2MDBweCAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgbWF4aW11bSB3aWR0aCBvZiBhIG1vZGFsLlxuLy8vIEB0eXBlIE51bWJlclxuJHJldmVhbC1tYXgtd2lkdGg6ICRnbG9iYWwtd2lkdGggIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHBhZGRpbmcgaW5zaWRlIGEgbW9kYWwuXG4vLy8gQHR5cGUgTnVtYmVyXG4kcmV2ZWFsLXBhZGRpbmc6ICRnbG9iYWwtcGFkZGluZyAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgYm9yZGVyIGFyb3VuZCBhIG1vZGFsLlxuLy8vIEB0eXBlIE51bWJlclxuJHJldmVhbC1ib3JkZXI6IDFweCBzb2xpZCAkbWVkaXVtLWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHJhZGl1cyBmb3IgbW9kYWwuXG4vLy8gQHR5cGUgTnVtYmVyXG4kcmV2ZWFsLXJhZGl1czogJGdsb2JhbC1yYWRpdXMgIWRlZmF1bHQ7XG5cbi8vLyB6LWluZGV4IGZvciBtb2RhbHMuIFRoZSBvdmVybGF5IHVzZXMgdGhpcyB2YWx1ZSwgd2hpbGUgdGhlIG1vZGFsIGl0c2VsZiB1c2VzIHRoaXMgdmFsdWUgcGx1cyBvbmUuXG4vLy8gQHR5cGUgTnVtYmVyXG4kcmV2ZWFsLXppbmRleDogMTAwNSAhZGVmYXVsdDtcblxuLy8vIEJhY2tncm91bmQgY29sb3Igb2YgbW9kYWwgb3ZlcmxheXMuXG4vLy8gQHR5cGUgQ29sb3JcbiRyZXZlYWwtb3ZlcmxheS1iYWNrZ3JvdW5kOiByZ2JhKCRibGFjaywgMC40NSkgIWRlZmF1bHQ7XG5cblxuLy8gUGxhY2Vob2xkZXIgc2VsZWN0b3IgZm9yIG1lZGl1bS1hbmQtdXAgbW9kYWxzXG4vLyBQcmV2ZW50cyBkdXBsaWNhdGUgQ1NTIHdoZW4gZGVmaW5pbmcgbXVsdGlwbGUgUmV2ZWFsIHNpemVzXG5AaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xuICAlcmV2ZWFsLWNlbnRlcmVkIHtcbiAgICByaWdodDogYXV0bztcbiAgICBsZWZ0OiBhdXRvO1xuICAgIG1hcmdpbjogMCBhdXRvO1xuICB9XG59XG5cblxuLy8vIEFkZHMgc3R5bGVzIGZvciBhIG1vZGFsIG92ZXJsYXkuXG4vLy8gQHBhcmFtIHtDb2xvcn0gJGJhY2tncm91bmQgWyRyZXZlYWwtb3ZlcmxheS1iYWNrZ3JvdW5kXSAtIEJhY2tncm91bmQgY29sb3Igb2YgdGhlIG92ZXJsYXkuXG5AbWl4aW4gcmV2ZWFsLW92ZXJsYXkoJGJhY2tncm91bmQ6ICRyZXZlYWwtb3ZlcmxheS1iYWNrZ3JvdW5kKSB7XG4gIHBvc2l0aW9uOiBmaXhlZDtcbiAgdG9wOiAwO1xuICByaWdodDogMDtcbiAgYm90dG9tOiAwO1xuICBsZWZ0OiAwO1xuICB6LWluZGV4OiAkcmV2ZWFsLXppbmRleDtcblxuICBkaXNwbGF5OiBub25lO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkYmFja2dyb3VuZDtcbiAgb3ZlcmZsb3cteTogc2Nyb2xsO1xufVxuXG4vLy8gQWRkcyBiYXNlIHN0eWxlcyBmb3IgYSBtb2RhbC5cbkBtaXhpbiByZXZlYWwtbW9kYWwtYmFzZSB7XG4gIEBpbmNsdWRlIGRpc2FibGUtbW91c2Utb3V0bGluZTtcbiAgei1pbmRleDogJHJldmVhbC16aW5kZXggKyAxO1xuICAvLyBXb3JrYXJvdW5kIGFuZHJvaWQgYnJvd3NlciB6LWluZGV4IGJ1Z1xuICBiYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47XG5cbiAgZGlzcGxheTogbm9uZTtcbiAgcGFkZGluZzogJHJldmVhbC1wYWRkaW5nO1xuXG4gIGJvcmRlcjogJHJldmVhbC1ib3JkZXI7XG4gIGJvcmRlci1yYWRpdXM6ICRyZXZlYWwtcmFkaXVzO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkcmV2ZWFsLWJhY2tncm91bmQ7XG5cbiAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcbiAgICBtaW4taGVpZ2h0OiAwO1xuICB9XG5cbiAgLy8gTWFrZSBzdXJlIHJvd3MgZG9uJ3QgaGF2ZSBhIG1pbi13aWR0aCBvbiB0aGVtXG4gIC5jb2x1bW4ge1xuICAgIG1pbi13aWR0aDogMDtcbiAgfVxuXG4gIC8vIFN0cmlwIG1hcmdpbnMgZnJvbSB0aGUgbGFzdCBpdGVtIGluIHRoZSBtb2RhbFxuICA+IDpsYXN0LWNoaWxkIHtcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xuICB9XG59XG5cbi8vLyBBZGp1c3RzIHRoZSB3aWR0aCBvZiBhIG1vZGFsLlxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkd2lkdGggLSBXaWR0aCBvZiB0aGUgbW9kYWwuIEdlbmVyYWxseSBhIHBlcmNlbnRhZ2UuXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRtYXgtd2lkdGggWyRyZXZlYWwtbWF4LXdpZHRoXSAtIE1heGltdW0gd2lkdGggb2YgdGhlIG1vZGFsLlxuQG1peGluIHJldmVhbC1tb2RhbC13aWR0aChcbiAgJHdpZHRoOiAkcmV2ZWFsLXdpZHRoLFxuICAkbWF4LXdpZHRoOiAkcmV2ZWFsLW1heC13aWR0aFxuKSB7XG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XG4gICAgQGV4dGVuZCAlcmV2ZWFsLWNlbnRlcmVkO1xuICAgIHdpZHRoOiAkd2lkdGg7XG4gICAgbWF4LXdpZHRoOiAkbWF4LXdpZHRoO1xuICB9XG59XG5cbi8vLyBDcmVhdGVzIGEgZnVsbC1zY3JlZW4gbW9kYWwsIHdoaWNoIHN0cmV0Y2hlcyB0aGUgZnVsbCB3aWR0aCBhbmQgaGVpZ2h0IG9mIHRoZSB3aW5kb3cuXG5AbWl4aW4gcmV2ZWFsLW1vZGFsLWZ1bGxzY3JlZW4ge1xuICB0b3A6IDA7XG4gIGxlZnQ6IDA7XG5cbiAgd2lkdGg6IDEwMCU7XG4gIG1heC13aWR0aDogbm9uZTtcbiAgaGVpZ2h0OiAxMDAlO1xuICBoZWlnaHQ6IDEwMHZoOyAvLyBzYXNzLWxpbnQ6ZGlzYWJsZS1saW5lIG5vLWR1cGxpY2F0ZS1wcm9wZXJ0aWVzXG4gIG1pbi1oZWlnaHQ6IDEwMHZoO1xuICBtYXJnaW4tbGVmdDogMDtcblxuICBib3JkZXI6IDA7XG4gIGJvcmRlci1yYWRpdXM6IDA7XG59XG5cbkBtaXhpbiBmb3VuZGF0aW9uLXJldmVhbCB7XG4gIC8vIFtUT0RPXSBJcyB0aGlzIG5lY2Vzc2FyeT9cbiAgYm9keS5pcy1yZXZlYWwtb3BlbiB7IC8vIHNhc3MtbGludDpkaXNhYmxlLWxpbmUgbm8tcXVhbGlmeWluZy1lbGVtZW50c1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gIH1cblxuICAvLyBodG1sIGdldHMgdGhpcyBjbGFzcyBvbmx5IGluIGlPU1xuICBodG1sLmlzLXJldmVhbC1vcGVuLFxuICBodG1sLmlzLXJldmVhbC1vcGVuIGJvZHkge1xuICAgIG1pbi1oZWlnaHQ6IDEwMCU7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICBwb3NpdGlvbjogZml4ZWQ7XG4gICAgdXNlci1zZWxlY3Q6IG5vbmU7XG4gIH1cblxuICAvLyBPdmVybGF5XG4gIC5yZXZlYWwtb3ZlcmxheSB7XG4gICAgQGluY2x1ZGUgcmV2ZWFsLW92ZXJsYXk7XG4gIH1cblxuICAvLyBNb2RhbCBjb250YWluZXJcbiAgLnJldmVhbCB7XG4gICAgQGluY2x1ZGUgcmV2ZWFsLW1vZGFsLWJhc2U7XG4gICAgQGluY2x1ZGUgcmV2ZWFsLW1vZGFsLXdpZHRoKCRyZXZlYWwtd2lkdGgpO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB0b3A6IDEwMHB4O1xuICAgIG1hcmdpbi1yaWdodDogYXV0bztcbiAgICBtYXJnaW4tbGVmdDogYXV0bztcbiAgICBvdmVyZmxvdy15OiBhdXRvO1xuXG4gICAgLy8gUmVtb3ZlIHBhZGRpbmdcbiAgICAmLmNvbGxhcHNlIHtcbiAgICAgIHBhZGRpbmc6IDA7XG4gICAgfVxuXG4gICAgLy8gU2l6aW5nIGNsYXNzZXNcbiAgICAmLnRpbnkgIHsgQGluY2x1ZGUgcmV2ZWFsLW1vZGFsLXdpZHRoKDMwJSk7IH1cbiAgICAmLnNtYWxsIHsgQGluY2x1ZGUgcmV2ZWFsLW1vZGFsLXdpZHRoKDUwJSk7IH1cbiAgICAmLmxhcmdlIHsgQGluY2x1ZGUgcmV2ZWFsLW1vZGFsLXdpZHRoKDkwJSk7IH1cblxuICAgIC8vIEZ1bGwtc2NyZWVuIG1vZGVcbiAgICAmLmZ1bGwge1xuICAgICAgQGluY2x1ZGUgcmV2ZWFsLW1vZGFsLWZ1bGxzY3JlZW47XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkLXpmLXplcm8tYnJlYWtwb2ludCBvbmx5KSB7XG4gICAgICBAaW5jbHVkZSByZXZlYWwtbW9kYWwtZnVsbHNjcmVlbjtcbiAgICB9XG5cbiAgICAmLndpdGhvdXQtb3ZlcmxheSB7XG4gICAgICBwb3NpdGlvbjogZml4ZWQ7XG4gICAgfVxuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8gW1RPRE9dIENoZWNrIGhvdyBwbHVnaW4gY29uZmlybXMgZGlzYWJsZWQgb3IgdmVydGljYWwgc3RhdHVzXG4vLyBbVE9ET10gQ2hlY2sgaWYgdHJhbnNpdGlvbjogYWxsOyBpcyBuZWNlc3NhcnlcblxuLy8vL1xuLy8vIEBncm91cCBzbGlkZXJcbi8vLy9cblxuLy8vIERlZmF1bHQgc2xpZGVyIHdpZHRoIG9mIGEgdmVydGljYWwgc2xpZGVyLiAoRG9lc24ndCBhcHBseSB0byB0aGUgbmF0aXZlIHNsaWRlci4pXG4vLy8gQHR5cGUgTnVtYmVyXG4kc2xpZGVyLXdpZHRoLXZlcnRpY2FsOiAwLjVyZW0gIWRlZmF1bHQ7XG5cbi8vLyBUcmFuc2l0aW9uIHByb3BlcnRpZXMgdG8gYXBwbHkgdG8gdGhlIHNsaWRlciBoYW5kbGUgYW5kIGZpbGwuIChEb2Vzbid0IGFwcGx5IHRvIHRoZSBuYXRpdmUgc2xpZGVyLilcbi8vLyBAdHlwZSBUcmFuc2l0aW9uXG4kc2xpZGVyLXRyYW5zaXRpb246IGFsbCAwLjJzIGVhc2UtaW4tb3V0ICFkZWZhdWx0O1xuXG4vLy8gQWRkcyB0aGUgZ2VuZXJhbCBzdHlsZXMgZm9yIHNsaWRlcnMuXG5AbWl4aW4gc2xpZGVyLWNvbnRhaW5lciB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgaGVpZ2h0OiAkc2xpZGVyLWhlaWdodDtcbiAgbWFyZ2luLXRvcDogMS4yNXJlbTtcbiAgbWFyZ2luLWJvdHRvbTogMi4yNXJlbTtcblxuICBiYWNrZ3JvdW5kLWNvbG9yOiAkc2xpZGVyLWJhY2tncm91bmQ7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgdXNlci1zZWxlY3Q6IG5vbmU7XG4gIHRvdWNoLWFjdGlvbjogbm9uZTtcbn1cblxuLy8vIEFkZHMgdGhlIGdlbmVyYWwgc3R5bGVzIGZvciBhY3RpdmUgZmlsbCBmb3Igc2xpZGVycy5cbkBtaXhpbiBzbGlkZXItZmlsbCB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAwO1xuICBsZWZ0OiAwO1xuXG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgbWF4LXdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6ICRzbGlkZXItaGVpZ2h0O1xuXG4gIGJhY2tncm91bmQtY29sb3I6ICRzbGlkZXItZmlsbC1iYWNrZ3JvdW5kO1xuICB0cmFuc2l0aW9uOiAkc2xpZGVyLXRyYW5zaXRpb247XG5cbiAgJi5pcy1kcmFnZ2luZyB7XG4gICAgdHJhbnNpdGlvbjogYWxsIDBzIGxpbmVhcjtcbiAgfVxufVxuXG4vLy8gQWRkcyB0aGUgZ2VuZXJhbCBzdHlsZXMgZm9yIHRoZSBzbGlkZXIgaGFuZGxlcy5cbkBtaXhpbiBzbGlkZXItaGFuZGxlIHtcbiAgQGluY2x1ZGUgZGlzYWJsZS1tb3VzZS1vdXRsaW5lO1xuICBAaW5jbHVkZSB2ZXJ0aWNhbC1jZW50ZXI7XG4gIGxlZnQ6IDA7XG4gIHotaW5kZXg6IDE7XG5cbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB3aWR0aDogJHNsaWRlci1oYW5kbGUtd2lkdGg7XG4gIGhlaWdodDogJHNsaWRlci1oYW5kbGUtaGVpZ2h0O1xuXG4gIGJvcmRlci1yYWRpdXM6ICRzbGlkZXItcmFkaXVzO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkc2xpZGVyLWhhbmRsZS1iYWNrZ3JvdW5kO1xuICB0cmFuc2l0aW9uOiAkc2xpZGVyLXRyYW5zaXRpb247XG4gIHRvdWNoLWFjdGlvbjogbWFuaXB1bGF0aW9uO1xuXG4gICY6aG92ZXIge1xuICAgIGJhY2tncm91bmQtY29sb3I6IHNjYWxlLWNvbG9yKCRzbGlkZXItaGFuZGxlLWJhY2tncm91bmQsICRsaWdodG5lc3M6IC0xNSUpO1xuICB9XG5cbiAgJi5pcy1kcmFnZ2luZyB7XG4gICAgdHJhbnNpdGlvbjogYWxsIDBzIGxpbmVhcjtcbiAgfVxufVxuXG5AbWl4aW4gc2xpZGVyLWRpc2FibGVkIHtcbiAgb3BhY2l0eTogJHNsaWRlci1vcGFjaXR5LWRpc2FibGVkO1xuICBjdXJzb3I6IG5vdC1hbGxvd2VkO1xufVxuXG5AbWl4aW4gc2xpZGVyLXZlcnRpY2FsIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB3aWR0aDogJHNsaWRlci13aWR0aC12ZXJ0aWNhbDtcbiAgaGVpZ2h0OiAxMi41cmVtO1xuICBtYXJnaW46IDAgMS4yNXJlbTtcbiAgdHJhbnNmb3JtOiBzY2FsZSgxLCAtMSk7XG5cbiAgLnNsaWRlci1maWxsIHtcbiAgICB0b3A6IDA7XG4gICAgd2lkdGg6ICRzbGlkZXItd2lkdGgtdmVydGljYWw7XG4gICAgbWF4LWhlaWdodDogMTAwJTtcbiAgfVxuXG4gIC5zbGlkZXItaGFuZGxlIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAwO1xuICAgIGxlZnQ6IDUwJTtcbiAgICB3aWR0aDogJHNsaWRlci1oYW5kbGUtaGVpZ2h0O1xuICAgIGhlaWdodDogJHNsaWRlci1oYW5kbGUtd2lkdGg7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpO1xuICB9XG59XG5cbkBtaXhpbiBmb3VuZGF0aW9uLXNsaWRlciB7XG4gIC8vIENvbnRhaW5lclxuICAuc2xpZGVyIHtcbiAgICBAaW5jbHVkZSBzbGlkZXItY29udGFpbmVyO1xuICB9XG5cbiAgLy8gRmlsbCBhcmVhXG4gIC5zbGlkZXItZmlsbCB7XG4gICAgQGluY2x1ZGUgc2xpZGVyLWZpbGw7XG4gIH1cblxuICAvLyBEcmFnZ2FibGUgaGFuZGxlXG4gIC5zbGlkZXItaGFuZGxlIHtcbiAgICBAaW5jbHVkZSBzbGlkZXItaGFuZGxlO1xuICB9XG5cbiAgLy8gRGlzYWJsZWQgc3RhdGVcbiAgLnNsaWRlci5kaXNhYmxlZCxcbiAgLnNsaWRlcltkaXNhYmxlZF0ge1xuICAgIEBpbmNsdWRlIHNsaWRlci1kaXNhYmxlZDtcbiAgfVxuXG4gIC8vIFZlcnRpY2FsIHNsaWRlclxuICAuc2xpZGVyLnZlcnRpY2FsIHtcbiAgICBAaW5jbHVkZSBzbGlkZXItdmVydGljYWw7XG4gIH1cblxuICAvLyBSVEwgc3VwcG9ydFxuICBAaWYgJGdsb2JhbC10ZXh0LWRpcmVjdGlvbiA9PSBydGwge1xuICAgIC5zbGlkZXI6bm90KC52ZXJ0aWNhbCkge1xuICAgICAgdHJhbnNmb3JtOiBzY2FsZSgtMSwgMSk7XG4gICAgfVxuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuQG1peGluIGZvdW5kYXRpb24tc3RpY2t5IHtcbiAgLnN0aWNreS1jb250YWluZXIge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgfVxuXG4gIC5zdGlja3kge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB6LWluZGV4OiAwO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gIH1cblxuICAuc3RpY2t5LmlzLXN0dWNrIHtcbiAgICBwb3NpdGlvbjogZml4ZWQ7XG4gICAgei1pbmRleDogNTtcbiAgICB3aWR0aDogMTAwJTtcblxuICAgICYuaXMtYXQtdG9wIHtcbiAgICAgIHRvcDogMDtcbiAgICB9XG5cbiAgICAmLmlzLWF0LWJvdHRvbSB7XG4gICAgICBib3R0b206IDA7XG4gICAgfVxuICB9XG5cbiAgLnN0aWNreS5pcy1hbmNob3JlZCB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHJpZ2h0OiBhdXRvO1xuICAgIGxlZnQ6IGF1dG87XG5cbiAgICAmLmlzLWF0LWJvdHRvbSB7XG4gICAgICBib3R0b206IDA7XG4gICAgfVxuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBzd2l0Y2hcbi8vLy9cblxuLy8vIEJhY2tncm91bmQgY29sb3Igb2YgYSBzd2l0Y2guXG4vLy8gQHR5cGUgQ29sb3JcbiRzd2l0Y2gtYmFja2dyb3VuZDogJG1lZGl1bS1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gQmFja2dyb3VuZCBhY3RpdmUgY29sb3Igb2YgYSBzd2l0Y2guXG4vLy8gQHR5cGUgQ29sb3JcbiRzd2l0Y2gtYmFja2dyb3VuZC1hY3RpdmU6ICRwcmltYXJ5LWNvbG9yICFkZWZhdWx0O1xuXG4vLy8gSGVpZ2h0IG9mIGEgc3dpdGNoLCB3aXRoIG5vIGNsYXNzIGFwcGxpZWQuXG4vLy8gQHR5cGUgTnVtYmVyXG4kc3dpdGNoLWhlaWdodDogMnJlbSAhZGVmYXVsdDtcblxuLy8vIEhlaWdodCBvZiBhIHN3aXRjaCB3aXRoIC50aW55IGNsYXNzLlxuLy8vIEB0eXBlIE51bWJlclxuJHN3aXRjaC1oZWlnaHQtdGlueTogMS41cmVtICFkZWZhdWx0O1xuXG4vLy8gSGVpZ2h0IG9mIGEgc3dpdGNoIHdpdGggLnNtYWxsIGNsYXNzLlxuLy8vIEB0eXBlIE51bWJlclxuJHN3aXRjaC1oZWlnaHQtc21hbGw6IDEuNzVyZW0gIWRlZmF1bHQ7XG5cbi8vLyBIZWlnaHQgb2YgYSBzd2l0Y2ggd2l0aCAubGFyZ2UgY2xhc3MuXG4vLy8gQHR5cGUgTnVtYmVyXG4kc3dpdGNoLWhlaWdodC1sYXJnZTogMi41cmVtICFkZWZhdWx0O1xuXG4vLy8gQm9yZGVyIHJhZGl1cyBvZiB0aGUgc3dpdGNoXG4vLy8gQHR5cGUgTnVtYmVyXG4kc3dpdGNoLXJhZGl1czogJGdsb2JhbC1yYWRpdXMgIWRlZmF1bHQ7XG5cbi8vLyBib3JkZXIgYXJvdW5kIGEgbW9kYWwuXG4vLy8gQHR5cGUgTnVtYmVyXG4kc3dpdGNoLW1hcmdpbjogJGdsb2JhbC1tYXJnaW4gIWRlZmF1bHQ7XG5cbi8vLyBCYWNrZ3JvdW5kIGNvbG9yIGZvciB0aGUgc3dpdGNoIGNvbnRhaW5lciBhbmQgcGFkZGxlLlxuLy8vIEB0eXBlIENvbG9yXG4kc3dpdGNoLXBhZGRsZS1iYWNrZ3JvdW5kOiAkd2hpdGUgIWRlZmF1bHQ7XG5cbi8vLyBTcGFjaW5nIGJldHdlZW4gYSBzd2l0Y2ggcGFkZGxlIGFuZCB0aGUgZWRnZSBvZiB0aGUgYm9keS5cbi8vLyBAdHlwZSBOdW1iZXJcbiRzd2l0Y2gtcGFkZGxlLW9mZnNldDogMC4yNXJlbSAhZGVmYXVsdDtcblxuLy8vIGJvcmRlciByYWRpdXMgb2YgdGhlIHN3aXRjaCBwYWRkbGVcbi8vLyBAdHlwZSBOdW1iZXJcbiRzd2l0Y2gtcGFkZGxlLXJhZGl1czogJGdsb2JhbC1yYWRpdXMgIWRlZmF1bHQ7XG5cbi8vLyBzd2l0Y2ggdHJhbnNpdGlvbi5cbi8vLyBAdHlwZSBOdW1iZXJcbiRzd2l0Y2gtcGFkZGxlLXRyYW5zaXRpb246IGFsbCAwLjI1cyBlYXNlLW91dCAhZGVmYXVsdDtcblxuLy8gbWFrZSB0aGVtIHZhcmlhYmxlc1xuLy8gYXNrIGFib3V0IGFjY2Vzc2liaWxpdHkgb24gbGFiZWxcbi8vIGNoYW5nZSBjbGFzcyBuYW1lIGZvciB0ZXh0XG5cbi8vLyBBZGRzIHN0eWxlcyBmb3IgYSBzd2l0Y2ggY29udGFpbmVyLiBBcHBseSB0aGlzIHRvIGEgY29udGFpbmVyIGNsYXNzLlxuQG1peGluIHN3aXRjaC1jb250YWluZXIge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIG1hcmdpbi1ib3R0b206ICRzd2l0Y2gtbWFyZ2luO1xuICBvdXRsaW5lOiAwO1xuXG4gIC8vIFRoZXNlIHByb3BlcnRpZXMgY2FzY2FkZSBkb3duIHRvIHRoZSBzd2l0Y2ggdGV4dFxuICBmb250LXNpemU6IHJlbS1jYWxjKDE0KTtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gIGNvbG9yOiAkd2hpdGU7XG5cbiAgdXNlci1zZWxlY3Q6IG5vbmU7XG59XG5cbi8vLyBBZGRzIHN0eWxlcyBmb3IgYSBzd2l0Y2ggaW5wdXQuIEFwcGx5IHRoaXMgdG8gYW4gYDxpbnB1dD5gIHdpdGhpbiBhIHN3aXRjaC5cbkBtaXhpbiBzd2l0Y2gtaW5wdXQge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIG1hcmdpbi1ib3R0b206IDA7XG4gIG9wYWNpdHk6IDA7XG59XG5cbi8vLyBBZGRzIHN0eWxlcyBmb3IgdGhlIGJhY2tncm91bmQgYW5kIHBhZGRsZSBvZiBhIHN3aXRjaC4gQXBwbHkgdGhpcyB0byBhIGA8bGFiZWw+YCB3aXRoaW4gYSBzd2l0Y2guXG5AbWl4aW4gc3dpdGNoLXBhZGRsZSB7XG4gICRzd2l0Y2gtd2lkdGg6ICRzd2l0Y2gtaGVpZ2h0ICogMjtcbiAgJHBhZGRsZS1oZWlnaHQ6ICRzd2l0Y2gtaGVpZ2h0IC0gKCRzd2l0Y2gtcGFkZGxlLW9mZnNldCAqIDIpO1xuICAkcGFkZGxlLXdpZHRoOiAkc3dpdGNoLWhlaWdodCAtICgkc3dpdGNoLXBhZGRsZS1vZmZzZXQgKiAyKTtcbiAgJHBhZGRsZS1hY3RpdmUtb2ZmZXN0OiAkc3dpdGNoLXdpZHRoIC0gJHBhZGRsZS13aWR0aCAtICRzd2l0Y2gtcGFkZGxlLW9mZnNldDtcblxuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICB3aWR0aDogJHN3aXRjaC13aWR0aDtcbiAgaGVpZ2h0OiAkc3dpdGNoLWhlaWdodDtcblxuICBib3JkZXItcmFkaXVzOiAkc3dpdGNoLXJhZGl1cztcbiAgYmFja2dyb3VuZDogJHN3aXRjaC1iYWNrZ3JvdW5kO1xuICB0cmFuc2l0aW9uOiAkc3dpdGNoLXBhZGRsZS10cmFuc2l0aW9uO1xuXG4gIC8vIFJlc2V0dGluZyB0aGVzZSA8bGFiZWw+IHByZXNldHMgc28gdHlwZSBzdHlsZXMgY2FzY2FkZSBkb3duXG4gIGZvbnQtd2VpZ2h0OiBpbmhlcml0O1xuICBjb2xvcjogaW5oZXJpdDtcblxuICBjdXJzb3I6IHBvaW50ZXI7XG5cbiAgLy8gTmVlZGVkIHRvIG92ZXJyaWRlIHNwZWNpZmljaXR5XG4gIGlucHV0ICsgJiB7XG4gICAgbWFyZ2luOiAwO1xuICB9XG5cbiAgLy8gVGhlIHBhZGRsZSBpdHNlbGZcbiAgJjo6YWZ0ZXIge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6ICRzd2l0Y2gtcGFkZGxlLW9mZnNldDtcbiAgICAjeyRnbG9iYWwtbGVmdH06ICRzd2l0Y2gtcGFkZGxlLW9mZnNldDtcblxuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHdpZHRoOiAkcGFkZGxlLXdpZHRoO1xuICAgIGhlaWdodDogJHBhZGRsZS1oZWlnaHQ7XG5cbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICAgIGJvcmRlci1yYWRpdXM6ICRzd2l0Y2gtcGFkZGxlLXJhZGl1cztcbiAgICBiYWNrZ3JvdW5kOiAkc3dpdGNoLXBhZGRsZS1iYWNrZ3JvdW5kO1xuICAgIHRyYW5zaXRpb246ICRzd2l0Y2gtcGFkZGxlLXRyYW5zaXRpb247XG4gICAgY29udGVudDogJyc7XG4gIH1cblxuICAvLyBDaGFuZ2UgdGhlIHZpc3VhbCBzdHlsZSB3aGVuIHRoZSBzd2l0Y2ggaXMgYWN0aXZlXG4gIGlucHV0OmNoZWNrZWQgfiAmIHtcbiAgICBiYWNrZ3JvdW5kOiAkc3dpdGNoLWJhY2tncm91bmQtYWN0aXZlO1xuXG4gICAgJjo6YWZ0ZXIge1xuICAgICAgI3skZ2xvYmFsLWxlZnR9OiAkcGFkZGxlLWFjdGl2ZS1vZmZlc3Q7XG4gICAgfVxuICB9XG5cbiAgaW5wdXQ6Zm9jdXMgfiAmIHtcbiAgICBAaW5jbHVkZSBkaXNhYmxlLW1vdXNlLW91dGxpbmU7XG4gIH1cbn1cblxuLy8vIEFkZHMgYmFzZSBzdHlsZXMgZm9yIGFjdGl2ZS9pbmFjdGl2ZSB0ZXh0IGluc2lkZSBhIHN3aXRjaC4gQXBwbHkgdGhpcyB0byB0ZXh0IGVsZW1lbnRzIGluc2lkZSB0aGUgc3dpdGNoIGA8bGFiZWw+YC5cbkBtaXhpbiBzd2l0Y2gtdGV4dCB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiA1MCU7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTtcbn1cblxuLy8vIEFkZHMgc3R5bGVzIGZvciB0aGUgYWN0aXZlIHN0YXRlIHRleHQgd2l0aGluIGEgc3dpdGNoLlxuQG1peGluIHN3aXRjaC10ZXh0LWFjdGl2ZSB7XG4gICN7JGdsb2JhbC1sZWZ0fTogOCU7XG4gIGRpc3BsYXk6IG5vbmU7XG5cbiAgaW5wdXQ6Y2hlY2tlZCArIGxhYmVsID4gJiB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gIH1cbn1cblxuLy8vIEFkZHMgc3R5bGVzIGZvciB0aGUgaW5hY3RpdmUgc3RhdGUgdGV4dCB3aXRoaW4gYSBzd2l0Y2guXG5AbWl4aW4gc3dpdGNoLXRleHQtaW5hY3RpdmUge1xuICAjeyRnbG9iYWwtcmlnaHR9OiAxNSU7XG5cbiAgaW5wdXQ6Y2hlY2tlZCArIGxhYmVsID4gJiB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxufVxuXG4vLy8gQ2hhbmdlcyB0aGUgc2l6ZSBvZiBhIHN3aXRjaCBieSBtb2RpZnlpbmcgdGhlIHNpemUgb2YgdGhlIGJvZHkgYW5kIHBhZGRsZS4gQXBwbHkgdGhpcyB0byBhIHN3aXRjaCBjb250YWluZXIuXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRmb250LXNpemUgWzFyZW1dIC0gRm9udCBzaXplIG9mIGxhYmVsIHRleHQgd2l0aGluIHRoZSBzd2l0Y2guXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRzd2l0Y2gtaGVpZ2h0IFsycmVtXSAtIEhlaWdodCBvZiB0aGUgc3dpdGNoIGJvZHkuXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRwYWRkbGUtb2Zmc2V0IFswLjI1cmVtXSAtIFNwYWNpbmcgYmV0d2VlbiB0aGUgc3dpdGNoIHBhZGRsZSBhbmQgdGhlIGVkZ2Ugb2YgdGhlIHN3aXRjaCBib2R5LlxuQG1peGluIHN3aXRjaC1zaXplKFxuICAkZm9udC1zaXplOiAxcmVtLFxuICAkc3dpdGNoLWhlaWdodDogMnJlbSxcbiAgJHBhZGRsZS1vZmZzZXQ6IDAuMjVyZW1cbikge1xuXG4gICRzd2l0Y2gtd2lkdGg6ICRzd2l0Y2gtaGVpZ2h0ICogMjtcbiAgJHBhZGRsZS13aWR0aDogJHN3aXRjaC1oZWlnaHQgLSAoJHBhZGRsZS1vZmZzZXQgKiAyKTtcbiAgJHBhZGRsZS1oZWlnaHQ6ICRzd2l0Y2gtaGVpZ2h0IC0gKCRwYWRkbGUtb2Zmc2V0ICogMik7XG4gICRwYWRkbGUtYWN0aXZlLW9mZmVzdDogJHN3aXRjaC13aWR0aCAtICRwYWRkbGUtd2lkdGggLSAkcGFkZGxlLW9mZnNldDtcblxuICBoZWlnaHQ6ICRzd2l0Y2gtaGVpZ2h0O1xuXG4gIC5zd2l0Y2gtcGFkZGxlIHtcbiAgICB3aWR0aDogJHN3aXRjaC13aWR0aDtcbiAgICBoZWlnaHQ6ICRzd2l0Y2gtaGVpZ2h0O1xuICAgIGZvbnQtc2l6ZTogJGZvbnQtc2l6ZTtcbiAgfVxuXG4gIC5zd2l0Y2gtcGFkZGxlOjphZnRlciB7XG4gICAgdG9wOiAkcGFkZGxlLW9mZnNldDtcbiAgICAjeyRnbG9iYWwtbGVmdH06ICRwYWRkbGUtb2Zmc2V0O1xuICAgIHdpZHRoOiAkcGFkZGxlLXdpZHRoO1xuICAgIGhlaWdodDogJHBhZGRsZS1oZWlnaHQ7XG4gIH1cblxuICBpbnB1dDpjaGVja2VkIH4gLnN3aXRjaC1wYWRkbGU6OmFmdGVyIHtcbiAgICAjeyRnbG9iYWwtbGVmdH06ICRwYWRkbGUtYWN0aXZlLW9mZmVzdDtcbiAgfVxufVxuXG5AbWl4aW4gZm91bmRhdGlvbi1zd2l0Y2gge1xuICAvLyBDb250YWluZXIgY2xhc3NcbiAgLnN3aXRjaCB7XG4gICAgaGVpZ2h0OiAkc3dpdGNoLWhlaWdodDtcbiAgICBAaW5jbHVkZSBzd2l0Y2gtY29udGFpbmVyO1xuICB9XG5cbiAgLy8gPGlucHV0PiBlbGVtZW50XG4gIC5zd2l0Y2gtaW5wdXQge1xuICAgIEBpbmNsdWRlIHN3aXRjaC1pbnB1dDtcbiAgfVxuXG4gIC8vIDxsYWJlbD4gZWxlbWVudFxuICAuc3dpdGNoLXBhZGRsZSB7XG4gICAgQGluY2x1ZGUgc3dpdGNoLXBhZGRsZTtcbiAgfVxuXG4gIC8vIEJhc2UgbGFiZWwgdGV4dCBzdHlsZXNcbiAgJXN3aXRjaC10ZXh0IHtcbiAgICBAaW5jbHVkZSBzd2l0Y2gtdGV4dDtcbiAgfVxuXG4gIC8vIEFjdGl2ZSBsYWJlbCB0ZXh0IHN0eWxlc1xuICAuc3dpdGNoLWFjdGl2ZSB7XG4gICAgQGV4dGVuZCAlc3dpdGNoLXRleHQ7XG4gICAgQGluY2x1ZGUgc3dpdGNoLXRleHQtYWN0aXZlO1xuICB9XG5cbiAgLy8gSW5hY3RpdmUgbGFiZWwgdGV4dCBzdHlsZXNcbiAgLnN3aXRjaC1pbmFjdGl2ZSB7XG4gICAgQGV4dGVuZCAlc3dpdGNoLXRleHQ7XG4gICAgQGluY2x1ZGUgc3dpdGNoLXRleHQtaW5hY3RpdmU7XG4gIH1cblxuICAvLyBTd2l0Y2ggc2l6ZXNcbiAgLnN3aXRjaC50aW55IHtcbiAgICBAaW5jbHVkZSBzd2l0Y2gtc2l6ZShyZW0tY2FsYygxMCksICRzd2l0Y2gtaGVpZ2h0LXRpbnksICRzd2l0Y2gtcGFkZGxlLW9mZnNldCk7XG4gIH1cblxuICAuc3dpdGNoLnNtYWxsIHtcbiAgICBAaW5jbHVkZSBzd2l0Y2gtc2l6ZShyZW0tY2FsYygxMiksICRzd2l0Y2gtaGVpZ2h0LXNtYWxsLCAkc3dpdGNoLXBhZGRsZS1vZmZzZXQpO1xuICB9XG5cbiAgLnN3aXRjaC5sYXJnZSB7XG4gICAgQGluY2x1ZGUgc3dpdGNoLXNpemUocmVtLWNhbGMoMTYpLCAkc3dpdGNoLWhlaWdodC1sYXJnZSwgJHN3aXRjaC1wYWRkbGUtb2Zmc2V0KTtcbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vIHNhc3MtbGludDpkaXNhYmxlIGZvcmNlLWVsZW1lbnQtbmVzdGluZywgbm8tcXVhbGlmeWluZy1lbGVtZW50c1xuXG4vLy8vXG4vLy8gQGdyb3VwIHRhYmxlXG4vLy8vXG5cbi8vLyBEZWZhdWx0IGNvbG9yIGZvciB0YWJsZSBiYWNrZ3JvdW5kLlxuLy8vIEB0eXBlIENvbG9yXG4kdGFibGUtYmFja2dyb3VuZDogJHdoaXRlICAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgc2NhbGUgZm9yIGRhcmtlbmluZyB0aGUgc3RyaXBlZCB0YWJsZSByb3dzIGFuZCB0aGUgdGFibGUgYm9yZGVyLlxuLy8vIEB0eXBlIE51bWJlclxuJHRhYmxlLWNvbG9yLXNjYWxlOiA1JSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgc3R5bGUgZm9yIHRhYmxlIGJvcmRlci5cbi8vLyBAdHlwZSBMaXN0XG4kdGFibGUtYm9yZGVyOiAxcHggc29saWQgc21hcnQtc2NhbGUoJHRhYmxlLWJhY2tncm91bmQsICR0YWJsZS1jb2xvci1zY2FsZSkgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHBhZGRpbmcgZm9yIHRhYmxlLlxuLy8vIEB0eXBlIE51bWJlclxuJHRhYmxlLXBhZGRpbmc6IHJlbS1jYWxjKDggMTAgMTApICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBzY2FsZSBmb3IgZGFya2VuaW5nIHRoZSB0YWJsZSByb3dzIG9uIGhvdmVyLlxuLy8vIEB0eXBlIE51bWJlclxuJHRhYmxlLWhvdmVyLXNjYWxlOiAyJSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgY29sb3Igb2Ygc3RhbmRhcmQgcm93cyBvbiBob3Zlci5cbi8vLyBAdHlwZSBMaXN0XG4kdGFibGUtcm93LWhvdmVyOiBkYXJrZW4oJHRhYmxlLWJhY2tncm91bmQsICR0YWJsZS1ob3Zlci1zY2FsZSkgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGNvbG9yIG9mIHN0cmlwZWQgcm93cyBvbiBob3Zlci5cbi8vLyBAdHlwZSBMaXN0XG4kdGFibGUtcm93LXN0cmlwZS1ob3ZlcjogZGFya2VuKCR0YWJsZS1iYWNrZ3JvdW5kLCAkdGFibGUtY29sb3Itc2NhbGUgKyAkdGFibGUtaG92ZXItc2NhbGUpICFkZWZhdWx0O1xuXG4vLy8gSWYgYHRydWVgLCB0YWJsZXMgYXJlIHN0cmlwZWQgYnkgZGVmYXVsdCBhbmQgYW4gLnVuc3RyaXBlZCBjbGFzcyBpcyBjcmVhdGVkLiBJZiBgZmFsc2VgLCBhIC5zdHJpcGVkIGNsYXNzIGlzIGNyZWF0ZWQuXG4vLy8gQHR5cGUgQm9vbGVhblxuJHRhYmxlLWlzLXN0cmlwZWQ6IHRydWUgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGJhY2tncm91bmQgY29sb3IgZm9yIHN0cmlwZWQgcm93cy5cbi8vLyBAdHlwZSBDb2xvclxuJHRhYmxlLXN0cmlwZWQtYmFja2dyb3VuZDogc21hcnQtc2NhbGUoJHRhYmxlLWJhY2tncm91bmQsICR0YWJsZS1jb2xvci1zY2FsZSkgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHZhbHVlIGZvciBzaG93aW5nIHRoZSBzdHJpcGUgb24gcm93cyBvZiB0aGUgdGFibGVzLCBleGNsdWRpbmcgdGhlIGhlYWRlciBhbmQgZm9vdGVyLiBJZiBldmVuLCB0aGUgZXZlbiByb3dzIHdpbGwgaGF2ZSBhIGJhY2tncm91bmQgY29sb3IuIElmIG9kZCwgdGhlIG9kZCByb3dzIHdpbGwgaGF2ZSBhIGJhY2tncm91bmQgY29sb3IuIElmIGVtcHR5LCBvciBhbnkgb3RoZXIgdmFsdWUsIHRoZSB0YWJsZSByb3dzIHdpbGwgaGF2ZSBubyBzdHJpcGluZy5cbi8vLyBAdHlwZSBLZXl3b3JkXG4kdGFibGUtc3RyaXBlOiBldmVuICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBjb2xvciBmb3IgaGVhZGVyIGJhY2tncm91bmQuXG4vLy8gQHR5cGUgQ29sb3JcbiR0YWJsZS1oZWFkLWJhY2tncm91bmQ6IHNtYXJ0LXNjYWxlKCR0YWJsZS1iYWNrZ3JvdW5kLCAkdGFibGUtY29sb3Itc2NhbGUgLyAyKSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgY29sb3Igb2YgaGVhZGVyIHJvd3Mgb24gaG92ZXIuXG4vLy8gQHR5cGUgTGlzdFxuJHRhYmxlLWhlYWQtcm93LWhvdmVyOiBkYXJrZW4oJHRhYmxlLWhlYWQtYmFja2dyb3VuZCwgJHRhYmxlLWhvdmVyLXNjYWxlKSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgY29sb3IgZm9yIGZvb3RlciBiYWNrZ3JvdW5kLlxuLy8vIEB0eXBlIENvbG9yXG4kdGFibGUtZm9vdC1iYWNrZ3JvdW5kOiBzbWFydC1zY2FsZSgkdGFibGUtYmFja2dyb3VuZCwgJHRhYmxlLWNvbG9yLXNjYWxlKSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgY29sb3Igb2YgZm9vdGVyIHJvd3Mgb24gaG92ZXIuXG4vLy8gQHR5cGUgTGlzdFxuJHRhYmxlLWZvb3Qtcm93LWhvdmVyOiBkYXJrZW4oJHRhYmxlLWZvb3QtYmFja2dyb3VuZCwgJHRhYmxlLWhvdmVyLXNjYWxlKSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgZm9udCBjb2xvciBmb3IgaGVhZGVyLlxuLy8vIEB0eXBlIENvbG9yXG4kdGFibGUtaGVhZC1mb250LWNvbG9yOiAkYm9keS1mb250LWNvbG9yICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBmb250IGNvbG9yIGZvciBmb290ZXIuXG4vLy8gQHR5cGUgQ29sb3JcbiR0YWJsZS1mb290LWZvbnQtY29sb3I6ICRib2R5LWZvbnQtY29sb3IgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHZhbHVlIGZvciBzaG93aW5nIHRoZSBoZWFkZXIgd2hlbiB1c2luZyBzdGFja2VkIHRhYmxlcy5cbi8vLyBAdHlwZSBCb29sZWFuXG4kc2hvdy1oZWFkZXItZm9yLXN0YWNrZWQ6IGZhbHNlICFkZWZhdWx0O1xuXG4vLy8gQnJlYWtwb2ludCBhdCB3aGljaCBzdGFja2VkIHRhYmxlIHN3aXRjaGVzIGZyb20gbW9iaWxlIHRvIGRlc2t0b3Agdmlldy5cbi8vLyBAdHlwZSBCcmVha3BvaW50XG4kdGFibGUtc3RhY2stYnJlYWtwb2ludDogbWVkaXVtICFkZWZhdWx0O1xuXG5AbWl4aW4gLXpmLXRhYmxlLXN0cmlwZSgkc3RyaXBlOiAkdGFibGUtc3RyaXBlKSB7XG4gIHRyIHtcbiAgICAvLyBJZiBzdHJpcGUgaXMgc2V0IHRvIGV2ZW4sIGRhcmtlbiB0aGUgZXZlbiByb3dzLlxuICAgIEBpZiAkc3RyaXBlID09IGV2ZW4ge1xuICAgICAgJjpudGgtY2hpbGQoZXZlbikge1xuICAgICAgICBib3JkZXItYm90dG9tOiAwO1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkdGFibGUtc3RyaXBlZC1iYWNrZ3JvdW5kO1xuICAgICAgfVxuICAgIH1cblxuICAgIC8vIElmIHN0cmlwZSBpcyBzZXQgdG8gb2RkLCBkYXJrZW4gdGhlIG9kZCByb3dzLlxuICAgIEBlbHNlIGlmICRzdHJpcGUgPT0gb2RkIHtcbiAgICAgICY6bnRoLWNoaWxkKG9kZCkge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkdGFibGUtc3RyaXBlZC1iYWNrZ3JvdW5kO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG5AbWl4aW4gLXpmLXRhYmxlLXVuc3RyaXBlKCkge1xuICB0ciB7XG4gICAgYm9yZGVyLWJvdHRvbTogMDtcbiAgICBib3JkZXItYm90dG9tOiAkdGFibGUtYm9yZGVyO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICR0YWJsZS1iYWNrZ3JvdW5kO1xuICB9XG59XG5cbkBtaXhpbiAtemYtdGFibGUtY2hpbGRyZW4tc3R5bGVzKCRzdHJpcGU6ICR0YWJsZS1zdHJpcGUsICRpcy1zdHJpcGVkOiAkdGFibGUtaXMtc3RyaXBlZCkge1xuICB0aGVhZCxcbiAgdGJvZHksXG4gIHRmb290IHtcbiAgICBib3JkZXI6ICR0YWJsZS1ib3JkZXI7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJHRhYmxlLWJhY2tncm91bmQ7XG4gIH1cblxuICAvLyBDYXB0aW9uXG4gIGNhcHRpb24ge1xuICAgIHBhZGRpbmc6ICR0YWJsZS1wYWRkaW5nO1xuICAgIGZvbnQtd2VpZ2h0OiAkZ2xvYmFsLXdlaWdodC1ib2xkO1xuICB9XG5cbiAgLy8gVGFibGUgaGVhZFxuICB0aGVhZCB7XG4gICAgYmFja2dyb3VuZDogJHRhYmxlLWhlYWQtYmFja2dyb3VuZDtcbiAgICBjb2xvcjogJHRhYmxlLWhlYWQtZm9udC1jb2xvcjtcbiAgfVxuXG4gIC8vIFRhYmxlIGZvb3RcbiAgdGZvb3Qge1xuICAgIGJhY2tncm91bmQ6ICR0YWJsZS1mb290LWJhY2tncm91bmQ7XG4gICAgY29sb3I6ICR0YWJsZS1mb290LWZvbnQtY29sb3I7XG4gIH1cblxuICAvLyBUYWJsZSBoZWFkIGFuZCBmb290XG4gIHRoZWFkLFxuICB0Zm9vdCB7XG4gICAgLy8gUm93cyB3aXRoaW4gaGVhZCBhbmQgZm9vdFxuICAgIHRyIHtcbiAgICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICAgIH1cblxuICAgIC8vIENlbGxzIHdpdGhpbiBoZWFkIGFuZCBmb290XG4gICAgdGgsXG4gICAgdGQge1xuICAgICAgcGFkZGluZzogJHRhYmxlLXBhZGRpbmc7XG4gICAgICBmb250LXdlaWdodDogJGdsb2JhbC13ZWlnaHQtYm9sZDtcbiAgICAgIHRleHQtYWxpZ246ICN7JGdsb2JhbC1sZWZ0fTtcbiAgICB9XG4gIH1cblxuICAvLyBUYWJsZSByb3dzXG4gIHRib2R5IHtcbiAgICB0aCxcbiAgICB0ZCB7XG4gICAgICBwYWRkaW5nOiAkdGFibGUtcGFkZGluZztcbiAgICB9XG4gIH1cblxuICAvLyBJZiB0YWJsZXMgYXJlIHN0cmlwZWRcbiAgQGlmICRpcy1zdHJpcGVkID09IHRydWUge1xuICAgIHRib2R5IHtcbiAgICAgIEBpbmNsdWRlIC16Zi10YWJsZS1zdHJpcGUoJHN0cmlwZSk7XG4gICAgfVxuXG4gICAgJi51bnN0cmlwZWQge1xuICAgICAgdGJvZHkge1xuICAgICAgICBAaW5jbHVkZSAtemYtdGFibGUtdW5zdHJpcGUoKTtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHRhYmxlLWJhY2tncm91bmQ7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLy8gSWYgdGFibGVzIGFyZSBub3Qgc3RyaXBlZFxuICBAZWxzZSBpZiAkaXMtc3RyaXBlZCA9PSBmYWxzZSB7XG4gICAgdGJvZHkge1xuICAgICAgQGluY2x1ZGUgLXpmLXRhYmxlLXVuc3RyaXBlKCk7XG4gICAgfVxuXG4gICAgJi5zdHJpcGVkIHtcbiAgICAgIHRib2R5IHtcbiAgICAgICAgQGluY2x1ZGUgLXpmLXRhYmxlLXN0cmlwZSgkc3RyaXBlKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuLy8vIEFkZHMgdGhlIGdlbmVyYWwgc3R5bGVzIGZvciB0YWJsZXMuXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkc3RyaXBlIFskdGFibGUtc3RyaXBlXSAtIFVzZXMga2V5d29yZHMgZXZlbiwgb2RkLCBvciBub25lIHRvIGRhcmtlbiByb3dzIG9mIHRoZSB0YWJsZS4gVGhlIGRlZmF1bHQgdmFsdWUgaXMgZXZlbi5cbkBtaXhpbiB0YWJsZShcbiAgJHN0cmlwZTogJHRhYmxlLXN0cmlwZSxcbiAgJG5lc3Q6IGZhbHNlXG4pIHtcbiAgYm9yZGVyLWNvbGxhcHNlOiBjb2xsYXBzZTtcbiAgd2lkdGg6IDEwMCU7XG4gIG1hcmdpbi1ib3R0b206ICRnbG9iYWwtbWFyZ2luO1xuICBib3JkZXItcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcblxuICBAaWYgJG5lc3Qge1xuICAgIEBpbmNsdWRlIC16Zi10YWJsZS1jaGlsZHJlbi1zdHlsZXMoJHN0cmlwZSk7XG4gIH1cbiAgQGVsc2Uge1xuICAgIEBhdC1yb290IHtcbiAgICAgIEBpbmNsdWRlIC16Zi10YWJsZS1jaGlsZHJlbi1zdHlsZXMoJHN0cmlwZSk7XG4gICAgfVxuICB9XG59XG5cbi8vLyBBZGRzIHRoZSBhYmlsaXR5IHRvIGhvcml6b250YWxseSBzY3JvbGwgdGhlIHRhYmxlIHdoZW4gdGhlIGNvbnRlbnQgb3ZlcmZsb3dzIGhvcml6b250YWxseS5cbkBtaXhpbiB0YWJsZS1zY3JvbGwge1xuICBkaXNwbGF5OiBibG9jaztcbiAgd2lkdGg6IDEwMCU7XG4gIG92ZXJmbG93LXg6IGF1dG87XG59XG5cbi8vLyBTbGlnaHRseSBkYXJrZW5zIHRoZSB0YWJsZSByb3dzIG9uIGhvdmVyLlxuQG1peGluIHRhYmxlLWhvdmVyIHtcbiAgdGhlYWQgdHIge1xuICAgIC8vRGFya2VucyB0aGUgdGFibGUgaGVhZGVyIHJvd3Mgb24gaG92ZXIuXG4gICAgJjpob3ZlciB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkdGFibGUtaGVhZC1yb3ctaG92ZXI7XG4gICAgfVxuICB9XG5cbiAgdGZvb3QgdHIge1xuICAgIC8vRGFya2VucyB0aGUgdGFibGUgZm9vdGVyIHJvd3Mgb24gaG92ZXIuXG4gICAgJjpob3ZlciB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkdGFibGUtZm9vdC1yb3ctaG92ZXI7XG4gICAgfVxuICB9XG5cbiAgdGJvZHkgdHIge1xuICAgIC8vRGFya2VucyB0aGUgbm9uLXN0cmlwZWQgdGFibGUgcm93cyBvbiBob3Zlci5cbiAgICAmOmhvdmVyIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICR0YWJsZS1yb3ctaG92ZXI7XG4gICAgfVxuICB9XG5cbiAgQGlmICR0YWJsZS1pcy1zdHJpcGVkID09IHRydWUge1xuICAgIC8vIERhcmtlbnMgdGhlIGV2ZW4gc3RyaXBlZCB0YWJsZSByb3dzLlxuICAgIEBpZigkdGFibGUtc3RyaXBlID09IGV2ZW4pIHtcbiAgICAgICY6bm90KC51bnN0cmlwZWQpIHRyOm50aC1vZi10eXBlKGV2ZW4pOmhvdmVyIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHRhYmxlLXJvdy1zdHJpcGUtaG92ZXI7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gRGFya2VucyB0aGUgb2RkIHN0cmlwZWQgdGFibGUgcm93cy5cbiAgICBAZWxzZWlmKCR0YWJsZS1zdHJpcGUgPT0gb2RkKSB7XG4gICAgICAmOm5vdCgudW5zdHJpcGVkKSB0cjpudGgtb2YtdHlwZShvZGQpOmhvdmVyIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHRhYmxlLXJvdy1zdHJpcGUtaG92ZXI7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgQGVsc2UgaWYgJHRhYmxlLWlzLXN0cmlwZWQgPT0gZmFsc2Uge1xuICAgIC8vIERhcmtlbnMgdGhlIGV2ZW4gc3RyaXBlZCB0YWJsZSByb3dzLlxuICAgIEBpZigkdGFibGUtc3RyaXBlID09IGV2ZW4pIHtcbiAgICAgICYuc3RyaXBlZCB0cjpudGgtb2YtdHlwZShldmVuKTpob3ZlciB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICR0YWJsZS1yb3ctc3RyaXBlLWhvdmVyO1xuICAgICAgfVxuICAgIH1cblxuICAgIC8vIERhcmtlbnMgdGhlIG9kZCBzdHJpcGVkIHRhYmxlIHJvd3MuXG4gICAgQGVsc2VpZigkdGFibGUtc3RyaXBlID09IG9kZCkge1xuICAgICAgJi5zdHJpcGVkIHRyOm50aC1vZi10eXBlKG9kZCk6aG92ZXIge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkdGFibGUtcm93LXN0cmlwZS1ob3ZlcjtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuLy8vIEFkZHMgc3R5bGVzIGZvciBhIHN0YWNrZWQgdGFibGUuIFVzZWZ1bCBmb3Igc21hbGwtc2NyZWVuIGxheW91dHMuXG4vLy8gQHBhcmFtIHtCb29sZWFufSAkaGVhZGVyIFskc2hvdy1oZWFkZXItZm9yLXN0YWNrZWRdIC0gU2hvdyB0aGUgZmlyc3QgdGggb2YgaGVhZGVyIHdoZW4gc3RhY2tlZC5cbkBtaXhpbiB0YWJsZS1zdGFjaygkaGVhZGVyOiAkc2hvdy1oZWFkZXItZm9yLXN0YWNrZWQpIHtcbiAgQGlmICRoZWFkZXIge1xuICAgIHRoZWFkIHtcbiAgICAgIHRoIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICB9XG4gICAgfVxuICB9XG4gIEBlbHNlIHtcbiAgICB0aGVhZCB7XG4gICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cbiAgfVxuXG4gIHRmb290IHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG5cbiAgdHIsXG4gIHRoLFxuICB0ZCB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gIH1cblxuICB0ZCB7XG4gICAgYm9yZGVyLXRvcDogMDtcbiAgfVxufVxuXG5AbWl4aW4gZm91bmRhdGlvbi10YWJsZSgkbmVzdDogZmFsc2UpIHtcbiAgdGFibGUge1xuICAgIEBpbmNsdWRlIHRhYmxlKCRuZXN0OiAkbmVzdCk7XG4gIH1cblxuICB0YWJsZS5zdGFjayB7XG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkdGFibGUtc3RhY2stYnJlYWtwb2ludCBkb3duKSB7XG4gICAgICBAaW5jbHVkZSB0YWJsZS1zdGFjaztcbiAgICB9XG4gIH1cblxuICB0YWJsZS5zY3JvbGwge1xuICAgIEBpbmNsdWRlIHRhYmxlLXNjcm9sbDtcbiAgfVxuXG4gIHRhYmxlLmhvdmVyIHtcbiAgICBAaW5jbHVkZSB0YWJsZS1ob3ZlcjtcbiAgfVxuXG4gIC50YWJsZS1zY3JvbGwge1xuICAgIG92ZXJmbG93LXg6IGF1dG87XG5cbiAgICB0YWJsZSB7XG4gICAgICB3aWR0aDogYXV0bztcbiAgICB9XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIHRhYnNcbi8vLy9cblxuLy8vIERlZmF1bHQgbWFyZ2luIG9mIHRoZSB0YWIgYmFyLlxuLy8vIEB0eXBlIE51bWJlclxuJHRhYi1tYXJnaW46IDAgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGJhY2tncm91bmQgY29sb3Igb2YgYSB0YWIgYmFyLlxuLy8vIEB0eXBlIENvbG9yXG4kdGFiLWJhY2tncm91bmQ6ICR3aGl0ZSAhZGVmYXVsdDtcblxuLy8vIEZvbnQgY29sb3Igb2YgdGFiIGl0ZW0uXG4vLy8gQHR5cGUgQ29sb3JcbiR0YWItY29sb3I6ICRwcmltYXJ5LWNvbG9yICFkZWZhdWx0O1xuXG4vLy8gQWN0aXZlIGJhY2tncm91bmQgY29sb3Igb2YgYSB0YWIgYmFyLlxuLy8vIEB0eXBlIENvbG9yXG4kdGFiLWJhY2tncm91bmQtYWN0aXZlOiAkbGlnaHQtZ3JheSAhZGVmYXVsdDtcblxuLy8vIEFjdGl2ZSBmb250IGNvbG9yIG9mIHRhYiBpdGVtLlxuLy8vIEB0eXBlIENvbG9yXG4kdGFiLWFjdGl2ZS1jb2xvcjogJHByaW1hcnktY29sb3IgIWRlZmF1bHQ7XG5cbi8vLyBGb250IHNpemUgb2YgdGFiIGl0ZW1zLlxuLy8vIEB0eXBlIE51bWJlclxuJHRhYi1pdGVtLWZvbnQtc2l6ZTogcmVtLWNhbGMoMTIpICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBiYWNrZ3JvdW5kIGNvbG9yIG9uIGhvdmVyIGZvciBpdGVtcyBpbiBhIE1lbnUuXG4kdGFiLWl0ZW0tYmFja2dyb3VuZC1ob3ZlcjogJHdoaXRlICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBwYWRkaW5nIG9mIGEgdGFiIGl0ZW0uXG4vLy8gQHR5cGUgTnVtYmVyXG4kdGFiLWl0ZW0tcGFkZGluZzogMS4yNXJlbSAxLjVyZW0gIWRlZmF1bHQ7XG5cbi8vLyBNYXhpbXVtIG51bWJlciBvZiBgZXhwYW5kLW5gIGNsYXNzZXMgdG8gaW5jbHVkZSBpbiB0aGUgQ1NTLlxuLy8vIEB0eXBlIE51bWJlclxuJHRhYi1leHBhbmQtbWF4OiA2ICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBiYWNrZ3JvdW5kIGNvbG9yIG9mIHRhYiBjb250ZW50LlxuLy8vIEB0eXBlIENvbG9yXG4kdGFiLWNvbnRlbnQtYmFja2dyb3VuZDogJHdoaXRlICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBib3JkZXIgY29sb3Igb2YgdGFiIGNvbnRlbnQuXG4vLy8gQHR5cGUgQ29sb3JcbiR0YWItY29udGVudC1ib3JkZXI6ICRsaWdodC1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCB0ZXh0IGNvbG9yIG9mIHRhYiBjb250ZW50LlxuLy8vIEB0eXBlIENvbG9yXG4kdGFiLWNvbnRlbnQtY29sb3I6ICRib2R5LWZvbnQtY29sb3IgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHBhZGRpbmcgZm9yIHRhYiBjb250ZW50LlxuLy8vIEB0eXBlIE51bWJlciB8IExpc3RcbiR0YWItY29udGVudC1wYWRkaW5nOiAxcmVtICFkZWZhdWx0O1xuXG4vLy8gQWRkcyBzdHlsZXMgZm9yIGEgdGFiIGNvbnRhaW5lci4gQXBwbHkgdGhpcyB0byBhIGA8dWw+YC5cbkBtaXhpbiB0YWJzLWNvbnRhaW5lciAoXG4gICRtYXJnaW46ICR0YWItbWFyZ2luLFxuICAkYmFja2dyb3VuZDogJHRhYi1iYWNrZ3JvdW5kLFxuICAkYm9yZGVyLWNvbG9yOiAkdGFiLWNvbnRlbnQtYm9yZGVyXG4pIHtcbiAgQGluY2x1ZGUgY2xlYXJmaXg7XG4gIG1hcmdpbjogJG1hcmdpbjtcbiAgYm9yZGVyOiAxcHggc29saWQgJGJvcmRlci1jb2xvcjtcbiAgYmFja2dyb3VuZDogJGJhY2tncm91bmQ7XG4gIGxpc3Qtc3R5bGUtdHlwZTogbm9uZTtcbn1cblxuLy8vIEF1Z21lbnRzIGEgdGFiIGNvbnRhaW5lciB0byBoYXZlIHZlcnRpY2FsIHRhYnMuIFVzZSB0aGlzIGluIGNvbmp1bmN0aW9uIHdpdGggYHRhYnMtY29udGFpbmVyKClgLlxuQG1peGluIHRhYnMtY29udGFpbmVyLXZlcnRpY2FsIHtcbiAgPiBsaSB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgZmxvYXQ6IG5vbmU7XG4gICAgd2lkdGg6IGF1dG87XG4gIH1cbn1cblxuLy8vIEFkZHMgc3R5bGVzIGZvciB0aGUgbGlua3Mgd2l0aGluIGEgdGFiIGNvbnRhaW5lci4gQXBwbHkgdGhpcyB0byB0aGUgYDxsaT5gIGVsZW1lbnRzIGluc2lkZSBhIHRhYiBjb250YWluZXIuXG5AbWl4aW4gdGFicy10aXRsZSAoXG4gICRwYWRkaW5nOiAkdGFiLWl0ZW0tcGFkZGluZyxcbiAgJGZvbnQtc2l6ZTogJHRhYi1pdGVtLWZvbnQtc2l6ZSxcbiAgJGNvbG9yOiAkdGFiLWNvbG9yLFxuICAkY29sb3ItYWN0aXZlOiAkdGFiLWFjdGl2ZS1jb2xvcixcbiAgJGJhY2tncm91bmQtaG92ZXI6ICR0YWItaXRlbS1iYWNrZ3JvdW5kLWhvdmVyLFxuICAkYmFja2dyb3VuZC1hY3RpdmU6ICR0YWItYmFja2dyb3VuZC1hY3RpdmVcbikge1xuICBmbG9hdDogI3skZ2xvYmFsLWxlZnR9O1xuXG4gID4gYSB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgcGFkZGluZzogJHBhZGRpbmc7XG4gICAgZm9udC1zaXplOiAkZm9udC1zaXplO1xuICAgIGxpbmUtaGVpZ2h0OiAxO1xuICAgIGNvbG9yOiAkY29sb3I7XG5cbiAgICAmOmhvdmVyIHtcbiAgICAgIGJhY2tncm91bmQ6ICRiYWNrZ3JvdW5kLWhvdmVyO1xuICAgICAgY29sb3I6IHNjYWxlLWNvbG9yKCRjb2xvciwgJGxpZ2h0bmVzczogLTE0JSk7XG4gICAgfVxuXG4gICAgJjpmb2N1cyxcbiAgICAmW2FyaWEtc2VsZWN0ZWQ9J3RydWUnXSB7XG4gICAgICBiYWNrZ3JvdW5kOiAkYmFja2dyb3VuZC1hY3RpdmU7XG4gICAgICBjb2xvcjogJGNvbG9yLWFjdGl2ZTtcbiAgICB9XG4gIH1cbn1cblxuLy8vIEFkZHMgc3R5bGVzIGZvciB0aGUgd3JhcHBlciB0aGF0IHN1cnJvdW5kcyBhIHRhYiBncm91cCdzIGNvbnRlbnQgcGFuZXMuXG5AbWl4aW4gdGFicy1jb250ZW50IChcbiAgJGJhY2tncm91bmQ6ICR0YWItY29udGVudC1iYWNrZ3JvdW5kLFxuICAkY29sb3I6ICR0YWItY29udGVudC1jb2xvcixcbiAgJGJvcmRlci1jb2xvcjogJHRhYi1jb250ZW50LWJvcmRlclxuKSB7XG4gIGJvcmRlcjogMXB4IHNvbGlkICRib3JkZXItY29sb3I7XG4gIGJvcmRlci10b3A6IDA7XG4gIGJhY2tncm91bmQ6ICRiYWNrZ3JvdW5kO1xuICBjb2xvcjogJGNvbG9yO1xuICB0cmFuc2l0aW9uOiBhbGwgMC41cyBlYXNlO1xufVxuXG4vLy8gQXVnbWVudHMgYSB0YWIgY29udGVudCBjb250YWluZXIgdG8gaGF2ZSBhIHZlcnRpY2FsIHN0eWxlLCBieSBzaGlmdGluZyB0aGUgYm9yZGVyIGFyb3VuZC4gVXNlIHRoaXMgaW4gY29uanVuY3Rpb24gd2l0aCBgdGFicy1jb250ZW50KClgLlxuQG1peGluIHRhYnMtY29udGVudC12ZXJ0aWNhbCAoXG4gICRib3JkZXItY29sb3I6ICR0YWItY29udGVudC1ib3JkZXJcbikge1xuICBib3JkZXI6IDFweCBzb2xpZCAkYm9yZGVyLWNvbG9yO1xuICBib3JkZXItI3skZ2xvYmFsLWxlZnR9OiAwO1xufVxuXG4vLy8gQWRkcyBzdHlsZXMgZm9yIGFuIGluZGl2aWR1YWwgdGFiIGNvbnRlbnQgcGFuZWwgd2l0aGluIHRoZSB0YWIgY29udGVudCBjb250YWluZXIuXG5AbWl4aW4gdGFicy1wYW5lbCAoXG4gICRwYWRkaW5nOiAkdGFiLWNvbnRlbnQtcGFkZGluZ1xuKSB7XG4gIGRpc3BsYXk6IG5vbmU7XG4gIHBhZGRpbmc6ICRwYWRkaW5nO1xuXG4gICYuaXMtYWN0aXZlIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgfVxufVxuXG5AbWl4aW4gZm91bmRhdGlvbi10YWJzIHtcbiAgLnRhYnMge1xuICAgIEBpbmNsdWRlIHRhYnMtY29udGFpbmVyO1xuICB9XG5cbiAgLy8gVmVydGljYWxcbiAgLnRhYnMudmVydGljYWwge1xuICAgIEBpbmNsdWRlIHRhYnMtY29udGFpbmVyLXZlcnRpY2FsO1xuICB9XG5cbiAgLy8gU2ltcGxlXG4gIC50YWJzLnNpbXBsZSB7XG4gICAgPiBsaSA+IGEge1xuICAgICAgcGFkZGluZzogMDtcblxuICAgICAgJjpob3ZlciB7XG4gICAgICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC8vIFByaW1hcnkgY29sb3JcbiAgLnRhYnMucHJpbWFyeSB7XG4gICAgYmFja2dyb3VuZDogJHByaW1hcnktY29sb3I7XG5cbiAgICA+IGxpID4gYSB7XG4gICAgICBjb2xvcjogY29sb3ItcGljay1jb250cmFzdCgkcHJpbWFyeS1jb2xvcik7XG5cbiAgICAgICY6aG92ZXIsXG4gICAgICAmOmZvY3VzIHtcbiAgICAgICAgYmFja2dyb3VuZDogc21hcnQtc2NhbGUoJHByaW1hcnktY29sb3IpO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC50YWJzLXRpdGxlIHtcbiAgICBAaW5jbHVkZSB0YWJzLXRpdGxlO1xuICB9XG5cbiAgLnRhYnMtY29udGVudCB7XG4gICAgQGluY2x1ZGUgdGFicy1jb250ZW50O1xuICB9XG5cbiAgLnRhYnMtY29udGVudC52ZXJ0aWNhbCB7XG4gICAgQGluY2x1ZGUgdGFicy1jb250ZW50LXZlcnRpY2FsO1xuICB9XG5cbiAgLnRhYnMtcGFuZWwge1xuICAgIEBpbmNsdWRlIHRhYnMtcGFuZWw7XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIHRpdGxlLWJhclxuLy8vL1xuXG4vLy8gQmFja2dyb3VuZCBjb2xvciBvZiBhIHRpdGxlIGJhci5cbi8vLyBAdHlwZSBDb2xvclxuJHRpdGxlYmFyLWJhY2tncm91bmQ6ICRibGFjayAhZGVmYXVsdDtcblxuLy8vIENvbG9yIG9mIHRleHQgaW5zaWRlIGEgdGl0bGUgYmFyLlxuLy8vIEB0eXBlIENvbG9yXG4kdGl0bGViYXItY29sb3I6ICR3aGl0ZSAhZGVmYXVsdDtcblxuLy8vIFBhZGRpbmcgaW5zaWRlIGEgdGl0bGUgYmFyLlxuLy8vIEB0eXBlIExlbmd0aFxuJHRpdGxlYmFyLXBhZGRpbmc6IDAuNXJlbSAhZGVmYXVsdDtcblxuLy8vIEZvbnQgd2VpZ2h0IG9mIHRleHQgaW5zaWRlIGEgdGl0bGUgYmFyLlxuLy8vIEB0eXBlIFdlaWdodFxuJHRpdGxlYmFyLXRleHQtZm9udC13ZWlnaHQ6IGJvbGQgIWRlZmF1bHQ7XG5cbi8vLyBDb2xvciBvZiBtZW51IGljb25zIGluc2lkZSBhIHRpdGxlIGJhci5cbi8vLyBAdHlwZSBDb2xvclxuJHRpdGxlYmFyLWljb24tY29sb3I6ICR3aGl0ZSAhZGVmYXVsdDtcblxuLy8vIENvbG9yIG9mIG1lbnUgaWNvbnMgaW5zaWRlIGEgdGl0bGUgYmFyIG9uIGhvdmVyLlxuLy8vIEB0eXBlIENvbG9yXG4kdGl0bGViYXItaWNvbi1jb2xvci1ob3ZlcjogJG1lZGl1bS1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gU3BhY2luZyBiZXR3ZWVuIHRoZSBtZW51IGljb24gYW5kIHRleHQgaW5zaWRlIGEgdGl0bGUgYmFyLlxuLy8vIEB0eXBlIExlbmd0aFxuJHRpdGxlYmFyLWljb24tc3BhY2luZzogMC4yNXJlbSAhZGVmYXVsdDtcblxuQG1peGluIGZvdW5kYXRpb24tdGl0bGUtYmFyIHtcbiAgLnRpdGxlLWJhciB7XG4gICAgcGFkZGluZzogJHRpdGxlYmFyLXBhZGRpbmc7XG4gICAgYmFja2dyb3VuZDogJHRpdGxlYmFyLWJhY2tncm91bmQ7XG4gICAgY29sb3I6ICR0aXRsZWJhci1jb2xvcjtcblxuICAgIEBpZiAkZ2xvYmFsLWZsZXhib3gge1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDtcbiAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgfVxuICAgIEBlbHNlIHtcbiAgICAgIEBpbmNsdWRlIGNsZWFyZml4O1xuICAgIH1cblxuICAgIC5tZW51LWljb24ge1xuICAgICAgbWFyZ2luLSN7JGdsb2JhbC1sZWZ0fTogJHRpdGxlYmFyLWljb24tc3BhY2luZztcbiAgICAgIG1hcmdpbi0jeyRnbG9iYWwtcmlnaHR9OiAkdGl0bGViYXItaWNvbi1zcGFjaW5nO1xuICAgIH1cbiAgfVxuXG4gIEBpZiAkZ2xvYmFsLWZsZXhib3gge1xuICAgIC50aXRsZS1iYXItbGVmdCxcbiAgICAudGl0bGUtYmFyLXJpZ2h0IHtcbiAgICAgIGZsZXg6IDEgMSAwcHg7IC8vIHNhc3MtbGludDpkaXNhYmxlLWxpbmUgemVyby11bml0XG4gICAgfVxuXG4gICAgLnRpdGxlLWJhci1yaWdodCB7XG4gICAgICB0ZXh0LWFsaWduOiByaWdodDtcbiAgICB9XG4gIH1cbiAgQGVsc2Uge1xuICAgIC50aXRsZS1iYXItbGVmdCB7XG4gICAgICBmbG9hdDogbGVmdDtcbiAgICB9XG5cbiAgICAudGl0bGUtYmFyLXJpZ2h0IHtcbiAgICAgIGZsb2F0OiByaWdodDtcbiAgICAgIHRleHQtYWxpZ246IHJpZ2h0O1xuICAgIH1cbiAgfVxuXG4gIC50aXRsZS1iYXItdGl0bGUge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICAgIGZvbnQtd2VpZ2h0OiAkdGl0bGViYXItdGV4dC1mb250LXdlaWdodDtcbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgdG9wLWJhclxuLy8vL1xuXG4vLy8gUGFkZGluZyBmb3IgdGhlIHRvcCBiYXIuXG4vLy8gQHR5cGUgTnVtYmVyXG4kdG9wYmFyLXBhZGRpbmc6IDAuNXJlbSAhZGVmYXVsdDtcblxuLy8vIEJhY2tncm91bmQgY29sb3IgZm9yIHRoZSB0b3AgYmFyLiBUaGlzIGNvbG9yIGFsc28gY2FzY2FkZXMgdG8gbWVudXMgd2l0aGluIHRoZSB0b3AgYmFyLlxuLy8vIEB0eXBlIENvbG9yXG4kdG9wYmFyLWJhY2tncm91bmQ6ICRsaWdodC1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gQmFja2dyb3VuZCBjb2xvciBzdWJtZW51cyB3aXRoaW4gdGhlIHRvcCBiYXIuIFVzZWZ1bGwgaWYgJHRvcGJhci1iYWNrZ3JvdW5kIGlzIHRyYW5zcGFyZW50LlxuLy8vIEB0eXBlIENvbG9yXG4kdG9wYmFyLXN1Ym1lbnUtYmFja2dyb3VuZDogJHRvcGJhci1iYWNrZ3JvdW5kICFkZWZhdWx0O1xuXG4vLy8gU3BhY2luZyBmb3IgdGhlIHRvcCBiYXIgdGl0bGUuXG4vLy8gQHR5cGUgTnVtYmVyXG4kdG9wYmFyLXRpdGxlLXNwYWNpbmc6IDAuNXJlbSAxcmVtIDAuNXJlbSAwICFkZWZhdWx0O1xuXG4vLy8gTWF4aW11bSB3aWR0aCBvZiBgPGlucHV0PmAgZWxlbWVudHMgaW5zaWRlIHRoZSB0b3AgYmFyLlxuLy8vIEB0eXBlIE51bWJlclxuJHRvcGJhci1pbnB1dC13aWR0aDogMjAwcHggIWRlZmF1bHQ7XG5cbi8vLyBCcmVha3BvaW50IGF0IHdoaWNoIHRvcCBiYXIgc3dpdGNoZXMgZnJvbSBtb2JpbGUgdG8gZGVza3RvcCB2aWV3LlxuLy8vIEB0eXBlIEJyZWFrcG9pbnRcbiR0b3BiYXItdW5zdGFjay1icmVha3BvaW50OiBtZWRpdW0gIWRlZmF1bHQ7XG5cbi8vLyBBZGRzIHN0eWxlcyBmb3IgYSB0b3AgYmFyIGNvbnRhaW5lci5cbkBtaXhpbiB0b3AtYmFyLWNvbnRhaW5lciB7XG4gIEBpZiAkZ2xvYmFsLWZsZXhib3gge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC13cmFwOiBub3dyYXA7XG4gICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIH1cbiAgQGVsc2Uge1xuICAgIEBpbmNsdWRlIGNsZWFyZml4O1xuICB9XG5cbiAgcGFkZGluZzogJHRvcGJhci1wYWRkaW5nO1xuXG4gICYsXG4gIHVsIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkdG9wYmFyLWJhY2tncm91bmQ7XG4gIH1cblxuICAvLyBDaGVjayBpZiAkdG9wYmFyLWJhY2tncm91bmQgaXMgZGlmZmVybnQgZnJvbSAkdG9wYmFyLWJhY2tncm91bmQtc3VibWVudVxuICBAaWYgKCR0b3BiYXItYmFja2dyb3VuZCAhPSAkdG9wYmFyLXN1Ym1lbnUtYmFja2dyb3VuZCkge1xuICAgIHVsIHVsIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICR0b3BiYXItc3VibWVudS1iYWNrZ3JvdW5kO1xuICAgIH1cbiAgfVxuXG4gIC8vIFJlc3RyYWluIHdpZHRoIG9mIGlucHV0cyBieSBkZWZhdWx0IHRvIG1ha2UgdGhlbSBlYXNpZXIgdG8gYXJyYW5nZVxuICBpbnB1dCB7XG4gICAgbWF4LXdpZHRoOiAkdG9wYmFyLWlucHV0LXdpZHRoO1xuICAgIG1hcmdpbi0jeyRnbG9iYWwtcmlnaHR9OiAxcmVtO1xuICB9XG5cbiAgLy8gVGhlIGFib3ZlIHN0eWxlcyBzaG91bGRuJ3QgYXBwbHkgdG8gaW5wdXQgZ3JvdXAgZmllbGRzXG4gIC5pbnB1dC1ncm91cC1maWVsZCB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgbWFyZ2luLSN7JGdsb2JhbC1yaWdodH06IDA7XG4gIH1cblxuICBpbnB1dC5idXR0b24geyAvLyBzYXNzLWxpbnQ6ZGlzYWJsZS1saW5lIG5vLXF1YWxpZnlpbmctZWxlbWVudHNcbiAgICB3aWR0aDogYXV0bztcbiAgfVxufVxuXG4vLy8gTWFrZXMgc2VjdGlvbnMgb2YgYSB0b3AgYmFyIHN0YWNrIG9uIHRvcCBvZiBlYWNoIG90aGVyLlxuQG1peGluIHRvcC1iYXItc3RhY2tlZCB7XG4gIEBpZiAkZ2xvYmFsLWZsZXhib3gge1xuICAgIGZsZXgtd3JhcDogd3JhcDtcblxuICAgIC8vIFN1Yi1zZWN0aW9uc1xuICAgIC50b3AtYmFyLWxlZnQsXG4gICAgLnRvcC1iYXItcmlnaHQge1xuICAgICAgZmxleDogMCAwIDEwMCU7XG4gICAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgfVxuICB9XG4gIEBlbHNlIHtcbiAgICAvLyBTdWItc2VjdGlvbnNcbiAgICAudG9wLWJhci1sZWZ0LFxuICAgIC50b3AtYmFyLXJpZ2h0IHtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgIH1cbiAgfVxufVxuXG4vLy8gVW5kb2VzIHRoZSBDU1MgYXBwbGllZCBieSB0aGUgYHRvcC1iYXItc3RhY2tlZCgpYCBtaXhpbi5cbkBtaXhpbiB0b3AtYmFyLXVuc3RhY2sge1xuICBAaWYgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICBmbGV4LXdyYXA6IG5vd3JhcDtcblxuICAgIC50b3AtYmFyLWxlZnQge1xuICAgICAgZmxleDogMSAxIGF1dG87XG4gICAgICBtYXJnaW4tcmlnaHQ6IGF1dG87XG4gICAgfVxuXG4gICAgLnRvcC1iYXItcmlnaHQge1xuICAgICAgZmxleDogMCAxIGF1dG87XG4gICAgICBtYXJnaW4tbGVmdDogYXV0bztcbiAgICB9XG4gIH1cbiAgQGVsc2Uge1xuICAgIC50b3AtYmFyLWxlZnQsXG4gICAgLnRvcC1iYXItcmlnaHQge1xuICAgICAgd2lkdGg6IGF1dG87XG4gICAgfVxuICB9XG59XG5cbkBtaXhpbiBmb3VuZGF0aW9uLXRvcC1iYXIge1xuICAvLyBUb3AgYmFyIGNvbnRhaW5lclxuICAudG9wLWJhciB7XG4gICAgQGluY2x1ZGUgdG9wLWJhci1jb250YWluZXI7XG5cbiAgICAvLyBTdGFjayBvbiBzbWFsbCBzY3JlZW5zIGJ5IGRlZmF1bHRcbiAgICBAaW5jbHVkZSB0b3AtYmFyLXN0YWNrZWQ7XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KCR0b3BiYXItdW5zdGFjay1icmVha3BvaW50KSB7XG4gICAgICBAaW5jbHVkZSB0b3AtYmFyLXVuc3RhY2s7XG4gICAgfVxuXG4gICAgLy8gR2VuZXJhdGUgY2xhc3NlcyBmb3Igc3RhY2tpbmcgb24gZWFjaCBzY3JlZW4gc2l6ZSAoZGVmaW5lZCBpbiAkYnJlYWtwb2ludC1jbGFzc2VzKVxuICAgIEBlYWNoICRzaXplIGluICRicmVha3BvaW50LWNsYXNzZXMge1xuICAgICAgQGlmICRzaXplICE9ICQtemYtemVyby1icmVha3BvaW50IHtcbiAgICAgICAgJi5zdGFja2VkLWZvci0jeyRzaXplfSB7XG4gICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkc2l6ZSBkb3duKSB7XG4gICAgICAgICAgICBAaW5jbHVkZSB0b3AtYmFyLXN0YWNrZWQ7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLy8gU3ViLXNlY3Rpb25zXG4gIEBpZiAkZ2xvYmFsLWZsZXhib3gge1xuICAgIC50b3AtYmFyLXRpdGxlIHtcbiAgICAgIGZsZXg6IDAgMCBhdXRvO1xuICAgICAgbWFyZ2luOiAkdG9wYmFyLXRpdGxlLXNwYWNpbmc7XG4gICAgfVxuXG4gICAgLnRvcC1iYXItbGVmdCxcbiAgICAudG9wLWJhci1yaWdodCB7XG4gICAgICBmbGV4OiAwIDAgYXV0bztcbiAgICB9XG4gIH1cbiAgQGVsc2Uge1xuICAgIC50b3AtYmFyLXRpdGxlIHtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgIGZsb2F0OiBsZWZ0O1xuICAgICAgcGFkZGluZzogJHRvcGJhci10aXRsZS1zcGFjaW5nO1xuXG4gICAgICAubWVudS1pY29uIHtcbiAgICAgICAgYm90dG9tOiAycHg7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLnRvcC1iYXItbGVmdCB7XG4gICAgICBmbG9hdDogbGVmdDtcbiAgICB9XG5cbiAgICAudG9wLWJhci1yaWdodCB7XG4gICAgICBmbG9hdDogcmlnaHQ7XG4gICAgfVxuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCB0aHVtYm5haWxcbi8vLy9cblxuLy8vIEJvcmRlciBhcm91bmQgdGh1bWJuYWlsIGltYWdlcy5cbi8vLyBAdHlwZSBCb3JkZXJcbiR0aHVtYm5haWwtYm9yZGVyOiBzb2xpZCA0cHggJHdoaXRlICFkZWZhdWx0O1xuXG4vLy8gQm90dG9tIG1hcmdpbiBmb3IgdGh1bWJuYWlsIGltYWdlcy5cbi8vLyBAdHlwZSBMZW5ndGhcbiR0aHVtYm5haWwtbWFyZ2luLWJvdHRvbTogJGdsb2JhbC1tYXJnaW4gIWRlZmF1bHQ7XG5cbi8vLyBCb3ggc2hhZG93IHVuZGVyIHRodW1ibmFpbCBpbWFnZXMuXG4vLy8gQHR5cGUgU2hhZG93XG4kdGh1bWJuYWlsLXNoYWRvdzogMCAwIDAgMXB4IHJnYmEoJGJsYWNrLCAwLjIpICFkZWZhdWx0O1xuXG4vLy8gQm94IHNoYWRvdyB1bmRlciB0aHVtYm5haWwgaW1hZ2VzLlxuLy8vIEB0eXBlIFNoYWRvd1xuJHRodW1ibmFpbC1zaGFkb3ctaG92ZXI6IDAgMCA2cHggMXB4IHJnYmEoJHByaW1hcnktY29sb3IsIDAuNSkgIWRlZmF1bHQ7XG5cbi8vLyBUcmFuc2l0aW9uIHByb3BydGllcyBmb3IgdGh1bWJuYWlsIGltYWdlcy5cbi8vLyBAdHlwZSBUcmFuc2l0aW9uXG4kdGh1bWJuYWlsLXRyYW5zaXRpb246IGJveC1zaGFkb3cgMjAwbXMgZWFzZS1vdXQgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHJhZGl1cyBmb3IgdGh1bWJuYWlsIGltYWdlcy5cbi8vLyBAdHlwZSBOdW1iZXJcbiR0aHVtYm5haWwtcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cyAhZGVmYXVsdDtcblxuLy8vIEFkZHMgdGh1bWJuYWlsIHN0eWxlcyB0byBhbiBlbGVtZW50LlxuQG1peGluIHRodW1ibmFpbCB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgbWF4LXdpZHRoOiAxMDAlO1xuICBtYXJnaW4tYm90dG9tOiAkdGh1bWJuYWlsLW1hcmdpbi1ib3R0b207XG5cbiAgYm9yZGVyOiAkdGh1bWJuYWlsLWJvcmRlcjtcbiAgYm9yZGVyLXJhZGl1czogJHRodW1ibmFpbC1yYWRpdXM7XG4gIGJveC1zaGFkb3c6ICR0aHVtYm5haWwtc2hhZG93O1xuXG4gIGxpbmUtaGVpZ2h0OiAwO1xufVxuXG5AbWl4aW4gdGh1bWJuYWlsLWxpbmsge1xuICB0cmFuc2l0aW9uOiAkdGh1bWJuYWlsLXRyYW5zaXRpb247XG5cbiAgJjpob3ZlcixcbiAgJjpmb2N1cyB7XG4gICAgYm94LXNoYWRvdzogJHRodW1ibmFpbC1zaGFkb3ctaG92ZXI7XG4gIH1cblxuICBpbWFnZSB7XG4gICAgYm94LXNoYWRvdzogbm9uZTtcbiAgfVxufVxuXG5AbWl4aW4gZm91bmRhdGlvbi10aHVtYm5haWwge1xuICAudGh1bWJuYWlsIHtcbiAgICBAaW5jbHVkZSB0aHVtYm5haWw7XG4gIH1cblxuICBhLnRodW1ibmFpbCB7XG4gICAgQGluY2x1ZGUgdGh1bWJuYWlsLWxpbms7XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIHRvb2x0aXBcbi8vLy9cblxuLy8vIERlZmF1bHQgY3Vyc29yIG9mIHRoZSBkZWZpbmVkIHRlcm0uXG4vLy8gQHR5cGUgS2V5d29yZFxuJGhhcy10aXAtY3Vyc29yOiBoZWxwICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBmb250IHdlaWdodCBvZiB0aGUgZGVmaW5lZCB0ZXJtLlxuLy8vIEB0eXBlIEtleXdvcmQgfCBOdW1iZXJcbiRoYXMtdGlwLWZvbnQtd2VpZ2h0OiAkZ2xvYmFsLXdlaWdodC1ib2xkICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBib3JkZXIgYm90dG9tIG9mIHRoZSBkZWZpbmVkIHRlcm0uXG4vLy8gQHR5cGUgTGlzdFxuJGhhcy10aXAtYm9yZGVyLWJvdHRvbTogZG90dGVkIDFweCAkZGFyay1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBjb2xvciBvZiB0aGUgdG9vbHRpcCBiYWNrZ3JvdW5kLlxuLy8vIEB0eXBlIENvbG9yXG4kdG9vbHRpcC1iYWNrZ3JvdW5kLWNvbG9yOiAkYmxhY2sgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGNvbG9yIG9mIHRoZSB0b29sdGlwIGZvbnQuXG4vLy8gQHR5cGUgQ29sb3JcbiR0b29sdGlwLWNvbG9yOiAkd2hpdGUgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHBhZGRpbmcgb2YgdGhlIHRvb2x0aXAgYmFja2dyb3VuZC5cbi8vLyBAdHlwZSBOdW1iZXJcbiR0b29sdGlwLXBhZGRpbmc6IDAuNzVyZW0gIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IG1heCB3aWR0aCBmb3IgdG9vbHRpcHMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kdG9vbHRpcC1tYXgtd2lkdGg6IDEwcmVtICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBmb250IHNpemUgb2YgdGhlIHRvb2x0aXAgdGV4dC4gQnkgZGVmYXVsdCwgd2UgcmVjb21tZW5kIGEgc21hbGxlciBmb250IHNpemUgdGhhbiB0aGUgYm9keSBjb3B5LlxuLy8vIEB0eXBlIE51bWJlclxuJHRvb2x0aXAtZm9udC1zaXplOiAkc21hbGwtZm9udC1zaXplICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBwaXAgd2lkdGggZm9yIHRvb2x0aXBzLlxuLy8vIEB0eXBlIE51bWJlclxuJHRvb2x0aXAtcGlwLXdpZHRoOiAwLjc1cmVtICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBwaXAgaGVpZ2h0IGZvciB0b29sdGlwcy4gVGhpcyBpcyBoZWxwZnVsIGZvciBjYWxjdWxhdGluZyB0aGUgZGlzdGFuY2Ugb2YgdGhlIHRvb2x0aXAgZnJvbSB0aGUgdG9vbHRpcCB3b3JkLlxuLy8vIEB0eXBlIE51bWJlclxuJHRvb2x0aXAtcGlwLWhlaWdodDogJHRvb2x0aXAtcGlwLXdpZHRoICogMC44NjYgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHJhZGl1cyBmb3IgdG9vbHRpcHMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kdG9vbHRpcC1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzICFkZWZhdWx0O1xuXG5AbWl4aW4gaGFzLXRpcCB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuXG4gIGJvcmRlci1ib3R0b206ICRoYXMtdGlwLWJvcmRlci1ib3R0b207XG4gIGZvbnQtd2VpZ2h0OiAkaGFzLXRpcC1mb250LXdlaWdodDtcbiAgY3Vyc29yOiAkaGFzLXRpcC1jdXJzb3I7XG59XG5cbkBtaXhpbiB0b29sdGlwIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IGNhbGMoMTAwJSArICN7JHRvb2x0aXAtcGlwLWhlaWdodH0pO1xuICB6LWluZGV4OiAxMjAwO1xuXG4gIG1heC13aWR0aDogJHRvb2x0aXAtbWF4LXdpZHRoO1xuICBwYWRkaW5nOiAkdG9vbHRpcC1wYWRkaW5nO1xuXG4gIGJvcmRlci1yYWRpdXM6ICR0b29sdGlwLXJhZGl1cztcbiAgYmFja2dyb3VuZC1jb2xvcjogJHRvb2x0aXAtYmFja2dyb3VuZC1jb2xvcjtcbiAgZm9udC1zaXplOiAkdG9vbHRpcC1mb250LXNpemU7XG4gIGNvbG9yOiAkdG9vbHRpcC1jb2xvcjtcblxuICAmOjpiZWZvcmUge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgfVxuXG4gICYuYm90dG9tIHtcbiAgICAmOjpiZWZvcmUge1xuICAgICAgQGluY2x1ZGUgY3NzLXRyaWFuZ2xlKCR0b29sdGlwLXBpcC13aWR0aCwgJHRvb2x0aXAtYmFja2dyb3VuZC1jb2xvciwgdXApO1xuICAgICAgYm90dG9tOiAxMDAlO1xuICAgIH1cblxuICAgICYuYWxpZ24tY2VudGVyOjpiZWZvcmUge1xuICAgICAgbGVmdDogNTAlO1xuICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpO1xuICAgIH1cbiAgfVxuXG4gICYudG9wIHtcbiAgICAmOjpiZWZvcmUge1xuICAgICAgQGluY2x1ZGUgY3NzLXRyaWFuZ2xlKCR0b29sdGlwLXBpcC13aWR0aCwgJHRvb2x0aXAtYmFja2dyb3VuZC1jb2xvciwgZG93bik7XG4gICAgICB0b3A6IDEwMCU7XG4gICAgICBib3R0b206IGF1dG87XG4gICAgfVxuXG4gICAgJi5hbGlnbi1jZW50ZXI6OmJlZm9yZSB7XG4gICAgICBsZWZ0OiA1MCU7XG4gICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSk7XG4gICAgfVxuICB9XG5cbiAgJi5sZWZ0IHtcbiAgICAmOjpiZWZvcmUge1xuICAgICAgQGluY2x1ZGUgY3NzLXRyaWFuZ2xlKCR0b29sdGlwLXBpcC13aWR0aCwgJHRvb2x0aXAtYmFja2dyb3VuZC1jb2xvciwgcmlnaHQpO1xuICAgICAgbGVmdDogMTAwJTtcbiAgICB9XG5cbiAgICAmLmFsaWduLWNlbnRlcjo6YmVmb3JlIHtcbiAgICAgIGJvdHRvbTogYXV0bztcbiAgICAgIHRvcDogNTAlO1xuICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpO1xuICAgIH1cbiAgfVxuXG4gICYucmlnaHQge1xuICAgICY6OmJlZm9yZSB7XG4gICAgICBAaW5jbHVkZSBjc3MtdHJpYW5nbGUoJHRvb2x0aXAtcGlwLXdpZHRoLCAkdG9vbHRpcC1iYWNrZ3JvdW5kLWNvbG9yLCBsZWZ0KTtcbiAgICAgIHJpZ2h0OiAxMDAlO1xuICAgICAgbGVmdDogYXV0bztcbiAgICB9XG5cbiAgICAmLmFsaWduLWNlbnRlcjo6YmVmb3JlIHtcbiAgICAgIGJvdHRvbTogYXV0bztcbiAgICAgIHRvcDogNTAlO1xuICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpO1xuICAgIH1cbiAgfVxuXG4gICYuYWxpZ24tdG9wOjpiZWZvcmUge1xuICAgIGJvdHRvbTogYXV0bztcbiAgICB0b3A6IDEwJTtcbiAgfVxuXG4gICYuYWxpZ24tYm90dG9tOjpiZWZvcmUge1xuICAgIGJvdHRvbTogMTAlO1xuICAgIHRvcDogYXV0bztcbiAgfVxuXG4gICYuYWxpZ24tbGVmdDo6YmVmb3JlIHtcbiAgICBsZWZ0OiAxMCU7XG4gICAgcmlnaHQ6IGF1dG87XG4gIH1cblxuICAmLmFsaWduLXJpZ2h0OjpiZWZvcmUge1xuICAgIGxlZnQ6IGF1dG87XG4gICAgcmlnaHQ6IDEwJTtcbiAgfVxufVxuXG5AbWl4aW4gZm91bmRhdGlvbi10b29sdGlwIHtcbiAgLmhhcy10aXAge1xuICAgIEBpbmNsdWRlIGhhcy10aXA7XG4gIH1cblxuICAudG9vbHRpcCB7XG4gICAgQGluY2x1ZGUgdG9vbHRpcDtcbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgcHJvdG90eXBlXG4vLy8vXG5cbi8vIFJlbGF0aW9uYWwgTWl4aW5zXG5AaW1wb3J0ICdyZWxhdGlvbic7XG5cbi8vIEJveCBNaXhpblxuQGltcG9ydCAnYm94JztcblxuLy8gUm90YXRlIE1peGluXG5AaW1wb3J0ICdyb3RhdGUnO1xuXG4vLyBUZXh0IHV0aWxpdGllc1xuQGltcG9ydCAndGV4dC11dGlsaXRpZXMnO1xuXG4vLyBUZXh0IHRyYW5zZm9ybWF0aW9uIGNsYXNzZXNcbkBpbXBvcnQgJ3RleHQtdHJhbnNmb3JtYXRpb24nO1xuXG4vLyBUZXh0IERlY29yYXRpb24gY2xhc3Nlc1xuQGltcG9ydCAndGV4dC1kZWNvcmF0aW9uJztcblxuLy8gRm9udCBTdHlsaW5nXG5AaW1wb3J0ICdmb250LXN0eWxpbmcnO1xuXG4vLyBMaXN0IFN0eWxlIHR5cGVcbkBpbXBvcnQgJ2xpc3Qtc3R5bGUtdHlwZSc7XG5cbi8vIFJvdW5kZWQgVXRpbGl0eVxuQGltcG9ydCAncm91bmRlZCc7XG5cbi8vIEJvcmRlcmVkIFV0aWxpdHlcbkBpbXBvcnQgJ2JvcmRlcmVkJztcblxuLy8gU2hhZG93IFV0aWxpdHlcbkBpbXBvcnQgJ3NoYWRvdyc7XG5cbi8vIEFycm93IFV0aWxpdHlcbkBpbXBvcnQgJ2Fycm93JztcblxuLy8gU2VwYXJhdG9yIFV0aWxpdHlcbkBpbXBvcnQgJ3NlcGFyYXRvcic7XG5cbi8vIE92ZXJmbG93IGhlbHBlciBjbGFzc2VzXG5AaW1wb3J0ICdvdmVyZmxvdyc7XG5cbi8vIERpc3BsYXkgY2xhc3Nlc1xuQGltcG9ydCAnZGlzcGxheSc7XG5cbi8vIFBvc2l0aW9uIEhlbHBlcnNcbkBpbXBvcnQgJ3Bvc2l0aW9uJztcblxuLy8gQm9yZGVyIGJveFxuQGltcG9ydCAnYm9yZGVyLWJveCc7XG5cbi8vIEJvcmRlciBub25lIFV0aWx0eVxuQGltcG9ydCAnYm9yZGVyLW5vbmUnO1xuXG4vLyBTaXppbmcgVXRpbGl0aWVzXG5AaW1wb3J0ICdzaXppbmcnO1xuXG4vLyBTcGFjaW5nIFV0aWxpdGllc1xuQGltcG9ydCAnc3BhY2luZyc7XG5cbkBtaXhpbiBmb3VuZGF0aW9uLXByb3RvdHlwZS1jbGFzc2VzIHtcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1wcm90b3R5cGUtdGV4dC11dGlsaXRpZXM7XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tcHJvdG90eXBlLXRleHQtdHJhbnNmb3JtYXRpb247XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tcHJvdG90eXBlLXRleHQtZGVjb3JhdGlvbjtcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1wcm90b3R5cGUtZm9udC1zdHlsaW5nO1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLXByb3RvdHlwZS1saXN0LXN0eWxlLXR5cGU7XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tcHJvdG90eXBlLXJvdW5kZWQ7XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tcHJvdG90eXBlLWJvcmRlcmVkO1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLXByb3RvdHlwZS1zaGFkb3c7XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tcHJvdG90eXBlLWFycm93O1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLXByb3RvdHlwZS1zZXBhcmF0b3I7XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tcHJvdG90eXBlLW92ZXJmbG93O1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLXByb3RvdHlwZS1kaXNwbGF5O1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLXByb3RvdHlwZS1wb3NpdGlvbjtcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1wcm90b3R5cGUtYm9yZGVyLWJveDtcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1wcm90b3R5cGUtYm9yZGVyLW5vbmU7XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tcHJvdG90eXBlLXNpemluZztcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1wcm90b3R5cGUtc3BhY2luZztcbn1cbiIsIi8vLyBTZWxlY3QgYWxsIGNoaWxkcmVuIGZyb20gdGhlIGZpcnN0IHRvIGAkbnVtYC5cbi8vLyBAcGFyYW0ge051bWJlcn0gJG51bVtdIEZpcnN0IGBuYCBudW1iZXJzIG9mIHRvdGFsIGNoaWxkcmVuIFxuQG1peGluIGZpcnN0KCRudW0pIHtcbiAgQGlmICRudW0gPT0gMSB7XG4gICAgJjpmaXJzdC1jaGlsZCB7XG4gICAgICBAY29udGVudDtcbiAgICB9XG4gIH0gQGVsc2Uge1xuICAgICY6bnRoLWNoaWxkKC1uICsgI3skbnVtfSkge1xuICAgICAgQGNvbnRlbnQ7XG4gICAgfVxuICB9XG59XG5cbi8vLyBTZWxlY3QgdGhlIGZpcnN0IGV4YWN0IGNoaWxkXG5AbWl4aW4gZmlyc3QtY2hpbGQge1xuICAmOmZpcnN0LW9mLXR5cGUge1xuICAgIEBjb250ZW50O1xuICB9XG59XG5cbi8vLyBTZWxlY3QgYWxsIGNoaWxkcmVuIGZyb20gdGhlIGxhc3QgdG8gYCRudW1gLlxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkbnVtW10gTGFzdCBgbmAgbnVtYmVycyBvZiB0b3RhbCBjaGlsZHJlbiBcbkBtaXhpbiBsYXN0KCRudW0pIHtcbiAgJjpudGgtbGFzdC1jaGlsZCgtbiArICN7JG51bX0pIHtcbiAgICBAY29udGVudDtcbiAgfVxufVxuXG4vLy8gU2VsZWN0IHRoZSBsYXN0IGV4YWN0IGNoaWxkXG5AbWl4aW4gbGFzdC1jaGlsZCB7XG4gICY6bGFzdC1vZi10eXBlIHtcbiAgICBAY29udGVudDtcbiAgfVxufVxuXG4vLy8gU2VsZWN0IGNoaWxkcmVuIGV2ZXJ5IGAkbnVtYC5cbi8vLyBAcGFyYW0ge051bWJlcn0gJG51bVtdIEV2ZXJ5IGBuYCBudW1iZXIgb2YgYWxsIGNoaWxkcmVuXG5AbWl4aW4gZXZlcnkoJG51bSkge1xuICAmOm50aC1jaGlsZCgjeyRudW19bikge1xuICAgIEBjb250ZW50O1xuICB9XG59XG5cbi8vLyBTZWxlY3Qgb25seSB0aGUgZmlyc3QgYW5kIGxhc3QgY2hpbGQuXG5AbWl4aW4gZmlyc3QtbGFzdCB7XG4gICY6Zmlyc3QtY2hpbGQsXG4gICY6bGFzdC1jaGlsZCB7XG4gICAgQGNvbnRlbnQ7XG4gIH1cbn1cblxuLy8vIFNlbGVjdCBhbGwgY2hpbGRyZW4gYWZ0ZXIgdGhlIGZpcnN0IHRvIGAkbnVtYC5cbi8vLyBAcGFyYW0ge051bWJlcn0gJG51bVtdIEFmdGVyIEZpcnN0IGBuYCBudW1iZXJzIG9mIHRvdGFsIGNoaWxkcmVuIFxuQG1peGluIGFmdGVyLWZpcnN0KCRudW0pIHtcbiAgJjpudGgtY2hpbGQobiArICN7JG51bSArIDF9KSB7XG4gICAgQGNvbnRlbnQ7XG4gIH1cbn1cblxuLy8vIFNlbGVjdCBhbGwgY2hpbGRyZW4gYmVmb3JlIGAkbnVtYCBmcm9tIHRoZSBsYXN0LlxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkbnVtW10gRnJvbSBMYXN0IGBuYCBudW1iZXJzIG9mIHRvdGFsIGNoaWxkcmVuIFxuQG1peGluIGZyb20tbGFzdCgkbnVtKSB7XG4gICY6bnRoLWxhc3QtY2hpbGQoI3skbnVtfSkge1xuICAgIEBjb250ZW50O1xuICB9XG59XG5cbi8vLyBTZWxlY3QgdGhlIGAkbnVtYCBjaGlsZCBmcm9tIHRoZSBmaXJzdCBhbmQgdGhlIGAkbnVtYCBjaGlsZCBmcm9tIHRoZSBsYXN0LlxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkbnVtW10gYG5gIG51bWJlciBjYWxsZWQgZnJvbSBmaXJzdCBhbmQgbGFzdCBcbkBtaXhpbiBmcm9tLWZpcnN0LWxhc3QoJG51bSkge1xuICAmOm50aC1jaGlsZCgjeyRudW19KSxcbiAgJjpudGgtbGFzdC1jaGlsZCgjeyRudW19KSB7XG4gICAgQGNvbnRlbnQ7XG4gIH1cbn1cblxuLy8vIFNlbGVjdCBhbGwgY2hpbGRyZW4gYnV0IGAkbnVtYC5cbi8vLyBAcGFyYW0ge051bWJlcn0gJG51bVtdIGBuYCBudW1iZXIgdGhhdCBzaG91bGQgYmUgZXhjbHVkZWQgZnJvbSBhbGwgb3RoZXIgY2hpbGRyZW4gXG5AbWl4aW4gYWxsLWJ1dCgkbnVtKSB7XG4gICY6bm90KDpudGgtY2hpbGQoI3skbnVtfSkpIHtcbiAgICBAY29udGVudDtcbiAgfVxufVxuXG4vLy8gU2VsZWN0IGFsbCBjaGlsZHJlbiBiZXR3ZWVuIHRoZSBgJG51bWAgZmlyc3QgYW5kIHRoZSBgJG51bWAgbGFzdC5cbi8vLyBAcGFyYW0ge051bWJlcn0gJG51bVtdIGBuYCBudW1iZXIgZXhjbHVkZWQgZnJvbSBmaXJzdCBhbmQgbGFzdCBmcm9tIGFsbCBvdGhlciBjaGlsZHJlblxuQG1peGluIGFsbC1idXQtZmlyc3QtbGFzdCgkbnVtKSB7XG4gICY6bnRoLWNoaWxkKG4gKyAjeyRudW19KTpudGgtbGFzdC1jaGlsZChuICsgI3skbnVtfSkge1xuICAgIEBjb250ZW50O1xuICB9XG59XG5cbi8vLyBXaWxsIG9ubHkgc2VsZWN0IHRoZSBjaGlsZCBpZiBpdOKAmXMgdW5pcXVlLiBUaGF0IG1lYW5zIHRoYXQgaWYgdGhlcmUgYXJlIGF0IGxlYXN0IDIgY2hpbGRyZW4sIHRoZSBzdHlsZSB3aWxsIG5vdCBiZSBhcHBsaWVkLlxuQG1peGluIHVuaXF1ZSB7XG4gICY6b25seS1jaGlsZCB7XG4gICAgQGNvbnRlbnQ7XG4gIH1cbn1cblxuLy8vIFdpbGwgb25seSBzZWxlY3QgY2hpbGRyZW4gaWYgdGhleSBhcmUgbm90IHVuaXF1ZS4gVGhhdCBtZWFucyB0aGF0IGlmIHRoZXJlIGFyZSBhdCBsZWFzdCAyIGNoaWxkcmVuLCB0aGUgc3R5bGUgd2lsbCBiZSBhcHBsaWVkLlxuQG1peGluIG5vdC11bmlxdWUoKSB7XG4gICY6bm90KDpvbmx5LWNoaWxkKSB7XG4gICAgQGNvbnRlbnQ7XG4gIH1cbn1cblxuLy8vIFNlbGVjdCBhbGwgY2hpbGRyZW4gYmV0d2VlbiBgJGZpcnN0YCBhbmQgYCRsYXN0YC5cbi8vLyBAcGFyYW0ge051bWJlcn0gJGZpcnN0W10gRmlyc3QgYG50aGAgbnVtYmVyXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRsYXN0W10gTGFzdCBgbnRoYCBudW1iZXJcbkBtaXhpbiBiZXR3ZWVuKCRmaXJzdCwgJGxhc3QpIHtcbiAgJjpudGgtY2hpbGQobiArICN7JGZpcnN0fSk6bnRoLWNoaWxkKC1uICsgI3skbGFzdH0pIHtcbiAgICBAY29udGVudDtcbiAgfVxufVxuXG4vLy8gU2VsZWN0IGFsbCBldmVuIGNoaWxkcmVuLlxuQG1peGluIGV2ZW4ge1xuICAmOm50aC1jaGlsZChldmVuKSB7XG4gICAgQGNvbnRlbnQ7XG4gIH1cbn1cblxuLy8vIFNlbGVjdCBhbGwgZXZlbiBjaGlsZHJlbiBiZXR3ZWVuIGAkZmlyc3RgIGFuZCBgJGxhc3RgLlxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkZmlyc3RbXSBGaXJzdCBgbnRoYCBudW1iZXJcbi8vLyBAcGFyYW0ge051bWJlcn0gJGxhc3RbXSBMYXN0IGBudGhgIG51bWJlclxuQG1peGluIGV2ZW4tYmV0d2VlbigkZmlyc3QsICRsYXN0KSB7XG4gICY6bnRoLWNoaWxkKGV2ZW4pOm50aC1jaGlsZChuICsgI3skZmlyc3R9KTpudGgtY2hpbGQoLW4gKyAjeyRsYXN0fSkge1xuICAgIEBjb250ZW50O1xuICB9XG59XG5cbi8vLyBTZWxlY3QgYWxsIG9kZCBjaGlsZHJlbi5cbkBtaXhpbiBvZGQge1xuICAmOm50aC1jaGlsZChvZGQpIHtcbiAgICBAY29udGVudDtcbiAgfVxufVxuXG4vLy8gU2VsZWN0IGFsbCBvZGQgY2hpbGRyZW4gYmV0d2VlbiBgJGZpcnN0YCBhbmQgYCRsYXN0YC5cbi8vLyBAcGFyYW0ge051bWJlcn0gJGZpcnN0W10gRmlyc3QgYG50aGAgbnVtYmVyXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRsYXN0W10gTGFzdCBgbnRoYCBudW1iZXJcbkBtaXhpbiBvZGQtYmV0d2VlbigkZmlyc3QsICRsYXN0KSB7XG4gICY6bnRoLWNoaWxkKG9kZCk6bnRoLWNoaWxkKG4gKyAjeyRmaXJzdH0pOm50aC1jaGlsZCgtbiArICN7JGxhc3R9KSB7XG4gICAgQGNvbnRlbnQ7XG4gIH1cbn1cblxuLy8vIFNlbGVjdCBhbGwgYCRudW1gIGNoaWxkcmVuIGJldHdlZW4gYCRmaXJzdGAgYW5kIGAkbGFzdGAuXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRudW1bXSBFdmVyeSBgbmAgbnVtYmVyIGJldHdlZW4gYCRmaXJzdGAgYW5kIGAkbGFzdGAuXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRmaXJzdFtdIEZpcnN0IGBuYCBudW1iZXJcbi8vLyBAcGFyYW0ge051bWJlcn0gJGxhc3RbXSBMYXN0IGBuYCBudW1iZXJcbkBtaXhpbiBudW1iZXItYmV0d2VlbigkbnVtLCAkZmlyc3QsICRsYXN0KSB7XG4gICY6bnRoLWNoaWxkKCN7JG51bX1uKTpudGgtY2hpbGQobiArICN7JGZpcnN0fSk6bnRoLWNoaWxkKC1uICsgI3skbGFzdH0pIHtcbiAgICBAY29udGVudDtcbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgcHJvdG90eXBlLWJveFxuLy8vL1xuXG4vLy8gQm94IE1peGluOiBFYXNpbHkgY3JlYXRlIGEgc3F1YXJlLCByZWN0YW5nbGUgb3IgYSBjaXJjbGVcbi8vLyBAcGFyYW0ge051bWJlcn0gJHdpZHRoW10gV2lkdGggb2YgdGhlIGJveFxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkaGVpZ2h0WyR3aWR0aF0gSGVpZ2h0IG9mIHRoZSBib3gsIGRlZmF1bHRzIHRvIGAkd2lkdGhgIHRvIGVhc2lseSBtYWtlIGEgc3F1YXJlXG4vLy8gQHBhcmFtIHtCb29sZWFufSAkY2lyY2xlW2ZhbHNlXSBNYWtlcyB0aGUgYm94IGEgY2lyY2xlLCBieSBkZWZhdWx0IGBmYWxzZWAuXG5AbWl4aW4gYm94KFxuICAkd2lkdGgsIFxuICAkaGVpZ2h0OiAkd2lkdGgsIFxuICAkY2lyY2xlOiBmYWxzZVxuKSB7XG4gIHdpZHRoOiAkd2lkdGg7XG4gIGhlaWdodDogJGhlaWdodDtcbiAgQGlmICRjaXJjbGUge1xuICAgIGJvcmRlci1yYWRpdXM6IDUwJSAhaW1wb3J0YW50O1xuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBwcm90b3R5cGUtcm90YXRlXG4vLy8vXG5cbi8vLyBSb3RhdGUgTWl4aW46IFJvdGF0ZSBhbiBlbGVtZW50IHRvIGEgY2VydGFpbiBkZWdcbi8vLyBAcGFyYW0ge051bWJlcn0gJGRlZ1tdIERlZ3JlZSBvZiByb3RhdGlvblxuQG1peGluIHJvdGF0ZSgkZGVnKSB7XG5cdHRyYW5zZm9ybTpyb3RhdGUoJGRlZyArIGRlZyk7XG59XG5cbi8vLyBSb3RhdGVYIE1peGluOiBSb3RhdGUgYW4gZWxlbWVudCB0byBhIGNlcnRhaW4gZGVnIG9uIFgtQXhpc1xuLy8vIEBwYXJhbSB7TnVtYmVyfSAkZGVnW10gRGVncmVlIG9mIHJvdGF0aW9uXG5AbWl4aW4gcm90YXRlWCgkZGVnKSB7XG5cdHRyYW5zZm9ybTpyb3RhdGVYKCRkZWcgKyBkZWcpO1xufVxuXG4vLy8gUm90YXRlWSBNaXhpbjogUm90YXRlIGFuIGVsZW1lbnQgdG8gYSBjZXJ0YWluIGRlZyBvbiBZLUF4aXNcbi8vLyBAcGFyYW0ge051bWJlcn0gJGRlZ1tdIERlZ3JlZSBvZiByb3RhdGlvblxuQG1peGluIHJvdGF0ZVkoJGRlZykge1xuXHR0cmFuc2Zvcm06cm90YXRlWSgkZGVnICsgZGVnKTtcbn1cblxuLy8vIFJvdGF0ZVogTWl4aW46IFJvdGF0ZSBhbiBlbGVtZW50IHRvIGEgY2VydGFpbiBkZWcgb24gWi1BeGlzXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRkZWdbXSBEZWdyZWUgb2Ygcm90YXRpb25cbkBtaXhpbiByb3RhdGVaKCRkZWcpIHtcblx0dHJhbnNmb3JtOnJvdGF0ZVooJGRlZyArIGRlZyk7XG59IiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgcHJvdG90eXBlLXRleHQtdXRpbGl0aWVzXG4vLy8vXG5cbi8vLyBSZXNwb25zaXZlIGJyZWFrcG9pbnRzIGZvciB0ZXh0IHV0aWxpdGllc1xuLy8vIEB0eXBlIEJvb2xlYW5cbiRwcm90b3R5cGUtdXRpbGl0aWVzLWJyZWFrcG9pbnRzOiAkZ2xvYmFsLXByb3RvdHlwZS1icmVha3BvaW50cyAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgVmFsdWUgZm9yIGB0ZXh0LW92ZXJmbG93YCB2YXJpYWJsZVxuLy8vIEB0eXBlIFN0cmluZ1xuJHByb3RvdHlwZS10ZXh0LW92ZXJmbG93OiBlbGxpcHNpcyAhZGVmYXVsdDtcblxuLy8vIEltYWdlIFJlcGxhY2VtZW50IHV0aWxpdHkuIGB0ZXh0LWhpZGVgXG5AbWl4aW4gdGV4dC1oaWRlIHtcbiAgZm9udDogMC8wIGEgIWltcG9ydGFudDtcbiAgY29sb3I6IHRyYW5zcGFyZW50ICFpbXBvcnRhbnQ7XG4gIHRleHQtc2hhZG93OiBub25lICFpbXBvcnRhbnQ7XG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50ICFpbXBvcnRhbnQ7XG4gIGJvcmRlcjogMCAhaW1wb3J0YW50O1xufVxuXG4vLy8gVHJ1bmNhdGluZyB0aGUgdGV4dCwgZWxpcHNpcyBieSBkZWZhdWx0LlxuLy8vIEBwYXJhbSB7U3RyaW5nfSAkb3ZlcmZsb3cgWyRwcm90b3R5cGUtdGV4dC1vdmVyZmxvd10gVGV4dCBUcnVuY2F0ZVxuQG1peGluIHRleHQtdHJ1bmNhdGUoXG4gICRvdmVyZmxvdzogJHByb3RvdHlwZS10ZXh0LW92ZXJmbG93XG4pIHtcbiAgbWF4LXdpZHRoOiAxMDAlICFpbXBvcnRhbnQ7XG4gIG92ZXJmbG93OiBoaWRkZW4gIWltcG9ydGFudDtcbiAgdGV4dC1vdmVyZmxvdzogJG92ZXJmbG93OyBcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcCAhaW1wb3J0YW50O1xufVxuXG4vLy8gTm8gd3JhcHBpbmcgb2YgdGhlIHRleHQuIGB0ZXh0LW5vd3JhcGBcbkBtaXhpbiB0ZXh0LW5vd3JhcCB7XG4gIHdoaXRlLXNwYWNlOiBub3dyYXAgIWltcG9ydGFudDtcbn1cblxuLy8vIFdyYXBwaW5nIG9mIHRoZSB0ZXh0LiBgdGV4dC13cmFwYFxuQG1peGluIHRleHQtd3JhcCB7XG4gIHdvcmQtd3JhcDogYnJlYWstd29yZCAhaW1wb3J0YW50O1xufVxuXG5AbWl4aW4gZm91bmRhdGlvbi1wcm90b3R5cGUtdGV4dC11dGlsaXRpZXMge1xuICAudGV4dC1oaWRlIHtcbiAgICBAaW5jbHVkZSB0ZXh0LWhpZGU7XG4gIH1cblxuICAudGV4dC10cnVuY2F0ZSB7XG4gICAgQGluY2x1ZGUgdGV4dC10cnVuY2F0ZTtcbiAgfVxuXG4gIC50ZXh0LW5vd3JhcCB7XG4gICAgQGluY2x1ZGUgdGV4dC1ub3dyYXA7XG4gIH1cblxuICAudGV4dC13cmFwIHtcbiAgICBAaW5jbHVkZSB0ZXh0LXdyYXA7XG4gIH1cblxuICBAaWYgKCRwcm90b3R5cGUtdXRpbGl0aWVzLWJyZWFrcG9pbnRzKSB7XG4gICAgLy8gTG9vcCB0aHJvdWdoIFJlc3BvbnNpdmUgQnJlYWtwb2ludHNcbiAgICBAZWFjaCAkc2l6ZSBpbiAkYnJlYWtwb2ludC1jbGFzc2VzIHtcbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJHNpemUpIHtcbiAgICAgICAgQGlmICRzaXplICE9ICQtemYtemVyby1icmVha3BvaW50IHtcbiAgICAgICAgICAuI3skc2l6ZX0tdGV4dC1oaWRlIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIHRleHQtaGlkZTtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICAuI3skc2l6ZX0tdGV4dC10cnVuY2F0ZSB7XG4gICAgICAgICAgICBAaW5jbHVkZSB0ZXh0LXRydW5jYXRlO1xuICAgICAgICAgIH1cblxuICAgICAgICAgIC4jeyRzaXplfS10ZXh0LW5vd3JhcCB7XG4gICAgICAgICAgICBAaW5jbHVkZSB0ZXh0LW5vd3JhcDtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICAuI3skc2l6ZX0tdGV4dC13cmFwIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIHRleHQtd3JhcDtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIHByb3RvdHlwZS10ZXh0LXRyYW5zZm9ybWF0aW9uXG4vLy8vXG5cbi8vLyBSZXNwb25zaXZlIGJyZWFrcG9pbnRzIGZvciB0ZXh0IHRyYW5zZm9ybWF0aW9uIGNsYXNzZXNcbi8vLyBAdHlwZSBCb29sZWFuXG4kcHJvdG90eXBlLXRyYW5zZm9ybWF0aW9uLWJyZWFrcG9pbnRzOiAkZ2xvYmFsLXByb3RvdHlwZS1icmVha3BvaW50cyAhZGVmYXVsdDtcblxuLy8vIE1hcCBjb250YWluaW5nIGFsbCB0aGUgYHRleHQtdHJhbnNmb3JtYXRpb25gIGNsYXNzZXNcbi8vLyBAdHlwZSBNYXBcbiRwcm90b3R5cGUtdGV4dC10cmFuc2Zvcm1hdGlvbjogKFxuICBsb3dlcmNhc2UsXG4gIHVwcGVyY2FzZSxcbiAgY2FwaXRhbGl6ZVxuKSAhZGVmYXVsdDtcblxuLy8vIFRleHQgVHJhbnNmb3JtYXRpb24sIGJ5IGRlZmF1bHQgY29taW5nIHRocm91Z2ggYSBtYXAgYCRwcm90b3R5cGUtdGV4dC10cmFuc2Zvcm1hdGlvbmBcbi8vLyBAcGFyYW0ge1N0cmluZ30gJHRyYW5zZm9ybWF0aW9uIFtdIFRleHQgVHJhbnNmb3JtYXRpb25cbkBtaXhpbiB0ZXh0LXRyYW5zZm9ybSgkdHJhbnNmb3JtYXRpb24pIHtcbiAgdGV4dC10cmFuc2Zvcm06ICR0cmFuc2Zvcm1hdGlvbiAhaW1wb3J0YW50O1xufVxuXG5AbWl4aW4gZm91bmRhdGlvbi1wcm90b3R5cGUtdGV4dC10cmFuc2Zvcm1hdGlvbiB7XG4gIEBlYWNoICR0cmFuc2Zvcm1hdGlvbiBpbiAkcHJvdG90eXBlLXRleHQtdHJhbnNmb3JtYXRpb24ge1xuICAgIC50ZXh0LSN7JHRyYW5zZm9ybWF0aW9ufSB7XG4gICAgICBAaW5jbHVkZSB0ZXh0LXRyYW5zZm9ybSgkdHJhbnNmb3JtYXRpb24pO1xuICAgIH1cbiAgfVxuXG4gIEBpZiAoJHByb3RvdHlwZS10cmFuc2Zvcm1hdGlvbi1icmVha3BvaW50cykge1xuICAgIC8vIExvb3AgdGhyb3VnaCBSZXNwb25zaXZlIEJyZWFrcG9pbnRzXG4gIFx0QGVhY2ggJHNpemUgaW4gJGJyZWFrcG9pbnQtY2xhc3NlcyB7XG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KCRzaXplKSB7XG4gICAgICAgIEBlYWNoICR0cmFuc2Zvcm1hdGlvbiBpbiAkcHJvdG90eXBlLXRleHQtdHJhbnNmb3JtYXRpb24ge1xuICAgICAgICAgIEBpZiAkc2l6ZSAhPSAkLXpmLXplcm8tYnJlYWtwb2ludCB7XG4gICAgICAgICAgICAuI3skc2l6ZX0tdGV4dC0jeyR0cmFuc2Zvcm1hdGlvbn0ge1xuICBcdFx0XHQgICAgICBAaW5jbHVkZSB0ZXh0LXRyYW5zZm9ybSgkdHJhbnNmb3JtYXRpb24pO1xuICBcdFx0XHQgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgcHJvdG90eXBlLXRleHQtZGVjb3JhdGlvblxuLy8vL1xuXG4vLy8gUmVzcG9uc2l2ZSBicmVha3BvaW50cyBmb3IgdGV4dCBkZWNvcmF0aW9uIGNsYXNzZXNcbi8vLyBAdHlwZSBCb29sZWFuXG4kcHJvdG90eXBlLWRlY29yYXRpb24tYnJlYWtwb2ludHM6ICRnbG9iYWwtcHJvdG90eXBlLWJyZWFrcG9pbnRzICFkZWZhdWx0O1xuXG4vLy8gTWFwIGNvbnRhaW5pbmcgYWxsIHRoZSBgdGV4dC1kZWNvcmF0aW9uYCBjbGFzc2VzXG4vLy8gQHR5cGUgTWFwXG4kcHJvdG90eXBlLXRleHQtZGVjb3JhdGlvbjogKFxuICBvdmVybGluZSxcbiAgdW5kZXJsaW5lLFxuICBsaW5lLXRocm91Z2gsXG4pICFkZWZhdWx0O1xuXG4vLy8gVGV4dCBEZWNvcmF0aW9uLCBieSBkZWZhdWx0IGNvbWluZyB0aHJvdWdoIGEgbWFwIGAkcHJvdG90eXBlLXRleHQtZGVjb3JhdGlvbmBcbi8vLyBAcGFyYW0ge1N0cmluZ30gJGRlY29yYXRpb24gW10gVGV4dCBEZWNvcmF0aW9uXG5AbWl4aW4gdGV4dC1kZWNvcmF0aW9uKCRkZWNvcmF0aW9uKSB7XG4gIHRleHQtZGVjb3JhdGlvbjogJGRlY29yYXRpb24gIWltcG9ydGFudDtcbn1cblxuQG1peGluIGZvdW5kYXRpb24tcHJvdG90eXBlLXRleHQtZGVjb3JhdGlvbiB7XG4gIEBlYWNoICRkZWNvcmF0aW9uIGluICRwcm90b3R5cGUtdGV4dC1kZWNvcmF0aW9uIHtcbiAgICAudGV4dC0jeyRkZWNvcmF0aW9ufSB7XG4gICAgICBAaW5jbHVkZSB0ZXh0LWRlY29yYXRpb24oJGRlY29yYXRpb24pO1xuICAgIH1cbiAgfVxuXG4gIEBpZiAoJHByb3RvdHlwZS1kZWNvcmF0aW9uLWJyZWFrcG9pbnRzKSB7XG4gICAgLy8gTG9vcCB0aHJvdWdoIFJlc3BvbnNpdmUgQnJlYWtwb2ludHNcbiAgICBAZWFjaCAkc2l6ZSBpbiAkYnJlYWtwb2ludC1jbGFzc2VzIHtcbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJHNpemUpIHtcbiAgICAgICAgQGVhY2ggJGRlY29yYXRpb24gaW4gJHByb3RvdHlwZS10ZXh0LWRlY29yYXRpb24ge1xuICAgICAgICAgIEBpZiAkc2l6ZSAhPSAkLXpmLXplcm8tYnJlYWtwb2ludCB7XG4gICAgICAgICAgICAuI3skc2l6ZX0tdGV4dC0jeyRkZWNvcmF0aW9ufSB7XG4gICAgICAgICAgICAgIEBpbmNsdWRlIHRleHQtZGVjb3JhdGlvbigkZGVjb3JhdGlvbik7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBwcm90b3R5cGUtZm9udC1zdHlsaW5nXG4vLy8vXG5cbi8vLyBSZXNwb25zaXZlIGJyZWFrcG9pbnRzIGZvciBmb250IHN0eWxpbmcgdHlwZXNcbi8vLyBAdHlwZSBCb29sZWFuXG4kcHJvdG90eXBlLWZvbnQtYnJlYWtwb2ludHM6ICRnbG9iYWwtcHJvdG90eXBlLWJyZWFrcG9pbnRzICFkZWZhdWx0O1xuXG4vLy8gTGV0dGVyIHNwYWNpbmcgZm9yIGAuZm9udC13aWRlYFxuLy8vIEB0eXBlIE51bWJlclxuJHByb3RvdHlwZS13aWRlLWxldHRlci1zcGFjaW5nOiByZW0tY2FsYyg0KSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgd2VpZ2h0IGZvciBgLmZvbnQtbm9ybWFsYCwgZGVmYXVsdGVkIHRvIGBnbG9iYWwtd2VpZ2h0LW5vcm1hbGBcbi8vLyBAdHlwZSBOdW1iZXJcbiRwcm90b3R5cGUtZm9udC1ub3JtYWw6ICRnbG9iYWwtd2VpZ2h0LW5vcm1hbCAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgd2VpZ2h0IGZvciBgLmZvbnQtYm9sZGAsIGRlZmF1bHRlZCB0byBgZ2xvYmFsLXdlaWdodC1ib2xkYFxuLy8vIEB0eXBlIE51bWJlclxuJHByb3RvdHlwZS1mb250LWJvbGQ6ICRnbG9iYWwtd2VpZ2h0LWJvbGQgIWRlZmF1bHQ7XG5cbi8vLyBGb250IHdpZGUgbGV0dGVyIHNwYWNpbmchXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRsZXR0ZXItc3BhY2luZyBbJHByb3RvdHlwZS13aWRlLWxldHRlci1zcGFjaW5nXSBXaWRlIGxldHRlciBzcGFjaW5nIGZvciB0aGUgZm9udFxuQG1peGluIGZvbnQtd2lkZShcbiAgJGxldHRlci1zcGFjaW5nOiAkcHJvdG90eXBlLXdpZGUtbGV0dGVyLXNwYWNpbmdcbikge1xuICBsZXR0ZXItc3BhY2luZzogJGxldHRlci1zcGFjaW5nO1xufVxuXG4vLy8gRm9udCBXZWlnaHQgTm9ybWFsLCBkZWZhdWx0IHZhbHVlIGNvbWluZyB0aHJvdWdoIGBnbG9iYWwtd2VpZ2h0LW5vcm1hbGBcbi8vLyBAcGFyYW0ge051bWJlcn0gJHdlaWdodCBbJHByb3RvdHlwZS1mb250LW5vcm1hbF0gV2VpZ2h0IG9mIHRoZSBmb250IChub3JtYWwpXG5AbWl4aW4gZm9udC1ub3JtYWwoXG4gICR3ZWlnaHQ6ICRwcm90b3R5cGUtZm9udC1ub3JtYWxcbikge1xuICBmb250LXdlaWdodDogJHdlaWdodDtcbn1cblxuLy8vIEZvbnQgV2VpZ2h0IEJvbGQsIGRlZmF1bHQgdmFsdWUgY29taW5nIHRocm91Z2ggYGdsb2JhbC13ZWlnaHQtYm9sZGBcbi8vLyBAcGFyYW0ge051bWJlcn0gJHdlaWdodCBbJHByb3RvdHlwZS1mb250LWJvbGRdIFdlaWdodCBvZiB0aGUgZm9udCAoYm9sZClcbkBtaXhpbiBmb250LWJvbGQoXG4gICR3ZWlnaHQ6ICRwcm90b3R5cGUtZm9udC1ib2xkXG4pIHtcbiAgZm9udC13ZWlnaHQ6ICR3ZWlnaHQ7XG59XG5cbi8vLyBGb250IFN0eWxlIEl0YWxpY1xuQG1peGluIGZvbnQtaXRhbGljIHtcbiAgZm9udC1zdHlsZTogaXRhbGljICFpbXBvcnRhbnQ7XG59XG5cbkBtaXhpbiBmb3VuZGF0aW9uLXByb3RvdHlwZS1mb250LXN0eWxpbmcge1xuICAuZm9udC13aWRle1xuICAgIEBpbmNsdWRlIGZvbnQtd2lkZTtcbiAgfVxuXG4gIC5mb250LW5vcm1hbCB7XG4gICAgQGluY2x1ZGUgZm9udC1ub3JtYWw7XG4gIH1cblxuICAuZm9udC1ib2xkIHtcbiAgICBAaW5jbHVkZSBmb250LWJvbGQ7XG4gIH1cblxuICAuZm9udC1pdGFsaWMge1xuICAgIEBpbmNsdWRlIGZvbnQtaXRhbGljO1xuICB9XG5cbiAgQGlmICgkcHJvdG90eXBlLWZvbnQtYnJlYWtwb2ludHMpIHtcbiAgICAvLyBMb29wIHRocm91Z2ggUmVzcG9uc2l2ZSBCcmVha3BvaW50c1xuICAgIEBlYWNoICRzaXplIGluICRicmVha3BvaW50LWNsYXNzZXMge1xuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkc2l6ZSkge1xuICAgICAgICBAaWYgJHNpemUgIT0gJC16Zi16ZXJvLWJyZWFrcG9pbnQge1xuICAgICAgICAgIC4jeyRzaXplfS1mb250LXdpZGV7XG4gICAgICAgICAgICBAaW5jbHVkZSBmb250LXdpZGU7XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgLiN7JHNpemV9LWZvbnQtbm9ybWFsIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGZvbnQtbm9ybWFsO1xuICAgICAgICAgIH1cblxuICAgICAgICAgIC4jeyRzaXplfS1mb250LWJvbGQge1xuICAgICAgICAgICAgQGluY2x1ZGUgZm9udC1ib2xkO1xuICAgICAgICAgIH1cblxuICAgICAgICAgIC4jeyRzaXplfS1mb250LWl0YWxpYyB7XG4gICAgICAgICAgICBAaW5jbHVkZSBmb250LWl0YWxpYztcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIHByb3RvdHlwZS1saXN0LXN0eWxlLXR5cGVcbi8vLy9cblxuLy8vIFJlc3BvbnNpdmUgYnJlYWtwb2ludHMgZm9yIGxpc3Qgc3R5bGluZyB0eXBlc1xuLy8vIEB0eXBlIEJvb2xlYW5cbiRwcm90b3R5cGUtbGlzdC1icmVha3BvaW50czogJGdsb2JhbC1wcm90b3R5cGUtYnJlYWtwb2ludHMgIWRlZmF1bHQ7XG5cbi8vLyBNYXAgY29udGFpbmluZyBhbGwgdGhlIGBzdHlsZS10eXBlLXVub3JkZXJlZGAgY2xhc3Nlc1xuLy8vIEB0eXBlIE1hcFxuJHByb3RvdHlwZS1zdHlsZS10eXBlLXVub3JkZXJlZDogKFxuICBkaXNjLFxuICBjaXJjbGUsXG4gIHNxdWFyZVxuKSAhZGVmYXVsdDtcblxuLy8vIE1hcCBjb250YWluaW5nIGFsbCB0aGUgYHN0eWxlLXR5cGUtb3JkZXJlZGAgY2xhc3Nlc1xuLy8vIEB0eXBlIE1hcFxuJHByb3RvdHlwZS1zdHlsZS10eXBlLW9yZGVyZWQ6IChcbiAgZGVjaW1hbCxcbiAgbG93ZXItYWxwaGEsXG4gIGxvd2VyLWxhdGluLFxuICBsb3dlci1yb21hbixcbiAgdXBwZXItYWxwaGEsXG4gIHVwcGVyLWxhdGluLFxuICB1cHBlci1yb21hblxuKSAhZGVmYXVsdDtcblxuXG4vLy8gU3R5bGUgdHlwZSBmb3IgdW5vcmRlcmVkIExpc3RzLCBieSBkZWZhdWx0IGNvbWluZyB0aHJvdWdoIGEgbWFwIGAkcHJvdG90eXBlLXN0eWxlLXR5cGUtdW5vcmRlcmVkYFxuLy8vIEBwYXJhbSB7U3RyaW5nfSAkc3R5bGUtdHlwZS11bm9yZGVyZWQgW10gU3R5bGUgdHlwZSBmb3IgdW5vcmRlcmVkIExpc3RzXG5AbWl4aW4gc3R5bGUtdHlwZS11bm9yZGVyZWQoJHN0eWxlLXR5cGUtdW5vcmRlcmVkKSB7XG4gIGxpc3Qtc3R5bGUtdHlwZTogJHN0eWxlLXR5cGUtdW5vcmRlcmVkICFpbXBvcnRhbnQ7XG59XG5cbi8vLyBTdHlsZSB0eXBlIGZvciBvcmRlcmVkIExpc3RzLCBieSBkZWZhdWx0IGNvbWluZyB0aHJvdWdoIGEgbWFwIGAkcHJvdG90eXBlLXN0eWxlLXR5cGUtb3JkZXJlZGBcbi8vLyBAcGFyYW0ge1N0cmluZ30gJHN0eWxlLXR5cGUtb3JkZXJlZCBbXSBTdHlsZSB0eXBlIGZvciBvcmRlcmVkIExpc3RzXG5AbWl4aW4gc3R5bGUtdHlwZS1vcmRlcmVkKCRzdHlsZS10eXBlLW9yZGVyZWQpIHtcbiAgbGlzdC1zdHlsZS10eXBlOiAkc3R5bGUtdHlwZS1vcmRlcmVkICFpbXBvcnRhbnQ7XG59XG5cbkBtaXhpbiBsaXN0LXVub3JkZXJlZCB7XG4gIEBlYWNoICRzdHlsZS10eXBlLXVub3JkZXJlZCBpbiAkcHJvdG90eXBlLXN0eWxlLXR5cGUtdW5vcmRlcmVkIHtcbiAgICB1bC5saXN0LSN7JHN0eWxlLXR5cGUtdW5vcmRlcmVkfSB7XG4gICAgICBAaW5jbHVkZSBzdHlsZS10eXBlLXVub3JkZXJlZCgkc3R5bGUtdHlwZS11bm9yZGVyZWQpO1xuICAgIH1cbiAgfVxuXG4gIEBpZiAoJHByb3RvdHlwZS1saXN0LWJyZWFrcG9pbnRzKSB7XG4gICAgLy8gTG9vcCB0aHJvdWdoIFJlc3BvbnNpdmUgQnJlYWtwb2ludHNcbiAgICBAZWFjaCAkc2l6ZSBpbiAkYnJlYWtwb2ludC1jbGFzc2VzIHtcbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJHNpemUpIHtcbiAgICAgICAgQGVhY2ggJHN0eWxlLXR5cGUtdW5vcmRlcmVkIGluICRwcm90b3R5cGUtc3R5bGUtdHlwZS11bm9yZGVyZWQge1xuICAgICAgICAgIEBpZiAkc2l6ZSAhPSAkLXpmLXplcm8tYnJlYWtwb2ludCB7XG4gICAgICAgICAgICB1bC4jeyRzaXplfS1saXN0LSN7JHN0eWxlLXR5cGUtdW5vcmRlcmVkfSB7XG4gICAgICAgICAgICAgIEBpbmNsdWRlIHN0eWxlLXR5cGUtdW5vcmRlcmVkKCRzdHlsZS10eXBlLXVub3JkZXJlZCk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbkBtaXhpbiBsaXN0LW9yZGVyZWQge1xuICBAZWFjaCAkc3R5bGUtdHlwZS1vcmRlcmVkIGluICRwcm90b3R5cGUtc3R5bGUtdHlwZS1vcmRlcmVkIHtcbiAgICBvbC5saXN0LSN7JHN0eWxlLXR5cGUtb3JkZXJlZH0ge1xuICAgICAgQGluY2x1ZGUgc3R5bGUtdHlwZS1vcmRlcmVkKCRzdHlsZS10eXBlLW9yZGVyZWQpO1xuICAgIH1cbiAgfVxuXG4gIEBpZiAoJHByb3RvdHlwZS1saXN0LWJyZWFrcG9pbnRzKSB7XG4gICAgLy8gTG9vcCB0aHJvdWdoIFJlc3BvbnNpdmUgQnJlYWtwb2ludHNcbiAgICBAZWFjaCAkc2l6ZSBpbiAkYnJlYWtwb2ludC1jbGFzc2VzIHtcbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJHNpemUpIHtcbiAgICAgICAgQGVhY2ggJHN0eWxlLXR5cGUtb3JkZXJlZCBpbiAkcHJvdG90eXBlLXN0eWxlLXR5cGUtb3JkZXJlZCB7XG4gICAgICAgICAgQGlmICRzaXplICE9ICQtemYtemVyby1icmVha3BvaW50IHtcbiAgICAgICAgICAgIG9sLiN7JHNpemV9LWxpc3QtI3skc3R5bGUtdHlwZS1vcmRlcmVkfSB7XG4gICAgICAgICAgICAgIEBpbmNsdWRlIHN0eWxlLXR5cGUtb3JkZXJlZCgkc3R5bGUtdHlwZS1vcmRlcmVkKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuQG1peGluIGZvdW5kYXRpb24tcHJvdG90eXBlLWxpc3Qtc3R5bGUtdHlwZSB7XG4gIEBpbmNsdWRlIGxpc3QtdW5vcmRlcmVkO1xuICBAaW5jbHVkZSBsaXN0LW9yZGVyZWQ7XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBwcm90b3R5cGUtcm91bmRlZFxuLy8vL1xuXG4vLy8gUmVzcG9uc2l2ZSBicmVha3BvaW50cyBmb3Igcm91bmRlZCB1dGlsaXR5LlxuLy8vIEB0eXBlIEJvb2xlYW5cbiRwcm90b3R5cGUtcm91bmRlZC1icmVha3BvaW50czogJGdsb2JhbC1wcm90b3R5cGUtYnJlYWtwb2ludHMgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHZhbHVlIGZvciBgcHJvdG90eXBlLWJvcmRlci1yYWRpdXNgXG4vLy8gQHR5cGUgTnVtYmVyXG4kcHJvdG90eXBlLWJvcmRlci1yYWRpdXM6IHJlbS1jYWxjKDMpICFkZWZhdWx0O1xuXG4vLy8gUm91bmRlZCB1dGlsaXR5IChhbGwgY29ybmVycyk6IEFkZHMgcmFkaXVzIGNvcm5lcnMgKGFsbCBjb3JuZXJzKSB0byBhbiBlbGVtZW50IGJ5IGRlZmF1bHQuXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRyYWRpdXMgWyRwcm90b3R5cGUtYm9yZGVyLXJhZGl1c10gQm9yZGVyIHJhZGl1cyAoYWxsIGNvcm5lcnMpXG5AbWl4aW4gYm9yZGVyLXJhZGl1cyhcbiAgJHJhZGl1czogJHByb3RvdHlwZS1ib3JkZXItcmFkaXVzXG4pIHtcbiAgYm9yZGVyLXJhZGl1czogJHJhZGl1cztcbn1cblxuLy8vIFJvdW5kZWQgc3F1YXJlIHV0aWxpdHkgb3IgcmVjdGFuZ2xlIHV0aWxpdHkgKGFsbCBjb3JuZXJzKTogUm91bmRzIGFsbCBjb3JuZXJzIHRvIGFuIGVsZW1lbnQgYnkgZGVmYXVsdCB0byBtYWtlIGEgcGlsbCBzaGFwZS5cbkBtaXhpbiBib3JkZXItcm91bmRlZCB7XG4gIGJvcmRlci1yYWRpdXM6IDUwMDBweCAhaW1wb3J0YW50O1xufVxuXG5AbWl4aW4gZm91bmRhdGlvbi1wcm90b3R5cGUtcm91bmRlZCB7XG4gIC5yb3VuZGVkIHtcbiAgICBAaW5jbHVkZSBib3JkZXItcm91bmRlZDtcbiAgfVxuXG4gIC5yYWRpdXMge1xuICAgIEBpbmNsdWRlIGJvcmRlci1yYWRpdXM7XG4gIH1cblxuICBAaWYgKCRwcm90b3R5cGUtcm91bmRlZC1icmVha3BvaW50cykge1xuICAgIC8vIExvb3AgdGhyb3VnaCBSZXNwb25zaXZlIEJyZWFrcG9pbnRzXG4gICAgQGVhY2ggJHNpemUgaW4gJGJyZWFrcG9pbnQtY2xhc3NlcyB7XG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KCRzaXplKSB7XG4gICAgICAgIEBpZiAkc2l6ZSAhPSAkLXpmLXplcm8tYnJlYWtwb2ludCB7XG4gICAgICAgICAgLiN7JHNpemV9LXJvdW5kZWQge1xuICAgICAgICAgICAgQGluY2x1ZGUgYm9yZGVyLXJvdW5kZWQ7XG4gICAgICAgICAgfVxuICAgICAgICAgIC4jeyRzaXplfS1yYWRpdXMge1xuICAgICAgICAgICAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cztcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIHByb3RvdHlwZS1ib3JkZXJlZFxuLy8vL1xuXG4vLy8gUmVzcG9uc2l2ZSBicmVha3BvaW50cyBmb3IgYm9yZGVyZWQgdXRpbGl0eS5cbi8vLyBAdHlwZSBCb29sZWFuXG4kcHJvdG90eXBlLWJvcmRlcmVkLWJyZWFrcG9pbnRzOiAkZ2xvYmFsLXByb3RvdHlwZS1icmVha3BvaW50cyAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgdmFsdWUgZm9yIGBwcm90b3R5cGUtYm9yZGVyLXdpZHRoYFxuLy8vIEB0eXBlIE51bWJlclxuJHByb3RvdHlwZS1ib3JkZXItd2lkdGg6IHJlbS1jYWxjKDEpICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCB2YWx1ZSBmb3IgYHByb3RvdHlwZS1ib3JkZXItdHlwZWBcbi8vLyBAdHlwZSBTdHJpbmdcbiRwcm90b3R5cGUtYm9yZGVyLXR5cGU6IHNvbGlkICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCB2YWx1ZSBmb3IgYHByb3RvdHlwZS1ib3JkZXItY29sb3JgIGRlZmF1bHRlZCB0byBgbWVkaXVtLWdyYXlgXG4vLy8gQHR5cGUgQ29sb3JcbiRwcm90b3R5cGUtYm9yZGVyLWNvbG9yOiAkbWVkaXVtLWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBCb3JkZXJlZCBVdGlsaXR5OiBBZGRzIGEgbGlnaHQgYm9yZGVyIHRvIGFuIGVsZW1lbnQgYnkgZGVmYXVsdC5cbi8vLyBAcGFyYW0ge051bWJlcn0gJHdpZHRoIFskcHJvdG90eXBlLWJvcmRlci13aWR0aF0gV2lkdGggb2YgdGhlIGJvcmRlclxuLy8vIEBwYXJhbSB7U3RyaW5nfSAkdHlwZSBbJHByb3RvdHlwZS1ib3JkZXItdHlwZV0gVHlwZSBvZiB0aGUgYm9yZGVyXG4vLy8gQHBhcmFtIHtDb2xvcn0gJGNvbG9yIFskcHJvdG90eXBlLWJvcmRlci1jb2xvcl0gQ29sb3Igb2YgdGhlIGJvcmRlclxuQG1peGluIGJvcmRlcmVkKFxuICAkd2lkdGg6ICRwcm90b3R5cGUtYm9yZGVyLXdpZHRoLFxuICAkdHlwZTogJHByb3RvdHlwZS1ib3JkZXItdHlwZSxcbiAgJGNvbG9yOiAkcHJvdG90eXBlLWJvcmRlci1jb2xvclxuKSB7XG4gIGJvcmRlcjogJHdpZHRoICR0eXBlICRjb2xvcjtcbn1cblxuQG1peGluIGZvdW5kYXRpb24tcHJvdG90eXBlLWJvcmRlcmVkIHtcbiAgLmJvcmRlcmVkIHtcbiAgICBAaW5jbHVkZSBib3JkZXJlZDtcbiAgfVxuXG4gIEBpZiAoJHByb3RvdHlwZS1ib3JkZXJlZC1icmVha3BvaW50cykge1xuICAgIC8vIExvb3AgdGhyb3VnaCBSZXNwb25zaXZlIEJyZWFrcG9pbnRzXG4gICAgQGVhY2ggJHNpemUgaW4gJGJyZWFrcG9pbnQtY2xhc3NlcyB7XG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KCRzaXplKSB7XG4gICAgICAgIEBpZiAkc2l6ZSAhPSAkLXpmLXplcm8tYnJlYWtwb2ludCB7XG4gICAgICAgICAgLiN7JHNpemV9LWJvcmRlcmVkIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGJvcmRlcmVkO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgcHJvdG90eXBlLXNoYWRvd1xuLy8vL1xuXG4vLy8gUmVzcG9uc2l2ZSBicmVha3BvaW50cyBmb3Igc2hhZG93IHV0aWxpdHkuXG4vLy8gQHR5cGUgQm9vbGVhblxuJHByb3RvdHlwZS1zaGFkb3ctYnJlYWtwb2ludHM6ICRnbG9iYWwtcHJvdG90eXBlLWJyZWFrcG9pbnRzICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCB2YWx1ZSBmb3IgYHByb3RvdHlwZS1ib3gtc2hhZG93YFxuLy8vIEB0eXBlIE51bWJlclxuJHByb3RvdHlwZS1ib3gtc2hhZG93OiAwIDJweCA1cHggMCByZ2JhKDAsMCwwLC4xNiksXG4gICAgICAgICAgICAgICAgICAgICAgIDAgMnB4IDEwcHggMCByZ2JhKDAsMCwwLC4xMikgIWRlZmF1bHQ7XG5cbi8vLyBTaGFkb3cgVXRpbGl0eTogQWRkcyBhIGxpZ2h0IGJveCBzaGFkb3cgdG8gYW4gZWxlbWVudCBieSBkZWZhdWx0LlxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkc2hhZG93IFskcHJvdG90eXBlLWJveC1zaGFkb3ddIEJveCBTaGFkb3cgb2YgYSBjb21wb25lbnRcbkBtaXhpbiBzaGFkb3coXG4gICRzaGFkb3c6ICRwcm90b3R5cGUtYm94LXNoYWRvd1xuKSB7XG4gIGJveC1zaGFkb3c6ICRzaGFkb3c7XG59XG5cbkBtaXhpbiBmb3VuZGF0aW9uLXByb3RvdHlwZS1zaGFkb3cge1xuICAuc2hhZG93IHtcbiAgICBAaW5jbHVkZSBzaGFkb3c7XG4gIH1cblxuICBAaWYgKCRwcm90b3R5cGUtc2hhZG93LWJyZWFrcG9pbnRzKSB7XG4gICAgLy8gTG9vcCB0aHJvdWdoIFJlc3BvbnNpdmUgQnJlYWtwb2ludHNcbiAgICBAZWFjaCAkc2l6ZSBpbiAkYnJlYWtwb2ludC1jbGFzc2VzIHtcbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJHNpemUpIHtcbiAgICAgICAgQGlmICRzaXplICE9ICQtemYtemVyby1icmVha3BvaW50IHtcbiAgICAgICAgICAuI3skc2l6ZX0tc2hhZG93IHtcbiAgICAgICAgICAgIEBpbmNsdWRlIHNoYWRvdztcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIHByb3RvdHlwZS1hcnJvd1xuLy8vL1xuXG4vLy8gTWFwIGNvbnRhaW5pbmcgYWxsIHRoZSBgYXJyb3dgIGRpcmVjdGlvblxuLy8vIEB0eXBlIE1hcFxuJHByb3RvdHlwZS1hcnJvdy1kaXJlY3Rpb25zOiAoXG4gIGRvd24sXG4gIHVwLFxuICByaWdodCxcbiAgbGVmdFxuKSAhZGVmYXVsdDtcblxuLy8vIFdpZHRoIG9mIHRoZSBBcnJvdywgYDAuNDM3NXJlbWAgYnkgZGVmYXVsdC5cbi8vLyBAdHlwZSBOdW1iZXJcbiRwcm90b3R5cGUtYXJyb3ctc2l6ZTogMC40Mzc1cmVtO1xuXG4vLy8gQ29sb3Igb2YgdGhlIEFycm93LCBgJGJsYWNrYCBieSBkZWZhdWx0LlxuLy8vIEB0eXBlIENvbG9yXG4kcHJvdG90eXBlLWFycm93LWNvbG9yOiAkYmxhY2s7XG5cbkBtaXhpbiBmb3VuZGF0aW9uLXByb3RvdHlwZS1hcnJvdyB7XG4gIEBlYWNoICRwcm90b3R5cGUtYXJyb3ctZGlyZWN0aW9uIGluICRwcm90b3R5cGUtYXJyb3ctZGlyZWN0aW9ucyB7XG4gICAgLmFycm93LSN7JHByb3RvdHlwZS1hcnJvdy1kaXJlY3Rpb259IHtcbiAgICAgIEBpbmNsdWRlIGNzcy10cmlhbmdsZShcbiAgICAgICAgJHByb3RvdHlwZS1hcnJvdy1zaXplLCBcbiAgICAgICAgJHByb3RvdHlwZS1hcnJvdy1jb2xvciwgXG4gICAgICAgICRwcm90b3R5cGUtYXJyb3ctZGlyZWN0aW9uXG4gICAgICApO1xuICAgIH1cbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgcHJvdG90eXBlLXNlcGFyYXRvclxuLy8vL1xuXG4vLy8gUmVzcG9uc2l2ZSBicmVha3BvaW50cyBmb3Igc2VwYXJhdG9yLlxuLy8vIEB0eXBlIEJvb2xlYW5cbiRwcm90b3R5cGUtc2VwYXJhdG9yLWJyZWFrcG9pbnRzOiAkZ2xvYmFsLXByb3RvdHlwZS1icmVha3BvaW50cyAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgYWxpZ25tZW50IG9mIGEgc2VwYXJhdG9yLlxuLy8vIEB0eXBlIFN0cmluZ1xuJHByb3RvdHlwZS1zZXBhcmF0b3ItYWxpZ246IGNlbnRlciAhZGVmYXVsdDtcblxuLy8vIEhlaWdodCBvZiBhIHNlcGFyYXRvci5cbi8vLyBAdHlwZSBOdW1iZXJcbiRwcm90b3R5cGUtc2VwYXJhdG9yLWhlaWdodDogcmVtLWNhbGMoMikgIWRlZmF1bHQ7XG5cbi8vLyBXaWR0aCBvZiBhIHNlcGFyYXRvci5cbi8vLyBAdHlwZSBOdW1iZXJcbiRwcm90b3R5cGUtc2VwYXJhdG9yLXdpZHRoOiAzcmVtICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBjb2xvciBvZiBhIHNlcGFyYXRvci5cbi8vLyBAdHlwZSBDb2xvclxuJHByb3RvdHlwZS1zZXBhcmF0b3ItYmFja2dyb3VuZDogJHByaW1hcnktY29sb3IgIWRlZmF1bHQ7XG5cbi8vLyBUb3AgTWFyZ2luIG9mIGEgc2VwYXJhdG9yLlxuLy8vIEB0eXBlIE51bWJlclxuJHByb3RvdHlwZS1zZXBhcmF0b3ItbWFyZ2luLXRvcDogJGdsb2JhbC1tYXJnaW4gIWRlZmF1bHQ7XG5cbi8vLyBUaXRsZSBzZXBhcmF0b3IgVXRpbGl0eSwgbW9zdGx5IHVzZWQgdG8gc3R5bGUgdGhlIG1haW4gaGVhZGluZyBvZiBhIHNlY3Rpb25cbi8vLyBAcGFyYW0ge1N0cmluZ30gJGFsaWduIFskcHJvdG90eXBlLXNlcGFyYXRvci1hbGlnbl0gLSBzZXBhcmF0b3IgQWxpZ25tZW50XG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRoZWlnaHQgWyRwcm90b3R5cGUtc2VwYXJhdG9yLWhlaWdodF0gLSBXaWR0aFxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkd2lkdGggWyRwcm90b3R5cGUtc2VwYXJhdG9yLXdpZHRoXSAtIEhlaWdodFxuLy8vIEBwYXJhbSB7Q29sb3J9ICRiYWNrZ3JvdW5kIFskcHJvdG90eXBlLXNlcGFyYXRvci1iYWNrZ3JvdW5kXSAtIEJhY2tncm91bmRcbi8vLyBAcGFyYW0ge051bWJlcn0gJHRvcCBbJHByb3RvdHlwZS1zZXBhcmF0b3ItbWFyZ2luLXRvcF0gLSBNYXJnaW4gVG9wXG5AbWl4aW4gc2VwYXJhdG9yIChcbiAgJGFsaWduOiAkcHJvdG90eXBlLXNlcGFyYXRvci1hbGlnbixcbiAgJGhlaWdodDogJHByb3RvdHlwZS1zZXBhcmF0b3ItaGVpZ2h0LFxuICAkd2lkdGg6ICRwcm90b3R5cGUtc2VwYXJhdG9yLXdpZHRoLFxuICAkYmFja2dyb3VuZDogJHByb3RvdHlwZS1zZXBhcmF0b3ItYmFja2dyb3VuZCxcbiAgJHRvcDogJHByb3RvdHlwZS1zZXBhcmF0b3ItbWFyZ2luLXRvcFxuKSB7XG4gIHRleHQtYWxpZ246ICRhbGlnbiAhaW1wb3J0YW50O1xuXHRAaW5jbHVkZSBjbGVhcmZpeDtcblxuICAmOjphZnRlciB7XG4gICAgQGluY2x1ZGUgcG9zaXRpb24ocmVsYXRpdmUpO1xuICAgIHdpZHRoOiAkd2lkdGg7XG4gICAgYm9yZGVyLWJvdHRvbTogJGhlaWdodCBzb2xpZCAkYmFja2dyb3VuZDtcbiAgICBtYXJnaW46ICR0b3AgYXV0byAwO1xuXG4gICAgQGlmICRhbGlnbiA9PSBsZWZ0IHtcbiAgICAgIG1hcmdpbi1sZWZ0OiAwICFpbXBvcnRhbnQ7XG4gICAgfVxuXG4gICAgQGlmICRhbGlnbiA9PSByaWdodCB7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDAgIWltcG9ydGFudDtcbiAgICB9XG4gIH1cbn1cblxuQG1peGluIGZvdW5kYXRpb24tcHJvdG90eXBlLXNlcGFyYXRvciB7XG5cdC5zZXBhcmF0b3ItY2VudGVyIHtcblx0XHRAaW5jbHVkZSBzZXBhcmF0b3IoY2VudGVyKTtcblx0fVxuXG4gIC5zZXBhcmF0b3ItbGVmdCB7XG4gICAgQGluY2x1ZGUgc2VwYXJhdG9yKGxlZnQpO1xuICB9XG5cbiAgLnNlcGFyYXRvci1yaWdodCB7XG4gICAgQGluY2x1ZGUgc2VwYXJhdG9yKHJpZ2h0KTtcbiAgfVxuXG5cdEBpZiAoJHByb3RvdHlwZS1zZXBhcmF0b3ItYnJlYWtwb2ludHMpIHtcbiAgICAvLyBMb29wIHRocm91Z2ggUmVzcG9uc2l2ZSBCcmVha3BvaW50c1xuICAgIEBlYWNoICRzaXplIGluICRicmVha3BvaW50LWNsYXNzZXMge1xuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkc2l6ZSkge1xuICAgICAgICBAaWYgJHNpemUgIT0gJC16Zi16ZXJvLWJyZWFrcG9pbnQge1xuICAgICAgICAgIC4jeyRzaXplfS1zZXBhcmF0b3ItY2VudGVyIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIHNlcGFyYXRvcihjZW50ZXIpO1xuICAgICAgICAgIH1cbiAgICAgICAgICAuI3skc2l6ZX0tc2VwYXJhdG9yLWxlZnQge1xuICAgICAgICAgICAgQGluY2x1ZGUgc2VwYXJhdG9yKGxlZnQpO1xuICAgICAgICAgIH1cbiAgICAgICAgICAuI3skc2l6ZX0tc2VwYXJhdG9yLXJpZ2h0IHtcbiAgICAgICAgICAgIEBpbmNsdWRlIHNlcGFyYXRvcihyaWdodCk7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBwcm90b3R5cGUtb3ZlcmZsb3dcbi8vLy9cblxuLy8vIFJlc3BvbnNpdmUgYnJlYWtwb2ludHMgZm9yIG92ZXJmbG93IGhlbHBlciBjbGFzc2VzXG4vLy8gQHR5cGUgQm9vbGVhblxuJHByb3RvdHlwZS1vdmVyZmxvdy1icmVha3BvaW50czogJGdsb2JhbC1wcm90b3R5cGUtYnJlYWtwb2ludHMgIWRlZmF1bHQ7XG5cbi8vLyBNYXAgY29udGFpbmluZyBhbGwgdGhlIGBvdmVyZmxvd2AgY2xhc3Nlc1xuLy8vIEB0eXBlIE1hcFxuJHByb3RvdHlwZS1vdmVyZmxvdzogKFxuICB2aXNpYmxlLFxuICBoaWRkZW4sXG4gIHNjcm9sbFxuKSAhZGVmYXVsdDtcblxuLy8vIE92ZXJmbG93IGNsYXNzZXMsIGJ5IGRlZmF1bHQgY29taW5nIHRocm91Z2ggYSBtYXAgYCRwcm90b3R5cGUtb3ZlcmZsb3dgXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICRvdmVyZmxvdyBbXSBPdmVyZmxvdyBjbGFzc2VzXG5AbWl4aW4gb3ZlcmZsb3coJG92ZXJmbG93KSB7XG4gIG92ZXJmbG93OiAkb3ZlcmZsb3cgIWltcG9ydGFudDtcbn1cblxuLy8vIE92ZXJmbG93IGNsYXNzZXMgb24gaG9yaXpvbnRhbCBheGlzLCBieSBkZWZhdWx0IGNvbWluZyB0aHJvdWdoIGEgbWFwIGAkcHJvdG90eXBlLW92ZXJmbG93YFxuLy8vIEBwYXJhbSB7U3RyaW5nfSAkb3ZlcmZsb3cgW10gT3ZlcmZsb3cgY2xhc3NlcyAoaG9yaXpvbnRhbCBheGlzKVxuQG1peGluIG92ZXJmbG93LXgoJG92ZXJmbG93KSB7XG4gIG92ZXJmbG93LXg6ICRvdmVyZmxvdyAhaW1wb3J0YW50O1xufVxuXG4vLy8gT3ZlcmZsb3cgY2xhc3NlcyBvbiB2ZXJ0aWNhbCBheGlzLCBieSBkZWZhdWx0IGNvbWluZyB0aHJvdWdoIGEgbWFwIGAkcHJvdG90eXBlLW92ZXJmbG93YFxuLy8vIEBwYXJhbSB7U3RyaW5nfSAkb3ZlcmZsb3cgW10gT3ZlcmZsb3cgY2xhc3NlcyAodmVydGljYWwgYXhpcylcbkBtaXhpbiBvdmVyZmxvdy15KCRvdmVyZmxvdykge1xuICBvdmVyZmxvdy15OiAkb3ZlcmZsb3cgIWltcG9ydGFudDtcbn1cblxuQG1peGluIGZvdW5kYXRpb24tcHJvdG90eXBlLW92ZXJmbG93IHtcbiAgQGVhY2ggJG92ZXJmbG93IGluICRwcm90b3R5cGUtb3ZlcmZsb3cge1xuICAgIC5vdmVyZmxvdy0jeyRvdmVyZmxvd30ge1xuICAgICAgQGluY2x1ZGUgb3ZlcmZsb3coJG92ZXJmbG93KTtcbiAgICB9XG4gICAgLm92ZXJmbG93LXgtI3skb3ZlcmZsb3d9IHtcbiAgICAgIEBpbmNsdWRlIG92ZXJmbG93LXgoJG92ZXJmbG93KTtcbiAgICB9XG4gICAgLm92ZXJmbG93LXktI3skb3ZlcmZsb3d9IHtcbiAgICAgIEBpbmNsdWRlIG92ZXJmbG93LXkoJG92ZXJmbG93KTtcbiAgICB9XG4gIH1cblxuICBAaWYgKCRwcm90b3R5cGUtb3ZlcmZsb3ctYnJlYWtwb2ludHMpIHtcbiAgICAvLyBMb29wIHRocm91Z2ggUmVzcG9uc2l2ZSBCcmVha3BvaW50c1xuICAgIEBlYWNoICRzaXplIGluICRicmVha3BvaW50LWNsYXNzZXMge1xuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkc2l6ZSkge1xuICAgICAgICBAZWFjaCAkb3ZlcmZsb3cgaW4gJHByb3RvdHlwZS1vdmVyZmxvdyB7XG4gICAgICAgICAgQGlmICRzaXplICE9ICQtemYtemVyby1icmVha3BvaW50IHtcbiAgICAgICAgICAgIC4jeyRzaXplfS1vdmVyZmxvdy0jeyRvdmVyZmxvd30ge1xuICAgICAgICAgICAgICBAaW5jbHVkZSBvdmVyZmxvdygkb3ZlcmZsb3cpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgLiN7JHNpemV9LW92ZXJmbG93LXgtI3skb3ZlcmZsb3d9IHtcbiAgICAgICAgICAgICAgQGluY2x1ZGUgb3ZlcmZsb3cteCgkb3ZlcmZsb3cpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgLiN7JHNpemV9LW92ZXJmbG93LXktI3skb3ZlcmZsb3d9IHtcbiAgICAgICAgICAgICAgQGluY2x1ZGUgb3ZlcmZsb3cteSgkb3ZlcmZsb3cpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgcHJvdG90eXBlLWRpc3BsYXlcbi8vLy9cblxuLy8vIFJlc3BvbnNpdmUgYnJlYWtwb2ludHMgZm9yIGRpc3BsYXkgY2xhc3Nlc1xuLy8vIEB0eXBlIEJvb2xlYW5cbiRwcm90b3R5cGUtZGlzcGxheS1icmVha3BvaW50czogJGdsb2JhbC1wcm90b3R5cGUtYnJlYWtwb2ludHMgIWRlZmF1bHQ7XG5cbi8vLyBNYXAgY29udGFpbmluZyBhbGwgdGhlIGBkaXNwbGF5YCBjbGFzc2VzXG4vLy8gQHR5cGUgTWFwXG4kcHJvdG90eXBlLWRpc3BsYXk6IChcbiAgaW5saW5lLFxuICBpbmxpbmUtYmxvY2ssXG4gIGJsb2NrLFxuICB0YWJsZSxcbiAgdGFibGUtY2VsbFxuKSAhZGVmYXVsdDtcblxuLy8vIERpc3BsYXkgY2xhc3NlcywgYnkgZGVmYXVsdCBjb21pbmcgdGhyb3VnaCBhIG1hcCBgJHByb3RvdHlwZS1kaXNwbGF5YFxuLy8vIEBwYXJhbSB7U3RyaW5nfSAkZGlzcGxheSBbXSBEaXNwbGF5IGNsYXNzZXNcbkBtaXhpbiBkaXNwbGF5KCRkaXNwbGF5KSB7XG4gIGRpc3BsYXk6ICRkaXNwbGF5ICFpbXBvcnRhbnQ7XG59XG5cbkBtaXhpbiBmb3VuZGF0aW9uLXByb3RvdHlwZS1kaXNwbGF5IHtcbiAgQGVhY2ggJGRpc3BsYXkgaW4gJHByb3RvdHlwZS1kaXNwbGF5IHtcbiAgICAuZGlzcGxheS0jeyRkaXNwbGF5fSB7XG4gICAgICBAaW5jbHVkZSBkaXNwbGF5KCRkaXNwbGF5KTtcbiAgICB9XG4gIH1cblxuICBAaWYgKCRwcm90b3R5cGUtZGlzcGxheS1icmVha3BvaW50cykge1xuICAgIC8vIExvb3AgdGhyb3VnaCBSZXNwb25zaXZlIEJyZWFrcG9pbnRzXG4gICAgQGVhY2ggJHNpemUgaW4gJGJyZWFrcG9pbnQtY2xhc3NlcyB7XG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KCRzaXplKSB7XG4gICAgICAgIEBlYWNoICRkaXNwbGF5IGluICRwcm90b3R5cGUtZGlzcGxheSB7XG4gICAgICAgICAgQGlmICRzaXplICE9ICQtemYtemVyby1icmVha3BvaW50IHtcbiAgICAgICAgICAgIC4jeyRzaXplfS1kaXNwbGF5LSN7JGRpc3BsYXl9IHtcbiAgICAgICAgICAgICAgQGluY2x1ZGUgZGlzcGxheSgkZGlzcGxheSk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBwcm90b3R5cGUtcG9zaXRpb25cbi8vLy9cblxuLy8vIFJlc3BvbnNpdmUgYnJlYWtwb2ludHMgZm9yIHBvc2l0aW9uIGhlbHBlcnNcbi8vLyBAdHlwZSBCb29sZWFuXG4kcHJvdG90eXBlLXBvc2l0aW9uLWJyZWFrcG9pbnRzOiAkZ2xvYmFsLXByb3RvdHlwZS1icmVha3BvaW50cyAhZGVmYXVsdDtcblxuLy8vIE1hcCBjb250YWluaW5nIGFsbCB0aGUgYHBvc2l0aW9uYCBjbGFzc2VzXG4vLy8gQHR5cGUgTWFwXG4kcHJvdG90eXBlLXBvc2l0aW9uOiAoXG4gIHN0YXRpYyxcbiAgcmVsYXRpdmUsXG4gIGFic29sdXRlLFxuICBmaXhlZFxuKSAhZGVmYXVsdDtcblxuLy8vIHotaW5kZXggZm9yIGZpeGVkIHBvc2l0aW9uaW5nXG4vLy8gQHR5cGUgTnVtYmVyXG4kcHJvdG90eXBlLXBvc2l0aW9uLXotaW5kZXg6IDk3NSAhZGVmYXVsdDtcblxuLy8vIFBvc2l0aW9uIGNsYXNzZXMsIGJ5IGRlZmF1bHQgY29taW5nIHRocm91Z2ggYSBtYXAgYCRwcm90b3R5cGUtcG9zaXRpb25gLCB3aGVyZWFzIGFsbCB0aGUgb2Zmc2V0IHZhbHVlcyBhcmUgbXVsdGlwbGllZCBieSBgJGdsb2JhbC1wb3NpdGlvbmAgd2hpY2ggYnkgZGVmYXVsdCBpcyBlcXVhbCB0byBgMXJlbWAuXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICRwb3NpdGlvbiBbXSBQb3NpdGlvbiBjbGFzc2VzLCBFaXRoZXIgYHN0YXRpY2AsIGByZWxhdGl2ZWAsIGBhYnNvbHV0ZWAgb3IgYGZpeGVkYFxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkdG9wIFtudWxsXSAtIFRvcCBvZmZzZXRcbi8vLyBAcGFyYW0ge051bWJlcn0gJHJpZ2h0IFtudWxsXSAtIFJpZ2h0IG9mZnNldFxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkYm90dG9tIFtudWxsXSAtIEJvdHRvbSBvZmZzZXRcbi8vLyBAcGFyYW0ge051bWJlcn0gJGxlZnQgW251bGxdIC0gTGVmdCBvZmZzZXRcbkBtaXhpbiBwb3NpdGlvbihcbiAgJHBvc2l0aW9uLFxuICAkdG9wOiBudWxsLFxuICAkcmlnaHQ6IG51bGwsXG4gICRib3R0b206IG51bGwsXG4gICRsZWZ0OiBudWxsXG4pIHtcbiAgcG9zaXRpb246ICRwb3NpdGlvbiAhaW1wb3J0YW50O1xuICBAaWYgJHRvcCAhPSBudWxsIHtcbiAgICB0b3A6ICR0b3AgKiAkZ2xvYmFsLXBvc2l0aW9uICFpbXBvcnRhbnQ7XG4gIH1cbiAgQGlmICRyaWdodCAhPSBudWxsIHtcbiAgICByaWdodDogJHJpZ2h0ICogJGdsb2JhbC1wb3NpdGlvbiAhaW1wb3J0YW50O1xuICB9XG4gIEBpZiAkYm90dG9tICE9IG51bGwge1xuICAgIGJvdHRvbTogJGJvdHRvbSAqICRnbG9iYWwtcG9zaXRpb24gIWltcG9ydGFudDtcbiAgfVxuICBAaWYgJGxlZnQgIT0gbnVsbCB7XG4gICAgbGVmdDogJGxlZnQgKiAkZ2xvYmFsLXBvc2l0aW9uICFpbXBvcnRhbnQ7XG4gIH1cbn1cblxuLy8vIFBvc2l0aW9uIEZpeGVkIG9uIHRvcCBjb3JuZXJzXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICR6LWluZGV4IFskcHJvdG90eXBlLXBvc2l0aW9uLXotaW5kZXhdIHotaW5kZXggZm9yIGBwb3NpdGlvbi1maXhlZC10b3BgXG5AbWl4aW4gcG9zaXRpb24tZml4ZWQtdG9wKFxuICAkei1pbmRleDogJHByb3RvdHlwZS1wb3NpdGlvbi16LWluZGV4XG4pIHtcbiAgQGluY2x1ZGUgcG9zaXRpb24oZml4ZWQsIDAsIDAsIG51bGwsIDApO1xuICB6LWluZGV4OiAkei1pbmRleDtcbn1cblxuLy8vIFBvc2l0aW9uIEZpeGVkIG9uIGJvdHRvbSBjb3JuZXJzXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICR6LWluZGV4IFskcHJvdG90eXBlLXBvc2l0aW9uLXotaW5kZXhdIHotaW5kZXggZm9yIGBwb3NpdGlvbi1maXhlZC1ib3R0b21gXG5AbWl4aW4gcG9zaXRpb24tZml4ZWQtYm90dG9tKFxuICAkei1pbmRleDogJHByb3RvdHlwZS1wb3NpdGlvbi16LWluZGV4XG4pIHtcbiAgQGluY2x1ZGUgcG9zaXRpb24oZml4ZWQsIG51bGwsIDAsIDAsIDApO1xuICB6LWluZGV4OiAkei1pbmRleDtcbn1cblxuQG1peGluIGZvdW5kYXRpb24tcHJvdG90eXBlLXBvc2l0aW9uIHtcbiAgLy8gUG9zaXRpb246IFN0YXRpYywgUmVsYXRpdmUsIEZpeGVkLCBBYnNvbHV0ZVxuICBAZWFjaCAkcG9zaXRpb24gaW4gJHByb3RvdHlwZS1wb3NpdGlvbiB7XG4gICAgLnBvc2l0aW9uLSN7JHBvc2l0aW9ufSB7XG4gICAgICBAaW5jbHVkZSBwb3NpdGlvbigkcG9zaXRpb24pO1xuICAgIH1cbiAgfVxuXG4gIC8vIFBvc2l0aW9uOiBGaXhlZCBUb3AsIEZpeGVkIEJvdHRvbVxuICAucG9zaXRpb24tZml4ZWQtdG9wIHtcbiAgICBAaW5jbHVkZSBwb3NpdGlvbi1maXhlZC10b3A7XG4gIH1cbiAgLnBvc2l0aW9uLWZpeGVkLWJvdHRvbSB7XG4gICAgQGluY2x1ZGUgcG9zaXRpb24tZml4ZWQtYm90dG9tO1xuICB9XG5cbiAgQGlmICgkcHJvdG90eXBlLXBvc2l0aW9uLWJyZWFrcG9pbnRzKSB7XG4gICAgLy8gTG9vcCB0aHJvdWdoIFJlc3BvbnNpdmUgQnJlYWtwb2ludHNcbiAgICBAZWFjaCAkc2l6ZSBpbiAkYnJlYWtwb2ludC1jbGFzc2VzIHtcbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJHNpemUpIHtcbiAgICAgICAgLy8gUG9zaXRpb246IFN0YXRpYywgUmVsYXRpdmUsIEZpeGVkLCBBYnNvbHV0ZVxuICAgICAgICBAZWFjaCAkcG9zaXRpb24gaW4gJHByb3RvdHlwZS1wb3NpdGlvbiB7XG4gICAgICAgICAgQGlmICRzaXplICE9ICQtemYtemVyby1icmVha3BvaW50IHtcbiAgICAgICAgICAgIC4jeyRzaXplfS1wb3NpdGlvbi0jeyRwb3NpdGlvbn0ge1xuICAgICAgICAgICAgICBAaW5jbHVkZSBwb3NpdGlvbigkcG9zaXRpb24pO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC8vIFBvc2l0aW9uOiBGaXhlZCBUb3AsIEZpeGVkIEJvdHRvbVxuICAgICAgICBAaWYgJHNpemUgIT0gJC16Zi16ZXJvLWJyZWFrcG9pbnQge1xuICAgICAgICAgIC4jeyRzaXplfS1wb3NpdGlvbi1maXhlZC10b3Age1xuICAgICAgICAgICAgQGluY2x1ZGUgcG9zaXRpb24tZml4ZWQtdG9wO1xuICAgICAgICAgIH1cblxuICAgICAgICAgIC4jeyRzaXplfS1wb3NpdGlvbi1maXhlZC1ib3R0b20ge1xuICAgICAgICAgICAgQGluY2x1ZGUgcG9zaXRpb24tZml4ZWQtYm90dG9tO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgcHJvdG90eXBlLWJvcmRlci1ib3hcbi8vLy9cblxuLy8vIFJlc3BvbnNpdmUgYnJlYWtwb2ludHMgZm9yIGJvcmRlciBib3guXG4vLy8gQHR5cGUgQm9vbGVhblxuJHByb3RvdHlwZS1ib3JkZXItYm94LWJyZWFrcG9pbnRzOiAkZ2xvYmFsLXByb3RvdHlwZS1icmVha3BvaW50cyAhZGVmYXVsdDtcblxuLy8vIEJvcmRlciBib3ggdXRpbGl0eVxuQG1peGluIGJvcmRlci1ib3gge1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94ICFpbXBvcnRhbnQ7XG59XG5cbkBtaXhpbiBmb3VuZGF0aW9uLXByb3RvdHlwZS1ib3JkZXItYm94IHtcbiAgLmJvcmRlci1ib3gge1xuICAgIEBpbmNsdWRlIGJvcmRlci1ib3g7XG4gIH1cblxuICBAaWYgKCRwcm90b3R5cGUtYm9yZGVyLWJveC1icmVha3BvaW50cykge1xuICAgIC8vIExvb3AgdGhyb3VnaCBSZXNwb25zaXZlIEJyZWFrcG9pbnRzXG4gICAgQGVhY2ggJHNpemUgaW4gJGJyZWFrcG9pbnQtY2xhc3NlcyB7XG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KCRzaXplKSB7XG4gICAgICAgIEBpZiAkc2l6ZSAhPSAkLXpmLXplcm8tYnJlYWtwb2ludCB7XG4gICAgICAgICAgLiN7JHNpemV9LWJvcmRlci1ib3gge1xuICAgICAgICAgICAgQGluY2x1ZGUgYm9yZGVyLWJveDtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIHByb3RvdHlwZS1ib3JkZXItbm9uZVxuLy8vL1xuXG4vLy8gUmVzcG9uc2l2ZSBicmVha3BvaW50cyBmb3IgYm9yZGVyIG5vbmUuXG4vLy8gQHR5cGUgQm9vbGVhblxuJHByb3RvdHlwZS1ib3JkZXItbm9uZS1icmVha3BvaW50czogJGdsb2JhbC1wcm90b3R5cGUtYnJlYWtwb2ludHMgIWRlZmF1bHQ7XG5cbi8vLyBCb3JkZXIgbm9uZSB1dGlsaXR5XG5AbWl4aW4gYm9yZGVyLW5vbmUge1xuICBib3JkZXI6IG5vbmUgIWltcG9ydGFudDtcbn1cblxuQG1peGluIGZvdW5kYXRpb24tcHJvdG90eXBlLWJvcmRlci1ub25lIHtcbiAgLmJvcmRlci1ub25lIHtcbiAgICBAaW5jbHVkZSBib3JkZXItbm9uZTtcbiAgfVxuXG4gIEBpZiAoJHByb3RvdHlwZS1ib3JkZXItbm9uZS1icmVha3BvaW50cykge1xuICAgIC8vIExvb3AgdGhyb3VnaCBSZXNwb25zaXZlIEJyZWFrcG9pbnRzXG4gICAgQGVhY2ggJHNpemUgaW4gJGJyZWFrcG9pbnQtY2xhc3NlcyB7XG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KCRzaXplKSB7XG4gICAgICAgIEBpZiAkc2l6ZSAhPSAkLXpmLXplcm8tYnJlYWtwb2ludCB7XG4gICAgICAgICAgLiN7JHNpemV9LWJvcmRlci1ub25lIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGJvcmRlci1ub25lO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgcHJvdG90eXBlLXNpemluZ1xuLy8vL1xuXG4vLy8gUmVzcG9uc2l2ZSBicmVha3BvaW50cyBmb3Igc3BhY2luZyBjbGFzc2VzIChtYXJnaW4gYW5kIHBhZGRpbmcpXG4vLy8gQHR5cGUgQm9vbGVhblxuJHByb3RvdHlwZS1zaXppbmctYnJlYWtwb2ludHM6ICRnbG9iYWwtcHJvdG90eXBlLWJyZWFrcG9pbnRzICFkZWZhdWx0O1xuXG4vLy8gTWFwIGNvbnRhaW5pbmcgYWxsIHRoZSBgc2l6aW5nYCBjbGFzc2VzXG4vLy8gQHR5cGUgTWFwXG4kcHJvdG90eXBlLXNpemluZzogKFxuICB3aWR0aCxcbiAgaGVpZ2h0XG4pICFkZWZhdWx0O1xuXG4vLy8gTWFwIGNvbnRhaW5pbmcgYWxsIHRoZSBzaXplcy5cbi8vLyBAdHlwZSBNYXBcbiRwcm90b3R5cGUtc2l6ZXM6IChcbiAgMjU6IDI1JSxcbiAgNTA6IDUwJSxcbiAgNzU6IDc1JSxcbiAgMTAwOiAxMDAlXG4pICFkZWZhdWx0O1xuXG4vLy8gTWF4IFdpZHRoIDEwMCB1dGlsaXR5LlxuQG1peGluIG1heC13aWR0aC0xMDAge1xuICBtYXgtd2lkdGg6IDEwMCUgIWltcG9ydGFudDtcbn1cblxuLy8vIE1heCBIZWlnaHQgMTAwIHV0aWxpdHkuXG5AbWl4aW4gbWF4LWhlaWdodC0xMDAge1xuICBtYXgtaGVpZ2h0OiAxMDAlICFpbXBvcnRhbnQ7XG59XG5cbkBtaXhpbiBmb3VuZGF0aW9uLXByb3RvdHlwZS1zaXppbmcge1xuICAvLyBFbGVtZW50IFNpemluZ1xuICBAZWFjaCAkc2l6aW5nIGluICRwcm90b3R5cGUtc2l6aW5nIHtcbiAgICBAZWFjaCAkbGVuZ3RoLCAkcGVyY2VudGFnZSBpbiAkcHJvdG90eXBlLXNpemVzIHtcbiAgICAgIC4jeyRzaXppbmd9LSN7JGxlbmd0aH0ge1xuICAgICAgICAjeyRzaXppbmd9OiAkcGVyY2VudGFnZSAhaW1wb3J0YW50O1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC8vIE1heCB3aWR0aCAmIGhlaWdodFxuICAubWF4LXdpZHRoLTEwMCB7XG4gICAgQGluY2x1ZGUgbWF4LXdpZHRoLTEwMDtcbiAgfVxuICAubWF4LWhlaWdodC0xMDAge1xuICAgIEBpbmNsdWRlIG1heC1oZWlnaHQtMTAwO1xuICB9XG5cbiAgQGlmICgkcHJvdG90eXBlLXNpemluZy1icmVha3BvaW50cykge1xuICAgIC8vIExvb3AgdGhyb3VnaCBSZXNwb25zaXZlIEJyZWFrcG9pbnRzXG4gICAgQGVhY2ggJHNpemUgaW4gJGJyZWFrcG9pbnQtY2xhc3NlcyB7XG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KCRzaXplKSB7XG4gICAgICAgIEBpZiAkc2l6ZSAhPSAkLXpmLXplcm8tYnJlYWtwb2ludCB7XG4gICAgICAgICAgQGVhY2ggJHNpemluZyBpbiAkcHJvdG90eXBlLXNpemluZyB7XG4gICAgICAgICAgICBAZWFjaCAkbGVuZ3RoLCAkcGVyY2VudGFnZSBpbiAkcHJvdG90eXBlLXNpemVzIHtcbiAgICAgICAgICAgICAgLiN7JHNpemV9LSN7JHNpemluZ30tI3skbGVuZ3RofSB7XG4gICAgICAgICAgICAgICAgI3skc2l6aW5nfTogJHBlcmNlbnRhZ2UgIWltcG9ydGFudDtcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgcHJvdG90eXBlLXNwYWNpbmdcbi8vLy9cblxuLy8vIFJlc3BvbnNpdmUgYnJlYWtwb2ludHMgZm9yIHNwYWNpbmcgY2xhc3NlcyAobWFyZ2luIGFuZCBwYWRkaW5nKVxuLy8vIEB0eXBlIEJvb2xlYW5cbiRwcm90b3R5cGUtc3BhY2luZy1icmVha3BvaW50czogJGdsb2JhbC1wcm90b3R5cGUtYnJlYWtwb2ludHMgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IG51bWJlciBvZiBzcGFjZXJzIGNvdW50IChtYXJnaW4gYW5kIHBhZGRpbmcpXG4vLy8gQHR5cGUgTnVtYmVyXG4kcHJvdG90eXBlLXNwYWNlcnMtY291bnQ6IDMgIWRlZmF1bHQ7XG5cbi8vLyBNYXJnaW4gaGVscGVyIG1peGluLCBhbGwgdGhlIHZhbHVlcyBhcmUgbXVsdGlwbGllZCBieSBgJGdsb2JhbC1tYXJnaW5gIHdoaWNoIGJ5IGRlZmF1bHQgaXMgZXF1YWwgdG8gYDFyZW1gXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICR0b3AgW251bGxdIC0gTWFyZ2luIFRvcFxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkcmlnaHQgW251bGxdIC0gTWFyZ2luIFJpZ2h0XG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRib3R0b20gW251bGxdIC0gTWFyZ2luIEJvdHRvbVxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkbGVmdCBbbnVsbF0gLSBNYXJnaW4gTGVmdFxuQG1peGluIG1hcmdpbihcbiAgJHRvcDogbnVsbCxcbiAgJHJpZ2h0OiBudWxsLFxuICAkYm90dG9tOiBudWxsLFxuICAkbGVmdDogbnVsbFxuKSB7XG4gIEBpZiAkdG9wICE9IG51bGwge1xuICAgIG1hcmdpbi10b3A6ICR0b3AgKiAkZ2xvYmFsLW1hcmdpbiAhaW1wb3J0YW50O1xuICB9XG4gIEBpZiAkcmlnaHQgIT0gbnVsbCB7XG4gICAgbWFyZ2luLXJpZ2h0OiAkcmlnaHQgKiAkZ2xvYmFsLW1hcmdpbiAhaW1wb3J0YW50O1xuICB9XG4gIEBpZiAkYm90dG9tICE9IG51bGwge1xuICAgIG1hcmdpbi1ib3R0b206ICRib3R0b20gKiAkZ2xvYmFsLW1hcmdpbiAhaW1wb3J0YW50O1xuICB9XG4gIEBpZiAkbGVmdCAhPSBudWxsIHtcbiAgICBtYXJnaW4tbGVmdDogJGxlZnQgKiAkZ2xvYmFsLW1hcmdpbiAhaW1wb3J0YW50O1xuICB9XG59XG5cbi8vLyBQYWRkaW5nIGhlbHBlciBtaXhpbiwgYWxsIHRoZSB2YWx1ZXMgYXJlIG11bHRpcGxpZWQgYnkgYCRnbG9iYWwtcGFkZGluZ2Agd2hpY2ggYnkgZGVmYXVsdCBpcyBlcXVhbCB0byBgMXJlbWBcbi8vLyBAcGFyYW0ge051bWJlcn0gJHRvcCBbbnVsbF0gLSBQYWRkaW5nIFRvcFxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkcmlnaHQgW251bGxdIC0gUGFkZGluZyBSaWdodFxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkYm90dG9tIFtudWxsXSAtIFBhZGRpbmcgQm90dG9tXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRsZWZ0IFtudWxsXSAtIFBhZGRpbmcgTGVmdFxuQG1peGluIHBhZGRpbmcoXG4gICR0b3A6IG51bGwsXG4gICRyaWdodDogbnVsbCxcbiAgJGJvdHRvbTogbnVsbCxcbiAgJGxlZnQ6IG51bGxcbikge1xuICBAaWYgJHRvcCAhPSBudWxsIHtcbiAgICBwYWRkaW5nLXRvcDogJHRvcCAqICRnbG9iYWwtcGFkZGluZyAhaW1wb3J0YW50O1xuICB9XG4gIEBpZiAkcmlnaHQgIT0gbnVsbCB7XG4gICAgcGFkZGluZy1yaWdodDogJHJpZ2h0ICogJGdsb2JhbC1wYWRkaW5nICFpbXBvcnRhbnQ7XG4gIH1cbiAgQGlmICRib3R0b20gIT0gbnVsbCB7XG4gICAgcGFkZGluZy1ib3R0b206ICRib3R0b20gKiAkZ2xvYmFsLXBhZGRpbmcgIWltcG9ydGFudDtcbiAgfVxuICBAaWYgJGxlZnQgIT0gbnVsbCB7XG4gICAgcGFkZGluZy1sZWZ0OiAkbGVmdCAqICRnbG9iYWwtcGFkZGluZyAhaW1wb3J0YW50O1xuICB9XG59XG5cbkBtaXhpbiBmb3VuZGF0aW9uLXByb3RvdHlwZS1zcGFjaW5nIHtcbiAgQGZvciAkc3BhY2VyIGZyb20gMCB0aHJvdWdoICRwcm90b3R5cGUtc3BhY2Vycy1jb3VudCB7XG4gICAgLy8gQWxsIFNpZGVzXG4gICAgLm1hcmdpbi0jeyRzcGFjZXJ9IHtcbiAgICAgIEBpbmNsdWRlIG1hcmdpbigkc3BhY2VyLCAkc3BhY2VyLCAkc3BhY2VyLCAkc3BhY2VyKTtcbiAgICB9XG5cbiAgICAucGFkZGluZy0jeyRzcGFjZXJ9IHtcbiAgICAgIEBpbmNsdWRlIHBhZGRpbmcoJHNwYWNlciwgJHNwYWNlciwgJHNwYWNlciwgJHNwYWNlcik7XG4gICAgfVxuXG4gICAgLy8gVG9wIFNpZGVcbiAgICAubWFyZ2luLXRvcC0jeyRzcGFjZXJ9IHtcbiAgICAgIEBpbmNsdWRlIG1hcmdpbigkc3BhY2VyLCBudWxsLCBudWxsLCBudWxsKTtcbiAgICB9XG5cbiAgICAucGFkZGluZy10b3AtI3skc3BhY2VyfSB7XG4gICAgICBAaW5jbHVkZSBwYWRkaW5nKCRzcGFjZXIsIG51bGwsIG51bGwsIG51bGwpO1xuICAgIH1cblxuICAgIC8vIFJpZ2h0IFNpZGVcbiAgICAubWFyZ2luLXJpZ2h0LSN7JHNwYWNlcn0ge1xuICAgICAgQGluY2x1ZGUgbWFyZ2luKG51bGwsICRzcGFjZXIsIG51bGwsIG51bGwpO1xuICAgIH1cblxuICAgIC5wYWRkaW5nLXJpZ2h0LSN7JHNwYWNlcn0ge1xuICAgICAgQGluY2x1ZGUgcGFkZGluZyhudWxsLCAkc3BhY2VyLCBudWxsLCBudWxsKTtcbiAgICB9XG5cbiAgICAvLyBCb3R0b20gU2lkZVxuICAgIC5tYXJnaW4tYm90dG9tLSN7JHNwYWNlcn0ge1xuICAgICAgQGluY2x1ZGUgbWFyZ2luKG51bGwsIG51bGwsICRzcGFjZXIsIG51bGwpO1xuICAgIH1cblxuICAgIC5wYWRkaW5nLWJvdHRvbS0jeyRzcGFjZXJ9IHtcbiAgICAgIEBpbmNsdWRlIHBhZGRpbmcobnVsbCwgbnVsbCwgJHNwYWNlciwgbnVsbCk7XG4gICAgfVxuXG4gICAgLy8gTGVmdCBTaWRlXG4gICAgLm1hcmdpbi1sZWZ0LSN7JHNwYWNlcn0ge1xuICAgICAgQGluY2x1ZGUgbWFyZ2luKG51bGwsIG51bGwsIG51bGwsICRzcGFjZXIpO1xuICAgIH1cblxuICAgIC5wYWRkaW5nLWxlZnQtI3skc3BhY2VyfSB7XG4gICAgICBAaW5jbHVkZSBwYWRkaW5nKG51bGwsIG51bGwsIG51bGwsICRzcGFjZXIpO1xuICAgIH1cblxuICAgIC8vIEhvcml6b250YWwgQXhlc1xuICAgIC5tYXJnaW4taG9yaXpvbnRhbC0jeyRzcGFjZXJ9IHtcbiAgICAgIEBpbmNsdWRlIG1hcmdpbihudWxsLCAkc3BhY2VyLCBudWxsLCAkc3BhY2VyKTtcbiAgICB9XG5cbiAgICAucGFkZGluZy1ob3Jpem9udGFsLSN7JHNwYWNlcn0ge1xuICAgICAgQGluY2x1ZGUgcGFkZGluZyhudWxsLCAkc3BhY2VyLCBudWxsLCAkc3BhY2VyKTtcbiAgICB9XG5cbiAgICAvLyBWZXJ0aWNhbCBBeGVzXG4gICAgLm1hcmdpbi12ZXJ0aWNhbC0jeyRzcGFjZXJ9IHtcbiAgICAgIEBpbmNsdWRlIG1hcmdpbigkc3BhY2VyLCBudWxsLCAkc3BhY2VyLCBudWxsKVxuICAgIH1cblxuICAgIC5wYWRkaW5nLXZlcnRpY2FsLSN7JHNwYWNlcn0ge1xuICAgICAgQGluY2x1ZGUgcGFkZGluZygkc3BhY2VyLCBudWxsLCAkc3BhY2VyLCBudWxsKVxuICAgIH1cblxuICAgIEBpZiAoJHByb3RvdHlwZS1zcGFjaW5nLWJyZWFrcG9pbnRzKSB7XG4gICAgLy8gTG9vcCB0aHJvdWdoIFJlc3BvbnNpdmUgQnJlYWtwb2ludHNcbiAgICAgIEBlYWNoICRzaXplIGluICRicmVha3BvaW50LWNsYXNzZXMge1xuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KCRzaXplKSB7XG4gICAgICAgICAgQGlmICRzaXplICE9ICQtemYtemVyby1icmVha3BvaW50IHtcbiAgICAgICAgICAgIC8vIEFsbCBTaWRlc1xuICAgICAgICAgICAgLiN7JHNpemV9LW1hcmdpbi0jeyRzcGFjZXJ9IHtcbiAgICAgICAgICAgICAgQGluY2x1ZGUgbWFyZ2luKCRzcGFjZXIsICRzcGFjZXIsICRzcGFjZXIsICRzcGFjZXIpO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAuI3skc2l6ZX0tcGFkZGluZy0jeyRzcGFjZXJ9IHtcbiAgICAgICAgICAgICAgQGluY2x1ZGUgcGFkZGluZygkc3BhY2VyLCAkc3BhY2VyLCAkc3BhY2VyLCAkc3BhY2VyKTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLy8gVG9wIFNpZGVcbiAgICAgICAgICAgIC4jeyRzaXplfS1tYXJnaW4tdG9wLSN7JHNwYWNlcn0ge1xuICAgICAgICAgICAgICBAaW5jbHVkZSBtYXJnaW4oJHNwYWNlciwgbnVsbCwgbnVsbCwgbnVsbCk7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC4jeyRzaXplfS1wYWRkaW5nLXRvcC0jeyRzcGFjZXJ9IHtcbiAgICAgICAgICAgICAgQGluY2x1ZGUgcGFkZGluZygkc3BhY2VyLCBudWxsLCBudWxsLCBudWxsKTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLy8gUmlnaHQgU2lkZVxuICAgICAgICAgICAgLiN7JHNpemV9LW1hcmdpbi1yaWdodC0jeyRzcGFjZXJ9IHtcbiAgICAgICAgICAgICAgQGluY2x1ZGUgbWFyZ2luKG51bGwsICRzcGFjZXIsIG51bGwsIG51bGwpO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAuI3skc2l6ZX0tcGFkZGluZy1yaWdodC0jeyRzcGFjZXJ9IHtcbiAgICAgICAgICAgICAgQGluY2x1ZGUgcGFkZGluZyhudWxsLCAkc3BhY2VyLCBudWxsLCBudWxsKTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLy8gQm90dG9tIFNpZGVcbiAgICAgICAgICAgIC4jeyRzaXplfS1tYXJnaW4tYm90dG9tLSN7JHNwYWNlcn0ge1xuICAgICAgICAgICAgICBAaW5jbHVkZSBtYXJnaW4obnVsbCwgbnVsbCwgJHNwYWNlciwgbnVsbCk7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC4jeyRzaXplfS1wYWRkaW5nLWJvdHRvbS0jeyRzcGFjZXJ9IHtcbiAgICAgICAgICAgICAgQGluY2x1ZGUgcGFkZGluZyhudWxsLCBudWxsLCAkc3BhY2VyLCBudWxsKTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLy8gTGVmdCBTaWRlXG4gICAgICAgICAgICAuI3skc2l6ZX0tbWFyZ2luLWxlZnQtI3skc3BhY2VyfSB7XG4gICAgICAgICAgICAgIEBpbmNsdWRlIG1hcmdpbihudWxsLCBudWxsLCBudWxsLCAkc3BhY2VyKTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLiN7JHNpemV9LXBhZGRpbmctbGVmdC0jeyRzcGFjZXJ9IHtcbiAgICAgICAgICAgICAgQGluY2x1ZGUgcGFkZGluZyhudWxsLCBudWxsLCBudWxsLCAkc3BhY2VyKTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLy8gSG9yaXpvbnRhbCBBeGVzXG4gICAgICAgICAgICAuI3skc2l6ZX0tbWFyZ2luLWhvcml6b250YWwtI3skc3BhY2VyfSB7XG4gICAgICAgICAgICAgIEBpbmNsdWRlIG1hcmdpbihudWxsLCAkc3BhY2VyLCBudWxsLCAkc3BhY2VyKTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLiN7JHNpemV9LXBhZGRpbmctaG9yaXpvbnRhbC0jeyRzcGFjZXJ9IHtcbiAgICAgICAgICAgICAgQGluY2x1ZGUgcGFkZGluZyhudWxsLCAkc3BhY2VyLCBudWxsLCAkc3BhY2VyKTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLy8gVmVydGljYWwgQXhlc1xuICAgICAgICAgICAgLiN7JHNpemV9LW1hcmdpbi12ZXJ0aWNhbC0jeyRzcGFjZXJ9IHtcbiAgICAgICAgICAgICAgQGluY2x1ZGUgbWFyZ2luKCRzcGFjZXIsIG51bGwsICRzcGFjZXIsIG51bGwpXG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC4jeyRzaXplfS1wYWRkaW5nLXZlcnRpY2FsLSN7JHNwYWNlcn0ge1xuICAgICAgICAgICAgICBAaW5jbHVkZSBwYWRkaW5nKCRzcGFjZXIsIG51bGwsICRzcGFjZXIsIG51bGwpXG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuQGltcG9ydCAnbWF0aCc7XG5AaW1wb3J0ICd1bml0JztcbkBpbXBvcnQgJ3ZhbHVlJztcbkBpbXBvcnQgJ2RpcmVjdGlvbic7XG5AaW1wb3J0ICdjb2xvcic7XG5AaW1wb3J0ICdzZWxlY3Rvcic7XG5AaW1wb3J0ICdmbGV4JztcbkBpbXBvcnQgJ2JyZWFrcG9pbnQnO1xuQGltcG9ydCAnbWl4aW5zJztcbkBpbXBvcnQgJ3R5cG9ncmFwaHknO1xuIiwiLy8gIEZvdW5kYXRpb24gZm9yIFNpdGVzIFNldHRpbmdzXG4vLyAgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbi8vXG4vLyAgVGFibGUgb2YgQ29udGVudHM6XG4vL1xuLy8gICAxLiBHbG9iYWxcbi8vICAgMi4gQnJlYWtwb2ludHNcbi8vICAgMy4gVGhlIEdyaWRcbi8vICAgNC4gQmFzZSBUeXBvZ3JhcGh5XG4vLyAgIDUuIFR5cG9ncmFwaHkgSGVscGVyc1xuLy8gICA2LiBBYmlkZVxuLy8gICA3LiBBY2NvcmRpb25cbi8vICAgOC4gQWNjb3JkaW9uIE1lbnVcbi8vICAgOS4gQmFkZ2Vcbi8vICAxMC4gQnJlYWRjcnVtYnNcbi8vICAxMS4gQnV0dG9uXG4vLyAgMTIuIEJ1dHRvbiBHcm91cFxuLy8gIDEzLiBDYWxsb3V0XG4vLyAgMTQuIENhcmRcbi8vICAxNS4gQ2xvc2UgQnV0dG9uXG4vLyAgMTYuIERyaWxsZG93blxuLy8gIDE3LiBEcm9wZG93blxuLy8gIDE4LiBEcm9wZG93biBNZW51XG4vLyAgMTkuIEZvcm1zXG4vLyAgMjAuIExhYmVsXG4vLyAgMjEuIE1lZGlhIE9iamVjdFxuLy8gIDIyLiBNZW51XG4vLyAgMjMuIE1ldGVyXG4vLyAgMjQuIE9mZi1jYW52YXNcbi8vICAyNS4gT3JiaXRcbi8vICAyNi4gUGFnaW5hdGlvblxuLy8gIDI3LiBQcm9ncmVzcyBCYXJcbi8vICAyOC4gUmVzcG9uc2l2ZSBFbWJlZFxuLy8gIDI5LiBSZXZlYWxcbi8vICAzMC4gU2xpZGVyXG4vLyAgMzEuIFN3aXRjaFxuLy8gIDMyLiBUYWJsZVxuLy8gIDMzLiBUYWJzXG4vLyAgMzQuIFRodW1ibmFpbFxuLy8gIDM1LiBUaXRsZSBCYXJcbi8vICAzNi4gVG9vbHRpcFxuLy8gIDM3LiBUb3AgQmFyXG5cbi8vIDEuIEdsb2JhbFxuLy8gLS0tLS0tLS0tXG5cbiRnbG9iYWwtZm9udC1zaXplOiAxOHB4O1xuJGdsb2JhbC13aWR0aDogcmVtLWNhbGMoMTIwMCk7XG4kZ2xvYmFsLWxpbmVoZWlnaHQ6IDEuNTtcbiRmb3VuZGF0aW9uLXBhbGV0dGU6IChcbiAgICAgICAgcHJpbWFyeTogIzE3NzliYSxcbiAgICAgICAgc2Vjb25kYXJ5OiAjNzY3Njc2LFxuICAgICAgICBzdWNjZXNzOiAjM2FkYjc2LFxuICAgICAgICB3YXJuaW5nOiAjZmZhZTAwLFxuICAgICAgICBhbGVydDogI2NjNGIzNyxcbik7XG4kbGlnaHQtZ3JheTogI2U2ZTZlNjtcbiRtZWRpdW0tZ3JheTogI2NhY2FjYTtcbiRkYXJrLWdyYXk6ICM4YThhOGE7XG4kYmxhY2s6ICMwYTBhMGE7XG4kd2hpdGU6ICNmZWZlZmU7XG4kYm9keS1iYWNrZ3JvdW5kOiAkd2hpdGU7XG4kYm9keS1mb250LWNvbG9yOiAjNTI1MjUyOy8vIzE4MTYxZjtcbiRib2R5LWZvbnQtZmFtaWx5OiAnQnJldmVTYW5zJywgc2Fucy1zZXJpZjtcbiRib2R5LWFudGlhbGlhc2VkOiB0cnVlO1xuJGdsb2JhbC1tYXJnaW46IDFyZW07XG4kZ2xvYmFsLXBhZGRpbmc6IDFyZW07XG4kZ2xvYmFsLXdlaWdodC1ub3JtYWw6IG5vcm1hbDtcbiRnbG9iYWwtd2VpZ2h0LWJvb2s6IDMwMDtcbiRnbG9iYWwtd2VpZ2h0LW1lZGl1bTogNjAwO1xuJGdsb2JhbC13ZWlnaHQtYm9sZDogYm9sZDtcbiRnbG9iYWwtcmFkaXVzOiAwO1xuJGdsb2JhbC10ZXh0LWRpcmVjdGlvbjogbHRyO1xuJGdsb2JhbC1mbGV4Ym94OiB0cnVlO1xuJHByaW50LXRyYW5zcGFyZW50LWJhY2tncm91bmRzOiB0cnVlO1xuXG5AaW5jbHVkZSBhZGQtZm91bmRhdGlvbi1jb2xvcnM7XG5cbi8vIDIuIEJyZWFrcG9pbnRzXG4vLyAtLS0tLS0tLS0tLS0tLVxuXG4kYnJlYWtwb2ludHM6IChcbiAgICAgICAgc21hbGw6IDAsXG4gICAgICAgIG1lZGl1bTogNzY4cHgsXG4gICAgICAgIGxhcmdlOiAxMDI0cHgsXG4gICAgICAgIHhsYXJnZTogMTIwMHB4LFxuICAgICAgICB4eGxhcmdlOiAxNDQwcHgsXG4gICAgICAgIHh4eGxhcmdlOiAxOTAwcHgsXG4pO1xuLyokcHJpbnQtYnJlYWtwb2ludDogc21hbGw7Ki9cbiRicmVha3BvaW50LWNsYXNzZXM6IChzbWFsbCBtZWRpdW0gbGFyZ2UgeGxhcmdlIHh4bGFyZ2UpO1xuXG4vLyAzLiBUaGUgR3JpZFxuLy8gLS0tLS0tLS0tLS1cblxuJGdyaWQtcm93LXdpZHRoOiAkZ2xvYmFsLXdpZHRoO1xuJGdyaWQtY29sdW1uLWNvdW50OiAxMjtcbiRncmlkLWNvbHVtbi1ndXR0ZXI6IChcbiAgICAgICAgc21hbGw6IDhweCxcbiAgICAgICAgbWVkaXVtOiAxNnB4LFxuKTtcbiRncmlkLWNvbHVtbi1hbGlnbi1lZGdlOiB0cnVlO1xuJGJsb2NrLWdyaWQtbWF4OiA4O1xuXG4vLyA0LiBCYXNlIFR5cG9ncmFwaHlcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLVxuXG4kaGVhZGVyLWZvbnQtZmFtaWx5OiAnQnJldmVTbGFiVGl0bGUnLCBzYW5zLXNlcmlmO1xuJGhlYWRlci1mb250LXdlaWdodDogJGdsb2JhbC13ZWlnaHQtbm9ybWFsO1xuJGhlYWRlci1mb250LXN0eWxlOiBub3JtYWw7XG4kZm9udC1mYW1pbHktbW9ub3NwYWNlOiAnQnJldmVTbGFiVGl0bGUnLCBzYW5zLXNlcmlmO1xuJGhlYWRlci1jb2xvcjogIzE4MTYxZjtcbiRoZWFkZXItbGluZWhlaWdodDogMS4yO1xuJGhlYWRlci1tYXJnaW4tYm90dG9tOiAwLjVyZW07XG4kaGVhZGVyLXN0eWxlczogKFxuICAgICAgICBzbWFsbDogKFxuICAgICAgICAgICAgICAgICdoMSc6ICgnZm9udC1zaXplJzogMzgpLFxuICAgICAgICAgICAgICAgICdoMic6ICgnZm9udC1zaXplJzogMzIpLFxuICAgICAgICAgICAgICAgICdoMyc6ICgnZm9udC1zaXplJzogMjgpLFxuICAgICAgICAgICAgICAgICdoNCc6ICgnZm9udC1zaXplJzogMjYpLFxuICAgICAgICAgICAgICAgICdoNSc6ICgnZm9udC1zaXplJzogMjIpLFxuICAgICAgICAgICAgICAgICdoNic6ICgnZm9udC1zaXplJzogMjApLFxuICAgICAgICApLFxuICAgICAgICBtZWRpdW06IChcbiAgICAgICAgICAgICAgICAnaDEnOiAoJ2ZvbnQtc2l6ZSc6IDUwKSxcbiAgICAgICAgICAgICAgICAnaDInOiAoJ2ZvbnQtc2l6ZSc6IDM2KSxcbiAgICAgICAgICAgICAgICAnaDMnOiAoJ2ZvbnQtc2l6ZSc6IDMyKSxcbiAgICAgICAgICAgICAgICAnaDQnOiAoJ2ZvbnQtc2l6ZSc6IDI4KSxcbiAgICAgICAgICAgICAgICAnaDUnOiAoJ2ZvbnQtc2l6ZSc6IDI0KSxcbiAgICAgICAgICAgICAgICAnaDYnOiAoJ2ZvbnQtc2l6ZSc6IDIyKSxcbiAgICAgICAgKSxcbiAgICAgICAgbGFyZ2U6IChcbiAgICAgICAgICAgICAgICAnaDEnOiAoJ2ZvbnQtc2l6ZSc6IDU2KSxcbiAgICAgICAgICAgICAgICAnaDInOiAoJ2ZvbnQtc2l6ZSc6IDM4KSxcbiAgICAgICAgICAgICAgICAnaDMnOiAoJ2ZvbnQtc2l6ZSc6IDM0KSxcbiAgICAgICAgICAgICAgICAnaDQnOiAoJ2ZvbnQtc2l6ZSc6IDI4KSxcbiAgICAgICAgICAgICAgICAnaDUnOiAoJ2ZvbnQtc2l6ZSc6IDI0KSxcbiAgICAgICAgICAgICAgICAnaDYnOiAoJ2ZvbnQtc2l6ZSc6IDIyKSxcbiAgICAgICAgKSxcbik7XG4kaGVhZGVyLXRleHQtcmVuZGVyaW5nOiBvcHRpbWl6ZUxlZ2liaWxpdHk7XG4kc21hbGwtZm9udC1zaXplOiA4MCU7XG4kaGVhZGVyLXNtYWxsLWZvbnQtY29sb3I6ICRtZWRpdW0tZ3JheTtcbiRwYXJhZ3JhcGgtbGluZWhlaWdodDogMjhweDtcbiRwYXJhZ3JhcGgtbWFyZ2luLWJvdHRvbTogMXJlbTtcbiRwYXJhZ3JhcGgtdGV4dC1yZW5kZXJpbmc6IG9wdGltaXplTGVnaWJpbGl0eTtcbiRjb2RlLWNvbG9yOiAkYmxhY2s7XG4kY29kZS1mb250LWZhbWlseTogJGZvbnQtZmFtaWx5LW1vbm9zcGFjZTtcbiRjb2RlLWZvbnQtd2VpZ2h0OiAkZ2xvYmFsLXdlaWdodC1ub3JtYWw7XG4kY29kZS1iYWNrZ3JvdW5kOiAkbGlnaHQtZ3JheTtcbiRjb2RlLWJvcmRlcjogMXB4IHNvbGlkICRtZWRpdW0tZ3JheTtcbiRjb2RlLXBhZGRpbmc6IHJlbS1jYWxjKDIgNSAxKTtcbiRhbmNob3ItY29sb3I6ICRwcmltYXJ5LWNvbG9yO1xuJGFuY2hvci1jb2xvci1ob3Zlcjogc2NhbGUtY29sb3IoJGFuY2hvci1jb2xvciwgJGxpZ2h0bmVzczogLTE0JSk7XG4kYW5jaG9yLXRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiRhbmNob3ItdGV4dC1kZWNvcmF0aW9uLWhvdmVyOiBub25lO1xuJGhyLXdpZHRoOiAkZ2xvYmFsLXdpZHRoO1xuJGhyLWJvcmRlcjogMnB4IHNvbGlkICNkMWQxZDI7XG4kaHItbWFyZ2luOiAwIGF1dG8gcmVtLWNhbGMoNDApIGF1dG87XG4kbGlzdC1saW5laGVpZ2h0OiAkcGFyYWdyYXBoLWxpbmVoZWlnaHQ7XG4kbGlzdC1tYXJnaW4tYm90dG9tOiAkcGFyYWdyYXBoLW1hcmdpbi1ib3R0b207XG4kbGlzdC1zdHlsZS10eXBlOiBkaXNjO1xuJGxpc3Qtc3R5bGUtcG9zaXRpb246IG91dHNpZGU7XG4kbGlzdC1zaWRlLW1hcmdpbjogMTVweDtcbiRsaXN0LW5lc3RlZC1zaWRlLW1hcmdpbjogMS4yNXJlbTtcbiRkZWZubGlzdC1tYXJnaW4tYm90dG9tOiAxcmVtO1xuJGRlZm5saXN0LXRlcm0td2VpZ2h0OiAkZ2xvYmFsLXdlaWdodC1ib2xkO1xuJGRlZm5saXN0LXRlcm0tbWFyZ2luLWJvdHRvbTogMC4zcmVtO1xuJGJsb2NrcXVvdGUtY29sb3I6ICMxODE3MWU7XG4kYmxvY2txdW90ZS1wYWRkaW5nOiByZW0tY2FsYygyOCA0MCAyOCA0MCk7XG4kYmxvY2txdW90ZS1ib3JkZXI6IDAgbm9uZTtcbiRjaXRlLWZvbnQtc2l6ZTogcmVtLWNhbGMoMTgpO1xuJGNpdGUtY29sb3I6ICMxODE3MWU7XG4kY2l0ZS1wc2V1ZG8tY29udGVudDogJ1xcMjAxNCBcXDAwMjAnO1xuJGtleXN0cm9rZS1mb250OiAkZm9udC1mYW1pbHktbW9ub3NwYWNlO1xuJGtleXN0cm9rZS1jb2xvcjogJGJsYWNrO1xuJGtleXN0cm9rZS1iYWNrZ3JvdW5kOiAkbGlnaHQtZ3JheTtcbiRrZXlzdHJva2UtcGFkZGluZzogcmVtLWNhbGMoMiA0IDApO1xuJGtleXN0cm9rZS1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xuJGFiYnItdW5kZXJsaW5lOiAxcHggZG90dGVkICRibGFjaztcblxuLy8gNS4gVHlwb2dyYXBoeSBIZWxwZXJzXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuJGxlYWQtZm9udC1zaXplOiAkZ2xvYmFsLWZvbnQtc2l6ZSAqIDEuMjU7XG4kbGVhZC1saW5laGVpZ2h0OiAxLjY7XG4kc3ViaGVhZGVyLWxpbmVoZWlnaHQ6IDEuNDtcbiRzdWJoZWFkZXItY29sb3I6ICRkYXJrLWdyYXk7XG4kc3ViaGVhZGVyLWZvbnQtd2VpZ2h0OiAkZ2xvYmFsLXdlaWdodC1ub3JtYWw7XG4kc3ViaGVhZGVyLW1hcmdpbi10b3A6IDAuMnJlbTtcbiRzdWJoZWFkZXItbWFyZ2luLWJvdHRvbTogMC41cmVtO1xuJHN0YXQtZm9udC1zaXplOiAyLjVyZW07XG5cbi8vIDYuIEFiaWRlXG4vLyAtLS0tLS0tLVxuXG4kYWJpZGUtaW5wdXRzOiB0cnVlO1xuJGFiaWRlLWxhYmVsczogdHJ1ZTtcbiRpbnB1dC1iYWNrZ3JvdW5kLWludmFsaWQ6IGdldC1jb2xvcihhbGVydCk7XG4kZm9ybS1sYWJlbC1jb2xvci1pbnZhbGlkOiBnZXQtY29sb3IoYWxlcnQpO1xuJGlucHV0LWVycm9yLWNvbG9yOiBnZXQtY29sb3IoYWxlcnQpO1xuJGlucHV0LWVycm9yLWZvbnQtc2l6ZTogcmVtLWNhbGMoMTIpO1xuJGlucHV0LWVycm9yLWZvbnQtd2VpZ2h0OiAkZ2xvYmFsLXdlaWdodC1ib2xkO1xuXG4vLyA3LiBBY2NvcmRpb25cbi8vIC0tLS0tLS0tLS0tLVxuXG4kYWNjb3JkaW9uLWJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuJGFjY29yZGlvbi1wbHVzbWludXM6IHRydWU7XG4kYWNjb3JkaW9uLXRpdGxlLWZvbnQtc2l6ZTogcmVtLWNhbGMoMjQpO1xuJGFjY29yZGlvbi1pdGVtLWNvbG9yOiAjNTI1MjUyO1xuJGFjY29yZGlvbi1pdGVtLWJhY2tncm91bmQtaG92ZXI6ICM4MTc5NmY7XG4kYWNjb3JkaW9uLWl0ZW0tcGFkZGluZzogMS4yNXJlbSAxcmVtO1xuJGFjY29yZGlvbi1jb250ZW50LWJhY2tncm91bmQ6ICNmOWY5Zjk7XG4kYWNjb3JkaW9uLWNvbnRlbnQtYm9yZGVyOiAwIG5vbmU7XG4kYWNjb3JkaW9uLWNvbnRlbnQtY29sb3I6ICM1MjUyNTI7XG4kYWNjb3JkaW9uLWNvbnRlbnQtcGFkZGluZzogMXJlbTtcblxuLy8gOC4gQWNjb3JkaW9uIE1lbnVcbi8vIC0tLS0tLS0tLS0tLS0tLS0tXG5cbiRhY2NvcmRpb25tZW51LWFycm93czogdHJ1ZTtcbiRhY2NvcmRpb25tZW51LWFycm93LWNvbG9yOiAkcHJpbWFyeS1jb2xvcjtcbiRhY2NvcmRpb25tZW51LWFycm93LXNpemU6IDZweDtcblxuLy8gOS4gQmFkZ2Vcbi8vIC0tLS0tLS0tXG5cbiRiYWRnZS1iYWNrZ3JvdW5kOiAkcHJpbWFyeS1jb2xvcjtcbiRiYWRnZS1jb2xvcjogJHdoaXRlO1xuJGJhZGdlLWNvbG9yLWFsdDogJGJsYWNrO1xuJGJhZGdlLXBhbGV0dGU6ICRmb3VuZGF0aW9uLXBhbGV0dGU7XG4kYmFkZ2UtcGFkZGluZzogMC4zZW07XG4kYmFkZ2UtbWlud2lkdGg6IDIuMWVtO1xuJGJhZGdlLWZvbnQtc2l6ZTogMC42cmVtO1xuXG4vLyAxMC4gQnJlYWRjcnVtYnNcbi8vIC0tLS0tLS0tLS0tLS0tLVxuXG4kYnJlYWRjcnVtYnMtbWFyZ2luOiAwIDAgJGdsb2JhbC1tYXJnaW4gMDtcbiRicmVhZGNydW1icy1pdGVtLWZvbnQtc2l6ZTogcmVtLWNhbGMoMTEpO1xuJGJyZWFkY3J1bWJzLWl0ZW0tY29sb3I6ICRwcmltYXJ5LWNvbG9yO1xuJGJyZWFkY3J1bWJzLWl0ZW0tY29sb3ItY3VycmVudDogJGJsYWNrO1xuJGJyZWFkY3J1bWJzLWl0ZW0tY29sb3ItZGlzYWJsZWQ6ICRtZWRpdW0tZ3JheTtcbiRicmVhZGNydW1icy1pdGVtLW1hcmdpbjogMC43NXJlbTtcbiRicmVhZGNydW1icy1pdGVtLXVwcGVyY2FzZTogdHJ1ZTtcbiRicmVhZGNydW1icy1pdGVtLXNsYXNoOiB0cnVlO1xuXG4vLyAxMS4gQnV0dG9uXG4vLyAtLS0tLS0tLS0tXG5cbiRidXR0b24tcGFkZGluZzogMC44NWVtIDFlbTtcbiRidXR0b24tbWFyZ2luOiAwIDAgJGdsb2JhbC1tYXJnaW4gMDtcbiRidXR0b24tZmlsbDogc29saWQ7XG4kYnV0dG9uLWJhY2tncm91bmQ6ICRwcmltYXJ5LWNvbG9yO1xuJGJ1dHRvbi1iYWNrZ3JvdW5kLWhvdmVyOiBzY2FsZS1jb2xvcigkYnV0dG9uLWJhY2tncm91bmQsICRsaWdodG5lc3M6IC0xNSUpO1xuJGJ1dHRvbi1jb2xvcjogJHdoaXRlO1xuJGJ1dHRvbi1jb2xvci1hbHQ6ICRibGFjaztcbiRidXR0b24tcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcbiRidXR0b24tc2l6ZXM6IChcbiAgICAgICAgdGlueTogMC42cmVtLFxuICAgICAgICBzbWFsbDogMC43NXJlbSxcbiAgICAgICAgZGVmYXVsdDogMC45cmVtLFxuICAgICAgICBsYXJnZTogMS4yNXJlbSxcbik7XG4kYnV0dG9uLXBhbGV0dGU6ICRmb3VuZGF0aW9uLXBhbGV0dGU7XG4kYnV0dG9uLW9wYWNpdHktZGlzYWJsZWQ6IDAuMjU7XG4kYnV0dG9uLWJhY2tncm91bmQtaG92ZXItbGlnaHRuZXNzOiAtMjAlO1xuJGJ1dHRvbi1ob2xsb3ctaG92ZXItbGlnaHRuZXNzOiAtNTAlO1xuJGJ1dHRvbi10cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDAuMjVzIGVhc2Utb3V0LCBjb2xvciAwLjI1cyBlYXNlLW91dDtcblxuLy8gMTIuIEJ1dHRvbiBHcm91cFxuLy8gLS0tLS0tLS0tLS0tLS0tLVxuXG4kYnV0dG9uZ3JvdXAtbWFyZ2luOiAxcmVtO1xuJGJ1dHRvbmdyb3VwLXNwYWNpbmc6IDFweDtcbiRidXR0b25ncm91cC1jaGlsZC1zZWxlY3RvcjogJy5idXR0b24nO1xuJGJ1dHRvbmdyb3VwLWV4cGFuZC1tYXg6IDY7XG4kYnV0dG9uZ3JvdXAtcmFkaXVzLW9uLWVhY2g6IHRydWU7XG5cbi8vIDEzLiBDYWxsb3V0XG4vLyAtLS0tLS0tLS0tLVxuXG4kY2FsbG91dC1iYWNrZ3JvdW5kOiAkd2hpdGU7XG4kY2FsbG91dC1iYWNrZ3JvdW5kLWZhZGU6IDg1JTtcbiRjYWxsb3V0LWJvcmRlcjogMXB4IHNvbGlkIHJnYmEoJGJsYWNrLCAwLjI1KTtcbiRjYWxsb3V0LW1hcmdpbjogMCAwIDFyZW0gMDtcbiRjYWxsb3V0LXBhZGRpbmc6IDFyZW07XG4kY2FsbG91dC1mb250LWNvbG9yOiAkYm9keS1mb250LWNvbG9yO1xuJGNhbGxvdXQtZm9udC1jb2xvci1hbHQ6ICRib2R5LWJhY2tncm91bmQ7XG4kY2FsbG91dC1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xuJGNhbGxvdXQtbGluay10aW50OiAzMCU7XG5cbi8vIDE0LiBDYXJkXG4vLyAtLS0tLS0tLVxuXG4kY2FyZC1iYWNrZ3JvdW5kOiAkd2hpdGU7XG4kY2FyZC1mb250LWNvbG9yOiAkYm9keS1mb250LWNvbG9yO1xuJGNhcmQtZGl2aWRlci1iYWNrZ3JvdW5kOiAkbGlnaHQtZ3JheTtcbiRjYXJkLWJvcmRlcjogMXB4IHNvbGlkICRsaWdodC1ncmF5O1xuJGNhcmQtc2hhZG93OiBub25lO1xuJGNhcmQtYm9yZGVyLXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XG4kY2FyZC1wYWRkaW5nOiAkZ2xvYmFsLXBhZGRpbmc7XG4kY2FyZC1tYXJnaW46ICRnbG9iYWwtbWFyZ2luO1xuXG4vLyAxNS4gQ2xvc2UgQnV0dG9uXG4vLyAtLS0tLS0tLS0tLS0tLS0tXG5cbiRjbG9zZWJ1dHRvbi1wb3NpdGlvbjogcmlnaHQgdG9wO1xuJGNsb3NlYnV0dG9uLW9mZnNldC1ob3Jpem9udGFsOiAoXG4gICAgICAgIHNtYWxsOiAwLjY2cmVtLFxuICAgICAgICBtZWRpdW06IDFyZW0sXG4pO1xuJGNsb3NlYnV0dG9uLW9mZnNldC12ZXJ0aWNhbDogKFxuICAgICAgICBzbWFsbDogMC4zM2VtLFxuICAgICAgICBtZWRpdW06IDAuNXJlbSxcbik7XG4kY2xvc2VidXR0b24tc2l6ZTogKFxuICAgICAgICBzbWFsbDogMS41ZW0sXG4gICAgICAgIG1lZGl1bTogMmVtLFxuKTtcbiRjbG9zZWJ1dHRvbi1saW5laGVpZ2h0OiAxO1xuJGNsb3NlYnV0dG9uLWNvbG9yOiAkZGFyay1ncmF5O1xuJGNsb3NlYnV0dG9uLWNvbG9yLWhvdmVyOiAkYmxhY2s7XG5cbi8vIDE2LiBEcmlsbGRvd25cbi8vIC0tLS0tLS0tLS0tLS1cblxuJGRyaWxsZG93bi10cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMC4xNXMgbGluZWFyO1xuJGRyaWxsZG93bi1hcnJvd3M6IHRydWU7XG4kZHJpbGxkb3duLWFycm93LWNvbG9yOiAkcHJpbWFyeS1jb2xvcjtcbiRkcmlsbGRvd24tYXJyb3ctc2l6ZTogNnB4O1xuJGRyaWxsZG93bi1iYWNrZ3JvdW5kOiAkd2hpdGU7XG5cbi8vIDE3LiBEcm9wZG93blxuLy8gLS0tLS0tLS0tLS0tXG5cbiRkcm9wZG93bi1wYWRkaW5nOiAxcmVtO1xuJGRyb3Bkb3duLWJhY2tncm91bmQ6ICRib2R5LWJhY2tncm91bmQ7XG4kZHJvcGRvd24tYm9yZGVyOiAxcHggc29saWQgJG1lZGl1bS1ncmF5O1xuJGRyb3Bkb3duLWZvbnQtc2l6ZTogMXJlbTtcbiRkcm9wZG93bi13aWR0aDogMzAwcHg7XG4kZHJvcGRvd24tcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcbiRkcm9wZG93bi1zaXplczogKFxuICAgICAgICB0aW55OiAxMDBweCxcbiAgICAgICAgc21hbGw6IDIwMHB4LFxuICAgICAgICBsYXJnZTogNDAwcHgsXG4pO1xuXG4vLyAxOC4gRHJvcGRvd24gTWVudVxuLy8gLS0tLS0tLS0tLS0tLS0tLS1cblxuJGRyb3Bkb3dubWVudS1hcnJvd3M6IGZhbHNlO1xuJGRyb3Bkb3dubWVudS1hcnJvdy1jb2xvcjogJGFuY2hvci1jb2xvcjtcbiRkcm9wZG93bm1lbnUtYXJyb3ctc2l6ZTogNnB4O1xuJGRyb3Bkb3dubWVudS1taW4td2lkdGg6IDIwMHB4O1xuJGRyb3Bkb3dubWVudS1iYWNrZ3JvdW5kOiAkd2hpdGU7XG4kZHJvcGRvd25tZW51LWJvcmRlcjogMXB4IHNvbGlkICRtZWRpdW0tZ3JheTtcblxuLy8gMTkuIEZvcm1zXG4vLyAtLS0tLS0tLS1cblxuJGZpZWxkc2V0LWJvcmRlcjogMXB4IHNvbGlkICNkMWQxZDI7XG4kZmllbGRzZXQtcGFkZGluZzogcmVtLWNhbGMoMjApO1xuJGZpZWxkc2V0LW1hcmdpbjogcmVtLWNhbGMoMTggMCk7XG4kbGVnZW5kLXBhZGRpbmc6IHJlbS1jYWxjKDAgMyk7XG4kZm9ybS1zcGFjaW5nOiByZW0tY2FsYygxNik7XG4kaGVscHRleHQtY29sb3I6ICM1MjUyNTI7XG4kaGVscHRleHQtZm9udC1zaXplOiByZW0tY2FsYygxMyk7XG4kaGVscHRleHQtZm9udC1zdHlsZTogaXRhbGljO1xuJGlucHV0LXByZWZpeC1jb2xvcjogIzUyNTI1MjtcbiRpbnB1dC1wcmVmaXgtYmFja2dyb3VuZDogJGxpZ2h0LWdyYXk7XG4kaW5wdXQtcHJlZml4LWJvcmRlcjogMXB4IHNvbGlkICRtZWRpdW0tZ3JheTtcbiRpbnB1dC1wcmVmaXgtcGFkZGluZzogMXJlbTtcbiRmb3JtLWxhYmVsLWNvbG9yOiAjMTgxNjFmO1xuJGZvcm0tbGFiZWwtZm9udC1zaXplOiByZW0tY2FsYygyMik7XG4kZm9ybS1sYWJlbC1mb250LXdlaWdodDogJGdsb2JhbC13ZWlnaHQtYm9sZDtcbiRmb3JtLWxhYmVsLWxpbmUtaGVpZ2h0OiAxLjg7XG4kc2VsZWN0LWJhY2tncm91bmQ6ICR3aGl0ZTtcbiRzZWxlY3QtdHJpYW5nbGUtY29sb3I6ICRkYXJrLWdyYXk7XG4kc2VsZWN0LXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XG4kaW5wdXQtY29sb3I6ICM1MjUyNTI7XG4kaW5wdXQtcGxhY2Vob2xkZXItY29sb3I6ICM1MjUyNTI7XG4kaW5wdXQtZm9udC1mYW1pbHk6IFwiQnJldmVTYW5zXCIsIHNhbnMtc2VyaWY7XG4kaW5wdXQtZm9udC1zaXplOiByZW0tY2FsYygxNik7XG4kaW5wdXQtZm9udC13ZWlnaHQ6ICRnbG9iYWwtd2VpZ2h0LW5vcm1hbDtcbiRpbnB1dC1iYWNrZ3JvdW5kOiAkd2hpdGU7XG4kaW5wdXQtYmFja2dyb3VuZC1mb2N1czogJHdoaXRlO1xuJGlucHV0LWJhY2tncm91bmQtZGlzYWJsZWQ6ICRsaWdodC1ncmF5O1xuJGlucHV0LWJvcmRlcjogMXB4IHNvbGlkICRtZWRpdW0tZ3JheTtcbiRpbnB1dC1ib3JkZXItZm9jdXM6IDFweCBzb2xpZCAkZGFyay1ncmF5O1xuJGlucHV0LXNoYWRvdzogaW5zZXQgMCAxcHggMnB4IHJnYmEoJGJsYWNrLCAwLjEpO1xuJGlucHV0LXNoYWRvdy1mb2N1czogMCAwIDVweCAkbWVkaXVtLWdyYXk7XG4kaW5wdXQtY3Vyc29yLWRpc2FibGVkOiBub3QtYWxsb3dlZDtcbiRpbnB1dC10cmFuc2l0aW9uOiBib3gtc2hhZG93IDAuNXMsIGJvcmRlci1jb2xvciAwLjI1cyBlYXNlLWluLW91dDtcbiRpbnB1dC1udW1iZXItc3Bpbm5lcnM6IHRydWU7XG4kaW5wdXQtcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcbiRmb3JtLWJ1dHRvbi1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xuXG4vLyAyMC4gTGFiZWxcbi8vIC0tLS0tLS0tLVxuXG4kbGFiZWwtYmFja2dyb3VuZDogJHByaW1hcnktY29sb3I7XG4kbGFiZWwtY29sb3I6ICR3aGl0ZTtcbiRsYWJlbC1jb2xvci1hbHQ6ICRibGFjaztcbiRsYWJlbC1wYWxldHRlOiAkZm91bmRhdGlvbi1wYWxldHRlO1xuJGxhYmVsLWZvbnQtc2l6ZTogMC44cmVtO1xuJGxhYmVsLXBhZGRpbmc6IDAuMzMzMzNyZW0gMC41cmVtO1xuJGxhYmVsLXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XG5cbi8vIDIxLiBNZWRpYSBPYmplY3Rcbi8vIC0tLS0tLS0tLS0tLS0tLS1cblxuJG1lZGlhb2JqZWN0LW1hcmdpbi1ib3R0b206ICRnbG9iYWwtbWFyZ2luO1xuJG1lZGlhb2JqZWN0LXNlY3Rpb24tcGFkZGluZzogJGdsb2JhbC1wYWRkaW5nO1xuJG1lZGlhb2JqZWN0LWltYWdlLXdpZHRoLXN0YWNrZWQ6IDEwMCU7XG5cbi8vIDIyLiBNZW51XG4vLyAtLS0tLS0tLVxuXG4kbWVudS1tYXJnaW46IDA7XG4kbWVudS1tYXJnaW4tbmVzdGVkOiAxcmVtO1xuJG1lbnUtaXRlbS1wYWRkaW5nOiAwLjdyZW0gMXJlbTtcbiRtZW51LWl0ZW0tY29sb3ItYWN0aXZlOiAkd2hpdGU7XG4kbWVudS1pdGVtLWJhY2tncm91bmQtYWN0aXZlOiBnZXQtY29sb3IocHJpbWFyeSk7XG4kbWVudS1pY29uLXNwYWNpbmc6IDAuMjVyZW07XG4kbWVudS1pdGVtLWJhY2tncm91bmQtaG92ZXI6ICRsaWdodC1ncmF5O1xuJG1lbnUtYm9yZGVyOiAkbGlnaHQtZ3JheTtcblxuLy8gMjMuIE1ldGVyXG4vLyAtLS0tLS0tLS1cblxuJG1ldGVyLWhlaWdodDogMXJlbTtcbiRtZXRlci1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xuJG1ldGVyLWJhY2tncm91bmQ6ICRtZWRpdW0tZ3JheTtcbiRtZXRlci1maWxsLWdvb2Q6ICRzdWNjZXNzLWNvbG9yO1xuJG1ldGVyLWZpbGwtbWVkaXVtOiAkd2FybmluZy1jb2xvcjtcbiRtZXRlci1maWxsLWJhZDogJGFsZXJ0LWNvbG9yO1xuXG4vLyAyNC4gT2ZmLWNhbnZhc1xuLy8gLS0tLS0tLS0tLS0tLS1cblxuJG9mZmNhbnZhcy1zaXplczogKFxuICBzbWFsbDogMjg2cHgsXG4gIG1lZGl1bTogNTcxcHgsXG4gIGxhcmdlOiA3NzJweFxuKTtcbiRvZmZjYW52YXMtdmVydGljYWwtc2l6ZXM6IChcbiAgbWVkaXVtOiA2MDBweFxuKTtcbiRvZmZjYW52YXMtYmFja2dyb3VuZDogIzk4MDEyZTtcbiRvZmZjYW52YXMtc2hhZG93OiBub25lO1xuJG9mZmNhbnZhcy1wdXNoLXppbmRleDogMTtcbiRvZmZjYW52YXMtb3ZlcmxhcC16aW5kZXg6IDEwO1xuJG9mZmNhbnZhcy1yZXZlYWwtemluZGV4OiAxO1xuJG9mZmNhbnZhcy10cmFuc2l0aW9uLWxlbmd0aDogMC41cztcbiRvZmZjYW52YXMtdHJhbnNpdGlvbi10aW1pbmc6IGVhc2U7XG4kb2ZmY2FudmFzLWZpeGVkLXJldmVhbDogdHJ1ZTtcbiRvZmZjYW52YXMtZXhpdC1iYWNrZ3JvdW5kOiByZ2JhKCRibGFjaywgMC4zKTtcbiRtYWluY29udGVudC1jbGFzczogJ29mZi1jYW52YXMtY29udGVudCc7XG5cbi8vIDI1LiBPcmJpdFxuLy8gLS0tLS0tLS0tXG5cbiRvcmJpdC1idWxsZXQtYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4kb3JiaXQtYnVsbGV0LWJhY2tncm91bmQtYWN0aXZlOiAjOTgwMTJlO1xuJG9yYml0LWJ1bGxldC1kaWFtZXRlcjogMTNweDtcbiRvcmJpdC1idWxsZXQtbWFyZ2luOiAwLjFyZW07XG4kb3JiaXQtYnVsbGV0LW1hcmdpbi10b3A6IDAuOHJlbTtcbiRvcmJpdC1idWxsZXQtbWFyZ2luLWJvdHRvbTogMC44cmVtO1xuJG9yYml0LWNhcHRpb24tYmFja2dyb3VuZDogcmdiYSgkYmxhY2ssIDAuNjUpO1xuJG9yYml0LWNhcHRpb24tcGFkZGluZzogMTFweCAxMXB4IDM1cHg7XG4kb3JiaXQtY29udHJvbC1iYWNrZ3JvdW5kLWhvdmVyOiByZ2JhKCRibGFjaywgMC41KTtcbiRvcmJpdC1jb250cm9sLXBhZGRpbmc6IDEwcHggMHB4O1xuJG9yYml0LWNvbnRyb2wtemluZGV4OiAxMDtcblxuLy8gMjYuIFBhZ2luYXRpb25cbi8vIC0tLS0tLS0tLS0tLS0tXG5cbiRwYWdpbmF0aW9uLWZvbnQtc2l6ZTogcmVtLWNhbGMoMTgpO1xuLy8kcGFnaW5hdGlvbi1tYXJnaW4tYm90dG9tOiAkZ2xvYmFsLW1hcmdpbjtcbiRwYWdpbmF0aW9uLWl0ZW0tY29sb3I6ICRibGFjaztcbiRwYWdpbmF0aW9uLWl0ZW0tcGFkZGluZzogcmVtLWNhbGMoMyA2KTtcbiRwYWdpbmF0aW9uLWl0ZW0tc3BhY2luZzogcmVtLWNhbGMoMTApO1xuJHBhZ2luYXRpb24tcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcbiRwYWdpbmF0aW9uLWl0ZW0tYmFja2dyb3VuZC1ob3ZlcjogdHJhbnNwYXJlbnQ7XG4kcGFnaW5hdGlvbi1pdGVtLWJhY2tncm91bmQtY3VycmVudDogdHJhbnNwYXJlbnQ7XG4kcGFnaW5hdGlvbi1pdGVtLWNvbG9yLWN1cnJlbnQ6ICM5ODAxMmU7XG4kcGFnaW5hdGlvbi1pdGVtLWNvbG9yLWRpc2FibGVkOiAjZWNmMGYzO1xuJHBhZ2luYXRpb24tZWxsaXBzaXMtY29sb3I6ICMxODE2MWY7XG4kcGFnaW5hdGlvbi1tb2JpbGUtaXRlbXM6IGZhbHNlO1xuJHBhZ2luYXRpb24tbW9iaWxlLWN1cnJlbnQtaXRlbTogdHJ1ZTtcbiRwYWdpbmF0aW9uLWFycm93czogZmFsc2U7XG5cbi8vIDI3LiBQcm9ncmVzcyBCYXJcbi8vIC0tLS0tLS0tLS0tLS0tLS1cblxuJHByb2dyZXNzLWhlaWdodDogMXJlbTtcbiRwcm9ncmVzcy1iYWNrZ3JvdW5kOiAkbWVkaXVtLWdyYXk7XG4kcHJvZ3Jlc3MtbWFyZ2luLWJvdHRvbTogJGdsb2JhbC1tYXJnaW47XG4kcHJvZ3Jlc3MtbWV0ZXItYmFja2dyb3VuZDogJHByaW1hcnktY29sb3I7XG4kcHJvZ3Jlc3MtcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcblxuLy8gMjguIFJlc3BvbnNpdmUgRW1iZWRcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbiRyZXNwb25zaXZlLWVtYmVkLW1hcmdpbi1ib3R0b206IHJlbS1jYWxjKDE2KTtcbiRyZXNwb25zaXZlLWVtYmVkLXJhdGlvczogKFxuICAgICAgICBkZWZhdWx0OiA0IGJ5IDMsXG4gICAgICAgIHdpZGVzY3JlZW46IDE2IGJ5IDksXG4pO1xuXG4vLyAyOS4gUmV2ZWFsXG4vLyAtLS0tLS0tLS0tXG5cbiRyZXZlYWwtYmFja2dyb3VuZDogJHdoaXRlO1xuJHJldmVhbC13aWR0aDogNjAwcHg7XG4kcmV2ZWFsLW1heC13aWR0aDogJGdsb2JhbC13aWR0aDtcbiRyZXZlYWwtcGFkZGluZzogJGdsb2JhbC1wYWRkaW5nO1xuJHJldmVhbC1ib3JkZXI6IDFweCBzb2xpZCAkbWVkaXVtLWdyYXk7XG4kcmV2ZWFsLXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XG4kcmV2ZWFsLXppbmRleDogMTAwNTtcbiRyZXZlYWwtb3ZlcmxheS1iYWNrZ3JvdW5kOiByZ2JhKCRibGFjaywgMC44KTtcblxuLy8gMzAuIFNsaWRlclxuLy8gLS0tLS0tLS0tLVxuXG4kc2xpZGVyLXdpZHRoLXZlcnRpY2FsOiAwLjVyZW07XG4kc2xpZGVyLXRyYW5zaXRpb246IGFsbCAwLjJzIGVhc2UtaW4tb3V0O1xuJHNsaWRlci1oZWlnaHQ6IDAuNXJlbTtcbiRzbGlkZXItYmFja2dyb3VuZDogJGxpZ2h0LWdyYXk7XG4kc2xpZGVyLWZpbGwtYmFja2dyb3VuZDogJG1lZGl1bS1ncmF5O1xuJHNsaWRlci1oYW5kbGUtaGVpZ2h0OiAxLjRyZW07XG4kc2xpZGVyLWhhbmRsZS13aWR0aDogMS40cmVtO1xuJHNsaWRlci1oYW5kbGUtYmFja2dyb3VuZDogJHByaW1hcnktY29sb3I7XG4kc2xpZGVyLW9wYWNpdHktZGlzYWJsZWQ6IDAuMjU7XG4kc2xpZGVyLXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XG5cbi8vIDMxLiBTd2l0Y2hcbi8vIC0tLS0tLS0tLS1cblxuJHN3aXRjaC1iYWNrZ3JvdW5kOiAkbWVkaXVtLWdyYXk7XG4kc3dpdGNoLWJhY2tncm91bmQtYWN0aXZlOiAkcHJpbWFyeS1jb2xvcjtcbiRzd2l0Y2gtaGVpZ2h0OiAycmVtO1xuJHN3aXRjaC1oZWlnaHQtdGlueTogMS41cmVtO1xuJHN3aXRjaC1oZWlnaHQtc21hbGw6IDEuNzVyZW07XG4kc3dpdGNoLWhlaWdodC1sYXJnZTogMi41cmVtO1xuJHN3aXRjaC1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xuJHN3aXRjaC1tYXJnaW46ICRnbG9iYWwtbWFyZ2luO1xuJHN3aXRjaC1wYWRkbGUtYmFja2dyb3VuZDogJHdoaXRlO1xuJHN3aXRjaC1wYWRkbGUtb2Zmc2V0OiAwLjI1cmVtO1xuJHN3aXRjaC1wYWRkbGUtcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcbiRzd2l0Y2gtcGFkZGxlLXRyYW5zaXRpb246IGFsbCAwLjI1cyBlYXNlLW91dDtcblxuLy8gMzIuIFRhYmxlXG4vLyAtLS0tLS0tLS1cblxuJHRhYmxlLWJhY2tncm91bmQ6ICR3aGl0ZTtcbiR0YWJsZS1jb2xvci1zY2FsZTogNSU7XG4kdGFibGUtYm9yZGVyOiAwIG5vbmU7XG4kdGFibGUtcGFkZGluZzogcmVtLWNhbGMoMTUgMjAgMTUpO1xuJHRhYmxlLWhvdmVyLXNjYWxlOiAyJTtcbiR0YWJsZS1yb3ctaG92ZXI6IGRhcmtlbigkdGFibGUtYmFja2dyb3VuZCwgJHRhYmxlLWhvdmVyLXNjYWxlKTtcbiR0YWJsZS1yb3ctc3RyaXBlLWhvdmVyOiBkYXJrZW4oJHRhYmxlLWJhY2tncm91bmQsICR0YWJsZS1jb2xvci1zY2FsZSArICR0YWJsZS1ob3Zlci1zY2FsZSk7XG4kdGFibGUtaXMtc3RyaXBlZDogdHJ1ZTtcbiR0YWJsZS1zdHJpcGVkLWJhY2tncm91bmQ6ICNmOWY5Zjk7IC8vc21hcnQtc2NhbGUoJHRhYmxlLWJhY2tncm91bmQsICR0YWJsZS1jb2xvci1zY2FsZSk7XG4kdGFibGUtc3RyaXBlOiBldmVuO1xuJHRhYmxlLWhlYWQtYmFja2dyb3VuZDogIzgxNzk2ZjsgLy9zbWFydC1zY2FsZSgkdGFibGUtYmFja2dyb3VuZCwgJHRhYmxlLWNvbG9yLXNjYWxlIC8gMik7XG4kdGFibGUtaGVhZC1yb3ctaG92ZXI6IGRhcmtlbigkdGFibGUtaGVhZC1iYWNrZ3JvdW5kLCAkdGFibGUtaG92ZXItc2NhbGUpO1xuJHRhYmxlLWZvb3QtYmFja2dyb3VuZDogc21hcnQtc2NhbGUoJHRhYmxlLWJhY2tncm91bmQsICR0YWJsZS1jb2xvci1zY2FsZSk7XG4kdGFibGUtZm9vdC1yb3ctaG92ZXI6IGRhcmtlbigkdGFibGUtZm9vdC1iYWNrZ3JvdW5kLCAkdGFibGUtaG92ZXItc2NhbGUpO1xuJHRhYmxlLWhlYWQtZm9udC1jb2xvcjogJHdoaXRlO1xuJHRhYmxlLWZvb3QtZm9udC1jb2xvcjogJGJvZHktZm9udC1jb2xvcjtcbiRzaG93LWhlYWRlci1mb3Itc3RhY2tlZDogZmFsc2U7XG5cbi8vIDMzLiBUYWJzXG4vLyAtLS0tLS0tLVxuJHRhYi1tYXJnaW46IDA7XG4kdGFiLWJhY2tncm91bmQ6ICR3aGl0ZTtcbiR0YWItY29sb3I6ICRwcmltYXJ5LWNvbG9yO1xuJHRhYi1iYWNrZ3JvdW5kLWFjdGl2ZTogJGxpZ2h0LWdyYXk7XG4kdGFiLWFjdGl2ZS1jb2xvcjogJHByaW1hcnktY29sb3I7XG4kdGFiLWl0ZW0tZm9udC1zaXplOiByZW0tY2FsYygxMik7XG4kdGFiLWl0ZW0tYmFja2dyb3VuZC1ob3ZlcjogJHdoaXRlO1xuJHRhYi1pdGVtLXBhZGRpbmc6IDEuMjVyZW0gMS41cmVtO1xuJHRhYi1leHBhbmQtbWF4OiA2O1xuJHRhYi1jb250ZW50LWJhY2tncm91bmQ6ICR3aGl0ZTtcbiR0YWItY29udGVudC1ib3JkZXI6ICRsaWdodC1ncmF5O1xuJHRhYi1jb250ZW50LWNvbG9yOiAkYm9keS1mb250LWNvbG9yO1xuJHRhYi1jb250ZW50LXBhZGRpbmc6IDQwIDUycHg7XG5cbi8vIDM0LiBUaHVtYm5haWxcbi8vIC0tLS0tLS0tLS0tLS1cblxuJHRodW1ibmFpbC1ib3JkZXI6IHNvbGlkIDRweCAkd2hpdGU7XG4kdGh1bWJuYWlsLW1hcmdpbi1ib3R0b206ICRnbG9iYWwtbWFyZ2luO1xuJHRodW1ibmFpbC1zaGFkb3c6IDAgMCAwIDFweCByZ2JhKCRibGFjaywgMC4yKTtcbiR0aHVtYm5haWwtc2hhZG93LWhvdmVyOiAwIDAgNnB4IDFweCByZ2JhKCRwcmltYXJ5LWNvbG9yLCAwLjUpO1xuJHRodW1ibmFpbC10cmFuc2l0aW9uOiBib3gtc2hhZG93IDIwMG1zIGVhc2Utb3V0O1xuJHRodW1ibmFpbC1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xuXG4vLyAzNS4gVGl0bGUgQmFyXG4vLyAtLS0tLS0tLS0tLS0tXG5cbiR0aXRsZWJhci1iYWNrZ3JvdW5kOiAkYmxhY2s7XG4kdGl0bGViYXItY29sb3I6ICR3aGl0ZTtcbiR0aXRsZWJhci1wYWRkaW5nOiAwLjVyZW07XG4kdGl0bGViYXItdGV4dC1mb250LXdlaWdodDogYm9sZDtcbiR0aXRsZWJhci1pY29uLWNvbG9yOiAkd2hpdGU7XG4kdGl0bGViYXItaWNvbi1jb2xvci1ob3ZlcjogJG1lZGl1bS1ncmF5O1xuJHRpdGxlYmFyLWljb24tc3BhY2luZzogMC4yNXJlbTtcblxuLy8gMzYuIFRvb2x0aXBcbi8vIC0tLS0tLS0tLS0tXG5cbiRoYXMtdGlwLWZvbnQtd2VpZ2h0OiAkZ2xvYmFsLXdlaWdodC1ib2xkO1xuJGhhcy10aXAtYm9yZGVyLWJvdHRvbTogZG90dGVkIDFweCAkZGFyay1ncmF5O1xuJHRvb2x0aXAtYmFja2dyb3VuZC1jb2xvcjogJGJsYWNrO1xuJHRvb2x0aXAtY29sb3I6ICR3aGl0ZTtcbiR0b29sdGlwLXBhZGRpbmc6IDAuNzVyZW07XG4kdG9vbHRpcC1mb250LXNpemU6ICRzbWFsbC1mb250LXNpemU7XG4kdG9vbHRpcC1waXAtd2lkdGg6IDAuNzVyZW07XG4kdG9vbHRpcC1waXAtaGVpZ2h0OiAkdG9vbHRpcC1waXAtd2lkdGggKiAwLjg2NjtcbiR0b29sdGlwLXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XG5cbi8vIDM3LiBUb3AgQmFyXG4vLyAtLS0tLS0tLS0tLVxuXG4kdG9wYmFyLXBhZGRpbmc6IDA7XG4kdG9wYmFyLWJhY2tncm91bmQ6ICR3aGl0ZTtcbiR0b3BiYXItc3VibWVudS1iYWNrZ3JvdW5kOiAkdG9wYmFyLWJhY2tncm91bmQ7XG4kdG9wYmFyLXRpdGxlLXNwYWNpbmc6IDAuNXJlbSAxcmVtIDAuNXJlbSAwO1xuJHRvcGJhci1pbnB1dC13aWR0aDogMjAwcHg7XG4kdG9wYmFyLXVuc3RhY2stYnJlYWtwb2ludDogbWVkaXVtO1xuXG4iLCIvLyBGb250IGluY2x1ZGVkIGluIGR1LWZvbnRzXG5cblxuLyogQ2hyb21lIGhhY2s6IFNWRyBpcyByZW5kZXJlZCBtb3JlIHNtb290aCBpbiBXaW5kb3p6ZS4gMTAwJSBtYWdpYywgdW5jb21tZW50IGlmIHlvdSBuZWVkIGl0LiAqL1xuLyogTm90ZSwgdGhhdCB3aWxsIGJyZWFrIGhpbnRpbmchIEluIG90aGVyIE9TLWVzIGZvbnQgd2lsbCBiZSBub3QgYXMgc2hhcnAgYXMgaXQgY291bGQgYmUgKi9cbi8qXG5AbWVkaWEgc2NyZWVuIGFuZCAoLXdlYmtpdC1taW4tZGV2aWNlLXBpeGVsLXJhdGlvOjApIHtcbiAgQGZvbnQtZmFjZSB7XG4gICAgZm9udC1mYW1pbHk6ICdmb250ZWxsbyc7XG4gICAgc3JjOiB1cmwoJy4uL2ZvbnQvZm9udGVsbG8uc3ZnPzYzMzMyODQ2I2ZvbnRlbGxvJykgZm9ybWF0KCdzdmcnKTtcbiAgfVxufVxuKi9cbiBcbiBbY2xhc3NePVwiaWNvbi1kdVwiXTpiZWZvcmUsXG4gW2NsYXNzKj1cIiBpY29uLWR1XCJdOmJlZm9yZSxcbiBbY2xhc3NePVwiZHUtaWNvblwiXTpiZWZvcmUsXG4gW2NsYXNzKj1cIiBkdS1pY29uXCJdOmJlZm9yZSAge1xuICBmb250LWZhbWlseTogXCJmb250ZWxsb1wiO1xuICBmb250LXN0eWxlOiBub3JtYWw7XG4gIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gIHNwZWFrOiBub25lO1xuXG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgdGV4dC1kZWNvcmF0aW9uOiBpbmhlcml0O1xuICB3aWR0aDogMWVtO1xuICBtYXJnaW4tcmlnaHQ6IC4yZW07XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgLyogb3BhY2l0eTogLjg7ICovXG5cbiAgLyogRm9yIHNhZmV0eSAtIHJlc2V0IHBhcmVudCBzdHlsZXMsIHRoYXQgY2FuIGJyZWFrIGdseXBoIGNvZGVzKi9cbiAgZm9udC12YXJpYW50OiBub3JtYWw7XG4gIHRleHQtdHJhbnNmb3JtOiBub25lO1xuXG4gIC8qIGZpeCBidXR0b25zIGhlaWdodCwgZm9yIHR3aXR0ZXIgYm9vdHN0cmFwICovXG4gIGxpbmUtaGVpZ2h0OiAxZW07XG5cbiAgLyogQW5pbWF0aW9uIGNlbnRlciBjb21wZW5zYXRpb24gLSBtYXJnaW5zIHNob3VsZCBiZSBzeW1tZXRyaWMgKi9cbiAgLyogcmVtb3ZlIGlmIG5vdCBuZWVkZWQgKi9cbiAgbWFyZ2luLWxlZnQ6IC4yZW07XG5cbiAgLyogeW91IGNhbiBiZSBtb3JlIGNvbWZvcnRhYmxlIHdpdGggaW5jcmVhc2VkIGljb25zIHNpemUgKi9cbiAgLyogZm9udC1zaXplOiAxMjAlOyAqL1xuXG4gIC8qIEZvbnQgc21vb3RoaW5nLiBUaGF0IHdhcyB0YWtlbiBmcm9tIFRXQlMgKi9cbiAgLXdlYmtpdC1mb250LXNtb290aGluZzogYW50aWFsaWFzZWQ7XG4gIC1tb3otb3N4LWZvbnQtc21vb3RoaW5nOiBncmF5c2NhbGU7XG5cbiAgLyogVW5jb21tZW50IGZvciAzRCBlZmZlY3QgKi9cbiAgLyogdGV4dC1zaGFkb3c6IDFweCAxcHggMXB4IHJnYmEoMTI3LCAxMjcsIDEyNywgMC4zKTsgKi9cbn1cblxuW2NsYXNzXj1cImljb24tZHVcIl0uYm9sZDpiZWZvcmUsXG5bY2xhc3MqPVwiIGljb24tZHVcIl0uYm9sZDpiZWZvcmUsXG5bY2xhc3NePVwiZHUtaWNvblwiXS5ib2xkOmJlZm9yZSxcbltjbGFzcyo9XCIgZHUtaWNvblwiXS5ib2xkOmJlZm9yZSB7XG4gIGZvbnQtd2VpZ2h0OmJvbGQ7XG59XG5cbi8qXG4gICBBbmltYXRpb24gZXhhbXBsZSwgZm9yIHNwaW5uZXJzXG4qL1xuLmFuaW1hdGUtc3BpbiB7XG4gIC1tb3otYW5pbWF0aW9uOiBzcGluIDJzIGluZmluaXRlIGxpbmVhcjtcbiAgLW8tYW5pbWF0aW9uOiBzcGluIDJzIGluZmluaXRlIGxpbmVhcjtcbiAgLXdlYmtpdC1hbmltYXRpb246IHNwaW4gMnMgaW5maW5pdGUgbGluZWFyO1xuICBhbmltYXRpb246IHNwaW4gMnMgaW5maW5pdGUgbGluZWFyO1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG59XG5ALW1vei1rZXlmcmFtZXMgc3BpbiB7XG4gIDAlIHtcbiAgICAtbW96LXRyYW5zZm9ybTogcm90YXRlKDBkZWcpO1xuICAgIC1vLXRyYW5zZm9ybTogcm90YXRlKDBkZWcpO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUoMGRlZyk7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUoMGRlZyk7XG4gIH1cblxuICAxMDAlIHtcbiAgICAtbW96LXRyYW5zZm9ybTogcm90YXRlKDM1OWRlZyk7XG4gICAgLW8tdHJhbnNmb3JtOiByb3RhdGUoMzU5ZGVnKTtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlKDM1OWRlZyk7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUoMzU5ZGVnKTtcbiAgfVxufVxuQC13ZWJraXQta2V5ZnJhbWVzIHNwaW4ge1xuICAwJSB7XG4gICAgLW1vei10cmFuc2Zvcm06IHJvdGF0ZSgwZGVnKTtcbiAgICAtby10cmFuc2Zvcm06IHJvdGF0ZSgwZGVnKTtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlKDBkZWcpO1xuICAgIHRyYW5zZm9ybTogcm90YXRlKDBkZWcpO1xuICB9XG5cbiAgMTAwJSB7XG4gICAgLW1vei10cmFuc2Zvcm06IHJvdGF0ZSgzNTlkZWcpO1xuICAgIC1vLXRyYW5zZm9ybTogcm90YXRlKDM1OWRlZyk7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZSgzNTlkZWcpO1xuICAgIHRyYW5zZm9ybTogcm90YXRlKDM1OWRlZyk7XG4gIH1cbn1cbkAtby1rZXlmcmFtZXMgc3BpbiB7XG4gIDAlIHtcbiAgICAtbW96LXRyYW5zZm9ybTogcm90YXRlKDBkZWcpO1xuICAgIC1vLXRyYW5zZm9ybTogcm90YXRlKDBkZWcpO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUoMGRlZyk7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUoMGRlZyk7XG4gIH1cblxuICAxMDAlIHtcbiAgICAtbW96LXRyYW5zZm9ybTogcm90YXRlKDM1OWRlZyk7XG4gICAgLW8tdHJhbnNmb3JtOiByb3RhdGUoMzU5ZGVnKTtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlKDM1OWRlZyk7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUoMzU5ZGVnKTtcbiAgfVxufVxuQC1tcy1rZXlmcmFtZXMgc3BpbiB7XG4gIDAlIHtcbiAgICAtbW96LXRyYW5zZm9ybTogcm90YXRlKDBkZWcpO1xuICAgIC1vLXRyYW5zZm9ybTogcm90YXRlKDBkZWcpO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUoMGRlZyk7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUoMGRlZyk7XG4gIH1cblxuICAxMDAlIHtcbiAgICAtbW96LXRyYW5zZm9ybTogcm90YXRlKDM1OWRlZyk7XG4gICAgLW8tdHJhbnNmb3JtOiByb3RhdGUoMzU5ZGVnKTtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlKDM1OWRlZyk7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUoMzU5ZGVnKTtcbiAgfVxufVxuQGtleWZyYW1lcyBzcGluIHtcbiAgMCUge1xuICAgIC1tb3otdHJhbnNmb3JtOiByb3RhdGUoMGRlZyk7XG4gICAgLW8tdHJhbnNmb3JtOiByb3RhdGUoMGRlZyk7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZSgwZGVnKTtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZSgwZGVnKTtcbiAgfVxuXG4gIDEwMCUge1xuICAgIC1tb3otdHJhbnNmb3JtOiByb3RhdGUoMzU5ZGVnKTtcbiAgICAtby10cmFuc2Zvcm06IHJvdGF0ZSgzNTlkZWcpO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUoMzU5ZGVnKTtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZSgzNTlkZWcpO1xuICB9XG59XG4vKlxuICAgRW5kIG9mIEFuaW1hdGlvbiBleGFtcGxlXG4qL1xuXG5cbi8vSnVzdCBDb3B5L1Bhc3RlIG92ZXIgdGhlIGJlbG93IHN0eWxlcyBmcm9tIG5ldyBmb250ZWxsby5jc3NcblxuLmljb24tZHUtcmlnaHQtYXJyb3c6YmVmb3JlIHsgY29udGVudDogJ1xcZTgwMCc7IH0gLyogJ+6ggCcgKi9cbi5pY29uLWR1LWxlZnQtYXJyb3c6YmVmb3JlIHsgY29udGVudDogJ1xcZTgwMSc7IH0gLyogJ+6ggScgKi9cbi5pY29uLWR1LXVwLWFycm93OmJlZm9yZSB7IGNvbnRlbnQ6ICdcXGU4MDInOyB9IC8qICfuoIInICovXG4uaWNvbi1kdS1kb3duLWFycm93OmJlZm9yZSB7IGNvbnRlbnQ6ICdcXGU4MDMnOyB9IC8qICfuoIMnICovXG4uaWNvbi1kdS1jdXN0LW1lbnU6YmVmb3JlIHsgY29udGVudDogJ1xcZTgwNCc7IH0gLyogJ+6ghCcgKi9cbi5pY29uLWR1LWN1c3QtY2xvc2U6YmVmb3JlIHsgY29udGVudDogJ1xcZTgwNSc7IH0gLyogJ+6ghScgKi9cbi5pY29uLWR1LWN1c3Qtc2VhcmNoOmJlZm9yZSB7IGNvbnRlbnQ6ICdcXGU4MDYnOyB9IC8qICfuoIYnICovXG4uaWNvbi1kdS1jaGVjazpiZWZvcmUgeyBjb250ZW50OiAnXFxlODA3JzsgfSAvKiAn7qCHJyAqL1xuLmljb24tZHUtbWludXM6YmVmb3JlIHsgY29udGVudDogJ1xcZTgwOCc7IH0gLyogJ+6giCcgKi9cbi5pY29uLWR1LXBsdXM6YmVmb3JlIHsgY29udGVudDogJ1xcZTgwOSc7IH0gLyogJ+6giScgKi9cbi5pY29uLWR1LWN1c3QtY2xpcGJvYXJkOmJlZm9yZSB7IGNvbnRlbnQ6ICdcXGU4MGEnOyB9IC8qICfuoIonICovXG4uaWNvbi1kdS1jdXN0LXJpZ2h0LWFycm93OmJlZm9yZSB7IGNvbnRlbnQ6ICdcXGU4MGInOyB9IC8qICfuoIsnICovXG4uaWNvbi1kdS1jdXN0LWxlZnQtYXJyb3c6YmVmb3JlIHsgY29udGVudDogJ1xcZTgwYyc7IH0gLyogJ+6gjCcgKi9cbi5pY29uLWR1LXBsYXktY2lyY2xlZDI6YmVmb3JlIHsgY29udGVudDogJ1xcZTgwZCc7IH0gLyogJ+6gjScgKi9cbi5pY29uLWR1LXBhdXNlLWNpcmNsZWQ6YmVmb3JlIHsgY29udGVudDogJ1xcZTgwZSc7IH0gLyogJ+6gjicgKi9cbi5pY29uLWR1LXBsYXktY2lyY2xlZDpiZWZvcmUgeyBjb250ZW50OiAnXFxlODBmJzsgfSAvKiAn7qCPJyAqL1xuLmljb24tZHUtYXR0ZW50aW9uLWNpcmNsZWQ6YmVmb3JlIHsgY29udGVudDogJ1xcZTgxMCc7IH0gLyogJ+6gkCcgKi9cbi5pY29uLWR1LXByaW50OmJlZm9yZSB7IGNvbnRlbnQ6ICdcXGU4MTEnOyB9IC8qICfuoJEnICovXG4uaWNvbi1kdS1tYWlsOmJlZm9yZSB7IGNvbnRlbnQ6ICdcXGU4MTInOyB9IC8qICfuoJInICovXG4uaWNvbi1kdS1waG9uZTpiZWZvcmUgeyBjb250ZW50OiAnXFxlODEzJzsgfSAvKiAn7qCTJyAqL1xuLmljb24tZHUtY2xvY2s6YmVmb3JlIHsgY29udGVudDogJ1xcZTgxNCc7IH0gLyogJ+6glCcgKi9cbi5pY29uLWR1LWdsb2JlOmJlZm9yZSB7IGNvbnRlbnQ6ICdcXGU4MTUnOyB9IC8qICfuoJUnICovXG4uaWNvbi1kdS1sb2NhdGlvbjpiZWZvcmUgeyBjb250ZW50OiAnXFxlODE2JzsgfSAvKiAn7qCWJyAqL1xuLmljb24tZHUtaW5mby1jaXJjbGVkOmJlZm9yZSB7IGNvbnRlbnQ6ICdcXGU4MTcnOyB9IC8qICfuoJcnICovXG4uaWNvbi1kdS1sb2dvdXQ6YmVmb3JlIHsgY29udGVudDogJ1xcZTgxOCc7IH0gLyogJ+6gmCcgKi9cbi5pY29uLWR1LWJsb2NrOmJlZm9yZSB7IGNvbnRlbnQ6ICdcXGU4MTknOyB9IC8qICfuoJknICovXG4uaWNvbi1jYWxlbmRhcjpiZWZvcmUgeyBjb250ZW50OiAnXFxlODFhJzsgfSAvKiAn7qCaJyAqL1xuLmljb24tZHUtc2hpZWxkaWNvbjpiZWZvcmUgeyBjb250ZW50OiAnXFxlODFiJzsgfSAvKiAn7qCbJyAqL1xuLmljb24tZHUtcGx1cy1jaXJjbGVkOmJlZm9yZSB7IGNvbnRlbnQ6ICdcXGU4MWMnOyB9IC8qICfuoJwnICovXG4uaWNvbi1kdS1waWN0dXJlOmJlZm9yZSB7IGNvbnRlbnQ6ICdcXGU4MWQnOyB9IC8qICfuoJ0nICovXG4uaWNvbi1kdS12aWRlb2NhbTpiZWZvcmUgeyBjb250ZW50OiAnXFxlODFlJzsgfSAvKiAn7qCeJyAqL1xuLmljb24tZHUtc3BpbjM6YmVmb3JlIHsgY29udGVudDogJ1xcZTgzMic7IH0gLyogJ+6gsicgKi9cbi5pY29uLWluZm8tY2lyY2xlZC1hbHQ6YmVmb3JlIHsgY29udGVudDogJ1xcZjA4Nic7IH0gLyogJ++ChicgKi9cbi5pY29uLWR1LXR3aXR0ZXI6YmVmb3JlIHsgY29udGVudDogJ1xcZjA5OSc7IH0gLyogJ++CmScgKi9cbi5pY29uLWR1LWZhY2Vib29rOmJlZm9yZSB7IGNvbnRlbnQ6ICdcXGYwOWEnOyB9IC8qICfvgponICovXG4uaWNvbi1kdS1maWx0ZXI6YmVmb3JlIHsgY29udGVudDogJ1xcZjBiMCc7IH0gLyogJ++CsCcgKi9cbi5pY29uLWR1LWdwbHVzOmJlZm9yZSB7IGNvbnRlbnQ6ICdcXGYwZDUnOyB9IC8qICfvg5UnICovXG4uaWNvbi1kdS1tYWlsLWFsdDpiZWZvcmUgeyBjb250ZW50OiAnXFxmMGUwJzsgfSAvKiAn74OgJyAqL1xuLmljb24tZHUtbGlua2VkaW46YmVmb3JlIHsgY29udGVudDogJ1xcZjBlMSc7IH0gLyogJ++DoScgKi9cbi5pY29uLWNpcmNsZS1lbXB0eTpiZWZvcmUgeyBjb250ZW50OiAnXFxmMTBjJzsgfSAvKiAn74SMJyAqL1xuLmljb24taW5mbzpiZWZvcmUgeyBjb250ZW50OiAnXFxmMTI5JzsgfSAvKiAn74SpJyAqL1xuLmljb24tZHUtY2FsZW5kYXItZW1wdHk6YmVmb3JlIHsgY29udGVudDogJ1xcZjEzMyc7IH0gLyogJ++EsycgKi9cbi5pY29uLWR1LWxpbmstZXh0LWFsdDpiZWZvcmUgeyBjb250ZW50OiAnXFxmMTRjJzsgfSAvKiAn74WMJyAqL1xuLmljb24tZHUteW91dHViZTpiZWZvcmUgeyBjb250ZW50OiAnXFxmMTY3JzsgfSAvKiAn74WnJyAqL1xuLmljb24tZHUtaW5zdGFncmFtOmJlZm9yZSB7IGNvbnRlbnQ6ICdcXGYxNmQnOyB9IC8qICfvha0nICovXG4uaWNvbi1kdS10dW1ibHI6YmVmb3JlIHsgY29udGVudDogJ1xcZjE3Myc7IH0gLyogJ++FsycgKi9cbi5pY29uLWR1LWJhbms6YmVmb3JlIHsgY29udGVudDogJ1xcZjE5Yyc7IH0gLyogJ++GnCcgKi9cbi5pY29uLWR1LWZheDpiZWZvcmUgeyBjb250ZW50OiAnXFxmMWFjJzsgfSAvKiAn74asJyAqL1xuLmljb24tZHUtcmViZWw6YmVmb3JlIHsgY29udGVudDogJ1xcZjFkMCc7IH0gLyogJ++HkCcgKi9cbi5pY29uLWNpcmNsZS10aGluOmJlZm9yZSB7IGNvbnRlbnQ6ICdcXGYxZGInOyB9IC8qICfvh5snICovXG4uaWNvbi1kdS1uZXdzcGFwZXI6YmVmb3JlIHsgY29udGVudDogJ1xcZjFlYSc7IH0gLyogJ++HqicgKi9cbi5pY29uLWR1LWNhbGVuZGFyLXBsdXMtbzpiZWZvcmUgeyBjb250ZW50OiAnXFxmMjcxJzsgfSAvKiAn74mxJyAqL1xuLmljb24tZHUtc25hcGNoYXQ6YmVmb3JlIHsgY29udGVudDogJ1xcZjJhYyc7IH0gLyogJ++KrCcgKi9cbi5pY29uLWR1LXVzZXI6YmVmb3JlIHsgY29udGVudDogJ1xcZjJjMCc7IH0gLyogJ++LgCcgKi9cbi5pY29uLWR1LXBvZGNhc3Q6YmVmb3JlIHsgY29udGVudDogJ1xcZjJjZSc7IH0gLyogJ++LjicgKi8iLCIjbWFpbi1jb250ZW50IHtcblx0aDEge1xuXHRcdGZvbnQtd2VpZ2h0OiA4MDA7XG5cdFx0cG9zaXRpb246IHJlbGF0aXZlO1xuXHRcdG1hcmdpbi1ib3R0b206IDMwcHg7XG5cdCAgICBwYWRkaW5nLWJvdHRvbTogMzNweDtcbiAgICAgICAgPi5zb2NpYWxIZWFkZXJ7XG4gICAgICAgICAgd2lkdGg6NDklO1xuICAgICAgICAgIGRpc3BsYXk6aW5saW5lLWJsb2NrO1xuICAgICAgICAgICY6bnRoLWNoaWxkKDIpe1xuICAgICAgICAgICAgdGV4dC1hbGlnbjpyaWdodDtcbiAgICAgICAgICAgIHBhZGRpbmctcmlnaHQ6MTAlO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuXHQgICAgQGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCBkb3duKSB7XG5cdCAgICBcdHBhZGRpbmctYm90dG9tOiAzM3B4O1xuICAgICAgICAgICAgPi5zb2NpYWxIZWFkZXIge1xuICAgICAgICAgICAgICB3aXRoOjEwMCU7XG4gICAgICAgICAgICAgICY6bnRoLWNoaWxkKDIpe1xuICAgICAgICAgICAgICAgIHRleHQtYWxpZ246bGVmdDtcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuXHQgICAgfVxuXHRcdCY6YWZ0ZXIge1xuXHRcdFx0Y29udGVudDogXCJcIjtcblx0XHRcdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0XHRcdGxlZnQ6IDA7XG5cdFx0XHRib3R0b206IDA7XG5cdFx0XHRoZWlnaHQ6IDhweDtcblx0XHRcdHdpZHRoOiA4NXB4O1xuXHRcdFx0YmFja2dyb3VuZC1jb2xvcjogJG5ldXRyYWwtY29sb3ItMjtcblx0XHR9XG5cdH1cblx0LmludHJvIHtcblx0XHRmb250LWZhbWlseTogJGFjY2VudC1mb250O1xuXHRcdGZvbnQtc2l6ZTogMjBweDtcblx0XHQmLCBwIHtcblx0XHRcdGxpbmUtaGVpZ2h0OiAzMnB4O1xuXHRcdH1cblx0XHRAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlIGRvd24pIHtcblx0XHRcdGZvbnQtc2l6ZTogMThweDtcblx0XHRcdCYsIHAge1xuXHRcdFx0XHRsaW5lLWhlaWdodDogMjhweDtcblx0XHRcdH1cblx0XHR9XG5cdFx0QGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCBkb3duKSB7XG5cdFx0XHRmb250LXNpemU6IDE3cHg7XG5cdFx0XHQmLCBwIHtcblx0XHRcdFx0bGluZS1oZWlnaHQ6IDI2cHg7XG5cdFx0XHR9XG5cdFx0fVxuXHR9XG5cdHVsIHtcblx0XHQvL21hcmdpbi1sZWZ0OiAwO1xuXHRcdGxpIHtcblx0XHRcdHBvc2l0aW9uOiByZWxhdGl2ZTtcblx0XHRcdGxpc3Qtc3R5bGUtdHlwZTogbm9uZTtcblx0XHRcdC8vbWFyZ2luLWxlZnQ6IDE1cHg7XG5cdFx0XHQmOmJlZm9yZSB7XG5cdFx0XHRcdGNvbnRlbnQ6IFwiXCI7XG5cdFx0XHRcdGhlaWdodDogNXB4O1xuXHRcdFx0XHR3aWR0aDogNXB4O1xuXHRcdFx0XHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdFx0XHRcdGxlZnQ6IC0xM3B4O1xuXHRcdFx0XHRiYWNrZ3JvdW5kLWNvbG9yOiAjYmNiY2JjO1xuXHRcdFx0XHR0b3A6IDExcHg7XG5cdFx0XHR9XG5cdFx0fVxuICAgICAgICAmLmxpc3Qtb2YtZmFjdHMge1xuICAgICAgICAgICAgbGkge1xuICAgICAgICAgICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOnRyYW5zcGFyZW50O1xuICAgICAgICAgICAgICAgIGhlaWdodDowcHg7XG4gICAgICAgICAgICAgICAgd2lkdGg6MHB4O1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXHR9XG59XG5cbmgxIHtcblx0Zm9udC13ZWlnaHQ6IDgwMDtcbn1cbmgyIHtcblx0bWFyZ2luLWJvdHRvbTogMThweDtcbn1cbmgzLFxuaDUge1xuXHRmb250LXdlaWdodDogNzAwO1xufVxuaDIsIGgzLCBoNCwgaDUsIGg2IHtcblx0Ly9tYXJnaW4tdG9wOiAwLjVyZW07XG5cdCYuYnRtLWRpdmlkZXIge1xuXHRcdHBvc2l0aW9uOiByZWxhdGl2ZTtcblx0XHRwYWRkaW5nLWJvdHRvbTogMjZweDtcblx0XHRtYXJnaW4tYm90dG9tOiAzNHB4O1xuXHRcdCY6YWZ0ZXIge1xuXHRcdFx0Y29udGVudDogXCJcIjtcblx0XHRcdGhlaWdodDogNnB4O1xuXHRcdFx0YmFja2dyb3VuZC1jb2xvcjogJG5ldXRyYWwtY29sb3ItMjtcblx0XHRcdHdpZHRoOiA3N3B4O1xuXHRcdFx0cG9zaXRpb246IGFic29sdXRlO1xuXHRcdFx0Ym90dG9tOiAwO1xuXHRcdFx0bGVmdDogMDtcblx0XHR9XG5cdFx0Ji50ZXh0LXJpZ2h0IHtcblx0XHRcdC8vQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcblx0XHRcdFx0JjphZnRlciB7XG5cdFx0XHRcdFx0cmlnaHQ6IDA7XG5cdFx0XHRcdFx0bGVmdDogYXV0bztcblx0XHRcdFx0fVxuXHRcdFx0Ly99XG5cdFx0XHQvL0BpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgZG93bikge1xuXHRcdFx0Ly9cdHRleHQtYWxpZ246IGxlZnQgIWltcG9ydGFudDtcblx0XHRcdC8vfVxuXHRcdH1cblx0XHQmLnRleHQtY2VudGVyIHtcblx0XHRcdCY6YWZ0ZXIge1xuXHRcdFx0XHRsZWZ0OiA1MCU7XG5cdFx0XHRcdG1hcmdpbi1sZWZ0OiAtMzguNXB4O1xuXHRcdFx0fVxuXHRcdH1cblx0fVxuXHQmLnRvcC1kaXZpZGVyIHtcblx0XHRwb3NpdGlvbjogcmVsYXRpdmU7XG5cdFx0cGFkZGluZy10b3A6IDI2cHg7XG5cdFx0bWFyZ2luLXRvcDogMzRweDtcblx0XHQmOmJlZm9yZSB7XG5cdFx0XHRjb250ZW50OiBcIlwiO1xuXHRcdFx0aGVpZ2h0OiA2cHg7XG5cdFx0XHRiYWNrZ3JvdW5kLWNvbG9yOiAkbmV1dHJhbC1jb2xvci0yO1xuXHRcdFx0d2lkdGg6IDc3cHg7XG5cdFx0XHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdFx0XHR0b3A6IDA7XG5cdFx0XHRsZWZ0OiAwO1xuXHRcdH1cblx0XHQmLnRleHQtcmlnaHQge1xuXHRcdFx0Ly9AaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xuXHRcdFx0XHQmOmJlZm9yZSB7XG5cdFx0XHRcdFx0cmlnaHQ6IDA7XG5cdFx0XHRcdFx0bGVmdDogYXV0bztcblx0XHRcdFx0fVxuXHRcdFx0Ly99XG5cdFx0XHQvL0BpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgZG93bikge1xuXHRcdFx0Ly9cdHRleHQtYWxpZ246IGxlZnQgIWltcG9ydGFudDtcblx0XHRcdC8vfVxuXHRcdH1cblx0XHQmLnRleHQtY2VudGVyIHtcblx0XHRcdCY6YmVmb3JlIHtcblx0XHRcdFx0bGVmdDogNTAlO1xuXHRcdFx0XHRtYXJnaW4tbGVmdDogLTM4LjVweDtcblx0XHRcdH1cblx0XHR9XG5cdH1cbn1cbmEge1xuXHRjb2xvcjogJGFjY2VudC1jb2xvci0yYztcblx0dGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG5cdCY6aG92ZXIsXG5cdCY6Zm9jdXMge1xuXHRcdGNvbG9yOiAkYWNjZW50LWNvbG9yLTJiO1xuXHR9XG5cdCYsXG5cdCYgPiAqIHtcblx0XHR0cmFuc2l0aW9uOiBjb2xvciAuM3MsIGJhY2tncm91bmQtY29sb3IgLjNzO1xuXHR9XG59XG5cbi8vR2V0IHJpZCBvZiBtYXJnaW4gb24gVUwgYW5kIHNldCBvbiBMSVxudWwge1xuXHRtYXJnaW4tbGVmdDogMDtcblx0bGkge1xuXHRcdG1hcmdpbi1sZWZ0OiAxNXB4O1xuXHR9XG59XG5cbi8vVEFCTEVcbnRhYmxlIHtcblx0Ji50YWJsZS0tZnVsbC13aWR0aCB7XG5cdFx0d2lkdGg6IDEwMCU7XG5cdH1cblx0Ym9yZGVyLWNvbGxhcHNlOiBjb2xsYXBzZTtcblx0Ym9yZGVyLWJvdHRvbTogMnB4IHNvbGlkICRuZXV0cmFsLWNvbG9yLTQ7XG5cdHRoZWFkIHtcblx0XHRib3JkZXItYm90dG9tOiAycHggc29saWQgIzZiNjU1ZDtcblx0XHR0aCB7XG5cdFx0XHRmb250LXNpemU6IDE4cHg7XG5cdFx0fVxuXHRcdHRoICsgdGgge1xuXHRcdFx0Ym9yZGVyLWxlZnQ6IDFweCBzb2xpZCAkbmV1dHJhbC1jb2xvci00O1xuXHRcdH1cblx0fVxuXHR0aCxcblx0dGQge1xuXHRcdHRleHQtYWxpZ246IGxlZnQ7XG5cdH1cblx0dGQge1xuXHRcdGZvbnQtc2l6ZTogMTZweDtcblx0XHQrIHRkIHtcblx0XHRcdGJvcmRlci1sZWZ0OiAxcHggc29saWQgJG5ldXRyYWwtY29sb3ItNDtcblx0XHR9XG5cdH1cbn1cbi8vIFNDUk9MTCBUQUJMRVxuLnRhYmxlLXNjcm9sbCB7XG5cdHBvc2l0aW9uOiByZWxhdGl2ZTtcblx0b3ZlcmZsb3c6IGhpZGRlbiAhaW1wb3J0YW50O1xuXHQudGFibGUtc2Nyb2xsX193cmFwcGVyIHtcblx0XHRvdmVyZmxvdy14OiBhdXRvO1xuXHRcdD4gdGFibGUge1xuXHRcdFx0dGQge1xuXHQgICAgXHRcdG1pbi13aWR0aDogMTYwcHggIWltcG9ydGFudDtcblx0ICAgIFx0fVxuXHQgICAgfVxuICAgIH1cblx0Ly90cmFuc2l0aW9uOiBhbGwgMC41cyBlYXNlO1xuXHQmLmFjdGl2ZSB7XG5cdFx0Ji50YWJsZS1zY3JvbGwtLXNoYWRvdy1yaWdodDphZnRlcixcblx0XHQmLnRhYmxlLXNjcm9sbC0tc2hhZG93LWxlZnQ6YmVmb3JlIHtcblx0XHRcdGNvbnRlbnQ6IFwiXCI7XG5cdCAgICBcdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0XHRcdHRvcDogMDtcblx0XHRcdGJvdHRvbTogMThweDtcblx0XHRcdHdpZHRoOiAyMDBweDtcblx0XHRcdHBvaW50ZXItZXZlbnRzOm5vbmU7XG5cdFx0XHRAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsIGRvd24pIHtcblx0XHRcdFx0d2lkdGg6IDUwcHg7XG5cdFx0XHR9XG5cdFx0fVxuXHQgICAgJi50YWJsZS1zY3JvbGwtLXNoYWRvdy1yaWdodCB7XG5cdCAgICBcdCY6YWZ0ZXIge1xuXHQgICAgXHRcdGJhY2tncm91bmQ6IC1tb3otbGluZWFyLWdyYWRpZW50KGxlZnQsICByZ2JhKDI1NSwyNTUsMjU1LDApIDAlLCByZ2JhKDI1NSwyNTUsMjU1LDEpIDEwMCUpO1xuXHRcdFx0XHRiYWNrZ3JvdW5kOiAtd2Via2l0LWxpbmVhci1ncmFkaWVudChsZWZ0LCAgcmdiYSgyNTUsMjU1LDI1NSwwKSAwJSxyZ2JhKDI1NSwyNTUsMjU1LDEpIDEwMCUpO1xuXHRcdFx0XHRiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQodG8gcmlnaHQsICByZ2JhKDI1NSwyNTUsMjU1LDApIDAlLHJnYmEoMjU1LDI1NSwyNTUsMSkgMTAwJSk7XG5cdFx0XHRcdGZpbHRlcjogcHJvZ2lkOkRYSW1hZ2VUcmFuc2Zvcm0uTWljcm9zb2Z0LmdyYWRpZW50KCBzdGFydENvbG9yc3RyPScjMDBmZmZmZmYnLCBlbmRDb2xvcnN0cj0nI2ZmZmZmZicsR3JhZGllbnRUeXBlPTEgKTtcblx0ICAgIFx0XHRyaWdodDogMDtcblx0XHRcdFx0bGVmdDp1bnNldDtcblx0ICAgIFx0fSAgICAgXG5cdCAgICB9XG5cdCAgICAmLnRhYmxlLXNjcm9sbC0tc2hhZG93LWxlZnQge1xuXHQgICAgXHQmOmJlZm9yZSB7XG5cdCAgICBcdFx0YmFja2dyb3VuZDogLW1vei1saW5lYXItZ3JhZGllbnQobGVmdCwgIHJnYmEoMjU1LDI1NSwyNTUsMSkgMCUsIHJnYmEoMjU1LDI1NSwyNTUsMCkgMTAwJSk7XG5cdFx0XHRcdGJhY2tncm91bmQ6IC13ZWJraXQtbGluZWFyLWdyYWRpZW50KGxlZnQsICByZ2JhKDI1NSwyNTUsMjU1LDEpIDAlLHJnYmEoMjU1LDI1NSwyNTUsMCkgMTAwJSk7XG5cdFx0XHRcdGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCh0byByaWdodCwgIHJnYmEoMjU1LDI1NSwyNTUsMSkgMCUscmdiYSgyNTUsMjU1LDI1NSwwKSAxMDAlKTtcblx0XHRcdFx0ZmlsdGVyOiBwcm9naWQ6RFhJbWFnZVRyYW5zZm9ybS5NaWNyb3NvZnQuZ3JhZGllbnQoIHN0YXJ0Q29sb3JzdHI9JyNmZmZmZmYnLCBlbmRDb2xvcnN0cj0nIzAwZmZmZmZmJyxHcmFkaWVudFR5cGU9MSApO1xuXHRcdFx0XHRsZWZ0OiAwO1xuXHQgICAgXHR9ICAgICBcblx0ICAgIH1cblx0fVxufVxuXG4vLyBBREQgVEhJUyBTQ1JJUFQgRU1CRURcbi5hZGQtdGhpcyB7XG4gIG1hcmdpbjogMjBweCAwO1xufSIsIkBtaXhpbiBmb250RmFjZSgkZmFtaWx5LCRzcmMsJHN0eWxlOiBudWxsLCR3ZWlnaHQ6IG51bGwpIHtcblx0QGZvbnQtZmFjZSB7XG5cdFx0Zm9udC1mYW1pbHk6ICRmYW1pbHk7XG5cdFx0c3JjOiB1cmwoJyN7JHNyY30uZW90Jyk7IC8vIElFOSBjb21wYXRcblx0XHRzcmM6IHVybCgnI3skc3JjfS5lb3Q/I2llZml4JykgZm9ybWF0KCdlbWJlZGRlZC1vcGVudHlwZScpLCAvLyBJRTggYW5kIGJlbG93XG5cdFx0XHR1cmwoJyN7JHNyY30ud29mZicpIGZvcm1hdCgnd29mZicpLCAvLyBzdGFuZGFyZHNcblx0XHRcdHVybCgnI3skc3JjfS50dGYnKSBmb3JtYXQoJ3RydWV0eXBlJyksIC8vIFNhZmFyaSwgQW5kcm9pZCwgaU9TXG5cdFx0XHR1cmwoJyN7JHNyY30uc3ZnIyN7JGZhbWlseX0nKSBmb3JtYXQoJ3N2ZycpOyAvLyBsZWdhY3kgaU9TXG5cblx0XHRmb250LXN0eWxlOiAkc3R5bGU7XG5cdFx0Zm9udC13ZWlnaHQ6ICR3ZWlnaHQ7XG5cdH1cbn0iLCIjYWNhZGVtaWMtZmlsdGVycyB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xufVxuI2FjYWRlbWljLWZpbHRlci10b2dnbGVyID4gYSB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgYm9yZGVyLXdpZHRoOiAycHggMDtcbiAgICBib3JkZXItY29sb3I6ICNlMGUwZTA7XG4gICAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcbiAgICBwYWRkaW5nOiAxN3B4IDIycHg7XG4gICAgZm9udC1mYW1pbHk6ICRwcmltYXJ5LWZvbnQ7XG4gICAgZm9udC1zaXplOiAyMHB4O1xuICAgIGNvbG9yOiAjMTgxNzFlO1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICBtYXJnaW4tdG9wOiA1MHB4O1xuICAgICY6YWZ0ZXIge1xuICAgICAgICBjb250ZW50OiBcIlxcZTgwNVwiO1xuICAgICAgICBwYWRkaW5nLXRvcDogNnB4O1xuICAgICAgICBjb2xvcjogIzAwMDAwMDtcbiAgICAgICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gICAgICAgIGZsb2F0OiByaWdodDtcbiAgICAgICAgZm9udC1mYW1pbHk6IFwiRm9udGVsbG9cIjtcbiAgICAgICAgc3BlYWs6IG5vbmU7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICB0ZXh0LXRyYW5zZm9ybTogbm9uZTtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDFlbTtcbiAgICAgICAgLXdlYmtpdC1mb250LXNtb290aGluZzogYW50aWFsaWFzZWQ7XG4gICAgICAgIC1tb3otb3N4LWZvbnQtc21vb3RoaW5nOiBncmF5c2NhbGU7XG4gICAgICAgIHRyYW5zZm9ybTogcm90YXRlKDQ1ZGVnKTtcbiAgICAgICAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDAuM3M7XG4gICAgfVxuICAgICYub3BlbiB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRuZXV0cmFsLWNvbG9yLTY7XG4gICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICAgICAgY29sb3I6ICRwcmltYXJ5LWNvbG9yLTM7XG4gICAgICAgICY6YWZ0ZXIge1xuICAgICAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoMGRlZyk7XG4gICAgICAgICAgICBjb2xvcjogIzY2NjY2NjtcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gICAgICAgIH1cbiAgICB9XG59XG4uaW5kZXgtbGlzdCxcbltjbGFzc149XCJpbmRleC1saXN0LS1cIl0sXG5bY2xhc3MqPScgaW5kZXgtbGlzdC0tJ10ge1xuICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgZHQge1xuICAgICAgICBjb2xvcjogI2ZmZjtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDEuNDU7XG4gICAgICAgIGZvbnQ6IHtcbiAgICAgICAgICAgIHdlaWdodDogYm9sZDtcbiAgICAgICAgfVxuICAgICAgICBtYXJnaW4tYm90dG9tOiAycHg7XG4gICAgfVxuICAgIGRkIHtcbiAgICAgICAgY29sb3I6ICNmZmY7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxLjU7XG4gICAgICAgIGZvbnQ6IHtcbiAgICAgICAgICAgIGZhbWlseTogJHByaW1hcnktZm9udDtcbiAgICAgICAgICAgIHNpemU6IDE2cHg7XG4gICAgICAgIH1cbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMTJweDtcbiAgICAgICAgJjpsYXN0LWNoaWxkIHtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgICAgIH1cbiAgICB9XG59XG4uaW5kZXgtbGlzdC0taG9yaXpvbnRhbCB7XG4gICAgY29sdW1uLWNvdW50OiAyO1xuICAgIGNvbHVtbi1nYXA6IDA7XG4gICAgZHQsXG4gICAgZGQge1xuICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogdG9wO1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgfVxuICAgIGR0IHtcbiAgICAgICAgd2lkdGg6IDMwJTtcbiAgICAgICAgbWF4LXdpZHRoOiA2MHB4O1xuICAgIH1cbiAgICBkZCB7XG4gICAgICAgIHdpZHRoOiA2Ny44JTtcbiAgICAgICAgcGFkZGluZy1yaWdodDogNXB4O1xuICAgIH1cbiAgICBAbWVkaWEgKG1heC13aWR0aDogNTYwcHgpLFxuICAgIChtaW4td2lkdGg6IDc2OHB4KSBhbmQgKG1heC13aWR0aDogMTAyNHB4KSB7XG4gICAgICAgIGNvbHVtbi1jb3VudDogMTtcbiAgICAgICAgZHQge1xuICAgICAgICAgICAgd2lkdGg6IDE5JTtcbiAgICAgICAgICAgIG1heC13aWR0aDogbm9uZTtcbiAgICAgICAgfVxuICAgICAgICBkZCB7XG4gICAgICAgICAgICB3aWR0aDogNzglO1xuICAgICAgICAgICAgcGFkZGluZy1yaWdodDogMDtcbiAgICAgICAgfVxuICAgIH1cbiAgICBAbWVkaWEgKG1heC13aWR0aDogNDAwcHgpIHtcbiAgICAgICAgZHQge1xuICAgICAgICAgICAgd2lkdGg6IDIyJTtcbiAgICAgICAgfVxuICAgICAgICBkZCB7XG4gICAgICAgICAgICB3aWR0aDogNzUlO1xuICAgICAgICB9XG4gICAgfVxufVxuQGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCBkb3duKSB7XG4gICAgLmluZGV4LWxpc3QtLWhvcml6b250YWwge1xuICAgICAgICBtYXJnaW46IDE1cHggMCAwO1xuICAgIH1cbn1cbiNpbmRleC1pbmZvLWJveCB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGJhY2tncm91bmQ6ICMyQTI5MzA7XG4gICAgbWF4LWhlaWdodDogMDtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIC13ZWJraXQtdHJhbnNpdGlvbjogbWF4LWhlaWdodCAwLjNzO1xuICAgIHRyYW5zaXRpb246IG1heC1oZWlnaHQgMC4zcztcbiAgICB3aWR0aDogMTAwJTtcbiAgICBtYXJnaW4tdG9wOiAtMjNweDtcbiAgICB6LWluZGV4OiAxO1xuICAgIGxlZnQ6IDA7XG4gICAgLmluZGV4LWluZm8tYm94X193cmFwcGVyIHtcbiAgICAgICAgcGFkZGluZzogMjBweDtcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCBkb3duKSB7XG4gICAgICAgICAgICBwYWRkaW5nOiAxNXB4O1xuICAgICAgICB9XG4gICAgfVxuICAgICYub3BlbiB7XG4gICAgICAgIG1heC1oZWlnaHQ6IDEwMDBweDtcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gZG93bikge1xuICAgICAgICAgICAgbWF4LWhlaWdodDogMTUwMHB4O1xuICAgICAgICB9XG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgZG93bikge1xuICAgICAgICAgICAgbWF4LWhlaWdodDogMzAwMHB4O1xuICAgICAgICB9XG4gICAgICAgIEBtZWRpYSAobWF4LXdpZHRoOiA0ODBweCkge1xuICAgICAgICAgICAgbWF4LWhlaWdodDogMTAwMDBweDtcbiAgICAgICAgfVxuICAgIH1cbn1cbi8vRmlsdGVyIEJveFxuLmZpbHRlci1ib3gge1xuICAgIC8vbWF4LXdpZHRoOiA3NDVweDtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgbWFyZ2luOiA1MHB4IGF1dG8gNDBweDtcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSBkb3duKSB7XG4gICAgICAgIG1hcmdpbi10b3A6IDI0cHg7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDIwcHg7XG4gICAgfVxuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgZmxleC1mbG93OiByb3cgd3JhcDtcbiAgICAuYnRuLmJ0bi0tYWNhZGVtaWMtZmlsdGVyLFxuICAgIGEuYnRuLmJ0bi0tYWNhZGVtaWMtZmlsdGVyOm5vdCguaW5mbykge1xuICAgICAgICB3aWR0aDogYXV0bztcbiAgICAgICAgbWluLXdpZHRoOiAxNzBweDtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMTBweDtcbiAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gZG93bikge1xuICAgICAgICAgICAgZm9udC1zaXplOiAxNHB4O1xuICAgICAgICAgICAgbWluLXdpZHRoOiAxMzBweDtcbiAgICAgICAgfVxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsIGRvd24pIHtcbiAgICAgICAgICAgIHdpZHRoOiBjYWxjKDUwJSAtIDEwcHgpO1xuICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiAwO1xuICAgICAgICAgICAgcGFkZGluZy1yaWdodDogMDtcbiAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiA1cHg7XG4gICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDVweDtcbiAgICAgICAgfVxuICAgIH1cbiAgICBhLmJ0bi5idG4tLWFjYWRlbWljLWZpbHRlci5pbmZvIHtcbiAgICAgICAgbWluLXdpZHRoOiAwO1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgICYuYWN0aXZlIHtcbiAgICAgICAgICAgICY6YWZ0ZXIge1xuICAgICAgICAgICAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgICAgICAgICAgIGJvcmRlci1ib3R0b206IDI5cHggc29saWQgIzJBMjkzMDtcbiAgICAgICAgICAgICAgICBib3JkZXItcmlnaHQ6IDI5cHggc29saWQgdHJhbnNwYXJlbnQ7XG4gICAgICAgICAgICAgICAgYm9yZGVyLWxlZnQ6IDI5cHggc29saWQgdHJhbnNwYXJlbnQ7XG4gICAgICAgICAgICAgICAgd2lkdGg6IDU4cHg7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgICAgICBib3R0b206IC0zOXB4O1xuICAgICAgICAgICAgICAgIGxlZnQ6IDUwJTtcbiAgICAgICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSlcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xuICAgICAgICBwICsgcCB7XG4gICAgICAgICAgICAvLyB3b3JrYXJvdW5kIHNpbmNlIHAgdGFnIHdhcyBhZGRlZCBpbnRvIGJ1dHRvbiBhdG9tXG4gICAgICAgICAgICBtYXJnaW4tbGVmdDogMTBweDtcbiAgICAgICAgfVxuICAgICAgICAuYnRuICsgLmJ0biB7XG4gICAgICAgICAgICBtYXJnaW4tbGVmdDogMTBweDtcbiAgICAgICAgfVxuICAgIH1cbn1cbi5hbHBoYWJldC1maWx0ZXItaG9sZGVyIHtcbiAgICBmbG9hdDogbGVmdDtcbiAgICBiYWNrZ3JvdW5kOiAkbmV1dHJhbC1jb2xvci02O1xuICAgIGZvbnQtZmFtaWx5OiAkcHJpbWFyeS1mb250O1xuICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgcGFkZGluZzogMTFweCAxN3B4O1xuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2Ugb25seSkge1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IDIwcHg7XG4gICAgfVxuICAgICYuYWN0aXZlLWZpbHRlciB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIH1cbiAgICAmLmluYWN0aXZlLWZpbHRlciB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxuICAgIGEge1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICAgICAgZm9udC1zaXplOiAyNHB4O1xuICAgICAgICBjb2xvcjogJGFjY2VudC1jb2xvci0yYjtcbiAgICAgICAgcGFkZGluZzogMCA3cHg7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxO1xuICAgICAgICAmLmFjdGl2ZSB7XG4gICAgICAgICAgICBjb2xvcjogJGFjY2VudC1jb2xvci0yYjtcbiAgICAgICAgICAgICY6aG92ZXIsXG4gICAgICAgICAgICAmOmZvY3VzIHtcbiAgICAgICAgICAgICAgICBjb2xvcjogJGFjY2VudC1jb2xvci0yYTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAmLmluYWN0aXZlIHtcbiAgICAgICAgICAgIGNvbG9yOiAjYzNjM2MzO1xuICAgICAgICAgICAgY3Vyc29yOiBkZWZhdWx0O1xuICAgICAgICB9XG4gICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgICAgICB9XG4gICAgfVxufVxuLnNjaG9vbC1maWx0ZXItZHJvcGRvd24taG9sZGVyIHtcbiAgICBzZWxlY3Qge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmFmYWZhO1xuICAgICAgICBoZWlnaHQ6IDUwcHg7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgfVxuICAgICYuYWN0aXZlLWZpbHRlciB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIH1cbiAgICAmLmluYWN0aXZlLWZpbHRlciB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxufVxuLmF6LXNjaG9vbC1zd2l0Y2gge1xuICAgIG1hcmdpbjogMDtcbiAgICBtaW4td2lkdGg6IDIzMnB4O1xuICAgIGZsb2F0OiByaWdodDtcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsIGRvd24pIHtcbiAgICAgICAgZmxvYXQ6IG5vbmU7XG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgbWFyZ2luLXRvcDogMjBweDtcbiAgICB9XG4gICAgLmZpbHRlci1zd2l0Y2gge1xuICAgICAgICBbdHlwZT0nY2hlY2tib3gnXSArIGxhYmVsIHtcbiAgICAgICAgICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gICAgICAgICAgICBtYXJnaW46IDAgMTBweDtcbiAgICAgICAgfVxuICAgICAgICBzcGFuIHtcbiAgICAgICAgICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gICAgICAgICAgICBjb2xvcjogJG5ldXRyYWwtY29sb3ItMztcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgICAgICAgICBmb250LXNpemU6IDIwcHg7XG4gICAgICAgIH1cbiAgICAgICAgaW5wdXQ6Y2hlY2tlZCB+IC5zd2l0Y2gtcGFkZGxlLFxuICAgICAgICAuc3dpdGNoLXBhZGRsZSB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiAkYWNjZW50LWNvbG9yLTJiO1xuICAgICAgICAgICAgJjpob3ZlcixcbiAgICAgICAgICAgICY6Zm9jdXMge1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRhY2NlbnQtY29sb3ItMmE7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG59XG5cblxuLyouYXAtaXRlbSAuZmx5b3V0e1xuICBtYXgtaGVpZ2h0OiAwO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICAtd2Via2l0LXRyYW5zaXRpb246IG1heC1oZWlnaHQgMC4zcztcbiAgdHJhbnNpdGlvbjogbWF4LWhlaWdodCAwLjNzO1xufVxuLmFwLWl0ZW0uYXAtaXRlbS0tb3BlbiAuZmx5b3V0e1xuICBtYXgtaGVpZ2h0OiA1MDBweDtcbn0qL1xuXG4uYWNhZGVtaWMtZmlsdGVyIHtcbiAgLy9tYXJnaW4tdG9wOiAyZW07XG4gICAgLnNlYXJjaC1ib3ggPiBpbnB1dFt0eXBlPVwidGV4dFwiXSB7XG4gICAgICAgIGZvbnQtc2l6ZTogMzZweDtcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCBkb3duKSB7XG4gICAgICAgICAgICBmb250LXNpemU6IDIwcHg7XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi5hY2FkZW1pYy1lcnJvciB7XG4gIHBhZGRpbmctdG9wOiAyZW07XG4gIHBhZGRpbmctYm90dG9tOiAxZW07XG4gIGJhY2tncm91bmQtY29sb3I6IGxpZ2h0cGluaztcbn1cblxuLmFjYWRlbWljLXByb2dyYW0ge1xuICAgIG1hcmdpbi10b3A6IDMwcHg7XG4gICAgLnByb2dyYW0tbGlua3Mge1xuICAgICAgICBtYXJnaW4tdG9wOiA4MHB4O1xuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsIGRvd24pIHtcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IDA7XG4gICAgICAgIH1cbiAgICB9XG4gICAgLmludHJvIHtcbiAgICAgICAgLnByb2dyYW0tb3ZlcnZpZXcge1xuICAgICAgICAgICAgbWFyZ2luLXRvcDogNTBweDtcbiAgICAgICAgfVxuICAgIH1cbn1cbiIsIkBtZWRpYSBzY3JlZW4ge1xuICAgICNjb25jTW9kYWwucmV2ZWFsIHtcbiAgICAgICAgcGFkZGluZy1sZWZ0OjMwcHg7XG4gICAgICAgICY6Zm9jdXMge1xuICAgICAgICAgICAgb3V0bGluZTogJGFjY2VudC1jb2xvci0yYyBhdXRvIDVweDt9XG4gICAgICAgIHVsIHtcbiAgICAgICAgICAgIGxpc3Qtc3R5bGU6bm9uZTtcbiAgICAgICAgICAgIGEge1xuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMjBweDtcbiAgICAgICAgICAgICAgICBsaW5lLWhlaWdodDogMjBweDtcbiAgICAgICAgICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cdC5hZG1pc3Npb24tc3RlcHMge1xuXHRcdHBvc2l0aW9uOiByZWxhdGl2ZTtcblx0XHRvdmVyZmxvdzogaGlkZGVuO1xuXHRcdG1hcmdpbi1ib3R0b206IDU5cHg7XG5cdFx0QGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCBkb3duKSB7XG5cdFx0XHRtYXJnaW4tYm90dG9tOiAxOXB4OyBcblx0XHR9XG5cdFx0LmNvbHVtbnMudGFicy10aXRsZSB7XG5cdFx0XHQ+IGEge1xuXHRcdFx0XHRmb250LXNpemU6IDIwcHg7XG5cdFx0XHRcdGxpbmUtaGVpZ2h0OiAyMHB4O1xuXHRcdFx0XHRmb250LXdlaWdodDogYm9sZDtcblx0XHRcdFx0Y29sb3I6ICNjOGM4Yzg7XG5cdFx0XHRcdHRleHQtZGVjb3JhdGlvbjogbm9uZTtcblx0XHRcdFx0cGFkZGluZy1sZWZ0OiA3NHB4O1xuXHRcdFx0XHRwb3NpdGlvbjogcmVsYXRpdmU7XG5cdFx0XHRcdC5hZG1pc3Npb24tc3RlcHNfX2NpcmNsZSB7XG5cdFx0XHRcdFx0cG9zaXRpb246IGFic29sdXRlO1xuXHRcdFx0XHRcdGxlZnQ6IDA7XG5cdFx0XHRcdFx0dG9wOiAxNXB4O1xuXHRcdFx0XHRcdGZvbnQtc2l6ZTogMjVweDtcblx0XHRcdFx0XHRmb250LXdlaWdodDogYm9sZDtcblx0XHRcdFx0XHRjb2xvcjogI2M4YzhjODtcblx0XHRcdFx0XHRib3JkZXI6IDRweCBzb2xpZCAjYzhjOGM4O1xuXHRcdFx0XHRcdHdpZHRoOiA1NnB4O1xuXHRcdFx0XHRcdGhlaWdodDogNTZweDtcblx0XHRcdFx0XHRib3JkZXItcmFkaXVzOiAyOHB4O1xuXHRcdFx0XHRcdGRpc3BsYXk6IGlubGluZS1ibG9jaztcblx0XHRcdFx0XHR0ZXh0LWFsaWduOiBjZW50ZXI7XG5cdFx0XHRcdFx0cGFkZGluZy10b3A6IDE0cHg7XG5cdFx0XHRcdH1cblx0XHRcdFx0Jjpob3Zlcixcblx0XHRcdFx0Jjpmb2N1cyB7XG5cdFx0XHRcdFx0Y29sb3I6ICRzZWNvbmRhcnktY29sb3ItMztcblx0XHRcdFx0XHQuYWRtaXNzaW9uLXN0ZXBzX19jaXJjbGUge1xuXHRcdFx0XHRcdFx0YmFja2dyb3VuZC1jb2xvcjogJHNlY29uZGFyeS1jb2xvci0zO1xuXHRcdFx0XHRcdFx0Y29sb3I6IHdoaXRlO1xuXHRcdFx0XHRcdFx0Ym9yZGVyLWNvbG9yOiAkc2Vjb25kYXJ5LWNvbG9yLTM7IFxuXHRcdFx0XHRcdH1cblx0XHRcdFx0fVxuXHRcdFx0XHRAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsIGRvd24pIHtcblx0XHRcdFx0XHRwYWRkaW5nOiAzMHB4IDAgNDJweDtcblx0XHRcdFx0XHRjb2xvcjogJHNlY29uZGFyeS1jb2xvci0zO1xuXHRcdFx0XHRcdHRleHQtYWxpZ246IGNlbnRlcjtcblx0XHRcdFx0XHRib3JkZXItYm90dG9tOiAxcHggc29saWQgJG5ldXRyYWwtY29sb3ItNTtcblx0XHRcdFx0XHRiciB7XG5cdFx0XHRcdFx0XHRkaXNwbGF5OiBub25lO1xuXHRcdFx0XHRcdH1cblx0XHRcdFx0XHQuYWRtaXNzaW9uLXN0ZXBzX19jaXJjbGUge1xuXHRcdFx0XHRcdFx0cG9zaXRpb246IHN0YXRpYztcblx0XHRcdFx0XHRcdGRpc3BsYXk6IGJsb2NrO1xuXHRcdFx0XHRcdFx0bWFyZ2luOiAwIGF1dG8gMTRweDtcblx0XHRcdFx0XHRcdGNvbG9yOiAkc2Vjb25kYXJ5LWNvbG9yLTM7XG5cdFx0XHRcdFx0XHRib3JkZXItY29sb3I6ICRzZWNvbmRhcnktY29sb3ItMztcblx0XHRcdFx0XHR9XG5cdFx0XHRcdH1cblx0XHRcdH1cblx0XHRcdCYuaXMtYWN0aXZlIHtcblx0XHRcdFx0YSB7XG5cdFx0XHRcdFx0YmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG5cdFx0XHRcdFx0Y29sb3I6ICRzZWNvbmRhcnktY29sb3ItMztcblx0XHRcdFx0XHQuYWRtaXNzaW9uLXN0ZXBzX19jaXJjbGUge1xuXHRcdFx0XHRcdFx0YmFja2dyb3VuZC1jb2xvcjogJHNlY29uZGFyeS1jb2xvci0zO1xuXHRcdFx0XHRcdFx0Y29sb3I6IHdoaXRlO1xuXHRcdFx0XHRcdFx0Ym9yZGVyLWNvbG9yOiAkc2Vjb25kYXJ5LWNvbG9yLTM7IFxuXHRcdFx0XHRcdH1cblx0XHRcdFx0fVxuXHRcdFx0fVxuXHRcdH1cblx0XHQudGFicyB7XG5cdFx0XHRib3JkZXItY29sb3I6ICRuZXV0cmFsLWNvbG9yLTU7XG5cdFx0XHRib3JkZXItd2lkdGg6IDJweCAwIDAgMDtcblx0XHRcdCYudmVydGljYWwge1xuXHRcdFx0XHRwb3NpdGlvbjogcmVsYXRpdmU7XG5cdFx0XHRcdG1hcmdpbi10b3A6IDE2cHg7XG5cdFx0XHRcdG1hcmdpbi1ib3R0b206IDMwcHg7XG5cdFx0XHRcdCY6YWZ0ZXIge1xuXHRcdFx0XHRcdGNvbnRlbnQ6IFwiXCI7XG5cdFx0XHRcdFx0YmFja2dyb3VuZC1jb2xvcjogI2Y0ZjRmNDtcblx0XHRcdFx0XHR0b3A6IC00NnB4O1xuXHRcdFx0XHRcdGJvdHRvbTogLTU0cHg7XG5cdFx0XHRcdFx0bGVmdDogODBweDtcblx0XHRcdFx0XHRyaWdodDogLTMwMDBweDtcblx0XHRcdFx0XHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdFx0XHRcdFx0ZGlzcGxheTogYmxvY2s7XG5cdFx0XHRcdFx0ei1pbmRleDogLTE7XG5cdFx0XHRcdH1cblx0XHRcdFx0bGkge1xuXHRcdFx0XHRcdG1hcmdpbi1sZWZ0OiAwO1xuXHRcdFx0XHRcdCY6YmVmb3JlIHtcblx0XHRcdFx0XHRcdGRpc3BsYXk6IG5vbmU7XG5cdFx0XHRcdFx0fVxuXHRcdFx0XHRcdGEge1xuXHRcdFx0XHRcdFx0Ym9yZGVyLWJvdHRvbTogMnB4IHNvbGlkICRuZXV0cmFsLWNvbG9yLTU7XG5cdFx0XHRcdFx0XHRkaXNwbGF5OiBibG9jaztcblx0XHRcdFx0XHRcdGZvbnQtc2l6ZTogMjBweDtcblx0XHRcdFx0XHRcdGNvbG9yOiAjMjMxZjIwO1xuXHRcdFx0XHRcdFx0cGFkZGluZzogMjFweCAxMHB4IDIycHggMjRweDtcblx0XHRcdFx0XHRcdHBvc2l0aW9uOiByZWxhdGl2ZTtcblx0XHRcdFx0XHRcdGZvbnQtZmFtaWx5OiAkaGVhZGxpbmUtZm9udDtcblx0XHRcdFx0XHRcdHRleHQtZGVjb3JhdGlvbjogbm9uZTtcblx0XHRcdFx0XHR9XG5cdFx0XHRcdFx0JlthcmlhLXNlbGVjdGVkPSd0cnVlJ10sXG5cdFx0XHRcdFx0Ji5pcy1hY3RpdmUge1xuXHRcdFx0XHRcdFx0YSB7XG5cdFx0XHRcdFx0XHRcdGJvcmRlci1sZWZ0OiA2cHggc29saWQgI2NhYWY3Nztcblx0XHRcdFx0XHRcdFx0cGFkZGluZy1sZWZ0OiAxOHB4O1xuXHRcdFx0XHRcdFx0XHQmOmFmdGVyIHtcblx0XHRcdFx0XHRcdFx0XHRjb250ZW50OiBcIlwiO1xuXHRcdFx0XHRcdFx0XHRcdGJvcmRlci10b3A6IDMwcHggc29saWQgdHJhbnNwYXJlbnQ7XG5cdFx0XHRcdFx0XHRcdFx0Ym9yZGVyLWJvdHRvbTogMzBweCBzb2xpZCB0cmFuc3BhcmVudDsgXG5cdFx0XHRcdFx0XHRcdFx0Ym9yZGVyLXJpZ2h0OiAzMHB4IHNvbGlkIHdoaXRlOyBcblx0XHRcdFx0XHRcdFx0XHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdFx0XHRcdFx0XHRcdFx0cmlnaHQ6IC0zN3B4O1xuXHRcdFx0XHRcdFx0XHRcdHRvcDogNTAlO1xuXHRcdFx0XHRcdFx0XHRcdG1hcmdpbi10b3A6IC0zMXB4O1xuXHRcdFx0XHRcdFx0XHRcdGRpc3BsYXk6IGJsb2NrO1xuXHRcdFx0XHRcdFx0XHR9XG5cdFx0XHRcdFx0XHR9XG5cdFx0XHRcdFx0fVxuXHRcdFx0XHR9XG5cdFx0XHR9XG5cdFx0fVxuXHRcdD4gLnRhYnMtY29udGVudCB7XG5cdFx0XHRiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICBcdFx0Ym9yZGVyOiAwIG5vbmU7XG5cdFx0fVxuXHRcdC50YWJzLWNvbnRlbnQge1xuXHRcdFx0Ji52ZXJ0aWNhbCB7XG5cdFx0XHRcdG1hcmdpbi1sZWZ0OiAzNHB4O1xuXHRcdFx0XHRib3JkZXI6IDAgbm9uZTtcblx0XHRcdH1cblx0XHRcdC50YWJzLXBhbmVsIHtcblx0XHRcdFx0cGFkZGluZzogNDBweCA1MnB4O1xuICAgICAgICAgICAgICAgICBwLmFjYWRlbWljWWVhciB7XG4gICAgICAgICAgICAgICAgICAgICAgICBmb250LXdlaWdodDo1MDA7XG4gICAgICAgICAgICAgICAgICAgICAgICBmb250LXN0eWxlOml0YWxpYztcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICNkZWFkbGluZXMge1xuICAgICAgICAgICAgICAgICAgICB1bCB7XG4gICAgICAgICAgICAgICAgICAgICAgICBtYXJnaW4tbGVmdDoxNXB4O1xuICAgICAgICAgICAgICAgICAgICAgICAgbGkge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHAge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOjAuNGVtO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cblx0XHRcdH1cblx0XHR9XG5cdFx0LnRhYnMtdGl0bGUge1xuXHRcdFx0PiBhIHtcblx0XHRcdFx0Jjpob3Zlcixcblx0XHRcdFx0Jjpmb2N1cywgXG5cdFx0XHRcdCZbYXJpYS1zZWxlY3RlZD0ndHJ1ZSddIHtcblx0XHRcdFx0XHRiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcblx0XHRcdFx0XHRjb2xvcjogI2NhYWY3Nztcblx0XHRcdFx0fVxuXHRcdFx0fVxuXHRcdH1cblx0XHQuYWRtaXNzaW9uLXN0ZXBzX19wcmludCB7XG5cdFx0XHRmb250LXdlaWdodDogYm9sZDtcblx0XHRcdGZvbnQtc2l6ZTogMTlweDtcblx0XHRcdGZsb2F0OiByaWdodDtcblx0XHRcdHRleHQtZGVjb3JhdGlvbjogbm9uZTtcblx0XHR9XG5cdFx0QGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSBkb3duKSB7XG5cdFx0XHQ+IC5yb3c6Zmlyc3QtY2hpbGQge1xuXHRcdFx0XHRtYXJnaW4tbGVmdDogNTZweDtcblx0XHRcdFx0bWFyZ2luLXJpZ2h0OiA1NnB4O1xuXHRcdFx0XHRAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsIGRvd24pIHtcblx0XHRcdFx0XHRtYXJnaW4tbGVmdDogMThweDtcblx0XHRcdFx0XHRtYXJnaW4tcmlnaHQ6IDE4cHg7XG5cdFx0XHRcdH1cblx0XHRcdH1cblx0XHR9XG5cdFx0QGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gZG93bikge1xuXHRcdFx0XG5cdFx0XHQuYWRtaXNzaW9uLXN0ZXBzX19uYXYge1xuXHRcdFx0XHRtYXJnaW4tbGVmdDogNjBweDtcbiAgICBcdFx0XHRtYXJnaW4tcmlnaHQ6IDMycHg7XG4gICAgXHRcdFx0QGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCBkb3duKSB7XG4gICAgXHRcdFx0XHRib3JkZXItdG9wOiA1cHggc29saWQgJHNlY29uZGFyeS1jb2xvci0zO1xuICAgIFx0XHRcdFx0Ym9yZGVyLWJvdHRvbTogNXB4IHNvbGlkICRzZWNvbmRhcnktY29sb3ItMztcbiAgICBcdFx0XHRcdG1hcmdpbi1sZWZ0OiAyMnB4O1xuICAgIFx0XHRcdFx0bWFyZ2luLXJpZ2h0OiAyMnB4O1xuICAgIFx0XHRcdFx0YmFja2dyb3VuZC1jb2xvcjogd2hpdGU7XG4gICAgXHRcdFx0XHRwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgXHRcdFx0XHQmOmJlZm9yZSB7XG4gICAgXHRcdFx0XHRcdGNvbnRlbnQ6IFwiXCI7XG5cdFx0XHRcdFx0XHRiYWNrZ3JvdW5kLWNvbG9yOiAjZjRmNGY0O1xuXHRcdFx0XHRcdFx0cG9zaXRpb246IGFic29sdXRlO1xuXHRcdFx0XHRcdFx0bGVmdDogLTIycHg7XG5cdCAgICBcdFx0XHRcdHJpZ2h0OiAtMjJweDtcblx0XHRcdFx0XHRcdGJvdHRvbTogLTM4cHg7XG5cdFx0XHRcdFx0XHR0b3A6IDI4cHg7XG5cdFx0XHRcdFx0XHR6LWluZGV4OiAtMTtcbiAgICBcdFx0XHRcdH1cbiAgICBcdFx0XHRcdD4gLmNvbHVtbnMge1xuICAgIFx0XHRcdFx0XHRwYWRkaW5nLWxlZnQ6IDE1cHg7XG4gICAgXHRcdFx0XHRcdHBhZGRpbmctcmlnaHQ6IDE1cHg7XG4gICAgXHRcdFx0XHRcdCYudGFicy10aXRsZSB7XG4gICAgXHRcdFx0XHRcdFx0cG9zaXRpb246IHJlbGF0aXZlO1xuICAgIFx0XHRcdFx0XHRcdCY6YWZ0ZXIge1xuICAgIFx0XHRcdFx0XHRcdFx0Y29udGVudDogXCJcIjtcbiAgICBcdFx0XHRcdFx0XHRcdGJvcmRlci10b3A6IDEzcHggc29saWQgdHJhbnNwYXJlbnQ7XG5cdFx0XHRcdFx0XHRcdFx0Ym9yZGVyLWJvdHRvbTogMTNweCBzb2xpZCB0cmFuc3BhcmVudDtcblx0XHRcdFx0XHRcdFx0XHRib3JkZXItbGVmdDogMTFweCBzb2xpZCAjZjRmNGY0O1xuXHRcdFx0XHRcdFx0XHRcdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0XHRcdFx0XHRcdFx0XHRyaWdodDogMjJweDtcblx0XHRcdFx0XHRcdFx0XHR0b3A6IDUwJTtcblx0XHRcdFx0XHRcdFx0XHRtYXJnaW4tdG9wOiAtNnB4O1xuICAgIFx0XHRcdFx0XHRcdH1cbiAgICBcdFx0XHRcdFx0fVxuICAgIFx0XHRcdFx0XHQmLmxhcmdlLTIgPiBhIHtcbiAgICBcdFx0XHRcdFx0XHRib3JkZXItYm90dG9tOiAwIG5vbmU7XG4gICAgXHRcdFx0XHRcdH1cbiAgICBcdFx0XHRcdH1cbiAgICBcdFx0XHR9XG5cdFx0XHR9XG5cdFx0XHQ+IC50YWJzLWNvbnRlbnQge1xuXHRcdFx0XHRwb3NpdGlvbjogcmVsYXRpdmU7XG5cdFx0XHRcdCY6YmVmb3JlIHtcblx0XHRcdFx0XHRjb250ZW50OiBcIlwiO1xuXHRcdFx0XHRcdGJhY2tncm91bmQtY29sb3I6ICNmNGY0ZjQ7XG5cdFx0XHRcdFx0cG9zaXRpb246IGFic29sdXRlO1xuXHRcdFx0XHRcdGxlZnQ6IC02MHB4O1xuICAgIFx0XHRcdFx0cmlnaHQ6IC02MHB4O1xuXHRcdFx0XHRcdGJvdHRvbTogLTUwcHg7XG5cdFx0XHRcdFx0dG9wOiA1MHB4O1xuXHRcdFx0XHRcdHotaW5kZXg6IC0xO1xuXHRcdFx0XHR9XG5cdFx0XHRcdGJhY2tncm91bmQtY29sb3I6IHdoaXRlO1xuXHRcdFx0ICAgIGJvcmRlci1jb2xvcjogJHNlY29uZGFyeS1jb2xvci0zO1xuXHRcdFx0ICAgIGJvcmRlci13aWR0aDogNXB4IDA7XG5cdFx0XHQgICAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcblx0XHRcdCAgICBtYXJnaW46IDAgNjBweCA2MHB4O1xuXHRcdFx0ICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgZG93bikge1xuXHRcdFx0ICAgIFx0bWFyZ2luLWxlZnQ6IDIycHg7XG5cdFx0XHQgICAgXHRtYXJnaW4tcmlnaHQ6IDIycHg7XG5cdFx0XHQgICAgXHRib3JkZXItd2lkdGg6IDA7XG5cdFx0XHQgICAgfVxuXHRcdFx0ICAgIC50YWJzLXBhbmVsIHtcblx0XHRcdCAgICBcdG1pbi1oZWlnaHQ6IDAgIWltcG9ydGFudDtcblx0XHRcdCAgICBcdHBhZGRpbmc6IDAgMTVweDtcbiAgICAgICAgICAgICAgICAgICAgaDQge1xuICAgICAgICAgICAgICAgICAgICAgICAgZGlzcGxheTpub25lO1xuICAgICAgICAgICAgICAgICAgICAgICAgJi5oaWRlLWZvci1sYXJnZSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgZGlzcGxheTpibG9jaztcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgfVxuXHRcdFx0ICAgIFx0QGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCBkb3duKSB7XG5cdFx0XHQgICAgXHRcdHAsXG5cdFx0XHQgICAgXHRcdGxpIHtcblx0XHRcdFx0ICAgIFx0XHRsaW5lLWhlaWdodDogMTlweDtcblx0ICAgIFx0XHRcdFx0XHRmb250LXNpemU6IDE0cHg7XG5cdCAgICBcdFx0XHRcdH1cblx0ICAgIFx0XHRcdFx0dWwgbGk6YmVmb3JlIHtcblx0ICAgIFx0XHRcdFx0XHR0b3A6IDhweCAhaW1wb3J0YW50O1xuXHQgICAgXHRcdFx0XHR9XG5cdFx0XHQgICAgXHR9XG5cdFx0XHQgICAgfVxuXHRcdFx0ICAgIC52ZXJ0aWNhbCB7XG5cdFx0XHQgICAgXHRtYXJnaW4tbGVmdDogMDtcblx0XHRcdCAgICB9XG5cdFx0XHR9XG5cdFx0XHQuc3ViLXN0ZXAtY29udGVudCB7XG5cdFx0XHRcdCYuaXMtYWN0aXZlIHtcblx0XHRcdFx0XHRkaXNwbGF5OiBibG9jaztcblx0XHRcdFx0XHQvL2JvcmRlci1ib3R0b206IDJweCBzb2xpZCAkbmV1dHJhbC1jb2xvci01O1xuXHRcdFx0XHR9XG5cdFx0XHR9XG5cdFx0XHQuc3ViLXN0ZXAtY29udGVudF9fdG9nZ2xlIHtcblx0XHRcdFx0bWFyZ2luLWJvdHRvbTogMDtcblx0XHRcdFx0JjpmaXJzdC1jaGlsZCB7XG5cdFx0XHRcdFx0YSB7XG5cdFx0XHRcdFx0XHRib3JkZXItdG9wOiAwIG5vbmU7XG5cdFx0XHRcdFx0fVxuXHRcdFx0XHR9XG5cdFx0XHRcdGEge1xuXHRcdFx0XHRcdGJvcmRlci10b3A6IDJweCBzb2xpZCAkbmV1dHJhbC1jb2xvci01O1xuXHRcdFx0XHRcdGRpc3BsYXk6IGJsb2NrO1xuXHRcdFx0XHRcdGZvbnQtc2l6ZTogMThweDtcblx0XHRcdFx0XHRAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsIGRvd24pIHtcblx0XHRcdFx0XHRcdGZvbnQtc2l6ZTogMTdweDtcblx0XHRcdFx0XHR9XG5cdFx0XHRcdFx0Y29sb3I6ICMyMzFmMjA7XG5cdFx0XHRcdFx0cGFkZGluZzogMTZweCA0MHB4IDE5cHggMTVweDtcblx0XHRcdFx0XHRwb3NpdGlvbjogcmVsYXRpdmU7XG5cdFx0XHRcdFx0Zm9udC1mYW1pbHk6ICRoZWFkbGluZS1mb250O1xuXHRcdFx0XHRcdHRleHQtZGVjb3JhdGlvbjogbm9uZTtcblx0XHRcdFx0XHQmOmFmdGVyIHtcblx0XHRcdFx0XHRcdGNvbnRlbnQ6ICdcXGU4MDknO1xuXHRcdFx0XHRcdFx0Zm9udC1mYW1pbHk6ICRpY29uLWZvbnQ7XG5cdFx0XHRcdFx0XHRib3JkZXI6IDFweCBzb2xpZCAkc2Vjb25kYXJ5LWNvbG9yLTM7XG5cdFx0XHRcdFx0XHRoZWlnaHQ6IDMwcHg7XG5cdFx0XHRcdFx0XHR3aWR0aDogMzBweDtcblx0XHRcdFx0XHRcdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0XHRcdFx0XHRcdHRvcDogNTAlO1xuXHRcdFx0XHRcdFx0cmlnaHQ6IDJweDtcblx0XHRcdFx0XHRcdHRleHQtYWxpZ246IGNlbnRlcjtcblx0XHRcdFx0XHRcdG1hcmdpbi10b3A6IC0xNXB4O1xuXHRcdFx0XHRcdFx0Zm9udC1zaXplOiAyM3B4O1xuICAgIFx0XHRcdFx0XHRsaW5lLWhlaWdodDogMjdweDtcblx0XHRcdFx0XHRcdGNvbG9yOiAkc2Vjb25kYXJ5LWNvbG9yLTM7XG5cdFx0XHRcdFx0XHRmb250LXdlaWdodDogYm9sZDtcblx0XHRcdFx0XHRcdGJvcmRlci1yYWRpdXM6IDE3cHg7XG5cdFx0XHRcdFx0fVxuXHRcdFx0XHRcdCYub3BlbiB7XG5cdFx0XHRcdFx0XHRib3JkZXItYm90dG9tOiAwIG5vbmU7XG5cdFx0XHRcdFx0XHQmOmFmdGVyIHtcblx0XHRcdFx0XHRcdFx0Y29udGVudDogJ1xcZTgwOCc7XG5cdFx0XHRcdFx0XHRcdGJhY2tncm91bmQtY29sb3I6ICRzZWNvbmRhcnktY29sb3ItMztcblx0XHRcdFx0XHRcdFx0Y29sb3I6IHdoaXRlO1xuXHRcdFx0XHRcdFx0fVxuXHRcdFx0XHRcdH1cblx0XHRcdFx0fVxuXHRcdFx0fVxuXHRcdH1cblx0XHRAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsIGRvd24pIHtcblx0XHRcdD4gLmFkbWlzc2lvbi1zdGVwc19fbmF2IHtcblx0XHRcdFx0dHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAxbXMgZWFzZTtcblx0XHRcdFx0bWFyZ2luLXRvcDogNDFweDtcblx0XHRcdFx0Ly90cmFuc2l0aW9uOiBvcGFjaXR5IC41cyBlYXNlO1xuXHRcdFx0XHRvcGFjaXR5OiAxO1xuXHRcdFx0XHQudGFicy10aXRsZSBhIHtcblx0XHRcdFx0XHRiYWNrZ3JvdW5kLWNvbG9yOiB3aGl0ZTtcblx0XHRcdFx0fVxuXHRcdFx0XHQmLmFkbWlzc2lvbi1zdGVwcy0tc2xpZGUtb2ZmIHtcblx0XHRcdFx0XHRvcGFjaXR5OiAwO1xuXHRcdFx0XHRcdCY6YmVmb3JlIHtcblx0XHRcdFx0XHRcdG9wYWNpdHk6IDE7XG5cdFx0XHRcdFx0fVxuXHRcdFx0XHRcdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0XHRcdFx0XHQrIC50YWJzLWNvbnRlbnQge1xuXHRcdFx0XHRcdFx0b3BhY2l0eTogMTtcblx0XHRcdFx0XHRcdGhlaWdodDogYXV0bztcblx0XHRcdFx0XHR9XG5cdFx0XHRcdH1cblx0XHRcdH1cblx0XHRcdC5hZG1pc3Npb24tc3RlcHNfX2JhY2sge1xuXHRcdFx0XHRtYXJnaW46IDAgMjJweCA4cHg7XG5cdFx0XHRcdGEge1xuXHRcdFx0XHRcdGNvbG9yOiAjYTk5YTZmO1xuXHRcdFx0XHRcdGZvbnQtc2l6ZTogMTNweDtcblx0XHRcdFx0XHR0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuXHRcdFx0XHRcdG1hcmdpbi10b3A6IC0xMHB4O1xuXHRcdFx0XHRcdHBhZGRpbmctdG9wOiA1cHg7XG5cdFx0XHRcdFx0cGFkZGluZy10b3A6IDVweDtcbiAgICBcdFx0XHRcdHBhZGRpbmctYm90dG9tOiA4cHg7XG5cdFx0XHRcdFx0ZGlzcGxheTogYmxvY2s7XG5cdFx0XHRcdFx0Zm9udC1mYW1pbHk6ICRwcmltYXJ5LWZvbnQ7XG5cdFx0XHRcdFx0Zm9udC13ZWlnaHQ6IDYwMDtcblx0XHRcdFx0XHR0ZXh0LWRlY29yYXRpb246IG5vbmU7XG5cdFx0XHRcdFx0Jjpob3Zlcixcblx0XHRcdFx0XHQmOmZvY3VzIHtcblx0XHRcdFx0XHRcdGNvbG9yOiAkc2Vjb25kYXJ5LWNvbG9yLTI7XG5cdFx0XHRcdFx0fVxuXHRcdFx0XHR9XG5cdFx0XHR9XG5cdFx0XHQuYWRtaXNzaW9uLXN0ZXBzX19zZWN0aW9uLXRpdGxlIHtcblx0XHRcdFx0bWFyZ2luLWxlZnQ6IDIycHg7XG5cdFx0XHRcdG1hcmdpbi1ib3R0b206IDEycHg7XG5cdFx0XHRcdG1hcmdpbi1yaWdodDogMjJweDtcblx0XHRcdFx0Y29sb3I6ICRzZWNvbmRhcnktY29sb3ItMztcblx0XHRcdFx0Zm9udC1zaXplOiAyMHB4O1xuXHRcdFx0XHRmb250LXdlaWdodDogYm9sZDtcblx0XHRcdFx0LmFkbWlzc2lvbi1zdGVwc19fY2lyY2xlLFxuXHRcdFx0XHRiciB7XG5cdFx0XHRcdFx0ZGlzcGxheTogbm9uZTtcblx0XHRcdFx0fVxuXHRcdFx0fVxuXHRcdFx0PiAudGFicy1jb250ZW50IHtcblx0XHRcdFx0dHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAxbXMgZWFzZTtcblx0XHRcdFx0b3BhY2l0eTogMDtcblx0XHRcdFx0Ym9yZGVyLXdpZHRoOiA1cHggMDtcblx0XHRcdFx0Ym9yZGVyLXN0eWxlOiBzb2xpZDtcblx0XHRcdFx0Ym9yZGVyLWNvbG9yOiAkc2Vjb25kYXJ5LWNvbG9yLTM7XG5cdFx0XHRcdGhlaWdodDogMDtcblx0XHRcdFx0JjpiZWZvcmUge1xuXHRcdFx0XHRcdHRvcDogMjhweDtcblx0XHRcdFx0fVxuXHRcdFx0XHQvLyYudGFicy1jb250ZW50LS12aXNpYmxlIHtcblx0XHRcdFx0Ly9cdGRpc3BsYXk6IGJsb2NrO1xuXHRcdFx0XHQvL30gXG5cdFx0XHR9XG5cdFx0fVxuXG5cdFx0QGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xuXHRcdFx0aDQge1xuXHRcdFx0XHRmb250LXNpemU6IDM2cHg7XG5cdFx0XHRcdGxpbmUtaGVpZ2h0OiA0MnB4O1xuXHRcdFx0fVxuXHRcdH1cbiAgICAgICAgLnN0ZXBzLWN0YSB7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAyMHB4O1xuICAgICAgICAgICAgbWFyZ2luLWxlZnQ6MjBweDtcbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgZG93bil7XG4gICAgICAgICAgICAgICAgYSB7XG4gICAgICAgICAgICAgICAgICAgIHdpZHRoOjIxMHB4O1xuICAgICAgICAgICAgICAgICAgICAmOmZpcnN0LWNoaWxkIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206MTBweDtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG5cdFx0LmFsaWduLXllYXJzIHtcblx0XHRcdG92ZXJmbG93OiBhdXRvO1xuXHRcdFx0ZGl2LmNvbHVtbnM6Zmlyc3QtY2hpbGQge1xuXHRcdFx0XHRmbG9hdDogbGVmdDtcblx0XHRcdH1cblx0XHRcdGRpdi5jb2x1bW5zOmxhc3QtY2hpbGQge1xuXHRcdFx0XHRmbG9hdDogcmlnaHQ7XG5cdFx0XHR9XG5cdFx0fVxuXHRcdC5pbmRlbnQtcGFyYWdyYXBoIHtcblx0XHRcdG1hcmdpbi1sZWZ0OiA0MHB4O1xuXHRcdH1cblx0XHQuaW5kZW50LXBhcmFncmFwaCB7XG5cdFx0XHRwb3NpdGlvbjogcmVsYXRpdmU7XG5cdFx0XHRzdHJvbmc6YmVmb3JlIHtcblx0XHRcdFx0Y29udGVudDogXCJcIjtcblx0XHRcdFx0aGVpZ2h0OiA1cHg7XG5cdFx0XHRcdHdpZHRoOiA1cHg7XG5cdFx0XHRcdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0XHRcdFx0bGVmdDogLTEzcHg7XG5cdFx0XHRcdGJhY2tncm91bmQtY29sb3I6ICNiY2JjYmM7XG5cdFx0XHRcdHRvcDogMTFweDtcblx0XHRcdH1cblx0XHR9XG5cdH1cbiAgICAjYXBwbHkuYnRuIHtcbiAgICAgICAgd2lkdGg6MTAwJTtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTozMHB4O1xuICAgICAgICB0ZXh0LWFsaWduOmNlbnRlcjtcbiAgICB9XG59IiwiLmR1LWFsZXJ0IHtcblx0YmFja2dyb3VuZC1jb2xvcjogI2ZhZWJjZTtcblx0PiAucm93IHtcblx0XHQ+IC5jb2x1bW5zIHtcblx0XHRcdHBvc2l0aW9uOiByZWxhdGl2ZTtcblx0XHRcdHBhZGRpbmctcmlnaHQ6IDgycHg7XG5cdFx0XHRAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsIGRvd24pIHtcblx0XHRcdFx0cGFkZGluZy1yaWdodDogMDsgLy8gd2FzIDM4cHhcblx0XHRcdH1cblx0XHRcdC5kdS1hbGVydF9fYWN0aW9uLWJ1dHRvbiB7XG5cdFx0XHRcdGRpc3BsYXk6IG5vbmU7XG5cdFx0XHR9XG5cdFx0XHQuanMgJiAuZHUtYWxlcnRfX2FjdGlvbi1idXR0b24ge1xuXHRcdFx0XHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdFx0XHRcdHJpZ2h0OiAzMHB4O1xuXHRcdFx0XHR0b3A6IDMwcHg7XG5cdFx0XHRcdGNvbG9yOiAjNjY2NjY2O1xuXHRcdFx0XHRmb250LXNpemU6IDI0cHg7XG5cdFx0XHRcdGRpc3BsYXk6IGJsb2NrO1xuXHRcdFx0XHQmLm9wZW4ge1xuXHRcdFx0XHRcdC5pY29uLWR1LWRvd24tYXJyb3c6YmVmb3JlIHtcblx0XHRcdFx0XHRcdGNvbnRlbnQ6IFwiXFxlODAyXCI7XG5cdFx0XHRcdFx0fVxuXHRcdFx0XHR9XG5cdFx0XHRcdCY6aG92ZXIsXG5cdFx0XHRcdCY6Zm9jdXMge1xuXHRcdFx0XHRcdGNvbG9yOiAkbmV1dHJhbC1jb2xvci0xO1xuXHRcdFx0XHRcdGN1cnNvcjogcG9pbnRlcjtcblx0XHRcdFx0fVxuXHRcdFx0fVxuXHRcdH1cblx0fVxuXHQuanMgJiAjZHUtYWxlcnRfX2NvbnRlbnQge1xuXHRcdGRpc3BsYXk6IG5vbmU7XG5cdFx0Ji5kdS1hbGVydF9fY29udGVudC0tZXhwYW5kZWQge1xuXHRcdFx0ZGlzcGxheTogYmxvY2s7XG5cdFx0fVxuXHR9XG5cdCNkdS1hbGVydF9fY29udGVudCB7XG5cdFx0Ji5kdS1hbGVydF9fY29udGVudC0tZXhwYW5kZWQge1xuXHRcdFx0dGV4dC1hbGlnbjogY2VudGVyO1xuXHRcdFx0cCB7XG5cdFx0XHRcdGZvbnQtc2l6ZTogMTZweDtcblx0XHRcdFx0QGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gZG93bikge1xuXHRcdFx0XHRcdGZvbnQtc2l6ZTogMTVweDtcblx0XHRcdFx0fVxuXHRcdFx0XHRAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSBkb3duKSB7XG5cdFx0XHRcdFx0Zm9udC1zaXplOiAxNHB4O1xuXHRcdFx0XHR9XG5cdFx0XHRcdGxpbmUtaGVpZ2h0OiAyMnB4O1xuXHRcdFx0XHRjb2xvcjogIzMwMmQyZTtcblx0XHRcdH1cblx0XHRcdGEge1xuXHRcdFx0XHRjb2xvcjogIzMwMmQyZTtcblx0XHRcdFx0Jjpob3Zlcixcblx0XHRcdFx0Jjpmb2N1cyB7XG5cdFx0XHRcdFx0Y29sb3I6ICRwcmltYXJ5LWNvbG9yLTE7XG5cdFx0XHRcdH1cblx0XHRcdH1cblx0XHR9XG5cdH1cblx0aDEge1xuXHRcdCY6YmVmb3JlIHtcblx0XHRcdGNvbnRlbnQ6IFwiXFxlODEwXCI7XG5cdFx0XHRmb250LWZhbWlseTogJGljb24tZm9udDtcblx0XHRcdGNvbG9yOiAjYzUwYzBjO1xuXHRcdFx0cGFkZGluZy1yaWdodDogNHB4O1xuXHRcdH1cblx0XHRmb250LXNpemU6IDI2cHg7XG5cdFx0dGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcblx0XHRwYWRkaW5nLXRvcDogMjVweDtcblx0XHRtYXJnaW4tYm90dG9tOiAyNXB4O1xuXHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgZG93bikge1xuXHRcdFx0bWFyZ2luLWJvdHRvbTogNXB4O1xuXHRcdFx0cGFkZGluZy1yaWdodDogMjBweDtcblx0XHR9XG5cdFx0Jixcblx0XHQrIHAge1xuXHRcdFx0ZGlzcGxheTogaW5saW5lLWJsb2NrO1xuXHRcdFx0QGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCBkb3duKSB7XG5cdFx0XHRcdGRpc3BsYXk6IGJsb2NrO1xuXHRcdFx0fVxuXHRcdH1cblx0XHQrIHAge1xuXHRcdFx0Ym9yZGVyLWxlZnQ6IDJweCBzb2xpZCAjY2NiZGEzO1xuXHRcdFx0bWFyZ2luLWxlZnQ6IDE0cHg7XG5cdFx0XHRwYWRkaW5nLWxlZnQ6IDE2cHg7XG5cdFx0XHRmb250LXdlaWdodDogYm9sZDtcblx0XHRcdGNvbG9yOiAkbmV1dHJhbC1jb2xvci0yO1xuXHRcdFx0Zm9udC1zaXplOiAyNHB4O1xuXHRcdFx0QGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCBkb3duKSB7XG5cdFx0XHRcdGJvcmRlci1sZWZ0OiAwIG5vbmU7XG5cdFx0XHRcdG1hcmdpbi1sZWZ0OiAwO1xuXHRcdFx0XHRwYWRkaW5nLWxlZnQ6IDA7XG5cdFx0XHRcdGZvbnQtc2l6ZTogMjBweDtcblx0XHRcdFx0bGluZS1oZWlnaHQ6IDIycHg7XG5cdFx0XHR9XG5cdFx0fVxuXHR9XG5cdCYtLW5vdGlmaWNhdGlvbiB7XG5cdFx0LmpzICYge1xuXHRcdFx0ZGlzcGxheTogbm9uZTtcblx0XHRcdCYuZHUtYWxlcnQtLW5vdGlmaWNhdGlvbi0tc2hvdyB7XG5cdFx0XHRcdGRpc3BsYXk6IGJsb2NrO1xuXHRcdFx0fVxuXHRcdFx0PiAucm93ID4gLmNvbHVtbnMgLmR1LWFsZXJ0X19hY3Rpb24tYnV0dG9uIHtcblx0XHRcdCAgICB0b3A6IDI3cHg7XG5cdFx0XHR9XG5cdFx0fVxuXHRcdGgxIHtcblx0XHRcdCY6YmVmb3JlIHtcblx0XHRcdFx0Y29sb3I6ICNhYzkxNDc7XG5cdFx0XHR9XG5cdFx0XHRmb250LXNpemU6IDIycHg7XG5cdFx0XHQrIHAge1xuXHRcdFx0XHRmb250LXNpemU6IDE4cHg7XG5cdFx0XHR9XG5cdFx0fVxuXHR9XG59XG5cbi8vQ2F0YXN0cm9waGljIEFsZXJ0XG4uY2F0YXN0cm9waGljLWFsZXJ0IHtcblx0aGVhZGVyIHtcblx0XHRiYWNrZ3JvdW5kLWNvbG9yOiAjMzMzMzM1O1xuXHRcdGhlaWdodDogYXV0bztcblx0XHRwYWRkaW5nLWJvdHRvbTogMzJweDtcblx0XHRwYWRkaW5nLXRvcDogNDBweDtcblx0XHRtYXJnaW4tYm90dG9tOiA0MHB4O1xuXHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIGRvd24pIHtcblx0XHRcdHRleHQtYWxpZ246IGNlbnRlcjtcblx0XHRcdHBhZGRpbmctYm90dG9tOiAxM3B4O1xuXHRcdFx0cGFkZGluZy10b3A6IDIxcHg7XG5cdFx0XHRwYWRkaW5nLWxlZnQ6IDYycHg7XG5cdFx0XHRwYWRkaW5nLXJpZ2h0OiA2MnB4O1xuXHRcdFx0aW1nIHtcblx0XHRcdFx0d2lkdGg6IDIzNXB4O1xuXHRcdFx0XHRoZWlnaHQ6IGF1dG87XG5cdFx0XHR9XG5cdFx0fVxuXHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgZG93bikge1xuXHRcdFx0cGFkZGluZy1sZWZ0OiAyMnB4O1xuXHRcdFx0cGFkZGluZy1yaWdodDogMjJweDtcblx0XHR9XG5cdFx0aDEge1xuXHRcdFx0JjpiZWZvcmUge1xuXHRcdFx0XHRjb250ZW50OiBcIlwiO1xuXHRcdFx0XHRiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudCB1cmwoJy4uL2ltYWdlcy9hbGVydC1hdHRlbnRpb24tY2lyY2xlLnBuZycpIG5vLXJlcGVhdCBzY3JvbGwgY2VudGVyIGNlbnRlcjtcblx0XHRcdFx0YmFja2dyb3VuZC1zaXplOiAxMDAlIDEwMCU7XG5cdFx0XHRcdHdpZHRoOiAzOXB4O1xuXHRcdFx0XHRoZWlnaHQ6IDM5cHg7XG5cdFx0XHRcdG1hcmdpbi1yaWdodDogMTBweDtcblx0XHRcdFx0ZGlzcGxheTogaW5saW5lLWJsb2NrO1xuXHRcdFx0fVxuXHRcdFx0dGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcblx0XHRcdGNvbG9yOiB3aGl0ZTtcblx0XHRcdGZvbnQtc2l6ZTogNTBweDtcblx0XHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIGRvd24pIHtcblx0XHRcdFx0Zm9udC1zaXplOiA0MHB4O1xuXHRcdFx0XHRtYXJnaW4tdG9wOiAxNHB4O1xuXHRcdFx0XHRcdG1hcmdpbi1ib3R0b206IDExcHg7XG5cdFx0XHRcdFx0JjpiZWZvcmUge1xuXHRcdFx0XHRcdFx0d2lkdGg6IDMxcHg7XG5cdFx0XHRcdFx0aGVpZ2h0OiAzMXB4O1xuXHRcdFx0XHRcdH1cblx0XHRcdH1cblx0XHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgZG93bikge1xuXHRcdFx0XHRmb250LXNpemU6IDMycHg7XG5cdFx0XHRcdHRleHQtYWxpZ246IGxlZnQ7XG5cdFx0XHRcdHBhZGRpbmctbGVmdDogNDlweDtcblx0XHRcdFx0cG9zaXRpb246IHJlbGF0aXZlO1xuXHRcdFx0XHRtYXgtd2lkdGg6IDI2NHB4O1xuXHRcdFx0XHRtYXJnaW4tbGVmdDogYXV0bztcblx0XHRcdFx0bWFyZ2luLXJpZ2h0OiBhdXRvO1xuXHRcdFx0XHRcdCY6YmVmb3JlIHtcblx0XHRcdFx0XHRcdHdpZHRoOiAzM3B4O1xuXHRcdFx0XHRcdGhlaWdodDogMzNweDtcblx0XHRcdFx0XHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdFx0XHRcdFx0bGVmdDogMDtcblx0XHRcdFx0XHR0b3A6IDUwJTtcblx0XHRcdFx0XHRtYXJnaW4tdG9wOiAtMTdweDtcblx0XHRcdFx0XHRtYXJnaW4tbGVmdDogNnB4O1xuXHRcdFx0XHRcdH1cblx0XHRcdH1cblx0XHR9XG5cdFx0aDIge1xuXHRcdFx0Y29sb3I6IHdoaXRlO1xuXHRcdFx0Zm9udC1zaXplOiAzOHB4O1xuXHRcdFx0QGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gZG93bikge1xuXHRcdFx0XHRmb250LXNpemU6IDMycHg7XG5cdFx0XHR9XG5cdFx0XHRAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsIGRvd24pIHtcblx0XHRcdFx0Zm9udC1zaXplOiAyNnB4O1xuXHRcdFx0fVxuXHRcdH1cblx0fVxuXHRhc2lkZSB7XG5cdFx0QGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xuXHRcdFx0cGFkZGluZy1yaWdodDogOCU7XG5cdFx0fVxuXHRcdGgzIHtcblx0XHRcdG1hcmdpbi1ib3R0b206IDIwcHg7XG5cdFx0XHRmb250LXNpemU6IDI0cHg7XG5cdFx0fVxuXHRcdGg0IHtcblx0XHRcdG1hcmdpbi1ib3R0b206IDIwcHg7XG5cdFx0XHRmb250LXNpemU6IDIycHg7XG5cdFx0fVxuXHRcdHAge1xuXHRcdFx0bWFyZ2luLWxlZnQ6IDIwcHg7XG5cdFx0XHQrIGgzIHtcblx0XHRcdFx0bWFyZ2luLXRvcDogMzZweDtcblx0XHRcdH1cblx0XHR9XG5cdH1cbn0iLCIgIC5hcHBsaWNhdGlvbi1jYXJkcy1tb2R1bGUge1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiAjZjRmNGY0O1xuICAgIG1hcmdpbi1ib3R0b206IDE0MHB4O1xuXHRiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuXHRiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXIgY2VudGVyO1xuXHRiYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xuICAgIGEge1xuICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuXHQgIGNvbG9yOiAkaGVhZGVyLWNvbG9yO1xuICAgIH1cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSBkb3duKSB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAxMDBweDtcbiAgICB9XG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCBkb3duKSB7XG4gICAgICBtYXJnaW4tYm90dG9tOiA3MHB4O1xuICAgIH1cblx0Ji5hcHBsaWNhdGlvbi1jYXJkcy1tb2R1bGUtb3ZlcmxheSB7XG5cdFx0cG9zaXRpb246IHJlbGF0aXZlO1xuXHRcdCY6YmVmb3JlIHtcblx0XHRcdGNvbnRlbnQ6IFwiXCI7XG5cdFx0XHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdFx0XHRsZWZ0OiAwO1xuXHRcdFx0cmlnaHQ6IDA7XG5cdFx0XHR0b3A6IDA7XG5cdFx0XHRib3R0b206IDA7XG5cdFx0XHR6LWluZGV4OiAwO1xuXHRcdH1cblx0XHQ+IC5yb3cge1xuXHRcdFx0cG9zaXRpb246IHJlbGF0aXZlO1xuXHRcdFx0ei1pbmRleDogMTtcblx0XHR9XG5cdH1cbiAgICAmLS1oYXMtaWNvbnMge1xuICAgICAgLmNhcmRzLW1vZHVsZV9fY29udGVudCB7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgIHRvcDogMDtcbiAgICAgICAgICBsZWZ0OiAwO1xuICAgICAgICAgIHJpZ2h0OiAwO1xuICAgICAgICAgIGhlaWdodDogNzRweDtcbiAgICAgICAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudCB1cmwoJy4uL2ltYWdlcy9hcnJvdy1wYXR0ZXJuLnBuZycpIHJlcGVhdCBzY3JvbGwgMCAwO1xuICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgZG93bikge1xuICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgLmltZy13cmFwcGVyIHtcbiAgICAgICAgICBtYXJnaW4tdG9wOiAzMHB4O1xuICAgICAgICAgIGltZyB7XG4gICAgICAgICAgICB3aWR0aDogODBweDtcbiAgICAgICAgICAgIGhlaWdodDogODBweDtcbiAgICAgICAgICAgIG1hcmdpbjogMCBhdXRvIDMwcHggYXV0bztcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgICA+IC5yb3cge1xuICAgICAgbWFyZ2luLXRvcDogNTBweDtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgIHRvcDogLTMwcHg7XG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSBkb3duKSB7XG4gICAgICAgIHBhZGRpbmctbGVmdDogMThweDtcbiAgICAgICAgcGFkZGluZy1yaWdodDogMThweDtcbiAgICAgIH1cbiAgICAgID4gLmNvbHVtbnMge1xuICAgICAgICBmbGV4LWJhc2lzOiAzMy4zMyU7XG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgZG93bikge1xuICAgICAgICAgIGZsZXgtYmFzaXM6IDEwMCU7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gICAgLmNhcmRzLW1vZHVsZV9fY29udGVudCB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB3aGl0ZTtcbiAgICAgIHBhZGRpbmc6IDAgNTBweDtcbiAgICAgIG1hcmdpbi1ib3R0b206IDE4cHg7XG4gICAgICBib3JkZXI6IDFweCBzb2xpZCAjZWVlZWVlO1xuXHQgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgIC5jYXJkLWltZy13cmFwcGVyIHtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IC0zMHB4O1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IC0zMHB4O1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAyNHB4O1xuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsIGRvd24pIHtcbiAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgICBoNCB7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgICAgIGZvbnQtc2l6ZTogMjZweDtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDM0cHg7XG4gICAgICAgIG1hcmdpbi1ib3R0b206NDBweDtcblx0XHRAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSBkb3duKSB7XG4gICAgICAgICAgZm9udC1zaXplOiAxOHB4O1xuICAgICAgICAgIGxpbmUtaGVpZ2h0OiAyMnB4O1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICAgIC5jYXJkcy1tb2R1bGUtLWhhcy1pY29ucyB7XG4gICAgICBpbWcge1xuICAgICAgICB3aWR0aDogODBweDtcbiAgICAgICAgaGVpZ2h0OiA4MHB4O1xuICAgICAgICBtYXJnaW46IDAgYXV0byAzMHB4IGF1dG87XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgfVxuICAgIH1cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsIGRvd24pIHtcbiAgICAgID4gLnJvdyA+IC5jb2x1bW5zOmZpcnN0LWNoaWxkIC5jYXJkcy1tb2R1bGVfX2NvbnRlbnQge1xuICAgICAgICBib3JkZXItdG9wOiAycHggc29saWQgJG5ldXRyYWwtY29sb3ItNDtcbiAgICAgIH1cbiAgICAgIC5jYXJkcy1tb2R1bGVfX2NvbnRlbnQge1xuICAgICAgICAgIHBhZGRpbmc6IDEwcHggMTRweDtcbiAgICAgICAgICBtYXJnaW4tYm90dG9tOiAxOHB4O1xuICAgICAgICAgIGJvcmRlci13aWR0aDogMCAwIDJweCAwO1xuICAgICAgICAgIGJvcmRlci1zdHlsZTogc29saWQ7XG4gICAgICAgICAgYm9yZGVyLWNvbG9yOiAkbmV1dHJhbC1jb2xvci00O1xuICAgICAgICAgIGg0IHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMjRweDtcbiAgICAgICAgICAgIHBhZGRpbmctdG9wOiAxMHB4O1xuICAgICAgICAgICAgcGFkZGluZy1yaWdodDogMzBweDtcbiAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG4gIGJvZHkudW5pdC10aGVtZS10ZWFsIC5hcHBsaWNhdGlvbi1jYXJkcy1tb2R1bGUtb3ZlcmxheSB7XG4gICAgJjpiZWZvcmUge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHVuaXQtYWNjZW50LWNvbG9yLXRlYWw7XG4gICAgICBvcGFjaXR5OiAwLjc1O1xuICAgIH1cbiAgfVxuICBib2R5LnVuaXQtdGhlbWUtcHVycGxlIC5hcHBsaWNhdGlvbi1jYXJkcy1tb2R1bGUtb3ZlcmxheSB7XG4gICAgJjpiZWZvcmUge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHVuaXQtYWNjZW50LWNvbG9yLXB1cnBsZTtcbiAgICAgIG9wYWNpdHk6IDAuNzU7XG4gICAgfVxuICB9XG4gIGJvZHkudW5pdC10aGVtZS1ncmVlbiAuYXBwbGljYXRpb24tY2FyZHMtbW9kdWxlLW92ZXJsYXkge1xuICAgICY6YmVmb3JlIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICR1bml0LWFjY2VudC1jb2xvci1ncmVlbjtcbiAgICAgIG9wYWNpdHk6IDAuNzU7XG4gICAgfVxuICB9XG4gIGJvZHkudW5pdC10aGVtZS1nb2xkIC5hcHBsaWNhdGlvbi1jYXJkcy1tb2R1bGUtb3ZlcmxheSB7XG4gICAgJjpiZWZvcmUge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHVuaXQtYWNjZW50LWNvbG9yLWdvbGQ7XG4gICAgICBvcGFjaXR5OiAwLjc1O1xuICAgIH1cbiAgfVxuICBib2R5LnVuaXQtdGhlbWUtcmVkIC5hcHBsaWNhdGlvbi1jYXJkcy1tb2R1bGUtb3ZlcmxheSB7XG4gICAgJjpiZWZvcmUge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHVuaXQtYWNjZW50LWNvbG9yLXJlZDtcbiAgICAgIG9wYWNpdHk6IDAuNzU7XG4gICAgfVxuICB9XG4gIGJvZHkudW5pdC10aGVtZS1ncmV5IC5hcHBsaWNhdGlvbi1jYXJkcy1tb2R1bGUtb3ZlcmxheSB7XG4gICAgJjpiZWZvcmUge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHVuaXQtYWNjZW50LWNvbG9yLWdyZXk7XG4gICAgICBvcGFjaXR5OiAwLjU7XG4gICAgfVxuICB9XG4gIC5hcHBsaWNhdGlvbi1jYXJkc19fZGVzY3JpcHRpb24ge1xuICAgIHAge1xuICAgICAgcGFkZGluZy1yaWdodDogNjBweDtcbiAgICB9XG4gIH1cbiAgLmFwcGxpY2F0aW9uLWNhcmRzX19kZWFkbGluZSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogd2hpdGU7XG4gICAgcGFkZGluZzogMCAyMHB4O1xuICAgIG1hcmdpbi10b3A6IDYwcHg7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIGhyIHtcbiAgICAgIGNsZWFyOiBib3RoO1xuICAgICAgbWF4LXdpZHRoOiA2Ni42NjY2N3JlbTtcbiAgICAgIGhlaWdodDogMDtcbiAgICAgIG1hcmdpbjogMCBhdXRvIDE1cHggYXV0bztcbiAgICAgIGJvcmRlci10b3A6IDA7XG4gICAgICBib3JkZXItcmlnaHQ6IDA7XG4gICAgICBib3JkZXItYm90dG9tOiAycHggc29saWQgI2QxZDFkMjtcbiAgICAgIGJvcmRlci1sZWZ0OiAwO1xuICAgIH1cbiAgICBwIHtcbiAgICAgIGZvbnQtc2l6ZTogMThweDtcbiAgICAgIGxpbmUtaGVpZ2h0OiAyNHB4O1xuICAgICAgY29sb3I6ICRuZXV0cmFsLWNvbG9yLTE7XG5cdCAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gZG93bikge1xuICAgICAgICBmb250LXNpemU6IDE2cHg7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAyMnB4O1xuXHRcdHRleHQtYWxpZ246IGNlbnRlcjtcblx0XHRwYWRkaW5nOiAwO1xuICAgICAgfVxuICAgIH1cbiAgfVxuICAuYXBwbGljYXRpb24tY2FyZHNfX2RlYWRsaW5lLWRhdGUge1xuICAgIGJhY2tncm91bmQtY29sb3I6IHdoaXRlO1xuICAgIHBhZGRpbmc6IDAgMzBweDtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgcCB7XG4gICAgICBjb2xvcjogJG5ldXRyYWwtY29sb3ItMTtcbiAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgICBmb250LXNpemU6IDI4cHg7XG4gICAgICBsaW5lLWhlaWdodDogMzRweDtcbiAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIGRvd24pIHtcbiAgICAgICAgZm9udC1zaXplOiAyNHB4O1xuICAgICAgICBsaW5lLWhlaWdodDogMjJweDtcblx0XHRwYWRkaW5nOiAwO1xuXHRcdHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgIH1cbiAgICB9XG4gIH0iLCIuYXJ0aWNsZS1saXN0IHtcbiAgbWFyZ2luLWJvdHRvbTogNTBweDtcbiAgLmFydGljbGUtbGlzdC1jb250ZW50IHtcbiAgICBib3JkZXItdG9wOiA2cHggc29saWQgJG5ldXRyYWwtY29sb3ItNTtcbiAgICBtYXJnaW4tYm90dG9tOiAzMHB4O1xuICAgICYgPiBkaXYge1xuICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNkMWQxZDI7XG4gICAgICAuYXJ0aWNsZS50ZWFzZXIge1xuICAgICAgICBwYWRkaW5nOiA0MHB4IDA7XG4gICAgICAgIG1heC1oZWlnaHQ6IDIzMHB4O1xuICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgICAgICAuYXJ0aWNsZS1saXN0LWltYWdlIHtcbiAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDIwcHg7XG4gICAgICAgICAgaW1nIHtcbiAgICAgICAgICAgIG1heC1oZWlnaHQ6IDE1MHB4O1xuICAgICAgICAgICAgd2lkdGg6IGF1dG87XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIC5hcnRpY2xlLWluZm8ge1xuICAgICAgICAgIHBhZGRpbmctbGVmdDogMDtcbiAgICAgICAgICBtYXgtaGVpZ2h0OiAxNzVweDtcbiAgICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgICAgICAgIC5hcnRpY2xlLWRhdGUge1xuICAgICAgICAgICAgY29sb3I6ICRuZXV0cmFsLWNvbG9yLTg7XG4gICAgICAgICAgICBmb250LXNpemU6IC44cmVtO1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogM3B4O1xuICAgICAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcblxuICAgICAgICAgIH1cbiAgICAgICAgICBhIHtcbiAgICAgICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICAgICAgICAgIGg1IHtcbiAgICAgICAgICAgICAgY29sb3I6ICRhY2NlbnQtY29sb3ItMmI7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICAgIHAge1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMTZweDtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsIi5hcnRpY2xlLnRlYXNlciB7XG4gIHBhZGRpbmc6MzBweCAyMHB4O1xuICBoZWlnaHQ6MTAwJTtcbiAgcG9zaXRpb246cmVsYXRpdmU7XG5cbiAgJjphZnRlciB7XG4gICAgY29udGVudDpcIlwiO1xuICAgIHBvc2l0aW9uOmFic29sdXRlO1xuICAgIGxlZnQ6MDtcbiAgICByaWdodDowO1xuICAgIGJvdHRvbTowO1xuICAgIGhlaWdodDoycHg7XG4gICAgYmFja2dyb3VuZDogJG5ldXRyYWwtY29sb3ItNTtcbiAgfVxuXG4gIG1heC1oZWlnaHQ6IDIzMHB4O1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICAuYXJ0aWNsZS1saXN0LWltYWdlIHtcbiAgICBtYXJnaW4tcmlnaHQ6IDIwcHg7XG4gICAgaW1nIHtcbiAgICAgIG1heC1oZWlnaHQ6IDE1MHB4O1xuICAgICAgd2lkdGg6IGF1dG87XG4gICAgfVxuICB9XG4gIC5hcnRpY2xlLWluZm8ge1xuICAgIHBhZGRpbmctbGVmdDogMDtcbiAgICBtYXgtaGVpZ2h0OiAxNzVweDtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIC5hcnRpY2xlLWRhdGUge1xuICAgICAgbWFyZ2luOiAwO1xuICAgICAgY29sb3I6ICRuZXV0cmFsLWNvbG9yLTg7XG4gICAgICBmb250LXNpemU6IC44cmVtO1xuICAgICAgbWFyZ2luLWJvdHRvbTogM3B4O1xuICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcblxuICAgIH1cbiAgICAuYXJ0aWNsZS1saXN0LXRpdGxlIHtcbiAgICAgIG1hcmdpbjogMDtcbiAgICAgIGEge1xuICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgICAgIGg1IHtcbiAgICAgICAgICBjb2xvcjogJGFjY2VudC1jb2xvci0yYjtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgICBwIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgICBmb250LXNpemU6IDE2cHg7XG4gICAgfVxuICB9XG59IiwiLmFydGljbGUge1xuICAuaW50cm8ge1xuICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgLmFydGljbGUtdHlwZS1kYXRlIHtcbiAgICAgIGZvbnQtc2l6ZTogMThweDtcbiAgICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICAgICAgLmFydGljbGUtdHlwZSB7XG4gICAgICAgIGNvbG9yOiAkYWNjZW50LWNvbG9yLTJiO1xuICAgICAgfVxuICAgIH1cbiAgICAuYXJ0aWNsZS1vdmVydmlldyB7XG4gICAgICAmID4gZGl2IHtcbiAgICAgICAgbWFyZ2luLXRvcDogMjBweDtcbiAgICAgICAgcCB7XG4gICAgICAgICAgbGluZS1oZWlnaHQ6IDI4cHggIWltcG9ydGFudDtcbiAgICAgICAgICBmb250LWZhbWlseTogJHByaW1hcnktZm9udDtcbiAgICAgICAgICBmb250LXNpemU6IDE4cHg7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgLmZlYXR1cmUtbWVkaWEgPiBkaXZ7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgbWFyZ2luLWJvdHRvbTogNTBweDtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIH1cbiAgLmNvbW1lbnQtYXJ0aWNsZS1mb3JtIHtcbiAgICAjZWRpdC1zdWJtaXQge1xuICAgICAgbWFyZ2luOiAyMHB4IGF1dG87XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICB9XG4gIH1cbiAgLmFydGljbGUtY29tbWVudCB7XG4gICAgbWFyZ2luLWJvdHRvbTogNTBweDtcbiAgfVxuICAuYXJ0aWNsZS1yZWxhdGVkIHtcbiAgICBtYXJnaW4tYm90dG9tOiA1MHB4O1xuICAgIGgyIHtcbiAgICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICAgIH1cbiAgICAuYXJ0aWNsZS1yZWxhdGVkLXR5cGUge1xuICAgICAgZm9udC1zaXplOiAxOXB4O1xuICAgICAgbWFyZ2luLXRvcDogMTVweDtcbiAgICAgIG1hcmdpbi1ib3R0b206IDVweDtcbiAgICB9XG4gICAgaDMge1xuICAgICAgbWFyZ2luLWJvdHRvbTogMTVweDtcbiAgICB9XG4gIH1cbn1cblxuLy9GZWF0dXJlZCBBcnRpY2xlcyBNb2R1bGVcbi5mZWF0dXJlZC1hcnRpY2xlcy1tb2R1bGUge1xuXHRtYXJnaW4tYm90dG9tOiAxNDBweDtcblx0cG9zaXRpb246IHJlbGF0aXZlO1xuXHQmOmJlZm9yZSB7XG5cdFx0Y29udGVudDogXCJcIjtcblx0XHRsZWZ0OiAwO1xuXHRcdHJpZ2h0OiAwO1xuXHRcdHdpZHRoOiAxMDAlO1xuXHRcdGJhY2tncm91bmQ6IHRyYW5zcGFyZW50IHVybCgnLi4vaW1hZ2VzL2Fycm93LXBhdHRlcm4ucG5nJykgcmVwZWF0IHNjcm9sbCAwIDA7XG5cdFx0ei1pbmRleDogLTE7XG5cdFx0cG9zaXRpb246IGFic29sdXRlO1xuXHRcdGJvdHRvbTogNTJweDtcblx0XHR0b3A6IDIwMHB4O1xuXHR9XG5cdC5vcmJpdC1uZXh0LFxuXHQub3JiaXQtcHJldmlvdXMge1xuXHRcdGNvbG9yOiAjODE3OTZmO1xuXHRcdGZvbnQtc2l6ZTogMzFweDtcblx0XHRtYXJnaW4tdG9wOiAtMzNweDtcblx0XHR0cmFuc2l0aW9uOiBjb2xvciAuM3MgZWFzZTtcblx0XHR6LWluZGV4OiAyO1xuXHRcdCY6aG92ZXIsXG5cdFx0Jjpmb2N1cyB7XG5cdFx0XHRjb2xvcjogJHNlY29uZGFyeS1jb2xvci0zO1xuXHRcdFx0YmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG5cdFx0XHRjdXJzb3I6IHBvaW50ZXI7XG5cdFx0fVxuXHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgZG93bikge1xuXHRcdFx0ZGlzcGxheTogbm9uZTtcblx0XHR9XG5cdH1cblx0Lm9yYml0LXByZXZpb3VzIHtcblx0XHRsZWZ0OiAtNDJweDtcblx0fVxuXHQub3JiaXQtbmV4dCB7XG5cdFx0cmlnaHQ6IC00MnB4O1xuXHR9XG5cdC5vcmJpdC1idWxsZXRzIHtcblx0XHRtYXJnaW4tYm90dG9tOiAyNnB4O1xuXHRcdG1hcmdpbi10b3A6IDA7XG5cdH1cblx0QGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcblx0XHRtYXJnaW4tYm90dG9tOiAxMDBweDtcblx0XHQ+IC5yb3cge1xuXHRcdFx0bWF4LXdpZHRoOiAxMjcwcHg7XG5cdFx0XHRvdmVyZmxvdzogaGlkZGVuO1xuXG5cdFx0XHQ+IC5jb2x1bW5zIHtcblx0XHRcdFx0cGFkZGluZy1yaWdodDogNDJweDtcblx0XHRcdFx0cGFkZGluZy1sZWZ0OiA0NHB4O1xuXHRcdFx0fVxuXHRcdH1cblx0XHQub3JiaXQtY29udGFpbmVyIHtcblx0XHRcdG92ZXJmbG93OiB2aXNpYmxlO1xuXHRcdH1cblx0fVxuXHRAbWVkaWEgKG1pbi13aWR0aDogNzY4cHgpIGFuZCAobWF4LXdpZHRoOiAxMTk5cHgpIHtcblx0XHQ+IC5yb3cge1xuXHRcdFx0bWF4LXdpZHRoOiA5NiU7XG5cdFx0fVxuXHR9XG5cdC5mZWF0dXJlZC1hcnRpY2xlc19fc2xpZGUge1xuICAgIGEge1xuICAgICAgY29sb3I6ICRib2R5LWZvbnQtY29sb3I7XG4gICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgfVxuXHRpbWcge1xuXHQgIHdpZHRoOiAxMDAlO1xuXHQgIGhlaWdodDogYXV0bztcbiAgICAgIG1heC13aWR0aDogNjAwcHg7XG4gICAgICBtYXgtaGVpZ2h0OiA0MDBweDtcblx0XHR9XG5cdFx0LmZlYXR1cmVkLWFydGljbGVzX19jb250ZW50IHtcblx0XHRcdGJhY2tncm91bmQtY29sb3I6IHdoaXRlO1xuXHRcdFx0bWFyZ2luOiAwcHggMCAzNXB4IDBweDtcblx0XHRcdHBhZGRpbmc6IDBweCAxMHB4IDEwcHggMTAwcHg7XG5cdFx0XHRAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSBkb3duKSB7XG5cdFx0XHRcdG1hcmdpbi10b3A6IC04N3B4O1xuXHRcdFx0XHRtYXJnaW4tbGVmdDogNzJweDtcblx0XHRcdH1cblx0XHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgZG93bikge1xuXHRcdFx0XHRtYXJnaW4tbGVmdDogMDtcblx0XHRcdFx0bWFyZ2luLXRvcDogMDtcblx0XHRcdFx0cGFkZGluZzogMjNweCAyMHB4IDMxcHg7XG5cdFx0XHR9XG5cdFx0XHRwb3NpdGlvbjogcmVsYXRpdmU7XG5cdFx0XHQuZmVhdHVyZWQtYXJ0aWNsZXNfX2NhdGVnb3J5IHtcblx0XHRcdFx0Zm9udC1zaXplOiAxOHB4O1xuICAgICAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiAkZ2xvYmFsLXdlaWdodC1tZWRpdW07XG4gICAgICAgICAgICAgICAgY29sb3I6ICRkYXJrLWdyYXk7XG5cdFx0XHRcdG1hcmdpbi1ib3R0b206IDA7XG4gICAgICAgICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuXHRcdFx0XHQrIGgzIHtcblx0XHRcdFx0XHRtYXJnaW4tdG9wOiA1cHg7XG5cdFx0XHRcdH1cblx0XHRcdFx0QGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCBkb3duKSB7XG5cdFx0XHRcdFx0Zm9udC1zaXplOiAxN3B4O1xuXHRcdFx0XHR9XG5cdFx0XHR9XG5cdFx0XHRoMyB7XG4gICAgICAgIGZvbnQtc2l6ZTogNDBweDtcblx0XHRcdFx0Zm9udC13ZWlnaHQ6ICRnbG9iYWwtd2VpZ2h0LW5vcm1hbDtcblx0XHRcdFx0bWFyZ2luLWJvdHRvbTogMS41cmVtO1xuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG5cdFx0XHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgZG93bikge1xuXHRcdFx0XHRcdGZvbnQtc2l6ZTogMjJweDtcblx0XHRcdFx0XHRsaW5lLWhlaWdodDogMjhweDtcblx0XHRcdFx0XHQrIHAge1xuXHRcdFx0XHRcdFx0ZGlzcGxheTogbm9uZTtcblx0XHRcdFx0XHR9XG5cdFx0XHRcdH1cblxuICAgICAgICAmLmJ0bS1kaXZpZGVyOmFmdGVyIHtcbiAgICAgICAgICBsZWZ0OiA1MCU7XG4gICAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSk7XG4gICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpXG4gICAgICAgIH1cblx0XHRcdH1cbiAgICAgIHAge1xuICAgICAgICBmb250LWZhbWlseTogJGFjY2VudC1mb250O1xuICAgICAgICBmb250LXNpemU6IDAuODg5ZW07XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxLjYyNWVtO1xuICAgICAgfVxuXHRcdH1cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XG4gICAgICAucm93IHtcbiAgICAgICAgLmNvbHVtbnM6Zmlyc3QtY2hpbGQge1xuICAgICAgICAgIHBhZGRpbmctcmlnaHQ6IDA7XG4gICAgICAgIH1cbiAgICAgICAgLmNvbHVtbnM6bGFzdC1jaGlsZCB7XG4gICAgICAgICAgcGFkZGluZy1sZWZ0OiAwO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXHR9XG5cdEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgZG93bikge1xuXHRcdG1hcmdpbi1ib3R0b206IDcwcHg7XG5cdFx0PiAucm93IHtcblx0XHRcdG1hcmdpbi1sZWZ0OiAwO1xuXHRcdFx0bWFyZ2luLXJpZ2h0OiAwO1xuXHRcdFx0PiAuY29sdW1ucyB7XG5cdFx0XHRcdHBhZGRpbmctbGVmdDogMDtcblx0XHRcdFx0cGFkZGluZy1yaWdodDogMDtcblx0XHRcdH1cblx0XHR9XG5cdH1cbn1cbiIsIiVhdXRob3ItYm9yZGVyIHtcbiAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNkMWQxZDI7XG4gIHBhZGRpbmctYm90dG9tOiAyMHB4O1xufVxuLmF1dGhvciB7XG4gIGgzIHtcbiAgICBAZXh0ZW5kICVhdXRob3ItYm9yZGVyO1xuICB9XG4gIC5hdXRob3ItaXRlbSB7XG4gICAgQGV4dGVuZCAlYXV0aG9yLWJvcmRlcjtcbiAgICBmb250LWZhbWlseTogXCJCcmV2ZVRleHRcIiwgc2Fucy1zZXJpZjtcbiAgICBtYXJnaW4tdG9wOiAyMHB4O1xuICAgIGg0IHtcbiAgICAgIGNvbG9yOiAkYWNjZW50LWNvbG9yLTJiO1xuICAgICAgZm9udC13ZWlnaHQ6NzAwO1xuICAgICAgZm9udC1zaXplOjEuMzQ5MnJlbTtcbiAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgfVxuICAgIC5hdXRob3ItaW5mbyB7XG4gICAgICBhIHNwYW4ge1xuICAgICAgICBjb2xvcjogIzUyNTI1MjtcbiAgICAgIH1cbiAgICAgIHAge1xuICAgICAgICBtYXJnaW46IDAgMTVweDtcbiAgICAgICAgY29sb3I6ICRhY2NlbnQtY29sb3ItMmI7XG4gICAgICB9XG4gICAgfVxuICAgIC5hdXRob3Itc29jaWFsIHtcbiAgICAgIG1hcmdpbi10b3A6IDIwcHg7XG4gICAgICBzcGFuIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2I4YTE2MjtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKDQwcHgpO1xuICAgICAgICBjb2xvcjogI2ZmZmZmZjtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsIi8vQmxvY2txdW90ZVxuYmxvY2txdW90ZSB7XG5cdHdpZHRoOiAxMDAlO1xuXHRmb250LXdlaWdodDogYm9sZDtcblx0Zm9udC1zaXplOiAyOHB4O1xuXHRmb250LWZhbWlseTogJGFjY2VudC1mb250O1xuXHRmb250LXN0eWxlOiBpdGFsaWM7XG5cdCYsXG5cdHAge1xuXHRcdGxpbmUtaGVpZ2h0OiAzNnB4O1xuXHR9XG5cdEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UgZG93bikge1xuXHRcdGZvbnQtc2l6ZTogMjZweDtcblx0fVxuXHRAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSBkb3duKSB7XG5cdFx0cGFkZGluZy1sZWZ0OiAyMHB4O1xuXHRcdHBhZGRpbmctcmlnaHQ6IDIwcHg7XG5cdH1cblx0Ly9AaW5jbHVkZSBicmVha3BvaW50KHNtYWxsIGRvd24pIHtcblx0QGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCBkb3duKSB7XG5cdFx0Zm9udC1zaXplOiAyMHB4O1xuXHRcdHBhZGRpbmctYm90dG9tOiAxMHB4O1xuXHQgICAgcGFkZGluZy1sZWZ0OiAxM3B4O1xuXHRcdHBhZGRpbmctcmlnaHQ6IDEzcHg7XG5cdFx0Jixcblx0XHRwIHtcblx0XHRcdGxpbmUtaGVpZ2h0OiAzMHB4O1xuXHRcdH1cblx0fVxufVxuLmJsb2NrcXVvdGVfX2JhY2tncm91bmQge1xuXHRwb3NpdGlvbjogcmVsYXRpdmU7XG5cdG1hcmdpbi10b3A6IDIwcHg7XG5cdG1hcmdpbi1ib3R0b206IDg2cHg7XG5cdCY6YmVmb3JlIHtcblx0XHRjb250ZW50OiBcIlwiO1xuXHRcdGJhY2tncm91bmQ6IHRyYW5zcGFyZW50IHVybCgnLi4vaW1hZ2VzL2Fycm93LXBhdHRlcm4ucG5nJykgcmVwZWF0IHNjcm9sbCAwIDA7XG5cdFx0Ym9yZGVyLXRvcDogNnB4IHNvbGlkICRuZXV0cmFsLWNvbG9yLTQ7XG5cdFx0cG9zaXRpb246IGFic29sdXRlO1xuXHRcdHJpZ2h0OiAwO1xuXHRcdHRvcDogMDtcblx0XHRib3R0b206IDA7XG5cdFx0d2lkdGg6IDEwMCU7XG5cdFx0QG1lZGlhIChtYXgtd2lkdGg6IDEyMTRweCkge1xuXHRcdFx0d2lkdGg6IDgyJTtcblx0XHR9XG5cdFx0ei1pbmRleDogLTE7XG5cdFx0QG1lZGlhIChtaW4td2lkdGg6IDE1NTBweCkge1xuXHRcdFx0d2lkdGg6IDc1JTtcblx0XHR9XG5cdH1cblx0QGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gZG93bikge1xuXHQgICBcdG1hcmdpbi1sZWZ0OiA2M3B4ICFpbXBvcnRhbnQ7XG5cdCAgIFx0JjpiZWZvcmUge1xuXHQgICBcdFx0d2lkdGg6IDEwMCU7XG5cdCAgIFx0fVxuXHR9XG5cdC8vQGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCBkb3duKSB7XG5cdEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgZG93bikge1xuXHQgICBcdG1hcmdpbi1sZWZ0OiAyMnB4ICFpbXBvcnRhbnQ7XG5cdCAgIFx0bWFyZ2luLWJvdHRvbTogMTAwcHg7XG5cdH1cblx0LnJvdyB7XG5cdFx0bWFyZ2luLWxlZnQ6IGF1dG87XG5cdFx0bWFyZ2luLXJpZ2h0OiBhdXRvO1xuXHR9XG5cdEBtZWRpYSAobWluLXdpZHRoOiAxMjE1cHgpIHtcblx0XHQ+IC5jb2x1bW5zID4gLnJvdyA+IC5jb2x1bW5zOmZpcnN0LWNoaWxkIHtcblx0XHRcdHBvc2l0aW9uOiByZWxhdGl2ZTtcblx0XHRcdCY6YmVmb3JlIHtcblx0XHRcdFx0Y29udGVudDogXCJcIjtcblx0XHRcdCAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG5cdFx0XHQgICAgdG9wOiAwO1xuXHRcdFx0ICAgIGxlZnQ6IC0zMDAwcHg7XG5cdFx0XHQgICAgYmFja2dyb3VuZC1jb2xvcjogd2hpdGU7XG5cdFx0XHQgICAgZGlzcGxheTogYmxvY2s7XG5cdFx0XHQgICAgaGVpZ2h0OiAxMDAlO1xuXHRcdFx0ICAgIHJpZ2h0OiA5OTFweDtcblx0XHRcdH1cblx0XHR9XG5cdH1cbn0iLCJAbWVkaWEgc2NyZWVuIHtcblxuXHQuaW1nLXdyYXBwZXIge1xuXHRcdHBvc2l0aW9uOiByZWxhdGl2ZTtcblx0XHRtYXJnaW4tYm90dG9tOiAyNHB4O1xuXHRcdGltZyB7XG5cdFx0XHR3aWR0aDogMTAwJTtcblx0XHR9XG5cdFx0LmltZy13cmFwcGVyX19jb250ZW50IHtcblx0XHRcdG92ZXJmbG93OiBoaWRkZW47XG5cdFx0XHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdFx0XHRsZWZ0OiAwO1xuXHRcdFx0cmlnaHQ6IDA7XG5cdFx0XHRib3R0b206IDA7XG5cdFx0XHRtYXJnaW46IDEwcHggMTNweDtcblx0XHRcdGNvbG9yOiB3aGl0ZTtcblx0XHRcdGJhY2tncm91bmQtY29sb3I6IHJnYmEoMjQsMjMsMzAsIDAuODUpO1xuXHRcdFx0Zm9udC1zaXplOiAxNnB4O1xuXHRcdFx0cGFkZGluZzogN3B4IDYwcHggMTJweCAxN3B4O1xuXHRcdFx0PiAqOmZpcnN0LWNoaWxkIHtcblx0XHRcdFx0b3BhY2l0eTogMTtcblx0XHRcdH1cblx0XHRcdCYudHJ1bmNhdGVkIHtcblx0XHRcdFx0Ly9oZWlnaHQ6IDQzcHg7XG5cdFx0XHRcdGN1cnNvcjogcG9pbnRlcjtcblx0XHRcdFx0YmFja2dyb3VuZC1jb2xvcjogcmdiYSgyNCwgMjMsIDMwLCAwLjYpO1xuXHRcdFx0XHR0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDAuNXMgZWFzZTtcblx0XHRcdFx0JjphZnRlciB7XG5cdFx0XHRcdFx0Y29udGVudDogXCJcXGU4MDlcIjtcblx0XHRcdFx0XHRmb250LWZhbWlseTogJGljb24tZm9udDtcblx0XHRcdFx0XHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdFx0XHRcdFx0cmlnaHQ6IDE4cHg7XG5cdFx0XHRcdFx0Ym90dG9tOiA2cHg7XG5cdFx0XHRcdFx0Zm9udC1zaXplOiAyNHB4O1xuXHRcdFx0XHRcdG9wYWNpdHk6IDAuNTtcblx0XHRcdFx0fVxuXHRcdFx0XHQmOmhvdmVyLFxuXHRcdFx0XHQmOmZvY3VzIHtcblx0XHRcdFx0XHRiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDI0LDIzLDMwLCAwLjg1KTtcblx0XHRcdFx0XHQ+ICo6Zmlyc3QtY2hpbGQsXG5cdFx0XHRcdFx0JjphZnRlciB7XG5cdFx0XHRcdFx0XHRvcGFjaXR5OiAxO1xuXHRcdFx0XHRcdH1cblxuXHRcdFx0XHR9XG5cdFx0XHRcdD4gKjpmaXJzdC1jaGlsZCB7XG5cdFx0XHRcdFx0d2hpdGUtc3BhY2U6IG5vd3JhcDtcblx0XHRcdFx0XHRvdmVyZmxvdzogaGlkZGVuO1xuXHRcdFx0XHRcdHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xuXHRcdFx0XHRcdG9wYWNpdHk6IDAuNTtcblx0XHRcdFx0fVxuXHRcdFx0XHQmLmV4cGFuZGVkIHtcblx0XHRcdFx0XHRiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDI0LDIzLDMwLCAwLjg1KTtcblx0XHRcdFx0XHQ+ICo6Zmlyc3QtY2hpbGQge1xuXHRcdFx0XHRcdFx0d2hpdGUtc3BhY2U6IG5vcm1hbDtcblx0XHRcdFx0XHRcdG9wYWNpdHk6IDE7XG5cdFx0XHRcdFx0fVxuXHRcdFx0XHRcdCY6YWZ0ZXIge1xuXHRcdFx0XHRcdFx0Y29udGVudDogXCJcXGU4MDhcIjtcblx0XHRcdFx0XHRcdG9wYWNpdHk6IDE7XG5cdFx0XHRcdFx0fVxuXHRcdFx0XHR9XG5cdFx0XHR9XG5cdFx0XHRwOmxhc3QtY2hpbGQge1xuXHRcdFx0XHRtYXJnaW4tYm90dG9tOiAwO1xuXHRcdFx0fVxuXHRcdH1cblx0fVxufSIsIi5jYXJkLWxpc3QtaXRlbSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsMCwwKTtcbiAgICAtbW96LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwwLDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwwLDApO1xufVxuLmNhcmRzLWxpc3RfX2hvbGRlciB7XG4gICAgJjphZnRlciB7XG4gICAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgIGJvcmRlci1ib3R0b206IDI4cHggc29saWQgI2ZmZjtcbiAgICAgICAgYm9yZGVyLWxlZnQ6IDI4cHggc29saWQgdHJhbnNwYXJlbnQ7XG4gICAgICAgIGJvcmRlci1yaWdodDogMjhweCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICBib3R0b206IC00MHB4O1xuICAgICAgICBsZWZ0OiA1MCU7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKTtcbiAgICAgICAgei1pbmRleDogMDtcbiAgICAgICAgb3BhY2l0eTogMDtcbiAgICAgICAgdHJhbnNpdGlvbjogb3BhY2l0eSAuM3M7XG4gICAgfVxuICAgIC5jYXJkLWxpc3QtaXRlbS0tb3BlbiAmOmFmdGVyLFxuICAgICYuZmFkaW5nOmFmdGVyIHtcbiAgICAgICAgb3BhY2l0eTogMTtcbiAgICB9XG4gICAgLmNhcmQtbGlzdC1pdGVtLS1vcGVuICYuZmFkaW5nOmFmdGVyIHtcbiAgICAgICAgb3BhY2l0eTogMDtcbiAgICB9XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIC5jYXJkcy1saXN0X19jb250ZW50IHtcbiAgICAgICAgLmFwLWxldHRlciAmLFxuICAgICAgICAuYXAtc2Nob29sICYge1xuICAgICAgICAgICAgYm9yZGVyLXRvcDogNnB4IHNvbGlkICNDM0MzQzM7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudCB1cmwoJy4uL2ltYWdlcy9hcnJvdy1wYXR0ZXJuLnBuZycpIHJlcGVhdCBzY3JvbGwgMCAwO1xuICAgICAgICAgICAgaDIge1xuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMTIwcHg7XG4gICAgICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDEzMnB4O1xuICAgICAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA4MDA7XG4gICAgICAgICAgICAgICAgY29sb3I6ICNiMGIwYjA7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgLmFwLWxldHRlciAmIGgyIHtcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IC0xNHB4O1xuICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IDhweDtcbiAgICAgICAgfVxuICAgICAgICAuYXAtc2Nob29sICYgaDIge1xuICAgICAgICAgICAgZm9udC1zaXplOiAzNnB4O1xuICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICAgICAgICAgIC8vZm9udC1mYW1pbHk6ICRwcmltYXJ5LWZvbnQ7XG4gICAgICAgICAgICBsaW5lLWhlaWdodDogMS4xO1xuICAgICAgICB9XG4gICAgICAgIG1pbi1oZWlnaHQ6IDMyMHB4O1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmZmZmO1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIGJvcmRlci10b3A6IDZweCBzb2xpZCAkYWNjZW50LWNvbG9yLTJiO1xuICAgICAgICB0cmFuc2l0aW9uOiBib3JkZXIgLjNzIGVhc2U7XG4gICAgICAgIHBhZGRpbmc6IDExcHggMTdweCAxN3B4O1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAxN3B4O1xuICAgICAgICAuY2FyZC1saXN0LWl0ZW0tLW9wZW4gJiB7XG4gICAgICAgICAgICBib3JkZXItY29sb3I6ICRwcmltYXJ5LWNvbG9yLTM7XG4gICAgICAgIH1cbiAgICAgICAgcC5hY2FkZW1pYy1jYXJkIHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMTZweDtcbiAgICAgICAgICAgIGZvbnQtZmFtaWx5OiAkcHJpbWFyeS1mb250O1xuICAgICAgICAgICAgY29sb3I6ICRuZXV0cmFsLWNvbG9yLTM7XG4gICAgICAgICAgICBsaW5lLWhlaWdodDogMjBweDtcbiAgICAgICAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjZWZlZmVmO1xuICAgICAgICAgICAgcGFkZGluZy1ib3R0b206IDEzcHg7XG4gICAgICAgIH1cbiAgICAgICAgLmNhcmRzLWxpc3QtbW9kdWxlX190aXRsZSB7XG4gICAgICAgICAgICBoMi5jYXJkcy1saXN0LXRpdGxlIHtcbiAgICAgICAgICAgICAgICBmb250LWZhbWlseTogJGhlYWRsaW5lLWZvbnQ7XG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiAyNnB4O1xuICAgICAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAzNHB4O1xuICAgICAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA4MDA7XG4gICAgICAgICAgICAgICAgdHJhbnNpdGlvbjogY29sb3IgLjNzIGVhc2U7XG4gICAgICAgICAgICAgICAgLmNhcmQtbGlzdC1pdGVtLS1vcGVuICYge1xuICAgICAgICAgICAgICAgICAgICBjb2xvcjogJHByaW1hcnktY29sb3ItMztcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgLmNhcmQtbGlzdC1ib3R0b20ge1xuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgYm90dG9tOiAyMHB4O1xuICAgICAgICAgICAgbGVmdDogMTdweDtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMTZweDtcbiAgICAgICAgfVxuICAgICAgICAubW9yZS1idXR0b24ge1xuICAgICAgICAgICAgYm9yZGVyOiAycHggc29saWQgI2IxYjFiMTtcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgIHdpZHRoOiAzMHB4O1xuICAgICAgICAgICAgaGVpZ2h0OiAzMHB4O1xuICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDI1cHg7XG4gICAgICAgICAgICBib3R0b206IDE3cHg7XG4gICAgICAgICAgICByaWdodDogMTdweDtcbiAgICAgICAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAgICAgICAgIHRyYW5zaXRpb246IGJvcmRlciAuM3MgZWFzZTtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMjVweDtcbiAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDE2cHg7XG4gICAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgICAgICAuY2FyZC1saXN0LWl0ZW0tLW9wZW4gJiB7XG4gICAgICAgICAgICAgICAgYm9yZGVyLWNvbG9yOiAkcHJpbWFyeS1jb2xvci0zO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgc3BhbiB7XG4gICAgICAgICAgICAgICAgY29sb3I6ICNiMWIxYjE7XG4gICAgICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDgwMDtcbiAgICAgICAgICAgICAgICB0cmFuc2l0aW9uOiBjb2xvciAuM3MgZWFzZTtcbiAgICAgICAgICAgICAgICAuY2FyZC1saXN0LWl0ZW0tLW9wZW4gJiB7XG4gICAgICAgICAgICAgICAgICAgIGNvbG9yOiAkcHJpbWFyeS1jb2xvci0zO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICAgICAgICAgIHdpZHRoOiBhdXRvO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAuY29sdW1uczpub3QoLmFwLWxldHRlcik6bm90KC5hcC1zY2hvb2wpICY6aG92ZXIge1xuICAgICAgICAgICAgYm9yZGVyLWNvbG9yOiAkcHJpbWFyeS1jb2xvci0zO1xuICAgICAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgICAgICAgICAgLmNhcmRzLWxpc3QtbW9kdWxlX190aXRsZSBoMi5jYXJkcy1saXN0LXRpdGxlIHtcbiAgICAgICAgICAgICAgICBjb2xvcjogJHByaW1hcnktY29sb3ItMztcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIC5tb3JlLWJ1dHRvbiB7XG4gICAgICAgICAgICAgICAgYm9yZGVyLWNvbG9yOiAkcHJpbWFyeS1jb2xvci0zO1xuICAgICAgICAgICAgICAgIHNwYW4ge1xuICAgICAgICAgICAgICAgICAgICBjb2xvcjogJHByaW1hcnktY29sb3ItMztcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG4gICAgLmZseW91dCB7XG4gICAgICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgYmFja2dyb3VuZDogd2hpdGU7XG4gICAgICAgIHotaW5kZXg6IDI7IC8vIGNoYW5nZWQgMTAwMCB0byAyLCB0byBzdGF5IHVuZGVyIHN0aWNreSBoZWFkZXIuXG4gICAgICAgIGxlZnQ6IDA7XG4gICAgICAgIGZsb2F0OiBsZWZ0O1xuICAgICAgICByaWdodDogMDtcbiAgICAgICAgdG9wOiAzNDBweDtcbiAgICAgICAgbWFyZ2luOiAyMHB4IDAgMCAwO1xuICAgICAgICAvL2JvcmRlci10b3A6IDMwcHggc29saWQgI2Y0ZjRmNDtcbiAgICAgICAgYm9yZGVyLWJvdHRvbTogNnB4IHNvbGlkICRwcmltYXJ5LWNvbG9yLTM7XG4gICAgICAgIC5mbHlvdXQtY29udGVudF9faG9sZGVyIHtcbiAgICAgICAgICAgIHBhZGRpbmc6IDQwcHg7XG4gICAgICAgICAgICBtYXJnaW4tbGVmdDogMDtcbiAgICAgICAgICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgZG93bikge1xuICAgICAgICAgICAgICAgIHBhZGRpbmc6IDI1cHggMjBweDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIC5jYXJkcy1tb2R1bGVfX2J1dHRvbnMge1xuICAgICAgICAgICAgICAgIG1hcmdpbi10b3A6IDM4cHg7XG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCBkb3duKSB7XG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbi10b3A6IDVweDtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgdWwge1xuICAgICAgICAgICAgICAgICAgICBtYXJnaW4tbGVmdDogMDtcbiAgICAgICAgICAgICAgICAgICAgbGkge1xuICAgICAgICAgICAgICAgICAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDA7XG4gICAgICAgICAgICAgICAgICAgICAgICBhIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBwYWRkaW5nOiAxNXB4IDIycHg7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgZm9udC1zaXplOiAyMHB4O1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAyMnB4O1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIGRvd24pIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZm9udC1zaXplOiAxNnB4O1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaW5lLWhlaWdodDogMThweDtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgZm9udC1mYW1pbHk6ICRjdGEtZm9udDtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgY29sb3I6IHdoaXRlO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCBkb3duKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2FjOTE0NztcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAmOmhvdmVyLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICY6Zm9jdXMge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkc2Vjb25kYXJ5LWNvbG9yLTI7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgKyBsaSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgbWFyZ2luLXRvcDogMTVweDtcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgICYucmVxdWlyZW1lbnRzIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBhIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBhZGRpbmctbGVmdDoxNXB4O1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmOmhvdmVyLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmOmZvY3VzIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNhYzkxNDc7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCBkb3duKSB7XG4gICAgICAgICAgICAgICAgICAgIG1heC13aWR0aDogMjYwcHg7XG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICAgICAgICAgICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IGF1dG87XG4gICAgICAgICAgICAgICAgICAgIHVsIGxpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgaDMge1xuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMjRweDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGg0IHtcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IDIycHg7XG4gICAgICAgICAgICAgICAgbWFyZ2luLXRvcDogMjVweDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcbiAgICAgICAgICAgICAgICA+IC5jb2x1bW5zOmZpcnN0LWNoaWxkIHtcbiAgICAgICAgICAgICAgICAgICAgcGFkZGluZy1yaWdodDogMjBweDtcbiAgICAgICAgICAgICAgICAgICAgKyAuY29sdW1ucyB7XG4gICAgICAgICAgICAgICAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDIwcHg7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgLmNhcmQtbGlzdC1pdGVtLS1vcGVuICYge1xuICAgICAgICAgICAgLypkaXNwbGF5OiBibG9jazsqL1xuICAgICAgICAgICAgd2lkdGg6IGNhbGMoMTAwJSAtIDAuODg4ODhyZW0pO1xuICAgICAgICAgICAgbGVmdDogMDtcbiAgICAgICAgICAgIHJpZ2h0OiAwO1xuICAgICAgICB9XG4gICAgfVxufVxuXG4uY2FyZHMtbGlzdC1tb2R1bGUge1xuICAgIGJhY2tncm91bmQ6ICNmNGY0ZjQ7XG4gICAgbWFyZ2luLXRvcDogNzJweDtcbiAgICBtYXJnaW4tYm90dG9tOiA2MHB4O1xuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgZG93bikge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAzOHB4O1xuICAgIH1cbiAgICA+IC5yb3cge1xuICAgICAgICBtYXJnaW4tdG9wOiA3MnB4O1xuICAgICAgICBwYWRkaW5nLWJvdHRvbTogMzBweDtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICB0b3A6IC0zMHB4O1xuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSBkb3duKSB7XG4gICAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDE4cHg7XG4gICAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiAxOHB4O1xuICAgICAgICB9XG4gICAgICAgIEBtZWRpYSAobWF4LXdpZHRoOiA0ODBweCkge1xuICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiA5cHg7XG4gICAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiA5cHg7XG4gICAgICAgIH1cbiAgICAgICAgPiAuY29sdW1ucyB7XG4gICAgICAgICAgICAvKmZsZXgtYmFzaXM6IDI1JTsqL1xuICAgICAgICAgICAgd2lkdGg6IDI1JTtcbiAgICAgICAgICAgIGZsb2F0OiBsZWZ0O1xuICAgICAgICAgICAgZmxleDogYXV0bztcbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIGRvd24pIHtcbiAgICAgICAgICAgICAgICAvKmZsZXgtYmFzaXM6IDMzLjMzJTsqL1xuICAgICAgICAgICAgICAgIHdpZHRoOiAzMiU7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBAbWVkaWEgKG1heC13aWR0aDogOTE1cHgpIHtcbiAgICAgICAgICAgICAgICAvKmZsZXgtYmFzaXM6IDMzLjMzJTsqL1xuICAgICAgICAgICAgICAgIHdpZHRoOiAzMSU7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBAbWVkaWEgKG1heC13aWR0aDogNjUwcHgpIHtcbiAgICAgICAgICAgICAgICAvL2ZsZXgtYmFzaXM6IDMzLjMzJTtcbiAgICAgICAgICAgICAgICB3aWR0aDogNDclO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgQG1lZGlhIChtYXgtd2lkdGg6IDY1MHB4KSB7XG4gICAgICAgICAgICAgICAgLy9mbGV4LWJhc2lzOiAzMy4zMyU7XG4gICAgICAgICAgICAgICAgd2lkdGg6IDQ2JTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIEBtZWRpYSAobWF4LXdpZHRoOiA0ODBweCkge1xuICAgICAgICAgICAgICAgIC8vZmxleC1iYXNpczogMzMuMzMlO1xuICAgICAgICAgICAgICAgIHdpZHRoOiA5NSU7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG59XG4iLCJAbWVkaWEgc2NyZWVuIHtcblxuICAuY2FyZHMtbW9kdWxlIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjRmNGY0O1xuICAgIG1hcmdpbi1ib3R0b206IDE0MHB4O1xuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIGRvd24pIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDEwMHB4O1xuICAgIH1cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsIGRvd24pIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDcwcHg7XG4gICAgfVxuICAgICYtLWhhcy1pY29ucyB7XG4gICAgICAuY2FyZHMtbW9kdWxlX19jb250ZW50IHtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgY29udGVudDogXCJcIjtcbiAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgdG9wOiAwO1xuICAgICAgICAgIGxlZnQ6IDA7XG4gICAgICAgICAgcmlnaHQ6IDA7XG4gICAgICAgICAgaGVpZ2h0OiA3NHB4O1xuICAgICAgICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50IHVybCgnLi4vaW1hZ2VzL2Fycm93LXBhdHRlcm4ucG5nJykgcmVwZWF0IHNjcm9sbCAwIDA7XG4gICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCBkb3duKSB7XG4gICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAuaW1nLXdyYXBwZXIge1xuICAgICAgICAgIG1hcmdpbi10b3A6IDMwcHg7XG4gICAgICAgICAgaW1nIHtcbiAgICAgICAgICAgIHdpZHRoOiA4MHB4O1xuICAgICAgICAgICAgaGVpZ2h0OiA4MHB4O1xuICAgICAgICAgICAgbWFyZ2luOiAwIGF1dG8gMzBweCBhdXRvO1xuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICAgID4gLnJvdyB7XG4gICAgICBtYXJnaW4tdG9wOiA1MHB4O1xuICAgICAgcGFkZGluZy1ib3R0b206IDMwcHg7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICB0b3A6IC0zMHB4O1xuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gZG93bikge1xuICAgICAgICBwYWRkaW5nLWxlZnQ6IDE4cHg7XG4gICAgICAgIHBhZGRpbmctcmlnaHQ6IDE4cHg7XG4gICAgICB9XG4gICAgICA+IC5jb2x1bW5zIHtcbiAgICAgICAgZmxleC1iYXNpczogMzMuMzMlO1xuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsIGRvd24pIHtcbiAgICAgICAgICBmbGV4LWJhc2lzOiAxMDAlO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICAgIC5jYXJkcy1tb2R1bGVfX2NvbnRlbnQge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogd2hpdGU7XG4gICAgICBwYWRkaW5nOiAwIDMwcHg7XG4gICAgICBtYXJnaW4tYm90dG9tOiAxOHB4O1xuICAgICAgYm9yZGVyOiAxcHggc29saWQgI2VlZWVlZTtcbiAgICAgIHAge1xuICAgICAgICBmb250LXNpemU6IDE2cHg7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAyNHB4O1xuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSBkb3duKSB7XG4gICAgICAgICAgZm9udC1zaXplOiAxNXB4O1xuICAgICAgICAgIGxpbmUtaGVpZ2h0OiAyMnB4O1xuICAgICAgICB9XG4gICAgICB9XG4gICAgICB1bCB7XG4gICAgICAgIGxpIHtcbiAgICAgICAgICBmb250LXNpemU6IDE4cHg7XG4gICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gZG93bikge1xuICAgICAgICAgICAgZm9udC1zaXplOiAxNnB4O1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgLmNhcmQtaW1nLXdyYXBwZXIge1xuICAgICAgICBtYXJnaW4tbGVmdDogLTMwcHg7XG4gICAgICAgIG1hcmdpbi1yaWdodDogLTMwcHg7XG4gICAgICAgIG1hcmdpbi1ib3R0b206MjRweDtcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCBkb3duKSB7XG4gICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgaW1nIHtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICB9XG4gICAgICBoNCB7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiA4MDA7XG4gICAgICAgIGZvbnQtc2l6ZTogMjhweDtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDM0cHg7XG4gICAgICB9XG4gICAgICAuYnRuIHtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICBmb250LXNpemU6IDE2cHg7XG4gICAgICAgIHBhZGRpbmc6IDEycHggMjVweDtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogNDBweDtcbiAgICAgIH1cbiAgICB9XG4gICAgLmNhcmRzLW1vZHVsZS0taGFzLWljb25zIHtcbiAgICAgIGltZyB7XG4gICAgICAgIHdpZHRoOiA4MHB4O1xuICAgICAgICBoZWlnaHQ6IDgwcHg7XG4gICAgICAgIG1hcmdpbjogMCBhdXRvIDMwcHggYXV0bztcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICB9XG4gICAgfVxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgZG93bikge1xuICAgICAgPiAucm93ID4gLmNvbHVtbnM6Zmlyc3QtY2hpbGQgLmNhcmRzLW1vZHVsZV9fY29udGVudCB7XG4gICAgICAgIGJvcmRlci10b3A6IDJweCBzb2xpZCAkbmV1dHJhbC1jb2xvci00O1xuICAgICAgICAmLmV4cGFuZGVkIHtcbiAgICAgICAgICBib3JkZXItdG9wOiA1cHggc29saWQgI2Q0YzA5MjtcbiAgICAgICAgICBtYXJnaW4tdG9wOiAwO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgICAuY2FyZHMtbW9kdWxlX19jb250ZW50IHtcbiAgICAgICAgLmpzICYge1xuICAgICAgICAgIHBhZGRpbmc6IDEwcHggMTRweDtcbiAgICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgICAgICAgIGJvcmRlci13aWR0aDogMCAwIDJweCAwO1xuICAgICAgICAgIGJvcmRlci1zdHlsZTogc29saWQ7XG4gICAgICAgICAgYm9yZGVyLWNvbG9yOiAkbmV1dHJhbC1jb2xvci00O1xuICAgICAgICAgICYuZXhwYW5kZWQge1xuICAgICAgICAgICAgYm9yZGVyLXdpZHRoOiA1cHggMDtcbiAgICAgICAgICAgIGJvcmRlci1jb2xvcjogI2Q0YzA5MjtcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IC0ycHg7XG4gICAgICAgICAgICA+IGg0IHtcbiAgICAgICAgICAgICAgJjphZnRlciB7XG4gICAgICAgICAgICAgICAgY29udGVudDogJ1xcZTgwOCc7XG4gICAgICAgICAgICAgICAgY29sb3I6ICNkNGMwOTI7XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgKyAuY2FyZHMtbW9kdWxlX19oaWRkZW4tb24tc21hbGwge1xuICAgICAgICAgICAgICAgIG1heC1oZWlnaHQ6IDE1MDBweDtcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgICA+IGg0IHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMjRweDtcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgcGFkZGluZy10b3A6IDEwcHg7XG4gICAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiAzMHB4O1xuICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgICAgICAgICAgJjphZnRlciB7XG4gICAgICAgICAgICAgIGNvbnRlbnQ6IFwiXFxlODA5XCI7XG4gICAgICAgICAgICAgIGZvbnQtZmFtaWx5OiAkaWNvbi1mb250O1xuICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICAgIHJpZ2h0OiAwO1xuICAgICAgICAgICAgICB0b3A6IDUwJTtcbiAgICAgICAgICAgICAgbWFyZ2luLXRvcDogLTlweDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgICsgLmNhcmRzLW1vZHVsZV9faGlkZGVuLW9uLXNtYWxsIHtcbiAgICAgICAgICAgICAgbWF4LWhlaWdodDogMDtcbiAgICAgICAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAgICAgICAgICAgdHJhbnNpdGlvbjogbWF4LWhlaWdodCAwLjVzIGVhc2U7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICAgICYudHdvLXVwIHtcbiAgICAgIC5yb3cge1xuICAgICAgICAuY29sdW1ucyB7XG4gICAgICAgICAgJjpmaXJzdC1jaGlsZCB7XG4gICAgICAgICAgICAuY2FyZHMtbW9kdWxlX19jb250ZW50IHtcbiAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGFjY2VudC1jb2xvci0yYjtcbiAgICAgICAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6IG5vbmU7XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgaDMge1xuICAgICAgICAgICAgICAgIHBhZGRpbmctdG9wOiAxMzBweDtcbiAgICAgICAgICAgICAgICBjb2xvcjogJG5ldXRyYWwtY29sb3ItNjtcbiAgICAgICAgICAgICAgICAmOmFmdGVyIHtcbiAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRuZXV0cmFsLWNvbG9yLTY7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgZG93bikge1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgICAgJjpudGgtY2hpbGQoMikge1xuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCBkb3duKSB7XG4gICAgICAgICAgICAgIGJvcmRlci10b3A6IDJweCBzb2xpZCAjZDFkMWQyO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufSIsIi5jYXRlZ29yeS1saXN0IHtcblx0bWFyZ2luOiAyNHB4IC04cHggNzBweDtcblx0QGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCBkb3duKSB7XG5cdFx0bWFyZ2luLWJvdHRvbTogMzFweDtcblx0fVxuXHRvdmVyZmxvdzogYXV0bztcblx0bGkge1xuXHRcdCY6YmVmb3JlIHtcblx0XHRcdGRpc3BsYXk6IG5vbmU7XG5cdFx0fVxuXHRcdG1hcmdpbi1sZWZ0OiAwO1xuXHRcdHdpZHRoOiAyNSU7XG5cdFx0QGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gZG93bikge1xuXHRcdFx0d2lkdGg6IDMzLjMzJTtcblx0XHR9XG5cdFx0QGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCBkb3duKSB7XG5cdFx0XHR3aWR0aDogMTAwJTtcblx0XHR9XG5cdFx0ZmxvYXQ6IGxlZnQ7XG4gICAgICAgIGEge1xuICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgICAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlciBjZW50ZXI7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICAgICAgICAgICAgYmFja2dyb3VuZC1hdHRhY2htZW50OiBzY3JvbGw7XG4gICAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgICAgICBjb2xvcjogd2hpdGU7XG4gICAgICAgICAgICBtYXJnaW4tbGVmdDogOHB4O1xuICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiA4cHg7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAxNnB4O1xuICAgICAgICAgICAgaGVpZ2h0OiAxNzVweDtcbiAgICAgICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICAgICAgICAgIGZvbnQtZmFtaWx5OiAkaGVhZGxpbmUtZm9udDtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMjBweDtcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAyNHB4O1xuICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICAgICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgICAgICAgICBwYWRkaW5nOiAwIDIxcHg7XG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSBkb3duKSB7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogbm9uZSAhaW1wb3J0YW50O1xuICAgICAgICAgICAgICAgIGhlaWdodDogMTIwcHg7XG4gICAgICAgICAgICB9XG5cdFx0XHQuY2F0ZWdvcnktbGluay1pY29uIHtcblx0XHRcdFx0bWFyZ2luLWJvdHRvbTogMTVweDtcblx0XHRcdH1cbiAgICAgICAgICAgIHNwYW4ge1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXHR9XG5cdCYuY2F0ZWdvcnktbGlzdC0tcHVycGxlIHtcblx0XHRsaSB7XG5cdFx0XHRhIHtcblx0XHRcdFx0Jjpob3Zlcixcblx0XHRcdFx0Jjpmb2N1cyB7XG5cdFx0XHRcdFx0YmFja2dyb3VuZC1jb2xvcjogJGFjY2VudC1jb2xvci0xYSAhaW1wb3J0YW50O1xuXHRcdFx0XHR9XG5cdFx0XHR9XG5cdFx0fVxuXHRcdGxpOm50aC1jaGlsZCg2bisxKSB7XG5cdFx0XHRhIHtcblx0XHRcdFx0YmFja2dyb3VuZC1jb2xvcjogJGFjY2VudC1jb2xvci0xYjsgXG5cdFx0XHR9XG5cdFx0fVxuXHRcdGxpOm50aC1jaGlsZCg2bisyKSB7XG5cdFx0XHRhIHtcblx0XHRcdFx0YmFja2dyb3VuZC1jb2xvcjogIzdhNTI4OTsgXG5cdFx0XHR9XG5cdFx0fVxuXHRcdGxpOm50aC1jaGlsZCg2biszKSB7XG5cdFx0XHRhIHtcblx0XHRcdFx0YmFja2dyb3VuZC1jb2xvcjogIzQ4NDU4ZjsgXG5cdFx0XHR9XG5cdFx0fVxuXHRcdGxpOm50aC1jaGlsZCg2bis0KSB7XG5cdFx0XHRhIHtcblx0XHRcdFx0YmFja2dyb3VuZC1jb2xvcjogJGFjY2VudC1jb2xvci0xYzsgXG5cdFx0XHR9XG5cdFx0fVxuXHRcdGxpOm50aC1jaGlsZCg2bis1KSB7XG5cdFx0XHRhIHtcblx0XHRcdFx0YmFja2dyb3VuZC1jb2xvcjogIzcxNDA4NDsgXG5cdFx0XHR9XG5cdFx0fVxuXHRcdGxpOm50aC1jaGlsZCg2bis2KSB7XG5cdFx0XHRhIHtcblx0XHRcdFx0YmFja2dyb3VuZC1jb2xvcjogIzY1NjJhNzsgXG5cdFx0XHR9XG5cdFx0fVxuXHR9XG5cdCYuY2F0ZWdvcnktbGlzdC0tdGVhbCB7XG5cdFx0bGkge1xuXHRcdFx0YSB7XG5cdFx0XHRcdCY6aG92ZXIsXG5cdFx0XHRcdCY6Zm9jdXMge1xuXHRcdFx0XHRcdGJhY2tncm91bmQtY29sb3I6ICRhY2NlbnQtY29sb3ItMmEgIWltcG9ydGFudDtcblx0XHRcdFx0fVxuXHRcdFx0fVxuXHRcdH1cblx0XHRsaTpudGgtY2hpbGQoNm4rMSkge1xuXHRcdFx0YSB7XG5cdFx0XHRcdGJhY2tncm91bmQtY29sb3I6ICRhY2NlbnQtY29sb3ItMmI7IFxuXHRcdFx0fVxuXHRcdH1cblx0XHRsaTpudGgtY2hpbGQoNm4rMikge1xuXHRcdFx0YSB7XG5cdFx0XHRcdGJhY2tncm91bmQtY29sb3I6ICRhY2NlbnQtY29sb3ItMmM7IFxuXHRcdFx0fVxuXHRcdH1cblx0XHRsaTpudGgtY2hpbGQoNm4rMykge1xuXHRcdFx0YSB7XG5cdFx0XHRcdGJhY2tncm91bmQtY29sb3I6ICMwYjdkODc7IFxuXHRcdFx0fVxuXHRcdH1cblx0XHRsaTpudGgtY2hpbGQoNm4rNCkge1xuXHRcdFx0YSB7XG5cdFx0XHRcdGJhY2tncm91bmQtY29sb3I6ICMyMzc4YTQ7IFxuXHRcdFx0fVxuXHRcdH1cblx0XHRsaTpudGgtY2hpbGQoNm4rNSkge1xuXHRcdFx0YSB7XG5cdFx0XHRcdGJhY2tncm91bmQtY29sb3I6ICMxMThmOWE7IFxuXHRcdFx0fVxuXHRcdH1cblx0XHRsaTpudGgtY2hpbGQoNm4rNikge1xuXHRcdFx0YSB7XG5cdFx0XHRcdGJhY2tncm91bmQtY29sb3I6ICMwYTVhODM7IFxuXHRcdFx0fVxuXHRcdH1cblx0fVxufVxuLmNhdGVnb3J5LWxpc3RfX3RvZ2dsZXIge1xuXHQ+IGEge1xuXHRcdGRpc3BsYXk6IGJsb2NrO1xuXHRcdGJvcmRlci13aWR0aDogMnB4IDA7XG5cdFx0Ym9yZGVyLWNvbG9yOiAkbmV1dHJhbC1jb2xvci01O1xuXHRcdGJvcmRlci1zdHlsZTogc29saWQ7XG5cdFx0cGFkZGluZzogMTdweCAxMXB4O1xuXHRcdGZvbnQtZmFtaWx5OiAkcHJpbWFyeS1mb250O1xuXHRcdGZvbnQtc2l6ZTogMThweDtcblx0XHRjb2xvcjogJG5ldXRyYWwtY29sb3ItMjtcblx0XHR0ZXh0LWRlY29yYXRpb246IG5vbmU7XG5cdFx0bWluLWhlaWdodDogNjZweDtcblx0XHRbY2xhc3MqPVwiaWNvbi1kdVwiXSB7XG5cdFx0XHRmbG9hdDogcmlnaHQ7XG5cdFx0XHRmb250LXNpemU6IDI4cHg7XG5cdFx0XHQmOmJlZm9yZSB7XG5cdFx0XHRcdG1hcmdpbi1yaWdodDogMDtcblx0XHRcdH1cblx0XHR9XG5cdFx0Jjpob3Zlcixcblx0XHQmOmZvY3VzIHtcblx0XHRcdGJhY2tncm91bmQtY29sb3I6ICRuZXV0cmFsLWNvbG9yLTY7XG5cdFx0XHR0ZXh0LWRlY29yYXRpb246IG5vbmU7XG5cdFx0XHRjb2xvcjogJHByaW1hcnktY29sb3ItMztcblx0XHR9XG5cdFx0QGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCBkb3duKSB7XG5cdFx0XHRtYXJnaW4tYm90dG9tOiA0N3B4O1xuXHRcdH1cblx0XHQmLm9wZW4ge1xuXHRcdFx0QGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCBkb3duKSB7XG5cdFx0XHRcdG1hcmdpbi1ib3R0b206IDA7XG5cdFx0XHR9XG5cdFx0XHRbY2xhc3MqPVwiaWNvbi1kdVwiXSB7XG5cdFx0XHRcdGRpc3BsYXk6IG5vbmU7XG5cdFx0XHR9XG5cdFx0XHQmOmFmdGVyIHtcblx0XHRcdFx0Y29udGVudDogXCJcXGU4MDVcIjtcblx0XHRcdFx0Zm9udC1zaXplOiAyM3B4O1xuXHRcdFx0XHRwYWRkaW5nLXRvcDogNHB4O1xuXHRcdFx0XHRwYWRkaW5nLXJpZ2h0OiAxcHg7XG5cdFx0XHRcdGNvbG9yOiAkbmV1dHJhbC1jb2xvci0yO1xuXHRcdFx0XHRmbG9hdDogcmlnaHQ7XG5cdFx0XHRcdFxuXHRcdFx0XHRmb250LWZhbWlseTogJGljb24tZm9udDtcblx0XHRcdFx0c3BlYWs6IG5vbmU7XG5cdFx0XHRcdGRpc3BsYXk6IGlubGluZS1ibG9jaztcblx0XHRcdFx0dGV4dC1hbGlnbjogY2VudGVyO1xuXHRcdFx0XHRmb250LXZhcmlhbnQ6IG5vcm1hbDtcblx0XHRcdFx0dGV4dC10cmFuc2Zvcm06IG5vbmU7XG5cdFx0XHRcdGxpbmUtaGVpZ2h0OiAxZW07XG5cdFx0XHRcdC13ZWJraXQtZm9udC1zbW9vdGhpbmc6IGFudGlhbGlhc2VkO1xuXHRcdFx0XHQtbW96LW9zeC1mb250LXNtb290aGluZzogZ3JheXNjYWxlO1xuXHRcdFx0fVxuXHRcdH1cblx0fVxufSIsIkBtZWRpYSBzY3JlZW4ge1xuXG5cdC5jb250YWN0LXNpbmdsZS1tb2R1bGUge1xuICAgIGNvbG9yOiAjZmZmZmZmO1xuICAgIG1hcmdpbi1ib3R0b206IDg2cHg7XG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gZG93bikge1xuICAgICAgbWFyZ2luLWJvdHRvbTogNzBweDtcbiAgICB9XG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCBkb3duKSB7XG4gICAgICBtYXJnaW4tYm90dG9tOiA2MHB4O1xuICAgIH1cblxuICAgICYtLXRlYWwge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGFjY2VudC1jb2xvci0yYjtcbiAgICB9XG4gICAgJi0tcHVycGxlIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICRhY2NlbnQtY29sb3ItMWI7XG4gICAgfVxuICAgICYtLWdyZWVuIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICRhY2NlbnQtY29sb3ItM2I7XG4gICAgfVxuICAgICYtLWdvbGQge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHNlY29uZGFyeS1jb2xvci0yO1xuICAgIH1cbiAgICBcbiAgICAuY29udGFjdC1zaW5nbGUtbW9kdWxlX292ZXJsYXkge1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgJjpiZWZvcmUge1xuICAgICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIGxlZnQ6IDA7XG4gICAgICAgIHJpZ2h0OiAwO1xuICAgICAgICB0b3A6IDA7XG4gICAgICAgIGJvdHRvbTogMDtcbiAgICAgICAgei1pbmRleDogMDtcbiAgICAgIH1cbiAgICAgID4gLnJvdyB7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgei1pbmRleDogMTtcbiAgICAgIH1cbiAgICAgICYtLWJsYWNrIHtcbiAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRuZXV0cmFsLWNvbG9yLTE7XG4gICAgICAgICAgb3BhY2l0eTogMC41O1xuICAgICAgICB9XG4gICAgICB9XG4gICAgICAmLS10ZWFsIHtcbiAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRhY2NlbnQtY29sb3ItMmI7XG4gICAgICAgICAgb3BhY2l0eTogMC44NTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgJi0tcHVycGxlIHtcbiAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRhY2NlbnQtY29sb3ItMWE7XG4gICAgICAgICAgb3BhY2l0eTogMC44O1xuICAgICAgICB9XG4gICAgICB9XG4gICAgICAmLS1ncmVlbiB7XG4gICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYWNjZW50LWNvbG9yLTNhO1xuICAgICAgICAgIG9wYWNpdHk6IDAuODtcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgJi0tZ29sZCB7XG4gICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkc2Vjb25kYXJ5LWNvbG9yLTE7XG4gICAgICAgICAgb3BhY2l0eTogMC44O1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXHRcdGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG5cdFx0YmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyIGNlbnRlcjtcblx0XHRiYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xuXHRcdGNvbG9yOiB3aGl0ZTtcblxuICAgIC5jb250YWN0LXNpbmdsZS1tb2R1bGVfX2NvbnRlbnQge1xuXHRcdFx0cGFkZGluZzogMzBweDtcblx0XHRcdG1hcmdpbi1ib3R0b206IDE4cHg7XG4gICAgICBjb2xvcjogI2ZmZmZmZjtcbiAgICAgIFxuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCBkb3duKSB7XG4gICAgICAgIHBhZGRpbmc6IDMwcHggMCAyMHB4IDA7XG4gICAgICB9XG5cdFx0XHRwIHtcblx0XHRcdFx0Zm9udC1zaXplOiAxNnB4O1xuXHRcdFx0XHRsaW5lLWhlaWdodDogMjRweDtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMnJlbTtcblx0XHRcdFx0QGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSBkb3duKSB7XG5cdFx0XHRcdFx0Zm9udC1zaXplOiAxNXB4O1xuXHRcdFx0XHRcdGxpbmUtaGVpZ2h0OiAyMnB4OyBcblx0XHRcdFx0fVxuXHRcdFx0fVxuICAgICAgYSB7XG4gICAgICAgIGNvbG9yOiNmZmZmZmY7XG4gICAgICAgICY6aG92ZXIge1xuICAgICAgICAgIGNvbG9yOiAjZmZmZmZmO1xuICAgICAgICB9XG4gICAgICB9XG5cdFx0XHRoMywgaDYge1xuICAgICAgICBjb2xvcjogI2ZmZmZmZjtcbiAgICAgICAgJi5idG0tZGl2aWRlcjphZnRlciB7XG4gICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZmZmZjtcbiAgICAgICAgfVxuXHRcdFx0fVxuICAgICAgaDMge1xuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsIGRvd24pIHtcbiAgICAgICAgICBtYXJnaW4tYm90dG9tOiAtMzBweDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgaDZ7XG4gICAgICAgIGZvbnQtc2l6ZTogMC43NzhyZW07XG4gICAgICAgIGZvbnQtZmFtaWx5OiAkcHJpbWFyeS1mb250O1xuICAgICAgICBtYXgtd2lkdGg6IDYzJTtcbiAgICAgICAgbWFyZ2luLXRvcDogNjBweDtcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gZG93bikge1xuICAgICAgICAgIG1heC13aWR0aDogNTQlO1xuICAgICAgICB9XG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgZG93bikge1xuICAgICAgICAgIG1hcmdpbi10b3A6IDA7XG4gICAgICAgICAgbWF4LXdpZHRoOiA2MyU7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgIC5jb250YWN0LWxpc3Qge1xuICAgICAgICBjb2xvcjogI2ZmZmZmZjtcbiAgICAgICAgbGkge1xuICAgICAgICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgICAgICAgIGNvbG9yOiAjZmZmZmZmO1xuICAgICAgICAgIGJvcmRlcjogbm9uZTtcbiAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDQycHg7XG4gICAgICAgICAgcGFkZGluZy1ib3R0b206IDIxcHg7XG4gICAgICAgICAgbGluZS1oZWlnaHQ6IDIwcHg7XG4gICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCBkb3duKSB7XG4gICAgICAgICAgICBmb250LXNpemU6IDE1cHg7XG4gICAgICAgICAgfVxuICAgICAgICAgIGEge1xuICAgICAgICAgICAgY29sb3I6ICNmZmZmZmY7XG4gICAgICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICAgICAgY29sb3I6ICNmZmZmZmY7XG4gICAgICAgICAgICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgXG4gICAgICAgICAgICAvKiBGb3JjZSBXcmFwIG9mIGxvbmcgVVJMcyAqL1xuICAgICAgICAgICAgLyogVGhlc2UgYXJlIHRlY2huaWNhbGx5IHRoZSBzYW1lLCBidXQgdXNlIGJvdGggKi9cbiAgICAgICAgICAgIG92ZXJmbG93LXdyYXA6IGJyZWFrLXdvcmQ7XG4gICAgICAgICAgICB3b3JkLXdyYXA6IGJyZWFrLXdvcmQ7XG5cbiAgICAgICAgICAgIC1tcy13b3JkLWJyZWFrOiBicmVhay1hbGw7XG4gICAgICAgICAgICAvKiBUaGlzIGlzIHRoZSBkYW5nZXJvdXMgb25lIGluIFdlYktpdCwgYXMgaXQgYnJlYWtzIHRoaW5ncyB3aGVyZXZlciAqL1xuICAgICAgICAgICAgd29yZC1icmVhazogYnJlYWstYWxsO1xuICAgICAgICAgICAgLyogSW5zdGVhZCB1c2UgdGhpcyBub24tc3RhbmRhcmQgb25lOiAqL1xuICAgICAgICAgICAgd29yZC1icmVhazogYnJlYWstd29yZDtcblxuICAgICAgICAgICAgLyogQWRkcyBhIGh5cGhlbiB3aGVyZSB0aGUgd29yZCBicmVha3MsIGlmIHN1cHBvcnRlZCAoTm8gQmxpbmspICovXG4gICAgICAgICAgICAtbXMtaHlwaGVuczogYXV0bztcbiAgICAgICAgICAgIC1tb3otaHlwaGVuczogYXV0bztcbiAgICAgICAgICAgIC13ZWJraXQtaHlwaGVuczogYXV0bztcbiAgICAgICAgICAgIGh5cGhlbnM6IGF1dG87XG4gICAgICAgICAgICAvKiBFTkQgLSBGb3JjZSBXcmFwICovXG4gICAgICAgICAgfVxuICAgICAgICAgIC5jb250YWN0LWxpc3RfX21lZGlhIHtcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IC0ycHg7XG4gICAgICAgICAgfVxuICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgZG93bikge1xuICAgICAgICAgICAgLmNvbnRhY3QtbGlzdF9fbWVkaWEge1xuICAgICAgICAgICAgICBtYXJnaW4tbGVmdDogLTQ1cHg7XG4gICAgICAgICAgICAgIGZvbnQtc2l6ZTogMjBweDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgIC5zb2NpYWwtbWVkaWEge1xuICAgICAgICBtYXJnaW4tbGVmdDogLTEzcHg7XG4gICAgICAgIGxpIHtcbiAgICAgICAgICBtYXJnaW4tbGVmdDogMDtcbiAgICAgICAgICBmb250LXNpemU6IDIzcHg7XG4gICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCBkb3duKSB7XG4gICAgICAgICAgICBmb250LXNpemU6IDIycHg7XG4gICAgICAgICAgfVxuICAgICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgICAgfVxuICAgICAgICAgIGEge1xuICAgICAgICAgICAgcGFkZGluZzogOXB4IDRweDtcbiAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDIxcHg7XG4gICAgICAgICAgICAmOmhvdmVyLFxuICAgICAgICAgICAgJjpmb2N1cyB7XG4gICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRhY2NlbnQtY29sb3ItMmE7XG4gICAgICAgICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICAgICAgICAgICAgY29sb3I6IHdoaXRlO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuXHRcdH1cblx0fVxufSIsIkBtZWRpYSBzY3JlZW4ge1xuXG5cdC5jb250YWN0cy1tb2R1bGUge1xuXHRcdC8vYmFja2dyb3VuZC1jb2xvcjogI2Y0ZjRmNDtcbiAgICBjb2xvcjogI2ZmZmZmZjtcblx0XHQ+IC5yb3cge1xuICAgICAgICBtYXJnaW4tdG9wOiA0MHB4O1xuXHRcdCAgICBwYWRkaW5nLWJvdHRvbTogMzBweDtcblx0XHQgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICB0b3A6IC0zMHB4O1xuXHRcdCAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlIGRvd24pIHtcblx0XHQgICAgXHRwYWRkaW5nLWxlZnQ6IDE4cHg7XG5cdFx0ICAgIFx0cGFkZGluZy1yaWdodDogMThweDtcblx0XHQgICAgfVxuXHRcdCAgICBAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsIGRvd24pIHtcblx0XHQgICAgXHRwYWRkaW5nLWJvdHRvbTogMTZweDtcblx0XHQgICAgfVxuXG5cdFx0fVxuXHRcdC5jb250YWN0cy1tb2R1bGVfX2NvbnRlbnQge1xuXHRcdFx0YmFja2dyb3VuZC1jb2xvcjogJGFjY2VudC1jb2xvci0yYjtcblx0XHRcdHBhZGRpbmc6IDMwcHg7XG5cdFx0XHRtYXJnaW4tYm90dG9tOiAxOHB4O1xuXHRcdFx0cCB7XG5cdFx0XHRcdGZvbnQtc2l6ZTogMTZweDtcblx0XHRcdFx0bGluZS1oZWlnaHQ6IDI0cHg7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDJyZW07XG5cdFx0XHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UgZG93bikge1xuXHRcdFx0XHRcdGZvbnQtc2l6ZTogMTdweDtcblx0XHRcdFx0XHRsaW5lLWhlaWdodDogMjdweDtcblx0XHRcdFx0fVxuXHRcdFx0XHRAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSBkb3duKSB7XG5cdFx0XHRcdFx0Zm9udC1zaXplOiAxNXB4O1xuXHRcdFx0XHRcdGxpbmUtaGVpZ2h0OiAyMnB4O1xuXHRcdFx0XHR9XG4gICAgICAgIGEge1xuICAgICAgICAgIGNvbG9yOiNmZmZmZmY7XG4gICAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICBjb2xvcjogI2ZmZmZmZjtcblxuICAgICAgICAgIH1cbiAgICAgICAgfVxuXHRcdFx0fVxuICAgICAgcDplbXB0eSB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICB9XG5cdFx0XHRoNCB7XG5cdFx0XHRcdGZvbnQtd2VpZ2h0OiA4MDA7XG5cdFx0XHRcdGZvbnQtc2l6ZTogMjZweDtcblx0XHRcdFx0bGluZS1oZWlnaHQ6IDMwcHg7XG4gICAgICAgIGNvbG9yOiAjZmZmZmZmO1xuXHRcdFx0fVxuICAgICAgLmNvbnRhY3QtbGlzdCB7XG4gICAgICAgIGNvbG9yOiAjZmZmZmZmO1xuICAgICAgICBsaSB7XG4gICAgICAgIFx0bWFyZ2luLWxlZnQ6IDA7XG4gICAgICAgICAgY29sb3I6ICNmZmZmZmY7XG4gICAgICAgICAgYm9yZGVyLWNvbG9yOiAjMDQ0ZjYyO1xuXG4gICAgICAgICAgYSB7XG4gICAgICAgICAgICBjb2xvcjogI2ZmZmZmZjtcbiAgICAgICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgICBjb2xvcjogI2ZmZmZmZjtcbiAgICAgICAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG5cdFx0fVxuXHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgZG93bikge1xuXHRcdFx0Pi5yb3cgPiAuY29sdW1uczpmaXJzdC1jaGlsZCAuY29udGFjdHMtbW9kdWxlX19jb250ZW50IHtcblx0XHRcdFx0Ji5leHBhbmRlZCB7XG5cdFx0XHRcdFx0Ym9yZGVyLXRvcDogNXB4IHNvbGlkICRhY2NlbnQtY29sb3ItMmM7XG5cdFx0XHQgICAgXHRtYXJnaW4tdG9wOiAwO1xuXHRcdFx0XHR9XG5cdFx0XHR9XG5cdFx0XHQuY29udGFjdHMtbW9kdWxlX19jb250ZW50IHtcblx0XHRcdFx0LmpzICYge1xuXHRcdFx0XHRcdHBhZGRpbmc6IDEwcHggMTRweDtcblx0XHRcdFx0ICAgIG1hcmdpbi1ib3R0b206IDA7XG5cdFx0XHRcdCAgICBib3JkZXItd2lkdGg6IDAgMCAxcHggMDtcblx0XHRcdFx0ICAgIGJvcmRlci1zdHlsZTogc29saWQ7XG5cdFx0XHRcdCAgICBib3JkZXItY29sb3I6ICRuZXV0cmFsLWNvbG9yLTQ7XG5cdFx0XHRcdCAgICAmLmV4cGFuZGVkIHtcblx0XHRcdFx0ICAgIFx0Ym9yZGVyLXdpZHRoOiA1cHggMDtcblx0XHRcdFx0ICAgIFx0Ym9yZGVyLWNvbG9yOiAkYWNjZW50LWNvbG9yLTJjO1xuXHRcdFx0XHQgICAgXHRtYXJnaW4tdG9wOiAwcHg7XG4gICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDFweDtcblx0XHRcdFx0ICAgIFx0PiBoNCB7XG5cdFx0XHRcdCAgICBcdFx0JjphZnRlciB7XG5cdFx0XHRcdFx0XHRcdFx0Y29udGVudDogJ1xcZTgwOCc7XG5cdFx0XHRcdFx0XHRcdFx0Y29sb3I6ICNmZmZmZmY7XG5cdFx0XHRcdFx0XHRcdH1cblx0XHRcdFx0XHRcdFx0KyAuY29udGFjdHMtbW9kdWxlX19oaWRkZW4tb24tc21hbGwge1xuXHRcdFx0XHRcdFx0XHRcdG1heC1oZWlnaHQ6IDE1MDBweDtcblx0XHRcdFx0XHRcdFx0fVxuXHRcdFx0XHRcdFx0fVxuXHRcdFx0XHQgICAgfVxuXHRcdFx0XHRcdD4gaDQge1xuXHRcdFx0XHRcdFx0Zm9udC1zaXplOiAyMnB4O1xuICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDI2cHg7XG5cdFx0XHRcdFx0XHRkaXNwbGF5OiBibG9jaztcblx0XHRcdFx0XHRcdHBhZGRpbmctdG9wOiA0cHg7XG5cdFx0XHRcdFx0XHRwYWRkaW5nLXJpZ2h0OiAzMHB4O1xuICAgICAgICAgICAgcGFkZGluZy1ib3R0b206IDVweDtcblx0XHRcdFx0XHRcdHBvc2l0aW9uOiByZWxhdGl2ZTtcblx0XHRcdFx0XHRcdGN1cnNvcjogcG9pbnRlcjtcblx0XHRcdFx0XHRcdCY6YWZ0ZXIge1xuXHRcdFx0XHRcdFx0XHRjb250ZW50OiBcIlxcZTgwOVwiO1xuXHRcdFx0XHRcdFx0XHRmb250LWZhbWlseTogJGljb24tZm9udDtcblx0XHRcdFx0XHRcdFx0cG9zaXRpb246IGFic29sdXRlO1xuXHRcdFx0XHRcdFx0XHRyaWdodDogMDtcblx0XHRcdFx0XHRcdFx0dG9wOiA1MCU7XG5cdFx0XHRcdFx0XHRcdG1hcmdpbi10b3A6IC05cHg7XG5cdFx0XHRcdFx0XHR9XG5cdFx0XHRcdFx0XHQrIC5jb250YWN0cy1tb2R1bGVfX2hpZGRlbi1vbi1zbWFsbCB7XG5cdFx0XHRcdFx0XHRcdG1heC1oZWlnaHQ6IDA7XG5cdFx0XHRcdFx0XHRcdG92ZXJmbG93OiBoaWRkZW47XG5cdFx0XHRcdFx0XHRcdHRyYW5zaXRpb246IG1heC1oZWlnaHQgMC41cyBlYXNlO1xuXHRcdFx0XHRcdFx0fVxuXHRcdFx0XHRcdH1cblx0XHRcdFx0fVxuXHRcdFx0fVxuXHRcdH1cblx0fVxufVxuIiwiLy9CVVRUT05TXG4uYnRuLFxuYS5idG4ge1xuXHRwYWRkaW5nOiAxNXB4IDIwcHg7XG5cdGZvbnQtc2l6ZTogMThweDtcblx0Zm9udC1mYW1pbHk6ICRjdGEtZm9udDtcblx0dGV4dC1kZWNvcmF0aW9uOiBub25lO1xuXHRkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG5cdCYuZGlzcGxheS1ibG9jayB7XG5cdFx0ZGlzcGxheTogYmxvY2s7XG5cdH1cblx0Ji5jZW50ZXJlZCB7XG5cdFx0dGV4dC1hbGlnbjpjZW50ZXI7XG5cdH1cblx0Y29sb3I6IHdoaXRlO1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiAjYWM5MTQ3O1xuXHQmOmhvdmVyLFxuXHQmOmZvY3VzIHtcblx0XHRiYWNrZ3JvdW5kLWNvbG9yOiAkc2Vjb25kYXJ5LWNvbG9yLTI7XG5cdH1cblx0Ji5idG4tLXNtYWxsIHtcblx0XHRmb250LXNpemU6IDE2cHg7XG5cdFx0cGFkZGluZzogMTBweCAxNnB4O1xuXHR9XG5cdCYuYnRuLS13aGl0ZSB7XG5cdFx0Y29sb3I6ICNhYzkxNDc7XG5cdFx0YmFja2dyb3VuZC1jb2xvcjogd2hpdGU7XG5cdFx0Jjpob3Zlcixcblx0XHQmOmZvY3VzIHtcblx0XHRcdGJhY2tncm91bmQtY29sb3I6ICNhYzkxNDc7XG5cdFx0XHRjb2xvcjogd2hpdGU7XG5cdFx0fVxuXHR9XG5cdCYuYnRuLS1kYXJrLXJlZCB7XG5cdFx0YmFja2dyb3VuZC1jb2xvcjogJHByaW1hcnktY29sb3ItMjtcblx0XHRjb2xvcjogd2hpdGU7XG5cdFx0Jjpob3Zlcixcblx0XHQmOmZvY3VzIHtcblx0XHRcdGJhY2tncm91bmQtY29sb3I6ICM1MTBjMWU7XG5cdFx0XHR0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcblx0XHR9XG5cdH1cblx0Ji5idG4tLWFjYWRlbWljLWZpbHRlciB7XG5cdFx0Ym9yZGVyOiAycHggc29saWQgI2IxYjFiMTtcblx0XHRiYWNrZ3JvdW5kLWNvbG9yOiB3aGl0ZTtcblx0XHRjb2xvcjogIzgxNzk2ZiAhaW1wb3J0YW50O1xuXHRcdHdpZHRoOiAxNzBweDtcblx0XHRoZWlnaHQ6IDQ1cHg7XG5cdFx0cGFkZGluZzogMTNweCAxMHB4O1xuXHRcdGZvbnQtc2l6ZTogMTZweDtcblx0XHR0ZXh0LWFsaWduOiBjZW50ZXI7XG5cdFx0bGluZS1oZWlnaHQ6IDE7XG5cdFx0Jjpob3Zlcixcblx0XHQmOmZvY3VzLFxuXHRcdCYuYWN0aXZlIHtcblx0XHRcdGJhY2tncm91bmQtY29sb3I6ICRwcmltYXJ5LWNvbG9yLTM7XG5cdFx0XHR0ZXh0LWRlY29yYXRpb246IG5vbmU7XG5cdFx0XHRib3JkZXI6IDJweCBzb2xpZCAkcHJpbWFyeS1jb2xvci0zO1xuXHRcdFx0Y29sb3I6IHdoaXRlICFpbXBvcnRhbnQ7XG5cdFx0fVxuXHRcdCYuaW5mbyB7XG5cdFx0XHR3aWR0aDogNDVweDtcblx0XHRcdGZvbnQtc2l6ZTogMjZweDtcbiAgICBcdFx0cGFkZGluZzogOHB4IDA7XG5cdFx0XHR0ZXh0LWFsaWduOiBjZW50ZXI7XG5cdFx0XHRwb3NpdGlvbjogcmVsYXRpdmU7XG5cdFx0fVxuXHR9XG5cdCYuYnRuLS1kaXNhYmxlZCB7XG5cdFx0YmFja2dyb3VuZC1jb2xvcjogI2Y0ZjRmNDtcblx0XHRib3JkZXI6IDJweCBzb2xpZCAjZjRmNGY0O1xuXHRcdGNvbG9yOiAjYTlhOGE4ICFpbXBvcnRhbnQ7XG5cdFx0Zm9udC13ZWlnaHQ6IG5vcm1hbDtcblx0XHRjdXJzb3I6IG5vdC1hbGxvd2VkO1xuXHRcdHBvaW50ZXItZXZlbnRzOiBub25lO1xuXHRcdCYuYWN0aXZlIHtcblx0XHRcdGJhY2tncm91bmQtY29sb3I6ICNmNGY0ZjQ7XG5cdFx0XHRib3JkZXI6IDJweCBzb2xpZCAjZjRmNGY0O1xuXHRcdFx0Y29sb3I6ICNhOWE4YTggIWltcG9ydGFudDtcblx0XHR9XG5cdFx0JjpiZWZvcmUge1xuXHRcdFx0Zm9udC1mYW1pbHk6ICRpY29uLWZvbnQ7XG5cdFx0XHRjb250ZW50OiBcIlxcZTgxOVwiO1xuXHRcdFx0cGFkZGluZy1yaWdodDogNXB4O1xuXHRcdH1cblx0XHQmOmhvdmVyLFxuXHRcdCY6Zm9jdXMge1xuXHRcdFx0Y29sb3I6ICNhOWE4YTggIWltcG9ydGFudDtcblx0XHRcdGJhY2tncm91bmQtY29sb3I6ICNmNGY0ZjQgIWltcG9ydGFudDtcblx0XHRcdGJvcmRlcjogMnB4IHNvbGlkICNmNGY0ZjQ7XG5cdFx0fVxuXHR9XG4gICAgJi5idG4tLWlubGluZS0tZ29sZCB7XG4gICAgICAgIGNvbG9yOiAjQTU4RDVCIWltcG9ydGFudDtcbiAgICAgICAgYm9yZGVyLWxlZnQ6IDVweCBzb2xpZCAjQTU4RDVCO1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOnRyYW5zcGFyZW50O1xuICAgICAgICBwYWRkaW5nLXRvcDoxMHB4O1xuICAgICAgICBwYWRkaW5nLWJvdHRvbToxMHB4O1xuICAgICAgICBtYXJnaW4tdG9wOjVweDtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTo1cHg7XG4gICAgICAgICY6aG92ZXIsXG4gICAgICAgICY6Zm9jdXMge1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjojQTU4RDVCO1xuICAgICAgICAgICAgY29sb3I6I2Y0ZjRmNCAhaW1wb3J0YW50O1xuICAgICAgICB9XG4gICAgfVxuICAgICYuYnRuLS1pbmxpbmUtLWRhcmstcmVkIHtcbiAgICAgICAgY29sb3I6ICRwcmltYXJ5LWNvbG9yLTIhaW1wb3J0YW50O1xuICAgICAgICBib3JkZXItbGVmdDogNXB4IHNvbGlkICRwcmltYXJ5LWNvbG9yLTI7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6dHJhbnNwYXJlbnQ7XG4gICAgICAgICY6aG92ZXIsXG4gICAgICAgICY6Zm9jdXMge1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjokcHJpbWFyeS1jb2xvci0yO1xuICAgICAgICAgICAgY29sb3I6I2Y0ZjRmNCAhaW1wb3J0YW50O1xuICAgICAgICB9XG4gICAgfVxuXHQmLmJ0bi0taG9sbG93IHtcblx0XHRiYWNrZ3JvdW5kOnRyYW5zcGFyZW50O1xuXHRcdGJvcmRlcjoycHggc29saWQgd2hpdGU7XG5cdFx0cGFkZGluZzoxM3B4IDE4cHg7IC8vIDJweCBsZXNzIHBhZGRpbmcgaW4gYm90aCBkaXJlY3Rpb25zIHRvIGNvbXBlbnNhdGUgZm9yIGJvcmRlci5cblx0XHRmb250LXdlaWdodDpib2xkO1xuXG5cdFx0Jjpob3ZlciwgJjpmb2N1cyB7XG5cdFx0XHRiYWNrZ3JvdW5kOndoaXRlO1xuXHRcdFx0Y29sb3I6YmxhY2s7XG5cdFx0fVxuXHR9XG59XG5cblxuXG5cbi8vIEJVVFRPTiBXSVRIIEJHIElNQUdFXG4uYmctaW1nLWJ0biB7XG5cdHBvc2l0aW9uOiByZWxhdGl2ZTtcblx0ZGlzcGxheTogYmxvY2s7XG5cdD4gaW1nIHtcblx0XHR3aWR0aDogMTAwJTtcblx0fVxuXHQuY29udGVudCB7XG5cdFx0cG9zaXRpb246IGFic29sdXRlO1xuXHRcdHRvcDogMDtcblx0XHRsZWZ0OiAwO1xuXHRcdHJpZ2h0OiAwO1xuXHRcdGJvdHRvbTogMDtcblx0XHRkaXNwbGF5OiBmbGV4O1xuXHRcdFx0YWxpZ24taXRlbXM6IGNlbnRlcjtcblx0XHRmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuXHRcdFx0anVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG5cdFx0Y29sb3I6IHdoaXRlO1xuXHRcdGZvbnQtc2l6ZTogMjRweDtcblx0XHRsaW5lLWhlaWdodDogMS4yO1xuXHRcdGZvbnQtZmFtaWx5OiAkaGVhZGxpbmUtZm9udDtcblx0XHRmb250LXdlaWdodDogNzAwO1xuXHRcdHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG5cdFx0YmFja2dyb3VuZC1jb2xvcjogcmdiYSgwLDAsMCwwLjMpO1xuXHRcdHRleHQtYWxpZ246IGNlbnRlcjtcblx0XHRwYWRkaW5nLWxlZnQ6IDVweDtcblx0XHRwYWRkaW5nLXJpZ2h0OiA1cHg7XG5cdFx0cCB7XG5cdFx0XHRtYXJnaW4tYm90dG9tOiAwO1xuXHRcdFx0bGluZS1oZWlnaHQ6IDEuMjtcblx0XHR9XG5cdH1cblx0Jjpob3Zlcixcblx0Jjpmb2N1cyB7XG5cdFx0LmNvbnRlbnQge1xuXHRcdFx0YmFja2dyb3VuZC1jb2xvcjogcmdiYSgwLDAsMCwwLjc1KTtcblx0XHR9XG5cdH1cblx0QGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCBkb3duKSB7XG5cdFx0bWF4LWhlaWdodDogOTBweDtcblx0XHRvdmVyZmxvdzogaGlkZGVuO1xuXHRcdG1hcmdpbi10b3A6IDEzcHg7XG5cdFx0LmNvbnRlbnQge1xuXHRcdFx0PiBpbWcge1xuXHRcdFx0XHRkaXNwbGF5OiBub25lO1xuXHRcdFx0fVxuXHRcdH1cblx0fVxufVxuXG5cbi8vRk9MTE9XIFVTXG4uZm9sbG93LXVzIHtcblx0YmFja2dyb3VuZDogIzhjMjMzMiB1cmwoJy4uL2ltYWdlcy9mb2xsb3ctdXMtc3RhbXAucG5nJykgbm8tcmVwZWF0IHNjcm9sbCBjZW50ZXIgY2VudGVyO1xuXHRAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSBkb3duKSB7XG5cdFx0YmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyIGJvdHRvbTtcblx0XHRiYWNrZ3JvdW5kLXNpemU6IDkwJSBhdXRvO1xuXHR9XG5cdHRleHQtYWxpZ246IGNlbnRlcjtcblx0cGFkZGluZy1ib3R0b206IDI0cHg7XG5cdHBhZGRpbmctdG9wOiAyNHB4O1xuXHRmb250LXNpemU6IDE2cHg7XG5cdGgyIHtcblx0XHRmb250LXNpemU6IDMwcHg7XG5cdFx0Zm9udC13ZWlnaHQ6IDcwMDtcblx0XHRjb2xvcjogd2hpdGU7XG5cdFx0Zm9udC1mYW1pbHk6ICRwcmltYXJ5LWZvbnQ7XG5cdH1cblx0LnNvY2lhbC1tZWRpYSB7XG5cdFx0bGkge1xuXHRcdFx0bWFyZ2luLWxlZnQ6IDA7XG5cdFx0XHRhIHtcblx0XHRcdFx0Zm9udC1zaXplOiAzMHB4O1xuXHRcdFx0XHRwYWRkaW5nLWxlZnQ6IDdweDtcblx0XHRcdFx0cGFkZGluZy1yaWdodDogN3B4O1xuXHRcdFx0XHRib3JkZXItcmFkaXVzOiAzMHB4O1xuXHRcdFx0XHQmOmhvdmVyLFxuXHRcdFx0XHQmOmZvY3VzIHtcblx0XHRcdFx0XHRiYWNrZ3JvdW5kLWNvbG9yOiAkcHJpbWFyeS1jb2xvci0xO1xuXHRcdFx0XHRcdHRleHQtZGVjb3JhdGlvbjogbm9uZTtcblx0XHRcdFx0XHRjb2xvcjogd2hpdGU7XG5cdFx0XHRcdH1cblx0XHRcdH1cblx0XHR9XG5cdFx0QG1lZGlhIChtYXgtd2lkdGg6IDM1MHB4KSB7XG5cdFx0XHRqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcblx0XHRcdD4gbGkge1xuXHRcdFx0XHRmbGV4LWJhc2lzOiAyMSU7XG5cdFx0XHR9XG5cdFx0fVxuXHR9XG5cdC5mb2xsb3ctdXNfX3ZpZXctYWxsIHtcblx0XHRmb250LWZhbWlseTogJGN0YS1mb250O1xuXHRcdGZvbnQtc2l6ZTogMTZweDtcblx0XHRjb2xvcjogd2hpdGU7XG5cdFx0ZGlzcGxheTogYmxvY2s7XG5cdFx0dGV4dC1kZWNvcmF0aW9uOiBub25lO1xuXHRcdCY6aG92ZXIsXG5cdFx0Jjpmb2N1cyB7XG5cdFx0XHR0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcblx0XHR9XG5cdFx0QGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gZG93bikge1xuXHRcdFx0bWFyZ2luLXRvcDogMWVtO1xuXHRcdH1cblx0fVxufVxuXG4vL0xJU1QgT0YgRkFDVFNcbnVsLmxpc3Qtb2YtZmFjdHMge1xuICAgIGxpc3Qtc3R5bGU6bm9uZTtcbiAgICBtYXJnaW4tbGVmdDowcHg7XG4gICAgbWFyZ2luLWJvdHRvbTowcHg7XG4gICAgaGVpZ2h0OjEwMCU7XG4gICAgbGkge1xuICAgIFx0bWFyZ2luLWxlZnQ6IDA7XG4gICAgICAgIGhlaWdodDoyNSU7XG4gICAgICAgIGZvbnQtd2VpZ2h0OmJvbGQ7XG4gICAgICAgIGZvbnQtc2l6ZToxLjI1cmVtO1xuICAgICAgICBwYWRkaW5nLXRvcDowLjhyZW07XG4gICAgICAgIHBhZGRpbmctcmlnaHQ6MjRweDtcbiAgICAgICAgcGFkZGluZy1ib3R0b206MC44cmVtO1xuICAgICAgICBwYWRkaW5nLWxlZnQ6MjRweDtcbiAgICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICRuZXV0cmFsLWNvbG9yLTQ7XG5cblx0XHRAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsIGRvd24pIHtcbiAgICAgICAgICAgIGhlaWdodDphdXRvO1xuICAgICAgICB9XG4gICAgICAgIC8vQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIGFuZCAobGFyZ2UgZG93bikge1xuICAgICAgICBAbWVkaWEgKG1pbi13aWR0aDogNzY4cHgpIGFuZCAobWF4LXdpZHRoOiAxMTk5cHgpIHtcbiAgICAgICAgICAgIHBhZGRpbmctdG9wOjAuNnJlbTtcbiAgICAgICAgICAgIHBhZGRpbmctcmlnaHQ6MThweDtcbiAgICAgICAgICAgIHBhZGRpbmctYm90dG9tOjAuNnJlbTtcbiAgICAgICAgICAgIHBhZGRpbmctbGVmdDoxOHB4O1xuICAgICAgICB9XG4gICAgICAgICY6bGFzdC1jaGlsZCB7XG4gICAgICAgICAgICBib3JkZXItYm90dG9tOm5vbmU7XG4gICAgICAgIH1cbiAgICAgICAgJjpmaXJzdC1jaGlsZCB7XG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsIGRvd24pIHtcbiAgICAgICAgICAgICAgICBib3JkZXItdG9wOiAxcHggc29saWQgJG5ldXRyYWwtY29sb3ItNDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgICY6bnRoLWNoaWxkKDIpLCAmOm50aC1jaGlsZCg0KSB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkbmV1dHJhbC1jb2xvci01O1xuICAgICAgICB9XG4gICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6dHJhbnNwYXJlbnQ7XG4gICAgICAgICAgICBoZWlnaHQ6MHB4O1xuICAgICAgICAgICAgd2lkdGg6MHB4O1xuICAgICAgICB9XG4gICAgICAgIHAge1xuICAgICAgICAgICAgZm9udC13ZWlnaHQ6bm9ybWFsO1xuICAgICAgICAgICAgZm9udC1zaXplOjFyZW07XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOjBweDtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuLy8gVFdPLUNPTFVNTiBMSVNUXG51bC50d28tY29sIHtcblx0LW1vei1jb2x1bW4tY291bnQ6IDI7XG5cdC13ZWJraXQtY29sdW1uLWNvdW50OiAyO1xuXHRjb2x1bW4tY291bnQ6IDI7XG5cdGxpIHtcblx0XHQvKiBhdXRvcHJlZml4ZXI6IG9mZiAqL1xuXHRcdC13ZWJraXQtY29sdW1uLWJyZWFrLWluc2lkZTogYXZvaWQ7IC8qIENocm9tZSwgU2FmYXJpICovXG5cdCAgICBwYWdlLWJyZWFrLWluc2lkZTogYXZvaWQ7ICAgICAgICAgICAvKiBUaGVvcmV0aWNhbGx5IEZGIDIwKyAqL1xuXHQgICAgYnJlYWstaW5zaWRlOiBhdm9pZC1jb2x1bW47ICAgICAgICAgLyogSUUgMTEgKi9cblx0fVxufVxuXG5cbi8vIFBBR0lOQVRJT05cbi5wYWdpbmF0aW9uIHtcblx0Zm9udC1mYW1pbHk6ICRoZWFkbGluZS1mb250O1xuXHRmb250LXNpemU6IDE4cHg7XG5cdGZvbnQtd2VpZ2h0OiA3MDA7XG5cdG1hcmdpbi1ib3R0b206IDU2cHg7XG5cdG1hcmdpbi10b3A6IDQzcHg7XG5cdGxpIHtcblx0XHQmOmJlZm9yZSB7XG5cdFx0XHRkaXNwbGF5OiBub25lO1xuXHRcdH1cblx0XHQmLnBhZ2luYXRpb24tcHJldmlvdXMsXG5cdFx0Ji5wYWdpbmF0aW9uLW5leHQge1xuXHRcdFx0cGFkZGluZy10b3A6IDA7XG5cdFx0XHRmb250LXNpemU6IDI2cHg7XG5cdFx0XHRwb3NpdGlvbjogcmVsYXRpdmU7XG5cdFx0XHR0b3A6IC0xNHB4O1xuXHRcdFx0YSB7XG5cdFx0XHRcdGRpc3BsYXk6IGJsb2NrO1xuXHRcdFx0XHR3aWR0aDogNjVweDtcblx0XHRcdFx0aGVpZ2h0OiA2NXB4O1xuXHRcdFx0XHRjb2xvcjogJHNlY29uZGFyeS1jb2xvci01O1xuXHRcdFx0XHRib3JkZXI6IDJweCBzb2xpZCAkbmV1dHJhbC1jb2xvci00O1xuXHRcdFx0XHRwYWRkaW5nOiAwO1xuXHRcdFx0XHRbY2xhc3MqPVwiaWNvbi1kdS1cIl0sXG5cdFx0XHRcdFtjbGFzcyo9XCJkdS1pY29uLVwiXSB7XG5cdFx0XHRcdFx0JjpiZWZvcmUge1xuXHRcdFx0XHRcdFx0bWFyZ2luOiAwO1xuXHRcdFx0XHRcdFx0d2lkdGg6IDY1cHg7XG5cdFx0XHRcdFx0XHRoZWlnaHQ6IDY1cHg7XG5cdFx0XHRcdFx0XHRwb3NpdGlvbjogcmVsYXRpdmU7XG5cdFx0XHRcdFx0XHR0b3A6IDE2cHg7XG5cdFx0XHRcdFx0fVxuXHRcdFx0XHR9XG5cdFx0XHRcdCY6aG92ZXIsXG5cdFx0XHRcdCY6Zm9jdXMge1xuXHRcdFx0XHRcdGJhY2tncm91bmQtY29sb3I6ICRzZWNvbmRhcnktY29sb3ItNTtcblx0XHRcdFx0XHRib3JkZXItY29sb3I6ICRzZWNvbmRhcnktY29sb3ItNTtcblx0XHRcdFx0XHRjb2xvcjogd2hpdGU7XG5cdFx0XHRcdH1cblx0XHRcdH1cblx0XHRcdCYuZGlzYWJsZWQge1xuXHRcdFx0XHRjb2xvcjogI2VjZjBmMztcblx0XHRcdFx0Ym9yZGVyOiAycHggc29saWQgI2VjZjBmMztcblx0XHRcdFx0cGFkZGluZzogMDtcblx0XHRcdFx0W2NsYXNzKj1cImljb24tZHUtXCJdIHtcblx0XHRcdFx0XHQmOmJlZm9yZSB7XG5cdFx0XHRcdFx0XHR3aWR0aDogNjVweDtcblx0XHRcdFx0XHRcdGhlaWdodDogNjVweDtcblx0XHRcdFx0XHRcdG1hcmdpbjogMDtcblx0XHRcdFx0XHRcdHBvc2l0aW9uOiByZWxhdGl2ZTtcblx0XHRcdFx0XHRcdHRvcDogMTZweDtcblx0XHRcdFx0XHR9XG5cdFx0XHRcdH1cblx0XHRcdH1cblx0XHR9XG5cdFx0Ym9yZGVyLWJvdHRvbTogNXB4IHNvbGlkIHRyYW5zcGFyZW50O1xuXHRcdGEge1xuXHRcdFx0Y29sb3I6ICRuZXV0cmFsLWNvbG9yLTI7XG5cdFx0XHR0ZXh0LWRlY29yYXRpb246IG5vbmU7XG5cdFx0XHQmOmhvdmVyLFxuXHRcdFx0Jjpmb2N1cyB7XG5cdFx0XHRcdGNvbG9yOiAkcHJpbWFyeS1jb2xvci0zO1xuXHRcdFx0fVxuXHRcdH1cblx0XHQmLmN1cnJlbnQge1xuXHRcdFx0Ym9yZGVyLWJvdHRvbTogNXB4IHNvbGlkICRwcmltYXJ5LWNvbG9yLTM7XG5cdFx0fVxuXHR9XG59XG5cblxuLy8gQUNDT1JESU9OXG51bC5hY2NvcmRpb24gbGkge1xuXHRtYXJnaW4tbGVmdDogMDtcbn1cbiAuYWNjb3JkaW9uLWl0ZW0sXG4gI21haW4tY29udGVudCAuYWNjb3JkaW9uLWl0ZW0ge1xuXHQmOmJlZm9yZSB7XG5cdFx0ZGlzcGxheTogbm9uZTtcblx0fVxuXHRhLmFjY29yZGlvbi10aXRsZSB7XG5cdFx0YmFja2dyb3VuZC1jb2xvcjogI2UwZGJjZTtcblx0XHRjb2xvcjogJG5ldXRyYWwtY29sb3ItMztcblx0XHRmb250LWZhbWlseTogJGhlYWRsaW5lLWZvbnQ7XG5cdFx0Zm9udC13ZWlnaHQ6IDcwMDtcblx0XHR0ZXh0LWRlY29yYXRpb246IG5vbmU7XG5cdFx0cGFkZGluZy1yaWdodDogNDJweDtcblx0XHQmOmhvdmVyLFxuXHRcdCY6Zm9jdXMge1xuXHRcdFx0dGV4dC1kZWNvcmF0aW9uOiBub25lO1xuXHRcdFx0YmFja2dyb3VuZC1jb2xvcjogI2IwYWE5ZTtcblx0XHRcdGNvbG9yOiB3aGl0ZTtcblx0XHR9XG5cdFx0JjpiZWZvcmUge1xuXHRcdFx0Zm9udC1mYW1pbHk6ICRpY29uLWZvbnQ7XG5cdFx0XHRjb250ZW50OiBcIlxcZTgwOVwiO1xuXHRcdFx0Y29sb3I6IHdoaXRlO1xuXHRcdFx0bWFyZ2luLXRvcDogLTExcHg7XG5cdFx0fVxuXHR9XG5cdCYuaXMtYWN0aXZlIHtcblx0XHRhLmFjY29yZGlvbi10aXRsZSB7XG5cdFx0XHRiYWNrZ3JvdW5kLWNvbG9yOiAjODE3OTZmO1xuXHRcdFx0Y29sb3I6IHdoaXRlO1xuXHRcdFx0JjpiZWZvcmUge1xuXHRcdFx0XHRjb250ZW50OiBcIlxcZTgwOFwiO1xuXHRcdFx0fVxuXHRcdH1cblx0fVxuXHQrIC5hY2NvcmRpb24taXRlbSB7XG5cdFx0bWFyZ2luLXRvcDogMTFweDtcblx0fVxufVxuXG4vLyBMSVNUSU5HIFdJVEggSUNPTi9JTUdcbi5pY29uLWxpc3Qge1xuXHRtYXJnaW4tbGVmdDogMDtcblx0PiBsaSB7XG5cdFx0JjpiZWZvcmUge1xuXHRcdFx0ZGlzcGxheTogbm9uZTtcblx0XHR9XG5cdFx0JjpmaXJzdC1jaGlsZCB7XG5cdFx0XHRib3JkZXItdG9wOiAxcHggc29saWQgJG5ldXRyYWwtY29sb3ItNDtcblx0XHR9XG5cdFx0bWFyZ2luLWxlZnQ6IDA7XG5cdFx0Ym9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICRuZXV0cmFsLWNvbG9yLTQ7XG5cdFx0cGFkZGluZzogMTlweCAxNXB4IDE0cHggMTAwcHg7XG5cdFx0Zm9udC1zaXplOiAxOHB4O1xuXHRcdGNvbG9yOiAkbmV1dHJhbC1jb2xvci0zO1xuXHRcdG92ZXJmbG93OiBhdXRvO1xuXHRcdC5pY29uLWxpc3RfX21lZGlhIHtcblx0XHRcdHdpZHRoOiA2MHB4O1xuXHRcdFx0aGVpZ2h0OiA2MHB4O1xuXHRcdFx0bWFyZ2luLWxlZnQ6IC04NXB4O1xuXHRcdFx0ZmxvYXQ6IGxlZnQ7XG5cdFx0XHRmb250LXNpemU6IDYwcHg7XG5cdFx0XHRsaW5lLWhlaWdodDogNDdweDtcblx0XHRcdHRleHQtYWxpZ246IGNlbnRlcjtcblx0XHRcdHNwYW4ge1xuXHRcdFx0XHQmOmJlZm9yZSB7XG5cdFx0XHRcdFx0bWFyZ2luLWxlZnQ6IDA7XG5cdFx0XHRcdFx0bWFyZ2luLXJpZ2h0OiAwO1xuXHRcdFx0XHRcdHdpZHRoOiBhdXRvO1xuXHRcdFx0XHR9XG5cdFx0XHR9XG5cdFx0fVxuXHRcdHVsIHtcblx0XHRcdG1hcmdpbi1sZWZ0OiAwO1xuXHRcdH1cblx0XHRwIHtcblx0XHRcdG1hcmdpbi1ib3R0b206IDBweDtcblx0XHRcdGxpbmUtaGVpZ2h0OiAyOHB4O1xuXHRcdH1cblx0XHRhIHtcblx0XHRcdGZvbnQtZmFtaWx5OiAkY3RhLWZvbnQ7XG5cdFx0XHR0ZXh0LWRlY29yYXRpb246IG5vbmU7XG5cdFx0XHRmb250LXdlaWdodDogYm9sZDtcblx0XHRcdCYuYnRuIHtcblx0XHRcdFx0cG9zaXRpb246IHJlbGF0aXZlO1xuXHRcdFx0XHQmOmJlZm9yZSB7XG5cdFx0XHRcdFx0Y29udGVudDogXCJcXGU4MDBcIjtcblx0XHRcdFx0XHRjb2xvcjogJG5ldXRyYWwtY29sb3ItNDtcblx0XHRcdFx0XHRmb250LWZhbWlseTogJGljb24tZm9udDtcblx0XHRcdFx0XHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdFx0XHRcdFx0bGVmdDogMnB4O1xuXHRcdFx0XHRcdHRvcDogMTJweDtcblx0XHRcdFx0ICAgIG1hcmdpbi10b3A6IDA7XG5cdFx0XHRcdH1cblx0XHRcdFx0cGFkZGluZzogMTFweCAwIDJweCAyMnB4O1xuXHRcdFx0XHRiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcblx0XHRcdFx0Y29sb3I6ICRhY2NlbnQtY29sb3ItMmM7XG5cdFx0XHRcdCY6aG92ZXIsXG5cdFx0XHRcdCY6Zm9jdXMge1xuXHRcdFx0XHRcdGNvbG9yOiAkYWNjZW50LWNvbG9yLTJiO1xuXHRcdFx0XHR9XG5cdFx0XHR9XG5cdFx0fVxuXHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UgZG93bikge1xuXHRcdFx0Zm9udC1zaXplOiAxNnB4O1xuXHRcdFx0cCB7XG5cdFx0XHRcdGxpbmUtaGVpZ2h0OiAyNnB4O1xuXHRcdFx0fVxuXHRcdH1cblx0XHRAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsIGRvd24pIHtcblx0XHRcdHBhZGRpbmctbGVmdDogNzhweDtcblx0XHRcdGZvbnQtc2l6ZTogMTVweDtcblx0XHRcdC5pY29uLWxpc3RfX21lZGlhIHtcblx0XHRcdFx0bWFyZ2luLWxlZnQ6IC03OHB4O1xuXHRcdFx0fVxuXHRcdFx0cCB7XG5cdFx0XHRcdGxpbmUtaGVpZ2h0OiAyMnB4O1xuXHRcdFx0fVxuXHRcdH1cblx0fVxufVxuXG4vLyBMSVNUIE9GIExJTktTXG4ubGlzdC1vZi1saW5rcyB7XG5cdG1hcmdpbi1sZWZ0OiAwO1xuXHRsaXN0LXN0eWxlLXR5cGU6IG5vbmU7XG5cdD4gbGkge1xuXHRcdCY6YmVmb3JlIHtcblx0XHRcdGRpc3BsYXk6IG5vbmU7XG5cdFx0fVxuXHRcdCY6Zmlyc3QtY2hpbGQge1xuXHRcdFx0bWFyZ2luLXRvcDowO1xuXHRcdH1cblx0XHRtYXJnaW4tdG9wOi0xcHg7IC8qIEhlbHBzIGl0ZW1zIGFsaWduIGluIDIgY29sdW1uIHZlcnNpb24uICovXG5cdFx0bWFyZ2luLWxlZnQ6IDA7XG5cdFx0Ym9yZGVyLXRvcDogMXB4IHNvbGlkICRuZXV0cmFsLWNvbG9yLTQ7XG5cdFx0Ym9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICRuZXV0cmFsLWNvbG9yLTQ7XG5cdFx0cGFkZGluZy10b3A6IDhweDtcblx0XHRwYWRkaW5nLWJvdHRvbTogOHB4O1xuXHRcdGxpbmUtaGVpZ2h0OiAyMXB4O1xuXHRcdGEge1xuXHRcdFx0cGFkZGluZzogMCAxNnB4IDAgNDFweDtcblx0XHRcdHBvc2l0aW9uOiByZWxhdGl2ZTtcblx0XHRcdGRpc3BsYXk6IGJsb2NrO1xuXHRcdFx0Zm9udC1zaXplOiAxOHB4O1xuXHRcdFx0Zm9udC13ZWlnaHQ6IDgwMDtcblx0XHRcdGZvbnQtZmFtaWx5OiAkY3RhLWZvbnQ7XG5cdFx0XHR0ZXh0LWRlY29yYXRpb246IG5vbmU7XG5cdFx0XHQmOmJlZm9yZSB7XG5cdFx0XHRcdGNvbnRlbnQ6IFwiXFxlODAwXCI7XG5cdFx0XHRcdGNvbG9yOiAkbmV1dHJhbC1jb2xvci00O1xuXHRcdFx0XHRmb250LWZhbWlseTogJGljb24tZm9udDtcblx0XHRcdFx0cG9zaXRpb246IGFic29sdXRlO1xuXHRcdFx0XHRsZWZ0OiAxNnB4O1xuXHRcdFx0XHR0b3A6IDUwJTtcblx0XHRcdFx0bWFyZ2luLXRvcDogLTEwcHg7XG5cdFx0XHR9XG5cdFx0fVxuXHRcdHVsIHtcblx0XHRcdG1hcmdpbi1sZWZ0OiA0MXB4O1xuXHRcdFx0cGFkZGluZy1ib3R0b206IDdweDtcblx0XHRcdGxpIGEge1xuXHRcdFx0XHQmOmJlZm9yZSB7XG5cdFx0XHRcdFx0ZGlzcGxheTogbm9uZTtcblx0XHRcdFx0fVxuXHRcdFx0XHRwYWRkaW5nOiAwO1xuXHRcdFx0fVxuXHRcdH1cblx0fVxufVxuXG4vL0xJU1QgT0YgTElOS1MgQUxUIC0gKHVzZWQgb24gSG9tZSlcbi5saXN0LW9mLWxpbmtzLS1hbHQge1xuXHRtYXJnaW4tbGVmdDogMDtcblx0bGkge1xuXHRcdCY6YmVmb3JlIHtcblx0XHRcdGRpc3BsYXk6IG5vbmU7XG5cdFx0fVxuXHRcdG1hcmdpbi1sZWZ0OiAwO1xuXHRcdHRleHQtYWxpZ246bGVmdDtcblx0XHRhIHtcblx0XHRcdHBvc2l0aW9uOiByZWxhdGl2ZTtcblx0XHRcdHotaW5kZXg6IDE7XG5cdFx0XHQmOmJlZm9yZSB7XG5cdFx0XHRcdGNvbnRlbnQ6IFwiXCI7XG5cdFx0XHRcdHRyYW5zaXRpb246IHdpZHRoIC4ycyBlYXNlO1xuXHRcdFx0XHR3aWR0aDogNXB4O1xuXHRcdFx0XHR0b3A6IDA7XG5cdFx0XHRcdGJvdHRvbTogMDtcblx0XHRcdFx0bGVmdDogMDtcblx0XHRcdFx0cG9zaXRpb246IGFic29sdXRlO1xuXHRcdFx0XHRiYWNrZ3JvdW5kLWNvbG9yOiAjYmRhNDc0O1xuXHRcdFx0XHR6LWluZGV4OiAtMTtcblx0XHRcdH1cblx0XHRcdC8vYm9yZGVyLWxlZnQ6IDVweCBzb2xpZCAjYmRhNDc0O1xuXHRcdFx0cGFkZGluZzogMThweCAyMXB4IDIxcHggMjBweDtcblx0XHRcdGNvbG9yOiAjQTU4RDVCO1xuXHRcdFx0ZGlzcGxheTogaW5saW5lLWJsb2NrO1xuXHRcdFx0dGV4dC1kZWNvcmF0aW9uOiBub25lO1xuXHRcdFx0Zm9udC1zaXplOiAyMnB4O1xuXHRcdFx0bGluZS1oZWlnaHQ6IDI1cHg7XG5cdFx0XHRAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSBkb3duKSB7XG5cdFx0XHRcdGZvbnQtc2l6ZTogMThweDtcblx0XHRcdFx0bGluZS1oZWlnaHQ6IDIzcHg7XG5cdFx0XHR9XG5cdFx0XHQmOmhvdmVyLFxuXHRcdFx0Jjpmb2N1cyB7XG5cdFx0XHRcdGNvbG9yOiB3aGl0ZTtcblx0XHRcdFx0Ly9iYWNrZ3JvdW5kLWNvbG9yOiAjYmRhNDc0O1xuXHRcdFx0XHQmOmJlZm9yZSB7XG5cdFx0XHRcdFx0d2lkdGg6IDEwMCU7XG5cdFx0XHRcdFx0cmlnaHQ6IDA7XG5cdFx0XHRcdH1cblx0XHRcdH1cblx0XHR9XG5cdFx0KyBsaSB7XG5cdFx0XHRtYXJnaW4tdG9wOiAyM3B4O1xuXHRcdH1cblx0fVxuXG59XG5cbi8vIExJU1RJTkcgV0lUSCBJQ09OL0lNR1xuLmNvbnRhY3QtbGlzdCB7XG5cdG1hcmdpbi1sZWZ0OiAwO1xuXHRsaSB7XG5cdFx0JjpiZWZvcmUge1xuXHRcdFx0ZGlzcGxheTogbm9uZTtcblx0XHR9XG5cdFx0JjpmaXJzdC1jaGlsZCB7XG5cdFx0XHRib3JkZXItdG9wOiAxcHggc29saWQgJG5ldXRyYWwtY29sb3ItNDtcblx0XHR9XG5cdFx0Ym9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICRuZXV0cmFsLWNvbG9yLTQ7XG5cdFx0cGFkZGluZzogN3B4IDE1cHggNXB4IDU1cHg7XG5cdFx0Zm9udC1zaXplOiAxNnB4O1xuXHRcdGNvbG9yOiAkbmV1dHJhbC1jb2xvci0zO1xuXHRcdG92ZXJmbG93OiBhdXRvO1xuXHRcdC5jb250YWN0LWxpc3RfX21lZGlhIHtcblx0XHRcdHdpZHRoOiAyNXB4O1xuXHRcdFx0aGVpZ2h0OiAyNXB4O1xuXHRcdFx0bWFyZ2luLWxlZnQ6IC00NXB4O1xuXHRcdFx0ZmxvYXQ6IGxlZnQ7XG5cdFx0XHRmb250LXNpemU6IDI0cHg7XG4gICAgbGluZS1oZWlnaHQ6IDI0cHg7XG5cdFx0fVxuXHRcdHAge1xuXHRcdFx0bWFyZ2luLWJvdHRvbTogMHB4O1xuXHRcdFx0bGluZS1oZWlnaHQ6IDI4cHg7XG5cdFx0fVxuXHRcdGEge1xuXHRcdFx0dGV4dC1kZWNvcmF0aW9uOiBub25lO1xuXHRcdH1cblx0XHRAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlIGRvd24pIHtcblx0XHRcdGZvbnQtc2l6ZTogMTZweDtcblx0XHRcdHAge1xuXHRcdFx0XHRsaW5lLWhlaWdodDogMjZweDtcblx0XHRcdH1cblx0XHR9XG5cdFx0QGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCBkb3duKSB7XG5cdFx0XHRwYWRkaW5nLWxlZnQ6IDUwcHg7XG5cdFx0XHRmb250LXNpemU6IDE0cHg7XG5cdFx0XHQuY29udGFjdC1saXN0X19tZWRpYSB7XG5cdFx0XHRcdG1hcmdpbi1sZWZ0OiAtNDhweDtcblx0XHRcdH1cblx0XHRcdHAge1xuXHRcdFx0XHRsaW5lLWhlaWdodDogMjJweDtcblx0XHRcdH1cblx0XHR9XG5cdH1cbn1cblxuLy8gU0hPVy9ISURFIFRPR0dMRVxuLnNob3ctaGlkZS10b2dnbGUge1xuXHRkaXNwbGF5OiBub25lO1xufVxuLmpzIHtcblx0LnNob3ctaGlkZS10b2dnbGUge1xuXHRcdH4gKiB7XG5cdFx0XHRkaXNwbGF5OiBub25lO1xuXHRcdH1cblx0XHRwb3NpdGlvbjogcmVsYXRpdmU7XG5cdFx0bWFyZ2luLXRvcDogLTU0cHg7XG5cdFx0bWFyZ2luLWJvdHRvbTogNDBweDtcblx0XHQmOmJlZm9yZSB7XG5cdFx0XHRjb250ZW50OiBcIlwiO1xuXHRcdFx0cG9zaXRpb246IGFic29sdXRlO1xuXHRcdFx0bGVmdDogMDtcblx0XHRcdHJpZ2h0OiAwO1xuXHRcdFx0Ym90dG9tOiAxcHg7XG5cdFx0XHRoZWlnaHQ6IDcwcHg7XG5cdFx0XHRiYWNrZ3JvdW5kOiAtbW96LWxpbmVhci1ncmFkaWVudCh0b3AsICByZ2JhKDI1NSwyNTUsMjU1LDApIDAlLCByZ2JhKDI1NSwyNTUsMjU1LDAuNjQpIDIxJSwgcmdiYSgyNTUsMjU1LDI1NSwxKSA2MiUsIHJnYmEoMjU1LDI1NSwyNTUsMSkgMTAwJSk7XG5cdFx0XHRiYWNrZ3JvdW5kOiAtd2Via2l0LWxpbmVhci1ncmFkaWVudCh0b3AsICByZ2JhKDI1NSwyNTUsMjU1LDApIDAlLHJnYmEoMjU1LDI1NSwyNTUsMC42NCkgMjElLHJnYmEoMjU1LDI1NSwyNTUsMSkgNjIlLHJnYmEoMjU1LDI1NSwyNTUsMSkgMTAwJSk7XG5cdFx0XHRiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQodG8gYm90dG9tLCAgcmdiYSgyNTUsMjU1LDI1NSwwKSAwJSxyZ2JhKDI1NSwyNTUsMjU1LDAuNjQpIDIxJSxyZ2JhKDI1NSwyNTUsMjU1LDEpIDYyJSxyZ2JhKDI1NSwyNTUsMjU1LDEpIDEwMCUpO1xuXHRcdFx0ZmlsdGVyOiBwcm9naWQ6RFhJbWFnZVRyYW5zZm9ybS5NaWNyb3NvZnQuZ3JhZGllbnQoIHN0YXJ0Q29sb3JzdHI9JyMwMGZmZmZmZicsIGVuZENvbG9yc3RyPScjZmZmZmZmJyxHcmFkaWVudFR5cGU9MCApO1xuXHRcdH1cblx0XHRkaXNwbGF5OiBibG9jaztcblx0XHRhIHtcblx0XHRcdGRpc3BsYXk6IGJsb2NrO1xuXHRcdFx0dGV4dC1kZWNvcmF0aW9uOiBub25lO1xuXHRcdFx0Ym9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICRuZXV0cmFsLWNvbG9yLTQ7XG5cdFx0XHRoZWlnaHQ6IDcwcHg7XG5cdFx0XHRwb3NpdGlvbjogcmVsYXRpdmU7XG5cdFx0XHRbY2xhc3MqPVwiaWNvbi1kdVwiXSxcblx0XHRcdFtjbGFzcyo9XCJkdS1pY29uXCJdIHtcblx0XHRcdFx0cG9zaXRpb246IGFic29sdXRlO1xuXHRcdFx0ICAgIG1hcmdpbi1sZWZ0OiAtMTUuNXB4O1xuXHRcdFx0XHRsZWZ0OiA1MCU7XG5cdFx0XHRcdGJvdHRvbTogLTE0cHg7XG5cdFx0XHRcdCY6YmVmb3JlIHtcblx0XHRcdFx0XHR3aWR0aDogMzBweDtcblx0XHRcdFx0XHRoZWlnaHQ6IDMwcHg7XG5cdFx0XHRcdFx0Ym9yZGVyOiAxcHggc29saWQgJHNlY29uZGFyeS1jb2xvci01O1xuXHRcdFx0XHRcdGJhY2tncm91bmQtY29sb3I6IHdoaXRlO1x0XG5cdFx0XHRcdFx0Y29sb3I6ICM4MTc5NmY7XHRcblx0XHRcdFx0XHRwYWRkaW5nOiAwO1xuXHRcdFx0XHRcdGZvbnQtc2l6ZTogMjNweDtcblx0XHRcdFx0XHRsaW5lLWhlaWdodDogMjdweDtcdFxuXHRcdFx0XHRcdHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMC41cyBlYXNlO1x0XG5cdFx0XHRcdFx0Ym9yZGVyLXJhZGl1czogMTZweDtcblx0XHRcdFx0ICAgIG1hcmdpbi1sZWZ0OiAwO1xuXHRcdFx0XHQgICAgbWFyZ2luLXJpZ2h0OiAwO1xuXHRcdFx0XHR9XG5cdFx0XHR9XG5cdFx0XHQuaWNvbi1kdS1taW51cyxcblx0XHRcdC5kdS1pY29uLW1pbnVzIHtcblx0XHRcdFx0ZGlzcGxheTogbm9uZTtcblx0XHRcdH1cblx0XHRcdCY6aG92ZXIsXG5cdFx0XHQmOmZvY3VzIHtcblx0XHRcdFx0W2NsYXNzKj1cImljb24tZHVcIl0sXG5cdFx0XHRcdFtjbGFzcyo9XCJkdS1pY29uXCJdIHtcblx0XHRcdFx0XHQmOmJlZm9yZSB7XG5cdFx0XHRcdFx0XHRiYWNrZ3JvdW5kLWNvbG9yOiAkc2Vjb25kYXJ5LWNvbG9yLTU7XG5cdFx0XHRcdFx0XHRjb2xvcjogd2hpdGU7XG5cdFx0XHRcdFx0fVxuXHRcdFx0XHR9XG5cdFx0XHR9XG5cdFx0fVxuXHRcdCYuc2hvdy1oaWRlLS1leHBhbmRlZCB7XG5cdFx0XHQmOmJlZm9yZSB7XG5cdFx0XHRcdGRpc3BsYXk6IG5vbmU7XG5cdFx0XHR9XG5cdFx0XHRhIHtcblx0XHRcdFx0Lmljb24tZHUtbWludXMsXG5cdFx0XHRcdC5kdS1pY29uLW1pbnVzIHtcblx0XHRcdFx0XHRkaXNwbGF5OiBibG9jaztcblx0XHRcdFx0fVxuXHRcdFx0XHQuaWNvbi1kdS1wbHVzLFxuXHRcdFx0XHQuZHUtaWNvbi1wbHVzIHtcblx0XHRcdFx0XHRkaXNwbGF5OiBub25lO1xuXHRcdFx0XHR9XG5cdFx0XHR9XG5cdFx0fVxuXHR9XG5cdC5zaG93LWhpZGVfX2NvbnRlbnRzIHtcblx0XHRkaXNwbGF5OiBub25lO1xuXHR9XG59XG5cbi5vcmJpdC1idWxsZXRzIHtcblx0YnV0dG9uIHtcblx0XHRiYWNrZ3JvdW5kLWNvbG9yOiAjYzdjN2M3O1xuXHRcdCYuaXMtYWN0aXZlIHtcblx0XHRcdGJhY2tncm91bmQtY29sb3I6ICRwcmltYXJ5LWNvbG9yLTM7XG5cdFx0fVxuXHRcdCY6aG92ZXIsXG5cdFx0Jjpmb2N1cyB7XG5cdFx0XHRjdXJzb3I6IHBvaW50ZXI7XG5cdFx0fVxuXHR9XG59XG5cblxuLy8gSW5zZXQgVmlkZW9cbi5yZXNwb25zaXZlLWVtYmVkIHtcbiAgICBtYXJnaW4tYm90dG9tOiA1MHB4O1xuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgZG93bikge1xuICAgIFx0bWFyZ2luLWJvdHRvbTogNDBweDtcbiAgICB9XG59XG5cbi8vTG9hZGVyXG4jZHUtbG9hZGVyIHtcblx0ZGlzcGxheTogbm9uZTtcbiAgICBwb3NpdGlvbjogZml4ZWQ7XG4gICAgdG9wOiAwO1xuICAgIGxlZnQ6IDA7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgyMDksIDIwOSwgMjEwLCAuNik7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIGJvdHRvbTogMDtcbiAgICB6LWluZGV4OiAxMDtcblx0PiBzcGFue1xuXHRcdC8qY29udGVudDogJ1xcZTgzMic7XG5cdFx0Zm9udC1mYW1pbHk6ICRpY29uLWZvbnQ7Ki9cblx0XHRmb250LXNpemU6IDMwcHg7XG5cdFx0cG9zaXRpb246IGFic29sdXRlO1xuXHRcdHRvcDogNTAlO1xuXHRcdG1hcmdpbi10b3A6IC0xN3B4O1xuXHRcdG1hcmdpbi1sZWZ0OiAtMTdweDtcblx0XHRjb2xvcjogd2hpdGU7XG5cdH1cbn1cbiIsIkBtZWRpYSBzY3JlZW4ge1xuXHRcblx0LmNvcHktbW9kdWxlIHtcblx0XHRtYXJnaW4tYm90dG9tOiA2OHB4O1xuXHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgZG93bikge1xuXHRcdFx0bWFyZ2luLWJvdHRvbTogNThweDtcblx0XHR9XG5cdFx0Ji5jb3B5LW1vZHVsZS0taW1hZ2UtYWx0IHtcblx0XHRcdD4gLnJvdy5leHBhbmRlZCB7XG5cdFx0XHRcdHBvc2l0aW9uOiByZWxhdGl2ZTtcblx0XHRcdFx0JjpiZWZvcmUge1xuXHRcdFx0XHRcdGNvbnRlbnQ6IFwiXCI7XG5cdFx0XHRcdFx0bGVmdDogMDtcblx0XHRcdFx0XHRyaWdodDogMDtcblx0XHRcdFx0XHR3aWR0aDogMTAwJTtcblx0XHRcdFx0XHRiYWNrZ3JvdW5kLWNvbG9yOiAjZjRmNGY0O1xuXHRcdFx0XHRcdGhlaWdodDogMjUwcHg7XG5cdFx0XHRcdFx0ei1pbmRleDogLTE7XG5cdFx0XHRcdFx0cG9zaXRpb246IGFic29sdXRlO1xuXHRcdFx0XHRcdHRvcDogNTAlO1xuXHRcdFx0XHR9XG5cdFx0XHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIGRvd24pIHtcblx0XHRcdFx0XHQmOmJlZm9yZSB7IFxuXHRcdFx0XHRcdFx0ZGlzcGxheTogbm9uZTtcblx0XHRcdFx0XHR9XG5cdFx0XHRcdFx0PiAuY29sdW1ucyB7XG5cdFx0XHRcdFx0XHRwYWRkaW5nLWxlZnQ6IDA7XG5cdFx0XHRcdFx0XHRwYWRkaW5nLXJpZ2h0OiAwO1xuXHRcdFx0XHRcdFx0PiAucm93IHtcblx0XHRcdFx0XHRcdFx0cGFkZGluZy1sZWZ0OiAwO1xuXHRcdFx0XHRcdFx0XHRwYWRkaW5nLXJpZ2h0OiAwO1xuXHRcdFx0XHRcdFx0fVxuXHRcdFx0XHRcdH1cblx0XHRcdFx0XHQubGFyZ2UtOSB7XG5cdFx0XHRcdFx0XHRwb3NpdGlvbjogcmVsYXRpdmU7XG5cdFx0XHRcdFx0XHRwYWRkaW5nLWxlZnQ6IDA7XG5cdFx0XHRcdFx0XHRwYWRkaW5nLXJpZ2h0OiAwO1xuXHRcdFx0XHRcdFx0JjpiZWZvcmUge1xuXHRcdFx0XHRcdFx0XHRjb250ZW50OiBcIlwiO1xuXHRcdFx0XHRcdFx0XHRsZWZ0OiAwO1xuXHRcdFx0XHRcdFx0XHRyaWdodDogMDtcblx0XHRcdFx0XHRcdFx0d2lkdGg6IDEwMCU7XG5cdFx0XHRcdFx0XHRcdGJhY2tncm91bmQtY29sb3I6ICNmNGY0ZjQ7XG5cdFx0XHRcdFx0XHRcdHotaW5kZXg6IC0xO1xuXHRcdFx0XHRcdFx0XHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdFx0XHRcdFx0XHRcdGhlaWdodDogMTYzcHg7XG5cdFx0XHRcdFx0XHRcdGJvdHRvbTogLTk4cHg7XG5cdFx0XHRcdFx0XHR9XG5cdFx0XHRcdFx0XHRpbWcge1xuXHRcdFx0XHRcdFx0XHR3aWR0aDogMTAwJTtcblx0XHRcdFx0XHRcdFx0cGFkZGluZy1sZWZ0OiA2M3B4O1xuXHRcdFx0XHRcdFx0XHRwYWRkaW5nLXJpZ2h0OiA2M3B4O1xuXHRcdFx0XHRcdFx0fVxuXHRcdFx0XHRcdH1cblx0XHRcdFx0XHQubGFyZ2UtMyB7XG5cdFx0XHRcdFx0XHRwYWRkaW5nLXJpZ2h0OiA0M3B4O1xuXHRcdFx0XHRcdH1cblx0XHRcdFx0fVxuXHRcdFx0XHRAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsIGRvd24pIHtcblx0XHRcdFx0XHQubGFyZ2UtOSB7XG5cdFx0XHRcdFx0XHQmOmJlZm9yZSB7XG5cdFx0XHRcdFx0XHRcdGhlaWdodDogMTIxcHg7XG5cdFx0XHRcdFx0XHRcdGJvdHRvbTogMDtcblx0XHRcdFx0XHRcdH1cblx0XHRcdFx0XHRcdGltZyB7XG5cdFx0XHRcdFx0XHRcdHBhZGRpbmctbGVmdDogMjJweDtcbiAgICBcdFx0XHRcdFx0XHRwYWRkaW5nLXJpZ2h0OiAyMnB4O1xuXHRcdFx0XHRcdFx0fVxuXHRcdFx0XHRcdH1cblx0XHRcdFx0XHQubGFyZ2UtMyB7XG5cdFx0XHRcdFx0XHRwYWRkaW5nLXJpZ2h0OiAyMHB4O1xuXHRcdFx0XHRcdH1cblx0XHRcdFx0fVxuXHRcdFx0fVxuXHRcdH1cblx0XHQmLmNvcHktbW9kdWxlLS1pbWFnZSB7XG5cdFx0XHRtYXJnaW4tdG9wOiA5NXB4O1xuXHRcdFx0bWFyZ2luLWJvdHRvbTogMTQwcHg7XG5cdFx0XHRAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSBkb3duKSB7XG5cdFx0XHRcdG1hcmdpbi10b3A6IDY1cHg7XG5cdFx0XHRcdG1hcmdpbi1ib3R0b206IDEwMHB4O1xuXHRcdFx0fVxuXHRcdFx0QGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCBkb3duKSB7XG5cdFx0XHRcdG1hcmdpbi10b3A6IDA7XG5cdFx0XHRcdG1hcmdpbi1ib3R0b206IDQwcHg7XG5cdFx0XHR9XG5cdFx0XHQ+IC5yb3cuZXhwYW5kZWQge1xuXHRcdFx0XHQuY29udGVudCB7XG5cdFx0XHRcdFx0cG9zaXRpb246IHJlbGF0aXZlO1xuXHRcdFx0XHRcdHRvcDogNTBweDtcblx0XHRcdFx0XHRAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSBkb3duKSB7XG5cdFx0XHRcdFx0XHR0b3A6IC0xMDVweDtcblx0XHRcdFx0XHRcdG1hcmdpbi1ib3R0b206IC0xMDVweDtcblx0XHRcdFx0XHR9XG5cdFx0XHRcdFx0YmFja2dyb3VuZC1jb2xvcjogd2hpdGU7XG5cdFx0XHRcdFx0cGFkZGluZzogMzBweCA2NXB4IDMwcHggNDBweDtcblx0XHRcdFx0XHRtYXJnaW4tYm90dG9tOiA1MHB4O1xuXHRcdFx0XHRcdGZvbnQtc2l6ZTogMThweDtcblx0XHRcdFx0XHRAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSBkb3duKSB7XG5cdFx0XHRcdFx0XHRmb250LXNpemU6IDE2cHg7XG5cdFx0XHRcdFx0fVxuXHRcdFx0XHRcdGgzIHtcblx0XHRcdFx0XHRcdG1hcmdpbi1ib3R0b206IDMwcHg7XG5cdFx0XHRcdFx0XHRwYWRkaW5nLWJvdHRvbTogMzVweDtcblx0XHRcdFx0XHRcdHBvc2l0aW9uOiByZWxhdGl2ZTtcblx0XHRcdFx0XHRcdCY6YWZ0ZXIge1xuXHRcdFx0XHRcdFx0XHRjb250ZW50OiBcIlwiO1xuXHRcdFx0XHRcdFx0XHR3aWR0aDogODVweDtcblx0XHRcdFx0XHRcdFx0cG9zaXRpb246IGFic29sdXRlO1xuXHRcdFx0XHRcdFx0XHRsZWZ0OiAwO1xuXHRcdFx0XHRcdFx0XHRib3R0b206IDA7XG5cdFx0XHRcdFx0XHRcdGhlaWdodDogNnB4O1xuXHRcdFx0XHRcdFx0XHRiYWNrZ3JvdW5kLWNvbG9yOiAkbmV1dHJhbC1jb2xvci0yO1xuXHRcdFx0XHRcdFx0fVxuXHRcdFx0XHRcdH1cblx0XHRcdFx0fVxuXHRcdFx0XHQubGFyZ2UtMyB7XG5cdFx0XHRcdFx0LmNvbnRlbnQge1xuXHRcdFx0XHRcdFx0bGVmdDogLTY2JTtcblx0XHRcdFx0XHRcdHdpZHRoOiAxNjYlO1xuXHRcdFx0XHRcdH1cblx0XHRcdFx0fVxuXHRcdFx0XHQubGFyZ2UtNiB7XG5cdFx0XHRcdFx0LmNvbnRlbnQge1xuXHRcdFx0XHRcdFx0bGVmdDogLTQyJTtcblx0XHRcdFx0XHRcdHdpZHRoOiAxNDIlO1xuXHRcdFx0XHRcdH1cblx0XHRcdFx0fVxuXHRcdFx0XHRAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSBkb3duKSB7XG5cdFx0XHRcdFx0PiAuY29sdW1ucyA+IC5yb3cge1xuXHRcdFx0XHRcdFx0Ly9wYWRkaW5nLWxlZnQ6IDQ3cHg7XG5cdCAgICBcdFx0XHRcdC8vcGFkZGluZy1yaWdodDogNDdweDtcblx0XHRcdFx0XHRcdG1hcmdpbi1sZWZ0OiAwO1xuXHRcdFx0XHRcdFx0bWFyZ2luLXJpZ2h0OiAwO1xuXHRcdFx0XHRcdH1cblx0XHRcdFx0XHQubGFyZ2UtMyxcblx0XHRcdFx0XHQubGFyZ2UtNiB7XG5cdFx0XHRcdFx0XHQuY29udGVudCB7XG5cdFx0XHRcdFx0XHQgICAgbGVmdDogMDtcblx0XHRcdFx0XHRcdCAgICB3aWR0aDogNzUlO1xuXHRcdFx0XHRcdFx0ICAgIGZsb2F0OiByaWdodDtcblx0XHRcdFx0XHRcdCAgICBwYWRkaW5nOiAzMHB4IDE4cHg7XG5cdFx0XHRcdFx0XHQgICAgQGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCBkb3duKSB7XG5cdFx0XHRcdFx0XHRcdFx0d2lkdGg6IDEwMCU7XG5cdFx0XHRcdFx0XHRcdFx0ZmxvYXQ6IG5vbmU7XG5cdFx0XHRcdFx0XHRcdFx0cG9zaXRpb246IHN0YXRpYztcblx0XHRcdFx0XHRcdFx0XHRtYXJnaW4tYm90dG9tOiAwO1xuXHRcdFx0XHRcdFx0ICAgIH1cblx0XHRcdFx0XHRcdH1cblx0XHRcdFx0XHR9XG5cdFx0XHRcdH1cblx0XHRcdFx0QGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCBkb3duKSB7XG5cdFx0XHRcdFx0PiAuY29sdW1ucyB7XG5cdFx0XHRcdFx0XHRwYWRkaW5nLWxlZnQ6IDA7XG5cdFx0XHRcdFx0XHRwYWRkaW5nLXJpZ2h0OiAwO1xuXHRcdFx0XHRcdFx0PiAucm93IHtcblx0XHRcdFx0XHRcdFx0cGFkZGluZy1sZWZ0OiAwO1xuXHRcdFx0XHRcdFx0XHRwYWRkaW5nLXJpZ2h0OiAwO1xuXHRcdFx0XHRcdFx0fVxuXHRcdFx0XHRcdH1cblx0XHRcdFx0XHRpbWcge1xuXHRcdFx0XHRcdFx0d2lkdGg6IDEwMCU7XG5cdFx0XHRcdFx0XHRwYWRkaW5nLWxlZnQ6IDE4cHg7XG5cdFx0XHRcdFx0XHRwYWRkaW5nLXJpZ2h0OiAxOHB4O1xuXHRcdFx0XHRcdH1cblx0XHRcdFx0fVxuXHRcdFx0fVxuXHRcdH1cblx0XHQ+IC5yb3cuZXhwYW5kZWQge1xuXHRcdFx0Jixcblx0XHRcdD4gLmNvbHVtbnMgPiAucm93IHtcblx0XHRcdFx0bWFyZ2luLWxlZnQ6IGF1dG87XG4gICAgXHRcdFx0bWFyZ2luLXJpZ2h0OiBhdXRvO1xuXHRcdFx0fVxuXHRcdH1cblx0XHRAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlIGRvd24pIHtcblx0XHRcdD4gLnJvdy5leHBhbmRlZCB7XG5cdFx0XHRcdD4gLmNvbHVtbnMgPiAucm93IHtcblx0XHRcdFx0XHRwYWRkaW5nLWxlZnQ6IDQ3cHg7XG5cdFx0XHRcdFx0cGFkZGluZy1yaWdodDogNDdweDtcblx0XHRcdFx0XHRAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsIGRvd24pIHtcblx0XHRcdFx0XHRcdHBhZGRpbmctbGVmdDogMThweDtcblx0XHRcdFx0XHRcdHBhZGRpbmctcmlnaHQ6IDE4cHg7XG5cdFx0XHRcdFx0fVxuXHRcdFx0XHR9XG5cdFx0XHR9XG5cdFx0fVxuXHR9XG59IiwiLmN0YS1pbmxpbmUtbW9kdWxlIHtcblx0Ym9yZGVyLWxlZnQ6IDJweCBzb2xpZCAkYWNjZW50LWNvbG9yLTJjO1xuXHRwYWRkaW5nOiAwcHggMHB4IDBweCAxMHB4O1xuXHRtYXJnaW4tYm90dG9tOiAxNXB4O1xuXHQuaW5saW5lLWNvbnRlbnQge1xuXHRcdGg0IHtcblx0XHRcdGZvbnQtc2l6ZTogMjhweDtcblx0XHRcdGZvbnQtd2VpZ2h0OiA2MDA7XG5cdFx0fVxuXHRcdC5idG4ge1xuXHRcdFx0bWFyZ2luLXRvcDogMHB4O1xuXHRcdH1cblx0fVxuXHQuY3RhLWlubGluZSB7XG5cdFx0XHR0ZXh0LWFsaWduOiBsZWZ0O1xuXHRcdFx0Zm9udC1zdHlsZTogaXRhbGljO1xuXHRcdFx0Y29sb3I6ICRhY2NlbnQtY29sb3ItMmM7XG5cdH1cblx0QGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gZG93bikge1xuXHRcdHBhZGRpbmc6IDBweCAwcHggMHB4IDEwcHg7XG5cdFx0bWFyZ2luLWJvdHRvbTogMzBweDtcbiAgICBcdC5pbmxpbmUtY29udGVudCB7XG4gICAgXHRcdGg0IHtcbiAgICBcdFx0XHRmb250LXNpemU6IDI0cHg7XG4gICAgXHRcdH1cblx0XHRcdC5idG4ge1xuXHRcdFx0XHRtYXJnaW4tdG9wOiAwcHg7XG5cdFx0XHR9XG4gICAgXHR9XG5cdH1cblx0QGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCBkb3duKSB7XG5cdFx0cGFkZGluZzogMHB4IDBweCAwcHggMTBweDtcblx0XHRtYXJnaW4tYm90dG9tOiA4NnB4O1xuXHRcdC5pbmxpbmUtY29udGVudCB7XG4gICAgXHRcdGg0IHtcbiAgICBcdFx0XHRmb250LXNpemU6IDI0cHg7XG4gICAgXHRcdH1cblx0XHRcdC5idG4ge1xuXHRcdFx0XHRtYXJnaW4tdG9wOiA1cHg7XG5cdFx0XHR9XG4gICAgXHR9XG5cdH1cbn0iLCIuY3RhLW1vZHVsZSB7XG5cdHBhZGRpbmctYm90dG9tOiA2OHB4O1xuXHRwYWRkaW5nLXRvcDogNjRweDtcblx0bWFyZ2luLWJvdHRvbTogMTQwcHg7XG4gICAgbWFyZ2luLXRvcDogMTIycHg7XG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gZG93bikge1xuICAgIFx0bWFyZ2luLXRvcDogODJweDtcbiAgICBcdG1hcmdpbi1ib3R0b206IDEwMHB4O1xuICAgIH1cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsIGRvd24pIHtcbiAgICBcdG1hcmdpbi10b3A6IDQwcHg7XG4gICAgXHRtYXJnaW4tYm90dG9tOiA3MHB4O1xuICAgIH1cblx0Ji5jdGEtbW9kdWxlLS1sYXJnZSB7XG5cdFx0cGFkZGluZy10b3A6IDEzN3B4O1xuXHRcdHBhZGRpbmctYm90dG9tOiAxNjFweDtcblx0XHRtYXJnaW4tYm90dG9tOiAxMzJweDtcblx0XHQuY29udGVudCB7XG5cdFx0XHR0ZXh0LWFsaWduOiBjZW50ZXI7XG5cdFx0XHRwb3NpdGlvbjogcmVsYXRpdmU7XG5cdFx0XHRwYWRkaW5nOiA0MHB4O1xuXHRcdFx0aDIge1xuXHRcdFx0XHRmb250LXNpemU6IDQycHg7XG5cdFx0XHRcdG1hcmdpbi1ib3R0b206IDE4cHg7XG5cdFx0XHRcdCsgcCB7XG5cdFx0XHRcdFx0cGFkZGluZy10b3A6IDE4cHg7XG4gICAgXHRcdFx0XHRwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgXHRcdFx0XHRtYXJnaW4tYm90dG9tOiAxMHB4O1xuXHRcdFx0XHRcdCY6YWZ0ZXIge1xuXHRcdFx0XHRcdFx0Y29udGVudDogXCJcIjtcblx0XHRcdFx0XHRcdGJhY2tncm91bmQtY29sb3I6IHdoaXRlO1xuXHRcdFx0XHRcdFx0d2lkdGg6IDc4cHg7XG5cdFx0XHRcdFx0XHRoZWlnaHQ6IDZweDtcblx0XHRcdFx0XHRcdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0XHRcdFx0XHRcdGxlZnQ6IDUwJTtcblx0XHRcdFx0XHRcdG1hcmdpbi1sZWZ0OiAtMzlweDtcblx0XHRcdFx0XHRcdHRvcDogLTNweDtcblx0XHRcdFx0XHR9XG5cdFx0XHRcdH1cblx0XHRcdH1cblx0XHRcdC5idG4td3JhcCB7XG5cdFx0XHRcdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0XHRcdFx0Ym90dG9tOiAtMjlweDtcblx0XHRcdCAgICBsZWZ0OiAwO1xuXHRcdFx0ICAgIHJpZ2h0OiAwO1xuXHRcdFx0ICAgIHRvcDogYXV0bztcblx0XHRcdCAgICBtYXJnaW4tdG9wOiAwO1xuXHRcdFx0ICAgIHdpZHRoOiAxMDAlO1xuXHRcdFx0ICAgIC5idG4ge1xuXHRcdFx0ICAgIFx0cGFkZGluZzogMTVweCAyMHB4O1xuXHRcdFx0ICAgIFx0bWluLXdpZHRoOiAxNDFweDtcblx0XHRcdCAgICB9XG5cdFx0XHR9XG5cdFx0fVxuXHR9XG5cdCYtLXJlbW92ZS1idG0tbWFyZ2luIHtcblx0XHRtYXJnaW4tYm90dG9tOiAwICFpbXBvcnRhbnQ7XG5cdH1cblx0Ji0tdGVhbCB7XG5cdFx0LmNvbnRlbnQge1xuXHRcdFx0YmFja2dyb3VuZC1jb2xvcjogJGFjY2VudC1jb2xvci0yYjtcblx0XHR9XG5cdH1cblx0Ji0tcHVycGxlIHtcblx0XHQuY29udGVudCB7XG5cdFx0XHRiYWNrZ3JvdW5kLWNvbG9yOiAkYWNjZW50LWNvbG9yLTFiO1xuXHRcdH1cblx0fVxuXHQmLS1ncmVlbiB7XG5cdFx0LmNvbnRlbnQge1xuXHRcdFx0YmFja2dyb3VuZC1jb2xvcjogJGFjY2VudC1jb2xvci0zYjtcblx0XHR9XG5cdH1cblx0Ji0tZ29sZCB7XG5cdFx0LmNvbnRlbnQge1xuXHRcdFx0YmFja2dyb3VuZC1jb2xvcjogJHNlY29uZGFyeS1jb2xvci0yO1xuXHRcdH1cblx0fVxuXHQmW2NsYXNzKj1cIm92ZXJsYXlcIl0ge1xuXHRcdHBvc2l0aW9uOiByZWxhdGl2ZTtcblx0XHQmOmJlZm9yZSB7XG5cdFx0XHRjb250ZW50OiBcIlwiO1xuXHRcdFx0cG9zaXRpb246IGFic29sdXRlO1xuXHRcdFx0bGVmdDogMDtcblx0XHRcdHJpZ2h0OiAwO1xuXHRcdFx0dG9wOiAwO1xuXHRcdFx0Ym90dG9tOiAwO1xuXHRcdFx0ei1pbmRleDogMDtcblx0XHRcdC8qQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gZG93bikge1xuXHRcdFx0XHRvcGFjaXR5OiAxO1xuXHRcdFx0fSovXG5cdFx0fVxuXHRcdD4gLnJvdyB7XG5cdFx0XHRwb3NpdGlvbjogcmVsYXRpdmU7XG5cdFx0XHR6LWluZGV4OiAxO1xuXHRcdH1cblx0fVxuXHQmLS1vdmVybGF5LWJsYWNrIHtcblx0XHQmOmJlZm9yZSB7XG5cdFx0XHRiYWNrZ3JvdW5kLWNvbG9yOiAkbmV1dHJhbC1jb2xvci0xO1xuXHRcdFx0b3BhY2l0eTogMC41O1xuXHRcdH1cblx0fVxuXHQmLS1vdmVybGF5LXRlYWwge1xuXHRcdCY6YmVmb3JlIHtcblx0XHRcdGJhY2tncm91bmQtY29sb3I6ICRhY2NlbnQtY29sb3ItMmI7XG5cdFx0XHRvcGFjaXR5OiAwLjc1O1xuXHRcdH1cblx0fVxuXHQmLS1vdmVybGF5LXB1cnBsZSB7XG5cdFx0JjpiZWZvcmUge1xuXHRcdFx0YmFja2dyb3VuZC1jb2xvcjogJGFjY2VudC1jb2xvci0xYTtcblx0XHRcdG9wYWNpdHk6IDAuNzU7XG5cdFx0fVxuXHR9XG5cdCYtLW92ZXJsYXktZ3JlZW4ge1xuXHRcdCY6YmVmb3JlIHtcblx0XHRcdGJhY2tncm91bmQtY29sb3I6ICRhY2NlbnQtY29sb3ItM2E7XG5cdFx0XHRvcGFjaXR5OiAwLjc1O1xuXHRcdH1cblx0fVxuXHQmLS1vdmVybGF5LWdvbGQge1xuXHRcdCY6YmVmb3JlIHtcblx0XHRcdGJhY2tncm91bmQtY29sb3I6ICRzZWNvbmRhcnktY29sb3ItMTtcblx0XHRcdG9wYWNpdHk6IDAuNzU7XG5cdFx0fVxuXHR9XG5cdGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG5cdGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlciBjZW50ZXI7XG5cdGJhY2tncm91bmQtc2l6ZTogY292ZXI7XG5cdGNvbG9yOiB3aGl0ZTtcblx0LmNvbnRlbnQge1xuXHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XG5cdFx0XHRwYWRkaW5nOiAwIDIzMHB4IDAgMDtcblx0XHR9XG5cdFx0aDIge1xuXHRcdFx0Y29sb3I6IHdoaXRlO1xuXHRcdFx0Zm9udC1zaXplOiAzNnB4O1xuXHRcdFx0Zm9udC13ZWlnaHQ6IDgwMDtcblx0XHRcdHRleHQtYWxpZ246IGNlbnRlcjtcblx0XHRcdG1hcmdpbi1ib3R0b206IDA7XG5cdFx0XHQrIHAge1xuXHRcdFx0XHRtYXJnaW4tYm90dG9tOiAwO1xuXHRcdFx0fVxuXHRcdH1cblx0XHRwIHtcblx0XHRcdHRleHQtYWxpZ246IGNlbnRlcjtcblx0XHR9XG5cdFx0LmJ0bi13cmFwIHtcblx0XHRcdG1hcmdpbi1ib3R0b206IDA7XG5cdFx0XHRAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xuXHRcdFx0XHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdFx0XHRcdHJpZ2h0OiAwO1xuXHRcdFx0XHR0b3A6IDUwJTtcblx0XHRcdFx0bWFyZ2luLXRvcDogLTIwcHg7XG5cdFx0XHQgICAgd2lkdGg6IDIzMHB4O1xuXHRcdFx0fVxuXHRcdFx0LmJ0biB7XG5cdFx0XHQgICAgZm9udC1zaXplOiAxNnB4O1xuXHRcdFx0XHRkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG5cdFx0XHRcdHBhZGRpbmc6IDEwcHggMjBweDtcblx0XHRcdCAgICBtaW4td2lkdGg6IDE1NXB4O1xuXHRcdFx0fVxuXHRcdH1cblx0fVxuXHQ+IC5yb3cgPiAuY29sdW1ucyA+IC5yb3cge1xuXHRcdGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cdH1cblx0QGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gZG93bikge1xuXHRcdHBhZGRpbmctYm90dG9tOiA1NHB4O1xuXHRcdHBhZGRpbmctdG9wOiA0OXB4O1xuXHRcdCYuY3RhLW1vZHVsZS0tbGFyZ2Uge1xuXHRcdFx0cGFkZGluZy1ib3R0b206IDEzOXB4O1xuXHRcdFx0cGFkZGluZy10b3A6IDExNnB4O1xuXHRcdFx0bWFyZ2luLWJvdHRvbTogOTVweDtcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IDQ5cHg7XG5cdFx0XHQuY29udGVudCB7XG5cdCAgICBcdFx0aDIge1xuXHRcdFx0XHRcdGZvbnQtc2l6ZTogMzhweDtcblx0XHRcdFx0XHRsaW5lLWhlaWdodDogNDJweDtcblx0XHRcdFx0fVxuXHRcdFx0XHQuYnRuIHtcblx0XHRcdFx0XHRtYXJnaW4tdG9wOiAwO1xuXHRcdFx0XHR9XG5cdFx0XHR9XG5cdFx0fVxuXHRcdCYtLW92ZXJsYXktYmxhY2sge1xuICAgIFx0XHQmOmJlZm9yZSB7XG4gICAgXHRcdFx0YmFja2dyb3VuZC1jb2xvcjogJG5ldXRyYWwtY29sb3ItMjtcbiAgICBcdFx0fVxuICAgIFx0fVxuICAgIFx0LmNvbnRlbnQge1xuICAgIFx0XHRoMiB7XG4gICAgXHRcdFx0Zm9udC1zaXplOiAzMHB4O1xuICAgIFx0XHRcdGxpbmUtaGVpZ2h0OiAzNHB4O1xuICAgIFx0XHQgIFx0KyBwIHtcbiAgICBcdFx0XHRcdGZvbnQtc2l6ZTogMTZweDtcbiAgICBcdFx0XHR9XG4gICAgXHRcdH1cbiAgICBcdH1cblx0fVxuXHRAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsIGRvd24pIHtcblx0XHRwYWRkaW5nOiAzMnB4IDE3cHggNDhweDtcblx0XHRtYXJnaW4tYm90dG9tOiA1MnB4O1xuICAgICAgICBtYXJnaW4tdG9wOiAzMHB4O1xuXHRcdCYuY3RhLW1vZHVsZS0tbGFyZ2Uge1xuXHRcdFx0cGFkZGluZzogODFweCAwIDEwM3B4O1xuXHRcdFx0bWFyZ2luLWJvdHRvbTogNjVweDtcbiAgICBcdFx0LmNvbnRlbnQge1xuICAgIFx0XHRcdHBhZGRpbmc6IDIycHg7XG5cdCAgICBcdFx0aDIge1xuXHRcdFx0XHRcdGZvbnQtc2l6ZTogMjhweDtcblx0XHRcdFx0XHRsaW5lLWhlaWdodDogMzJweDtcblx0XHRcdFx0XHQrIHAge1xuXHRcdFx0XHRcdFx0bWFyZ2luLWJvdHRvbTogMzNweDtcblx0XHRcdFx0XHR9XG5cdFx0XHRcdH1cblx0XHRcdH1cblx0XHR9XG5cdFx0LmNvbnRlbnQge1xuICAgIFx0XHRoMiB7XG4gICAgXHRcdFx0Zm9udC1zaXplOiAyNHB4O1xuICAgIFx0XHRcdGxpbmUtaGVpZ2h0OiAyNnB4O1xuICAgIFx0XHQgIFx0KyBwIHtcbiAgICBcdFx0XHRcdGZvbnQtc2l6ZTogMTVweDtcbiAgICBcdFx0XHRcdGxpbmUtaGVpZ2h0OiAyMHB4O1xuICAgIFx0XHRcdH1cbiAgICBcdFx0fVxuXHRcdFx0LmJ0biB7XG5cdFx0XHRcdG1hcmdpbi10b3A6IDE4cHg7XG5cdFx0XHR9XG4gICAgXHR9XG5cdFx0PiAucm93ID4gLmNvbHVtbnMgPiAucm93ID4gLmNvbHVtbnMge1xuXHRcdCAgICBwYWRkaW5nLWxlZnQ6IDA7XG5cdFx0ICAgIHBhZGRpbmctcmlnaHQ6IDA7XG5cdFx0fVxuXHR9XG59IiwiLmRyb3Bkb3duLXZpZGVvLW1vZHVsZV9fY29udGFpbmVyIHtcblx0bWFyZ2luLWJvdHRvbTogMTY0cHg7XG5cdG1hcmdpbi10b3A6IDEyMnB4O1xuXHRAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSBkb3duKSB7XG5cdFx0bWFyZ2luLWJvdHRvbTogMTI0cHg7XG5cdFx0bWFyZ2luLXRvcDogODNweDtcblx0fVxuXHRAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsIGRvd24pIHtcblx0XHRtYXJnaW4tYm90dG9tOiA5NHB4O1xuXHRcdG1hcmdpbi10b3A6IDQwcHg7XG5cdH1cbn1cbi5kcm9wZG93bi12aWRlby1tb2R1bGUge1xuICAgIHBvc2l0aW9uOnJlbGF0aXZlO1xuXHQmX193cmFwcGVyIHtcblx0XHRvdmVyZmxvdzogaGlkZGVuO1xuXHRcdGhlaWdodDogMzgycHg7XG5cdFx0dHJhbnNpdGlvbjogaGVpZ2h0IDFzIGVhc2U7XG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIGRvd24pIHtcbiAgICAgICAgICAgIGhlaWdodDogMzMycHg7XG4gICAgICAgIH1cbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCBkb3duKSB7XG4gICAgICAgICAgICBoZWlnaHQ6IDI0MHB4O1xuICAgICAgICB9XG4gICAgICAgIGltZyB7XG4gICAgICAgICAgICB3aWR0aDoxMDB2dztcbiAgICAgICAgfVxuICAgICAgI2Ryb3Bkb3duVmlkZW8ge1xuICAgICAgICAgIGRpc3BsYXk6bm9uZTtcbiAgICAgICAgICBpZnJhbWUge1xuICAgICAgICAgICAgICB3aWR0aDo2OHZ3O1xuICAgICAgICAgICAgICBoZWlnaHQ6ODB2aDtcbiAgICAgICAgICAgICAgbWFyZ2luLWxlZnQ6MTZ2dztcbiAgICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OjE2dnc7XG4gICAgICAgICAgICAgIGJvcmRlci13aWR0aDowcHg7XG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSBkb3duKSB7XG5cdFx0XHRcdG1hcmdpbi1sZWZ0OjB2dztcbiAgICAgICAgICAgICAgICBtYXJnaW4tcmlnaHQ6MHZ3O1xuICAgICAgICAgICAgICAgIHdpZHRoOjEwMHZ3O1xuXHRcdFx0fVxuICAgICAgICAgIH1cbiAgICAgIH1cblx0fVxuXG5cdC5kcm9wZG93bi12aWRlby1tb2R1bGVfX3RvZ2dsZSB7XG5cdFx0ZGlzcGxheTogbm9uZTtcbiAgICAgICAgcCB7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOjByZW07XG4gICAgICAgIH1cblx0fVxuXHQuanMgJiAuZHJvcGRvd24tdmlkZW8tbW9kdWxlX190b2dnbGUsXG5cdC5qcyAmIC5kcm9wZG93bi12aWRlby1tb2R1bGVfX2Nsb3NlLW1vZGFsIHtcblx0XHRtYXJnaW4tdG9wOiAtMjRweDtcblx0ICAgIG1hcmdpbi1sZWZ0OiAzNSU7XG5cdCAgICB3aWR0aDogMzAlO1xuXHQgICAgZGlzcGxheTogYmxvY2s7XG5cdCAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIHRleHQtYWxpZ246Y2VudGVyO1xuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSBkb3duKSB7XG4gICAgICAgICAgIG1hcmdpbi10b3A6IC00NHB4O1xuXHQgICAgICAgbWFyZ2luLWxlZnQ6IDIwJTtcblx0ICAgICAgIHdpZHRoOiA2MCU7XG4gICAgICAgIH1cbiAgICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDo0MDBweCkge1xuICAgICAgICAgICBtYXJnaW4tdG9wOiAtODRweDtcblxuICAgICAgICB9XG5cdFx0LmRyb3Bkb3duLXZpZGVvLW1vZHVsZV9fdG9nZ2xlX19oaWRlIHtcblx0XHRcdGRpc3BsYXk6IG5vbmU7XG5cdFx0fVxuXHR9XG5cdC5qcyAmLS1hY3RpdmUge1xuXHRcdC5kcm9wZG93bi12aWRlby1tb2R1bGVfX3dyYXBwZXIge1xuXHRcdFx0aGVpZ2h0OiA4MHZoO1xuICAgICAgICAgICAgd2lkdGg6MTAwJTtcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRuZXV0cmFsLWNvbG9yLTI7XG5cdFx0XHRAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSBkb3duKSB7XG5cdFx0XHRcdGhlaWdodDogNDYxcHg7XG5cdFx0XHR9XG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSBkb3duKSB7XG5cdFx0XHRcdGhlaWdodDogNDYxcHg7XG5cdFx0XHR9XG5cdFx0XHQub3JiaXQtcHJldmlvdXMsXG5cdFx0XHQub3JiaXQtbmV4dCB7XG5cdFx0XHRcdGRpc3BsYXk6IGJsb2NrO1xuXHRcdFx0fVxuXHRcdFx0Lm9yYml0LWNhcHRpb24ge1xuXHRcdFx0XHR2aXNpYmlsaXR5OiB2aXNpYmxlO1xuXHRcdFx0XHRvcGFjaXR5OiAxO1xuXHRcdFx0fVx0XG5cdFx0fVxuXHRcdC5kcm9wZG93bi12aWRlby1tb2R1bGVfX3RvZ2dsZSB7XG5cdFx0XHR0ZXh0LWFsaWduOiBjZW50ZXI7XG5cdFx0XHQuZHJvcGRvd24tdmlkZW8tbW9kdWxlX190b2dnbGVfX29wZW4ge1xuXHRcdFx0XHRkaXNwbGF5OiBub25lO1xuXHRcdFx0fVxuXHRcdFx0LmRyb3Bkb3duLXZpZGVvLW1vZHVsZV9fdG9nZ2xlX19oaWRlIHtcblx0XHRcdFx0ZGlzcGxheTogYmxvY2s7XG5cdFx0XHR9XG5cdFx0fVxuXHR9XG59XG5cbkBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgZG93bikge1xuXHQucmV2ZWFsLmRyb3Bkb3duLXZpZGVvLW1vZHVsZV9fbW9kYWwge1xuXHRcdGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuXHRcdHBhZGRpbmctbGVmdDogMDtcblx0XHRwYWRkaW5nLXJpZ2h0OiAwO1xuXHRcdHBhZGRpbmctYm90dG9tOiAwO1xuXHRcdG92ZXJmbG93OiB2aXNpYmxlO1xuXHRcdG1hcmdpbi10b3A6IDE1JTtcblx0XHRoZWlnaHQ6IGF1dG87XG5cdFx0bWluLWhlaWdodDogMDtcblx0XHR3aWR0aDogYXV0bztcblx0XHQmOmZvY3VzIHtcblx0XHRcdGJvcmRlcjogMCBub25lO1xuXHRcdFx0b3V0bGluZTogbm9uZTtcblx0XHR9XG5cdH1cbn0iLCIvKlxuICBDb250YWlucyBzdHlsZXMgc3BlY2lmaWNhbGx5IHRvIHRoZW1lIERydXBhbCBhZG1pbmlzdHJhdGlvbiBlbGVtZW50cy5cbiAqL1xuXG4udG9vbGJhci1tZW51LWFkbWluaXN0cmF0aW9uIHVsIGxpIHtcbiAgbWFyZ2luLWxlZnQ6MDtcbn1cblxuLnRhYnMucHJpbWFyeSB7XG4gIG1hcmdpbi10b3A6MDtcbiAgYmFja2dyb3VuZDojNTU1O1xufVxuLmlzLWhvcml6b250YWwgLnRhYnMucHJpbWFyeSBhIHtcbiAgZGlzcGxheTpibG9jaztcbiAgbGluZS1oZWlnaHQ6MWVtO1xuICBwYWRkaW5nOiA0cHggMjBweDtcbiAgbWFyZ2luOjA7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbn1cbi5pcy1ob3Jpem9udGFsIC50YWJzLnByaW1hcnkgLnRhYnNfX3RhYiB7XG4gIGJvcmRlci1yYWRpdXM6MCAhaW1wb3J0YW50O1xufSIsIi5kdS1uZXdzLWxpc3QtY29udGVudCB7XG4gIC5kdS1uZXdzLnRlYXNlciB7XG4gICAgbWFyZ2luLWJvdHRvbTogNTBweDtcbiAgICAuZHUtbmV3cy1kYXRlIHtcbiAgICAgIGZvbnQtc2l6ZTogMTZweDtcbiAgICB9XG4gICAgLmR1LW5ld3MtdGl0bGUge1xuICAgICAgZm9udC1zaXplOiAyNnB4O1xuICAgIH1cbiAgICAuZHUtbmV3cy1zdW1tYXJ5IHtcbiAgICAgIGhlaWdodDogODVweDtcbiAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgICBwIHtcbiAgICAgICAgZm9udC1zaXplOiAyMnB4O1xuICAgICAgfVxuICAgIH1cblxuICAgIC5kdS1uZXdzLXVybCBhIHtcbiAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICAgIGNvbG9yOiAjMDAwMDAwO1xuICAgIH1cbiAgfVxufVxuIiwiLmV2ZW50LWNhcmQge1xuXG4gIGhlaWdodDoxMDAlO1xuXG4gIGNvbG9yOiAkbmV1dHJhbC1jb2xvci0zO1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOmNvbHVtbjtcbiAganVzdGlmeS1jb250ZW50OmZsZXgtc3RhcnQ7XG5cbiAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcbiAgICBwYWRkaW5nLXJpZ2h0OiAxMHB4O1xuICB9XG4gICY6aG92ZXIsXG4gICY6Zm9jdXMge1xuICAgIGgzIHtcbiAgICAgIGNvbG9yOiAkYWNjZW50LWNvbG9yLTJiO1xuICAgIH1cbiAgICAuYnRuIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICRzZWNvbmRhcnktY29sb3ItMjtcbiAgICB9XG4gIH1cbiAgcCB7XG4gICAgZm9udC1zaXplOiAxNnB4O1xuICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCBkb3duKSB7XG4gICAgICBmb250LXNpemU6IDE1cHg7XG4gICAgfVxuICAgICY6Zmlyc3QtY2hpbGQge1xuICAgICAgZm9udC1zaXplOiAxN3B4O1xuICAgIH1cbiAgICBbY2xhc3MqPVwiaWNvbi1kdVwiXSB7XG4gICAgICBjb2xvcjogJG5ldXRyYWwtY29sb3ItMjtcbiAgICB9XG4gIH1cbiAgaDMge1xuICAgIGZvbnQtc2l6ZTogMjZweDtcbiAgICBsaW5lLWhlaWdodDogMzBweDtcbiAgICBtYXJnaW4tdG9wOiA2cHg7XG4gICAgY29sb3I6ICRuZXV0cmFsLWNvbG9yLTI7XG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCBkb3duKSB7XG4gICAgICBmb250LXNpemU6IDIycHg7XG4gICAgICBsaW5lLWhlaWdodDogMjhweDtcbiAgICB9XG4gIH1cbiAgLmV2ZW50LWxpc3RpbmdfX2RldGFpbHMtYnV0dG9uIHtcbiAgICBtYXJnaW4tdG9wOmF1dG87XG4gIH1cbiAgLmJ0biB7XG4gICAgcGFkZGluZzogNXB4IDIwcHg7XG4gICAgbWFyZ2luLXRvcDoxN3B4O1xuICB9XG4gICYudmlzaWJsZXtcbiAgICB3aWR0aDozMCU7XG4gICAgcGFkZGluZy1yaWdodDoyJTtcbiAgICBoZWlnaHQ6MzAwcHg7XG4gIH1cblxufSIsIi8vIEV2ZW50cyBMaXN0aW5nXG4uZXZlbnRzLWxpc3RpbmdfX3RvcC1maWx0ZXJzIHtcblx0PiAuY29sdW1ucyB7XG5cdFx0Ym9yZGVyLWJvdHRvbTogMnB4IHNvbGlkICRuZXV0cmFsLWNvbG9yLTQ7XG5cdFx0QGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCBkb3duKSB7XG5cdFx0XHQmOmZpcnN0LWNoaWxkIHtcblx0XHRcdFx0Ym9yZGVyLXdpZHRoOiAwO1xuXHRcdFx0XHQrIC5jb2x1bW5zIHtcblx0XHRcdFx0XHRwYWRkaW5nLWJvdHRvbTogMTZweDtcblx0XHRcdFx0fVxuXHRcdFx0fVxuXHRcdH1cblx0fVxuXG5cdC5qcy1mb3JtLWl0ZW0uanMtZm9ybS10eXBlLXNlbGVjdCB7XG5cdFx0d2lkdGg6IDEwMCU7XG5cdH1cblx0aW5wdXRbdHlwZT0nc3VibWl0J10ge1xuXHRcdG1hcmdpbi10b3A6NDBweDtcblx0XHRtYXJnaW4tbGVmdDo4cHg7XG5cdH1cblxuXHQjY2FsZW5kYXItbGlzdCB7XG5cdFx0PiB1bCB7XG5cdFx0XHRsaSB7XG5cdFx0XHRcdG1hcmdpbi1sZWZ0OjBweDtcblx0XHRcdFx0bWFyZ2luLWJvdHRvbToxMnB4O1xuXHRcdFx0XHQmOmJlZm9yZSB7XG5cdFx0XHRcdFx0YmFja2dyb3VuZC1jb2xvcjp0cmFuc3BhcmVudDtcblx0XHRcdFx0XHRjb250ZW50OmluaGVyaXQ7XG5cdFx0XHRcdH1cblx0XHRcdFx0YSB7XG5cdFx0XHRcdFx0Ym9yZGVyOm5vbmU7XG5cdFx0XHRcdFx0Y29sb3I6JGFjY2VudC1jb2xvci0yYztcblx0XHRcdFx0XHR3aWR0aDoyMDBweDtcblx0XHRcdFx0XHR0ZXh0LWFsaWduOmxlZnQ7XG5cdFx0XHRcdFx0cGFkZGluZy1sZWZ0OjRweDtcblx0XHRcdFx0XHQmOmhvdmVyLFxuXHRcdFx0XHRcdCY6Zm9jdXMge1xuXHRcdFx0XHRcdFx0Y29sb3I6JGFjY2VudC1jb2xvci0zYztcblx0XHRcdFx0XHRcdGJhY2tncm91bmQtY29sb3I6dHJhbnNwYXJlbnQ7XG5cdFx0XHRcdFx0fVxuXHRcdFx0XHRcdCY6YmVmb3JlIHtcblx0XHRcdFx0XHRcdGJhY2tncm91bmQtY29sb3I6dHJhbnNwYXJlbnQ7XG5cdFx0XHRcdFx0fVxuXHRcdFx0XHR9XG5cdFx0XHR9XG5cdFx0fVxuXHR9XG5cblx0QGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCBkb3duKSB7XG5cdFx0ZGlzcGxheTogYmxvY2s7XG5cdFx0dGV4dC1hbGlnbjogY2VudGVyO1xuXHR9XG59XG4uZXZlbnRzLWxpc3RpbmdfX2RhdGUtZmlsdGVycyB7XG5cdGgyIHtcblx0XHRmb250LXNpemU6IDM2cHg7XG5cdFx0Zm9udC13ZWlnaHQ6IDgwMDtcblx0XHRAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsIGRvd24pIHtcblx0XHRcdGZvbnQtc2l6ZTogMzBweDtcblx0XHR9XG5cdFx0QGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCBkb3duKSB7XG5cdFx0XHR0ZXh0LWFsaWduOiBjZW50ZXI7XG5cdFx0fVxuXHR9XG5cblx0I21vbnRoLW5hdiB7XG5cdFx0cGFkZGluZy10b3A6MjBweDtcblx0XHRwYWRkaW5nLWJvdHRvbToyMHB4O1xuXHRcdGJvcmRlci1ib3R0b206MTBweCBzb2xpZCAjYTMxZTM5O1xuXHRcdC5tb250aC1yYW5nZXtcblx0XHRcdHBhZGRpbmctdG9wOjIwcHg7XG5cdFx0XHRwYWRkaW5nLWxlZnQ6MjBweDtcblx0XHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIGRvd24pe1xuXHRcdFx0XHRwYWRkaW5nLXRvcDowcHg7XG5cdFx0XHR9XG5cdFx0XHRAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsIGRvd24pe1xuXHRcdFx0XHR3aWR0aDoxMDAlO1xuXHRcdFx0fVxuXHRcdH1cblx0fVxuXG5cdCNieURhdGUge1xuXHRcdHBhZGRpbmctdG9wOjIwcHg7XG5cdFx0cGFkZGluZy1ib3R0b206MjBweDtcblx0XHRib3JkZXItYm90dG9tOm5vbmU7XG5cdFx0cG9zaXRpb246cmVsYXRpdmU7XG5cdFx0aDIge1xuXHRcdFx0ZGlzcGxheTppbmxpbmUtYmxvY2s7XG5cdFx0XHRjb2xvcjojYmViZWJlO1xuXHRcdFx0bWFyZ2luLWxlZnQ6MC41ZW07XG5cdFx0XHRAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSBkb3duKXtcblx0XHRcdFx0bWFyZ2luLWxlZnQ6MHB4O1xuXHRcdFx0XHRkaXNwbGF5OmJsb2NrO1xuXHRcdFx0fVxuXHRcdH1cblx0XHQ+LmNvbHVtbnMgPi5jb2x1bW5zPiBpbWFnZSB7XG5cdFx0XHR2ZXJ0aWNhbC1hbGlnbjp0b3A7XG5cdFx0fVxuXHRcdC5oYXNEYXRlcGlja2VyIHtcblx0XHRcdHBvc2l0aW9uOmFic29sdXRlO1xuXHRcdFx0ei1pbmRleDoxO1xuXHRcdFx0JiNkYXRlcGlja2VyLWVuZCB7XG5cdFx0XHRcdHJpZ2h0OjBweDtcblx0XHRcdH1cblx0XHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgZG93bil7XG5cdFx0XHRcdG1heC13aWR0aDo5MnZ3O1xuXHRcdFx0fVxuXHRcdFx0YS51aS1kYXRlcGlja2VyLXByZXYsIGEudWktZGF0ZXBpY2tlci1uZXh0IHtcblx0XHRcdFx0YmFja2dyb3VuZC1jb2xvcjojZmZmO1xuXHRcdFx0XHR3aWR0aDo1NXB4O1xuXHRcdFx0XHRkaXNwbGF5Om5vbmU7XG5cblx0XHRcdH1cblx0XHRcdC51aS1kYXRlcGlja2VyLXRpdGxlIHtcblx0XHRcdFx0YmFja2dyb3VuZC1jb2xvcjojZmZmO1xuXHRcdFx0XHRib3JkZXI6MXB4IHNvbGlkICNhMzFlMzk7XG5cdFx0XHRcdHBhZGRpbmctdG9wOjVweDtcblx0XHRcdFx0LnVpLWRhdGVwaWNrZXItbW9udGh7XG5cdFx0XHRcdFx0ZGlzcGxheTppbmxpbmUtYmxvY2s7XG5cdFx0XHRcdFx0d2lkdGg6NzAlO1xuXHRcdFx0XHRcdHBhZGRpbmctcmlnaHQ6MTBweDtcblx0XHRcdFx0fVxuXHRcdFx0XHQudWktZGF0ZXBpY2tlci15ZWFye1xuXHRcdFx0XHRcdGRpc3BsYXk6aW5saW5lLWJsb2NrO1xuXHRcdFx0XHRcdGZvbnQtc2l6ZTogMS4yZW07XG5cdFx0XHRcdH1cblx0XHRcdH1cblx0XHRcdHRhYmxlLnVpLWRhdGVwaWNrZXItY2FsZW5kYXIge1xuXHRcdFx0XHRAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsIGRvd24pe1xuXHRcdFx0XHRcdHdpZHRoOjkwdnc7XG5cdFx0XHRcdFx0ZGlzcGxheTpibG9jaztcblx0XHRcdFx0XHQ+dGhlYWQge1xuXHRcdFx0XHRcdFx0d2lkdGg6OTB2dztcblx0XHRcdFx0XHRcdGRpc3BsYXk6YmxvY2s7XG5cdFx0XHRcdFx0XHQ+dHIge1xuXHRcdFx0XHRcdFx0XHR3aWR0aDo5MHZ3O1xuXHRcdFx0XHRcdFx0XHRkaXNwbGF5OmJsb2NrO1xuXHRcdFx0XHRcdFx0XHQ+dGh7XG5cdFx0XHRcdFx0XHRcdFx0d2lkdGg6MTIuODU3dnc7XG5cdFx0XHRcdFx0XHRcdFx0cGFkZGluZzowLjVyZW07XG5cdFx0XHRcdFx0XHRcdH1cblx0XHRcdFx0XHRcdH1cblx0XHRcdFx0XHR9XG5cdFx0XHRcdH1cblx0XHRcdFx0dGJvZHkge1xuXHRcdFx0XHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgZG93bil7XG5cdFx0XHRcdFx0XHR3aWR0aDo5MHZ3O1xuXHRcdFx0XHRcdFx0ZGlzcGxheTpibG9jaztcblx0XHRcdFx0XHRcdD50cntcblx0XHRcdFx0XHRcdFx0PnRkIHtcblx0XHRcdFx0XHRcdFx0XHRmb250LXNpemU6MTJweDtcblx0XHRcdFx0XHRcdFx0XHR3aWR0aDogMTIuODU3dnc7XG5cdFx0XHRcdFx0XHRcdFx0cGFkZGluZzowLjVyZW07XG5cdFx0XHRcdFx0XHRcdFx0YSB7XG5cdFx0XHRcdFx0XHRcdFx0XHR3aWR0aDphdXRvO1xuXHRcdFx0XHRcdFx0XHRcdFx0aGVpZ2h0OiBhdXRvO1xuXHRcdFx0XHRcdFx0XHRcdFx0Ym9yZGVyOm5vbmU7XG5cdFx0XHRcdFx0XHRcdFx0fVxuXHRcdFx0XHRcdFx0XHR9XG5cdFx0XHRcdFx0XHR9XG5cdFx0XHRcdFx0fVxuXHRcdFx0XHRcdHRoZWFkIHRoIHtcblx0XHRcdFx0XHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgZG93bil7XG5cdFx0XHRcdFx0XHRcdGZvbnQtc2l6ZToxMnB4O1xuXHRcdFx0XHRcdFx0fVxuXHRcdFx0XHRcdFx0dGQge1xuXHRcdFx0XHRcdFx0XHRwYWRkaW5nOiAwLjAxcmVtO1xuXHRcdFx0XHRcdFx0fVxuXHRcdFx0XHRcdH1cblx0XHRcdFx0fVxuXG5cdFx0XHR9XG5cdFx0fVxuXHR9XG5cblx0YSB7XG5cdFx0Y29sb3I6ICRzZWNvbmRhcnktY29sb3ItNTtcblx0XHRkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG5cdFx0d2lkdGg6IDQwcHg7XG5cdFx0aGVpZ2h0OiA0MHB4O1xuXHRcdGJvcmRlcjogMnB4IHNvbGlkICRuZXV0cmFsLWNvbG9yLTQ7XG5cdFx0dGV4dC1hbGlnbjogY2VudGVyO1xuXHRcdFtjbGFzcyo9XCJpY29uLWR1XCJdIHtcblx0XHRcdGZvbnQtc2l6ZTogMjNweDtcblx0XHRcdCY6YmVmb3JlIHtcblx0XHRcdFx0bWFyZ2luOiAwO1xuXHRcdFx0XHR3aWR0aDogYXV0bztcblx0XHRcdFx0aGVpZ2h0OiBhdXRvO1xuXHRcdFx0fVxuXHRcdH1cblx0XHQmOmhvdmVyLFxuXHRcdCY6Zm9jdXMge1xuXHRcdFx0YmFja2dyb3VuZC1jb2xvcjogJHNlY29uZGFyeS1jb2xvci01O1xuXHRcdFx0Ym9yZGVyLWNvbG9yOiAkc2Vjb25kYXJ5LWNvbG9yLTU7XG5cdFx0XHRjb2xvcjogd2hpdGU7XG5cdFx0fVxuXHR9XG59XG5cbi5ldmVudHMtbGlzdGluZ19faXRlbXMge1xuXHRwYWRkaW5nLXRvcDogMzlweDtcblx0bWFyZ2luLWJvdHRvbTogNjVweDtcbiAgICBwYWRkaW5nLWxlZnQ6MHB4O1xuICAgIHBhZGRpbmctcmlnaHQ6MHB4O1xuXHQvKi5qcyAmID4gLmNvbHVtbnM6bnRoLWNoaWxkKDFuKzcpIC5ldmVudHMtbGlzdGluZ19faXRlbSB7XG5cdFx0ZGlzcGxheTogbm9uZTtcblx0fSovXG5cdEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XG5cdFx0PiAuY29sdW1ucyB7XG4gICAgXHRcdHBhZGRpbmctcmlnaHQ6IDI2cHg7XG5cdFx0fVxuXHR9XG5cblx0LmV2ZW50cy1saXN0aW5nX19pdGVtIHtcblx0XHRAaW5jbHVkZSBncmlkLWNvbCgzKTtcblx0XHRAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSBkb3duKSB7XG5cdFx0XHRAaW5jbHVkZSBncmlkLWNvbCg0KTtcblx0XHR9XG5cdFx0QGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCBkb3duKSB7XG5cdFx0XHRAaW5jbHVkZSBncmlkLWNvbCg2KTtcblx0XHR9XG5cblx0XHRtYXJnaW4tYm90dG9tOiA0NXB4O1xuXHR9XG5cbn1cblxuLy9GZWF0dXJlZCBFdmVudHMgTW9kdWxlXG4uZmVhdHVyZWQtZXZlbnRzLW1vZHVsZSB7XG5cdG1hcmdpbi1ib3R0b206IDE0MHB4O1xuXHRwb3NpdGlvbjogcmVsYXRpdmU7XG5cdCY6YmVmb3JlIHtcblx0XHRjb250ZW50OiBcIlwiO1xuXHRcdGxlZnQ6IDA7XG5cdFx0cmlnaHQ6IDA7XG5cdFx0d2lkdGg6IDEwMCU7XG5cdFx0YmFja2dyb3VuZC1jb2xvcjogI2Y0ZjRmNDtcblx0XHR6LWluZGV4OiAtMTtcblx0XHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdFx0Ym90dG9tOiAwO1xuXHRcdHRvcDogMTExcHg7XG5cdH1cblx0LmZlYXR1cmVkLWV2ZW50c19fY2FsZW5kYXItbGluayB7XG5cdFx0bWFyZ2luLWJvdHRvbTogLTdweDtcblx0XHRAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xuXHRcdFx0dGV4dC1hbGlnbjogcmlnaHQ7XG5cdFx0fVxuXHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIGRvd24pIHtcblx0XHRcdG1hcmdpbi1ib3R0b206IDE1cHg7XG5cdFx0fVxuXHRcdGEge1xuXHRcdFx0Zm9udC13ZWlnaHQ6IGJvbGQ7XG5cdFx0XHR0ZXh0LWRlY29yYXRpb246IG5vbmU7XG5cdFx0XHRwYWRkaW5nLWxlZnQ6IDIwcHg7XG5cdFx0fVxuXHR9XG5cdC5vcmJpdC1uZXh0LFxuXHQub3JiaXQtcHJldmlvdXMge1xuXHRcdGNvbG9yOiAjODE3OTZmO1xuXHRcdGZvbnQtc2l6ZTogMzFweDtcblx0XHRtYXJnaW4tdG9wOiAtMzNweDtcblx0XHR0cmFuc2l0aW9uOiBjb2xvciAuM3MgZWFzZTtcblx0XHR6LWluZGV4OiAyO1xuXHRcdCY6aG92ZXIsXG5cdFx0Jjpmb2N1cyB7XG5cdFx0XHRjb2xvcjogJHNlY29uZGFyeS1jb2xvci0zO1xuXHRcdFx0YmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG5cdFx0XHRjdXJzb3I6IHBvaW50ZXI7XG5cdFx0fVxuXHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgZG93bikge1xuXHRcdFx0ZGlzcGxheTogbm9uZTtcblx0XHR9XG5cdH1cblx0Lm9yYml0LXByZXZpb3VzIHtcblx0XHRsZWZ0OiAtNDJweDtcblx0fVxuXHQub3JiaXQtbmV4dCB7XG5cdFx0cmlnaHQ6IC00MnB4O1xuXHR9XG5cdC5vcmJpdC1idWxsZXRzIHtcblx0XHRtYXJnaW4tYm90dG9tOiAyNnB4O1xuXHRcdG1hcmdpbi10b3A6IDA7XG5cdH1cblx0QGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcblx0XHRtYXJnaW4tYm90dG9tOiAxMDBweDtcblx0XHQ+IC5yb3cge1xuXHRcdFx0bWF4LXdpZHRoOiAxMjcwcHg7XG5cdFx0XHRvdmVyZmxvdzogaGlkZGVuO1xuXHRcdFx0XG5cdFx0XHQ+IC5jb2x1bW5zIHtcblx0XHRcdFx0cGFkZGluZy1yaWdodDogNDJweDtcblx0XHRcdFx0cGFkZGluZy1sZWZ0OiA0NHB4O1xuXHRcdFx0fVxuXHRcdH1cblx0XHQub3JiaXQtY29udGFpbmVyIHtcblx0XHRcdG92ZXJmbG93OiB2aXNpYmxlO1xuXHRcdH1cblx0fVxuXHRAbWVkaWEgKG1pbi13aWR0aDogNzY4cHgpIGFuZCAobWF4LXdpZHRoOiAxMTk5cHgpIHtcblx0XHQ+IC5yb3cge1xuXHRcdFx0bWF4LXdpZHRoOiA5NiU7XG5cdFx0fVxuXHR9XG5cdC5vcmJpdC1zbGlkZSB7XG5cdFx0aW1nIHtcblx0XHRcdHdpZHRoOiAxMDAlO1xuXHRcdFx0aGVpZ2h0OiBhdXRvO1xuXHRcdH1cblx0XHQuZmVhdHVyZWQtZXZlbnRzX19jb250ZW50IHtcblx0XHRcdGJhY2tncm91bmQtY29sb3I6IHdoaXRlO1xuXHRcdFx0bWFyZ2luOiAyM3B4IDAgMzVweCAtNDBweDtcblx0XHRcdHBhZGRpbmc6IDM2cHggNDBweCA2MHB4O1xuXHRcdFx0QGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gZG93bikge1xuXHRcdFx0XHRtYXJnaW4tdG9wOiAtODdweDtcblx0XHRcdFx0bWFyZ2luLWxlZnQ6IDcycHg7XG5cdFx0XHR9XG5cdFx0XHRAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsIGRvd24pIHtcblx0XHRcdFx0bWFyZ2luLWxlZnQ6IDA7XG5cdFx0XHRcdG1hcmdpbi10b3A6IDA7XG5cdFx0XHRcdHBhZGRpbmc6IDIzcHggMjBweCA1MXB4O1xuXHRcdFx0fVxuXHRcdFx0cG9zaXRpb246IHJlbGF0aXZlO1xuXHRcdFx0LmZlYXR1cmVkLWV2ZW50c19fZGF0ZSB7XG5cdFx0XHRcdGZvbnQtc2l6ZTogMjRweDtcblx0XHRcdFx0bWFyZ2luLWJvdHRvbTogMDtcblx0XHRcdFx0KyBoNCB7XG5cdFx0XHRcdFx0bWFyZ2luLXRvcDogNXB4O1xuXHRcdFx0XHR9XG5cdFx0XHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgZG93bikge1xuXHRcdFx0XHRcdGZvbnQtc2l6ZTogMTdweDtcblx0XHRcdFx0fVxuXHRcdFx0fVxuXHRcdFx0aDQge1xuXHRcdFx0XHRmb250LXNpemU6IDI2cHg7XG5cdFx0XHRcdGxpbmUtaGVpZ2h0OiAzMHB4O1xuXHRcdFx0XHRmb250LXdlaWdodDogODAwO1xuXHRcdFx0XHRtYXJnaW4tYm90dG9tOiAxNnB4O1xuXHRcdFx0XHRAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsIGRvd24pIHtcblx0XHRcdFx0XHRmb250LXNpemU6IDIycHg7XG5cdFx0XHRcdFx0bGluZS1oZWlnaHQ6IDI4cHg7XG5cdFx0XHRcdFx0KyBwIHtcblx0XHRcdFx0XHRcdGRpc3BsYXk6IG5vbmU7XG5cdFx0XHRcdFx0fVxuXHRcdFx0XHR9XG5cdFx0XHR9XG5cdFx0XHQuZmVhdHVyZWQtZXZlbnRzX19kZXRhaWxzIHtcblx0XHRcdFx0bWFyZ2luLWxlZnQ6IC00cHg7XG5cdFx0XHRcdGxpIHtcblx0XHRcdFx0XHQmOmJlZm9yZSB7XG5cdFx0XHRcdFx0XHRkaXNwbGF5OiBub25lO1xuXHRcdFx0XHRcdH1cblx0XHRcdFx0XHRsaXN0LXN0eWxlLXR5cGU6IG5vbmU7XG5cdFx0XHRcdFx0cGFkZGluZy1sZWZ0OiAwO1xuXHRcdFx0XHRcdG1hcmdpbi1sZWZ0OiAwO1xuXHRcdFx0XHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgZG93bikge1xuXHRcdFx0XHRcdFx0Zm9udC1zaXplOiAxNXB4O1xuXHRcdFx0XHRcdFx0bGluZS1oZWlnaHQ6IDIycHg7XG5cdFx0XHRcdFx0fVxuXHRcdFx0XHR9XG5cdFx0XHR9XG5cdFx0XHQuYnRuLXdyYXAge1xuXHRcdFx0XHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdFx0XHRcdHdpZHRoOiAxMDAlO1xuXHRcdFx0XHRib3R0b206IC0yNHB4O1xuXHRcdFx0XHRtYXJnaW4tYm90dG9tOiAwO1xuXHRcdFx0XHRtYXJnaW4tbGVmdDogLTQwcHg7XG5cdFx0XHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgZG93bikge1xuXHRcdFx0XHRcdG1hcmdpbi1sZWZ0OiAtMjBweDtcblx0XHRcdFx0fVxuXHRcdFx0XHR0ZXh0LWFsaWduOiBjZW50ZXI7XG5cdFx0XHRcdC5idG4ge1xuXHRcdFx0XHRcdG1pbi13aWR0aDogMTU2cHg7XG5cdFx0XHRcdFx0cGFkZGluZy10b3A6IDExcHg7XG5cdFx0XHRcdFx0cGFkZGluZy1ib3R0b206IDExcHg7XG5cdFx0XHRcdFx0Zm9udC1zaXplOiAxOHB4O1xuXHRcdFx0XHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIGRvd24pIHtcblx0XHRcdFx0XHRcdGZvbnQtc2l6ZTogMTdweDtcblx0XHRcdFx0XHR9XG5cdFx0XHRcdFx0QGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCBkb3duKSB7XG5cdFx0XHRcdFx0XHRtaW4td2lkdGg6IDEyMHB4O1xuXHRcdFx0XHRcdFx0Zm9udC1zaXplOiAxNnB4O1xuXHRcdFx0XHRcdFx0cGFkZGluZy10b3A6IDZweDtcblx0XHRcdFx0XHRcdHBhZGRpbmctYm90dG9tOiA2cHg7XG5cdFx0XHRcdFx0fVxuXHRcdFx0XHR9XG5cdFx0XHR9XG5cdFx0fVxuXHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgZG93bikge1xuXHRcdFx0PiAucm93IHtcblx0XHRcdFx0bWFyZ2luLWxlZnQ6IDA7XG5cdFx0XHRcdG1hcmdpbi1yaWdodDogMDtcblx0XHRcdFx0PiAuY29sdW1ucyB7XG5cdFx0XHRcdFx0cGFkZGluZy1sZWZ0OiAwO1xuXHRcdFx0XHRcdHBhZGRpbmctcmlnaHQ6IDA7XG5cdFx0XHRcdH1cblx0XHRcdH1cblx0XHR9XG5cdH1cblx0QGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCBkb3duKSB7XG5cdFx0bWFyZ2luLWJvdHRvbTogNzBweDtcblx0XHQ+IC5yb3cgeyBcblx0XHRcdG1hcmdpbi1sZWZ0OiAwO1xuXHRcdFx0bWFyZ2luLXJpZ2h0OiAwO1xuXHRcdFx0PiAuY29sdW1ucyB7XG5cdFx0XHRcdHBhZGRpbmctbGVmdDogMDtcblx0XHRcdFx0cGFkZGluZy1yaWdodDogMDtcblx0XHRcdH1cblx0XHR9XG5cdH1cbn1cblxuXG4vLyBFdmVudCBEZXRhaWxzXG4uZXZlbnRfX2RldGFpbHMge1xuXHRmb250LXNpemU6IDIwcHg7XG5cdGNvbG9yOiAkbmV1dHJhbC1jb2xvci0yO1xuXHRmb250LXdlaWdodDogNjAwO1xuXHRtYXJnaW4tYm90dG9tOiAyMnB4O1xuXHRwIHtcblx0XHRtYXJnaW4tYm90dG9tOiA2cHg7XG5cdH1cbn1cbi51dGlsaXR5LXBhZ2Uge1xuXHRhc2lkZSB7XG5cdFx0bWFyZ2luLXRvcDogOXB4O1xuXHRcdGEgKyBhIHtcblx0XHRcdG1hcmdpbi1sZWZ0OiA1cHg7XG5cdFx0fVxuXHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIGRvd24pIHtcblx0XHRcdG1hcmdpbi10b3A6IDFlbTtcblx0XHR9XG5cdH1cbn1cblxuXG4jZXZlbnRzLWxpc3RpbmdfX3Nob3ctbW9yZSB7XG5cdGEge1xuXHRcdGRpc3BsYXk6IGJsb2NrO1xuXHRcdHRleHQtZGVjb3JhdGlvbjogbm9uZTtcblx0XHRib3JkZXItYm90dG9tOiAxcHggc29saWQgJG5ldXRyYWwtY29sb3ItNDtcblx0XHRwb3NpdGlvbjogcmVsYXRpdmU7XG5cdFx0aGVpZ2h0OiAxNXB4O1xuXHRcdFtjbGFzcyo9XCJpY29uLWR1XCJdIHtcblx0XHRcdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0XHQgICAgbWFyZ2luLWxlZnQ6IC0xNS41cHg7XG5cdFx0XHRsZWZ0OiA1MCU7XG5cdFx0XHRib3R0b206IC0xNHB4O1xuXHRcdFx0JjpiZWZvcmUge1xuXHRcdFx0XHR3aWR0aDogMzBweDtcblx0XHRcdFx0aGVpZ2h0OiAzMHB4O1xuXHRcdFx0XHRib3JkZXI6IDFweCBzb2xpZCAkc2Vjb25kYXJ5LWNvbG9yLTU7XG5cdFx0XHRcdGJhY2tncm91bmQtY29sb3I6IHdoaXRlO1x0XG5cdFx0XHRcdGNvbG9yOiAjODE3OTZmO1x0XG5cdFx0XHRcdHBhZGRpbmc6IDA7XG5cdFx0XHRcdGZvbnQtc2l6ZTogMjNweDtcblx0XHRcdFx0bGluZS1oZWlnaHQ6IDI3cHg7XHRcblx0XHRcdFx0dHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAwLjVzIGVhc2U7XHRcblx0XHRcdFx0Ym9yZGVyLXJhZGl1czogMTZweDtcblx0XHRcdCAgICBtYXJnaW4tbGVmdDogMDtcblx0XHRcdCAgICBtYXJnaW4tcmlnaHQ6IDA7XG5cdFx0XHR9XG5cdFx0fVxuXHRcdCY6aG92ZXIsXG5cdFx0Jjpmb2N1cyB7XG5cdFx0XHRbY2xhc3MqPVwiaWNvbi1kdVwiXSB7XG5cdFx0XHRcdCY6YmVmb3JlIHtcblx0XHRcdFx0XHRiYWNrZ3JvdW5kLWNvbG9yOiAkc2Vjb25kYXJ5LWNvbG9yLTU7XG5cdFx0XHRcdFx0Y29sb3I6IHdoaXRlO1xuXHRcdFx0XHR9XG5cdFx0XHR9XG5cdFx0fVxuXHR9XG59XG5cblxuLmV2ZW50cy1saXN0aW5nX19uby1ldmVudHMge1xuXHRkaXNwbGF5OiBub25lO1xuXHRtYXJnaW4tdG9wOiAtNzBweDtcbiAgICBtYXJnaW4tYm90dG9tOiA2MHB4O1xufVxuLy8gQWRkZWQgY2xhc3MgLmV2ZW50LWRldGFpbCB0byBhZGQgc3BhY2luZyBiZXR3ZWVuIGZvb3RlciBhbmQgY29udGVudC5cbi5ldmVudC1kZXRhaWwge1xuXHRmb290ZXIge1xuXHRcdG1hcmdpbi10b3A6IDM1cHg7XG5cdH1cbn1cblxuLy9URU1QT1JBUlkgXG4uYWRkLXRoaXMge1xuXHRtYXJnaW4tdG9wOiAzMHB4O1xuXHRtYXJnaW4tYm90dG9tOiAzMHB4O1xufSIsIlxuXHQucHJpbWFyeS1mb250IHtcblx0XHRmb250LWZhbWlseTogJHByaW1hcnktZm9udDtcblx0fSBcblx0LmFjY2VudC1mb250IHtcblx0XHRmb250LWZhbWlseTogJGFjY2VudC1mb250O1xuXHR9IFxuXHQuaGVhZGxpbmUtZm9udCB7XG5cdFx0Zm9udC1mYW1pbHk6ICRoZWFkbGluZS1mb250O1xuXHR9IFxuXHQuY3RhLWZvbnQge1xuXHRcdGZvbnQtZmFtaWx5OiAkY3RhLWZvbnQ7XG5cdH1cblx0LmV4YW1wbGUtY29kZSB7XG5cdFx0Zm9udC1mYW1pbHk6IFwiTHVjaWRhIENvbnNvbGVcIiwgTW9uYWNvLCBtb25vc3BhY2U7XG5cdH1cblxuXHQuZnctMzAwIHtcblx0XHRmb250LXdlaWdodDogMzAwO1xuXHR9XG5cdC5mdy01MDAge1xuXHRcdGZvbnQtd2VpZ2h0OiA1MDA7XG5cdH1cblx0LmZ3LTYwMCB7XG5cdFx0Zm9udC13ZWlnaHQ6IDYwMDtcblx0fVxuXHQuZnctNzAwIHtcblx0XHRmb250LXdlaWdodDogNzAwO1xuXHR9XG5cdC5mdy04MDAge1xuXHRcdGZvbnQtd2VpZ2h0OiA4MDA7XG5cdH1cblxuXG5cblx0Ly8gQ09MT1JTIFxuXHQucHJpbWFyeS1jb2xvci0xIHtcblx0XHRjb2xvcjogJHByaW1hcnktY29sb3ItMTtcblx0fVxuXHQucHJpbWFyeS1jb2xvci0xLWJnIHtcblx0XHRiYWNrZ3JvdW5kLWNvbG9yOiAkcHJpbWFyeS1jb2xvci0xO1xuXHR9XG5cdC5wcmltYXJ5LWNvbG9yLTIge1xuXHRcdGNvbG9yOiAkcHJpbWFyeS1jb2xvci0yO1xuXHR9XG5cdC5wcmltYXJ5LWNvbG9yLTItYmcge1xuXHRcdGJhY2tncm91bmQtY29sb3I6ICRwcmltYXJ5LWNvbG9yLTI7XG5cdH1cblx0LnByaW1hcnktY29sb3ItMyB7XG5cdFx0Y29sb3I6ICRwcmltYXJ5LWNvbG9yLTM7XG5cdH1cblx0LnByaW1hcnktY29sb3ItMy1iZyB7XG5cdFx0YmFja2dyb3VuZC1jb2xvcjogJHByaW1hcnktY29sb3ItMztcblx0fVxuXHQucHJpbWFyeS1jb2xvci00IHtcblx0XHRjb2xvcjogJHByaW1hcnktY29sb3ItNDtcblx0fVxuXHQucHJpbWFyeS1jb2xvci00LWJnIHtcblx0XHRiYWNrZ3JvdW5kLWNvbG9yOiAkcHJpbWFyeS1jb2xvci00O1xuXHR9XG5cdC5wcmltYXJ5LWNvbG9yLTUge1xuXHRcdGNvbG9yOiAkcHJpbWFyeS1jb2xvci01O1xuXHR9XG5cdC5wcmltYXJ5LWNvbG9yLTUtYmcge1xuXHRcdGJhY2tncm91bmQtY29sb3I6ICRwcmltYXJ5LWNvbG9yLTU7XG5cdH1cblx0LnNlY29uZGFyeS1jb2xvci0xIHtcblx0XHRjb2xvcjogJHNlY29uZGFyeS1jb2xvci0xO1xuXHR9XG5cdC5zZWNvbmRhcnktY29sb3ItMS1iZyB7XG5cdFx0YmFja2dyb3VuZC1jb2xvcjogJHNlY29uZGFyeS1jb2xvci0xO1xuXHR9XG5cdC5zZWNvbmRhcnktY29sb3ItMiB7XG5cdFx0Y29sb3I6ICRzZWNvbmRhcnktY29sb3ItMjtcblx0fVxuXHQuc2Vjb25kYXJ5LWNvbG9yLTItYmcge1xuXHRcdGJhY2tncm91bmQtY29sb3I6ICRzZWNvbmRhcnktY29sb3ItMjtcblx0fVxuXHQuc2Vjb25kYXJ5LWNvbG9yLTMge1xuXHRcdGNvbG9yOiAkc2Vjb25kYXJ5LWNvbG9yLTM7XG5cdH1cblx0LnNlY29uZGFyeS1jb2xvci0zLWJnIHtcblx0XHRiYWNrZ3JvdW5kLWNvbG9yOiAkc2Vjb25kYXJ5LWNvbG9yLTM7XG5cdH1cblx0LnNlY29uZGFyeS1jb2xvci00IHtcblx0XHRjb2xvcjogJHNlY29uZGFyeS1jb2xvci00O1xuXHR9XG5cdC5zZWNvbmRhcnktY29sb3ItNC1iZyB7XG5cdFx0YmFja2dyb3VuZC1jb2xvcjogJHNlY29uZGFyeS1jb2xvci00O1xuXHR9XG5cdC5zZWNvbmRhcnktY29sb3ItNSB7XG5cdFx0Y29sb3I6ICRzZWNvbmRhcnktY29sb3ItNTtcblx0fVxuXHQuc2Vjb25kYXJ5LWNvbG9yLTUtYmcge1xuXHRcdGJhY2tncm91bmQtY29sb3I6ICRzZWNvbmRhcnktY29sb3ItNTtcblx0fVxuXHQubmV1dHJhbC1jb2xvci0xIHtcblx0XHRjb2xvcjogJG5ldXRyYWwtY29sb3ItMTtcblx0fVxuXHQubmV1dHJhbC1jb2xvci0xLWJnIHtcblx0XHRiYWNrZ3JvdW5kLWNvbG9yOiAkbmV1dHJhbC1jb2xvci0xO1xuXHR9XG5cdC5uZXV0cmFsLWNvbG9yLTIge1xuXHRcdGNvbG9yOiAkbmV1dHJhbC1jb2xvci0yO1xuXHR9XG5cdC5uZXV0cmFsLWNvbG9yLTItYmcge1xuXHRcdGJhY2tncm91bmQtY29sb3I6ICRuZXV0cmFsLWNvbG9yLTI7XG5cdH1cblx0Lm5ldXRyYWwtY29sb3ItMyB7XG5cdFx0Y29sb3I6ICRuZXV0cmFsLWNvbG9yLTM7XG5cdH1cblx0Lm5ldXRyYWwtY29sb3ItMy1iZyB7XG5cdFx0YmFja2dyb3VuZC1jb2xvcjogJG5ldXRyYWwtY29sb3ItMztcblx0fVxuXHQubmV1dHJhbC1jb2xvci00IHtcblx0XHRjb2xvcjogJG5ldXRyYWwtY29sb3ItNDtcblx0fVxuXHQubmV1dHJhbC1jb2xvci00LWJnIHtcblx0XHRiYWNrZ3JvdW5kLWNvbG9yOiAkbmV1dHJhbC1jb2xvci00O1xuXHR9XG5cdC5uZXV0cmFsLWNvbG9yLTUge1xuXHRcdGNvbG9yOiAkbmV1dHJhbC1jb2xvci01O1xuXHR9XG5cdC5uZXV0cmFsLWNvbG9yLTUtYmcge1xuXHRcdGJhY2tncm91bmQtY29sb3I6ICRuZXV0cmFsLWNvbG9yLTU7XG5cdH1cblx0Lm5ldXRyYWwtY29sb3ItNiB7XG5cdFx0Y29sb3I6ICRuZXV0cmFsLWNvbG9yLTY7XG5cdH1cblx0Lm5ldXRyYWwtY29sb3ItNi1iZyB7XG5cdFx0YmFja2dyb3VuZC1jb2xvcjogJG5ldXRyYWwtY29sb3ItNjtcblx0fVxuXHQuYWNjZW50LWNvbG9yLTFhIHtcblx0XHRjb2xvcjogJGFjY2VudC1jb2xvci0xYTtcblx0fVxuXHQuYWNjZW50LWNvbG9yLTFhLWJnIHtcblx0XHRiYWNrZ3JvdW5kLWNvbG9yOiAkYWNjZW50LWNvbG9yLTFhO1xuXHR9XG5cdC5hY2NlbnQtY29sb3ItMWIge1xuXHRcdGNvbG9yOiAkYWNjZW50LWNvbG9yLTFiO1xuXHR9XG5cdC5hY2NlbnQtY29sb3ItMWItYmcge1xuXHRcdGJhY2tncm91bmQtY29sb3I6ICRhY2NlbnQtY29sb3ItMWI7XG5cdH1cblx0LmFjY2VudC1jb2xvci0xYyB7XG5cdFx0Y29sb3I6ICRhY2NlbnQtY29sb3ItMWM7XG5cdH1cblx0LmFjY2VudC1jb2xvci0xYy1iZyB7XG5cdFx0YmFja2dyb3VuZC1jb2xvcjogJGFjY2VudC1jb2xvci0xYztcblx0fVxuXHQuYWNjZW50LWNvbG9yLTJhIHtcblx0XHRjb2xvcjogJGFjY2VudC1jb2xvci0yYTtcblx0fVxuXHQuYWNjZW50LWNvbG9yLTJhLWJnIHtcblx0XHRiYWNrZ3JvdW5kLWNvbG9yOiAkYWNjZW50LWNvbG9yLTJhO1xuXHR9XG5cdC5hY2NlbnQtY29sb3ItMmIge1xuXHRcdGNvbG9yOiAkYWNjZW50LWNvbG9yLTJiO1xuXHR9XG5cdC5hY2NlbnQtY29sb3ItMmItYmcge1xuXHRcdGJhY2tncm91bmQtY29sb3I6ICRhY2NlbnQtY29sb3ItMmI7XG5cdH1cblx0LmFjY2VudC1jb2xvci0yYyB7XG5cdFx0Y29sb3I6ICRhY2NlbnQtY29sb3ItMmM7XG5cdH1cblx0LmFjY2VudC1jb2xvci0yYy1iZyB7XG5cdFx0YmFja2dyb3VuZC1jb2xvcjogJGFjY2VudC1jb2xvci0yYztcblx0fVxuXHQuYWNjZW50LWNvbG9yLTNhIHtcblx0XHRjb2xvcjogJGFjY2VudC1jb2xvci0zYTtcblx0fVxuXHQuYWNjZW50LWNvbG9yLTNhLWJnIHtcblx0XHRiYWNrZ3JvdW5kLWNvbG9yOiAkYWNjZW50LWNvbG9yLTNhO1xuXHR9XG5cdC5hY2NlbnQtY29sb3ItM2Ige1xuXHRcdGNvbG9yOiAkYWNjZW50LWNvbG9yLTNiO1xuXHR9XG5cdC5hY2NlbnQtY29sb3ItM2ItYmcge1xuXHRcdGJhY2tncm91bmQtY29sb3I6ICRhY2NlbnQtY29sb3ItM2I7XG5cdH1cblx0LmFjY2VudC1jb2xvci0zYyB7XG5cdFx0Y29sb3I6ICRhY2NlbnQtY29sb3ItM2M7XG5cdH1cblx0LmFjY2VudC1jb2xvci0zYy1iZyB7XG5cdFx0YmFja2dyb3VuZC1jb2xvcjogJGFjY2VudC1jb2xvci0zYztcblx0fVxuXG5cdC5jb2xvci1wYWxldHRlIHtcblx0XHR1bCB7XG5cdFx0XHRtYXJnaW4tbGVmdDogMDtcblx0XHRcdGxpIHtcblx0XHRcdFx0JjpiZWZvcmUge1xuXHRcdFx0XHRcdGRpc3BsYXk6IG5vbmU7XG5cdFx0XHRcdH1cblx0XHRcdFx0Ym9yZGVyOiAxcHggc29saWQgJG5ldXRyYWwtY29sb3ItNDtcblx0XHRcdFx0cGFkZGluZzogNXB4O1xuXHRcdFx0XHRkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG5cdFx0XHRcdG1hcmdpbi1ib3R0b206IDJlbTtcblx0XHRcdFx0bWFyZ2luLWxlZnQ6IDFlbTtcblx0XHRcdFx0PiBzcGFuIHtcblx0XHRcdFx0XHRkaXNwbGF5OiBibG9jaztcblx0XHRcdFx0XHRoZWlnaHQ6IDUwcHg7XG5cdFx0XHRcdFx0bWFyZ2luLWJvdHRvbTogMTBweDtcblx0XHRcdFx0fVxuXHRcdFx0XHRmb250LXNpemU6IDE2cHg7XG5cdFx0XHRcdGZvbnQtZmFtaWx5OiBcIkx1Y2lkYSBDb25zb2xlXCIsIE1vbmFjbywgbW9ub3NwYWNlO1xuXHRcdFx0XHRzdHJvbmcge1xuXHRcdFx0XHRcdGZvbnQtZmFtaWx5OiAkaGVhZGxpbmUtZm9udDtcblx0XHRcdFx0XHRmb250LXNpemU6IDE4cHg7XG5cdFx0XHRcdH1cblx0XHRcdH1cblx0XHR9XG5cdH1cbiIsIi5leHBlcnQtbGlzdC1pdGVtIHtcbiAgcGFkZGluZzo1NXB4IDAgMjBweCAwO1xuICBoZWlnaHQ6MTAwJTtcbiAgcG9zaXRpb246cmVsYXRpdmU7XG5cbiAgYm9yZGVyLWJvdHRvbToycHggc29saWQgJG5ldXRyYWwtY29sb3ItNDtcblxuICAuZXhwZXJ0LW5hbWUtbWFpbixcbiAgLmV4cGVydC1uYW1lLWNvbHVtbiB7XG4gICAgZm9udC1zaXplOjI4cHg7XG4gICAgZm9udC13ZWlnaHQ6Ym9sZDtcbiAgICBjb2xvcjokbmV1dHJhbC1jb2xvci0yO1xuICAgIG1hcmdpbi1ib3R0b206MTZweDtcbiAgICBtYXJnaW4tdG9wOi04cHg7XG4gIH1cblxuICAuZXhwZXJ0LW5hbWUtbWFpbiB7XG4gICAgcG9zaXRpb246YWJzb2x1dGU7XG4gICAgbGVmdDotOTk5OXB4O1xuICAgIHRvcDotOTk5OXB4O1xuICB9XG5cbiAgLmRldGFpbHMge1xuICAgIGRpc3BsYXk6ZmxleDtcbiAgICBiYWNrZ3JvdW5kOiAkbmV1dHJhbC1jb2xvci02O1xuICAgIHBhZGRpbmc6MjRweCAyMHB4IDMwcHggMjBweDtcbiAgfVxuXG4gIC50aHVtYi13cmFwcGVyIHtcbiAgICB3aWR0aDoxNjhweDtcbiAgICBtYXgtd2lkdGg6NDAlOyAvLyBmb3Igc21hbGwgdmlld3BvcnRzLlxuICAgIG1hcmdpbi10b3A6IC01MHB4O1xuICAgIGZsZXgtZ3JvdzowO1xuICB9XG5cbiAgLnByb2ZpbGUtYnV0dG9uIHtcbiAgICBtYXJnaW4tdG9wOjE1cHg7XG4gIH1cblxuICAuZXhwZXJ0aXNlIHtcbiAgICBwYWRkaW5nLWxlZnQ6MjRweDtcbiAgICBmbGV4LWdyb3c6MTtcbiAgfVxuICAuZXhwZXJ0LXRvcGljcyB7XG4gICAgaDQge1xuICAgICAgZm9udC1zaXplOjE4cHg7XG4gICAgICBmb250LXdlaWdodDpib2xkO1xuICAgICAgbWFyZ2luLWJvdHRvbTo4cHg7XG4gICAgfVxuICAgIGEge1xuICAgICAgZGlzcGxheTppbmxpbmUtYmxvY2s7XG4gICAgICBtYXJnaW4tYm90dG9tOjRweDtcbiAgICB9XG4gIH1cbiAgLmV4cGVydC10b3BpY3MgKyAuZXhwZXJ0LWljb25zIHtcbiAgICBtYXJnaW4tdG9wOjIwcHg7XG4gICAgcGFkZGluZy10b3A6MjBweDtcbiAgICBib3JkZXItdG9wOiAxcHggc29saWQgJG5ldXRyYWwtY29sb3ItNDtcbiAgfVxuICAuZXhwZXJ0LWljb25zIHtcbiAgICBjb2xvcjokbmV1dHJhbC1jb2xvci0zO1xuICAgIG92ZXJmbG93OmhpZGRlbjtcbiAgfVxuICAuZXhwZXJ0LWljb24ge1xuICAgIG1hcmdpbi1ib3R0b206NnB4O1xuICAgIGZvbnQtc2l6ZToxNnB4O1xuICB9XG4gIC5leHBlcnQtaWNvbi1nbHlwaCB7XG4gICAgZm9udC1zaXplOjE4cHg7XG4gIH1cblxuICAuZGVzY3JpcHRpb24ge1xuICAgIHBhZGRpbmctcmlnaHQ6MjBweDtcbiAgfVxuXG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIGRvd24pIHtcblxuICAgICBwYWRkaW5nLXRvcDoyMHB4O1xuXG4gICAgLmV4cGVydC1uYW1lLW1haW4ge1xuICAgICAgcG9zaXRpb246IHN0YXRpYztcbiAgICB9XG4gICAgLmV4cGVydC1uYW1lLWNvbHVtbiB7XG4gICAgICBkaXNwbGF5Om5vbmU7XG4gICAgfVxuXG4gICAgLmRldGFpbHMge1xuICAgICAgZmxvYXQ6bGVmdDtcbiAgICAgIG1hcmdpbi1yaWdodDoxNnB4O1xuICAgICAgbWFyZ2luLWJvdHRvbTo4cHg7XG4gICAgICBwYWRkaW5nLWJvdHRvbToyMHB4O1xuICAgIH1cblxuICAgIC50aHVtYi13cmFwcGVyIHtcbiAgICAgIG1hcmdpbi10b3A6MDtcbiAgICB9XG5cbiAgICAuZGVzY3JpcHRpb24ge1xuICAgICAgcGFkZGluZy1yaWdodDowO1xuICAgIH1cblxuICB9XG5cbiAgQGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCBkb3duKSB7XG5cbiAgICAuZGV0YWlscyB7XG4gICAgICB3aWR0aDoxMDAlO1xuICAgICAgcGFkZGluZzoyMHB4IDEycHg7XG4gICAgICBtYXJnaW4tcmlnaHQ6MDtcbiAgICAgIG1hcmdpbi1ib3R0b206MjBweDtcbiAgICB9XG4gICAgLnByb2ZpbGUtYnV0dG9uIHtcbiAgICAgIHBhZGRpbmc6MjBweCAxMnB4O1xuICAgICAgYmFja2dyb3VuZDogJG5ldXRyYWwtY29sb3ItNjtcbiAgICB9XG4gIH1cblxufSIsIkBtZWRpYSBzY3JlZW4ge1xuXG5cdC5mZWF0dXJlLXZpZGVvLW1vZHVsZSB7XG5cdFx0bWFyZ2luLWJvdHRvbTogNzBweDtcbiAgICAgICAgLy9tYXJnaW4tdG9wOjJlbTtcbiAgICAgICAgcGFkZGluZy10b3A6MzBweDtcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCBkb3duKSB7XG4gICAgICAgICAgICBwYWRkaW5nLXRvcDoyMHB4O1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogNDRweDtcbiAgICAgICAgfVxuXHRcdC5ibG9ja3F1b3RlX19iYWNrZ3JvdW5kIHtcblx0XHRcdHBvaW50ZXItZXZlbnRzOiBub25lO1xuICAgICAgICAgICAgbWluLWhlaWdodDozNTBweDtcblx0XHRcdCY6YmVmb3JlIHtcbiAgICAgICAgICAgICAgIFxuXHRcdFx0XHRAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XG5cdFx0XHRcdFx0d2lkdGg6IDQyJTtcblx0XHRcdFx0fVxuXHRcdFx0XHRAbWVkaWEgKG1pbi13aWR0aDogMTUwMHB4KSB7XG5cdFx0XHRcdFx0d2lkdGg6IDQzJTtcblx0XHRcdFx0fVxuXHRcdFx0XHRAbWVkaWEgKG1pbi13aWR0aDogMTgwMHB4KSB7XG5cdFx0XHRcdFx0d2lkdGg6IDQ0JTtcblx0XHRcdFx0fVxuXHRcdFx0XHRAbWVkaWEgKG1pbi13aWR0aDogMjEwMHB4KSB7XG5cdFx0XHRcdFx0d2lkdGg6IDQ1JTtcblx0XHRcdFx0fVxuXHRcdFx0fVxuXHRcdFx0QGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gZG93bikge1xuXHRcdFx0XHRwYWRkaW5nLWxlZnQ6IDE4cHg7XG4gICAgICAgICAgICAgICAgbWluLWhlaWdodDoxMDBweDtcblx0XHRcdFx0YmxvY2txdW90ZSB7XG5cdFx0XHRcdFx0cGFkZGluZy1sZWZ0OiAwO1xuXHRcdFx0XHR9XG5cdFx0XHR9XG5cdFx0XHRAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsIGRvd24pIHtcblx0XHRcdFx0YmxvY2txdW90ZSB7XG5cdFx0XHRcdFx0cGFkZGluZy1sZWZ0OiAyMnB4O1xuXHRcdFx0XHQgICAgcGFkZGluZy1yaWdodDogMjJweDtcblx0XHRcdFx0fVxuXHRcdFx0fVxuXHRcdFx0bWFyZ2luLWJvdHRvbTogMDtcblx0XHRcdHotaW5kZXg6IDE7XG5cdFx0XHQ+IC5jb2x1bW5zID4gLnJvdyA+IC5jb2x1bW5zOmZpcnN0LWNoaWxkOmJlZm9yZSB7XG5cdFx0XHRcdGRpc3BsYXk6IG5vbmU7XG5cdFx0XHR9XG4gICAgICAgICAgICAmLmhpZGVCYWNrZ3JvdW5kIHtcbiAgICAgICAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgICAgICAgZGlzcGxheTpub25lO1xuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG5cdFx0fVxuXHRcdC5mZWF0dXJlLXZpZGVvLW1vZHVsZV9fdmlkZW8td3JhcHBlciB7XG5cdFx0XHRwb3NpdGlvbjogcmVsYXRpdmU7XG5cdFx0XHRAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XG4gICAgICAgICAgICAgICAgbWluLWhlaWdodDozNTBweDtcblx0XHRcdFx0dG9wOiAtMjYwcHg7XG5cdCAgICBcdFx0bWFyZ2luLWJvdHRvbTogLTI2MHB4O1xuXHQgICAgXHR9XG5cdFx0XHRhLnZpZGVvLXRvZ2dsZSB7XG5cdFx0XHRcdHRleHQtZGVjb3JhdGlvbjogbm9uZTtcblx0XHRcdFx0cG9zaXRpb246IGFic29sdXRlO1xuXHRcdFx0XHR0b3A6IDA7XG5cdFx0XHRcdGJvdHRvbTogMDtcblx0XHRcdFx0bGVmdDogMDtcblx0XHRcdFx0cmlnaHQ6IDA7XG5cdFx0XHRcdG1hcmdpbjogMDtcblx0XHRcdFx0cGFkZGluZzogMDtcblx0XHRcdFx0ZGlzcGxheTogYmxvY2s7XG5cdFx0XHRcdHotaW5kZXg6IDE7XG5cdFx0XHRcdG9wYWNpdHk6IDE7XG5cdFx0XHRcdC52aWRlby10b2dnbGVfX3RleHQge1xuXHRcdFx0XHRcdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0XHRcdFx0ICAgIGxlZnQ6IDQ0cHg7XG5cdFx0XHRcdCAgICBib3R0b206IDUzcHg7XG5cdFx0XHRcdFx0Y29sb3I6IHdoaXRlO1xuXHRcdFx0XHRcdD4gW2NsYXNzKj1cImljb24tZHVcIl0ge1xuXHRcdFx0XHRcdFx0Zm9udC1zaXplOiA2MnB4O1xuXHRcdFx0XHRcdFx0cG9zaXRpb246IHJlbGF0aXZlO1xuXHRcdFx0XHRcdFx0dG9wOiAxMHB4O1xuXHRcdFx0XHRcdH1cblx0XHRcdFx0XHQuaWNvbi1kdS1wYXVzZS1jaXJjbGVkIHtcblx0XHRcdFx0XHRcdGRpc3BsYXk6IG5vbmU7XG5cdFx0XHRcdFx0fVxuXHRcdFx0XHR9XG5cdFx0XHRcdCY6aG92ZXIge1xuXHRcdFx0XHRcdC52aWRlby10b2dnbGVfX3RleHQge1xuXHRcdFx0XHRcdFx0Lmljb24tZHUtcGxheS1jaXJjbGVkMiB7XG5cdFx0XHRcdFx0XHRcdCY6YmVmb3JlIHtcblx0XHRcdFx0XHRcdFx0XHRjb250ZW50OiAnXFxlODBmJztcblx0XHRcdFx0XHRcdFx0fVxuXHRcdFx0XHRcdFx0fVxuXHRcdFx0XHRcdH1cblx0XHRcdFx0fVxuXHRcdFx0XHQmLnBsYXlpbmcge1xuXHRcdFx0XHRcdG9wYWNpdHk6IDA7XG5cdFx0XHRcdFx0LnZpZGVvLXRvZ2dsZV9fdGV4dCB7XG5cdFx0XHRcdFx0XHQuaWNvbi1kdS1wYXVzZS1jaXJjbGVkIHtcblx0XHRcdFx0XHRcdFx0ZGlzcGxheTogaW5saW5lLWJsb2NrO1xuXHRcdFx0XHRcdFx0fVxuXHRcdFx0XHRcdFx0Lmljb24tZHUtcGxheS1jaXJjbGVkMiB7XG5cdFx0XHRcdFx0XHRcdGRpc3BsYXk6IG5vbmU7XG5cdFx0XHRcdFx0XHR9XG5cdFx0XHRcdFx0fVxuXHRcdFx0XHRcdCY6aG92ZXIge1xuXHRcdFx0XHRcdFx0b3BhY2l0eTogMTtcblx0XHRcdFx0XHR9XG5cdFx0XHRcdH1cblxuXHRcdFx0fVxuXHRcdFx0dmlkZW8ge1xuXHRcdFx0XHR3aWR0aDogMTAwJTtcblx0XHRcdFx0aGVpZ2h0OiBhdXRvO1xuXHRcdFx0fVxuXHRcdH1cblx0XHQucmVzcG9uc2l2ZS1lbWJlZCB7XG5cdFx0XHRtYXJnaW4tYm90dG9tOiAwO1xuXHRcdH1cblx0XHRAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsIGRvd24pIHtcblx0XHRcdCYuYnVmZmVyLW9uLWlubmVyLXJvdyB7XG5cdFx0XHRcdD4gLnJvdyB7XG5cdFx0XHRcdFx0Jixcblx0XHRcdFx0XHQ+IC5jb2x1bW5zIHtcblx0XHRcdFx0XHRcdHBhZGRpbmctbGVmdDogMDtcblx0XHRcdFx0XHRcdHBhZGRpbmctcmlnaHQ6IDA7XG5cdFx0XHRcdFx0fVxuXHRcdFx0XHR9XG5cblx0XHRcdH1cblx0XHR9XG5cdH1cbn0iLCIvLy8gRm9udCBzdGFjayBvZiB0aGUgYm9keS5cbi8vLyBAdHlwZSBMaXN0XG4vL0BpbXBvcnQgJ19mb250ZmFjZSc7XG5cbkBpbmNsdWRlIGZvbnRGYWNlICgnQnJldmVUZXh0JywgJ2ZvbnRzL2JyZXZlLXRleHQtd2ViL21lZGl1bS9CcmV2ZVRleHQtTWVkaXVtJywgbm9ybWFsLCBub3JtYWwpO1xuQGluY2x1ZGUgZm9udEZhY2UgKCdCcmV2ZVRleHQnLCAnZm9udHMvYnJldmUtdGV4dC13ZWIvbWVkaXVtL0JyZXZlVGV4dC1NZWRpdW1JdGFsaWMnLCBpdGFsaWMsIG5vcm1hbCk7XG5AaW5jbHVkZSBmb250RmFjZSAoJ0JyZXZlVGV4dCcsICdmb250cy9icmV2ZS10ZXh0LXdlYi9ib2xkL0JyZXZlVGV4dC1Cb2xkJywgbm9ybWFsLCBib2xkKTtcbkBpbmNsdWRlIGZvbnRGYWNlICgnQnJldmVUZXh0JywgJ2ZvbnRzL2JyZXZlLXRleHQtd2ViL2JvbGQvQnJldmVUZXh0LUJvbGRJdGFsaWMnLCBpdGFsaWMsIGJvbGQpO1xuXG4vLyBOYXZpZ2F0aW9uIEZvbnRcbkBpbmNsdWRlIGZvbnRGYWNlICgnQnJldmVTYW5zJywgJ2ZvbnRzL2JyZXZlLXNhbnMtdGV4dC13ZWIvYm9vay9CcmV2ZVNhbnNUZXh0LUJvb2snLCBub3JtYWwsIDUwMCk7XG5AaW5jbHVkZSBmb250RmFjZSAoJ0JyZXZlU2FucycsICdmb250cy9icmV2ZS1zYW5zLXRleHQtd2ViL21lZGl1bS9CcmV2ZVNhbnNUZXh0LU1lZGl1bScsIG5vcm1hbCwgNjAwKTtcbkBpbmNsdWRlIGZvbnRGYWNlICgnQnJldmVTYW5zJywgJ2ZvbnRzL2JyZXZlLXNhbnMtdGV4dC13ZWIvYmxhY2svQnJldmVTYW5zVGV4dC1CbGFjaycsIG5vcm1hbCwgODAwKTtcblxuLy8gSGVhZGxpbmUgRm9udFxuQGluY2x1ZGUgZm9udEZhY2UgKCdCcmV2ZVNsYWJUaXRsZScsICdmb250cy9icmV2ZS1zbGFiLXRpdGxlLXdlYi9ib29rL0JyZXZlU2xhYlRpdGxlLUJvb2snLCBub3JtYWwsIDUwMCk7XG5AaW5jbHVkZSBmb250RmFjZSAoJ0JyZXZlU2xhYlRpdGxlJywgJ2ZvbnRzL2JyZXZlLXNsYWItdGl0bGUtd2ViL2Jvb2svQnJldmVTbGFiVGl0bGUtQm9va0l0YWxpYycsIGl0YWxpYywgNTAwKTtcbkBpbmNsdWRlIGZvbnRGYWNlICgnQnJldmVTbGFiVGl0bGUnLCAnZm9udHMvYnJldmUtc2xhYi10aXRsZS13ZWIvYm9sZC9CcmV2ZVNsYWJUaXRsZS1Cb2xkJywgbm9ybWFsLCA3MDApO1xuQGluY2x1ZGUgZm9udEZhY2UgKCdCcmV2ZVNsYWJUaXRsZScsICdmb250cy9icmV2ZS1zbGFiLXRpdGxlLXdlYi9ib2xkL0JyZXZlU2xhYlRpdGxlLUJvbGRJdGFsaWMnLCBpdGFsaWMsIDcwMCk7XG5AaW5jbHVkZSBmb250RmFjZSAoJ0JyZXZlU2xhYlRpdGxlJywgJ2ZvbnRzL2JyZXZlLXNsYWItdGl0bGUtd2ViL2JsYWNrL0JyZXZlU2xhYlRpdGxlLUJsYWNrJywgbm9ybWFsLCA4MDApO1xuQGluY2x1ZGUgZm9udEZhY2UgKCdCcmV2ZVNsYWJUaXRsZScsICdmb250cy9icmV2ZS1zbGFiLXRpdGxlLXdlYi9ibGFjay9CcmV2ZVNsYWJUaXRsZS1CbGFja0l0YWxpYycsIGl0YWxpYywgODAwKTtcblxuLy9DYWxsIHRvIEFjdGlvbiBGb250XG5AaW5jbHVkZSBmb250RmFjZSAoJ0FjdG8nLCAnZm9udHMvYWN0by13ZWIvYmxhY2svQWN0by1CbGFjaycsIG5vcm1hbCwgODAwKTtcblxuLy9UaGluIFRpdGxlIEZvbnRcbkBpbmNsdWRlIGZvbnRGYWNlICgnQnJldmVTbGFiVGl0bGUnLCAnZm9udHMvYnJldmUtc2xhYi10aXRsZS13ZWIvdGhpbi9CcmV2ZVNsYWJUaXRsZS1UaGluJywgbm9ybWFsLCAzMDApO1xuXG4vL1F1aWNrIEZhY3RzXG5AaW5jbHVkZSBmb250RmFjZSAoJ0JyZXZlRGlzcGxheScsICdmb250cy9icmV2ZS1kaXNwbGF5LXdlYi9zdGVuY2lsL0JyZXZlRGlzcGxheS1TdGVuY2lsJywgbm9ybWFsLCBib2xkKTtcblxuXG5AZm9udC1mYWNlIHtcbiAgZm9udC1mYW1pbHk6ICdmb250ZWxsbyc7XG4gIHNyYzogdXJsKCdmb250cy9mb250ZWxsby1pY29ucy9mb250ZWxsby5lb3Q/NjMzMzI4NDYnKTtcbiAgc3JjOiB1cmwoJ2ZvbnRzL2ZvbnRlbGxvLWljb25zL2ZvbnRlbGxvLmVvdD82MzMzMjg0NiNpZWZpeCcpIGZvcm1hdCgnZW1iZWRkZWQtb3BlbnR5cGUnKSxcbiAgICAgICB1cmwoJ2ZvbnRzL2ZvbnRlbGxvLWljb25zL2ZvbnRlbGxvLndvZmYyPzYzMzMyODQ2JykgZm9ybWF0KCd3b2ZmMicpLFxuICAgICAgIHVybCgnZm9udHMvZm9udGVsbG8taWNvbnMvZm9udGVsbG8ud29mZj82MzMzMjg0NicpIGZvcm1hdCgnd29mZicpLFxuICAgICAgIHVybCgnZm9udHMvZm9udGVsbG8taWNvbnMvZm9udGVsbG8udHRmPzYzMzMyODQ2JykgZm9ybWF0KCd0cnVldHlwZScpLFxuICAgICAgIHVybCgnZm9udHMvZm9udGVsbG8taWNvbnMvZm9udGVsbG8uc3ZnPzYzMzMyODQ2I2ZvbnRlbGxvJykgZm9ybWF0KCdzdmcnKTtcbiAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgZm9udC1zdHlsZTogbm9ybWFsO1xufSIsImZvb3RlciB7XG5cdHRleHQtYWxpZ246IGNlbnRlcjtcblx0Lm1lbnUge1xuXHRcdGZsZXgtd3JhcDogd3JhcDtcblx0XHRsaSB7XG5cdFx0XHRtYXJnaW4tbGVmdDogMDtcblx0XHRcdGEge1xuXHRcdFx0XHRjb2xvcjogd2hpdGU7XG5cdFx0XHRcdGZvbnQtc2l6ZTogMTRweDtcblx0XHRcdFx0Zm9udC13ZWlnaHQ6IG5vcm1hbDtcblx0XHRcdFx0Zm9udC1mYW1pbHk6ICRwcmltYXJ5LWZvbnQ7XG5cdFx0XHRcdHRleHQtZGVjb3JhdGlvbjogbm9uZTtcblx0XHRcdFx0Jjpob3Zlcixcblx0XHRcdFx0Jjpmb2N1cyB7XG5cdFx0XHRcdFx0Y29sb3I6ICRzZWNvbmRhcnktY29sb3ItNDtcblx0XHRcdFx0XHR0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcblx0XHRcdFx0fVxuXHRcdFx0fVxuXHRcdH1cblx0fVxuXHQuYmctZGFyay1ncmF5IHtcblx0XHRwYWRkaW5nOiAzNnB4IDA7XG5cdH1cblx0LmNvcHlyaWdodCB7XG5cdFx0YmFja2dyb3VuZC1jb2xvcjogJG5ldXRyYWwtY29sb3ItMTtcblx0XHRjb2xvcjogIzc5Nzk3OTtcblx0XHRmb250LXNpemU6IDE0cHg7XG5cdFx0cGFkZGluZzogMTVweDtcblx0XHRmb250LWZhbWlseTogJHByaW1hcnktZm9udDtcblx0XHRtYXJnaW4tYm90dG9tOiAwO1xuXHR9XG5cdEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIGRvd24pIHtcblx0XHQuaGFzLWdyYXktYmFuZCB7XG5cdFx0XHQ+IC5yb3cge1xuXHRcdFx0XHRwYWRkaW5nLWxlZnQ6IDU1cHg7XG5cdFx0XHRcdHBhZGRpbmctcmlnaHQ6IDU1cHg7XG5cdFx0XHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgZG93bikge1xuXHRcdFx0XHRcdHBhZGRpbmctbGVmdDogMThweDtcblx0XHRcdFx0XHRwYWRkaW5nLXJpZ2h0OiAxOHB4O1xuXHRcdFx0XHR9XG5cdFx0XHR9XG5cdFx0fVxuXHR9XG59XG4uaGFzLWdyYXktYmFuZCB7IC8vc2VlbiBvbmx5IG9uIGZvb3RlciBmb3Igbm93XG5cdHBvc2l0aW9uOiByZWxhdGl2ZTtcblx0cGFkZGluZy1ib3R0b206IDUwcHg7XHRcdFxuXHQmOmFmdGVyIHtcblx0XHRjb250ZW50OiBcIlwiO1xuXHRcdGJhY2tncm91bmQtY29sb3I6ICNmNGY0ZjQ7XG5cdFx0aGVpZ2h0OiAxMzhweDtcblx0XHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdFx0bGVmdDogMDtcblx0XHRyaWdodDogMDtcblx0XHRib3R0b206IDA7XG5cdFx0ei1pbmRleDogLTE7XG5cdH1cblxuXHRAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsIGRvd24pIHtcblx0XHRwYWRkaW5nLWJvdHRvbTogMzBweDtcblx0XHQmOmFmdGVyIHtcblx0XHRcdGhlaWdodDogMjc0cHg7XG5cdFx0fVxuXHR9XG59IiwiZm9ybSB7XG5cdCYuYnVmZmVyLW9uLWlubmVyLXJvdyB7XG5cdFx0bWFyZ2luLWJvdHRvbTogNTBweDtcblx0fVxuXHRsYWJlbCB7XG5cdFx0Zm9udC1mYW1pbHk6ICRhY2NlbnQtZm9udDtcblx0fVxuXHQuaGVscC10ZXh0IHtcblx0XHRtYXJnaW4tdG9wOiAtMTBweDtcblx0fVxuXHRbdHlwZT1cInJhZGlvXCJdLFxuXHRbdHlwZT1cImNoZWNrYm94XCJdIHtcblx0XHQrIGxhYmVsIHtcblx0XHRcdGZvbnQtc2l6ZTogMThweDtcblx0XHRcdGZvbnQtd2VpZ2h0OiBub3JtYWw7XG5cdFx0XHRmb250LWZhbWlseTogJHByaW1hcnktZm9udDtcblx0XHR9XG5cdH1cblx0LmR1LWZvcm1fX3JlcXVpcmVkIHtcblx0XHRjb2xvcjogJHByaW1hcnktY29sb3ItMztcblx0XHRmb250LXNpemU6IDI0cHg7XG5cdCAgICBsaW5lLWhlaWdodDogMjJweDtcblx0ICAgIHBhZGRpbmctcmlnaHQ6IDNweDtcblx0fVxuXHQuZHUtZm9ybV9fZXJyb3Ige1xuXHRcdHBhZGRpbmc6IDVweCAxMHB4O1xuXHRcdGZvbnQtc2l6ZTogMTRweDtcblx0XHRiYWNrZ3JvdW5kLWNvbG9yOiAkcHJpbWFyeS1jb2xvci0zO1xuXHRcdG1hcmdpbi1ib3R0b206IDFlbTtcblx0XHRjb2xvcjogd2hpdGU7XG5cdFx0Zm9udC1mYW1pbHk6ICRwcmltYXJ5LWZvbnQ7XG5cdFx0ZGlzcGxheTogYmxvY2s7XG5cdFx0bWFyZ2luLXRvcDogLTE2cHg7XG5cdH1cblx0YnV0dG9uIHtcblx0XHQmOmhvdmVyLFxuXHRcdCY6Zm9jdXMge1xuXHRcdFx0Y3Vyc29yOiBwb2ludGVyO1xuXHRcdH1cblx0fVxufVxuLmR1LWZvcm1fX2FsZXJ0LFxuLmR1LWZvcm1fX3N1Y2Nlc3Mge1xuXHRwYWRkaW5nOiAxMHB4IDE1cHggIWltcG9ydGFudDtcblx0bWFyZ2luLWJvdHRvbTogMS41ZW07XG59XG4uZHUtZm9ybV9fYWxlcnQge1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiAjZmFlYmNlO1xufVxuLmR1LWZvcm1fX3N1Y2Nlc3Mge1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiAjY2NkOGE1O1xufSIsIi5iZy1kYXJrLWdyYXkge1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiAkbmV1dHJhbC1jb2xvci0yOyAvLyBmb290ZXIgYmFuZC4gTWF5YmUgbm90IHJlcGVhdGVkIGVsc2V3aGVyZT9cbn1cbi5idWZmZXItdG9wIHtcblx0bWFyZ2luLXRvcDogMWVtOyAvL2p1c3QgY2hhbmdlZCBmcm9tIDJlbVxufVxuLmRpc3BsYXktYmxvY2sge1xuXHRkaXNwbGF5OiBibG9jaztcbn1cbi5idWZmZXItb24taW5uZXItcm93IHtcblx0PiAucm93IHtcblx0XHRAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlIGRvd24pIHtcblx0XHRcdHBhZGRpbmctbGVmdDogNTVweDtcblx0XHRcdHBhZGRpbmctcmlnaHQ6IDU1cHg7XG5cdFx0fVxuXHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgZG93bikge1xuXHRcdFx0cGFkZGluZy1sZWZ0OiAxOHB4O1xuXHRcdFx0cGFkZGluZy1yaWdodDogMThweDtcblx0XHR9XG5cdH1cbn0iLCIuaGVyby1pdGVtcyB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgYm90dG9tOiA1MHB4O1xuICB3aWR0aDogMTAwJTtcbiAgQGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCBkb3duKSB7XG4gICAgYm90dG9tOiAxMHB4O1xuICB9XG4gIC5jb2x1bW5zIHtcbiAgICBwYWRkaW5nOiAwO1xuICAgIHNwYW4ge1xuICAgICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gICAgICAmLnZhbHVlIHtcbiAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn0iLCJoZWFkZXIge1xuXHQmLnVuaXQtaGVhZGVyIHtcblx0XHQuaGVyby1tZWRpYSB7XG5cdFx0XHR0b3A6IDEwMHB4O1xuXHRcdH1cblx0fVxuXG5cdC5oZXJvLW1lZGlhIHtcblx0XHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdFx0dG9wOiAwO1xuXHRcdGxlZnQ6IDA7XG5cdFx0cmlnaHQ6IDA7XG5cdFx0Ym90dG9tOiAwO1xuXHRcdHotaW5kZXg6IC0xO1xuXHRcdG92ZXJmbG93OiBoaWRkZW47XG5cdFx0PiAqIHtcblx0XHRcdHdpZHRoOiBhdXRvO1xuXHRcdFx0bWluLWhlaWdodDogMTAwJTtcblx0XHRcdG1pbi13aWR0aDogMTAwJTtcblx0XHRcdGhlaWdodDogYXV0bztcblx0XHRcdG1heC13aWR0aDogbm9uZTtcblx0XHRcdEBtZWRpYSAobWF4LXdpZHRoOiAxMzU2cHgpIHtcblx0XHRcdFx0bWluLWhlaWdodDogMDtcblx0XHRcdFx0bWluLXdpZHRoOiAwO1xuXHRcdFx0XHRwb3NpdGlvbjogcmVsYXRpdmU7XG5cdFx0XHRcdGxlZnQ6IDUwJTtcblx0XHRcdFx0d2lkdGg6IDEzNTZweDtcblx0XHRcdFx0bWFyZ2luLWxlZnQ6IC02NzhweDtcblx0XHRcdH1cblx0XHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UgZG93bikge1xuXHRcdFx0XHR3aWR0aDogMTIzMnB4O1xuXHRcdFx0XHRtYXJnaW4tbGVmdDogLTYxNnB4O1xuXHRcdFx0fVxuXHRcdFx0QGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCBkb3duKSB7XG5cdFx0XHRcdHdpZHRoOiAxMDg0cHg7XG5cdFx0XHRcdG1hcmdpbi1sZWZ0OiAtNTQycHg7XG5cdFx0XHR9XG5cdFx0fVxuXHRcdD4gdmlkZW8gKyBpbWcge1xuXHRcdFx0cG9zaXRpb246IGFic29sdXRlICFpbXBvcnRhbnQ7XG5cdFx0XHR0b3A6IDA7XG5cdFx0XHR6LWluZGV4OiAtMTtcblx0XHR9XG5cdFx0PiB2aWRlbyB7XG5cdFx0XHR2aXNpYmlsaXR5OiBoaWRkZW47XG5cdFx0XHRvcGFjaXR5OiAwO1xuXHRcdFx0dHJhbnNpdGlvbjogb3BhY2l0eSAxcyBlYXNlO1xuXHRcdFx0Ji5oZXJvLXZpZGVvLS12aXNpYmxlIHtcblx0XHRcdFx0b3BhY2l0eTogMTtcblx0XHRcdFx0dmlzaWJpbGl0eTogdmlzaWJsZTtcblx0XHRcdH1cblx0XHR9XG5cdFx0QGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xuXHRcdFx0ZGlzcGxheTogZmxleDtcblx0XHRcdGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cdFx0XHQvKj4gdmlkZW8gKyBpbWcge1xuXHRcdFx0XHRkaXNwbGF5OiBub25lO1xuXHRcdFx0fSovXG5cdFx0fVxuXHR9XG5cdC5oZXJvLW1lZGlhX19jYXB0aW9uIHtcblx0XHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdFx0d2lkdGg6IDEwMCU7XG5cdFx0Ym90dG9tOiAxMTNweDtcblx0XHRAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlIGRvd24pIHtcblx0XHRcdHJpZ2h0OiA1NXB4O1xuXHRcdH1cblx0XHRAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSBkb3duKSB7XG5cdFx0XHRyaWdodDogMjJweDtcblx0XHR9XG5cdFx0LmNvbHVtbnMge1xuXHRcdFx0cGFkZGluZy1sZWZ0OiAwO1xuXHRcdFx0cGFkZGluZy1yaWdodDogMDtcblx0XHR9XG5cdFx0Lmhlcm8tbWVkaWFfX2NhcHRpb25fX3RleHQge1xuXHRcdFx0dHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAxcyBlYXNlO1xuXHRcdFx0PiBhIHtcblx0XHRcdFx0dGV4dC1kZWNvcmF0aW9uOiBub25lO1xuXHRcdFx0XHRkaXNwbGF5OiBibG9jaztcblx0XHRcdFx0cGFkZGluZzogOXB4IDU2cHggMTNweCAxNnB4O1xuXHRcdFx0XHQmOmhvdmVyLFxuXHRcdFx0XHQmOmZvY3VzIHtcblx0XHRcdFx0XHRiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDI0LCAyMywgMzAsIDAuOCk7XG5cdFx0XHRcdFx0cCB7XG5cdFx0XHRcdFx0XHRvcGFjaXR5OiAxO1xuXHRcdFx0XHRcdH1cblx0XHRcdFx0fVxuXHRcdFx0fVxuXHRcdFx0cG9zaXRpb246IHJlbGF0aXZlO1xuXHRcdFx0ZmxvYXQ6IHJpZ2h0O1xuXHRcdFx0cmlnaHQ6IDA7XG5cdFx0XHRsZWZ0OiB1bnNldDtcblx0XHRcdGJhY2tncm91bmQtY29sb3I6IHJnYmEoMjQsIDIzLCAzMCwgMC42KTtcblx0XHRcdHdpZHRoOiAyODNweDtcblx0XHRcdHAge1xuXHRcdFx0XHRjb2xvcjogI2ZmZjtcblx0XHRcdFx0b3BhY2l0eTogMC41O1xuXHRcdFx0XHRtYXJnaW4tYm90dG9tOiAwO1xuXHRcdFx0XHRmb250LXNpemU6IDE2cHg7XG5cdFx0XHRcdGxpbmUtaGVpZ2h0OiAyMHB4O1xuXG5cdFx0XHRcdG92ZXJmbG93OiBoaWRkZW47XG5cdFx0XHRcdHdoaXRlLXNwYWNlOiBub3dyYXA7XG5cdFx0XHRcdHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xuXHRcdFx0fVxuXHRcdFx0Lmhlcm8tbWVkaWFfX2NhcHRpb25fX3RvZ2dsZXIge1xuXHRcdFx0XHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdFx0XHRcdGJvdHRvbTogOHB4O1xuXHRcdFx0XHRyaWdodDogMTFweDtcblx0XHRcdFx0Lmljb24tZHUtbWludXMsXG5cdFx0XHRcdC5kdS1pY29uLW1pbnVzIHtcblx0XHRcdFx0XHRkaXNwbGF5OiBub25lO1xuXHRcdFx0XHR9XG5cdFx0XHRcdFtjbGFzcyo9XCJpY29uLWR1XCJdLFxuXHRcdFx0XHRbY2xhc3MqPVwiZHUtaWNvblwiXSB7XG5cdFx0XHRcdFx0Zm9udC1zaXplOiAyNHB4O1xuXHRcdFx0XHRcdGNvbG9yOiB3aGl0ZTtcblx0XHRcdFx0fVxuXHRcdFx0fVxuXHRcdH1cblx0XHQmLmNhcHRpb24tZXhwYW5kZWQge1xuXHRcdFx0QGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gZG93bikge1xuXHRcdFx0XHR3aWR0aDogYXV0bztcblx0XHRcdCAgICBsZWZ0OiAyMHB4O1xuXHRcdFx0fVxuXHRcdFx0Lmhlcm8tbWVkaWFfX2NhcHRpb25fX3RleHQge1xuXHRcdFx0XHRiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDI0LCAyMywgMzAsIDAuOSk7XG5cdFx0XHRcdHdpZHRoOiBhdXRvO1xuXHRcdFx0XHRsZWZ0OiAwO1xuXHRcdFx0XHRtYXJnaW4tbGVmdDogLTU0cHg7XG5cdFx0XHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UgZG93bikge1xuXHRcdFx0XHRcdG1hcmdpbi1sZWZ0OiAyMHB4O1xuXHRcdFx0XHR9XG5cdFx0XHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIGRvd24pIHtcblx0XHRcdFx0XHRtYXJnaW4tbGVmdDogMDtcblx0XHRcdFx0fVxuXHRcdFx0XHRwIHtcblx0XHRcdFx0XHRvcGFjaXR5OiAxO1xuXHRcdFx0XHRcdHdoaXRlLXNwYWNlOiBub3JtYWw7XG5cdFx0XHRcdH1cblx0XHRcdH1cblx0XHRcdC5oZXJvLW1lZGlhX19jYXB0aW9uX190b2dnbGVyIHtcblx0XHRcdFx0Lmljb24tZHUtcGx1cyxcblx0XHRcdFx0LmR1LWljb24tcGx1cyB7XG5cdFx0XHRcdFx0ZGlzcGxheTogbm9uZTtcblx0XHRcdFx0fVxuXHRcdFx0XHQuaWNvbi1kdS1taW51cyxcblx0XHRcdFx0LmR1LWljb24tbWludXMge1xuXHRcdFx0XHRcdGRpc3BsYXk6IGJsb2NrO1xuXHRcdFx0XHR9XG5cdFx0XHR9XG5cdFx0fVxuXHR9XG5cdC5oZXJvLWl0ZW1zIC5sYWJlbHtcblx0XHRiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcblx0XHRmb250LXNpemU6IDE2cHg7XG5cdFx0bWFyZ2luLWJvdHRvbTogMDtcblx0fVxuXHQuaGVyby10aXRsZSB7XG5cdFx0bGluZS1oZWlnaHQ6IDgxcHg7XG5cdFx0Zm9udC1mYW1pbHk6ICRicmV2ZS1kaXNwbGF5O1xuXHRcdHBhZGRpbmctYm90dG9tOiAxMDBweDtcblx0XHRoZWlnaHQ6IDEwMCU7XG5cdFx0d2lkdGg6IDcwMHB4O1xuXHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgZG93bikge1xuXHRcdFx0d2lkdGg6IDEwMCU7XG5cdFx0XHRwYWRkaW5nOiAwIDEwcHggNTBweCAxMHB4O1xuXHRcdH1cblx0XHRoMyB7XG5cdFx0XHRjb2xvcjogd2hpdGU7XG5cdFx0XHRmb250LXdlaWdodDogbm9ybWFsO1xuXHRcdFx0bWFyZ2luLWJvdHRvbTogMDtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMS4ycmVtO1xuXHRcdH1cblx0XHRoMiB7XG5cdFx0XHRjb2xvcjogd2hpdGU7XG5cdFx0XHRmb250LXdlaWdodDogYm9sZDtcblx0XHRcdGZvbnQtc2l6ZTogNzhweDtcblx0XHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgZG93bikge1xuXHRcdFx0XHRmb250LXNpemU6IDU0cHg7XG5cdFx0XHR9XG5cdFx0fVxuXHR9XG59IiwiQGluY2x1ZGUgZm9udEZhY2UgKCdCcmV2ZURpc3BsYXknLCAnZm9udHMvYnJldmUtZGlzcGxheS13ZWIvcmVndWxhci9CcmV2ZURpc3BsYXknLCBub3JtYWwsIG5vcm1hbCk7XG5AaW5jbHVkZSBmb250RmFjZSAoJ0JyZXZlRGlzcGxheScsICdmb250cy9icmV2ZS1kaXNwbGF5LXdlYi9zdGVuY2lsL0JyZXZlRGlzcGxheS1TdGVuY2lsJywgbm9ybWFsLCBib2xkKTtcblxuQGluY2x1ZGUgZm9udEZhY2UgKCdCcmV2ZU5ld3MnLCAnZm9udHMvYnJldmUtbmV3cy13ZWIvYm9vay9CcmV2ZU5ld3MtQm9vaycsIG5vcm1hbCwgbm9ybWFsKTtcbkBpbmNsdWRlIGZvbnRGYWNlICgnQnJldmVOZXdzJywgJ2ZvbnRzL2JyZXZlLW5ld3Mtd2ViL2Jvb2svQnJldmVOZXdzLUJvb2tJdGFsaWMnLCBpdGFsaWMsIG5vcm1hbCk7XG5AaW5jbHVkZSBmb250RmFjZSAoJ0JyZXZlTmV3cycsICdmb250cy9icmV2ZS1uZXdzLXdlYi9ib2xkL0JyZXZlTmV3cy1Cb2xkJywgbm9ybWFsLCBib2xkKTtcbkBpbmNsdWRlIGZvbnRGYWNlICgnQnJldmVOZXdzJywgJ2ZvbnRzL2JyZXZlLW5ld3Mtd2ViL2JvbGQvQnJldmVOZXdzLUJvbGRJdGFsaWMnLCBpdGFsaWMsIGJvbGQpO1xuXG4vL0BpbmNsdWRlIGZvbnRGYWNlICgnQnJldmVTbGFiVGl0bGUnLCAnZm9udHMvYnJldmUtc2xhYi10aXRsZS13ZWIvdGhpbi9CcmV2ZVNsYWJUaXRsZS1UaGluJywgbm9ybWFsLCAzMDApO1xuXG5cbi5kdS1ob21lIHtcblx0aGVhZGVyIHtcblx0XHRoZWlnaHQ6IDgzN3B4O1xuXHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UgZG93bikge1xuXHRcdFx0aGVpZ2h0OiA2MzBweDtcblx0XHR9XG5cdFx0QGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCBkb3duKSB7XG5cdFx0XHRoZWlnaHQ6IDUwMHB4O1xuXHRcdH1cdFx0XHRcblx0XHQmOmJlZm9yZSxcblx0XHQmOmFmdGVyIHtcblx0XHRcdGNvbnRlbnQ6IFwiXCI7XG5cdFx0XHR3aWR0aDogNTAlO1xuXHRcdFx0Ym9yZGVyLWJvdHRvbTogNDBweCBzb2xpZCB3aGl0ZTtcblx0XHRcdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0XHRcdGJvdHRvbTogMDtcblx0XHRcdGhlaWdodDogNDBweDtcblx0XHR9XG5cdFx0JjpiZWZvcmUge1xuXHRcdFx0Ym9yZGVyLXJpZ2h0OiA0MHB4IHNvbGlkIHRyYW5zcGFyZW50O1xuXHRcdFx0bGVmdDogMDtcblx0XHRcdG1hcmdpbi1yaWdodDogNDBweDtcblx0XHR9XG5cdFx0JjphZnRlciB7XG5cdFx0XHRib3JkZXItbGVmdDogNDBweCBzb2xpZCB0cmFuc3BhcmVudDtcblx0XHRcdHJpZ2h0OiAwO1xuXHRcdFx0bWFyZ2luLWxlZnQ6IDQwcHg7XG5cdFx0fVxuXHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UgZG93bikge1xuXHRcdFx0JjpiZWZvcmUsXG5cdFx0XHQmOmFmdGVyIHtcblx0XHRcdFx0Ym9yZGVyLWJvdHRvbS13aWR0aDogMzBweDtcblx0XHRcdFx0aGVpZ2h0OiAzMHB4O1xuXHRcdFx0fVxuXHRcdFx0JjpiZWZvcmUge1xuXHRcdFx0XHRib3JkZXItcmlnaHQtd2lkdGg6IDMwcHg7XG5cdFx0XHRcdG1hcmdpbi1yaWdodDogMzBweDtcblx0XHRcdH1cblx0XHRcdCY6YWZ0ZXIge1xuXHRcdFx0XHRib3JkZXItbGVmdC13aWR0aDogMzBweDtcblx0XHRcdFx0bWFyZ2luLWxlZnQ6IDMwcHg7XG5cdFx0XHR9XG5cdFx0fVxuXHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgZG93bikge1xuXHRcdFx0JjpiZWZvcmUsXG5cdFx0XHQmOmFmdGVyIHtcblx0XHRcdFx0ZGlzcGxheTogbm9uZTtcblx0XHRcdH1cblx0XHR9XG5cdFx0Lmhlcm8tbWVkaWEge1xuXHRcdFx0QGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xuXHRcdFx0XHRkaXNwbGF5OiBibG9jaztcblx0XHRcdH1cblx0XHRcdC8qJjpiZWZvcmUge1xuXHRcdFx0XHRjb250ZW50OiBcIlwiO1xuXHRcdFx0XHRiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDE4NCwgMTYxLCA5OCwgMCk7XG5cdFx0XHRcdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0XHRcdFx0bGVmdDogMDtcblx0XHRcdFx0cmlnaHQ6IDA7XG5cdFx0XHRcdHRvcDogMDtcblx0XHRcdFx0Ym90dG9tOiAwO1xuXHRcdFx0XHR6LWluZGV4OiAxO1xuXHRcdFx0XHR0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDJzIGVhc2U7XG5cdFx0XHR9Ki9cblx0XHRcdD4gdmlkZW8ge1xuXHRcdFx0XHR3aWR0aDogMTAwJTtcblx0XHRcdFx0QG1lZGlhIChtaW4td2lkdGg6IDE0ODlweCkge1xuXHRcdFx0XHRcdHdpZHRoOiBhdXRvO1xuXHRcdFx0XHR9XG5cdFx0XHRcdEBtZWRpYSAobWluLXdpZHRoOiAxMjAwcHgpIGFuZCAobWF4LXdpZHRoOiAxNDg4cHgpIHtcblx0XHRcdFx0XHR3aWR0aDogMTQ4OHB4O1xuXHRcdFx0XHRcdG1hcmdpbi1sZWZ0OiAtNzQ0cHg7XG5cdFx0XHRcdFx0aGVpZ2h0OiA4MzdweDtcblx0XHRcdFx0XHRsZWZ0OiA1MCU7XG5cdFx0XHRcdFx0cG9zaXRpb246IHJlbGF0aXZlO1xuXHRcdFx0XHRcdG1pbi1oZWlnaHQ6IDA7XG5cdFx0XHRcdFx0bWluLXdpZHRoOiAwO1xuXHRcdFx0XHR9XG5cdFx0XHRcdEBtZWRpYSAobWluLXdpZHRoOiAxMTIwcHgpIGFuZCAobWF4LXdpZHRoOiAxMTk5cHgpIHtcblx0XHRcdFx0XHRtaW4td2lkdGg6IDEwMCU7XG5cdFx0XHRcdFx0d2lkdGg6IDEwMCU7XG5cdFx0XHRcdFx0cG9zaXRpb246IHN0YXRpYztcblx0XHRcdFx0XHRtYXJnaW4tbGVmdDogMDtcblx0XHRcdFx0XHRoZWlnaHQ6IGF1dG87XG5cdFx0XHRcdH1cblx0XHRcdFx0QG1lZGlhIChtaW4td2lkdGg6IDEwMjRweCkgYW5kIChtYXgtd2lkdGg6IDExMTlweCkgIHtcblx0XHRcdFx0XHR3aWR0aDogMTEyMHB4O1xuXHRcdFx0XHRcdG1hcmdpbi1sZWZ0OiAtNTYwcHg7XG5cdFx0XHRcdFx0aGVpZ2h0OiA2MzBweDtcblx0XHRcdFx0XHRsZWZ0OiA1MCU7XG5cdFx0XHRcdFx0cG9zaXRpb246IHJlbGF0aXZlO1xuXHRcdFx0XHRcdG1pbi1oZWlnaHQ6IDA7XG5cdFx0XHRcdFx0bWluLXdpZHRoOiAwO1xuXHRcdFx0XHR9XG5cdFx0XHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIGRvd24pIHtcblx0XHRcdFx0XHR3aWR0aDogMTU4OHB4O1xuXHRcdFx0XHRcdG1hcmdpbi1sZWZ0OiAtNzk0cHg7XG5cdFx0XHRcdFx0bGVmdDogNTAlO1xuXHRcdFx0XHRcdG1pbi1oZWlnaHQ6IDA7XG5cdFx0XHRcdFx0bWluLXdpZHRoOiAwO1xuXHRcdFx0XHRcdHBvc2l0aW9uOiByZWxhdGl2ZTtcblx0XHRcdFx0fVxuXHRcdFx0XHRAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsIGRvd24pIHtcblx0XHRcdFx0XHR3aWR0aDogMTI2MHB4O1xuXHRcdFx0XHRcdG1hcmdpbi1sZWZ0OiAtNjMwcHg7XG5cdFx0XHRcdFx0aGVpZ2h0OiA1MDBweDtcblx0XHRcdFx0fVxuXHRcdFx0fVxuXHRcdFx0PiBpbWcge1xuXHRcdFx0XHRAbWVkaWEgKG1pbi13aWR0aDogMjExMXB4KSB7XG5cdFx0XHRcdFx0d2lkdGg6IDEwMCU7XG5cdFx0XHRcdFx0bWluLWhlaWdodDogYXV0bztcblx0XHRcdFx0XHRoZWlnaHQ6IGF1dG87XG5cdFx0XHRcdH1cblx0XHRcdFx0QG1lZGlhIChtaW4td2lkdGg6IDEyMDBweCkgYW5kIChtYXgtd2lkdGg6IDIxMTBweCkge1xuXHRcdFx0XHRcdHdpZHRoOiAyMTEwcHg7XG5cdFx0XHRcdFx0bWFyZ2luLWxlZnQ6IC0xMDU1cHg7XG5cdFx0XHRcdFx0aGVpZ2h0OiA4MzdweDtcblx0XHRcdFx0XHRsZWZ0OiA1MCU7XG5cdFx0XHRcdFx0cG9zaXRpb246IHJlbGF0aXZlO1xuXHRcdFx0XHRcdG1pbi1oZWlnaHQ6IDA7XG5cdFx0XHRcdFx0bWluLXdpZHRoOiAwO1xuXHRcdFx0XHR9XG5cdFx0XHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UgZG93bikge1xuXHRcdFx0XHRcdHdpZHRoOiAxNTg4cHg7XG5cdFx0XHRcdFx0bWFyZ2luLWxlZnQ6IC03OTRweDtcblx0XHRcdFx0XHRoZWlnaHQ6IDYzMHB4O1xuXHRcdFx0XHRcdGxlZnQ6IDUwJTtcblx0XHRcdFx0XHRwb3NpdGlvbjogcmVsYXRpdmU7XG5cdFx0XHRcdFx0bWluLWhlaWdodDogMDtcblx0XHRcdFx0XHRtaW4td2lkdGg6IDA7XG5cdFx0XHRcdH1cblx0XHRcdFx0QGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCBkb3duKSB7XG5cdFx0XHRcdFx0d2lkdGg6IDEyNjBweDtcblx0XHRcdFx0XHRtYXJnaW4tbGVmdDogLTYzMHB4O1xuXHRcdFx0XHRcdGhlaWdodDogNTAwcHg7XG5cdFx0XHRcdH1cblx0XHRcdH1cblx0XHR9XG5cdFx0Lmhlcm8tbWVkaWFfX2NhcHRpb24ge1xuXHRcdFx0aDIge1xuXHRcdFx0XHRmb250LXNpemU6IDc4cHg7XG5cdFx0XHRcdGxpbmUtaGVpZ2h0OiA4MXB4O1xuXHRcdFx0XHRjb2xvcjogd2hpdGU7XG5cdFx0XHRcdGZvbnQtd2VpZ2h0OiBib2xkO1xuXHRcdFx0XHRmb250LWZhbWlseTogJGJyZXZlLWRpc3BsYXk7XG5cdFx0XHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UgZG93bikge1xuXHRcdFx0XHRcdGZvbnQtc2l6ZTogNzBweDtcblx0XHRcdFx0XHRsaW5lLWhlaWdodDogNzNweDtcblx0XHRcdFx0fVxuXHRcdFx0XHRAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsIGRvd24pIHtcblx0XHRcdFx0XHRmb250LXNpemU6IDQ4cHg7XG5cdFx0XHRcdFx0bGluZS1oZWlnaHQ6IDUxcHg7XG5cdFx0XHRcdH1cblx0XHRcdFx0YSB7XG5cdFx0XHRcdFx0Y29sb3I6aW5oZXJpdDtcblx0XHRcdFx0XHR0ZXh0LWRlY29yYXRpb246IGluaGVyaXQ7XG5cdFx0XHRcdH1cblx0XHRcdFx0cCB7XG5cdFx0XHRcdFx0bGluZS1oZWlnaHQ6MWVtO1xuXHRcdFx0XHR9XG4gICAgICAgICAgICAgICAgc3Bhbi5saW5le1xuICAgICAgICAgICAgICAgICAgICBsaW5lLWhlaWdodDoxZW07XG4gICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6YmxvY2s7XG4gICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgZG93bil7XG4gICAgICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OmlubGluZTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cblx0XHRcdH1cblx0XHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UgZG93bikge1xuXHRcdFx0XHRyaWdodDogMDtcblx0XHRcdFx0cGFkZGluZy1sZWZ0OiA4MHB4O1xuXHRcdFx0XHRwYWRkaW5nLXJpZ2h0OiA4MHB4O1xuXHRcdFx0XHRib3R0b206IDg4cHg7XG5cdFx0XHR9XG5cdFx0XHRAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsIGRvd24pIHtcblx0XHRcdFx0cGFkZGluZy1sZWZ0OiAyMnB4O1xuXHRcdFx0XHRwYWRkaW5nLXJpZ2h0OiAyMnB4O1xuXHRcdFx0XHRib3R0b206IDI5cHg7XG5cdFx0XHR9XG5cdFx0fVxuXHR9XG5cdCNtYWluLWNvbnRlbnQge1xuXHRcdHBhZGRpbmctdG9wOiA5NnB4O1xuXHRcdHBhZGRpbmctYm90dG9tOiAxNTBweDtcblx0XHRAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlIGRvd24pIHtcblx0XHRcdHBhZGRpbmctdG9wOiA2NnB4O1xuXHRcdFx0cGFkZGluZy1ib3R0b206IDEwMHB4O1xuXHRcdH1cblx0XHRAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsIGRvd24pIHtcblx0XHRcdHBhZGRpbmctdG9wOiA2M3B4O1xuXHRcdFx0cGFkZGluZy1ib3R0b206IDUwcHg7XG5cdFx0fVxuXHRcdGgyLCBoMywgaDQsIGg1LCBoNiB7XG5cdFx0XHRmb250LXdlaWdodDogMzAwO1xuXHRcdH1cblx0XHRoMiB7XG5cdFx0XHRmb250LXNpemU6IDY2cHg7XG5cdFx0XHRsaW5lLWhlaWdodDogNjZweDtcblx0XHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UgZG93bikge1xuXHRcdFx0XHRmb250LXNpemU6IDU1cHg7XG5cdFx0XHRcdGxpbmUtaGVpZ2h0OiA1NXB4O1xuXHRcdFx0fVxuXHRcdFx0QGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCBkb3duKSB7XG5cdFx0XHRcdGZvbnQtc2l6ZTogMzhweDtcblx0XHRcdFx0bGluZS1oZWlnaHQ6IDM4cHg7XG5cdFx0XHR9XG5cdFx0fVxuXHRcdGgzIHtcblx0XHRcdGZvbnQtc2l6ZTogNDVweDtcblx0XHRcdGxpbmUtaGVpZ2h0OiA1OXB4O1xuXHRcdFx0QGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSBkb3duKSB7XG5cdFx0XHRcdGZvbnQtc2l6ZTogMzNweDtcblx0XHRcdFx0bGluZS1oZWlnaHQ6IDQ0cHg7XG5cdFx0XHR9XG5cdFx0fVxuXHRcdHAge1xuXHRcdFx0Zm9udC1mYW1pbHk6ICdCcmV2ZU5ld3MnLCBzYW4tc2VyaWY7XG5cdFx0fVxuXHRcdD4gLnJvdyArIC5yb3cge1xuXHRcdFx0bWFyZ2luLXRvcDogMTUwcHg7XG5cdFx0XHRAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSBkb3duKSB7XG5cdFx0XHRcdG1hcmdpbi10b3A6IDcwcHg7XG5cdFx0XHR9XG5cdFx0XHRAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsIGRvd24pIHtcblx0XHRcdFx0bWFyZ2luLXRvcDogNjBweDtcblx0XHRcdH1cblx0XHR9XG5cdH1cblx0LmR1LWhvbWVfX3NlY3Rpb24tMSB7XG5cdFx0YWxpZ24taXRlbXM6IGNlbnRlcjtcblx0XHRwIHtcblx0XHRcdGZvbnQtc2l6ZTogMjRweDtcblx0XHRcdGxpbmUtaGVpZ2h0OiAzMnB4O1xuXHRcdFx0QGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSBkb3duKSB7XG5cdFx0XHRcdGZvbnQtc2l6ZTogMThweDtcblx0XHRcdFx0bGluZS1oZWlnaHQ6IDI4cHg7XG5cdFx0XHR9XG5cdFx0XHRAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsIGRvd24pIHtcblx0XHRcdFx0Zm9udC1zaXplOiAxNnB4O1xuXHRcdFx0XHRsaW5lLWhlaWdodDogMjNweDtcblx0XHRcdH1cblx0XHR9XG5cdFx0QGluY2x1ZGUgYnJlYWtwb2ludCh4bGFyZ2UpIHtcblx0XHQvL0BpbmNsdWRlIGJyZWFrcG9pbnQoeGxhcmdlKSB7XG5cdFx0XHRoMi5idG0tZGl2aWRlciB7XG5cdFx0XHRcdG1hcmdpbi1ib3R0b206IDUzcHg7XG5cdFx0XHR9XG5cdFx0XHQubGlzdC1vZi1saW5rcy0tYWx0IHtcblx0XHRcdFx0dGV4dC1hbGlnbjogY2VudGVyO1xuXHRcdFx0XHRhIHtcblx0XHRcdFx0XHR0ZXh0LWFsaWduOiBsZWZ0O1xuXHRcdFx0XHR9XG5cdFx0XHR9XG5cdFx0fVxuXHR9XG5cdC5kdS1ob21lX19hY2FkZW1pYy1wcm9ncmFtcyB7XG5cdFx0LnNlYXJjaC1ib3gge1xuXHRcdFx0bWF4LXdpZHRoOiBub25lO1xuXHRcdFx0aW5wdXRbdHlwZT1cInRleHRcIl0ge1xuXHRcdFx0XHRmb250LXdlaWdodDogMzAwO1xuXHRcdFx0XHRmb250LXNpemU6IDQwcHg7XG5cdFx0XHRcdGxpbmUtaGVpZ2h0OiA2N3B4O1xuXHRcdFx0XHRtYXJnaW4tYm90dG9tOiAxLjVyZW07Ly8zNHB4O1xuXHRcdFx0XHRoZWlnaHQ6IDgxcHg7XG5cdFx0XHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UgZG93bikge1xuXHRcdFx0XHRcdGZvbnQtc2l6ZTogMzBweDtcblx0XHRcdFx0XHRsaW5lLWhlaWdodDogNDVweDtcblx0XHRcdFx0XHRtYXJnaW4tYm90dG9tOiAyNnB4O1xuXHRcdFx0XHRcdGhlaWdodDogNTlweDtcblx0XHRcdFx0fVxuXHRcdFx0XHRAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsIGRvd24pIHtcblx0XHRcdFx0XHRmb250LXNpemU6IDIycHg7XG5cdFx0XHRcdFx0bGluZS1oZWlnaHQ6IDM3cHg7XG5cdFx0XHRcdFx0bWFyZ2luLWJvdHRvbTogMjBweDtcblx0XHRcdFx0XHRwYWRkaW5nLWxlZnQ6IDVweDtcblx0XHRcdFx0XHRwYWRkaW5nLXJpZ2h0OiAzNnB4O1xuXHRcdFx0XHRcdGhlaWdodDogNTFweDtcblx0XHRcdFx0fVxuXHRcdFx0fVxuXHRcdFx0QGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCBkb3duKSB7XG5cdFx0XHRcdD4gYnV0dG9uIHtcblx0XHRcdFx0XHRyaWdodDogOHB4O1xuXHRcdFx0XHRcdGJvdHRvbTogMTJweDtcblx0XHRcdFx0XHQ+IC5pY29uLWR1LWN1c3Qtc2VhcmNoIHtcblx0XHRcdFx0XHRcdGZvbnQtc2l6ZTogMjBweDtcblx0XHRcdFx0XHR9XG5cdFx0XHRcdH1cblx0XHRcdH1cblx0XHR9XG5cdFx0LmJ0biB7XG5cdFx0XHRmb250LXNpemU6IDE5cHg7XG5cdFx0XHR0ZXh0LWFsaWduOiBjZW50ZXI7XG5cdFx0XHRkaXNwbGF5OiBmbGV4O1xuXHRcdFx0d2lkdGg6IDEwMCU7XG5cdFx0ICAgIGhlaWdodDogNjRweDtcblx0XHQgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcblx0XHQgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG5cdFx0ICAgIGxpbmUtaGVpZ2h0OiAyMXB4O1xuXHRcdFx0cGFkZGluZy1ib3R0b206IDU7XG5cdFx0XHRwYWRkaW5nLXRvcDogNTtcblx0XHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UgZG93bikge1xuXHRcdFx0XHRmb250LXNpemU6IDE3cHg7XG5cdFx0XHRcdGxpbmUtaGVpZ2h0OiAxOXB4O1xuXHRcdFx0fVxuXHRcdFx0QGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCBkb3duKSB7XG5cdFx0XHRcdGhlaWdodDogODRweDtcblx0XHRcdH1cblx0XHRcdC5pY29uLWR1LWN1c3Qtc2VhcmNoIHtcblx0XHRcdFx0cGFkZGluZy1sZWZ0OiA2cHg7XG5cdFx0XHR9XG5cdFx0XHQmOmhvdmVyLFxuXHRcdFx0Jjpmb2N1cyB7XG5cdFx0XHRcdGN1cnNvcjogcG9pbnRlcjtcblx0XHRcdH1cblx0XHR9XG5cdFx0QGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCBkb3duKSB7XG5cdFx0XHRidXR0b24ge1xuXHRcdFx0XHRtYXJnaW4tYm90dG9tOiA0cHg7XG5cdFx0XHR9XG5cdFx0fVxuXHR9XG5cblx0QGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSBkb3duKSB7XG5cdFx0I21haW4tY29udGVudCA+IC5yb3cucm93LS1leHBhbmRlZCB7XG5cdFx0XHRtYXgtd2lkdGg6IDEyMDBweDtcblx0XHRcdG1hcmdpbi1sZWZ0OiAwO1xuXHRcdFx0bWFyZ2luLXJpZ2h0OiAwO1xuXHRcdFx0cGFkZGluZy1sZWZ0OiAwO1xuXHRcdFx0cGFkZGluZy1yaWdodDogMDtcblx0XHR9XG5cdH1cblxuXG5cdC8vRml4ZWQgcG9zaXRpb25pbmcgb2YgSGVhZGVyIE1lZGlhXG5cdGhlYWRlciAuaGVyby1tZWRpYSB7XG5cdFx0cG9zaXRpb246IGZpeGVkO1xuXHR9XG5cdCYuZHUtYWxlcnQtLWFjdGl2ZSB7XG5cdFx0aGVhZGVyIC5oZXJvLW1lZGlhIHtcblx0XHRcdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0XHR9XHRcblx0fVxuXHQjbWFpbi1jb250ZW50LFxuXHRmb290ZXIge1xuXHRcdGJhY2tncm91bmQtY29sb3I6IHdoaXRlO1xuXHR9XG59XG5cbi8qLmR1LWhvbWUgaGVhZGVyLmhlYWRlci0tZmFkZS1vdXQtZ29sZCB7XG5cdC5oZXJvLW1lZGlhIHtcblx0XHQmOmJlZm9yZSB7XG5cdFx0XHRiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDE4NCwgMTYxLCA5OCwgMC4yNSk7XG5cdFx0fVxuXHR9XG59Ki8iLCIuaW1hZ2Utd2l0aC1jYXB0aW9uIHtcbiAgbWFyZ2luLXRvcDogNDBweDtcbiAgbWFyZ2luLWJvdHRvbTogNDBweDtcbiAgJi5hbGlnbi1yaWdodCB7XG4gICAgbWFyZ2luLWxlZnQ6IDEwcHghaW1wb3J0YW50O1xuICAgIG1hcmdpbi10b3A6IDA7XG4gICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgfVxuICAmLmFsaWduLWxlZnQge1xuICAgIG1hcmdpbi1yaWdodDogMTBweCFpbXBvcnRhbnQ7XG4gICAgbWFyZ2luLXRvcDogMDtcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xuICB9XG4gIGZpZ3VyZSB7XG4gICAgZGlzcGxheTogdGFibGU7XG4gICAgZmlnY2FwdGlvbiB7XG4gICAgICBtYXJnaW46IDRweCA4MHB4IDAgODBweDtcbiAgICAgIGRpc3BsYXk6IHRhYmxlLWNhcHRpb247XG4gICAgICBjYXB0aW9uLXNpZGU6IGJvdHRvbTtcbiAgICAgIHAge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAxMHB4O1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiLmluZm9ybWF0aW9uLW92ZXJ2aWV3LW1vZHVsZSB7XG4gIGhlaWdodDogYXV0bztcbiAgLy9iYWNrZ3JvdW5kLWNvbG9yOiAjZjRmNGY0O1xuICBiYWNrZ3JvdW5kOiAjZjRmNGY0IHVybCgnLi4vaW1hZ2VzL2Fycm93LXBhdHRlcm5fdHJhbnNwYXJlbnQucG5nJykgcmVwZWF0IHNjcm9sbCAwIDA7XG4gIHBhZGRpbmc6IDMwcHggMzBweCAwO1xuICBtYXJnaW4tdG9wOiAxMThweDtcbiAgbWFyZ2luLWJvdHRvbTogMTM1cHg7XG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UgZG93bikge1xuICAgIHBhZGRpbmc6IDE1cHggMCAwO1xuICB9XG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIGRvd24pIHtcbiAgICBtYXJnaW4tdG9wOiA4MnB4O1xuICAgIG1hcmdpbi1ib3R0b206IDk1cHg7XG4gIH1cbiAgQGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCBkb3duKSB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxuXG4gIC5vcmJpdC1jb250YWluZXIge1xuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XG4gICAgICBoZWlnaHQ6IGF1dG87XG4gICAgICBtYXJnaW46IDAgYXV0bztcbiAgICB9XG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSBkb3duKSB7XG4gICAgICBwYWRkaW5nOiAzMHB4IDBweDtcbiAgICB9XG4gIH1cblxuICAvKi5vcmJpdC1zbGlkZSB7XG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCBkb3duKSB7XG4gICAgICBwYWRkaW5nLWxlZnQ6IDA7XG4gICAgICBwYWRkaW5nLXJpZ2h0OiAwO1xuICAgIH1cbiAgfSovXG4gIC5vcmJpdC1idWxsZXRzIHtcbiAgICBwYWRkaW5nLWJvdHRvbTogMjVweDtcbiAgfVxuXG4gIC5mYWN0IHtcbiAgICBwYWRkaW5nLXJpZ2h0OiAxNXB4O1xuICAgIHBhZGRpbmctbGVmdDogMTVweDtcbiAgICAvKkBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgZG93bikge1xuICAgICAgcGFkZGluZy1yaWdodDogMjJweDtcbiAgICAgIHBhZGRpbmctbGVmdDogMjJweDtcbiAgICB9Ki9cbiAgfVxuICAucXVpY2stZmFjdC1tb2R1bGVfX2NvbnRlbnQge1xuICAgIGhlaWdodDogMTAwJTtcbiAgICAvL2JvcmRlci10b3A6IDFweCBzb2xpZCAkbmV1dHJhbC1jb2xvci00O1xuICAgIC8vYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICRuZXV0cmFsLWNvbG9yLTQ7XG4gICAgcCB7XG4gICAgICBmb250LXNpemU6IDE2cHg7XG4gICAgICBsaW5lLWhlaWdodDogMjRweDtcbiAgICAgIGZvbnQtZmFtaWx5OiBcIkJyZXZlU2Fuc1wiLCBzYW5zLXNlcmlmO1xuXG4gICAgICBAbWVkaWEgKG1pbi13aWR0aDogNzM3cHgpIGFuZCAobWF4LXdpZHRoOjEwMjNweCkge1xuICAgICAgICBmb250LXNpemU6MTVweDtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDE4cHg7XG4gICAgICB9XG4gICAgICAmLnN0YXQge1xuICAgICAgICBmb250LWZhbWlseTogXCJCcmV2ZVNsYWJUaXRsZVwiLCBzYW5zLXNlcmlmO1xuICAgICAgICBmb250LXdlaWdodDogNzAwO1xuICAgICAgICBjb2xvcjogIzE4MTYxZjtcbiAgICAgICAgZm9udC1zaXplOiAyMHB4O1xuICAgICAgICBAbWVkaWEgKG1pbi13aWR0aDogNzM3cHgpIGFuZCAobWF4LXdpZHRoOjEwMjNweCkge1xuICAgICAgICAgIGZvbnQtc2l6ZToxOHB4O1xuICAgICAgICAgIGxpbmUtaGVpZ2h0OiAxNnB4O1xuICAgICAgICAgIG1hcmdpbi1ib3R0b206IDRweDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgJi5jaXRhdGlvbiB7XG4gICAgICAgIGZvbnQtc2l6ZTogMC43cmVtO1xuICAgICAgICBkaXNwbGF5OiB0YWJsZS1yb3ctZ3JvdXA7XG4gICAgICAgIHZlcnRpY2FsLWFsaWduOiBib3R0b207XG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIG9ubHkpIHtcbiAgICAgICAgICBtYXJnaW4tdG9wOiA4MHB4O1xuICAgICAgICB9XG4gICAgICB9XG4gICAgICAmLmhlYWRsaW5lIHtcbiAgICAgICAgZm9udC13ZWlnaHQ6IDMwMDtcbiAgICAgICAgZm9udC1mYW1pbHk6ICRoZWFkbGluZS1mb250O1xuICAgICAgICBmb250LXNpemU6IDI4cHg7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAzNXB4O1xuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgIGNvbG9yOiAjMTgxNjFmO1xuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSBkb3duKSB7XG4gICAgICAgICAgZm9udC1zaXplOiAyMnB4O1xuICAgICAgICAgIGxpbmUtaGVpZ2h0OiAzMXB4O1xuICAgICAgICB9XG4gICAgICAgIEBtZWRpYSAobWluLXdpZHRoOiA3MzdweCkgYW5kIChtYXgtd2lkdGg6MTAyM3B4KSB7XG4gICAgICAgICAgbWFyZ2luLWJvdHRvbToyNHB4O1xuICAgICAgICAgIG1hcmdpbi10b3A6IDhweDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgICAmLnN0YXRpc3RpYyB7XG4gICAgICAucXVpY2stZmFjdC1tb2R1bGVfX2hlYWQge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjsgLy9tYXgtaGVpZ2h0OjUwJTtcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcbiAgICAgICAgICBoZWlnaHQ6MTc1cHg7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gICAgLnF1aWNrLWZhY3QtbW9kdWxlX19oZWFkIHtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICBwYWRkaW5nOiAwcHggMjRweCAwcHggMjRweDtcbiAgICAgIC8vbWFyZ2luLXRvcDogMTVweDtcbiAgICAgIGhlaWdodDogMTc1cHg7XG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSBkb3duKSB7XG4gICAgICAgIGhlaWdodDogMTM1cHg7XG4gICAgICB9XG4gICAgICBpbWcge1xuICAgICAgICBtYXgtaGVpZ2h0OiAxNzBweDtcbiAgICAgICAgd2lkdGg6IGF1dG87XG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIGRvd24pIHtcbiAgICAgICAgICBtYXgtaGVpZ2h0OiAxMzBweDtcbiAgICAgICAgfVxuICAgICAgICAvKkBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgZG93bikge1xuICAgICAgICAgIG1heC1oZWlnaHQ6IDIwMHB4O1xuICAgICAgICB9Ki9cbiAgICAgIH1cbiAgICAgICYuZmFjdFN0YXRpc3RpYyB7XG4gICAgICAgIC8qQGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCBkb3duKSB7XG4gICAgICAgICAgbWluLWhlaWdodDoyMDBweDtcbiAgICAgICAgfSovXG4gICAgICAgIEBtZWRpYSBwcmludCB7XG4gICAgICAgICAgZm9udC1zaXplOiA4cHg7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gICAgYSB7XG4gICAgICBmb250LXdlaWdodDogYm9sZDtcbiAgICAgIGNvbG9yOiAkYWNjZW50LWNvbG9yLTJiO1xuICAgIH1cbiAgICBoMiB7XG4gICAgICBjb2xvcjogIzUzNDc3OTsgLy9mb250LWZhbWlseTogXCJCcmV2ZVNhbnNcIiwgc2Fucy1zZXJpZjtcbiAgICAgIGZvbnQtZmFtaWx5OiBcIkJyZXZlRGlzcGxheVwiLCBzYW5zLXNlcmlmO1xuICAgICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gICAgICBmb250LXNpemU6IDk1cHg7XG4gICAgICBsaW5lLWhlaWdodDogOTVweDtcbiAgICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gICAgICAvL3BhZGRpbmctdG9wOiA0OHB4O1xuICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgcGFkZGluZzogMHB4IDI0cHggMHB4IDI0cHg7XG4gICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgICAgQG1lZGlhIChtYXgtd2lkdGg6MTE5OXB4KSB7XG4gICAgICAgICAgZm9udC1zaXplOiA2NXB4O1xuICAgICAgfVxuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gZG93bikgIHtcbiAgICAgICAgcGFkZGluZy1sZWZ0OiAwO1xuICAgICAgICBwYWRkaW5nLXJpZ2h0OiAwO1xuICAgICAgfVxuICAgIH1cbiAgICAuY2FwdGlvbiB7XG4gICAgICAvL2JvcmRlci10b3A6IDFweCBzb2xpZCAkbmV1dHJhbC1jb2xvci00O1xuICAgICAgcGFkZGluZzogMTBweCAyNHB4IDI0cHg7XG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSBkb3duKSAge1xuICAgICAgICBwYWRkaW5nLWxlZnQ6IDA7XG4gICAgICAgIHBhZGRpbmctcmlnaHQ6IDA7XG4gICAgICB9XG4gICAgICBkaXNwbGF5OiB0YWJsZTtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgLypAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsIGRvd24pIHtcbiAgICAgICAgLy93aWR0aDoxMDAlO1xuICAgICAgICBwYWRkaW5nOiAxMHB4IDBweDsgLy9oZWlnaHQ6MjUwcHg7XG4gICAgICB9Ki9cbiAgICB9XG4gIH1cbiAgdWwubGlzdC1vZi1mYWN0cyB7XG4gICAgbWFyZ2luLXRvcDogLThweDtcbiAgICBsaSB7XG4gICAgICAmLFxuICAgICAgI21haW4tY29udGVudCAmIHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgJjpudGgtY2hpbGQoMiksIFxuICAgICAgICAmOm50aC1jaGlsZCg0KSB7XG4gICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn0iLCIua2V5LWZhY3VsdHkge1xuICAgIG1hcmdpbi1ib3R0b206IDIwcmVtO1xuICAgIGgzIHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gICAgfVxuICAgIGgzLmJ0bS1kaXZpZGVyIHtcbiAgICAgICAgcGFkZGluZy1ib3R0b206IDE2cHg7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgfVxuICAgIGgzLmJ0bS1kaXZpZGVyOmFmdGVyIHtcbiAgICAgICAgY29udGVudDogbm9uZSAhaW1wb3J0YW50O1xuICAgIH1cbiAgICAuZGl2aWRlciB7XG4gICAgICAgIGhlaWdodDogNnB4O1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkbmV1dHJhbC1jb2xvci0yO1xuICAgICAgICB3aWR0aDogNzdweDtcbiAgICAgICAgbWFyZ2luOiAwIGF1dG87XG4gICAgfVxuICAgIC5jb21wb25lbnQtaGVhZGVyIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMnJlbTtcbiAgICAgICAgLmNvbHVtbnMge1xuICAgICAgICAgICAgZmxleDogMSAxIGF1dG87XG4gICAgICAgIH1cbiAgICB9XG4gICAgLnJvdy1rZXktZmFjdWx0eSB7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xuICAgICAgICBtYXJnaW4tbGVmdDogYXV0bztcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgZmxleC1mbG93OiBub3dyYXA7XG4gICAgfVxuICAgIC5jb21wb25lbnQtY29udGFpbmVyIHtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICAvL21hcmdpbi1sZWZ0OiAzJTtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIGhlaWdodDogMjVyZW07XG4gICAgICAgIHotaW5kZXg6IDMwMDtcbiAgICB9XG4gICAgLmNvbHVtbnMge1xuICAgICAgICBmbGV4OiBub25lO1xuICAgIH1cbiAgICAuYmFja2dyb3VuZC1jb250YWluZXIge1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRhY2NlbnQtY29sb3ItMmI7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBoZWlnaHQ6IDI3LjVyZW07XG4gICAgICAgIHRvcDogMTQlO1xuICAgICAgICB6LWluZGV4OiAxMDA7XG4gICAgfVxuICAgIC5rZXktcHJvZmlsZS1iYWNrZ3JvdW5kOmJlZm9yZSB7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGFjY2VudC1jb2xvci0yYjtcbiAgICAgICAgaGVpZ2h0OiA4NiU7XG4gICAgICAgIHRvcDogMTQlO1xuICAgICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgIHotaW5kZXg6IC0xO1xuICAgICAgICAvL3dpZHRoOiAxMDAlO1xuICAgIH1cbiAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAgICAgICAua2V5LXByb2ZpbGUtYmFja2dyb3VuZDpiZWZvcmUge1xuICAgICAgICAgICAgLy93aWR0aDogNTAlO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pe1xuICAgICAgICAua2V5LXByb2ZpbGUtYmFja2dyb3VuZDpiZWZvcmUge1xuICAgICAgICAgICAgLy93aWR0aDogMjUlO1xuICAgICAgICB9XG4gICAgfVxuICAgIC5rZXktZmFjdWx0eS1wcm9maWxlIHtcbiAgICAgICAgcGFkZGluZzogMnB4O1xuICAgICAgICB3aWR0aDogMjg3cHg7XG4gICAgICAgIG1hcmdpbjogMCBhdXRvO1xuICAgIH1cbiAgICAuYmFja2dyb3VuZC1jb250YWluZXItZm91cl9jb2wtb25lIHtcbiAgICAgICAgaGVpZ2h0OiAyOS41cmVtO1xuICAgIH1cbiAgICAuYmFja2dyb3VuZC1jb250YWluZXItZm91cl9jb2wtdHdvIHtcbiAgICAgICAgaGVpZ2h0OiA2NC41cmVtO1xuICAgIH1cbiAgICAuYmFja2dyb3VuZC1jb250YWluZXItZm91cl9jb2wtdGhyZWUge1xuICAgICAgICBoZWlnaHQ6IDk3LjVyZW07XG4gICAgfVxuICAgIC5iYWNrZ3JvdW5kLWNvbnRhaW5lci1mb3VyX2NvbC1mb3VyIHtcbiAgICAgICAgaGVpZ2h0OiAxMzIuNXJlbTtcbiAgICB9XG4gICAgLmJhY2tncm91bmQtY29udGFpbmVyLWZvdXJfY29sLWZpdmUge1xuICAgICAgICBoZWlnaHQ6IDE2NS41cmVtO1xuICAgIH1cbiAgICAuYmFja2dyb3VuZC1jb250YWluZXItb25lX2NvbC1vbmUge1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cbiAgICAuZmFjdWx0eS1jb250YWluZXIge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IGF1dG87XG4gICAgICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgICAgZmxleC1mbG93OiB3cmFwO1xuICAgIH1cbiAgICAudHdvLmZhY3VsdHktY29udGFpbmVyLFxuICAgIC50aHJlZS5mYWN1bHR5LWNvbnRhaW5lcixcbiAgICAuZm91ci5mYWN1bHR5LWNvbnRhaW5lcixcbiAgICAuZml2ZS5mYWN1bHR5LWNvbnRhaW5lciB7XG4gICAgICAgIC5mYWN1bHR5LXByb2ZpbGUtY29udGFpbmVyIHtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDJyZW07XG4gICAgICAgIH1cbiAgICB9XG4gICAgLmZvdXJfY29sIHtcbiAgICAgICAgbWF4LXdpZHRoOiA3MHJlbTtcbiAgICAgICAgc3Bhbi5maXJzdCB7XG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgfVxuICAgIH1cbiAgICAudGhyZWVfY29sIHtcbiAgICAgICAgbWF4LXdpZHRoOiA2OXJlbTtcbiAgICAgICAgLmNvbHVtbnMge1xuICAgICAgICAgICAgZmxleDogMSAxIGF1dG87XG4gICAgICAgIH1cbiAgICB9XG4gICAgLnR3b19jb2wge1xuICAgICAgICBtYXgtd2lkdGg6IDM5cmVtO1xuICAgICAgICAuY29sdW1ucyB7XG4gICAgICAgICAgICBmbGV4OiAxIDEgYXV0bztcbiAgICAgICAgfVxuICAgIH1cbiAgICAub25lX2NvbCB7XG4gICAgICAgIG1heC13aWR0aDogNDNyZW07XG4gICAgICAgIC5mYWN1bHR5LXByb2ZpbGUtY29udGFpbmVyIHtcbiAgICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gICAgICAgIH1cbiAgICAgICAgLmluZm9ybWF0aW9uIHtcbiAgICAgICAgICAgIHBhZGRpbmc6IDAgMnJlbTtcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRhY2NlbnQtY29sb3ItMmI7XG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICB6LWluZGV4OiA4MDA7XG4gICAgICAgICAgICB0b3A6IDQyJTtcbiAgICAgICAgICAgIGxlZnQ6IDQ2JTtcbiAgICAgICAgICAgIHdpZHRoOiAyMXJlbTtcbiAgICAgICAgfVxuICAgICAgICAuaW1hZ2Uge1xuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICB3aWR0aDogMzRyZW07XG4gICAgICAgIH1cbiAgICAgICAgLm5hbWUgLmZpcnN0IHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICB9XG4gICAgICAgIC5yYW5rIHtcbiAgICAgICAgICAgIGZvbnQtc3R5bGU6IGl0YWxpYztcbiAgICAgICAgfVxuICAgICAgICAubGVhcm4tbW9yZSB7XG4gICAgICAgICAgICBwYWRkaW5nOiAxMHB4IDI4cHg7XG4gICAgICAgICAgICBmb250LXNpemU6IDE2cHg7XG4gICAgICAgICAgICBmb250LWZhbWlseTogXCJBY3RvXCIsIHNhbnMtc2VyaWY7XG4gICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgICAgICBjb2xvcjogd2hpdGU7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjYWM5MTQ3O1xuICAgICAgICAgICAgLmljb24tZHUtY3VzdC1yaWdodC1hcnJvdzpiZWZvcmUge1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjOGY2ZDRkO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgYTpob3ZlciB7XG4gICAgICAgICAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuICAgIC5mYWN1bHR5LXByb2ZpbGUtY29udGFpbmVyIHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgfVxuICAgIC5pbWFnZSB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgICBpbWcge1xuICAgICAgICAgICAgd2lkdGg6IDI4N3B4O1xuICAgICAgICAgICAgaGVpZ2h0OiAzODRweDtcbiAgICAgICAgfVxuICAgIH1cbiAgICBbY2xhc3NePVwiaWNvbi1kdVwiXTpiZWZvcmUge1xuICAgICAgICBtYXJnaW4tbGVmdDogMDtcbiAgICB9XG4gICAgLmljb24tZHUtY3VzdC1yaWdodC1hcnJvdzpiZWZvcmUge1xuICAgICAgICBjb2xvcjogJHNlY29uZGFyeS1jb2xvci0zO1xuICAgICAgICBmb250LXNpemU6IC44cmVtO1xuICAgIH1cbiAgICBwIHtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDIycHg7XG4gICAgfVxuICAgIC5yYW5rLFxuICAgIC5uYW1lIHtcbiAgICAgICAgY29sb3I6ICRuZXV0cmFsLWNvbG9yLTY7XG4gICAgfVxuICAgIC5uYW1lIHtcbiAgICAgICAgbWFyZ2luLXRvcDogLjhyZW07XG4gICAgICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gICAgICAgIGZsZXg6IDEgMSBhdXRvO1xuICAgICAgICBvdmVyZmxvdy15OiBhdXRvO1xuICAgIH1cbiAgICAubGVhcm4tbW9yZSB7XG4gICAgICAgIGEge1xuICAgICAgICAgICAgY29sb3I6ICRuZXV0cmFsLWNvbG9yLTY7XG4gICAgICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgICAgIH1cbiAgICAgICAgYTpob3ZlciB7XG4gICAgICAgICAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcbiAgICAgICAgfVxuICAgIH1cbiAgICAucmFuayBzcGFuIHtcbiAgICAgICAgYSB7XG4gICAgICAgICAgICBjb2xvcjogJG5ldXRyYWwtY29sb3ItNjtcbiAgICAgICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICAgICAgfVxuICAgIH1cbn1cbi5rZXktZmFjdWx0eS1vbmUtY29sIHtcbiAgICBtYXJnaW4tYm90dG9tOiA3cmVtO1xufVxuLmtleS1mYWN1bHR5LnR3by1yb3dzIHtcbiAgICBtYXJnaW4tYm90dG9tOiA1NXJlbTtcbiAgICAuZmFjdWx0eS1jb250YWluZXIge1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGxlZnQ7XG4gICAgfVxufVxuLmtleS1mYWN1bHR5LnRocmVlLXJvd3Mge1xuICAgIG1hcmdpbi1ib3R0b206IDg4cmVtO1xuICAgIC5mYWN1bHR5LWNvbnRhaW5lciB7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogbGVmdDtcbiAgICB9XG59XG4ua2V5LWZhY3VsdHkuZm91ci1yb3dzIHtcbiAgICBtYXJnaW4tYm90dG9tOiAxMjNyZW07XG4gICAgLmZhY3VsdHktY29udGFpbmVyIHtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBsZWZ0O1xuICAgIH1cbn1cbi5rZXktZmFjdWx0eS5maXZlLXJvd3Mge1xuICAgIG1hcmdpbi1ib3R0b206IDE1NnJlbTtcbiAgICAuZmFjdWx0eS1jb250YWluZXIge1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGxlZnQ7XG4gICAgfVxufVxuXG5AbWVkaWEgKG1heC13aWR0aDogMTIwMHB4KSB7XG4gICAgLmtleS1mYWN1bHR5IC5iYWNrZ3JvdW5kLWNvbnRhaW5lciB7XG4gICAgICAgIC8vd2lkdGg6IDEwMCU7XG4gICAgICAgIC8vbWFyZ2luLWxlZnQ6IDA7XG4gICAgfVxufVxuXG4vLyBNb2JpbGUuXG4ua2V5LWZhY3VsdHkge1xuICAgIG1hcmdpbi1ib3R0b206IDVyZW07XG59XG4ua2V5LWZhY3VsdHkgLmNvbXBvbmVudC1jb250YWluZXIge1xuICAgIGhlaWdodDogYXV0bztcbn1cbi5rZXktZmFjdWx0eSAua2V5LWZhY3VsdHktcHJvZmlsZSB7XG4gICAgd2lkdGg6IDEwMCU7XG59XG4ua2V5LWZhY3VsdHkgLmtleS1mYWN1bHR5LXByb2ZpbGUge1xuICAgIHBhZGRpbmc6IDAgNXJlbTtcbn1cbi5rZXktZmFjdWx0eSAuaW1hZ2UgaW1nIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IDEwMCU7XG59XG4ua2V5LXByb2ZpbGUtYmFja2dyb3VuZCB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIG1hcmdpbi10b3A6IDI1cHg7XG4gICAgbWFyZ2luLWJvdHRvbTogMjVweDtcbn1cbi5rZXktcHJvZmlsZS1iYWNrZ3JvdW5kOmZpcnN0LWNoaWxkIHtcbiAgICBtYXJnaW4tdG9wOiAwO1xufVxuLmtleS1wcm9maWxlLWJhY2tncm91bmQ6bGFzdC1jaGlsZCB7XG4gICAgbWFyZ2luLWJvdHRvbTogMDtcbn1cbi5rZXktcHJvZmlsZS1iYWNrZ3JvdW5kOmJlZm9yZSB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRhY2NlbnQtY29sb3ItMmI7XG4gICAgaGVpZ2h0OiA4NiU7XG4gICAgdG9wOiAxNCU7XG4gICAgY29udGVudDogXCJcIjtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgei1pbmRleDogLTE7XG4gICAgd2lkdGg6IDEwMCU7XG59XG4ua2V5LWZhY3VsdHkgLmZ1bGwtYmFja2dyb3VuZCB7XG4gICAgYmFja2dyb3VuZDogbm9uZTtcbn1cblxuLy8gTWVkaXVtXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAgIC5rZXktZmFjdWx0eSAua2V5LWZhY3VsdHktcHJvZmlsZSB7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgIH1cbiAgICAua2V5LWZhY3VsdHkgLmtleS1mYWN1bHR5LXByb2ZpbGUge1xuICAgICAgICBwYWRkaW5nOiAwIDEwcmVtO1xuICAgIH1cbiAgICAua2V5LWZhY3VsdHkgLmltYWdlIGltZyB7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgfVxuICAgIC5rZXktcHJvZmlsZS1iYWNrZ3JvdW5kOmJlZm9yZSB7XG4gICAgICAgIGJhY2tncm91bmQ6IDA7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBoZWlnaHQ6IDg2JTtcbiAgICB9XG59XG5cbi8vIExhcmdlXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSl7XG4gICAgLmtleS1mYWN1bHR5IC5pbWFnZSBpbWcge1xuICAgICAgICB3aWR0aDogMjg3cHg7XG4gICAgICAgIGhlaWdodDogMzg0cHg7XG4gICAgfVxuICAgIC5rZXktZmFjdWx0eSAua2V5LWZhY3VsdHktcHJvZmlsZSB7XG4gICAgICAgIHBhZGRpbmc6IDA7XG4gICAgfVxuICAgIC5rZXktcHJvZmlsZS1iYWNrZ3JvdW5kOmJlZm9yZSB7XG4gICAgICAgIGJhY2tncm91bmQ6IDA7XG4gICAgICAgIHdpZHRoOiBhdXRvO1xuICAgIH1cbiAgICAua2V5LXByb2ZpbGUtYmFja2dyb3VuZCB7XG4gICAgICAgIHBvc2l0aW9uOiBzdGF0aWM7XG4gICAgICAgIG1hcmdpbi10b3A6IDBweDtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMHB4O1xuICAgIH1cbiAgICAuZnVsbC1iYWNrZ3JvdW5kOmJlZm9yZSB7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGFjY2VudC1jb2xvci0yYjtcbiAgICAgICAgaGVpZ2h0OiA4NiU7XG4gICAgICAgIHRvcDogMTQlO1xuICAgICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgIHotaW5kZXg6IC0xO1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICB9XG4gICAgLmZhY3VsdHktcHJvZmlsZS1jb250YWluZXIge1xuICAgICAgICBtYXgtd2lkdGg6IDI4N3B4O1xuICAgICAgICBtYXJnaW46IDAgYXV0bztcbiAgICAgICAgcGFkZGluZzogMTBweDtcbiAgICB9XG59XG4iLCIubGFyZ2UtaW1hZ2UtbW9kdWxlX19jb250YWluZXIge1xuXHRtYXJnaW4tYm90dG9tOiAxNjRweDtcblx0bWFyZ2luLXRvcDogMTIycHg7XG5cdEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIGRvd24pIHtcblx0XHRtYXJnaW4tYm90dG9tOiAxMjRweDtcblx0XHRtYXJnaW4tdG9wOiA4M3B4O1xuXHR9XG5cdEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgZG93bikge1xuXHRcdG1hcmdpbi1ib3R0b206IDk0cHg7XG5cdFx0bWFyZ2luLXRvcDogNDBweDtcblx0fVxufVxuLmxhcmdlLWltYWdlLW1vZHVsZSB7XG5cdC8vbWFyZ2luLWJvdHRvbTogNjBweDtcblx0dWwub3JiaXQtY29udGFpbmVyIGxpIHtcblx0XHRtYXJnaW4tbGVmdDogMDtcblx0fVxuXHQmX193cmFwcGVyIHtcblx0XHRvdmVyZmxvdzogaGlkZGVuO1xuXHRcdGhlaWdodDogMzgycHg7XG5cdFx0dHJhbnNpdGlvbjogaGVpZ2h0IDAuNXMgZWFzZTtcblx0XHQub3JiaXQtcHJldmlvdXMsXG5cdFx0Lm9yYml0LW5leHQge1xuXHRcdFx0ZGlzcGxheTogbm9uZTtcblx0XHRcdHotaW5kZXg6IDE7XG5cdFx0fVxuXHRcdC5vcmJpdC1jYXB0aW9uIHtcblx0XHRcdHRyYW5zaXRpb246IHZpc2liaWxpdHkgMC41cyBlYXNlLCBvcGFjaXR5IDAuNXMgZWFzZTtcblx0XHRcdHZpc2liaWxpdHk6IGhpZGRlbjtcblx0XHRcdG9wYWNpdHk6IDA7XG5cdFx0fVxuXHRcdC5vcmJpdC1jb250YWluZXIsXG5cdFx0Lm9yYml0LXNsaWRlIHtcblx0XHRcdGhlaWdodDogNzA0cHggIWltcG9ydGFudDtcblx0XHRcdFxuXHRcdFx0QGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gZG93bikge1xuXHRcdFx0Ly9AaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSBkb3duKSB7XG5cdFx0XHRcdGhlaWdodDogNTExcHggIWltcG9ydGFudDtcblx0XHRcdH1cblx0XHR9XG5cdH1cblx0Ji5sYXJnZS1pbWFnZS1tb2R1bGUtLXNpbmdsZS1zbGlkZSB7XG5cdFx0Lm9yYml0LXByZXZpb3VzLFxuXHRcdC5vcmJpdC1uZXh0LFxuXHRcdC5vcmJpdC1idWxsZXRzIHtcblx0XHRcdGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcblx0XHR9XG5cdFx0Lm9yYml0LWNhcHRpb24ge1xuXHRcdFx0cGFkZGluZy1ib3R0b206IDQ1cHggIWltcG9ydGFudDtcblx0XHR9XG5cdH1cblx0Lm9yYml0LXNsaWRlIHtcblx0XHRpbWcge1xuXHRcdFx0QG1lZGlhIChtYXgtd2lkdGg6IDEzNTZweCkge1xuXHRcdFx0XHRtaW4td2lkdGg6IDEzNTZweDtcdFxuXHRcdFx0XHRsZWZ0OiA1MCU7XG5cdFx0ICAgIFx0bWFyZ2luLWxlZnQ6IC02NzhweDtcblx0XHQgICAgXHRwb3NpdGlvbjogcmVsYXRpdmU7XG5cdFx0XHR9XG5cdFx0XHRAbWVkaWEgKG1heC13aWR0aDogOTg0cHgpIHtcblx0XHRcdFx0bWFyZ2luLWxlZnQ6IC00OTJweDtcblx0XHRcdFx0bWluLXdpZHRoOiA5ODRweDtcblx0XHRcdH1cblx0XHRcdEBtZWRpYSAobWF4LXdpZHRoOiA3MzZweCkge1xuXHRcdFx0XHRtYXJnaW4tbGVmdDogLTM2OHB4O1xuXHRcdFx0XHRtaW4td2lkdGg6IDczNnB4O1xuXHRcdFx0fVxuXHRcdFx0d2lkdGg6IDEwMCU7XG5cdFx0XHRtYXgtd2lkdGg6IDEwMCU7XG5cdFx0fVxuXHR9XG5cdC5vcmJpdC1wcmV2aW91cyxcblx0Lm9yYml0LW5leHQge1xuXHRcdGZvbnQtc2l6ZTogNjNweDtcblx0XHR0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDAuNXMgZWFzZTtcblx0XHRjdXJzb3I6IHBvaW50ZXI7XG5cdH1cblx0Lm9yYml0LXByZXZpb3VzIHtcblx0XHRsZWZ0OiAyMnB4O1xuXHR9XG5cdC5vcmJpdC1uZXh0IHtcblx0XHRyaWdodDogMjJweDtcblx0fVxuXHQubGFyZ2UtaW1hZ2UtbW9kdWxlX190b2dnbGUge1xuXHRcdGRpc3BsYXk6IG5vbmU7XG5cdH1cblx0LmpzICYgLmxhcmdlLWltYWdlLW1vZHVsZV9fdG9nZ2xlLFxuXHQuanMgJiAubGFyZ2UtaW1hZ2UtbW9kdWxlX19jbG9zZS1tb2RhbCB7XG5cdFx0Ym90dG9tOiAtMjRweDtcblx0ICAgIGxlZnQ6IDUwJTtcblx0ICAgIG1hcmdpbi1sZWZ0OiAtODVweDtcblx0ICAgIHdpZHRoOiAxNzBweDtcblx0ICAgIGRpc3BsYXk6IGJsb2NrO1xuXHQgICAgcG9zaXRpb246IGFic29sdXRlO1xuXHRcdC5sYXJnZS1pbWFnZS1tb2R1bGVfX3RvZ2dsZV9faGlkZSB7XG5cdFx0XHRkaXNwbGF5OiBub25lO1xuXHRcdH1cblx0fVxuXHQuanMgJi0tYWN0aXZlIHtcblx0XHQubGFyZ2UtaW1hZ2UtbW9kdWxlX193cmFwcGVyIHtcblx0XHRcdGhlaWdodDogNzA0cHg7XG5cdFx0XHRAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSBkb3duKSB7XG5cdFx0XHQvL0BpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIGRvd24pIHtcblx0XHRcdFx0aGVpZ2h0OiA1MTFweDtcblx0XHRcdH1cblx0XHRcdC5vcmJpdC1wcmV2aW91cyxcblx0XHRcdC5vcmJpdC1uZXh0IHtcblx0XHRcdFx0ZGlzcGxheTogYmxvY2sgIWltcG9ydGFudDtcblx0XHRcdH1cblx0XHRcdC5vcmJpdC1jYXB0aW9uIHtcblx0XHRcdFx0dmlzaWJpbGl0eTogdmlzaWJsZTtcblx0XHRcdFx0b3BhY2l0eTogMTtcblx0XHRcdH1cdFxuXHRcdH1cblx0XHQubGFyZ2UtaW1hZ2UtbW9kdWxlX190b2dnbGUge1xuXHRcdFx0dGV4dC1hbGlnbjogY2VudGVyO1xuXHRcdFx0LmxhcmdlLWltYWdlLW1vZHVsZV9fdG9nZ2xlX19vcGVuIHtcblx0XHRcdFx0ZGlzcGxheTogbm9uZTtcblx0XHRcdH1cblx0XHRcdC5sYXJnZS1pbWFnZS1tb2R1bGVfX3RvZ2dsZV9faGlkZSB7XG5cdFx0XHRcdGRpc3BsYXk6IGJsb2NrO1xuXHRcdFx0fVxuXHRcdH1cblx0fVxufVxuLmxhcmdlLWltYWdlLW1vZHVsZV9fbW9kYWwge1xuXHQubGFyZ2UtaW1hZ2UtbW9kdWxlIHtcblx0XHQub3JiaXQtY29udGFpbmVyLFxuXHRcdC5vcmJpdC1zbGlkZSxcblx0XHQubGFyZ2UtaW1hZ2UtbW9kdWxlX193cmFwcGVyIHtcblx0XHRcdGhlaWdodDogYXV0byAhaW1wb3J0YW50O1xuXHRcdH1cblx0XHQub3JiaXQtcHJldmlvdXMsXG5cdFx0Lm9yYml0LW5leHQge1xuXHRcdFx0Zm9udC1zaXplOiA0MHB4O1xuXHRcdH1cblx0XHQub3JiaXQtY2FwdGlvbiB7XG5cdFx0ICAgIHBvc2l0aW9uOiBzdGF0aWM7XG5cdFx0ICAgIHRleHQtYWxpZ246IGNlbnRlcjtcblx0XHQgICAgZm9udC1zaXplOiAxNHB4O1xuXHRcdCAgICBwIHtcblx0XHQgICAgXHRsaW5lLWhlaWdodDogMThweDtcblx0XHQgICAgfVxuXHRcdCAgICBwYWRkaW5nLWxlZnQ6IDUwcHg7XG5cdFx0ICAgIHBhZGRpbmctcmlnaHQ6IDUwcHg7XG5cdFx0ICAgIHBhZGRpbmctYm90dG9tOiA2NXB4O1xuXHRcdH1cblx0XHQub3JiaXQtc2xpZGUge1xuXHRcdFx0aW1nIHtcblx0XHRcdFx0d2lkdGg6IDEwMCU7XG5cdFx0XHRcdG1pbi13aWR0aDogMDtcblx0XHRcdFx0bGVmdDogMDtcblx0XHRcdFx0bWFyZ2luLWxlZnQ6IDA7XG5cdFx0XHR9XG5cdFx0fVxuXHR9XG59XG5AaW5jbHVkZSBicmVha3BvaW50KHNtYWxsIGRvd24pIHtcblx0LnJldmVhbC5sYXJnZS1pbWFnZS1tb2R1bGVfX21vZGFsIHtcblx0XHRiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcblx0XHRwYWRkaW5nLWxlZnQ6IDA7XG5cdFx0cGFkZGluZy1yaWdodDogMDtcblx0XHRwYWRkaW5nLWJvdHRvbTogMDtcblx0XHRvdmVyZmxvdzogdmlzaWJsZTtcblx0XHRtYXJnaW4tdG9wOiAxNSU7XG5cdFx0aGVpZ2h0OiBhdXRvO1xuXHRcdG1pbi1oZWlnaHQ6IDA7XG5cdFx0d2lkdGg6IGF1dG87XG5cdFx0Jjpmb2N1cyB7XG5cdFx0XHRib3JkZXI6IDAgbm9uZTtcblx0XHRcdG91dGxpbmU6IG5vbmU7XG5cdFx0fVxuXHR9XG5cdC5sYXJnZS1pbWFnZS1tb2R1bGUge1xuXHRcdC5vcmJpdC1idWxsZXRzIHtcblx0XHRcdGRpc3BsYXk6IG5vbmU7XG5cdFx0fVxuXHR9XG5cblx0LmpzIC5sYXJnZS1pbWFnZS1tb2R1bGVfX21vZGFsIHtcblx0XHQub3JiaXQtcHJldmlvdXMsXG5cdFx0Lm9yYml0LW5leHQge1xuXHRcdFx0ZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuXHRcdH1cblx0XHQub3JiaXQtYnVsbGV0cyB7XG5cdFx0XHRkaXNwbGF5OiBibG9jaztcblx0XHRcdHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBcdFx0Ym90dG9tOiAzM3B4O1xuICAgIFx0XHR3aWR0aDogMTAwJTtcbiAgICBcdFx0bWFyZ2luLWJvdHRvbTogOHB4O1xuICAgIFx0XHRidXR0b24ge1xuICAgIFx0XHRcdHdpZHRoOiAxNXB4O1xuICAgIFx0XHRcdGhlaWdodDogMTVweDtcbiAgICBcdFx0fVxuXHRcdH1cblx0fVxufSIsIkBtZWRpYSBzY3JlZW4ge1xuIFx0aHRtbCB7XG4gXHRcdG1pbi13aWR0aDogMzIwcHg7XG4gXHR9XG4gXHRoZWFkZXIge1xuXHRcdGhlaWdodDogNTM4cHg7XG5cdFx0QGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSBkb3duKSB7XG5cdFx0XHRoZWlnaHQ6IDQ4OXB4O1xuXHRcdH1cblx0XHRAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsIGRvd24pIHtcblx0XHRcdGhlaWdodDogNDMwcHg7XG5cdFx0fVxuXHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQoeHh4bGFyZ2UgdXApIHtcblx0XHRcdGhlaWdodDogNzUwcHg7XG5cdFx0fVxuXHR9XG5cdC51dGlsaXR5LXBhZ2Uge1xuXHRcdGhlYWRlciB7XG5cdFx0XHRoZWlnaHQ6IDM5MnB4O1xuXHRcdFx0QGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCBkb3duKSB7XG5cdFx0XHRcdGhlaWdodDogMzU0cHg7XG5cdFx0XHR9XG5cdFx0fVxuXHR9XG4gICAgLmhpZGUtaGVybyB7XG4gICAgICAgIGhlYWRlciB7XG4gICAgICAgICAgICBoZWlnaHQ6IDI2MHB4O1xuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCBkb3duKSB7XG4gICAgICAgICAgICAgICAgaGVpZ2h0OiAyMDBweDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgICN0b3AtYmFyLXN0aWNreS13cmFwIHtcbiAgICAgICAgICAgICAgICBib3gtc2hhZG93OiAwcHggNHB4IDE4cHggMHB4IHJnYmEoMCwgMCwgMCwgLjQ1KTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblx0LnBhZ2UtdGl0bGUtYmFuZCB7XG5cdFx0cG9zaXRpb246IHJlbGF0aXZlO1xuXHRcdCY6YmVmb3JlIHtcblx0XHQgICAgY29udGVudDogXCJcIjtcblx0XHQgICAgcG9zaXRpb246IGFic29sdXRlO1xuXHRcdCAgICB0b3A6IDA7XG5cdFx0ICAgIGxlZnQ6IC01NHB4O1xuXHRcdCAgICBiYWNrZ3JvdW5kLWNvbG9yOiB3aGl0ZTtcblx0XHQgICAgcmlnaHQ6IDA7XG5cdFx0ICAgIHdpZHRoOiBhdXRvO1xuXHRcdCAgICBib3R0b206IDA7XG5cdFx0ICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIGRvd24pIHtcblx0XHQgICAgXHRsZWZ0OiAwO1xuXHRcdCAgICB9XG5cdFx0fVxuXHR9XG5cdC5pbnRybyB7XG5cdFx0bWFyZ2luLWJvdHRvbTogNTFweDtcblx0XHQ+ICo6bGFzdC1jaGlsZCB7XG5cdFx0ICAgIG1hcmdpbi1ib3R0b206IDA7XG5cdFx0fVxuXHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgZG93bikge1xuXHRcdFx0bWFyZ2luLWJvdHRvbTogNDFweDtcblx0XHR9XG5cdH1cblx0QGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xuXHRcdC5wdWxsLXVwID4gKjpsYXN0LWNoaWxkIHtcblx0XHQgICAgbWFyZ2luLWJvdHRvbTogNzBweDtcblx0XHR9XG5cdH1cblx0LmhlYWRpbmcge1xuXHRcdG1hcmdpbi1ib3R0b206IC0xMDBweDtcblx0fVxufVxuQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xuXHQucHVsbC11cCB7XG5cdFx0bWFyZ2luLXRvcDogLTkzcHg7XG5cdCAgICBwYWRkaW5nLXRvcDogNDNweDtcblx0fVxufVxuQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSBkb3duKSB7XG5cblx0I21haW4tY29udGVudCA+IC5yb3csXG5cdGZvb3RlciA+IC5yb3cge1xuXHRcdG1hcmdpbi1sZWZ0OiA1NXB4O1xuXHRcdG1hcmdpbi1yaWdodDogNTVweDtcblx0XHQmLmV4cGFuZGVkIHtcblx0XHRcdG1hcmdpbi1sZWZ0OiAwO1xuXHRcdFx0bWFyZ2luLXJpZ2h0OiAwO1xuXHRcdH1cblx0XHRAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsIGRvd24pIHtcblx0XHRcdG1hcmdpbi1sZWZ0OiAwO1xuXHRcdFx0bWFyZ2luLXJpZ2h0OiAwO1xuXHRcdFx0cGFkZGluZy1sZWZ0OiAxOHB4O1xuXHRcdFx0cGFkZGluZy1yaWdodDogMThweDtcblx0XHR9XG5cdH1cbn1cbkBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIGRvd24pIHtcblx0I21haW4tY29udGVudCB7XHRcdFxuXHRcdD4gLnJvdzpmaXJzdC1jaGlsZCA+IC5wdWxsLXVwIHtcblx0XHRcdG1hcmdpbi10b3A6IC04MXB4O1xuXHRcdFx0cGFkZGluZy10b3A6IDMycHg7XG5cdFx0XHRtYXJnaW4tbGVmdDogLTM1cHg7XG5cdFx0XHRtYXJnaW4tcmlnaHQ6IC0zNXB4O1xuXHRcdFx0cGFkZGluZy1sZWZ0OiA0MnB4O1xuXHRcdFx0cGFkZGluZy1yaWdodDogNDJweDtcblx0XHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgZG93bikge1xuXHRcdFx0ICAgIG1hcmdpbi1sZWZ0OiAtMThweDtcblx0XHRcdCAgICBtYXJnaW4tcmlnaHQ6IC0xOHB4O1xuXHRcdFx0ICAgIHBhZGRpbmctbGVmdDogMjJweDtcblx0XHRcdCAgICBwYWRkaW5nLXJpZ2h0OiAyMnB4O1xuXHRcdFx0fVxuXHRcdH1cblx0fVxuXG59IiwiLmxpc3QtZmlsdGVyIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB3aWR0aDogMTAwJTtcbiAgbWFyZ2luLWJvdHRvbTogM3JlbTtcbiAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICBmbGV4LXdyYXA6IG5vLXdyYXA7XG4gIC5saXN0LWZpbHRlci1zaXplcyB7XG4gICAgY29sb3I6ICRuZXV0cmFsLWNvbG9yLTI7XG4gICAgd2lkdGg6IDMwJTtcbiAgfVxuICAubGlzdC1maWx0ZXItZm9ybSB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgbWFyZ2luLXRvcDogMjVweDtcbiAgICBjb2xvcjogJG5ldXRyYWwtY29sb3ItNjtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkc2Vjb25kYXJ5LWNvbG9yLTc7XG4gICAgLmljb24tZHUtZG93bi1hcnJvdzpiZWZvcmUge1xuICAgICAgbWFyZ2luLXJpZ2h0OiAuNGVtO1xuICAgIH1cbiAgICAudmlld3MtZXhwb3NlZC1mb3JtIHtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgLmZvcm0taXRlbSB7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgd2lkdGg6IDMwJTtcbiAgICAgICAgcGFkZGluZzogMCAyNXB4IDAgMzVweDtcbiAgICAgIH1cbiAgICAgIGxhYmVsIHtcbiAgICAgICAgbWFyZ2luLXRvcDogMXJlbTtcbiAgICAgICAgY29sb3I6ICRuZXV0cmFsLWNvbG9yLTY7XG4gICAgICB9XG4gICAgICAuZm9ybS1hY3Rpb25zIHtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICBtYXJnaW46IDFyZW0gMDtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IDQwJTtcbiAgICAgICAgaW5wdXQ6Zmlyc3QtY2hpbGQge1xuICAgICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgICNlZGl0LXJlc2V0IHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHNlY29uZGFyeS1jb2xvci03O1xuICAgICAgICBib3JkZXI6IDFweCBzb2xpZCAkbmV1dHJhbC1jb2xvci02O1xuICAgICAgICBtYXJnaW4tbGVmdDogMTVweDtcbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgLmxpc3QtZmlsdGVyLWZpbHRlci1idXR0b24ge1xuICAgIHdpZHRoOiAxMiU7XG4gICAgY29sb3I6ICNmZmY7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJHNlY29uZGFyeS1jb2xvci02O1xuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gICAgcGFkZGluZzogMTBweCAyMHB4O1xuICAgIGJvcmRlcjogMnB4IHNvbGlkICRuZXV0cmFsLWNvbG9yLTg7XG4gIH1cbn1cblxuIiwiLnZpZXdzLXBhZ2VyIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBwYWRkaW5nLWJvdHRvbTogM3JlbTtcbiAgICAucGFnZXIge1xuICAgICAgICBtYXJnaW46IDAgYXV0bztcbiAgICAgICAgLnBhZ2VyX19pdGVtcyB7XG4gICAgICAgICAgICBsaXN0LXN0eWxlLXR5cGU6IG5vbmU7XG4gICAgICAgIH1cbiAgICAgICAgLnBhZ2VyX19pdGVtIHtcbiAgICAgICAgICAgIGxpc3Qtc3R5bGUtdHlwZTogbm9uZTtcbiAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZTtcbiAgICAgICAgICAgIGZsb2F0OiBsZWZ0O1xuICAgICAgICAgICAgYSB7XG4gICAgICAgICAgICAgICAgY29sb3I6ICRuZXV0cmFsLWNvbG9yLTI7XG4gICAgICAgICAgICAgICAgcGFkZGluZzogMCA3cHg7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBhOmxpbmsge1xuICAgICAgICAgICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGE6aG92ZXIge1xuICAgICAgICAgICAgICAgIHBhZGRpbmctYm90dG9tOiA4cHg7XG4gICAgICAgICAgICAgICAgYm9yZGVyLWJvdHRvbTogM3B4IHNvbGlkICRuZXV0cmFsLWNvbG9yLTI7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgLmlzLWFjdGl2ZSBhIHtcbiAgICAgICAgICAgIGNvbG9yOiAkc2Vjb25kYXJ5LWNvbG9yLTY7XG4gICAgICAgICAgICBwYWRkaW5nLWJvdHRvbTogOHB4O1xuICAgICAgICAgICAgYm9yZGVyLWJvdHRvbTogM3B4IHNvbGlkICRzZWNvbmRhcnktY29sb3ItNjtcbiAgICAgICAgfVxuICAgICAgICB1bCBsaTpiZWZvcmUge1xuICAgICAgICAgICAgY29udGVudDogbm9uZSAhaW1wb3J0YW50O1xuICAgICAgICB9XG4gICAgICAgIC5wcmV2aW91cyxcbiAgICAgICAgLm5leHQge1xuICAgICAgICAgICAgZm9udC1zaXplOiAxLjVyZW07XG4gICAgICAgICAgICBjb2xvcjogJG5ldXRyYWwtY29sb3ItODtcbiAgICAgICAgICAgIHBhZGRpbmc6IDhweCA0cHg7XG4gICAgICAgICAgICBib3JkZXI6IDJweCBzb2xpZCAkbmV1dHJhbC1jb2xvci01O1xuICAgICAgICB9XG4gICAgfVxufVxuIiwiLm1lZ2EtZmx5b3V0IHtcblxuICAmLmlzLWRyb3Bkb3duLXN1Ym1lbnUge1xuICAgIGxlZnQ6IDAgIWltcG9ydGFudDsgLy8gZm9yY2Ugb3ZlcnJpZGUgZm91bmRhdGlvbiBkcm9wZG93biBzdHlsaW5nXG4gICAgcmlnaHQ6IDAgIWltcG9ydGFudDtcbiAgICB0b3A6IGF1dG8gIWltcG9ydGFudDtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgYm9yZGVyOiAwIG5vbmU7XG4gICAgYm94LXNoYWRvdzogMHB4IDhweCA5cHggMHB4IHJnYmEoMCwgMCwgMCwgMC4yKTtcbiAgfVxuICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSBkb3duKSB7XG4gICAgJi5pcy1kcm9wZG93bi1zdWJtZW51IHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxuICB9XG5cbiAgPiBsaSA+IC5yb3cge1xuICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICAgIG1hcmdpbi1yaWdodDogYXV0bztcbiAgICBwYWRkaW5nLXRvcDogMzlweDtcbiAgICBwYWRkaW5nLWJvdHRvbTogMzlweDtcbiAgICB1bCB7XG4gICAgICBib3JkZXItdG9wOiA4cHggc29saWQgJG5ldXRyYWwtY29sb3ItNTtcbiAgICAgIGxpIHtcbiAgICAgICAgbGlzdC1zdHlsZS10eXBlOiBub25lO1xuICAgICAgICBkaXNwbGF5OiB0YWJsZSAhaW1wb3J0YW50OyAvLyBmb3JjZSBvdmVycmlkZSBmb3VuZGF0aW9uIHN0eWxpbmdcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIGEge1xuICAgICAgICAgIGRpc3BsYXk6IHRhYmxlLWNlbGw7XG4gICAgICAgICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgICAgICAgICBoZWlnaHQ6IDYycHg7XG4gICAgICAgICAgYm9yZGVyLWJvdHRvbTogMnB4IHNvbGlkICRuZXV0cmFsLWNvbG9yLTU7XG4gICAgICAgICAgZm9udC1zaXplOiAxOHB4O1xuICAgICAgICAgIGxpbmUtaGVpZ2h0OiAxLjI7XG4gICAgICAgICAgcGFkZGluZzogMCAxNXB4IDAgMTBweDtcbiAgICAgICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICAgICAgICAmOmhvdmVyLFxuICAgICAgICAgICY6Zm9jdXMge1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJG5ldXRyYWwtY29sb3ItNjtcbiAgICAgICAgICAgIGNvbG9yOiAkcHJpbWFyeS1jb2xvci0zICFpbXBvcnRhbnQ7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICAgIC5jb250ZW50IHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IHdoaXRlO1xuICAgICAgbWFyZ2luLXJpZ2h0OiAzMHB4O1xuICAgICAgbWFyZ2luLXRvcDogLTQ4cHg7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICBwYWRkaW5nLXRvcDogMTdweDtcbiAgICAgIHBhZGRpbmctcmlnaHQ6IDE1cHg7XG4gICAgICBoMiB7XG4gICAgICAgIGZvbnQtc2l6ZTogMjRweDtcbiAgICAgICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgJi5tZWdhLW1lbnUtLWFsdC1sYXlvdXQge1xuICAgIC5jb250ZW50LXdyYXAge1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgLmNvbnRlbnQge1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIGJvdHRvbTogMDtcbiAgICAgICAgbGVmdDogMDtcbiAgICAgICAgbWF4LXdpZHRoOiAzNThweDtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAwO1xuICAgICAgICBtYXJnaW4tdG9wOiAwO1xuICAgICAgICBwYWRkaW5nLXJpZ2h0OiAzMHB4O1xuICAgICAgICB0ZXh0LWFsaWduOmxlZnRcbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgJi5tZWdhLW1lbnUtLWRyb3Bkb3duIHtcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSBkb3duKSB7XG4gICAgICBkaXNwbGF5Om5vbmUgIWltcG9ydGFudDtcbiAgICB9XG5cbiAgICBsZWZ0OiBhdXRvICFpbXBvcnRhbnQ7XG4gICAgcmlnaHQ6IGF1dG8gIWltcG9ydGFudDtcbiAgICAmLmpzLWRyb3Bkb3duLWFjdGl2ZSB7IGRpc3BsYXk6dGFibGUtY2VsbDsgfVxuICAgIG1hcmdpbi1sZWZ0Oi0zNHB4O1xuICAgIGJveC1zaGFkb3c6IDAgMCAzMHB4IDAgcmdiYSgwLCAwLCAwLCAwLjIpO1xuICAgIHotaW5kZXg6LTE7IC8vIG1hc2sgYm94LXNoYWRvdyBiZWhpbmQgYmFubmVyXG5cbiAgICBiYWNrZ3JvdW5kOnRyYW5zcGFyZW50O1xuICAgIHBhZGRpbmc6MDtcblxuICAgID4gbGkge1xuICAgICAgZGlzcGxheTp0YWJsZS1jZWxsO1xuICAgIH1cblxuICAgID4gbGkgPiAucm93IHtcbiAgICAgIHBhZGRpbmctdG9wOjA7XG4gICAgICBwYWRkaW5nLWJvdHRvbTowO1xuICAgICAgZGlzcGxheTp0YWJsZS1jZWxsO1xuXG4gICAgICB1bCB7XG4gICAgICAgIHdpZHRoOjM2MHB4O1xuICAgICAgICBtYXJnaW46MDtcbiAgICAgICAgcGFkZGluZzogMzBweCAzNHB4O1xuICAgICAgICBib3JkZXItdG9wOjA7XG5cbiAgICAgICAgbGkge1xuICAgICAgICAgIHdpZHRoOjEwMCU7XG4gICAgICAgIH1cbiAgICAgICAgbGkgYSB7XG4gICAgICAgICAgZGlzcGxheTpibG9jayAhaW1wb3J0YW50OyAvLyBmb3JjZSBvdmVycmlkZSBpZCBzZWxlY3RvcnNcbiAgICAgICAgICB3aWR0aDoxMDAlO1xuICAgICAgICAgIGhlaWdodDphdXRvO1xuICAgICAgICAgIHBhZGRpbmc6IDIwcHggMTBweDtcbiAgICAgICAgICBib3JkZXItdG9wOiAycHggc29saWQgJG5ldXRyYWwtY29sb3ItNTtcbiAgICAgICAgICBib3JkZXItYm90dG9tOjA7XG4gICAgICAgIH1cbiAgICAgICAgbGk6bGFzdC1jaGlsZCBhIHtcbiAgICAgICAgICBib3JkZXItYm90dG9tOiA4cHggc29saWQgJG5ldXRyYWwtY29sb3ItNTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiLm1pbmktZXZlbnQtZmVlZCB7XG4gIC5pbnRybyB7XG4gICAgYm9yZGVyLWJvdHRvbTogMnB4IHNvbGlkICRuZXV0cmFsLWNvbG9yLTU7XG4gIH1cbiAgLmludHJvIGgyIHtcbiAgICBmb250LXdlaWdodDpib2xkO1xuICB9XG4gIC5mZWVkLWxpbmsge1xuICAgIHBhZGRpbmctdG9wOjEycHg7XG4gIH1cbiAgLmZlZWQtbGluayBhIHtcbiAgICBmb250LWZhbWlseTogJGN0YS1mb250O1xuICAgIGZvbnQtd2VpZ2h0OmJvbGQ7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICB9XG5cbiAgLm1pbmktZXZlbnQtZmVlZF9faXRlbSB7XG4gICAgQGluY2x1ZGUgZmxleC1ncmlkLWNvbHVtbig0KTtcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsIGRvd24pIHtcbiAgICAgIEBpbmNsdWRlIGZsZXgtZ3JpZC1jb2x1bW4oMTIpO1xuICAgIH1cbiAgICBtYXJnaW4tYm90dG9tOiA0NXB4O1xuICB9XG5cbiAgLy8gRHJ1cGFsIHdvcmthcm91bmQgZm9yIHN0dWJib3JuIFZpZXdzIG1hcmt1cFxuICAudmlld3MtZWxlbWVudC1jb250YWluZXIgPiBkaXYge1xuICAgIEBpbmNsdWRlIGZsZXgtZ3JpZC1yb3coKTtcbiAgfVxufSIsIi8qIE1vZGFsIFN0eWxlcyAqL1xuXG4ucmV2ZWFsIHtcbiAgJi5mdWxsIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDI1NSwyNTUsMjU1LDEpO1xuICAgIFxuICAgIC5tb2RhbF9jdGFfdXRpbGl0eSB7XG4gICAgICBcbiAgICAgIGgyIHtcbiAgICAgICAgZm9udC1zaXplOiA2NnB4O1xuICAgICAgICBsaW5lLWhlaWdodDogNjZweDtcbiAgICAgICAgZm9udC13ZWlnaHQ6IDEwMDtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMWVtO1xuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlIGRvd24pIHtcbiAgICAgICAgICBtYXJnaW4tYm90dG9tOiAwLjVlbTtcbiAgICAgICAgICBmb250LXNpemU6IDU1cHg7XG4gICAgICAgICAgbGluZS1oZWlnaHQ6IDU1cHg7XG4gICAgICAgIH1cbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCBkb3duKSB7XG4gICAgICAgICAgZm9udC1zaXplOiAzOHB4O1xuICAgICAgICAgIGxpbmUtaGVpZ2h0OiAzOHB4O1xuICAgICAgICB9XG5cbiAgICAgIH1cbiAgICAgIGg0IHtcbiAgICAgICAgZm9udC13ZWlnaHQ6Ym9sZFxuICAgICAgfVxuICAgICAgaDYge1xuICAgICAgICBjb2xvcjogJG5ldXRyYWwtY29sb3ItMztcbiAgICAgIH1cbiAgICAgIFxuICAgICAgcCB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDFlbTtcbiAgICAgIH1cbiAgICAgIC5idG4ge1xuICAgICAgICBmb250LXNpemU6IDE5cHg7XG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDIxcHg7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDFlbTtcbiAgICAgICAgXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UgZG93bikge1xuICAgICAgICAgIGZvbnQtc2l6ZTogMTdweDtcbiAgICAgICAgICBsaW5lLWhlaWdodDogMTlweDtcbiAgICAgICAgfVxuICAgICAgICAmOmhvdmVyLFxuICAgICAgICAmOmZvY3VzIHtcbiAgICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgJi5tb2RhbF93cmFwcGVye1xuICAgIGhlaWdodDogMTAwJTtcbiAgfVxufVxuXG4jZmVlZGJhY2tfZmxvYXRlciB7XG4gIGJvcmRlcjogMDtcbiAgcG9zaXRpb246IGZpeGVkO1xuICBib3R0b206IDA7XG4gIGxlZnQ6IDIwcHg7XG4gIHotaW5kZXg6IDk5OTtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGJhY2tncm91bmQtY29sb3I6ICRhY2NlbnQtY29sb3ItMmM7XG4gIC13ZWJraXQtYm94LXNoYWRvdzogMCAwIDVweCAzcHggcmdiYSgwLCAwLCAwLCAwLjQpO1xuICAtbW96LWJveC1zaGFkb3c6IDAgMCA1cHggM3B4IHJnYmEoMCwgMCwgMCwgMC40KTtcbiAgYm94LXNoYWRvdzogMCAwIDVweCAzcHggcmdiYSgwLCAwLCAwLCAwLjQpO1xuICBcbiAgJjpob3ZlciwgJjpmb2N1cyB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGFjY2VudC1jb2xvci0yYjtcbiAgfVxufSIsIkBpbmNsdWRlIGZvbnRGYWNlICgnQnJldmVTbGFiVGl0bGUnLCAnZm9udHMvYnJldmUtc2xhYi10aXRsZS13ZWIvdGhpbi9CcmV2ZVNsYWJUaXRsZS1UaGluJywgbm9ybWFsLCAzMDApO1xuXG4uaGVhZGxpbmUtbmV3cy1zdG9yeSB7XG4gIG1hcmdpbi1ib3R0b206IDhweDtcbiAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xuICAgIG1hcmdpbi1ib3R0b206IDMycHg7XG4gIH1cbiAgJjpmaXJzdC1jaGlsZCB7XG4gICAgcGFkZGluZy1yaWdodDogMjVweDtcbiAgfVxuICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XG4gICAgLmNvbHVtbnMge1xuICAgICAgcGFkZGluZy1ib3R0b206IDM2cHg7XG4gICAgfVxuICB9XG4gIC5jb2x1bW5zIHtcbiAgICBwYWRkaW5nLWJvdHRvbTogMTZweDtcbiAgfVxuICAuY29sdW1ucyArIC5jb2x1bW5zIHtcbiAgICBwYWRkaW5nLWxlZnQ6IDI1cHg7XG4gIH1cbiAgLm5ld3MtdGl0bGUge1xuICAgIGgzIHtcbiAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgIGZvbnQtc2l6ZTogNDBweDtcbiAgICAgIGxpbmUtaGVpZ2h0OiA0OHB4O1xuICAgICAgZm9udC1mYW1pbHk6ICdCcmV2ZVNsYWJ0aXRsZScsIHNhbnMtc2VyaWY7XG4gICAgICBmb250LXdlaWdodDogNTAwO1xuICAgICAgbWFyZ2luOiAuMXJlbSAwIDFyZW0gMDtcbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UgZG93bikge1xuICAgICAgICBmb250LXNpemU6IDU1cHg7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiA1NXB4O1xuICAgICAgfVxuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCBkb3duKSB7XG4gICAgICAgIGZvbnQtc2l6ZTogMzhweDtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDM4cHg7XG4gICAgICB9XG4gICAgfVxuICB9XG4gIC5uZXdzLWNhdGVnb3J5IHtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgYSB7XG4gICAgICBjb2xvcjogJG5ldXRyYWwtY29sb3ItMztcbiAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICAgICY6aG92ZXIge1xuICAgICAgICBjb2xvcjogJG5ldXRyYWwtY29sb3ItMztcbiAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4uaWQtMjI0ODEsXG4uaWQtMjM1NjEge1xuICAubmV3cy10aXRsZSB7XG4gICAgcGFkZGluZy1ib3R0b206IDEuNXJlbTtcbiAgfVxuICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XG4gICAgLm5ld3MtdGl0bGUge1xuICAgICAgd2lkdGg6IDI0cmVtO1xuICAgICAgbWFyZ2luOiAwIGF1dG87XG4gICAgICBwYWRkaW5nLWJvdHRvbTogMy4ycmVtO1xuICAgIH1cbiAgfVxuICBoMzphZnRlciB7XG4gICAgY29udGVudDogXCJcIjtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBtYXJnaW46IDAgYXV0bztcbiAgICBtYXJnaW4tdG9wOiAxLjZyZW07XG4gICAgaGVpZ2h0OiA2cHg7XG4gICAgd2lkdGg6IDg1cHg7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJG5ldXRyYWwtY29sb3ItMjtcbiAgfVxuICAubmV3cy1hcnRpY2xlLXRlYXNlciB7XG4gICAgbWFyZ2luOiAwIDJyZW0gMCAyLjVyZW07XG4gIH1cbn1cbi50b3AtbmV3cy1zdG9yeS1pbWFnZS1sZWZ0IHtcbiAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xuICAgICAgLm5ld3MtaW1hZ2UsXG4gICAgICAubmV3cy1pbmZvIHtcbiAgICAgIGZsZXg6IDAgMCA1MCU7XG4gICAgICBtYXgtd2lkdGg6IDUwJTtcbiAgICB9XG4gIH1cbn1cbi50b3AtbmV3cy1zdG9yeS1pbWFnZS10b3Age1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG59XG4vLyAjbWFpbi1jb250ZW50IHtcbi8vICAgJjpub3QoLnR3by1jb2x1bW4tbmV3cykge1xuLy8gICAudG9wLW5ld3Mtc3RvcnktaW1hZ2UtdG9wIHtcbi8vICAgICAgIC5uZXdzLWltYWdlLFxuLy8gICAgICAgLm5ld3MtaW5mbyB7XG4vLyAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4vLyAgICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuLy8gICAgICAgfVxuLy8gICAgIH1cbi8vICAgfVxuLy8gfVxuLm5ld3Mtc3Rvcmllcy1saXN0aW5nIHtcbiAgbWFyZ2luLWJvdHRvbTogNHJlbTtcbiAgaDMge1xuICAgIGZvbnQtc2l6ZTogMS40cmVtO1xuICAgIGZvbnQtd2VpZ2h0OiA1MDA7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICB9XG4gIC5uZXdzLWNhdGVnb3J5IHtcbiAgICBwYWRkaW5nOiAuN3JlbSAwIC4zcmVtIDA7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIGEge1xuICAgICAgY29sb3I6ICRuZXV0cmFsLWNvbG9yLTM7XG4gICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgICAmOmhvdmVyIHtcbiAgICAgICAgY29sb3I6ICRuZXV0cmFsLWNvbG9yLTM7XG4gICAgICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuLm5ld3MtYXJ0aWNsZS1oZWFkZXIge1xuICBoMyBhIHtcbiAgICBjb2xvcjogJG5ldXRyYWwtY29sb3ItMjtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgJjpob3ZlciB7XG4gICAgICBjb2xvcjogJG5ldXRyYWwtY29sb3ItMztcbiAgICB9XG4gIH1cbn1cbi5uZXdzLXN0b3JpZXMtbGlzdGluZy5ob3Jpem9udGFsLWxpc3Rpbmcge1xuICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XG4gICAgLm5ld3Mtc3Rvcnkge1xuICAgICAgZmxleDogMCAwIDMzLjMzMzMzJTtcbiAgICAgIG1heC13aWR0aDogMzMuMzMzMzMlO1xuICAgIH1cbiAgfVxufVxuLm5ld3Mtc3Rvcmllcy1saXN0aW5nLnZlcnRpY2FsLWxpc3Rpbmcge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIC5uZXdzLWltYWdlIHtcbiAgICBwYWRkaW5nLXJpZ2h0OiAwO1xuICAgIHBhZGRpbmctbGVmdDogMDtcbiAgfVxuICAubmV3cy1jYXRlZ29yeSB7XG4gICAgcGFkZGluZzogLjlyZW0gMCAuNXJlbTtcbiAgfVxuICBoMyB7XG4gICAgZm9udC1zaXplOiAxLjFyZW07XG4gICAgbGluZS1oZWlnaHQ6IDI1cHg7XG4gICAgcGFkZGluZy1ib3R0b206IDEuOHJlbTtcbiAgfVxufVxuLnR3by1jb2x1bW4tbmV3cyB7XG4gIG1hcmdpbi1ib3R0b206IDIuNnJlbTtcbiAgLnZlcnRpY2FsLWxpc3Rpbmcge1xuICAgIC5jb2x1bW5zOmZpcnN0LWNoaWxkIHtcbiAgICAgIHBhZGRpbmctcmlnaHQ6IDA7XG4gICAgfVxuICB9XG59XG4udHdvLWNvbHVtbi1uZXdzLWhlYWRlciB7XG4gIHBhZGRpbmctYm90dG9tOiAuNHJlbTtcbiAgJjpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgbWFyZ2luLXJpZ2h0OiAwLjQ0NDQ0cmVtO1xuICAgIG1hcmdpbi1sZWZ0OiAwLjQ0NDQ0cmVtO1xuICAgIG1hcmdpbi1ib3R0b206IDEuN3JlbTtcbiAgICBib3JkZXItdG9wOiAycHggc29saWQgJG5ldXRyYWwtY29sb3ItNztcbiAgfVxuICBoMy5idG0tZGl2aWRlciB7XG4gICAgZm9udC1zaXplOiAyLjFyZW07XG4gICAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgICBsaW5lLWhlaWdodDogMS4zO1xuICB9XG4gIC5idG0tZGl2aWRlcjphZnRlciB7XG4gICAgd2lkdGg6IDg0cHg7XG4gIH1cbiAgLnZpZXctYWxsLXN0b3JpZXMge1xuICAgIGZsb2F0OiByaWdodDtcbiAgICBwYWRkaW5nLXRvcDogMXJlbTtcbiAgfVxufVxuIiwiLnBhZ2VyIHtcblxuICAudmlzdWFsbHktaGlkZGVuIHtcbiAgICAvLyBUaGVzZSBzdHlsZXMgd2VyZSB0YWtpbmcgZnJvbSBEcnVwYWwgY29yZS5cbiAgICBwb3NpdGlvbjogYWJzb2x1dGUgIWltcG9ydGFudDtcbiAgICBjbGlwOiByZWN0KDFweCwgMXB4LCAxcHgsIDFweCk7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICBoZWlnaHQ6IDFweDtcbiAgICB3aWR0aDogMXB4O1xuICAgIHdvcmQtd3JhcDogbm9ybWFsO1xuICB9XG5cbiAgbWFyZ2luOiAxMnB4IGF1dG87XG4gIC5wYWdlcl9faXRlbXMge1xuICAgIGxpc3Qtc3R5bGUtdHlwZTogbm9uZTtcbiAgfVxuICAucGFnZXJfX2l0ZW0ge1xuICAgIGxpc3Qtc3R5bGUtdHlwZTogbm9uZTtcbiAgICBkaXNwbGF5OiBpbmxpbmU7XG4gICAgZmxvYXQ6IGxlZnQ7XG4gICAgYSB7XG4gICAgICBjb2xvcjogJG5ldXRyYWwtY29sb3ItMjtcbiAgICAgIHBhZGRpbmc6IDAgN3B4O1xuICAgIH1cbiAgICBhOmxpbmsge1xuICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgIH1cbiAgICBhOmhvdmVyIHtcbiAgICAgIHBhZGRpbmctYm90dG9tOiA4cHg7XG4gICAgICBib3JkZXItYm90dG9tOiAzcHggc29saWQgJG5ldXRyYWwtY29sb3ItMjtcbiAgICB9XG4gIH1cbiAgLnBhZ2VyX19pdGVtLS1wcmV2aW91cyxcbiAgLnBhZ2VyX19pdGVtLS1uZXh0IHtcbiAgICBhOmhvdmVyIHtcbiAgICAgIGJvcmRlci1ib3R0b206IG5vbmU7XG4gICAgICAubmV4dCxcbiAgICAgIC5wcmV2aW91cyB7XG4gICAgICAgIGJvcmRlcjogMnB4IHNvbGlkICRuZXV0cmFsLWNvbG9yLTg7XG4gICAgICB9XG4gICAgfVxuICB9XG4gIC5pcy1hY3RpdmUgYSB7XG4gICAgY29sb3I6ICRzZWNvbmRhcnktY29sb3ItNjtcbiAgICBwYWRkaW5nLWJvdHRvbTogOHB4O1xuICAgIGJvcmRlci1ib3R0b206IDNweCBzb2xpZCAkc2Vjb25kYXJ5LWNvbG9yLTY7XG4gIH1cbiAgdWwgbGk6YmVmb3JlIHtcbiAgICBjb250ZW50OiBub25lICFpbXBvcnRhbnQ7XG4gIH1cbiAgLnByZXZpb3VzLFxuICAubmV4dCB7XG4gICAgZm9udC1zaXplOiAxLjVyZW07XG4gICAgY29sb3I6ICRuZXV0cmFsLWNvbG9yLTg7XG4gICAgcGFkZGluZzogOHB4IDRweDtcbiAgICBib3JkZXI6IDJweCBzb2xpZCAkbmV1dHJhbC1jb2xvci01O1xuICB9XG59XG4iLCJAbWVkaWEgcHJpbnQge1xuXHQvKkBwYWdlIHtcblx0ICBtYXJnaW46IDFjbSAyY20gMmNtO1xuXHR9Ki9cblx0aGVhZGVyIHtcblx0XHRoZWlnaHQ6IGF1dG87XG5cdFx0Lmhlcm8tbWVkaWEsXG5cdFx0Lmhlcm8tbWVkaWFfX2NhcHRpb24sXG5cdFx0LnV0aWxpdHktbWVudSxcblx0XHQjbWFpbi1tZW51LFxuXHRcdCNzZWFyY2gtdG9nZ2xlcixcblx0XHQjbWFpbi1tZW51LXRvZ2dsZXIge1xuXHRcdFx0ZGlzcGxheTogbm9uZTtcblx0XHR9XG5cdFx0LnN0aWNreS5pcy1zdHVjayB7XG5cdFx0XHRwb3NpdGlvbjogcmVsYXRpdmU7XG5cdFx0fVxuXHRcdCNtYWluLW1lbnUtd3JhcCBhLmxvZ28ge1xuXHRcdFx0bWFyZ2luLWxlZnQ6IDA7XG5cdFx0XHQ+IHNwYW4ge1xuXHRcdFx0XHRwb3NpdGlvbjogc3RhdGljO1xuXHRcdFx0fVxuXHRcdH1cblx0fVxuXHQjbWFpbi1jb250ZW50IHtcblx0XHRtYXJnaW4tbGVmdDogMjBweDtcblx0XHRtYXJnaW4tcmlnaHQ6IDIwcHg7XG5cdFx0LnB1bGwtdXAge1xuXHRcdFx0bWFyZ2luLXRvcDogMDtcblx0XHRcdHBhZGRpbmctbGVmdDogMCAhaW1wb3J0YW50Oztcblx0XHRcdG1hcmdpbi1sZWZ0OiAwO1xuXHRcdFx0aDEge1xuXHRcdFx0XHRtYXJnaW4tdG9wOiA4MHB4O1xuXHRcdFx0XHRmb250LXNpemU6IDQwcHg7XG5cdFx0XHRcdG1hcmdpbi1ib3R0b206IDIwcHg7XG5cdFx0XHR9XG5cdFx0fVxuXHR9XG5cdC5pbnRybyB7XG5cdFx0Ji5sYXJnZS04IHtcblx0XHRcdGZsZXg6IDAgMCAxMDAlO1xuICAgIFx0XHRtYXgtd2lkdGg6IDEwMCU7XG5cdFx0fVxuXHRcdCYubGFyZ2Utb2Zmc2V0LTEge1xuXHRcdCAgICBtYXJnaW4tbGVmdDogMDtcblx0XHR9XG5cdH1cblx0YmxvY2txdW90ZSB7XG5cdFx0Ym9yZGVyOiAwIG5vbmU7XG5cdH1cblx0LmJsb2NrcXVvdGVfX2JhY2tncm91bmQge1xuXHRcdC5sYXJnZS1vZmZzZXQtMiB7XG5cdFx0ICAgIG1hcmdpbi1sZWZ0OiAwO1xuXHRcdH1cblx0fVxuXHQuYWNhZGVtaWMtZmlsdGVyIHtcblx0XHRkaXNwbGF5OiBub25lO1xuXHR9XG5cdC5jYXJkcy1saXN0LW1vZHVsZSB7XG5cdFx0LmNhcmQtbGlzdC1pdGVtIHtcblx0XHRcdHdpZHRoOiA1MCU7XG5cdFx0XHQvL2Zsb2F0OiBub25lO1xuXHRcdFx0cG9zaXRpb246IHN0YXRpYyAhaW1wb3J0YW50O1xuXHRcdFx0ZGlzcGxheTogYmxvY2s7XG5cdFx0XHRtaW4td2lkdGg6IDUwJTtcblx0XHRcdHBhZ2UtYnJlYWstaW5zaWRlOiBhdm9pZDtcblx0XHRcdG1hcmdpbi1ib3R0b206IDFlbTtcblx0XHRcdCYuY2FyZC1saXN0LWl0ZW0tLW9wZW4ge1xuXHRcdFx0XHR3aWR0aDogMTAwJTtcblx0XHRcdFx0bWluLXdpZHRoOiAxMDAlO1xuXHRcdFx0fVxuXHRcdFx0LmNhcmRzLWxpc3RfX2NvbnRlbnQge1xuXHRcdFx0XHRtaW4taGVpZ2h0OiAwO1xuXHRcdFx0XHRwYWRkaW5nOiA1cHggMCAwIDA7XG5cdFx0XHRcdGJvcmRlci10b3Atd2lkdGg6IDNweDtcblx0XHRcdFx0aDIuY2FyZHMtbGlzdC10aXRsZSB7XG5cdFx0XHRcdFx0bWFyZ2luLWJvdHRvbTogNXB4O1xuXHRcdFx0XHRcdGZvbnQtc2l6ZTogMjRweDtcbiAgICBcdFx0XHRcdGxpbmUtaGVpZ2h0OiAyOHB4O1xuXHRcdFx0XHR9XG5cdFx0XHRcdC5hY2FkZW1pYy1jYXJkIHtcblx0XHRcdFx0XHRtYXJnaW4tYm90dG9tOiA1cHg7XG5cdFx0XHRcdFx0cGFkZGluZy1ib3R0b206IDRweDtcblx0XHRcdFx0XHRmb250LXNpemU6IDE0cHg7XG5cdFx0XHRcdH1cblx0XHRcdH1cblx0XHRcdC5jYXJkLWxpc3QtYm90dG9tIHtcblx0XHRcdFx0cG9zaXRpb246IHN0YXRpYztcblx0XHRcdFx0Zm9udC1zaXplOiAxM3B4O1xuXHRcdFx0fVxuXHRcdFx0Ji5hcC1sZXR0ZXIsXG5cdFx0XHQmLmFwLXNjaG9vbCxcblx0XHRcdC5tb3JlLWJ1dHRvbiB7XG5cdFx0XHRcdGRpc3BsYXk6IG5vbmU7XG5cdFx0XHR9XG5cdFx0XHQuZmx5b3V0IHtcblx0XHRcdFx0cG9zaXRpb246IHN0YXRpYztcblx0XHRcdFx0ZmxvYXQ6IG5vbmU7XG5cdFx0XHRcdHdpZHRoOiAxMDAlICFpbXBvcnRhbnQ7XG5cdFx0XHRcdGJvcmRlci1ib3R0b20td2lkdGg6IDA7XG5cdFx0XHRcdC5mbHlvdXQtY29udGVudF9faG9sZGVyIHtcblx0XHRcdFx0XHRwYWRkaW5nOiAwIDEwcHg7XG5cdFx0XHRcdFx0PiAuY29sdW1ucyB7XG5cdFx0XHRcdFx0XHRtYXgtd2lkdGg6IDEwMCU7XG5cdFx0XHRcdFx0XHRmbGV4OiAwIDAgMTAwJTtcblx0XHRcdFx0XHRcdHBhZGRpbmctcmlnaHQ6IDA7XG5cdFx0XHRcdFx0fVxuXHRcdFx0XHR9XG5cdFx0XHRcdC5jYXJkcy1tb2R1bGVfX2J1dHRvbnMge1xuXHRcdFx0XHRcdGRpc3BsYXk6IG5vbmU7XG5cdFx0XHRcdH1cblx0XHRcdH1cblx0XHR9XG5cdFx0LmpzLWZpbHRlci1jYXJkcyB7XG5cdFx0XHRoZWlnaHQ6IGF1dG8gIWltcG9ydGFudDtcblx0XHRcdHBvc2l0aW9uOiBzdGF0aWM7XG5cdFx0fVxuXHR9XG5cblx0LmNvcHktbW9kdWxlIHtcblx0XHR1bCB7XG5cdFx0XHRtYXJnaW4tbGVmdDogMTBweDtcblx0XHRcdGxpIHtcblx0XHRcdFx0bGlzdC1zdHlsZS10eXBlOiBkaXNjICFpbXBvcnRhbnQ7XG5cdFx0XHR9XG5cdFx0fVxuXHRcdCYuY29weS1tb2R1bGUtLWltYWdlLWFsdCB7XG5cdFx0XHQubGFyZ2UtOSxcblx0XHRcdC5sYXJnZS0zIHtcblx0XHRcdFx0ZmxleDogMCAwIDUwJTtcbiAgICBcdFx0XHRtYXgtd2lkdGg6IDUwJTtcblx0XHRcdH1cblx0XHRcdC5sYXJnZS0zIHtcblx0XHRcdFx0LmNvbnRlbnQge1xuXHRcdFx0XHRcdHdpZHRoOiAxMDAlO1xuXHRcdFx0XHRcdGxlZnQ6IDA7XG5cdFx0XHRcdH1cblx0XHRcdH1cblx0XHR9XG5cdH1cblxuICAgIC5pbmZvcm1hdGlvbi1vdmVydmlldy1tb2R1bGUge1xuICAgICAgIC5vcmJpdC1jb250YWluZXIge1xuICAgICAgICAgICBoZWlnaHQ6YXV0bztcbiAgICAgICAgICAgLmZhY3QgLnF1aWNrLWZhY3QtbW9kdWxlX19jb250ZW50IHtcbiAgICAgICAgICAgICAgICBoMiB7XG4gICAgICAgICAgICAgICAgICAgIGZvbnQtc2l6ZToyOHB4O1xuICAgICAgICAgICAgICAgICAgICBwYWRkaW5nLXRvcDoxMHB4O1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgfVxuICAgICAgICAgICAgLmZhY3RTdGF0aXN0aWMge1xuICAgICAgICAgICAgICAgIGhlaWdodDogNTAlIWltcG9ydGFudDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHVsLmxpc3Qtb2YtZmFjdHMge1xuICAgICAgICAgICAgICAgIGxpIHtcbiAgICAgICAgICAgICAgICAgICAgaGVpZ2h0OmF1dG8haW1wb3J0YW50O1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICB9XG4gICAgfVxuXHQucmVsYXRlZC1zdG9yaWVzLW1vZHVsZSB7XG5cdFx0Lm9yYml0LWNvbnRhaW5lciB7XG5cdFx0XHRoZWlnaHQ6IGF1dG87XG5cdFx0fVxuXHRcdC5yZWxhdGVkLXN0b3JpZXMtbW9kdWxlX19zdG9yeSB7XG4gICAgXHRcdHBhZ2UtYnJlYWstaW5zaWRlOmF2b2lkO1xuXHRcdH1cblx0XHQucmVsYXRlZC1zdG9yaWVzLW1vZHVsZV9fc3RvcnlfX2NvbnRlbnQge1xuXHRcdFx0bWFyZ2luLXRvcDogMjBweDtcblx0XHRcdGEge1xuXHRcdFx0XHR0ZXh0LWRlY29yYXRpb246IG5vbmU7XG5cdFx0XHRcdC5yZWFkLW1vcmUge1xuXHRcdFx0XHRcdGZvbnQtd2VpZ2h0OiBib2xkO1xuXHRcdFx0XHRcdGZvbnQtZmFtaWx5OiAkY3RhLWZvbnQ7XG5cdFx0XHRcdH1cblx0XHRcdH1cblx0XHR9XG5cdH1cblx0LnN0b3JpZXMtbW9kdWxlIHtcblx0XHQ+IC5yb3cge1xuXHRcdFx0cGFkZGluZy10b3A6IDA7XG5cdFx0fVxuXHRcdC5zdG9yaWVzLW1vZHVsZV9fc3Rvcnkge1xuXHRcdFx0LmNvbnRlbnQge1xuXHRcdFx0XHRoZWlnaHQ6IGF1dG8gIWltcG9ydGFudDtcblx0XHRcdH1cblx0XHR9XG5cdH1cblx0LmNhcmRzLW1vZHVsZSB7XG5cdFx0PiAucm93IHtcblx0XHRcdHBvc2l0aW9uOiBzdGF0aWM7XG5cdFx0XHQ+IC5jb2x1bW5zIC5jYXJkcy1tb2R1bGVfX2NvbnRlbnQge1xuXHRcdFx0XHQvL3dpZHRoOiAyNTBweDtcblx0XHRcdFx0aGVpZ2h0OiBhdXRvICFpbXBvcnRhbnQ7XG5cdFx0XHRcdG1hcmdpbi10b3A6IDIwcHg7XG5cdFx0XHRcdGg0IHtcblx0XHRcdFx0XHRwYWRkaW5nLXRvcDogMjBweDtcblx0XHRcdFx0fVxuXHRcdFx0fVxuXHRcdH1cblx0fVxuXHQuYWNjb3JkaW9uIHtcblx0XHQuYWNjb3JkaW9uLXRpdGxlIHtcblx0XHRcdCY6YmVmb3JlIHtcblx0XHRcdFx0ZGlzcGxheTogbm9uZTtcblx0XHRcdH1cblx0XHRcdHBhZGRpbmc6IDAgMCAxMHB4IDA7XG5cdFx0fVxuXHRcdC5hY2NvcmRpb24tY29udGVudCB7XG4gICAgXHRcdGRpc3BsYXk6IGJsb2NrO1xuXHRcdH1cblx0fVxuXHQuZmVhdHVyZS12aWRlby1tb2R1bGUge1xuXHRcdC5ibG9ja3F1b3RlX19iYWNrZ3JvdW5kIHtcblx0XHRcdC5sYXJnZS1vZmZzZXQtNyB7XG5cdFx0XHRcdG1hcmdpbi1sZWZ0OiAwO1xuXHRcdFx0XHRtYXgtd2lkdGg6IG5vbmU7XG5cdFx0XHRcdGZsZXg6IDAgMCAxMDAlO1xuXHRcdFx0fVxuXHRcdH1cblx0XHQuZmVhdHVyZS12aWRlby1tb2R1bGVfX3ZpZGVvLXdyYXBwZXIge1xuXHRcdFx0cG9zaXRpb246IHJlbGF0aXZlO1xuXHRcdFx0YS52aWRlby10b2dnbGUge1xuXHRcdFx0XHR0ZXh0LWRlY29yYXRpb246IG5vbmU7XG5cdFx0XHRcdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0XHRcdFx0dG9wOiAwO1xuXHRcdFx0XHRib3R0b206IDA7XG5cdFx0XHRcdGxlZnQ6IDA7XG5cdFx0XHRcdHJpZ2h0OiAwO1xuXHRcdFx0XHRtYXJnaW46IDA7XG5cdFx0XHRcdHBhZGRpbmc6IDA7XG5cdFx0XHRcdGRpc3BsYXk6IGJsb2NrO1xuXHRcdFx0XHR6LWluZGV4OiAxO1xuXHRcdFx0XHRvcGFjaXR5OiAxO1xuXHRcdFx0XHQudmlkZW8tdG9nZ2xlX190ZXh0IHtcblx0XHRcdFx0XHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdFx0XHRcdFx0Ym90dG9tOiAyOHB4O1xuXHRcdFx0XHRcdGxlZnQ6IDhweDtcblx0XHRcdFx0XHRjb2xvcjogd2hpdGU7XG5cdFx0XHRcdFx0PiBbY2xhc3MqPVwiaWNvbi1kdVwiXSB7XG5cdFx0XHRcdFx0XHRmb250LXNpemU6IDYycHg7XG5cdFx0XHRcdFx0XHRwb3NpdGlvbjogcmVsYXRpdmU7XG5cdFx0XHRcdFx0XHR0b3A6IDEwcHg7XG5cdFx0XHRcdFx0XHRjb2xvcjogd2hpdGU7XG5cdFx0XHRcdFx0fVxuXHRcdFx0XHRcdC5pY29uLWR1LXBhdXNlLWNpcmNsZWQge1xuXHRcdFx0XHRcdFx0ZGlzcGxheTogbm9uZTtcblx0XHRcdFx0XHR9XG5cdFx0XHRcdH1cblx0XHRcdH1cblx0XHRcdHZpZGVvIHtcblx0XHRcdFx0d2lkdGg6IDEwMCU7XG5cdFx0XHRcdGhlaWdodDogYXV0bztcblx0XHRcdH1cblx0XHR9XG5cdH1cblx0LmxhcmdlLWltYWdlLW1vZHVsZSAubGFyZ2UtaW1hZ2UtbW9kdWxlX190b2dnbGUge1xuXHRcdGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsgXG5cdH1cblx0I2V2ZW50cy1saXN0aW5nX19zaG93LW1vcmUge1xuXHRcdGRpc3BsYXk6IG5vbmU7XG5cdH1cblx0LmpzICNldmVudHMtbGlzdGluZyA+IC5jb2x1bW5zOm50aC1jaGlsZCgxbis3KSAuZXZlbnRzLWxpc3RpbmdfX2l0ZW0ge1xuXHRcdGRpc3BsYXk6IGJsb2NrO1xuXHR9XG5cdCNkdS1hbGVydCB7XG5cdFx0LmR1LWFsZXJ0X19hY3Rpb24tYnV0dG9uIHtcblx0XHRcdGRpc3BsYXk6IG5vbmU7XG5cdFx0fVxuXHRcdCNkdS1hbGVydF9fY29udGVudCB7XG5cdFx0ICAgIGRpc3BsYXk6IGJsb2NrICFpbXBvcnRhbnQ7XG5cdFx0ICAgIGJvcmRlci1ib3R0b206IDJweCBzb2xpZCAjZTBlMGUwO1xuXHRcdCAgICBtYXJnaW4tYm90dG9tOiAzMHB4O1xuXHRcdH1cblx0fVxuICAgIC5zY2hvb2wtbGlzdCAuYWNjb3JkaW9uLWNvbnRlbnQge1xuICAgICAgICBkaXNwbGF5OmJsb2NrO1xuICAgIH1cbiAgICAjc2Nob29sLWxpc3QtY29udGFpbmVyIHtcbiAgICBcdC5zY2hvb2wtbmFtZSB7XG4gICAgXHRcdG1heC13aWR0aDogbm9uZTtcbiAgICBcdFx0ZmxleDogMCAwIDEwMCU7XG4gICAgXHR9XG4gICAgfVxuXHRoMSwgaDIsIGgzLCBoNCwgaDUge1xuXHRcdHBhZ2UtYnJlYWstYWZ0ZXI6YXZvaWQ7IFxuICAgIFx0cGFnZS1icmVhay1pbnNpZGU6YXZvaWQ7XG5cdH1cblx0dWwsIG9sLCBpbWcsIHAsIGJsb2NrcXVvdGUsIHRhYmxlIHtcblx0XHRwYWdlLWJyZWFrLWluc2lkZTogYXZvaWQ7XG5cdH1cblx0LnNlYXJjaC1yZXN1bHRzIHtcblx0XHRwYWdlLWJyZWFrLWluc2lkZTogYXV0bztcblx0fVxuXG5cdC5pbWctd3JhcHBlcl9fY29udGVudCB7XG5cdFx0Zm9udC1zdHlsZTogaXRhbGljO1xuXHR9XG5cdC5jb250YWN0cy1tb2R1bGUge1xuXHRcdC8qJjphZnRlciB7XG5cdFx0XHRjb250ZW50OiBcIlwiO1xuXHRcdFx0ZGlzcGxheTogdGFibGU7XG5cdFx0XHRjbGVhcjogYm90aDtcblx0XHR9Ki9cblx0XHQuY29udGFjdHMtbW9kdWxlX19jb250ZW50IHtcblx0XHRcdGhlaWdodDogYXV0byAhaW1wb3J0YW50O1xuXHRcdH1cblx0fVxuICAuY29udGFjdC1zaW5nbGUtbW9kdWxlIHtcbiAgICAuY29udGFjdC1zaW5nbGUtbW9kdWxlX292ZXJsYXkge1xuICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG4gICAgLmNvbHVtbnMge1xuICAgICAgbWF4LXdpZHRoOiA1MCU7XG4gICAgfVxuICAgIC5zaG93LWZvci1zbWFsbC1vbmx5IHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxuICB9XG4gIC5jb250YWN0LXNpbmdsZS1tb2R1bGVfX2NvbnRlbnQge1xuICAgIGhlaWdodDogYXV0byAhaW1wb3J0YW50O1xuICAgIFxuICAgIC5zb2NpYWwtbWVkaWEge1xuICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgIC13ZWJraXQtYm94LWFsaWduOiBsZWZ0O1xuICAgICAgLXdlYmtpdC1hbGlnbi1pdGVtczogbGVmdDtcbiAgICAgIC1tcy1mbGV4LWFsaWduOiBsZWZ0O1xuICAgICAgYWxpZ24taXRlbXM6IGxlZnQ7XG5cbiAgICAgIGxpID4gYSB7XG4gICAgICAgIHBhZGRpbmctbGVmdDogMDtcbiAgICAgICAgLyogVGhlc2UgYXJlIHRlY2huaWNhbGx5IHRoZSBzYW1lLCBidXQgdXNlIGJvdGggKi9cbiAgICAgICAgb3ZlcmZsb3ctd3JhcDogYnJlYWstd29yZDtcbiAgICAgICAgd29yZC13cmFwOiBicmVhay13b3JkO1xuXG4gICAgICAgIC1tcy13b3JkLWJyZWFrOiBicmVhay1hbGw7XG4gICAgICAgIC8qIFRoaXMgaXMgdGhlIGRhbmdlcm91cyBvbmUgaW4gV2ViS2l0LCBhcyBpdCBicmVha3MgdGhpbmdzIHdoZXJldmVyICovXG4gICAgICAgIHdvcmQtYnJlYWs6IGJyZWFrLWFsbDtcbiAgICAgICAgLyogSW5zdGVhZCB1c2UgdGhpcyBub24tc3RhbmRhcmQgb25lOiAqL1xuICAgICAgICB3b3JkLWJyZWFrOiBicmVhay13b3JkO1xuXG4gICAgICAgIC8qIEFkZHMgYSBoeXBoZW4gd2hlcmUgdGhlIHdvcmQgYnJlYWtzLCBpZiBzdXBwb3J0ZWQgKE5vIEJsaW5rKSAqL1xuICAgICAgICAtbXMtaHlwaGVuczogYXV0bztcbiAgICAgICAgLW1vei1oeXBoZW5zOiBhdXRvO1xuICAgICAgICAtd2Via2l0LWh5cGhlbnM6IGF1dG87XG4gICAgICAgIGh5cGhlbnM6IGF1dG87XG4gICAgICB9XG4gICAgfVxuICB9XG4gIHVsLnR3by1jb2wge1xuICBcdGxpIHtcbiAgXHRcdG1hcmdpbi1sZWZ0OiAyMHB4O1xuICBcdFx0bGlzdC1zdHlsZS10eXBlOiBkaXNjICFpbXBvcnRhbnQ7XG4gIFx0fVxuICB9XG5cdGZvb3RlciB7XG5cdFx0LmNvcHlyaWdodCB7XG5cdFx0XHQvL2Rpc3BsYXk6IG5vbmU7XG5cdFx0XHQvL3Bvc2l0aW9uOiBmaXhlZDtcblx0XHRcdC8vYm90dG9tOiAwcHg7XG5cdFx0XHRtYXJnaW4tdG9wOiA1MHB4O1xuXHRcdFx0Ly93aWR0aDogMTAwJTtcblx0XHRcdGJvcmRlci10b3A6IDZweCBzb2xpZCAkbmV1dHJhbC1jb2xvci0xO1xuXHRcdH1cblx0fVxuXG5cblxuXHQvLyBESVNQTEFZOkJMT0NLIC8gRElTUExBWTpOT05FXG5cdC5zdWItbWVudS13cmFwLFxuXHQuZm9sbG93LXVzLFxuXHRmb290ZXIgLmJnLWRhcmstZ3JheSxcblx0LmpzIC5zaG93LWhpZGUtdG9nZ2xlIHtcblx0XHRkaXNwbGF5OiBub25lO1xuXHR9XG5cdC5qcyAuc2hvdy1oaWRlX19jb250ZW50cyB7XG5cdFx0ZGlzcGxheTogYmxvY2s7XG5cdH1cblxuXG5cblxuXG5cdC8vIEFETUlTU0lPTiBTVEVQU1xuXHQuYWRtaXNzaW9uLXN0ZXBzIHtcblx0XHQuYWRtaXNzaW9uLXN0ZXBzX19uYXYge1xuXHRcdFx0ZGlzcGxheTogbm9uZTtcblx0XHR9XG5cdFx0LmxhcmdlLW9mZnNldC00IHtcbiAgICBcdFx0bWFyZ2luLWxlZnQ6IDA7XG4gICAgXHRcdG1heC13aWR0aDogbm9uZTtcbiAgICBcdFx0ZmxleDogMCAwIDEwMCU7XG4gICAgXHRcdHBhZGRpbmctbGVmdDogMDtcblx0XHR9XG5cdFx0LmFkbWlzc2lvbi1zdGVwc19fcHJpbnQge1xuXHRcdFx0ZGlzcGxheTogbm9uZTtcblx0XHR9XG5cdFx0LmFkbWlzc2lvbi1zdGVwc19fc2VjdGlvbi1uYW1lIHtcblx0XHRcdHBvc2l0aW9uOiBzdGF0aWMgIWltcG9ydGFudDtcblx0XHRcdHdpZHRoOiBhdXRvO1xuICAgIFx0XHRoZWlnaHQ6IGF1dG87XG5cdFx0fVxuXHRcdC50YWJzLXBhbmVsW2FyaWEtaGlkZGVuPVwidHJ1ZVwiXSB7XG5cdFx0ICAgIGRpc3BsYXk6IGJsb2NrICFpbXBvcnRhbnQ7XG5cdFx0fVxuXHRcdC50YWJzLnZlcnRpY2FsIHtcblx0XHRcdGRpc3BsYXk6IG5vbmU7XG5cdFx0fVxuXHRcdD4gLnRhYnMtY29udGVudCB7XG5cdFx0XHRib3JkZXItd2lkdGg6IDAgIWltcG9ydGFudDtcblx0XHRcdC50YWJzLWNvbnRlbnQge1xuXHRcdFx0XHRib3JkZXItd2lkdGg6IDAgIWltcG9ydGFudDtcblx0XHRcdFx0dWwge1xuXHRcdFx0XHRcdG1hcmdpbi1sZWZ0OiAxMHB4O1xuXHRcdFx0XHRcdGxpIHtcblx0XHRcdFx0XHRcdGxpc3Qtc3R5bGUtdHlwZTogZGlzYyAhaW1wb3J0YW50O1xuXHRcdFx0XHRcdH1cblx0XHRcdFx0fVxuXHRcdFx0fVxuXHRcdFx0PiAudGFicy1wYW5lbCA+IC5yb3cgPiAubGFyZ2UtOSB7XG5cdFx0XHRcdG1heC13aWR0aDogbm9uZTtcbiAgICBcdFx0XHRmbGV4OiAwIDAgMTAwJTtcblx0XHRcdH1cblx0XHR9XG5cdFx0LnN1Yi1zdGVwLWNvbnRlbnQge1xuXHRcdFx0bWluLWhlaWdodDogMCAhaW1wb3J0YW50O1x0XG5cdFx0XHRib3JkZXItd2lkdGg6IDAgIWltcG9ydGFudDtcblx0XHRcdGg0IHtcblx0XHRcdFx0cGFnZS1icmVhay1hZnRlcjphdm9pZDtcblx0XHRcdFx0Zm9udC1zaXplOiAzMHB4O1xuXHRcdFx0XHRsaW5lLWhlaWdodDogMzZweDtcblx0XHRcdH1cblx0XHR9XG5cdH1cbn1cbiIsIiNtYWluLWNvbnRlbnQucHJvZmlsZS1wYWdlIHtcbiAgcGFkZGluZy10b3A6IDMwcHg7XG5cbiAgLnJvdy5tYWluLXdyYXBwZXIge1xuICAgIG1heC13aWR0aDogMTAwJSAhaW1wb3J0YW50O1xuICAgIHBhZGRpbmc6IDIwcHggMDtcbiAgfVxuICBoMSB7XG4gICAgcGFkZGluZy1ib3R0b206IDA7XG4gICAgJjphZnRlcntcbiAgICAgIHdpZHRoOiAwO1xuICAgICAgaGVpZ2h0OiAwO1xuICAgICAgYmFja2dyb3VuZDogbm9uZTtcbiAgICB9XG4gIH1cblxuICAucHJvZmlsZS1iYWNrZ3JvdW5kIHtcbiAgICBiYWNrZ3JvdW5kOiAjZjRmNGY0O1xuICB9XG4gIC5uby1iYWNrZ3JvdW5kIHtcbiAgICBiYWNrZ3JvdW5kOiB3aGl0ZTtcbiAgfVxuICAucHJvZmlsZS1waG90byBpbWcge1xuICAgIG1hcmdpbi10b3A6IC0yMHB4O1xuICB9XG4gIC50b3AtaW5mbyB7XG4gICAgbWFyZ2luLXRvcDogMzBweDtcbiAgfVxuXG4gIC5zdWItbWVudS13cmFwIHtcbiAgICBtYXJnaW4tdG9wOiAzMHB4O1xuICAgIHdpZHRoOiAxMDAlO1xuICB9XG4gICNzdWItbWVudSB7XG4gICAgLnN1Yi1tZW51LS1ob3Jpem9udGFsLnByb2ZpbGUtdGFicyA+IHVsID4gbGkge1xuXG4gICAgfVxuICB9XG4gIC5waG9uZS1kZXNjIHtcbiAgICBjb2xvcjogI2NjYztcbiAgfVxuXG4gIHVsLnByb2ZpbGUtdGFncyB7XG4gICAgbWFyZ2luOiAwO1xuICAgIHBhZGRpbmc6IDA7XG4gICAgbGlzdC1zdHlsZTogbm9uZTtcbiAgICBsaSB7XG4gICAgICBsaXN0LXN0eWxlOiBub25lO1xuICAgICAgcGFkZGluZzogMjBweCAwO1xuICAgICAgYm9yZGVyLWJvdHRvbTogc29saWQgMXB4ICNmNGY0ZjQ7XG4gICAgICB0ZXh0LWluZGVudDogMjBweDtcbiAgICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgICAgJjpmaXJzdC1jaGlsZCB7XG4gICAgICAgIGJvcmRlci10b3A6IHNvbGlkIDFweCAjZjRmNGY0O1xuICAgICAgfVxuICAgICAgJjpiZWZvcmUge1xuICAgICAgICBiYWNrZ3JvdW5kOiBub25lO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC5wcm9maWxlLWV4cGVydCB7XG4gICAgZm9udC1zaXplOiAxNnB4O1xuICAgIG1hcmdpbi10b3A6IC0xMHB4O1xuICB9XG5cbiAgLnByb2ZpbGUtbGlua3MgYSB7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICB9XG4gIC5wcm9maWxlLWxpbmtzIHAge1xuICAgIG1hcmdpbi1ib3R0b206IDAuNXJlbTtcbiAgfVxuICAucHJvZmlsZS1sb2NhdGlvbiB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xuXG4gICAgLmluZm8tcHJvZmlsZS1sb2Mge1xuICAgICAgcGFkZGluZy1sZWZ0OiA1cHg7XG4gICAgfVxuICB9XG5cbiAgLmljb24tZHUtdHdpdHRlcixcbiAgLmljb24tZHUtZmFjZWJvb2ssXG4gIC5pY29uLWR1LWxpbmtlZGluIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgYm9yZGVyLXJhZGl1czogNjBweDtcbiAgICBib3gtc2hhZG93OiAwcHggMHB4IDJweCAjYjVhMTVjO1xuICAgIHBhZGRpbmc6IDAuNWVtIDAuNmVtO1xuICAgIGJhY2tncm91bmQ6ICNiNWExNWM7XG4gICAgbWFyZ2luLXJpZ2h0OiAxMHB4O1xuICAgICY6YmVmb3JlIHtcbiAgICAgIGNvbG9yOiB3aGl0ZTtcbiAgICB9XG4gIH1cblxuICBhLnByb2ZpbGUtc29jaWFsLWxpbmsge1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgfVxuXG4gIC50YWJzLWNvbnRlbnQge1xuICAgIGJvcmRlci1yaWdodDogbm9uZTtcbiAgICBib3JkZXItbGVmdDogbm9uZTtcbiAgICBwYWRkaW5nOiAxMHB4O1xuICAgIHdpZHRoOiAxMDAlO1xuICB9XG4gIC50YWJzLXBhbmVsIHtcbiAgICBwYWRkaW5nOiAwO1xuICB9XG5cbiAgLmxpbmstZG93bmxvYWQge1xuICAgIGEge1xuICAgICAgY29sb3I6ICNiOWEwNjc7XG4gICAgICBiYWNrZ3JvdW5kOiAjZjlmOWY5O1xuICAgICAgYm9yZGVyLWxlZnQ6IHNvbGlkIDZweCAjYjhhMTVkO1xuICAgICAgcGFkZGluZzogMjBweDtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICBmb250LXdlaWdodDogNjAwO1xuICAgIH1cbiAgfVxuXG4gIC5zcGFuLWFycm93LWRvd24ge1xuICAgIHdpZHRoOiAzMnB4O1xuICAgIGhlaWdodDogMzJweDtcbiAgICB0b3A6IC0zNHB4O1xuICAgIGJhY2tncm91bmQ6ICMwZjYzN2E7XG4gICAgcGFkZGluZzogMTBweDtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgJjphZnRlciB7XG4gICAgICBjb250ZW50OiAnJztcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIGJvcmRlci1zdHlsZTogc29saWQ7XG4gICAgICBib3JkZXItd2lkdGg6IDlweCA5cHggMHB4O1xuICAgICAgYm9yZGVyLWNvbG9yOiAjMGY2MzdhIHRyYW5zcGFyZW50O1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICB3aWR0aDogMDtcbiAgICAgIHotaW5kZXg6IDE7XG4gICAgICB0b3A6IDQycHg7XG4gICAgICBsZWZ0OiAxNHB4O1xuICAgIH1cbiAgICAmOmJlZm9yZSB7XG4gICAgICBjb2xvcjogd2hpdGU7XG4gICAgfVxuICB9XG59XG5cbiIsIiNhdWRpZW5jZS1tZW51IHtcblx0cGFkZGluZy1sZWZ0OiAxMDBweDtcblx0cGFkZGluZy1yaWdodDogMTAwcHg7XG5cdHBhZGRpbmctdG9wOiA0OHB4O1xuXHQuY29sdW1ucyB7XG5cdFx0bWFyZ2luLWJvdHRvbTogMTZweDtcblx0XHRAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsIGRvd24pIHtcblx0XHRcdG1hcmdpbi1ib3R0b206IDdweDtcblx0XHR9XG5cdFx0LmJnLWltZy1idG4gLmNvbnRlbnQge1xuXHRcdFx0YmFja2dyb3VuZC1jb2xvcjogcmdiYSgwLDAsMCwwLjUpO1xuXHRcdFx0Zm9udC1zaXplOiAyMnB4O1xuXHRcdFx0Jixcblx0XHRcdHAge1xuXHRcdFx0XHRsaW5lLWhlaWdodDogMS4yO1xuXHRcdFx0fVxuXHRcdFx0Jjpob3Zlcixcblx0XHRcdCY6Zm9jdXMge1xuXHRcdFx0XHRiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDAsMCwwLDAuNzUpO1xuXHRcdFx0fVxuXHRcdH1cblx0fVxuXHQucm93ICsgLnJvdyB7XG5cdFx0bWFyZ2luLXRvcDogMTVweDtcblx0fVxuXHRAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlIGRvd24pIHtcblx0XHRwYWRkaW5nLWxlZnQ6IDc3cHg7XG5cdFx0cGFkZGluZy1yaWdodDogNTZweDtcdFxuXHR9XG5cdEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgZG93bikge1xuXHRcdHBhZGRpbmctbGVmdDogMjlweDtcblx0XHRwYWRkaW5nLXJpZ2h0OiAzMXB4O1x0XG5cdFx0LmJnLWltZy1idG4ge1xuXHRcdCAgICBtYXJnaW4tdG9wOiAwO1xuXHRcdH1cblx0fVxufVxuLmlzLW9mZi1jYW52YXMtb3BlbiBoZWFkZXIgI3RvcC1iYXItc3RpY2t5LXdyYXAge1xuXHRtYXgtd2lkdGg6IG5vbmU7XG59XG5AaW5jbHVkZSBicmVha3BvaW50KGxhcmdlIGRvd24pIHtcblx0Lm9mZi1jYW52YXMucG9zaXRpb24tcmlnaHQge1xuXHQgICAgd2lkdGg6IDU3MXB4O1xuXHQgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDU3MXB4KTtcblx0ICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgZG93bikge1xuXHRcdCAgICB3aWR0aDogMjg2cHg7XG5cdFx0ICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgyODZweCk7XG5cdCAgICB9XG5cdH1cblx0Lm9mZi1jYW52YXMuaXMtb3BlbiB7XG4gICAgXHR0cmFuc2Zvcm06IHRyYW5zbGF0ZSgwLCAwKTtcbiAgICB9XG4gICAgLnBvc2l0aW9uLXJpZ2h0LmlzLW9wZW4gfiAub2ZmLWNhbnZhcy1jb250ZW50IHtcbiAgICBcdHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTcxcHgpO1xuXHQgICAgQGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCBkb3duKSB7XG4gICAgXHRcdHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtMjg2cHgpO1xuICAgIFx0fVxuXHR9XG59XG5cbiIsIi50aHJlZS1jb2wtcXVpY2stc3RhdHMge1xuICBoZWlnaHQ6IGF1dG87XG4gIGJhY2tncm91bmQ6ICNmNGY0ZjQgdXJsKC4uL2ltYWdlcy9hcnJvdy1wYXR0ZXJuX3RyYW5zcGFyZW50LnBuZykgcmVwZWF0IHNjcm9sbCAwIDA7XG4gIHBhZGRpbmc6IDMwcHggMzBweCAwO1xuXG4gIC50aHJlZS1jb2wtZmFjdHMge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIHBhZGRpbmctdG9wOiA1JTtcbiAgICBwYWRkaW5nLWJvdHRvbTogNSU7XG5cbiAgICA+IC50aHJlZS1jb2wtZmFjdHNfX2l0ZW0gcCB7XG4gICAgICBjb2xvcjogJG5ldXRyYWwtY29sb3ItMTtcbiAgICB9XG4gICAgLnRocmVlLWNvbC1mYWN0c19faXRlbSBzdHJvbmcsXG4gICAgPiAudGhyZWUtY29sLWZhY3RzX19pdGVtICsgLnRocmVlLWNvbC1mYWN0c19faXRlbSBwIHN0cm9uZyxcbiAgICA+IC50aHJlZS1jb2wtZmFjdHNfX2l0ZW0gKyAudGhyZWUtY29sLWZhY3RzX19pdGVtICsgLnRocmVlLWNvbC1mYWN0c19faXRlbSBwIHN0cm9uZyB7XG4gICAgICBjb2xvcjogJGFjY2VudC1jb2xvci0xYTtcbiAgICB9XG4gIH1cblxufVxuXG4uaW5mb3JtYXRpb24tb3ZlcnZpZXctbW9kdWxlLnNpbmdsZS1xdWljay1zdGF0IHtcbiAgbWFyZ2luLXRvcDogMjBweDtcbiAgbWFyZ2luLWJvdHRvbTogMjBweDtcbiAgPiAucm93IHtcbiAgICBwYWRkaW5nLXRvcDogMjBweDtcbiAgICBwYWRkaW5nLWJvdHRvbTogMjBweDtcbiAgfVxuICAmLndpdGgtaGVhZGxpbmUge1xuICAgIC5mYWN0LWhlYWRsaW5lIHtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICAuY2FwdGlvbiB7XG4gICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICAgICAgcCB7XG4gICAgICAgICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuLmluZm9ybWF0aW9uLW92ZXJ2aWV3LW1vZHVsZS5xdWljay1zdGF0LXN0YW5kYXJkIHtcbiAgcGFkZGluZy10b3A6IDA7XG59XG4uaW5mb3JtYXRpb24tb3ZlcnZpZXctbW9kdWxlIC5xdWljay1mYWN0LW1vZHVsZV9fY29udGVudCAuZmFjdC1zdGFuZGFyZCB7XG4gIHBhZGRpbmc6IDI0cHg7XG4gIHAge1xuICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgJi5oZWFkbGluZSB7XG4gICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgIH1cbiAgfVxufVxuXG4ucXVpY2stc3RhdC13cmFwcGVyIHtcbiAgaDEge1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAmOmFmdGVyIHtcbiAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICBib3R0b206IDA7XG4gICAgICBoZWlnaHQ6IDhweDtcbiAgICAgIHdpZHRoOiA4NXB4O1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJG5ldXRyYWwtY29sb3ItMjtcbiAgICAgIHJpZ2h0OiA1MCU7XG4gICAgICBtYXJnaW4tcmlnaHQ6IC00M3B4O1xuICAgICAgbGVmdDogdW5zZXQgIWltcG9ydGFudDtcbiAgICB9XG4gIH1cbn1cblxuLnF1aWNrLXN0YXQtd3JhcHBlci5hbGlnbi1sZWZ0IHtcbiAgaDEge1xuICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgJjphZnRlciB7XG4gICAgICBsZWZ0OiAwICFpbXBvcnRhbnQ7XG4gICAgfVxuICB9XG59XG5cbi5mZWF0dXJlLWZ1bGwtaGVhZGxpbmUge1xuICBwYWRkaW5nOiAwO1xuICA+IC5yb3cge1xuICAgIHBhZGRpbmc6IDAgIWltcG9ydGFudDtcbiAgfVxuICAucXVpY2stZmFjdC1tb2R1bGVfX2hlYWQge1xuICAgIGhlaWdodDogYXV0byAhaW1wb3J0YW50O1xuICAgIGgyIHtcbiAgICAgIG1hcmdpbi10b3A6IDI1cHg7XG4gICAgfVxuICB9XG59XG5cbi5ncmFwaGljLWRlc2Mge1xuICBwYWRkaW5nOiAwO1xuICA+IC5yb3cge1xuICAgIHBhZGRpbmc6IDAgIWltcG9ydGFudDtcbiAgfVxuICAucXVpY2stZmFjdC1tb2R1bGVfX2hlYWQge1xuICAgIGhlaWdodDogYXV0byAhaW1wb3J0YW50O1xuICB9XG4gICNmYWN0SW1hZ2Uge1xuICAgIG1hcmdpbi10b3A6IDI1cHg7XG4gIH1cbn1cblxuLnRleHQtaGVhZGxpbmUge1xuICBwYWRkaW5nOiAwO1xuICA+IC5yb3cge1xuICAgIHBhZGRpbmc6IDAgIWltcG9ydGFudDtcbiAgfVxuICAucXVpY2stZmFjdC1tb2R1bGVfX2hlYWQge1xuICAgIHBhZGRpbmc6IDAgIWltcG9ydGFudDtcbiAgfVxufVxuXG4udGhyZWUtY29sLXF1aWNrLXN0YXRzIHAuc3RhdGlzdGljIHtcbiAgY29sb3I6ICM1MzQ3Nzk7XG4gIGZvbnQtZmFtaWx5OiBcIkJyZXZlRGlzcGxheVwiLCBzYW5zLXNlcmlmO1xuICBmb250LXdlaWdodDogYm9sZDtcbiAgZm9udC1zaXplOiA5NXB4O1xuICBsaW5lLWhlaWdodDogOTVweDtcbiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBwYWRkaW5nOiAwcHggMjRweCAwcHggMjRweDtcbiAgbWFyZ2luLWJvdHRvbTogMDtcbiAgdGV4dC1yZW5kZXJpbmc6IG9wdGltaXplTGVnaWJpbGl0eTtcbn0iLCIucXVvdGVzLW1vZHVsZV9fd3JhcHBlciB7XG5cdHBvc2l0aW9uOiByZWxhdGl2ZTtcblx0Jixcblx0KyAucm93IHtcblx0XHRtYXJnaW4tdG9wOiAxNTBweDtcblx0XHRAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsIGRvd24pIHtcblx0XHRcdG1hcmdpbi10b3A6IDYwcHg7XG5cdFx0fVxuXHR9XG5cdEBpbmNsdWRlIGJyZWFrcG9pbnQoeGxhcmdlKSB7XG5cdFx0JjpiZWZvcmUge1xuXHRcdFx0Y29udGVudDogXCJcIjtcblx0XHRcdGJhY2tncm91bmQ6IHRyYW5zcGFyZW50IHVybCgnLi4vaW1hZ2VzL2Fycm93LXBhdHRlcm4ucG5nJykgcmVwZWF0IHNjcm9sbCAwIDA7XG5cdFx0XHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdFx0XHRyaWdodDogMDtcblx0XHRcdHRvcDogNTAlO1xuXHRcdFx0bWFyZ2luLXRvcDogLTE3NXB4O1xuXHRcdFx0bGVmdDogMDtcblx0XHRcdHdpZHRoOiAxMDAlO1xuXHRcdFx0aGVpZ2h0OiAzNTBweDtcblx0XHRcdHotaW5kZXg6IDA7XG5cdFx0XHQvKkBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UgZG93bikge1xuXHRcdFx0XHR0b3A6IC0zMHB4O1xuXHRcdFx0XHRoZWlnaHQ6IDMwcHg7XG5cdFx0XHR9XG5cdFx0XHRAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsIGRvd24pIHtcblx0XHRcdFx0d2lkdGg6IDEwMCU7XG5cdFx0XHR9Ki9cblx0XHR9XG5cdH1cbn1cbi5xdW90ZXMtbW9kdWxlIHtcblxuXHQub3JiaXQtc2xpZGUge1xuXHRcdD4gLnJvdyB7XG5cdFx0XHRtYXJnaW4tbGVmdDogMDtcblx0XHRcdG1hcmdpbi1yaWdodDogMDtcblx0XHRcdD4gLmNvbHVtbnMge1xuXHRcdFx0XHRwYWRkaW5nLWxlZnQ6IDA7XG5cdFx0XHRcdHBhZGRpbmctcmlnaHQ6IDA7XG5cdFx0XHR9XG5cdFx0fVxuXHR9XG5cdC5xdW90ZXMtbW9kdWxlX19jb250ZW50IHtcblx0XHRiYWNrZ3JvdW5kLWNvbG9yOiAkYWNjZW50LWNvbG9yLTJjO1xuXHRcdHBhZGRpbmc6IDAgMjUwcHggMCA1MHB4O1xuXHRcdGRpc3BsYXk6IHRhYmxlO1xuXHRcdHdpZHRoOiAxMDAlO1xuXHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XG5cdFx0XHRtaW4taGVpZ2h0OiA0NDVweDtcblx0XHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UgZG93bikge1xuXHRcdFx0XHRtaW4taGVpZ2h0OiAzNDVweDtcblx0XHRcdH1cblx0XHR9XG5cdFx0QGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSBkb3duKSB7XG5cdFx0XHRwYWRkaW5nLXJpZ2h0OiAyMDBweDtcblx0XHRcdHBhZGRpbmctbGVmdDogMjVweDsgXG5cdFx0fVxuXHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgZG93bikge1xuXHRcdFx0cGFkZGluZzogNTRweCAyNXB4O1xuXHRcdH1cblx0XHRibG9ja3F1b3RlIHtcblx0XHRcdGRpc3BsYXk6IHRhYmxlLWNlbGw7XG5cdFx0XHR2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuXHRcdFx0Y29sb3I6IHdoaXRlO1xuXHRcdFx0dGV4dC1hbGlnbjogY2VudGVyO1xuXHRcdFx0Zm9udC1zdHlsZTogbm9ybWFsO1xuXHRcdFx0cGFkZGluZzogMDtcblx0XHRcdHAge1xuXHRcdFx0XHRjb2xvcjogd2hpdGU7XG5cdFx0XHRcdGZvbnQtZmFtaWx5OiAkYnJldmUtZGlzcGxheSAhaW1wb3J0YW50O1xuXHRcdFx0XHRmb250LXNpemU6IDM4cHg7XG5cdFx0XHRcdGxpbmUtaGVpZ2h0OiA1MXB4O1xuXHRcdFx0XHRAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlIGRvd24pIHtcblx0XHRcdFx0XHRmb250LXNpemU6IDI4cHg7XG5cdFx0XHRcdFx0bGluZS1oZWlnaHQ6IDM4cHg7XG5cdFx0XHRcdH1cblx0XHRcdFx0QGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gZG93bikge1xuXHRcdFx0XHRcdGZvbnQtc2l6ZTogMjZweDtcblx0XHRcdFx0XHRsaW5lLWhlaWdodDogMzZweDtcblx0XHRcdFx0fVxuXHRcdFx0XHRAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsIGRvd24pIHtcblx0XHRcdFx0XHRmb250LXNpemU6IDIzcHg7XG5cdFx0XHRcdFx0bGluZS1oZWlnaHQ6IDI5cHg7XG5cdFx0XHRcdH1cblx0XHRcdH1cblx0XHRcdGNpdGUge1xuXHRcdFx0XHQmOmJlZm9yZSB7XG5cdFx0XHRcdFx0ZGlzcGxheTogbm9uZTtcblx0XHRcdFx0fVxuXHRcdFx0XHRmb250LWZhbWlseTogJHByaW1hcnktZm9udDtcblx0XHRcdFx0Zm9udC13ZWlnaHQ6IDUwMDtcblx0XHRcdFx0Zm9udC1zdHlsZTogbm9ybWFsO1xuXHRcdFx0XHRjb2xvcjogd2hpdGU7XG5cdFx0XHRcdGZvbnQtc2l6ZTogMThweDtcblx0XHRcdFx0bGluZS1oZWlnaHQ6IDIycHg7XG5cdFx0XHRcdHNtYWxsIHtcblx0XHRcdFx0XHRmb250LXNpemU6IDE1cHg7XG5cdFx0XHRcdFx0dGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcblx0XHRcdFx0XHRkaXNwbGF5OiBibG9jaztcblx0XHRcdFx0XHRtYXJnaW4tdG9wOiAxMHB4O1xuXHRcdFx0XHR9XG5cdFx0XHR9XG5cdFx0XHRAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsIGRvd24pIHtcblx0XHRcdFx0cGFkZGluZy1ib3R0b206IDA7XG5cdFx0XHRcdG1hcmdpbi1ib3R0b206IDA7XG5cdFx0XHR9XG5cdFx0fVxuXHR9XG5cdC5xdW90ZXMtbW9kdWxlX19pbWFnZSB7XG5cdFx0cG9zaXRpb246IHJlbGF0aXZlO1xuXHRcdGxlZnQ6IC0yMDhweDtcblx0XHRtYXJnaW4tcmlnaHQ6IC0yMDBweDtcblx0XHR0b3A6IDYwcHg7XG5cdFx0QGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSBkb3duKSB7XG5cdFx0XHRsZWZ0OiAtMTU4cHg7XG5cdFx0XHRtYXJnaW4tcmlnaHQ6IC0xNTBweDtcblx0XHRcdHRvcDogNDBweDtcblx0XHR9XG5cdFx0QGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCBkb3duKSB7XG5cdFx0XHRsZWZ0OiAwO1xuXHRcdFx0bWFyZ2luLXJpZ2h0OiAwO1xuXHRcdFx0dG9wOiAwO1xuXHRcdH1cblx0fVxuXHRAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsIGRvd24pIHtcblx0XHQub3JiaXQtY29udGFpbmVyIHtcblx0XHRcdGJhY2tncm91bmQtY29sb3I6ICRhY2NlbnQtY29sb3ItMmM7XG5cdFx0XHQvLy5vcmJpdC1zbGlkZSB7XG5cdFx0XHQvL1x0d2lkdGg6IDE3MiUgIWltcG9ydGFudDtcblx0XHRcdC8vfVxuXHRcdH1cblx0fVxufSIsIkBtZWRpYSBzY3JlZW4ge1xuXHQucmVsYXRlZC1zdG9yaWVzLW1vZHVsZSB7XG5cdFx0JjpiZWZvcmUge1xuXHRcdFx0Y29udGVudDogXCJcIjtcblx0XHRcdGJhY2tncm91bmQtY29sb3I6ICNmNGY0ZjQ7XG5cdFx0XHRoZWlnaHQ6IDI4NXB4O1xuXHRcdFx0cG9zaXRpb246IGFic29sdXRlO1xuXHRcdFx0Lypib3R0b206IDA7Ki9cbiAgICAgICAgICAgIGJvdHRvbToxNTBweDsgLypLcmlzdGluKi9cblx0XHRcdGxlZnQ6IDA7XG5cdFx0XHRyaWdodDogMDtcblx0XHRcdHotaW5kZXg6IC0xO1xuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gZG93bikge1xuICAgICAgICAgICAgICAgIGJvdHRvbToxMDBweDsgLypLcmlzdGluKi9cbiAgICAgICAgICAgIH1cblx0XHR9XG5cdFx0bWFyZ2luLWJvdHRvbTogNjBweDtcbiAgICAgICAgcG9zaXRpb246cmVsYXRpdmU7ICAvKktyaXN0aW4qL1xuXHRcdFxuXHRcdC5vcmJpdC1idWxsZXRzIHtcblx0XHRcdHBhZGRpbmctYm90dG9tOiAyNXB4O1xuXHRcdH1cbiAgICAgICAgLnJlbGF0ZWQtc3Rvcmllcy1pbWFnZSB7XG4gICAgICAgICAgICBoZWlnaHQ6NDUwcHg7XG4gICAgICAgICAgICBvdmVyZmxvdzpoaWRkZW47XG4gICAgICAgICAgICBpbWcge1xuICAgICAgICAgICAgICAgIHdpZHRoOjEwMCU7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuXHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XG5cdFx0XHQub3JiaXQtY29udGFpbmVyIHtcblx0XHRcdFx0aGVpZ2h0OiBhdXRvO1xuXHQgICAgXHRcdG1hcmdpbjogMCBhdXRvO1xuXHRcdFx0fVxuICAgICAgICAgICAgLnJlbGF0ZWQtc3Rvcmllcy1tb2R1bGVfX3N0b3J5IHtcbiAgICAgICAgICAgICAgICAucmVsYXRlZC1zdG9yaWVzLWltYWdlIHtcbiAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gZG93bikge1xuICAgICAgICAgICAgICAgICAgICAgICAgaGVpZ2h0OjI2MHB4O1xuICAgICAgICAgICAgICAgICAgICAgICAgb3ZlcmZsb3c6aGlkZGVuO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIGltZyB7XG4gICAgICAgICAgICAgICAgICAgICAgICB3aWR0aDoxMDAlO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuXHRcdH1cblx0XHRAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsIGRvd24pIHtcblx0XHRcdCYuYnVmZmVyLW9uLWlubmVyLXJvdyA+IC5yb3cge1xuXHRcdFx0XHRwYWRkaW5nLWxlZnQ6IDA7XG5cdFx0XHRcdHBhZGRpbmctcmlnaHQ6IDA7XG5cdFx0XHR9XG5cdFx0XHQucmVsYXRlZC1zdG9yaWVzLW1vZHVsZV9fc3Rvcnkge1xuICAgICAgICAgICAgICAgIGltZyB7XG4gICAgICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgICAgIH1cblx0XHRcdH1cblxuXHRcdFx0Lm9yYml0LXNsaWRlIHtcblx0XHRcdFx0cGFkZGluZy1sZWZ0OiAwO1xuXHRcdFx0XHRwYWRkaW5nLXJpZ2h0OiAwO1x0XG5cdFx0XHR9XG5cdFx0fVxuXHR9XG5cdC5yZWxhdGVkLXN0b3JpZXMtbW9kdWxlX19zdG9yeV9fY29udGVudCB7XG5cdFx0LyptYXJnaW4tdG9wOiAtMjA1cHg7Ki9cbiAgICAgICAgYm90dG9tOjUwcHg7IC8qS3Jpc3RpbiovXG5cdFx0bWFyZ2luLWxlZnQ6IDE2JTtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuXHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIGRvd24pIHtcblx0XHRcdC8qbWFyZ2luLXRvcDogLTk2cHg7Ki9cbiAgICAgICAgICAgIGJvdHRvbTo1MHB4O1xuXHRcdFx0bWFyZ2luLWxlZnQ6IDEwJTtcblx0XHR9XG5cdFx0QGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCBkb3duKSB7XG5cdFx0XHQvKm1hcmdpbi10b3A6IC01MHB4OyovXG4gICAgICAgICAgICBib3R0b206NTBweDtcblx0XHRcdG1hcmdpbi1sZWZ0OiAxMHB4O1xuXHRcdH1cblx0XHQ+IGEge1xuXHRcdFx0YmFja2dyb3VuZC1jb2xvcjogJGFjY2VudC1jb2xvci0xYjtcblx0XHRcdGNvbG9yOiB3aGl0ZTtcblx0XHRcdGRpc3BsYXk6IGJsb2NrO1xuXHRcdFx0dGV4dC1kZWNvcmF0aW9uOiBub25lO1xuXHRcdFx0cGFkZGluZzogNDBweCAzNXB4O1xuXHRcdFx0QGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xuXHRcdFx0XHRtaW4taGVpZ2h0OiAyODVweDtcblx0XHRcdH1cblx0XHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIGRvd24pIHtcblx0XHRcdFx0cGFkZGluZzogMjdweCAyMHB4O1xuXHRcdFx0fVxuXHRcdFx0aDQge1xuXHRcdFx0XHRjb2xvcjogd2hpdGU7XG5cdFx0XHRcdGZvbnQtd2VpZ2h0OiBib2xkO1xuXHRcdFx0XHRmb250LXNpemU6IDI0cHg7XG5cdFx0XHRcdGxpbmUtaGVpZ2h0OiAyOHB4O1xuXHRcdFx0XHRAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSBkb3duKSB7XG5cdFx0XHRcdFx0Zm9udC1zaXplOiAyMnB4O1xuXHRcdFx0XHRcdGxpbmUtaGVpZ2h0OiAyNnB4O1xuXHRcdFx0XHR9XG5cdFx0XHR9XG5cdFx0XHQucmVhZC1tb3JlIHtcblx0XHRcdFx0Zm9udC13ZWlnaHQ6IGJvbGQ7XG5cdFx0XHRcdGZvbnQtZmFtaWx5OiAkY3RhLWZvbnQ7XG5cdFx0XHRcdG1hcmdpbi1ib3R0b206IDA7XG5cdFx0XHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIGRvd24pIHtcblx0XHRcdFx0XHRmb250LXNpemU6IDE2cHg7XG5cdFx0XHRcdH1cblx0XHRcdH1cblx0XHRcdHAge1xuXHRcdFx0XHRmb250LXNpemU6IDE4cHg7XG5cdFx0XHRcdGxpbmUtaGVpZ2h0OiAyOHB4O1xuXHRcdFx0XHRAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSBkb3duKSB7XG5cdFx0XHRcdFx0Zm9udC1zaXplOiAxNXB4O1xuXHRcdFx0XHRcdGxpbmUtaGVpZ2h0OiAyMnB4O1xuXHRcdFx0XHR9XG5cdFx0XHR9XG5cdFx0XHQmOmhvdmVyLFxuXHRcdFx0Jjpmb2N1cyB7XG5cdFx0XHRcdGJhY2tncm91bmQtY29sb3I6ICRhY2NlbnQtY29sb3ItMWE7XG5cdFx0XHRcdC5yZWFkLW1vcmUge1xuXHRcdFx0XHRcdHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xuXHRcdFx0XHR9XG5cdFx0XHR9XG5cdFx0fVxuXHR9XG59IiwiLnJlc2VhcmNoLWl0ZW0ge1xuICBwYWRkaW5nOjMwcHggMjBweDtcbiAgaGVpZ2h0OjEwMCU7XG4gIHBvc2l0aW9uOnJlbGF0aXZlO1xuXG4gICY6YWZ0ZXIge1xuICAgIGNvbnRlbnQ6XCJcIjtcbiAgICBwb3NpdGlvbjphYnNvbHV0ZTtcbiAgICBsZWZ0OjA7XG4gICAgcmlnaHQ6MDtcbiAgICBib3R0b206MDtcbiAgICBoZWlnaHQ6MnB4O1xuICAgIGJhY2tncm91bmQ6ICRuZXV0cmFsLWNvbG9yLTU7XG4gIH1cblxuICAucmVzZWFyY2gtdHlwZSB7XG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICBjb2xvcjogJG5ldXRyYWwtY29sb3ItODtcbiAgICBmb250LXNpemU6IC44cmVtO1xuICAgIG1hcmdpbi1ib3R0b206IDNweDtcbiAgfVxuICAudGl0bGUge1xuICAgIG1hcmdpbi1ib3R0b206IDNweDtcbiAgICBmb250LXNpemU6IDEuN3JlbTtcbiAgICBmb250LXdlaWdodDogNjAwO1xuICAgIGEge1xuICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgIH1cbiAgfVxuICAucmVzZWFyY2gtdHlwZSxcbiAgLnJlc2VhcmNoLWNsYXNzaWZpY2F0aW9uIHtcbiAgICAuZmllbGQtY29udGVudCB7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgfVxuICB9XG59XG4iLCJAbWVkaWEgc2NyZWVuIHtcblxuICAgIC5yZXNlYXJjaC1wcm9qZWN0IHtcbiAgICAgICAgcGFkZGluZy1ib3R0b206IDMuNXJlbTtcbiAgICAgICAgLmNvbHVtbnMucGFnZS10aXRsZS1iYW5kIHtcbiAgICAgICAgICAgIHBhZGRpbmctbGVmdDogMDtcbiAgICAgICAgfVxuICAgICAgICAucHJvamVjdC1pbmZvIHtcbiAgICAgICAgICAgIHBhZGRpbmc6IDEwcHggMCA1cmVtIDA7XG4gICAgICAgICAgICBmb250LXNpemU6IDEuMnJlbTtcbiAgICAgICAgICAgIGg2IHtcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IDEuMnJlbTtcbiAgICAgICAgICAgICAgICBmb250LXdlaWdodDogYm9sZDtcbiAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9uOiAxcmVtO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIC5yZXNlYXJjaC1wcm9qZWN0LWxhYiB7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAxcmVtO1xuICAgICAgICAgICAgYSB7XG4gICAgICAgICAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIC5yZXNlYXJjaC1wcm9qZWN0LWRhdGUge1xuICAgICAgICAgICAgcGFkZGluZy1ib3R0b206IDEuNXJlbTtcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICAgICAgICB9XG4gICAgICAgIC5yZXNlYXJjaC1wcm9qZWN0LWZhY3VsdHkge1xuICAgICAgICAgICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gICAgICAgIH1cbiAgICAgICAgLnJlc2VhcmNoLXByb2plY3QtaW1hZ2UsXG4gICAgICAgIC5yZXNlYXJjaC1wcm9qZWN0LXZpZGVvIHtcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IDEuMnJlbTtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDRyZW07XG4gICAgICAgIH1cbiAgICAgICAgLnJlc2VhcmNoLXByb2plY3QtYWJzdHJhY3QsXG4gICAgICAgIC5yZXNlYXJjaC1wcm9qZWN0LXRleHQge1xuICAgICAgICAgICAgcGFkZGluZy10b3A6IC41cmVtO1xuICAgICAgICAgICAgZm9udC1zaXplOiAxcmVtO1xuICAgICAgICB9XG4gICAgICAgIC5zaWRlYmFyIHtcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IDEwcHg7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAycmVtO1xuICAgICAgICAgICAgcCB7XG4gICAgICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDIwcHg7XG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiAuOHJlbTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHA6bGFzdC1jaGlsZCB7XG4gICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMXJlbTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgICYgPiBkaXYge1xuICAgICAgICAgICAgICAgIHBhZGRpbmctdG9wOiAxcmVtO1xuICAgICAgICAgICAgICAgIGJvcmRlci10b3A6IDJweCBzb2xpZCAkbmV1dHJhbC1jb2xvci03O1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgJiA6bnRoLWNoaWxkKDIpIHtcbiAgICAgICAgICAgICAgICBib3JkZXItdG9wOiBub25lO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgLnJlc2VhcmNoLWludGVyZXN0IHtcbiAgICAgICAgICAgICAgICBwYWRkaW5nLWJvdHRvbTogLjNyZW07XG4gICAgICAgICAgICAgICAgYm9yZGVyLWJvdHRvbTogMnB4IHNvbGlkICRuZXV0cmFsLWNvbG9yLTc7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgLnRpdGxlIHtcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICAgICAgICB9XG4gICAgICAgIGgzID4gcCB7XG4gICAgICAgICAgIGxpbmUtaGVpZ2h0OiBub3JtYWw7XG4gICAgICAgIH1cbiAgICAgICAgLnBpcyA+IHAge1xuICAgICAgICAgICAgZm9udC1zdHlsZTogaXRhbGljO1xuICAgICAgICB9XG4gICAgICAgIC5yZWxhdGVkLW1hdGVyaWFscyB7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAzcmVtO1xuICAgICAgICAgICAgLmNvbHVtbnMubGFyZ2UtdXAtMyB7XG4gICAgICAgICAgICAgICAgcGFkZGluZy1yaWdodDogMDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIC5jb2x1bW5zIHtcbiAgICAgICAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiAxLjQ0NDQ0cmVtO1xuICAgICAgICAgICAgICAgIHZlcnRpY2FsLWFsaWduOiB0b3A7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAuY29sdW1uczpudGgtY2hpbGQoM24rMCkge1xuICAgICAgICAgICAgICAgIHBhZGRpbmctcmlnaHQ6IDA7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAubGFyZ2UtOCAuY29sdW1ucyB7XG4gICAgICAgICAgICAgICAgZmxleDogMCAwIDUwJTtcbiAgICAgICAgICAgICAgICBtYXgtd2lkdGg6IDQ5JTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIC5sYXJnZS11cC0zIC5jb2x1bW5zIHtcbiAgICAgICAgICAgICAgICBmbGV4OiAwIDAgMzMuMzMzMzMlO1xuICAgICAgICAgICAgICAgIG1heC13aWR0aDogMzIuMzMzMzMlO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgLm1lZGl1bS11cC0yIC5jb2x1bW5zIHtcbiAgICAgICAgICAgICAgICBmbGV4OiAwIDAgNTAlO1xuICAgICAgICAgICAgICAgIG1heC13aWR0aDogNDklO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgLnNtYWxsLXVwLTEgLmNvbHVtbnMge1xuICAgICAgICAgICAgICAgIGZsZXg6IDAgMCAxMDAlO1xuICAgICAgICAgICAgICAgIG1heC13aWR0aDogMTAwJTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAubWF0ZXJpYWwge1xuICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiAwO1xuICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMnJlbTtcbiAgICAgICAgICAgIC5idG4ge1xuICAgICAgICAgICAgICAgIHBhZGRpbmc6IDEwcHggMjhweDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAucmVsYXRlZC10eXBlIHtcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gICAgICAgIH1cbiAgICAgICAgLnJlbGF0ZWQtdGl0bGUge1xuICAgICAgICAgICAgbWFyZ2luOiAuNXJlbSAwIDFyZW0gMDtcbiAgICAgICAgICAgIGEge1xuICAgICAgICAgICAgY29sb3I6ICRuZXV0cmFsLWNvbG9yLTI7XG4gICAgICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgLnJlYWQtbW9yZSB7XG4gICAgICAgICAgICBtYXJnaW4tdG9wOiAxcmVtO1xuICAgICAgICAgICAgYSB7XG4gICAgICAgICAgICBjb2xvcjogJG5ldXRyYWwtY29sb3ItNjtcbiAgICAgICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbn1cblxuLnJlc2VhcmNoLXByb2plY3QtbGlzdGluZyB7XG4gICAgbWFyZ2luLWJvdHRvbTogNjhweDtcbiAgICAuZ2VuZXJpYy1saXN0aW5nIHtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgfVxuICAgICNtYWluLWNvbnRlbnQge1xuICAgICAgICBoMSB7XG4gICAgICAgICAgICB3aWR0aDogNjByZW07XG4gICAgICAgIH1cbiAgICB9XG4gICAgLmxhcmdlLTYsXG4gICAgLm1lZGl1bS02IHtcbiAgICAgICAgbWF4LXdpZHRoOiA0OSU7XG4gICAgfVxuICAgIC5sYXJnZS02Om9ubHktY2hpbGQsXG4gICAgLm1lZGl1bS02Om9ubHktY2hpbGQsXG4gICAgLnJlc2VhcmNoLWl0ZW06b25seS1jaGlsZCB7XG4gICAgICAgIG1heC13aWR0aDogMTAwJTtcbiAgICAgICAgZmxleDogMCAwIDEwMCU7XG4gICAgfVxuICAgIHAge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAwcmVtO1xuICAgIH1cbiAgICAucmVzZWFyY2gtaXRlbXMge1xuICAgICAgICBiYWNrZ3JvdW5kOiB3aGl0ZTtcbiAgICAgICAgbWFyZ2luOiAwIGF1dG87XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gICAgICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICB9XG59XG4iLCJhcnRpY2xlLnJlc291cmNlIHtcbiAgLnJvdy5hdXRob3IgYSB7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICB9XG4gIC5yb3cucHViLWRhdGUsIC5yb3cudHlwZSB7XG4gICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgfVxuICAucm93LnNob3J0LWRlc2Mge1xuICAgIGZvbnQtc2l6ZTogMjRweDtcbiAgfVxuICAucm93LnB1Yi1ib2R5IHtcbiAgICBkaXYgPiBkaXY6Zmlyc3QtY2hpbGQge1xuICAgICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICB9XG4gIH1cbiAgLnNjaG9sYXItbGluayB7XG4gICAgbWFyZ2luLWxlZnQ6IDEwcHg7XG4gIH1cbiAgLnJvdy5vd25pbmctdW5pdCxcbiAgLnJvdy5hc3NvYy11bml0LFxuICAucm93LnB1Yi1ib2R5IHtcbiAgICBtYXJnaW4tbGVmdDogMDtcbiAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gIH1cblxuICAucm93Lm93bmluZy11bml0LFxuICAucm93LmFzc29jLXVuaXQge1xuICAgIGRpdi50aXRsZSB7XG4gICAgICBmb250LXdlaWdodDogNjAwO1xuICAgIH1cbiAgICBtYXJnaW4tYm90dG9tOiAxcmVtO1xuICAgIHBhZGRpbmctYm90dG9tOiAxcmVtO1xuICB9XG4gIC5yb3cua2V5d29yZHMge1xuICAgIGJvcmRlci10b3A6IDFweCBzb2xpZCAjZWZlZmVmO1xuICAgIG1hcmdpbi10b3A6IDMwcHg7XG4gICAgbWFyZ2luLWJvdHRvbTogNDBweDtcbiAgICBwYWRkaW5nLXRvcDogMTBweDtcbiAgICBmb250LXN0eWxlOiBpdGFsaWM7XG4gICAgZm9udC1zaXplOiAxNnB4O1xuICB9XG5cbiAgLnJvdy5vd25pbmctdW5pdCxcbiAgLnJvdy5hc3NvYy11bml0LFxuICAucm93LnB1Yi1ib2R5LFxuICAuYWRkLXRoaXMge1xuICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjZWZlZmVmO1xuICB9XG4gIC5hZGQtdGhpcyB7XG4gICAgcGFkZGluZy1ib3R0b206IDFyZW07XG4gICAgbWFyZ2luLWJvdHRvbTogMXJlbTtcbiAgICBwYWRkaW5nLXRvcDogNTBweDtcbiAgfVxuICAucm93Lm93bmluZy11bml0IHtcbiAgICBwYWRkaW5nLXRvcDogMXJlbTtcbiAgfVxufVxuXG4jcmVzb3VyY2UtbGlzdCB7XG4gIGJhY2tncm91bmQ6IHdoaXRlO1xuICAucmVzb3VyY2UtbGlzdGluZy5yb3cge1xuICAgIGJhY2tncm91bmQ6IHdoaXRlO1xuICAgIG1hcmdpbjogMCBhdXRvO1xuICAgIHdpZHRoOiAxMDAlO1xuICB9XG4gIC5mb3JtLWl0ZW0ge1xuICAgIHdpZHRoOiAyNSU7XG4gICAgbWF4LXdpZHRoOiAyNSU7XG4gICAgZmxleDogMCAwIDI1JTtcbiAgfVxuICAuZm9ybS1pdGVtLWZpZWxkLXJlcy1kYXRlLW9mLXB1YmxpY2F0aW9uLXZhbHVlLW1pbixcbiAgLmZvcm0taXRlbS1maWVsZC1yZXMtZGF0ZS1vZi1wdWJsaWNhdGlvbi12YWx1ZS1tYXgge1xuICAgIHdpZHRoOiAxMi41JTtcbiAgICBtYXgtd2lkdGg6IDEyLjUlO1xuICAgIGZsZXg6IDAgMCAxMi41JTtcbiAgfVxuICAucHViLWRhdGUge1xuICAgIGNvbG9yOiAjN2M3YzdjO1xuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gIH1cbiAgYSB7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICB9XG4gIGgyIGEge1xuICAgIGNvbG9yOiAjMWU3OTk2O1xuICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gIH1cbiAgLmluZm8ge1xuICAgIGNvbG9yOiAjNTM1MzUzO1xuICB9XG4gIC5zaG9ydC1kZXNjIHtcbiAgICBtYXJnaW4tbGVmdDogMDtcbiAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gIH1cbiAgLmdlbmVyaWMtc2FtcGxlLWxpc3RpbmctaXRlbSB7XG4gICAgbWFyZ2luOiAyMHB4O1xuICAgICY6OmJlZm9yZSB7XG4gICAgICBiYWNrZ3JvdW5kOiBub25lO1xuICAgIH1cbiAgfVxuICBuYXYucGFnZXIge1xuICAgIG1hcmdpbjogNTBweCBhdXRvO1xuICAgIC5wYWdlcl9faXRlbS0tcHJldmlvdXMgYTpob3ZlcixcbiAgICAucGFnZXJfX2l0ZW0tLW5leHQgYTpob3ZlcntcbiAgICAgIGJvcmRlci1ib3R0b206IG5vbmU7XG4gICAgfVxuICB9XG59XG4iLCIuc2Nob2xhcnNoaXAtZmlsdGVyIHtcbiAgJiA+IGRpdiB7XG4gICAgbWFyZ2luLWJvdHRvbTogNDBweDtcbiAgICAuc2Nob2xhcnNoaXAtZmlsdGVyLWNsYXNzLWxldmVsIHtcbiAgICAgIGJvcmRlci1yaWdodDogMnB4IHNvbGlkICRuZXV0cmFsLWNvbG9yLTU7XG4gICAgICBwYWRkaW5nLXJpZ2h0OiA0MHB4O1xuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gZG93bikge1xuICAgICAgICBib3JkZXItcmlnaHQ6IDA7XG4gICAgICAgIHBhZGRpbmctcmlnaHQ6IDA7XG4gICAgICB9XG4gICAgICAuYnV0dG9uLmNpcmNsZSB7XG4gICAgICAgIGhlaWdodDogODVweDtcbiAgICAgICAgd2lkdGg6IDg1cHg7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICAgICAgY29sb3I6ICM4MDc4NmU7XG4gICAgICAgIGJvcmRlcjogMXB4IHNvbGlkO1xuICAgICAgICBvdXRsaW5lOiBub25lO1xuICAgICAgICBtYXJnaW4tYm90dG9tOiA1cHg7XG4gICAgICAgIGZvbnQtc2l6ZTogMTNweDtcbiAgICAgICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIGRvd24pIHtcbiAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICBtYXJnaW46IDAgYXV0bztcbiAgICAgICAgICBtYXJnaW4tYm90dG9tOiAyMHB4O1xuICAgICAgICB9XG4gICAgICAgICYuc2VsZWN0ZWQge1xuICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRwcmltYXJ5LWNvbG9yLTQ7XG4gICAgICAgICAgY29sb3I6ICNGRkZGRkY7XG4gICAgICAgIH1cbiAgICAgICAgc3BhbiB7XG4gICAgICAgICAgZm9udC1zaXplOiAyNXB4O1xuICAgICAgICB9XG5cbiAgICAgIH1cbiAgICB9XG4gICAgLnNjaG9sYXJzaGlwLWZpbHRlci1kcm9wZG93biB7XG4gICAgICBwYWRkaW5nLWxlZnQ6IDQwcHg7XG4gICAgICBtYXJnaW4tdG9wOiA1cHg7XG4gICAgICAuZm9ybS1pdGVtOm5vdCguZm9ybS1pdGVtLWZpZWxkLXNjaG9sYXJzaGlwLWtpbmQtY2hlY2tib3gtZmluYW5jaWFsKSB7XG4gICAgICAgIGxhYmVsIHtcbiAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICAgIC5zY2hvbGFyc2hpcC1maWx0ZXItc2VhcmNoIHtcbiAgICAgIG1hcmdpbi10b3A6IDQwcHg7XG4gICAgICBsYWJlbCB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICB9XG4gICAgICAuc2VhcmNoLWJveCB7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIGRvd24pIHtcbiAgICAgICAgICBtYXJnaW46IDAgYXV0bztcbiAgICAgICAgfVxuICAgICAgICBpbnB1dCB7XG4gICAgICAgICAgYm9yZGVyLXdpZHRoOiAwIDAgNHB4IDA7XG4gICAgICAgICAgcGFkZGluZy1yaWdodDogOTBweDtcbiAgICAgICAgICBwYWRkaW5nLWJvdHRvbTogMnB4O1xuICAgICAgICAgIGJvcmRlci1jb2xvcjogI2QxZDFkMjtcbiAgICAgICAgICBib3gtc2hhZG93OiBub25lO1xuICAgICAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgICAgICAgZm9udC1zaXplOiAzNnB4O1xuICAgICAgICAgIGhlaWdodDogYXV0bztcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgLnNjaG9sYXJzaGlwLWZpbHRlci1zdWJtaXQge1xuICAgICAgICAmID4gZGl2IHtcbiAgICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgICAgcGFkZGluZy10b3A6IDAuNXJlbTtcbiAgICAgICAgICBpbnB1dCB7XG4gICAgICAgICAgICBmbG9hdDogcmlnaHQ7XG4gICAgICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgICAgICAgICAgcGFkZGluZy1yaWdodDogMTAwcHg7XG4gICAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDEwMHB4O1xuICAgICAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIGRvd24pIHtcbiAgICAgICAgICAgICAgbWFyZ2luOiAwIGF1dG87XG4gICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgICBmbG9hdDogbm9uZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbi5zY2hvbGFyc2hpcC1saXN0IHtcbiAgLmNhcmQtbGlzdC1pdGVtIHtcbiAgICAuY2FyZHMtbGlzdF9faG9sZGVyIHtcbiAgICAgIC5jYXJkcy1saXN0X19jb250ZW50IHtcbiAgICAgICAgbWluLWhlaWdodDogMjg0cHg7XG4gICAgICB9XG4gICAgICAuZmx5b3V0IHtcbiAgICAgICAgdG9wOiAzMDRweDtcbiAgICAgICAgLmZseW91dC1jb250ZW50X19ob2xkZXJ7XG4gICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCBkb3duKSB7XG4gICAgICAgICAgICBwYWRkaW5nLWJvdHRvbTogNjBweDtcbiAgICAgICAgICB9XG4gICAgICAgICAgLnNjaG9sYXJzaGlwLWtpbmQge1xuICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMTlweDtcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgIGJvdHRvbTogMjBweDtcbiAgICAgICAgICB9XG4gICAgICAgICAgLmNhcmRzLW1vZHVsZV9fYnV0dG9ucyB7XG4gICAgICAgICAgICBmb250LXNpemU6IDE2cHg7XG4gICAgICAgICAgICBsaSB7XG4gICAgICAgICAgICAgIG1hcmdpbi10b3A6IDA7XG4gICAgICAgICAgICAgIHNwYW4ge1xuICAgICAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICAgICAgICAgICAgICAgICY6bm90KC5pbmxpbmUtbGFiZWwpIHtcbiAgICAgICAgICAgICAgICAgIGRpc3BsYXk6YmxvY2s7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59IiwiI3NjaG9vbC1saXN0LWNvbnRhaW5lciB7XG4gICAgbWFyZ2luLXRvcDoxcHg7XG4gICAgbWFyZ2luLWJvdHRvbTogNzVweDtcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsIGRvd24pIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMzVweDtcbiAgICB9XG4gICAgdWwuYWNjb3JkaW9uIHtcbiAgICAgICAgd2lkdGg6MTAwJTtcbiAgICAgICAgLmFjY29yZGlvbi1pdGVtIHtcbiAgICAgICAgICAgICYuaXMtYWN0aXZlIHtcbiAgICAgICAgICAgICAgICBhLmFjY29yZGlvbi10aXRsZSB7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjojZmZmO1xuICAgICAgICAgICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgICAgICAgICAgZm9udC1mYW1pbHk6ICRpY29uLWZvbnQ7XG4gICAgICAgICAgICAgICAgICAgIGNvbnRlbnQ6IFwiXFxlODA4XCI7XG4gICAgICAgICAgICAgICAgICAgIGNvbG9yOiB3aGl0ZTtcbiAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHNlY29uZGFyeS1jb2xvci0zO1xuICAgICAgICAgICAgICAgICAgICB0b3A6MzUlO1xuICAgICAgICAgICAgICAgICAgICBwb3NpdGlvbjphYnNvbHV0ZTtcbiAgICAgICAgICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDI3cHg7XG4gICAgICAgICAgICAgICAgICAgIHdpZHRoOiAzMHB4O1xuICAgICAgICAgICAgICAgICAgICBoZWlnaHQ6IDMwcHg7XG4gICAgICAgICAgICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgICAgICAgICAgICAgYm9yZGVyOiAxcHggc29saWQgJHNlY29uZGFyeS1jb2xvci0zO1xuICAgICAgICAgICAgICAgICAgICBmb250LXNpemU6IDIzcHg7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgIHAuZXhjZXJwdHtcbiAgICAgICAgICAgICAgICBkaXNwbGF5Om5vbmU7XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGEuYWNjb3JkaW9uLXRpdGxlIHtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICAgICAgICAgICAgICBjb2xvcjogJG5ldXRyYWwtY29sb3ItMjtcbiAgICAgICAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiAxcmVtO1xuICAgICAgICAgICAgICAgICY6aG92ZXIsXG4gICAgICAgICAgICAgICAgJjpmb2N1cyB7XG4gICAgICAgICAgICAgICAgICAgIGNvbG9yOiAkbmV1dHJhbC1jb2xvci0yO1xuICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgICAgICAgICBmb250LWZhbWlseTogJGljb24tZm9udDtcbiAgICAgICAgICAgICAgICAgICAgY29udGVudDogXCJcXGU4MDlcIjtcbiAgICAgICAgICAgICAgICAgICAgY29sb3I6ICRzZWNvbmRhcnktY29sb3ItMztcbiAgICAgICAgICAgICAgICAgICAgdG9wOjM1JTtcbiAgICAgICAgICAgICAgICAgICAgcG9zaXRpb246YWJzb2x1dGU7XG4gICAgICAgICAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAyN3B4O1xuICAgICAgICAgICAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgICAgICAgICAgICAgIHdpZHRoOiAzMHB4O1xuICAgICAgICAgICAgICAgICAgICBoZWlnaHQ6IDMwcHg7XG4gICAgICAgICAgICAgICAgICAgIGJvcmRlcjogMXB4IHNvbGlkICRzZWNvbmRhcnktY29sb3ItMztcbiAgICAgICAgICAgICAgICAgICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAwLjVzIGVhc2U7XG4gICAgICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMjNweDtcbiAgICAgICAgICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogMTZweDtcbiAgICAgICAgICAgICAgICAgICAgLW1vei1ib3JkZXItcmFkaXVzOiAxNnB4O1xuICAgICAgICAgICAgICAgICAgICAtd2Via2l0LWJvcmRlci1yYWRpdXM6IDE2cHg7XG4gICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAmLmdvbGQge1xuICAgICAgICAgICAgICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBjb2xvcjogd2hpdGU7XG4gICAgICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkc2Vjb25kYXJ5LWNvbG9yLTM7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgaDMgcCB7XG4gICAgICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogaW5oZXJpdDtcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogaW5oZXJpdDtcbiAgICAgICAgICAgICAgICAgICAgbGluZS1oZWlnaHQ6IGluaGVyaXQ7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgLmFjY29yZGlvbi1jb250ZW50e1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6I2ZmZjtcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsIGRvd24pIHtcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luLXRvcDowcHg7XG4gICAgICAgICAgICAgICAgICAgIHBhZGRpbmctdG9wOjBweDtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgLmN0YSB7XG4gICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6YmxvY2s7XG4gICAgICAgICAgICAgICAgICAgIGEuYnRuIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6aW5saW5lLWJsb2NrO1xuICAgICAgICAgICAgICAgICAgICAgICAgbWFyZ2luLXRvcDo1cHg7XG4gICAgICAgICAgICAgICAgICAgICAgICB0ZXh0LWFsaWduOmNlbnRlcjtcbiAgICAgICAgICAgICAgICAgICAgICAgIHdpZHRoOjgwJTtcbiAgICAgICAgICAgICAgICAgICAgICAgIHAge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IGluaGVyaXQ7XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAuc2Nob29sIHtcbiAgICAgICAgICAgICAgICBib3JkZXItdG9wOiAxcHggc29saWQgJG5ldXRyYWwtY29sb3ItNDtcbiAgICAgICAgICAgICAgICBwYWRkaW5nLXRvcDogNCU7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAuc2Nob29sLW5hbWUge1xuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgZG93bikge1xuICAgICAgICAgICAgICAgICAgICBwYWRkaW5nLXJpZ2h0OjQwcHg7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgaDQge1xuICAgICAgICAgICAgICAgIGNvbG9yOiAkYWNjZW50LWNvbG9yLTJiO1xuICAgICAgICAgICAgICAgIGZvbnQtZmFtaWx5OiBcIkJyZXZlVGV4dFwiLCBzYW5zLXNlcmlmO1xuICAgICAgICAgICAgICAgIGZvbnQtc3R5bGU6IGl0YWxpYztcbiAgICAgICAgICAgICAgICBmb250LXdlaWdodDo3MDA7XG4gICAgICAgICAgICAgICAgZm9udC1zaXplOjEuMzQ5MnJlbTtcbiAgICAgICAgICAgICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NjdweCkgYW5kIChtYXgtd2lkdGg6MTAyM3B4KXtcbiAgICAgICAgICAgICAgICAgICAgICAgIGZvbnQtc2l6ZToxLjIyMnJlbTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgLnN1YnRpdGxlIHtcbiAgICAgICAgICAgICAgICBib3JkZXItbGVmdDogM3B4IHNvbGlkICRhY2NlbnQtY29sb3ItMmI7XG4gICAgICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiAzMHB4O1xuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgZG93bikge1xuICAgICAgICAgICAgICAgICAgICBkaXNwbGF5Om5vbmU7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIHAge1xuICAgICAgICAgICAgICAgICAgZm9udC13ZWlnaHQ6bm9ybWFsO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHAge1xuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZToxOHB4O1xuICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsIGRvd24pIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGZvbnQtc2l6ZToxNHB4O1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAmLmRpdmlzaW9uIHtcbiAgICAgICAgICAgICAgICAgICAgY29sb3I6ICMwMDA7ICAgIFxuICAgICAgICAgICAgICAgICAgICBmb250LWZhbWlseTogXCJCcmV2ZVNhbnNcIiwgc2Fucy1zZXJpZjtcbiAgICAgICAgICAgICAgICAgICAgZm9udC13ZWlnaHQ6NjAwO1xuICAgICAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOjAuNHJlbTtcbiAgICAgICAgICAgICAgICAgICAgZm9udC1zaXplOjI0cHg7XG4gICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgZG93bikge1xuICAgICAgICAgICAgICAgICAgICAgICAgZm9udC1zaXplOjE3cHg7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAuYnRuIHtcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsIGRvd24pIHtcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luLXRvcDoyMHB4O1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbn0iLCIvL1NlYXJjaCBCb3hcbi5zZWFyY2gtYm94IHtcblx0bWF4LXdpZHRoOiA1OTBweDtcblx0bWFyZ2luLWxlZnQ6IGF1dG87XG5cdG1hcmdpbi1yaWdodDogYXV0bztcblx0cG9zaXRpb246IHJlbGF0aXZlO1xuXHQ+IGlucHV0W3R5cGU9XCJ0ZXh0XCJdIHtcblx0XHRiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcblx0XHRib3JkZXItd2lkdGg6IDAgMCA0cHggMDtcblx0XHRib3JkZXItY29sb3I6ICRwcmltYXJ5LWNvbG9yLTM7XG5cdFx0Ym94LXNoYWRvdzogbm9uZTtcblx0XHRjb2xvcjogJG5ldXRyYWwtY29sb3ItMztcblx0XHRmb250LXNpemU6IDI4cHg7XG5cdFx0Zm9udC13ZWlnaHQ6IDUwMDtcblx0XHRoZWlnaHQ6IGF1dG87XG5cdFx0d2lkdGg6IDEwMCU7XG5cdFx0bWF4LXdpZHRoOiBub25lO1xuXHRcdGZvbnQtZmFtaWx5OiAkaGVhZGxpbmUtZm9udDtcblx0XHRsaW5lLWhlaWdodDogMS4zO1xuXHRcdHBhZGRpbmctYm90dG9tOiAycHg7XG5cdFx0cGFkZGluZy1yaWdodDogOTBweDtcblx0fVxuICAgICYuc2VhcmNoLWJveC0tbmV1dHJhbCA+IGlucHV0W3R5cGU9XCJ0ZXh0XCJdIHtcbiAgICAgIGJvcmRlci1jb2xvcjogJG5ldXRyYWwtY29sb3ItNDtcbiAgICB9XG5cdD4gYnV0dG9uIHtcblx0XHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdFx0Ym90dG9tOiAxNHB4O1xuXHRcdHJpZ2h0OiAxNnB4O1xuXHRcdD4gLmljb24tZHUtY3VzdC1zZWFyY2gge1xuXHRcdFx0Zm9udC1zaXplOiAyNnB4O1xuXHRcdH1cblx0fVxuXHQ+IGJ1dHRvbi5zZWFyY2gtY2xlYXIge1xuICAgIHJpZ2h0OiA1NXB4O1xuICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICAgIG91dGxpbmU6IDA7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICAgID4gLmljb24tZHUtY3VzdC1jbG9zZSB7XG4gICAgICBmb250LXNpemU6IDI0cHg7XG4gICAgICBjb2xvcjogJGFjY2VudC1jb2xvci0yYztcbiAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIH1cbiAgfVxuICBcbiAgPiBpbnB1dFtuYW1lPVwic2VhcmNoXCJdOm5vdCg6dmFsaWQpIH4gLnNlYXJjaC1jbGVhciB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxufVxuXG5cbiNtYWluLWNvbnRlbnQge1xuXHQuc2VhcmNoLXJlc3VsdHNfX2xpc3Rpbmctc3VtbWFyeSB7XG5cdFx0Y29sb3I6ICRuZXV0cmFsLWNvbG9yLTI7XG5cdFx0bWFyZ2luLXRvcDogMTBweDtcblx0fVxuXHQuc2VhcmNoLXJlc3VsdHMge1xuXG5cdFx0bWFyZ2luLWxlZnQ6IDA7XG5cdFx0Ym9yZGVyLXRvcDogOHB4IHNvbGlkICRuZXV0cmFsLWNvbG9yLTU7XG5cblx0XHRsaSB7XG5cblx0XHRcdGxpc3Qtc3R5bGUtdHlwZTogbm9uZTtcblx0XHRcdGJvcmRlci1ib3R0b206IDJweCBzb2xpZCAkbmV1dHJhbC1jb2xvci01O1xuXHRcdFx0cGFkZGluZzogMjZweCAxMHB4IDVweCAyMXB4O1xuXHRcdFx0bWFyZ2luLWxlZnQ6IDA7XG5cdFx0XHRAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsIGRvd24pIHtcblx0XHRcdFx0cGFkZGluZy1sZWZ0OiAwO1xuXHRcdFx0XHRwYWRkaW5nLXJpZ2h0OiAwO1xuXHRcdFx0fVxuXHRcdFx0YSB7XG5cdFx0XHRcdGRpc3BsYXk6IGJsb2NrO1xuXHRcdFx0XHR0ZXh0LWRlY29yYXRpb246IG5vbmU7XG5cdFx0XHRcdGgyIHtcblx0XHRcdFx0XHRmb250LXNpemU6IDI0cHg7XG5cdFx0XHRcdFx0bGluZS1oZWlnaHQ6IDI2cHg7XG5cdFx0XHRcdFx0Zm9udC13ZWlnaHQ6IDcwMDtcblx0XHRcdFx0XHRjb2xvcjogJGFjY2VudC1jb2xvci0yYztcblx0XHRcdFx0XHRtYXJnaW4tYm90dG9tOiAxM3B4O1xuXHRcdFx0XHR9XG5cdFx0XHRcdC5zZWFyY2gtcmVzdWx0LS10eXBlIHtcblx0XHRcdFx0XHR0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuXHRcdFx0XHRcdGNvbG9yOiAjODE3OTZmO1xuXHRcdFx0XHRcdGZvbnQtd2VpZ2h0OiBib2xkO1xuXHRcdFx0XHRcdGZvbnQtZmFtaWx5OiAkYWNjZW50LWZvbnQ7XG5cdFx0XHRcdH1cblx0XHRcdFx0cCB7XG5cdFx0XHRcdFx0Zm9udC1zaXplOiAxOHB4O1xuXHRcdFx0XHRcdGxpbmUtaGVpZ2h0OiAyOHB4O1xuXHRcdFx0XHRcdGNvbG9yOiAkbmV1dHJhbC1jb2xvci0zO1xuXHRcdFx0XHRcdG1hcmdpbi1ib3R0b206IDEwcHg7XG5cdFx0XHRcdH1cblx0XHRcdFx0LnNlYXJjaC1yZXN1bHQtLXVybCB7XG5cdFx0XHRcdFx0Y29sb3I6ICM3MjcyNzI7XG5cdFx0XHRcdFx0Zm9udC1zaXplOiAxNHB4O1xuXHRcdFx0XHRcdG92ZXJmbG93OiBoaWRkZW47XG5cdFx0XHRcdCAgICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcblx0XHRcdFx0ICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG5cdFx0XHRcdH1cblx0XHRcdFx0Jjpob3Zlcixcblx0XHRcdFx0Jjpmb2N1cyB7XG5cdFx0XHRcdFx0dGV4dC1kZWNvcmF0aW9uOiBub25lO1xuXHRcdFx0XHRcdGgyIHtcblx0XHRcdFx0XHRcdGNvbG9yOiAkYWNjZW50LWNvbG9yLTJiO1xuXHRcdFx0XHRcdH1cblx0XHRcdFx0XHQuc2VhcmNoLXJlc3VsdC0tdXJsIHtcblx0XHRcdFx0XHRcdHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xuXHRcdFx0XHRcdH1cblx0XHRcdFx0fVxuXHRcdFx0fVxuXG5cdFx0XHQmLnNlYXJjaC1yZXN1bHQtLWtleXdvcmQtaGl0IHtcblxuXHRcdFx0XHRiYWNrZ3JvdW5kLWNvbG9yOiAkbmV1dHJhbC1jb2xvci02O1xuXHRcdFx0XHRwYWRkaW5nLXJpZ2h0OiA0MHB4O1xuXG5cdFx0XHR9XG5cdFx0fVxuXHR9XG5cdC5zZWFyY2gtcmVzdWx0cy0tbm8tcGFnZXIsXG5cdC5zZWFyY2gtcmVzdWx0c19fbm8tcmVzdWx0cyxcblx0LnNlYXJjaC1yZXN1bHRzX19lcnJvciB7XG5cdFx0bWFyZ2luLWJvdHRvbTogNTZweDtcblx0fVxuXHQubG9hZGVyIHtcblx0XHRkaXNwbGF5OiBibG9jaztcblx0XHRtYXJnaW46IDIwcHggYXV0byA0MHB4O1xuXHR9XG59XG5cbmlucHV0I3NlYXJjaC1pbnB1dDo6LW1zLWNsZWFyLCBpbnB1dC5zZWFyY2gtaW5wdXQ6Oi1tcy1jbGVhciB7XG5cdGRpc3BsYXk6IG5vbmU7XG5cdHdpZHRoIDogMDtcblx0aGVpZ2h0OiAwO1xufSIsIi5zaGFyZWQtY29udGVudCB7XG4gIG1hcmdpbi1sZWZ0OiAzcmVtO1xuICBtYXJnaW4tcmlnaHQ6IDNyZW07XG4gICY6Zmlyc3QtY2hpbGQge1xuICAgIG1hcmdpbi10b3A6IDZyZW07XG4gIH1cbiAgJjpsYXN0LWNoaWxkIHtcbiAgICBtYXJnaW4tYm90dG9tOiA4cmVtO1xuICB9XG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcbiAgICBtYXJnaW4tbGVmdDogNnJlbTtcbiAgICBtYXJnaW4tcmlnaHQ6IDZyZW07XG4gIH1cbiAgaDEge1xuICAgIGNvbG9yOiAkbmV1dHJhbC1jb2xvci0yO1xuICB9XG4gIC5wYWdlLXRpdGxlLWJhbmQ6YmVmb3JlIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgfVxuICAuc2hhcmVkLWNvbnRlbnQtdGl0bGUge1xuICAgIG1hcmdpbjogM3JlbSAwIDJyZW0gMDtcbiAgfVxufVxuIiwiLnN0b3JpZXMtbW9kdWxlIHtcblx0cG9zaXRpb246IHJlbGF0aXZlO1xuXHRtYXJnaW4tYm90dG9tOiA2OHB4O1xuXHRAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsIGRvd24pIHtcblx0XHRtYXJnaW4tYm90dG9tOiAzMHB4O1xuXHR9XG5cdCY6YmVmb3JlIHtcblx0XHRjb250ZW50OiBcIlwiO1xuXHRcdGJhY2tncm91bmQ6IHRyYW5zcGFyZW50IHVybCgnLi4vaW1hZ2VzL2Fycm93LXBhdHRlcm4ucG5nJykgcmVwZWF0IHNjcm9sbCAwIDA7XG5cdFx0aGVpZ2h0OiAxNjVweDtcblx0XHRAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XG5cdFx0XHRoZWlnaHQ6IDI3N3B4O1xuXHRcdH1cblx0XHR0b3A6IDA7XG5cdFx0d2lkdGg6IDEwMCU7XG5cdFx0QGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSBkb3duKSB7XG5cdFx0XHRib3JkZXItbGVmdDogOTNweCBzb2xpZCB3aGl0ZTtcblx0XHR9XG5cdCAgICBkaXNwbGF5OiBibG9jaztcblx0ICAgIHotaW5kZXg6IC0xO1xuXHQgICAgcG9zaXRpb246IGFic29sdXRlO1xuXHQgICAgcmlnaHQ6IDA7XG5cdCAgICBAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsIGRvd24pIHtcblx0ICAgIFx0ZGlzcGxheTogbm9uZTtcblx0ICAgIH1cblx0fVxuXHQmLnN0b3JpZXMtbW9kdWxlLS10d28tY29sIHtcblx0XHQmOmJlZm9yZSB7XG5cdFx0XHR3aWR0aDogNjAlO1xuXHRcdH1cblx0XHRAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xuXHRcdFx0JjpiZWZvcmUge1xuXHRcdFx0XHR3aWR0aDogMTAwJTtcblx0XHRcdH1cblx0XHRcdD4gLnJvdyB7XG5cdFx0XHRcdD4gLmNvbHVtbnM6Zmlyc3QtY2hpbGQge1xuXHRcdFx0XHRcdHBvc2l0aW9uOiByZWxhdGl2ZTtcblx0XHRcdFx0XHQmOmJlZm9yZSB7XG5cdFx0XHRcdFx0ICAgIGNvbnRlbnQ6IFwiXCI7XG5cdFx0XHRcdFx0ICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0XHRcdFx0XHQgICAgdG9wOiAtNDBweDtcblx0XHRcdFx0XHQgICAgbGVmdDogLTMwMDBweDtcblx0XHRcdFx0XHQgICAgYmFja2dyb3VuZC1jb2xvcjogd2hpdGU7XG5cdFx0XHRcdFx0ICAgIGRpc3BsYXk6IGJsb2NrO1xuXHRcdFx0XHRcdCAgICByaWdodDogLTQwcHg7XG5cdFx0XHRcdFx0ICAgIGhlaWdodDogMTY1cHg7XG5cdFx0XHRcdFx0ICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcblx0XHRcdFx0XHQgICAgXHRoZWlnaHQ6IDI3N3B4O1xuXHRcdFx0XHRcdCAgICB9XG5cdFx0XHRcdFx0ICAgIHotaW5kZXg6IC0xO1xuXHRcdFx0XHRcdH1cblx0XHRcdFx0fVxuXHRcdFx0fVxuXHRcdH1cblx0fVxuXHQ+IC5yb3cge1xuXHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQoeGxhcmdlKSB7XG5cdFx0XHQ+IC5jb2x1bW5zOmZpcnN0LWNoaWxkIHtcblx0XHRcdFx0cG9zaXRpb246IHJlbGF0aXZlO1xuXHRcdFx0XHQmOmJlZm9yZSB7XG5cdFx0XHRcdCAgICBjb250ZW50OiBcIlwiO1xuXHRcdFx0XHQgICAgcG9zaXRpb246IGFic29sdXRlO1xuXHRcdFx0XHQgICAgdG9wOiAtNDBweDtcblx0XHRcdFx0ICAgIGxlZnQ6IC0yMDAwcHg7XG5cdFx0XHRcdCAgICBiYWNrZ3JvdW5kLWNvbG9yOiB3aGl0ZTtcblx0XHRcdFx0ICAgIGRpc3BsYXk6IGJsb2NrO1xuXHRcdFx0XHQgICAgcmlnaHQ6IDM1MHB4O1xuXHRcdFx0XHQgICAgaGVpZ2h0OiAxNjVweDtcblx0XHRcdFx0ICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcblx0XHRcdFx0ICAgIFx0aGVpZ2h0OiAyNzdweDtcblx0XHRcdFx0ICAgIH1cblx0XHRcdFx0ICAgIHotaW5kZXg6IC0xO1xuXHRcdFx0XHR9XG5cdFx0XHR9XG5cdFx0fVxuXHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XG5cdFx0XHRwYWRkaW5nLXRvcDogNDBweDtcblx0XHR9XG5cdH1cblx0XG5cdC5zdG9yaWVzLW1vZHVsZV9fc3Rvcnkge1xuXHRcdGZvbnQtZmFtaWx5OiAkYWNjZW50LWZvbnQ7XG5cdFx0aW1nIHtcblx0XHRcdHdpZHRoOiAxMDAlO1xuXHRcdFx0KyAqIHtcblx0XHRcdFx0bWFyZ2luLXRvcDogMjVweDtcblx0XHRcdH1cblx0XHR9XG5cdFx0aDQge1xuXHRcdFx0Zm9udC1zaXplOiAzNHB4O1xuXHRcdFx0bGluZS1oZWlnaHQ6IDQycHg7XG5cdFx0XHRAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSBkb3duKSB7XG5cdFx0XHRcdGZvbnQtc2l6ZTogMjhweDtcblx0XHRcdFx0bGluZS1oZWlnaHQ6IDMycHg7XG5cdFx0XHR9XG5cdFx0fVxuXHRcdHAge1xuXHRcdFx0Zm9udC1zaXplOiAxOHB4O1xuXHRcdFx0bGluZS1oZWlnaHQ6IDI4cHg7XG5cdFx0XHRAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSBkb3duKSB7XG5cdFx0XHRcdGZvbnQtc2l6ZTogMTVweDtcblx0XHRcdFx0bGluZS1oZWlnaHQ6IDI0cHg7XG5cdFx0XHR9XG5cdFx0fVxuXHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgZG93bikge1xuXHRcdFx0cG9zaXRpb246IHJlbGF0aXZlO1xuXHRcdFx0bWFyZ2luOiA0NXB4IGF1dG8gMzBweCBhdXRvO1xuXHRcdFx0bWF4LXdpZHRoOiAzMjBweDtcblx0XHRcdCY6YmVmb3JlIHtcblx0XHRcdFx0Y29udGVudDogXCJcIjtcblx0XHRcdFx0YmFja2dyb3VuZDogdHJhbnNwYXJlbnQgdXJsKCcuLi9pbWFnZXMvYXJyb3ctcGF0dGVybi5wbmcnKSByZXBlYXQgc2Nyb2xsIDAgMDtcblx0XHRcdFx0aGVpZ2h0OiAyNDJweDtcblx0XHRcdFx0dG9wOiAtNDRweDtcblx0XHRcdFx0bGVmdDogMzBweDtcblxuXHRcdFx0ICAgIGRpc3BsYXk6IGJsb2NrO1xuXHRcdFx0ICAgIHotaW5kZXg6IC0xO1xuXHRcdFx0ICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0XHRcdCAgICByaWdodDogLTIycHg7XG5cdFx0XHR9XG5cdFx0XHRAbWVkaWEgKG1heC13aWR0aDogNDgwcHgpIHtcblx0XHRcdFx0bWF4LXdpZHRoOiBub25lO1xuXHRcdFx0XHQmOmJlZm9yZSB7XG5cdFx0XHRcdFx0bGVmdDogLTIycHg7XG5cdFx0XHRcdH1cblx0XHRcdH1cblx0XHR9XG4gICAgICAgIC5jb250ZW50IHtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206MThweDtcbiAgICAgICAgfVxuXHR9XG5cdC8vIE1pbiBXaWR0aCA3NjhweFxuXHRAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xuXHRcdC5tZWRpdW0tdGV4dC1yaWdodCB7XG5cdFx0XHRtYXgtd2lkdGg6IDQ0JTtcblx0XHQgICAgZmxvYXQ6IHJpZ2h0O1xuXHRcdCAgICBtYXJnaW4tdG9wOiAwO1xuXHRcdCAgICBtYXJnaW4tdG9wOiAtNDBweDtcblx0XHQgICAgbWFyZ2luLXJpZ2h0OiAyNyU7XG5cdFx0XHQmLmJ0bS1kaXZpZGVyOmFmdGVyIHtcblx0XHRcdFx0bGVmdDogdW5zZXQ7XG5cdFx0XHRcdHJpZ2h0OiAwO1xuXHRcdFx0fVxuXHRcdH1cblx0fVxufSIsIiNzdWItbWVudSB7XG5cdG1hcmdpbi10b3A6IDEycHg7XG5cdD4gdWwge1xuXHRcdG1hcmdpbi1sZWZ0OiAwO1xuXHRcdHVsIHtcblx0XHRcdG1hcmdpbi1sZWZ0OiAyNHB4O1xuXHRcdH1cblx0XHQ+IGxpOmZpcnN0LWNoaWxkID4gYSB7XG5cdFx0XHRib3JkZXItdG9wOiAycHggc29saWQgJG5ldXRyYWwtY29sb3ItNTtcblx0XHR9XG5cdFx0bGkge1xuXHRcdFx0bGlzdC1zdHlsZS10eXBlOiBub25lO1xuXHRcdFx0cGFkZGluZzogMDtcblx0XHRcdG1hcmdpbjogMDtcblx0XHRcdGEge1xuXHRcdFx0XHRib3JkZXItYm90dG9tOiAycHggc29saWQgJG5ldXRyYWwtY29sb3ItNTtcblx0XHRcdFx0ZGlzcGxheTogYmxvY2s7XG5cdFx0XHRcdGZvbnQtc2l6ZTogMjBweDtcblx0XHRcdFx0Y29sb3I6ICMzNTM1MzU7XG5cdFx0XHRcdHBhZGRpbmc6IDE1cHggMTBweCAxOHB4IDIwcHg7XG5cdFx0XHRcdHBvc2l0aW9uOiByZWxhdGl2ZTtcblx0XHRcdFx0Zm9udC1mYW1pbHk6ICRwcmltYXJ5LWZvbnQ7XG5cdFx0XHRcdHRleHQtZGVjb3JhdGlvbjogbm9uZTtcblx0XHRcdFx0Jjpob3Zlcixcblx0XHRcdFx0Jjpmb2N1cyB7XG5cdFx0XHRcdFx0YmFja2dyb3VuZC1jb2xvcjogJG5ldXRyYWwtY29sb3ItNjtcblx0XHRcdFx0XHRjb2xvcjogJHByaW1hcnktY29sb3ItMztcblx0XHRcdFx0XHR0ZXh0LWRlY29yYXRpb246IG5vbmU7XG5cdFx0XHRcdH1cblx0XHRcdH1cblx0XHRcdCYuYWN0aXZlID4gYSxcblx0XHRcdCYuYWN0aXZlID4gYTpob3Zlcixcblx0XHRcdCYuYWN0aXZlID4gYTpmb2N1cyB7XG5cdFx0XHRcdGJhY2tncm91bmQtY29sb3I6ICRuZXV0cmFsLWNvbG9yLTY7XG5cdFx0XHRcdGNvbG9yOiAjMzUzNTM1O1xuXHRcdFx0XHRmb250LXdlaWdodDogYm9sZDtcblx0XHRcdFx0Y3Vyc29yOiBkZWZhdWx0O1xuXHRcdFx0XHQmOmJlZm9yZSB7XG5cdFx0XHRcdFx0Y29udGVudDogXCJcIjtcblx0XHRcdFx0XHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdFx0XHRcdFx0bGVmdDogMDtcblx0XHRcdFx0XHRib3R0b206IDA7XG5cdFx0XHRcdFx0dG9wOiAwO1xuXHRcdFx0XHRcdHdpZHRoOiA4cHg7XG5cdFx0XHRcdFx0YmFja2dyb3VuZC1jb2xvcjogJHByaW1hcnktY29sb3ItMztcblx0XHRcdFx0fVxuXHRcdFx0fVxuXHRcdH1cblx0fVxuXHQ+IC5zZWFyY2gtYm94IHtcblx0XHRtYXJnaW4tYm90dG9tOiA0MHB4O1xuXHR9XG5cdHVsIGxpOmJlZm9yZSB7XG5cdFx0ZGlzcGxheTogbm9uZTtcblx0fVxuXHRAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XG5cdFx0Ji5zdWItbWVudS0taG9yaXpvbnRhbCB7XG5cdFx0XHRtYXgtd2lkdGg6IG5vbmU7XG5cdFx0XHQ+IHVsIHtcblx0XHRcdFx0Ym9yZGVyLWJvdHRvbTogMnB4IHNvbGlkICNlNmU2ZTY7XG5cdFx0XHRcdG1hcmdpbi1ib3R0b206IDMycHg7XG5cdFx0XHRcdG92ZXJmbG93OiBhdXRvO1xuXHRcdFx0XHRkaXNwbGF5OiBmbGV4O1xuXHRcdFx0XHRhbGlnbi1pdGVtczogZmxleC1lbmQ7XG5cdFx0XHRcdD4gbGkge1xuXHRcdFx0XHRcdGRpc3BsYXk6IGlubGluZS1ibG9jaztcblx0XHRcdFx0XHRmbGV4LWJhc2lzOiAxMiU7XG5cdFx0XHRcdFx0JjpmaXJzdC1jaGlsZCA+IGEge1xuXHRcdFx0XHRcdFx0Ym9yZGVyLXRvcDogMCBub25lO1xuXHRcdFx0XHRcdH1cblxuXHRcdFx0XHRcdCYuYWN0aXZlID4gYSxcblx0XHRcdFx0XHQmLmlzLWFjdGl2ZSB7XG5cdFx0XHRcdFx0XHQmOmJlZm9yZSB7XG5cdFx0XHRcdFx0XHRcdGRpc3BsYXk6IG5vbmU7XG5cdFx0XHRcdFx0XHR9XG5cdFx0XHRcdFx0XHRib3JkZXItYm90dG9tOiA2cHggc29saWQgJHByaW1hcnktY29sb3ItMztcblx0XHRcdFx0XHRcdGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuXHRcdFx0XHRcdFx0Jjpob3Zlcixcblx0XHRcdFx0XHRcdCY6Zm9jdXMge1xuXHRcdFx0XHRcdFx0XHRjb2xvcjogJG5ldXRyYWwtY29sb3ItMjtcblx0XHRcdFx0XHRcdH1cblx0XHRcdFx0XHR9XG5cdFx0XHRcdFx0PiBhIHtcblx0XHRcdFx0XHRcdGZvbnQtc2l6ZTogMTZweDtcblx0XHRcdFx0XHRcdGxpbmUtaGVpZ2h0OiAyMHB4O1xuXHRcdFx0XHRcdFx0cGFkZGluZzogMTBweCAxMHB4IDlweCAxMHB4O1xuXHRcdFx0XHRcdFx0dGV4dC1hbGlnbjogY2VudGVyO1xuXHRcdFx0XHRcdFx0YmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG5cdFx0XHRcdFx0XHRib3JkZXItYm90dG9tOiA2cHggc29saWQgdHJhbnNwYXJlbnQ7XG5cdFx0XHRcdFx0XHQmOmhvdmVyLCBcblx0XHRcdFx0XHRcdCY6Zm9jdXMge1xuXHRcdFx0XHRcdFx0XHRjb2xvcjogJHByaW1hcnktY29sb3ItMztcblx0XHRcdFx0XHRcdFx0YmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG5cdFx0XHRcdFx0XHR9XG5cdFx0XHRcdFx0fVxuXHRcdFx0XHR9XG5cdFx0XHR9XG5cdFx0fVxuXHR9XG5cdEBpbmNsdWRlIGJyZWFrcG9pbnQoeGxhcmdlKSB7XG5cdFx0bWF4LXdpZHRoOiAyODdweDtcblx0fVxufVxuQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xuXHQjc3ViLW1lbnUtdG9nZ2xlciB7XG5cdFx0ZGlzcGxheTogbm9uZTtcblx0fVxufVxuQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gZG93bikgeyAvLyB3YXMgMTE5OSBidXQganVzdCBzd2l0Y2hlZCB0byAxMDIzXG5cdCNzdWItbWVudS10b2dnbGVyIHtcblx0XHRtYXJnaW4tYm90dG9tOiAzMHB4O1xuXHRcdD4gYSB7XG5cdFx0XHRkaXNwbGF5OiBibG9jaztcblx0XHRcdGJvcmRlci13aWR0aDogMnB4IDA7XG5cdFx0XHRib3JkZXItY29sb3I6ICRuZXV0cmFsLWNvbG9yLTU7XG5cdFx0XHRib3JkZXItc3R5bGU6IHNvbGlkO1xuXHRcdFx0cGFkZGluZzogMTdweCAyMnB4O1xuXHRcdFx0Zm9udC1mYW1pbHk6ICRwcmltYXJ5LWZvbnQ7XG5cdFx0XHRmb250LXNpemU6IDIwcHg7XG5cdFx0XHRjb2xvcjogJG5ldXRyYWwtY29sb3ItMjtcblx0XHRcdHRleHQtZGVjb3JhdGlvbjogbm9uZTtcblx0XHRcdCY6YWZ0ZXIge1xuXHRcdFx0XHRjb250ZW50OiBcIlxcZTgwNFwiO1xuXHRcdFx0XHRwYWRkaW5nLXRvcDogNnB4O1xuXHRcdFx0XHRjb2xvcjogJG5ldXRyYWwtY29sb3ItMTtcblx0XHRcdFx0ZmxvYXQ6IHJpZ2h0O1xuXHRcdFx0XHRcblx0XHRcdFx0Zm9udC1mYW1pbHk6ICRpY29uLWZvbnQ7XG5cdFx0XHRcdHNwZWFrOiBub25lO1xuXHRcdFx0XHRkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG5cdFx0XHRcdHRleHQtYWxpZ246IGNlbnRlcjtcblx0XHRcdFx0Zm9udC12YXJpYW50OiBub3JtYWw7XG5cdFx0XHRcdHRleHQtdHJhbnNmb3JtOiBub25lO1xuXHRcdFx0XHRsaW5lLWhlaWdodDogMWVtO1xuXHRcdFx0XHQtd2Via2l0LWZvbnQtc21vb3RoaW5nOiBhbnRpYWxpYXNlZDtcblx0XHRcdFx0LW1vei1vc3gtZm9udC1zbW9vdGhpbmc6IGdyYXlzY2FsZTtcblx0XHRcdH1cblx0XHRcdCY6aG92ZXIsXG5cdFx0XHQmOmZvY3VzIHtcblx0XHRcdFx0YmFja2dyb3VuZC1jb2xvcjogJG5ldXRyYWwtY29sb3ItNjtcblx0XHRcdFx0dGV4dC1kZWNvcmF0aW9uOiBub25lO1xuXHRcdFx0XHRjb2xvcjogJHByaW1hcnktY29sb3ItMztcblx0XHRcdH1cblx0XHRcdCYub3BlbjphZnRlciB7XG5cdFx0XHRcdGNvbnRlbnQ6IFwiXFxlODA1XCI7XG5cdFx0XHRcdGNvbG9yOiAjNjY2NjY2O1xuXHRcdFx0fVxuXHRcdH1cblx0fVxuXHQuc3ViLW1lbnUtd3JhcCB7XG5cdFx0I3N1Yi1tZW51IHtcblx0XHRcdG1hcmdpbi10b3A6IDA7XG5cdFx0XHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdFx0XHR6LWluZGV4OiAzO1xuXHRcdFx0bGVmdDogMDtcblx0XHRcdHJpZ2h0OiAwO1xuXHRcdFx0d2lkdGg6IDEwMCU7XG5cdFx0XHRiYWNrZ3JvdW5kLWNvbG9yOiB3aGl0ZTtcblx0XHRcdHBhZGRpbmctbGVmdDogNjVweDtcblx0XHRcdHBhZGRpbmctcmlnaHQ6IDYycHg7XG5cdFx0XHRAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsIGRvd24pIHtcblx0XHRcdFx0cGFkZGluZy1sZWZ0OiAyMnB4O1xuXHRcdFx0XHRwYWRkaW5nLXJpZ2h0OiAyMnB4O1xuXHRcdFx0fVxuXHRcdFx0Ym94LXNoYWRvdzogMHB4IDhweCA5cHggMHB4IHJnYmEoMCwgMCwgMCwgMC4yKTtcblx0XHRcdD4gdWwge1xuXHRcdFx0XHRtYXJnaW4tYm90dG9tOiAzMHB4O1xuXHRcdFx0XHRib3JkZXItYm90dG9tOiAycHggc29saWQgJG5ldXRyYWwtY29sb3ItNTtcblx0XHRcdFx0bWFyZ2luLXRvcDogLTMycHg7XG5cdFx0XHRcdGxpIHtcblx0XHRcdFx0XHRtYXJnaW4tbGVmdDogMjJweDtcblx0XHRcdFx0XHRAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsIGRvd24pIHtcblx0XHRcdFx0XHRcdG1hcmdpbi1sZWZ0OiAwO1xuXHRcdFx0XHRcdH1cblx0XHRcdFx0XHRhIHtcblx0XHRcdFx0XHRcdC8vYm9yZGVyLXRvcDogMnB4IHNvbGlkICRuZXV0cmFsLWNvbG9yLTU7XG5cdFx0XHRcdFx0XHQvL2JvcmRlci1ib3R0b206IDA7XG5cdFx0XHRcdFx0fVxuXHRcdFx0XHR9XG5cdFx0XHRcdHVsIHtcblx0XHRcdFx0XHRtYXJnaW4tYm90dG9tOiAtMnB4O1xuXHRcdFx0XHR9XG5cdFx0XHR9XG5cdFx0XHQ+IHAgKyB1bCxcblx0XHRcdD4gLnNlYXJjaC1ib3ggKyB1bCB7XG5cdFx0XHRcdG1hcmdpbi10b3A6IDA7XG5cdFx0XHR9XG5cdFx0fVxuXHR9XG59XG4uc3ViLW1lbnVfX2JhY2stbGluayB7XG5cdGNvbG9yOiAjYTk5YTZmO1xuXHRmb250LXNpemU6IDEzcHg7XG5cdHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG5cdG1hcmdpbi10b3A6IC01cHg7XG5cdGRpc3BsYXk6IGJsb2NrO1xuXHRmb250LWZhbWlseTogJHByaW1hcnktZm9udDtcblx0Zm9udC13ZWlnaHQ6IDYwMDtcblx0dGV4dC1kZWNvcmF0aW9uOiBub25lO1xuXHQmOmhvdmVyLFxuXHQmOmZvY3VzIHtcblx0XHRjb2xvcjogJHNlY29uZGFyeS1jb2xvci0yO1xuXHR9XG59IiwiQG1lZGlhIHNjcmVlbiB7XG5cdFxuXHQuc3dhcHBpbmctaW1nLWZlYXR1cmUge1xuXHRcdC5kdS1ob21lICNtYWluLWNvbnRlbnQgJi5yb3cge1xuXHRcdFx0bWFyZ2luLXRvcDogNjBweDtcblx0XHR9XG5cdFx0LnN3YXBwaW5nLWltZy1mZWF0dXJlX19jb250ZW50IHtcblx0XHRcdGJhY2tncm91bmQtY29sb3I6IHdoaXRlO1xuXHRcdFx0cGFkZGluZzogMjRweCA0NHB4O1xuXHRcdFx0QGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCBkb3duKSB7XG5cdFx0XHRcdHBhZGRpbmc6IDE0cHggMjJweCAxNXB4O1xuXHRcdFx0fVxuXHRcdFx0cG9zaXRpb246IHJlbGF0aXZlO1xuXHRcdCAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xuXHRcdFx0ICAgIHRvcDogLTc2cHg7XG5cdFx0XHQgICAgbGVmdDogLTkwcHg7XG5cdFx0XHQgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSBkb3duKSB7XG5cdFx0XHRcdFx0bGVmdDogLTY4cHg7XG5cdFx0XHRcdH1cblx0XHRcdCAgICBtYXJnaW4tcmlnaHQ6IC0yM3B4O1xuXHRcdFx0ICAgIHotaW5kZXg6IDE7XG5cdFx0XHR9XG5cdFx0XHRwIHtcblx0XHRcdFx0Zm9udC1zaXplOiAyMHB4O1xuXHRcdFx0XHRsaW5lLWhlaWdodDogMzJweDtcblx0XHRcdFx0QGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSBkb3duKSB7XG5cdFx0XHRcdFx0Zm9udC1zaXplOiAxNXB4O1xuXHRcdFx0XHRcdGxpbmUtaGVpZ2h0OiAyNHB4O1xuXHRcdFx0XHR9XG5cdFx0XHR9XG5cdFx0fVxuXHRcdC5zd2FwcGluZy1pbWctZmVhdHVyZV9faW1hZ2Uge1xuXHRcdFx0cG9zaXRpb246IHJlbGF0aXZlO1xuXHRcdFx0cGFkZGluZy1sZWZ0OiAwO1xuXHRcdFx0cGFkZGluZy1yaWdodDogMDtcblx0XHRcdCY6YmVmb3JlIHtcblx0XHRcdFx0Y29udGVudDogXCJcIjtcblx0XHRcdFx0YmFja2dyb3VuZDogdHJhbnNwYXJlbnQgdXJsKCcuLi9pbWFnZXMvYXJyb3ctcGF0dGVybi5wbmcnKSByZXBlYXQgc2Nyb2xsIDAgMDtcblx0XHRcdFx0cG9zaXRpb246IGFic29sdXRlO1xuXHRcdFx0XHRyaWdodDogMDtcblx0XHRcdFx0dG9wOiAtNDBweDtcblx0XHRcdFx0bGVmdDogMDtcblx0XHRcdFx0d2lkdGg6IDEwMCU7XG5cdFx0XHRcdGhlaWdodDogNDBweDtcblx0XHRcdFx0ei1pbmRleDogMDtcblx0XHRcdFx0QGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSBkb3duKSB7XG5cdFx0XHRcdFx0dG9wOiAtMzZweDtcblx0XHRcdFx0XHRoZWlnaHQ6IDM2cHg7XG5cdFx0XHRcdH1cblx0XHRcdH1cblx0XHRcdG1hcmdpbi10b3A6IDY0cHg7XG5cdFx0XHRpbWcge1xuXHRcdFx0XHR3aWR0aDogMTAwJTtcblx0XHRcdFx0aGVpZ2h0OiBhdXRvO1xuXHRcdFx0fVxuXHRcdH1cblx0XHQjbWFpbi1jb250ZW50ICYucm93IHtcblx0XHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgZG93bikge1xuXHRcdFx0XHQuZHUtaG9tZSAmIHtcblx0XHRcdFx0XHRtYXJnaW4tdG9wOiAwO1xuXHRcdFx0XHR9XG5cdFx0XHR9XG5cdFx0fVxuXHRcdCYuc3dhcHBpbmctaW1nLWZlYXR1cmUtLWFsdCB7XG5cdFx0XHQuc3dhcHBpbmctaW1nLWZlYXR1cmVfX2ltYWdlIHtcblx0XHRcdFx0bWFyZ2luLXRvcDogNDFweDtcblx0XHRcdH1cblx0XHRcdC5zd2FwcGluZy1pbWctZmVhdHVyZV9fY29udGVudCB7XG5cdFx0XHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XG5cdFx0XHRcdFx0bGVmdDogYXV0bztcblx0XHRcdFx0XHRyaWdodDogLTkwcHg7XG5cdFx0XHRcdFx0QGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSBkb3duKSB7XG5cdFx0XHRcdFx0XHRyaWdodDogLTY4cHg7XG5cdFx0XHRcdFx0fVxuXHRcdFx0XHRcdG1hcmdpbi1yaWdodDogMDtcblx0XHRcdFx0XHRtYXJnaW4tbGVmdDogLTM4cHg7XG5cdFx0XHRcdFx0dG9wOiAwO1xuXHRcdFx0XHRcdHBhZGRpbmctdG9wOiAyOXB4O1xuXHRcdFx0XHR9XG5cdFx0XHR9XG5cdFx0fVxuXHR9XG5cbn0iLCJkaXYudGVzdGltb25pYWwtYmxvY2txdW90ZSB7XG4gIGJsb2NrcXVvdGUge1xuICAgIGJhY2tncm91bmQ6ICR3aGl0ZTtcbiAgICBib3JkZXItbGVmdDogc29saWQgMnB4ICRhY2NlbnQtY29sb3ItMmM7XG4gICAgcCwgY2l0ZSB7XG4gICAgICBjb2xvcjogJGFjY2VudC1jb2xvci0yYztcbiAgICB9XG4gICAgY2l0ZSB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAxNXB4O1xuICAgIH1cbiAgfVxuICAubWVkaWEtd3JhcHBlciB7XG4gICAgei1pbmRleDogMDtcbiAgfVxuICAudGV4dC13cmFwcGVyIHtcbiAgICB6LWluZGV4OiAxO1xuICB9XG59XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgLmZlYXR1cmUtdmlkZW8tbW9kdWxlIC5mZWF0dXJlLXZpZGVvLW1vZHVsZV9fdmlkZW8td3JhcHBlci5zbWFsbCB7XG4gICAgdG9wOiAtMjEwcHg7XG4gICAgbWFyZ2luLWJvdHRvbTogLTIxMHB4O1xuICB9XG59XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgLmZlYXR1cmUtdmlkZW8tbW9kdWxlIC5mZWF0dXJlLXZpZGVvLW1vZHVsZV9fdmlkZW8td3JhcHBlci5zbWFsbC1yaWdodCB7XG4gICAgdG9wOiAtMjAwcHg7XG4gICAgbWFyZ2luLWJvdHRvbTogLTI2MHB4O1xuICB9XG59XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgLmZlYXR1cmUtdmlkZW8tbW9kdWxlIC5mZWF0dXJlLXZpZGVvLW1vZHVsZV9fdmlkZW8td3JhcHBlci5sYXJnZS1yaWdodCB7XG4gICAgdG9wOiAtMjYwcHg7XG4gICAgbWFyZ2luLWJvdHRvbTogLTI2MHB4O1xuICB9XG59XG5cbiIsIi50aHJlZS1jb2wtZmFjdHMge1xuXHRiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuXHRiYWNrZ3JvdW5kLXBvc2l0aW9uOiB0b3AgY2VudGVyO1xuXHRiYWNrZ3JvdW5kLXNpemU6IDEwMCUgYXV0bztcblx0cGFkZGluZy10b3A6IDEwLjMlO1xuXHRAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSBkb3duKSB7XG5cdFx0I21haW4tY29udGVudCAmLnJvdyB7XG5cdFx0XHRtYXJnaW4tbGVmdDogMjRweDtcbiAgICBcdFx0bWFyZ2luLXJpZ2h0OiAyNHB4O1xuICAgIFx0XHRAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsIGRvd24pIHtcbiAgICBcdFx0XHRtYXJnaW4tbGVmdDogMDtcbiAgICBcdFx0XHRtYXJnaW4tcmlnaHQ6IDA7XG4gICAgXHRcdH1cbiAgICBcdH1cblx0fVxuXHRAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsIGRvd24pIHtcblx0XHRiYWNrZ3JvdW5kLWltYWdlOiBub25lICFpbXBvcnRhbnQ7XG5cdFx0cGFkZGluZy10b3A6IDA7XG5cdFx0Ly9iYWNrZ3JvdW5kLXNpemU6IDQyNnB4IGF1dG87XG5cdH1cblx0QGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcblx0XHRwYWRkaW5nLWJvdHRvbTogMTklO1xuXHRcdCsgLnJvdyxcblx0XHQrIC5kdS1ob21lX19xdW90ZXNfX3dyYXBwZXIge1xuXHRcdFx0bWFyZ2luLXRvcDogNjBweDtcblx0XHR9XG5cdH1cblx0QG1lZGlhIChtaW4td2lkdGg6IDE2MDBweCkge1xuXHRcdHBhZGRpbmctYm90dG9tOiAyMzVweDtcblx0fVxuXHQuZHUtaG9tZSAjbWFpbi1jb250ZW50ICYucm93IHtcblx0XHRtYXJnaW4tdG9wOiA2MHB4O1xuXHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgZG93bikge1xuXHRcdFx0bWFyZ2luLXRvcDogMzNweDtcblx0XHR9XG5cdH1cblx0LnNob3ctZm9yLXNtYWxsLW9ubHkge1xuXHRcdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0XHR3aWR0aDoxMDAlO1xuXHRcdGxlZnQ6MDtcblx0fVxuXHQudGhyZWUtY29sLWZhY3RzX19pbWcge1xuXHRcdC8vdHJhbnNpdGlvbjogcGFkZGluZyAuM3MgZWFzZTtcblx0XHQmLmlzLXN0dWNrIHtcblx0XHRcdHotaW5kZXg6IDA7XG5cdFx0XHQvL3BhZGRpbmctdG9wOiA2MHB4O1xuXHRcdH1cblx0XHRpbWcge1xuXHRcdFx0Ly9tYXJnaW4tdG9wOiAxMTBweDtcblx0XHR9XG5cdH1cblx0PiAudGhyZWUtY29sLWZhY3RzX19pdGVtIHtcblx0XHRwb3NpdGlvbjogcmVsYXRpdmU7XG5cdFx0ei1pbmRleDogMTtcblx0XHRwIHtcblx0XHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcblx0XHRcdFx0bWF4LXdpZHRoOiAzMDBweDtcblx0XHRcdFx0bWFyZ2luLWxlZnQ6IGF1dG87XG5cdFx0XHRcdG1hcmdpbi1yaWdodDogYXV0bztcblx0XHRcdH1cblx0XHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UgZG93bikge1xuXHRcdFx0XHRtYXgtd2lkdGg6IDIyMy4yNnB4OyAvLyBsb2NraW5nIHByb3BvcnRpb24gdG8gZm9udCBzaXplXG5cdFx0XHRcdG1hcmdpbjogMCBhdXRvIDYwcHg7XG5cdFx0XHR9XG5cdFx0XHQmLFxuXHRcdFx0LmR1LWhvbWUgI21haW4tY29udGVudCAmIHtcblx0XHRcdFx0Zm9udC1mYW1pbHk6ICRoZWFkbGluZS1mb250O1xuXHRcdFx0fVxuXHRcdFx0Y29sb3I6ICMwODY1N2Q7XG5cdFx0XHRmb250LXdlaWdodDogMzAwO1xuXHRcdFx0Zm9udC1zaXplOiA0M3B4O1xuXHRcdFx0bGluZS1oZWlnaHQ6IDU5cHg7XG5cdFx0XHRAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlIGRvd24pIHtcblx0XHRcdFx0Zm9udC1zaXplOiAzMnB4O1xuXHRcdFx0XHRsaW5lLWhlaWdodDogNDRweDtcblx0XHRcdH1cblx0XHRcdHRleHQtYWxpZ246IGNlbnRlcjtcblx0XHRcdHN0cm9uZyB7XG5cdFx0XHRcdGZvbnQtc2l6ZTogOTVweDtcblx0XHRcdFx0bGluZS1oZWlnaHQ6IDk1cHg7XG5cdFx0XHRcdGNvbG9yOiAjMDA3MmJjO1xuXHRcdFx0XHRAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlIGRvd24pIHtcblx0XHRcdFx0XHRmb250LXNpemU6IDcxcHg7XG5cdFx0XHRcdFx0bGluZS1oZWlnaHQ6IDcxcHg7XG5cdFx0XHRcdH1cblx0XHRcdFx0Zm9udC13ZWlnaHQ6IGJvbGQ7XG5cdFx0XHRcdGRpc3BsYXk6IGJsb2NrO1xuXHRcdFx0XHQmLFxuXHRcdFx0XHQuZHUtaG9tZSAjbWFpbi1jb250ZW50ICYge1xuXHRcdFx0XHRcdGZvbnQtZmFtaWx5OiAkYnJldmUtZGlzcGxheTtcblx0XHRcdFx0fVxuXHRcdFx0fVxuXHRcdH1cblx0XHQrIC50aHJlZS1jb2wtZmFjdHNfX2l0ZW0ge1xuXHRcdFx0cCB7XG5cdFx0XHRcdHN0cm9uZyB7XG5cdFx0XHRcdFx0Y29sb3I6ICMwODY1N2Q7XG5cdFx0XHRcdH1cblx0XHRcdH1cblx0XHRcdCsgLnRocmVlLWNvbC1mYWN0c19faXRlbSB7XG5cdFx0XHRcdHAge1xuXHRcdFx0XHRcdHN0cm9uZyB7XG5cdFx0XHRcdFx0XHRjb2xvcjogIzAwNzQ2Yjtcblx0XHRcdFx0XHR9XG5cdFx0XHRcdH1cblx0XHRcdH1cblx0XHR9XG5cdFx0QGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCBkb3duKSB7XG5cdFx0XHRwYWRkaW5nLXRvcDogMjZweDtcblx0XHR9XG5cdH1cbn1cbiIsIkBtZWRpYSBzY3JlZW4ge1xuXG4gIC5oZWFkZXIge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAgICN0b3AtYmFyLXN0aWNreS13cmFwIHtcbiAgICAgIHotaW5kZXg6IDU7IC8vbWVnYSBuYXYgd2FzIHRoZSB3cm9uZyBpbmRleFxuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAmLFxuICAgICAgKiB7XG4gICAgICAgIHRyYW5zaXRpb246IGFsbCAwLjVzIGVhc2U7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gTUFJTiBNRU5VXG4gICAgI21haW4tbWVudS13cmFwIHtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IHdoaXRlO1xuICAgICAgaGVpZ2h0OiA4MHB4O1xuICAgICAgQG1lZGlhIChtYXgtd2lkdGg6IDYwMHB4KSB7XG4gICAgICAgIGhlaWdodDogNjBweDtcbiAgICAgICAgI21haW4tbWVudSB7XG4gICAgICAgICAgdG9wOiA2MHB4ICFpbXBvcnRhbnQ7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gICAgICBtYXJnaW4tcmlnaHQ6IGF1dG87XG4gICAgICBhLmxvZ28ge1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIHdpZHRoOiAyMjVweDtcbiAgICAgICAgaGVpZ2h0OiA4NHB4O1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgbWFyZ2luLWxlZnQ6IDgwcHg7XG4gICAgICAgID4gc3BhbiB7XG4gICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgIHRvcDogLTEwcHg7XG4gICAgICAgICAgei1pbmRleDogMztcbiAgICAgICAgICA+IGltZyB7XG4gICAgICAgICAgICBmbG9hdDogbGVmdDtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgQG1lZGlhIChtaW4td2lkdGg6IDEwMjRweCkgYW5kIChtYXgtd2lkdGg6IDExMDBweCkge1xuICAgICAgICAgIG1hcmdpbi1sZWZ0OiAzMHB4O1xuICAgICAgICB9XG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgZG93bikge1xuICAgICAgICAgIG1hcmdpbi1sZWZ0OiA1OHB4O1xuICAgICAgICB9XG4gICAgICAgIEBtZWRpYSAobWF4LXdpZHRoOiA2MDBweCkge1xuICAgICAgICAgIHdpZHRoOiA2NnB4O1xuICAgICAgICAgIG1hcmdpbi1sZWZ0OiAxNHB4O1xuICAgICAgICAgID4gc3BhbiB7XG4gICAgICAgICAgICB0b3A6IC0zNHB4O1xuICAgICAgICAgICAgPiBpbWcgKyBpbWcge1xuICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICAgIGxlZnQ6IC05OTk5cHg7XG4gICAgICAgICAgICAgIHRvcDogLTk5OTlweDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgICNhbHQtbG9nbyB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmY7XG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgJi5tb2JpbGUge1xuICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgIH1cbiAgICAgICAgJi5kZXNrdG9wIHtcbiAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgfVxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSBkb3duKSB7XG4gICAgICAgICAgcGFkZGluZy1ib3R0b206IDBweDtcbiAgICAgICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgICAgICAgICYubW9iaWxlIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICAgIH1cbiAgICAgICAgICAmLmRlc2t0b3Age1xuICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgaW1nIHtcbiAgICAgICAgICBoZWlnaHQ6IDExMnB4O1xuICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIGRvd24pIHtcbiAgICAgICAgICAgIGhlaWdodDogODBweDtcbiAgICAgICAgICB9XG4gICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCBkb3duKSB7XG4gICAgICAgICAgICBoZWlnaHQ6IGF1dG87XG4gICAgICAgICAgICBtYXgtaGVpZ2h0OiA2MHB4O1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgLnNoaWVsZC1sb2dvIHtcbiAgICAgICAgaW1nIHtcbiAgICAgICAgICBoZWlnaHQ6IDU0cHg7XG4gICAgICAgICAgbWFyZ2luLXRvcDogMC42ZW07XG4gICAgICAgICAgbWFyZ2luLWxlZnQ6IDEuMmVtO1xuICAgICAgICAgIG1hcmdpbi1yaWdodDogM2VtO1xuICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIGRvd24pIHtcbiAgICAgICAgICAgIG1hcmdpbi1yaWdodDogMmVtO1xuICAgICAgICAgICAgbWFyZ2luLXRvcDogMC44ZW07XG4gICAgICAgICAgfVxuICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgZG93bikge1xuICAgICAgICAgICAgaGVpZ2h0OiA0NHB4O1xuICAgICAgICAgICAgbWFyZ2luLXRvcDogMC40ZW07XG4gICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDFlbTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgfVxuICAgICAgI21haW4tbWVudSB7XG4gICAgICAgID4gdWwge1xuICAgICAgICAgIHBvc2l0aW9uOiBzdGF0aWM7XG4gICAgICAgICAgPiBsaSB7XG4gICAgICAgICAgICAmLmFjdGl2ZSA+IGEge1xuICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICAgICAgICAgICAgYm9yZGVyLWJvdHRvbTogOHB4IHNvbGlkICRwcmltYXJ5LWNvbG9yLTM7XG4gICAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIGRvd24pIHtcbiAgICAgICAgICAgICAgICBib3JkZXItYm90dG9tOiAwIG5vbmU7XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgID4gYSB7XG4gICAgICAgICAgICAgIGhlaWdodDogODBweDtcbiAgICAgICAgICAgICAgYm9yZGVyLXdpZHRoOiA4cHggMDtcbiAgICAgICAgICAgICAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcbiAgICAgICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICAgICAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50O1xuICAgICAgICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgICAgICAgICAgICY6aG92ZXIsXG4gICAgICAgICAgICAgICY6Zm9jdXMge1xuICAgICAgICAgICAgICAgIGJvcmRlci1ib3R0b206IDhweCBzb2xpZCAkcHJpbWFyeS1jb2xvci0zO1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRuZXV0cmFsLWNvbG9yLTY7XG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gZG93bikge1xuICAgICAgICAgICAgICAgICAgYm9yZGVyLWJvdHRvbTogMCBub25lO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSBkb3duKSB7XG4gICAgICAgICAgICAgICAgYm9yZGVyLWNvbG9yOiAkbmV1dHJhbC1jb2xvci01O1xuICAgICAgICAgICAgICAgIGJvcmRlci1zdHlsZTogc29saWQ7XG4gICAgICAgICAgICAgICAgYm9yZGVyLXdpZHRoOiAwIDAgMCA0cHg7XG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiAzMnB4O1xuICAgICAgICAgICAgICAgIC8vaGVpZ2h0OiA0NHB4O1xuICAgICAgICAgICAgICAgIGhlaWdodDogYXV0bztcbiAgICAgICAgICAgICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSBkb3duKSB7XG4gICAgICAgICAgICAgICZbcm9sZT1cIm1lbnVpdGVtXCJdIHtcbiAgICAgICAgICAgICAgICBtYXgtd2lkdGg6IDMyMHB4O1xuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICsgbGkge1xuICAgICAgICAgICAgICAgIG1hcmdpbi10b3A6IDE1cHg7XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgJiN1dGlsaXR5LW1lbnUge1xuICAgICAgICAgICAgICAgIG1hcmdpbi10b3A6IDQwcHg7XG4gICAgICAgICAgICAgICAgdWwubWVudSB7XG4gICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkbmV1dHJhbC1jb2xvci0yO1xuICAgICAgICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICAgICAgICAgICAgICBsaSB7XG4gICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICAgICAgICAgIGEge1xuICAgICAgICAgICAgICAgICAgICAgIGNvbG9yOiB3aGl0ZTtcbiAgICAgICAgICAgICAgICAgICAgICBmb250LXNpemU6IDE1cHg7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgICAgbGkge1xuICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgICAgICAgICA+IGEge1xuICAgICAgICAgICAgICBmb250LXNpemU6IDE5cHg7XG4gICAgICAgICAgICAgIEBtZWRpYSAobWluLXdpZHRoOiAxMjIwcHgpIGFuZCAobWF4LXdpZHRoOiAxMjk1cHgpIHtcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IDE2cHg7XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgQG1lZGlhIChtaW4td2lkdGg6IDEwMzRweCkgYW5kIChtYXgtd2lkdGg6IDEyMTlweCkge1xuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMTZweDtcbiAgICAgICAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDlweDtcbiAgICAgICAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiA5cHg7XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgQG1lZGlhIChtaW4td2lkdGg6IDEwMTRweCkgYW5kIChtYXgtd2lkdGg6IDEwMzNweCkge1xuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMTZweDtcbiAgICAgICAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDdweDtcbiAgICAgICAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiA3cHg7XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgY29sb3I6ICRuZXV0cmFsLWNvbG9yLTI7XG4gICAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gICAgICAgICAgICAgIGZvbnQtZmFtaWx5OiAkcHJpbWFyeS1mb250O1xuICAgICAgICAgICAgICBkaXNwbGF5OiB0YWJsZS1jZWxsO1xuICAgICAgICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSBkb3duKSB7XG5cbiAgICAgICAgICBoZWlnaHQ6IDkwdmg7IC8vIEZvciBTY3JvbGxpbmcgb24gVGFibGV0L01vYmlsZVxuICAgICAgICAgIG92ZXJmbG93OiBhdXRvOyAvLyBGb3IgU2Nyb2xsaW5nIG9uIFRhYmxldC9Nb2JpbGVcblxuICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHdoaXRlO1xuICAgICAgICAgIHBhZGRpbmc6IDQwcHggNjJweDtcbiAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsIGRvd24pIHtcbiAgICAgICAgICAgIHBhZGRpbmc6IDMwcHggMjBweDtcbiAgICAgICAgICB9XG4gICAgICAgICAgPiB1bCB7XG4gICAgICAgICAgICAmLm1lbnUge1xuICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIC8vYWxpZ24taXRlbXM6IHN0cmV0Y2g7XG4gICAgICAgICAgICAvL2ZsZXgtZmxvdzogY29sdW1uO1xuICAgICAgICAgIH1cbiAgICAgICAgICAudXRpbGl0eS1tZW51IHtcbiAgICAgICAgICAgIGhlaWdodDogYXV0bztcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHdoaXRlO1xuICAgICAgICAgICAgLy9wb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICB0b3A6IDMzcHg7XG4gICAgICAgICAgICByaWdodDogNjJweDtcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgICAgICAgICAgLy93aWR0aDogMjAwcHg7XG4gICAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgICAgICAvL21hcmdpbi10b3A6IDMwcHg7XG4gICAgICAgICAgICBwb3NpdGlvbjogc3RhdGljO1xuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG5cbiAgICAgICAgICAgIHVsIHtcbiAgICAgICAgICAgICAgZmxleC1mbG93OiBjb2x1bW47XG4gICAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBzdHJldGNoO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgdWwubWVudSB7XG4gICAgICAgICAgICAgIG1hcmdpbi10b3A6IDMwcHg7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBsaSB7XG4gICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgICArIGxpIHtcbiAgICAgICAgICAgICAgICBtYXJnaW4tdG9wOiAxMHB4O1xuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgIGEge1xuICAgICAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsIGRvd24pIHtcbiAgICAgICAgICAgICAgbWFyZ2luLXRvcDogMzBweDtcbiAgICAgICAgICAgICAgcG9zaXRpb246IHN0YXRpYztcbiAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICAgIGxpICsgbGkge1xuICAgICAgICAgICAgICAgIG1hcmdpbi10b3A6IDJweDtcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICB9XG4gICAgICAjc2VhcmNoLXRvZ2dsZXIge1xuICAgICAgICBwb3NpdGlvbjogc3RhdGljO1xuICAgICAgfVxuICAgICAgbGkuc2VhcmNoIHtcbiAgICAgICAgJi5pcy1hY3RpdmUgPiBhIHtcbiAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkbmV1dHJhbC1jb2xvci01O1xuICAgICAgICAgIGNvbG9yOiAjNjY2NjY2O1xuICAgICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgIGNvbnRlbnQ6ICdcXGU4MDUnO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICA+IGEge1xuICAgICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICAgICAgICBoZWlnaHQ6IDgwcHg7XG4gICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJG5ldXRyYWwtY29sb3ItNjtcbiAgICAgICAgICBib3JkZXItd2lkdGg6IDAgMXB4IDFweCAxcHggIWltcG9ydGFudDtcbiAgICAgICAgICBib3JkZXItc3R5bGU6IHNvbGlkO1xuICAgICAgICAgIGJvcmRlci1jb2xvcjogJG5ldXRyYWwtY29sb3ItNTtcbiAgICAgICAgICB0ZXh0LWluZGVudDogLTk5OTlweDtcbiAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgICAgd2lkdGg6IDgwcHg7XG4gICAgICAgICAgY29sb3I6ICM2NjY2NjY7XG4gICAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgdGV4dC1pbmRlbnQ6IDA7XG4gICAgICAgICAgICBjb250ZW50OiAnXFxlODA2JztcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgIHRvcDogNTAlO1xuICAgICAgICAgICAgbGVmdDogNTAlO1xuICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IC0xMXB4O1xuICAgICAgICAgICAgbWFyZ2luLXRvcDogLTExcHg7XG4gICAgICAgICAgICBmb250LXNpemU6IDIycHg7XG5cbiAgICAgICAgICAgIGZvbnQtZmFtaWx5OiAkaWNvbi1mb250O1xuICAgICAgICAgICAgc3BlYWs6IG5vbmU7XG4gICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgICAgICBmb250LXZhcmlhbnQ6IG5vcm1hbDtcbiAgICAgICAgICAgIHRleHQtdHJhbnNmb3JtOiBub25lO1xuICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDFlbTtcbiAgICAgICAgICAgIC13ZWJraXQtZm9udC1zbW9vdGhpbmc6IGFudGlhbGlhc2VkO1xuICAgICAgICAgICAgLW1vei1vc3gtZm9udC1zbW9vdGhpbmc6IGdyYXlzY2FsZTtcbiAgICAgICAgICB9XG4gICAgICAgICAgJjpob3ZlcixcbiAgICAgICAgICAmOmZvY3VzIHtcbiAgICAgICAgICAgIGJvcmRlci1ib3R0b20td2lkdGg6IDAgIWltcG9ydGFudDtcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRuZXV0cmFsLWNvbG9yLTU7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgICAjY2FsZW5kYXItaWNvbiB7XG4gICAgICAgIHdpZHRoOiA4MHB4O1xuICAgICAgICBoZWlnaHQ6IDgwcHg7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIGJhY2tncm91bmQ6ICRuZXV0cmFsLWNvbG9yLTY7XG4gICAgICAgIGJvcmRlcjogMXB4IHNvbGlkICRuZXV0cmFsLWNvbG9yLTU7XG4gICAgICAgIGJvcmRlci10b3A6MDtcbiAgICAgICAgb3ZlcmZsb3c6aGlkZGVuOyAvLyBwcmV2ZW50IG9mZi1zY3JlZW4gdGV4dCBmcm9tIHNjcm9sbGluZyB0aGUgcGFnZS5cblxuICAgICAgICBsaSB7XG4gICAgICAgICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgICAgICAgYSB7XG4gICAgICAgICAgICBtYXJnaW4tbGVmdDotMXB4OyAvLyBvdmVybGFwIGJvcmRlciBvbiAjY2FsZW5kYXItaWNvbi5cbiAgICAgICAgICAgIHRleHQtaW5kZW50OiA5OTk5cHg7XG4gICAgICAgICAgICB3aWR0aDogODBweDtcbiAgICAgICAgICAgIGhlaWdodDogODBweDtcbiAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgYm9yZGVyLWJvdHRvbTo4cHggc29saWQgdHJhbnNwYXJlbnQ7XG4gICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgIGNvbG9yOiAkbmV1dHJhbC1jb2xvci0yO1xuICAgICAgICAgIHRleHQtaW5kZW50OiAwO1xuICAgICAgICAgIGNvbnRlbnQ6ICdcXGYxMzMnO1xuICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICB0b3A6IDUwJTtcbiAgICAgICAgICBsZWZ0OiA1MCU7XG4gICAgICAgICAgbWFyZ2luLWxlZnQ6IC0xMXB4O1xuICAgICAgICAgIG1hcmdpbi10b3A6IC0xMXB4O1xuICAgICAgICAgIGZvbnQtc2l6ZTogMjJweDtcblxuICAgICAgICAgIGZvbnQtZmFtaWx5OiAkaWNvbi1mb250O1xuICAgICAgICAgIHNwZWFrOiBub25lO1xuICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgICAgZm9udC12YXJpYW50OiBub3JtYWw7XG4gICAgICAgICAgdGV4dC10cmFuc2Zvcm06IG5vbmU7XG4gICAgICAgICAgbGluZS1oZWlnaHQ6IDFlbTtcbiAgICAgICAgICAtd2Via2l0LWZvbnQtc21vb3RoaW5nOiBhbnRpYWxpYXNlZDtcbiAgICAgICAgICAtbW96LW9zeC1mb250LXNtb290aGluZzogZ3JheXNjYWxlO1xuICAgICAgICB9XG4gICAgICAgICY6aG92ZXIsXG4gICAgICAgICY6Zm9jdXMge1xuICAgICAgICAgIGJvcmRlci1ib3R0b206MDtcbiAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkbmV1dHJhbC1jb2xvci01O1xuICAgICAgICAgIGNvbG9yOiAjNjY2NjY2O1xuXG4gICAgICAgICAgbGkgYSB7XG4gICAgICAgICAgICBib3JkZXItYm90dG9tOiA4cHggc29saWQgJHByaW1hcnktY29sb3ItMyAhaW1wb3J0YW50O1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSBkb3duKSB7XG4gICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgfVxuXG4gICAgICAgIEBtZWRpYSAobWF4LXdpZHRoOiAxMDI0cHgpIHtcbiAgICAgICAgICB3aWR0aDogODBweDtcbiAgICAgICAgICBoZWlnaHQ6IDgwcHg7XG4gICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICAgIGNvbG9yOiAjNjY2NjY2O1xuICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkbmV1dHJhbC1jb2xvci02O1xuICAgICAgICAgIGJvcmRlci13aWR0aDogMCAxcHggMXB4IDFweCAhaW1wb3J0YW50O1xuICAgICAgICAgIGJvcmRlci1zdHlsZTogc29saWQ7XG4gICAgICAgICAgYm9yZGVyLWNvbG9yOiAkbmV1dHJhbC1jb2xvci01O1xuICAgICAgICB9XG4gICAgICAgIEBtZWRpYSAobWF4LXdpZHRoOiA2MDBweCkge1xuICAgICAgICAgIHdpZHRoOiA2MHB4O1xuICAgICAgICAgIGhlaWdodDogNjBweDtcbiAgICAgICAgICBsaSBhIHtcbiAgICAgICAgICAgIHdpZHRoOiA2MHB4O1xuICAgICAgICAgICAgaGVpZ2h0OiA2MHB4O1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICB9XG4gICAgICAvLyBNRUdBIE5BVlxuICAgICAgLmlzLWRyb3Bkb3duLXN1Ym1lbnUtcGFyZW50Lm1lZ2EtbWVudSB7XG4gICAgICAgIHBvc2l0aW9uOiBzdGF0aWM7XG4gICAgICB9XG5cbiAgICAgID4gLnJvdy5leHBhbmRlZCB7XG4gICAgICAgIG1heC13aWR0aDogMTM1NnB4O1xuICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgID4gLmNvbHVtbnMuc2hyaW5rICsgLmNvbHVtbnMge1xuICAgICAgICAgIHBhZGRpbmctcmlnaHQ6IDA7XG4gICAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICB9XG4gICAgICAgID4gLmNvbHVtbnMuc2hyaW5rOmxhc3QtY2hpbGQge1xuICAgICAgICAgIHBhZGRpbmctbGVmdDogMDtcbiAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiAwO1xuICAgICAgICB9XG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIGRvd24pIHsgLy93YXMgbGFyZ2VcbiAgICAgICAgICAjbWFpbi1tZW51IHtcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgIC8vdG9wOiA0OHB4O1xuICAgICAgICAgICAgLy9AaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSBkb3duKSB7XG4gICAgICAgICAgICB0b3A6IDgwcHg7XG4gICAgICAgICAgICAvL31cbiAgICAgICAgICAgIGxlZnQ6IDA7XG4gICAgICAgICAgICByaWdodDogMDtcbiAgICAgICAgICAgIHBhZGRpbmctdG9wOiAzMnB4O1xuICAgICAgICAgICAgYm94LXNoYWRvdzogMHB4IDhweCA5cHggMHB4IHJnYmEoMCwgMCwgMCwgMC4yKTtcbiAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgICAgICAubWVudSB7XG4gICAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICA+IHVsIHtcbiAgICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCBkb3duKSB7XG4gICAgICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiAzMHB4O1xuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgID4gbGkgPiBhIHtcbiAgICAgICAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDMwcHg7XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgJi5hbGlnbi1yaWdodCB7XG4gICAgICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gZG93bikge1xuICAgICAgICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBsZWZ0O1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgICAuY29sdW1ucy5zaHJpbmsge1xuICAgICAgICAgICAgcGFkZGluZy1yaWdodDogMDtcbiAgICAgICAgICAgIC5sb2dvIHtcbiAgICAgICAgICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAjc2VhcmNoLXRvZ2dsZXIge1xuICAgICAgICAgICAgICBmbG9hdDogbGVmdDtcbiAgICAgICAgICAgICAgd2lkdGg6IGF1dG87XG4gICAgICAgICAgICAgID4gbGkgPiBhIHtcbiAgICAgICAgICAgICAgICBAbWVkaWEgKG1heC13aWR0aDogNjAwcHgpIHtcbiAgICAgICAgICAgICAgICAgIGhlaWdodDogNjBweDtcbiAgICAgICAgICAgICAgICAgIHdpZHRoOiA2MHB4O1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgI21haW4tbWVudS10b2dnbGVyIHtcbiAgICAgICAgICAgICAgZmxvYXQ6IHJpZ2h0O1xuICAgICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgICAgICAgIGJ1dHRvbiB7XG4gICAgICAgICAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgICAgICAgICAgICAgIGhlaWdodDogODBweDtcbiAgICAgICAgICAgICAgICB3aWR0aDogODBweDtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkbmV1dHJhbC1jb2xvci02O1xuICAgICAgICAgICAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAkbmV1dHJhbC1jb2xvci01O1xuICAgICAgICAgICAgICAgICY6aG92ZXIsXG4gICAgICAgICAgICAgICAgJjpmb2N1cyB7XG4gICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkbmV1dHJhbC1jb2xvci01O1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBAbWVkaWEgKG1heC13aWR0aDogNjAwcHgpIHtcbiAgICAgICAgICAgICAgICAgIGhlaWdodDogNjBweDtcbiAgICAgICAgICAgICAgICAgIHdpZHRoOiA2MHB4O1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgICAgICAgICAgJi5pY29uLWR1LWN1c3QtbWVudSxcbiAgICAgICAgICAgICAgICAmLmR1LWljb24tY3VzdC1tZW51IHtcbiAgICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMjNweDtcbiAgICAgICAgICAgICAgICAgIGNvbG9yOiAkcHJpbWFyeS1jb2xvci0zO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAmLm9wZW4uaWNvbi1kdS1jdXN0LW1lbnUsXG4gICAgICAgICAgICAgICAgJi5vcGVuLmR1LWljb24tY3VzdC1tZW51IHtcbiAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRuZXV0cmFsLWNvbG9yLTU7XG4gICAgICAgICAgICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICAgICAgICAgIGNvbnRlbnQ6IFwiXFxlODA1XCI7XG4gICAgICAgICAgICAgICAgICAgIGNvbG9yOiAjNjY2NjY2O1xuICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgICAuaXMtc3R1Y2sge1xuICAgICAgI21haW4tbWVudS13cmFwIHtcbiAgICAgICAgaGVpZ2h0OiA2MHB4O1xuICAgICAgICA+IC5yb3cuZXhwYW5kZWQge1xuICAgICAgICAgIGEubG9nbyB7XG4gICAgICAgICAgICA+IHNwYW4ge1xuICAgICAgICAgICAgICA+IGltZzpmaXJzdC1jaGlsZCB7XG4gICAgICAgICAgICAgICAgbWFyZ2luLXRvcDogMTNweDtcbiAgICAgICAgICAgICAgICBAbWVkaWEgKG1heC13aWR0aDogNjAwcHgpIHtcbiAgICAgICAgICAgICAgICAgIG1hcmdpbi10b3A6IDQycHg7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICsgaW1nIHtcbiAgICAgICAgICAgICAgICAgIG9wYWNpdHk6IDA7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICAgICNhbHQtbG9nbyB7XG4gICAgICAgICAgICBwYWRkaW5nLWJvdHRvbTogMHB4O1xuICAgICAgICAgICAgJi5tb2JpbGUge1xuICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgICYuZGVza3RvcCB7XG4gICAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBpbWcge1xuICAgICAgICAgICAgICBoZWlnaHQ6IDYwcHg7XG5cbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgICAgLnNoaWVsZC1sb2dvIHtcbiAgICAgICAgICAgIGltZyB7XG4gICAgICAgICAgICAgIGhlaWdodDogNDRweDtcbiAgICAgICAgICAgICAgbWFyZ2luLXRvcDogMC40ZW07XG4gICAgICAgICAgICAgIG1hcmdpbi1yaWdodDogMWVtO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgICAjbWFpbi1tZW51IHVsLFxuICAgICAgICAgICNzZWFyY2gtdG9nZ2xlciB7XG4gICAgICAgICAgICA+IGxpID4gYSB7XG4gICAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IDE2cHg7XG4gICAgICAgICAgICAgICAgaGVpZ2h0OiA2MHB4O1xuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICAgICNjYWxlbmRhci1pY29uLFxuICAgICAgICAgICNjYWxlbmRhci1pY29uIGxpICBhIHtcbiAgICAgICAgICAgIC8vd2lkdGg6IDYwcHg7XG4gICAgICAgICAgICBoZWlnaHQ6IDYwcHg7XG4gICAgICAgICAgfVxuICAgICAgICAgICNzZWFyY2gtdG9nZ2xlciA+IGxpID4gYSB7XG4gICAgICAgICAgICB3aWR0aDogNjBweDtcbiAgICAgICAgICAgIGhlaWdodDogNjBweDtcbiAgICAgICAgICB9XG4gICAgICAgICAgI21haW4tbWVudSB7XG4gICAgICAgICAgICAvL0BpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UgZG93bikge1xuICAgICAgICAgICAgLy9cdHRvcDogMjhweDtcbiAgICAgICAgICAgIC8vfVxuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gZG93bikge1xuICAgICAgICAgICAgICB0b3A6IDYwcHg7XG4gICAgICAgICAgICAgIHBhZGRpbmctdG9wOiA1MHB4O1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgICAjY2FsZW5kYXItaWNvbiA+IGEgPiBpbWcge1xuICAgICAgICAgICAgaGVpZ2h0OiA2MHB4O1xuICAgICAgICAgIH1cbiAgICAgICAgICAuY29sdW1ucy5zaHJpbmsge1xuICAgICAgICAgICAgI21haW4tbWVudS10b2dnbGVyIHtcbiAgICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gZG93bikgeyAvLyB3YXMgbGFyZ2VcbiAgICAgICAgICAgICAgICBidXR0b24ge1xuICAgICAgICAgICAgICAgICAgaGVpZ2h0OiA2MHB4O1xuICAgICAgICAgICAgICAgICAgd2lkdGg6IDYwcHg7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgICBib3gtc2hhZG93OiAwcHggNHB4IDE4cHggMHB4IHJnYmEoMCwgMCwgMCwgLjQ1KTtcblxuICAgIH1cblxuICAgIC8vIFNlYXJjaCBJbnB1dFxuICAgIC50b3AtYmFyIC5zZWFyY2gge1xuXG4gICAgICAuaXMtZHJvcGRvd24tc3VibWVudSB7XG4gICAgICAgIGxlZnQ6IDAgIWltcG9ydGFudDsgLy8gZm9yY2Ugb3ZlcnJpZGUgZm91bmRhdGlvbiBkcm9wZG93biBzdHlsaW5nXG4gICAgICAgIHJpZ2h0OiAwICFpbXBvcnRhbnQ7XG4gICAgICAgIHRvcDogYXV0byAhaW1wb3J0YW50O1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIGJvcmRlcjogMCBub25lO1xuICAgICAgICBib3gtc2hhZG93OiAwcHggOHB4IDlweCAwcHggcmdiYSgwLCAwLCAwLCAwLjIpO1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuOSk7XG5cbiAgICAgICAgPiBsaSA+IC5yb3cge1xuICAgICAgICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICAgICAgICAgIG1hcmdpbi1yaWdodDogYXV0bztcbiAgICAgICAgICBwYWRkaW5nLXRvcDogMzlweDtcbiAgICAgICAgICBwYWRkaW5nLWJvdHRvbTogMzlweDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgLnNlYXJjaC1ib3gge1xuICAgICAgICBwYWRkaW5nLWxlZnQ6IDIwcHg7XG4gICAgICAgIHBhZGRpbmctcmlnaHQ6IDIwcHg7XG4gICAgICAgIGxhYmVsIHtcbiAgICAgICAgICA+IGlucHV0W3R5cGU9XCJ0ZXh0XCJdIHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMzZweDtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gICAgdWwjc2VhcmNoLXRvZ2dsZXIge1xuICAgICAgbGkge1xuICAgICAgICBtYXJnaW4tbGVmdDogMDtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn0iLCJAbWVkaWEgc2NyZWVuIHtcblx0XG5cdC50d28tY29sdW1uLWNvcHkge1xuXHRcdG1hcmdpbi1ib3R0b206IDMycHg7XG5cdFx0QGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCBkb3duKSB7XG5cdFx0XHRtYXJnaW4tYm90dG9tOiA2cHg7XG5cdFx0fVxuXHRcdC5jb2x1bW5zIHtcblx0XHRcdG1hcmdpbi1ib3R0b206IDM2cHg7XG5cdFx0XHRAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xuXHRcdFx0XHQmOmZpcnN0LWNoaWxkIHtcblx0XHRcdFx0XHRwYWRkaW5nLXJpZ2h0OiAyNXB4O1xuXHRcdFx0XHR9XG5cdFx0XHRcdCsgLmNvbHVtbnMge1xuXHRcdFx0XHRcdHBhZGRpbmctbGVmdDogMjVweDtcblx0XHRcdFx0fVxuXHRcdFx0fVxuXHRcdH1cblx0XHRAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsIGRvd24pIHtcblx0XHRcdC50d28tY29sIHtcblx0XHRcdFx0Y29sdW1uLWNvdW50OiAxO1xuXHRcdFx0fVxuXHRcdH1cblx0fVxuXG59IiwiaGVhZGVyIHtcblx0LnV0aWxpdHktbWVudSB7XG5cdFx0aGVpZ2h0OiA0OHB4O1xuXHRcdC5tZW51ICB7XG5cdFx0XHRsaSB7XG5cdFx0XHRcdG1hcmdpbi1sZWZ0OiAwO1xuXHRcdFx0XHRhIHtcblx0XHRcdFx0XHRoZWlnaHQ6NDhweDsgLy8gZml4IHJvdW5kaW5nIGlzc3VlcyB3aXRoIGxpbmsgaGVpZ2h0IHdoZW4gem9vbWluZyBpbi9vdXRcblx0XHRcdFx0XHRiYWNrZ3JvdW5kLWNvbG9yOiAkbmV1dHJhbC1jb2xvci0yO1xuXHRcdFx0XHRcdHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG5cdFx0XHRcdFx0Zm9udC1mYW1pbHk6ICRwcmltYXJ5LWZvbnQ7XG5cdFx0XHRcdFx0Zm9udC13ZWlnaHQ6IDYwMDtcblx0XHRcdFx0XHRmb250LXNpemU6IDEzcHg7XG5cdFx0XHRcdFx0Y29sb3I6IHdoaXRlO1xuXHRcdFx0XHRcdHBhZGRpbmctYm90dG9tOiAxN3B4O1xuXHRcdFx0XHQgICAgcGFkZGluZy10b3A6IDE4cHg7XG5cdFx0XHRcdFx0dGV4dC1kZWNvcmF0aW9uOiBub25lO1xuXHRcdFx0XHQgICAgJjpob3Zlcixcblx0XHRcdFx0ICAgICY6Zm9jdXMge1xuXHRcdFx0XHQgICAgXHR0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcblx0XHRcdFx0ICAgIH1cblx0XHRcdFx0fVxuXHRcdFx0XHQmLmF1ZGllbmNlLW1lbnUgPiBhIHtcblx0XHRcdFx0XHRiYWNrZ3JvdW5kLWNvbG9yOiAkcHJpbWFyeS1jb2xvci0zO1xuXHRcdFx0XHRcdCY6aG92ZXIsXG5cdFx0XHRcdFx0Jjpmb2N1cyB7XG5cdFx0XHRcdFx0XHR0ZXh0LWRlY29yYXRpb246IG5vbmU7XG5cdFx0XHRcdFx0XHRiYWNrZ3JvdW5kLWNvbG9yOiAjNzEwODI5O1xuXHRcdFx0XHRcdH1cblx0XHRcdFx0XHQmOmFmdGVyIHtcblx0XHRcdFx0XHRcdGNvbnRlbnQ6IFwiXFxlODAwXCI7XG5cdFx0XHRcdFx0XHRmb250LWZhbWlseTogJGljb24tZm9udDtcblx0XHRcdFx0XHRcdHBhZGRpbmctbGVmdDogN3B4O1xuXHRcdFx0XHRcdFx0IFxuXHRcdFx0XHRcdH1cblx0XHRcdFx0XHQmW2FyaWEtZXhwYW5kZWQ9XCJ0cnVlXCJdOmFmdGVyIHtcblx0XHRcdFx0XHRcdGNvbnRlbnQ6IFwiXFxlODA1XCI7XG5cdFx0XHRcdFx0XHRmb250LXNpemU6IDEwcHg7XG5cdFx0XHRcdFx0XHRwYWRkaW5nLXRvcDogMnB4O1xuXHRcdFx0XHRcdH1cblx0XHRcdFx0fVxuXHRcdFx0XHRAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsIGRvd24pIHtcblx0XHRcdFx0XHRkaXNwbGF5OiBub25lO1xuXHRcdFx0XHRcdCYuYXVkaWVuY2UtbWVudSB7XG5cdFx0XHRcdFx0XHRkaXNwbGF5OiBibG9jaztcblx0XHRcdFx0XHR9XG5cdFx0XHRcdH1cblx0XHRcdH1cblx0XHR9XG5cdH1cbn0iLCIud2ViZm9ybS1tb2R1bGUge1xuICBmb3JtIHtcbiAgfVxuXG4gIC5kZXNjcmlwdGlvbiB7XG4gICAgZm9udC1zaXplOjAuOGVtO1xuICAgIGNvbG9yOiM3OTc5Nzk7XG4gIH1cblxuICBsYWJlbC5mb3JtLXJlcXVpcmVkOmJlZm9yZSB7XG4gICAgY29udGVudDogXCIqIFwiO1xuICAgIGNvbG9yOiAjOTgwMTJlO1xuICAgIGZvbnQtc2l6ZTogMjRweDtcbiAgICBsaW5lLWhlaWdodDogMjJweDtcbiAgICBwYWRkaW5nLXJpZ2h0OiAzcHg7XG4gIH1cblxuICAuZm9ybS1pdGVtLS1lcnJvci1tZXNzYWdlIHtcbiAgICBwYWRkaW5nOiA1cHggMTBweDtcbiAgICBmb250LXNpemU6IDE0cHg7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJHByaW1hcnktY29sb3ItMztcbiAgICBtYXJnaW4tYm90dG9tOiAxZW07XG4gICAgY29sb3I6IHdoaXRlO1xuICAgIGZvbnQtZmFtaWx5OiAkcHJpbWFyeS1mb250O1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIG1hcmdpbi10b3A6IC0xNnB4O1xuICB9XG4gIFxuICBtYXJnaW4tYm90dG9tOjYwcHg7XG59IiwiLndpZGUtY2Fyb3VzZWxfX3dyYXBwZXIge1xuXHQmLnJvdyB7XG5cdFx0bWF4LXdpZHRoOiBub25lO1xuXHRcdD4gLmNvbHVtbnMge1xuXHRcdFx0cGFkZGluZy1sZWZ0OiAwO1xuXHRcdFx0cGFkZGluZy1yaWdodDogMDtcblx0XHRcdD4gLnJvdyB7XG5cdFx0XHRcdG1hcmdpbi1sZWZ0OiBhdXRvO1xuXHRcdFx0XHRtYXJnaW4tcmlnaHQ6IGF1dG87XG5cdFx0XHR9XG5cdFx0fVxuXHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UgZG93bikge1xuXHRcdFx0I21haW4tY29udGVudCAmIHtcblx0XHRcdFx0cGFkZGluZy1sZWZ0OiAwO1xuXHRcdFx0XHRwYWRkaW5nLXJpZ2h0OiAwO1xuXHRcdFx0XHRtYXJnaW4tbGVmdDogMDtcblx0XHRcdFx0bWFyZ2luLXJpZ2h0OiAwO1xuXHRcdFx0fVxuXHRcdH1cblx0fVxuXHQud2lkZS1jYXJvdXNlbCB7XG5cdFx0QGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCBkb3duKSB7XG5cdFx0XHRwb3NpdGlvbjogcmVsYXRpdmU7XG5cdFx0XHQmOmJlZm9yZSB7XG5cdFx0XHRcdGNvbnRlbnQ6IFwiXCI7XG5cdFx0XHRcdGJhY2tncm91bmQ6IHRyYW5zcGFyZW50IHVybCgnLi4vaW1hZ2VzL2Fycm93LXBhdHRlcm4ucG5nJykgcmVwZWF0IHNjcm9sbCAwIDA7XG5cdFx0XHRcdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0XHRcdFx0cmlnaHQ6IDA7XG5cdFx0XHRcdHRvcDogLTMwcHg7XG5cdFx0XHRcdGxlZnQ6IGF1dG87XG5cdFx0XHRcdGJvdHRvbTogMDtcblx0XHRcdFx0d2lkdGg6IDEwMCU7XG5cdFx0XHRcdGhlaWdodDogMzBweDtcblx0XHRcdFx0ei1pbmRleDogMDtcblx0XHRcdH1cblx0XHR9XG5cdFx0QGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcblx0XHRcdC5vcmJpdC1zbGlkZSA+IC5yb3cgPiAuY29sdW1uczpmaXJzdC1jaGlsZCB7XG5cdFx0XHRcdHBvc2l0aW9uOiByZWxhdGl2ZTtcblx0XHRcdFx0JjpiZWZvcmUge1xuXHRcdFx0XHRcdGNvbnRlbnQ6IFwiXCI7XG5cdFx0XHRcdFx0YmFja2dyb3VuZDogdHJhbnNwYXJlbnQgdXJsKCcuLi9pbWFnZXMvYXJyb3ctcGF0dGVybi5wbmcnKSByZXBlYXQgc2Nyb2xsIDAgMDtcblx0XHRcdFx0XHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdFx0XHRcdFx0cmlnaHQ6IDA7XG5cdFx0XHRcdFx0dG9wOiAtNDdweDtcblx0XHRcdFx0XHRsZWZ0OiBhdXRvO1xuXHRcdFx0XHRcdGJvdHRvbTogMDtcblx0XHRcdFx0XHR3aWR0aDogNTAlO1xuXHRcdFx0XHRcdGhlaWdodDogNDdweDtcblx0XHRcdFx0XHR6LWluZGV4OiAwO1xuXHRcdFx0XHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UgZG93bikge1xuXHRcdFx0XHRcdFx0dG9wOiAtMzBweDtcblx0XHRcdFx0XHRcdGhlaWdodDogMzBweDtcblx0XHRcdFx0XHR9XG5cdFx0XHRcdH1cblx0XHRcdH1cblx0XHR9XG5cdFx0QGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xuXHRcdFx0LndpZGUtY2Fyb3VzZWxfX21lZGlhLXdyYXBwZXIge1xuXHRcdFx0XHRwb3NpdGlvbjogcmVsYXRpdmU7XG5cdFx0XHRcdHBhZGRpbmctYm90dG9tOiA1Ni4yNSU7XG5cdFx0XHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQoeGxhcmdlKSB7XG5cdFx0XHRcdFx0cGFkZGluZy1ib3R0b206IDQ2LjI1JTtcblx0XHRcdFx0XHQ+ICoge1xuXHRcdFx0XHRcdFx0dG9wOiAtNSUgIWltcG9ydGFudDtcblx0XHRcdFx0ICAgIFx0aGVpZ2h0OiBhdXRvICFpbXBvcnRhbnQ7XG5cdFx0XHRcdFx0fVxuXHRcdFx0XHR9XG5cdFx0XHRcdGhlaWdodDogMDtcblx0XHRcdFx0b3ZlcmZsb3c6IGhpZGRlbjtcblx0XHRcdFx0PiAqIHtcblx0XHRcdFx0XHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdFx0XHRcdCAgICB0b3A6IDA7XG5cdFx0XHRcdCAgICBsZWZ0OiAwO1xuXHRcdFx0XHQgICAgd2lkdGg6IDEwMCU7XG5cdFx0XHRcdCAgICBoZWlnaHQ6IDEwMCU7XG5cdFx0XHRcdH1cblx0XHRcdCAgICA+IHZpZGVvIHtcblx0XHRcdCAgICBcdHotaW5kZXg6IDI7XG5cdFx0XHQgICAgXHQrIGltZyB7XG5cdFx0XHQgICAgXHRcdGRpc3BsYXk6IG5vbmU7XG5cdFx0XHQgICAgXHR9XG5cdFx0XHQgICAgfVxuXHRcdFx0ICAgID4gaW1nIHtcblx0XHRcdCAgICBcdHotaW5kZXg6IDE7XG5cdFx0XHQgICAgfVxuXHRcdFx0fVxuXHRcdH1cblx0XHRAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsIGRvd24pIHtcblx0XHRcdG1hcmdpbi10b3A6IDM1cHg7XG5cdFx0fVxuXHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIGRvd24pIHtcblx0XHRcdC53aWRlLWNhcm91c2VsX19tZWRpYS13cmFwcGVyIHtcblx0XHRcdFx0PiB2aWRlbyB7XG5cdFx0XHRcdFx0ZGlzcGxheTogbm9uZTtcblx0XHRcdFx0fVxuXHRcdFx0XHQ+IGltZyB7XG5cdFx0XHRcdFx0d2lkdGg6MTAwJTtcblx0XHRcdFx0fVxuXHRcdFx0fVxuXHRcdH1cblx0fVxuXHQmLndpZGUtY2Fyb3VzZWxfX3dyYXBwZXItLWFsdCAud2lkZS1jYXJvdXNlbCB7XG5cdFx0QGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcblx0XHRcdC5vcmJpdC1zbGlkZSA+IC5yb3cgPiAuY29sdW1uczpmaXJzdC1jaGlsZCB7XG5cdFx0XHRcdCY6YmVmb3JlIHtcblx0XHRcdFx0XHRyaWdodDogYXV0bztcblx0XHRcdFx0XHRsZWZ0OiAwO1xuXHRcdFx0XHR9XG5cdFx0XHR9XG5cdFx0fVxuXHR9XG5cdC53aWRlLWNhcm91c2VsX19jb250ZW50IHtcblx0XHRtYXJnaW4tYm90dG9tOiAtNTdweDtcblx0ICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcblx0ICAgIGJhY2tncm91bmQtY29sb3I6IHdoaXRlO1xuXHQgICAgei1pbmRleDogMztcblx0ICAgIHBhZGRpbmc6IDEzcHggNDRweDtcblx0ICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XG5cdCAgICBcdGxlZnQ6IC0xMHB4O1xuXHQgICAgfVxuXHQgICAgcCB7XG5cdFx0ICAgIGZvbnQtc2l6ZTogMTZweDtcblx0XHRcdGxpbmUtaGVpZ2h0OiAyNHB4O1xuXHRcdH1cblx0XHRAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsIGRvd24pIHtcblx0ICAgIFx0cGFkZGluZzogMTVweCAyMnB4IDAgMjJweDtcblx0ICAgIFx0bWFyZ2luLWJvdHRvbTogMDtcblx0XHQgICAgcCB7XG5cdFx0XHQgICAgZm9udC1zaXplOiAxNHB4O1xuXHRcdFx0ICAgIGxpbmUtaGVpZ2h0OiAxOXB4O1xuXHRcdFx0fVxuXHQgICAgfVxuXHR9XG5cdEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XG5cdFx0Ji53aWRlLWNhcm91c2VsX193cmFwcGVyLS1hbHQge1xuXHRcdFx0LndpZGUtY2Fyb3VzZWxfX2NvbnRlbnQge1xuXHRcdFx0XHRsZWZ0OiAxMHB4O1xuXHRcdFx0fVxuXHRcdH1cblx0fVxuXHRAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsIGRvd24pIHtcblx0XHQ+IC5jb2x1bW5zOmZpcnN0LWNoaWxkIHtcblx0XHRcdHBhZGRpbmctbGVmdDogMjJweDtcblx0XHRcdHBhZGRpbmctcmlnaHQ6IDIycHg7XG5cdFx0fVxuXHRcdGgzIHtcblx0XHRcdHBvc2l0aW9uOiByZWxhdGl2ZTtcblx0XHRcdHotaW5kZXg6IDE7XG5cdFx0fVxuXHR9XG59IiwiLmZpbHRlci1idXR0b24ge1xuICBib3JkZXI6MnB4IHNvbGlkICNiMWIxYjE7XG4gIHBhZGRpbmc6MTVweCAxOHB4O1xuICBjb2xvcjojODE3OTZmO1xuICB0ZXh0LXRyYW5zZm9ybTp1cHBlcmNhc2U7XG4gIGN1cnNvcjpwb2ludGVyO1xuXG4gIGZvbnQtZmFtaWx5OiAkY3RhLWZvbnQ7XG4gIGZvbnQtc2l6ZTogMTZweDtcblxuICAmOmhvdmVyLCAmOmZvY3VzLCAmLm9wZW4ge1xuICAgIGNvbG9yOndoaXRlO1xuICAgIGJhY2tncm91bmQ6JHByaW1hcnktY29sb3ItMztcbiAgICBib3JkZXItY29sb3I6ICRwcmltYXJ5LWNvbG9yLTM7XG4gIH1cbn0iLCIuZm9vdGVyLXNpdGUtbGV2ZWwge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkdW5pdC1hY2NlbnQtY29sb3ItdGVhbDtcblxuICAudW5pdC10aGVtZS10ZWFsICYge2JhY2tncm91bmQtY29sb3I6ICR1bml0LWFjY2VudC1jb2xvci10ZWFsO31cbiAgLnVuaXQtdGhlbWUtcHVycGxlICYge2JhY2tncm91bmQtY29sb3I6ICR1bml0LWFjY2VudC1jb2xvci1wdXJwbGU7fVxuICAudW5pdC10aGVtZS1ncmVlbiAmIHtiYWNrZ3JvdW5kLWNvbG9yOiAkdW5pdC1hY2NlbnQtY29sb3ItZ3JlZW59XG4gIC51bml0LXRoZW1lLWdvbGQgJiB7YmFja2dyb3VuZC1jb2xvcjogJHVuaXQtYWNjZW50LWNvbG9yLWdvbGQ7fVxuICAudW5pdC10aGVtZS1ncmV5ICYge2JhY2tncm91bmQtY29sb3I6ICR1bml0LWFjY2VudC1jb2xvci1ncmV5O31cbiAgLnVuaXQtdGhlbWUtcmVkICYge2JhY2tncm91bmQtY29sb3I6ICR1bml0LWFjY2VudC1jb2xvci1yZWQ7fVxuXG4gIGNvbG9yOiAjZmZmZmZmO1xuICBwYWRkaW5nOiA1NXB4IDA7XG4gICYgPiBkaXYge1xuICAgIG1heC13aWR0aDogJGdyaWQtcm93LXdpZHRoO1xuICAgIG1hcmdpbjogMCBhdXRvO1xuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UgZG93bikge1xuICAgICAgbWFyZ2luLWxlZnQ6IDI1cHg7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDU1cHg7XG4gICAgfVxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIGRvd24pIHtcbiAgICAgIG1hcmdpbi1sZWZ0OiA1dnc7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDV2dztcbiAgICB9XG4gICAgLmZvb3Rlci1zaXRlLWxldmVsLWxvZ28ge1xuICAgICAgbWFyZ2luLWJvdHRvbTogNDBweDtcbiAgICB9XG4gICAgLmZvb3Rlci1zaXRlLWxldmVsLXNvY2lhbCB7XG4gICAgICBmb250LXNpemU6IDE0cHg7XG4gICAgICBtYXJnaW4tbGVmdDogNTBweDtcbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIGRvd24pIHtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgICAgIG1hcmdpbi10b3A6IDJyZW07XG4gICAgICB9XG4gICAgICBwIHtcbiAgICAgICAgcGFkZGluZy1sZWZ0OiAwO1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAxMHB4O1xuICAgICAgICBsaW5lLWhlaWdodDogMTZweDtcbiAgICAgIH1cbiAgICAgIC5zb2NpYWwtbWVkaWEge1xuICAgICAgICBtYXJnaW4tbGVmdDogLTEycHg7XG4gICAgICAgICYgPiBkaXYgYSB7XG4gICAgICAgICAgZm9udC1zaXplOiAyM3B4O1xuICAgICAgICAgIGNvbG9yOiAjZmZmZmZmO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICAgIC5mb290ZXItc2l0ZS1sZXZlbC1hZGRyZXNzIHtcbiAgICAgIG1hcmdpbi1sZWZ0OiA2dnc7XG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSBkb3duKSB7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiA1MHB4O1xuICAgICAgfVxuICAgICAgc3BhbiB7XG4gICAgICAgIGZsb2F0OiBsZWZ0O1xuICAgICAgICBtYXJnaW4tbGVmdDogLTQwcHg7XG4gICAgICAgIGZvbnQtc2l6ZTogMjRweDtcbiAgICAgICAgbWFyZ2luLXRvcDogLTE1cHg7XG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIGRvd24pIHtcbiAgICAgICAgICBtYXJnaW4tbGVmdDogLTUwcHg7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgIHAge1xuICAgICAgICBmb250LXNpemU6IDE2cHg7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAyMHB4O1xuICAgICAgfVxuICAgIH1cbiAgICAuZm9vdGVyLXNpdGUtbGV2ZWwtaW5mbyB7XG4gICAgICBtYXJnaW4tbGVmdDogNHZ3O1xuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gZG93bikge1xuICAgICAgICBtYXJnaW4tbGVmdDogMDtcbiAgICAgIH1cbiAgICAgICYgPiBkaXYge1xuICAgICAgICBtYXJnaW4tdG9wOiAxcmVtO1xuICAgICAgICBzcGFuIHtcbiAgICAgICAgICBmb250LXNpemU6IDI0cHg7XG4gICAgICAgIH1cbiAgICAgICAgcCB7XG4gICAgICAgICAgZm9udC1zaXplOiAxNnB4O1xuICAgICAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgICAgICAgbWFyZ2luLWxlZnQ6IDEwcHg7XG4gICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gZG93bikge1xuICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IDIwcHg7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iLCIiLCIuZ2VuZXJpYy1zYW1wbGUtbGlzdGluZy1pdGVtIHtcbiAgcGFkZGluZzozMHB4IDIwcHg7XG4gIGhlaWdodDoxMDAlO1xuICBwb3NpdGlvbjpyZWxhdGl2ZTtcblxuICAmOmJlZm9yZSwgJjphZnRlciB7XG4gICAgY29udGVudDpcIlwiO1xuICAgIHBvc2l0aW9uOmFic29sdXRlO1xuICAgIGxlZnQ6MDtcbiAgICByaWdodDowO1xuICAgIGhlaWdodDoycHg7XG4gICAgYmFja2dyb3VuZDogJG5ldXRyYWwtY29sb3ItNTtcbiAgfVxuICAmOmJlZm9yZSB7XG4gICAgdG9wOi0ycHg7XG4gIH1cbiAgJjphZnRlciB7XG4gICAgYm90dG9tOjA7XG4gIH1cbn0iLCJcbi5maWx0ZXItY29udGFpbmVyIHtcbiAgcGFkZGluZy10b3A6MzBweDtcbn1cbi5maWx0ZXItY29udGFpbmVyLWlubmVyIHtcbiAgcG9zaXRpb246cmVsYXRpdmU7XG4gIGJvcmRlci1ib3R0b206IDhweCBzb2xpZCAkbmV1dHJhbC1jb2xvci01O1xufVxuXG4ubGlzdGluZy1maWx0ZXJzIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB6LWluZGV4OjE7XG5cbiAgYmFja2dyb3VuZDojMmEyOTMwO1xuICBjb2xvcjp3aGl0ZTtcbiAgZGlzcGxheTpub25lO1xuXG4gIHdpZHRoOjEwMCU7XG5cbiAgJi5vcGVuIHsgZGlzcGxheTpibG9jazsgfVxuXG4gIC5saXN0aW5nLWZpbHRlcnMtY29udGVudHMgZm9ybSB7XG4gICAgd2lkdGg6MTAwJTtcbiAgICBwYWRkaW5nOjI0cHggMjJweCAyM3B4IDIycHg7XG5cbiAgICBAaW5jbHVkZSBmbGV4LWdyaWQtcm93KCk7XG4gIH1cblxuICAuZm9ybS1pdGVtIHtcbiAgICBAaW5jbHVkZSBmbGV4LWdyaWQtY29sdW1uKDQpO1xuICB9XG5cbiAgbGFiZWwge1xuICAgIGNvbG9yOndoaXRlO1xuICAgIGZvbnQtc2l6ZToxOHB4O1xuICAgIGZvbnQtd2VpZ2h0OmJvbGQ7XG4gICAgZm9udC1mYW1pbHk6ICRwcmltYXJ5LWZvbnQ7XG5cbiAgICBtYXJnaW4tYm90dG9tOjNweDtcbiAgfVxuXG4gIC5mb3JtLWFjdGlvbnMge1xuICAgIG1hcmdpbi10b3A6MTVweDtcblxuICAgIEBpbmNsdWRlIGZsZXgtZ3JpZC1jb2x1bW4oMTIpO1xuICAgIGRpc3BsYXk6ZmxleDtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6Y2VudGVyO1xuXG4gICAgPiAqICsgKiB7IG1hcmdpbi1sZWZ0OjE1cHg7IH1cbiAgfVxuXG4gICY6YWZ0ZXIge1xuICAgIGNvbnRlbnQ6ICcnO1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBib3JkZXItYm90dG9tOiAyMHB4IHNvbGlkICMyYTI5MzA7XG4gICAgYm9yZGVyLWxlZnQ6IDIwcHggc29saWQgdHJhbnNwYXJlbnQ7XG4gICAgYm9yZGVyLXJpZ2h0OiAyMHB4IHNvbGlkIHRyYW5zcGFyZW50O1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IC0yMHB4O1xuICAgIHJpZ2h0OiA0MnB4O1xuICAgIHotaW5kZXg6IDA7XG4gIH1cblxuICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSBkb3duKSB7XG4gICAgLmZvcm0taXRlbSB7XG4gICAgICBAaW5jbHVkZSBmbGV4LWdyaWQtY29sdW1uKDYpO1xuICAgIH1cbiAgfVxuICBAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsIGRvd24pIHtcbiAgICAuZm9ybS1pdGVtIHtcbiAgICAgIEBpbmNsdWRlIGZsZXgtZ3JpZC1jb2x1bW4oMTIpO1xuICAgIH1cbiAgfVxuXG59IiwiLnVuaXQtZ2VuZXJpYy1mbHlvdXQge1xuICBwb3NpdGlvbjpyZWxhdGl2ZTtcbiAgZGlzcGxheTpub25lO1xuICAmLmV4cGFuZGVkIHtkaXNwbGF5OmJsb2NrO31cblxuICBtYXgtaGVpZ2h0OiA3NXZoO1xuICBvdmVyZmxvdzphdXRvO1xuXG4gIGJhY2tncm91bmQ6ICNlN2U3ZTc7XG4gIC51bml0LWdlbmVyaWMtZmx5b3V0LXdyYXBwZXIge1xuICAgIG92ZXJmbG93OmhpZGRlbjsgLy8gcG9vciBtYW5zIGNsZWFyZml4XG4gICAgcG9zaXRpb246cmVsYXRpdmU7XG4gICAgbWF4LXdpZHRoOjEwMDBweDtcbiAgICBwYWRkaW5nOjUwcHggMjBweCAzMHB4IDIwcHg7XG4gICAgbWFyZ2luOiAwIGF1dG87XG4gICAgdGV4dC1hbGlnbjpjZW50ZXI7XG4gIH1cblxuICAuY29sdW1ucyB7XG4gICAgcGFkZGluZy1ib3R0b206MzBweDtcbiAgfVxuXG4gIGgyIHtcbiAgICBmb250LXNpemU6MjhweDtcbiAgICBtYXJnaW4tYm90dG9tOjEwcHg7XG4gIH1cblxuICAuZmx5b3V0LWJ1dHRvbiB7XG4gICAgbWFyZ2luLXRvcDoyMHB4O1xuICB9XG5cblxuXG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIGRvd24pIHtcbiAgICBwb3NpdGlvbjphYnNvbHV0ZTtcbiAgICB6LWluZGV4OjI7XG4gICAgdG9wOjEyMHB4O1xuICAgIC51bml0LWhlYWRlciAuaXMtc3R1Y2sgJiB7XG4gICAgICB0b3A6NjBweDtcbiAgICB9XG5cbiAgICB3aWR0aDoxMDAlO1xuICAgIC51bml0LWdlbmVyaWMtZmx5b3V0LXdyYXBwZXIge1xuICAgICAgcGFkZGluZy10b3A6MzBweDtcbiAgICAgIHBhZGRpbmctYm90dG9tOjIwcHg7XG4gICAgfVxuXG4gICAgYm94LXNoYWRvdzogMCAtNTBweCA1MHB4IDUwcHggcmdiYSgwLDAsMCwwLjMpO1xuICB9XG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgZG93bikge1xuICAgIHRvcDo4N3B4O1xuICB9XG59IiwiYm9keSAuaGVyby1iYWNrZ3JvdW5kIHtcbiAgY29udGVudDogXCJcIjtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBsZWZ0OiAwO1xuICByaWdodDogMDtcbiAgdG9wOiAwO1xuICBib3R0b206IDA7XG4gIHotaW5kZXg6IDA7XG4gIGJhY2tncm91bmQtY29sb3I6ICR1bml0LWFjY2VudC1jb2xvci10ZWFsO1xuICBtYXJnaW4tbGVmdDogMDtcbiAgd2lkdGg6IDEwMCU7XG59XG5ib2R5LnVuaXQtdGhlbWUtdGVhbCAuaGVyby1iYWNrZ3JvdW5kIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogJHVuaXQtYWNjZW50LWNvbG9yLXRlYWw7XG59XG5ib2R5LnVuaXQtdGhlbWUtcHVycGxlIC5oZXJvLWJhY2tncm91bmQge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkdW5pdC1hY2NlbnQtY29sb3ItcHVycGxlO1xufVxuYm9keS51bml0LXRoZW1lLWdyZWVuIC5oZXJvLWJhY2tncm91bmQge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkdW5pdC1hY2NlbnQtY29sb3ItZ3JlZW47XG59XG5ib2R5LnVuaXQtdGhlbWUtZ29sZCAuaGVyby1iYWNrZ3JvdW5kIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogJHVuaXQtYWNjZW50LWNvbG9yLWdvbGQ7XG59XG5ib2R5LnVuaXQtdGhlbWUtcmVkIC5oZXJvLWJhY2tncm91bmQge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkdW5pdC1hY2NlbnQtY29sb3ItcmVkO1xufVxuYm9keS51bml0LXRoZW1lLWdyZXkgLmhlcm8tYmFja2dyb3VuZCB7XG4gIGJhY2tncm91bmQtY29sb3I6ICR1bml0LWFjY2VudC1jb2xvci1ncmV5O1xufVxuYm9keSAuaGVyby1vdmVybGF5IHtcbiAgb3BhY2l0eTogMC43NTtcbn1cblxuLnVuaXQtaGVhZGVyIHtcblx0LnVuaXQtaGVyby1tZWRpYSB7XG5cdFx0cG9zaXRpb246IGFic29sdXRlO1xuXHRcdHRvcDogMDtcblx0XHRsZWZ0OiAwO1xuXHRcdHJpZ2h0OiAwO1xuXHRcdGJvdHRvbTogMDtcblx0XHR6LWluZGV4OiAtMTtcblx0XHRvdmVyZmxvdzogaGlkZGVuO1xuXHRcdD4gKiB7XG5cdFx0XHR3aWR0aDogYXV0bztcblx0XHRcdG1pbi1oZWlnaHQ6IDEwMCU7XG5cdFx0XHRtaW4td2lkdGg6IDEwMCU7XG5cdFx0XHRoZWlnaHQ6IGF1dG87XG5cdFx0XHRtYXgtd2lkdGg6IG5vbmU7XG5cdFx0XHRAbWVkaWEgKG1heC13aWR0aDogMTM1NnB4KSB7XG5cdFx0XHRcdG1pbi1oZWlnaHQ6IDA7XG5cdFx0XHRcdG1pbi13aWR0aDogMDtcblx0XHRcdFx0cG9zaXRpb246IHJlbGF0aXZlO1xuXHRcdFx0XHRsZWZ0OiA1MCU7XG5cdFx0XHRcdHdpZHRoOiAxMzU2cHg7XG5cdFx0XHRcdG1hcmdpbi1sZWZ0OiAtNjc4cHg7XG5cdFx0XHR9XG5cdFx0XHRAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlIGRvd24pIHtcblx0XHRcdFx0d2lkdGg6IDEyMzJweDtcblx0XHRcdFx0bWFyZ2luLWxlZnQ6IC02MTZweDtcblx0XHRcdH1cblx0XHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgZG93bikge1xuXHRcdFx0XHR3aWR0aDogMTA4NHB4O1xuXHRcdFx0XHRtYXJnaW4tbGVmdDogLTU0MnB4O1xuXHRcdFx0fVxuXHRcdH1cblx0XHQ+IHZpZGVvICsgaW1nIHtcblx0XHRcdHBvc2l0aW9uOiBhYnNvbHV0ZSAhaW1wb3J0YW50O1xuXHRcdFx0dG9wOiAwO1xuXHRcdFx0ei1pbmRleDogLTE7XG5cdFx0fVxuXHRcdD4gdmlkZW8ge1xuXHRcdFx0dmlzaWJpbGl0eTogaGlkZGVuO1xuXHRcdFx0b3BhY2l0eTogMDtcblx0XHRcdHRyYW5zaXRpb246IG9wYWNpdHkgMXMgZWFzZTtcblx0XHRcdCYuaGVyby12aWRlby0tdmlzaWJsZSB7XG5cdFx0XHRcdG9wYWNpdHk6IDE7XG5cdFx0XHRcdHZpc2liaWxpdHk6IHZpc2libGU7XG5cdFx0XHR9XG5cdFx0fVxuXHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcblx0XHRcdGRpc3BsYXk6IGZsZXg7XG5cdFx0XHRhbGlnbi1pdGVtczogY2VudGVyO1xuXHRcdFx0Lyo+IHZpZGVvICsgaW1nIHtcblx0XHRcdFx0ZGlzcGxheTogbm9uZTtcblx0XHRcdH0qL1xuXHRcdH1cblx0fVxuXHQuaGVyby1tZWRpYV9fY2FwdGlvbiB7XG5cdFx0cG9zaXRpb246IGFic29sdXRlO1xuXHRcdHdpZHRoOiAxMDAlO1xuXHRcdGJvdHRvbTogMTEzcHg7XG5cdFx0QGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSBkb3duKSB7XG5cdFx0XHRyaWdodDogNTVweDtcblx0XHR9XG5cdFx0QGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gZG93bikge1xuXHRcdFx0cmlnaHQ6IDIycHg7XG5cdFx0fVxuXHRcdC5jb2x1bW5zIHtcblx0XHRcdHBhZGRpbmctbGVmdDogMDtcblx0XHRcdHBhZGRpbmctcmlnaHQ6IDA7XG5cdFx0fVxuXHRcdC5oZXJvLW1lZGlhX19jYXB0aW9uX190ZXh0IHtcblx0XHRcdHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMXMgZWFzZTtcblx0XHRcdD4gYSB7XG5cdFx0XHRcdHRleHQtZGVjb3JhdGlvbjogbm9uZTtcblx0XHRcdFx0ZGlzcGxheTogYmxvY2s7XG5cdFx0XHRcdHBhZGRpbmc6IDlweCA1NnB4IDEzcHggMTZweDtcblx0XHRcdFx0Jjpob3Zlcixcblx0XHRcdFx0Jjpmb2N1cyB7XG5cdFx0XHRcdFx0YmFja2dyb3VuZC1jb2xvcjogcmdiYSgyNCwgMjMsIDMwLCAwLjgpO1xuXHRcdFx0XHRcdHAge1xuXHRcdFx0XHRcdFx0b3BhY2l0eTogMTtcblx0XHRcdFx0XHR9XG5cdFx0XHRcdH1cblx0XHRcdH1cblx0XHRcdHBvc2l0aW9uOiByZWxhdGl2ZTtcblx0XHRcdGZsb2F0OiByaWdodDtcblx0XHRcdHJpZ2h0OiAwO1xuXHRcdFx0bGVmdDogdW5zZXQ7XG5cdFx0XHRiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDI0LCAyMywgMzAsIDAuNik7XG5cdFx0XHR3aWR0aDogMjgzcHg7XG5cdFx0XHRwIHtcblx0XHRcdFx0Y29sb3I6ICNmZmY7XG5cdFx0XHRcdG9wYWNpdHk6IDAuNTtcblx0XHRcdFx0bWFyZ2luLWJvdHRvbTogMDtcblx0XHRcdFx0Zm9udC1zaXplOiAxNnB4O1xuXHRcdFx0XHRsaW5lLWhlaWdodDogMjBweDtcblxuXHRcdFx0XHRvdmVyZmxvdzogaGlkZGVuO1xuXHRcdFx0XHR3aGl0ZS1zcGFjZTogbm93cmFwO1xuXHRcdFx0XHR0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcblx0XHRcdH1cblx0XHRcdC5oZXJvLW1lZGlhX19jYXB0aW9uX190b2dnbGVyIHtcblx0XHRcdFx0cG9zaXRpb246IGFic29sdXRlO1xuXHRcdFx0XHRib3R0b206IDhweDtcblx0XHRcdFx0cmlnaHQ6IDExcHg7XG5cdFx0XHRcdC5pY29uLWR1LW1pbnVzLFxuXHRcdFx0XHQuZHUtaWNvbi1taW51cyB7XG5cdFx0XHRcdFx0ZGlzcGxheTogbm9uZTtcblx0XHRcdFx0fVxuXHRcdFx0XHRbY2xhc3MqPVwiaWNvbi1kdVwiXSxcblx0XHRcdFx0W2NsYXNzKj1cImR1LWljb25cIl0ge1xuXHRcdFx0XHRcdGZvbnQtc2l6ZTogMjRweDtcblx0XHRcdFx0XHRjb2xvcjogd2hpdGU7XG5cdFx0XHRcdH1cblx0XHRcdH1cblx0XHR9XG5cdFx0Ji5jYXB0aW9uLWV4cGFuZGVkIHtcblx0XHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIGRvd24pIHtcblx0XHRcdFx0d2lkdGg6IGF1dG87XG5cdFx0XHQgICAgbGVmdDogMjBweDtcblx0XHRcdH1cblx0XHRcdC5oZXJvLW1lZGlhX19jYXB0aW9uX190ZXh0IHtcblx0XHRcdFx0YmFja2dyb3VuZC1jb2xvcjogcmdiYSgyNCwgMjMsIDMwLCAwLjkpO1xuXHRcdFx0XHR3aWR0aDogYXV0bztcblx0XHRcdFx0bGVmdDogMDtcblx0XHRcdFx0bWFyZ2luLWxlZnQ6IC01NHB4O1xuXHRcdFx0XHRAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlIGRvd24pIHtcblx0XHRcdFx0XHRtYXJnaW4tbGVmdDogMjBweDtcblx0XHRcdFx0fVxuXHRcdFx0XHRAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSBkb3duKSB7XG5cdFx0XHRcdFx0bWFyZ2luLWxlZnQ6IDA7XG5cdFx0XHRcdH1cblx0XHRcdFx0cCB7XG5cdFx0XHRcdFx0b3BhY2l0eTogMTtcblx0XHRcdFx0XHR3aGl0ZS1zcGFjZTogbm9ybWFsO1xuXHRcdFx0XHR9XG5cdFx0XHR9XG5cdFx0XHQuaGVyby1tZWRpYV9fY2FwdGlvbl9fdG9nZ2xlciB7XG5cdFx0XHRcdC5pY29uLWR1LXBsdXMsXG5cdFx0XHRcdC5kdS1pY29uLXBsdXMge1xuXHRcdFx0XHRcdGRpc3BsYXk6IG5vbmU7XG5cdFx0XHRcdH1cblx0XHRcdFx0Lmljb24tZHUtbWludXMsXG5cdFx0XHRcdC5kdS1pY29uLW1pbnVzIHtcblx0XHRcdFx0XHRkaXNwbGF5OiBibG9jaztcblx0XHRcdFx0fVxuXHRcdFx0fVxuXHRcdH1cblx0fVxufVxuIiwiLmdlbmVyaWMtbGlzdGluZyB7XG4gIG1hcmdpbi1ib3R0b206NDBweDtcblxuICAucGFnZS1pbmZvIHtcbiAgICBwYWRkaW5nLXRvcDoyMHB4O1xuICAgIGZvbnQtc2l6ZToxOHB4O1xuICAgIGZvbnQtd2VpZ2h0OjYwMDtcbiAgICBjb2xvcjokbmV1dHJhbC1jb2xvci0yO1xuICB9XG5cbiAgLnJlc3VsdHMtY29udGFpbmVyIHtcbiAgICBAaW5jbHVkZSBmbGV4LWdyaWQtcm93KCk7XG4gICAgbWFyZ2luLWJvdHRvbTozMHB4O1xuICAgIHdpZHRoOjEwMCU7XG4gIH1cbiAgLnJlc3VsdHMtaXRlbSB7XG4gICAgQGluY2x1ZGUgZmxleC1ncmlkLWNvbHVtbig2KTtcbiAgfVxuICAucmVzdWx0cy1jb250YWluZXIub25lLWNvbCAucmVzdWx0cy1pdGVtIHtcbiAgICBAaW5jbHVkZSBmbGV4LWdyaWQtY29sdW1uKDEyKTtcbiAgfVxuXG4gIC5saXN0aW5nLXBhZ2VyIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBwYWRkaW5nLWJvdHRvbTogM3JlbTtcbiAgfVxuXG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgZG93bikge1xuICAgIC5yZXN1bHRzLWl0ZW0ge1xuICAgICAgQGluY2x1ZGUgZmxleC1ncmlkLWNvbHVtbigxMik7XG4gICAgfVxuICB9XG5cbiAgLmVtcHR5LXJlc3VsdHMge1xuICAgIHBhZGRpbmc6MjBweDtcbiAgfVxuXG59IiwiLmJhY2stdG8tbWFpbiB7XG4gIGRpc3BsYXk6bm9uZTtcbiAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gZG93bikge1xuICAgIGRpc3BsYXk6YmxvY2s7XG4gIH1cblxuICBtYXJnaW46MCBhdXRvO1xuICBoZWlnaHQ6NjBweDtcbiAgbGluZS1oZWlnaHQ6NjBweDtcbiAgYmFja2dyb3VuZDp3aGl0ZTtcbiAgY29sb3I6JHNlY29uZGFyeS1jb2xvci0zO1xuXG4gIGZvbnQtd2VpZ2h0OjYwMDtcbiAgZm9udC1zaXplOjEzcHg7XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG5cbiAgY3Vyc29yOnBvaW50ZXI7XG59XG4uYmFjay10by1tYWluLXdyYXBwZXIge1xuICBtYXgtd2lkdGg6NjgwcHg7XG4gIG1hcmdpbjowIGF1dG87XG4gIHBhZGRpbmc6MCAyMHB4O1xufSIsIi5jbG9zZS1wYW5lbCB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAxNnB4O1xuICByaWdodDogMTZweDtcbiAgZm9udC1zaXplOiAzMnB4O1xuXG4gIGN1cnNvcjogcG9pbnRlcjtcblxuICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSBkb3duKSB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxuXG4gIHRyYW5zaXRpb246bm9uZSAhaW1wb3J0YW50O1xuICBjb2xvcjojODY4Njg2O1xuICAmOmhvdmVyIHsgY29sb3I6ICRuZXV0cmFsLWNvbG9yLTM7IH1cbn0iLCIudW5pdC1yZXNvdXJjZXMtZm9yIHtcbiAgcG9zaXRpb246cmVsYXRpdmU7XG4gIGRpc3BsYXk6bm9uZTtcbiAgJi5leHBhbmRlZCB7ZGlzcGxheTpibG9jazt9XG5cbiAgbWF4LWhlaWdodDogNzV2aDtcbiAgb3ZlcmZsb3c6YXV0bztcblxuICBiYWNrZ3JvdW5kOiAjZTdlN2U3O1xuICAudW5pdC1yZXNvdXJjZXMtZm9yLXdyYXBwZXIge1xuICAgIG92ZXJmbG93OmhpZGRlbjsgLy8gcG9vciBtYW5zIGNsZWFyZml4XG4gICAgcG9zaXRpb246cmVsYXRpdmU7XG4gICAgbWF4LXdpZHRoOjgzMHB4O1xuICAgIHBhZGRpbmc6MzBweCAyMHB4IDM3cHggMjBweDtcbiAgICBtYXJnaW46IDAgYXV0bztcbiAgfVxuXG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIGRvd24pIHtcbiAgICBwb3NpdGlvbjphYnNvbHV0ZTtcbiAgICB6LWluZGV4OjI7XG4gICAgdG9wOjEyMHB4O1xuICAgIC51bml0LWhlYWRlciAuaXMtc3R1Y2sgJiB7XG4gICAgICB0b3A6NjBweDtcbiAgICB9XG5cbiAgICB3aWR0aDoxMDAlO1xuICAgIC51bml0LXJlc291cmNlcy1mb3Itd3JhcHBlciB7XG4gICAgICBwYWRkaW5nLWJvdHRvbTo0MHB4O1xuICAgIH1cblxuICAgIGJveC1zaGFkb3c6IDAgLTUwcHggNTBweCA1MHB4IHJnYmEoMCwwLDAsMC4zKTtcbiAgfVxuICBAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsIGRvd24pIHtcbiAgICB0b3A6ODdweDtcbiAgfVxuXG4gIHVsIHtcbiAgICBib3JkZXItdG9wOiA4cHggc29saWQgJG5ldXRyYWwtY29sb3ItNDtcbiAgICBsaXN0LXN0eWxlOm5vbmU7XG5cbiAgICAtbW96LWNvbHVtbi1jb3VudDogMjtcbiAgICAtd2Via2l0LWNvbHVtbi1jb3VudDogMjtcbiAgICBjb2x1bW4tY291bnQ6IDI7XG4gICAgbGkge1xuICAgICAgLyogYXV0b3ByZWZpeGVyOiBvZmYgKi9cbiAgICAgIC13ZWJraXQtY29sdW1uLWJyZWFrLWluc2lkZTogYXZvaWQ7IC8qIENocm9tZSwgU2FmYXJpICovXG4gICAgICBwYWdlLWJyZWFrLWluc2lkZTogYXZvaWQ7ICAgICAgICAgICAvKiBUaGVvcmV0aWNhbGx5IEZGIDIwKyAqL1xuICAgICAgYnJlYWstaW5zaWRlOiBhdm9pZC1jb2x1bW47ICAgICAgICAgLyogSUUgMTEgKi9cbiAgICB9XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50IChzbWFsbCBkb3duKSB7XG4gICAgICAtbW96LWNvbHVtbi1jb3VudDogMTtcbiAgICAgIC13ZWJraXQtY29sdW1uLWNvdW50OiAxO1xuICAgICAgY29sdW1uLWNvdW50OiAxO1xuICAgIH1cbiAgfVxuXG4gIGxpIHtcbiAgICBtYXJnaW4tbGVmdDowO1xuICB9XG4gIGxpIGEge1xuICAgIGRpc3BsYXk6YmxvY2s7XG4gICAgY29sb3I6JG5ldXRyYWwtY29sb3ItMjtcbiAgICBmb250LXdlaWdodDo2MDA7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgIHBhZGRpbmc6IDIycHggMjhweDtcbiAgICBib3JkZXItYm90dG9tOiAycHggc29saWQgJG5ldXRyYWwtY29sb3ItNDtcblxuICAgICY6aG92ZXIsICY6Zm9jdXMge1xuICAgICAgY29sb3I6ICRwcmltYXJ5LWNvbG9yLTM7XG4gICAgICBiYWNrZ3JvdW5kOiRuZXV0cmFsLWNvbG9yLTQ7XG4gICAgfVxuXG4gICAgJi5vZmYtc2l0ZTphZnRlciB7XG4gICAgICBmb250LWZhbWlseTogJGljb24tZm9udDtcbiAgICAgIGNvbnRlbnQ6XCJcXDAwQTBcIiBcIlxcMDBBMFwiIFwiXFxmMTRjXCI7XG4gICAgfVxuICAgICYuY3VycmVudC1zaXRlIHtcbiAgICAgIGJvcmRlci1sZWZ0OiA4cHggc29saWQgJHByaW1hcnktY29sb3ItMztcbiAgICB9XG4gIH1cbn0iLCIudW5pdC1zZWFyY2gtZm9ybSB7XG4gIHBvc2l0aW9uOnJlbGF0aXZlO1xuICBkaXNwbGF5Om5vbmU7XG4gICYuZXhwYW5kZWQge2Rpc3BsYXk6YmxvY2s7fVxuXG4gIG1heC1oZWlnaHQ6IDc1dmg7XG4gIG92ZXJmbG93OmF1dG87XG5cbiAgYmFja2dyb3VuZDogI2U3ZTdlNztcbiAgLnVuaXQtc2VhcmNoLWZvcm0td3JhcHBlciB7XG4gICAgb3ZlcmZsb3c6aGlkZGVuOyAvLyBwb29yIG1hbnMgY2xlYXJmaXhcbiAgICBwb3NpdGlvbjpyZWxhdGl2ZTtcbiAgICBtYXgtd2lkdGg6NjMwcHg7XG4gICAgcGFkZGluZzo0NXB4IDIwcHggNTBweCAyMHB4O1xuICAgIG1hcmdpbjogMCBhdXRvO1xuICB9XG5cbiAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gZG93bikge1xuICAgIHBvc2l0aW9uOmFic29sdXRlO1xuICAgIHotaW5kZXg6MjtcbiAgICB0b3A6MTIwcHg7XG4gICAgLnVuaXQtaGVhZGVyIC5pcy1zdHVjayAmIHtcbiAgICAgIHRvcDo2MHB4O1xuICAgIH1cblxuICAgIHdpZHRoOjEwMCU7XG4gICAgLnVuaXQtc2VhcmNoLWZvcm0td3JhcHBlciB7XG4gICAgICBwYWRkaW5nLWJvdHRvbTo0MHB4O1xuICAgIH1cblxuICAgIGJveC1zaGFkb3c6IDAgLTUwcHggNTBweCA1MHB4IHJnYmEoMCwwLDAsMC4zKTtcbiAgfVxuICBAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsIGRvd24pIHtcbiAgICB0b3A6ODdweDtcbiAgfVxuXG4gIGlucHV0W3R5cGU9dGV4dF0ge1xuICAgIGJhY2tncm91bmQ6dHJhbnNwYXJlbnQ7XG4gICAgYm9yZGVyOiAwO1xuICAgIGJvcmRlci1ib3R0b206IDRweCBzb2xpZCAkcHJpbWFyeS1jb2xvci00O1xuICAgIGJveC1zaGFkb3c6bm9uZTtcbiAgICBwYWRkaW5nOiA0cHggMTBweDtcbiAgICBsaW5lLWhlaWdodDoxZW07XG4gICAgaGVpZ2h0OmF1dG87XG5cbiAgICBmb250LXNpemU6MzJweDtcbiAgICBmb250LXdlaWdodDo2MDA7XG4gICAgY29sb3I6JG5ldXRyYWwtY29sb3ItMjtcbiAgfVxuXG4gIC5zZWFyY2gtbW9kZSB7XG4gICAgZmxvYXQ6bGVmdDtcbiAgICBtYXJnaW4tbGVmdDoxMHB4O1xuICAgIG1hcmdpbi1yaWdodDoyMHB4O1xuXG4gICAgY29sb3I6JG5ldXRyYWwtY29sb3ItMjtcbiAgICBsaW5lLWhlaWdodDoxZW07XG4gICAgZm9udC1zaXplOiAxOHB4O1xuICAgIGZvbnQtd2VpZ2h0OjQwMDtcbiAgfVxuXG4gIC5zZWFyY2gtc3VibWl0IHtcbiAgICBmb250LXNpemU6MjZweDtcbiAgICBwb3NpdGlvbjphYnNvbHV0ZTtcbiAgICByaWdodDoyNXB4O1xuICAgIHRvcDo1NXB4O1xuICB9XG59IiwiLnVuaXQtc2l0ZS1jYXJvdXNlbCB7XG5cbiAgcG9zaXRpb246cmVsYXRpdmU7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIG1hcmdpbi1ib3R0b206NTBweDtcblxuICAmX19zaW5nbGUge1xuICAgIC51bml0LXNpdGUtY2Fyb3VzZWxfX25hdiB7XG4gICAgICBkaXNwbGF5Om5vbmU7XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludCh4bGFyZ2UpIHtcbiAgICAgIG1heC13aWR0aDpub25lICFpbXBvcnRhbnQ7Ly8gb3ZlcnJpZGUgZm91bmRhdGlvbiBtYXggd2lkdGhcbiAgICAgIG1hcmdpbi1sZWZ0OjAhaW1wb3J0YW50O1xuICAgICAgbWFyZ2luLXJpZ2h0OjAhaW1wb3J0YW50O1xuICAgICAgcGFkZGluZzowO1xuICAgICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQgdXJsKCcuLi9pbWFnZXMvYXJyb3ctcGF0dGVybi5wbmcnKSByZXBlYXQgc2Nyb2xsIDAgMDtcbiAgICB9XG4gICAgLnVuaXQtc2l0ZS1jYXJvdXNlbF9fc2xpZGVzIHtcbiAgICAgIG1heC13aWR0aDoxMDAwcHg7XG4gICAgICBtYXJnaW46MCBhdXRvO1xuICAgIH1cbiAgfVxuICAmX19tdWx0aSB7XG4gIH1cblxuICAudW5pdC1zaXRlLWNhcm91c2VsX19vdmVybGF5IHtcbiAgICBwb3NpdGlvbjphYnNvbHV0ZTtcbiAgICAmLmxlZnQge2xlZnQ6MDt9XG4gICAgJi5yaWdodCB7cmlnaHQ6MDt9XG5cbiAgICBoZWlnaHQ6MTAwJTtcbiAgICB6LWluZGV4OjE7XG4gICAgcG9pbnRlci1ldmVudHM6bm9uZTtcblxuICAgIGJhY2tncm91bmQ6ICMxODE3MWU7XG4gICAgb3BhY2l0eTowLjc7XG4gIH1cblxuICAudW5pdC1zaXRlLWNhcm91c2VsX19uYXYge1xuICAgIHBvc2l0aW9uOmFic29sdXRlO1xuICAgIHotaW5kZXg6MjtcbiAgICB0b3A6NTAlOyBsZWZ0OjA7IHJpZ2h0OjA7XG4gICAgbWF4LXdpZHRoOiAxMTgwcHg7XG4gICAgbWFyZ2luOjAgYXV0bztcbiAgfVxuICAucHJldi1idXR0b24sIC5uZXh0LWJ1dHRvbiB7XG4gICAgcG9zaXRpb246YWJzb2x1dGU7XG4gICAgei1pbmRleDoyO1xuICAgIGZvbnQtc2l6ZTo2NXB4O1xuICAgIGxpbmUtaGVpZ2h0OjA7XG4gICAgY29sb3I6d2hpdGU7XG4gICAgdHJhbnNmb3JtOnRyYW5zbGF0ZSgwLCAtNTAlKTtcbiAgICBib3JkZXItcmFkaXVzOjEwMHB4O1xuICAgIHBhZGRpbmc6MTJweCAwO1xuXG4gICAgY3Vyc29yOnBvaW50ZXI7XG4gIH1cblxuICAucHJldi1idXR0b257IGxlZnQ6MTBweDsgfVxuICAubmV4dC1idXR0b24geyByaWdodDoxMHB4OyB9XG5cbiAgLnVuaXQtY2Fyb3VzZWwtc2xpZGUge1xuICAgIHBvc2l0aW9uOnJlbGF0aXZlO1xuICAgIGRpc3BsYXk6YmxvY2sgIWltcG9ydGFudDsgLy8gb3ZlcnJpZGUgaW5saW5lLWJsb2NrIGZyb20gc2xpY2sgc2xpZGVyLlxuICB9XG5cbiAgLnVuaXQtY2Fyb3VzZWwtc2xpZGUgaW1nIHtcbiAgICB3aWR0aDoxMDAlO1xuICB9XG4gIC51bml0LWNhcm91c2VsLXNsaWRlIC5jYXB0aW9uIHtcbiAgICBwb3NpdGlvbjphYnNvbHV0ZTtcbiAgICByaWdodDowO2JvdHRvbTowO2xlZnQ6MDtcbiAgICBiYWNrZ3JvdW5kOnJnYmEoMCwwLDAsMC4zNSk7XG5cbiAgICBwYWRkaW5nOiAyNXB4IDM0cHg7XG4gICAgY29sb3I6d2hpdGU7XG5cbiAgICBsaW5lLWhlaWdodDoyMnB4O1xuICAgIG1pbi1oZWlnaHQ6IDk0cHg7XG4gICAgcCB7XG4gICAgICBsaW5lLWhlaWdodDoyMnB4O1xuICAgICAgJjpsYXN0LWNoaWxkIHttYXJnaW4tYm90dG9tOjA7fVxuICAgIH1cbiAgfVxuXG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgZG93bikge1xuICAgIC5wcmV2LWJ1dHRvbiwgLm5leHQtYnV0dG9uIHtcbiAgICAgIGZvbnQtc2l6ZTogMzBweDtcblxuICAgICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnRpemUoJG5ldXRyYWwtY29sb3ItMiwgMSk7XG4gICAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kIDAuM3M7XG4gICAgICAmOmhvdmVyIHtcbiAgICAgICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnRpemUoJG5ldXRyYWwtY29sb3ItMiwgMC4yNSk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLnByZXYtYnV0dG9ue1xuICAgICAgcGFkZGluZy1sZWZ0OjRweDtcbiAgICAgIHBhZGRpbmctcmlnaHQ6OHB4O1xuICAgICAgbGVmdDozMHB4O1xuICAgIH1cbiAgICAubmV4dC1idXR0b24ge1xuICAgICAgcGFkZGluZy1sZWZ0OjhweDtcbiAgICAgIHBhZGRpbmctcmlnaHQ6NHB4O1xuICAgICAgcmlnaHQ6MzBweDtcbiAgICB9XG5cbiAgICAudW5pdC1jYXJvdXNlbC1zbGlkZSAuY2FwdGlvbiB7XG4gICAgICBwYWRkaW5nOjE4cHggMjBweDtcbiAgICAgIHBvc2l0aW9uOnN0YXRpYztcbiAgICAgIGNvbG9yOiRuZXV0cmFsLWNvbG9yLTI7XG4gICAgICBiYWNrZ3JvdW5kOnRyYW5zcGFyZW50O1xuICAgIH1cbiAgfVxuXG59IiwiLnVuaXQtc2l0ZXMtbGlzdCB7XG4gIHBvc2l0aW9uOnJlbGF0aXZlO1xuICBkaXNwbGF5Om5vbmU7XG4gICYuZXhwYW5kZWQge2Rpc3BsYXk6YmxvY2s7fVxuXG4gIG1heC1oZWlnaHQ6IDc1dmg7XG4gIG92ZXJmbG93OmF1dG87XG5cbiAgYmFja2dyb3VuZDogI2U3ZTdlNztcbiAgLnVuaXQtc2l0ZXMtbGlzdC13cmFwcGVyIHtcbiAgICBvdmVyZmxvdzpoaWRkZW47IC8vIHBvb3IgbWFucyBjbGVhcmZpeFxuICAgIHBvc2l0aW9uOnJlbGF0aXZlO1xuICAgIG1heC13aWR0aDo2MzBweDtcbiAgICBwYWRkaW5nOjMwcHggMjBweCAzN3B4IDIwcHg7XG4gICAgbWFyZ2luOiAwIGF1dG87XG4gIH1cblxuICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSBkb3duKSB7XG4gICAgcG9zaXRpb246YWJzb2x1dGU7XG4gICAgei1pbmRleDoyO1xuICAgIHRvcDoxMjBweDtcbiAgICAudW5pdC1oZWFkZXIgLmlzLXN0dWNrICYge1xuICAgICAgdG9wOjYwcHg7XG4gICAgfVxuXG4gICAgd2lkdGg6MTAwJTtcbiAgICAudW5pdC1zaXRlcy1saXN0LXdyYXBwZXIge1xuICAgICAgcGFkZGluZy1ib3R0b206NDBweDtcbiAgICB9XG5cbiAgICBib3gtc2hhZG93OiAwIC01MHB4IDUwcHggNTBweCByZ2JhKDAsMCwwLDAuMyk7XG4gIH1cbiAgQGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCBkb3duKSB7XG4gICAgdG9wOjg3cHg7XG4gIH1cblxuICB1bCB7XG4gICAgYm9yZGVyLXRvcDogOHB4IHNvbGlkICRuZXV0cmFsLWNvbG9yLTQ7XG4gICAgbGlzdC1zdHlsZTpub25lO1xuICB9XG4gIGxpIHtcbiAgICBtYXJnaW4tbGVmdDowO1xuICB9XG4gIGxpIGEge1xuICAgIGRpc3BsYXk6YmxvY2s7XG4gICAgY29sb3I6JG5ldXRyYWwtY29sb3ItMjtcbiAgICBmb250LXdlaWdodDo2MDA7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgIHBhZGRpbmc6IDIycHggMjhweDtcbiAgICBib3JkZXItYm90dG9tOiAycHggc29saWQgJG5ldXRyYWwtY29sb3ItNDtcblxuICAgICY6aG92ZXIsICY6Zm9jdXMge1xuICAgICAgY29sb3I6ICRwcmltYXJ5LWNvbG9yLTM7XG4gICAgICBiYWNrZ3JvdW5kOiRuZXV0cmFsLWNvbG9yLTQ7XG4gICAgfVxuXG4gICAgJi5vZmYtc2l0ZTphZnRlciB7XG4gICAgICBmb250LWZhbWlseTogJGljb24tZm9udDtcbiAgICAgIGNvbnRlbnQ6XCJcXDAwQTBcIiBcIlxcMDBBMFwiIFwiXFxmMTRjXCI7XG4gICAgfVxuICAgICYuY3VycmVudC1zaXRlIHtcbiAgICAgIGJvcmRlci1sZWZ0OiA4cHggc29saWQgJHByaW1hcnktY29sb3ItMztcbiAgICB9XG4gIH1cbn0iLCJAbWVkaWEgc2NyZWVuIHtcblxuICAudW5pdC1oZWFkZXIge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBoZWlnaHQ6NjMwcHg7XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSBkb3duKSB7XG4gICAgICBoZWlnaHQ6NTQ1cHg7XG4gICAgfVxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgZG93bikge1xuICAgICAgaGVpZ2h0OjQyNXB4O1xuICAgIH1cblxuICAgICYubm8taGVybyB7XG4gICAgICBoZWlnaHQ6MjUwcHg7XG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSBkb3duKSB7XG4gICAgICAgIGhlaWdodDoyMTJweDtcbiAgICAgIH1cbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgZG93bikge1xuICAgICAgICBoZWlnaHQ6MTc1cHg7XG4gICAgICB9XG4gICAgfVxuXG4gICAgJi5uby1oZXJvICN0b3AtYmFyLXN0aWNreS13cmFwIHtcbiAgICAgIHdpZHRoOjEwMCU7XG4gICAgICAmOmFmdGVyIHtcbiAgICAgICAgcG9zaXRpb246YWJzb2x1dGU7XG4gICAgICAgIHdpZHRoOjEwMCU7XG4gICAgICAgIGRpc3BsYXk6YmxvY2s7XG4gICAgICAgIGhlaWdodDozMHB4O1xuICAgICAgICBjb250ZW50OlwiXCI7XG4gICAgICAgIGJhY2tncm91bmQ6bGluZWFyLWdyYWRpZW50KHRvIGJvdHRvbSwgcmdiYSgxODEsIDE4MywgMTg2LCAxKSAwJSwgcmdiYSgxODEsIDE4MywgMTg2LCAwKSAxMDAlKTtcbiAgICAgICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gICAgICAgIHRyYW5zaXRpb246IGhlaWdodCAwLjVzIGVhc2U7XG4gICAgICB9XG4gICAgfVxuXG4gICAgI3RvcC1iYXItc3RpY2t5LXdyYXAge1xuICAgICAgei1pbmRleDogNTsgLy9tZWdhIG5hdiB3YXMgdGhlIHdyb25nIGluZGV4XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgICYsXG4gICAgICAqIHtcbiAgICAgICAgdHJhbnNpdGlvbjogYWxsIDAuNXMgZWFzZTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBNQUlOIE1FTlVcbiAgICAjbWFpbi1tZW51LXdyYXAge1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgei1pbmRleDoxMDtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IHdoaXRlO1xuICAgICAgaGVpZ2h0OiAxMTBweDtcbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIGRvd24pIHtcbiAgICAgICAgaGVpZ2h0OjEyMHB4O1xuICAgICAgfVxuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCBkb3duKSB7XG4gICAgICAgIGhlaWdodDo4N3B4O1xuICAgICAgfVxuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBtYXJnaW4tbGVmdDogYXV0bztcbiAgICAgIG1hcmdpbi1yaWdodDogYXV0bztcbiAgICAgIC5sb2dvIHtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICB3aWR0aDogMzUwcHg7XG4gICAgICAgIGRpc3BsYXk6IHRhYmxlO1xuXG4gICAgICAgIGJvdHRvbTogMjBweDtcbiAgICAgICAgei1pbmRleDogMztcblxuICAgICAgICBjb2xvcjokbmV1dHJhbC1jb2xvci0yO1xuICAgICAgICB0ZXh0LWRlY29yYXRpb246bm9uZTtcblxuICAgICAgICAuc2l0ZS1sb2dvIHtcbiAgICAgICAgICBkaXNwbGF5OnRhYmxlLWNlbGw7XG4gICAgICAgICAgd2lkdGg6ODVweDtcbiAgICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogYm90dG9tO1xuICAgICAgICB9XG4gICAgICAgIGltZyB7XG4gICAgICAgICAgaGVpZ2h0OjExMHB4O1xuICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIGRvd24pIHtcbiAgICAgICAgICAgIGhlaWdodDoxMjBweDtcbiAgICAgICAgICB9XG4gICAgICAgICAgd2lkdGg6YXV0bztcbiAgICAgICAgfVxuICAgICAgICAuc2l0ZS1pZGVudGl0eSB7XG4gICAgICAgICAgZGlzcGxheTp0YWJsZS1jZWxsO1xuICAgICAgICAgIHZlcnRpY2FsLWFsaWduOmJvdHRvbTtcbiAgICAgICAgICBwYWRkaW5nLWxlZnQ6MTZweDtcbiAgICAgICAgfVxuICAgICAgICAuc2l0ZS1wcmVmaXgge1xuICAgICAgICAgIGRpc3BsYXk6YmxvY2s7XG4gICAgICAgICAgZm9udC1mYW1pbHk6ICRwcmltYXJ5LWZvbnQ7XG4gICAgICAgICAgZm9udC1zaXplOjE3cHg7XG4gICAgICAgICAgZm9udC13ZWlnaHQ6NjAwO1xuICAgICAgICAgIGxpbmUtaGVpZ2h0OjFlbTtcbiAgICAgICAgICBsZXR0ZXItc3BhY2luZzogMC4wMjVlbTtcbiAgICAgICAgfVxuICAgICAgICAuc2l0ZS1uYW1lIHtcbiAgICAgICAgICBkaXNwbGF5OmJsb2NrO1xuICAgICAgICAgIGZvbnQtZmFtaWx5OiAkYWNjZW50LWZvbnQ7XG4gICAgICAgICAgZm9udC1zaXplOjMwcHg7XG4gICAgICAgICAgZm9udC13ZWlnaHQ6OTAwO1xuICAgICAgICAgIGxpbmUtaGVpZ2h0OjFlbTtcbiAgICAgICAgICBsZXR0ZXItc3BhY2luZzogLTAuMDEwZW07XG4gICAgICAgICAgbWFyZ2luLWJvdHRvbTotM3B4O1xuICAgICAgICAgIHdoaXRlLXNwYWNlOnByZS13cmFwO1xuICAgICAgICB9XG4gICAgICAgICYuaW1hZ2Uge1xuICAgICAgICAgIGJhY2tncm91bmQ6d2hpdGU7XG4gICAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgY29udGVudDpcIlwiO1xuICAgICAgICAgICAgcG9zaXRpb246YWJzb2x1dGU7XG4gICAgICAgICAgICByaWdodDoxMDAlO1xuICAgICAgICAgICAgd2lkdGg6MTYwcHg7XG4gICAgICAgICAgICBoZWlnaHQ6MzBweDtcbiAgICAgICAgICAgIHotaW5kZXg6MTtcbiAgICAgICAgICAgIGJhY2tncm91bmQ6d2hpdGU7XG4gICAgICAgICAgfVxuICAgICAgICAgICY6YWZ0ZXIge1xuICAgICAgICAgICAgY29udGVudDpcIlwiO1xuICAgICAgICAgICAgcG9zaXRpb246YWJzb2x1dGU7XG4gICAgICAgICAgICBsZWZ0OjEwMCU7XG4gICAgICAgICAgICB3aWR0aDoxNjBweDtcbiAgICAgICAgICAgIGhlaWdodDozMHB4O1xuICAgICAgICAgICAgei1pbmRleDoxO1xuICAgICAgICAgICAgYmFja2dyb3VuZDpsaW5lYXItZ3JhZGllbnQodG8gcmlnaHQsIHdoaXRlIDAsIHdoaXRlIDYwcHgsIHJnYmEoMjU1LDI1NSwyNTUsMCkgMTAwJSk7XG4gICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gZG93bikge1xuICAgICAgICAgIG1hcmdpbi1sZWZ0OiAyMHB4O1xuXG4gICAgICAgICAgLnNpdGUtbG9nbyxcbiAgICAgICAgICAuc2l0ZS1pZGVudGl0eSB7XG4gICAgICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICAgICAgICAgIH1cbiAgICAgICAgICBwb3NpdGlvbjpzdGF0aWM7XG5cbiAgICAgICAgICAuc2l0ZS1sb2dvIHtcbiAgICAgICAgICAgIHdpZHRoOjcwcHg7XG4gICAgICAgICAgfVxuICAgICAgICAgIGltZyB7XG4gICAgICAgICAgICBoZWlnaHQ6OTBweDtcbiAgICAgICAgICAgIHdpZHRoOmF1dG87XG4gICAgICAgICAgfVxuICAgICAgICAgICYuaW1hZ2Uge1xuICAgICAgICAgICAgJjpiZWZvcmUsICY6YWZ0ZXIge1xuICAgICAgICAgICAgICBkaXNwbGF5Om5vbmU7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgZG93bikge1xuICAgICAgICAgIG1hcmdpbi1sZWZ0OjEwcHg7XG4gICAgICAgICAgd2lkdGg6MTkwcHg7XG5cbiAgICAgICAgICAuc2l0ZS1sb2dvLFxuICAgICAgICAgIC5zaXRlLWlkZW50aXR5IHtcbiAgICAgICAgICAgIHZlcnRpY2FsLWFsaWduOiB0b3A7XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgLnNpdGUtbG9nbyB7XG4gICAgICAgICAgICB3aWR0aDozMnB4O1xuICAgICAgICAgIH1cbiAgICAgICAgICBpbWcge1xuICAgICAgICAgICAgaGVpZ2h0OjQwcHg7XG4gICAgICAgICAgICB3aWR0aDphdXRvO1xuICAgICAgICAgIH1cblxuICAgICAgICAgIC5zaXRlLWlkZW50aXR5IHtcbiAgICAgICAgICAgIHBhZGRpbmctbGVmdDo4cHg7XG4gICAgICAgICAgfVxuICAgICAgICAgIC5zaXRlLXByZWZpeCB7XG4gICAgICAgICAgICBmb250LXNpemU6MTRweDtcbiAgICAgICAgICB9XG4gICAgICAgICAgLnNpdGUtbmFtZSB7XG4gICAgICAgICAgICBmb250LXNpemU6MThweDtcbiAgICAgICAgICB9XG4gICAgICAgICAgJi5pbWFnZSB7XG4gICAgICAgICAgICB3aWR0aDphdXRvO1xuICAgICAgICAgICAgaW1nIHtoZWlnaHQ6NjBweDt9XG4gICAgICAgICAgfVxuXG4gICAgICAgIH1cblxuICAgICAgfVxuICAgICAgI21haW4tbWVudSB7XG5cbiAgICAgICAgbWF4LWhlaWdodDogNzV2aDtcbiAgICAgICAgb3ZlcmZsb3c6YXV0bztcblxuXG4gICAgICAgIC5tYWluLW1lbnUtY29udGVudHMge1xuICAgICAgICAgIHBhZGRpbmc6IDAgMjBweCAwIDA7XG4gICAgICAgICAgbWFyZ2luOjAgYXV0bztcbiAgICAgICAgfVxuXG4gICAgICAgIC5tYWluLW1lbnUtY29udGVudHMgPiB1bCB7XG4gICAgICAgICAgZmxleC13cmFwOm5vd3JhcDtcbiAgICAgICAgICBwb3NpdGlvbjogc3RhdGljO1xuXG4gICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gZG93bikge1xuICAgICAgICAgICAgYm9yZGVyLXRvcDogOHB4IHNvbGlkICRuZXV0cmFsLWNvbG9yLTU7XG4gICAgICAgICAgICBmbG9hdDpub25lO1xuICAgICAgICAgIH1cblxuICAgICAgICAgID4gbGkge1xuICAgICAgICAgICAgJi5hY3RpdmUgPiBhIHtcbiAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcbiAgICAgICAgICAgICAgICBib3JkZXItYm90dG9tOiA4cHggc29saWQgJHByaW1hcnktY29sb3ItMztcblxuICAgICAgICAgICAgICAgIC51bml0LXRoZW1lLXRlYWwgJiB7Ym9yZGVyLWJvdHRvbS1jb2xvcjogJHVuaXQtYWNjZW50LWNvbG9yLXRlYWw7fVxuICAgICAgICAgICAgICAgIC51bml0LXRoZW1lLXB1cnBsZSAmIHtib3JkZXItYm90dG9tLWNvbG9yOiAkdW5pdC1hY2NlbnQtY29sb3ItcHVycGxlO31cbiAgICAgICAgICAgICAgICAudW5pdC10aGVtZS1ncmVlbiAmIHtib3JkZXItYm90dG9tLWNvbG9yOiAkdW5pdC1hY2NlbnQtY29sb3ItZ3JlZW59XG4gICAgICAgICAgICAgICAgLnVuaXQtdGhlbWUtZ29sZCAmIHtib3JkZXItYm90dG9tLWNvbG9yOiAkdW5pdC1hY2NlbnQtY29sb3ItZ29sZDt9XG4gICAgICAgICAgICAgICAgLnVuaXQtdGhlbWUtZ3JleSAmIHtib3JkZXItYm90dG9tLWNvbG9yOiAkdW5pdC1hY2NlbnQtY29sb3ItZ3JleTt9XG4gICAgICAgICAgICAgICAgLnVuaXQtdGhlbWUtcmVkICYge2JvcmRlci1ib3R0b20tY29sb3I6ICR1bml0LWFjY2VudC1jb2xvci1yZWQ7fVxuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIGRvd24pIHtcbiAgICAgICAgICAgICAgICBib3JkZXItbGVmdDogOHB4IHNvbGlkICRwcmltYXJ5LWNvbG9yLTM7XG5cbiAgICAgICAgICAgICAgICAudW5pdC10aGVtZS10ZWFsICYge2JvcmRlci1sZWZ0LWNvbG9yOiAkdW5pdC1hY2NlbnQtY29sb3ItdGVhbDt9XG4gICAgICAgICAgICAgICAgLnVuaXQtdGhlbWUtcHVycGxlICYge2JvcmRlci1sZWZ0LWNvbG9yOiAkdW5pdC1hY2NlbnQtY29sb3ItcHVycGxlO31cbiAgICAgICAgICAgICAgICAudW5pdC10aGVtZS1ncmVlbiAmIHtib3JkZXItbGVmdC1jb2xvcjogJHVuaXQtYWNjZW50LWNvbG9yLWdyZWVufVxuICAgICAgICAgICAgICAgIC51bml0LXRoZW1lLWdvbGQgJiB7Ym9yZGVyLWxlZnQtY29sb3I6ICR1bml0LWFjY2VudC1jb2xvci1nb2xkO31cbiAgICAgICAgICAgICAgICAudW5pdC10aGVtZS1ncmV5ICYge2JvcmRlci1sZWZ0LWNvbG9yOiAkdW5pdC1hY2NlbnQtY29sb3ItZ3JleTt9XG4gICAgICAgICAgICAgICAgLnVuaXQtdGhlbWUtcmVkICYge2JvcmRlci1sZWZ0LWNvbG9yOiAkdW5pdC1hY2NlbnQtY29sb3ItcmVkO31cbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgPiBhIHtcbiAgICAgICAgICAgICAgaGVpZ2h0OiAxMTBweDtcbiAgICAgICAgICAgICAgYm9yZGVyLXdpZHRoOiA4cHggMDtcbiAgICAgICAgICAgICAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcbiAgICAgICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICAgICAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50O1xuICAgICAgICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgICAgICAgICAgIHdoaXRlLXNwYWNlOnByZS13cmFwO1xuICAgICAgICAgICAgICAmOmhvdmVyLFxuICAgICAgICAgICAgICAmOmZvY3VzIHtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkbmV1dHJhbC1jb2xvci02O1xuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSBkb3duKSB7XG4gICAgICAgICAgICAgIGJvcmRlci1ib3R0b206IDJweCBzb2xpZCAkbmV1dHJhbC1jb2xvci01O1xuXG4gICAgICAgICAgICAgID4gYSB7XG4gICAgICAgICAgICAgICAgZGlzcGxheTpibG9jayAhaW1wb3J0YW50O1xuXG4gICAgICAgICAgICAgICAgYm9yZGVyOm5vbmU7XG5cbiAgICAgICAgICAgICAgICBmb250LXNpemU6IDIwcHg7XG4gICAgICAgICAgICAgICAgZm9udC13ZWlnaHQ6NjAwO1xuICAgICAgICAgICAgICAgIGhlaWdodDogYXV0bztcbiAgICAgICAgICAgICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgICAgICAgICAgICAgIHdoaXRlLXNwYWNlOm5vcm1hbDtcblxuICAgICAgICAgICAgICAgIHBhZGRpbmc6IDIwcHggMTJweDtcbiAgICAgICAgICAgICAgICB3aWR0aDoxMDAlO1xuICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgJltyb2xlPVwibWVudWl0ZW1cIl0ge1xuICAgICAgICAgICAgICAgIG1heC13aWR0aDogMzIwcHg7XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgKyBsaSB7XG4gICAgICAgICAgICAgIG1hcmdpbi1sZWZ0OjEwcHg7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICAgIGxpIHtcbiAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgICAgICAgICAgPiBhIHtcbiAgICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSBvbmx5KSB7XG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiAxOHB4O1xuICAgICAgICAgICAgICAgIHBhZGRpbmctbGVmdDogMTJweDtcbiAgICAgICAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiAxMnB4O1xuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoeGxhcmdlIG9ubHkpIHtcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IDIwcHg7XG4gICAgICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiAxNHB4O1xuICAgICAgICAgICAgICAgIHBhZGRpbmctcmlnaHQ6IDE0cHg7XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgY29sb3I6ICRuZXV0cmFsLWNvbG9yLTI7XG4gICAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgICAgICAgICAgIGZvbnQtZmFtaWx5OiAkcHJpbWFyeS1mb250O1xuICAgICAgICAgICAgICBkaXNwbGF5OiB0YWJsZS1jZWxsO1xuICAgICAgICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSBkb3duKSB7XG5cbiAgICAgICAgICBkaXNwbGF5Om5vbmU7XG4gICAgICAgICAgJi5leHBhbmRlZCB7ZGlzcGxheTpibG9jazt9XG5cbiAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB3aGl0ZTtcbiAgICAgICAgICBwYWRkaW5nOiA0MHB4IDYycHg7XG4gICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCBkb3duKSB7XG4gICAgICAgICAgICBwYWRkaW5nOiAzMHB4IDIwcHg7XG4gICAgICAgICAgfVxuICAgICAgICAgIC5tYWluLW1lbnUtY29udGVudHMge1xuICAgICAgICAgICAgZGlzcGxheTpmbGV4O1xuICAgICAgICAgIH1cbiAgICAgICAgICAubWFpbi1tZW51LWNvbnRlbnRzID4gdWwge1xuICAgICAgICAgICAgd2lkdGg6IDUwJTtcbiAgICAgICAgICAgICYubWVudSB7XG4gICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgPiBsaSArIGxpIHtcbiAgICAgICAgICAgICAgbWFyZ2luLWxlZnQ6MDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgICAgLm1vYmlsZS11dGlsaXR5LXdyYXBwZXIge1xuICAgICAgICAgICAgd2lkdGg6NTAlO1xuICAgICAgICAgICAgcGFkZGluZy1sZWZ0OjcwcHg7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgZG93bikge1xuICAgICAgICAgIC5tYWluLW1lbnUtY29udGVudHMge1xuICAgICAgICAgICAgZGlzcGxheTpibG9jaztcbiAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgfVxuICAgICAgLy8gTUVHQSBOQVZcbiAgICAgIC5pcy1kcm9wZG93bi1zdWJtZW51LXBhcmVudC5tZWdhLW1lbnUge1xuICAgICAgICBwb3NpdGlvbjogc3RhdGljO1xuICAgICAgfVxuXG4gICAgICA+IC5yb3cuZXhwYW5kZWQge1xuICAgICAgICBtYXgtd2lkdGg6ICRncmlkLXJvdy13aWR0aDtcbiAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICBcbiAgICAgICAgPiAuY29sdW1ucyB7XG4gICAgICAgICAgZGlzcGxheTpmbGV4O1xuICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgIH1cbiAgICAgICAgPiAuY29sdW1ucy5zaHJpbmsgKyAuY29sdW1ucyB7XG4gICAgICAgICAgcGFkZGluZy1yaWdodDogMDtcbiAgICAgICAgICBoZWlnaHQ6IDEwMCU7XG5cbiAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XG4gICAgICAgICAgYWxpZ24taXRlbXM6IGZsZXgtZW5kO1xuICAgICAgICB9XG4gICAgICAgID4gLmNvbHVtbnMuc2hyaW5rOmxhc3QtY2hpbGQge1xuICAgICAgICAgIHBhZGRpbmctbGVmdDogMDtcbiAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiAwO1xuICAgICAgICB9XG5cbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gZG93bikge1xuICAgICAgICAgICNtYWluLW1lbnUge1xuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgLy90b3A6IDQ4cHg7XG4gICAgICAgICAgICAvL0BpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIGRvd24pIHtcbiAgICAgICAgICAgIHRvcDogMTIwcHg7XG4gICAgICAgICAgICAvL31cbiAgICAgICAgICAgIGxlZnQ6IDA7XG4gICAgICAgICAgICByaWdodDogMDtcbiAgICAgICAgICAgIHBhZGRpbmctdG9wOiAzMnB4O1xuICAgICAgICAgICAgYm94LXNoYWRvdzogMHB4IDhweCA5cHggMHB4IHJnYmEoMCwgMCwgMCwgMC4yKTtcblxuICAgICAgICAgICAgLm1haW4tbWVudS1jb250ZW50cyA+IHVsIHtcbiAgICAgICAgICAgICAgJi5hbGlnbi1yaWdodCB7XG4gICAgICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gZG93bikge1xuICAgICAgICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBsZWZ0O1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgICAuY29sdW1ucy5zaHJpbmsge1xuICAgICAgICAgICAgcGFkZGluZy1yaWdodDogMDtcbiAgICAgICAgICAgIC5sb2dvIHtcbiAgICAgICAgICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAjdW5pdC1tYWluLW1lbnUtdG9nZ2xlciB7XG4gICAgICAgICAgICAgIGZsb2F0OiByaWdodDtcbiAgICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICAgICAgICBidXR0b24ge1xuICAgICAgICAgICAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAgICAgICAgICAgICBoZWlnaHQ6IDU3cHg7XG4gICAgICAgICAgICAgICAgd2lkdGg6IDU5cHg7XG4gICAgICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OjIwcHg7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJG5ldXRyYWwtY29sb3ItNjtcbiAgICAgICAgICAgICAgICBib3JkZXI6IDJweCBzb2xpZCAkbmV1dHJhbC1jb2xvci01O1xuICAgICAgICAgICAgICAgICY6aG92ZXIsXG4gICAgICAgICAgICAgICAgJjpmb2N1cyB7XG4gICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkbmV1dHJhbC1jb2xvci01O1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgICAgICAgICAgJi5pY29uLWR1LWN1c3QtbWVudSxcbiAgICAgICAgICAgICAgICAmLmR1LWljb24tY3VzdC1tZW51IHtcbiAgICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMjNweDtcbiAgICAgICAgICAgICAgICAgIGNvbG9yOiAkcHJpbWFyeS1jb2xvci0zO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAmLm9wZW4uaWNvbi1kdS1jdXN0LW1lbnUsXG4gICAgICAgICAgICAgICAgJi5vcGVuLmR1LWljb24tY3VzdC1tZW51IHtcbiAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRuZXV0cmFsLWNvbG9yLTU7XG4gICAgICAgICAgICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICAgICAgICAgIGNvbnRlbnQ6IFwiXFxlODA1XCI7XG4gICAgICAgICAgICAgICAgICAgIGNvbG9yOiAjNjY2NjY2O1xuICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIGRvd24pIHsgLy8gd2FzIGxhcmdlXG4gICAgICAgICAgICAgICAgYnV0dG9uIHtcbiAgICAgICAgICAgICAgICAgIGhlaWdodDogNjBweDtcbiAgICAgICAgICAgICAgICAgIHdpZHRoOiA2MHB4O1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsIGRvd24pIHsgLy8gd2FzIGxhcmdlXG4gICAgICAgICAgICAgICAgYnV0dG9uIHtcbiAgICAgICAgICAgICAgICAgIGhlaWdodDogNDhweDtcbiAgICAgICAgICAgICAgICAgIHdpZHRoOiA1MHB4O1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsIGRvd24pIHtcbiAgICAgICAgICAjbWFpbi1tZW51IHtcbiAgICAgICAgICAgIHRvcDogODdweDtcblxuICAgICAgICAgICAgLm1haW4tbWVudS1jb250ZW50cyB7XG4gICAgICAgICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAubWFpbi1tZW51LWNvbnRlbnRzID4gdWwge1xuICAgICAgICAgICAgICB3aWR0aDo4MCU7XG4gICAgICAgICAgICAgID4gbGkge21heC13aWR0aDpub25lICFpbXBvcnRhbnQ7fVxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgLm1vYmlsZS11dGlsaXR5LXdyYXBwZXIge1xuICAgICAgICAgICAgICB3aWR0aDo4MCU7XG4gICAgICAgICAgICAgIHBhZGRpbmctbGVmdDoxNnB4O1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cblxuICAgICAgICB9XG5cbiAgICAgIH1cbiAgICB9XG4gICAgI3RvcC1iYXItc3RpY2t5LXdyYXAuaXMtc3R1Y2sge1xuXG4gICAgICAjbWFpbi1tZW51LXdyYXAge1xuICAgICAgICBoZWlnaHQ6IDYwcHg7XG5cbiAgICAgICAgLmxvZ28ge1xuICAgICAgICAgIHBvc2l0aW9uOnN0YXRpYztcblxuICAgICAgICAgIG1hcmdpbi10b3A6MjhweDtcbiAgICAgICAgICBtYXJnaW4tbGVmdDoxMHB4O1xuICAgICAgICAgIHdpZHRoOmF1dG87XG5cbiAgICAgICAgICAuc2l0ZS1sb2dvLFxuICAgICAgICAgIC5zaXRlLWlkZW50aXR5IHtcbiAgICAgICAgICAgIHZlcnRpY2FsLWFsaWduOiB0b3A7XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgLnNpdGUtbG9nbyB7XG4gICAgICAgICAgICB3aWR0aDphdXRvO1xuICAgICAgICAgIH1cbiAgICAgICAgICBpbWcge1xuICAgICAgICAgICAgaGVpZ2h0OjgwcHg7XG4gICAgICAgICAgICB3aWR0aDphdXRvO1xuICAgICAgICAgIH1cbiAgICAgICAgICAmLmltYWdlIHtcbiAgICAgICAgICAgIG1hcmdpbi10b3A6MDtcbiAgICAgICAgICAgIGltZyB7IGhlaWdodDo1MHB4OyB9XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgLnNpdGUtaWRlbnRpdHkge1xuICAgICAgICAgICAgd2lkdGg6IDE1OHB4O1xuICAgICAgICAgICAgcGFkZGluZy1sZWZ0OjhweDtcbiAgICAgICAgICB9XG4gICAgICAgICAgLnNpdGUtcHJlZml4IHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZToxNHB4O1xuICAgICAgICAgIH1cbiAgICAgICAgICAuc2l0ZS1uYW1lIHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZToxOHB4O1xuICAgICAgICAgIH1cblxuICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgZG93bikge1xuICAgICAgICAgICAgbWFyZ2luLXRvcDowO1xuICAgICAgICAgICAgaW1nIHtcbiAgICAgICAgICAgICAgaGVpZ2h0OjQwcHg7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgPiAucm93LmV4cGFuZGVkIHtcbiAgICAgICAgICAjbWFpbi1tZW51IHVsIHtcbiAgICAgICAgICAgID4gbGkgPiBhIHtcbiAgICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMTZweDtcbiAgICAgICAgICAgICAgICBoZWlnaHQ6IDYwcHg7XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgICAgI21haW4tbWVudSB7XG4gICAgICAgICAgICAvL0BpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UgZG93bikge1xuICAgICAgICAgICAgLy9cdHRvcDogMjhweDtcbiAgICAgICAgICAgIC8vfVxuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gZG93bikge1xuICAgICAgICAgICAgICB0b3A6IDYwcHg7XG4gICAgICAgICAgICAgIHBhZGRpbmctdG9wOiA1MHB4O1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgICAuY29sdW1ucy5zaHJpbmsge1xuICAgICAgICAgICAgI3VuaXQtbWFpbi1tZW51LXRvZ2dsZXIgYnV0dG9uIHtcbiAgICAgICAgICAgICAgaGVpZ2h0OiA0OHB4O1xuICAgICAgICAgICAgICB3aWR0aDogNTBweDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgJjphZnRlciB7XG4gICAgICAgIGhlaWdodDoxNHB4O1xuICAgICAgfVxuXG4gICAgfVxuICB9XG59IiwiLnVuaXQtdXRpbGl0eS1tZW51IHtcblxuICBiYWNrZ3JvdW5kOndoaXRlO1xuICBib3gtc2hhZG93OiBpbnNldCAwIC0xMHB4IDEwcHggLTEwcHggcmdiYSgwLCAwLCAwLCAwLjEpO1xuXG4gIC51bml0LXV0aWxpdHktbWVudS1pbnNpZGUge1xuICAgIG1heC13aWR0aDokZ3JpZC1yb3ctd2lkdGg7XG4gICAgbWFyZ2luOiAwIGF1dG87XG4gICAgZGlzcGxheTpmbGV4O1xuICAgIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XG4gIH1cblxuICBsaSB7IG1hcmdpbjowOyB9XG4gIGEge1xuICAgIGhlaWdodDo0OHB4O1xuICAgIGxpbmUtaGVpZ2h0OjQ4cHg7XG4gICAgcGFkZGluZzogMCAxNXB4O1xuXG4gICAgY29sb3I6JHNlY29uZGFyeS1jb2xvci0yO1xuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgZm9udC1zaXplOjE0cHg7XG4gICAgZm9udC13ZWlnaHQ6NjAwO1xuXG4gICAgJjpob3ZlciwgJi5vcGVuIHtcbiAgICAgIGNvbG9yOiRwcmltYXJ5LWNvbG9yLTM7XG4gICAgICBiYWNrZ3JvdW5kOiNlN2U3ZTc7XG4gICAgfVxuXG4gICAgLnRvZ2dsZS1pY29uIHtcbiAgICAgIGZvbnQtc2l6ZToyMHB4O1xuICAgIH1cbiAgfVxuXG4gIC51bml0LXV0aWxpdHktbWVudV9fYXVkaWVuY2UtYnV0dG9uIHtcbiAgICAudG9nZ2xlLWljb24geyBwb3NpdGlvbjphYnNvbHV0ZTsgbGVmdDotOTk5OXB4OyB0b3A6LTk5OTlweDsgfVxuICAgIC50b2dnbGUtbGFiZWwgeyBwb3NpdGlvbjpzdGF0aWM7IH1cbiAgfVxuICAudW5pdC11dGlsaXR5LW1lbnVfX3NpdGVzLWJ1dHRvbiB7XG4gICAgd2lkdGg6NTVweDtcbiAgICBwYWRkaW5nLWxlZnQ6MDsgcGFkZGluZy1yaWdodDowO1xuICAgIHRleHQtYWxpZ246Y2VudGVyO1xuICAgIC50b2dnbGUtaWNvbiB7IGZvbnQtc2l6ZToyNnB4OyB9XG4gICAgLnRvZ2dsZS1sYWJlbCB7IHBvc2l0aW9uOmFic29sdXRlOyBsZWZ0Oi05OTk5cHg7IHRvcDotOTk5OXB4OyB9XG4gIH1cbiAgLnVuaXQtdXRpbGl0eS1tZW51X19zZWFyY2gtYnV0dG9uIHtcbiAgICB3aWR0aDo1NXB4O1xuICAgIHBhZGRpbmctbGVmdDowOyBwYWRkaW5nLXJpZ2h0OjA7XG4gICAgdGV4dC1hbGlnbjpjZW50ZXI7XG4gICAgLnRvZ2dsZS1sYWJlbCB7IHBvc2l0aW9uOmFic29sdXRlOyBsZWZ0Oi05OTk5cHg7IHRvcDotOTk5OXB4OyB9XG4gIH1cblxuICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSBkb3duKSB7XG5cbiAgICAubWV0YS1uYXZpZ2F0aW9uIHtcbiAgICAgIGZsb2F0Om5vbmU7XG4gICAgICBib3JkZXItYm90dG9tOjJweCBzb2xpZCAkbmV1dHJhbC1jb2xvci01O1xuICAgICAgcGFkZGluZy1ib3R0b206IDhweDtcbiAgICAgIG1hcmdpbi1ib3R0b206IDIwcHg7XG4gICAgfVxuXG4gICAgLnVuaXQtdXRpbGl0eS1tZW51LWluc2lkZSB7XG4gICAgICBkaXNwbGF5OmZsZXg7XG4gICAgICBmbGV4LWRpcmVjdGlvbjpjb2x1bW4tcmV2ZXJzZTtcbiAgICB9XG4gICAgLm1lbnUsXG4gICAgLm1lbnUgbGkge1xuICAgICAgZGlzcGxheTpibG9ja1xuICAgIH1cbiAgICAubWVudSBsaSBhIHtcbiAgICAgIGhlaWdodDogMzVweDtcbiAgICAgIGxpbmUtaGVpZ2h0OiAzNXB4O1xuICAgICAgbWFyZ2luLWJvdHRvbTogMTNweDtcbiAgICB9XG5cbiAgICAubWVudS5tZXRhLW5hdmlnYXRpb24ge1xuICAgICAgZGlzcGxheTpmbGV4O1xuICAgICAgZmxleC1kaXJlY3Rpb246Y29sdW1uLXJldmVyc2U7XG4gICAgfVxuXG4gICAgLnVuaXQtdXRpbGl0eS1tZW51X19hdWRpZW5jZS1idXR0b24sXG4gICAgLnVuaXQtdXRpbGl0eS1tZW51X19zaXRlcy1idXR0b24sXG4gICAgLnVuaXQtdXRpbGl0eS1tZW51X19zZWFyY2gtYnV0dG9uIHtcbiAgICAgIHBhZGRpbmctbGVmdDowO1xuICAgICAgcGFkZGluZy1yaWdodDowO1xuICAgICAgd2lkdGg6YXV0bztcbiAgICAgIHRleHQtYWxpZ246bGVmdDtcbiAgICAgIC50b2dnbGUtaWNvbiB7XG4gICAgICAgIHBvc2l0aW9uOnN0YXRpYztcbiAgICAgICAgd2lkdGg6NTBweDtcbiAgICAgICAgZGlzcGxheTppbmxpbmUtYmxvY2s7XG4gICAgICAgIHZlcnRpY2FsLWFsaWduOm1pZGRsZTtcbiAgICAgICAgdGV4dC1hbGlnbjpjZW50ZXI7XG4gICAgICB9XG4gICAgICAudG9nZ2xlLWxhYmVsIHtcbiAgICAgICAgcG9zaXRpb246c3RhdGljO1xuICAgICAgICBkaXNwbGF5OmlubGluZS1ibG9jaztcbiAgICAgICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgICAgICAgZm9udC1zaXplOjE2cHg7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLnV0aWxpdHktbGlua3MgYSB7XG4gICAgICBwYWRkaW5nLWxlZnQ6NTBweDtcbiAgICAgIGZvbnQtc2l6ZToxNnB4O1xuICAgIH1cbiAgfVxuXG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgZG93bikge1xuXG4gICAgLm1ldGEtbmF2aWdhdGlvbiB7XG4gICAgICBtYXJnaW4tdG9wOjIwcHg7XG4gICAgICBwYWRkaW5nLWJvdHRvbTogMTZweDtcbiAgICAgIG1hcmdpbi1ib3R0b206IDE2cHg7XG4gICAgfVxuXG4gICAgLm1lbnUuYWxpZ24tcmlnaHQgbGkgYSB7XG4gICAgICBtYXJnaW4tYm90dG9tOjRweDtcbiAgICB9XG5cbiAgICAudW5pdC11dGlsaXR5LW1lbnVfX2F1ZGllbmNlLWJ1dHRvbixcbiAgICAudW5pdC11dGlsaXR5LW1lbnVfX3NpdGVzLWJ1dHRvbixcbiAgICAudW5pdC11dGlsaXR5LW1lbnVfX3NlYXJjaC1idXR0b24ge1xuICAgICAgLnRvZ2dsZS1pY29uIHtcbiAgICAgICAgd2lkdGg6MzVweDtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAudXRpbGl0eS1saW5rcyBhIHtcbiAgICAgIHBhZGRpbmctbGVmdDozNXB4O1xuICAgIH1cblxuICB9XG5cbn0iXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBRUFBOzs7OztHQUtHO0FvQjhKRyxNQUFNLENBQUMsS0FBSyxFQUFFLE1BQU0sTUFBTSxTQUFTLEVBQUUsSUFBSTtFK0RoQjdDLEFBdkdBLE9BdUdPLEVBQVAsQUF2R0EsT0F1R08sQUFlTCxLQUFNLEVBZlIsQUF2R0EsT0F1R08sQUFnQkwsTUFBTyxFQWhCVCxBQXZHQSxPQXVHTyxBQWlCTCxNQUFPLENBeEhRO0lBQ2YsS0FBSyxFQUFFLElBQUk7SUFDWCxJQUFJLEVBQUUsSUFBSTtJQUNWLE1BQU0sRUFBRSxNQUFNLEdBQ2Y7O0FnQ3lDSCw2QkFBNkI7QS9HNUMzQixpRUFBaUU7QUFHL0Q7b0ZBQ2dGO0FBRWhGOzs7OztPQUtHO0FBRUgsQUFBQSxJQUFJLENBQUM7RUFDSCxXQUFXLEVGMUNFLFVBQVU7RUUwQ1MsT0FBTztFQVFyQyxXQUFXLEVBQUUsSUFBSTtFQUFHLE9BQU87RUFFN0Isb0JBQW9CLEVBQUUsSUFBSTtFQUFHLE9BQU87RUFDcEMsd0JBQXdCLEVBQUUsSUFBSTtFQUFHLE9BQU8sRUFDekM7O0FBSUQ7b0ZBQ2dGO0FBRWhGOztPQUVHO0FBRUgsQUFBQSxJQUFJLENBQUM7RUFDSCxNQUFNLEVBQUUsQ0FBQyxHQUNWOztBQUVEOztPQUVHO0FBRUgsQUFBQSxPQUFPO0FBQ1AsQUFBQSxLQUFLO0FBQ0wsQUFBQSxNQUFNO0FBQ04sQUFBQSxNQUFNO0FBQ04sQUFBQSxHQUFHO0FBQ0gsQUFBQSxPQUFPLENBQUM7RUFDTixPQUFPLEVBQUUsS0FBSyxHQUNmOztBQUVEOzs7T0FHRztBQUVILEFBQUEsRUFBRSxDQUFDO0VEOUVMLFNBQVMsRUFYQyxHQUE2QjtFQ29HakMsTUFBTSxFQUFFLFFBQVEsR0FFbkI7O0FBb0NEO29GQUNnRjtBQXVDaEY7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LEFGL0pGLFdFK0phLEdGL0piLEtBQUssQ0FBUTtFSHlEZixLQUFhLEVBRGlCLEdBQXNCLEdHdERyRDs7QUU2SkssQUYvSkYsV0UrSmEsR0YvSmIsS0FBSyxDQUFRO0VIeURmLEtBQWEsRUFEaUIsU0FBc0IsR0d0RHJEOztBRTZKSyxBRi9KRixXRStKYSxHRi9KYixLQUFLLENBQVE7RUh5RGYsS0FBYSxFQURpQixHQUFzQixHR3REckQ7O0FFNkpLLEFGL0pGLFdFK0phLEdGL0piLEtBQUssQ0FBUTtFSHlEZixLQUFhLEVBRGlCLEdBQXNCLEdHdERyRDs7QUU2SkssQUYvSkYsV0UrSmEsR0YvSmIsS0FBSyxDQUFRO0VIeURmLEtBQWEsRUFEaUIsU0FBc0IsR0d0RHJEOztBRTZKSyxBRi9KRixXRStKYSxHRi9KYixLQUFLLENBQVE7RUh5RGYsS0FBYSxFQURpQixTQUFzQixHR3REckQ7O0FFNkpLLEFGL0pGLFdFK0phLEdGL0piLEtBQUssQ0FBUTtFSHlEZixLQUFhLEVBRGlCLEtBQXNCLEdHdERyRDs7QW5Cb0lHLE1BQU0sQ0FBQyxLQUFLLEVBQUUsTUFBTSxNQUFNLFNBQVMsRUFBRSxJQUFJO0VxQnlCdkMsQUYvSkYsWUUrSmMsR0YvSmQsS0FBSyxDQUFRO0lIeURmLEtBQWEsRUFEaUIsSUFBc0IsR0d0RHJEO0VFNkpLLEFGL0pGLFlFK0pjLEdGL0pkLEtBQUssQ0FBUTtJSHlEZixLQUFhLEVBRGlCLEdBQXNCLEdHdERyRDtFRTZKSyxBRi9KRixZRStKYyxHRi9KZCxLQUFLLENBQVE7SUh5RGYsS0FBYSxFQURpQixTQUFzQixHR3REckQ7RUU2SkssQUYvSkYsWUUrSmMsR0YvSmQsS0FBSyxDQUFRO0lIeURmLEtBQWEsRUFEaUIsR0FBc0IsR0d0RHJEO0VFNkpLLEFGL0pGLFlFK0pjLEdGL0pkLEtBQUssQ0FBUTtJSHlEZixLQUFhLEVBRGlCLEdBQXNCLEdHdERyRDtFRTZKSyxBRi9KRixZRStKYyxHRi9KZCxLQUFLLENBQVE7SUh5RGYsS0FBYSxFQURpQixTQUFzQixHR3REckQ7RUU2SkssQUYvSkYsWUUrSmMsR0YvSmQsS0FBSyxDQUFRO0lIeURmLEtBQWEsRUFEaUIsU0FBc0IsR0d0RHJEO0VFNkpLLEFGL0pGLFlFK0pjLEdGL0pkLEtBQUssQ0FBUTtJSHlEZixLQUFhLEVBRGlCLEtBQXNCLEdHdERyRDs7QW5Cb0lHLE1BQU0sQ0FBQyxLQUFLLEVBQUUsTUFBTSxNQUFNLFNBQVMsRUFBRSxJQUFJO0VxQnlCdkMsQUYvSkYsV0UrSmEsR0YvSmIsS0FBSyxDQUFRO0lIeURmLEtBQWEsRUFEaUIsSUFBc0IsR0d0RHJEO0VFNkpLLEFGL0pGLFdFK0phLEdGL0piLEtBQUssQ0FBUTtJSHlEZixLQUFhLEVBRGlCLEdBQXNCLEdHdERyRDtFRTZKSyxBRi9KRixXRStKYSxHRi9KYixLQUFLLENBQVE7SUh5RGYsS0FBYSxFQURpQixTQUFzQixHR3REckQ7RUU2SkssQUYvSkYsV0UrSmEsR0YvSmIsS0FBSyxDQUFRO0lIeURmLEtBQWEsRUFEaUIsR0FBc0IsR0d0RHJEO0VFNkpLLEFGL0pGLFdFK0phLEdGL0piLEtBQUssQ0FBUTtJSHlEZixLQUFhLEVBRGlCLEdBQXNCLEdHdERyRDtFRTZKSyxBRi9KRixXRStKYSxHRi9KYixLQUFLLENBQVE7SUh5RGYsS0FBYSxFQURpQixTQUFzQixHR3REckQ7RUU2SkssQUYvSkYsV0UrSmEsR0YvSmIsS0FBSyxDQUFRO0lIeURmLEtBQWEsRUFEaUIsU0FBc0IsR0d0RHJEO0VFNkpLLEFGL0pGLFdFK0phLEdGL0piLEtBQUssQ0FBUTtJSHlEZixLQUFhLEVBRGlCLEtBQXNCLEdHdERyRDs7QW5CeUlHLE1BQU0sQ0FBQyxNQUFNLE1BQU0sU0FBUyxFQUFFLElBQUk7RXFCb0JoQyxBRi9KRixZRStKYyxHRi9KZCxLQUFLLENBQVE7SUh5RGYsS0FBYSxFQURpQixJQUFzQixHR3REckQ7RUU2SkssQUYvSkYsWUUrSmMsR0YvSmQsS0FBSyxDQUFRO0lIeURmLEtBQWEsRUFEaUIsR0FBc0IsR0d0RHJEO0VFNkpLLEFGL0pGLFlFK0pjLEdGL0pkLEtBQUssQ0FBUTtJSHlEZixLQUFhLEVBRGlCLFNBQXNCLEdHdERyRDtFRTZKSyxBRi9KRixZRStKYyxHRi9KZCxLQUFLLENBQVE7SUh5RGYsS0FBYSxFQURpQixHQUFzQixHR3REckQ7RUU2SkssQUYvSkYsWUUrSmMsR0YvSmQsS0FBSyxDQUFRO0lIeURmLEtBQWEsRUFEaUIsR0FBc0IsR0d0RHJEO0VFNkpLLEFGL0pGLFlFK0pjLEdGL0pkLEtBQUssQ0FBUTtJSHlEZixLQUFhLEVBRGlCLFNBQXNCLEdHdERyRDtFRTZKSyxBRi9KRixZRStKYyxHRi9KZCxLQUFLLENBQVE7SUh5RGYsS0FBYSxFQURpQixTQUFzQixHR3REckQ7RUU2SkssQUYvSkYsWUUrSmMsR0YvSmQsS0FBSyxDQUFRO0lIeURmLEtBQWEsRUFEaUIsS0FBc0IsR0d0RHJEOztBbkJ5SUcsTUFBTSxDQUFDLE1BQU0sTUFBTSxTQUFTLEVBQUUsSUFBSTtFcUJvQmhDLEFGL0pGLGFFK0plLEdGL0pmLEtBQUssQ0FBUTtJSHlEZixLQUFhLEVBRGlCLElBQXNCLEdHdERyRDtFRTZKSyxBRi9KRixhRStKZSxHRi9KZixLQUFLLENBQVE7SUh5RGYsS0FBYSxFQURpQixHQUFzQixHR3REckQ7RUU2SkssQUYvSkYsYUUrSmUsR0YvSmYsS0FBSyxDQUFRO0lIeURmLEtBQWEsRUFEaUIsU0FBc0IsR0d0RHJEO0VFNkpLLEFGL0pGLGFFK0plLEdGL0pmLEtBQUssQ0FBUTtJSHlEZixLQUFhLEVBRGlCLEdBQXNCLEdHdERyRDtFRTZKSyxBRi9KRixhRStKZSxHRi9KZixLQUFLLENBQVE7SUh5RGYsS0FBYSxFQURpQixHQUFzQixHR3REckQ7RUU2SkssQUYvSkYsYUUrSmUsR0YvSmYsS0FBSyxDQUFRO0lIeURmLEtBQWEsRUFEaUIsU0FBc0IsR0d0RHJEO0VFNkpLLEFGL0pGLGFFK0plLEdGL0pmLEtBQUssQ0FBUTtJSHlEZixLQUFhLEVBRGlCLFNBQXNCLEdHdERyRDtFRTZKSyxBRi9KRixhRStKZSxHRi9KZixLQUFLLENBQVE7SUh5RGYsS0FBYSxFQURpQixLQUFzQixHR3REckQ7O0FF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S0FBYSxFQURpQixTQUFzQixHSWhDM0M7RUMwS1AsQUQ1S1Esc0JDNEtjLEdENUtkLFFBQVEsQ0FBTTtJSm1DeEIsS0FBYSxFQURpQixTQUFzQixHSWhDM0M7RUMwS1AsQUQ1S1Esc0JDNEtjLEdENUtkLFFBQVEsQ0FBTTtJSm1DeEIsS0FBYSxFQURpQixHQUFzQixHSWhDM0M7RUMwS1AsQUQ1S1Esc0JDNEtjLEdENUtkLFNBQVMsQ0FBSztJSm1DeEIsS0FBYSxFQURpQixTQUFzQixHSWhDM0M7RUMwS1AsQUQ1S1Esc0JDNEtjLEdENUtkLFNBQVMsQ0FBSztJSm1DeEIsS0FBYSxFQURpQixTQUFzQixHSWhDM0M7RUMwS1AsQUQ1S1Esc0JDNEtjLEdENUtkLFNBQVMsQ0FBSztJSm1DeEIsS0FBYSxFQURpQixJQUFzQixHSWhDM0M7RXBCOEdQLE1BQU0sQ0FBQyxLQUFLLEVBQUUsTUFBTSxNQUFNLFNBQVMsRUFBRSxJQUFJO0lxQjREekMsQUQ1S1Esc0JDNEtjLEdENUtkLFNBQVMsQ0FBSztNSm1DeEIsS0FBYSxFQURpQixRQUFzQixHSWhDM0M7SUMwS1AsQUQ1S1Esc0JDNEtjLEdENUtkLFNBQVMsQ0FBSztNSm1DeEIsS0FBYSxFQURpQixTQUFzQixHSWhDM0M7SUMwS1AsQUQ1S1Esc0JDNEtjLEdENUtkLFNBQVMsQ0FBSztNSm1DeEIsS0FBYSxFQURpQixHQUFzQixHSWhDM0M7SUMwS1AsQUQ1S1Esc0JDNEtjLEdENUtkLFNBQVMsQ0FBSztNSm1DeEIsS0FBYSxFQURpQixTQUFzQixHSWhDM0M7SUMwS1AsQUQ1S1Esc0JDNEtjLEdENUtkLFNBQVMsQ0FBSztNSm1DeEIsS0FBYSxFQURpQixTQUFzQixHSWhDM0M7SUMwS1AsQUQ1S1Esc0JDNEtjLEdENUtkLFNBQVMsQ0FBSztNSm1DeEIsS0FBYSxFQURpQixHQUFzQixHSWhDM0M7SUMwS1AsQUQ1S1Esc0JDNEtjLEdENUtkLFNBQVMsQ0FBSztNSm1DeEIsS0FBYSxFQURpQixTQUFzQixHSWhDM0M7SUMwS1AsQUQ1S1Esc0JDNEtjLEdENUtkLFNBQVMsQ0FBSztNSm1DeEIsS0FBYSxFQURpQixTQUFzQixHSWhDM0M7SUMwS1AsQUQ1S1Esc0JDNEtjLEdENUtkLFNBQVMsQ0FBSztNSm1DeEIsS0FBYSxFQURpQixHQUFzQixHSWhDM0M7SUMwS1AsQUQ1S1Esc0JDNEtjLEdENUtkLFVBQVUsQ0FBSTtNSm1DeEIsS0FBYSxFQURpQixTQUFzQixHSWhDM0M7SUMwS1AsQUQ1S1Esc0JDNEtjLEdENUtkLFVBQVUsQ0FBSTtNSm1DeEIsS0FBYSxFQURpQixTQUFzQixHSWhDM0M7SUMwS1AsQUQ1S1Esc0JDNEtjLEdENUtkLFVBQVUsQ0FBSTtNSm1DeEIsS0FBYSxFQURpQixJQUFzQixHSWhDM0M7RXBCOEdQLE1BQU0sQ0FBQyxLQUFLLEVBQUUsTUFBTSxNQUFNLFNBQVMsRUFBRSxJQUFJO0lxQjREekMsQUQ1S1Esc0JDNEtjLEdENUtkLFFBQVEsQ0FBTTtNSm1DeEIsS0FBYSxFQURpQixRQUFzQixHSWhDM0M7SUMwS1AsQUQ1S1Esc0JDNEtjLEdENUtkLFFBQVEsQ0FBTTtNSm1DeEIsS0FBYSxFQURpQixTQUFzQixHSWhDM0M7SUMwS1AsQUQ1S1Esc0JDNEtjLEdENUtkLFFBQVEsQ0FBTTtNSm1DeEIsS0FBYSxFQURpQixHQUFzQixHSWhDM0M7SUMwS1AsQUQ1S1Esc0JDNEtjLEdENUtkLFFBQVEsQ0FBTTtNSm1DeEIsS0FBYSxFQURpQixTQUFzQixHSWhDM0M7SUMwS1AsQUQ1S1Esc0JDNEtjLEdENUtkLFFBQVEsQ0FBTTtNSm1DeEIsS0FBYSxFQURpQixTQUFzQixHSWhDM0M7SUMwS1AsQUQ1S1Esc0JDNEtjLEdENUtkLFFBQVEsQ0FBTTtNSm1DeEIsS0FBYSxFQURpQixHQUFzQixHSWhDM0M7SUMwS1AsQUQ1S1Esc0JDNEtjLEdENUtkLFFBQVEsQ0FBTTtNSm1DeEIsS0FBYSxFQURpQixTQUFzQixHSWhDM0M7SUMwS1AsQUQ1S1Esc0JDNEtjLEdENUtkLFFBQVEsQ0FBTTtNSm1DeEIsS0FBYSxFQURpQixTQUFzQixHSWhDM0M7SUMwS1AsQUQ1S1Esc0JDNEtjLEdENUtkLFFBQVEsQ0FBTTtNSm1DeEIsS0FBYSxFQURpQixHQUFzQixHSWhDM0M7SUMwS1AsQUQ1S1Esc0JDNEtjLEdENUtkLFNBQVMsQ0FBSztNSm1DeEIsS0FBYSxFQURpQixTQUFzQixHSWhDM0M7SUMwS1AsQUQ1S1Esc0JDNEtjLEdENUtkLFNBQVMsQ0FBSztNSm1DeEIsS0FBYSxFQURpQixTQUFzQixHSWhDM0M7SUMwS1AsQUQ1S1Esc0JDNEtjLEdENUtkLFNBQVMsQ0FBSztNSm1DeEIsS0FBYSxFQURpQixJQUFzQixHSWhDM0M7RXBCbUhQLE1BQU0sQ0FBQyxNQUFNLE1BQU0sU0FBUyxFQUFFLElBQUk7SXFCdURsQyxBRDVLUSxzQkM0S2MsR0Q1S2QsU0FBUyxDQUFLO01KbUN4QixLQUFhLEVBRGlCLFFBQXNCLEdJaEMzQztJQzBLUCxBRDVLUSxzQkM0S2MsR0Q1S2QsU0FBUyxDQUFLO01KbUN4QixLQUFhLEVBRGlCLFNBQXNCLEdJaEMzQztJQzBLUCxBRDVLUSxzQkM0S2MsR0Q1S2QsU0FBUyxDQUFLO01KbUN4QixLQUFhLEVBRGlCLEdBQXNCLEdJaEMzQztJQzBLUCxBRDVLUSxzQkM0S2MsR0Q1S2QsU0FBUyxDQUFLO01KbUN4QixLQUFhLEVBRGlCLFNBQXNCLEdJaEMzQztJQzBLUCxBRDVLUSxzQkM0S2MsR0Q1S2QsU0FBUyxDQUFLO01KbUN4QixLQUFhLEVBRGlCLFNBQXNCLEdJaEMzQztJQzBLUCxBRDVLUSxzQkM0S2MsR0Q1S2QsU0FBUyxDQUFLO01KbUN4QixLQUFhLEVBRGlCLEdBQXNCLEdJaEMzQztJQzBLUCxBRDVLUSxzQkM0S2MsR0Q1S2QsU0FBUyxDQUFLO01KbUN4QixLQUFhLEVBRGlCLFNBQXNCLEdJaEMzQztJQzBLUCxBRDVLUSxzQkM0S2MsR0Q1S2QsU0FBUyxDQUFLO01KbUN4QixLQUFhLEVBRGlCLFNBQXNCLEdJaEMzQztJQzBLUCxBRDVLUSxzQkM0S2MsR0Q1S2QsU0FBUyxDQUFLO01KbUN4QixLQUFhLEVBRGlCLEdBQXNCLEdJaEMzQztJQzBLUCxBRDVLUSxzQkM0S2MsR0Q1S2QsVUFBVSxDQUFJO01KbUN4QixLQUFhLEVBRGlCLFNBQXNCLEdJaEMzQztJQzBLUCxBRDVLUSxzQkM0S2MsR0Q1S2QsVUFBVSxDQUFJO01KbUN4QixLQUFhLEVBRGlCLFNBQXNCLEdJaEMzQztJQzBLUCxBRDVLUSxzQkM0S2MsR0Q1S2QsVUFBVSxDQUFJO01KbUN4QixLQUFhLEVBRGlCLElBQXNCLEdJaEMzQztFcEJtSFAsTUFBTSxDQUFDLE1BQU0sTUFBTSxTQUFTLEVBQUUsSUFBSTtJcUJ1RGxDLEFENUtRLHNCQzRLYyxHRDVLZCxVQUFVLENBQUk7TUptQ3hCLEtBQWEsRUFEaUIsUUFBc0IsR0loQzNDO0lDMEtQLEFENUtRLHNCQzRLYyxHRDVLZCxVQUFVLENBQUk7TUptQ3hCLEtBQWEsRUFEaUIsU0FBc0IsR0loQzNDO0lDMEtQLEFENUtRLHNCQzRLYyxHRDVLZCxVQUFVLENBQUk7TUptQ3hCLEtBQWEsRUFEaUIsR0FBc0IsR0loQzNDO0lDMEtQLEFENUtRLHNCQzRLYyxHRDVLZCxVQUFVLENBQUk7TUptQ3hCLEtBQWEsRUFEaUIsU0FBc0IsR0loQzNDO0lDMEtQLEFENUtRLHNCQzRLYyxHRDVLZCxVQUFVLENBQUk7TUptQ3hCLEtBQWEsRUFEaUIsU0FBc0IsR0loQzNDO0lDMEtQLEFENUtRLHNCQzRLYyxHRDVLZCxVQUFVLENBQUk7TUptQ3hCLEtBQWEsRUFEaUIsR0FBc0IsR0loQzNDO0lDMEtQLEFENUtRLHNCQzRLYyxHRDVLZCxVQUFVLENBQUk7TUptQ3hCLEtBQWEsRUFEaUIsU0FBc0IsR0loQzNDO0lDMEtQLEFENUtRLHNCQzRLYyxHRDVLZCxVQUFVLENBQUk7TUptQ3hCLEtBQWEsRUFEaUIsU0FBc0IsR0loQzNDO0lDMEtQLEFENUtRLHNCQzRLYyxHRDVLZCxVQUFVLENBQUk7TUptQ3hCLEtBQWEsRUFEaUIsR0FBc0IsR0loQzNDO0lDMEtQLEFENUtRLHNCQzRLYyxHRDVLZCxXQUFXLENBQUc7TUptQ3hCLEtBQWEsRUFEaUIsU0FBc0IsR0loQzNDO0lDMEtQLEFENUtRLHNCQzRLYyxHRDVLZCxXQUFXLENBQUc7TUptQ3hCLEtBQWEsRUFEaUIsU0FBc0IsR0loQzNDO0lDMEtQLEFENUtRLHNCQzRLYyxHRDVLZCxXQUFXLENBQUc7TUptQ3hCLEtBQWEsRUFEaUIsSUFBc0IsR0loQzNDOztBQ2dMUCxBQUFBLHVCQUF1QixDQUFFO0VEdEt2QixZQUFnQixFQUFTLENBQUM7RUFBMUIsV0FBZ0IsRUFBUyxDQUFDLEdDd0szQjtFQUZELEFEbktFLHVCQ21LcUIsR0RuS3JCLEtBQUssQ0FBUTtJQUVYLGFBQWlCLEVBQVUsQ0FBQztJQUE1QixZQUFpQixFQUFVLENBQUMsR0FFL0I7O0FwQjZGRCxNQUFNLENBQUMsS0FBSyxFQUFFLE1BQU0sTUFBTSxTQUFTLEVBQUUsSUFBSTtFcUI0RHpDLEFBQUEsdUJBQXVCLENBQUM7SUR2TXRCLFlBQWdCLEVBQVMsQ0FBQztJQUExQixXQUFnQixFQUFTLENBQUMsR0N5TTNCO0lBRkQsQURwTUUsdUJDb01xQixHRHBNckIsS0FBSyxDQUFRO01BRVgsWUFBZ0IsRUFBUyxDQUFDO01BQTFCLFdBQWdCLEVBQVMsQ0FBQyxHQUU3Qjs7QXBCb0lELE1BQU0sQ0FBQyxLQUFLLEVBQUUsTUFBTSxNQUFNLFNBQVMsRUFBRSxJQUFJO0VxQjREekMsQURyTFEsdUJDcUxlLEdEckxmLFFBQVEsQ0FBTTtJSjRDeEIsS0FBYSxFQURpQixRQUFzQixHSXpDM0M7RUNtTFAsQURyTFEsdUJDcUxlLEdEckxmLFFBQVEsQ0FBTTtJSjRDeEIsS0FBYSxFQURpQixTQUFzQixHSXpDM0M7RUNtTFAsQURyTFEsdUJDcUxlLEdEckxmLFFBQVEsQ0FBTTtJSjRDeEIsS0FBYSxFQURpQixHQUFzQixHSXpDM0M7RUNtTFAsQURyTFEsdUJDcUxlLEdEckxmLFFBQVEsQ0FBTTtJSjRDeEIsS0FBYSxFQURpQixTQUFzQixHSXpDM0M7RUNtTFAsQURyTFEsdUJDcUxlLEdEckxmLFFBQVEsQ0FBTTtJSjRDeEIsS0FBYSxFQURpQixTQUFzQixHSXpDM0M7RUNtTFAsQURyTFEsdUJDcUxlLEdEckxmLFFBQVEsQ0FBTTtJSjRDeEIsS0FBYSxFQURpQixHQUFzQixHSXpDM0M7RUNtTFAsQURyTFEsdUJDcUxlLEdEckxmLFFBQVEsQ0FBTTtJSjRDeEIsS0FBYSxFQURpQixTQUFzQixHSXpDM0M7RUNtTFAsQURyTFEsdUJDcUxlLEdEckxmLFFBQVEsQ0FBTTtJSjRDeEIsS0FBYSxFQURpQixTQUFzQixHSXpDM0M7RUNtTFAsQURyTFEsdUJDcUxlLEdEckxmLFFBQVEsQ0FBTTtJSjRDeEIsS0FBYSxFQURpQixHQUFzQixHSXpDM0M7RUNtTFAsQURyTFEsdUJDcUxlLEdEckxmLFNBQVMsQ0FBSztJSjRDeEIsS0FBYSxFQURpQixTQUFzQixHSXpDM0M7RUNtTFAsQURyTFEsdUJDcUxlLEdEckxmLFNBQVMsQ0FBSztJSjRDeEIsS0FBYSxFQURpQixTQUFzQixHSXpDM0M7RUNtTFAsQURyTFEsdUJDcUxlLEdEckxmLFNBQVMsQ0FBSztJSjRDeEIsS0FBYSxFQURpQixJQUFzQixHSXpDM0M7O0FwQnVIUCxNQUFNLENBQUMsS0FBSyxFQUFFLE1BQU0sTUFBTSxTQUFTLEVBQUUsSUFBSTtFcUI0RHpDLEFENUtRLHVCQzRLZSxHRDVLZixTQUFTLENBQUs7SUptQ3hCLEtBQWEsRUFEaUIsUUFBc0IsR0loQzNDO0VDMEtQLEFENUtRLHVCQzRLZSxHRDVLZixTQUFTLENBQUs7SUptQ3hCLEtBQWEsRUFEaUIsU0FBc0IsR0loQzNDO0VDMEtQLEFENUtRLHVCQzRLZSxHRDVLZixTQUFTLENBQUs7SUptQ3hCLEtBQWEsRUFEaUIsR0FBc0IsR0loQzNDO0VDMEtQLEFENUtRLHVCQzRLZSxHRDVLZixTQUFTLENBQUs7SUptQ3hCLEtBQWEsRUFEaUIsU0FBc0IsR0loQzNDO0VDMEtQLEFENUtRLHVCQzRLZSxHRDVLZixTQUFTLENBQUs7SUptQ3hCLEtBQWEsRUFEaUIsU0FBc0IsR0loQzNDO0VDMEtQLEFENUtRLHVCQzRLZSxHRDVLZixTQUFTLENBQUs7SUptQ3hCLEtBQWEsRUFEaUIsR0FBc0IsR0loQzNDO0VDMEtQLEFENUtRLHVCQzRLZSxHRDVLZixTQUFTLENBQUs7SUptQ3hCLEtBQWEsRUFEaUIsU0FBc0IsR0loQzNDO0VDMEtQLEFENUtRLHVCQzRLZSxHRDVLZixTQUFTLENBQUs7SUptQ3hCLEtBQWEsRUFEaUIsU0FBc0IsR0loQzNDO0VDMEtQLEFENUtRLHVCQzRLZSxHRDVLZixTQUFTLENBQUs7SUptQ3hCLEtBQWEsRUFEaUIsR0FBc0IsR0loQzNDO0VDMEtQLEFENUtRLHVCQzRLZSxHRDVLZixVQUFVLENBQUk7SUptQ3hCLEtBQWEsRUFEaUIsU0FBc0IsR0loQzNDO0VDMEtQLEFENUtRLHVCQzRLZSxHRDVLZixVQUFVLENBQUk7SUptQ3hCLEtBQWEsRUFEaUIsU0FBc0IsR0loQzNDO0VDMEtQLEFENUtRLHVCQzRLZSxHRDVLZixVQUFVLENBQUk7SUptQ3hCLEtBQWEsRUFEaUIsSUFBc0IsR0loQzNDOztBcEI4R1AsTUFBTSxDQUFDLEtBQUssRUFBRSxNQUFNLE1BQU0sU0FBUyxFQUFFLElBQUk7RXFCNER6QyxBRDVLUSx1QkM0S2UsR0Q1S2YsUUFBUSxDQUFNO0lKbUN4QixLQUFhLEVBRGlCLFFBQXNCLEdJaEMzQztFQzBLUCxBRDVLUSx1QkM0S2UsR0Q1S2YsUUFBUSxDQUFNO0lKbUN4QixLQUFhLEVBRGlCLFNBQXNCLEdJaEMzQztFQzBLUCxBRDVLUSx1QkM0S2UsR0Q1S2YsUUFBUSxDQUFNO0lKbUN4QixLQUFhLEVBRGlCLEdBQXNCLEdJaEMzQztFQzBLUCxBRDVLUSx1QkM0S2UsR0Q1S2YsUUFBUSxDQUFNO0lKbUN4QixLQUFhLEVBRGlCLFNBQXNCLEdJaEMzQztFQzBLUCxBRDVLUSx1QkM0S2UsR0Q1S2YsUUFBUSxDQUFNO0lKbUN4QixLQUFhLEVBRGlCLFNBQXNCLEdJaEMzQztFQzBLUCxBRDVLUSx1QkM0S2UsR0Q1S2YsUUFBUSxDQUFNO0lKbUN4QixLQUFhLEVBRGlCLEdBQXNCLEdJaEMzQztFQzBLUCxBRDVLUSx1QkM0S2UsR0Q1S2YsUUFBUSxDQUFNO0lKbUN4QixLQUFhLEVBRGlCLFNBQXNCLEdJaEMzQztFQzBLUCxBRDVLUSx1QkM0S2UsR0Q1S2YsUUFBUSxDQUFNO0lKbUN4QixLQUFhLEVBRGlCLFNBQXNCLEdJaEMzQztFQzBLUCxBRDVLUSx1QkM0S2UsR0Q1S2YsUUFBUSxDQUFNO0lKbUN4QixLQUFhLEVBRGlCLEdBQXNCLEdJaEMzQztFQzBLUCxBRDVLUSx1QkM0S2UsR0Q1S2YsU0FBUyxDQUFLO0lKbUN4QixLQUFhLEVBRGlCLFNBQXNCLEdJaEMzQztFQzBLUCxBRDVLUSx1QkM0S2UsR0Q1S2YsU0FBUyxDQUFLO0lKbUN4QixLQUFhLEVBRGlCLFNBQXNCLEdJaEMzQztFQzBLUCxBRDVLUSx1QkM0S2UsR0Q1S2YsU0FBUyxDQUFLO0lKbUN4QixLQUFhLEVBRGlCLElBQXNCLEdJaEMzQzs7QXBCbUhQLE1BQU0sQ0FBQyxNQUFNLE1BQU0sU0FBUyxFQUFFLElBQUk7RXFCdURsQyxBRDVLUSx1QkM0S2UsR0Q1S2YsU0FBUyxDQUFLO0lKbUN4QixLQUFhLEVBRGlCLFFBQXNCLEdJaEMzQztFQzBLUCxBRDVLUSx1QkM0S2UsR0Q1S2YsU0FBUyxDQUFLO0lKbUN4QixLQUFhLEVBRGlCLFNBQXNCLEdJaEMzQztFQzBLUCxBRDVLUSx1QkM0S2UsR0Q1S2YsU0FBUyxDQUFLO0lKbUN4QixLQUFhLEVBRGlCLEdBQXNCLEdJaEMzQztFQzBLUCxBRDVLUSx1QkM0S2UsR0Q1S2YsU0FBUyxDQUFLO0lKbUN4QixLQUFhLEVBRGlCLFNBQXNCLEdJaEMzQztFQzBLUCxBRDVLUSx1QkM0S2UsR0Q1S2YsU0FBUyxDQUFLO0lKbUN4QixLQUFhLEVBRGlCLFNBQXNCLEdJaEMzQztFQzBLUCxBRDVLUSx1QkM0S2UsR0Q1S2YsU0FBUyxDQUFLO0lKbUN4QixLQUFhLEVBRGlCLEdBQXNCLEdJaEMzQztFQzBLUCxBRDVLUSx1QkM0S2UsR0Q1S2YsU0FBUyxDQUFLO0lKbUN4QixLQUFhLEVBRGlCLFNBQXNCLEdJaEMzQztFQzBLUCxBRDVLUSx1QkM0S2UsR0Q1S2YsU0FBUyxDQUFLO0lKbUN4QixLQUFhLEVBRGlCLFNBQXNCLEdJaEMzQztFQzBLUCxBRDVLUSx1QkM0S2UsR0Q1S2YsU0FBUyxDQUFLO0lKbUN4QixLQUFhLEVBRGlCLEdBQXNCLEdJaEMzQztFQzBLUCxBRDVLUSx1QkM0S2UsR0Q1S2YsVUFBVSxDQUFJO0lKbUN4QixLQUFhLEVBRGlCLFNBQXNCLEdJaEMzQztFQzBLUCxBRDVLUSx1QkM0S2UsR0Q1S2YsVUFBVSxDQUFJO0lKbUN4QixLQUFhLEVBRGlCLFNBQXNCLEdJaEMzQztFQzBLUCxBRDVLUSx1QkM0S2UsR0Q1S2YsVUFBVSxDQUFJO0lKbUN4QixLQUFhLEVBRGlCLElBQXNCLEdJaEMzQzs7QXBCbUhQLE1BQU0sQ0FBQyxNQUFNLE1BQU0sU0FBUyxFQUFFLElBQUk7RXFCdURsQyxBRDVLUSx1QkM0S2UsR0Q1S2YsVUFBVSxDQUFJO0lKbUN4QixLQUFhLEVBRGlCLFFBQXNCLEdJaEMzQztFQzBLUCxBRDVLUSx1QkM0S2UsR0Q1S2YsVUFBVSxDQUFJO0lKbUN4QixLQUFhLEVBRGlCLFNBQXNCLEdJaEMzQztFQzBLUCxBRDVLUSx1QkM0S2UsR0Q1S2YsVUFBVSxDQUFJO0lKbUN4QixLQUFhLEVBRGlCLEdBQXNCLEdJaEMzQztFQzBLUCxBRDVLUSx1QkM0S2UsR0Q1S2YsVUFBVSxDQUFJO0lKbUN4QixLQUFhLEVBRGlCLFNBQXNCLEdJaEMzQztFQzBLUCxBRDVLUSx1QkM0S2UsR0Q1S2YsVUFBVSxDQUFJO0lKbUN4QixLQUFhLEVBRGlCLFNBQXNCLEdJaEMzQztFQzBLUCxBRDVLUSx1QkM0S2UsR0Q1S2YsVUFBVSxDQUFJO0lKbUN4QixLQUFhLEVBRGlCLEdBQXNCLEdJaEMzQztFQzBLUCxBRDVLUSx1QkM0S2UsR0Q1S2YsVUFBVSxDQUFJO0lKbUN4QixLQUFhLEVBRGlCLFNBQXNCLEdJaEMzQztFQzBLUCxBRDVLUSx1QkM0S2UsR0Q1S2YsVUFBVSxDQUFJO0lKbUN4QixLQUFhLEVBRGlCLFNBQXNCLEdJaEMzQztFQzBLUCxBRDVLUSx1QkM0S2UsR0Q1S2YsVUFBVSxDQUFJO0lKbUN4QixLQUFhLEVBRGlCLEdBQXNCLEdJaEMzQztFQzBLUCxBRDVLUSx1QkM0S2UsR0Q1S2YsV0FBVyxDQUFHO0lKbUN4QixLQUFhLEVBRGlCLFNBQXNCLEdJaEMzQztFQzBLUCxBRDVLUSx1QkM0S2UsR0Q1S2YsV0FBVyxDQUFHO0lKbUN4QixLQUFhLEVBRGlCLFNBQXNCLEdJaEMzQztFQzBLUCxBRDVLUSx1QkM0S2UsR0Q1S2YsV0FBVyxDQUFHO0lKbUN4QixLQUFhLEVBRGlCLElBQXNCLEdJaEMzQzs7QXBCOEdQLE1BQU0sQ0FBQyxLQUFLLEVBQUUsTUFBTSxNQUFNLFNBQVMsRUFBRSxJQUFJO0VxQmtFekMsQUFBQSx3QkFBd0IsQ0FBQztJRHRLdkIsWUFBZ0IsRUFBUyxDQUFDO0lBQTFCLFdBQWdCLEVBQVMsQ0FBQyxHQ3dLM0I7SUFGRCxBRG5LRSx3QkNtS3NCLEdEbkt0QixLQUFLLENBQVE7TUFFWCxhQUFpQixFQUFVLENBQUM7TUFBNUIsWUFBaUIsRUFBVSxDQUFDLEdBRS9COztBcEI2RkQsTUFBTSxDQUFDLEtBQUssRUFBRSxNQUFNLE1BQU0sU0FBUyxFQUFFLElBQUk7RXFCNER6QyxBQUFBLHNCQUFzQixDQUFFO0lEdk10QixZQUFnQixFQUFTLENBQUM7SUFBMUIsV0FBZ0IsRUFBUyxDQUFDLEdDeU0zQjtJQUZELEFEcE1FLHNCQ29Nb0IsR0RwTXBCLEtBQUssQ0FBUTtNQUVYLFlBQWdCLEVBQVMsQ0FBQztNQUExQixXQUFnQixFQUFTLENBQUMsR0FFN0I7O0FwQm9JRCxNQUFNLENBQUMsS0FBSyxFQUFFLE1BQU0sTUFBTSxTQUFTLEVBQUUsSUFBSTtFcUI0RHpDLEFEckxRLHNCQ3FMYyxHRHJMZCxRQUFRLENBQU07SUo0Q3hCLEtBQWEsRUFEaUIsUUFBc0IsR0l6QzNDO0VDbUxQLEFEckxRLHNCQ3FMYyxHRHJMZCxRQUFRLENBQU07SUo0Q3hCLEtBQWEsRUFEaUIsU0FBc0IsR0l6QzNDO0VDbUxQLEFEckxRLHNCQ3FMYyxHRHJMZCxRQUFRLENBQU07SUo0Q3hCLEtBQWEsRUFEaUIsR0FBc0IsR0l6QzNDO0VDbUxQLEFEckxRLHNCQ3FMYyxHRHJMZCxRQUFRLENBQU07SUo0Q3hCLEtBQWEsRUFEaUIsU0FBc0IsR0l6QzNDO0VDbUxQLEFEckxRLHNCQ3FMYyxHRHJMZCxRQUFRLENBQU07SUo0Q3hCLEtBQWEsRUFEaUIsU0FBc0IsR0l6QzNDO0VDbUxQLEFEckxRLHNCQ3FMYyxHRHJMZCxRQUFRLENBQU07SUo0Q3hCLEtBQWEsRUFEaUIsR0FBc0IsR0l6QzNDO0VDbUxQLEFEckxRLHNCQ3FMYyxHRHJMZCxRQUFRLENBQU07SUo0Q3hCLEtBQWEsRUFEaUIsU0FBc0IsR0l6QzNDO0VDbUxQLEFEckxRLHNCQ3FMYyxHRHJMZCxRQUFRLENBQU07SUo0Q3hCLEtBQWEsRUFEaUIsU0FBc0IsR0l6QzNDO0VDbUxQLEFEckxRLHNCQ3FMYyxHRHJMZCxRQUFRLENBQU07SUo0Q3hCLEtBQWEsRUFEaUIsR0FBc0IsR0l6QzNDO0VDbUxQLEFEckxRLHNCQ3FMYyxHRHJMZCxTQUFTLENBQUs7SUo0Q3hCLEtBQWEsRUFEaUIsU0FBc0IsR0l6QzNDO0VDbUxQLEFEckxRLHNCQ3FMYyxHRHJMZCxTQUFTLENBQUs7SUo0Q3hCLEtBQWEsRUFEaUIsU0FBc0IsR0l6QzNDO0VDbUxQLEFEckxRLHNCQ3FMYyxHRHJMZCxTQUFTLENBQUs7SUo0Q3hCLEtBQWEsRUFEaUIsSUFBc0IsR0l6QzNDOztBcEJ1SFAsTUFBTSxDQUFDLEtBQUssRUFBRSxNQUFNLE1BQU0sU0FBUyxFQUFFLElBQUk7RXFCNER6QyxBRHJMUSxzQkNxTGMsR0RyTGQsU0FBUyxDQUFLO0lKNEN4QixLQUFhLEVBRGlCLFFBQXNCLEdJekMzQztFQ21MUCxBRHJMUSxzQkNxTGMsR0RyTGQsU0FBUyxDQUFLO0lKNEN4QixLQUFhLEVBRGlCLFNBQXNCLEdJekMzQztFQ21MUCxBRHJMUSxzQkNxTGMsR0RyTGQsU0FBUyxDQUFLO0lKNEN4QixLQUFhLEVBRGlCLEdBQXNCLEdJekMzQztFQ21MUCxBRHJMUSxzQkNxTGMsR0RyTGQsU0FBUyxDQUFLO0lKNEN4QixLQUFhLEVBRGlCLFNBQXNCLEdJekMzQztFQ21MUCxBRHJMUSxzQkNxTGMsR0RyTGQsU0FBUyxDQUFLO0lKNEN4QixLQUFhLEVBRGlCLFNBQXNCLEdJekMzQztFQ21MUCxBRHJMUSxzQkNxTGMsR0RyTGQsU0FBUyxDQUFLO0lKNEN4QixLQUFhLEVBRGlCLEdBQXNCLEdJekMzQztFQ21MUCxBRHJMUSxzQkNxTGMsR0RyTGQsU0FBUyxDQUFLO0lKNEN4QixLQUFhLEVBRGlCLFNBQXNCLEdJekMzQztFQ21MUCxBRHJMUSxzQkNxTGMsR0RyTGQsU0FBUyxDQUFLO0lKNEN4QixLQUFhLEVBRGlCLFNBQXNCLEdJekMzQztFQ21MUCxBRHJMUSxzQkNxTGMsR0RyTGQsU0FBUyxDQUFLO0lKNEN4QixLQUFhLEVBRGlCLEdBQXNCLEdJekMzQztFQ21MUCxBRHJMUSxzQkNxTGMsR0RyTGQsVUFBVSxDQUFJO0lKNEN4QixLQUFhLEVBRGlCLFNBQXNCLEdJekMzQztFQ21MUCxBRHJMUSxzQkNxTGMsR0RyTGQsVUFBVSxDQUFJO0lKNEN4QixLQUFhLEVBRGlCLFNBQXNCLEdJekMzQztFQ21MUCxBRHJMUSxzQkNxTGMsR0RyTGQsVUFBVSxDQUFJO0lKNEN4QixLQUFhLEVBRGlCLElBQXNCLEdJekMzQzs7QXBCdUhQLE1BQU0sQ0FBQyxLQUFLLEVBQUUsTUFBTSxNQUFNLFNBQVMsRUFBRSxJQUFJO0VxQjREekMsQUQ1S1Esc0JDNEtjLEdENUtkLFFBQVEsQ0FBTTtJSm1DeEIsS0FBYSxFQURpQixRQUFzQixHSWhDM0M7RUMwS1AsQUQ1S1Esc0JDNEtjLEdENUtkLFFBQVEsQ0FBTTtJSm1DeEIsS0FBYSxFQURpQixTQUFzQixHSWhDM0M7RUMwS1AsQUQ1S1Esc0JDNEtjLEdENUtkLFFBQVEsQ0FBTTtJSm1DeEIsS0FBYSxFQURpQixHQUFzQixHSWhDM0M7RUMwS1AsQUQ1S1Esc0JDNEtjLEdENUtkLFFBQVEsQ0FBTTtJSm1DeEIsS0FBYSxFQURpQixTQUFzQixHSWhDM0M7RUMwS1AsQUQ1S1Esc0JDNEtjLEdENUtkLFFBQVEsQ0FBTTtJSm1DeEIsS0FBYSxFQURpQixTQUFzQixHSWhDM0M7RUMwS1AsQUQ1S1Esc0JDNEtjLEdENUtkLFFBQVEsQ0FBTTtJSm1DeEIsS0FBYSxFQURpQixHQUFzQixHSWhDM0M7RUMwS1AsQUQ1S1Esc0JDNEtjLEdENUtkLFFBQVEsQ0FBTTtJSm1DeEIsS0FBYSxFQURpQixTQUFzQixHSWhDM0M7RUMwS1AsQUQ1S1Esc0JDNEtjLEdENUtkLFFBQVEsQ0FBTTtJSm1DeEIsS0FBYSxFQURpQixTQUFzQixHSWhDM0M7RUMwS1AsQUQ1S1Esc0JDNEtjLEdENUtkLFFBQVEsQ0FBTTtJSm1DeEIsS0FBYSxFQURpQixHQUFzQixHSWhDM0M7RUMwS1AsQUQ1S1Esc0JDNEtjLEdENUtkLFNBQVMsQ0FBSztJSm1DeEIsS0FBYSxFQURpQixTQUFzQixHSWhDM0M7RUMwS1AsQUQ1S1Esc0JDNEtjLEdENUtkLFNBQVMsQ0FBSztJSm1DeEIsS0FBYSxFQURpQixTQUFzQixHSWhDM0M7RUMwS1AsQUQ1S1Esc0JDNEtjLEdENUtkLFNBQVMsQ0FBSztJSm1DeEIsS0FBYSxFQURpQixJQUFzQixHSWhDM0M7O0FwQm1IUCxNQUFNLENBQUMsTUFBTSxNQUFNLFNBQVMsRUFBRSxJQUFJO0VxQnVEbEMsQUQ1S1Esc0JDNEtjLEdENUtkLFNBQVMsQ0FBSztJSm1DeEIsS0FBYSxFQURpQixRQUFzQixHSWhDM0M7RUMwS1AsQUQ1S1Esc0JDNEtjLEdENUtkLFNBQVMsQ0FBSztJSm1DeEIsS0FBYSxFQURpQixTQUFzQixHSWhDM0M7RUMwS1AsQUQ1S1Esc0JDNEtjLEdENUtkLFNBQVMsQ0FBSztJSm1DeEIsS0FBYSxFQURpQixHQUFzQixHSWhDM0M7RUMwS1AsQUQ1S1Esc0JDNEtjLEdENUtkLFNBQVMsQ0FBSztJSm1DeEIsS0FBYSxFQURpQixTQUFzQixHSWhDM0M7RUMwS1AsQUQ1S1Esc0JDNEtjLEdENUtkLFNBQVMsQ0FBSztJSm1DeEIsS0FBYSxFQURpQixTQUFzQixHSWhDM0M7RUMwS1AsQUQ1S1Esc0JDNEtjLEdENUtkLFNBQVMsQ0FBSztJSm1DeEIsS0FBYSxFQURpQixHQUFzQixHSWhDM0M7RUMwS1AsQUQ1S1Esc0JDNEtjLEdENUtkLFNBQVMsQ0FBSztJSm1DeEIsS0FBYSxFQURpQixTQUFzQixHSWhDM0M7RUMwS1AsQUQ1S1Esc0JDNEtjLEdENUtkLFNBQVMsQ0FBSztJSm1DeEIsS0FBYSxFQURpQixTQUFzQixHSWhDM0M7RUMwS1AsQUQ1S1Esc0JDNEtjLEdENUtkLFNBQVMsQ0FBSztJSm1DeEIsS0FBYSxFQURpQixHQUFzQixHSWhDM0M7RUMwS1AsQUQ1S1Esc0JDNEtjLEdENUtkLFVBQVUsQ0FBSTtJSm1DeEIsS0FBYSxFQURpQixTQUFzQixHSWhDM0M7RUMwS1AsQUQ1S1Esc0JDNEtjLEdENUtkLFVBQVUsQ0FBSTtJSm1DeEIsS0FBYSxFQURpQixTQUFzQixHSWhDM0M7RUMwS1AsQUQ1S1Esc0JDNEtjLEdENUtkLFVBQVUsQ0FBSTtJSm1DeEIsS0FBYSxFQURpQixJQUFzQixHSWhDM0M7O0FwQm1IUCxNQUFNLENBQUMsTUFBTSxNQUFNLFNBQVMsRUFBRSxJQUFJO0VxQnVEbEMsQUQ1S1Esc0JDNEtjLEdENUtkLFVBQVUsQ0FBSTtJSm1DeEIsS0FBYSxFQURpQixRQUFzQixHSWhDM0M7RUMwS1AsQUQ1S1Esc0JDNEtjLEdENUtkLFVBQVUsQ0FBSTtJSm1DeEIsS0FBYSxFQURpQixTQUFzQixHSWhDM0M7RUMwS1AsQUQ1S1Esc0JDNEtjLEdENUtkLFVBQVUsQ0FBSTtJSm1DeEIsS0FBYSxFQURpQixHQUFzQixHSWhDM0M7RUMwS1AsQUQ1S1Esc0JDNEtjLEdENUtkLFVBQVUsQ0FBSTtJSm1DeEIsS0FBYSxFQURpQixTQUFzQixHSWhDM0M7RUMwS1AsQUQ1S1Esc0JDNEtjLEdENUtkLFVBQVUsQ0FBSTtJSm1DeEIsS0FBYSxFQURpQixTQUFzQixHSWhDM0M7RUMwS1AsQUQ1S1Esc0JDNEtjLEdENUtkLFVBQVUsQ0FBSTtJSm1DeEIsS0FBYSxFQURpQixHQUFzQixHSWhDM0M7RUMwS1AsQUQ1S1Esc0JDNEtjLEdENUtkLFVBQVUsQ0FBSTtJSm1DeEIsS0FBYSxFQURpQixTQUFzQixHSWhDM0M7RUMwS1AsQUQ1S1Esc0JDNEtjLEdENUtkLFVBQVUsQ0FBSTtJSm1DeEIsS0FBYSxFQURpQixTQUFzQixHSWhDM0M7RUMwS1AsQUQ1S1Esc0JDNEtjLEdENUtkLFVBQVUsQ0FBSTtJSm1DeEIsS0FBYSxFQURpQixHQUFzQixHSWhDM0M7RUMwS1AsQUQ1S1Esc0JDNEtjLEdENUtkLFdBQVcsQ0FBRztJSm1DeEIsS0FBYSxFQURpQixTQUFzQixHSWhDM0M7RUMwS1AsQUQ1S1Esc0JDNEtjLEdENUtkLFdBQVcsQ0FBRztJSm1DeEIsS0FBYSxFQURpQixTQUFzQixHSWhDM0M7RUMwS1AsQUQ1S1Esc0JDNEtjLEdENUtkLFdBQVcsQ0FBRztJSm1DeEIsS0FBYSxFQURpQixJQUFzQixHSWhDM0M7O0FwQjhHUCxNQUFNLENBQUMsS0FBSyxFQUFFLE1BQU0sTUFBTSxTQUFTLEVBQUUsSUFBSTtFcUJrRXpDLEFBQUEsdUJBQXVCLENBQUU7SUR0S3ZCLFlBQWdCLEVBQVMsQ0FBQztJQUExQixXQUFnQixFQUFTLENBQUMsR0N3SzNCO0lBRkQsQURuS0UsdUJDbUtxQixHRG5LckIsS0FBSyxDQUFRO01BRVgsYUFBaUIsRUFBVSxDQUFDO01BQTVCLFlBQWlCLEVBQVUsQ0FBQyxHQUUvQjs7QXBCa0dELE1BQU0sQ0FBQyxNQUFNLE1BQU0sU0FBUyxFQUFFLElBQUk7RXFCdURsQyxBQUFBLHVCQUF1QixDQUFDO0lEdk10QixZQUFnQixFQUFTLENBQUM7SUFBMUIsV0FBZ0IsRUFBUyxDQUFDLEdDeU0zQjtJQUZELEFEcE1FLHVCQ29NcUIsR0RwTXJCLEtBQUssQ0FBUTtNQUVYLFlBQWdCLEVBQVMsQ0FBQztNQUExQixXQUFnQixFQUFTLENBQUMsR0FFN0I7O0FwQnlJRCxNQUFNLENBQUMsTUFBTSxNQUFNLFNBQVMsRUFBRSxJQUFJO0VxQnVEbEMsQURyTFEsdUJDcUxlLEdEckxmLFFBQVEsQ0FBTTtJSjRDeEIsS0FBYSxFQURpQixRQUFzQixHSXpDM0M7RUNtTFAsQURyTFEsdUJDcUxlLEdEckxmLFFBQVEsQ0FBTTtJSjRDeEIsS0FBYSxFQURpQixTQUFzQixHSXpDM0M7RUNtTFAsQURyTFEsdUJDcUxlLEdEckxmLFFBQVEsQ0FBTTtJSjRDeEIsS0FBYSxFQURpQixHQUFzQixHSXpDM0M7RUNtTFAsQURyTFEsdUJDcUxlLEdEckxmLFFBQVEsQ0FBTTtJSjRDeEIsS0FBYSxFQURpQixTQUFzQixHSXpDM0M7RUNtTFAsQURyTFEsdUJDcUxlLEdEckxmLFFBQVEsQ0FBTTtJSjRDeEIsS0FBYSxFQURpQixTQUFzQixHSXpDM0M7RUNtTFAsQURyTFEsdUJDcUxlLEdEckxmLFFBQVEsQ0FBTTtJSjRDeEIsS0FBYSxFQURpQixHQUFzQixHSXpDM0M7RUNtTFAsQURyTFEsdUJDcUxlLEdEckxmLFFBQVEsQ0FBTTtJSjRDeEIsS0FBYSxFQURpQixTQUFzQixHSXpDM0M7RUNtTFAsQURyTFEsdUJDcUxlLEdEckxmLFFBQVEsQ0FBTTtJSjRDeEIsS0FBYSxFQURpQixTQUFzQixHSXpDM0M7RUNtTFAsQURyTFEsdUJDcUxlLEdEckxmLFFBQVEsQ0FBTTtJSjRDeEIsS0FBYSxFQURpQixHQUFzQixHSXpDM0M7RUNtTFAsQURyTFEsdUJDcUxlLEdEckxmLFNBQVMsQ0FBSztJSjRDeEIsS0FBYSxFQURpQixTQUFzQixHSXpDM0M7RUNtTFAsQURyTFEsdUJDcUxlLEdEckxmLFNBQVMsQ0FBSztJSjRDeEIsS0FBYSxFQURpQixTQUFzQixHSXpDM0M7RUNtTFAsQURyTFEsdUJDcUxlLEdEckxmLFNBQVMsQ0FBSztJSjRDeEIsS0FBYSxFQURpQixJQUFzQixHSXpDM0M7O0FwQjRIUCxNQUFNLENBQUMsTUFBTSxNQUFNLFNBQVMsRUFBRSxJQUFJO0VxQnVEbEMsQURyTFEsdUJDcUxlLEdEckxmLFNBQVMsQ0FBSztJSjRDeEIsS0FBYSxFQURpQixRQUFzQixHSXpDM0M7RUNtTFAsQURyTFEsdUJDcUxlLEdEckxmLFNBQVMsQ0FBSztJSjRDeEIsS0FBYSxFQURpQixTQUFzQixHSXpDM0M7RUNtTFAsQURyTFEsdUJDcUxlLEdEckxmLFNBQVMsQ0FBSztJSjRDeEIsS0FBYSxFQURpQixHQUFzQixHSXpDM0M7RUNtTFAsQURyTFEsdUJDcUxlLEdEckxmLFNBQVMsQ0FBSztJSjRDeEIsS0FBYSxFQURpQixTQUFzQixHSXpDM0M7RUNtTFAsQURyTFEsdUJDcUxlLEdEckxmLFNBQVMsQ0FBSztJSjRDeEIsS0FBYSxFQURpQixTQUFzQixHSXpDM0M7RUNtTFAsQURyTFEsdUJDcUxlLEdEckxmLFNBQVMsQ0FBSztJSjRDeEIsS0FBYSxFQURpQixHQUFzQixHSXpDM0M7RUNtTFAsQURyTFEsdUJDcUxlLEdEckxmLFNBQVMsQ0FBSztJSjRDeEIsS0FBYSxFQURpQixTQUFzQixHSXpDM0M7RUNtTFAsQURyTFEsdUJDcUxlLEdEckxmLFNBQVMsQ0FBSztJSjRDeEIsS0FBYSxFQURpQixTQUFzQixHSXpDM0M7RUNtTFAsQURyTFEsdUJDcUxlLEdEckxmLFNBQVMsQ0FBSztJSjRDeEIsS0FBYSxFQURpQixHQUFzQixHSXpDM0M7RUNtTFAsQURyTFEsdUJDcUxlLEdEckxmLFVBQVUsQ0FBSTtJSjRDeEIsS0FBYSxFQURpQixTQUFzQixHSXpDM0M7RUNtTFAsQURyTFEsdUJDcUxlLEdEckxmLFVBQVUsQ0FBSTtJSjRDeEIsS0FBYSxFQURpQixTQUFzQixHSXpDM0M7RUNtTFAsQURyTFEsdUJDcUxlLEdEckxmLFVBQVUsQ0FBSTtJSjRDeEIsS0FBYSxFQURpQixJQUFzQixHSXpDM0M7O0FwQjRIUCxNQUFNLENBQUMsTUFBTSxNQUFNLFNBQVMsRUFBRSxJQUFJO0VxQnVEbEMsQURyTFEsdUJDcUxlLEdEckxmLFFBQVEsQ0FBTTtJSjRDeEIsS0FBYSxFQURpQixRQUFzQixHSXpDM0M7RUNtTFAsQURyTFEsdUJDcUxlLEdEckxmLFFBQVEsQ0FBTTtJSjRDeEIsS0FBYSxFQURpQixTQUFzQixHSXpDM0M7RUNtTFAsQURyTFEsdUJDcUxlLEdEckxmLFFBQVEsQ0FBTTtJSjRDeEIsS0FBYSxFQURpQixHQUFzQixHSXpDM0M7RUNtTFAsQURyTFEsdUJDcUxlLEdEckxmLFFBQVEsQ0FBTTtJSjRDeEIsS0FBYSxFQURpQixTQUFzQixHSXpDM0M7RUNtTFAsQURyTFEsdUJDcUxlLEdEckxmLFFBQVEsQ0FBTTtJSjRDeEIsS0FBYSxFQURpQixTQUFzQixHSXpDM0M7RUNtTFAsQURyTFEsdUJDcUxlLEdEckxmLFFBQVEsQ0FBTTtJSjRDeEIsS0FBYSxFQURpQixHQUFzQixHSXpDM0M7RUNtTFAsQURyTFEsdUJDcUxlLEdEckxmLFFBQVEsQ0FBTTtJSjRDeEIsS0FBYSxFQURpQixTQUFzQixHSXpDM0M7RUNtTFAsQURyTFEsdUJDcUxlLEdEckxmLFFBQVEsQ0FBTTtJSjRDeEIsS0FBYSxFQURpQixTQUFzQixHSXpDM0M7RUNtTFAsQURyTFEsdUJDcUxlLEdEckxmLFFBQVEsQ0FBTTtJSjRDeEIsS0FBYSxFQURpQixHQUFzQixHSXpDM0M7RUNtTFAsQURyTFEsdUJDcUxlLEdEckxmLFNBQVMsQ0FBSztJSjRDeEIsS0FBYSxFQURpQixTQUFzQixHSXpDM0M7RUNtTFAsQURyTFEsdUJDcUxlLEdEckxmLFNBQVMsQ0FBSztJSjRDeEIsS0FBYSxFQURpQixTQUFzQixHSXpDM0M7RUNtTFAsQURyTFEsdUJDcUxlLEdEckxmLFNBQVMsQ0FBSztJSjRDeEIsS0FBYSxFQURpQixJQUFzQixHSXpDM0M7O0FwQjRIUCxNQUFNLENBQUMsTUFBTSxNQUFNLFNBQVMsRUFBRSxJQUFJO0VxQnVEbEMsQUQ1S1EsdUJDNEtlLEdENUtmLFNBQVMsQ0FBSztJSm1DeEIsS0FBYSxFQURpQixRQUFzQixHSWhDM0M7RUMwS1AsQUQ1S1EsdUJDNEtlLEdENUtmLFNBQVMsQ0FBSztJSm1DeEIsS0FBYSxFQURpQixTQUFzQixHSWhDM0M7RUMwS1AsQUQ1S1EsdUJDNEtlLEdENUtmLFNBQVMsQ0FBSztJSm1DeEIsS0FBYSxFQURpQixHQUFzQixHSWhDM0M7RUMwS1AsQUQ1S1EsdUJDNEtlLEdENUtmLFNBQVMsQ0FBSztJSm1DeEIsS0FBYSxFQURpQixTQUFzQixHSWhDM0M7RUMwS1AsQUQ1S1EsdUJDNEtlLEdENUtmLFNBQVMsQ0FBSztJSm1DeEIsS0FBYSxFQURpQixTQUFzQixHSWhDM0M7RUMwS1AsQUQ1S1EsdUJDNEtlLEdENUtmLFNBQVMsQ0FBSztJSm1DeEIsS0FBYSxFQURpQixHQUFzQixHSWhDM0M7RUMwS1AsQUQ1S1EsdUJDNEtlLEdENUtmLFNBQVMsQ0FBSztJSm1DeEIsS0FBYSxFQURpQixTQUFzQixHSWhDM0M7RUMwS1AsQUQ1S1EsdUJDNEtlLEdENUtmLFNBQVMsQ0FBSztJSm1DeEIsS0FBYSxFQURpQixTQUFzQixHSWhDM0M7RUMwS1AsQUQ1S1EsdUJDNEtlLEdENUtmLFNBQVMsQ0FBSztJSm1DeEIsS0FBYSxFQURpQixHQUFzQixHSWhDM0M7RUMwS1AsQUQ1S1EsdUJDNEtlLEdENUtmLFVBQVUsQ0FBSTtJSm1DeEIsS0FBYSxFQURpQixTQUFzQixHSWhDM0M7RUMwS1AsQUQ1S1EsdUJDNEtlLEdENUtmLFVBQVUsQ0FBSTtJSm1DeEIsS0FBYSxFQURpQixTQUFzQixHSWhDM0M7RUMwS1AsQUQ1S1EsdUJDNEtlLEdENUtmLFVBQVUsQ0FBSTtJSm1DeEIsS0FBYSxFQURpQixJQUFzQixHSWhDM0M7O0FwQm1IUCxNQUFNLENBQUMsTUFBTSxNQUFNLFNBQVMsRUFBRSxJQUFJO0VxQnVEbEMsQUQ1S1EsdUJDNEtlLEdENUtmLFVBQVUsQ0FBSTtJSm1DeEIsS0FBYSxFQURpQixRQUFzQixHSWhDM0M7RUMwS1AsQUQ1S1EsdUJDNEtlLEdENUtmLFVBQVUsQ0FBSTtJSm1DeEIsS0FBYSxFQURpQixTQUFzQixHSWhDM0M7RUMwS1AsQUQ1S1EsdUJDNEtlLEdENUtmLFVBQVUsQ0FBSTtJSm1DeEIsS0FBYSxFQURpQixHQUFzQixHSWhDM0M7RUMwS1AsQUQ1S1EsdUJDNEtlLEdENUtmLFVBQVUsQ0FBSTtJSm1DeEIsS0FBYSxFQURpQixTQUFzQixHSWhDM0M7RUMwS1AsQUQ1S1EsdUJDNEtlLEdENUtmLFVBQVUsQ0FBSTtJSm1DeEIsS0FBYSxFQURpQixTQUFzQixHSWhDM0M7RUMwS1AsQUQ1S1EsdUJDNEtlLEdENUtmLFVBQVUsQ0FBSTtJSm1DeEIsS0FBYSxFQURpQixHQUFzQixHSWhDM0M7RUMwS1AsQUQ1S1EsdUJDNEtlLEdENUtmLFVBQVUsQ0FBSTtJSm1DeEIsS0FBYSxFQURpQixTQUFzQixHSWhDM0M7RUMwS1AsQUQ1S1EsdUJDNEtlLEdENUtmLFVBQVUsQ0FBSTtJSm1DeEIsS0FBYSxFQURpQixTQUFzQixHSWhDM0M7RUMwS1AsQUQ1S1EsdUJDNEtlLEdENUtmLFVBQVUsQ0FBSTtJSm1DeEIsS0FBYSxFQURpQixHQUFzQixHSWhDM0M7RUMwS1AsQUQ1S1EsdUJDNEtlLEdENUtmLFdBQVcsQ0FBRztJSm1DeEIsS0FBYSxFQURpQixTQUFzQixHSWhDM0M7RUMwS1AsQUQ1S1EsdUJDNEtlLEdENUtmLFdBQVcsQ0FBRztJSm1DeEIsS0FBYSxFQURpQixTQUFzQixHSWhDM0M7RUMwS1AsQUQ1S1EsdUJDNEtlLEdENUtmLFdBQVcsQ0FBRztJSm1DeEIsS0FBYSxFQURpQixJQUFzQixHSWhDM0M7O0FwQm1IUCxNQUFNLENBQUMsTUFBTSxNQUFNLFNBQVMsRUFBRSxJQUFJO0VxQjZEbEMsQUFBQSx3QkFBd0IsQ0FBQztJRHRLdkIsWUFBZ0IsRUFBUyxDQUFDO0lBQTFCLFdBQWdCLEVBQVMsQ0FBQyxHQ3dLM0I7SUFGRCxBRG5LRSx3QkNtS3NCLEdEbkt0QixLQUFLLENBQVE7TUFFWCxhQUFpQixFQUFVLENBQUM7TUFBNUIsWUFBaUIsRUFBVSxDQUFDLEdBRS9COztBcEJrR0QsTUFBTSxDQUFDLE1BQU0sTUFBTSxTQUFTLEVBQUUsSUFBSTtFcUJ1RGxDLEFBQUEsd0JBQXdCLENBQUE7SUR2TXRCLFlBQWdCLEVBQVMsQ0FBQztJQUExQixXQUFnQixFQUFTLENBQUMsR0N5TTNCO0lBRkQsQURwTUUsd0JDb01zQixHRHBNdEIsS0FBSyxDQUFRO01BRVgsWUFBZ0IsRUFBUyxDQUFDO01BQTFCLFdBQWdCLEVBQVMsQ0FBQyxHQUU3Qjs7QXBCeUlELE1BQU0sQ0FBQyxNQUFNLE1BQU0sU0FBUyxFQUFFLElBQUk7RXFCdURsQyxBRHJMUSx3QkNxTGdCLEdEckxoQixRQUFRLENBQU07SUo0Q3hCLEtBQWEsRUFEaUIsUUFBc0IsR0l6QzNDO0VDbUxQLEFEckxRLHdCQ3FMZ0IsR0RyTGhCLFFBQVEsQ0FBTTtJSjRDeEIsS0FBYSxFQURpQixTQUFzQixHSXpDM0M7RUNtTFAsQURyTFEsd0JDcUxnQixHRHJMaEIsUUFBUSxDQUFNO0lKNEN4QixLQUFhLEVBRGlCLEdBQXNCLEdJekMzQztFQ21MUCxBRHJMUSx3QkNxTGdCLEdEckxoQixRQUFRLENBQU07SUo0Q3hCLEtBQWEsRUFEaUIsU0FBc0IsR0l6QzNDO0VDbUxQLEFEckxRLHdCQ3FMZ0IsR0RyTGhCLFFBQVEsQ0FBTTtJSjRDeEIsS0FBYSxFQURpQixTQUFzQixHSXpDM0M7RUNtTFAsQURyTFEsd0JDcUxnQixHRHJMaEIsUUFBUSxDQUFNO0lKNEN4QixLQUFhLEVBRGlCLEdBQXNCLEdJekMzQztFQ21MUCxBRHJMUSx3QkNxTGdCLEdEckxoQixRQUFRLENBQU07SUo0Q3hCLEtBQWEsRUFEaUIsU0FBc0IsR0l6QzNDO0VDbUxQLEFEckxRLHdCQ3FMZ0IsR0RyTGhCLFFBQVEsQ0FBTTtJSjRDeEIsS0FBYSxFQURpQixTQUFzQixHSXpDM0M7RUNtTFAsQURyTFEsd0JDcUxnQixHRHJMaEIsUUFBUSxDQUFNO0lKNEN4QixLQUFhLEVBRGlCLEdBQXNCLEdJekMzQztFQ21MUCxBRHJMUSx3QkNxTGdCLEdEckxoQixTQUFTLENBQUs7SUo0Q3hCLEtBQWEsRUFEaUIsU0FBc0IsR0l6QzNDO0VDbUxQLEFEckxRLHdCQ3FMZ0IsR0RyTGhCLFNBQVMsQ0FBSztJSjRDeEIsS0FBYSxFQURpQixTQUFzQixHSXpDM0M7RUNtTFAsQURyTFEsd0JDcUxnQixHRHJMaEIsU0FBUyxDQUFLO0lKNEN4QixLQUFhLEVBRGlCLElBQXNCLEdJekMzQzs7QXBCNEhQLE1BQU0sQ0FBQyxNQUFNLE1BQU0sU0FBUyxFQUFFLElBQUk7RXFCdURsQyxBRHJMUSx3QkNxTGdCLEdEckxoQixTQUFTLENBQUs7SUo0Q3hCLEtBQWEsRUFEaUIsUUFBc0IsR0l6QzNDO0VDbUxQLEFEckxRLHdCQ3FMZ0IsR0RyTGhCLFNBQVMsQ0FBSztJSjRDeEIsS0FBYSxFQURpQixTQUFzQixHSXpDM0M7RUNtTFAsQURyTFEsd0JDcUxnQixHRHJMaEIsU0FBUyxDQUFLO0lKNEN4QixLQUFhLEVBRGlCLEdBQXNCLEdJekMzQztFQ21MUCxBRHJMUSx3QkNxTGdCLEdEckxoQixTQUFTLENBQUs7SUo0Q3hCLEtBQWEsRUFEaUIsU0FBc0IsR0l6QzNDO0VDbUxQLEFEckxRLHdCQ3FMZ0IsR0RyTGhCLFNBQVMsQ0FBSztJSjRDeEIsS0FBYSxFQURpQixTQUFzQixHSXpDM0M7RUNtTFAsQURyTFEsd0JDcUxnQixHRHJMaEIsU0FBUyxDQUFLO0lKNEN4QixLQUFhLEVBRGlCLEdBQXNCLEdJekMzQztFQ21MUCxBRHJMUSx3QkNxTGdCLEdEckxoQixTQUFTLENBQUs7SUo0Q3hCLEtBQWEsRUFEaUIsU0FBc0IsR0l6QzNDO0VDbUxQLEFEckxRLHdCQ3FMZ0IsR0RyTGhCLFNBQVMsQ0FBSztJSjRDeEIsS0FBYSxFQURpQixTQUFzQixHSXpDM0M7RUNtTFAsQURyTFEsd0JDcUxnQixHRHJMaEIsU0FBUyxDQUFLO0lKNEN4QixLQUFhLEVBRGlCLEdBQXNCLEdJekMzQztFQ21MUCxBRHJMUSx3QkNxTGdCLEdEckxoQixVQUFVLENBQUk7SUo0Q3hCLEtBQWEsRUFEaUIsU0FBc0IsR0l6QzNDO0VDbUxQLEFEckxRLHdCQ3FMZ0IsR0RyTGhCLFVBQVUsQ0FBSTtJSjRDeEIsS0FBYSxFQURpQixTQUFzQixHSXpDM0M7RUNtTFAsQURyTFEsd0JDcUxnQixHRHJMaEIsVUFBVSxDQUFJO0lKNEN4QixLQUFhLEVBRGlCLElBQXNCLEdJekMzQzs7QXBCNEhQLE1BQU0sQ0FBQyxNQUFNLE1BQU0sU0FBUyxFQUFFLElBQUk7RXFCdURsQyxBRHJMUSx3QkNxTGdCLEdEckxoQixRQUFRLENBQU07SUo0Q3hCLEtBQWEsRUFEaUIsUUFBc0IsR0l6QzNDO0VDbUxQLEFEckxRLHdCQ3FMZ0IsR0RyTGhCLFFBQVEsQ0FBTTtJSjRDeEIsS0FBYSxFQURpQixTQUFzQixHSXpDM0M7RUNtTFAsQURyTFEsd0JDcUxnQixHRHJMaEIsUUFBUSxDQUFNO0lKNEN4QixLQUFhLEVBRGlCLEdBQXNCLEdJekMzQztFQ21MUCxBRHJMUSx3QkNxTGdCLEdEckxoQixRQUFRLENBQU07SUo0Q3hCLEtBQWEsRUFEaUIsU0FBc0IsR0l6QzNDO0VDbUxQLEFEckxRLHdCQ3FMZ0IsR0RyTGhCLFFBQVEsQ0FBTTtJSjRDeEIsS0FBYSxFQURpQixTQUFzQixHSXpDM0M7RUNtTFAsQURyTFEsd0JDcUxnQixHRHJMaEIsUUFBUSxDQUFNO0lKNEN4QixLQUFhLEVBRGlCLEdBQXNCLEdJekMzQztFQ21MUCxBRHJMUSx3QkNxTGdCLEdEckxoQixRQUFRLENBQU07SUo0Q3hCLEtBQWEsRUFEaUIsU0FBc0IsR0l6QzNDO0VDbUxQLEFEckxRLHdCQ3FMZ0IsR0RyTGhCLFFBQVEsQ0FBTTtJSjRDeEIsS0FBYSxFQURpQixTQUFzQixHSXpDM0M7RUNtTFAsQURyTFEsd0JDcUxnQixHRHJMaEIsUUFBUSxDQUFNO0lKNEN4QixLQUFhLEVBRGlCLEdBQXNCLEdJekMzQztFQ21MUCxBRHJMUSx3QkNxTGdCLEdEckxoQixTQUFTLENBQUs7SUo0Q3hCLEtBQWEsRUFEaUIsU0FBc0IsR0l6QzNDO0VDbUxQLEFEckxRLHdCQ3FMZ0IsR0RyTGhCLFNBQVMsQ0FBSztJSjRDeEIsS0FBYSxFQURpQixTQUFzQixHSXpDM0M7RUNtTFAsQURyTFEsd0JDcUxnQixHRHJMaEIsU0FBUyxDQUFLO0lKNEN4QixLQUFhLEVBRGlCLElBQXNCLEdJekMzQzs7QXBCNEhQLE1BQU0sQ0FBQyxNQUFNLE1BQU0sU0FBUyxFQUFFLElBQUk7RXFCdURsQyxBRHJMUSx3QkNxTGdCLEdEckxoQixTQUFTLENBQUs7SUo0Q3hCLEtBQWEsRUFEaUIsUUFBc0IsR0l6QzNDO0VDbUxQLEFEckxRLHdCQ3FMZ0IsR0RyTGhCLFNBQVMsQ0FBSztJSjRDeEIsS0FBYSxFQURpQixTQUFzQixHSXpDM0M7RUNtTFAsQURyTFEsd0JDcUxnQixHRHJMaEIsU0FBUyxDQUFLO0lKNEN4QixLQUFhLEVBRGlCLEdBQXNCLEdJekMzQztFQ21MUCxBRHJMUSx3QkNxTGdCLEdEckxoQixTQUFTLENBQUs7SUo0Q3hCLEtBQWEsRUFEaUIsU0FBc0IsR0l6QzNDO0VDbUxQLEFEckxRLHdCQ3FMZ0IsR0RyTGhCLFNBQVMsQ0FBSztJSjRDeEIsS0FBYSxFQURpQixTQUFzQixHSXpDM0M7RUNtTFAsQURyTFEsd0JDcUxnQixHRHJMaEIsU0FBUyxDQUFLO0lKNEN4QixLQUFhLEVBRGlCLEdBQXNCLEdJekMzQztFQ21MUCxBRHJMUSx3QkNxTGdCLEdEckxoQixTQUFTLENBQUs7SUo0Q3hCLEtBQWEsRUFEaUIsU0FBc0IsR0l6QzNDO0VDbUxQLEFEckxRLHdCQ3FMZ0IsR0RyTGhCLFNBQVMsQ0FBSztJSjRDeEIsS0FBYSxFQURpQixTQUFzQixHSXpDM0M7RUNtTFAsQURyTFEsd0JDcUxnQixHRHJMaEIsU0FBUyxDQUFLO0lKNEN4QixLQUFhLEVBRGlCLEdBQXNCLEdJekMzQztFQ21MUCxBRHJMUSx3QkNxTGdCLEdEckxoQixVQUFVLENBQUk7SUo0Q3hCLEtBQWEsRUFEaUIsU0FBc0IsR0l6QzNDO0VDbUxQLEFEckxRLHdCQ3FMZ0IsR0RyTGhCLFVBQVUsQ0FBSTtJSjRDeEIsS0FBYSxFQURpQixTQUFzQixHSXpDM0M7RUNtTFAsQURyTFEsd0JDcUxnQixHRHJMaEIsVUFBVSxDQUFJO0lKNEN4QixLQUFhLEVBRGlCLElBQXNCLEdJekMzQzs7QXBCNEhQLE1BQU0sQ0FBQyxNQUFNLE1BQU0sU0FBUyxFQUFFLElBQUk7RXFCdURsQyxBRDVLUSx3QkM0S2dCLEdENUtoQixVQUFVLENBQUk7SUptQ3hCLEtBQWEsRUFEaUIsUUFBc0IsR0loQzNDO0VDMEtQLEFENUtRLHdCQzRLZ0IsR0Q1S2hCLFVBQVUsQ0FBSTtJSm1DeEIsS0FBYSxFQURpQixTQUFzQixHSWhDM0M7RUMwS1As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LENBQUM7RUFDbkIsZ0JBQWdCLEVoSnhHQSxPQUFPLEdnSnlHdkI7O0FBQ0QsQUFBQSxnQkFBZ0IsQ0FBQztFQUNoQixLQUFLLEVoSnhHVyxPQUFPLEdnSnlHdkI7O0FBQ0QsQUFBQSxtQkFBbUIsQ0FBQztFQUNuQixnQkFBZ0IsRWhKM0dBLE9BQU8sR2dKNEd2Qjs7QUFDRCxBQUFBLGdCQUFnQixDQUFDO0VBQ2hCLEtBQUssRWhKN0dXLE9BQU8sR2dKOEd2Qjs7QUFDRCxBQUFBLG1CQUFtQixDQUFDO0VBQ25CLGdCQUFnQixFaEpoSEEsT0FBTyxHZ0ppSHZCOztBQUNELEFBQUEsZ0JBQWdCLENBQUM7RUFDaEIsS0FBSyxFaEpsSFcsT0FBTyxHZ0ptSHZCOztBQUNELEFBQUEsbUJBQW1CLENBQUM7RUFDbkIsZ0JBQWdCLEVoSnJIQSxPQUFPLEdnSnNIdkI7O0FBQ0QsQUFBQSxnQkFBZ0IsQ0FBQztFQUNoQixLQUFLLEVoSnZIVyxPQUFPLEdnSndIdkI7O0FBQ0QsQUFBQSxtQkFBbUIsQ0FBQztFQUNuQixnQkFBZ0IsRWhKMUhBLE9BQU8sR2dKMkh2Qjs7QUFDRCxBQUFBLGdCQUFnQixDQUFDO0VBQ2hCLEtBQUssRWhKNUhXLE9BQU8sR2dKNkh2Qjs7QUFDRCxBQUFBLG1CQUFtQixDQUFDO0VBQ25CLGdCQUFnQixFaEovSEEsT0FBTyxHZ0pnSXZCOztBQUNELEFBQUEsZ0JBQWdCLENBQUM7RUFDaEIsS0FBSyxFaEpqSVcsT0FBTyxHZ0prSXZCOztBQUNELEFBQUEsbUJBQW1CLENBQUM7RUFDbkIsZ0JBQWdCLEVoSnBJQSxPQUFPLEdnSnFJdkI7O0FBQ0QsQUFBQSxnQkFBZ0IsQ0FBQztFQUNoQixLQUFLLEVoSnRJVyxPQUFPLEdnSnVJdkI7O0FBQ0QsQUFBQSxtQkFBbUIsQ0FBQztFQUNuQixnQkFBZ0IsRWhKeklBLE9BQU8sR2dKMEl2Qjs7QUFDRCxBQUFBLGdCQUFnQixDQUFDO0VBQ2hCLEtBQUssRWhKM0lXLE9BQU8sR2dKNEl2Qjs7QUFDRCxBQUFBLG1CQUFtQixDQUFDO0VBQ25CLGdCQUFnQixF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 */
