/* From node_modules */
/*! normalize.css v7.0.0 | MIT License | github.com/necolas/normalize.css */
/* Document
   ========================================================================== */
/**
 * 1. Correct the line height in all browsers.
 * 2. Prevent adjustments of font size after orientation changes in
 *    IE on Windows Phone and in iOS.
 */
html {
  line-height: 1.15;
  /* 1 */
  -ms-text-size-adjust: 100%;
  /* 2 */
  -webkit-text-size-adjust: 100%;
  /* 2 */ }

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

/**
 * Add the correct display in IE 9-.
 */
article,
aside,
footer,
header,
nav,
section {
  display: block; }

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

/* Grouping content
   ========================================================================== */
/**
 * Add the correct display in IE 9-.
 * 1. Add the correct display in IE.
 */
figcaption,
figure,
main {
  /* 1 */
  display: block; }

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

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

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

/* Text-level semantics
   ========================================================================== */
/**
 * 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 */ }

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

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

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

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

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

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

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

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

sub {
  bottom: -0.25em; }

sup {
  top: -0.5em; }

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

/*!
 * Bootstrap Grid v4.4.1 (https://getbootstrap.com/)
 * Copyright 2011-2019 The Bootstrap Authors
 * Copyright 2011-2019 Twitter, Inc.
 * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
 */
html {
  box-sizing: border-box;
  -ms-overflow-style: scrollbar; }

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

.container {
  width: 100%;
  padding-right: 15px;
  padding-left: 15px;
  margin-right: auto;
  margin-left: auto; }
  @media (min-width: 576px) {
    .container {
      max-width: 540px; } }
  @media (min-width: 768px) {
    .container {
      max-width: 720px; } }
  @media (min-width: 992px) {
    .container {
      max-width: 960px; } }
  @media (min-width: 1200px) {
    .container {
      max-width: 1140px; } }

.container-fluid, .container-sm, .container-md, .container-lg, .container-xl {
  width: 100%;
  padding-right: 15px;
  padding-left: 15px;
  margin-right: auto;
  margin-left: auto; }

@media (min-width: 576px) {
  .container, .container-sm {
    max-width: 540px; } }

@media (min-width: 768px) {
  .container, .container-sm, .container-md {
    max-width: 720px; } }

@media (min-width: 992px) {
  .container, .container-sm, .container-md, .container-lg {
    max-width: 960px; } }

@media (min-width: 1200px) {
  .container, .container-sm, .container-md, .container-lg, .container-xl {
    max-width: 1140px; } }

.row {
  display: flex;
  flex-wrap: wrap;
  margin-right: -15px;
  margin-left: -15px; }

.no-gutters {
  margin-right: 0;
  margin-left: 0; }
  .no-gutters > .col,
  .no-gutters > [class*="col-"] {
    padding-right: 0;
    padding-left: 0; }

.col-1, .col-2, .col-3, .col-4, .col-5, .col-6, .col-7, .col-8, .col-9, .col-10, .col-11, .col-12, .col,
.col-auto, .col-sm-1, .col-sm-2, .col-sm-3, .col-sm-4, .col-sm-5, .col-sm-6, .col-sm-7, .col-sm-8, .col-sm-9, .col-sm-10, .col-sm-11, .col-sm-12, .col-sm,
.col-sm-auto, .col-md-1, .col-md-2, .col-md-3, .col-md-4, .col-md-5, .col-md-6, .col-md-7, .col-md-8, .col-md-9, .col-md-10, .col-md-11, .col-md-12, .col-md,
.col-md-auto, .col-lg-1, .col-lg-2, .col-lg-3, .col-lg-4, .col-lg-5, .col-lg-6, .col-lg-7, .col-lg-8, .col-lg-9, .col-lg-10, .col-lg-11, .col-lg-12, .col-lg,
.col-lg-auto, .col-xl-1, .col-xl-2, .col-xl-3, .col-xl-4, .col-xl-5, .col-xl-6, .col-xl-7, .col-xl-8, .col-xl-9, .col-xl-10, .col-xl-11, .col-xl-12, .col-xl,
.col-xl-auto {
  position: relative;
  width: 100%;
  padding-right: 15px;
  padding-left: 15px; }

.col {
  flex-basis: 0;
  flex-grow: 1;
  max-width: 100%; }

.row-cols-1 > * {
  flex: 0 0 100%;
  max-width: 100%; }

.row-cols-2 > * {
  flex: 0 0 50%;
  max-width: 50%; }

.row-cols-3 > * {
  flex: 0 0 33.33333%;
  max-width: 33.33333%; }

.row-cols-4 > * {
  flex: 0 0 25%;
  max-width: 25%; }

.row-cols-5 > * {
  flex: 0 0 20%;
  max-width: 20%; }

.row-cols-6 > * {
  flex: 0 0 16.66667%;
  max-width: 16.66667%; }

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

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

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

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

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

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

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

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

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

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

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

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

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

.order-first {
  order: -1; }

.order-last {
  order: 13; }

.order-0 {
  order: 0; }

.order-1 {
  order: 1; }

.order-2 {
  order: 2; }

.order-3 {
  order: 3; }

.order-4 {
  order: 4; }

.order-5 {
  order: 5; }

.order-6 {
  order: 6; }

.order-7 {
  order: 7; }

.order-8 {
  order: 8; }

.order-9 {
  order: 9; }

.order-10 {
  order: 10; }

.order-11 {
  order: 11; }

.order-12 {
  order: 12; }

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

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

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

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

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

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

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

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

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

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

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

@media (min-width: 576px) {
  .col-sm {
    flex-basis: 0;
    flex-grow: 1;
    max-width: 100%; }
  .row-cols-sm-1 > * {
    flex: 0 0 100%;
    max-width: 100%; }
  .row-cols-sm-2 > * {
    flex: 0 0 50%;
    max-width: 50%; }
  .row-cols-sm-3 > * {
    flex: 0 0 33.33333%;
    max-width: 33.33333%; }
  .row-cols-sm-4 > * {
    flex: 0 0 25%;
    max-width: 25%; }
  .row-cols-sm-5 > * {
    flex: 0 0 20%;
    max-width: 20%; }
  .row-cols-sm-6 > * {
    flex: 0 0 16.66667%;
    max-width: 16.66667%; }
  .col-sm-auto {
    flex: 0 0 auto;
    width: auto;
    max-width: 100%; }
  .col-sm-1 {
    flex: 0 0 8.33333%;
    max-width: 8.33333%; }
  .col-sm-2 {
    flex: 0 0 16.66667%;
    max-width: 16.66667%; }
  .col-sm-3 {
    flex: 0 0 25%;
    max-width: 25%; }
  .col-sm-4 {
    flex: 0 0 33.33333%;
    max-width: 33.33333%; }
  .col-sm-5 {
    flex: 0 0 41.66667%;
    max-width: 41.66667%; }
  .col-sm-6 {
    flex: 0 0 50%;
    max-width: 50%; }
  .col-sm-7 {
    flex: 0 0 58.33333%;
    max-width: 58.33333%; }
  .col-sm-8 {
    flex: 0 0 66.66667%;
    max-width: 66.66667%; }
  .col-sm-9 {
    flex: 0 0 75%;
    max-width: 75%; }
  .col-sm-10 {
    flex: 0 0 83.33333%;
    max-width: 83.33333%; }
  .col-sm-11 {
    flex: 0 0 91.66667%;
    max-width: 91.66667%; }
  .col-sm-12 {
    flex: 0 0 100%;
    max-width: 100%; }
  .order-sm-first {
    order: -1; }
  .order-sm-last {
    order: 13; }
  .order-sm-0 {
    order: 0; }
  .order-sm-1 {
    order: 1; }
  .order-sm-2 {
    order: 2; }
  .order-sm-3 {
    order: 3; }
  .order-sm-4 {
    order: 4; }
  .order-sm-5 {
    order: 5; }
  .order-sm-6 {
    order: 6; }
  .order-sm-7 {
    order: 7; }
  .order-sm-8 {
    order: 8; }
  .order-sm-9 {
    order: 9; }
  .order-sm-10 {
    order: 10; }
  .order-sm-11 {
    order: 11; }
  .order-sm-12 {
    order: 12; }
  .offset-sm-0 {
    margin-left: 0; }
  .offset-sm-1 {
    margin-left: 8.33333%; }
  .offset-sm-2 {
    margin-left: 16.66667%; }
  .offset-sm-3 {
    margin-left: 25%; }
  .offset-sm-4 {
    margin-left: 33.33333%; }
  .offset-sm-5 {
    margin-left: 41.66667%; }
  .offset-sm-6 {
    margin-left: 50%; }
  .offset-sm-7 {
    margin-left: 58.33333%; }
  .offset-sm-8 {
    margin-left: 66.66667%; }
  .offset-sm-9 {
    margin-left: 75%; }
  .offset-sm-10 {
    margin-left: 83.33333%; }
  .offset-sm-11 {
    margin-left: 91.66667%; } }

@media (min-width: 768px) {
  .col-md {
    flex-basis: 0;
    flex-grow: 1;
    max-width: 100%; }
  .row-cols-md-1 > * {
    flex: 0 0 100%;
    max-width: 100%; }
  .row-cols-md-2 > * {
    flex: 0 0 50%;
    max-width: 50%; }
  .row-cols-md-3 > * {
    flex: 0 0 33.33333%;
    max-width: 33.33333%; }
  .row-cols-md-4 > * {
    flex: 0 0 25%;
    max-width: 25%; }
  .row-cols-md-5 > * {
    flex: 0 0 20%;
    max-width: 20%; }
  .row-cols-md-6 > * {
    flex: 0 0 16.66667%;
    max-width: 16.66667%; }
  .col-md-auto {
    flex: 0 0 auto;
    width: auto;
    max-width: 100%; }
  .col-md-1 {
    flex: 0 0 8.33333%;
    max-width: 8.33333%; }
  .col-md-2 {
    flex: 0 0 16.66667%;
    max-width: 16.66667%; }
  .col-md-3 {
    flex: 0 0 25%;
    max-width: 25%; }
  .col-md-4 {
    flex: 0 0 33.33333%;
    max-width: 33.33333%; }
  .col-md-5 {
    flex: 0 0 41.66667%;
    max-width: 41.66667%; }
  .col-md-6 {
    flex: 0 0 50%;
    max-width: 50%; }
  .col-md-7 {
    flex: 0 0 58.33333%;
    max-width: 58.33333%; }
  .col-md-8 {
    flex: 0 0 66.66667%;
    max-width: 66.66667%; }
  .col-md-9 {
    flex: 0 0 75%;
    max-width: 75%; }
  .col-md-10 {
    flex: 0 0 83.33333%;
    max-width: 83.33333%; }
  .col-md-11 {
    flex: 0 0 91.66667%;
    max-width: 91.66667%; }
  .col-md-12 {
    flex: 0 0 100%;
    max-width: 100%; }
  .order-md-first {
    order: -1; }
  .order-md-last {
    order: 13; }
  .order-md-0 {
    order: 0; }
  .order-md-1 {
    order: 1; }
  .order-md-2 {
    order: 2; }
  .order-md-3 {
    order: 3; }
  .order-md-4 {
    order: 4; }
  .order-md-5 {
    order: 5; }
  .order-md-6 {
    order: 6; }
  .order-md-7 {
    order: 7; }
  .order-md-8 {
    order: 8; }
  .order-md-9 {
    order: 9; }
  .order-md-10 {
    order: 10; }
  .order-md-11 {
    order: 11; }
  .order-md-12 {
    order: 12; }
  .offset-md-0 {
    margin-left: 0; }
  .offset-md-1 {
    margin-left: 8.33333%; }
  .offset-md-2 {
    margin-left: 16.66667%; }
  .offset-md-3 {
    margin-left: 25%; }
  .offset-md-4 {
    margin-left: 33.33333%; }
  .offset-md-5 {
    margin-left: 41.66667%; }
  .offset-md-6 {
    margin-left: 50%; }
  .offset-md-7 {
    margin-left: 58.33333%; }
  .offset-md-8 {
    margin-left: 66.66667%; }
  .offset-md-9 {
    margin-left: 75%; }
  .offset-md-10 {
    margin-left: 83.33333%; }
  .offset-md-11 {
    margin-left: 91.66667%; } }

@media (min-width: 992px) {
  .col-lg {
    flex-basis: 0;
    flex-grow: 1;
    max-width: 100%; }
  .row-cols-lg-1 > * {
    flex: 0 0 100%;
    max-width: 100%; }
  .row-cols-lg-2 > * {
    flex: 0 0 50%;
    max-width: 50%; }
  .row-cols-lg-3 > * {
    flex: 0 0 33.33333%;
    max-width: 33.33333%; }
  .row-cols-lg-4 > * {
    flex: 0 0 25%;
    max-width: 25%; }
  .row-cols-lg-5 > * {
    flex: 0 0 20%;
    max-width: 20%; }
  .row-cols-lg-6 > * {
    flex: 0 0 16.66667%;
    max-width: 16.66667%; }
  .col-lg-auto {
    flex: 0 0 auto;
    width: auto;
    max-width: 100%; }
  .col-lg-1 {
    flex: 0 0 8.33333%;
    max-width: 8.33333%; }
  .col-lg-2 {
    flex: 0 0 16.66667%;
    max-width: 16.66667%; }
  .col-lg-3 {
    flex: 0 0 25%;
    max-width: 25%; }
  .col-lg-4 {
    flex: 0 0 33.33333%;
    max-width: 33.33333%; }
  .col-lg-5 {
    flex: 0 0 41.66667%;
    max-width: 41.66667%; }
  .col-lg-6 {
    flex: 0 0 50%;
    max-width: 50%; }
  .col-lg-7 {
    flex: 0 0 58.33333%;
    max-width: 58.33333%; }
  .col-lg-8 {
    flex: 0 0 66.66667%;
    max-width: 66.66667%; }
  .col-lg-9 {
    flex: 0 0 75%;
    max-width: 75%; }
  .col-lg-10 {
    flex: 0 0 83.33333%;
    max-width: 83.33333%; }
  .col-lg-11 {
    flex: 0 0 91.66667%;
    max-width: 91.66667%; }
  .col-lg-12 {
    flex: 0 0 100%;
    max-width: 100%; }
  .order-lg-first {
    order: -1; }
  .order-lg-last {
    order: 13; }
  .order-lg-0 {
    order: 0; }
  .order-lg-1 {
    order: 1; }
  .order-lg-2 {
    order: 2; }
  .order-lg-3 {
    order: 3; }
  .order-lg-4 {
    order: 4; }
  .order-lg-5 {
    order: 5; }
  .order-lg-6 {
    order: 6; }
  .order-lg-7 {
    order: 7; }
  .order-lg-8 {
    order: 8; }
  .order-lg-9 {
    order: 9; }
  .order-lg-10 {
    order: 10; }
  .order-lg-11 {
    order: 11; }
  .order-lg-12 {
    order: 12; }
  .offset-lg-0 {
    margin-left: 0; }
  .offset-lg-1 {
    margin-left: 8.33333%; }
  .offset-lg-2 {
    margin-left: 16.66667%; }
  .offset-lg-3 {
    margin-left: 25%; }
  .offset-lg-4 {
    margin-left: 33.33333%; }
  .offset-lg-5 {
    margin-left: 41.66667%; }
  .offset-lg-6 {
    margin-left: 50%; }
  .offset-lg-7 {
    margin-left: 58.33333%; }
  .offset-lg-8 {
    margin-left: 66.66667%; }
  .offset-lg-9 {
    margin-left: 75%; }
  .offset-lg-10 {
    margin-left: 83.33333%; }
  .offset-lg-11 {
    margin-left: 91.66667%; } }

@media (min-width: 1200px) {
  .col-xl {
    flex-basis: 0;
    flex-grow: 1;
    max-width: 100%; }
  .row-cols-xl-1 > * {
    flex: 0 0 100%;
    max-width: 100%; }
  .row-cols-xl-2 > * {
    flex: 0 0 50%;
    max-width: 50%; }
  .row-cols-xl-3 > * {
    flex: 0 0 33.33333%;
    max-width: 33.33333%; }
  .row-cols-xl-4 > * {
    flex: 0 0 25%;
    max-width: 25%; }
  .row-cols-xl-5 > * {
    flex: 0 0 20%;
    max-width: 20%; }
  .row-cols-xl-6 > * {
    flex: 0 0 16.66667%;
    max-width: 16.66667%; }
  .col-xl-auto {
    flex: 0 0 auto;
    width: auto;
    max-width: 100%; }
  .col-xl-1 {
    flex: 0 0 8.33333%;
    max-width: 8.33333%; }
  .col-xl-2 {
    flex: 0 0 16.66667%;
    max-width: 16.66667%; }
  .col-xl-3 {
    flex: 0 0 25%;
    max-width: 25%; }
  .col-xl-4 {
    flex: 0 0 33.33333%;
    max-width: 33.33333%; }
  .col-xl-5 {
    flex: 0 0 41.66667%;
    max-width: 41.66667%; }
  .col-xl-6 {
    flex: 0 0 50%;
    max-width: 50%; }
  .col-xl-7 {
    flex: 0 0 58.33333%;
    max-width: 58.33333%; }
  .col-xl-8 {
    flex: 0 0 66.66667%;
    max-width: 66.66667%; }
  .col-xl-9 {
    flex: 0 0 75%;
    max-width: 75%; }
  .col-xl-10 {
    flex: 0 0 83.33333%;
    max-width: 83.33333%; }
  .col-xl-11 {
    flex: 0 0 91.66667%;
    max-width: 91.66667%; }
  .col-xl-12 {
    flex: 0 0 100%;
    max-width: 100%; }
  .order-xl-first {
    order: -1; }
  .order-xl-last {
    order: 13; }
  .order-xl-0 {
    order: 0; }
  .order-xl-1 {
    order: 1; }
  .order-xl-2 {
    order: 2; }
  .order-xl-3 {
    order: 3; }
  .order-xl-4 {
    order: 4; }
  .order-xl-5 {
    order: 5; }
  .order-xl-6 {
    order: 6; }
  .order-xl-7 {
    order: 7; }
  .order-xl-8 {
    order: 8; }
  .order-xl-9 {
    order: 9; }
  .order-xl-10 {
    order: 10; }
  .order-xl-11 {
    order: 11; }
  .order-xl-12 {
    order: 12; }
  .offset-xl-0 {
    margin-left: 0; }
  .offset-xl-1 {
    margin-left: 8.33333%; }
  .offset-xl-2 {
    margin-left: 16.66667%; }
  .offset-xl-3 {
    margin-left: 25%; }
  .offset-xl-4 {
    margin-left: 33.33333%; }
  .offset-xl-5 {
    margin-left: 41.66667%; }
  .offset-xl-6 {
    margin-left: 50%; }
  .offset-xl-7 {
    margin-left: 58.33333%; }
  .offset-xl-8 {
    margin-left: 66.66667%; }
  .offset-xl-9 {
    margin-left: 75%; }
  .offset-xl-10 {
    margin-left: 83.33333%; }
  .offset-xl-11 {
    margin-left: 91.66667%; } }

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

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

.d-inline-block {
  display: inline-block !important; }

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

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

.d-table-row {
  display: table-row !important; }

.d-table-cell {
  display: table-cell !important; }

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

.d-inline-flex {
  display: inline-flex !important; }

@media (min-width: 576px) {
  .d-sm-none {
    display: none !important; }
  .d-sm-inline {
    display: inline !important; }
  .d-sm-inline-block {
    display: inline-block !important; }
  .d-sm-block {
    display: block !important; }
  .d-sm-table {
    display: table !important; }
  .d-sm-table-row {
    display: table-row !important; }
  .d-sm-table-cell {
    display: table-cell !important; }
  .d-sm-flex {
    display: flex !important; }
  .d-sm-inline-flex {
    display: inline-flex !important; } }

@media (min-width: 768px) {
  .d-md-none {
    display: none !important; }
  .d-md-inline {
    display: inline !important; }
  .d-md-inline-block {
    display: inline-block !important; }
  .d-md-block {
    display: block !important; }
  .d-md-table {
    display: table !important; }
  .d-md-table-row {
    display: table-row !important; }
  .d-md-table-cell {
    display: table-cell !important; }
  .d-md-flex {
    display: flex !important; }
  .d-md-inline-flex {
    display: inline-flex !important; } }

@media (min-width: 992px) {
  .d-lg-none {
    display: none !important; }
  .d-lg-inline {
    display: inline !important; }
  .d-lg-inline-block {
    display: inline-block !important; }
  .d-lg-block {
    display: block !important; }
  .d-lg-table {
    display: table !important; }
  .d-lg-table-row {
    display: table-row !important; }
  .d-lg-table-cell {
    display: table-cell !important; }
  .d-lg-flex {
    display: flex !important; }
  .d-lg-inline-flex {
    display: inline-flex !important; } }

@media (min-width: 1200px) {
  .d-xl-none {
    display: none !important; }
  .d-xl-inline {
    display: inline !important; }
  .d-xl-inline-block {
    display: inline-block !important; }
  .d-xl-block {
    display: block !important; }
  .d-xl-table {
    display: table !important; }
  .d-xl-table-row {
    display: table-row !important; }
  .d-xl-table-cell {
    display: table-cell !important; }
  .d-xl-flex {
    display: flex !important; }
  .d-xl-inline-flex {
    display: inline-flex !important; } }

@media print {
  .d-print-none {
    display: none !important; }
  .d-print-inline {
    display: inline !important; }
  .d-print-inline-block {
    display: inline-block !important; }
  .d-print-block {
    display: block !important; }
  .d-print-table {
    display: table !important; }
  .d-print-table-row {
    display: table-row !important; }
  .d-print-table-cell {
    display: table-cell !important; }
  .d-print-flex {
    display: flex !important; }
  .d-print-inline-flex {
    display: inline-flex !important; } }

.flex-row {
  flex-direction: row !important; }

.flex-column {
  flex-direction: column !important; }

.flex-row-reverse {
  flex-direction: row-reverse !important; }

.flex-column-reverse {
  flex-direction: column-reverse !important; }

.flex-wrap {
  flex-wrap: wrap !important; }

.flex-nowrap {
  flex-wrap: nowrap !important; }

.flex-wrap-reverse {
  flex-wrap: wrap-reverse !important; }

.flex-fill {
  flex: 1 1 auto !important; }

.flex-grow-0 {
  flex-grow: 0 !important; }

.flex-grow-1 {
  flex-grow: 1 !important; }

.flex-shrink-0 {
  flex-shrink: 0 !important; }

.flex-shrink-1 {
  flex-shrink: 1 !important; }

.justify-content-start {
  justify-content: flex-start !important; }

.justify-content-end {
  justify-content: flex-end !important; }

.justify-content-center {
  justify-content: center !important; }

.justify-content-between {
  justify-content: space-between !important; }

.justify-content-around {
  justify-content: space-around !important; }

.align-items-start {
  align-items: flex-start !important; }

.align-items-end {
  align-items: flex-end !important; }

.align-items-center {
  align-items: center !important; }

.align-items-baseline {
  align-items: baseline !important; }

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

.align-content-start {
  align-content: flex-start !important; }

.align-content-end {
  align-content: flex-end !important; }

.align-content-center {
  align-content: center !important; }

.align-content-between {
  align-content: space-between !important; }

.align-content-around {
  align-content: space-around !important; }

.align-content-stretch {
  align-content: stretch !important; }

.align-self-auto {
  align-self: auto !important; }

.align-self-start {
  align-self: flex-start !important; }

.align-self-end {
  align-self: flex-end !important; }

.align-self-center {
  align-self: center !important; }

.align-self-baseline {
  align-self: baseline !important; }

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

@media (min-width: 576px) {
  .flex-sm-row {
    flex-direction: row !important; }
  .flex-sm-column {
    flex-direction: column !important; }
  .flex-sm-row-reverse {
    flex-direction: row-reverse !important; }
  .flex-sm-column-reverse {
    flex-direction: column-reverse !important; }
  .flex-sm-wrap {
    flex-wrap: wrap !important; }
  .flex-sm-nowrap {
    flex-wrap: nowrap !important; }
  .flex-sm-wrap-reverse {
    flex-wrap: wrap-reverse !important; }
  .flex-sm-fill {
    flex: 1 1 auto !important; }
  .flex-sm-grow-0 {
    flex-grow: 0 !important; }
  .flex-sm-grow-1 {
    flex-grow: 1 !important; }
  .flex-sm-shrink-0 {
    flex-shrink: 0 !important; }
  .flex-sm-shrink-1 {
    flex-shrink: 1 !important; }
  .justify-content-sm-start {
    justify-content: flex-start !important; }
  .justify-content-sm-end {
    justify-content: flex-end !important; }
  .justify-content-sm-center {
    justify-content: center !important; }
  .justify-content-sm-between {
    justify-content: space-between !important; }
  .justify-content-sm-around {
    justify-content: space-around !important; }
  .align-items-sm-start {
    align-items: flex-start !important; }
  .align-items-sm-end {
    align-items: flex-end !important; }
  .align-items-sm-center {
    align-items: center !important; }
  .align-items-sm-baseline {
    align-items: baseline !important; }
  .align-items-sm-stretch {
    align-items: stretch !important; }
  .align-content-sm-start {
    align-content: flex-start !important; }
  .align-content-sm-end {
    align-content: flex-end !important; }
  .align-content-sm-center {
    align-content: center !important; }
  .align-content-sm-between {
    align-content: space-between !important; }
  .align-content-sm-around {
    align-content: space-around !important; }
  .align-content-sm-stretch {
    align-content: stretch !important; }
  .align-self-sm-auto {
    align-self: auto !important; }
  .align-self-sm-start {
    align-self: flex-start !important; }
  .align-self-sm-end {
    align-self: flex-end !important; }
  .align-self-sm-center {
    align-self: center !important; }
  .align-self-sm-baseline {
    align-self: baseline !important; }
  .align-self-sm-stretch {
    align-self: stretch !important; } }

@media (min-width: 768px) {
  .flex-md-row {
    flex-direction: row !important; }
  .flex-md-column {
    flex-direction: column !important; }
  .flex-md-row-reverse {
    flex-direction: row-reverse !important; }
  .flex-md-column-reverse {
    flex-direction: column-reverse !important; }
  .flex-md-wrap {
    flex-wrap: wrap !important; }
  .flex-md-nowrap {
    flex-wrap: nowrap !important; }
  .flex-md-wrap-reverse {
    flex-wrap: wrap-reverse !important; }
  .flex-md-fill {
    flex: 1 1 auto !important; }
  .flex-md-grow-0 {
    flex-grow: 0 !important; }
  .flex-md-grow-1 {
    flex-grow: 1 !important; }
  .flex-md-shrink-0 {
    flex-shrink: 0 !important; }
  .flex-md-shrink-1 {
    flex-shrink: 1 !important; }
  .justify-content-md-start {
    justify-content: flex-start !important; }
  .justify-content-md-end {
    justify-content: flex-end !important; }
  .justify-content-md-center {
    justify-content: center !important; }
  .justify-content-md-between {
    justify-content: space-between !important; }
  .justify-content-md-around {
    justify-content: space-around !important; }
  .align-items-md-start {
    align-items: flex-start !important; }
  .align-items-md-end {
    align-items: flex-end !important; }
  .align-items-md-center {
    align-items: center !important; }
  .align-items-md-baseline {
    align-items: baseline !important; }
  .align-items-md-stretch {
    align-items: stretch !important; }
  .align-content-md-start {
    align-content: flex-start !important; }
  .align-content-md-end {
    align-content: flex-end !important; }
  .align-content-md-center {
    align-content: center !important; }
  .align-content-md-between {
    align-content: space-between !important; }
  .align-content-md-around {
    align-content: space-around !important; }
  .align-content-md-stretch {
    align-content: stretch !important; }
  .align-self-md-auto {
    align-self: auto !important; }
  .align-self-md-start {
    align-self: flex-start !important; }
  .align-self-md-end {
    align-self: flex-end !important; }
  .align-self-md-center {
    align-self: center !important; }
  .align-self-md-baseline {
    align-self: baseline !important; }
  .align-self-md-stretch {
    align-self: stretch !important; } }

@media (min-width: 992px) {
  .flex-lg-row {
    flex-direction: row !important; }
  .flex-lg-column {
    flex-direction: column !important; }
  .flex-lg-row-reverse {
    flex-direction: row-reverse !important; }
  .flex-lg-column-reverse {
    flex-direction: column-reverse !important; }
  .flex-lg-wrap {
    flex-wrap: wrap !important; }
  .flex-lg-nowrap {
    flex-wrap: nowrap !important; }
  .flex-lg-wrap-reverse {
    flex-wrap: wrap-reverse !important; }
  .flex-lg-fill {
    flex: 1 1 auto !important; }
  .flex-lg-grow-0 {
    flex-grow: 0 !important; }
  .flex-lg-grow-1 {
    flex-grow: 1 !important; }
  .flex-lg-shrink-0 {
    flex-shrink: 0 !important; }
  .flex-lg-shrink-1 {
    flex-shrink: 1 !important; }
  .justify-content-lg-start {
    justify-content: flex-start !important; }
  .justify-content-lg-end {
    justify-content: flex-end !important; }
  .justify-content-lg-center {
    justify-content: center !important; }
  .justify-content-lg-between {
    justify-content: space-between !important; }
  .justify-content-lg-around {
    justify-content: space-around !important; }
  .align-items-lg-start {
    align-items: flex-start !important; }
  .align-items-lg-end {
    align-items: flex-end !important; }
  .align-items-lg-center {
    align-items: center !important; }
  .align-items-lg-baseline {
    align-items: baseline !important; }
  .align-items-lg-stretch {
    align-items: stretch !important; }
  .align-content-lg-start {
    align-content: flex-start !important; }
  .align-content-lg-end {
    align-content: flex-end !important; }
  .align-content-lg-center {
    align-content: center !important; }
  .align-content-lg-between {
    align-content: space-between !important; }
  .align-content-lg-around {
    align-content: space-around !important; }
  .align-content-lg-stretch {
    align-content: stretch !important; }
  .align-self-lg-auto {
    align-self: auto !important; }
  .align-self-lg-start {
    align-self: flex-start !important; }
  .align-self-lg-end {
    align-self: flex-end !important; }
  .align-self-lg-center {
    align-self: center !important; }
  .align-self-lg-baseline {
    align-self: baseline !important; }
  .align-self-lg-stretch {
    align-self: stretch !important; } }

@media (min-width: 1200px) {
  .flex-xl-row {
    flex-direction: row !important; }
  .flex-xl-column {
    flex-direction: column !important; }
  .flex-xl-row-reverse {
    flex-direction: row-reverse !important; }
  .flex-xl-column-reverse {
    flex-direction: column-reverse !important; }
  .flex-xl-wrap {
    flex-wrap: wrap !important; }
  .flex-xl-nowrap {
    flex-wrap: nowrap !important; }
  .flex-xl-wrap-reverse {
    flex-wrap: wrap-reverse !important; }
  .flex-xl-fill {
    flex: 1 1 auto !important; }
  .flex-xl-grow-0 {
    flex-grow: 0 !important; }
  .flex-xl-grow-1 {
    flex-grow: 1 !important; }
  .flex-xl-shrink-0 {
    flex-shrink: 0 !important; }
  .flex-xl-shrink-1 {
    flex-shrink: 1 !important; }
  .justify-content-xl-start {
    justify-content: flex-start !important; }
  .justify-content-xl-end {
    justify-content: flex-end !important; }
  .justify-content-xl-center {
    justify-content: center !important; }
  .justify-content-xl-between {
    justify-content: space-between !important; }
  .justify-content-xl-around {
    justify-content: space-around !important; }
  .align-items-xl-start {
    align-items: flex-start !important; }
  .align-items-xl-end {
    align-items: flex-end !important; }
  .align-items-xl-center {
    align-items: center !important; }
  .align-items-xl-baseline {
    align-items: baseline !important; }
  .align-items-xl-stretch {
    align-items: stretch !important; }
  .align-content-xl-start {
    align-content: flex-start !important; }
  .align-content-xl-end {
    align-content: flex-end !important; }
  .align-content-xl-center {
    align-content: center !important; }
  .align-content-xl-between {
    align-content: space-between !important; }
  .align-content-xl-around {
    align-content: space-around !important; }
  .align-content-xl-stretch {
    align-content: stretch !important; }
  .align-self-xl-auto {
    align-self: auto !important; }
  .align-self-xl-start {
    align-self: flex-start !important; }
  .align-self-xl-end {
    align-self: flex-end !important; }
  .align-self-xl-center {
    align-self: center !important; }
  .align-self-xl-baseline {
    align-self: baseline !important; }
  .align-self-xl-stretch {
    align-self: stretch !important; } }

.m-0 {
  margin: 0 !important; }

.mt-0,
.my-0 {
  margin-top: 0 !important; }

.mr-0,
.mx-0 {
  margin-right: 0 !important; }

.mb-0,
.my-0 {
  margin-bottom: 0 !important; }

.ml-0,
.mx-0 {
  margin-left: 0 !important; }

.m-1 {
  margin: 0.25rem !important; }

.mt-1,
.my-1 {
  margin-top: 0.25rem !important; }

.mr-1,
.mx-1 {
  margin-right: 0.25rem !important; }

.mb-1,
.my-1 {
  margin-bottom: 0.25rem !important; }

.ml-1,
.mx-1 {
  margin-left: 0.25rem !important; }

.m-2 {
  margin: 0.5rem !important; }

.mt-2,
.my-2 {
  margin-top: 0.5rem !important; }

.mr-2,
.mx-2 {
  margin-right: 0.5rem !important; }

.mb-2,
.my-2 {
  margin-bottom: 0.5rem !important; }

.ml-2,
.mx-2 {
  margin-left: 0.5rem !important; }

.m-3 {
  margin: 1rem !important; }

.mt-3,
.my-3 {
  margin-top: 1rem !important; }

.mr-3,
.mx-3 {
  margin-right: 1rem !important; }

.mb-3,
.my-3 {
  margin-bottom: 1rem !important; }

.ml-3,
.mx-3 {
  margin-left: 1rem !important; }

.m-4 {
  margin: 1.5rem !important; }

.mt-4,
.my-4 {
  margin-top: 1.5rem !important; }

.mr-4,
.mx-4 {
  margin-right: 1.5rem !important; }

.mb-4,
.my-4 {
  margin-bottom: 1.5rem !important; }

.ml-4,
.mx-4 {
  margin-left: 1.5rem !important; }

.m-5 {
  margin: 3rem !important; }

.mt-5,
.my-5 {
  margin-top: 3rem !important; }

.mr-5,
.mx-5 {
  margin-right: 3rem !important; }

.mb-5,
.my-5 {
  margin-bottom: 3rem !important; }

.ml-5,
.mx-5 {
  margin-left: 3rem !important; }

.p-0 {
  padding: 0 !important; }

.pt-0,
.py-0 {
  padding-top: 0 !important; }

.pr-0,
.px-0 {
  padding-right: 0 !important; }

.pb-0,
.py-0 {
  padding-bottom: 0 !important; }

.pl-0,
.px-0 {
  padding-left: 0 !important; }

.p-1 {
  padding: 0.25rem !important; }

.pt-1,
.py-1 {
  padding-top: 0.25rem !important; }

.pr-1,
.px-1 {
  padding-right: 0.25rem !important; }

.pb-1,
.py-1 {
  padding-bottom: 0.25rem !important; }

.pl-1,
.px-1 {
  padding-left: 0.25rem !important; }

.p-2 {
  padding: 0.5rem !important; }

.pt-2,
.py-2 {
  padding-top: 0.5rem !important; }

.pr-2,
.px-2 {
  padding-right: 0.5rem !important; }

.pb-2,
.py-2 {
  padding-bottom: 0.5rem !important; }

.pl-2,
.px-2 {
  padding-left: 0.5rem !important; }

.p-3 {
  padding: 1rem !important; }

.pt-3,
.py-3 {
  padding-top: 1rem !important; }

.pr-3,
.px-3 {
  padding-right: 1rem !important; }

.pb-3,
.py-3 {
  padding-bottom: 1rem !important; }

.pl-3,
.px-3 {
  padding-left: 1rem !important; }

.p-4 {
  padding: 1.5rem !important; }

.pt-4,
.py-4 {
  padding-top: 1.5rem !important; }

.pr-4,
.px-4 {
  padding-right: 1.5rem !important; }

.pb-4,
.py-4 {
  padding-bottom: 1.5rem !important; }

.pl-4,
.px-4 {
  padding-left: 1.5rem !important; }

.p-5 {
  padding: 3rem !important; }

.pt-5,
.py-5 {
  padding-top: 3rem !important; }

.pr-5,
.px-5 {
  padding-right: 3rem !important; }

.pb-5,
.py-5 {
  padding-bottom: 3rem !important; }

.pl-5,
.px-5 {
  padding-left: 3rem !important; }

.m-n1 {
  margin: -0.25rem !important; }

.mt-n1,
.my-n1 {
  margin-top: -0.25rem !important; }

.mr-n1,
.mx-n1 {
  margin-right: -0.25rem !important; }

.mb-n1,
.my-n1 {
  margin-bottom: -0.25rem !important; }

.ml-n1,
.mx-n1 {
  margin-left: -0.25rem !important; }

.m-n2 {
  margin: -0.5rem !important; }

.mt-n2,
.my-n2 {
  margin-top: -0.5rem !important; }

.mr-n2,
.mx-n2 {
  margin-right: -0.5rem !important; }

.mb-n2,
.my-n2 {
  margin-bottom: -0.5rem !important; }

.ml-n2,
.mx-n2 {
  margin-left: -0.5rem !important; }

.m-n3 {
  margin: -1rem !important; }

.mt-n3,
.my-n3 {
  margin-top: -1rem !important; }

.mr-n3,
.mx-n3 {
  margin-right: -1rem !important; }

.mb-n3,
.my-n3 {
  margin-bottom: -1rem !important; }

.ml-n3,
.mx-n3 {
  margin-left: -1rem !important; }

.m-n4 {
  margin: -1.5rem !important; }

.mt-n4,
.my-n4 {
  margin-top: -1.5rem !important; }

.mr-n4,
.mx-n4 {
  margin-right: -1.5rem !important; }

.mb-n4,
.my-n4 {
  margin-bottom: -1.5rem !important; }

.ml-n4,
.mx-n4 {
  margin-left: -1.5rem !important; }

.m-n5 {
  margin: -3rem !important; }

.mt-n5,
.my-n5 {
  margin-top: -3rem !important; }

.mr-n5,
.mx-n5 {
  margin-right: -3rem !important; }

.mb-n5,
.my-n5 {
  margin-bottom: -3rem !important; }

.ml-n5,
.mx-n5 {
  margin-left: -3rem !important; }

.m-auto {
  margin: auto !important; }

.mt-auto,
.my-auto {
  margin-top: auto !important; }

.mr-auto,
.mx-auto {
  margin-right: auto !important; }

.mb-auto,
.my-auto {
  margin-bottom: auto !important; }

.ml-auto,
.mx-auto {
  margin-left: auto !important; }

@media (min-width: 576px) {
  .m-sm-0 {
    margin: 0 !important; }
  .mt-sm-0,
  .my-sm-0 {
    margin-top: 0 !important; }
  .mr-sm-0,
  .mx-sm-0 {
    margin-right: 0 !important; }
  .mb-sm-0,
  .my-sm-0 {
    margin-bottom: 0 !important; }
  .ml-sm-0,
  .mx-sm-0 {
    margin-left: 0 !important; }
  .m-sm-1 {
    margin: 0.25rem !important; }
  .mt-sm-1,
  .my-sm-1 {
    margin-top: 0.25rem !important; }
  .mr-sm-1,
  .mx-sm-1 {
    margin-right: 0.25rem !important; }
  .mb-sm-1,
  .my-sm-1 {
    margin-bottom: 0.25rem !important; }
  .ml-sm-1,
  .mx-sm-1 {
    margin-left: 0.25rem !important; }
  .m-sm-2 {
    margin: 0.5rem !important; }
  .mt-sm-2,
  .my-sm-2 {
    margin-top: 0.5rem !important; }
  .mr-sm-2,
  .mx-sm-2 {
    margin-right: 0.5rem !important; }
  .mb-sm-2,
  .my-sm-2 {
    margin-bottom: 0.5rem !important; }
  .ml-sm-2,
  .mx-sm-2 {
    margin-left: 0.5rem !important; }
  .m-sm-3 {
    margin: 1rem !important; }
  .mt-sm-3,
  .my-sm-3 {
    margin-top: 1rem !important; }
  .mr-sm-3,
  .mx-sm-3 {
    margin-right: 1rem !important; }
  .mb-sm-3,
  .my-sm-3 {
    margin-bottom: 1rem !important; }
  .ml-sm-3,
  .mx-sm-3 {
    margin-left: 1rem !important; }
  .m-sm-4 {
    margin: 1.5rem !important; }
  .mt-sm-4,
  .my-sm-4 {
    margin-top: 1.5rem !important; }
  .mr-sm-4,
  .mx-sm-4 {
    margin-right: 1.5rem !important; }
  .mb-sm-4,
  .my-sm-4 {
    margin-bottom: 1.5rem !important; }
  .ml-sm-4,
  .mx-sm-4 {
    margin-left: 1.5rem !important; }
  .m-sm-5 {
    margin: 3rem !important; }
  .mt-sm-5,
  .my-sm-5 {
    margin-top: 3rem !important; }
  .mr-sm-5,
  .mx-sm-5 {
    margin-right: 3rem !important; }
  .mb-sm-5,
  .my-sm-5 {
    margin-bottom: 3rem !important; }
  .ml-sm-5,
  .mx-sm-5 {
    margin-left: 3rem !important; }
  .p-sm-0 {
    padding: 0 !important; }
  .pt-sm-0,
  .py-sm-0 {
    padding-top: 0 !important; }
  .pr-sm-0,
  .px-sm-0 {
    padding-right: 0 !important; }
  .pb-sm-0,
  .py-sm-0 {
    padding-bottom: 0 !important; }
  .pl-sm-0,
  .px-sm-0 {
    padding-left: 0 !important; }
  .p-sm-1 {
    padding: 0.25rem !important; }
  .pt-sm-1,
  .py-sm-1 {
    padding-top: 0.25rem !important; }
  .pr-sm-1,
  .px-sm-1 {
    padding-right: 0.25rem !important; }
  .pb-sm-1,
  .py-sm-1 {
    padding-bottom: 0.25rem !important; }
  .pl-sm-1,
  .px-sm-1 {
    padding-left: 0.25rem !important; }
  .p-sm-2 {
    padding: 0.5rem !important; }
  .pt-sm-2,
  .py-sm-2 {
    padding-top: 0.5rem !important; }
  .pr-sm-2,
  .px-sm-2 {
    padding-right: 0.5rem !important; }
  .pb-sm-2,
  .py-sm-2 {
    padding-bottom: 0.5rem !important; }
  .pl-sm-2,
  .px-sm-2 {
    padding-left: 0.5rem !important; }
  .p-sm-3 {
    padding: 1rem !important; }
  .pt-sm-3,
  .py-sm-3 {
    padding-top: 1rem !important; }
  .pr-sm-3,
  .px-sm-3 {
    padding-right: 1rem !important; }
  .pb-sm-3,
  .py-sm-3 {
    padding-bottom: 1rem !important; }
  .pl-sm-3,
  .px-sm-3 {
    padding-left: 1rem !important; }
  .p-sm-4 {
    padding: 1.5rem !important; }
  .pt-sm-4,
  .py-sm-4 {
    padding-top: 1.5rem !important; }
  .pr-sm-4,
  .px-sm-4 {
    padding-right: 1.5rem !important; }
  .pb-sm-4,
  .py-sm-4 {
    padding-bottom: 1.5rem !important; }
  .pl-sm-4,
  .px-sm-4 {
    padding-left: 1.5rem !important; }
  .p-sm-5 {
    padding: 3rem !important; }
  .pt-sm-5,
  .py-sm-5 {
    padding-top: 3rem !important; }
  .pr-sm-5,
  .px-sm-5 {
    padding-right: 3rem !important; }
  .pb-sm-5,
  .py-sm-5 {
    padding-bottom: 3rem !important; }
  .pl-sm-5,
  .px-sm-5 {
    padding-left: 3rem !important; }
  .m-sm-n1 {
    margin: -0.25rem !important; }
  .mt-sm-n1,
  .my-sm-n1 {
    margin-top: -0.25rem !important; }
  .mr-sm-n1,
  .mx-sm-n1 {
    margin-right: -0.25rem !important; }
  .mb-sm-n1,
  .my-sm-n1 {
    margin-bottom: -0.25rem !important; }
  .ml-sm-n1,
  .mx-sm-n1 {
    margin-left: -0.25rem !important; }
  .m-sm-n2 {
    margin: -0.5rem !important; }
  .mt-sm-n2,
  .my-sm-n2 {
    margin-top: -0.5rem !important; }
  .mr-sm-n2,
  .mx-sm-n2 {
    margin-right: -0.5rem !important; }
  .mb-sm-n2,
  .my-sm-n2 {
    margin-bottom: -0.5rem !important; }
  .ml-sm-n2,
  .mx-sm-n2 {
    margin-left: -0.5rem !important; }
  .m-sm-n3 {
    margin: -1rem !important; }
  .mt-sm-n3,
  .my-sm-n3 {
    margin-top: -1rem !important; }
  .mr-sm-n3,
  .mx-sm-n3 {
    margin-right: -1rem !important; }
  .mb-sm-n3,
  .my-sm-n3 {
    margin-bottom: -1rem !important; }
  .ml-sm-n3,
  .mx-sm-n3 {
    margin-left: -1rem !important; }
  .m-sm-n4 {
    margin: -1.5rem !important; }
  .mt-sm-n4,
  .my-sm-n4 {
    margin-top: -1.5rem !important; }
  .mr-sm-n4,
  .mx-sm-n4 {
    margin-right: -1.5rem !important; }
  .mb-sm-n4,
  .my-sm-n4 {
    margin-bottom: -1.5rem !important; }
  .ml-sm-n4,
  .mx-sm-n4 {
    margin-left: -1.5rem !important; }
  .m-sm-n5 {
    margin: -3rem !important; }
  .mt-sm-n5,
  .my-sm-n5 {
    margin-top: -3rem !important; }
  .mr-sm-n5,
  .mx-sm-n5 {
    margin-right: -3rem !important; }
  .mb-sm-n5,
  .my-sm-n5 {
    margin-bottom: -3rem !important; }
  .ml-sm-n5,
  .mx-sm-n5 {
    margin-left: -3rem !important; }
  .m-sm-auto {
    margin: auto !important; }
  .mt-sm-auto,
  .my-sm-auto {
    margin-top: auto !important; }
  .mr-sm-auto,
  .mx-sm-auto {
    margin-right: auto !important; }
  .mb-sm-auto,
  .my-sm-auto {
    margin-bottom: auto !important; }
  .ml-sm-auto,
  .mx-sm-auto {
    margin-left: auto !important; } }

@media (min-width: 768px) {
  .m-md-0 {
    margin: 0 !important; }
  .mt-md-0,
  .my-md-0 {
    margin-top: 0 !important; }
  .mr-md-0,
  .mx-md-0 {
    margin-right: 0 !important; }
  .mb-md-0,
  .my-md-0 {
    margin-bottom: 0 !important; }
  .ml-md-0,
  .mx-md-0 {
    margin-left: 0 !important; }
  .m-md-1 {
    margin: 0.25rem !important; }
  .mt-md-1,
  .my-md-1 {
    margin-top: 0.25rem !important; }
  .mr-md-1,
  .mx-md-1 {
    margin-right: 0.25rem !important; }
  .mb-md-1,
  .my-md-1 {
    margin-bottom: 0.25rem !important; }
  .ml-md-1,
  .mx-md-1 {
    margin-left: 0.25rem !important; }
  .m-md-2 {
    margin: 0.5rem !important; }
  .mt-md-2,
  .my-md-2 {
    margin-top: 0.5rem !important; }
  .mr-md-2,
  .mx-md-2 {
    margin-right: 0.5rem !important; }
  .mb-md-2,
  .my-md-2 {
    margin-bottom: 0.5rem !important; }
  .ml-md-2,
  .mx-md-2 {
    margin-left: 0.5rem !important; }
  .m-md-3 {
    margin: 1rem !important; }
  .mt-md-3,
  .my-md-3 {
    margin-top: 1rem !important; }
  .mr-md-3,
  .mx-md-3 {
    margin-right: 1rem !important; }
  .mb-md-3,
  .my-md-3 {
    margin-bottom: 1rem !important; }
  .ml-md-3,
  .mx-md-3 {
    margin-left: 1rem !important; }
  .m-md-4 {
    margin: 1.5rem !important; }
  .mt-md-4,
  .my-md-4 {
    margin-top: 1.5rem !important; }
  .mr-md-4,
  .mx-md-4 {
    margin-right: 1.5rem !important; }
  .mb-md-4,
  .my-md-4 {
    margin-bottom: 1.5rem !important; }
  .ml-md-4,
  .mx-md-4 {
    margin-left: 1.5rem !important; }
  .m-md-5 {
    margin: 3rem !important; }
  .mt-md-5,
  .my-md-5 {
    margin-top: 3rem !important; }
  .mr-md-5,
  .mx-md-5 {
    margin-right: 3rem !important; }
  .mb-md-5,
  .my-md-5 {
    margin-bottom: 3rem !important; }
  .ml-md-5,
  .mx-md-5 {
    margin-left: 3rem !important; }
  .p-md-0 {
    padding: 0 !important; }
  .pt-md-0,
  .py-md-0 {
    padding-top: 0 !important; }
  .pr-md-0,
  .px-md-0 {
    padding-right: 0 !important; }
  .pb-md-0,
  .py-md-0 {
    padding-bottom: 0 !important; }
  .pl-md-0,
  .px-md-0 {
    padding-left: 0 !important; }
  .p-md-1 {
    padding: 0.25rem !important; }
  .pt-md-1,
  .py-md-1 {
    padding-top: 0.25rem !important; }
  .pr-md-1,
  .px-md-1 {
    padding-right: 0.25rem !important; }
  .pb-md-1,
  .py-md-1 {
    padding-bottom: 0.25rem !important; }
  .pl-md-1,
  .px-md-1 {
    padding-left: 0.25rem !important; }
  .p-md-2 {
    padding: 0.5rem !important; }
  .pt-md-2,
  .py-md-2 {
    padding-top: 0.5rem !important; }
  .pr-md-2,
  .px-md-2 {
    padding-right: 0.5rem !important; }
  .pb-md-2,
  .py-md-2 {
    padding-bottom: 0.5rem !important; }
  .pl-md-2,
  .px-md-2 {
    padding-left: 0.5rem !important; }
  .p-md-3 {
    padding: 1rem !important; }
  .pt-md-3,
  .py-md-3 {
    padding-top: 1rem !important; }
  .pr-md-3,
  .px-md-3 {
    padding-right: 1rem !important; }
  .pb-md-3,
  .py-md-3 {
    padding-bottom: 1rem !important; }
  .pl-md-3,
  .px-md-3 {
    padding-left: 1rem !important; }
  .p-md-4 {
    padding: 1.5rem !important; }
  .pt-md-4,
  .py-md-4 {
    padding-top: 1.5rem !important; }
  .pr-md-4,
  .px-md-4 {
    padding-right: 1.5rem !important; }
  .pb-md-4,
  .py-md-4 {
    padding-bottom: 1.5rem !important; }
  .pl-md-4,
  .px-md-4 {
    padding-left: 1.5rem !important; }
  .p-md-5 {
    padding: 3rem !important; }
  .pt-md-5,
  .py-md-5 {
    padding-top: 3rem !important; }
  .pr-md-5,
  .px-md-5 {
    padding-right: 3rem !important; }
  .pb-md-5,
  .py-md-5 {
    padding-bottom: 3rem !important; }
  .pl-md-5,
  .px-md-5 {
    padding-left: 3rem !important; }
  .m-md-n1 {
    margin: -0.25rem !important; }
  .mt-md-n1,
  .my-md-n1 {
    margin-top: -0.25rem !important; }
  .mr-md-n1,
  .mx-md-n1 {
    margin-right: -0.25rem !important; }
  .mb-md-n1,
  .my-md-n1 {
    margin-bottom: -0.25rem !important; }
  .ml-md-n1,
  .mx-md-n1 {
    margin-left: -0.25rem !important; }
  .m-md-n2 {
    margin: -0.5rem !important; }
  .mt-md-n2,
  .my-md-n2 {
    margin-top: -0.5rem !important; }
  .mr-md-n2,
  .mx-md-n2 {
    margin-right: -0.5rem !important; }
  .mb-md-n2,
  .my-md-n2 {
    margin-bottom: -0.5rem !important; }
  .ml-md-n2,
  .mx-md-n2 {
    margin-left: -0.5rem !important; }
  .m-md-n3 {
    margin: -1rem !important; }
  .mt-md-n3,
  .my-md-n3 {
    margin-top: -1rem !important; }
  .mr-md-n3,
  .mx-md-n3 {
    margin-right: -1rem !important; }
  .mb-md-n3,
  .my-md-n3 {
    margin-bottom: -1rem !important; }
  .ml-md-n3,
  .mx-md-n3 {
    margin-left: -1rem !important; }
  .m-md-n4 {
    margin: -1.5rem !important; }
  .mt-md-n4,
  .my-md-n4 {
    margin-top: -1.5rem !important; }
  .mr-md-n4,
  .mx-md-n4 {
    margin-right: -1.5rem !important; }
  .mb-md-n4,
  .my-md-n4 {
    margin-bottom: -1.5rem !important; }
  .ml-md-n4,
  .mx-md-n4 {
    margin-left: -1.5rem !important; }
  .m-md-n5 {
    margin: -3rem !important; }
  .mt-md-n5,
  .my-md-n5 {
    margin-top: -3rem !important; }
  .mr-md-n5,
  .mx-md-n5 {
    margin-right: -3rem !important; }
  .mb-md-n5,
  .my-md-n5 {
    margin-bottom: -3rem !important; }
  .ml-md-n5,
  .mx-md-n5 {
    margin-left: -3rem !important; }
  .m-md-auto {
    margin: auto !important; }
  .mt-md-auto,
  .my-md-auto {
    margin-top: auto !important; }
  .mr-md-auto,
  .mx-md-auto {
    margin-right: auto !important; }
  .mb-md-auto,
  .my-md-auto {
    margin-bottom: auto !important; }
  .ml-md-auto,
  .mx-md-auto {
    margin-left: auto !important; } }

@media (min-width: 992px) {
  .m-lg-0 {
    margin: 0 !important; }
  .mt-lg-0,
  .my-lg-0 {
    margin-top: 0 !important; }
  .mr-lg-0,
  .mx-lg-0 {
    margin-right: 0 !important; }
  .mb-lg-0,
  .my-lg-0 {
    margin-bottom: 0 !important; }
  .ml-lg-0,
  .mx-lg-0 {
    margin-left: 0 !important; }
  .m-lg-1 {
    margin: 0.25rem !important; }
  .mt-lg-1,
  .my-lg-1 {
    margin-top: 0.25rem !important; }
  .mr-lg-1,
  .mx-lg-1 {
    margin-right: 0.25rem !important; }
  .mb-lg-1,
  .my-lg-1 {
    margin-bottom: 0.25rem !important; }
  .ml-lg-1,
  .mx-lg-1 {
    margin-left: 0.25rem !important; }
  .m-lg-2 {
    margin: 0.5rem !important; }
  .mt-lg-2,
  .my-lg-2 {
    margin-top: 0.5rem !important; }
  .mr-lg-2,
  .mx-lg-2 {
    margin-right: 0.5rem !important; }
  .mb-lg-2,
  .my-lg-2 {
    margin-bottom: 0.5rem !important; }
  .ml-lg-2,
  .mx-lg-2 {
    margin-left: 0.5rem !important; }
  .m-lg-3 {
    margin: 1rem !important; }
  .mt-lg-3,
  .my-lg-3 {
    margin-top: 1rem !important; }
  .mr-lg-3,
  .mx-lg-3 {
    margin-right: 1rem !important; }
  .mb-lg-3,
  .my-lg-3 {
    margin-bottom: 1rem !important; }
  .ml-lg-3,
  .mx-lg-3 {
    margin-left: 1rem !important; }
  .m-lg-4 {
    margin: 1.5rem !important; }
  .mt-lg-4,
  .my-lg-4 {
    margin-top: 1.5rem !important; }
  .mr-lg-4,
  .mx-lg-4 {
    margin-right: 1.5rem !important; }
  .mb-lg-4,
  .my-lg-4 {
    margin-bottom: 1.5rem !important; }
  .ml-lg-4,
  .mx-lg-4 {
    margin-left: 1.5rem !important; }
  .m-lg-5 {
    margin: 3rem !important; }
  .mt-lg-5,
  .my-lg-5 {
    margin-top: 3rem !important; }
  .mr-lg-5,
  .mx-lg-5 {
    margin-right: 3rem !important; }
  .mb-lg-5,
  .my-lg-5 {
    margin-bottom: 3rem !important; }
  .ml-lg-5,
  .mx-lg-5 {
    margin-left: 3rem !important; }
  .p-lg-0 {
    padding: 0 !important; }
  .pt-lg-0,
  .py-lg-0 {
    padding-top: 0 !important; }
  .pr-lg-0,
  .px-lg-0 {
    padding-right: 0 !important; }
  .pb-lg-0,
  .py-lg-0 {
    padding-bottom: 0 !important; }
  .pl-lg-0,
  .px-lg-0 {
    padding-left: 0 !important; }
  .p-lg-1 {
    padding: 0.25rem !important; }
  .pt-lg-1,
  .py-lg-1 {
    padding-top: 0.25rem !important; }
  .pr-lg-1,
  .px-lg-1 {
    padding-right: 0.25rem !important; }
  .pb-lg-1,
  .py-lg-1 {
    padding-bottom: 0.25rem !important; }
  .pl-lg-1,
  .px-lg-1 {
    padding-left: 0.25rem !important; }
  .p-lg-2 {
    padding: 0.5rem !important; }
  .pt-lg-2,
  .py-lg-2 {
    padding-top: 0.5rem !important; }
  .pr-lg-2,
  .px-lg-2 {
    padding-right: 0.5rem !important; }
  .pb-lg-2,
  .py-lg-2 {
    padding-bottom: 0.5rem !important; }
  .pl-lg-2,
  .px-lg-2 {
    padding-left: 0.5rem !important; }
  .p-lg-3 {
    padding: 1rem !important; }
  .pt-lg-3,
  .py-lg-3 {
    padding-top: 1rem !important; }
  .pr-lg-3,
  .px-lg-3 {
    padding-right: 1rem !important; }
  .pb-lg-3,
  .py-lg-3 {
    padding-bottom: 1rem !important; }
  .pl-lg-3,
  .px-lg-3 {
    padding-left: 1rem !important; }
  .p-lg-4 {
    padding: 1.5rem !important; }
  .pt-lg-4,
  .py-lg-4 {
    padding-top: 1.5rem !important; }
  .pr-lg-4,
  .px-lg-4 {
    padding-right: 1.5rem !important; }
  .pb-lg-4,
  .py-lg-4 {
    padding-bottom: 1.5rem !important; }
  .pl-lg-4,
  .px-lg-4 {
    padding-left: 1.5rem !important; }
  .p-lg-5 {
    padding: 3rem !important; }
  .pt-lg-5,
  .py-lg-5 {
    padding-top: 3rem !important; }
  .pr-lg-5,
  .px-lg-5 {
    padding-right: 3rem !important; }
  .pb-lg-5,
  .py-lg-5 {
    padding-bottom: 3rem !important; }
  .pl-lg-5,
  .px-lg-5 {
    padding-left: 3rem !important; }
  .m-lg-n1 {
    margin: -0.25rem !important; }
  .mt-lg-n1,
  .my-lg-n1 {
    margin-top: -0.25rem !important; }
  .mr-lg-n1,
  .mx-lg-n1 {
    margin-right: -0.25rem !important; }
  .mb-lg-n1,
  .my-lg-n1 {
    margin-bottom: -0.25rem !important; }
  .ml-lg-n1,
  .mx-lg-n1 {
    margin-left: -0.25rem !important; }
  .m-lg-n2 {
    margin: -0.5rem !important; }
  .mt-lg-n2,
  .my-lg-n2 {
    margin-top: -0.5rem !important; }
  .mr-lg-n2,
  .mx-lg-n2 {
    margin-right: -0.5rem !important; }
  .mb-lg-n2,
  .my-lg-n2 {
    margin-bottom: -0.5rem !important; }
  .ml-lg-n2,
  .mx-lg-n2 {
    margin-left: -0.5rem !important; }
  .m-lg-n3 {
    margin: -1rem !important; }
  .mt-lg-n3,
  .my-lg-n3 {
    margin-top: -1rem !important; }
  .mr-lg-n3,
  .mx-lg-n3 {
    margin-right: -1rem !important; }
  .mb-lg-n3,
  .my-lg-n3 {
    margin-bottom: -1rem !important; }
  .ml-lg-n3,
  .mx-lg-n3 {
    margin-left: -1rem !important; }
  .m-lg-n4 {
    margin: -1.5rem !important; }
  .mt-lg-n4,
  .my-lg-n4 {
    margin-top: -1.5rem !important; }
  .mr-lg-n4,
  .mx-lg-n4 {
    margin-right: -1.5rem !important; }
  .mb-lg-n4,
  .my-lg-n4 {
    margin-bottom: -1.5rem !important; }
  .ml-lg-n4,
  .mx-lg-n4 {
    margin-left: -1.5rem !important; }
  .m-lg-n5 {
    margin: -3rem !important; }
  .mt-lg-n5,
  .my-lg-n5 {
    margin-top: -3rem !important; }
  .mr-lg-n5,
  .mx-lg-n5 {
    margin-right: -3rem !important; }
  .mb-lg-n5,
  .my-lg-n5 {
    margin-bottom: -3rem !important; }
  .ml-lg-n5,
  .mx-lg-n5 {
    margin-left: -3rem !important; }
  .m-lg-auto {
    margin: auto !important; }
  .mt-lg-auto,
  .my-lg-auto {
    margin-top: auto !important; }
  .mr-lg-auto,
  .mx-lg-auto {
    margin-right: auto !important; }
  .mb-lg-auto,
  .my-lg-auto {
    margin-bottom: auto !important; }
  .ml-lg-auto,
  .mx-lg-auto {
    margin-left: auto !important; } }

@media (min-width: 1200px) {
  .m-xl-0 {
    margin: 0 !important; }
  .mt-xl-0,
  .my-xl-0 {
    margin-top: 0 !important; }
  .mr-xl-0,
  .mx-xl-0 {
    margin-right: 0 !important; }
  .mb-xl-0,
  .my-xl-0 {
    margin-bottom: 0 !important; }
  .ml-xl-0,
  .mx-xl-0 {
    margin-left: 0 !important; }
  .m-xl-1 {
    margin: 0.25rem !important; }
  .mt-xl-1,
  .my-xl-1 {
    margin-top: 0.25rem !important; }
  .mr-xl-1,
  .mx-xl-1 {
    margin-right: 0.25rem !important; }
  .mb-xl-1,
  .my-xl-1 {
    margin-bottom: 0.25rem !important; }
  .ml-xl-1,
  .mx-xl-1 {
    margin-left: 0.25rem !important; }
  .m-xl-2 {
    margin: 0.5rem !important; }
  .mt-xl-2,
  .my-xl-2 {
    margin-top: 0.5rem !important; }
  .mr-xl-2,
  .mx-xl-2 {
    margin-right: 0.5rem !important; }
  .mb-xl-2,
  .my-xl-2 {
    margin-bottom: 0.5rem !important; }
  .ml-xl-2,
  .mx-xl-2 {
    margin-left: 0.5rem !important; }
  .m-xl-3 {
    margin: 1rem !important; }
  .mt-xl-3,
  .my-xl-3 {
    margin-top: 1rem !important; }
  .mr-xl-3,
  .mx-xl-3 {
    margin-right: 1rem !important; }
  .mb-xl-3,
  .my-xl-3 {
    margin-bottom: 1rem !important; }
  .ml-xl-3,
  .mx-xl-3 {
    margin-left: 1rem !important; }
  .m-xl-4 {
    margin: 1.5rem !important; }
  .mt-xl-4,
  .my-xl-4 {
    margin-top: 1.5rem !important; }
  .mr-xl-4,
  .mx-xl-4 {
    margin-right: 1.5rem !important; }
  .mb-xl-4,
  .my-xl-4 {
    margin-bottom: 1.5rem !important; }
  .ml-xl-4,
  .mx-xl-4 {
    margin-left: 1.5rem !important; }
  .m-xl-5 {
    margin: 3rem !important; }
  .mt-xl-5,
  .my-xl-5 {
    margin-top: 3rem !important; }
  .mr-xl-5,
  .mx-xl-5 {
    margin-right: 3rem !important; }
  .mb-xl-5,
  .my-xl-5 {
    margin-bottom: 3rem !important; }
  .ml-xl-5,
  .mx-xl-5 {
    margin-left: 3rem !important; }
  .p-xl-0 {
    padding: 0 !important; }
  .pt-xl-0,
  .py-xl-0 {
    padding-top: 0 !important; }
  .pr-xl-0,
  .px-xl-0 {
    padding-right: 0 !important; }
  .pb-xl-0,
  .py-xl-0 {
    padding-bottom: 0 !important; }
  .pl-xl-0,
  .px-xl-0 {
    padding-left: 0 !important; }
  .p-xl-1 {
    padding: 0.25rem !important; }
  .pt-xl-1,
  .py-xl-1 {
    padding-top: 0.25rem !important; }
  .pr-xl-1,
  .px-xl-1 {
    padding-right: 0.25rem !important; }
  .pb-xl-1,
  .py-xl-1 {
    padding-bottom: 0.25rem !important; }
  .pl-xl-1,
  .px-xl-1 {
    padding-left: 0.25rem !important; }
  .p-xl-2 {
    padding: 0.5rem !important; }
  .pt-xl-2,
  .py-xl-2 {
    padding-top: 0.5rem !important; }
  .pr-xl-2,
  .px-xl-2 {
    padding-right: 0.5rem !important; }
  .pb-xl-2,
  .py-xl-2 {
    padding-bottom: 0.5rem !important; }
  .pl-xl-2,
  .px-xl-2 {
    padding-left: 0.5rem !important; }
  .p-xl-3 {
    padding: 1rem !important; }
  .pt-xl-3,
  .py-xl-3 {
    padding-top: 1rem !important; }
  .pr-xl-3,
  .px-xl-3 {
    padding-right: 1rem !important; }
  .pb-xl-3,
  .py-xl-3 {
    padding-bottom: 1rem !important; }
  .pl-xl-3,
  .px-xl-3 {
    padding-left: 1rem !important; }
  .p-xl-4 {
    padding: 1.5rem !important; }
  .pt-xl-4,
  .py-xl-4 {
    padding-top: 1.5rem !important; }
  .pr-xl-4,
  .px-xl-4 {
    padding-right: 1.5rem !important; }
  .pb-xl-4,
  .py-xl-4 {
    padding-bottom: 1.5rem !important; }
  .pl-xl-4,
  .px-xl-4 {
    padding-left: 1.5rem !important; }
  .p-xl-5 {
    padding: 3rem !important; }
  .pt-xl-5,
  .py-xl-5 {
    padding-top: 3rem !important; }
  .pr-xl-5,
  .px-xl-5 {
    padding-right: 3rem !important; }
  .pb-xl-5,
  .py-xl-5 {
    padding-bottom: 3rem !important; }
  .pl-xl-5,
  .px-xl-5 {
    padding-left: 3rem !important; }
  .m-xl-n1 {
    margin: -0.25rem !important; }
  .mt-xl-n1,
  .my-xl-n1 {
    margin-top: -0.25rem !important; }
  .mr-xl-n1,
  .mx-xl-n1 {
    margin-right: -0.25rem !important; }
  .mb-xl-n1,
  .my-xl-n1 {
    margin-bottom: -0.25rem !important; }
  .ml-xl-n1,
  .mx-xl-n1 {
    margin-left: -0.25rem !important; }
  .m-xl-n2 {
    margin: -0.5rem !important; }
  .mt-xl-n2,
  .my-xl-n2 {
    margin-top: -0.5rem !important; }
  .mr-xl-n2,
  .mx-xl-n2 {
    margin-right: -0.5rem !important; }
  .mb-xl-n2,
  .my-xl-n2 {
    margin-bottom: -0.5rem !important; }
  .ml-xl-n2,
  .mx-xl-n2 {
    margin-left: -0.5rem !important; }
  .m-xl-n3 {
    margin: -1rem !important; }
  .mt-xl-n3,
  .my-xl-n3 {
    margin-top: -1rem !important; }
  .mr-xl-n3,
  .mx-xl-n3 {
    margin-right: -1rem !important; }
  .mb-xl-n3,
  .my-xl-n3 {
    margin-bottom: -1rem !important; }
  .ml-xl-n3,
  .mx-xl-n3 {
    margin-left: -1rem !important; }
  .m-xl-n4 {
    margin: -1.5rem !important; }
  .mt-xl-n4,
  .my-xl-n4 {
    margin-top: -1.5rem !important; }
  .mr-xl-n4,
  .mx-xl-n4 {
    margin-right: -1.5rem !important; }
  .mb-xl-n4,
  .my-xl-n4 {
    margin-bottom: -1.5rem !important; }
  .ml-xl-n4,
  .mx-xl-n4 {
    margin-left: -1.5rem !important; }
  .m-xl-n5 {
    margin: -3rem !important; }
  .mt-xl-n5,
  .my-xl-n5 {
    margin-top: -3rem !important; }
  .mr-xl-n5,
  .mx-xl-n5 {
    margin-right: -3rem !important; }
  .mb-xl-n5,
  .my-xl-n5 {
    margin-bottom: -3rem !important; }
  .ml-xl-n5,
  .mx-xl-n5 {
    margin-left: -3rem !important; }
  .m-xl-auto {
    margin: auto !important; }
  .mt-xl-auto,
  .my-xl-auto {
    margin-top: auto !important; }
  .mr-xl-auto,
  .mx-xl-auto {
    margin-right: auto !important; }
  .mb-xl-auto,
  .my-xl-auto {
    margin-bottom: auto !important; }
  .ml-xl-auto,
  .mx-xl-auto {
    margin-left: auto !important; } }

/* if we need to edit bootstrap styles, just copy all files to vendor folder */
/* Fonts */
/* Colours */
/* Breakpoints */
/* Take new breakpoints as map from Bootstrap 4 */
/*$space-breakpoints: (
    xs: 0,
    sm: 576px,
    md: 768px,
    lg: 992px,
    xl: 1200px
);*/
/* stylelint-disable */
select {
  -webkit-appearance: none;
  -moz-appearance: none; }
  select::-ms-expand {
    display: none; }

.enquire-form input,
.enquire-form textarea {
  -webkit-appearance: none;
  border-radius: 0; }

input[type='text'], input[type='number'],
input[type='email'], input[type='telephone'], textarea {
  display: block;
  width: 100%;
  height: 2.8125rem;
  font-size: 1rem;
  font-weight: 300;
  line-height: 1rem;
  background: none;
  border: none;
  border-bottom: 0.125rem solid #000000;
  border-radius: 0 !important;
  transition: all 0.2s; }
  @media all and (max-width: 1px) {
    input[type='text'], input[type='number'],
    input[type='email'], input[type='telephone'], textarea {
      font-size: 0.875rem; } }
  input[type='text']:focus, input[type='text']:active, input[type='number']:focus, input[type='number']:active,
  input[type='email']:focus,
  input[type='email']:active, input[type='telephone']:focus, input[type='telephone']:active, textarea:focus, textarea:active {
    border-color: #000000; }
  .form-error input[type='text'], .form-error input[type='number'], .form-error
  input[type='email'], .form-error input[type='telephone'], .form-error textarea {
    color: #000000;
    border-color: #000000; }

textarea {
  height: auto;
  padding: 0.625rem;
  border: 2px solid #000000;
  resize: none; }

input[type="submit"] {
  cursor: pointer; }

.select-wrapper {
  position: relative;
  background: #FFFFFF; }
  .select-wrapper select {
    display: block;
    width: 100%;
    padding: 1.25rem;
    font-weight: 700;
    background: none;
    border: none; }
    .select-wrapper select option {
      color: #000000;
      background: #FFFFFF; }
    .select-wrapper select:focus {
      outline: none; }
    .select-wrapper select::-ms-expand {
      display: none; }
  .select-wrapper.select-disabled {
    cursor: not-allowed; }

form .form-group {
  margin: 0.625rem 0; }
  form .form-group .form-error-message {
    display: none; }
  form .form-group.form-error .form-error-message {
    display: block;
    color: #FF0000; }

@font-face {
  font-family: Coupe-Thin;
  font-weight: normal;
  src: url("/web/fonts/coupe/35C97D_0_0.eot");
  src: url("/web/fonts/coupe/35C97D_0_0.eot?#iefix") format("embedded-opentype"), url("/web/fonts/coupe/35C97D_0_0.woff2") format("woff2"), url("/web/fonts/coupe/35C97D_0_0.woff") format("woff"), url("/web/fonts/coupe/35C97D_0_0.ttf") format("truetype"); }

@font-face {
  font-family: Coupe-Bold;
  font-weight: normal;
  src: url("/web/fonts/coupe/35C97D_1_0.eot");
  src: url("/web/fonts/coupe/35C97D_1_0.eot?#iefix") format("embedded-opentype"), url("/web/fonts/coupe/35C97D_1_0.woff2") format("woff2"), url("/web/fonts/coupe/35C97D_1_0.woff") format("woff"), url("/web/fonts/coupe/35C97D_1_0.ttf") format("truetype"); }

@font-face {
  font-family: Coupe-Normal;
  font-weight: normal;
  src: url("/web/fonts/coupe/35C97D_2_0.eot");
  src: url("/web/fonts/coupe/35C97D_2_0.eot?#iefix") format("embedded-opentype"), url("/web/fonts/coupe/35C97D_2_0.woff2") format("woff2"), url("/web/fonts/coupe/35C97D_2_0.woff") format("woff"), url("/web/fonts/coupe/35C97D_2_0.ttf") format("truetype"); }

@font-face {
  font-family: Coupe-Medium;
  font-weight: normal;
  src: url("/web/fonts/coupe/35C97D_3_0.eot");
  src: url("/web/fonts/coupe/35C97D_3_0.eot?#iefix") format("embedded-opentype"), url("/web/fonts/coupe/35C97D_3_0.woff2") format("woff2"), url("/web/fonts/coupe/35C97D_3_0.woff") format("woff"), url("/web/fonts/coupe/35C97D_3_0.ttf") format("truetype"); }

@font-face {
  font-family: icomoon;
  font-style: normal;
  font-weight: normal;
  src: url("/web/fonts/icomoon/icomoon.eot?unoe2k");
  src: url("/web/fonts/icomoon/icomoon.eot?unoe2k#iefix") format("embedded-opentype"), url("/web/fonts/icomoon/icomoon.ttf?unoe2k") format("truetype"), url("/web/fonts/icomoon/icomoon.woff?unoe2k") format("woff"), url("/web/fonts/icomoon/icomoon.svg?unoe2k#icomoon") format("svg"); }

[class^='icon-'], [class*=' icon-'] {
  /* use !important to prevent issues with browser extensions that change fonts */
  font-family: icomoon !important;
  /* Better Font Rendering =========== */
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  font-style: normal;
  font-weight: normal;
  font-variant: normal;
  line-height: 1;
  text-transform: none;
  speak: none; }

.icon-easysteel-logo .path1:before {
  color: #f68e1f;
  content: "\e900"; }

.icon-easysteel-logo .path2:before {
  margin-left: -4.7881em;
  color: #f68e1f;
  content: "\e901"; }

.icon-easysteel-logo .path3:before {
  margin-left: -4.7881em;
  color: black;
  content: "\e902"; }

.icon-easysteel-logo .path4:before {
  margin-left: -4.7881em;
  color: black;
  content: "\e903"; }

.icon-easysteel-logo .path5:before {
  margin-left: -4.7881em;
  color: #f68e1f;
  content: "\e904"; }

.icon-easysteel-logo .path6:before {
  margin-left: -4.7881em;
  color: black;
  content: "\e905"; }

body.page-cms-home .icon-easysteel-logo .path1:before {
  color: #f68e1f;
  content: "\e90a"; }

body.page-cms-home .icon-easysteel-logo .path2:before {
  margin-left: -4.7881em;
  color: #f68e1f;
  content: "\e90b"; }

body.page-cms-home .icon-easysteel-logo .path3:before {
  margin-left: -4.7881em;
  color: white;
  content: "\e90c"; }

body.page-cms-home .icon-easysteel-logo .path4:before {
  margin-left: -4.7881em;
  color: white;
  content: "\e90d"; }

body.page-cms-home .icon-easysteel-logo .path5:before {
  margin-left: -4.7881em;
  color: #f68e1f;
  content: "\e90e"; }

body.page-cms-home .icon-easysteel-logo .path6:before {
  margin-left: -4.7881em;
  color: white;
  content: "\e90f"; }

.icon-easysteel-logo-white .path1:before {
  color: #f68e1f;
  content: "\e90a"; }

.icon-easysteel-logo-white .path2:before {
  margin-left: -4.7881em;
  color: #f68e1f;
  content: "\e90b"; }

.icon-easysteel-logo-white .path3:before {
  margin-left: -4.7881em;
  color: white;
  content: "\e90c"; }

.icon-easysteel-logo-white .path4:before {
  margin-left: -4.7881em;
  color: white;
  content: "\e90d"; }

.icon-easysteel-logo-white .path5:before {
  margin-left: -4.7881em;
  color: #f68e1f;
  content: "\e90e"; }

.icon-easysteel-logo-white .path6:before {
  margin-left: -4.7881em;
  color: white;
  content: "\e90f"; }

.icon-fletcher-steel-logo:before {
  content: "\e906"; }

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

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

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

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

.icon-chevron-up:before {
  content: "\e911"; }

.icon-chevron-down:before {
  content: "\e912"; }

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

.active .icon-chevron-down:before {
  color: #F68E1F;
  content: "\e911"; }

* {
  box-sizing: border-box; }

html {
  line-height: 1.5; }
  html.overlay-open,
  html.overlay-open body {
    width: 100%;
    height: 100%;
    overflow: hidden; }
    html.overlay-open #main-header.menu-open,
    html.overlay-open body #main-header.menu-open {
      position: fixed;
      right: 0;
      left: 0;
      background: #FFFFFF; }
    html.overlay-open.page-cms-home #main-header.menu-open,
    html.overlay-open body.page-cms-home #main-header.menu-open {
      background-color: #000000; }

body {
  position: relative;
  color: #000000;
  font-family: "Coupe-Medium", Helvetica, Arial, sans-serif;
  font-size: 1.1875rem;
  background: #FFFFFF; }
  body.overflowHidden {
    overflow: hidden; }

*:focus {
  outline: none; }

a {
  color: #000000; }

ul {
  padding: 0;
  margin: 0;
  list-style: none; }

#app {
  overflow: hidden; }

@media (min-width: 768px) {
  .container-fluid-nested {
    padding: 0; } }

@media (min-width: 768px) {
  .container-fluid-nested .row {
    padding-right: 0;
    padding-left: 0;
    margin: 0; } }

@media (min-width: 768px) {
  .container-fluid-nested div[class^="col-"] {
    padding-right: 0;
    padding-left: 0; } }

.container-fluid-nested .half-container {
  padding: 0 12px;
  margin: 0 auto; }
  @media (min-width: 576px) {
    .container-fluid-nested .half-container {
      max-width: 540px; } }
  @media (min-width: 768px) {
    .container-fluid-nested .half-container {
      max-width: 720px; } }
  @media (min-width: 992px) {
    .container-fluid-nested .half-container {
      max-width: 960px; } }
  @media (min-width: 1200px) {
    .container-fluid-nested .half-container {
      max-width: 1140px; } }
  @media (min-width: 576px) {
    .container-fluid-nested .half-container {
      padding: 0 15px; } }

@media (min-width: 768px) and (min-width: 576px) {
  .container-fluid-nested .half-container {
    max-width: 270px; } }

@media (min-width: 768px) and (min-width: 768px) {
  .container-fluid-nested .half-container {
    max-width: 360px; } }

@media (min-width: 768px) and (min-width: 992px) {
  .container-fluid-nested .half-container {
    max-width: 480px; } }

@media (min-width: 768px) and (min-width: 1200px) {
  .container-fluid-nested .half-container {
    max-width: 570px; } }
  @media (min-width: 768px) {
    .container-fluid-nested .half-container.half-container--right {
      float: right;
      width: 100%; } }

.animate-bounce .bounce-left {
  transform: rotate(180deg) translate(0, -2px); }

.animate-bounce:hover .icon-arrow {
  display: inline-block; }

.animate-bounce:hover .animated {
  animation-duration: 0.4s;
  animation-iteration-count: 1;
  animation-timing-function: linear;
  animation-fill-mode: both; }

@keyframes bounce {
  0%, 100% {
    transform: translateX(0); }
  50% {
    transform: translateX(15px); } }

@keyframes bounce-left {
  0%, 100% {
    transform: rotate(180deg) translate(0, -2px); }
  50% {
    transform: rotate(180deg) translate(15px, -2px); } }

@keyframes bounce-down {
  0%, 100% {
    transform: translate(0, 0); }
  50% {
    transform: translate(0, 7px); } }

.animate-bounce:hover .bounce {
  animation-name: bounce; }

.animate-bounce:hover .bounce-left {
  animation-name: bounce-left; }

.animate-bounce:hover .bounce-down {
  animation-name: bounce-down; }

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

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

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

.icon-arrow {
  font-size: 0.625rem; }

.content-overlay {
  position: fixed;
  top: -200vh;
  left: 0;
  z-index: 99;
  width: 100vw;
  height: 100vh;
  overflow: auto;
  transition: all 0.4s; }
  .content-overlay a.close {
    position: absolute;
    top: 0;
    right: 0;
    z-index: 10;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 5.9375rem;
    height: 5.9375rem;
    cursor: pointer;
    background: #FFFFFF; }
    .content-overlay a.close .icon-close {
      font-size: 1.5rem;
      transition: all 0.5s 0.1s; }
    .content-overlay a.close:hover .icon-close {
      transform: rotate(180deg);
      transition: all 0.5s 0.1s; }
  .content-overlay:before {
    position: fixed;
    top: -200vh;
    left: 0;
    z-index: -1;
    width: 100%;
    height: 100%;
    background: #000000;
    content: '';
    opacity: 0.1;
    transition: all 0.4s; }
  .content-overlay.active {
    top: 0; }
    .content-overlay.active:before {
      top: 0;
      opacity: 0.9; }

.add-gaps {
  padding: 0 12px; }
  @media (min-width: 576px) {
    .add-gaps {
      padding: 0; } }

h1, h2, h3, h4, h5, h6 {
  margin: 0;
  overflow: hidden;
  font-family: "Coupe-Medium", Helvetica, Arial, sans-serif;
  font-weight: normal;
  line-height: 1.33; }

h1 {
  font-size: 6.875rem; }

h2 {
  font-size: 2.5rem;
  line-height: 1.1; }
  @media all and (min-width: 768px) {
    h2 {
      font-size: 3.125rem; } }

h3 {
  font-size: 2rem;
  line-height: 1.1; }

h4 {
  font-size: 1.25rem;
  line-height: 1.15; }

.button {
  position: relative;
  display: inline-block;
  width: 100%;
  padding: 1.5rem 0.625rem 1.3125rem;
  margin-right: 0;
  font-family: "Coupe-Medium", Helvetica, Arial, sans-serif;
  font-size: 1rem;
  line-height: 1;
  text-align: center;
  text-decoration: none;
  text-transform: uppercase;
  transition: all 0.2s; }
  @media all and (min-width: 1px) {
    .button {
      max-width: 18.75rem;
      padding-right: 1.4375rem;
      padding-left: 1.4375rem; } }
  .button--primary {
    color: #000000;
    background-color: transparent; }
    .button--primary:hover, .button--primary.active {
      color: #FFFFFF;
      background-color: #000000; }
  .button.left {
    text-align: left; }
  .button__white {
    width: 100%;
    max-width: none;
    padding: 1rem 2.5rem;
    color: #000000;
    text-transform: none;
    background: #FFFFFF;
    border: none; }
    @media (min-width: 768px) {
      .button__white {
        width: auto; } }
    .button__white:hover {
      color: #FFFFFF;
      background: #000000; }
  .button__black {
    width: 100%;
    max-width: none;
    padding: 1rem 2.5rem;
    color: #FFFFFF;
    text-transform: none;
    background: #000000;
    border: none; }
    @media (min-width: 768px) {
      .button__black {
        width: auto; } }
    .button__black:hover {
      color: #000000;
      background: #F68E1F; }
  .button__black--inverted {
    width: 100%;
    max-width: none;
    padding: 1rem 2.5rem;
    text-transform: none;
    border: 1px solid #000000; }
    @media all and (min-width: 576px) {
      .button__black--inverted {
        width: auto; } }
    .button__black--inverted .icon-arrow {
      margin: 0 0.3125rem; }
    .button__black--inverted:hover {
      color: #F68E1F;
      background: #000000; }
      .button__black--inverted:hover .icon-arrow {
        color: #F68E1F; }
    .button__black--inverted.orange {
      color: #F68E1F;
      border-color: #F68E1F; }
  .button__black--overlay {
    width: 100%;
    max-width: none;
    padding: 1rem 2.5rem;
    color: #FFFFFF;
    text-transform: none;
    border: 1px solid #FFFFFF; }
    @media all and (min-width: 576px) {
      .button__black--overlay {
        width: auto; } }
    .button__black--overlay:hover {
      color: #000000;
      background: #FFFFFF; }
  .button__orange--inverted {
    width: 100%;
    max-width: none;
    padding: 1rem 2.5rem;
    color: #F68E1F;
    text-transform: none;
    border: 1px solid #F68E1F; }
    @media all and (min-width: 576px) {
      .button__orange--inverted {
        width: auto; } }
    .button__orange--inverted .icon-arrow {
      margin: 0 0.3125rem;
      font-size: 0.625rem; }
    .button__orange--inverted:hover {
      color: #000000;
      background: #F68E1F; }
      .button__orange--inverted:hover .icon-arrow {
        color: #000000; }
  .button__orange {
    width: 100%;
    max-width: none;
    padding: 1rem 2.5rem;
    color: #FFFFFF;
    text-transform: none;
    background: #F68E1F;
    border: 1px solid #F68E1F; }
    @media all and (min-width: 768px) {
      .button__orange {
        width: auto; } }
    .button__orange .icon-arrow {
      margin: 0 0.3125rem; }
    .button__orange:hover {
      color: #F68E1F;
      background: none; }
      .button__orange:hover .icon-arrow {
        color: #F68E1F; }
  .button--transparent-orange {
    width: 14.375rem;
    height: 3.125rem;
    padding: 0;
    color: #F68E1F;
    background-color: transparent;
    border: 1px solid #F68E1F; }
    .button--transparent-orange:hover, .button--transparent-orange.is-active {
      color: #FFFFFF;
      background-color: #F68E1F; }
  .button__transparent-white {
    width: 14.375rem;
    height: 3.125rem;
    padding: 1rem 0;
    color: #FFFFFF;
    background-color: transparent;
    border: 1px solid #FFFFFF; }
    .button__transparent-white:hover, .button__transparent-white.is-active {
      color: #F68E1F;
      background-color: #FFFFFF; }
  .button__fixed-width {
    width: 100%; }
    @media (min-width: 768px) {
      .button__fixed-width {
        width: 20rem; } }
  .button .icon-arrow {
    display: inline-block;
    padding: 0.375rem 0 0.125rem; }
  .button .icon-download {
    display: inline-block; }

.cta-block {
  padding: 4.0625rem 0.75rem 5rem;
  color: #F68E1F;
  background: #000000; }
  @media all and (min-width: 768px) {
    .cta-block {
      padding: 2.375rem 0 2.1875rem; } }
  .cta-block .col-title {
    padding-top: 0.625rem; }
    @media all and (min-width: 768px) {
      .cta-block .col-title {
        padding-top: 0.625rem; } }
  @media all and (min-width: 768px) {
    .cta-block .col-link {
      display: flex;
      align-items: center;
      justify-content: flex-end; } }
  .cta-block .col-link a {
    display: block;
    padding: 0.75rem 2.8125rem;
    margin: 1.125rem auto 0;
    color: #F68E1F;
    font-family: "Coupe-Medium", Helvetica, Arial, sans-serif;
    font-size: 1.0625rem;
    font-weight: 500;
    text-align: center;
    text-decoration: none;
    text-transform: none;
    border: 1px solid #F68E1F; }
    @media all and (min-width: 768px) {
      .cta-block .col-link a {
        display: inline-block;
        margin: 0; } }
    .cta-block .col-link a .icon-arrow {
      margin-left: 0.3125rem;
      font-size: 0.625rem; }
    .cta-block .col-link a:hover {
      color: #000000;
      background: #F68E1F; }

.promises {
  padding: 1.75rem 0 2.8125rem;
  font-size: 1.25rem;
  line-height: 1.18;
  background: #F2F2F2; }
  @media (min-width: 768px) {
    .promises {
      padding: 5.3125rem 0 3.75rem;
      font-size: 1.5rem; } }
  .promises h2 {
    padding-bottom: 0.75rem; }
    @media (min-width: 768px) {
      .promises h2 {
        padding-bottom: 2.625rem; } }
  .promises h3 {
    margin-bottom: 9px;
    font-family: "Coupe-Medium", Helvetica, Arial, sans-serif;
    font-weight: bold;
    line-height: 1; }
  .promises p {
    margin: 0; }
  .promises a {
    text-decoration: none; }
  .promises .promises__icon {
    /*height:rem(60);
        margin:rem(20) 0 rem(15);
        background-position:left center;
        background-repeat:no-repeat;
        background-size:contain;

        @include media-breakpoint-up(md){
            margin-bottom:rem(30);
        }*/ }
    .promises .promises__icon img {
      width: 9.375rem;
      max-width: 100%; }
      @media (min-width: 992px) {
        .promises .promises__icon img {
          width: 11.875rem; } }
  .promises .swiper-container {
    overflow: visible; }
  .promises .promises__list {
    display: block; }
    @media (min-width: 992px) {
      .promises .promises__list {
        display: none; } }
    .promises .promises__list.promises__list--mobile {
      text-align: center; }
      .promises .promises__list.promises__list--mobile h3 {
        padding-top: 0.625rem; }
    .promises .promises__list.promises__list--desktop {
      display: none; }
      @media (min-width: 992px) {
        .promises .promises__list.promises__list--desktop {
          display: block; } }
      .promises .promises__list.promises__list--desktop .row:last-child {
        padding-bottom: 1.5625rem; }

.blocks-1orange {
  font-size: 1.1875rem;
  line-height: 1.18; }
  .blocks-1orange .blocks-1orange-with-links__left {
    padding-top: 4.375rem;
    padding-bottom: 3.75rem;
    background: #F68E1F; }
    @media (min-width: 768px) {
      .blocks-1orange .blocks-1orange-with-links__left {
        padding-top: 5rem;
        padding-bottom: 5.3125rem; } }
    .blocks-1orange .blocks-1orange-with-links__left h2 {
      padding-bottom: 1rem; }
    .blocks-1orange .blocks-1orange-with-links__left .button {
      margin-top: 1.25rem; }
      @media (min-width: 768px) {
        .blocks-1orange .blocks-1orange-with-links__left .button {
          margin-top: 2.8125rem; } }
  .blocks-1orange .blocks-1orange-with-links__right {
    padding-top: 5rem;
    padding-bottom: 3.75rem;
    overflow: hidden;
    color: #FFFFFF;
    will-change: transform, opacity; }
    @media (min-width: 768px) {
      .blocks-1orange .blocks-1orange-with-links__right {
        min-height: 32.8125rem;
        padding-top: 0;
        padding-bottom: 0; } }
    .blocks-1orange .blocks-1orange-with-links__right:hover .blocks-1orange-with-links__background {
      transform: scale(1.08); }
    .blocks-1orange .blocks-1orange-with-links__right.blocks-1orange-with-links--min-height {
      min-height: 25rem; }
      @media (min-width: 768px) {
        .blocks-1orange .blocks-1orange-with-links__right.blocks-1orange-with-links--min-height {
          min-height: 32.8125rem; } }
    .blocks-1orange .blocks-1orange-with-links__right .blocks-1orange-with-links__background {
      position: absolute;
      top: 0;
      right: 0;
      bottom: 0;
      left: 0;
      background-position: 50% 50%;
      background-repeat: no-repeat;
      background-size: cover;
      transition: all 0.5s 0.1s; }
      .blocks-1orange .blocks-1orange-with-links__right .blocks-1orange-with-links__background .background__link {
        display: block;
        width: 100%;
        height: 100%; }
    .blocks-1orange .blocks-1orange-with-links__right h3 {
      padding-bottom: 1rem; }
    .blocks-1orange .blocks-1orange-with-links__right .half-container {
      position: relative;
      z-index: 2; }
      @media (min-width: 768px) {
        .blocks-1orange .blocks-1orange-with-links__right .half-container {
          position: absolute;
          top: 50%;
          z-index: 2;
          padding-left: 1.875rem;
          transform: translateY(-50%); } }
      @media (min-width: 992px) {
        .blocks-1orange .blocks-1orange-with-links__right .half-container {
          padding-left: 6.875rem; } }
    .blocks-1orange .blocks-1orange-with-links__right .button {
      margin-top: 1.25rem; }
      @media (min-width: 768px) {
        .blocks-1orange .blocks-1orange-with-links__right .button {
          margin-top: 2.1875rem; } }
  .blocks-1orange .blocks-1orange-with-links__layer {
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    z-index: 1;
    background: rgba(0, 0, 0, 0.7); }

.images-block {
  /*.container{
        @include media-breakpoint-down(md){
            padding:0;
        }
    }
    .container-fluid{
        padding:0;
    }
    .row{
        margin:0;
    }
    .col{
        padding:0;
    }*/
  /*.container{
        padding:0 27px;

        @include media-breakpoint-up(sm){
            padding:0;
        }
    }*/ }
  .images-block .container-fluid, .images-block .container-sm, .images-block .container-md, .images-block .container-lg, .images-block .container-xl {
    padding: 0; }
    .images-block .container-fluid .add-gaps, .images-block .container-sm .add-gaps, .images-block .container-md .add-gaps, .images-block .container-lg .add-gaps, .images-block .container-xl .add-gaps {
      padding: 0; }
  .images-block .swiper-container {
    overflow: visible; }
  .images-block .swiper-slide {
    overflow: hidden; }
  .images-block img {
    width: 100%; }
  .images-block.images-block--3 img {
    min-width: 16.5625rem; }
  .images-block.images-block--4 img {
    min-width: 16.25rem; }

.case-study-listing-block {
  color: #FFFFFF; }
  .case-study-listing-block .row {
    margin-bottom: 1.25rem;
    background: #000000; }
    .case-study-listing-block .row:last-child {
      margin-bottom: 0; }
  .case-study-listing-block .case-study-listing-block__image-big {
    display: none;
    min-height: 37.5rem;
    background: no-repeat;
    background-position: center center;
    background-size: cover; }
    @media (min-width: 992px) {
      .case-study-listing-block .case-study-listing-block__image-big {
        display: block; } }
  .case-study-listing-block .case-study-listing-block__content {
    padding: 2.8125rem 12px 3.125rem;
    margin: 0 auto; }
    @media (min-width: 576px) {
      .case-study-listing-block .case-study-listing-block__content {
        max-width: 540px; } }
    @media (min-width: 768px) {
      .case-study-listing-block .case-study-listing-block__content {
        max-width: 720px; } }
    @media (min-width: 992px) {
      .case-study-listing-block .case-study-listing-block__content {
        max-width: 960px; } }
    @media (min-width: 1200px) {
      .case-study-listing-block .case-study-listing-block__content {
        max-width: 1140px; } }
    @media (min-width: 576px) {
      .case-study-listing-block .case-study-listing-block__content {
        padding-right: 15px;
        padding-left: 15px; } }
    @media (min-width: 992px) {
      .case-study-listing-block .case-study-listing-block__content {
        max-width: none;
        padding: 9.375rem 6.25rem 9.375rem 6.5625rem; } }
    @media (min-width: 1200px) {
      .case-study-listing-block .case-study-listing-block__content {
        padding-right: 17.5rem; } }
    .case-study-listing-block .case-study-listing-block__content div {
      padding: 0.625rem 0 1.5625rem; }
      @media (min-width: 992px) {
        .case-study-listing-block .case-study-listing-block__content div {
          padding: 1.5625rem 0 3.75rem; } }
    .case-study-listing-block .case-study-listing-block__content img {
      display: block;
      width: 100%;
      margin-bottom: 1.5625rem; }
      @media (min-width: 992px) {
        .case-study-listing-block .case-study-listing-block__content img {
          display: none; } }
  .case-study-listing-block .case-study-listing-block__show-more {
    padding: 2.9375rem 0 4.75rem;
    text-align: center; }
    .case-study-listing-block .case-study-listing-block__show-more button {
      width: 20rem; }

@media (min-width: 992px) {
  .generic {
    padding-bottom: 3.125rem; } }

@media (min-width: 992px) {
  .generic .col-lg-8.side-line {
    border-right: 2px solid #F2F2F2; } }

.generic .generic__info {
  padding-bottom: 4.5rem;
  font-size: 1.1875rem; }
  @media (min-width: 992px) {
    .generic .generic__info {
      padding-bottom: 0; } }
  .generic .generic__info h3 {
    padding-bottom: 0.625rem;
    font-size: 1.0625rem; }
  .generic .generic__info section {
    padding-top: 3.125rem;
    margin: 4.375rem 0;
    border-top: 2px solid #F2F2F2; }
    .generic .generic__info section:first-child {
      margin-top: 0;
      border-top: none; }
      .generic .generic__info section:first-child:not(.generic__news):not(.generic__links) {
        padding-top: 0; }
    .generic .generic__info section:last-child {
      margin-bottom: 0; }

.generic .generic__links {
  position: relative;
  padding-bottom: 3.5rem; }
  @media (min-width: 992px) {
    .generic .generic__links {
      padding-bottom: 2.1875rem; } }
  .generic .generic__links.generic__links--orange {
    padding-bottom: 0; }
    @media (min-width: 992px) {
      .generic .generic__links.generic__links--orange {
        padding: 3.125rem 0 3.125rem 1.5625rem;
        margin-bottom: 4.375rem; }
        .generic .generic__links.generic__links--orange:before {
          position: absolute;
          top: 0;
          right: -500%;
          bottom: 0;
          left: 0;
          display: block;
          background: #F68E1F;
          content: ''; } }
    .generic .generic__links.generic__links--orange .button__white {
      color: #FFFFFF;
      background: #F68E1F; }
      @media (min-width: 768px) {
        .generic .generic__links.generic__links--orange .button__white {
          width: 16.25rem; } }
      .generic .generic__links.generic__links--orange .button__white:hover {
        color: #F68E1F;
        background: #000000; }
      @media (min-width: 992px) {
        .generic .generic__links.generic__links--orange .button__white {
          color: #000000;
          background: #FFFFFF; }
          .generic .generic__links.generic__links--orange .button__white:hover {
            color: #FFFFFF;
            background: #000000; } }
  .generic .generic__links li {
    margin-bottom: 1.25rem; }
  .generic .generic__links ul:last-child li:last-child {
    margin-bottom: 0; }

.generic .generic__company {
  overflow: hidden;
  text-transform: uppercase; }
  .generic .generic__company img {
    display: block;
    width: 100%;
    margin: 0 0 0.9375rem 0; }

.generic .generic__snapshot {
  line-height: 1.18; }
  .generic .generic__snapshot ul {
    padding-left: 2.1875rem;
    list-style: square; }
  .generic .generic__snapshot li {
    padding-bottom: 0.625rem; }

.generic .generic__featured-product.generic__featured-product--desktop {
  display: none; }
  @media (min-width: 992px) {
    .generic .generic__featured-product.generic__featured-product--desktop {
      display: block; } }

.generic .generic__featured-product.generic__featured-product--mobile {
  display: block; }
  @media (min-width: 992px) {
    .generic .generic__featured-product.generic__featured-product--mobile {
      display: none; } }
  .generic .generic__featured-product.generic__featured-product--mobile h3 {
    padding-bottom: 0.625rem;
    font-size: 1.0625rem; }

.generic .generic__featured-product .featured-product {
  margin-bottom: 1.875rem; }

.generic .generic__news.generic__news--desktop {
  position: relative;
  display: none;
  padding: 2.1875rem 2.5rem; }
  @media (min-width: 992px) {
    .generic .generic__news.generic__news--desktop {
      display: block;
      margin-bottom: 3.125rem; } }
  .generic .generic__news.generic__news--desktop:before {
    position: absolute;
    top: 0;
    bottom: 0;
    z-index: 1;
    background: #F68E1F;
    content: ''; }
  .generic .generic__news.generic__news--desktop a {
    position: relative;
    z-index: 5;
    display: block;
    color: #000000;
    text-decoration: none; }
    .generic .generic__news.generic__news--desktop a .generic__news__title {
      display: block;
      padding-top: 8px;
      color: #FFFFFF;
      font-size: 1.5rem;
      line-height: 1.05; }
  .generic .generic__news.generic__news--desktop.generic__news-next:before {
    right: -500%;
    left: 0; }
  .generic .generic__news.generic__news--desktop.generic__news-prev {
    position: relative;
    padding-left: 0;
    margin: 0 75px 5.625rem 0; }
    .generic .generic__news.generic__news--desktop.generic__news-prev:before {
      right: 0;
      left: -500%; }
    .generic .generic__news.generic__news--desktop.generic__news-prev .bounce-left {
      display: inline-block;
      padding: 0.375rem 0 0.125rem; }

.generic .generic__news.generic__news--mobile {
  padding: 3.125rem 0 3.75rem;
  margin-top: 3.125rem;
  border-top: 2px solid #F2F2F2; }
  @media (min-width: 992px) {
    .generic .generic__news.generic__news--mobile {
      display: none; } }
  .generic .generic__news.generic__news--mobile a:nth-child(2) {
    margin-top: 1.25rem; }

.generic .case-study-pdf {
  margin-bottom: 2.1875rem; }

.product-description {
  padding: 2.9375rem 0 2.625rem;
  background: #F2F2F2;
  /*.third-paragraph{
        padding-top:rem(50);

        @include media-breakpoint-up(xl){
            padding-top:0;
        }
    }*/ }
  @media (min-width: 992px) {
    .product-description {
      padding: 2rem 0; } }
  .product-description p {
    margin: 0; }
  .product-description .product-description__text {
    margin: 0.625rem 0 3.125rem;
    font-size: 1.1875rem; }
    @media (min-width: 1200px) {
      .product-description .product-description__text {
        margin-top: 0; } }
    .product-description .product-description__text p {
      margin-bottom: 0.625rem; }
  .product-description ul {
    margin: 0.9375rem 1.875rem;
    list-style: disc; }
  .product-description ul.generic__links {
    padding: 1.875rem 0 0.625rem;
    margin: 0;
    overflow: hidden;
    list-style-type: none; }
    .product-description ul.generic__links li {
      float: left;
      width: 100%;
      padding-bottom: 1.875rem; }
      @media (min-width: 768px) and (max-width: 991.98px) {
        .product-description ul.generic__links li {
          width: 50%; }
          .product-description ul.generic__links li:nth-child(2n+1) {
            clear: left; }
          .product-description ul.generic__links li:nth-child(2n) a {
            margin-right: 0; } }
      @media (min-width: 992px) {
        .product-description ul.generic__links li {
          width: 25%; }
          .product-description ul.generic__links li:nth-child(4n+1) {
            clear: left; }
          .product-description ul.generic__links li:nth-child(4n) a {
            margin-right: 0; } }
      @media (min-width: 768px) {
        .product-description ul.generic__links li {
          padding-bottom: 0.9375rem; } }
      .product-description ul.generic__links li a {
        /*width:100%;*/
        display: block; }
        @media (min-width: 768px) {
          .product-description ul.generic__links li a {
            margin-right: 0.625rem; } }
      .product-description ul.generic__links li .button__black {
        padding-right: 1rem;
        padding-left: 1rem; }
  .product-description .button-terms-of-sale {
    position: absolute;
    top: -8.125rem;
    left: 1.75rem;
    width: calc(100% - 56px); }
    @media (min-width: 576px) {
      .product-description .button-terms-of-sale {
        left: 0.9375rem;
        width: calc(100% - 30px); } }

.home-3-col-links {
  padding: 4.375rem 0 1.875rem;
  background: #F68E1F; }
  @media all and (min-width: 992px) {
    .home-3-col-links {
      padding: 5rem 0 9.0625rem; } }
  .home-3-col-links .col-lg-4 {
    position: relative; }
  .home-3-col-links .inner-wrapper {
    padding: 0 0.75rem;
    margin-bottom: 2.5rem; }
    @media all and (min-width: 576px) {
      .home-3-col-links .inner-wrapper {
        padding: 0; } }
    @media all and (min-width: 992px) {
      .home-3-col-links .inner-wrapper {
        margin-bottom: 0.625rem; } }
    .home-3-col-links .inner-wrapper h3 {
      margin-bottom: 0.5rem; }
      @media all and (min-width: 768px) {
        .home-3-col-links .inner-wrapper h3 {
          margin-bottom: 0.25rem; } }
    .home-3-col-links .inner-wrapper .content {
      margin-bottom: 1.25rem;
      font-size: 1.25rem;
      line-height: 1.15; }
      @media all and (min-width: 768px) {
        .home-3-col-links .inner-wrapper .content {
          padding-right: 15%;
          font-size: 1.1875rem;
          line-height: 1.18; } }
    @media all and (min-width: 992px) {
      .home-3-col-links .inner-wrapper a.button {
        position: absolute;
        top: 100%;
        margin-top: 0.3125rem; } }

.contact-us {
  padding: 3.125rem 0.75rem 4.6875rem; }
  @media (min-width: 992px) {
    .contact-us {
      padding: 3.125rem 0 9.375rem; } }
  .contact-us .col-form {
    order: 2; }
    @media (min-width: 992px) {
      .contact-us .col-form {
        order: 1; } }
  .contact-us .col-content {
    order: 1; }
    @media (min-width: 992px) {
      .contact-us .col-content {
        order: 2; } }
    .contact-us .col-content a {
      font-family: "Coupe-Medium", Helvetica, Arial, sans-serif;
      text-decoration: none; }
    .contact-us .col-content .phone,
    .contact-us .col-content .fax,
    .contact-us .col-content .email {
      margin-top: 1.25rem;
      font-size: 1.25rem;
      line-height: 1.15; }
      @media (min-width: 992px) {
        .contact-us .col-content .phone,
        .contact-us .col-content .fax,
        .contact-us .col-content .email {
          font-size: 1.1875rem;
          line-height: 1.18;
          letter-spacing: -0.2px; } }
    .contact-us .col-content .email a {
      text-transform: lowercase; }
    .contact-us .col-content .link-branches,
    .contact-us .col-content .link-suppliers {
      margin-top: 1.5625rem;
      font-size: 1.25rem;
      line-height: 1.25rem; }
      .contact-us .col-content .link-branches a,
      .contact-us .col-content .link-suppliers a {
        position: relative;
        display: block;
        padding: 0.75rem;
        margin-top: 0.5rem;
        font-size: 1.1875rem;
        text-align: center;
        border: 1px solid #000000; }
        @media (min-width: 576px) {
          .contact-us .col-content .link-branches a,
          .contact-us .col-content .link-suppliers a {
            display: inline-block;
            padding: 0;
            margin-top: 0;
            text-transform: uppercase;
            border: none; }
            .contact-us .col-content .link-branches a .icon-arrow,
            .contact-us .col-content .link-suppliers a .icon-arrow {
              display: none; } }
        @media (min-width: 576px) {
          .contact-us .col-content .link-branches a:before,
          .contact-us .col-content .link-suppliers a:before {
            position: absolute;
            top: 0;
            right: 0;
            bottom: 0;
            left: 0;
            text-align: left;
            background: #FFFFFF;
            content: 'HERE'; } }
        .contact-us .col-content .link-branches a:hover,
        .contact-us .col-content .link-suppliers a:hover {
          color: #FFFFFF;
          background: #000000; }
          @media (min-width: 576px) {
            .contact-us .col-content .link-branches a:hover,
            .contact-us .col-content .link-suppliers a:hover {
              color: #000000;
              text-decoration: underline; } }
    @media (min-width: 576px) {
      .contact-us .col-content .link-suppliers a:before {
        content: 'CLICK HERE'; } }
    .contact-us .col-content .content {
      margin-top: 2.8125rem;
      margin-bottom: 4.6875rem;
      font-size: 1.25rem;
      line-height: 1.15;
      letter-spacing: -0.2px; }
      @media (min-width: 992px) {
        .contact-us .col-content .content {
          margin-top: 1.875rem;
          font-size: 1.1875rem;
          line-height: 1.18; } }
      .contact-us .col-content .content a {
        font-family: "Coupe-Medium", Helvetica, Arial, sans-serif; }
  .contact-us h3 {
    margin-bottom: 1.5625rem;
    font-size: 2.5rem; }
    @media (min-width: 992px) {
      .contact-us h3 {
        font-size: 2rem; } }

.craft-form {
  padding-bottom: 6.25rem; }
  .craft-form form .form-group {
    position: relative;
    display: block;
    width: 100%;
    margin-bottom: 1.25rem; }
    .craft-form form .form-group .col-form-label {
      position: absolute;
      padding: 1.5625rem 1.5625rem;
      font-size: 1.25rem;
      text-transform: uppercase;
      transition: all 0.5s; }
      @media (min-width: 992px) {
        .craft-form form .form-group .col-form-label {
          padding: 1.875rem;
          font-size: 1rem; } }
    .craft-form form .form-group.form-group__recaptcha .col-form-label {
      display: none; }
    .craft-form form .form-group .form-control {
      min-height: 5rem;
      padding: 2.5rem 1.875rem 2.375rem;
      margin: 0;
      font-family: "Coupe-Medium", Helvetica, Arial, sans-serif;
      font-size: 1.25rem;
      font-weight: 500;
      line-height: 1.25rem;
      border: 1px solid #000000;
      border-radius: 0; }
      @media (min-width: 992px) {
        .craft-form form .form-group .form-control {
          font-size: 1rem; } }
    .craft-form form .form-group .form-error-message {
      padding: 0.625rem 1.375rem;
      color: #FFFFFF;
      font-family: "Coupe-Medium", Helvetica, Arial, sans-serif;
      font-size: 1.0625rem;
      background: #F68E1F; }
    .craft-form form .form-group textarea.form-control {
      height: 16.875rem; }
    .craft-form form .form-group input[type="checkbox"] {
      margin-right: 0.8125rem;
      opacity: 0; }
      .craft-form form .form-group input[type="checkbox"]:checked + label:before {
        background: #F68E1F; }
    .craft-form form .form-group label.form-radio-label,
    .craft-form form .form-group label.form-check-label {
      padding-left: 0.3125rem;
      font-family: "Coupe-Medium", Helvetica, Arial, sans-serif;
      font-size: 1rem;
      text-transform: uppercase; }
      .craft-form form .form-group label.form-radio-label:before,
      .craft-form form .form-group label.form-check-label:before {
        position: absolute;
        width: 1.4375rem;
        height: 1.4375rem;
        margin-left: -2.1875rem;
        background: #FFFFFF;
        border: 1px solid #000000;
        content: ''; }
      .craft-form form .form-group label.form-radio-label.checked:before,
      .craft-form form .form-group label.form-check-label.checked:before {
        background: #F68E1F; }
    .craft-form form .form-group label.form-radio-label:before {
      border-radius: 50%; }
    .craft-form form .form-group:last-child {
      margin-top: 2.1875rem; }
      @media (min-width: 992px) {
        .craft-form form .form-group:last-child .icon-arrow {
          display: none; } }
      .craft-form form .form-group:last-child .button {
        min-width: 13.125rem; }
    .craft-form form .form-group.active .col-form-label {
      padding: 0.625rem 1.875rem;
      font-size: 0.75rem; }
    .craft-form form .form-group .select-wrapper {
      position: relative;
      background: transparent; }
      .craft-form form .form-group .select-wrapper:after {
        position: absolute;
        top: 1px;
        right: 1px;
        bottom: 1px;
        width: 3.125rem;
        background: #FFFFFF url("/web/images/chevron-down.svg") no-repeat left center;
        background-size: 20px;
        content: ''; }
      .craft-form form .form-group .select-wrapper select.form-control {
        width: 100%;
        padding: 2.0625rem 1.875rem 1.5625rem;
        font-size: 1.25rem;
        line-height: 1.25rem;
        text-transform: capitalize;
        background: transparent; }
        @media (min-width: 992px) {
          .craft-form form .form-group .select-wrapper select.form-control {
            font-size: 1rem; } }
  .craft-form form .form-group__contactBy, .craft-form form .form-group__enquiryType {
    margin-top: 1.5625rem; }
    .craft-form form .form-group__contactBy .field-options, .craft-form form .form-group__enquiryType .field-options {
      padding-left: 1.875rem; }
    .craft-form form .form-group__contactBy .col-form-label, .craft-form form .form-group__enquiryType .col-form-label {
      position: static;
      padding: 0 !important;
      color: #F68E1F;
      font-size: 1.5rem !important;
      text-transform: none; }
    .craft-form form .form-group__contactBy .form-check, .craft-form form .form-group__enquiryType .form-check {
      display: inline-block;
      min-width: 6.25rem;
      margin: 0.3125rem 1.875rem 0 0; }
      .craft-form form .form-group__contactBy .form-check-input, .craft-form form .form-group__enquiryType .form-check-input {
        position: absolute;
        opacity: 0; }
  .craft-form form .form-group__acceptTerms {
    margin-top: 2.8125rem; }
    .craft-form form .form-group__acceptTerms .col-form-label {
      display: none; }
    .craft-form form .form-group__acceptTerms .form-check-label {
      display: block;
      margin-left: 2.0625rem; }
    .craft-form form .form-group__acceptTerms .form-error-message {
      margin-top: 0.625rem; }
  .craft-form form .form-group__recaptcha .recaptcha {
    display: flex;
    justify-content: center;
    margin-top: 1.875rem;
    transform: scale(0.87); }
    @media all and (min-width: 350px) {
      .craft-form form .form-group__recaptcha .recaptcha {
        transform: none; } }
    @media all and (min-width: 768px) {
      .craft-form form .form-group__recaptcha .recaptcha {
        display: block !important; } }
  .craft-form form .form-group__recaptcha .form-error-message {
    margin-top: 0.625rem; }

.ceo {
  padding: 3.125rem 0.75rem 4.6875rem; }
  @media (min-width: 992px) {
    .ceo {
      padding: 1.875rem 0 6.25rem; } }
  .ceo .col-title h2 {
    margin-bottom: 1.5625rem;
    color: #F68E1F; }
    @media (min-width: 992px) {
      .ceo .col-title h2 {
        margin-bottom: 0; } }
  .ceo .content {
    font-size: 1.25rem;
    line-height: 1.15; }
    @media (min-width: 992px) {
      .ceo .content {
        padding: 0 1.25rem;
        font-size: 1.1875rem;
        line-height: 1.18; } }
  .ceo .author {
    margin-top: 1.875rem; }
    @media (min-width: 992px) {
      .ceo .author {
        padding: 0 1.25rem; } }
    .ceo .author .name {
      font-family: "Coupe-Medium", Helvetica, Arial, sans-serif;
      font-size: 1.1875rem; }
    .ceo .author .designation {
      margin-top: -0.3125rem;
      color: #F68E1F;
      font-family: "Coupe-Medium", Helvetica, Arial, sans-serif;
      font-size: 1.125rem; }

.downloads-block {
  width: 100%;
  overflow: hidden; }
  .downloads-block .inner-wrapper {
    padding: 4.375rem 0.75rem 4.0625rem; }
    @media all and (min-width: 768px) {
      .downloads-block .inner-wrapper {
        padding: 5.3125rem 0; } }
    .downloads-block .inner-wrapper h2 {
      font-size: 2rem; }
      @media (min-width: 992px) {
        .downloads-block .inner-wrapper h2 {
          margin-right: -7.5rem; } }
      @media all and (min-width: 768px) {
        .downloads-block .inner-wrapper h2 {
          font-size: 2.5rem; } }
    .downloads-block .inner-wrapper .col-intro > div {
      margin-top: 1.5625rem;
      font-size: 1.25rem;
      line-height: 1.15; }
      @media all and (min-width: 768px) {
        .downloads-block .inner-wrapper .col-intro > div {
          margin-top: 0.625rem;
          font-size: 1.1875rem;
          line-height: 1.18; } }
    @media all and (min-width: 992px) {
      .downloads-block .inner-wrapper .col-links.col-lg-6 {
        text-align: right; } }
    @media all and (min-width: 992px) {
      .downloads-block .inner-wrapper .col-links.col-lg-6 a.download-link {
        margin: 2.375rem 0 0 1.875rem; } }
    .downloads-block .inner-wrapper a.download-link {
      display: inline-block;
      width: 100%;
      padding: 0.875rem 2.8125rem 0.75rem;
      margin: 2.125rem 1.875rem 0 0;
      font-family: "Coupe-Medium", Helvetica, Arial, sans-serif;
      text-align: center;
      text-decoration: none;
      border: 1px solid #000000;
      transition: all 0.2s; }
      @media all and (min-width: 576px) {
        .downloads-block .inner-wrapper a.download-link {
          width: auto; } }
      @media all and (min-width: 992px) {
        .downloads-block .inner-wrapper a.download-link {
          margin: 1.875rem 1.875rem 0 0; } }
      .downloads-block .inner-wrapper a.download-link.button {
        max-width: none;
        text-transform: none; }
      .downloads-block .inner-wrapper a.download-link span.icon-download {
        margin: 0 0.3125rem 0 -0.3125rem; }
      .downloads-block .inner-wrapper a.download-link span.icon-arrow {
        margin: 0 -0.3125rem 0 0.3125rem; }
    .downloads-block .inner-wrapper.orange {
      background: #F68E1F; }
      .downloads-block .inner-wrapper.orange a.download-link:hover {
        color: #F68E1F;
        background: #000000; }
    .downloads-block .inner-wrapper.white {
      background: #FFFFFF; }
      .downloads-block .inner-wrapper.white a.download-link:hover {
        background: #F68E1F;
        border-color: #F68E1F; }
    .downloads-block .inner-wrapper.black {
      color: #FFFFFF;
      background: #000000; }
      .downloads-block .inner-wrapper.black a.download-link {
        color: #FFFFFF;
        border-color: #FFFFFF; }
        .downloads-block .inner-wrapper.black a.download-link span {
          color: #FFFFFF; }
        .downloads-block .inner-wrapper.black a.download-link:hover {
          color: #000000;
          background: #F68E1F;
          border-color: #F68E1F; }
          .downloads-block .inner-wrapper.black a.download-link:hover span {
            color: #000000; }

.steel-overlay .wrapper {
  width: 100%;
  max-width: none;
  margin: 0 auto; }
  @media all and (min-width: 768px) {
    .steel-overlay .wrapper {
      max-width: 57.625rem;
      margin: 8.75rem auto; } }
  .steel-overlay .wrapper .container {
    max-width: none;
    padding: 0; }
    @media all and (min-width: 768px) {
      .steel-overlay .wrapper .container {
        padding: 0 0.9375rem; } }
  .steel-overlay .wrapper .inner-wrapper {
    display: flex;
    flex-flow: row wrap;
    padding: 0.125rem;
    background: #FFFFFF; }
    @media all and (min-width: 768px) {
      .steel-overlay .wrapper .inner-wrapper {
        display: block; } }
    .steel-overlay .wrapper .inner-wrapper .row-reader {
      display: none;
      flex: 1 0 100%;
      order: 2; }
      @media all and (min-width: 768px) {
        .steel-overlay .wrapper .inner-wrapper .row-reader {
          display: block; } }
      .steel-overlay .wrapper .inner-wrapper .row-reader iframe {
        width: 100%;
        height: 35.25rem; }
        @media all and (min-width: 768px) {
          .steel-overlay .wrapper .inner-wrapper .row-reader iframe {
            height: 31.25rem; } }
    .steel-overlay .wrapper .inner-wrapper .row-info {
      flex: 1 0 100%;
      order: 1;
      padding: 2.5rem 1.875rem 4.375rem; }
      .steel-overlay .wrapper .inner-wrapper .row-info .content {
        margin-top: 1.25rem;
        font-size: 1.25rem; }
        @media all and (min-width: 768px) {
          .steel-overlay .wrapper .inner-wrapper .row-info .content {
            font-size: 1.1875rem; } }
      .steel-overlay .wrapper .inner-wrapper .row-info h4 {
        margin-top: 1.25rem;
        margin-bottom: 1.25rem;
        font-family: "Coupe-Medium", Helvetica, Arial, sans-serif;
        font-size: 1.25rem; }
        @media all and (min-width: 768px) {
          .steel-overlay .wrapper .inner-wrapper .row-info h4 {
            margin-top: 0;
            color: #F68E1F;
            font-size: 1.1875rem; } }
      .steel-overlay .wrapper .inner-wrapper .row-info .col-content .content-mobile {
        display: block; }
        @media all and (min-width: 768px) {
          .steel-overlay .wrapper .inner-wrapper .row-info .col-content .content-mobile {
            display: none; } }
      .steel-overlay .wrapper .inner-wrapper .row-info .col-content .content-desktop {
        display: none; }
        @media all and (min-width: 768px) {
          .steel-overlay .wrapper .inner-wrapper .row-info .col-content .content-desktop {
            display: block; } }
      .steel-overlay .wrapper .inner-wrapper .row-info .col-content a {
        margin: 1.25rem 0; }
        @media all and (min-width: 768px) {
          .steel-overlay .wrapper .inner-wrapper .row-info .col-content a {
            display: none; } }
  .steel-overlay .wrapper h2 {
    display: flex;
    align-items: center;
    height: 5.9375rem;
    padding: 1.875rem;
    color: #F68E1F;
    font-size: 2rem; }
    @media all and (min-width: 768px) {
      .steel-overlay .wrapper h2 {
        padding: 0;
        margin-bottom: 0.625rem;
        font-size: 2.5rem; } }

#main-header {
  position: fixed;
  top: 0;
  z-index: 10;
  display: flex;
  align-items: center;
  width: 100%;
  height: 5.9375rem;
  padding: 0.9375rem 0.625rem;
  background: #FFFFFF; }
  @media all and (min-width: 1200px) {
    #main-header {
      padding: 0.9375rem; } }
  #main-header a {
    text-decoration: none; }
  #main-header .logo {
    display: flex;
    align-items: center; }
    #main-header .logo.icon-easysteel-logo {
      font-size: 2.1875rem; }
      @media all and (max-width: 450px) {
        #main-header .logo.icon-easysteel-logo {
          font-size: 1.5625rem; } }
      @media all and (min-width: 1300px) {
        #main-header .logo.icon-easysteel-logo {
          font-size: 2.5rem; } }
  #main-header .logo-etnz {
    position: absolute;
    top: 50%;
    left: 0;
    display: flex;
    align-items: flex-end;
    width: 100%;
    height: 2.5rem;
    padding: 0 8px;
    background-image: url("/images/ETNZ.svg");
    background-position: center;
    background-repeat: no-repeat;
    background-size: contain;
    transform: translateY(-50%); }
    @media all and (max-width: 450px) {
      #main-header .logo-etnz {
        left: 0.9375rem;
        height: 2.1875rem; } }
    @media all and (min-width: 768px) {
      #main-header .logo-etnz {
        width: 135%;
        height: 2.8125rem; } }
  #main-header .col-menu {
    position: fixed;
    top: 5.9375rem;
    right: 0;
    bottom: 0;
    left: 105vw;
    display: flex;
    align-items: center;
    padding-top: 1.875rem;
    padding-bottom: 1.875rem;
    background: #000000;
    opacity: 0.96;
    transition: all 0.4s linear; }
    @media all and (min-width: 1200px) {
      #main-header .col-menu {
        padding-top: 0;
        padding-bottom: 0;
        background: transparent; } }
    @media all and (min-width: 1200px) {
      #main-header .col-menu {
        position: static;
        background: none;
        opacity: 1;
        transition: none; } }
  #main-header .col-header-icons {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    text-align: right; }
    #main-header .col-header-icons a {
      position: relative;
      font-size: 0.875rem;
      line-height: 1; }
      @media all and (min-width: 1200px) {
        #main-header .col-header-icons a {
          font-size: 1.0625rem; } }
      #main-header .col-header-icons a.btn-burger-menu {
        display: inline-block;
        margin-left: 0.9375rem; }
        @media all and (min-width: 1200px) {
          #main-header .col-header-icons a.btn-burger-menu {
            display: none;
            margin: 0 0.75rem; } }
  #main-header ul.nav {
    padding: 0;
    margin: 0;
    text-align: center;
    list-style-type: none; }
    #main-header ul.nav > li {
      display: block; }
      @media all and (min-width: 1200px) {
        #main-header ul.nav > li {
          display: inline-block; } }
      #main-header ul.nav > li a {
        display: block;
        margin: 0.1875rem 0.75rem;
        color: #F68E1F;
        font-family: "Coupe-Medium", Helvetica, Arial, sans-serif;
        font-size: 1rem;
        letter-spacing: 0.5px;
        border-bottom: 1px solid transparent; }
        @media all and (min-width: 1200px) {
          #main-header ul.nav > li a {
            color: #000000; } }
        #main-header ul.nav > li a.link--1.has-sub span {
          border-bottom: 1px solid #F68E1F; }
          @media all and (min-width: 1200px) {
            #main-header ul.nav > li a.link--1.has-sub span {
              border-bottom: none; } }
        #main-header ul.nav > li a:hover {
          border-color: #000000; }
      #main-header ul.nav > li.active a {
        font-family: "Coupe-Medium", Helvetica, Arial, sans-serif;
        border-bottom: 1px solid #000000; }
      #main-header ul.nav > li.active .sub-nav a {
        border-bottom: none; }
      #main-header ul.nav > li ul.sub-nav {
        padding: 0.125rem 0;
        transition: all 0.5s 0.1s; }
        @media all and (min-width: 1200px) {
          #main-header ul.nav > li ul.sub-nav {
            position: absolute;
            z-index: 10;
            display: none;
            padding: 0.9375rem 0;
            margin: 0 0 0 -0.9375rem;
            background: #F2F2F2;
            opacity: 0.95; } }
        #main-header ul.nav > li ul.sub-nav li a {
          color: #FFFFFF;
          font-family: "Coupe-Medium", Helvetica, Arial, sans-serif;
          font-size: 1.5rem; }
          @media all and (min-width: 1200px) {
            #main-header ul.nav > li ul.sub-nav li a {
              padding: 0.125rem 0.9375rem;
              color: #000000;
              font-size: 1rem;
              text-align: left; } }
      #main-header ul.nav > li:hover ul.sub-nav {
        display: block; }
      @media all and (min-width: 1200px) {
        #main-header ul.nav > li:last-child {
          display: none; } }
  #main-header.menu-open {
    z-index: 20; }
    #main-header.menu-open .col-header-icons .btn-burger-menu .icon-burger-menu:before {
      content: "\e910"; }
    #main-header.menu-open .col-menu {
      left: 0;
      z-index: 10;
      overflow: auto; }
      #main-header.menu-open .col-menu a {
        color: #F68E1F;
        font-size: 2rem;
        text-align: left; }
        @media all and (min-width: 1200px) {
          #main-header.menu-open .col-menu a {
            color: #000000;
            font-size: 1rem; } }

body.page-cms-home #main-header {
  background: #000000; }
  body.page-cms-home #main-header ul.nav li a,
  body.page-cms-home #main-header .col-header-icons a > span {
    color: #FFFFFF; }
  body.page-cms-home #main-header ul.nav li > a:hover {
    border-bottom: 1px solid #FFFFFF; }
  body.page-cms-home #main-header.menu-open .col-menu a {
    color: #F68E1F; }
    @media all and (min-width: 1200px) {
      body.page-cms-home #main-header.menu-open .col-menu a {
        color: #FFFFFF; } }
  body.page-cms-home #main-header.menu-open .col-menu .sub-nav a {
    color: #FFFFFF; }
    @media all and (min-width: 1200px) {
      body.page-cms-home #main-header.menu-open .col-menu .sub-nav a {
        color: #000000; } }

.search-overlay {
  padding: 0 0 8.75rem; }
  @media all and (min-width: 1200px) {
    .search-overlay {
      padding: 8.75rem 0; } }
  .search-overlay a.close {
    background: transparent; }
    .search-overlay a.close .icon-close {
      color: #FFFFFF; }
  .search-overlay .wrapper {
    overflow: hidden; }
  .search-overlay .container {
    padding: 0 1.6875rem;
    color: #FFFFFF; }
    @media all and (min-width: 1200px) {
      .search-overlay .container {
        padding: 0 0.9375rem; } }
    .search-overlay .container .row-search form {
      position: relative;
      margin: 1.875rem 0 5rem; }
      @media all and (min-width: 1200px) {
        .search-overlay .container .row-search form {
          margin: 3.75rem 0; } }
      .search-overlay .container .row-search form button {
        right: 0; }
    .search-overlay .container .row-search h2 {
      margin-bottom: 3.125rem;
      color: #F68E1F;
      opacity: 0; }
      @media all and (min-width: 1200px) {
        .search-overlay .container .row-search h2 {
          display: none; } }
    .search-overlay .container .row-search input[type='text'] {
      height: auto;
      padding: 0.3125rem 2.5rem 0.3125rem 0;
      color: #FFFFFF;
      font-family: "Coupe-Medium", Helvetica, Arial, sans-serif;
      font-size: 1.5rem;
      line-height: 1;
      border-bottom: 1px solid #FFFFFF; }
      @media all and (min-width: 1200px) {
        .search-overlay .container .row-search input[type='text'] {
          padding-right: 4.375rem;
          font-size: 4.0625rem; } }
      .search-overlay .container .row-search input[type='text']::placeholder {
        /* Chrome, Firefox, Opera, Safari 10.1+ */
        color: #FFFFFF;
        opacity: 1;
        /* Firefox */ }
      .search-overlay .container .row-search input[type='text']:-ms-input-placeholder {
        /* Internet Explorer 10-11 */
        color: #FFFFFF; }
      .search-overlay .container .row-search input[type='text']::-ms-input-placeholder {
        color: #FFFFFF; }
    .search-overlay .container .row-search button {
      position: absolute;
      right: 0;
      bottom: 0.625rem;
      padding-top: 1px;
      background: none;
      border: none; }
      @media all and (min-width: 1200px) {
        .search-overlay .container .row-search button {
          bottom: 1.25rem; } }
      .search-overlay .container .row-search button .icon-search {
        color: #FFFFFF;
        font-size: 1.25rem;
        transition: all 0.5s; }
        @media all and (min-width: 1200px) {
          .search-overlay .container .row-search button .icon-search {
            font-size: 2.5rem; } }
      .search-overlay .container .row-search button:hover .icon-search {
        color: #979797; }
    .search-overlay .container .row-results h2 {
      margin-bottom: 1.875rem;
      font-size: 2rem;
      font-weight: 300; }
      @media all and (min-width: 1200px) {
        .search-overlay .container .row-results h2 {
          font-size: 2.5rem; } }
      .search-overlay .container .row-results h2 span {
        font-size: 80%; }
    .search-overlay .container .row-pagination {
      margin-top: 3.125rem; }
      .search-overlay .container .row-pagination .link-prev .icon-arrow {
        display: inline-block;
        transform: rotate(180deg) translate(0, -2px); }
      .search-overlay .container .row-pagination a {
        padding: 1rem 2.5rem;
        margin-right: 2.5rem;
        margin-bottom: 1.5625rem; }
        .search-overlay .container .row-pagination a .icon-arrow {
          margin: 0 0.3125rem; }
  .search-overlay .search-item {
    margin: 2.8125rem 0;
    transition: all 0.5s 0.2s; }
    @media all and (min-width: 1200px) {
      .search-overlay .search-item {
        margin: 2.1875rem 0; } }
    .search-overlay .search-item h3 {
      margin-bottom: 0.625rem;
      color: #F68E1F; }
      .search-overlay .search-item h3 a {
        color: #F68E1F; }
    .search-overlay .search-item > a {
      display: block;
      margin-bottom: 1.25rem;
      color: #FFFFFF;
      font-family: "Coupe-Medium", Helvetica, Arial, sans-serif;
      font-size: 1.0625rem;
      line-height: 1; }
      .search-overlay .search-item > a:hover {
        text-decoration: underline; }
    .search-overlay .search-item .excerpt {
      font-family: "Coupe-Thin", Helvetica, Arial, sans-serif;
      font-size: 1.0625rem;
      font-weight: 100;
      line-height: 1.18; }
  .search-overlay #search-keyword::-ms-clear {
    display: none; }

#main-header-holder {
  height: 5.9375rem; }

.hero {
  display: flex;
  flex-flow: row wrap;
  width: 100%;
  margin: 0 !important;
  overflow: hidden; }
  .hero__title, .hero__description {
    flex: 1 0 100%; }
    @media (min-width: 992px) {
      .hero__title, .hero__description {
        flex: 1 0 64.5%; } }
  .hero__primary, .hero__secondary {
    flex: 1 0 100%; }
    @media (min-width: 992px) {
      .hero__primary, .hero__secondary {
        flex: 1 0 35.5%; } }
  .hero .wrapper {
    display: flex;
    padding: 0 1.6875rem; }
    @media (min-width: 992px) {
      .hero .wrapper {
        flex-flow: row nowrap;
        justify-content: flex-end;
        padding: 0; } }
    .hero .wrapper .content {
      width: 100%;
      max-width: 31.875rem;
      padding: 0;
      margin: auto; }
      @media (min-width: 768px) {
        .hero .wrapper .content {
          max-width: 43.125rem; } }
      @media (min-width: 992px) {
        .hero .wrapper .content {
          max-width: calc(455px + 15vw);
          padding-right: 1.875rem;
          margin: 0; } }
      @media (min-width: 1200px) {
        .hero .wrapper .content {
          max-width: calc(545px + 15vw);
          padding-right: 3.125rem; } }
    .hero .wrapper .content__date {
      padding-bottom: 1.6875rem;
      color: #000000;
      font-family: "Coupe-Medium", Helvetica, Arial, sans-serif;
      font-size: 1.125rem; }
    .hero .wrapper .content__category {
      padding-right: 8px; }
  .hero__title .wrapper {
    color: #FFFFFF;
    background: #F68E1F; }
    @media (min-width: 992px) {
      .hero__title .wrapper {
        min-height: 21.875rem;
        margin-bottom: 4.375rem;
        font-size: 6.875rem; } }
    .hero__title .wrapper h1 {
      width: 100%;
      padding-right: 10%;
      font-size: 4.0625rem;
      line-height: 1; }
      @media (min-width: 992px) {
        .hero__title .wrapper h1 {
          font-size: 6.875rem;
          line-height: 0.96; } }
    .hero__title .wrapper .content {
      display: flex;
      align-items: flex-end;
      min-height: 18.75rem;
      padding: 3.125rem 0; }
      @media (min-width: 992px) {
        .hero__title .wrapper .content {
          min-height: 21.875rem;
          padding: 3.125rem 0;
          margin: 0; } }
  .hero__description {
    margin: 3.75rem 0;
    font-family: "Coupe-Medium", Helvetica, Arial, sans-serif;
    font-size: 2rem;
    line-height: 1.05; }
    @media (min-width: 992px) {
      .hero__description {
        padding: 0 0 5rem;
        margin: 0;
        font-size: 2.5rem; } }
  .hero__primary {
    overflow: hidden; }
    .hero__primary .content {
      width: 100%;
      height: 0;
      padding-bottom: 55%;
      background-color: #F2F2F2;
      background-position: center top;
      background-repeat: no-repeat;
      background-size: cover !important;
      transition: all 0.5s 0.1s; }
      @media (min-width: 992px) {
        .hero__primary .content {
          height: 100%;
          padding-bottom: 0; } }
      .hero__primary .content:hover {
        transform: scale(1.08); }
  .hero__secondary {
    margin-bottom: 2.8125rem; }
    @media (min-width: 992px) {
      .hero__secondary {
        margin-bottom: 0; } }
    .hero__secondary .content {
      position: relative;
      width: 100%;
      height: 0;
      padding-bottom: 64% !important;
      overflow: hidden; }
      @media (min-width: 992px) {
        .hero__secondary .content {
          top: -5vw;
          padding-bottom: 50% !important;
          margin-left: 5vw !important; } }
      .hero__secondary .content__image {
        position: absolute;
        width: 100%;
        height: 100%;
        background-size: cover !important;
        transition: all 0.5s 0.1s; }
        .hero__secondary .content__image:hover {
          transform: scale(1.08); }
  .hero.black .hero__title .wrapper {
    background: #000000; }
  .hero.black .hero__description {
    color: #F68E1F; }
  .hero.grey .hero__title .wrapper {
    background: #979797; }
  .hero.grey .hero__description {
    color: #F68E1F; }

@media (min-width: 1200px) {
  .home-hero-wrapper {
    padding-bottom: 4.375rem;
    margin-top: 18.75rem;
    overflow: hidden; } }

.home-hero {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: stretch;
  height: 29.6875rem;
  margin-bottom: 3.125rem;
  background-color: #979797;
  background-position: center center;
  background-size: cover;
  box-shadow: inset 0 0 0 1000px rgba(0, 0, 0, 0.7); }
  @media (min-width: 1200px) {
    .home-hero {
      display: block;
      height: 37.5rem; } }
  .home-hero h1 {
    padding: 0.625rem 1.6875rem;
    margin-bottom: 2.5rem;
    color: #FFFFFF;
    font-family: "Coupe-Medium", Helvetica, Arial, sans-serif;
    font-size: 4.0625rem;
    line-height: 1.05; }
    @media (min-width: 1200px) {
      .home-hero h1 {
        padding: 0;
        font-size: 6.875rem;
        line-height: 0.77; } }
  .home-hero__title {
    z-index: 1;
    flex: 1 0 100%;
    width: 100%;
    max-width: 33.75rem;
    margin: auto;
    transition: all 1.2s ease-out; }
    @media (min-width: 768px) {
      .home-hero__title {
        max-width: 43.375rem; } }
    @media (min-width: 1200px) {
      .home-hero__title {
        position: absolute;
        top: 0;
        right: 38vw;
        bottom: 0;
        display: flex;
        align-items: center;
        width: 100%;
        max-width: calc(510px + 15vw);
        padding-top: 1.875rem;
        padding-bottom: 1.875rem; } }
  .home-hero__content {
    position: absolute;
    right: 0;
    bottom: 0;
    width: 12.1875rem;
    height: 7.875rem;
    overflow: hidden;
    background: #F68E1F;
    transition: all 1.1s ease-out; }
    @media (min-width: 1200px) {
      .home-hero__content {
        display: flex;
        align-items: center;
        width: 35.5vw;
        height: 23.75rem; } }
    .home-hero__content .inner-wrapper {
      display: none; }
      @media (min-width: 1200px) {
        .home-hero__content .inner-wrapper {
          display: block;
          padding: 3.125rem 5rem;
          color: #FFFFFF;
          font-family: "Coupe-Medium", Helvetica, Arial, sans-serif;
          font-size: 1.5rem;
          line-height: 1.1; } }
      @media (min-width: 1200px) {
        .home-hero__content .inner-wrapper {
          font-size: 2rem; } }
  .home-hero__image {
    position: absolute;
    right: 1.6875rem;
    bottom: -1.875rem;
    width: 9.6875rem;
    transition: all 1.2s ease-out; }
    @media (min-width: 1200px) {
      .home-hero__image {
        right: 35.5vw;
        bottom: -3.125rem;
        width: 27vw;
        max-height: 16.875rem;
        overflow: hidden; } }
    .home-hero__image .inner-wrapper {
      height: 0;
      padding-bottom: 62%;
      background-color: #979797;
      background-size: cover; }
  @media (min-width: 1200px) {
    .home-hero.anim-frame-1 .home-hero__title {
      right: 50%;
      transform: translate(50%, 4%) scale(1.6); }
    .home-hero.anim-frame-1 .home-hero__content {
      width: 100vw;
      height: 37.5rem; }
      .home-hero.anim-frame-1 .home-hero__content .inner-wrapper {
        opacity: 0; }
    .home-hero.anim-frame-1 .home-hero__image {
      bottom: -7.5rem;
      opacity: 0; }
    .home-hero.anim-frame-2 .home-hero__title {
      right: 50%;
      transform: translate(50%, 4%) scale(1.3); }
    .home-hero.anim-frame-2 .home-hero__content {
      width: 70vw;
      height: 30rem; }
      .home-hero.anim-frame-2 .home-hero__content .inner-wrapper {
        opacity: 0; }
    .home-hero.anim-frame-2 .home-hero__image {
      bottom: -7.5rem;
      opacity: 1; }
    .home-hero.anim-frame-3 .home-hero__content .inner-wrapper {
      transition: all 1s 1s ease-out; } }
  @media all and (min-width: 1360px) {
    .home-hero.anim-frame-1 .home-hero__title {
      transform: translate(50%, 4%) scale(1.8); }
    .home-hero.anim-frame-2 .home-hero__title {
      transform: translate(50%, 0) scale(1.5); } }

@media (min-width: 1200px) {
  body.page-cms-home.fixed-hero .home-hero-wrapper {
    position: fixed;
    top: -12.8125rem;
    right: 0;
    left: 0; } }

@media (min-width: 1200px) {
  body.page-cms-home.fixed-hero .ceo {
    margin-top: 63.75rem; } }

.featured-product {
  color: #F68E1F;
  background: #F2F2F2; }
  .featured-product a {
    text-decoration: none; }
    .featured-product a:hover h4 {
      color: #FFFFFF;
      background: #000000; }
    .featured-product a:hover span {
      color: #F68E1F; }
  .featured-product h4 {
    position: relative;
    padding: 1.875rem 5.9375rem 1.625rem 1.25rem;
    color: #F68E1F;
    font-size: 1.25rem;
    transition: all 200ms; }
  .featured-product .featured-product__more-link {
    position: absolute;
    top: 50%;
    right: 20px;
    color: #000000;
    font-family: "Coupe-Medium", Helvetica, Arial, sans-serif;
    font-size: 1rem;
    text-transform: uppercase;
    transform: translateY(-50%); }
  .featured-product .featured-product__image {
    display: none;
    max-height: 15.625rem;
    overflow: hidden; }
    @media (min-width: 992px) {
      .featured-product .featured-product__image {
        display: block; } }
    .featured-product .featured-product__image img {
      display: block;
      width: 100%; }

footer {
  color: #FFFFFF;
  font-size: 1.1875rem; }
  footer a {
    color: #F68E1F;
    text-decoration: none; }
  footer b {
    font-weight: bold; }
  footer .footer__contacts {
    padding: 2.5rem 0 2.5rem;
    background: #000000; }
    @media (min-width: 992px) {
      footer .footer__contacts {
        padding: 7.5rem 0 6.25rem; } }
  footer .footer__contacts-details li {
    display: block; }
    @media (min-width: 992px) {
      footer .footer__contacts-details li {
        display: inline-block;
        padding-right: 1.5625rem; }
        footer .footer__contacts-details li:last-child {
          padding-right: 0; } }
  footer .footer__contacts-social {
    padding: 0;
    margin: 0.9375rem 1.6875rem 0.3125rem; }
    @media (min-width: 576px) {
      footer .footer__contacts-social {
        margin: 0.9375rem; } }
    @media (min-width: 992px) {
      footer .footer__contacts-social {
        position: fixed;
        top: 10.25rem;
        right: 0;
        padding: 0;
        margin: 0; } }
    footer .footer__contacts-social a {
      position: relative;
      left: 0;
      margin-right: 0.9375rem;
      transition: all 0.2s ease-in 0.1s; }
      @media (min-width: 992px) {
        footer .footer__contacts-social a {
          display: block;
          height: 2.625rem;
          padding: 0;
          margin: 0; } }
      footer .footer__contacts-social a img {
        width: 2.375rem;
        height: 2.375rem; }
        @media (min-width: 992px) {
          footer .footer__contacts-social a img {
            width: 2.5rem;
            height: 2.5rem; } }
      @media (min-width: 992px) {
        footer .footer__contacts-social a:hover {
          left: 0.3125rem; } }
  footer .footer__logo {
    padding-top: 2.1875rem;
    padding-bottom: 1.5rem;
    text-align: left; }
    @media (min-width: 992px) {
      footer .footer__logo {
        padding-top: 0;
        padding-bottom: 2.9375rem;
        text-align: right; } }
    footer .footer__logo .add-gaps {
      display: flex;
      align-items: center;
      justify-content: flex-start;
      max-width: 80%;
      margin-bottom: 0.875rem; }
      @media all and (min-width: 992px) {
        footer .footer__logo .add-gaps {
          justify-content: flex-end;
          max-width: 100%; } }
    footer .footer__logo .logo {
      height: 3.125rem;
      margin: 0 0.3125rem;
      background-position: center;
      background-repeat: no-repeat;
      background-size: contain; }
      @media all and (max-width: 768px) {
        footer .footer__logo .logo {
          flex-shrink: 1; } }
      footer .footer__logo .logo-fletcher {
        width: 15.625rem;
        margin-left: 0;
        background-image: url("/images/Fletcher_Steel_R_Tag_White.svg"); }
      footer .footer__logo .logo-bsi {
        width: 3.125rem;
        background-image: url("/images/BSI.svg"); }
      footer .footer__logo .logo-ianz {
        width: 6.25rem;
        margin-right: 0;
        background-image: url("/images/IANZ.svg"); }
  footer .footer__copyright {
    font-size: 0.875rem;
    line-height: 1.67;
    text-align: left; }
    @media (min-width: 992px) {
      footer .footer__copyright {
        text-align: right; } }
  footer .footer__menu li {
    position: relative;
    display: inline;
    padding: 0 0.5rem; }
    footer .footer__menu li:after {
      position: absolute;
      top: 1px;
      right: 0;
      bottom: 4px;
      display: block;
      border-left: 1px solid #FFFFFF;
      content: ''; }
    @media (max-width: 1199.98px) {
      footer .footer__menu li:first-child {
        padding-left: 0; } }
    footer .footer__menu li:last-child {
      padding-right: 0; }
      footer .footer__menu li:last-child:after {
        display: none; }
  footer .footer__menu a {
    color: #FFFFFF; }
  footer .footer__tabs {
    position: relative;
    padding-bottom: 4.9375rem;
    background: #000000; }
    @media (min-width: 768px) {
      footer .footer__tabs {
        padding-bottom: 4.125rem; } }
    @media (min-width: 992px) {
      footer .footer__tabs {
        padding-bottom: 3.125rem; } }
    @media (min-width: 1200px) {
      footer .footer__tabs {
        padding-bottom: 0rem; } }
    footer .footer__tabs .footer__tab {
      color: #FFFFFF;
      background: #F6A65E; }
    footer .footer__tabs .footer__tabs-content {
      padding-top: 0.6875rem;
      padding-bottom: 2.0625rem; }
      footer .footer__tabs .footer__tabs-content p {
        margin: 0.8125rem 0; }
      footer .footer__tabs .footer__tabs-content b {
        font-family: "Coupe-Medium", Helvetica, Arial, sans-serif;
        font-weight: normal; }
      footer .footer__tabs .footer__tabs-content .button {
        position: relative;
        display: inline-block;
        margin: 0.3125rem 0 0.625rem; }
        @media (min-width: 768px) {
          footer .footer__tabs .footer__tabs-content .button {
            display: none; } }
      footer .footer__tabs .footer__tabs-content .desktop-link {
        display: none;
        font-family: "Coupe-Medium", Helvetica, Arial, sans-serif; }
        @media (min-width: 768px) {
          footer .footer__tabs .footer__tabs-content .desktop-link {
            display: inline; } }
      footer .footer__tabs .footer__tabs-content .footer__tabs-content__invoice {
        margin-bottom: -0.8125rem; }
        @media (min-width: 768px) {
          footer .footer__tabs .footer__tabs-content .footer__tabs-content__invoice {
            line-height: 1.18; } }
    footer .footer__tabs a {
      color: #FFFFFF;
      text-decoration: none; }
    footer .footer__tabs button {
      margin-top: 1.25rem; }
      @media (min-width: 992px) {
        footer .footer__tabs button {
          position: absolute;
          bottom: 100%;
          margin: 0;
          border-bottom: none; }
          footer .footer__tabs button#footerCredit {
            margin-left: 14.75rem; }
          footer .footer__tabs button#footerCertificates {
            margin-left: 29.5rem; } }
    @media (max-width: 991.98px) {
      footer .footer__tabs .button {
        width: 100% !important;
        max-width: none; } }

.generic-content {
  margin-right: 12px;
  margin-bottom: 2.5rem;
  margin-left: 12px;
  font-size: 1.1875rem;
  line-height: 1.18;
  border-bottom: 2px solid #F2F2F2; }
  @media (min-width: 576px) {
    .generic-content {
      margin-right: 0;
      margin-left: 0; } }
  @media (min-width: 992px) {
    .generic-content {
      padding-right: 75px;
      margin-bottom: 0;
      border-bottom: none; } }
  .generic-content > div {
    margin: 4.0625rem 0; }
    @media (min-width: 992px) {
      .generic-content > div {
        margin: 4.6875rem 0; } }
    .generic-content > div:first-child {
      margin-top: 0; }
    @media (max-width: 1199.98px) {
      .generic-content > div:last-child {
        margin-bottom: 3.125rem; } }
    @media (min-width: 768px) {
      .generic-content > div.buttons {
        margin-top: -2.1875rem; } }
  .generic-content img {
    width: 100%; }
  .generic-content p {
    margin: 0; }
  .generic-content .rich-text.rich-text--orange {
    color: #F68E1F;
    font-family: "Coupe-Medium", Helvetica, Arial, sans-serif;
    font-size: 2rem;
    line-height: 1.05; }
  .generic-content .rich-text ul,
  .generic-content .rich-text ol {
    padding-left: 2.5rem;
    margin: 1.25rem 0; }
  .generic-content .rich-text ul {
    list-style: square; }
  .generic-content .image-text--orange,
  .generic-content .text-image--orange {
    color: #F68E1F;
    font-family: "Coupe-Medium", Helvetica, Arial, sans-serif;
    font-size: 2rem;
    line-height: 1.05; }
  .generic-content .image-text img,
  .generic-content .text-image img {
    display: block; }
  .generic-content .image-text img {
    margin-bottom: 3.75rem; }
    @media (min-width: 992px) {
      .generic-content .image-text img {
        margin: 0; } }
  .generic-content .text-image h1, .generic-content .text-image h2, .generic-content .text-image h3, .generic-content .text-image h4, .generic-content .text-image h5, .generic-content .text-image h6 {
    padding-bottom: 1.0625rem;
    margin-top: 0;
    color: #000000; }
  .generic-content .text-image img {
    margin-bottom: 3.4375rem; }
    @media (min-width: 992px) {
      .generic-content .text-image img {
        margin: 0; } }
  .generic-content .video-holder h2 {
    padding-bottom: 0.9375rem; }
  .generic-content .video-holder .video-holder__wrapper {
    position: relative;
    overflow: hidden;
    color: #FFFFFF; }
    .generic-content .video-holder .video-holder__wrapper span {
      position: absolute;
      top: 50%;
      left: 50%;
      display: block;
      width: 6.875rem;
      height: 6.875rem;
      cursor: pointer;
      background: url("/images/play-button.svg") 0 0 no-repeat;
      background-size: 6.875rem 6.875rem;
      transform: translate(-50%, -50%); }
      @media (min-width: 992px) {
        .generic-content .video-holder .video-holder__wrapper span {
          width: 9.375rem;
          height: 9.375rem;
          background-size: 9.375rem 9.375rem; } }
  .generic-content .buttons .button {
    width: 100%;
    margin: 0 0 1.25rem; }
    @media (min-width: 768px) {
      .generic-content .buttons .button {
        width: auto;
        margin: 2.1875rem 2.1875rem 0 0; }
        .generic-content .buttons .button:last-child {
          margin-right: 0; } }

.home-locations {
  padding: 2.9375rem 0.75rem 2.1875rem; }
  @media all and (min-width: 768px) {
    .home-locations {
      padding: 6.25rem 0 5.3125rem; } }
  .home-locations h2 {
    padding-right: 11%;
    margin: 0.3125rem 0 1.25rem;
    color: #F68E1F;
    line-height: 1.1; }
    @media all and (min-width: 768px) {
      .home-locations h2 {
        margin: 0.3125rem 0 0.9375rem; } }
  .home-locations a.location-link {
    display: block;
    margin: 0.9375rem 0;
    font-size: 1.5rem;
    text-decoration: none; }
    @media all and (min-width: 768px) {
      .home-locations a.location-link {
        margin: 0.9375rem 0; } }
    .home-locations a.location-link .icon-arrow {
      display: none; }
      @media all and (min-width: 768px) {
        .home-locations a.location-link .icon-arrow {
          display: inline-block; } }

.mailing__wrapper {
  position: fixed;
  right: 0;
  bottom: 0;
  z-index: 9;
  display: flex;
  flex-direction: column;
  width: 100%;
  cursor: pointer;
  background-color: #F2F2F2; }
  @media (min-width: 1200px) {
    .mailing__wrapper {
      max-width: 28.125rem;
      padding-bottom: 0; } }
  .mailing__wrapper.is-active .mailing__form {
    max-height: 500px;
    transition: max-height 1s ease-in; }
  .mailing__wrapper.is-active .mailing__button .icon-chevron-up {
    transform: rotate(180deg);
    transition: transform 0.25s ease-in; }

.mailing__button {
  display: flex;
  align-items: center;
  align-self: center;
  justify-content: center;
  width: 100%;
  height: 3.125rem;
  max-width: 21.875rem;
  font-weight: bold;
  transition: all 0.5s ease-in; }
  @media (min-width: 1200px) {
    .mailing__button {
      align-self: unset;
      padding-left: 3.75rem; } }
  .mailing__button.is-active {
    transition: all 0.5s ease-in; }
    @media (min-width: 1200px) {
      .mailing__button.is-active {
        justify-content: space-between; } }
    .mailing__button.is-active .text {
      transition: all 0.5s ease-in; }
      @media (min-width: 1200px) {
        .mailing__button.is-active .text {
          width: 100%; } }
  .mailing__button .text {
    width: auto;
    padding-right: 20px;
    transition: all 0.5s ease-in; }
  .mailing__button .icon-chevron-up {
    font-size: 0.625rem;
    transform: rotate(0deg);
    transition: transform 0.25s ease-in; }

.mailing__form {
  max-height: 0;
  padding: 0rem 3.75rem 0rem 3.75rem;
  transition: max-height 1s ease-out; }
  @media (min-width: 768px) {
    .mailing__form {
      padding: 0rem 3.75rem 0rem 3.75rem; } }
  @media (min-width: 992px) {
    .mailing__form {
      padding-bottom: 0; } }
  .mailing__form .form-group {
    position: relative;
    display: block;
    width: 100%;
    margin-bottom: 1.25rem; }
    .mailing__form .form-group .col-form-label {
      position: absolute;
      padding: 1.1875rem 1.5625rem;
      font-size: 1.25rem;
      text-transform: uppercase;
      transition: all 0.5s;
      padding: 0.9375rem;
      font-size: 1rem; }
    .mailing__form .form-group .form-control {
      min-height: 3.125rem;
      padding: 1.1875rem 0.875rem 0.9375rem;
      margin: 0;
      font-family: "Coupe-Medium", Helvetica, Arial, sans-serif;
      font-size: 1.25rem;
      font-weight: 500;
      line-height: 1.25rem;
      border: 1px solid #000000;
      border-radius: 0;
      font-size: 1rem; }
    .mailing__form .form-group .form-error-message {
      padding: 0.625rem 1.375rem;
      color: #FFFFFF;
      font-family: "Coupe-Medium", Helvetica, Arial, sans-serif;
      font-size: 1.0625rem;
      background: #F68E1F; }
    .mailing__form .form-group:last-child {
      margin-top: 2.1875rem; }
      .mailing__form .form-group:last-child .button {
        min-width: 13.125rem; }
    .mailing__form .form-group.active .col-form-label {
      padding: 0.3125rem 0.875rem;
      font-size: 0.5rem; }
  .mailing__form .form-group__recaptcha .recaptcha {
    display: flex;
    justify-content: center;
    margin-top: 1.875rem;
    transform: scale(0.87); }
    @media all and (min-width: 350px) {
      .mailing__form .form-group__recaptcha .recaptcha {
        transform: none; } }
    @media all and (min-width: 768px) {
      .mailing__form .form-group__recaptcha .recaptcha {
        display: block !important; } }
  .mailing__form .form-group__recaptcha .form-error-message {
    margin-top: 0.625rem; }

.home-news {
  padding: 1.25rem 0.75rem; }
  @media all and (min-width: 1200px) {
    .home-news {
      padding: 5.625rem 0; } }
  .home-news h2 {
    margin: 2.1875rem 0 0; }
    @media all and (min-width: 1200px) {
      .home-news h2 {
        margin: 2.1875rem 0; } }
  .home-news .col-items {
    display: flex;
    flex-flow: row wrap;
    padding: 0 1.0625rem 0 0.9375rem; }
    @media all and (min-width: 1200px) {
      .home-news .col-items {
        padding: 0; } }
  .home-news .row-more {
    margin: 0.3125rem -0.9375rem 2.8125rem; }
    @media all and (min-width: 1200px) {
      .home-news .row-more {
        margin: 2.5rem 0 1.875rem; } }
  .home-news .home-news__pagination {
    padding: 0.625rem 0 0;
    margin-bottom: 1.875rem;
    text-align: center; }
    @media (min-width: 768px) {
      .home-news .home-news__pagination {
        padding: 3.125rem 0 2.8125rem;
        background: #F68E1F; } }
    .home-news .home-news__pagination .button {
      width: 100%; }
      @media (min-width: 768px) {
        .home-news .home-news__pagination .button {
          width: 20rem; } }
      .home-news .home-news__pagination .button:last-child {
        margin-top: 1.875rem; }
        @media (min-width: 992px) {
          .home-news .home-news__pagination .button:last-child {
            margin-left: 5rem; } }
        @media (min-width: 768px) {
          .home-news .home-news__pagination .button:last-child {
            margin-top: 0; } }

.news-item {
  display: flex;
  flex: 1 0 100%;
  flex-flow: row wrap;
  margin-top: 0.9375rem;
  border: 1px solid #979797; }
  @media all and (min-width: 1200px) {
    .news-item {
      flex: 1 0 50%;
      height: 31.25rem;
      margin-top: 0;
      border-right: none;
      border-left: none; } }
  @media all and (min-width: 1800px) {
    .news-item {
      flex: 1 0 33.3333%; } }
  .news-item__image {
    position: relative;
    flex: 1 0 100%;
    width: 100%;
    height: 14.0625rem;
    background-color: #F2F2F2;
    background-size: cover !important; }
    @media all and (min-width: 768px) {
      .news-item__image {
        flex: 1 0 50%;
        order: 2;
        height: auto; } }
    .news-item__image:before {
      position: absolute;
      display: none;
      width: 100%;
      height: 100%;
      background: rgba(0, 0, 0, 0.5);
      content: ''; }
  .news-item__description {
    flex: 1 0 100%;
    flex-flow: row wrap; }
    @media all and (min-width: 768px) {
      .news-item__description {
        flex: 1 0 50%;
        padding: 0; } }
    .news-item__description--header {
      padding: 1.375rem 1.5625rem 0; }
      @media all and (min-width: 768px) {
        .news-item__description--header {
          padding: 3.875rem 3.4375rem 0; } }
      .news-item__description--header a {
        margin-right: 0.625rem;
        text-decoration: none;
        text-transform: uppercase; }
    .news-item__description--content {
      align-items: flex-start;
      padding: 0 1.5625rem;
      margin: 1.5625rem 0 1.875rem; }
      @media all and (min-width: 1200px) {
        .news-item__description--content {
          height: 11.25rem;
          padding: 0 3.4375rem;
          margin: 3.125rem 0 2.5rem;
          overflow: hidden; } }
      .news-item__description--content h3 {
        line-height: 1; }
        @media all and (min-width: 1200px) {
          .news-item__description--content h3 {
            height: 6.25rem; } }
      .news-item__description--content .intro {
        margin-top: 0.9375rem;
        font-size: 1.25rem;
        line-height: 1.15; }
        @media all and (min-width: 1200px) {
          .news-item__description--content .intro {
            height: 4.375rem;
            margin-top: 0;
            overflow: hidden; } }
    .news-item__description--footer {
      padding: 0 1.5625rem 1.375rem; }
      @media all and (min-width: 768px) {
        .news-item__description--footer {
          padding: 0 3.4375rem 3.875rem; } }
    .news-item__description .date {
      font-family: "Coupe-Medium", Helvetica, Arial, sans-serif;
      font-size: 1.0625rem;
      font-weight: 500; }
    .news-item__description .category {
      height: 1.375rem;
      margin: 0;
      font-size: 1rem;
      font-weight: 700;
      letter-spacing: 0.5; }
      @media all and (min-width: 1200px) {
        .news-item__description .category {
          margin: 0.1875rem 0; } }
  .news-item:hover {
    background: #F68E1F; }
    .news-item:hover .news-item__image:before {
      display: block; }
    .news-item:hover .button.orange {
      color: #F68E1F;
      background: #000000;
      border-color: #000000; }
  .news-item.item-placeholder {
    height: 0.0625rem;
    opacity: 0; }

body.page-cms-home .col-items .news-item:nth-child(2) {
  display: none; }
  @media all and (min-width: 1200px) {
    body.page-cms-home .col-items .news-item:nth-child(2) {
      display: flex; } }

body.page-cms-home .col-items .news-item:nth-child(3) {
  display: none; }
  @media all and (min-width: 1800px) {
    body.page-cms-home .col-items .news-item:nth-child(3) {
      display: flex; } }

.home-products-and-services {
  width: 100%;
  padding: 3.75rem 0.75rem 4.375rem;
  overflow: hidden; }
  @media all and (min-width: 768px) {
    .home-products-and-services {
      padding: 6.875rem 0 4.375rem; } }
  .home-products-and-services .row-intro {
    margin-bottom: 1.75rem; }
    @media all and (min-width: 768px) {
      .home-products-and-services .row-intro {
        margin-bottom: 4.375rem; } }
    .home-products-and-services .row-intro .col-intro {
      color: #F68E1F;
      font-size: 1.25rem;
      line-height: 1.15; }
      @media all and (min-width: 768px) {
        .home-products-and-services .row-intro .col-intro {
          font-size: 1.1875rem;
          line-height: 1.18; } }
  .home-products-and-services .row-items {
    margin-bottom: 3.125rem; }
    @media all and (min-width: 768px) {
      .home-products-and-services .row-items {
        margin-bottom: 4.375rem; } }
    .home-products-and-services .row-items .col {
      max-width: calc(100% + 24px); }
  .home-products-and-services .row-more .col {
    text-align: center; }
    .home-products-and-services .row-more .col a {
      display: inline-block;
      transition: all 0.2s ease-out 0.1s; }
  .home-products-and-services a {
    display: block;
    margin: auto;
    text-align: center;
    text-decoration: none; }
  .home-products-and-services h2 {
    padding-right: 20%; }
  .home-products-and-services .swiper-container {
    overflow: visible; }
  .home-products-and-services .swiper-wrapper .swiper-slide .product-card__mini {
    display: none; }
  .home-products-and-services .swiper-wrapper .swiper-slide .product-card__description {
    border-left: 1px solid #979797; }
  .home-products-and-services .swiper-wrapper .swiper-slide:first-child .product-card__description {
    border-color: transparent; }

.product-card {
  background: #F2F2F2;
  transition: all 0.2s; }
  .product-card__image {
    position: relative;
    height: 13.125rem;
    background-size: cover !important; }
    @media all and (min-width: 768px) {
      .product-card__image {
        height: 15.625rem; } }
    .product-card__image:before {
      position: absolute;
      top: 0;
      right: 0;
      bottom: 0;
      left: 0;
      display: block;
      background: #000000;
      content: '';
      opacity: 0;
      transition: all 0.2s; }
  .product-card__description {
    height: 13.125rem;
    padding: 1.875rem 0.625rem;
    border-left: 1px solid #979797; }
    @media all and (min-width: 768px) {
      .product-card__description {
        height: 15.625rem;
        padding: 2.5rem 1.25rem; } }
    .product-card__description h3 {
      color: #F68E1F;
      text-align: center; }
    .product-card__description .title {
      height: 4.375rem;
      overflow: hidden; }
      @media all and (min-width: 768px) {
        .product-card__description .title {
          height: 5.9375rem; } }
    .product-card__description .links {
      text-align: center; }
      .product-card__description .links > span {
        text-align: center; }
      .product-card__description .links a {
        display: block;
        margin: 1.25rem 0;
        text-align: center;
        text-decoration: none; }
        @media all and (min-width: 768px) {
          .product-card__description .links a {
            margin: 1.75rem 0; } }
        .product-card__description .links a:first-child {
          font-family: "Coupe-Medium", Helvetica, Arial, sans-serif; }
        .product-card__description .links a:nth-child(2) {
          padding-bottom: 0.25rem;
          margin: 0.25rem 0;
          font-size: 1.1875rem; }
          @media all and (min-width: 768px) {
            .product-card__description .links a:nth-child(2) {
              font-size: 0.75rem; } }
          .product-card__description .links a:nth-child(2) span {
            margin-bottom: 0.25rem;
            border-bottom: 1px solid #979797; }
  .product-card__spec {
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
    padding: 1rem 0;
    font-size: 0.875rem;
    text-align: center; }
    .product-card__spec a {
      display: inline-block;
      text-decoration: none;
      border-bottom: 1px solid #000000; }
  .product-card:hover {
    color: #FFFFFF;
    background: #000000; }
    .product-card:hover a {
      color: #FFFFFF; }
    .product-card:hover .product-card__image:before {
      opacity: 0.5; }
    .product-card:hover .product-card__spec a {
      border-color: #FFFFFF; }

.ais-index {
  position: relative;
  margin-top: 6.25rem; }
  @media all and (min-width: 1200px) {
    .ais-index {
      margin-top: 0; } }
  .ais-index input[type='search'] {
    display: block;
    width: 100%;
    height: auto;
    padding: 0.3125rem 2.5rem 0.3125rem 0;
    color: #FFFFFF;
    font-family: "Coupe-Normal", Helvetica, Arial, sans-serif;
    font-size: 1.5rem;
    line-height: 1;
    background: none;
    border-top: none;
    border-right: none;
    border-bottom: 1px solid #FFFFFF;
    border-left: none;
    border-radius: 0 !important;
    /* stylelint-disable */
    -webkit-border-radius: 0;
    -webkit-appearance: none;
    /* stylelint-enable */ }
    @media all and (min-width: 1200px) {
      .ais-index input[type='search'] {
        padding-right: 4.375rem;
        font-size: 4.0625rem; } }
    .ais-index input[type='search']::placeholder {
      /* Chrome, Firefox, Opera, Safari 10.1+  */
      color: #FFFFFF;
      opacity: 1;
      /* Firefox */ }
    .ais-index input[type='search']:-ms-input-placeholder {
      /* Internet Explorer 10-11 */
      color: #FFFFFF; }
    .ais-index input[type='search']::-ms-input-placeholder {
      color: #FFFFFF; }
  .ais-index .ais-search-icon {
    position: absolute;
    top: 0.3125rem;
    right: 0;
    padding: 0 0.0625rem;
    font-size: 1.25rem; }
    @media all and (min-width: 1200px) {
      .ais-index .ais-search-icon {
        top: 1rem;
        font-size: 2.1875rem; } }
  .ais-index button[type='reset'],
  .ais-index button[type='submit'] {
    opacity: 0; }
  .ais-index .ais-stats,
  .ais-index .ais-no-results {
    margin-bottom: 1.875rem;
    font-size: 2rem;
    font-weight: 300; }
    @media all and (min-width: 1200px) {
      .ais-index .ais-stats,
      .ais-index .ais-no-results {
        font-size: 2.5rem; } }
  .ais-index .ais-pagination {
    margin-top: 5rem; }
    .ais-index .ais-pagination .ais-pagination__item {
      display: none; }
      .ais-index .ais-pagination .ais-pagination__item.ais-pagination__item--previous, .ais-index .ais-pagination .ais-pagination__item.ais-pagination__item--next {
        display: inline-block;
        width: 100%;
        margin-top: 1.25rem;
        margin-right: 1.25rem;
        border: 1px solid #FFFFFF; }
        @media all and (min-width: 576px) {
          .ais-index .ais-pagination .ais-pagination__item.ais-pagination__item--previous, .ais-index .ais-pagination .ais-pagination__item.ais-pagination__item--next {
            max-width: 15rem; } }
        @media all and (min-width: 1200px) {
          .ais-index .ais-pagination .ais-pagination__item.ais-pagination__item--previous, .ais-index .ais-pagination .ais-pagination__item.ais-pagination__item--next {
            width: 100%;
            margin-right: 2.5rem; } }
        .ais-index .ais-pagination .ais-pagination__item.ais-pagination__item--previous a, .ais-index .ais-pagination .ais-pagination__item.ais-pagination__item--next a {
          position: relative;
          display: block;
          padding: 0.625rem 1.25rem;
          text-align: center; }
          .ais-index .ais-pagination .ais-pagination__item.ais-pagination__item--previous a:before, .ais-index .ais-pagination .ais-pagination__item.ais-pagination__item--next a:before {
            position: absolute;
            top: 0;
            left: 0;
            display: flex;
            align-items: center;
            justify-content: center;
            width: 100%;
            height: 100%;
            padding-left: 1.875rem;
            color: #FFFFFF;
            content: 'Previous results';
            transition: all 0.5s; }
          .ais-index .ais-pagination .ais-pagination__item.ais-pagination__item--previous a:after, .ais-index .ais-pagination .ais-pagination__item.ais-pagination__item--next a:after {
            position: absolute;
            top: 0;
            left: 50%;
            display: flex;
            align-items: center;
            justify-content: center;
            height: 100%;
            color: #FFFFFF;
            font-family: icomoon;
            font-size: 0.625rem;
            content: '\e909';
            transform: rotate(180deg) translateX(75px); }
          .ais-index .ais-pagination .ais-pagination__item.ais-pagination__item--previous a:hover, .ais-index .ais-pagination .ais-pagination__item.ais-pagination__item--next a:hover {
            color: #FFFFFF;
            background-color: #FFFFFF; }
            .ais-index .ais-pagination .ais-pagination__item.ais-pagination__item--previous a:hover:before, .ais-index .ais-pagination .ais-pagination__item.ais-pagination__item--previous a:hover:after, .ais-index .ais-pagination .ais-pagination__item.ais-pagination__item--next a:hover:before, .ais-index .ais-pagination .ais-pagination__item.ais-pagination__item--next a:hover:after {
              color: #000000; }
        .ais-index .ais-pagination .ais-pagination__item.ais-pagination__item--previous.ais-pagination__item--disabled a, .ais-index .ais-pagination .ais-pagination__item.ais-pagination__item--next.ais-pagination__item--disabled a {
          opacity: 0.3; }
          .ais-index .ais-pagination .ais-pagination__item.ais-pagination__item--previous.ais-pagination__item--disabled a:hover:before, .ais-index .ais-pagination .ais-pagination__item.ais-pagination__item--previous.ais-pagination__item--disabled a:hover:after, .ais-index .ais-pagination .ais-pagination__item.ais-pagination__item--next.ais-pagination__item--disabled a:hover:before, .ais-index .ais-pagination .ais-pagination__item.ais-pagination__item--next.ais-pagination__item--disabled a:hover:after {
            color: #FFFFFF;
            background-color: #000000;
            transition: none; }
      .ais-index .ais-pagination .ais-pagination__item.ais-pagination__item--next a:before {
        padding: 0 1.875rem 0 0;
        content: 'More results'; }
      .ais-index .ais-pagination .ais-pagination__item.ais-pagination__item--next a:after {
        left: 50%;
        transform: translateX(40px); }
  .ais-index .search-item {
    display: block;
    padding-bottom: 0.9375rem;
    margin: 3.4375rem 0 0; }

.container__select-category {
  padding-top: 3.125rem;
  margin-bottom: 1.375rem;
  background: #F68E1F; }
  @media (min-width: 992px) {
    .container__select-category {
      padding-top: 0;
      margin-bottom: 3.75rem;
      background: transparent; } }

.select-category.select-category--mobile {
  display: block;
  margin-bottom: 3.75rem; }
  @media (min-width: 992px) {
    .select-category.select-category--mobile {
      display: none; } }
  .select-category.select-category--mobile h3 {
    font-size: 1.0625rem; }

.select-category.select-category--desktop {
  display: none; }
  @media (min-width: 992px) {
    .select-category.select-category--desktop {
      display: block; } }

.select-category.select-category--both h3 {
  font-family: "Coupe-Medium", Helvetica, Arial, sans-serif;
  font-size: 1.5rem; }
  @media (min-width: 992px) {
    .select-category.select-category--both h3 {
      color: #F68E1F; } }

.select-category.select-category--both .select-category__form {
  padding: 0.9375rem 0 2.6875rem; }
  @media (min-width: 992px) {
    .select-category.select-category--both .select-category__form {
      display: none; } }

.select-category.select-category--both .select-category__links {
  display: none;
  padding: 0.875rem 0 1.875rem; }
  @media (min-width: 992px) {
    .select-category.select-category--both .select-category__links {
      display: block; } }

.select-category h3 {
  padding-bottom: 0.3125rem; }

.select-category select {
  /* stylelint-disable */
  -webkit-border-radius: 0;
  -webkit-appearance: none;
  /* stylelint-enable */ }

.select-category .select-category__form select {
  position: relative;
  width: 100%;
  padding: 1.0625rem 1.25rem 0.75rem;
  margin: 0;
  font-family: "Coupe-Medium", Helvetica, Arial, sans-serif;
  text-align: center;
  background: url("/images/chevron-down.svg") no-repeat calc(100% - 22px) center;
  background-size: 19.5px 10px;
  border: 1px solid #000000; }

.select-category .select-category__links {
  margin-right: -0.9375rem; }
  .select-category .select-category__links a {
    display: inline-block;
    min-width: 11.25rem;
    padding: 0.3125rem 0.9375rem;
    margin: 0.625rem 0.9375rem 0 0;
    font-family: "Coupe-Medium", Helvetica, Arial, sans-serif;
    text-align: center;
    text-decoration: none;
    background: #F2F2F2; }
    .select-category .select-category__links a:hover, .select-category .select-category__links a.select-category__links--active {
      background: #F68E1F; }

.downloads-steel-book {
  background: #F2F2F2; }
  .downloads-steel-book .row-intro {
    padding: 3.75rem 0.75rem 1.5625rem; }
    @media all and (min-width: 768px) {
      .downloads-steel-book .row-intro {
        padding: 5.9375rem 0 5rem; } }
    .downloads-steel-book .row-intro .col-intro {
      margin: 1.25rem 0;
      font-size: 1.25rem;
      line-height: 1.15; }
      @media all and (min-width: 992px) {
        .downloads-steel-book .row-intro .col-intro {
          margin: 0; } }
    .downloads-steel-book .row-intro .col-links {
      margin: 1.75rem 0;
      overflow: hidden; }
      @media all and (min-width: 992px) {
        .downloads-steel-book .row-intro .col-links {
          margin: 0;
          text-align: right; } }
      .downloads-steel-book .row-intro .col-links a:first-child {
        margin-right: 1.875rem;
        margin-bottom: 1.25rem; }
        @media all and (min-width: 992px) {
          .downloads-steel-book .row-intro .col-links a:first-child {
            margin-right: 0; } }
      .downloads-steel-book .row-intro .col-links .separator {
        margin-top: 1.25rem; }
      .downloads-steel-book .row-intro .col-links .icon-download {
        margin: 0 0.3125rem 0 -0.3125rem; }
  .downloads-steel-book .row-content {
    padding: 0 0.75rem 4.6875rem; }
    @media all and (min-width: 768px) {
      .downloads-steel-book .row-content {
        padding: 0 0 6.25rem; } }
    .downloads-steel-book .row-content h3 {
      font-family: "Coupe-Medium", Helvetica, Arial, sans-serif;
      font-size: 1.5rem; }
      @media all and (min-width: 768px) {
        .downloads-steel-book .row-content h3 {
          font-family: "Coupe-Medium", Helvetica, Arial, sans-serif;
          font-size: 2rem; } }
  .downloads-steel-book .outer-wrapper {
    display: flex;
    flex-flow: row wrap; }

.sbi {
  flex: 1 0 100%; }
  @media all and (min-width: 768px) {
    .sbi {
      flex: 1 0 50%;
      max-width: 50%; } }
  @media all and (min-width: 992px) {
    .sbi {
      flex: 1 0 33.33%;
      max-width: 33.33%; } }
  .sbi .inner-wrapper {
    margin: 1.0625rem 0 0;
    overflow: hidden;
    background: none; }
    @media all and (min-width: 768px) {
      .sbi .inner-wrapper {
        height: 21.875rem;
        margin: 1.25rem 0.625rem 0;
        background: #979797;
        background-size: cover !important; } }
  .sbi__intro {
    display: flex;
    align-items: center;
    flex-flow: row nowrap;
    padding: 1.8125rem 1.375rem 1.75rem;
    background: #000000;
    transition: all 0.5s; }
    @media all and (min-width: 768px) {
      .sbi__intro {
        flex-flow: row wrap;
        height: 9.375rem;
        padding: 0.625rem;
        margin: 6.25rem 1.25rem 1.25rem;
        background: #FFFFFF; } }
    @media all and (min-width: 1200px) {
      .sbi__intro {
        margin: 6.25rem 3.75rem 1.25rem; } }
    .sbi__intro h3 {
      flex: 3;
      max-height: 5.625rem;
      color: #FFFFFF;
      font-family: "Coupe-Medium", Helvetica, Arial, sans-serif !important;
      font-size: 1.25rem !important;
      line-height: 1.15; }
      @media all and (min-width: 768px) {
        .sbi__intro h3 {
          padding: 0.3125rem 0.625rem;
          margin: 0;
          color: #F68E1F;
          font-family: "Coupe-Medium", Helvetica, Arial, sans-serif !important;
          font-size: 1.5rem !important;
          text-align: center; } }
      @media all and (min-width: 1200px) {
        .sbi__intro h3 {
          max-height: 7.125rem;
          font-size: 2rem !important; } }
    .sbi__intro a {
      display: block;
      flex: 1;
      width: 100%;
      font-family: "Coupe-Medium", Helvetica, Arial, sans-serif;
      font-size: 1.0625rem;
      text-align: center;
      text-decoration: none; }
      @media all and (min-width: 768px) {
        .sbi__intro a {
          flex: 1 0 100%; } }
      .sbi__intro a .full-text {
        display: none; }
        @media all and (min-width: 768px) {
          .sbi__intro a .full-text {
            display: block; } }
      .sbi__intro a .small-text {
        display: block;
        color: #F68E1F;
        font-family: "Coupe-Medium", Helvetica, Arial, sans-serif;
        font-size: 1rem; }
        @media all and (min-width: 768px) {
          .sbi__intro a .small-text {
            display: none; } }
      .sbi__intro a span {
        margin-right: 0.3125rem; }
  .sbi__link {
    display: none; }
    @media all and (min-width: 768px) {
      .sbi__link {
        display: block;
        margin-top: 4.0625rem; } }
    .sbi__link a {
      display: block;
      color: #FFFFFF;
      text-align: center; }
  @media all and (min-width: 768px) {
    .sbi:nth-child(2n+1) .inner-wrapper {
      margin-right: 0.625rem;
      margin-left: 0; }
    .sbi:nth-child(2n+2) .inner-wrapper {
      margin-right: 0;
      margin-left: 0.625rem; } }
  @media all and (min-width: 992px) {
    .sbi:nth-child(2n+1) .inner-wrapper {
      margin: 1.25rem 0.625rem 0; }
    .sbi:nth-child(2n+2) .inner-wrapper {
      margin: 1.25rem 0.625rem 0; }
    .sbi:nth-child(3n+1) .inner-wrapper {
      margin-right: 0.625rem;
      margin-left: 0; }
    .sbi:nth-child(3n+3) .inner-wrapper {
      margin-right: 0;
      margin-left: 0.625rem; } }
  .sbi:hover .inner-wrapper {
    box-shadow: inset 0 0 0 1000px rgba(0, 0, 0, 0.5); }
  .sbi:hover .sbi__intro {
    color: #F68E1F;
    background: #000000; }
    .sbi:hover .sbi__intro a {
      color: #FFFFFF; }
  .sbi.placeholder {
    height: 1px;
    overflow: hidden;
    opacity: 0; }

.downloads-weldwell {
  width: 100%;
  padding: 3.125rem 0.75rem 5.25rem;
  overflow: hidden;
  background: #F2F2F2; }
  @media (min-width: 768px) {
    .downloads-weldwell {
      padding: 4.1875rem 0 5.25rem; } }
  .downloads-weldwell .row-intro h2 {
    margin: 1.1875rem 0;
    font-size: 2rem; }
    @media (min-width: 768px) {
      .downloads-weldwell .row-intro h2 {
        font-size: 2.5rem; } }
  .downloads-weldwell .row-intro > div {
    margin-bottom: 0.625rem;
    font-size: 1.25rem;
    line-height: 1.15; }
    @media (min-width: 768px) {
      .downloads-weldwell .row-intro > div {
        font-size: 1.1875rem;
        line-height: 1.18; } }
  @media (min-width: 992px) {
    .downloads-weldwell .row-intro .col-links {
      padding-top: 3.75rem;
      text-align: right; } }
  .downloads-weldwell .row-intro .col-links a.button {
    margin: 0.75rem 1.875rem 0.75rem 0; }
    @media (min-width: 992px) {
      .downloads-weldwell .row-intro .col-links a.button {
        margin: 0 0 1.5rem 1.875rem; } }
  .downloads-weldwell .row-content {
    margin-top: 2.1875rem;
    margin-bottom: 0; }
    @media (min-width: 768px) {
      .downloads-weldwell .row-content {
        margin-top: 2.8125rem;
        margin-bottom: 2.1875rem; } }
    .downloads-weldwell .row-content h3 {
      padding-right: 15%;
      color: #F68E1F;
      font-family: "Coupe-Medium", Helvetica, Arial, sans-serif;
      font-size: 1.5rem; }
      @media (min-width: 768px) {
        .downloads-weldwell .row-content h3 {
          font-family: "Coupe-Medium", Helvetica, Arial, sans-serif;
          font-size: 2rem; } }

.download-parts {
  margin: 0 0.9375rem; }
  @media (min-width: 768px) {
    .download-parts {
      margin: 0; } }
  .download-parts > .container-fluid, .download-parts > .container-sm, .download-parts > .container-md, .download-parts > .container-lg, .download-parts > .container-xl {
    padding: 0; }
  .download-parts .download-wrapper {
    display: flex; }
  .download-parts__list {
    flex: 1 0 100%; }
    @media (min-width: 992px) {
      .download-parts__list {
        flex: 65; } }
    @media (min-width: 1200px) {
      .download-parts__list {
        flex: 72; } }
    .download-parts__list .download-part {
      display: flex;
      flex: 1 0 100%;
      justify-content: center; }
      @media (min-width: 992px) {
        .download-parts__list .download-part {
          justify-content: flex-end; } }
      .download-parts__list .download-part .inner-wrapper {
        display: flex;
        align-items: center;
        flex-flow: row wrap;
        justify-content: flex-end;
        width: 100%;
        max-width: 31.875rem;
        padding: 1.75rem 1.375rem;
        margin-top: 1rem;
        color: #FFFFFF;
        background: #000000;
        transition: all 0.5s; }
        @media (min-width: 768px) {
          .download-parts__list .download-part .inner-wrapper {
            max-width: 42.5rem;
            min-height: 6.25rem;
            padding: 2rem 0 1.875rem;
            margin-top: 0;
            color: #000000;
            background: transparent;
            border-bottom: 1px solid #F68E1F; } }
        @media (min-width: 992px) {
          .download-parts__list .download-part .inner-wrapper {
            max-width: calc(450px + 15vw); } }
        @media (min-width: 1200px) {
          .download-parts__list .download-part .inner-wrapper {
            max-width: calc(540px + 22vw); } }
        .download-parts__list .download-part .inner-wrapper .title {
          flex: 3; }
          @media (min-width: 768px) {
            .download-parts__list .download-part .inner-wrapper .title {
              font-size: 1.5rem; } }
          .download-parts__list .download-part .inner-wrapper .title .counter {
            display: none; }
            @media (min-width: 768px) {
              .download-parts__list .download-part .inner-wrapper .title .counter {
                display: inline; } }
          .download-parts__list .download-part .inner-wrapper .title .link {
            display: none;
            margin: 0 1.875rem;
            color: #F68E1F;
            font-family: "Coupe-Medium", Helvetica, Arial, sans-serif;
            font-size: 1rem; }
            @media (min-width: 768px) {
              .download-parts__list .download-part .inner-wrapper .title .link {
                display: inline-block; } }
        .download-parts__list .download-part .inner-wrapper .linkPDF {
          display: block;
          flex: 1;
          text-align: right;
          text-decoration: none; }
          @media (min-width: 768px) {
            .download-parts__list .download-part .inner-wrapper .linkPDF {
              padding-right: 1.25rem; } }
          .download-parts__list .download-part .inner-wrapper .linkPDF span {
            margin-right: 0.3125rem;
            font-size: 1.1875rem; }
          .download-parts__list .download-part .inner-wrapper .linkPDF .full-text {
            display: none; }
            @media (min-width: 768px) {
              .download-parts__list .download-part .inner-wrapper .linkPDF .full-text {
                display: block;
                color: #000000;
                font-family: "Coupe-Medium", Helvetica, Arial, sans-serif;
                font-size: 1.1875rem;
                text-align: right; } }
          .download-parts__list .download-part .inner-wrapper .linkPDF .small-text {
            display: block;
            color: #F68E1F;
            font-family: "Coupe-Medium", Helvetica, Arial, sans-serif;
            font-size: 1rem;
            text-align: right; }
            @media (min-width: 768px) {
              .download-parts__list .download-part .inner-wrapper .linkPDF .small-text {
                display: none; } }
      @media (min-width: 768px) {
        .download-parts__list .download-part.active {
          position: relative;
          top: -1px;
          color: #FFFFFF;
          background: #F68E1F;
          border-top: 1px solid #F68E1F; }
          .download-parts__list .download-part.active .title {
            color: #FFFFFF; }
            .download-parts__list .download-part.active .title .link {
              color: #000000; }
          .download-parts__list .download-part.active .linkPDF {
            color: #FFFFFF; }
            .download-parts__list .download-part.active .linkPDF .full-text {
              color: #FFFFFF !important; } }
  .download-parts__preview {
    display: none;
    height: 24.375rem;
    margin-left: 1.25rem;
    background-color: #979797;
    background-repeat: no-repeat;
    background-size: cover; }
    @media (min-width: 992px) {
      .download-parts__preview {
        display: block;
        flex: 35; } }
    @media (min-width: 1200px) {
      .download-parts__preview {
        flex: 28; } }

.promises-page {
  margin-bottom: 2.5rem;
  overflow: hidden;
  color: #FFFFFF;
  background: #000000; }
  .promises-page p {
    margin: 0; }
  .promises-page .promises-page__promise {
    position: relative;
    padding-top: 3.125rem;
    padding-bottom: 3.75rem; }
    .promises-page .promises-page__promise:after {
      position: absolute;
      bottom: 0;
      left: -250%;
      display: block;
      width: 500%;
      height: 1px;
      background: #F68E1F;
      content: ''; }
    @media (min-width: 768px) {
      .promises-page .promises-page__promise:nth-child(2n + 1) {
        border-right: 1px solid #F68E1F; }
        .promises-page .promises-page__promise:nth-child(2n + 1):after {
          height: 0; }
      .promises-page .promises-page__promise:last-child:after {
        height: 0; } }
  .promises-page .promises-page__icon img {
    width: 100%; }
  .promises-page .promises-page__text {
    padding-top: 0.625rem; }

.page-cms- .plain-text {
  padding: 0 0.75rem 2.1875rem;
  margin-top: -4.6875rem;
  font-size: 1.25rem;
  line-height: 1.15; }
  @media all and (min-width: 768px) {
    .page-cms- .plain-text {
      position: relative;
      top: -1.875rem;
      padding: 0;
      margin-top: -2.8125rem; } }
  @media all and (min-width: 992px) {
    .page-cms- .plain-text {
      top: 0;
      padding: 0 0 3.4375rem;
      margin-top: -3.125rem;
      font-size: 1.5rem; } }

.page-cms-casestudy .images-block {
  margin: 1.875rem 0 3.4375rem; }
  @media (min-width: 768px) {
    .page-cms-casestudy .images-block {
      margin: 3.125rem 0 5.3125rem; } }

.page-cms-contactusthankyoupage #content {
  padding-bottom: 3.75rem; }
  @media (min-width: 768px) {
    .page-cms-contactusthankyoupage #content {
      padding-bottom: 9.375rem; } }

.page-cms-downloads #content {
  margin-bottom: 4.625rem; }
  @media all and (min-width: md) {
    .page-cms-downloads #content {
      margin-bottom: 8.75rem; } }

.fab {
  padding: 5.3125rem 0 4.6875rem; }
  .fab > .inner-wrapper .fab__locations {
    display: none;
    transition: all 0.4s; }
  .fab > .inner-wrapper.active .fab__locations {
    display: block; }
  .fab > .inner-wrapper.active .fab__title {
    color: #F68E1F;
    background: #000000; }
  .fab > .inner-wrapper.active:first-child {
    border-bottom: none; }
  .fab__title {
    display: block;
    padding: 2rem 0;
    text-decoration: none;
    background: #F2F2F2; }
    .fab__title .row {
      padding: 0 0.75rem; }
      @media all and (min-width: 768px) {
        .fab__title .row {
          padding: 0; } }
    .fab__title .d-flex {
      justify-content: flex-end; }
    .fab__title span {
      font-size: 1.1875rem;
      transition: all 0.4s; }
    .fab__title:hover {
      background: #979797; }
  .fab .quote-form {
    position: fixed;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    z-index: 99;
    background: #000000;
    opacity: 0.7; }

.location-item {
  display: flex;
  flex-flow: row nowrap;
  overflow: hidden;
  border-bottom: 2px solid #F68E1F; }
  @media all and (min-width: 768px) {
    .location-item {
      height: 27.5rem; } }
  .location-item__content {
    display: flex;
    align-items: center;
    flex: 1;
    justify-content: flex-end; }
    @media all and (min-width: 768px) {
      .location-item__content {
        flex: 1 0 50%; } }
    .location-item__content .inner-wrapper {
      width: 100%;
      max-width: 33.75rem;
      padding: 3.125rem 1.6875rem;
      margin: auto; }
      @media all and (min-width: 768px) {
        .location-item__content .inner-wrapper {
          max-width: 25rem;
          padding: 3.125rem;
          margin: 0; } }
      @media all and (min-width: 992px) {
        .location-item__content .inner-wrapper {
          max-width: 32.5rem; } }
      @media all and (min-width: 1200px) {
        .location-item__content .inner-wrapper {
          width: 37.5rem;
          max-width: none; } }
    .location-item__content h2 {
      margin-bottom: 0.3125rem;
      color: #F68E1F; }
    .location-item__content h4 {
      margin-bottom: 0.9375rem;
      font-size: 1.5rem; }
    .location-item__content .phone, .location-item__content .fax, .location-item__content .email {
      margin: 0.8125rem 0;
      font-size: 1.25rem;
      line-height: 1.15; }
      @media all and (min-width: 768px) {
        .location-item__content .phone, .location-item__content .fax, .location-item__content .email {
          margin: 0;
          font-size: 1.5rem; } }
      .location-item__content .phone a, .location-item__content .fax a, .location-item__content .email a {
        text-decoration: none; }
      .location-item__content .phone span, .location-item__content .fax span, .location-item__content .email span {
        color: #F68E1F; }
    .location-item__content .link {
      margin: 1.6875rem 0 0.5rem; }
      @media all and (min-width: 768px) {
        .location-item__content .link {
          margin: 1.5625rem 0 0.625rem; } }
      .location-item__content .link a:first-child {
        margin-bottom: 1.25rem; }
        @media all and (min-width: 768px) {
          .location-item__content .link a:first-child {
            margin-right: 1.25rem; } }
  .location-item__map {
    display: none;
    flex: 1 0 50%; }
    @media all and (min-width: 768px) {
      .location-item__map {
        display: block; } }
    .location-item__map .close-overlay {
      position: fixed;
      z-index: 99999;
      width: 1.875rem;
      height: 1.875rem;
      margin: -1.25rem 0 0 14.6875rem;
      background: #FFFFFF; }
    .location-item__map h4 {
      margin: 0.9375rem 0 0.25rem 0.625rem;
      color: #F68E1F;
      font-size: 1.0625rem; }
    .location-item__map p {
      max-width: 13.75rem;
      margin: 0 0 0.9375rem 0.625rem;
      font-family: "Coupe-Medium", Helvetica, Arial, sans-serif;
      font-size: 1.25rem;
      line-height: 1.15; }
    .location-item__map .vue-map-container {
      height: 27.5rem !important;
      /* stylelint-disable */
      /* stylelint-enable */ }
  @media all and (min-width: 768px) {
    .location-item:nth-child(2n+2) .location-item__content {
      justify-content: flex-start;
      order: 2;
      padding: 3.125rem 0 3.125rem 1.25rem; } }
  @media all and (min-width: 992px) {
    .location-item:nth-child(2n+2) .location-item__content {
      padding: 3.125rem 0 3.125rem 1.875rem; } }
  @media all and (min-width: 1200px) {
    .location-item:nth-child(2n+2) .location-item__content {
      padding: 3.125rem 0 3.125rem 3.75rem; } }

.quote-overlay .wrapper {
  margin: 0 auto; }
  @media all and (min-width: 768px) {
    .quote-overlay .wrapper {
      max-width: 32.8125rem;
      margin: 8.75rem auto; } }
  .quote-overlay .wrapper h2 {
    display: flex;
    align-items: center;
    height: 5.9375rem;
    padding: 1.875rem;
    color: #F68E1F;
    font-size: 2rem; }
    @media all and (min-width: 768px) {
      .quote-overlay .wrapper h2 {
        padding: 0;
        margin-bottom: 1.25rem;
        font-size: 3.125rem; } }
  .quote-overlay .wrapper .form-wrapper {
    padding: 1.875rem;
    background: #FFFFFF; }
    .quote-overlay .wrapper .form-wrapper h3 {
      margin: 0.9375rem 0 1.6875rem; }
    .quote-overlay .wrapper .form-wrapper .form-group__branch,
    .quote-overlay .wrapper .form-wrapper .form-group__branchEmail {
      display: none; }
    .quote-overlay .wrapper .form-wrapper .button .icon-arrow {
      display: inline-block; }

body.page-cms-quotethankyoupage #content {
  padding-bottom: 3.75rem;
  padding-bottom: 9.375rem; }

.page-cms-home .blocks-1orange {
  margin: 0; }
  @media (min-width: 768px) {
    .page-cms-home .blocks-1orange {
      margin: 3.125rem 0 0; } }

@media (min-width: 1200px) {
  .page-cms-home main#app {
    background: url("/images/chevron-down.svg") no-repeat center top 800px; } }

.products-and-services {
  padding: 0 0.75rem;
  margin: 0; }
  @media all and (min-width: 768px) {
    .products-and-services {
      margin: 0 0 4.375rem; } }
  .products-and-services .row-intro {
    margin-top: -0.9375rem;
    margin-bottom: 2.5rem; }
    @media all and (min-width: 768px) {
      .products-and-services .row-intro {
        margin-top: 0.9375rem;
        margin-bottom: 5.625rem; } }
    .products-and-services .row-intro .col-intro {
      color: #F68E1F;
      font-size: 1.25rem;
      line-height: 1.15; }
      @media all and (min-width: 768px) {
        .products-and-services .row-intro .col-intro {
          font-size: 1.1875rem;
          line-height: 1.18; } }
  .products-and-services .row-items {
    position: relative;
    margin: 0 0 1.25rem 0; }
    .products-and-services .row-items > div {
      padding: 0; }
    @media all and (min-width: 768px) {
      .products-and-services .row-items:before {
        position: absolute;
        top: 0;
        bottom: 0;
        left: -0.125rem;
        z-index: 10;
        width: 0.1875rem;
        background: #FFFFFF;
        content: ''; } }
  .products-and-services .product-card {
    margin-top: 1rem; }
    @media all and (min-width: 768px) {
      .products-and-services .product-card {
        margin-top: 0; } }
    .products-and-services .product-card a {
      text-decoration: none; }
    .products-and-services .product-card__image, .products-and-services .product-card__description {
      display: none; }
      @media all and (min-width: 768px) {
        .products-and-services .product-card__image, .products-and-services .product-card__description {
          display: block; } }
    .products-and-services .product-card__spec {
      display: none; }
      @media all and (min-width: 768px) {
        .products-and-services .product-card__spec {
          display: block; } }
      .products-and-services .product-card__spec a {
        text-decoration: none;
        border-bottom: 1px solid #000000; }
    .products-and-services .product-card__mini {
      display: flex;
      flex-flow: row nowrap;
      padding: 1.75rem 1.375rem;
      text-decoration: none; }
      @media all and (min-width: 768px) {
        .products-and-services .product-card__mini {
          display: none; } }
      .products-and-services .product-card__mini h4 {
        flex: 3;
        padding-right: 0.625rem;
        color: #F68E1F; }
      .products-and-services .product-card__mini .more-link {
        display: flex;
        align-items: center;
        flex: 1;
        justify-content: flex-end; }
        .products-and-services .product-card__mini .more-link .icon-arrow {
          margin-left: 0.625rem; }

.page-cms-products .blocks-1orange {
  margin: 3.75rem 0; }
  @media all and (min-width: 768px) {
    .page-cms-products .blocks-1orange {
      margin: 8.125rem 0; } }

.page-cms-productsandservices #content section {
  margin: 3.4375rem 0; }
  @media (min-width: 992px) {
    .page-cms-productsandservices #content section {
      margin: 5.625rem 0; } }
  .page-cms-productsandservices #content section:first-child {
    margin-top: 0; }

/*# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImFwcC5zY3NzIiwiLi4vLi4vbm9kZV9tb2R1bGVzL25vZGUtbm9ybWFsaXplLXNjc3MvX25vcm1hbGl6ZS5zY3NzIiwiLi4vLi4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL2Jvb3RzdHJhcC1ncmlkLnNjc3MiLCIuLi8uLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvX2dyaWQuc2NzcyIsIi4uLy4uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9taXhpbnMvX2dyaWQuc2NzcyIsIi4uLy4uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9taXhpbnMvX2JyZWFrcG9pbnRzLnNjc3MiLCIuLi8uLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvX3ZhcmlhYmxlcy5zY3NzIiwiLi4vLi4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL21peGlucy9fZ3JpZC1mcmFtZXdvcmsuc2NzcyIsIi4uLy4uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy91dGlsaXRpZXMvX2Rpc3BsYXkuc2NzcyIsIi4uLy4uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy91dGlsaXRpZXMvX2ZsZXguc2NzcyIsIi4uLy4uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy91dGlsaXRpZXMvX3NwYWNpbmcuc2NzcyIsImJhc2UvX3ZhcmlhYmxlcy5zY3NzIiwiYmFzZS9fZm9ybXMuc2NzcyIsImJhc2UvX21peGlucy5zY3NzIiwiYmFzZS9fZm9udHMuc2NzcyIsImJhc2UvX2dlbmVyYWwuc2NzcyIsImJhc2UvX3RpdGxlcy5zY3NzIiwiYmFzZS9fYnV0dG9ucy5zY3NzIiwic2VjdGlvbnMvX2N0YS5zY3NzIiwic2VjdGlvbnMvX3Byb21pc2VzLnNjc3MiLCJzZWN0aW9ucy9fYmxvY2tzLTFvcmFuZ2Uuc2NzcyIsInNlY3Rpb25zL19pbWFnZXMtYmxvY2suc2NzcyIsInNlY3Rpb25zL19jYXNlLXN0dWR5LWxpc3RpbmctYmxvY2suc2NzcyIsInNlY3Rpb25zL19nZW5lcmljLnNjc3MiLCJzZWN0aW9ucy9fcHJvZHVjdC1kZXNjcmlwdGlvbi5zY3NzIiwicGFydGlhbHMvXzMtY29sLWxpbmtzLnNjc3MiLCJwYXJ0aWFscy9fY29udGFjdC11cy5zY3NzIiwicGFydGlhbHMvX2NyYWZ0LWZvcm0uc2NzcyIsInBhcnRpYWxzL19jZW8uc2NzcyIsInBhcnRpYWxzL19kb3dubG9hZHMuc2NzcyIsInBhcnRpYWxzL19oZWFkZXIuc2NzcyIsInBhcnRpYWxzL19oZXJvLnNjc3MiLCJwYXJ0aWFscy9faG9tZS1oZXJvLnNjc3MiLCJwYXJ0aWFscy9fZmVhdHVyZWQtcHJvZHVjdC5zY3NzIiwicGFydGlhbHMvX2Zvb3Rlci5zY3NzIiwicGFydGlhbHMvX2dlbmVyaWMtY29udGVudC5zY3NzIiwicGFydGlhbHMvX2xvY2F0aW9ucy5zY3NzIiwicGFydGlhbHMvX21haWxpbmctbGlzdC5zY3NzIiwicGFydGlhbHMvX25ld3Muc2NzcyIsInBhcnRpYWxzL19wcm9kdWN0cy1hbmQtc2VydmljZXMuc2NzcyIsInBhcnRpYWxzL19zZWFyY2guc2NzcyIsInBhcnRpYWxzL19zZWxlY3QtY2F0ZWdvcnkuc2NzcyIsInBhcnRpYWxzL19zdGVlbC1ib29rLnNjc3MiLCJwYXJ0aWFscy9fd2VsZHdlbGwuc2NzcyIsInBhcnRpYWxzL19wcm9taXNlcy1wYWdlLnNjc3MiLCJwYWdlcy9fNDA0LnNjc3MiLCJwYWdlcy9fY2FzZS1zdHVkeS5zY3NzIiwicGFnZXMvX2NvbnRhY3QtdXMuc2NzcyIsInBhZ2VzL19kb3dubG9hZHMuc2NzcyIsInBhZ2VzL19maW5kLWEtYnJhbmNoLnNjc3MiLCJwYWdlcy9faG9tZS5zY3NzIiwicGFnZXMvX3Byb2R1Y3RzLnNjc3MiLCJwYWdlcy9fcHJvZHVjdHMtc2luZ2xlLnNjc3MiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsdUJBQXVCO0FDQXZCLDRFQUE0RTtBQUU1RTtnRkFDZ0Y7QUFFaEY7Ozs7R0FJRztBQUVILElBQUksQ0FBQztFQUNILFdBQVcsRUFBRSxJQUFJO0VBQUUsT0FBTztFQUMxQixvQkFBb0IsRUFBRSxJQUFJO0VBQUUsT0FBTztFQUNuQyx3QkFBd0IsRUFBRSxJQUFJO0VBQUUsT0FBTyxFQUN4Qzs7QUFFRDtnRkFDZ0Y7QUFFaEY7O0dBRUc7QUFFSCxJQUFJLENBQUM7RUFDSCxNQUFNLEVBQUUsQ0FBQyxHQUNWOztBQUVEOztHQUVHO0FBRUgsT0FBTztBQUNQLEtBQUs7QUFDTCxNQUFNO0FBQ04sTUFBTTtBQUNOLEdBQUc7QUFDSCxPQUFPLENBQUM7RUFDTixPQUFPLEVBQUUsS0FBSyxHQUNmOztBQUVEOzs7R0FHRztBQUVILEVBQUUsQ0FBQztFQUNELFNBQVMsRUFBRSxHQUFHO0VBQ2QsTUFBTSxFQUFFLFFBQVEsR0FDakI7O0FBRUQ7Z0ZBQ2dGO0FBRWhGOzs7R0FHRztBQUVILFVBQVU7QUFDVixNQUFNO0FBQ04sSUFBSSxDQUFDO0VBQUUsT0FBTztFQUNaLE9BQU8sRUFBRSxLQUFLLEdBQ2Y7O0FBRUQ7O0dBRUc7QUFFSCxNQUFNLENBQUM7RUFDTCxNQUFNLEVBQUUsUUFBUSxHQUNqQjs7QUFFRDs7O0dBR0c7QUFFSCxFQUFFLENBQUM7RUFDRCxVQUFVLEVBQUUsV0FBVztFQUFFLE9BQU87RUFDaEMsTUFBTSxFQUFFLENBQUM7RUFBRSxPQUFPO0VBQ2xCLFFBQVEsRUFBRSxPQUFPO0VBQUUsT0FBTyxFQUMzQjs7QUFFRDs7O0dBR0c7QUFFSCxHQUFHLENBQUM7RUFDRixXQUFXLEVBQUUsb0JBQW9CO0VBQUUsT0FBTztFQUMxQyxTQUFTLEVBQUUsR0FBRztFQUFFLE9BQU8sRUFDeEI7O0FBRUQ7Z0ZBQ2dGO0FBRWhGOzs7R0FHRztBQUVILENBQUMsQ0FBQztFQUNBLGdCQUFnQixFQUFFLFdBQVc7RUFBRSxPQUFPO0VBQ3RDLDRCQUE0QixFQUFFLE9BQU87RUFBRSxPQUFPLEVBQy9DOztBQUVEOzs7R0FHRztBQUVILElBQUksQ0FBQSxLQUFDLEVBQU87RUFDVixhQUFhLEVBQUUsSUFBSTtFQUFFLE9BQU87RUFDNUIsZUFBZSxFQUFFLFNBQVM7RUFBRSxPQUFPO0VBQ25DLGVBQWUsRUFBRSxnQkFBZ0I7RUFBRSxPQUFPLEVBQzNDOztBQUVEOztHQUVHO0FBRUgsQ0FBQztBQUNELE1BQU0sQ0FBQztFQUNMLFdBQVcsRUFBRSxPQUFPLEdBQ3JCOztBQUVEOztHQUVHO0FBUEgsQ0FBQztBQUNELE1BQU0sQ0FTQztFQUNMLFdBQVcsRUFBRSxNQUFNLEdBQ3BCOztBQUVEOzs7R0FHRztBQUVILElBQUk7QUFDSixHQUFHO0FBQ0gsSUFBSSxDQUFDO0VBQ0gsV0FBVyxFQUFFLG9CQUFvQjtFQUFFLE9BQU87RUFDMUMsU0FBUyxFQUFFLEdBQUc7RUFBRSxPQUFPLEVBQ3hCOztBQUVEOztHQUVHO0FBRUgsR0FBRyxDQUFDO0VBQ0YsVUFBVSxFQUFFLE1BQU0sR0FDbkI7O0FBRUQ7O0dBRUc7QUFFSCxJQUFJLENBQUM7RUFDSCxnQkFBZ0IsRUFBRSxJQUFJO0VBQ3RCLEtBQUssRUFBRSxJQUFJLEdBQ1o7O0FBRUQ7O0dBRUc7QUFFSCxLQUFLLENBQUM7RUFDSixTQUFTLEVBQUUsR0FBRyxHQUNmOztBQUVEOzs7R0FHRztBQUVILEdBQUc7QUFDSCxHQUFHLENBQUM7RUFDRixTQUFTLEVBQUUsR0FBRztFQUNkLFdBQVcsRUFBRSxDQUFDO0VBQ2QsUUFBUSxFQUFFLFFBQVE7RUFDbEIsY0FBYyxFQUFFLFFBQVEsR0FDekI7O0FBRUQsR0FBRyxDQUFDO0VBQ0YsTUFBTSxFQUFFLE9BQU8sR0FDaEI7O0FBRUQsR0FBRyxDQUFDO0VBQ0YsR0FBRyxFQUFFLE1BQU0sR0FDWjs7QUFFRDtnRkFDZ0Y7QUFFaEY7O0dBRUc7QUFFSCxLQUFLO0FBQ0wsS0FBSyxDQUFDO0VBQ0osT0FBTyxFQUFFLFlBQVksR0FDdEI7O0FBRUQ7O0dBRUc7QUFFSCxLQUFLLElBQUssRUFBQSxRQUFDLEdBQVc7RUFDcEIsT0FBTyxFQUFFLElBQUk7RUFDYixNQUFNLEVBQUUsQ0FBQyxHQUNWOztBQUVEOztHQUVHO0FBRUgsR0FBRyxDQUFDO0VBQ0YsWUFBWSxFQUFFLElBQUksR0FDbkI7O0FBRUQ7O0dBRUc7QUFFSCxHQUFHLElBQUssQ0FBQSxLQUFLLEVBQUU7RUFDYixRQUFRLEVBQUUsTUFBTSxHQUNqQjs7QUFFRDtnRkFDZ0Y7QUFFaEY7OztHQUdHO0FBRUgsTUFBTTtBQUNOLEtBQUs7QUFDTCxRQUFRO0FBQ1IsTUFBTTtBQUNOLFFBQVEsQ0FBQztFQUNQLFdBQVcsRUFBRSxVQUFVO0VBQUUsT0FBTztFQUNoQyxTQUFTLEVBQUUsSUFBSTtFQUFFLE9BQU87RUFDeEIsV0FBVyxFQUFFLElBQUk7RUFBRSxPQUFPO0VBQzFCLE1BQU0sRUFBRSxDQUFDO0VBQUUsT0FBTyxFQUNuQjs7QUFFRDs7O0dBR0c7QUFFSCxNQUFNO0FBQ04sS0FBSyxDQUFDO0VBQUUsT0FBTztFQUNiLFFBQVEsRUFBRSxPQUFPLEdBQ2xCOztBQUVEOzs7R0FHRztBQUVILE1BQU07QUFDTixNQUFNLENBQUM7RUFBRSxPQUFPO0VBQ2QsY0FBYyxFQUFFLElBQUksR0FDckI7O0FBRUQ7Ozs7R0FJRztBQUVILE1BQU07QUFDTixJQUFJLEVBQUMsSUFBQyxDQUFLLFFBQUwsQUFBYTtDQUNuQixJQUFDLENBQUssT0FBTCxBQUFZO0NBQ2IsSUFBQyxDQUFLLFFBQUwsQUFBYSxFQUFFO0VBQ2Qsa0JBQWtCLEVBQUUsTUFBTTtFQUFFLE9BQU8sRUFDcEM7O0FBRUQ7O0dBRUc7QUFFSCxNQUFNLGtCQUFrQjtDQUN4QixJQUFDLENBQUssUUFBTCxBQUFhLENBQUMsa0JBQWtCO0NBQ2pDLElBQUMsQ0FBSyxPQUFMLEFBQVksQ0FBQyxrQkFBa0I7Q0FDaEMsSUFBQyxDQUFLLFFBQUwsQUFBYSxDQUFDLGtCQUFrQixDQUFDO0VBQ2hDLFlBQVksRUFBRSxJQUFJO0VBQ2xCLE9BQU8sRUFBRSxDQUFDLEdBQ1g7O0FBRUQ7O0dBRUc7QUFFSCxNQUFNLGVBQWU7Q0FDckIsSUFBQyxDQUFLLFFBQUwsQUFBYSxDQUFDLGVBQWU7Q0FDOUIsSUFBQyxDQUFLLE9BQUwsQUFBWSxDQUFDLGVBQWU7Q0FDN0IsSUFBQyxDQUFLLFFBQUwsQUFBYSxDQUFDLGVBQWUsQ0FBQztFQUM3QixPQUFPLEVBQUUscUJBQXFCLEdBQy9COztBQUVEOztHQUVHO0FBRUgsUUFBUSxDQUFDO0VBQ1AsT0FBTyxFQUFFLHFCQUFxQixHQUMvQjs7QUFFRDs7Ozs7R0FLRztBQUVILE1BQU0sQ0FBQztFQUNMLFVBQVUsRUFBRSxVQUFVO0VBQUUsT0FBTztFQUMvQixLQUFLLEVBQUUsT0FBTztFQUFFLE9BQU87RUFDdkIsT0FBTyxFQUFFLEtBQUs7RUFBRSxPQUFPO0VBQ3ZCLFNBQVMsRUFBRSxJQUFJO0VBQUUsT0FBTztFQUN4QixPQUFPLEVBQUUsQ0FBQztFQUFFLE9BQU87RUFDbkIsV0FBVyxFQUFFLE1BQU07RUFBRSxPQUFPLEVBQzdCOztBQUVEOzs7R0FHRztBQUVILFFBQVEsQ0FBQztFQUNQLE9BQU8sRUFBRSxZQUFZO0VBQUUsT0FBTztFQUM5QixjQUFjLEVBQUUsUUFBUTtFQUFFLE9BQU8sRUFDbEM7O0FBRUQ7O0dBRUc7QUFFSCxRQUFRLENBQUM7RUFDUCxRQUFRLEVBQUUsSUFBSSxHQUNmOztBQUVEOzs7R0FHRztDQUVILElBQUMsQ0FBSyxVQUFMLEFBQWU7Q0FDaEIsSUFBQyxDQUFLLE9BQUwsQUFBWSxFQUFFO0VBQ2IsVUFBVSxFQUFFLFVBQVU7RUFBRSxPQUFPO0VBQy9CLE9BQU8sRUFBRSxDQUFDO0VBQUUsT0FBTyxFQUNwQjs7QUFFRDs7R0FFRztDQUVILElBQUMsQ0FBSyxRQUFMLEFBQWEsQ0FBQywyQkFBMkI7Q0FDMUMsSUFBQyxDQUFLLFFBQUwsQUFBYSxDQUFDLDJCQUEyQixDQUFDO0VBQ3pDLE1BQU0sRUFBRSxJQUFJLEdBQ2I7O0FBRUQ7OztHQUdHO0NBRUgsSUFBQyxDQUFLLFFBQUwsQUFBYSxFQUFFO0VBQ2Qsa0JBQWtCLEVBQUUsU0FBUztFQUFFLE9BQU87RUFDdEMsY0FBYyxFQUFFLElBQUk7RUFBRSxPQUFPLEVBQzlCOztBQUVEOztHQUVHO0NBRUgsSUFBQyxDQUFLLFFBQUwsQUFBYSxDQUFDLDhCQUE4QjtDQUM3QyxJQUFDLENBQUssUUFBTCxBQUFhLENBQUMsMkJBQTJCLENBQUM7RUFDekMsa0JBQWtCLEVBQUUsSUFBSSxHQUN6Qjs7QUFFRDs7O0dBR0c7QUFFSCw0QkFBNEIsQ0FBQztFQUMzQixrQkFBa0IsRUFBRSxNQUFNO0VBQUUsT0FBTztFQUNuQyxJQUFJLEVBQUUsT0FBTztFQUFFLE9BQU8sRUFDdkI7O0FBRUQ7Z0ZBQ2dGO0FBRWhGOzs7R0FHRztBQUVILE9BQU87QUFDUCxJQUFJLENBQUM7RUFDSCxPQUFPLEVBQUUsS0FBSyxHQUNmOztBQUVEOztHQUVHO0FBRUgsT0FBTyxDQUFDO0VBQ04sT0FBTyxFQUFFLFNBQVMsR0FDbkI7O0FBRUQ7Z0ZBQ2dGO0FBRWhGOztHQUVHO0FBRUgsTUFBTSxDQUFDO0VBQ0wsT0FBTyxFQUFFLFlBQVksR0FDdEI7O0FBRUQ7O0dBRUc7QUFFSCxRQUFRLENBQUM7RUFDUCxPQUFPLEVBQUUsSUFBSSxHQUNkOztBQUVEO2dGQUNnRjtBQUVoRjs7R0FFRztDQUVILE1BQUMsRUFBUTtFQUNQLE9BQU8sRUFBRSxJQUFJLEdBQ2Q7O0FDOWJEOzs7OztHQUtHO0FETUgsSUFBSSxDQ0pDO0VBQ0gsVUFBVSxFQUFFLFVBQVU7RUFDdEIsa0JBQWtCLEVBQUUsU0FBUyxHQUM5Qjs7QUFFRCxDQUFDO0FBQ0QsQ0FBQyxRQUFRO0FBQ1QsQ0FBQyxPQUFPLENBQUM7RUFDUCxVQUFVLEVBQUUsT0FBTyxHQUNwQjs7QUNWQyxVQUFVLENBQUM7RUNEWCxLQUFLLEVBQUUsSUFBSTtFQUNYLGFBQWEsRUFBRSxJQUFXO0VBQzFCLFlBQVksRUFBRSxJQUFXO0VBQ3pCLFlBQVksRUFBRSxJQUFJO0VBQ2xCLFdBQVcsRUFBRSxJQUFJLEdEQWhCO0VFbURDLE1BQU0sRUFBRSxTQUFTLEVBQUUsS0FBSztJRnREMUIsVUFBVSxDQUFDO01DV1AsU0FBUyxFRXFNVCxLQUFLLEdIN01SO0VFbURDLE1BQU0sRUFBRSxTQUFTLEVBQUUsS0FBSztJRnREMUIsVUFBVSxDQUFDO01DV1AsU0FBUyxFRXNNVCxLQUFLLEdIOU1SO0VFbURDLE1BQU0sRUFBRSxTQUFTLEVBQUUsS0FBSztJRnREMUIsVUFBVSxDQUFDO01DV1AsU0FBUyxFRXVNVCxLQUFLLEdIL01SO0VFbURDLE1BQU0sRUFBRSxTQUFTLEVBQUUsTUFBTTtJRnREM0IsVUFBVSxDQUFDO01DV1AsU0FBUyxFRXdNVCxNQUFNLEdIaE5UOztBQUdELGdCQUFnQixFQU1kLGFBQWEsRUFBYixhQUFhLEVBQWIsYUFBYSxFQUFiLGFBQWEsQ0FORTtFQ1BqQixLQUFLLEVBQUUsSUFBSTtFQUNYLGFBQWEsRUFBRSxJQUFXO0VBQzFCLFlBQVksRUFBRSxJQUFXO0VBQ3pCLFlBQVksRUFBRSxJQUFJO0VBQ2xCLFdBQVcsRUFBRSxJQUFJLEdES2hCOztBRThDQyxNQUFNLEVBQUUsU0FBUyxFQUFFLEtBQUs7RUZyQ3RCLEFBTUksVUFBVSxFQVhoQixhQUFhLENBSzBCO0lBQ25DLFNBQVMsRUc4TFgsS0FBSyxHSDdMSjs7QUVtQ0gsTUFBTSxFQUFFLFNBQVMsRUFBRSxLQUFLO0VGckN0QixBQU1JLFVBQVUsRUFYaEIsYUFBYSxFQUFiLGFBQWEsQ0FLMEI7SUFDbkMsU0FBUyxFRytMWCxLQUFLLEdIOUxKOztBRW1DSCxNQUFNLEVBQUUsU0FBUyxFQUFFLEtBQUs7RUZyQ3RCLEFBTUksVUFBVSxFQVhoQixhQUFhLEVBQWIsYUFBYSxFQUFiLGFBQWEsQ0FLMEI7SUFDbkMsU0FBUyxFR2dNWCxLQUFLLEdIL0xKOztBRW1DSCxNQUFNLEVBQUUsU0FBUyxFQUFFLE1BQU07RUZyQ3ZCLEFBTUksVUFBVSxFQVhoQixhQUFhLEVBQWIsYUFBYSxFQUFiLGFBQWEsRUFBYixhQUFhLENBSzBCO0lBQ25DLFNBQVMsRUdpTVgsTUFBTSxHSGhNTDs7QUFtQkwsSUFBSSxDQUFDO0VDckJMLE9BQU8sRUFBRSxJQUFJO0VBQ2IsU0FBUyxFQUFFLElBQUk7RUFDZixZQUFZLEVBQUUsS0FBWTtFQUMxQixXQUFXLEVBQUUsS0FBWSxHRG9CeEI7O0FBSUQsV0FBVyxDQUFDO0VBQ1YsWUFBWSxFQUFFLENBQUM7RUFDZixXQUFXLEVBQUUsQ0FBQyxHQU9mO0VBVEQsQUFJRSxXQUpTLEdBSVAsSUFBSTtFQUpSLFdBQVcsSUFLUCxLQUFDLEVBQU8sTUFBUCxBQUFhLEVBQUU7SUFDaEIsYUFBYSxFQUFFLENBQUM7SUFDaEIsWUFBWSxFQUFFLENBQUMsR0FDaEI7O0FJbkRILEFBWUksTUFBTSxFQUFOLE1BQU0sRUFBTixNQUFNLEVBQU4sTUFBTSxFQUFOLE1BQU0sRUFBTixNQUFNLEVBQU4sTUFBTSxFQUFOLE1BQU0sRUFBTixNQUFNLEVBQU4sT0FBTyxFQUFQLE9BQU8sRUFBUCxPQUFPLEVBSVQsSUFBSTtBQUNKLFNBQVMsRUFMUCxTQUFTLEVBQVQsU0FBUyxFQUFULFNBQVMsRUFBVCxTQUFTLEVBQVQsU0FBUyxFQUFULFNBQVMsRUFBVCxTQUFTLEVBQVQsU0FBUyxFQUFULFNBQVMsRUFBVCxVQUFVLEVBQVYsVUFBVSxFQUFWLFVBQVUsRUFJWixPQUFPO0FBQ1AsWUFBWSxFQUxWLFNBQVMsRUFBVCxTQUFTLEVBQVQsU0FBUyxFQUFULFNBQVMsRUFBVCxTQUFTLEVBQVQsU0FBUyxFQUFULFNBQVMsRUFBVCxTQUFTLEVBQVQsU0FBUyxFQUFULFVBQVUsRUFBVixVQUFVLEVBQVYsVUFBVSxFQUlaLE9BQU87QUFDUCxZQUFZLEVBTFYsU0FBUyxFQUFULFNBQVMsRUFBVCxTQUFTLEVBQVQsU0FBUyxFQUFULFNBQVMsRUFBVCxTQUFTLEVBQVQsU0FBUyxFQUFULFNBQVMsRUFBVCxTQUFTLEVBQVQsVUFBVSxFQUFWLFVBQVUsRUFBVixVQUFVLEVBSVosT0FBTztBQUNQLFlBQVksRUFMVixTQUFTLEVBQVQsU0FBUyxFQUFULFNBQVMsRUFBVCxTQUFTLEVBQVQsU0FBUyxFQUFULFNBQVMsRUFBVCxTQUFTLEVBQVQsU0FBUyxFQUFULFNBQVMsRUFBVCxVQUFVLEVBQVYsVUFBVSxFQUFWLFVBQVUsRUFJWixPQUFPO0FBQ1AsWUFBWSxDQWpCRDtFQUNYLFFBQVEsRUFBRSxRQUFRO0VBQ2xCLEtBQUssRUFBRSxJQUFJO0VBQ1gsYUFBYSxFQUFFLElBQVc7RUFDMUIsWUFBWSxFQUFFLElBQVcsR0FDMUI7O0FBa0JHLElBQUksQ0FBVTtFQUNaLFVBQVUsRUFBRSxDQUFDO0VBQ2IsU0FBUyxFQUFFLENBQUM7RUFDWixTQUFTLEVBQUUsSUFBSSxHQUNoQjs7QUFHQyxBSDJCTixXRzNCaUIsR0gyQmIsQ0FBQyxDQUFDO0VBQ0osSUFBSSxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBYTtFQUN2QixTQUFTLEVBQUUsSUFBYSxHQUN6Qjs7QUc5QkssQUgyQk4sV0czQmlCLEdIMkJiLENBQUMsQ0FBQztFQUNKLElBQUksRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQWE7RUFDdkIsU0FBUyxFQUFFLEdBQWEsR0FDekI7O0FHOUJLLEFIMkJOLFdHM0JpQixHSDJCYixDQUFDLENBQUM7RUFDSixJQUFJLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxTQUFhO0VBQ3ZCLFNBQVMsRUFBRSxTQUFhLEdBQ3pCOztBRzlCSyxBSDJCTixXRzNCaUIsR0gyQmIsQ0FBQyxDQUFDO0VBQ0osSUFBSSxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBYTtFQUN2QixTQUFTLEVBQUUsR0FBYSxHQUN6Qjs7QUc5QkssQUgyQk4sV0czQmlCLEdIMkJiLENBQUMsQ0FBQztFQUNKLElBQUksRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQWE7RUFDdkIsU0FBUyxFQUFFLEdBQWEsR0FDekI7O0FHOUJLLEFIMkJOLFdHM0JpQixHSDJCYixDQUFDLENBQUM7RUFDSixJQUFJLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxTQUFhO0VBQ3ZCLFNBQVMsRUFBRSxTQUFhLEdBQ3pCOztBR3pCRyxTQUFTLENBQVU7RUhNdkIsSUFBSSxFQUFFLFFBQVE7RUFDZCxLQUFLLEVBQUUsSUFBSTtFQUNYLFNBQVMsRUFBRSxJQUFJLEdHTlY7O0FBR0MsTUFBTSxDQUFjO0VIUDFCLElBQUksRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLFFBQTRCO0VBSXRDLFNBQVMsRUFBRSxRQUE0QixHR0toQzs7QUFGRCxNQUFNLENBQWM7RUhQMUIsSUFBSSxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsU0FBNEI7RUFJdEMsU0FBUyxFQUFFLFNBQTRCLEdHS2hDOztBQUZELE1BQU0sQ0FBYztFSFAxQixJQUFJLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUE0QjtFQUl0QyxTQUFTLEVBQUUsR0FBNEIsR0dLaEM7O0FBRkQsTUFBTSxDQUFjO0VIUDFCLElBQUksRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLFNBQTRCO0VBSXRDLFNBQVMsRUFBRSxTQUE0QixHR0toQzs7QUFGRCxNQUFNLENBQWM7RUhQMUIsSUFBSSxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsU0FBNEI7RUFJdEMsU0FBUyxFQUFFLFNBQTRCLEdHS2hDOztBQUZELE1BQU0sQ0FBYztFSFAxQixJQUFJLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUE0QjtFQUl0QyxTQUFTLEVBQUUsR0FBNEIsR0dLaEM7O0FBRkQsTUFBTSxDQUFjO0VIUDFCLElBQUksRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLFNBQTRCO0VBSXRDLFNBQVMsRUFBRSxTQUE0QixHR0toQzs7QUFGRCxNQUFNLENBQWM7RUhQMUIsSUFBSSxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsU0FBNEI7RUFJdEMsU0FBUyxFQUFFLFNBQTRCLEdHS2hDOztBQUZELE1BQU0sQ0FBYztFSFAxQixJQUFJLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUE0QjtFQUl0QyxTQUFTLEVBQUUsR0FBNEIsR0dLaEM7O0FBRkQsT0FBTyxDQUFhO0VIUDFCLElBQUksRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLFNBQTRCO0VBSXRDLFNBQVMsRUFBRSxTQUE0QixHR0toQzs7QUFGRCxPQUFPLENBQWE7RUhQMUIsSUFBSSxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsU0FBNEI7RUFJdEMsU0FBUyxFQUFFLFNBQTRCLEdHS2hDOztBQUZELE9BQU8sQ0FBYTtFSFAxQixJQUFJLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUE0QjtFQUl0QyxTQUFTLEVBQUUsSUFBNEIsR0dLaEM7O0FBR0gsWUFBWSxDQUFVO0VBQUUsS0FBSyxFQUFFLEVBQUUsR0FBSTs7QUFFckMsV0FBVyxDQUFVO0VBQUUsS0FBSyxFRDZLSixFQUFFLEdDN0tvQjs7QUFHNUMsUUFBUSxDQUFjO0VBQUUsS0FBSyxFQURsQixDQUFDLEdBQ3lCOztBQUFyQyxRQUFRLENBQWM7RUFBRSxLQUFLLEVBRGxCLENBQUMsR0FDeUI7O0FBQXJDLFFBQVEsQ0FBYztFQUFFLEtBQUssRUFEbEIsQ0FBQyxHQUN5Qjs7QUFBckMsUUFBUSxDQUFjO0VBQUUsS0FBSyxFQURsQixDQUFDLEdBQ3lCOztBQUFyQyxRQUFRLENBQWM7RUFBRSxLQUFLLEVBRGxCLENBQUMsR0FDeUI7O0FBQXJDLFFBQVEsQ0FBYztFQUFFLEtBQUssRUFEbEIsQ0FBQyxHQUN5Qjs7QUFBckMsUUFBUSxDQUFjO0VBQUUsS0FBSyxFQURsQixDQUFDLEdBQ3lCOztBQUFyQyxRQUFRLENBQWM7RUFBRSxLQUFLLEVBRGxCLENBQUMsR0FDeUI7O0FBQXJDLFFBQVEsQ0FBYztFQUFFLEtBQUssRUFEbEIsQ0FBQyxHQUN5Qjs7QUFBckMsUUFBUSxDQUFjO0VBQUUsS0FBSyxFQURsQixDQUFDLEdBQ3lCOztBQUFyQyxTQUFTLENBQWE7RUFBRSxLQUFLLEVBRGxCLEVBQUMsR0FDeUI7O0FBQXJDLFNBQVMsQ0FBYTtFQUFFLEtBQUssRUFEbEIsRUFBQyxHQUN5Qjs7QUFBckMsU0FBUyxDQUFhO0VBQUUsS0FBSyxFQURsQixFQUFDLEdBQ3lCOztBQU1uQyxTQUFTLENBQWM7RUhSL0IsV0FBVyxFQUFtQixRQUFnQixHR1VyQzs7QUFGRCxTQUFTLENBQWM7RUhSL0IsV0FBVyxFQUFtQixTQUFnQixHR1VyQzs7QUFGRCxTQUFTLENBQWM7RUhSL0IsV0FBVyxFQUFtQixHQUFnQixHR1VyQzs7QUFGRCxTQUFTLENBQWM7RUhSL0IsV0FBVyxFQUFtQixTQUFnQixHR1VyQzs7QUFGRCxTQUFTLENBQWM7RUhSL0IsV0FBVyxFQUFtQixTQUFnQixHR1VyQzs7QUFGRCxTQUFTLENBQWM7RUhSL0IsV0FBVyxFQUFtQixHQUFnQixHR1VyQzs7QUFGRCxTQUFTLENBQWM7RUhSL0IsV0FBVyxFQUFtQixTQUFnQixHR1VyQzs7QUFGRCxTQUFTLENBQWM7RUhSL0IsV0FBVyxFQUFtQixTQUFnQixHR1VyQzs7QUFGRCxTQUFTLENBQWM7RUhSL0IsV0FBVyxFQUFtQixHQUFnQixHR1VyQzs7QUFGRCxVQUFVLENBQWE7RUhSL0IsV0FBVyxFQUFtQixTQUFnQixHR1VyQzs7QUFGRCxVQUFVLENBQWE7RUhSL0IsV0FBVyxFQUFtQixTQUFnQixHR1VyQzs7QUZMUCxNQUFNLEVBQUUsU0FBUyxFQUFFLEtBQUs7RUU5QnRCLE9BQU8sQ0FBTztJQUNaLFVBQVUsRUFBRSxDQUFDO0lBQ2IsU0FBUyxFQUFFLENBQUM7SUFDWixTQUFTLEVBQUUsSUFBSSxHQUNoQjtFQUdDLEFIMkJOLGNHM0JvQixHSDJCaEIsQ0FBQyxDQUFDO0lBQ0osSUFBSSxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBYTtJQUN2QixTQUFTLEVBQUUsSUFBYSxHQUN6QjtFRzlCSyxBSDJCTixjRzNCb0IsR0gyQmhCLENBQUMsQ0FBQztJQUNKLElBQUksRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQWE7SUFDdkIsU0FBUyxFQUFFLEdBQWEsR0FDekI7RUc5QkssQUgyQk4sY0czQm9CLEdIMkJoQixDQUFDLENBQUM7SUFDSixJQUFJLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxTQUFhO0lBQ3ZCLFNBQVMsRUFBRSxTQUFhLEdBQ3pCO0VHOUJLLEFIMkJOLGNHM0JvQixHSDJCaEIsQ0FBQyxDQUFDO0lBQ0osSUFBSSxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBYTtJQUN2QixTQUFTLEVBQUUsR0FBYSxHQUN6QjtFRzlCSyxBSDJCTixjRzNCb0IsR0gyQmhCLENBQUMsQ0FBQztJQUNKLElBQUksRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQWE7SUFDdkIsU0FBUyxFQUFFLEdBQWEsR0FDekI7RUc5QkssQUgyQk4sY0czQm9CLEdIMkJoQixDQUFDLENBQUM7SUFDSixJQUFJLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxTQUFhO0lBQ3ZCLFNBQVMsRUFBRSxTQUFhLEdBQ3pCO0VHekJHLFlBQVksQ0FBTztJSE12QixJQUFJLEVBQUUsUUFBUTtJQUNkLEtBQUssRUFBRSxJQUFJO0lBQ1gsU0FBUyxFQUFFLElBQUksR0dOVjtFQUdDLFNBQVMsQ0FBVztJSFAxQixJQUFJLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxRQUE0QjtJQUl0QyxTQUFTLEVBQUUsUUFBNEIsR0dLaEM7RUFGRCxTQUFTLENBQVc7SUhQMUIsSUFBSSxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsU0FBNEI7SUFJdEMsU0FBUyxFQUFFLFNBQTRCLEdHS2hDO0VBRkQsU0FBUyxDQUFXO0lIUDFCLElBQUksRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQTRCO0lBSXRDLFNBQVMsRUFBRSxHQUE0QixHR0toQztFQUZELFNBQVMsQ0FBVztJSFAxQixJQUFJLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxTQUE0QjtJQUl0QyxTQUFTLEVBQUUsU0FBNEIsR0dLaEM7RUFGRCxTQUFTLENBQVc7SUhQMUIsSUFBSSxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsU0FBNEI7SUFJdEMsU0FBUyxFQUFFLFNBQTRCLEdHS2hDO0VBRkQsU0FBUyxDQUFXO0lIUDFCLElBQUksRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQTRCO0lBSXRDLFNBQVMsRUFBRSxHQUE0QixHR0toQztFQUZELFNBQVMsQ0FBVztJSFAxQixJQUFJLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxTQUE0QjtJQUl0QyxTQUFTLEVBQUUsU0FBNEIsR0dLaEM7RUFGRCxTQUFTLENBQVc7SUhQMUIsSUFBSSxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsU0FBNEI7SUFJdEMsU0FBUyxFQUFFLFNBQTRCLEdHS2hDO0VBRkQsU0FBUyxDQUFXO0lIUDFCLElBQUksRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQTRCO0lBSXRDLFNBQVMsRUFBRSxHQUE0QixHR0toQztFQUZELFVBQVUsQ0FBVTtJSFAxQixJQUFJLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxTQUE0QjtJQUl0QyxTQUFTLEVBQUUsU0FBNEIsR0dLaEM7RUFGRCxVQUFVLENBQVU7SUhQMUIsSUFBSSxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsU0FBNEI7SUFJdEMsU0FBUyxFQUFFLFNBQTRCLEdHS2hDO0VBRkQsVUFBVSxDQUFVO0lIUDFCLElBQUksRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQTRCO0lBSXRDLFNBQVMsRUFBRSxJQUE0QixHR0toQztFQUdILGVBQWUsQ0FBTztJQUFFLEtBQUssRUFBRSxFQUFFLEdBQUk7RUFFckMsY0FBYyxDQUFPO0lBQUUsS0FBSyxFRDZLSixFQUFFLEdDN0tvQjtFQUc1QyxXQUFXLENBQVc7SUFBRSxLQUFLLEVBRGxCLENBQUMsR0FDeUI7RUFBckMsV0FBVyxDQUFXO0lBQUUsS0FBSyxFQURsQixDQUFDLEdBQ3lCO0VBQXJDLFdBQVcsQ0FBVztJQUFFLEtBQUssRUFEbEIsQ0FBQyxHQUN5QjtFQUFyQyxXQUFXLENBQVc7SUFBRSxLQUFLLEVBRGxCLENBQUMsR0FDeUI7RUFBckMsV0FBVyxDQUFXO0lBQUUsS0FBSyxFQURsQixDQUFDLEdBQ3lCO0VBQXJDLFdBQVcsQ0FBVztJQUFFLEtBQUssRUFEbEIsQ0FBQyxHQUN5QjtFQUFyQyxXQUFXLENBQVc7SUFBRSxLQUFLLEVBRGxCLENBQUMsR0FDeUI7RUFBckMsV0FBVyxDQUFXO0lBQUUsS0FBSyxFQURsQixDQUFDLEdBQ3lCO0VBQXJDLFdBQVcsQ0FBVztJQUFFLEtBQUssRUFEbEIsQ0FBQyxHQUN5QjtFQUFyQyxXQUFXLENBQVc7SUFBRSxLQUFLLEVBRGxCLENBQUMsR0FDeUI7RUFBckMsWUFBWSxDQUFVO0lBQUUsS0FBSyxFQURsQixFQUFDLEdBQ3lCO0VBQXJDLFlBQVksQ0FBVTtJQUFFLEtBQUssRUFEbEIsRUFBQyxHQUN5QjtFQUFyQyxZQUFZLENBQVU7SUFBRSxLQUFLLEVBRGxCLEVBQUMsR0FDeUI7RUFNbkMsWUFBWSxDQUFXO0lIUi9CLFdBQVcsRUFBZ0IsQ0FBQyxHR1VuQjtFQUZELFlBQVksQ0FBVztJSFIvQixXQUFXLEVBQW1CLFFBQWdCLEdHVXJDO0VBRkQsWUFBWSxDQUFXO0lIUi9CLFdBQVcsRUFBbUIsU0FBZ0IsR0dVckM7RUFGRCxZQUFZLENBQVc7SUhSL0IsV0FBVyxFQUFtQixHQUFnQixHR1VyQztFQUZELFlBQVksQ0FBVztJSFIvQixXQUFXLEVBQW1CLFNBQWdCLEdHVXJDO0VBRkQsWUFBWSxDQUFXO0lIUi9CLFdBQVcsRUFBbUIsU0FBZ0IsR0dVckM7RUFGRCxZQUFZLENBQVc7SUhSL0IsV0FBVyxFQUFtQixHQUFnQixHR1VyQztFQUZELFlBQVksQ0FBVztJSFIvQixXQUFXLEVBQW1CLFNBQWdCLEdHVXJDO0VBRkQsWUFBWSxDQUFXO0lIUi9CLFdBQVcsRUFBbUIsU0FBZ0IsR0dVckM7RUFGRCxZQUFZLENBQVc7SUhSL0IsV0FBVyxFQUFtQixHQUFnQixHR1VyQztFQUZELGFBQWEsQ0FBVTtJSFIvQixXQUFXLEVBQW1CLFNBQWdCLEdHVXJDO0VBRkQsYUFBYSxDQUFVO0lIUi9CLFdBQVcsRUFBbUIsU0FBZ0IsR0dVckM7O0FGTFAsTUFBTSxFQUFFLFNBQVMsRUFBRSxLQUFLO0VFOUJ0QixPQUFPLENBQU87SUFDWixVQUFVLEVBQUUsQ0FBQztJQUNiLFNBQVMsRUFBRSxDQUFDO0lBQ1osU0FBUyxFQUFFLElBQUksR0FDaEI7RUFHQyxBSDJCTixjRzNCb0IsR0gyQmhCLENBQUMsQ0FBQztJQUNKLElBQUksRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQWE7SUFDdkIsU0FBUyxFQUFFLElBQWEsR0FDekI7RUc5QkssQUgyQk4sY0czQm9CLEdIMkJoQixDQUFDLENBQUM7SUFDSixJQUFJLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFhO0lBQ3ZCLFNBQVMsRUFBRSxHQUFhLEdBQ3pCO0VHOUJLLEFIMkJOLGNHM0JvQixHSDJCaEIsQ0FBQyxDQUFDO0lBQ0osSUFBSSxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsU0FBYTtJQUN2QixTQUFTLEVBQUUsU0FBYSxHQUN6QjtFRzlCSyxBSDJCTixjRzNCb0IsR0gyQmhCLENBQUMsQ0FBQztJQUNKLElBQUksRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQWE7SUFDdkIsU0FBUyxFQUFFLEdBQWEsR0FDekI7RUc5QkssQUgyQk4sY0czQm9CLEdIMkJoQixDQUFDLENBQUM7SUFDSixJQUFJLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFhO0lBQ3ZCLFNBQVMsRUFBRSxHQUFhLEdBQ3pCO0VHOUJLLEFIMkJOLGNHM0JvQixHSDJCaEIsQ0FBQyxDQUFDO0lBQ0osSUFBSSxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsU0FBYTtJQUN2QixTQUFTLEVBQUUsU0FBYSxHQUN6QjtFR3pCRyxZQUFZLENBQU87SUhNdkIsSUFBSSxFQUFFLFFBQVE7SUFDZCxLQUFLLEVBQUUsSUFBSTtJQUNYLFNBQVMsRUFBRSxJQUFJLEdHTlY7RUFHQyxTQUFTLENBQVc7SUhQMUIsSUFBSSxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsUUFBNEI7SUFJdEMsU0FBUyxFQUFFLFFBQTRCLEdHS2hDO0VBRkQsU0FBUyxDQUFXO0lIUDFCLElBQUksRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLFNBQTRCO0lBSXRDLFNBQVMsRUFBRSxTQUE0QixHR0toQztFQUZELFNBQVMsQ0FBVztJSFAxQixJQUFJLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUE0QjtJQUl0QyxTQUFTLEVBQUUsR0FBNEIsR0dLaEM7RUFGRCxTQUFTLENBQVc7SUhQMUIsSUFBSSxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsU0FBNEI7SUFJdEMsU0FBUyxFQUFFLFNBQTRCLEdHS2hDO0VBRkQsU0FBUyxDQUFXO0lIUDFCLElBQUksRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLFNBQTRCO0lBSXRDLFNBQVMsRUFBRSxTQUE0QixHR0toQztFQUZELFNBQVMsQ0FBVztJSFAxQixJQUFJLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUE0QjtJQUl0QyxTQUFTLEVBQUUsR0FBNEIsR0dLaEM7RUFGRCxTQUFTLENBQVc7SUhQMUIsSUFBSSxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsU0FBNEI7SUFJdEMsU0FBUyxFQUFFLFNBQTRCLEdHS2hDO0VBRkQsU0FBUyxDQUFXO0lIUDFCLElBQUksRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLFNBQTRCO0lBSXRDLFNBQVMsRUFBRSxTQUE0QixHR0toQztFQUZELFNBQVMsQ0FBVztJSFAxQixJQUFJLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUE0QjtJQUl0QyxTQUFTLEVBQUUsR0FBNEIsR0dLaEM7RUFGRCxVQUFVLENBQVU7SUhQMUIsSUFBSSxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsU0FBNEI7SUFJdEMsU0FBUyxFQUFFLFNBQTRCLEdHS2hDO0VBRkQsVUFBVSxDQUFVO0lIUDFCLElBQUksRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLFNBQTRCO0lBSXRDLFNBQVMsRUFBRSxTQUE0QixHR0toQztFQUZELFVBQVUsQ0FBVTtJSFAxQixJQUFJLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUE0QjtJQUl0QyxTQUFTLEVBQUUsSUFBNEIsR0dLaEM7RUFHSCxlQUFlLENBQU87SUFBRSxLQUFLLEVBQUUsRUFBRSxHQUFJO0VBRXJDLGNBQWMsQ0FBTztJQUFFLEtBQUssRUQ2S0osRUFBRSxHQzdLb0I7RUFHNUMsV0FBVyxDQUFXO0lBQUUsS0FBSyxFQURsQixDQUFDLEdBQ3lCO0VBQXJDLFdBQVcsQ0FBVztJQUFFLEtBQUssRUFEbEIsQ0FBQyxHQUN5QjtFQUFyQyxXQUFXLENBQVc7SUFBRSxLQUFLLEVBRGxCLENBQUMsR0FDeUI7RUFBckMsV0FBVyxDQUFXO0lBQUUsS0FBSyxFQURsQixDQUFDLEdBQ3lCO0VBQXJDLFdBQVcsQ0FBVztJQUFFLEtBQUssRUFEbEIsQ0FBQyxHQUN5QjtFQUFyQyxXQUFXLENBQVc7SUFBRSxLQUFLLEVBRGxCLENBQUMsR0FDeUI7RUFBckMsV0FBVyxDQUFXO0lBQUUsS0FBSyxFQURsQixDQUFDLEdBQ3lCO0VBQXJDLFdBQVcsQ0FBVztJQUFFLEtBQUssRUFEbEIsQ0FBQyxHQUN5QjtFQUFyQyxXQUFXLENBQVc7SUFBRSxLQUFLLEVBRGxCLENBQUMsR0FDeUI7RUFBckMsV0FBVyxDQUFXO0lBQUUsS0FBSyxFQURsQixDQUFDLEdBQ3lCO0VBQXJDLFlBQVksQ0FBVTtJQUFFLEtBQUssRUFEbEIsRUFBQyxHQUN5QjtFQUFyQyxZQUFZLENBQVU7SUFBRSxLQUFLLEVBRGxCLEVBQUMsR0FDeUI7RUFBckMsWUFBWSxDQUFVO0lBQUUsS0FBSyxFQURsQixFQUFDLEdBQ3lCO0VBTW5DLFlBQVksQ0FBVztJSFIvQixXQUFXLEVBQWdCLENBQUMsR0dVbkI7RUFGRCxZQUFZLENBQVc7SUhSL0IsV0FBVyxFQUFtQixRQUFnQixHR1VyQztFQUZELFlBQVksQ0FBVztJSFIvQixXQUFXLEVBQW1CLFNBQWdCLEdHVXJDO0VBRkQsWUFBWSxDQUFXO0lIUi9CLFdBQVcsRUFBbUIsR0FBZ0IsR0dVckM7RUFGRCxZQUFZLENBQVc7SUhSL0IsV0FBVyxFQUFtQixTQUFnQixHR1VyQztFQUZELFlBQVksQ0FBVztJSFIvQixXQUFXLEVBQW1CLFNBQWdCLEdHVXJDO0VBRkQsWUFBWSxDQUFXO0lIUi9CLFdBQVcsRUFBbUIsR0FBZ0IsR0dVckM7RUFGRCxZQUFZLENBQVc7SUhSL0IsV0FBVyxFQUFtQixTQUFnQixHR1VyQztFQUZELFlBQVksQ0FBVztJSFIvQixXQUFXLEVBQW1CLFNBQWdCLEdHVXJDO0VBRkQsWUFBWSxDQUFXO0lIUi9CLFdBQVcsRUFBbUIsR0FBZ0IsR0dVckM7RUFGRCxhQUFhLENBQVU7SUhSL0IsV0FBVyxFQUFtQixTQUFnQixHR1VyQztFQUZELGFBQWEsQ0FBVTtJSFIvQixXQUFXLEVBQW1CLFNBQWdCLEdHVXJDOztBRkxQLE1BQU0sRUFBRSxTQUFTLEVBQUUsS0FBSztFRTlCdEIsT0FBTyxDQUFPO0lBQ1osVUFBVSxFQUFFLENBQUM7SUFDYixTQUFTLEVBQUUsQ0FBQztJQUNaLFNBQVMsRUFBRSxJQUFJLEdBQ2hCO0VBR0MsQUgyQk4sY0czQm9CLEdIMkJoQixDQUFDLENBQUM7SUFDSixJQUFJLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFhO0lBQ3ZCLFNBQVMsRUFBRSxJQUFhLEdBQ3pCO0VHOUJLLEFIMkJOLGNHM0JvQixHSDJCaEIsQ0FBQyxDQUFDO0lBQ0osSUFBSSxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBYTtJQUN2QixTQUFTLEVBQUUsR0FBYSxHQUN6QjtFRzlCSyxBSDJCTixjRzNCb0IsR0gyQmhCLENBQUMsQ0FBQztJQUNKLElBQUksRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLFNBQWE7SUFDdkIsU0FBUyxFQUFFLFNBQWEsR0FDekI7RUc5QkssQUgyQk4sY0czQm9CLEdIMkJoQixDQUFDLENBQUM7SUFDSixJQUFJLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFhO0lBQ3ZCLFNBQVMsRUFBRSxHQUFhLEdBQ3pCO0VHOUJLLEFIMkJOLGNHM0JvQixHSDJCaEIsQ0FBQyxDQUFDO0lBQ0osSUFBSSxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBYTtJQUN2QixTQUFTLEVBQUUsR0FBYSxHQUN6QjtFRzlCSyxBSDJCTixjRzNCb0IsR0gyQmhCLENBQUMsQ0FBQztJQUNKLElBQUksRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLFNBQWE7SUFDdkIsU0FBUyxFQUFFLFNBQWEsR0FDekI7RUd6QkcsWUFBWSxDQUFPO0lITXZCLElBQUksRUFBRSxRQUFRO0lBQ2QsS0FBSyxFQUFFLElBQUk7SUFDWCxTQUFTLEVBQUUsSUFBSSxHR05WO0VBR0MsU0FBUyxDQUFXO0lIUDFCLElBQUksRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLFFBQTRCO0lBSXRDLFNBQVMsRUFBRSxRQUE0QixHR0toQztFQUZELFNBQVMsQ0FBVztJSFAxQixJQUFJLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxTQUE0QjtJQUl0QyxTQUFTLEVBQUUsU0FBNEIsR0dLaEM7RUFGRCxTQUFTLENBQVc7SUhQMUIsSUFBSSxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBNEI7SUFJdEMsU0FBUyxFQUFFLEdBQTRCLEdHS2hDO0VBRkQsU0FBUyxDQUFXO0lIUDFCLElBQUksRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLFNBQTRCO0lBSXRDLFNBQVMsRUFBRSxTQUE0QixHR0toQztFQUZELFNBQVMsQ0FBVztJSFAxQixJQUFJLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxTQUE0QjtJQUl0QyxTQUFTLEVBQUUsU0FBNEIsR0dLaEM7RUFGRCxTQUFTLENBQVc7SUhQMUIsSUFBSSxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBNEI7SUFJdEMsU0FBUyxFQUFFLEdBQTRCLEdHS2hDO0VBRkQsU0FBUyxDQUFXO0lIUDFCLElBQUksRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLFNBQTRCO0lBSXRDLFNBQVMsRUFBRSxTQUE0QixHR0toQztFQUZELFNBQVMsQ0FBVztJSFAxQixJQUFJLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxTQUE0QjtJQUl0QyxTQUFTLEVBQUUsU0FBNEIsR0dLaEM7RUFGRCxTQUFTLENBQVc7SUhQMUIsSUFBSSxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBNEI7SUFJdEMsU0FBUyxFQUFFLEdBQTRCLEdHS2hDO0VBRkQsVUFBVSxDQUFVO0lIUDFCLElBQUksRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLFNBQTRCO0lBSXRDLFNBQVMsRUFBRSxTQUE0QixHR0toQztFQUZELFVBQVUsQ0FBVTtJSFAxQixJQUFJLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxTQUE0QjtJQUl0QyxTQUFTLEVBQUUsU0FBNEIsR0dLaEM7RUFGRCxVQUFVLENBQVU7SUhQMUIsSUFBSSxFQUFFLENBQUMs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RyxNQUFNLFNBQVMsRUFBRSxLQUFLO0lBSHhDLEFBQ0ksa0JBRGMsQ0FDZCxlQUFlLENBQUM7TUFHUixNQUFNLEV0Q3hITixRQUFpQixDc0N3SEEsQ0FBQyxHQUV6Qjs7QUM1SEwsQUFFUSw2QkFGcUIsQ0FDekIsUUFBUSxDQUNKLE9BQU8sQ0FBQTtFQUNILE1BQU0sRXZDRE4sU0FBaUIsQ3VDQ0YsQ0FBQyxHQVNuQjtFL0NnREwsTUFBTSxFQUFFLFNBQVMsRUFBRSxLQUFLO0krQzVENUIsQUFFUSw2QkFGcUIsQ0FDekIsUUFBUSxDQUNKLE9BQU8sQ0FBQTtNQUlDLE1BQU0sRXZDSlYsUUFBaUIsQ3VDSUUsQ0FBQyxHQU12QjtFQVpULEFBU1ksNkJBVGlCLENBQ3pCLFFBQVEsQ0FDSixPQUFPLEFBT0YsWUFBWSxDQUFBO0lBQ1QsVUFBVSxFQUFDLENBQUMsR0FDZiIsImZpbGUiOiJhcHAuY3NzIiwic291cmNlc0NvbnRlbnQiOlsiLyogRnJvbSBub2RlX21vZHVsZXMgKi9cbkBpbXBvcnQgJ25vcm1hbGl6ZSc7XG5AaW1wb3J0ICdib290c3RyYXAtZ3JpZCc7IC8qIGlmIHdlIG5lZWQgdG8gZWRpdCBib290c3RyYXAgc3R5bGVzLCBqdXN0IGNvcHkgYWxsIGZpbGVzIHRvIHZlbmRvciBmb2xkZXIgKi9cblxuQGltcG9ydCAnYmFzZS92YXJpYWJsZXMnO1xuQGltcG9ydCAnYmFzZS9taXhpbnMnO1xuXG5AaW1wb3J0ICdiYXNlL2Zvcm1zJztcbkBpbXBvcnQgJ2Jhc2UvZm9udHMnO1xuQGltcG9ydCAnYmFzZS9nZW5lcmFsJztcbkBpbXBvcnQgJ2Jhc2UvdGl0bGVzJztcbkBpbXBvcnQgJ2Jhc2UvYnV0dG9ucyc7XG5cbkBpbXBvcnQgJ3NlY3Rpb25zL2N0YSc7XG5AaW1wb3J0ICdzZWN0aW9ucy9wcm9taXNlcyc7XG5AaW1wb3J0ICdzZWN0aW9ucy9fYmxvY2tzLTFvcmFuZ2UnO1xuQGltcG9ydCAnc2VjdGlvbnMvX2ltYWdlcy1ibG9jayc7XG5AaW1wb3J0ICdzZWN0aW9ucy9fY2FzZS1zdHVkeS1saXN0aW5nLWJsb2NrJztcbkBpbXBvcnQgJ3NlY3Rpb25zL19nZW5lcmljJztcbkBpbXBvcnQgJ3NlY3Rpb25zL19wcm9kdWN0LWRlc2NyaXB0aW9uJztcblxuQGltcG9ydCAncGFydGlhbHMvMy1jb2wtbGlua3MnO1xuQGltcG9ydCAncGFydGlhbHMvY29udGFjdC11cyc7XG5AaW1wb3J0ICdwYXJ0aWFscy9jcmFmdC1mb3JtJztcbkBpbXBvcnQgJ3BhcnRpYWxzL2Nlbyc7XG5AaW1wb3J0ICdwYXJ0aWFscy9kb3dubG9hZHMnO1xuQGltcG9ydCAncGFydGlhbHMvaGVhZGVyJztcbkBpbXBvcnQgJ3BhcnRpYWxzL2hlcm8nO1xuQGltcG9ydCAncGFydGlhbHMvaG9tZS1oZXJvJztcbkBpbXBvcnQgJ3BhcnRpYWxzL2ZlYXR1cmVkLXByb2R1Y3QnO1xuQGltcG9ydCAncGFydGlhbHMvZm9vdGVyJztcbkBpbXBvcnQgJ3BhcnRpYWxzL2dlbmVyaWMtY29udGVudCc7XG5AaW1wb3J0ICdwYXJ0aWFscy9sb2NhdGlvbnMnO1xuQGltcG9ydCAncGFydGlhbHMvbWFpbGluZy1saXN0JztcbkBpbXBvcnQgJ3BhcnRpYWxzL25ld3MnO1xuQGltcG9ydCAncGFydGlhbHMvcHJvZHVjdHMtYW5kLXNlcnZpY2VzJztcbkBpbXBvcnQgJ3BhcnRpYWxzL3NlYXJjaCc7XG5AaW1wb3J0ICdwYXJ0aWFscy9zZWxlY3QtY2F0ZWdvcnknO1xuQGltcG9ydCAncGFydGlhbHMvc3RlZWwtYm9vayc7XG5AaW1wb3J0ICdwYXJ0aWFscy93ZWxkd2VsbCc7XG5AaW1wb3J0ICdwYXJ0aWFscy9wcm9taXNlcy1wYWdlJztcblxuQGltcG9ydCAncGFnZXMvNDA0JztcbkBpbXBvcnQgJ3BhZ2VzL2Nhc2Utc3R1ZHknO1xuQGltcG9ydCAncGFnZXMvY29udGFjdC11cyc7XG5AaW1wb3J0ICdwYWdlcy9kb3dubG9hZHMnO1xuQGltcG9ydCAncGFnZXMvZmluZC1hLWJyYW5jaCc7XG5AaW1wb3J0ICdwYWdlcy9ob21lJztcbkBpbXBvcnQgJ3BhZ2VzL3Byb2R1Y3RzJztcbkBpbXBvcnQgJ3BhZ2VzL3Byb2R1Y3RzLXNpbmdsZSc7XG4iLCIvKiEgbm9ybWFsaXplLmNzcyB2Ny4wLjAgfCBNSVQgTGljZW5zZSB8IGdpdGh1Yi5jb20vbmVjb2xhcy9ub3JtYWxpemUuY3NzICovXG5cbi8qIERvY3VtZW50XG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKipcbiAqIDEuIENvcnJlY3QgdGhlIGxpbmUgaGVpZ2h0IGluIGFsbCBicm93c2Vycy5cbiAqIDIuIFByZXZlbnQgYWRqdXN0bWVudHMgb2YgZm9udCBzaXplIGFmdGVyIG9yaWVudGF0aW9uIGNoYW5nZXMgaW5cbiAqICAgIElFIG9uIFdpbmRvd3MgUGhvbmUgYW5kIGluIGlPUy5cbiAqL1xuXG5odG1sIHtcbiAgbGluZS1oZWlnaHQ6IDEuMTU7IC8qIDEgKi9cbiAgLW1zLXRleHQtc2l6ZS1hZGp1c3Q6IDEwMCU7IC8qIDIgKi9cbiAgLXdlYmtpdC10ZXh0LXNpemUtYWRqdXN0OiAxMDAlOyAvKiAyICovXG59XG5cbi8qIFNlY3Rpb25zXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKipcbiAqIFJlbW92ZSB0aGUgbWFyZ2luIGluIGFsbCBicm93c2VycyAob3BpbmlvbmF0ZWQpLlxuICovXG5cbmJvZHkge1xuICBtYXJnaW46IDA7XG59XG5cbi8qKlxuICogQWRkIHRoZSBjb3JyZWN0IGRpc3BsYXkgaW4gSUUgOS0uXG4gKi9cblxuYXJ0aWNsZSxcbmFzaWRlLFxuZm9vdGVyLFxuaGVhZGVyLFxubmF2LFxuc2VjdGlvbiB7XG4gIGRpc3BsYXk6IGJsb2NrO1xufVxuXG4vKipcbiAqIENvcnJlY3QgdGhlIGZvbnQgc2l6ZSBhbmQgbWFyZ2luIG9uIGBoMWAgZWxlbWVudHMgd2l0aGluIGBzZWN0aW9uYCBhbmRcbiAqIGBhcnRpY2xlYCBjb250ZXh0cyBpbiBDaHJvbWUsIEZpcmVmb3gsIGFuZCBTYWZhcmkuXG4gKi9cblxuaDEge1xuICBmb250LXNpemU6IDJlbTtcbiAgbWFyZ2luOiAwLjY3ZW0gMDtcbn1cblxuLyogR3JvdXBpbmcgY29udGVudFxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLyoqXG4gKiBBZGQgdGhlIGNvcnJlY3QgZGlzcGxheSBpbiBJRSA5LS5cbiAqIDEuIEFkZCB0aGUgY29ycmVjdCBkaXNwbGF5IGluIElFLlxuICovXG5cbmZpZ2NhcHRpb24sXG5maWd1cmUsXG5tYWluIHsgLyogMSAqL1xuICBkaXNwbGF5OiBibG9jaztcbn1cblxuLyoqXG4gKiBBZGQgdGhlIGNvcnJlY3QgbWFyZ2luIGluIElFIDguXG4gKi9cblxuZmlndXJlIHtcbiAgbWFyZ2luOiAxZW0gNDBweDtcbn1cblxuLyoqXG4gKiAxLiBBZGQgdGhlIGNvcnJlY3QgYm94IHNpemluZyBpbiBGaXJlZm94LlxuICogMi4gU2hvdyB0aGUgb3ZlcmZsb3cgaW4gRWRnZSBhbmQgSUUuXG4gKi9cblxuaHIge1xuICBib3gtc2l6aW5nOiBjb250ZW50LWJveDsgLyogMSAqL1xuICBoZWlnaHQ6IDA7IC8qIDEgKi9cbiAgb3ZlcmZsb3c6IHZpc2libGU7IC8qIDIgKi9cbn1cblxuLyoqXG4gKiAxLiBDb3JyZWN0IHRoZSBpbmhlcml0YW5jZSBhbmQgc2NhbGluZyBvZiBmb250IHNpemUgaW4gYWxsIGJyb3dzZXJzLlxuICogMi4gQ29ycmVjdCB0aGUgb2RkIGBlbWAgZm9udCBzaXppbmcgaW4gYWxsIGJyb3dzZXJzLlxuICovXG5cbnByZSB7XG4gIGZvbnQtZmFtaWx5OiBtb25vc3BhY2UsIG1vbm9zcGFjZTsgLyogMSAqL1xuICBmb250LXNpemU6IDFlbTsgLyogMiAqL1xufVxuXG4vKiBUZXh0LWxldmVsIHNlbWFudGljc1xuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLyoqXG4gKiAxLiBSZW1vdmUgdGhlIGdyYXkgYmFja2dyb3VuZCBvbiBhY3RpdmUgbGlua3MgaW4gSUUgMTAuXG4gKiAyLiBSZW1vdmUgZ2FwcyBpbiBsaW5rcyB1bmRlcmxpbmUgaW4gaU9TIDgrIGFuZCBTYWZhcmkgOCsuXG4gKi9cblxuYSB7XG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50OyAvKiAxICovXG4gIC13ZWJraXQtdGV4dC1kZWNvcmF0aW9uLXNraXA6IG9iamVjdHM7IC8qIDIgKi9cbn1cblxuLyoqXG4gKiAxLiBSZW1vdmUgdGhlIGJvdHRvbSBib3JkZXIgaW4gQ2hyb21lIDU3LSBhbmQgRmlyZWZveCAzOS0uXG4gKiAyLiBBZGQgdGhlIGNvcnJlY3QgdGV4dCBkZWNvcmF0aW9uIGluIENocm9tZSwgRWRnZSwgSUUsIE9wZXJhLCBhbmQgU2FmYXJpLlxuICovXG5cbmFiYnJbdGl0bGVdIHtcbiAgYm9yZGVyLWJvdHRvbTogbm9uZTsgLyogMSAqL1xuICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTsgLyogMiAqL1xuICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZSBkb3R0ZWQ7IC8qIDIgKi9cbn1cblxuLyoqXG4gKiBQcmV2ZW50IHRoZSBkdXBsaWNhdGUgYXBwbGljYXRpb24gb2YgYGJvbGRlcmAgYnkgdGhlIG5leHQgcnVsZSBpbiBTYWZhcmkgNi5cbiAqL1xuXG5iLFxuc3Ryb25nIHtcbiAgZm9udC13ZWlnaHQ6IGluaGVyaXQ7XG59XG5cbi8qKlxuICogQWRkIHRoZSBjb3JyZWN0IGZvbnQgd2VpZ2h0IGluIENocm9tZSwgRWRnZSwgYW5kIFNhZmFyaS5cbiAqL1xuXG5iLFxuc3Ryb25nIHtcbiAgZm9udC13ZWlnaHQ6IGJvbGRlcjtcbn1cblxuLyoqXG4gKiAxLiBDb3JyZWN0IHRoZSBpbmhlcml0YW5jZSBhbmQgc2NhbGluZyBvZiBmb250IHNpemUgaW4gYWxsIGJyb3dzZXJzLlxuICogMi4gQ29ycmVjdCB0aGUgb2RkIGBlbWAgZm9udCBzaXppbmcgaW4gYWxsIGJyb3dzZXJzLlxuICovXG5cbmNvZGUsXG5rYmQsXG5zYW1wIHtcbiAgZm9udC1mYW1pbHk6IG1vbm9zcGFjZSwgbW9ub3NwYWNlOyAvKiAxICovXG4gIGZvbnQtc2l6ZTogMWVtOyAvKiAyICovXG59XG5cbi8qKlxuICogQWRkIHRoZSBjb3JyZWN0IGZvbnQgc3R5bGUgaW4gQW5kcm9pZCA0LjMtLlxuICovXG5cbmRmbiB7XG4gIGZvbnQtc3R5bGU6IGl0YWxpYztcbn1cblxuLyoqXG4gKiBBZGQgdGhlIGNvcnJlY3QgYmFja2dyb3VuZCBhbmQgY29sb3IgaW4gSUUgOS0uXG4gKi9cblxubWFyayB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZjA7XG4gIGNvbG9yOiAjMDAwO1xufVxuXG4vKipcbiAqIEFkZCB0aGUgY29ycmVjdCBmb250IHNpemUgaW4gYWxsIGJyb3dzZXJzLlxuICovXG5cbnNtYWxsIHtcbiAgZm9udC1zaXplOiA4MCU7XG59XG5cbi8qKlxuICogUHJldmVudCBgc3ViYCBhbmQgYHN1cGAgZWxlbWVudHMgZnJvbSBhZmZlY3RpbmcgdGhlIGxpbmUgaGVpZ2h0IGluXG4gKiBhbGwgYnJvd3NlcnMuXG4gKi9cblxuc3ViLFxuc3VwIHtcbiAgZm9udC1zaXplOiA3NSU7XG4gIGxpbmUtaGVpZ2h0OiAwO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHZlcnRpY2FsLWFsaWduOiBiYXNlbGluZTtcbn1cblxuc3ViIHtcbiAgYm90dG9tOiAtMC4yNWVtO1xufVxuXG5zdXAge1xuICB0b3A6IC0wLjVlbTtcbn1cblxuLyogRW1iZWRkZWQgY29udGVudFxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLyoqXG4gKiBBZGQgdGhlIGNvcnJlY3QgZGlzcGxheSBpbiBJRSA5LS5cbiAqL1xuXG5hdWRpbyxcbnZpZGVvIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xufVxuXG4vKipcbiAqIEFkZCB0aGUgY29ycmVjdCBkaXNwbGF5IGluIGlPUyA0LTcuXG4gKi9cblxuYXVkaW86bm90KFtjb250cm9sc10pIHtcbiAgZGlzcGxheTogbm9uZTtcbiAgaGVpZ2h0OiAwO1xufVxuXG4vKipcbiAqIFJlbW92ZSB0aGUgYm9yZGVyIG9uIGltYWdlcyBpbnNpZGUgbGlua3MgaW4gSUUgMTAtLlxuICovXG5cbmltZyB7XG4gIGJvcmRlci1zdHlsZTogbm9uZTtcbn1cblxuLyoqXG4gKiBIaWRlIHRoZSBvdmVyZmxvdyBpbiBJRS5cbiAqL1xuXG5zdmc6bm90KDpyb290KSB7XG4gIG92ZXJmbG93OiBoaWRkZW47XG59XG5cbi8qIEZvcm1zXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKipcbiAqIDEuIENoYW5nZSB0aGUgZm9udCBzdHlsZXMgaW4gYWxsIGJyb3dzZXJzIChvcGluaW9uYXRlZCkuXG4gKiAyLiBSZW1vdmUgdGhlIG1hcmdpbiBpbiBGaXJlZm94IGFuZCBTYWZhcmkuXG4gKi9cblxuYnV0dG9uLFxuaW5wdXQsXG5vcHRncm91cCxcbnNlbGVjdCxcbnRleHRhcmVhIHtcbiAgZm9udC1mYW1pbHk6IHNhbnMtc2VyaWY7IC8qIDEgKi9cbiAgZm9udC1zaXplOiAxMDAlOyAvKiAxICovXG4gIGxpbmUtaGVpZ2h0OiAxLjE1OyAvKiAxICovXG4gIG1hcmdpbjogMDsgLyogMiAqL1xufVxuXG4vKipcbiAqIFNob3cgdGhlIG92ZXJmbG93IGluIElFLlxuICogMS4gU2hvdyB0aGUgb3ZlcmZsb3cgaW4gRWRnZS5cbiAqL1xuXG5idXR0b24sXG5pbnB1dCB7IC8qIDEgKi9cbiAgb3ZlcmZsb3c6IHZpc2libGU7XG59XG5cbi8qKlxuICogUmVtb3ZlIHRoZSBpbmhlcml0YW5jZSBvZiB0ZXh0IHRyYW5zZm9ybSBpbiBFZGdlLCBGaXJlZm94LCBhbmQgSUUuXG4gKiAxLiBSZW1vdmUgdGhlIGluaGVyaXRhbmNlIG9mIHRleHQgdHJhbnNmb3JtIGluIEZpcmVmb3guXG4gKi9cblxuYnV0dG9uLFxuc2VsZWN0IHsgLyogMSAqL1xuICB0ZXh0LXRyYW5zZm9ybTogbm9uZTtcbn1cblxuLyoqXG4gKiAxLiBQcmV2ZW50IGEgV2ViS2l0IGJ1ZyB3aGVyZSAoMikgZGVzdHJveXMgbmF0aXZlIGBhdWRpb2AgYW5kIGB2aWRlb2BcbiAqICAgIGNvbnRyb2xzIGluIEFuZHJvaWQgNC5cbiAqIDIuIENvcnJlY3QgdGhlIGluYWJpbGl0eSB0byBzdHlsZSBjbGlja2FibGUgdHlwZXMgaW4gaU9TIGFuZCBTYWZhcmkuXG4gKi9cblxuYnV0dG9uLFxuaHRtbCBbdHlwZT1cImJ1dHRvblwiXSwgLyogMSAqL1xuW3R5cGU9XCJyZXNldFwiXSxcblt0eXBlPVwic3VibWl0XCJdIHtcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiBidXR0b247IC8qIDIgKi9cbn1cblxuLyoqXG4gKiBSZW1vdmUgdGhlIGlubmVyIGJvcmRlciBhbmQgcGFkZGluZyBpbiBGaXJlZm94LlxuICovXG5cbmJ1dHRvbjo6LW1vei1mb2N1cy1pbm5lcixcblt0eXBlPVwiYnV0dG9uXCJdOjotbW96LWZvY3VzLWlubmVyLFxuW3R5cGU9XCJyZXNldFwiXTo6LW1vei1mb2N1cy1pbm5lcixcblt0eXBlPVwic3VibWl0XCJdOjotbW96LWZvY3VzLWlubmVyIHtcbiAgYm9yZGVyLXN0eWxlOiBub25lO1xuICBwYWRkaW5nOiAwO1xufVxuXG4vKipcbiAqIFJlc3RvcmUgdGhlIGZvY3VzIHN0eWxlcyB1bnNldCBieSB0aGUgcHJldmlvdXMgcnVsZS5cbiAqL1xuXG5idXR0b246LW1vei1mb2N1c3JpbmcsXG5bdHlwZT1cImJ1dHRvblwiXTotbW96LWZvY3VzcmluZyxcblt0eXBlPVwicmVzZXRcIl06LW1vei1mb2N1c3JpbmcsXG5bdHlwZT1cInN1Ym1pdFwiXTotbW96LWZvY3VzcmluZyB7XG4gIG91dGxpbmU6IDFweCBkb3R0ZWQgQnV0dG9uVGV4dDtcbn1cblxuLyoqXG4gKiBDb3JyZWN0IHRoZSBwYWRkaW5nIGluIEZpcmVmb3guXG4gKi9cblxuZmllbGRzZXQge1xuICBwYWRkaW5nOiAwLjM1ZW0gMC43NWVtIDAuNjI1ZW07XG59XG5cbi8qKlxuICogMS4gQ29ycmVjdCB0aGUgdGV4dCB3cmFwcGluZyBpbiBFZGdlIGFuZCBJRS5cbiAqIDIuIENvcnJlY3QgdGhlIGNvbG9yIGluaGVyaXRhbmNlIGZyb20gYGZpZWxkc2V0YCBlbGVtZW50cyBpbiBJRS5cbiAqIDMuIFJlbW92ZSB0aGUgcGFkZGluZyBzbyBkZXZlbG9wZXJzIGFyZSBub3QgY2F1Z2h0IG91dCB3aGVuIHRoZXkgemVybyBvdXRcbiAqICAgIGBmaWVsZHNldGAgZWxlbWVudHMgaW4gYWxsIGJyb3dzZXJzLlxuICovXG5cbmxlZ2VuZCB7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7IC8qIDEgKi9cbiAgY29sb3I6IGluaGVyaXQ7IC8qIDIgKi9cbiAgZGlzcGxheTogdGFibGU7IC8qIDEgKi9cbiAgbWF4LXdpZHRoOiAxMDAlOyAvKiAxICovXG4gIHBhZGRpbmc6IDA7IC8qIDMgKi9cbiAgd2hpdGUtc3BhY2U6IG5vcm1hbDsgLyogMSAqL1xufVxuXG4vKipcbiAqIDEuIEFkZCB0aGUgY29ycmVjdCBkaXNwbGF5IGluIElFIDktLlxuICogMi4gQWRkIHRoZSBjb3JyZWN0IHZlcnRpY2FsIGFsaWdubWVudCBpbiBDaHJvbWUsIEZpcmVmb3gsIGFuZCBPcGVyYS5cbiAqL1xuXG5wcm9ncmVzcyB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jazsgLyogMSAqL1xuICB2ZXJ0aWNhbC1hbGlnbjogYmFzZWxpbmU7IC8qIDIgKi9cbn1cblxuLyoqXG4gKiBSZW1vdmUgdGhlIGRlZmF1bHQgdmVydGljYWwgc2Nyb2xsYmFyIGluIElFLlxuICovXG5cbnRleHRhcmVhIHtcbiAgb3ZlcmZsb3c6IGF1dG87XG59XG5cbi8qKlxuICogMS4gQWRkIHRoZSBjb3JyZWN0IGJveCBzaXppbmcgaW4gSUUgMTAtLlxuICogMi4gUmVtb3ZlIHRoZSBwYWRkaW5nIGluIElFIDEwLS5cbiAqL1xuXG5bdHlwZT1cImNoZWNrYm94XCJdLFxuW3R5cGU9XCJyYWRpb1wiXSB7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7IC8qIDEgKi9cbiAgcGFkZGluZzogMDsgLyogMiAqL1xufVxuXG4vKipcbiAqIENvcnJlY3QgdGhlIGN1cnNvciBzdHlsZSBvZiBpbmNyZW1lbnQgYW5kIGRlY3JlbWVudCBidXR0b25zIGluIENocm9tZS5cbiAqL1xuXG5bdHlwZT1cIm51bWJlclwiXTo6LXdlYmtpdC1pbm5lci1zcGluLWJ1dHRvbixcblt0eXBlPVwibnVtYmVyXCJdOjotd2Via2l0LW91dGVyLXNwaW4tYnV0dG9uIHtcbiAgaGVpZ2h0OiBhdXRvO1xufVxuXG4vKipcbiAqIDEuIENvcnJlY3QgdGhlIG9kZCBhcHBlYXJhbmNlIGluIENocm9tZSBhbmQgU2FmYXJpLlxuICogMi4gQ29ycmVjdCB0aGUgb3V0bGluZSBzdHlsZSBpbiBTYWZhcmkuXG4gKi9cblxuW3R5cGU9XCJzZWFyY2hcIl0ge1xuICAtd2Via2l0LWFwcGVhcmFuY2U6IHRleHRmaWVsZDsgLyogMSAqL1xuICBvdXRsaW5lLW9mZnNldDogLTJweDsgLyogMiAqL1xufVxuXG4vKipcbiAqIFJlbW92ZSB0aGUgaW5uZXIgcGFkZGluZyBhbmQgY2FuY2VsIGJ1dHRvbnMgaW4gQ2hyb21lIGFuZCBTYWZhcmkgb24gbWFjT1MuXG4gKi9cblxuW3R5cGU9XCJzZWFyY2hcIl06Oi13ZWJraXQtc2VhcmNoLWNhbmNlbC1idXR0b24sXG5bdHlwZT1cInNlYXJjaFwiXTo6LXdlYmtpdC1zZWFyY2gtZGVjb3JhdGlvbiB7XG4gIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTtcbn1cblxuLyoqXG4gKiAxLiBDb3JyZWN0IHRoZSBpbmFiaWxpdHkgdG8gc3R5bGUgY2xpY2thYmxlIHR5cGVzIGluIGlPUyBhbmQgU2FmYXJpLlxuICogMi4gQ2hhbmdlIGZvbnQgcHJvcGVydGllcyB0byBgaW5oZXJpdGAgaW4gU2FmYXJpLlxuICovXG5cbjo6LXdlYmtpdC1maWxlLXVwbG9hZC1idXR0b24ge1xuICAtd2Via2l0LWFwcGVhcmFuY2U6IGJ1dHRvbjsgLyogMSAqL1xuICBmb250OiBpbmhlcml0OyAvKiAyICovXG59XG5cbi8qIEludGVyYWN0aXZlXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKlxuICogQWRkIHRoZSBjb3JyZWN0IGRpc3BsYXkgaW4gSUUgOS0uXG4gKiAxLiBBZGQgdGhlIGNvcnJlY3QgZGlzcGxheSBpbiBFZGdlLCBJRSwgYW5kIEZpcmVmb3guXG4gKi9cblxuZGV0YWlscywgLyogMSAqL1xubWVudSB7XG4gIGRpc3BsYXk6IGJsb2NrO1xufVxuXG4vKlxuICogQWRkIHRoZSBjb3JyZWN0IGRpc3BsYXkgaW4gYWxsIGJyb3dzZXJzLlxuICovXG5cbnN1bW1hcnkge1xuICBkaXNwbGF5OiBsaXN0LWl0ZW07XG59XG5cbi8qIFNjcmlwdGluZ1xuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLyoqXG4gKiBBZGQgdGhlIGNvcnJlY3QgZGlzcGxheSBpbiBJRSA5LS5cbiAqL1xuXG5jYW52YXMge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG59XG5cbi8qKlxuICogQWRkIHRoZSBjb3JyZWN0IGRpc3BsYXkgaW4gSUUuXG4gKi9cblxudGVtcGxhdGUge1xuICBkaXNwbGF5OiBub25lO1xufVxuXG4vKiBIaWRkZW5cbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qKlxuICogQWRkIHRoZSBjb3JyZWN0IGRpc3BsYXkgaW4gSUUgMTAtLlxuICovXG5cbltoaWRkZW5dIHtcbiAgZGlzcGxheTogbm9uZTtcbn1cbiIsIi8qIVxuICogQm9vdHN0cmFwIEdyaWQgdjQuNC4xIChodHRwczovL2dldGJvb3RzdHJhcC5jb20vKVxuICogQ29weXJpZ2h0IDIwMTEtMjAxOSBUaGUgQm9vdHN0cmFwIEF1dGhvcnNcbiAqIENvcHlyaWdodCAyMDExLTIwMTkgVHdpdHRlciwgSW5jLlxuICogTGljZW5zZWQgdW5kZXIgTUlUIChodHRwczovL2dpdGh1Yi5jb20vdHdicy9ib290c3RyYXAvYmxvYi9tYXN0ZXIvTElDRU5TRSlcbiAqL1xuXG5odG1sIHtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgLW1zLW92ZXJmbG93LXN0eWxlOiBzY3JvbGxiYXI7XG59XG5cbiosXG4qOjpiZWZvcmUsXG4qOjphZnRlciB7XG4gIGJveC1zaXppbmc6IGluaGVyaXQ7XG59XG5cbkBpbXBvcnQgXCJmdW5jdGlvbnNcIjtcbkBpbXBvcnQgXCJ2YXJpYWJsZXNcIjtcblxuQGltcG9ydCBcIm1peGlucy9icmVha3BvaW50c1wiO1xuQGltcG9ydCBcIm1peGlucy9ncmlkLWZyYW1ld29ya1wiO1xuQGltcG9ydCBcIm1peGlucy9ncmlkXCI7XG5cbkBpbXBvcnQgXCJncmlkXCI7XG5AaW1wb3J0IFwidXRpbGl0aWVzL2Rpc3BsYXlcIjtcbkBpbXBvcnQgXCJ1dGlsaXRpZXMvZmxleFwiO1xuQGltcG9ydCBcInV0aWxpdGllcy9zcGFjaW5nXCI7XG4iLCIvLyBDb250YWluZXIgd2lkdGhzXG4vL1xuLy8gU2V0IHRoZSBjb250YWluZXIgd2lkdGgsIGFuZCBvdmVycmlkZSBpdCBmb3IgZml4ZWQgbmF2YmFycyBpbiBtZWRpYSBxdWVyaWVzLlxuXG5AaWYgJGVuYWJsZS1ncmlkLWNsYXNzZXMge1xuICAvLyBTaW5nbGUgY29udGFpbmVyIGNsYXNzIHdpdGggYnJlYWtwb2ludCBtYXgtd2lkdGhzXG4gIC5jb250YWluZXIge1xuICAgIEBpbmNsdWRlIG1ha2UtY29udGFpbmVyKCk7XG4gICAgQGluY2x1ZGUgbWFrZS1jb250YWluZXItbWF4LXdpZHRocygpO1xuICB9XG5cbiAgLy8gMTAwJSB3aWRlIGNvbnRhaW5lciBhdCBhbGwgYnJlYWtwb2ludHNcbiAgLmNvbnRhaW5lci1mbHVpZCB7XG4gICAgQGluY2x1ZGUgbWFrZS1jb250YWluZXIoKTtcbiAgfVxuXG4gIC8vIFJlc3BvbnNpdmUgY29udGFpbmVycyB0aGF0IGFyZSAxMDAlIHdpZGUgdW50aWwgYSBicmVha3BvaW50XG4gIEBlYWNoICRicmVha3BvaW50LCAkY29udGFpbmVyLW1heC13aWR0aCBpbiAkY29udGFpbmVyLW1heC13aWR0aHMge1xuICAgIC5jb250YWluZXItI3skYnJlYWtwb2ludH0ge1xuICAgICAgQGV4dGVuZCAuY29udGFpbmVyLWZsdWlkO1xuICAgIH1cblxuICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAoJGJyZWFrcG9pbnQsICRncmlkLWJyZWFrcG9pbnRzKSB7XG4gICAgICAlcmVzcG9uc2l2ZS1jb250YWluZXItI3skYnJlYWtwb2ludH0ge1xuICAgICAgICBtYXgtd2lkdGg6ICRjb250YWluZXItbWF4LXdpZHRoO1xuICAgICAgfVxuXG4gICAgICBAZWFjaCAkbmFtZSwgJHdpZHRoIGluICRncmlkLWJyZWFrcG9pbnRzIHtcbiAgICAgICAgQGlmICgkY29udGFpbmVyLW1heC13aWR0aCA+ICR3aWR0aCBvciAkYnJlYWtwb2ludCA9PSAkbmFtZSkge1xuICAgICAgICAgIC5jb250YWluZXIje2JyZWFrcG9pbnQtaW5maXgoJG5hbWUsICRncmlkLWJyZWFrcG9pbnRzKX0ge1xuICAgICAgICAgICAgQGV4dGVuZCAlcmVzcG9uc2l2ZS1jb250YWluZXItI3skYnJlYWtwb2ludH07XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cblxuLy8gUm93XG4vL1xuLy8gUm93cyBjb250YWluIHlvdXIgY29sdW1ucy5cblxuQGlmICRlbmFibGUtZ3JpZC1jbGFzc2VzIHtcbiAgLnJvdyB7XG4gICAgQGluY2x1ZGUgbWFrZS1yb3coKTtcbiAgfVxuXG4gIC8vIFJlbW92ZSB0aGUgbmVnYXRpdmUgbWFyZ2luIGZyb20gZGVmYXVsdCAucm93LCB0aGVuIHRoZSBob3Jpem9udGFsIHBhZGRpbmdcbiAgLy8gZnJvbSBhbGwgaW1tZWRpYXRlIGNoaWxkcmVuIGNvbHVtbnMgKHRvIHByZXZlbnQgcnVuYXdheSBzdHlsZSBpbmhlcml0YW5jZSkuXG4gIC5uby1ndXR0ZXJzIHtcbiAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gICAgbWFyZ2luLWxlZnQ6IDA7XG5cbiAgICA+IC5jb2wsXG4gICAgPiBbY2xhc3MqPVwiY29sLVwiXSB7XG4gICAgICBwYWRkaW5nLXJpZ2h0OiAwO1xuICAgICAgcGFkZGluZy1sZWZ0OiAwO1xuICAgIH1cbiAgfVxufVxuXG4vLyBDb2x1bW5zXG4vL1xuLy8gQ29tbW9uIHN0eWxlcyBmb3Igc21hbGwgYW5kIGxhcmdlIGdyaWQgY29sdW1uc1xuXG5AaWYgJGVuYWJsZS1ncmlkLWNsYXNzZXMge1xuICBAaW5jbHVkZSBtYWtlLWdyaWQtY29sdW1ucygpO1xufVxuIiwiLy8vIEdyaWQgc3lzdGVtXG4vL1xuLy8gR2VuZXJhdGUgc2VtYW50aWMgZ3JpZCBjb2x1bW5zIHdpdGggdGhlc2UgbWl4aW5zLlxuXG5AbWl4aW4gbWFrZS1jb250YWluZXIoJGd1dHRlcjogJGdyaWQtZ3V0dGVyLXdpZHRoKSB7XG4gIHdpZHRoOiAxMDAlO1xuICBwYWRkaW5nLXJpZ2h0OiAkZ3V0dGVyIC8gMjtcbiAgcGFkZGluZy1sZWZ0OiAkZ3V0dGVyIC8gMjtcbiAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xuICBtYXJnaW4tbGVmdDogYXV0bztcbn1cblxuXG4vLyBGb3IgZWFjaCBicmVha3BvaW50LCBkZWZpbmUgdGhlIG1heGltdW0gd2lkdGggb2YgdGhlIGNvbnRhaW5lciBpbiBhIG1lZGlhIHF1ZXJ5XG5AbWl4aW4gbWFrZS1jb250YWluZXItbWF4LXdpZHRocygkbWF4LXdpZHRoczogJGNvbnRhaW5lci1tYXgtd2lkdGhzLCAkYnJlYWtwb2ludHM6ICRncmlkLWJyZWFrcG9pbnRzKSB7XG4gIEBlYWNoICRicmVha3BvaW50LCAkY29udGFpbmVyLW1heC13aWR0aCBpbiAkbWF4LXdpZHRocyB7XG4gICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cCgkYnJlYWtwb2ludCwgJGJyZWFrcG9pbnRzKSB7XG4gICAgICBtYXgtd2lkdGg6ICRjb250YWluZXItbWF4LXdpZHRoO1xuICAgIH1cbiAgfVxufVxuXG5AbWl4aW4gbWFrZS1yb3coJGd1dHRlcjogJGdyaWQtZ3V0dGVyLXdpZHRoKSB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtd3JhcDogd3JhcDtcbiAgbWFyZ2luLXJpZ2h0OiAtJGd1dHRlciAvIDI7XG4gIG1hcmdpbi1sZWZ0OiAtJGd1dHRlciAvIDI7XG59XG5cbkBtaXhpbiBtYWtlLWNvbC1yZWFkeSgkZ3V0dGVyOiAkZ3JpZC1ndXR0ZXItd2lkdGgpIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAvLyBQcmV2ZW50IGNvbHVtbnMgZnJvbSBiZWNvbWluZyB0b28gbmFycm93IHdoZW4gYXQgc21hbGxlciBncmlkIHRpZXJzIGJ5XG4gIC8vIGFsd2F5cyBzZXR0aW5nIGB3aWR0aDogMTAwJTtgLiBUaGlzIHdvcmtzIGJlY2F1c2Ugd2UgdXNlIGBmbGV4YCB2YWx1ZXNcbiAgLy8gbGF0ZXIgb24gdG8gb3ZlcnJpZGUgdGhpcyBpbml0aWFsIHdpZHRoLlxuICB3aWR0aDogMTAwJTtcbiAgcGFkZGluZy1yaWdodDogJGd1dHRlciAvIDI7XG4gIHBhZGRpbmctbGVmdDogJGd1dHRlciAvIDI7XG59XG5cbkBtaXhpbiBtYWtlLWNvbCgkc2l6ZSwgJGNvbHVtbnM6ICRncmlkLWNvbHVtbnMpIHtcbiAgZmxleDogMCAwIHBlcmNlbnRhZ2UoJHNpemUgLyAkY29sdW1ucyk7XG4gIC8vIEFkZCBhIGBtYXgtd2lkdGhgIHRvIGVuc3VyZSBjb250ZW50IHdpdGhpbiBlYWNoIGNvbHVtbiBkb2VzIG5vdCBibG93IG91dFxuICAvLyB0aGUgd2lkdGggb2YgdGhlIGNvbHVtbi4gQXBwbGllcyB0byBJRTEwKyBhbmQgRmlyZWZveC4gQ2hyb21lIGFuZCBTYWZhcmlcbiAgLy8gZG8gbm90IGFwcGVhciB0byByZXF1aXJlIHRoaXMuXG4gIG1heC13aWR0aDogcGVyY2VudGFnZSgkc2l6ZSAvICRjb2x1bW5zKTtcbn1cblxuQG1peGluIG1ha2UtY29sLWF1dG8oKSB7XG4gIGZsZXg6IDAgMCBhdXRvO1xuICB3aWR0aDogYXV0bztcbiAgbWF4LXdpZHRoOiAxMDAlOyAvLyBSZXNldCBlYXJsaWVyIGdyaWQgdGllcnNcbn1cblxuQG1peGluIG1ha2UtY29sLW9mZnNldCgkc2l6ZSwgJGNvbHVtbnM6ICRncmlkLWNvbHVtbnMpIHtcbiAgJG51bTogJHNpemUgLyAkY29sdW1ucztcbiAgbWFyZ2luLWxlZnQ6IGlmKCRudW0gPT0gMCwgMCwgcGVyY2VudGFnZSgkbnVtKSk7XG59XG5cbi8vIFJvdyBjb2x1bW5zXG4vL1xuLy8gU3BlY2lmeSBvbiBhIHBhcmVudCBlbGVtZW50KGUuZy4sIC5yb3cpIHRvIGZvcmNlIGltbWVkaWF0ZSBjaGlsZHJlbiBpbnRvIE5OXG4vLyBudW1iZXJvZiBjb2x1bW5zLiBTdXBwb3J0cyB3cmFwcGluZyB0byBuZXcgbGluZXMsIGJ1dCBkb2VzIG5vdCBkbyBhIE1hc29ucnlcbi8vIHN0eWxlIGdyaWQuXG5AbWl4aW4gcm93LWNvbHMoJGNvdW50KSB7XG4gICYgPiAqIHtcbiAgICBmbGV4OiAwIDAgMTAwJSAvICRjb3VudDtcbiAgICBtYXgtd2lkdGg6IDEwMCUgLyAkY291bnQ7XG4gIH1cbn1cbiIsIi8vIEJyZWFrcG9pbnQgdmlld3BvcnQgc2l6ZXMgYW5kIG1lZGlhIHF1ZXJpZXMuXG4vL1xuLy8gQnJlYWtwb2ludHMgYXJlIGRlZmluZWQgYXMgYSBtYXAgb2YgKG5hbWU6IG1pbmltdW0gd2lkdGgpLCBvcmRlciBmcm9tIHNtYWxsIHRvIGxhcmdlOlxuLy9cbi8vICAgICh4czogMCwgc206IDU3NnB4LCBtZDogNzY4cHgsIGxnOiA5OTJweCwgeGw6IDEyMDBweClcbi8vXG4vLyBUaGUgbWFwIGRlZmluZWQgaW4gdGhlIGAkZ3JpZC1icmVha3BvaW50c2AgZ2xvYmFsIHZhcmlhYmxlIGlzIHVzZWQgYXMgdGhlIGAkYnJlYWtwb2ludHNgIGFyZ3VtZW50IGJ5IGRlZmF1bHQuXG5cbi8vIE5hbWUgb2YgdGhlIG5leHQgYnJlYWtwb2ludCwgb3IgbnVsbCBmb3IgdGhlIGxhc3QgYnJlYWtwb2ludC5cbi8vXG4vLyAgICA+PiBicmVha3BvaW50LW5leHQoc20pXG4vLyAgICBtZFxuLy8gICAgPj4gYnJlYWtwb2ludC1uZXh0KHNtLCAoeHM6IDAsIHNtOiA1NzZweCwgbWQ6IDc2OHB4LCBsZzogOTkycHgsIHhsOiAxMjAwcHgpKVxuLy8gICAgbWRcbi8vICAgID4+IGJyZWFrcG9pbnQtbmV4dChzbSwgJGJyZWFrcG9pbnQtbmFtZXM6ICh4cyBzbSBtZCBsZyB4bCkpXG4vLyAgICBtZFxuQGZ1bmN0aW9uIGJyZWFrcG9pbnQtbmV4dCgkbmFtZSwgJGJyZWFrcG9pbnRzOiAkZ3JpZC1icmVha3BvaW50cywgJGJyZWFrcG9pbnQtbmFtZXM6IG1hcC1rZXlzKCRicmVha3BvaW50cykpIHtcbiAgJG46IGluZGV4KCRicmVha3BvaW50LW5hbWVzLCAkbmFtZSk7XG4gIEByZXR1cm4gaWYoJG4gIT0gbnVsbCBhbmQgJG4gPCBsZW5ndGgoJGJyZWFrcG9pbnQtbmFtZXMpLCBudGgoJGJyZWFrcG9pbnQtbmFtZXMsICRuICsgMSksIG51bGwpO1xufVxuXG4vLyBNaW5pbXVtIGJyZWFrcG9pbnQgd2lkdGguIE51bGwgZm9yIHRoZSBzbWFsbGVzdCAoZmlyc3QpIGJyZWFrcG9pbnQuXG4vL1xuLy8gICAgPj4gYnJlYWtwb2ludC1taW4oc20sICh4czogMCwgc206IDU3NnB4LCBtZDogNzY4cHgsIGxnOiA5OTJweCwgeGw6IDEyMDBweCkpXG4vLyAgICA1NzZweFxuQGZ1bmN0aW9uIGJyZWFrcG9pbnQtbWluKCRuYW1lLCAkYnJlYWtwb2ludHM6ICRncmlkLWJyZWFrcG9pbnRzKSB7XG4gICRtaW46IG1hcC1nZXQoJGJyZWFrcG9pbnRzLCAkbmFtZSk7XG4gIEByZXR1cm4gaWYoJG1pbiAhPSAwLCAkbWluLCBudWxsKTtcbn1cblxuLy8gTWF4aW11bSBicmVha3BvaW50IHdpZHRoLiBOdWxsIGZvciB0aGUgbGFyZ2VzdCAobGFzdCkgYnJlYWtwb2ludC5cbi8vIFRoZSBtYXhpbXVtIHZhbHVlIGlzIGNhbGN1bGF0ZWQgYXMgdGhlIG1pbmltdW0gb2YgdGhlIG5leHQgb25lIGxlc3MgMC4wMnB4XG4vLyB0byB3b3JrIGFyb3VuZCB0aGUgbGltaXRhdGlvbnMgb2YgYG1pbi1gIGFuZCBgbWF4LWAgcHJlZml4ZXMgYW5kIHZpZXdwb3J0cyB3aXRoIGZyYWN0aW9uYWwgd2lkdGhzLlxuLy8gU2VlIGh0dHBzOi8vd3d3LnczLm9yZy9UUi9tZWRpYXF1ZXJpZXMtNC8jbXEtbWluLW1heFxuLy8gVXNlcyAwLjAycHggcmF0aGVyIHRoYW4gMC4wMXB4IHRvIHdvcmsgYXJvdW5kIGEgY3VycmVudCByb3VuZGluZyBidWcgaW4gU2FmYXJpLlxuLy8gU2VlIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNzgyNjFcbi8vXG4vLyAgICA+PiBicmVha3BvaW50LW1heChzbSwgKHhzOiAwLCBzbTogNTc2cHgsIG1kOiA3NjhweCwgbGc6IDk5MnB4LCB4bDogMTIwMHB4KSlcbi8vICAgIDc2Ny45OHB4XG5AZnVuY3Rpb24gYnJlYWtwb2ludC1tYXgoJG5hbWUsICRicmVha3BvaW50czogJGdyaWQtYnJlYWtwb2ludHMpIHtcbiAgJG5leHQ6IGJyZWFrcG9pbnQtbmV4dCgkbmFtZSwgJGJyZWFrcG9pbnRzKTtcbiAgQHJldHVybiBpZigkbmV4dCwgYnJlYWtwb2ludC1taW4oJG5leHQsICRicmVha3BvaW50cykgLSAuMDIsIG51bGwpO1xufVxuXG4vLyBSZXR1cm5zIGEgYmxhbmsgc3RyaW5nIGlmIHNtYWxsZXN0IGJyZWFrcG9pbnQsIG90aGVyd2lzZSByZXR1cm5zIHRoZSBuYW1lIHdpdGggYSBkYXNoIGluIGZyb250LlxuLy8gVXNlZnVsIGZvciBtYWtpbmcgcmVzcG9uc2l2ZSB1dGlsaXRpZXMuXG4vL1xuLy8gICAgPj4gYnJlYWtwb2ludC1pbmZpeCh4cywgKHhzOiAwLCBzbTogNTc2cHgsIG1kOiA3NjhweCwgbGc6IDk5MnB4LCB4bDogMTIwMHB4KSlcbi8vICAgIFwiXCIgIChSZXR1cm5zIGEgYmxhbmsgc3RyaW5nKVxuLy8gICAgPj4gYnJlYWtwb2ludC1pbmZpeChzbSwgKHhzOiAwLCBzbTogNTc2cHgsIG1kOiA3NjhweCwgbGc6IDk5MnB4LCB4bDogMTIwMHB4KSlcbi8vICAgIFwiLXNtXCJcbkBmdW5jdGlvbiBicmVha3BvaW50LWluZml4KCRuYW1lLCAkYnJlYWtwb2ludHM6ICRncmlkLWJyZWFrcG9pbnRzKSB7XG4gIEByZXR1cm4gaWYoYnJlYWtwb2ludC1taW4oJG5hbWUsICRicmVha3BvaW50cykgPT0gbnVsbCwgXCJcIiwgXCItI3skbmFtZX1cIik7XG59XG5cbi8vIE1lZGlhIG9mIGF0IGxlYXN0IHRoZSBtaW5pbXVtIGJyZWFrcG9pbnQgd2lkdGguIE5vIHF1ZXJ5IGZvciB0aGUgc21hbGxlc3QgYnJlYWtwb2ludC5cbi8vIE1ha2VzIHRoZSBAY29udGVudCBhcHBseSB0byB0aGUgZ2l2ZW4gYnJlYWtwb2ludCBhbmQgd2lkZXIuXG5AbWl4aW4gbWVkaWEtYnJlYWtwb2ludC11cCgkbmFtZSwgJGJyZWFrcG9pbnRzOiAkZ3JpZC1icmVha3BvaW50cykge1xuICAkbWluOiBicmVha3BvaW50LW1pbigkbmFtZSwgJGJyZWFrcG9pbnRzKTtcbiAgQGlmICRtaW4ge1xuICAgIEBtZWRpYSAobWluLXdpZHRoOiAkbWluKSB7XG4gICAgICBAY29udGVudDtcbiAgICB9XG4gIH0gQGVsc2Uge1xuICAgIEBjb250ZW50O1xuICB9XG59XG5cbi8vIE1lZGlhIG9mIGF0IG1vc3QgdGhlIG1heGltdW0gYnJlYWtwb2ludCB3aWR0aC4gTm8gcXVlcnkgZm9yIHRoZSBsYXJnZXN0IGJyZWFrcG9pbnQuXG4vLyBNYWtlcyB0aGUgQGNvbnRlbnQgYXBwbHkgdG8gdGhlIGdpdmVuIGJyZWFrcG9pbnQgYW5kIG5hcnJvd2VyLlxuQG1peGluIG1lZGlhLWJyZWFrcG9pbnQtZG93bigkbmFtZSwgJGJyZWFrcG9pbnRzOiAkZ3JpZC1icmVha3BvaW50cykge1xuICAkbWF4OiBicmVha3BvaW50LW1heCgkbmFtZSwgJGJyZWFrcG9pbnRzKTtcbiAgQGlmICRtYXgge1xuICAgIEBtZWRpYSAobWF4LXdpZHRoOiAkbWF4KSB7XG4gICAgICBAY29udGVudDtcbiAgICB9XG4gIH0gQGVsc2Uge1xuICAgIEBjb250ZW50O1xuICB9XG59XG5cbi8vIE1lZGlhIHRoYXQgc3BhbnMgbXVsdGlwbGUgYnJlYWtwb2ludCB3aWR0aHMuXG4vLyBNYWtlcyB0aGUgQGNvbnRlbnQgYXBwbHkgYmV0d2VlbiB0aGUgbWluIGFuZCBtYXggYnJlYWtwb2ludHNcbkBtaXhpbiBtZWRpYS1icmVha3BvaW50LWJldHdlZW4oJGxvd2VyLCAkdXBwZXIsICRicmVha3BvaW50czogJGdyaWQtYnJlYWtwb2ludHMpIHtcbiAgJG1pbjogYnJlYWtwb2ludC1taW4oJGxvd2VyLCAkYnJlYWtwb2ludHMpO1xuICAkbWF4OiBicmVha3BvaW50LW1heCgkdXBwZXIsICRicmVha3BvaW50cyk7XG5cbiAgQGlmICRtaW4gIT0gbnVsbCBhbmQgJG1heCAhPSBudWxsIHtcbiAgICBAbWVkaWEgKG1pbi13aWR0aDogJG1pbikgYW5kIChtYXgtd2lkdGg6ICRtYXgpIHtcbiAgICAgIEBjb250ZW50O1xuICAgIH1cbiAgfSBAZWxzZSBpZiAkbWF4ID09IG51bGwge1xuICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAoJGxvd2VyLCAkYnJlYWtwb2ludHMpIHtcbiAgICAgIEBjb250ZW50O1xuICAgIH1cbiAgfSBAZWxzZSBpZiAkbWluID09IG51bGwge1xuICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtZG93bigkdXBwZXIsICRicmVha3BvaW50cykge1xuICAgICAgQGNvbnRlbnQ7XG4gICAgfVxuICB9XG59XG5cbi8vIE1lZGlhIGJldHdlZW4gdGhlIGJyZWFrcG9pbnQncyBtaW5pbXVtIGFuZCBtYXhpbXVtIHdpZHRocy5cbi8vIE5vIG1pbmltdW0gZm9yIHRoZSBzbWFsbGVzdCBicmVha3BvaW50LCBhbmQgbm8gbWF4aW11bSBmb3IgdGhlIGxhcmdlc3Qgb25lLlxuLy8gTWFrZXMgdGhlIEBjb250ZW50IGFwcGx5IG9ubHkgdG8gdGhlIGdpdmVuIGJyZWFrcG9pbnQsIG5vdCB2aWV3cG9ydHMgYW55IHdpZGVyIG9yIG5hcnJvd2VyLlxuQG1peGluIG1lZGlhLWJyZWFrcG9pbnQtb25seSgkbmFtZSwgJGJyZWFrcG9pbnRzOiAkZ3JpZC1icmVha3BvaW50cykge1xuICAkbWluOiBicmVha3BvaW50LW1pbigkbmFtZSwgJGJyZWFrcG9pbnRzKTtcbiAgJG1heDogYnJlYWtwb2ludC1tYXgoJG5hbWUsICRicmVha3BvaW50cyk7XG5cbiAgQGlmICRtaW4gIT0gbnVsbCBhbmQgJG1heCAhPSBudWxsIHtcbiAgICBAbWVkaWEgKG1pbi13aWR0aDogJG1pbikgYW5kIChtYXgtd2lkdGg6ICRtYXgpIHtcbiAgICAgIEBjb250ZW50O1xuICAgIH1cbiAgfSBAZWxzZSBpZiAkbWF4ID09IG51bGwge1xuICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAoJG5hbWUsICRicmVha3BvaW50cykge1xuICAgICAgQGNvbnRlbnQ7XG4gICAgfVxuICB9IEBlbHNlIGlmICRtaW4gPT0gbnVsbCB7XG4gICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC1kb3duKCRuYW1lLCAkYnJlYWtwb2ludHMpIHtcbiAgICAgIEBjb250ZW50O1xuICAgIH1cbiAgfVxufVxuIiwiLy8gVmFyaWFibGVzXG4vL1xuLy8gVmFyaWFibGVzIHNob3VsZCBmb2xsb3cgdGhlIGAkY29tcG9uZW50LXN0YXRlLXByb3BlcnR5LXNpemVgIGZvcm11bGEgZm9yXG4vLyBjb25zaXN0ZW50IG5hbWluZy4gRXg6ICRuYXYtbGluay1kaXNhYmxlZC1jb2xvciBhbmQgJG1vZGFsLWNvbnRlbnQtYm94LXNoYWRvdy14cy5cblxuLy8gQ29sb3Igc3lzdGVtXG5cbiR3aGl0ZTogICAgI2ZmZiAhZGVmYXVsdDtcbiRncmF5LTEwMDogI2Y4ZjlmYSAhZGVmYXVsdDtcbiRncmF5LTIwMDogI2U5ZWNlZiAhZGVmYXVsdDtcbiRncmF5LTMwMDogI2RlZTJlNiAhZGVmYXVsdDtcbiRncmF5LTQwMDogI2NlZDRkYSAhZGVmYXVsdDtcbiRncmF5LTUwMDogI2FkYjViZCAhZGVmYXVsdDtcbiRncmF5LTYwMDogIzZjNzU3ZCAhZGVmYXVsdDtcbiRncmF5LTcwMDogIzQ5NTA1NyAhZGVmYXVsdDtcbiRncmF5LTgwMDogIzM0M2E0MCAhZGVmYXVsdDtcbiRncmF5LTkwMDogIzIxMjUyOSAhZGVmYXVsdDtcbiRibGFjazogICAgIzAwMCAhZGVmYXVsdDtcblxuJGdyYXlzOiAoKSAhZGVmYXVsdDtcbi8vIHN0eWxlbGludC1kaXNhYmxlLW5leHQtbGluZSBzY3NzL2RvbGxhci12YXJpYWJsZS1kZWZhdWx0XG4kZ3JheXM6IG1hcC1tZXJnZShcbiAgKFxuICAgIFwiMTAwXCI6ICRncmF5LTEwMCxcbiAgICBcIjIwMFwiOiAkZ3JheS0yMDAsXG4gICAgXCIzMDBcIjogJGdyYXktMzAwLFxuICAgIFwiNDAwXCI6ICRncmF5LTQwMCxcbiAgICBcIjUwMFwiOiAkZ3JheS01MDAsXG4gICAgXCI2MDBcIjogJGdyYXktNjAwLFxuICAgIFwiNzAwXCI6ICRncmF5LTcwMCxcbiAgICBcIjgwMFwiOiAkZ3JheS04MDAsXG4gICAgXCI5MDBcIjogJGdyYXktOTAwXG4gICksXG4gICRncmF5c1xuKTtcblxuJGJsdWU6ICAgICMwMDdiZmYgIWRlZmF1bHQ7XG4kaW5kaWdvOiAgIzY2MTBmMiAhZGVmYXVsdDtcbiRwdXJwbGU6ICAjNmY0MmMxICFkZWZhdWx0O1xuJHBpbms6ICAgICNlODNlOGMgIWRlZmF1bHQ7XG4kcmVkOiAgICAgI2RjMzU0NSAhZGVmYXVsdDtcbiRvcmFuZ2U6ICAjZmQ3ZTE0ICFkZWZhdWx0O1xuJHllbGxvdzogICNmZmMxMDcgIWRlZmF1bHQ7XG4kZ3JlZW46ICAgIzI4YTc0NSAhZGVmYXVsdDtcbiR0ZWFsOiAgICAjMjBjOTk3ICFkZWZhdWx0O1xuJGN5YW46ICAgICMxN2EyYjggIWRlZmF1bHQ7XG5cbiRjb2xvcnM6ICgpICFkZWZhdWx0O1xuLy8gc3R5bGVsaW50LWRpc2FibGUtbmV4dC1saW5lIHNjc3MvZG9sbGFyLXZhcmlhYmxlLWRlZmF1bHRcbiRjb2xvcnM6IG1hcC1tZXJnZShcbiAgKFxuICAgIFwiYmx1ZVwiOiAgICAgICAkYmx1ZSxcbiAgICBcImluZGlnb1wiOiAgICAgJGluZGlnbyxcbiAgICBcInB1cnBsZVwiOiAgICAgJHB1cnBsZSxcbiAgICBcInBpbmtcIjogICAgICAgJHBpbmssXG4gICAgXCJyZWRcIjogICAgICAgICRyZWQsXG4gICAgXCJvcmFuZ2VcIjogICAgICRvcmFuZ2UsXG4gICAgXCJ5ZWxsb3dcIjogICAgICR5ZWxsb3csXG4gICAgXCJncmVlblwiOiAgICAgICRncmVlbixcbiAgICBcInRlYWxcIjogICAgICAgJHRlYWwsXG4gICAgXCJjeWFuXCI6ICAgICAgICRjeWFuLFxuICAgIFwid2hpdGVcIjogICAgICAkd2hpdGUsXG4gICAgXCJncmF5XCI6ICAgICAgICRncmF5LTYwMCxcbiAgICBcImdyYXktZGFya1wiOiAgJGdyYXktODAwXG4gICksXG4gICRjb2xvcnNcbik7XG5cbiRwcmltYXJ5OiAgICAgICAkYmx1ZSAhZGVmYXVsdDtcbiRzZWNvbmRhcnk6ICAgICAkZ3JheS02MDAgIWRlZmF1bHQ7XG4kc3VjY2VzczogICAgICAgJGdyZWVuICFkZWZhdWx0O1xuJGluZm86ICAgICAgICAgICRjeWFuICFkZWZhdWx0O1xuJHdhcm5pbmc6ICAgICAgICR5ZWxsb3cgIWRlZmF1bHQ7XG4kZGFuZ2VyOiAgICAgICAgJHJlZCAhZGVmYXVsdDtcbiRsaWdodDogICAgICAgICAkZ3JheS0xMDAgIWRlZmF1bHQ7XG4kZGFyazogICAgICAgICAgJGdyYXktODAwICFkZWZhdWx0O1xuXG4kdGhlbWUtY29sb3JzOiAoKSAhZGVmYXVsdDtcbi8vIHN0eWxlbGludC1kaXNhYmxlLW5leHQtbGluZSBzY3NzL2RvbGxhci12YXJpYWJsZS1kZWZhdWx0XG4kdGhlbWUtY29sb3JzOiBtYXAtbWVyZ2UoXG4gIChcbiAgICBcInByaW1hcnlcIjogICAgJHByaW1hcnksXG4gICAgXCJzZWNvbmRhcnlcIjogICRzZWNvbmRhcnksXG4gICAgXCJzdWNjZXNzXCI6ICAgICRzdWNjZXNzLFxuICAgIFwiaW5mb1wiOiAgICAgICAkaW5mbyxcbiAgICBcIndhcm5pbmdcIjogICAgJHdhcm5pbmcsXG4gICAgXCJkYW5nZXJcIjogICAgICRkYW5nZXIsXG4gICAgXCJsaWdodFwiOiAgICAgICRsaWdodCxcbiAgICBcImRhcmtcIjogICAgICAgJGRhcmtcbiAgKSxcbiAgJHRoZW1lLWNvbG9yc1xuKTtcblxuLy8gU2V0IGEgc3BlY2lmaWMganVtcCBwb2ludCBmb3IgcmVxdWVzdGluZyBjb2xvciBqdW1wc1xuJHRoZW1lLWNvbG9yLWludGVydmFsOiAgICAgIDglICFkZWZhdWx0O1xuXG4vLyBUaGUgeWlxIGxpZ2h0bmVzcyB2YWx1ZSB0aGF0IGRldGVybWluZXMgd2hlbiB0aGUgbGlnaHRuZXNzIG9mIGNvbG9yIGNoYW5nZXMgZnJvbSBcImRhcmtcIiB0byBcImxpZ2h0XCIuIEFjY2VwdGFibGUgdmFsdWVzIGFyZSBiZXR3ZWVuIDAgYW5kIDI1NS5cbiR5aXEtY29udHJhc3RlZC10aHJlc2hvbGQ6ICAxNTAgIWRlZmF1bHQ7XG5cbi8vIEN1c3RvbWl6ZSB0aGUgbGlnaHQgYW5kIGRhcmsgdGV4dCBjb2xvcnMgZm9yIHVzZSBpbiBvdXIgWUlRIGNvbG9yIGNvbnRyYXN0IGZ1bmN0aW9uLlxuJHlpcS10ZXh0LWRhcms6ICAgICAgICAgICAgICRncmF5LTkwMCAhZGVmYXVsdDtcbiR5aXEtdGV4dC1saWdodDogICAgICAgICAgICAkd2hpdGUgIWRlZmF1bHQ7XG5cbi8vIENoYXJhY3RlcnMgd2hpY2ggYXJlIGVzY2FwZWQgYnkgdGhlIGVzY2FwZS1zdmcgZnVuY3Rpb25cbiRlc2NhcGVkLWNoYXJhY3RlcnM6IChcbiAgKFwiPFwiLFwiJTNjXCIpLFxuICAoXCI+XCIsXCIlM2VcIiksXG4gIChcIiNcIixcIiUyM1wiKSxcbikgIWRlZmF1bHQ7XG5cblxuLy8gT3B0aW9uc1xuLy9cbi8vIFF1aWNrbHkgbW9kaWZ5IGdsb2JhbCBzdHlsaW5nIGJ5IGVuYWJsaW5nIG9yIGRpc2FibGluZyBvcHRpb25hbCBmZWF0dXJlcy5cblxuJGVuYWJsZS1jYXJldDogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRydWUgIWRlZmF1bHQ7XG4kZW5hYmxlLXJvdW5kZWQ6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdHJ1ZSAhZGVmYXVsdDtcbiRlbmFibGUtc2hhZG93czogICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmYWxzZSAhZGVmYXVsdDtcbiRlbmFibGUtZ3JhZGllbnRzOiAgICAgICAgICAgICAgICAgICAgICAgICAgICBmYWxzZSAhZGVmYXVsdDtcbiRlbmFibGUtdHJhbnNpdGlvbnM6ICAgICAgICAgICAgICAgICAgICAgICAgICB0cnVlICFkZWZhdWx0O1xuJGVuYWJsZS1wcmVmZXJzLXJlZHVjZWQtbW90aW9uLW1lZGlhLXF1ZXJ5OiAgIHRydWUgIWRlZmF1bHQ7XG4kZW5hYmxlLWhvdmVyLW1lZGlhLXF1ZXJ5OiAgICAgICAgICAgICAgICAgICAgZmFsc2UgIWRlZmF1bHQ7IC8vIERlcHJlY2F0ZWQsIG5vIGxvbmdlciBhZmZlY3RzIGFueSBjb21waWxlZCBDU1NcbiRlbmFibGUtZ3JpZC1jbGFzc2VzOiAgICAgICAgICAgICAgICAgICAgICAgICB0cnVlICFkZWZhdWx0O1xuJGVuYWJsZS1wb2ludGVyLWN1cnNvci1mb3ItYnV0dG9uczogICAgICAgICAgIHRydWUgIWRlZmF1bHQ7XG4kZW5hYmxlLXByaW50LXN0eWxlczogICAgICAgICAgICAgICAgICAgICAgICAgdHJ1ZSAhZGVmYXVsdDtcbiRlbmFibGUtcmVzcG9uc2l2ZS1mb250LXNpemVzOiAgICAgICAgICAgICAgICBmYWxzZSAhZGVmYXVsdDtcbiRlbmFibGUtdmFsaWRhdGlvbi1pY29uczogICAgICAgICAgICAgICAgICAgICB0cnVlICFkZWZhdWx0O1xuJGVuYWJsZS1kZXByZWNhdGlvbi1tZXNzYWdlczogICAgICAgICAgICAgICAgIHRydWUgIWRlZmF1bHQ7XG5cblxuLy8gU3BhY2luZ1xuLy9cbi8vIENvbnRyb2wgdGhlIGRlZmF1bHQgc3R5bGluZyBvZiBtb3N0IEJvb3RzdHJhcCBlbGVtZW50cyBieSBtb2RpZnlpbmcgdGhlc2Vcbi8vIHZhcmlhYmxlcy4gTW9zdGx5IGZvY3VzZWQgb24gc3BhY2luZy5cbi8vIFlvdSBjYW4gYWRkIG1vcmUgZW50cmllcyB0byB0aGUgJHNwYWNlcnMgbWFwLCBzaG91bGQgeW91IG5lZWQgbW9yZSB2YXJpYXRpb24uXG5cbiRzcGFjZXI6IDFyZW0gIWRlZmF1bHQ7XG4kc3BhY2VyczogKCkgIWRlZmF1bHQ7XG4vLyBzdHlsZWxpbnQtZGlzYWJsZS1uZXh0LWxpbmUgc2Nzcy9kb2xsYXItdmFyaWFibGUtZGVmYXVsdFxuJHNwYWNlcnM6IG1hcC1tZXJnZShcbiAgKFxuICAgIDA6IDAsXG4gICAgMTogKCRzcGFjZXIgKiAuMjUpLFxuICAgIDI6ICgkc3BhY2VyICogLjUpLFxuICAgIDM6ICRzcGFjZXIsXG4gICAgNDogKCRzcGFjZXIgKiAxLjUpLFxuICAgIDU6ICgkc3BhY2VyICogMylcbiAgKSxcbiAgJHNwYWNlcnNcbik7XG5cbi8vIFRoaXMgdmFyaWFibGUgYWZmZWN0cyB0aGUgYC5oLSpgIGFuZCBgLnctKmAgY2xhc3Nlcy5cbiRzaXplczogKCkgIWRlZmF1bHQ7XG4vLyBzdHlsZWxpbnQtZGlzYWJsZS1uZXh0LWxpbmUgc2Nzcy9kb2xsYXItdmFyaWFibGUtZGVmYXVsdFxuJHNpemVzOiBtYXAtbWVyZ2UoXG4gIChcbiAgICAyNTogMjUlLFxuICAgIDUwOiA1MCUsXG4gICAgNzU6IDc1JSxcbiAgICAxMDA6IDEwMCUsXG4gICAgYXV0bzogYXV0b1xuICApLFxuICAkc2l6ZXNcbik7XG5cblxuLy8gQm9keVxuLy9cbi8vIFNldHRpbmdzIGZvciB0aGUgYDxib2R5PmAgZWxlbWVudC5cblxuJGJvZHktYmc6ICAgICAgICAgICAgICAgICAgICR3aGl0ZSAhZGVmYXVsdDtcbiRib2R5LWNvbG9yOiAgICAgICAgICAgICAgICAkZ3JheS05MDAgIWRlZmF1bHQ7XG5cblxuLy8gTGlua3Ncbi8vXG4vLyBTdHlsZSBhbmNob3IgZWxlbWVudHMuXG5cbiRsaW5rLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRoZW1lLWNvbG9yKFwicHJpbWFyeVwiKSAhZGVmYXVsdDtcbiRsaW5rLWRlY29yYXRpb246ICAgICAgICAgICAgICAgICAgICAgICAgIG5vbmUgIWRlZmF1bHQ7XG4kbGluay1ob3Zlci1jb2xvcjogICAgICAgICAgICAgICAgICAgICAgICBkYXJrZW4oJGxpbmstY29sb3IsIDE1JSkgIWRlZmF1bHQ7XG4kbGluay1ob3Zlci1kZWNvcmF0aW9uOiAgICAgICAgICAgICAgICAgICB1bmRlcmxpbmUgIWRlZmF1bHQ7XG4vLyBEYXJrZW4gcGVyY2VudGFnZSBmb3IgbGlua3Mgd2l0aCBgLnRleHQtKmAgY2xhc3MgKGUuZy4gYC50ZXh0LXN1Y2Nlc3NgKVxuJGVtcGhhc2l6ZWQtbGluay1ob3Zlci1kYXJrZW4tcGVyY2VudGFnZTogMTUlICFkZWZhdWx0O1xuXG4vLyBQYXJhZ3JhcGhzXG4vL1xuLy8gU3R5bGUgcCBlbGVtZW50LlxuXG4kcGFyYWdyYXBoLW1hcmdpbi1ib3R0b206ICAgMXJlbSAhZGVmYXVsdDtcblxuXG4vLyBHcmlkIGJyZWFrcG9pbnRzXG4vL1xuLy8gRGVmaW5lIHRoZSBtaW5pbXVtIGRpbWVuc2lvbnMgYXQgd2hpY2ggeW91ciBsYXlvdXQgd2lsbCBjaGFuZ2UsXG4vLyBhZGFwdGluZyB0byBkaWZmZXJlbnQgc2NyZWVuIHNpemVzLCBmb3IgdXNlIGluIG1lZGlhIHF1ZXJpZXMuXG5cbiRncmlkLWJyZWFrcG9pbnRzOiAoXG4gIHhzOiAwLFxuICBzbTogNTc2cHgsXG4gIG1kOiA3NjhweCxcbiAgbGc6IDk5MnB4LFxuICB4bDogMTIwMHB4XG4pICFkZWZhdWx0O1xuXG5AaW5jbHVkZSBfYXNzZXJ0LWFzY2VuZGluZygkZ3JpZC1icmVha3BvaW50cywgXCIkZ3JpZC1icmVha3BvaW50c1wiKTtcbkBpbmNsdWRlIF9hc3NlcnQtc3RhcnRzLWF0LXplcm8oJGdyaWQtYnJlYWtwb2ludHMsIFwiJGdyaWQtYnJlYWtwb2ludHNcIik7XG5cblxuLy8gR3JpZCBjb250YWluZXJzXG4vL1xuLy8gRGVmaW5lIHRoZSBtYXhpbXVtIHdpZHRoIG9mIGAuY29udGFpbmVyYCBmb3IgZGlmZmVyZW50IHNjcmVlbiBzaXplcy5cblxuJGNvbnRhaW5lci1tYXgtd2lkdGhzOiAoXG4gIHNtOiA1NDBweCxcbiAgbWQ6IDcyMHB4LFxuICBsZzogOTYwcHgsXG4gIHhsOiAxMTQwcHhcbikgIWRlZmF1bHQ7XG5cbkBpbmNsdWRlIF9hc3NlcnQtYXNjZW5kaW5nKCRjb250YWluZXItbWF4LXdpZHRocywgXCIkY29udGFpbmVyLW1heC13aWR0aHNcIik7XG5cblxuLy8gR3JpZCBjb2x1bW5zXG4vL1xuLy8gU2V0IHRoZSBudW1iZXIgb2YgY29sdW1ucyBhbmQgc3BlY2lmeSB0aGUgd2lkdGggb2YgdGhlIGd1dHRlcnMuXG5cbiRncmlkLWNvbHVtbnM6ICAgICAgICAgICAgICAgIDEyICFkZWZhdWx0O1xuJGdyaWQtZ3V0dGVyLXdpZHRoOiAgICAgICAgICAgMzBweCAhZGVmYXVsdDtcbiRncmlkLXJvdy1jb2x1bW5zOiAgICAgICAgICAgIDYgIWRlZmF1bHQ7XG5cblxuLy8gQ29tcG9uZW50c1xuLy9cbi8vIERlZmluZSBjb21tb24gcGFkZGluZyBhbmQgYm9yZGVyIHJhZGl1cyBzaXplcyBhbmQgbW9yZS5cblxuJGxpbmUtaGVpZ2h0LWxnOiAgICAgICAgICAgICAgMS41ICFkZWZhdWx0O1xuJGxpbmUtaGVpZ2h0LXNtOiAgICAgICAgICAgICAgMS41ICFkZWZhdWx0O1xuXG4kYm9yZGVyLXdpZHRoOiAgICAgICAgICAgICAgICAxcHggIWRlZmF1bHQ7XG4kYm9yZGVyLWNvbG9yOiAgICAgICAgICAgICAgICAkZ3JheS0zMDAgIWRlZmF1bHQ7XG5cbiRib3JkZXItcmFkaXVzOiAgICAgICAgICAgICAgIC4yNXJlbSAhZGVmYXVsdDtcbiRib3JkZXItcmFkaXVzLWxnOiAgICAgICAgICAgIC4zcmVtICFkZWZhdWx0O1xuJGJvcmRlci1yYWRpdXMtc206ICAgICAgICAgICAgLjJyZW0gIWRlZmF1bHQ7XG5cbiRyb3VuZGVkLXBpbGw6ICAgICAgICAgICAgICAgIDUwcmVtICFkZWZhdWx0O1xuXG4kYm94LXNoYWRvdy1zbTogICAgICAgICAgICAgICAwIC4xMjVyZW0gLjI1cmVtIHJnYmEoJGJsYWNrLCAuMDc1KSAhZGVmYXVsdDtcbiRib3gtc2hhZG93OiAgICAgICAgICAgICAgICAgIDAgLjVyZW0gMXJlbSByZ2JhKCRibGFjaywgLjE1KSAhZGVmYXVsdDtcbiRib3gtc2hhZG93LWxnOiAgICAgICAgICAgICAgIDAgMXJlbSAzcmVtIHJnYmEoJGJsYWNrLCAuMTc1KSAhZGVmYXVsdDtcblxuJGNvbXBvbmVudC1hY3RpdmUtY29sb3I6ICAgICAgJHdoaXRlICFkZWZhdWx0O1xuJGNvbXBvbmVudC1hY3RpdmUtYmc6ICAgICAgICAgdGhlbWUtY29sb3IoXCJwcmltYXJ5XCIpICFkZWZhdWx0O1xuXG4kY2FyZXQtd2lkdGg6ICAgICAgICAgICAgICAgICAuM2VtICFkZWZhdWx0O1xuJGNhcmV0LXZlcnRpY2FsLWFsaWduOiAgICAgICAgJGNhcmV0LXdpZHRoICogLjg1ICFkZWZhdWx0O1xuJGNhcmV0LXNwYWNpbmc6ICAgICAgICAgICAgICAgJGNhcmV0LXdpZHRoICogLjg1ICFkZWZhdWx0O1xuXG4kdHJhbnNpdGlvbi1iYXNlOiAgICAgICAgICAgICBhbGwgLjJzIGVhc2UtaW4tb3V0ICFkZWZhdWx0O1xuJHRyYW5zaXRpb24tZmFkZTogICAgICAgICAgICAgb3BhY2l0eSAuMTVzIGxpbmVhciAhZGVmYXVsdDtcbiR0cmFuc2l0aW9uLWNvbGxhcHNlOiAgICAgICAgIGhlaWdodCAuMzVzIGVhc2UgIWRlZmF1bHQ7XG5cbiRlbWJlZC1yZXNwb25zaXZlLWFzcGVjdC1yYXRpb3M6ICgpICFkZWZhdWx0O1xuLy8gc3R5bGVsaW50LWRpc2FibGUtbmV4dC1saW5lIHNjc3MvZG9sbGFyLXZhcmlhYmxlLWRlZmF1bHRcbiRlbWJlZC1yZXNwb25zaXZlLWFzcGVjdC1yYXRpb3M6IGpvaW4oXG4gIChcbiAgICAoMjEgOSksXG4gICAgKDE2IDkpLFxuICAgICg0IDMpLFxuICAgICgxIDEpLFxuICApLFxuICAkZW1iZWQtcmVzcG9uc2l2ZS1hc3BlY3QtcmF0aW9zXG4pO1xuXG4vLyBUeXBvZ3JhcGh5XG4vL1xuLy8gRm9udCwgbGluZS1oZWlnaHQsIGFuZCBjb2xvciBmb3IgYm9keSB0ZXh0LCBoZWFkaW5ncywgYW5kIG1vcmUuXG5cbi8vIHN0eWxlbGludC1kaXNhYmxlIHZhbHVlLWtleXdvcmQtY2FzZVxuJGZvbnQtZmFtaWx5LXNhbnMtc2VyaWY6ICAgICAgLWFwcGxlLXN5c3RlbSwgQmxpbmtNYWNTeXN0ZW1Gb250LCBcIlNlZ29lIFVJXCIsIFJvYm90bywgXCJIZWx2ZXRpY2EgTmV1ZVwiLCBBcmlhbCwgXCJOb3RvIFNhbnNcIiwgc2Fucy1zZXJpZiwgXCJBcHBsZSBDb2xvciBFbW9qaVwiLCBcIlNlZ29lIFVJIEVtb2ppXCIsIFwiU2Vnb2UgVUkgU3ltYm9sXCIsIFwiTm90byBDb2xvciBFbW9qaVwiICFkZWZhdWx0O1xuJGZvbnQtZmFtaWx5LW1vbm9zcGFjZTogICAgICAgU0ZNb25vLVJlZ3VsYXIsIE1lbmxvLCBNb25hY28sIENvbnNvbGFzLCBcIkxpYmVyYXRpb24gTW9ub1wiLCBcIkNvdXJpZXIgTmV3XCIsIG1vbm9zcGFjZSAhZGVmYXVsdDtcbiRmb250LWZhbWlseS1iYXNlOiAgICAgICAgICAgICRmb250LWZhbWlseS1zYW5zLXNlcmlmICFkZWZhdWx0O1xuLy8gc3R5bGVsaW50LWVuYWJsZSB2YWx1ZS1rZXl3b3JkLWNhc2VcblxuJGZvbnQtc2l6ZS1iYXNlOiAgICAgICAgICAgICAgMXJlbSAhZGVmYXVsdDsgLy8gQXNzdW1lcyB0aGUgYnJvd3NlciBkZWZhdWx0LCB0eXBpY2FsbHkgYDE2cHhgXG4kZm9udC1zaXplLWxnOiAgICAgICAgICAgICAgICAkZm9udC1zaXplLWJhc2UgKiAxLjI1ICFkZWZhdWx0O1xuJGZvbnQtc2l6ZS1zbTogICAgICAgICAgICAgICAgJGZvbnQtc2l6ZS1iYXNlICogLjg3NSAhZGVmYXVsdDtcblxuJGZvbnQtd2VpZ2h0LWxpZ2h0ZXI6ICAgICAgICAgbGlnaHRlciAhZGVmYXVsdDtcbiRmb250LXdlaWdodC1saWdodDogICAgICAgICAgIDMwMCAhZGVmYXVsdDtcbiRmb250LXdlaWdodC1ub3JtYWw6ICAgICAgICAgIDQwMCAhZGVmYXVsdDtcbiRmb250LXdlaWdodC1ib2xkOiAgICAgICAgICAgIDcwMCAhZGVmYXVsdDtcbiRmb250LXdlaWdodC1ib2xkZXI6ICAgICAgICAgIGJvbGRlciAhZGVmYXVsdDtcblxuJGZvbnQtd2VpZ2h0LWJhc2U6ICAgICAgICAgICAgJGZvbnQtd2VpZ2h0LW5vcm1hbCAhZGVmYXVsdDtcbiRsaW5lLWhlaWdodC1iYXNlOiAgICAgICAgICAgIDEuNSAhZGVmYXVsdDtcblxuJGgxLWZvbnQtc2l6ZTogICAgICAgICAgICAgICAgJGZvbnQtc2l6ZS1iYXNlICogMi41ICFkZWZhdWx0O1xuJGgyLWZvbnQtc2l6ZTogICAgICAgICAgICAgICAgJGZvbnQtc2l6ZS1iYXNlICogMiAhZGVmYXVsdDtcbiRoMy1mb250LXNpemU6ICAgICAgICAgICAgICAgICRmb250LXNpemUtYmFzZSAqIDEuNzUgIWRlZmF1bHQ7XG4kaDQtZm9udC1zaXplOiAgICAgICAgICAgICAgICAkZm9udC1zaXplLWJhc2UgKiAxLjUgIWRlZmF1bHQ7XG4kaDUtZm9udC1zaXplOiAgICAgICAgICAgICAgICAkZm9udC1zaXplLWJhc2UgKiAxLjI1ICFkZWZhdWx0O1xuJGg2LWZvbnQtc2l6ZTogICAgICAgICAgICAgICAgJGZvbnQtc2l6ZS1iYXNlICFkZWZhdWx0O1xuXG4kaGVhZGluZ3MtbWFyZ2luLWJvdHRvbTogICAgICAkc3BhY2VyIC8gMiAhZGVmYXVsdDtcbiRoZWFkaW5ncy1mb250LWZhbWlseTogICAgICAgIG51bGwgIWRlZmF1bHQ7XG4kaGVhZGluZ3MtZm9udC13ZWlnaHQ6ICAgICAgICA1MDAgIWRlZmF1bHQ7XG4kaGVhZGluZ3MtbGluZS1oZWlnaHQ6ICAgICAgICAxLjIgIWRlZmF1bHQ7XG4kaGVhZGluZ3MtY29sb3I6ICAgICAgICAgICAgICBudWxsICFkZWZhdWx0O1xuXG4kZGlzcGxheTEtc2l6ZTogICAgICAgICAgICAgICA2cmVtICFkZWZhdWx0O1xuJGRpc3BsYXkyLXNpemU6ICAgICAgICAgICAgICAgNS41cmVtICFkZWZhdWx0O1xuJGRpc3BsYXkzLXNpemU6ICAgICAgICAgICAgICAgNC41cmVtICFkZWZhdWx0O1xuJGRpc3BsYXk0LXNpemU6ICAgICAgICAgICAgICAgMy41cmVtICFkZWZhdWx0O1xuXG4kZGlzcGxheTEtd2VpZ2h0OiAgICAgICAgICAgICAzMDAgIWRlZmF1bHQ7XG4kZGlzcGxheTItd2VpZ2h0OiAgICAgICAgICAgICAzMDAgIWRlZmF1bHQ7XG4kZGlzcGxheTMtd2VpZ2h0OiAgICAgICAgICAgICAzMDAgIWRlZmF1bHQ7XG4kZGlzcGxheTQtd2VpZ2h0OiAgICAgICAgICAgICAzMDAgIWRlZmF1bHQ7XG4kZGlzcGxheS1saW5lLWhlaWdodDogICAgICAgICAkaGVhZGluZ3MtbGluZS1oZWlnaHQgIWRlZmF1bHQ7XG5cbiRsZWFkLWZvbnQtc2l6ZTogICAgICAgICAgICAgICRmb250LXNpemUtYmFzZSAqIDEuMjUgIWRlZmF1bHQ7XG4kbGVhZC1mb250LXdlaWdodDogICAgICAgICAgICAzMDAgIWRlZmF1bHQ7XG5cbiRzbWFsbC1mb250LXNpemU6ICAgICAgICAgICAgIDgwJSAhZGVmYXVsdDtcblxuJHRleHQtbXV0ZWQ6ICAgICAgICAgICAgICAgICAgJGdyYXktNjAwICFkZWZhdWx0O1xuXG4kYmxvY2txdW90ZS1zbWFsbC1jb2xvcjogICAgICAkZ3JheS02MDAgIWRlZmF1bHQ7XG4kYmxvY2txdW90ZS1zbWFsbC1mb250LXNpemU6ICAkc21hbGwtZm9udC1zaXplICFkZWZhdWx0O1xuJGJsb2NrcXVvdGUtZm9udC1zaXplOiAgICAgICAgJGZvbnQtc2l6ZS1iYXNlICogMS4yNSAhZGVmYXVsdDtcblxuJGhyLWJvcmRlci1jb2xvcjogICAgICAgICAgICAgcmdiYSgkYmxhY2ssIC4xKSAhZGVmYXVsdDtcbiRoci1ib3JkZXItd2lkdGg6ICAgICAgICAgICAgICRib3JkZXItd2lkdGggIWRlZmF1bHQ7XG5cbiRtYXJrLXBhZGRpbmc6ICAgICAgICAgICAgICAgIC4yZW0gIWRlZmF1bHQ7XG5cbiRkdC1mb250LXdlaWdodDogICAgICAgICAgICAgICRmb250LXdlaWdodC1ib2xkICFkZWZhdWx0O1xuXG4ka2JkLWJveC1zaGFkb3c6ICAgICAgICAgICAgICBpbnNldCAwIC0uMXJlbSAwIHJnYmEoJGJsYWNrLCAuMjUpICFkZWZhdWx0O1xuJG5lc3RlZC1rYmQtZm9udC13ZWlnaHQ6ICAgICAgJGZvbnQtd2VpZ2h0LWJvbGQgIWRlZmF1bHQ7XG5cbiRsaXN0LWlubGluZS1wYWRkaW5nOiAgICAgICAgIC41cmVtICFkZWZhdWx0O1xuXG4kbWFyay1iZzogICAgICAgICAgICAgICAgICAgICAjZmNmOGUzICFkZWZhdWx0O1xuXG4kaHItbWFyZ2luLXk6ICAgICAgICAgICAgICAgICAkc3BhY2VyICFkZWZhdWx0O1xuXG5cbi8vIFRhYmxlc1xuLy9cbi8vIEN1c3RvbWl6ZXMgdGhlIGAudGFibGVgIGNvbXBvbmVudCB3aXRoIGJhc2ljIHZhbHVlcywgZWFjaCB1c2VkIGFjcm9zcyBhbGwgdGFibGUgdmFyaWF0aW9ucy5cblxuJHRhYmxlLWNlbGwtcGFkZGluZzogICAgICAgICAgLjc1cmVtICFkZWZhdWx0O1xuJHRhYmxlLWNlbGwtcGFkZGluZy1zbTogICAgICAgLjNyZW0gIWRlZmF1bHQ7XG5cbiR0YWJsZS1jb2xvcjogICAgICAgICAgICAgICAgICRib2R5LWNvbG9yICFkZWZhdWx0O1xuJHRhYmxlLWJnOiAgICAgICAgICAgICAgICAgICAgbnVsbCAhZGVmYXVsdDtcbiR0YWJsZS1hY2NlbnQtYmc6ICAgICAgICAgICAgIHJnYmEoJGJsYWNrLCAuMDUpICFkZWZhdWx0O1xuJHRhYmxlLWhvdmVyLWNvbG9yOiAgICAgICAgICAgJHRhYmxlLWNvbG9yICFkZWZhdWx0O1xuJHRhYmxlLWhvdmVyLWJnOiAgICAgICAgICAgICAgcmdiYSgkYmxhY2ssIC4wNzUpICFkZWZhdWx0O1xuJHRhYmxlLWFjdGl2ZS1iZzogICAgICAgICAgICAgJHRhYmxlLWhvdmVyLWJnICFkZWZhdWx0O1xuXG4kdGFibGUtYm9yZGVyLXdpZHRoOiAgICAgICAgICAkYm9yZGVyLXdpZHRoICFkZWZhdWx0O1xuJHRhYmxlLWJvcmRlci1jb2xvcjogICAgICAgICAgJGJvcmRlci1jb2xvciAhZGVmYXVsdDtcblxuJHRhYmxlLWhlYWQtYmc6ICAgICAgICAgICAgICAgJGdyYXktMjAwICFkZWZhdWx0O1xuJHRhYmxlLWhlYWQtY29sb3I6ICAgICAgICAgICAgJGdyYXktNzAwICFkZWZhdWx0O1xuXG4kdGFibGUtZGFyay1jb2xvcjogICAgICAgICAgICAkd2hpdGUgIWRlZmF1bHQ7XG4kdGFibGUtZGFyay1iZzogICAgICAgICAgICAgICAkZ3JheS04MDAgIWRlZmF1bHQ7XG4kdGFibGUtZGFyay1hY2NlbnQtYmc6ICAgICAgICByZ2JhKCR3aGl0ZSwgLjA1KSAhZGVmYXVsdDtcbiR0YWJsZS1kYXJrLWhvdmVyLWNvbG9yOiAgICAgICR0YWJsZS1kYXJrLWNvbG9yICFkZWZhdWx0O1xuJHRhYmxlLWRhcmstaG92ZXItYmc6ICAgICAgICAgcmdiYSgkd2hpdGUsIC4wNzUpICFkZWZhdWx0O1xuJHRhYmxlLWRhcmstYm9yZGVyLWNvbG9yOiAgICAgbGlnaHRlbigkdGFibGUtZGFyay1iZywgNy41JSkgIWRlZmF1bHQ7XG5cbiR0YWJsZS1zdHJpcGVkLW9yZGVyOiAgICAgICAgIG9kZCAhZGVmYXVsdDtcblxuJHRhYmxlLWNhcHRpb24tY29sb3I6ICAgICAgICAgJHRleHQtbXV0ZWQgIWRlZmF1bHQ7XG5cbiR0YWJsZS1iZy1sZXZlbDogICAgICAgICAgICAgIC05ICFkZWZhdWx0O1xuJHRhYmxlLWJvcmRlci1sZXZlbDogICAgICAgICAgLTYgIWRlZmF1bHQ7XG5cblxuLy8gQnV0dG9ucyArIEZvcm1zXG4vL1xuLy8gU2hhcmVkIHZhcmlhYmxlcyB0aGF0IGFyZSByZWFzc2lnbmVkIHRvIGAkaW5wdXQtYCBhbmQgYCRidG4tYCBzcGVjaWZpYyB2YXJpYWJsZXMuXG5cbiRpbnB1dC1idG4tcGFkZGluZy15OiAgICAgICAgIC4zNzVyZW0gIWRlZmF1bHQ7XG4kaW5wdXQtYnRuLXBhZGRpbmcteDogICAgICAgICAuNzVyZW0gIWRlZmF1bHQ7XG4kaW5wdXQtYnRuLWZvbnQtZmFtaWx5OiAgICAgICBudWxsICFkZWZhdWx0O1xuJGlucHV0LWJ0bi1mb250LXNpemU6ICAgICAgICAgJGZvbnQtc2l6ZS1iYXNlICFkZWZhdWx0O1xuJGlucHV0LWJ0bi1saW5lLWhlaWdodDogICAgICAgJGxpbmUtaGVpZ2h0LWJhc2UgIWRlZmF1bHQ7XG5cbiRpbnB1dC1idG4tZm9jdXMtd2lkdGg6ICAgICAgIC4ycmVtICFkZWZhdWx0O1xuJGlucHV0LWJ0bi1mb2N1cy1jb2xvcjogICAgICAgcmdiYSgkY29tcG9uZW50LWFjdGl2ZS1iZywgLjI1KSAhZGVmYXVsdDtcbiRpbnB1dC1idG4tZm9jdXMtYm94LXNoYWRvdzogIDAgMCAwICRpbnB1dC1idG4tZm9jdXMtd2lkdGggJGlucHV0LWJ0bi1mb2N1cy1jb2xvciAhZGVmYXVsdDtcblxuJGlucHV0LWJ0bi1wYWRkaW5nLXktc206ICAgICAgLjI1cmVtICFkZWZhdWx0O1xuJGlucHV0LWJ0bi1wYWRkaW5nLXgtc206ICAgICAgLjVyZW0gIWRlZmF1bHQ7XG4kaW5wdXQtYnRuLWZvbnQtc2l6ZS1zbTogICAgICAkZm9udC1zaXplLXNtICFkZWZhdWx0O1xuJGlucHV0LWJ0bi1saW5lLWhlaWdodC1zbTogICAgJGxpbmUtaGVpZ2h0LXNtICFkZWZhdWx0O1xuXG4kaW5wdXQtYnRuLXBhZGRpbmcteS1sZzogICAgICAuNXJlbSAhZGVmYXVsdDtcbiRpbnB1dC1idG4tcGFkZGluZy14LWxnOiAgICAgIDFyZW0gIWRlZmF1bHQ7XG4kaW5wdXQtYnRuLWZvbnQtc2l6ZS1sZzogICAgICAkZm9udC1zaXplLWxnICFkZWZhdWx0O1xuJGlucHV0LWJ0bi1saW5lLWhlaWdodC1sZzogICAgJGxpbmUtaGVpZ2h0LWxnICFkZWZhdWx0O1xuXG4kaW5wdXQtYnRuLWJvcmRlci13aWR0aDogICAgICAkYm9yZGVyLXdpZHRoICFkZWZhdWx0O1xuXG5cbi8vIEJ1dHRvbnNcbi8vXG4vLyBGb3IgZWFjaCBvZiBCb290c3RyYXAncyBidXR0b25zLCBkZWZpbmUgdGV4dCwgYmFja2dyb3VuZCwgYW5kIGJvcmRlciBjb2xvci5cblxuJGJ0bi1wYWRkaW5nLXk6ICAgICAgICAgICAgICAgJGlucHV0LWJ0bi1wYWRkaW5nLXkgIWRlZmF1bHQ7XG4kYnRuLXBhZGRpbmcteDogICAgICAgICAgICAgICAkaW5wdXQtYnRuLXBhZGRpbmcteCAhZGVmYXVsdDtcbiRidG4tZm9udC1mYW1pbHk6ICAgICAgICAgICAgICRpbnB1dC1idG4tZm9udC1mYW1pbHkgIWRlZmF1bHQ7XG4kYnRuLWZvbnQtc2l6ZTogICAgICAgICAgICAgICAkaW5wdXQtYnRuLWZvbnQtc2l6ZSAhZGVmYXVsdDtcbiRidG4tbGluZS1oZWlnaHQ6ICAgICAgICAgICAgICRpbnB1dC1idG4tbGluZS1oZWlnaHQgIWRlZmF1bHQ7XG4kYnRuLXdoaXRlLXNwYWNlOiAgICAgICAgICAgICBudWxsICFkZWZhdWx0OyAvLyBTZXQgdG8gYG5vd3JhcGAgdG8gcHJldmVudCB0ZXh0IHdyYXBwaW5nXG5cbiRidG4tcGFkZGluZy15LXNtOiAgICAgICAgICAgICRpbnB1dC1idG4tcGFkZGluZy15LXNtICFkZWZhdWx0O1xuJGJ0bi1wYWRkaW5nLXgtc206ICAgICAgICAgICAgJGlucHV0LWJ0bi1wYWRkaW5nLXgtc20gIWRlZmF1bHQ7XG4kYnRuLWZvbnQtc2l6ZS1zbTogICAgICAgICAgICAkaW5wdXQtYnRuLWZvbnQtc2l6ZS1zbSAhZGVmYXVsdDtcbiRidG4tbGluZS1oZWlnaHQtc206ICAgICAgICAgICRpbnB1dC1idG4tbGluZS1oZWlnaHQtc20gIWRlZmF1bHQ7XG5cbiRidG4tcGFkZGluZy15LWxnOiAgICAgICAgICAgICRpbnB1dC1idG4tcGFkZGluZy15LWxnICFkZWZhdWx0O1xuJGJ0bi1wYWRkaW5nLXgtbGc6ICAgICAgICAgICAgJGlucHV0LWJ0bi1wYWRkaW5nLXgtbGcgIWRlZmF1bHQ7XG4kYnRuLWZvbnQtc2l6ZS1sZzogICAgICAgICAgICAkaW5wdXQtYnRuLWZvbnQtc2l6ZS1sZyAhZGVmYXVsdDtcbiRidG4tbGluZS1oZWlnaHQtbGc6ICAgICAgICAgICRpbnB1dC1idG4tbGluZS1oZWlnaHQtbGcgIWRlZmF1bHQ7XG5cbiRidG4tYm9yZGVyLXdpZHRoOiAgICAgICAgICAgICRpbnB1dC1idG4tYm9yZGVyLXdpZHRoICFkZWZhdWx0O1xuXG4kYnRuLWZvbnQtd2VpZ2h0OiAgICAgICAgICAgICAkZm9udC13ZWlnaHQtbm9ybWFsICFkZWZhdWx0O1xuJGJ0bi1ib3gtc2hhZG93OiAgICAgICAgICAgICAgaW5zZXQgMCAxcHggMCByZ2JhKCR3aGl0ZSwgLjE1KSwgMCAxcHggMXB4IHJnYmEoJGJsYWNrLCAuMDc1KSAhZGVmYXVsdDtcbiRidG4tZm9jdXMtd2lkdGg6ICAgICAgICAgICAgICRpbnB1dC1idG4tZm9jdXMtd2lkdGggIWRlZmF1bHQ7XG4kYnRuLWZvY3VzLWJveC1zaGFkb3c6ICAgICAgICAkaW5wdXQtYnRuLWZvY3VzLWJveC1zaGFkb3cgIWRlZmF1bHQ7XG4kYnRuLWRpc2FibGVkLW9wYWNpdHk6ICAgICAgICAuNjUgIWRlZmF1bHQ7XG4kYnRuLWFjdGl2ZS1ib3gtc2hhZG93OiAgICAgICBpbnNldCAwIDNweCA1cHggcmdiYSgkYmxhY2ssIC4xMjUpICFkZWZhdWx0O1xuXG4kYnRuLWxpbmstZGlzYWJsZWQtY29sb3I6ICAgICAkZ3JheS02MDAgIWRlZmF1bHQ7XG5cbiRidG4tYmxvY2stc3BhY2luZy15OiAgICAgICAgIC41cmVtICFkZWZhdWx0O1xuXG4vLyBBbGxvd3MgZm9yIGN1c3RvbWl6aW5nIGJ1dHRvbiByYWRpdXMgaW5kZXBlbmRlbnRseSBmcm9tIGdsb2JhbCBib3JkZXIgcmFkaXVzXG4kYnRuLWJvcmRlci1yYWRpdXM6ICAgICAgICAgICAkYm9yZGVyLXJhZGl1cyAhZGVmYXVsdDtcbiRidG4tYm9yZGVyLXJhZGl1cy1sZzogICAgICAgICRib3JkZXItcmFkaXVzLWxnICFkZWZhdWx0O1xuJGJ0bi1ib3JkZXItcmFkaXVzLXNtOiAgICAgICAgJGJvcmRlci1yYWRpdXMtc20gIWRlZmF1bHQ7XG5cbiRidG4tdHJhbnNpdGlvbjogICAgICAgICAgICAgIGNvbG9yIC4xNXMgZWFzZS1pbi1vdXQsIGJhY2tncm91bmQtY29sb3IgLjE1cyBlYXNlLWluLW91dCwgYm9yZGVyLWNvbG9yIC4xNXMgZWFzZS1pbi1vdXQsIGJveC1zaGFkb3cgLjE1cyBlYXNlLWluLW91dCAhZGVmYXVsdDtcblxuXG4vLyBGb3Jtc1xuXG4kbGFiZWwtbWFyZ2luLWJvdHRvbTogICAgICAgICAgICAgICAgICAgLjVyZW0gIWRlZmF1bHQ7XG5cbiRpbnB1dC1wYWRkaW5nLXk6ICAgICAgICAgICAgICAgICAgICAgICAkaW5wdXQtYnRuLXBhZGRpbmcteSAhZGVmYXVsdDtcbiRpbnB1dC1wYWRkaW5nLXg6ICAgICAgICAgICAgICAgICAgICAgICAkaW5wdXQtYnRuLXBhZGRpbmcteCAhZGVmYXVsdDtcbiRpbnB1dC1mb250LWZhbWlseTogICAgICAgICAgICAgICAgICAgICAkaW5wdXQtYnRuLWZvbnQtZmFtaWx5ICFkZWZhdWx0O1xuJGlucHV0LWZvbnQtc2l6ZTogICAgICAgICAgICAgICAgICAgICAgICRpbnB1dC1idG4tZm9udC1zaXplICFkZWZhdWx0O1xuJGlucHV0LWZvbnQtd2VpZ2h0OiAgICAgICAgICAgICAgICAgICAgICRmb250LXdlaWdodC1iYXNlICFkZWZhdWx0O1xuJGlucHV0LWxpbmUtaGVpZ2h0OiAgICAgICAgICAgICAgICAgICAgICRpbnB1dC1idG4tbGluZS1oZWlnaHQgIWRlZmF1bHQ7XG5cbiRpbnB1dC1wYWRkaW5nLXktc206ICAgICAgICAgICAgICAgICAgICAkaW5wdXQtYnRuLXBhZGRpbmcteS1zbSAhZGVmYXVsdDtcbiRpbnB1dC1wYWRkaW5nLXgtc206ICAgICAgICAgICAgICAgICAgICAkaW5wdXQtYnRuLXBhZGRpbmcteC1zbSAhZGVmYXVsdDtcbiRpbnB1dC1mb250LXNpemUtc206ICAgICAgICAgICAgICAgICAgICAkaW5wdXQtYnRuLWZvbnQtc2l6ZS1zbSAhZGVmYXVsdDtcbiRpbnB1dC1saW5lLWhlaWdodC1zbTogICAgICAgICAgICAgICAgICAkaW5wdXQtYnRuLWxpbmUtaGVpZ2h0LXNtICFkZWZhdWx0O1xuXG4kaW5wdXQtcGFkZGluZy15LWxnOiAgICAgICAgICAgICAgICAgICAgJGlucHV0LWJ0bi1wYWRkaW5nLXktbGcgIWRlZmF1bHQ7XG4kaW5wdXQtcGFkZGluZy14LWxnOiAgICAgICAgICAgICAgICAgICAgJGlucHV0LWJ0bi1wYWRkaW5nLXgtbGcgIWRlZmF1bHQ7XG4kaW5wdXQtZm9udC1zaXplLWxnOiAgICAgICAgICAgICAgICAgICAgJGlucHV0LWJ0bi1mb250LXNpemUtbGcgIWRlZmF1bHQ7XG4kaW5wdXQtbGluZS1oZWlnaHQtbGc6ICAgICAgICAgICAgICAgICAgJGlucHV0LWJ0bi1saW5lLWhlaWdodC1sZyAhZGVmYXVsdDtcblxuJGlucHV0LWJnOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICR3aGl0ZSAhZGVmYXVsdDtcbiRpbnB1dC1kaXNhYmxlZC1iZzogICAgICAgICAgICAgICAgICAgICAkZ3JheS0yMDAgIWRlZmF1bHQ7XG5cbiRpbnB1dC1jb2xvcjogICAgICAgICAgICAgICAgICAgICAgICAgICAkZ3JheS03MDAgIWRlZmF1bHQ7XG4kaW5wdXQtYm9yZGVyLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgJGdyYXktNDAwICFkZWZhdWx0O1xuJGlucHV0LWJvcmRlci13aWR0aDogICAgICAgICAgICAgICAgICAgICRpbnB1dC1idG4tYm9yZGVyLXdpZHRoICFkZWZhdWx0O1xuJGlucHV0LWJveC1zaGFkb3c6ICAgICAgICAgICAgICAgICAgICAgIGluc2V0IDAgMXB4IDFweCByZ2JhKCRibGFjaywgLjA3NSkgIWRlZmF1bHQ7XG5cbiRpbnB1dC1ib3JkZXItcmFkaXVzOiAgICAgICAgICAgICAgICAgICAkYm9yZGVyLXJhZGl1cyAhZGVmYXVsdDtcbiRpbnB1dC1ib3JkZXItcmFkaXVzLWxnOiAgICAgICAgICAgICAgICAkYm9yZGVyLXJhZGl1cy1sZyAhZGVmYXVsdDtcbiRpbnB1dC1ib3JkZXItcmFkaXVzLXNtOiAgICAgICAgICAgICAgICAkYm9yZGVyLXJhZGl1cy1zbSAhZGVmYXVsdDtcblxuJGlucHV0LWZvY3VzLWJnOiAgICAgICAgICAgICAgICAgICAgICAgICRpbnB1dC1iZyAhZGVmYXVsdDtcbiRpbnB1dC1mb2N1cy1ib3JkZXItY29sb3I6ICAgICAgICAgICAgICBsaWdodGVuKCRjb21wb25lbnQtYWN0aXZlLWJnLCAyNSUpICFkZWZhdWx0O1xuJGlucHV0LWZvY3VzLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICRpbnB1dC1jb2xvciAhZGVmYXVsdDtcbiRpbnB1dC1mb2N1cy13aWR0aDogICAgICAgICAgICAgICAgICAgICAkaW5wdXQtYnRuLWZvY3VzLXdpZHRoICFkZWZhdWx0O1xuJGlucHV0LWZvY3VzLWJveC1zaGFkb3c6ICAgICAgICAgICAgICAgICRpbnB1dC1idG4tZm9jdXMtYm94LXNoYWRvdyAhZGVmYXVsdDtcblxuJGlucHV0LXBsYWNlaG9sZGVyLWNvbG9yOiAgICAgICAgICAgICAgICRncmF5LTYwMCAhZGVmYXVsdDtcbiRpbnB1dC1wbGFpbnRleHQtY29sb3I6ICAgICAgICAgICAgICAgICAkYm9keS1jb2xvciAhZGVmYXVsdDtcblxuJGlucHV0LWhlaWdodC1ib3JkZXI6ICAgICAgICAgICAgICAgICAgICRpbnB1dC1ib3JkZXItd2lkdGggKiAyICFkZWZhdWx0O1xuXG4kaW5wdXQtaGVpZ2h0LWlubmVyOiAgICAgICAgICAgICAgICAgICAgYWRkKCRpbnB1dC1saW5lLWhlaWdodCAqIDFlbSwgJGlucHV0LXBhZGRpbmcteSAqIDIpICFkZWZhdWx0O1xuJGlucHV0LWhlaWdodC1pbm5lci1oYWxmOiAgICAgICAgICAgICAgIGFkZCgkaW5wdXQtbGluZS1oZWlnaHQgKiAuNWVtLCAkaW5wdXQtcGFkZGluZy15KSAhZGVmYXVsdDtcbiRpbnB1dC1oZWlnaHQtaW5uZXItcXVhcnRlcjogICAgICAgICAgICBhZGQoJGlucHV0LWxpbmUtaGVpZ2h0ICogLjI1ZW0sICRpbnB1dC1wYWRkaW5nLXkgLyAyKSAhZGVmYXVsdDtcblxuJGlucHV0LWhlaWdodDogICAgICAgICAgICAgICAgICAgICAgICAgIGFkZCgkaW5wdXQtbGluZS1oZWlnaHQgKiAxZW0sIGFkZCgkaW5wdXQtcGFkZGluZy15ICogMiwgJGlucHV0LWhlaWdodC1ib3JkZXIsIGZhbHNlKSkgIWRlZmF1bHQ7XG4kaW5wdXQtaGVpZ2h0LXNtOiAgICAgICAgICAgICAgICAgICAgICAgYWRkKCRpbnB1dC1saW5lLWhlaWdodC1zbSAqIDFlbSwgYWRkKCRpbnB1dC1wYWRkaW5nLXktc20gKiAyLCAkaW5wdXQtaGVpZ2h0LWJvcmRlciwgZmFsc2UpKSAhZGVmYXVsdDtcbiRpbnB1dC1oZWlnaHQtbGc6ICAgICAgICAgICAgICAgICAgICAgICBhZGQoJGlucHV0LWxpbmUtaGVpZ2h0LWxnICogMWVtLCBhZGQoJGlucHV0LXBhZGRpbmcteS1sZyAqIDIsICRpbnB1dC1oZWlnaHQtYm9yZGVyLCBmYWxzZSkpICFkZWZhdWx0O1xuXG4kaW5wdXQtdHJhbnNpdGlvbjogICAgICAgICAgICAgICAgICAgICAgYm9yZGVyLWNvbG9yIC4xNXMgZWFzZS1pbi1vdXQsIGJveC1zaGFkb3cgLjE1cyBlYXNlLWluLW91dCAhZGVmYXVsdDtcblxuJGZvcm0tdGV4dC1tYXJnaW4tdG9wOiAgICAgICAgICAgICAgICAgIC4yNXJlbSAhZGVmYXVsdDtcblxuJGZvcm0tY2hlY2staW5wdXQtZ3V0dGVyOiAgICAgICAgICAgICAgIDEuMjVyZW0gIWRlZmF1bHQ7XG4kZm9ybS1jaGVjay1pbnB1dC1tYXJnaW4teTogICAgICAgICAgICAgLjNyZW0gIWRlZmF1bHQ7XG4kZm9ybS1jaGVjay1pbnB1dC1tYXJnaW4teDogICAgICAgICAgICAgLjI1cmVtICFkZWZhdWx0O1xuXG4kZm9ybS1jaGVjay1pbmxpbmUtbWFyZ2luLXg6ICAgICAgICAgICAgLjc1cmVtICFkZWZhdWx0O1xuJGZvcm0tY2hlY2staW5saW5lLWlucHV0LW1hcmdpbi14OiAgICAgIC4zMTI1cmVtICFkZWZhdWx0O1xuXG4kZm9ybS1ncmlkLWd1dHRlci13aWR0aDogICAgICAgICAgICAgICAgMTBweCAhZGVmYXVsdDtcbiRmb3JtLWdyb3VwLW1hcmdpbi1ib3R0b206ICAgICAgICAgICAgICAxcmVtICFkZWZhdWx0O1xuXG4kaW5wdXQtZ3JvdXAtYWRkb24tY29sb3I6ICAgICAgICAgICAgICAgJGlucHV0LWNvbG9yICFkZWZhdWx0O1xuJGlucHV0LWdyb3VwLWFkZG9uLWJnOiAgICAgICAgICAgICAgICAgICRncmF5LTIwMCAhZGVmYXVsdDtcbiRpbnB1dC1ncm91cC1hZGRvbi1ib3JkZXItY29sb3I6ICAgICAgICAkaW5wdXQtYm9yZGVyLWNvbG9yICFkZWZhdWx0O1xuXG4kY3VzdG9tLWZvcm1zLXRyYW5zaXRpb246ICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvciAuMTVzIGVhc2UtaW4tb3V0LCBib3JkZXItY29sb3IgLjE1cyBlYXNlLWluLW91dCwgYm94LXNoYWRvdyAuMTVzIGVhc2UtaW4tb3V0ICFkZWZhdWx0O1xuXG4kY3VzdG9tLWNvbnRyb2wtZ3V0dGVyOiAgICAgICAgICAgICAgICAgLjVyZW0gIWRlZmF1bHQ7XG4kY3VzdG9tLWNvbnRyb2wtc3BhY2VyLXg6ICAgICAgICAgICAgICAgMXJlbSAhZGVmYXVsdDtcbiRjdXN0b20tY29udHJvbC1jdXJzb3I6ICAgICAgICAgICAgICAgICBudWxsICFkZWZhdWx0O1xuXG4kY3VzdG9tLWNvbnRyb2wtaW5kaWNhdG9yLXNpemU6ICAgICAgICAgMXJlbSAhZGVmYXVsdDtcbiRjdXN0b20tY29udHJvbC1pbmRpY2F0b3ItYmc6ICAgICAgICAgICAkaW5wdXQtYmcgIWRlZmF1bHQ7XG5cbiRjdXN0b20tY29udHJvbC1pbmRpY2F0b3ItYmctc2l6ZTogICAgICA1MCUgNTAlICFkZWZhdWx0O1xuJGN1c3RvbS1jb250cm9sLWluZGljYXRvci1ib3gtc2hhZG93OiAgICRpbnB1dC1ib3gtc2hhZG93ICFkZWZhdWx0O1xuJGN1c3RvbS1jb250cm9sLWluZGljYXRvci1ib3JkZXItY29sb3I6ICRncmF5LTUwMCAhZGVmYXVsdDtcbiRjdXN0b20tY29udHJvbC1pbmRpY2F0b3ItYm9yZGVyLXdpZHRoOiAkaW5wdXQtYm9yZGVyLXdpZHRoICFkZWZhdWx0O1xuXG4kY3VzdG9tLWNvbnRyb2wtbGFiZWwtY29sb3I6ICAgICAgICAgICAgbnVsbCAhZGVmYXVsdDtcblxuJGN1c3RvbS1jb250cm9sLWluZGljYXRvci1kaXNhYmxlZC1iZzogICAgICAgICAgJGlucHV0LWRpc2FibGVkLWJnICFkZWZhdWx0O1xuJGN1c3RvbS1jb250cm9sLWxhYmVsLWRpc2FibGVkLWNvbG9yOiAgICAgICAgICAgJGdyYXktNjAwICFkZWZhdWx0O1xuXG4kY3VzdG9tLWNvbnRyb2wtaW5kaWNhdG9yLWNoZWNrZWQtY29sb3I6ICAgICAgICAkY29tcG9uZW50LWFjdGl2ZS1jb2xvciAhZGVmYXVsdDtcbiRjdXN0b20tY29udHJvbC1pbmRpY2F0b3ItY2hlY2tlZC1iZzogICAgICAgICAgICRjb21wb25lbnQtYWN0aXZlLWJnICFkZWZhdWx0O1xuJGN1c3RvbS1jb250cm9sLWluZGljYXRvci1jaGVja2VkLWRpc2FibGVkLWJnOiAgcmdiYSh0aGVtZS1jb2xvcihcInByaW1hcnlcIiksIC41KSAhZGVmYXVsdDtcbiRjdXN0b20tY29udHJvbC1pbmRpY2F0b3ItY2hlY2tlZC1ib3gtc2hhZG93OiAgIG5vbmUgIWRlZmF1bHQ7XG4kY3VzdG9tLWNvbnRyb2wtaW5kaWNhdG9yLWNoZWNrZWQtYm9yZGVyLWNvbG9yOiAkY3VzdG9tLWNvbnRyb2wtaW5kaWNhdG9yLWNoZWNrZWQtYmcgIWRlZmF1bHQ7XG5cbiRjdXN0b20tY29udHJvbC1pbmRpY2F0b3ItZm9jdXMtYm94LXNoYWRvdzogICAgICRpbnB1dC1mb2N1cy1ib3gtc2hhZG93ICFkZWZhdWx0O1xuJGN1c3RvbS1jb250cm9sLWluZGljYXRvci1mb2N1cy1ib3JkZXItY29sb3I6ICAgJGlucHV0LWZvY3VzLWJvcmRlci1jb2xvciAhZGVmYXVsdDtcblxuJGN1c3RvbS1jb250cm9sLWluZGljYXRvci1hY3RpdmUtY29sb3I6ICAgICAgICAgJGNvbXBvbmVudC1hY3RpdmUtY29sb3IgIWRlZmF1bHQ7XG4kY3VzdG9tLWNvbnRyb2wtaW5kaWNhdG9yLWFjdGl2ZS1iZzogICAgICAgICAgICBsaWdodGVuKCRjb21wb25lbnQtYWN0aXZlLWJnLCAzNSUpICFkZWZhdWx0O1xuJGN1c3RvbS1jb250cm9sLWluZGljYXRvci1hY3RpdmUtYm94LXNoYWRvdzogICAgbm9uZSAhZGVmYXVsdDtcbiRjdXN0b20tY29udHJvbC1pbmRpY2F0b3ItYWN0aXZlLWJvcmRlci1jb2xvcjogICRjdXN0b20tY29udHJvbC1pbmRpY2F0b3ItYWN0aXZlLWJnICFkZWZhdWx0O1xuXG4kY3VzdG9tLWNoZWNrYm94LWluZGljYXRvci1ib3JkZXItcmFkaXVzOiAgICAgICAkYm9yZGVyLXJhZGl1cyAhZGVmYXVsdDtcbiRjdXN0b20tY2hlY2tib3gtaW5kaWNhdG9yLWljb24tY2hlY2tlZDogICAgICAgIHVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbCw8c3ZnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Zycgd2lkdGg9JzgnIGhlaWdodD0nOCcgdmlld0JveD0nMCAwIDggOCc+PHBhdGggZmlsbD0nI3skY3VzdG9tLWNvbnRyb2wtaW5kaWNhdG9yLWNoZWNrZWQtY29sb3J9JyBkPSdNNi41NjQuNzVsLTMuNTkgMy42MTItMS41MzgtMS41NUwwIDQuMjZsMi45NzQgMi45OUw4IDIuMTkzeicvPjwvc3ZnPlwiKSAhZGVmYXVsdDtcblxuJGN1c3RvbS1jaGVja2JveC1pbmRpY2F0b3ItaW5kZXRlcm1pbmF0ZS1iZzogICAgICAgICAgICRjb21wb25lbnQtYWN0aXZlLWJnICFkZWZhdWx0O1xuJGN1c3RvbS1jaGVja2JveC1pbmRpY2F0b3ItaW5kZXRlcm1pbmF0ZS1jb2xvcjogICAgICAgICRjdXN0b20tY29udHJvbC1pbmRpY2F0b3ItY2hlY2tlZC1jb2xvciAhZGVmYXVsdDtcbiRjdXN0b20tY2hlY2tib3gtaW5kaWNhdG9yLWljb24taW5kZXRlcm1pbmF0ZTogICAgICAgICB1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWwsPHN2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHdpZHRoPSc0JyBoZWlnaHQ9JzQnIHZpZXdCb3g9JzAgMCA0IDQnPjxwYXRoIHN0cm9rZT0nI3skY3VzdG9tLWNoZWNrYm94LWluZGljYXRvci1pbmRldGVybWluYXRlLWNvbG9yfScgZD0nTTAgMmg0Jy8+PC9zdmc+XCIpICFkZWZhdWx0O1xuJGN1c3RvbS1jaGVja2JveC1pbmRpY2F0b3ItaW5kZXRlcm1pbmF0ZS1ib3gtc2hhZG93OiAgIG5vbmUgIWRlZmF1bHQ7XG4kY3VzdG9tLWNoZWNrYm94LWluZGljYXRvci1pbmRldGVybWluYXRlLWJvcmRlci1jb2xvcjogJGN1c3RvbS1jaGVja2JveC1pbmRpY2F0b3ItaW5kZXRlcm1pbmF0ZS1iZyAhZGVmYXVsdDtcblxuJGN1c3RvbS1yYWRpby1pbmRpY2F0b3ItYm9yZGVyLXJhZGl1czogICAgICAgICAgNTAlICFkZWZhdWx0O1xuJGN1c3RvbS1yYWRpby1pbmRpY2F0b3ItaWNvbi1jaGVja2VkOiAgICAgICAgICAgdXJsKFwiZGF0YTppbWFnZS9zdmcreG1sLDxzdmcgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyB3aWR0aD0nMTInIGhlaWdodD0nMTInIHZpZXdCb3g9Jy00IC00IDggOCc+PGNpcmNsZSByPSczJyBmaWxsPScjeyRjdXN0b20tY29udHJvbC1pbmRpY2F0b3ItY2hlY2tlZC1jb2xvcn0nLz48L3N2Zz5cIikgIWRlZmF1bHQ7XG5cbiRjdXN0b20tc3dpdGNoLXdpZHRoOiAgICAgICAgICAgICAgICAgICAgICAgICAgICRjdXN0b20tY29udHJvbC1pbmRpY2F0b3Itc2l6ZSAqIDEuNzUgIWRlZmF1bHQ7XG4kY3VzdG9tLXN3aXRjaC1pbmRpY2F0b3ItYm9yZGVyLXJhZGl1czogICAgICAgICAkY3VzdG9tLWNvbnRyb2wtaW5kaWNhdG9yLXNpemUgLyAyICFkZWZhdWx0O1xuJGN1c3RvbS1zd2l0Y2gtaW5kaWNhdG9yLXNpemU6ICAgICAgICAgICAgICAgICAgc3VidHJhY3QoJGN1c3RvbS1jb250cm9sLWluZGljYXRvci1zaXplLCAkY3VzdG9tLWNvbnRyb2wtaW5kaWNhdG9yLWJvcmRlci13aWR0aCAqIDQpICFkZWZhdWx0O1xuXG4kY3VzdG9tLXNlbGVjdC1wYWRkaW5nLXk6ICAgICAgICAgICAkaW5wdXQtcGFkZGluZy15ICFkZWZhdWx0O1xuJGN1c3RvbS1zZWxlY3QtcGFkZGluZy14OiAgICAgICAgICAgJGlucHV0LXBhZGRpbmcteCAhZGVmYXVsdDtcbiRjdXN0b20tc2VsZWN0LWZvbnQtZmFtaWx5OiAgICAgICAgICRpbnB1dC1mb250LWZhbWlseSAhZGVmYXVsdDtcbiRjdXN0b20tc2VsZWN0LWZvbnQtc2l6ZTogICAgICAgICAgICRpbnB1dC1mb250LXNpemUgIWRlZmF1bHQ7XG4kY3VzdG9tLXNlbGVjdC1oZWlnaHQ6ICAgICAgICAgICAgICAkaW5wdXQtaGVpZ2h0ICFkZWZhdWx0O1xuJGN1c3RvbS1zZWxlY3QtaW5kaWNhdG9yLXBhZGRpbmc6ICAgMXJlbSAhZGVmYXVsdDsgLy8gRXh0cmEgcGFkZGluZyB0byBhY2NvdW50IGZvciB0aGUgcHJlc2VuY2Ugb2YgdGhlIGJhY2tncm91bmQtaW1hZ2UgYmFzZWQgaW5kaWNhdG9yXG4kY3VzdG9tLXNlbGVjdC1mb250LXdlaWdodDogICAgICAgICAkaW5wdXQtZm9udC13ZWlnaHQgIWRlZmF1bHQ7XG4kY3VzdG9tLXNlbGVjdC1saW5lLWhlaWdodDogICAgICAgICAkaW5wdXQtbGluZS1oZWlnaHQgIWRlZmF1bHQ7XG4kY3VzdG9tLXNlbGVjdC1jb2xvcjogICAgICAgICAgICAgICAkaW5wdXQtY29sb3IgIWRlZmF1bHQ7XG4kY3VzdG9tLXNlbGVjdC1kaXNhYmxlZC1jb2xvcjogICAgICAkZ3JheS02MDAgIWRlZmF1bHQ7XG4kY3VzdG9tLXNlbGVjdC1iZzogICAgICAgICAgICAgICAgICAkaW5wdXQtYmcgIWRlZmF1bHQ7XG4kY3VzdG9tLXNlbGVjdC1kaXNhYmxlZC1iZzogICAgICAgICAkZ3JheS0yMDAgIWRlZmF1bHQ7XG4kY3VzdG9tLXNlbGVjdC1iZy1zaXplOiAgICAgICAgICAgICA4cHggMTBweCAhZGVmYXVsdDsgLy8gSW4gcGl4ZWxzIGJlY2F1c2UgaW1hZ2UgZGltZW5zaW9uc1xuJGN1c3RvbS1zZWxlY3QtaW5kaWNhdG9yLWNvbG9yOiAgICAgJGdyYXktODAwICFkZWZhdWx0O1xuJGN1c3RvbS1zZWxlY3QtaW5kaWNhdG9yOiAgICAgICAgICAgdXJsKFwiZGF0YTppbWFnZS9zdmcreG1sLDxzdmcgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyB3aWR0aD0nNCcgaGVpZ2h0PSc1JyB2aWV3Qm94PScwIDAgNCA1Jz48cGF0aCBmaWxsPScjeyRjdXN0b20tc2VsZWN0LWluZGljYXRvci1jb2xvcn0nIGQ9J00yIDBMMCAyaDR6bTAgNUwwIDNoNHonLz48L3N2Zz5cIikgIWRlZmF1bHQ7XG4kY3VzdG9tLXNlbGVjdC1iYWNrZ3JvdW5kOiAgICAgICAgICBlc2NhcGUtc3ZnKCRjdXN0b20tc2VsZWN0LWluZGljYXRvcikgbm8tcmVwZWF0IHJpZ2h0ICRjdXN0b20tc2VsZWN0LXBhZGRpbmcteCBjZW50ZXIgLyAkY3VzdG9tLXNlbGVjdC1iZy1zaXplICFkZWZhdWx0OyAvLyBVc2VkIHNvIHdlIGNhbiBoYXZlIG11bHRpcGxlIGJhY2tncm91bmQgZWxlbWVudHMgKGUuZy4sIGFycm93IGFuZCBmZWVkYmFjayBpY29uKVxuXG4kY3VzdG9tLXNlbGVjdC1mZWVkYmFjay1pY29uLXBhZGRpbmctcmlnaHQ6IGFkZCgxZW0gKiAuNzUsICgyICogJGN1c3RvbS1zZWxlY3QtcGFkZGluZy15ICogLjc1KSArICRjdXN0b20tc2VsZWN0LXBhZGRpbmcteCArICRjdXN0b20tc2VsZWN0LWluZGljYXRvci1wYWRkaW5nKSAhZGVmYXVsdDtcbiRjdXN0b20tc2VsZWN0LWZlZWRiYWNrLWljb24tcG9zaXRpb246ICAgICAgY2VudGVyIHJpZ2h0ICgkY3VzdG9tLXNlbGVjdC1wYWRkaW5nLXggKyAkY3VzdG9tLXNlbGVjdC1pbmRpY2F0b3ItcGFkZGluZykgIWRlZmF1bHQ7XG4kY3VzdG9tLXNlbGVjdC1mZWVkYmFjay1pY29uLXNpemU6ICAgICAgICAgICRpbnB1dC1oZWlnaHQtaW5uZXItaGFsZiAkaW5wdXQtaGVpZ2h0LWlubmVyLWhhbGYgIWRlZmF1bHQ7XG5cbiRjdXN0b20tc2VsZWN0LWJvcmRlci13aWR0aDogICAgICAgICRpbnB1dC1ib3JkZXItd2lkdGggIWRlZmF1bHQ7XG4kY3VzdG9tLXNlbGVjdC1ib3JkZXItY29sb3I6ICAgICAgICAkaW5wdXQtYm9yZGVyLWNvbG9yICFkZWZhdWx0O1xuJGN1c3RvbS1zZWxlY3QtYm9yZGVyLXJhZGl1czogICAgICAgJGJvcmRlci1yYWRpdXMgIWRlZmF1bHQ7XG4kY3VzdG9tLXNlbGVjdC1ib3gtc2hhZG93OiAgICAgICAgICBpbnNldCAwIDFweCAycHggcmdiYSgkYmxhY2ssIC4wNzUpICFkZWZhdWx0O1xuXG4kY3VzdG9tLXNlbGVjdC1mb2N1cy1ib3JkZXItY29sb3I6ICAkaW5wdXQtZm9jdXMtYm9yZGVyLWNvbG9yICFkZWZhdWx0O1xuJGN1c3RvbS1zZWxlY3QtZm9jdXMtd2lkdGg6ICAgICAgICAgJGlucHV0LWZvY3VzLXdpZHRoICFkZWZhdWx0O1xuJGN1c3RvbS1zZWxlY3QtZm9jdXMtYm94LXNoYWRvdzogICAgMCAwIDAgJGN1c3RvbS1zZWxlY3QtZm9jdXMtd2lkdGggJGlucHV0LWJ0bi1mb2N1cy1jb2xvciAhZGVmYXVsdDtcblxuJGN1c3RvbS1zZWxlY3QtcGFkZGluZy15LXNtOiAgICAgICAgJGlucHV0LXBhZGRpbmcteS1zbSAhZGVmYXVsdDtcbiRjdXN0b20tc2VsZWN0LXBhZGRpbmcteC1zbTogICAgICAgICRpbnB1dC1wYWRkaW5nLXgtc20gIWRlZmF1bHQ7XG4kY3VzdG9tLXNlbGVjdC1mb250LXNpemUtc206ICAgICAgICAkaW5wdXQtZm9udC1zaXplLXNtICFkZWZhdWx0O1xuJGN1c3RvbS1zZWxlY3QtaGVpZ2h0LXNtOiAgICAgICAgICAgJGlucHV0LWhlaWdodC1zbSAhZGVmYXVsdDtcblxuJGN1c3RvbS1zZWxlY3QtcGFkZGluZy15LWxnOiAgICAgICAgJGlucHV0LXBhZGRpbmcteS1sZyAhZGVmYXVsdDtcbiRjdXN0b20tc2VsZWN0LXBhZGRpbmcteC1sZzogICAgICAgICRpbnB1dC1wYWRkaW5nLXgtbGcgIWRlZmF1bHQ7XG4kY3VzdG9tLXNlbGVjdC1mb250LXNpemUtbGc6ICAgICAgICAkaW5wdXQtZm9udC1zaXplLWxnICFkZWZhdWx0O1xuJGN1c3RvbS1zZWxlY3QtaGVpZ2h0LWxnOiAgICAgICAgICAgJGlucHV0LWhlaWdodC1sZyAhZGVmYXVsdDtcblxuJGN1c3RvbS1yYW5nZS10cmFjay13aWR0aDogICAgICAgICAgMTAwJSAhZGVmYXVsdDtcbiRjdXN0b20tcmFuZ2UtdHJhY2staGVpZ2h0OiAgICAgICAgIC41cmVtICFkZWZhdWx0O1xuJGN1c3RvbS1yYW5nZS10cmFjay1jdXJzb3I6ICAgICAgICAgcG9pbnRlciAhZGVmYXVsdDtcbiRjdXN0b20tcmFuZ2UtdHJhY2stYmc6ICAgICAgICAgICAgICRncmF5LTMwMCAhZGVmYXVsdDtcbiRjdXN0b20tcmFuZ2UtdHJhY2stYm9yZGVyLXJhZGl1czogIDFyZW0gIWRlZmF1bHQ7XG4kY3VzdG9tLXJhbmdlLXRyYWNrLWJveC1zaGFkb3c6ICAgICBpbnNldCAwIC4yNXJlbSAuMjVyZW0gcmdiYSgkYmxhY2ssIC4xKSAhZGVmYXVsdDtcblxuJGN1c3RvbS1yYW5nZS10aHVtYi13aWR0aDogICAgICAgICAgICAgICAgICAgMXJlbSAhZGVmYXVsdDtcbiRjdXN0b20tcmFuZ2UtdGh1bWItaGVpZ2h0OiAgICAgICAgICAgICAgICAgICRjdXN0b20tcmFuZ2UtdGh1bWItd2lkdGggIWRlZmF1bHQ7XG4kY3VzdG9tLXJhbmdlLXRodW1iLWJnOiAgICAgICAgICAgICAgICAgICAgICAkY29tcG9uZW50LWFjdGl2ZS1iZyAhZGVmYXVsdDtcbiRjdXN0b20tcmFuZ2UtdGh1bWItYm9yZGVyOiAgICAgICAgICAgICAgICAgIDAgIWRlZmF1bHQ7XG4kY3VzdG9tLXJhbmdlLXRodW1iLWJvcmRlci1yYWRpdXM6ICAgICAgICAgICAxcmVtICFkZWZhdWx0O1xuJGN1c3RvbS1yYW5nZS10aHVtYi1ib3gtc2hhZG93OiAgICAgICAgICAgICAgMCAuMXJlbSAuMjVyZW0gcmdiYSgkYmxhY2ssIC4xKSAhZGVmYXVsdDtcbiRjdXN0b20tcmFuZ2UtdGh1bWItZm9jdXMtYm94LXNoYWRvdzogICAgICAgIDAgMCAwIDFweCAkYm9keS1iZywgJGlucHV0LWZvY3VzLWJveC1zaGFkb3cgIWRlZmF1bHQ7XG4kY3VzdG9tLXJhbmdlLXRodW1iLWZvY3VzLWJveC1zaGFkb3ctd2lkdGg6ICAkaW5wdXQtZm9jdXMtd2lkdGggIWRlZmF1bHQ7IC8vIEZvciBmb2N1cyBib3ggc2hhZG93IGlzc3VlIGluIElFL0VkZ2VcbiRjdXN0b20tcmFuZ2UtdGh1bWItYWN0aXZlLWJnOiAgICAgICAgICAgICAgIGxpZ2h0ZW4oJGNvbXBvbmVudC1hY3RpdmUtYmcsIDM1JSkgIWRlZmF1bHQ7XG4kY3VzdG9tLXJhbmdlLXRodW1iLWRpc2FibGVkLWJnOiAgICAgICAgICAgICAkZ3JheS01MDAgIWRlZmF1bHQ7XG5cbiRjdXN0b20tZmlsZS1oZWlnaHQ6ICAgICAgICAgICAgICAgICRpbnB1dC1oZWlnaHQgIWRlZmF1bHQ7XG4kY3VzdG9tLWZpbGUtaGVpZ2h0LWlubmVyOiAgICAgICAgICAkaW5wdXQtaGVpZ2h0LWlubmVyICFkZWZhdWx0O1xuJGN1c3RvbS1maWxlLWZvY3VzLWJvcmRlci1jb2xvcjogICAgJGlucHV0LWZvY3VzLWJvcmRlci1jb2xvciAhZGVmYXVsdDtcbiRjdXN0b20tZmlsZS1mb2N1cy1ib3gtc2hhZG93OiAgICAgICRpbnB1dC1mb2N1cy1ib3gtc2hhZG93ICFkZWZhdWx0O1xuJGN1c3RvbS1maWxlLWRpc2FibGVkLWJnOiAgICAgICAgICAgJGlucHV0LWRpc2FibGVkLWJnICFkZWZhdWx0O1xuXG4kY3VzdG9tLWZpbGUtcGFkZGluZy15OiAgICAgICAgICAgICAkaW5wdXQtcGFkZGluZy15ICFkZWZhdWx0O1xuJGN1c3RvbS1maWxlLXBhZGRpbmcteDogICAgICAgICAgICAgJGlucHV0LXBhZGRpbmcteCAhZGVmYXVsdDtcbiRjdXN0b20tZmlsZS1saW5lLWhlaWdodDogICAgICAgICAgICRpbnB1dC1saW5lLWhlaWdodCAhZGVmYXVsdDtcbiRjdXN0b20tZmlsZS1mb250LWZhbWlseTogICAgICAgICAgICRpbnB1dC1mb250LWZhbWlseSAhZGVmYXVsdDtcbiRjdXN0b20tZmlsZS1mb250LXdlaWdodDogICAgICAgICAgICRpbnB1dC1mb250LXdlaWdodCAhZGVmYXVsdDtcbiRjdXN0b20tZmlsZS1jb2xvcjogICAgICAgICAgICAgICAgICRpbnB1dC1jb2xvciAhZGVmYXVsdDtcbiRjdXN0b20tZmlsZS1iZzogICAgICAgICAgICAgICAgICAgICRpbnB1dC1iZyAhZGVmYXVsdDtcbiRjdXN0b20tZmlsZS1ib3JkZXItd2lkdGg6ICAgICAgICAgICRpbnB1dC1ib3JkZXItd2lkdGggIWRlZmF1bHQ7XG4kY3VzdG9tLWZpbGUtYm9yZGVyLWNvbG9yOiAgICAgICAgICAkaW5wdXQtYm9yZGVyLWNvbG9yICFkZWZhdWx0O1xuJGN1c3RvbS1maWxlLWJvcmRlci1yYWRpdXM6ICAgICAgICAgJGlucHV0LWJvcmRlci1yYWRpdXMgIWRlZmF1bHQ7XG4kY3VzdG9tLWZpbGUtYm94LXNoYWRvdzogICAgICAgICAgICAkaW5wdXQtYm94LXNoYWRvdyAhZGVmYXVsdDtcbiRjdXN0b20tZmlsZS1idXR0b24tY29sb3I6ICAgICAgICAgICRjdXN0b20tZmlsZS1jb2xvciAhZGVmYXVsdDtcbiRjdXN0b20tZmlsZS1idXR0b24tYmc6ICAgICAgICAgICAgICRpbnB1dC1ncm91cC1hZGRvbi1iZyAhZGVmYXVsdDtcbiRjdXN0b20tZmlsZS10ZXh0OiAoXG4gIGVuOiBcIkJyb3dzZVwiXG4pICFkZWZhdWx0O1xuXG5cbi8vIEZvcm0gdmFsaWRhdGlvblxuXG4kZm9ybS1mZWVkYmFjay1tYXJnaW4tdG9wOiAgICAgICAgICAkZm9ybS10ZXh0LW1hcmdpbi10b3AgIWRlZmF1bHQ7XG4kZm9ybS1mZWVkYmFjay1mb250LXNpemU6ICAgICAgICAgICAkc21hbGwtZm9udC1zaXplICFkZWZhdWx0O1xuJGZvcm0tZmVlZGJhY2stdmFsaWQtY29sb3I6ICAgICAgICAgdGhlbWUtY29sb3IoXCJzdWNjZXNzXCIpICFkZWZhdWx0O1xuJGZvcm0tZmVlZGJhY2staW52YWxpZC1jb2xvcjogICAgICAgdGhlbWUtY29sb3IoXCJkYW5nZXJcIikgIWRlZmF1bHQ7XG5cbiRmb3JtLWZlZWRiYWNrLWljb24tdmFsaWQtY29sb3I6ICAgICRmb3JtLWZlZWRiYWNrLXZhbGlkLWNvbG9yICFkZWZhdWx0O1xuJGZvcm0tZmVlZGJhY2staWNvbi12YWxpZDogICAgICAgICAgdXJsKFwiZGF0YTppbWFnZS9zdmcreG1sLDxzdmcgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyB3aWR0aD0nOCcgaGVpZ2h0PSc4JyB2aWV3Qm94PScwIDAgOCA4Jz48cGF0aCBmaWxsPScjeyRmb3JtLWZlZWRiYWNrLWljb24tdmFsaWQtY29sb3J9JyBkPSdNMi4zIDYuNzNMLjYgNC41M2MtLjQtMS4wNC40Ni0xLjQgMS4xLS44bDEuMSAxLjQgMy40LTMuOGMuNi0uNjMgMS42LS4yNyAxLjIuN2wtNCA0LjZjLS40My41LS44LjQtMS4xLjF6Jy8+PC9zdmc+XCIpICFkZWZhdWx0O1xuJGZvcm0tZmVlZGJhY2staWNvbi1pbnZhbGlkLWNvbG9yOiAgJGZvcm0tZmVlZGJhY2staW52YWxpZC1jb2xvciAhZGVmYXVsdDtcbiRmb3JtLWZlZWRiYWNrLWljb24taW52YWxpZDogICAgICAgIHVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbCw8c3ZnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Zycgd2lkdGg9JzEyJyBoZWlnaHQ9JzEyJyBmaWxsPSdub25lJyBzdHJva2U9JyN7JGZvcm0tZmVlZGJhY2staWNvbi1pbnZhbGlkLWNvbG9yfScgdmlld0JveD0nMCAwIDEyIDEyJz48Y2lyY2xlIGN4PSc2JyBjeT0nNicgcj0nNC41Jy8+PHBhdGggc3Ryb2tlLWxpbmVqb2luPSdyb3VuZCcgZD0nTTUuOCAzLjZoLjRMNiA2LjV6Jy8+PGNpcmNsZSBjeD0nNicgY3k9JzguMicgcj0nLjYnIGZpbGw9JyN7JGZvcm0tZmVlZGJhY2staWNvbi1pbnZhbGlkLWNvbG9yfScgc3Ryb2tlPSdub25lJy8+PC9zdmc+XCIpICFkZWZhdWx0O1xuXG4kZm9ybS12YWxpZGF0aW9uLXN0YXRlczogKCkgIWRlZmF1bHQ7XG4vLyBzdHlsZWxpbnQtZGlzYWJsZS1uZXh0LWxpbmUgc2Nzcy9kb2xsYXItdmFyaWFibGUtZGVmYXVsdFxuJGZvcm0tdmFsaWRhdGlvbi1zdGF0ZXM6IG1hcC1tZXJnZShcbiAgKFxuICAgIFwidmFsaWRcIjogKFxuICAgICAgXCJjb2xvclwiOiAkZm9ybS1mZWVkYmFjay12YWxpZC1jb2xvcixcbiAgICAgIFwiaWNvblwiOiAkZm9ybS1mZWVkYmFjay1pY29uLXZhbGlkXG4gICAgKSxcbiAgICBcImludmFsaWRcIjogKFxuICAgICAgXCJjb2xvclwiOiAkZm9ybS1mZWVkYmFjay1pbnZhbGlkLWNvbG9yLFxuICAgICAgXCJpY29uXCI6ICRmb3JtLWZlZWRiYWNrLWljb24taW52YWxpZFxuICAgICksXG4gICksXG4gICRmb3JtLXZhbGlkYXRpb24tc3RhdGVzXG4pO1xuXG4vLyBaLWluZGV4IG1hc3RlciBsaXN0XG4vL1xuLy8gV2FybmluZzogQXZvaWQgY3VzdG9taXppbmcgdGhlc2UgdmFsdWVzLiBUaGV5J3JlIHVzZWQgZm9yIGEgYmlyZCdzIGV5ZSB2aWV3XG4vLyBvZiBjb21wb25lbnRzIGRlcGVuZGVudCBvbiB0aGUgei1heGlzIGFuZCBhcmUgZGVzaWduZWQgdG8gYWxsIHdvcmsgdG9nZXRoZXIuXG5cbiR6aW5kZXgtZHJvcGRvd246ICAgICAgICAgICAgICAgICAgIDEwMDAgIWRlZmF1bHQ7XG4kemluZGV4LXN0aWNreTogICAgICAgICAgICAgICAgICAgICAxMDIwICFkZWZhdWx0O1xuJHppbmRleC1maXhlZDogICAgICAgICAgICAgICAgICAgICAgMTAzMCAhZGVmYXVsdDtcbiR6aW5kZXgtbW9kYWwtYmFja2Ryb3A6ICAgICAgICAgICAgIDEwNDAgIWRlZmF1bHQ7XG4kemluZGV4LW1vZGFsOiAgICAgICAgICAgICAgICAgICAgICAxMDUwICFkZWZhdWx0O1xuJHppbmRleC1wb3BvdmVyOiAgICAgICAgICAgICAgICAgICAgMTA2MCAhZGVmYXVsdDtcbiR6aW5kZXgtdG9vbHRpcDogICAgICAgICAgICAgICAgICAgIDEwNzAgIWRlZmF1bHQ7XG5cblxuLy8gTmF2c1xuXG4kbmF2LWxpbmstcGFkZGluZy15OiAgICAgICAgICAgICAgICAuNXJlbSAhZGVmYXVsdDtcbiRuYXYtbGluay1wYWRkaW5nLXg6ICAgICAgICAgICAgICAgIDFyZW0gIWRlZmF1bHQ7XG4kbmF2LWxpbmstZGlzYWJsZWQtY29sb3I6ICAgICAgICAgICAkZ3JheS02MDAgIWRlZmF1bHQ7XG5cbiRuYXYtdGFicy1ib3JkZXItY29sb3I6ICAgICAgICAgICAgICRncmF5LTMwMCAhZGVmYXVsdDtcbiRuYXYtdGFicy1ib3JkZXItd2lkdGg6ICAgICAgICAgICAgICRib3JkZXItd2lkdGggIWRlZmF1bHQ7XG4kbmF2LXRhYnMtYm9yZGVyLXJhZGl1czogICAgICAgICAgICAkYm9yZGVyLXJhZGl1cyAhZGVmYXVsdDtcbiRuYXYtdGFicy1saW5rLWhvdmVyLWJvcmRlci1jb2xvcjogICRncmF5LTIwMCAkZ3JheS0yMDAgJG5hdi10YWJzLWJvcmRlci1jb2xvciAhZGVmYXVsdDtcbiRuYXYtdGFicy1saW5rLWFjdGl2ZS1jb2xvcjogICAgICAgICRncmF5LTcwMCAhZGVmYXVsdDtcbiRuYXYtdGFicy1saW5rLWFjdGl2ZS1iZzogICAgICAgICAgICRib2R5LWJnICFkZWZhdWx0O1xuJG5hdi10YWJzLWxpbmstYWN0aXZlLWJvcmRlci1jb2xvcjogJGdyYXktMzAwICRncmF5LTMwMCAkbmF2LXRhYnMtbGluay1hY3RpdmUtYmcgIWRlZmF1bHQ7XG5cbiRuYXYtcGlsbHMtYm9yZGVyLXJhZGl1czogICAgICAgICAgICRib3JkZXItcmFkaXVzICFkZWZhdWx0O1xuJG5hdi1waWxscy1saW5rLWFjdGl2ZS1jb2xvcjogICAgICAgJGNvbXBvbmVudC1hY3RpdmUtY29sb3IgIWRlZmF1bHQ7XG4kbmF2LXBpbGxzLWxpbmstYWN0aXZlLWJnOiAgICAgICAgICAkY29tcG9uZW50LWFjdGl2ZS1iZyAhZGVmYXVsdDtcblxuJG5hdi1kaXZpZGVyLWNvbG9yOiAgICAgICAgICAgICAgICAgJGdyYXktMjAwICFkZWZhdWx0O1xuJG5hdi1kaXZpZGVyLW1hcmdpbi15OiAgICAgICAgICAgICAgJHNwYWNlciAvIDIgIWRlZmF1bHQ7XG5cblxuLy8gTmF2YmFyXG5cbiRuYXZiYXItcGFkZGluZy15OiAgICAgICAgICAgICAgICAgICRzcGFjZXIgLyAyICFkZWZhdWx0O1xuJG5hdmJhci1wYWRkaW5nLXg6ICAgICAgICAgICAgICAgICAgJHNwYWNlciAhZGVmYXVsdDtcblxuJG5hdmJhci1uYXYtbGluay1wYWRkaW5nLXg6ICAgICAgICAgLjVyZW0gIWRlZmF1bHQ7XG5cbiRuYXZiYXItYnJhbmQtZm9udC1zaXplOiAgICAgICAgICAgICRmb250LXNpemUtbGcgIWRlZmF1bHQ7XG4vLyBDb21wdXRlIHRoZSBuYXZiYXItYnJhbmQgcGFkZGluZy15IHNvIHRoZSBuYXZiYXItYnJhbmQgd2lsbCBoYXZlIHRoZSBzYW1lIGhlaWdodCBhcyBuYXZiYXItdGV4dCBhbmQgbmF2LWxpbmtcbiRuYXYtbGluay1oZWlnaHQ6ICAgICAgICAgICAgICAgICAgICRmb250LXNpemUtYmFzZSAqICRsaW5lLWhlaWdodC1iYXNlICsgJG5hdi1saW5rLXBhZGRpbmcteSAqIDIgIWRlZmF1bHQ7XG4kbmF2YmFyLWJyYW5kLWhlaWdodDogICAgICAgICAgICAgICAkbmF2YmFyLWJyYW5kLWZvbnQtc2l6ZSAqICRsaW5lLWhlaWdodC1iYXNlICFkZWZhdWx0O1xuJG5hdmJhci1icmFuZC1wYWRkaW5nLXk6ICAgICAgICAgICAgKCRuYXYtbGluay1oZWlnaHQgLSAkbmF2YmFyLWJyYW5kLWhlaWdodCkgLyAyICFkZWZhdWx0O1xuXG4kbmF2YmFyLXRvZ2dsZXItcGFkZGluZy15OiAgICAgICAgICAuMjVyZW0gIWRlZmF1bHQ7XG4kbmF2YmFyLXRvZ2dsZXItcGFkZGluZy14OiAgICAgICAgICAuNzVyZW0gIWRlZmF1bHQ7XG4kbmF2YmFyLXRvZ2dsZXItZm9udC1zaXplOiAgICAgICAgICAkZm9udC1zaXplLWxnICFkZWZhdWx0O1xuJG5hdmJhci10b2dnbGVyLWJvcmRlci1yYWRpdXM6ICAgICAgJGJ0bi1ib3JkZXItcmFkaXVzICFkZWZhdWx0O1xuXG4kbmF2YmFyLWRhcmstY29sb3I6ICAgICAgICAgICAgICAgICByZ2JhKCR3aGl0ZSwgLjUpICFkZWZhdWx0O1xuJG5hdmJhci1kYXJrLWhvdmVyLWNvbG9yOiAgICAgICAgICAgcmdiYSgkd2hpdGUsIC43NSkgIWRlZmF1bHQ7XG4kbmF2YmFyLWRhcmstYWN0aXZlLWNvbG9yOiAgICAgICAgICAkd2hpdGUgIWRlZmF1bHQ7XG4kbmF2YmFyLWRhcmstZGlzYWJsZWQtY29sb3I6ICAgICAgICByZ2JhKCR3aGl0ZSwgLjI1KSAhZGVmYXVsdDtcbiRuYXZiYXItZGFyay10b2dnbGVyLWljb24tYmc6ICAgICAgIHVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbCw8c3ZnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Zycgd2lkdGg9JzMwJyBoZWlnaHQ9JzMwJyB2aWV3Qm94PScwIDAgMzAgMzAnPjxwYXRoIHN0cm9rZT0nI3skbmF2YmFyLWRhcmstY29sb3J9JyBzdHJva2UtbGluZWNhcD0ncm91bmQnIHN0cm9rZS1taXRlcmxpbWl0PScxMCcgc3Ryb2tlLXdpZHRoPScyJyBkPSdNNCA3aDIyTTQgMTVoMjJNNCAyM2gyMicvPjwvc3ZnPlwiKSAhZGVmYXVsdDtcbiRuYXZiYXItZGFyay10b2dnbGVyLWJvcmRlci1jb2xvcjogIHJnYmEoJHdoaXRlLCAuMSkgIWRlZmF1bHQ7XG5cbiRuYXZiYXItbGlnaHQtY29sb3I6ICAgICAgICAgICAgICAgIHJnYmEoJGJsYWNrLCAuNSkgIWRlZmF1bHQ7XG4kbmF2YmFyLWxpZ2h0LWhvdmVyLWNvbG9yOiAgICAgICAgICByZ2JhKCRibGFjaywgLjcpICFkZWZhdWx0O1xuJG5hdmJhci1saWdodC1hY3RpdmUtY29sb3I6ICAgICAgICAgcmdiYSgkYmxhY2ssIC45KSAhZGVmYXVsdDtcbiRuYXZiYXItbGlnaHQtZGlzYWJsZWQtY29sb3I6ICAgICAgIHJnYmEoJGJsYWNrLCAuMykgIWRlZmF1bHQ7XG4kbmF2YmFyLWxpZ2h0LXRvZ2dsZXItaWNvbi1iZzogICAgICB1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWwsPHN2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHdpZHRoPSczMCcgaGVpZ2h0PSczMCcgdmlld0JveD0nMCAwIDMwIDMwJz48cGF0aCBzdHJva2U9JyN7JG5hdmJhci1saWdodC1jb2xvcn0nIHN0cm9rZS1saW5lY2FwPSdyb3VuZCcgc3Ryb2tlLW1pdGVybGltaXQ9JzEwJyBzdHJva2Utd2lkdGg9JzInIGQ9J000IDdoMjJNNCAxNWgyMk00IDIzaDIyJy8+PC9zdmc+XCIpICFkZWZhdWx0O1xuJG5hdmJhci1saWdodC10b2dnbGVyLWJvcmRlci1jb2xvcjogcmdiYSgkYmxhY2ssIC4xKSAhZGVmYXVsdDtcblxuJG5hdmJhci1saWdodC1icmFuZC1jb2xvcjogICAgICAgICAgICAgICAgJG5hdmJhci1saWdodC1hY3RpdmUtY29sb3IgIWRlZmF1bHQ7XG4kbmF2YmFyLWxpZ2h0LWJyYW5kLWhvdmVyLWNvbG9yOiAgICAgICAgICAkbmF2YmFyLWxpZ2h0LWFjdGl2ZS1jb2xvciAhZGVmYXVsdDtcbiRuYXZiYXItZGFyay1icmFuZC1jb2xvcjogICAgICAgICAgICAgICAgICRuYXZiYXItZGFyay1hY3RpdmUtY29sb3IgIWRlZmF1bHQ7XG4kbmF2YmFyLWRhcmstYnJhbmQtaG92ZXItY29sb3I6ICAgICAgICAgICAkbmF2YmFyLWRhcmstYWN0aXZlLWNvbG9yICFkZWZhdWx0O1xuXG5cbi8vIERyb3Bkb3duc1xuLy9cbi8vIERyb3Bkb3duIG1lbnUgY29udGFpbmVyIGFuZCBjb250ZW50cy5cblxuJGRyb3Bkb3duLW1pbi13aWR0aDogICAgICAgICAgICAgICAgMTByZW0gIWRlZmF1bHQ7XG4kZHJvcGRvd24tcGFkZGluZy15OiAgICAgICAgICAgICAgICAuNXJlbSAhZGVmYXVsdDtcbiRkcm9wZG93bi1zcGFjZXI6ICAgICAgICAgICAgICAgICAgIC4xMjVyZW0gIWRlZmF1bHQ7XG4kZHJvcGRvd24tZm9udC1zaXplOiAgICAgICAgICAgICAgICAkZm9udC1zaXplLWJhc2UgIWRlZmF1bHQ7XG4kZHJvcGRvd24tY29sb3I6ICAgICAgICAgICAgICAgICAgICAkYm9keS1jb2xvciAhZGVmYXVsdDtcbiRkcm9wZG93bi1iZzogICAgICAgICAgICAgICAgICAgICAgICR3aGl0ZSAhZGVmYXVsdDtcbiRkcm9wZG93bi1ib3JkZXItY29sb3I6ICAgICAgICAgICAgIHJnYmEoJGJsYWNrLCAuMTUpICFkZWZhdWx0O1xuJGRyb3Bkb3duLWJvcmRlci1yYWRpdXM6ICAgICAgICAgICAgJGJvcmRlci1yYWRpdXMgIWRlZmF1bHQ7XG4kZHJvcGRvd24tYm9yZGVyLXdpZHRoOiAgICAgICAgICAgICAkYm9yZGVyLXdpZHRoICFkZWZhdWx0O1xuJGRyb3Bkb3duLWlubmVyLWJvcmRlci1yYWRpdXM6ICAgICAgc3VidHJhY3QoJGRyb3Bkb3duLWJvcmRlci1yYWRpdXMsICRkcm9wZG93bi1ib3JkZXItd2lkdGgpICFkZWZhdWx0O1xuJGRyb3Bkb3duLWRpdmlkZXItYmc6ICAgICAgICAgICAgICAgJGdyYXktMjAwICFkZWZhdWx0O1xuJGRyb3Bkb3duLWRpdmlkZXItbWFyZ2luLXk6ICAgICAgICAgJG5hdi1kaXZpZGVyLW1hcmdpbi15ICFkZWZhdWx0O1xuJGRyb3Bkb3duLWJveC1zaGFkb3c6ICAgICAgICAgICAgICAgMCAuNXJlbSAxcmVtIHJnYmEoJGJsYWNrLCAuMTc1KSAhZGVmYXVsdDtcblxuJGRyb3Bkb3duLWxpbmstY29sb3I6ICAgICAgICAgICAgICAgJGdyYXktOTAwICFkZWZhdWx0O1xuJGRyb3Bkb3duLWxpbmstaG92ZXItY29sb3I6ICAgICAgICAgZGFya2VuKCRncmF5LTkwMCwgNSUpICFkZWZhdWx0O1xuJGRyb3Bkb3duLWxpbmstaG92ZXItYmc6ICAgICAgICAgICAgJGdyYXktMTAwICFkZWZhdWx0O1xuXG4kZHJvcGRvd24tbGluay1hY3RpdmUtY29sb3I6ICAgICAgICAkY29tcG9uZW50LWFjdGl2ZS1jb2xvciAhZGVmYXVsdDtcbiRkcm9wZG93bi1saW5rLWFjdGl2ZS1iZzogICAgICAgICAgICRjb21wb25lbnQtYWN0aXZlLWJnICFkZWZhdWx0O1xuXG4kZHJvcGRvd24tbGluay1kaXNhYmxlZC1jb2xvcjogICAgICAkZ3JheS02MDAgIWRlZmF1bHQ7XG5cbiRkcm9wZG93bi1pdGVtLXBhZGRpbmcteTogICAgICAgICAgIC4yNXJlbSAhZGVmYXVsdDtcbiRkcm9wZG93bi1pdGVtLXBhZGRpbmcteDogICAgICAgICAgIDEuNXJlbSAhZGVmYXVsdDtcblxuJGRyb3Bkb3duLWhlYWRlci1jb2xvcjogICAgICAgICAgICAgJGdyYXktNjAwICFkZWZhdWx0O1xuXG5cbi8vIFBhZ2luYXRpb25cblxuJHBhZ2luYXRpb24tcGFkZGluZy15OiAgICAgICAgICAgICAgLjVyZW0gIWRlZmF1bHQ7XG4kcGFnaW5hdGlvbi1wYWRkaW5nLXg6ICAgICAgICAgICAgICAuNzVyZW0gIWRlZmF1bHQ7XG4kcGFnaW5hdGlvbi1wYWRkaW5nLXktc206ICAgICAgICAgICAuMjVyZW0gIWRlZmF1bHQ7XG4kcGFnaW5hdGlvbi1wYWRkaW5nLXgtc206ICAgICAgICAgICAuNXJlbSAhZGVmYXVsdDtcbiRwYWdpbmF0aW9uLXBhZGRpbmcteS1sZzogICAgICAgICAgIC43NXJlbSAhZGVmYXVsdDtcbiRwYWdpbmF0aW9uLXBhZGRpbmcteC1sZzogICAgICAgICAgIDEuNXJlbSAhZGVmYXVsdDtcbiRwYWdpbmF0aW9uLWxpbmUtaGVpZ2h0OiAgICAgICAgICAgIDEuMjUgIWRlZmF1bHQ7XG5cbiRwYWdpbmF0aW9uLWNvbG9yOiAgICAgICAgICAgICAgICAgICRsaW5rLWNvbG9yICFkZWZhdWx0O1xuJHBhZ2luYXRpb24tYmc6ICAgICAgICAgICAgICAgICAgICAgJHdoaXRlICFkZWZhdWx0O1xuJHBhZ2luYXRpb24tYm9yZGVyLXdpZHRoOiAgICAgICAgICAgJGJvcmRlci13aWR0aCAhZGVmYXVsdDtcbiRwYWdpbmF0aW9uLWJvcmRlci1jb2xvcjogICAgICAgICAgICRncmF5LTMwMCAhZGVmYXVsdDtcblxuJHBhZ2luYXRpb24tZm9jdXMtYm94LXNoYWRvdzogICAgICAgJGlucHV0LWJ0bi1mb2N1cy1ib3gtc2hhZG93ICFkZWZhdWx0O1xuJHBhZ2luYXRpb24tZm9jdXMtb3V0bGluZTogICAgICAgICAgMCAhZGVmYXVsdDtcblxuJHBhZ2luYXRpb24taG92ZXItY29sb3I6ICAgICAgICAgICAgJGxpbmstaG92ZXItY29sb3IgIWRlZmF1bHQ7XG4kcGFnaW5hdGlvbi1ob3Zlci1iZzogICAgICAgICAgICAgICAkZ3JheS0yMDAgIWRlZmF1bHQ7XG4kcGFnaW5hdGlvbi1ob3Zlci1ib3JkZXItY29sb3I6ICAgICAkZ3JheS0zMDAgIWRlZmF1bHQ7XG5cbiRwYWdpbmF0aW9uLWFjdGl2ZS1jb2xvcjogICAgICAgICAgICRjb21wb25lbnQtYWN0aXZlLWNvbG9yICFkZWZhdWx0O1xuJHBhZ2luYXRpb24tYWN0aXZlLWJnOiAgICAgICAgICAgICAgJGNvbXBvbmVudC1hY3RpdmUtYmcgIWRlZmF1bHQ7XG4kcGFnaW5hdGlvbi1hY3RpdmUtYm9yZGVyLWNvbG9yOiAgICAkcGFnaW5hdGlvbi1hY3RpdmUtYmcgIWRlZmF1bHQ7XG5cbiRwYWdpbmF0aW9uLWRpc2FibGVkLWNvbG9yOiAgICAgICAgICRncmF5LTYwMCAhZGVmYXVsdDtcbiRwYWdpbmF0aW9uLWRpc2FibGVkLWJnOiAgICAgICAgICAgICR3aGl0ZSAhZGVmYXVsdDtcbiRwYWdpbmF0aW9uLWRpc2FibGVkLWJvcmRlci1jb2xvcjogICRncmF5LTMwMCAhZGVmYXVsdDtcblxuXG4vLyBKdW1ib3Ryb25cblxuJGp1bWJvdHJvbi1wYWRkaW5nOiAgICAgICAgICAgICAgICAgMnJlbSAhZGVmYXVsdDtcbiRqdW1ib3Ryb24tY29sb3I6ICAgICAgICAgICAgICAgICAgIG51bGwgIWRlZmF1bHQ7XG4kanVtYm90cm9uLWJnOiAgICAgICAgICAgICAgICAgICAgICAkZ3JheS0yMDAgIWRlZmF1bHQ7XG5cblxuLy8gQ2FyZHNcblxuJGNhcmQtc3BhY2VyLXk6ICAgICAgICAgICAgICAgICAgICAgLjc1cmVtICFkZWZhdWx0O1xuJGNhcmQtc3BhY2VyLXg6ICAgICAgICAgICAgICAgICAgICAgMS4yNXJlbSAhZGVmYXVsdDtcbiRjYXJkLWJvcmRlci13aWR0aDogICAgICAgICAgICAgICAgICRib3JkZXItd2lkdGggIWRlZmF1bHQ7XG4kY2FyZC1ib3JkZXItcmFkaXVzOiAgICAgICAgICAgICAgICAkYm9yZGVyLXJhZGl1cyAhZGVmYXVsdDtcbiRjYXJkLWJvcmRlci1jb2xvcjogICAgICAgICAgICAgICAgIHJnYmEoJGJsYWNrLCAuMTI1KSAhZGVmYXVsdDtcbiRjYXJkLWlubmVyLWJvcmRlci1yYWRpdXM6ICAgICAgICAgIHN1YnRyYWN0KCRjYXJkLWJvcmRlci1yYWRpdXMsICRjYXJkLWJvcmRlci13aWR0aCkgIWRlZmF1bHQ7XG4kY2FyZC1jYXAtYmc6ICAgICAgICAgICAgICAgICAgICAgICByZ2JhKCRibGFjaywgLjAzKSAhZGVmYXVsdDtcbiRjYXJkLWNhcC1jb2xvcjogICAgICAgICAgICAgICAgICAgIG51bGwgIWRlZmF1bHQ7XG4kY2FyZC1oZWlnaHQ6ICAgICAgICAgICAgICAgICAgICAgICBudWxsICFkZWZhdWx0O1xuJGNhcmQtY29sb3I6ICAgICAgICAgICAgICAgICAgICAgICAgbnVsbCAhZGVmYXVsdDtcbiRjYXJkLWJnOiAgICAgICAgICAgICAgICAgICAgICAgICAgICR3aGl0ZSAhZGVmYXVsdDtcblxuJGNhcmQtaW1nLW92ZXJsYXktcGFkZGluZzogICAgICAgICAgMS4yNXJlbSAhZGVmYXVsdDtcblxuJGNhcmQtZ3JvdXAtbWFyZ2luOiAgICAgICAgICAgICAgICAgJGdyaWQtZ3V0dGVyLXdpZHRoIC8gMiAhZGVmYXVsdDtcbiRjYXJkLWRlY2stbWFyZ2luOiAgICAgICAgICAgICAgICAgICRjYXJkLWdyb3VwLW1hcmdpbiAhZGVmYXVsdDtcblxuJGNhcmQtY29sdW1ucy1jb3VudDogICAgICAgICAgICAgICAgMyAhZGVmYXVsdDtcbiRjYXJkLWNvbHVtbnMtZ2FwOiAgICAgICAgICAgICAgICAgIDEuMjVyZW0gIWRlZmF1bHQ7XG4kY2FyZC1jb2x1bW5zLW1hcmdpbjogICAgICAgICAgICAgICAkY2FyZC1zcGFjZXIteSAhZGVmYXVsdDtcblxuXG4vLyBUb29sdGlwc1xuXG4kdG9vbHRpcC1mb250LXNpemU6ICAgICAgICAgICAgICAgICAkZm9udC1zaXplLXNtICFkZWZhdWx0O1xuJHRvb2x0aXAtbWF4LXdpZHRoOiAgICAgICAgICAgICAgICAgMjAwcHggIWRlZmF1bHQ7XG4kdG9vbHRpcC1jb2xvcjogICAgICAgICAgICAgICAgICAgICAkd2hpdGUgIWRlZmF1bHQ7XG4kdG9vbHRpcC1iZzogICAgICAgICAgICAgICAgICAgICAgICAkYmxhY2sgIWRlZmF1bHQ7XG4kdG9vbHRpcC1ib3JkZXItcmFkaXVzOiAgICAgICAgICAgICAkYm9yZGVyLXJhZGl1cyAhZGVmYXVsdDtcbiR0b29sdGlwLW9wYWNpdHk6ICAgICAgICAgICAgICAgICAgIC45ICFkZWZhdWx0O1xuJHRvb2x0aXAtcGFkZGluZy15OiAgICAgICAgICAgICAgICAgLjI1cmVtICFkZWZhdWx0O1xuJHRvb2x0aXAtcGFkZGluZy14OiAgICAgICAgICAgICAgICAgLjVyZW0gIWRlZmF1bHQ7XG4kdG9vbHRpcC1tYXJnaW46ICAgICAgICAgICAgICAgICAgICAwICFkZWZhdWx0O1xuXG4kdG9vbHRpcC1hcnJvdy13aWR0aDogICAgICAgICAgICAgICAuOHJlbSAhZGVmYXVsdDtcbiR0b29sdGlwLWFycm93LWhlaWdodDogICAgICAgICAgICAgIC40cmVtICFkZWZhdWx0O1xuJHRvb2x0aXAtYXJyb3ctY29sb3I6ICAgICAgICAgICAgICAgJHRvb2x0aXAtYmcgIWRlZmF1bHQ7XG5cbi8vIEZvcm0gdG9vbHRpcHMgbXVzdCBjb21lIGFmdGVyIHJlZ3VsYXIgdG9vbHRpcHNcbiRmb3JtLWZlZWRiYWNrLXRvb2x0aXAtcGFkZGluZy15OiAgICAgJHRvb2x0aXAtcGFkZGluZy15ICFkZWZhdWx0O1xuJGZvcm0tZmVlZGJhY2stdG9vbHRpcC1wYWRkaW5nLXg6ICAgICAkdG9vbHRpcC1wYWRkaW5nLXggIWRlZmF1bHQ7XG4kZm9ybS1mZWVkYmFjay10b29sdGlwLWZvbnQtc2l6ZTogICAgICR0b29sdGlwLWZvbnQtc2l6ZSAhZGVmYXVsdDtcbiRmb3JtLWZlZWRiYWNrLXRvb2x0aXAtbGluZS1oZWlnaHQ6ICAgJGxpbmUtaGVpZ2h0LWJhc2UgIWRlZmF1bHQ7XG4kZm9ybS1mZWVkYmFjay10b29sdGlwLW9wYWNpdHk6ICAgICAgICR0b29sdGlwLW9wYWNpdHkgIWRlZmF1bHQ7XG4kZm9ybS1mZWVkYmFjay10b29sdGlwLWJvcmRlci1yYWRpdXM6ICR0b29sdGlwLWJvcmRlci1yYWRpdXMgIWRlZmF1bHQ7XG5cblxuLy8gUG9wb3ZlcnNcblxuJHBvcG92ZXItZm9udC1zaXplOiAgICAgICAgICAgICAgICAgJGZvbnQtc2l6ZS1zbSAhZGVmYXVsdDtcbiRwb3BvdmVyLWJnOiAgICAgICAgICAgICAgICAgICAgICAgICR3aGl0ZSAhZGVmYXVsdDtcbiRwb3BvdmVyLW1heC13aWR0aDogICAgICAgICAgICAgICAgIDI3NnB4ICFkZWZhdWx0O1xuJHBvcG92ZXItYm9yZGVyLXdpZHRoOiAgICAgICAgICAgICAgJGJvcmRlci13aWR0aCAhZGVmYXVsdDtcbiRwb3BvdmVyLWJvcmRlci1jb2xvcjogICAgICAgICAgICAgIHJnYmEoJGJsYWNrLCAuMikgIWRlZmF1bHQ7XG4kcG9wb3Zlci1ib3JkZXItcmFkaXVzOiAgICAgICAgICAgICAkYm9yZGVyLXJhZGl1cy1sZyAhZGVmYXVsdDtcbiRwb3BvdmVyLWlubmVyLWJvcmRlci1yYWRpdXM6ICAgICAgIHN1YnRyYWN0KCRwb3BvdmVyLWJvcmRlci1yYWRpdXMsICRwb3BvdmVyLWJvcmRlci13aWR0aCkgIWRlZmF1bHQ7XG4kcG9wb3Zlci1ib3gtc2hhZG93OiAgICAgICAgICAgICAgICAwIC4yNXJlbSAuNXJlbSByZ2JhKCRibGFjaywgLjIpICFkZWZhdWx0O1xuXG4kcG9wb3Zlci1oZWFkZXItYmc6ICAgICAgICAgICAgICAgICBkYXJrZW4oJHBvcG92ZXItYmcsIDMlKSAhZGVmYXVsdDtcbiRwb3BvdmVyLWhlYWRlci1jb2xvcjogICAgICAgICAgICAgICRoZWFkaW5ncy1jb2xvciAhZGVmYXVsdDtcbiRwb3BvdmVyLWhlYWRlci1wYWRkaW5nLXk6ICAgICAgICAgIC41cmVtICFkZWZhdWx0O1xuJHBvcG92ZXItaGVhZGVyLXBhZGRpbmcteDogICAgICAgICAgLjc1cmVtICFkZWZhdWx0O1xuXG4kcG9wb3Zlci1ib2R5LWNvbG9yOiAgICAgICAgICAgICAgICAkYm9keS1jb2xvciAhZGVmYXVsdDtcbiRwb3BvdmVyLWJvZHktcGFkZGluZy15OiAgICAgICAgICAgICRwb3BvdmVyLWhlYWRlci1wYWRkaW5nLXkgIWRlZmF1bHQ7XG4kcG9wb3Zlci1ib2R5LXBhZGRpbmcteDogICAgICAgICAgICAkcG9wb3Zlci1oZWFkZXItcGFkZGluZy14ICFkZWZhdWx0O1xuXG4kcG9wb3Zlci1hcnJvdy13aWR0aDogICAgICAgICAgICAgICAxcmVtICFkZWZhdWx0O1xuJHBvcG92ZXItYXJyb3ctaGVpZ2h0OiAgICAgICAgICAgICAgLjVyZW0gIWRlZmF1bHQ7XG4kcG9wb3Zlci1hcnJvdy1jb2xvcjogICAgICAgICAgICAgICAkcG9wb3Zlci1iZyAhZGVmYXVsdDtcblxuJHBvcG92ZXItYXJyb3ctb3V0ZXItY29sb3I6ICAgICAgICAgZmFkZS1pbigkcG9wb3Zlci1ib3JkZXItY29sb3IsIC4wNSkgIWRlZmF1bHQ7XG5cblxuLy8gVG9hc3RzXG5cbiR0b2FzdC1tYXgtd2lkdGg6ICAgICAgICAgICAgICAgICAgIDM1MHB4ICFkZWZhdWx0O1xuJHRvYXN0LXBhZGRpbmcteDogICAgICAgICAgICAgICAgICAgLjc1cmVtICFkZWZhdWx0O1xuJHRvYXN0LXBhZGRpbmcteTogICAgICAgICAgICAgICAgICAgLjI1cmVtICFkZWZhdWx0O1xuJHRvYXN0LWZvbnQtc2l6ZTogICAgICAgICAgICAgICAgICAgLjg3NXJlbSAhZGVmYXVsdDtcbiR0b2FzdC1jb2xvcjogICAgICAgICAgICAgICAgICAgICAgIG51bGwgIWRlZmF1bHQ7XG4kdG9hc3QtYmFja2dyb3VuZC1jb2xvcjogICAgICAgICAgICByZ2JhKCR3aGl0ZSwgLjg1KSAhZGVmYXVsdDtcbiR0b2FzdC1ib3JkZXItd2lkdGg6ICAgICAgICAgICAgICAgIDFweCAhZGVmYXVsdDtcbiR0b2FzdC1ib3JkZXItY29sb3I6ICAgICAgICAgICAgICAgIHJnYmEoMCwgMCwgMCwgLjEpICFkZWZhdWx0O1xuJHRvYXN0LWJvcmRlci1yYWRpdXM6ICAgICAgICAgICAgICAgLjI1cmVtICFkZWZhdWx0O1xuJHRvYXN0LWJveC1zaGFkb3c6ICAgICAgICAgICAgICAgICAgMCAuMjVyZW0gLjc1cmVtIHJnYmEoJGJsYWNrLCAuMSkgIWRlZmF1bHQ7XG5cbiR0b2FzdC1oZWFkZXItY29sb3I6ICAgICAgICAgICAgICAgICRncmF5LTYwMCAhZGVmYXVsdDtcbiR0b2FzdC1oZWFkZXItYmFja2dyb3VuZC1jb2xvcjogICAgIHJnYmEoJHdoaXRlLCAuODUpICFkZWZhdWx0O1xuJHRvYXN0LWhlYWRlci1ib3JkZXItY29sb3I6ICAgICAgICAgcmdiYSgwLCAwLCAwLCAuMDUpICFkZWZhdWx0O1xuXG5cbi8vIEJhZGdlc1xuXG4kYmFkZ2UtZm9udC1zaXplOiAgICAgICAgICAgICAgICAgICA3NSUgIWRlZmF1bHQ7XG4kYmFkZ2UtZm9udC13ZWlnaHQ6ICAgICAgICAgICAgICAgICAkZm9udC13ZWlnaHQtYm9sZCAhZGVmYXVsdDtcbiRiYWRnZS1wYWRkaW5nLXk6ICAgICAgICAgICAgICAgICAgIC4yNWVtICFkZWZhdWx0O1xuJGJhZGdlLXBhZGRpbmcteDogICAgICAgICAgICAgICAgICAgLjRlbSAhZGVmYXVsdDtcbiRiYWRnZS1ib3JkZXItcmFkaXVzOiAgICAgICAgICAgICAgICRib3JkZXItcmFkaXVzICFkZWZhdWx0O1xuXG4kYmFkZ2UtdHJhbnNpdGlvbjogICAgICAgICAgICAgICAgICAkYnRuLXRyYW5zaXRpb24gIWRlZmF1bHQ7XG4kYmFkZ2UtZm9jdXMtd2lkdGg6ICAgICAgICAgICAgICAgICAkaW5wdXQtYnRuLWZvY3VzLXdpZHRoICFkZWZhdWx0O1xuXG4kYmFkZ2UtcGlsbC1wYWRkaW5nLXg6ICAgICAgICAgICAgICAuNmVtICFkZWZhdWx0O1xuLy8gVXNlIGEgaGlnaGVyIHRoYW4gbm9ybWFsIHZhbHVlIHRvIGVuc3VyZSBjb21wbGV0ZWx5IHJvdW5kZWQgZWRnZXMgd2hlblxuLy8gY3VzdG9taXppbmcgcGFkZGluZyBvciBmb250LXNpemUgb24gbGFiZWxzLlxuJGJhZGdlLXBpbGwtYm9yZGVyLXJhZGl1czogICAgICAgICAgMTByZW0gIWRlZmF1bHQ7XG5cblxuLy8gTW9kYWxzXG5cbi8vIFBhZGRpbmcgYXBwbGllZCB0byB0aGUgbW9kYWwgYm9keVxuJG1vZGFsLWlubmVyLXBhZGRpbmc6ICAgICAgICAgICAgICAgMXJlbSAhZGVmYXVsdDtcblxuLy8gTWFyZ2luIGJldHdlZW4gZWxlbWVudHMgaW4gZm9vdGVyLCBtdXN0IGJlIGxvd2VyIHRoYW4gb3IgZXF1YWwgdG8gMiAqICRtb2RhbC1pbm5lci1wYWRkaW5nXG4kbW9kYWwtZm9vdGVyLW1hcmdpbi1iZXR3ZWVuOiAgICAgICAuNXJlbSAhZGVmYXVsdDtcblxuJG1vZGFsLWRpYWxvZy1tYXJnaW46ICAgICAgICAgICAgICAgLjVyZW0gIWRlZmF1bHQ7XG4kbW9kYWwtZGlhbG9nLW1hcmdpbi15LXNtLXVwOiAgICAgICAxLjc1cmVtICFkZWZhdWx0O1xuXG4kbW9kYWwtdGl0bGUtbGluZS1oZWlnaHQ6ICAgICAgICAgICAkbGluZS1oZWlnaHQtYmFzZSAhZGVmYXVsdDtcblxuJG1vZGFsLWNvbnRlbnQtY29sb3I6ICAgICAgICAgICAgICAgbnVsbCAhZGVmYXVsdDtcbiRtb2RhbC1jb250ZW50LWJnOiAgICAgICAgICAgICAgICAgICR3aGl0ZSAhZGVmYXVsdDtcbiRtb2RhbC1jb250ZW50LWJvcmRlci1jb2xvcjogICAgICAgIHJnYmEoJGJsYWNrLCAuMikgIWRlZmF1bHQ7XG4kbW9kYWwtY29udGVudC1ib3JkZXItd2lkdGg6ICAgICAgICAkYm9yZGVyLXdpZHRoICFkZWZhdWx0O1xuJG1vZGFsLWNvbnRlbnQtYm9yZGVyLXJhZGl1czogICAgICAgJGJvcmRlci1yYWRpdXMtbGcgIWRlZmF1bHQ7XG4kbW9kYWwtY29udGVudC1pbm5lci1ib3JkZXItcmFkaXVzOiBzdWJ0cmFjdCgkbW9kYWwtY29udGVudC1ib3JkZXItcmFkaXVzLCAkbW9kYWwtY29udGVudC1ib3JkZXItd2lkdGgpICFkZWZhdWx0O1xuJG1vZGFsLWNvbnRlbnQtYm94LXNoYWRvdy14czogICAgICAgMCAuMjVyZW0gLjVyZW0gcmdiYSgkYmxhY2ssIC41KSAhZGVmYXVsdDtcbiRtb2RhbC1jb250ZW50LWJveC1zaGFkb3ctc20tdXA6ICAgIDAgLjVyZW0gMXJlbSByZ2JhKCRibGFjaywgLjUpICFkZWZhdWx0O1xuXG4kbW9kYWwtYmFja2Ryb3AtYmc6ICAgICAgICAgICAgICAgICAkYmxhY2sgIWRlZmF1bHQ7XG4kbW9kYWwtYmFja2Ryb3Atb3BhY2l0eTogICAgICAgICAgICAuNSAhZGVmYXVsdDtcbiRtb2RhbC1oZWFkZXItYm9yZGVyLWNvbG9yOiAgICAgICAgICRib3JkZXItY29sb3IgIWRlZmF1bHQ7XG4kbW9kYWwtZm9vdGVyLWJvcmRlci1jb2xvcjogICAgICAgICAkbW9kYWwtaGVhZGVyLWJvcmRlci1jb2xvciAhZGVmYXVsdDtcbiRtb2RhbC1oZWFkZXItYm9yZGVyLXdpZHRoOiAgICAgICAgICRtb2RhbC1jb250ZW50LWJvcmRlci13aWR0aCAhZGVmYXVsdDtcbiRtb2RhbC1mb290ZXItYm9yZGVyLXdpZHRoOiAgICAgICAgICRtb2RhbC1oZWFkZXItYm9yZGVyLXdpZHRoICFkZWZhdWx0O1xuJG1vZGFsLWhlYWRlci1wYWRkaW5nLXk6ICAgICAgICAgICAgMXJlbSAhZGVmYXVsdDtcbiRtb2RhbC1oZWFkZXItcGFkZGluZy14OiAgICAgICAgICAgIDFyZW0gIWRlZmF1bHQ7XG4kbW9kYWwtaGVhZGVyLXBhZGRpbmc6ICAgICAgICAgICAgICAkbW9kYWwtaGVhZGVyLXBhZGRpbmcteSAkbW9kYWwtaGVhZGVyLXBhZGRpbmcteCAhZGVmYXVsdDsgLy8gS2VlcCB0aGlzIGZvciBiYWNrd2FyZHMgY29tcGF0aWJpbGl0eVxuXG4kbW9kYWwteGw6ICAgICAgICAgICAgICAgICAgICAgICAgICAxMTQwcHggIWRlZmF1bHQ7XG4kbW9kYWwtbGc6ICAgICAgICAgICAgICAgICAgICAgICAgICA4MDBweCAhZGVmYXVsdDtcbiRtb2RhbC1tZDogICAgICAgICAgICAgICAgICAgICAgICAgIDUwMHB4ICFkZWZhdWx0O1xuJG1vZGFsLXNtOiAgICAgICAgICAgICAgICAgICAgICAgICAgMzAwcHggIWRlZmF1bHQ7XG5cbiRtb2RhbC1mYWRlLXRyYW5zZm9ybTogICAgICAgICAgICAgIHRyYW5zbGF0ZSgwLCAtNTBweCkgIWRlZmF1bHQ7XG4kbW9kYWwtc2hvdy10cmFuc2Zvcm06ICAgICAgICAgICAgICBub25lICFkZWZhdWx0O1xuJG1vZGFsLXRyYW5zaXRpb246ICAgICAgICAgICAgICAgICAgdHJhbnNmb3JtIC4zcyBlYXNlLW91dCAhZGVmYXVsdDtcbiRtb2RhbC1zY2FsZS10cmFuc2Zvcm06ICAgICAgICAgICAgIHNjYWxlKDEuMDIpICFkZWZhdWx0O1xuXG5cbi8vIEFsZXJ0c1xuLy9cbi8vIERlZmluZSBhbGVydCBjb2xvcnMsIGJvcmRlciByYWRpdXMsIGFuZCBwYWRkaW5nLlxuXG4kYWxlcnQtcGFkZGluZy15OiAgICAgICAgICAgICAgICAgICAuNzVyZW0gIWRlZmF1bHQ7XG4kYWxlcnQtcGFkZGluZy14OiAgICAgICAgICAgICAgICAgICAxLjI1cmVtICFkZWZhdWx0O1xuJGFsZXJ0LW1hcmdpbi1ib3R0b206ICAgICAgICAgICAgICAgMXJlbSAhZGVmYXVsdDtcbiRhbGVydC1ib3JkZXItcmFkaXVzOiAgICAgICAgICAgICAgICRib3JkZXItcmFkaXVzICFkZWZhdWx0O1xuJGFsZXJ0LWxpbmstZm9udC13ZWlnaHQ6ICAgICAgICAgICAgJGZvbnQtd2VpZ2h0LWJvbGQgIWRlZmF1bHQ7XG4kYWxlcnQtYm9yZGVyLXdpZHRoOiAgICAgICAgICAgICAgICAkYm9yZGVyLXdpZHRoICFkZWZhdWx0O1xuXG4kYWxlcnQtYmctbGV2ZWw6ICAgICAgICAgICAgICAgICAgICAtMTAgIWRlZmF1bHQ7XG4kYWxlcnQtYm9yZGVyLWxldmVsOiAgICAgICAgICAgICAgICAtOSAhZGVmYXVsdDtcbiRhbGVydC1jb2xvci1sZXZlbDogICAgICAgICAgICAgICAgIDYgIWRlZmF1bHQ7XG5cblxuLy8gUHJvZ3Jlc3MgYmFyc1xuXG4kcHJvZ3Jlc3MtaGVpZ2h0OiAgICAgICAgICAgICAgICAgICAxcmVtICFkZWZhdWx0O1xuJHByb2dyZXNzLWZvbnQtc2l6ZTogICAgICAgICAgICAgICAgJGZvbnQtc2l6ZS1iYXNlICogLjc1ICFkZWZhdWx0O1xuJHByb2dyZXNzLWJnOiAgICAgICAgICAgICAgICAgICAgICAgJGdyYXktMjAwICFkZWZhdWx0O1xuJHByb2dyZXNzLWJvcmRlci1yYWRpdXM6ICAgICAgICAgICAgJGJvcmRlci1yYWRpdXMgIWRlZmF1bHQ7XG4kcHJvZ3Jlc3MtYm94LXNoYWRvdzogICAgICAgICAgICAgICBpbnNldCAwIC4xcmVtIC4xcmVtIHJnYmEoJGJsYWNrLCAuMSkgIWRlZmF1bHQ7XG4kcHJvZ3Jlc3MtYmFyLWNvbG9yOiAgICAgICAgICAgICAgICAkd2hpdGUgIWRlZmF1bHQ7XG4kcHJvZ3Jlc3MtYmFyLWJnOiAgICAgICAgICAgICAgICAgICB0aGVtZS1jb2xvcihcInByaW1hcnlcIikgIWRlZmF1bHQ7XG4kcHJvZ3Jlc3MtYmFyLWFuaW1hdGlvbi10aW1pbmc6ICAgICAxcyBsaW5lYXIgaW5maW5pdGUgIWRlZmF1bHQ7XG4kcHJvZ3Jlc3MtYmFyLXRyYW5zaXRpb246ICAgICAgICAgICB3aWR0aCAuNnMgZWFzZSAhZGVmYXVsdDtcblxuXG4vLyBMaXN0IGdyb3VwXG5cbiRsaXN0LWdyb3VwLWNvbG9yOiAgICAgICAgICAgICAgICAgIG51bGwgIWRlZmF1bHQ7XG4kbGlzdC1ncm91cC1iZzogICAgICAgICAgICAgICAgICAgICAkd2hpdGUgIWRlZmF1bHQ7XG4kbGlzdC1ncm91cC1ib3JkZXItY29sb3I6ICAgICAgICAgICByZ2JhKCRibGFjaywgLjEyNSkgIWRlZmF1bHQ7XG4kbGlzdC1ncm91cC1ib3JkZXItd2lkdGg6ICAgICAgICAgICAkYm9yZGVyLXdpZHRoICFkZWZhdWx0O1xuJGxpc3QtZ3JvdXAtYm9yZGVyLXJhZGl1czogICAgICAgICAgJGJvcmRlci1yYWRpdXMgIWRlZmF1bHQ7XG5cbiRsaXN0LWdyb3VwLWl0ZW0tcGFkZGluZy15OiAgICAgICAgIC43NXJlbSAhZGVmYXVsdDtcbiRsaXN0LWdyb3VwLWl0ZW0tcGFkZGluZy14OiAgICAgICAgIDEuMjVyZW0gIWRlZmF1bHQ7XG5cbiRsaXN0LWdyb3VwLWhvdmVyLWJnOiAgICAgICAgICAgICAgICRncmF5LTEwMCAhZGVmYXVsdDtcbiRsaXN0LWdyb3VwLWFjdGl2ZS1jb2xvcjogICAgICAgICAgICRjb21wb25lbnQtYWN0aXZlLWNvbG9yICFkZWZhdWx0O1xuJGxpc3QtZ3JvdXAtYWN0aXZlLWJnOiAgICAgICAgICAgICAgJGNvbXBvbmVudC1hY3RpdmUtYmcgIWRlZmF1bHQ7XG4kbGlzdC1ncm91cC1hY3RpdmUtYm9yZGVyLWNvbG9yOiAgICAkbGlzdC1ncm91cC1hY3RpdmUtYmcgIWRlZmF1bHQ7XG5cbiRsaXN0LWdyb3VwLWRpc2FibGVkLWNvbG9yOiAgICAgICAgICRncmF5LTYwMCAhZGVmYXVsdDtcbiRsaXN0LWdyb3VwLWRpc2FibGVkLWJnOiAgICAgICAgICAgICRsaXN0LWdyb3VwLWJnICFkZWZhdWx0O1xuXG4kbGlzdC1ncm91cC1hY3Rpb24tY29sb3I6ICAgICAgICAgICAkZ3JheS03MDAgIWRlZmF1bHQ7XG4kbGlzdC1ncm91cC1hY3Rpb24taG92ZXItY29sb3I6ICAgICAkbGlzdC1ncm91cC1hY3Rpb24tY29sb3IgIWRlZmF1bHQ7XG5cbiRsaXN0LWdyb3VwLWFjdGlvbi1hY3RpdmUtY29sb3I6ICAgICRib2R5LWNvbG9yICFkZWZhdWx0O1xuJGxpc3QtZ3JvdXAtYWN0aW9uLWFjdGl2ZS1iZzogICAgICAgJGdyYXktMjAwICFkZWZhdWx0O1xuXG5cbi8vIEltYWdlIHRodW1ibmFpbHNcblxuJHRodW1ibmFpbC1wYWRkaW5nOiAgICAgICAgICAgICAgICAgLjI1cmVtICFkZWZhdWx0O1xuJHRodW1ibmFpbC1iZzogICAgICAgICAgICAgICAgICAgICAgJGJvZHktYmcgIWRlZmF1bHQ7XG4kdGh1bWJuYWlsLWJvcmRlci13aWR0aDogICAgICAgICAgICAkYm9yZGVyLXdpZHRoICFkZWZhdWx0O1xuJHRodW1ibmFpbC1ib3JkZXItY29sb3I6ICAgICAgICAgICAgJGdyYXktMzAwICFkZWZhdWx0O1xuJHRodW1ibmFpbC1ib3JkZXItcmFkaXVzOiAgICAgICAgICAgJGJvcmRlci1yYWRpdXMgIWRlZmF1bHQ7XG4kdGh1bWJuYWlsLWJveC1zaGFkb3c6ICAgICAgICAgICAgICAwIDFweCAycHggcmdiYSgkYmxhY2ssIC4wNzUpICFkZWZhdWx0O1xuXG5cbi8vIEZpZ3VyZXNcblxuJGZpZ3VyZS1jYXB0aW9uLWZvbnQtc2l6ZTogICAgICAgICAgOTAlICFkZWZhdWx0O1xuJGZpZ3VyZS1jYXB0aW9uLWNvbG9yOiAgICAgICAgICAgICAgJGdyYXktNjAwICFkZWZhdWx0O1xuXG5cbi8vIEJyZWFkY3J1bWJzXG5cbiRicmVhZGNydW1iLWZvbnQtc2l6ZTogICAgICAgICAgICAgIG51bGwgIWRlZmF1bHQ7XG5cbiRicmVhZGNydW1iLXBhZGRpbmcteTogICAgICAgICAgICAgIC43NXJlbSAhZGVmYXVsdDtcbiRicmVhZGNydW1iLXBhZGRpbmcteDogICAgICAgICAgICAgIDFyZW0gIWRlZmF1bHQ7XG4kYnJlYWRjcnVtYi1pdGVtLXBhZGRpbmc6ICAgICAgICAgICAuNXJlbSAhZGVmYXVsdDtcblxuJGJyZWFkY3J1bWItbWFyZ2luLWJvdHRvbTogICAgICAgICAgMXJlbSAhZGVmYXVsdDtcblxuJGJyZWFkY3J1bWItYmc6ICAgICAgICAgICAgICAgICAgICAgJGdyYXktMjAwICFkZWZhdWx0O1xuJGJyZWFkY3J1bWItZGl2aWRlci1jb2xvcjogICAgICAgICAgJGdyYXktNjAwICFkZWZhdWx0O1xuJGJyZWFkY3J1bWItYWN0aXZlLWNvbG9yOiAgICAgICAgICAgJGdyYXktNjAwICFkZWZhdWx0O1xuJGJyZWFkY3J1bWItZGl2aWRlcjogICAgICAgICAgICAgICAgcXVvdGUoXCIvXCIpICFkZWZhdWx0O1xuXG4kYnJlYWRjcnVtYi1ib3JkZXItcmFkaXVzOiAgICAgICAgICAkYm9yZGVyLXJhZGl1cyAhZGVmYXVsdDtcblxuXG4vLyBDYXJvdXNlbFxuXG4kY2Fyb3VzZWwtY29udHJvbC1jb2xvcjogICAgICAgICAgICAgJHdoaXRlICFkZWZhdWx0O1xuJGNhcm91c2VsLWNvbnRyb2wtd2lkdGg6ICAgICAgICAgICAgIDE1JSAhZGVmYXVsdDtcbiRjYXJvdXNlbC1jb250cm9sLW9wYWNpdHk6ICAgICAgICAgICAuNSAhZGVmYXVsdDtcbiRjYXJvdXNlbC1jb250cm9sLWhvdmVyLW9wYWNpdHk6ICAgICAuOSAhZGVmYXVsdDtcbiRjYXJvdXNlbC1jb250cm9sLXRyYW5zaXRpb246ICAgICAgICBvcGFjaXR5IC4xNXMgZWFzZSAhZGVmYXVsdDtcblxuJGNhcm91c2VsLWluZGljYXRvci13aWR0aDogICAgICAgICAgIDMwcHggIWRlZmF1bHQ7XG4kY2Fyb3VzZWwtaW5kaWNhdG9yLWhlaWdodDogICAgICAgICAgM3B4ICFkZWZhdWx0O1xuJGNhcm91c2VsLWluZGljYXRvci1oaXQtYXJlYS1oZWlnaHQ6IDEwcHggIWRlZmF1bHQ7XG4kY2Fyb3VzZWwtaW5kaWNhdG9yLXNwYWNlcjogICAgICAgICAgM3B4ICFkZWZhdWx0O1xuJGNhcm91c2VsLWluZGljYXRvci1hY3RpdmUtYmc6ICAgICAgICR3aGl0ZSAhZGVmYXVsdDtcbiRjYXJvdXNlbC1pbmRpY2F0b3ItdHJhbnNpdGlvbjogICAgICBvcGFjaXR5IC42cyBlYXNlICFkZWZhdWx0O1xuXG4kY2Fyb3VzZWwtY2FwdGlvbi13aWR0aDogICAgICAgICAgICAgNzAlICFkZWZhdWx0O1xuJGNhcm91c2VsLWNhcHRpb24tY29sb3I6ICAgICAgICAgICAgICR3aGl0ZSAhZGVmYXVsdDtcblxuJGNhcm91c2VsLWNvbnRyb2wtaWNvbi13aWR0aDogICAgICAgIDIwcHggIWRlZmF1bHQ7XG5cbiRjYXJvdXNlbC1jb250cm9sLXByZXYtaWNvbi1iZzogICAgICB1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWwsPHN2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIGZpbGw9JyN7JGNhcm91c2VsLWNvbnRyb2wtY29sb3J9JyB3aWR0aD0nOCcgaGVpZ2h0PSc4JyB2aWV3Qm94PScwIDAgOCA4Jz48cGF0aCBkPSdNNS4yNSAwbC00IDQgNCA0IDEuNS0xLjVMNC4yNSA0bDIuNS0yLjVMNS4yNSAweicvPjwvc3ZnPlwiKSAhZGVmYXVsdDtcbiRjYXJvdXNlbC1jb250cm9sLW5leHQtaWNvbi1iZzogICAgICB1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWwsPHN2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIGZpbGw9JyN7JGNhcm91c2VsLWNvbnRyb2wtY29sb3J9JyB3aWR0aD0nOCcgaGVpZ2h0PSc4JyB2aWV3Qm94PScwIDAgOCA4Jz48cGF0aCBkPSdNMi43NSAwbC0xLjUgMS41TDMuNzUgNGwtMi41IDIuNUwyLjc1IDhsNC00LTQtNHonLz48L3N2Zz5cIikgIWRlZmF1bHQ7XG5cbiRjYXJvdXNlbC10cmFuc2l0aW9uLWR1cmF0aW9uOiAgICAgICAuNnMgIWRlZmF1bHQ7XG4kY2Fyb3VzZWwtdHJhbnNpdGlvbjogICAgICAgICAgICAgICAgdHJhbnNmb3JtICRjYXJvdXNlbC10cmFuc2l0aW9uLWR1cmF0aW9uIGVhc2UtaW4tb3V0ICFkZWZhdWx0OyAvLyBEZWZpbmUgdHJhbnNmb3JtIHRyYW5zaXRpb24gZmlyc3QgaWYgdXNpbmcgbXVsdGlwbGUgdHJhbnNpdGlvbnMgKGUuZy4sIGB0cmFuc2Zvcm0gMnMgZWFzZSwgb3BhY2l0eSAuNXMgZWFzZS1vdXRgKVxuXG5cbi8vIFNwaW5uZXJzXG5cbiRzcGlubmVyLXdpZHRoOiAgICAgICAgIDJyZW0gIWRlZmF1bHQ7XG4kc3Bpbm5lci1oZWlnaHQ6ICAgICAgICAkc3Bpbm5lci13aWR0aCAhZGVmYXVsdDtcbiRzcGlubmVyLWJvcmRlci13aWR0aDogIC4yNWVtICFkZWZhdWx0O1xuXG4kc3Bpbm5lci13aWR0aC1zbTogICAgICAgIDFyZW0gIWRlZmF1bHQ7XG4kc3Bpbm5lci1oZWlnaHQtc206ICAgICAgICRzcGlubmVyLXdpZHRoLXNtICFkZWZhdWx0O1xuJHNwaW5uZXItYm9yZGVyLXdpZHRoLXNtOiAuMmVtICFkZWZhdWx0O1xuXG5cbi8vIENsb3NlXG5cbiRjbG9zZS1mb250LXNpemU6ICAgICAgICAgICAgICAgICAgICRmb250LXNpemUtYmFzZSAqIDEuNSAhZGVmYXVsdDtcbiRjbG9zZS1mb250LXdlaWdodDogICAgICAgICAgICAgICAgICRmb250LXdlaWdodC1ib2xkICFkZWZhdWx0O1xuJGNsb3NlLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICAgJGJsYWNrICFkZWZhdWx0O1xuJGNsb3NlLXRleHQtc2hhZG93OiAgICAgICAgICAgICAgICAgMCAxcHggMCAkd2hpdGUgIWRlZmF1bHQ7XG5cblxuLy8gQ29kZVxuXG4kY29kZS1mb250LXNpemU6ICAgICAgICAgICAgICAgICAgICA4Ny41JSAhZGVmYXVsdDtcbiRjb2RlLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICAgICRwaW5rICFkZWZhdWx0O1xuXG4ka2JkLXBhZGRpbmcteTogICAgICAgICAgICAgICAgICAgICAuMnJlbSAhZGVmYXVsdDtcbiRrYmQtcGFkZGluZy14OiAgICAgICAgICAgICAgICAgICAgIC40cmVtICFkZWZhdWx0O1xuJGtiZC1mb250LXNpemU6ICAgICAgICAgICAgICAgICAgICAgJGNvZGUtZm9udC1zaXplICFkZWZhdWx0O1xuJGtiZC1jb2xvcjogICAgICAgICAgICAgICAgICAgICAgICAgJHdoaXRlICFkZWZhdWx0O1xuJGtiZC1iZzogICAgICAgICAgICAgICAgICAgICAgICAgICAgJGdyYXktOTAwICFkZWZhdWx0O1xuXG4kcHJlLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICAgICAkZ3JheS05MDAgIWRlZmF1bHQ7XG4kcHJlLXNjcm9sbGFibGUtbWF4LWhlaWdodDogICAgICAgICAzNDBweCAhZGVmYXVsdDtcblxuXG4vLyBVdGlsaXRpZXNcblxuJGRpc3BsYXlzOiBub25lLCBpbmxpbmUsIGlubGluZS1ibG9jaywgYmxvY2ssIHRhYmxlLCB0YWJsZS1yb3csIHRhYmxlLWNlbGwsIGZsZXgsIGlubGluZS1mbGV4ICFkZWZhdWx0O1xuJG92ZXJmbG93czogYXV0bywgaGlkZGVuICFkZWZhdWx0O1xuJHBvc2l0aW9uczogc3RhdGljLCByZWxhdGl2ZSwgYWJzb2x1dGUsIGZpeGVkLCBzdGlja3kgIWRlZmF1bHQ7XG5cblxuLy8gUHJpbnRpbmdcblxuJHByaW50LXBhZ2Utc2l6ZTogICAgICAgICAgICAgICAgICAgYTMgIWRlZmF1bHQ7XG4kcHJpbnQtYm9keS1taW4td2lkdGg6ICAgICAgICAgICAgICBtYXAtZ2V0KCRncmlkLWJyZWFrcG9pbnRzLCBcImxnXCIpICFkZWZhdWx0O1xuIiwiLy8gRnJhbWV3b3JrIGdyaWQgZ2VuZXJhdGlvblxuLy9cbi8vIFVzZWQgb25seSBieSBCb290c3RyYXAgdG8gZ2VuZXJhdGUgdGhlIGNvcnJlY3QgbnVtYmVyIG9mIGdyaWQgY2xhc3NlcyBnaXZlblxuLy8gYW55IHZhbHVlIG9mIGAkZ3JpZC1jb2x1bW5zYC5cblxuQG1peGluIG1ha2UtZ3JpZC1jb2x1bW5zKCRjb2x1bW5zOiAkZ3JpZC1jb2x1bW5zLCAkZ3V0dGVyOiAkZ3JpZC1ndXR0ZXItd2lkdGgsICRicmVha3BvaW50czogJGdyaWQtYnJlYWtwb2ludHMpIHtcbiAgLy8gQ29tbW9uIHByb3BlcnRpZXMgZm9yIGFsbCBicmVha3BvaW50c1xuICAlZ3JpZC1jb2x1bW4ge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBwYWRkaW5nLXJpZ2h0OiAkZ3V0dGVyIC8gMjtcbiAgICBwYWRkaW5nLWxlZnQ6ICRndXR0ZXIgLyAyO1xuICB9XG5cbiAgQGVhY2ggJGJyZWFrcG9pbnQgaW4gbWFwLWtleXMoJGJyZWFrcG9pbnRzKSB7XG4gICAgJGluZml4OiBicmVha3BvaW50LWluZml4KCRicmVha3BvaW50LCAkYnJlYWtwb2ludHMpO1xuXG4gICAgLy8gQWxsb3cgY29sdW1ucyB0byBzdHJldGNoIGZ1bGwgd2lkdGggYmVsb3cgdGhlaXIgYnJlYWtwb2ludHNcbiAgICBAZm9yICRpIGZyb20gMSB0aHJvdWdoICRjb2x1bW5zIHtcbiAgICAgIC5jb2wjeyRpbmZpeH0tI3skaX0ge1xuICAgICAgICBAZXh0ZW5kICVncmlkLWNvbHVtbjtcbiAgICAgIH1cbiAgICB9XG4gICAgLmNvbCN7JGluZml4fSxcbiAgICAuY29sI3skaW5maXh9LWF1dG8ge1xuICAgICAgQGV4dGVuZCAlZ3JpZC1jb2x1bW47XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cCgkYnJlYWtwb2ludCwgJGJyZWFrcG9pbnRzKSB7XG4gICAgICAvLyBQcm92aWRlIGJhc2ljIGAuY29sLXticH1gIGNsYXNzZXMgZm9yIGVxdWFsLXdpZHRoIGZsZXhib3ggY29sdW1uc1xuICAgICAgLmNvbCN7JGluZml4fSB7XG4gICAgICAgIGZsZXgtYmFzaXM6IDA7XG4gICAgICAgIGZsZXgtZ3JvdzogMTtcbiAgICAgICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgICAgfVxuXG4gICAgICBAZm9yICRpIGZyb20gMSB0aHJvdWdoICRncmlkLXJvdy1jb2x1bW5zIHtcbiAgICAgICAgLnJvdy1jb2xzI3skaW5maXh9LSN7JGl9IHtcbiAgICAgICAgICBAaW5jbHVkZSByb3ctY29scygkaSk7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgLmNvbCN7JGluZml4fS1hdXRvIHtcbiAgICAgICAgQGluY2x1ZGUgbWFrZS1jb2wtYXV0bygpO1xuICAgICAgfVxuXG4gICAgICBAZm9yICRpIGZyb20gMSB0aHJvdWdoICRjb2x1bW5zIHtcbiAgICAgICAgLmNvbCN7JGluZml4fS0jeyRpfSB7XG4gICAgICAgICAgQGluY2x1ZGUgbWFrZS1jb2woJGksICRjb2x1bW5zKTtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICAub3JkZXIjeyRpbmZpeH0tZmlyc3QgeyBvcmRlcjogLTE7IH1cblxuICAgICAgLm9yZGVyI3skaW5maXh9LWxhc3QgeyBvcmRlcjogJGNvbHVtbnMgKyAxOyB9XG5cbiAgICAgIEBmb3IgJGkgZnJvbSAwIHRocm91Z2ggJGNvbHVtbnMge1xuICAgICAgICAub3JkZXIjeyRpbmZpeH0tI3skaX0geyBvcmRlcjogJGk7IH1cbiAgICAgIH1cblxuICAgICAgLy8gYCRjb2x1bW5zIC0gMWAgYmVjYXVzZSBvZmZzZXR0aW5nIGJ5IHRoZSB3aWR0aCBvZiBhbiBlbnRpcmUgcm93IGlzbid0IHBvc3NpYmxlXG4gICAgICBAZm9yICRpIGZyb20gMCB0aHJvdWdoICgkY29sdW1ucyAtIDEpIHtcbiAgICAgICAgQGlmIG5vdCAoJGluZml4ID09IFwiXCIgYW5kICRpID09IDApIHsgLy8gQXZvaWQgZW1pdHRpbmcgdXNlbGVzcyAub2Zmc2V0LTBcbiAgICAgICAgICAub2Zmc2V0I3skaW5maXh9LSN7JGl9IHtcbiAgICAgICAgICAgIEBpbmNsdWRlIG1ha2UtY29sLW9mZnNldCgkaSwgJGNvbHVtbnMpO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiLy8gc3R5bGVsaW50LWRpc2FibGUgZGVjbGFyYXRpb24tbm8taW1wb3J0YW50XG5cbi8vXG4vLyBVdGlsaXRpZXMgZm9yIGNvbW1vbiBgZGlzcGxheWAgdmFsdWVzXG4vL1xuXG5AZWFjaCAkYnJlYWtwb2ludCBpbiBtYXAta2V5cygkZ3JpZC1icmVha3BvaW50cykge1xuICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKCRicmVha3BvaW50KSB7XG4gICAgJGluZml4OiBicmVha3BvaW50LWluZml4KCRicmVha3BvaW50LCAkZ3JpZC1icmVha3BvaW50cyk7XG5cbiAgICBAZWFjaCAkdmFsdWUgaW4gJGRpc3BsYXlzIHtcbiAgICAgIC5kI3skaW5maXh9LSN7JHZhbHVlfSB7IGRpc3BsYXk6ICR2YWx1ZSAhaW1wb3J0YW50OyB9XG4gICAgfVxuICB9XG59XG5cblxuLy9cbi8vIFV0aWxpdGllcyBmb3IgdG9nZ2xpbmcgYGRpc3BsYXlgIGluIHByaW50XG4vL1xuXG5AbWVkaWEgcHJpbnQge1xuICBAZWFjaCAkdmFsdWUgaW4gJGRpc3BsYXlzIHtcbiAgICAuZC1wcmludC0jeyR2YWx1ZX0geyBkaXNwbGF5OiAkdmFsdWUgIWltcG9ydGFudDsgfVxuICB9XG59XG4iLCIvLyBzdHlsZWxpbnQtZGlzYWJsZSBkZWNsYXJhdGlvbi1uby1pbXBvcnRhbnRcblxuLy8gRmxleCB2YXJpYXRpb25cbi8vXG4vLyBDdXN0b20gc3R5bGVzIGZvciBhZGRpdGlvbmFsIGZsZXggYWxpZ25tZW50IG9wdGlvbnMuXG5cbkBlYWNoICRicmVha3BvaW50IGluIG1hcC1rZXlzKCRncmlkLWJyZWFrcG9pbnRzKSB7XG4gIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAoJGJyZWFrcG9pbnQpIHtcbiAgICAkaW5maXg6IGJyZWFrcG9pbnQtaW5maXgoJGJyZWFrcG9pbnQsICRncmlkLWJyZWFrcG9pbnRzKTtcblxuICAgIC5mbGV4I3skaW5maXh9LXJvdyAgICAgICAgICAgIHsgZmxleC1kaXJlY3Rpb246IHJvdyAhaW1wb3J0YW50OyB9XG4gICAgLmZsZXgjeyRpbmZpeH0tY29sdW1uICAgICAgICAgeyBmbGV4LWRpcmVjdGlvbjogY29sdW1uICFpbXBvcnRhbnQ7IH1cbiAgICAuZmxleCN7JGluZml4fS1yb3ctcmV2ZXJzZSAgICB7IGZsZXgtZGlyZWN0aW9uOiByb3ctcmV2ZXJzZSAhaW1wb3J0YW50OyB9XG4gICAgLmZsZXgjeyRpbmZpeH0tY29sdW1uLXJldmVyc2UgeyBmbGV4LWRpcmVjdGlvbjogY29sdW1uLXJldmVyc2UgIWltcG9ydGFudDsgfVxuXG4gICAgLmZsZXgjeyRpbmZpeH0td3JhcCAgICAgICAgIHsgZmxleC13cmFwOiB3cmFwICFpbXBvcnRhbnQ7IH1cbiAgICAuZmxleCN7JGluZml4fS1ub3dyYXAgICAgICAgeyBmbGV4LXdyYXA6IG5vd3JhcCAhaW1wb3J0YW50OyB9XG4gICAgLmZsZXgjeyRpbmZpeH0td3JhcC1yZXZlcnNlIHsgZmxleC13cmFwOiB3cmFwLXJldmVyc2UgIWltcG9ydGFudDsgfVxuICAgIC5mbGV4I3skaW5maXh9LWZpbGwgICAgICAgICB7IGZsZXg6IDEgMSBhdXRvICFpbXBvcnRhbnQ7IH1cbiAgICAuZmxleCN7JGluZml4fS1ncm93LTAgICAgICAgeyBmbGV4LWdyb3c6IDAgIWltcG9ydGFudDsgfVxuICAgIC5mbGV4I3skaW5maXh9LWdyb3ctMSAgICAgICB7IGZsZXgtZ3JvdzogMSAhaW1wb3J0YW50OyB9XG4gICAgLmZsZXgjeyRpbmZpeH0tc2hyaW5rLTAgICAgIHsgZmxleC1zaHJpbms6IDAgIWltcG9ydGFudDsgfVxuICAgIC5mbGV4I3skaW5maXh9LXNocmluay0xICAgICB7IGZsZXgtc2hyaW5rOiAxICFpbXBvcnRhbnQ7IH1cblxuICAgIC5qdXN0aWZ5LWNvbnRlbnQjeyRpbmZpeH0tc3RhcnQgICB7IGp1c3RpZnktY29udGVudDogZmxleC1zdGFydCAhaW1wb3J0YW50OyB9XG4gICAgLmp1c3RpZnktY29udGVudCN7JGluZml4fS1lbmQgICAgIHsganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZCAhaW1wb3J0YW50OyB9XG4gICAgLmp1c3RpZnktY29udGVudCN7JGluZml4fS1jZW50ZXIgIHsganVzdGlmeS1jb250ZW50OiBjZW50ZXIgIWltcG9ydGFudDsgfVxuICAgIC5qdXN0aWZ5LWNvbnRlbnQjeyRpbmZpeH0tYmV0d2VlbiB7IGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbiAhaW1wb3J0YW50OyB9XG4gICAgLmp1c3RpZnktY29udGVudCN7JGluZml4fS1hcm91bmQgIHsganVzdGlmeS1jb250ZW50OiBzcGFjZS1hcm91bmQgIWltcG9ydGFudDsgfVxuXG4gICAgLmFsaWduLWl0ZW1zI3skaW5maXh9LXN0YXJ0ICAgIHsgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQgIWltcG9ydGFudDsgfVxuICAgIC5hbGlnbi1pdGVtcyN7JGluZml4fS1lbmQgICAgICB7IGFsaWduLWl0ZW1zOiBmbGV4LWVuZCAhaW1wb3J0YW50OyB9XG4gICAgLmFsaWduLWl0ZW1zI3skaW5maXh9LWNlbnRlciAgIHsgYWxpZ24taXRlbXM6IGNlbnRlciAhaW1wb3J0YW50OyB9XG4gICAgLmFsaWduLWl0ZW1zI3skaW5maXh9LWJhc2VsaW5lIHsgYWxpZ24taXRlbXM6IGJhc2VsaW5lICFpbXBvcnRhbnQ7IH1cbiAgICAuYWxpZ24taXRlbXMjeyRpbmZpeH0tc3RyZXRjaCAgeyBhbGlnbi1pdGVtczogc3RyZXRjaCAhaW1wb3J0YW50OyB9XG5cbiAgICAuYWxpZ24tY29udGVudCN7JGluZml4fS1zdGFydCAgIHsgYWxpZ24tY29udGVudDogZmxleC1zdGFydCAhaW1wb3J0YW50OyB9XG4gICAgLmFsaWduLWNvbnRlbnQjeyRpbmZpeH0tZW5kICAgICB7IGFsaWduLWNvbnRlbnQ6IGZsZXgtZW5kICFpbXBvcnRhbnQ7IH1cbiAgICAuYWxpZ24tY29udGVudCN7JGluZml4fS1jZW50ZXIgIHsgYWxpZ24tY29udGVudDogY2VudGVyICFpbXBvcnRhbnQ7IH1cbiAgICAuYWxpZ24tY29udGVudCN7JGluZml4fS1iZXR3ZWVuIHsgYWxpZ24tY29udGVudDogc3BhY2UtYmV0d2VlbiAhaW1wb3J0YW50OyB9XG4gICAgLmFsaWduLWNvbnRlbnQjeyRpbmZpeH0tYXJvdW5kICB7IGFsaWduLWNvbnRlbnQ6IHNwYWNlLWFyb3VuZCAhaW1wb3J0YW50OyB9XG4gICAgLmFsaWduLWNvbnRlbnQjeyRpbmZpeH0tc3RyZXRjaCB7IGFsaWduLWNvbnRlbnQ6IHN0cmV0Y2ggIWltcG9ydGFudDsgfVxuXG4gICAgLmFsaWduLXNlbGYjeyRpbmZpeH0tYXV0byAgICAgeyBhbGlnbi1zZWxmOiBhdXRvICFpbXBvcnRhbnQ7IH1cbiAgICAuYWxpZ24tc2VsZiN7JGluZml4fS1zdGFydCAgICB7IGFsaWduLXNlbGY6IGZsZXgtc3RhcnQgIWltcG9ydGFudDsgfVxuICAgIC5hbGlnbi1zZWxmI3skaW5maXh9LWVuZCAgICAgIHsgYWxpZ24tc2VsZjogZmxleC1lbmQgIWltcG9ydGFudDsgfVxuICAgIC5hbGlnbi1zZWxmI3skaW5maXh9LWNlbnRlciAgIHsgYWxpZ24tc2VsZjogY2VudGVyICFpbXBvcnRhbnQ7IH1cbiAgICAuYWxpZ24tc2VsZiN7JGluZml4fS1iYXNlbGluZSB7IGFsaWduLXNlbGY6IGJhc2VsaW5lICFpbXBvcnRhbnQ7IH1cbiAgICAuYWxpZ24tc2VsZiN7JGluZml4fS1zdHJldGNoICB7IGFsaWduLXNlbGY6IHN0cmV0Y2ggIWltcG9ydGFudDsgfVxuICB9XG59XG4iLCIvLyBzdHlsZWxpbnQtZGlzYWJsZSBkZWNsYXJhdGlvbi1uby1pbXBvcnRhbnRcblxuLy8gTWFyZ2luIGFuZCBQYWRkaW5nXG5cbkBlYWNoICRicmVha3BvaW50IGluIG1hcC1rZXlzKCRncmlkLWJyZWFrcG9pbnRzKSB7XG4gIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAoJGJyZWFrcG9pbnQpIHtcbiAgICAkaW5maXg6IGJyZWFrcG9pbnQtaW5maXgoJGJyZWFrcG9pbnQsICRncmlkLWJyZWFrcG9pbnRzKTtcblxuICAgIEBlYWNoICRwcm9wLCAkYWJicmV2IGluIChtYXJnaW46IG0sIHBhZGRpbmc6IHApIHtcbiAgICAgIEBlYWNoICRzaXplLCAkbGVuZ3RoIGluICRzcGFjZXJzIHtcbiAgICAgICAgLiN7JGFiYnJldn0jeyRpbmZpeH0tI3skc2l6ZX0geyAjeyRwcm9wfTogJGxlbmd0aCAhaW1wb3J0YW50OyB9XG4gICAgICAgIC4jeyRhYmJyZXZ9dCN7JGluZml4fS0jeyRzaXplfSxcbiAgICAgICAgLiN7JGFiYnJldn15I3skaW5maXh9LSN7JHNpemV9IHtcbiAgICAgICAgICAjeyRwcm9wfS10b3A6ICRsZW5ndGggIWltcG9ydGFudDtcbiAgICAgICAgfVxuICAgICAgICAuI3skYWJicmV2fXIjeyRpbmZpeH0tI3skc2l6ZX0sXG4gICAgICAgIC4jeyRhYmJyZXZ9eCN7JGluZml4fS0jeyRzaXplfSB7XG4gICAgICAgICAgI3skcHJvcH0tcmlnaHQ6ICRsZW5ndGggIWltcG9ydGFudDtcbiAgICAgICAgfVxuICAgICAgICAuI3skYWJicmV2fWIjeyRpbmZpeH0tI3skc2l6ZX0sXG4gICAgICAgIC4jeyRhYmJyZXZ9eSN7JGluZml4fS0jeyRzaXplfSB7XG4gICAgICAgICAgI3skcHJvcH0tYm90dG9tOiAkbGVuZ3RoICFpbXBvcnRhbnQ7XG4gICAgICAgIH1cbiAgICAgICAgLiN7JGFiYnJldn1sI3skaW5maXh9LSN7JHNpemV9LFxuICAgICAgICAuI3skYWJicmV2fXgjeyRpbmZpeH0tI3skc2l6ZX0ge1xuICAgICAgICAgICN7JHByb3B9LWxlZnQ6ICRsZW5ndGggIWltcG9ydGFudDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIC8vIE5lZ2F0aXZlIG1hcmdpbnMgKGUuZy4sIHdoZXJlIGAubWItbjFgIGlzIG5lZ2F0aXZlIHZlcnNpb24gb2YgYC5tYi0xYClcbiAgICBAZWFjaCAkc2l6ZSwgJGxlbmd0aCBpbiAkc3BhY2VycyB7XG4gICAgICBAaWYgJHNpemUgIT0gMCB7XG4gICAgICAgIC5tI3skaW5maXh9LW4jeyRzaXplfSB7IG1hcmdpbjogLSRsZW5ndGggIWltcG9ydGFudDsgfVxuICAgICAgICAubXQjeyRpbmZpeH0tbiN7JHNpemV9LFxuICAgICAgICAubXkjeyRpbmZpeH0tbiN7JHNpemV9IHtcbiAgICAgICAgICBtYXJnaW4tdG9wOiAtJGxlbmd0aCAhaW1wb3J0YW50O1xuICAgICAgICB9XG4gICAgICAgIC5tciN7JGluZml4fS1uI3skc2l6ZX0sXG4gICAgICAgIC5teCN7JGluZml4fS1uI3skc2l6ZX0ge1xuICAgICAgICAgIG1hcmdpbi1yaWdodDogLSRsZW5ndGggIWltcG9ydGFudDtcbiAgICAgICAgfVxuICAgICAgICAubWIjeyRpbmZpeH0tbiN7JHNpemV9LFxuICAgICAgICAubXkjeyRpbmZpeH0tbiN7JHNpemV9IHtcbiAgICAgICAgICBtYXJnaW4tYm90dG9tOiAtJGxlbmd0aCAhaW1wb3J0YW50O1xuICAgICAgICB9XG4gICAgICAgIC5tbCN7JGluZml4fS1uI3skc2l6ZX0sXG4gICAgICAgIC5teCN7JGluZml4fS1uI3skc2l6ZX0ge1xuICAgICAgICAgIG1hcmdpbi1sZWZ0OiAtJGxlbmd0aCAhaW1wb3J0YW50O1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gU29tZSBzcGVjaWFsIG1hcmdpbiB1dGlsc1xuICAgIC5tI3skaW5maXh9LWF1dG8geyBtYXJnaW46IGF1dG8gIWltcG9ydGFudDsgfVxuICAgIC5tdCN7JGluZml4fS1hdXRvLFxuICAgIC5teSN7JGluZml4fS1hdXRvIHtcbiAgICAgIG1hcmdpbi10b3A6IGF1dG8gIWltcG9ydGFudDtcbiAgICB9XG4gICAgLm1yI3skaW5maXh9LWF1dG8sXG4gICAgLm14I3skaW5maXh9LWF1dG8ge1xuICAgICAgbWFyZ2luLXJpZ2h0OiBhdXRvICFpbXBvcnRhbnQ7XG4gICAgfVxuICAgIC5tYiN7JGluZml4fS1hdXRvLFxuICAgIC5teSN7JGluZml4fS1hdXRvIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IGF1dG8gIWltcG9ydGFudDtcbiAgICB9XG4gICAgLm1sI3skaW5maXh9LWF1dG8sXG4gICAgLm14I3skaW5maXh9LWF1dG8ge1xuICAgICAgbWFyZ2luLWxlZnQ6IGF1dG8gIWltcG9ydGFudDtcbiAgICB9XG4gIH1cbn1cbiIsIi8qIEZvbnRzICovXG4kZm9udC1wYXRoOiAnL2ZvbnRzLyc7XG4kZm9udC1kZWZhdWx0OiBIZWx2ZXRpY2EsIEFyaWFsLCBzYW5zLXNlcmlmO1xuXG4kQ291cGVUaGluOiAnQ291cGUtVGhpbicsICRmb250LWRlZmF1bHQ7XG4kQ291cGVCb2xkOiAnQ291cGUtQm9sZCcsICRmb250LWRlZmF1bHQ7XG4kQ291cGVOb3JtYWw6ICdDb3VwZS1Ob3JtYWwnLCAkZm9udC1kZWZhdWx0O1xuJENvdXBlTWVkaXVtOiAnQ291cGUtTWVkaXVtJywgJGZvbnQtZGVmYXVsdDtcbiRQbHV0b1NhbnNDb25kOiAnQ291cGUtTWVkaXVtJywgJGZvbnQtZGVmYXVsdDtcblxuLyogQ29sb3VycyAqL1xuJHdoaXRlOiAjRkZGRkZGO1xuJGJsYWNrOiAjMDAwMDAwO1xuJGdyYXktbGlnaHQ6ICNGMkYyRjI7XG4kZ3JheS1kYXJrOiAjOTc5Nzk3O1xuJG9yYW5nZTojRjY4RTFGO1xuJG9yYW5nZS1saWdodDojRjZBNjVFO1xuXG4vKiBCcmVha3BvaW50cyAqL1xuLyogVGFrZSBuZXcgYnJlYWtwb2ludHMgYXMgbWFwIGZyb20gQm9vdHN0cmFwIDQgKi9cbiRzbWFsbC1icmVha3BvaW50OjFweDtcblxuLyokc3BhY2UtYnJlYWtwb2ludHM6IChcbiAgICB4czogMCxcbiAgICBzbTogNTc2cHgsXG4gICAgbWQ6IDc2OHB4LFxuICAgIGxnOiA5OTJweCxcbiAgICB4bDogMTIwMHB4XG4pOyovXG5cbiR4cy1icmVha3BvaW50OiAwO1xuJHNtLWJyZWFrcG9pbnQ6IDU3NnB4O1xuJG1kLWJyZWFrcG9pbnQ6IDc2OHB4O1xuJGxnLWJyZWFrcG9pbnQ6IDk5MnB4O1xuJHhsLWJyZWFrcG9pbnQ6IDEyMDBweDtcbiR4eGwtYnJlYWtwb2ludDogMTgwMHB4O1xuXG4vLyBzY2FsZSBkb3duIHRoZSByZWNhcHRjaGEgdG8gZml0IGluIHRoZSBzY3JlZW4uXG4kcmVjYXB0Y2hhLWJyZWFrcG9pbnQ6IDM1MHB4O1xuXG4kYmFzZS1mb250LWZhbWlseTogJFBsdXRvU2Fuc0NvbmQ7XG4kYmFzZS1mb250LXNpemU6IDE2O1xuJGdlbmVyYWwtZm9udC1zaXplOiAxOTsgLy8gRG9uJ3QgY29weSB0aGlzIGluIG5ldyBwcm9qZWN0XG4kZ2VuZXJhbC1saW5lLWhlaWdodDogMS4xODsgLy8gRG9uJ3QgY29weSB0aGlzIGluIG5ldyBwcm9qZWN0XG4kZ2VuZXJhbC1saW5lLWhlaWdodC1tb2JpbGU6IDEuMTU7IC8vIERvbid0IGNvcHkgdGhpcyBpbiBuZXcgcHJvamVjdFxuJGdlbmVyYWwtZm9udC1zaXplLW1vYmlsZTogMjA7XG4kYmFzZS1saW5lLWhlaWdodDogMS41O1xuJGJhc2UtY29sb3I6ICRibGFjaztcbiRtZW51LWJyZWFrcG9pbnQ6ICR4bC1icmVha3BvaW50O1xuXG4kZ2VuZXJpYy1jb250ZW50LWdhcDo3NXB4O1xuJGFkZGl0aW9uYWwtZ2FwOjEycHg7XG5cbiRoZWFkZXItaGVpZ2h0Ojk1O1xuJHNjYWxlLWltYWdlOjEuMDg7XG4iLCIvKiBzdHlsZWxpbnQtZGlzYWJsZSAqL1xuc2VsZWN0e1xuICAgIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTtcbiAgICAtbW96LWFwcGVhcmFuY2U6IG5vbmU7XG5cbiAgICAmOjotbXMtZXhwYW5kIHtcbiAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG59XG4uZW5xdWlyZS1mb3Jte1xuICAgIGlucHV0LFxuICAgIHRleHRhcmVhe1xuICAgICAgICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDA7XG4gICAgfVxufVxuXG5pbnB1dFt0eXBlPSd0ZXh0J10sIGlucHV0W3R5cGU9J251bWJlciddLFxuaW5wdXRbdHlwZT0nZW1haWwnXSwgaW5wdXRbdHlwZT0ndGVsZXBob25lJ10sIHRleHRhcmVhIHtcbiAgICBAbWVkaWEgYWxsIGFuZCAobWF4LXdpZHRoOiAkc21hbGwtYnJlYWtwb2ludCkge1xuICAgICAgICBmb250LXNpemU6IHJlbSgxNCk7XG4gICAgfVxuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogcmVtKDQ1KTtcbiAgICAvL2ZvbnQtZmFtaWx5OiAkUGx1dG9TYW5zQ29uZDtcbiAgICBmb250LXNpemU6IHJlbSgxNik7XG4gICAgZm9udC13ZWlnaHQ6IDMwMDtcbiAgICBsaW5lLWhlaWdodDogcmVtKDE2KTtcbiAgICBiYWNrZ3JvdW5kOiBub25lO1xuICAgIGJvcmRlcjogbm9uZTtcbiAgICBib3JkZXItYm90dG9tOiByZW0oMikgc29saWQgJGJsYWNrO1xuICAgIGJvcmRlci1yYWRpdXM6IDAgIWltcG9ydGFudDtcbiAgICB0cmFuc2l0aW9uOiBhbGwgMC4ycztcblxuICAgICY6Zm9jdXMsICY6YWN0aXZlIHtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiAkYmxhY2s7XG4gICAgfVxuXG4gICAgLmZvcm0tZXJyb3IgJiB7XG4gICAgICAgIGNvbG9yOiAkYmxhY2s7XG4gICAgICAgIGJvcmRlci1jb2xvcjogJGJsYWNrO1xuICAgIH1cbn1cblxudGV4dGFyZWEge1xuICAgIGhlaWdodDogYXV0bztcbiAgICBwYWRkaW5nOiByZW0oMTApO1xuICAgIGJvcmRlcjogMnB4IHNvbGlkICRibGFjaztcbiAgICByZXNpemU6IG5vbmU7XG59XG5cbmlucHV0W3R5cGU9XCJzdWJtaXRcIl17XG4gICAgY3Vyc29yOnBvaW50ZXI7XG59XG5cbi5zZWxlY3Qtd3JhcHBlciB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGJhY2tncm91bmQ6ICR3aGl0ZTtcbiAgICBzZWxlY3Qge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIHBhZGRpbmc6IHJlbSgyMCk7XG4gICAgICAgIC8vZm9udC1mYW1pbHk6ICRQbHV0b1NhbnNDb25kO1xuICAgICAgICBmb250LXdlaWdodDogNzAwO1xuICAgICAgICBiYWNrZ3JvdW5kOiBub25lO1xuICAgICAgICBib3JkZXI6IG5vbmU7XG5cbiAgICAgICAgb3B0aW9uIHtcbiAgICAgICAgICAgIGNvbG9yOiAkYmxhY2s7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiAkd2hpdGU7XG4gICAgICAgIH1cblxuICAgICAgICAmOmZvY3VzIHtcbiAgICAgICAgICAgIG91dGxpbmU6IG5vbmU7XG4gICAgICAgIH1cbiAgICAgICAgJjo6LW1zLWV4cGFuZCB7XG4gICAgICAgICAgICBkaXNwbGF5OiBub25lOyAvLyBIaWRlIGFycm93IGluIElFXG4gICAgICAgIH1cbiAgICB9XG4gICAgXG4gICAgJi5zZWxlY3QtZGlzYWJsZWQge1xuICAgICAgICBjdXJzb3I6IG5vdC1hbGxvd2VkO1xuICAgIH1cbn1cblxuZm9ybSB7XG4gICAgLmZvcm0tZ3JvdXAge1xuICAgICAgICBtYXJnaW46IHJlbSgxMCkgMDtcbiAgICAgICAgLy9ib3JkZXI6IDFweCBzb2xpZCAjRUVFRUVFO1xuXG4gICAgICAgIC5mb3JtLWVycm9yLW1lc3NhZ2Uge1xuICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgfVxuXG4gICAgICAgICYuZm9ybS1lcnJvciAuZm9ybS1lcnJvci1tZXNzYWdlIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgY29sb3I6ICNGRjAwMDA7XG4gICAgICAgIH1cbiAgICB9XG59IiwiQGZ1bmN0aW9uIHJlbSgkc2l6ZSwgJGNvbnRleHQ6ICRiYXNlLWZvbnQtc2l6ZSkge1xuICAgICRyZW1TaXplOiAkc2l6ZSAvICRjb250ZXh0O1xuICAgIEByZXR1cm4gI3skcmVtU2l6ZX1yZW07XG59XG5cbkBtaXhpbiBwbGFjZWhvbGRlciAoJGNvbG9yLCAkZm9udCkge1xuICAgIDo6LXdlYmtpdC1pbnB1dC1wbGFjZWhvbGRlciB7IC8qIENocm9tZSAqL1xuICAgICAgICBjb2xvcjogJGNvbG9yO1xuICAgICAgICBmb250LXNpemU6IHJlbSgxMik7XG5cbiAgICAgICAgQG1lZGlhIGFsbCBhbmQgKG1pbi13aWR0aDogJHNtYWxsLWJyZWFrcG9pbnQtbWF4KSB7XG4gICAgICAgICAgICBmb250LXNpemU6ICRmb250O1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgOi1tcy1pbnB1dC1wbGFjZWhvbGRlciB7IC8qIElFIDEwKyAqL1xuICAgICAgICBjb2xvcjogJGNvbG9yO1xuICAgICAgICBmb250LXNpemU6IHJlbSgxMik7XG5cbiAgICAgICAgQG1lZGlhIGFsbCBhbmQgKG1pbi13aWR0aDogJHNtYWxsLWJyZWFrcG9pbnQtbWF4KSB7XG4gICAgICAgICAgICBmb250LXNpemU6ICRmb250O1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgOjotbW96LXBsYWNlaG9sZGVyIHsgLyogRmlyZWZveCAxOSsgKi9cbiAgICAgICAgY29sb3I6ICRjb2xvcjtcbiAgICAgICAgZm9udC1zaXplOiByZW0oMTIpO1xuICAgICAgICBvcGFjaXR5OiAxO1xuXG4gICAgICAgIEBtZWRpYSBhbGwgYW5kIChtaW4td2lkdGg6ICRzbWFsbC1icmVha3BvaW50LW1heCkge1xuICAgICAgICAgICAgZm9udC1zaXplOiAkZm9udDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIDotbW96LXBsYWNlaG9sZGVyIHsgLyogRmlyZWZveCA0LTE4ICovXG4gICAgICAgIGNvbG9yOiAkY29sb3I7XG4gICAgICAgIGZvbnQtc2l6ZTogcmVtKDEyKTtcbiAgICAgICAgb3BhY2l0eTogMTtcblxuICAgICAgICBAbWVkaWEgYWxsIGFuZCAobWluLXdpZHRoOiAkc21hbGwtYnJlYWtwb2ludC1tYXgpIHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogJGZvbnQ7XG4gICAgICAgIH1cbiAgICB9XG59XG5cbkBtaXhpbiBtZWRpYU1pbigkYnJlYWtwb2ludCl7XG4gICAgQGlmIG1hcC1oYXMta2V5KCRncmlkLWJyZWFrcG9pbnRzLCAkYnJlYWtwb2ludCkge1xuICAgICAgICBAbWVkaWEgKG1pbi13aWR0aDogI3ttYXAtZ2V0KCRncmlkLWJyZWFrcG9pbnRzLCAkYnJlYWtwb2ludCl9KSB7XG4gICAgICAgICAgICBAY29udGVudDtcbiAgICAgICAgfVxuICAgIH1cbiAgICBAZWxzZSB7XG4gICAgICAgIEB3YXJuIFwiVW5mb3J0dW5hdGVseSwgbm8gdmFsdWUgY291bGQgYmUgcmV0cmlldmVkIGZyb20gYCN7JGJyZWFrcG9pbnR9YC4gXCJcbiAgICAgICAgICAgICsgXCJQbGVhc2UgbWFrZSBzdXJlIGl0IGlzIGRlZmluZWQgaW4gYCRicmVha3BvaW50c2AgbWFwLlwiO1xuICAgIH1cbn1cblxuQG1peGluIGJveFNoYWRvdygkcGFkZGluZykge1xuXG4gICAgJGNvbG9yczogJGJsdWUsICRvcmFuZ2UsICRkYXJrLWdyZXk7XG4gICAgJGNsYXNzZXM6ICdibHVlJywgJ29yYW5nZScsICdncmV5JztcblxuICAgIEBmb3IgJGkgZnJvbSAxIHRocm91Z2ggbGVuZ3RoKCRjbGFzc2VzKSB7XG4gICAgICAgICRjbGFzczogbnRoKCRjbGFzc2VzLCAkaSk7XG4gICAgICAgICYuI3skY2xhc3N9e1xuICAgICAgICAgICAgPnNwYW57XG4gICAgICAgICAgICAgICAgYm94LXNoYWRvdzogJHBhZGRpbmcgMXB4IDAgMnB4IG50aCgkY29sb3JzLCAkaSksXG4gICAgICAgICAgICAgICAgICAgIC0kcGFkZGluZyAxcHggMCAycHggbnRoKCRjb2xvcnMsICRpKTtcbiAgICAgICAgICAgICAgICBvdXRsaW5lOjFweCBzb2xpZCBudGgoJGNvbG9ycywgJGkpO1xuICAgICAgICAgICAgICAgIGJveC1kZWNvcmF0aW9uLWJyZWFrOiBjbG9uZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8qYm94LXNoYWRvdzogJHBhZGRpbmcgMXB4IDAgMnB4ICRjb2xvcixcbiAgICAgICAgLSRwYWRkaW5nIDFweCAwIDJweCAkY29sb3I7XG4gICAgb3V0bGluZToxcHggc29saWQgJGNvbG9yOyovXG59XG5cbkBtaXhpbiB1bmlmb3JtTGV0dGVyU3BhY2luZygpIHtcbiAgICAvLyBTQUZBUklcbiAgICBAbWVkaWEgbm90IGFsbCBhbmQgKG1pbi1yZXNvbHV0aW9uOiAwLjAwMWRwY20pIHtcbiAgICAgICAgbGV0dGVyLXNwYWNpbmc6IC0wLjA1cmVtO1xuICAgIH1cbiAgICAvLyBJRVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kICgtbXMtaGlnaC1jb250cmFzdDogYWN0aXZlKSwgKC1tcy1oaWdoLWNvbnRyYXN0OiBub25lKSB7XG4gICAgICAgIGxldHRlci1zcGFjaW5nOiByZW0oMC45Nik7XG4gICAgfVxuICAgIC8vIEZJUkVGT1hcbiAgICBALW1vei1kb2N1bWVudCB1cmwtcHJlZml4KCcnKSB7XG4gICAgICAgIGxldHRlci1zcGFjaW5nOiByZW0oLTAuMDEpO1xuICAgIH1cbn1cblxuQG1peGluIG1ha2UtaGFsZi1jb250YWluZXItbWF4LXdpZHRocygkbWF4LXdpZHRoczogJGNvbnRhaW5lci1tYXgtd2lkdGhzLCAkYnJlYWtwb2ludHM6ICRncmlkLWJyZWFrcG9pbnRzKSB7XG4gICAgQGVhY2ggJGJyZWFrcG9pbnQsICRjb250YWluZXItbWF4LXdpZHRoIGluICRtYXgtd2lkdGhzIHtcbiAgICAgICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cCgkYnJlYWtwb2ludCwgJGJyZWFrcG9pbnRzKSB7XG4gICAgICAgICAgICBtYXgtd2lkdGg6ICRjb250YWluZXItbWF4LXdpZHRoLzI7XG4gICAgICAgIH1cbiAgICB9XG59IiwiQGZvbnQtZmFjZSB7XG4gICAgZm9udC1mYW1pbHk6IENvdXBlLVRoaW47XG4gICAgZm9udC13ZWlnaHQ6bm9ybWFsO1xuICAgIHNyYzogdXJsKCcvd2ViL2ZvbnRzL2NvdXBlLzM1Qzk3RF8wXzAuZW90Jyk7XG4gICAgc3JjOiB1cmwoJy93ZWIvZm9udHMvY291cGUvMzVDOTdEXzBfMC5lb3Q/I2llZml4JykgZm9ybWF0KCdlbWJlZGRlZC1vcGVudHlwZScpLFxuICAgICAgICB1cmwoJy93ZWIvZm9udHMvY291cGUvMzVDOTdEXzBfMC53b2ZmMicpIGZvcm1hdCgnd29mZjInKSxcbiAgICAgICAgdXJsKCcvd2ViL2ZvbnRzL2NvdXBlLzM1Qzk3RF8wXzAud29mZicpIGZvcm1hdCgnd29mZicpLFxuICAgICAgICB1cmwoJy93ZWIvZm9udHMvY291cGUvMzVDOTdEXzBfMC50dGYnKSBmb3JtYXQoJ3RydWV0eXBlJyk7XG59XG5cbkBmb250LWZhY2Uge1xuICAgIGZvbnQtZmFtaWx5OiBDb3VwZS1Cb2xkO1xuICAgIGZvbnQtd2VpZ2h0Om5vcm1hbDtcbiAgICBzcmM6IHVybCgnL3dlYi9mb250cy9jb3VwZS8zNUM5N0RfMV8wLmVvdCcpO1xuICAgIHNyYzogdXJsKCcvd2ViL2ZvbnRzL2NvdXBlLzM1Qzk3RF8xXzAuZW90PyNpZWZpeCcpIGZvcm1hdCgnZW1iZWRkZWQtb3BlbnR5cGUnKSxcbiAgICAgICAgdXJsKCcvd2ViL2ZvbnRzL2NvdXBlLzM1Qzk3RF8xXzAud29mZjInKSBmb3JtYXQoJ3dvZmYyJyksXG4gICAgICAgIHVybCgnL3dlYi9mb250cy9jb3VwZS8zNUM5N0RfMV8wLndvZmYnKSBmb3JtYXQoJ3dvZmYnKSxcbiAgICAgICAgdXJsKCcvd2ViL2ZvbnRzL2NvdXBlLzM1Qzk3RF8xXzAudHRmJykgZm9ybWF0KCd0cnVldHlwZScpO1xufVxuXG5AZm9udC1mYWNlIHtcbiAgICBmb250LWZhbWlseTogQ291cGUtTm9ybWFsO1xuICAgIGZvbnQtd2VpZ2h0Om5vcm1hbDtcbiAgICBzcmM6IHVybCgnL3dlYi9mb250cy9jb3VwZS8zNUM5N0RfMl8wLmVvdCcpO1xuICAgIHNyYzogdXJsKCcvd2ViL2ZvbnRzL2NvdXBlLzM1Qzk3RF8yXzAuZW90PyNpZWZpeCcpIGZvcm1hdCgnZW1iZWRkZWQtb3BlbnR5cGUnKSxcbiAgICAgICAgdXJsKCcvd2ViL2ZvbnRzL2NvdXBlLzM1Qzk3RF8yXzAud29mZjInKSBmb3JtYXQoJ3dvZmYyJyksXG4gICAgICAgIHVybCgnL3dlYi9mb250cy9jb3VwZS8zNUM5N0RfMl8wLndvZmYnKSBmb3JtYXQoJ3dvZmYnKSxcbiAgICAgICAgdXJsKCcvd2ViL2ZvbnRzL2NvdXBlLzM1Qzk3RF8yXzAudHRmJykgZm9ybWF0KCd0cnVldHlwZScpO1xufVxuXG5AZm9udC1mYWNlIHtcbiAgICBmb250LWZhbWlseTogQ291cGUtTWVkaXVtO1xuICAgIGZvbnQtd2VpZ2h0Om5vcm1hbDtcbiAgICBzcmM6IHVybCgnL3dlYi9mb250cy9jb3VwZS8zNUM5N0RfM18wLmVvdCcpO1xuICAgIHNyYzogdXJsKCcvd2ViL2ZvbnRzL2NvdXBlLzM1Qzk3RF8zXzAuZW90PyNpZWZpeCcpIGZvcm1hdCgnZW1iZWRkZWQtb3BlbnR5cGUnKSxcbiAgICAgICAgdXJsKCcvd2ViL2ZvbnRzL2NvdXBlLzM1Qzk3RF8zXzAud29mZjInKSBmb3JtYXQoJ3dvZmYyJyksXG4gICAgICAgIHVybCgnL3dlYi9mb250cy9jb3VwZS8zNUM5N0RfM18wLndvZmYnKSBmb3JtYXQoJ3dvZmYnKSxcbiAgICAgICAgdXJsKCcvd2ViL2ZvbnRzL2NvdXBlLzM1Qzk3RF8zXzAudHRmJykgZm9ybWF0KCd0cnVldHlwZScpO1xufVxuXG4vLyBJY29tb29uIGljb25zXG5AZm9udC1mYWNlIHtcbiAgICBmb250LWZhbWlseTogaWNvbW9vbjtcbiAgICBmb250LXN0eWxlOiBub3JtYWw7XG4gICAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgICBzcmM6ICB1cmwoJy93ZWIvZm9udHMvaWNvbW9vbi9pY29tb29uLmVvdD91bm9lMmsnKTtcbiAgICBzcmM6ICB1cmwoJy93ZWIvZm9udHMvaWNvbW9vbi9pY29tb29uLmVvdD91bm9lMmsjaWVmaXgnKSBmb3JtYXQoJ2VtYmVkZGVkLW9wZW50eXBlJyksXG4gICAgICAgIHVybCgnL3dlYi9mb250cy9pY29tb29uL2ljb21vb24udHRmP3Vub2UyaycpIGZvcm1hdCgndHJ1ZXR5cGUnKSxcbiAgICAgICAgdXJsKCcvd2ViL2ZvbnRzL2ljb21vb24vaWNvbW9vbi53b2ZmP3Vub2UyaycpIGZvcm1hdCgnd29mZicpLFxuICAgICAgICB1cmwoJy93ZWIvZm9udHMvaWNvbW9vbi9pY29tb29uLnN2Zz91bm9lMmsjaWNvbW9vbicpIGZvcm1hdCgnc3ZnJyk7XG59XG5cbltjbGFzc149J2ljb24tJ10sIFtjbGFzcyo9JyBpY29uLSddIHtcbiAgICAvKiB1c2UgIWltcG9ydGFudCB0byBwcmV2ZW50IGlzc3VlcyB3aXRoIGJyb3dzZXIgZXh0ZW5zaW9ucyB0aGF0IGNoYW5nZSBmb250cyAqL1xuICAgIGZvbnQtZmFtaWx5OiBpY29tb29uICFpbXBvcnRhbnQ7XG5cbiAgICAvKiBCZXR0ZXIgRm9udCBSZW5kZXJpbmcgPT09PT09PT09PT0gKi9cbiAgICAtd2Via2l0LWZvbnQtc21vb3RoaW5nOiBhbnRpYWxpYXNlZDtcbiAgICAtbW96LW9zeC1mb250LXNtb290aGluZzogZ3JheXNjYWxlO1xuXG4gICAgZm9udC1zdHlsZTogbm9ybWFsO1xuICAgIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gICAgZm9udC12YXJpYW50OiBub3JtYWw7XG5cbiAgICBsaW5lLWhlaWdodDogMTtcbiAgICB0ZXh0LXRyYW5zZm9ybTogbm9uZTtcbiAgICBzcGVhazogbm9uZTtcbn1cblxuLmljb24tZWFzeXN0ZWVsLWxvZ28gLnBhdGgxOmJlZm9yZSB7XG4gICAgY29sb3I6IHJnYigyNDYsIDE0MiwgMzEpO1xuICAgIGNvbnRlbnQ6IFwiXFxlOTAwXCI7XG59XG4uaWNvbi1lYXN5c3RlZWwtbG9nbyAucGF0aDI6YmVmb3JlIHtcbiAgICBtYXJnaW4tbGVmdDogLTQuNzg4MWVtO1xuICAgIGNvbG9yOiByZ2IoMjQ2LCAxNDIsIDMxKTtcbiAgICBjb250ZW50OiBcIlxcZTkwMVwiO1xufVxuLmljb24tZWFzeXN0ZWVsLWxvZ28gLnBhdGgzOmJlZm9yZSB7XG4gICAgbWFyZ2luLWxlZnQ6IC00Ljc4ODFlbTtcbiAgICBjb2xvcjogcmdiKDAsIDAsIDApO1xuICAgIGNvbnRlbnQ6IFwiXFxlOTAyXCI7XG59XG4uaWNvbi1lYXN5c3RlZWwtbG9nbyAucGF0aDQ6YmVmb3JlIHtcbiAgICBtYXJnaW4tbGVmdDogLTQuNzg4MWVtO1xuICAgIGNvbG9yOiByZ2IoMCwgMCwgMCk7XG4gICAgY29udGVudDogXCJcXGU5MDNcIjtcbn1cbi5pY29uLWVhc3lzdGVlbC1sb2dvIC5wYXRoNTpiZWZvcmUge1xuICAgIG1hcmdpbi1sZWZ0OiAtNC43ODgxZW07XG4gICAgY29sb3I6IHJnYigyNDYsIDE0MiwgMzEpO1xuICAgIGNvbnRlbnQ6IFwiXFxlOTA0XCI7XG59XG4uaWNvbi1lYXN5c3RlZWwtbG9nbyAucGF0aDY6YmVmb3JlIHtcbiAgICBtYXJnaW4tbGVmdDogLTQuNzg4MWVtO1xuICAgIGNvbG9yOiByZ2IoMCwgMCwgMCk7XG4gICAgY29udGVudDogXCJcXGU5MDVcIjtcbn1cblxuYm9keS5wYWdlLWNtcy1ob21lIHtcbiAgICAuaWNvbi1lYXN5c3RlZWwtbG9nbyAucGF0aDE6YmVmb3JlIHtcbiAgICAgICAgY29sb3I6IHJnYigyNDYsIDE0MiwgMzEpO1xuICAgICAgICBjb250ZW50OiBcIlxcZTkwYVwiO1xuICAgIH1cbiAgICAuaWNvbi1lYXN5c3RlZWwtbG9nbyAucGF0aDI6YmVmb3JlIHtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IC00Ljc4ODFlbTtcbiAgICAgICAgY29sb3I6IHJnYigyNDYsIDE0MiwgMzEpO1xuICAgICAgICBjb250ZW50OiBcIlxcZTkwYlwiO1xuICAgIH1cbiAgICAuaWNvbi1lYXN5c3RlZWwtbG9nbyAucGF0aDM6YmVmb3JlIHtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IC00Ljc4ODFlbTtcbiAgICAgICAgY29sb3I6IHJnYigyNTUsIDI1NSwgMjU1KTtcbiAgICAgICAgY29udGVudDogXCJcXGU5MGNcIjtcbiAgICB9XG4gICAgLmljb24tZWFzeXN0ZWVsLWxvZ28gLnBhdGg0OmJlZm9yZSB7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiAtNC43ODgxZW07XG4gICAgICAgIGNvbG9yOiByZ2IoMjU1LCAyNTUsIDI1NSk7XG4gICAgICAgIGNvbnRlbnQ6IFwiXFxlOTBkXCI7XG4gICAgfVxuICAgIC5pY29uLWVhc3lzdGVlbC1sb2dvIC5wYXRoNTpiZWZvcmUge1xuICAgICAgICBtYXJnaW4tbGVmdDogLTQuNzg4MWVtO1xuICAgICAgICBjb2xvcjogcmdiKDI0NiwgMTQyLCAzMSk7XG4gICAgICAgIGNvbnRlbnQ6IFwiXFxlOTBlXCI7XG4gICAgfVxuICAgIC5pY29uLWVhc3lzdGVlbC1sb2dvIC5wYXRoNjpiZWZvcmUge1xuICAgICAgICBtYXJnaW4tbGVmdDogLTQuNzg4MWVtO1xuICAgICAgICBjb2xvcjogcmdiKDI1NSwgMjU1LCAyNTUpO1xuICAgICAgICBjb250ZW50OiBcIlxcZTkwZlwiO1xuICAgIH1cbn1cblxuXG4uaWNvbi1lYXN5c3RlZWwtbG9nby13aGl0ZSAucGF0aDE6YmVmb3JlIHtcbiAgICBjb2xvcjogcmdiKDI0NiwgMTQyLCAzMSk7XG4gICAgY29udGVudDogXCJcXGU5MGFcIjtcbn1cbi5pY29uLWVhc3lzdGVlbC1sb2dvLXdoaXRlIC5wYXRoMjpiZWZvcmUge1xuICAgIG1hcmdpbi1sZWZ0OiAtNC43ODgxZW07XG4gICAgY29sb3I6IHJnYigyNDYsIDE0MiwgMzEpO1xuICAgIGNvbnRlbnQ6IFwiXFxlOTBiXCI7XG59XG4uaWNvbi1lYXN5c3RlZWwtbG9nby13aGl0ZSAucGF0aDM6YmVmb3JlIHtcbiAgICBtYXJnaW4tbGVmdDogLTQuNzg4MWVtO1xuICAgIGNvbG9yOiByZ2IoMjU1LCAyNTUsIDI1NSk7XG4gICAgY29udGVudDogXCJcXGU5MGNcIjtcbn1cbi5pY29uLWVhc3lzdGVlbC1sb2dvLXdoaXRlIC5wYXRoNDpiZWZvcmUge1xuICAgIG1hcmdpbi1sZWZ0OiAtNC43ODgxZW07XG4gICAgY29sb3I6IHJnYigyNTUsIDI1NSwgMjU1KTtcbiAgICBjb250ZW50OiBcIlxcZTkwZFwiO1xufVxuLmljb24tZWFzeXN0ZWVsLWxvZ28td2hpdGUgLnBhdGg1OmJlZm9yZSB7XG4gICAgbWFyZ2luLWxlZnQ6IC00Ljc4ODFlbTtcbiAgICBjb2xvcjogcmdiKDI0NiwgMTQyLCAzMSk7XG4gICAgY29udGVudDogXCJcXGU5MGVcIjtcbn1cbi5pY29uLWVhc3lzdGVlbC1sb2dvLXdoaXRlIC5wYXRoNjpiZWZvcmUge1xuICAgIG1hcmdpbi1sZWZ0OiAtNC43ODgxZW07XG4gICAgY29sb3I6IHJnYigyNTUsIDI1NSwgMjU1KTtcbiAgICBjb250ZW50OiBcIlxcZTkwZlwiO1xufVxuLmljb24tZmxldGNoZXItc3RlZWwtbG9nbzpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwiXFxlOTA2XCI7XG59XG4uaWNvbi1zZWFyY2g6YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIlxcZTkwN1wiO1xufVxuLmljb24tYnVyZ2VyLW1lbnU6YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIlxcZTkwOFwiO1xufVxuLmljb24tY2xvc2U6YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIlxcZTkxMFwiO1xufVxuLmljb24tYXJyb3c6YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIlxcZTkwOVwiO1xufVxuLmljb24tY2hldnJvbi11cDpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwiXFxlOTExXCI7XG59XG4uaWNvbi1jaGV2cm9uLWRvd246YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIlxcZTkxMlwiO1xufVxuLmljb24tZG93bmxvYWQ6YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIlxcZTkxM1wiO1xufVxuXG4vLyBmb3IgZmluZC1hLWJyYW5jaC5cbi5hY3RpdmUgLmljb24tY2hldnJvbi1kb3duOmJlZm9yZSB7XG4gICAgY29sb3I6ICRvcmFuZ2U7XG4gICAgY29udGVudDogXCJcXGU5MTFcIjtcbn0iLCIqIHtcbiAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xufVxuXG5odG1sIHtcbiAgICBsaW5lLWhlaWdodDokYmFzZS1saW5lLWhlaWdodDtcblxuICAgIC8vIGhpZGUgb3ZlcmZsb3cgd2hlbiBvdmVybGF5IGlzIG9wZW4uXG4gICAgJi5vdmVybGF5LW9wZW4sXG4gICAgJi5vdmVybGF5LW9wZW4gYm9keSB7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgIG92ZXJmbG93OiBoaWRkZW47XG5cbiAgICAgICAgI21haW4taGVhZGVyLm1lbnUtb3BlbiB7XG4gICAgICAgICAgICBwb3NpdGlvbjogZml4ZWQ7XG4gICAgICAgICAgICByaWdodDogMDtcbiAgICAgICAgICAgIGxlZnQ6IDA7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiAkd2hpdGU7XG4gICAgICAgIH1cblxuICAgICAgICAmLnBhZ2UtY21zLWhvbWUgI21haW4taGVhZGVyLm1lbnUtb3BlbiB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYmxhY2s7XG4gICAgICAgIH1cbiAgICB9XG59XG5cbmJvZHkge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBjb2xvcjokYmFzZS1jb2xvcjtcbiAgICBmb250LWZhbWlseTokYmFzZS1mb250LWZhbWlseTtcbiAgICBmb250LXNpemU6IHJlbSgkZ2VuZXJhbC1mb250LXNpemUpO1xuICAgIGJhY2tncm91bmQ6ICNGRkZGRkY7XG4gICAgXG4gICAgJi5vdmVyZmxvd0hpZGRlbiB7XG4gICAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgfVxufVxuXG4qOmZvY3VzIHtcbiAgICBvdXRsaW5lOiBub25lO1xufVxuYXtcbiAgICBjb2xvcjokYmFzZS1jb2xvcjtcbn1cbnVse1xuICAgIHBhZGRpbmc6MDtcbiAgICBtYXJnaW46MDtcbiAgICBsaXN0LXN0eWxlOm5vbmU7XG59XG5cbiNhcHB7XG4gICAgb3ZlcmZsb3c6aGlkZGVuO1xufVxuXG4vLyBBZGQgbGF5b3V0IGZvciBmbHVpZCBjb250YWluZXIgd2l0aCBuZXN0ZWQgY29udGFpbmVyXG4uY29udGFpbmVyLWZsdWlkLW5lc3RlZHtcbiAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKG1kKSB7XG4gICAgICAgIHBhZGRpbmc6IDA7XG4gICAgfVxuXG4gICAgLnJvd3tcbiAgICAgICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cChtZCl7XG4gICAgICAgICAgICBwYWRkaW5nLXJpZ2h0OjA7XG4gICAgICAgICAgICBwYWRkaW5nLWxlZnQ6MDtcbiAgICAgICAgICAgIG1hcmdpbjowO1xuICAgICAgICB9XG4gICAgfVxuICAgIGRpdltjbGFzc149XCJjb2wtXCJde1xuICAgICAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKG1kKSB7XG4gICAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiAwO1xuICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiAwO1xuICAgICAgICB9XG4gICAgfVxuICAgIC5oYWxmLWNvbnRhaW5lcntcbiAgICAgICAgcGFkZGluZzogMCAkYWRkaXRpb25hbC1nYXA7XG4gICAgICAgIG1hcmdpbjowIGF1dG87XG5cbiAgICAgICAgQGluY2x1ZGUgbWFrZS1jb250YWluZXItbWF4LXdpZHRocygpO1xuXG4gICAgICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAoc20pIHtcbiAgICAgICAgICAgIHBhZGRpbmc6IDAgMTVweDtcblxuICAgICAgICB9XG4gICAgICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAobWQpIHtcblxuICAgICAgICAgICAgQGluY2x1ZGUgbWFrZS1oYWxmLWNvbnRhaW5lci1tYXgtd2lkdGhzKCk7XG5cbiAgICAgICAgICAgICYuaGFsZi1jb250YWluZXItLXJpZ2h0IHtcbiAgICAgICAgICAgICAgICBmbG9hdDogcmlnaHQ7XG4gICAgICAgICAgICAgICAgd2lkdGg6MTAwJTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbn1cblxuXG4vLyBib3VuY2UgYXJyb3cgZWZmZWN0IC0tLS0gZWxlbWVudCBtdXN0IGhhdmUgc3ViLWNsYXNzZXMgb2YgYW5pbWF0ZWQsIGJvdW5jZS5cbi5hbmltYXRlLWJvdW5jZSB7XG4gICAgLmJvdW5jZS1sZWZ0IHtcbiAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoMTgwZGVnKSB0cmFuc2xhdGUoMCwgLTJweCk7XG4gICAgfVxuXG4gICAgJjpob3ZlcntcbiAgICAgICAgLmljb24tYXJyb3cge1xuICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICB9XG4gICAgICAgIC5hbmltYXRlZCB7XG4gICAgICAgICAgICBhbmltYXRpb24tZHVyYXRpb246IDAuNHM7XG4gICAgICAgICAgICBhbmltYXRpb24taXRlcmF0aW9uLWNvdW50OiAxO1xuICAgICAgICAgICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogbGluZWFyO1xuICAgICAgICAgICAgYW5pbWF0aW9uLWZpbGwtbW9kZTogYm90aDtcbiAgICAgICAgfVxuICAgICAgICBAa2V5ZnJhbWVzIGJvdW5jZSB7XG4gICAgICAgICAgICAwJSwgMTAwJSB7XG4gICAgICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDApO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgNTAlIHtcbiAgICAgICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMTVweCk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgLy8gYXBwbGllcyBvbmx5IGZvciBhcnJvdy5cbiAgICAgICAgQGtleWZyYW1lcyBib3VuY2UtbGVmdCB7XG4gICAgICAgICAgICAwJSwgMTAwJSB7XG4gICAgICAgICAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoMTgwZGVnKSB0cmFuc2xhdGUoMCwgLTJweCk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICA1MCUge1xuICAgICAgICAgICAgICAgIHRyYW5zZm9ybTogcm90YXRlKDE4MGRlZykgdHJhbnNsYXRlKDE1cHgsIC0ycHgpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIEBrZXlmcmFtZXMgYm91bmNlLWRvd24ge1xuICAgICAgICAgICAgMCUsIDEwMCUge1xuICAgICAgICAgICAgICAgIHRyYW5zZm9ybTp0cmFuc2xhdGUoMCwgMCk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICA1MCUge1xuICAgICAgICAgICAgICAgIHRyYW5zZm9ybTp0cmFuc2xhdGUoMCwgN3B4KTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAuYm91bmNlIHtcbiAgICAgICAgICAgIGFuaW1hdGlvbi1uYW1lOiBib3VuY2U7XG4gICAgICAgIH1cbiAgICAgICAgLmJvdW5jZS1sZWZ0IHtcbiAgICAgICAgICAgIGFuaW1hdGlvbi1uYW1lOiBib3VuY2UtbGVmdDtcbiAgICAgICAgfVxuICAgICAgICAuYm91bmNlLWRvd24ge1xuICAgICAgICAgICAgYW5pbWF0aW9uLW5hbWU6IGJvdW5jZS1kb3duO1xuICAgICAgICB9XG4gICAgfVxufVxuXG5tYWluI2FwcCB7XG4gICAgLy9iYWNrZ3JvdW5kOiB5ZWxsb3c7XG59XG5cbi8vIGFsaWdubWVudCBjbGFzc2VzXG4udGV4dC1jZW50ZXIge1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbn1cbi50ZXh0LWxlZnQge1xuICAgIHRleHQtYWxpZ246IGxlZnQ7XG59XG4udGV4dC1yaWdodCB7XG4gICAgdGV4dC1hbGlnbjogcmlnaHQ7XG59XG5cbi8vIGdlbmVyaWMgc2l6ZSBmb3IgYWxsIHBhZ2VzXG4uaWNvbi1hcnJvdyB7XG4gICAgZm9udC1zaXplOiByZW0oMTApO1xufVxuXG4vLyBHZW5lcmljIE92ZXJsYXkgU3R5bGVzXG4uY29udGVudC1vdmVybGF5IHtcbiAgICBwb3NpdGlvbjogZml4ZWQ7XG4gICAgdG9wOiAtMjAwdmg7XG4gICAgbGVmdDogMDtcbiAgICB6LWluZGV4OiA5OTtcbiAgICB3aWR0aDogMTAwdnc7XG4gICAgaGVpZ2h0OiAxMDB2aDtcbiAgICBvdmVyZmxvdzogYXV0bztcbiAgICAvL2JhY2tncm91bmQ6ICRibGFjaztcbiAgICAvL29wYWNpdHk6IDAuMTtcbiAgICB0cmFuc2l0aW9uOiBhbGwgMC40cztcblxuICAgIC8vIENsb3NlIEJ1dHRvblxuICAgIGEuY2xvc2Uge1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHRvcDogMDtcbiAgICAgICAgcmlnaHQ6IDA7XG4gICAgICAgIHotaW5kZXg6IDEwO1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgICAgd2lkdGg6IHJlbSg5NSk7XG4gICAgICAgIGhlaWdodDogcmVtKDk1KTtcbiAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgICAgICBiYWNrZ3JvdW5kOiAkd2hpdGU7XG5cbiAgICAgICAgLmljb24tY2xvc2Uge1xuICAgICAgICAgICAgZm9udC1zaXplOiByZW0oMjQpO1xuICAgICAgICAgICAgdHJhbnNpdGlvbjogYWxsIDAuNXMgMC4xcztcbiAgICAgICAgfVxuXG4gICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgLmljb24tY2xvc2Uge1xuICAgICAgICAgICAgICAgIHRyYW5zZm9ybTogcm90YXRlKDE4MGRlZyk7XG4gICAgICAgICAgICAgICAgdHJhbnNpdGlvbjogYWxsIDAuNXMgMC4xcztcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8vIGJsYWNrIG92ZXJsYXkgYmFja2dyb3VuZFxuICAgICY6YmVmb3JlIHtcbiAgICAgICAgcG9zaXRpb246IGZpeGVkO1xuICAgICAgICB0b3A6IC0yMDB2aDtcbiAgICAgICAgbGVmdDogMDtcbiAgICAgICAgei1pbmRleDogLTE7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgIGJhY2tncm91bmQ6ICRibGFjaztcbiAgICAgICAgY29udGVudDogJyc7XG4gICAgICAgIG9wYWNpdHk6IDAuMTtcbiAgICAgICAgdHJhbnNpdGlvbjogYWxsIDAuNHM7XG4gICAgfVxuXG4gICAgLy8gc2hvdyBtb2RhbCB3aGVuIHNldCB0byBhY3RpdmVcbiAgICAmLmFjdGl2ZSB7XG4gICAgICAgIHRvcDogMDtcblxuICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICB0b3A6IDA7XG4gICAgICAgICAgICBvcGFjaXR5OiAwLjk7XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi5hZGQtZ2Fwc3tcbiAgICBwYWRkaW5nOjAgJGFkZGl0aW9uYWwtZ2FwO1xuXG4gICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cChzbSl7XG4gICAgICAgIHBhZGRpbmc6MDtcbiAgICB9XG59IiwiaDEsIGgyLCBoMywgaDQsIGg1LCBoNiB7XG4gICAgbWFyZ2luOiAwO1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgZm9udC1mYW1pbHk6ICRQbHV0b1NhbnNDb25kO1xuICAgIGZvbnQtd2VpZ2h0Om5vcm1hbDtcbiAgICBsaW5lLWhlaWdodDogMS4zMztcbn1cblxuaDEge1xuICAgIGZvbnQtc2l6ZTogcmVtKDExMCk7XG59XG5oMiB7XG4gICAgZm9udC1zaXplOiByZW0oNDApO1xuICAgIGxpbmUtaGVpZ2h0OiAxLjE7XG5cbiAgICBAbWVkaWEgYWxsIGFuZCAobWluLXdpZHRoOiAkbWQtYnJlYWtwb2ludCkge1xuICAgICAgICBmb250LXNpemU6IHJlbSg1MCk7XG4gICAgfVxufVxuaDMge1xuICAgIGZvbnQtc2l6ZTogcmVtKDMyKTtcbiAgICBsaW5lLWhlaWdodDogMS4xO1xufVxuaDQge1xuICAgIGZvbnQtc2l6ZTogcmVtKDIwKTtcbiAgICBsaW5lLWhlaWdodDogMS4xNTtcbn1cbiIsIi5idXR0b24ge1xuICAgIHBvc2l0aW9uOnJlbGF0aXZlO1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICB3aWR0aDoxMDAlO1xuICAgIHBhZGRpbmc6IHJlbSgyNCkgcmVtKDEwKSByZW0oMjEpO1xuICAgIG1hcmdpbi1yaWdodDowO1xuICAgIGZvbnQtZmFtaWx5OiAkUGx1dG9TYW5zQ29uZDtcbiAgICBmb250LXNpemU6IHJlbSgxNik7XG4gICAgbGluZS1oZWlnaHQ6MTtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgdHJhbnNpdGlvbjogYWxsIDAuMnM7XG5cbiAgICBAbWVkaWEgYWxsIGFuZCAobWluLXdpZHRoOiAkc21hbGwtYnJlYWtwb2ludCkge1xuICAgICAgICBtYXgtd2lkdGg6cmVtKDMwMCk7XG4gICAgICAgIHBhZGRpbmctcmlnaHQ6cmVtKDIzKTtcbiAgICAgICAgcGFkZGluZy1sZWZ0OnJlbSgyMyk7XG4gICAgfVxuXG5cbiAgICAmLS1wcmltYXJ5IHtcbiAgICAgICAgY29sb3I6JGJsYWNrO1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOnRyYW5zcGFyZW50O1xuXG4gICAgICAgICY6aG92ZXIsICYuYWN0aXZlIHtcbiAgICAgICAgICAgIGNvbG9yOiR3aGl0ZTtcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6JGJsYWNrO1xuICAgICAgICB9XG4gICAgfVxuICAgICYubGVmdHtcbiAgICAgICAgdGV4dC1hbGlnbjpsZWZ0O1xuICAgIH1cblxuICAgICZfX3doaXRlIHtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIG1heC13aWR0aDogbm9uZTtcbiAgICAgICAgcGFkZGluZzogcmVtKDE2KSByZW0oNDApO1xuICAgICAgICBjb2xvcjokYmxhY2s7XG4gICAgICAgIHRleHQtdHJhbnNmb3JtOiBub25lO1xuICAgICAgICBiYWNrZ3JvdW5kOiR3aGl0ZTtcbiAgICAgICAgYm9yZGVyOm5vbmU7XG5cbiAgICAgICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cChtZCl7XG4gICAgICAgICAgICB3aWR0aDogYXV0bztcbiAgICAgICAgfVxuXG4gICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgY29sb3I6ICR3aGl0ZTtcbiAgICAgICAgICAgIGJhY2tncm91bmQ6ICRibGFjaztcbiAgICAgICAgfVxuICAgIH1cbiAgICAmX19ibGFjayB7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBtYXgtd2lkdGg6IG5vbmU7XG4gICAgICAgIHBhZGRpbmc6IHJlbSgxNikgcmVtKDQwKTtcbiAgICAgICAgY29sb3I6JHdoaXRlO1xuICAgICAgICB0ZXh0LXRyYW5zZm9ybTogbm9uZTtcbiAgICAgICAgYmFja2dyb3VuZDokYmxhY2s7XG4gICAgICAgIGJvcmRlcjpub25lO1xuXG4gICAgICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAobWQpe1xuICAgICAgICAgICAgd2lkdGg6IGF1dG87XG4gICAgICAgIH1cblxuICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICAgIGNvbG9yOiAkYmxhY2s7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiAkb3JhbmdlO1xuICAgICAgICB9XG4gICAgfVxuICAgICZfX2JsYWNrLS1pbnZlcnRlZCB7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBtYXgtd2lkdGg6IG5vbmU7XG4gICAgICAgIHBhZGRpbmc6IHJlbSgxNikgcmVtKDQwKTtcbiAgICAgICAgdGV4dC10cmFuc2Zvcm06IG5vbmU7XG4gICAgICAgIGJvcmRlcjogMXB4IHNvbGlkICRibGFjaztcblxuICAgICAgICBAbWVkaWEgYWxsIGFuZCAobWluLXdpZHRoOiAkc20tYnJlYWtwb2ludCkge1xuICAgICAgICAgICAgd2lkdGg6IGF1dG87XG4gICAgICAgIH1cblxuICAgICAgICAuaWNvbi1hcnJvdyB7XG4gICAgICAgICAgICBtYXJnaW46IDAgcmVtKDUpO1xuICAgICAgICB9XG5cbiAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICBjb2xvcjogJG9yYW5nZTtcbiAgICAgICAgICAgIGJhY2tncm91bmQ6ICRibGFjaztcblxuICAgICAgICAgICAgLmljb24tYXJyb3cge1xuICAgICAgICAgICAgICAgIGNvbG9yOiAkb3JhbmdlO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgJi5vcmFuZ2Uge1xuICAgICAgICAgICAgY29sb3I6ICRvcmFuZ2U7XG4gICAgICAgICAgICBib3JkZXItY29sb3I6ICRvcmFuZ2U7XG4gICAgICAgIH1cbiAgICB9XG4gICAgJl9fYmxhY2stLW92ZXJsYXkge1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgbWF4LXdpZHRoOiBub25lO1xuICAgICAgICBwYWRkaW5nOiByZW0oMTYpIHJlbSg0MCk7XG4gICAgICAgIGNvbG9yOiAkd2hpdGU7XG4gICAgICAgIHRleHQtdHJhbnNmb3JtOiBub25lO1xuICAgICAgICBib3JkZXI6IDFweCBzb2xpZCAkd2hpdGU7XG4gICAgICAgIEBtZWRpYSBhbGwgYW5kIChtaW4td2lkdGg6ICRzbS1icmVha3BvaW50KSB7XG4gICAgICAgICAgICB3aWR0aDogYXV0bztcbiAgICAgICAgfVxuXG4gICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgY29sb3I6ICRibGFjaztcbiAgICAgICAgICAgIGJhY2tncm91bmQ6ICR3aGl0ZTtcbiAgICAgICAgfVxuICAgIH1cbiAgICAmX19vcmFuZ2UtLWludmVydGVkIHtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIG1heC13aWR0aDogbm9uZTtcbiAgICAgICAgcGFkZGluZzogcmVtKDE2KSByZW0oNDApO1xuICAgICAgICBjb2xvcjokb3JhbmdlO1xuICAgICAgICB0ZXh0LXRyYW5zZm9ybTogbm9uZTtcbiAgICAgICAgYm9yZGVyOiAxcHggc29saWQgJG9yYW5nZTtcblxuICAgICAgICBAbWVkaWEgYWxsIGFuZCAobWluLXdpZHRoOiAkc20tYnJlYWtwb2ludCkge1xuICAgICAgICAgICAgd2lkdGg6IGF1dG87XG4gICAgICAgIH1cblxuICAgICAgICAuaWNvbi1hcnJvdyB7XG4gICAgICAgICAgICBtYXJnaW46IDAgcmVtKDUpO1xuICAgICAgICAgICAgZm9udC1zaXplOiByZW0oMTApO1xuICAgICAgICB9XG5cbiAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICBjb2xvcjogJGJsYWNrO1xuICAgICAgICAgICAgYmFja2dyb3VuZDogJG9yYW5nZTtcblxuICAgICAgICAgICAgLmljb24tYXJyb3cge1xuICAgICAgICAgICAgICAgIGNvbG9yOiAkYmxhY2s7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmX19vcmFuZ2Uge1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgbWF4LXdpZHRoOiBub25lO1xuICAgICAgICBwYWRkaW5nOiByZW0oMTYpIHJlbSg0MCk7XG4gICAgICAgIGNvbG9yOiAkd2hpdGU7XG4gICAgICAgIHRleHQtdHJhbnNmb3JtOiBub25lO1xuICAgICAgICBiYWNrZ3JvdW5kOiAkb3JhbmdlO1xuICAgICAgICBib3JkZXI6IDFweCBzb2xpZCAkb3JhbmdlO1xuXG4gICAgICAgIEBtZWRpYSBhbGwgYW5kIChtaW4td2lkdGg6ICRtZC1icmVha3BvaW50KSB7XG4gICAgICAgICAgICB3aWR0aDogYXV0bztcbiAgICAgICAgfVxuXG4gICAgICAgIC5pY29uLWFycm93IHtcbiAgICAgICAgICAgIG1hcmdpbjogMCByZW0oNSk7XG4gICAgICAgIH1cblxuICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICAgIGNvbG9yOiAkb3JhbmdlO1xuICAgICAgICAgICAgYmFja2dyb3VuZDogbm9uZTtcblxuICAgICAgICAgICAgLmljb24tYXJyb3cge1xuICAgICAgICAgICAgICAgIGNvbG9yOiAkb3JhbmdlO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgJi0tdHJhbnNwYXJlbnQtb3JhbmdlIHtcbiAgICAgICAgd2lkdGg6cmVtKDIzMCk7XG4gICAgICAgIGhlaWdodDpyZW0oNTApO1xuICAgICAgICBwYWRkaW5nOjA7XG4gICAgICAgIGNvbG9yOiRvcmFuZ2U7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6dHJhbnNwYXJlbnQ7XG4gICAgICAgIGJvcmRlcjoxcHggc29saWQgJG9yYW5nZTtcblxuICAgICAgICAmOmhvdmVyLFxuICAgICAgICAmLmlzLWFjdGl2ZSB7XG4gICAgICAgICAgICBjb2xvcjokd2hpdGU7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiRvcmFuZ2U7XG4gICAgICAgIH1cbiAgICB9XG4gICAgJl9fdHJhbnNwYXJlbnQtd2hpdGUge1xuICAgICAgICB3aWR0aDpyZW0oMjMwKTtcbiAgICAgICAgaGVpZ2h0OnJlbSg1MCk7XG4gICAgICAgIHBhZGRpbmc6IHJlbSgxNikgMDtcbiAgICAgICAgY29sb3I6JHdoaXRlO1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOnRyYW5zcGFyZW50O1xuICAgICAgICBib3JkZXI6MXB4IHNvbGlkICR3aGl0ZTtcblxuICAgICAgICAmOmhvdmVyLFxuICAgICAgICAmLmlzLWFjdGl2ZSB7XG4gICAgICAgICAgICBjb2xvcjokb3JhbmdlO1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjokd2hpdGU7XG4gICAgICAgIH1cbiAgICB9XG4gICAgJl9fZml4ZWQtd2lkdGh7XG4gICAgICAgIHdpZHRoOjEwMCU7XG5cbiAgICAgICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cChtZCl7XG4gICAgICAgICAgICB3aWR0aDpyZW0oMzIwKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8vIG1ha2UgYnV0dG9uIHdpdGggYXJyb3cgc2FtZSBoZWlnaHQgYXMgZG93bmxvYWQuXG4gICAgLmljb24tYXJyb3cge1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgIHBhZGRpbmc6IHJlbSg2KSAwIHJlbSgyKTtcbiAgICB9XG4gICAgLmljb24tZG93bmxvYWQge1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgfVxufVxuIiwiJGl0ZW1CcmVha3BvaW50OiAkbWQtYnJlYWtwb2ludDtcblxuLmN0YS1ibG9jayB7XG4gICAgcGFkZGluZzogcmVtKDY1KSByZW0oMTIpIHJlbSg4MCk7XG4gICAgY29sb3I6ICRvcmFuZ2U7XG4gICAgYmFja2dyb3VuZDogJGJsYWNrO1xuICAgIEBtZWRpYSBhbGwgYW5kIChtaW4td2lkdGg6ICRpdGVtQnJlYWtwb2ludCkge1xuICAgICAgICBwYWRkaW5nOiByZW0oMzgpIDAgcmVtKDM1KTtcbiAgICB9XG5cbiAgICAuY29sLXRpdGxlIHtcbiAgICAgICAgcGFkZGluZy10b3A6IHJlbSgxMCk7XG4gICAgICAgIEBtZWRpYSBhbGwgYW5kIChtaW4td2lkdGg6ICRpdGVtQnJlYWtwb2ludCkge1xuICAgICAgICAgICAgcGFkZGluZy10b3A6IHJlbSgxMCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAuY29sLWxpbmsge1xuICAgICAgICBAbWVkaWEgYWxsIGFuZCAobWluLXdpZHRoOiAkaXRlbUJyZWFrcG9pbnQpIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDtcbiAgICAgICAgfVxuXG4gICAgICAgIGEge1xuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICBwYWRkaW5nOiByZW0oMTIpIHJlbSg0NSk7XG4gICAgICAgICAgICBtYXJnaW46IHJlbSgxOCkgYXV0byAwO1xuICAgICAgICAgICAgY29sb3I6ICRvcmFuZ2U7XG4gICAgICAgICAgICBmb250LWZhbWlseTogJFBsdXRvU2Fuc0NvbmQ7XG4gICAgICAgICAgICBmb250LXNpemU6IHJlbSgxNyk7XG4gICAgICAgICAgICBmb250LXdlaWdodDogNTAwO1xuICAgICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgICAgICAgICAgdGV4dC10cmFuc2Zvcm06IG5vbmU7XG4gICAgICAgICAgICBib3JkZXI6IDFweCBzb2xpZCAkb3JhbmdlO1xuICAgICAgICAgICAgQG1lZGlhIGFsbCBhbmQgKG1pbi13aWR0aDogJGl0ZW1CcmVha3BvaW50KSB7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICAgICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLmljb24tYXJyb3cge1xuICAgICAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiByZW0oNSk7XG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiByZW0oMTApO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICAgICAgICBjb2xvcjogJGJsYWNrO1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6ICRvcmFuZ2U7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG59IiwiLnByb21pc2Vze1xuICAgIHBhZGRpbmc6cmVtKDI4KSAwIHJlbSg0NSk7XG4gICAgZm9udC1zaXplOnJlbSgyMCk7XG4gICAgbGluZS1oZWlnaHQ6MS4xODtcbiAgICBiYWNrZ3JvdW5kOiRncmF5LWxpZ2h0O1xuXG4gICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cChtZCl7XG4gICAgICAgIHBhZGRpbmc6cmVtKDg1KSAwIHJlbSg2MCk7XG4gICAgICAgIGZvbnQtc2l6ZTpyZW0oMjQpO1xuICAgIH1cblxuICAgIGgye1xuICAgICAgICBwYWRkaW5nLWJvdHRvbTpyZW0oMTIpO1xuXG4gICAgICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAobWQpe1xuICAgICAgICAgICAgcGFkZGluZy1ib3R0b206cmVtKDQyKTtcbiAgICAgICAgfVxuICAgIH1cbiAgICBoM3tcbiAgICAgICAgbWFyZ2luLWJvdHRvbTo5cHg7XG4gICAgICAgIGZvbnQtZmFtaWx5OiRQbHV0b1NhbnNDb25kO1xuICAgICAgICBmb250LXdlaWdodDpib2xkO1xuICAgICAgICBsaW5lLWhlaWdodDoxO1xuICAgIH1cbiAgICBwe1xuICAgICAgICBtYXJnaW46MDtcbiAgICB9XG4gICAgYXtcbiAgICAgICAgdGV4dC1kZWNvcmF0aW9uOm5vbmU7XG4gICAgfVxuICAgIC5wcm9taXNlc19faWNvbntcbiAgICAgICAgLypoZWlnaHQ6cmVtKDYwKTtcbiAgICAgICAgbWFyZ2luOnJlbSgyMCkgMCByZW0oMTUpO1xuICAgICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOmxlZnQgY2VudGVyO1xuICAgICAgICBiYWNrZ3JvdW5kLXJlcGVhdDpuby1yZXBlYXQ7XG4gICAgICAgIGJhY2tncm91bmQtc2l6ZTpjb250YWluO1xuXG4gICAgICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAobWQpe1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTpyZW0oMzApO1xuICAgICAgICB9Ki9cbiAgICAgICAgaW1ne1xuICAgICAgICAgICAgd2lkdGg6cmVtKDE1MCk7XG4gICAgICAgICAgICBtYXgtd2lkdGg6MTAwJTtcblxuICAgICAgICAgICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cChsZyl7XG4gICAgICAgICAgICAgICAgd2lkdGg6cmVtKDE5MCk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG4gICAgLnN3aXBlci1jb250YWluZXJ7XG4gICAgICAgIG92ZXJmbG93OnZpc2libGU7XG4gICAgfVxuICAgIC5wcm9taXNlc19fbGlzdHtcbiAgICAgICAgZGlzcGxheTpibG9jaztcblxuICAgICAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKGxnKXtcbiAgICAgICAgICAgIGRpc3BsYXk6bm9uZTtcbiAgICAgICAgfVxuXG4gICAgICAgICYucHJvbWlzZXNfX2xpc3QtLW1vYmlsZXtcbiAgICAgICAgICAgIHRleHQtYWxpZ246Y2VudGVyO1xuXG4gICAgICAgICAgICBoM3tcbiAgICAgICAgICAgICAgICBwYWRkaW5nLXRvcDpyZW0oMTApO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgICYucHJvbWlzZXNfX2xpc3QtLWRlc2t0b3B7XG4gICAgICAgICAgICBkaXNwbGF5Om5vbmU7XG5cbiAgICAgICAgICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAobGcpe1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6YmxvY2s7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC5yb3d7XG4gICAgICAgICAgICAgICAgJjpsYXN0LWNoaWxke1xuICAgICAgICAgICAgICAgICAgICBwYWRkaW5nLWJvdHRvbTpyZW0oMjUpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbn0iLCIuYmxvY2tzLTFvcmFuZ2V7XG4gICAgZm9udC1zaXplOnJlbSgkZ2VuZXJhbC1mb250LXNpemUpO1xuICAgIGxpbmUtaGVpZ2h0OiRnZW5lcmFsLWxpbmUtaGVpZ2h0O1xuXG4gICAgLmJsb2Nrcy0xb3JhbmdlLXdpdGgtbGlua3NfX2xlZnR7XG4gICAgICAgIHBhZGRpbmctdG9wOnJlbSg3MCk7XG4gICAgICAgIHBhZGRpbmctYm90dG9tOnJlbSg2MCk7XG4gICAgICAgIGJhY2tncm91bmQ6JG9yYW5nZTtcblxuICAgICAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKG1kKXtcbiAgICAgICAgICAgIHBhZGRpbmctdG9wOnJlbSg4MCk7XG4gICAgICAgICAgICBwYWRkaW5nLWJvdHRvbTpyZW0oODUpO1xuICAgICAgICB9XG5cbiAgICAgICAgaDJ7XG4gICAgICAgICAgICBwYWRkaW5nLWJvdHRvbTpyZW0oMTYpO1xuICAgICAgICB9XG4gICAgICAgIC5oYWxmLWNvbnRhaW5lcntcbiAgICAgICAgfVxuICAgICAgICAuYnV0dG9ue1xuICAgICAgICAgICAgbWFyZ2luLXRvcDpyZW0oMjApO1xuXG4gICAgICAgICAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKG1kKXtcbiAgICAgICAgICAgICAgICBtYXJnaW4tdG9wOnJlbSg0NSk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG4gICAgLmJsb2Nrcy0xb3JhbmdlLXdpdGgtbGlua3NfX3JpZ2h0e1xuICAgICAgICBwYWRkaW5nLXRvcDpyZW0oODApO1xuICAgICAgICBwYWRkaW5nLWJvdHRvbTpyZW0oNjApO1xuICAgICAgICBvdmVyZmxvdzpoaWRkZW47XG4gICAgICAgIGNvbG9yOiR3aGl0ZTtcbiAgICAgICAgd2lsbC1jaGFuZ2U6IHRyYW5zZm9ybSwgb3BhY2l0eTsgLy8gRml4IGp1bXB5IGFuaW1hdGlvblxuXG4gICAgICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAobWQpe1xuICAgICAgICAgICAgbWluLWhlaWdodDpyZW0oNTI1KTtcbiAgICAgICAgICAgIHBhZGRpbmctdG9wOjA7XG4gICAgICAgICAgICBwYWRkaW5nLWJvdHRvbTowO1xuICAgICAgICB9XG5cbiAgICAgICAgJjpob3ZlcntcbiAgICAgICAgICAgIC5ibG9ja3MtMW9yYW5nZS13aXRoLWxpbmtzX19iYWNrZ3JvdW5ke1xuICAgICAgICAgICAgICAgIHRyYW5zZm9ybTpzY2FsZSgkc2NhbGUtaW1hZ2UpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgICYuYmxvY2tzLTFvcmFuZ2Utd2l0aC1saW5rcy0tbWluLWhlaWdodHtcbiAgICAgICAgICAgIG1pbi1oZWlnaHQ6cmVtKDQwMCk7XG5cbiAgICAgICAgICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAobWQpe1xuICAgICAgICAgICAgICAgIG1pbi1oZWlnaHQ6cmVtKDUyNSk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgLmJsb2Nrcy0xb3JhbmdlLXdpdGgtbGlua3NfX2JhY2tncm91bmR7XG4gICAgICAgICAgICBwb3NpdGlvbjphYnNvbHV0ZTtcbiAgICAgICAgICAgIHRvcDowO1xuICAgICAgICAgICAgcmlnaHQ6MDtcbiAgICAgICAgICAgIGJvdHRvbTowO1xuICAgICAgICAgICAgbGVmdDowO1xuICAgICAgICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjo1MCUgNTAlO1xuICAgICAgICAgICAgYmFja2dyb3VuZC1yZXBlYXQ6bm8tcmVwZWF0O1xuICAgICAgICAgICAgYmFja2dyb3VuZC1zaXplOmNvdmVyO1xuICAgICAgICAgICAgdHJhbnNpdGlvbjphbGwgMC41cyAwLjFzO1xuXG4gICAgICAgICAgICAuYmFja2dyb3VuZF9fbGluayB7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIGgze1xuICAgICAgICAgICAgcGFkZGluZy1ib3R0b206cmVtKDE2KTtcbiAgICAgICAgfVxuICAgICAgICAuaGFsZi1jb250YWluZXJ7XG4gICAgICAgICAgICBwb3NpdGlvbjpyZWxhdGl2ZTtcbiAgICAgICAgICAgIHotaW5kZXg6MjtcblxuICAgICAgICAgICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cChtZCl7XG4gICAgICAgICAgICAgICAgcG9zaXRpb246YWJzb2x1dGU7XG4gICAgICAgICAgICAgICAgdG9wOjUwJTtcbiAgICAgICAgICAgICAgICB6LWluZGV4OjI7XG4gICAgICAgICAgICAgICAgcGFkZGluZy1sZWZ0OnJlbSgzMCk7XG4gICAgICAgICAgICAgICAgdHJhbnNmb3JtOnRyYW5zbGF0ZVkoLTUwJSk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKGxnKXtcbiAgICAgICAgICAgICAgICBwYWRkaW5nLWxlZnQ6cmVtKDExMCk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgLmJ1dHRvbntcbiAgICAgICAgICAgIG1hcmdpbi10b3A6cmVtKDIwKTtcblxuICAgICAgICAgICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cChtZCl7XG4gICAgICAgICAgICAgICAgbWFyZ2luLXRvcDpyZW0oMzUpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuICAgIC5ibG9ja3MtMW9yYW5nZS13aXRoLWxpbmtzX19sYXllcntcbiAgICAgICAgcG9zaXRpb246YWJzb2x1dGU7XG4gICAgICAgIHRvcDowO1xuICAgICAgICByaWdodDowO1xuICAgICAgICBib3R0b206MDtcbiAgICAgICAgbGVmdDowO1xuICAgICAgICB6LWluZGV4OjE7XG4gICAgICAgIGJhY2tncm91bmQ6cmdiYSgwLCAwLCAwLCAwLjcpO1xuICAgIH1cbn0iLCIuaW1hZ2VzLWJsb2Nre1xuXG4gICAgLyouY29udGFpbmVye1xuICAgICAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LWRvd24obWQpe1xuICAgICAgICAgICAgcGFkZGluZzowO1xuICAgICAgICB9XG4gICAgfVxuICAgIC5jb250YWluZXItZmx1aWR7XG4gICAgICAgIHBhZGRpbmc6MDtcbiAgICB9XG4gICAgLnJvd3tcbiAgICAgICAgbWFyZ2luOjA7XG4gICAgfVxuICAgIC5jb2x7XG4gICAgICAgIHBhZGRpbmc6MDtcbiAgICB9Ki9cbiAgICAvKi5jb250YWluZXJ7XG4gICAgICAgIHBhZGRpbmc6MCAyN3B4O1xuXG4gICAgICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAoc20pe1xuICAgICAgICAgICAgcGFkZGluZzowO1xuICAgICAgICB9XG4gICAgfSovXG4gICAgLmNvbnRhaW5lci1mbHVpZHtcbiAgICAgICAgcGFkZGluZzowO1xuXG4gICAgICAgIC5hZGQtZ2Fwc3tcbiAgICAgICAgICAgIHBhZGRpbmc6MDtcbiAgICAgICAgfVxuICAgIH1cbiAgICAuc3dpcGVyLWNvbnRhaW5lcntcbiAgICAgICAgb3ZlcmZsb3c6dmlzaWJsZTtcbiAgICB9XG4gICAgLnN3aXBlci1zbGlkZXtcbiAgICAgICAgb3ZlcmZsb3c6aGlkZGVuO1xuICAgIH1cbiAgICBpbWd7XG4gICAgICAgIHdpZHRoOjEwMCU7XG4gICAgfVxuICAgICYuaW1hZ2VzLWJsb2NrLS0ze1xuICAgICAgICBpbWd7XG4gICAgICAgICAgICBtaW4td2lkdGg6cmVtKDI2NSk7XG4gICAgICAgIH1cbiAgICB9XG4gICAgJi5pbWFnZXMtYmxvY2stLTR7XG4gICAgICAgIGltZ3tcbiAgICAgICAgICAgIG1pbi13aWR0aDpyZW0oMjYwKTtcbiAgICAgICAgfVxuICAgIH1cbn0iLCIuY2FzZS1zdHVkeS1saXN0aW5nLWJsb2Nre1xuICAgIGNvbG9yOiR3aGl0ZTtcblxuICAgIC5yb3d7XG4gICAgICAgIG1hcmdpbi1ib3R0b206cmVtKDIwKTtcbiAgICAgICAgYmFja2dyb3VuZDokYmxhY2s7XG5cbiAgICAgICAgJjpsYXN0LWNoaWxke1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTowO1xuICAgICAgICB9XG4gICAgfVxuICAgIC5jYXNlLXN0dWR5LWxpc3RpbmctYmxvY2tfX2ltYWdlLWJpZ3tcbiAgICAgICAgZGlzcGxheTpub25lO1xuICAgICAgICBtaW4taGVpZ2h0OnJlbSg2MDApO1xuICAgICAgICBiYWNrZ3JvdW5kOm5vLXJlcGVhdDtcbiAgICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjpjZW50ZXIgY2VudGVyO1xuICAgICAgICBiYWNrZ3JvdW5kLXNpemU6Y292ZXI7XG5cbiAgICAgICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cChsZyl7XG4gICAgICAgICAgICBkaXNwbGF5OmJsb2NrO1xuICAgICAgICB9XG4gICAgfVxuICAgIC5jYXNlLXN0dWR5LWxpc3RpbmctYmxvY2tfX2NvbnRlbnR7XG4gICAgICAgIHBhZGRpbmc6cmVtKDQ1KSAkYWRkaXRpb25hbC1nYXAgcmVtKDUwKTtcbiAgICAgICAgbWFyZ2luOjAgYXV0bztcblxuICAgICAgICBAaW5jbHVkZSBtYWtlLWNvbnRhaW5lci1tYXgtd2lkdGhzKCk7XG5cbiAgICAgICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cChzbSl7XG4gICAgICAgICAgICBwYWRkaW5nLXJpZ2h0OjE1cHg7XG4gICAgICAgICAgICBwYWRkaW5nLWxlZnQ6MTVweDtcbiAgICAgICAgfVxuICAgICAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKGxnKXtcbiAgICAgICAgICAgIG1heC13aWR0aDpub25lO1xuICAgICAgICAgICAgcGFkZGluZzpyZW0oMTUwKSByZW0oMTAwKSByZW0oMTUwKSByZW0oMTA1KTtcbiAgICAgICAgfVxuICAgICAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKHhsKXtcbiAgICAgICAgICAgIHBhZGRpbmctcmlnaHQ6cmVtKDI4MCk7XG4gICAgICAgIH1cblxuICAgICAgICBkaXZ7XG4gICAgICAgICAgICBwYWRkaW5nOnJlbSgxMCkgMCByZW0oMjUpO1xuXG4gICAgICAgICAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKGxnKXtcbiAgICAgICAgICAgICAgICBwYWRkaW5nOnJlbSgyNSkgMCByZW0oNjApO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIGltZ3tcbiAgICAgICAgICAgIGRpc3BsYXk6YmxvY2s7XG4gICAgICAgICAgICB3aWR0aDoxMDAlO1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTpyZW0oMjUpO1xuXG4gICAgICAgICAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKGxnKXtcbiAgICAgICAgICAgICAgICBkaXNwbGF5Om5vbmU7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG4gICAgLmNhc2Utc3R1ZHktbGlzdGluZy1ibG9ja19fc2hvdy1tb3Jle1xuICAgICAgICBwYWRkaW5nOnJlbSg0NykgMCByZW0oNzYpO1xuICAgICAgICB0ZXh0LWFsaWduOmNlbnRlcjtcblxuICAgICAgICBidXR0b257XG4gICAgICAgICAgICB3aWR0aDpyZW0oMzIwKTtcbiAgICAgICAgfVxuICAgIH1cbn0iLCIuZ2VuZXJpY3tcbiAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKGxnKXtcbiAgICAgICAgcGFkZGluZy1ib3R0b206cmVtKDUwKTtcbiAgICB9XG5cbiAgICAuY29sLWxnLTh7XG4gICAgICAgICYuc2lkZS1saW5le1xuICAgICAgICAgICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cChsZyl7XG4gICAgICAgICAgICAgICAgYm9yZGVyLXJpZ2h0OjJweCBzb2xpZCAkZ3JheS1saWdodDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbiAgICBzZWN0aW9ue31cbiAgICAuZ2VuZXJpY19faW5mb3tcbiAgICAgICAgcGFkZGluZy1ib3R0b206cmVtKDcyKTtcbiAgICAgICAgZm9udC1zaXplOnJlbSgkZ2VuZXJhbC1mb250LXNpemUpO1xuXG4gICAgICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAobGcpe1xuICAgICAgICAgICAgcGFkZGluZy1ib3R0b206MDtcbiAgICAgICAgfVxuXG4gICAgICAgIGgze1xuICAgICAgICAgICAgcGFkZGluZy1ib3R0b206cmVtKDEwKTtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTpyZW0oMTcpO1xuICAgICAgICB9XG4gICAgICAgIC5zZWxlY3QtY2F0ZWdvcnl7XG4gICAgICAgIH1cbiAgICAgICAgc2VjdGlvbntcbiAgICAgICAgICAgIHBhZGRpbmctdG9wOnJlbSg1MCk7XG4gICAgICAgICAgICBtYXJnaW46cmVtKDcwKSAwO1xuICAgICAgICAgICAgYm9yZGVyLXRvcDoycHggc29saWQgJGdyYXktbGlnaHQ7XG5cbiAgICAgICAgICAgICY6Zmlyc3QtY2hpbGR7XG4gICAgICAgICAgICAgICAgbWFyZ2luLXRvcDowO1xuICAgICAgICAgICAgICAgIGJvcmRlci10b3A6bm9uZTtcblxuICAgICAgICAgICAgICAgICY6bm90KC5nZW5lcmljX19uZXdzKTpub3QoLmdlbmVyaWNfX2xpbmtzKXtcbiAgICAgICAgICAgICAgICAgICAgcGFkZGluZy10b3A6MDtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAmOmxhc3QtY2hpbGR7XG4gICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTowO1xuXG4gICAgICAgICAgICAgICAgLy8gVE9ETzogIE5PVCBTVVJFIFdIWSBUSElTIE5FRURTIFRPIEJFIDAhXG4gICAgICAgICAgICAgICAgJjpub3QoLmdlbmVyaWNfX25ld3Mpe1xuICAgICAgICAgICAgICAgICAgICAvL3BhZGRpbmctYm90dG9tOjA7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuICAgIC5nZW5lcmljX19pbmZvLW1vYmlsZXtcblxuICAgIH1cbiAgICAuZ2VuZXJpY19fbGlua3N7XG4gICAgICAgIHBvc2l0aW9uOnJlbGF0aXZlO1xuICAgICAgICBwYWRkaW5nLWJvdHRvbTpyZW0oNTYpO1xuXG4gICAgICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAobGcpe1xuICAgICAgICAgICAgcGFkZGluZy1ib3R0b206cmVtKDM1KTtcbiAgICAgICAgfVxuXG4gICAgICAgICYuZ2VuZXJpY19fbGlua3MtLW9yYW5nZXtcbiAgICAgICAgICAgIHBhZGRpbmctYm90dG9tOjA7XG5cbiAgICAgICAgICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAobGcpe1xuICAgICAgICAgICAgICAgIHBhZGRpbmc6cmVtKDUwKSAwIHJlbSg1MCkgcmVtKDI1KTtcbiAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOnJlbSg3MCk7XG5cbiAgICAgICAgICAgICAgICAmOmJlZm9yZXtcbiAgICAgICAgICAgICAgICAgICAgcG9zaXRpb246YWJzb2x1dGU7XG4gICAgICAgICAgICAgICAgICAgIHRvcDowO1xuICAgICAgICAgICAgICAgICAgICByaWdodDotNTAwJTtcbiAgICAgICAgICAgICAgICAgICAgYm90dG9tOjA7XG4gICAgICAgICAgICAgICAgICAgIGxlZnQ6MDtcbiAgICAgICAgICAgICAgICAgICAgZGlzcGxheTpibG9jaztcbiAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZDokb3JhbmdlO1xuICAgICAgICAgICAgICAgICAgICBjb250ZW50OicnO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLmJ1dHRvbl9fd2hpdGV7XG4gICAgICAgICAgICAgICAgY29sb3I6JHdoaXRlO1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6JG9yYW5nZTtcblxuICAgICAgICAgICAgICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAobWQpe1xuICAgICAgICAgICAgICAgICAgICB3aWR0aDpyZW0oMjYwKTtcbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICAgICAgICAgICAgY29sb3I6ICRvcmFuZ2U7XG4gICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6ICRibGFjaztcbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKGxnKXtcbiAgICAgICAgICAgICAgICAgICAgY29sb3I6JGJsYWNrO1xuICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiR3aGl0ZTtcblxuICAgICAgICAgICAgICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbG9yOiAkd2hpdGU7XG4gICAgICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiAkYmxhY2s7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICBsaXtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206cmVtKDIwKTtcbiAgICAgICAgfVxuICAgICAgICB1bDpsYXN0LWNoaWxke1xuICAgICAgICAgICAgbGk6bGFzdC1jaGlsZHtcbiAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOjA7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG4gICAgLmdlbmVyaWNfX2NvbXBhbnl7XG4gICAgICAgIG92ZXJmbG93OmhpZGRlbjtcbiAgICAgICAgdGV4dC10cmFuc2Zvcm06dXBwZXJjYXNlO1xuXG4gICAgICAgIGltZ3tcbiAgICAgICAgICAgIGRpc3BsYXk6YmxvY2s7XG4gICAgICAgICAgICB3aWR0aDoxMDAlO1xuICAgICAgICAgICAgbWFyZ2luOjAgMCByZW0oMTUpIDA7XG5cbiAgICAgICAgfVxuICAgIH1cbiAgICAuZ2VuZXJpY19fc25hcHNob3R7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiRnZW5lcmFsLWxpbmUtaGVpZ2h0O1xuXG4gICAgICAgIHVse1xuICAgICAgICAgICAgcGFkZGluZy1sZWZ0OnJlbSgzNSk7XG4gICAgICAgICAgICBsaXN0LXN0eWxlOnNxdWFyZTtcbiAgICAgICAgfVxuICAgICAgICBsaXtcbiAgICAgICAgICAgIHBhZGRpbmctYm90dG9tOnJlbSgxMCk7XG4gICAgICAgIH1cbiAgICB9XG4gICAgLmdlbmVyaWNfX2ZlYXR1cmVkLXByb2R1Y3R7XG5cbiAgICAgICAgJi5nZW5lcmljX19mZWF0dXJlZC1wcm9kdWN0LS1kZXNrdG9we1xuICAgICAgICAgICAgZGlzcGxheTpub25lO1xuXG4gICAgICAgICAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKGxnKXtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OmJsb2NrO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgICYuZ2VuZXJpY19fZmVhdHVyZWQtcHJvZHVjdC0tbW9iaWxle1xuICAgICAgICAgICAgZGlzcGxheTpibG9jaztcblxuICAgICAgICAgICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cChsZyl7XG4gICAgICAgICAgICAgICAgZGlzcGxheTpub25lO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBoM3tcbiAgICAgICAgICAgICAgICBwYWRkaW5nLWJvdHRvbTpyZW0oMTApO1xuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTpyZW0oMTcpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLmZlYXR1cmVkLXByb2R1Y3R7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOnJlbSgzMCk7XG4gICAgICAgIH1cbiAgICB9XG4gICAgLmdlbmVyaWNfX25ld3N7XG4gICAgICAgICYuZ2VuZXJpY19fbmV3cy0tZGVza3RvcCB7XG4gICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICAgICAgcGFkZGluZzogcmVtKDM1KSByZW0oNDApO1xuXG4gICAgICAgICAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKGxnKSB7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTpyZW0oNTApO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgICAgIHRvcDogMDtcbiAgICAgICAgICAgICAgICBib3R0b206IDA7XG4gICAgICAgICAgICAgICAgei1pbmRleDogMTtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiAkb3JhbmdlO1xuICAgICAgICAgICAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgYSB7XG4gICAgICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICAgICAgICAgIHotaW5kZXg6IDU7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICAgICAgY29sb3I6ICRibGFjaztcbiAgICAgICAgICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG5cbiAgICAgICAgICAgICAgICAuZ2VuZXJpY19fbmV3c19fdGl0bGUge1xuICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgICAgICAgICAgcGFkZGluZy10b3A6IDhweDtcbiAgICAgICAgICAgICAgICAgICAgY29sb3I6ICR3aGl0ZTtcbiAgICAgICAgICAgICAgICAgICAgZm9udC1zaXplOiByZW0oMjQpO1xuICAgICAgICAgICAgICAgICAgICBsaW5lLWhlaWdodDogMS4wNTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICYuZ2VuZXJpY19fbmV3cy1uZXh0e1xuXG4gICAgICAgICAgICAgICAgJjpiZWZvcmV7XG4gICAgICAgICAgICAgICAgICAgIHJpZ2h0Oi01MDAlO1xuICAgICAgICAgICAgICAgICAgICBsZWZ0OjA7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgJi5nZW5lcmljX19uZXdzLXByZXZ7XG4gICAgICAgICAgICAgICAgcG9zaXRpb246cmVsYXRpdmU7XG4gICAgICAgICAgICAgICAgcGFkZGluZy1sZWZ0OjA7XG4gICAgICAgICAgICAgICAgbWFyZ2luOjAgJGdlbmVyaWMtY29udGVudC1nYXAgcmVtKDkwKSAwO1xuXG4gICAgICAgICAgICAgICAgJjpiZWZvcmV7XG4gICAgICAgICAgICAgICAgICAgIHJpZ2h0OjA7XG4gICAgICAgICAgICAgICAgICAgIGxlZnQ6LTUwMCU7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIC5ib3VuY2UtbGVmdHtcbiAgICAgICAgICAgICAgICAgICAgZGlzcGxheTppbmxpbmUtYmxvY2s7XG4gICAgICAgICAgICAgICAgICAgIHBhZGRpbmc6cmVtKDYpIDAgcmVtKDIpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAmLmdlbmVyaWNfX25ld3MtLW1vYmlsZXtcbiAgICAgICAgICAgIHBhZGRpbmc6cmVtKDUwKSAwIHJlbSg2MCk7XG4gICAgICAgICAgICBtYXJnaW4tdG9wOnJlbSg1MCk7XG4gICAgICAgICAgICBib3JkZXItdG9wOjJweCBzb2xpZCAkZ3JheS1saWdodDtcblxuICAgICAgICAgICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cChsZykge1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6bm9uZTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLmdlbmVyaWNfX25ld3MtbmV4dHtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIC5nZW5lcmljX19uZXdzLXByZXZ7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBhOm50aC1jaGlsZCgyKXtcbiAgICAgICAgICAgICAgICBtYXJnaW4tdG9wOnJlbSgyMCk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAuY2FzZS1zdHVkeS1wZGYge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiByZW0oMzUpO1xuICAgIH1cbn0iLCIucHJvZHVjdC1kZXNjcmlwdGlvbiB7XG4gICAgcGFkZGluZzpyZW0oNDcpIDAgcmVtKDQyKTtcblxuICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAobGcpe1xuICAgICAgICBwYWRkaW5nOnJlbSgzMikgMDtcbiAgICB9XG5cbiAgICBiYWNrZ3JvdW5kOiRncmF5LWxpZ2h0O1xuXG4gICAgcHtcbiAgICAgICAgbWFyZ2luOjA7XG4gICAgfVxuICAgIC5wcm9kdWN0LWRlc2NyaXB0aW9uX190ZXh0e1xuICAgICAgICBtYXJnaW46cmVtKDEwKSAwIHJlbSg1MCk7XG4gICAgICAgIGZvbnQtc2l6ZTpyZW0oJGdlbmVyYWwtZm9udC1zaXplKTtcblxuICAgICAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKHhsKXtcbiAgICAgICAgICAgIG1hcmdpbi10b3A6MDtcbiAgICAgICAgfVxuXG4gICAgICAgIHAge1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogcmVtKDEwKTtcbiAgICAgICAgfVxuICAgIH1cbiAgICAvKi50aGlyZC1wYXJhZ3JhcGh7XG4gICAgICAgIHBhZGRpbmctdG9wOnJlbSg1MCk7XG5cbiAgICAgICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cCh4bCl7XG4gICAgICAgICAgICBwYWRkaW5nLXRvcDowO1xuICAgICAgICB9XG4gICAgfSovXG5cbiAgICAvLyBjb250ZW50IHVsXG4gICAgdWwge1xuICAgICAgICBtYXJnaW46IHJlbSgxNSkgcmVtKDMwKTtcbiAgICAgICAgbGlzdC1zdHlsZTogZGlzYztcbiAgICB9XG5cbiAgICAvLyBhcHBsaWVzIG9ubHkgZm9yIHRoZVxuICAgIHVsLmdlbmVyaWNfX2xpbmtzIHtcbiAgICAgICAgcGFkZGluZzpyZW0oMzApIDAgcmVtKDEwKTtcbiAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICBvdmVyZmxvdzpoaWRkZW47XG4gICAgICAgIGxpc3Qtc3R5bGUtdHlwZTogbm9uZTtcblxuICAgICAgICBsaXtcbiAgICAgICAgICAgIGZsb2F0OmxlZnQ7XG4gICAgICAgICAgICB3aWR0aDoxMDAlO1xuICAgICAgICAgICAgcGFkZGluZy1ib3R0b206cmVtKDMwKTtcblxuICAgICAgICAgICAgQG1lZGlhIChtaW4td2lkdGg6IDc2OHB4KSBhbmQgKG1heC13aWR0aDogOTkxLjk4cHgpe1xuICAgICAgICAgICAgICAgIHdpZHRoOjUwJTtcblxuICAgICAgICAgICAgICAgICY6bnRoLWNoaWxkKDJuKzEpe1xuICAgICAgICAgICAgICAgICAgICBjbGVhcjpsZWZ0O1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAmOm50aC1jaGlsZCgybil7XG4gICAgICAgICAgICAgICAgICAgIGF7XG4gICAgICAgICAgICAgICAgICAgICAgICBtYXJnaW4tcmlnaHQ6MDtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAobGcpe1xuICAgICAgICAgICAgICAgIHdpZHRoOjI1JTtcblxuICAgICAgICAgICAgICAgICY6bnRoLWNoaWxkKDRuKzEpe1xuICAgICAgICAgICAgICAgICAgICBjbGVhcjpsZWZ0O1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAmOm50aC1jaGlsZCg0bil7XG4gICAgICAgICAgICAgICAgICAgIGF7XG4gICAgICAgICAgICAgICAgICAgICAgICBtYXJnaW4tcmlnaHQ6MDtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cChtZCl7XG4gICAgICAgICAgICAgICAgcGFkZGluZy1ib3R0b206cmVtKDE1KTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgYSB7XG4gICAgICAgICAgICAgICAgLyp3aWR0aDoxMDAlOyovXG4gICAgICAgICAgICAgICAgZGlzcGxheTpibG9jaztcblxuICAgICAgICAgICAgICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAobWQpe1xuICAgICAgICAgICAgICAgICAgICBtYXJnaW4tcmlnaHQ6cmVtKDEwKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC5idXR0b25fX2JsYWNrIHtcbiAgICAgICAgICAgICAgICAvL3BhZGRpbmctbGVmdDogcmVtKDE1KTtcbiAgICAgICAgICAgICAgICAvL3BhZGRpbmctcmlnaHQ6IHJlbSgxNSk7XG4gICAgICAgICAgICAgICAgcGFkZGluZzoge1xuICAgICAgICAgICAgICAgICAgICByaWdodDogcmVtKDE2KTtcbiAgICAgICAgICAgICAgICAgICAgbGVmdDogcmVtKDE2KTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAuYnV0dG9uLXRlcm1zLW9mLXNhbGV7XG4gICAgICAgIHBvc2l0aW9uOmFic29sdXRlO1xuICAgICAgICB0b3A6cmVtKC0xMzApO1xuICAgICAgICBsZWZ0OiByZW0oMjgpO1xuICAgICAgICB3aWR0aDogY2FsYygxMDAlIC0gNTZweCk7XG4gICAgICAgIC8vYm9yZGVyOiAycHggZGFzaGVkIHJlZDtcbiAgICAgICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cChzbSl7XG4gICAgICAgICAgICBsZWZ0OiByZW0oMTUpO1xuICAgICAgICAgICAgd2lkdGg6IGNhbGMoMTAwJSAtIDMwcHgpO1xuICAgICAgICAgICAgLy9ib3JkZXItY29sb3I6IGJsdWU7XG4gICAgICAgIH1cbiAgICB9XG59XG4iLCIkaXRlbUJyZWFrcG9pbnQ6ICRtZC1icmVha3BvaW50O1xuXG4uaG9tZS0zLWNvbC1saW5rcyB7XG4gICAgcGFkZGluZzogcmVtKDcwKSAwIHJlbSgzMCk7XG4gICAgYmFja2dyb3VuZDogJG9yYW5nZTtcbiAgICBAbWVkaWEgYWxsIGFuZCAobWluLXdpZHRoOiAkbGctYnJlYWtwb2ludCkge1xuICAgICAgICBwYWRkaW5nOiByZW0oODApIDAgcmVtKDE0NSk7XG4gICAgfVxuICAgIEBtZWRpYSBhbGwgYW5kIChtaW4td2lkdGg6ICRpdGVtQnJlYWtwb2ludCkge1xuICAgICAgICAvL3BhZGRpbmc6IHJlbSg4MCkgMCByZW0oMTQ1KTtcbiAgICB9XG5cbiAgICAuY29sLWxnLTQge1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgfVxuXG4gICAgLy8gd3JhcHBlciBmb3IgdGhlIGxpbmstaXRlbSBjb250ZW50XG4gICAgLmlubmVyLXdyYXBwZXIge1xuICAgICAgICBwYWRkaW5nOiAwIHJlbSgxMik7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IHJlbSg0MCk7XG4gICAgICAgIEBtZWRpYSBhbGwgYW5kIChtaW4td2lkdGg6ICRzbS1icmVha3BvaW50KSB7XG4gICAgICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgICB9XG4gICAgICAgIEBtZWRpYSBhbGwgYW5kIChtaW4td2lkdGg6ICRsZy1icmVha3BvaW50KSB7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiByZW0oMTApO1xuICAgICAgICB9XG5cbiAgICAgICAgaDMge1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogcmVtKDgpO1xuICAgICAgICAgICAgQG1lZGlhIGFsbCBhbmQgKG1pbi13aWR0aDogJGl0ZW1CcmVha3BvaW50KSB7XG4gICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogcmVtKDQpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLmNvbnRlbnQge1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogcmVtKDIwKTtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtKCRnZW5lcmFsLWZvbnQtc2l6ZS1tb2JpbGUpO1xuICAgICAgICAgICAgbGluZS1oZWlnaHQ6ICRnZW5lcmFsLWxpbmUtaGVpZ2h0LW1vYmlsZTtcblxuICAgICAgICAgICAgQG1lZGlhIGFsbCBhbmQgKG1pbi13aWR0aDogJGl0ZW1CcmVha3BvaW50KSB7XG4gICAgICAgICAgICAgICAgcGFkZGluZy1yaWdodDogMTUlO1xuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtKCRnZW5lcmFsLWZvbnQtc2l6ZSk7XG4gICAgICAgICAgICAgICAgbGluZS1oZWlnaHQ6ICRnZW5lcmFsLWxpbmUtaGVpZ2h0O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLy8gYWxpZ24gYnV0dG9uIHRocm91Z2hvdXQgdGhlIGNvbHVtbnNcbiAgICAgICAgYS5idXR0b24ge1xuICAgICAgICAgICAgQG1lZGlhIGFsbCBhbmQgKG1pbi13aWR0aDogJGxnLWJyZWFrcG9pbnQpIHtcbiAgICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICAgICAgdG9wOiAxMDAlO1xuICAgICAgICAgICAgICAgIG1hcmdpbi10b3A6IHJlbSg1KTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbn1cbiIsIiRpdGVtQnJlYWtwb2ludDogbGc7IC8vIGZvcm0gZm9sZHMgYXQgdGhpcyBicmVha3BvaW50LlxuXG4uY29udGFjdC11cyB7XG4gICAgcGFkZGluZzogcmVtKDUwKSByZW0oMTIpIHJlbSg3NSk7XG4gICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cCgkaXRlbUJyZWFrcG9pbnQpIHtcbiAgICAgICAgcGFkZGluZzogcmVtKDUwKSAwIHJlbSgxNTApO1xuICAgIH1cblxuICAgIC5jb2wtZm9ybSB7XG4gICAgICAgIG9yZGVyOiAyO1xuICAgICAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKCRpdGVtQnJlYWtwb2ludCkge1xuICAgICAgICAgICAgb3JkZXI6IDE7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAuY29sLWNvbnRlbnQge1xuICAgICAgICBvcmRlcjogMTtcbiAgICAgICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cCgkaXRlbUJyZWFrcG9pbnQpIHtcbiAgICAgICAgICAgIG9yZGVyOiAyO1xuICAgICAgICB9XG5cbiAgICAgICAgYSB7XG4gICAgICAgICAgICBmb250LWZhbWlseTogJFBsdXRvU2Fuc0NvbmQ7XG4gICAgICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgICAgIH1cblxuICAgICAgICAucGhvbmUsXG4gICAgICAgIC5mYXgsXG4gICAgICAgIC5lbWFpbCB7XG4gICAgICAgICAgICBtYXJnaW4tdG9wOiByZW0oMjApO1xuICAgICAgICAgICAgZm9udC1zaXplOiByZW0oJGdlbmVyYWwtZm9udC1zaXplLW1vYmlsZSk7XG4gICAgICAgICAgICBsaW5lLWhlaWdodDogJGdlbmVyYWwtbGluZS1oZWlnaHQtbW9iaWxlO1xuXG4gICAgICAgICAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKCRpdGVtQnJlYWtwb2ludCkge1xuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtKCRnZW5lcmFsLWZvbnQtc2l6ZSk7XG4gICAgICAgICAgICAgICAgbGluZS1oZWlnaHQ6ICRnZW5lcmFsLWxpbmUtaGVpZ2h0O1xuICAgICAgICAgICAgICAgIGxldHRlci1zcGFjaW5nOiAtMC4ycHg7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgLmVtYWlsIGEge1xuICAgICAgICAgICAgdGV4dC10cmFuc2Zvcm06IGxvd2VyY2FzZTtcbiAgICAgICAgfVxuXG4gICAgICAgIC5saW5rLWJyYW5jaGVzLFxuICAgICAgICAubGluay1zdXBwbGllcnMge1xuICAgICAgICAgICAgbWFyZ2luLXRvcDogcmVtKDI1KTtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtKCRnZW5lcmFsLWZvbnQtc2l6ZS1tb2JpbGUpO1xuICAgICAgICAgICAgbGluZS1oZWlnaHQ6cmVtKDIwKTtcblxuICAgICAgICAgICAgYSB7XG4gICAgICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgICAgIHBhZGRpbmc6IHJlbSgxMik7XG4gICAgICAgICAgICAgICAgbWFyZ2luLXRvcDogcmVtKDgpO1xuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtKCRnZW5lcmFsLWZvbnQtc2l6ZSk7XG4gICAgICAgICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICAgICAgICAgIGJvcmRlcjogMXB4IHNvbGlkICRibGFjaztcblxuICAgICAgICAgICAgICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAoc20pIHtcbiAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICAgICAgICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgICAgICAgICAgICAgICBtYXJnaW4tdG9wOiAwO1xuICAgICAgICAgICAgICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgICAgICAgICAgICAgICAgICBib3JkZXI6IG5vbmU7XG5cbiAgICAgICAgICAgICAgICAgICAgLmljb24tYXJyb3cge1xuICAgICAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cChzbSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgICAgICAgICAgICAgdG9wOiAwO1xuICAgICAgICAgICAgICAgICAgICAgICAgcmlnaHQ6IDA7XG4gICAgICAgICAgICAgICAgICAgICAgICBib3R0b206IDA7XG4gICAgICAgICAgICAgICAgICAgICAgICBsZWZ0OiAwO1xuICAgICAgICAgICAgICAgICAgICAgICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICAgICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6ICR3aGl0ZTtcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbnRlbnQ6ICdIRVJFJztcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgICAgICAgICBjb2xvcjogJHdoaXRlO1xuICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiAkYmxhY2s7XG4gICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAoc20pIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbG9yOiAkYmxhY2s7XG4gICAgICAgICAgICAgICAgICAgICAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAubGluay1zdXBwbGllcnMgYTpiZWZvcmUge1xuICAgICAgICAgICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cChzbSkge1xuICAgICAgICAgICAgICAgIGNvbnRlbnQ6ICdDTElDSyBIRVJFJztcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC5jb250ZW50IHtcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IHJlbSg0NSk7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiByZW0oNzUpO1xuICAgICAgICAgICAgZm9udC1zaXplOiByZW0oJGdlbmVyYWwtZm9udC1zaXplLW1vYmlsZSk7XG4gICAgICAgICAgICBsaW5lLWhlaWdodDogJGdlbmVyYWwtbGluZS1oZWlnaHQtbW9iaWxlO1xuICAgICAgICAgICAgbGV0dGVyLXNwYWNpbmc6IC0wLjJweDtcblxuICAgICAgICAgICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cCgkaXRlbUJyZWFrcG9pbnQpIHtcbiAgICAgICAgICAgICAgICBtYXJnaW4tdG9wOiByZW0oMzApO1xuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtKCRnZW5lcmFsLWZvbnQtc2l6ZSk7XG4gICAgICAgICAgICAgICAgbGluZS1oZWlnaHQ6ICRnZW5lcmFsLWxpbmUtaGVpZ2h0O1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBhIHtcbiAgICAgICAgICAgICAgICBmb250LWZhbWlseTogJFBsdXRvU2Fuc0NvbmQ7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBoMyB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IHJlbSgyNSk7XG4gICAgICAgIGZvbnQtc2l6ZTogcmVtKDQwKTtcbiAgICAgICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cCgkaXRlbUJyZWFrcG9pbnQpIHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtKDMyKTtcbiAgICAgICAgfVxuICAgIH1cbn1cbiIsIiRpdGVtQnJlYWtwb2ludDogbGc7IC8vIGZvcm0gZm9sZHMgYXQgdGhpcyBicmVha3BvaW50LlxuXG4uY3JhZnQtZm9ybSB7XG4gICAgcGFkZGluZy1ib3R0b206IHJlbSgxMDApO1xuXG4gICAgZm9ybSB7XG4gICAgICAgIC5mb3JtLWdyb3VwIHtcbiAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrOyAgLy8gLnJvdyBpcyBmbGV4IGluIGJvb3RzdHJhcC5cbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogcmVtKDIwKTtcbiAgICAgICAgICAgIC8vYmFja2dyb3VuZDogcmdiYSgyNTUsIDAsIDAsIDAuMSk7XG5cbiAgICAgICAgICAgIC5jb2wtZm9ybS1sYWJlbCB7XG4gICAgICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgICAgIHBhZGRpbmc6IHJlbSgyNSkgcmVtKDI1KTtcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IHJlbSgyMCk7XG4gICAgICAgICAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICAgICAgICAgICAgICB0cmFuc2l0aW9uOiBhbGwgMC41cztcblxuICAgICAgICAgICAgICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAoJGl0ZW1CcmVha3BvaW50KSB7XG4gICAgICAgICAgICAgICAgICAgIHBhZGRpbmc6IHJlbSgzMCk7XG4gICAgICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtKDE2KTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAmLmZvcm0tZ3JvdXBfX3JlY2FwdGNoYXtcbiAgICAgICAgICAgICAgICAuY29sLWZvcm0tbGFiZWwge1xuICAgICAgICAgICAgICAgICAgICBkaXNwbGF5Om5vbmU7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAuZm9ybS1jb250cm9sIHtcbiAgICAgICAgICAgICAgICBtaW4taGVpZ2h0OiByZW0oODApO1xuICAgICAgICAgICAgICAgIHBhZGRpbmc6IHJlbSg0MCkgcmVtKDMwKSByZW0oMzgpO1xuICAgICAgICAgICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgICAgICAgICBmb250LWZhbWlseTogJFBsdXRvU2Fuc0NvbmQ7XG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiByZW0oMjApO1xuICAgICAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA1MDA7XG4gICAgICAgICAgICAgICAgbGluZS1oZWlnaHQ6IHJlbSgyMCk7XG4gICAgICAgICAgICAgICAgYm9yZGVyOiAxcHggc29saWQgJGJsYWNrO1xuICAgICAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDA7XG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cCgkaXRlbUJyZWFrcG9pbnQpIHtcbiAgICAgICAgICAgICAgICAgICAgZm9udC1zaXplOiByZW0oMTYpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLmZvcm0tZXJyb3ItbWVzc2FnZSB7XG4gICAgICAgICAgICAgICAgcGFkZGluZzogcmVtKDEwKSByZW0oMjIpO1xuICAgICAgICAgICAgICAgIGNvbG9yOiAkd2hpdGU7XG4gICAgICAgICAgICAgICAgZm9udC1mYW1pbHk6ICRQbHV0b1NhbnNDb25kO1xuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtKDE3KTtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiAkb3JhbmdlO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICB0ZXh0YXJlYS5mb3JtLWNvbnRyb2wge1xuICAgICAgICAgICAgICAgIGhlaWdodDogcmVtKDI3MCk7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC8vIGN1c3RvbSByYWRpbyBhbmQgY2hlY2tib3hlc1xuICAgICAgICAgICAgaW5wdXRbdHlwZT1cImNoZWNrYm94XCJde1xuICAgICAgICAgICAgICAgIG1hcmdpbi1yaWdodDogcmVtKDEzKTtcbiAgICAgICAgICAgICAgICBvcGFjaXR5OiAwO1xuXG4gICAgICAgICAgICAgICAgJjpjaGVja2VkICsgbGFiZWw6YmVmb3JlIHtcbiAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZDogJG9yYW5nZTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIGxhYmVsLmZvcm0tcmFkaW8tbGFiZWwsXG4gICAgICAgICAgICBsYWJlbC5mb3JtLWNoZWNrLWxhYmVsIHtcbiAgICAgICAgICAgICAgICBwYWRkaW5nLWxlZnQ6IHJlbSg1KTtcbiAgICAgICAgICAgICAgICBmb250LWZhbWlseTogJFBsdXRvU2Fuc0NvbmQ7XG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiByZW0oMTYpO1xuICAgICAgICAgICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG5cbiAgICAgICAgICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgICAgICAgICAgd2lkdGg6IHJlbSgyMyk7XG4gICAgICAgICAgICAgICAgICAgIGhlaWdodDogcmVtKDIzKTtcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IHJlbSgtMzUpO1xuICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiAkd2hpdGU7XG4gICAgICAgICAgICAgICAgICAgIGJvcmRlcjogMXB4IHNvbGlkICRibGFjaztcbiAgICAgICAgICAgICAgICAgICAgY29udGVudDogJyc7XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgJi5jaGVja2VkIHtcbiAgICAgICAgICAgICAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZDogJG9yYW5nZTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgbGFiZWwuZm9ybS1yYWRpby1sYWJlbDpiZWZvcmUge1xuICAgICAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLy8gc3VibWl0IGJ1dHRvbiBncm91cFxuICAgICAgICAgICAgJjpsYXN0LWNoaWxkIHtcbiAgICAgICAgICAgICAgICBtYXJnaW4tdG9wOiByZW0oMzUpO1xuXG4gICAgICAgICAgICAgICAgLmljb24tYXJyb3cge1xuICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKCRpdGVtQnJlYWtwb2ludCkge1xuICAgICAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIC5idXR0b24ge1xuICAgICAgICAgICAgICAgICAgICBtaW4td2lkdGg6IHJlbSgyMTApO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLy8gd2hlbiBmaWVsZCBpcyBmb2N1c2VkIG9yIGlzbid0IGVtcHR5XG4gICAgICAgICAgICAmLmFjdGl2ZSAuY29sLWZvcm0tbGFiZWwge1xuICAgICAgICAgICAgICAgIHBhZGRpbmc6IHJlbSgxMCkgcmVtKDMwKTtcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IHJlbSgxMik7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC5zZWxlY3Qtd3JhcHBlciB7XG4gICAgICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuXG4gICAgICAgICAgICAgICAgJjphZnRlciB7XG4gICAgICAgICAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgICAgICAgICAgdG9wOiAxcHg7XG4gICAgICAgICAgICAgICAgICAgIHJpZ2h0OiAxcHg7XG4gICAgICAgICAgICAgICAgICAgIGJvdHRvbTogMXB4O1xuICAgICAgICAgICAgICAgICAgICB3aWR0aDogcmVtKDUwKTtcbiAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZDogJHdoaXRlIHVybCgnL3dlYi9pbWFnZXMvY2hldnJvbi1kb3duLnN2ZycpIG5vLXJlcGVhdCBsZWZ0IGNlbnRlcjtcbiAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZC1zaXplOiAyMHB4O1xuICAgICAgICAgICAgICAgICAgICBjb250ZW50OiAnJztcbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICBzZWxlY3QuZm9ybS1jb250cm9sIHtcbiAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICAgICAgICAgIC8vaGVpZ2h0OiByZW0oOTUpO1xuICAgICAgICAgICAgICAgICAgICBwYWRkaW5nOiByZW0oMzMpIHJlbSgzMCkgcmVtKDI1KTtcbiAgICAgICAgICAgICAgICAgICAgZm9udC1zaXplOiByZW0oMjApO1xuICAgICAgICAgICAgICAgICAgICBsaW5lLWhlaWdodDogcmVtKDIwKTtcbiAgICAgICAgICAgICAgICAgICAgdGV4dC10cmFuc2Zvcm06IGNhcGl0YWxpemU7XG4gICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKCRpdGVtQnJlYWtwb2ludCkge1xuICAgICAgICAgICAgICAgICAgICAgICAgZm9udC1zaXplOiByZW0oMTYpO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLy8gY3VzdG9tIG92ZXJyaWRlc1xuICAgICAgICAuZm9ybS1ncm91cF9fY29udGFjdEJ5LCAuZm9ybS1ncm91cF9fZW5xdWlyeVR5cGUgIHtcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IHJlbSgyNSk7XG4gICAgICAgICAgICAuZmllbGQtb3B0aW9ucyB7XG4gICAgICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiByZW0oMzApO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgLmNvbC1mb3JtLWxhYmVsIHtcbiAgICAgICAgICAgICAgICBwb3NpdGlvbjogc3RhdGljO1xuICAgICAgICAgICAgICAgIHBhZGRpbmc6IDAgIWltcG9ydGFudDtcbiAgICAgICAgICAgICAgICBjb2xvcjogJG9yYW5nZTtcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IHJlbSgyNCkgIWltcG9ydGFudDtcbiAgICAgICAgICAgICAgICB0ZXh0LXRyYW5zZm9ybTogbm9uZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIC5mb3JtLWNoZWNrIHtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgICAgICAgICAgbWluLXdpZHRoOiByZW0oMTAwKTtcbiAgICAgICAgICAgICAgICBtYXJnaW46IHJlbSg1KSByZW0oMzApIDAgMDtcblxuICAgICAgICAgICAgICAgICYtaW5wdXQge1xuICAgICAgICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICAgICAgICAgIG9wYWNpdHk6IDA7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIC5mb3JtLWdyb3VwX19hY2NlcHRUZXJtcyB7XG4gICAgICAgICAgICBtYXJnaW4tdG9wOiByZW0oNDUpO1xuICAgICAgICAgICAgLmNvbC1mb3JtLWxhYmVsIHtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgLmZvcm0tY2hlY2stbGFiZWwge1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiByZW0oMzMpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgLmZvcm0tZXJyb3ItbWVzc2FnZSB7XG4gICAgICAgICAgICAgICAgbWFyZ2luLXRvcDogcmVtKDEwKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAuZm9ybS1ncm91cF9fcmVjYXB0Y2hhIHtcbiAgICAgICAgICAgIC5yZWNhcHRjaGEge1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICAgICAgICAgICAgbWFyZ2luLXRvcDogcmVtKDMwKTtcbiAgICAgICAgICAgICAgICAvLyBmaXQgdGhlIHJlY2FwdGNoYSBmb3IgMzIwcHggd2lkdGhcbiAgICAgICAgICAgICAgICB0cmFuc2Zvcm06IHNjYWxlKDAuODcpO1xuICAgICAgICAgICAgICAgIEBtZWRpYSBhbGwgYW5kIChtaW4td2lkdGg6ICRyZWNhcHRjaGEtYnJlYWtwb2ludCkge1xuICAgICAgICAgICAgICAgICAgICB0cmFuc2Zvcm06IG5vbmU7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIEBtZWRpYSBhbGwgYW5kIChtaW4td2lkdGg6ICRtZC1icmVha3BvaW50KSB7XG4gICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrICFpbXBvcnRhbnQ7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgLmZvcm0tZXJyb3ItbWVzc2FnZSB7XG4gICAgICAgICAgICAgICAgbWFyZ2luLXRvcDogcmVtKDEwKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbn1cbiIsIiRpdGVtQnJlYWtwb2ludDogbGc7XG5cbi5jZW8ge1xuICAgIHBhZGRpbmc6IHJlbSg1MCkgcmVtKDEyKSByZW0oNzUpO1xuICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAoJGl0ZW1CcmVha3BvaW50KSB7XG4gICAgICAgIHBhZGRpbmc6IHJlbSgzMCkgMCByZW0oMTAwKTtcbiAgICB9XG5cbiAgICAuY29sLXRpdGxlIHtcbiAgICAgICAgaDIge1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogcmVtKDI1KTtcbiAgICAgICAgICAgIGNvbG9yOiAkb3JhbmdlO1xuICAgICAgICAgICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cCgkaXRlbUJyZWFrcG9pbnQpIHtcbiAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgLmNvbC1sZWZ0LWNvbnRlbnQge1xuICAgIH1cbiAgICAuY29sLXJpZ2h0LWNvbnRlbnQge1xuICAgIH1cblxuICAgIC5jb250ZW50IHtcbiAgICAgICAgZm9udC1zaXplOiByZW0oJGdlbmVyYWwtZm9udC1zaXplLW1vYmlsZSk7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiRnZW5lcmFsLWxpbmUtaGVpZ2h0LW1vYmlsZTtcblxuICAgICAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKCRpdGVtQnJlYWtwb2ludCkge1xuICAgICAgICAgICAgcGFkZGluZzogMCByZW0oMjApO1xuICAgICAgICAgICAgZm9udC1zaXplOiByZW0oJGdlbmVyYWwtZm9udC1zaXplKTtcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiRnZW5lcmFsLWxpbmUtaGVpZ2h0O1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLmF1dGhvciB7XG4gICAgICAgIG1hcmdpbi10b3A6IHJlbSgzMCk7XG4gICAgICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAoJGl0ZW1CcmVha3BvaW50KSB7XG4gICAgICAgICAgICBwYWRkaW5nOiAwIHJlbSgyMCk7XG4gICAgICAgIH1cblxuICAgICAgICAubmFtZSB7XG4gICAgICAgICAgICBmb250LWZhbWlseTogJFBsdXRvU2Fuc0NvbmQ7XG4gICAgICAgICAgICBmb250LXNpemU6IHJlbSgkZ2VuZXJhbC1mb250LXNpemUpO1xuICAgICAgICB9XG4gICAgICAgIC5kZXNpZ25hdGlvbiB7XG4gICAgICAgICAgICBtYXJnaW4tdG9wOiByZW0oLTUpO1xuICAgICAgICAgICAgY29sb3I6ICRvcmFuZ2U7XG4gICAgICAgICAgICBmb250LWZhbWlseTogJFBsdXRvU2Fuc0NvbmQ7XG4gICAgICAgICAgICBmb250LXNpemU6IHJlbSgkZ2VuZXJhbC1mb250LXNpemUgLSAxKTtcbiAgICAgICAgfVxuICAgIH1cbn0iLCIkaXRlbUJyZWFrcG9pbnQ6ICRtZC1icmVha3BvaW50O1xuXG4uZG93bmxvYWRzLWJsb2NrIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuXG4gICAgLmlubmVyLXdyYXBwZXIge1xuICAgICAgICBwYWRkaW5nOiByZW0oNzApIHJlbSgxMikgcmVtKDY1KTtcbiAgICAgICAgQG1lZGlhIGFsbCBhbmQgKG1pbi13aWR0aDogJGl0ZW1CcmVha3BvaW50KSB7XG4gICAgICAgICAgICBwYWRkaW5nOiByZW0oODUpIDA7XG4gICAgICAgIH1cblxuICAgICAgICBoMiB7XG4gICAgICAgICAgICBmb250LXNpemU6IHJlbSgzMik7XG5cbiAgICAgICAgICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAobGcpe1xuICAgICAgICAgICAgICAgIG1hcmdpbi1yaWdodDpyZW0oLTEyMCk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBAbWVkaWEgYWxsIGFuZCAobWluLXdpZHRoOiAkaXRlbUJyZWFrcG9pbnQpIHtcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IHJlbSg0MCk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAuY29sLWludHJvID4gZGl2IHtcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IHJlbSgyNSk7XG4gICAgICAgICAgICBmb250LXNpemU6IHJlbSgkZ2VuZXJhbC1mb250LXNpemUtbW9iaWxlKTtcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAkZ2VuZXJhbC1saW5lLWhlaWdodC1tb2JpbGU7XG5cbiAgICAgICAgICAgIEBtZWRpYSBhbGwgYW5kIChtaW4td2lkdGg6ICRpdGVtQnJlYWtwb2ludCkge1xuICAgICAgICAgICAgICAgIG1hcmdpbi10b3A6IHJlbSgxMCk7XG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiByZW0oJGdlbmVyYWwtZm9udC1zaXplKTtcbiAgICAgICAgICAgICAgICBsaW5lLWhlaWdodDogJGdlbmVyYWwtbGluZS1oZWlnaHQ7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgLmNvbC1saW5rcy5jb2wtbGctNiB7XG4gICAgICAgICAgICBAbWVkaWEgYWxsIGFuZCAobWluLXdpZHRoOiAkbGctYnJlYWtwb2ludCkge1xuICAgICAgICAgICAgICAgIHRleHQtYWxpZ246IHJpZ2h0O1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBhLmRvd25sb2FkLWxpbmsge1xuICAgICAgICAgICAgICAgIEBtZWRpYSBhbGwgYW5kIChtaW4td2lkdGg6ICRsZy1icmVha3BvaW50KSB7XG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbjogcmVtKDM4KSAwIDAgcmVtKDMwKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgYS5kb3dubG9hZC1saW5rIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgcGFkZGluZzogcmVtKDE0KSByZW0oNDUpIHJlbSgxMik7XG4gICAgICAgICAgICBtYXJnaW46IHJlbSgzNCkgcmVtKDMwKSAwIDA7XG4gICAgICAgICAgICBmb250LWZhbWlseTogJFBsdXRvU2Fuc0NvbmQ7XG4gICAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgICAgICAgICBib3JkZXI6IDFweCBzb2xpZCAkYmxhY2s7XG4gICAgICAgICAgICB0cmFuc2l0aW9uOiBhbGwgMC4ycztcblxuICAgICAgICAgICAgQG1lZGlhIGFsbCBhbmQgKG1pbi13aWR0aDogJHNtLWJyZWFrcG9pbnQpIHtcbiAgICAgICAgICAgICAgICB3aWR0aDogYXV0bztcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIEBtZWRpYSBhbGwgYW5kIChtaW4td2lkdGg6ICRsZy1icmVha3BvaW50KSB7XG4gICAgICAgICAgICAgICAgbWFyZ2luOiByZW0oMzApIHJlbSgzMCkgMCAwO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAmLmJ1dHRvbntcbiAgICAgICAgICAgICAgICBtYXgtd2lkdGg6bm9uZTtcbiAgICAgICAgICAgICAgICB0ZXh0LXRyYW5zZm9ybTpub25lO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBzcGFuLmljb24tZG93bmxvYWQge1xuICAgICAgICAgICAgICAgIG1hcmdpbjogMCByZW0oNSkgMCByZW0oLTUpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgc3Bhbi5pY29uLWFycm93IHtcbiAgICAgICAgICAgICAgICBtYXJnaW46IDAgcmVtKC01KSAwIHJlbSg1KTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgICYub3JhbmdlIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQ6ICRvcmFuZ2U7XG5cbiAgICAgICAgICAgIGEuZG93bmxvYWQtbGluazpob3ZlciB7XG4gICAgICAgICAgICAgICAgY29sb3I6ICRvcmFuZ2U7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZDogJGJsYWNrO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgICYud2hpdGUge1xuICAgICAgICAgICAgYmFja2dyb3VuZDogJHdoaXRlO1xuXG4gICAgICAgICAgICBhLmRvd25sb2FkLWxpbms6aG92ZXIge1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6ICRvcmFuZ2U7XG4gICAgICAgICAgICAgICAgYm9yZGVyLWNvbG9yOiAkb3JhbmdlO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgICYuYmxhY2sge1xuICAgICAgICAgICAgY29sb3I6ICR3aGl0ZTtcbiAgICAgICAgICAgIGJhY2tncm91bmQ6ICRibGFjaztcblxuICAgICAgICAgICAgYS5kb3dubG9hZC1saW5rIHtcbiAgICAgICAgICAgICAgICBjb2xvcjogJHdoaXRlO1xuICAgICAgICAgICAgICAgIGJvcmRlci1jb2xvcjogJHdoaXRlO1xuXG4gICAgICAgICAgICAgICAgc3BhbiB7XG4gICAgICAgICAgICAgICAgICAgIGNvbG9yOiAkd2hpdGU7XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICAgICAgICAgIGNvbG9yOiAkYmxhY2s7XG4gICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6ICRvcmFuZ2U7XG4gICAgICAgICAgICAgICAgICAgIGJvcmRlci1jb2xvcjogJG9yYW5nZTtcblxuICAgICAgICAgICAgICAgICAgICBzcGFuIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbG9yOiAkYmxhY2s7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi8vIG92ZXJsYXlcbi5zdGVlbC1vdmVybGF5IHtcbiAgICAud3JhcHBlciB7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBtYXgtd2lkdGg6IG5vbmU7XG4gICAgICAgIG1hcmdpbjogMCBhdXRvO1xuICAgICAgICBAbWVkaWEgYWxsIGFuZCAobWluLXdpZHRoOiAkaXRlbUJyZWFrcG9pbnQpIHtcbiAgICAgICAgICAgIG1heC13aWR0aDogcmVtKDkyMik7XG4gICAgICAgICAgICBtYXJnaW46IHJlbSgxNDApIGF1dG87XG4gICAgICAgIH1cblxuICAgICAgICAuY29udGFpbmVyIHtcbiAgICAgICAgICAgIG1heC13aWR0aDogbm9uZTtcbiAgICAgICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgICAgICBAbWVkaWEgYWxsIGFuZCAobWluLXdpZHRoOiAkaXRlbUJyZWFrcG9pbnQpIHtcbiAgICAgICAgICAgICAgICBwYWRkaW5nOiAwIHJlbSgxNSk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAuaW5uZXItd3JhcHBlciB7XG4gICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAgZmxleC1mbG93OiByb3cgd3JhcDtcbiAgICAgICAgICAgIHBhZGRpbmc6IHJlbSgyKTtcbiAgICAgICAgICAgIGJhY2tncm91bmQ6ICR3aGl0ZTtcbiAgICAgICAgICAgIEBtZWRpYSBhbGwgYW5kIChtaW4td2lkdGg6ICRpdGVtQnJlYWtwb2ludCkge1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAucm93LXJlYWRlciB7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgICAgICAgICBmbGV4OiAxIDAgMTAwJTtcbiAgICAgICAgICAgICAgICBvcmRlcjogMjtcbiAgICAgICAgICAgICAgICBAbWVkaWEgYWxsIGFuZCAobWluLXdpZHRoOiAkaXRlbUJyZWFrcG9pbnQpIHtcbiAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgaWZyYW1lIHtcbiAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICAgICAgICAgIGhlaWdodDogcmVtKDU2NCk7XG4gICAgICAgICAgICAgICAgICAgIEBtZWRpYSBhbGwgYW5kIChtaW4td2lkdGg6ICRpdGVtQnJlYWtwb2ludCkge1xuICAgICAgICAgICAgICAgICAgICAgICAgaGVpZ2h0OiByZW0oNTAwKTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIC5yb3ctaW5mbyB7XG4gICAgICAgICAgICAgICAgZmxleDogMSAwIDEwMCU7XG4gICAgICAgICAgICAgICAgb3JkZXI6IDE7XG4gICAgICAgICAgICAgICAgcGFkZGluZzogcmVtKDQwKSByZW0oMzApIHJlbSg3MCk7XG5cbiAgICAgICAgICAgICAgICAuY29udGVudCB7XG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbi10b3A6IHJlbSgyMCk7XG4gICAgICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtKCRnZW5lcmFsLWZvbnQtc2l6ZS1tb2JpbGUpO1xuXG4gICAgICAgICAgICAgICAgICAgIEBtZWRpYSBhbGwgYW5kIChtaW4td2lkdGg6ICRpdGVtQnJlYWtwb2ludCkge1xuICAgICAgICAgICAgICAgICAgICAgICAgZm9udC1zaXplOiByZW0oJGdlbmVyYWwtZm9udC1zaXplKTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIGg0IHtcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luLXRvcDogcmVtKDIwKTtcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogcmVtKDIwKTtcbiAgICAgICAgICAgICAgICAgICAgZm9udC1mYW1pbHk6ICRQbHV0b1NhbnNDb25kO1xuICAgICAgICAgICAgICAgICAgICBmb250LXNpemU6IHJlbSgkZ2VuZXJhbC1mb250LXNpemUtbW9iaWxlKTtcblxuICAgICAgICAgICAgICAgICAgICBAbWVkaWEgYWxsIGFuZCAobWluLXdpZHRoOiAkaXRlbUJyZWFrcG9pbnQpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIG1hcmdpbi10b3A6IDA7XG4gICAgICAgICAgICAgICAgICAgICAgICBjb2xvcjogJG9yYW5nZTtcbiAgICAgICAgICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtKCRnZW5lcmFsLWZvbnQtc2l6ZSk7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAuY29sLWNvbnRlbnQge1xuICAgICAgICAgICAgICAgICAgICAuY29udGVudC1tb2JpbGUge1xuICAgICAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICAgICAgICAgICAgICBAbWVkaWEgYWxsIGFuZCAobWluLXdpZHRoOiAkaXRlbUJyZWFrcG9pbnQpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIC5jb250ZW50LWRlc2t0b3Age1xuICAgICAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgICAgICAgICAgICAgICAgIEBtZWRpYSBhbGwgYW5kIChtaW4td2lkdGg6ICRpdGVtQnJlYWtwb2ludCkge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIGEge1xuICAgICAgICAgICAgICAgICAgICAgICAgbWFyZ2luOiByZW0oMjApIDA7XG4gICAgICAgICAgICAgICAgICAgICAgICBAbWVkaWEgYWxsIGFuZCAobWluLXdpZHRoOiAkaXRlbUJyZWFrcG9pbnQpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgaDIge1xuICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgICAgICBoZWlnaHQ6IHJlbSg5NSk7XG4gICAgICAgICAgICBwYWRkaW5nOiByZW0oMzApO1xuICAgICAgICAgICAgY29sb3I6ICRvcmFuZ2U7XG4gICAgICAgICAgICBmb250LXNpemU6IHJlbSgzMik7XG4gICAgICAgICAgICBAbWVkaWEgYWxsIGFuZCAobWluLXdpZHRoOiAkaXRlbUJyZWFrcG9pbnQpIHtcbiAgICAgICAgICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IHJlbSgxMCk7XG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiByZW0oNDApO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxufVxuIiwiJG1lbnVDb2xvcjogIzAwMDAwMDsgLy8gUHJpbWFyeSBtZW51IGNvbG9yXG4kbWVudUNvbG9ySW52ZXJ0OiAjRkZGRkZGOyAvLyBtZW51IGNvbG9yIG9uIGhvbWVwYWdlXG4kbWVudU92ZXJsYXlDb2xvcjogIzAwMDAwMDsgLy8gbW9iaWxlIG1lbnUgYmcgY29sb3JcblxuI21haW4taGVhZGVyIHtcbiAgICBwb3NpdGlvbjpmaXhlZDtcbiAgICB0b3A6MDtcbiAgICB6LWluZGV4OjEwO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICB3aWR0aDoxMDAlO1xuICAgIGhlaWdodDogcmVtKCRoZWFkZXItaGVpZ2h0KTtcbiAgICBwYWRkaW5nOiByZW0oMTUpIHJlbSgxMCk7XG4gICAgYmFja2dyb3VuZDokd2hpdGU7XG5cbiAgICBAbWVkaWEgYWxsIGFuZCAobWluLXdpZHRoOiAkbWVudS1icmVha3BvaW50KSB7XG4gICAgICAgIHBhZGRpbmc6IHJlbSgxNSk7XG4gICAgfVxuXG4gICAgYSB7XG4gICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICB9XG5cbiAgICAubG9nbyB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgICYuaWNvbi1lYXN5c3RlZWwtbG9nbyB7XG4gICAgICAgICAgICAvLyBmb3IgaXBob25lIDVcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtKDM1KTtcbiAgICAgICAgICAgIEBtZWRpYSBhbGwgYW5kIChtYXgtd2lkdGg6IDQ1MHB4KSB7XG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiByZW0oMjUpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgQG1lZGlhIGFsbCBhbmQgKG1pbi13aWR0aDogMTMwMHB4KSB7XG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiByZW0oNDApO1xuXG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAubG9nby1ldG56IHtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB0b3A6IDUwJTtcbiAgICAgICAgbGVmdDogMDtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgYWxpZ24taXRlbXM6IGZsZXgtZW5kO1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgaGVpZ2h0OiByZW0oNDApO1xuICAgICAgICBwYWRkaW5nOiAwIDhweDtcbiAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKCcvaW1hZ2VzL0VUTlouc3ZnJyk7XG4gICAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlcjtcbiAgICAgICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICAgICAgYmFja2dyb3VuZC1zaXplOiBjb250YWluO1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7XG5cbiAgICAgICAgQG1lZGlhIGFsbCBhbmQgKG1heC13aWR0aDogNDUwcHgpIHtcbiAgICAgICAgICAgIGxlZnQ6IHJlbSgxNSk7XG4gICAgICAgICAgICBoZWlnaHQ6IHJlbSgzNSk7XG4gICAgICAgIH1cblxuICAgICAgICBAbWVkaWEgYWxsIGFuZCAobWluLXdpZHRoOiAkbWQtYnJlYWtwb2ludCkge1xuICAgICAgICAgICAgd2lkdGg6IDEzNSU7XG4gICAgICAgICAgICBoZWlnaHQ6IHJlbSg0NSk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAuY29sLW1lbnUge1xuICAgICAgICBwb3NpdGlvbjogZml4ZWQ7XG4gICAgICAgIHRvcDogcmVtKCRoZWFkZXItaGVpZ2h0KTtcbiAgICAgICAgcmlnaHQ6IDA7XG4gICAgICAgIGJvdHRvbTogMDtcbiAgICAgICAgbGVmdDogMTA1dnc7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgIHBhZGRpbmctdG9wOiByZW0oMzApO1xuICAgICAgICBwYWRkaW5nLWJvdHRvbTogcmVtKDMwKTtcbiAgICAgICAgYmFja2dyb3VuZDogJG1lbnVPdmVybGF5Q29sb3I7XG4gICAgICAgIC8vYmFja2dyb3VuZDogJG1lbnVDb2xvckludmVydDtcbiAgICAgICAgb3BhY2l0eTogMC45NjtcbiAgICAgICAgdHJhbnNpdGlvbjogYWxsIDAuNHMgbGluZWFyO1xuXG4gICAgICAgIEBtZWRpYSBhbGwgYW5kIChtaW4td2lkdGg6ICRtZW51LWJyZWFrcG9pbnQpIHtcbiAgICAgICAgICAgIHBhZGRpbmctdG9wOiAwO1xuICAgICAgICAgICAgcGFkZGluZy1ib3R0b206IDA7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgICAgICAgfVxuICAgICAgICBAbWVkaWEgYWxsIGFuZCAobWluLXdpZHRoOiAkbWVudS1icmVha3BvaW50KSB7XG4gICAgICAgICAgICBwb3NpdGlvbjogc3RhdGljO1xuICAgICAgICAgICAgYmFja2dyb3VuZDogbm9uZTtcbiAgICAgICAgICAgIG9wYWNpdHk6IDE7XG4gICAgICAgICAgICB0cmFuc2l0aW9uOiBub25lO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLmNvbC1oZWFkZXItaWNvbnMge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kO1xuICAgICAgICB0ZXh0LWFsaWduOiByaWdodDtcblxuICAgICAgICBhIHtcbiAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgICAgIC8vdG9wOiByZW0oOCk7XG4gICAgICAgICAgICBmb250LXNpemU6IHJlbSgxNCk7XG4gICAgICAgICAgICBsaW5lLWhlaWdodDogMTtcbiAgICAgICAgICAgIEBtZWRpYSBhbGwgYW5kIChtaW4td2lkdGg6ICRtZW51LWJyZWFrcG9pbnQpIHtcbiAgICAgICAgICAgICAgICAvL3RvcDogcmVtKDEyKTtcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IHJlbSgxNyk7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICYuYnRuLWJ1cmdlci1tZW51IHtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IHJlbSgxNSk7XG4gICAgICAgICAgICAgICAgQG1lZGlhIGFsbCBhbmQgKG1pbi13aWR0aDogJG1lbnUtYnJlYWtwb2ludCkge1xuICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICAgICAgICAgICAgICBtYXJnaW46IDAgcmVtKDEyKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgLy9tYXJnaW46IDAgcmVtKDIpIDAgcmVtKDE1KTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8vIE1haW4gTmF2aWdhdGlvbiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICB1bC5uYXYge1xuICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgbGlzdC1zdHlsZS10eXBlOiBub25lO1xuXG4gICAgICAgICYgPiBsaSB7XG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgIEBtZWRpYSBhbGwgYW5kIChtaW4td2lkdGg6ICRtZW51LWJyZWFrcG9pbnQpIHtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIGEge1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgICAgIG1hcmdpbjogcmVtKDMpIHJlbSgxMik7XG4gICAgICAgICAgICAgICAgY29sb3I6ICRvcmFuZ2U7XG4gICAgICAgICAgICAgICAgZm9udC1mYW1pbHk6ICRQbHV0b1NhbnNDb25kO1xuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtKDE2KTtcbiAgICAgICAgICAgICAgICBsZXR0ZXItc3BhY2luZzogMC41cHg7XG4gICAgICAgICAgICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIHRyYW5zcGFyZW50O1xuICAgICAgICAgICAgICAgIEBtZWRpYSBhbGwgYW5kIChtaW4td2lkdGg6ICRtZW51LWJyZWFrcG9pbnQpIHtcbiAgICAgICAgICAgICAgICAgICAgY29sb3I6ICRtZW51Q29sb3I7XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgJi5saW5rLS0xLmhhcy1zdWIgc3BhbiB7XG4gICAgICAgICAgICAgICAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAkb3JhbmdlO1xuICAgICAgICAgICAgICAgICAgICBAbWVkaWEgYWxsIGFuZCAobWluLXdpZHRoOiAkbWVudS1icmVha3BvaW50KSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBib3JkZXItYm90dG9tOiBub25lO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICAgICAgICAgIGJvcmRlci1jb2xvcjogJG1lbnVDb2xvcjtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICYuYWN0aXZlIHtcbiAgICAgICAgICAgICAgICBhIHtcbiAgICAgICAgICAgICAgICAgICAgZm9udC1mYW1pbHk6ICRQbHV0b1NhbnNDb25kO1xuICAgICAgICAgICAgICAgICAgICAvL2ZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgICAgICAgICAgICAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAkbWVudUNvbG9yO1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIC5zdWItbmF2IGEge1xuICAgICAgICAgICAgICAgICAgICBib3JkZXItYm90dG9tOiBub25lO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgdWwuc3ViLW5hdiB7XG4gICAgICAgICAgICAgICAgcGFkZGluZzogcmVtKDIpIDA7XG4gICAgICAgICAgICAgICAgdHJhbnNpdGlvbjogYWxsIDAuNXMgMC4xcztcblxuICAgICAgICAgICAgICAgIEBtZWRpYSBhbGwgYW5kIChtaW4td2lkdGg6ICRtZW51LWJyZWFrcG9pbnQpIHtcbiAgICAgICAgICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgICAgICAgICB6LWluZGV4OiAxMDtcbiAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgICAgICAgICAgICAgcGFkZGluZzogcmVtKDE1KSAwO1xuICAgICAgICAgICAgICAgICAgICBtYXJnaW46IDAgMCAwIHJlbSgtMTUpO1xuICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiAkZ3JheS1saWdodDtcbiAgICAgICAgICAgICAgICAgICAgb3BhY2l0eTogMC45NTtcbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICBsaSB7XG4gICAgICAgICAgICAgICAgICAgIGEge1xuICAgICAgICAgICAgICAgICAgICAgICAgY29sb3I6ICR3aGl0ZTtcbiAgICAgICAgICAgICAgICAgICAgICAgIGZvbnQtZmFtaWx5OiAkUGx1dG9TYW5zQ29uZDtcbiAgICAgICAgICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtKDI0KTtcbiAgICAgICAgICAgICAgICAgICAgICAgIEBtZWRpYSBhbGwgYW5kIChtaW4td2lkdGg6ICRtZW51LWJyZWFrcG9pbnQpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBwYWRkaW5nOiByZW0oMikgcmVtKDE1KTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb2xvcjogJGJsYWNrO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtKDE2KTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAmOmhvdmVyIHVsLnN1Yi1uYXYge1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAvLyBDb250YWN0IG51bWJlciBvbmx5IHZpc2libGUgaW4gbW9iaWxlLWJ1cmdlciBtZW51XG4gICAgICAgICAgICAmOmxhc3QtY2hpbGQge1xuICAgICAgICAgICAgICAgIEBtZWRpYSBhbGwgYW5kIChtaW4td2lkdGg6ICRtZW51LWJyZWFrcG9pbnQpIHtcbiAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBTdHlsZXMgZm9yIE1vYmlsZSBNZW51IE9wZW5cbiAgICAmLm1lbnUtb3BlbiB7XG4gICAgICAgIHotaW5kZXg6IDIwO1xuICAgICAgICAuY29sLWhlYWRlci1pY29ucyAuYnRuLWJ1cmdlci1tZW51IHtcbiAgICAgICAgICAgIC5pY29uLWJ1cmdlci1tZW51OmJlZm9yZSB7XG4gICAgICAgICAgICAgICAgY29udGVudDogXCJcXGU5MTBcIjsgLy8gc291cmNlOiBpY29tb29uIGZvbnRzXG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAuY29sLW1lbnUge1xuICAgICAgICAgICAgbGVmdDogMDtcbiAgICAgICAgICAgIHotaW5kZXg6IDEwO1xuICAgICAgICAgICAgb3ZlcmZsb3c6IGF1dG87XG5cbiAgICAgICAgICAgIGEge1xuICAgICAgICAgICAgICAgIGNvbG9yOiAkb3JhbmdlO1xuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtKDMyKTtcbiAgICAgICAgICAgICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgICAgICAgICAgICAgIEBtZWRpYSBhbGwgYW5kIChtaW4td2lkdGg6ICRtZW51LWJyZWFrcG9pbnQpIHtcbiAgICAgICAgICAgICAgICAgICAgY29sb3I6ICRtZW51Q29sb3I7XG4gICAgICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtKDE2KTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi8vIEJsYWNrIEJhY2tncm91bmRcbmJvZHkucGFnZS1jbXMtaG9tZSAjbWFpbi1oZWFkZXIge1xuICAgIGJhY2tncm91bmQ6ICRtZW51T3ZlcmxheUNvbG9yO1xuXG4gICAgdWwubmF2IGxpIGEsXG4gICAgLmNvbC1oZWFkZXItaWNvbnMgYSA+IHNwYW4ge1xuICAgICAgICBjb2xvcjogJG1lbnVDb2xvckludmVydDtcbiAgICB9XG5cbiAgICB1bC5uYXYgbGkgPiBhOmhvdmVyIHtcbiAgICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICR3aGl0ZTtcbiAgICB9XG5cbiAgICAmLm1lbnUtb3BlbiAuY29sLW1lbnUge1xuICAgICAgICAvL3BhZGRpbmctdG9wOiAwO1xuXG4gICAgICAgIGEge1xuICAgICAgICAgICAgY29sb3I6ICRvcmFuZ2U7XG4gICAgICAgICAgICBAbWVkaWEgYWxsIGFuZCAobWluLXdpZHRoOiAkbWVudS1icmVha3BvaW50KSB7XG4gICAgICAgICAgICAgICAgY29sb3I6ICR3aGl0ZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC5zdWItbmF2IGEge1xuICAgICAgICAgICAgY29sb3I6ICR3aGl0ZTtcbiAgICAgICAgICAgIEBtZWRpYSBhbGwgYW5kIChtaW4td2lkdGg6ICRtZW51LWJyZWFrcG9pbnQpIHtcbiAgICAgICAgICAgICAgICBjb2xvcjogJG1lbnVDb2xvcjtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbn1cblxuLy8gb3ZlcmxheVxuLnNlYXJjaC1vdmVybGF5IHtcbiAgICBwYWRkaW5nOiAwIDAgcmVtKDE0MCk7XG4gICAgQG1lZGlhIGFsbCBhbmQgKG1pbi13aWR0aDogJG1lbnUtYnJlYWtwb2ludCkge1xuICAgICAgICBwYWRkaW5nOiByZW0oMTQwKSAwO1xuICAgIH1cblxuICAgIC8vIGNsb3NlIGJ1dHRvbiBvdmVyd3JpdGVcbiAgICBhLmNsb3NlIHtcbiAgICAgICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG5cbiAgICAgICAgLmljb24tY2xvc2Uge1xuICAgICAgICAgICAgY29sb3I6ICR3aGl0ZTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC53cmFwcGVyIHtcbiAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICB9XG5cbiAgICAuY29udGFpbmVyIHtcbiAgICAgICAgcGFkZGluZzogMCByZW0oMjcpO1xuICAgICAgICBjb2xvcjogJHdoaXRlO1xuICAgICAgICBAbWVkaWEgYWxsIGFuZCAobWluLXdpZHRoOiAkbWVudS1icmVha3BvaW50KSB7XG4gICAgICAgICAgICBwYWRkaW5nOiAwIHJlbSgxNSk7XG4gICAgICAgIH1cblxuICAgICAgICAucm93LXNlYXJjaCB7XG5cbiAgICAgICAgICAgIGZvcm0ge1xuICAgICAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgICAgICAgICBtYXJnaW46IHJlbSgzMCkgMCByZW0oODApO1xuICAgICAgICAgICAgICAgIEBtZWRpYSBhbGwgYW5kIChtaW4td2lkdGg6ICRtZW51LWJyZWFrcG9pbnQpIHtcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luOiByZW0oNjApIDA7XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgYnV0dG9uIHtcbiAgICAgICAgICAgICAgICAgICAgcmlnaHQ6IDA7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBoMiB7XG4gICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogcmVtKDUwKTtcbiAgICAgICAgICAgICAgICBjb2xvcjogJG9yYW5nZTtcbiAgICAgICAgICAgICAgICBvcGFjaXR5OiAwO1xuICAgICAgICAgICAgICAgIEBtZWRpYSBhbGwgYW5kIChtaW4td2lkdGg6ICRtZW51LWJyZWFrcG9pbnQpIHtcbiAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIGlucHV0W3R5cGU9J3RleHQnXSB7XG4gICAgICAgICAgICAgICAgaGVpZ2h0OiBhdXRvO1xuICAgICAgICAgICAgICAgIHBhZGRpbmc6IHJlbSg1KSByZW0oNDApIHJlbSg1KSAwO1xuICAgICAgICAgICAgICAgIGNvbG9yOiAkd2hpdGU7XG4gICAgICAgICAgICAgICAgZm9udC1mYW1pbHk6ICRQbHV0b1NhbnNDb25kO1xuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtKDI0KTtcbiAgICAgICAgICAgICAgICBsaW5lLWhlaWdodDoxO1xuICAgICAgICAgICAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAkd2hpdGU7XG4gICAgICAgICAgICAgICAgQG1lZGlhIGFsbCBhbmQgKG1pbi13aWR0aDogJG1lbnUtYnJlYWtwb2ludCkge1xuICAgICAgICAgICAgICAgICAgICBwYWRkaW5nLXJpZ2h0OnJlbSg3MCk7XG4gICAgICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtKDY1KTtcbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAmOjpwbGFjZWhvbGRlciB7IC8qIENocm9tZSwgRmlyZWZveCwgT3BlcmEsIFNhZmFyaSAxMC4xKyAqL1xuICAgICAgICAgICAgICAgICAgICBjb2xvcjogJHdoaXRlO1xuICAgICAgICAgICAgICAgICAgICBvcGFjaXR5OiAxOyAvKiBGaXJlZm94ICovXG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICY6LW1zLWlucHV0LXBsYWNlaG9sZGVyIHsgLyogSW50ZXJuZXQgRXhwbG9yZXIgMTAtMTEgKi9cbiAgICAgICAgICAgICAgICAgICAgY29sb3I6ICR3aGl0ZTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgJjo6LW1zLWlucHV0LXBsYWNlaG9sZGVyIC8qIE1pY3Jvc29mdCBFZGdlICovIHtcbiAgICAgICAgICAgICAgICAgICAgY29sb3I6ICR3aGl0ZTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIGJ1dHRvbiB7XG4gICAgICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgICAgIHJpZ2h0OiAwO1xuICAgICAgICAgICAgICAgIGJvdHRvbTogcmVtKDEwKTtcbiAgICAgICAgICAgICAgICBwYWRkaW5nLXRvcDoxcHg7IC8vIEZpeCBjdXR0aW5nIGljb24gaW4gaU9TXG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZDogbm9uZTtcbiAgICAgICAgICAgICAgICBib3JkZXI6IG5vbmU7XG4gICAgICAgICAgICAgICAgQG1lZGlhIGFsbCBhbmQgKG1pbi13aWR0aDogJG1lbnUtYnJlYWtwb2ludCkge1xuICAgICAgICAgICAgICAgICAgICBib3R0b206IHJlbSgyMCk7XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgLmljb24tc2VhcmNoIHtcbiAgICAgICAgICAgICAgICAgICAgY29sb3I6ICR3aGl0ZTtcbiAgICAgICAgICAgICAgICAgICAgZm9udC1zaXplOiByZW0oMjApO1xuICAgICAgICAgICAgICAgICAgICB0cmFuc2l0aW9uOiBhbGwgMC41cztcbiAgICAgICAgICAgICAgICAgICAgQG1lZGlhIGFsbCBhbmQgKG1pbi13aWR0aDogJG1lbnUtYnJlYWtwb2ludCkge1xuICAgICAgICAgICAgICAgICAgICAgICAgZm9udC1zaXplOiByZW0oNDApO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgJjpob3ZlciAuaWNvbi1zZWFyY2gge1xuICAgICAgICAgICAgICAgICAgICBjb2xvcjogJGdyYXktZGFyaztcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG5cblxuICAgICAgICB9XG5cbiAgICAgICAgLnJvdy1yZXN1bHRzIHtcblxuICAgICAgICAgICAgaDIge1xuICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IHJlbSgzMCk7XG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiByZW0oMzIpO1xuICAgICAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiAzMDA7XG4gICAgICAgICAgICAgICAgQG1lZGlhIGFsbCBhbmQgKG1pbi13aWR0aDogJG1lbnUtYnJlYWtwb2ludCkge1xuICAgICAgICAgICAgICAgICAgICBmb250LXNpemU6IHJlbSg0MCk7XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgc3BhbiB7XG4gICAgICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogODAlO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cblxuICAgICAgICB9XG5cbiAgICAgICAgLnJvdy1wYWdpbmF0aW9uIHtcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IHJlbSg1MCk7XG5cbiAgICAgICAgICAgIC5saW5rLXByZXYgLmljb24tYXJyb3cge1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgxODBkZWcpIHRyYW5zbGF0ZSgwLCAtMnB4KTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgYSB7XG4gICAgICAgICAgICAgICAgcGFkZGluZzogcmVtKDE2KSByZW0oNDApO1xuICAgICAgICAgICAgICAgIG1hcmdpbi1yaWdodDogcmVtKDQwKTtcbiAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiByZW0oMjUpO1xuXG4gICAgICAgICAgICAgICAgLmljb24tYXJyb3cge1xuICAgICAgICAgICAgICAgICAgICBtYXJnaW46IDAgcmVtKDUpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgc3BhbiB7XG4gICAgICAgICAgICAgICAgLy8gc2hvd2luZyAxLzEuXG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAuc2VhcmNoLWl0ZW0ge1xuICAgICAgICBtYXJnaW46IHJlbSg0NSkgMDtcbiAgICAgICAgdHJhbnNpdGlvbjogYWxsIDAuNXMgMC4ycztcbiAgICAgICAgQG1lZGlhIGFsbCBhbmQgKG1pbi13aWR0aDogJG1lbnUtYnJlYWtwb2ludCkge1xuICAgICAgICAgICAgbWFyZ2luOiByZW0oMzUpIDA7XG4gICAgICAgIH1cblxuICAgICAgICBoMyB7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiByZW0oMTApO1xuICAgICAgICAgICAgY29sb3I6ICRvcmFuZ2U7XG5cbiAgICAgICAgICAgIGF7XG4gICAgICAgICAgICAgICAgY29sb3I6ICRvcmFuZ2U7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICA+YSB7XG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jazs7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiByZW0oMjApO1xuICAgICAgICAgICAgY29sb3I6ICR3aGl0ZTtcbiAgICAgICAgICAgIGZvbnQtZmFtaWx5OiAkUGx1dG9TYW5zQ29uZDtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtKDE3KTtcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAxO1xuXG4gICAgICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICAgICAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC5leGNlcnB0IHtcbiAgICAgICAgICAgIGZvbnQtZmFtaWx5OiAkQ291cGVUaGluO1xuICAgICAgICAgICAgZm9udC1zaXplOiByZW0oMTcpO1xuICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDEwMDtcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAkZ2VuZXJhbC1saW5lLWhlaWdodDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8vIGhpZGUgaW5wdXQtY2xlYXIgYnV0dG9uIG9uIElFXG4gICAgI3NlYXJjaC1rZXl3b3JkOjotbXMtY2xlYXIge1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cbn1cbiNtYWluLWhlYWRlci1ob2xkZXJ7XG4gICAgaGVpZ2h0OiByZW0oJGhlYWRlci1oZWlnaHQpO1xufVxuIiwiJGl0ZW1CcmVha3BvaW50OiBsZztcblxuLmhlcm8ge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1mbG93OiByb3cgd3JhcDtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBtYXJnaW46IDAgIWltcG9ydGFudDtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuXG4gICAgLy8gZ2VuZXJpYyAtIGxheW91dFxuICAgICZfX3RpdGxlLFxuICAgICZfX2Rlc2NyaXB0aW9uIHtcbiAgICAgICAgZmxleDogMSAwIDEwMCU7XG4gICAgICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAoJGl0ZW1CcmVha3BvaW50KSB7XG4gICAgICAgICAgICAvL2ZsZXg6IDEgMCA2NC41dnc7XG4gICAgICAgICAgICBmbGV4OiAxIDAgNjQuNSU7XG4gICAgICAgIH1cbiAgICB9XG4gICAgJl9fcHJpbWFyeSxcbiAgICAmX19zZWNvbmRhcnkge1xuICAgICAgICBmbGV4OiAxIDAgMTAwJTtcbiAgICAgICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cCgkaXRlbUJyZWFrcG9pbnQpIHtcbiAgICAgICAgICAgIGZsZXg6IDEgMCAzNS41JTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC53cmFwcGVyIHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgcGFkZGluZzogMCByZW0oMjcpO1xuICAgICAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKCRpdGVtQnJlYWtwb2ludCkge1xuICAgICAgICAgICAgZmxleC1mbG93OiByb3cgbm93cmFwO1xuICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDtcbiAgICAgICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgIH1cblxuICAgICAgICAuY29udGVudCB7XG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgIG1heC13aWR0aDogcmVtKDUxMCk7XG4gICAgICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgICAgICAgbWFyZ2luOiBhdXRvO1xuXG4gICAgICAgICAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKG1kKSB7XG4gICAgICAgICAgICAgICAgbWF4LXdpZHRoOiByZW0oNjkwKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAobGcpIHtcbiAgICAgICAgICAgICAgICBtYXgtd2lkdGg6IGNhbGMoNDU1cHggKyAxNXZ3KTtcbiAgICAgICAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiByZW0oMzApO1xuICAgICAgICAgICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAoeGwpIHtcbiAgICAgICAgICAgICAgICBtYXgtd2lkdGg6IGNhbGMoNTQ1cHggKyAxNXZ3KTtcbiAgICAgICAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiByZW0oNTApO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIC5jb250ZW50X19kYXRle1xuICAgICAgICAgICAgcGFkZGluZy1ib3R0b206cmVtKDI3KTtcbiAgICAgICAgICAgIGNvbG9yOiRibGFjaztcbiAgICAgICAgICAgIGZvbnQtZmFtaWx5OiRQbHV0b1NhbnNDb25kO1xuICAgICAgICAgICAgZm9udC1zaXplOnJlbSgxOCk7XG4gICAgICAgIH1cbiAgICAgICAgLmNvbnRlbnRfX2NhdGVnb3J5e1xuICAgICAgICAgICAgcGFkZGluZy1yaWdodDo4cHg7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBkZWZhdWx0IHRoZW1lOiBPUkFOR0VcbiAgICAmX190aXRsZSB7XG4gICAgICAgIC53cmFwcGVyIHtcbiAgICAgICAgICAgIGNvbG9yOiAkd2hpdGU7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiAkb3JhbmdlO1xuICAgICAgICAgICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cCgkaXRlbUJyZWFrcG9pbnQpIHtcbiAgICAgICAgICAgICAgICBtaW4taGVpZ2h0OiByZW0oMzUwKTtcbiAgICAgICAgICAgICAgICAvL21hcmdpbi1ib3R0b206IHJlbSgxNTApO1xuICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IHJlbSg3MCk7XG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiByZW0oMTEwKTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgaDEge1xuICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgICAgIHBhZGRpbmctcmlnaHQ6IDEwJTtcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IHJlbSg2NSk7XG4gICAgICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDE7XG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cCgkaXRlbUJyZWFrcG9pbnQpIHtcbiAgICAgICAgICAgICAgICAgICAgZm9udC1zaXplOiByZW0oMTEwKTtcbiAgICAgICAgICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDAuOTY7IC8vIDAuOTEgLSBvcmlnaW5hbGx5XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAuY29udGVudCB7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgICAgICBhbGlnbi1pdGVtczogZmxleC1lbmQ7XG4gICAgICAgICAgICAgICAgLy9oZWlnaHQ6IDEwMCU7XG4gICAgICAgICAgICAgICAgbWluLWhlaWdodDogcmVtKDMwMCk7XG4gICAgICAgICAgICAgICAgcGFkZGluZzogcmVtKDUwKSAwO1xuICAgICAgICAgICAgICAgIC8vbWFyZ2luOiAwIGF1dG87XG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cCgkaXRlbUJyZWFrcG9pbnQpIHtcbiAgICAgICAgICAgICAgICAgICAgbWluLWhlaWdodDogcmVtKDM1MCk7XG4gICAgICAgICAgICAgICAgICAgIHBhZGRpbmc6IHJlbSg1MCkgMDtcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbiAgICAmX19kZXNjcmlwdGlvbiB7XG4gICAgICAgIG1hcmdpbjogcmVtKDYwKSAwO1xuICAgICAgICBmb250LWZhbWlseTogJFBsdXRvU2Fuc0NvbmQ7XG4gICAgICAgIGZvbnQtc2l6ZTogcmVtKDMyKTtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDEuMDU7XG4gICAgICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAoJGl0ZW1CcmVha3BvaW50KSB7XG4gICAgICAgICAgICBwYWRkaW5nOiAwIDAgcmVtKDgwKTtcbiAgICAgICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtKDQwKTtcbiAgICAgICAgfVxuICAgIH1cbiAgICAmX19wcmltYXJ5IHtcbiAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcblxuICAgICAgICAuY29udGVudCB7XG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgIGhlaWdodDogMDtcbiAgICAgICAgICAgIHBhZGRpbmctYm90dG9tOiA1NSU7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkZ3JheS1saWdodDtcbiAgICAgICAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlciB0b3A7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICAgICAgICAgICAgYmFja2dyb3VuZC1zaXplOiBjb3ZlciAhaW1wb3J0YW50O1xuICAgICAgICAgICAgdHJhbnNpdGlvbjogYWxsIDAuNXMgMC4xcztcblxuICAgICAgICAgICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cCgkaXRlbUJyZWFrcG9pbnQpIHtcbiAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgICAgICAgICAgcGFkZGluZy1ib3R0b206IDA7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgICAgIHRyYW5zZm9ybTogc2NhbGUoJHNjYWxlLWltYWdlKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbiAgICAmX19zZWNvbmRhcnkge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiByZW0oNDUpO1xuICAgICAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKCRpdGVtQnJlYWtwb2ludCkge1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICAgICAgfVxuXG4gICAgICAgIC5jb250ZW50IHtcbiAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgaGVpZ2h0OiAwO1xuICAgICAgICAgICAgLy9wYWRkaW5nLWJvdHRvbTogNjQlICFpbXBvcnRhbnQ7XG4gICAgICAgICAgICBwYWRkaW5nLWJvdHRvbTogNjQlICFpbXBvcnRhbnQ7XG4gICAgICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgICAgICAgICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cCgkaXRlbUJyZWFrcG9pbnQpIHtcbiAgICAgICAgICAgICAgICB0b3A6IC01dnc7XG4gICAgICAgICAgICAgICAgLy9wYWRkaW5nLWJvdHRvbTogNjQlICFpbXBvcnRhbnQ7XG4gICAgICAgICAgICAgICAgcGFkZGluZy1ib3R0b206IDUwJSAhaW1wb3J0YW50O1xuICAgICAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiA1dncgIWltcG9ydGFudDtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgJl9faW1hZ2Uge1xuICAgICAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1zaXplOiBjb3ZlciAhaW1wb3J0YW50O1xuICAgICAgICAgICAgICAgIHRyYW5zaXRpb246IGFsbCAwLjVzIDAuMXM7XG5cbiAgICAgICAgICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICAgICAgICAgICAgdHJhbnNmb3JtOiBzY2FsZSgkc2NhbGUtaW1hZ2UpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8vIFRIRU1FIC0gQkxBQ0tcbiAgICAmLmJsYWNrIHtcbiAgICAgICAgLmhlcm9fX3RpdGxlIC53cmFwcGVyIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQ6ICRibGFjaztcbiAgICAgICAgfVxuICAgICAgICAuaGVyb19fZGVzY3JpcHRpb24ge1xuICAgICAgICAgICAgY29sb3I6ICRvcmFuZ2U7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBUSEVNRSAtIEdSRVlcbiAgICAmLmdyZXkge1xuICAgICAgICAuaGVyb19fdGl0bGUgLndyYXBwZXIge1xuICAgICAgICAgICAgYmFja2dyb3VuZDogJGdyYXktZGFyaztcbiAgICAgICAgfVxuICAgICAgICAuaGVyb19fZGVzY3JpcHRpb24ge1xuICAgICAgICAgICAgY29sb3I6ICRvcmFuZ2U7XG4gICAgICAgIH1cbiAgICB9XG59IiwiJGl0ZW1CcmVha3BvaW50OiB4bDtcblxuLy8gaGlkZSBvdmVyZmxvd2luZyBlbGVtZW50cy5cbi5ob21lLWhlcm8td3JhcHBlciB7XG4gICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cCgkaXRlbUJyZWFrcG9pbnQpIHtcbiAgICAgICAgcGFkZGluZy1ib3R0b206IHJlbSg3MCk7XG4gICAgICAgIG1hcmdpbi10b3A6IHJlbSgzMDApO1xuICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIH1cbn1cblxuLmhvbWUtaGVybyB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IHN0cmV0Y2g7XG4gICAgaGVpZ2h0OiByZW0oNDc1KTtcbiAgICBtYXJnaW4tYm90dG9tOiByZW0oNTApO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRncmF5LWRhcms7XG4gICAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyIGNlbnRlcjtcbiAgICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xuICAgIGJveC1zaGFkb3c6IGluc2V0IDAgMCAwIDEwMDBweCByZ2JhKDAsIDAsIDAsIDAuNyk7XG4gICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cCgkaXRlbUJyZWFrcG9pbnQpIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIGhlaWdodDogcmVtKDYwMCk7XG4gICAgfVxuXG4gICAgaDEge1xuICAgICAgICBwYWRkaW5nOiByZW0oMTApIHJlbSgyNyk7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IHJlbSg0MCk7XG4gICAgICAgIGNvbG9yOiAkd2hpdGU7XG4gICAgICAgIGZvbnQtZmFtaWx5OiAkUGx1dG9TYW5zQ29uZDtcbiAgICAgICAgZm9udC1zaXplOiByZW0oNjUpO1xuICAgICAgICBsaW5lLWhlaWdodDogMS4wNTtcbiAgICAgICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cCgkaXRlbUJyZWFrcG9pbnQpIHtcbiAgICAgICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgICAgICBmb250LXNpemU6IHJlbSgxMTApO1xuICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDAuNzc7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmX190aXRsZSB7XG4gICAgICAgIHotaW5kZXg6IDE7XG4gICAgICAgIGZsZXg6IDEgMCAxMDAlO1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgbWF4LXdpZHRoOiByZW0oNTQwKTtcbiAgICAgICAgbWFyZ2luOiBhdXRvO1xuICAgICAgICB0cmFuc2l0aW9uOiBhbGwgMS4ycyBlYXNlLW91dDtcbiAgICAgICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cChtZCkge1xuICAgICAgICAgICAgbWF4LXdpZHRoOiByZW0oNjk0KTtcbiAgICAgICAgfVxuICAgICAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKCRpdGVtQnJlYWtwb2ludCkge1xuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgdG9wOiAwO1xuICAgICAgICAgICAgcmlnaHQ6IDM4dnc7XG4gICAgICAgICAgICBib3R0b206IDA7XG4gICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAgYWxpZ24taXRlbXM6Y2VudGVyO1xuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICBtYXgtd2lkdGg6IGNhbGMoNTEwcHggKyAxNXZ3KTtcbiAgICAgICAgICAgIHBhZGRpbmctdG9wOiByZW0oMzApO1xuICAgICAgICAgICAgcGFkZGluZy1ib3R0b206IHJlbSgzMCk7XG4gICAgICAgIH1cbiAgICB9XG4gICAgJl9fY29udGVudCB7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgcmlnaHQ6IDA7XG4gICAgICAgIGJvdHRvbTogMDtcbiAgICAgICAgd2lkdGg6IHJlbSgxOTUpO1xuICAgICAgICBoZWlnaHQ6IHJlbSgxMjYpO1xuICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgICAgICBiYWNrZ3JvdW5kOiAkb3JhbmdlO1xuICAgICAgICB0cmFuc2l0aW9uOiBhbGwgMS4xcyBlYXNlLW91dDtcbiAgICAgICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cCgkaXRlbUJyZWFrcG9pbnQpIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICAgICAgd2lkdGg6IDM1LjV2dztcbiAgICAgICAgICAgIGhlaWdodDogcmVtKDM4MCk7XG4gICAgICAgIH1cblxuICAgICAgICAuaW5uZXItd3JhcHBlciB7XG4gICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICAgICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cCgkaXRlbUJyZWFrcG9pbnQpIHtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgICAgICBwYWRkaW5nOiByZW0oNTApIHJlbSg4MCk7XG4gICAgICAgICAgICAgICAgY29sb3I6ICR3aGl0ZTtcbiAgICAgICAgICAgICAgICBmb250LWZhbWlseTogJFBsdXRvU2Fuc0NvbmQ7XG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiByZW0oMjQpO1xuICAgICAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAxLjE7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKHhsKSB7XG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiByZW0oMzIpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuICAgICZfX2ltYWdlIHtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICByaWdodDogcmVtKDI3KTtcbiAgICAgICAgYm90dG9tOiByZW0oLTMwKTtcbiAgICAgICAgd2lkdGg6IHJlbSgxNTUpO1xuICAgICAgICB0cmFuc2l0aW9uOiBhbGwgMS4ycyBlYXNlLW91dDtcbiAgICAgICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cCgkaXRlbUJyZWFrcG9pbnQpIHtcbiAgICAgICAgICAgIHJpZ2h0OiAzNS41dnc7XG4gICAgICAgICAgICBib3R0b206IHJlbSgtNTApO1xuICAgICAgICAgICAgd2lkdGg6IDI3dnc7XG4gICAgICAgICAgICBtYXgtaGVpZ2h0OiByZW0oMjcwKTtcbiAgICAgICAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgICAgIH1cblxuICAgICAgICAuaW5uZXItd3JhcHBlciB7XG4gICAgICAgICAgICBoZWlnaHQ6IDA7XG4gICAgICAgICAgICBwYWRkaW5nLWJvdHRvbTogNjIlO1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGdyYXktZGFyaztcbiAgICAgICAgICAgIGJhY2tncm91bmQtc2l6ZTogY292ZXI7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBWYXJpb3VzIEZyYW1lc2wgZm9yID4gYnJlYWtwb2ludC5cbiAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKCRpdGVtQnJlYWtwb2ludCkge1xuICAgICAgICAmLmFuaW0tZnJhbWUtMSB7XG4gICAgICAgICAgICAuaG9tZS1oZXJvX190aXRsZSB7XG4gICAgICAgICAgICAgICAgcmlnaHQ6IDUwJTtcbiAgICAgICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSg1MCUsIDQlKSBzY2FsZSgxLjYpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgLmhvbWUtaGVyb19fY29udGVudCB7XG4gICAgICAgICAgICAgICAgd2lkdGg6IDEwMHZ3O1xuICAgICAgICAgICAgICAgIGhlaWdodDogcmVtKDYwMCk7XG5cbiAgICAgICAgICAgICAgICAuaW5uZXItd3JhcHBlciB7XG4gICAgICAgICAgICAgICAgICAgIG9wYWNpdHk6IDA7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgLmhvbWUtaGVyb19faW1hZ2Uge1xuICAgICAgICAgICAgICAgIGJvdHRvbTogcmVtKC0xMjApO1xuICAgICAgICAgICAgICAgIG9wYWNpdHk6IDA7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgJi5hbmltLWZyYW1lLTIge1xuICAgICAgICAgICAgLmhvbWUtaGVyb19fdGl0bGUge1xuICAgICAgICAgICAgICAgIHJpZ2h0OiA1MCU7XG4gICAgICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoNTAlLCA0JSkgc2NhbGUoMS4zKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIC5ob21lLWhlcm9fX2NvbnRlbnQge1xuICAgICAgICAgICAgICAgIHdpZHRoOiA3MHZ3O1xuICAgICAgICAgICAgICAgIGhlaWdodDogcmVtKDQ4MCk7XG5cbiAgICAgICAgICAgICAgICAuaW5uZXItd3JhcHBlciB7XG4gICAgICAgICAgICAgICAgICAgIG9wYWNpdHk6IDA7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgLmhvbWUtaGVyb19faW1hZ2Uge1xuICAgICAgICAgICAgICAgIGJvdHRvbTogcmVtKC0xMjApO1xuICAgICAgICAgICAgICAgIG9wYWNpdHk6IDE7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgJi5hbmltLWZyYW1lLTMge1xuICAgICAgICAgICAgLmhvbWUtaGVyb19fY29udGVudCB7XG4gICAgICAgICAgICAgICAgLmlubmVyLXdyYXBwZXIge1xuICAgICAgICAgICAgICAgICAgICB0cmFuc2l0aW9uOiBhbGwgMXMgMXMgZWFzZS1vdXQ7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuICAgIEBtZWRpYSBhbGwgYW5kIChtaW4td2lkdGg6IDEzNjBweCkge1xuICAgICAgICAmLmFuaW0tZnJhbWUtMSB7XG4gICAgICAgICAgICAuaG9tZS1oZXJvX190aXRsZSB7XG4gICAgICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoNTAlLCA0JSkgc2NhbGUoMS44KTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAmLmFuaW0tZnJhbWUtMiB7XG4gICAgICAgICAgICAuaG9tZS1oZXJvX190aXRsZSB7XG4gICAgICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoNTAlLCAwKSBzY2FsZSgxLjUpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxufVxuXG4vLyBIZXJvIG9uIGhvbWVwYWdlIHdpbGwgYmUgZml4ZWQgZm9yIHgtYW1vdW50IG9mIHNjcm9sbC5cbmJvZHkucGFnZS1jbXMtaG9tZS5maXhlZC1oZXJvIHtcbiAgICAuaG9tZS1oZXJvLXdyYXBwZXIge1xuICAgICAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKCRpdGVtQnJlYWtwb2ludCkge1xuICAgICAgICAgICAgcG9zaXRpb246IGZpeGVkO1xuICAgICAgICAgICAgdG9wOiByZW0oLTIwNSk7XG4gICAgICAgICAgICByaWdodDogMDtcbiAgICAgICAgICAgIGxlZnQ6IDA7XG4gICAgICAgIH1cbiAgICB9XG4gICAgLmNlbyB7XG4gICAgICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAoJGl0ZW1CcmVha3BvaW50KSB7XG4gICAgICAgICAgICBtYXJnaW4tdG9wOiByZW0oMTAyMCk7XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi8vIGFuaW1hdGUgb25jZSBvbiBsb2FkLlxuLy8uaG9tZS1oZXJvIHtcbi8vICAgIC8vIGFuaW1hdGlvbnNcbi8vICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAoJGl0ZW1CcmVha3BvaW50KSB7XG4vLyAgICAgICAgLy8gYW5pbWF0aW9uIGR1cmF0aW9uIGRlbGF5IGl0ZXJhdGlvblxuLy8gICAgICAgICZfX3RpdGxlIHtcbi8vICAgICAgICAgICAgYW5pbWF0aW9uOiBzY2FsZVRpdGxlV3JhcHBlciA0cyAwcyAxO1xuLy8gICAgICAgIH1cbi8vICAgICAgICAmX19jb250ZW50IHtcbi8vICAgICAgICAgICAgYW5pbWF0aW9uOiBhbmltYXRlQ29udGVudCA0cyAwcyAxO1xuLy9cbi8vICAgICAgICAgICAgLmlubmVyLXdyYXBwZXIge1xuLy8gICAgICAgICAgICAgICAgYW5pbWF0aW9uOiBjb250ZW50QXBwZWFyIDRzIDBzIDE7XG4vLyAgICAgICAgICAgIH1cbi8vICAgICAgICB9XG4vLyAgICAgICAgJl9faW1hZ2Uge1xuLy8gICAgICAgICAgICBhbmltYXRpb246IGFuaW1hdGVJbWFnZSA0cyAwcyAxIGVhc2Utb3V0O1xuLy8gICAgICAgIH1cbi8vICAgIH1cbi8vXG4vLyAgICAvLyBhbmltYXRlIHRpdGxlXG4vLyAgICBAa2V5ZnJhbWVzIHNjYWxlVGl0bGVXcmFwcGVyIHtcbi8vICAgICAgICAwJSwxMCUge1xuLy8gICAgICAgICAgICByaWdodDogNTAlO1xuLy8gICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSg1MCUsIDApIHNjYWxlKDEuOCk7XG4vLyAgICAgICAgICAgIC8vbGVmdDogNTAlO1xuLy8gICAgICAgIH1cbi8vICAgICAgICAxMDAlIHtcbi8vICAgICAgICAgICAgLy9sZWZ0OiBhdXRvO1xuLy8gICAgICAgIH1cbi8vICAgIH1cbi8vXG4vLyAgICAvLyBhbmltYXRlIGNvbnRlbnRcbi8vICAgIEBrZXlmcmFtZXMgYW5pbWF0ZUNvbnRlbnQge1xuLy8gICAgICAgIDAlLDEwJSB7XG4vLyAgICAgICAgICAgIHdpZHRoOiAxMDB2dztcbi8vICAgICAgICAgICAgaGVpZ2h0OiByZW0oNjAwKTtcbi8vICAgICAgICB9XG4vLyAgICAgICAgMTAwJSB7XG4vLyAgICAgICAgICAgIC8vd2lkdGg6IGF1dG87XG4vLyAgICAgICAgICAgIC8vaGVpZ2h0OiBhdXRvO1xuLy8gICAgICAgIH1cbi8vICAgIH1cbi8vXG4vLyAgICAvLyBhbmltYXRlIGNvbnRlbnRcbi8vICAgIEBrZXlmcmFtZXMgY29udGVudEFwcGVhciB7XG4vLyAgICAgICAgMCUge1xuLy8gICAgICAgICAgICBvcGFjaXR5OiAwO1xuLy8gICAgICAgIH1cbi8vICAgICAgICA5MCUge1xuLy8gICAgICAgICAgICBvcGFjaXR5OiAwO1xuLy8gICAgICAgIH1cbi8vICAgICAgICAxMDAlIHtcbi8vICAgICAgICAgICAgb3BhY2l0eTogMTtcbi8vICAgICAgICB9XG4vLyAgICB9XG4vL1xuLy8gICAgLy8gYW5pbWF0ZSBpbWFnZVxuLy8gICAgQGtleWZyYW1lcyBhbmltYXRlSW1hZ2Uge1xuLy8gICAgICAgIDAlIHtcbi8vICAgICAgICAgICAgb3BhY2l0eTogMDtcbi8vICAgICAgICB9XG4vLyAgICAgICAgNDAlIHtcbi8vICAgICAgICAgICAgYm90dG9tOiByZW0oLTgwKTtcbi8vICAgICAgICAgICAgb3BhY2l0eTogMDtcbi8vICAgICAgICB9XG4vLyAgICAgICAgMTAwJSB7XG4vLyAgICAgICAgICAgIGJvdHRvbTogcmVtKC01MCk7XG4vLyAgICAgICAgfVxuLy8gICAgfVxuLy99XG4iLCIuZmVhdHVyZWQtcHJvZHVjdHtcbiAgICBjb2xvcjokb3JhbmdlO1xuICAgIGJhY2tncm91bmQ6JGdyYXktbGlnaHQ7XG5cbiAgICBhe1xuICAgICAgICB0ZXh0LWRlY29yYXRpb246bm9uZTtcblxuICAgICAgICAmOmhvdmVye1xuICAgICAgICAgICAgaDR7XG4gICAgICAgICAgICAgICAgY29sb3I6JHdoaXRlO1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6JGJsYWNrO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgc3BhbntcbiAgICAgICAgICAgICAgICBjb2xvcjokb3JhbmdlO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuICAgIGg0e1xuICAgICAgICBwb3NpdGlvbjpyZWxhdGl2ZTtcbiAgICAgICAgcGFkZGluZzpyZW0oMzApIHJlbSg5NSkgcmVtKDI2KSByZW0oMjApO1xuICAgICAgICBjb2xvcjokb3JhbmdlO1xuICAgICAgICBmb250LXNpemU6cmVtKDIwKTtcbiAgICAgICAgdHJhbnNpdGlvbjphbGwgMjAwbXM7XG4gICAgfVxuICAgIC5mZWF0dXJlZC1wcm9kdWN0X19tb3JlLWxpbmt7XG4gICAgICAgIHBvc2l0aW9uOmFic29sdXRlO1xuICAgICAgICB0b3A6NTAlO1xuICAgICAgICByaWdodDoyMHB4O1xuICAgICAgICBjb2xvcjokYmxhY2s7XG4gICAgICAgIGZvbnQtZmFtaWx5OiRQbHV0b1NhbnNDb25kO1xuICAgICAgICBmb250LXNpemU6cmVtKDE2KTtcbiAgICAgICAgdGV4dC10cmFuc2Zvcm06dXBwZXJjYXNlO1xuICAgICAgICB0cmFuc2Zvcm06dHJhbnNsYXRlWSgtNTAlKTtcbiAgICB9XG4gICAgLmZlYXR1cmVkLXByb2R1Y3RfX2ltYWdle1xuICAgICAgICBkaXNwbGF5Om5vbmU7XG4gICAgICAgIG1heC1oZWlnaHQ6cmVtKDI1MCk7XG4gICAgICAgIG92ZXJmbG93OmhpZGRlbjtcblxuICAgICAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKGxnKXtcbiAgICAgICAgICAgIGRpc3BsYXk6YmxvY2s7XG4gICAgICAgIH1cblxuICAgICAgICBpbWd7XG4gICAgICAgICAgICBkaXNwbGF5OmJsb2NrO1xuICAgICAgICAgICAgd2lkdGg6MTAwJTtcbiAgICAgICAgfVxuICAgIH1cbn0iLCJmb290ZXJ7XG4gICAgY29sb3I6JHdoaXRlO1xuICAgIGZvbnQtc2l6ZTpyZW0oJGdlbmVyYWwtZm9udC1zaXplKTtcblxuICAgIGF7XG4gICAgICAgIGNvbG9yOiRvcmFuZ2U7XG4gICAgICAgIHRleHQtZGVjb3JhdGlvbjpub25lO1xuICAgIH1cbiAgICBie1xuICAgICAgICBmb250LXdlaWdodDpib2xkO1xuICAgIH1cblxuICAgIC5mb290ZXJfX2NvbnRhY3Rze1xuICAgICAgICBwYWRkaW5nOnJlbSg0MCkgMCByZW0oNDApO1xuICAgICAgICBiYWNrZ3JvdW5kOiRibGFjaztcblxuICAgICAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKGxnKXtcbiAgICAgICAgICAgIHBhZGRpbmc6cmVtKDEyMCkgMCByZW0oMTAwKTtcbiAgICAgICAgfVxuICAgIH1cbiAgICAuZm9vdGVyX19jb250YWN0cy1kZXRhaWxze1xuICAgICAgICBsaXtcbiAgICAgICAgICAgIGRpc3BsYXk6YmxvY2s7XG5cbiAgICAgICAgICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAobGcpe1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6aW5saW5lLWJsb2NrO1xuICAgICAgICAgICAgICAgIHBhZGRpbmctcmlnaHQ6cmVtKDI1KTtcblxuICAgICAgICAgICAgICAgICY6bGFzdC1jaGlsZHtcbiAgICAgICAgICAgICAgICAgICAgcGFkZGluZy1yaWdodDowO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbiAgICAuZm9vdGVyX19jb250YWN0cy1zb2NpYWwge1xuICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgICBtYXJnaW46IHJlbSgxNSkgcmVtKDI3KSByZW0oNSk7XG4gICAgICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAoc20pe1xuICAgICAgICAgICAgbWFyZ2luOiByZW0oMTUpO1xuICAgICAgICB9XG4gICAgICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAobGcpe1xuICAgICAgICAgICAgcG9zaXRpb246IGZpeGVkO1xuICAgICAgICAgICAgdG9wOiByZW0oMTY0KTtcbiAgICAgICAgICAgIHJpZ2h0OiAwO1xuICAgICAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgfVxuXG4gICAgICAgIGEge1xuICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICAgICAgbGVmdDogMDtcbiAgICAgICAgICAgIG1hcmdpbi1yaWdodDogcmVtKDE1KTtcbiAgICAgICAgICAgIHRyYW5zaXRpb246IGFsbCAwLjJzIGVhc2UtaW4gMC4xcztcbiAgICAgICAgICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAobGcpe1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgICAgIGhlaWdodDogcmVtKDQyKTtcbiAgICAgICAgICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgICAgICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgaW1nIHtcbiAgICAgICAgICAgICAgICB3aWR0aDogcmVtKDM4KTtcbiAgICAgICAgICAgICAgICBoZWlnaHQ6IHJlbSgzOCk7XG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cChsZyl7XG4gICAgICAgICAgICAgICAgICAgIHdpZHRoOiByZW0oNDApO1xuICAgICAgICAgICAgICAgICAgICBoZWlnaHQ6IHJlbSg0MCk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKGxnKXtcbiAgICAgICAgICAgICAgICAgICAgbGVmdDogcmVtKDUpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbiAgICAuZm9vdGVyX19sb2dve1xuICAgICAgICBwYWRkaW5nLXRvcDpyZW0oMzUpO1xuICAgICAgICBwYWRkaW5nLWJvdHRvbTpyZW0oMjQpO1xuICAgICAgICB0ZXh0LWFsaWduOmxlZnQ7XG5cbiAgICAgICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cChsZyl7XG4gICAgICAgICAgICBwYWRkaW5nLXRvcDowO1xuICAgICAgICAgICAgcGFkZGluZy1ib3R0b206cmVtKDQ3KTtcbiAgICAgICAgICAgIHRleHQtYWxpZ246cmlnaHQ7XG4gICAgICAgIH1cblxuICAgICAgICAuYWRkLWdhcHMge1xuICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7XG4gICAgICAgICAgICBtYXgtd2lkdGg6IDgwJTtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IHJlbSgxNCk7XG5cbiAgICAgICAgICAgIEBtZWRpYSBhbGwgYW5kIChtaW4td2lkdGg6ICRsZy1icmVha3BvaW50KSB7XG4gICAgICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDtcbiAgICAgICAgICAgICAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAubG9nbyB7XG4gICAgICAgICAgICBoZWlnaHQ6IHJlbSg1MCk7XG4gICAgICAgICAgICBtYXJnaW46IDAgcmVtKDUpO1xuICAgICAgICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyO1xuICAgICAgICAgICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICAgICAgICAgIGJhY2tncm91bmQtc2l6ZTogY29udGFpbjtcblxuICAgICAgICAgICAgQG1lZGlhIGFsbCBhbmQgKG1heC13aWR0aDogJG1kLWJyZWFrcG9pbnQpIHtcbiAgICAgICAgICAgICAgICBmbGV4LXNocmluazogMTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgICYtZmxldGNoZXIge1xuICAgICAgICAgICAgICAgIHdpZHRoOnJlbSgyNTApO1xuICAgICAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCgnL2ltYWdlcy9GbGV0Y2hlcl9TdGVlbF9SX1RhZ19XaGl0ZS5zdmcnKTtcblxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAmLWJzaSB7XG4gICAgICAgICAgICAgICAgd2lkdGg6cmVtKDUwKTtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJy9pbWFnZXMvQlNJLnN2ZycpO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAmLWlhbnoge1xuICAgICAgICAgICAgICAgIHdpZHRoOnJlbSgxMDApO1xuICAgICAgICAgICAgICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJy9pbWFnZXMvSUFOWi5zdmcnKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbiAgICAuZm9vdGVyX19jb3B5cmlnaHR7XG4gICAgICAgIGZvbnQtc2l6ZTpyZW0oMTQpO1xuICAgICAgICBsaW5lLWhlaWdodDoxLjY3O1xuICAgICAgICB0ZXh0LWFsaWduOmxlZnQ7XG5cbiAgICAgICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cChsZyl7XG4gICAgICAgICAgICB0ZXh0LWFsaWduOnJpZ2h0O1xuICAgICAgICB9XG4gICAgfVxuICAgIC5mb290ZXJfX21lbnV7XG4gICAgICAgIGxpe1xuICAgICAgICAgICAgcG9zaXRpb246cmVsYXRpdmU7XG4gICAgICAgICAgICBkaXNwbGF5OmlubGluZTtcbiAgICAgICAgICAgIHBhZGRpbmc6MCByZW0oOCk7XG5cbiAgICAgICAgICAgICY6YWZ0ZXJ7XG4gICAgICAgICAgICAgICAgcG9zaXRpb246YWJzb2x1dGU7XG4gICAgICAgICAgICAgICAgdG9wOjFweDtcbiAgICAgICAgICAgICAgICByaWdodDowO1xuICAgICAgICAgICAgICAgIGJvdHRvbTo0cHg7XG4gICAgICAgICAgICAgICAgZGlzcGxheTpibG9jaztcbiAgICAgICAgICAgICAgICBib3JkZXItbGVmdDoxcHggc29saWQgJHdoaXRlO1xuICAgICAgICAgICAgICAgIGNvbnRlbnQ6Jyc7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAmOmZpcnN0LWNoaWxke1xuXG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC1kb3duKGxnKXtcbiAgICAgICAgICAgICAgICAgICAgcGFkZGluZy1sZWZ0OjA7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgJjpsYXN0LWNoaWxke1xuICAgICAgICAgICAgICAgIHBhZGRpbmctcmlnaHQ6MDtcblxuICAgICAgICAgICAgICAgICY6YWZ0ZXJ7XG4gICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6bm9uZTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgYXtcbiAgICAgICAgICAgIGNvbG9yOiR3aGl0ZTtcbiAgICAgICAgfVxuICAgIH1cbiAgICAuZm9vdGVyX190YWJze1xuICAgICAgICBwb3NpdGlvbjpyZWxhdGl2ZTtcbiAgICAgICAgcGFkZGluZy1ib3R0b206cmVtKDc5KTtcbiAgICAgICAgYmFja2dyb3VuZDokYmxhY2s7XG5cbiAgICAgICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cChtZCl7XG4gICAgICAgICAgICBwYWRkaW5nLWJvdHRvbTpyZW0oNjYpO1xuICAgICAgICB9XG5cbiAgICAgICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cChsZyl7XG4gICAgICAgICAgICBwYWRkaW5nLWJvdHRvbTpyZW0oNTApO1xuICAgICAgICB9XG5cbiAgICAgICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cCh4bCl7XG4gICAgICAgICAgICBwYWRkaW5nLWJvdHRvbTpyZW0oMCk7XG4gICAgICAgIH1cblxuICAgICAgICAuZm9vdGVyX190YWJ7XG4gICAgICAgICAgICBjb2xvcjokd2hpdGU7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiRvcmFuZ2UtbGlnaHQ7XG4gICAgICAgIH1cbiAgICAgICAgLmZvb3Rlcl9fdGFicy1jb250ZW50e1xuICAgICAgICAgICAgcGFkZGluZy10b3A6cmVtKDExKTtcbiAgICAgICAgICAgIHBhZGRpbmctYm90dG9tOnJlbSgzMyk7XG5cbiAgICAgICAgICAgIHB7XG4gICAgICAgICAgICAgICAgbWFyZ2luOnJlbSgxMykgMDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGJ7XG4gICAgICAgICAgICAgICAgZm9udC1mYW1pbHk6JFBsdXRvU2Fuc0NvbmQ7XG4gICAgICAgICAgICAgICAgZm9udC13ZWlnaHQ6bm9ybWFsO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgLmJ1dHRvbntcbiAgICAgICAgICAgICAgICBwb3NpdGlvbjpyZWxhdGl2ZTtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OmlubGluZS1ibG9jaztcbiAgICAgICAgICAgICAgICBtYXJnaW46cmVtKDUpIDAgcmVtKDEwKTtcblxuICAgICAgICAgICAgICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAobWQpe1xuICAgICAgICAgICAgICAgICAgICBkaXNwbGF5Om5vbmU7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgLmRlc2t0b3AtbGlua3tcbiAgICAgICAgICAgICAgICBkaXNwbGF5Om5vbmU7XG4gICAgICAgICAgICAgICAgZm9udC1mYW1pbHk6JFBsdXRvU2Fuc0NvbmQ7XG5cbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKG1kKXtcbiAgICAgICAgICAgICAgICAgICAgZGlzcGxheTppbmxpbmU7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgLmZvb3Rlcl9fdGFicy1jb250ZW50X19pbnZvaWNle1xuICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206cmVtKC0xMyk7XG5cbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKG1kKXtcbiAgICAgICAgICAgICAgICAgICAgbGluZS1oZWlnaHQ6JGdlbmVyYWwtbGluZS1oZWlnaHQ7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIGF7XG4gICAgICAgICAgICBjb2xvcjokd2hpdGU7XG4gICAgICAgICAgICB0ZXh0LWRlY29yYXRpb246bm9uZTtcbiAgICAgICAgfVxuICAgICAgICBidXR0b257XG4gICAgICAgICAgICBtYXJnaW4tdG9wOnJlbSgyMCk7XG5cbiAgICAgICAgICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAobGcpe1xuICAgICAgICAgICAgICAgIHBvc2l0aW9uOmFic29sdXRlO1xuICAgICAgICAgICAgICAgIGJvdHRvbToxMDAlO1xuICAgICAgICAgICAgICAgIG1hcmdpbjowO1xuICAgICAgICAgICAgICAgIGJvcmRlci1ib3R0b206bm9uZTtcblxuICAgICAgICAgICAgICAgICYjZm9vdGVyQ3JlZGl0e1xuICAgICAgICAgICAgICAgICAgICBtYXJnaW4tbGVmdDpyZW0oMjM2KTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgJiNmb290ZXJDZXJ0aWZpY2F0ZXN7XG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbi1sZWZ0OnJlbSg0NzIpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAuYnV0dG9uLS1tYWlsaW5ne1xuXG5cblxuICAgICAgICB9XG4gICAgICAgIC5idXR0b257XG4gICAgICAgICAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LWRvd24obWQpe1xuICAgICAgICAgICAgICAgIHdpZHRoOjEwMCUgIWltcG9ydGFudDtcbiAgICAgICAgICAgICAgICBtYXgtd2lkdGg6bm9uZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbn1cbiIsIi5nZW5lcmljLWNvbnRlbnR7XG4gICAgbWFyZ2luLXJpZ2h0OiRhZGRpdGlvbmFsLWdhcDtcbiAgICBtYXJnaW4tYm90dG9tOnJlbSg0MCk7XG4gICAgbWFyZ2luLWxlZnQ6JGFkZGl0aW9uYWwtZ2FwO1xuICAgIGZvbnQtc2l6ZTpyZW0oJGdlbmVyYWwtZm9udC1zaXplKTtcbiAgICBsaW5lLWhlaWdodDokZ2VuZXJhbC1saW5lLWhlaWdodDtcbiAgICBib3JkZXItYm90dG9tOjJweCBzb2xpZCAkZ3JheS1saWdodDtcblxuICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAoc20pe1xuICAgICAgICBtYXJnaW4tcmlnaHQ6MDtcbiAgICAgICAgbWFyZ2luLWxlZnQ6MDtcbiAgICB9XG4gICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cChsZyl7XG4gICAgICAgIHBhZGRpbmctcmlnaHQ6JGdlbmVyaWMtY29udGVudC1nYXA7XG4gICAgICAgIG1hcmdpbi1ib3R0b206MDtcbiAgICAgICAgYm9yZGVyLWJvdHRvbTpub25lO1xuICAgIH1cblxuICAgID5kaXZ7XG4gICAgICAgIG1hcmdpbjpyZW0oNjUpIDA7XG5cbiAgICAgICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cChsZyl7XG4gICAgICAgICAgICBtYXJnaW46cmVtKDc1KSAwO1xuICAgICAgICB9XG5cbiAgICAgICAgJjpmaXJzdC1jaGlsZHtcbiAgICAgICAgICAgIG1hcmdpbi10b3A6MDtcbiAgICAgICAgfVxuICAgICAgICAmOmxhc3QtY2hpbGR7XG4gICAgICAgICAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LWRvd24obGcpe1xuICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206cmVtKDUwKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAmLmJ1dHRvbnN7XG4gICAgICAgICAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKG1kKXtcbiAgICAgICAgICAgICAgICBtYXJnaW4tdG9wOnJlbSgtMzUpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuICAgIGltZ3tcbiAgICAgICAgd2lkdGg6MTAwJTtcbiAgICB9XG4gICAgcHtcbiAgICAgICAgbWFyZ2luOjA7XG4gICAgfVxuICAgIC5yaWNoLXRleHR7XG4gICAgICAgICYucmljaC10ZXh0LS1vcmFuZ2V7XG4gICAgICAgICAgICBjb2xvcjokb3JhbmdlO1xuICAgICAgICAgICAgZm9udC1mYW1pbHk6JFBsdXRvU2Fuc0NvbmQ7XG4gICAgICAgICAgICBmb250LXNpemU6cmVtKDMyKTtcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OjEuMDU7XG4gICAgICAgIH1cblxuICAgICAgICB1bCxcbiAgICAgICAgb2x7XG4gICAgICAgICAgICBwYWRkaW5nLWxlZnQ6cmVtKDQwKTtcbiAgICAgICAgICAgIG1hcmdpbjpyZW0oMjApIDA7XG4gICAgICAgIH1cbiAgICAgICAgdWx7XG4gICAgICAgICAgICBsaXN0LXN0eWxlOnNxdWFyZTtcbiAgICAgICAgfVxuICAgIH1cbiAgICAuaW1hZ2UtdGV4dCxcbiAgICAudGV4dC1pbWFnZXtcbiAgICAgICAgJi0tb3Jhbmdle1xuICAgICAgICAgICAgY29sb3I6JG9yYW5nZTtcbiAgICAgICAgICAgIGZvbnQtZmFtaWx5OiRQbHV0b1NhbnNDb25kO1xuICAgICAgICAgICAgZm9udC1zaXplOnJlbSgzMik7XG4gICAgICAgICAgICBsaW5lLWhlaWdodDoxLjA1O1xuICAgICAgICB9XG4gICAgICAgIGltZ3tcbiAgICAgICAgICAgIGRpc3BsYXk6YmxvY2s7XG4gICAgICAgIH1cbiAgICB9XG4gICAgLmltYWdlLXRleHR7XG4gICAgICAgIGltZ3tcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206cmVtKDYwKTtcblxuICAgICAgICAgICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cChsZyl7XG4gICAgICAgICAgICAgICAgbWFyZ2luOjA7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG4gICAgLnRleHQtaW1hZ2V7XG4gICAgICAgIGgxLGgyLGgzLGg0LGg1LGg2e1xuICAgICAgICAgICAgcGFkZGluZy1ib3R0b206cmVtKDE3KTtcbiAgICAgICAgICAgIG1hcmdpbi10b3A6MDtcbiAgICAgICAgICAgIGNvbG9yOiRibGFjaztcbiAgICAgICAgfVxuXG4gICAgICAgIGltZ3tcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206cmVtKDU1KTtcblxuICAgICAgICAgICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cChsZyl7XG4gICAgICAgICAgICAgICAgbWFyZ2luOjA7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG4gICAgLnZpZGVvLWhvbGRlcntcbiAgICAgICAgaDJ7XG4gICAgICAgICAgICBwYWRkaW5nLWJvdHRvbTpyZW0oMTUpO1xuICAgICAgICB9XG4gICAgICAgIC52aWRlby1ob2xkZXJfX3dyYXBwZXJ7XG4gICAgICAgICAgICBwb3NpdGlvbjpyZWxhdGl2ZTtcbiAgICAgICAgICAgIG92ZXJmbG93OmhpZGRlbjtcbiAgICAgICAgICAgIGNvbG9yOiR3aGl0ZTtcblxuICAgICAgICAgICAgc3BhbntcbiAgICAgICAgICAgICAgICBwb3NpdGlvbjphYnNvbHV0ZTtcbiAgICAgICAgICAgICAgICB0b3A6NTAlO1xuICAgICAgICAgICAgICAgIGxlZnQ6NTAlO1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6YmxvY2s7XG4gICAgICAgICAgICAgICAgd2lkdGg6cmVtKDExMCk7XG4gICAgICAgICAgICAgICAgaGVpZ2h0OnJlbSgxMTApO1xuICAgICAgICAgICAgICAgIGN1cnNvcjpwb2ludGVyO1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6dXJsKFwiL2ltYWdlcy9wbGF5LWJ1dHRvbi5zdmdcIikgMCAwIG5vLXJlcGVhdDtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLXNpemU6cmVtKDExMCkgcmVtKDExMCk7XG4gICAgICAgICAgICAgICAgdHJhbnNmb3JtOnRyYW5zbGF0ZSgtNTAlLCAtNTAlKTtcblxuICAgICAgICAgICAgICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAobGcpe1xuICAgICAgICAgICAgICAgICAgICB3aWR0aDpyZW0oMTUwKTtcbiAgICAgICAgICAgICAgICAgICAgaGVpZ2h0OnJlbSgxNTApO1xuICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLXNpemU6cmVtKDE1MCkgcmVtKDE1MCk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuICAgIC5idXR0b25ze1xuICAgICAgICAuYnV0dG9ue1xuICAgICAgICAgICAgd2lkdGg6MTAwJTtcbiAgICAgICAgICAgIG1hcmdpbjowIDAgcmVtKDIwKTtcblxuICAgICAgICAgICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cChtZCl7XG4gICAgICAgICAgICAgICAgd2lkdGg6YXV0bztcbiAgICAgICAgICAgICAgICBtYXJnaW46cmVtKDM1KSByZW0oMzUpIDAgMDtcblxuICAgICAgICAgICAgICAgICY6bGFzdC1jaGlsZHtcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OjA7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxufSIsIiRpdGVtQnJlYWtwb2ludDogJG1kLWJyZWFrcG9pbnQ7XG5cbi5ob21lLWxvY2F0aW9ucyB7XG4gICAgcGFkZGluZzogcmVtKDQ3KSByZW0oMTIpIHJlbSgzNSk7XG4gICAgQG1lZGlhIGFsbCBhbmQgKG1pbi13aWR0aDogJGl0ZW1CcmVha3BvaW50KSB7XG4gICAgICAgIHBhZGRpbmc6IHJlbSgxMDApIDAgcmVtKDg1KTtcbiAgICB9XG5cbiAgICBoMiB7XG4gICAgICAgIHBhZGRpbmctcmlnaHQ6IDExJTtcbiAgICAgICAgbWFyZ2luOiByZW0oNSkgMCByZW0oMjApO1xuICAgICAgICBjb2xvcjogJG9yYW5nZTtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDEuMTtcbiAgICAgICAgQG1lZGlhIGFsbCBhbmQgKG1pbi13aWR0aDogJGl0ZW1CcmVha3BvaW50KSB7XG4gICAgICAgICAgICBtYXJnaW46IHJlbSg1KSAwIHJlbSgxNSk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBhLmxvY2F0aW9uLWxpbmsge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgbWFyZ2luOiByZW0oMTUpIDA7XG4gICAgICAgIGZvbnQtc2l6ZTogcmVtKDI0KTtcbiAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgICAgICBAbWVkaWEgYWxsIGFuZCAobWluLXdpZHRoOiAkaXRlbUJyZWFrcG9pbnQpIHtcbiAgICAgICAgICAgIG1hcmdpbjogcmVtKDE1KSAwO1xuICAgICAgICB9XG5cbiAgICAgICAgLmljb24tYXJyb3cge1xuICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgICAgIEBtZWRpYSBhbGwgYW5kIChtaW4td2lkdGg6ICRpdGVtQnJlYWtwb2ludCkge1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbn1cbiIsIi5tYWlsaW5ne1xuICAgICZfX3dyYXBwZXJ7XG4gICAgICAgIHBvc2l0aW9uOmZpeGVkO1xuICAgICAgICByaWdodDowO1xuICAgICAgICBib3R0b206MDtcbiAgICAgICAgei1pbmRleDogOTtcbiAgICAgICAgZGlzcGxheTpmbGV4O1xuICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgICB3aWR0aDoxMDAlO1xuICAgICAgICBjdXJzb3I6cG9pbnRlcjtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjokZ3JheS1saWdodDtcblxuICAgICAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKG1kKXtcblxuICAgICAgICB9XG5cbiAgICAgICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cCh4bCl7XG4gICAgICAgICAgICBtYXgtd2lkdGg6cmVtKDQ1MCk7XG4gICAgICAgICAgICBwYWRkaW5nLWJvdHRvbTowO1xuICAgICAgICB9XG5cbiAgICAgICAgJi5pcy1hY3RpdmV7XG4gICAgICAgICAgICAubWFpbGluZ19fZm9ybXtcbiAgICAgICAgICAgICAgICBtYXgtaGVpZ2h0OjUwMHB4O1xuICAgICAgICAgICAgICAgIHRyYW5zaXRpb246IG1heC1oZWlnaHQgMXMgZWFzZS1pbjtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIC5tYWlsaW5nX19idXR0b257XG4gICAgICAgICAgICAgICAgLmljb24tY2hldnJvbi11cHtcbiAgICAgICAgICAgICAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoMTgwZGVnKTtcbiAgICAgICAgICAgICAgICAgICAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDAuMjVzIGVhc2UtaW47XG5cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgfVxuXG4gICAgfVxuICAgICZfX2J1dHRvbntcbiAgICAgICAgZGlzcGxheTpmbGV4O1xuICAgICAgICBhbGlnbi1pdGVtczpjZW50ZXI7XG4gICAgICAgIGFsaWduLXNlbGY6IGNlbnRlcjtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBoZWlnaHQ6IHJlbSg1MCk7XG4gICAgICAgIG1heC13aWR0aDogcmVtKDM1MCk7XG5cbiAgICAgICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gICAgICAgIHRyYW5zaXRpb246IGFsbCAwLjVzIGVhc2UtaW47XG4gICAgICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAoeGwpe1xuICAgICAgICAgICAgYWxpZ24tc2VsZjogdW5zZXQ7XG4gICAgICAgICAgICBwYWRkaW5nLWxlZnQ6IHJlbSg2MCk7XG4gICAgICAgIH1cbiAgICAgICAgJi5pcy1hY3RpdmV7XG4gICAgICAgICAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKHhsKSB7XG4gICAgICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgLy9wYWRkaW5nLXRvcDpyZW0oNTEpO1xuICAgICAgICAgICAgLy9wYWRkaW5nLWJvdHRvbTpyZW0oMTYpO1xuXG4gICAgICAgICAgICB0cmFuc2l0aW9uOiBhbGwgMC41cyBlYXNlLWluO1xuXG4gICAgICAgICAgICAudGV4dHtcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKHhsKSB7XG4gICAgICAgICAgICAgICAgICAgIHdpZHRoOjEwMCU7XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgdHJhbnNpdGlvbjogYWxsIDAuNXMgZWFzZS1pbjtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAudGV4dHtcbiAgICAgICAgICAgIHdpZHRoOmF1dG87XG4gICAgICAgICAgICBwYWRkaW5nLXJpZ2h0OjIwcHg7XG4gICAgICAgICAgICB0cmFuc2l0aW9uOiBhbGwgMC41cyBlYXNlLWluO1xuICAgICAgICB9XG4gICAgICAgIC5pY29uLWNoZXZyb24tdXB7XG4gICAgICAgICAgICBmb250LXNpemU6IHJlbSgxMCk7XG4gICAgICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgwZGVnKTtcbiAgICAgICAgICAgIHRyYW5zaXRpb246IHRyYW5zZm9ybSAwLjI1cyBlYXNlLWluO1xuXG4gICAgICAgIH1cbiAgICB9XG5cblxuICAgICZfX2Zvcm0ge1xuICAgICAgICBtYXgtaGVpZ2h0OjA7XG4gICAgICAgIHBhZGRpbmc6IHJlbSgwKSByZW0oNjApIHJlbSgwKSByZW0oNjApO1xuICAgICAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKG1kKXtcbiAgICAgICAgICAgIHBhZGRpbmc6IHJlbSgwKSByZW0oNjApIHJlbSgwKSByZW0oNjApO1xuICAgICAgICB9XG5cbiAgICAgICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cChsZyl7XG4gICAgICAgICAgICBwYWRkaW5nLWJvdHRvbTowO1xuICAgICAgICB9XG5cbiAgICAgICAgdHJhbnNpdGlvbjogbWF4LWhlaWdodCAxcyBlYXNlLW91dDtcblxuICAgICAgICAuZm9ybS1ncm91cCB7XG4gICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jazsgIC8vIC5yb3cgaXMgZmxleCBpbiBib290c3RyYXAuXG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IHJlbSgyMCk7XG4gICAgICAgICAgICAvL2JhY2tncm91bmQ6IHJnYmEoMjU1LCAwLCAwLCAwLjEpO1xuICAgICAgICAgICAgLmNvbC1mb3JtLWxhYmVsIHtcbiAgICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICAgICAgcGFkZGluZzogcmVtKDE5KSByZW0oMjUpO1xuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtKDIwKTtcbiAgICAgICAgICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgICAgICAgICAgICAgIHRyYW5zaXRpb246IGFsbCAwLjVzO1xuXG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cCgkaXRlbUJyZWFrcG9pbnQpIHtcbiAgICAgICAgICAgICAgICAgICAgcGFkZGluZzogcmVtKDE1KTtcbiAgICAgICAgICAgICAgICAgICAgZm9udC1zaXplOiByZW0oMTYpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLmZvcm0tY29udHJvbCB7XG4gICAgICAgICAgICAgICAgbWluLWhlaWdodDogcmVtKDUwKTtcbiAgICAgICAgICAgICAgICBwYWRkaW5nOiByZW0oMTkpIHJlbSgxNCkgcmVtKDE1KTtcbiAgICAgICAgICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgICAgICAgICAgZm9udC1mYW1pbHk6ICRQbHV0b1NhbnNDb25kO1xuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtKDIwKTtcbiAgICAgICAgICAgICAgICBmb250LXdlaWdodDogNTAwO1xuICAgICAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiByZW0oMjApO1xuICAgICAgICAgICAgICAgIGJvcmRlcjogMXB4IHNvbGlkICRibGFjaztcbiAgICAgICAgICAgICAgICBib3JkZXItcmFkaXVzOiAwO1xuICAgICAgICAgICAgICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAoJGl0ZW1CcmVha3BvaW50KSB7XG4gICAgICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtKDE2KTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC5mb3JtLWVycm9yLW1lc3NhZ2Uge1xuICAgICAgICAgICAgICAgIHBhZGRpbmc6IHJlbSgxMCkgcmVtKDIyKTtcbiAgICAgICAgICAgICAgICBjb2xvcjogJHdoaXRlO1xuICAgICAgICAgICAgICAgIGZvbnQtZmFtaWx5OiAkUGx1dG9TYW5zQ29uZDtcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IHJlbSgxNyk7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZDogJG9yYW5nZTtcbiAgICAgICAgICAgIH1cblxuXG4gICAgICAgICAgICAvLyBzdWJtaXQgYnV0dG9uIGdyb3VwXG4gICAgICAgICAgICAmOmxhc3QtY2hpbGQge1xuICAgICAgICAgICAgICAgIG1hcmdpbi10b3A6IHJlbSgzNSk7XG5cbiAgICAgICAgICAgICAgICAuaWNvbi1hcnJvdyB7XG5cbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAuYnV0dG9uIHtcbiAgICAgICAgICAgICAgICAgICAgbWluLXdpZHRoOiByZW0oMjEwKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC8vIHdoZW4gZmllbGQgaXMgZm9jdXNlZCBvciBpc24ndCBlbXB0eVxuICAgICAgICAgICAgJi5hY3RpdmUgLmNvbC1mb3JtLWxhYmVsIHtcbiAgICAgICAgICAgICAgICBwYWRkaW5nOiByZW0oNSkgcmVtKDE0KTtcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IHJlbSg4KTtcbiAgICAgICAgICAgIH1cblxuXG4gICAgICAgIH1cblxuXG4gICAgICAgIC5mb3JtLWdyb3VwX19yZWNhcHRjaGEge1xuICAgICAgICAgICAgLnJlY2FwdGNoYSB7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgICAgICAgICAgICBtYXJnaW4tdG9wOiByZW0oMzApO1xuICAgICAgICAgICAgICAgIC8vIGZpdCB0aGUgcmVjYXB0Y2hhIGZvciAzMjBweCB3aWR0aFxuICAgICAgICAgICAgICAgIHRyYW5zZm9ybTogc2NhbGUoMC44Nyk7XG4gICAgICAgICAgICAgICAgQG1lZGlhIGFsbCBhbmQgKG1pbi13aWR0aDogJHJlY2FwdGNoYS1icmVha3BvaW50KSB7XG4gICAgICAgICAgICAgICAgICAgIHRyYW5zZm9ybTogbm9uZTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgQG1lZGlhIGFsbCBhbmQgKG1pbi13aWR0aDogJG1kLWJyZWFrcG9pbnQpIHtcbiAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2sgIWltcG9ydGFudDtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAuZm9ybS1lcnJvci1tZXNzYWdlIHtcbiAgICAgICAgICAgICAgICBtYXJnaW4tdG9wOiByZW0oMTApO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxufSIsIiRpdGVtQnJlYWtwb2ludDogJHhsLWJyZWFrcG9pbnQ7XG4kaXRlbUltYWdlQnJlYWtwb2ludDogJG1kLWJyZWFrcG9pbnQ7XG4kdGhpcmRJdGVtQnJlYWtwb2ludDogJHh4bC1icmVha3BvaW50O1xuXG4uaG9tZS1uZXdzIHtcbiAgICBwYWRkaW5nOiByZW0oMjApIHJlbSgxMik7XG4gICAgQG1lZGlhIGFsbCBhbmQgKG1pbi13aWR0aDogJGl0ZW1CcmVha3BvaW50KSB7XG4gICAgICAgIHBhZGRpbmc6IHJlbSg5MCkgMDtcbiAgICB9XG5cbiAgICBoMiB7XG4gICAgICAgIG1hcmdpbjogcmVtKDM1KSAwIDA7XG4gICAgICAgIEBtZWRpYSBhbGwgYW5kIChtaW4td2lkdGg6ICRpdGVtQnJlYWtwb2ludCkge1xuICAgICAgICAgICAgbWFyZ2luOiByZW0oMzUpIDA7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAuY29sLWl0ZW1zIHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgZmxleC1mbG93OiByb3cgd3JhcDtcbiAgICAgICAgcGFkZGluZzogMCByZW0oMTcpIDAgcmVtKDE1KTtcbiAgICAgICAgQG1lZGlhIGFsbCBhbmQgKG1pbi13aWR0aDogJGl0ZW1CcmVha3BvaW50KSB7XG4gICAgICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLnJvdy1tb3JlIHtcbiAgICAgICAgbWFyZ2luOiByZW0oNSkgcmVtKC0xNSkgcmVtKDQ1KTtcbiAgICAgICAgQG1lZGlhIGFsbCBhbmQgKG1pbi13aWR0aDogJGl0ZW1CcmVha3BvaW50KSB7XG4gICAgICAgICAgICBtYXJnaW46IHJlbSg0MCkgMCByZW0oMzApO1xuICAgICAgICB9XG4gICAgfVxuICAgIC5ob21lLW5ld3NfX3BhZ2luYXRpb257XG4gICAgICAgIHBhZGRpbmc6cmVtKDEwKSAwIDA7XG4gICAgICAgIG1hcmdpbi1ib3R0b206cmVtKDMwKTtcbiAgICAgICAgdGV4dC1hbGlnbjpjZW50ZXI7XG5cbiAgICAgICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cChtZCl7XG4gICAgICAgICAgICBwYWRkaW5nOnJlbSg1MCkgMCByZW0oNDUpO1xuICAgICAgICAgICAgYmFja2dyb3VuZDokb3JhbmdlO1xuICAgICAgICB9XG5cbiAgICAgICAgLmJ1dHRvbntcbiAgICAgICAgICAgIHdpZHRoOjEwMCU7XG5cbiAgICAgICAgICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAobWQpe1xuICAgICAgICAgICAgICAgIHdpZHRoOnJlbSgzMjApO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgJjpsYXN0LWNoaWxke1xuICAgICAgICAgICAgICAgIG1hcmdpbi10b3A6cmVtKDMwKTtcblxuICAgICAgICAgICAgICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAobGcpe1xuICAgICAgICAgICAgICAgICAgICBtYXJnaW4tbGVmdDpyZW0oODApO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKG1kKXtcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luLXRvcDowO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cblxuICAgICAgICB9XG4gICAgfVxufVxuXG4vLyBpbmRpdmlkdWFsIGNhcmQgZm9yIG5ld3MtbGlzdCBpdGVtXG4ubmV3cy1pdGVtIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXg6IDEgMCAxMDAlO1xuICAgIGZsZXgtZmxvdzogcm93IHdyYXA7XG4gICAgbWFyZ2luLXRvcDogcmVtKDE1KTtcbiAgICBib3JkZXI6IDFweCBzb2xpZCAkZ3JheS1kYXJrO1xuICAgIEBtZWRpYSBhbGwgYW5kIChtaW4td2lkdGg6ICRpdGVtQnJlYWtwb2ludCkge1xuICAgICAgICBmbGV4OiAxIDAgNTAlO1xuICAgICAgICBoZWlnaHQ6IHJlbSg1MDApO1xuICAgICAgICBtYXJnaW4tdG9wOiAwO1xuICAgICAgICBib3JkZXItcmlnaHQ6IG5vbmU7XG4gICAgICAgIGJvcmRlci1sZWZ0OiBub25lO1xuICAgIH1cbiAgICBAbWVkaWEgYWxsIGFuZCAobWluLXdpZHRoOiAkdGhpcmRJdGVtQnJlYWtwb2ludCkge1xuICAgICAgICBmbGV4OiAxIDAgMzMuMzMzMyU7XG4gICAgfVxuXG4gICAgJl9faW1hZ2Uge1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIGZsZXg6IDEgMCAxMDAlO1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgaGVpZ2h0OiByZW0oMjI1KTtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGdyYXktbGlnaHQ7XG4gICAgICAgIGJhY2tncm91bmQtc2l6ZTogY292ZXIgIWltcG9ydGFudDtcbiAgICAgICAgQG1lZGlhIGFsbCBhbmQgKG1pbi13aWR0aDogJGl0ZW1JbWFnZUJyZWFrcG9pbnQpIHtcbiAgICAgICAgICAgIGZsZXg6IDEgMCA1MCU7XG4gICAgICAgICAgICBvcmRlcjogMjtcbiAgICAgICAgICAgIGhlaWdodDogYXV0bztcbiAgICAgICAgfVxuXG4gICAgICAgIC8vIGltYWdlIG92ZXJsYXkgb24gaG92ZXIuXG4gICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgICAgIGJhY2tncm91bmQ6IHJnYmEoMCwgMCwgMCwgMC41KTtcbiAgICAgICAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgICB9XG4gICAgfVxuICAgICZfX2Rlc2NyaXB0aW9uIHtcbiAgICAgICAgZmxleDogMSAwIDEwMCU7XG4gICAgICAgIGZsZXgtZmxvdzogcm93IHdyYXA7XG4gICAgICAgIC8vcGFkZGluZzogcmVtKDIyKSByZW0oMjUpO1xuICAgICAgICBAbWVkaWEgYWxsIGFuZCAobWluLXdpZHRoOiAkaXRlbUltYWdlQnJlYWtwb2ludCkge1xuICAgICAgICAgICAgZmxleDogMSAwIDUwJTtcbiAgICAgICAgICAgIC8vcGFkZGluZzogcmVtKDYyKSByZW0oNTUpO1xuICAgICAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgfVxuXG4gICAgICAgICYtLWhlYWRlciB7XG4gICAgICAgICAgICBwYWRkaW5nOiByZW0oMjIpIHJlbSgyNSkgMDtcbiAgICAgICAgICAgIEBtZWRpYSBhbGwgYW5kIChtaW4td2lkdGg6ICRpdGVtSW1hZ2VCcmVha3BvaW50KSB7XG4gICAgICAgICAgICAgICAgcGFkZGluZzogcmVtKDYyKSByZW0oNTUpIDA7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIGEge1xuICAgICAgICAgICAgICAgIG1hcmdpbi1yaWdodDogcmVtKDEwKTtcbiAgICAgICAgICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgICAgICAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAmLS1jb250ZW50IHtcbiAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0O1xuICAgICAgICAgICAgcGFkZGluZzogMCByZW0oMjUpO1xuICAgICAgICAgICAgbWFyZ2luOiByZW0oMjUpIDAgcmVtKDMwKTtcbiAgICAgICAgICAgIEBtZWRpYSBhbGwgYW5kIChtaW4td2lkdGg6ICRpdGVtQnJlYWtwb2ludCkge1xuICAgICAgICAgICAgICAgIGhlaWdodDogcmVtKDE4MCk7XG4gICAgICAgICAgICAgICAgcGFkZGluZzogMCByZW0oNTUpO1xuICAgICAgICAgICAgICAgIG1hcmdpbjogcmVtKDUwKSAwIHJlbSg0MCk7XG4gICAgICAgICAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgaDMge1xuICAgICAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAxO1xuICAgICAgICAgICAgICAgIEBtZWRpYSBhbGwgYW5kIChtaW4td2lkdGg6ICRpdGVtQnJlYWtwb2ludCkge1xuICAgICAgICAgICAgICAgICAgICBoZWlnaHQ6IHJlbSgxMDApO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIC5pbnRybyB7XG4gICAgICAgICAgICAgICAgbWFyZ2luLXRvcDogcmVtKDE1KTtcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IHJlbSgyMCk7XG4gICAgICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDEuMTU7XG5cbiAgICAgICAgICAgICAgICBAbWVkaWEgYWxsIGFuZCAobWluLXdpZHRoOiAkaXRlbUJyZWFrcG9pbnQpIHtcbiAgICAgICAgICAgICAgICAgICAgaGVpZ2h0OiByZW0oNzApO1xuICAgICAgICAgICAgICAgICAgICBtYXJnaW4tdG9wOiAwO1xuICAgICAgICAgICAgICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAmLS1mb290ZXIge1xuICAgICAgICAgICAgcGFkZGluZzogMCByZW0oMjUpIHJlbSgyMik7XG4gICAgICAgICAgICBAbWVkaWEgYWxsIGFuZCAobWluLXdpZHRoOiAkaXRlbUltYWdlQnJlYWtwb2ludCkge1xuICAgICAgICAgICAgICAgIHBhZGRpbmc6IDAgcmVtKDU1KSByZW0oNjIpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLmRhdGUge1xuICAgICAgICAgICAgZm9udC1mYW1pbHk6ICRQbHV0b1NhbnNDb25kO1xuICAgICAgICAgICAgZm9udC1zaXplOiByZW0oMTcpO1xuICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgICAgICAgfVxuICAgICAgICAuY2F0ZWdvcnkge1xuICAgICAgICAgICAgaGVpZ2h0OiByZW0oMjIpO1xuICAgICAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICAgICAgZm9udC1zaXplOiByZW0oMTYpO1xuICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICAgICAgICAgIGxldHRlci1zcGFjaW5nOiAwLjU7XG4gICAgICAgICAgICBAbWVkaWEgYWxsIGFuZCAobWluLXdpZHRoOiAkaXRlbUJyZWFrcG9pbnQpIHtcbiAgICAgICAgICAgICAgICBtYXJnaW46IHJlbSgzKSAwO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgJjpob3ZlciB7XG4gICAgICAgIGJhY2tncm91bmQ6ICRvcmFuZ2U7XG5cbiAgICAgICAgLm5ld3MtaXRlbV9faW1hZ2U6YmVmb3JlIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICB9XG5cbiAgICAgICAgLmJ1dHRvbi5vcmFuZ2Uge1xuICAgICAgICAgICAgY29sb3I6ICRvcmFuZ2U7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiAkYmxhY2s7XG4gICAgICAgICAgICBib3JkZXItY29sb3I6ICRibGFjaztcbiAgICAgICAgfVxuICAgIH1cblxuICAgICYuaXRlbS1wbGFjZWhvbGRlciB7XG4gICAgICAgIGhlaWdodDogcmVtKDEpO1xuICAgICAgICBvcGFjaXR5OiAwO1xuICAgIH1cbn1cblxuLy8gc2hvdyAxLDIgb3IgMyBpdGVtcyBpbiBob21lcGFnZSwgZGVwZW5kaW5nIG9uIHNjcmVlbiB3aWR0aFxuYm9keS5wYWdlLWNtcy1ob21lIC5jb2wtaXRlbXMgLm5ld3MtaXRlbSB7XG5cbiAgICAmOm50aC1jaGlsZCgyKSB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgIEBtZWRpYSBhbGwgYW5kIChtaW4td2lkdGg6ICRpdGVtQnJlYWtwb2ludCkge1xuICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgfVxuICAgIH1cbiAgICAmOm50aC1jaGlsZCgzKSB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgIEBtZWRpYSBhbGwgYW5kIChtaW4td2lkdGg6ICR0aGlyZEl0ZW1CcmVha3BvaW50KSB7XG4gICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICB9XG4gICAgfVxufVxuIiwiJGl0ZW1CcmVha3BvaW50OiAkbWQtYnJlYWtwb2ludDtcblxuLmhvbWUtcHJvZHVjdHMtYW5kLXNlcnZpY2VzIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBwYWRkaW5nOiByZW0oNjApIHJlbSgxMikgcmVtKDcwKTtcbiAgICBvdmVyZmxvdzogaGlkZGVuOyAvLyBmb3IgdGhlIHN3aXBlciBvdmVyZmxvdy5cbiAgICBAbWVkaWEgYWxsIGFuZCAobWluLXdpZHRoOiAkaXRlbUJyZWFrcG9pbnQpIHtcbiAgICAgICAgcGFkZGluZzogcmVtKDExMCkgMCByZW0oNzApO1xuICAgIH1cblxuICAgIC5yb3ctaW50cm8ge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiByZW0oMjgpO1xuICAgICAgICBAbWVkaWEgYWxsIGFuZCAobWluLXdpZHRoOiAkaXRlbUJyZWFrcG9pbnQpIHtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IHJlbSg3MCk7XG4gICAgICAgIH1cblxuICAgICAgICAuY29sLWludHJvIHtcbiAgICAgICAgICAgIGNvbG9yOiAkb3JhbmdlO1xuICAgICAgICAgICAgZm9udC1zaXplOiByZW0oJGdlbmVyYWwtZm9udC1zaXplLW1vYmlsZSk7XG4gICAgICAgICAgICBsaW5lLWhlaWdodDogJGdlbmVyYWwtbGluZS1oZWlnaHQtbW9iaWxlO1xuICAgICAgICAgICAgQG1lZGlhIGFsbCBhbmQgKG1pbi13aWR0aDogJGl0ZW1CcmVha3BvaW50KSB7XG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiByZW0oJGdlbmVyYWwtZm9udC1zaXplKTtcbiAgICAgICAgICAgICAgICBsaW5lLWhlaWdodDogJGdlbmVyYWwtbGluZS1oZWlnaHQ7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG4gICAgLnJvdy1pdGVtcyB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IHJlbSg1MCk7XG4gICAgICAgIEBtZWRpYSBhbGwgYW5kIChtaW4td2lkdGg6ICRpdGVtQnJlYWtwb2ludCkge1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogcmVtKDcwKTtcbiAgICAgICAgfVxuXG4gICAgICAgIC5jb2wge1xuICAgICAgICAgICAgbWF4LXdpZHRoOiBjYWxjKDEwMCUgKyAyNHB4KTtcbiAgICAgICAgfVxuICAgIH1cbiAgICAucm93LW1vcmUge1xuICAgICAgICAuY29sIHtcbiAgICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcblxuICAgICAgICAgICAgYSB7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICAgICAgICAgIHRyYW5zaXRpb246IGFsbCAwLjJzIGVhc2Utb3V0IDAuMXM7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBhIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIG1hcmdpbjogYXV0bztcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgfVxuXG4gICAgaDIge1xuICAgICAgICBwYWRkaW5nLXJpZ2h0OiAyMCU7XG4gICAgfVxuXG4gICAgLy8gUHJvZHVjdCBJdGVtcyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIC5zd2lwZXItY29udGFpbmVyIHtcbiAgICAgICAgb3ZlcmZsb3c6IHZpc2libGU7XG4gICAgfVxuICAgIC5zd2lwZXItd3JhcHBlciAuc3dpcGVyLXNsaWRlIHtcbiAgICAgICAgLnByb2R1Y3QtY2FyZF9fbWluaSB7XG4gICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICB9XG4gICAgICAgIC5wcm9kdWN0LWNhcmRfX2Rlc2NyaXB0aW9uIHtcbiAgICAgICAgICAgIGJvcmRlci1sZWZ0OiAxcHggc29saWQgJGdyYXktZGFyaztcbiAgICAgICAgfVxuXG4gICAgICAgICY6Zmlyc3QtY2hpbGQgLnByb2R1Y3QtY2FyZF9fZGVzY3JpcHRpb24ge1xuICAgICAgICAgICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuLy8gaW5kaXZpZHVhbCBwcm9kdWN0IGl0ZW1cbi5wcm9kdWN0LWNhcmQge1xuICAgIGJhY2tncm91bmQ6ICRncmF5LWxpZ2h0O1xuICAgIHRyYW5zaXRpb246IGFsbCAwLjJzO1xuXG4gICAgJl9faW1hZ2Uge1xuICAgICAgICBwb3NpdGlvbjpyZWxhdGl2ZTtcbiAgICAgICAgaGVpZ2h0OiByZW0oMjEwKTtcbiAgICAgICAgYmFja2dyb3VuZC1zaXplOiBjb3ZlciAhaW1wb3J0YW50O1xuXG4gICAgICAgIEBtZWRpYSBhbGwgYW5kIChtaW4td2lkdGg6ICRpdGVtQnJlYWtwb2ludCkge1xuICAgICAgICAgICAgaGVpZ2h0OiByZW0oMjUwKTtcbiAgICAgICAgfVxuXG4gICAgICAgICY6YmVmb3Jle1xuICAgICAgICAgICAgcG9zaXRpb246YWJzb2x1dGU7XG4gICAgICAgICAgICB0b3A6MDtcbiAgICAgICAgICAgIHJpZ2h0OjA7XG4gICAgICAgICAgICBib3R0b206MDtcbiAgICAgICAgICAgIGxlZnQ6MDtcbiAgICAgICAgICAgIGRpc3BsYXk6YmxvY2s7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiRibGFjaztcbiAgICAgICAgICAgIGNvbnRlbnQ6Jyc7XG4gICAgICAgICAgICBvcGFjaXR5OjA7XG4gICAgICAgICAgICB0cmFuc2l0aW9uOiBhbGwgMC4ycztcbiAgICAgICAgfVxuICAgIH1cbiAgICAmX19kZXNjcmlwdGlvbiB7XG4gICAgICAgIGhlaWdodDogcmVtKDIxMCk7XG4gICAgICAgIHBhZGRpbmc6IHJlbSgzMCkgcmVtKDEwKTtcbiAgICAgICAgYm9yZGVyLWxlZnQ6IDFweCBzb2xpZCAkZ3JheS1kYXJrO1xuICAgICAgICBAbWVkaWEgYWxsIGFuZCAobWluLXdpZHRoOiAkaXRlbUJyZWFrcG9pbnQpIHtcbiAgICAgICAgICAgIGhlaWdodDogcmVtKDI1MCk7XG4gICAgICAgICAgICAvL3BhZGRpbmc6IHJlbSg0MCkgcmVtKDYwKTtcbiAgICAgICAgICAgIHBhZGRpbmc6IHJlbSg0MCkgcmVtKDIwKTtcbiAgICAgICAgfVxuXG4gICAgICAgIGgzIHtcbiAgICAgICAgICAgIGNvbG9yOiAkb3JhbmdlO1xuICAgICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICB9XG5cbiAgICAgICAgLnRpdGxlIHtcbiAgICAgICAgICAgIGhlaWdodDogcmVtKDcwKTtcbiAgICAgICAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgICAgICAgICBAbWVkaWEgYWxsIGFuZCAobWluLXdpZHRoOiAkaXRlbUJyZWFrcG9pbnQpIHtcbiAgICAgICAgICAgICAgICBoZWlnaHQ6IHJlbSg5NSk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAubGlua3Mge1xuICAgICAgICAgICAgdGV4dC1hbGlnbjpjZW50ZXI7XG5cbiAgICAgICAgICAgID5zcGFue1xuICAgICAgICAgICAgICAgIHRleHQtYWxpZ246Y2VudGVyO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgYSB7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICAgICAgbWFyZ2luOiByZW0oMjApIDA7XG4gICAgICAgICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICAgICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICAgICAgICAgICAgICBAbWVkaWEgYWxsIGFuZCAobWluLXdpZHRoOiAkaXRlbUJyZWFrcG9pbnQpIHtcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luOiByZW0oMjgpIDA7XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgJjpmaXJzdC1jaGlsZCB7XG4gICAgICAgICAgICAgICAgICAgIGZvbnQtZmFtaWx5OiAkUGx1dG9TYW5zQ29uZDtcbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAmOm50aC1jaGlsZCgyKSB7XG4gICAgICAgICAgICAgICAgICAgIHBhZGRpbmctYm90dG9tOiByZW0oNCk7XG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbjogcmVtKDQpIDA7XG4gICAgICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtKCRnZW5lcmFsLWZvbnQtc2l6ZSk7XG4gICAgICAgICAgICAgICAgICAgIEBtZWRpYSBhbGwgYW5kIChtaW4td2lkdGg6ICRpdGVtQnJlYWtwb2ludCkge1xuICAgICAgICAgICAgICAgICAgICAgICAgZm9udC1zaXplOiByZW0oMTIpO1xuICAgICAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAgICAgc3BhbiB7XG4gICAgICAgICAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiByZW0oNCk7XG4gICAgICAgICAgICAgICAgICAgICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgJGdyYXktZGFyaztcbiAgICAgICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuICAgICZfX3NwZWN7XG4gICAgICAgIHBvc2l0aW9uOmFic29sdXRlO1xuICAgICAgICBib3R0b206MDtcbiAgICAgICAgbGVmdDowO1xuICAgICAgICB3aWR0aDoxMDAlO1xuICAgICAgICBwYWRkaW5nOnJlbSgxNikgMDtcbiAgICAgICAgZm9udC1zaXplOnJlbSgxNCk7XG4gICAgICAgIHRleHQtYWxpZ246Y2VudGVyO1xuXG4gICAgICAgIGF7XG4gICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgICAgICB0ZXh0LWRlY29yYXRpb246bm9uZTtcbiAgICAgICAgICAgIGJvcmRlci1ib3R0b206MXB4IHNvbGlkICRibGFjaztcbiAgICAgICAgfVxuICAgIH1cblxuICAgICY6aG92ZXIge1xuICAgICAgICBjb2xvcjogJHdoaXRlO1xuICAgICAgICBiYWNrZ3JvdW5kOiAkYmxhY2s7XG5cbiAgICAgICAgYSB7XG4gICAgICAgICAgICBjb2xvcjogJHdoaXRlO1xuICAgICAgICB9XG5cbiAgICAgICAgLnByb2R1Y3QtY2FyZF9faW1hZ2V7XG4gICAgICAgICAgICAmOmJlZm9yZXtcbiAgICAgICAgICAgICAgICBvcGFjaXR5OjAuNTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC5wcm9kdWN0LWNhcmRfX3NwZWMgYSB7XG4gICAgICAgICAgICBib3JkZXItY29sb3I6ICR3aGl0ZTtcbiAgICAgICAgfVxuICAgIH1cbn0iLCIvLyBBSVMgc2VhcmNoXG4uYWlzLWluZGV4IHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgbWFyZ2luLXRvcDogcmVtKDEwMCk7XG4gICAgQG1lZGlhIGFsbCBhbmQgKG1pbi13aWR0aDogJG1lbnUtYnJlYWtwb2ludCkge1xuICAgICAgICBtYXJnaW4tdG9wOiAwO1xuICAgIH1cblxuICAgIGlucHV0W3R5cGU9J3NlYXJjaCddIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBoZWlnaHQ6IGF1dG87XG4gICAgICAgIHBhZGRpbmc6IHJlbSg1KSByZW0oNDApIHJlbSg1KSAwO1xuICAgICAgICBjb2xvcjogJHdoaXRlO1xuICAgICAgICBmb250LWZhbWlseTogJENvdXBlTm9ybWFsO1xuICAgICAgICBmb250LXNpemU6IHJlbSgyNCk7XG4gICAgICAgIGxpbmUtaGVpZ2h0OjE7XG4gICAgICAgIGJhY2tncm91bmQ6IG5vbmU7XG4gICAgICAgIGJvcmRlci10b3A6IG5vbmU7XG4gICAgICAgIGJvcmRlci1yaWdodDogbm9uZTtcbiAgICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICR3aGl0ZTtcbiAgICAgICAgYm9yZGVyLWxlZnQ6IG5vbmU7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDAgIWltcG9ydGFudDtcbiAgICAgICAgLyogc3R5bGVsaW50LWRpc2FibGUgKi9cbiAgICAgICAgLXdlYmtpdC1ib3JkZXItcmFkaXVzOjA7XG4gICAgICAgIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTtcbiAgICAgICAgLyogc3R5bGVsaW50LWVuYWJsZSAqL1xuICAgICAgICBAbWVkaWEgYWxsIGFuZCAobWluLXdpZHRoOiAkbWVudS1icmVha3BvaW50KSB7XG4gICAgICAgICAgICBwYWRkaW5nLXJpZ2h0OnJlbSg3MCk7XG4gICAgICAgICAgICBmb250LXNpemU6IHJlbSg2NSk7XG4gICAgICAgIH1cblxuICAgICAgICAmOjpwbGFjZWhvbGRlciB7IC8qIENocm9tZSwgRmlyZWZveCwgT3BlcmEsIFNhZmFyaSAxMC4xKyAgKi9cbiAgICAgICAgICAgIGNvbG9yOiAkd2hpdGU7XG4gICAgICAgICAgICBvcGFjaXR5OiAxOyAvKiBGaXJlZm94ICovXG4gICAgICAgIH1cbiAgICAgICAgJjotbXMtaW5wdXQtcGxhY2Vob2xkZXIgeyAvKiBJbnRlcm5ldCBFeHBsb3JlciAxMC0xMSAqL1xuICAgICAgICAgICAgY29sb3I6ICR3aGl0ZTtcbiAgICAgICAgfVxuICAgICAgICAmOjotbXMtaW5wdXQtcGxhY2Vob2xkZXIgLyogTWljcm9zb2Z0IEVkZ2UgKi8ge1xuICAgICAgICAgICAgY29sb3I6ICR3aGl0ZTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5haXMtc2VhcmNoLWljb24ge1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHRvcDogcmVtKDUpO1xuICAgICAgICByaWdodDogMDtcbiAgICAgICAgcGFkZGluZzogMCByZW0oMSk7XG4gICAgICAgIGZvbnQtc2l6ZTogcmVtKDIwKTtcbiAgICAgICAgQG1lZGlhIGFsbCBhbmQgKG1pbi13aWR0aDogJG1lbnUtYnJlYWtwb2ludCkge1xuICAgICAgICAgICAgdG9wOiByZW0oMTYpO1xuICAgICAgICAgICAgZm9udC1zaXplOiByZW0oMzUpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgYnV0dG9uW3R5cGU9J3Jlc2V0J10sXG4gICAgYnV0dG9uW3R5cGU9J3N1Ym1pdCddIHtcbiAgICAgICAgb3BhY2l0eTogMDtcbiAgICB9XG5cbiAgICAuYWlzLXN0YXRzLFxuICAgIC5haXMtbm8tcmVzdWx0cyB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IHJlbSgzMCk7XG4gICAgICAgIGZvbnQtc2l6ZTogcmVtKDMyKTtcbiAgICAgICAgZm9udC13ZWlnaHQ6IDMwMDtcbiAgICAgICAgQG1lZGlhIGFsbCBhbmQgKG1pbi13aWR0aDogJG1lbnUtYnJlYWtwb2ludCkge1xuICAgICAgICAgICAgZm9udC1zaXplOiByZW0oNDApO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLmFpcy1wYWdpbmF0aW9uIHtcbiAgICAgICAgbWFyZ2luLXRvcDogcmVtKDgwKTtcblxuICAgICAgICAuYWlzLXBhZ2luYXRpb25fX2l0ZW0ge1xuICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcblxuICAgICAgICAgICAgJi5haXMtcGFnaW5hdGlvbl9faXRlbS0tcHJldmlvdXMsXG4gICAgICAgICAgICAmLmFpcy1wYWdpbmF0aW9uX19pdGVtLS1uZXh0IHtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICAgICAgbWFyZ2luLXRvcDogcmVtKDIwKTtcbiAgICAgICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IHJlbSgyMCk7XG4gICAgICAgICAgICAgICAgYm9yZGVyOiAxcHggc29saWQgJHdoaXRlO1xuICAgICAgICAgICAgICAgIEBtZWRpYSBhbGwgYW5kIChtaW4td2lkdGg6ICRzbS1icmVha3BvaW50KSB7XG4gICAgICAgICAgICAgICAgICAgIG1heC13aWR0aDogcmVtKDI0MCk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIEBtZWRpYSBhbGwgYW5kIChtaW4td2lkdGg6ICRtZW51LWJyZWFrcG9pbnQpIHtcbiAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbi1yaWdodDogcmVtKDQwKTtcbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICBhIHtcbiAgICAgICAgICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgICAgICAgICAgcGFkZGluZzogcmVtKDEwKSByZW0oMjApO1xuICAgICAgICAgICAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgICAgICAgICAgICAgIC8vY29sb3I6ICR3aGl0ZTtcblxuICAgICAgICAgICAgICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICAgICAgICAgICAgICB0b3A6IDA7XG4gICAgICAgICAgICAgICAgICAgICAgICBsZWZ0OiAwO1xuICAgICAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgICAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgICAgICAgICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgICAgICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICAgICAgICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiByZW0oMzApO1xuICAgICAgICAgICAgICAgICAgICAgICAgY29sb3I6ICR3aGl0ZTtcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbnRlbnQ6ICdQcmV2aW91cyByZXN1bHRzJztcbiAgICAgICAgICAgICAgICAgICAgICAgIHRyYW5zaXRpb246IGFsbCAwLjVzO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICY6YWZ0ZXIge1xuICAgICAgICAgICAgICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgICAgICAgICAgICAgdG9wOiAwO1xuICAgICAgICAgICAgICAgICAgICAgICAgbGVmdDogNTAlO1xuICAgICAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgICAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgICAgICAgICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgICAgICAgICAgICAgICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbG9yOiAkd2hpdGU7XG4gICAgICAgICAgICAgICAgICAgICAgICBmb250LWZhbWlseTogaWNvbW9vbjtcbiAgICAgICAgICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtKDEwKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbnRlbnQ6ICdcXGU5MDknO1xuICAgICAgICAgICAgICAgICAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoMTgwZGVnKSB0cmFuc2xhdGVYKDc1cHgpO1xuICAgICAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICAgICAgICAgICAgICBjb2xvcjogJHdoaXRlO1xuICAgICAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHdoaXRlO1xuXG4gICAgICAgICAgICAgICAgICAgICAgICAmOmJlZm9yZSxcbiAgICAgICAgICAgICAgICAgICAgICAgICY6YWZ0ZXIge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbG9yOiAkYmxhY2s7XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAmLmFpcy1wYWdpbmF0aW9uX19pdGVtLS1kaXNhYmxlZCBhIHtcbiAgICAgICAgICAgICAgICAgICAgb3BhY2l0eTogMC4zO1xuXG4gICAgICAgICAgICAgICAgICAgICY6aG92ZXI6YmVmb3JlLFxuICAgICAgICAgICAgICAgICAgICAmOmhvdmVyOmFmdGVyIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbG9yOiAkd2hpdGU7XG4gICAgICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYmxhY2s7XG4gICAgICAgICAgICAgICAgICAgICAgICB0cmFuc2l0aW9uOiBub25lO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgJi5haXMtcGFnaW5hdGlvbl9faXRlbS0tbmV4dCB7XG4gICAgICAgICAgICAgICAgJiBhOmJlZm9yZSB7XG4gICAgICAgICAgICAgICAgICAgIHBhZGRpbmc6IDAgcmVtKDMwKSAwIDA7XG4gICAgICAgICAgICAgICAgICAgIGNvbnRlbnQ6ICdNb3JlIHJlc3VsdHMnO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAmIGE6YWZ0ZXIge1xuICAgICAgICAgICAgICAgICAgICBsZWZ0OiA1MCU7XG4gICAgICAgICAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCg0MHB4KTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAuc2VhcmNoLWl0ZW0ge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgcGFkZGluZy1ib3R0b206IHJlbSgxNSk7XG4gICAgICAgIG1hcmdpbjogIHJlbSg1NSkgMCAwO1xuICAgIH1cbn1cblxuIiwiLmNvbnRhaW5lcl9fc2VsZWN0LWNhdGVnb3J5e1xuICAgIHBhZGRpbmctdG9wOnJlbSg1MCk7XG4gICAgbWFyZ2luLWJvdHRvbTpyZW0oMjIpO1xuICAgIGJhY2tncm91bmQ6JG9yYW5nZTtcblxuICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAobGcpIHtcbiAgICAgICAgcGFkZGluZy10b3A6MDtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTpyZW0oNjApO1xuICAgICAgICBiYWNrZ3JvdW5kOnRyYW5zcGFyZW50O1xuICAgIH1cbn1cbi5zZWxlY3QtY2F0ZWdvcnl7XG4gICAgJi5zZWxlY3QtY2F0ZWdvcnktLW1vYmlsZXtcbiAgICAgICAgZGlzcGxheTpibG9jaztcbiAgICAgICAgbWFyZ2luLWJvdHRvbTpyZW0oNjApO1xuXG4gICAgICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAobGcpIHtcbiAgICAgICAgICAgIGRpc3BsYXk6bm9uZTtcbiAgICAgICAgfVxuXG4gICAgICAgIGgze1xuICAgICAgICAgICAgZm9udC1zaXplOnJlbSgxNyk7XG4gICAgICAgIH1cbiAgICB9XG4gICAgJi5zZWxlY3QtY2F0ZWdvcnktLWRlc2t0b3B7XG4gICAgICAgIGRpc3BsYXk6bm9uZTtcblxuICAgICAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKGxnKSB7XG4gICAgICAgICAgICBkaXNwbGF5OmJsb2NrO1xuICAgICAgICB9XG4gICAgfVxuICAgICYuc2VsZWN0LWNhdGVnb3J5LS1ib3Roe1xuICAgICAgICBoM3tcbiAgICAgICAgICAgIGZvbnQtZmFtaWx5OiRQbHV0b1NhbnNDb25kO1xuICAgICAgICAgICAgZm9udC1zaXplOnJlbSgyNCk7XG5cbiAgICAgICAgICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAobGcpIHtcbiAgICAgICAgICAgICAgICBjb2xvcjokb3JhbmdlO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIC5zZWxlY3QtY2F0ZWdvcnlfX2Zvcm17XG4gICAgICAgICAgICBwYWRkaW5nOnJlbSgxNSkgMCByZW0oNDMpO1xuXG4gICAgICAgICAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKGxnKSB7XG4gICAgICAgICAgICAgICAgZGlzcGxheTpub25lO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIC5zZWxlY3QtY2F0ZWdvcnlfX2xpbmtze1xuICAgICAgICAgICAgZGlzcGxheTpub25lO1xuICAgICAgICAgICAgcGFkZGluZzpyZW0oMTQpIDAgcmVtKDMwKTtcblxuICAgICAgICAgICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cChsZykge1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6YmxvY2s7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG4gICAgaDN7XG4gICAgICAgIHBhZGRpbmctYm90dG9tOnJlbSg1KTtcbiAgICB9XG4gICAgc2VsZWN0e1xuICAgICAgICAvKiBzdHlsZWxpbnQtZGlzYWJsZSAqL1xuICAgICAgICAtd2Via2l0LWJvcmRlci1yYWRpdXM6MDtcbiAgICAgICAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lO1xuICAgICAgICAvKiBzdHlsZWxpbnQtZW5hYmxlICovXG4gICAgfVxuICAgIC5zZWxlY3QtY2F0ZWdvcnlfX2Zvcm17XG4gICAgICAgIHNlbGVjdHtcbiAgICAgICAgICAgIHBvc2l0aW9uOnJlbGF0aXZlO1xuICAgICAgICAgICAgd2lkdGg6MTAwJTtcbiAgICAgICAgICAgIHBhZGRpbmc6cmVtKDE3KSByZW0oMjApIHJlbSgxMik7XG4gICAgICAgICAgICBtYXJnaW46MDtcbiAgICAgICAgICAgIGZvbnQtZmFtaWx5OiRQbHV0b1NhbnNDb25kO1xuICAgICAgICAgICAgdGV4dC1hbGlnbjpjZW50ZXI7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kOnVybCgnL2ltYWdlcy9jaGV2cm9uLWRvd24uc3ZnJykgbm8tcmVwZWF0IGNhbGMoMTAwJSAtIDIycHgpIGNlbnRlcjtcbiAgICAgICAgICAgIGJhY2tncm91bmQtc2l6ZToxOS41cHggMTBweDtcbiAgICAgICAgICAgIGJvcmRlcjoxcHggc29saWQgJGJsYWNrO1xuXG4gICAgICAgICAgICAmOmFmdGVye1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuICAgIC5zZWxlY3QtY2F0ZWdvcnlfX2xpbmtze1xuICAgICAgICBtYXJnaW4tcmlnaHQ6cmVtKC0xNSk7XG5cbiAgICAgICAgYXtcbiAgICAgICAgICAgIGRpc3BsYXk6aW5saW5lLWJsb2NrO1xuICAgICAgICAgICAgbWluLXdpZHRoOnJlbSgxODApO1xuICAgICAgICAgICAgcGFkZGluZzpyZW0oNSkgcmVtKDE1KTtcbiAgICAgICAgICAgIG1hcmdpbjpyZW0oMTApIHJlbSgxNSkgMCAwO1xuICAgICAgICAgICAgZm9udC1mYW1pbHk6JFBsdXRvU2Fuc0NvbmQ7XG4gICAgICAgICAgICB0ZXh0LWFsaWduOmNlbnRlcjtcbiAgICAgICAgICAgIHRleHQtZGVjb3JhdGlvbjpub25lO1xuICAgICAgICAgICAgYmFja2dyb3VuZDokZ3JheS1saWdodDtcblxuICAgICAgICAgICAgJjpob3ZlcixcbiAgICAgICAgICAgICYuc2VsZWN0LWNhdGVnb3J5X19saW5rcy0tYWN0aXZle1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6JG9yYW5nZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbn0iLCIkaXRlbUJyZWFrcG9pbnQ6ICRtZC1icmVha3BvaW50O1xuXG4uZG93bmxvYWRzLXN0ZWVsLWJvb2sge1xuICAgIGJhY2tncm91bmQ6ICRncmF5LWxpZ2h0O1xuXG4gICAgLnJvdy1pbnRybyB7XG4gICAgICAgIHBhZGRpbmc6IHJlbSg2MCkgcmVtKDEyKSByZW0oMjUpO1xuICAgICAgICBAbWVkaWEgYWxsIGFuZCAobWluLXdpZHRoOiAkaXRlbUJyZWFrcG9pbnQpIHtcbiAgICAgICAgICAgIHBhZGRpbmc6IHJlbSg5NSkgMCByZW0oODApO1xuICAgICAgICB9XG5cbiAgICAgICAgLmNvbC1pbnRybyB7XG4gICAgICAgICAgICBtYXJnaW46IHJlbSgyMCkgMDtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtKDIwKTtcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAxLjE1O1xuXG4gICAgICAgICAgICBAbWVkaWEgYWxsIGFuZCAobWluLXdpZHRoOiAkbGctYnJlYWtwb2ludCkge1xuICAgICAgICAgICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC5jb2wtbGlua3Mge1xuICAgICAgICAgICAgbWFyZ2luOiByZW0oMjgpIDA7XG4gICAgICAgICAgICBvdmVyZmxvdzogaGlkZGVuOyAvLyB0byBoaWRlIHRoZSBoLXNjcm9sbCBvbiBtb2JpbGUuXG4gICAgICAgICAgICBAbWVkaWEgYWxsIGFuZCAobWluLXdpZHRoOiAkbGctYnJlYWtwb2ludCkge1xuICAgICAgICAgICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgICAgICAgICB0ZXh0LWFsaWduOiByaWdodDtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgYTpmaXJzdC1jaGlsZCB7XG4gICAgICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiByZW0oMzApO1xuICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IHJlbSgyMCk7XG4gICAgICAgICAgICAgICAgQG1lZGlhIGFsbCBhbmQgKG1pbi13aWR0aDogJGxnLWJyZWFrcG9pbnQpIHtcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiAwO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLnNlcGFyYXRvciB7XG4gICAgICAgICAgICAgICAgbWFyZ2luLXRvcDogcmVtKDIwKTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLmljb24tZG93bmxvYWQge1xuICAgICAgICAgICAgICAgIG1hcmdpbjogMCByZW0oNSkgMCByZW0oLTUpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgLnJvdy1jb250ZW50IHtcbiAgICAgICAgcGFkZGluZzogMCByZW0oMTIpIHJlbSg3NSk7XG4gICAgICAgIEBtZWRpYSBhbGwgYW5kIChtaW4td2lkdGg6ICRpdGVtQnJlYWtwb2ludCkge1xuICAgICAgICAgICAgcGFkZGluZzogMCAwIHJlbSgxMDApO1xuICAgICAgICB9XG5cbiAgICAgICAgaDMge1xuICAgICAgICAgICAgZm9udC1mYW1pbHk6ICRQbHV0b1NhbnNDb25kO1xuICAgICAgICAgICAgZm9udC1zaXplOiByZW0oMjQpO1xuICAgICAgICAgICAgQG1lZGlhIGFsbCBhbmQgKG1pbi13aWR0aDogJGl0ZW1CcmVha3BvaW50KSB7XG4gICAgICAgICAgICAgICAgZm9udC1mYW1pbHk6ICRQbHV0b1NhbnNDb25kO1xuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtKDMyKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8vIHNiaSB3cmFwcGVyXG4gICAgLm91dGVyLXdyYXBwZXIge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBmbGV4LWZsb3c6IHJvdyB3cmFwO1xuICAgIH1cbn1cblxuLy8gc3RlZWwtYmxvY2staXRlbVxuLnNiaSB7XG4gICAgZmxleDogMSAwIDEwMCU7XG4gICAgQG1lZGlhIGFsbCBhbmQgKG1pbi13aWR0aDogJGl0ZW1CcmVha3BvaW50KSB7XG4gICAgICAgIGZsZXg6IDEgMCA1MCU7XG4gICAgICAgIG1heC13aWR0aDogNTAlO1xuICAgIH1cbiAgICBAbWVkaWEgYWxsIGFuZCAobWluLXdpZHRoOiAkbGctYnJlYWtwb2ludCkge1xuICAgICAgICBmbGV4OiAxIDAgMzMuMzMlO1xuICAgICAgICBtYXgtd2lkdGg6IDMzLjMzJTtcbiAgICB9XG5cbiAgICAuaW5uZXItd3JhcHBlciB7XG4gICAgICAgIG1hcmdpbjogcmVtKDE3KSAwIDA7XG4gICAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgICAgIGJhY2tncm91bmQ6IG5vbmU7XG4gICAgICAgIEBtZWRpYSBhbGwgYW5kIChtaW4td2lkdGg6ICRpdGVtQnJlYWtwb2ludCkge1xuICAgICAgICAgICAgaGVpZ2h0OiByZW0oMzUwKTtcbiAgICAgICAgICAgIG1hcmdpbjogcmVtKDIwKSByZW0oMTApIDA7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiAkZ3JheS1kYXJrO1xuICAgICAgICAgICAgYmFja2dyb3VuZC1zaXplOiBjb3ZlciAhaW1wb3J0YW50O1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgJl9faW50cm8ge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICBmbGV4LWZsb3c6IHJvdyBub3dyYXA7XG4gICAgICAgIHBhZGRpbmc6IHJlbSgyOSkgcmVtKDIyKSByZW0oMjgpO1xuICAgICAgICBiYWNrZ3JvdW5kOiAkYmxhY2s7XG4gICAgICAgIHRyYW5zaXRpb246IGFsbCAwLjVzO1xuICAgICAgICBAbWVkaWEgYWxsIGFuZCAobWluLXdpZHRoOiAkaXRlbUJyZWFrcG9pbnQpIHtcbiAgICAgICAgICAgIGZsZXgtZmxvdzogcm93IHdyYXA7XG4gICAgICAgICAgICBoZWlnaHQ6IHJlbSgxNTApO1xuICAgICAgICAgICAgcGFkZGluZzogcmVtKDEwKTtcbiAgICAgICAgICAgIG1hcmdpbjogcmVtKDEwMCkgcmVtKDIwKSByZW0oMjApO1xuICAgICAgICAgICAgYmFja2dyb3VuZDogJHdoaXRlO1xuICAgICAgICB9XG4gICAgICAgIEBtZWRpYSBhbGwgYW5kIChtaW4td2lkdGg6ICR4bC1icmVha3BvaW50KSB7XG4gICAgICAgICAgICBtYXJnaW46IHJlbSgxMDApIHJlbSg2MCkgcmVtKDIwKTtcbiAgICAgICAgfVxuXG4gICAgICAgIGgzIHtcbiAgICAgICAgICAgIGZsZXg6IDM7XG4gICAgICAgICAgICBtYXgtaGVpZ2h0OiByZW0oOTApO1xuICAgICAgICAgICAgY29sb3I6ICR3aGl0ZTtcbiAgICAgICAgICAgIGZvbnQtZmFtaWx5OiAkUGx1dG9TYW5zQ29uZCAhaW1wb3J0YW50O1xuICAgICAgICAgICAgZm9udC1zaXplOiByZW0oMjApICFpbXBvcnRhbnQ7XG4gICAgICAgICAgICBsaW5lLWhlaWdodDogMS4xNTtcblxuICAgICAgICAgICAgQG1lZGlhIGFsbCBhbmQgKG1pbi13aWR0aDogJGl0ZW1CcmVha3BvaW50KSB7XG4gICAgICAgICAgICAgICAgLy9mbGV4OiAxIDAgMTAwJTtcbiAgICAgICAgICAgICAgICBwYWRkaW5nOiByZW0oNSkgcmVtKDEwKTtcbiAgICAgICAgICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgICAgICAgICAgY29sb3I6ICRvcmFuZ2U7XG4gICAgICAgICAgICAgICAgZm9udC1mYW1pbHk6ICRQbHV0b1NhbnNDb25kICFpbXBvcnRhbnQ7XG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiByZW0oMjQpICFpbXBvcnRhbnQ7XG4gICAgICAgICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgQG1lZGlhIGFsbCBhbmQgKG1pbi13aWR0aDogJHhsLWJyZWFrcG9pbnQpIHtcbiAgICAgICAgICAgICAgICBtYXgtaGVpZ2h0OiByZW0oMTE0KTtcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IHJlbSgzMikgIWltcG9ydGFudDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICBhIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgZmxleDogMTtcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgZm9udC1mYW1pbHk6ICRQbHV0b1NhbnNDb25kO1xuICAgICAgICAgICAgZm9udC1zaXplOiByZW0oMTcpO1xuICAgICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgICAgICAgICAgQG1lZGlhIGFsbCBhbmQgKG1pbi13aWR0aDogJGl0ZW1CcmVha3BvaW50KSB7XG4gICAgICAgICAgICAgICAgZmxleDogMSAwIDEwMCU7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC5mdWxsLXRleHQge1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgICAgICAgICAgQG1lZGlhIGFsbCBhbmQgKG1pbi13aWR0aDogJGl0ZW1CcmVha3BvaW50KSB7XG4gICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLnNtYWxsLXRleHQge1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgICAgIGNvbG9yOiAkb3JhbmdlO1xuICAgICAgICAgICAgICAgIGZvbnQtZmFtaWx5OiAkUGx1dG9TYW5zQ29uZDtcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IHJlbSgxNik7XG4gICAgICAgICAgICAgICAgQG1lZGlhIGFsbCBhbmQgKG1pbi13aWR0aDogJGl0ZW1CcmVha3BvaW50KSB7XG4gICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBzcGFuIHtcbiAgICAgICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IHJlbSg1KTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbiAgICAmX19saW5rIHtcbiAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgQG1lZGlhIGFsbCBhbmQgKG1pbi13aWR0aDogJGl0ZW1CcmVha3BvaW50KSB7XG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IHJlbSg2NSk7XG4gICAgICAgIH1cblxuICAgICAgICBhIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgY29sb3I6ICR3aGl0ZTtcbiAgICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8vIG1hcmdpbiBmaXhlcyBmb3IgZGlmZmVyZW50IGJyZWFrcG9pbnRzXG4gICAgQG1lZGlhIGFsbCBhbmQgKG1pbi13aWR0aDogJGl0ZW1CcmVha3BvaW50KSB7XG4gICAgICAgICY6bnRoLWNoaWxkKDJuKzEpIC5pbm5lci13cmFwcGVyIHtcbiAgICAgICAgICAgIG1hcmdpbi1yaWdodDogcmVtKDEwKTtcbiAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgICAgICB9XG4gICAgICAgICY6bnRoLWNoaWxkKDJuKzIpIC5pbm5lci13cmFwcGVyIHtcbiAgICAgICAgICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiByZW0oMTApO1xuICAgICAgICB9XG4gICAgfVxuICAgIEBtZWRpYSBhbGwgYW5kIChtaW4td2lkdGg6ICRsZy1icmVha3BvaW50KSB7XG4gICAgICAgICY6bnRoLWNoaWxkKDJuKzEpIC5pbm5lci13cmFwcGVyIHtcbiAgICAgICAgICAgIG1hcmdpbjogcmVtKDIwKSByZW0oMTApIDA7XG4gICAgICAgIH1cbiAgICAgICAgJjpudGgtY2hpbGQoMm4rMikgLmlubmVyLXdyYXBwZXIge1xuICAgICAgICAgICAgbWFyZ2luOiByZW0oMjApIHJlbSgxMCkgMDtcbiAgICAgICAgfVxuICAgICAgICAmOm50aC1jaGlsZCgzbisxKSAuaW5uZXItd3JhcHBlciB7XG4gICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IHJlbSgxMCk7XG4gICAgICAgICAgICBtYXJnaW4tbGVmdDogMDtcbiAgICAgICAgfVxuICAgICAgICAmOm50aC1jaGlsZCgzbiszKSAuaW5uZXItd3JhcHBlciB7XG4gICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gICAgICAgICAgICBtYXJnaW4tbGVmdDogcmVtKDEwKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgICY6aG92ZXIge1xuICAgICAgICAuaW5uZXItd3JhcHBlciB7XG4gICAgICAgICAgICBib3gtc2hhZG93OiBpbnNldCAwIDAgMCAxMDAwcHggcmdiYSgwLCAwLCAwLCAwLjUpO1xuICAgICAgICB9XG4gICAgICAgIC5zYmlfX2ludHJvIHtcbiAgICAgICAgICAgIGNvbG9yOiAkb3JhbmdlO1xuICAgICAgICAgICAgYmFja2dyb3VuZDogJGJsYWNrO1xuXG4gICAgICAgICAgICBhIHtcbiAgICAgICAgICAgICAgICBjb2xvcjogJHdoaXRlO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgJi5wbGFjZWhvbGRlciB7XG4gICAgICAgIGhlaWdodDogMXB4O1xuICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgICAgICBvcGFjaXR5OiAwO1xuICAgIH1cbn1cbiIsIiRpdGVtQnJlYWtwb2ludDogbWQ7XG5cbi5kb3dubG9hZHMtd2VsZHdlbGwge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIHBhZGRpbmc6IHJlbSg1MCkgcmVtKDEyKSByZW0oODQpO1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgYmFja2dyb3VuZDogJGdyYXktbGlnaHQ7XG4gICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cCgkaXRlbUJyZWFrcG9pbnQpIHtcbiAgICAgICAgcGFkZGluZzogcmVtKDY3KSAwIHJlbSg4NCk7XG4gICAgfVxuXG4gICAgLnJvdy1pbnRybyB7XG4gICAgICAgIGgyIHtcbiAgICAgICAgICAgIG1hcmdpbjogcmVtKDE5KSAwO1xuICAgICAgICAgICAgZm9udC1zaXplOiByZW0oMzIpO1xuICAgICAgICAgICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cCgkaXRlbUJyZWFrcG9pbnQpIHtcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IHJlbSg0MCk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgJiA+IGRpdiB7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiByZW0oMTApO1xuICAgICAgICAgICAgZm9udC1zaXplOiByZW0oJGdlbmVyYWwtZm9udC1zaXplLW1vYmlsZSk7XG4gICAgICAgICAgICBsaW5lLWhlaWdodDogJGdlbmVyYWwtbGluZS1oZWlnaHQtbW9iaWxlO1xuXG4gICAgICAgICAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKCRpdGVtQnJlYWtwb2ludCkgeztcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IHJlbSgkZ2VuZXJhbC1mb250LXNpemUpO1xuICAgICAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAkZ2VuZXJhbC1saW5lLWhlaWdodDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC5jb2wtbGlua3Mge1xuICAgICAgICAgICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cChsZykge1xuICAgICAgICAgICAgICAgIHBhZGRpbmctdG9wOiByZW0oNjApO1xuICAgICAgICAgICAgICAgIHRleHQtYWxpZ246IHJpZ2h0O1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBhLmJ1dHRvbiB7XG4gICAgICAgICAgICAgICAgbWFyZ2luOiByZW0oMTIpIHJlbSgzMCkgcmVtKDEyKSAwO1xuICAgICAgICAgICAgICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAobGcpIHs7XG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbjogMCAwIHJlbSgyNCkgcmVtKDMwKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAucm93LWNvbnRlbnQge1xuICAgICAgICBtYXJnaW4tdG9wOiByZW0oMzUpO1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgICAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKCRpdGVtQnJlYWtwb2ludCkge1xuICAgICAgICAgICAgbWFyZ2luLXRvcDogcmVtKDQ1KTtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IHJlbSgzNSk7XG4gICAgICAgIH1cblxuICAgICAgICBoMyB7XG4gICAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiAxNSU7XG4gICAgICAgICAgICBjb2xvcjogJG9yYW5nZTtcbiAgICAgICAgICAgIGZvbnQtZmFtaWx5OiAkUGx1dG9TYW5zQ29uZDtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtKDI0KTtcbiAgICAgICAgICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAoJGl0ZW1CcmVha3BvaW50KSB7XG4gICAgICAgICAgICAgICAgZm9udC1mYW1pbHk6ICRQbHV0b1NhbnNDb25kO1xuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtKDMyKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbn1cblxuLy8gRG93bmxvYWQgcGFydHMgbGlzdCBhbmQgaXRlbVxuLmRvd25sb2FkLXBhcnRzIHtcbiAgICBtYXJnaW46IDAgcmVtKDE1KTtcbiAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKCRpdGVtQnJlYWtwb2ludCkge1xuICAgICAgICBtYXJnaW46IDA7XG4gICAgfVxuXG4gICAgPiAuY29udGFpbmVyLWZsdWlkIHtcbiAgICAgICAgcGFkZGluZzogMDtcbiAgICB9XG5cbiAgICAuZG93bmxvYWQtd3JhcHBlciB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgfVxuXG4gICAgJl9fbGlzdCB7XG4gICAgICAgIGZsZXg6IDEgMCAxMDAlO1xuICAgICAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKG1kKSB7XG4gICAgICAgICAgICAvL2ZsZXg6IDYwO1xuICAgICAgICB9XG4gICAgICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAobGcpIHtcbiAgICAgICAgICAgIGZsZXg6IDY1O1xuICAgICAgICB9XG4gICAgICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAoeGwpIHtcbiAgICAgICAgICAgIGZsZXg6IDcyO1xuICAgICAgICB9XG5cbiAgICAgICAgLmRvd25sb2FkLXBhcnQge1xuICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgIGZsZXg6IDEgMCAxMDAlO1xuICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICAgICAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKGxnKSB7XG4gICAgICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLmlubmVyLXdyYXBwZXIge1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgICAgICAgICBmbGV4LWZsb3c6IHJvdyB3cmFwO1xuICAgICAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XG4gICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICAgICAgbWF4LXdpZHRoOiByZW0oNTEwKTtcbiAgICAgICAgICAgICAgICBwYWRkaW5nOiByZW0oMjgpIHJlbSgyMik7XG4gICAgICAgICAgICAgICAgbWFyZ2luLXRvcDogcmVtKDE2KTtcbiAgICAgICAgICAgICAgICBjb2xvcjogJHdoaXRlO1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6ICRibGFjaztcbiAgICAgICAgICAgICAgICB0cmFuc2l0aW9uOiBhbGwgMC41cztcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKG1kKSB7XG4gICAgICAgICAgICAgICAgICAgIC8vbWF4LXdpZHRoOiBjYWxjKDMzMHB4ICsgMTB2dyk7XG4gICAgICAgICAgICAgICAgICAgIG1heC13aWR0aDogcmVtKDY4MCk7XG4gICAgICAgICAgICAgICAgICAgIG1pbi1oZWlnaHQ6IHJlbSgxMDApO1xuICAgICAgICAgICAgICAgICAgICBwYWRkaW5nOiByZW0oMzIpIDAgcmVtKDMwKTtcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luLXRvcDogMDtcbiAgICAgICAgICAgICAgICAgICAgY29sb3I6ICRibGFjaztcbiAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gICAgICAgICAgICAgICAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAkb3JhbmdlO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKGxnKSB7XG4gICAgICAgICAgICAgICAgICAgIG1heC13aWR0aDogY2FsYyg0NTBweCArIDE1dncpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKHhsKSB7XG4gICAgICAgICAgICAgICAgICAgIC8vIG1heC13aWR0aCBpcyA3MiUgb2YgYXZhaWxhYmxlIHZpZXcgYnJlYWstcG9pbnQgd2lkdGguXG4gICAgICAgICAgICAgICAgICAgIC8vIHcvMiA9IDU3MCwgM2NvbCB3aXRoIG9mIGNvbnRhaW5lciA9IDIwdndcbiAgICAgICAgICAgICAgICAgICAgbWF4LXdpZHRoOiBjYWxjKDU0MHB4ICsgMjJ2dyk7XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgLnRpdGxlIHtcbiAgICAgICAgICAgICAgICAgICAgZmxleDogMztcbiAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cCgkaXRlbUJyZWFrcG9pbnQpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtKDI0KTtcbiAgICAgICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgICAgIC5jb3VudGVyIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKCRpdGVtQnJlYWtwb2ludCkge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZTtcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgICAgIC5saW5rIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgICAgICAgICAgICAgICAgICBtYXJnaW46IDAgcmVtKDMwKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbG9yOiAkb3JhbmdlO1xuICAgICAgICAgICAgICAgICAgICAgICAgZm9udC1mYW1pbHk6ICRQbHV0b1NhbnNDb25kO1xuICAgICAgICAgICAgICAgICAgICAgICAgZm9udC1zaXplOiByZW0oMTYpO1xuICAgICAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cCgkaXRlbUJyZWFrcG9pbnQpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgLmxpbmtQREYge1xuICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgICAgICAgICAgZmxleDogMTtcbiAgICAgICAgICAgICAgICAgICAgdGV4dC1hbGlnbjogcmlnaHQ7XG4gICAgICAgICAgICAgICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cCgkaXRlbUJyZWFrcG9pbnQpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHBhZGRpbmctcmlnaHQ6IHJlbSgyMCk7XG4gICAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICAgICBzcGFuIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIG1hcmdpbi1yaWdodDogcmVtKDUpO1xuICAgICAgICAgICAgICAgICAgICAgICAgZm9udC1zaXplOiByZW0oMTkpO1xuICAgICAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAgICAgLmZ1bGwtdGV4dCB7XG4gICAgICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cCgkaXRlbUJyZWFrcG9pbnQpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb2xvcjogJGJsYWNrO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZvbnQtZmFtaWx5OiAkUGx1dG9TYW5zQ29uZDtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBmb250LXNpemU6IHJlbSgkZ2VuZXJhbC1mb250LXNpemUpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRleHQtYWxpZ246IHJpZ2h0O1xuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAgICAgLnNtYWxsLXRleHQge1xuICAgICAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICAgICAgICAgICAgICBjb2xvcjogJG9yYW5nZTtcbiAgICAgICAgICAgICAgICAgICAgICAgIGZvbnQtZmFtaWx5OiAkUGx1dG9TYW5zQ29uZDtcbiAgICAgICAgICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtKDE2KTtcbiAgICAgICAgICAgICAgICAgICAgICAgIHRleHQtYWxpZ246IHJpZ2h0O1xuICAgICAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cCgkaXRlbUJyZWFrcG9pbnQpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAmLmFjdGl2ZSB7XG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cCgkaXRlbUJyZWFrcG9pbnQpIHtcbiAgICAgICAgICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICAgICAgICAgICAgICB0b3A6IC0xcHg7XG4gICAgICAgICAgICAgICAgICAgIGNvbG9yOiAkd2hpdGU7XG4gICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6ICRvcmFuZ2U7XG4gICAgICAgICAgICAgICAgICAgIGJvcmRlci10b3A6IDFweCBzb2xpZCAkb3JhbmdlO1xuXG4gICAgICAgICAgICAgICAgICAgIC50aXRsZSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBjb2xvcjogJHdoaXRlO1xuICAgICAgICAgICAgICAgICAgICAgICAgLmxpbmsge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbG9yOiAkYmxhY2s7XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICAgICAubGlua1BERiB7XG4gICAgICAgICAgICAgICAgICAgICAgICBjb2xvcjogJHdoaXRlO1xuXG4gICAgICAgICAgICAgICAgICAgICAgICAuZnVsbC10ZXh0IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb2xvcjogJHdoaXRlICFpbXBvcnRhbnQ7XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG4gICAgJl9fcHJldmlldyB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgIGhlaWdodDogcmVtKDM5MCk7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiByZW0oMjApO1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkZ3JheS1kYXJrO1xuICAgICAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICAgICAgICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xuICAgICAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKG1kKSB7XG4gICAgICAgICAgICAvL2ZsZXg6IDQwO1xuICAgICAgICB9XG4gICAgICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAobGcpIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgZmxleDogMzU7XG4gICAgICAgIH1cbiAgICAgICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cCh4bCkge1xuICAgICAgICAgICAgZmxleDogMjg7XG4gICAgICAgIH1cbiAgICB9XG59IiwiLnByb21pc2VzLXBhZ2V7XG4gICAgbWFyZ2luLWJvdHRvbTpyZW0oNDApO1xuICAgIG92ZXJmbG93OmhpZGRlbjtcbiAgICBjb2xvcjokd2hpdGU7XG4gICAgYmFja2dyb3VuZDokYmxhY2s7XG5cbiAgICBwe1xuICAgICAgICBtYXJnaW46MDtcbiAgICB9XG4gICAgLnByb21pc2VzLXBhZ2VfX3Byb21pc2V7XG4gICAgICAgIHBvc2l0aW9uOnJlbGF0aXZlO1xuICAgICAgICBwYWRkaW5nLXRvcDpyZW0oNTApO1xuICAgICAgICBwYWRkaW5nLWJvdHRvbTpyZW0oNjApO1xuXG4gICAgICAgICY6YWZ0ZXJ7XG4gICAgICAgICAgICBwb3NpdGlvbjphYnNvbHV0ZTtcbiAgICAgICAgICAgIGJvdHRvbTowO1xuICAgICAgICAgICAgbGVmdDotMjUwJTtcbiAgICAgICAgICAgIGRpc3BsYXk6YmxvY2s7XG4gICAgICAgICAgICB3aWR0aDo1MDAlO1xuICAgICAgICAgICAgaGVpZ2h0OjFweDtcbiAgICAgICAgICAgIGJhY2tncm91bmQ6JG9yYW5nZTtcbiAgICAgICAgICAgIGNvbnRlbnQ6Jyc7XG4gICAgICAgIH1cblxuICAgICAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKG1kKXtcbiAgICAgICAgICAgICY6bnRoLWNoaWxkKDJuICsgMSl7XG4gICAgICAgICAgICAgICAgYm9yZGVyLXJpZ2h0OjFweCBzb2xpZCAkb3JhbmdlO1xuXG4gICAgICAgICAgICAgICAgJjphZnRlcntcbiAgICAgICAgICAgICAgICAgICAgaGVpZ2h0OjA7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgJjpsYXN0LWNoaWxke1xuICAgICAgICAgICAgICAgICY6YWZ0ZXJ7XG4gICAgICAgICAgICAgICAgICAgIGhlaWdodDowO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbiAgICAucHJvbWlzZXMtcGFnZV9faWNvbntcbiAgICAgICAgaW1ne1xuICAgICAgICAgICAgd2lkdGg6MTAwJTtcbiAgICAgICAgfVxuICAgIH1cbiAgICAucHJvbWlzZXMtcGFnZV9fdGV4dHtcbiAgICAgICAgcGFkZGluZy10b3A6cmVtKDEwKTtcbiAgICB9XG59IiwiLnBhZ2UtY21zLSB7XG5cbiAgICAucGxhaW4tdGV4dCB7XG4gICAgICAgIHBhZGRpbmc6IDAgcmVtKDEyKSByZW0oMzUpO1xuICAgICAgICBtYXJnaW4tdG9wOiByZW0oLTc1KTtcbiAgICAgICAgZm9udC1zaXplOiByZW0oMjApO1xuICAgICAgICBsaW5lLWhlaWdodDogMS4xNTtcblxuICAgICAgICBAbWVkaWEgYWxsIGFuZCAobWluLXdpZHRoOiAkbWQtYnJlYWtwb2ludCkge1xuICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICAgICAgdG9wOiByZW0oLTMwKTtcbiAgICAgICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgICAgICBtYXJnaW4tdG9wOiByZW0oLTQ1KTtcbiAgICAgICAgfVxuICAgICAgICBAbWVkaWEgYWxsIGFuZCAobWluLXdpZHRoOiAkbGctYnJlYWtwb2ludCkge1xuICAgICAgICAgICAgdG9wOiAwO1xuICAgICAgICAgICAgcGFkZGluZzogMCAwIHJlbSg1NSk7XG4gICAgICAgICAgICBtYXJnaW4tdG9wOiByZW0oLTUwKTtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtKDI0KTtcbiAgICAgICAgfVxuICAgIH1cbn0iLCIucGFnZS1jbXMtY2FzZXN0dWR5e1xuICAgIC5pbWFnZXMtYmxvY2t7XG4gICAgICAgIG1hcmdpbjpyZW0oMzApIDAgcmVtKDU1KTtcblxuICAgICAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKG1kKXtcbiAgICAgICAgICAgIG1hcmdpbjpyZW0oNTApIDAgcmVtKDg1KTtcbiAgICAgICAgfVxuICAgIH1cbn0iLCIucGFnZS1jbXMtY29udGFjdHVzIHtcblxuICAgICNjb250ZW50IHtcblxuICAgIH1cbn1cblxuLy8gdGhhbmtzIHBhZ2Vcbi5wYWdlLWNtcy1jb250YWN0dXN0aGFua3lvdXBhZ2Uge1xuICAgICNjb250ZW50IHtcbiAgICAgICAgcGFkZGluZy1ib3R0b206IHJlbSg2MCk7XG4gICAgICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAoJGl0ZW1CcmVha3BvaW50KSB7XG4gICAgICAgICAgICBwYWRkaW5nLWJvdHRvbTogcmVtKDE1MCk7XG4gICAgICAgIH1cbiAgICB9XG59IiwiLnBhZ2UtY21zLWRvd25sb2FkcyB7XG4gICAgI2NvbnRlbnQge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiByZW0oNzQpO1xuICAgICAgICBAbWVkaWEgYWxsIGFuZCAobWluLXdpZHRoOiAkaXRlbUJyZWFrcG9pbnQpIHtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IHJlbSgxNDApO1xuICAgICAgICB9XG4gICAgfVxufSIsIiRpdGVtQnJlYWtwb2ludDogJG1kLWJyZWFrcG9pbnQ7XG5cbi5mYWIge1xuICAgIHBhZGRpbmc6IHJlbSg4NSkgMCByZW0oNzUpO1xuXG4gICAgJiA+IC5pbm5lci13cmFwcGVyIHtcblxuICAgICAgICAuZmFiX19sb2NhdGlvbnMge1xuICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgICAgIHRyYW5zaXRpb246IGFsbCAwLjRzO1xuICAgICAgICB9XG5cbiAgICAgICAgJi5hY3RpdmUge1xuICAgICAgICAgICAgLmZhYl9fbG9jYXRpb25zIHtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIC5mYWJfX3RpdGxlIHtcbiAgICAgICAgICAgICAgICBjb2xvcjogJG9yYW5nZTtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiAkYmxhY2s7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICY6Zmlyc3QtY2hpbGQge1xuICAgICAgICAgICAgICAgIGJvcmRlci1ib3R0b206IG5vbmU7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAmOmZpcnN0LWNoaWxkIHtcbiAgICAgICAgICAgIC8vYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICRibGFjaztcbiAgICAgICAgfVxuICAgIH1cblxuICAgICZfX3RpdGxlIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIHBhZGRpbmc6IHJlbSgzMikgMDtcbiAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgICAgICBiYWNrZ3JvdW5kOiAkZ3JheS1saWdodDtcblxuICAgICAgICAucm93IHtcbiAgICAgICAgICAgIHBhZGRpbmc6IDAgcmVtKDEyKTtcbiAgICAgICAgICAgIEBtZWRpYSBhbGwgYW5kIChtaW4td2lkdGg6ICRpdGVtQnJlYWtwb2ludCkge1xuICAgICAgICAgICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAuZC1mbGV4IHtcbiAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XG4gICAgICAgIH1cblxuICAgICAgICBzcGFuIHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtKDE5KTtcbiAgICAgICAgICAgIHRyYW5zaXRpb246IGFsbCAwLjRzO1xuICAgICAgICB9XG5cbiAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiAkZ3JheS1kYXJrO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLnF1b3RlLWZvcm0ge1xuICAgICAgICBwb3NpdGlvbjogZml4ZWQ7XG4gICAgICAgIHRvcDogMDtcbiAgICAgICAgcmlnaHQ6IDA7XG4gICAgICAgIGJvdHRvbTogMDtcbiAgICAgICAgbGVmdDogMDtcbiAgICAgICAgei1pbmRleDogOTk7XG4gICAgICAgIGJhY2tncm91bmQ6ICRibGFjaztcbiAgICAgICAgb3BhY2l0eTogMC43O1xuICAgIH1cbn1cblxuLmxvY2F0aW9uLWl0ZW0ge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1mbG93OiByb3cgbm93cmFwO1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgYm9yZGVyLWJvdHRvbTogMnB4IHNvbGlkICRvcmFuZ2U7XG4gICAgQG1lZGlhIGFsbCBhbmQgKG1pbi13aWR0aDogJGl0ZW1CcmVha3BvaW50KSB7XG4gICAgICAgIGhlaWdodDogcmVtKDQ0MCk7XG4gICAgfVxuXG4gICAgJl9fY29udGVudCB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgIGZsZXg6IDE7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XG5cbiAgICAgICAgQG1lZGlhIGFsbCBhbmQgKG1pbi13aWR0aDogJGl0ZW1CcmVha3BvaW50KSB7XG4gICAgICAgICAgICBmbGV4OiAxIDAgNTAlO1xuICAgICAgICB9XG5cbiAgICAgICAgLy8gdGhpcyBjb250YWluZXIgd2lsbCBoYXZlIHdpZHRoIGVxdWl2YWxlbnQgdG8gY29sLTYgb2ZcbiAgICAgICAgLy8gcmVzcGVjdGl2ZSB2aWV3LXBvcnRcbiAgICAgICAgLmlubmVyLXdyYXBwZXIge1xuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICBtYXgtd2lkdGg6IHJlbSg1NDApO1xuICAgICAgICAgICAgcGFkZGluZzogcmVtKDUwKSByZW0oMjcpO1xuICAgICAgICAgICAgbWFyZ2luOiBhdXRvO1xuICAgICAgICAgICAgQG1lZGlhIGFsbCBhbmQgKG1pbi13aWR0aDogJG1kLWJyZWFrcG9pbnQpIHtcbiAgICAgICAgICAgICAgICBtYXgtd2lkdGg6IHJlbSg0MDApO1xuICAgICAgICAgICAgICAgIHBhZGRpbmc6IHJlbSg1MCk7XG4gICAgICAgICAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgQG1lZGlhIGFsbCBhbmQgKG1pbi13aWR0aDogJGxnLWJyZWFrcG9pbnQpIHtcbiAgICAgICAgICAgICAgICBtYXgtd2lkdGg6IHJlbSg1MjApO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgQG1lZGlhIGFsbCBhbmQgKG1pbi13aWR0aDogJHhsLWJyZWFrcG9pbnQpIHtcbiAgICAgICAgICAgICAgICB3aWR0aDogcmVtKDYwMCk7XG4gICAgICAgICAgICAgICAgbWF4LXdpZHRoOiBub25lO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgIH1cblxuICAgICAgICBoMiB7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiByZW0oNSk7XG4gICAgICAgICAgICBjb2xvcjogJG9yYW5nZTtcbiAgICAgICAgfVxuICAgICAgICBoNCB7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiByZW0oMTUpO1xuICAgICAgICAgICAgZm9udC1zaXplOiByZW0oMjQpO1xuICAgICAgICB9XG4gICAgICAgIC5waG9uZSwgLmZheCwgLmVtYWlsIHtcbiAgICAgICAgICAgIG1hcmdpbjogcmVtKDEzKSAwO1xuICAgICAgICAgICAgZm9udC1zaXplOiByZW0oMjApO1xuICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDEuMTU7XG5cbiAgICAgICAgICAgIEBtZWRpYSBhbGwgYW5kIChtaW4td2lkdGg6ICRpdGVtQnJlYWtwb2ludCkge1xuICAgICAgICAgICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IHJlbSgyNCk7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIGEge1xuICAgICAgICAgICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgc3BhbiB7XG4gICAgICAgICAgICAgICAgY29sb3I6ICRvcmFuZ2U7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgLmxpbmsge1xuICAgICAgICAgICAgbWFyZ2luOiByZW0oMjcpIDAgcmVtKDgpO1xuICAgICAgICAgICAgQG1lZGlhIGFsbCBhbmQgKG1pbi13aWR0aDogJGl0ZW1CcmVha3BvaW50KSB7XG4gICAgICAgICAgICAgICAgbWFyZ2luOiByZW0oMjUpIDAgcmVtKDEwKTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgYTpmaXJzdC1jaGlsZCB7XG4gICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogIHJlbSgyMCk7XG4gICAgICAgICAgICAgICAgQG1lZGlhIGFsbCBhbmQgKG1pbi13aWR0aDogJGl0ZW1CcmVha3BvaW50KSB7XG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbi1yaWdodDogcmVtKDIwKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG4gICAgJl9fbWFwIHtcbiAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgZmxleDogMSAwIDUwJTtcbiAgICAgICAgQG1lZGlhIGFsbCBhbmQgKG1pbi13aWR0aDogJGl0ZW1CcmVha3BvaW50KSB7XG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgfVxuXG4gICAgICAgIC5jbG9zZS1vdmVybGF5IHtcbiAgICAgICAgICAgIHBvc2l0aW9uOiBmaXhlZDtcbiAgICAgICAgICAgIHotaW5kZXg6IDk5OTk5O1xuICAgICAgICAgICAgd2lkdGg6IHJlbSgzMCk7XG4gICAgICAgICAgICBoZWlnaHQ6IHJlbSgzMCk7XG4gICAgICAgICAgICBtYXJnaW46IHJlbSgtMjApIDAgMCByZW0oMjM1KTtcbiAgICAgICAgICAgIGJhY2tncm91bmQ6ICR3aGl0ZTtcbiAgICAgICAgfVxuXG4gICAgICAgIGg0IHtcbiAgICAgICAgICAgIG1hcmdpbjogcmVtKDE1KSAwIHJlbSg0KSByZW0oMTApO1xuICAgICAgICAgICAgY29sb3I6ICRvcmFuZ2U7XG4gICAgICAgICAgICBmb250LXNpemU6IHJlbSgxNyk7XG4gICAgICAgIH1cbiAgICAgICAgcCB7XG4gICAgICAgICAgICBtYXgtd2lkdGg6IHJlbSgyMjApO1xuICAgICAgICAgICAgbWFyZ2luOiAwIDAgcmVtKDE1KSByZW0oMTApO1xuICAgICAgICAgICAgZm9udC1mYW1pbHk6JFBsdXRvU2Fuc0NvbmQ7XG4gICAgICAgICAgICBmb250LXNpemU6IHJlbSgyMCk7XG4gICAgICAgICAgICBsaW5lLWhlaWdodDogMS4xNTtcbiAgICAgICAgfVxuXG4gICAgICAgIC5tYXAtd3JhcHBlciB7XG4gICAgICAgIH1cbiAgICAgICAgLnZ1ZS1tYXAtY29udGFpbmVyIHtcbiAgICAgICAgICAgIGhlaWdodDogcmVtKDQ0MCkgIWltcG9ydGFudDtcbiAgICAgICAgICAgIC8qIHN0eWxlbGludC1kaXNhYmxlICovXG4gICAgICAgICAgICAvL2ZpbHRlcjogdXJsKFwiZGF0YTppbWFnZS9zdmcreG1sO3V0ZjgsPHN2ZyB4bWxucz1cXCdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1xcJz48ZmlsdGVyIGlkPVxcJ2dyYXlzY2FsZVxcJz48ZmVDb2xvck1hdHJpeCB0eXBlPVxcJ21hdHJpeFxcJyB2YWx1ZXM9XFwnMC4zMzMzIDAuMzMzMyAwLjMzMzMgMCAwIDAuMzMzMyAwLjMzMzMgMC4zMzMzIDAgMCAwLjMzMzMgMC4zMzMzIDAuMzMzMyAwIDAgMCAwIDAgMSAwXFwnLz48L2ZpbHRlcj48L3N2Zz4jZ3JheXNjYWxlXCIpOyAvKiBGaXJlZm94IDEwKyAqL1xuICAgICAgICAgICAgLy9maWx0ZXI6IGdyYXk7IC8qIElFNi05ICovXG4gICAgICAgICAgICAvLy13ZWJraXQtZmlsdGVyOiBncmF5c2NhbGUoOTklKTsgLyogQ2hyb21lIDE5KyAmIFNhZmFyaSA2KyAqL1xuICAgICAgICAgICAgLy8td2Via2l0LWJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjsgIC8qIEZpeCBmb3IgdHJhbnNpdGlvbiBmbGlja2VyaW5nICovXG4gICAgICAgICAgICAvKiBzdHlsZWxpbnQtZW5hYmxlICovXG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmOm50aC1jaGlsZCgybisyKSB7XG4gICAgICAgIC5sb2NhdGlvbi1pdGVtX19jb250ZW50IHtcbiAgICAgICAgICAgIEBtZWRpYSBhbGwgYW5kIChtaW4td2lkdGg6ICRpdGVtQnJlYWtwb2ludCkge1xuICAgICAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDtcbiAgICAgICAgICAgICAgICBvcmRlcjogMjtcbiAgICAgICAgICAgICAgICBwYWRkaW5nOiByZW0oNTApIDAgcmVtKDUwKSByZW0oMjApO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgQG1lZGlhIGFsbCBhbmQgKG1pbi13aWR0aDogJGxnLWJyZWFrcG9pbnQpIHtcbiAgICAgICAgICAgICAgICBwYWRkaW5nOiByZW0oNTApIDAgcmVtKDUwKSByZW0oMzApO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgQG1lZGlhIGFsbCBhbmQgKG1pbi13aWR0aDogJHhsLWJyZWFrcG9pbnQpIHtcbiAgICAgICAgICAgICAgICBwYWRkaW5nOiByZW0oNTApIDAgcmVtKDUwKSByZW0oNjApO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxufVxuXG4vLyBvdmVybGF5XG4ucXVvdGUtb3ZlcmxheSB7XG4gICAgLndyYXBwZXIge1xuICAgICAgICBtYXJnaW46IDAgYXV0bztcbiAgICAgICAgQG1lZGlhIGFsbCBhbmQgKG1pbi13aWR0aDogJGl0ZW1CcmVha3BvaW50KSB7XG4gICAgICAgICAgICBtYXgtd2lkdGg6IHJlbSg1MjUpO1xuICAgICAgICAgICAgbWFyZ2luOiByZW0oMTQwKSBhdXRvO1xuICAgICAgICB9XG5cbiAgICAgICAgaDIge1xuICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgICAgICBoZWlnaHQ6IHJlbSg5NSk7XG4gICAgICAgICAgICBwYWRkaW5nOiByZW0oMzApO1xuICAgICAgICAgICAgY29sb3I6ICRvcmFuZ2U7XG4gICAgICAgICAgICBmb250LXNpemU6IHJlbSgzMik7XG4gICAgICAgICAgICBAbWVkaWEgYWxsIGFuZCAobWluLXdpZHRoOiAkaXRlbUJyZWFrcG9pbnQpIHtcbiAgICAgICAgICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IHJlbSgyMCk7XG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiByZW0oNTApO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLmZvcm0td3JhcHBlciB7XG4gICAgICAgICAgICBwYWRkaW5nOiByZW0oMzApO1xuICAgICAgICAgICAgYmFja2dyb3VuZDogJHdoaXRlO1xuXG4gICAgICAgICAgICBoMyB7XG4gICAgICAgICAgICAgICAgbWFyZ2luOiByZW0oMTUpIDAgcmVtKDI3KTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLmZvcm0tZ3JvdXBfX2JyYW5jaCxcbiAgICAgICAgICAgIC5mb3JtLWdyb3VwX19icmFuY2hFbWFpbCB7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLmJ1dHRvbiAuaWNvbi1hcnJvdyB7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxufVxuXG5ib2R5LnBhZ2UtY21zLXF1b3RldGhhbmt5b3VwYWdlIHtcbiAgICAjY29udGVudCB7XG4gICAgICAgIHBhZGRpbmctYm90dG9tOiByZW0oNjApO1xuICAgICAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKCRpdGVtQnJlYWtwb2ludCkge1xuICAgICAgICAgICAgcGFkZGluZy1ib3R0b206IHJlbSgxNTApO1xuICAgICAgICB9XG4gICAgfVxufSIsIi5wYWdlLWNtcy1ob21le1xuICAgIC5ibG9ja3MtMW9yYW5nZXtcbiAgICAgICAgbWFyZ2luOjA7XG5cbiAgICAgICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cChtZCl7XG4gICAgICAgICAgICBtYXJnaW46cmVtKDUwKSAwIDA7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBtYWluI2FwcCB7XG4gICAgICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAoeGwpe1xuICAgICAgICAgICAgYmFja2dyb3VuZDogdXJsKCcvaW1hZ2VzL2NoZXZyb24tZG93bi5zdmcnKSBuby1yZXBlYXQgY2VudGVyIHRvcCA4MDBweDtcbiAgICAgICAgfVxuICAgIH1cbn0iLCIkaXRlbUJyZWFrcG9pbnQ6ICRtZC1icmVha3BvaW50O1xuXG4vLyBwcm9kdWN0cyBsaXN0aW5nIHBhZ2Vcbi5wcm9kdWN0cy1hbmQtc2VydmljZXMge1xuICAgIHBhZGRpbmc6MCByZW0oMTIpO1xuICAgIG1hcmdpbjowO1xuXG4gICAgQG1lZGlhIGFsbCBhbmQgKG1pbi13aWR0aDogJGl0ZW1CcmVha3BvaW50KSB7XG4gICAgICAgIG1hcmdpbjowIDAgcmVtKDcwKTtcbiAgICB9XG5cbiAgICAucm93LWludHJvIHtcbiAgICAgICAgbWFyZ2luLXRvcDpyZW0oLTE1KTtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTpyZW0oNDApO1xuXG4gICAgICAgIEBtZWRpYSBhbGwgYW5kIChtaW4td2lkdGg6ICRpdGVtQnJlYWtwb2ludCkge1xuICAgICAgICAgICAgbWFyZ2luLXRvcDpyZW0oMTUpO1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTpyZW0oOTApO1xuICAgICAgICB9XG5cbiAgICAgICAgLmNvbC1pbnRybyB7XG4gICAgICAgICAgICBjb2xvcjogJG9yYW5nZTtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtKCRnZW5lcmFsLWZvbnQtc2l6ZS1tb2JpbGUpO1xuICAgICAgICAgICAgbGluZS1oZWlnaHQ6ICRnZW5lcmFsLWxpbmUtaGVpZ2h0LW1vYmlsZTtcblxuICAgICAgICAgICAgQG1lZGlhIGFsbCBhbmQgKG1pbi13aWR0aDogJGl0ZW1CcmVha3BvaW50KSB7XG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiByZW0oJGdlbmVyYWwtZm9udC1zaXplKTtcbiAgICAgICAgICAgICAgICBsaW5lLWhlaWdodDogJGdlbmVyYWwtbGluZS1oZWlnaHQ7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIHAge1xuXG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAucm93LWl0ZW1zIHtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICBtYXJnaW46IDAgMCByZW0oMjApIDA7XG4gICAgICAgICYgPiBkaXYge1xuICAgICAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgfVxuXG4gICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgIEBtZWRpYSBhbGwgYW5kIChtaW4td2lkdGg6ICRpdGVtQnJlYWtwb2ludCkge1xuICAgICAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgICAgICB0b3A6IDA7XG4gICAgICAgICAgICAgICAgYm90dG9tOiAwO1xuICAgICAgICAgICAgICAgIGxlZnQ6IHJlbSgtMik7XG4gICAgICAgICAgICAgICAgei1pbmRleDogMTA7XG4gICAgICAgICAgICAgICAgd2lkdGg6IHJlbSgzKTtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiAkd2hpdGU7XG4gICAgICAgICAgICAgICAgY29udGVudDogJyc7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBjYXJkIHN0eWxlcyBpbmhlcml0ZWQgaW4gL3BhcnRpYWxzL19wcm9kdWN0cy1hbmQtc2VydmljZXMuc2Nzc1xuICAgIC5wcm9kdWN0LWNhcmQge1xuICAgICAgICBtYXJnaW4tdG9wOiByZW0oMTYpO1xuICAgICAgICBAbWVkaWEgYWxsIGFuZCAobWluLXdpZHRoOiAkaXRlbUJyZWFrcG9pbnQpIHtcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IDA7XG4gICAgICAgIH1cblxuICAgICAgICBhe1xuICAgICAgICAgICAgdGV4dC1kZWNvcmF0aW9uOm5vbmU7XG4gICAgICAgIH1cbiAgICAgICAgJl9faW1hZ2UsXG4gICAgICAgICZfX2Rlc2NyaXB0aW9uIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgICAgICBAbWVkaWEgYWxsIGFuZCAobWluLXdpZHRoOiAkaXRlbUJyZWFrcG9pbnQpIHtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgICZfX3NwZWMge1xuICAgICAgICAgICAgZGlzcGxheTpub25lO1xuXG4gICAgICAgICAgICBAbWVkaWEgYWxsIGFuZCAobWluLXdpZHRoOiAkaXRlbUJyZWFrcG9pbnQpIHtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgYXtcbiAgICAgICAgICAgICAgICB0ZXh0LWRlY29yYXRpb246bm9uZTtcbiAgICAgICAgICAgICAgICBib3JkZXItYm90dG9tOjFweCBzb2xpZCAkYmxhY2s7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAmX19taW5pIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICBmbGV4LWZsb3c6IHJvdyBub3dyYXA7XG4gICAgICAgICAgICBwYWRkaW5nOiByZW0oMjgpIHJlbSgyMik7XG4gICAgICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG5cbiAgICAgICAgICAgIEBtZWRpYSBhbGwgYW5kIChtaW4td2lkdGg6ICRpdGVtQnJlYWtwb2ludCkge1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIGg0IHtcbiAgICAgICAgICAgICAgICBmbGV4OiAzO1xuICAgICAgICAgICAgICAgIHBhZGRpbmctcmlnaHQ6IHJlbSgxMCk7XG4gICAgICAgICAgICAgICAgY29sb3I6ICRvcmFuZ2U7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAubW9yZS1saW5rIHtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgICAgICAgICAgZmxleDogMTtcbiAgICAgICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kO1xuXG4gICAgICAgICAgICAgICAgLmljb24tYXJyb3cge1xuICAgICAgICAgICAgICAgICAgICBtYXJnaW4tbGVmdDogcmVtKDEwKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi8vIHBhZ2Ugc3BlY2lmaWMgY3VzdG9tIG1hcmdpbnNcbi5wYWdlLWNtcy1wcm9kdWN0cyB7XG4gICAgLmJsb2Nrcy0xb3JhbmdlIHtcbiAgICAgICAgbWFyZ2luOiByZW0oNjApIDA7XG4gICAgICAgIEBtZWRpYSBhbGwgYW5kIChtaW4td2lkdGg6ICRpdGVtQnJlYWtwb2ludCkge1xuICAgICAgICAgICAgbWFyZ2luOiByZW0oMTMwKSAwO1xuICAgICAgICB9XG4gICAgfVxufVxuIiwiLnBhZ2UtY21zLXByb2R1Y3RzYW5kc2VydmljZXN7XG4gICAgI2NvbnRlbnR7XG4gICAgICAgIHNlY3Rpb257XG4gICAgICAgICAgICBtYXJnaW46cmVtKDU1KSAwO1xuXG4gICAgICAgICAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKGxnKSB7XG4gICAgICAgICAgICAgICAgbWFyZ2luOnJlbSg5MCkgMDtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgJjpmaXJzdC1jaGlsZHtcbiAgICAgICAgICAgICAgICBtYXJnaW4tdG9wOjA7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG59Il19 */
