/**
 * Toolkit styles index
 */
/*
  VARIABLES
*/
/*
  ------------------------------------------------------------------------------
  COLOR
  ------------------------------------------------------------------------------
*/
/*
  ------------------------------------------------------------------------------
  LAYOUT
  ------------------------------------------------------------------------------
*/
/*
  ------------------------------------------------------------------------------
  TYPOGRAPHY
  ------------------------------------------------------------------------------
*/
/*
  ------------------------------------------------------------------------------
  BREAKPOINTS
  Ideally be in -min/-max pairs, with -min being 1px larger than its predecessor
  ------------------------------------------------------------------------------
*/
/*
  HELPERS: BREAKPOINTS
  Based on https://jakearchibald.github.io/sass-ie/
*/
/*
  HELPER: LAYOUT
*/
/*
  HELPERS: TYPOGRAPHY
*/
/**
  HELPERS: MISC
  Helper functions and mixins
**/
/*** FUNCTIONS ***/
/*** MIXINS ***/
/*! normalize.css v4.1.1 | MIT License | github.com/necolas/normalize.css */
/**
 * 1. Change the default font family in all browsers (opinionated).
 * 2. Prevent adjustments of font size after orientation changes in IE and iOS.
 */
html {
  font-family: sans-serif;
  /* 1 */
  -ms-text-size-adjust: 100%;
  /* 2 */
  -webkit-text-size-adjust: 100%;
  /* 2 */ }

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

/* HTML5 display definitions
   ========================================================================== */
/**
 * Add the correct display in IE 9-.
 * 1. Add the correct display in Edge, IE, and Firefox.
 * 2. Add the correct display in IE.
 */
article,
aside,
details,
figcaption,
figure,
footer,
header,
main,
menu,
nav,
section,
summary {
  /* 1 */
  display: block; }

/**
 * Add the correct display in IE 9-.
 */
audio,
canvas,
progress,
video {
  display: inline-block; }

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

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

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

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

/**
 * Add the correct font style in Android 4.3-.
 */
dfn {
  font-style: italic; }

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

/**
 * 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
   ========================================================================== */
/**
 * Remove the border on images inside links in IE 10-.
 */
img {
  border-style: none; }

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

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

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

/* Forms
   ========================================================================== */
/**
 * 1. Change font properties to `inherit` in all browsers (opinionated).
 * 2. Remove the margin in Firefox and Safari.
 */
button,
input,
select,
textarea {
  font: inherit;
  /* 1 */
  margin: 0;
  /* 2 */ }

/**
 * Restore the font weight unset by the previous rule.
 */
optgroup {
  font-weight: bold; }

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

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

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

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

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

/**
 * 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 */
  color: inherit;
  /* 2 */
  display: table;
  /* 1 */
  max-width: 100%;
  /* 1 */
  padding: 0;
  /* 3 */
  white-space: normal;
  /* 1 */ }

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

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

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

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

/**
 * Remove the inner padding and cancel buttons in Chrome and Safari on OS X.
 */
[type="search"]::-webkit-search-cancel-button,
[type="search"]::-webkit-search-decoration {
  -webkit-appearance: none; }

/**
 * Correct the text style of placeholders in Chrome, Edge, and Safari.
 */
::-webkit-input-placeholder {
  color: inherit;
  opacity: 0.54; }

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

/*
  CORE: BUTTONS
  Button styles for both button links and form buttons
*/
button {
  border: 0;
  padding: 0;
  display: inline;
  background: none;
  -webkit-appearance: none;
  cursor: pointer;
  color: inherit;
  text-decoration: none;
  border-bottom: 1px solid #2ea393;
  line-height: normal;
  letter-spacing: inherit; }
  button:hover {
    border-bottom-style: dotted; }

.btn {
  color: inherit;
  border-bottom: inherit;
  text-decoration: none;
  cursor: pointer;
  display: inline-block;
  background: transparent;
  line-height: inherit;
  color: inherit;
  font-family: "Oswald", sans-serif;
  text-transform: uppercase;
  font-weight: normal;
  line-height: 1.6;
  font-size: 16px;
  font-size: 1rem;
  vertical-align: middle;
  text-align: center;
  border-width: 2px !important;
  border-style: solid !important;
  border-color: #2ea393;
  padding: 12px 40px;
  position: relative;
  overflow: hidden;
  transition: color 0.3s;
  max-width: 100%;
  min-width: 175px; }
  .btn span {
    position: relative;
    z-index: 10;
    border: 0; }
  .btn:after {
    content: '';
    position: absolute;
    transition: all 0.3s;
    top: 50%;
    left: 50%;
    height: 20px;
    width: 20px;
    margin-top: -10px;
    margin-left: -10px;
    background: #2ea393;
    border-radius: 50%;
    opacity: 0;
    transition: transform 0.3s, opacity 0.3s; }
    .lte-ie8 .btn:after {
      display: none !important; }
  .btn:hover, .btn:focus {
    color: #fff !important; }
    .btn:hover:after, .btn:focus:after {
      opacity: 1;
      transform: scale(20);
      transition: transform 0.5s, opacity 0.1s; }

.btn--fluid {
  min-width: 0;
  width: 100%;
  max-width: 175px; }

.btn--wide {
  max-width: 370px;
  width: 100%;
  min-width: 0; }

.btn--primary {
  color: #fff !important;
  background: #2ea393; }
  .btn--primary:after {
    background: #fff; }
  .btn--primary:hover, .btn--primary:focus {
    color: #363636 !important; }

.btn--invert, .clr-teal .btn {
  color: #fff;
  border-color: #fff; }
  .btn--invert:after, .clr-teal .btn:after {
    background: #fff; }
  .btn--invert:hover, .clr-teal .btn:hover, .btn--invert:focus, .clr-teal .btn:focus {
    color: #363636 !important; }

.btn--text-invert, .clr-grey-dark .btn, .hero__content .btn, .overlays__item__content .btn,
.clr-black .btn,
.clr-black-alpha .btn {
  color: #fff; }

/*
  CORE: COLOR
  For colouring background/foreground in modules
  Can either add colour helper class to wrapping element, @extend the classes or use the clr_helper() mixin.
*/
.clr-teal {
  background-color: #2ea393;
  color: #fff; }
  .clr-teal h1, .clr-teal h2, .clr-teal h3, .clr-teal h4, .clr-teal h5 {
    color: #fff; }
  .clr-teal a {
    color: #fff;
    text-decoration: none;
    border-bottom: 1px solid #fff; }
    .clr-teal a:hover {
      border-bottom-style: dotted; }

.clr-yellow {
  background-color: #ffd141;
  color: #363636; }
  .clr-yellow h1, .clr-yellow h2, .clr-yellow h3, .clr-yellow h4, .clr-yellow h5 {
    color: #d14414; }
  .clr-yellow a {
    color: #363636;
    text-decoration: none;
    border-bottom: 1px solid #2ea393; }
    .clr-yellow a:hover {
      border-bottom-style: dotted; }

.clr-purple {
  background-color: #a54398;
  color: #fff; }
  .clr-purple h1, .clr-purple h2, .clr-purple h3, .clr-purple h4, .clr-purple h5 {
    color: #fff; }
  .clr-purple a {
    color: #fff;
    text-decoration: none;
    border-bottom: 1px solid #fff; }
    .clr-purple a:hover {
      border-bottom-style: dotted; }

.clr-grey-dark, .hero__content, .hero--half .hero__content, .overlays__item__content {
  background-color: #363636;
  color: #fff; }
  .clr-grey-dark h1, .hero__content h1, .hero--half .hero__content h1, .overlays__item__content h1, .clr-grey-dark h2, .hero__content h2, .hero--half .hero__content h2, .overlays__item__content h2, .clr-grey-dark h3, .hero__content h3, .hero--half .hero__content h3, .overlays__item__content h3, .clr-grey-dark h4, .hero__content h4, .hero--half .hero__content h4, .overlays__item__content h4, .clr-grey-dark h5, .hero__content h5, .hero--half .hero__content h5, .overlays__item__content h5 {
    color: #fff; }
  .clr-grey-dark a, .hero__content a, .hero--half .hero__content a, .overlays__item__content a {
    color: #fff;
    text-decoration: none;
    border-bottom: 1px solid #2ea393; }
    .clr-grey-dark a:hover, .hero__content a:hover, .overlays__item__content a:hover {
      border-bottom-style: dotted; }

.clr-grey-light {
  background-color: #ebebeb;
  color: #363636; }
  .clr-grey-light h1, .clr-grey-light h2, .clr-grey-light h3, .clr-grey-light h4, .clr-grey-light h5 {
    color: #d14414; }
  .clr-grey-light a {
    color: #363636;
    text-decoration: none;
    border-bottom: 1px solid #2ea393; }
    .clr-grey-light a:hover {
      border-bottom-style: dotted; }

.clr-black {
  background-color: #000;
  color: #fff; }
  .clr-black h1, .clr-black h2, .clr-black h3, .clr-black h4, .clr-black h5 {
    color: #fff; }
  .clr-black a {
    color: #fff;
    text-decoration: none;
    border-bottom: 1px solid #2ea393; }
    .clr-black a:hover {
      border-bottom-style: dotted; }

.clr-white, .donate, .hero--invert .hero__content, .hero--half.hero--invert .hero__content {
  background-color: #fff;
  color: #363636; }
  .clr-white h1, .donate h1, .hero--invert .hero__content h1, .hero--half.hero--invert .hero__content h1, .clr-white h2, .donate h2, .hero--invert .hero__content h2, .hero--half.hero--invert .hero__content h2, .clr-white h3, .donate h3, .hero--invert .hero__content h3, .hero--half.hero--invert .hero__content h3, .clr-white h4, .donate h4, .hero--invert .hero__content h4, .hero--half.hero--invert .hero__content h4, .clr-white h5, .donate h5, .hero--invert .hero__content h5, .hero--half.hero--invert .hero__content h5 {
    color: #d14414; }
  .clr-white a, .donate a, .hero--invert .hero__content a, .hero--half.hero--invert .hero__content a {
    color: #363636;
    text-decoration: none;
    border-bottom: 1px solid #2ea393; }
    .clr-white a:hover, .donate a:hover, .hero--invert .hero__content a:hover {
      border-bottom-style: dotted; }

.orange, b {
  color: #d14414; }

/*
  CORE: FORMS
*/
form {
  margin: 0; }

.form--standard {
  max-width: 920px;
  margin-left: auto;
  margin-right: auto;
  margin-top: 25px;
  margin-bottom: 25px; }
  @media screen and (min-width: 768px) {
    .form--standard {
      margin-top: 50px; } }
  @media screen and (min-width: 768px) {
    .form--standard {
      margin-bottom: 50px; } }
  .form--standard:first-child {
    margin-top: 0; }
  .form--standard:last-child {
    margin-bottom: 0; }

@media screen and (min-width: 640px) {
  .form--inline {
    display: -ms-flexbox;
    display: flex;
    width: 100%; } }

.form--tight {
  position: relative; }

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

legend {
  font-family: "Oswald", sans-serif;
  text-transform: uppercase;
  font-weight: normal;
  line-height: 1.6;
  font-size: 16px;
  font-size: 1rem;
  display: inline-block;
  margin: 0;
  width: 100%; }
  @media screen and (min-width: 640px) {
    legend {
      font-size: 18px;
      font-size: 1.125rem; } }

input[type="text"],
input[type="email"],
input[type="tel"],
input[type="password"],
input[type="number"],
input[type="search"],
input[type="file"],
textarea,
select {
  font-family: "Oswald", sans-serif;
  text-transform: uppercase;
  font-weight: normal;
  line-height: 1.6;
  font-size: 16px;
  font-size: 1rem;
  display: block;
  border-radius: 0;
  width: 100%;
  background: #fff;
  border: 1px solid #ebebeb;
  text-transform: none;
  padding: 10px;
  color: #363636; }
  @media screen and (min-width: 640px) {
    input[type="text"],
    input[type="email"],
    input[type="tel"],
    input[type="password"],
    input[type="number"],
    input[type="search"],
    input[type="file"],
    textarea,
    select {
      font-size: 20px;
      font-size: 1.25rem; } }
  input[type="text"]:-ms-input-placeholder,
  input[type="email"]:-ms-input-placeholder,
  input[type="tel"]:-ms-input-placeholder,
  input[type="password"]:-ms-input-placeholder,
  input[type="number"]:-ms-input-placeholder,
  input[type="search"]:-ms-input-placeholder,
  input[type="file"]:-ms-input-placeholder,
  textarea:-ms-input-placeholder,
  select:-ms-input-placeholder {
    opacity: 1;
    text-transform: uppercase; }
  input[type="text"]::-webkit-input-placeholder,
  input[type="email"]::-webkit-input-placeholder,
  input[type="tel"]::-webkit-input-placeholder,
  input[type="password"]::-webkit-input-placeholder,
  input[type="number"]::-webkit-input-placeholder,
  input[type="search"]::-webkit-input-placeholder,
  input[type="file"]::-webkit-input-placeholder,
  textarea::-webkit-input-placeholder,
  select::-webkit-input-placeholder {
    opacity: 1;
    text-transform: uppercase; }
  input[type="text"]::placeholder,
  input[type="email"]::placeholder,
  input[type="tel"]::placeholder,
  input[type="password"]::placeholder,
  input[type="number"]::placeholder,
  input[type="search"]::placeholder,
  input[type="file"]::placeholder,
  textarea::placeholder,
  select::placeholder {
    opacity: 1;
    text-transform: uppercase; }
  input[type="text"]:focus,
  input[type="email"]:focus,
  input[type="tel"]:focus,
  input[type="password"]:focus,
  input[type="number"]:focus,
  input[type="search"]:focus,
  input[type="file"]:focus,
  textarea:focus,
  select:focus {
    outline: 0;
    border-color: #b8b8b8;
    box-shadow: 0 0 0 3px #b8b8b8;
    position: relative;
    z-index: 100; }
  input[type="text"].error, input[type="text"].input-validation-error,
  input[type="email"].error,
  input[type="email"].input-validation-error,
  input[type="tel"].error,
  input[type="tel"].input-validation-error,
  input[type="password"].error,
  input[type="password"].input-validation-error,
  input[type="number"].error,
  input[type="number"].input-validation-error,
  input[type="search"].error,
  input[type="search"].input-validation-error,
  input[type="file"].error,
  input[type="file"].input-validation-error,
  textarea.error,
  textarea.input-validation-error,
  select.error,
  select.input-validation-error {
    border-color: #bb29bb;
    color: #bb29bb; }
  .field--full input[type="text"], .field--full
  input[type="email"], .field--full
  input[type="tel"], .field--full
  input[type="password"], .field--full
  input[type="number"], .field--full
  input[type="search"], .field--full
  input[type="file"], .field--full
  textarea, .field--full
  select {
    max-width: none; }

textarea {
  max-width: 100%;
  min-height: 100px; }

select {
  width: 100%;
  max-width: 440px;
  box-shadow: none;
  background-image: url(../images/bg-chevron-down.png);
  background-position: right 15px top 53%;
  background-repeat: no-repeat;
  background-size: 20px;
  padding-right: 50px;
  white-space: nowrap;
  word-wrap: normal;
  overflow: hidden;
  text-overflow: ellipsis;
  -webkit-appearance: none;
  -moz-appearance: none; }
  select::-ms-expand {
    display: none; }

input[type="checkbox"],
input[type="radio"] {
  position: absolute;
  left: -9999em;
  top: auto;
  width: 1px;
  height: 1px;
  overflow: hidden; }
  input[type="checkbox"] + .field__label,
  input[type="radio"] + .field__label {
    position: static;
    left: auto;
    width: auto;
    height: auto;
    overflow: visible;
    margin: 0;
    position: relative; }
    input[type="checkbox"] + .field__label:after,
    input[type="radio"] + .field__label:after {
      content: "";
      position: absolute;
      left: -35px;
      top: 4px;
      display: inline-block;
      border: 2px solid #2ea393;
      width: 15px;
      height: 15px; }
  input[type="checkbox"]:focus + .field__label:after,
  input[type="radio"]:focus + .field__label:after {
    box-shadow: 0 0 0 3px #b8b8b8; }
  input[type="checkbox"]:checked + .field__label:after,
  input[type="radio"]:checked + .field__label:after {
    background-color: #2ea393; }

input[type="radio"] + .field__label:after {
  border-radius: 50%; }

input[type="checkbox"]:checked + .field__label:before {
  content: "";
  position: absolute;
  top: 4px;
  left: -34.5px;
  color: #fff;
  font-size: 18px;
  font-size: 1.125rem;
  z-index: 10; }

input[type="file"] {
  max-width: 440px; }

.field {
  margin: 1em 0; }
  @media screen and (min-width: 640px) {
    .form--inline .field {
      -ms-flex: 1;
      flex: 1;
      margin: 0; } }
  .form--tight .field {
    margin: 0;
    width: 100%; }
  .field--sml {
    max-width: 200px; }
  .field--med {
    max-width: 440px; }
  .field--lrg {
    max-width: 680px; }

.field--boolean {
  margin: 1.4em 0;
  padding-left: 35px; }
  .form__group--booleans .field--boolean {
    margin: 0.6em 0 0; }

.field__prefixed {
  position: relative; }
  .field__prefixed input {
    padding-left: 30px; }

.field__prefixed__prefix {
  font-family: "Oswald", sans-serif;
  text-transform: uppercase;
  font-weight: normal;
  line-height: 1.6;
  font-size: 20px;
  font-size: 1.25rem;
  color: #d14414;
  position: absolute;
  top: 8px;
  left: 12px;
  z-index: 10; }
  @media screen and (min-width: 640px) {
    .field__prefixed__prefix {
      font-size: 24px;
      font-size: 1.5rem; } }

@media screen and (min-width: 640px) {
  .field__suffixed {
    display: -ms-flexbox;
    display: flex; } }

@media screen and (min-width: 640px) {
  .field__suffixed input {
    -ms-flex: 1;
    flex: 1; } }

.field__suffixed__suffix {
  font-family: "Oswald", sans-serif;
  text-transform: uppercase;
  font-weight: normal;
  line-height: 1.6;
  font-size: 20px;
  font-size: 1.25rem;
  color: #d14414;
  margin-top: 8px; }
  @media screen and (min-width: 640px) {
    .field__suffixed__suffix {
      font-size: 24px;
      font-size: 1.5rem; } }
  @media screen and (min-width: 640px) {
    .field__suffixed__suffix {
      display: inline-block;
      margin-left: 15px; } }

.field__label {
  position: absolute;
  left: -9999em;
  top: auto;
  width: 1px;
  height: 1px;
  overflow: hidden;
  font-family: "Oswald", sans-serif;
  text-transform: uppercase;
  font-weight: normal;
  line-height: 1.6;
  font-size: 16px;
  font-size: 1rem;
  display: inline-block;
  margin-bottom: 0.2em;
  cursor: pointer;
  text-transform: none; }
  @media screen and (min-width: 640px) {
    .field__label {
      font-size: 18px;
      font-size: 1.125rem; } }
  .field--boolean .field__label {
    position: static;
    left: auto;
    width: auto;
    height: auto;
    overflow: visible; }

.field__note, label.error,
span.error {
  display: block;
  color: #555;
  font-size: 14px;
  font-size: 0.875rem;
  margin-top: 0.2em; }

label.error,
span.error {
  position: static;
  left: auto;
  width: auto;
  height: auto;
  overflow: visible;
  color: #bb29bb; }

.form__group {
  margin: 1.8em 0; }

.field__required {
  color: #bb29bb;
  font-weight: bold; }
  .field__required i {
    position: absolute;
    left: -9999em;
    top: auto;
    width: 1px;
    height: 1px;
    overflow: hidden; }

.form__section {
  margin-top: 25px;
  margin-bottom: 25px; }
  @media screen and (min-width: 768px) {
    .form__section {
      margin-top: 50px; } }
  @media screen and (min-width: 768px) {
    .form__section {
      margin-bottom: 50px; } }

.field-group {
  text-align: center;
  word-spacing: -4px;
  margin-left: -20px;
  text-align: left; }
  @media screen and (min-width: 768px) {
    .field-group {
      margin-left: -40px; } }

.field-group__item {
  display: inline-block;
  word-spacing: normal;
  vertical-align: top;
  padding-left: 20px;
  width: 100%;
  width: 100%;
  text-align: left; }
  @media screen and (min-width: 768px) {
    .field-group__item {
      padding-left: 40px; } }
  .field-group__item--half {
    width: 50%; }
  .field-group__item--third {
    width: 33.3334%; }
  .field-group__item--fourth {
    width: 25%; }
  .field-group__item--separator, .field-group__item--dash {
    position: relative; }
    .field-group__item--separator:before, .field-group__item--dash:before {
      position: absolute;
      top: 25px;
      left: 16px;
      font-weight: bold;
      color: #dbdbdb;
      font-size: 24px;
      font-size: 1.5rem;
      display: none; }
      @media screen and (min-width: 768px) {
        .field-group__item--separator:before, .field-group__item--dash:before {
          display: block; } }
  .field-group__item--separator:before {
    content: "/"; }
  .field-group__item--dash:before {
    content: "-"; }

.form__section__title {
  text-align: center; }

.validation-summary-valid {
  display: none; }

.form__errors,
.validation-summary-errors {
  display: block;
  margin: 2em 0;
  padding: 10px 20px;
  border-left: 8px solid #bb29bb; }
  .form__errors--show,
  .validation-summary-errors--show {
    display: block; }
  .form__errors *:first-child,
  .validation-summary-errors *:first-child {
    margin-top: 0; }
  .form__errors *:last-child,
  .validation-summary-errors *:last-child {
    margin-bottom: 0; }
  .form__errors span,
  .validation-summary-errors span {
    color: #bb29bb; }

.form__errors__lead {
  color: #bb29bb; }

.form__errors__list,
.validation-summary-errors ul {
  margin: 0; }
  .form__errors__list li,
  .validation-summary-errors ul li {
    margin: 0.2em 0;
    font-size: 14px;
    font-size: 0.875rem; }
    @media screen and (min-width: 768px) {
      .form__errors__list li,
      .validation-summary-errors ul li {
        font-size: 16px;
        font-size: 1rem; } }

.form__action {
  margin-top: 2.5em;
  text-align: center; }
  .form__action:before, .form__action:after {
    content: "";
    display: table; }
  .form__action:after {
    clear: both; }
  .form--inline .form__action {
    margin: 0 0 0 20px; }
  .form__action--small {
    margin-top: 2em; }

.form__action__back {
  padding-top: 10px; }
  @media screen and (min-width: 640px) {
    .form__action__back {
      float: left; } }

@media screen and (min-width: 640px) {
  .form__action__forward {
    float: right; } }

.form--singlet {
  position: relative; }

.form--singlet__field {
  width: 100%; }

.form--singlet__input {
  width: 100%;
  padding-right: 55px !important; }

.form--singlet__action {
  position: absolute;
  top: 0;
  right: 0;
  height: 100%;
  z-index: 150; }

.form--singlet__button {
  color: inherit;
  border-bottom: inherit;
  border-bottom: 0;
  width: 54px;
  height: 100%; }
  .form--singlet__button i, .form--singlet__button:before {
    font-size: 30px;
    font-size: 1.875rem; }

.js [data-field-toggle-id-state="inactive"] {
  display: none; }

/*
  CORE
*/
html {
  -webkit-text-size-adjust: 100%;
  font-size: 1em; }

body {
  word-wrap: break-word;
  background: #fff;
  color: #363636; }

* {
  box-sizing: border-box; }

iframe {
  border: 0;
  max-width: 100%; }

.is-hidden {
  display: none; }

.accessible-hide {
  position: absolute;
  left: -9999em;
  top: auto;
  width: 1px;
  height: 1px;
  overflow: hidden; }

/*
  CORE: ICONS
  Generated from icomoon.io, see ../fonts/icons/Read Me.txt for more
*/
@font-face {
  font-family: 'icomoon';
  src: url("../fonts/icons/icomoon.eot?f75l0h");
  src: url("../fonts/icons/icomoon.eot?f75l0h#iefix") format("embedded-opentype"), url("../fonts/icons/icomoon.ttf?f75l0h") format("truetype"), url("../fonts/icons/icomoon.woff?f75l0h") format("woff"), url("../fonts/icons/icomoon.svg?f75l0h#icomoon") format("svg");
  font-weight: normal;
  font-style: normal; }

[class^="icon-"], [class*=" icon-"],
.icon,
input[type="checkbox"]:checked + .field__label:before,
.accordion__item__trigger:before,
.nav__toggle:before,
.nav__list__anchor:before,
.nav__list__toggle,
.nav__sub__close,
.quote:before {
  /* use !important to prevent issues with browser extensions that change fonts */
  font-family: 'icomoon' !important;
  speak: none;
  font-style: normal;
  font-weight: normal;
  font-variant: normal;
  text-transform: none;
  line-height: 1;
  /* Better Font Rendering =========== */
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale; }

.icon-hide-text {
  position: absolute;
  left: -9999em;
  top: auto;
  width: 1px;
  height: 1px;
  overflow: hidden; }

.icon-basket:before {
  content: "\e910"; }

.icon-ecard:before {
  content: "\e90e"; }

.icon-postcard:before {
  content: "\e90f"; }

.icon-menu:before, .nav__toggle:before {
  content: "\e90c"; }

.icon-cross:before, [data-nav-state="active"] .nav__toggle:before, .nav__sub__close:before {
  content: "\e90d"; }

.icon-check:before, input[type="checkbox"]:checked + .field__label:before {
  content: "\e90b"; }

.icon-down:before, .accordion__item__trigger:before, .nav__list__anchor:before, .nav__list__toggle:before {
  content: "\e900"; }

.icon-download:before {
  content: "\e901"; }

.icon-facebook:before {
  content: "\e902"; }

.icon-google:before {
  content: "\e903"; }

.icon-mail:before {
  content: "\e904"; }

.icon-pin:before {
  content: "\e905"; }

.icon-pintrest:before {
  content: "\e906"; }

.icon-quote:before, .quote:before {
  content: "\e907"; }

.icon-search:before {
  content: "\e908"; }

.icon-twitter:before {
  content: "\e909"; }

.icon-up:before, .accordion__item__trigger[data-accordion-nav-item="active"]:before, [data-nav-sub-state="active"] .nav__list__toggle:before {
  content: "\e90a"; }

/*
  CORE: LAYOUT + GRID
*/
.layout {
  max-width: 1400px;
  margin-left: auto;
  margin-right: auto; }

.layout--guttered {
  padding-left: 20px;
  padding-right: 20px; }

.layout--full {
  max-width: none; }

.layout--reduced {
  max-width: 1160px; }

.layout--thin {
  max-width: 920px; }

.layout--tight {
  max-width: 680px; }

/*
  CORE: MEDIA
*/
img {
  display: inline-block;
  max-width: 100%;
  height: auto;
  vertical-align: middle; }

figure {
  margin: 1.2em 0; }
  figure figcaption {
    margin-top: 0.5em;
    font-style: italic; }

video {
  max-width: 100%;
  height: auto; }

.image-left {
  display: block;
  margin: 0 auto 40px; }
  @media screen and (min-width: 640px) {
    .image-left {
      float: left;
      margin-right: 40px; } }

.image-right {
  display: block;
  margin: 0 auto 40px; }
  @media screen and (min-width: 640px) {
    .image-right {
      float: right;
      margin-left: 40px; } }

/*
  CORE: PRINT
  Basic print stylesheet via H5BP
*/
@media print {
  * {
    background: transparent !important;
    color: #000 !important;
    box-shadow: none !important;
    text-shadow: none !important; }
  a,
  a:visited {
    text-decoration: underline; }
  a[href]:after {
    content: "(" attr(href) ")"; }
  abbr[title]:after {
    content: "(" attr(title) ")"; }
  .ir a:after,
  a[href^="javascript:"]:after,
  a[href^="#"]:after {
    content: ""; }
  pre,
  blockquote {
    border: 1px solid #999;
    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; } }

/*
  CORE: TYPOGRAPHY
*/
body {
  font-family: "Lato", sans-serif;
  font-weight: normal;
  line-height: 1.6;
  text-shadow: 1px 1px 1px rgba(0, 0, 0, 0.004);
  text-rendering: optimizeLegibility;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  letter-spacing: 0.5px;
  font-size: 16px;
  font-size: 1rem; }
  @media screen and (min-width: 768px) {
    body {
      font-size: 18px;
      font-size: 1.125rem; } }

h1, h2, h3, h4, h5,
.h1,
.h-primary, .h2, .h3, .h4, .cta-inline__title, .donate__or, .pager__item__text, .h5 {
  font-family: "Oswald", sans-serif;
  text-transform: uppercase;
  font-weight: normal;
  line-height: 1.6;
  color: #d14414;
  margin: 1.2em 0;
  letter-spacing: 0.25px; }

h1, .h1, .h-primary {
  font-size: 30px;
  font-size: 1.875rem; }
  @media screen and (min-width: 520px) {
    h1, .h1, .h-primary {
      font-size: 40px;
      font-size: 2.5rem; } }
  @media screen and (min-width: 768px) {
    h1, .h1, .h-primary {
      font-size: 45px;
      font-size: 2.8125rem; } }

h2, .h2 {
  font-size: 24px;
  font-size: 1.5rem; }
  @media screen and (min-width: 520px) {
    h2, .h2 {
      font-size: 30px;
      font-size: 1.875rem; } }
  @media screen and (min-width: 768px) {
    h2, .h2 {
      font-size: 40px;
      font-size: 2.5rem; } }

h3, .h3 {
  font-size: 20px;
  font-size: 1.25rem; }
  @media screen and (min-width: 520px) {
    h3, .h3 {
      font-size: 24px;
      font-size: 1.5rem; } }
  @media screen and (min-width: 768px) {
    h3, .h3 {
      font-size: 30px;
      font-size: 1.875rem; } }

h4, .h4, .cta-inline__title, .donate__or, .pager__item__text {
  font-size: 18px;
  font-size: 1.125rem; }
  @media screen and (min-width: 520px) {
    h4, .h4, .cta-inline__title, .donate__or, .pager__item__text {
      font-size: 20px;
      font-size: 1.25rem; } }
  @media screen and (min-width: 768px) {
    h4, .h4, .cta-inline__title, .donate__or, .pager__item__text {
      font-size: 24px;
      font-size: 1.5rem; } }

h5, .h5 {
  font-size: 16px;
  font-size: 1rem;
  margin: 1.4em 0;
  color: #363636;
  text-transform: none; }
  @media screen and (min-width: 520px) {
    h5, .h5 {
      font-size: 18px;
      font-size: 1.125rem; } }
  @media screen and (min-width: 768px) {
    h5, .h5 {
      font-size: 20px;
      font-size: 1.25rem; } }

.h-primary {
  font-size: 30px;
  font-size: 1.875rem; }
  @media screen and (min-width: 768px) {
    .h-primary {
      font-size: 55px;
      font-size: 3.4375rem; } }

.h-secondary, .pager__item__text {
  color: #363636 !important; }

.h-parliament {
  color: #a54398 !important; }

.h-small {
  font-size: 18px;
  font-size: 1.125rem; }
  @media screen and (min-width: 768px) {
    .h-small {
      font-size: 20px;
      font-size: 1.25rem; } }

.h-alt {
  color: #363636 !important; }
  .clr-teal .h-alt,
  .clr-grey-dark .h-alt, .hero__content .h-alt, .overlays__item__content .h-alt {
    color: #fff; }

a {
  color: inherit;
  text-decoration: none;
  border-bottom: 1px solid #2ea393; }
  a:hover {
    border-bottom-style: dotted; }

b {
  font-weight: normal; }

.lead {
  font-family: "Lato", sans-serif;
  font-weight: 300;
  line-height: 1.5;
  font-size: 18px;
  font-size: 1.125rem;
  margin: 1.6em 0; }
  @media screen and (min-width: 768px) {
    .lead {
      font-size: 24px;
      font-size: 1.5rem; } }

.large {
  font-size: 18px;
  font-size: 1.125rem; }
  @media screen and (min-width: 768px) {
    .large {
      font-size: 24px;
      font-size: 1.5rem; } }

p {
  margin: 1.4em 0; }

ul, ol {
  text-align: left;
  margin: 3.5em 0;
  padding-left: 1.5em; }

li {
  margin: 1.4em 0; }
  li ul, li ol {
    margin: 1.4em 0 2em; }

.ul-tight {
  margin: 1.4em 0; }

.ul-mini {
  color: #d14414;
  margin: 0;
  padding: 0;
  list-style: none; }
  .ul-mini li {
    margin: 0.5em 0 0; }
    .ul-mini li:first-child {
      margin-top: 0; }

blockquote {
  font-family: "Lato", sans-serif;
  font-weight: 300;
  line-height: 1.5;
  font-size: 18px;
  font-size: 1.125rem;
  font-style: italic;
  margin: 1.4em 0; }
  @media screen and (min-width: 768px) {
    blockquote {
      font-size: 24px;
      font-size: 1.5rem; } }
  blockquote cite {
    font-family: "Lato", sans-serif;
    font-weight: 700;
    font-size: 16px;
    font-size: 1rem;
    font-style: normal;
    display: block;
    color: #d14414;
    margin-top: 1.4em; }
    @media screen and (min-width: 768px) {
      blockquote cite {
        font-size: 18px;
        font-size: 1.125rem; } }

small,
.small {
  font-size: 14px;
  font-size: 0.875rem; }

/*
  COMPONENT: ACCORDION
*/
.accordion {
  max-width: 920px;
  margin-left: auto;
  margin-right: auto; }

.accordion__item__trigger {
  color: inherit;
  border-bottom: inherit;
  display: block;
  border: 1px solid #ebebeb;
  padding: 0.6em 50px 0.6em 0.8em;
  font-family: "Oswald", sans-serif;
  text-transform: uppercase;
  font-weight: normal;
  line-height: 1.6;
  font-size: 18px;
  font-size: 1.125rem;
  background: #ebebeb;
  color: #363636;
  position: relative; }
  @media screen and (min-width: 768px) {
    .accordion__item__trigger {
      font-size: 20px;
      font-size: 1.25rem; } }
  .accordion__item__trigger:before {
    position: absolute;
    top: 14px;
    right: 15px;
    color: #2ea393;
    font-size: 24px;
    font-size: 1.5rem; }
    @media screen and (min-width: 768px) {
      .accordion__item__trigger:before {
        top: 18px; } }
  .js .accordion__item__trigger:hover {
    border-color: #2ea393;
    border-style: solid; }
  .accordion__item__trigger[data-accordion-nav-item="active"]:before {
    top: 12px; }
    @media screen and (min-width: 768px) {
      .accordion__item__trigger[data-accordion-nav-item="active"]:before {
        top: 16px; } }
  .accordion--tabbed .accordion__item__trigger {
    display: none; }

.accordion__item {
  margin: 7px 0; }
  .accordion__item:first-child {
    margin-top: 0; }
  .accordion__item:last-child {
    margin-bottom: 0; }

.accordion__item__content {
  border: 2px solid #ebebeb;
  border-top: 0;
  padding-top: 20px;
  padding-bottom: 20px;
  padding-left: 20px;
  padding-right: 20px; }
  @media screen and (min-width: 768px) {
    .accordion__item__content {
      padding-top: 40px; } }
  @media screen and (min-width: 768px) {
    .accordion__item__content {
      padding-bottom: 40px; } }
  @media screen and (min-width: 768px) {
    .accordion__item__content {
      padding-left: 40px; } }
  @media screen and (min-width: 768px) {
    .accordion__item__content {
      padding-right: 40px; } }
  .js .accordion__item__content {
    display: none; }
  [data-accordion-item="active"] .accordion__item__content {
    display: block; }
  .accordion__item__content > *:first-child {
    margin-top: 0; }
  .accordion__item__content > *:last-child {
    margin-bottom: 0; }

/*
  COMPONENT: ARTICLE
*/
.article {
  padding-left: 20px;
  padding-right: 20px;
  padding-top: 20px;
  padding-bottom: 30px;
  max-width: 920px;
  margin-left: auto;
  margin-right: auto; }
  @media screen and (min-width: 768px) {
    .article {
      padding-left: 40px; } }
  @media screen and (min-width: 768px) {
    .article {
      padding-right: 40px; } }
  @media screen and (min-width: 768px) {
    .article {
      padding-top: 40px; } }
  @media screen and (min-width: 768px) {
    .article {
      padding-bottom: 40px; } }

.article__timestamp {
  font-family: "Oswald", sans-serif;
  text-transform: uppercase;
  font-weight: normal;
  line-height: 1.6;
  color: #d14414; }
  @media screen and (min-width: 1201px) {
    .article__timestamp {
      text-align: left; } }

.article__title {
  margin: 0.5em 0 1.5em; }
  .article__title:first-child {
    margin-top: 0; }
  .article__title:last-child {
    margin-bottom: 0; }
  @media screen and (min-width: 1201px) {
    .article__title {
      text-align: left; } }

@media screen and (min-width: 1201px) {
  .article__summary {
    text-align: left; }
    .article__summary:before, .article__summary:after {
      content: "";
      display: table; }
    .article__summary:after {
      clear: both; } }

.article__media {
  margin-bottom: 20px; }
  @media screen and (min-width: 1201px) {
    .article__media {
      float: left;
      margin-right: 30px; } }
  @media screen and (min-width: 1400px) {
    .article__media {
      margin-right: 40px; } }

@media screen and (min-width: 1201px) {
  .article__copy {
    overflow: hidden; } }

.article__copy > *:first-child {
  margin-top: 0; }

.article__copy > *:last-child {
  margin-bottom: 0; }

.article__action {
  margin-bottom: 0; }

/*
  COMPONENT: BASKET
*/
.basket {
  max-width: 1400px;
  margin-left: auto;
  margin-right: auto; }

@media screen and (min-width: 1024px) {
  .basket__inner {
    text-align: center;
    word-spacing: -4px;
    margin-left: -20px; } }
  @media screen and (min-width: 1024px) and (min-width: 768px) {
    .basket__inner {
      margin-left: -40px; } }

.basket__overview {
  margin-bottom: 40px; }
  @media screen and (min-width: 1024px) {
    .basket__overview {
      display: inline-block;
      word-spacing: normal;
      vertical-align: top;
      padding-left: 20px;
      width: 100%;
      width: 33.3334%;
      float: right;
      margin: 0; } }
  @media screen and (min-width: 1024px) and (min-width: 768px) {
    .basket__overview {
      padding-left: 40px; } }

.basket__overview__inner {
  border: 1px solid #ebebeb;
  padding-top: 20px;
  padding-bottom: 20px;
  padding-left: 20px;
  padding-right: 20px; }
  @media screen and (min-width: 768px) {
    .basket__overview__inner {
      padding-top: 40px; } }
  @media screen and (min-width: 768px) {
    .basket__overview__inner {
      padding-bottom: 40px; } }
  @media screen and (min-width: 768px) {
    .basket__overview__inner {
      padding-left: 40px; } }
  @media screen and (min-width: 768px) {
    .basket__overview__inner {
      padding-right: 40px; } }

.basket__overview__total {
  text-align: left; }

.basket__overview__item {
  margin-top: 20px; }
  .basket__overview__item:before, .basket__overview__item:after {
    content: "";
    display: table; }
  .basket__overview__item:after {
    clear: both; }
  .basket__overview__item:first-child {
    margin-top: 0; }
  .basket__overview__item span {
    float: left;
    width: 50%; }

.basket__overview__label {
  color: #d14414; }
  .basket__overview__item--total .basket__overview__label {
    color: inherit; }

.basket__overview__item--total .basket__overview__value {
  color: #d14414; }

.basket__overview__item--total {
  font-family: "Oswald", sans-serif;
  text-transform: uppercase;
  font-weight: normal;
  line-height: 1.6;
  font-size: 20px;
  font-size: 1.25rem;
  border-top: 1px solid #ebebeb;
  border-bottom: 1px solid #ebebeb;
  padding: 20px 0;
  margin: 40px 0; }
  @media screen and (min-width: 520px) {
    .basket__overview__item--total {
      font-size: 24px;
      font-size: 1.5rem; } }
  @media screen and (min-width: 768px) {
    .basket__overview__item--total {
      font-size: 30px;
      font-size: 1.875rem; } }

.basket__overview__actions {
  text-align: center; }
  .basket__overview__actions .basket__paypal {
    display: inline-block;
    margin-top: 0.8em;
    font-family: "Oswald", sans-serif;
    text-transform: uppercase;
    font-weight: normal;
    line-height: 1.6;
    text-transform: none;
    font-size: 16px;
    font-size: 1rem; }
    @media screen and (min-width: 520px) {
      .basket__overview__actions .basket__paypal {
        font-size: 18px;
        font-size: 1.125rem; } }
    @media screen and (min-width: 768px) {
      .basket__overview__actions .basket__paypal {
        font-size: 20px;
        font-size: 1.25rem; } }

@media screen and (min-width: 1024px) {
  .basket__summary {
    display: inline-block;
    word-spacing: normal;
    vertical-align: top;
    padding-left: 20px;
    width: 100%;
    width: 66.6667%; } }
  @media screen and (min-width: 1024px) and (min-width: 768px) {
    .basket__summary {
      padding-left: 40px; } }

.basket__list {
  border-top: 1px solid #ebebeb;
  margin-bottom: 30px; }
  @media screen and (min-width: 768px) {
    .basket__list {
      margin-bottom: 60px; } }

.basket__item {
  padding: 40px 0;
  border-bottom: 1px solid #ebebeb; }
  @media screen and (min-width: 640px) {
    .basket__item:before, .basket__item:after {
      content: "";
      display: table; }
    .basket__item:after {
      clear: both; } }

@media screen and (min-width: 640px) {
  .basket__item__inner {
    text-align: center;
    word-spacing: -4px;
    margin-left: -20px; } }
  @media screen and (min-width: 640px) and (min-width: 768px) {
    .basket__item__inner {
      margin-left: -40px; } }

.basket__item__media {
  text-align: center;
  margin-bottom: 20px; }
  @media screen and (min-width: 640px) {
    .basket__item__media {
      margin: 0;
      text-align: left;
      display: inline-block;
      word-spacing: normal;
      vertical-align: top;
      padding-left: 20px;
      width: 100%;
      width: 25%; } }
  @media screen and (min-width: 640px) and (min-width: 768px) {
    .basket__item__media {
      padding-left: 40px; } }

.basket__item__info {
  text-align: center; }
  @media screen and (min-width: 640px) {
    .basket__item__info {
      display: inline-block;
      word-spacing: normal;
      vertical-align: top;
      padding-left: 20px;
      width: 100%;
      width: 75%;
      text-align: left; } }
  @media screen and (min-width: 640px) and (min-width: 768px) {
    .basket__item__info {
      padding-left: 40px; } }

.basket__item__title {
  margin: 0 0 0.6em; }
  @media screen and (min-width: 640px) {
    .basket__item__title {
      float: left;
      width: 66.6667%; } }

.basket__item__price {
  margin: 0 0 0.6em; }
  @media screen and (min-width: 640px) {
    .basket__item__price {
      float: right;
      width: 33.3334%;
      padding-left: 40px; } }

.basket__item__message {
  margin: 0 0 0.6em; }

.basket__item__copy {
  clear: both;
  margin-top: 0;
  margin-left: auto;
  margin-right: auto;
  max-width: 440px; }
  @media screen and (min-width: 640px) {
    .basket__item__copy {
      margin-left: 0;
      margin-right: 0; } }

.basket__item__meta {
  font-family: "Oswald", sans-serif;
  text-transform: uppercase;
  font-weight: normal;
  line-height: 1.6;
  font-size: 16px;
  font-size: 1rem; }
  @media screen and (min-width: 520px) {
    .basket__item__meta {
      font-size: 18px;
      font-size: 1.125rem; } }
  @media screen and (min-width: 768px) {
    .basket__item__meta {
      font-size: 20px;
      font-size: 1.25rem; } }

.basket__item__qty {
  display: inline-block;
  margin: 0 40px 0 0; }

.basket__item__actions {
  display: inline-block;
  margin: 0; }
  .basket__item__actions a {
    display: inline-block;
    margin-left: 20px; }
    .basket__item__actions a:first-child {
      margin-left: 0; }

.basket__list__actions {
  margin-bottom: 40px;
  text-align: center; }
  @media screen and (min-width: 768px) {
    .basket__list__actions {
      margin-bottom: 80px; } }
  @media screen and (min-width: 1024px) {
    .basket__list__actions {
      text-align: left; } }
  .basket__list__actions .basket__add {
    margin-bottom: 20px; }
    @media screen and (min-width: 1024px) {
      .basket__list__actions .basket__add {
        margin-right: 40px;
        margin-bottom: 0; } }
  .basket__list__actions .basket__clear {
    font-family: "Oswald", sans-serif;
    text-transform: uppercase;
    font-weight: normal;
    line-height: 1.6;
    font-size: 16px;
    font-size: 1rem; }
  @media screen and (min-width: 1024px) {
    .basket__list__actions br {
      display: none; } }

.basket__info {
  text-align: center; }
  @media screen and (min-width: 1024px) {
    .basket__info {
      text-align: left; } }

/*
  COMPONENT: BREADCRUMBS
*/
.breadcrumbs {
  border: 1px solid #ebebeb;
  border-left: 0;
  border-right: 0;
  padding: 10px 20px; }

.breadcrumbs__inner {
  max-width: 1400px;
  margin-left: auto;
  margin-right: auto; }

.breadcrumbs__list {
  margin: 0;
  padding: 0;
  list-style: none;
  word-spacing: -4px;
  font-size: 14px;
  font-size: 0.875rem; }
  .breadcrumbs__list li {
    margin: 5px 0;
    display: inline-block;
    word-spacing: normal; }
    .breadcrumbs__list li:after {
      content: "/";
      display: inline-block;
      margin: 0 1.2em; }
    .breadcrumbs__list li:last-child:after {
      display: none; }

/*
  COMPONENT: COPY
*/
.copy {
  max-width: 920px;
  margin-left: auto;
  margin-right: auto;
  text-align: center;
  margin-bottom: 30px; }
  @media screen and (min-width: 768px) {
    .copy {
      margin-bottom: 60px; } }
  .copy > *:first-child {
    margin-top: 0; }
  .copy > *:last-child {
    margin-bottom: 0; }

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

.copy--tight {
  max-width: 680px;
  margin-left: auto;
  margin-right: auto; }

.copy--overflow-hidden {
  overflow: hidden; }

.copy__action {
  margin: 2em 0; }

/*
  COMPONENT: CTA-INLINE
*/
.cta-inline {
  max-width: 920px;
  margin-left: auto;
  margin-right: auto;
  text-align: center; }

.cta-inline__title {
  display: inline-block;
  margin-bottom: 0;
  margin: 27px 20px 0; }

.cta-inline__action {
  display: inline-block;
  vertical-align: top;
  margin: 20px; }
  @media screen and (min-width: 1024px) {
    .cta-inline__action {
      margin-left: 10px; } }

/*
  COMPONENT: DONATE
*/
.donate {
  max-width: 1400px;
  margin-left: auto;
  margin-right: auto;
  text-align: center;
  margin-top: 20px;
  margin-bottom: 20px;
  padding-top: 30px;
  padding-bottom: 40px;
  padding-left: 15px;
  padding-right: 15px; }
  @media screen and (min-width: 768px) {
    .donate {
      margin-top: 40px; } }
  @media screen and (min-width: 768px) {
    .donate {
      margin-bottom: 40px; } }
  @media screen and (min-width: 768px) {
    .donate {
      padding-top: 40px; } }
  @media screen and (min-width: 768px) {
    .donate {
      padding-bottom: 40px; } }
  @media screen and (min-width: 768px) {
    .donate {
      padding-left: 30px; } }
  @media screen and (min-width: 768px) {
    .donate {
      padding-right: 30px; } }
  .donate:first-child {
    margin-top: 0; }
  .donate:last-child {
    margin-bottom: 0; }
  .donate > *:first-child {
    margin-top: 0; }
  .donate > *:last-child {
    margin-bottom: 0; }

.donate__or {
  margin: 1.4em 0 0.8em; }

.donate__alt {
  font-family: "Lato", sans-serif;
  font-weight: 300;
  line-height: 1.5;
  font-size: 18px;
  font-size: 1.125rem;
  margin: 0.8em auto;
  padding: 0;
  list-style: none;
  text-align: center; }
  @media screen and (min-width: 768px) {
    .donate__alt {
      font-size: 24px;
      font-size: 1.5rem; } }
  .donate__alt li {
    display: inline-block;
    margin: 0 0.3em; }
    @media screen and (min-width: 480px) {
      .donate__alt li {
        margin: 0 0.5em; } }

/*
  COMPONENT: DOWNLOAD
*/
.download {
  max-width: 920px;
  margin-left: auto;
  margin-right: auto;
  text-align: center;
  margin: 2.4em auto; }
  .download:first-child {
    margin-top: 0; }
  .download:last-child {
    margin-bottom: 0; }
  .download > *:first-child {
    margin-top: 0; }
  .download > *:last-child {
    margin-bottom: 0; }

.download__icon {
  margin-bottom: 25px; }
  .download__icon a {
    display: inline-block;
    border-radius: 50%;
    border-width: 2px;
    border-color: #2ea393;
    border-style: solid !important;
    padding: 14px;
    text-align: center;
    line-height: 1;
    font-size: 40px;
    font-size: 2.5rem; }
  .download--invert .download__icon a {
    border-color: #fff; }

.download__copy {
  font-family: "Lato", sans-serif;
  font-weight: 300;
  line-height: 1.5;
  font-size: 18px;
  font-size: 1.125rem;
  margin-top: 1em; }
  @media screen and (min-width: 768px) {
    .download__copy {
      font-size: 24px;
      font-size: 1.5rem; } }

/*
  COMPONENT: FILTER
*/
.filter__toolbar {
  max-width: 1400px;
  margin-left: auto;
  margin-right: auto;
  margin-top: 20px;
  margin-bottom: 40px; }
  @media screen and (min-width: 768px) {
    .filter__toolbar {
      margin-top: 40px; } }
  @media screen and (min-width: 768px) {
    .filter__toolbar {
      margin-bottom: 80px; } }
  .filter__toolbar:first-child {
    margin-top: 0; }
  .filter__toolbar:last-child {
    margin-bottom: 0; }

.filter__inner {
  margin-top: -10px;
  margin-left: -20px; }
  @media screen and (min-width: 520px) {
    .filter__inner {
      margin-top: -20px; }
      .filter__inner:before, .filter__inner:after {
        content: "";
        display: table; }
      .filter__inner:after {
        clear: both; } }
  @media screen and (min-width: 1201px) {
    .filter__inner {
      border-bottom: 1px solid #ebebeb;
      margin-left: 0; } }

.filter__group {
  margin-top: 10px;
  padding-left: 20px; }
  @media screen and (min-width: 520px) {
    .filter__group {
      margin-top: 20px;
      float: left; }
      .filter__group:before, .filter__group:after {
        content: "";
        display: table; }
      .filter__group:after {
        clear: both; } }

@media screen and (min-width: 1201px) {
  .filter__group--types {
    padding-left: 0; } }

@media screen and (min-width: 1201px) {
  .filter__group--sort {
    float: right; } }

.no-js .filter__group--sort {
  display: none; }

.filter__group--price {
  width: 100%;
  clear: both; }

.filter__title {
  margin: 0;
  color: #d14414;
  font-family: "Oswald", sans-serif;
  text-transform: uppercase;
  font-weight: normal;
  line-height: 1.6;
  font-size: 18px;
  font-size: 1.125rem;
  padding: 10px 0; }
  @media screen and (min-width: 1024px) {
    .filter__title {
      font-size: 20px;
      font-size: 1.25rem; } }
  @media screen and (min-width: 520px) {
    .filter__title {
      margin-right: 20px;
      float: left; } }
  @media screen and (min-width: 1201px) {
    .filter__title {
      padding: 20px 0; } }

.filter__links {
  margin: 0;
  padding: 0;
  list-style: none; }
  @media screen and (min-width: 520px) {
    .filter__links {
      word-spacing: -4px;
      float: left; } }

.filter__links__item {
  font-family: "Oswald", sans-serif;
  text-transform: uppercase;
  font-weight: normal;
  line-height: 1.6;
  font-size: 16px;
  font-size: 1rem;
  margin: 0; }
  @media screen and (min-width: 1024px) {
    .filter__links__item {
      font-size: 20px;
      font-size: 1.25rem; } }
  @media screen and (min-width: 520px) {
    .filter__links__item {
      display: inline-block; } }
  .filter__links__item a {
    color: inherit;
    border-bottom: inherit;
    display: block;
    border: 1px solid #ebebeb !important;
    margin-bottom: -1px;
    padding: 10px;
    background: #fff; }
    @media screen and (min-width: 520px) {
      .filter__links__item a {
        word-spacing: normal;
        padding: 10px 20px; } }
    @media screen and (min-width: 1201px) {
      .filter__links__item a {
        padding: 20px 30px; } }
    .filter__links__item a.is-active {
      border-color: #2ea393 !important;
      background: #2ea393;
      color: #fff; }
    .filter__links__item a[data-filter-limit-trigger-state="disabled"] {
      cursor: default;
      color: #dbdbdb; }
      .filter__links__item a[data-filter-limit-trigger-state="disabled"] span {
        border-bottom: 0 !important; }
  .filter__links__item span {
    color: inherit;
    text-decoration: none;
    border-bottom: 1px solid #2ea393; }
    .filter__links__item span:hover {
      border-bottom-style: dotted; }
  .filter__links__item:hover span, .filter__links__item:focus span {
    border-bottom-style: dotted; }

[data-filter-limit-state="hidden"] {
  display: none; }

.filter__error {
  max-width: 680px;
  margin-left: auto;
  margin-right: auto;
  margin-bottom: 1em;
  color: #d14414;
  font-style: italic;
  text-align: center;
  display: none; }
  .filter__error[data-filter-error="show"] {
    display: block; }

/*
  COMPONENT: FOOTER
*/
.footer {
  max-width: 1400px;
  margin-left: auto;
  margin-right: auto; }

.footer__sitemap {
  text-align: center;
  word-spacing: -4px;
  margin-left: -20px;
  margin-bottom: -30px; }
  @media screen and (min-width: 768px) {
    .footer__sitemap {
      margin-left: -40px; } }

.footer__sitemap__group {
  display: inline-block;
  word-spacing: normal;
  vertical-align: top;
  padding-left: 20px;
  width: 100%;
  text-align: left;
  margin-bottom: 30px; }
  @media screen and (min-width: 768px) {
    .footer__sitemap__group {
      padding-left: 40px; } }
  @media screen and (min-width: 480px) {
    .footer__sitemap__group {
      width: 50%; } }
  @media screen and (min-width: 768px) {
    .footer__sitemap__group {
      width: 25%; } }

.footer__sitemap__group__title {
  margin-top: 0;
  margin-bottom: 1em; }

.footer__sitemap__group__nav {
  font-size: 14px;
  font-size: 0.875rem; }
  @media screen and (min-width: 768px) {
    .footer__sitemap__group__nav {
      font-size: 16px;
      font-size: 1rem; } }
  .footer__sitemap__group__nav ul {
    margin: 0;
    padding: 0;
    list-style: none; }
  .footer__sitemap__group__nav li {
    margin: 0.8em 0; }

.footer__legal {
  font-size: 14px;
  font-size: 0.875rem;
  text-align: center;
  border-top: 1px solid #555;
  padding-top: 30px;
  margin-top: 30px; }
  .footer__legal p {
    margin: 0; }

/*
  COMPONENT: HERO
*/
.hero {
  max-width: 1920px;
  margin-left: auto;
  margin-right: auto; }
  @media screen and (min-width: 1201px) {
    .hero {
      position: relative; }
      .hero:before, .hero:after {
        content: "";
        display: table; }
      .hero:after {
        clear: both; } }

.hero__media {
  height: 200px; }
  @media screen and (min-width: 768px) {
    .hero__media {
      height: 300px; } }
  @media screen and (min-width: 1201px) {
    .hero__media {
      position: absolute;
      top: 0;
      left: 0;
      width: 100%;
      height: 100%;
      overflow: hidden; } }
  @media screen and (min-width: 1201px) {
    .hero--half .hero__media {
      left: auto;
      right: 0;
      width: 50%; } }
  @media screen and (min-width: 1201px) {
    .hero--half.hero--content-right .hero__media {
      left: 0;
      right: auto; } }
  .hero__media img {
    width: 100%;
    height: 100%;
    object-fit: cover; }

.hero__media__mask {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  width: 50%;
  overflow: hidden;
  display: none; }
  .hero--half .hero__media__mask {
    width: 100%; }
  .hero--content-right .hero__media__mask {
    right: auto;
    left: 0; }
  @media screen and (min-width: 1201px) {
    .hero__media__mask {
      display: block; } }

.hero__media__mask__overlay {
  position: absolute;
  border-radius: 100%;
  border: 1500px solid rgba(0, 0, 0, 0.7);
  margin-left: -1500px;
  margin-top: -1500px;
  box-sizing: content-box;
  top: calc(50% - 625px);
  left: 40px;
  width: 1250px;
  height: 1250px; }
  .hero--content-right .hero__media__mask__overlay {
    left: auto;
    right: 40px;
    margin-left: 0;
    margin-right: -1500px; }
  .hero--half .hero__media__mask__overlay {
    top: 4%;
    left: 20%;
    width: 560px;
    height: 560px; }
  .hero--half.hero--content-right .hero__media__mask__overlay {
    left: 20%;
    right: auto;
    margin-left: -1500px;
    margin-right: 0; }
  .hero--invert .hero__media__mask__overlay {
    border-color: rgba(255, 255, 255, 0.8); }

.hero__content {
  padding-left: 20px;
  padding-right: 20px;
  padding-top: 40px;
  padding-bottom: 40px; }
  @media screen and (min-width: 768px) {
    .hero__content {
      padding-left: 40px; } }
  @media screen and (min-width: 768px) {
    .hero__content {
      padding-right: 40px; } }
  @media screen and (min-width: 768px) {
    .hero__content {
      padding-top: 80px; } }
  @media screen and (min-width: 768px) {
    .hero__content {
      padding-bottom: 80px; } }
  @media screen and (min-width: 1201px) {
    .hero__content {
      position: relative;
      z-index: 1;
      width: 50%;
      background-color: rgba(0, 0, 0, 0.7); }
      .hero__content:before, .hero__content:after {
        content: "";
        display: table; }
      .hero__content:after {
        clear: both; } }
  @media screen and (min-width: 1201px) {
    .hero--content-right .hero__content {
      float: right; } }
  @media screen and (min-width: 1201px) {
    .hero--invert .hero__content {
      background-color: rgba(255, 255, 255, 0.85); } }
  @media screen and (min-width: 1201px) {
    .hero--tall .hero__content {
      padding-top: 50px;
      padding-bottom: 50px; } }
  @media screen and (min-width: 1201px) and (min-width: 768px) {
    .hero--tall .hero__content {
      padding-top: 100px; } }
  @media screen and (min-width: 1201px) and (min-width: 768px) {
    .hero--tall .hero__content {
      padding-bottom: 100px; } }
  @media screen and (min-width: 1201px) {
    .hero--xtall .hero__content {
      padding-top: 70px;
      padding-bottom: 70px; } }
  @media screen and (min-width: 1201px) and (min-width: 768px) {
    .hero--xtall .hero__content {
      padding-top: 140px; } }
  @media screen and (min-width: 1201px) and (min-width: 768px) {
    .hero--xtall .hero__content {
      padding-bottom: 140px; } }
  @media screen and (min-width: 1201px) {
    .hero--xxtall .hero__content {
      padding-top: 150px;
      padding-bottom: 150px; } }
  @media screen and (min-width: 1201px) and (min-width: 768px) {
    .hero--xxtall .hero__content {
      padding-top: 300px; } }
  @media screen and (min-width: 1201px) and (min-width: 768px) {
    .hero--xxtall .hero__content {
      padding-bottom: 300px; } }

@media screen and (min-width: 1201px) {
  .hero__content__inner {
    width: 100%;
    max-width: 660px;
    float: right; } }

@media screen and (min-width: 1201px) {
  .hero--content-right .hero__content__inner {
    float: left; } }

.hero__copy {
  text-align: center; }
  @media screen and (min-width: 1201px) {
    .hero__copy {
      text-align: left; } }
  .hero__copy .lead {
    margin: 0.8em 0; }
  .hero__copy > *:first-child {
    margin-top: 0; }
  .hero__copy > *:last-child {
    margin-bottom: 0; }

.hero__copy__title {
  margin-bottom: 0.8em; }
  .hero__copy__title.h-primary {
    margin-bottom: 0.4em; }

.hero__copy__action {
  margin: 2.4em 0; }

@media screen and (min-width: 1201px) {
  .hero__copy__indent {
    padding-left: 80px; } }

/*
  COMPONENT: IMAGE
*/
.image {
  max-width: 1400px;
  margin-left: auto;
  margin-right: auto;
  text-align: center; }

/*
  COMPONENT: IMAGESET
*/
.imageset {
  max-width: 1400px;
  margin-left: auto;
  margin-right: auto; }

.imageset__inner {
  text-align: center;
  word-spacing: -4px;
  margin-left: 0; }
  @media screen and (min-width: 768px) {
    .imageset__inner {
      margin-left: 0; } }

.imageset__main {
  display: inline-block;
  word-spacing: normal;
  vertical-align: top;
  padding-left: 0;
  width: 100%; }
  @media screen and (min-width: 768px) {
    .imageset__main {
      padding-left: 0; } }
  @media screen and (min-width: 640px) {
    .imageset__main {
      width: 50%; } }

.imageset__sub {
  display: inline-block;
  word-spacing: normal;
  vertical-align: top;
  padding-left: 0;
  width: 100%; }
  @media screen and (min-width: 768px) {
    .imageset__sub {
      padding-left: 0; } }
  @media screen and (min-width: 640px) {
    .imageset__sub {
      width: 50%; } }

/*
  COMPONENT: info-set
*/
.info-set {
  max-width: 1400px;
  margin-left: auto;
  margin-right: auto; }

.info-set__inner {
  text-align: center;
  word-spacing: -4px;
  margin-left: -20px; }
  @media screen and (min-width: 768px) {
    .info-set__inner {
      margin-left: -40px; } }

.info-set__panel {
  display: inline-block;
  word-spacing: normal;
  vertical-align: top;
  padding-left: 20px;
  width: 100%;
  width: 100%;
  margin-top: -30px; }
  @media screen and (min-width: 768px) {
    .info-set__panel {
      padding-left: 40px; } }
  .info-set__panel:first-child {
    margin-top: 0; }
  @media screen and (min-width: 1024px) {
    .info-set__panel {
      margin-top: 0;
      text-align: left; } }

@media screen and (min-width: 1024px) {
  .info-set__panel--half {
    width: 50%; } }

@media screen and (min-width: 1024px) {
  .info-set__panel--quarter {
    width: 25%; } }

.info-set__panel__inner {
  padding: 30px 20px; }
  @media screen and (min-width: 1024px) {
    .info-set--bgfill .info-set__panel:first-child .info-set__panel__inner {
      padding-right: 0; }
    .info-set--bgfill .info-set__panel:last-child .info-set__panel__inner {
      padding-left: 0; }
    .info-set--bgfill .info-set__panel:not(:first-child):not(:last-child) .info-set__panel__inner {
      padding-left: 0;
      padding-right: 0; } }

.info-set__panel__action {
  text-align: center; }
  @media screen and (min-width: 1024px) {
    .info-set__panel__action {
      margin: 21px 0; } }
  .info-set__panel__action--top-pad {
    padding-top: 16px; }

/*
  COMPONENT: LABELLED IMAGE
*/
.labelled-images {
  max-width: 680px;
  margin-left: auto;
  margin-right: auto;
  text-align: center; }
  .labelled-images img {
    margin: 20px 10px 0;
    vertical-align: middle; }
    @media screen and (min-width: 640px) {
      .labelled-images img {
        margin-top: 0; } }

.labelled-images__label {
  font-family: "Oswald", sans-serif;
  text-transform: uppercase;
  font-weight: normal;
  line-height: 1.6;
  font-size: 20px;
  font-size: 1.25rem;
  display: block; }
  @media screen and (min-width: 640px) {
    .labelled-images__label {
      display: inline-block;
      margin-right: 15px; } }

/*
  COMPONENT: LOAD
*/
.load {
  text-align: center;
  max-width: 680px;
  margin-left: auto;
  margin-right: auto; }

.load__loader {
  margin: 20px auto;
  width: 50px;
  height: 50px;
  position: relative;
  text-indent: -999em; }
  .load__loader:before, .load__loader:after {
    content: "";
    width: 100%;
    height: 100%;
    border-radius: 50%;
    opacity: 0.6;
    position: absolute;
    top: 0;
    left: 0;
    animation: bounce 2.0s infinite ease-in-out;
    background-color: #d14414; }
  .load__loader:after {
    animation-delay: -1.0s; }

.load__loader--invert:before, .load__loader--invert:after {
  background-color: #fff; }

.load__loader--lrg {
  width: 100px;
  height: 100px; }

.load__error {
  margin: 20px auto;
  color: #d14414;
  font-style: italic; }

@keyframes bounce {
  0%, 100% {
    transform: scale(0); }
  50% {
    transform: scale(1); } }

/*
  COMPONENT: MAP
*/
.map {
  position: relative; }

.map__embed {
  width: 100%;
  position: absolute;
  top: 0;
  left: 0;
  min-height: 100%;
  height: auto !important;
  display: none; }
  @media screen and (min-width: 640px) {
    .map__embed {
      display: block; } }

.map__fallback {
  display: block;
  color: inherit;
  border-bottom: inherit;
  border-bottom: 0; }
  .map__fallback img {
    width: 100%; }

/*
  COMPONENT: MASONRY
*/
.masonry {
  max-width: 1400px;
  margin-left: auto;
  margin-right: auto; }

.masonry__list {
  text-align: center;
  word-spacing: -4px;
  margin-left: -20px;
  margin-top: -20px; }
  @media screen and (min-width: 768px) {
    .masonry__list {
      margin-left: -40px; } }
  @media screen and (min-width: 768px) {
    .masonry__list {
      margin-top: -40px; } }

.masonry__item {
  display: inline-block;
  word-spacing: normal;
  vertical-align: top;
  padding-left: 20px;
  width: 100%;
  margin-top: 20px;
  width: 100%; }
  @media screen and (min-width: 768px) {
    .masonry__item {
      padding-left: 40px; } }
  @media screen and (min-width: 768px) {
    .masonry__item {
      margin-top: 40px; } }
  @media screen and (min-width: 640px) {
    .masonry__item {
      width: 50%; } }

.masonry__more {
  margin-top: 30px;
  text-align: center;
  display: inline-block;
  word-spacing: normal;
  vertical-align: top;
  padding-left: 20px;
  width: 100%;
  width: 100%;
  display: block; }
  @media screen and (min-width: 768px) {
    .masonry__more {
      margin-top: 60px; } }
  @media screen and (min-width: 768px) {
    .masonry__more {
      padding-left: 40px; } }

.masonry__load {
  text-align: center;
  display: inline-block;
  word-spacing: normal;
  vertical-align: top;
  padding-left: 20px;
  width: 100%;
  width: 100%;
  display: block; }
  @media screen and (min-width: 768px) {
    .masonry__load {
      padding-left: 40px; } }

/*
  COMPONENT: MASTHEAD
*/
.masthead__inner {
  max-width: 1400px;
  margin-left: auto;
  margin-right: auto;
  text-align: center;
  padding: 20px; }
  @media screen and (min-width: 480px) {
    .masthead__inner:before, .masthead__inner:after {
      content: "";
      display: table; }
    .masthead__inner:after {
      clear: both; } }
  @media screen and (min-width: 1024px) {
    .masthead__inner {
      padding-top: 40px; } }

.masthead__logo {
  display: inline-block;
  max-width: 200px; }
  @media screen and (min-width: 480px) {
    .masthead__logo {
      float: left; } }
  .masthead__logo a {
    display: block;
    border: 0 !important; }

.masthead__nav {
  font-family: "Oswald", sans-serif;
  text-transform: uppercase;
  font-weight: normal;
  line-height: 1.6;
  font-size: 16px;
  font-size: 1rem;
  display: none; }
  @media screen and (min-width: 800px) {
    .masthead__nav {
      display: block;
      float: right;
      margin-top: 30px; } }

.masthead__nav__list {
  margin: 0;
  padding: 0;
  list-style: none; }
  .masthead__nav__list:before, .masthead__nav__list:after {
    content: "";
    display: table; }
  .masthead__nav__list:after {
    clear: both; }

.masthead__nav__item {
  margin: 0;
  float: left;
  margin-left: 50px; }
  @media screen and (min-width: 1201px) {
    .masthead__nav__item {
      margin-left: 80px; } }
  .masthead__nav__item > a {
    display: block;
    border-bottom-color: transparent; }
    .masthead__nav__item > a:hover {
      border-color: #2ea393; }

.masthead__nav__item--basket {
  color: #2ea393; }
  .masthead__nav__item--basket i {
    font-size: 24px;
    font-size: 1.5rem;
    float: left;
    margin-right: 12px;
    color: #363636; }

.masthead__nav__item--search {
  margin-top: -0.2em;
  position: relative; }

.masthead__nav__search__toggle {
  color: inherit;
  border-bottom: inherit;
  border-bottom: 0; }
  .no-js .masthead__nav__search__toggle {
    display: none; }
  .masthead__nav__search__toggle i {
    font-size: 30px;
    font-size: 1.875rem; }
  .masthead__nav__search__toggle:hover i, .masthead__nav__search__toggle:focus i {
    color: #2ea393; }
  [data-search-state="active"] .masthead__nav__search__toggle.masthead__nav__search__toggle--show {
    display: none; }
  .masthead__nav__search__toggle.masthead__nav__search__toggle--hide {
    display: none; }
    [data-search-state="active"] .masthead__nav__search__toggle.masthead__nav__search__toggle--hide {
      display: block; }

.masthead__nav__search__form {
  position: absolute;
  display: -ms-flexbox;
  display: flex;
  top: -12px;
  right: 130%;
  width: 0;
  overflow: hidden;
  background: #ebebeb;
  transition: width 0.3s ease; }
  .no-js .masthead__nav__search__form {
    width: auto;
    position: static; }
  [data-search-state="active"] .masthead__nav__search__form {
    width: 440px;
    overflow: visible; }

.masthead__donate {
  margin-top: 40px; }
  @media screen and (min-width: 480px) {
    .masthead__donate {
      float: right;
      margin-top: 20px; } }
  @media screen and (min-width: 800px) {
    .masthead__donate {
      display: none; } }

.easy-autocomplete {
  width: auto !important;
  position: relative; }

.easy-autocomplete-container {
  position: absolute;
  top: 100%;
  left: 0;
  width: 100%;
  z-index: 999; }
  .easy-autocomplete-container ul {
    display: none;
    text-align: left;
    background: #fff;
    margin: -1px;
    border: 1px solid #ebebeb;
    padding: 10px;
    list-style: none; }
  .easy-autocomplete-container li {
    margin: 0; }
    .easy-autocomplete-container li.selected {
      background-color: #ebebeb; }
    .easy-autocomplete-container li b {
      font-weight: normal; }

/*
  COMPONENT: MEDIA BLOCK GRID
*/
.media-block-grid {
  max-width: 1400px;
  margin-left: auto;
  margin-right: auto; }

.media-block-grid__inner {
  text-align: center;
  word-spacing: -4px;
  margin-left: -20px;
  margin-bottom: -20px; }
  @media screen and (min-width: 768px) {
    .media-block-grid__inner {
      margin-left: -40px; } }
  @media screen and (min-width: 768px) {
    .media-block-grid__inner {
      margin-bottom: -40px; } }

.media-block-grid__item {
  display: inline-block;
  word-spacing: normal;
  vertical-align: top;
  padding-left: 20px;
  width: 100%;
  margin-bottom: 20px; }
  @media screen and (min-width: 768px) {
    .media-block-grid__item {
      padding-left: 40px; } }
  @media screen and (min-width: 768px) {
    .media-block-grid__item {
      margin-bottom: 40px; } }
  @media screen and (min-width: 768px) {
    .media-block-grid__item {
      width: 50%; } }

/*
  COMPONENT: MEDIA BLOCK LIST
*/
.media-block-list {
  max-width: 920px;
  margin-left: auto;
  margin-right: auto; }

.media-block-list__item {
  margin: 20px auto; }
  .media-block-list__item:first-child {
    margin-top: 0; }
  .media-block-list__item:last-child {
    margin-bottom: 0; }

/*
  COMPONENT: MEDIA BLOCK
*/
.media-block {
  max-width: 920px;
  margin-left: auto;
  margin-right: auto; }
  .media-block--lrg {
    max-width: 1400px; }

.media-block--padded, .media-block--keyline,
.media-block[class*="clr-"] {
  padding-left: 20px;
  padding-right: 20px;
  padding-top: 20px;
  padding-bottom: 30px; }
  @media screen and (min-width: 768px) {
    .media-block--padded, .media-block--keyline,
    .media-block[class*="clr-"] {
      padding-left: 40px; } }
  @media screen and (min-width: 768px) {
    .media-block--padded, .media-block--keyline,
    .media-block[class*="clr-"] {
      padding-right: 40px; } }
  @media screen and (min-width: 768px) {
    .media-block--padded, .media-block--keyline,
    .media-block[class*="clr-"] {
      padding-top: 40px; } }
  @media screen and (min-width: 768px) {
    .media-block--padded, .media-block--keyline,
    .media-block[class*="clr-"] {
      padding-bottom: 40px; } }

.media-block--keyline {
  border: 1px solid #ebebeb; }

@media screen and (min-width: 1024px) {
  .media-block--cover {
    padding: 0 !important;
    position: relative; } }

.media-block__inner {
  text-align: center;
  word-spacing: -4px;
  margin-left: -20px; }
  @media screen and (min-width: 768px) {
    .media-block__inner {
      margin-left: -40px; } }
  @media screen and (min-width: 1024px) {
    .media-block--cover .media-block__inner {
      display: -ms-flexbox;
      display: flex; } }

.media-block__media {
  display: inline-block;
  word-spacing: normal;
  vertical-align: top;
  padding-left: 20px;
  width: 100%;
  margin-bottom: 30px; }
  @media screen and (min-width: 768px) {
    .media-block__media {
      padding-left: 40px; } }
  @media screen and (min-width: 1024px) {
    .media-block__media {
      margin-bottom: 0;
      width: 50%; } }
  @media screen and (min-width: 1024px) {
    .media-block--cover .media-block__media {
      position: relative;
      display: -ms-flexbox;
      display: flex; } }

.media-block__media__inner {
  max-width: 440px;
  margin: 0 auto;
  width: 100%; }
  .media-block--lrg .media-block__media__inner {
    max-width: none; }
  @media screen and (min-width: 1024px) {
    .media-block--cover .media-block__media__inner {
      display: -ms-flexbox;
      display: flex; }
      .media-block--cover .media-block__media__inner img {
        object-fit: cover; } }
  .media-block__media__inner a {
    display: block;
    border: 0 !important; }
    @media screen and (min-width: 1024px) {
      .media-block--cover .media-block__media__inner a {
        display: -ms-flexbox;
        display: flex; } }

.media-block__media__figure {
  margin: 0; }

.media-block__media__map {
  max-width: 680px;
  margin: 0 auto; }
  @media screen and (min-width: 1024px) {
    .media-block__media__map {
      max-width: none;
      margin: 0;
      width: 100%;
      display: -ms-flexbox;
      display: flex; } }

.media-block__media__map__link {
  color: inherit;
  border-bottom: inherit;
  border: 0 !important; }
  @media screen and (min-width: 1024px) {
    .media-block__media__map__link {
      display: -ms-flexbox;
      display: flex;
      width: 100%; } }

.media-block__copy {
  display: inline-block;
  word-spacing: normal;
  vertical-align: top;
  padding-left: 20px;
  width: 100%;
  max-width: 700px; }
  @media screen and (min-width: 768px) {
    .media-block__copy {
      padding-left: 40px; } }
  @media screen and (min-width: 768px) {
    .media-block__copy {
      max-width: 720px; } }
  @media screen and (min-width: 1024px) {
    .media-block__copy {
      width: 50%;
      text-align: left; } }
  .media-block--no-media .media-block__copy {
    max-width: none;
    width: 100%; }

.media-block__copy__inner {
  padding: 0 10px; }
  @media screen and (min-width: 1024px) {
    .media-block__copy__inner {
      padding: 0; } }
  .media-block--padded .media-block__copy__inner, .media-block--keyline .media-block__copy__inner,
  .media-block[class*="clr-"] .media-block__copy__inner {
    padding: 0; }
  @media screen and (min-width: 1024px) {
    .media-block--padded.media-block--cover .media-block__copy__inner, .media-block--cover.media-block--keyline .media-block__copy__inner,
    .media-block[class*="clr-"].media-block--cover .media-block__copy__inner {
      padding: 30px 30px 40px 0; } }
  .media-block__copy__inner > *:first-child {
    margin-top: 0; }
  .media-block__copy__inner > *:last-child {
    margin-bottom: 0; }
  .media-block__copy__inner .lead {
    margin: 0.8em 0; }
    .media-block__copy__inner .lead:first-child {
      margin-top: 0; }
    .media-block__copy__inner .lead:last-child {
      margin-bottom: 0; }

.media-block__title {
  margin-bottom: 0.5em !important; }

.media-block__copy__nuggets {
  text-align: center;
  word-spacing: -4px;
  margin-left: -20px;
  margin-bottom: -30px !important; }
  @media screen and (min-width: 768px) {
    .media-block__copy__nuggets {
      margin-left: -40px; } }
  @media screen and (min-width: 1024px) {
    .media-block__copy__nuggets {
      text-align: left;
      margin-bottom: 0 !important; } }

.media-block__copy__nuggets__item {
  display: inline-block;
  word-spacing: normal;
  vertical-align: top;
  padding-left: 20px;
  width: 100%;
  width: 100%;
  margin-bottom: 30px; }
  @media screen and (min-width: 768px) {
    .media-block__copy__nuggets__item {
      padding-left: 40px; } }
  @media screen and (min-width: 640px) {
    .media-block__copy__nuggets__item {
      width: 50%; } }
  @media screen and (min-width: 1024px) {
    .media-block__copy__nuggets__item {
      margin: 30px 0;
      text-align: left;
      width: 100%; } }
  @media screen and (min-width: 1201px) {
    .media-block__copy__nuggets__item {
      width: 50%; } }
  .media-block__copy__nuggets__item > *:first-child {
    margin-top: 0; }
  .media-block__copy__nuggets__item > *:last-child {
    margin-bottom: 0; }

/*
  COMPONENT: NAV
*/
.nav__outer {
  background-color: #ebebeb;
  position: relative;
  transition: background-color 0.2s ease; }
  .nav[data-sticky="stuck"] .nav__outer {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    max-height: 100%;
    overflow-y: scroll;
    z-index: 600; }
  @media screen and (min-width: 1024px) {
    .nav__outer {
      background-color: #e9e6dc; }
      .nav[data-sticky="stuck"] .nav__outer {
        background-color: #363636;
        max-height: none;
        overflow-y: visible; } }

.nav__inner {
  max-width: 1400px;
  margin-left: auto;
  margin-right: auto; }
  .nav__inner:before, .nav__inner:after {
    content: "";
    display: table; }
  .nav__inner:after {
    clear: both; }

.nav__toggle {
  display: block;
  font-family: "Oswald", sans-serif;
  text-transform: uppercase;
  font-weight: normal;
  line-height: 1.6;
  font-size: 16px;
  font-size: 1rem;
  color: inherit;
  border-bottom: inherit;
  border-bottom: 0;
  padding: 30px 20px;
  line-height: 1;
  position: relative;
  padding-right: 70px;
  text-align: right; }
  .nav__toggle:before {
    font-size: 40px;
    font-size: 2.5rem;
    position: absolute;
    top: 18px;
    right: 20px; }
  @media screen and (min-width: 1024px) {
    .nav__toggle {
      display: none; } }

.nav__main {
  max-height: 0;
  overflow: hidden;
  visibility: hidden;
  transition: max-height 0.2s ease;
  position: absolute;
  width: 100%;
  background: #ebebeb;
  z-index: 500; }
  .no-js .nav__main {
    max-height: none;
    position: static;
    visibility: visible; }
  .nav[data-sticky="stuck"] .nav__main {
    position: static; }
  [data-nav-state="active"] .nav__main {
    transition: max-height 1.5s ease;
    max-height: 5000px;
    visibility: visible; }
  @media screen and (min-width: 1024px) {
    .nav__main {
      position: static;
      transition: none;
      max-height: none;
      visibility: visible;
      float: left;
      width: 82%;
      max-width: 1040px;
      background: transparent; } }

.nav__donate {
  display: none; }
  @media screen and (min-width: 1024px) {
    .nav__donate {
      display: block;
      float: right;
      padding: 0 20px;
      margin: 20px 0;
      width: 18%;
      text-align: right; } }

.nav__list {
  clear: both;
  margin: 0;
  padding: 20px 20px 30px;
  list-style: none;
  border-top: 2px solid #dbdbdb; }
  @media screen and (min-width: 1024px) {
    .nav__list {
      border-top: 0;
      padding: 0 10px 0 20px;
      word-spacing: -4px; } }

.nav__list__item {
  margin: 0;
  font-family: "Oswald", sans-serif;
  text-transform: uppercase;
  font-weight: normal;
  line-height: 1.6;
  font-size: 20px;
  font-size: 1.25rem; }
  .nav__list__item:first-child {
    border-top: 2px solid #fff; }
  @media screen and (min-width: 1024px) {
    .nav__list__item {
      word-spacing: normal;
      display: inline-block;
      font-size: 16px;
      font-size: 1rem; }
      .nav__list__item:first-child {
        border-top: 0; } }

.nav__list__item--mobile-only {
  display: block; }
  @media screen and (min-width: 1024px) {
    .nav__list__item--mobile-only {
      display: none; } }

.nav__logo {
  float: left;
  display: none;
  margin: 12px 0;
  margin-right: 2%;
  width: 70px; }
  .nav__logo a {
    display: block;
    border: 0; }
  @media screen and (min-width: 1024px) {
    .nav[data-sticky="stuck"] .nav__logo {
      display: block; } }

.nav__list__link {
  border-bottom: 2px solid #fff;
  position: relative; }
  @media screen and (min-width: 1024px) {
    .nav__list__link {
      border-bottom: 0;
      display: inline-block; } }

.nav__list__anchor {
  color: inherit;
  border-bottom: inherit;
  display: block;
  padding: 7px 0;
  border: 0 !important; }
  .nav__list__item.is-current .nav__list__anchor {
    color: #d14414; }
  .nav__list__anchor:hover,
  [data-nav-sub-state="active"] .nav__list__anchor {
    color: #2ea393 !important; }
  .nav__list__anchor:before {
    font-size: 15px;
    font-size: 0.9375rem;
    margin-top: 5px;
    margin-left: 10px;
    float: right;
    display: none; }
  @media screen and (min-width: 1024px) {
    .nav__list__anchor {
      padding: 35px 10px;
      display: inline-block; }
      .nav[data-sticky="stuck"] .nav__list__anchor {
        color: #fff; }
      .nav__list__item.is-current .nav__list__anchor {
        color: #d14414; }
      [data-nav-has-sub] .nav__list__anchor:before {
        display: block; }
      .nav__list__item:first-child .nav__list__anchor {
        padding-left: 0; }
      .nav__list__item:last-child .nav__list__anchor {
        padding-right: 0; }
      .nav__list__anchor:after {
        content: '';
        position: absolute;
        bottom: -10px;
        left: 50%;
        margin-left: -14px;
        width: 0;
        height: 0;
        border-left: 14px solid transparent;
        border-right: 14px solid transparent;
        border-bottom: 10px solid #363636;
        transition: bottom 0.05s 0.2s ease; }
        [data-nav-sub-state="active"] .nav__list__anchor:after {
          bottom: 0; }
        .nav[data-sticky="stuck"] .nav__list__anchor:after {
          border-bottom-color: #ebebeb; } }

.nav__list__toggle {
  font-size: 15px;
  font-size: 0.9375rem;
  padding: 16px;
  border-bottom: 0 !important;
  cursor: pointer;
  border-left: 1px solid #fff;
  position: absolute;
  top: 0;
  right: 0; }
  .nav__list__toggle:hover {
    color: #2ea393 !important; }
  @media screen and (min-width: 1024px) {
    .nav__list__toggle {
      display: none; } }

.nav__sub {
  display: none; }
  .no-js .nav__sub {
    display: block; }
  [data-nav-sub-state="active"] .nav__sub {
    display: block; }
  @media screen and (min-width: 1024px) {
    .nav__sub {
      position: absolute;
      display: block;
      top: 100%;
      left: 0;
      right: 0;
      background: #363636;
      max-height: 0;
      overflow: hidden;
      transition: max-height 0.5s ease;
      z-index: 600; }
      [data-nav-sub-state] .nav__sub {
        display: block; }
      .nav[data-sticky="stuck"] .nav__sub {
        background-color: #ebebeb; }
      [data-nav-sub-state="active"] .nav__sub {
        max-height: 1000px;
        transition: max-height 1s ease; } }

.nav__sub__list {
  margin: 0;
  padding: 10px 0 10px 20px;
  list-style: none;
  border-bottom: 2px solid #fff; }
  @media screen and (min-width: 1024px) {
    .nav__sub__list {
      padding: 0 20px;
      max-width: 1400px;
      margin-left: auto;
      margin-right: auto;
      word-spacing: -4px;
      border-bottom: 0; } }

.nav__sub__list__item {
  margin: 0; }
  @media screen and (min-width: 1024px) {
    .nav__sub__list__item {
      display: inline-block;
      word-spacing: normal;
      margin-right: 2.4%; } }

.nav__sub__list__link {
  display: block;
  color: inherit;
  border-bottom: inherit;
  border-bottom: 0 !important;
  padding: 7px 0; }
  .nav__sub__list__item.is-current .nav__sub__list__link {
    color: #d14414; }
  .nav__sub__list__link:hover {
    color: #2ea393 !important; }
  @media screen and (min-width: 1024px) {
    .nav__sub__list__link {
      color: #fff;
      padding: 35px 10px; }
      .nav[data-sticky="stuck"] .nav__sub__list__link {
        color: #363636; }
      .nav__sub__list__item.is-current .nav__sub__list__link {
        color: #d14414; } }

.nav__sub__close {
  color: inherit;
  border-bottom: inherit;
  border-bottom: 0 !important;
  font-size: 18px;
  font-size: 1.125rem;
  position: absolute;
  top: 0;
  right: 0;
  padding: 7px;
  display: none;
  color: #fff; }
  @media screen and (min-width: 1024px) {
    .nav__sub__close {
      display: block; } }
  .nav__sub__close:hover {
    color: #2ea393; }

.nav__search__form {
  margin: 0 20px 30px; }
  @media screen and (min-width: 1024px) {
    .nav__search__form {
      display: none; } }

/*
  COMPONENT: OVERLAYS
*/
.overlays {
  max-width: 1400px;
  margin-left: auto;
  margin-right: auto; }

.overlays__inner {
  text-align: center;
  word-spacing: -4px;
  margin-left: -20px;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  -ms-flex-pack: center;
  justify-content: center;
  margin-top: -40px; }
  @media screen and (min-width: 768px) {
    .overlays__inner {
      margin-left: -40px; } }

.overlays__item {
  display: inline-block;
  word-spacing: normal;
  vertical-align: top;
  padding-left: 20px;
  width: 100%;
  width: 100%;
  display: -ms-flexbox;
  display: flex;
  margin-top: 40px; }
  @media screen and (min-width: 768px) {
    .overlays__item {
      padding-left: 40px; } }
  .lte-ie9 .overlays__item {
    display: inline-block; }
  @media screen and (min-width: 520px) {
    .overlays__item {
      width: 50%; } }

.overlays__item__inner {
  position: relative;
  display: -ms-flexbox;
  display: flex;
  width: 100%; }

.overlays__item__link {
  color: inherit;
  border-bottom: inherit;
  border: none !important;
  display: block;
  display: -ms-flexbox;
  display: flex;
  width: 100%; }

.overlays__item__media {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%; }
  .overlays__item__media img {
    object-fit: cover; }

.overlays__item__content {
  position: relative;
  z-index: 10;
  width: 100%;
  padding-left: 20px;
  padding-right: 20px;
  padding-top: 70px;
  padding-bottom: 70px;
  background-color: rgba(0, 0, 0, 0.7); }
  @media screen and (min-width: 768px) {
    .overlays__item__content {
      padding-left: 20px; } }
  @media screen and (min-width: 768px) {
    .overlays__item__content {
      padding-right: 20px; } }
  @media screen and (min-width: 768px) {
    .overlays__item__content {
      padding-top: 140px; } }
  @media screen and (min-width: 768px) {
    .overlays__item__content {
      padding-bottom: 140px; } }
  .overlays__item__link:hover .overlays__item__content,
  .overlays__item__link:focus .overlays__item__content {
    background-color: rgba(0, 0, 0, 0.8); }

.overlays__item__content__inner {
  max-width: 320px;
  margin: 0 auto; }
  .overlays__item__content__inner > *:first-child {
    margin-top: 0; }
  .overlays__item__content__inner > *:last-child {
    margin-bottom: 0; }

/*
  COMPONENT: PAGER
*/
.pager {
  max-width: 1400px;
  margin-left: auto;
  margin-right: auto;
  padding: 0 20px;
  margin: 3em auto; }
  .pager:first-child {
    margin-top: 0; }
  .pager:last-child {
    margin-bottom: 0; }

.pager__inner {
  margin-top: -40px;
  text-align: center;
  text-align: center;
  word-spacing: -4px;
  margin-left: -20px; }
  @media screen and (min-width: 768px) {
    .pager__inner {
      margin-left: -40px; } }
  @media screen and (min-width: 480px) {
    .pager__inner:before, .pager__inner:after {
      content: "";
      display: table; }
    .pager__inner:after {
      clear: both; } }

.pager__item {
  display: inline-block;
  word-spacing: normal;
  vertical-align: top;
  padding-left: 20px;
  width: 100%;
  text-align: center;
  margin-top: 40px;
  width: 100%; }
  @media screen and (min-width: 768px) {
    .pager__item {
      padding-left: 40px; } }
  @media screen and (min-width: 480px) {
    .pager__item {
      width: 50%; } }
  @media screen and (min-width: 680px) {
    .pager__item {
      max-width: 580px; } }

@media screen and (min-width: 680px) {
  .pager__item--prev {
    float: left;
    text-align: left;
    padding-right: 20px; } }

@media screen and (min-width: 680px) {
  .pager__item--next {
    float: right;
    text-align: right;
    padding-left: 20px; } }

.pager__item__link {
  display: block;
  border: none !important; }

.pager__item__media {
  display: block;
  margin: 0 auto 20px; }
  @media screen and (min-width: 680px) {
    .pager__item__media {
      margin: 0;
      max-width: 50%; } }
  @media screen and (min-width: 680px) {
    .pager__item--prev .pager__item__media {
      float: left;
      padding-right: 30px; } }
  @media screen and (min-width: 1024px) {
    .pager__item--prev .pager__item__media {
      padding-right: 40px; } }
  @media screen and (min-width: 680px) {
    .pager__item--next .pager__item__media {
      float: right;
      padding-left: 30px; } }
  @media screen and (min-width: 1024px) {
    .pager__item--next .pager__item__media {
      padding-left: 40px; } }

.pager__item__text {
  line-height: 1.6;
  overflow: hidden;
  margin: 0; }
  .pager__item__text span {
    color: inherit;
    text-decoration: none;
    border-bottom: 1px solid #2ea393; }
    .pager__item__text span:hover {
      border-bottom-style: dotted; }
    .pager__item__link:hover .pager__item__text span,
    .pager__item__link:focus .pager__item__text span {
      border-bottom-style: dotted; }

/*
  COMPONENT: PAGING
*/
.paging {
  max-width: 1400px;
  margin-left: auto;
  margin-right: auto;
  text-align: center;
  margin-top: 20px;
  margin-bottom: 20px; }
  @media screen and (min-width: 768px) {
    .paging {
      margin-top: 40px; } }
  @media screen and (min-width: 768px) {
    .paging {
      margin-bottom: 40px; } }

.paging__link {
  border: 1px solid #ebebeb;
  padding: 5px 12px;
  display: inline-block; }
  .paging__link:hover, .paging__link:focus {
    border-style: solid !important;
    border-color: #2ea393; }
  .paging__link span {
    position: absolute;
    left: -9999em;
    top: auto;
    width: 1px;
    height: 1px;
    overflow: hidden; }

.paging__link--active {
  background: #2ea393;
  color: #fff;
  border-color: #2ea393; }

.paging__list {
  margin: 0;
  padding: 0;
  list-style: none;
  display: none; }
  @media screen and (min-width: 640px) {
    .paging__list {
      display: inline-block; } }
  .paging__list li {
    display: inline-block;
    margin: 0; }

.paging__step {
  display: inline-block; }

/*
  COMPONENT: PANEL
*/
.panel {
  max-width: 1400px;
  margin-left: auto;
  margin-right: auto;
  padding-left: 20px;
  padding-right: 20px;
  padding-top: 40px;
  padding-bottom: 40px;
  margin-top: 20px;
  margin-bottom: 20px; }
  @media screen and (min-width: 768px) {
    .panel {
      padding-left: 20px; } }
  @media screen and (min-width: 768px) {
    .panel {
      padding-right: 20px; } }
  @media screen and (min-width: 768px) {
    .panel {
      padding-top: 50px; } }
  @media screen and (min-width: 768px) {
    .panel {
      padding-bottom: 50px; } }
  @media screen and (min-width: 768px) {
    .panel {
      margin-top: 40px; } }
  @media screen and (min-width: 768px) {
    .panel {
      margin-bottom: 40px; } }
  .panel:first-child {
    margin-top: 0; }
  .panel:last-child {
    margin-bottom: 0; }
  .panel > *:first-child {
    margin-top: 0; }
  .panel > *:last-child {
    margin-bottom: 0; }

.panel--keyline {
  border: 2px solid #ebebeb; }

.panel--reduced {
  max-width: 1160px; }

.panel--spacing-xlrg {
  margin-top: 30px;
  margin-bottom: 30px; }
  @media screen and (min-width: 768px) {
    .panel--spacing-xlrg {
      margin-top: 60px; } }
  @media screen and (min-width: 768px) {
    .panel--spacing-xlrg {
      margin-bottom: 60px; } }

/*
  COMPONENT: PROMOS
*/
.promos {
  max-width: 1400px;
  margin-left: auto;
  margin-right: auto; }
  .promos:first-child {
    margin-top: 0; }
  .promos:last-child {
    margin-bottom: 0; }
  .promos--lrg-space {
    margin-top: 40px;
    margin-bottom: 40px; }
    @media screen and (min-width: 768px) {
      .promos--lrg-space {
        margin-top: 80px; } }
    @media screen and (min-width: 768px) {
      .promos--lrg-space {
        margin-bottom: 80px; } }

.promos--with-lead {
  max-width: 1160px; }

.promos__inner {
  text-align: center;
  word-spacing: -4px;
  margin-left: -20px;
  margin-bottom: -40px; }
  @media screen and (min-width: 768px) {
    .promos__inner {
      margin-left: -40px; } }
  @media screen and (min-width: 768px) {
    .promos__inner {
      margin-bottom: -40px; } }

.promos__item {
  display: inline-block;
  word-spacing: normal;
  vertical-align: top;
  padding-left: 20px;
  width: 100%;
  max-width: 700px;
  margin-bottom: 40px; }
  @media screen and (min-width: 768px) {
    .promos__item {
      padding-left: 40px; } }
  @media screen and (min-width: 768px) {
    .promos__item {
      max-width: 720px; } }
  @media screen and (min-width: 768px) {
    .promos__item {
      margin-bottom: 40px; } }
  @media screen and (min-width: 640px) {
    .promos:not(.promos--mini) .promos__item:first-child:nth-last-child(2), .promos:not(.promos--mini)
    .promos__item:first-child:nth-last-child(2) ~ .promos__item {
      width: 50%; } }
  @media screen and (min-width: 768px) {
    .promos:not(.promos--mini) .promos__item:first-child:nth-last-child(3), .promos:not(.promos--mini)
    .promos__item:first-child:nth-last-child(3) ~ .promos__item {
      width: 33.3334%; } }
  @media screen and (min-width: 640px) {
    .promos:not(.promos--mini) .promos__item:first-child:nth-last-child(4), .promos:not(.promos--mini)
    .promos__item:first-child:nth-last-child(4) ~ .promos__item {
      width: 50%; } }
  @media screen and (min-width: 1024px) {
    .promos:not(.promos--mini) .promos__item:first-child:nth-last-child(4), .promos:not(.promos--mini)
    .promos__item:first-child:nth-last-child(4) ~ .promos__item {
      width: 25%; } }
  @media screen and (min-width: 768px) {
    .promos--with-lead .promos__item {
      width: 25% !important; }
      .promos--with-lead .promos__item.promos__item--lead {
        width: 50% !important; } }
  .promos--mini .promos__item {
    width: 100%; }
    @media screen and (min-width: 480px) {
      .promos--mini .promos__item {
        width: 50%; } }
    @media screen and (min-width: 640px) {
      .promos--mini .promos__item {
        width: 33.3334%; } }
    @media screen and (min-width: 1201px) {
      .promos--mini .promos__item {
        width: 16.6667%; } }

.promos__item--padded .promos__item__inner {
  padding: 20px 20px 40px; }

.promos__item__media {
  margin-bottom: 30px; }
  @media screen and (min-width: 768px) {
    .promos__item__media {
      margin-bottom: 30px; } }

.promos__item__copy {
  padding: 0 10px; }
  .promos__item:first-child:nth-last-child(3) .promos__item__copy,
  .promos__item:first-child:nth-last-child(3) ~ .promos__item .promos__item__copy {
    font-size: 16px;
    font-size: 1rem; }
    @media screen and (min-width: 1024px) {
      .promos__item:first-child:nth-last-child(3) .promos__item__copy,
      .promos__item:first-child:nth-last-child(3) ~ .promos__item .promos__item__copy {
        font-size: 18px;
        font-size: 1.125rem; } }
  .promos__item:first-child:nth-last-child(4) .promos__item__copy,
  .promos__item:first-child:nth-last-child(4) ~ .promos__item .promos__item__copy {
    font-size: 16px;
    font-size: 1rem; }
    @media screen and (min-width: 1201px) {
      .promos__item:first-child:nth-last-child(4) .promos__item__copy,
      .promos__item:first-child:nth-last-child(4) ~ .promos__item .promos__item__copy {
        font-size: 18px;
        font-size: 1.125rem; } }
  .promos__item--padded .promos__item__copy {
    padding: 0; }
  .promos__item__copy > *:first-child {
    margin-top: 0; }
  .promos__item__copy > *:last-child {
    margin-bottom: 0; }

.promos__item__title {
  margin-bottom: 25px; }

.promos__item__figure {
  margin: 0; }

.promos__item__caption {
  margin: 3em auto 0;
  max-width: 340px; }

/*
  COMPONENT: QUOTE
*/
.quote {
  max-width: 920px;
  margin-left: auto;
  margin-right: auto;
  text-align: center; }
  .quote:first-child {
    margin-top: 0; }
  .quote:last-child {
    margin-bottom: 0; }
  .quote > *:first-child {
    margin-top: 0; }
  .quote > *:last-child {
    margin-bottom: 0; }
  .quote:before {
    font-size: 55px;
    font-size: 3.4375rem;
    margin-bottom: 20px;
    color: #ffd141;
    display: block; }

.quote--grey-light:before {
  color: #dedede; }

@media screen and (min-width: 1201px) {
  .quote--pull-left {
    text-align: left;
    position: relative;
    padding-left: 80px; }
    .quote--pull-left:before {
      position: absolute;
      top: 0;
      left: 0;
      margin-top: -4px;
      margin-left: 0; } }

/*
  COMPONENT: RECEIPT
*/
.receipt {
  max-width: 920px;
  margin-left: auto;
  margin-right: auto;
  padding-top: 25px;
  padding-bottom: 25px;
  padding-left: 20px;
  padding-right: 20px; }
  @media screen and (min-width: 768px) {
    .receipt {
      padding-top: 50px; } }
  @media screen and (min-width: 768px) {
    .receipt {
      padding-bottom: 50px; } }
  @media screen and (min-width: 768px) {
    .receipt {
      padding-left: 40px; } }
  @media screen and (min-width: 768px) {
    .receipt {
      padding-right: 40px; } }
  @media screen and (min-width: 520px) {
    .receipt {
      border: 2px solid #ebebeb; } }

.receipt__content > *:first-child {
  margin-top: 0; }

.receipt__content > *:last-child {
  margin-bottom: 0; }

.receipt__summary {
  padding: 0;
  list-style: none;
  margin: 40px 0;
  text-align: center;
  word-spacing: -4px;
  margin-left: -20px; }
  .receipt__summary:first-child {
    margin-top: 0; }
  .receipt__summary:last-child {
    margin-bottom: 0; }
  @media screen and (min-width: 768px) {
    .receipt__summary {
      margin-left: -40px; } }
  .receipt__summary li {
    text-align: center;
    display: inline-block;
    word-spacing: normal;
    vertical-align: top;
    padding-left: 20px;
    width: 100%;
    width: 50%; }
    @media screen and (min-width: 768px) {
      .receipt__summary li {
        padding-left: 40px; } }
    @media screen and (min-width: 520px) {
      .receipt__summary li {
        text-align: left;
        width: 25%; } }
    .receipt__summary li strong {
      font-weight: normal;
      color: #d14414;
      display: block; }
      @media screen and (min-width: 520px) {
        .receipt__summary li strong {
          margin-bottom: 0.6em; } }
    .receipt__summary li span {
      display: block; }

.receipt__items {
  width: 100%;
  border-collapse: collapse;
  margin: 40px 0;
  border-bottom: 1px solid #ebebeb; }
  .receipt__items:first-child {
    margin-top: 0; }
  .receipt__items:last-child {
    margin-bottom: 0; }
  .receipt__items th {
    display: none;
    color: #d14414;
    font-weight: normal; }
    @media screen and (min-width: 520px) {
      .receipt__items th {
        display: table-cell;
        text-align: left;
        width: 16%;
        border-top: 1px solid #ebebeb;
        border-bottom: 1px solid #ebebeb;
        padding: 1em 0; } }
  .receipt__items td {
    display: block;
    border: 0;
    padding: 0.4em 0;
    text-align: center; }
    @media screen and (min-width: 520px) {
      .receipt__items td {
        text-align: left;
        padding: 1em 0 !important;
        display: table-cell;
        border-top: 1px solid #ebebeb;
        border-bottom: 1px solid #ebebeb; } }
    .receipt__items td:before {
      content: attr(data-table-label);
      display: block;
      color: #d14414; }
      @media screen and (min-width: 520px) {
        .receipt__items td:before {
          display: none; } }
    .receipt__items td:first-child {
      border-top: 1px solid #ebebeb;
      padding-top: 1.2em; }
    .receipt__items td:last-child {
      padding-bottom: 1.2em; }
  .receipt__items .receipt__items__item-col {
    width: 52%; }

/*
  COMPONENT: ROW
*/
.row {
  max-width: 100%;
  margin-left: auto;
  margin-right: auto;
  padding-left: 20px;
  padding-right: 20px;
  padding-top: 40px;
  padding-bottom: 40px;
  overflow: hidden; }
  @media screen and (min-width: 768px) {
    .row {
      padding-left: 20px; } }
  @media screen and (min-width: 768px) {
    .row {
      padding-right: 20px; } }
  @media screen and (min-width: 768px) {
    .row {
      padding-top: 60px; } }
  @media screen and (min-width: 768px) {
    .row {
      padding-bottom: 60px; } }
  @media screen and (min-width: 1024px) {
    .row {
      padding-top: 80px;
      padding-bottom: 80px; } }
  .row > *:first-child {
    margin-top: 0; }
  .row > *:last-child {
    margin-bottom: 0; }

.row--flush {
  padding: 0 !important; }

.row--flush-horizontal {
  padding-left: 0 !important;
  padding-right: 0 !important; }

.row--flush-vertical {
  padding-top: 0 !important;
  padding-bottom: 0 !important; }

.row--allow-overflow {
  overflow: visible; }

.row--keyline-top, .row--keyline {
  border-top: 1px solid #dbdbdb;
  margin-top: -1px; }

.row--keyline-bottom, .row--keyline {
  border-bottom: 1px solid #dbdbdb;
  margin-bottom: -1px; }

/*
  COMPONENT: SHARE
*/
.share {
  max-width: 1400px;
  margin-left: auto;
  margin-right: auto; }

.share__nav {
  margin: 40px auto;
  list-style: none;
  padding: 0;
  text-align: center; }
  .share__nav li {
    display: inline-block;
    margin: 0; }
    @media screen and (min-width: 480px) {
      .share__nav li {
        margin: 0 10px 20px; } }
  .share__nav a {
    color: inherit;
    border-bottom: inherit;
    font-size: 30px;
    font-size: 1.875rem;
    display: inline-block;
    border: 1px solid #ebebeb;
    color: #2ea393;
    width: 50px;
    height: 50px;
    line-height: 50px; }
    @media screen and (min-width: 640px) {
      .share__nav a {
        font-size: 55px;
        font-size: 3.4375rem;
        width: 70px;
        height: 70px;
        line-height: 70px; } }
    .share__nav a:hover, .share__nav a:focus {
      border-color: #555; }
    .share__nav a i {
      line-height: inherit; }

/*
  COMPONENT: SKIP-LINK
*/
.skip-link {
  position: absolute;
  left: -9999em;
  top: auto;
  width: 1px;
  height: 1px;
  overflow: hidden; }
  .skip-link:hover, .skip-link:focus {
    position: static;
    left: auto;
    width: auto;
    height: auto;
    overflow: visible; }

/*
  COMPONENT: STAT-SET
*/
.stat-set {
  margin: 35px 0; }
  .stat-set:first-child {
    margin-top: 0; }
  .stat-set:last-child {
    margin-bottom: 0; }

.stat-set__item {
  display: inline-block;
  width: 100%;
  max-width: 220px;
  border: 1px solid #555;
  padding: 20px;
  margin-right: -5px;
  margin-bottom: -1px; }
  .stat-set--invert .stat-set__item {
    border-color: #fff; }
  .stat-set--black-alpha .stat-set__item {
    background-color: rgba(0, 0, 0, 0.5); }

/*
  COMPONENT: STAT
*/
.stat__label {
  display: block; }

.stat__label--split:before, .stat__label--split:after {
  content: "";
  display: table; }

.stat__label--split:after {
  clear: both; }

.stat__label__start {
  float: left; }

.stat__label__end {
  float: right; }

.stat__value {
  display: block;
  margin: 12px 0 0;
  line-height: 1.3; }
  .stat--invert .stat__value {
    color: inherit; }
  .stat__value--border {
    border-top: 2px solid #ebebeb;
    padding-top: 14px; }

.stat__value--progress {
  position: relative;
  height: 5px;
  background: #ebebeb;
  border-radius: 10px;
  margin: 40px 0 25px; }

.stat__value__line {
  height: 5px;
  background: #d14414;
  position: absolute;
  top: 0;
  left: 0;
  z-index: 10;
  border-radius: 10px;
  border-right: 15px solid transparent;
  border-left: 15px solid transparent; }

.stat__value__roundal {
  display: block;
  width: 50px;
  height: 50px;
  border-radius: 50%;
  background: #d14414;
  color: #fff;
  margin-left: -25px;
  margin-top: -23px;
  position: absolute;
  top: 0;
  right: -25px;
  z-index: 20;
  text-align: center;
  line-height: 50px;
  font-style: italic;
  box-shadow: 0 0 0 3px white; }

/*
  COMPONENT: STEPS
*/
.steps {
  max-width: 1160px;
  margin-left: auto;
  margin-right: auto;
  margin-top: 25px;
  margin-bottom: 25px; }
  @media screen and (min-width: 768px) {
    .steps {
      margin-top: 50px; } }
  @media screen and (min-width: 768px) {
    .steps {
      margin-bottom: 50px; } }

.steps__label {
  margin: 0;
  text-align: center;
  font-family: "Oswald", sans-serif;
  text-transform: uppercase;
  font-weight: normal;
  line-height: 1.6;
  font-size: 20px;
  font-size: 1.25rem; }
  @media screen and (min-width: 640px) {
    .steps__label {
      display: none; } }

.steps__list {
  margin: -30px 0 0 0;
  padding: 0;
  list-style: none;
  counter-reset: my-badass-counter;
  font-family: "Oswald", sans-serif;
  text-transform: uppercase;
  font-weight: normal;
  line-height: 1.6;
  font-size: 16px;
  font-size: 1rem;
  text-align: center;
  display: none; }
  @media screen and (min-width: 640px) {
    .steps__list {
      display: block; } }

.steps__item {
  display: inline-block;
  margin: 30px 1px 0;
  text-align: center;
  color: #dbdbdb;
  width: 100%;
  vertical-align: top;
  max-width: 100px; }
  @media screen and (min-width: 768px) {
    .steps__item {
      max-width: 120px;
      margin-left: 2px;
      margin-right: 2px; } }
  @media screen and (min-width: 1024px) {
    .steps__item {
      max-width: 160px; } }
  @media screen and (min-width: 1201px) {
    .steps__item {
      max-width: 175px; } }
  .steps__item span {
    position: absolute;
    left: -9999em;
    top: auto;
    width: 1px;
    height: 1px;
    overflow: hidden; }
  .steps__item:before {
    content: counter(my-badass-counter);
    counter-increment: my-badass-counter;
    font-family: "Lato", sans-serif;
    font-weight: normal;
    font-size: 18px;
    font-size: 1.125rem;
    font-weight: bold;
    letter-spacing: normal;
    text-align: center;
    background: #dbdbdb;
    border-radius: 50%;
    display: block;
    margin: 0 auto 20px;
    color: #fff;
    width: 50px;
    height: 50px;
    line-height: 50px; }
    @media screen and (min-width: 640px) {
      .steps__item:before {
        font-size: 24px;
        font-size: 1.5rem; } }
    @media screen and (min-width: 1024px) {
      .steps__item:before {
        font-size: 32px;
        font-size: 2rem; } }
    @media screen and (min-width: 1024px) {
      .steps__item:before {
        width: 75px;
        height: 75px;
        line-height: 74px; } }

.steps__item--current {
  color: #363636; }
  .steps__item--current:before {
    background: #d14414; }

/*
  COMPONENT: ACCORDION
*/
.tabs__nav {
  word-spacing: -4px;
  text-align: center;
  margin-bottom: 40px;
  display: none; }
  @media screen and (min-width: 1024px) {
    .tabs__nav {
      display: block; } }

.tabs__nav__trigger {
  color: inherit;
  border-bottom: inherit;
  font-family: "Oswald", sans-serif;
  text-transform: uppercase;
  font-weight: normal;
  line-height: 1.6;
  font-size: 18px;
  font-size: 1.125rem;
  display: inline-block;
  border: 1px solid #ebebeb !important;
  padding: 20px 40px;
  word-spacing: normal; }
  @media screen and (min-width: 768px) {
    .tabs__nav__trigger {
      font-size: 20px;
      font-size: 1.25rem; } }
  @media screen and (min-width: 1201px) {
    .tabs__nav__trigger {
      font-size: 24px;
      font-size: 1.5rem; } }
  .tabs__nav--lrg .tabs__nav__trigger {
    font-size: 30px;
    font-size: 1.875rem; }
    @media screen and (min-width: 520px) {
      .tabs__nav--lrg .tabs__nav__trigger {
        font-size: 40px;
        font-size: 2.5rem; } }
    @media screen and (min-width: 768px) {
      .tabs__nav--lrg .tabs__nav__trigger {
        font-size: 45px;
        font-size: 2.8125rem; } }
    .tabs__nav--lrg .tabs__nav__trigger i {
      float: left;
      margin-right: 10px;
      font-size: 70px;
      font-size: 4.375rem; }
  .tabs__nav--white .tabs__nav__trigger {
    background-color: #fff;
    border-color: #fff !important; }
  .tabs__nav__trigger[data-tabs-nav-item="active"] {
    background: #2ea393;
    color: #fff;
    border-color: #2ea393 !important; }
  .tabs__nav__trigger span {
    color: inherit;
    text-decoration: none;
    border-bottom: 1px solid #2ea393; }
    .tabs__nav__trigger span:hover {
      border-bottom-style: dotted; }
  .tabs__nav__trigger:hover span, .tabs__nav__trigger:focus span {
    border-bottom-style: dotted; }

.tabs__dropdown {
  text-transform: uppercase;
  margin: 0 auto 40px; }
  @media screen and (min-width: 1024px) {
    .tabs__dropdown {
      display: none; } }

.js .tabs__item {
  display: none; }

.tabs__item[data-tabs-item="active"] {
  display: block; }

.tabs__item > *:first-child {
  margin-top: 0; }

.tabs__item > *:last-child {
  margin-bottom: 0; }

/*
  COMPONENT: TITLE
*/
*:not(form) > .title {
  max-width: 920px;
  margin-left: auto;
  margin-right: auto;
  text-align: center; }
  *:not(form) > .title:first-child {
    margin-top: 0; }
  *:not(form) > .title:last-child {
    margin-bottom: 0; }

*:not(form) > .title--dot {
  position: relative;
  padding-bottom: 30px;
  margin-bottom: 25px; }
  *:not(form) > .title--dot.h-primary {
    margin-bottom: 35px; }
  *:not(form) > .title--dot:after {
    content: "";
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0;
    margin: auto;
    width: 9px;
    height: 9px;
    border-radius: 50%;
    background-color: #555; }
    .clr-teal *:not(form) > .title--dot:after,
    .clr-grey-dark *:not(form) > .title--dot:after, .hero__content *:not(form) > .title--dot:after, .overlays__item__content *:not(form) > .title--dot:after,
    .clr-yellow *:not(form) > .title--dot:after {
      background-color: #fff; }

*:not(form) > .title--margin-sml {
  margin-top: 0.8em;
  margin-bottom: 0.8em; }

*:not(form) > .title__sub {
  display: block;
  font-size: 18px;
  font-size: 1.125rem;
  color: #363636;
  margin-bottom: 0.4em; }
  .clr-teal *:not(form) > .title__sub,
  .clr-grey-dark *:not(form) > .title__sub, .hero__content *:not(form) > .title__sub, .overlays__item__content *:not(form) > .title__sub {
    color: #fff; }

.demo-grid .grid {
  text-align: center;
  word-spacing: -4px;
  margin-left: -20px; }
  @media screen and (min-width: 768px) {
    .demo-grid .grid {
      margin-left: -40px; } }
  .demo-grid .grid code {
    display: block;
    margin: 10px 0;
    background: #e1e1e1;
    white-space: normal;
    font-size: 10px;
    font-size: 0.625rem; }
  .demo-grid .grid code code {
    background: #c1c1c1; }
  .demo-grid .grid code code code {
    background: #a1a1a1; }

.demo-grid [class^="col-"] {
  display: inline-block;
  word-spacing: normal;
  vertical-align: top;
  padding-left: 20px;
  width: 100%; }
  @media screen and (min-width: 768px) {
    .demo-grid [class^="col-"] {
      padding-left: 40px; } }

.demo-grid .col-12-12 {
  width: 100%; }

.demo-grid .col-11-12 {
  width: 91.6667%; }

.demo-grid .col-10-12 {
  width: 83.3334%; }

.demo-grid .col-9-12 {
  width: 75%; }

.demo-grid .col-8-12 {
  width: 66.6667%; }

.demo-grid .col-7-12 {
  width: 58.3334%; }

.demo-grid .col-6-12 {
  width: 50%; }

.demo-grid .col-5-12 {
  width: 41.6667%; }

.demo-grid .col-4-12 {
  width: 33.3334%; }

.demo-grid .col-3-12 {
  width: 25%; }

.demo-grid .col-2-12 {
  width: 16.6667%; }

.demo-grid .col-1-12 {
  width: 8.3334%; }

/*# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInRvb2xraXQuc2NzcyIsIl92YXJpYWJsZXMuc2NzcyIsImhlbHBlcnMvX2hlbHBlci1icmVha3BvaW50cy5zY3NzIiwiaGVscGVycy9faGVscGVyLWxheW91dC5zY3NzIiwiaGVscGVycy9faGVscGVyLXR5cG9ncmFwaHkuc2NzcyIsImhlbHBlcnMvX2hlbHBlcnMuc2NzcyIsInZlbmRvci9fbm9ybWFsaXplLnNjc3MiLCJ0b29sa2l0LmNzcyIsImNvcmUvX2J1dHRvbnMuc2NzcyIsImNvcmUvX2NvbG9yLnNjc3MiLCJjb3JlL19mb3Jtcy5zY3NzIiwiY29yZS9fZ2xvYmFsLnNjc3MiLCJjb3JlL19pY29ucy5zY3NzIiwiY29yZS9fbGF5b3V0LnNjc3MiLCJjb3JlL19tZWRpYS5zY3NzIiwiY29yZS9fcHJpbnQuc2NzcyIsImNvcmUvX3R5cG9ncmFwaHkuc2NzcyIsImNvbXBvbmVudHMvX2FjY29yZGlvbi5zY3NzIiwiY29tcG9uZW50cy9fYXJ0aWNsZS5zY3NzIiwiY29tcG9uZW50cy9fYmFza2V0LnNjc3MiLCJjb21wb25lbnRzL19icmVhZGNydW1icy5zY3NzIiwiY29tcG9uZW50cy9fY29weS5zY3NzIiwiY29tcG9uZW50cy9fY3RhLWlubGluZS5zY3NzIiwiY29tcG9uZW50cy9fZG9uYXRlLnNjc3MiLCJjb21wb25lbnRzL19kb3dubG9hZC5zY3NzIiwiY29tcG9uZW50cy9fZmlsdGVyLnNjc3MiLCJjb21wb25lbnRzL19mb290ZXIuc2NzcyIsImNvbXBvbmVudHMvX2hlcm8uc2NzcyIsImNvbXBvbmVudHMvX2ltYWdlLnNjc3MiLCJjb21wb25lbnRzL19pbWFnZXNldC5zY3NzIiwiY29tcG9uZW50cy9faW5mby1zZXQuc2NzcyIsImNvbXBvbmVudHMvX2xhYmVsbGVkLWltYWdlcy5zY3NzIiwiY29tcG9uZW50cy9fbG9hZC5zY3NzIiwiY29tcG9uZW50cy9fbWFwLnNjc3MiLCJjb21wb25lbnRzL19tYXNvbnJ5LnNjc3MiLCJjb21wb25lbnRzL19tYXN0aGVhZC5zY3NzIiwiY29tcG9uZW50cy9fbWVkaWEtYmxvY2stZ3JpZC5zY3NzIiwiY29tcG9uZW50cy9fbWVkaWEtYmxvY2stbGlzdC5zY3NzIiwiY29tcG9uZW50cy9fbWVkaWEtYmxvY2suc2NzcyIsImNvbXBvbmVudHMvX25hdi5zY3NzIiwiY29tcG9uZW50cy9fb3ZlcmxheXMuc2NzcyIsImNvbXBvbmVudHMvX3BhZ2VyLnNjc3MiLCJjb21wb25lbnRzL19wYWdpbmcuc2NzcyIsImNvbXBvbmVudHMvX3BhbmVsLnNjc3MiLCJjb21wb25lbnRzL19wcm9tb3Muc2NzcyIsImNvbXBvbmVudHMvX3F1b3RlLnNjc3MiLCJjb21wb25lbnRzL19yZWNlaXB0LnNjc3MiLCJjb21wb25lbnRzL19yb3cuc2NzcyIsImNvbXBvbmVudHMvX3NoYXJlLnNjc3MiLCJjb21wb25lbnRzL19za2lwLWxpbmsuc2NzcyIsImNvbXBvbmVudHMvX3N0YXQtc2V0LnNjc3MiLCJjb21wb25lbnRzL19zdGF0LnNjc3MiLCJjb21wb25lbnRzL19zdGVwcy5zY3NzIiwiY29tcG9uZW50cy9fdGFicy5zY3NzIiwiY29tcG9uZW50cy9fdGl0bGUuc2NzcyIsImRlbW8vX2RlbW8tZ3JpZC5zY3NzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOztHQUVHO0FDRkg7O0VBRUU7QUFFRjs7OztFQUlFO0FBa0JGOzs7O0VBSUU7QUFnREY7Ozs7RUFJRTtBQWdERjs7Ozs7RUFLRTtBQ3ZJRjs7O0VBR0U7QUNIRjs7RUFFRTtBQ0ZGOztFQUVFO0FDRkY7OztHQUdHO0FBRUgsbUJBQW1CO0FBa0JuQixnQkFBZ0I7QUN2QmhCLDRFQUE0RTtBQUU1RTs7O0dBR0c7QUFFSDtFQUNFLHdCQUF3QjtFQUFFLE9BQU87RUFDakMsMkJBQTJCO0VBQUUsT0FBTztFQUNwQywrQkFBK0I7RUFBRSxPQUFPLEVBQ3pDOztBQUVEOztHQUVHO0FBRUg7RUFDRSxVQUFVLEVBQ1g7O0FBRUQ7Z0ZBQ2dGO0FBRWhGOzs7O0dBSUc7QUFFSDs7Ozs7Ozs7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WSxFV0NiO0VkTUc7SWNaSjtNWkVFLGdCSCtGZ0I7TUc5RmhCLG9CQ0VZLEVXQ2IsRUFBQTs7QUFFRDs7O0VacUNFLGtDSHFDOEI7RUdwQzlCLDBCQUEwQjtFQUMxQixvQkFBb0I7RUFDcEIsaUJIbUVhO0VleEdiLGVmS2tCO0VlSmxCLGdCQUF5QjtFQUN6Qix1QmYwR2lCLEVleEdsQjs7QUFFRDtFWmZFLGdCSHNGa0I7RUdyRmxCLG9CQ0VZLEVXWStGO0VkTHpHO0ljS0o7TVpmRSxnQkhxRmtCO01HcEZsQixrQkNFWSxFV1krRixFQUFBO0VkTHpHO0ljS0o7TVpmRSxnQkhvRm1CO01HbkZuQixxQkNFWSxFV1krRixFQUFBOztBQUM3RztFWmhCRSxnQkh1RmtCO0VHdEZsQixrQkNFWSxFV2E4RjtFZE54RztJY01KO01aaEJFLGdCSHNGa0I7TUdyRmxCLG9CQ0VZLEVXYThGLEVBQUE7RWROeEc7SWNNSjtNWmhCRSxnQkhxRmtCO01HcEZsQixrQkNFWSxFV2E4RixFQUFBOztBQUM1RztFWmpCRSxnQkh3Rm1CO0VHdkZuQixtQkNFWSxFV2MrRjtFZFB6RztJY09KO01aakJFLGdCSHVGa0I7TUd0RmxCLGtCQ0VZLEVXYytGLEVBQUE7RWRQekc7SWNPSjtNWmpCRSxnQkhzRmtCO01HckZsQixvQkNFWSxFV2MrRixFQUFBOztBQUM3RztFWmxCRSxnQkh5Rm9CO0VHeEZwQixvQkNFWSxFV2VpRztFZFIzRztJY1FKO01abEJFLGdCSHdGbUI7TUd2Rm5CLG1CQ0VZLEVXZWlHLEVBQUE7RWRSM0c7SWNRSjtNWmxCRSxnQkh1RmtCO01HdEZsQixrQkNFWSxFV2VpRyxFQUFBOztBQUUvRztFWnBCRSxnQkgwRnFCO0VHekZyQixnQkNFWTtFV29CWixnQkFBc0I7RUFDdEIsZWZqQnFCO0Vla0JyQixxQkFBcUIsRUFFdEI7RWRqQkc7SWNVSjtNWnBCRSxnQkh5Rm9CO01HeEZwQixvQkNFWSxFV3dCYixFQUFBO0VkakJHO0ljVUo7TVpwQkUsZ0JId0ZtQjtNR3ZGbkIsbUJDRVksRVd3QmIsRUFBQTs7QUFFRDtFWjdCRSxnQkhzRmtCO0VHckZsQixvQkNFWSxFVzZCYjtFZHRCRztJY21CSjtNWjdCRSxnQkhtRm9CO01HbEZwQixxQkNFWSxFVzZCYixFQUFBOztBQUVEO0VBQ0UsMEJBQWdDLEVBQ2pDOztBQUVEO0VBQ0UsMEJBQTZCLEVBQzlCOztBQUVEO0VaMUNFLGdCSHlGb0I7RUd4RnBCLG9CQ0VZLEVXeUNiO0VkbENHO0ljZ0NKO01aMUNFLGdCSHdGbUI7TUd2Rm5CLG1CQ0VZLEVXeUNiLEVBQUE7O0FBR0Q7RUFDRSwwQkFBZ0MsRUFNakM7RUFQRDs7SUFLSSxZZi9DWSxFZWdEYjs7QUFHSDtFWldFLGVBRDZCO0VBRTdCLHNCQUFzQjtFQUN0QixpQ0h0RGdCLEVlMkNqQjtFQUZEO0laZ0JJLDRCQUE0QixFQUM3Qjs7QVliSDtFQUNFLG9CQUFvQixFQUVyQjs7QUFFRDtFWmpDRSxnQ0grQzBCO0VHOUMxQixpQkFBaUI7RUFDakIsaUJIOEVpQjtFR2hIakIsZ0JIK0ZnQjtFRzlGaEIsb0JDRVk7RVdnRVosZ0JBQWdCLEVBQ2pCO0VkMURHO0ljdURKO01aakVFLGdCSDhGZ0I7TUc3RmhCLGtCQ0VZLEVXaUViLEVBQUE7O0FBRUQ7RVp0RUUsZ0JIK0ZnQjtFRzlGaEIsb0JDRVksRVdxRWI7RWQ5REc7SWM0REo7TVp0RUUsZ0JIOEZnQjtNRzdGaEIsa0JDRVksRVdxRWIsRUFBQTs7QUFFRDtFQUNFLGdCQUFzQixFQUV2Qjs7QUFFRDtFQUNFLGlCQUFpQjtFQUNqQixnQkFBZ0I7RUFDaEIsb0JBQW9CLEVBQ3JCOztBQUVEO0VBQ0UsZ0JBQXNCLEVBU3ZCO0VBVkQ7SUFJSSxvQkFBMEIsRUFDM0I7O0FBT0g7RUFDRSxnQkFBc0IsRUFDdkI7O0FBRUQ7RUFDRSxlZnhGa0I7RWV5RmxCLFVBQVU7RUFDVixXQUFXO0VBQ1gsaUJBQWlCLEVBT2xCO0VBWEQ7SUFPSSxrQkFBa0IsRUFHbkI7SUFWSDtNQVNvQixjQUFjLEVBQUk7O0FBSXRDO0VabEZFLGdDSCtDMEI7RUc5QzFCLGlCQUFpQjtFQUNqQixpQkg4RWlCO0VHaEhqQixnQkgrRmdCO0VHOUZoQixvQkNFWTtFRDREWixtQkFBbUI7RVlxRG5CLGdCQUFnQixFQVdqQjtFZHJIRztJY3dHSjtNWmxIRSxnQkg4RmdCO01HN0ZoQixrQkNFWSxFVzRIYixFQUFBO0VBYkQ7SVo1RUUsZ0NIeUMwQjtJR3hDMUIsaUJBQWlCO0lBdkNqQixnQkhnR2dCO0lHL0ZoQixnQkNFWTtJV3VIVixtQkFBbUI7SUFDbkIsZUFBZTtJQUNmLGVmOUdnQjtJZStHaEIsa0JmSGUsRWVJaEI7SWRwSEM7TWN3R0o7UVpsSEUsZ0JIK0ZnQjtRRzlGaEIsb0JDRVksRVcySFgsRUFBQTs7QUFHSDs7RVpqSUUsZ0JIaUdpQjtFR2hHakIsb0JDRVksRVdrSWI7O0FDM0lEOztFQUVFO0FBRUY7RWRJRSxpQkY4Q2E7RUU3Q2Isa0JBQWtCO0VBQ2xCLG1CQUFtQixFY0pwQjs7QUFFRDtFYjJFRSxlQUFlO0VBQ2YsdUJBQXVCO0VhMUV2QixlQUFlO0VBQ2YsMEJoQktzQjtFZ0JKdEIsZ0NBQWdDO0VicUNoQyxrQ0hxQzhCO0VHcEM5QiwwQkFBMEI7RUFDMUIsb0JBQW9CO0VBQ3BCLGlCSG1FYTtFR2pIYixnQkh5Rm9CO0VHeEZwQixvQkNFWTtFWU1aLG9CaEJDc0I7RWdCQXRCLGVoQkhxQjtFZ0JJckIsbUJBQW1CLEVBdUNwQjtFZnhDRztJZVJKO01iRkUsZ0JId0ZtQjtNR3ZGbkIsbUJDRVksRVkrQ2IsRUFBQTtFQWhERDtJQVlJLG1CQUFtQjtJQUNuQixVQUFVO0lBQ1YsWUFBWTtJQUdaLGVoQkpjO0lHZmhCLGdCSHdHa0I7SUd2R2xCLGtCQ0VZLEVZc0JYO0lmZkM7TWVSSjtRQXFCTSxVQUFVLEVBRWIsRUFBQTtFQXZCSDtJQTRCTSxzQmhCZlk7SWdCZ0JaLG9CQUFvQixFQUNyQjtFQTlCTDtJQXFDTSxVQUFVLEVBS1g7SWZsQ0Q7TWVSSjtRQXdDUSxVQUFVLEVBRWIsRUFBQTtFQTFDTDtJQThDSSxjQUFjLEVBQ2Y7O0FBR0g7RUFDRSxjQUF5QixFQUUxQjtFQUhEO0laUG9CLGNBQWMsRUFBSTtFWU90QztJWkhtQixpQkFBaUIsRUFBSTs7QVlReEM7RUFDRSwwQmhCaERzQjtFZ0JpRHRCLGNBQWM7RWR2QmQsa0JBaUI4RDtFQVI5RCxxQkFROEQ7RUF6QzlELG1CQWlCZ0U7RUFSaEUsb0JBUWdFLEVjbURqRTtFZnRFRztJZStDSjtNZGxCSSxrQkZMVSxFZ0I4Q2IsRUFBQTtFZnRFRztJZStDSjtNZFRJLHFCRmRVLEVnQjhDYixFQUFBO0VmdEVHO0llK0NKO01kMUNJLG1CRm1CVSxFZ0I4Q2IsRUFBQTtFZnRFRztJZStDSjtNZGpDSSxvQkZVVSxFZ0I4Q2IsRUFBQTtFQXZCRDtJQWFJLGNBQWMsRUFDZjtFVnMvQ0Q7SVVuL0NFLGVBQWUsRUFDaEI7RUFsQkg7SVpab0IsY0FBYyxFQUFJO0VZWXRDO0laUm1CLGlCQUFpQixFQUFJOztBYXZEeEM7O0VBRUU7QUFFRjtFZmNFLG1CQWlCZ0U7RUFSaEUsb0JBUWdFO0VBT2hFLGtCRkFpQjtFRVNqQixxQkZWZ0I7RUVqQ2hCLGlCRjhDYTtFRTdDYixrQkFBa0I7RUFDbEIsbUJBQW1CLEVlRHBCO0VoQk9HO0lnQlpKO01maUJJLG1CRm1CVSxFaUIvQmIsRUFBQTtFaEJPRztJZ0JaSjtNZjBCSSxvQkZVVSxFaUIvQmIsRUFBQTtFaEJPRztJZ0JaSjtNZnlDSSxrQkZMVSxFaUIvQmIsRUFBQTtFaEJPRztJZ0JaSjtNZmtESSxxQkZkVSxFaUIvQmIsRUFBQTs7QUFFRDtFZHNDRSxrQ0hxQzhCO0VHcEM5QiwwQkFBMEI7RUFDMUIsb0JBQW9CO0VBQ3BCLGlCSG1FYTtFaUIxR2IsZWpCT2tCLEVpQkZuQjtFaEJGRztJZ0JMSjtNQUtJLGlCQUFpQixFQUVwQixFQUFBOztBQUVEO0VBQ0Usc0JBQXNCLEVBTXZCO0VBUEQ7SWIrQm9CLGNBQWMsRUFBSTtFYS9CdEM7SWJtQ21CLGlCQUFpQixFQUFJO0VIdkNwQztJZ0JJSjtNQUtJLGlCQUFpQixFQUVwQixFQUFBOztBaEJYRztFZ0JhSjtJQUlJLGlCQUFpQixFQUVwQjtJQU5EO01iQ0ksWUFBWTtNQUNaLGVBQWUsRUFDaEI7SWFISDtNYktJLFlBQVksRUFDYixFQUFBOztBYUVIO0VBQ0Usb0JqQklpQixFaUJNbEI7RWhCaENHO0lnQnFCSjtNQUlJLFlBQVk7TUFDWixtQmpCRGMsRWlCT2pCLEVBQUE7RWhCaENHO0lnQnFCSjtNQVNJLG1CakJOVSxFaUJRYixFQUFBOztBaEJoQ0c7RWdCa0NKO0lBR0ksaUJBQWlCLEVBTXBCLEVBQUE7O0FBVEQ7RWJDb0IsY0FBYyxFQUFJOztBYUR0QztFYkttQixpQkFBaUIsRUFBSTs7QWFNeEM7RUFDRSxpQkFBaUIsRUFDbEI7O0FDL0REOztFQUVFO0FBRUY7RWhCSUUsa0JGa0RlO0VFakRmLGtCQUFrQjtFQUNsQixtQkFBbUIsRWdCSnBCOztBakJVRztFaUJSSjtJaEJpSEUsbUJBQW1CO0lBQ25CLG1CQUFtQjtJQUNuQixtQkFBYyxFZ0I5R2YsRUFBQTtFakJHRztJaUJSSjtNaEJzSEksbUJGdEZVLEVrQjNCYixFQUFBOztBQUlEO0VBQ0Usb0JsQnNCWSxFa0JkYjtFakJWRztJaUJDSjtNaEJrSEUsc0JBQXNCO01BQ3RCLHFCQUFxQjtNQUNyQixvQkFBb0I7TUFDcEIsbUJBQXFCO01BQ3JCLFlBQVk7TWdCakhWLGdCbEIwQ29CO01rQnpDcEIsYUFBYTtNQUNiLFVBQVUsRUFFYixFQUFBO0VqQlZHO0lpQkNKO01oQnlISSxtQkZsR1UsRWtCZGIsRUFBQTs7QUFFRDtFQUNFLDBCbEJic0I7RUUwQnRCLGtCQWlCOEQ7RUFSOUQscUJBUThEO0VBekM5RCxtQkFpQmdFO0VBUmhFLG9CQVFnRSxFZ0JIakU7RWpCaEJHO0lpQllKO01oQmlCSSxrQkZMVSxFa0JSYixFQUFBO0VqQmhCRztJaUJZSjtNaEIwQkkscUJGZFUsRWtCUmIsRUFBQTtFakJoQkc7SWlCWUo7TWhCUEksbUJGbUJVLEVrQlJiLEVBQUE7RWpCaEJHO0lpQllKO01oQkVJLG9CRlVVLEVrQlJiLEVBQUE7O0FBRUQ7RUFDRSxpQkFBaUIsRUFDbEI7O0FBRUQ7RUFFRSxpQmxCRWlCLEVrQlFsQjtFQVpEO0lkUkksWUFBWTtJQUNaLGVBQWUsRUFDaEI7RWNNSDtJZEpJLFlBQVksRUFDYjtFY0dIO0lBS0ksY0FBYyxFQUNmO0VBTkg7SUFTSSxZQUFZO0lBQ1osV0FBVyxFQUNaOztBQUdIO0VBQ0UsZWxCakNrQixFa0JzQ25CO0VBTkQ7SUFJSSxlQUFlLEVBQ2hCOztBQUdIO0VBR0ksZWxCM0NnQixFa0I0Q2pCOztBQUdIO0VmbEJFLGtDSHFDOEI7RUdwQzlCLDBCQUEwQjtFQUMxQixvQkFBb0I7RUFDcEIsaUJIbUVhO0VHakhiLGdCSHdGbUI7RUd2Rm5CLG1CQ0VZO0VjNkRaLDhCbEJ0RHNCO0VrQnVEdEIsaUNsQnZEc0I7RWtCd0R0QixnQkFBd0I7RUFDeEIsZUFBa0IsRUFDbkI7RWpCMURHO0lpQm1ESjtNZjdERSxnQkh1RmtCO01HdEZsQixrQkNFWSxFY2lFYixFQUFBO0VqQjFERztJaUJtREo7TWY3REUsZ0JIc0ZrQjtNR3JGbEIsb0JDRVksRWNpRWIsRUFBQTs7QUFFRDtFQUNFLG1CQUFtQixFQWFwQjtFQWREO0lBUUksc0JBQXNCO0lBQ3RCLGtCQUFrQjtJZnBDcEIsa0NIcUM4QjtJR3BDOUIsMEJBQTBCO0lBQzFCLG9CQUFvQjtJQUNwQixpQkhtRWE7SWtCaENYLHFCQUFxQjtJZmpGdkIsZ0JIMEZxQjtJR3pGckIsZ0JDRVksRWNnRlg7SWpCekVDO01pQjRESjtRZnRFRSxnQkh5Rm9CO1FHeEZwQixvQkNFWSxFY2dGWCxFQUFBO0lqQnpFQztNaUI0REo7UWZ0RUUsZ0JId0ZtQjtRR3ZGbkIsbUJDRVksRWNnRlgsRUFBQTs7QWpCekVDO0VpQjRFSjtJaEJ1Q0Usc0JBQXNCO0lBQ3RCLHFCQUFxQjtJQUNyQixvQkFBb0I7SUFDcEIsbUJBQXFCO0lBQ3JCLFlBQVk7SWdCdkNWLGdCbEI1Qm9CLEVrQjhCdkIsRUFBQTtFakJsRkc7SWlCNEVKO01oQjhDSSxtQkZsR1UsRWtCMERiLEVBQUE7O0FBSUQ7RUFDRSw4QmxCdkZzQjtFRThEdEIsb0JBRHdFLEVnQjRCekU7RWpCekZHO0lpQnNGSjtNaEJyQkksb0JGM0NlLEVrQm1FbEIsRUFBQTs7QUFFRDtF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O0lBRUksbUJ2QnpCVSxFdUIwQlg7O0FBSUw7RXBCSEUsZ0NIK0MwQjtFRzlDMUIsaUJBQWlCO0VBQ2pCLGlCSDhFaUI7RUdoSGpCLGdCSCtGZ0I7RUc5RmhCLG9CQ0VZO0VtQmtDWixnQkFBZ0IsRUFDakI7RXRCNUJHO0lzQnlCSjtNcEJuQ0UsZ0JIOEZnQjtNRzdGaEIsa0JDRVksRW1CbUNiLEVBQUE7O0FDNUNEOztFQUVFO0FBTUY7RXRCQUUsa0JGa0RlO0VFakRmLGtCQUFrQjtFQUNsQixtQkFBbUI7RUEyRG5CLGlCQURxRTtFQVVyRSxvQkFEd0UsRXNCNUR6RTtFdkJERztJdUJSSjtNdEJnRUksaUJGaENVLEV3QnZCYixFQUFBO0V2QkRHO0l1QlJKO010QnlFSSxvQkY1Q2dCLEV3QnBCbkIsRUFBQTtFQVREO0lwQjJDb0IsY0FBYyxFQUFJO0VvQjNDdEM7SXBCK0NtQixpQkFBaUIsRUFBSTs7QW9CcEN4QztFQUNFLGtCeEJ1QmtCO0V3QnRCbEIsbUJ4QnFCaUIsRXdCVmxCO0V2QmhCRztJdUJHSjtNQU1JLGtCeEJpQmUsRXdCVmxCO01BYkQ7UXBCV0ksWUFBWTtRQUNaLGVBQWUsRUFDaEI7TW9CYkg7UXBCZUksWUFBWSxFQUNiLEVBQUE7RUhuQkM7SXVCR0o7TUFVSSxpQ3hCYm9CO013QmNwQixlQUFlLEVBRWxCLEVBQUE7O0FBRUQ7RUFDRSxpQnhCUWtCO0V3QlBsQixtQnhCTWlCLEV3QkNsQjtFdkIzQkc7SXVCa0JKO01BTUksaUJ4QkVlO013QkRmLFlBQVksRUFFZjtNQVREO1FwQkpJLFlBQVk7UUFDWixlQUFlLEVBQ2hCO01vQkVIO1FwQkFJLFlBQVksRUFDYixFQUFBOztBSG5CQztFdUI2Qko7SUFHSSxnQkFBZ0IsRUFFbkIsRUFBQTs7QXZCbENHO0V1Qm9DSjtJQUdJLGFBQWEsRUFNaEIsRUFBQTs7QUFURDtFQU9JLGNBQWMsRUFDZjs7QUFHSDtFQUNFLFlBQVk7RUFDWixZQUFZLEVBQ2I7O0FBRUQ7RUFDRSxVQUFVO0VBQ1YsZXhCbERrQjtFRzZCbEIsa0NIcUM4QjtFR3BDOUIsMEJB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QUFVO0lBQ1YsWUFBWTtJQUNaLHFCQWhDZ0I7SUFpQ2hCLGdCQUFnQixFQUNqQjtFQWhDSDtJQW1DSSx1QzFCeEdZLEUwQnlHYjs7QUFHSDtFeEJyR0UsbUJBaUJnRTtFQVJoRSxvQkFRZ0U7RUFPaEUsa0JBaUI4RDtFQVI5RCxxQkFROEQsRXdCb0gvRDtFekIvSkc7SXlCdUdKO014QmxHSSxtQkZtQlUsRTBCdUliLEVBQUE7RXpCL0pHO0l5QnVHSjtNeEJ6Rkksb0JGVVUsRTBCdUliLEVBQUE7RXpCL0pHO0l5QnVHSjtNeEIxRUksa0JGUmdCLEUwQjBJbkIsRUFBQTtFekIvSkc7SXlCdUdKO014QmpFSSxxQkZqQmdCLEUwQjBJbkIsRUFBQTtFekIvSkc7SXlCdUdKO01BTUksbUJBQW1CO01BQ25CLFdBQVc7TUFDWCxXMUI3RGU7TVEzRGpCLHFDUkdjLEUwQnFLZjtNQXhERDtRdEJ6RkksWUFBWTtRQUNaLGVBQWUsRUFDaEI7TXNCdUZIO1F0QnJGSSxZQUFZLEVBQ2IsRUFBQTtFSG5CQztJeUJ1R0o7TUFnQk0sYUFBYSxFQUVoQixFQUFBO0V6QnpIQztJeUJ1R0o7TWxCaEhFLDRDUkljLEUwQnNJYixFQUFBO0V6QmpJQztJeUJ1R0o7TXhCN0VFLGtCQWlCOEQ7TUFSOUQscUJBUThELEV3QnFHN0QsRUFBQTtFekJoSkM7SXlCdUdKO014QjFFSSxtQkZUa0IsRTBCNEhuQixFQUFBO0V6QmhKQztJeUJ1R0o7TXhCakVJLHNCRmxCa0IsRTBCNEhuQixFQUFBO0V6QmhKQztJeUJ1R0o7TXhCN0VFLGtCQWlCOEQ7TUFSOUQscUJBUThELEV3QjRHN0QsRUFBQTtFekJ2SkM7SXlCdUdKO014QjFFSSxtQkZWZSxFMEJvSWhCLEVBQUE7RXpCdkpDO0l5QnVHSjtNeEJqRUksc0JGbkJlLEUwQm9JaEIsRUFBQTtFekJ2SkM7SXlCdUdKO014QjdFRSxtQkFpQjhEO01BUjlELHNCQVE4RCxFd0JtSDdELEVBQUE7RXpCOUpDO0l5QnVHSjtNeEIxRUksbUJGWnFCLEUwQjZJdEIsRUFBQTtFekI5SkM7SXlCdUdKO014QmpF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MUJsQixFQUFBO0V6Q0FHO0l5Q1pKO014QzBCSSxvQkZZZSxFMEMxQmxCLEVBQUE7RXpDQUc7SXlDWko7TXhDeUNJLGtCRk5jLEUwQ3ZCakIsRUFBQTtFekNBRztJeUNaSjtNeENrREkscUJGZmMsRTBDdkJqQixFQUFBO0V6Q0FHO0l5Q1pKO014Q29FSSxpQkZoQ1UsRTBDeEJiLEVBQUE7RXpDQUc7SXlDWko7TXhDNkVJLG9CRnpDVSxFMEN4QmIsRUFBQTtFQVpEO0l0QytDb0IsY0FBYyxFQUFJO0VzQy9DdEM7SXRDbURtQixpQkFBaUIsRUFBSTtFc0NuRHhDO0l0QytDb0IsY0FBYyxFQUFJO0VzQy9DdEM7SXRDbURtQixpQkFBaUIsRUFBSTs7QXNDckN4QztFQUlFLDBCMUNOc0IsRTBDT3ZCOztBQUVEO0VBQ0Usa0IxQzhCZSxFMEM3QmhCOztBQUVEO0V4Q3dDRSxpQkFpQjBFO0VBUjFFLG9CQVEwRSxFd0N2RDNFO0V6Q2ZHO0l5Q2FKO014QzJDSSxpQkZsQ2UsRTBDUGxCLEVBQUE7RXpDZkc7SXlDYUo7TXhDb0RJLG9CRjNDZSxFMENQbEIsRUFBQTs7QUMvQkM7O0VBRUE7QUFFRjtFekNJRSxrQkZrRGU7RUVqRGYsa0JBQWtCO0VBQ2xCLG1CQUFtQixFeUNFcEI7RUFSRDtJdkMrQ29CLGNBQWMsRUFBSTtFdUMvQ3RDO0l2Q21EbUIsaUJBQWlCLEVBQUk7RXVDbkR4QztJekNpRUUsaUJGN0JZO0lFc0NaLG9CRnRDWSxFMkM3Qlg7STFDS0M7TTBDWko7UXpDb0VJLGlCRm5DZ0IsRTJDMUJqQixFQUFBO0kxQ0tDO00wQ1pKO1F6QzZFSSxvQkY1Q2dCLEUyQzFCakIsRUFBQTs7QUFHSDtFQUNFLGtCM0N5Q2UsRTJDeENoQjs7QUFFRDtFekN1R0UsbUJBQW1CO0VBQ25CLG1CQUFtQjtFQUNuQixtQkFBYztFQTdDZCxxQkZ0Q1ksRTJDbkJiO0UxQ0xHO0kwQ0VKO016QzRHSSxtQkZ0RlUsRTJDbkJiLEVBQUE7RTFDTEc7STBDRUo7TXpDK0RJLHFCRnpDVSxFMkNuQmIsRUFBQTs7QUFFRDtFekM0R0Usc0JBQXNCO0VBQ3RCLHFCQUFxQjtFQUNyQixvQkFBb0I7RUFDcEIsbUJBQXFCO0VBQ3JCLFlBQVk7RUFRWixpQkFBcUI7RUFqRXJCLG9CRnRDWSxFMkMwQ2I7RTFDbEVHO0kwQ09KO016Q21ISSxtQkZsR1UsRTJDMENiLEVBQUE7RTFDbEVHO0kwQ09KO016QzJISSxpQkFBcUIsRXlDaEV4QixFQUFBO0UxQ2xFRztJMENPSjtNekMwREksb0JGekNVLEUyQzBDYixFQUFBO0UxQ2xFRztJMENPSjs7TUFRUSxXM0NtQ1csRTJDakNkLEVBQUE7RTFDakJEO0kwQ09KOztNQWdCUSxnQjNDeUJnQixFMkN2Qm5CLEVBQUE7RTFDekJEO0kwQ09KOztNQXlCUSxXM0NrQlcsRTJDWmQsRUFBQTtFMUN0Q0Q7STBDT0o7O01BNkJRLFczQ1dXLEUyQ1RkLEVBQUE7RTFDdENEO0kwQ09KO01Bb0NNLHNCQUFnQyxFQU1uQztNQTFDSDtRQXVDUSxzQkFBZ0MsRUFDakMsRUFBQTtFQXhDUDtJQTZDSSxZM0NJaUIsRTJDU2xCO0kxQ2pFQztNMENPSjtRQWdETSxXM0NMYSxFMkNlaEIsRUFBQTtJMUNqRUM7TTBDT0o7UUFvRE0sZ0IzQ1hrQixFMkNpQnJCLEVBQUE7STFDakVDO00wQ09KO1FBd0RNLGdCM0NqQmtCLEUyQ21CckIsRUFBQTs7QUFHSDtFQUdJLHdCM0MvQ1UsRTJDZ0RYOztBQUdIO0V6Q2JFLG9CRnJDZ0IsRTJDb0RqQjtFMUM3RUc7STBDMkVKO016Q1ZJLG9CRnhDYyxFMkNvRGpCLEVBQUE7O0FBRUQ7RUFDRSxnQjNDckRrQixFMkNzRW5CO0V2QzFDRzs7SURqRUYsZ0JIZ0dnQjtJRy9GaEIsZ0JDRVksRUFnRVQ7SUh6REQ7TUd1REE7O1FEakVGLGdCSCtGZ0I7UUc5RmhCLG9CQ0VZLEVBZ0VULEVBQUE7RUFGRDs7SURqRUYsZ0JIZ0dnQjtJRy9GaEIsZ0JDRVksRUFnRVQ7SUh6REQ7TUd1REE7O1FEakVGLGdCSCtGZ0I7UUc5RmhCLG9CQ0VZLEVBZ0VULEVBQUE7RXVDc0JMO0lBWUksV0FBVyxFQUNaO0VBYkg7SXZD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akI7O0FDNUZIOztFQUVFO0FBUUY7RUFDRSxtQkFBbUI7RUFDbkIsbUJBQW1CO0VBQ25CLG9CcEQyQlk7RW9EMUJaLGNBQWMsRUFLZjtFbkRIRztJbUROSjtNQU9JLGVBQWUsRUFFbEIsRUFBQTs7QUFFRDtFakQ4REUsZUFBZTtFQUNmLHVCQUF1QjtFQW5DdkIsa0NIcUM4QjtFR3BDOUIsMEJBQTBCO0VBQzFCLG9CQUFvQjtFQUNwQixpQkhtRWE7RUdqSGIsZ0JIeUZvQjtFR3hGcEIsb0JDRVk7RWdEZ0JaLHNCQUFzQjtFQUN0QixxQ0FBNEM7RUFDNUMsbUJwRGFZO0VvRFpaLHFCQUFxQixFQWdDdEI7RW5ENUNHO0ltREtKO01qRGZFLGdCSHdGbUI7TUd2Rm5CLG1CQ0VZLEVnRG1EYixFQUFBO0VuRDVDRztJbURLSjtNakRmRSxnQkh1RmtCO01HdEZsQixrQkNFWSxFZ0RtRGIsRUFBQTtFQXZDRDtJakRmRSxnQkhzRmtCO0lHckZsQixvQkNFWSxFZ0Q2Qlg7SW5EdEJDO01tREtKO1FqRGZFLGdCSHFGa0I7UUdwRmxCLGtCQ0VZLEVnRDZCWCxFQUFBO0luRHRCQztNbURLSjtRakRmRSxnQkhvRm1CO1FHbkZuQixxQkNFWSxFZ0Q2QlgsRUFBQTtJQVJEO01BSUksWUFBWTtNQUNaLG1CQUFtQjtNakQ3QnZCLGdCSG9Hb0I7TUduR3BCLG9CQ0VZLEVnRDRCVDtFQWhCTDtJQW9CSSx1QnBEOUJZO0lvRCtCWiw4QkFBbUMsRUFDcEM7RUF0Qkg7SUF5Qkksb0JwRHpCYztJb0QwQmQsWXBEcENZO0lvRHFDWixpQ0FBa0MsRUFDbkM7RUE1Qkg7SWpEb0RFLGVBRDZCO0lBRTdCLHNCQUFzQjtJQUN0QixpQ0h0RGdCLEVvRGdDZjtJQWhDSDtNakR5REksNEJBQTRCLEVBQzdCO0VpRDFESDtJQW9DTSw0QkFBNEIsRUFDN0I7O0FBSUw7RUFDRSwwQkFBMEI7RUFDMUIsb0JwRHhCWSxFb0Q2QmI7RW5EckRHO0ltRDhDSjtNQUtJLGNBQWMsRUFFakIsRUFBQTs7QUFFRDtFQUdJLGNBQWMsRUFDZjs7QUFKSDtFQU9JLGVBQWUsRUFDaEI7O0FBUkg7RWhEcEJvQixjQUFjLEVBQUk7O0FnRG9CdEM7RWhEaEJtQixpQkFBaUIsRUFBSTs7QWlEdkR4Qzs7RUFFRTtBQUVGO0VuRElFLGlCRjhDYTtFRTdDYixrQkFBa0I7RUFDbEIsbUJBQW1CO0VtREZqQixtQkFBbUIsRUFNcEI7RUFWSDtJakQrQ29CLGNBQWMsRUFBSTtFaUQvQ3RDO0lqRG1EbUIsaUJBQWlCLEVBQUk7O0FpRG5EeEM7RUFjSSxtQkFBbUI7RUFDbkIscUJBQXFCO0VBQ3JCLG9CQUFvQixFQXlCckI7RUF6Q0g7SUFtQk0sb0JBQW9CLEVBQ3JCO0VBcEJMO0lBd0JNLFlBQVk7SUFDWixtQkFBbUI7SUFDbkIsVUFBVTtJQUNWLFFBQVE7SUFDUixTQUFTO0lBQ1QsYUFBYTtJQUNiLFdBQVc7SUFDWCxZQUFZO0lBQ1osbUJBQW1CO0lBQ25CLHVCckR2QmEsRXFEOEJkO0lBM0JIOzs7TUF5Qk0sdUJyRC9CUSxFcURnQ1Q7O0FBdkNQO0VBNkNJLGtCckQ4RTBCO0VxRDdFMUIscUJyRDZFMEIsRXFENUUzQjs7QUEvQ0g7RUFtREksZUFBZTtFbERqRGpCLGdCSHlGb0I7RUd4RnBCLG9CQ0VZO0VpRGdEVixlckQ1Q21CO0VxRDZDbkIscUJBQXFCLEVBTXRCO0VBVkQ7O0lBUUksWXJEbkRVLEVxRG9EWDs7QUM1REw7RXBEc0hFLG1CQUFtQjtFQUNuQixtQkFBbUI7RUFDbkIsbUJBQWMsRW9EaEhiO0VyREtDO0lxRGJKO01wRDJISSxtQkZ0RlUsRXNEN0JYLEVBQUE7RUFSSDtJQUtXLGVBQWU7SUFBRSxlQUFlO0lBQUUsb0JBQW9CO0lBQUUsb0JBQW9CO0luREZyRixnQm1ERThHO0luREQ5RyxvQkNFWSxFa0REdUc7RUFMckg7SUFNZ0Isb0JBQW9CLEVBQUk7RUFOeEM7SUFPcUIsb0JBQW9CLEVBQUk7O0FBUDdDO0VwRGdJRSxzQkFBc0I7RUFDdEIscUJBQXFCO0VBQ3JCLG9CQUFvQjtFQUNwQixtQkFBcUI7RUFDckIsWUFBWSxFb0R4SFg7RXJEQ0M7SXFEYko7TXBEdUlJLG1CRmxHVSxFc0R6QlgsRUFBQTs7QUFaSDtFQWVjLFl0RHNETyxFc0R0RG1COztBQWZ4QztFQWdCYyxnQnREb0RXLEVzRHBEZTs7QUFoQnhDO0VBaUJjLGdCdERrRFcsRXNEbERlOztBQWpCeEM7RUFrQmEsV3REZ0RNLEVzRGhEbUI7O0FBbEJ0QztFQW1CYSxnQnREOENXLEVzRDlDYzs7QUFuQnRDO0VBb0JhLGdCdEQ0Q1csRXNENUNjOztBQXBCdEM7RUFxQmEsV3REMENNLEVzRDFDbUI7O0FBckJ0QztFQXNCYSxnQnREd0NXLEVzRHhDYzs7QUF0QnRDO0VBdUJhLGdCdERzQ1csRXNEdENjOztBQXZCdEM7RUF3QmEsV3REb0NNLEVzRHBDbUI7O0FBeEJ0QztFQXlCYSxnQnREa0NXLEVzRGxDYzs7QUF6QnRDO0VBMEJhLGV0RGdDVSxFc0RoQ2UiLCJmaWxlIjoidG9vbGtpdC5jc3MiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIFRvb2xraXQgc3R5bGVzIGluZGV4XG4gKi9cblxuQGltcG9ydCAndmFyaWFibGVzJztcbkBpbXBvcnQgXCJoZWxwZXJzL19oZWxwZXItYnJlYWtwb2ludHMuc2Nzc1wiO1xuQGltcG9ydCBcImhlbHBlcnMvX2hlbHBlci1sYXlvdXQuc2Nzc1wiO1xuQGltcG9ydCBcImhlbHBlcnMvX2hlbHBlci10eXBvZ3JhcGh5LnNjc3NcIjtcbkBpbXBvcnQgXCJoZWxwZXJzL19oZWxwZXJzLnNjc3NcIjtcbkBpbXBvcnQgXCJ2ZW5kb3IvX25vcm1hbGl6ZS5zY3NzXCI7XG5AaW1wb3J0IFwiY29yZS9fYnV0dG9ucy5zY3NzXCI7XG5AaW1wb3J0IFwiY29yZS9fY29sb3Iuc2Nzc1wiO1xuQGltcG9ydCBcImNvcmUvX2Zvcm1zLnNjc3NcIjtcbkBpbXBvcnQgXCJjb3JlL19nbG9iYWwuc2Nzc1wiO1xuQGltcG9ydCBcImNvcmUvX2ljb25zLnNjc3NcIjtcbkBpbXBvcnQgXCJjb3JlL19sYXlvdXQuc2Nzc1wiO1xuQGltcG9ydCBcImNvcmUvX21lZGlhLnNjc3NcIjtcbkBpbXBvcnQgXCJjb3JlL19wcmludC5zY3NzXCI7XG5AaW1wb3J0IFwiY29yZS9fdHlwb2dyYXBoeS5zY3NzXCI7XG5AaW1wb3J0IFwiY29tcG9uZW50cy9fYWNjb3JkaW9uLnNjc3NcIjtcbkBpbXBvcnQgXCJjb21wb25lbnRzL19hcnRpY2xlLnNjc3NcIjtcbkBpbXBvcnQgXCJjb21wb25lbnRzL19iYXNrZXQuc2Nzc1wiO1xuQGltcG9ydCBcImNvbXBvbmVudHMvX2JyZWFkY3J1bWJzLnNjc3NcIjtcbkBpbXBvcnQgXCJjb21wb25lbnRzL19jb3B5LnNjc3NcIjtcbkBpbXBvcnQgXCJjb21wb25lbnRzL19jdGEtaW5saW5lLnNjc3NcIjtcbkBpbXBvcnQgXCJjb21wb25lbnRzL19kb25hdGUuc2Nzc1wiO1xuQGltcG9ydCBcImNvbXBvbmVudHMvX2Rvd25sb2FkLnNjc3NcIjtcbkBpbXBvcnQgXCJjb21wb25lbnRzL19maWx0ZXIuc2Nzc1wiO1xuQGltcG9ydCBcImNvbXBvbmVudHMvX2Zvb3Rlci5zY3NzXCI7XG5AaW1wb3J0IFwiY29tcG9uZW50cy9faGVyby5zY3NzXCI7XG5AaW1wb3J0IFwiY29tcG9uZW50cy9faW1hZ2Uuc2Nzc1wiO1xuQGltcG9ydCBcImNvbXBvbmVudHMvX2ltYWdlc2V0LnNjc3NcIjtcbkBpbXBvcnQgXCJjb21wb25lbnRzL19pbmZvLXNldC5zY3NzXCI7XG5AaW1wb3J0IFwiY29tcG9uZW50cy9fbGFiZWxsZWQtaW1hZ2VzLnNjc3NcIjtcbkBpbXBvcnQgXCJjb21wb25lbnRzL19sb2FkLnNjc3NcIjtcbkBpbXBvcnQgXCJjb21wb25lbnRzL19tYXAuc2Nzc1wiO1xuQGltcG9ydCBcImNvbXBvbmVudHMvX21hc29ucnkuc2Nzc1wiO1xuQGltcG9ydCBcImNvbXBvbmVudHMvX21hc3RoZWFkLnNjc3NcIjtcbkBpbXBvcnQgXCJjb21wb25lbnRzL19tZWRpYS1ibG9jay1ncmlkLnNjc3NcIjtcbkBpbXBvcnQgXCJjb21wb25lbnRzL19tZWRpYS1ibG9jay1saXN0LnNjc3NcIjtcbkBpbXBvcnQgXCJjb21wb25lbnRzL19tZWRpYS1ibG9jay5zY3NzXCI7XG5AaW1wb3J0IFwiY29tcG9uZW50cy9fbmF2LnNjc3NcIjtcbkBpbXBvcnQgXCJjb21wb25lbnRzL19vdmVybGF5cy5zY3NzXCI7XG5AaW1wb3J0IFwiY29tcG9uZW50cy9fcGFnZXIuc2Nzc1wiO1xuQGltcG9ydCBcImNvbXBvbmVudHMvX3BhZ2luZy5zY3NzXCI7XG5AaW1wb3J0IFwiY29tcG9uZW50cy9fcGFuZWwuc2Nzc1wiO1xuQGltcG9ydCBcImNvbXBvbmVudHMvX3Byb21vcy5zY3NzXCI7XG5AaW1wb3J0IFwiY29tcG9uZW50cy9fcXVvdGUuc2Nzc1wiO1xuQGltcG9ydCBcImNvbXBvbmVudHMvX3JlY2VpcHQuc2Nzc1wiO1xuQGltcG9ydCBcImNvbXBvbmVudHMvX3Jvdy5zY3NzXCI7XG5AaW1wb3J0IFwiY29tcG9uZW50cy9fc2hhcmUuc2Nzc1wiO1xuQGltcG9ydCBcImNvbXBvbmVudHMvX3NraXAtbGluay5zY3NzXCI7XG5AaW1wb3J0IFwiY29tcG9uZW50cy9fc3RhdC1zZXQuc2Nzc1wiO1xuQGltcG9ydCBcImNvbXBvbmVudHMvX3N0YXQuc2Nzc1wiO1xuQGltcG9ydCBcImNvbXBvbmVudHMvX3N0ZXBzLnNjc3NcIjtcbkBpbXBvcnQgXCJjb21wb25lbnRzL190YWJzLnNjc3NcIjtcbkBpbXBvcnQgXCJjb21wb25lbnRzL190aXRsZS5zY3NzXCI7XG5cblxuLy8gUEFUVEVSTiBMSUJSQVJZIFNUWUxFUyBPTkxZLCBOT1QgUkVRVUlSRUQgRk9SIFBST0RVQ1RJT05cbkBpbXBvcnQgXCJkZW1vL19kZW1vLWdyaWQuc2Nzc1wiO1xuIiwiLypcbiAgVkFSSUFCTEVTXG4qL1xuXG4vKlxuICAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgQ09MT1JcbiAgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4qL1xuXG4kY2xyLWJsYWNrOiAjMDAwO1xuJGNsci13aGl0ZTogI2ZmZjtcblxuJGNsci1ncmV5LWRhcms6ICMzNjM2MzY7XG4kY2xyLWdyZXktbWlkOiAjNTU1O1xuJGNsci1ncmV5LW1pZC1saWdodDogI2RiZGJkYjtcbiRjbHItZ3JleS1saWdodDogI2ViZWJlYjtcblxuJGNsci1ncmV5LXdhcm06ICNlOWU2ZGM7XG5cbiRjbHItb3JhbmdlOiAjZDE0NDE0O1xuJGNsci10ZWFsOiAjMmVhMzkzO1xuJGNsci15ZWxsb3c6ICNmZmQxNDE7XG4kY2xyLWZ1c2NoaWE6ICNiYjI5YmI7XG4kY2xyLXB1cnBsZTogI2E1NDM5ODtcblxuLypcbiAgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gIExBWU9VVFxuICAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiovXG5cbi8vIFNwYWNpbmdcbiRzcGFjaW5nLW1lZ2Fsb2RvbjogMzAwcHg7XG4kc3BhY2luZy1odWdlOiAxNzBweDtcbiRzcGFjaW5nLWJpZzogMTQwcHg7XG4kc3BhY2luZy14eHhscmc6IDEwMHB4O1xuJHNwYWNpbmcteHhscmc6IDgwcHg7XG4kc3BhY2luZy14bHJnOiA2MHB4O1xuJHNwYWNpbmctbHJnOiA1MHB4O1xuJHNwYWNpbmc6IDQwcHg7XG4kc3BhY2luZy1zbWw6IDMwcHg7XG4kc3BhY2luZy14c21sOiAyMHB4O1xuJHNwYWNpbmcteHhzbWw6IDEwcHg7XG4kc3BhY2luZy14eHhzbWw6IDdweDtcblxuLy8gR3JpZCAocHgpXG4kdy1jb2wtMTogODBweDtcbiR3LWNvbC0yOiAyMDBweDtcbiR3LWNvbC0zOiAzMjBweDtcbiR3LWNvbC00OiA0NDBweDtcbiR3LWNvbC01OiA1NjBweDtcbiR3LWNvbC02OiA2ODBweDtcbiR3LWNvbC03OiA4MDBweDtcbiR3LWNvbC04OiA5MjBweDtcbiR3LWNvbC05OiAxMDQwcHg7XG4kdy1jb2wtMTA6IDExNjBweDtcbiR3LWNvbC0xMTogMTI4MHB4O1xuJHctY29sLTEyOiAxNDAwcHg7XG5cbi8vIEdyaWQgKCUpXG4kdy1mbHVpZC1jb2wtMTogOC4zMzM0JTtcbiR3LWZsdWlkLWNvbC0yOiAxNi42NjY3JTtcbiR3LWZsdWlkLWNvbC0zOiAyNSU7XG4kdy1mbHVpZC1jb2wtNDogMzMuMzMzNCU7XG4kdy1mbHVpZC1jb2wtNTogNDEuNjY2NyU7XG4kdy1mbHVpZC1jb2wtNjogNTAlO1xuJHctZmx1aWQtY29sLTc6IDU4LjMzMzQlO1xuJHctZmx1aWQtY29sLTg6IDY2LjY2NjclO1xuJHctZmx1aWQtY29sLTk6IDc1JTtcbiR3LWZsdWlkLWNvbC0xMDogODMuMzMzNCU7XG4kdy1mbHVpZC1jb2wtMTE6IDkxLjY2NjclO1xuJHctZmx1aWQtY29sLTEyOiAxMDAlO1xuXG4vLyBXaWR0aCBoZWxwZXJzXG4kdy1tYXg6ICR3LWNvbC0xMjtcbiR3LW1heC1mbHVpZDogJHctZmx1aWQtY29sLTEyO1xuXG4vKlxuICAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgVFlQT0dSQVBIWVxuICAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiovXG5cbi8vIEZvbnQgc3RhY2tzXG4kZmYtbGF0bzogXCJMYXRvXCIsIHNhbnMtc2VyaWY7XG4kZmYtb3N3YWxkOiBcIk9zd2FsZFwiLCBzYW5zLXNlcmlmO1xuXG4vLyBPc3dhbGQgZm9udC1zaXplc1xuJGZzLW9zd2FsZC14eGxyZzogNTVweDtcbiRmcy1vc3dhbGQteGxyZzogNDVweDtcbiRmcy1vc3dhbGQtbHJnOiA0MHB4O1xuJGZzLW9zd2FsZC1tZWQ6IDMwcHg7XG4kZnMtb3N3YWxkLXNtbDogMjRweDtcbiRmcy1vc3dhbGQteHNtbDogMjBweDtcbiRmcy1vc3dhbGQteHhzbWw6IDE4cHg7XG4kZnMtb3N3YWxkLXh4eHNtbDogMTZweDtcblxuLy8gTGF0byBmb250LXNpemVzXG4kZnMtbGF0by14bHJnOiAzMnB4O1xuJGZzLWxhdG8tbHJnOiAyNHB4O1xuJGZzLWxhdG8tbWVkOiAxOHB4O1xuJGZzLWxhdG8tc21sOiAxNnB4O1xuJGZzLWxhdG8teHNtbDogMTRweDtcblxuLy8gSWNvbnNcbiRpY29uLXNpemUteHhscmc6IDcwcHg7XG4kaWNvbi1zaXplLXhscmc6IDU1cHg7XG4kaWNvbi1zaXplLWxyZzogNDBweDtcbiRpY29uLXNpemUtbWVkOiAzMHB4O1xuJGljb24tc2l6ZS1zbWw6IDI0cHg7XG4kaWNvbi1zaXplLXhzbWw6IDE4cHg7XG4kaWNvbi1zaXplLXh4c21sOiAxNXB4O1xuXG4vLyBMaW5lIGhlaWdodHMgKHVuaXRsZXNzIHByZWZlcnJlZClcbiRsaC1ib2R5OiAxLjY7XG4kbGgtbWluaW1hbDogMS4xO1xuJGxoLXNtYWxsOiAxLjM7XG4kbGgtbGF0by1saWdodDogMS41O1xuJGxoLW9zd2FsZDogMS42O1xuXG4vLyBMZXR0ZXIgc3BhY2luZ1xuJGxzLWJvZHk6IDAuNXB4O1xuJGxzLWhlYWRpbmc6IDAuMjVweDtcblxuLy8gTWFyZ2luc1xuJG1hcmdpbi1oZWFkaW5nOiAxLjJlbTtcbiRtYXJnaW4taGVhZGluZy1yZWR1Y2VkOiAwLjhlbTtcbiRtYXJnaW4tY29weTogMS40ZW07XG5cbi8qXG4gIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICBCUkVBS1BPSU5UU1xuICBJZGVhbGx5IGJlIGluIC1taW4vLW1heCBwYWlycywgd2l0aCAtbWluIGJlaW5nIDFweCBsYXJnZXIgdGhhbiBpdHMgcHJlZGVjZXNzb3JcbiAgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4qL1xuXG4vLyBAQFRPRE86IENvbnNpZGVyIHN3aXRjaGluZyBicmVha3BvaW50cyB0byBlbXNcblxuJGJwLW1vYmlsZS1taW46IDMyMHB4O1xuJGJwLW1vYmlsZS1tYXg6IDQ3OXB4O1xuXG4kYnAtbW9iaWxlLXdpZGUtbWluOiA0ODBweDtcbiRicC1tb2JpbGUtd2lkZS1tYXg6IDUxOXB4O1xuXG4kYnAtcGhhYmxldC1taW46IDUyMHB4O1xuJGJwLXBoYWJsZXQtbWF4OiA2MzlweDtcblxuJGJwLXRhYmxldC1taW46IDY0MHB4O1xuJGJwLXRhYmxldC1tYXg6IDc2N3B4O1xuXG4kYnAtdGFibGV0LXdpZGUtbWluOiA3NjhweDtcbiRicC10YWJsZXQtd2lkZS1tYXg6IDEwMjNweDtcblxuJGJwLWRlc2t0b3AtbWluOiAxMDI0cHg7XG4kYnAtZGVza3RvcC1tYXg6IDEyMDBweDtcblxuJGJwLWRlc2t0b3Atd2lkZS1taW46IDEyMDFweDtcbiRicC1kZXNrdG9wLXdpZGUtbWF4OiAkdy1tYXggLSAxO1xuXG4kYnAtc2l0ZS1taW46ICR3LW1heDtcblxuIiwiLypcbiAgSEVMUEVSUzogQlJFQUtQT0lOVFNcbiAgQmFzZWQgb24gaHR0cHM6Ly9qYWtlYXJjaGliYWxkLmdpdGh1Yi5pby9zYXNzLWllL1xuKi9cblxuLy8gTWVkaWEgcXVlcmllc1xuXG4kZml4LW1xczogZmFsc2UgIWRlZmF1bHQ7XG5cbkBtaXhpbiByZXNwb25kX21pbigkd2lkdGgpIHtcbiAgQGlmICRmaXgtbXFzIHtcbiAgICBAaWYgJGZpeC1tcXMgPj0gJHdpZHRoIHtcbiAgICAgIEBjb250ZW50O1xuICAgIH1cbiAgfVxuICBAZWxzZSB7XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogJHdpZHRoKSB7XG4gICAgICBAY29udGVudDtcbiAgICB9XG4gIH1cbn1cblxuQG1peGluIHJlc3BvbmRfbWF4KCR3aWR0aCkge1xuICBAaWYgJGZpeC1tcXMge1xuICAgIEBpZiAkZml4LW1xcyA8PSAkd2lkdGgge1xuICAgICAgQGNvbnRlbnQ7XG4gICAgfVxuICB9XG4gIEBlbHNlIHtcbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAkd2lkdGgpIHtcbiAgICAgIEBjb250ZW50O1xuICAgIH1cbiAgfVxufVxuXG4vLyBPbGQgSUUgc3BlY2lmaWNcblxuJG9sZC1pZTogZmFsc2UgIWRlZmF1bHQ7XG5cbkBtaXhpbiBvbGRfaWUge1xuICBAaWYgJG9sZC1pZSB7XG4gICAgQGNvbnRlbnQ7XG4gIH1cbn1cbiIsIi8qXG4gIEhFTFBFUjogTEFZT1VUXG4qL1xuXG4vLyBMQVlPVVQgQ09OU1RSQUlOXG4vLyBtYXgtd2lkdGggY2VudHJlZCBsYXlvdXQgaGVscGVyXG5AbWl4aW4gbGF5b3V0KCR3aWR0aDokdy1tYXgpIHtcbiAgLy9ib3gtc2l6aW5nOiBjb250ZW50LWJveDtcbiAgbWF4LXdpZHRoOiAkd2lkdGg7XG4gIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICBtYXJnaW4tcmlnaHQ6IGF1dG87XG59XG5cbi8vIEdVVFRFUlMgKFBBRERJTkcpXG4vLyBSZXNwb25zaXZlIHN0YW5kYXJkaXNlZCBwYWRkaW5nXG5cbi8vIHBhZGRpbmcgbGVmdFxuQG1peGluIHBhZGRpbmdfbGVmdF9yZXNwb25kKCRndXR0ZXIsJGd1dHRlci1yZWR1Y2VkOigkZ3V0dGVyLzIpKSB7XG4gIHBhZGRpbmctbGVmdDogJGd1dHRlci1yZWR1Y2VkO1xuXG4gIEBpbmNsdWRlIHJlc3BvbmRfbWluKCRicC10YWJsZXQtd2lkZS1taW4pIHtcbiAgICBwYWRkaW5nLWxlZnQ6ICRndXR0ZXI7XG4gIH1cbn1cblxuLy8gcGFkZGluZyBib3R0b21cbkBtaXhpbiBwYWRkaW5nX3JpZ2h0X3Jlc3BvbmQoJGd1dHRlciwkZ3V0dGVyLXJlZHVjZWQ6KCRndXR0ZXIvMikpIHtcbiAgcGFkZGluZy1yaWdodDogJGd1dHRlci1yZWR1Y2VkO1xuXG4gIEBpbmNsdWRlIHJlc3BvbmRfbWluKCRicC10YWJsZXQtd2lkZS1taW4pIHtcbiAgICBwYWRkaW5nLXJpZ2h0OiAkZ3V0dGVyO1xuICB9XG59XG5cbi8vIHBhZGRpbmcgbGVmdCAmIHJpZ2h0XG5AbWl4aW4gcGFkZGluZ19ob3Jpem9udGFsX3Jlc3BvbmQoJGd1dHRlciwkZ3V0dGVyLXJlZHVjZWQ6KCRndXR0ZXIvMikpIHtcbiAgQGluY2x1ZGUgcGFkZGluZ19sZWZ0X3Jlc3BvbmQoJGd1dHRlciwkZ3V0dGVyLXJlZHVjZWQpO1xuICBAaW5jbHVkZSBwYWRkaW5nX3JpZ2h0X3Jlc3BvbmQoJGd1dHRlciwkZ3V0dGVyLXJlZHVjZWQpO1xufVxuXG4vLyBwYWRkaW5nIHRvcFxuQG1peGluIHBhZGRpbmdfdG9wX3Jlc3BvbmQoJGd1dHRlciwkZ3V0dGVyLXJlZHVjZWQ6KCRndXR0ZXIvMikpIHtcbiAgcGFkZGluZy10b3A6ICRndXR0ZXItcmVkdWNlZDtcblxuICBAaW5jbHVkZSByZXNwb25kX21pbigkYnAtdGFibGV0LXdpZGUtbWluKSB7XG4gICAgcGFkZGluZy10b3A6ICRndXR0ZXI7XG4gIH1cbn1cblxuLy8gcGFkZGluZyBib3R0b21cbkBtaXhpbiBwYWRkaW5nX2JvdHRvbV9yZXNwb25kKCRndXR0ZXIsJGd1dHRlci1yZWR1Y2VkOigkZ3V0dGVyLzIpKSB7XG4gIHBhZGRpbmctYm90dG9tOiAkZ3V0dGVyLXJlZHVjZWQ7XG5cbiAgQGluY2x1ZGUgcmVzcG9uZF9taW4oJGJwLXRhYmxldC13aWRlLW1pbikge1xuICAgIHBhZGRpbmctYm90dG9tOiAkZ3V0dGVyO1xuICB9XG59XG5cbi8vIHBhZGRpbmcgdG9wICYgYm90dG9tXG5AbWl4aW4gcGFkZGluZ192ZXJ0aWNhbF9yZXNwb25kKCRndXR0ZXIsJGd1dHRlci1yZWR1Y2VkOigkZ3V0dGVyLzIpKSB7XG4gIEBpbmNsdWRlIHBhZGRpbmdfdG9wX3Jlc3BvbmQoJGd1dHRlciwkZ3V0dGVyLXJlZHVjZWQpO1xuICBAaW5jbHVkZSBwYWRkaW5nX2JvdHRvbV9yZXNwb25kKCRndXR0ZXIsJGd1dHRlci1yZWR1Y2VkKTtcbn1cblxuLy8gU1BBQ0lORyAoTUFSR0lOUylcbi8vIFJlc3BvbnNpdmUgc3RhbmRhcmRpc2VkIG1hcmdpbnNcblxuLy8gc3BhY2luZyB0b3BcbkBtaXhpbiBtYXJnaW5fdG9wX3Jlc3BvbmQoJGd1dHRlcjokc3BhY2luZy1scmcsJGd1dHRlci1yZWR1Y2VkOigkZ3V0dGVyLzIpKSB7XG4gIG1hcmdpbi10b3A6ICRndXR0ZXItcmVkdWNlZDtcblxuICBAaW5jbHVkZSByZXNwb25kX21pbigkYnAtdGFibGV0LXdpZGUtbWluKSB7XG4gICAgbWFyZ2luLXRvcDogJGd1dHRlcjtcbiAgfVxufVxuXG4vLyBzcGFjaW5nIGJvdHRvbVxuQG1peGluIG1hcmdpbl9ib3R0b21fcmVzcG9uZCgkZ3V0dGVyOiRzcGFjaW5nLWxyZywkZ3V0dGVyLXJlZHVjZWQ6KCRndXR0ZXIvMikpIHtcbiAgbWFyZ2luLWJvdHRvbTogJGd1dHRlci1yZWR1Y2VkO1xuXG4gIEBpbmNsdWRlIHJlc3BvbmRfbWluKCRicC10YWJsZXQtd2lkZS1taW4pIHtcbiAgICBtYXJnaW4tYm90dG9tOiAkZ3V0dGVyO1xuICB9XG59XG5cbi8vIHNwYWNpbmcgdG9wICYgYm90dG9tXG5AbWl4aW4gbWFyZ2luX3ZlcnRpY2FsX3Jlc3BvbmQoJGd1dHRlcjokc3BhY2luZy1scmcsJGd1dHRlci1yZWR1Y2VkOigkZ3V0dGVyLzIpKSB7XG4gIEBpbmNsdWRlIG1hcmdpbl90b3BfcmVzcG9uZCgkZ3V0dGVyLCRndXR0ZXItcmVkdWNlZCk7XG4gIEBpbmNsdWRlIG1hcmdpbl9ib3R0b21fcmVzcG9uZCgkZ3V0dGVyLCRndXR0ZXItcmVkdWNlZCk7XG59XG5cbi8vIG1hcmdpbiBsZWZ0XG5AbWl4aW4gbWFyZ2luX2xlZnRfcmVzcG9uZCgkZ3V0dGVyLCRndXR0ZXItcmVkdWNlZDooJGd1dHRlci8yKSkge1xuICBtYXJnaW4tbGVmdDogJGd1dHRlci1yZWR1Y2VkO1xuXG4gIEBpbmNsdWRlIHJlc3BvbmRfbWluKCRicC10YWJsZXQtd2lkZS1taW4pIHtcbiAgICBtYXJnaW4tbGVmdDogJGd1dHRlcjtcbiAgfVxufVxuXG4vLyBwYWRkaW5nIGJvdHRvbVxuQG1peGluIG1hcmdpbl9yaWdodF9yZXNwb25kKCRndXR0ZXIsJGd1dHRlci1yZWR1Y2VkOigkZ3V0dGVyLzIpKSB7XG4gIG1hcmdpbi1yaWdodDogJGd1dHRlci1yZWR1Y2VkO1xuXG4gIEBpbmNsdWRlIHJlc3BvbmRfbWluKCRicC10YWJsZXQtd2lkZS1taW4pIHtcbiAgICBtYXJnaW4tcmlnaHQ6ICRndXR0ZXI7XG4gIH1cbn1cblxuLy8gcGFkZGluZyBsZWZ0ICYgcmlnaHRcbkBtaXhpbiBtYXJnaW5faG9yaXpvbnRhbF9yZXNwb25kKCRndXR0ZXIsJGd1dHRlci1yZWR1Y2VkOigkZ3V0dGVyLzIpKSB7XG4gIEBpbmNsdWRlIG1hcmdpbl9sZWZ0X3Jlc3BvbmQoJGd1dHRlciwkZ3V0dGVyLXJlZHVjZWQpO1xuICBAaW5jbHVkZSBtYXJnaW5fcmlnaHRfcmVzcG9uZCgkZ3V0dGVyLCRndXR0ZXItcmVkdWNlZCk7XG59XG5cbi8vIEdSSURcbi8vIEBUT0RPOiBEb2N1bWVudC4uLlxuXG4kc3BhY2luZzogMjBweCAhZGVmYXVsdDtcblxuQG1peGluIGdfd3JhcCgkZ3V0dGVyOiRzcGFjaW5nKSB7XG4gIHRleHQtYWxpZ246IGNlbnRlcjsgLy8gY2VudHJlIGlubGluZS1ibG9ja1xuICB3b3JkLXNwYWNpbmc6IC00cHg7IC8vIGtpbGwgaW5saW5lLWJsb2NrIHdoaXRlc3BhY2VcbiAgbWFyZ2luLWxlZnQ6IC0kZ3V0dGVyLzI7XG5cbiAgQGluY2x1ZGUgcmVzcG9uZF9taW4oJGJwLXRhYmxldC13aWRlLW1pbikge1xuICAgIG1hcmdpbi1sZWZ0OiAtJGd1dHRlcjtcbiAgfVxufVxuXG5AbWl4aW4gZ19jb2woJGd1dHRlcjokc3BhY2luZykge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHdvcmQtc3BhY2luZzogbm9ybWFsOyAvLyByZXNldCB3aGl0ZXNwYWNlXG4gIHZlcnRpY2FsLWFsaWduOiB0b3A7XG4gIHBhZGRpbmctbGVmdDogJGd1dHRlci8yO1xuICB3aWR0aDogMTAwJTtcblxuICBAaW5jbHVkZSByZXNwb25kX21pbigkYnAtdGFibGV0LXdpZGUtbWluKSB7XG4gICAgcGFkZGluZy1sZWZ0OiAkZ3V0dGVyO1xuICB9XG59XG5cbkBtaXhpbiBnX2NvbF9tYXgoJG1heC13aWR0aCwkZ3V0dGVyOiRzcGFjaW5nKSB7XG4gIG1heC13aWR0aDogJG1heC13aWR0aCArICRndXR0ZXIvMjtcblxuICBAaW5jbHVkZSByZXNwb25kX21pbigkYnAtdGFibGV0LXdpZGUtbWluKSB7XG4gICAgbWF4LXdpZHRoOiAkbWF4LXdpZHRoICsgJGd1dHRlcjtcbiAgfVxufVxuIiwiLypcbiAgSEVMUEVSUzogVFlQT0dSQVBIWVxuKi9cblxuLy8gRk9OVCBTSVpJTkdcbkBtaXhpbiBmb250X3NpemUoJHNpemVfaW5fcHgpIHtcbiAgZm9udC1zaXplOiAkc2l6ZV9pbl9weDtcbiAgZm9udC1zaXplOiBjYWxjdWxhdGVSZW0oJHNpemVfaW5fcHgpICsgcmVtO1xufVxuXG4vLyBSRVNQT05TSVZFIEZPTlQtU0laSU5HXG5AbWl4aW4gcmVzcG9uZF9mb250X3NpemUoJG1vYmlsZTpmYWxzZSwkbW9iaWxlLXdpZGU6ZmFsc2UsJHBoYWJsZXQ6ZmFsc2UsJHRhYmxldDpmYWxzZSwkdGFibGV0LXdpZGU6ZmFsc2UsJGRlc2t0b3A6ZmFsc2UsJGRlc2t0b3Atd2lkZTpmYWxzZSwkc2l0ZS13aWR0aDpmYWxzZSkge1xuICBAaWYgKCRtb2JpbGUpIHsgQGluY2x1ZGUgZm9udF9zaXplKCRtb2JpbGUpOyB9XG4gIEBpZiAoJG1vYmlsZS13aWRlKSB7IEBpbmNsdWRlIHJlc3BvbmRfbWluKCRicC1tb2JpbGUtbWluKSB7IEBpbmNsdWRlIGZvbnRfc2l6ZSgkbW9iaWxlLXdpZGUpOyB9IH1cbiAgQGlmICgkcGhhYmxldCkgeyBAaW5jbHVkZSByZXNwb25kX21pbigkYnAtcGhhYmxldC1taW4pIHsgQGluY2x1ZGUgZm9udF9zaXplKCRwaGFibGV0KTsgfSB9XG4gIEBpZiAoJHRhYmxldCkgeyBAaW5jbHVkZSByZXNwb25kX21pbigkYnAtdGFibGV0LW1pbikgeyBAaW5jbHVkZSBmb250X3NpemUoJHRhYmxldCk7IH0gfVxuICBAaWYgKCR0YWJsZXQtd2lkZSkgeyBAaW5jbHVkZSByZXNwb25kX21pbigkYnAtdGFibGV0LXdpZGUtbWluKSB7IEBpbmNsdWRlIGZvbnRfc2l6ZSgkdGFibGV0LXdpZGUpOyB9IH1cbiAgQGlmICgkZGVza3RvcCkgeyBAaW5jbHVkZSByZXNwb25kX21pbigkYnAtZGVza3RvcC1taW4pIHsgQGluY2x1ZGUgZm9udF9zaXplKCRkZXNrdG9wKTsgfSB9XG4gIEBpZiAoJGRlc2t0b3Atd2lkZSkgeyBAaW5jbHVkZSByZXNwb25kX21pbigkYnAtZGVza3RvcC13aWRlLW1pbikgeyBAaW5jbHVkZSBmb250X3NpemUoJGRlc2t0b3Atd2lkZSk7IH0gfVxuICBAaWYgKCRzaXRlLXdpZHRoKSB7IEBpbmNsdWRlIHJlc3BvbmRfbWluKCRicC1zaXRlLW1pbikgeyBAaW5jbHVkZSBmb250X3NpemUoJHNpdGUtd2lkdGgpOyB9IH1cbn1cblxuLy8gU0hBUlBFUiBGT05UU1xuQG1peGluIGZvbnRfc2hhcnBlbigpIHtcbiAgdGV4dC1zaGFkb3c6IDFweCAxcHggMXB4IHJnYmEoMCwgMCwgMCwgMC4wMDQpO1xuICB0ZXh0LXJlbmRlcmluZzogb3B0aW1pemVMZWdpYmlsaXR5OyAvLyBhZXN0aGV0aWNhbGx5bG95YWwuY29tL3B1YmxpYy9vcHRpbWl6ZS1sZWdpYmlsaXR5L1xuICAtd2Via2l0LWZvbnQtc21vb3RoaW5nOiBhbnRpYWxpYXNlZDsgLy8gYmV0dGVyIHJlbmRlciBpbiBXZWJLaXRcbiAgLW1vei1vc3gtZm9udC1zbW9vdGhpbmc6IGdyYXlzY2FsZTtcbn1cblxuLy8gRk9OVC1GQUNFIFBSRVNFVFNcblxuQG1peGluIGZvbnRfbGF0bygpIHtcbiAgZm9udC1mYW1pbHk6ICRmZi1sYXRvO1xuICBmb250LXdlaWdodDogbm9ybWFsO1xufVxuXG5AbWl4aW4gZm9udC1sYXRvLWxpZ2h0KCkge1xuICBmb250LWZhbWlseTogJGZmLWxhdG87XG4gIGZvbnQtd2VpZ2h0OiAzMDA7XG4gIGxpbmUtaGVpZ2h0OiAkbGgtbGF0by1saWdodDtcbn1cblxuQG1peGluIGZvbnRfbGF0b19ib2xkKCkge1xuICBmb250LWZhbWlseTogJGZmLWxhdG87XG4gIGZvbnQtd2VpZ2h0OiA3MDA7XG59XG5cbkBtaXhpbiBmb250X29zd2FsZCgpIHtcbiAgZm9udC1mYW1pbHk6ICRmZi1vc3dhbGQ7XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gIGxpbmUtaGVpZ2h0OiAkbGgtb3N3YWxkO1xufVxuXG4vLyBUWVBFIFNUWUxFIFBSRVNFVFNcblxuQG1peGluIHR5cGVfbGVhZCgpIHtcbiAgQGluY2x1ZGUgZm9udC1sYXRvLWxpZ2h0KCk7XG4gIEBpbmNsdWRlIHJlc3BvbmRfZm9udF9zaXplKCRmcy1sYXRvLW1lZCwkdGFibGV0LXdpZGU6JGZzLWxhdG8tbHJnKTtcbn1cblxuQG1peGluIHR5cGVfaGVhZGluZygpIHtcbiAgQGluY2x1ZGUgZm9udF9vc3dhbGQoKTtcbn1cblxuQG1peGluIHR5cGVfcXVvdGUoKSB7XG4gIEBpbmNsdWRlIGZvbnQtbGF0by1saWdodCgpO1xuICBAaW5jbHVkZSByZXNwb25kX2ZvbnRfc2l6ZSgkZnMtbGF0by1tZWQsJHRhYmxldC13aWRlOiRmcy1sYXRvLWxyZyk7XG4gIGZvbnQtc3R5bGU6IGl0YWxpYztcbn1cblxuQG1peGluIHR5cGVfbGluaygkY29sb3I6aW5oZXJpdCwkdW5kZXJsaW5lLWNvbG9yOiRjbHItdGVhbCkge1xuICBjb2xvcjogJGNvbG9yO1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAkdW5kZXJsaW5lLWNvbG9yO1xuXG4gICY6aG92ZXIge1xuICAgIGJvcmRlci1ib3R0b20tc3R5bGU6IGRvdHRlZDtcbiAgfVxufVxuXG5AbWl4aW4gdHlwZV9saW5rX3Jlc2V0KCkge1xuICBjb2xvcjogaW5oZXJpdDtcbiAgYm9yZGVyLWJvdHRvbTogaW5oZXJpdDtcbn1cbiIsIi8qKlxuICBIRUxQRVJTOiBNSVNDXG4gIEhlbHBlciBmdW5jdGlvbnMgYW5kIG1peGluc1xuKiovXG5cbi8qKiogRlVOQ1RJT05TICoqKi9cblxuLy8gU3RyaXAgdW5pdHMgZnJvbSB2YWx1ZVxuQGZ1bmN0aW9uIHN0cmlwVW5pdCgkbnVtKSB7XG4gIEByZXR1cm4gJG51bSAvICgkbnVtICogMCArIDEpO1xufVxuXG4vLyBDb252ZXJ0IHBpeGVscyB0byByZW1cbkBmdW5jdGlvbiBjYWxjdWxhdGVSZW0oJHNpemUsJGJhc2UtZm9udC1zaXplOiAxNnB4KSB7XG4gICRyZW1TaXplOiBzdHJpcFVuaXQoJHNpemUgLyAkYmFzZS1mb250LXNpemUpO1xuICBAcmV0dXJuICRyZW1TaXplO1xufVxuXG4vLyBQZXJjZW50YWdlIGNhbGN1bGF0b3JcbkBmdW5jdGlvbiBwZXJjZW50KCRzaXplLCRjb250YWluZXIpIHtcbiAgQHJldHVybiAoJHNpemUgLyAkY29udGFpbmVyKSAqIDEwMCU7XG59XG5cbi8qKiogTUlYSU5TICoqKi9cblxuLy8gQ0xFQVJGSVhcbi8vIEZsb2F0IGNsZWFyaW5nXG5AbWl4aW4gY2xlYXJmaXgoKSB7XG4gICY6YmVmb3JlLFxuICAmOmFmdGVyIHtcbiAgICBjb250ZW50OiBcIlwiO1xuICAgIGRpc3BsYXk6IHRhYmxlO1xuICB9XG4gICY6YWZ0ZXIge1xuICAgIGNsZWFyOiBib3RoO1xuICB9XG59XG5cbi8vIEhPVkVSIEZPQ1VTXG5AbWl4aW4gaG92ZXItZm9jdXMoKSB7XG4gICY6aG92ZXIsXG4gICY6Zm9jdXMge1xuICAgIEBjb250ZW50O1xuICB9XG59XG5cbi8vIEFVVE8tRkxVU0ggTUFSR0lOU1xuLy8gUmVtb3ZlIHRvcC9ib3R0b20gbWFyZ2luIHdoZW4gZWxlbWVudCBpcyBmaXJzdCBhbmQvb3IgbGFzdCBjaGlsZFxuQG1peGluIG5vX21hcmdpbl9maXJzdF9vcl9sYXN0KCR3aGVuLWZpcnN0OnRydWUsJHdoZW4tbGFzdDp0cnVlKSB7XG5cbiAgQGlmICgkd2hlbi1maXJzdCkge1xuICAgICY6Zmlyc3QtY2hpbGQgeyBtYXJnaW4tdG9wOiAwOyB9XG4gIH1cblxuICBAaWYgKCR3aGVuLWxhc3QpIHtcbiAgICAmOmxhc3QtY2hpbGQgeyBtYXJnaW4tYm90dG9tOiAwOyB9XG4gIH1cbn1cblxuLy8gU0lCTElORyBDT1VOVFxuLy8gU3R5bGluZyBiYXNlZCBvbiBudW1iZXIgb2Ygc2libGluZ3MsIHNlZSBodHRwOi8vbGVhLnZlcm91Lm1lLzIwMTEvMDEvc3R5bGluZy1jaGlsZHJlbi1iYXNlZC1vbi10aGVpci1udW1iZXItd2l0aC1jc3MzL1xuQG1peGluIHNpYmxpbmdfY291bnQoJGNvdW50LCRlbGVtZW50LWNvbnRleHQ6JyYnKSB7XG4gICRjb250ZXh0LW1vZGlmaWVyOiAnJztcbiAgQGlmICgkZWxlbWVudC1jb250ZXh0ICE9ICcmJykgeyAkY29udGV4dC1tb2RpZmllcjogJyYnOyB9XG5cbiAgQGlmICgkY291bnQgPT0gMSkgeyAvLyBpZiBvbmUgc2libGluZ1xuICAgICN7JGVsZW1lbnQtY29udGV4dH06Zmlyc3QtY2hpbGQ6bnRoLWxhc3QtY2hpbGQoI3skY291bnR9KSAjeyRjb250ZXh0LW1vZGlmaWVyfSB7XG4gICAgICBAY29udGVudDtcbiAgICB9XG4gIH1cbiAgQGVsc2UgeyAvLyBpZiBncmVhdGVyIHRoYW4gb25lIHNpYmxpbmdcbiAgICAjeyRlbGVtZW50LWNvbnRleHR9OmZpcnN0LWNoaWxkOm50aC1sYXN0LWNoaWxkKCN7JGNvdW50fSkgI3skY29udGV4dC1tb2RpZmllcn0sXG4gICAgI3skZWxlbWVudC1jb250ZXh0fTpmaXJzdC1jaGlsZDpudGgtbGFzdC1jaGlsZCgjeyRjb3VudH0pIH4gI3skZWxlbWVudC1jb250ZXh0fSAjeyRjb250ZXh0LW1vZGlmaWVyfSB7XG4gICAgICBAY29udGVudDtcbiAgICB9XG4gIH1cbn1cblxuLy8gQk9SREVSXG4vLyBTaG9ydGhhbmQgYm9yZGVyIHN0eWxlIGhlbHBlciwgdXNhZ2U6IEBpbmNsdWRlIGJvcmRlcig1cHggMTBweCwgYmx1ZSwgc29saWQpO1xuQG1peGluIGJvcmRlcl9zdHlsZSgkd2lkdGhzLCRjb2xvciwkc3R5bGU6c29saWQpIHtcbiAgYm9yZGVyOiAkY29sb3IgJHN0eWxlO1xuICBib3JkZXItd2lkdGg6ICR3aWR0aHM7XG59XG5cbi8vIEtFWUZSQU1FU1xuLy8gQ3Jvc3MtYnJvd3NlciBrZXlmcmFtZXNcbkBtaXhpbiBrZXlmcmFtZXMoJG5hbWUpIHtcbiAgQC13ZWJraXQta2V5ZnJhbWVzICN7JG5hbWV9IHtcbiAgICBAY29udGVudDtcbiAgfVxuICBALW1vei1rZXlmcmFtZXMgI3skbmFtZX0ge1xuICAgIEBjb250ZW50O1xuICB9XG4gIEAtbXMta2V5ZnJhbWVzICN7JG5hbWV9IHtcbiAgICBAY29udGVudDtcbiAgfVxuICBAa2V5ZnJhbWVzICN7JG5hbWV9IHtcbiAgICBAY29udGVudDtcbiAgfVxufVxuXG4vLyBBQ0NFU1NJQkxFIEhJREVcbi8vIEhpZGUgY29udGVudCBidXQgc3RpbGwgcmVhZGFibGUgYnkgc2NyZWVuIHJlYWRlcnNcbkBtaXhpbiBhY2Nlc3NpYmxlX2hpZGUoKSB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgbGVmdDogLTk5OTllbTtcbiAgdG9wOiBhdXRvO1xuICB3aWR0aDogMXB4O1xuICBoZWlnaHQ6IDFweDtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbn1cblxuQG1peGluIGFjY2Vzc2libGVfaGlkZV9yZXNldCgpIHtcbiAgcG9zaXRpb246IHN0YXRpYztcbiAgbGVmdDogYXV0bztcbiAgd2lkdGg6IGF1dG87XG4gIGhlaWdodDogYXV0bztcbiAgb3ZlcmZsb3c6IHZpc2libGU7XG59XG4iLCIvKiEgbm9ybWFsaXplLmNzcyB2NC4xLjEgfCBNSVQgTGljZW5zZSB8IGdpdGh1Yi5jb20vbmVjb2xhcy9ub3JtYWxpemUuY3NzICovXG5cbi8qKlxuICogMS4gQ2hhbmdlIHRoZSBkZWZhdWx0IGZvbnQgZmFtaWx5IGluIGFsbCBicm93c2VycyAob3BpbmlvbmF0ZWQpLlxuICogMi4gUHJldmVudCBhZGp1c3RtZW50cyBvZiBmb250IHNpemUgYWZ0ZXIgb3JpZW50YXRpb24gY2hhbmdlcyBpbiBJRSBhbmQgaU9TLlxuICovXG5cbmh0bWwge1xuICBmb250LWZhbWlseTogc2Fucy1zZXJpZjsgLyogMSAqL1xuICAtbXMtdGV4dC1zaXplLWFkanVzdDogMTAwJTsgLyogMiAqL1xuICAtd2Via2l0LXRleHQtc2l6ZS1hZGp1c3Q6IDEwMCU7IC8qIDIgKi9cbn1cblxuLyoqXG4gKiBSZW1vdmUgdGhlIG1hcmdpbiBpbiBhbGwgYnJvd3NlcnMgKG9waW5pb25hdGVkKS5cbiAqL1xuXG5ib2R5IHtcbiAgbWFyZ2luOiAwO1xufVxuXG4vKiBIVE1MNSBkaXNwbGF5IGRlZmluaXRpb25zXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKipcbiAqIEFkZCB0aGUgY29ycmVjdCBkaXNwbGF5IGluIElFIDktLlxuICogMS4gQWRkIHRoZSBjb3JyZWN0IGRpc3BsYXkgaW4gRWRnZSwgSUUsIGFuZCBGaXJlZm94LlxuICogMi4gQWRkIHRoZSBjb3JyZWN0IGRpc3BsYXkgaW4gSUUuXG4gKi9cblxuYXJ0aWNsZSxcbmFzaWRlLFxuZGV0YWlscywgLyogMSAqL1xuZmlnY2FwdGlvbixcbmZpZ3VyZSxcbmZvb3RlcixcbmhlYWRlcixcbm1haW4sIC8qIDIgKi9cbm1lbnUsXG5uYXYsXG5zZWN0aW9uLFxuc3VtbWFyeSB7IC8qIDEgKi9cbiAgZGlzcGxheTogYmxvY2s7XG59XG5cbi8qKlxuICogQWRkIHRoZSBjb3JyZWN0IGRpc3BsYXkgaW4gSUUgOS0uXG4gKi9cblxuYXVkaW8sXG5jYW52YXMsXG5wcm9ncmVzcyxcbnZpZGVvIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xufVxuXG4vKipcbiAqIEFkZCB0aGUgY29ycmVjdCBkaXNwbGF5IGluIGlPUyA0LTcuXG4gKi9cblxuYXVkaW86bm90KFtjb250cm9sc10pIHtcbiAgZGlzcGxheTogbm9uZTtcbiAgaGVpZ2h0OiAwO1xufVxuXG4vKipcbiAqIEFkZCB0aGUgY29ycmVjdCB2ZXJ0aWNhbCBhbGlnbm1lbnQgaW4gQ2hyb21lLCBGaXJlZm94LCBhbmQgT3BlcmEuXG4gKi9cblxucHJvZ3Jlc3Mge1xuICB2ZXJ0aWNhbC1hbGlnbjogYmFzZWxpbmU7XG59XG5cbi8qKlxuICogQWRkIHRoZSBjb3JyZWN0IGRpc3BsYXkgaW4gSUUgMTAtLlxuICogMS4gQWRkIHRoZSBjb3JyZWN0IGRpc3BsYXkgaW4gSUUuXG4gKi9cblxudGVtcGxhdGUsIC8qIDEgKi9cbltoaWRkZW5dIHtcbiAgZGlzcGxheTogbm9uZTtcbn1cblxuLyogTGlua3NcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qKlxuICogMS4gUmVtb3ZlIHRoZSBncmF5IGJhY2tncm91bmQgb24gYWN0aXZlIGxpbmtzIGluIElFIDEwLlxuICogMi4gUmVtb3ZlIGdhcHMgaW4gbGlua3MgdW5kZXJsaW5lIGluIGlPUyA4KyBhbmQgU2FmYXJpIDgrLlxuICovXG5cbmEge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDsgLyogMSAqL1xuICAtd2Via2l0LXRleHQtZGVjb3JhdGlvbi1za2lwOiBvYmplY3RzOyAvKiAyICovXG59XG5cbi8qKlxuICogUmVtb3ZlIHRoZSBvdXRsaW5lIG9uIGZvY3VzZWQgbGlua3Mgd2hlbiB0aGV5IGFyZSBhbHNvIGFjdGl2ZSBvciBob3ZlcmVkXG4gKiBpbiBhbGwgYnJvd3NlcnMgKG9waW5pb25hdGVkKS5cbiAqL1xuXG5hOmFjdGl2ZSxcbmE6aG92ZXIge1xuICBvdXRsaW5lLXdpZHRoOiAwO1xufVxuXG4vKiBUZXh0LWxldmVsIHNlbWFudGljc1xuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLyoqXG4gKiAxLiBSZW1vdmUgdGhlIGJvdHRvbSBib3JkZXIgaW4gRmlyZWZveCAzOS0uXG4gKiAyLiBBZGQgdGhlIGNvcnJlY3QgdGV4dCBkZWNvcmF0aW9uIGluIENocm9tZSwgRWRnZSwgSUUsIE9wZXJhLCBhbmQgU2FmYXJpLlxuICovXG5cbmFiYnJbdGl0bGVdIHtcbiAgYm9yZGVyLWJvdHRvbTogbm9uZTsgLyogMSAqL1xuICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTsgLyogMiAqL1xuICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZSBkb3R0ZWQ7IC8qIDIgKi9cbn1cblxuLyoqXG4gKiBQcmV2ZW50IHRoZSBkdXBsaWNhdGUgYXBwbGljYXRpb24gb2YgYGJvbGRlcmAgYnkgdGhlIG5leHQgcnVsZSBpbiBTYWZhcmkgNi5cbiAqL1xuXG5iLFxuc3Ryb25nIHtcbiAgZm9udC13ZWlnaHQ6IGluaGVyaXQ7XG59XG5cbi8qKlxuICogQWRkIHRoZSBjb3JyZWN0IGZvbnQgd2VpZ2h0IGluIENocm9tZSwgRWRnZSwgYW5kIFNhZmFyaS5cbiAqL1xuXG5iLFxuc3Ryb25nIHtcbiAgZm9udC13ZWlnaHQ6IGJvbGRlcjtcbn1cblxuLyoqXG4gKiBBZGQgdGhlIGNvcnJlY3QgZm9udCBzdHlsZSBpbiBBbmRyb2lkIDQuMy0uXG4gKi9cblxuZGZuIHtcbiAgZm9udC1zdHlsZTogaXRhbGljO1xufVxuXG4vKipcbiAqIENvcnJlY3QgdGhlIGZvbnQgc2l6ZSBhbmQgbWFyZ2luIG9uIGBoMWAgZWxlbWVudHMgd2l0aGluIGBzZWN0aW9uYCBhbmRcbiAqIGBhcnRpY2xlYCBjb250ZXh0cyBpbiBDaHJvbWUsIEZpcmVmb3gsIGFuZCBTYWZhcmkuXG4gKi9cblxuaDEge1xuICBmb250LXNpemU6IDJlbTtcbiAgbWFyZ2luOiAwLjY3ZW0gMDtcbn1cblxuLyoqXG4gKiBBZGQgdGhlIGNvcnJlY3QgYmFja2dyb3VuZCBhbmQgY29sb3IgaW4gSUUgOS0uXG4gKi9cblxubWFyayB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZjA7XG4gIGNvbG9yOiAjMDAwO1xufVxuXG4vKipcbiAqIEFkZCB0aGUgY29ycmVjdCBmb250IHNpemUgaW4gYWxsIGJyb3dzZXJzLlxuICovXG5cbnNtYWxsIHtcbiAgZm9udC1zaXplOiA4MCU7XG59XG5cbi8qKlxuICogUHJldmVudCBgc3ViYCBhbmQgYHN1cGAgZWxlbWVudHMgZnJvbSBhZmZlY3RpbmcgdGhlIGxpbmUgaGVpZ2h0IGluXG4gKiBhbGwgYnJvd3NlcnMuXG4gKi9cblxuc3ViLFxuc3VwIHtcbiAgZm9udC1zaXplOiA3NSU7XG4gIGxpbmUtaGVpZ2h0OiAwO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHZlcnRpY2FsLWFsaWduOiBiYXNlbGluZTtcbn1cblxuc3ViIHtcbiAgYm90dG9tOiAtMC4yNWVtO1xufVxuXG5zdXAge1xuICB0b3A6IC0wLjVlbTtcbn1cblxuLyogRW1iZWRkZWQgY29udGVudFxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLyoqXG4gKiBSZW1vdmUgdGhlIGJvcmRlciBvbiBpbWFnZXMgaW5zaWRlIGxpbmtzIGluIElFIDEwLS5cbiAqL1xuXG5pbWcge1xuICBib3JkZXItc3R5bGU6IG5vbmU7XG59XG5cbi8qKlxuICogSGlkZSB0aGUgb3ZlcmZsb3cgaW4gSUUuXG4gKi9cblxuc3ZnOm5vdCg6cm9vdCkge1xuICBvdmVyZmxvdzogaGlkZGVuO1xufVxuXG4vKiBHcm91cGluZyBjb250ZW50XG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKipcbiAqIDEuIENvcnJlY3QgdGhlIGluaGVyaXRhbmNlIGFuZCBzY2FsaW5nIG9mIGZvbnQgc2l6ZSBpbiBhbGwgYnJvd3NlcnMuXG4gKiAyLiBDb3JyZWN0IHRoZSBvZGQgYGVtYCBmb250IHNpemluZyBpbiBhbGwgYnJvd3NlcnMuXG4gKi9cblxuY29kZSxcbmtiZCxcbnByZSxcbnNhbXAge1xuICBmb250LWZhbWlseTogbW9ub3NwYWNlLCBtb25vc3BhY2U7IC8qIDEgKi9cbiAgZm9udC1zaXplOiAxZW07IC8qIDIgKi9cbn1cblxuLyoqXG4gKiBBZGQgdGhlIGNvcnJlY3QgbWFyZ2luIGluIElFIDguXG4gKi9cblxuZmlndXJlIHtcbiAgbWFyZ2luOiAxZW0gNDBweDtcbn1cblxuLyoqXG4gKiAxLiBBZGQgdGhlIGNvcnJlY3QgYm94IHNpemluZyBpbiBGaXJlZm94LlxuICogMi4gU2hvdyB0aGUgb3ZlcmZsb3cgaW4gRWRnZSBhbmQgSUUuXG4gKi9cblxuaHIge1xuICBib3gtc2l6aW5nOiBjb250ZW50LWJveDsgLyogMSAqL1xuICBoZWlnaHQ6IDA7IC8qIDEgKi9cbiAgb3ZlcmZsb3c6IHZpc2libGU7IC8qIDIgKi9cbn1cblxuLyogRm9ybXNcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qKlxuICogMS4gQ2hhbmdlIGZvbnQgcHJvcGVydGllcyB0byBgaW5oZXJpdGAgaW4gYWxsIGJyb3dzZXJzIChvcGluaW9uYXRlZCkuXG4gKiAyLiBSZW1vdmUgdGhlIG1hcmdpbiBpbiBGaXJlZm94IGFuZCBTYWZhcmkuXG4gKi9cblxuYnV0dG9uLFxuaW5wdXQsXG5zZWxlY3QsXG50ZXh0YXJlYSB7XG4gIGZvbnQ6IGluaGVyaXQ7IC8qIDEgKi9cbiAgbWFyZ2luOiAwOyAvKiAyICovXG59XG5cbi8qKlxuICogUmVzdG9yZSB0aGUgZm9udCB3ZWlnaHQgdW5zZXQgYnkgdGhlIHByZXZpb3VzIHJ1bGUuXG4gKi9cblxub3B0Z3JvdXAge1xuICBmb250LXdlaWdodDogYm9sZDtcbn1cblxuLyoqXG4gKiBTaG93IHRoZSBvdmVyZmxvdyBpbiBJRS5cbiAqIDEuIFNob3cgdGhlIG92ZXJmbG93IGluIEVkZ2UuXG4gKi9cblxuYnV0dG9uLFxuaW5wdXQgeyAvKiAxICovXG4gIG92ZXJmbG93OiB2aXNpYmxlO1xufVxuXG4vKipcbiAqIFJlbW92ZSB0aGUgaW5oZXJpdGFuY2Ugb2YgdGV4dCB0cmFuc2Zvcm0gaW4gRWRnZSwgRmlyZWZveCwgYW5kIElFLlxuICogMS4gUmVtb3ZlIHRoZSBpbmhlcml0YW5jZSBvZiB0ZXh0IHRyYW5zZm9ybSBpbiBGaXJlZm94LlxuICovXG5cbmJ1dHRvbixcbnNlbGVjdCB7IC8qIDEgKi9cbiAgdGV4dC10cmFuc2Zvcm06IG5vbmU7XG59XG5cbi8qKlxuICogMS4gUHJldmVudCBhIFdlYktpdCBidWcgd2hlcmUgKDIpIGRlc3Ryb3lzIG5hdGl2ZSBgYXVkaW9gIGFuZCBgdmlkZW9gXG4gKiAgICBjb250cm9scyBpbiBBbmRyb2lkIDQuXG4gKiAyLiBDb3JyZWN0IHRoZSBpbmFiaWxpdHkgdG8gc3R5bGUgY2xpY2thYmxlIHR5cGVzIGluIGlPUyBhbmQgU2FmYXJpLlxuICovXG5cbmJ1dHRvbixcbmh0bWwgW3R5cGU9XCJidXR0b25cIl0sIC8qIDEgKi9cblt0eXBlPVwicmVzZXRcIl0sXG5bdHlwZT1cInN1Ym1pdFwiXSB7XG4gIC13ZWJraXQtYXBwZWFyYW5jZTogYnV0dG9uOyAvKiAyICovXG59XG5cbi8qKlxuICogUmVtb3ZlIHRoZSBpbm5lciBib3JkZXIgYW5kIHBhZGRpbmcgaW4gRmlyZWZveC5cbiAqL1xuXG5idXR0b246Oi1tb3otZm9jdXMtaW5uZXIsXG5bdHlwZT1cImJ1dHRvblwiXTo6LW1vei1mb2N1cy1pbm5lcixcblt0eXBlPVwicmVzZXRcIl06Oi1tb3otZm9jdXMtaW5uZXIsXG5bdHlwZT1cInN1Ym1pdFwiXTo6LW1vei1mb2N1cy1pbm5lciB7XG4gIGJvcmRlci1zdHlsZTogbm9uZTtcbiAgcGFkZGluZzogMDtcbn1cblxuLyoqXG4gKiBSZXN0b3JlIHRoZSBmb2N1cyBzdHlsZXMgdW5zZXQgYnkgdGhlIHByZXZpb3VzIHJ1bGUuXG4gKi9cblxuYnV0dG9uOi1tb3otZm9jdXNyaW5nLFxuW3R5cGU9XCJidXR0b25cIl06LW1vei1mb2N1c3JpbmcsXG5bdHlwZT1cInJlc2V0XCJdOi1tb3otZm9jdXNyaW5nLFxuW3R5cGU9XCJzdWJtaXRcIl06LW1vei1mb2N1c3Jpbmcge1xuICBvdXRsaW5lOiAxcHggZG90dGVkIEJ1dHRvblRleHQ7XG59XG5cbi8qKlxuICogQ2hhbmdlIHRoZSBib3JkZXIsIG1hcmdpbiwgYW5kIHBhZGRpbmcgaW4gYWxsIGJyb3dzZXJzIChvcGluaW9uYXRlZCkuXG4gKi9cblxuZmllbGRzZXQge1xuICBib3JkZXI6IDFweCBzb2xpZCAjYzBjMGMwO1xuICBtYXJnaW46IDAgMnB4O1xuICBwYWRkaW5nOiAwLjM1ZW0gMC42MjVlbSAwLjc1ZW07XG59XG5cbi8qKlxuICogMS4gQ29ycmVjdCB0aGUgdGV4dCB3cmFwcGluZyBpbiBFZGdlIGFuZCBJRS5cbiAqIDIuIENvcnJlY3QgdGhlIGNvbG9yIGluaGVyaXRhbmNlIGZyb20gYGZpZWxkc2V0YCBlbGVtZW50cyBpbiBJRS5cbiAqIDMuIFJlbW92ZSB0aGUgcGFkZGluZyBzbyBkZXZlbG9wZXJzIGFyZSBub3QgY2F1Z2h0IG91dCB3aGVuIHRoZXkgemVybyBvdXRcbiAqICAgIGBmaWVsZHNldGAgZWxlbWVudHMgaW4gYWxsIGJyb3dzZXJzLlxuICovXG5cbmxlZ2VuZCB7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7IC8qIDEgKi9cbiAgY29sb3I6IGluaGVyaXQ7IC8qIDIgKi9cbiAgZGlzcGxheTogdGFibGU7IC8qIDEgKi9cbiAgbWF4LXdpZHRoOiAxMDAlOyAvKiAxICovXG4gIHBhZGRpbmc6IDA7IC8qIDMgKi9cbiAgd2hpdGUtc3BhY2U6IG5vcm1hbDsgLyogMSAqL1xufVxuXG4vKipcbiAqIFJlbW92ZSB0aGUgZGVmYXVsdCB2ZXJ0aWNhbCBzY3JvbGxiYXIgaW4gSUUuXG4gKi9cblxudGV4dGFyZWEge1xuICBvdmVyZmxvdzogYXV0bztcbn1cblxuLyoqXG4gKiAxLiBBZGQgdGhlIGNvcnJlY3QgYm94IHNpemluZyBpbiBJRSAxMC0uXG4gKiAyLiBSZW1vdmUgdGhlIHBhZGRpbmcgaW4gSUUgMTAtLlxuICovXG5cblt0eXBlPVwiY2hlY2tib3hcIl0sXG5bdHlwZT1cInJhZGlvXCJdIHtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDsgLyogMSAqL1xuICBwYWRkaW5nOiAwOyAvKiAyICovXG59XG5cbi8qKlxuICogQ29ycmVjdCB0aGUgY3Vyc29yIHN0eWxlIG9mIGluY3JlbWVudCBhbmQgZGVjcmVtZW50IGJ1dHRvbnMgaW4gQ2hyb21lLlxuICovXG5cblt0eXBlPVwibnVtYmVyXCJdOjotd2Via2l0LWlubmVyLXNwaW4tYnV0dG9uLFxuW3R5cGU9XCJudW1iZXJcIl06Oi13ZWJraXQtb3V0ZXItc3Bpbi1idXR0b24ge1xuICBoZWlnaHQ6IGF1dG87XG59XG5cbi8qKlxuICogMS4gQ29ycmVjdCB0aGUgb2RkIGFwcGVhcmFuY2UgaW4gQ2hyb21lIGFuZCBTYWZhcmkuXG4gKiAyLiBDb3JyZWN0IHRoZSBvdXRsaW5lIHN0eWxlIGluIFNhZmFyaS5cbiAqL1xuXG5bdHlwZT1cInNlYXJjaFwiXSB7XG4gIC13ZWJraXQtYXBwZWFyYW5jZTogdGV4dGZpZWxkOyAvKiAxICovXG4gIG91dGxpbmUtb2Zmc2V0OiAtMnB4OyAvKiAyICovXG59XG5cbi8qKlxuICogUmVtb3ZlIHRoZSBpbm5lciBwYWRkaW5nIGFuZCBjYW5jZWwgYnV0dG9ucyBpbiBDaHJvbWUgYW5kIFNhZmFyaSBvbiBPUyBYLlxuICovXG5cblt0eXBlPVwic2VhcmNoXCJdOjotd2Via2l0LXNlYXJjaC1jYW5jZWwtYnV0dG9uLFxuW3R5cGU9XCJzZWFyY2hcIl06Oi13ZWJraXQtc2VhcmNoLWRlY29yYXRpb24ge1xuICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7XG59XG5cbi8qKlxuICogQ29ycmVjdCB0aGUgdGV4dCBzdHlsZSBvZiBwbGFjZWhvbGRlcnMgaW4gQ2hyb21lLCBFZGdlLCBhbmQgU2FmYXJpLlxuICovXG5cbjo6LXdlYmtpdC1pbnB1dC1wbGFjZWhvbGRlciB7XG4gIGNvbG9yOiBpbmhlcml0O1xuICBvcGFjaXR5OiAwLjU0O1xufVxuXG4vKipcbiAqIDEuIENvcnJlY3QgdGhlIGluYWJpbGl0eSB0byBzdHlsZSBjbGlja2FibGUgdHlwZXMgaW4gaU9TIGFuZCBTYWZhcmkuXG4gKiAyLiBDaGFuZ2UgZm9udCBwcm9wZXJ0aWVzIHRvIGBpbmhlcml0YCBpbiBTYWZhcmkuXG4gKi9cblxuOjotd2Via2l0LWZpbGUtdXBsb2FkLWJ1dHRvbiB7XG4gIC13ZWJraXQtYXBwZWFyYW5jZTogYnV0dG9uOyAvKiAxICovXG4gIGZvbnQ6IGluaGVyaXQ7IC8qIDIgKi9cbn1cbiIsIi8qKlxuICogVG9vbGtpdCBzdHlsZXMgaW5kZXhcbiAqL1xuLypcbiAgVkFSSUFCTEVTXG4qL1xuLypcbiAgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gIENPTE9SXG4gIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuKi9cbi8qXG4gIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICBMQVlPVVRcbiAgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4qL1xuLypcbiAgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gIFRZUE9HUkFQSFlcbiAgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4qL1xuLypcbiAgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gIEJSRUFLUE9JTlRTXG4gIElkZWFsbHkgYmUgaW4gLW1pbi8tbWF4IHBhaXJzLCB3aXRoIC1taW4gYmVpbmcgMXB4IGxhcmdlciB0aGFuIGl0cyBwcmVkZWNlc3NvclxuICAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiovXG4vKlxuICBIRUxQRVJTOiBCUkVBS1BPSU5UU1xuICBCYXNlZCBvbiBodHRwczovL2pha2VhcmNoaWJhbGQuZ2l0aHViLmlvL3Nhc3MtaWUvXG4qL1xuLypcbiAgSEVMUEVSOiBMQVlPVVRcbiovXG4vKlxuICBIRUxQRVJTOiBUWVBPR1JBUEhZXG4qL1xuLyoqXG4gIEhFTFBFUlM6IE1JU0NcbiAgSGVscGVyIGZ1bmN0aW9ucyBhbmQgbWl4aW5zXG4qKi9cbi8qKiogRlVOQ1RJT05TICoqKi9cbi8qKiogTUlYSU5TICoqKi9cbi8qISBub3JtYWxpemUuY3NzIHY0LjEuMSB8IE1JVCBMaWNlbnNlIHwgZ2l0aHViLmNvbS9uZWNvbGFzL25vcm1hbGl6ZS5jc3MgKi9cbi8qKlxuICogMS4gQ2hhbmdlIHRoZSBkZWZhdWx0IGZvbnQgZmFtaWx5IGluIGFsbCBicm93c2VycyAob3BpbmlvbmF0ZWQpLlxuICogMi4gUHJldmVudCBhZGp1c3RtZW50cyBvZiBmb250IHNpemUgYWZ0ZXIgb3JpZW50YXRpb24gY2hhbmdlcyBpbiBJRSBhbmQgaU9TLlxuICovXG5odG1sIHtcbiAgZm9udC1mYW1pbHk6IHNhbnMtc2VyaWY7XG4gIC8qIDEgKi9cbiAgLW1zLXRleHQtc2l6ZS1hZGp1c3Q6IDEwMCU7XG4gIC8qIDIgKi9cbiAgLXdlYmtpdC10ZXh0LXNpemUtYWRqdXN0OiAxMDAlO1xuICAvKiAyICovIH1cblxuLyoqXG4gKiBSZW1vdmUgdGhlIG1hcmdpbiBpbiBhbGwgYnJvd3NlcnMgKG9waW5pb25hdGVkKS5cbiAqL1xuYm9keSB7XG4gIG1hcmdpbjogMDsgfVxuXG4vKiBIVE1MNSBkaXNwbGF5IGRlZmluaXRpb25zXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLyoqXG4gKiBBZGQgdGhlIGNvcnJlY3QgZGlzcGxheSBpbiBJRSA5LS5cbiAqIDEuIEFkZCB0aGUgY29ycmVjdCBkaXNwbGF5IGluIEVkZ2UsIElFLCBhbmQgRmlyZWZveC5cbiAqIDIuIEFkZCB0aGUgY29ycmVjdCBkaXNwbGF5IGluIElFLlxuICovXG5hcnRpY2xlLFxuYXNpZGUsXG5kZXRhaWxzLFxuZmlnY2FwdGlvbixcbmZpZ3VyZSxcbmZvb3RlcixcbmhlYWRlcixcbm1haW4sXG5tZW51LFxubmF2LFxuc2VjdGlvbixcbnN1bW1hcnkge1xuICAvKiAxICovXG4gIGRpc3BsYXk6IGJsb2NrOyB9XG5cbi8qKlxuICogQWRkIHRoZSBjb3JyZWN0IGRpc3BsYXkgaW4gSUUgOS0uXG4gKi9cbmF1ZGlvLFxuY2FudmFzLFxucHJvZ3Jlc3MsXG52aWRlbyB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jazsgfVxuXG4vKipcbiAqIEFkZCB0aGUgY29ycmVjdCBkaXNwbGF5IGluIGlPUyA0LTcuXG4gKi9cbmF1ZGlvOm5vdChbY29udHJvbHNdKSB7XG4gIGRpc3BsYXk6IG5vbmU7XG4gIGhlaWdodDogMDsgfVxuXG4vKipcbiAqIEFkZCB0aGUgY29ycmVjdCB2ZXJ0aWNhbCBhbGlnbm1lbnQgaW4gQ2hyb21lLCBGaXJlZm94LCBhbmQgT3BlcmEuXG4gKi9cbnByb2dyZXNzIHtcbiAgdmVydGljYWwtYWxpZ246IGJhc2VsaW5lOyB9XG5cbi8qKlxuICogQWRkIHRoZSBjb3JyZWN0IGRpc3BsYXkgaW4gSUUgMTAtLlxuICogMS4gQWRkIHRoZSBjb3JyZWN0IGRpc3BsYXkgaW4gSUUuXG4gKi9cbnRlbXBsYXRlLFxuW2hpZGRlbl0ge1xuICBkaXNwbGF5OiBub25lOyB9XG5cbi8qIExpbmtzXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLyoqXG4gKiAxLiBSZW1vdmUgdGhlIGdyYXkgYmFja2dyb3VuZCBvbiBhY3RpdmUgbGlua3MgaW4gSUUgMTAuXG4gKiAyLiBSZW1vdmUgZ2FwcyBpbiBsaW5rcyB1bmRlcmxpbmUgaW4gaU9TIDgrIGFuZCBTYWZhcmkgOCsuXG4gKi9cbmEge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgLyogMSAqL1xuICAtd2Via2l0LXRleHQtZGVjb3JhdGlvbi1za2lwOiBvYmplY3RzO1xuICAvKiAyICovIH1cblxuLyoqXG4gKiBSZW1vdmUgdGhlIG91dGxpbmUgb24gZm9jdXNlZCBsaW5rcyB3aGVuIHRoZXkgYXJlIGFsc28gYWN0aXZlIG9yIGhvdmVyZWRcbiAqIGluIGFsbCBicm93c2VycyAob3BpbmlvbmF0ZWQpLlxuICovXG5hOmFjdGl2ZSxcbmE6aG92ZXIge1xuICBvdXRsaW5lLXdpZHRoOiAwOyB9XG5cbi8qIFRleHQtbGV2ZWwgc2VtYW50aWNzXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLyoqXG4gKiAxLiBSZW1vdmUgdGhlIGJvdHRvbSBib3JkZXIgaW4gRmlyZWZveCAzOS0uXG4gKiAyLiBBZGQgdGhlIGNvcnJlY3QgdGV4dCBkZWNvcmF0aW9uIGluIENocm9tZSwgRWRnZSwgSUUsIE9wZXJhLCBhbmQgU2FmYXJpLlxuICovXG5hYmJyW3RpdGxlXSB7XG4gIGJvcmRlci1ib3R0b206IG5vbmU7XG4gIC8qIDEgKi9cbiAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG4gIC8qIDIgKi9cbiAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmUgZG90dGVkO1xuICAvKiAyICovIH1cblxuLyoqXG4gKiBQcmV2ZW50IHRoZSBkdXBsaWNhdGUgYXBwbGljYXRpb24gb2YgYGJvbGRlcmAgYnkgdGhlIG5leHQgcnVsZSBpbiBTYWZhcmkgNi5cbiAqL1xuYixcbnN0cm9uZyB7XG4gIGZvbnQtd2VpZ2h0OiBpbmhlcml0OyB9XG5cbi8qKlxuICogQWRkIHRoZSBjb3JyZWN0IGZvbnQgd2VpZ2h0IGluIENocm9tZSwgRWRnZSwgYW5kIFNhZmFyaS5cbiAqL1xuYixcbnN0cm9uZyB7XG4gIGZvbnQtd2VpZ2h0OiBib2xkZXI7IH1cblxuLyoqXG4gKiBBZGQgdGhlIGNvcnJlY3QgZm9udCBzdHlsZSBpbiBBbmRyb2lkIDQuMy0uXG4gKi9cbmRmbiB7XG4gIGZvbnQtc3R5bGU6IGl0YWxpYzsgfVxuXG4vKipcbiAqIENvcnJlY3QgdGhlIGZvbnQgc2l6ZSBhbmQgbWFyZ2luIG9uIGBoMWAgZWxlbWVudHMgd2l0aGluIGBzZWN0aW9uYCBhbmRcbiAqIGBhcnRpY2xlYCBjb250ZXh0cyBpbiBDaHJvbWUsIEZpcmVmb3gsIGFuZCBTYWZhcmkuXG4gKi9cbmgxIHtcbiAgZm9udC1zaXplOiAyZW07XG4gIG1hcmdpbjogMC42N2VtIDA7IH1cblxuLyoqXG4gKiBBZGQgdGhlIGNvcnJlY3QgYmFja2dyb3VuZCBhbmQgY29sb3IgaW4gSUUgOS0uXG4gKi9cbm1hcmsge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmYwO1xuICBjb2xvcjogIzAwMDsgfVxuXG4vKipcbiAqIEFkZCB0aGUgY29ycmVjdCBmb250IHNpemUgaW4gYWxsIGJyb3dzZXJzLlxuICovXG5zbWFsbCB7XG4gIGZvbnQtc2l6ZTogODAlOyB9XG5cbi8qKlxuICogUHJldmVudCBgc3ViYCBhbmQgYHN1cGAgZWxlbWVudHMgZnJvbSBhZmZlY3RpbmcgdGhlIGxpbmUgaGVpZ2h0IGluXG4gKiBhbGwgYnJvd3NlcnMuXG4gKi9cbnN1YixcbnN1cCB7XG4gIGZvbnQtc2l6ZTogNzUlO1xuICBsaW5lLWhlaWdodDogMDtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB2ZXJ0aWNhbC1hbGlnbjogYmFzZWxpbmU7IH1cblxuc3ViIHtcbiAgYm90dG9tOiAtMC4yNWVtOyB9XG5cbnN1cCB7XG4gIHRvcDogLTAuNWVtOyB9XG5cbi8qIEVtYmVkZGVkIGNvbnRlbnRcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKipcbiAqIFJlbW92ZSB0aGUgYm9yZGVyIG9uIGltYWdlcyBpbnNpZGUgbGlua3MgaW4gSUUgMTAtLlxuICovXG5pbWcge1xuICBib3JkZXItc3R5bGU6IG5vbmU7IH1cblxuLyoqXG4gKiBIaWRlIHRoZSBvdmVyZmxvdyBpbiBJRS5cbiAqL1xuc3ZnOm5vdCg6cm9vdCkge1xuICBvdmVyZmxvdzogaGlkZGVuOyB9XG5cbi8qIEdyb3VwaW5nIGNvbnRlbnRcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKipcbiAqIDEuIENvcnJlY3QgdGhlIGluaGVyaXRhbmNlIGFuZCBzY2FsaW5nIG9mIGZvbnQgc2l6ZSBpbiBhbGwgYnJvd3NlcnMuXG4gKiAyLiBDb3JyZWN0IHRoZSBvZGQgYGVtYCBmb250IHNpemluZyBpbiBhbGwgYnJvd3NlcnMuXG4gKi9cbmNvZGUsXG5rYmQsXG5wcmUsXG5zYW1wIHtcbiAgZm9udC1mYW1pbHk6IG1vbm9zcGFjZSwgbW9ub3NwYWNlO1xuICAvKiAxICovXG4gIGZvbnQtc2l6ZTogMWVtO1xuICAvKiAyICovIH1cblxuLyoqXG4gKiBBZGQgdGhlIGNvcnJlY3QgbWFyZ2luIGluIElFIDguXG4gKi9cbmZpZ3VyZSB7XG4gIG1hcmdpbjogMWVtIDQwcHg7IH1cblxuLyoqXG4gKiAxLiBBZGQgdGhlIGNvcnJlY3QgYm94IHNpemluZyBpbiBGaXJlZm94LlxuICogMi4gU2hvdyB0aGUgb3ZlcmZsb3cgaW4gRWRnZSBhbmQgSUUuXG4gKi9cbmhyIHtcbiAgYm94LXNpemluZzogY29udGVudC1ib3g7XG4gIC8qIDEgKi9cbiAgaGVpZ2h0OiAwO1xuICAvKiAxICovXG4gIG92ZXJmbG93OiB2aXNpYmxlO1xuICAvKiAyICovIH1cblxuLyogRm9ybXNcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKipcbiAqIDEuIENoYW5nZSBmb250IHByb3BlcnRpZXMgdG8gYGluaGVyaXRgIGluIGFsbCBicm93c2VycyAob3BpbmlvbmF0ZWQpLlxuICogMi4gUmVtb3ZlIHRoZSBtYXJnaW4gaW4gRmlyZWZveCBhbmQgU2FmYXJpLlxuICovXG5idXR0b24sXG5pbnB1dCxcbnNlbGVjdCxcbnRleHRhcmVhIHtcbiAgZm9udDogaW5oZXJpdDtcbiAgLyogMSAqL1xuICBtYXJnaW46IDA7XG4gIC8qIDIgKi8gfVxuXG4vKipcbiAqIFJlc3RvcmUgdGhlIGZvbnQgd2VpZ2h0IHVuc2V0IGJ5IHRoZSBwcmV2aW91cyBydWxlLlxuICovXG5vcHRncm91cCB7XG4gIGZvbnQtd2VpZ2h0OiBib2xkOyB9XG5cbi8qKlxuICogU2hvdyB0aGUgb3ZlcmZsb3cgaW4gSUUuXG4gKiAxLiBTaG93IHRoZSBvdmVyZmxvdyBpbiBFZGdlLlxuICovXG5idXR0b24sXG5pbnB1dCB7XG4gIC8qIDEgKi9cbiAgb3ZlcmZsb3c6IHZpc2libGU7IH1cblxuLyoqXG4gKiBSZW1vdmUgdGhlIGluaGVyaXRhbmNlIG9mIHRleHQgdHJhbnNmb3JtIGluIEVkZ2UsIEZpcmVmb3gsIGFuZCBJRS5cbiAqIDEuIFJlbW92ZSB0aGUgaW5oZXJpdGFuY2Ugb2YgdGV4dCB0cmFuc2Zvcm0gaW4gRmlyZWZveC5cbiAqL1xuYnV0dG9uLFxuc2VsZWN0IHtcbiAgLyogMSAqL1xuICB0ZXh0LXRyYW5zZm9ybTogbm9uZTsgfVxuXG4vKipcbiAqIDEuIFByZXZlbnQgYSBXZWJLaXQgYnVnIHdoZXJlICgyKSBkZXN0cm95cyBuYXRpdmUgYGF1ZGlvYCBhbmQgYHZpZGVvYFxuICogICAgY29udHJvbHMgaW4gQW5kcm9pZCA0LlxuICogMi4gQ29ycmVjdCB0aGUgaW5hYmlsaXR5IHRvIHN0eWxlIGNsaWNrYWJsZSB0eXBlcyBpbiBpT1MgYW5kIFNhZmFyaS5cbiAqL1xuYnV0dG9uLFxuaHRtbCBbdHlwZT1cImJ1dHRvblwiXSxcblt0eXBlPVwicmVzZXRcIl0sXG5bdHlwZT1cInN1Ym1pdFwiXSB7XG4gIC13ZWJraXQtYXBwZWFyYW5jZTogYnV0dG9uO1xuICAvKiAyICovIH1cblxuLyoqXG4gKiBSZW1vdmUgdGhlIGlubmVyIGJvcmRlciBhbmQgcGFkZGluZyBpbiBGaXJlZm94LlxuICovXG5idXR0b246Oi1tb3otZm9jdXMtaW5uZXIsXG5bdHlwZT1cImJ1dHRvblwiXTo6LW1vei1mb2N1cy1pbm5lcixcblt0eXBlPVwicmVzZXRcIl06Oi1tb3otZm9jdXMtaW5uZXIsXG5bdHlwZT1cInN1Ym1pdFwiXTo6LW1vei1mb2N1cy1pbm5lciB7XG4gIGJvcmRlci1zdHlsZTogbm9uZTtcbiAgcGFkZGluZzogMDsgfVxuXG4vKipcbiAqIFJlc3RvcmUgdGhlIGZvY3VzIHN0eWxlcyB1bnNldCBieSB0aGUgcHJldmlvdXMgcnVsZS5cbiAqL1xuYnV0dG9uOi1tb3otZm9jdXNyaW5nLFxuW3R5cGU9XCJidXR0b25cIl06LW1vei1mb2N1c3JpbmcsXG5bdHlwZT1cInJlc2V0XCJdOi1tb3otZm9jdXNyaW5nLFxuW3R5cGU9XCJzdWJtaXRcIl06LW1vei1mb2N1c3Jpbmcge1xuICBvdXRsaW5lOiAxcHggZG90dGVkIEJ1dHRvblRleHQ7IH1cblxuLyoqXG4gKiBDaGFuZ2UgdGhlIGJvcmRlciwgbWFyZ2luLCBhbmQgcGFkZGluZyBpbiBhbGwgYnJvd3NlcnMgKG9waW5pb25hdGVkKS5cbiAqL1xuZmllbGRzZXQge1xuICBib3JkZXI6IDFweCBzb2xpZCAjYzBjMGMwO1xuICBtYXJnaW46IDAgMnB4O1xuICBwYWRkaW5nOiAwLjM1ZW0gMC42MjVlbSAwLjc1ZW07IH1cblxuLyoqXG4gKiAxLiBDb3JyZWN0IHRoZSB0ZXh0IHdyYXBwaW5nIGluIEVkZ2UgYW5kIElFLlxuICogMi4gQ29ycmVjdCB0aGUgY29sb3IgaW5oZXJpdGFuY2UgZnJvbSBgZmllbGRzZXRgIGVsZW1lbnRzIGluIElFLlxuICogMy4gUmVtb3ZlIHRoZSBwYWRkaW5nIHNvIGRldmVsb3BlcnMgYXJlIG5vdCBjYXVnaHQgb3V0IHdoZW4gdGhleSB6ZXJvIG91dFxuICogICAgYGZpZWxkc2V0YCBlbGVtZW50cyBpbiBhbGwgYnJvd3NlcnMuXG4gKi9cbmxlZ2VuZCB7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gIC8qIDEgKi9cbiAgY29sb3I6IGluaGVyaXQ7XG4gIC8qIDIgKi9cbiAgZGlzcGxheTogdGFibGU7XG4gIC8qIDEgKi9cbiAgbWF4LXdpZHRoOiAxMDAlO1xuICAvKiAxICovXG4gIHBhZGRpbmc6IDA7XG4gIC8qIDMgKi9cbiAgd2hpdGUtc3BhY2U6IG5vcm1hbDtcbiAgLyogMSAqLyB9XG5cbi8qKlxuICogUmVtb3ZlIHRoZSBkZWZhdWx0IHZlcnRpY2FsIHNjcm9sbGJhciBpbiBJRS5cbiAqL1xudGV4dGFyZWEge1xuICBvdmVyZmxvdzogYXV0bzsgfVxuXG4vKipcbiAqIDEuIEFkZCB0aGUgY29ycmVjdCBib3ggc2l6aW5nIGluIElFIDEwLS5cbiAqIDIuIFJlbW92ZSB0aGUgcGFkZGluZyBpbiBJRSAxMC0uXG4gKi9cblt0eXBlPVwiY2hlY2tib3hcIl0sXG5bdHlwZT1cInJhZGlvXCJdIHtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgLyogMSAqL1xuICBwYWRkaW5nOiAwO1xuICAvKiAyICovIH1cblxuLyoqXG4gKiBDb3JyZWN0IHRoZSBjdXJzb3Igc3R5bGUgb2YgaW5jcmVtZW50IGFuZCBkZWNyZW1lbnQgYnV0dG9ucyBpbiBDaHJvbWUuXG4gKi9cblt0eXBlPVwibnVtYmVyXCJdOjotd2Via2l0LWlubmVyLXNwaW4tYnV0dG9uLFxuW3R5cGU9XCJudW1iZXJcIl06Oi13ZWJraXQtb3V0ZXItc3Bpbi1idXR0b24ge1xuICBoZWlnaHQ6IGF1dG87IH1cblxuLyoqXG4gKiAxLiBDb3JyZWN0IHRoZSBvZGQgYXBwZWFyYW5jZSBpbiBDaHJvbWUgYW5kIFNhZmFyaS5cbiAqIDIuIENvcnJlY3QgdGhlIG91dGxpbmUgc3R5bGUgaW4gU2FmYXJpLlxuICovXG5bdHlwZT1cInNlYXJjaFwiXSB7XG4gIC13ZWJraXQtYXBwZWFyYW5jZTogdGV4dGZpZWxkO1xuICAvKiAxICovXG4gIG91dGxpbmUtb2Zmc2V0OiAtMnB4O1xuICAvKiAyICovIH1cblxuLyoqXG4gKiBSZW1vdmUgdGhlIGlubmVyIHBhZGRpbmcgYW5kIGNhbmNlbCBidXR0b25zIGluIENocm9tZSBhbmQgU2FmYXJpIG9uIE9TIFguXG4gKi9cblt0eXBlPVwic2VhcmNoXCJdOjotd2Via2l0LXNlYXJjaC1jYW5jZWwtYnV0dG9uLFxuW3R5cGU9XCJzZWFyY2hcIl06Oi13ZWJraXQtc2VhcmNoLWRlY29yYXRpb24ge1xuICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7IH1cblxuLyoqXG4gKiBDb3JyZWN0IHRoZSB0ZXh0IHN0eWxlIG9mIHBsYWNlaG9sZGVycyBpbiBDaHJvbWUsIEVkZ2UsIGFuZCBTYWZhcmkuXG4gKi9cbjo6LXdlYmtpdC1pbnB1dC1wbGFjZWhvbGRlciB7XG4gIGNvbG9yOiBpbmhlcml0O1xuICBvcGFjaXR5OiAwLjU0OyB9XG5cbi8qKlxuICogMS4gQ29ycmVjdCB0aGUgaW5hYmlsaXR5IHRvIHN0eWxlIGNsaWNrYWJsZSB0eXBlcyBpbiBpT1MgYW5kIFNhZmFyaS5cbiAqIDIuIENoYW5nZSBmb250IHByb3BlcnRpZXMgdG8gYGluaGVyaXRgIGluIFNhZmFyaS5cbiAqL1xuOjotd2Via2l0LWZpbGUtdXBsb2FkLWJ1dHRvbiB7XG4gIC13ZWJraXQtYXBwZWFyYW5jZTogYnV0dG9uO1xuICAvKiAxICovXG4gIGZvbnQ6IGluaGVyaXQ7XG4gIC8qIDIgKi8gfVxuXG4vKlxuICBDT1JFOiBCVVRUT05TXG4gIEJ1dHRvbiBzdHlsZXMgZm9yIGJvdGggYnV0dG9uIGxpbmtzIGFuZCBmb3JtIGJ1dHRvbnNcbiovXG5idXR0b24ge1xuICBib3JkZXI6IDA7XG4gIHBhZGRpbmc6IDA7XG4gIGRpc3BsYXk6IGlubGluZTtcbiAgYmFja2dyb3VuZDogbm9uZTtcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lO1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIGNvbG9yOiBpbmhlcml0O1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjMmVhMzkzO1xuICBsaW5lLWhlaWdodDogbm9ybWFsO1xuICBsZXR0ZXItc3BhY2luZzogaW5oZXJpdDsgfVxuICBidXR0b246aG92ZXIge1xuICAgIGJvcmRlci1ib3R0b20tc3R5bGU6IGRvdHRlZDsgfVxuXG4uYnRuIHtcbiAgY29sb3I6IGluaGVyaXQ7XG4gIGJvcmRlci1ib3R0b206IGluaGVyaXQ7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICBsaW5lLWhlaWdodDogaW5oZXJpdDtcbiAgY29sb3I6IGluaGVyaXQ7XG4gIGZvbnQtZmFtaWx5OiBcIk9zd2FsZFwiLCBzYW5zLXNlcmlmO1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICBmb250LXdlaWdodDogbm9ybWFsO1xuICBsaW5lLWhlaWdodDogMS42O1xuICBmb250LXNpemU6IDE2cHg7XG4gIGZvbnQtc2l6ZTogMXJlbTtcbiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBib3JkZXItd2lkdGg6IDJweCAhaW1wb3J0YW50O1xuICBib3JkZXItc3R5bGU6IHNvbGlkICFpbXBvcnRhbnQ7XG4gIGJvcmRlci1jb2xvcjogIzJlYTM5MztcbiAgcGFkZGluZzogMTJweCA0MHB4O1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIHRyYW5zaXRpb246IGNvbG9yIDAuM3M7XG4gIG1heC13aWR0aDogMTAwJTtcbiAgbWluLXdpZHRoOiAxNzVweDsgfVxuICAuYnRuIHNwYW4ge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB6LWluZGV4OiAxMDtcbiAgICBib3JkZXI6IDA7IH1cbiAgLmJ0bjphZnRlciB7XG4gICAgY29udGVudDogJyc7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRyYW5zaXRpb246IGFsbCAwLjNzO1xuICAgIHRvcDogNTAlO1xuICAgIGxlZnQ6IDUwJTtcbiAgICBoZWlnaHQ6IDIwcHg7XG4gICAgd2lkdGg6IDIwcHg7XG4gICAgbWFyZ2luLXRvcDogLTEwcHg7XG4gICAgbWFyZ2luLWxlZnQ6IC0xMHB4O1xuICAgIGJhY2tncm91bmQ6ICMyZWEzOTM7XG4gICAgYm9yZGVyLXJhZGl1czogNTAlO1xuICAgIG9wYWNpdHk6IDA7XG4gICAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDAuM3MsIG9wYWNpdHkgMC4zczsgfVxuICAgIC5sdGUtaWU4IC5idG46YWZ0ZXIge1xuICAgICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OyB9XG4gIC5idG46aG92ZXIsIC5idG46Zm9jdXMge1xuICAgIGNvbG9yOiAjZmZmICFpbXBvcnRhbnQ7IH1cbiAgICAuYnRuOmhvdmVyOmFmdGVyLCAuYnRuOmZvY3VzOmFmdGVyIHtcbiAgICAgIG9wYWNpdHk6IDE7XG4gICAgICB0cmFuc2Zvcm06IHNjYWxlKDIwKTtcbiAgICAgIHRyYW5zaXRpb246IHRyYW5zZm9ybSAwLjVzLCBvcGFjaXR5IDAuMXM7IH1cblxuLmJ0bi0tZmx1aWQge1xuICBtaW4td2lkdGg6IDA7XG4gIHdpZHRoOiAxMDAlO1xuICBtYXgtd2lkdGg6IDE3NXB4OyB9XG5cbi5idG4tLXdpZGUge1xuICBtYXgtd2lkdGg6IDM3MHB4O1xuICB3aWR0aDogMTAwJTtcbiAgbWluLXdpZHRoOiAwOyB9XG5cbi5idG4tLXByaW1hcnkge1xuICBjb2xvcjogI2ZmZiAhaW1wb3J0YW50O1xuICBiYWNrZ3JvdW5kOiAjMmVhMzkzOyB9XG4gIC5idG4tLXByaW1hcnk6YWZ0ZXIge1xuICAgIGJhY2tncm91bmQ6ICNmZmY7IH1cbiAgLmJ0bi0tcHJpbWFyeTpob3ZlciwgLmJ0bi0tcHJpbWFyeTpmb2N1cyB7XG4gICAgY29sb3I6ICMzNjM2MzYgIWltcG9ydGFudDsgfVxuXG4uYnRuLS1pbnZlcnQsIC5jbHItdGVhbCAuYnRuIHtcbiAgY29sb3I6ICNmZmY7XG4gIGJvcmRlci1jb2xvcjogI2ZmZjsgfVxuICAuYnRuLS1pbnZlcnQ6YWZ0ZXIsIC5jbHItdGVhbCAuYnRuOmFmdGVyIHtcbiAgICBiYWNrZ3JvdW5kOiAjZmZmOyB9XG4gIC5idG4tLWludmVydDpob3ZlciwgLmNsci10ZWFsIC5idG46aG92ZXIsIC5idG4tLWludmVydDpmb2N1cywgLmNsci10ZWFsIC5idG46Zm9jdXMge1xuICAgIGNvbG9yOiAjMzYzNjM2ICFpbXBvcnRhbnQ7IH1cblxuLmJ0bi0tdGV4dC1pbnZlcnQsIC5jbHItZ3JleS1kYXJrIC5idG4sIC5oZXJvX19jb250ZW50IC5idG4sIC5vdmVybGF5c19faXRlbV9fY29udGVudCAuYnRuLFxuLmNsci1ibGFjayAuYnRuLFxuLmNsci1ibGFjay1hbHBoYSAuYnRuIHtcbiAgY29sb3I6ICNmZmY7IH1cblxuLypcbiAgQ09SRTogQ09MT1JcbiAgRm9yIGNvbG91cmluZyBiYWNrZ3JvdW5kL2ZvcmVncm91bmQgaW4gbW9kdWxlc1xuICBDYW4gZWl0aGVyIGFkZCBjb2xvdXIgaGVscGVyIGNsYXNzIHRvIHdyYXBwaW5nIGVsZW1lbnQsIEBleHRlbmQgdGhlIGNsYXNzZXMgb3IgdXNlIHRoZSBjbHJfaGVscGVyKCkgbWl4aW4uXG4qL1xuLmNsci10ZWFsIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzJlYTM5MztcbiAgY29sb3I6ICNmZmY7IH1cbiAgLmNsci10ZWFsIGgxLCAuY2xyLXRlYWwgaDIsIC5jbHItdGVhbCBoMywgLmNsci10ZWFsIGg0LCAuY2xyLXRlYWwgaDUge1xuICAgIGNvbG9yOiAjZmZmOyB9XG4gIC5jbHItdGVhbCBhIHtcbiAgICBjb2xvcjogI2ZmZjtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNmZmY7IH1cbiAgICAuY2xyLXRlYWwgYTpob3ZlciB7XG4gICAgICBib3JkZXItYm90dG9tLXN0eWxlOiBkb3R0ZWQ7IH1cblxuLmNsci15ZWxsb3cge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZkMTQxO1xuICBjb2xvcjogIzM2MzYzNjsgfVxuICAuY2xyLXllbGxvdyBoMSwgLmNsci15ZWxsb3cgaDIsIC5jbHIteWVsbG93IGgzLCAuY2xyLXllbGxvdyBoNCwgLmNsci15ZWxsb3cgaDUge1xuICAgIGNvbG9yOiAjZDE0NDE0OyB9XG4gIC5jbHIteWVsbG93IGEge1xuICAgIGNvbG9yOiAjMzYzNjM2O1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgIzJlYTM5MzsgfVxuICAgIC5jbHIteWVsbG93IGE6aG92ZXIge1xuICAgICAgYm9yZGVyLWJvdHRvbS1zdHlsZTogZG90dGVkOyB9XG5cbi5jbHItcHVycGxlIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2E1NDM5ODtcbiAgY29sb3I6ICNmZmY7IH1cbiAgLmNsci1wdXJwbGUgaDEsIC5jbHItcHVycGxlIGgyLCAuY2xyLXB1cnBsZSBoMywgLmNsci1wdXJwbGUgaDQsIC5jbHItcHVycGxlIGg1IHtcbiAgICBjb2xvcjogI2ZmZjsgfVxuICAuY2xyLXB1cnBsZSBhIHtcbiAgICBjb2xvcjogI2ZmZjtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNmZmY7IH1cbiAgICAuY2xyLXB1cnBsZSBhOmhvdmVyIHtcbiAgICAgIGJvcmRlci1ib3R0b20tc3R5bGU6IGRvdHRlZDsgfVxuXG4uY2xyLWdyZXktZGFyaywgLmhlcm9fX2NvbnRlbnQsIC5oZXJvLS1oYWxmIC5oZXJvX19jb250ZW50LCAub3ZlcmxheXNfX2l0ZW1fX2NvbnRlbnQge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMzYzNjM2O1xuICBjb2xvcjogI2ZmZjsgfVxuICAuY2xyLWdyZXktZGFyayBoMSwgLmhlcm9fX2NvbnRlbnQgaDEsIC5oZXJvLS1oYWxmIC5oZXJvX19jb250ZW50IGgxLCAub3ZlcmxheXNfX2l0ZW1fX2NvbnRlbnQgaDEsIC5jbHItZ3JleS1kYXJrIGgyLCAuaGVyb19fY29udGVudCBoMiwgLmhlcm8tLWhhbGYgLmhlcm9fX2NvbnRlbnQgaDIsIC5vdmVybGF5c19faXRlbV9fY29udGVudCBoMiwgLmNsci1ncmV5LWRhcmsgaDMsIC5oZXJvX19jb250ZW50IGgzLCAuaGVyby0taGFsZiAuaGVyb19fY29udGVudCBoMywgLm92ZXJsYXlzX19pdGVtX19jb250ZW50IGgzLCAuY2xyLWdyZXktZGFyayBoNCwgLmhlcm9fX2NvbnRlbnQgaDQsIC5oZXJvLS1oYWxmIC5oZXJvX19jb250ZW50IGg0LCAub3ZlcmxheXNfX2l0ZW1fX2NvbnRlbnQgaDQsIC5jbHItZ3JleS1kYXJrIGg1LCAuaGVyb19fY29udGVudCBoNSwgLmhlcm8tLWhhbGYgLmhlcm9fX2NvbnRlbnQgaDUsIC5vdmVybGF5c19faXRlbV9fY29udGVudCBoNSB7XG4gICAgY29sb3I6ICNmZmY7IH1cbiAgLmNsci1ncmV5LWRhcmsgYSwgLmhlcm9fX2NvbnRlbnQgYSwgLmhlcm8tLWhhbGYgLmhlcm9fX2NvbnRlbnQgYSwgLm92ZXJsYXlzX19pdGVtX19jb250ZW50IGEge1xuICAgIGNvbG9yOiAjZmZmO1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgIzJlYTM5MzsgfVxuICAgIC5jbHItZ3JleS1kYXJrIGE6aG92ZXIsIC5oZXJvX19jb250ZW50IGE6aG92ZXIsIC5vdmVybGF5c19faXRlbV9fY29udGVudCBhOmhvdmVyIHtcbiAgICAgIGJvcmRlci1ib3R0b20tc3R5bGU6IGRvdHRlZDsgfVxuXG4uY2xyLWdyZXktbGlnaHQge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZWJlYmViO1xuICBjb2xvcjogIzM2MzYzNjsgfVxuICAuY2xyLWdyZXktbGlnaHQgaDEsIC5jbHItZ3JleS1saWdodCBoMiwgLmNsci1ncmV5LWxpZ2h0IGgzLCAuY2xyLWdyZXktbGlnaHQgaDQsIC5jbHItZ3JleS1saWdodCBoNSB7XG4gICAgY29sb3I6ICNkMTQ0MTQ7IH1cbiAgLmNsci1ncmV5LWxpZ2h0IGEge1xuICAgIGNvbG9yOiAjMzYzNjM2O1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgIzJlYTM5MzsgfVxuICAgIC5jbHItZ3JleS1saWdodCBhOmhvdmVyIHtcbiAgICAgIGJvcmRlci1ib3R0b20tc3R5bGU6IGRvdHRlZDsgfVxuXG4uY2xyLWJsYWNrIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzAwMDtcbiAgY29sb3I6ICNmZmY7IH1cbiAgLmNsci1ibGFjayBoMSwgLmNsci1ibGFjayBoMiwgLmNsci1ibGFjayBoMywgLmNsci1ibGFjayBoNCwgLmNsci1ibGFjayBoNSB7XG4gICAgY29sb3I6ICNmZmY7IH1cbiAgLmNsci1ibGFjayBhIHtcbiAgICBjb2xvcjogI2ZmZjtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICMyZWEzOTM7IH1cbiAgICAuY2xyLWJsYWNrIGE6aG92ZXIge1xuICAgICAgYm9yZGVyLWJvdHRvbS1zdHlsZTogZG90dGVkOyB9XG5cbi5jbHItd2hpdGUsIC5kb25hdGUsIC5oZXJvLS1pbnZlcnQgLmhlcm9fX2NvbnRlbnQsIC5oZXJvLS1oYWxmLmhlcm8tLWludmVydCAuaGVyb19fY29udGVudCB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZmY7XG4gIGNvbG9yOiAjMzYzNjM2OyB9XG4gIC5jbHItd2hpdGUgaDEsIC5kb25hdGUgaDEsIC5oZXJvLS1pbnZlcnQgLmhlcm9fX2NvbnRlbnQgaDEsIC5oZXJvLS1oYWxmLmhlcm8tLWludmVydCAuaGVyb19fY29udGVudCBoMSwgLmNsci13aGl0ZSBoMiwgLmRvbmF0ZSBoMiwgLmhlcm8tLWludmVydCAuaGVyb19fY29udGVudCBoMiwgLmhlcm8tLWhhbGYuaGVyby0taW52ZXJ0IC5oZXJvX19jb250ZW50IGgyLCAuY2xyLXdoaXRlIGgzLCAuZG9uYXRlIGgzLCAuaGVyby0taW52ZXJ0IC5oZXJvX19jb250ZW50IGgzLCAuaGVyby0taGFsZi5oZXJvLS1pbnZlcnQgLmhlcm9fX2NvbnRlbnQgaDMsIC5jbHItd2hpdGUgaDQsIC5kb25hdGUgaDQsIC5oZXJvLS1pbnZlcnQgLmhlcm9fX2NvbnRlbnQgaDQsIC5oZXJvLS1oYWxmLmhlcm8tLWludmVydCAuaGVyb19fY29udGVudCBoNCwgLmNsci13aGl0ZSBoNSwgLmRvbmF0ZSBoNSwgLmhlcm8tLWludmVydCAuaGVyb19fY29udGVudCBoNSwgLmhlcm8tLWhhbGYuaGVyby0taW52ZXJ0IC5oZXJvX19jb250ZW50IGg1IHtcbiAgICBjb2xvcjogI2QxNDQxNDsgfVxuICAuY2xyLXdoaXRlIGEsIC5kb25hdGUgYSwgLmhlcm8tLWludmVydCAuaGVyb19fY29udGVudCBhLCAuaGVyby0taGFsZi5oZXJvLS1pbnZlcnQgLmhlcm9fX2NvbnRlbnQgYSB7XG4gICAgY29sb3I6ICMzNjM2MzY7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjMmVhMzkzOyB9XG4gICAgLmNsci13aGl0ZSBhOmhvdmVyLCAuZG9uYXRlIGE6aG92ZXIsIC5oZXJvLS1pbnZlcnQgLmhlcm9fX2NvbnRlbnQgYTpob3ZlciB7XG4gICAgICBib3JkZXItYm90dG9tLXN0eWxlOiBkb3R0ZWQ7IH1cblxuLm9yYW5nZSwgYiB7XG4gIGNvbG9yOiAjZDE0NDE0OyB9XG5cbi8qXG4gIENPUkU6IEZPUk1TXG4qL1xuZm9ybSB7XG4gIG1hcmdpbjogMDsgfVxuXG4uZm9ybS0tc3RhbmRhcmQge1xuICBtYXgtd2lkdGg6IDkyMHB4O1xuICBtYXJnaW4tbGVmdDogYXV0bztcbiAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xuICBtYXJnaW4tdG9wOiAyNXB4O1xuICBtYXJnaW4tYm90dG9tOiAyNXB4OyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gICAgLmZvcm0tLXN0YW5kYXJkIHtcbiAgICAgIG1hcmdpbi10b3A6IDUwcHg7IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NjhweCkge1xuICAgIC5mb3JtLS1zdGFuZGFyZCB7XG4gICAgICBtYXJnaW4tYm90dG9tOiA1MHB4OyB9IH1cbiAgLmZvcm0tLXN0YW5kYXJkOmZpcnN0LWNoaWxkIHtcbiAgICBtYXJnaW4tdG9wOiAwOyB9XG4gIC5mb3JtLS1zdGFuZGFyZDpsYXN0LWNoaWxkIHtcbiAgICBtYXJnaW4tYm90dG9tOiAwOyB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0MHB4KSB7XG4gIC5mb3JtLS1pbmxpbmUge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgd2lkdGg6IDEwMCU7IH0gfVxuXG4uZm9ybS0tdGlnaHQge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cblxuZmllbGRzZXQge1xuICBib3JkZXI6IDA7XG4gIHBhZGRpbmc6IDA7XG4gIG1hcmdpbjogMDsgfVxuXG5sZWdlbmQge1xuICBmb250LWZhbWlseTogXCJPc3dhbGRcIiwgc2Fucy1zZXJpZjtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgbGluZS1oZWlnaHQ6IDEuNjtcbiAgZm9udC1zaXplOiAxNnB4O1xuICBmb250LXNpemU6IDFyZW07XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgbWFyZ2luOiAwO1xuICB3aWR0aDogMTAwJTsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NDBweCkge1xuICAgIGxlZ2VuZCB7XG4gICAgICBmb250LXNpemU6IDE4cHg7XG4gICAgICBmb250LXNpemU6IDEuMTI1cmVtOyB9IH1cblxuaW5wdXRbdHlwZT1cInRleHRcIl0sXG5pbnB1dFt0eXBlPVwiZW1haWxcIl0sXG5pbnB1dFt0eXBlPVwidGVsXCJdLFxuaW5wdXRbdHlwZT1cInBhc3N3b3JkXCJdLFxuaW5wdXRbdHlwZT1cIm51bWJlclwiXSxcbmlucHV0W3R5cGU9XCJzZWFyY2hcIl0sXG5pbnB1dFt0eXBlPVwiZmlsZVwiXSxcbnRleHRhcmVhLFxuc2VsZWN0IHtcbiAgZm9udC1mYW1pbHk6IFwiT3N3YWxkXCIsIHNhbnMtc2VyaWY7XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gIGxpbmUtaGVpZ2h0OiAxLjY7XG4gIGZvbnQtc2l6ZTogMTZweDtcbiAgZm9udC1zaXplOiAxcmVtO1xuICBkaXNwbGF5OiBibG9jaztcbiAgYm9yZGVyLXJhZGl1czogMDtcbiAgd2lkdGg6IDEwMCU7XG4gIGJhY2tncm91bmQ6ICNmZmY7XG4gIGJvcmRlcjogMXB4IHNvbGlkICNlYmViZWI7XG4gIHRleHQtdHJhbnNmb3JtOiBub25lO1xuICBwYWRkaW5nOiAxMHB4O1xuICBjb2xvcjogIzM2MzYzNjsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NDBweCkge1xuICAgIGlucHV0W3R5cGU9XCJ0ZXh0XCJdLFxuICAgIGlucHV0W3R5cGU9XCJlbWFpbFwiXSxcbiAgICBpbnB1dFt0eXBlPVwidGVsXCJdLFxuICAgIGlucHV0W3R5cGU9XCJwYXNzd29yZFwiXSxcbiAgICBpbnB1dFt0eXBlPVwibnVtYmVyXCJdLFxuICAgIGlucHV0W3R5cGU9XCJzZWFyY2hcIl0sXG4gICAgaW5wdXRbdHlwZT1cImZpbGVcIl0sXG4gICAgdGV4dGFyZWEsXG4gICAgc2VsZWN0IHtcbiAgICAgIGZvbnQtc2l6ZTogMjBweDtcbiAgICAgIGZvbnQtc2l6ZTogMS4yNXJlbTsgfSB9XG4gIGlucHV0W3R5cGU9XCJ0ZXh0XCJdOjpwbGFjZWhvbGRlcixcbiAgaW5wdXRbdHlwZT1cImVtYWlsXCJdOjpwbGFjZWhvbGRlcixcbiAgaW5wdXRbdHlwZT1cInRlbFwiXTo6cGxhY2Vob2xkZXIsXG4gIGlucHV0W3R5cGU9XCJwYXNzd29yZFwiXTo6cGxhY2Vob2xkZXIsXG4gIGlucHV0W3R5cGU9XCJudW1iZXJcIl06OnBsYWNlaG9sZGVyLFxuICBpbnB1dFt0eXBlPVwic2VhcmNoXCJdOjpwbGFjZWhvbGRlcixcbiAgaW5wdXRbdHlwZT1cImZpbGVcIl06OnBsYWNlaG9sZGVyLFxuICB0ZXh0YXJlYTo6cGxhY2Vob2xkZXIsXG4gIHNlbGVjdDo6cGxhY2Vob2xkZXIge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTsgfVxuICBpbnB1dFt0eXBlPVwidGV4dFwiXTpmb2N1cyxcbiAgaW5wdXRbdHlwZT1cImVtYWlsXCJdOmZvY3VzLFxuICBpbnB1dFt0eXBlPVwidGVsXCJdOmZvY3VzLFxuICBpbnB1dFt0eXBlPVwicGFzc3dvcmRcIl06Zm9jdXMsXG4gIGlucHV0W3R5cGU9XCJudW1iZXJcIl06Zm9jdXMsXG4gIGlucHV0W3R5cGU9XCJzZWFyY2hcIl06Zm9jdXMsXG4gIGlucHV0W3R5cGU9XCJmaWxlXCJdOmZvY3VzLFxuICB0ZXh0YXJlYTpmb2N1cyxcbiAgc2VsZWN0OmZvY3VzIHtcbiAgICBvdXRsaW5lOiAwO1xuICAgIGJvcmRlci1jb2xvcjogI2I4YjhiODtcbiAgICBib3gtc2hhZG93OiAwIDAgMCAzcHggI2I4YjhiODtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgei1pbmRleDogMTAwOyB9XG4gIGlucHV0W3R5cGU9XCJ0ZXh0XCJdLmVycm9yLCBpbnB1dFt0eXBlPVwidGV4dFwiXS5pbnB1dC12YWxpZGF0aW9uLWVycm9yLFxuICBpbnB1dFt0eXBlPVwiZW1haWxcIl0uZXJyb3IsXG4gIGlucHV0W3R5cGU9XCJlbWFpbFwiXS5pbnB1dC12YWxpZGF0aW9uLWVycm9yLFxuICBpbnB1dFt0eXBlPVwidGVsXCJdLmVycm9yLFxuICBpbnB1dFt0eXBlPVwidGVsXCJdLmlucHV0LXZhbGlkYXRpb24tZXJyb3IsXG4gIGlucHV0W3R5cGU9XCJwYXNzd29yZFwiXS5lcnJvcixcbiAgaW5wdXRbdHlwZT1cInBhc3N3b3JkXCJdLmlucHV0LXZhbGlkYXRpb24tZXJyb3IsXG4gIGlucHV0W3R5cGU9XCJudW1iZXJcIl0uZXJyb3IsXG4gIGlucHV0W3R5cGU9XCJudW1iZXJcIl0uaW5wdXQtdmFsaWRhdGlvbi1lcnJvcixcbiAgaW5wdXRbdHlwZT1cInNlYXJjaFwiXS5lcnJvcixcbiAgaW5wdXRbdHlwZT1cInNlYXJjaFwiXS5pbnB1dC12YWxpZGF0aW9uLWVycm9yLFxuICBpbnB1dFt0eXBlPVwiZmlsZVwiXS5lcnJvcixcbiAgaW5wdXRbdHlwZT1cImZpbGVcIl0uaW5wdXQtdmFsaWRhdGlvbi1lcnJvcixcbiAgdGV4dGFyZWEuZXJyb3IsXG4gIHRleHRhcmVhLmlucHV0LXZhbGlkYXRpb24tZXJyb3IsXG4gIHNlbGVjdC5lcnJvcixcbiAgc2VsZWN0LmlucHV0LXZhbGlkYXRpb24tZXJyb3Ige1xuICAgIGJvcmRlci1jb2xvcjogI2JiMjliYjtcbiAgICBjb2xvcjogI2JiMjliYjsgfVxuICAuZmllbGQtLWZ1bGwgaW5wdXRbdHlwZT1cInRleHRcIl0sIC5maWVsZC0tZnVsbFxuICBpbnB1dFt0eXBlPVwiZW1haWxcIl0sIC5maWVsZC0tZnVsbFxuICBpbnB1dFt0eXBlPVwidGVsXCJdLCAuZmllbGQtLWZ1bGxcbiAgaW5wdXRbdHlwZT1cInBhc3N3b3JkXCJdLCAuZmllbGQtLWZ1bGxcbiAgaW5wdXRbdHlwZT1cIm51bWJlclwiXSwgLmZpZWxkLS1mdWxsXG4gIGlucHV0W3R5cGU9XCJzZWFyY2hcIl0sIC5maWVsZC0tZnVsbFxuICBpbnB1dFt0eXBlPVwiZmlsZVwiXSwgLmZpZWxkLS1mdWxsXG4gIHRleHRhcmVhLCAuZmllbGQtLWZ1bGxcbiAgc2VsZWN0IHtcbiAgICBtYXgtd2lkdGg6IG5vbmU7IH1cblxudGV4dGFyZWEge1xuICBtYXgtd2lkdGg6IDEwMCU7XG4gIG1pbi1oZWlnaHQ6IDEwMHB4OyB9XG5cbnNlbGVjdCB7XG4gIHdpZHRoOiAxMDAlO1xuICBtYXgtd2lkdGg6IDQ0MHB4O1xuICBib3gtc2hhZG93OiBub25lO1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoLi4vaW1hZ2VzL2JnLWNoZXZyb24tZG93bi5wbmcpO1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiByaWdodCAxNXB4IHRvcCA1MyU7XG4gIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gIGJhY2tncm91bmQtc2l6ZTogMjBweDtcbiAgcGFkZGluZy1yaWdodDogNTBweDtcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgd29yZC13cmFwOiBub3JtYWw7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xuICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7XG4gIC1tb3otYXBwZWFyYW5jZTogbm9uZTsgfVxuICBzZWxlY3Q6Oi1tcy1leHBhbmQge1xuICAgIGRpc3BsYXk6IG5vbmU7IH1cblxuaW5wdXRbdHlwZT1cImNoZWNrYm94XCJdLFxuaW5wdXRbdHlwZT1cInJhZGlvXCJdIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBsZWZ0OiAtOTk5OWVtO1xuICB0b3A6IGF1dG87XG4gIHdpZHRoOiAxcHg7XG4gIGhlaWdodDogMXB4O1xuICBvdmVyZmxvdzogaGlkZGVuOyB9XG4gIGlucHV0W3R5cGU9XCJjaGVja2JveFwiXSArIC5maWVsZF9fbGFiZWwsXG4gIGlucHV0W3R5cGU9XCJyYWRpb1wiXSArIC5maWVsZF9fbGFiZWwge1xuICAgIHBvc2l0aW9uOiBzdGF0aWM7XG4gICAgbGVmdDogYXV0bztcbiAgICB3aWR0aDogYXV0bztcbiAgICBoZWlnaHQ6IGF1dG87XG4gICAgb3ZlcmZsb3c6IHZpc2libGU7XG4gICAgbWFyZ2luOiAwO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuICAgIGlucHV0W3R5cGU9XCJjaGVja2JveFwiXSArIC5maWVsZF9fbGFiZWw6YWZ0ZXIsXG4gICAgaW5wdXRbdHlwZT1cInJhZGlvXCJdICsgLmZpZWxkX19sYWJlbDphZnRlciB7XG4gICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgbGVmdDogLTM1cHg7XG4gICAgICB0b3A6IDRweDtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgIGJvcmRlcjogMnB4IHNvbGlkICMyZWEzOTM7XG4gICAgICB3aWR0aDogMTVweDtcbiAgICAgIGhlaWdodDogMTVweDsgfVxuICBpbnB1dFt0eXBlPVwiY2hlY2tib3hcIl06Zm9jdXMgKyAuZmllbGRfX2xhYmVsOmFmdGVyLFxuICBpbnB1dFt0eXBlPVwicmFkaW9cIl06Zm9jdXMgKyAuZmllbGRfX2xhYmVsOmFmdGVyIHtcbiAgICBib3gtc2hhZG93OiAwIDAgMCAzcHggI2I4YjhiODsgfVxuICBpbnB1dFt0eXBlPVwiY2hlY2tib3hcIl06Y2hlY2tlZCArIC5maWVsZF9fbGFiZWw6YWZ0ZXIsXG4gIGlucHV0W3R5cGU9XCJyYWRpb1wiXTpjaGVja2VkICsgLmZpZWxkX19sYWJlbDphZnRlciB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzJlYTM5MzsgfVxuXG5pbnB1dFt0eXBlPVwicmFkaW9cIl0gKyAuZmllbGRfX2xhYmVsOmFmdGVyIHtcbiAgYm9yZGVyLXJhZGl1czogNTAlOyB9XG5cbmlucHV0W3R5cGU9XCJjaGVja2JveFwiXTpjaGVja2VkICsgLmZpZWxkX19sYWJlbDpiZWZvcmUge1xuICBjb250ZW50OiBcIlwiO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogNHB4O1xuICBsZWZ0OiAtMzQuNXB4O1xuICBjb2xvcjogI2ZmZjtcbiAgZm9udC1zaXplOiAxOHB4O1xuICBmb250LXNpemU6IDEuMTI1cmVtO1xuICB6LWluZGV4OiAxMDsgfVxuXG5pbnB1dFt0eXBlPVwiZmlsZVwiXSB7XG4gIG1heC13aWR0aDogNDQwcHg7IH1cblxuLmZpZWxkIHtcbiAgbWFyZ2luOiAxZW0gMDsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NDBweCkge1xuICAgIC5mb3JtLS1pbmxpbmUgLmZpZWxkIHtcbiAgICAgIGZsZXg6IDE7XG4gICAgICBtYXJnaW46IDA7IH0gfVxuICAuZm9ybS0tdGlnaHQgLmZpZWxkIHtcbiAgICBtYXJnaW46IDA7XG4gICAgd2lkdGg6IDEwMCU7IH1cbiAgLmZpZWxkLS1zbWwge1xuICAgIG1heC13aWR0aDogMjAwcHg7IH1cbiAgLmZpZWxkLS1tZWQge1xuICAgIG1heC13aWR0aDogNDQwcHg7IH1cbiAgLmZpZWxkLS1scmcge1xuICAgIG1heC13aWR0aDogNjgwcHg7IH1cblxuLmZpZWxkLS1ib29sZWFuIHtcbiAgbWFyZ2luOiAxLjRlbSAwO1xuICBwYWRkaW5nLWxlZnQ6IDM1cHg7IH1cbiAgLmZvcm1fX2dyb3VwLS1ib29sZWFucyAuZmllbGQtLWJvb2xlYW4ge1xuICAgIG1hcmdpbjogMC42ZW0gMCAwOyB9XG5cbi5maWVsZF9fcHJlZml4ZWQge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cbiAgLmZpZWxkX19wcmVmaXhlZCBpbnB1dCB7XG4gICAgcGFkZGluZy1sZWZ0OiAzMHB4OyB9XG5cbi5maWVsZF9fcHJlZml4ZWRfX3ByZWZpeCB7XG4gIGZvbnQtZmFtaWx5OiBcIk9zd2FsZFwiLCBzYW5zLXNlcmlmO1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICBmb250LXdlaWdodDogbm9ybWFsO1xuICBsaW5lLWhlaWdodDogMS42O1xuICBmb250LXNpemU6IDIwcHg7XG4gIGZvbnQtc2l6ZTogMS4yNXJlbTtcbiAgY29sb3I6ICNkMTQ0MTQ7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiA4cHg7XG4gIGxlZnQ6IDEycHg7XG4gIHotaW5kZXg6IDEwOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0MHB4KSB7XG4gICAgLmZpZWxkX19wcmVmaXhlZF9fcHJlZml4IHtcbiAgICAgIGZvbnQtc2l6ZTogMjRweDtcbiAgICAgIGZvbnQtc2l6ZTogMS41cmVtOyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjQwcHgpIHtcbiAgLmZpZWxkX19zdWZmaXhlZCB7XG4gICAgZGlzcGxheTogZmxleDsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0MHB4KSB7XG4gIC5maWVsZF9fc3VmZml4ZWQgaW5wdXQge1xuICAgIGZsZXg6IDE7IH0gfVxuXG4uZmllbGRfX3N1ZmZpeGVkX19zdWZmaXgge1xuICBmb250LWZhbWlseTogXCJPc3dhbGRcIiwgc2Fucy1zZXJpZjtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgbGluZS1oZWlnaHQ6IDEuNjtcbiAgZm9udC1zaXplOiAyMHB4O1xuICBmb250LXNpemU6IDEuMjVyZW07XG4gIGNvbG9yOiAjZDE0NDE0O1xuICBtYXJnaW4tdG9wOiA4cHg7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjQwcHgpIHtcbiAgICAuZmllbGRfX3N1ZmZpeGVkX19zdWZmaXgge1xuICAgICAgZm9udC1zaXplOiAyNHB4O1xuICAgICAgZm9udC1zaXplOiAxLjVyZW07IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NDBweCkge1xuICAgIC5maWVsZF9fc3VmZml4ZWRfX3N1ZmZpeCB7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICBtYXJnaW4tbGVmdDogMTVweDsgfSB9XG5cbi5maWVsZF9fbGFiZWwge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGxlZnQ6IC05OTk5ZW07XG4gIHRvcDogYXV0bztcbiAgd2lkdGg6IDFweDtcbiAgaGVpZ2h0OiAxcHg7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIGZvbnQtZmFtaWx5OiBcIk9zd2FsZFwiLCBzYW5zLXNlcmlmO1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICBmb250LXdlaWdodDogbm9ybWFsO1xuICBsaW5lLWhlaWdodDogMS42O1xuICBmb250LXNpemU6IDE2cHg7XG4gIGZvbnQtc2l6ZTogMXJlbTtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBtYXJnaW4tYm90dG9tOiAwLjJlbTtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICB0ZXh0LXRyYW5zZm9ybTogbm9uZTsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NDBweCkge1xuICAgIC5maWVsZF9fbGFiZWwge1xuICAgICAgZm9udC1zaXplOiAxOHB4O1xuICAgICAgZm9udC1zaXplOiAxLjEyNXJlbTsgfSB9XG4gIC5maWVsZC0tYm9vbGVhbiAuZmllbGRfX2xhYmVsIHtcbiAgICBwb3NpdGlvbjogc3RhdGljO1xuICAgIGxlZnQ6IGF1dG87XG4gICAgd2lkdGg6IGF1dG87XG4gICAgaGVpZ2h0OiBhdXRvO1xuICAgIG92ZXJmbG93OiB2aXNpYmxlOyB9XG5cbi5maWVsZF9fbm90ZSwgbGFiZWwuZXJyb3IsXG5zcGFuLmVycm9yIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGNvbG9yOiAjNTU1O1xuICBmb250LXNpemU6IDE0cHg7XG4gIGZvbnQtc2l6ZTogMC44NzVyZW07XG4gIG1hcmdpbi10b3A6IDAuMmVtOyB9XG5cbmxhYmVsLmVycm9yLFxuc3Bhbi5lcnJvciB7XG4gIHBvc2l0aW9uOiBzdGF0aWM7XG4gIGxlZnQ6IGF1dG87XG4gIHdpZHRoOiBhdXRvO1xuICBoZWlnaHQ6IGF1dG87XG4gIG92ZXJmbG93OiB2aXNpYmxlO1xuICBjb2xvcjogI2JiMjliYjsgfVxuXG4uZm9ybV9fZ3JvdXAge1xuICBtYXJnaW46IDEuOGVtIDA7IH1cblxuLmZpZWxkX19yZXF1aXJlZCB7XG4gIGNvbG9yOiAjYmIyOWJiO1xuICBmb250LXdlaWdodDogYm9sZDsgfVxuICAuZmllbGRfX3JlcXVpcmVkIGkge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBsZWZ0OiAtOTk5OWVtO1xuICAgIHRvcDogYXV0bztcbiAgICB3aWR0aDogMXB4O1xuICAgIGhlaWdodDogMXB4O1xuICAgIG92ZXJmbG93OiBoaWRkZW47IH1cblxuLmZvcm1fX3NlY3Rpb24ge1xuICBtYXJnaW4tdG9wOiAyNXB4O1xuICBtYXJnaW4tYm90dG9tOiAyNXB4OyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gICAgLmZvcm1fX3NlY3Rpb24ge1xuICAgICAgbWFyZ2luLXRvcDogNTBweDsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gICAgLmZvcm1fX3NlY3Rpb24ge1xuICAgICAgbWFyZ2luLWJvdHRvbTogNTBweDsgfSB9XG5cbi5maWVsZC1ncm91cCB7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgd29yZC1zcGFjaW5nOiAtNHB4O1xuICBtYXJnaW4tbGVmdDogLTIwcHg7XG4gIHRleHQtYWxpZ246IGxlZnQ7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgICAuZmllbGQtZ3JvdXAge1xuICAgICAgbWFyZ2luLWxlZnQ6IC00MHB4OyB9IH1cblxuLmZpZWxkLWdyb3VwX19pdGVtIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB3b3JkLXNwYWNpbmc6IG5vcm1hbDtcbiAgdmVydGljYWwtYWxpZ246IHRvcDtcbiAgcGFkZGluZy1sZWZ0OiAyMHB4O1xuICB3aWR0aDogMTAwJTtcbiAgd2lkdGg6IDEwMCU7XG4gIHRleHQtYWxpZ246IGxlZnQ7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgICAuZmllbGQtZ3JvdXBfX2l0ZW0ge1xuICAgICAgcGFkZGluZy1sZWZ0OiA0MHB4OyB9IH1cbiAgLmZpZWxkLWdyb3VwX19pdGVtLS1oYWxmIHtcbiAgICB3aWR0aDogNTAlOyB9XG4gIC5maWVsZC1ncm91cF9faXRlbS0tdGhpcmQge1xuICAgIHdpZHRoOiAzMy4zMzM0JTsgfVxuICAuZmllbGQtZ3JvdXBfX2l0ZW0tLWZvdXJ0aCB7XG4gICAgd2lkdGg6IDI1JTsgfVxuICAuZmllbGQtZ3JvdXBfX2l0ZW0tLXNlcGFyYXRvciwgLmZpZWxkLWdyb3VwX19pdGVtLS1kYXNoIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cbiAgICAuZmllbGQtZ3JvdXBfX2l0ZW0tLXNlcGFyYXRvcjpiZWZvcmUsIC5maWVsZC1ncm91cF9faXRlbS0tZGFzaDpiZWZvcmUge1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgdG9wOiAyNXB4O1xuICAgICAgbGVmdDogMTZweDtcbiAgICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICAgICAgY29sb3I6ICNkYmRiZGI7XG4gICAgICBmb250LXNpemU6IDI0cHg7XG4gICAgICBmb250LXNpemU6IDEuNXJlbTtcbiAgICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gICAgICAgIC5maWVsZC1ncm91cF9faXRlbS0tc2VwYXJhdG9yOmJlZm9yZSwgLmZpZWxkLWdyb3VwX19pdGVtLS1kYXNoOmJlZm9yZSB7XG4gICAgICAgICAgZGlzcGxheTogYmxvY2s7IH0gfVxuICAuZmllbGQtZ3JvdXBfX2l0ZW0tLXNlcGFyYXRvcjpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwiL1wiOyB9XG4gIC5maWVsZC1ncm91cF9faXRlbS0tZGFzaDpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwiLVwiOyB9XG5cbi5mb3JtX19zZWN0aW9uX190aXRsZSB7XG4gIHRleHQtYWxpZ246IGNlbnRlcjsgfVxuXG4udmFsaWRhdGlvbi1zdW1tYXJ5LXZhbGlkIHtcbiAgZGlzcGxheTogbm9uZTsgfVxuXG4uZm9ybV9fZXJyb3JzLFxuLnZhbGlkYXRpb24tc3VtbWFyeS1lcnJvcnMge1xuICBkaXNwbGF5OiBibG9jaztcbiAgbWFyZ2luOiAyZW0gMDtcbiAgcGFkZGluZzogMTBweCAyMHB4O1xuICBib3JkZXItbGVmdDogOHB4IHNvbGlkICNiYjI5YmI7IH1cbiAgLmZvcm1fX2Vycm9ycy0tc2hvdyxcbiAgLnZhbGlkYXRpb24tc3VtbWFyeS1lcnJvcnMtLXNob3cge1xuICAgIGRpc3BsYXk6IGJsb2NrOyB9XG4gIC5mb3JtX19lcnJvcnMgKjpmaXJzdC1jaGlsZCxcbiAgLnZhbGlkYXRpb24tc3VtbWFyeS1lcnJvcnMgKjpmaXJzdC1jaGlsZCB7XG4gICAgbWFyZ2luLXRvcDogMDsgfVxuICAuZm9ybV9fZXJyb3JzICo6bGFzdC1jaGlsZCxcbiAgLnZhbGlkYXRpb24tc3VtbWFyeS1lcnJvcnMgKjpsYXN0LWNoaWxkIHtcbiAgICBtYXJnaW4tYm90dG9tOiAwOyB9XG4gIC5mb3JtX19lcnJvcnMgc3BhbixcbiAgLnZhbGlkYXRpb24tc3VtbWFyeS1lcnJvcnMgc3BhbiB7XG4gICAgY29sb3I6ICNiYjI5YmI7IH1cblxuLmZvcm1fX2Vycm9yc19fbGVhZCB7XG4gIGNvbG9yOiAjYmIyOWJiOyB9XG5cbi5mb3JtX19lcnJvcnNfX2xpc3QsXG4udmFsaWRhdGlvbi1zdW1tYXJ5LWVycm9ycyB1bCB7XG4gIG1hcmdpbjogMDsgfVxuICAuZm9ybV9fZXJyb3JzX19saXN0IGxpLFxuICAudmFsaWRhdGlvbi1zdW1tYXJ5LWVycm9ycyB1bCBsaSB7XG4gICAgbWFyZ2luOiAwLjJlbSAwO1xuICAgIGZvbnQtc2l6ZTogMTRweDtcbiAgICBmb250LXNpemU6IDAuODc1cmVtOyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgICAgIC5mb3JtX19lcnJvcnNfX2xpc3QgbGksXG4gICAgICAudmFsaWRhdGlvbi1zdW1tYXJ5LWVycm9ycyB1bCBsaSB7XG4gICAgICAgIGZvbnQtc2l6ZTogMTZweDtcbiAgICAgICAgZm9udC1zaXplOiAxcmVtOyB9IH1cblxuLmZvcm1fX2FjdGlvbiB7XG4gIG1hcmdpbi10b3A6IDIuNWVtO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cbiAgLmZvcm1fX2FjdGlvbjpiZWZvcmUsIC5mb3JtX19hY3Rpb246YWZ0ZXIge1xuICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgZGlzcGxheTogdGFibGU7IH1cbiAgLmZvcm1fX2FjdGlvbjphZnRlciB7XG4gICAgY2xlYXI6IGJvdGg7IH1cbiAgLmZvcm0tLWlubGluZSAuZm9ybV9fYWN0aW9uIHtcbiAgICBtYXJnaW46IDAgMCAwIDIwcHg7IH1cbiAgLmZvcm1fX2FjdGlvbi0tc21hbGwge1xuICAgIG1hcmdpbi10b3A6IDJlbTsgfVxuXG4uZm9ybV9fYWN0aW9uX19iYWNrIHtcbiAgcGFkZGluZy10b3A6IDEwcHg7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjQwcHgpIHtcbiAgICAuZm9ybV9fYWN0aW9uX19iYWNrIHtcbiAgICAgIGZsb2F0OiBsZWZ0OyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjQwcHgpIHtcbiAgLmZvcm1fX2FjdGlvbl9fZm9yd2FyZCB7XG4gICAgZmxvYXQ6IHJpZ2h0OyB9IH1cblxuLmZvcm0tLXNpbmdsZXQge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cblxuLmZvcm0tLXNpbmdsZXRfX2ZpZWxkIHtcbiAgd2lkdGg6IDEwMCU7IH1cblxuLmZvcm0tLXNpbmdsZXRfX2lucHV0IHtcbiAgd2lkdGg6IDEwMCU7XG4gIHBhZGRpbmctcmlnaHQ6IDU1cHggIWltcG9ydGFudDsgfVxuXG4uZm9ybS0tc2luZ2xldF9fYWN0aW9uIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDA7XG4gIHJpZ2h0OiAwO1xuICBoZWlnaHQ6IDEwMCU7XG4gIHotaW5kZXg6IDE1MDsgfVxuXG4uZm9ybS0tc2luZ2xldF9fYnV0dG9uIHtcbiAgY29sb3I6IGluaGVyaXQ7XG4gIGJvcmRlci1ib3R0b206IGluaGVyaXQ7XG4gIGJvcmRlci1ib3R0b206IDA7XG4gIHdpZHRoOiA1NHB4O1xuICBoZWlnaHQ6IDEwMCU7IH1cbiAgLmZvcm0tLXNpbmdsZXRfX2J1dHRvbiBpLCAuZm9ybS0tc2luZ2xldF9fYnV0dG9uOmJlZm9yZSB7XG4gICAgZm9udC1zaXplOiAzMHB4O1xuICAgIGZvbnQtc2l6ZTogMS44NzVyZW07IH1cblxuLmpzIFtkYXRhLWZpZWxkLXRvZ2dsZS1pZC1zdGF0ZT1cImluYWN0aXZlXCJdIHtcbiAgZGlzcGxheTogbm9uZTsgfVxuXG4vKlxuICBDT1JFXG4qL1xuaHRtbCB7XG4gIC13ZWJraXQtdGV4dC1zaXplLWFkanVzdDogMTAwJTtcbiAgZm9udC1zaXplOiAxZW07IH1cblxuYm9keSB7XG4gIHdvcmQtd3JhcDogYnJlYWstd29yZDtcbiAgYmFja2dyb3VuZDogI2ZmZjtcbiAgY29sb3I6ICMzNjM2MzY7IH1cblxuKiB7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7IH1cblxuaWZyYW1lIHtcbiAgYm9yZGVyOiAwO1xuICBtYXgtd2lkdGg6IDEwMCU7IH1cblxuLmlzLWhpZGRlbiB7XG4gIGRpc3BsYXk6IG5vbmU7IH1cblxuLmFjY2Vzc2libGUtaGlkZSB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgbGVmdDogLTk5OTllbTtcbiAgdG9wOiBhdXRvO1xuICB3aWR0aDogMXB4O1xuICBoZWlnaHQ6IDFweDtcbiAgb3ZlcmZsb3c6IGhpZGRlbjsgfVxuXG4vKlxuICBDT1JFOiBJQ09OU1xuICBHZW5lcmF0ZWQgZnJvbSBpY29tb29uLmlvLCBzZWUgLi4vZm9udHMvaWNvbnMvUmVhZCBNZS50eHQgZm9yIG1vcmVcbiovXG5AZm9udC1mYWNlIHtcbiAgZm9udC1mYW1pbHk6ICdpY29tb29uJztcbiAgc3JjOiB1cmwoXCIuLi9mb250cy9pY29ucy9pY29tb29uLmVvdD9mNzVsMGhcIik7XG4gIHNyYzogdXJsKFwiLi4vZm9udHMvaWNvbnMvaWNvbW9vbi5lb3Q/Zjc1bDBoI2llZml4XCIpIGZvcm1hdChcImVtYmVkZGVkLW9wZW50eXBlXCIpLCB1cmwoXCIuLi9mb250cy9pY29ucy9pY29tb29uLnR0Zj9mNzVsMGhcIikgZm9ybWF0KFwidHJ1ZXR5cGVcIiksIHVybChcIi4uL2ZvbnRzL2ljb25zL2ljb21vb24ud29mZj9mNzVsMGhcIikgZm9ybWF0KFwid29mZlwiKSwgdXJsKFwiLi4vZm9udHMvaWNvbnMvaWNvbW9vbi5zdmc/Zjc1bDBoI2ljb21vb25cIikgZm9ybWF0KFwic3ZnXCIpO1xuICBmb250LXdlaWdodDogbm9ybWFsO1xuICBmb250LXN0eWxlOiBub3JtYWw7IH1cblxuW2NsYXNzXj1cImljb24tXCJdLCBbY2xhc3MqPVwiIGljb24tXCJdLFxuLmljb24sXG5pbnB1dFt0eXBlPVwiY2hlY2tib3hcIl06Y2hlY2tlZCArIC5maWVsZF9fbGFiZWw6YmVmb3JlLFxuLmFjY29yZGlvbl9faXRlbV9fdHJpZ2dlcjpiZWZvcmUsXG4ubmF2X190b2dnbGU6YmVmb3JlLFxuLm5hdl9fbGlzdF9fYW5jaG9yOmJlZm9yZSxcbi5uYXZfX2xpc3RfX3RvZ2dsZSxcbi5uYXZfX3N1Yl9fY2xvc2UsXG4ucXVvdGU6YmVmb3JlIHtcbiAgLyogdXNlICFpbXBvcnRhbnQgdG8gcHJldmVudCBpc3N1ZXMgd2l0aCBicm93c2VyIGV4dGVuc2lvbnMgdGhhdCBjaGFuZ2UgZm9udHMgKi9cbiAgZm9udC1mYW1pbHk6ICdpY29tb29uJyAhaW1wb3J0YW50O1xuICBzcGVhazogbm9uZTtcbiAgZm9udC1zdHlsZTogbm9ybWFsO1xuICBmb250LXdlaWdodDogbm9ybWFsO1xuICBmb250LXZhcmlhbnQ6IG5vcm1hbDtcbiAgdGV4dC10cmFuc2Zvcm06IG5vbmU7XG4gIGxpbmUtaGVpZ2h0OiAxO1xuICAvKiBCZXR0ZXIgRm9udCBSZW5kZXJpbmcgPT09PT09PT09PT0gKi9cbiAgLXdlYmtpdC1mb250LXNtb290aGluZzogYW50aWFsaWFzZWQ7XG4gIC1tb3otb3N4LWZvbnQtc21vb3RoaW5nOiBncmF5c2NhbGU7IH1cblxuLmljb24taGlkZS10ZXh0IHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBsZWZ0OiAtOTk5OWVtO1xuICB0b3A6IGF1dG87XG4gIHdpZHRoOiAxcHg7XG4gIGhlaWdodDogMXB4O1xuICBvdmVyZmxvdzogaGlkZGVuOyB9XG5cbi5pY29uLWJhc2tldDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTkxMFwiOyB9XG5cbi5pY29uLWVjYXJkOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlOTBlXCI7IH1cblxuLmljb24tcG9zdGNhcmQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGU5MGZcIjsgfVxuXG4uaWNvbi1tZW51OmJlZm9yZSwgLm5hdl9fdG9nZ2xlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlOTBjXCI7IH1cblxuLmljb24tY3Jvc3M6YmVmb3JlLCBbZGF0YS1uYXYtc3RhdGU9XCJhY3RpdmVcIl0gLm5hdl9fdG9nZ2xlOmJlZm9yZSwgLm5hdl9fc3ViX19jbG9zZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTkwZFwiOyB9XG5cbi5pY29uLWNoZWNrOmJlZm9yZSwgaW5wdXRbdHlwZT1cImNoZWNrYm94XCJdOmNoZWNrZWQgKyAuZmllbGRfX2xhYmVsOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlOTBiXCI7IH1cblxuLmljb24tZG93bjpiZWZvcmUsIC5hY2NvcmRpb25fX2l0ZW1fX3RyaWdnZXI6YmVmb3JlLCAubmF2X19saXN0X19hbmNob3I6YmVmb3JlLCAubmF2X19saXN0X190b2dnbGU6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGU5MDBcIjsgfVxuXG4uaWNvbi1kb3dubG9hZDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTkwMVwiOyB9XG5cbi5pY29uLWZhY2Vib29rOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlOTAyXCI7IH1cblxuLmljb24tZ29vZ2xlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlOTAzXCI7IH1cblxuLmljb24tbWFpbDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTkwNFwiOyB9XG5cbi5pY29uLXBpbjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTkwNVwiOyB9XG5cbi5pY29uLXBpbnRyZXN0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlOTA2XCI7IH1cblxuLmljb24tcXVvdGU6YmVmb3JlLCAucXVvdGU6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGU5MDdcIjsgfVxuXG4uaWNvbi1zZWFyY2g6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGU5MDhcIjsgfVxuXG4uaWNvbi10d2l0dGVyOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlOTA5XCI7IH1cblxuLmljb24tdXA6YmVmb3JlLCAuYWNjb3JkaW9uX19pdGVtX190cmlnZ2VyW2RhdGEtYWNjb3JkaW9uLW5hdi1pdGVtPVwiYWN0aXZlXCJdOmJlZm9yZSwgW2RhdGEtbmF2LXN1Yi1zdGF0ZT1cImFjdGl2ZVwiXSAubmF2X19saXN0X190b2dnbGU6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGU5MGFcIjsgfVxuXG4vKlxuICBDT1JFOiBMQVlPVVQgKyBHUklEXG4qL1xuLmxheW91dCB7XG4gIG1heC13aWR0aDogMTQwMHB4O1xuICBtYXJnaW4tbGVmdDogYXV0bztcbiAgbWFyZ2luLXJpZ2h0OiBhdXRvOyB9XG5cbi5sYXlvdXQtLWd1dHRlcmVkIHtcbiAgcGFkZGluZy1sZWZ0OiAyMHB4O1xuICBwYWRkaW5nLXJpZ2h0OiAyMHB4OyB9XG5cbi5sYXlvdXQtLWZ1bGwge1xuICBtYXgtd2lkdGg6IG5vbmU7IH1cblxuLmxheW91dC0tcmVkdWNlZCB7XG4gIG1heC13aWR0aDogMTE2MHB4OyB9XG5cbi5sYXlvdXQtLXRoaW4ge1xuICBtYXgtd2lkdGg6IDkyMHB4OyB9XG5cbi5sYXlvdXQtLXRpZ2h0IHtcbiAgbWF4LXdpZHRoOiA2ODBweDsgfVxuXG4vKlxuICBDT1JFOiBNRURJQVxuKi9cbmltZyB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgbWF4LXdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IGF1dG87XG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7IH1cblxuZmlndXJlIHtcbiAgbWFyZ2luOiAxLjJlbSAwOyB9XG4gIGZpZ3VyZSBmaWdjYXB0aW9uIHtcbiAgICBtYXJnaW4tdG9wOiAwLjVlbTtcbiAgICBmb250LXN0eWxlOiBpdGFsaWM7IH1cblxudmlkZW8ge1xuICBtYXgtd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogYXV0bzsgfVxuXG4uaW1hZ2UtbGVmdCB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBtYXJnaW46IDAgYXV0byA0MHB4OyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0MHB4KSB7XG4gICAgLmltYWdlLWxlZnQge1xuICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDQwcHg7IH0gfVxuXG4uaW1hZ2UtcmlnaHQge1xuICBkaXNwbGF5OiBibG9jaztcbiAgbWFyZ2luOiAwIGF1dG8gNDBweDsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NDBweCkge1xuICAgIC5pbWFnZS1yaWdodCB7XG4gICAgICBmbG9hdDogcmlnaHQ7XG4gICAgICBtYXJnaW4tbGVmdDogNDBweDsgfSB9XG5cbi8qXG4gIENPUkU6IFBSSU5UXG4gIEJhc2ljIHByaW50IHN0eWxlc2hlZXQgdmlhIEg1QlBcbiovXG5AbWVkaWEgcHJpbnQge1xuICAqIHtcbiAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudCAhaW1wb3J0YW50O1xuICAgIGNvbG9yOiAjMDAwICFpbXBvcnRhbnQ7XG4gICAgYm94LXNoYWRvdzogbm9uZSAhaW1wb3J0YW50O1xuICAgIHRleHQtc2hhZG93OiBub25lICFpbXBvcnRhbnQ7IH1cbiAgYSxcbiAgYTp2aXNpdGVkIHtcbiAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTsgfVxuICBhW2hyZWZdOmFmdGVyIHtcbiAgICBjb250ZW50OiBcIihcIiBhdHRyKGhyZWYpIFwiKVwiOyB9XG4gIGFiYnJbdGl0bGVdOmFmdGVyIHtcbiAgICBjb250ZW50OiBcIihcIiBhdHRyKHRpdGxlKSBcIilcIjsgfVxuICAuaXIgYTphZnRlcixcbiAgYVtocmVmXj1cImphdmFzY3JpcHQ6XCJdOmFmdGVyLFxuICBhW2hyZWZePVwiI1wiXTphZnRlciB7XG4gICAgY29udGVudDogXCJcIjsgfVxuICBwcmUsXG4gIGJsb2NrcXVvdGUge1xuICAgIGJvcmRlcjogMXB4IHNvbGlkICM5OTk7XG4gICAgcGFnZS1icmVhay1pbnNpZGU6IGF2b2lkOyB9XG4gIHRoZWFkIHtcbiAgICBkaXNwbGF5OiB0YWJsZS1oZWFkZXItZ3JvdXA7IH1cbiAgdHIsXG4gIGltZyB7XG4gICAgcGFnZS1icmVhay1pbnNpZGU6IGF2b2lkOyB9XG4gIGltZyB7XG4gICAgbWF4LXdpZHRoOiAxMDAlICFpbXBvcnRhbnQ7IH1cbiAgQHBhZ2Uge1xuICAgIG1hcmdpbjogMC41Y207IH1cbiAgcCxcbiAgaDIsXG4gIGgzIHtcbiAgICBvcnBoYW5zOiAzO1xuICAgIHdpZG93czogMzsgfVxuICBoMixcbiAgaDMge1xuICAgIHBhZ2UtYnJlYWstYWZ0ZXI6IGF2b2lkOyB9IH1cblxuLypcbiAgQ09SRTogVFlQT0dSQVBIWVxuKi9cbmJvZHkge1xuICBmb250LWZhbWlseTogXCJMYXRvXCIsIHNhbnMtc2VyaWY7XG4gIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gIGxpbmUtaGVpZ2h0OiAxLjY7XG4gIHRleHQtc2hhZG93OiAxcHggMXB4IDFweCByZ2JhKDAsIDAsIDAsIDAuMDA0KTtcbiAgdGV4dC1yZW5kZXJpbmc6IG9wdGltaXplTGVnaWJpbGl0eTtcbiAgLXdlYmtpdC1mb250LXNtb290aGluZzogYW50aWFsaWFzZWQ7XG4gIC1tb3otb3N4LWZvbnQtc21vb3RoaW5nOiBncmF5c2NhbGU7XG4gIGxldHRlci1zcGFjaW5nOiAwLjVweDtcbiAgZm9udC1zaXplOiAxNnB4O1xuICBmb250LXNpemU6IDFyZW07IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgICBib2R5IHtcbiAgICAgIGZvbnQtc2l6ZTogMThweDtcbiAgICAgIGZvbnQtc2l6ZTogMS4xMjVyZW07IH0gfVxuXG5oMSwgaDIsIGgzLCBoNCwgaDUsXG4uaDEsXG4uaC1wcmltYXJ5LCAuaDIsIC5oMywgLmg0LCAuY3RhLWlubGluZV9fdGl0bGUsIC5kb25hdGVfX29yLCAucGFnZXJfX2l0ZW1fX3RleHQsIC5oNSB7XG4gIGZvbnQtZmFtaWx5OiBcIk9zd2FsZFwiLCBzYW5zLXNlcmlmO1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICBmb250LXdlaWdodDogbm9ybWFsO1xuICBsaW5lLWhlaWdodDogMS42O1xuICBjb2xvcjogI2QxNDQxNDtcbiAgbWFyZ2luOiAxLjJlbSAwO1xuICBsZXR0ZXItc3BhY2luZzogMC4yNXB4OyB9XG5cbmgxLCAuaDEsIC5oLXByaW1hcnkge1xuICBmb250LXNpemU6IDMwcHg7XG4gIGZvbnQtc2l6ZTogMS44NzVyZW07IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNTIwcHgpIHtcbiAgICBoMSwgLmgxLCAuaC1wcmltYXJ5IHtcbiAgICAgIGZvbnQtc2l6ZTogNDBweDtcbiAgICAgIGZvbnQtc2l6ZTogMi41cmVtOyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgICBoMSwgLmgxLCAuaC1wcmltYXJ5IHtcbiAgICAgIGZvbnQtc2l6ZTogNDVweDtcbiAgICAgIGZvbnQtc2l6ZTogMi44MTI1cmVtOyB9IH1cblxuaDIsIC5oMiB7XG4gIGZvbnQtc2l6ZTogMjRweDtcbiAgZm9udC1zaXplOiAxLjVyZW07IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNTIwcHgpIHtcbiAgICBoMiwgLmgyIHtcbiAgICAgIGZvbnQtc2l6ZTogMzBweDtcbiAgICAgIGZvbnQtc2l6ZTogMS44NzVyZW07IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NjhweCkge1xuICAgIGgyLCAuaDIge1xuICAgICAgZm9udC1zaXplOiA0MHB4O1xuICAgICAgZm9udC1zaXplOiAyLjVyZW07IH0gfVxuXG5oMywgLmgzIHtcbiAgZm9udC1zaXplOiAyMHB4O1xuICBmb250LXNpemU6IDEuMjVyZW07IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNTIwcHgpIHtcbiAgICBoMywgLmgzIHtcbiAgICAgIGZvbnQtc2l6ZTogMjRweDtcbiAgICAgIGZvbnQtc2l6ZTogMS41cmVtOyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgICBoMywgLmgzIHtcbiAgICAgIGZvbnQtc2l6ZTogMzBweDtcbiAgICAgIGZvbnQtc2l6ZTogMS44NzVyZW07IH0gfVxuXG5oNCwgLmg0LCAuY3RhLWlubGluZV9fdGl0bGUsIC5kb25hdGVfX29yLCAucGFnZXJfX2l0ZW1fX3RleHQge1xuICBmb250LXNpemU6IDE4cHg7XG4gIGZvbnQtc2l6ZTogMS4xMjVyZW07IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNTIwcHgpIHtcbiAgICBoNCwgLmg0LCAuY3RhLWlubGluZV9fdGl0bGUsIC5kb25hdGVfX29yLCAucGFnZXJfX2l0ZW1fX3RleHQge1xuICAgICAgZm9udC1zaXplOiAyMHB4O1xuICAgICAgZm9udC1zaXplOiAxLjI1cmVtOyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgICBoNCwgLmg0LCAuY3RhLWlubGluZV9fdGl0bGUsIC5kb25hdGVfX29yLCAucGFnZXJfX2l0ZW1fX3RleHQge1xuICAgICAgZm9udC1zaXplOiAyNHB4O1xuICAgICAgZm9udC1zaXplOiAxLjVyZW07IH0gfVxuXG5oNSwgLmg1IHtcbiAgZm9udC1zaXplOiAxNnB4O1xuICBmb250LXNpemU6IDFyZW07XG4gIG1hcmdpbjogMS40ZW0gMDtcbiAgY29sb3I6ICMzNjM2MzY7XG4gIHRleHQtdHJhbnNmb3JtOiBub25lOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDUyMHB4KSB7XG4gICAgaDUsIC5oNSB7XG4gICAgICBmb250LXNpemU6IDE4cHg7XG4gICAgICBmb250LXNpemU6IDEuMTI1cmVtOyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgICBoNSwgLmg1IHtcbiAgICAgIGZvbnQtc2l6ZTogMjBweDtcbiAgICAgIGZvbnQtc2l6ZTogMS4yNXJlbTsgfSB9XG5cbi5oLXByaW1hcnkge1xuICBmb250LXNpemU6IDMwcHg7XG4gIGZvbnQtc2l6ZTogMS44NzVyZW07IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgICAuaC1wcmltYXJ5IHtcbiAgICAgIGZvbnQtc2l6ZTogNTVweDtcbiAgICAgIGZvbnQtc2l6ZTogMy40Mzc1cmVtOyB9IH1cblxuLmgtc2Vjb25kYXJ5LCAucGFnZXJfX2l0ZW1fX3RleHQge1xuICBjb2xvcjogIzM2MzYzNiAhaW1wb3J0YW50OyB9XG5cbi5oLXBhcmxpYW1lbnQge1xuICBjb2xvcjogI2E1NDM5OCAhaW1wb3J0YW50OyB9XG5cbi5oLXNtYWxsIHtcbiAgZm9udC1zaXplOiAxOHB4O1xuICBmb250LXNpemU6IDEuMTI1cmVtOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gICAgLmgtc21hbGwge1xuICAgICAgZm9udC1zaXplOiAyMHB4O1xuICAgICAgZm9udC1zaXplOiAxLjI1cmVtOyB9IH1cblxuLmgtYWx0IHtcbiAgY29sb3I6ICMzNjM2MzYgIWltcG9ydGFudDsgfVxuICAuY2xyLXRlYWwgLmgtYWx0LFxuICAuY2xyLWdyZXktZGFyayAuaC1hbHQsIC5oZXJvX19jb250ZW50IC5oLWFsdCwgLm92ZXJsYXlzX19pdGVtX19jb250ZW50IC5oLWFsdCB7XG4gICAgY29sb3I6ICNmZmY7IH1cblxuYSB7XG4gIGNvbG9yOiBpbmhlcml0O1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjMmVhMzkzOyB9XG4gIGE6aG92ZXIge1xuICAgIGJvcmRlci1ib3R0b20tc3R5bGU6IGRvdHRlZDsgfVxuXG5iIHtcbiAgZm9udC13ZWlnaHQ6IG5vcm1hbDsgfVxuXG4ubGVhZCB7XG4gIGZvbnQtZmFtaWx5OiBcIkxhdG9cIiwgc2Fucy1zZXJpZjtcbiAgZm9udC13ZWlnaHQ6IDMwMDtcbiAgbGluZS1oZWlnaHQ6IDEuNTtcbiAgZm9udC1zaXplOiAxOHB4O1xuICBmb250LXNpemU6IDEuMTI1cmVtO1xuICBtYXJnaW46IDEuNmVtIDA7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgICAubGVhZCB7XG4gICAgICBmb250LXNpemU6IDI0cHg7XG4gICAgICBmb250LXNpemU6IDEuNXJlbTsgfSB9XG5cbi5sYXJnZSB7XG4gIGZvbnQtc2l6ZTogMThweDtcbiAgZm9udC1zaXplOiAxLjEyNXJlbTsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NjhweCkge1xuICAgIC5sYXJnZSB7XG4gICAgICBmb250LXNpemU6IDI0cHg7XG4gICAgICBmb250LXNpemU6IDEuNXJlbTsgfSB9XG5cbnAge1xuICBtYXJnaW46IDEuNGVtIDA7IH1cblxudWwsIG9sIHtcbiAgdGV4dC1hbGlnbjogbGVmdDtcbiAgbWFyZ2luOiAzLjVlbSAwO1xuICBwYWRkaW5nLWxlZnQ6IDEuNWVtOyB9XG5cbmxpIHtcbiAgbWFyZ2luOiAxLjRlbSAwOyB9XG4gIGxpIHVsLCBsaSBvbCB7XG4gICAgbWFyZ2luOiAxLjRlbSAwIDJlbTsgfVxuXG4udWwtdGlnaHQge1xuICBtYXJnaW46IDEuNGVtIDA7IH1cblxuLnVsLW1pbmkge1xuICBjb2xvcjogI2QxNDQxNDtcbiAgbWFyZ2luOiAwO1xuICBwYWRkaW5nOiAwO1xuICBsaXN0LXN0eWxlOiBub25lOyB9XG4gIC51bC1taW5pIGxpIHtcbiAgICBtYXJnaW46IDAuNWVtIDAgMDsgfVxuICAgIC51bC1taW5pIGxpOmZpcnN0LWNoaWxkIHtcbiAgICAgIG1hcmdpbi10b3A6IDA7IH1cblxuYmxvY2txdW90ZSB7XG4gIGZvbnQtZmFtaWx5OiBcIkxhdG9cIiwgc2Fucy1zZXJpZjtcbiAgZm9udC13ZWlnaHQ6IDMwMDtcbiAgbGluZS1oZWlnaHQ6IDEuNTtcbiAgZm9udC1zaXplOiAxOHB4O1xuICBmb250LXNpemU6IDEuMTI1cmVtO1xuICBmb250LXN0eWxlOiBpdGFsaWM7XG4gIG1hcmdpbjogMS40ZW0gMDsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NjhweCkge1xuICAgIGJsb2NrcXVvdGUge1xuICAgICAgZm9udC1zaXplOiAyNHB4O1xuICAgICAgZm9udC1zaXplOiAxLjVyZW07IH0gfVxuICBibG9ja3F1b3RlIGNpdGUge1xuICAgIGZvbnQtZmFtaWx5OiBcIkxhdG9cIiwgc2Fucy1zZXJpZjtcbiAgICBmb250LXdlaWdodDogNzAwO1xuICAgIGZvbnQtc2l6ZTogMTZweDtcbiAgICBmb250LXNpemU6IDFyZW07XG4gICAgZm9udC1zdHlsZTogbm9ybWFsO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIGNvbG9yOiAjZDE0NDE0O1xuICAgIG1hcmdpbi10b3A6IDEuNGVtOyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgICAgIGJsb2NrcXVvdGUgY2l0ZSB7XG4gICAgICAgIGZvbnQtc2l6ZTogMThweDtcbiAgICAgICAgZm9udC1zaXplOiAxLjEyNXJlbTsgfSB9XG5cbnNtYWxsLFxuLnNtYWxsIHtcbiAgZm9udC1zaXplOiAxNHB4O1xuICBmb250LXNpemU6IDAuODc1cmVtOyB9XG5cbi8qXG4gIENPTVBPTkVOVDogQUNDT1JESU9OXG4qL1xuLmFjY29yZGlvbiB7XG4gIG1heC13aWR0aDogOTIwcHg7XG4gIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICBtYXJnaW4tcmlnaHQ6IGF1dG87IH1cblxuLmFjY29yZGlvbl9faXRlbV9fdHJpZ2dlciB7XG4gIGNvbG9yOiBpbmhlcml0O1xuICBib3JkZXItYm90dG9tOiBpbmhlcml0O1xuICBkaXNwbGF5OiBibG9jaztcbiAgYm9yZGVyOiAxcHggc29saWQgI2ViZWJlYjtcbiAgcGFkZGluZzogMC42ZW0gNTBweCAwLjZlbSAwLjhlbTtcbiAgZm9udC1mYW1pbHk6IFwiT3N3YWxkXCIsIHNhbnMtc2VyaWY7XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gIGxpbmUtaGVpZ2h0OiAxLjY7XG4gIGZvbnQtc2l6ZTogMThweDtcbiAgZm9udC1zaXplOiAxLjEyNXJlbTtcbiAgYmFja2dyb3VuZDogI2ViZWJlYjtcbiAgY29sb3I6ICMzNjM2MzY7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NjhweCkge1xuICAgIC5hY2NvcmRpb25fX2l0ZW1fX3RyaWdnZXIge1xuICAgICAgZm9udC1zaXplOiAyMHB4O1xuICAgICAgZm9udC1zaXplOiAxLjI1cmVtOyB9IH1cbiAgLmFjY29yZGlvbl9faXRlbV9fdHJpZ2dlcjpiZWZvcmUge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDE0cHg7XG4gICAgcmlnaHQ6IDE1cHg7XG4gICAgY29sb3I6ICMyZWEzOTM7XG4gICAgZm9udC1zaXplOiAyNHB4O1xuICAgIGZvbnQtc2l6ZTogMS41cmVtOyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgICAgIC5hY2NvcmRpb25fX2l0ZW1fX3RyaWdnZXI6YmVmb3JlIHtcbiAgICAgICAgdG9wOiAxOHB4OyB9IH1cbiAgLmpzIC5hY2NvcmRpb25fX2l0ZW1fX3RyaWdnZXI6aG92ZXIge1xuICAgIGJvcmRlci1jb2xvcjogIzJlYTM5MztcbiAgICBib3JkZXItc3R5bGU6IHNvbGlkOyB9XG4gIC5hY2NvcmRpb25fX2l0ZW1fX3RyaWdnZXJbZGF0YS1hY2NvcmRpb24tbmF2LWl0ZW09XCJhY3RpdmVcIl06YmVmb3JlIHtcbiAgICB0b3A6IDEycHg7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NjhweCkge1xuICAgICAgLmFjY29yZGlvbl9faXRlbV9fdHJpZ2dlcltkYXRhLWFjY29yZGlvbi1uYXYtaXRlbT1cImFjdGl2ZVwiXTpiZWZvcmUge1xuICAgICAgICB0b3A6IDE2cHg7IH0gfVxuICAuYWNjb3JkaW9uLS10YWJiZWQgLmFjY29yZGlvbl9faXRlbV9fdHJpZ2dlciB7XG4gICAgZGlzcGxheTogbm9uZTsgfVxuXG4uYWNjb3JkaW9uX19pdGVtIHtcbiAgbWFyZ2luOiA3cHggMDsgfVxuICAuYWNjb3JkaW9uX19pdGVtOmZpcnN0LWNoaWxkIHtcbiAgICBtYXJnaW4tdG9wOiAwOyB9XG4gIC5hY2NvcmRpb25fX2l0ZW06bGFzdC1jaGlsZCB7XG4gICAgbWFyZ2luLWJvdHRvbTogMDsgfVxuXG4uYWNjb3JkaW9uX19pdGVtX19jb250ZW50IHtcbiAgYm9yZGVyOiAycHggc29saWQgI2ViZWJlYjtcbiAgYm9yZGVyLXRvcDogMDtcbiAgcGFkZGluZy10b3A6IDIwcHg7XG4gIHBhZGRpbmctYm90dG9tOiAyMHB4O1xuICBwYWRkaW5nLWxlZnQ6IDIwcHg7XG4gIHBhZGRpbmctcmlnaHQ6IDIwcHg7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgICAuYWNjb3JkaW9uX19pdGVtX19jb250ZW50IHtcbiAgICAgIHBhZGRpbmctdG9wOiA0MHB4OyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgICAuYWNjb3JkaW9uX19pdGVtX19jb250ZW50IHtcbiAgICAgIHBhZGRpbmctYm90dG9tOiA0MHB4OyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgICAuYWNjb3JkaW9uX19pdGVtX19jb250ZW50IHtcbiAgICAgIHBhZGRpbmctbGVmdDogNDBweDsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gICAgLmFjY29yZGlvbl9faXRlbV9fY29udGVudCB7XG4gICAgICBwYWRkaW5nLXJpZ2h0OiA0MHB4OyB9IH1cbiAgLmpzIC5hY2NvcmRpb25fX2l0ZW1fX2NvbnRlbnQge1xuICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgW2RhdGEtYWNjb3JkaW9uLWl0ZW09XCJhY3RpdmVcIl0gLmFjY29yZGlvbl9faXRlbV9fY29udGVudCB7XG4gICAgZGlzcGxheTogYmxvY2s7IH1cbiAgLmFjY29yZGlvbl9faXRlbV9fY29udGVudCA+ICo6Zmlyc3QtY2hpbGQge1xuICAgIG1hcmdpbi10b3A6IDA7IH1cbiAgLmFjY29yZGlvbl9faXRlbV9fY29udGVudCA+ICo6bGFzdC1jaGlsZCB7XG4gICAgbWFyZ2luLWJvdHRvbTogMDsgfVxuXG4vKlxuICBDT01QT05FTlQ6IEFSVElDTEVcbiovXG4uYXJ0aWNsZSB7XG4gIHBhZGRpbmctbGVmdDogMjBweDtcbiAgcGFkZGluZy1yaWdodDogMjBweDtcbiAgcGFkZGluZy10b3A6IDIwcHg7XG4gIHBhZGRpbmctYm90dG9tOiAzMHB4O1xuICBtYXgtd2lkdGg6IDkyMHB4O1xuICBtYXJnaW4tbGVmdDogYXV0bztcbiAgbWFyZ2luLXJpZ2h0OiBhdXRvOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gICAgLmFydGljbGUge1xuICAgICAgcGFkZGluZy1sZWZ0OiA0MHB4OyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgICAuYXJ0aWNsZSB7XG4gICAgICBwYWRkaW5nLXJpZ2h0OiA0MHB4OyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgICAuYXJ0aWNsZSB7XG4gICAgICBwYWRkaW5nLXRvcDogNDBweDsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gICAgLmFydGljbGUge1xuICAgICAgcGFkZGluZy1ib3R0b206IDQwcHg7IH0gfVxuXG4uYXJ0aWNsZV9fdGltZXN0YW1wIHtcbiAgZm9udC1mYW1pbHk6IFwiT3N3YWxkXCIsIHNhbnMtc2VyaWY7XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gIGxpbmUtaGVpZ2h0OiAxLjY7XG4gIGNvbG9yOiAjZDE0NDE0OyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDEyMDFweCkge1xuICAgIC5hcnRpY2xlX190aW1lc3RhbXAge1xuICAgICAgdGV4dC1hbGlnbjogbGVmdDsgfSB9XG5cbi5hcnRpY2xlX190aXRsZSB7XG4gIG1hcmdpbjogMC41ZW0gMCAxLjVlbTsgfVxuICAuYXJ0aWNsZV9fdGl0bGU6Zmlyc3QtY2hpbGQge1xuICAgIG1hcmdpbi10b3A6IDA7IH1cbiAgLmFydGljbGVfX3RpdGxlOmxhc3QtY2hpbGQge1xuICAgIG1hcmdpbi1ib3R0b206IDA7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTIwMXB4KSB7XG4gICAgLmFydGljbGVfX3RpdGxlIHtcbiAgICAgIHRleHQtYWxpZ246IGxlZnQ7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMjAxcHgpIHtcbiAgLmFydGljbGVfX3N1bW1hcnkge1xuICAgIHRleHQtYWxpZ246IGxlZnQ7IH1cbiAgICAuYXJ0aWNsZV9fc3VtbWFyeTpiZWZvcmUsIC5hcnRpY2xlX19zdW1tYXJ5OmFmdGVyIHtcbiAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICBkaXNwbGF5OiB0YWJsZTsgfVxuICAgIC5hcnRpY2xlX19zdW1tYXJ5OmFmdGVyIHtcbiAgICAgIGNsZWFyOiBib3RoOyB9IH1cblxuLmFydGljbGVfX21lZGlhIHtcbiAgbWFyZ2luLWJvdHRvbTogMjBweDsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMjAxcHgpIHtcbiAgICAuYXJ0aWNsZV9fbWVkaWEge1xuICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDMwcHg7IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxNDAwcHgpIHtcbiAgICAuYXJ0aWNsZV9fbWVkaWEge1xuICAgICAgbWFyZ2luLXJpZ2h0OiA0MHB4OyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTIwMXB4KSB7XG4gIC5hcnRpY2xlX19jb3B5IHtcbiAgICBvdmVyZmxvdzogaGlkZGVuOyB9IH1cblxuLmFydGljbGVfX2NvcHkgPiAqOmZpcnN0LWNoaWxkIHtcbiAgbWFyZ2luLXRvcDogMDsgfVxuXG4uYXJ0aWNsZV9fY29weSA+ICo6bGFzdC1jaGlsZCB7XG4gIG1hcmdpbi1ib3R0b206IDA7IH1cblxuLmFydGljbGVfX2FjdGlvbiB7XG4gIG1hcmdpbi1ib3R0b206IDA7IH1cblxuLypcbiAgQ09NUE9ORU5UOiBCQVNLRVRcbiovXG4uYmFza2V0IHtcbiAgbWF4LXdpZHRoOiAxNDAwcHg7XG4gIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICBtYXJnaW4tcmlnaHQ6IGF1dG87IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTAyNHB4KSB7XG4gIC5iYXNrZXRfX2lubmVyIHtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgd29yZC1zcGFjaW5nOiAtNHB4O1xuICAgIG1hcmdpbi1sZWZ0OiAtMjBweDsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDEwMjRweCkgYW5kIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gICAgLmJhc2tldF9faW5uZXIge1xuICAgICAgbWFyZ2luLWxlZnQ6IC00MHB4OyB9IH1cblxuLmJhc2tldF9fb3ZlcnZpZXcge1xuICBtYXJnaW4tYm90dG9tOiA0MHB4OyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDEwMjRweCkge1xuICAgIC5iYXNrZXRfX292ZXJ2aWV3IHtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgIHdvcmQtc3BhY2luZzogbm9ybWFsO1xuICAgICAgdmVydGljYWwtYWxpZ246IHRvcDtcbiAgICAgIHBhZGRpbmctbGVmdDogMjBweDtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgd2lkdGg6IDMzLjMzMzQlO1xuICAgICAgZmxvYXQ6IHJpZ2h0O1xuICAgICAgbWFyZ2luOiAwOyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTAyNHB4KSBhbmQgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgICAuYmFza2V0X19vdmVydmlldyB7XG4gICAgICBwYWRkaW5nLWxlZnQ6IDQwcHg7IH0gfVxuXG4uYmFza2V0X19vdmVydmlld19faW5uZXIge1xuICBib3JkZXI6IDFweCBzb2xpZCAjZWJlYmViO1xuICBwYWRkaW5nLXRvcDogMjBweDtcbiAgcGFkZGluZy1ib3R0b206IDIwcHg7XG4gIHBhZGRpbmctbGVmdDogMjBweDtcbiAgcGFkZGluZy1yaWdodDogMjBweDsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NjhweCkge1xuICAgIC5iYXNrZXRfX292ZXJ2aWV3X19pbm5lciB7XG4gICAgICBwYWRkaW5nLXRvcDogNDBweDsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gICAgLmJhc2tldF9fb3ZlcnZpZXdfX2lubmVyIHtcbiAgICAgIHBhZGRpbmctYm90dG9tOiA0MHB4OyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgICAuYmFza2V0X19vdmVydmlld19faW5uZXIge1xuICAgICAgcGFkZGluZy1sZWZ0OiA0MHB4OyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgICAuYmFza2V0X19vdmVydmlld19faW5uZXIge1xuICAgICAgcGFkZGluZy1yaWdodDogNDBweDsgfSB9XG5cbi5iYXNrZXRfX292ZXJ2aWV3X190b3RhbCB7XG4gIHRleHQtYWxpZ246IGxlZnQ7IH1cblxuLmJhc2tldF9fb3ZlcnZpZXdfX2l0ZW0ge1xuICBtYXJnaW4tdG9wOiAyMHB4OyB9XG4gIC5iYXNrZXRfX292ZXJ2aWV3X19pdGVtOmJlZm9yZSwgLmJhc2tldF9fb3ZlcnZpZXdfX2l0ZW06YWZ0ZXIge1xuICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgZGlzcGxheTogdGFibGU7IH1cbiAgLmJhc2tldF9fb3ZlcnZpZXdfX2l0ZW06YWZ0ZXIge1xuICAgIGNsZWFyOiBib3RoOyB9XG4gIC5iYXNrZXRfX292ZXJ2aWV3X19pdGVtOmZpcnN0LWNoaWxkIHtcbiAgICBtYXJnaW4tdG9wOiAwOyB9XG4gIC5iYXNrZXRfX292ZXJ2aWV3X19pdGVtIHNwYW4ge1xuICAgIGZsb2F0OiBsZWZ0O1xuICAgIHdpZHRoOiA1MCU7IH1cblxuLmJhc2tldF9fb3ZlcnZpZXdfX2xhYmVsIHtcbiAgY29sb3I6ICNkMTQ0MTQ7IH1cbiAgLmJhc2tldF9fb3ZlcnZpZXdfX2l0ZW0tLXRvdGFsIC5iYXNrZXRfX292ZXJ2aWV3X19sYWJlbCB7XG4gICAgY29sb3I6IGluaGVyaXQ7IH1cblxuLmJhc2tldF9fb3ZlcnZpZXdfX2l0ZW0tLXRvdGFsIC5iYXNrZXRfX292ZXJ2aWV3X192YWx1ZSB7XG4gIGNvbG9yOiAjZDE0NDE0OyB9XG5cbi5iYXNrZXRfX292ZXJ2aWV3X19pdGVtLS10b3RhbCB7XG4gIGZvbnQtZmFtaWx5OiBcIk9zd2FsZFwiLCBzYW5zLXNlcmlmO1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICBmb250LXdlaWdodDogbm9ybWFsO1xuICBsaW5lLWhlaWdodDogMS42O1xuICBmb250LXNpemU6IDIwcHg7XG4gIGZvbnQtc2l6ZTogMS4yNXJlbTtcbiAgYm9yZGVyLXRvcDogMXB4IHNvbGlkICNlYmViZWI7XG4gIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjZWJlYmViO1xuICBwYWRkaW5nOiAyMHB4IDA7XG4gIG1hcmdpbjogNDBweCAwOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDUyMHB4KSB7XG4gICAgLmJhc2tldF9fb3ZlcnZpZXdfX2l0ZW0tLXRvdGFsIHtcbiAgICAgIGZvbnQtc2l6ZTogMjRweDtcbiAgICAgIGZvbnQtc2l6ZTogMS41cmVtOyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgICAuYmFza2V0X19vdmVydmlld19faXRlbS0tdG90YWwge1xuICAgICAgZm9udC1zaXplOiAzMHB4O1xuICAgICAgZm9udC1zaXplOiAxLjg3NXJlbTsgfSB9XG5cbi5iYXNrZXRfX292ZXJ2aWV3X19hY3Rpb25zIHtcbiAgdGV4dC1hbGlnbjogY2VudGVyOyB9XG4gIC5iYXNrZXRfX292ZXJ2aWV3X19hY3Rpb25zIC5iYXNrZXRfX3BheXBhbCB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIG1hcmdpbi10b3A6IDAuOGVtO1xuICAgIGZvbnQtZmFtaWx5OiBcIk9zd2FsZFwiLCBzYW5zLXNlcmlmO1xuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgICBsaW5lLWhlaWdodDogMS42O1xuICAgIHRleHQtdHJhbnNmb3JtOiBub25lO1xuICAgIGZvbnQtc2l6ZTogMTZweDtcbiAgICBmb250LXNpemU6IDFyZW07IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA1MjBweCkge1xuICAgICAgLmJhc2tldF9fb3ZlcnZpZXdfX2FjdGlvbnMgLmJhc2tldF9fcGF5cGFsIHtcbiAgICAgICAgZm9udC1zaXplOiAxOHB4O1xuICAgICAgICBmb250LXNpemU6IDEuMTI1cmVtOyB9IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NjhweCkge1xuICAgICAgLmJhc2tldF9fb3ZlcnZpZXdfX2FjdGlvbnMgLmJhc2tldF9fcGF5cGFsIHtcbiAgICAgICAgZm9udC1zaXplOiAyMHB4O1xuICAgICAgICBmb250LXNpemU6IDEuMjVyZW07IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMDI0cHgpIHtcbiAgLmJhc2tldF9fc3VtbWFyeSB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIHdvcmQtc3BhY2luZzogbm9ybWFsO1xuICAgIHZlcnRpY2FsLWFsaWduOiB0b3A7XG4gICAgcGFkZGluZy1sZWZ0OiAyMHB4O1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIHdpZHRoOiA2Ni42NjY3JTsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDEwMjRweCkgYW5kIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gICAgLmJhc2tldF9fc3VtbWFyeSB7XG4gICAgICBwYWRkaW5nLWxlZnQ6IDQwcHg7IH0gfVxuXG4uYmFza2V0X19saXN0IHtcbiAgYm9yZGVyLXRvcDogMXB4IHNvbGlkICNlYmViZWI7XG4gIG1hcmdpbi1ib3R0b206IDMwcHg7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgICAuYmFza2V0X19saXN0IHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDYwcHg7IH0gfVxuXG4uYmFza2V0X19pdGVtIHtcbiAgcGFkZGluZzogNDBweCAwO1xuICBib3JkZXItYm90dG9tOiAxcHggc29saWQgI2ViZWJlYjsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NDBweCkge1xuICAgIC5iYXNrZXRfX2l0ZW06YmVmb3JlLCAuYmFza2V0X19pdGVtOmFmdGVyIHtcbiAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICBkaXNwbGF5OiB0YWJsZTsgfVxuICAgIC5iYXNrZXRfX2l0ZW06YWZ0ZXIge1xuICAgICAgY2xlYXI6IGJvdGg7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NDBweCkge1xuICAuYmFza2V0X19pdGVtX19pbm5lciB7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIHdvcmQtc3BhY2luZzogLTRweDtcbiAgICBtYXJnaW4tbGVmdDogLTIwcHg7IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NDBweCkgYW5kIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gICAgLmJhc2tldF9faXRlbV9faW5uZXIge1xuICAgICAgbWFyZ2luLWxlZnQ6IC00MHB4OyB9IH1cblxuLmJhc2tldF9faXRlbV9fbWVkaWEge1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIG1hcmdpbi1ib3R0b206IDIwcHg7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjQwcHgpIHtcbiAgICAuYmFza2V0X19pdGVtX19tZWRpYSB7XG4gICAgICBtYXJnaW46IDA7XG4gICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgd29yZC1zcGFjaW5nOiBub3JtYWw7XG4gICAgICB2ZXJ0aWNhbC1hbGlnbjogdG9wO1xuICAgICAgcGFkZGluZy1sZWZ0OiAyMHB4O1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICB3aWR0aDogMjUlOyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjQwcHgpIGFuZCAobWluLXdpZHRoOiA3NjhweCkge1xuICAgIC5iYXNrZXRfX2l0ZW1fX21lZGlhIHtcbiAgICAgIHBhZGRpbmctbGVmdDogNDBweDsgfSB9XG5cbi5iYXNrZXRfX2l0ZW1fX2luZm8ge1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjQwcHgpIHtcbiAgICAuYmFza2V0X19pdGVtX19pbmZvIHtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgIHdvcmQtc3BhY2luZzogbm9ybWFsO1xuICAgICAgdmVydGljYWwtYWxpZ246IHRvcDtcbiAgICAgIHBhZGRpbmctbGVmdDogMjBweDtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgd2lkdGg6IDc1JTtcbiAgICAgIHRleHQtYWxpZ246IGxlZnQ7IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NDBweCkgYW5kIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gICAgLmJhc2tldF9faXRlbV9faW5mbyB7XG4gICAgICBwYWRkaW5nLWxlZnQ6IDQwcHg7IH0gfVxuXG4uYmFza2V0X19pdGVtX190aXRsZSB7XG4gIG1hcmdpbjogMCAwIDAuNmVtOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0MHB4KSB7XG4gICAgLmJhc2tldF9faXRlbV9fdGl0bGUge1xuICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgICB3aWR0aDogNjYuNjY2NyU7IH0gfVxuXG4uYmFza2V0X19pdGVtX19wcmljZSB7XG4gIG1hcmdpbjogMCAwIDAuNmVtOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0MHB4KSB7XG4gICAgLmJhc2tldF9faXRlbV9fcHJpY2Uge1xuICAgICAgZmxvYXQ6IHJpZ2h0O1xuICAgICAgd2lkdGg6IDMzLjMzMzQlO1xuICAgICAgcGFkZGluZy1sZWZ0OiA0MHB4OyB9IH1cblxuLmJhc2tldF9faXRlbV9fbWVzc2FnZSB7XG4gIG1hcmdpbjogMCAwIDAuNmVtOyB9XG5cbi5iYXNrZXRfX2l0ZW1fX2NvcHkge1xuICBjbGVhcjogYm90aDtcbiAgbWFyZ2luLXRvcDogMDtcbiAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gIG1hcmdpbi1yaWdodDogYXV0bztcbiAgbWF4LXdpZHRoOiA0NDBweDsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NDBweCkge1xuICAgIC5iYXNrZXRfX2l0ZW1fX2NvcHkge1xuICAgICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDA7IH0gfVxuXG4uYmFza2V0X19pdGVtX19tZXRhIHtcbiAgZm9udC1mYW1pbHk6IFwiT3N3YWxkXCIsIHNhbnMtc2VyaWY7XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gIGxpbmUtaGVpZ2h0OiAxLjY7XG4gIGZvbnQtc2l6ZTogMTZweDtcbiAgZm9udC1zaXplOiAxcmVtOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDUyMHB4KSB7XG4gICAgLmJhc2tldF9faXRlbV9fbWV0YSB7XG4gICAgICBmb250LXNpemU6IDE4cHg7XG4gICAgICBmb250LXNpemU6IDEuMTI1cmVtOyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgICAuYmFza2V0X19pdGVtX19tZXRhIHtcbiAgICAgIGZvbnQtc2l6ZTogMjBweDtcbiAgICAgIGZvbnQtc2l6ZTogMS4yNXJlbTsgfSB9XG5cbi5iYXNrZXRfX2l0ZW1fX3F0eSB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgbWFyZ2luOiAwIDQwcHggMCAwOyB9XG5cbi5iYXNrZXRfX2l0ZW1fX2FjdGlvbnMge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIG1hcmdpbjogMDsgfVxuICAuYmFza2V0X19pdGVtX19hY3Rpb25zIGEge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBtYXJnaW4tbGVmdDogMjBweDsgfVxuICAgIC5iYXNrZXRfX2l0ZW1fX2FjdGlvbnMgYTpmaXJzdC1jaGlsZCB7XG4gICAgICBtYXJnaW4tbGVmdDogMDsgfVxuXG4uYmFza2V0X19saXN0X19hY3Rpb25zIHtcbiAgbWFyZ2luLWJvdHRvbTogNDBweDtcbiAgdGV4dC1hbGlnbjogY2VudGVyOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gICAgLmJhc2tldF9fbGlzdF9fYWN0aW9ucyB7XG4gICAgICBtYXJnaW4tYm90dG9tOiA4MHB4OyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTAyNHB4KSB7XG4gICAgLmJhc2tldF9fbGlzdF9fYWN0aW9ucyB7XG4gICAgICB0ZXh0LWFsaWduOiBsZWZ0OyB9IH1cbiAgLmJhc2tldF9fbGlzdF9fYWN0aW9ucyAuYmFza2V0X19hZGQge1xuICAgIG1hcmdpbi1ib3R0b206IDIwcHg7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMDI0cHgpIHtcbiAgICAgIC5iYXNrZXRfX2xpc3RfX2FjdGlvbnMgLmJhc2tldF9fYWRkIHtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiA0MHB4O1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAwOyB9IH1cbiAgLmJhc2tldF9fbGlzdF9fYWN0aW9ucyAuYmFza2V0X19jbGVhciB7XG4gICAgZm9udC1mYW1pbHk6IFwiT3N3YWxkXCIsIHNhbnMtc2VyaWY7XG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICBmb250LXdlaWdodDogbm9ybWFsO1xuICAgIGxpbmUtaGVpZ2h0OiAxLjY7XG4gICAgZm9udC1zaXplOiAxNnB4O1xuICAgIGZvbnQtc2l6ZTogMXJlbTsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMDI0cHgpIHtcbiAgICAuYmFza2V0X19saXN0X19hY3Rpb25zIGJyIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7IH0gfVxuXG4uYmFza2V0X19pbmZvIHtcbiAgdGV4dC1hbGlnbjogY2VudGVyOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDEwMjRweCkge1xuICAgIC5iYXNrZXRfX2luZm8ge1xuICAgICAgdGV4dC1hbGlnbjogbGVmdDsgfSB9XG5cbi8qXG4gIENPTVBPTkVOVDogQlJFQURDUlVNQlNcbiovXG4uYnJlYWRjcnVtYnMge1xuICBib3JkZXI6IDFweCBzb2xpZCAjZWJlYmViO1xuICBib3JkZXItbGVmdDogMDtcbiAgYm9yZGVyLXJpZ2h0OiAwO1xuICBwYWRkaW5nOiAxMHB4IDIwcHg7IH1cblxuLmJyZWFkY3J1bWJzX19pbm5lciB7XG4gIG1heC13aWR0aDogMTQwMHB4O1xuICBtYXJnaW4tbGVmdDogYXV0bztcbiAgbWFyZ2luLXJpZ2h0OiBhdXRvOyB9XG5cbi5icmVhZGNydW1ic19fbGlzdCB7XG4gIG1hcmdpbjogMDtcbiAgcGFkZGluZzogMDtcbiAgbGlzdC1zdHlsZTogbm9uZTtcbiAgd29yZC1zcGFjaW5nOiAtNHB4O1xuICBmb250LXNpemU6IDE0cHg7XG4gIGZvbnQtc2l6ZTogMC44NzVyZW07IH1cbiAgLmJyZWFkY3J1bWJzX19saXN0IGxpIHtcbiAgICBtYXJnaW46IDVweCAwO1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICB3b3JkLXNwYWNpbmc6IG5vcm1hbDsgfVxuICAgIC5icmVhZGNydW1ic19fbGlzdCBsaTphZnRlciB7XG4gICAgICBjb250ZW50OiBcIi9cIjtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgIG1hcmdpbjogMCAxLjJlbTsgfVxuICAgIC5icmVhZGNydW1ic19fbGlzdCBsaTpsYXN0LWNoaWxkOmFmdGVyIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7IH1cblxuLypcbiAgQ09NUE9ORU5UOiBDT1BZXG4qL1xuLmNvcHkge1xuICBtYXgtd2lkdGg6IDkyMHB4O1xuICBtYXJnaW4tbGVmdDogYXV0bztcbiAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIG1hcmdpbi1ib3R0b206IDMwcHg7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgICAuY29weSB7XG4gICAgICBtYXJnaW4tYm90dG9tOiA2MHB4OyB9IH1cbiAgLmNvcHkgPiAqOmZpcnN0LWNoaWxkIHtcbiAgICBtYXJnaW4tdG9wOiAwOyB9XG4gIC5jb3B5ID4gKjpsYXN0LWNoaWxkIHtcbiAgICBtYXJnaW4tYm90dG9tOiAwOyB9XG5cbi5jb3B5LS1sZWZ0IHtcbiAgdGV4dC1hbGlnbjogbGVmdDsgfVxuXG4uY29weS0tdGlnaHQge1xuICBtYXgtd2lkdGg6IDY4MHB4O1xuICBtYXJnaW4tbGVmdDogYXV0bztcbiAgbWFyZ2luLXJpZ2h0OiBhdXRvOyB9XG5cbi5jb3B5LS1vdmVyZmxvdy1oaWRkZW4ge1xuICBvdmVyZmxvdzogaGlkZGVuOyB9XG5cbi5jb3B5X19hY3Rpb24ge1xuICBtYXJnaW46IDJlbSAwOyB9XG5cbi8qXG4gIENPTVBPTkVOVDogQ1RBLUlOTElORVxuKi9cbi5jdGEtaW5saW5lIHtcbiAgbWF4LXdpZHRoOiA5MjBweDtcbiAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gIG1hcmdpbi1yaWdodDogYXV0bztcbiAgdGV4dC1hbGlnbjogY2VudGVyOyB9XG5cbi5jdGEtaW5saW5lX190aXRsZSB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgbWFyZ2luLWJvdHRvbTogMDtcbiAgbWFyZ2luOiAyN3B4IDIwcHggMDsgfVxuXG4uY3RhLWlubGluZV9fYWN0aW9uIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB2ZXJ0aWNhbC1hbGlnbjogdG9wO1xuICBtYXJnaW46IDIwcHg7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTAyNHB4KSB7XG4gICAgLmN0YS1pbmxpbmVfX2FjdGlvbiB7XG4gICAgICBtYXJnaW4tbGVmdDogMTBweDsgfSB9XG5cbi8qXG4gIENPTVBPTkVOVDogRE9OQVRFXG4qL1xuLmRvbmF0ZSB7XG4gIG1heC13aWR0aDogMTQwMHB4O1xuICBtYXJnaW4tbGVmdDogYXV0bztcbiAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIG1hcmdpbi10b3A6IDIwcHg7XG4gIG1hcmdpbi1ib3R0b206IDIwcHg7XG4gIHBhZGRpbmctdG9wOiAzMHB4O1xuICBwYWRkaW5nLWJvdHRvbTogNDBweDtcbiAgcGFkZGluZy1sZWZ0OiAxNXB4O1xuICBwYWRkaW5nLXJpZ2h0OiAxNXB4OyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gICAgLmRvbmF0ZSB7XG4gICAgICBtYXJnaW4tdG9wOiA0MHB4OyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgICAuZG9uYXRlIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDQwcHg7IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NjhweCkge1xuICAgIC5kb25hdGUge1xuICAgICAgcGFkZGluZy10b3A6IDQwcHg7IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NjhweCkge1xuICAgIC5kb25hdGUge1xuICAgICAgcGFkZGluZy1ib3R0b206IDQwcHg7IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NjhweCkge1xuICAgIC5kb25hdGUge1xuICAgICAgcGFkZGluZy1sZWZ0OiAzMHB4OyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgICAuZG9uYXRlIHtcbiAgICAgIHBhZGRpbmctcmlnaHQ6IDMwcHg7IH0gfVxuICAuZG9uYXRlOmZpcnN0LWNoaWxkIHtcbiAgICBtYXJnaW4tdG9wOiAwOyB9XG4gIC5kb25hdGU6bGFzdC1jaGlsZCB7XG4gICAgbWFyZ2luLWJvdHRvbTogMDsgfVxuICAuZG9uYXRlID4gKjpmaXJzdC1jaGlsZCB7XG4gICAgbWFyZ2luLXRvcDogMDsgfVxuICAuZG9uYXRlID4gKjpsYXN0LWNoaWxkIHtcbiAgICBtYXJnaW4tYm90dG9tOiAwOyB9XG5cbi5kb25hdGVfX29yIHtcbiAgbWFyZ2luOiAxLjRlbSAwIDAuOGVtOyB9XG5cbi5kb25hdGVfX2FsdCB7XG4gIGZvbnQtZmFtaWx5OiBcIkxhdG9cIiwgc2Fucy1zZXJpZjtcbiAgZm9udC13ZWlnaHQ6IDMwMDtcbiAgbGluZS1oZWlnaHQ6IDEuNTtcbiAgZm9udC1zaXplOiAxOHB4O1xuICBmb250LXNpemU6IDEuMTI1cmVtO1xuICBtYXJnaW46IDAuOGVtIGF1dG87XG4gIHBhZGRpbmc6IDA7XG4gIGxpc3Qtc3R5bGU6IG5vbmU7XG4gIHRleHQtYWxpZ246IGNlbnRlcjsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NjhweCkge1xuICAgIC5kb25hdGVfX2FsdCB7XG4gICAgICBmb250LXNpemU6IDI0cHg7XG4gICAgICBmb250LXNpemU6IDEuNXJlbTsgfSB9XG4gIC5kb25hdGVfX2FsdCBsaSB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIG1hcmdpbjogMCAwLjNlbTsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4MHB4KSB7XG4gICAgICAuZG9uYXRlX19hbHQgbGkge1xuICAgICAgICBtYXJnaW46IDAgMC41ZW07IH0gfVxuXG4vKlxuICBDT01QT05FTlQ6IERPV05MT0FEXG4qL1xuLmRvd25sb2FkIHtcbiAgbWF4LXdpZHRoOiA5MjBweDtcbiAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gIG1hcmdpbi1yaWdodDogYXV0bztcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBtYXJnaW46IDIuNGVtIGF1dG87IH1cbiAgLmRvd25sb2FkOmZpcnN0LWNoaWxkIHtcbiAgICBtYXJnaW4tdG9wOiAwOyB9XG4gIC5kb3dubG9hZDpsYXN0LWNoaWxkIHtcbiAgICBtYXJnaW4tYm90dG9tOiAwOyB9XG4gIC5kb3dubG9hZCA+ICo6Zmlyc3QtY2hpbGQge1xuICAgIG1hcmdpbi10b3A6IDA7IH1cbiAgLmRvd25sb2FkID4gKjpsYXN0LWNoaWxkIHtcbiAgICBtYXJnaW4tYm90dG9tOiAwOyB9XG5cbi5kb3dubG9hZF9faWNvbiB7XG4gIG1hcmdpbi1ib3R0b206IDI1cHg7IH1cbiAgLmRvd25sb2FkX19pY29uIGEge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBib3JkZXItcmFkaXVzOiA1MCU7XG4gICAgYm9yZGVyLXdpZHRoOiAycHg7XG4gICAgYm9yZGVyLWNvbG9yOiAjMmVhMzkzO1xuICAgIGJvcmRlci1zdHlsZTogc29saWQgIWltcG9ydGFudDtcbiAgICBwYWRkaW5nOiAxNHB4O1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICBsaW5lLWhlaWdodDogMTtcbiAgICBmb250LXNpemU6IDQwcHg7XG4gICAgZm9udC1zaXplOiAyLjVyZW07IH1cbiAgLmRvd25sb2FkLS1pbnZlcnQgLmRvd25sb2FkX19pY29uIGEge1xuICAgIGJvcmRlci1jb2xvcjogI2ZmZjsgfVxuXG4uZG93bmxvYWRfX2NvcHkge1xuICBmb250LWZhbWlseTogXCJMYXRvXCIsIHNhbnMtc2VyaWY7XG4gIGZvbnQtd2VpZ2h0OiAzMDA7XG4gIGxpbmUtaGVpZ2h0OiAxLjU7XG4gIGZvbnQtc2l6ZTogMThweDtcbiAgZm9udC1zaXplOiAxLjEyNXJlbTtcbiAgbWFyZ2luLXRvcDogMWVtOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gICAgLmRvd25sb2FkX19jb3B5IHtcbiAgICAgIGZvbnQtc2l6ZTogMjRweDtcbiAgICAgIGZvbnQtc2l6ZTogMS41cmVtOyB9IH1cblxuLypcbiAgQ09NUE9ORU5UOiBGSUxURVJcbiovXG4uZmlsdGVyX190b29sYmFyIHtcbiAgbWF4LXdpZHRoOiAxNDAwcHg7XG4gIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICBtYXJnaW4tcmlnaHQ6IGF1dG87XG4gIG1hcmdpbi10b3A6IDIwcHg7XG4gIG1hcmdpbi1ib3R0b206IDQwcHg7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgICAuZmlsdGVyX190b29sYmFyIHtcbiAgICAgIG1hcmdpbi10b3A6IDQwcHg7IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NjhweCkge1xuICAgIC5maWx0ZXJfX3Rvb2xiYXIge1xuICAgICAgbWFyZ2luLWJvdHRvbTogODBweDsgfSB9XG4gIC5maWx0ZXJfX3Rvb2xiYXI6Zmlyc3QtY2hpbGQge1xuICAgIG1hcmdpbi10b3A6IDA7IH1cbiAgLmZpbHRlcl9fdG9vbGJhcjpsYXN0LWNoaWxkIHtcbiAgICBtYXJnaW4tYm90dG9tOiAwOyB9XG5cbi5maWx0ZXJfX2lubmVyIHtcbiAgbWFyZ2luLXRvcDogLTEwcHg7XG4gIG1hcmdpbi1sZWZ0OiAtMjBweDsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA1MjBweCkge1xuICAgIC5maWx0ZXJfX2lubmVyIHtcbiAgICAgIG1hcmdpbi10b3A6IC0yMHB4OyB9XG4gICAgICAuZmlsdGVyX19pbm5lcjpiZWZvcmUsIC5maWx0ZXJfX2lubmVyOmFmdGVyIHtcbiAgICAgICAgY29udGVudDogXCJcIjtcbiAgICAgICAgZGlzcGxheTogdGFibGU7IH1cbiAgICAgIC5maWx0ZXJfX2lubmVyOmFmdGVyIHtcbiAgICAgICAgY2xlYXI6IGJvdGg7IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMjAxcHgpIHtcbiAgICAuZmlsdGVyX19pbm5lciB7XG4gICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgI2ViZWJlYjtcbiAgICAgIG1hcmdpbi1sZWZ0OiAwOyB9IH1cblxuLmZpbHRlcl9fZ3JvdXAge1xuICBtYXJnaW4tdG9wOiAxMHB4O1xuICBwYWRkaW5nLWxlZnQ6IDIwcHg7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNTIwcHgpIHtcbiAgICAuZmlsdGVyX19ncm91cCB7XG4gICAgICBtYXJnaW4tdG9wOiAyMHB4O1xuICAgICAgZmxvYXQ6IGxlZnQ7IH1cbiAgICAgIC5maWx0ZXJfX2dyb3VwOmJlZm9yZSwgLmZpbHRlcl9fZ3JvdXA6YWZ0ZXIge1xuICAgICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgICBkaXNwbGF5OiB0YWJsZTsgfVxuICAgICAgLmZpbHRlcl9fZ3JvdXA6YWZ0ZXIge1xuICAgICAgICBjbGVhcjogYm90aDsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDEyMDFweCkge1xuICAuZmlsdGVyX19ncm91cC0tdHlwZXMge1xuICAgIHBhZGRpbmctbGVmdDogMDsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDEyMDFweCkge1xuICAuZmlsdGVyX19ncm91cC0tc29ydCB7XG4gICAgZmxvYXQ6IHJpZ2h0OyB9IH1cblxuLm5vLWpzIC5maWx0ZXJfX2dyb3VwLS1zb3J0IHtcbiAgZGlzcGxheTogbm9uZTsgfVxuXG4uZmlsdGVyX19ncm91cC0tcHJpY2Uge1xuICB3aWR0aDogMTAwJTtcbiAgY2xlYXI6IGJvdGg7IH1cblxuLmZpbHRlcl9fdGl0bGUge1xuICBtYXJnaW46IDA7XG4gIGNvbG9yOiAjZDE0NDE0O1xuICBmb250LWZhbWlseTogXCJPc3dhbGRcIiwgc2Fucy1zZXJpZjtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgbGluZS1oZWlnaHQ6IDEuNjtcbiAgZm9udC1zaXplOiAxOHB4O1xuICBmb250LXNpemU6IDEuMTI1cmVtO1xuICBwYWRkaW5nOiAxMHB4IDA7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTAyNHB4KSB7XG4gICAgLmZpbHRlcl9fdGl0bGUge1xuICAgICAgZm9udC1zaXplOiAyMHB4O1xuICAgICAgZm9udC1zaXplOiAxLjI1cmVtOyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNTIwcHgpIHtcbiAgICAuZmlsdGVyX190aXRsZSB7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDIwcHg7XG4gICAgICBmbG9hdDogbGVmdDsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDEyMDFweCkge1xuICAgIC5maWx0ZXJfX3RpdGxlIHtcbiAgICAgIHBhZGRpbmc6IDIwcHggMDsgfSB9XG5cbi5maWx0ZXJfX2xpbmtzIHtcbiAgbWFyZ2luOiAwO1xuICBwYWRkaW5nOiAwO1xuICBsaXN0LXN0eWxlOiBub25lOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDUyMHB4KSB7XG4gICAgLmZpbHRlcl9fbGlua3Mge1xuICAgICAgd29yZC1zcGFjaW5nOiAtNHB4O1xuICAgICAgZmxvYXQ6IGxlZnQ7IH0gfVxuXG4uZmlsdGVyX19saW5rc19faXRlbSB7XG4gIGZvbnQtZmFtaWx5OiBcIk9zd2FsZFwiLCBzYW5zLXNlcmlmO1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICBmb250LXdlaWdodDogbm9ybWFsO1xuICBsaW5lLWhlaWdodDogMS42O1xuICBmb250LXNpemU6IDE2cHg7XG4gIGZvbnQtc2l6ZTogMXJlbTtcbiAgbWFyZ2luOiAwOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDEwMjRweCkge1xuICAgIC5maWx0ZXJfX2xpbmtzX19pdGVtIHtcbiAgICAgIGZvbnQtc2l6ZTogMjBweDtcbiAgICAgIGZvbnQtc2l6ZTogMS4yNXJlbTsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDUyMHB4KSB7XG4gICAgLmZpbHRlcl9fbGlua3NfX2l0ZW0ge1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrOyB9IH1cbiAgLmZpbHRlcl9fbGlua3NfX2l0ZW0gYSB7XG4gICAgY29sb3I6IGluaGVyaXQ7XG4gICAgYm9yZGVyLWJvdHRvbTogaW5oZXJpdDtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBib3JkZXI6IDFweCBzb2xpZCAjZWJlYmViICFpbXBvcnRhbnQ7XG4gICAgbWFyZ2luLWJvdHRvbTogLTFweDtcbiAgICBwYWRkaW5nOiAxMHB4O1xuICAgIGJhY2tncm91bmQ6ICNmZmY7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA1MjBweCkge1xuICAgICAgLmZpbHRlcl9fbGlua3NfX2l0ZW0gYSB7XG4gICAgICAgIHdvcmQtc3BhY2luZzogbm9ybWFsO1xuICAgICAgICBwYWRkaW5nOiAxMHB4IDIwcHg7IH0gfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDEyMDFweCkge1xuICAgICAgLmZpbHRlcl9fbGlua3NfX2l0ZW0gYSB7XG4gICAgICAgIHBhZGRpbmc6IDIwcHggMzBweDsgfSB9XG4gICAgLmZpbHRlcl9fbGlua3NfX2l0ZW0gYS5pcy1hY3RpdmUge1xuICAgICAgYm9yZGVyLWNvbG9yOiAjMmVhMzkzICFpbXBvcnRhbnQ7XG4gICAgICBiYWNrZ3JvdW5kOiAjMmVhMzkzO1xuICAgICAgY29sb3I6ICNmZmY7IH1cbiAgICAuZmlsdGVyX19saW5rc19faXRlbSBhW2RhdGEtZmlsdGVyLWxpbWl0LXRyaWdnZXItc3RhdGU9XCJkaXNhYmxlZFwiXSB7XG4gICAgICBjdXJzb3I6IGRlZmF1bHQ7XG4gICAgICBjb2xvcjogI2RiZGJkYjsgfVxuICAgICAgLmZpbHRlcl9fbGlua3NfX2l0ZW0gYVtkYXRhLWZpbHRlci1saW1pdC10cmlnZ2VyLXN0YXRlPVwiZGlzYWJsZWRcIl0gc3BhbiB7XG4gICAgICAgIGJvcmRlci1ib3R0b206IDAgIWltcG9ydGFudDsgfVxuICAuZmlsdGVyX19saW5rc19faXRlbSBzcGFuIHtcbiAgICBjb2xvcjogaW5oZXJpdDtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICMyZWEzOTM7IH1cbiAgICAuZmlsdGVyX19saW5rc19faXRlbSBzcGFuOmhvdmVyIHtcbiAgICAgIGJvcmRlci1ib3R0b20tc3R5bGU6IGRvdHRlZDsgfVxuICAuZmlsdGVyX19saW5rc19faXRlbTpob3ZlciBzcGFuLCAuZmlsdGVyX19saW5rc19faXRlbTpmb2N1cyBzcGFuIHtcbiAgICBib3JkZXItYm90dG9tLXN0eWxlOiBkb3R0ZWQ7IH1cblxuW2RhdGEtZmlsdGVyLWxpbWl0LXN0YXRlPVwiaGlkZGVuXCJdIHtcbiAgZGlzcGxheTogbm9uZTsgfVxuXG4uZmlsdGVyX19lcnJvciB7XG4gIG1heC13aWR0aDogNjgwcHg7XG4gIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICBtYXJnaW4tcmlnaHQ6IGF1dG87XG4gIG1hcmdpbi1ib3R0b206IDFlbTtcbiAgY29sb3I6ICNkMTQ0MTQ7XG4gIGZvbnQtc3R5bGU6IGl0YWxpYztcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBkaXNwbGF5OiBub25lOyB9XG4gIC5maWx0ZXJfX2Vycm9yW2RhdGEtZmlsdGVyLWVycm9yPVwic2hvd1wiXSB7XG4gICAgZGlzcGxheTogYmxvY2s7IH1cblxuLypcbiAgQ09NUE9ORU5UOiBGT09URVJcbiovXG4uZm9vdGVyIHtcbiAgbWF4LXdpZHRoOiAxNDAwcHg7XG4gIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICBtYXJnaW4tcmlnaHQ6IGF1dG87IH1cblxuLmZvb3Rlcl9fc2l0ZW1hcCB7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgd29yZC1zcGFjaW5nOiAtNHB4O1xuICBtYXJnaW4tbGVmdDogLTIwcHg7XG4gIG1hcmdpbi1ib3R0b206IC0zMHB4OyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gICAgLmZvb3Rlcl9fc2l0ZW1hcCB7XG4gICAgICBtYXJnaW4tbGVmdDogLTQwcHg7IH0gfVxuXG4uZm9vdGVyX19zaXRlbWFwX19ncm91cCB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgd29yZC1zcGFjaW5nOiBub3JtYWw7XG4gIHZlcnRpY2FsLWFsaWduOiB0b3A7XG4gIHBhZGRpbmctbGVmdDogMjBweDtcbiAgd2lkdGg6IDEwMCU7XG4gIHRleHQtYWxpZ246IGxlZnQ7XG4gIG1hcmdpbi1ib3R0b206IDMwcHg7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgICAuZm9vdGVyX19zaXRlbWFwX19ncm91cCB7XG4gICAgICBwYWRkaW5nLWxlZnQ6IDQwcHg7IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0ODBweCkge1xuICAgIC5mb290ZXJfX3NpdGVtYXBfX2dyb3VwIHtcbiAgICAgIHdpZHRoOiA1MCU7IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NjhweCkge1xuICAgIC5mb290ZXJfX3NpdGVtYXBfX2dyb3VwIHtcbiAgICAgIHdpZHRoOiAyNSU7IH0gfVxuXG4uZm9vdGVyX19zaXRlbWFwX19ncm91cF9fdGl0bGUge1xuICBtYXJnaW4tdG9wOiAwO1xuICBtYXJnaW4tYm90dG9tOiAxZW07IH1cblxuLmZvb3Rlcl9fc2l0ZW1hcF9fZ3JvdXBfX25hdiB7XG4gIGZvbnQtc2l6ZTogMTRweDtcbiAgZm9udC1zaXplOiAwLjg3NXJlbTsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NjhweCkge1xuICAgIC5mb290ZXJfX3NpdGVtYXBfX2dyb3VwX19uYXYge1xuICAgICAgZm9udC1zaXplOiAxNnB4O1xuICAgICAgZm9udC1zaXplOiAxcmVtOyB9IH1cbiAgLmZvb3Rlcl9fc2l0ZW1hcF9fZ3JvdXBfX25hdiB1bCB7XG4gICAgbWFyZ2luOiAwO1xuICAgIHBhZGRpbmc6IDA7XG4gICAgbGlzdC1zdHlsZTogbm9uZTsgfVxuICAuZm9vdGVyX19zaXRlbWFwX19ncm91cF9fbmF2IGxpIHtcbiAgICBtYXJnaW46IDAuOGVtIDA7IH1cblxuLmZvb3Rlcl9fbGVnYWwge1xuICBmb250LXNpemU6IDE0cHg7XG4gIGZvbnQtc2l6ZTogMC44NzVyZW07XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgYm9yZGVyLXRvcDogMXB4IHNvbGlkICM1NTU7XG4gIHBhZGRpbmctdG9wOiAzMHB4O1xuICBtYXJnaW4tdG9wOiAzMHB4OyB9XG4gIC5mb290ZXJfX2xlZ2FsIHAge1xuICAgIG1hcmdpbjogMDsgfVxuXG4vKlxuICBDT01QT05FTlQ6IEhFUk9cbiovXG4uaGVybyB7XG4gIG1heC13aWR0aDogMTkyMHB4O1xuICBtYXJnaW4tbGVmdDogYXV0bztcbiAgbWFyZ2luLXJpZ2h0OiBhdXRvOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDEyMDFweCkge1xuICAgIC5oZXJvIHtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuICAgICAgLmhlcm86YmVmb3JlLCAuaGVybzphZnRlciB7XG4gICAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICAgIGRpc3BsYXk6IHRhYmxlOyB9XG4gICAgICAuaGVybzphZnRlciB7XG4gICAgICAgIGNsZWFyOiBib3RoOyB9IH1cblxuLmhlcm9fX21lZGlhIHtcbiAgaGVpZ2h0OiAyMDBweDsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NjhweCkge1xuICAgIC5oZXJvX19tZWRpYSB7XG4gICAgICBoZWlnaHQ6IDMwMHB4OyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTIwMXB4KSB7XG4gICAgLmhlcm9fX21lZGlhIHtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHRvcDogMDtcbiAgICAgIGxlZnQ6IDA7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgIG92ZXJmbG93OiBoaWRkZW47IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMjAxcHgpIHtcbiAgICAuaGVyby0taGFsZiAuaGVyb19fbWVkaWEge1xuICAgICAgbGVmdDogYXV0bztcbiAgICAgIHJpZ2h0OiAwO1xuICAgICAgd2lkdGg6IDUwJTsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDEyMDFweCkge1xuICAgIC5oZXJvLS1oYWxmLmhlcm8tLWNvbnRlbnQtcmlnaHQgLmhlcm9fX21lZGlhIHtcbiAgICAgIGxlZnQ6IDA7XG4gICAgICByaWdodDogYXV0bzsgfSB9XG4gIC5oZXJvX19tZWRpYSBpbWcge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogMTAwJTtcbiAgICBvYmplY3QtZml0OiBjb3ZlcjsgfVxuXG4uaGVyb19fbWVkaWFfX21hc2sge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMDtcbiAgcmlnaHQ6IDA7XG4gIGJvdHRvbTogMDtcbiAgd2lkdGg6IDUwJTtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgZGlzcGxheTogbm9uZTsgfVxuICAuaGVyby0taGFsZiAuaGVyb19fbWVkaWFfX21hc2sge1xuICAgIHdpZHRoOiAxMDAlOyB9XG4gIC5oZXJvLS1jb250ZW50LXJpZ2h0IC5oZXJvX19tZWRpYV9fbWFzayB7XG4gICAgcmlnaHQ6IGF1dG87XG4gICAgbGVmdDogMDsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMjAxcHgpIHtcbiAgICAuaGVyb19fbWVkaWFfX21hc2sge1xuICAgICAgZGlzcGxheTogYmxvY2s7IH0gfVxuXG4uaGVyb19fbWVkaWFfX21hc2tfX292ZXJsYXkge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGJvcmRlci1yYWRpdXM6IDEwMCU7XG4gIGJvcmRlcjogMTUwMHB4IHNvbGlkIHJnYmEoMCwgMCwgMCwgMC43KTtcbiAgbWFyZ2luLWxlZnQ6IC0xNTAwcHg7XG4gIG1hcmdpbi10b3A6IC0xNTAwcHg7XG4gIGJveC1zaXppbmc6IGNvbnRlbnQtYm94O1xuICB0b3A6IGNhbGMoNTAlIC0gNjI1cHgpO1xuICBsZWZ0OiA0MHB4O1xuICB3aWR0aDogMTI1MHB4O1xuICBoZWlnaHQ6IDEyNTBweDsgfVxuICAuaGVyby0tY29udGVudC1yaWdodCAuaGVyb19fbWVkaWFfX21hc2tfX292ZXJsYXkge1xuICAgIGxlZnQ6IGF1dG87XG4gICAgcmlnaHQ6IDQwcHg7XG4gICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgbWFyZ2luLXJpZ2h0OiAtMTUwMHB4OyB9XG4gIC5oZXJvLS1oYWxmIC5oZXJvX19tZWRpYV9fbWFza19fb3ZlcmxheSB7XG4gICAgdG9wOiA0JTtcbiAgICBsZWZ0OiAyMCU7XG4gICAgd2lkdGg6IDU2MHB4O1xuICAgIGhlaWdodDogNTYwcHg7IH1cbiAgLmhlcm8tLWhhbGYuaGVyby0tY29udGVudC1yaWdodCAuaGVyb19fbWVkaWFfX21hc2tfX292ZXJsYXkge1xuICAgIGxlZnQ6IDIwJTtcbiAgICByaWdodDogYXV0bztcbiAgICBtYXJnaW4tbGVmdDogLTE1MDBweDtcbiAgICBtYXJnaW4tcmlnaHQ6IDA7IH1cbiAgLmhlcm8tLWludmVydCAuaGVyb19fbWVkaWFfX21hc2tfX292ZXJsYXkge1xuICAgIGJvcmRlci1jb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjgpOyB9XG5cbi5oZXJvX19jb250ZW50IHtcbiAgcGFkZGluZy1sZWZ0OiAyMHB4O1xuICBwYWRkaW5nLXJpZ2h0OiAyMHB4O1xuICBwYWRkaW5nLXRvcDogNDBweDtcbiAgcGFkZGluZy1ib3R0b206IDQwcHg7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgICAuaGVyb19fY29udGVudCB7XG4gICAgICBwYWRkaW5nLWxlZnQ6IDQwcHg7IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NjhweCkge1xuICAgIC5oZXJvX19jb250ZW50IHtcbiAgICAgIHBhZGRpbmctcmlnaHQ6IDQwcHg7IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NjhweCkge1xuICAgIC5oZXJvX19jb250ZW50IHtcbiAgICAgIHBhZGRpbmctdG9wOiA4MHB4OyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgICAuaGVyb19fY29udGVudCB7XG4gICAgICBwYWRkaW5nLWJvdHRvbTogODBweDsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDEyMDFweCkge1xuICAgIC5oZXJvX19jb250ZW50IHtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgIHotaW5kZXg6IDE7XG4gICAgICB3aWR0aDogNTAlO1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgwLCAwLCAwLCAwLjcpOyB9XG4gICAgICAuaGVyb19fY29udGVudDpiZWZvcmUsIC5oZXJvX19jb250ZW50OmFmdGVyIHtcbiAgICAgICAgY29udGVudDogXCJcIjtcbiAgICAgICAgZGlzcGxheTogdGFibGU7IH1cbiAgICAgIC5oZXJvX19jb250ZW50OmFmdGVyIHtcbiAgICAgICAgY2xlYXI6IGJvdGg7IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMjAxcHgpIHtcbiAgICAuaGVyby0tY29udGVudC1yaWdodCAuaGVyb19fY29udGVudCB7XG4gICAgICBmbG9hdDogcmlnaHQ7IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMjAxcHgpIHtcbiAgICAuaGVyby0taW52ZXJ0IC5oZXJvX19jb250ZW50IHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC44NSk7IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMjAxcHgpIHtcbiAgICAuaGVyby0tdGFsbCAuaGVyb19fY29udGVudCB7XG4gICAgICBwYWRkaW5nLXRvcDogNTBweDtcbiAgICAgIHBhZGRpbmctYm90dG9tOiA1MHB4OyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTIwMXB4KSBhbmQgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgICAuaGVyby0tdGFsbCAuaGVyb19fY29udGVudCB7XG4gICAgICBwYWRkaW5nLXRvcDogMTAwcHg7IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMjAxcHgpIGFuZCAobWluLXdpZHRoOiA3NjhweCkge1xuICAgIC5oZXJvLS10YWxsIC5oZXJvX19jb250ZW50IHtcbiAgICAgIHBhZGRpbmctYm90dG9tOiAxMDBweDsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDEyMDFweCkge1xuICAgIC5oZXJvLS14dGFsbCAuaGVyb19fY29udGVudCB7XG4gICAgICBwYWRkaW5nLXRvcDogNzBweDtcbiAgICAgIHBhZGRpbmctYm90dG9tOiA3MHB4OyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTIwMXB4KSBhbmQgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgICAuaGVyby0teHRhbGwgLmhlcm9fX2NvbnRlbnQge1xuICAgICAgcGFkZGluZy10b3A6IDE0MHB4OyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTIwMXB4KSBhbmQgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgICAuaGVyby0teHRhbGwgLmhlcm9fX2NvbnRlbnQge1xuICAgICAgcGFkZGluZy1ib3R0b206IDE0MHB4OyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTIwMXB4KSB7XG4gICAgLmhlcm8tLXh4dGFsbCAuaGVyb19fY29udGVudCB7XG4gICAgICBwYWRkaW5nLXRvcDogMTUwcHg7XG4gICAgICBwYWRkaW5nLWJvdHRvbTogMTUwcHg7IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMjAxcHgpIGFuZCAobWluLXdpZHRoOiA3NjhweCkge1xuICAgIC5oZXJvLS14eHRhbGwgLmhlcm9fX2NvbnRlbnQge1xuICAgICAgcGFkZGluZy10b3A6IDMwMHB4OyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTIwMXB4KSBhbmQgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgICAuaGVyby0teHh0YWxsIC5oZXJvX19jb250ZW50IHtcbiAgICAgIHBhZGRpbmctYm90dG9tOiAzMDBweDsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDEyMDFweCkge1xuICAuaGVyb19fY29udGVudF9faW5uZXIge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIG1heC13aWR0aDogNjYwcHg7XG4gICAgZmxvYXQ6IHJpZ2h0OyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTIwMXB4KSB7XG4gIC5oZXJvLS1jb250ZW50LXJpZ2h0IC5oZXJvX19jb250ZW50X19pbm5lciB7XG4gICAgZmxvYXQ6IGxlZnQ7IH0gfVxuXG4uaGVyb19fY29weSB7XG4gIHRleHQtYWxpZ246IGNlbnRlcjsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMjAxcHgpIHtcbiAgICAuaGVyb19fY29weSB7XG4gICAgICB0ZXh0LWFsaWduOiBsZWZ0OyB9IH1cbiAgLmhlcm9fX2NvcHkgLmxlYWQge1xuICAgIG1hcmdpbjogMC44ZW0gMDsgfVxuICAuaGVyb19fY29weSA+ICo6Zmlyc3QtY2hpbGQge1xuICAgIG1hcmdpbi10b3A6IDA7IH1cbiAgLmhlcm9fX2NvcHkgPiAqOmxhc3QtY2hpbGQge1xuICAgIG1hcmdpbi1ib3R0b206IDA7IH1cblxuLmhlcm9fX2NvcHlfX3RpdGxlIHtcbiAgbWFyZ2luLWJvdHRvbTogMC44ZW07IH1cbiAgLmhlcm9fX2NvcHlfX3RpdGxlLmgtcHJpbWFyeSB7XG4gICAgbWFyZ2luLWJvdHRvbTogMC40ZW07IH1cblxuLmhlcm9fX2NvcHlfX2FjdGlvbiB7XG4gIG1hcmdpbjogMi40ZW0gMDsgfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMjAxcHgpIHtcbiAgLmhlcm9fX2NvcHlfX2luZGVudCB7XG4gICAgcGFkZGluZy1sZWZ0OiA4MHB4OyB9IH1cblxuLypcbiAgQ09NUE9ORU5UOiBJTUFHRVxuKi9cbi5pbWFnZSB7XG4gIG1heC13aWR0aDogMTQwMHB4O1xuICBtYXJnaW4tbGVmdDogYXV0bztcbiAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cblxuLypcbiAgQ09NUE9ORU5UOiBJTUFHRVNFVFxuKi9cbi5pbWFnZXNldCB7XG4gIG1heC13aWR0aDogMTQwMHB4O1xuICBtYXJnaW4tbGVmdDogYXV0bztcbiAgbWFyZ2luLXJpZ2h0OiBhdXRvOyB9XG5cbi5pbWFnZXNldF9faW5uZXIge1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIHdvcmQtc3BhY2luZzogLTRweDtcbiAgbWFyZ2luLWxlZnQ6IDA7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgICAuaW1hZ2VzZXRfX2lubmVyIHtcbiAgICAgIG1hcmdpbi1sZWZ0OiAwOyB9IH1cblxuLmltYWdlc2V0X19tYWluIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB3b3JkLXNwYWNpbmc6IG5vcm1hbDtcbiAgdmVydGljYWwtYWxpZ246IHRvcDtcbiAgcGFkZGluZy1sZWZ0OiAwO1xuICB3aWR0aDogMTAwJTsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NjhweCkge1xuICAgIC5pbWFnZXNldF9fbWFpbiB7XG4gICAgICBwYWRkaW5nLWxlZnQ6IDA7IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NDBweCkge1xuICAgIC5pbWFnZXNldF9fbWFpbiB7XG4gICAgICB3aWR0aDogNTAlOyB9IH1cblxuLmltYWdlc2V0X19zdWIge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHdvcmQtc3BhY2luZzogbm9ybWFsO1xuICB2ZXJ0aWNhbC1hbGlnbjogdG9wO1xuICBwYWRkaW5nLWxlZnQ6IDA7XG4gIHdpZHRoOiAxMDAlOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gICAgLmltYWdlc2V0X19zdWIge1xuICAgICAgcGFkZGluZy1sZWZ0OiAwOyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjQwcHgpIHtcbiAgICAuaW1hZ2VzZXRfX3N1YiB7XG4gICAgICB3aWR0aDogNTAlOyB9IH1cblxuLypcbiAgQ09NUE9ORU5UOiBpbmZvLXNldFxuKi9cbi5pbmZvLXNldCB7XG4gIG1heC13aWR0aDogMTQwMHB4O1xuICBtYXJnaW4tbGVmdDogYXV0bztcbiAgbWFyZ2luLXJpZ2h0OiBhdXRvOyB9XG5cbi5pbmZvLXNldF9faW5uZXIge1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIHdvcmQtc3BhY2luZzogLTRweDtcbiAgbWFyZ2luLWxlZnQ6IC0yMHB4OyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gICAgLmluZm8tc2V0X19pbm5lciB7XG4gICAgICBtYXJnaW4tbGVmdDogLTQwcHg7IH0gfVxuXG4uaW5mby1zZXRfX3BhbmVsIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB3b3JkLXNwYWNpbmc6IG5vcm1hbDtcbiAgdmVydGljYWwtYWxpZ246IHRvcDtcbiAgcGFkZGluZy1sZWZ0OiAyMHB4O1xuICB3aWR0aDogMTAwJTtcbiAgd2lkdGg6IDEwMCU7XG4gIG1hcmdpbi10b3A6IC0zMHB4OyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gICAgLmluZm8tc2V0X19wYW5lbCB7XG4gICAgICBwYWRkaW5nLWxlZnQ6IDQwcHg7IH0gfVxuICAuaW5mby1zZXRfX3BhbmVsOmZpcnN0LWNoaWxkIHtcbiAgICBtYXJnaW4tdG9wOiAwOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDEwMjRweCkge1xuICAgIC5pbmZvLXNldF9fcGFuZWwge1xuICAgICAgbWFyZ2luLXRvcDogMDtcbiAgICAgIHRleHQtYWxpZ246IGxlZnQ7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMDI0cHgpIHtcbiAgLmluZm8tc2V0X19wYW5lbC0taGFsZiB7XG4gICAgd2lkdGg6IDUwJTsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDEwMjRweCkge1xuICAuaW5mby1zZXRfX3BhbmVsLS1xdWFydGVyIHtcbiAgICB3aWR0aDogMjUlOyB9IH1cblxuLmluZm8tc2V0X19wYW5lbF9faW5uZXIge1xuICBwYWRkaW5nOiAzMHB4IDIwcHg7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTAyNHB4KSB7XG4gICAgLmluZm8tc2V0LS1iZ2ZpbGwgLmluZm8tc2V0X19wYW5lbDpmaXJzdC1jaGlsZCAuaW5mby1zZXRfX3BhbmVsX19pbm5lciB7XG4gICAgICBwYWRkaW5nLXJpZ2h0OiAwOyB9XG4gICAgLmluZm8tc2V0LS1iZ2ZpbGwgLmluZm8tc2V0X19wYW5lbDpsYXN0LWNoaWxkIC5pbmZvLXNldF9fcGFuZWxfX2lubmVyIHtcbiAgICAgIHBhZGRpbmctbGVmdDogMDsgfVxuICAgIC5pbmZvLXNldC0tYmdmaWxsIC5pbmZvLXNldF9fcGFuZWw6bm90KDpmaXJzdC1jaGlsZCk6bm90KDpsYXN0LWNoaWxkKSAuaW5mby1zZXRfX3BhbmVsX19pbm5lciB7XG4gICAgICBwYWRkaW5nLWxlZnQ6IDA7XG4gICAgICBwYWRkaW5nLXJpZ2h0OiAwOyB9IH1cblxuLmluZm8tc2V0X19wYW5lbF9fYWN0aW9uIHtcbiAgdGV4dC1hbGlnbjogY2VudGVyOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDEwMjRweCkge1xuICAgIC5pbmZvLXNldF9fcGFuZWxfX2FjdGlvbiB7XG4gICAgICBtYXJnaW46IDIxcHggMDsgfSB9XG4gIC5pbmZvLXNldF9fcGFuZWxfX2FjdGlvbi0tdG9wLXBhZCB7XG4gICAgcGFkZGluZy10b3A6IDE2cHg7IH1cblxuLypcbiAgQ09NUE9ORU5UOiBMQUJFTExFRCBJTUFHRVxuKi9cbi5sYWJlbGxlZC1pbWFnZXMge1xuICBtYXgtd2lkdGg6IDY4MHB4O1xuICBtYXJnaW4tbGVmdDogYXV0bztcbiAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cbiAgLmxhYmVsbGVkLWltYWdlcyBpbWcge1xuICAgIG1hcmdpbjogMjBweCAxMHB4IDA7XG4gICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0MHB4KSB7XG4gICAgICAubGFiZWxsZWQtaW1hZ2VzIGltZyB7XG4gICAgICAgIG1hcmdpbi10b3A6IDA7IH0gfVxuXG4ubGFiZWxsZWQtaW1hZ2VzX19sYWJlbCB7XG4gIGZvbnQtZmFtaWx5OiBcIk9zd2FsZFwiLCBzYW5zLXNlcmlmO1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICBmb250LXdlaWdodDogbm9ybWFsO1xuICBsaW5lLWhlaWdodDogMS42O1xuICBmb250LXNpemU6IDIwcHg7XG4gIGZvbnQtc2l6ZTogMS4yNXJlbTtcbiAgZGlzcGxheTogYmxvY2s7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjQwcHgpIHtcbiAgICAubGFiZWxsZWQtaW1hZ2VzX19sYWJlbCB7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDE1cHg7IH0gfVxuXG4vKlxuICBDT01QT05FTlQ6IExPQURcbiovXG4ubG9hZCB7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgbWF4LXdpZHRoOiA2ODBweDtcbiAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gIG1hcmdpbi1yaWdodDogYXV0bzsgfVxuXG4ubG9hZF9fbG9hZGVyIHtcbiAgbWFyZ2luOiAyMHB4IGF1dG87XG4gIHdpZHRoOiA1MHB4O1xuICBoZWlnaHQ6IDUwcHg7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgdGV4dC1pbmRlbnQ6IC05OTllbTsgfVxuICAubG9hZF9fbG9hZGVyOmJlZm9yZSwgLmxvYWRfX2xvYWRlcjphZnRlciB7XG4gICAgY29udGVudDogXCJcIjtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgYm9yZGVyLXJhZGl1czogNTAlO1xuICAgIG9wYWNpdHk6IDAuNjtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAwO1xuICAgIGxlZnQ6IDA7XG4gICAgYW5pbWF0aW9uOiBib3VuY2UgMi4wcyBpbmZpbml0ZSBlYXNlLWluLW91dDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZDE0NDE0OyB9XG4gIC5sb2FkX19sb2FkZXI6YWZ0ZXIge1xuICAgIGFuaW1hdGlvbi1kZWxheTogLTEuMHM7IH1cblxuLmxvYWRfX2xvYWRlci0taW52ZXJ0OmJlZm9yZSwgLmxvYWRfX2xvYWRlci0taW52ZXJ0OmFmdGVyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjsgfVxuXG4ubG9hZF9fbG9hZGVyLS1scmcge1xuICB3aWR0aDogMTAwcHg7XG4gIGhlaWdodDogMTAwcHg7IH1cblxuLmxvYWRfX2Vycm9yIHtcbiAgbWFyZ2luOiAyMHB4IGF1dG87XG4gIGNvbG9yOiAjZDE0NDE0O1xuICBmb250LXN0eWxlOiBpdGFsaWM7IH1cblxuQC13ZWJraXQta2V5ZnJhbWVzIGJvdW5jZSB7XG4gIDAlLCAxMDAlIHtcbiAgICB0cmFuc2Zvcm06IHNjYWxlKDApOyB9XG4gIDUwJSB7XG4gICAgdHJhbnNmb3JtOiBzY2FsZSgxKTsgfSB9XG5cbkAtbW96LWtleWZyYW1lcyBib3VuY2Uge1xuICAwJSwgMTAwJSB7XG4gICAgdHJhbnNmb3JtOiBzY2FsZSgwKTsgfVxuICA1MCUge1xuICAgIHRyYW5zZm9ybTogc2NhbGUoMSk7IH0gfVxuXG5ALW1zLWtleWZyYW1lcyBib3VuY2Uge1xuICAwJSwgMTAwJSB7XG4gICAgdHJhbnNmb3JtOiBzY2FsZSgwKTsgfVxuICA1MCUge1xuICAgIHRyYW5zZm9ybTogc2NhbGUoMSk7IH0gfVxuXG5Aa2V5ZnJhbWVzIGJvdW5jZSB7XG4gIDAlLCAxMDAlIHtcbiAgICB0cmFuc2Zvcm06IHNjYWxlKDApOyB9XG4gIDUwJSB7XG4gICAgdHJhbnNmb3JtOiBzY2FsZSgxKTsgfSB9XG5cbi8qXG4gIENPTVBPTkVOVDogTUFQXG4qL1xuLm1hcCB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuXG4ubWFwX19lbWJlZCB7XG4gIHdpZHRoOiAxMDAlO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMDtcbiAgbGVmdDogMDtcbiAgbWluLWhlaWdodDogMTAwJTtcbiAgaGVpZ2h0OiBhdXRvICFpbXBvcnRhbnQ7XG4gIGRpc3BsYXk6IG5vbmU7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjQwcHgpIHtcbiAgICAubWFwX19lbWJlZCB7XG4gICAgICBkaXNwbGF5OiBibG9jazsgfSB9XG5cbi5tYXBfX2ZhbGxiYWNrIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGNvbG9yOiBpbmhlcml0O1xuICBib3JkZXItYm90dG9tOiBpbmhlcml0O1xuICBib3JkZXItYm90dG9tOiAwOyB9XG4gIC5tYXBfX2ZhbGxiYWNrIGltZyB7XG4gICAgd2lkdGg6IDEwMCU7IH1cblxuLypcbiAgQ09NUE9ORU5UOiBNQVNPTlJZXG4qL1xuLm1hc29ucnkge1xuICBtYXgtd2lkdGg6IDE0MDBweDtcbiAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gIG1hcmdpbi1yaWdodDogYXV0bzsgfVxuXG4ubWFzb25yeV9fbGlzdCB7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgd29yZC1zcGFjaW5nOiAtNHB4O1xuICBtYXJnaW4tbGVmdDogLTIwcHg7XG4gIG1hcmdpbi10b3A6IC0yMHB4OyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gICAgLm1hc29ucnlfX2xpc3Qge1xuICAgICAgbWFyZ2luLWxlZnQ6IC00MHB4OyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgICAubWFzb25yeV9fbGlzdCB7XG4gICAgICBtYXJnaW4tdG9wOiAtNDBweDsgfSB9XG5cbi5tYXNvbnJ5X19pdGVtIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB3b3JkLXNwYWNpbmc6IG5vcm1hbDtcbiAgdmVydGljYWwtYWxpZ246IHRvcDtcbiAgcGFkZGluZy1sZWZ0OiAyMHB4O1xuICB3aWR0aDogMTAwJTtcbiAgbWFyZ2luLXRvcDogMjBweDtcbiAgd2lkdGg6IDEwMCU7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgICAubWFzb25yeV9faXRlbSB7XG4gICAgICBwYWRkaW5nLWxlZnQ6IDQwcHg7IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NjhweCkge1xuICAgIC5tYXNvbnJ5X19pdGVtIHtcbiAgICAgIG1hcmdpbi10b3A6IDQwcHg7IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NDBweCkge1xuICAgIC5tYXNvbnJ5X19pdGVtIHtcbiAgICAgIHdpZHRoOiA1MCU7IH0gfVxuXG4ubWFzb25yeV9fbW9yZSB7XG4gIG1hcmdpbi10b3A6IDMwcHg7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB3b3JkLXNwYWNpbmc6IG5vcm1hbDtcbiAgdmVydGljYWwtYWxpZ246IHRvcDtcbiAgcGFkZGluZy1sZWZ0OiAyMHB4O1xuICB3aWR0aDogMTAwJTtcbiAgd2lkdGg6IDEwMCU7XG4gIGRpc3BsYXk6IGJsb2NrOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gICAgLm1hc29ucnlfX21vcmUge1xuICAgICAgbWFyZ2luLXRvcDogNjBweDsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gICAgLm1hc29ucnlfX21vcmUge1xuICAgICAgcGFkZGluZy1sZWZ0OiA0MHB4OyB9IH1cblxuLm1hc29ucnlfX2xvYWQge1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgd29yZC1zcGFjaW5nOiBub3JtYWw7XG4gIHZlcnRpY2FsLWFsaWduOiB0b3A7XG4gIHBhZGRpbmctbGVmdDogMjBweDtcbiAgd2lkdGg6IDEwMCU7XG4gIHdpZHRoOiAxMDAlO1xuICBkaXNwbGF5OiBibG9jazsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NjhweCkge1xuICAgIC5tYXNvbnJ5X19sb2FkIHtcbiAgICAgIHBhZGRpbmctbGVmdDogNDBweDsgfSB9XG5cbi8qXG4gIENPTVBPTkVOVDogTUFTVEhFQURcbiovXG4ubWFzdGhlYWRfX2lubmVyIHtcbiAgbWF4LXdpZHRoOiAxNDAwcHg7XG4gIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICBtYXJnaW4tcmlnaHQ6IGF1dG87XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgcGFkZGluZzogMjBweDsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0ODBweCkge1xuICAgIC5tYXN0aGVhZF9faW5uZXI6YmVmb3JlLCAubWFzdGhlYWRfX2lubmVyOmFmdGVyIHtcbiAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICBkaXNwbGF5OiB0YWJsZTsgfVxuICAgIC5tYXN0aGVhZF9faW5uZXI6YWZ0ZXIge1xuICAgICAgY2xlYXI6IGJvdGg7IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMDI0cHgpIHtcbiAgICAubWFzdGhlYWRfX2lubmVyIHtcbiAgICAgIHBhZGRpbmctdG9wOiA0MHB4OyB9IH1cblxuLm1hc3RoZWFkX19sb2dvIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBtYXgtd2lkdGg6IDIwMHB4OyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4MHB4KSB7XG4gICAgLm1hc3RoZWFkX19sb2dvIHtcbiAgICAgIGZsb2F0OiBsZWZ0OyB9IH1cbiAgLm1hc3RoZWFkX19sb2dvIGEge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIGJvcmRlcjogMCAhaW1wb3J0YW50OyB9XG5cbi5tYXN0aGVhZF9fbmF2IHtcbiAgZm9udC1mYW1pbHk6IFwiT3N3YWxkXCIsIHNhbnMtc2VyaWY7XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gIGxpbmUtaGVpZ2h0OiAxLjY7XG4gIGZvbnQtc2l6ZTogMTZweDtcbiAgZm9udC1zaXplOiAxcmVtO1xuICBkaXNwbGF5OiBub25lOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgwMHB4KSB7XG4gICAgLm1hc3RoZWFkX19uYXYge1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICBmbG9hdDogcmlnaHQ7XG4gICAgICBtYXJnaW4tdG9wOiAzMHB4OyB9IH1cblxuLm1hc3RoZWFkX19uYXZfX2xpc3Qge1xuICBtYXJnaW46IDA7XG4gIHBhZGRpbmc6IDA7XG4gIGxpc3Qtc3R5bGU6IG5vbmU7IH1cbiAgLm1hc3RoZWFkX19uYXZfX2xpc3Q6YmVmb3JlLCAubWFzdGhlYWRfX25hdl9fbGlzdDphZnRlciB7XG4gICAgY29udGVudDogXCJcIjtcbiAgICBkaXNwbGF5OiB0YWJsZTsgfVxuICAubWFzdGhlYWRfX25hdl9fbGlzdDphZnRlciB7XG4gICAgY2xlYXI6IGJvdGg7IH1cblxuLm1hc3RoZWFkX19uYXZfX2l0ZW0ge1xuICBtYXJnaW46IDA7XG4gIGZsb2F0OiBsZWZ0O1xuICBtYXJnaW4tbGVmdDogNTBweDsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMjAxcHgpIHtcbiAgICAubWFzdGhlYWRfX25hdl9faXRlbSB7XG4gICAgICBtYXJnaW4tbGVmdDogODBweDsgfSB9XG4gIC5tYXN0aGVhZF9fbmF2X19pdGVtID4gYSB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgYm9yZGVyLWJvdHRvbS1jb2xvcjogdHJhbnNwYXJlbnQ7IH1cbiAgICAubWFzdGhlYWRfX25hdl9faXRlbSA+IGE6aG92ZXIge1xuICAgICAgYm9yZGVyLWNvbG9yOiAjMmVhMzkzOyB9XG5cbi5tYXN0aGVhZF9fbmF2X19pdGVtLS1iYXNrZXQge1xuICBjb2xvcjogIzJlYTM5MzsgfVxuICAubWFzdGhlYWRfX25hdl9faXRlbS0tYmFza2V0IGkge1xuICAgIGZvbnQtc2l6ZTogMjRweDtcbiAgICBmb250LXNpemU6IDEuNXJlbTtcbiAgICBmbG9hdDogbGVmdDtcbiAgICBtYXJnaW4tcmlnaHQ6IDEycHg7XG4gICAgY29sb3I6ICMzNjM2MzY7IH1cblxuLm1hc3RoZWFkX19uYXZfX2l0ZW0tLXNlYXJjaCB7XG4gIG1hcmdpbi10b3A6IC0wLjJlbTtcbiAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG5cbi5tYXN0aGVhZF9fbmF2X19zZWFyY2hfX3RvZ2dsZSB7XG4gIGNvbG9yOiBpbmhlcml0O1xuICBib3JkZXItYm90dG9tOiBpbmhlcml0O1xuICBib3JkZXItYm90dG9tOiAwOyB9XG4gIC5uby1qcyAubWFzdGhlYWRfX25hdl9fc2VhcmNoX190b2dnbGUge1xuICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgLm1hc3RoZWFkX19uYXZfX3NlYXJjaF9fdG9nZ2xlIGkge1xuICAgIGZvbnQtc2l6ZTogMzBweDtcbiAgICBmb250LXNpemU6IDEuODc1cmVtOyB9XG4gIC5tYXN0aGVhZF9fbmF2X19zZWFyY2hfX3RvZ2dsZTpob3ZlciBpLCAubWFzdGhlYWRfX25hdl9fc2VhcmNoX190b2dnbGU6Zm9jdXMgaSB7XG4gICAgY29sb3I6ICMyZWEzOTM7IH1cbiAgW2RhdGEtc2VhcmNoLXN0YXRlPVwiYWN0aXZlXCJdIC5tYXN0aGVhZF9fbmF2X19zZWFyY2hfX3RvZ2dsZS5tYXN0aGVhZF9fbmF2X19zZWFyY2hfX3RvZ2dsZS0tc2hvdyB7XG4gICAgZGlzcGxheTogbm9uZTsgfVxuICAubWFzdGhlYWRfX25hdl9fc2VhcmNoX190b2dnbGUubWFzdGhlYWRfX25hdl9fc2VhcmNoX190b2dnbGUtLWhpZGUge1xuICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgICBbZGF0YS1zZWFyY2gtc3RhdGU9XCJhY3RpdmVcIl0gLm1hc3RoZWFkX19uYXZfX3NlYXJjaF9fdG9nZ2xlLm1hc3RoZWFkX19uYXZfX3NlYXJjaF9fdG9nZ2xlLS1oaWRlIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrOyB9XG5cbi5tYXN0aGVhZF9fbmF2X19zZWFyY2hfX2Zvcm0ge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIHRvcDogLTEycHg7XG4gIHJpZ2h0OiAxMzAlO1xuICB3aWR0aDogMDtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgYmFja2dyb3VuZDogI2ViZWJlYjtcbiAgdHJhbnNpdGlvbjogd2lkdGggMC4zcyBlYXNlOyB9XG4gIC5uby1qcyAubWFzdGhlYWRfX25hdl9fc2VhcmNoX19mb3JtIHtcbiAgICB3aWR0aDogYXV0bztcbiAgICBwb3NpdGlvbjogc3RhdGljOyB9XG4gIFtkYXRhLXNlYXJjaC1zdGF0ZT1cImFjdGl2ZVwiXSAubWFzdGhlYWRfX25hdl9fc2VhcmNoX19mb3JtIHtcbiAgICB3aWR0aDogNDQwcHg7XG4gICAgb3ZlcmZsb3c6IHZpc2libGU7IH1cblxuLm1hc3RoZWFkX19kb25hdGUge1xuICBtYXJnaW4tdG9wOiA0MHB4OyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4MHB4KSB7XG4gICAgLm1hc3RoZWFkX19kb25hdGUge1xuICAgICAgZmxvYXQ6IHJpZ2h0O1xuICAgICAgbWFyZ2luLXRvcDogMjBweDsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgwMHB4KSB7XG4gICAgLm1hc3RoZWFkX19kb25hdGUge1xuICAgICAgZGlzcGxheTogbm9uZTsgfSB9XG5cbi5lYXN5LWF1dG9jb21wbGV0ZSB7XG4gIHdpZHRoOiBhdXRvICFpbXBvcnRhbnQ7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuXG4uZWFzeS1hdXRvY29tcGxldGUtY29udGFpbmVyIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDEwMCU7XG4gIGxlZnQ6IDA7XG4gIHdpZHRoOiAxMDAlO1xuICB6LWluZGV4OiA5OTk7IH1cbiAgLmVhc3ktYXV0b2NvbXBsZXRlLWNvbnRhaW5lciB1bCB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgIGJhY2tncm91bmQ6ICNmZmY7XG4gICAgbWFyZ2luOiAtMXB4O1xuICAgIGJvcmRlcjogMXB4IHNvbGlkICNlYmViZWI7XG4gICAgcGFkZGluZzogMTBweDtcbiAgICBsaXN0LXN0eWxlOiBub25lOyB9XG4gIC5lYXN5LWF1dG9jb21wbGV0ZS1jb250YWluZXIgbGkge1xuICAgIG1hcmdpbjogMDsgfVxuICAgIC5lYXN5LWF1dG9jb21wbGV0ZS1jb250YWluZXIgbGkuc2VsZWN0ZWQge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2ViZWJlYjsgfVxuICAgIC5lYXN5LWF1dG9jb21wbGV0ZS1jb250YWluZXIgbGkgYiB7XG4gICAgICBmb250LXdlaWdodDogbm9ybWFsOyB9XG5cbi8qXG4gIENPTVBPTkVOVDogTUVESUEgQkxPQ0sgR1JJRFxuKi9cbi5tZWRpYS1ibG9jay1ncmlkIHtcbiAgbWF4LXdpZHRoOiAxNDAwcHg7XG4gIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICBtYXJnaW4tcmlnaHQ6IGF1dG87IH1cblxuLm1lZGlhLWJsb2NrLWdyaWRfX2lubmVyIHtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICB3b3JkLXNwYWNpbmc6IC00cHg7XG4gIG1hcmdpbi1sZWZ0OiAtMjBweDtcbiAgbWFyZ2luLWJvdHRvbTogLTIwcHg7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgICAubWVkaWEtYmxvY2stZ3JpZF9faW5uZXIge1xuICAgICAgbWFyZ2luLWxlZnQ6IC00MHB4OyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgICAubWVkaWEtYmxvY2stZ3JpZF9faW5uZXIge1xuICAgICAgbWFyZ2luLWJvdHRvbTogLTQwcHg7IH0gfVxuXG4ubWVkaWEtYmxvY2stZ3JpZF9faXRlbSB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgd29yZC1zcGFjaW5nOiBub3JtYWw7XG4gIHZlcnRpY2FsLWFsaWduOiB0b3A7XG4gIHBhZGRpbmctbGVmdDogMjBweDtcbiAgd2lkdGg6IDEwMCU7XG4gIG1hcmdpbi1ib3R0b206IDIwcHg7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgICAubWVkaWEtYmxvY2stZ3JpZF9faXRlbSB7XG4gICAgICBwYWRkaW5nLWxlZnQ6IDQwcHg7IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NjhweCkge1xuICAgIC5tZWRpYS1ibG9jay1ncmlkX19pdGVtIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDQwcHg7IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NjhweCkge1xuICAgIC5tZWRpYS1ibG9jay1ncmlkX19pdGVtIHtcbiAgICAgIHdpZHRoOiA1MCU7IH0gfVxuXG4vKlxuICBDT01QT05FTlQ6IE1FRElBIEJMT0NLIExJU1RcbiovXG4ubWVkaWEtYmxvY2stbGlzdCB7XG4gIG1heC13aWR0aDogOTIwcHg7XG4gIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICBtYXJnaW4tcmlnaHQ6IGF1dG87IH1cblxuLm1lZGlhLWJsb2NrLWxpc3RfX2l0ZW0ge1xuICBtYXJnaW46IDIwcHggYXV0bzsgfVxuICAubWVkaWEtYmxvY2stbGlzdF9faXRlbTpmaXJzdC1jaGlsZCB7XG4gICAgbWFyZ2luLXRvcDogMDsgfVxuICAubWVkaWEtYmxvY2stbGlzdF9faXRlbTpsYXN0LWNoaWxkIHtcbiAgICBtYXJnaW4tYm90dG9tOiAwOyB9XG5cbi8qXG4gIENPTVBPTkVOVDogTUVESUEgQkxPQ0tcbiovXG4ubWVkaWEtYmxvY2sge1xuICBtYXgtd2lkdGg6IDkyMHB4O1xuICBtYXJnaW4tbGVmdDogYXV0bztcbiAgbWFyZ2luLXJpZ2h0OiBhdXRvOyB9XG4gIC5tZWRpYS1ibG9jay0tbHJnIHtcbiAgICBtYXgtd2lkdGg6IDE0MDBweDsgfVxuXG4ubWVkaWEtYmxvY2stLXBhZGRlZCwgLm1lZGlhLWJsb2NrLS1rZXlsaW5lLFxuLm1lZGlhLWJsb2NrW2NsYXNzKj1cImNsci1cIl0ge1xuICBwYWRkaW5nLWxlZnQ6IDIwcHg7XG4gIHBhZGRpbmctcmlnaHQ6IDIwcHg7XG4gIHBhZGRpbmctdG9wOiAyMHB4O1xuICBwYWRkaW5nLWJvdHRvbTogMzBweDsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NjhweCkge1xuICAgIC5tZWRpYS1ibG9jay0tcGFkZGVkLCAubWVkaWEtYmxvY2stLWtleWxpbmUsXG4gICAgLm1lZGlhLWJsb2NrW2NsYXNzKj1cImNsci1cIl0ge1xuICAgICAgcGFkZGluZy1sZWZ0OiA0MHB4OyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgICAubWVkaWEtYmxvY2stLXBhZGRlZCwgLm1lZGlhLWJsb2NrLS1rZXlsaW5lLFxuICAgIC5tZWRpYS1ibG9ja1tjbGFzcyo9XCJjbHItXCJdIHtcbiAgICAgIHBhZGRpbmctcmlnaHQ6IDQwcHg7IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NjhweCkge1xuICAgIC5tZWRpYS1ibG9jay0tcGFkZGVkLCAubWVkaWEtYmxvY2stLWtleWxpbmUsXG4gICAgLm1lZGlhLWJsb2NrW2NsYXNzKj1cImNsci1cIl0ge1xuICAgICAgcGFkZGluZy10b3A6IDQwcHg7IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NjhweCkge1xuICAgIC5tZWRpYS1ibG9jay0tcGFkZGVkLCAubWVkaWEtYmxvY2stLWtleWxpbmUsXG4gICAgLm1lZGlhLWJsb2NrW2NsYXNzKj1cImNsci1cIl0ge1xuICAgICAgcGFkZGluZy1ib3R0b206IDQwcHg7IH0gfVxuXG4ubWVkaWEtYmxvY2stLWtleWxpbmUge1xuICBib3JkZXI6IDFweCBzb2xpZCAjZWJlYmViOyB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDEwMjRweCkge1xuICAubWVkaWEtYmxvY2stLWNvdmVyIHtcbiAgICBwYWRkaW5nOiAwICFpbXBvcnRhbnQ7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlOyB9IH1cblxuLm1lZGlhLWJsb2NrX19pbm5lciB7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgd29yZC1zcGFjaW5nOiAtNHB4O1xuICBtYXJnaW4tbGVmdDogLTIwcHg7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgICAubWVkaWEtYmxvY2tfX2lubmVyIHtcbiAgICAgIG1hcmdpbi1sZWZ0OiAtNDBweDsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDEwMjRweCkge1xuICAgIC5tZWRpYS1ibG9jay0tY292ZXIgLm1lZGlhLWJsb2NrX19pbm5lciB7XG4gICAgICBkaXNwbGF5OiBmbGV4OyB9IH1cblxuLm1lZGlhLWJsb2NrX19tZWRpYSB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgd29yZC1zcGFjaW5nOiBub3JtYWw7XG4gIHZlcnRpY2FsLWFsaWduOiB0b3A7XG4gIHBhZGRpbmctbGVmdDogMjBweDtcbiAgd2lkdGg6IDEwMCU7XG4gIG1hcmdpbi1ib3R0b206IDMwcHg7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgICAubWVkaWEtYmxvY2tfX21lZGlhIHtcbiAgICAgIHBhZGRpbmctbGVmdDogNDBweDsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDEwMjRweCkge1xuICAgIC5tZWRpYS1ibG9ja19fbWVkaWEge1xuICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICAgIHdpZHRoOiA1MCU7IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMDI0cHgpIHtcbiAgICAubWVkaWEtYmxvY2stLWNvdmVyIC5tZWRpYS1ibG9ja19fbWVkaWEge1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgZGlzcGxheTogZmxleDsgfSB9XG5cbi5tZWRpYS1ibG9ja19fbWVkaWFfX2lubmVyIHtcbiAgbWF4LXdpZHRoOiA0NDBweDtcbiAgbWFyZ2luOiAwIGF1dG87XG4gIHdpZHRoOiAxMDAlOyB9XG4gIC5tZWRpYS1ibG9jay0tbHJnIC5tZWRpYS1ibG9ja19fbWVkaWFfX2lubmVyIHtcbiAgICBtYXgtd2lkdGg6IG5vbmU7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTAyNHB4KSB7XG4gICAgLm1lZGlhLWJsb2NrLS1jb3ZlciAubWVkaWEtYmxvY2tfX21lZGlhX19pbm5lciB7XG4gICAgICBkaXNwbGF5OiBmbGV4OyB9XG4gICAgICAubWVkaWEtYmxvY2stLWNvdmVyIC5tZWRpYS1ibG9ja19fbWVkaWFfX2lubmVyIGltZyB7XG4gICAgICAgIG9iamVjdC1maXQ6IGNvdmVyOyB9IH1cbiAgLm1lZGlhLWJsb2NrX19tZWRpYV9faW5uZXIgYSB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgYm9yZGVyOiAwICFpbXBvcnRhbnQ7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMDI0cHgpIHtcbiAgICAgIC5tZWRpYS1ibG9jay0tY292ZXIgLm1lZGlhLWJsb2NrX19tZWRpYV9faW5uZXIgYSB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7IH0gfVxuXG4ubWVkaWEtYmxvY2tfX21lZGlhX19maWd1cmUge1xuICBtYXJnaW46IDA7IH1cblxuLm1lZGlhLWJsb2NrX19tZWRpYV9fbWFwIHtcbiAgbWF4LXdpZHRoOiA2ODBweDtcbiAgbWFyZ2luOiAwIGF1dG87IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTAyNHB4KSB7XG4gICAgLm1lZGlhLWJsb2NrX19tZWRpYV9fbWFwIHtcbiAgICAgIG1heC13aWR0aDogbm9uZTtcbiAgICAgIG1hcmdpbjogMDtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgZGlzcGxheTogZmxleDsgfSB9XG5cbi5tZWRpYS1ibG9ja19fbWVkaWFfX21hcF9fbGluayB7XG4gIGNvbG9yOiBpbmhlcml0O1xuICBib3JkZXItYm90dG9tOiBpbmhlcml0O1xuICBib3JkZXI6IDAgIWltcG9ydGFudDsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMDI0cHgpIHtcbiAgICAubWVkaWEtYmxvY2tfX21lZGlhX19tYXBfX2xpbmsge1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIHdpZHRoOiAxMDAlOyB9IH1cblxuLm1lZGlhLWJsb2NrX19jb3B5IHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB3b3JkLXNwYWNpbmc6IG5vcm1hbDtcbiAgdmVydGljYWwtYWxpZ246IHRvcDtcbiAgcGFkZGluZy1sZWZ0OiAyMHB4O1xuICB3aWR0aDogMTAwJTtcbiAgbWF4LXdpZHRoOiA3MDBweDsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NjhweCkge1xuICAgIC5tZWRpYS1ibG9ja19fY29weSB7XG4gICAgICBwYWRkaW5nLWxlZnQ6IDQwcHg7IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NjhweCkge1xuICAgIC5tZWRpYS1ibG9ja19fY29weSB7XG4gICAgICBtYXgtd2lkdGg6IDcyMHB4OyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTAyNHB4KSB7XG4gICAgLm1lZGlhLWJsb2NrX19jb3B5IHtcbiAgICAgIHdpZHRoOiA1MCU7XG4gICAgICB0ZXh0LWFsaWduOiBsZWZ0OyB9IH1cbiAgLm1lZGlhLWJsb2NrLS1uby1tZWRpYSAubWVkaWEtYmxvY2tfX2NvcHkge1xuICAgIG1heC13aWR0aDogbm9uZTtcbiAgICB3aWR0aDogMTAwJTsgfVxuXG4ubWVkaWEtYmxvY2tfX2NvcHlfX2lubmVyIHtcbiAgcGFkZGluZzogMCAxMHB4OyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDEwMjRweCkge1xuICAgIC5tZWRpYS1ibG9ja19fY29weV9faW5uZXIge1xuICAgICAgcGFkZGluZzogMDsgfSB9XG4gIC5tZWRpYS1ibG9jay0tcGFkZGVkIC5tZWRpYS1ibG9ja19fY29weV9faW5uZXIsIC5tZWRpYS1ibG9jay0ta2V5bGluZSAubWVkaWEtYmxvY2tfX2NvcHlfX2lubmVyLFxuICAubWVkaWEtYmxvY2tbY2xhc3MqPVwiY2xyLVwiXSAubWVkaWEtYmxvY2tfX2NvcHlfX2lubmVyIHtcbiAgICBwYWRkaW5nOiAwOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDEwMjRweCkge1xuICAgIC5tZWRpYS1ibG9jay0tcGFkZGVkLm1lZGlhLWJsb2NrLS1jb3ZlciAubWVkaWEtYmxvY2tfX2NvcHlfX2lubmVyLCAubWVkaWEtYmxvY2stLWNvdmVyLm1lZGlhLWJsb2NrLS1rZXlsaW5lIC5tZWRpYS1ibG9ja19fY29weV9faW5uZXIsXG4gICAgLm1lZGlhLWJsb2NrW2NsYXNzKj1cImNsci1cIl0ubWVkaWEtYmxvY2stLWNvdmVyIC5tZWRpYS1ibG9ja19fY29weV9faW5uZXIge1xuICAgICAgcGFkZGluZzogMzBweCAzMHB4IDQwcHggMDsgfSB9XG4gIC5tZWRpYS1ibG9ja19fY29weV9faW5uZXIgPiAqOmZpcnN0LWNoaWxkIHtcbiAgICBtYXJnaW4tdG9wOiAwOyB9XG4gIC5tZWRpYS1ibG9ja19fY29weV9faW5uZXIgPiAqOmxhc3QtY2hpbGQge1xuICAgIG1hcmdpbi1ib3R0b206IDA7IH1cbiAgLm1lZGlhLWJsb2NrX19jb3B5X19pbm5lciAubGVhZCB7XG4gICAgbWFyZ2luOiAwLjhlbSAwOyB9XG4gICAgLm1lZGlhLWJsb2NrX19jb3B5X19pbm5lciAubGVhZDpmaXJzdC1jaGlsZCB7XG4gICAgICBtYXJnaW4tdG9wOiAwOyB9XG4gICAgLm1lZGlhLWJsb2NrX19jb3B5X19pbm5lciAubGVhZDpsYXN0LWNoaWxkIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDA7IH1cblxuLm1lZGlhLWJsb2NrX190aXRsZSB7XG4gIG1hcmdpbi1ib3R0b206IDAuNWVtICFpbXBvcnRhbnQ7IH1cblxuLm1lZGlhLWJsb2NrX19jb3B5X19udWdnZXRzIHtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICB3b3JkLXNwYWNpbmc6IC00cHg7XG4gIG1hcmdpbi1sZWZ0OiAtMjBweDtcbiAgbWFyZ2luLWJvdHRvbTogLTMwcHggIWltcG9ydGFudDsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NjhweCkge1xuICAgIC5tZWRpYS1ibG9ja19fY29weV9fbnVnZ2V0cyB7XG4gICAgICBtYXJnaW4tbGVmdDogLTQwcHg7IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMDI0cHgpIHtcbiAgICAubWVkaWEtYmxvY2tfX2NvcHlfX251Z2dldHMge1xuICAgICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICAgIG1hcmdpbi1ib3R0b206IDAgIWltcG9ydGFudDsgfSB9XG5cbi5tZWRpYS1ibG9ja19fY29weV9fbnVnZ2V0c19faXRlbSB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgd29yZC1zcGFjaW5nOiBub3JtYWw7XG4gIHZlcnRpY2FsLWFsaWduOiB0b3A7XG4gIHBhZGRpbmctbGVmdDogMjBweDtcbiAgd2lkdGg6IDEwMCU7XG4gIHdpZHRoOiAxMDAlO1xuICBtYXJnaW4tYm90dG9tOiAzMHB4OyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gICAgLm1lZGlhLWJsb2NrX19jb3B5X19udWdnZXRzX19pdGVtIHtcbiAgICAgIHBhZGRpbmctbGVmdDogNDBweDsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0MHB4KSB7XG4gICAgLm1lZGlhLWJsb2NrX19jb3B5X19udWdnZXRzX19pdGVtIHtcbiAgICAgIHdpZHRoOiA1MCU7IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMDI0cHgpIHtcbiAgICAubWVkaWEtYmxvY2tfX2NvcHlfX251Z2dldHNfX2l0ZW0ge1xuICAgICAgbWFyZ2luOiAzMHB4IDA7XG4gICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgICAgd2lkdGg6IDEwMCU7IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMjAxcHgpIHtcbiAgICAubWVkaWEtYmxvY2tfX2NvcHlfX251Z2dldHNfX2l0ZW0ge1xuICAgICAgd2lkdGg6IDUwJTsgfSB9XG4gIC5tZWRpYS1ibG9ja19fY29weV9fbnVnZ2V0c19faXRlbSA+ICo6Zmlyc3QtY2hpbGQge1xuICAgIG1hcmdpbi10b3A6IDA7IH1cbiAgLm1lZGlhLWJsb2NrX19jb3B5X19udWdnZXRzX19pdGVtID4gKjpsYXN0LWNoaWxkIHtcbiAgICBtYXJnaW4tYm90dG9tOiAwOyB9XG5cbi8qXG4gIENPTVBPTkVOVDogTkFWXG4qL1xuLm5hdl9fb3V0ZXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZWJlYmViO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMC4ycyBlYXNlOyB9XG4gIC5uYXZbZGF0YS1zdGlja3k9XCJzdHVja1wiXSAubmF2X19vdXRlciB7XG4gICAgcG9zaXRpb246IGZpeGVkO1xuICAgIHRvcDogMDtcbiAgICBsZWZ0OiAwO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIG1heC1oZWlnaHQ6IDEwMCU7XG4gICAgb3ZlcmZsb3cteTogc2Nyb2xsO1xuICAgIHotaW5kZXg6IDYwMDsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMDI0cHgpIHtcbiAgICAubmF2X19vdXRlciB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZTllNmRjOyB9XG4gICAgICAubmF2W2RhdGEtc3RpY2t5PVwic3R1Y2tcIl0gLm5hdl9fb3V0ZXIge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMzYzNjM2O1xuICAgICAgICBtYXgtaGVpZ2h0OiBub25lO1xuICAgICAgICBvdmVyZmxvdy15OiB2aXNpYmxlOyB9IH1cblxuLm5hdl9faW5uZXIge1xuICBtYXgtd2lkdGg6IDE0MDBweDtcbiAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gIG1hcmdpbi1yaWdodDogYXV0bzsgfVxuICAubmF2X19pbm5lcjpiZWZvcmUsIC5uYXZfX2lubmVyOmFmdGVyIHtcbiAgICBjb250ZW50OiBcIlwiO1xuICAgIGRpc3BsYXk6IHRhYmxlOyB9XG4gIC5uYXZfX2lubmVyOmFmdGVyIHtcbiAgICBjbGVhcjogYm90aDsgfVxuXG4ubmF2X190b2dnbGUge1xuICBkaXNwbGF5OiBibG9jaztcbiAgZm9udC1mYW1pbHk6IFwiT3N3YWxkXCIsIHNhbnMtc2VyaWY7XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gIGxpbmUtaGVpZ2h0OiAxLjY7XG4gIGZvbnQtc2l6ZTogMTZweDtcbiAgZm9udC1zaXplOiAxcmVtO1xuICBjb2xvcjogaW5oZXJpdDtcbiAgYm9yZGVyLWJvdHRvbTogaW5oZXJpdDtcbiAgYm9yZGVyLWJvdHRvbTogMDtcbiAgcGFkZGluZzogMzBweCAyMHB4O1xuICBsaW5lLWhlaWdodDogMTtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBwYWRkaW5nLXJpZ2h0OiA3MHB4O1xuICB0ZXh0LWFsaWduOiByaWdodDsgfVxuICAubmF2X190b2dnbGU6YmVmb3JlIHtcbiAgICBmb250LXNpemU6IDQwcHg7XG4gICAgZm9udC1zaXplOiAyLjVyZW07XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMThweDtcbiAgICByaWdodDogMjBweDsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMDI0cHgpIHtcbiAgICAubmF2X190b2dnbGUge1xuICAgICAgZGlzcGxheTogbm9uZTsgfSB9XG5cbi5uYXZfX21haW4ge1xuICBtYXgtaGVpZ2h0OiAwO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICB2aXNpYmlsaXR5OiBoaWRkZW47XG4gIHRyYW5zaXRpb246IG1heC1oZWlnaHQgMC4ycyBlYXNlO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHdpZHRoOiAxMDAlO1xuICBiYWNrZ3JvdW5kOiAjZWJlYmViO1xuICB6LWluZGV4OiA1MDA7IH1cbiAgLm5vLWpzIC5uYXZfX21haW4ge1xuICAgIG1heC1oZWlnaHQ6IG5vbmU7XG4gICAgcG9zaXRpb246IHN0YXRpYztcbiAgICB2aXNpYmlsaXR5OiB2aXNpYmxlOyB9XG4gIC5uYXZbZGF0YS1zdGlja3k9XCJzdHVja1wiXSAubmF2X19tYWluIHtcbiAgICBwb3NpdGlvbjogc3RhdGljOyB9XG4gIFtkYXRhLW5hdi1zdGF0ZT1cImFjdGl2ZVwiXSAubmF2X19tYWluIHtcbiAgICB0cmFuc2l0aW9uOiBtYXgtaGVpZ2h0IDEuNXMgZWFzZTtcbiAgICBtYXgtaGVpZ2h0OiA1MDAwcHg7XG4gICAgdmlzaWJpbGl0eTogdmlzaWJsZTsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMDI0cHgpIHtcbiAgICAubmF2X19tYWluIHtcbiAgICAgIHBvc2l0aW9uOiBzdGF0aWM7XG4gICAgICB0cmFuc2l0aW9uOiBub25lO1xuICAgICAgbWF4LWhlaWdodDogbm9uZTtcbiAgICAgIHZpc2liaWxpdHk6IHZpc2libGU7XG4gICAgICBmbG9hdDogbGVmdDtcbiAgICAgIHdpZHRoOiA4MiU7XG4gICAgICBtYXgtd2lkdGg6IDEwNDBweDtcbiAgICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50OyB9IH1cblxuLm5hdl9fZG9uYXRlIHtcbiAgZGlzcGxheTogbm9uZTsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMDI0cHgpIHtcbiAgICAubmF2X19kb25hdGUge1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICBmbG9hdDogcmlnaHQ7XG4gICAgICBwYWRkaW5nOiAwIDIwcHg7XG4gICAgICBtYXJnaW46IDIwcHggMDtcbiAgICAgIHdpZHRoOiAxOCU7XG4gICAgICB0ZXh0LWFsaWduOiByaWdodDsgfSB9XG5cbi5uYXZfX2xpc3Qge1xuICBjbGVhcjogYm90aDtcbiAgbWFyZ2luOiAwO1xuICBwYWRkaW5nOiAyMHB4IDIwcHggMzBweDtcbiAgbGlzdC1zdHlsZTogbm9uZTtcbiAgYm9yZGVyLXRvcDogMnB4IHNvbGlkICNkYmRiZGI7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTAyNHB4KSB7XG4gICAgLm5hdl9fbGlzdCB7XG4gICAgICBib3JkZXItdG9wOiAwO1xuICAgICAgcGFkZGluZzogMCAxMHB4IDAgMjBweDtcbiAgICAgIHdvcmQtc3BhY2luZzogLTRweDsgfSB9XG5cbi5uYXZfX2xpc3RfX2l0ZW0ge1xuICBtYXJnaW46IDA7XG4gIGZvbnQtZmFtaWx5OiBcIk9zd2FsZFwiLCBzYW5zLXNlcmlmO1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICBmb250LXdlaWdodDogbm9ybWFsO1xuICBsaW5lLWhlaWdodDogMS42O1xuICBmb250LXNpemU6IDIwcHg7XG4gIGZvbnQtc2l6ZTogMS4yNXJlbTsgfVxuICAubmF2X19saXN0X19pdGVtOmZpcnN0LWNoaWxkIHtcbiAgICBib3JkZXItdG9wOiAycHggc29saWQgI2ZmZjsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMDI0cHgpIHtcbiAgICAubmF2X19saXN0X19pdGVtIHtcbiAgICAgIHdvcmQtc3BhY2luZzogbm9ybWFsO1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgZm9udC1zaXplOiAxNnB4O1xuICAgICAgZm9udC1zaXplOiAxcmVtOyB9XG4gICAgICAubmF2X19saXN0X19pdGVtOmZpcnN0LWNoaWxkIHtcbiAgICAgICAgYm9yZGVyLXRvcDogMDsgfSB9XG5cbi5uYXZfX2xpc3RfX2l0ZW0tLW1vYmlsZS1vbmx5IHtcbiAgZGlzcGxheTogYmxvY2s7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTAyNHB4KSB7XG4gICAgLm5hdl9fbGlzdF9faXRlbS0tbW9iaWxlLW9ubHkge1xuICAgICAgZGlzcGxheTogbm9uZTsgfSB9XG5cbi5uYXZfX2xvZ28ge1xuICBmbG9hdDogbGVmdDtcbiAgZGlzcGxheTogbm9uZTtcbiAgbWFyZ2luOiAxMnB4IDA7XG4gIG1hcmdpbi1yaWdodDogMiU7XG4gIHdpZHRoOiA3MHB4OyB9XG4gIC5uYXZfX2xvZ28gYSB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgYm9yZGVyOiAwOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDEwMjRweCkge1xuICAgIC5uYXZbZGF0YS1zdGlja3k9XCJzdHVja1wiXSAubmF2X19sb2dvIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrOyB9IH1cblxuLm5hdl9fbGlzdF9fbGluayB7XG4gIGJvcmRlci1ib3R0b206IDJweCBzb2xpZCAjZmZmO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTAyNHB4KSB7XG4gICAgLm5hdl9fbGlzdF9fbGluayB7XG4gICAgICBib3JkZXItYm90dG9tOiAwO1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrOyB9IH1cblxuLm5hdl9fbGlzdF9fYW5jaG9yIHtcbiAgY29sb3I6IGluaGVyaXQ7XG4gIGJvcmRlci1ib3R0b206IGluaGVyaXQ7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBwYWRkaW5nOiA3cHggMDtcbiAgYm9yZGVyOiAwICFpbXBvcnRhbnQ7IH1cbiAgLm5hdl9fbGlzdF9faXRlbS5pcy1jdXJyZW50IC5uYXZfX2xpc3RfX2FuY2hvciB7XG4gICAgY29sb3I6ICNkMTQ0MTQ7IH1cbiAgLm5hdl9fbGlzdF9fYW5jaG9yOmhvdmVyLFxuICBbZGF0YS1uYXYtc3ViLXN0YXRlPVwiYWN0aXZlXCJdIC5uYXZfX2xpc3RfX2FuY2hvciB7XG4gICAgY29sb3I6ICMyZWEzOTMgIWltcG9ydGFudDsgfVxuICAubmF2X19saXN0X19hbmNob3I6YmVmb3JlIHtcbiAgICBmb250LXNpemU6IDE1cHg7XG4gICAgZm9udC1zaXplOiAwLjkzNzVyZW07XG4gICAgbWFyZ2luLXRvcDogNXB4O1xuICAgIG1hcmdpbi1sZWZ0OiAxMHB4O1xuICAgIGZsb2F0OiByaWdodDtcbiAgICBkaXNwbGF5OiBub25lOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDEwMjRweCkge1xuICAgIC5uYXZfX2xpc3RfX2FuY2hvciB7XG4gICAgICBwYWRkaW5nOiAzNXB4IDEwcHg7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7IH1cbiAgICAgIC5uYXZbZGF0YS1zdGlja3k9XCJzdHVja1wiXSAubmF2X19saXN0X19hbmNob3Ige1xuICAgICAgICBjb2xvcjogI2ZmZjsgfVxuICAgICAgLm5hdl9fbGlzdF9faXRlbS5pcy1jdXJyZW50IC5uYXZfX2xpc3RfX2FuY2hvciB7XG4gICAgICAgIGNvbG9yOiAjZDE0NDE0OyB9XG4gICAgICBbZGF0YS1uYXYtaGFzLXN1Yl0gLm5hdl9fbGlzdF9fYW5jaG9yOmJlZm9yZSB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrOyB9XG4gICAgICAubmF2X19saXN0X19pdGVtOmZpcnN0LWNoaWxkIC5uYXZfX2xpc3RfX2FuY2hvciB7XG4gICAgICAgIHBhZGRpbmctbGVmdDogMDsgfVxuICAgICAgLm5hdl9fbGlzdF9faXRlbTpsYXN0LWNoaWxkIC5uYXZfX2xpc3RfX2FuY2hvciB7XG4gICAgICAgIHBhZGRpbmctcmlnaHQ6IDA7IH1cbiAgICAgIC5uYXZfX2xpc3RfX2FuY2hvcjphZnRlciB7XG4gICAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIGJvdHRvbTogLTEwcHg7XG4gICAgICAgIGxlZnQ6IDUwJTtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IC0xNHB4O1xuICAgICAgICB3aWR0aDogMDtcbiAgICAgICAgaGVpZ2h0OiAwO1xuICAgICAgICBib3JkZXItbGVmdDogMTRweCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgICAgICAgYm9yZGVyLXJpZ2h0OiAxNHB4IHNvbGlkIHRyYW5zcGFyZW50O1xuICAgICAgICBib3JkZXItYm90dG9tOiAxMHB4IHNvbGlkICMzNjM2MzY7XG4gICAgICAgIHRyYW5zaXRpb246IGJvdHRvbSAwLjA1cyAwLjJzIGVhc2U7IH1cbiAgICAgICAgW2RhdGEtbmF2LXN1Yi1zdGF0ZT1cImFjdGl2ZVwiXSAubmF2X19saXN0X19hbmNob3I6YWZ0ZXIge1xuICAgICAgICAgIGJvdHRvbTogMDsgfVxuICAgICAgICAubmF2W2RhdGEtc3RpY2t5PVwic3R1Y2tcIl0gLm5hdl9fbGlzdF9fYW5jaG9yOmFmdGVyIHtcbiAgICAgICAgICBib3JkZXItYm90dG9tLWNvbG9yOiAjZWJlYmViOyB9IH1cblxuLm5hdl9fbGlzdF9fdG9nZ2xlIHtcbiAgZm9udC1zaXplOiAxNXB4O1xuICBmb250LXNpemU6IDAuOTM3NXJlbTtcbiAgcGFkZGluZzogMTZweDtcbiAgYm9yZGVyLWJvdHRvbTogMCAhaW1wb3J0YW50O1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIGJvcmRlci1sZWZ0OiAxcHggc29saWQgI2ZmZjtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDA7XG4gIHJpZ2h0OiAwOyB9XG4gIC5uYXZfX2xpc3RfX3RvZ2dsZTpob3ZlciB7XG4gICAgY29sb3I6ICMyZWEzOTMgIWltcG9ydGFudDsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMDI0cHgpIHtcbiAgICAubmF2X19saXN0X190b2dnbGUge1xuICAgICAgZGlzcGxheTogbm9uZTsgfSB9XG5cbi5uYXZfX3N1YiB7XG4gIGRpc3BsYXk6IG5vbmU7IH1cbiAgLm5vLWpzIC5uYXZfX3N1YiB7XG4gICAgZGlzcGxheTogYmxvY2s7IH1cbiAgW2RhdGEtbmF2LXN1Yi1zdGF0ZT1cImFjdGl2ZVwiXSAubmF2X19zdWIge1xuICAgIGRpc3BsYXk6IGJsb2NrOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDEwMjRweCkge1xuICAgIC5uYXZfX3N1YiB7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIHRvcDogMTAwJTtcbiAgICAgIGxlZnQ6IDA7XG4gICAgICByaWdodDogMDtcbiAgICAgIGJhY2tncm91bmQ6ICMzNjM2MzY7XG4gICAgICBtYXgtaGVpZ2h0OiAwO1xuICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAgIHRyYW5zaXRpb246IG1heC1oZWlnaHQgMC41cyBlYXNlO1xuICAgICAgei1pbmRleDogNjAwOyB9XG4gICAgICBbZGF0YS1uYXYtc3ViLXN0YXRlXSAubmF2X19zdWIge1xuICAgICAgICBkaXNwbGF5OiBibG9jazsgfVxuICAgICAgLm5hdltkYXRhLXN0aWNreT1cInN0dWNrXCJdIC5uYXZfX3N1YiB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNlYmViZWI7IH1cbiAgICAgIFtkYXRhLW5hdi1zdWItc3RhdGU9XCJhY3RpdmVcIl0gLm5hdl9fc3ViIHtcbiAgICAgICAgbWF4LWhlaWdodDogMTAwMHB4O1xuICAgICAgICB0cmFuc2l0aW9uOiBtYXgtaGVpZ2h0IDFzIGVhc2U7IH0gfVxuXG4ubmF2X19zdWJfX2xpc3Qge1xuICBtYXJnaW46IDA7XG4gIHBhZGRpbmc6IDEwcHggMCAxMHB4IDIwcHg7XG4gIGxpc3Qtc3R5bGU6IG5vbmU7XG4gIGJvcmRlci1ib3R0b206IDJweCBzb2xpZCAjZmZmOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDEwMjRweCkge1xuICAgIC5uYXZfX3N1Yl9fbGlzdCB7XG4gICAgICBwYWRkaW5nOiAwIDIwcHg7XG4gICAgICBtYXgtd2lkdGg6IDE0MDBweDtcbiAgICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICAgICAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xuICAgICAgd29yZC1zcGFjaW5nOiAtNHB4O1xuICAgICAgYm9yZGVyLWJvdHRvbTogMDsgfSB9XG5cbi5uYXZfX3N1Yl9fbGlzdF9faXRlbSB7XG4gIG1hcmdpbjogMDsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMDI0cHgpIHtcbiAgICAubmF2X19zdWJfX2xpc3RfX2l0ZW0ge1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgd29yZC1zcGFjaW5nOiBub3JtYWw7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDIuNCU7IH0gfVxuXG4ubmF2X19zdWJfX2xpc3RfX2xpbmsge1xuICBkaXNwbGF5OiBibG9jaztcbiAgY29sb3I6IGluaGVyaXQ7XG4gIGJvcmRlci1ib3R0b206IGluaGVyaXQ7XG4gIGJvcmRlci1ib3R0b206IDAgIWltcG9ydGFudDtcbiAgcGFkZGluZzogN3B4IDA7IH1cbiAgLm5hdl9fc3ViX19saXN0X19pdGVtLmlzLWN1cnJlbnQgLm5hdl9fc3ViX19saXN0X19saW5rIHtcbiAgICBjb2xvcjogI2QxNDQxNDsgfVxuICAubmF2X19zdWJfX2xpc3RfX2xpbms6aG92ZXIge1xuICAgIGNvbG9yOiAjMmVhMzkzICFpbXBvcnRhbnQ7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTAyNHB4KSB7XG4gICAgLm5hdl9fc3ViX19saXN0X19saW5rIHtcbiAgICAgIGNvbG9yOiAjZmZmO1xuICAgICAgcGFkZGluZzogMzVweCAxMHB4OyB9XG4gICAgICAubmF2W2RhdGEtc3RpY2t5PVwic3R1Y2tcIl0gLm5hdl9fc3ViX19saXN0X19saW5rIHtcbiAgICAgICAgY29sb3I6ICMzNjM2MzY7IH1cbiAgICAgIC5uYXZfX3N1Yl9fbGlzdF9faXRlbS5pcy1jdXJyZW50IC5uYXZfX3N1Yl9fbGlzdF9fbGluayB7XG4gICAgICAgIGNvbG9yOiAjZDE0NDE0OyB9IH1cblxuLm5hdl9fc3ViX19jbG9zZSB7XG4gIGNvbG9yOiBpbmhlcml0O1xuICBib3JkZXItYm90dG9tOiBpbmhlcml0O1xuICBib3JkZXItYm90dG9tOiAwICFpbXBvcnRhbnQ7XG4gIGZvbnQtc2l6ZTogMThweDtcbiAgZm9udC1zaXplOiAxLjEyNXJlbTtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDA7XG4gIHJpZ2h0OiAwO1xuICBwYWRkaW5nOiA3cHg7XG4gIGRpc3BsYXk6IG5vbmU7XG4gIGNvbG9yOiAjZmZmOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDEwMjRweCkge1xuICAgIC5uYXZfX3N1Yl9fY2xvc2Uge1xuICAgICAgZGlzcGxheTogYmxvY2s7IH0gfVxuICAubmF2X19zdWJfX2Nsb3NlOmhvdmVyIHtcbiAgICBjb2xvcjogIzJlYTM5MzsgfVxuXG4ubmF2X19zZWFyY2hfX2Zvcm0ge1xuICBtYXJnaW46IDAgMjBweCAzMHB4OyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDEwMjRweCkge1xuICAgIC5uYXZfX3NlYXJjaF9fZm9ybSB7XG4gICAgICBkaXNwbGF5OiBub25lOyB9IH1cblxuLypcbiAgQ09NUE9ORU5UOiBPVkVSTEFZU1xuKi9cbi5vdmVybGF5cyB7XG4gIG1heC13aWR0aDogMTQwMHB4O1xuICBtYXJnaW4tbGVmdDogYXV0bztcbiAgbWFyZ2luLXJpZ2h0OiBhdXRvOyB9XG5cbi5vdmVybGF5c19faW5uZXIge1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIHdvcmQtc3BhY2luZzogLTRweDtcbiAgbWFyZ2luLWxlZnQ6IC0yMHB4O1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LXdyYXA6IHdyYXA7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICBtYXJnaW4tdG9wOiAtNDBweDsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NjhweCkge1xuICAgIC5vdmVybGF5c19faW5uZXIge1xuICAgICAgbWFyZ2luLWxlZnQ6IC00MHB4OyB9IH1cblxuLm92ZXJsYXlzX19pdGVtIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB3b3JkLXNwYWNpbmc6IG5vcm1hbDtcbiAgdmVydGljYWwtYWxpZ246IHRvcDtcbiAgcGFkZGluZy1sZWZ0OiAyMHB4O1xuICB3aWR0aDogMTAwJTtcbiAgd2lkdGg6IDEwMCU7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIG1hcmdpbi10b3A6IDQwcHg7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgICAub3ZlcmxheXNfX2l0ZW0ge1xuICAgICAgcGFkZGluZy1sZWZ0OiA0MHB4OyB9IH1cbiAgLmx0ZS1pZTkgLm92ZXJsYXlzX19pdGVtIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNTIwcHgpIHtcbiAgICAub3ZlcmxheXNfX2l0ZW0ge1xuICAgICAgd2lkdGg6IDUwJTsgfSB9XG5cbi5vdmVybGF5c19faXRlbV9faW5uZXIge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIHdpZHRoOiAxMDAlOyB9XG5cbi5vdmVybGF5c19faXRlbV9fbGluayB7XG4gIGNvbG9yOiBpbmhlcml0O1xuICBib3JkZXItYm90dG9tOiBpbmhlcml0O1xuICBib3JkZXI6IG5vbmUgIWltcG9ydGFudDtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIHdpZHRoOiAxMDAlOyB9XG5cbi5vdmVybGF5c19faXRlbV9fbWVkaWEge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMDtcbiAgbGVmdDogMDtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogMTAwJTsgfVxuICAub3ZlcmxheXNfX2l0ZW1fX21lZGlhIGltZyB7XG4gICAgb2JqZWN0LWZpdDogY292ZXI7IH1cblxuLm92ZXJsYXlzX19pdGVtX19jb250ZW50IHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB6LWluZGV4OiAxMDtcbiAgd2lkdGg6IDEwMCU7XG4gIHBhZGRpbmctbGVmdDogMjBweDtcbiAgcGFkZGluZy1yaWdodDogMjBweDtcbiAgcGFkZGluZy10b3A6IDcwcHg7XG4gIHBhZGRpbmctYm90dG9tOiA3MHB4O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuNyk7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgICAub3ZlcmxheXNfX2l0ZW1fX2NvbnRlbnQge1xuICAgICAgcGFkZGluZy1sZWZ0OiAyMHB4OyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgICAub3ZlcmxheXNfX2l0ZW1fX2NvbnRlbnQge1xuICAgICAgcGFkZGluZy1yaWdodDogMjBweDsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gICAgLm92ZXJsYXlzX19pdGVtX19jb250ZW50IHtcbiAgICAgIHBhZGRpbmctdG9wOiAxNDBweDsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gICAgLm92ZXJsYXlzX19pdGVtX19jb250ZW50IHtcbiAgICAgIHBhZGRpbmctYm90dG9tOiAxNDBweDsgfSB9XG4gIC5vdmVybGF5c19faXRlbV9fbGluazpob3ZlciAub3ZlcmxheXNfX2l0ZW1fX2NvbnRlbnQsXG4gIC5vdmVybGF5c19faXRlbV9fbGluazpmb2N1cyAub3ZlcmxheXNfX2l0ZW1fX2NvbnRlbnQge1xuICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMCwgMCwgMCwgMC44KTsgfVxuXG4ub3ZlcmxheXNfX2l0ZW1fX2NvbnRlbnRfX2lubmVyIHtcbiAgbWF4LXdpZHRoOiAzMjBweDtcbiAgbWFyZ2luOiAwIGF1dG87IH1cbiAgLm92ZXJsYXlzX19pdGVtX19jb250ZW50X19pbm5lciA+ICo6Zmlyc3QtY2hpbGQge1xuICAgIG1hcmdpbi10b3A6IDA7IH1cbiAgLm92ZXJsYXlzX19pdGVtX19jb250ZW50X19pbm5lciA+ICo6bGFzdC1jaGlsZCB7XG4gICAgbWFyZ2luLWJvdHRvbTogMDsgfVxuXG4vKlxuICBDT01QT05FTlQ6IFBBR0VSXG4qL1xuLnBhZ2VyIHtcbiAgbWF4LXdpZHRoOiAxNDAwcHg7XG4gIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICBtYXJnaW4tcmlnaHQ6IGF1dG87XG4gIHBhZGRpbmc6IDAgMjBweDtcbiAgbWFyZ2luOiAzZW0gYXV0bzsgfVxuICAucGFnZXI6Zmlyc3QtY2hpbGQge1xuICAgIG1hcmdpbi10b3A6IDA7IH1cbiAgLnBhZ2VyOmxhc3QtY2hpbGQge1xuICAgIG1hcmdpbi1ib3R0b206IDA7IH1cblxuLnBhZ2VyX19pbm5lciB7XG4gIG1hcmdpbi10b3A6IC00MHB4O1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgd29yZC1zcGFjaW5nOiAtNHB4O1xuICBtYXJnaW4tbGVmdDogLTIwcHg7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgICAucGFnZXJfX2lubmVyIHtcbiAgICAgIG1hcmdpbi1sZWZ0OiAtNDBweDsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4MHB4KSB7XG4gICAgLnBhZ2VyX19pbm5lcjpiZWZvcmUsIC5wYWdlcl9faW5uZXI6YWZ0ZXIge1xuICAgICAgY29udGVudDogXCJcIjtcbiAgICAgIGRpc3BsYXk6IHRhYmxlOyB9XG4gICAgLnBhZ2VyX19pbm5lcjphZnRlciB7XG4gICAgICBjbGVhcjogYm90aDsgfSB9XG5cbi5wYWdlcl9faXRlbSB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgd29yZC1zcGFjaW5nOiBub3JtYWw7XG4gIHZlcnRpY2FsLWFsaWduOiB0b3A7XG4gIHBhZGRpbmctbGVmdDogMjBweDtcbiAgd2lkdGg6IDEwMCU7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgbWFyZ2luLXRvcDogNDBweDtcbiAgd2lkdGg6IDEwMCU7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgICAucGFnZXJfX2l0ZW0ge1xuICAgICAgcGFkZGluZy1sZWZ0OiA0MHB4OyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDgwcHgpIHtcbiAgICAucGFnZXJfX2l0ZW0ge1xuICAgICAgd2lkdGg6IDUwJTsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY4MHB4KSB7XG4gICAgLnBhZ2VyX19pdGVtIHtcbiAgICAgIG1heC13aWR0aDogNTgwcHg7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2ODBweCkge1xuICAucGFnZXJfX2l0ZW0tLXByZXYge1xuICAgIGZsb2F0OiBsZWZ0O1xuICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgcGFkZGluZy1yaWdodDogMjBweDsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY4MHB4KSB7XG4gIC5wYWdlcl9faXRlbS0tbmV4dCB7XG4gICAgZmxvYXQ6IHJpZ2h0O1xuICAgIHRleHQtYWxpZ246IHJpZ2h0O1xuICAgIHBhZGRpbmctbGVmdDogMjBweDsgfSB9XG5cbi5wYWdlcl9faXRlbV9fbGluayB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBib3JkZXI6IG5vbmUgIWltcG9ydGFudDsgfVxuXG4ucGFnZXJfX2l0ZW1fX21lZGlhIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIG1hcmdpbjogMCBhdXRvIDIwcHg7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjgwcHgpIHtcbiAgICAucGFnZXJfX2l0ZW1fX21lZGlhIHtcbiAgICAgIG1hcmdpbjogMDtcbiAgICAgIG1heC13aWR0aDogNTAlOyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjgwcHgpIHtcbiAgICAucGFnZXJfX2l0ZW0tLXByZXYgLnBhZ2VyX19pdGVtX19tZWRpYSB7XG4gICAgICBmbG9hdDogbGVmdDtcbiAgICAgIHBhZGRpbmctcmlnaHQ6IDMwcHg7IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMDI0cHgpIHtcbiAgICAucGFnZXJfX2l0ZW0tLXByZXYgLnBhZ2VyX19pdGVtX19tZWRpYSB7XG4gICAgICBwYWRkaW5nLXJpZ2h0OiA0MHB4OyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjgwcHgpIHtcbiAgICAucGFnZXJfX2l0ZW0tLW5leHQgLnBhZ2VyX19pdGVtX19tZWRpYSB7XG4gICAgICBmbG9hdDogcmlnaHQ7XG4gICAgICBwYWRkaW5nLWxlZnQ6IDMwcHg7IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMDI0cHgpIHtcbiAgICAucGFnZXJfX2l0ZW0tLW5leHQgLnBhZ2VyX19pdGVtX19tZWRpYSB7XG4gICAgICBwYWRkaW5nLWxlZnQ6IDQwcHg7IH0gfVxuXG4ucGFnZXJfX2l0ZW1fX3RleHQge1xuICBsaW5lLWhlaWdodDogMS42O1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBtYXJnaW46IDA7IH1cbiAgLnBhZ2VyX19pdGVtX190ZXh0IHNwYW4ge1xuICAgIGNvbG9yOiBpbmhlcml0O1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgIzJlYTM5MzsgfVxuICAgIC5wYWdlcl9faXRlbV9fdGV4dCBzcGFuOmhvdmVyIHtcbiAgICAgIGJvcmRlci1ib3R0b20tc3R5bGU6IGRvdHRlZDsgfVxuICAgIC5wYWdlcl9faXRlbV9fbGluazpob3ZlciAucGFnZXJfX2l0ZW1fX3RleHQgc3BhbixcbiAgICAucGFnZXJfX2l0ZW1fX2xpbms6Zm9jdXMgLnBhZ2VyX19pdGVtX190ZXh0IHNwYW4ge1xuICAgICAgYm9yZGVyLWJvdHRvbS1zdHlsZTogZG90dGVkOyB9XG5cbi8qXG4gIENPTVBPTkVOVDogUEFHSU5HXG4qL1xuLnBhZ2luZyB7XG4gIG1heC13aWR0aDogMTQwMHB4O1xuICBtYXJnaW4tbGVmdDogYXV0bztcbiAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIG1hcmdpbi10b3A6IDIwcHg7XG4gIG1hcmdpbi1ib3R0b206IDIwcHg7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgICAucGFnaW5nIHtcbiAgICAgIG1hcmdpbi10b3A6IDQwcHg7IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NjhweCkge1xuICAgIC5wYWdpbmcge1xuICAgICAgbWFyZ2luLWJvdHRvbTogNDBweDsgfSB9XG5cbi5wYWdpbmdfX2xpbmsge1xuICBib3JkZXI6IDFweCBzb2xpZCAjZWJlYmViO1xuICBwYWRkaW5nOiA1cHggMTJweDtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrOyB9XG4gIC5wYWdpbmdfX2xpbms6aG92ZXIsIC5wYWdpbmdfX2xpbms6Zm9jdXMge1xuICAgIGJvcmRlci1zdHlsZTogc29saWQgIWltcG9ydGFudDtcbiAgICBib3JkZXItY29sb3I6ICMyZWEzOTM7IH1cbiAgLnBhZ2luZ19fbGluayBzcGFuIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgbGVmdDogLTk5OTllbTtcbiAgICB0b3A6IGF1dG87XG4gICAgd2lkdGg6IDFweDtcbiAgICBoZWlnaHQ6IDFweDtcbiAgICBvdmVyZmxvdzogaGlkZGVuOyB9XG5cbi5wYWdpbmdfX2xpbmstLWFjdGl2ZSB7XG4gIGJhY2tncm91bmQ6ICMyZWEzOTM7XG4gIGNvbG9yOiAjZmZmO1xuICBib3JkZXItY29sb3I6ICMyZWEzOTM7IH1cblxuLnBhZ2luZ19fbGlzdCB7XG4gIG1hcmdpbjogMDtcbiAgcGFkZGluZzogMDtcbiAgbGlzdC1zdHlsZTogbm9uZTtcbiAgZGlzcGxheTogbm9uZTsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NDBweCkge1xuICAgIC5wYWdpbmdfX2xpc3Qge1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrOyB9IH1cbiAgLnBhZ2luZ19fbGlzdCBsaSB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIG1hcmdpbjogMDsgfVxuXG4ucGFnaW5nX19zdGVwIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrOyB9XG5cbi8qXG4gIENPTVBPTkVOVDogUEFORUxcbiovXG4ucGFuZWwge1xuICBtYXgtd2lkdGg6IDE0MDBweDtcbiAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gIG1hcmdpbi1yaWdodDogYXV0bztcbiAgcGFkZGluZy1sZWZ0OiAyMHB4O1xuICBwYWRkaW5nLXJpZ2h0OiAyMHB4O1xuICBwYWRkaW5nLXRvcDogNDBweDtcbiAgcGFkZGluZy1ib3R0b206IDQwcHg7XG4gIG1hcmdpbi10b3A6IDIwcHg7XG4gIG1hcmdpbi1ib3R0b206IDIwcHg7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgICAucGFuZWwge1xuICAgICAgcGFkZGluZy1sZWZ0OiAyMHB4OyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgICAucGFuZWwge1xuICAgICAgcGFkZGluZy1yaWdodDogMjBweDsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gICAgLnBhbmVsIHtcbiAgICAgIHBhZGRpbmctdG9wOiA1MHB4OyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgICAucGFuZWwge1xuICAgICAgcGFkZGluZy1ib3R0b206IDUwcHg7IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NjhweCkge1xuICAgIC5wYW5lbCB7XG4gICAgICBtYXJnaW4tdG9wOiA0MHB4OyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgICAucGFuZWwge1xuICAgICAgbWFyZ2luLWJvdHRvbTogNDBweDsgfSB9XG4gIC5wYW5lbDpmaXJzdC1jaGlsZCB7XG4gICAgbWFyZ2luLXRvcDogMDsgfVxuICAucGFuZWw6bGFzdC1jaGlsZCB7XG4gICAgbWFyZ2luLWJvdHRvbTogMDsgfVxuICAucGFuZWwgPiAqOmZpcnN0LWNoaWxkIHtcbiAgICBtYXJnaW4tdG9wOiAwOyB9XG4gIC5wYW5lbCA+ICo6bGFzdC1jaGlsZCB7XG4gICAgbWFyZ2luLWJvdHRvbTogMDsgfVxuXG4ucGFuZWwtLWtleWxpbmUge1xuICBib3JkZXI6IDJweCBzb2xpZCAjZWJlYmViOyB9XG5cbi5wYW5lbC0tcmVkdWNlZCB7XG4gIG1heC13aWR0aDogMTE2MHB4OyB9XG5cbi5wYW5lbC0tc3BhY2luZy14bHJnIHtcbiAgbWFyZ2luLXRvcDogMzBweDtcbiAgbWFyZ2luLWJvdHRvbTogMzBweDsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NjhweCkge1xuICAgIC5wYW5lbC0tc3BhY2luZy14bHJnIHtcbiAgICAgIG1hcmdpbi10b3A6IDYwcHg7IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NjhweCkge1xuICAgIC5wYW5lbC0tc3BhY2luZy14bHJnIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDYwcHg7IH0gfVxuXG4vKlxuICBDT01QT05FTlQ6IFBST01PU1xuKi9cbi5wcm9tb3Mge1xuICBtYXgtd2lkdGg6IDE0MDBweDtcbiAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gIG1hcmdpbi1yaWdodDogYXV0bzsgfVxuICAucHJvbW9zOmZpcnN0LWNoaWxkIHtcbiAgICBtYXJnaW4tdG9wOiAwOyB9XG4gIC5wcm9tb3M6bGFzdC1jaGlsZCB7XG4gICAgbWFyZ2luLWJvdHRvbTogMDsgfVxuICAucHJvbW9zLS1scmctc3BhY2Uge1xuICAgIG1hcmdpbi10b3A6IDQwcHg7XG4gICAgbWFyZ2luLWJvdHRvbTogNDBweDsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gICAgICAucHJvbW9zLS1scmctc3BhY2Uge1xuICAgICAgICBtYXJnaW4tdG9wOiA4MHB4OyB9IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NjhweCkge1xuICAgICAgLnByb21vcy0tbHJnLXNwYWNlIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogODBweDsgfSB9XG5cbi5wcm9tb3MtLXdpdGgtbGVhZCB7XG4gIG1heC13aWR0aDogMTE2MHB4OyB9XG5cbi5wcm9tb3NfX2lubmVyIHtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICB3b3JkLXNwYWNpbmc6IC00cHg7XG4gIG1hcmdpbi1sZWZ0OiAtMjBweDtcbiAgbWFyZ2luLWJvdHRvbTogLTQwcHg7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgICAucHJvbW9zX19pbm5lciB7XG4gICAgICBtYXJnaW4tbGVmdDogLTQwcHg7IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NjhweCkge1xuICAgIC5wcm9tb3NfX2lubmVyIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IC00MHB4OyB9IH1cblxuLnByb21vc19faXRlbSB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgd29yZC1zcGFjaW5nOiBub3JtYWw7XG4gIHZlcnRpY2FsLWFsaWduOiB0b3A7XG4gIHBhZGRpbmctbGVmdDogMjBweDtcbiAgd2lkdGg6IDEwMCU7XG4gIG1heC13aWR0aDogNzAwcHg7XG4gIG1hcmdpbi1ib3R0b206IDQwcHg7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgICAucHJvbW9zX19pdGVtIHtcbiAgICAgIHBhZGRpbmctbGVmdDogNDBweDsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gICAgLnByb21vc19faXRlbSB7XG4gICAgICBtYXgtd2lkdGg6IDcyMHB4OyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgICAucHJvbW9zX19pdGVtIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDQwcHg7IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NDBweCkge1xuICAgIC5wcm9tb3M6bm90KC5wcm9tb3MtLW1pbmkpIC5wcm9tb3NfX2l0ZW06Zmlyc3QtY2hpbGQ6bnRoLWxhc3QtY2hpbGQoMiksIC5wcm9tb3M6bm90KC5wcm9tb3MtLW1pbmkpXG4gICAgLnByb21vc19faXRlbTpmaXJzdC1jaGlsZDpudGgtbGFzdC1jaGlsZCgyKSB+IC5wcm9tb3NfX2l0ZW0ge1xuICAgICAgd2lkdGg6IDUwJTsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gICAgLnByb21vczpub3QoLnByb21vcy0tbWluaSkgLnByb21vc19faXRlbTpmaXJzdC1jaGlsZDpudGgtbGFzdC1jaGlsZCgzKSwgLnByb21vczpub3QoLnByb21vcy0tbWluaSlcbiAgICAucHJvbW9zX19pdGVtOmZpcnN0LWNoaWxkOm50aC1sYXN0LWNoaWxkKDMpIH4gLnByb21vc19faXRlbSB7XG4gICAgICB3aWR0aDogMzMuMzMzNCU7IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NDBweCkge1xuICAgIC5wcm9tb3M6bm90KC5wcm9tb3MtLW1pbmkpIC5wcm9tb3NfX2l0ZW06Zmlyc3QtY2hpbGQ6bnRoLWxhc3QtY2hpbGQoNCksIC5wcm9tb3M6bm90KC5wcm9tb3MtLW1pbmkpXG4gICAgLnByb21vc19faXRlbTpmaXJzdC1jaGlsZDpudGgtbGFzdC1jaGlsZCg0KSB+IC5wcm9tb3NfX2l0ZW0ge1xuICAgICAgd2lkdGg6IDUwJTsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDEwMjRweCkge1xuICAgIC5wcm9tb3M6bm90KC5wcm9tb3MtLW1pbmkpIC5wcm9tb3NfX2l0ZW06Zmlyc3QtY2hpbGQ6bnRoLWxhc3QtY2hpbGQoNCksIC5wcm9tb3M6bm90KC5wcm9tb3MtLW1pbmkpXG4gICAgLnByb21vc19faXRlbTpmaXJzdC1jaGlsZDpudGgtbGFzdC1jaGlsZCg0KSB+IC5wcm9tb3NfX2l0ZW0ge1xuICAgICAgd2lkdGg6IDI1JTsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gICAgLnByb21vcy0td2l0aC1sZWFkIC5wcm9tb3NfX2l0ZW0ge1xuICAgICAgd2lkdGg6IDI1JSAhaW1wb3J0YW50OyB9XG4gICAgICAucHJvbW9zLS13aXRoLWxlYWQgLnByb21vc19faXRlbS5wcm9tb3NfX2l0ZW0tLWxlYWQge1xuICAgICAgICB3aWR0aDogNTAlICFpbXBvcnRhbnQ7IH0gfVxuICAucHJvbW9zLS1taW5pIC5wcm9tb3NfX2l0ZW0ge1xuICAgIHdpZHRoOiAxMDAlOyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDgwcHgpIHtcbiAgICAgIC5wcm9tb3MtLW1pbmkgLnByb21vc19faXRlbSB7XG4gICAgICAgIHdpZHRoOiA1MCU7IH0gfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0MHB4KSB7XG4gICAgICAucHJvbW9zLS1taW5pIC5wcm9tb3NfX2l0ZW0ge1xuICAgICAgICB3aWR0aDogMzMuMzMzNCU7IH0gfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDEyMDFweCkge1xuICAgICAgLnByb21vcy0tbWluaSAucHJvbW9zX19pdGVtIHtcbiAgICAgICAgd2lkdGg6IDE2LjY2NjclOyB9IH1cblxuLnByb21vc19faXRlbS0tcGFkZGVkIC5wcm9tb3NfX2l0ZW1fX2lubmVyIHtcbiAgcGFkZGluZzogMjBweCAyMHB4IDQwcHg7IH1cblxuLnByb21vc19faXRlbV9fbWVkaWEge1xuICBtYXJnaW4tYm90dG9tOiAzMHB4OyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gICAgLnByb21vc19faXRlbV9fbWVkaWEge1xuICAgICAgbWFyZ2luLWJvdHRvbTogMzBweDsgfSB9XG5cbi5wcm9tb3NfX2l0ZW1fX2NvcHkge1xuICBwYWRkaW5nOiAwIDEwcHg7IH1cbiAgLnByb21vc19faXRlbTpmaXJzdC1jaGlsZDpudGgtbGFzdC1jaGlsZCgzKSAucHJvbW9zX19pdGVtX19jb3B5LFxuICAucHJvbW9zX19pdGVtOmZpcnN0LWNoaWxkOm50aC1sYXN0LWNoaWxkKDMpIH4gLnByb21vc19faXRlbSAucHJvbW9zX19pdGVtX19jb3B5IHtcbiAgICBmb250LXNpemU6IDE2cHg7XG4gICAgZm9udC1zaXplOiAxcmVtOyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTAyNHB4KSB7XG4gICAgICAucHJvbW9zX19pdGVtOmZpcnN0LWNoaWxkOm50aC1sYXN0LWNoaWxkKDMpIC5wcm9tb3NfX2l0ZW1fX2NvcHksXG4gICAgICAucHJvbW9zX19pdGVtOmZpcnN0LWNoaWxkOm50aC1sYXN0LWNoaWxkKDMpIH4gLnByb21vc19faXRlbSAucHJvbW9zX19pdGVtX19jb3B5IHtcbiAgICAgICAgZm9udC1zaXplOiAxOHB4O1xuICAgICAgICBmb250LXNpemU6IDEuMTI1cmVtOyB9IH1cbiAgLnByb21vc19faXRlbTpmaXJzdC1jaGlsZDpudGgtbGFzdC1jaGlsZCg0KSAucHJvbW9zX19pdGVtX19jb3B5LFxuICAucHJvbW9zX19pdGVtOmZpcnN0LWNoaWxkOm50aC1sYXN0LWNoaWxkKDQpIH4gLnByb21vc19faXRlbSAucHJvbW9zX19pdGVtX19jb3B5IHtcbiAgICBmb250LXNpemU6IDE2cHg7XG4gICAgZm9udC1zaXplOiAxcmVtOyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTIwMXB4KSB7XG4gICAgICAucHJvbW9zX19pdGVtOmZpcnN0LWNoaWxkOm50aC1sYXN0LWNoaWxkKDQpIC5wcm9tb3NfX2l0ZW1fX2NvcHksXG4gICAgICAucHJvbW9zX19pdGVtOmZpcnN0LWNoaWxkOm50aC1sYXN0LWNoaWxkKDQpIH4gLnByb21vc19faXRlbSAucHJvbW9zX19pdGVtX19jb3B5IHtcbiAgICAgICAgZm9udC1zaXplOiAxOHB4O1xuICAgICAgICBmb250LXNpemU6IDEuMTI1cmVtOyB9IH1cbiAgLnByb21vc19faXRlbS0tcGFkZGVkIC5wcm9tb3NfX2l0ZW1fX2NvcHkge1xuICAgIHBhZGRpbmc6IDA7IH1cbiAgLnByb21vc19faXRlbV9fY29weSA+ICo6Zmlyc3QtY2hpbGQge1xuICAgIG1hcmdpbi10b3A6IDA7IH1cbiAgLnByb21vc19faXRlbV9fY29weSA+ICo6bGFzdC1jaGlsZCB7XG4gICAgbWFyZ2luLWJvdHRvbTogMDsgfVxuXG4ucHJvbW9zX19pdGVtX190aXRsZSB7XG4gIG1hcmdpbi1ib3R0b206IDI1cHg7IH1cblxuLnByb21vc19faXRlbV9fZmlndXJlIHtcbiAgbWFyZ2luOiAwOyB9XG5cbi5wcm9tb3NfX2l0ZW1fX2NhcHRpb24ge1xuICBtYXJnaW46IDNlbSBhdXRvIDA7XG4gIG1heC13aWR0aDogMzQwcHg7IH1cblxuLypcbiAgQ09NUE9ORU5UOiBRVU9URVxuKi9cbi5xdW90ZSB7XG4gIG1heC13aWR0aDogOTIwcHg7XG4gIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICBtYXJnaW4tcmlnaHQ6IGF1dG87XG4gIHRleHQtYWxpZ246IGNlbnRlcjsgfVxuICAucXVvdGU6Zmlyc3QtY2hpbGQge1xuICAgIG1hcmdpbi10b3A6IDA7IH1cbiAgLnF1b3RlOmxhc3QtY2hpbGQge1xuICAgIG1hcmdpbi1ib3R0b206IDA7IH1cbiAgLnF1b3RlID4gKjpmaXJzdC1jaGlsZCB7XG4gICAgbWFyZ2luLXRvcDogMDsgfVxuICAucXVvdGUgPiAqOmxhc3QtY2hpbGQge1xuICAgIG1hcmdpbi1ib3R0b206IDA7IH1cbiAgLnF1b3RlOmJlZm9yZSB7XG4gICAgZm9udC1zaXplOiA1NXB4O1xuICAgIGZvbnQtc2l6ZTogMy40Mzc1cmVtO1xuICAgIG1hcmdpbi1ib3R0b206IDIwcHg7XG4gICAgY29sb3I6ICNmZmQxNDE7XG4gICAgZGlzcGxheTogYmxvY2s7IH1cblxuLnF1b3RlLS1ncmV5LWxpZ2h0OmJlZm9yZSB7XG4gIGNvbG9yOiAjZGVkZWRlOyB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDEyMDFweCkge1xuICAucXVvdGUtLXB1bGwtbGVmdCB7XG4gICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgcGFkZGluZy1sZWZ0OiA4MHB4OyB9XG4gICAgLnF1b3RlLS1wdWxsLWxlZnQ6YmVmb3JlIHtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHRvcDogMDtcbiAgICAgIGxlZnQ6IDA7XG4gICAgICBtYXJnaW4tdG9wOiAtNHB4O1xuICAgICAgbWFyZ2luLWxlZnQ6IDA7IH0gfVxuXG4vKlxuICBDT01QT05FTlQ6IFJFQ0VJUFRcbiovXG4ucmVjZWlwdCB7XG4gIG1heC13aWR0aDogOTIwcHg7XG4gIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICBtYXJnaW4tcmlnaHQ6IGF1dG87XG4gIHBhZGRpbmctdG9wOiAyNXB4O1xuICBwYWRkaW5nLWJvdHRvbTogMjVweDtcbiAgcGFkZGluZy1sZWZ0OiAyMHB4O1xuICBwYWRkaW5nLXJpZ2h0OiAyMHB4OyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gICAgLnJlY2VpcHQge1xuICAgICAgcGFkZGluZy10b3A6IDUwcHg7IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NjhweCkge1xuICAgIC5yZWNlaXB0IHtcbiAgICAgIHBhZGRpbmctYm90dG9tOiA1MHB4OyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgICAucmVjZWlwdCB7XG4gICAgICBwYWRkaW5nLWxlZnQ6IDQwcHg7IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NjhweCkge1xuICAgIC5yZWNlaXB0IHtcbiAgICAgIHBhZGRpbmctcmlnaHQ6IDQwcHg7IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA1MjBweCkge1xuICAgIC5yZWNlaXB0IHtcbiAgICAgIGJvcmRlcjogMnB4IHNvbGlkICNlYmViZWI7IH0gfVxuXG4ucmVjZWlwdF9fY29udGVudCA+ICo6Zmlyc3QtY2hpbGQge1xuICBtYXJnaW4tdG9wOiAwOyB9XG5cbi5yZWNlaXB0X19jb250ZW50ID4gKjpsYXN0LWNoaWxkIHtcbiAgbWFyZ2luLWJvdHRvbTogMDsgfVxuXG4ucmVjZWlwdF9fc3VtbWFyeSB7XG4gIHBhZGRpbmc6IDA7XG4gIGxpc3Qtc3R5bGU6IG5vbmU7XG4gIG1hcmdpbjogNDBweCAwO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIHdvcmQtc3BhY2luZzogLTRweDtcbiAgbWFyZ2luLWxlZnQ6IC0yMHB4OyB9XG4gIC5yZWNlaXB0X19zdW1tYXJ5OmZpcnN0LWNoaWxkIHtcbiAgICBtYXJnaW4tdG9wOiAwOyB9XG4gIC5yZWNlaXB0X19zdW1tYXJ5Omxhc3QtY2hpbGQge1xuICAgIG1hcmdpbi1ib3R0b206IDA7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgICAucmVjZWlwdF9fc3VtbWFyeSB7XG4gICAgICBtYXJnaW4tbGVmdDogLTQwcHg7IH0gfVxuICAucmVjZWlwdF9fc3VtbWFyeSBsaSB7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICB3b3JkLXNwYWNpbmc6IG5vcm1hbDtcbiAgICB2ZXJ0aWNhbC1hbGlnbjogdG9wO1xuICAgIHBhZGRpbmctbGVmdDogMjBweDtcbiAgICB3aWR0aDogMTAwJTtcbiAgICB3aWR0aDogNTAlOyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgICAgIC5yZWNlaXB0X19zdW1tYXJ5IGxpIHtcbiAgICAgICAgcGFkZGluZy1sZWZ0OiA0MHB4OyB9IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA1MjBweCkge1xuICAgICAgLnJlY2VpcHRfX3N1bW1hcnkgbGkge1xuICAgICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgICAgICB3aWR0aDogMjUlOyB9IH1cbiAgICAucmVjZWlwdF9fc3VtbWFyeSBsaSBzdHJvbmcge1xuICAgICAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgICAgIGNvbG9yOiAjZDE0NDE0O1xuICAgICAgZGlzcGxheTogYmxvY2s7IH1cbiAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDUyMHB4KSB7XG4gICAgICAgIC5yZWNlaXB0X19zdW1tYXJ5IGxpIHN0cm9uZyB7XG4gICAgICAgICAgbWFyZ2luLWJvdHRvbTogMC42ZW07IH0gfVxuICAgIC5yZWNlaXB0X19zdW1tYXJ5IGxpIHNwYW4ge1xuICAgICAgZGlzcGxheTogYmxvY2s7IH1cblxuLnJlY2VpcHRfX2l0ZW1zIHtcbiAgd2lkdGg6IDEwMCU7XG4gIGJvcmRlci1jb2xsYXBzZTogY29sbGFwc2U7XG4gIG1hcmdpbjogNDBweCAwO1xuICBib3JkZXItYm90dG9tOiAxcHggc29saWQgI2ViZWJlYjsgfVxuICAucmVjZWlwdF9faXRlbXM6Zmlyc3QtY2hpbGQge1xuICAgIG1hcmdpbi10b3A6IDA7IH1cbiAgLnJlY2VpcHRfX2l0ZW1zOmxhc3QtY2hpbGQge1xuICAgIG1hcmdpbi1ib3R0b206IDA7IH1cbiAgLnJlY2VpcHRfX2l0ZW1zIHRoIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICAgIGNvbG9yOiAjZDE0NDE0O1xuICAgIGZvbnQtd2VpZ2h0OiBub3JtYWw7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA1MjBweCkge1xuICAgICAgLnJlY2VpcHRfX2l0ZW1zIHRoIHtcbiAgICAgICAgZGlzcGxheTogdGFibGUtY2VsbDtcbiAgICAgICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICAgICAgd2lkdGg6IDE2JTtcbiAgICAgICAgYm9yZGVyLXRvcDogMXB4IHNvbGlkICNlYmViZWI7XG4gICAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjZWJlYmViO1xuICAgICAgICBwYWRkaW5nOiAxZW0gMDsgfSB9XG4gIC5yZWNlaXB0X19pdGVtcyB0ZCB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgYm9yZGVyOiAwO1xuICAgIHBhZGRpbmc6IDAuNGVtIDA7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyOyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNTIwcHgpIHtcbiAgICAgIC5yZWNlaXB0X19pdGVtcyB0ZCB7XG4gICAgICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgICAgIHBhZGRpbmc6IDFlbSAwICFpbXBvcnRhbnQ7XG4gICAgICAgIGRpc3BsYXk6IHRhYmxlLWNlbGw7XG4gICAgICAgIGJvcmRlci10b3A6IDFweCBzb2xpZCAjZWJlYmViO1xuICAgICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgI2ViZWJlYjsgfSB9XG4gICAgLnJlY2VpcHRfX2l0ZW1zIHRkOmJlZm9yZSB7XG4gICAgICBjb250ZW50OiBhdHRyKGRhdGEtdGFibGUtbGFiZWwpO1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICBjb2xvcjogI2QxNDQxNDsgfVxuICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNTIwcHgpIHtcbiAgICAgICAgLnJlY2VpcHRfX2l0ZW1zIHRkOmJlZm9yZSB7XG4gICAgICAgICAgZGlzcGxheTogbm9uZTsgfSB9XG4gICAgLnJlY2VpcHRfX2l0ZW1zIHRkOmZpcnN0LWNoaWxkIHtcbiAgICAgIGJvcmRlci10b3A6IDFweCBzb2xpZCAjZWJlYmViO1xuICAgICAgcGFkZGluZy10b3A6IDEuMmVtOyB9XG4gICAgLnJlY2VpcHRfX2l0ZW1zIHRkOmxhc3QtY2hpbGQge1xuICAgICAgcGFkZGluZy1ib3R0b206IDEuMmVtOyB9XG4gIC5yZWNlaXB0X19pdGVtcyAucmVjZWlwdF9faXRlbXNfX2l0ZW0tY29sIHtcbiAgICB3aWR0aDogNTIlOyB9XG5cbi8qXG4gIENPTVBPTkVOVDogUk9XXG4qL1xuLnJvdyB7XG4gIG1heC13aWR0aDogMTAwJTtcbiAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gIG1hcmdpbi1yaWdodDogYXV0bztcbiAgcGFkZGluZy1sZWZ0OiAyMHB4O1xuICBwYWRkaW5nLXJpZ2h0OiAyMHB4O1xuICBwYWRkaW5nLXRvcDogNDBweDtcbiAgcGFkZGluZy1ib3R0b206IDQwcHg7XG4gIG92ZXJmbG93OiBoaWRkZW47IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgICAucm93IHtcbiAgICAgIHBhZGRpbmctbGVmdDogMjBweDsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gICAgLnJvdyB7XG4gICAgICBwYWRkaW5nLXJpZ2h0OiAyMHB4OyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgICAucm93IHtcbiAgICAgIHBhZGRpbmctdG9wOiA2MHB4OyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgICAucm93IHtcbiAgICAgIHBhZGRpbmctYm90dG9tOiA2MHB4OyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTAyNHB4KSB7XG4gICAgLnJvdyB7XG4gICAgICBwYWRkaW5nLXRvcDogODBweDtcbiAgICAgIHBhZGRpbmctYm90dG9tOiA4MHB4OyB9IH1cbiAgLnJvdyA+ICo6Zmlyc3QtY2hpbGQge1xuICAgIG1hcmdpbi10b3A6IDA7IH1cbiAgLnJvdyA+ICo6bGFzdC1jaGlsZCB7XG4gICAgbWFyZ2luLWJvdHRvbTogMDsgfVxuXG4ucm93LS1mbHVzaCB7XG4gIHBhZGRpbmc6IDAgIWltcG9ydGFudDsgfVxuXG4ucm93LS1mbHVzaC1ob3Jpem9udGFsIHtcbiAgcGFkZGluZy1sZWZ0OiAwICFpbXBvcnRhbnQ7XG4gIHBhZGRpbmctcmlnaHQ6IDAgIWltcG9ydGFudDsgfVxuXG4ucm93LS1mbHVzaC12ZXJ0aWNhbCB7XG4gIHBhZGRpbmctdG9wOiAwICFpbXBvcnRhbnQ7XG4gIHBhZGRpbmctYm90dG9tOiAwICFpbXBvcnRhbnQ7IH1cblxuLnJvdy0tYWxsb3ctb3ZlcmZsb3cge1xuICBvdmVyZmxvdzogdmlzaWJsZTsgfVxuXG4ucm93LS1rZXlsaW5lLXRvcCwgLnJvdy0ta2V5bGluZSB7XG4gIGJvcmRlci10b3A6IDFweCBzb2xpZCAjZGJkYmRiO1xuICBtYXJnaW4tdG9wOiAtMXB4OyB9XG5cbi5yb3ctLWtleWxpbmUtYm90dG9tLCAucm93LS1rZXlsaW5lIHtcbiAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNkYmRiZGI7XG4gIG1hcmdpbi1ib3R0b206IC0xcHg7IH1cblxuLypcbiAgQ09NUE9ORU5UOiBTSEFSRVxuKi9cbi5zaGFyZSB7XG4gIG1heC13aWR0aDogMTQwMHB4O1xuICBtYXJnaW4tbGVmdDogYXV0bztcbiAgbWFyZ2luLXJpZ2h0OiBhdXRvOyB9XG5cbi5zaGFyZV9fbmF2IHtcbiAgbWFyZ2luOiA0MHB4IGF1dG87XG4gIGxpc3Qtc3R5bGU6IG5vbmU7XG4gIHBhZGRpbmc6IDA7XG4gIHRleHQtYWxpZ246IGNlbnRlcjsgfVxuICAuc2hhcmVfX25hdiBsaSB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIG1hcmdpbjogMDsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4MHB4KSB7XG4gICAgICAuc2hhcmVfX25hdiBsaSB7XG4gICAgICAgIG1hcmdpbjogMCAxMHB4IDIwcHg7IH0gfVxuICAuc2hhcmVfX25hdiBhIHtcbiAgICBjb2xvcjogaW5oZXJpdDtcbiAgICBib3JkZXItYm90dG9tOiBpbmhlcml0O1xuICAgIGZvbnQtc2l6ZTogMzBweDtcbiAgICBmb250LXNpemU6IDEuODc1cmVtO1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBib3JkZXI6IDFweCBzb2xpZCAjZWJlYmViO1xuICAgIGNvbG9yOiAjMmVhMzkzO1xuICAgIHdpZHRoOiA1MHB4O1xuICAgIGhlaWdodDogNTBweDtcbiAgICBsaW5lLWhlaWdodDogNTBweDsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0MHB4KSB7XG4gICAgICAuc2hhcmVfX25hdiBhIHtcbiAgICAgICAgZm9udC1zaXplOiA1NXB4O1xuICAgICAgICBmb250LXNpemU6IDMuNDM3NXJlbTtcbiAgICAgICAgd2lkdGg6IDcwcHg7XG4gICAgICAgIGhlaWdodDogNzBweDtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDcwcHg7IH0gfVxuICAgIC5zaGFyZV9fbmF2IGE6aG92ZXIsIC5zaGFyZV9fbmF2IGE6Zm9jdXMge1xuICAgICAgYm9yZGVyLWNvbG9yOiAjNTU1OyB9XG4gICAgLnNoYXJlX19uYXYgYSBpIHtcbiAgICAgIGxpbmUtaGVpZ2h0OiBpbmhlcml0OyB9XG5cbi8qXG4gIENPTVBPTkVOVDogU0tJUC1MSU5LXG4qL1xuLnNraXAtbGluayB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgbGVmdDogLTk5OTllbTtcbiAgdG9wOiBhdXRvO1xuICB3aWR0aDogMXB4O1xuICBoZWlnaHQ6IDFweDtcbiAgb3ZlcmZsb3c6IGhpZGRlbjsgfVxuICAuc2tpcC1saW5rOmhvdmVyLCAuc2tpcC1saW5rOmZvY3VzIHtcbiAgICBwb3NpdGlvbjogc3RhdGljO1xuICAgIGxlZnQ6IGF1dG87XG4gICAgd2lkdGg6IGF1dG87XG4gICAgaGVpZ2h0OiBhdXRvO1xuICAgIG92ZXJmbG93OiB2aXNpYmxlOyB9XG5cbi8qXG4gIENPTVBPTkVOVDogU1RBVC1TRVRcbiovXG4uc3RhdC1zZXQge1xuICBtYXJnaW46IDM1cHggMDsgfVxuICAuc3RhdC1zZXQ6Zmlyc3QtY2hpbGQge1xuICAgIG1hcmdpbi10b3A6IDA7IH1cbiAgLnN0YXQtc2V0Omxhc3QtY2hpbGQge1xuICAgIG1hcmdpbi1ib3R0b206IDA7IH1cblxuLnN0YXQtc2V0X19pdGVtIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB3aWR0aDogMTAwJTtcbiAgbWF4LXdpZHRoOiAyMjBweDtcbiAgYm9yZGVyOiAxcHggc29saWQgIzU1NTtcbiAgcGFkZGluZzogMjBweDtcbiAgbWFyZ2luLXJpZ2h0OiAtNXB4O1xuICBtYXJnaW4tYm90dG9tOiAtMXB4OyB9XG4gIC5zdGF0LXNldC0taW52ZXJ0IC5zdGF0LXNldF9faXRlbSB7XG4gICAgYm9yZGVyLWNvbG9yOiAjZmZmOyB9XG4gIC5zdGF0LXNldC0tYmxhY2stYWxwaGEgLnN0YXQtc2V0X19pdGVtIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuNSk7IH1cblxuLypcbiAgQ09NUE9ORU5UOiBTVEFUXG4qL1xuLnN0YXRfX2xhYmVsIHtcbiAgZGlzcGxheTogYmxvY2s7IH1cblxuLnN0YXRfX2xhYmVsLS1zcGxpdDpiZWZvcmUsIC5zdGF0X19sYWJlbC0tc3BsaXQ6YWZ0ZXIge1xuICBjb250ZW50OiBcIlwiO1xuICBkaXNwbGF5OiB0YWJsZTsgfVxuXG4uc3RhdF9fbGFiZWwtLXNwbGl0OmFmdGVyIHtcbiAgY2xlYXI6IGJvdGg7IH1cblxuLnN0YXRfX2xhYmVsX19zdGFydCB7XG4gIGZsb2F0OiBsZWZ0OyB9XG5cbi5zdGF0X19sYWJlbF9fZW5kIHtcbiAgZmxvYXQ6IHJpZ2h0OyB9XG5cbi5zdGF0X192YWx1ZSB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBtYXJnaW46IDEycHggMCAwO1xuICBsaW5lLWhlaWdodDogMS4zOyB9XG4gIC5zdGF0LS1pbnZlcnQgLnN0YXRfX3ZhbHVlIHtcbiAgICBjb2xvcjogaW5oZXJpdDsgfVxuICAuc3RhdF9fdmFsdWUtLWJvcmRlciB7XG4gICAgYm9yZGVyLXRvcDogMnB4IHNvbGlkICNlYmViZWI7XG4gICAgcGFkZGluZy10b3A6IDE0cHg7IH1cblxuLnN0YXRfX3ZhbHVlLS1wcm9ncmVzcyB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgaGVpZ2h0OiA1cHg7XG4gIGJhY2tncm91bmQ6ICNlYmViZWI7XG4gIGJvcmRlci1yYWRpdXM6IDEwcHg7XG4gIG1hcmdpbjogNDBweCAwIDI1cHg7IH1cblxuLnN0YXRfX3ZhbHVlX19saW5lIHtcbiAgaGVpZ2h0OiA1cHg7XG4gIGJhY2tncm91bmQ6ICNkMTQ0MTQ7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAwO1xuICBsZWZ0OiAwO1xuICB6LWluZGV4OiAxMDtcbiAgYm9yZGVyLXJhZGl1czogMTBweDtcbiAgYm9yZGVyLXJpZ2h0OiAxNXB4IHNvbGlkIHRyYW5zcGFyZW50O1xuICBib3JkZXItbGVmdDogMTVweCBzb2xpZCB0cmFuc3BhcmVudDsgfVxuXG4uc3RhdF9fdmFsdWVfX3JvdW5kYWwge1xuICBkaXNwbGF5OiBibG9jaztcbiAgd2lkdGg6IDUwcHg7XG4gIGhlaWdodDogNTBweDtcbiAgYm9yZGVyLXJhZGl1czogNTAlO1xuICBiYWNrZ3JvdW5kOiAjZDE0NDE0O1xuICBjb2xvcjogI2ZmZjtcbiAgbWFyZ2luLWxlZnQ6IC0yNXB4O1xuICBtYXJnaW4tdG9wOiAtMjNweDtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDA7XG4gIHJpZ2h0OiAtMjVweDtcbiAgei1pbmRleDogMjA7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgbGluZS1oZWlnaHQ6IDUwcHg7XG4gIGZvbnQtc3R5bGU6IGl0YWxpYztcbiAgYm94LXNoYWRvdzogMCAwIDAgM3B4IHdoaXRlOyB9XG5cbi8qXG4gIENPTVBPTkVOVDogU1RFUFNcbiovXG4uc3RlcHMge1xuICBtYXgtd2lkdGg6IDExNjBweDtcbiAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gIG1hcmdpbi1yaWdodDogYXV0bztcbiAgbWFyZ2luLXRvcDogMjVweDtcbiAgbWFyZ2luLWJvdHRvbTogMjVweDsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NjhweCkge1xuICAgIC5zdGVwcyB7XG4gICAgICBtYXJnaW4tdG9wOiA1MHB4OyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgICAuc3RlcHMge1xuICAgICAgbWFyZ2luLWJvdHRvbTogNTBweDsgfSB9XG5cbi5zdGVwc19fbGFiZWwge1xuICBtYXJnaW46IDA7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgZm9udC1mYW1pbHk6IFwiT3N3YWxkXCIsIHNhbnMtc2VyaWY7XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gIGxpbmUtaGVpZ2h0OiAxLjY7XG4gIGZvbnQtc2l6ZTogMjBweDtcbiAgZm9udC1zaXplOiAxLjI1cmVtOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0MHB4KSB7XG4gICAgLnN0ZXBzX19sYWJlbCB7XG4gICAgICBkaXNwbGF5OiBub25lOyB9IH1cblxuLnN0ZXBzX19saXN0IHtcbiAgbWFyZ2luOiAtMzBweCAwIDAgMDtcbiAgcGFkZGluZzogMDtcbiAgbGlzdC1zdHlsZTogbm9uZTtcbiAgY291bnRlci1yZXNldDogbXktYmFkYXNzLWNvdW50ZXI7XG4gIGZvbnQtZmFtaWx5OiBcIk9zd2FsZFwiLCBzYW5zLXNlcmlmO1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICBmb250LXdlaWdodDogbm9ybWFsO1xuICBsaW5lLWhlaWdodDogMS42O1xuICBmb250LXNpemU6IDE2cHg7XG4gIGZvbnQtc2l6ZTogMXJlbTtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBkaXNwbGF5OiBub25lOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0MHB4KSB7XG4gICAgLnN0ZXBzX19saXN0IHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrOyB9IH1cblxuLnN0ZXBzX19pdGVtIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBtYXJnaW46IDMwcHggMXB4IDA7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgY29sb3I6ICNkYmRiZGI7XG4gIHdpZHRoOiAxMDAlO1xuICB2ZXJ0aWNhbC1hbGlnbjogdG9wO1xuICBtYXgtd2lkdGg6IDEwMHB4OyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gICAgLnN0ZXBzX19pdGVtIHtcbiAgICAgIG1heC13aWR0aDogMTIwcHg7XG4gICAgICBtYXJnaW4tbGVmdDogMnB4O1xuICAgICAgbWFyZ2luLXJpZ2h0OiAycHg7IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMDI0cHgpIHtcbiAgICAuc3RlcHNfX2l0ZW0ge1xuICAgICAgbWF4LXdpZHRoOiAxNjBweDsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDEyMDFweCkge1xuICAgIC5zdGVwc19faXRlbSB7XG4gICAgICBtYXgtd2lkdGg6IDE3NXB4OyB9IH1cbiAgLnN0ZXBzX19pdGVtIHNwYW4ge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBsZWZ0OiAtOTk5OWVtO1xuICAgIHRvcDogYXV0bztcbiAgICB3aWR0aDogMXB4O1xuICAgIGhlaWdodDogMXB4O1xuICAgIG92ZXJmbG93OiBoaWRkZW47IH1cbiAgLnN0ZXBzX19pdGVtOmJlZm9yZSB7XG4gICAgY29udGVudDogY291bnRlcihteS1iYWRhc3MtY291bnRlcik7XG4gICAgY291bnRlci1pbmNyZW1lbnQ6IG15LWJhZGFzcy1jb3VudGVyO1xuICAgIGZvbnQtZmFtaWx5OiBcIkxhdG9cIiwgc2Fucy1zZXJpZjtcbiAgICBmb250LXdlaWdodDogbm9ybWFsO1xuICAgIGZvbnQtc2l6ZTogMThweDtcbiAgICBmb250LXNpemU6IDEuMTI1cmVtO1xuICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICAgIGxldHRlci1zcGFjaW5nOiBub3JtYWw7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIGJhY2tncm91bmQ6ICNkYmRiZGI7XG4gICAgYm9yZGVyLXJhZGl1czogNTAlO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIG1hcmdpbjogMCBhdXRvIDIwcHg7XG4gICAgY29sb3I6ICNmZmY7XG4gICAgd2lkdGg6IDUwcHg7XG4gICAgaGVpZ2h0OiA1MHB4O1xuICAgIGxpbmUtaGVpZ2h0OiA1MHB4OyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjQwcHgpIHtcbiAgICAgIC5zdGVwc19faXRlbTpiZWZvcmUge1xuICAgICAgICBmb250LXNpemU6IDI0cHg7XG4gICAgICAgIGZvbnQtc2l6ZTogMS41cmVtOyB9IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMDI0cHgpIHtcbiAgICAgIC5zdGVwc19faXRlbTpiZWZvcmUge1xuICAgICAgICBmb250LXNpemU6IDMycHg7XG4gICAgICAgIGZvbnQtc2l6ZTogMnJlbTsgfSB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTAyNHB4KSB7XG4gICAgICAuc3RlcHNfX2l0ZW06YmVmb3JlIHtcbiAgICAgICAgd2lkdGg6IDc1cHg7XG4gICAgICAgIGhlaWdodDogNzVweDtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDc0cHg7IH0gfVxuXG4uc3RlcHNfX2l0ZW0tLWN1cnJlbnQge1xuICBjb2xvcjogIzM2MzYzNjsgfVxuICAuc3RlcHNfX2l0ZW0tLWN1cnJlbnQ6YmVmb3JlIHtcbiAgICBiYWNrZ3JvdW5kOiAjZDE0NDE0OyB9XG5cbi8qXG4gIENPTVBPTkVOVDogQUNDT1JESU9OXG4qL1xuLnRhYnNfX25hdiB7XG4gIHdvcmQtc3BhY2luZzogLTRweDtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBtYXJnaW4tYm90dG9tOiA0MHB4O1xuICBkaXNwbGF5OiBub25lOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDEwMjRweCkge1xuICAgIC50YWJzX19uYXYge1xuICAgICAgZGlzcGxheTogYmxvY2s7IH0gfVxuXG4udGFic19fbmF2X190cmlnZ2VyIHtcbiAgY29sb3I6IGluaGVyaXQ7XG4gIGJvcmRlci1ib3R0b206IGluaGVyaXQ7XG4gIGZvbnQtZmFtaWx5OiBcIk9zd2FsZFwiLCBzYW5zLXNlcmlmO1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICBmb250LXdlaWdodDogbm9ybWFsO1xuICBsaW5lLWhlaWdodDogMS42O1xuICBmb250LXNpemU6IDE4cHg7XG4gIGZvbnQtc2l6ZTogMS4xMjVyZW07XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgYm9yZGVyOiAxcHggc29saWQgI2ViZWJlYiAhaW1wb3J0YW50O1xuICBwYWRkaW5nOiAyMHB4IDQwcHg7XG4gIHdvcmQtc3BhY2luZzogbm9ybWFsOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gICAgLnRhYnNfX25hdl9fdHJpZ2dlciB7XG4gICAgICBmb250LXNpemU6IDIwcHg7XG4gICAgICBmb250LXNpemU6IDEuMjVyZW07IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMjAxcHgpIHtcbiAgICAudGFic19fbmF2X190cmlnZ2VyIHtcbiAgICAgIGZvbnQtc2l6ZTogMjRweDtcbiAgICAgIGZvbnQtc2l6ZTogMS41cmVtOyB9IH1cbiAgLnRhYnNfX25hdi0tbHJnIC50YWJzX19uYXZfX3RyaWdnZXIge1xuICAgIGZvbnQtc2l6ZTogMzBweDtcbiAgICBmb250LXNpemU6IDEuODc1cmVtOyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNTIwcHgpIHtcbiAgICAgIC50YWJzX19uYXYtLWxyZyAudGFic19fbmF2X190cmlnZ2VyIHtcbiAgICAgICAgZm9udC1zaXplOiA0MHB4O1xuICAgICAgICBmb250LXNpemU6IDIuNXJlbTsgfSB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgICAgIC50YWJzX19uYXYtLWxyZyAudGFic19fbmF2X190cmlnZ2VyIHtcbiAgICAgICAgZm9udC1zaXplOiA0NXB4O1xuICAgICAgICBmb250LXNpemU6IDIuODEyNXJlbTsgfSB9XG4gICAgLnRhYnNfX25hdi0tbHJnIC50YWJzX19uYXZfX3RyaWdnZXIgaSB7XG4gICAgICBmbG9hdDogbGVmdDtcbiAgICAgIG1hcmdpbi1yaWdodDogMTBweDtcbiAgICAgIGZvbnQtc2l6ZTogNzBweDtcbiAgICAgIGZvbnQtc2l6ZTogNC4zNzVyZW07IH1cbiAgLnRhYnNfX25hdi0td2hpdGUgLnRhYnNfX25hdl9fdHJpZ2dlciB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcbiAgICBib3JkZXItY29sb3I6ICNmZmYgIWltcG9ydGFudDsgfVxuICAudGFic19fbmF2X190cmlnZ2VyW2RhdGEtdGFicy1uYXYtaXRlbT1cImFjdGl2ZVwiXSB7XG4gICAgYmFja2dyb3VuZDogIzJlYTM5MztcbiAgICBjb2xvcjogI2ZmZjtcbiAgICBib3JkZXItY29sb3I6ICMyZWEzOTMgIWltcG9ydGFudDsgfVxuICAudGFic19fbmF2X190cmlnZ2VyIHNwYW4ge1xuICAgIGNvbG9yOiBpbmhlcml0O1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgIzJlYTM5MzsgfVxuICAgIC50YWJzX19uYXZfX3RyaWdnZXIgc3Bhbjpob3ZlciB7XG4gICAgICBib3JkZXItYm90dG9tLXN0eWxlOiBkb3R0ZWQ7IH1cbiAgLnRhYnNfX25hdl9fdHJpZ2dlcjpob3ZlciBzcGFuLCAudGFic19fbmF2X190cmlnZ2VyOmZvY3VzIHNwYW4ge1xuICAgIGJvcmRlci1ib3R0b20tc3R5bGU6IGRvdHRlZDsgfVxuXG4udGFic19fZHJvcGRvd24ge1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICBtYXJnaW46IDAgYXV0byA0MHB4OyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDEwMjRweCkge1xuICAgIC50YWJzX19kcm9wZG93biB7XG4gICAgICBkaXNwbGF5OiBub25lOyB9IH1cblxuLmpzIC50YWJzX19pdGVtIHtcbiAgZGlzcGxheTogbm9uZTsgfVxuXG4udGFic19faXRlbVtkYXRhLXRhYnMtaXRlbT1cImFjdGl2ZVwiXSB7XG4gIGRpc3BsYXk6IGJsb2NrOyB9XG5cbi50YWJzX19pdGVtID4gKjpmaXJzdC1jaGlsZCB7XG4gIG1hcmdpbi10b3A6IDA7IH1cblxuLnRhYnNfX2l0ZW0gPiAqOmxhc3QtY2hpbGQge1xuICBtYXJnaW4tYm90dG9tOiAwOyB9XG5cbi8qXG4gIENPTVBPTkVOVDogVElUTEVcbiovXG4qOm5vdChmb3JtKSA+IC50aXRsZSB7XG4gIG1heC13aWR0aDogOTIwcHg7XG4gIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICBtYXJnaW4tcmlnaHQ6IGF1dG87XG4gIHRleHQtYWxpZ246IGNlbnRlcjsgfVxuICAqOm5vdChmb3JtKSA+IC50aXRsZTpmaXJzdC1jaGlsZCB7XG4gICAgbWFyZ2luLXRvcDogMDsgfVxuICAqOm5vdChmb3JtKSA+IC50aXRsZTpsYXN0LWNoaWxkIHtcbiAgICBtYXJnaW4tYm90dG9tOiAwOyB9XG5cbio6bm90KGZvcm0pID4gLnRpdGxlLS1kb3Qge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHBhZGRpbmctYm90dG9tOiAzMHB4O1xuICBtYXJnaW4tYm90dG9tOiAyNXB4OyB9XG4gICo6bm90KGZvcm0pID4gLnRpdGxlLS1kb3QuaC1wcmltYXJ5IHtcbiAgICBtYXJnaW4tYm90dG9tOiAzNXB4OyB9XG4gICo6bm90KGZvcm0pID4gLnRpdGxlLS1kb3Q6YWZ0ZXIge1xuICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGJvdHRvbTogMDtcbiAgICBsZWZ0OiAwO1xuICAgIHJpZ2h0OiAwO1xuICAgIG1hcmdpbjogYXV0bztcbiAgICB3aWR0aDogOXB4O1xuICAgIGhlaWdodDogOXB4O1xuICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjNTU1OyB9XG4gICAgLmNsci10ZWFsICo6bm90KGZvcm0pID4gLnRpdGxlLS1kb3Q6YWZ0ZXIsXG4gICAgLmNsci1ncmV5LWRhcmsgKjpub3QoZm9ybSkgPiAudGl0bGUtLWRvdDphZnRlciwgLmhlcm9fX2NvbnRlbnQgKjpub3QoZm9ybSkgPiAudGl0bGUtLWRvdDphZnRlciwgLm92ZXJsYXlzX19pdGVtX19jb250ZW50ICo6bm90KGZvcm0pID4gLnRpdGxlLS1kb3Q6YWZ0ZXIsXG4gICAgLmNsci15ZWxsb3cgKjpub3QoZm9ybSkgPiAudGl0bGUtLWRvdDphZnRlciB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmOyB9XG5cbio6bm90KGZvcm0pID4gLnRpdGxlLS1tYXJnaW4tc21sIHtcbiAgbWFyZ2luLXRvcDogMC44ZW07XG4gIG1hcmdpbi1ib3R0b206IDAuOGVtOyB9XG5cbio6bm90KGZvcm0pID4gLnRpdGxlX19zdWIge1xuICBkaXNwbGF5OiBibG9jaztcbiAgZm9udC1zaXplOiAxOHB4O1xuICBmb250LXNpemU6IDEuMTI1cmVtO1xuICBjb2xvcjogIzM2MzYzNjtcbiAgbWFyZ2luLWJvdHRvbTogMC40ZW07IH1cbiAgLmNsci10ZWFsICo6bm90KGZvcm0pID4gLnRpdGxlX19zdWIsXG4gIC5jbHItZ3JleS1kYXJrICo6bm90KGZvcm0pID4gLnRpdGxlX19zdWIsIC5oZXJvX19jb250ZW50ICo6bm90KGZvcm0pID4gLnRpdGxlX19zdWIsIC5vdmVybGF5c19faXRlbV9fY29udGVudCAqOm5vdChmb3JtKSA+IC50aXRsZV9fc3ViIHtcbiAgICBjb2xvcjogI2ZmZjsgfVxuXG4uZGVtby1ncmlkIC5ncmlkIHtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICB3b3JkLXNwYWNpbmc6IC00cHg7XG4gIG1hcmdpbi1sZWZ0OiAtMjBweDsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NjhweCkge1xuICAgIC5kZW1vLWdyaWQgLmdyaWQge1xuICAgICAgbWFyZ2luLWxlZnQ6IC00MHB4OyB9IH1cbiAgLmRlbW8tZ3JpZCAuZ3JpZCBjb2RlIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBtYXJnaW46IDEwcHggMDtcbiAgICBiYWNrZ3JvdW5kOiAjZTFlMWUxO1xuICAgIHdoaXRlLXNwYWNlOiBub3JtYWw7XG4gICAgZm9udC1zaXplOiAxMHB4O1xuICAgIGZvbnQtc2l6ZTogMC42MjVyZW07IH1cbiAgLmRlbW8tZ3JpZCAuZ3JpZCBjb2RlIGNvZGUge1xuICAgIGJhY2tncm91bmQ6ICNjMWMxYzE7IH1cbiAgLmRlbW8tZ3JpZCAuZ3JpZCBjb2RlIGNvZGUgY29kZSB7XG4gICAgYmFja2dyb3VuZDogI2ExYTFhMTsgfVxuXG4uZGVtby1ncmlkIFtjbGFzc149XCJjb2wtXCJdIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB3b3JkLXNwYWNpbmc6IG5vcm1hbDtcbiAgdmVydGljYWwtYWxpZ246IHRvcDtcbiAgcGFkZGluZy1sZWZ0OiAyMHB4O1xuICB3aWR0aDogMTAwJTsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NjhweCkge1xuICAgIC5kZW1vLWdyaWQgW2NsYXNzXj1cImNvbC1cIl0ge1xuICAgICAgcGFkZGluZy1sZWZ0OiA0MHB4OyB9IH1cblxuLmRlbW8tZ3JpZCAuY29sLTEyLTEyIHtcbiAgd2lkdGg6IDEwMCU7IH1cblxuLmRlbW8tZ3JpZCAuY29sLTExLTEyIHtcbiAgd2lkdGg6IDkxLjY2NjclOyB9XG5cbi5kZW1vLWdyaWQgLmNvbC0xMC0xMiB7XG4gIHdpZHRoOiA4My4zMzM0JTsgfVxuXG4uZGVtby1ncmlkIC5jb2wtOS0xMiB7XG4gIHdpZHRoOiA3NSU7IH1cblxuLmRlbW8tZ3JpZCAuY29sLTgtMTIge1xuICB3aWR0aDogNjYuNjY2NyU7IH1cblxuLmRlbW8tZ3JpZCAuY29sLTctMTIge1xuICB3aWR0aDogNTguMzMzNCU7IH1cblxuLmRlbW8tZ3JpZCAuY29sLTYtMTIge1xuICB3aWR0aDogNTAlOyB9XG5cbi5kZW1vLWdyaWQgLmNvbC01LTEyIHtcbiAgd2lkdGg6IDQxLjY2NjclOyB9XG5cbi5kZW1vLWdyaWQgLmNvbC00LTEyIHtcbiAgd2lkdGg6IDMzLjMzMzQlOyB9XG5cbi5kZW1vLWdyaWQgLmNvbC0zLTEyIHtcbiAgd2lkdGg6IDI1JTsgfVxuXG4uZGVtby1ncmlkIC5jb2wtMi0xMiB7XG4gIHdpZHRoOiAxNi42NjY3JTsgfVxuXG4uZGVtby1ncmlkIC5jb2wtMS0xMiB7XG4gIHdpZHRoOiA4LjMzMzQlOyB9XG4iLCIvKlxuICBDT1JFOiBCVVRUT05TXG4gIEJ1dHRvbiBzdHlsZXMgZm9yIGJvdGggYnV0dG9uIGxpbmtzIGFuZCBmb3JtIGJ1dHRvbnNcbiovXG5cbiRidXR0b24td2lkdGg6IDE3NXB4O1xuJGJ1dHRvbi13aWR0aC13aWRlOiAzNzBweDtcblxuYnV0dG9uIHsgLy8gc3R5bGUgZGVmYXVsdCBidXR0b24gbGlrZSBsaW5rXG4gIGJvcmRlcjogMDtcbiAgcGFkZGluZzogMDtcbiAgZGlzcGxheTogaW5saW5lO1xuICBiYWNrZ3JvdW5kOiBub25lO1xuICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgQGluY2x1ZGUgdHlwZV9saW5rKCk7XG4gIGxpbmUtaGVpZ2h0OiBub3JtYWw7XG4gIGxldHRlci1zcGFjaW5nOiBpbmhlcml0O1xufVxuXG4uYnRuIHtcbiAgQGluY2x1ZGUgdHlwZV9saW5rX3Jlc2V0KCk7IC8vIGRvbid0IGluaGVyaXQgYW55IGxpbmsgc3R5bGluZ1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgbGluZS1oZWlnaHQ6IGluaGVyaXQ7XG4gIGNvbG9yOiBpbmhlcml0O1xuICBAaW5jbHVkZSBmb250X29zd2FsZCgpO1xuICBAaW5jbHVkZSBmb250X3NpemUoJGZzLW9zd2FsZC14eHhzbWwpO1xuICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIGJvcmRlci13aWR0aDogMnB4ICFpbXBvcnRhbnQ7XG4gIGJvcmRlci1zdHlsZTogc29saWQgIWltcG9ydGFudDtcbiAgYm9yZGVyLWNvbG9yOiAkY2xyLXRlYWw7XG4gIHBhZGRpbmc6IDEycHggNDBweDtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICB0cmFuc2l0aW9uOiBjb2xvciAwLjNzO1xuICAvLyBtYXgtd2lkdGg6ICR3LWNvbC0zO1xuICAvLyB3aWR0aDogMTAwJTtcbiAgLy8gbWluLXdpZHRoOiAyMjBweDtcbiAgbWF4LXdpZHRoOiAxMDAlO1xuICBtaW4td2lkdGg6ICRidXR0b24td2lkdGg7XG5cbiAgc3BhbiB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHotaW5kZXg6IDEwO1xuICAgIGJvcmRlcjogMDtcbiAgfVxuXG4gIC8vIGFuaW1hdGVkIGdyb3dpbmcgY2lyY2xlXG4gICY6YWZ0ZXIge1xuICAgIGNvbnRlbnQ6ICcnO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0cmFuc2l0aW9uOiBhbGwgMC4zcztcbiAgICB0b3A6IDUwJTtcbiAgICBsZWZ0OiA1MCU7XG4gICAgaGVpZ2h0OiAyMHB4O1xuICAgIHdpZHRoOiAyMHB4O1xuICAgIG1hcmdpbi10b3A6IC0xMHB4O1xuICAgIG1hcmdpbi1sZWZ0OiAtMTBweDtcbiAgICBiYWNrZ3JvdW5kOiAkY2xyLXRlYWw7XG4gICAgYm9yZGVyLXJhZGl1czogNTAlO1xuICAgIG9wYWNpdHk6IDA7XG4gICAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDAuM3MsIG9wYWNpdHkgMC4zczsgLy8gY2xvc2luZyBhbmltYXRpb25cblxuICAgIC5sdGUtaWU4ICYge1xuICAgICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuICAgIH1cbiAgfVxuXG4gIEBpbmNsdWRlIGhvdmVyLWZvY3VzKCkge1xuICAgIGNvbG9yOiAkY2xyLXdoaXRlICFpbXBvcnRhbnQ7XG5cbiAgICAmOmFmdGVyIHtcbiAgICAgIG9wYWNpdHk6IDE7XG4gICAgICB0cmFuc2Zvcm06IHNjYWxlKDIwKTtcbiAgICAgIHRyYW5zaXRpb246IHRyYW5zZm9ybSAwLjVzLCBvcGFjaXR5IDAuMXM7IC8vIG9wZW5pbmcgYW5pbWF0aW9uXG4gICAgfVxuICB9XG5cbiAgJjphY3RpdmUge1xuICAgIC8vIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAvLyB0b3A6IDFweDtcbiAgfVxuXG4gIC5jbHItdGVhbCAmICB7IEBleHRlbmQgLmJ0bi0taW52ZXJ0OyB9XG5cbiAgLmNsci1ncmV5LWRhcmsgJixcbiAgLmNsci1ibGFjayAmLFxuICAuY2xyLWJsYWNrLWFscGhhICYgeyBAZXh0ZW5kIC5idG4tLXRleHQtaW52ZXJ0OyB9XG59XG5cbi5idG4tLXNtYWxsIHtcbiAgLy9AaW5jbHVkZSBmb250LXNpemUoJGZzLW9zd2FsZC14eHhzbWwpO1xuICAvLyBwYWRkaW5nOiAxMHB4IDE1cHg7XG4gIC8vIG1pbi13aWR0aDogMDtcbiAgLy8gbWluLXdpZHRoOiAxNzVweDtcbiAgLy9tYXgtd2lkdGg6ICR3LWNvbC0yO1xufVxuXG4uYnRuLS1mbHVpZCB7XG4gIG1pbi13aWR0aDogMDtcbiAgd2lkdGg6IDEwMCU7XG4gIG1heC13aWR0aDogJGJ1dHRvbi13aWR0aDtcbn1cblxuLmJ0bi0td2lkZSB7XG4gIG1heC13aWR0aDogJGJ1dHRvbi13aWR0aC13aWRlO1xuICB3aWR0aDogMTAwJTtcbiAgbWluLXdpZHRoOiAwO1xufVxuXG4uYnRuLS1wcmltYXJ5IHtcbiAgY29sb3I6ICRjbHItd2hpdGUgIWltcG9ydGFudDtcbiAgYmFja2dyb3VuZDogJGNsci10ZWFsO1xuICAmOmFmdGVyIHsgYmFja2dyb3VuZDogJGNsci13aGl0ZTsgfVxuICBAaW5jbHVkZSBob3Zlci1mb2N1cygpIHsgY29sb3I6ICRjbHItZ3JleS1kYXJrICFpbXBvcnRhbnQ7IH1cbn1cblxuLmJ0bi0taW52ZXJ0IHtcbiAgY29sb3I6ICRjbHItd2hpdGU7XG4gIGJvcmRlci1jb2xvcjogJGNsci13aGl0ZTtcbiAgJjphZnRlciB7IGJhY2tncm91bmQ6ICRjbHItd2hpdGU7IH1cbiAgQGluY2x1ZGUgaG92ZXItZm9jdXMoKSB7IGNvbG9yOiAkY2xyLWdyZXktZGFyayAhaW1wb3J0YW50OyB9XG59XG5cbi5idG4tLXRleHQtaW52ZXJ0IHtcbiAgY29sb3I6ICRjbHItd2hpdGU7XG59XG4iLCIvKlxuICBDT1JFOiBDT0xPUlxuICBGb3IgY29sb3VyaW5nIGJhY2tncm91bmQvZm9yZWdyb3VuZCBpbiBtb2R1bGVzXG4gIENhbiBlaXRoZXIgYWRkIGNvbG91ciBoZWxwZXIgY2xhc3MgdG8gd3JhcHBpbmcgZWxlbWVudCwgQGV4dGVuZCB0aGUgY2xhc3NlcyBvciB1c2UgdGhlIGNscl9oZWxwZXIoKSBtaXhpbi5cbiovXG5cbkBtaXhpbiBjbHJfaGVscGVyX2FscGhhKCRiZy1jb2xvciwkYWxwaGEpIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgkYmctY29sb3IsJGFscGhhKTtcbn1cblxuQG1peGluIGNscl9oZWxwZXIoJGJnLWNvbG9yOiRjbHItd2hpdGUsJGNvbG9yOmZhbHNlLCRsaW5rLWNvbG9yOmZhbHNlLCRsaW5rLXVuZGVybGluZS1jb2xvcjppbmhlcml0LCRoZWFkaW5nLWNvbG9yOmZhbHNlLCRhbHBoYTpmYWxzZSkge1xuICBAaWYgKCRhbHBoYSkge1xuICAgIEBpbmNsdWRlIGNscl9oZWxwZXJfYWxwaGEoJGJnLWNvbG9yLCRhbHBoYSk7XG4gIH0gQGVsc2Uge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRiZy1jb2xvcjtcbiAgfVxuXG4gIEBpZiAoJGNvbG9yKSB7XG4gICAgY29sb3I6ICRjb2xvcjtcbiAgfVxuXG4gIEBpZiAoJGhlYWRpbmctY29sb3IpIHtcbiAgICBoMSwgaDIsIGgzLCBoNCwgaDUgeyBjb2xvcjogJGhlYWRpbmctY29sb3I7IH1cbiAgfVxuXG4gIEBpZiAoJGxpbmstY29sb3IpIHtcbiAgICBhIHtcbiAgICAgIEBpbmNsdWRlIHR5cGVfbGluaygkbGluay1jb2xvciwkbGluay11bmRlcmxpbmUtY29sb3IpO1xuICAgIH1cbiAgfVxufVxuXG4uY2xyIHsgLy8gaGVscGVyIGNsYXNzXG5cbiAgJi10ZWFsIHsgQGluY2x1ZGUgY2xyX2hlbHBlcigkY2xyLXRlYWwsJGNsci13aGl0ZSwkY2xyLXdoaXRlLCRjbHItd2hpdGUsJGNsci13aGl0ZSk7IH1cbiAgJi15ZWxsb3cgeyBAaW5jbHVkZSBjbHJfaGVscGVyKCRjbHIteWVsbG93LCRjbHItZ3JleS1kYXJrLCRjbHItZ3JleS1kYXJrLCRjbHItdGVhbCwkY2xyLW9yYW5nZSk7IH1cbiAgJi1wdXJwbGUgeyBAaW5jbHVkZSBjbHJfaGVscGVyKCRjbHItcHVycGxlLCRjbHItd2hpdGUsJGNsci13aGl0ZSwkY2xyLXdoaXRlLCRjbHItd2hpdGUpOyB9XG5cbiAgJi1ncmV5LWRhcmsgeyBAaW5jbHVkZSBjbHJfaGVscGVyKCRjbHItZ3JleS1kYXJrLCRjbHItd2hpdGUsJGNsci13aGl0ZSwkY2xyLXRlYWwsJGNsci13aGl0ZSk7IH1cbiAgJi1ncmV5LWxpZ2h0IHsgQGluY2x1ZGUgY2xyX2hlbHBlcigkY2xyLWdyZXktbGlnaHQsJGNsci1ncmV5LWRhcmssJGNsci1ncmV5LWRhcmssJGNsci10ZWFsLCRjbHItb3JhbmdlKTsgfVxuXG4gICYtYmxhY2sgeyBAaW5jbHVkZSBjbHJfaGVscGVyKCRjbHItYmxhY2ssJGNsci13aGl0ZSwkY2xyLXdoaXRlLCRjbHItdGVhbCwkY2xyLXdoaXRlKTsgfVxuICAmLXdoaXRlIHsgQGluY2x1ZGUgY2xyX2hlbHBlcigkY2xyLXdoaXRlLCRjbHItZ3JleS1kYXJrLCRjbHItZ3JleS1kYXJrLCRjbHItdGVhbCwkY2xyLW9yYW5nZSk7IH1cblxufVxuXG4vLyBUZXh0IGhlbHBlcnNcbi5vcmFuZ2UgeyBjb2xvcjogJGNsci1vcmFuZ2U7IH1cblxuLy8gLmNsci10eHQgeyAvLyB0ZXh0IGhlbHBlciBjbGFzc1xuXG4vLyAgICYtdGVhbCB7IGNvbG9yOiAkY2xyLXRlYWw7IH1cbi8vICAgJi15ZWxsb3cgeyBjb2xvcjogJGNsci15ZWxsb3c7IH1cbi8vICAgJi1ncmV5LWRhcmsgeyBjb2xvcjogJGNsci1ncmV5LWRhcms7IH1cbi8vICAgJi1ncmV5LWxpZ2h0IHsgY29sb3I6ICRjbHItZ3JleS1saWdodDsgfVxuLy8gICAmLXdoaXRlIHsgY29sb3I6ICRjbHItd2hpdGU7IH1cblxuLy8gfVxuIiwiLypcbiAgQ09SRTogRk9STVNcbiovXG5cbiRwbGFjZWhvbGRlci1jb2xvcjogZGFya2VuKCRjbHItZ3JleS1saWdodCwyMCUpO1xuJGZvY3VzLWJvcmRlci1jb2xvcjogZGFya2VuKCRjbHItZ3JleS1saWdodCwyMCUpO1xuJGZvY3VzLWJveC1zaGFkb3c6IDAgMCAwIDNweCAkZm9jdXMtYm9yZGVyLWNvbG9yO1xuXG5mb3JtIHtcbiAgbWFyZ2luOiAwO1xufVxuXG4uZm9ybS0tc3RhbmRhcmQge1xuICBAaW5jbHVkZSBsYXlvdXQoJHctY29sLTgpO1xuICBAaW5jbHVkZSBtYXJnaW5fdmVydGljYWxfcmVzcG9uZCgkc3BhY2luZy1scmcpO1xuICBAaW5jbHVkZSBub19tYXJnaW5fZmlyc3Rfb3JfbGFzdCgpO1xufVxuXG4uZm9ybS0taW5saW5lIHtcblxuICBAaW5jbHVkZSByZXNwb25kX21pbigkYnAtdGFibGV0LW1pbikge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgd2lkdGg6IDEwMCU7XG4gIH1cbn1cblxuLmZvcm0tLXRpZ2h0IHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xufVxuXG5maWVsZHNldCB7XG4gIGJvcmRlcjogMDtcbiAgcGFkZGluZzogMDtcbiAgbWFyZ2luOiAwO1xufVxuXG5sZWdlbmQge1xuICBAaW5jbHVkZSBmb250X29zd2FsZCgpO1xuICBAaW5jbHVkZSByZXNwb25kX2ZvbnRfc2l6ZSgkZnMtb3N3YWxkLXh4eHNtbCwkdGFibGV0OiRmcy1vc3dhbGQteHhzbWwpO1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIG1hcmdpbjogMDtcbiAgd2lkdGg6IDEwMCU7XG59XG5cbi8vIEZJRUxEU1xuXG5pbnB1dFt0eXBlPVwidGV4dFwiXSxcbmlucHV0W3R5cGU9XCJlbWFpbFwiXSxcbmlucHV0W3R5cGU9XCJ0ZWxcIl0sXG5pbnB1dFt0eXBlPVwicGFzc3dvcmRcIl0sXG5pbnB1dFt0eXBlPVwibnVtYmVyXCJdLFxuaW5wdXRbdHlwZT1cInNlYXJjaFwiXSxcbmlucHV0W3R5cGU9XCJmaWxlXCJdLFxudGV4dGFyZWEsXG5zZWxlY3Qge1xuICBAaW5jbHVkZSBmb250X29zd2FsZCgpO1xuICBAaW5jbHVkZSByZXNwb25kX2ZvbnRfc2l6ZSgkZnMtb3N3YWxkLXh4eHNtbCwkdGFibGV0OiRmcy1vc3dhbGQteHNtbCk7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBib3JkZXItcmFkaXVzOiAwOyAvLyBnbyBhd2F5LCBXZWJraXRcbiAgd2lkdGg6IDEwMCU7XG4gIGJhY2tncm91bmQ6ICRjbHItd2hpdGU7XG4gIGJvcmRlcjogMXB4IHNvbGlkICRjbHItZ3JleS1saWdodDtcbiAgdGV4dC10cmFuc2Zvcm06IG5vbmU7XG4gIHBhZGRpbmc6IDEwcHg7XG4gIGNvbG9yOiAkY2xyLWdyZXktZGFyaztcblxuICAmOjpwbGFjZWhvbGRlciB7XG4gICAgb3BhY2l0eTogMTtcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgIC8vY29sb3I6ICRwbGFjZWhvbGRlci1jb2xvcjtcbiAgfVxuXG4gICY6Zm9jdXMge1xuICAgIG91dGxpbmU6IDA7XG4gICAgYm9yZGVyLWNvbG9yOiAkZm9jdXMtYm9yZGVyLWNvbG9yO1xuICAgIGJveC1zaGFkb3c6ICRmb2N1cy1ib3gtc2hhZG93O1xuICAgIC8vIGVuc3VyZSBmb2N1cyBzdHlsaW5nIGlzIG9uIHRvcFxuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB6LWluZGV4OiAxMDA7XG4gIH1cblxuICAmLmVycm9yLFxuICAmLmlucHV0LXZhbGlkYXRpb24tZXJyb3Ige1xuICAgIGJvcmRlci1jb2xvcjogJGNsci1mdXNjaGlhO1xuICAgIGNvbG9yOiAkY2xyLWZ1c2NoaWE7XG4gIH1cblxuICAuZmllbGQtLWZ1bGwgJiB7XG4gICAgbWF4LXdpZHRoOiBub25lO1xuICB9XG59XG5cbnRleHRhcmVhIHtcbiAgbWF4LXdpZHRoOiAxMDAlOyAvLyBwcmV2ZW50IGhvcml6b250YWwgcmVzaXplXG4gIG1pbi1oZWlnaHQ6IDEwMHB4O1xufVxuXG5zZWxlY3Qge1xuICB3aWR0aDogMTAwJTtcbiAgbWF4LXdpZHRoOiAkdy1jb2wtNDtcbiAgYm94LXNoYWRvdzogbm9uZTtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKC4uL2ltYWdlcy9iZy1jaGV2cm9uLWRvd24ucG5nKTtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogcmlnaHQgMTVweCB0b3AgNTMlO1xuICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICBiYWNrZ3JvdW5kLXNpemU6IDIwcHg7XG4gIHBhZGRpbmctcmlnaHQ6IDUwcHg7XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gIHdvcmQtd3JhcDogbm9ybWFsO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcbiAgLy8gbm90IHN1cHBvcnRlZCBieSBBdXRvcHJlZml4ZXJcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lO1xuICAtbW96LWFwcGVhcmFuY2U6IG5vbmU7XG4gICY6Oi1tcy1leHBhbmQgeyBkaXNwbGF5OiBub25lOyB9XG59XG5cbmlucHV0W3R5cGU9XCJjaGVja2JveFwiXSxcbmlucHV0W3R5cGU9XCJyYWRpb1wiXSB7XG4gIEBpbmNsdWRlIGFjY2Vzc2libGVfaGlkZSgpO1xuXG4gICYgKyAuZmllbGRfX2xhYmVsIHtcbiAgICBAaW5jbHVkZSBhY2Nlc3NpYmxlX2hpZGVfcmVzZXQoKTtcbiAgICBtYXJnaW46IDA7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gICAgJjphZnRlciB7XG4gICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgbGVmdDogLTM1cHg7XG4gICAgICB0b3A6IDRweDtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgIGJvcmRlcjogMnB4IHNvbGlkICRjbHItdGVhbDtcbiAgICAgIHdpZHRoOiAxNXB4O1xuICAgICAgaGVpZ2h0OiAxNXB4O1xuICAgIH1cbiAgfVxuXG4gICY6Zm9jdXMgKyAuZmllbGRfX2xhYmVsIHtcblxuICAgICY6YWZ0ZXIge1xuICAgICAgYm94LXNoYWRvdzogJGZvY3VzLWJveC1zaGFkb3c7XG4gICAgfVxuICB9XG5cbiAgJjpjaGVja2VkICsgLmZpZWxkX19sYWJlbCB7XG5cbiAgICAmOmFmdGVyIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICRjbHItdGVhbDtcbiAgICB9XG4gIH1cbn1cblxuaW5wdXRbdHlwZT1cInJhZGlvXCJdIHtcblxuICAmICsgLmZpZWxkX19sYWJlbCB7XG5cbiAgICAmOmFmdGVyIHtcbiAgICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgICB9XG4gIH1cbn1cblxuaW5wdXRbdHlwZT1cImNoZWNrYm94XCJdIHtcblxuICAmOmNoZWNrZWQgKyAuZmllbGRfX2xhYmVsIHtcblxuICAgICY6YmVmb3JlIHtcbiAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICBAZXh0ZW5kIC5pY29uO1xuICAgICAgQGV4dGVuZCAuaWNvbi1jaGVjaztcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHRvcDogNHB4O1xuICAgICAgbGVmdDogLTM0LjVweDtcbiAgICAgIGNvbG9yOiAkY2xyLXdoaXRlO1xuICAgICAgQGluY2x1ZGUgZm9udF9zaXplKCRpY29uLXNpemUteHNtbCk7XG4gICAgICB6LWluZGV4OiAxMDtcbiAgICB9XG4gIH1cbn1cblxuaW5wdXRbdHlwZT1cImZpbGVcIl0ge1xuICBtYXgtd2lkdGg6ICR3LWNvbC00O1xufVxuXG4vLyBXUkFQUEVSU1xuXG4uZmllbGQge1xuICBtYXJnaW46IDFlbSAwO1xuXG4gIC5mb3JtLS1pbmxpbmUgJiB7XG5cbiAgICBAaW5jbHVkZSByZXNwb25kX21pbigkYnAtdGFibGV0LW1pbikge1xuICAgICAgZmxleDogMTtcbiAgICAgIG1hcmdpbjogMDtcbiAgICB9XG4gIH1cblxuICAuZm9ybS0tdGlnaHQgJiB7XG4gICAgbWFyZ2luOiAwO1xuICAgIHdpZHRoOiAxMDAlO1xuICB9XG5cbiAgJi0tc21sIHsgbWF4LXdpZHRoOiAkdy1jb2wtMjsgfVxuICAmLS1tZWQgeyBtYXgtd2lkdGg6ICR3LWNvbC00OyB9XG4gICYtLWxyZyB7IG1heC13aWR0aDogJHctY29sLTY7IH1cbn1cblxuLmZpZWxkLS1ib29sZWFuIHtcbiAgbWFyZ2luOiAxLjRlbSAwO1xuICBwYWRkaW5nLWxlZnQ6IDM1cHg7XG5cbiAgLmZvcm1fX2dyb3VwLS1ib29sZWFucyAmIHtcbiAgICBtYXJnaW46IDAuNmVtIDAgMDtcbiAgfVxufVxuXG4uZmllbGRfX3ByZWZpeGVkIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gIGlucHV0IHtcbiAgICBwYWRkaW5nLWxlZnQ6IDMwcHg7XG4gIH1cbn1cblxuLmZpZWxkX19wcmVmaXhlZF9fcHJlZml4IHtcbiAgQGluY2x1ZGUgZm9udF9vc3dhbGQoKTtcbiAgQGluY2x1ZGUgcmVzcG9uZF9mb250X3NpemUoJGZzLW9zd2FsZC14c21sLCR0YWJsZXQ6JGZzLW9zd2FsZC1zbWwpO1xuICBjb2xvcjogJGNsci1vcmFuZ2U7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiA4cHg7XG4gIGxlZnQ6IDEycHg7XG4gIHotaW5kZXg6IDEwO1xufVxuXG4uZmllbGRfX3N1ZmZpeGVkIHtcblxuICBAaW5jbHVkZSByZXNwb25kX21pbigkYnAtdGFibGV0LW1pbikge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gIH1cblxuICBpbnB1dCB7XG5cbiAgICBAaW5jbHVkZSByZXNwb25kX21pbigkYnAtdGFibGV0LW1pbikge1xuICAgICAgZmxleDogMTtcbiAgICB9XG4gIH1cbn1cblxuLmZpZWxkX19zdWZmaXhlZF9fc3VmZml4IHtcbiAgQGluY2x1ZGUgZm9udF9vc3dhbGQoKTtcbiAgQGluY2x1ZGUgcmVzcG9uZF9mb250X3NpemUoJGZzLW9zd2FsZC14c21sLCR0YWJsZXQ6JGZzLW9zd2FsZC1zbWwpO1xuICBjb2xvcjogJGNsci1vcmFuZ2U7XG4gIG1hcmdpbi10b3A6IDhweDtcblxuICBAaW5jbHVkZSByZXNwb25kX21pbigkYnAtdGFibGV0LW1pbikge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBtYXJnaW4tbGVmdDogMTVweDtcbiAgfVxufVxuXG4vLyBMQUJFTFNcblxuLmZpZWxkX19sYWJlbCB7XG4gIEBpbmNsdWRlIGFjY2Vzc2libGVfaGlkZSgpO1xuICBAaW5jbHVkZSBmb250X29zd2FsZCgpO1xuICBAaW5jbHVkZSByZXNwb25kX2ZvbnRfc2l6ZSgkZnMtb3N3YWxkLXh4eHNtbCwkdGFibGV0OiRmcy1vc3dhbGQteHhzbWwpO1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIG1hcmdpbi1ib3R0b206IDAuMmVtO1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIHRleHQtdHJhbnNmb3JtOiBub25lO1xuXG4gIC5maWVsZC0tYm9vbGVhbiAmIHtcbiAgICBAaW5jbHVkZSBhY2Nlc3NpYmxlX2hpZGVfcmVzZXQoKTtcbiAgfVxufVxuXG4vLyBOT1RFUy9FUlJPUlNcblxuLmZpZWxkX19ub3RlIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGNvbG9yOiAkY2xyLWdyZXktbWlkO1xuICBAaW5jbHVkZSBmb250X3NpemUoJGZzLWxhdG8teHNtbCk7XG4gIG1hcmdpbi10b3A6IDAuMmVtO1xufVxuXG5sYWJlbC5lcnJvcixcbnNwYW4uZXJyb3Ige1xuICBAaW5jbHVkZSBhY2Nlc3NpYmxlX2hpZGVfcmVzZXQoKTtcbiAgQGV4dGVuZCAuZmllbGRfX25vdGU7XG4gIGNvbG9yOiAkY2xyLWZ1c2NoaWE7XG59XG5cbi5mb3JtX19ncm91cCB7XG4gIG1hcmdpbjogMS44ZW0gMDtcbn1cblxuLmZpZWxkX19yZXF1aXJlZCB7XG4gIGNvbG9yOiAkY2xyLWZ1c2NoaWE7XG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xuXG4gIGkge1xuICAgIEBpbmNsdWRlIGFjY2Vzc2libGVfaGlkZSgpO1xuICB9XG59XG5cbi5mb3JtX19zZWN0aW9uIHtcbiAgQGluY2x1ZGUgbWFyZ2luX3ZlcnRpY2FsX3Jlc3BvbmQoJHNwYWNpbmctbHJnKTtcbn1cblxuLmZpZWxkLWdyb3VwIHtcbiAgQGluY2x1ZGUgZ193cmFwO1xuICB0ZXh0LWFsaWduOiBsZWZ0O1xufVxuXG4uZmllbGQtZ3JvdXBfX2l0ZW0ge1xuICBAaW5jbHVkZSBnX2NvbCgpO1xuICB3aWR0aDogMTAwJTtcbiAgdGV4dC1hbGlnbjogbGVmdDtcblxuICAmLS1oYWxmIHtcbiAgICB3aWR0aDogNTAlO1xuICB9XG5cbiAgJi0tdGhpcmQge1xuICAgIHdpZHRoOiAzMy4zMzM0JTtcbiAgfVxuXG4gICYtLWZvdXJ0aCB7XG4gICAgd2lkdGg6IDI1JTtcbiAgfVxuXG4gICYtLXNlcGFyYXRvcixcbiAgJi0tZGFzaCB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gICAgJjpiZWZvcmUge1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgdG9wOiAyNXB4O1xuICAgICAgbGVmdDogMTZweDtcbiAgICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICAgICAgY29sb3I6ICRjbHItZ3JleS1taWQtbGlnaHQ7XG4gICAgICBAaW5jbHVkZSBmb250X3NpemUoJGZzLWxhdG8tbHJnKTtcbiAgICAgIGRpc3BsYXk6IG5vbmU7XG5cbiAgICAgIEBpbmNsdWRlIHJlc3BvbmRfbWluKCRicC10YWJsZXQtd2lkZS1taW4pIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgJi0tc2VwYXJhdG9yIHtcbiAgICAmOmJlZm9yZSB7XG4gICAgICBjb250ZW50OiBcIi9cIjtcbiAgICB9XG4gIH1cblxuICAmLS1kYXNoIHtcbiAgICAmOmJlZm9yZSB7XG4gICAgICBjb250ZW50OiBcIi1cIjtcbiAgICB9XG4gIH1cblxufVxuXG4uZm9ybV9fc2VjdGlvbl9fdGl0bGUge1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG59XG5cbi52YWxpZGF0aW9uLXN1bW1hcnktdmFsaWQge1xuICBkaXNwbGF5OiBub25lO1xufVxuXG4uZm9ybV9fZXJyb3JzLFxuLnZhbGlkYXRpb24tc3VtbWFyeS1lcnJvcnMge1xuICAvLyBkaXNwbGF5OiBub25lO1xuICBkaXNwbGF5OiBibG9jaztcbiAgbWFyZ2luOiAyZW0gMDtcbiAgcGFkZGluZzogJHNwYWNpbmcteHhzbWwgJHNwYWNpbmcteHNtbDtcbiAgYm9yZGVyLWxlZnQ6IDhweCBzb2xpZCAkY2xyLWZ1c2NoaWE7XG5cbiAgJi0tc2hvdyB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gIH1cblxuICAqIHtcbiAgICBAaW5jbHVkZSBub19tYXJnaW5fZmlyc3Rfb3JfbGFzdCgpO1xuICB9XG5cbiAgc3BhbiB7XG4gICAgY29sb3I6ICRjbHItZnVzY2hpYTtcbiAgfVxufVxuXG5cbi5mb3JtX19lcnJvcnNfX2xlYWQge1xuICBjb2xvcjogJGNsci1mdXNjaGlhO1xufVxuXG4uZm9ybV9fZXJyb3JzX19saXN0LFxuLnZhbGlkYXRpb24tc3VtbWFyeS1lcnJvcnMgdWwge1xuICBtYXJnaW46IDA7XG4gIC8vbGlzdC1zdHlsZTogbm9uZTtcblxuICBsaSB7XG4gICAgbWFyZ2luOiAwLjJlbSAwO1xuICAgIEBpbmNsdWRlIHJlc3BvbmRfZm9udF9zaXplKCRmcy1sYXRvLXhzbWwsJHRhYmxldC13aWRlOiRmcy1sYXRvLXNtbCk7XG4gIH1cbn1cblxuLy8gQUNUSU9OXG4uZm9ybV9fYWN0aW9uIHtcbiAgbWFyZ2luLXRvcDogMi41ZW07XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgQGluY2x1ZGUgY2xlYXJmaXgoKTtcblxuICAuZm9ybS0taW5saW5lICYge1xuICAgIG1hcmdpbjogMCAwIDAgJHNwYWNpbmcteHNtbDtcbiAgfVxuXG4gICYtLXNtYWxsIHtcbiAgICBtYXJnaW4tdG9wOiAyZW07XG4gIH1cbn1cblxuLmZvcm1fX2FjdGlvbl9fYmFjayB7XG4gIHBhZGRpbmctdG9wOiAkc3BhY2luZy14eHNtbDtcblxuICBAaW5jbHVkZSByZXNwb25kX21pbigkYnAtdGFibGV0LW1pbikge1xuICAgIGZsb2F0OiBsZWZ0O1xuICB9XG59XG5cbi5mb3JtX19hY3Rpb25fX2ZvcndhcmQge1xuXG4gIEBpbmNsdWRlIHJlc3BvbmRfbWluKCRicC10YWJsZXQtbWluKSB7XG4gICAgZmxvYXQ6IHJpZ2h0O1xuICB9XG59XG5cbi5mb3JtLS1zaW5nbGV0IHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xufVxuXG4uZm9ybS0tc2luZ2xldF9fZmllbGQge1xuICB3aWR0aDogMTAwJTtcbn1cblxuLmZvcm0tLXNpbmdsZXRfX2lucHV0IHtcbiAgd2lkdGg6IDEwMCU7XG4gIHBhZGRpbmctcmlnaHQ6IDU1cHggIWltcG9ydGFudDtcbn1cblxuLmZvcm0tLXNpbmdsZXRfX2FjdGlvbiB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAwO1xuICByaWdodDogMDtcbiAgaGVpZ2h0OiAxMDAlO1xuICB6LWluZGV4OiAxNTA7XG59XG5cbi5mb3JtLS1zaW5nbGV0X19idXR0b24ge1xuICBAaW5jbHVkZSB0eXBlX2xpbmtfcmVzZXQoKTtcbiAgYm9yZGVyLWJvdHRvbTogMDtcbiAgd2lkdGg6IDU0cHg7XG4gIGhlaWdodDogMTAwJTtcblxuICBpLFxuICAmOmJlZm9yZSB7IC8vIGlmIGljb25cbiAgICBAaW5jbHVkZSBmb250X3NpemUoJGljb24tc2l6ZS1tZWQpO1xuICB9XG59XG5cbi8vIEhlbHBlciBjbGFzcyBmb3IgRmllbGQgVG9nZ2xlIEpTXG5bZGF0YS1maWVsZC10b2dnbGUtaWQtc3RhdGU9XCJpbmFjdGl2ZVwiXSB7XG4gIC5qcyAmIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG59XG4iLCIvKlxuICBDT1JFXG4qL1xuXG5odG1sIHtcbiAgLXdlYmtpdC10ZXh0LXNpemUtYWRqdXN0OiAxMDAlOyAvLyBQcmV2ZW50cyBpT1Mgb3JpZW50YXRpb24gZm9udCByZXNpemUgYnVnXG4gIC8vIG92ZXJmbG93LXk6IHNjcm9sbDsgLy8gRGVmYXVsdCB0byBkaXNwbGF5aW5nIHZlcnRpY2FsIHNjcm9sbGJhciB0byBwcmV2ZW50ICdzY3JvbGxiYXIganVtcCdcbiAgZm9udC1zaXplOiAxZW07IC8vIH4xNnB4IGJhc2Vcbn1cblxuYm9keSB7XG4gIHdvcmQtd3JhcDogYnJlYWstd29yZDsgLy8gYnJlYWsgbG9uZyB3b3JkcyBvdmVyIHR3byBsaW5lcyBvbiBzbWFsbGVyIHNjcmVlbnNcbiAgYmFja2dyb3VuZDogJGNsci13aGl0ZTtcbiAgY29sb3I6ICRjbHItZ3JleS1kYXJrO1xufVxuXG4qIHtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbn1cblxuLy8gTUlTQ1xuXG5pZnJhbWUge1xuICBib3JkZXI6IDA7XG4gIG1heC13aWR0aDogMTAwJTtcbn1cblxuLmlzLWhpZGRlbiB7XG4gIGRpc3BsYXk6IG5vbmU7XG59XG5cbi5hY2Nlc3NpYmxlLWhpZGUge1xuICBAaW5jbHVkZSBhY2Nlc3NpYmxlX2hpZGUoKTtcbn1cbiIsIi8qXG4gIENPUkU6IElDT05TXG4gIEdlbmVyYXRlZCBmcm9tIGljb21vb24uaW8sIHNlZSAuLi9mb250cy9pY29ucy9SZWFkIE1lLnR4dCBmb3IgbW9yZVxuKi9cblxuQGZvbnQtZmFjZSB7XG4gICAgZm9udC1mYW1pbHk6ICdpY29tb29uJztcbiAgICBzcmM6ICAgIHVybCgnLi4vZm9udHMvaWNvbnMvaWNvbW9vbi5lb3Q/Zjc1bDBoJyk7XG4gICAgc3JjOiAgICB1cmwoJy4uL2ZvbnRzL2ljb25zL2ljb21vb24uZW90P2Y3NWwwaCNpZWZpeCcpIGZvcm1hdCgnZW1iZWRkZWQtb3BlbnR5cGUnKSxcbiAgICAgICAgdXJsKCcuLi9mb250cy9pY29ucy9pY29tb29uLnR0Zj9mNzVsMGgnKSBmb3JtYXQoJ3RydWV0eXBlJyksXG4gICAgICAgIHVybCgnLi4vZm9udHMvaWNvbnMvaWNvbW9vbi53b2ZmP2Y3NWwwaCcpIGZvcm1hdCgnd29mZicpLFxuICAgICAgICB1cmwoJy4uL2ZvbnRzL2ljb25zL2ljb21vb24uc3ZnP2Y3NWwwaCNpY29tb29uJykgZm9ybWF0KCdzdmcnKTtcbiAgICBmb250LXdlaWdodDogbm9ybWFsO1xuICAgIGZvbnQtc3R5bGU6IG5vcm1hbDtcbn1cblxuW2NsYXNzXj1cImljb24tXCJdLCBbY2xhc3MqPVwiIGljb24tXCJdLFxuLmljb24ge1xuICAgIC8qIHVzZSAhaW1wb3J0YW50IHRvIHByZXZlbnQgaXNzdWVzIHdpdGggYnJvd3NlciBleHRlbnNpb25zIHRoYXQgY2hhbmdlIGZvbnRzICovXG4gICAgZm9udC1mYW1pbHk6ICdpY29tb29uJyAhaW1wb3J0YW50O1xuICAgIHNwZWFrOiBub25lO1xuICAgIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgICBmb250LXdlaWdodDogbm9ybWFsO1xuICAgIGZvbnQtdmFyaWFudDogbm9ybWFsO1xuICAgIHRleHQtdHJhbnNmb3JtOiBub25lO1xuICAgIGxpbmUtaGVpZ2h0OiAxO1xuXG4gICAgLyogQmV0dGVyIEZvbnQgUmVuZGVyaW5nID09PT09PT09PT09ICovXG4gICAgLXdlYmtpdC1mb250LXNtb290aGluZzogYW50aWFsaWFzZWQ7XG4gICAgLW1vei1vc3gtZm9udC1zbW9vdGhpbmc6IGdyYXlzY2FsZTtcbn1cblxuLmljb24taGlkZS10ZXh0IHtcbiAgQGluY2x1ZGUgYWNjZXNzaWJsZV9oaWRlKCk7XG59XG5cbi5pY29uLWJhc2tldDpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwiXFxlOTEwXCI7XG59XG4uaWNvbi1lY2FyZDpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwiXFxlOTBlXCI7XG59XG4uaWNvbi1wb3N0Y2FyZDpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwiXFxlOTBmXCI7XG59XG4uaWNvbi1tZW51OmJlZm9yZSB7XG4gICAgY29udGVudDogXCJcXGU5MGNcIjtcbn1cbi5pY29uLWNyb3NzOmJlZm9yZSB7XG4gICAgY29udGVudDogXCJcXGU5MGRcIjtcbn1cbi5pY29uLWNoZWNrOmJlZm9yZSB7XG4gICAgY29udGVudDogXCJcXGU5MGJcIjtcbn1cbi5pY29uLWRvd246YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIlxcZTkwMFwiO1xufVxuLmljb24tZG93bmxvYWQ6YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIlxcZTkwMVwiO1xufVxuLmljb24tZmFjZWJvb2s6YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIlxcZTkwMlwiO1xufVxuLmljb24tZ29vZ2xlOmJlZm9yZSB7XG4gICAgY29udGVudDogXCJcXGU5MDNcIjtcbn1cbi5pY29uLW1haWw6YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIlxcZTkwNFwiO1xufVxuLmljb24tcGluOmJlZm9yZSB7XG4gICAgY29udGVudDogXCJcXGU5MDVcIjtcbn1cbi5pY29uLXBpbnRyZXN0OmJlZm9yZSB7XG4gICAgY29udGVudDogXCJcXGU5MDZcIjtcbn1cbi5pY29uLXF1b3RlOmJlZm9yZSB7XG4gICAgY29udGVudDogXCJcXGU5MDdcIjtcbn1cbi5pY29uLXNlYXJjaDpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwiXFxlOTA4XCI7XG59XG4uaWNvbi10d2l0dGVyOmJlZm9yZSB7XG4gICAgY29udGVudDogXCJcXGU5MDlcIjtcbn1cbi5pY29uLXVwOmJlZm9yZSB7XG4gICAgY29udGVudDogXCJcXGU5MGFcIjtcbn1cbiIsIi8qXG4gIENPUkU6IExBWU9VVCArIEdSSURcbiovXG5cbi5sYXlvdXQge1xuICBAaW5jbHVkZSBsYXlvdXQoKTtcbn1cblxuLmxheW91dC0tZ3V0dGVyZWQge1xuICBwYWRkaW5nLWxlZnQ6ICRzcGFjaW5nLXhzbWw7XG4gIHBhZGRpbmctcmlnaHQ6ICRzcGFjaW5nLXhzbWw7XG59XG5cbi5sYXlvdXQtLWZ1bGwge1xuICBtYXgtd2lkdGg6IG5vbmU7XG59XG5cbi5sYXlvdXQtLXJlZHVjZWQge1xuICBtYXgtd2lkdGg6ICR3LWNvbC0xMDtcbn1cblxuLmxheW91dC0tdGhpbiB7XG4gIG1heC13aWR0aDogJHctY29sLTg7XG59XG5cbi5sYXlvdXQtLXRpZ2h0IHtcbiAgbWF4LXdpZHRoOiAkdy1jb2wtNjtcbn1cbiIsIi8qXG4gIENPUkU6IE1FRElBXG4qL1xuXG5pbWcge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIG1heC13aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiBhdXRvO1xuICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICAvL21hcmdpbjogYXV0bztcbn1cblxuZmlndXJlIHtcbiAgbWFyZ2luOiAxLjJlbSAwO1xuICAvL3RleHQtYWxpZ246IGNlbnRlcjtcblxuICBmaWdjYXB0aW9uIHtcbiAgICBtYXJnaW4tdG9wOiAwLjVlbTtcbiAgICBmb250LXN0eWxlOiBpdGFsaWM7XG4gIH1cbn1cblxuLy8gLmZpZ3VyZS1maXR0ZXh0IHtcbi8vICAgZGlzcGxheTogdGFibGU7XG5cbi8vICAgZmlnY2FwdGlvbiB7XG4vLyAgICAgZGlzcGxheTogdGFibGUtY2FwdGlvbjtcbi8vICAgICBjYXB0aW9uLXNpZGU6IGJvdHRvbTtcbi8vICAgfVxuLy8gfVxuXG52aWRlbyB7IC8vIGh0bWw1IHZpZGVvIChub24taWZyYW1lKVxuICBtYXgtd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogYXV0bztcbn1cblxuLmltYWdlLWxlZnQge1xuICBkaXNwbGF5OiBibG9jaztcbiAgbWFyZ2luOiAwIGF1dG8gJHNwYWNpbmc7XG5cbiAgQGluY2x1ZGUgcmVzcG9uZF9taW4oJGJwLXRhYmxldC1taW4pIHtcbiAgICBmbG9hdDogbGVmdDtcbiAgICBtYXJnaW4tcmlnaHQ6ICRzcGFjaW5nO1xuICB9XG59XG5cbi5pbWFnZS1yaWdodCB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBtYXJnaW46IDAgYXV0byAkc3BhY2luZztcblxuICBAaW5jbHVkZSByZXNwb25kX21pbigkYnAtdGFibGV0LW1pbikge1xuICAgIGZsb2F0OiByaWdodDtcbiAgICBtYXJnaW4tbGVmdDogJHNwYWNpbmc7XG4gIH1cbn1cbiIsIi8qXG4gIENPUkU6IFBSSU5UXG4gIEJhc2ljIHByaW50IHN0eWxlc2hlZXQgdmlhIEg1QlBcbiovXG5cbkBtZWRpYSBwcmludCB7XG5cbiAgKiB7XG4gICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQgIWltcG9ydGFudDtcbiAgICBjb2xvcjogIzAwMCAhaW1wb3J0YW50OyAvLyBCbGFjayBwcmludHMgZmFzdGVyOiBoNWJwLmNvbS9zXG4gICAgYm94LXNoYWRvdzogbm9uZSAhaW1wb3J0YW50O1xuICAgIHRleHQtc2hhZG93OiBub25lICFpbXBvcnRhbnQ7XG4gIH1cblxuICBhLFxuICBhOnZpc2l0ZWQge1xuICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xuICB9XG5cbiAgYVtocmVmXTphZnRlciB7XG4gICAgY29udGVudDogXCIoXCIgYXR0cihocmVmKSBcIilcIjtcbiAgfVxuXG4gIGFiYnJbdGl0bGVdOmFmdGVyIHtcbiAgICBjb250ZW50OiBcIihcIiBhdHRyKHRpdGxlKSBcIilcIjtcbiAgfVxuXG4gIC8vIERvbid0IHNob3cgbGlua3MgZm9yIGltYWdlcywgb3IgamF2YXNjcmlwdC9pbnRlcm5hbCBsaW5rc1xuXG4gIC5pciBhOmFmdGVyLFxuICBhW2hyZWZePVwiamF2YXNjcmlwdDpcIl06YWZ0ZXIsXG4gIGFbaHJlZl49XCIjXCJdOmFmdGVyIHtcbiAgICBjb250ZW50OiBcIlwiO1xuICB9XG5cbiAgcHJlLFxuICBibG9ja3F1b3RlIHtcbiAgICBib3JkZXI6IDFweCBzb2xpZCAjOTk5O1xuICAgIHBhZ2UtYnJlYWstaW5zaWRlOiBhdm9pZDtcbiAgfVxuXG4gIHRoZWFkIHtcbiAgICBkaXNwbGF5OiB0YWJsZS1oZWFkZXItZ3JvdXA7IC8vIGg1YnAuY29tL3RcbiAgfVxuXG4gIHRyLFxuICBpbWcge1xuICAgIHBhZ2UtYnJlYWstaW5zaWRlOiBhdm9pZDtcbiAgfVxuXG4gIGltZyB7XG4gICAgbWF4LXdpZHRoOiAxMDAlICFpbXBvcnRhbnQ7XG4gIH1cblxuICBAcGFnZSB7XG4gICAgbWFyZ2luOiAwLjVjbTtcbiAgfVxuXG4gIHAsXG4gIGgyLFxuICBoMyB7XG4gICAgb3JwaGFuczogMztcbiAgICB3aWRvd3M6IDM7XG4gIH1cblxuICBoMixcbiAgaDMge1xuICAgIHBhZ2UtYnJlYWstYWZ0ZXI6IGF2b2lkO1xuICB9XG5cbn1cbiIsIi8qXG4gIENPUkU6IFRZUE9HUkFQSFlcbiovXG5cbmJvZHkge1xuICBAaW5jbHVkZSBmb250X2xhdG8oKTtcbiAgbGluZS1oZWlnaHQ6ICRsaC1ib2R5O1xuICBAaW5jbHVkZSBmb250X3NoYXJwZW4oKTtcbiAgbGV0dGVyLXNwYWNpbmc6ICRscy1ib2R5O1xuICBAaW5jbHVkZSByZXNwb25kX2ZvbnRfc2l6ZSgkZnMtbGF0by1zbWwsJHRhYmxldC13aWRlOiRmcy1sYXRvLW1lZCk7XG59XG5cbmgxLCBoMiwgaDMsIGg0LCBoNSxcbi5oMSwgLmgyLCAuaDMsIC5oNCwgLmg1IHtcbiAgQGluY2x1ZGUgdHlwZV9oZWFkaW5nKCk7XG4gIGNvbG9yOiAkY2xyLW9yYW5nZTtcbiAgbWFyZ2luOiAkbWFyZ2luLWhlYWRpbmcgMDtcbiAgbGV0dGVyLXNwYWNpbmc6ICRscy1oZWFkaW5nO1xuICAvLyB0ZXh0LWFsaWduOiBjZW50ZXI7XG59XG5cbmgxLCAuaDEgeyBAaW5jbHVkZSByZXNwb25kX2ZvbnRfc2l6ZSgkZnMtb3N3YWxkLW1lZCwkcGhhYmxldDokZnMtb3N3YWxkLWxyZywkdGFibGV0LXdpZGU6JGZzLW9zd2FsZC14bHJnKTsgfVxuaDIsIC5oMiB7IEBpbmNsdWRlIHJlc3BvbmRfZm9udF9zaXplKCRmcy1vc3dhbGQtc21sLCRwaGFibGV0OiRmcy1vc3dhbGQtbWVkLCR0YWJsZXQtd2lkZTokZnMtb3N3YWxkLWxyZyk7IH1cbmgzLCAuaDMgeyBAaW5jbHVkZSByZXNwb25kX2ZvbnRfc2l6ZSgkZnMtb3N3YWxkLXhzbWwsJHBoYWJsZXQ6JGZzLW9zd2FsZC1zbWwsJHRhYmxldC13aWRlOiRmcy1vc3dhbGQtbWVkKTsgfVxuaDQsIC5oNCB7IEBpbmNsdWRlIHJlc3BvbmRfZm9udF9zaXplKCRmcy1vc3dhbGQteHhzbWwsJHBoYWJsZXQ6JGZzLW9zd2FsZC14c21sLCR0YWJsZXQtd2lkZTokZnMtb3N3YWxkLXNtbCk7IH1cblxuaDUsIC5oNSB7XG4gIEBpbmNsdWRlIHJlc3BvbmRfZm9udF9zaXplKCRmcy1vc3dhbGQteHh4c21sLCRwaGFibGV0OiRmcy1vc3dhbGQteHhzbWwsJHRhYmxldC13aWRlOiRmcy1vc3dhbGQteHNtbCk7XG4gIC8vIEBpbmNsdWRlIGZvbnRfbGF0b19ib2xkKCk7XG4gIG1hcmdpbjogJG1hcmdpbi1jb3B5IDA7XG4gIGNvbG9yOiAkY2xyLWdyZXktZGFyaztcbiAgdGV4dC10cmFuc2Zvcm06IG5vbmU7XG4gIC8vIGxldHRlci1zcGFjaW5nOiAkbHMtYm9keTtcbn1cblxuLmgtcHJpbWFyeSB7XG4gIEBleHRlbmQgLmgxO1xuICBAaW5jbHVkZSByZXNwb25kX2ZvbnRfc2l6ZSgkZnMtb3N3YWxkLW1lZCwkdGFibGV0LXdpZGU6JGZzLW9zd2FsZC14eGxyZyk7XG59XG5cbi5oLXNlY29uZGFyeSB7XG4gIGNvbG9yOiAkY2xyLWdyZXktZGFyayAhaW1wb3J0YW50O1xufVxuXG4uaC1wYXJsaWFtZW50IHtcbiAgY29sb3I6ICRjbHItcHVycGxlICFpbXBvcnRhbnQ7XG59XG5cbi5oLXNtYWxsIHtcbiAgQGluY2x1ZGUgcmVzcG9uZF9mb250X3NpemUoJGZzLW9zd2FsZC14eHNtbCwkdGFibGV0LXdpZGU6JGZzLW9zd2FsZC14c21sKTtcbn1cblxuLy8gQWx0IGNvbG9yIChkYXJrIGdyZXkpXG4uaC1hbHQge1xuICBjb2xvcjogJGNsci1ncmV5LWRhcmsgIWltcG9ydGFudDtcblxuICAuY2xyLXRlYWwgJixcbiAgLmNsci1ncmV5LWRhcmsgJiB7XG4gICAgY29sb3I6ICRjbHItd2hpdGU7XG4gIH1cbn1cblxuYSB7XG4gIEBpbmNsdWRlIHR5cGVfbGluaygpO1xufVxuXG5iIHtcbiAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgQGV4dGVuZCAub3JhbmdlO1xufVxuXG4ubGVhZCB7XG4gIEBpbmNsdWRlIHR5cGVfbGVhZCgpO1xuICBtYXJnaW46IDEuNmVtIDA7XG59XG5cbi5sYXJnZSB7XG4gIEBpbmNsdWRlIHJlc3BvbmRfZm9udF9zaXplKCRmcy1sYXRvLW1lZCwkdGFibGV0LXdpZGU6JGZzLWxhdG8tbHJnKTtcbn1cblxucCB7XG4gIG1hcmdpbjogJG1hcmdpbi1jb3B5IDA7XG4gIC8vdGV4dC1hbGlnbjogY2VudGVyO1xufVxuXG51bCwgb2wge1xuICB0ZXh0LWFsaWduOiBsZWZ0O1xuICBtYXJnaW46IDMuNWVtIDA7XG4gIHBhZGRpbmctbGVmdDogMS41ZW07XG59XG5cbmxpIHtcbiAgbWFyZ2luOiAkbWFyZ2luLWNvcHkgMDtcblxuICB1bCwgb2wgeyAvLyBOZXN0ZWQgbGlzdHNcbiAgICBtYXJnaW46ICRtYXJnaW4tY29weSAwIDJlbTtcbiAgfVxuXG4gIGxpIHsgLy8gTmVzdGVkIGxpc3QgaXRlbVxuXG4gIH1cbn1cblxuLnVsLXRpZ2h0IHtcbiAgbWFyZ2luOiAkbWFyZ2luLWNvcHkgMDtcbn1cblxuLnVsLW1pbmkge1xuICBjb2xvcjogJGNsci1vcmFuZ2U7XG4gIG1hcmdpbjogMDtcbiAgcGFkZGluZzogMDtcbiAgbGlzdC1zdHlsZTogbm9uZTtcblxuICBsaSB7XG4gICAgbWFyZ2luOiAwLjVlbSAwIDA7XG5cbiAgICAmOmZpcnN0LWNoaWxkIHsgbWFyZ2luLXRvcDogMDsgfVxuICB9XG59XG5cbmJsb2NrcXVvdGUge1xuICBAaW5jbHVkZSB0eXBlX3F1b3RlKCk7XG4gIG1hcmdpbjogMS40ZW0gMDtcbiAgLy90ZXh0LWFsaWduOiBjZW50ZXI7XG5cbiAgY2l0ZSB7XG4gICAgQGluY2x1ZGUgZm9udF9sYXRvX2JvbGQoKTtcbiAgICBAaW5jbHVkZSByZXNwb25kX2ZvbnRfc2l6ZSgkZnMtbGF0by1zbWwsJHRhYmxldC13aWRlOiRmcy1sYXRvLW1lZCk7XG4gICAgZm9udC1zdHlsZTogbm9ybWFsO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIGNvbG9yOiAkY2xyLW9yYW5nZTtcbiAgICBtYXJnaW4tdG9wOiAkbWFyZ2luLWNvcHk7XG4gIH1cbn1cblxuc21hbGwsXG4uc21hbGwge1xuICAvLyBmb250LXNpemU6IDgwJTtcbiAgQGluY2x1ZGUgZm9udF9zaXplKCRmcy1sYXRvLXhzbWwpO1xufVxuIiwiLypcbiAgQ09NUE9ORU5UOiBBQ0NPUkRJT05cbiovXG5cbi5hY2NvcmRpb24ge1xuICBAaW5jbHVkZSBsYXlvdXQoJHctY29sLTgpO1xufVxuXG4uYWNjb3JkaW9uX19pdGVtX190cmlnZ2VyIHtcbiAgQGluY2x1ZGUgdHlwZV9saW5rX3Jlc2V0KCk7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBib3JkZXI6IDFweCBzb2xpZCAkY2xyLWdyZXktbGlnaHQ7XG4gIHBhZGRpbmc6IDAuNmVtIDUwcHggMC42ZW0gMC44ZW07XG4gIEBpbmNsdWRlIGZvbnRfb3N3YWxkKCk7XG4gIEBpbmNsdWRlIHJlc3BvbmRfZm9udF9zaXplKCRmcy1vc3dhbGQteHhzbWwsJHRhYmxldC13aWRlOiRmcy1vc3dhbGQteHNtbCk7XG4gIGJhY2tncm91bmQ6ICRjbHItZ3JleS1saWdodDtcbiAgY29sb3I6ICRjbHItZ3JleS1kYXJrO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgJjpiZWZvcmUge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDE0cHg7XG4gICAgcmlnaHQ6IDE1cHg7XG4gICAgQGV4dGVuZCAuaWNvbjtcbiAgICBAZXh0ZW5kIC5pY29uLWRvd247XG4gICAgY29sb3I6ICRjbHItdGVhbDtcbiAgICBAaW5jbHVkZSBmb250X3NpemUoJGljb24tc2l6ZS1zbWwpO1xuXG4gICAgQGluY2x1ZGUgcmVzcG9uZC1taW4oJGJwLXRhYmxldC13aWRlLW1pbikge1xuICAgICAgdG9wOiAxOHB4O1xuICAgIH1cbiAgfVxuXG4gIC5qcyAmIHtcblxuICAgICY6aG92ZXIge1xuICAgICAgYm9yZGVyLWNvbG9yOiAkY2xyLXRlYWw7XG4gICAgICBib3JkZXItc3R5bGU6IHNvbGlkOyAvLyBvdmVycmlkZSBkZWZhdWx0IGxpbmsgYm9yZGVyXG4gICAgfVxuICB9XG5cbiAgJltkYXRhLWFjY29yZGlvbi1uYXYtaXRlbT1cImFjdGl2ZVwiXSB7XG5cbiAgICAmOmJlZm9yZSB7XG4gICAgICBAZXh0ZW5kIC5pY29uLXVwO1xuICAgICAgdG9wOiAxMnB4O1xuXG4gICAgICBAaW5jbHVkZSByZXNwb25kLW1pbigkYnAtdGFibGV0LXdpZGUtbWluKSB7XG4gICAgICAgIHRvcDogMTZweDtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAuYWNjb3JkaW9uLS10YWJiZWQgJiB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxufVxuXG4uYWNjb3JkaW9uX19pdGVtIHtcbiAgbWFyZ2luOiAkc3BhY2luZy14eHhzbWwgMDtcbiAgQGluY2x1ZGUgbm9fbWFyZ2luX2ZpcnN0X29yX2xhc3QoKTtcbn1cblxuLmFjY29yZGlvbl9faXRlbV9fY29udGVudCB7XG4gIGJvcmRlcjogMnB4IHNvbGlkICRjbHItZ3JleS1saWdodDtcbiAgYm9yZGVyLXRvcDogMDtcbiAgLy8gcGFkZGluZzogJHNwYWNpbmcteHNtbDtcblxuICBAaW5jbHVkZSBwYWRkaW5nX3ZlcnRpY2FsX3Jlc3BvbmQoJHNwYWNpbmcpO1xuICBAaW5jbHVkZSBwYWRkaW5nX2hvcml6b250YWxfcmVzcG9uZCgkc3BhY2luZyk7XG5cbiAgLy8gQGluY2x1ZGUgcmVzcG9uZC1taW4oJGJwLWRlc2t0b3AtbWluKSB7XG4gIC8vICAgcGFkZGluZzogJHNwYWNpbmc7XG4gIC8vIH1cblxuICAuanMgJiB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxuXG4gIFtkYXRhLWFjY29yZGlvbi1pdGVtPVwiYWN0aXZlXCJdICYge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICB9XG5cbiAgPiAqIHtcbiAgICBAaW5jbHVkZSBub19tYXJnaW5fZmlyc3Rfb3JfbGFzdCgpO1xuICB9XG59XG4iLCIvKlxuICBDT01QT05FTlQ6IEFSVElDTEVcbiovXG5cbi5hcnRpY2xlIHtcbiAgQGluY2x1ZGUgcGFkZGluZ19ob3Jpem9udGFsX3Jlc3BvbmQoJHNwYWNpbmcpO1xuICBAaW5jbHVkZSBwYWRkaW5nX3RvcF9yZXNwb25kKCRzcGFjaW5nLCRzcGFjaW5nLXhzbWwpO1xuICBAaW5jbHVkZSBwYWRkaW5nX2JvdHRvbV9yZXNwb25kKCRzcGFjaW5nLCRzcGFjaW5nLXNtbCk7XG4gIEBpbmNsdWRlIGxheW91dCgkdy1jb2wtOCk7XG59XG5cbi5hcnRpY2xlX190aW1lc3RhbXAge1xuICBAaW5jbHVkZSBmb250X29zd2FsZCgpO1xuICBjb2xvcjogJGNsci1vcmFuZ2U7XG5cbiAgQGluY2x1ZGUgcmVzcG9uZC1taW4oJGJwLWRlc2t0b3Atd2lkZS1taW4pIHtcbiAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICB9XG59XG5cbi5hcnRpY2xlX190aXRsZSB7XG4gIG1hcmdpbjogMC41ZW0gMCAxLjVlbTtcbiAgQGluY2x1ZGUgbm9fbWFyZ2luX2ZpcnN0X29yX2xhc3QoKTtcblxuICBAaW5jbHVkZSByZXNwb25kLW1pbigkYnAtZGVza3RvcC13aWRlLW1pbikge1xuICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gIH1cbn1cblxuLmFydGljbGVfX3N1bW1hcnkge1xuXG4gIEBpbmNsdWRlIHJlc3BvbmQtbWluKCRicC1kZXNrdG9wLXdpZGUtbWluKSB7XG4gICAgQGluY2x1ZGUgY2xlYXJmaXgoKTtcbiAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICB9XG59XG5cbi5hcnRpY2xlX19tZWRpYSB7XG4gIG1hcmdpbi1ib3R0b206ICRzcGFjaW5nLXhzbWw7XG5cbiAgQGluY2x1ZGUgcmVzcG9uZC1taW4oJGJwLWRlc2t0b3Atd2lkZS1taW4pIHtcbiAgICBmbG9hdDogbGVmdDtcbiAgICBtYXJnaW4tcmlnaHQ6ICRzcGFjaW5nLXNtbDtcbiAgfVxuXG4gIEBpbmNsdWRlIHJlc3BvbmQtbWluKCRicC1zaXRlLW1pbikge1xuICAgIG1hcmdpbi1yaWdodDogJHNwYWNpbmc7XG4gIH1cbn1cblxuLmFydGljbGVfX2NvcHkge1xuXG4gIEBpbmNsdWRlIHJlc3BvbmQtbWluKCRicC1kZXNrdG9wLXdpZGUtbWluKSB7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgfVxuXG4gID4gKiB7XG4gICAgQGluY2x1ZGUgbm9fbWFyZ2luX2ZpcnN0X29yX2xhc3QoKTtcbiAgfVxufVxuXG4uYXJ0aWNsZV9fYWN0aW9uIHtcbiAgbWFyZ2luLWJvdHRvbTogMDtcbn1cbiIsIi8qXG4gIENPTVBPTkVOVDogQkFTS0VUXG4qL1xuXG4uYmFza2V0IHtcbiAgQGluY2x1ZGUgbGF5b3V0KCk7XG59XG5cbi5iYXNrZXRfX2lubmVyIHtcblxuICBAaW5jbHVkZSByZXNwb25kX21pbigkYnAtZGVza3RvcC1taW4pIHtcbiAgICBAaW5jbHVkZSBnX3dyYXAoKTtcbiAgfVxufVxuXG4vLyBPVkVSVklFV1xuXG4uYmFza2V0X19vdmVydmlldyB7XG4gIG1hcmdpbi1ib3R0b206ICRzcGFjaW5nO1xuXG4gIEBpbmNsdWRlIHJlc3BvbmRfbWluKCRicC1kZXNrdG9wLW1pbikge1xuICAgIEBpbmNsdWRlIGdfY29sKCk7XG4gICAgd2lkdGg6ICR3LWZsdWlkLWNvbC00O1xuICAgIGZsb2F0OiByaWdodDtcbiAgICBtYXJnaW46IDA7XG4gIH1cbn1cblxuLmJhc2tldF9fb3ZlcnZpZXdfX2lubmVyIHtcbiAgYm9yZGVyOiAxcHggc29saWQgJGNsci1ncmV5LWxpZ2h0O1xuICBAaW5jbHVkZSBwYWRkaW5nX3ZlcnRpY2FsX3Jlc3BvbmQoJHNwYWNpbmcpO1xuICBAaW5jbHVkZSBwYWRkaW5nX2hvcml6b250YWxfcmVzcG9uZCgkc3BhY2luZyk7XG59XG5cbi5iYXNrZXRfX292ZXJ2aWV3X190b3RhbCB7XG4gIHRleHQtYWxpZ246IGxlZnQ7XG59XG5cbi5iYXNrZXRfX292ZXJ2aWV3X19pdGVtIHtcbiAgQGluY2x1ZGUgY2xlYXJmaXgoKTtcbiAgbWFyZ2luLXRvcDogJHNwYWNpbmcteHNtbDtcblxuICAmOmZpcnN0LWNoaWxkIHtcbiAgICBtYXJnaW4tdG9wOiAwO1xuICB9XG5cbiAgc3BhbiB7XG4gICAgZmxvYXQ6IGxlZnQ7XG4gICAgd2lkdGg6IDUwJTtcbiAgfVxufVxuXG4uYmFza2V0X19vdmVydmlld19fbGFiZWwge1xuICBjb2xvcjogJGNsci1vcmFuZ2U7XG5cbiAgLmJhc2tldF9fb3ZlcnZpZXdfX2l0ZW0tLXRvdGFsICYge1xuICAgIGNvbG9yOiBpbmhlcml0O1xuICB9XG59XG5cbi5iYXNrZXRfX292ZXJ2aWV3X192YWx1ZSB7XG5cbiAgLmJhc2tldF9fb3ZlcnZpZXdfX2l0ZW0tLXRvdGFsICYge1xuICAgIGNvbG9yOiAkY2xyLW9yYW5nZTtcbiAgfVxufVxuXG4uYmFza2V0X19vdmVydmlld19faXRlbS0tdG90YWwge1xuICBAaW5jbHVkZSB0eXBlX2hlYWRpbmcoKTtcbiAgQGluY2x1ZGUgcmVzcG9uZF9mb250X3NpemUoJGZzLW9zd2FsZC14c21sLCRwaGFibGV0OiRmcy1vc3dhbGQtc21sLCR0YWJsZXQtd2lkZTokZnMtb3N3YWxkLW1lZCk7XG4gIGJvcmRlci10b3A6IDFweCBzb2xpZCAkY2xyLWdyZXktbGlnaHQ7XG4gIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAkY2xyLWdyZXktbGlnaHQ7XG4gIHBhZGRpbmc6ICRzcGFjaW5nLXhzbWwgMDtcbiAgbWFyZ2luOiAkc3BhY2luZyAwO1xufVxuXG4uYmFza2V0X19vdmVydmlld19fYWN0aW9ucyB7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcblxuICAuYmFza2V0X19jaGVja291dCB7XG5cbiAgfVxuXG4gIC5iYXNrZXRfX3BheXBhbCB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIG1hcmdpbi10b3A6IDAuOGVtO1xuICAgIEBpbmNsdWRlIHR5cGVfaGVhZGluZygpO1xuICAgIHRleHQtdHJhbnNmb3JtOiBub25lO1xuICAgIEBpbmNsdWRlIHJlc3BvbmRfZm9udF9zaXplKCRmcy1vc3dhbGQteHh4c21sLCRwaGFibGV0OiRmcy1vc3dhbGQteHhzbWwsJHRhYmxldC13aWRlOiRmcy1vc3dhbGQteHNtbCk7XG4gIH1cbn1cblxuLmJhc2tldF9fc3VtbWFyeSB7XG5cbiAgQGluY2x1ZGUgcmVzcG9uZF9taW4oJGJwLWRlc2t0b3AtbWluKSB7XG4gICAgQGluY2x1ZGUgZ19jb2woKTtcbiAgICB3aWR0aDogJHctZmx1aWQtY29sLTg7XG4gIH1cbn1cblxuLy8gTElTVFxuXG4uYmFza2V0X19saXN0IHtcbiAgYm9yZGVyLXRvcDogMXB4IHNvbGlkICRjbHItZ3JleS1saWdodDtcbiAgQGluY2x1ZGUgbWFyZ2luX2JvdHRvbV9yZXNwb25kKCRzcGFjaW5nLXhscmcpO1xufVxuXG4uYmFza2V0X19pdGVtIHtcbiAgLy8gQGluY2x1ZGUgcGFkZGluZ192ZXJ0aWNhbF9yZXNwb25kKCRzcGFjaW5nKTtcbiAgcGFkZGluZzogJHNwYWNpbmcgMDtcbiAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICRjbHItZ3JleS1saWdodDtcblxuICBAaW5jbHVkZSByZXNwb25kX21pbigkYnAtdGFibGV0LW1pbikge1xuICAgIEBpbmNsdWRlIGNsZWFyZml4KCk7XG4gIH1cbn1cblxuLmJhc2tldF9faXRlbV9faW5uZXIge1xuXG4gIEBpbmNsdWRlIHJlc3BvbmRfbWluKCRicC10YWJsZXQtbWluKSB7XG4gICAgQGluY2x1ZGUgZ193cmFwKCk7XG4gIH1cbn1cblxuLmJhc2tldF9faXRlbV9fbWVkaWEge1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIG1hcmdpbi1ib3R0b206ICRzcGFjaW5nLXhzbWw7XG5cbiAgQGluY2x1ZGUgcmVzcG9uZF9taW4oJGJwLXRhYmxldC1taW4pIHtcbiAgICBtYXJnaW46IDA7XG4gICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICBAaW5jbHVkZSBnX2NvbCgpO1xuICAgIHdpZHRoOiAyNSU7XG4gIH1cbn1cblxuLmJhc2tldF9faXRlbV9faW5mbyB7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcblxuICBAaW5jbHVkZSByZXNwb25kX21pbigkYnAtdGFibGV0LW1pbikge1xuICAgIEBpbmNsdWRlIGdfY29sKCk7XG4gICAgd2lkdGg6IDc1JTtcbiAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICB9XG59XG5cbi5iYXNrZXRfX2l0ZW1fX3RpdGxlIHtcbiAgbWFyZ2luOiAwIDAgMC42ZW07XG5cbiAgQGluY2x1ZGUgcmVzcG9uZF9taW4oJGJwLXRhYmxldC1taW4pIHtcbiAgICBmbG9hdDogbGVmdDtcbiAgICB3aWR0aDogNjYuNjY2NyU7XG4gIH1cbn1cblxuLmJhc2tldF9faXRlbV9fcHJpY2Uge1xuICBtYXJnaW46IDAgMCAwLjZlbTtcblxuICBAaW5jbHVkZSByZXNwb25kX21pbigkYnAtdGFibGV0LW1pbikge1xuICAgIGZsb2F0OiByaWdodDtcbiAgICB3aWR0aDogMzMuMzMzNCU7XG4gICAgcGFkZGluZy1sZWZ0OiAkc3BhY2luZztcbiAgfVxufVxuXG4uYmFza2V0X19pdGVtX19tZXNzYWdlIHtcbiAgbWFyZ2luOiAwIDAgMC42ZW07XG59XG5cbi5iYXNrZXRfX2l0ZW1fX2NvcHkge1xuICBjbGVhcjogYm90aDtcbiAgbWFyZ2luLXRvcDogMDtcbiAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gIG1hcmdpbi1yaWdodDogYXV0bztcbiAgbWF4LXdpZHRoOiAkdy1jb2wtNDtcblxuICBAaW5jbHVkZSByZXNwb25kX21pbigkYnAtdGFibGV0LW1pbikge1xuICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgIG1hcmdpbi1yaWdodDogMDtcbiAgfVxufVxuXG4uYmFza2V0X19pdGVtX19tZXRhIHtcbiAgQGluY2x1ZGUgdHlwZV9oZWFkaW5nKCk7XG4gIEBpbmNsdWRlIHJlc3BvbmRfZm9udF9zaXplKCRmcy1vc3dhbGQteHh4c21sLCRwaGFibGV0OiRmcy1vc3dhbGQteHhzbWwsJHRhYmxldC13aWRlOiRmcy1vc3dhbGQteHNtbCk7XG59XG5cbi5iYXNrZXRfX2l0ZW1fX3F0eSB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgbWFyZ2luOiAwICRzcGFjaW5nIDAgMDtcbn1cblxuLmJhc2tldF9faXRlbV9fYWN0aW9ucyB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgbWFyZ2luOiAwO1xuXG4gIGEge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBtYXJnaW4tbGVmdDogJHNwYWNpbmcteHNtbDtcblxuICAgICY6Zmlyc3QtY2hpbGQge1xuICAgICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgfVxuICB9XG59XG5cbi8vIEFDVElPTlNcblxuLmJhc2tldF9fbGlzdF9fYWN0aW9ucyB7XG4gIEBpbmNsdWRlIG1hcmdpbl9ib3R0b21fcmVzcG9uZCgkc3BhY2luZy14eGxyZyk7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcblxuICBAaW5jbHVkZSByZXNwb25kX21pbigkYnAtZGVza3RvcC1taW4pIHtcbiAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICB9XG5cbiAgLmJhc2tldF9fYWRkIHtcbiAgICBtYXJnaW4tYm90dG9tOiAkc3BhY2luZy14c21sO1xuXG4gICAgQGluY2x1ZGUgcmVzcG9uZF9taW4oJGJwLWRlc2t0b3AtbWluKSB7XG4gICAgICBtYXJnaW4tcmlnaHQ6ICRzcGFjaW5nO1xuICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICB9XG4gIH1cblxuICAuYmFza2V0X19jbGVhciB7XG4gICAgQGluY2x1ZGUgdHlwZV9oZWFkaW5nKCk7XG4gICAgQGluY2x1ZGUgZm9udF9zaXplKCRmcy1vc3dhbGQteHh4c21sKTtcbiAgfVxuXG4gIGJyIHtcblxuICAgIEBpbmNsdWRlIHJlc3BvbmRfbWluKCRicC1kZXNrdG9wLW1pbikge1xuICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG4gIH1cbn1cblxuLy8gSU5GT1xuXG4uYmFza2V0X19pbmZvIHtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuXG4gIEBpbmNsdWRlIHJlc3BvbmRfbWluKCRicC1kZXNrdG9wLW1pbikge1xuICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gIH1cbn1cblxuIiwiLypcbiAgQ09NUE9ORU5UOiBCUkVBRENSVU1CU1xuKi9cblxuLmJyZWFkY3J1bWJzIHtcbiAgYm9yZGVyOiAxcHggc29saWQgJGNsci1ncmV5LWxpZ2h0O1xuICBib3JkZXItbGVmdDogMDtcbiAgYm9yZGVyLXJpZ2h0OiAwO1xuICBwYWRkaW5nOiAkc3BhY2luZy14eHNtbCAkc3BhY2luZy14c21sO1xufVxuXG4uYnJlYWRjcnVtYnNfX2lubmVyIHtcbiAgQGluY2x1ZGUgbGF5b3V0KCk7XG59XG5cbi5icmVhZGNydW1ic19fbGlzdCB7XG4gIG1hcmdpbjogMDtcbiAgcGFkZGluZzogMDtcbiAgbGlzdC1zdHlsZTogbm9uZTtcbiAgd29yZC1zcGFjaW5nOiAtNHB4O1xuICBAaW5jbHVkZSBmb250X3NpemUoJGZzLWxhdG8teHNtbCk7XG5cbiAgbGkge1xuICAgIG1hcmdpbjogNXB4IDA7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIHdvcmQtc3BhY2luZzogbm9ybWFsO1xuXG4gICAgJjphZnRlciB7XG4gICAgICBjb250ZW50OiBcIi9cIjtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgIG1hcmdpbjogMCAxLjJlbTtcbiAgICB9XG5cbiAgICAmOmxhc3QtY2hpbGQ6YWZ0ZXIge1xuICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG4gIH1cblxuICBhIHtcblxuICB9XG59XG4iLCIvKlxuICBDT01QT05FTlQ6IENPUFlcbiovXG5cbi5jb3B5IHtcbiAgQGluY2x1ZGUgbGF5b3V0KCR3LWNvbC04KTtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBAaW5jbHVkZSBtYXJnaW5fYm90dG9tX3Jlc3BvbmQoJHNwYWNpbmcteGxyZyk7XG5cbiAgPiAqIHtcbiAgICBAaW5jbHVkZSBub19tYXJnaW5fZmlyc3Rfb3JfbGFzdCgpO1xuICB9XG59XG5cbi5jb3B5LS1sZWZ0IHtcbiAgdGV4dC1hbGlnbjogbGVmdDtcbn1cblxuLmNvcHktLXRpZ2h0IHtcbiAgQGluY2x1ZGUgbGF5b3V0KCR3LWNvbC02KTtcbn1cblxuLmNvcHktLW92ZXJmbG93LWhpZGRlbiB7XG4gIG92ZXJmbG93OiBoaWRkZW47XG59XG5cbi5jb3B5X19hY3Rpb24ge1xuICBtYXJnaW46IDJlbSAwO1xufVxuIiwiLypcbiAgQ09NUE9ORU5UOiBDVEEtSU5MSU5FXG4qL1xuXG4uY3RhLWlubGluZSB7XG4gIEBpbmNsdWRlIGxheW91dCgkdy1jb2wtOCk7XG4gIC8vQGluY2x1ZGUgcGFkZGluZ19ob3Jpem9udGFsX3Jlc3BvbmQoJHNwYWNpbmcpO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG59XG5cbi5jdGEtaW5saW5lX190aXRsZSB7XG4gIEBleHRlbmQgLmg0O1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIG1hcmdpbi1ib3R0b206IDA7XG4gIG1hcmdpbjogKCRzcGFjaW5nLXNtbCAtIDMpICRzcGFjaW5nLXhzbWwgMDtcbn1cblxuLmN0YS1pbmxpbmVfX2FjdGlvbiB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgdmVydGljYWwtYWxpZ246IHRvcDtcbiAgbWFyZ2luOiAkc3BhY2luZy14c21sO1xuXG4gIEBpbmNsdWRlIHJlc3BvbmQtbWluKCRicC1kZXNrdG9wLW1pbikge1xuICAgIG1hcmdpbi1sZWZ0OiAkc3BhY2luZy14eHNtbDtcbiAgfVxufVxuIiwiLypcbiAgQ09NUE9ORU5UOiBET05BVEVcbiovXG5cbi5kb25hdGUge1xuICBAaW5jbHVkZSBsYXlvdXQoKTtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBAZXh0ZW5kIC5jbHItd2hpdGU7XG4gIEBpbmNsdWRlIG1hcmdpbl92ZXJ0aWNhbF9yZXNwb25kKCRzcGFjaW5nKTtcbiAgQGluY2x1ZGUgcGFkZGluZ190b3BfcmVzcG9uZCgkc3BhY2luZywkc3BhY2luZy1zbWwpO1xuICBAaW5jbHVkZSBwYWRkaW5nX2JvdHRvbV9yZXNwb25kKCRzcGFjaW5nLCRzcGFjaW5nKTtcbiAgQGluY2x1ZGUgcGFkZGluZ19ob3Jpem9udGFsX3Jlc3BvbmQoJHNwYWNpbmctc21sKTtcbiAgQGluY2x1ZGUgbm9fbWFyZ2luX2ZpcnN0X29yX2xhc3QoKTtcblxuICA+ICoge1xuICAgIEBpbmNsdWRlIG5vX21hcmdpbl9maXJzdF9vcl9sYXN0KCk7XG4gIH1cbn1cblxuLmRvbmF0ZV9fb3Ige1xuICBAZXh0ZW5kIC5oNDtcbiAgbWFyZ2luOiAxLjRlbSAwIDAuOGVtO1xufVxuXG4uZG9uYXRlX19hbHQge1xuICBAaW5jbHVkZSB0eXBlX2xlYWQoKTtcbiAgbWFyZ2luOiAwLjhlbSBhdXRvO1xuICBwYWRkaW5nOiAwO1xuICBsaXN0LXN0eWxlOiBub25lO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG5cbiAgbGkge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBtYXJnaW46IDAgMC4zZW07XG5cbiAgICBAaW5jbHVkZSByZXNwb25kX21pbigkYnAtbW9iaWxlLXdpZGUtbWluKSB7XG4gICAgICBtYXJnaW46IDAgMC41ZW07XG4gICAgfVxuICB9XG5cbiAgYSB7XG5cbiAgfVxufVxuIiwiLypcbiAgQ09NUE9ORU5UOiBET1dOTE9BRFxuKi9cblxuLmRvd25sb2FkIHtcbiAgQGluY2x1ZGUgbGF5b3V0KCR3LWNvbC04KTtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBtYXJnaW46IDIuNGVtIGF1dG87XG4gIEBpbmNsdWRlIG5vX21hcmdpbl9maXJzdF9vcl9sYXN0KCk7XG5cbiAgPiAqIHtcbiAgICBAaW5jbHVkZSBub19tYXJnaW5fZmlyc3Rfb3JfbGFzdCgpO1xuICB9XG5cbiAgJjpiZWZvcmUge1xuXG4gIH1cbn1cblxuLmRvd25sb2FkX19pY29uIHtcbiAgbWFyZ2luLWJvdHRvbTogMjVweDtcblxuICBhIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgYm9yZGVyLXJhZGl1czogNTAlO1xuICAgIGJvcmRlci13aWR0aDogMnB4O1xuICAgIGJvcmRlci1jb2xvcjogJGNsci10ZWFsO1xuICAgIGJvcmRlci1zdHlsZTogc29saWQgIWltcG9ydGFudDtcbiAgICBwYWRkaW5nOiAxNHB4O1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICBsaW5lLWhlaWdodDogMTtcbiAgICBAaW5jbHVkZSBmb250X3NpemUoJGljb24tc2l6ZS1scmcpO1xuICB9XG5cbiAgLmRvd25sb2FkLS1pbnZlcnQgJiB7XG4gICAgYSB7XG4gICAgICBib3JkZXItY29sb3I6ICRjbHItd2hpdGU7XG4gICAgfVxuICB9XG59XG5cbi5kb3dubG9hZF9fY29weSB7XG4gIEBpbmNsdWRlIHR5cGVfbGVhZCgpO1xuICBtYXJnaW4tdG9wOiAxZW07XG59XG4iLCIvKlxuICBDT01QT05FTlQ6IEZJTFRFUlxuKi9cblxuLmZpbHRlciB7XG5cbn1cblxuLmZpbHRlcl9fdG9vbGJhciB7XG4gIEBpbmNsdWRlIGxheW91dCgpO1xuICBAaW5jbHVkZSBtYXJnaW5fdG9wX3Jlc3BvbmQoJHNwYWNpbmcpO1xuICBAaW5jbHVkZSBtYXJnaW5fYm90dG9tX3Jlc3BvbmQoJHNwYWNpbmcteHhscmcpO1xuICBAaW5jbHVkZSBub19tYXJnaW5fZmlyc3Rfb3JfbGFzdCgpO1xuXG4gIEBpbmNsdWRlIHJlc3BvbmRfbWluKCRicC1kZXNrdG9wLXdpZGUtbWluKSB7XG4gICAgLy8gcGFkZGluZzogMCAkc3BhY2luZy14c21sO1xuICB9XG59XG5cbi5maWx0ZXJfX2lubmVyIHtcbiAgbWFyZ2luLXRvcDogLSRzcGFjaW5nLXh4c21sO1xuICBtYXJnaW4tbGVmdDogLSRzcGFjaW5nLXhzbWw7XG5cbiAgQGluY2x1ZGUgcmVzcG9uZF9taW4oJGJwLXBoYWJsZXQtbWluKSB7XG4gICAgQGluY2x1ZGUgY2xlYXJmaXgoKTtcbiAgICBtYXJnaW4tdG9wOiAtJHNwYWNpbmcteHNtbDtcbiAgfVxuXG4gIEBpbmNsdWRlIHJlc3BvbmRfbWluKCRicC1kZXNrdG9wLXdpZGUtbWluKSB7XG4gICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICRjbHItZ3JleS1saWdodDtcbiAgICBtYXJnaW4tbGVmdDogMDtcbiAgfVxufVxuXG4uZmlsdGVyX19ncm91cCB7XG4gIG1hcmdpbi10b3A6ICRzcGFjaW5nLXh4c21sO1xuICBwYWRkaW5nLWxlZnQ6ICRzcGFjaW5nLXhzbWw7XG5cbiAgQGluY2x1ZGUgcmVzcG9uZF9taW4oJGJwLXBoYWJsZXQtbWluKSB7XG4gICAgQGluY2x1ZGUgY2xlYXJmaXgoKTtcbiAgICBtYXJnaW4tdG9wOiAkc3BhY2luZy14c21sO1xuICAgIGZsb2F0OiBsZWZ0O1xuICB9XG59XG5cbi5maWx0ZXJfX2dyb3VwLS10eXBlcyB7XG5cbiAgQGluY2x1ZGUgcmVzcG9uZF9taW4oJGJwLWRlc2t0b3Atd2lkZS1taW4pIHtcbiAgICBwYWRkaW5nLWxlZnQ6IDA7XG4gIH1cbn1cblxuLmZpbHRlcl9fZ3JvdXAtLXNvcnQge1xuXG4gIEBpbmNsdWRlIHJlc3BvbmRfbWluKCRicC1kZXNrdG9wLXdpZGUtbWluKSB7XG4gICAgZmxvYXQ6IHJpZ2h0O1xuICB9XG5cbiAgLm5vLWpzICYge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cbn1cblxuLmZpbHRlcl9fZ3JvdXAtLXByaWNlIHtcbiAgd2lkdGg6IDEwMCU7XG4gIGNsZWFyOiBib3RoO1xufVxuXG4uZmlsdGVyX190aXRsZSB7XG4gIG1hcmdpbjogMDtcbiAgY29sb3I6ICRjbHItb3JhbmdlO1xuICBAaW5jbHVkZSBmb250X29zd2FsZCgpO1xuICBAaW5jbHVkZSByZXNwb25kX2ZvbnRfc2l6ZSgkZnMtb3N3YWxkLXh4c21sLCRkZXNrdG9wOiRmcy1vc3dhbGQteHNtbCk7XG4gIHBhZGRpbmc6ICRzcGFjaW5nLXh4c21sIDA7XG5cbiAgQGluY2x1ZGUgcmVzcG9uZF9taW4oJGJwLXBoYWJsZXQtbWluKSB7XG4gICAgbWFyZ2luLXJpZ2h0OiAkc3BhY2luZy14c21sO1xuICAgIGZsb2F0OiBsZWZ0O1xuICB9XG5cbiAgQGluY2x1ZGUgcmVzcG9uZF9taW4oJGJwLWRlc2t0b3Atd2lkZS1taW4pIHtcbiAgICBwYWRkaW5nOiAkc3BhY2luZy14c21sIDA7XG4gIH1cbn1cblxuLmZpbHRlcl9fbGlua3Mge1xuICBtYXJnaW46IDA7XG4gIHBhZGRpbmc6IDA7XG4gIGxpc3Qtc3R5bGU6IG5vbmU7XG5cbiAgQGluY2x1ZGUgcmVzcG9uZF9taW4oJGJwLXBoYWJsZXQtbWluKSB7XG4gICAgd29yZC1zcGFjaW5nOiAtNHB4O1xuICAgIGZsb2F0OiBsZWZ0O1xuICB9XG59XG5cbi5maWx0ZXJfX2xpbmtzX19pdGVtIHtcbiAgQGluY2x1ZGUgZm9udF9vc3dhbGQoKTtcbiAgQGluY2x1ZGUgcmVzcG9uZF9mb250X3NpemUoJGZzLW9zd2FsZC14eHhzbWwsJGRlc2t0b3A6JGZzLW9zd2FsZC14c21sKTtcbiAgbWFyZ2luOiAwO1xuXG4gIEBpbmNsdWRlIHJlc3BvbmRfbWluKCRicC1waGFibGV0LW1pbikge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgfVxuXG4gIGEge1xuICAgIEBpbmNsdWRlIHR5cGVfbGlua19yZXNldCgpO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIGJvcmRlcjogMXB4IHNvbGlkICRjbHItZ3JleS1saWdodCAhaW1wb3J0YW50O1xuICAgIG1hcmdpbi1ib3R0b206IC0xcHg7XG4gICAgcGFkZGluZzogJHNwYWNpbmcteHhzbWw7XG4gICAgYmFja2dyb3VuZDogJGNsci13aGl0ZTtcblxuICAgIEBpbmNsdWRlIHJlc3BvbmRfbWluKCRicC1waGFibGV0LW1pbikge1xuICAgICAgd29yZC1zcGFjaW5nOiBub3JtYWw7XG4gICAgICBwYWRkaW5nOiAkc3BhY2luZy14eHNtbCAkc3BhY2luZy14c21sO1xuICAgIH1cblxuICAgIEBpbmNsdWRlIHJlc3BvbmRfbWluKCRicC1kZXNrdG9wLXdpZGUtbWluKSB7XG4gICAgICBwYWRkaW5nOiAkc3BhY2luZy14c21sICRzcGFjaW5nLXNtbDtcbiAgICB9XG5cbiAgICAmLmlzLWFjdGl2ZSB7XG4gICAgICBib3JkZXItY29sb3I6ICRjbHItdGVhbCAhaW1wb3J0YW50O1xuICAgICAgYmFja2dyb3VuZDogJGNsci10ZWFsO1xuICAgICAgY29sb3I6ICRjbHItd2hpdGU7XG4gICAgfVxuXG4gICAgJltkYXRhLWZpbHRlci1saW1pdC10cmlnZ2VyLXN0YXRlPVwiZGlzYWJsZWRcIl0ge1xuICAgICAgY3Vyc29yOiBkZWZhdWx0O1xuICAgICAgY29sb3I6ICRjbHItZ3JleS1taWQtbGlnaHQ7XG5cbiAgICAgIHNwYW4ge1xuICAgICAgICBib3JkZXItYm90dG9tOiAwICFpbXBvcnRhbnQ7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgc3BhbiB7XG4gICAgQGluY2x1ZGUgdHlwZV9saW5rKCk7XG4gIH1cblxuICBAaW5jbHVkZSBob3Zlci1mb2N1cygpIHtcbiAgICBzcGFuIHtcbiAgICAgIGJvcmRlci1ib3R0b20tc3R5bGU6IGRvdHRlZDsgLy8gZm9yY2UgbGluayBob3ZlciBzdHlsZSBvbiBob3ZlciBvZiBwYXJlbnRcbiAgICB9XG4gIH1cbn1cblxuLmZpbHRlcl9fY2FudmFzIHtcblxufVxuXG5bZGF0YS1maWx0ZXItbGltaXQtc3RhdGU9XCJoaWRkZW5cIl0ge1xuICBkaXNwbGF5OiBub25lO1xufVxuXG4uZmlsdGVyX19sb2FkZXIge1xuXG59XG5cbi5maWx0ZXJfX2Vycm9yIHtcbiAgQGluY2x1ZGUgbGF5b3V0KCR3LWNvbC02KTtcbiAgbWFyZ2luLWJvdHRvbTogMWVtO1xuICBjb2xvcjogJGNsci1vcmFuZ2U7XG4gIGZvbnQtc3R5bGU6IGl0YWxpYztcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBkaXNwbGF5OiBub25lO1xuXG4gICZbZGF0YS1maWx0ZXItZXJyb3I9XCJzaG93XCJdIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgfVxufVxuIiwiLypcbiAgQ09NUE9ORU5UOiBGT09URVJcbiovXG5cbi5mb290ZXIge1xuICBAaW5jbHVkZSBsYXlvdXQoKTtcbn1cblxuLmZvb3Rlcl9fc2l0ZW1hcCB7XG4gIEBpbmNsdWRlIGdfd3JhcCgpO1xuICBtYXJnaW4tYm90dG9tOiAtJHNwYWNpbmctc21sO1xufVxuXG4uZm9vdGVyX19zaXRlbWFwX19ncm91cCB7XG4gIEBpbmNsdWRlIGdfY29sKCk7XG4gIHRleHQtYWxpZ246IGxlZnQ7XG4gIG1hcmdpbi1ib3R0b206ICRzcGFjaW5nLXNtbDtcblxuICBAaW5jbHVkZSByZXNwb25kLW1pbigkYnAtbW9iaWxlLXdpZGUtbWluKSB7XG4gICAgd2lkdGg6ICR3LWZsdWlkLWNvbC02O1xuICB9XG5cbiAgQGluY2x1ZGUgcmVzcG9uZC1taW4oJGJwLXRhYmxldC13aWRlLW1pbikge1xuICAgIHdpZHRoOiAkdy1mbHVpZC1jb2wtMztcbiAgfVxuXG59XG5cbi5mb290ZXJfX3NpdGVtYXBfX2dyb3VwX190aXRsZSB7XG4gIG1hcmdpbi10b3A6IDA7XG4gIG1hcmdpbi1ib3R0b206IDFlbTtcbn1cblxuLmZvb3Rlcl9fc2l0ZW1hcF9fZ3JvdXBfX25hdiB7XG4gIEBpbmNsdWRlIHJlc3BvbmRfZm9udF9zaXplKCRmcy1sYXRvLXhzbWwsJHRhYmxldC13aWRlOiRmcy1sYXRvLXNtbCk7XG5cbiAgdWwge1xuICAgIG1hcmdpbjogMDtcbiAgICBwYWRkaW5nOiAwO1xuICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG4gIH1cblxuICBsaSB7XG4gICAgbWFyZ2luOiAwLjhlbSAwO1xuICB9XG59XG5cbi5mb290ZXJfX2xlZ2FsIHtcbiAgQGluY2x1ZGUgZm9udF9zaXplKCRmcy1sYXRvLXhzbWwpO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIGJvcmRlci10b3A6IDFweCBzb2xpZCAkY2xyLWdyZXktbWlkO1xuICBwYWRkaW5nLXRvcDogJHNwYWNpbmctc21sO1xuICBtYXJnaW4tdG9wOiAkc3BhY2luZy1zbWw7XG5cbiAgcCB7XG4gICAgbWFyZ2luOiAwO1xuICB9XG59XG4iLCIvKlxuICBDT01QT05FTlQ6IEhFUk9cbiovXG5cbi5oZXJvIHtcbiAgQGluY2x1ZGUgbGF5b3V0KDE5MjBweCk7XG4gIC8vIG1heC13aWR0aDogMTkyMHB4O1xuXG4gIEBpbmNsdWRlIHJlc3BvbmQtbWluKCRicC1kZXNrdG9wLXdpZGUtbWluKSB7XG4gICAgQGluY2x1ZGUgY2xlYXJmaXgoKTtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIH1cbn1cblxuLmhlcm9fX21lZGlhIHtcbiAgaGVpZ2h0OiAyMDBweDtcblxuICBAaW5jbHVkZSByZXNwb25kLW1pbigkYnAtdGFibGV0LXdpZGUtbWluKSB7XG4gICAgaGVpZ2h0OiAzMDBweDtcbiAgfVxuXG4gIEBpbmNsdWRlIHJlc3BvbmQtbWluKCRicC1kZXNrdG9wLXdpZGUtbWluKSB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMDtcbiAgICBsZWZ0OiAwO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogMTAwJTtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICB9XG5cbiAgLmhlcm8tLWhhbGYgJiB7XG5cbiAgICBAaW5jbHVkZSByZXNwb25kLW1pbigkYnAtZGVza3RvcC13aWRlLW1pbikge1xuICAgICAgbGVmdDogYXV0bztcbiAgICAgIHJpZ2h0OiAwO1xuICAgICAgd2lkdGg6ICR3LWZsdWlkLWNvbC02O1xuICAgIH1cbiAgfVxuXG4gIC5oZXJvLS1oYWxmLmhlcm8tLWNvbnRlbnQtcmlnaHQgJiB7XG5cbiAgICBAaW5jbHVkZSByZXNwb25kLW1pbigkYnAtZGVza3RvcC13aWRlLW1pbikge1xuICAgICAgbGVmdDogMDtcbiAgICAgIHJpZ2h0OiBhdXRvO1xuICAgIH1cbiAgfVxuXG4gIGltZyB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIG9iamVjdC1maXQ6IGNvdmVyO1xuICB9XG59XG5cbi5oZXJvX19tZWRpYV9fbWFzayB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAwO1xuICByaWdodDogMDtcbiAgYm90dG9tOiAwO1xuICB3aWR0aDogJHctZmx1aWQtY29sLTY7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIGRpc3BsYXk6IG5vbmU7XG5cbiAgLmhlcm8tLWhhbGYgJiB7XG4gICAgd2lkdGg6IDEwMCU7XG4gIH1cblxuICAuaGVyby0tY29udGVudC1yaWdodCAmIHtcbiAgICByaWdodDogYXV0bztcbiAgICBsZWZ0OiAwO1xuICB9XG5cbiAgQGluY2x1ZGUgcmVzcG9uZC1taW4oJGJwLWRlc2t0b3Atd2lkZS1taW4pIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgfVxufVxuXG4kbWFzay1zaXplOiAxMjUwcHg7XG4kYm9yZGVyLXNpemU6IDE1MDBweDtcblxuLmhlcm9fX21lZGlhX19tYXNrX19vdmVybGF5IHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBib3JkZXItcmFkaXVzOiAxMDAlO1xuICBib3JkZXI6ICRib3JkZXItc2l6ZSBzb2xpZCByZ2JhKCRjbHItYmxhY2ssMC43KTsgLy8gc2FmZSB3aWR0aCBvZiBjcm9wXG4gIG1hcmdpbi1sZWZ0OiAtJGJvcmRlci1zaXplO1xuICBtYXJnaW4tdG9wOiAtJGJvcmRlci1zaXplO1xuICBib3gtc2l6aW5nOiBjb250ZW50LWJveDtcbiAgdG9wOiBjYWxjKDUwJSAtICN7JG1hc2stc2l6ZS8yfSk7XG4gIGxlZnQ6ICRzcGFjaW5nO1xuICB3aWR0aDogJG1hc2stc2l6ZTtcbiAgaGVpZ2h0OiAkbWFzay1zaXplO1xuXG4gIC5oZXJvLS1jb250ZW50LXJpZ2h0ICYge1xuICAgIGxlZnQ6IGF1dG87XG4gICAgcmlnaHQ6ICRzcGFjaW5nO1xuICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgIG1hcmdpbi1yaWdodDogLSRib3JkZXItc2l6ZTtcbiAgfVxuXG4gIC5oZXJvLS1oYWxmICYge1xuICAgIC8vIGRlZmF1bHRzIChvdmVycmlkZSB3aXRoIGlubGluZSBzdHlsZXMgdmlhIENNUylcbiAgICB0b3A6IDQlO1xuICAgIGxlZnQ6IDIwJTtcbiAgICB3aWR0aDogNTYwcHg7XG4gICAgaGVpZ2h0OiA1NjBweDtcbiAgfVxuXG4gIC5oZXJvLS1oYWxmLmhlcm8tLWNvbnRlbnQtcmlnaHQgJiB7XG4gICAgbGVmdDogMjAlO1xuICAgIHJpZ2h0OiBhdXRvO1xuICAgIG1hcmdpbi1sZWZ0OiAtJGJvcmRlci1zaXplO1xuICAgIG1hcmdpbi1yaWdodDogMDtcbiAgfVxuXG4gIC5oZXJvLS1pbnZlcnQgJiB7XG4gICAgYm9yZGVyLWNvbG9yOiByZ2JhKCRjbHItd2hpdGUsMC44KTtcbiAgfVxufVxuXG4uaGVyb19fY29udGVudCB7XG4gIEBleHRlbmQgLmNsci1ncmV5LWRhcms7XG4gIEBpbmNsdWRlIHBhZGRpbmdfaG9yaXpvbnRhbF9yZXNwb25kKCRzcGFjaW5nKTtcbiAgQGluY2x1ZGUgcGFkZGluZ192ZXJ0aWNhbF9yZXNwb25kKCRzcGFjaW5nLXh4bHJnKTtcblxuICBAaW5jbHVkZSByZXNwb25kLW1pbigkYnAtZGVza3RvcC13aWRlLW1pbikge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB6LWluZGV4OiAxO1xuICAgIHdpZHRoOiAkdy1mbHVpZC1jb2wtNjtcbiAgICBAaW5jbHVkZSBjbGVhcmZpeCgpO1xuICAgIEBpbmNsdWRlIGNscl9oZWxwZXJfYWxwaGEoJGNsci1ibGFjaywwLjcpO1xuICB9XG5cbiAgLmhlcm8tLWNvbnRlbnQtcmlnaHQgJiB7XG5cbiAgICBAaW5jbHVkZSByZXNwb25kLW1pbigkYnAtZGVza3RvcC13aWRlLW1pbikge1xuICAgICAgZmxvYXQ6IHJpZ2h0O1xuICAgIH1cbiAgfVxuXG4gIC5oZXJvLS1pbnZlcnQgJiB7XG4gICAgQGV4dGVuZCAuY2xyLXdoaXRlO1xuXG4gICAgQGluY2x1ZGUgcmVzcG9uZC1taW4oJGJwLWRlc2t0b3Atd2lkZS1taW4pIHtcbiAgICAgIEBpbmNsdWRlIGNscl9oZWxwZXJfYWxwaGEoJGNsci13aGl0ZSwwLjg1KTtcbiAgICB9XG4gIH1cblxuICAuaGVyby0taGFsZiAmIHtcbiAgICBAZXh0ZW5kIC5jbHItZ3JleS1kYXJrO1xuICB9XG5cbiAgLmhlcm8tLWhhbGYuaGVyby0taW52ZXJ0ICYge1xuICAgIEBleHRlbmQgLmNsci13aGl0ZTtcbiAgfVxuXG4gIC5oZXJvLS10YWxsICYge1xuXG4gICAgQGluY2x1ZGUgcmVzcG9uZC1taW4oJGJwLWRlc2t0b3Atd2lkZS1taW4pIHtcbiAgICAgIEBpbmNsdWRlIHBhZGRpbmdfdmVydGljYWxfcmVzcG9uZCgkc3BhY2luZy14eHhscmcpO1xuICAgIH1cbiAgfVxuXG4gIC5oZXJvLS14dGFsbCAmIHtcblxuICAgIEBpbmNsdWRlIHJlc3BvbmQtbWluKCRicC1kZXNrdG9wLXdpZGUtbWluKSB7XG4gICAgICBAaW5jbHVkZSBwYWRkaW5nX3ZlcnRpY2FsX3Jlc3BvbmQoJHNwYWNpbmctYmlnKTtcbiAgICB9XG4gIH1cblxuICAuaGVyby0teHh0YWxsICYge1xuXG4gICAgQGluY2x1ZGUgcmVzcG9uZC1taW4oJGJwLWRlc2t0b3Atd2lkZS1taW4pIHtcbiAgICAgIEBpbmNsdWRlIHBhZGRpbmdfdmVydGljYWxfcmVzcG9uZCgkc3BhY2luZy1tZWdhbG9kb24pO1xuICAgIH1cbiAgfVxufVxuXG4uaGVyb19fY29udGVudF9faW5uZXIge1xuXG4gIEBpbmNsdWRlIHJlc3BvbmQtbWluKCRicC1kZXNrdG9wLXdpZGUtbWluKSB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgbWF4LXdpZHRoOiAkdy1jb2wtNiAtICRzcGFjaW5nLXhzbWw7XG4gICAgZmxvYXQ6IHJpZ2h0O1xuICB9XG5cbiAgLmhlcm8tLWNvbnRlbnQtcmlnaHQgJiB7XG5cbiAgICBAaW5jbHVkZSByZXNwb25kLW1pbigkYnAtZGVza3RvcC13aWRlLW1pbikge1xuICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgfVxuICB9XG59XG5cbi5oZXJvX19jb3B5IHtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuXG4gIEBpbmNsdWRlIHJlc3BvbmQtbWluKCRicC1kZXNrdG9wLXdpZGUtbWluKSB7XG4gICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgfVxuXG4gIC5sZWFkIHtcbiAgICBtYXJnaW46IDAuOGVtIDA7XG4gIH1cblxuICA+ICoge1xuICAgIEBpbmNsdWRlIG5vX21hcmdpbl9maXJzdF9vcl9sYXN0KCk7XG4gIH1cbn1cblxuLmhlcm9fX2NvcHlfX3RpdGxlIHtcbiAgbWFyZ2luLWJvdHRvbTogMC44ZW07XG5cbiAgJi5oLXByaW1hcnkge1xuICAgIG1hcmdpbi1ib3R0b206IDAuNGVtO1xuICB9XG59XG5cbi5oZXJvX19jb3B5X19hY3Rpb24ge1xuICBtYXJnaW46IDIuNGVtIDA7XG59XG5cbi5oZXJvX19jb3B5X19pbmRlbnQge1xuXG4gIEBpbmNsdWRlIHJlc3BvbmQtbWluKCRicC1kZXNrdG9wLXdpZGUtbWluKSB7XG4gICAgcGFkZGluZy1sZWZ0OiAkdy1jb2wtMTtcbiAgfVxufVxuIiwiLypcbiAgQ09NUE9ORU5UOiBJTUFHRVxuKi9cblxuLmltYWdlIHtcbiAgQGluY2x1ZGUgbGF5b3V0KCk7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbn1cbiIsIi8qXG4gIENPTVBPTkVOVDogSU1BR0VTRVRcbiovXG5cbi5pbWFnZXNldCB7XG4gIEBpbmNsdWRlIGxheW91dCgpO1xufVxuXG4uaW1hZ2VzZXRfX2lubmVyIHtcbiAgQGluY2x1ZGUgZ193cmFwKCRndXR0ZXI6MCk7XG59XG5cbi5pbWFnZXNldF9fbWFpbiB7XG4gIEBpbmNsdWRlIGdfY29sKCRndXR0ZXI6MCk7XG5cbiAgQGluY2x1ZGUgcmVzcG9uZC1taW4oJGJwLXRhYmxldC1taW4pIHtcbiAgICB3aWR0aDogJHctZmx1aWQtY29sLTY7XG4gIH1cbn1cblxuLmltYWdlc2V0X19zdWIge1xuICBAaW5jbHVkZSBnX2NvbCgkZ3V0dGVyOjApO1xuXG4gIEBpbmNsdWRlIHJlc3BvbmQtbWluKCRicC10YWJsZXQtbWluKSB7XG4gICAgd2lkdGg6ICR3LWZsdWlkLWNvbC02O1xuICB9XG59XG4iLCIvKlxuICBDT01QT05FTlQ6IGluZm8tc2V0XG4qL1xuXG4uaW5mby1zZXQge1xuICBAaW5jbHVkZSBsYXlvdXQoKTtcbn1cblxuLmluZm8tc2V0X19pbm5lciB7XG4gIEBpbmNsdWRlIGdfd3JhcCgpO1xufVxuXG4uaW5mby1zZXRfX3BhbmVsIHtcbiAgQGluY2x1ZGUgZ19jb2woKTtcbiAgd2lkdGg6IDEwMCU7XG4gIG1hcmdpbi10b3A6IC0kc3BhY2luZy1zbWw7XG5cbiAgJjpmaXJzdC1jaGlsZCB7XG4gICAgbWFyZ2luLXRvcDogMDtcbiAgfVxuXG4gIEBpbmNsdWRlIHJlc3BvbmQtbWluKCRicC1kZXNrdG9wLW1pbikge1xuICAgIG1hcmdpbi10b3A6IDA7XG4gICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgfVxufVxuXG4uaW5mby1zZXRfX3BhbmVsLS1oYWxmIHtcblxuICBAaW5jbHVkZSByZXNwb25kLW1pbigkYnAtZGVza3RvcC1taW4pIHtcbiAgICB3aWR0aDogJHctZmx1aWQtY29sLTY7XG4gIH1cbn1cblxuLmluZm8tc2V0X19wYW5lbC0tcXVhcnRlciB7XG5cbiAgQGluY2x1ZGUgcmVzcG9uZC1taW4oJGJwLWRlc2t0b3AtbWluKSB7XG4gICAgd2lkdGg6ICR3LWZsdWlkLWNvbC0zO1xuICB9XG59XG5cbi5pbmZvLXNldF9fcGFuZWxfX2lubmVyIHtcbiAgcGFkZGluZzogJHNwYWNpbmctc21sICRzcGFjaW5nLXhzbWw7XG5cbiAgQGluY2x1ZGUgcmVzcG9uZC1taW4oJGJwLWRlc2t0b3AtbWluKSB7XG4gICAgLmluZm8tc2V0LS1iZ2ZpbGwgLmluZm8tc2V0X19wYW5lbDpmaXJzdC1jaGlsZCAmIHsgcGFkZGluZy1yaWdodDogMDsgfVxuICAgIC5pbmZvLXNldC0tYmdmaWxsIC5pbmZvLXNldF9fcGFuZWw6bGFzdC1jaGlsZCAmIHsgcGFkZGluZy1sZWZ0OiAwOyB9XG4gICAgLmluZm8tc2V0LS1iZ2ZpbGwgLmluZm8tc2V0X19wYW5lbDpub3QoOmZpcnN0LWNoaWxkKTpub3QoOmxhc3QtY2hpbGQpICYgeyBwYWRkaW5nLWxlZnQ6IDA7IHBhZGRpbmctcmlnaHQ6IDA7IH1cbiAgfVxufVxuXG4uaW5mby1zZXRfX3BhbmVsX19hY3Rpb24ge1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG5cbiAgQGluY2x1ZGUgcmVzcG9uZC1taW4oJGJwLWRlc2t0b3AtbWluKSB7XG4gICAgbWFyZ2luOiAyMXB4IDA7XG4gIH1cblxuICAmLS10b3AtcGFkIHtcbiAgICBwYWRkaW5nLXRvcDogMTZweDtcbiAgfVxufVxuIiwiLypcbiAgQ09NUE9ORU5UOiBMQUJFTExFRCBJTUFHRVxuKi9cblxuLmxhYmVsbGVkLWltYWdlcyB7XG4gIEBpbmNsdWRlIGxheW91dCgkdy1jb2wtNik7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcblxuICBpbWcge1xuICAgIG1hcmdpbjogJHNwYWNpbmcteHNtbCAxMHB4IDA7XG4gICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcblxuICAgIEBpbmNsdWRlIHJlc3BvbmRfbWluKCRicC10YWJsZXQtbWluKSB7XG4gICAgICBtYXJnaW4tdG9wOiAwO1xuICAgIH1cbiAgfVxufVxuXG4ubGFiZWxsZWQtaW1hZ2VzX19sYWJlbCB7XG4gIEBpbmNsdWRlIHR5cGVfaGVhZGluZygpO1xuICBAaW5jbHVkZSBmb250X3NpemUoJGZzLW9zd2FsZC14c21sKTtcbiAgZGlzcGxheTogYmxvY2s7XG5cbiAgQGluY2x1ZGUgcmVzcG9uZF9taW4oJGJwLXRhYmxldC1taW4pIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgbWFyZ2luLXJpZ2h0OiAxNXB4O1xuICB9XG59XG4iLCIvKlxuICBDT01QT05FTlQ6IExPQURcbiovXG5cbi5sb2FkIHtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBAaW5jbHVkZSBsYXlvdXQoJHctY29sLTYpO1xufVxuXG4ubG9hZF9fbG9hZGVyIHtcbiAgbWFyZ2luOiAkc3BhY2luZy14c21sIGF1dG87XG4gIHdpZHRoOiA1MHB4O1xuICBoZWlnaHQ6IDUwcHg7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgdGV4dC1pbmRlbnQ6IC05OTllbTtcblxuICAmOmJlZm9yZSxcbiAgJjphZnRlciB7XG4gICAgY29udGVudDogXCJcIjtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgYm9yZGVyLXJhZGl1czogNTAlO1xuICAgIG9wYWNpdHk6IDAuNjtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAwO1xuICAgIGxlZnQ6IDA7XG4gICAgYW5pbWF0aW9uOiBib3VuY2UgMi4wcyBpbmZpbml0ZSBlYXNlLWluLW91dDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY2xyLW9yYW5nZTtcbiAgfVxuXG4gICY6YWZ0ZXIge1xuICAgIGFuaW1hdGlvbi1kZWxheTogLTEuMHM7XG4gIH1cbn1cblxuLmxvYWRfX2xvYWRlci0taW52ZXJ0IHtcbiAgJjpiZWZvcmUsXG4gICY6YWZ0ZXIge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRjbHItd2hpdGU7XG4gIH1cbn1cblxuLmxvYWRfX2xvYWRlci0tbHJnIHtcbiAgd2lkdGg6IDEwMHB4O1xuICBoZWlnaHQ6IDEwMHB4O1xufVxuXG4ubG9hZF9fZXJyb3Ige1xuICBtYXJnaW46ICRzcGFjaW5nLXhzbWwgYXV0bztcbiAgY29sb3I6ICRjbHItb3JhbmdlO1xuICBmb250LXN0eWxlOiBpdGFsaWM7XG59XG5cbi8vIEJPVU5DRVxuQGluY2x1ZGUga2V5ZnJhbWVzKCdib3VuY2UnKSB7XG4gIDAlLCAxMDAlIHtcbiAgICB0cmFuc2Zvcm06IHNjYWxlKDApO1xuICB9XG4gIDUwJSB7XG4gICAgdHJhbnNmb3JtOiBzY2FsZSgxKTtcbiAgfVxufVxuXG4iLCIvKlxuICBDT01QT05FTlQ6IE1BUFxuKi9cblxuLm1hcCB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbn1cblxuLm1hcF9fZW1iZWQge1xuICB3aWR0aDogMTAwJTtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDA7XG4gIGxlZnQ6IDA7XG4gIG1pbi1oZWlnaHQ6IDEwMCU7XG4gIGhlaWdodDogYXV0byAhaW1wb3J0YW50O1xuICBkaXNwbGF5OiBub25lO1xuXG4gIEBpbmNsdWRlIHJlc3BvbmQtbWluKCRicC10YWJsZXQtbWluKSB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gIH1cbn1cblxuLm1hcF9fZmFsbGJhY2sge1xuICBkaXNwbGF5OiBibG9jaztcbiAgQGluY2x1ZGUgdHlwZV9saW5rX3Jlc2V0KCk7XG4gIGJvcmRlci1ib3R0b206IDA7XG5cbiAgaW1nIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgfVxufVxuIiwiLypcbiAgQ09NUE9ORU5UOiBNQVNPTlJZXG4qL1xuXG4ubWFzb25yeSB7XG4gIEBpbmNsdWRlIGxheW91dCgpO1xufVxuXG4ubWFzb25yeV9fbGlzdCB7XG4gIEBpbmNsdWRlIGdfd3JhcCgpO1xuICBAaW5jbHVkZSBtYXJnaW5fdG9wX3Jlc3BvbmQoLSRzcGFjaW5nKTtcblxuICAvLyBAaW5jbHVkZSByZXNwb25kX21pbigkYnAtdGFibGV0LW1pbikge1xuICAvLyAgIGNvbHVtbi1jb3VudDogMjtcbiAgLy8gICBjb2x1bW4tZ2FwOiAwO1xuICAvLyB9XG59XG5cbi5tYXNvbnJ5X19pdGVtIHtcbiAgQGluY2x1ZGUgZ19jb2woKTtcbiAgQGluY2x1ZGUgbWFyZ2luX3RvcF9yZXNwb25kKCRzcGFjaW5nKTtcbiAgd2lkdGg6IDEwMCU7XG5cbiAgLy8vLy8vXG4gIEBpbmNsdWRlIHJlc3BvbmRfbWluKCRicC10YWJsZXQtbWluKSB7XG4gICAgd2lkdGg6IDUwJTtcbiAgfVxuXG4gIC8vIC5sdGUtaWU5ICYge1xuXG4gIC8vICAgQGluY2x1ZGUgcmVzcG9uZF9taW4oJGJwLXRhYmxldC1taW4pIHtcbiAgLy8gICAgIHdpZHRoOiA1MCU7IC8vIDw9IElFOSBkb2VzIG5vdCBzdXBwb3J0IGNvbHVtbi1jb3VudFxuICAvLyAgIH1cbiAgLy8gfVxufVxuXG4ubWFzb25yeV9fbW9yZSB7XG4gIEBpbmNsdWRlIG1hcmdpbl90b3BfcmVzcG9uZCgkc3BhY2luZy14bHJnKTtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBAaW5jbHVkZSBnX2NvbCgpO1xuICB3aWR0aDogMTAwJTtcbiAgZGlzcGxheTogYmxvY2s7XG4gIC8vIGNvbHVtbi1zcGFuOiBhbGw7XG5cbiAgLy8gQC1tb3otZG9jdW1lbnQgdXJsLXByZWZpeCgpIHtcbiAgLy9cbiAgLy8gfVxufVxuXG4ubWFzb25yeV9fbG9hZCB7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgQGluY2x1ZGUgZ19jb2woKTtcbiAgd2lkdGg6IDEwMCU7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICAvLyBjb2x1bW4tc3BhbjogYWxsO1xufVxuIiwiLypcbiAgQ09NUE9ORU5UOiBNQVNUSEVBRFxuKi9cblxuJGJwLWZ1bGwtbWFzdGhlYWQtbWluOiA4MDBweDtcblxuLm1hc3RoZWFkIHtcblxufVxuXG4ubWFzdGhlYWRfX2lubmVyIHtcbiAgQGluY2x1ZGUgbGF5b3V0KCk7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgcGFkZGluZzogJHNwYWNpbmcteHNtbDtcblxuICBAaW5jbHVkZSByZXNwb25kX21pbigkYnAtbW9iaWxlLXdpZGUtbWluKSB7XG4gICAgQGluY2x1ZGUgY2xlYXJmaXgoKTtcbiAgfVxuXG4gIEBpbmNsdWRlIHJlc3BvbmRfbWluKCRicC1kZXNrdG9wLW1pbikge1xuICAgIHBhZGRpbmctdG9wOiAkc3BhY2luZztcbiAgfVxufVxuXG4ubWFzdGhlYWRfX2xvZ28ge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIG1heC13aWR0aDogJHctY29sLTI7XG5cbiAgQGluY2x1ZGUgcmVzcG9uZF9taW4oJGJwLW1vYmlsZS13aWRlLW1pbikge1xuICAgIGZsb2F0OiBsZWZ0O1xuICB9XG5cbiAgYSB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgYm9yZGVyOiAwICFpbXBvcnRhbnQ7XG4gIH1cbn1cblxuLm1hc3RoZWFkX19uYXYge1xuICBAaW5jbHVkZSBmb250X29zd2FsZCgpO1xuICBAaW5jbHVkZSBmb250X3NpemUoJGZzLWxhdG8tc21sKTtcbiAgZGlzcGxheTogbm9uZTtcblxuICBAaW5jbHVkZSByZXNwb25kX21pbigkYnAtZnVsbC1tYXN0aGVhZC1taW4pIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBmbG9hdDogcmlnaHQ7XG4gICAgbWFyZ2luLXRvcDogJHNwYWNpbmctc21sO1xuICB9XG59XG5cbi5tYXN0aGVhZF9fbmF2X19saXN0IHtcbiAgbWFyZ2luOiAwO1xuICBwYWRkaW5nOiAwO1xuICBsaXN0LXN0eWxlOiBub25lO1xuICBAaW5jbHVkZSBjbGVhcmZpeCgpO1xufVxuXG4ubWFzdGhlYWRfX25hdl9faXRlbSB7XG4gIG1hcmdpbjogMDtcbiAgZmxvYXQ6IGxlZnQ7XG4gIG1hcmdpbi1sZWZ0OiAkc3BhY2luZy1scmc7XG5cbiAgQGluY2x1ZGUgcmVzcG9uZF9taW4oJGJwLWRlc2t0b3Atd2lkZS1taW4pIHtcbiAgICBtYXJnaW4tbGVmdDogJHNwYWNpbmcteHhscmc7XG4gIH1cblxuICA+IGEge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIGJvcmRlci1ib3R0b20tY29sb3I6IHRyYW5zcGFyZW50O1xuXG4gICAgJjpob3ZlciB7XG4gICAgICBib3JkZXItY29sb3I6ICRjbHItdGVhbDtcbiAgICB9XG4gIH1cbn1cblxuLm1hc3RoZWFkX19uYXZfX2l0ZW0tLWJhc2tldCB7XG4gIGNvbG9yOiAkY2xyLXRlYWw7XG5cbiAgaSB7XG4gICAgQGluY2x1ZGUgZm9udF9zaXplKCRpY29uLXNpemUtc21sKTtcbiAgICBmbG9hdDogbGVmdDtcbiAgICBtYXJnaW4tcmlnaHQ6IDEycHg7XG4gICAgY29sb3I6ICRjbHItZ3JleS1kYXJrO1xuICB9XG59XG5cbi5tYXN0aGVhZF9fbmF2X19pdGVtLS1zZWFyY2gge1xuICBtYXJnaW4tdG9wOiAtMC4yZW07XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbn1cblxuLm1hc3RoZWFkX19uYXZfX3NlYXJjaF9fdG9nZ2xlIHtcbiAgQGluY2x1ZGUgdHlwZV9saW5rX3Jlc2V0KCk7XG4gIGJvcmRlci1ib3R0b206IDA7XG5cbiAgLm5vLWpzICYge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cblxuICBpIHtcbiAgICBAaW5jbHVkZSBmb250X3NpemUoJGljb24tc2l6ZS1tZWQpO1xuICB9XG5cbiAgJjpob3ZlcixcbiAgJjpmb2N1cyB7XG5cbiAgICBpIHtcbiAgICAgIGNvbG9yOiAkY2xyLXRlYWw7XG4gICAgfVxuICB9XG5cbiAgJi5tYXN0aGVhZF9fbmF2X19zZWFyY2hfX3RvZ2dsZS0tc2hvdyB7XG5cbiAgICBbZGF0YS1zZWFyY2gtc3RhdGU9XCJhY3RpdmVcIl0gJiB7XG4gICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cbiAgfVxuXG4gICYubWFzdGhlYWRfX25hdl9fc2VhcmNoX190b2dnbGUtLWhpZGUge1xuICAgIGRpc3BsYXk6IG5vbmU7XG5cbiAgICBbZGF0YS1zZWFyY2gtc3RhdGU9XCJhY3RpdmVcIl0gJiB7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICB9XG4gIH1cbn1cblxuLm1hc3RoZWFkX19uYXZfX3NlYXJjaF9fZm9ybSB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgZGlzcGxheTogZmxleDtcbiAgdG9wOiAtMTJweDtcbiAgcmlnaHQ6IDEzMCU7XG4gIHdpZHRoOiAwO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBiYWNrZ3JvdW5kOiAkY2xyLWdyZXktbGlnaHQ7XG4gIHRyYW5zaXRpb246IHdpZHRoIDAuM3MgZWFzZTtcblxuICAubm8tanMgJiB7XG4gICAgd2lkdGg6IGF1dG87XG4gICAgcG9zaXRpb246IHN0YXRpYztcbiAgfVxuXG4gIFtkYXRhLXNlYXJjaC1zdGF0ZT1cImFjdGl2ZVwiXSAmIHtcbiAgICB3aWR0aDogJHctY29sLTQ7XG4gICAgb3ZlcmZsb3c6IHZpc2libGU7XG4gIH1cbn1cblxuLm1hc3RoZWFkX19kb25hdGUge1xuICBtYXJnaW4tdG9wOiAkc3BhY2luZztcblxuICBAaW5jbHVkZSByZXNwb25kX21pbigkYnAtbW9iaWxlLXdpZGUtbWluKSB7XG4gICAgZmxvYXQ6IHJpZ2h0O1xuICAgIG1hcmdpbi10b3A6ICRzcGFjaW5nLXhzbWw7XG4gIH1cblxuICBAaW5jbHVkZSByZXNwb25kX21pbigkYnAtZnVsbC1tYXN0aGVhZC1taW4pIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG59XG5cbi8vIGZ1enp5IHNlYXJjaCBzdHlsaW5nXG4uZWFzeS1hdXRvY29tcGxldGUge1xuICB3aWR0aDogYXV0byAhaW1wb3J0YW50O1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG59XG5cbi5lYXN5LWF1dG9jb21wbGV0ZS1jb250YWluZXIge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMTAwJTtcbiAgbGVmdDogMDtcbiAgd2lkdGg6IDEwMCU7XG4gIHotaW5kZXg6IDk5OTtcblxuICB1bCB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgIGJhY2tncm91bmQ6ICRjbHItd2hpdGU7XG4gICAgbWFyZ2luOiAtMXB4O1xuICAgIGJvcmRlcjogMXB4IHNvbGlkICRjbHItZ3JleS1saWdodDtcbiAgICBwYWRkaW5nOiAkc3BhY2luZy14eHNtbDtcbiAgICBsaXN0LXN0eWxlOiBub25lO1xuICB9XG5cbiAgbGkge1xuICAgIG1hcmdpbjogMDtcblxuICAgICYuc2VsZWN0ZWQge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGNsci1ncmV5LWxpZ2h0O1xuICAgIH1cblxuICAgIGIge1xuICAgICAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgICB9XG4gIH1cblxuICAuZWFjLWl0ZW0ge1xuXG4gIH1cbn1cbiIsIi8qXG4gIENPTVBPTkVOVDogTUVESUEgQkxPQ0sgR1JJRFxuKi9cblxuLm1lZGlhLWJsb2NrLWdyaWQge1xuICBAaW5jbHVkZSBsYXlvdXQoKTtcbn1cblxuLm1lZGlhLWJsb2NrLWdyaWRfX2lubmVyIHtcbiAgQGluY2x1ZGUgZ193cmFwKCk7XG4gIEBpbmNsdWRlIG1hcmdpbl9ib3R0b21fcmVzcG9uZCgtJHNwYWNpbmcpO1xufVxuXG4ubWVkaWEtYmxvY2stZ3JpZF9faXRlbSB7XG4gIEBpbmNsdWRlIGdfY29sKCk7XG4gIEBpbmNsdWRlIG1hcmdpbl9ib3R0b21fcmVzcG9uZCgkc3BhY2luZyk7XG5cbiAgQGluY2x1ZGUgcmVzcG9uZC1taW4oJGJwLXRhYmxldC13aWRlLW1pbikge1xuICAgIHdpZHRoOiAkdy1mbHVpZC1jb2wtNjtcbiAgfVxufVxuIiwiLypcbiAgQ09NUE9ORU5UOiBNRURJQSBCTE9DSyBMSVNUXG4qL1xuXG4ubWVkaWEtYmxvY2stbGlzdCB7XG4gIEBpbmNsdWRlIGxheW91dCgkdy1jb2wtOCk7XG59XG5cbi5tZWRpYS1ibG9jay1saXN0X19pdGVtIHtcbiAgbWFyZ2luOiAkc3BhY2luZy14c21sIGF1dG87XG4gIEBpbmNsdWRlIG5vX21hcmdpbl9maXJzdF9vcl9sYXN0KCk7XG59XG4iLCIvKlxuICBDT01QT05FTlQ6IE1FRElBIEJMT0NLXG4qL1xuXG4ubWVkaWEtYmxvY2sge1xuICBAaW5jbHVkZSBsYXlvdXQoJHctY29sLTgpO1xuXG4gICYtLWxyZyB7XG4gICAgbWF4LXdpZHRoOiAkdy1jb2wtMTI7XG4gIH1cbn1cblxuLm1lZGlhLWJsb2NrLS1wYWRkZWQsXG4ubWVkaWEtYmxvY2tbY2xhc3MqPVwiY2xyLVwiXSB7XG4gIEBpbmNsdWRlIHBhZGRpbmdfaG9yaXpvbnRhbF9yZXNwb25kKCRzcGFjaW5nKTtcbiAgQGluY2x1ZGUgcGFkZGluZ190b3BfcmVzcG9uZCgkc3BhY2luZyk7XG4gIEBpbmNsdWRlIHBhZGRpbmdfYm90dG9tX3Jlc3BvbmQoJHNwYWNpbmcsJHNwYWNpbmctc21sKTtcbn1cblxuLm1lZGlhLWJsb2NrLS1rZXlsaW5lIHtcbiAgQGV4dGVuZCAubWVkaWEtYmxvY2stLXBhZGRlZDtcbiAgYm9yZGVyOiAxcHggc29saWQgJGNsci1ncmV5LWxpZ2h0O1xufVxuXG4ubWVkaWEtYmxvY2stLWNvdmVyIHtcbiAgLy9AZXh0ZW5kIC5tZWRpYS1ibG9jay0tcGFkZGVkO1xuICAvL21heC13aWR0aDogJHctY29sLTY7XG5cbiAgQGluY2x1ZGUgcmVzcG9uZC1taW4oJGJwLWRlc2t0b3AtbWluKSB7XG4gICAgcGFkZGluZzogMCAhaW1wb3J0YW50O1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgfVxufVxuXG4ubWVkaWEtYmxvY2tfX2lubmVyIHtcbiAgQGluY2x1ZGUgZ193cmFwKCk7XG5cbiAgLm1lZGlhLWJsb2NrLS1jb3ZlciAmIHtcblxuICAgIEBpbmNsdWRlIHJlc3BvbmQtbWluKCRicC1kZXNrdG9wLW1pbikge1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICB9XG4gIH1cbn1cblxuLm1lZGlhLWJsb2NrX19tZWRpYSB7XG4gIEBpbmNsdWRlIGdfY29sKCk7XG4gIG1hcmdpbi1ib3R0b206ICRzcGFjaW5nLXNtbDtcblxuICBAaW5jbHVkZSByZXNwb25kLW1pbigkYnAtZGVza3RvcC1taW4pIHtcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgIHdpZHRoOiAkdy1mbHVpZC1jb2wtNjtcbiAgfVxuXG4gIC5tZWRpYS1ibG9jay0tY292ZXIgJiB7XG5cbiAgICBAaW5jbHVkZSByZXNwb25kLW1pbigkYnAtZGVza3RvcC1taW4pIHtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgfVxuICB9XG59XG5cbi5tZWRpYS1ibG9ja19fbWVkaWFfX2lubmVyIHtcbiAgbWF4LXdpZHRoOiAkdy1jb2wtNDtcbiAgbWFyZ2luOiAwIGF1dG87XG4gIHdpZHRoOiAxMDAlO1xuXG4gIC5tZWRpYS1ibG9jay0tbHJnICYge1xuICAgIG1heC13aWR0aDogbm9uZTtcbiAgfVxuXG4gIC5tZWRpYS1ibG9jay0tY292ZXIgJiB7XG5cbiAgICBAaW5jbHVkZSByZXNwb25kLW1pbigkYnAtZGVza3RvcC1taW4pIHtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG5cbiAgICAgIGltZyB7XG4gICAgICAgIG9iamVjdC1maXQ6IGNvdmVyO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIGEge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIGJvcmRlcjogMCAhaW1wb3J0YW50O1xuXG4gICAgLm1lZGlhLWJsb2NrLS1jb3ZlciAmIHtcblxuICAgICAgQGluY2x1ZGUgcmVzcG9uZC1taW4oJGJwLWRlc2t0b3AtbWluKSB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbi5tZWRpYS1ibG9ja19fbWVkaWFfX2ZpZ3VyZSB7XG4gIG1hcmdpbjogMDtcbn1cblxuLm1lZGlhLWJsb2NrX19tZWRpYV9fbWFwIHtcbiAgbWF4LXdpZHRoOiAkdy1jb2wtNjtcbiAgbWFyZ2luOiAwIGF1dG87XG5cbiAgQGluY2x1ZGUgcmVzcG9uZC1taW4oJGJwLWRlc2t0b3AtbWluKSB7XG4gICAgbWF4LXdpZHRoOiBub25lO1xuICAgIG1hcmdpbjogMDtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICB9XG59XG5cbi5tZWRpYS1ibG9ja19fbWVkaWFfX21hcF9fbGluayB7XG4gIEBpbmNsdWRlIHR5cGVfbGlua19yZXNldCgpO1xuICBib3JkZXI6IDAgIWltcG9ydGFudDtcblxuICBAaW5jbHVkZSByZXNwb25kLW1pbigkYnAtZGVza3RvcC1taW4pIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIHdpZHRoOiAxMDAlO1xuICB9XG59XG5cbi5tZWRpYS1ibG9ja19fY29weSB7XG4gIEBpbmNsdWRlIGdfY29sKCk7XG4gIEBpbmNsdWRlIGdfY29sX21heCgkdy1jb2wtNik7XG5cbiAgQGluY2x1ZGUgcmVzcG9uZC1taW4oJGJwLWRlc2t0b3AtbWluKSB7XG4gICAgd2lkdGg6ICR3LWZsdWlkLWNvbC02O1xuICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gIH1cblxuICAubWVkaWEtYmxvY2stLW5vLW1lZGlhICYge1xuICAgIG1heC13aWR0aDogbm9uZTtcbiAgICB3aWR0aDogMTAwJTtcbiAgfVxufVxuXG4ubWVkaWEtYmxvY2tfX2NvcHlfX2lubmVyIHtcbiAgcGFkZGluZzogMCAkc3BhY2luZy14eHNtbDtcblxuICBAaW5jbHVkZSByZXNwb25kLW1pbigkYnAtZGVza3RvcC1taW4pIHtcbiAgICBwYWRkaW5nOiAwO1xuICB9XG5cbiAgLm1lZGlhLWJsb2NrLS1wYWRkZWQgJixcbiAgLm1lZGlhLWJsb2NrW2NsYXNzKj1cImNsci1cIl0gJiB7XG4gICAgcGFkZGluZzogMDtcbiAgfVxuXG4gIC5tZWRpYS1ibG9jay0tcGFkZGVkLm1lZGlhLWJsb2NrLS1jb3ZlciAmLFxuICAubWVkaWEtYmxvY2tbY2xhc3MqPVwiY2xyLVwiXS5tZWRpYS1ibG9jay0tY292ZXIgJiB7XG5cbiAgICBAaW5jbHVkZSByZXNwb25kLW1pbigkYnAtZGVza3RvcC1taW4pIHtcbiAgICAgIHBhZGRpbmc6ICRzcGFjaW5nLXNtbCAkc3BhY2luZy1zbWwgJHNwYWNpbmcgMDtcbiAgICB9XG4gIH1cblxuICAubWVkaWEtYmxvY2stLWxyZyAmIHtcbiAgICAvLyBwYWRkaW5nOiAwICFpbXBvcnRhbnQ7XG4gIH1cblxuICA+ICoge1xuICAgIEBpbmNsdWRlIG5vX21hcmdpbl9maXJzdF9vcl9sYXN0KCk7XG4gIH1cblxuICAubGVhZCB7XG4gICAgbWFyZ2luOiAwLjhlbSAwO1xuICAgIEBpbmNsdWRlIG5vX21hcmdpbl9maXJzdF9vcl9sYXN0KCk7XG4gIH1cbn1cblxuLm1lZGlhLWJsb2NrX190aXRsZSB7XG4gIG1hcmdpbi1ib3R0b206IDAuNWVtICFpbXBvcnRhbnQ7XG59XG5cbi5tZWRpYS1ibG9ja19fYWN0aW9uIHtcbiAgLy9tYXJnaW46IDEuOGVtIDA7XG59XG5cbi5tZWRpYS1ibG9ja19fY29weV9fbnVnZ2V0cyB7XG4gIEBpbmNsdWRlIGdfd3JhcCgpO1xuICBtYXJnaW4tYm90dG9tOiAtJHNwYWNpbmctc21sICFpbXBvcnRhbnQ7XG5cbiAgQGluY2x1ZGUgcmVzcG9uZC1taW4oJGJwLWRlc2t0b3AtbWluKSB7XG4gICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICBtYXJnaW4tYm90dG9tOiAwICFpbXBvcnRhbnQ7XG4gIH1cbn1cblxuLm1lZGlhLWJsb2NrX19jb3B5X19udWdnZXRzX19pdGVtIHtcbiAgQGluY2x1ZGUgZ19jb2woKTtcbiAgd2lkdGg6IDEwMCU7XG4gIG1hcmdpbi1ib3R0b206ICRzcGFjaW5nLXNtbDtcblxuICBAaW5jbHVkZSByZXNwb25kLW1pbigkYnAtdGFibGV0LW1pbikge1xuICAgIHdpZHRoOiAkdy1mbHVpZC1jb2wtNjtcbiAgfVxuXG4gIEBpbmNsdWRlIHJlc3BvbmQtbWluKCRicC1kZXNrdG9wLW1pbikge1xuICAgIG1hcmdpbjogJHNwYWNpbmctc21sIDA7XG4gICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICB3aWR0aDogMTAwJTtcbiAgfVxuXG4gIEBpbmNsdWRlIHJlc3BvbmQtbWluKCRicC1kZXNrdG9wLXdpZGUtbWluKSB7XG4gICAgd2lkdGg6ICR3LWZsdWlkLWNvbC02O1xuICB9XG5cbiAgPiAqIHtcbiAgICBAaW5jbHVkZSBub19tYXJnaW5fZmlyc3Rfb3JfbGFzdCgpO1xuICB9XG59XG4iLCIvKlxuICBDT01QT05FTlQ6IE5BVlxuKi9cblxuJGJwLWZ1bGwtbmF2LW1pbjogJGJwLWRlc2t0b3AtbWluO1xuXG4ubmF2IHtcbn1cblxuLm5hdl9fb3V0ZXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkY2xyLWdyZXktbGlnaHQ7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAwLjJzIGVhc2U7XG5cbiAgLm5hdltkYXRhLXN0aWNreT1cInN0dWNrXCJdICYge1xuICAgIHBvc2l0aW9uOiBmaXhlZDtcbiAgICB0b3A6IDA7XG4gICAgbGVmdDogMDtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBtYXgtaGVpZ2h0OiAxMDAlO1xuICAgIG92ZXJmbG93LXk6IHNjcm9sbDtcbiAgICB6LWluZGV4OiA2MDA7XG4gIH1cblxuICAvLyBERVNLVE9QIE9WRVJSSURFU1xuICBAaW5jbHVkZSByZXNwb25kX21pbigkYnAtZnVsbC1uYXYtbWluKSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGNsci1ncmV5LXdhcm07XG5cbiAgICAubmF2W2RhdGEtc3RpY2t5PVwic3R1Y2tcIl0gJiB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY2xyLWdyZXktZGFyaztcbiAgICAgIG1heC1oZWlnaHQ6IG5vbmU7XG4gICAgICBvdmVyZmxvdy15OiB2aXNpYmxlO1xuICAgIH1cbiAgfVxufVxuXG4ubmF2X19pbm5lciB7XG4gIEBpbmNsdWRlIGxheW91dCgpO1xuICBAaW5jbHVkZSBjbGVhcmZpeCgpO1xufVxuXG4ubmF2X190b2dnbGUge1xuICBkaXNwbGF5OiBibG9jaztcbiAgQGluY2x1ZGUgZm9udF9vc3dhbGQoKTtcbiAgQGluY2x1ZGUgZm9udF9zaXplKCRmcy1vc3dhbGQteHh4c21sKTtcbiAgQGluY2x1ZGUgdHlwZV9saW5rX3Jlc2V0KCk7XG4gIGJvcmRlci1ib3R0b206IDA7XG4gIHBhZGRpbmc6ICRzcGFjaW5nLXNtbCAkc3BhY2luZy14c21sO1xuICBsaW5lLWhlaWdodDogMTtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBwYWRkaW5nLXJpZ2h0OiA3MHB4O1xuICB0ZXh0LWFsaWduOiByaWdodDtcblxuICAmOmJlZm9yZSB7XG4gICAgQGV4dGVuZCAuaWNvbjtcbiAgICBAZXh0ZW5kIC5pY29uLW1lbnU7XG4gICAgQGluY2x1ZGUgZm9udF9zaXplKCRpY29uLXNpemUtbHJnKTtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAxOHB4O1xuICAgIHJpZ2h0OiAkc3BhY2luZy14c21sO1xuXG4gICAgW2RhdGEtbmF2LXN0YXRlPVwiYWN0aXZlXCJdICYge1xuICAgICAgQGV4dGVuZCAuaWNvbi1jcm9zcztcbiAgICB9XG4gIH1cblxuICAvLyBERVNLVE9QIE9WRVJSSURFU1xuICBAaW5jbHVkZSByZXNwb25kX21pbigkYnAtZnVsbC1uYXYtbWluKSB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxufVxuXG4ubmF2X19tYWluIHtcbiAgbWF4LWhlaWdodDogMDtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgdmlzaWJpbGl0eTogaGlkZGVuO1xuICB0cmFuc2l0aW9uOiBtYXgtaGVpZ2h0IDAuMnMgZWFzZTsgLy8gY2xvc2VcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB3aWR0aDogMTAwJTtcbiAgYmFja2dyb3VuZDogJGNsci1ncmV5LWxpZ2h0O1xuICB6LWluZGV4OiA1MDA7XG5cbiAgLm5vLWpzICYge1xuICAgIG1heC1oZWlnaHQ6IG5vbmU7XG4gICAgcG9zaXRpb246IHN0YXRpYztcbiAgICB2aXNpYmlsaXR5OiB2aXNpYmxlO1xuICB9XG5cbiAgLm5hdltkYXRhLXN0aWNreT1cInN0dWNrXCJdICYge1xuICAgIHBvc2l0aW9uOiBzdGF0aWM7XG4gIH1cblxuICBbZGF0YS1uYXYtc3RhdGU9XCJhY3RpdmVcIl0gJiB7XG4gICAgdHJhbnNpdGlvbjogbWF4LWhlaWdodCAxLjVzIGVhc2U7IC8vIG9wZW5cbiAgICBtYXgtaGVpZ2h0OiA1MDAwcHg7IC8vIHNhZmUgaGVpZ2h0IHRvIGFuaW1hdGUgdG8vZnJvbVxuICAgIHZpc2liaWxpdHk6IHZpc2libGU7XG4gIH1cblxuICAvLyBERVNLVE9QIE9WRVJSSURFU1xuICBAaW5jbHVkZSByZXNwb25kX21pbigkYnAtZnVsbC1uYXYtbWluKSB7XG4gICAgcG9zaXRpb246IHN0YXRpYztcbiAgICB0cmFuc2l0aW9uOiBub25lO1xuICAgIG1heC1oZWlnaHQ6IG5vbmU7XG4gICAgdmlzaWJpbGl0eTogdmlzaWJsZTtcbiAgICBmbG9hdDogbGVmdDtcbiAgICB3aWR0aDogODIlO1xuICAgIG1heC13aWR0aDogJHctY29sLTk7XG4gICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gIH1cbn1cblxuLm5hdl9fZG9uYXRlIHtcbiAgZGlzcGxheTogbm9uZTtcblxuICAvLyBERVNLVE9QIE9WRVJSSURFU1xuICBAaW5jbHVkZSByZXNwb25kX21pbigkYnAtZnVsbC1uYXYtbWluKSB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgZmxvYXQ6IHJpZ2h0O1xuICAgIHBhZGRpbmc6IDAgJHNwYWNpbmcteHNtbDtcbiAgICBtYXJnaW46ICRzcGFjaW5nLXhzbWwgMDtcbiAgICB3aWR0aDogMTglO1xuICAgIHRleHQtYWxpZ246IHJpZ2h0O1xuICB9XG59XG5cbi5uYXZfX2xpc3Qge1xuICBjbGVhcjogYm90aDtcbiAgbWFyZ2luOiAwO1xuICBwYWRkaW5nOiAkc3BhY2luZy14c21sICRzcGFjaW5nLXhzbWwgJHNwYWNpbmctc21sO1xuICBsaXN0LXN0eWxlOiBub25lO1xuICBib3JkZXItdG9wOiAycHggc29saWQgJGNsci1ncmV5LW1pZC1saWdodDtcblxuICAvLyBERVNLVE9QIE9WRVJSSURFU1xuICBAaW5jbHVkZSByZXNwb25kX21pbigkYnAtZnVsbC1uYXYtbWluKSB7XG4gICAgYm9yZGVyLXRvcDogMDtcbiAgICBwYWRkaW5nOiAwICRzcGFjaW5nLXh4c21sIDAgJHNwYWNpbmcteHNtbDtcbiAgICB3b3JkLXNwYWNpbmc6IC00cHg7XG4gICAgLy8gZm9udC1zaXplOiAwLjFweDtcbiAgICAvLyB0ZXh0LWFsaWduOiBqdXN0aWZ5O1xuXG4gICAgLy8gJjphZnRlciB7XG4gICAgLy8gICBjb250ZW50OiAnJztcbiAgICAvLyAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAvLyAgIHdpZHRoOiAxMDAlO1xuICAgIC8vIH1cbiAgfVxufVxuXG4ubmF2X19saXN0X19pdGVtIHtcbiAgbWFyZ2luOiAwO1xuICBAaW5jbHVkZSBmb250X29zd2FsZCgpO1xuICBAaW5jbHVkZSBmb250X3NpemUoJGZzLW9zd2FsZC14c21sKTtcblxuICAmOmZpcnN0LWNoaWxkIHtcbiAgICBib3JkZXItdG9wOiAycHggc29saWQgJGNsci13aGl0ZTtcbiAgfVxuXG4gIC8vIERFU0tUT1AgT1ZFUlJJREVTXG4gIEBpbmNsdWRlIHJlc3BvbmRfbWluKCRicC1mdWxsLW5hdi1taW4pIHtcbiAgICB3b3JkLXNwYWNpbmc6IG5vcm1hbDtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgQGluY2x1ZGUgZm9udF9zaXplKCRmcy1vc3dhbGQteHh4c21sKTtcblxuICAgICY6Zmlyc3QtY2hpbGQge1xuICAgICAgYm9yZGVyLXRvcDogMDtcbiAgICB9XG4gIH1cbn1cblxuLm5hdl9fbGlzdF9faXRlbS0tbW9iaWxlLW9ubHkge1xuICBkaXNwbGF5OiBibG9jaztcblxuICAvLyBERVNLVE9QIE9WRVJSSURFU1xuICBAaW5jbHVkZSByZXNwb25kX21pbigkYnAtZnVsbC1uYXYtbWluKSB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxufVxuXG4ubmF2X19sb2dvIHtcbiAgZmxvYXQ6IGxlZnQ7XG4gIGRpc3BsYXk6IG5vbmU7XG4gIG1hcmdpbjogMTJweCAwO1xuICBtYXJnaW4tcmlnaHQ6IDIlO1xuICB3aWR0aDogNzBweDtcblxuICBhIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBib3JkZXI6IDA7XG4gIH1cblxuICBpbWcge1xuXG4gIH1cblxuICAvLyBERVNLVE9QIE9WRVJSSURFU1xuICBAaW5jbHVkZSByZXNwb25kX21pbigkYnAtZnVsbC1uYXYtbWluKSB7XG5cbiAgICAubmF2W2RhdGEtc3RpY2t5PVwic3R1Y2tcIl0gJiB7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICB9XG4gIH1cbn1cblxuLm5hdl9fbGlzdF9fbGluayB7XG4gIGJvcmRlci1ib3R0b206IDJweCBzb2xpZCAkY2xyLXdoaXRlO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgLy8gREVTS1RPUCBPVkVSUklERVNcbiAgQGluY2x1ZGUgcmVzcG9uZF9taW4oJGJwLWZ1bGwtbmF2LW1pbikge1xuICAgIGJvcmRlci1ib3R0b206IDA7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB9XG59XG5cbi5uYXZfX2xpc3RfX2FuY2hvciB7XG4gIEBpbmNsdWRlIHR5cGVfbGlua19yZXNldCgpO1xuICBkaXNwbGF5OiBibG9jaztcbiAgcGFkZGluZzogJHNwYWNpbmcteHh4c21sIDA7XG4gIGJvcmRlcjogMCAhaW1wb3J0YW50O1xuXG4gIC5uYXZfX2xpc3RfX2l0ZW0uaXMtY3VycmVudCAmIHtcbiAgICBjb2xvcjogJGNsci1vcmFuZ2U7XG4gIH1cblxuICAmOmhvdmVyLFxuICBbZGF0YS1uYXYtc3ViLXN0YXRlPVwiYWN0aXZlXCJdICYge1xuICAgIGNvbG9yOiAkY2xyLXRlYWwgIWltcG9ydGFudDtcbiAgfVxuXG4gICY6YmVmb3JlIHtcbiAgICBAZXh0ZW5kIC5pY29uO1xuICAgIEBleHRlbmQgLmljb24tZG93bjtcbiAgICBAaW5jbHVkZSBmb250X3NpemUoJGljb24tc2l6ZS14eHNtbCk7XG4gICAgbWFyZ2luLXRvcDogNXB4O1xuICAgIG1hcmdpbi1sZWZ0OiAxMHB4O1xuICAgIGZsb2F0OiByaWdodDtcbiAgICBkaXNwbGF5OiBub25lOyAvLyBzZXQgaXQgdXAgYnV0IG9ubHkgc2hvdyBvbiBkZXNrdG9wXG4gIH1cblxuICAvLyBERVNLVE9QIE9WRVJSSURFU1xuICBAaW5jbHVkZSByZXNwb25kX21pbigkYnAtZnVsbC1uYXYtbWluKSB7XG4gICAgcGFkZGluZzogMzVweCAkc3BhY2luZy14eHNtbDtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG5cbiAgICAubmF2W2RhdGEtc3RpY2t5PVwic3R1Y2tcIl0gJiB7XG4gICAgICBjb2xvcjogJGNsci13aGl0ZTtcbiAgICB9XG5cbiAgICAubmF2X19saXN0X19pdGVtLmlzLWN1cnJlbnQgJiB7XG4gICAgICBjb2xvcjogJGNsci1vcmFuZ2U7XG4gICAgfVxuXG4gICAgJjpiZWZvcmUge1xuICAgICAgW2RhdGEtbmF2LWhhcy1zdWJdICYge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIH1cbiAgICB9XG5cbiAgICAubmF2X19saXN0X19pdGVtOmZpcnN0LWNoaWxkICYge1xuICAgICAgcGFkZGluZy1sZWZ0OiAwO1xuICAgIH1cblxuICAgIC5uYXZfX2xpc3RfX2l0ZW06bGFzdC1jaGlsZCAmIHtcbiAgICAgIHBhZGRpbmctcmlnaHQ6IDA7XG4gICAgfVxuXG4gICAgJjphZnRlciB7XG4gICAgICBjb250ZW50OiAnJztcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIGJvdHRvbTogLTEwcHg7XG4gICAgICBsZWZ0OiA1MCU7XG4gICAgICBtYXJnaW4tbGVmdDogLTE0cHg7XG4gICAgICB3aWR0aDogMDtcbiAgICAgIGhlaWdodDogMDtcbiAgICAgIGJvcmRlci1sZWZ0OiAxNHB4IHNvbGlkIHRyYW5zcGFyZW50O1xuICAgICAgYm9yZGVyLXJpZ2h0OiAxNHB4IHNvbGlkIHRyYW5zcGFyZW50O1xuICAgICAgYm9yZGVyLWJvdHRvbTogMTBweCBzb2xpZCAkY2xyLWdyZXktZGFyaztcbiAgICAgIHRyYW5zaXRpb246IGJvdHRvbSAwLjA1cyAwLjJzIGVhc2U7IC8vIGNsb3NlXG5cbiAgICAgIFtkYXRhLW5hdi1zdWItc3RhdGU9XCJhY3RpdmVcIl0gJiB7XG4gICAgICAgIGJvdHRvbTogMDtcbiAgICAgIH1cblxuICAgICAgLm5hdltkYXRhLXN0aWNreT1cInN0dWNrXCJdICYge1xuICAgICAgICBib3JkZXItYm90dG9tLWNvbG9yOiAkY2xyLWdyZXktbGlnaHQ7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbi5uYXZfX2xpc3RfX3RvZ2dsZSB7XG4gIEBleHRlbmQgLmljb247XG4gIEBleHRlbmQgLmljb24tZG93bjtcbiAgQGluY2x1ZGUgZm9udF9zaXplKCRpY29uLXNpemUteHhzbWwpO1xuICAvLyBmbG9hdDogcmlnaHQ7XG4gIHBhZGRpbmc6IDE2cHg7XG4gIGJvcmRlci1ib3R0b206IDAgIWltcG9ydGFudDtcbiAgLy8gbWFyZ2luLXRvcDogNnB4O1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIGJvcmRlci1sZWZ0OiAxcHggc29saWQgJGNsci13aGl0ZTtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDA7XG4gIHJpZ2h0OiAwO1xuXG4gICY6aG92ZXIge1xuICAgIGNvbG9yOiAkY2xyLXRlYWwgIWltcG9ydGFudDtcbiAgfVxuXG4gIFtkYXRhLW5hdi1zdWItc3RhdGU9XCJhY3RpdmVcIl0gJiB7XG4gICAgQGV4dGVuZCAuaWNvbi11cDtcbiAgfVxuXG4gIC8vIERFU0tUT1AgT1ZFUlJJREVTXG4gIEBpbmNsdWRlIHJlc3BvbmRfbWluKCRicC1mdWxsLW5hdi1taW4pIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG59XG5cbi5uYXZfX3N1YiB7XG4gIGRpc3BsYXk6IG5vbmU7XG5cbiAgLm5vLWpzICYge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICB9XG5cbiAgW2RhdGEtbmF2LXN1Yi1zdGF0ZT1cImFjdGl2ZVwiXSAmIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgfVxuXG4gIC8vIERFU0tUT1AgT1ZFUlJJREVTXG4gIEBpbmNsdWRlIHJlc3BvbmRfbWluKCRicC1mdWxsLW5hdi1taW4pIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgdG9wOiAxMDAlO1xuICAgIGxlZnQ6IDA7XG4gICAgcmlnaHQ6IDA7XG4gICAgYmFja2dyb3VuZDogJGNsci1ncmV5LWRhcms7XG4gICAgbWF4LWhlaWdodDogMDtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIHRyYW5zaXRpb246IG1heC1oZWlnaHQgMC41cyBlYXNlOyAvLyBjbG9zZVxuICAgIHotaW5kZXg6IDYwMDtcblxuICAgIFtkYXRhLW5hdi1zdWItc3RhdGVdICYge1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgfVxuXG4gICAgLm5hdltkYXRhLXN0aWNreT1cInN0dWNrXCJdICYge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGNsci1ncmV5LWxpZ2h0O1xuICAgIH1cblxuICAgIC8vIC5uYXZfX2xpc3RfX2l0ZW06aG92ZXIgJixcbiAgICAvLyAubmF2X19saXN0X19pdGVtOmZvY3VzICYsXG4gICAgLy8gJi5pcy1mb2N1cy12aXNpYmxlLFxuICAgIFtkYXRhLW5hdi1zdWItc3RhdGU9XCJhY3RpdmVcIl0gJiB7XG4gICAgICBtYXgtaGVpZ2h0OiAxMDAwcHg7XG4gICAgICB0cmFuc2l0aW9uOiBtYXgtaGVpZ2h0IDFzIGVhc2U7IC8vIG9wZW5cbiAgICB9XG4gIH1cbn1cblxuLm5hdl9fc3ViX19saXN0IHtcbiAgbWFyZ2luOiAwO1xuICBwYWRkaW5nOiAkc3BhY2luZy14eHNtbCAwICRzcGFjaW5nLXh4c21sICRzcGFjaW5nLXhzbWw7XG4gIGxpc3Qtc3R5bGU6IG5vbmU7XG4gIGJvcmRlci1ib3R0b206IDJweCBzb2xpZCAkY2xyLXdoaXRlO1xuXG4gIC8vIERFU0tUT1AgT1ZFUlJJREVTXG4gIEBpbmNsdWRlIHJlc3BvbmRfbWluKCRicC1mdWxsLW5hdi1taW4pIHtcbiAgICBwYWRkaW5nOiAwICRzcGFjaW5nLXhzbWw7XG4gICAgQGluY2x1ZGUgbGF5b3V0KCk7XG4gICAgd29yZC1zcGFjaW5nOiAtNHB4O1xuICAgIGJvcmRlci1ib3R0b206IDA7XG4gIH1cbn1cblxuLm5hdl9fc3ViX19saXN0X19pdGVtIHtcbiAgbWFyZ2luOiAwO1xuXG4gIEBpbmNsdWRlIHJlc3BvbmRfbWluKCRicC1mdWxsLW5hdi1taW4pIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgd29yZC1zcGFjaW5nOiBub3JtYWw7XG4gICAgbWFyZ2luLXJpZ2h0OiAyLjQlO1xuICB9XG59XG5cbi5uYXZfX3N1Yl9fbGlzdF9faXRlbS0tbWFpbiB7XG5cbiAgLy8gQGluY2x1ZGUgcmVzcG9uZF9taW4oJGJwLWZ1bGwtbmF2LW1pbikge1xuICAvLyAgIGRpc3BsYXk6IG5vbmU7XG4gIC8vIH1cbn1cblxuLm5hdl9fc3ViX19saXN0X19saW5rIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIEBpbmNsdWRlIHR5cGVfbGlua19yZXNldCgpO1xuICBib3JkZXItYm90dG9tOiAwICFpbXBvcnRhbnQ7XG4gIHBhZGRpbmc6ICRzcGFjaW5nLXh4eHNtbCAwO1xuXG4gIC5uYXZfX3N1Yl9fbGlzdF9faXRlbS5pcy1jdXJyZW50ICYge1xuICAgIGNvbG9yOiAkY2xyLW9yYW5nZTtcbiAgfVxuXG4gICY6aG92ZXIge1xuICAgIGNvbG9yOiAkY2xyLXRlYWwgIWltcG9ydGFudDtcbiAgfVxuXG4gIC8vIERFU0tUT1AgT1ZFUlJJREVTXG4gIEBpbmNsdWRlIHJlc3BvbmRfbWluKCRicC1mdWxsLW5hdi1taW4pIHtcbiAgICBjb2xvcjogJGNsci13aGl0ZTtcbiAgICBwYWRkaW5nOiAzNXB4ICRzcGFjaW5nLXh4c21sO1xuXG4gICAgLm5hdltkYXRhLXN0aWNreT1cInN0dWNrXCJdICYge1xuICAgICAgY29sb3I6ICRjbHItZ3JleS1kYXJrO1xuICAgIH1cblxuICAgIC5uYXZfX3N1Yl9fbGlzdF9faXRlbS5pcy1jdXJyZW50ICYge1xuICAgICAgY29sb3I6ICRjbHItb3JhbmdlO1xuICAgIH1cbiAgfVxufVxuXG4ubmF2X19zdWJfX2Nsb3NlIHtcbiAgQGluY2x1ZGUgdHlwZV9saW5rX3Jlc2V0KCk7XG4gIGJvcmRlci1ib3R0b206IDAgIWltcG9ydGFudDtcbiAgQGV4dGVuZCAuaWNvbjtcbiAgQGV4dGVuZCAuaWNvbi1jcm9zcztcbiAgQGluY2x1ZGUgZm9udF9zaXplKCRpY29uLXNpemUteHNtbCk7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAwO1xuICByaWdodDogMDtcbiAgcGFkZGluZzogJHNwYWNpbmcteHh4c21sO1xuICBkaXNwbGF5OiBub25lO1xuICBjb2xvcjogJGNsci13aGl0ZTtcblxuICBAaW5jbHVkZSByZXNwb25kX21pbigkYnAtZnVsbC1uYXYtbWluKSB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gIH1cblxuICAmOmhvdmVyIHtcbiAgICBjb2xvcjogJGNsci10ZWFsO1xuICB9XG59XG5cbi5uYXZfX3NlYXJjaF9fZm9ybSB7XG4gIG1hcmdpbjogMCAkc3BhY2luZy14c21sICRzcGFjaW5nLXNtbDtcblxuICBAaW5jbHVkZSByZXNwb25kX21pbigkYnAtZnVsbC1uYXYtbWluKSB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxufVxuIiwiLypcbiAgQ09NUE9ORU5UOiBPVkVSTEFZU1xuKi9cblxuLm92ZXJsYXlzIHtcbiAgQGluY2x1ZGUgbGF5b3V0KCk7XG59XG5cbi5vdmVybGF5c19faW5uZXIge1xuICBAaW5jbHVkZSBnX3dyYXAoKTtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC13cmFwOiB3cmFwO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgbWFyZ2luLXRvcDogLSRzcGFjaW5nO1xufVxuXG4ub3ZlcmxheXNfX2l0ZW0ge1xuICBAaW5jbHVkZSBnX2NvbCgpO1xuICB3aWR0aDogMTAwJTtcbiAgZGlzcGxheTogZmxleDtcbiAgbWFyZ2luLXRvcDogJHNwYWNpbmc7XG5cbiAgLmx0ZS1pZTkgJiB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB9XG5cbiAgQGluY2x1ZGUgcmVzcG9uZF9taW4oJGJwLXBoYWJsZXQtbWluKSB7XG4gICAgd2lkdGg6ICR3LWZsdWlkLWNvbC02O1xuICB9XG59XG5cbi5vdmVybGF5c19faXRlbV9faW5uZXIge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIHdpZHRoOiAxMDAlO1xufVxuXG4ub3ZlcmxheXNfX2l0ZW1fX2xpbmsge1xuICBAaW5jbHVkZSB0eXBlX2xpbmtfcmVzZXQoKTtcbiAgYm9yZGVyOiBub25lICFpbXBvcnRhbnQ7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBkaXNwbGF5OiBmbGV4O1xuICB3aWR0aDogMTAwJTtcbn1cblxuLm92ZXJsYXlzX19pdGVtX19tZWRpYSB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAwO1xuICBsZWZ0OiAwO1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAxMDAlO1xuXG4gIGltZyB7XG4gICAgb2JqZWN0LWZpdDogY292ZXI7XG4gIH1cbn1cblxuLm92ZXJsYXlzX19pdGVtX19jb250ZW50IHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB6LWluZGV4OiAxMDtcbiAgd2lkdGg6IDEwMCU7XG4gIEBpbmNsdWRlIHBhZGRpbmdfaG9yaXpvbnRhbF9yZXNwb25kKCRzcGFjaW5nLXhzbWwsJHNwYWNpbmcteHNtbCk7XG4gIEBpbmNsdWRlIHBhZGRpbmdfdmVydGljYWxfcmVzcG9uZCgkc3BhY2luZy1iaWcpO1xuICBAZXh0ZW5kIC5jbHItZ3JleS1kYXJrO1xuICBAaW5jbHVkZSBjbHJfaGVscGVyX2FscGhhKCRjbHItYmxhY2ssMC43KTtcblxuICAub3ZlcmxheXNfX2l0ZW1fX2xpbms6aG92ZXIgJixcbiAgLm92ZXJsYXlzX19pdGVtX19saW5rOmZvY3VzICYge1xuICAgIEBpbmNsdWRlIGNscl9oZWxwZXJfYWxwaGEoJGNsci1ibGFjaywwLjgpO1xuICB9XG59XG5cbi5vdmVybGF5c19faXRlbV9fY29udGVudF9faW5uZXIge1xuICBtYXgtd2lkdGg6ICR3LWNvbC0zO1xuICBtYXJnaW46IDAgYXV0bztcblxuICA+ICoge1xuICAgIEBpbmNsdWRlIG5vX21hcmdpbl9maXJzdF9vcl9sYXN0KCk7XG4gIH1cbn1cbiIsIi8qXG4gIENPTVBPTkVOVDogUEFHRVJcbiovXG5cbiRicC1wYWdlci1tZWQtbWluOiAkYnAtbW9iaWxlLXdpZGUtbWluO1xuJGJwLXBhZ2VyLWxhcmdlLW1pbjogJHctY29sLTY7XG4kYnAtcGFnZXIteGxhcmdlLW1pbjogJGJwLWRlc2t0b3AtbWluO1xuXG4ucGFnZXIge1xuICBAaW5jbHVkZSBsYXlvdXQoKTtcbiAgcGFkZGluZzogMCAkc3BhY2luZy14c21sO1xuICBtYXJnaW46IDNlbSBhdXRvO1xuICBAaW5jbHVkZSBub19tYXJnaW5fZmlyc3Rfb3JfbGFzdCgpO1xufVxuXG4ucGFnZXJfX2lubmVyIHtcbiAgLy9tYXJnaW46IDAgKC0kc3BhY2luZy14c21sKSAoLSRzcGFjaW5nKTtcbiAgbWFyZ2luLXRvcDogLSRzcGFjaW5nO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIC8vd29yZC1zcGFjaW5nOiAtNHB4O1xuICBAaW5jbHVkZSBnX3dyYXAoKTtcblxuICBAaW5jbHVkZSByZXNwb25kLW1pbigkYnAtcGFnZXItbWVkLW1pbikge1xuICAgIEBpbmNsdWRlIGNsZWFyZml4KCk7XG4gIH1cbn1cblxuLnBhZ2VyX19pdGVtIHtcbiAgQGluY2x1ZGUgZ19jb2woKTtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBtYXJnaW4tdG9wOiAkc3BhY2luZztcbiAgd2lkdGg6IDEwMCU7XG4gIC8vIHdvcmQtc3BhY2luZzogbm9ybWFsO1xuICAvLyBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIC8vdmVydGljYWwtYWxpZ246IHRvcDtcbiAgLy9wYWRkaW5nOiAwICRzcGFjaW5nLXhzbWw7XG5cbiAgQGluY2x1ZGUgcmVzcG9uZC1taW4oJGJwLXBhZ2VyLW1lZC1taW4pIHtcbiAgICB3aWR0aDogJHctZmx1aWQtY29sLTY7XG4gIH1cblxuICBAaW5jbHVkZSByZXNwb25kLW1pbigkYnAtcGFnZXItbGFyZ2UtbWluKSB7XG4gICAgbWF4LXdpZHRoOiAkdy1jb2wtNSArICRzcGFjaW5nLXhzbWw7XG4gIH1cbn1cblxuLnBhZ2VyX19pdGVtLS1wcmV2IHtcblxuICBAaW5jbHVkZSByZXNwb25kLW1pbigkYnAtcGFnZXItbGFyZ2UtbWluKSB7XG4gICAgZmxvYXQ6IGxlZnQ7XG4gICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICBwYWRkaW5nLXJpZ2h0OiAkc3BhY2luZy14c21sO1xuICB9XG59XG5cbi5wYWdlcl9faXRlbS0tbmV4dCB7XG5cbiAgQGluY2x1ZGUgcmVzcG9uZC1taW4oJGJwLXBhZ2VyLWxhcmdlLW1pbikge1xuICAgIGZsb2F0OiByaWdodDtcbiAgICB0ZXh0LWFsaWduOiByaWdodDtcbiAgICBwYWRkaW5nLWxlZnQ6ICRzcGFjaW5nLXhzbWw7XG4gIH1cbn1cblxuLnBhZ2VyX19pdGVtX19saW5rIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGJvcmRlcjogbm9uZSAhaW1wb3J0YW50O1xufVxuXG4ucGFnZXJfX2l0ZW1fX21lZGlhIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIG1hcmdpbjogMCBhdXRvICRzcGFjaW5nLXhzbWw7XG5cblxuICBAaW5jbHVkZSByZXNwb25kLW1pbigkYnAtcGFnZXItbGFyZ2UtbWluKSB7XG4gICAgbWFyZ2luOiAwO1xuICAgIG1heC13aWR0aDogNTAlO1xuICB9XG5cbiAgLnBhZ2VyX19pdGVtLS1wcmV2ICYge1xuXG4gICAgQGluY2x1ZGUgcmVzcG9uZC1taW4oJGJwLXBhZ2VyLWxhcmdlLW1pbikge1xuICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgICBwYWRkaW5nLXJpZ2h0OiAkc3BhY2luZy1zbWw7XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgcmVzcG9uZC1taW4oJGJwLXBhZ2VyLXhsYXJnZS1taW4pIHtcbiAgICAgIHBhZGRpbmctcmlnaHQ6ICRzcGFjaW5nO1xuICAgIH1cbiAgfVxuXG4gIC5wYWdlcl9faXRlbS0tbmV4dCAmIHtcblxuICAgIEBpbmNsdWRlIHJlc3BvbmQtbWluKCRicC1wYWdlci1sYXJnZS1taW4pIHtcbiAgICAgIGZsb2F0OiByaWdodDtcbiAgICAgIHBhZGRpbmctbGVmdDogJHNwYWNpbmctc21sO1xuICAgIH1cblxuICAgIEBpbmNsdWRlIHJlc3BvbmQtbWluKCRicC1wYWdlci14bGFyZ2UtbWluKSB7XG4gICAgICBwYWRkaW5nLWxlZnQ6ICRzcGFjaW5nO1xuICAgIH1cbiAgfVxufVxuXG4ucGFnZXJfX2l0ZW1fX3RleHQge1xuICBAZXh0ZW5kIC5oNDtcbiAgQGV4dGVuZCAuaC1zZWNvbmRhcnk7XG4gIGxpbmUtaGVpZ2h0OiAkbGgtYm9keTtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgbWFyZ2luOiAwO1xuXG4gIHNwYW4ge1xuICAgIEBpbmNsdWRlIHR5cGVfbGluaygpO1xuXG4gICAgLnBhZ2VyX19pdGVtX19saW5rOmhvdmVyICYsXG4gICAgLnBhZ2VyX19pdGVtX19saW5rOmZvY3VzICYge1xuICAgICAgYm9yZGVyLWJvdHRvbS1zdHlsZTogZG90dGVkO1xuICAgIH1cbiAgfVxuXG59XG4iLCIvKlxuICBDT01QT05FTlQ6IFBBR0lOR1xuKi9cblxuLnBhZ2luZyB7XG4gIEBpbmNsdWRlIGxheW91dCgpO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIEBpbmNsdWRlIG1hcmdpbl92ZXJ0aWNhbF9yZXNwb25kKCRzcGFjaW5nKTtcbn1cblxuLnBhZ2luZ19fbGluayB7XG4gIGJvcmRlcjogMXB4IHNvbGlkICRjbHItZ3JleS1saWdodDtcbiAgcGFkZGluZzogNXB4IDEycHg7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcblxuICAmOmhvdmVyLFxuICAmOmZvY3VzIHtcbiAgICBib3JkZXItc3R5bGU6IHNvbGlkICFpbXBvcnRhbnQ7XG4gICAgYm9yZGVyLWNvbG9yOiAkY2xyLXRlYWw7XG4gIH1cblxuICBzcGFuIHtcbiAgICBAaW5jbHVkZSBhY2Nlc3NpYmxlX2hpZGUoKTtcbiAgfVxufVxuXG4ucGFnaW5nX19saW5rLS1hY3RpdmUge1xuICBiYWNrZ3JvdW5kOiAkY2xyLXRlYWw7XG4gIGNvbG9yOiAkY2xyLXdoaXRlO1xuICBib3JkZXItY29sb3I6ICRjbHItdGVhbDtcbn1cblxuLnBhZ2luZ19fbGlzdCB7XG4gIG1hcmdpbjogMDtcbiAgcGFkZGluZzogMDtcbiAgbGlzdC1zdHlsZTogbm9uZTtcbiAgZGlzcGxheTogbm9uZTtcblxuICBAaW5jbHVkZSByZXNwb25kX21pbigkYnAtdGFibGV0LW1pbikge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgfVxuXG4gIGxpIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgbWFyZ2luOiAwO1xuICB9XG5cbiAgYSB7XG5cbiAgfVxufVxuXG4ucGFnaW5nX19zdGVwIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xufVxuIiwiLypcbiAgQ09NUE9ORU5UOiBQQU5FTFxuKi9cblxuLnBhbmVsIHtcbiAgQGluY2x1ZGUgbGF5b3V0KCk7XG4gIEBpbmNsdWRlIHBhZGRpbmdfaG9yaXpvbnRhbF9yZXNwb25kKCRzcGFjaW5nLXhzbWwsJHNwYWNpbmcteHNtbCk7XG4gIEBpbmNsdWRlIHBhZGRpbmdfdmVydGljYWxfcmVzcG9uZCgkc3BhY2luZy1scmcsJHNwYWNpbmcpO1xuICAvL21hcmdpbjogJHNwYWNpbmcgYXV0bztcbiAgQGluY2x1ZGUgbWFyZ2luX3ZlcnRpY2FsX3Jlc3BvbmQoJHNwYWNpbmcpO1xuICAvLyBAaW5jbHVkZSBtYXJnaW5faG9yaXpvbnRhbF9yZXNwb25kKC0kc3BhY2luZy14c21sLC0kc3BhY2luZy14c21sKTsgLy8gY2FuY2VsXG4gIEBpbmNsdWRlIG5vX21hcmdpbl9maXJzdF9vcl9sYXN0KCk7XG5cbiAgPiAqIHtcbiAgICBAaW5jbHVkZSBub19tYXJnaW5fZmlyc3Rfb3JfbGFzdCgpO1xuICB9XG59XG5cbi5wYW5lbC0ta2V5bGluZSB7XG4gIC8vIEBpbmNsdWRlIGxheW91dCgkdy1jb2wtOCk7XG4gIC8vIEBpbmNsdWRlIHBhZGRpbmdfdmVydGljYWxfcmVzcG9uZCgkc3BhY2luZy1scmcpO1xuICAvLyBAaW5jbHVkZSBwYWRkaW5nX2hvcml6b250YWxfcmVzcG9uZCgkc3BhY2luZyk7XG4gIGJvcmRlcjogMnB4IHNvbGlkICRjbHItZ3JleS1saWdodDtcbn1cblxuLnBhbmVsLS1yZWR1Y2VkIHtcbiAgbWF4LXdpZHRoOiAkdy1jb2wtMTA7XG59XG5cbi5wYW5lbC0tc3BhY2luZy14bHJnIHtcbiAgQGluY2x1ZGUgbWFyZ2luX3ZlcnRpY2FsX3Jlc3BvbmQoJHNwYWNpbmcteGxyZyk7XG59XG5cbiIsIiAgLypcbiAgQ09NUE9ORU5UOiBQUk9NT1NcbiovXG5cbi5wcm9tb3Mge1xuICBAaW5jbHVkZSBsYXlvdXQoKTtcbiAgLy9AaW5jbHVkZSBwYWRkaW5nX2hvcml6b250YWxfcmVzcG9uZCgpO1xuICBAaW5jbHVkZSBub19tYXJnaW5fZmlyc3Rfb3JfbGFzdCgpO1xuXG4gICYtLWxyZy1zcGFjZSB7XG4gICAgQGluY2x1ZGUgbWFyZ2luX3ZlcnRpY2FsX3Jlc3BvbmQoJHNwYWNpbmcteHhscmcsJHNwYWNpbmcpO1xuICB9XG59XG5cbi5wcm9tb3MtLXdpdGgtbGVhZCB7XG4gIG1heC13aWR0aDogJHctY29sLTEwO1xufVxuXG4ucHJvbW9zX19pbm5lciB7XG4gIEBpbmNsdWRlIGdfd3JhcCgpO1xuICBAaW5jbHVkZSBtYXJnaW5fYm90dG9tX3Jlc3BvbmQoLSRzcGFjaW5nLC0kc3BhY2luZyk7XG59XG5cbi5wcm9tb3NfX2l0ZW0ge1xuICBAaW5jbHVkZSBnX2NvbCgpO1xuICBAaW5jbHVkZSBnX2NvbF9tYXgoJHctY29sLTYpO1xuICBAaW5jbHVkZSBtYXJnaW5fYm90dG9tX3Jlc3BvbmQoJHNwYWNpbmcsJHNwYWNpbmcpO1xuXG4gIEBpbmNsdWRlIHNpYmxpbmdfY291bnQoMikgeyAvLyAyIGl0ZW1zXG4gICAgLnByb21vczpub3QoLnByb21vcy0tbWluaSkgJiB7XG4gICAgICBAaW5jbHVkZSByZXNwb25kX21pbigkYnAtdGFibGV0LW1pbikge1xuICAgICAgICB3aWR0aDogJHctZmx1aWQtY29sLTY7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgQGluY2x1ZGUgc2libGluZ19jb3VudCgzKSB7IC8vIDMgaXRlbXNcbiAgICAucHJvbW9zOm5vdCgucHJvbW9zLS1taW5pKSAmIHtcbiAgICAgIEBpbmNsdWRlIHJlc3BvbmRfbWluKCRicC10YWJsZXQtd2lkZS1taW4pIHtcbiAgICAgICAgd2lkdGg6ICR3LWZsdWlkLWNvbC00O1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIEBpbmNsdWRlIHNpYmxpbmdfY291bnQoNCkgeyAvLyA0IGl0ZW1zXG4gICAgLnByb21vczpub3QoLnByb21vcy0tbWluaSkgJiB7XG4gICAgICBAaW5jbHVkZSByZXNwb25kX21pbigkYnAtdGFibGV0LW1pbikge1xuXG4gICAgICAgIHdpZHRoOiAkdy1mbHVpZC1jb2wtNjtcbiAgICAgIH1cblxuICAgICAgQGluY2x1ZGUgcmVzcG9uZF9taW4oJGJwLWRlc2t0b3AtbWluKSB7XG4gICAgICAgIHdpZHRoOiAkdy1mbHVpZC1jb2wtMztcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAucHJvbW9zLS13aXRoLWxlYWQgJiB7XG4gICAgQGluY2x1ZGUgcmVzcG9uZF9taW4oJGJwLXRhYmxldC13aWRlLW1pbikge1xuICAgICAgd2lkdGg6ICR3LWZsdWlkLWNvbC0zICFpbXBvcnRhbnQ7XG5cbiAgICAgICYucHJvbW9zX19pdGVtLS1sZWFkIHtcbiAgICAgICAgd2lkdGg6ICR3LWZsdWlkLWNvbC02ICFpbXBvcnRhbnQ7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLnByb21vcy0tbWluaSAmIHtcbiAgICB3aWR0aDogJHctZmx1aWQtY29sLTEyO1xuXG4gICAgQGluY2x1ZGUgcmVzcG9uZF9taW4oJGJwLW1vYmlsZS13aWRlLW1pbikge1xuICAgICAgd2lkdGg6ICR3LWZsdWlkLWNvbC02O1xuICAgIH1cblxuICAgIEBpbmNsdWRlIHJlc3BvbmRfbWluKCRicC10YWJsZXQtbWluKSB7XG4gICAgICB3aWR0aDogJHctZmx1aWQtY29sLTQ7XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgcmVzcG9uZF9taW4oJGJwLWRlc2t0b3Atd2lkZS1taW4pIHtcbiAgICAgIHdpZHRoOiAkdy1mbHVpZC1jb2wtMjtcbiAgICB9XG4gIH1cbn1cblxuLnByb21vc19faXRlbV9faW5uZXIge1xuXG4gIC5wcm9tb3NfX2l0ZW0tLXBhZGRlZCAmIHtcbiAgICBwYWRkaW5nOiAkc3BhY2luZy14c21sICRzcGFjaW5nLXhzbWwgJHNwYWNpbmc7XG4gIH1cbn1cblxuLnByb21vc19faXRlbV9fbWVkaWEge1xuICBAaW5jbHVkZSBtYXJnaW5fYm90dG9tX3Jlc3BvbmQoJHNwYWNpbmctc21sLCRzcGFjaW5nLXNtbCk7XG59XG5cbi5wcm9tb3NfX2l0ZW1fX2NvcHkge1xuICBwYWRkaW5nOiAwICRzcGFjaW5nLXh4c21sO1xuXG4gIEBpbmNsdWRlIHNpYmxpbmdfY291bnQoMywgJy5wcm9tb3NfX2l0ZW0nKSB7IC8vIHdpdGhpbiBjb250ZXh0IG9mIDN4IC5wcm9tb3NfX2l0ZW1cbiAgICBAaW5jbHVkZSByZXNwb25kX2ZvbnRfc2l6ZSgkZnMtbGF0by1zbWwsJGRlc2t0b3A6JGZzLWxhdG8tbWVkKTtcbiAgfVxuXG4gIEBpbmNsdWRlIHNpYmxpbmdfY291bnQoNCwnLnByb21vc19faXRlbScpIHsgLy8gd2l0aGluIGNvbnRleHQgb2YgNHggLnByb21vc19faXRlbVxuICAgIEBpbmNsdWRlIHJlc3BvbmRfZm9udF9zaXplKCRmcy1sYXRvLXNtbCwkZGVza3RvcC13aWRlOiRmcy1sYXRvLW1lZCk7XG4gIH1cblxuICAucHJvbW9zX19pdGVtLS1wYWRkZWQgJiB7XG4gICAgcGFkZGluZzogMDtcbiAgfVxuXG4gID4gKiB7XG4gICAgQGluY2x1ZGUgbm9fbWFyZ2luX2ZpcnN0X29yX2xhc3QoKTtcbiAgfVxufVxuXG4ucHJvbW9zX19pdGVtX190aXRsZSB7XG4gIG1hcmdpbi1ib3R0b206IDI1cHg7XG59XG5cbi5wcm9tb3NfX2l0ZW1fX2ZpZ3VyZXtcbiAgbWFyZ2luOiAwO1xufVxuXG4ucHJvbW9zX19pdGVtX19jYXB0aW9uIHtcbiAgbWFyZ2luOiAzZW0gYXV0byAwO1xuICBtYXgtd2lkdGg6IDM0MHB4O1xufVxuIiwiLypcbiAgQ09NUE9ORU5UOiBRVU9URVxuKi9cblxuLnF1b3RlIHtcbiAgQGluY2x1ZGUgbGF5b3V0KCR3LWNvbC04KTtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBAaW5jbHVkZSBub19tYXJnaW5fZmlyc3Rfb3JfbGFzdCgpO1xuXG4gID4gKiB7XG4gICAgQGluY2x1ZGUgbm9fbWFyZ2luX2ZpcnN0X29yX2xhc3QoKTtcbiAgfVxuXG4gICY6YmVmb3JlIHtcbiAgICBAZXh0ZW5kIC5pY29uO1xuICAgIEBleHRlbmQgLmljb24tcXVvdGU7XG4gICAgQGluY2x1ZGUgZm9udF9zaXplKCRpY29uLXNpemUteGxyZyk7XG4gICAgbWFyZ2luLWJvdHRvbTogMjBweDtcbiAgICBjb2xvcjogJGNsci15ZWxsb3c7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gIH1cbn1cblxuLnF1b3RlLS1ncmV5LWxpZ2h0IHtcblxuICAmOmJlZm9yZSB7XG4gICAgLy9jb2xvcjogJGNsci1ncmV5LWxpZ2h0O1xuICAgIGNvbG9yOiBkYXJrZW4oJGNsci1ncmV5LWxpZ2h0LDUlKTtcbiAgfVxufVxuXG4ucXVvdGUtLXB1bGwtbGVmdCB7XG5cbiAgQGluY2x1ZGUgcmVzcG9uZC1taW4oJGJwLWRlc2t0b3Atd2lkZS1taW4pIHtcbiAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBwYWRkaW5nLWxlZnQ6ICR3LWNvbC0xO1xuXG4gICAgJjpiZWZvcmUge1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgdG9wOiAwO1xuICAgICAgbGVmdDogMDtcbiAgICAgIG1hcmdpbi10b3A6IC00cHg7XG4gICAgICBtYXJnaW4tbGVmdDogMDtcbiAgICB9XG4gIH1cbn1cblxuXG4iLCIvKlxuICBDT01QT05FTlQ6IFJFQ0VJUFRcbiovXG5cbi5yZWNlaXB0IHtcbiAgQGluY2x1ZGUgbGF5b3V0KCR3LWNvbC04KTtcbiAgQGluY2x1ZGUgcGFkZGluZ192ZXJ0aWNhbF9yZXNwb25kKCRzcGFjaW5nLWxyZyk7XG4gIEBpbmNsdWRlIHBhZGRpbmdfaG9yaXpvbnRhbF9yZXNwb25kKCRzcGFjaW5nKTtcblxuICBAaW5jbHVkZSByZXNwb25kX21pbigkYnAtcGhhYmxldC1taW4pIHtcbiAgICBib3JkZXI6IDJweCBzb2xpZCAkY2xyLWdyZXktbGlnaHQ7XG4gIH1cbn1cblxuLnJlY2VpcHRfX2NvbnRlbnQge1xuXG4gID4gKiB7XG4gICAgQGluY2x1ZGUgbm9fbWFyZ2luX2ZpcnN0X29yX2xhc3QoKTtcbiAgfVxufVxuXG4ucmVjZWlwdF9fc3VtbWFyeSB7XG4gIHBhZGRpbmc6IDA7XG4gIGxpc3Qtc3R5bGU6IG5vbmU7XG4gIG1hcmdpbjogJHNwYWNpbmcgMDtcbiAgQGluY2x1ZGUgbm9fbWFyZ2luX2ZpcnN0X29yX2xhc3QoKTtcbiAgQGluY2x1ZGUgZ193cmFwKCk7XG5cbiAgbGkge1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICBAaW5jbHVkZSBnX2NvbCgpO1xuICAgIHdpZHRoOiA1MCU7XG5cbiAgICBAaW5jbHVkZSByZXNwb25kX21pbigkYnAtcGhhYmxldC1taW4pIHtcbiAgICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgICB3aWR0aDogMjUlO1xuICAgIH1cblxuICAgIHN0cm9uZyB7XG4gICAgICBmb250LXdlaWdodDogbm9ybWFsO1xuICAgICAgY29sb3I6ICRjbHItb3JhbmdlO1xuICAgICAgZGlzcGxheTogYmxvY2s7XG5cbiAgICAgIEBpbmNsdWRlIHJlc3BvbmRfbWluKCRicC1waGFibGV0LW1pbikge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAwLjZlbTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBzcGFuIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIH1cbiAgfVxufVxuXG4ucmVjZWlwdF9faXRlbXMge1xuICB3aWR0aDogMTAwJTtcbiAgYm9yZGVyLWNvbGxhcHNlOiBjb2xsYXBzZTtcbiAgbWFyZ2luOiAkc3BhY2luZyAwO1xuICBAaW5jbHVkZSBub19tYXJnaW5fZmlyc3Rfb3JfbGFzdCgpXG4gIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAkY2xyLWdyZXktbGlnaHQ7XG5cbiAgdGgge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgY29sb3I6ICRjbHItb3JhbmdlO1xuICAgIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG5cbiAgICBAaW5jbHVkZSByZXNwb25kX21pbigkYnAtcGhhYmxldC1taW4pIHtcbiAgICAgIGRpc3BsYXk6IHRhYmxlLWNlbGw7XG4gICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgICAgd2lkdGg6IDE2JTtcbiAgICAgIGJvcmRlci10b3A6IDFweCBzb2xpZCAkY2xyLWdyZXktbGlnaHQ7XG4gICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgJGNsci1ncmV5LWxpZ2h0O1xuICAgICAgcGFkZGluZzogMWVtIDA7XG4gICAgfVxuICB9XG5cbiAgdGQge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIGJvcmRlcjogMDtcbiAgICBwYWRkaW5nOiAwLjRlbSAwO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcblxuICAgIEBpbmNsdWRlIHJlc3BvbmRfbWluKCRicC1waGFibGV0LW1pbikge1xuICAgICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICAgIHBhZGRpbmc6IDFlbSAwICFpbXBvcnRhbnQ7XG4gICAgICBkaXNwbGF5OiB0YWJsZS1jZWxsO1xuICAgICAgYm9yZGVyLXRvcDogMXB4IHNvbGlkICRjbHItZ3JleS1saWdodDtcbiAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAkY2xyLWdyZXktbGlnaHQ7XG4gICAgfVxuXG4gICAgJjpiZWZvcmUge1xuICAgICAgY29udGVudDogYXR0cihkYXRhLXRhYmxlLWxhYmVsKTtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgY29sb3I6ICRjbHItb3JhbmdlO1xuXG4gICAgICBAaW5jbHVkZSByZXNwb25kX21pbigkYnAtcGhhYmxldC1taW4pIHtcbiAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAmOmZpcnN0LWNoaWxkIHtcbiAgICAgIGJvcmRlci10b3A6IDFweCBzb2xpZCAkY2xyLWdyZXktbGlnaHQ7XG4gICAgICBwYWRkaW5nLXRvcDogMS4yZW07XG4gICAgfVxuXG4gICAgJjpsYXN0LWNoaWxkIHtcbiAgICAgIHBhZGRpbmctYm90dG9tOiAxLjJlbTtcbiAgICB9XG4gIH1cblxuICAucmVjZWlwdF9faXRlbXNfX2l0ZW0tY29sIHtcbiAgICB3aWR0aDogNTIlO1xuICB9XG59XG4iLCIvKlxuICBDT01QT05FTlQ6IFJPV1xuKi9cblxuLnJvdyB7XG4gIEBpbmNsdWRlIGxheW91dCgxMDAlKTtcbiAgQGluY2x1ZGUgcGFkZGluZ19ob3Jpem9udGFsX3Jlc3BvbmQoJHNwYWNpbmcteHNtbCwkc3BhY2luZy14c21sKTtcbiAgQGluY2x1ZGUgcGFkZGluZ192ZXJ0aWNhbF9yZXNwb25kKCRzcGFjaW5nLXhscmcsJHNwYWNpbmcpO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuXG4gIEBpbmNsdWRlIHJlc3BvbmRfbWluKCRicC1kZXNrdG9wLW1pbikge1xuICAgIHBhZGRpbmctdG9wOiAkc3BhY2luZy14eGxyZztcbiAgICBwYWRkaW5nLWJvdHRvbTogJHNwYWNpbmcteHhscmc7XG4gIH1cblxuICA+ICoge1xuICAgIEBpbmNsdWRlIG5vX21hcmdpbl9maXJzdF9vcl9sYXN0KCk7XG4gIH1cbn1cblxuLnJvdy0tZmx1c2gge1xuICBwYWRkaW5nOiAwICFpbXBvcnRhbnQ7XG59XG5cbi5yb3ctLWZsdXNoLWhvcml6b250YWwge1xuICBwYWRkaW5nLWxlZnQ6IDAgIWltcG9ydGFudDtcbiAgcGFkZGluZy1yaWdodDogMCAhaW1wb3J0YW50O1xufVxuXG4ucm93LS1mbHVzaC12ZXJ0aWNhbCB7XG4gIHBhZGRpbmctdG9wOiAwICFpbXBvcnRhbnQ7XG4gIHBhZGRpbmctYm90dG9tOiAwICFpbXBvcnRhbnQ7XG59XG5cbi5yb3ctLWFsbG93LW92ZXJmbG93IHtcbiAgb3ZlcmZsb3c6IHZpc2libGU7XG59XG5cbi5yb3ctLWtleWxpbmUtdG9wIHtcbiAgYm9yZGVyLXRvcDogMXB4IHNvbGlkICRjbHItZ3JleS1taWQtbGlnaHQ7XG4gIG1hcmdpbi10b3A6IC0xcHg7XG59XG5cbi5yb3ctLWtleWxpbmUtYm90dG9tIHtcbiAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICRjbHItZ3JleS1taWQtbGlnaHQ7XG4gIG1hcmdpbi1ib3R0b206IC0xcHg7XG59XG5cbi5yb3ctLWtleWxpbmUge1xuICBAZXh0ZW5kIC5yb3ctLWtleWxpbmUtdG9wO1xuICBAZXh0ZW5kIC5yb3ctLWtleWxpbmUtYm90dG9tO1xufVxuIiwiLypcbiAgQ09NUE9ORU5UOiBTSEFSRVxuKi9cblxuLnNoYXJlIHtcbiAgQGluY2x1ZGUgbGF5b3V0KCk7XG59XG5cbi5zaGFyZV9fbmF2IHtcbiAgbWFyZ2luOiAkc3BhY2luZyBhdXRvO1xuICBsaXN0LXN0eWxlOiBub25lO1xuICBwYWRkaW5nOiAwO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG5cbiAgbGkge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBtYXJnaW46IDA7XG5cbiAgICBAaW5jbHVkZSByZXNwb25kLW1pbigkYnAtbW9iaWxlLXdpZGUtbWluKSB7XG4gICAgICBtYXJnaW46IDAgJHNwYWNpbmcteHhzbWwgJHNwYWNpbmcteHNtbDtcbiAgICB9XG4gIH1cblxuICBhIHtcbiAgICBAaW5jbHVkZSB0eXBlX2xpbmtfcmVzZXQoKTtcbiAgICBAaW5jbHVkZSBmb250X3NpemUoJGljb24tc2l6ZS1tZWQpO1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBib3JkZXI6IDFweCBzb2xpZCAkY2xyLWdyZXktbGlnaHQ7XG4gICAgY29sb3I6ICRjbHItdGVhbDtcbiAgICB3aWR0aDogNTBweDtcbiAgICBoZWlnaHQ6IDUwcHg7XG4gICAgbGluZS1oZWlnaHQ6IDUwcHg7XG5cbiAgICBAaW5jbHVkZSByZXNwb25kLW1pbigkYnAtdGFibGV0LW1pbikge1xuICAgICAgQGluY2x1ZGUgZm9udF9zaXplKCRpY29uLXNpemUteGxyZyk7XG4gICAgICB3aWR0aDogNzBweDtcbiAgICAgIGhlaWdodDogNzBweDtcbiAgICAgIGxpbmUtaGVpZ2h0OiA3MHB4O1xuICAgIH1cblxuICAgIEBpbmNsdWRlIGhvdmVyLWZvY3VzKCkge1xuICAgICAgYm9yZGVyLWNvbG9yOiAkY2xyLWdyZXktbWlkO1xuICAgIH1cblxuICAgIGkge1xuICAgICAgbGluZS1oZWlnaHQ6IGluaGVyaXQ7XG4gICAgfVxuICB9XG59XG4iLCIvKlxuICBDT01QT05FTlQ6IFNLSVAtTElOS1xuKi9cblxuLnNraXAtbGluayB7XG4gIEBpbmNsdWRlIGFjY2Vzc2libGVfaGlkZSgpO1xuXG4gIEBpbmNsdWRlIGhvdmVyLWZvY3VzKCkge1xuICAgIEBpbmNsdWRlIGFjY2Vzc2libGVfaGlkZV9yZXNldCgpO1xuICB9XG59XG4iLCIvKlxuICBDT01QT05FTlQ6IFNUQVQtU0VUXG4qL1xuXG4uc3RhdC1zZXQge1xuICBtYXJnaW46IDM1cHggMDtcbiAgQGluY2x1ZGUgbm9fbWFyZ2luX2ZpcnN0X29yX2xhc3QoKTtcbn1cblxuLnN0YXQtc2V0X19pdGVtIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB3aWR0aDogMTAwJTtcbiAgbWF4LXdpZHRoOiAyMjBweDtcbiAgYm9yZGVyOiAxcHggc29saWQgJGNsci1ncmV5LW1pZDtcbiAgcGFkZGluZzogJHNwYWNpbmcteHNtbDtcbiAgbWFyZ2luLXJpZ2h0OiAtNXB4O1xuICBtYXJnaW4tYm90dG9tOiAtMXB4O1xuXG4gIC5zdGF0LXNldC0taW52ZXJ0ICYge1xuICAgIGJvcmRlci1jb2xvcjogJGNsci13aGl0ZTtcbiAgfVxuXG4gIC5zdGF0LXNldC0tYmxhY2stYWxwaGEgJiB7XG4gICAgQGluY2x1ZGUgY2xyX2hlbHBlcl9hbHBoYSgkY2xyLWJsYWNrLDAuNSk7XG4gIH1cbn1cbiIsIi8qXG4gIENPTVBPTkVOVDogU1RBVFxuKi9cblxuLnN0YXQge1xuICAvL3RleHQtYWxpZ246IGxlZnQ7XG59XG5cbi5zdGF0X19sYWJlbCB7XG4gIGRpc3BsYXk6IGJsb2NrO1xufVxuXG4uc3RhdF9fbGFiZWwtLXNwbGl0IHtcbiAgQGluY2x1ZGUgY2xlYXJmaXgoKTtcbn1cblxuLnN0YXRfX2xhYmVsX19zdGFydCB7XG4gIGZsb2F0OiBsZWZ0O1xufVxuXG4uc3RhdF9fbGFiZWxfX2VuZCB7XG4gIGZsb2F0OiByaWdodDtcbn1cblxuLnN0YXRfX3ZhbHVlIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIG1hcmdpbjogMTJweCAwIDA7XG4gIGxpbmUtaGVpZ2h0OiAkbGgtc21hbGw7XG4gIC8vY29sb3I6IGluaGVyaXQ7XG5cbiAgLnN0YXQtLWludmVydCAmIHtcbiAgICBjb2xvcjogaW5oZXJpdDtcbiAgfVxuXG4gICYtLWJvcmRlciB7XG4gICAgYm9yZGVyLXRvcDogMnB4IHNvbGlkICRjbHItZ3JleS1saWdodDtcbiAgICBwYWRkaW5nLXRvcDogMTRweDtcbiAgfVxufVxuXG4uc3RhdF9fdmFsdWUtLXByb2dyZXNzIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBoZWlnaHQ6IDVweDtcbiAgYmFja2dyb3VuZDogJGNsci1ncmV5LWxpZ2h0O1xuICBib3JkZXItcmFkaXVzOiAxMHB4O1xuICBtYXJnaW46IDQwcHggMCAyNXB4O1xufVxuXG4uc3RhdF9fdmFsdWVfX2xpbmUge1xuICBoZWlnaHQ6IDVweDtcbiAgYmFja2dyb3VuZDogJGNsci1vcmFuZ2U7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAwO1xuICBsZWZ0OiAwO1xuICB6LWluZGV4OiAxMDtcbiAgYm9yZGVyLXJhZGl1czogMTBweDtcbiAgLy8gZnVua3kgd2F5IHRvIHN0b3Agcm91bmRhbCBicmVha2luZyBvdXQgb2YgcHJvZ3Jlc3MgYmFyXG4gIGJvcmRlci1yaWdodDogMTVweCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgYm9yZGVyLWxlZnQ6IDE1cHggc29saWQgdHJhbnNwYXJlbnQ7XG59XG5cbi5zdGF0X192YWx1ZV9fcm91bmRhbCB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICB3aWR0aDogNTBweDtcbiAgaGVpZ2h0OiA1MHB4O1xuICBib3JkZXItcmFkaXVzOiA1MCU7XG4gIGJhY2tncm91bmQ6ICRjbHItb3JhbmdlO1xuICBjb2xvcjogJGNsci13aGl0ZTtcbiAgbWFyZ2luLWxlZnQ6IC0yNXB4O1xuICBtYXJnaW4tdG9wOiAtMjNweDtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDA7XG4gIHJpZ2h0OiAtMjVweDtcbiAgei1pbmRleDogMjA7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgbGluZS1oZWlnaHQ6IDUwcHg7XG4gIC8vIGJvcmRlcjogMnB4IHNvbGlkICRjbHItd2hpdGU7XG4gIGZvbnQtc3R5bGU6IGl0YWxpYztcbiAgYm94LXNoYWRvdzogMCAwIDAgM3B4IHdoaXRlO1xufVxuIiwiLypcbiAgQ09NUE9ORU5UOiBTVEVQU1xuKi9cblxuLnN0ZXBzIHtcbiAgQGluY2x1ZGUgbGF5b3V0KCR3LWNvbC0xMCk7XG4gIEBpbmNsdWRlIG1hcmdpbl92ZXJ0aWNhbF9yZXNwb25kKCRzcGFjaW5nLWxyZyk7XG59XG5cbi5zdGVwc19fbGFiZWwge1xuICBtYXJnaW46IDA7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgQGluY2x1ZGUgZm9udF9vc3dhbGQoKTtcbiAgQGluY2x1ZGUgZm9udF9zaXplKCRmcy1vc3dhbGQteHNtbCk7XG5cbiAgQGluY2x1ZGUgcmVzcG9uZF9taW4oJGJwLXRhYmxldC1taW4pIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG59XG5cbi5zdGVwc19fbGlzdCB7XG4gIG1hcmdpbjogLSRzcGFjaW5nLXNtbCAwIDAgMDtcbiAgcGFkZGluZzogMDtcbiAgbGlzdC1zdHlsZTogbm9uZTtcbiAgY291bnRlci1yZXNldDogbXktYmFkYXNzLWNvdW50ZXI7XG4gIEBpbmNsdWRlIGZvbnRfb3N3YWxkKCk7XG4gIEBpbmNsdWRlIGZvbnRfc2l6ZSgkZnMtb3N3YWxkLXh4eHNtbCk7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgZGlzcGxheTogbm9uZTtcblxuICBAaW5jbHVkZSByZXNwb25kX21pbigkYnAtdGFibGV0LW1pbikge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICB9XG59XG5cbi5zdGVwc19faXRlbSB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgbWFyZ2luOiAkc3BhY2luZy1zbWwgMXB4IDA7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgY29sb3I6ICRjbHItZ3JleS1taWQtbGlnaHQ7XG4gIHdpZHRoOiAxMDAlO1xuICB2ZXJ0aWNhbC1hbGlnbjogdG9wO1xuICBtYXgtd2lkdGg6IDEwMHB4O1xuXG4gIEBpbmNsdWRlIHJlc3BvbmRfbWluKCRicC10YWJsZXQtd2lkZS1taW4pIHtcbiAgICBtYXgtd2lkdGg6IDEyMHB4O1xuICAgIG1hcmdpbi1sZWZ0OiAycHg7XG4gICAgbWFyZ2luLXJpZ2h0OiAycHg7XG4gIH1cblxuICBAaW5jbHVkZSByZXNwb25kX21pbigkYnAtZGVza3RvcC1taW4pIHtcbiAgICBtYXgtd2lkdGg6IDE2MHB4O1xuICB9XG5cbiAgQGluY2x1ZGUgcmVzcG9uZF9taW4oJGJwLWRlc2t0b3Atd2lkZS1taW4pIHtcbiAgICBtYXgtd2lkdGg6IDE3NXB4O1xuICB9XG5cbiAgc3BhbiB7XG4gICAgQGluY2x1ZGUgYWNjZXNzaWJsZV9oaWRlKCk7XG4gIH1cblxuICAmOmJlZm9yZSB7XG4gICAgY29udGVudDogY291bnRlcihteS1iYWRhc3MtY291bnRlcik7XG4gICAgY291bnRlci1pbmNyZW1lbnQ6IG15LWJhZGFzcy1jb3VudGVyO1xuICAgIEBpbmNsdWRlIGZvbnRfbGF0bygpO1xuICAgIEBpbmNsdWRlIHJlc3BvbmRfZm9udF9zaXplKCRmcy1sYXRvLW1lZCwkdGFibGV0OiRmcy1sYXRvLWxyZywkZGVza3RvcDokZnMtbGF0by14bHJnKTtcbiAgICBmb250LXdlaWdodDogYm9sZDtcbiAgICBsZXR0ZXItc3BhY2luZzogbm9ybWFsO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICBiYWNrZ3JvdW5kOiAkY2xyLWdyZXktbWlkLWxpZ2h0O1xuICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBtYXJnaW46IDAgYXV0byAkc3BhY2luZy14c21sO1xuICAgIGNvbG9yOiAkY2xyLXdoaXRlO1xuICAgIHdpZHRoOiA1MHB4O1xuICAgIGhlaWdodDogNTBweDtcbiAgICBsaW5lLWhlaWdodDogNTBweDtcblxuICAgIEBpbmNsdWRlIHJlc3BvbmRfbWluKCRicC1kZXNrdG9wLW1pbikge1xuICAgICAgd2lkdGg6IDc1cHg7XG4gICAgICBoZWlnaHQ6IDc1cHg7XG4gICAgICBsaW5lLWhlaWdodDogNzRweDtcbiAgICB9XG4gIH1cbn1cblxuLnN0ZXBzX19pdGVtLS1jdXJyZW50IHtcbiAgY29sb3I6ICRjbHItZ3JleS1kYXJrO1xuXG4gICY6YmVmb3JlIHtcbiAgICBiYWNrZ3JvdW5kOiAkY2xyLW9yYW5nZTtcbiAgfVxufVxuIiwiLypcbiAgQ09NUE9ORU5UOiBBQ0NPUkRJT05cbiovXG5cbiRicC10YWJiZWQtbWluOiAkYnAtZGVza3RvcC1taW47XG5cbi50YWJzIHtcblxufVxuXG4udGFic19fbmF2IHtcbiAgd29yZC1zcGFjaW5nOiAtNHB4O1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIG1hcmdpbi1ib3R0b206ICRzcGFjaW5nO1xuICBkaXNwbGF5OiBub25lO1xuXG4gIEBpbmNsdWRlIHJlc3BvbmQtbWluKCRicC10YWJiZWQtbWluKSB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gIH1cbn1cblxuLnRhYnNfX25hdl9fdHJpZ2dlciB7XG4gIEBpbmNsdWRlIHR5cGVfbGlua19yZXNldCgpO1xuICBAaW5jbHVkZSBmb250X29zd2FsZCgpO1xuICBAaW5jbHVkZSByZXNwb25kX2ZvbnRfc2l6ZSgkZnMtb3N3YWxkLXh4c21sLCR0YWJsZXQtd2lkZTokZnMtb3N3YWxkLXhzbWwsJGRlc2t0b3Atd2lkZTokZnMtb3N3YWxkLXNtbCk7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgYm9yZGVyOiAxcHggc29saWQgJGNsci1ncmV5LWxpZ2h0ICFpbXBvcnRhbnQ7XG4gIHBhZGRpbmc6ICRzcGFjaW5nLXhzbWwgJHNwYWNpbmc7XG4gIHdvcmQtc3BhY2luZzogbm9ybWFsO1xuXG4gIC50YWJzX19uYXYtLWxyZyAmIHtcbiAgICBAaW5jbHVkZSByZXNwb25kX2ZvbnRfc2l6ZSgkZnMtb3N3YWxkLW1lZCwkcGhhYmxldDokZnMtb3N3YWxkLWxyZywkdGFibGV0LXdpZGU6JGZzLW9zd2FsZC14bHJnKTtcblxuICAgIGkge1xuICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDEwcHg7XG4gICAgICBAaW5jbHVkZSBmb250X3NpemUoJGljb24tc2l6ZS14eGxyZyk7XG4gICAgfVxuICB9XG5cbiAgLnRhYnNfX25hdi0td2hpdGUgJiB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGNsci13aGl0ZTtcbiAgICBib3JkZXItY29sb3I6ICRjbHItd2hpdGUgIWltcG9ydGFudDtcbiAgfVxuXG4gICZbZGF0YS10YWJzLW5hdi1pdGVtPVwiYWN0aXZlXCJdIHtcbiAgICBiYWNrZ3JvdW5kOiAkY2xyLXRlYWw7XG4gICAgY29sb3I6ICRjbHItd2hpdGU7XG4gICAgYm9yZGVyLWNvbG9yOiAkY2xyLXRlYWwgIWltcG9ydGFudDtcbiAgfVxuXG4gIHNwYW4ge1xuICAgIEBpbmNsdWRlIHR5cGVfbGluaygpO1xuICB9XG5cbiAgQGluY2x1ZGUgaG92ZXItZm9jdXMoKSB7XG4gICAgc3BhbiB7XG4gICAgICBib3JkZXItYm90dG9tLXN0eWxlOiBkb3R0ZWQ7IC8vIGZvcmNlIGxpbmsgaG92ZXIgc3R5bGUgb24gaG92ZXIgb2YgcGFyZW50XG4gICAgfVxuICB9XG59XG5cbi50YWJzX19kcm9wZG93biB7XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gIG1hcmdpbjogMCBhdXRvICRzcGFjaW5nO1xuXG4gIEBpbmNsdWRlIHJlc3BvbmQtbWluKCRicC10YWJiZWQtbWluKSB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxufVxuXG4udGFic19faXRlbSB7XG5cbiAgLmpzICYge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cblxuICAmW2RhdGEtdGFicy1pdGVtPVwiYWN0aXZlXCJdIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgfVxuXG4gID4gKiB7XG4gICAgQGluY2x1ZGUgbm9fbWFyZ2luX2ZpcnN0X29yX2xhc3QoKTtcbiAgfVxufVxuIiwiLypcbiAgQ09NUE9ORU5UOiBUSVRMRVxuKi9cblxuKjpub3QoZm9ybSkgPiB7IC8vIGRlc2NvcGUgLnRpdGxlIGZyb20gZm9ybXMgYXMgVW1icmFjbyB1c2VzIHVubmFtZXNwYWNlZCAudGl0bGUuLi5cblxuICAudGl0bGUge1xuICAgIEBpbmNsdWRlIGxheW91dCgkdy1jb2wtOCk7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIEBpbmNsdWRlIG5vX21hcmdpbl9maXJzdF9vcl9sYXN0KCk7XG5cbiAgICAvLyAmOmZpcnN0LWNoaWxkIHtcbiAgICAvLyAgIG1hcmdpbi10b3A6IC0wLjVlbTsgLy8gbGluZS1oZWlnaHQgYWRqdXN0bWVudCB3aGVuIGZpcnN0IGluc2lkZSByb3dcbiAgICAvLyB9XG4gIH1cblxuICAvLyBUaXRsZSB3aXRoIGRvdFxuICAudGl0bGUtLWRvdCB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHBhZGRpbmctYm90dG9tOiAzMHB4O1xuICAgIG1hcmdpbi1ib3R0b206IDI1cHg7XG5cbiAgICAmLmgtcHJpbWFyeSB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAzNXB4O1xuICAgIH1cblxuICAgIC8vIGRvdFxuICAgICY6YWZ0ZXIge1xuICAgICAgY29udGVudDogXCJcIjtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIGJvdHRvbTogMDtcbiAgICAgIGxlZnQ6IDA7XG4gICAgICByaWdodDogMDtcbiAgICAgIG1hcmdpbjogYXV0bztcbiAgICAgIHdpZHRoOiA5cHg7XG4gICAgICBoZWlnaHQ6IDlweDtcbiAgICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICRjbHItZ3JleS1taWQ7XG5cbiAgICAgIC5jbHItdGVhbCAmLFxuICAgICAgLmNsci1ncmV5LWRhcmsgJixcbiAgICAgIC5jbHIteWVsbG93ICYge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY2xyLXdoaXRlO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC8vIFNtYWxsZXIgbWFyZ2luc1xuICAudGl0bGUtLW1hcmdpbi1zbWwge1xuICAgIG1hcmdpbi10b3A6ICRtYXJnaW4taGVhZGluZy1yZWR1Y2VkO1xuICAgIG1hcmdpbi1ib3R0b206ICRtYXJnaW4taGVhZGluZy1yZWR1Y2VkO1xuICB9XG5cbiAgLy8gU3ViLXNlY3Rpb24gaW5uZXJcbiAgLnRpdGxlX19zdWIge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIEBpbmNsdWRlIGZvbnRfc2l6ZSgkZnMtb3N3YWxkLXh4c21sKTtcbiAgICBjb2xvcjogJGNsci1ncmV5LWRhcms7XG4gICAgbWFyZ2luLWJvdHRvbTogMC40ZW07XG5cbiAgICAuY2xyLXRlYWwgJixcbiAgICAuY2xyLWdyZXktZGFyayAmIHtcbiAgICAgIGNvbG9yOiAkY2xyLXdoaXRlO1xuICAgIH1cbiAgfVxuXG59XG4iLCIvLyBERU1POiBHUklEXG4vLyBDbGFzc2VzIGFyZSBmb3IgZGVtb25zdHJhdGlvbiBvbmx5XG5cbi5kZW1vLWdyaWQge1xuXG4gIC5ncmlkIHsgLy8gZ3JpZCBoZWxwZXJcbiAgICBAaW5jbHVkZSBnX3dyYXAoKTtcblxuICAgIGNvZGUgeyBkaXNwbGF5OiBibG9jazsgbWFyZ2luOiAxMHB4IDA7IGJhY2tncm91bmQ6ICNlMWUxZTE7IHdoaXRlLXNwYWNlOiBub3JtYWw7IEBpbmNsdWRlIGZvbnRfc2l6ZSgxMHB4KTsgfVxuICAgIGNvZGUgY29kZSB7IGJhY2tncm91bmQ6ICNjMWMxYzE7IH1cbiAgICBjb2RlIGNvZGUgY29kZSB7IGJhY2tncm91bmQ6ICNhMWExYTE7IH1cbiAgfVxuXG4gIFtjbGFzc149XCJjb2wtXCJdIHtcbiAgICBAaW5jbHVkZSBnX2NvbCgpOyAvLyAxMi8xMlxuICB9XG5cbiAgLmNvbCB7XG4gICAgJi0xMi0xMiB7IHdpZHRoOiAkdy1mbHVpZC1jb2wtMTI7IH1cbiAgICAmLTExLTEyIHsgd2lkdGg6ICR3LWZsdWlkLWNvbC0xMTsgfVxuICAgICYtMTAtMTIgeyB3aWR0aDogJHctZmx1aWQtY29sLTEwOyB9XG4gICAgJi05LTEyIHsgd2lkdGg6ICR3LWZsdWlkLWNvbC05OyB9XG4gICAgJi04LTEyIHsgd2lkdGg6ICR3LWZsdWlkLWNvbC04OyB9XG4gICAgJi03LTEyIHsgd2lkdGg6ICR3LWZsdWlkLWNvbC03OyB9XG4gICAgJi02LTEyIHsgd2lkdGg6ICR3LWZsdWlkLWNvbC02OyB9XG4gICAgJi01LTEyIHsgd2lkdGg6ICR3LWZsdWlkLWNvbC01OyB9XG4gICAgJi00LTEyIHsgd2lkdGg6ICR3LWZsdWlkLWNvbC00OyB9XG4gICAgJi0zLTEyIHsgd2lkdGg6ICR3LWZsdWlkLWNvbC0zOyB9XG4gICAgJi0yLTEyIHsgd2lkdGg6ICR3LWZsdWlkLWNvbC0yOyB9XG4gICAgJi0xLTEyIHsgd2lkdGg6ICR3LWZsdWlkLWNvbC0xOyB9XG4gIH1cbn1cbiJdfQ== */
