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

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

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

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

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

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

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

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

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

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

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

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

sub {
  bottom: -0.25em;
}

sup {
  top: -0.5em;
}

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

/**
* Breakpoints
*/
/*

@include media(">=phone-small") {

}

*/
/**
* Variables
*/
/**
* Fonts (@font-face)
*/
@font-face {
  font-family: Montserrat;
  src: url(../fonts/Montserrat-Regular.ttf);
  font-weight: 400;
  font-style: normal;
}
@font-face {
  font-family: Montserrat;
  src: url(../fonts/Montserrat-Bold.ttf);
  font-weight: 700;
  font-style: normal;
}
.wrap {
  width: 100%;
  height: auto;
}

.inner-wrap {
  width: 100%;
  max-width: 1400px;
  margin: 0 auto;
}

.container {
  padding-left: 20px;
  padding-right: 20px;
  transition: padding 300ms;
}
@media (min-width: 480px) {
  .container {
    padding-left: 25px;
    padding-right: 25px;
  }
}
@media (min-width: 768px) {
  .container {
    padding-left: 30px;
    padding-right: 30px;
  }
}
@media (min-width: 992px) {
  .container {
    padding-left: 60px;
    padding-right: 60px;
  }
}
@media (min-width: 1200px) {
  .container {
    padding-left: 80px;
    padding-right: 80px;
  }
}

.spacer-top {
  padding-top: 20px;
  transition: padding 300ms;
}
@media (min-width: 480px) {
  .spacer-top {
    padding-top: 25px;
  }
}
@media (min-width: 768px) {
  .spacer-top {
    padding-top: 40px;
  }
}
@media (min-width: 992px) {
  .spacer-top {
    padding-top: 60px;
  }
}
@media (min-width: 1200px) {
  .spacer-top {
    padding-top: 80px;
  }
}

.spacer-bottom {
  padding-bottom: 20px;
  transition: padding 300ms;
}
@media (min-width: 480px) {
  .spacer-bottom {
    padding-bottom: 25px;
  }
}
@media (min-width: 768px) {
  .spacer-bottom {
    padding-bottom: 40px;
  }
}
@media (min-width: 992px) {
  .spacer-bottom {
    padding-bottom: 60px;
  }
}
@media (min-width: 1200px) {
  .spacer-bottom {
    padding-bottom: 80px;
  }
}

.button {
  padding: 10px 15px;
  display: inline-block;
  background-color: #304763;
  text-transform: uppercase;
  color: #fff;
  font-weight: bold;
  border-radius: 15px 0 15px 0;
}

.category {
  display: block;
  color: #0f0f0f;
  font-weight: 600;
  font-size: 0.8rem;
  letter-spacing: -0.0625em;
}

.title {
  display: block;
  font-size: 1.4rem;
  line-height: 1.1;
  color: #3b627f;
  letter-spacing: -0.0625em;
}
.tag {
  font-size: 0.8rem;
  font-weight: 500;
  color: #999999;
  letter-spacing: -0.0425em;
}

.sr-only {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  border: 0;
}

.no-scroll {
  overflow: hidden;
}

/**
* Global styles
*/
* {
  box-sizing: border-box;
}

html {
  height: 100%;
  font-size: 100%;
  line-height: 1.7;
}

body {
  min-height: 100%;
  display: grid;
  grid-template-rows: auto 1fr auto;
  margin: 0;
  background-color: #fff;
  color: #222;
  font-family: "Montserrat", sans-serif;
}

h1, h2, h3, h4, h5, h6 {
  font-weight: bold;
}

h1 {
  margin-top: 0;
  margin-bottom: 1.4rem;
  font-size: 2.2rem;
}

h2 {
  margin-top: 0;
  margin-bottom: 1.3rem;
  font-size: 1.8rem;
  font-weight: 600;
  line-height: 1.15909em;
}

h3 {
  margin-top: 0;
  margin-bottom: 1rem;
  line-height: 1.15909em;
  font-size: 1.6rem;
}

h4 {
  margin-top: 0;
  font-size: 1.4rem;
  margin-bottom: 1rem;
}

h5 {
  margin-top: 0;
  font-size: 1.3rem;
  margin-bottom: 1rem;
}

h6 {
  margin-top: 0;
  font-size: 1.2rem;
  margin-bottom: 1rem;
}

p {
  margin: 0;
  padding-bottom: 0;
  font-size: 1.1rem;
  font-weight: 400;
  line-height: 1.5;
}

a {
  text-decoration: none;
  color: #356879;
}
ul, ol {
  margin: 0;
  padding: 0;
  list-style-position: inside;
}

/* begin button styles */
button {
  display: inline-block;
  border: none;
  padding: 0;
  margin: 0;
  text-decoration: none;
  background: none;
  cursor: pointer;
  -webkit-appearance: none;
  -moz-appearance: none;
}

/* end button styles */
/**
* Header styles
*/
.header-wrap {
  width: 100%;
  height: auto;
  grid-row-start: 1;
  grid-row-end: 2;
  position: -webkit-sticky;
  position: sticky;
  top: 0;
  z-index: 9999;
  transition: background-color 200ms, border 200ms, box-shadow 200ms;
}
.header-wrap.bg-visible {
  background-color: #304763;
  border-bottom: 5px solid #fff;
  box-shadow: 0px 1px 15px #000;
}

.top-bar-bg {
  width: 100%;
  height: 45px;
  position: absolute;
  top: 0;
  left: 0;
  z-index: 6;
  display: none;
  transition: background-color 200ms;
}
.top-bar-bg.bg-visible {
  background-color: #304763;
}
@media (min-width: 768px) {
  .top-bar-bg {
    display: block;
  }
}

.header {
  width: 100%;
  max-width: 1400px;
  margin: 0 auto;
  height: 90px;
  padding-top: 0;
  position: relative;
  display: grid;
  grid-template-columns: 1fr 100px;
  grid-template-rows: 90px auto;
  transition: background-color 200ms;
}
.header.bg-visible {
  background-color: #304763;
}
@media (min-width: 768px) {
  .header {
    height: 160px;
    padding-top: 45px;
    grid-template-columns: 1fr 100px;
    grid-template-rows: 120px 70px;
  }
}

.header-brand {
  padding-left: 20px;
  padding-right: 20px;
  transition: padding 300ms;
  padding-right: 0;
  height: 90px;
  grid-column: 1/span 1;
  grid-row: 1/span 1;
  position: relative;
  z-index: 5;
}
@media (min-width: 480px) {
  .header-brand {
    padding-left: 25px;
    padding-right: 25px;
  }
}
@media (min-width: 768px) {
  .header-brand {
    padding-left: 30px;
    padding-right: 30px;
  }
}
@media (min-width: 992px) {
  .header-brand {
    padding-left: 60px;
    padding-right: 60px;
  }
}
@media (min-width: 1200px) {
  .header-brand {
    padding-left: 80px;
    padding-right: 80px;
  }
}
@media (min-width: 768px) {
  .header-brand {
    height: 70px;
    margin-top: -35px;
  }
}
@media (min-width: 1200px) {
  .header-brand {
    margin-top: 0;
  }
}
@media (min-width: 1400px) {
  .header-brand {
    height: 115px;
    grid-column: 1/span 1;
    grid-row: 1/span 2;
    max-width: 100%;
  }
}
.header-brand a {
  max-width: 420px;
  height: 90px;
  display: flex;
  align-items: center;
  flex-direction: row;
  font-weight: bold;
  text-decoration: none;
  color: #000;
}
@media (min-width: 768px) {
  .header-brand a {
    height: 70px;
  }
}
@media (min-width: 1400px) {
  .header-brand a {
    height: 115px;
  }
}
.header-brand a .logo {
  width: 40px;
  margin-right: 15px;
  height: auto;
  text-align: center;
  display: block;
}
@media (min-width: 480px) {
  .header-brand a .logo {
    width: 70px;
    display: block;
  }
}
@media (min-width: 1400px) {
  .header-brand a .logo {
    width: 144px;
    width: auto;
    height: 115px;
    display: block;
  }
}
.header-brand a .logo-text {
  display: block;
  color: #fff;
  text-align: center;
  padding-left: 0;
}
@media (min-width: 480px) {
  .header-brand a .logo-text {
    padding-left: 20px;
    font-size: 1rem;
  }
}
.header-brand a .logo-text .logo-text-title {
  margin: 0 auto;
  display: block;
  line-height: 0.9;
  font-size: 1rem;
}
.header-brand a .logo-text .logo-text-title span.registered {
  font-size: 0.7rem;
  font-weight: normal;
  vertical-align: super;
}
@media (min-width: 480px) {
  .header-brand a .logo-text .logo-text-title {
    font-size: 1.4rem;
  }
  .header-brand a .logo-text .logo-text-title span.registered {
    font-size: 0.9rem;
  }
}
.header-brand a .logo-text .logo-text-tagline {
  margin: 10px auto 0 auto;
  line-height: 0.8;
  font-size: 0.6rem;
  font-weight: lighter;
  font-style: italic;
  display: block;
  color: #fff;
}
@media (min-width: 480px) {
  .header-brand a .logo-text .logo-text-tagline {
    font-size: 1.1rem;
  }
}

.header-nav {
  width: 100%;
  height: 0;
  position: absolute;
  top: 90px;
  display: none;
  overflow: hidden;
}
.header-nav.bg-visible {
  background-color: #304763;
}
@media (min-width: 768px) {
  .header-nav {
    height: 65px;
    display: block;
    top: 0;
    overflow: visible;
  }
}

.main-nav {
  width: 100%;
  padding-right: 0;
  padding-left: 0;
  height: auto;
  position: static;
  top: auto;
  right: auto;
  z-index: 6;
  display: block;
}
@media (min-width: 768px) {
  .main-nav {
    padding-left: 20px;
    padding-right: 20px;
    transition: padding 300ms;
    padding-left: 0;
    width: auto;
    height: 65px;
    position: absolute;
    top: 85px;
    right: 0;
  }
}
@media (min-width: 768px) and (min-width: 480px) {
  .main-nav {
    padding-left: 25px;
    padding-right: 25px;
  }
}
@media (min-width: 768px) and (min-width: 768px) {
  .main-nav {
    padding-left: 30px;
    padding-right: 30px;
  }
}
@media (min-width: 768px) and (min-width: 992px) {
  .main-nav {
    padding-left: 60px;
    padding-right: 60px;
  }
}
@media (min-width: 768px) and (min-width: 1200px) {
  .main-nav {
    padding-left: 80px;
    padding-right: 80px;
  }
}
.main-nav ul {
  width: 100%;
  height: auto;
  display: flex;
  flex-direction: column;
  align-items: center;
  list-style: none;
  border-top: 1px solid #373435;
}
@media (min-width: 768px) {
  .main-nav ul {
    width: auto;
    height: 65px;
    flex-direction: row;
    -moz-column-gap: 10px;
         column-gap: 10px;
    border-top: unset;
  }
}
.main-nav ul li {
  padding-left: 20px;
  padding-right: 20px;
  transition: padding 300ms;
  width: 100%;
  height: 45px;
  list-style: none;
  border-top: unset;
  border-bottom: 1px solid #373435;
  position: relative;
}
@media (min-width: 480px) {
  .main-nav ul li {
    padding-left: 25px;
    padding-right: 25px;
  }
}
@media (min-width: 768px) {
  .main-nav ul li {
    padding-left: 30px;
    padding-right: 30px;
  }
}
@media (min-width: 992px) {
  .main-nav ul li {
    padding-left: 60px;
    padding-right: 60px;
  }
}
@media (min-width: 1200px) {
  .main-nav ul li {
    padding-left: 80px;
    padding-right: 80px;
  }
}
@media (min-width: 768px) {
  .main-nav ul li {
    padding-right: 0;
    padding-left: 0;
    width: auto;
    height: 65px;
    border-bottom: unset;
    transition: display 300ms;
  }
  .main-nav ul li:hover > ul {
    display: block;
  }
}
.main-nav ul li a {
  width: 100%;
  height: 45px;
  padding: 0;
  position: relative;
  display: flex;
  align-items: center;
  font-weight: bold;
  font-size: 0.8rem;
  text-transform: uppercase;
  color: #fff;
}
@media (min-width: 768px) {
  .main-nav ul li a {
    width: auto;
    height: 65px;
    padding: 0 5px;
    font-size: 0.75rem;
  }
}
@media (min-width: 992px) {
  .main-nav ul li a {
    font-size: 0.8rem;
  }
}
.main-nav ul li .nav-chevron {
  display: flex;
  position: absolute;
  right: 0;
}
@media (min-width: 768px) {
  .main-nav ul li .nav-chevron {
    display: none;
  }
}
.main-nav ul li ul {
  width: 225px;
  height: auto;
  position: absolute;
  top: 62px;
  right: 0;
  list-style: none;
  display: none;
  background-color: #e0e0e0;
  border-top: 1px solid #fff;
}
.main-nav ul li ul::before {
  content: "";
  width: 0;
  height: 0;
  border-top: 10px solid transparent;
  border-bottom: 10px solid transparent;
  border-left: 10px solid #e0e0e0;
  transform: rotate(45deg);
  position: absolute;
  top: -12px;
  right: -1px;
  z-index: 1001;
}
.main-nav ul li ul li {
  width: 225px;
  height: 35px;
  list-style: none;
  display: block;
  border-top: 1px solid #fff;
}
.main-nav ul li ul li:nth-child(1) {
  border-top: 1px solid #999999;
}
.main-nav ul li ul li:nth-child(2) {
  border-top: 1px solid #fff;
}
.main-nav ul li ul li:nth-child(3) {
  border-top: 1px solid #fff;
}
.main-nav ul li ul li:nth-child(4) {
  border-top: 1px solid #fff;
}
.main-nav ul li ul li a {
  width: 100%;
  height: 35px;
  padding-left: 10px;
  display: flex;
  align-items: center;
  text-decoration: none;
}
.main-nav ul li ul li a:hover {
  text-decoration: underline;
}

.top-nav {
  padding-left: 20px;
  padding-right: 20px;
  transition: padding 300ms;
  width: 100%;
  height: 45px;
  position: relative;
  top: auto;
  left: auto;
  z-index: 6;
  display: block;
  clear: both;
}
@media (min-width: 480px) {
  .top-nav {
    padding-left: 25px;
    padding-right: 25px;
  }
}
@media (min-width: 768px) {
  .top-nav {
    padding-left: 30px;
    padding-right: 30px;
  }
}
@media (min-width: 992px) {
  .top-nav {
    padding-left: 60px;
    padding-right: 60px;
  }
}
@media (min-width: 1200px) {
  .top-nav {
    padding-left: 80px;
    padding-right: 80px;
  }
}
@media (min-width: 768px) {
  .top-nav {
    width: 50%;
    position: absolute;
    top: 0;
    right: 36px;
    z-index: 6;
  }
}
.top-nav ul {
  width: 100%;
  padding-right: 60px;
  height: 45px;
  display: flex;
  flex-direction: row;
  list-style: none;
  -moz-column-gap: 30px;
       column-gap: 30px;
  flex-flow: row;
}
@media (min-width: 768px) {
  .top-nav ul {
    width: auto;
    flex-flow: row-reverse;
  }
}
.top-nav ul li {
  list-style: none;
  display: flex;
  align-items: center;
}
.top-nav ul li a {
  text-transform: uppercase;
  text-decoration: none;
  color: #fff;
  font-weight: bold;
  font-size: 12px;
  display: flex;
}
@media (min-width: 768px) {
  .top-nav ul li a {
    height: 45px;
    align-items: center;
  }
}
.slide-line {
  height: 3px;
  background-color: #fff;
}

.header-buttons {
  padding-left: 20px;
  padding-right: 20px;
  transition: padding 300ms;
  width: auto;
  height: 90px;
  display: flex;
  align-items: center;
  position: absolute;
  top: 0;
  right: 0;
  z-index: 6;
}
@media (min-width: 480px) {
  .header-buttons {
    padding-left: 25px;
    padding-right: 25px;
  }
}
@media (min-width: 768px) {
  .header-buttons {
    padding-left: 30px;
    padding-right: 30px;
  }
}
@media (min-width: 992px) {
  .header-buttons {
    padding-left: 60px;
    padding-right: 60px;
  }
}
@media (min-width: 1200px) {
  .header-buttons {
    padding-left: 80px;
    padding-right: 80px;
  }
}
@media (min-width: 768px) {
  .header-buttons {
    height: 45px;
    padding-left: 0;
  }
}

.glass {
  padding: 8px 10px;
  display: flex;
  align-items: center;
  top: auto;
}
@media (min-width: 768px) {
  .glass {
    height: 45px;
    border: unset;
  }
}
.glass i {
  color: #fff;
}
.glass i:hover {
  color: #e0e0e0;
}
@media (min-width: 768px) {
  .glass i {
    color: #fff;
  }
}

.burger {
  margin-left: 0;
  padding: 8px 10px;
  display: flex;
  align-items: center;
}
@media (min-width: 340px) {
  .burger {
    margin-left: 10px;
  }
}
@media (min-width: 768px) {
  .burger {
    display: none;
  }
}
.burger i {
  color: #fff;
}
.burger i:hover {
  color: #e0e0e0;
}

.site-search-wrap {
  width: 100%;
  height: auto;
  height: auto;
  display: none;
  position: absolute;
  top: 90px;
  left: 0;
  background-color: #304763;
  z-index: 6;
  border-bottom: 2px solid #3c5f8a;
}
@media (min-width: 768px) {
  .site-search-wrap {
    top: 45px;
  }
}
.site-search-wrap .site-search {
  padding-left: 20px;
  padding-right: 20px;
  transition: padding 300ms;
}
@media (min-width: 480px) {
  .site-search-wrap .site-search {
    padding-left: 25px;
    padding-right: 25px;
  }
}
@media (min-width: 768px) {
  .site-search-wrap .site-search {
    padding-left: 30px;
    padding-right: 30px;
  }
}
@media (min-width: 992px) {
  .site-search-wrap .site-search {
    padding-left: 60px;
    padding-right: 60px;
  }
}
@media (min-width: 1200px) {
  .site-search-wrap .site-search {
    padding-left: 80px;
    padding-right: 80px;
  }
}

.site-search {
  width: 100%;
  max-width: 1400px;
  margin: 0 auto;
  height: auto;
  padding: 35px 0;
  display: grid;
  grid-template-columns: 1fr 50px 0px;
  grid-template-rows: auto auto;
}
@media (min-width: 768px) {
  .site-search {
    grid-template-columns: 1.8fr 1.2fr 50px;
    grid-template-rows: auto 0px;
  }
}

.search-query {
  height: 50px;
  padding: 0;
  grid-column: 1/span 2;
  grid-row: 1;
  align-self: center;
}
@media (min-width: 768px) {
  .search-query {
    padding: 0;
    grid-column: 1/span 1;
    grid-row: 1;
  }
}
.search-query label {
  width: 100%;
  max-width: 100%;
  height: 30px;
  color: #fff;
  display: block;
  text-transform: uppercase;
  text-align: left;
  display: none;
}
.search-query input {
  width: 100%;
  max-width: 100%;
  height: 50px;
  padding-left: 20px;
  border: 2px solid #fff;
  border-radius: 20px 0 0 0;
  display: block;
  background-color: #fff;
  color: #0f0f0f;
}

.search-context {
  height: 50px;
  padding: 0 20px 0 0;
  grid-column: 1/span 1;
  grid-row: 2;
  align-self: center;
}
@media (min-width: 768px) {
  .search-context {
    grid-column: 2/span 1;
    grid-row: 1;
    padding: 0 20px 0 0;
  }
}
.search-context label {
  width: 100%;
  max-width: 100%;
  height: 30px;
  color: #fff;
  display: block;
  text-transform: uppercase;
  text-align: left;
  display: none;
}
.search-context select {
  width: 100%;
  max-width: 100%;
  height: 50px;
  padding-left: 15px;
  border: 2px solid #fff;
  border-radius: 0 0 20px 0;
  display: block;
  background-color: #3c5f8a;
  background-image: linear-gradient(#446b9c, #345378);
  color: #fff;
}
.search-context select option {
  padding-left: 15px;
}

.search-submit {
  width: 50px;
  height: 50px;
  grid-column: 2/span 1;
  grid-row: 2;
  align-self: start;
  color: #304763;
  font-size: 1.4rem;
  border-radius: 20px 0;
  background-color: #3c5f8a;
  background-image: linear-gradient(#fafafa, #c7c7c7);
  transition: background-color 200ms;
}
@media (min-width: 768px) {
  .search-submit {
    grid-column: 3/span 1;
    grid-row: 1;
    align-self: start;
  }
}
.search-submit:hover {
  background-image: linear-gradient(#e0e0e0, #adadad);
}

/**
* Content styles
*/
.main-wrap {
  width: 100%;
  height: auto;
  grid-row-start: 2;
  grid-row-end: 3;
  margin-top: -135px;
}
@media (min-width: 768px) {
  .main-wrap {
    margin-top: -160px;
  }
}

.main {
  height: 100%;
  overflow: hidden;
}

.page-content {
  display: grid;
  grid-template-columns: 1fr;
  grid-template-rows: auto;
}
@media (min-width: 768px) {
  .page-content {
    grid-template-columns: 1fr;
    grid-template-rows: auto;
  }
}

.page-content.side {
  grid-template-columns: 1fr 0px;
  grid-template-rows: auto auto;
}
@media (min-width: 768px) {
  .page-content.side {
    grid-template-columns: 1fr 286px;
    grid-template-rows: auto 0px;
  }
}

.page-main {
  width: 100%;
  padding-right: 0;
  grid-column: 1/span 1;
  grid-row: 2;
}
@media (min-width: 768px) {
  .page-main {
    grid-column: 1/span 1;
    grid-row: 1;
  }
}
.page-main h2 {
  margin-top: 50px;
}
.page-main h2:first-child {
  margin-top: 0;
}
.page-main h3 {
  margin-top: 40px;
}
.page-main h4 {
  margin-top: 40px;
}
.page-main h5 {
  margin-top: 40px;
}
.page-main h6 {
  margin-top: 40px;
}
.page-main p {
  margin-bottom: 25px;
}
.page-main ul {
  padding-left: 20px;
  line-height: 1.5;
  list-style-position: outside;
}
.page-main ul li {
  margin-bottom: 15px;
}

.side .page-main {
  padding-right: 0;
}
@media (min-width: 768px) {
  .side .page-main {
    padding-right: 100px;
  }
}

.page-header {
  width: 100%;
  height: auto;
  background-repeat: no-repeat;
  background-size: cover;
  background-position: center 80%;
  position: relative;
  z-index: 1;
  background-color: #304763;
  background-blend-mode: screen;
}
.page-header-overlay {
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
  z-index: 2;
  background-image: linear-gradient(rgba(0, 0, 0, 0.8), rgba(0, 0, 0, 0.8));
  opacity: 0.7;
}

.page-header-box-wrap {
  width: 100%;
  max-width: 1400px;
  margin: 0 auto;
  min-height: 100%;
  height: auto;
  padding-top: 130px;
  position: relative;
  z-index: 3;
  display: flex;
  align-items: center;
}
@media (min-width: 768px) {
  .page-header-box-wrap {
    padding-left: 20px;
    padding-right: 20px;
    transition: padding 300ms;
    padding-top: 195px;
  }
}
@media (min-width: 768px) and (min-width: 480px) {
  .page-header-box-wrap {
    padding-left: 25px;
    padding-right: 25px;
  }
}
@media (min-width: 768px) and (min-width: 768px) {
  .page-header-box-wrap {
    padding-left: 30px;
    padding-right: 30px;
  }
}
@media (min-width: 768px) and (min-width: 992px) {
  .page-header-box-wrap {
    padding-left: 60px;
    padding-right: 60px;
  }
}
@media (min-width: 768px) and (min-width: 1200px) {
  .page-header-box-wrap {
    padding-left: 80px;
    padding-right: 80px;
  }
}

.page-header-box {
  padding-left: 20px;
  padding-right: 20px;
  transition: padding 300ms;
  padding-top: 20px;
  transition: padding 300ms;
  padding-bottom: 20px;
  transition: padding 300ms;
  width: 100%;
  height: 100%;
  text-align: left;
  /*.logo {
    width: 100px;
    height: auto;
    position: absolute;
    top: 40px;
    right: 40px;
  }*/
  /*a {
    padding-bottom: 25px;
    display: block;
    font-weight: bold;
    color: $offWhite;

    &:hover {
      text-decoration: underline;
    }
  }*/
}
@media (min-width: 480px) {
  .page-header-box {
    padding-left: 25px;
    padding-right: 25px;
  }
}
@media (min-width: 768px) {
  .page-header-box {
    padding-left: 30px;
    padding-right: 30px;
  }
}
@media (min-width: 992px) {
  .page-header-box {
    padding-left: 60px;
    padding-right: 60px;
  }
}
@media (min-width: 1200px) {
  .page-header-box {
    padding-left: 80px;
    padding-right: 80px;
  }
}
@media (min-width: 480px) {
  .page-header-box {
    padding-top: 25px;
  }
}
@media (min-width: 768px) {
  .page-header-box {
    padding-top: 40px;
  }
}
@media (min-width: 992px) {
  .page-header-box {
    padding-top: 60px;
  }
}
@media (min-width: 1200px) {
  .page-header-box {
    padding-top: 80px;
  }
}
@media (min-width: 480px) {
  .page-header-box {
    padding-bottom: 25px;
  }
}
@media (min-width: 768px) {
  .page-header-box {
    padding-bottom: 40px;
  }
}
@media (min-width: 992px) {
  .page-header-box {
    padding-bottom: 60px;
  }
}
@media (min-width: 1200px) {
  .page-header-box {
    padding-bottom: 80px;
  }
}
.page-header-box h1 {
  margin: 0;
  padding: 0;
  display: block;
  color: #fff;
  font-size: 1.6rem;
  line-height: 1.3;
  padding-bottom: 25px;
  font-style: italic;
}
@media (min-width: 768px) {
  .page-header-box h1 {
    font-size: 2.2rem;
  }
}
.page-header-box p {
  margin: 0;
  display: block;
  font-size: 1rem;
  font-weight: 500;
  color: #fff;
}
@media (min-width: 768px) {
  .page-header-box p {
    font-size: 1.2rem;
  }
}

.page-sidebar {
  padding-bottom: 20px;
  transition: padding 300ms;
  width: 100%;
  grid-column: 1/span 1;
  grid-row: 1;
}
@media (min-width: 480px) {
  .page-sidebar {
    padding-bottom: 25px;
  }
}
@media (min-width: 768px) {
  .page-sidebar {
    padding-bottom: 40px;
  }
}
@media (min-width: 992px) {
  .page-sidebar {
    padding-bottom: 60px;
  }
}
@media (min-width: 1200px) {
  .page-sidebar {
    padding-bottom: 80px;
  }
}
@media (min-width: 768px) {
  .page-sidebar {
    grid-column: 2/span 1;
    grid-row: 1;
  }
}

.page-sidebar-heading {
  text-transform: uppercase;
  font-size: 0.8em;
  margin: 10px 0 0 0;
  padding: 15px 0 15px 15px;
  display: block;
  border-top: 3px solid #e0e0e0;
  background-color: #373435;
  font-weight: 900;
  color: #fff;
}
.page-sidebar-heading:first-child {
  margin: 0 0 0 0;
}

.side-nav {
  width: 100%;
  height: auto;
}
.side-nav ul.menu {
  width: 100%;
  height: auto;
  display: block;
  list-style: none;
  background-color: #373435;
  background-color: #e0e0e0;
}
.side-nav ul.menu li {
  width: 100%;
  min-height: 45px;
  display: block;
  list-style: none;
  line-height: 45px;
  border-bottom: 1px solid #fff;
  /*.current_page_item {
    background-color: $gray;
    color: $offWhite;

    a {
      color: $offWhite;
    }
  }*/
}
.side-nav ul.menu li a {
  width: 100%;
  height: 45px;
  padding: 0 0 0 15px;
  font-weight: bold;
  font-size: 0.8rem;
  color: #fff;
  line-height: 45px;
  color: #0f0f0f;
}
.side-nav ul.menu li a:hover {
  color: #3b627f;
}
.side-nav ul.menu li ul.sub-menu {
  background-color: #e0e0e0;
}
.side-nav ul.menu li ul.sub-menu li {
  border-bottom: 1px solid #fff;
}
.side-nav ul.menu li ul.sub-menu li a {
  padding-left: 30px;
  color: #0f0f0f;
}
.side-nav ul.menu li ul.sub-menu li ul.sub-menu {
  background-color: #fff;
}
.side-nav ul.menu li ul.sub-menu li ul.sub-menu li a {
  padding-left: 45px;
  font-weight: normal;
}

.listing {
  margin-bottom: 20px;
  padding-bottom: 20px;
  display: grid;
  grid-template-columns: 280px 1fr;
  border-bottom: 2px solid #f2f2f2;
}
.listing:last-child {
  margin-bottom: 0;
  padding-bottom: 15px;
  border-bottom: none;
}

.listing-left {
  padding: 20px;
  grid-column: 1/span 1;
  background-color: #3b627f;
  font-size: 0.9rem;
  font-weight: bold;
}
.listing-left img {
  width: 100%;
  margin-bottom: 10px;
}

.listing-right {
  padding-left: 20px;
  grid-column: 2/span 1;
}

.coming-soon-wrap {
  width: 100%;
  height: auto;
}

.coming-soon {
  width: 100%;
  max-width: 1400px;
  margin: 0 auto;
  padding-left: 20px;
  padding-right: 20px;
  transition: padding 300ms;
  padding-top: 20px;
  transition: padding 300ms;
  padding-bottom: 20px;
  transition: padding 300ms;
  text-align: center;
}
@media (min-width: 480px) {
  .coming-soon {
    padding-left: 25px;
    padding-right: 25px;
  }
}
@media (min-width: 768px) {
  .coming-soon {
    padding-left: 30px;
    padding-right: 30px;
  }
}
@media (min-width: 992px) {
  .coming-soon {
    padding-left: 60px;
    padding-right: 60px;
  }
}
@media (min-width: 1200px) {
  .coming-soon {
    padding-left: 80px;
    padding-right: 80px;
  }
}
@media (min-width: 480px) {
  .coming-soon {
    padding-top: 25px;
  }
}
@media (min-width: 768px) {
  .coming-soon {
    padding-top: 40px;
  }
}
@media (min-width: 992px) {
  .coming-soon {
    padding-top: 60px;
  }
}
@media (min-width: 1200px) {
  .coming-soon {
    padding-top: 80px;
  }
}
@media (min-width: 480px) {
  .coming-soon {
    padding-bottom: 25px;
  }
}
@media (min-width: 768px) {
  .coming-soon {
    padding-bottom: 40px;
  }
}
@media (min-width: 992px) {
  .coming-soon {
    padding-bottom: 60px;
  }
}
@media (min-width: 1200px) {
  .coming-soon {
    padding-bottom: 80px;
  }
}
.coming-soon h2 {
  color: #304763;
}

/*
  .page-search-search-wrap {
    @include wrap;
    background-color: $brandPrimary;
  }
    .page-search-search-wrap {
      @include container;
      //@include spacer-top;
    }

  .page-search-wrap {
    @include wrap;
  }
    .page-search-wrap {
      @include container;
      @include spacer-top;
    }
*/
/**
* Footer styles
*/
.footer-wrap {
  grid-row-start: 3;
  grid-row-end: 4;
  background-color: #304763;
  border-top: 3px solid #fff;
}

.footer {
  text-align: center;
  overflow: hidden;
  padding-top: 2rem;
  padding-bottom: 2rem;
  color: #fff;
}

.footer-nav {
  padding-bottom: 30px;
  display: none;
}
@media (min-width: 768px) {
  .footer-nav {
    width: auto;
  }
}
.footer-nav ul {
  width: 100%;
  height: auto;
  display: flex;
  flex-direction: column;
  align-items: center;
  list-style: none;
}
@media (min-width: 768px) {
  .footer-nav ul {
    width: auto;
    flex-direction: row;
  }
}
.footer-nav ul li {
  padding-left: 20px;
  padding-right: 20px;
  transition: padding 300ms;
  width: 100%;
  height: 45px;
  list-style: none;
  position: relative;
}
@media (min-width: 480px) {
  .footer-nav ul li {
    padding-left: 25px;
    padding-right: 25px;
  }
}
@media (min-width: 768px) {
  .footer-nav ul li {
    padding-left: 30px;
    padding-right: 30px;
  }
}
@media (min-width: 992px) {
  .footer-nav ul li {
    padding-left: 60px;
    padding-right: 60px;
  }
}
@media (min-width: 1200px) {
  .footer-nav ul li {
    padding-left: 80px;
    padding-right: 80px;
  }
}
@media (min-width: 768px) {
  .footer-nav ul li {
    width: auto;
  }
}
.footer-nav ul li a {
  width: 100%;
  height: 45px;
  padding: 0;
  position: relative;
  display: flex;
  align-items: center;
  font-size: 1rem;
  color: #fff;
  text-align: center;
}
@media (min-width: 768px) {
  .footer-nav ul li a {
    width: auto;
    padding: 0 5px;
  }
}

.copyright {
  margin: 0;
  padding: 0;
  font-size: 10px;
}

/**
* Miscellaneous styles
*/
.home-banner {
  width: 100%;
  min-height: 300px;
  height: auto;
  background-repeat: no-repeat;
  background-size: cover;
  background-position: center;
  position: relative;
}
.home-banner-overlay {
  width: 100%;
  height: 100%;
  display: flex;
  align-items: center;
  position: absolute;
  top: 0;
  left: 0;
  background-color: rgba(51, 51, 51, 0.8);
  /*.logo {
    width: 60px;
    height: auto;
    position: absolute;
    top: 20px;
    right: 20px;

    @include media(">=tablet") {
      width: 100px;
      top: 40px;
      right: 40px;
    }
  }*/
  /*a {
    @include button;
  }*/
}
.home-banner-overlay .home-banner-box-wrap {
  padding-left: 20px;
  padding-right: 20px;
  transition: padding 300ms;
  margin: 0 auto;
  padding-top: 90px;
  text-align: center;
}
@media (min-width: 480px) {
  .home-banner-overlay .home-banner-box-wrap {
    padding-left: 25px;
    padding-right: 25px;
  }
}
@media (min-width: 768px) {
  .home-banner-overlay .home-banner-box-wrap {
    padding-left: 30px;
    padding-right: 30px;
  }
}
@media (min-width: 992px) {
  .home-banner-overlay .home-banner-box-wrap {
    padding-left: 60px;
    padding-right: 60px;
  }
}
@media (min-width: 1200px) {
  .home-banner-overlay .home-banner-box-wrap {
    padding-left: 80px;
    padding-right: 80px;
  }
}
@media (min-width: 768px) {
  .home-banner-overlay .home-banner-box-wrap {
    padding-top: 115px;
  }
}
.home-banner-overlay .home-banner-box {
  width: 100%;
  max-width: 1400px;
  margin: 0 auto;
  padding-top: 20px;
  transition: padding 300ms;
  padding-bottom: 20px;
  transition: padding 300ms;
  width: auto;
  text-align: center;
  opacity: 0.8;
  margin: 0 auto;
}
@media (min-width: 480px) {
  .home-banner-overlay .home-banner-box {
    padding-top: 25px;
  }
}
@media (min-width: 768px) {
  .home-banner-overlay .home-banner-box {
    padding-top: 40px;
  }
}
@media (min-width: 992px) {
  .home-banner-overlay .home-banner-box {
    padding-top: 60px;
  }
}
@media (min-width: 1200px) {
  .home-banner-overlay .home-banner-box {
    padding-top: 80px;
  }
}
@media (min-width: 480px) {
  .home-banner-overlay .home-banner-box {
    padding-bottom: 25px;
  }
}
@media (min-width: 768px) {
  .home-banner-overlay .home-banner-box {
    padding-bottom: 40px;
  }
}
@media (min-width: 992px) {
  .home-banner-overlay .home-banner-box {
    padding-bottom: 60px;
  }
}
@media (min-width: 1200px) {
  .home-banner-overlay .home-banner-box {
    padding-bottom: 80px;
  }
}
.home-banner-overlay .home-banner-box span {
  width: auto;
  padding: 30px 40px;
  font-size: 1.6em;
  line-height: 1;
  color: #fff;
  display: block;
}
@media (min-width: 768px) {
  .home-banner-overlay .home-banner-box span {
    padding: 40px 50px;
    font-size: 2.8em;
  }
}

.home-info-wrap {
  width: 100%;
  height: auto;
  background-color: #fff;
}

.home-info {
  width: 100%;
  max-width: 1400px;
  margin: 0 auto;
  padding-left: 20px;
  padding-right: 20px;
  transition: padding 300ms;
  padding-top: 20px;
  transition: padding 300ms;
  padding-bottom: 20px;
  transition: padding 300ms;
  text-align: center;
}
@media (min-width: 480px) {
  .home-info {
    padding-left: 25px;
    padding-right: 25px;
  }
}
@media (min-width: 768px) {
  .home-info {
    padding-left: 30px;
    padding-right: 30px;
  }
}
@media (min-width: 992px) {
  .home-info {
    padding-left: 60px;
    padding-right: 60px;
  }
}
@media (min-width: 1200px) {
  .home-info {
    padding-left: 80px;
    padding-right: 80px;
  }
}
@media (min-width: 480px) {
  .home-info {
    padding-top: 25px;
  }
}
@media (min-width: 768px) {
  .home-info {
    padding-top: 40px;
  }
}
@media (min-width: 992px) {
  .home-info {
    padding-top: 60px;
  }
}
@media (min-width: 1200px) {
  .home-info {
    padding-top: 80px;
  }
}
@media (min-width: 480px) {
  .home-info {
    padding-bottom: 25px;
  }
}
@media (min-width: 768px) {
  .home-info {
    padding-bottom: 40px;
  }
}
@media (min-width: 992px) {
  .home-info {
    padding-bottom: 60px;
  }
}
@media (min-width: 1200px) {
  .home-info {
    padding-bottom: 80px;
  }
}
.home-info h2 {
  margin-top: 0;
  margin-bottom: 20px;
  color: #304763;
}
.home-info .home-search {
  margin-top: 30px;
  margin-bottom: 30px;
  background-color: #304763;
  border-radius: 28px 0;
  padding-right: 12px;
  padding-left: 12px;
}
.home-info .home-search .site-search {
  padding-top: 10px;
  padding-bottom: 10px;
}
.home-info .home-search .header-search-query input {
  background-color: #e0e0e0;
  color: #304763;
}
.home-info p {
  margin-bottom: 0;
  font-size: 1.2rem;
  color: #304763;
}
.home-info .button {
  background-color: #fff;
  color: #304763;
}

.home-nooks-wrap {
  width: 100%;
  height: auto;
  background-color: #f2f2f2;
}

.home-nooks {
  width: 100%;
  max-width: 1400px;
  margin: 0 auto;
  padding-left: 20px;
  padding-right: 20px;
  transition: padding 300ms;
  padding-top: 20px;
  transition: padding 300ms;
  padding-bottom: 20px;
  transition: padding 300ms;
}
@media (min-width: 480px) {
  .home-nooks {
    padding-left: 25px;
    padding-right: 25px;
  }
}
@media (min-width: 768px) {
  .home-nooks {
    padding-left: 30px;
    padding-right: 30px;
  }
}
@media (min-width: 992px) {
  .home-nooks {
    padding-left: 60px;
    padding-right: 60px;
  }
}
@media (min-width: 1200px) {
  .home-nooks {
    padding-left: 80px;
    padding-right: 80px;
  }
}
@media (min-width: 480px) {
  .home-nooks {
    padding-top: 25px;
  }
}
@media (min-width: 768px) {
  .home-nooks {
    padding-top: 40px;
  }
}
@media (min-width: 992px) {
  .home-nooks {
    padding-top: 60px;
  }
}
@media (min-width: 1200px) {
  .home-nooks {
    padding-top: 80px;
  }
}
@media (min-width: 480px) {
  .home-nooks {
    padding-bottom: 25px;
  }
}
@media (min-width: 768px) {
  .home-nooks {
    padding-bottom: 40px;
  }
}
@media (min-width: 992px) {
  .home-nooks {
    padding-bottom: 60px;
  }
}
@media (min-width: 1200px) {
  .home-nooks {
    padding-bottom: 80px;
  }
}

.home-nooks-header {
  text-align: center;
  padding-bottom: 40px;
  color: #304763;
}

.home-nooks-books {
  display: grid;
  grid-template-columns: repeat(1, 1fr);
  grid-column-gap: 0;
  grid-row-gap: 30px;
}
@media (min-width: 768px) {
  .home-nooks-books {
    grid-template-columns: repeat(6, 1fr);
    grid-column-gap: 2%;
    grid-row-gap: 0;
  }
}

.home-nook {
  min-width: 100%;
  display: flex;
  align-items: center;
  background-color: #304763;
  border-radius: 40% 0 40% 0;
  aspect-ratio: 1/1;
  text-align: center;
  color: #fff;
}
.home-nook .home-nook-inner {
  display: block;
  margin: 0 auto;
  text-align: center;
}
.home-nook .home-nook-inner i {
  margin-bottom: 15px;
  display: block;
  width: 100%;
  font-size: 3rem;
}
.home-nook .home-nook-inner h3 {
  display: block;
  font-size: 1.2rem;
}

.home-connections-wrap {
  width: 100%;
  height: auto;
  background-color: #f2f2f2;
  position: relative;
}

.home-connections-overlay {
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
}

.home-connections {
  width: 100%;
  max-width: 1400px;
  margin: 0 auto;
  padding-left: 20px;
  padding-right: 20px;
  transition: padding 300ms;
  padding-top: 20px;
  transition: padding 300ms;
  padding-bottom: 20px;
  transition: padding 300ms;
  color: #304763;
  text-align: center;
  position: relative;
  z-index: 3;
}
@media (min-width: 480px) {
  .home-connections {
    padding-left: 25px;
    padding-right: 25px;
  }
}
@media (min-width: 768px) {
  .home-connections {
    padding-left: 30px;
    padding-right: 30px;
  }
}
@media (min-width: 992px) {
  .home-connections {
    padding-left: 60px;
    padding-right: 60px;
  }
}
@media (min-width: 1200px) {
  .home-connections {
    padding-left: 80px;
    padding-right: 80px;
  }
}
@media (min-width: 480px) {
  .home-connections {
    padding-top: 25px;
  }
}
@media (min-width: 768px) {
  .home-connections {
    padding-top: 40px;
  }
}
@media (min-width: 992px) {
  .home-connections {
    padding-top: 60px;
  }
}
@media (min-width: 1200px) {
  .home-connections {
    padding-top: 80px;
  }
}
@media (min-width: 480px) {
  .home-connections {
    padding-bottom: 25px;
  }
}
@media (min-width: 768px) {
  .home-connections {
    padding-bottom: 40px;
  }
}
@media (min-width: 992px) {
  .home-connections {
    padding-bottom: 60px;
  }
}
@media (min-width: 1200px) {
  .home-connections {
    padding-bottom: 80px;
  }
}
.home-connections p {
  margin-bottom: 40px;
}

.home-connections-connections {
  display: grid;
  grid-template-columns: 1fr;
  grid-template-rows: auto auto;
  grid-column-gap: 0;
  grid-row-gap: 30px;
}
@media (min-width: 768px) {
  .home-connections-connections {
    grid-template-columns: 1fr 1fr;
    grid-template-rows: auto;
    grid-column-gap: 5%;
    grid-row-gap: 0;
  }
}

.home-connection {
  min-height: 280px;
  max-width: 100%;
  background-position: center;
  background-repeat: no-repeat;
  background-size: cover;
  position: relative;
  border-radius: 25px 0;
  border: 2px solid #304763;
  /*&:nth-child(3) {
    grid-column: 1 / span 1;
    grid-row: 3 / span 1;

    @include media(">=tablet") {
      grid-column: 3 / span 1;
      grid-row: 1 / span 1;
    }
  }*/
}
.home-connection:nth-child(1) {
  grid-column: 1/span 1;
  grid-row: 1/span 1;
}
@media (min-width: 768px) {
  .home-connection:nth-child(1) {
    grid-column: 1/span 1;
    grid-row: 1/span 1;
  }
}
.home-connection:nth-child(2) {
  grid-column: 1/span 1;
  grid-row: 2/span 1;
}
@media (min-width: 768px) {
  .home-connection:nth-child(2) {
    grid-column: 2/span 1;
    grid-row: 1/span 1;
  }
}
.home-connection a {
  display: block;
  height: 100%;
}

.home-connection-title {
  width: 100%;
  min-height: 60px;
  padding: 15px;
  background-color: rgba(51, 51, 51, 0.8);
  display: flex;
  align-items: center;
  justify-content: center;
  position: absolute;
  bottom: 0;
  text-align: center;
  text-transform: uppercase;
  font-weight: bold;
  color: #fff;
  border-radius: 0 0 25px 0;
}
/*# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIl9jb21tb24uc2NzcyIsImxpYnJhcmllcy9fbm9ybWFsaXplLnNjc3MiLCJob21lLmNzcyIsInBhcnRpYWxzL19icmVha3BvaW50cy5zY3NzIiwicGFydGlhbHMvX3ZhcmlhYmxlcy5zY3NzIiwicGFydGlhbHMvX2ZvbnRzLnNjc3MiLCJwYXJ0aWFscy9fbWl4aW5zLnNjc3MiLCJsaWJyYXJpZXMvX2luY2x1ZGUtbWVkaWEuc2NzcyIsInBhcnRpYWxzL19nbG9iYWwuc2NzcyIsInBhcnRpYWxzL19oZWFkZXIuc2NzcyIsInBhcnRpYWxzL19jb250ZW50LnNjc3MiLCJwYXJ0aWFscy9fZm9vdGVyLnNjc3MiLCJwYXJ0aWFscy9fbWlzYy5zY3NzIiwiaG9tZS5zY3NzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOztDQUFBO0FDQUEsMkVBQUE7QUFFQTsrRUFBQTtBQUdBOzs7RUFBQTtBQUtBO0VBQ0UsaUJBQUE7RUFBbUIsTUFBQTtFQUNuQiw4QkFBQTtFQUFnQyxNQUFBO0FDR2xDOztBREFBOytFQUFBO0FBR0E7O0VBQUE7QUFJQTtFQUNFLFNBQUE7QUNDRjs7QURFQTs7RUFBQTtBQUlBO0VBQ0UsY0FBQTtBQ0FGOztBREdBOzs7RUFBQTtBQUtBO0VBQ0UsY0FBQTtFQUNBLGdCQUFBO0FDREY7O0FESUE7K0VBQUE7QUFHQTs7O0VBQUE7QUFLQTtFQUNFLHVCQUFBO0VBQXlCLE1BQUE7RUFDekIsU0FBQTtFQUFXLE1BQUE7RUFDWCxpQkFBQTtFQUFtQixNQUFBO0FDQXJCOztBREdBOzs7RUFBQTtBQUtBO0VBQ0UsaUNBQUE7RUFBbUMsTUFBQTtFQUNuQyxjQUFBO0VBQWdCLE1BQUE7QUNDbEI7O0FERUE7K0VBQUE7QUFHQTs7RUFBQTtBQUlBO0VBQ0UsNkJBQUE7QUNERjs7QURJQTs7O0VBQUE7QUFLQTtFQUNFLG1CQUFBO0VBQXFCLE1BQUE7RUFDckIsMEJBQUE7RUFBNEIsTUFBQTtFQUM1Qix5Q0FBQTtVQUFBLGlDQUFBO0VBQW1DLE1BQUE7QUND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YUFBQTtFQUdBLGtDQUFBO0FQMGxCSjtBT3hsQkk7RUFDRSx5QkxNUztBRm9sQmY7QUtoRkk7RUV2aEJGO0lBaUJJLGNBQUE7RVAwbEJKO0FBQ0Y7O0FPdmxCRTtFSGpDQSxXQUFBO0VBQ0EsaUJGTlU7RUVPVixjQUFBO0VHaUNFLFlMbkNpQjtFS29DakIsY0FBQTtFQUNBLGtCQUFBO0VBR0EsYUFBQTtFQUNBLGdDQUFBO0VBQ0EsNkJBQUE7RUFDQSxrQ0FBQTtBUDBsQko7QU94bEJJO0VBQ0UseUJMZlM7QUZ5bUJmO0FLckdJO0VFbGdCRjtJQWlCSSxhQUFBO0lBQ0EsaUJMcERTO0lLcURULGdDQUFBO0lBQ0EsOEJBQUE7RVAwbEJKO0FBQ0Y7O0FPeGxCSTtFSDlDRixrQkZQdUI7RUVRdkIsbUJGUnVCO0VFU3ZCLHlCQUFBO0VHOENJLGdCQUFBO0VBQ0EsWUwzRGU7RUs0RGYscUJBQUE7RUFDQSxrQkFBQTtFQUNBLGtCQUFBO0VBQ0EsVUFBQTtBUDZsQk47QUt6SEk7RUUzZUE7SUh6Q0Esa0JGWHlCO0lFWXpCLG1CRlp5QjtFRjZwQjNCO0FBQ0Y7QUsvSEk7RUUzZUE7SUhwQ0Esa0JGZnFCO0lFZ0JyQixtQkZoQnFCO0VGa3FCdkI7QUFDRjtBS3JJSTtFRTNlQTtJSC9CQSxrQkZuQnFCO0lFb0JyQixtQkZwQnFCO0VGdXFCdkI7QUFDRjtBSzNJSTtFRTNlQTtJSDFCQSxrQkZ2QnNCO0lFd0J0QixtQkZ4QnNCO0VGNHFCeEI7QUFDRjtBS2pKSTtFRTNlQTtJQVdJLFlBQUE7SUFDQSxpQkFBQTtFUHFuQk47QUFDRjtBS3ZKSTtFRTNlQTtJQWtCSSxhQUFBO0VQb25CTjtBQUNGO0FLNUpJO0VFM2VBO0lBc0JJLGFMN0VjO0lLOEVkLHFCQUFBO0lBQ0Esa0JBQUE7SUFFQSxlQUFBO0VQb25CTjtBQUNGO0FPbG5CTTtFQUNFLGdCQUFBO0VBQ0EsWUx2RmE7RUt3RmIsYUFBQTtFQUNBLG1CQUFBO0VBQ0EsbUJBQUE7RUFFQSxpQkFBQTtFQUNBLHFCQUFBO0VBQ0EsV0FBQTtBUG1uQlI7QUs5S0k7RUU5Y0U7SUFZSSxZQUFBO0VQb25CUjtBQUNGO0FLbkxJO0VFOWNFO0lBZ0JJLGFMcEdZO0VGeXRCcEI7QUFDRjtBT25uQlE7RUFDRSxXQUFBO0VBQ0Esa0JBQUE7RUFDQSxZQUFBO0VBRUEsa0JBQUE7RUFDQSxjQUFBO0FQb25CVjtBSy9MSTtFRTNiSTtJQVdJLFdBQUE7SUFDQSxjQUFBO0VQbW5CVjtBQUNGO0FLck1JO0VFM2JJO0lBZ0JJLFlBQUE7SUFDQSxXQUFBO0lBQ0EsYUFBQTtJQUNBLGNBQUE7RVBvbkJWO0FBQ0Y7QU9qbkJRO0VBSUUsY0FBQTtFQUNBLFdMN0dDO0VLOEdELGtCQUFBO0VBQ0EsZUFBQTtBUGduQlY7QUtuTkk7RUVwYUk7SUFXSSxrQkFBQTtJQUNBLGVBQUE7RVBnbkJWO0FBQ0Y7QU85bUJVO0VBQ0UsY0FBQTtFQUNBLGNBQUE7RUFDQSxnQkFBQTtFQUNBLGVBQUE7QVBnbkJaO0FPOW1CWTtFQUNFLGlCQUFBO0VBQ0EsbUJBQUE7RUFDQSxxQkFBQTtBUGduQmQ7QUtwT0k7RUVyWk07SUFjSSxpQkFBQTtFUCttQlo7RU83bUJZO0lBQ0UsaUJBQUE7RVArbUJkO0FBQ0Y7QU96bUJVO0VBRUUsd0JBQUE7RUFDQSxnQkFBQTtFQUVBLGlCQUFBO0VBQ0Esb0JBQUE7RUFDQSxrQkFBQTtFQUNBLGNBQUE7RUFDQSxXTHhKRDtBRml3Qlg7QUtyUEk7RUU3WE07SUFhSSxpQkFBQTtFUHltQlo7QUFDRjs7QU9ubUJJO0VBQ0UsV0FBQTtFQUNBLFNBQUE7RUFDQSxrQkFBQTtFQUNBLFNMOUxlO0VLK0xmLGFBQUE7RUFDQSxnQkFBQTtBUHNtQk47QU9wbUJNO0VBQ0UseUJMcEtPO0FGMHdCZjtBS3RRSTtFRXpXQTtJQWFJLFlBQUE7SUFDQSxjQUFBO0lBQ0EsTUFBQTtJQUNBLGlCQUFBO0VQc21CTjtBQUNGOztBT3BtQk07RUFDRSxXQUFBO0VBQ0EsZ0JBQUE7RUFDQSxlQUFBO0VBQ0EsWUFBQTtFQUNBLGdCQUFBO0VBQ0EsU0FBQTtFQUNBLFdBQUE7RUFDQSxVQUFBO0VBQ0EsY0FBQTtBUHVtQlI7QUsxUkk7RUV0VkU7SUhuTUosa0JGUHVCO0lFUXZCLG1CRlJ1QjtJRVN2Qix5QkFBQTtJRytNUSxlQUFBO0lBQ0EsV0FBQTtJQUNBLFlBQUE7SUFDQSxrQkFBQTtJQUNBLFNBQUE7SUFDQSxRQUFBO0VQeW1CUjtBQUNGO0FLdlNJO0VFdFZFO0lIOUxGLGtCRlh5QjtJRVl6QixtQkZaeUI7RUYyMEIzQjtBQUNGO0FLN1NJO0VFdFZFO0lIekxGLGtCRmZxQjtJRWdCckIsbUJGaEJxQjtFRmcxQnZCO0FBQ0Y7QUtuVEk7RUV0VkU7SUhwTEYsa0JGbkJxQjtJRW9CckIsbUJGcEJxQjtFRnExQnZCO0FBQ0Y7QUt6VEk7RUV0VkU7SUgvS0Ysa0JGdkJzQjtJRXdCdEIsbUJGeEJzQjtFRjAxQnhCO0FBQ0Y7QU85bkJRO0VBQ0UsV0FBQTtFQUNBLFlBQUE7RUFDQSxhQUFBO0VBQ0Esc0JBQUE7RUFDQSxtQkFBQTtFQUNBLGdCQUFBO0VBRUEsNkJBQUE7QVArbkJWO0FLeFVJO0VFL1RJO0lBV0ksV0FBQTtJQUNBLFlBQUE7SUFDQSxtQkFBQTtJQUNBLHFCQUFBO1NBQUEsZ0JBQUE7SUFDQSxpQkFBQTtFUGdvQlY7QUFDRjtBTzluQlU7RUg1T1Isa0JGUHVCO0VFUXZCLG1CRlJ1QjtFRVN2Qix5QkFBQTtFRzRPVSxXQUFBO0VBQ0EsWUFBQTtFQUNBLGdCQUFBO0VBQ0EsaUJBQUE7RUFDQSxnQ0FBQTtFQUNBLGtCQUFBO0FQa29CWjtBSzVWSTtFRTdTTTtJSHZPTixrQkZYeUI7SUVZekIsbUJGWnlCO0VGZzRCM0I7QUFDRjtBS2xXSTtFRTdTTTtJSGxPTixrQkZmcUI7SUVnQnJCLG1CRmhCcUI7RUZxNEJ2QjtBQUNGO0FLeFdJO0VFN1NNO0lIN05OLGtCRm5CcUI7SUVvQnJCLG1CRnBCcUI7RUYwNEJ2QjtBQUNGO0FLOVdJO0VFN1NNO0lIeE5OLGtCRnZCc0I7SUV3QnRCLG1CRnhCc0I7RUYrNEJ4QjtBQUNGO0FLcFhJO0VFN1NNO0lBY0ksZ0JBQUE7SUFDQSxlQUFBO0lBQ0EsV0FBQTtJQUNBLFlBQUE7SUFFQSxvQkFBQTtJQUNBLHlCQUFBO0VQc3BCWjtFT3BwQlk7SUFDRSxjQUFBO0VQc3BCZDtBQUNGO0FPanBCWTtFQUNFLFdBQUE7RUFDQSxZQUFBO0VBQ0EsVUFBQTtFQUNBLGtCQUFBO0VBQ0EsYUFBQTtFQUNBLG1CQUFBO0VBRUEsaUJBQUE7RUFDQSxpQkFBQTtFQUNBLHlCQUFBO0VBQ0EsV0x2UUg7QUZ5NUJYO0FLN1lJO0VFaFJRO0lBa0JJLFdBQUE7SUFDQSxZQUFBO0lBQ0EsY0FBQTtJQUNBLGtCQUFBO0VQK29CZDtBQUNGO0FLclpJO0VFaFJRO0lBeUJJLGlCQUFBO0VQZ3BCZDtBQUNGO0FPN29CWTtFQUNFLGFBQUE7RUFDQSxrQkFBQTtFQUNBLFFBQUE7QVArb0JkO0FLL1pJO0VFblBRO0lBTUksYUFBQTtFUGdwQmQ7QUFDRjtBTzVvQlk7RUFDRSxZQUFBO0VBQ0EsWUFBQTtFQUNBLGtCQUFBO0VBQ0EsU0FBQTtFQUNBLFFBQUE7RUFDQSxnQkFBQTtFQUNBLGFBQUE7RUFDQSx5QkwxU0Q7RUsyU0MsMEJBQUE7QVA4b0JkO0FPeG9CYztFQUNFLFdBQUE7RUFDQSxRQUFBO0VBQ0EsU0FBQTtFQUNBLGtDQUFBO0VBQ0EscUNBQUE7RUFDQSwrQkFBQTtFQUNBLHdCQUFBO0VBQ0Esa0JBQUE7RUFDQSxVQUFBO0VBQ0EsV0FBQTtFQUNBLGFBQUE7QVAwb0JoQjtBT3ZvQmM7RUFDRSxZQUFBO0VBQ0EsWUFBQTtFQUNBLGdCQUFBO0VBQ0EsY0FBQTtFQUNBLDBCQUFBO0FQeW9CaEI7QU92b0JnQjtFQUNFLDZCQUFBO0FQeW9CbEI7QU90b0JnQjtFQUNFLDBCQUFBO0FQd29CbEI7QU9yb0JnQjtFQUNFLDBCQUFBO0FQdW9CbEI7QU9wb0JnQjtFQUNFLDBCQUFBO0FQc29CbEI7QU9ub0JnQjtFQUNFLFdBQUE7RUFDQSxZQUFBO0VBQ0Esa0JBQUE7RUFDQSxhQUFBO0VBQ0EsbUJBQUE7RUFDQSxxQkFBQTtBUHFvQmxCO0FPbm9Ca0I7RUFDRSwwQkFBQTtBUHFvQnBCOztBTzVuQk07RUh2WEosa0JGUHVCO0VFUXZCLG1CRlJ1QjtFRVN2Qix5QkFBQTtFR3VYTSxXQUFBO0VBQ0EsWUxyWU87RUtzWVAsa0JBQUE7RUFDQSxTQUFBO0VBQ0EsVUFBQTtFQUNBLFVBQUE7RUFFQSxjQUFBO0VBR0EsV0FBQTtBUDhuQlI7QUt4ZUk7RUVsS0U7SUhsWEYsa0JGWHlCO0lFWXpCLG1CRlp5QjtFRjRnQzNCO0FBQ0Y7QUs5ZUk7RUVsS0U7SUg3V0Ysa0JGZnFCO0lFZ0JyQixtQkZoQnFCO0VGaWhDdkI7QUFDRjtBS3BmSTtFRWxLRTtJSHhXRixrQkZuQnFCO0lFb0JyQixtQkZwQnFCO0VGc2hDdkI7QUFDRjtBSzFmSTtFRWxLRTtJSG5XRixrQkZ2QnNCO0lFd0J0QixtQkZ4QnNCO0VGMmhDeEI7QUFDRjtBS2hnQkk7RUVsS0U7SUFlSSxVQUFBO0lBR0Esa0JBQUE7SUFDQSxNQUFBO0lBQ0EsV0FBQTtJQUNBLFVBQUE7RVBxcEJSO0FBQ0Y7QU8vb0JRO0VBQ0UsV0FBQTtFQUVBLG1CQUFBO0VBQ0EsWUxsYUs7RUttYUwsYUFBQTtFQUNBLG1CQUFBO0VBQ0EsZ0JBQUE7RUFDQSxxQkFBQTtPQUFBLGdCQUFBO0VBQ0EsY0FBQTtBUGdwQlY7QUtuaEJJO0VFdElJO0lBWUksV0FBQTtJQUNBLHNCQUFBO0VQaXBCVjtBQUNGO0FPOW9CVTtFQUNFLGdCQUFBO0VBRUEsYUFBQTtFQUNBLG1CQUFBO0FQK29CWjtBT3pvQlk7RUFFRSx5QkFBQTtFQUNBLHFCQUFBO0VBQ0EsV0xyYUg7RUtzYUcsaUJBQUE7RUFDQSxlQUFBO0VBQ0EsYUFBQTtBUDBvQmQ7QUt0aUJJO0VFM0dRO0lBV0ksWUxwY0Q7SUtxY0MsbUJBQUE7RVAwb0JkO0FBQ0Y7QU9ob0JNO0VBQ0UsV0FBQTtFQUNBLHNCTDFiRztBRjRqQ1g7O0FPL25CSTtFSDFjRixrQkZQdUI7RUVRdkIsbUJGUnVCO0VFU3ZCLHlCQUFBO0VHMmNJLFdBQUE7RUFDQSxZTHhkZTtFS3lkZixhQUFBO0VBQ0EsbUJBQUE7RUFDQSxrQkFBQTtFQUNBLE1BQUE7RUFDQSxRQUFBO0VBQ0EsVUFBQTtBUG1vQk47QUs5akJJO0VFL0VBO0lIcmNBLGtCRlh5QjtJRVl6QixtQkZaeUI7RUZrbUMzQjtBQUNGO0FLcGtCSTtFRS9FQTtJSGhjQSxrQkZmcUI7SUVnQnJCLG1CRmhCcUI7RUZ1bUN2QjtBQUNGO0FLMWtCSTtFRS9FQTtJSDNiQSxrQkZuQnFCO0lFb0JyQixtQkZwQnFCO0VGNG1DdkI7QUFDRjtBS2hsQkk7RUUvRUE7SUh0YkEsa0JGdkJzQjtJRXdCdEIsbUJGeEJzQjtFRmluQ3hCO0FBQ0Y7QUt0bEJJO0VFL0VBO0lBYUksWUxsZU87SUttZVAsZUFBQTtFUDRwQk47QUFDRjs7QU8xcEJNO0VBRUUsaUJBQUE7RUFDQSxhQUFBO0VBQ0EsbUJBQUE7RUFFQSxTQUFBO0FQMnBCUjtBS25tQkk7RUU5REU7SUFXSSxZTGpmSztJS29mTCxhQUFBO0VQd3BCUjtBQUNGO0FPdHBCUTtFQUNFLFdMaGVDO0FGd25DWDtBT3RwQlU7RUFDRSxjTGplQztBRnluQ2I7QUsvbUJJO0VFN0NJO0lBUUksV0x2ZUQ7RUYrbkNUO0FBQ0Y7O0FPcHBCTTtFQUVFLGNBQUE7RUFDQSxpQkFBQTtFQUNBLGFBQUE7RUFDQSxtQkFBQTtBUHNwQlI7QUszbkJJO0VFaENFO0lBWUksaUJBQUE7RVBtcEJSO0FBQ0Y7QUtob0JJO0VFaENFO0lBZ0JJLGFBQUE7RVBvcEJSO0FBQ0Y7QU9qcEJRO0VBQ0UsV0xqZ0JDO0FGb3BDWDtBT2pwQlU7RUFDRSxjTGxnQkM7QUZxcENiOztBTzlvQkk7RUh6aUJGLFdBQUE7RUFDQSxZQUFBO0VHMGlCSSxZQUFBO0VBRUEsYUFBQTtFQUNBLGtCQUFBO0VBQ0EsU0x0aUJlO0VLdWlCZixPQUFBO0VBQ0EseUJMemdCUztFSzBnQlQsVUFBQTtFQUNBLGdDQUFBO0FQaXBCTjtBS3hwQkk7RUVIQTtJQWFJLFNMOWlCTztFRmdzQ2I7QUFDRjtBT2hwQk07RUh0aUJKLGtCRlB1QjtFRVF2QixtQkZSdUI7RUVTdkIseUJBQUE7QUp5ckNGO0FLbHFCSTtFRWFFO0lIamlCRixrQkZYeUI7SUVZekIsbUJGWnlCO0VGc3ND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QkZ4RG9CO0VFeURwQix5QkFBQTtFSThGWSxXQUFBO0VBQ0EsWUFBQTtFQUdBLGdCQUFBO0VBU0E7Ozs7OztJQUFBO0VBUUE7Ozs7Ozs7OztJQUFBO0FSNjFDZDtBSy8rQkk7RUd2WVE7SUo3SVIsa0JGWHlCO0lFWXpCLG1CRlp5QjtFRm1oRDNCO0FBQ0Y7QUtyL0JJO0VHdllRO0lKeElSLGtCRmZxQjtJRWdCckIsbUJGaEJxQjtFRndoRHZCO0FBQ0Y7QUszL0JJO0VHdllRO0lKbklSLGtCRm5CcUI7SUVvQnJCLG1CRnBCcUI7RUY2aER2QjtBQUNGO0FLamdDSTtFR3ZZUTtJSjlIUixrQkZ2QnNCO0lFd0J0QixtQkZ4QnNCO0VGa2lEeEI7QUFDRjtBS3ZnQ0k7RUd2WVE7SUpoSFIsaUJGbENzQjtFRm9pRHhCO0FBQ0Y7QUs1Z0NJO0VHdllRO0lKNUdSLGlCRnJDa0I7RUZ3aURwQjtBQUNGO0FLamhDSTtFR3ZZUTtJSnhHUixpQkZ4Q2tCO0VGNGlEcEI7QUFDRjtBS3RoQ0k7RUd2WVE7SUpwR1IsaUJGM0NtQjtFRmdqRHJCO0FBQ0Y7QUszaENJO0VHdllRO0lKdkZSLG9CRjNEc0I7RUZ3akR4QjtBQUNGO0FLaGlDSTtFR3ZZUTtJSm5GUixvQkY5RGtCO0VGNGpEcEI7QUFDRjtBS3JpQ0k7RUd2WVE7SUovRVIsb0JGakVrQjtFRmdrRHBCO0FBQ0Y7QUsxaUNJO0VHdllRO0lKM0VSLG9CRnBFbUI7RUZva0RyQjtBQUNGO0FRbDVDYztFQUNFLFNBQUE7RUFDQSxVQUFBO0VBQ0EsY0FBQTtFQUNBLFdON0tMO0VNOEtLLGlCQUFBO0VBQ0EsZ0JBQUE7RUFDQSxvQkFBQTtFQUNBLGtCQUFBO0FSbzVDaEI7QUt6akNJO0VHbldVO0lBV0ksaUJBQUE7RVJxNUNoQjtBQUNGO0FRbDVDYztFQUNFLFNBQUE7RUFDQSxjQUFBO0VBQ0EsZUFBQTtFQUNBLGdCQUFBO0VBQ0EsV043TEw7QUZpbERYO0FLcmtDSTtFR3BWVTtJQVFJLGlCQUFBO0VScTVDaEI7QUFDRjs7QVFqNUNRO0VKM0pOLG9CRnhEb0I7RUV5RHBCLHlCQUFBO0VJNEpRLFdBQUE7RUFDQSxxQkFBQTtFQUNBLFdBQUE7QVJxNUNWO0FLbGxDSTtFR3ZVSTtJSnZKSixvQkYzRHNCO0VGK21EeEI7QUFDRjtBS3ZsQ0k7RUd2VUk7SUpuSkosb0JGOURrQjtFRm1uRHBCO0FBQ0Y7QUs1bENJO0VHdlVJO0lKL0lKLG9CRmpFa0I7RUZ1bkRwQjtBQUNGO0FLam1DSTtFR3ZVSTtJSjNJSixvQkZwRW1CO0VGMm5EckI7QUFDRjtBS3RtQ0k7RUd2VUk7SUFPSSxxQkFBQTtJQUNBLFdBQUE7RVIwNkNWO0FBQ0Y7O0FReDZDVTtFQUNFLHlCQUFBO0VBQ0EsZ0JBQUE7RUFDQSxrQkFBQTtFQUNBLHlCQUFBO0VBQ0EsY0FBQTtFQUNBLDZCQUFBO0VBQ0EseUJOMU5IO0VNMk5HLGdCQUFBO0VBQ0EsV056TkQ7QUZvb0RYO0FRejZDWTtFQUNFLGVBQUE7QVIyNkNkOztBUXY2Q1U7RUFDRSxXQUFBO0VBQ0EsWUFBQTtBUjA2Q1o7QVF4NkNZO0VBQ0UsV0FBQTtFQUNBLFlBQUE7RUFJQSxjQUFBO0VBQ0EsZ0JBQUE7RUFFQSx5Qk5oUEw7RU1tUEsseUJOOU9EO0FGa3BEYjtBUWw2Q2M7RUFDRSxXQUFBO0VBQ0EsZ0JBQUE7RUFDQSxjQUFBO0VBQ0EsZ0JBQUE7RUFJQSxpQkFBQTtFQUVBLDZCQUFBO0VBdUJBOzs7Ozs7O0lBQUE7QVJpNUNoQjtBUXQ2Q2dCO0VBQ0UsV0FBQTtFQUNBLFlBQUE7RUFDQSxtQkFBQTtFQUtBLGlCQUFBO0VBQ0EsaUJBQUE7RUFFQSxXTnpRUDtFTTBRTyxpQkFBQTtFQUVBLGNOaFJUO0FGa3JEVDtBUWg2Q2tCO0VBQ0UsY04xUVQ7QUY0cURYO0FRLzRDZ0I7RUFFRSx5Qk5sU0w7QUZrckRiO0FROTRDa0I7RUFDRSw2QkFBQTtBUmc1Q3BCO0FROTRDb0I7RUFDRSxrQkFBQTtFQUNBLGNOL1NiO0FGK3JEVDtBUTc0Q29CO0VBRUUsc0JOaFRYO0FGOHJEWDtBUTE0Q3dCO0VBQ0Usa0JBQUE7RUFDQSxtQkFBQTtBUjQ0QzFCOztBUS8zQ1k7RUFDRSxtQkFBQTtFQUNBLG9CQUFBO0VBQ0EsYUFBQTtFQUNBLGdDQUFBO0VBQ0EsZ0NBQUE7QVJrNENkO0FRaDRDYztFQUNFLGdCQUFBO0VBQ0Esb0JBQUE7RUFDQSxtQkFBQTtBUms0Q2hCOztBUS8zQ2M7RUFDRSxhQUFBO0VBQ0EscUJBQUE7RUFDQSx5Qk45VUw7RU0rVUssaUJBQUE7RUFDQSxpQkFBQTtBUms0Q2hCO0FRaDRDZ0I7RUFDRSxXQUFBO0VBQ0EsbUJBQUE7QVJrNENsQjs7QVE5M0NjO0VBQ0Usa0JBQUE7RUFDQSxxQkFBQTtBUmk0Q2hCOztBUTkzQ0E7RUpsWUUsV0FBQTtFQUNBLFlBQUE7QUpvd0RGOztBUWg0Q0U7RUo1WEEsV0FBQTtFQUNBLGlCRk5VO0VFT1YsY0FBQTtFQVFBLGtCRlB1QjtFRVF2QixtQkZSdUI7RUVTdkIseUJBQUE7RUE0QkEsaUJGL0JvQjtFRWdDcEIseUJBQUE7RUF3QkEsb0JGeERvQjtFRXlEcEIseUJBQUE7RUkrVEUsa0JBQUE7QVJ5NENKO0FLdnVDSTtFR3ZLRjtJSjdXRSxrQkZYeUI7SUVZekIsbUJGWnlCO0VGMndEM0I7QUFDRjtBSzd1Q0k7RUd2S0Y7SUp4V0Usa0JGZnFCO0lFZ0JyQixtQkZoQnFCO0VGZ3hEdkI7QUFDRjtBS252Q0k7RUd2S0Y7SUpuV0Usa0JGbkJxQjtJRW9CckIsbUJGcEJxQjtFRnF4RHZCO0FBQ0Y7QUt6dkNJO0VHdktGO0lKOVZFLGtCRnZCc0I7SUV3QnRCLG1CRnhCc0I7RUYweER4QjtBQUNGO0FLL3ZDSTtFR3ZLRjtJSmhWRSxpQkZsQ3NCO0VGNHhEeEI7QUFDRjtBS3B3Q0k7RUd2S0Y7SUo1VUUsaUJGckNrQjtFRmd5RHBCO0FBQ0Y7QUt6d0NJO0VHdktGO0lKeFVFLGlCRnhDa0I7RUZveURwQjtBQUNGO0FLOXdDSTtFR3ZLRjtJSnBVRSxpQkYzQ21CO0VGd3lEckI7QUFDRjtBS254Q0k7RUd2S0Y7SUp2VEUsb0JGM0RzQjtFRmd6RHhCO0FBQ0Y7QUt4eENJO0VHdktGO0lKblRFLG9CRjlEa0I7RUZvekRwQjtBQUNGO0FLN3hDSTtFR3ZLRjtJSi9TRSxvQkZqRWtCO0VGd3pEcEI7QUFDRjtBS2x5Q0k7RUd2S0Y7SUozU0Usb0JGcEVtQjtFRjR6RHJCO0FBQ0Y7QVF2OENJO0VBQ0UsY05yV1M7QUY4eURmOztBUXI4Q0E7Ozs7Ozs7Ozs7Ozs7Ozs7O0NBQUE7QUNsWkE7O0NBQUE7QUFJQTtFQUNFLGlCQUFBO0VBQ0EsZUFBQTtFQUNBLHlCUGtDYTtFT2hDYiwwQkFBQTtBVDAyREY7O0FTeDJERTtFQUNFLGtCQUFBO0VBQ0EsZ0JBQUE7RUFDQSxpQkFBQTtFQUNBLG9CQUFBO0VBQ0EsV1BpQk87QUYwMURYOztBU3oyREk7RUFFRSxvQkFBQTtFQUNBLGFBQUE7QVQyMkROO0FLbjFDSTtFSTNoQkE7SUFRSSxXQUFBO0VUMDJETjtBQUNGO0FTcDJETTtFQUNFLFdBQUE7RUFDQSxZQUFBO0VBQ0EsYUFBQTtFQUNBLHNCQUFBO0VBQ0EsbUJBQUE7RUFDQSxnQkFBQTtBVHMyRFI7QUtoMkNJO0VJNWdCRTtJQVdJLFdBQUE7SUFFQSxtQkFBQTtFVG8yRFI7QUFDRjtBU2gyRFE7RUwvQk4sa0JGUHVCO0VFUXZCLG1CRlJ1QjtFRVN2Qix5QkFBQTtFSytCUSxXQUFBO0VBQ0EsWUFBQTtFQUNBLGdCQUFBO0VBR0Esa0JBQUE7QVRrMkRWO0FLLzJDSTtFSTFmSTtJTDFCSixrQkZYeUI7SUVZekIsbUJGWnlCO0VGbTVEM0I7QUFDRjtBS3IzQ0k7RUkxZkk7SUxyQkosa0JGZnFCO0lFZ0JyQixtQkZoQnFCO0VGdzVEdkI7QUFDRjtBSzMzQ0k7RUkxZkk7SUxoQkosa0JGbkJxQjtJRW9CckIsbUJGcEJxQjtFRjY1RHZCO0FBQ0Y7QUtqNENJO0VJMWZJO0lMWEosa0JGdkJzQjtJRXdCdEIsbUJGeEJzQjtFRms2RHhCO0FBQ0Y7QUt2NENJO0VJMWZJO0lBZ0JJLFdBQUE7RVRxM0RWO0FBQ0Y7QVNoM0RVO0VBQ0UsV0FBQTtFQUNBLFlBQUE7RUFDQSxVQUFBO0VBQ0Esa0JBQUE7RUFDQSxhQUFBO0VBQ0EsbUJBQUE7RUFHQSxlQUFBO0VBRUEsV1BuREQ7RU9vREMsa0JBQUE7QVQrMkRaO0FLdjVDSTtFSXBlTTtJQW1CSSxXQUFBO0lBRUEsY0FBQTtFVDIyRFo7QUFDRjs7QVNyMkRJO0VBQ0UsU0FBQTtFQUNBLFVBQUE7RUFDQSxlQUFBO0FUdzJETjs7QVVoOURBOztDQUFBO0FDSUE7RUFDRSxXQUFBO0VBR0EsaUJBQUE7RUFDQSxZQUFBO0VBRUEsNEJBQUE7RUFDQSxzQkFBQTtFQUNBLDJCQUFBO0VBQ0Esa0JBQUE7QVgrOERGO0FXeDhERTtFQUVFLFdBQUE7RUFDQSxZQUFBO0VBQ0EsYUFBQTtFQUNBLG1CQUFBO0VBQ0Esa0JBQUE7RUFDQSxNQUFBO0VBQ0EsT0FBQTtFQUNBLHVDVFNRO0VTUFI7Ozs7Ozs7Ozs7OztJQUFBO0VBNERFOztJQUFBO0FYMjVETjtBV3o4RE07RVAxQkosa0JGUHVCO0VFUXZCLG1CRlJ1QjtFRVN2Qix5QkFBQTtFTzRCTSxjQUFBO0VBQ0EsaUJUekNhO0VTMENiLGtCQUFBO0FYMjhEUjtBS2w5Q0k7RU0vZkU7SVByQkYsa0JGWHlCO0lFWXpCLG1CRlp5QjtFRnMvRDNCO0FBQ0Y7QUt4OUNJO0VNL2ZFO0lQaEJGLGtCRmZxQjtJRWdCckIsbUJGaEJxQjtFRjIvRHZCO0FBQ0Y7QUs5OUNJO0VNL2ZFO0lQWEYsa0JGbkJxQjtJRW9CckIsbUJGcEJxQjtFRmdnRXZCO0FBQ0Y7QUtwK0NJO0VNL2ZFO0lQTkYsa0JGdkJzQjtJRXdCdEIsbUJGeEJzQjtFRnFnRXhCO0FBQ0Y7QUsxK0NJO0VNL2ZFO0lBV0ksa0JUOUNZO0VGZ2hFcEI7QUFDRjtBV2grRFE7RVBsRE4sV0FBQTtFQUNBLGlCRk5VO0VFT1YsY0FBQTtFQXNDQSxpQkYvQm9CO0VFZ0NwQix5QkFBQTtFQXdCQSxvQkZ4RG9CO0VFeURwQix5QkFBQTtFT1hRLFdBQUE7RUFJQSxrQkFBQTtFQUNBLFlBQUE7RUFDQSxjQUFBO0FYaytEVjtBSzUvQ0k7RU1qZkk7SVBOSixpQkZsQ3NCO0VGeWhFeEI7QUFDRjtBS2pnREk7RU1qZkk7SVBGSixpQkZyQ2tCO0VGNmhFcEI7QUFDRjtBS3RnREk7RU1qZkk7SVBFSixpQkZ4Q2tCO0VGaWlFcEI7QUFDRjtBSzNnREk7RU1qZkk7SVBNSixpQkYzQ21CO0VGcWlFckI7QUFDRjtBS2hoREk7RU1qZkk7SVBtQkosb0JGM0RzQjtFRjZpRXhCO0FBQ0Y7QUtyaERJO0VNamZJO0lQdUJKLG9CRjlEa0I7RUZpakVwQjtBQUNGO0FLMWhESTtFTWpmSTtJUDJCSixvQkZqRWtCO0VGcWpFcEI7QUFDRjtBSy9oREk7RU1qZkk7SVArQkosb0JGcEVtQjtFRnlqRXJCO0FBQ0Y7QVdwZ0VVO0VBQ0UsV0FBQTtFQUNBLGtCQUFBO0VBQ0EsZ0JBQUE7RUFDQSxjQUFBO0VBQ0EsV1RqREQ7RVNrREMsY0FBQTtBWHNnRVo7QUs1aURJO0VNaGVNO0lBU0ksa0JBQUE7SUFDQSxnQkFBQTtFWHVnRVo7QUFDRjs7QVc5L0RBO0VQaEdFLFdBQUE7RUFDQSxZQUFBO0VPaUdBLHNCVGxFUztBRm9rRVg7O0FXLy9ERTtFUDVGQSxXQUFBO0VBQ0EsaUJGTlU7RUVPVixjQUFBO0VBUUEsa0JGUHVCO0VFUXZCLG1CRlJ1QjtFRVN2Qix5QkFBQTtFQTRCQSxpQkYvQm9CO0VFZ0NwQix5QkFBQTtFQXdCQSxvQkZ4RG9CO0VFeURwQix5QkFBQTtFTytCRSxrQkFBQTtBWHdnRUo7QUt0a0RJO0VNdmNGO0lQN0VFLGtCRlh5QjtJRVl6QixtQkZaeUI7RUYwbUUzQjtBQUNGO0FLNWtESTtFTXZjRjtJUHhFRSxrQkZmcUI7SUVnQnJCLG1CRmhCcUI7RUYrbUV2QjtBQUNGO0FLbGxESTtFTXZjRjtJUG5FRSxrQkZuQnFCO0lFb0JyQixtQkZwQnFCO0VGb25FdkI7QUFDRjtBS3hsREk7RU12Y0Y7SVA5REUsa0JGdkJzQjtJRXdCdEIsbUJGeEJzQjtFRnluRXhCO0FBQ0Y7QUs5bERJO0VNdmNGO0lQaERFLGlCRmxDc0I7RUYybkV4QjtBQUNGO0FLbm1ESTtFTXZjRjtJUDVDRSxpQkZyQ2tCO0VGK25FcEI7QUFDRjtBS3htREk7RU12Y0Y7SVB4Q0UsaUJGeENrQjtFRm1vRXBCO0FBQ0Y7QUs3bURJO0VNdmNGO0lQcENFLGlCRjNDbUI7RUZ1b0VyQjtBQUNGO0FLbG5ESTtFTXZjRjtJUHZCRSxvQkYzRHNCO0VGK29FeEI7QUFDRjtBS3ZuREk7RU12Y0Y7SVBuQkUsb0JGOURrQjtFRm1wRXBCO0FBQ0Y7QUs1bkRJO0VNdmNGO0lQZkUsb0JGakVrQjtFRnVwRXBCO0FBQ0Y7QUtqb0RJO0VNdmNGO0lQWEUsb0JGcEVtQjtFRjJwRXJCO0FBQ0Y7QVd0a0VJO0VBQ0UsYUFBQTtFQUNBLG1CQUFBO0VBQ0EsY1R2RVM7QUYrb0VmO0FXcmtFSTtFQUNFLGdCQUFBO0VBQ0EsbUJBQUE7RUFDQSx5QlQ3RVM7RVM4RVQscUJBQUE7RUFDQSxtQkFBQTtFQUNBLGtCQUFBO0FYdWtFTjtBV3JrRU07RUFFRSxpQkFBQTtFQUNBLG9CQUFBO0FYc2tFUjtBV2prRVE7RUFDRSx5QlRqR0c7RVNrR0gsY1Q1Rks7QUYrcEVmO0FXOWpFSTtFQUNFLGdCQUFBO0VBQ0EsaUJBQUE7RUFDQSxjVHBHUztBRm9xRWY7QVc3akVJO0VBQ0Usc0JUaEhLO0VTaUhMLGNUekdTO0FGd3FFZjs7QVczakVFO0VQckpBLFdBQUE7RUFDQSxZQUFBO0VPdUpFLHlCVHZIUTtBRnFyRVo7O0FXeGpFSTtFUHJKRixXQUFBO0VBQ0EsaUJGTlU7RUVPVixjQUFBO0VBUUEsa0JGUHVCO0VFUXZCLG1CRlJ1QjtFRVN2Qix5QkFBQTtFQTRCQSxpQkYvQm9CO0VFZ0NwQix5QkFBQTtFQXdCQSxvQkZ4RG9CO0VFeURwQix5QkFBQTtBSndwRUY7QUt2ckRJO0VNOVlBO0lQdElBLGtCRlh5QjtJRVl6QixtQkZaeUI7RUYydEUzQjtBQUNGO0FLN3JESTtFTTlZQTtJUGpJQSxrQkZmcUI7SUVnQnJCLG1CRmhCcUI7RUZndUV2QjtBQUNGO0FLbnNESTtFTTlZQTtJUDVIQSxrQkZuQnFCO0lFb0JyQixtQkZwQnFCO0VGcXVFdkI7QUFDRjtBS3pzREk7RU05WUE7SVB2SEEsa0JGdkJzQjtJRXdCdEIsbUJGeEJzQjtFRjB1RXhCO0FBQ0Y7QUsvc0RJO0VNOVlBO0lQekdBLGlCRmxDc0I7RUY0dUV4QjtBQUNGO0FLcHRESTtFTTlZQTtJUHJHQSxpQkZyQ2tCO0VGZ3ZFcEI7QUFDRjtBS3p0REk7RU05WUE7SVBqR0EsaUJGeENrQjtFRm92RXBCO0FBQ0Y7QUs5dERJO0VNOVlBO0lQN0ZBLGlCRjNDbUI7RUZ3dkVyQjtBQUNGO0FLbnVESTtFTTlZQTtJUGhGQSxvQkYzRHNCO0VGZ3dFeEI7QUFDRjtBS3h1REk7RU05WUE7SVA1RUEsb0JGOURrQjtFRm93RXBCO0FBQ0Y7QUs3dURJO0VNOVlBO0lQeEVBLG9CRmpFa0I7RUZ3d0VwQjtBQUNGO0FLbHZESTtFTTlZQTtJUHBFQSxvQkZwRW1CO0VGNHdFckI7QUFDRjs7QVcvbkVNO0VBQ0Usa0JBQUE7RUFDQSxvQkFBQTtFQUNBLGNUL0hPO0FGaXdFZjs7QVdob0VRO0VBQ0UsYUFBQTtFQUNBLHFDQUFBO0VBRUEsa0JBQUE7RUFDQSxrQkFBQTtBWGtvRVY7QUtwd0RJO0VNbllJO0lBUUkscUNBQUE7SUFFQSxtQkFBQTtJQUNBLGVBQUE7RVhrb0VWO0FBQ0Y7O0FXaG9FVTtFQUVFLGVBQUE7RUFDQSxhQUFBO0VBQ0EsbUJBQUE7RUFHQSx5QlR0Skc7RVN1SkgsMEJBQUE7RUFDQSxpQkFBQTtFQUNBLGtCQUFBO0VBQ0EsV1RsS0Q7QUZreUVYO0FXOW5FWTtFQUNFLGNBQUE7RUFDQSxjQUFBO0VBQ0Esa0JBQUE7QVhnb0VkO0FXL25FYztFQUNFLG1CQUFBO0VBQ0EsY0FBQTtFQUNBLFdBQUE7RUFDQSxlQUFBO0FYaW9FaEI7QVc5bkVjO0VBRUUsY0FBQTtFQUVBLGlCQUFBO0FYOG5FaEI7O0FXem5FQTtFUHhORSxXQUFBO0VBQ0EsWUFBQTtFT3lOQSx5QlR6TFU7RVMrTFYsa0JBQUE7QVh3bkVGOztBV3RuRUU7RUFDRSxXQUFBO0VBQ0EsWUFBQTtFQUNBLGtCQUFBO0VBQ0EsTUFBQTtFQUNBLE9BQUE7QVh5bkVKOztBV2xuRUU7RVByT0EsV0FBQTtFQUNBLGlCRk5VO0VFT1YsY0FBQTtFQVFBLGtCRlB1QjtFRVF2QixtQkZSdUI7RUVTdkIseUJBQUE7RUE0QkEsaUJGL0JvQjtFRWdDcEIseUJBQUE7RUF3QkEsb0JGeERvQjtFRXlEcEIseUJBQUE7RU95S0UsY1Q1TVc7RVM2TVgsa0JBQUE7RUFDQSxrQkFBQTtFQUNBLFVBQUE7QVgwbkVKO0FLcjBESTtFTTlURjtJUHRORSxrQkZYeUI7SUVZekIsbUJGWnlCO0VGeTJFM0I7QUFDRjtBSzMwREk7RU05VEY7SVBqTkUsa0JGZnFCO0lFZ0JyQixtQkZoQnFCO0VGODJFdkI7QUFDRjtBS2oxREk7RU05VEY7SVA1TUUsa0JGbkJxQjtJRW9CckIsbUJGcEJxQjtFRm0zRXZCO0FBQ0Y7QUt2MURJO0VNOVRGO0lQdk1FLGtCRnZCc0I7SUV3QnRCLG1CRnhCc0I7RUZ3M0V4QjtBQUNGO0FLNzFESTtFTTlURjtJUHpMRSxpQkZsQ3NCO0VGMDNFeEI7QUFDRjtBS2wyREk7RU05VEY7SVByTEUsaUJGckNrQjtFRjgzRXBCO0FBQ0Y7QUt2MkRJO0VNOVRGO0lQakxFLGlCRnhDa0I7RUZrNEVwQjtBQUNGO0FLNTJESTtFTTlURjtJUDdLRSxpQkYzQ21CO0VGczRFckI7QUFDRjtBS2ozREk7RU05VEY7SVBoS0Usb0JGM0RzQjtFRjg0RXhCO0FBQ0Y7QUt0M0RJO0VNOVRGO0lQNUpFLG9CRjlEa0I7RUZrNUVwQjtBQUNGO0FLMzNESTtFTTlURjtJUHhKRSxvQkZqRWtCO0VGczVFcEI7QUFDRjtBS2g0REk7RU05VEY7SVBwSkUsb0JGcEVtQjtFRjA1RXJCO0FBQ0Y7QVdwckVJO0VBQ0UsbUJBQUE7QVhzckVOOztBV25yRUk7RUFLRSxhQUFBO0VBQ0EsMEJBQUE7RUFDQSw2QkFBQTtFQUNBLGtCQUFBO0VBQ0Esa0JBQUE7QVhrckVOO0FLaDVESTtFTTNTQTtJQVlJLDhCQUFBO0lBQ0Esd0JBQUE7SUFDQSxtQkFBQTtJQUNBLGVBQUE7RVhtckVOO0FBQ0Y7O0FXanJFTTtFQUNFLGlCQUFBO0VBQ0EsZUFBQTtFQUNBLDJCQUFBO0VBQ0EsNEJBQUE7RUFDQSxzQkFBQTtFQUNBLGtCQUFBO0VBQ0EscUJBQUE7RUFFQSx5QkFBQTtFQXNCQTs7Ozs7Ozs7SUFBQTtBWHNxRVI7QVcxckVRO0VBQ0UscUJBQUE7RUFDQSxrQkFBQTtBWDRyRVY7QUtoN0RJO0VNOVFJO0lBS0kscUJBQUE7SUFDQSxrQkFBQTtFWDZyRVY7QUFDRjtBVzFyRVE7RUFDRSxxQkFBQTtFQUNBLGtCQUFBO0FYNHJFVjtBSzE3REk7RU1wUUk7SUFLSSxxQkFBQTtJQUNBLGtCQUFBO0VYNnJFVjtBQUNGO0FXaHJFUTtFQUNFLGNBQUE7RUFDQSxZQUFBO0FYa3JFVjs7QVcvcUVVO0VBQ0UsV0FBQTtFQUNBLGdCQUFBO0VBQ0EsYUFBQTtFQUNBLHVDVC9SQTtFU2dTQSxhQUFBO0VBQ0EsbUJBQUE7RUFDQSx1QkFBQTtFQUNBLGtCQUFBO0VBQ0EsU0FBQTtFQUNBLGtCQUFBO0VBQ0EseUJBQUE7RUFDQSxpQkFBQTtFQUNBLFdBQUE7RUFDQSx5QkFBQTtBWGtyRVoiLCJmaWxlIjoiaG9tZS5jc3MiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiogQ09NTU9OIFNUWUxFU1xuKi9cblxuLy8gaW1wb3J0IGxpYnJhcmllczpcbkBpbXBvcnQgJ2xpYnJhcmllcy9faW5jbHVkZS1tZWRpYS5zY3NzJzsgIC8vIEluY2x1ZGUtTWVkaWEgbWVkaWEgcXVlcnkgbGlicmFyeVxuQGltcG9ydCAnbGlicmFyaWVzL19ub3JtYWxpemUuc2Nzcyc7ICAgICAgLy8gTm9ybWFsaXplIGNzcyByZXNldHNcblxuLy8gZ2xvYmFsIHN0eWxlcyBhbmQgZGVwZW5kZW5jaWVzOlxuQGltcG9ydCAncGFydGlhbHMvX2JyZWFrcG9pbnRzJzsgIC8vIGJyZWFrcG9pbnQgZGVmaW5pdGlvbnMgZm9yIG1lZGlhIHF1ZXJ5IHVzZVxuQGltcG9ydCAncGFydGlhbHMvX3ZhcmlhYmxlcyc7ICAgIC8vIHZhcmlhYmxlIGRlZmluaXRpb25zXG5AaW1wb3J0ICdwYXJ0aWFscy9fZm9udHMnOyAgICAgICAgLy8gQGZvbnQtZmFjZSBkZWZpbml0aW9uc1xuQGltcG9ydCAncGFydGlhbHMvX21peGlucyc7ICAgICAgIC8vIG1peGluIGFuZCBhc3NvY2lhdGVkIGNsYXNzIGRlZmluaXRpb25zXG5AaW1wb3J0ICdwYXJ0aWFscy9fZ2xvYmFsJzsgICAgICAgLy8gc3R5bGVzIGZvciBnbG9iYWwgZWxlbWVudCBzZWxlY3RvcnNcbkBpbXBvcnQgJ3BhcnRpYWxzL19oZWFkZXInOyAgICAgICAvLyBoZWFkZXIgc3R5bGVzXG5AaW1wb3J0ICdwYXJ0aWFscy9fY29udGVudCc7ICAgICAgLy8gY29udGVudCBzdHlsZXNcbkBpbXBvcnQgJ3BhcnRpYWxzL19mb290ZXInOyAgICAgICAvLyBmb290ZXIgc3R5bGVzXG5AaW1wb3J0ICdwYXJ0aWFscy9fbWlzYyc7ICAgICAgICAgLy8gbWlzY2VsbGFuZW91cyBzdHlsZXNcblxuLy8gcGFnZS1zcGVjaWZpYyBzdHlsZXM6XG4vL0BpbXBvcnQgJ2hvbWUnOyAgICAgIC8vIGhvbWUgcGFnZSBzdHlsZXNcbi8vQGltcG9ydCAnbGVhcm5pbmdhc3NldHMnOyAgIC8vIHBhZ2Ugc3R5bGVzXG5cbi8vQGltcG9ydCAncGFydGlhbHMvcGFnZXMvX2RvY3VtZW50cyc7IC8vIHBhZ2Ugc3R5bGVzXG4vL0BpbXBvcnQgJ3BhcnRpYWxzL3BhZ2VzL19ncmFudHMnOyAgICAvLyBwYWdlIHN0eWxlc1xuLy9AaW1wb3J0ICdwYXJ0aWFscy9wYWdlcy9faGlzdG9yeSc7ICAgLy8gcGFnZSBzdHlsZXNcbi8vQGltcG9ydCAncGFydGlhbHMvcGFnZXMvX291cl93b3JrJzsgIC8vIHBhZ2Ugc3R5bGVzXG4vL0BpbXBvcnQgJ3BhcnRpYWxzL3BhZ2VzL19wZW9wbGUnOyAgICAvLyBwYWdlIHN0eWxlc1xuLy9AaW1wb3J0ICdwYXJ0aWFscy9wYWdlcy9fcmVwb3J0cyc7ICAgIC8vIHBhZ2Ugc3R5bGVzXG4vL0BpbXBvcnQgJ3BhcnRpYWxzL3BhZ2VzL19uZXdzJzsgICAgICAvLyBwYWdlIHN0eWxlc1xuLy9AaW1wb3J0ICdwYXJ0aWFscy9wYWdlcy9fY29udGFjdCc7ICAgICAgLy8gcGFnZSBzdHlsZXNcbi8vQGltcG9ydCAncGFydGlhbHMvcGFnZXMvX2xhYl9zaXRlcyc7ICAgICAgLy8gcGFnZSBzdHlsZXNcbi8vQGltcG9ydCAncGFydGlhbHMvcGFnZXMvX3BhcnRuZXJzJzsgICAgICAvLyBwYWdlIHN0eWxlc1xuXG4vLyBjb21wb25lbnQtc3BlY2lmaWMgc3R5bGVzOlxuLy9AaW1wb3J0ICdwYXJ0aWFscy9jb21wb25lbnRzL18nOyAgICAgIC8vIGNvbXBvbmVudCBzdHlsZVxuIiwiLyohIG5vcm1hbGl6ZS5jc3MgdjguMC4xIHwgTUlUIExpY2Vuc2UgfCBnaXRodWIuY29tL25lY29sYXMvbm9ybWFsaXplLmNzcyAqL1xuXG4vKiBEb2N1bWVudFxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLyoqXG4gKiAxLiBDb3JyZWN0IHRoZSBsaW5lIGhlaWdodCBpbiBhbGwgYnJvd3NlcnMuXG4gKiAyLiBQcmV2ZW50IGFkanVzdG1lbnRzIG9mIGZvbnQgc2l6ZSBhZnRlciBvcmllbnRhdGlvbiBjaGFuZ2VzIGluIGlPUy5cbiAqL1xuXG5odG1sIHtcbiAgbGluZS1oZWlnaHQ6IDEuMTU7IC8qIDEgKi9cbiAgLXdlYmtpdC10ZXh0LXNpemUtYWRqdXN0OiAxMDAlOyAvKiAyICovXG59XG5cbi8qIFNlY3Rpb25zXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKipcbiAqIFJlbW92ZSB0aGUgbWFyZ2luIGluIGFsbCBicm93c2Vycy5cbiAqL1xuXG5ib2R5IHtcbiAgbWFyZ2luOiAwO1xufVxuXG4vKipcbiAqIFJlbmRlciB0aGUgYG1haW5gIGVsZW1lbnQgY29uc2lzdGVudGx5IGluIElFLlxuICovXG5cbm1haW4ge1xuICBkaXNwbGF5OiBibG9jaztcbn1cblxuLyoqXG4gKiBDb3JyZWN0IHRoZSBmb250IHNpemUgYW5kIG1hcmdpbiBvbiBgaDFgIGVsZW1lbnRzIHdpdGhpbiBgc2VjdGlvbmAgYW5kXG4gKiBgYXJ0aWNsZWAgY29udGV4dHMgaW4gQ2hyb21lLCBGaXJlZm94LCBhbmQgU2FmYXJpLlxuICovXG5cbmgxIHtcbiAgZm9udC1zaXplOiAyZW07XG4gIG1hcmdpbjogMC42N2VtIDA7XG59XG5cbi8qIEdyb3VwaW5nIGNvbnRlbnRcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qKlxuICogMS4gQWRkIHRoZSBjb3JyZWN0IGJveCBzaXppbmcgaW4gRmlyZWZveC5cbiAqIDIuIFNob3cgdGhlIG92ZXJmbG93IGluIEVkZ2UgYW5kIElFLlxuICovXG5cbmhyIHtcbiAgYm94LXNpemluZzogY29udGVudC1ib3g7IC8qIDEgKi9cbiAgaGVpZ2h0OiAwOyAvKiAxICovXG4gIG92ZXJmbG93OiB2aXNpYmxlOyAvKiAyICovXG59XG5cbi8qKlxuICogMS4gQ29ycmVjdCB0aGUgaW5oZXJpdGFuY2UgYW5kIHNjYWxpbmcgb2YgZm9udCBzaXplIGluIGFsbCBicm93c2Vycy5cbiAqIDIuIENvcnJlY3QgdGhlIG9kZCBgZW1gIGZvbnQgc2l6aW5nIGluIGFsbCBicm93c2Vycy5cbiAqL1xuXG5wcmUge1xuICBmb250LWZhbWlseTogbW9ub3NwYWNlLCBtb25vc3BhY2U7IC8qIDEgKi9cbiAgZm9udC1zaXplOiAxZW07IC8qIDIgKi9cbn1cblxuLyogVGV4dC1sZXZlbCBzZW1hbnRpY3NcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qKlxuICogUmVtb3ZlIHRoZSBncmF5IGJhY2tncm91bmQgb24gYWN0aXZlIGxpbmtzIGluIElFIDEwLlxuICovXG5cbmEge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbn1cblxuLyoqXG4gKiAxLiBSZW1vdmUgdGhlIGJvdHRvbSBib3JkZXIgaW4gQ2hyb21lIDU3LVxuICogMi4gQWRkIHRoZSBjb3JyZWN0IHRleHQgZGVjb3JhdGlvbiBpbiBDaHJvbWUsIEVkZ2UsIElFLCBPcGVyYSwgYW5kIFNhZmFyaS5cbiAqL1xuXG5hYmJyW3RpdGxlXSB7XG4gIGJvcmRlci1ib3R0b206IG5vbmU7IC8qIDEgKi9cbiAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7IC8qIDIgKi9cbiAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmUgZG90dGVkOyAvKiAyICovXG59XG5cbi8qKlxuICogQWRkIHRoZSBjb3JyZWN0IGZvbnQgd2VpZ2h0IGluIENocm9tZSwgRWRnZSwgYW5kIFNhZmFyaS5cbiAqL1xuXG5iLFxuc3Ryb25nIHtcbiAgZm9udC13ZWlnaHQ6IGJvbGRlcjtcbn1cblxuLyoqXG4gKiAxLiBDb3JyZWN0IHRoZSBpbmhlcml0YW5jZSBhbmQgc2NhbGluZyBvZiBmb250IHNpemUgaW4gYWxsIGJyb3dzZXJzLlxuICogMi4gQ29ycmVjdCB0aGUgb2RkIGBlbWAgZm9udCBzaXppbmcgaW4gYWxsIGJyb3dzZXJzLlxuICovXG5cbmNvZGUsXG5rYmQsXG5zYW1wIHtcbiAgZm9udC1mYW1pbHk6IG1vbm9zcGFjZSwgbW9ub3NwYWNlOyAvKiAxICovXG4gIGZvbnQtc2l6ZTogMWVtOyAvKiAyICovXG59XG5cbi8qKlxuICogQWRkIHRoZSBjb3JyZWN0IGZvbnQgc2l6ZSBpbiBhbGwgYnJvd3NlcnMuXG4gKi9cblxuc21hbGwge1xuICBmb250LXNpemU6IDgwJTtcbn1cblxuLyoqXG4gKiBQcmV2ZW50IGBzdWJgIGFuZCBgc3VwYCBlbGVtZW50cyBmcm9tIGFmZmVjdGluZyB0aGUgbGluZSBoZWlnaHQgaW5cbiAqIGFsbCBicm93c2Vycy5cbiAqL1xuXG5zdWIsXG5zdXAge1xuICBmb250LXNpemU6IDc1JTtcbiAgbGluZS1oZWlnaHQ6IDA7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgdmVydGljYWwtYWxpZ246IGJhc2VsaW5lO1xufVxuXG5zdWIge1xuICBib3R0b206IC0wLjI1ZW07XG59XG5cbnN1cCB7XG4gIHRvcDogLTAuNWVtO1xufVxuXG4vKiBFbWJlZGRlZCBjb250ZW50XG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKipcbiAqIFJlbW92ZSB0aGUgYm9yZGVyIG9uIGltYWdlcyBpbnNpZGUgbGlua3MgaW4gSUUgMTAuXG4gKi9cblxuaW1nIHtcbiAgYm9yZGVyLXN0eWxlOiBub25lO1xufVxuXG4vKiBGb3Jtc1xuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLyoqXG4gKiAxLiBDaGFuZ2UgdGhlIGZvbnQgc3R5bGVzIGluIGFsbCBicm93c2Vycy5cbiAqIDIuIFJlbW92ZSB0aGUgbWFyZ2luIGluIEZpcmVmb3ggYW5kIFNhZmFyaS5cbiAqL1xuXG5idXR0b24sXG5pbnB1dCxcbm9wdGdyb3VwLFxuc2VsZWN0LFxudGV4dGFyZWEge1xuICBmb250LWZhbWlseTogaW5oZXJpdDsgLyogMSAqL1xuICBmb250LXNpemU6IDEwMCU7IC8qIDEgKi9cbiAgbGluZS1oZWlnaHQ6IDEuMTU7IC8qIDEgKi9cbiAgbWFyZ2luOiAwOyAvKiAyICovXG59XG5cbi8qKlxuICogU2hvdyB0aGUgb3ZlcmZsb3cgaW4gSUUuXG4gKiAxLiBTaG93IHRoZSBvdmVyZmxvdyBpbiBFZGdlLlxuICovXG5cbmJ1dHRvbixcbmlucHV0IHsgLyogMSAqL1xuICBvdmVyZmxvdzogdmlzaWJsZTtcbn1cblxuLyoqXG4gKiBSZW1vdmUgdGhlIGluaGVyaXRhbmNlIG9mIHRleHQgdHJhbnNmb3JtIGluIEVkZ2UsIEZpcmVmb3gsIGFuZCBJRS5cbiAqIDEuIFJlbW92ZSB0aGUgaW5oZXJpdGFuY2Ugb2YgdGV4dCB0cmFuc2Zvcm0gaW4gRmlyZWZveC5cbiAqL1xuXG5idXR0b24sXG5zZWxlY3QgeyAvKiAxICovXG4gIHRleHQtdHJhbnNmb3JtOiBub25lO1xufVxuXG4vKipcbiAqIENvcnJlY3QgdGhlIGluYWJpbGl0eSB0byBzdHlsZSBjbGlja2FibGUgdHlwZXMgaW4gaU9TIGFuZCBTYWZhcmkuXG4gKi9cblxuYnV0dG9uLFxuW3R5cGU9XCJidXR0b25cIl0sXG5bdHlwZT1cInJlc2V0XCJdLFxuW3R5cGU9XCJzdWJtaXRcIl0ge1xuICAtd2Via2l0LWFwcGVhcmFuY2U6IGJ1dHRvbjtcbn1cblxuLyoqXG4gKiBSZW1vdmUgdGhlIGlubmVyIGJvcmRlciBhbmQgcGFkZGluZyBpbiBGaXJlZm94LlxuICovXG5cbmJ1dHRvbjo6LW1vei1mb2N1cy1pbm5lcixcblt0eXBlPVwiYnV0dG9uXCJdOjotbW96LWZvY3VzLWlubmVyLFxuW3R5cGU9XCJyZXNldFwiXTo6LW1vei1mb2N1cy1pbm5lcixcblt0eXBlPVwic3VibWl0XCJdOjotbW96LWZvY3VzLWlubmVyIHtcbiAgYm9yZGVyLXN0eWxlOiBub25lO1xuICBwYWRkaW5nOiAwO1xufVxuXG4vKipcbiAqIFJlc3RvcmUgdGhlIGZvY3VzIHN0eWxlcyB1bnNldCBieSB0aGUgcHJldmlvdXMgcnVsZS5cbiAqL1xuXG5idXR0b246LW1vei1mb2N1c3JpbmcsXG5bdHlwZT1cImJ1dHRvblwiXTotbW96LWZvY3VzcmluZyxcblt0eXBlPVwicmVzZXRcIl06LW1vei1mb2N1c3JpbmcsXG5bdHlwZT1cInN1Ym1pdFwiXTotbW96LWZvY3VzcmluZyB7XG4gIG91dGxpbmU6IDFweCBkb3R0ZWQgQnV0dG9uVGV4dDtcbn1cblxuLyoqXG4gKiBDb3JyZWN0IHRoZSBwYWRkaW5nIGluIEZpcmVmb3guXG4gKi9cblxuZmllbGRzZXQge1xuICBwYWRkaW5nOiAwLjM1ZW0gMC43NWVtIDAuNjI1ZW07XG59XG5cbi8qKlxuICogMS4gQ29ycmVjdCB0aGUgdGV4dCB3cmFwcGluZyBpbiBFZGdlIGFuZCBJRS5cbiAqIDIuIENvcnJlY3QgdGhlIGNvbG9yIGluaGVyaXRhbmNlIGZyb20gYGZpZWxkc2V0YCBlbGVtZW50cyBpbiBJRS5cbiAqIDMuIFJlbW92ZSB0aGUgcGFkZGluZyBzbyBkZXZlbG9wZXJzIGFyZSBub3QgY2F1Z2h0IG91dCB3aGVuIHRoZXkgemVybyBvdXRcbiAqICAgIGBmaWVsZHNldGAgZWxlbWVudHMgaW4gYWxsIGJyb3dzZXJzLlxuICovXG5cbmxlZ2VuZCB7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7IC8qIDEgKi9cbiAgY29sb3I6IGluaGVyaXQ7IC8qIDIgKi9cbiAgZGlzcGxheTogdGFibGU7IC8qIDEgKi9cbiAgbWF4LXdpZHRoOiAxMDAlOyAvKiAxICovXG4gIHBhZGRpbmc6IDA7IC8qIDMgKi9cbiAgd2hpdGUtc3BhY2U6IG5vcm1hbDsgLyogMSAqL1xufVxuXG4vKipcbiAqIEFkZCB0aGUgY29ycmVjdCB2ZXJ0aWNhbCBhbGlnbm1lbnQgaW4gQ2hyb21lLCBGaXJlZm94LCBhbmQgT3BlcmEuXG4gKi9cblxucHJvZ3Jlc3Mge1xuICB2ZXJ0aWNhbC1hbGlnbjogYmFzZWxpbmU7XG59XG5cbi8qKlxuICogUmVtb3ZlIHRoZSBkZWZhdWx0IHZlcnRpY2FsIHNjcm9sbGJhciBpbiBJRSAxMCsuXG4gKi9cblxudGV4dGFyZWEge1xuICBvdmVyZmxvdzogYXV0bztcbn1cblxuLyoqXG4gKiAxLiBBZGQgdGhlIGNvcnJlY3QgYm94IHNpemluZyBpbiBJRSAxMC5cbiAqIDIuIFJlbW92ZSB0aGUgcGFkZGluZyBpbiBJRSAxMC5cbiAqL1xuXG5bdHlwZT1cImNoZWNrYm94XCJdLFxuW3R5cGU9XCJyYWRpb1wiXSB7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7IC8qIDEgKi9cbiAgcGFkZGluZzogMDsgLyogMiAqL1xufVxuXG4vKipcbiAqIENvcnJlY3QgdGhlIGN1cnNvciBzdHlsZSBvZiBpbmNyZW1lbnQgYW5kIGRlY3JlbWVudCBidXR0b25zIGluIENocm9tZS5cbiAqL1xuXG5bdHlwZT1cIm51bWJlclwiXTo6LXdlYmtpdC1pbm5lci1zcGluLWJ1dHRvbixcblt0eXBlPVwibnVtYmVyXCJdOjotd2Via2l0LW91dGVyLXNwaW4tYnV0dG9uIHtcbiAgaGVpZ2h0OiBhdXRvO1xufVxuXG4vKipcbiAqIDEuIENvcnJlY3QgdGhlIG9kZCBhcHBlYXJhbmNlIGluIENocm9tZSBhbmQgU2FmYXJpLlxuICogMi4gQ29ycmVjdCB0aGUgb3V0bGluZSBzdHlsZSBpbiBTYWZhcmkuXG4gKi9cblxuW3R5cGU9XCJzZWFyY2hcIl0ge1xuICAtd2Via2l0LWFwcGVhcmFuY2U6IHRleHRmaWVsZDsgLyogMSAqL1xuICBvdXRsaW5lLW9mZnNldDogLTJweDsgLyogMiAqL1xufVxuXG4vKipcbiAqIFJlbW92ZSB0aGUgaW5uZXIgcGFkZGluZyBpbiBDaHJvbWUgYW5kIFNhZmFyaSBvbiBtYWNPUy5cbiAqL1xuXG5bdHlwZT1cInNlYXJjaFwiXTo6LXdlYmtpdC1zZWFyY2gtZGVjb3JhdGlvbiB7XG4gIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTtcbn1cblxuLyoqXG4gKiAxLiBDb3JyZWN0IHRoZSBpbmFiaWxpdHkgdG8gc3R5bGUgY2xpY2thYmxlIHR5cGVzIGluIGlPUyBhbmQgU2FmYXJpLlxuICogMi4gQ2hhbmdlIGZvbnQgcHJvcGVydGllcyB0byBgaW5oZXJpdGAgaW4gU2FmYXJpLlxuICovXG5cbjo6LXdlYmtpdC1maWxlLXVwbG9hZC1idXR0b24ge1xuICAtd2Via2l0LWFwcGVhcmFuY2U6IGJ1dHRvbjsgLyogMSAqL1xuICBmb250OiBpbmhlcml0OyAvKiAyICovXG59XG5cbi8qIEludGVyYWN0aXZlXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKlxuICogQWRkIHRoZSBjb3JyZWN0IGRpc3BsYXkgaW4gRWRnZSwgSUUgMTArLCBhbmQgRmlyZWZveC5cbiAqL1xuXG5kZXRhaWxzIHtcbiAgZGlzcGxheTogYmxvY2s7XG59XG5cbi8qXG4gKiBBZGQgdGhlIGNvcnJlY3QgZGlzcGxheSBpbiBhbGwgYnJvd3NlcnMuXG4gKi9cblxuc3VtbWFyeSB7XG4gIGRpc3BsYXk6IGxpc3QtaXRlbTtcbn1cblxuLyogTWlzY1xuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLyoqXG4gKiBBZGQgdGhlIGNvcnJlY3QgZGlzcGxheSBpbiBJRSAxMCsuXG4gKi9cblxudGVtcGxhdGUge1xuICBkaXNwbGF5OiBub25lO1xufVxuXG4vKipcbiAqIEFkZCB0aGUgY29ycmVjdCBkaXNwbGF5IGluIElFIDEwLlxuICovXG5cbltoaWRkZW5dIHtcbiAgZGlzcGxheTogbm9uZTtcbn1cbiIsIi8qKlxuKiBDT01NT04gU1RZTEVTXG4qL1xuLyohIG5vcm1hbGl6ZS5jc3MgdjguMC4xIHwgTUlUIExpY2Vuc2UgfCBnaXRodWIuY29tL25lY29sYXMvbm9ybWFsaXplLmNzcyAqL1xuLyogRG9jdW1lbnRcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKipcbiAqIDEuIENvcnJlY3QgdGhlIGxpbmUgaGVpZ2h0IGluIGFsbCBicm93c2Vycy5cbiAqIDIuIFByZXZlbnQgYWRqdXN0bWVudHMgb2YgZm9udCBzaXplIGFmdGVyIG9yaWVudGF0aW9uIGNoYW5nZXMgaW4gaU9TLlxuICovXG5odG1sIHtcbiAgbGluZS1oZWlnaHQ6IDEuMTU7XG4gIC8qIDEgKi9cbiAgLXdlYmtpdC10ZXh0LXNpemUtYWRqdXN0OiAxMDAlO1xuICAvKiAyICovXG59XG5cbi8qIFNlY3Rpb25zXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLyoqXG4gKiBSZW1vdmUgdGhlIG1hcmdpbiBpbiBhbGwgYnJvd3NlcnMuXG4gKi9cbmJvZHkge1xuICBtYXJnaW46IDA7XG59XG5cbi8qKlxuICogUmVuZGVyIHRoZSBgbWFpbmAgZWxlbWVudCBjb25zaXN0ZW50bHkgaW4gSUUuXG4gKi9cbm1haW4ge1xuICBkaXNwbGF5OiBibG9jaztcbn1cblxuLyoqXG4gKiBDb3JyZWN0IHRoZSBmb250IHNpemUgYW5kIG1hcmdpbiBvbiBgaDFgIGVsZW1lbnRzIHdpdGhpbiBgc2VjdGlvbmAgYW5kXG4gKiBgYXJ0aWNsZWAgY29udGV4dHMgaW4gQ2hyb21lLCBGaXJlZm94LCBhbmQgU2FmYXJpLlxuICovXG5oMSB7XG4gIGZvbnQtc2l6ZTogMmVtO1xuICBtYXJnaW46IDAuNjdlbSAwO1xufVxuXG4vKiBHcm91cGluZyBjb250ZW50XG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLyoqXG4gKiAxLiBBZGQgdGhlIGNvcnJlY3QgYm94IHNpemluZyBpbiBGaXJlZm94LlxuICogMi4gU2hvdyB0aGUgb3ZlcmZsb3cgaW4gRWRnZSBhbmQgSUUuXG4gKi9cbmhyIHtcbiAgYm94LXNpemluZzogY29udGVudC1ib3g7XG4gIC8qIDEgKi9cbiAgaGVpZ2h0OiAwO1xuICAvKiAxICovXG4gIG92ZXJmbG93OiB2aXNpYmxlO1xuICAvKiAyICovXG59XG5cbi8qKlxuICogMS4gQ29ycmVjdCB0aGUgaW5oZXJpdGFuY2UgYW5kIHNjYWxpbmcgb2YgZm9udCBzaXplIGluIGFsbCBicm93c2Vycy5cbiAqIDIuIENvcnJlY3QgdGhlIG9kZCBgZW1gIGZvbnQgc2l6aW5nIGluIGFsbCBicm93c2Vycy5cbiAqL1xucHJlIHtcbiAgZm9udC1mYW1pbHk6IG1vbm9zcGFjZSwgbW9ub3NwYWNlO1xuICAvKiAxICovXG4gIGZvbnQtc2l6ZTogMWVtO1xuICAvKiAyICovXG59XG5cbi8qIFRleHQtbGV2ZWwgc2VtYW50aWNzXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLyoqXG4gKiBSZW1vdmUgdGhlIGdyYXkgYmFja2dyb3VuZCBvbiBhY3RpdmUgbGlua3MgaW4gSUUgMTAuXG4gKi9cbmEge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbn1cblxuLyoqXG4gKiAxLiBSZW1vdmUgdGhlIGJvdHRvbSBib3JkZXIgaW4gQ2hyb21lIDU3LVxuICogMi4gQWRkIHRoZSBjb3JyZWN0IHRleHQgZGVjb3JhdGlvbiBpbiBDaHJvbWUsIEVkZ2UsIElFLCBPcGVyYSwgYW5kIFNhZmFyaS5cbiAqL1xuYWJiclt0aXRsZV0ge1xuICBib3JkZXItYm90dG9tOiBub25lO1xuICAvKiAxICovXG4gIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xuICAvKiAyICovXG4gIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lIGRvdHRlZDtcbiAgLyogMiAqL1xufVxuXG4vKipcbiAqIEFkZCB0aGUgY29ycmVjdCBmb250IHdlaWdodCBpbiBDaHJvbWUsIEVkZ2UsIGFuZCBTYWZhcmkuXG4gKi9cbmIsXG5zdHJvbmcge1xuICBmb250LXdlaWdodDogYm9sZGVyO1xufVxuXG4vKipcbiAqIDEuIENvcnJlY3QgdGhlIGluaGVyaXRhbmNlIGFuZCBzY2FsaW5nIG9mIGZvbnQgc2l6ZSBpbiBhbGwgYnJvd3NlcnMuXG4gKiAyLiBDb3JyZWN0IHRoZSBvZGQgYGVtYCBmb250IHNpemluZyBpbiBhbGwgYnJvd3NlcnMuXG4gKi9cbmNvZGUsXG5rYmQsXG5zYW1wIHtcbiAgZm9udC1mYW1pbHk6IG1vbm9zcGFjZSwgbW9ub3NwYWNlO1xuICAvKiAxICovXG4gIGZvbnQtc2l6ZTogMWVtO1xuICAvKiAyICovXG59XG5cbi8qKlxuICogQWRkIHRoZSBjb3JyZWN0IGZvbnQgc2l6ZSBpbiBhbGwgYnJvd3NlcnMuXG4gKi9cbnNtYWxsIHtcbiAgZm9udC1zaXplOiA4MCU7XG59XG5cbi8qKlxuICogUHJldmVudCBgc3ViYCBhbmQgYHN1cGAgZWxlbWVudHMgZnJvbSBhZmZlY3RpbmcgdGhlIGxpbmUgaGVpZ2h0IGluXG4gKiBhbGwgYnJvd3NlcnMuXG4gKi9cbnN1YixcbnN1cCB7XG4gIGZvbnQtc2l6ZTogNzUlO1xuICBsaW5lLWhlaWdodDogMDtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB2ZXJ0aWNhbC1hbGlnbjogYmFzZWxpbmU7XG59XG5cbnN1YiB7XG4gIGJvdHRvbTogLTAuMjVlbTtcbn1cblxuc3VwIHtcbiAgdG9wOiAtMC41ZW07XG59XG5cbi8qIEVtYmVkZGVkIGNvbnRlbnRcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKipcbiAqIFJlbW92ZSB0aGUgYm9yZGVyIG9uIGltYWdlcyBpbnNpZGUgbGlua3MgaW4gSUUgMTAuXG4gKi9cbmltZyB7XG4gIGJvcmRlci1zdHlsZTogbm9uZTtcbn1cblxuLyogRm9ybXNcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKipcbiAqIDEuIENoYW5nZSB0aGUgZm9udCBzdHlsZXMgaW4gYWxsIGJyb3dzZXJzLlxuICogMi4gUmVtb3ZlIHRoZSBtYXJnaW4gaW4gRmlyZWZveCBhbmQgU2FmYXJpLlxuICovXG5idXR0b24sXG5pbnB1dCxcbm9wdGdyb3VwLFxuc2VsZWN0LFxudGV4dGFyZWEge1xuICBmb250LWZhbWlseTogaW5oZXJpdDtcbiAgLyogMSAqL1xuICBmb250LXNpemU6IDEwMCU7XG4gIC8qIDEgKi9cbiAgbGluZS1oZWlnaHQ6IDEuMTU7XG4gIC8qIDEgKi9cbiAgbWFyZ2luOiAwO1xuICAvKiAyICovXG59XG5cbi8qKlxuICogU2hvdyB0aGUgb3ZlcmZsb3cgaW4gSUUuXG4gKiAxLiBTaG93IHRoZSBvdmVyZmxvdyBpbiBFZGdlLlxuICovXG5idXR0b24sXG5pbnB1dCB7XG4gIC8qIDEgKi9cbiAgb3ZlcmZsb3c6IHZpc2libGU7XG59XG5cbi8qKlxuICogUmVtb3ZlIHRoZSBpbmhlcml0YW5jZSBvZiB0ZXh0IHRyYW5zZm9ybSBpbiBFZGdlLCBGaXJlZm94LCBhbmQgSUUuXG4gKiAxLiBSZW1vdmUgdGhlIGluaGVyaXRhbmNlIG9mIHRleHQgdHJhbnNmb3JtIGluIEZpcmVmb3guXG4gKi9cbmJ1dHRvbixcbnNlbGVjdCB7XG4gIC8qIDEgKi9cbiAgdGV4dC10cmFuc2Zvcm06IG5vbmU7XG59XG5cbi8qKlxuICogQ29ycmVjdCB0aGUgaW5hYmlsaXR5IHRvIHN0eWxlIGNsaWNrYWJsZSB0eXBlcyBpbiBpT1MgYW5kIFNhZmFyaS5cbiAqL1xuYnV0dG9uLFxuW3R5cGU9YnV0dG9uXSxcblt0eXBlPXJlc2V0XSxcblt0eXBlPXN1Ym1pdF0ge1xuICAtd2Via2l0LWFwcGVhcmFuY2U6IGJ1dHRvbjtcbn1cblxuLyoqXG4gKiBSZW1vdmUgdGhlIGlubmVyIGJvcmRlciBhbmQgcGFkZGluZyBpbiBGaXJlZm94LlxuICovXG5idXR0b246Oi1tb3otZm9jdXMtaW5uZXIsXG5bdHlwZT1idXR0b25dOjotbW96LWZvY3VzLWlubmVyLFxuW3R5cGU9cmVzZXRdOjotbW96LWZvY3VzLWlubmVyLFxuW3R5cGU9c3VibWl0XTo6LW1vei1mb2N1cy1pbm5lciB7XG4gIGJvcmRlci1zdHlsZTogbm9uZTtcbiAgcGFkZGluZzogMDtcbn1cblxuLyoqXG4gKiBSZXN0b3JlIHRoZSBmb2N1cyBzdHlsZXMgdW5zZXQgYnkgdGhlIHByZXZpb3VzIHJ1bGUuXG4gKi9cbmJ1dHRvbjotbW96LWZvY3VzcmluZyxcblt0eXBlPWJ1dHRvbl06LW1vei1mb2N1c3JpbmcsXG5bdHlwZT1yZXNldF06LW1vei1mb2N1c3JpbmcsXG5bdHlwZT1zdWJtaXRdOi1tb3otZm9jdXNyaW5nIHtcbiAgb3V0bGluZTogMXB4IGRvdHRlZCBCdXR0b25UZXh0O1xufVxuXG4vKipcbiAqIENvcnJlY3QgdGhlIHBhZGRpbmcgaW4gRmlyZWZveC5cbiAqL1xuZmllbGRzZXQge1xuICBwYWRkaW5nOiAwLjM1ZW0gMC43NWVtIDAuNjI1ZW07XG59XG5cbi8qKlxuICogMS4gQ29ycmVjdCB0aGUgdGV4dCB3cmFwcGluZyBpbiBFZGdlIGFuZCBJRS5cbiAqIDIuIENvcnJlY3QgdGhlIGNvbG9yIGluaGVyaXRhbmNlIGZyb20gYGZpZWxkc2V0YCBlbGVtZW50cyBpbiBJRS5cbiAqIDMuIFJlbW92ZSB0aGUgcGFkZGluZyBzbyBkZXZlbG9wZXJzIGFyZSBub3QgY2F1Z2h0IG91dCB3aGVuIHRoZXkgemVybyBvdXRcbiAqICAgIGBmaWVsZHNldGAgZWxlbWVudHMgaW4gYWxsIGJyb3dzZXJzLlxuICovXG5sZWdlbmQge1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAvKiAxICovXG4gIGNvbG9yOiBpbmhlcml0O1xuICAvKiAyICovXG4gIGRpc3BsYXk6IHRhYmxlO1xuICAvKiAxICovXG4gIG1heC13aWR0aDogMTAwJTtcbiAgLyogMSAqL1xuICBwYWRkaW5nOiAwO1xuICAvKiAzICovXG4gIHdoaXRlLXNwYWNlOiBub3JtYWw7XG4gIC8qIDEgKi9cbn1cblxuLyoqXG4gKiBBZGQgdGhlIGNvcnJlY3QgdmVydGljYWwgYWxpZ25tZW50IGluIENocm9tZSwgRmlyZWZveCwgYW5kIE9wZXJhLlxuICovXG5wcm9ncmVzcyB7XG4gIHZlcnRpY2FsLWFsaWduOiBiYXNlbGluZTtcbn1cblxuLyoqXG4gKiBSZW1vdmUgdGhlIGRlZmF1bHQgdmVydGljYWwgc2Nyb2xsYmFyIGluIElFIDEwKy5cbiAqL1xudGV4dGFyZWEge1xuICBvdmVyZmxvdzogYXV0bztcbn1cblxuLyoqXG4gKiAxLiBBZGQgdGhlIGNvcnJlY3QgYm94IHNpemluZyBpbiBJRSAxMC5cbiAqIDIuIFJlbW92ZSB0aGUgcGFkZGluZyBpbiBJRSAxMC5cbiAqL1xuW3R5cGU9Y2hlY2tib3hdLFxuW3R5cGU9cmFkaW9dIHtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgLyogMSAqL1xuICBwYWRkaW5nOiAwO1xuICAvKiAyICovXG59XG5cbi8qKlxuICogQ29ycmVjdCB0aGUgY3Vyc29yIHN0eWxlIG9mIGluY3JlbWVudCBhbmQgZGVjcmVtZW50IGJ1dHRvbnMgaW4gQ2hyb21lLlxuICovXG5bdHlwZT1udW1iZXJdOjotd2Via2l0LWlubmVyLXNwaW4tYnV0dG9uLFxuW3R5cGU9bnVtYmVyXTo6LXdlYmtpdC1vdXRlci1zcGluLWJ1dHRvbiB7XG4gIGhlaWdodDogYXV0bztcbn1cblxuLyoqXG4gKiAxLiBDb3JyZWN0IHRoZSBvZGQgYXBwZWFyYW5jZSBpbiBDaHJvbWUgYW5kIFNhZmFyaS5cbiAqIDIuIENvcnJlY3QgdGhlIG91dGxpbmUgc3R5bGUgaW4gU2FmYXJpLlxuICovXG5bdHlwZT1zZWFyY2hdIHtcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiB0ZXh0ZmllbGQ7XG4gIC8qIDEgKi9cbiAgb3V0bGluZS1vZmZzZXQ6IC0ycHg7XG4gIC8qIDIgKi9cbn1cblxuLyoqXG4gKiBSZW1vdmUgdGhlIGlubmVyIHBhZGRpbmcgaW4gQ2hyb21lIGFuZCBTYWZhcmkgb24gbWFjT1MuXG4gKi9cblt0eXBlPXNlYXJjaF06Oi13ZWJraXQtc2VhcmNoLWRlY29yYXRpb24ge1xuICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7XG59XG5cbi8qKlxuICogMS4gQ29ycmVjdCB0aGUgaW5hYmlsaXR5IHRvIHN0eWxlIGNsaWNrYWJsZSB0eXBlcyBpbiBpT1MgYW5kIFNhZmFyaS5cbiAqIDIuIENoYW5nZSBmb250IHByb3BlcnRpZXMgdG8gYGluaGVyaXRgIGluIFNhZmFyaS5cbiAqL1xuOjotd2Via2l0LWZpbGUtdXBsb2FkLWJ1dHRvbiB7XG4gIC13ZWJraXQtYXBwZWFyYW5jZTogYnV0dG9uO1xuICAvKiAxICovXG4gIGZvbnQ6IGluaGVyaXQ7XG4gIC8qIDIgKi9cbn1cblxuLyogSW50ZXJhY3RpdmVcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKlxuICogQWRkIHRoZSBjb3JyZWN0IGRpc3BsYXkgaW4gRWRnZSwgSUUgMTArLCBhbmQgRmlyZWZveC5cbiAqL1xuZGV0YWlscyB7XG4gIGRpc3BsYXk6IGJsb2NrO1xufVxuXG4vKlxuICogQWRkIHRoZSBjb3JyZWN0IGRpc3BsYXkgaW4gYWxsIGJyb3dzZXJzLlxuICovXG5zdW1tYXJ5IHtcbiAgZGlzcGxheTogbGlzdC1pdGVtO1xufVxuXG4vKiBNaXNjXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLyoqXG4gKiBBZGQgdGhlIGNvcnJlY3QgZGlzcGxheSBpbiBJRSAxMCsuXG4gKi9cbnRlbXBsYXRlIHtcbiAgZGlzcGxheTogbm9uZTtcbn1cblxuLyoqXG4gKiBBZGQgdGhlIGNvcnJlY3QgZGlzcGxheSBpbiBJRSAxMC5cbiAqL1xuW2hpZGRlbl0ge1xuICBkaXNwbGF5OiBub25lO1xufVxuXG4vKipcbiogQnJlYWtwb2ludHNcbiovXG4vKlxuXG5AaW5jbHVkZSBtZWRpYShcIj49cGhvbmUtc21hbGxcIikge1xuXG59XG5cbiovXG4vKipcbiogVmFyaWFibGVzXG4qL1xuLyoqXG4qIEZvbnRzIChAZm9udC1mYWNlKVxuKi9cbkBmb250LWZhY2Uge1xuICBmb250LWZhbWlseTogTW9udHNlcnJhdDtcbiAgc3JjOiB1cmwoLi4vZm9udHMvTW9udHNlcnJhdC1SZWd1bGFyLnR0Zik7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7XG4gIGZvbnQtc3R5bGU6IG5vcm1hbDtcbn1cbkBmb250LWZhY2Uge1xuICBmb250LWZhbWlseTogTW9udHNlcnJhdDtcbiAgc3JjOiB1cmwoLi4vZm9udHMvTW9udHNlcnJhdC1Cb2xkLnR0Zik7XG4gIGZvbnQtd2VpZ2h0OiA3MDA7XG4gIGZvbnQtc3R5bGU6IG5vcm1hbDtcbn1cbi53cmFwIHtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogYXV0bztcbn1cblxuLmlubmVyLXdyYXAge1xuICB3aWR0aDogMTAwJTtcbiAgbWF4LXdpZHRoOiAxNDAwcHg7XG4gIG1hcmdpbjogMCBhdXRvO1xufVxuXG4uY29udGFpbmVyIHtcbiAgcGFkZGluZy1sZWZ0OiAyMHB4O1xuICBwYWRkaW5nLXJpZ2h0OiAyMHB4O1xuICB0cmFuc2l0aW9uOiBwYWRkaW5nIDMwMG1zO1xufVxuQG1lZGlhIChtaW4td2lkdGg6IDQ4MHB4KSB7XG4gIC5jb250YWluZXIge1xuICAgIHBhZGRpbmctbGVmdDogMjVweDtcbiAgICBwYWRkaW5nLXJpZ2h0OiAyNXB4O1xuICB9XG59XG5AbWVkaWEgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgLmNvbnRhaW5lciB7XG4gICAgcGFkZGluZy1sZWZ0OiAzMHB4O1xuICAgIHBhZGRpbmctcmlnaHQ6IDMwcHg7XG4gIH1cbn1cbkBtZWRpYSAobWluLXdpZHRoOiA5OTJweCkge1xuICAuY29udGFpbmVyIHtcbiAgICBwYWRkaW5nLWxlZnQ6IDYwcHg7XG4gICAgcGFkZGluZy1yaWdodDogNjBweDtcbiAgfVxufVxuQG1lZGlhIChtaW4td2lkdGg6IDEyMDBweCkge1xuICAuY29udGFpbmVyIHtcbiAgICBwYWRkaW5nLWxlZnQ6IDgwcHg7XG4gICAgcGFkZGluZy1yaWdodDogODBweDtcbiAgfVxufVxuXG4uc3BhY2VyLXRvcCB7XG4gIHBhZGRpbmctdG9wOiAyMHB4O1xuICB0cmFuc2l0aW9uOiBwYWRkaW5nIDMwMG1zO1xufVxuQG1lZGlhIChtaW4td2lkdGg6IDQ4MHB4KSB7XG4gIC5zcGFjZXItdG9wIHtcbiAgICBwYWRkaW5nLXRvcDogMjVweDtcbiAgfVxufVxuQG1lZGlhIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gIC5zcGFjZXItdG9wIHtcbiAgICBwYWRkaW5nLXRvcDogNDBweDtcbiAgfVxufVxuQG1lZGlhIChtaW4td2lkdGg6IDk5MnB4KSB7XG4gIC5zcGFjZXItdG9wIHtcbiAgICBwYWRkaW5nLXRvcDogNjBweDtcbiAgfVxufVxuQG1lZGlhIChtaW4td2lkdGg6IDEyMDBweCkge1xuICAuc3BhY2VyLXRvcCB7XG4gICAgcGFkZGluZy10b3A6IDgwcHg7XG4gIH1cbn1cblxuLnNwYWNlci1ib3R0b20ge1xuICBwYWRkaW5nLWJvdHRvbTogMjBweDtcbiAgdHJhbnNpdGlvbjogcGFkZGluZyAzMDBtcztcbn1cbkBtZWRpYSAobWluLXdpZHRoOiA0ODBweCkge1xuICAuc3BhY2VyLWJvdHRvbSB7XG4gICAgcGFkZGluZy1ib3R0b206IDI1cHg7XG4gIH1cbn1cbkBtZWRpYSAobWluLXdpZHRoOiA3NjhweCkge1xuICAuc3BhY2VyLWJvdHRvbSB7XG4gICAgcGFkZGluZy1ib3R0b206IDQwcHg7XG4gIH1cbn1cbkBtZWRpYSAobWluLXdpZHRoOiA5OTJweCkge1xuICAuc3BhY2VyLWJvdHRvbSB7XG4gICAgcGFkZGluZy1ib3R0b206IDYwcHg7XG4gIH1cbn1cbkBtZWRpYSAobWluLXdpZHRoOiAxMjAwcHgpIHtcbiAgLnNwYWNlci1ib3R0b20ge1xuICAgIHBhZGRpbmctYm90dG9tOiA4MHB4O1xuICB9XG59XG5cbi5idXR0b24ge1xuICBwYWRkaW5nOiAxMHB4IDE1cHg7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgYmFja2dyb3VuZC1jb2xvcjogIzMwNDc2MztcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgY29sb3I6ICNmZmY7XG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xuICBib3JkZXItcmFkaXVzOiAxNXB4IDAgMTVweCAwO1xufVxuXG4uY2F0ZWdvcnkge1xuICBkaXNwbGF5OiBibG9jaztcbiAgY29sb3I6ICMwZjBmMGY7XG4gIGZvbnQtd2VpZ2h0OiA2MDA7XG4gIGZvbnQtc2l6ZTogMC44cmVtO1xuICBsZXR0ZXItc3BhY2luZzogLTAuMDYyNWVtO1xufVxuXG4udGl0bGUge1xuICBkaXNwbGF5OiBibG9jaztcbiAgZm9udC1zaXplOiAxLjRyZW07XG4gIGxpbmUtaGVpZ2h0OiAxLjE7XG4gIGNvbG9yOiAjM2I2MjdmO1xuICBsZXR0ZXItc3BhY2luZzogLTAuMDYyNWVtO1xufVxuLnRhZyB7XG4gIGZvbnQtc2l6ZTogMC44cmVtO1xuICBmb250LXdlaWdodDogNTAwO1xuICBjb2xvcjogIzk5OTk5OTtcbiAgbGV0dGVyLXNwYWNpbmc6IC0wLjA0MjVlbTtcbn1cblxuLnNyLW9ubHkge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHdpZHRoOiAxcHg7XG4gIGhlaWdodDogMXB4O1xuICBwYWRkaW5nOiAwO1xuICBtYXJnaW46IC0xcHg7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIGNsaXA6IHJlY3QoMCwgMCwgMCwgMCk7XG4gIGJvcmRlcjogMDtcbn1cblxuLm5vLXNjcm9sbCB7XG4gIG92ZXJmbG93OiBoaWRkZW47XG59XG5cbi8qKlxuKiBHbG9iYWwgc3R5bGVzXG4qL1xuKiB7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG59XG5cbmh0bWwge1xuICBoZWlnaHQ6IDEwMCU7XG4gIGZvbnQtc2l6ZTogMTAwJTtcbiAgbGluZS1oZWlnaHQ6IDEuNztcbn1cblxuYm9keSB7XG4gIG1pbi1oZWlnaHQ6IDEwMCU7XG4gIGRpc3BsYXk6IGdyaWQ7XG4gIGdyaWQtdGVtcGxhdGUtcm93czogYXV0byAxZnIgYXV0bztcbiAgbWFyZ2luOiAwO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xuICBjb2xvcjogIzIyMjtcbiAgZm9udC1mYW1pbHk6IFwiTW9udHNlcnJhdFwiLCBzYW5zLXNlcmlmO1xufVxuXG5oMSwgaDIsIGgzLCBoNCwgaDUsIGg2IHtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XG59XG5cbmgxIHtcbiAgbWFyZ2luLXRvcDogMDtcbiAgbWFyZ2luLWJvdHRvbTogMS40cmVtO1xuICBmb250LXNpemU6IDIuMnJlbTtcbn1cblxuaDIge1xuICBtYXJnaW4tdG9wOiAwO1xuICBtYXJnaW4tYm90dG9tOiAxLjNyZW07XG4gIGZvbnQtc2l6ZTogMS44cmVtO1xuICBmb250LXdlaWdodDogNjAwO1xuICBsaW5lLWhlaWdodDogMS4xNTkwOWVtO1xufVxuXG5oMyB7XG4gIG1hcmdpbi10b3A6IDA7XG4gIG1hcmdpbi1ib3R0b206IDFyZW07XG4gIGxpbmUtaGVpZ2h0OiAxLjE1OTA5ZW07XG4gIGZvbnQtc2l6ZTogMS42cmVtO1xufVxuXG5oNCB7XG4gIG1hcmdpbi10b3A6IDA7XG4gIGZvbnQtc2l6ZTogMS40cmVtO1xuICBtYXJnaW4tYm90dG9tOiAxcmVtO1xufVxuXG5oNSB7XG4gIG1hcmdpbi10b3A6IDA7XG4gIGZvbnQtc2l6ZTogMS4zcmVtO1xuICBtYXJnaW4tYm90dG9tOiAxcmVtO1xufVxuXG5oNiB7XG4gIG1hcmdpbi10b3A6IDA7XG4gIGZvbnQtc2l6ZTogMS4ycmVtO1xuICBtYXJnaW4tYm90dG9tOiAxcmVtO1xufVxuXG5wIHtcbiAgbWFyZ2luOiAwO1xuICBwYWRkaW5nLWJvdHRvbTogMDtcbiAgZm9udC1zaXplOiAxLjFyZW07XG4gIGZvbnQtd2VpZ2h0OiA0MDA7XG4gIGxpbmUtaGVpZ2h0OiAxLjU7XG59XG5cbmEge1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gIGNvbG9yOiAjMzU2ODc5O1xufVxudWwsIG9sIHtcbiAgbWFyZ2luOiAwO1xuICBwYWRkaW5nOiAwO1xuICBsaXN0LXN0eWxlLXBvc2l0aW9uOiBpbnNpZGU7XG59XG5cbi8qIGJlZ2luIGJ1dHRvbiBzdHlsZXMgKi9cbmJ1dHRvbiB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgYm9yZGVyOiBub25lO1xuICBwYWRkaW5nOiAwO1xuICBtYXJnaW46IDA7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgYmFja2dyb3VuZDogbm9uZTtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7XG4gIC1tb3otYXBwZWFyYW5jZTogbm9uZTtcbn1cblxuLyogZW5kIGJ1dHRvbiBzdHlsZXMgKi9cbi8qKlxuKiBIZWFkZXIgc3R5bGVzXG4qL1xuLmhlYWRlci13cmFwIHtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogYXV0bztcbiAgZ3JpZC1yb3ctc3RhcnQ6IDE7XG4gIGdyaWQtcm93LWVuZDogMjtcbiAgcG9zaXRpb246IHN0aWNreTtcbiAgdG9wOiAwO1xuICB6LWluZGV4OiA5OTk5O1xuICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDIwMG1zLCBib3JkZXIgMjAwbXMsIGJveC1zaGFkb3cgMjAwbXM7XG59XG4uaGVhZGVyLXdyYXAuYmctdmlzaWJsZSB7XG4gIGJhY2tncm91bmQtY29sb3I6ICMzMDQ3NjM7XG4gIGJvcmRlci1ib3R0b206IDVweCBzb2xpZCAjZmZmO1xuICBib3gtc2hhZG93OiAwcHggMXB4IDE1cHggIzAwMDtcbn1cblxuLnRvcC1iYXItYmcge1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiA0NXB4O1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMDtcbiAgbGVmdDogMDtcbiAgei1pbmRleDogNjtcbiAgZGlzcGxheTogbm9uZTtcbiAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAyMDBtcztcbn1cbi50b3AtYmFyLWJnLmJnLXZpc2libGUge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMzA0NzYzO1xufVxuQG1lZGlhIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gIC50b3AtYmFyLWJnIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgfVxufVxuXG4uaGVhZGVyIHtcbiAgd2lkdGg6IDEwMCU7XG4gIG1heC13aWR0aDogMTQwMHB4O1xuICBtYXJnaW46IDAgYXV0bztcbiAgaGVpZ2h0OiA5MHB4O1xuICBwYWRkaW5nLXRvcDogMDtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBkaXNwbGF5OiBncmlkO1xuICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDFmciAxMDBweDtcbiAgZ3JpZC10ZW1wbGF0ZS1yb3dzOiA5MHB4IGF1dG87XG4gIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMjAwbXM7XG59XG4uaGVhZGVyLmJnLXZpc2libGUge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMzA0NzYzO1xufVxuQG1lZGlhIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gIC5oZWFkZXIge1xuICAgIGhlaWdodDogMTYwcHg7XG4gICAgcGFkZGluZy10b3A6IDQ1cHg7XG4gICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAxZnIgMTAwcHg7XG4gICAgZ3JpZC10ZW1wbGF0ZS1yb3dzOiAxMjBweCA3MHB4O1xuICB9XG59XG5cbi5oZWFkZXItYnJhbmQge1xuICBwYWRkaW5nLWxlZnQ6IDIwcHg7XG4gIHBhZGRpbmctcmlnaHQ6IDIwcHg7XG4gIHRyYW5zaXRpb246IHBhZGRpbmcgMzAwbXM7XG4gIHBhZGRpbmctcmlnaHQ6IDA7XG4gIGhlaWdodDogOTBweDtcbiAgZ3JpZC1jb2x1bW46IDEvc3BhbiAxO1xuICBncmlkLXJvdzogMS9zcGFuIDE7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgei1pbmRleDogNTtcbn1cbkBtZWRpYSAobWluLXdpZHRoOiA0ODBweCkge1xuICAuaGVhZGVyLWJyYW5kIHtcbiAgICBwYWRkaW5nLWxlZnQ6IDI1cHg7XG4gICAgcGFkZGluZy1yaWdodDogMjVweDtcbiAgfVxufVxuQG1lZGlhIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gIC5oZWFkZXItYnJhbmQge1xuICAgIHBhZGRpbmctbGVmdDogMzBweDtcbiAgICBwYWRkaW5nLXJpZ2h0OiAzMHB4O1xuICB9XG59XG5AbWVkaWEgKG1pbi13aWR0aDogOTkycHgpIHtcbiAgLmhlYWRlci1icmFuZCB7XG4gICAgcGFkZGluZy1sZWZ0OiA2MHB4O1xuICAgIHBhZGRpbmctcmlnaHQ6IDYwcHg7XG4gIH1cbn1cbkBtZWRpYSAobWluLXdpZHRoOiAxMjAwcHgpIHtcbiAgLmhlYWRlci1icmFuZCB7XG4gICAgcGFkZGluZy1sZWZ0OiA4MHB4O1xuICAgIHBhZGRpbmctcmlnaHQ6IDgwcHg7XG4gIH1cbn1cbkBtZWRpYSAobWluLXdpZHRoOiA3NjhweCkge1xuICAuaGVhZGVyLWJyYW5kIHtcbiAgICBoZWlnaHQ6IDcwcHg7XG4gICAgbWFyZ2luLXRvcDogLTM1cHg7XG4gIH1cbn1cbkBtZWRpYSAobWluLXdpZHRoOiAxMjAwcHgpIHtcbiAgLmhlYWRlci1icmFuZCB7XG4gICAgbWFyZ2luLXRvcDogMDtcbiAgfVxufVxuQG1lZGlhIChtaW4td2lkdGg6IDE0MDBweCkge1xuICAuaGVhZGVyLWJyYW5kIHtcbiAgICBoZWlnaHQ6IDExNXB4O1xuICAgIGdyaWQtY29sdW1uOiAxL3NwYW4gMTtcbiAgICBncmlkLXJvdzogMS9zcGFuIDI7XG4gICAgbWF4LXdpZHRoOiAxMDAlO1xuICB9XG59XG4uaGVhZGVyLWJyYW5kIGEge1xuICBtYXgtd2lkdGg6IDQyMHB4O1xuICBoZWlnaHQ6IDkwcHg7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gIGNvbG9yOiAjMDAwO1xufVxuQG1lZGlhIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gIC5oZWFkZXItYnJhbmQgYSB7XG4gICAgaGVpZ2h0OiA3MHB4O1xuICB9XG59XG5AbWVkaWEgKG1pbi13aWR0aDogMTQwMHB4KSB7XG4gIC5oZWFkZXItYnJhbmQgYSB7XG4gICAgaGVpZ2h0OiAxMTVweDtcbiAgfVxufVxuLmhlYWRlci1icmFuZCBhIC5sb2dvIHtcbiAgd2lkdGg6IDQwcHg7XG4gIG1hcmdpbi1yaWdodDogMTVweDtcbiAgaGVpZ2h0OiBhdXRvO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIGRpc3BsYXk6IGJsb2NrO1xufVxuQG1lZGlhIChtaW4td2lkdGg6IDQ4MHB4KSB7XG4gIC5oZWFkZXItYnJhbmQgYSAubG9nbyB7XG4gICAgd2lkdGg6IDcwcHg7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gIH1cbn1cbkBtZWRpYSAobWluLXdpZHRoOiAxNDAwcHgpIHtcbiAgLmhlYWRlci1icmFuZCBhIC5sb2dvIHtcbiAgICB3aWR0aDogMTQ0cHg7XG4gICAgd2lkdGg6IGF1dG87XG4gICAgaGVpZ2h0OiAxMTVweDtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgfVxufVxuLmhlYWRlci1icmFuZCBhIC5sb2dvLXRleHQge1xuICBkaXNwbGF5OiBibG9jaztcbiAgY29sb3I6ICNmZmY7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgcGFkZGluZy1sZWZ0OiAwO1xufVxuQG1lZGlhIChtaW4td2lkdGg6IDQ4MHB4KSB7XG4gIC5oZWFkZXItYnJhbmQgYSAubG9nby10ZXh0IHtcbiAgICBwYWRkaW5nLWxlZnQ6IDIwcHg7XG4gICAgZm9udC1zaXplOiAxcmVtO1xuICB9XG59XG4uaGVhZGVyLWJyYW5kIGEgLmxvZ28tdGV4dCAubG9nby10ZXh0LXRpdGxlIHtcbiAgbWFyZ2luOiAwIGF1dG87XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBsaW5lLWhlaWdodDogMC45O1xuICBmb250LXNpemU6IDFyZW07XG59XG4uaGVhZGVyLWJyYW5kIGEgLmxvZ28tdGV4dCAubG9nby10ZXh0LXRpdGxlIHNwYW4ucmVnaXN0ZXJlZCB7XG4gIGZvbnQtc2l6ZTogMC43cmVtO1xuICBmb250LXdlaWdodDogbm9ybWFsO1xuICB2ZXJ0aWNhbC1hbGlnbjogc3VwZXI7XG59XG5AbWVkaWEgKG1pbi13aWR0aDogNDgwcHgpIHtcbiAgLmhlYWRlci1icmFuZCBhIC5sb2dvLXRleHQgLmxvZ28tdGV4dC10aXRsZSB7XG4gICAgZm9udC1zaXplOiAxLjRyZW07XG4gIH1cbiAgLmhlYWRlci1icmFuZCBhIC5sb2dvLXRleHQgLmxvZ28tdGV4dC10aXRsZSBzcGFuLnJlZ2lzdGVyZWQge1xuICAgIGZvbnQtc2l6ZTogMC45cmVtO1xuICB9XG59XG4uaGVhZGVyLWJyYW5kIGEgLmxvZ28tdGV4dCAubG9nby10ZXh0LXRhZ2xpbmUge1xuICBtYXJnaW46IDEwcHggYXV0byAwIGF1dG87XG4gIGxpbmUtaGVpZ2h0OiAwLjg7XG4gIGZvbnQtc2l6ZTogMC42cmVtO1xuICBmb250LXdlaWdodDogbGlnaHRlcjtcbiAgZm9udC1zdHlsZTogaXRhbGljO1xuICBkaXNwbGF5OiBibG9jaztcbiAgY29sb3I6ICNmZmY7XG59XG5AbWVkaWEgKG1pbi13aWR0aDogNDgwcHgpIHtcbiAgLmhlYWRlci1icmFuZCBhIC5sb2dvLXRleHQgLmxvZ28tdGV4dC10YWdsaW5lIHtcbiAgICBmb250LXNpemU6IDEuMXJlbTtcbiAgfVxufVxuXG4uaGVhZGVyLW5hdiB7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDA7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiA5MHB4O1xuICBkaXNwbGF5OiBub25lO1xuICBvdmVyZmxvdzogaGlkZGVuO1xufVxuLmhlYWRlci1uYXYuYmctdmlzaWJsZSB7XG4gIGJhY2tncm91bmQtY29sb3I6ICMzMDQ3NjM7XG59XG5AbWVkaWEgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgLmhlYWRlci1uYXYge1xuICAgIGhlaWdodDogNjVweDtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB0b3A6IDA7XG4gICAgb3ZlcmZsb3c6IHZpc2libGU7XG4gIH1cbn1cblxuLm1haW4tbmF2IHtcbiAgd2lkdGg6IDEwMCU7XG4gIHBhZGRpbmctcmlnaHQ6IDA7XG4gIHBhZGRpbmctbGVmdDogMDtcbiAgaGVpZ2h0OiBhdXRvO1xuICBwb3NpdGlvbjogc3RhdGljO1xuICB0b3A6IGF1dG87XG4gIHJpZ2h0OiBhdXRvO1xuICB6LWluZGV4OiA2O1xuICBkaXNwbGF5OiBibG9jaztcbn1cbkBtZWRpYSAobWluLXdpZHRoOiA3NjhweCkge1xuICAubWFpbi1uYXYge1xuICAgIHBhZGRpbmctbGVmdDogMjBweDtcbiAgICBwYWRkaW5nLXJpZ2h0OiAyMHB4O1xuICAgIHRyYW5zaXRpb246IHBhZGRpbmcgMzAwbXM7XG4gICAgcGFkZGluZy1sZWZ0OiAwO1xuICAgIHdpZHRoOiBhdXRvO1xuICAgIGhlaWdodDogNjVweDtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiA4NXB4O1xuICAgIHJpZ2h0OiAwO1xuICB9XG59XG5AbWVkaWEgKG1pbi13aWR0aDogNzY4cHgpIGFuZCAobWluLXdpZHRoOiA0ODBweCkge1xuICAubWFpbi1uYXYge1xuICAgIHBhZGRpbmctbGVmdDogMjVweDtcbiAgICBwYWRkaW5nLXJpZ2h0OiAyNXB4O1xuICB9XG59XG5AbWVkaWEgKG1pbi13aWR0aDogNzY4cHgpIGFuZCAobWluLXdpZHRoOiA3NjhweCkge1xuICAubWFpbi1uYXYge1xuICAgIHBhZGRpbmctbGVmdDogMzBweDtcbiAgICBwYWRkaW5nLXJpZ2h0OiAzMHB4O1xuICB9XG59XG5AbWVkaWEgKG1pbi13aWR0aDogNzY4cHgpIGFuZCAobWluLXdpZHRoOiA5OTJweCkge1xuICAubWFpbi1uYXYge1xuICAgIHBhZGRpbmctbGVmdDogNjBweDtcbiAgICBwYWRkaW5nLXJpZ2h0OiA2MHB4O1xuICB9XG59XG5AbWVkaWEgKG1pbi13aWR0aDogNzY4cHgpIGFuZCAobWluLXdpZHRoOiAxMjAwcHgpIHtcbiAgLm1haW4tbmF2IHtcbiAgICBwYWRkaW5nLWxlZnQ6IDgwcHg7XG4gICAgcGFkZGluZy1yaWdodDogODBweDtcbiAgfVxufVxuLm1haW4tbmF2IHVsIHtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogYXV0bztcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgbGlzdC1zdHlsZTogbm9uZTtcbiAgYm9yZGVyLXRvcDogMXB4IHNvbGlkICMzNzM0MzU7XG59XG5AbWVkaWEgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgLm1haW4tbmF2IHVsIHtcbiAgICB3aWR0aDogYXV0bztcbiAgICBoZWlnaHQ6IDY1cHg7XG4gICAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgICBjb2x1bW4tZ2FwOiAxMHB4O1xuICAgIGJvcmRlci10b3A6IHVuc2V0O1xuICB9XG59XG4ubWFpbi1uYXYgdWwgbGkge1xuICBwYWRkaW5nLWxlZnQ6IDIwcHg7XG4gIHBhZGRpbmctcmlnaHQ6IDIwcHg7XG4gIHRyYW5zaXRpb246IHBhZGRpbmcgMzAwbXM7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDQ1cHg7XG4gIGxpc3Qtc3R5bGU6IG5vbmU7XG4gIGJvcmRlci10b3A6IHVuc2V0O1xuICBib3JkZXItYm90dG9tOiAxcHggc29saWQgIzM3MzQzNTtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xufVxuQG1lZGlhIChtaW4td2lkdGg6IDQ4MHB4KSB7XG4gIC5tYWluLW5hdiB1bCBsaSB7XG4gICAgcGFkZGluZy1sZWZ0OiAyNXB4O1xuICAgIHBhZGRpbmctcmlnaHQ6IDI1cHg7XG4gIH1cbn1cbkBtZWRpYSAobWluLXdpZHRoOiA3NjhweCkge1xuICAubWFpbi1uYXYgdWwgbGkge1xuICAgIHBhZGRpbmctbGVmdDogMzBweDtcbiAgICBwYWRkaW5nLXJpZ2h0OiAzMHB4O1xuICB9XG59XG5AbWVkaWEgKG1pbi13aWR0aDogOTkycHgpIHtcbiAgLm1haW4tbmF2IHVsIGxpIHtcbiAgICBwYWRkaW5nLWxlZnQ6IDYwcHg7XG4gICAgcGFkZGluZy1yaWdodDogNjBweDtcbiAgfVxufVxuQG1lZGlhIChtaW4td2lkdGg6IDEyMDBweCkge1xuICAubWFpbi1uYXYgdWwgbGkge1xuICAgIHBhZGRpbmctbGVmdDogODBweDtcbiAgICBwYWRkaW5nLXJpZ2h0OiA4MHB4O1xuICB9XG59XG5AbWVkaWEgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgLm1haW4tbmF2IHVsIGxpIHtcbiAgICBwYWRkaW5nLXJpZ2h0OiAwO1xuICAgIHBhZGRpbmctbGVmdDogMDtcbiAgICB3aWR0aDogYXV0bztcbiAgICBoZWlnaHQ6IDY1cHg7XG4gICAgYm9yZGVyLWJvdHRvbTogdW5zZXQ7XG4gICAgdHJhbnNpdGlvbjogZGlzcGxheSAzMDBtcztcbiAgfVxuICAubWFpbi1uYXYgdWwgbGk6aG92ZXIgPiB1bCB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gIH1cbn1cbi5tYWluLW5hdiB1bCBsaSBhIHtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogNDVweDtcbiAgcGFkZGluZzogMDtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBmb250LXdlaWdodDogYm9sZDtcbiAgZm9udC1zaXplOiAwLjhyZW07XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gIGNvbG9yOiAjZmZmO1xufVxuQG1lZGlhIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gIC5tYWluLW5hdiB1bCBsaSBhIHtcbiAgICB3aWR0aDogYXV0bztcbiAgICBoZWlnaHQ6IDY1cHg7XG4gICAgcGFkZGluZzogMCA1cHg7XG4gICAgZm9udC1zaXplOiAwLjc1cmVtO1xuICB9XG59XG5AbWVkaWEgKG1pbi13aWR0aDogOTkycHgpIHtcbiAgLm1haW4tbmF2IHVsIGxpIGEge1xuICAgIGZvbnQtc2l6ZTogMC44cmVtO1xuICB9XG59XG4ubWFpbi1uYXYgdWwgbGkgLm5hdi1jaGV2cm9uIHtcbiAgZGlzcGxheTogZmxleDtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICByaWdodDogMDtcbn1cbkBtZWRpYSAobWluLXdpZHRoOiA3NjhweCkge1xuICAubWFpbi1uYXYgdWwgbGkgLm5hdi1jaGV2cm9uIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG59XG4ubWFpbi1uYXYgdWwgbGkgdWwge1xuICB3aWR0aDogMjI1cHg7XG4gIGhlaWdodDogYXV0bztcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDYycHg7XG4gIHJpZ2h0OiAwO1xuICBsaXN0LXN0eWxlOiBub25lO1xuICBkaXNwbGF5OiBub25lO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZTBlMGUwO1xuICBib3JkZXItdG9wOiAxcHggc29saWQgI2ZmZjtcbn1cbi5tYWluLW5hdiB1bCBsaSB1bDo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcIjtcbiAgd2lkdGg6IDA7XG4gIGhlaWdodDogMDtcbiAgYm9yZGVyLXRvcDogMTBweCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgYm9yZGVyLWJvdHRvbTogMTBweCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgYm9yZGVyLWxlZnQ6IDEwcHggc29saWQgI2UwZTBlMDtcbiAgdHJhbnNmb3JtOiByb3RhdGUoNDVkZWcpO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogLTEycHg7XG4gIHJpZ2h0OiAtMXB4O1xuICB6LWluZGV4OiAxMDAxO1xufVxuLm1haW4tbmF2IHVsIGxpIHVsIGxpIHtcbiAgd2lkdGg6IDIyNXB4O1xuICBoZWlnaHQ6IDM1cHg7XG4gIGxpc3Qtc3R5bGU6IG5vbmU7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBib3JkZXItdG9wOiAxcHggc29saWQgI2ZmZjtcbn1cbi5tYWluLW5hdiB1bCBsaSB1bCBsaTpudGgtY2hpbGQoMSkge1xuICBib3JkZXItdG9wOiAxcHggc29saWQgIzk5OTk5OTtcbn1cbi5tYWluLW5hdiB1bCBsaSB1bCBsaTpudGgtY2hpbGQoMikge1xuICBib3JkZXItdG9wOiAxcHggc29saWQgI2ZmZjtcbn1cbi5tYWluLW5hdiB1bCBsaSB1bCBsaTpudGgtY2hpbGQoMykge1xuICBib3JkZXItdG9wOiAxcHggc29saWQgI2ZmZjtcbn1cbi5tYWluLW5hdiB1bCBsaSB1bCBsaTpudGgtY2hpbGQoNCkge1xuICBib3JkZXItdG9wOiAxcHggc29saWQgI2ZmZjtcbn1cbi5tYWluLW5hdiB1bCBsaSB1bCBsaSBhIHtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogMzVweDtcbiAgcGFkZGluZy1sZWZ0OiAxMHB4O1xuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG59XG4ubWFpbi1uYXYgdWwgbGkgdWwgbGkgYTpob3ZlciB7XG4gIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xufVxuXG4udG9wLW5hdiB7XG4gIHBhZGRpbmctbGVmdDogMjBweDtcbiAgcGFkZGluZy1yaWdodDogMjBweDtcbiAgdHJhbnNpdGlvbjogcGFkZGluZyAzMDBtcztcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogNDVweDtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB0b3A6IGF1dG87XG4gIGxlZnQ6IGF1dG87XG4gIHotaW5kZXg6IDY7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBjbGVhcjogYm90aDtcbn1cbkBtZWRpYSAobWluLXdpZHRoOiA0ODBweCkge1xuICAudG9wLW5hdiB7XG4gICAgcGFkZGluZy1sZWZ0OiAyNXB4O1xuICAgIHBhZGRpbmctcmlnaHQ6IDI1cHg7XG4gIH1cbn1cbkBtZWRpYSAobWluLXdpZHRoOiA3NjhweCkge1xuICAudG9wLW5hdiB7XG4gICAgcGFkZGluZy1sZWZ0OiAzMHB4O1xuICAgIHBhZGRpbmctcmlnaHQ6IDMwcHg7XG4gIH1cbn1cbkBtZWRpYSAobWluLXdpZHRoOiA5OTJweCkge1xuICAudG9wLW5hdiB7XG4gICAgcGFkZGluZy1sZWZ0OiA2MHB4O1xuICAgIHBhZGRpbmctcmlnaHQ6IDYwcHg7XG4gIH1cbn1cbkBtZWRpYSAobWluLXdpZHRoOiAxMjAwcHgpIHtcbiAgLnRvcC1uYXYge1xuICAgIHBhZGRpbmctbGVmdDogODBweDtcbiAgICBwYWRkaW5nLXJpZ2h0OiA4MHB4O1xuICB9XG59XG5AbWVkaWEgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgLnRvcC1uYXYge1xuICAgIHdpZHRoOiA1MCU7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMDtcbiAgICByaWdodDogMzZweDtcbiAgICB6LWluZGV4OiA2O1xuICB9XG59XG4udG9wLW5hdiB1bCB7XG4gIHdpZHRoOiAxMDAlO1xuICBwYWRkaW5nLXJpZ2h0OiA2MHB4O1xuICBoZWlnaHQ6IDQ1cHg7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gIGxpc3Qtc3R5bGU6IG5vbmU7XG4gIGNvbHVtbi1nYXA6IDMwcHg7XG4gIGZsZXgtZmxvdzogcm93O1xufVxuQG1lZGlhIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gIC50b3AtbmF2IHVsIHtcbiAgICB3aWR0aDogYXV0bztcbiAgICBmbGV4LWZsb3c6IHJvdy1yZXZlcnNlO1xuICB9XG59XG4udG9wLW5hdiB1bCBsaSB7XG4gIGxpc3Qtc3R5bGU6IG5vbmU7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG59XG4udG9wLW5hdiB1bCBsaSBhIHtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICBjb2xvcjogI2ZmZjtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gIGZvbnQtc2l6ZTogMTJweDtcbiAgZGlzcGxheTogZmxleDtcbn1cbkBtZWRpYSAobWluLXdpZHRoOiA3NjhweCkge1xuICAudG9wLW5hdiB1bCBsaSBhIHtcbiAgICBoZWlnaHQ6IDQ1cHg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgfVxufVxuLnNsaWRlLWxpbmUge1xuICBoZWlnaHQ6IDNweDtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcbn1cblxuLmhlYWRlci1idXR0b25zIHtcbiAgcGFkZGluZy1sZWZ0OiAyMHB4O1xuICBwYWRkaW5nLXJpZ2h0OiAyMHB4O1xuICB0cmFuc2l0aW9uOiBwYWRkaW5nIDMwMG1zO1xuICB3aWR0aDogYXV0bztcbiAgaGVpZ2h0OiA5MHB4O1xuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMDtcbiAgcmlnaHQ6IDA7XG4gIHotaW5kZXg6IDY7XG59XG5AbWVkaWEgKG1pbi13aWR0aDogNDgwcHgpIHtcbiAgLmhlYWRlci1idXR0b25zIHtcbiAgICBwYWRkaW5nLWxlZnQ6IDI1cHg7XG4gICAgcGFkZGluZy1yaWdodDogMjVweDtcbiAgfVxufVxuQG1lZGlhIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gIC5oZWFkZXItYnV0dG9ucyB7XG4gICAgcGFkZGluZy1sZWZ0OiAzMHB4O1xuICAgIHBhZGRpbmctcmlnaHQ6IDMwcHg7XG4gIH1cbn1cbkBtZWRpYSAobWluLXdpZHRoOiA5OTJweCkge1xuICAuaGVhZGVyLWJ1dHRvbnMge1xuICAgIHBhZGRpbmctbGVmdDogNjBweDtcbiAgICBwYWRkaW5nLXJpZ2h0OiA2MHB4O1xuICB9XG59XG5AbWVkaWEgKG1pbi13aWR0aDogMTIwMHB4KSB7XG4gIC5oZWFkZXItYnV0dG9ucyB7XG4gICAgcGFkZGluZy1sZWZ0OiA4MHB4O1xuICAgIHBhZGRpbmctcmlnaHQ6IDgwcHg7XG4gIH1cbn1cbkBtZWRpYSAobWluLXdpZHRoOiA3NjhweCkge1xuICAuaGVhZGVyLWJ1dHRvbnMge1xuICAgIGhlaWdodDogNDVweDtcbiAgICBwYWRkaW5nLWxlZnQ6IDA7XG4gIH1cbn1cblxuLmdsYXNzIHtcbiAgcGFkZGluZzogOHB4IDEwcHg7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIHRvcDogYXV0bztcbn1cbkBtZWRpYSAobWluLXdpZHRoOiA3NjhweCkge1xuICAuZ2xhc3Mge1xuICAgIGhlaWdodDogNDVweDtcbiAgICBib3JkZXI6IHVuc2V0O1xuICB9XG59XG4uZ2xhc3MgaSB7XG4gIGNvbG9yOiAjZmZmO1xufVxuLmdsYXNzIGk6aG92ZXIge1xuICBjb2xvcjogI2UwZTBlMDtcbn1cbkBtZWRpYSAobWluLXdpZHRoOiA3NjhweCkge1xuICAuZ2xhc3MgaSB7XG4gICAgY29sb3I6ICNmZmY7XG4gIH1cbn1cblxuLmJ1cmdlciB7XG4gIG1hcmdpbi1sZWZ0OiAwO1xuICBwYWRkaW5nOiA4cHggMTBweDtcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbn1cbkBtZWRpYSAobWluLXdpZHRoOiAzNDBweCkge1xuICAuYnVyZ2VyIHtcbiAgICBtYXJnaW4tbGVmdDogMTBweDtcbiAgfVxufVxuQG1lZGlhIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gIC5idXJnZXIge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cbn1cbi5idXJnZXIgaSB7XG4gIGNvbG9yOiAjZmZmO1xufVxuLmJ1cmdlciBpOmhvdmVyIHtcbiAgY29sb3I6ICNlMGUwZTA7XG59XG5cbi5zaXRlLXNlYXJjaC13cmFwIHtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogYXV0bztcbiAgaGVpZ2h0OiBhdXRvO1xuICBkaXNwbGF5OiBub25lO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogOTBweDtcbiAgbGVmdDogMDtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzMwNDc2MztcbiAgei1pbmRleDogNjtcbiAgYm9yZGVyLWJvdHRvbTogMnB4IHNvbGlkICMzYzVmOGE7XG59XG5AbWVkaWEgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgLnNpdGUtc2VhcmNoLXdyYXAge1xuICAgIHRvcDogNDVweDtcbiAgfVxufVxuLnNpdGUtc2VhcmNoLXdyYXAgLnNpdGUtc2VhcmNoIHtcbiAgcGFkZGluZy1sZWZ0OiAyMHB4O1xuICBwYWRkaW5nLXJpZ2h0OiAyMHB4O1xuICB0cmFuc2l0aW9uOiBwYWRkaW5nIDMwMG1zO1xufVxuQG1lZGlhIChtaW4td2lkdGg6IDQ4MHB4KSB7XG4gIC5zaXRlLXNlYXJjaC13cmFwIC5zaXRlLXNlYXJjaCB7XG4gICAgcGFkZGluZy1sZWZ0OiAyNXB4O1xuICAgIHBhZGRpbmctcmlnaHQ6IDI1cHg7XG4gIH1cbn1cbkBtZWRpYSAobWluLXdpZHRoOiA3NjhweCkge1xuICAuc2l0ZS1zZWFyY2gtd3JhcCAuc2l0ZS1zZWFyY2gge1xuICAgIHBhZGRpbmctbGVmdDogMzBweDtcbiAgICBwYWRkaW5nLXJpZ2h0OiAzMHB4O1xuICB9XG59XG5AbWVkaWEgKG1pbi13aWR0aDogOTkycHgpIHtcbiAgLnNpdGUtc2VhcmNoLXdyYXAgLnNpdGUtc2VhcmNoIHtcbiAgICBwYWRkaW5nLWxlZnQ6IDYwcHg7XG4gICAgcGFkZGluZy1yaWdodDogNjBweDtcbiAgfVxufVxuQG1lZGlhIChtaW4td2lkdGg6IDEyMDBweCkge1xuICAuc2l0ZS1zZWFyY2gtd3JhcCAuc2l0ZS1zZWFyY2gge1xuICAgIHBhZGRpbmctbGVmdDogODBweDtcbiAgICBwYWRkaW5nLXJpZ2h0OiA4MHB4O1xuICB9XG59XG5cbi5zaXRlLXNlYXJjaCB7XG4gIHdpZHRoOiAxMDAlO1xuICBtYXgtd2lkdGg6IDE0MDBweDtcbiAgbWFyZ2luOiAwIGF1dG87XG4gIGhlaWdodDogYXV0bztcbiAgcGFkZGluZzogMzVweCAwO1xuICBkaXNwbGF5OiBncmlkO1xuICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDFmciA1MHB4IDBweDtcbiAgZ3JpZC10ZW1wbGF0ZS1yb3dzOiBhdXRvIGF1dG87XG59XG5AbWVkaWEgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgLnNpdGUtc2VhcmNoIHtcbiAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDEuOGZyIDEuMmZyIDUwcHg7XG4gICAgZ3JpZC10ZW1wbGF0ZS1yb3dzOiBhdXRvIDBweDtcbiAgfVxufVxuXG4uc2VhcmNoLXF1ZXJ5IHtcbiAgaGVpZ2h0OiA1MHB4O1xuICBwYWRkaW5nOiAwO1xuICBncmlkLWNvbHVtbjogMS9zcGFuIDI7XG4gIGdyaWQtcm93OiAxO1xuICBhbGlnbi1zZWxmOiBjZW50ZXI7XG59XG5AbWVkaWEgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgLnNlYXJjaC1xdWVyeSB7XG4gICAgcGFkZGluZzogMDtcbiAgICBncmlkLWNvbHVtbjogMS9zcGFuIDE7XG4gICAgZ3JpZC1yb3c6IDE7XG4gIH1cbn1cbi5zZWFyY2gtcXVlcnkgbGFiZWwge1xuICB3aWR0aDogMTAwJTtcbiAgbWF4LXdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDMwcHg7XG4gIGNvbG9yOiAjZmZmO1xuICBkaXNwbGF5OiBibG9jaztcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgdGV4dC1hbGlnbjogbGVmdDtcbiAgZGlzcGxheTogbm9uZTtcbn1cbi5zZWFyY2gtcXVlcnkgaW5wdXQge1xuICB3aWR0aDogMTAwJTtcbiAgbWF4LXdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDUwcHg7XG4gIHBhZGRpbmctbGVmdDogMjBweDtcbiAgYm9yZGVyOiAycHggc29saWQgI2ZmZjtcbiAgYm9yZGVyLXJhZGl1czogMjBweCAwIDAgMDtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZmY7XG4gIGNvbG9yOiAjMGYwZjBmO1xufVxuXG4uc2VhcmNoLWNvbnRleHQge1xuICBoZWlnaHQ6IDUwcHg7XG4gIHBhZGRpbmc6IDAgMjBweCAwIDA7XG4gIGdyaWQtY29sdW1uOiAxL3NwYW4gMTtcbiAgZ3JpZC1yb3c6IDI7XG4gIGFsaWduLXNlbGY6IGNlbnRlcjtcbn1cbkBtZWRpYSAobWluLXdpZHRoOiA3NjhweCkge1xuICAuc2VhcmNoLWNvbnRleHQge1xuICAgIGdyaWQtY29sdW1uOiAyL3NwYW4gMTtcbiAgICBncmlkLXJvdzogMTtcbiAgICBwYWRkaW5nOiAwIDIwcHggMCAwO1xuICB9XG59XG4uc2VhcmNoLWNvbnRleHQgbGFiZWwge1xuICB3aWR0aDogMTAwJTtcbiAgbWF4LXdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDMwcHg7XG4gIGNvbG9yOiAjZmZmO1xuICBkaXNwbGF5OiBibG9jaztcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgdGV4dC1hbGlnbjogbGVmdDtcbiAgZGlzcGxheTogbm9uZTtcbn1cbi5zZWFyY2gtY29udGV4dCBzZWxlY3Qge1xuICB3aWR0aDogMTAwJTtcbiAgbWF4LXdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDUwcHg7XG4gIHBhZGRpbmctbGVmdDogMTVweDtcbiAgYm9yZGVyOiAycHggc29saWQgI2ZmZjtcbiAgYm9yZGVyLXJhZGl1czogMCAwIDIwcHggMDtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGJhY2tncm91bmQtY29sb3I6ICMzYzVmOGE7XG4gIGJhY2tncm91bmQtaW1hZ2U6IGxpbmVhci1ncmFkaWVudCgjNDQ2YjljLCAjMzQ1Mzc4KTtcbiAgY29sb3I6ICNmZmY7XG59XG4uc2VhcmNoLWNvbnRleHQgc2VsZWN0IG9wdGlvbiB7XG4gIHBhZGRpbmctbGVmdDogMTVweDtcbn1cblxuLnNlYXJjaC1zdWJtaXQge1xuICB3aWR0aDogNTBweDtcbiAgaGVpZ2h0OiA1MHB4O1xuICBncmlkLWNvbHVtbjogMi9zcGFuIDE7XG4gIGdyaWQtcm93OiAyO1xuICBhbGlnbi1zZWxmOiBzdGFydDtcbiAgY29sb3I6ICMzMDQ3NjM7XG4gIGZvbnQtc2l6ZTogMS40cmVtO1xuICBib3JkZXItcmFkaXVzOiAyMHB4IDA7XG4gIGJhY2tncm91bmQtY29sb3I6ICMzYzVmOGE7XG4gIGJhY2tncm91bmQtaW1hZ2U6IGxpbmVhci1ncmFkaWVudCgjZmFmYWZhLCAjYzdjN2M3KTtcbiAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAyMDBtcztcbn1cbkBtZWRpYSAobWluLXdpZHRoOiA3NjhweCkge1xuICAuc2VhcmNoLXN1Ym1pdCB7XG4gICAgZ3JpZC1jb2x1bW46IDMvc3BhbiAxO1xuICAgIGdyaWQtcm93OiAxO1xuICAgIGFsaWduLXNlbGY6IHN0YXJ0O1xuICB9XG59XG4uc2VhcmNoLXN1Ym1pdDpob3ZlciB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IGxpbmVhci1ncmFkaWVudCgjZTBlMGUwLCAjYWRhZGFkKTtcbn1cblxuLyoqXG4qIENvbnRlbnQgc3R5bGVzXG4qL1xuLm1haW4td3JhcCB7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IGF1dG87XG4gIGdyaWQtcm93LXN0YXJ0OiAyO1xuICBncmlkLXJvdy1lbmQ6IDM7XG4gIG1hcmdpbi10b3A6IC0xMzVweDtcbn1cbkBtZWRpYSAobWluLXdpZHRoOiA3NjhweCkge1xuICAubWFpbi13cmFwIHtcbiAgICBtYXJnaW4tdG9wOiAtMTYwcHg7XG4gIH1cbn1cblxuLm1haW4ge1xuICBoZWlnaHQ6IDEwMCU7XG4gIG92ZXJmbG93OiBoaWRkZW47XG59XG5cbi5wYWdlLWNvbnRlbnQge1xuICBkaXNwbGF5OiBncmlkO1xuICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDFmcjtcbiAgZ3JpZC10ZW1wbGF0ZS1yb3dzOiBhdXRvO1xufVxuQG1lZGlhIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gIC5wYWdlLWNvbnRlbnQge1xuICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogMWZyO1xuICAgIGdyaWQtdGVtcGxhdGUtcm93czogYXV0bztcbiAgfVxufVxuXG4ucGFnZS1jb250ZW50LnNpZGUge1xuICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDFmciAwcHg7XG4gIGdyaWQtdGVtcGxhdGUtcm93czogYXV0byBhdXRvO1xufVxuQG1lZGlhIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gIC5wYWdlLWNvbnRlbnQuc2lkZSB7XG4gICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAxZnIgMjg2cHg7XG4gICAgZ3JpZC10ZW1wbGF0ZS1yb3dzOiBhdXRvIDBweDtcbiAgfVxufVxuXG4ucGFnZS1tYWluIHtcbiAgd2lkdGg6IDEwMCU7XG4gIHBhZGRpbmctcmlnaHQ6IDA7XG4gIGdyaWQtY29sdW1uOiAxL3NwYW4gMTtcbiAgZ3JpZC1yb3c6IDI7XG59XG5AbWVkaWEgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgLnBhZ2UtbWFpbiB7XG4gICAgZ3JpZC1jb2x1bW46IDEvc3BhbiAxO1xuICAgIGdyaWQtcm93OiAxO1xuICB9XG59XG4ucGFnZS1tYWluIGgyIHtcbiAgbWFyZ2luLXRvcDogNTBweDtcbn1cbi5wYWdlLW1haW4gaDI6Zmlyc3QtY2hpbGQge1xuICBtYXJnaW4tdG9wOiAwO1xufVxuLnBhZ2UtbWFpbiBoMyB7XG4gIG1hcmdpbi10b3A6IDQwcHg7XG59XG4ucGFnZS1tYWluIGg0IHtcbiAgbWFyZ2luLXRvcDogNDBweDtcbn1cbi5wYWdlLW1haW4gaDUge1xuICBtYXJnaW4tdG9wOiA0MHB4O1xufVxuLnBhZ2UtbWFpbiBoNiB7XG4gIG1hcmdpbi10b3A6IDQwcHg7XG59XG4ucGFnZS1tYWluIHAge1xuICBtYXJnaW4tYm90dG9tOiAyNXB4O1xufVxuLnBhZ2UtbWFpbiB1bCB7XG4gIHBhZGRpbmctbGVmdDogMjBweDtcbiAgbGluZS1oZWlnaHQ6IDEuNTtcbiAgbGlzdC1zdHlsZS1wb3NpdGlvbjogb3V0c2lkZTtcbn1cbi5wYWdlLW1haW4gdWwgbGkge1xuICBtYXJnaW4tYm90dG9tOiAxNXB4O1xufVxuXG4uc2lkZSAucGFnZS1tYWluIHtcbiAgcGFkZGluZy1yaWdodDogMDtcbn1cbkBtZWRpYSAobWluLXdpZHRoOiA3NjhweCkge1xuICAuc2lkZSAucGFnZS1tYWluIHtcbiAgICBwYWRkaW5nLXJpZ2h0OiAxMDBweDtcbiAgfVxufVxuXG4ucGFnZS1oZWFkZXIge1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiBhdXRvO1xuICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXIgODAlO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHotaW5kZXg6IDE7XG4gIGJhY2tncm91bmQtY29sb3I6ICMzMDQ3NjM7XG4gIGJhY2tncm91bmQtYmxlbmQtbW9kZTogc2NyZWVuO1xufVxuLnBhZ2UtaGVhZGVyLW92ZXJsYXkge1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAxMDAlO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMDtcbiAgbGVmdDogMDtcbiAgei1pbmRleDogMjtcbiAgYmFja2dyb3VuZC1pbWFnZTogbGluZWFyLWdyYWRpZW50KHJnYmEoMCwgMCwgMCwgMC44KSwgcmdiYSgwLCAwLCAwLCAwLjgpKTtcbiAgb3BhY2l0eTogMC43O1xufVxuXG4ucGFnZS1oZWFkZXItYm94LXdyYXAge1xuICB3aWR0aDogMTAwJTtcbiAgbWF4LXdpZHRoOiAxNDAwcHg7XG4gIG1hcmdpbjogMCBhdXRvO1xuICBtaW4taGVpZ2h0OiAxMDAlO1xuICBoZWlnaHQ6IGF1dG87XG4gIHBhZGRpbmctdG9wOiAxMzBweDtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB6LWluZGV4OiAzO1xuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xufVxuQG1lZGlhIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gIC5wYWdlLWhlYWRlci1ib3gtd3JhcCB7XG4gICAgcGFkZGluZy1sZWZ0OiAyMHB4O1xuICAgIHBhZGRpbmctcmlnaHQ6IDIwcHg7XG4gICAgdHJhbnNpdGlvbjogcGFkZGluZyAzMDBtcztcbiAgICBwYWRkaW5nLXRvcDogMTk1cHg7XG4gIH1cbn1cbkBtZWRpYSAobWluLXdpZHRoOiA3NjhweCkgYW5kIChtaW4td2lkdGg6IDQ4MHB4KSB7XG4gIC5wYWdlLWhlYWRlci1ib3gtd3JhcCB7XG4gICAgcGFkZGluZy1sZWZ0OiAyNXB4O1xuICAgIHBhZGRpbmctcmlnaHQ6IDI1cHg7XG4gIH1cbn1cbkBtZWRpYSAobWluLXdpZHRoOiA3NjhweCkgYW5kIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gIC5wYWdlLWhlYWRlci1ib3gtd3JhcCB7XG4gICAgcGFkZGluZy1sZWZ0OiAzMHB4O1xuICAgIHBhZGRpbmctcmlnaHQ6IDMwcHg7XG4gIH1cbn1cbkBtZWRpYSAobWluLXdpZHRoOiA3NjhweCkgYW5kIChtaW4td2lkdGg6IDk5MnB4KSB7XG4gIC5wYWdlLWhlYWRlci1ib3gtd3JhcCB7XG4gICAgcGFkZGluZy1sZWZ0OiA2MHB4O1xuICAgIHBhZGRpbmctcmlnaHQ6IDYwcHg7XG4gIH1cbn1cbkBtZWRpYSAobWluLXdpZHRoOiA3NjhweCkgYW5kIChtaW4td2lkdGg6IDEyMDBweCkge1xuICAucGFnZS1oZWFkZXItYm94LXdyYXAge1xuICAgIHBhZGRpbmctbGVmdDogODBweDtcbiAgICBwYWRkaW5nLXJpZ2h0OiA4MHB4O1xuICB9XG59XG5cbi5wYWdlLWhlYWRlci1ib3gge1xuICBwYWRkaW5nLWxlZnQ6IDIwcHg7XG4gIHBhZGRpbmctcmlnaHQ6IDIwcHg7XG4gIHRyYW5zaXRpb246IHBhZGRpbmcgMzAwbXM7XG4gIHBhZGRpbmctdG9wOiAyMHB4O1xuICB0cmFuc2l0aW9uOiBwYWRkaW5nIDMwMG1zO1xuICBwYWRkaW5nLWJvdHRvbTogMjBweDtcbiAgdHJhbnNpdGlvbjogcGFkZGluZyAzMDBtcztcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogMTAwJTtcbiAgdGV4dC1hbGlnbjogbGVmdDtcbiAgLyoubG9nbyB7XG4gICAgd2lkdGg6IDEwMHB4O1xuICAgIGhlaWdodDogYXV0bztcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiA0MHB4O1xuICAgIHJpZ2h0OiA0MHB4O1xuICB9Ki9cbiAgLyphIHtcbiAgICBwYWRkaW5nLWJvdHRvbTogMjVweDtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBmb250LXdlaWdodDogYm9sZDtcbiAgICBjb2xvcjogJG9mZldoaXRlO1xuXG4gICAgJjpob3ZlciB7XG4gICAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcbiAgICB9XG4gIH0qL1xufVxuQG1lZGlhIChtaW4td2lkdGg6IDQ4MHB4KSB7XG4gIC5wYWdlLWhlYWRlci1ib3gge1xuICAgIHBhZGRpbmctbGVmdDogMjVweDtcbiAgICBwYWRkaW5nLXJpZ2h0OiAyNXB4O1xuICB9XG59XG5AbWVkaWEgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgLnBhZ2UtaGVhZGVyLWJveCB7XG4gICAgcGFkZGluZy1sZWZ0OiAzMHB4O1xuICAgIHBhZGRpbmctcmlnaHQ6IDMwcHg7XG4gIH1cbn1cbkBtZWRpYSAobWluLXdpZHRoOiA5OTJweCkge1xuICAucGFnZS1oZWFkZXItYm94IHtcbiAgICBwYWRkaW5nLWxlZnQ6IDYwcHg7XG4gICAgcGFkZGluZy1yaWdodDogNjBweDtcbiAgfVxufVxuQG1lZGlhIChtaW4td2lkdGg6IDEyMDBweCkge1xuICAucGFnZS1oZWFkZXItYm94IHtcbiAgICBwYWRkaW5nLWxlZnQ6IDgwcHg7XG4gICAgcGFkZGluZy1yaWdodDogODBweDtcbiAgfVxufVxuQG1lZGlhIChtaW4td2lkdGg6IDQ4MHB4KSB7XG4gIC5wYWdlLWhlYWRlci1ib3gge1xuICAgIHBhZGRpbmctdG9wOiAyNXB4O1xuICB9XG59XG5AbWVkaWEgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgLnBhZ2UtaGVhZGVyLWJveCB7XG4gICAgcGFkZGluZy10b3A6IDQwcHg7XG4gIH1cbn1cbkBtZWRpYSAobWluLXdpZHRoOiA5OTJweCkge1xuICAucGFnZS1oZWFkZXItYm94IHtcbiAgICBwYWRkaW5nLXRvcDogNjBweDtcbiAgfVxufVxuQG1lZGlhIChtaW4td2lkdGg6IDEyMDBweCkge1xuICAucGFnZS1oZWFkZXItYm94IHtcbiAgICBwYWRkaW5nLXRvcDogODBweDtcbiAgfVxufVxuQG1lZGlhIChtaW4td2lkdGg6IDQ4MHB4KSB7XG4gIC5wYWdlLWhlYWRlci1ib3gge1xuICAgIHBhZGRpbmctYm90dG9tOiAyNXB4O1xuICB9XG59XG5AbWVkaWEgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgLnBhZ2UtaGVhZGVyLWJveCB7XG4gICAgcGFkZGluZy1ib3R0b206IDQwcHg7XG4gIH1cbn1cbkBtZWRpYSAobWluLXdpZHRoOiA5OTJweCkge1xuICAucGFnZS1oZWFkZXItYm94IHtcbiAgICBwYWRkaW5nLWJvdHRvbTogNjBweDtcbiAgfVxufVxuQG1lZGlhIChtaW4td2lkdGg6IDEyMDBweCkge1xuICAucGFnZS1oZWFkZXItYm94IHtcbiAgICBwYWRkaW5nLWJvdHRvbTogODBweDtcbiAgfVxufVxuLnBhZ2UtaGVhZGVyLWJveCBoMSB7XG4gIG1hcmdpbjogMDtcbiAgcGFkZGluZzogMDtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGNvbG9yOiAjZmZmO1xuICBmb250LXNpemU6IDEuNnJlbTtcbiAgbGluZS1oZWlnaHQ6IDEuMztcbiAgcGFkZGluZy1ib3R0b206IDI1cHg7XG4gIGZvbnQtc3R5bGU6IGl0YWxpYztcbn1cbkBtZWRpYSAobWluLXdpZHRoOiA3NjhweCkge1xuICAucGFnZS1oZWFkZXItYm94IGgxIHtcbiAgICBmb250LXNpemU6IDIuMnJlbTtcbiAgfVxufVxuLnBhZ2UtaGVhZGVyLWJveCBwIHtcbiAgbWFyZ2luOiAwO1xuICBkaXNwbGF5OiBibG9jaztcbiAgZm9udC1zaXplOiAxcmVtO1xuICBmb250LXdlaWdodDogNTAwO1xuICBjb2xvcjogI2ZmZjtcbn1cbkBtZWRpYSAobWluLXdpZHRoOiA3NjhweCkge1xuICAucGFnZS1oZWFkZXItYm94IHAge1xuICAgIGZvbnQtc2l6ZTogMS4ycmVtO1xuICB9XG59XG5cbi5wYWdlLXNpZGViYXIge1xuICBwYWRkaW5nLWJvdHRvbTogMjBweDtcbiAgdHJhbnNpdGlvbjogcGFkZGluZyAzMDBtcztcbiAgd2lkdGg6IDEwMCU7XG4gIGdyaWQtY29sdW1uOiAxL3NwYW4gMTtcbiAgZ3JpZC1yb3c6IDE7XG59XG5AbWVkaWEgKG1pbi13aWR0aDogNDgwcHgpIHtcbiAgLnBhZ2Utc2lkZWJhciB7XG4gICAgcGFkZGluZy1ib3R0b206IDI1cHg7XG4gIH1cbn1cbkBtZWRpYSAobWluLXdpZHRoOiA3NjhweCkge1xuICAucGFnZS1zaWRlYmFyIHtcbiAgICBwYWRkaW5nLWJvdHRvbTogNDBweDtcbiAgfVxufVxuQG1lZGlhIChtaW4td2lkdGg6IDk5MnB4KSB7XG4gIC5wYWdlLXNpZGViYXIge1xuICAgIHBhZGRpbmctYm90dG9tOiA2MHB4O1xuICB9XG59XG5AbWVkaWEgKG1pbi13aWR0aDogMTIwMHB4KSB7XG4gIC5wYWdlLXNpZGViYXIge1xuICAgIHBhZGRpbmctYm90dG9tOiA4MHB4O1xuICB9XG59XG5AbWVkaWEgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgLnBhZ2Utc2lkZWJhciB7XG4gICAgZ3JpZC1jb2x1bW46IDIvc3BhbiAxO1xuICAgIGdyaWQtcm93OiAxO1xuICB9XG59XG5cbi5wYWdlLXNpZGViYXItaGVhZGluZyB7XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gIGZvbnQtc2l6ZTogMC44ZW07XG4gIG1hcmdpbjogMTBweCAwIDAgMDtcbiAgcGFkZGluZzogMTVweCAwIDE1cHggMTVweDtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGJvcmRlci10b3A6IDNweCBzb2xpZCAjZTBlMGUwO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMzczNDM1O1xuICBmb250LXdlaWdodDogOTAwO1xuICBjb2xvcjogI2ZmZjtcbn1cbi5wYWdlLXNpZGViYXItaGVhZGluZzpmaXJzdC1jaGlsZCB7XG4gIG1hcmdpbjogMCAwIDAgMDtcbn1cblxuLnNpZGUtbmF2IHtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogYXV0bztcbn1cbi5zaWRlLW5hdiB1bC5tZW51IHtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogYXV0bztcbiAgZGlzcGxheTogYmxvY2s7XG4gIGxpc3Qtc3R5bGU6IG5vbmU7XG4gIGJhY2tncm91bmQtY29sb3I6ICMzNzM0MzU7XG4gIGJhY2tncm91bmQtY29sb3I6ICNlMGUwZTA7XG59XG4uc2lkZS1uYXYgdWwubWVudSBsaSB7XG4gIHdpZHRoOiAxMDAlO1xuICBtaW4taGVpZ2h0OiA0NXB4O1xuICBkaXNwbGF5OiBibG9jaztcbiAgbGlzdC1zdHlsZTogbm9uZTtcbiAgbGluZS1oZWlnaHQ6IDQ1cHg7XG4gIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjZmZmO1xuICAvKi5jdXJyZW50X3BhZ2VfaXRlbSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGdyYXk7XG4gICAgY29sb3I6ICRvZmZXaGl0ZTtcblxuICAgIGEge1xuICAgICAgY29sb3I6ICRvZmZXaGl0ZTtcbiAgICB9XG4gIH0qL1xufVxuLnNpZGUtbmF2IHVsLm1lbnUgbGkgYSB7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDQ1cHg7XG4gIHBhZGRpbmc6IDAgMCAwIDE1cHg7XG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xuICBmb250LXNpemU6IDAuOHJlbTtcbiAgY29sb3I6ICNmZmY7XG4gIGxpbmUtaGVpZ2h0OiA0NXB4O1xuICBjb2xvcjogIzBmMGYwZjtcbn1cbi5zaWRlLW5hdiB1bC5tZW51IGxpIGE6aG92ZXIge1xuICBjb2xvcjogIzNiNjI3Zjtcbn1cbi5zaWRlLW5hdiB1bC5tZW51IGxpIHVsLnN1Yi1tZW51IHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2UwZTBlMDtcbn1cbi5zaWRlLW5hdiB1bC5tZW51IGxpIHVsLnN1Yi1tZW51IGxpIHtcbiAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNmZmY7XG59XG4uc2lkZS1uYXYgdWwubWVudSBsaSB1bC5zdWItbWVudSBsaSBhIHtcbiAgcGFkZGluZy1sZWZ0OiAzMHB4O1xuICBjb2xvcjogIzBmMGYwZjtcbn1cbi5zaWRlLW5hdiB1bC5tZW51IGxpIHVsLnN1Yi1tZW51IGxpIHVsLnN1Yi1tZW51IHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcbn1cbi5zaWRlLW5hdiB1bC5tZW51IGxpIHVsLnN1Yi1tZW51IGxpIHVsLnN1Yi1tZW51IGxpIGEge1xuICBwYWRkaW5nLWxlZnQ6IDQ1cHg7XG4gIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG59XG5cbi5saXN0aW5nIHtcbiAgbWFyZ2luLWJvdHRvbTogMjBweDtcbiAgcGFkZGluZy1ib3R0b206IDIwcHg7XG4gIGRpc3BsYXk6IGdyaWQ7XG4gIGdyaWQtdGVtcGxhdGUtY29sdW1uczogMjgwcHggMWZyO1xuICBib3JkZXItYm90dG9tOiAycHggc29saWQgI2YyZjJmMjtcbn1cbi5saXN0aW5nOmxhc3QtY2hpbGQge1xuICBtYXJnaW4tYm90dG9tOiAwO1xuICBwYWRkaW5nLWJvdHRvbTogMTVweDtcbiAgYm9yZGVyLWJvdHRvbTogbm9uZTtcbn1cblxuLmxpc3RpbmctbGVmdCB7XG4gIHBhZGRpbmc6IDIwcHg7XG4gIGdyaWQtY29sdW1uOiAxL3NwYW4gMTtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzNiNjI3ZjtcbiAgZm9udC1zaXplOiAwLjlyZW07XG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xufVxuLmxpc3RpbmctbGVmdCBpbWcge1xuICB3aWR0aDogMTAwJTtcbiAgbWFyZ2luLWJvdHRvbTogMTBweDtcbn1cblxuLmxpc3RpbmctcmlnaHQge1xuICBwYWRkaW5nLWxlZnQ6IDIwcHg7XG4gIGdyaWQtY29sdW1uOiAyL3NwYW4gMTtcbn1cblxuLmNvbWluZy1zb29uLXdyYXAge1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiBhdXRvO1xufVxuXG4uY29taW5nLXNvb24ge1xuICB3aWR0aDogMTAwJTtcbiAgbWF4LXdpZHRoOiAxNDAwcHg7XG4gIG1hcmdpbjogMCBhdXRvO1xuICBwYWRkaW5nLWxlZnQ6IDIwcHg7XG4gIHBhZGRpbmctcmlnaHQ6IDIwcHg7XG4gIHRyYW5zaXRpb246IHBhZGRpbmcgMzAwbXM7XG4gIHBhZGRpbmctdG9wOiAyMHB4O1xuICB0cmFuc2l0aW9uOiBwYWRkaW5nIDMwMG1zO1xuICBwYWRkaW5nLWJvdHRvbTogMjBweDtcbiAgdHJhbnNpdGlvbjogcGFkZGluZyAzMDBtcztcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xufVxuQG1lZGlhIChtaW4td2lkdGg6IDQ4MHB4KSB7XG4gIC5jb21pbmctc29vbiB7XG4gICAgcGFkZGluZy1sZWZ0OiAyNXB4O1xuICAgIHBhZGRpbmctcmlnaHQ6IDI1cHg7XG4gIH1cbn1cbkBtZWRpYSAobWluLXdpZHRoOiA3NjhweCkge1xuICAuY29taW5nLXNvb24ge1xuICAgIHBhZGRpbmctbGVmdDogMzBweDtcbiAgICBwYWRkaW5nLXJpZ2h0OiAzMHB4O1xuICB9XG59XG5AbWVkaWEgKG1pbi13aWR0aDogOTkycHgpIHtcbiAgLmNvbWluZy1zb29uIHtcbiAgICBwYWRkaW5nLWxlZnQ6IDYwcHg7XG4gICAgcGFkZGluZy1yaWdodDogNjBweDtcbiAgfVxufVxuQG1lZGlhIChtaW4td2lkdGg6IDEyMDBweCkge1xuICAuY29taW5nLXNvb24ge1xuICAgIHBhZGRpbmctbGVmdDogODBweDtcbiAgICBwYWRkaW5nLXJpZ2h0OiA4MHB4O1xuICB9XG59XG5AbWVkaWEgKG1pbi13aWR0aDogNDgwcHgpIHtcbiAgLmNvbWluZy1zb29uIHtcbiAgICBwYWRkaW5nLXRvcDogMjVweDtcbiAgfVxufVxuQG1lZGlhIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gIC5jb21pbmctc29vbiB7XG4gICAgcGFkZGluZy10b3A6IDQwcHg7XG4gIH1cbn1cbkBtZWRpYSAobWluLXdpZHRoOiA5OTJweCkge1xuICAuY29taW5nLXNvb24ge1xuICAgIHBhZGRpbmctdG9wOiA2MHB4O1xuICB9XG59XG5AbWVkaWEgKG1pbi13aWR0aDogMTIwMHB4KSB7XG4gIC5jb21pbmctc29vbiB7XG4gICAgcGFkZGluZy10b3A6IDgwcHg7XG4gIH1cbn1cbkBtZWRpYSAobWluLXdpZHRoOiA0ODBweCkge1xuICAuY29taW5nLXNvb24ge1xuICAgIHBhZGRpbmctYm90dG9tOiAyNXB4O1xuICB9XG59XG5AbWVkaWEgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgLmNvbWluZy1zb29uIHtcbiAgICBwYWRkaW5nLWJvdHRvbTogNDBweDtcbiAgfVxufVxuQG1lZGlhIChtaW4td2lkdGg6IDk5MnB4KSB7XG4gIC5jb21pbmctc29vbiB7XG4gICAgcGFkZGluZy1ib3R0b206IDYwcHg7XG4gIH1cbn1cbkBtZWRpYSAobWluLXdpZHRoOiAxMjAwcHgpIHtcbiAgLmNvbWluZy1zb29uIHtcbiAgICBwYWRkaW5nLWJvdHRvbTogODBweDtcbiAgfVxufVxuLmNvbWluZy1zb29uIGgyIHtcbiAgY29sb3I6ICMzMDQ3NjM7XG59XG5cbi8qXG4gIC5wYWdlLXNlYXJjaC1zZWFyY2gtd3JhcCB7XG4gICAgQGluY2x1ZGUgd3JhcDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYnJhbmRQcmltYXJ5O1xuICB9XG4gICAgLnBhZ2Utc2VhcmNoLXNlYXJjaC13cmFwIHtcbiAgICAgIEBpbmNsdWRlIGNvbnRhaW5lcjtcbiAgICAgIC8vQGluY2x1ZGUgc3BhY2VyLXRvcDtcbiAgICB9XG5cbiAgLnBhZ2Utc2VhcmNoLXdyYXAge1xuICAgIEBpbmNsdWRlIHdyYXA7XG4gIH1cbiAgICAucGFnZS1zZWFyY2gtd3JhcCB7XG4gICAgICBAaW5jbHVkZSBjb250YWluZXI7XG4gICAgICBAaW5jbHVkZSBzcGFjZXItdG9wO1xuICAgIH1cbiovXG4vKipcbiogRm9vdGVyIHN0eWxlc1xuKi9cbi5mb290ZXItd3JhcCB7XG4gIGdyaWQtcm93LXN0YXJ0OiAzO1xuICBncmlkLXJvdy1lbmQ6IDQ7XG4gIGJhY2tncm91bmQtY29sb3I6ICMzMDQ3NjM7XG4gIGJvcmRlci10b3A6IDNweCBzb2xpZCAjZmZmO1xufVxuXG4uZm9vdGVyIHtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBwYWRkaW5nLXRvcDogMnJlbTtcbiAgcGFkZGluZy1ib3R0b206IDJyZW07XG4gIGNvbG9yOiAjZmZmO1xufVxuXG4uZm9vdGVyLW5hdiB7XG4gIHBhZGRpbmctYm90dG9tOiAzMHB4O1xuICBkaXNwbGF5OiBub25lO1xufVxuQG1lZGlhIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gIC5mb290ZXItbmF2IHtcbiAgICB3aWR0aDogYXV0bztcbiAgfVxufVxuLmZvb3Rlci1uYXYgdWwge1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiBhdXRvO1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBsaXN0LXN0eWxlOiBub25lO1xufVxuQG1lZGlhIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gIC5mb290ZXItbmF2IHVsIHtcbiAgICB3aWR0aDogYXV0bztcbiAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICB9XG59XG4uZm9vdGVyLW5hdiB1bCBsaSB7XG4gIHBhZGRpbmctbGVmdDogMjBweDtcbiAgcGFkZGluZy1yaWdodDogMjBweDtcbiAgdHJhbnNpdGlvbjogcGFkZGluZyAzMDBtcztcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogNDVweDtcbiAgbGlzdC1zdHlsZTogbm9uZTtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xufVxuQG1lZGlhIChtaW4td2lkdGg6IDQ4MHB4KSB7XG4gIC5mb290ZXItbmF2IHVsIGxpIHtcbiAgICBwYWRkaW5nLWxlZnQ6IDI1cHg7XG4gICAgcGFkZGluZy1yaWdodDogMjVweDtcbiAgfVxufVxuQG1lZGlhIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gIC5mb290ZXItbmF2IHVsIGxpIHtcbiAgICBwYWRkaW5nLWxlZnQ6IDMwcHg7XG4gICAgcGFkZGluZy1yaWdodDogMzBweDtcbiAgfVxufVxuQG1lZGlhIChtaW4td2lkdGg6IDk5MnB4KSB7XG4gIC5mb290ZXItbmF2IHVsIGxpIHtcbiAgICBwYWRkaW5nLWxlZnQ6IDYwcHg7XG4gICAgcGFkZGluZy1yaWdodDogNjBweDtcbiAgfVxufVxuQG1lZGlhIChtaW4td2lkdGg6IDEyMDBweCkge1xuICAuZm9vdGVyLW5hdiB1bCBsaSB7XG4gICAgcGFkZGluZy1sZWZ0OiA4MHB4O1xuICAgIHBhZGRpbmctcmlnaHQ6IDgwcHg7XG4gIH1cbn1cbkBtZWRpYSAobWluLXdpZHRoOiA3NjhweCkge1xuICAuZm9vdGVyLW5hdiB1bCBsaSB7XG4gICAgd2lkdGg6IGF1dG87XG4gIH1cbn1cbi5mb290ZXItbmF2IHVsIGxpIGEge1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiA0NXB4O1xuICBwYWRkaW5nOiAwO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGZvbnQtc2l6ZTogMXJlbTtcbiAgY29sb3I6ICNmZmY7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbn1cbkBtZWRpYSAobWluLXdpZHRoOiA3NjhweCkge1xuICAuZm9vdGVyLW5hdiB1bCBsaSBhIHtcbiAgICB3aWR0aDogYXV0bztcbiAgICBwYWRkaW5nOiAwIDVweDtcbiAgfVxufVxuXG4uY29weXJpZ2h0IHtcbiAgbWFyZ2luOiAwO1xuICBwYWRkaW5nOiAwO1xuICBmb250LXNpemU6IDEwcHg7XG59XG5cbi8qKlxuKiBNaXNjZWxsYW5lb3VzIHN0eWxlc1xuKi9cbi5ob21lLWJhbm5lciB7XG4gIHdpZHRoOiAxMDAlO1xuICBtaW4taGVpZ2h0OiAzMDBweDtcbiAgaGVpZ2h0OiBhdXRvO1xuICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXI7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbn1cbi5ob21lLWJhbm5lci1vdmVybGF5IHtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogMTAwJTtcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDA7XG4gIGxlZnQ6IDA7XG4gIGJhY2tncm91bmQtY29sb3I6IHJnYmEoNTEsIDUxLCA1MSwgMC44KTtcbiAgLyoubG9nbyB7XG4gICAgd2lkdGg6IDYwcHg7XG4gICAgaGVpZ2h0OiBhdXRvO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDIwcHg7XG4gICAgcmlnaHQ6IDIwcHg7XG5cbiAgICBAaW5jbHVkZSBtZWRpYShcIj49dGFibGV0XCIpIHtcbiAgICAgIHdpZHRoOiAxMDBweDtcbiAgICAgIHRvcDogNDBweDtcbiAgICAgIHJpZ2h0OiA0MHB4O1xuICAgIH1cbiAgfSovXG4gIC8qYSB7XG4gICAgQGluY2x1ZGUgYnV0dG9uO1xuICB9Ki9cbn1cbi5ob21lLWJhbm5lci1vdmVybGF5IC5ob21lLWJhbm5lci1ib3gtd3JhcCB7XG4gIHBhZGRpbmctbGVmdDogMjBweDtcbiAgcGFkZGluZy1yaWdodDogMjBweDtcbiAgdHJhbnNpdGlvbjogcGFkZGluZyAzMDBtcztcbiAgbWFyZ2luOiAwIGF1dG87XG4gIHBhZGRpbmctdG9wOiA5MHB4O1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG59XG5AbWVkaWEgKG1pbi13aWR0aDogNDgwcHgpIHtcbiAgLmhvbWUtYmFubmVyLW92ZXJsYXkgLmhvbWUtYmFubmVyLWJveC13cmFwIHtcbiAgICBwYWRkaW5nLWxlZnQ6IDI1cHg7XG4gICAgcGFkZGluZy1yaWdodDogMjVweDtcbiAgfVxufVxuQG1lZGlhIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gIC5ob21lLWJhbm5lci1vdmVybGF5IC5ob21lLWJhbm5lci1ib3gtd3JhcCB7XG4gICAgcGFkZGluZy1sZWZ0OiAzMHB4O1xuICAgIHBhZGRpbmctcmlnaHQ6IDMwcHg7XG4gIH1cbn1cbkBtZWRpYSAobWluLXdpZHRoOiA5OTJweCkge1xuICAuaG9tZS1iYW5uZXItb3ZlcmxheSAuaG9tZS1iYW5uZXItYm94LXdyYXAge1xuICAgIHBhZGRpbmctbGVmdDogNjBweDtcbiAgICBwYWRkaW5nLXJpZ2h0OiA2MHB4O1xuICB9XG59XG5AbWVkaWEgKG1pbi13aWR0aDogMTIwMHB4KSB7XG4gIC5ob21lLWJhbm5lci1vdmVybGF5IC5ob21lLWJhbm5lci1ib3gtd3JhcCB7XG4gICAgcGFkZGluZy1sZWZ0OiA4MHB4O1xuICAgIHBhZGRpbmctcmlnaHQ6IDgwcHg7XG4gIH1cbn1cbkBtZWRpYSAobWluLXdpZHRoOiA3NjhweCkge1xuICAuaG9tZS1iYW5uZXItb3ZlcmxheSAuaG9tZS1iYW5uZXItYm94LXdyYXAge1xuICAgIHBhZGRpbmctdG9wOiAxMTVweDtcbiAgfVxufVxuLmhvbWUtYmFubmVyLW92ZXJsYXkgLmhvbWUtYmFubmVyLWJveCB7XG4gIHdpZHRoOiAxMDAlO1xuICBtYXgtd2lkdGg6IDE0MDBweDtcbiAgbWFyZ2luOiAwIGF1dG87XG4gIHBhZGRpbmctdG9wOiAyMHB4O1xuICB0cmFuc2l0aW9uOiBwYWRkaW5nIDMwMG1zO1xuICBwYWRkaW5nLWJvdHRvbTogMjBweDtcbiAgdHJhbnNpdGlvbjogcGFkZGluZyAzMDBtcztcbiAgd2lkdGg6IGF1dG87XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgb3BhY2l0eTogMC44O1xuICBtYXJnaW46IDAgYXV0bztcbn1cbkBtZWRpYSAobWluLXdpZHRoOiA0ODBweCkge1xuICAuaG9tZS1iYW5uZXItb3ZlcmxheSAuaG9tZS1iYW5uZXItYm94IHtcbiAgICBwYWRkaW5nLXRvcDogMjVweDtcbiAgfVxufVxuQG1lZGlhIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gIC5ob21lLWJhbm5lci1vdmVybGF5IC5ob21lLWJhbm5lci1ib3gge1xuICAgIHBhZGRpbmctdG9wOiA0MHB4O1xuICB9XG59XG5AbWVkaWEgKG1pbi13aWR0aDogOTkycHgpIHtcbiAgLmhvbWUtYmFubmVyLW92ZXJsYXkgLmhvbWUtYmFubmVyLWJveCB7XG4gICAgcGFkZGluZy10b3A6IDYwcHg7XG4gIH1cbn1cbkBtZWRpYSAobWluLXdpZHRoOiAxMjAwcHgpIHtcbiAgLmhvbWUtYmFubmVyLW92ZXJsYXkgLmhvbWUtYmFubmVyLWJveCB7XG4gICAgcGFkZGluZy10b3A6IDgwcHg7XG4gIH1cbn1cbkBtZWRpYSAobWluLXdpZHRoOiA0ODBweCkge1xuICAuaG9tZS1iYW5uZXItb3ZlcmxheSAuaG9tZS1iYW5uZXItYm94IHtcbiAgICBwYWRkaW5nLWJvdHRvbTogMjVweDtcbiAgfVxufVxuQG1lZGlhIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gIC5ob21lLWJhbm5lci1vdmVybGF5IC5ob21lLWJhbm5lci1ib3gge1xuICAgIHBhZGRpbmctYm90dG9tOiA0MHB4O1xuICB9XG59XG5AbWVkaWEgKG1pbi13aWR0aDogOTkycHgpIHtcbiAgLmhvbWUtYmFubmVyLW92ZXJsYXkgLmhvbWUtYmFubmVyLWJveCB7XG4gICAgcGFkZGluZy1ib3R0b206IDYwcHg7XG4gIH1cbn1cbkBtZWRpYSAobWluLXdpZHRoOiAxMjAwcHgpIHtcbiAgLmhvbWUtYmFubmVyLW92ZXJsYXkgLmhvbWUtYmFubmVyLWJveCB7XG4gICAgcGFkZGluZy1ib3R0b206IDgwcHg7XG4gIH1cbn1cbi5ob21lLWJhbm5lci1vdmVybGF5IC5ob21lLWJhbm5lci1ib3ggc3BhbiB7XG4gIHdpZHRoOiBhdXRvO1xuICBwYWRkaW5nOiAzMHB4IDQwcHg7XG4gIGZvbnQtc2l6ZTogMS42ZW07XG4gIGxpbmUtaGVpZ2h0OiAxO1xuICBjb2xvcjogI2ZmZjtcbiAgZGlzcGxheTogYmxvY2s7XG59XG5AbWVkaWEgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgLmhvbWUtYmFubmVyLW92ZXJsYXkgLmhvbWUtYmFubmVyLWJveCBzcGFuIHtcbiAgICBwYWRkaW5nOiA0MHB4IDUwcHg7XG4gICAgZm9udC1zaXplOiAyLjhlbTtcbiAgfVxufVxuXG4uaG9tZS1pbmZvLXdyYXAge1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiBhdXRvO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xufVxuXG4uaG9tZS1pbmZvIHtcbiAgd2lkdGg6IDEwMCU7XG4gIG1heC13aWR0aDogMTQwMHB4O1xuICBtYXJnaW46IDAgYXV0bztcbiAgcGFkZGluZy1sZWZ0OiAyMHB4O1xuICBwYWRkaW5nLXJpZ2h0OiAyMHB4O1xuICB0cmFuc2l0aW9uOiBwYWRkaW5nIDMwMG1zO1xuICBwYWRkaW5nLXRvcDogMjBweDtcbiAgdHJhbnNpdGlvbjogcGFkZGluZyAzMDBtcztcbiAgcGFkZGluZy1ib3R0b206IDIwcHg7XG4gIHRyYW5zaXRpb246IHBhZGRpbmcgMzAwbXM7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbn1cbkBtZWRpYSAobWluLXdpZHRoOiA0ODBweCkge1xuICAuaG9tZS1pbmZvIHtcbiAgICBwYWRkaW5nLWxlZnQ6IDI1cHg7XG4gICAgcGFkZGluZy1yaWdodDogMjVweDtcbiAgfVxufVxuQG1lZGlhIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gIC5ob21lLWluZm8ge1xuICAgIHBhZGRpbmctbGVmdDogMzBweDtcbiAgICBwYWRkaW5nLXJpZ2h0OiAzMHB4O1xuICB9XG59XG5AbWVkaWEgKG1pbi13aWR0aDogOTkycHgpIHtcbiAgLmhvbWUtaW5mbyB7XG4gICAgcGFkZGluZy1sZWZ0OiA2MHB4O1xuICAgIHBhZGRpbmctcmlnaHQ6IDYwcHg7XG4gIH1cbn1cbkBtZWRpYSAobWluLXdpZHRoOiAxMjAwcHgpIHtcbiAgLmhvbWUtaW5mbyB7XG4gICAgcGFkZGluZy1sZWZ0OiA4MHB4O1xuICAgIHBhZGRpbmctcmlnaHQ6IDgwcHg7XG4gIH1cbn1cbkBtZWRpYSAobWluLXdpZHRoOiA0ODBweCkge1xuICAuaG9tZS1pbmZvIHtcbiAgICBwYWRkaW5nLXRvcDogMjVweDtcbiAgfVxufVxuQG1lZGlhIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gIC5ob21lLWluZm8ge1xuICAgIHBhZGRpbmctdG9wOiA0MHB4O1xuICB9XG59XG5AbWVkaWEgKG1pbi13aWR0aDogOTkycHgpIHtcbiAgLmhvbWUtaW5mbyB7XG4gICAgcGFkZGluZy10b3A6IDYwcHg7XG4gIH1cbn1cbkBtZWRpYSAobWluLXdpZHRoOiAxMjAwcHgpIHtcbiAgLmhvbWUtaW5mbyB7XG4gICAgcGFkZGluZy10b3A6IDgwcHg7XG4gIH1cbn1cbkBtZWRpYSAobWluLXdpZHRoOiA0ODBweCkge1xuICAuaG9tZS1pbmZvIHtcbiAgICBwYWRkaW5nLWJvdHRvbTogMjVweDtcbiAgfVxufVxuQG1lZGlhIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gIC5ob21lLWluZm8ge1xuICAgIHBhZGRpbmctYm90dG9tOiA0MHB4O1xuICB9XG59XG5AbWVkaWEgKG1pbi13aWR0aDogOTkycHgpIHtcbiAgLmhvbWUtaW5mbyB7XG4gICAgcGFkZGluZy1ib3R0b206IDYwcHg7XG4gIH1cbn1cbkBtZWRpYSAobWluLXdpZHRoOiAxMjAwcHgpIHtcbiAgLmhvbWUtaW5mbyB7XG4gICAgcGFkZGluZy1ib3R0b206IDgwcHg7XG4gIH1cbn1cbi5ob21lLWluZm8gaDIge1xuICBtYXJnaW4tdG9wOiAwO1xuICBtYXJnaW4tYm90dG9tOiAyMHB4O1xuICBjb2xvcjogIzMwNDc2Mztcbn1cbi5ob21lLWluZm8gLmhvbWUtc2VhcmNoIHtcbiAgbWFyZ2luLXRvcDogMzBweDtcbiAgbWFyZ2luLWJvdHRvbTogMzBweDtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzMwNDc2MztcbiAgYm9yZGVyLXJhZGl1czogMjhweCAwO1xuICBwYWRkaW5nLXJpZ2h0OiAxMnB4O1xuICBwYWRkaW5nLWxlZnQ6IDEycHg7XG59XG4uaG9tZS1pbmZvIC5ob21lLXNlYXJjaCAuc2l0ZS1zZWFyY2gge1xuICBwYWRkaW5nLXRvcDogMTBweDtcbiAgcGFkZGluZy1ib3R0b206IDEwcHg7XG59XG4uaG9tZS1pbmZvIC5ob21lLXNlYXJjaCAuaGVhZGVyLXNlYXJjaC1xdWVyeSBpbnB1dCB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNlMGUwZTA7XG4gIGNvbG9yOiAjMzA0NzYzO1xufVxuLmhvbWUtaW5mbyBwIHtcbiAgbWFyZ2luLWJvdHRvbTogMDtcbiAgZm9udC1zaXplOiAxLjJyZW07XG4gIGNvbG9yOiAjMzA0NzYzO1xufVxuLmhvbWUtaW5mbyAuYnV0dG9uIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcbiAgY29sb3I6ICMzMDQ3NjM7XG59XG5cbi5ob21lLW5vb2tzLXdyYXAge1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiBhdXRvO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjJmMmYyO1xufVxuXG4uaG9tZS1ub29rcyB7XG4gIHdpZHRoOiAxMDAlO1xuICBtYXgtd2lkdGg6IDE0MDBweDtcbiAgbWFyZ2luOiAwIGF1dG87XG4gIHBhZGRpbmctbGVmdDogMjBweDtcbiAgcGFkZGluZy1yaWdodDogMjBweDtcbiAgdHJhbnNpdGlvbjogcGFkZGluZyAzMDBtcztcbiAgcGFkZGluZy10b3A6IDIwcHg7XG4gIHRyYW5zaXRpb246IHBhZGRpbmcgMzAwbXM7XG4gIHBhZGRpbmctYm90dG9tOiAyMHB4O1xuICB0cmFuc2l0aW9uOiBwYWRkaW5nIDMwMG1zO1xufVxuQG1lZGlhIChtaW4td2lkdGg6IDQ4MHB4KSB7XG4gIC5ob21lLW5vb2tzIHtcbiAgICBwYWRkaW5nLWxlZnQ6IDI1cHg7XG4gICAgcGFkZGluZy1yaWdodDogMjVweDtcbiAgfVxufVxuQG1lZGlhIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gIC5ob21lLW5vb2tzIHtcbiAgICBwYWRkaW5nLWxlZnQ6IDMwcHg7XG4gICAgcGFkZGluZy1yaWdodDogMzBweDtcbiAgfVxufVxuQG1lZGlhIChtaW4td2lkdGg6IDk5MnB4KSB7XG4gIC5ob21lLW5vb2tzIHtcbiAgICBwYWRkaW5nLWxlZnQ6IDYwcHg7XG4gICAgcGFkZGluZy1yaWdodDogNjBweDtcbiAgfVxufVxuQG1lZGlhIChtaW4td2lkdGg6IDEyMDBweCkge1xuICAuaG9tZS1ub29rcyB7XG4gICAgcGFkZGluZy1sZWZ0OiA4MHB4O1xuICAgIHBhZGRpbmctcmlnaHQ6IDgwcHg7XG4gIH1cbn1cbkBtZWRpYSAobWluLXdpZHRoOiA0ODBweCkge1xuICAuaG9tZS1ub29rcyB7XG4gICAgcGFkZGluZy10b3A6IDI1cHg7XG4gIH1cbn1cbkBtZWRpYSAobWluLXdpZHRoOiA3NjhweCkge1xuICAuaG9tZS1ub29rcyB7XG4gICAgcGFkZGluZy10b3A6IDQwcHg7XG4gIH1cbn1cbkBtZWRpYSAobWluLXdpZHRoOiA5OTJweCkge1xuICAuaG9tZS1ub29rcyB7XG4gICAgcGFkZGluZy10b3A6IDYwcHg7XG4gIH1cbn1cbkBtZWRpYSAobWluLXdpZHRoOiAxMjAwcHgpIHtcbiAgLmhvbWUtbm9va3Mge1xuICAgIHBhZGRpbmctdG9wOiA4MHB4O1xuICB9XG59XG5AbWVkaWEgKG1pbi13aWR0aDogNDgwcHgpIHtcbiAgLmhvbWUtbm9va3Mge1xuICAgIHBhZGRpbmctYm90dG9tOiAyNXB4O1xuICB9XG59XG5AbWVkaWEgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgLmhvbWUtbm9va3Mge1xuICAgIHBhZGRpbmctYm90dG9tOiA0MHB4O1xuICB9XG59XG5AbWVkaWEgKG1pbi13aWR0aDogOTkycHgpIHtcbiAgLmhvbWUtbm9va3Mge1xuICAgIHBhZGRpbmctYm90dG9tOiA2MHB4O1xuICB9XG59XG5AbWVkaWEgKG1pbi13aWR0aDogMTIwMHB4KSB7XG4gIC5ob21lLW5vb2tzIHtcbiAgICBwYWRkaW5nLWJvdHRvbTogODBweDtcbiAgfVxufVxuXG4uaG9tZS1ub29rcy1oZWFkZXIge1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIHBhZGRpbmctYm90dG9tOiA0MHB4O1xuICBjb2xvcjogIzMwNDc2Mztcbn1cblxuLmhvbWUtbm9va3MtYm9va3Mge1xuICBkaXNwbGF5OiBncmlkO1xuICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdCgxLCAxZnIpO1xuICBncmlkLWNvbHVtbi1nYXA6IDA7XG4gIGdyaWQtcm93LWdhcDogMzBweDtcbn1cbkBtZWRpYSAobWluLXdpZHRoOiA3NjhweCkge1xuICAuaG9tZS1ub29rcy1ib29rcyB7XG4gICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoNiwgMWZyKTtcbiAgICBncmlkLWNvbHVtbi1nYXA6IDIlO1xuICAgIGdyaWQtcm93LWdhcDogMDtcbiAgfVxufVxuXG4uaG9tZS1ub29rIHtcbiAgbWluLXdpZHRoOiAxMDAlO1xuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMzA0NzYzO1xuICBib3JkZXItcmFkaXVzOiA0MCUgMCA0MCUgMDtcbiAgYXNwZWN0LXJhdGlvOiAxLzE7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgY29sb3I6ICNmZmY7XG59XG4uaG9tZS1ub29rIC5ob21lLW5vb2staW5uZXIge1xuICBkaXNwbGF5OiBibG9jaztcbiAgbWFyZ2luOiAwIGF1dG87XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbn1cbi5ob21lLW5vb2sgLmhvbWUtbm9vay1pbm5lciBpIHtcbiAgbWFyZ2luLWJvdHRvbTogMTVweDtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHdpZHRoOiAxMDAlO1xuICBmb250LXNpemU6IDNyZW07XG59XG4uaG9tZS1ub29rIC5ob21lLW5vb2staW5uZXIgaDMge1xuICBkaXNwbGF5OiBibG9jaztcbiAgZm9udC1zaXplOiAxLjJyZW07XG59XG5cbi5ob21lLWNvbm5lY3Rpb25zLXdyYXAge1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiBhdXRvO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjJmMmYyO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG59XG5cbi5ob21lLWNvbm5lY3Rpb25zLW92ZXJsYXkge1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAxMDAlO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMDtcbiAgbGVmdDogMDtcbn1cblxuLmhvbWUtY29ubmVjdGlvbnMge1xuICB3aWR0aDogMTAwJTtcbiAgbWF4LXdpZHRoOiAxNDAwcHg7XG4gIG1hcmdpbjogMCBhdXRvO1xuICBwYWRkaW5nLWxlZnQ6IDIwcHg7XG4gIHBhZGRpbmctcmlnaHQ6IDIwcHg7XG4gIHRyYW5zaXRpb246IHBhZGRpbmcgMzAwbXM7XG4gIHBhZGRpbmctdG9wOiAyMHB4O1xuICB0cmFuc2l0aW9uOiBwYWRkaW5nIDMwMG1zO1xuICBwYWRkaW5nLWJvdHRvbTogMjBweDtcbiAgdHJhbnNpdGlvbjogcGFkZGluZyAzMDBtcztcbiAgY29sb3I6ICMzMDQ3NjM7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB6LWluZGV4OiAzO1xufVxuQG1lZGlhIChtaW4td2lkdGg6IDQ4MHB4KSB7XG4gIC5ob21lLWNvbm5lY3Rpb25zIHtcbiAgICBwYWRkaW5nLWxlZnQ6IDI1cHg7XG4gICAgcGFkZGluZy1yaWdodDogMjVweDtcbiAgfVxufVxuQG1lZGlhIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gIC5ob21lLWNvbm5lY3Rpb25zIHtcbiAgICBwYWRkaW5nLWxlZnQ6IDMwcHg7XG4gICAgcGFkZGluZy1yaWdodDogMzBweDtcbiAgfVxufVxuQG1lZGlhIChtaW4td2lkdGg6IDk5MnB4KSB7XG4gIC5ob21lLWNvbm5lY3Rpb25zIHtcbiAgICBwYWRkaW5nLWxlZnQ6IDYwcHg7XG4gICAgcGFkZGluZy1yaWdodDogNjBweDtcbiAgfVxufVxuQG1lZGlhIChtaW4td2lkdGg6IDEyMDBweCkge1xuICAuaG9tZS1jb25uZWN0aW9ucyB7XG4gICAgcGFkZGluZy1sZWZ0OiA4MHB4O1xuICAgIHBhZGRpbmctcmlnaHQ6IDgwcHg7XG4gIH1cbn1cbkBtZWRpYSAobWluLXdpZHRoOiA0ODBweCkge1xuICAuaG9tZS1jb25uZWN0aW9ucyB7XG4gICAgcGFkZGluZy10b3A6IDI1cHg7XG4gIH1cbn1cbkBtZWRpYSAobWluLXdpZHRoOiA3NjhweCkge1xuICAuaG9tZS1jb25uZWN0aW9ucyB7XG4gICAgcGFkZGluZy10b3A6IDQwcHg7XG4gIH1cbn1cbkBtZWRpYSAobWluLXdpZHRoOiA5OTJweCkge1xuICAuaG9tZS1jb25uZWN0aW9ucyB7XG4gICAgcGFkZGluZy10b3A6IDYwcHg7XG4gIH1cbn1cbkBtZWRpYSAobWluLXdpZHRoOiAxMjAwcHgpIHtcbiAgLmhvbWUtY29ubmVjdGlvbnMge1xuICAgIHBhZGRpbmctdG9wOiA4MHB4O1xuICB9XG59XG5AbWVkaWEgKG1pbi13aWR0aDogNDgwcHgpIHtcbiAgLmhvbWUtY29ubmVjdGlvbnMge1xuICAgIHBhZGRpbmctYm90dG9tOiAyNXB4O1xuICB9XG59XG5AbWVkaWEgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgLmhvbWUtY29ubmVjdGlvbnMge1xuICAgIHBhZGRpbmctYm90dG9tOiA0MHB4O1xuICB9XG59XG5AbWVkaWEgKG1pbi13aWR0aDogOTkycHgpIHtcbiAgLmhvbWUtY29ubmVjdGlvbnMge1xuICAgIHBhZGRpbmctYm90dG9tOiA2MHB4O1xuICB9XG59XG5AbWVkaWEgKG1pbi13aWR0aDogMTIwMHB4KSB7XG4gIC5ob21lLWNvbm5lY3Rpb25zIHtcbiAgICBwYWRkaW5nLWJvdHRvbTogODBweDtcbiAgfVxufVxuLmhvbWUtY29ubmVjdGlvbnMgcCB7XG4gIG1hcmdpbi1ib3R0b206IDQwcHg7XG59XG5cbi5ob21lLWNvbm5lY3Rpb25zLWNvbm5lY3Rpb25zIHtcbiAgZGlzcGxheTogZ3JpZDtcbiAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAxZnI7XG4gIGdyaWQtdGVtcGxhdGUtcm93czogYXV0byBhdXRvO1xuICBncmlkLWNvbHVtbi1nYXA6IDA7XG4gIGdyaWQtcm93LWdhcDogMzBweDtcbn1cbkBtZWRpYSAobWluLXdpZHRoOiA3NjhweCkge1xuICAuaG9tZS1jb25uZWN0aW9ucy1jb25uZWN0aW9ucyB7XG4gICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAxZnIgMWZyO1xuICAgIGdyaWQtdGVtcGxhdGUtcm93czogYXV0bztcbiAgICBncmlkLWNvbHVtbi1nYXA6IDUlO1xuICAgIGdyaWQtcm93LWdhcDogMDtcbiAgfVxufVxuXG4uaG9tZS1jb25uZWN0aW9uIHtcbiAgbWluLWhlaWdodDogMjgwcHg7XG4gIG1heC13aWR0aDogMTAwJTtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyO1xuICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGJvcmRlci1yYWRpdXM6IDI1cHggMDtcbiAgYm9yZGVyOiAycHggc29saWQgIzMwNDc2MztcbiAgLyomOm50aC1jaGlsZCgzKSB7XG4gICAgZ3JpZC1jb2x1bW46IDEgLyBzcGFuIDE7XG4gICAgZ3JpZC1yb3c6IDMgLyBzcGFuIDE7XG5cbiAgICBAaW5jbHVkZSBtZWRpYShcIj49dGFibGV0XCIpIHtcbiAgICAgIGdyaWQtY29sdW1uOiAzIC8gc3BhbiAxO1xuICAgICAgZ3JpZC1yb3c6IDEgLyBzcGFuIDE7XG4gICAgfVxuICB9Ki9cbn1cbi5ob21lLWNvbm5lY3Rpb246bnRoLWNoaWxkKDEpIHtcbiAgZ3JpZC1jb2x1bW46IDEvc3BhbiAxO1xuICBncmlkLXJvdzogMS9zcGFuIDE7XG59XG5AbWVkaWEgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgLmhvbWUtY29ubmVjdGlvbjpudGgtY2hpbGQoMSkge1xuICAgIGdyaWQtY29sdW1uOiAxL3NwYW4gMTtcbiAgICBncmlkLXJvdzogMS9zcGFuIDE7XG4gIH1cbn1cbi5ob21lLWNvbm5lY3Rpb246bnRoLWNoaWxkKDIpIHtcbiAgZ3JpZC1jb2x1bW46IDEvc3BhbiAxO1xuICBncmlkLXJvdzogMi9zcGFuIDE7XG59XG5AbWVkaWEgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgLmhvbWUtY29ubmVjdGlvbjpudGgtY2hpbGQoMikge1xuICAgIGdyaWQtY29sdW1uOiAyL3NwYW4gMTtcbiAgICBncmlkLXJvdzogMS9zcGFuIDE7XG4gIH1cbn1cbi5ob21lLWNvbm5lY3Rpb24gYSB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBoZWlnaHQ6IDEwMCU7XG59XG5cbi5ob21lLWNvbm5lY3Rpb24tdGl0bGUge1xuICB3aWR0aDogMTAwJTtcbiAgbWluLWhlaWdodDogNjBweDtcbiAgcGFkZGluZzogMTVweDtcbiAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSg1MSwgNTEsIDUxLCAwLjgpO1xuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBib3R0b206IDA7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gIGNvbG9yOiAjZmZmO1xuICBib3JkZXItcmFkaXVzOiAwIDAgMjVweCAwO1xufSIsIi8qKlxuKiBCcmVha3BvaW50c1xuKi9cblxuLy8gYnJlYWtwb2ludCBkZWZpbml0aW9ucyBmb3IgdXNlIHdpdGggaW5jbHVkZS1tZWRpYS5zY3NzIGxpYnJhcnk6XG4kYnJlYWtwb2ludHM6IChcbiAgJ3Bob25lLXNtYWxsJzogICAgMzIwcHgsXG4gICdwaG9uZS1sYXJnZSc6ICAgIDQ4MHB4LFxuICAndGFibGV0JzogICAgICAgICA3NjhweCxcbiAgJ2xhcHRvcCc6ICAgICAgICAgOTkycHgsXG4gICdkZXNrdG9wJzogICAgICAgIDEyMDBweCxcbiAgJ2Rlc2t0b3AtbGFyZ2UnOiAgMTQwMHB4LFxuICAnaGQnOiAgICAgICAgICAgICAxOTIwcHhcbik7XG5cblxuLy8gZXhhbXBsZSB1c2FnZTpcbi8qXG5cbkBpbmNsdWRlIG1lZGlhKFwiPj1waG9uZS1zbWFsbFwiKSB7XG5cbn1cblxuKi9cbiIsIi8qKlxuKiBWYXJpYWJsZXNcbiovXG5cbi8vIGRpbWVuc2lvbnM6XG4kc2l0ZVdpZHRoOiAxNDAwcHg7ICAgLy8gbWF4IHdpZHRoIG9mIHNpdGUncyBjb250ZW50IGNvbnRhaW5lcnNcbi8vJGhlYWRlckhlaWdodDogOTBweDtcbi8vJHRvcE5hdkhlaWdodDogNDBweDtcblxuJHRvcEJhckhlaWdodDogNDVweDtcbiRoZWFkZXJIZWlnaHRNb2JpbGU6IDkwcHg7XG4kaGVhZGVySGVpZ2h0RGVza3RvcDogMTE1cHg7XG5cbiRjb250YWluZXJQYWRkaW5nTW9iaWxlOiAyMHB4O1xuJGNvbnRhaW5lclBhZGRpbmdQaG9uZUxhcmdlOiAyNXB4O1xuJGNvbnRhaW5lclBhZGRpbmdUYWJsZXQ6IDMwcHg7XG4kY29udGFpbmVyUGFkZGluZ0xhcHRvcDogNjBweDtcbiRjb250YWluZXJQYWRkaW5nRGVza3RvcDogODBweDtcblxuJHNwYWNlclBhZGRpbmdNb2JpbGU6IDIwcHg7XG4kc3BhY2VyUGFkZGluZ1Bob25lTGFyZ2U6IDI1cHg7XG4kc3BhY2VyUGFkZGluZ1RhYmxldDogNDBweDtcbiRzcGFjZXJQYWRkaW5nTGFwdG9wOiA2MHB4O1xuJHNwYWNlclBhZGRpbmdEZXNrdG9wOiA4MHB4O1xuXG4vLyBjb2xvcnM6XG4keWVsbG93OiAjZmZjNzBlO1xuJGdyZWVuOiAgI2IzYjA2ZDtcbiRibHVlOiAgICM2MTk4Y2U7XG4kYmxhY2s6ICAjMGYwZjBmO1xuJGdyYXk6ICAgIzM3MzQzNTtcbiR3aGl0ZTogICNmZWZlZmU7XG5cbiRvZmZXaGl0ZTogI2ZmZjsgLy8jZmFmYWZhO1xuJGxpZ2h0R3JheTogI2YyZjJmMjtcbiRtZWRpdW1HcmF5OiAjZTBlMGUwO1xuJG1lZGl1bURhcmtHcmF5OiAjOTk5OTk5O1xuJGRhcmtHcmF5OiAgIzIyMjtcbiRkYXJrQmx1ZTogcmdiKDU5LCA5OCwgMTI3KTtcbiR0cmFuc0dyYXk6IHJnYmEoNTEsIDUxLCA1MSwgMC44KTtcblxuJGJyYW5kUHJpbWFyeTogIzMwNDc2MzsvLyMxYjNjNjM7Ly8jMWEzMjRmOy8vIzJjM2Q1MTsvLyMzYzVmOGE7XG4vLyRicmFuZFByaW1hcnk6ICMwMDBmYTI7XG4kYnJhbmRTZWNvbmRhcnk6ICMzYzVmOGE7XG5cbiRib2R5Q29sb3I6ICNmZmY7ICAgICAvLyBib2R5IGJhY2tncm91bmQgY29sb3JcbiRtYWluQ29sb3I6ICNmZmY7ICAgICAvLyBwYWdlIGNvbnRlbnQgYmFja2dyb3VuZCBjb2xvclxuJGZvbnRDb2xvcjogIzIyMjsgICAgIC8vIGRlZmF1bHQgZm9udCBjb2xvclxuJGxpbmtDb2xvcjogIzM1Njg3OTsgIC8vIGRlZmF1bHQgbGluayBjb2xvclxuIiwiLyoqXG4qIEZvbnRzIChAZm9udC1mYWNlKVxuKi9cblxuLy8gTW9udHNlcnJhdC1SZWd1bGFyLnR0ZjpcblxuQGZvbnQtZmFjZSB7XG4gIGZvbnQtZmFtaWx5OiBNb250c2VycmF0O1xuICBzcmM6IHVybCguLi9mb250cy9Nb250c2VycmF0LVJlZ3VsYXIudHRmKTtcbiAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgZm9udC1zdHlsZTogbm9ybWFsO1xufVxuLy8gTW9udHNlcnJhdC1Cb2xkLnR0ZlxuQGZvbnQtZmFjZSB7XG4gIGZvbnQtZmFtaWx5OiBNb250c2VycmF0O1xuICBzcmM6IHVybCguLi9mb250cy9Nb250c2VycmF0LUJvbGQudHRmKTtcbiAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgZm9udC1zdHlsZTogbm9ybWFsO1xufVxuIiwiQG1peGluIHdyYXAge1xyXG4gIHdpZHRoOiAxMDAlO1xyXG4gIGhlaWdodDogYXV0bztcclxufVxyXG5cclxuLndyYXAge1xyXG4gIEBpbmNsdWRlIHdyYXA7XHJcbn1cclxuXHJcbkBtaXhpbiBpbm5lci13cmFwIHtcclxuICB3aWR0aDogMTAwJTtcclxuICBtYXgtd2lkdGg6ICRzaXRlV2lkdGg7XHJcbiAgbWFyZ2luOiAwIGF1dG87XHJcbn1cclxuXHJcbi5pbm5lci13cmFwIHtcclxuICBAaW5jbHVkZSBpbm5lci13cmFwO1xyXG59XHJcblxyXG5AbWl4aW4gY29udGFpbmVyIHtcclxuICBwYWRkaW5nLWxlZnQ6ICRjb250YWluZXJQYWRkaW5nTW9iaWxlO1xyXG4gIHBhZGRpbmctcmlnaHQ6ICRjb250YWluZXJQYWRkaW5nTW9iaWxlO1xyXG4gIHRyYW5zaXRpb246IHBhZGRpbmcgMzAwbXM7XHJcblxyXG4gIEBpbmNsdWRlIG1lZGlhKFwiPj1waG9uZS1sYXJnZVwiKSB7XHJcbiAgICBwYWRkaW5nLWxlZnQ6ICRjb250YWluZXJQYWRkaW5nUGhvbmVMYXJnZTtcclxuICAgIHBhZGRpbmctcmlnaHQ6ICRjb250YWluZXJQYWRkaW5nUGhvbmVMYXJnZTtcclxuICB9XHJcblxyXG4gIEBpbmNsdWRlIG1lZGlhKFwiPj10YWJsZXRcIikge1xyXG4gICAgcGFkZGluZy1sZWZ0OiAkY29udGFpbmVyUGFkZGluZ1RhYmxldDtcclxuICAgIHBhZGRpbmctcmlnaHQ6ICRjb250YWluZXJQYWRkaW5nVGFibGV0O1xyXG4gIH1cclxuXHJcbiAgQGluY2x1ZGUgbWVkaWEoXCI+PWxhcHRvcFwiKSB7XHJcbiAgICBwYWRkaW5nLWxlZnQ6ICRjb250YWluZXJQYWRkaW5nTGFwdG9wO1xyXG4gICAgcGFkZGluZy1yaWdodDogJGNvbnRhaW5lclBhZGRpbmdMYXB0b3A7XHJcbiAgfVxyXG5cclxuICBAaW5jbHVkZSBtZWRpYShcIj49ZGVza3RvcFwiKSB7XHJcbiAgICBwYWRkaW5nLWxlZnQ6ICRjb250YWluZXJQYWRkaW5nRGVza3RvcDtcclxuICAgIHBhZGRpbmctcmlnaHQ6ICRjb250YWluZXJQYWRkaW5nRGVza3RvcDtcclxuICB9XHJcbn1cclxuXHJcbi5jb250YWluZXIge1xyXG4gIEBpbmNsdWRlIGNvbnRhaW5lcjtcclxufVxyXG5cclxuQG1peGluIHNwYWNlci10b3Age1xyXG4gIHBhZGRpbmctdG9wOiAkc3BhY2VyUGFkZGluZ01vYmlsZTtcclxuICB0cmFuc2l0aW9uOiBwYWRkaW5nIDMwMG1zO1xyXG5cclxuICBAaW5jbHVkZSBtZWRpYShcIj49cGhvbmUtbGFyZ2VcIikge1xyXG4gICAgcGFkZGluZy10b3A6ICRzcGFjZXJQYWRkaW5nUGhvbmVMYXJnZTtcclxuICB9XHJcblxyXG4gIEBpbmNsdWRlIG1lZGlhKFwiPj10YWJsZXRcIikge1xyXG4gICAgcGFkZGluZy10b3A6ICRzcGFjZXJQYWRkaW5nVGFibGV0O1xyXG4gIH1cclxuXHJcbiAgQGluY2x1ZGUgbWVkaWEoXCI+PWxhcHRvcFwiKSB7XHJcbiAgICBwYWRkaW5nLXRvcDogJHNwYWNlclBhZGRpbmdMYXB0b3A7XHJcbiAgfVxyXG5cclxuICBAaW5jbHVkZSBtZWRpYShcIj49ZGVza3RvcFwiKSB7XHJcbiAgICBwYWRkaW5nLXRvcDogJHNwYWNlclBhZGRpbmdEZXNrdG9wO1xyXG4gIH1cclxufVxyXG5cclxuLnNwYWNlci10b3Age1xyXG4gIEBpbmNsdWRlIHNwYWNlci10b3A7XHJcbn1cclxuXHJcbkBtaXhpbiBzcGFjZXItYm90dG9tIHtcclxuICBwYWRkaW5nLWJvdHRvbTogJHNwYWNlclBhZGRpbmdNb2JpbGU7XHJcbiAgdHJhbnNpdGlvbjogcGFkZGluZyAzMDBtcztcclxuXHJcbiAgQGluY2x1ZGUgbWVkaWEoXCI+PXBob25lLWxhcmdlXCIpIHtcclxuICAgIHBhZGRpbmctYm90dG9tOiAkc3BhY2VyUGFkZGluZ1Bob25lTGFyZ2U7XHJcbiAgfVxyXG5cclxuICBAaW5jbHVkZSBtZWRpYShcIj49dGFibGV0XCIpIHtcclxuICAgIHBhZGRpbmctYm90dG9tOiAkc3BhY2VyUGFkZGluZ1RhYmxldDtcclxuICB9XHJcblxyXG4gIEBpbmNsdWRlIG1lZGlhKFwiPj1sYXB0b3BcIikge1xyXG4gICAgcGFkZGluZy1ib3R0b206ICRzcGFjZXJQYWRkaW5nTGFwdG9wO1xyXG4gIH1cclxuXHJcbiAgQGluY2x1ZGUgbWVkaWEoXCI+PWRlc2t0b3BcIikge1xyXG4gICAgcGFkZGluZy1ib3R0b206ICRzcGFjZXJQYWRkaW5nRGVza3RvcDtcclxuICB9XHJcbn1cclxuXHJcbi5zcGFjZXItYm90dG9tIHtcclxuICBAaW5jbHVkZSBzcGFjZXItYm90dG9tO1xyXG59XHJcblxyXG5AbWl4aW4gYnV0dG9uIHtcclxuICBwYWRkaW5nOiAxMHB4IDE1cHg7O1xyXG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuICBiYWNrZ3JvdW5kLWNvbG9yOiAkYnJhbmRQcmltYXJ5O1xyXG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XHJcbiAgY29sb3I6ICRvZmZXaGl0ZTtcclxuICBmb250LXdlaWdodDogYm9sZDtcclxuICBib3JkZXItcmFkaXVzOiAxNXB4IDAgMTVweCAwO1xyXG59XHJcblxyXG4uYnV0dG9uIHtcclxuICBAaW5jbHVkZSBidXR0b247XHJcbn1cclxuXHJcbkBtaXhpbiBjYXRlZ29yeSB7XHJcbiAgZGlzcGxheTogYmxvY2s7XHJcbiAgLy8gL3RleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XHJcbiAgY29sb3I6ICRibGFjaztcclxuICBmb250LXdlaWdodDogNjAwO1xyXG4gIGZvbnQtc2l6ZTogMC44cmVtO1xyXG4gIGxldHRlci1zcGFjaW5nOiAtMC4wNjI1ZW07XHJcbn1cclxuXHJcbi5jYXRlZ29yeSB7XHJcbiAgQGluY2x1ZGUgY2F0ZWdvcnk7XHJcbn1cclxuXHJcbkBtaXhpbiB0aXRsZSB7XHJcbiAgZGlzcGxheTogYmxvY2s7XHJcbiAgZm9udC1zaXplOiAxLjRyZW07XHJcbiAgLy9mb250LXdlaWdodDogNjAwO1xyXG4gIGxpbmUtaGVpZ2h0OiAxLjE7XHJcbiAgY29sb3I6ICRkYXJrQmx1ZTtcclxuICBsZXR0ZXItc3BhY2luZzogLTAuMDYyNWVtO1xyXG5cclxuICAmOmhvdmVyIHtcclxuICAgIC8vdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XHJcbiAgfVxyXG59XHJcblxyXG4udGl0bGUge1xyXG4gIEBpbmNsdWRlIHRpdGxlO1xyXG59XHJcblxyXG5AbWl4aW4gdGFnIHtcclxuICBmb250LXNpemU6IDAuOHJlbTtcclxuICBmb250LXdlaWdodDogNTAwO1xyXG4gIGNvbG9yOiAkbWVkaXVtRGFya0dyYXk7XHJcbiAgbGV0dGVyLXNwYWNpbmc6IC0wLjA0MjVlbTtcclxufVxyXG5cclxuLnRhZyB7XHJcbiAgQGluY2x1ZGUgdGFnO1xyXG59XHJcblxyXG5AbWl4aW4gc3Itb25seSB7ICAvLyB2aXNpYmxlIHRvIHNjcmVlbiByZWFkZXJzIG9ubHlcclxuICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgd2lkdGg6IDFweDtcclxuICBoZWlnaHQ6IDFweDtcclxuICBwYWRkaW5nOiAwO1xyXG4gIG1hcmdpbjogLTFweDtcclxuICBvdmVyZmxvdzogaGlkZGVuO1xyXG4gIGNsaXA6IHJlY3QoMCwgMCwgMCwgMCk7XHJcbiAgYm9yZGVyOiAwO1xyXG59XHJcblxyXG4uc3Itb25seSB7XHJcbiAgQGluY2x1ZGUgc3Itb25seTtcclxufVxyXG5cclxuQG1peGluIG5vLXNjcm9sbCB7XHJcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcclxufVxyXG5cclxuLm5vLXNjcm9sbCB7XHJcbiAgQGluY2x1ZGUgbm8tc2Nyb2xsO1xyXG59XHJcbiIsIkBjaGFyc2V0IFwiVVRGLThcIjtcclxuXHJcbi8vICAgICBfICAgICAgICAgICAgXyAgICAgICAgICAgXyAgICAgICAgICAgICAgICAgICAgICAgICAgIF8gX1xyXG4vLyAgICAoXykgICAgICAgICAgfCB8ICAgICAgICAgfCB8ICAgICAgICAgICAgICAgICAgICAgICAgIHwgKF8pXHJcbi8vICAgICBfIF8gX18gICBfX198IHxfICAgXyAgX198IHwgX19fICAgXyBfXyBfX18gICBfX18gIF9ffCB8XyAgX18gX1xyXG4vLyAgICB8IHwgJ18gXFwgLyBfX3wgfCB8IHwgfC8gX2AgfC8gXyBcXCB8ICdfIGAgXyBcXCAvIF8gXFwvIF9gIHwgfC8gX2AgfFxyXG4vLyAgICB8IHwgfCB8IHwgKF9ffCB8IHxffCB8IChffCB8ICBfXy8gfCB8IHwgfCB8IHwgIF9fLyAoX3wgfCB8IChffCB8XHJcbi8vICAgIHxffF98IHxffFxcX19ffF98XFxfXyxffFxcX18sX3xcXF9fX3wgfF98IHxffCB8X3xcXF9fX3xcXF9fLF98X3xcXF9fLF98XHJcbi8vXHJcbi8vICAgICAgU2ltcGxlLCBlbGVnYW50IGFuZCBtYWludGFpbmFibGUgbWVkaWEgcXVlcmllcyBpbiBTYXNzXHJcbi8vICAgICAgICAgICAgICAgICAgICAgICAgdjEuNC45XHJcbi8vXHJcbi8vICAgICAgICBodHRwczovL2VkdWFyZG9ib3VjYXMuZ2l0aHViLmlvL2luY2x1ZGUtbWVkaWFcclxuLy9cclxuLy8gICAgICAgICBBdXRob3JzOiBFZHVhcmRvIEJvdWNhcyAoQGVkdWFyZG9ib3VjYXMpXHJcbi8vICAgICAgICAgICAgICAgICAgS2l0dHkgR2lyYXVkZWwgKEBraXR0eWdpcmF1ZGVsKVxyXG4vL1xyXG4vLyAgICAgIFRoaXMgcHJvamVjdCBpcyBsaWNlbnNlZCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIE1JVCBsaWNlbnNlXHJcbi8vLy9cclxuLy8vIGluY2x1ZGUtbWVkaWEgbGlicmFyeSBwdWJsaWMgY29uZmlndXJhdGlvblxyXG4vLy8gQGF1dGhvciBFZHVhcmRvIEJvdWNhc1xyXG4vLy8gQGFjY2VzcyBwdWJsaWNcclxuLy8vL1xyXG5cclxuXHJcbi8vL1xyXG4vLy8gQ3JlYXRlcyBhIGxpc3Qgb2YgZ2xvYmFsIGJyZWFrcG9pbnRzXHJcbi8vL1xyXG4vLy8gQGV4YW1wbGUgc2NzcyAtIENyZWF0ZXMgYSBzaW5nbGUgYnJlYWtwb2ludCB3aXRoIHRoZSBsYWJlbCBgcGhvbmVgXHJcbi8vLyAgJGJyZWFrcG9pbnRzOiAoJ3Bob25lJzogMzIwcHgpO1xyXG4vLy9cclxuJGJyZWFrcG9pbnRzOiAoXHJcbiAgJ3Bob25lJzogMzIwcHgsXHJcbiAgJ3RhYmxldCc6IDc2OHB4LFxyXG4gICdkZXNrdG9wJzogMTAyNHB4XHJcbikgIWRlZmF1bHQ7XHJcblxyXG5cclxuLy8vXHJcbi8vLyBDcmVhdGVzIGEgbGlzdCBvZiBzdGF0aWMgZXhwcmVzc2lvbnMgb3IgbWVkaWEgdHlwZXNcclxuLy8vXHJcbi8vLyBAZXhhbXBsZSBzY3NzIC0gQ3JlYXRlcyBhIHNpbmdsZSBtZWRpYSB0eXBlIChzY3JlZW4pXHJcbi8vLyAgJG1lZGlhLWV4cHJlc3Npb25zOiAoJ3NjcmVlbic6ICdzY3JlZW4nKTtcclxuLy8vXHJcbi8vLyBAZXhhbXBsZSBzY3NzIC0gQ3JlYXRlcyBhIHN0YXRpYyBleHByZXNzaW9uIHdpdGggbG9naWNhbCBkaXNqdW5jdGlvbiAoT1Igb3BlcmF0b3IpXHJcbi8vLyAgJG1lZGlhLWV4cHJlc3Npb25zOiAoXHJcbi8vLyAgICAncmV0aW5hMngnOiAnKC13ZWJraXQtbWluLWRldmljZS1waXhlbC1yYXRpbzogMiksIChtaW4tcmVzb2x1dGlvbjogMTkyZHBpKSdcclxuLy8vICApO1xyXG4vLy9cclxuJG1lZGlhLWV4cHJlc3Npb25zOiAoXHJcbiAgJ3NjcmVlbic6ICdzY3JlZW4nLFxyXG4gICdwcmludCc6ICdwcmludCcsXHJcbiAgJ2hhbmRoZWxkJzogJ2hhbmRoZWxkJyxcclxuICAnbGFuZHNjYXBlJzogJyhvcmllbnRhdGlvbjogbGFuZHNjYXBlKScsXHJcbiAgJ3BvcnRyYWl0JzogJyhvcmllbnRhdGlvbjogcG9ydHJhaXQpJyxcclxuICAncmV0aW5hMngnOiAnKC13ZWJraXQtbWluLWRldmljZS1waXhlbC1yYXRpbzogMiksIChtaW4tcmVzb2x1dGlvbjogMTkyZHBpKSwgKG1pbi1yZXNvbHV0aW9uOiAyZHBweCknLFxyXG4gICdyZXRpbmEzeCc6ICcoLXdlYmtpdC1taW4tZGV2aWNlLXBpeGVsLXJhdGlvOiAzKSwgKG1pbi1yZXNvbHV0aW9uOiAzNTBkcGkpLCAobWluLXJlc29sdXRpb246IDNkcHB4KSdcclxuKSAhZGVmYXVsdDtcclxuXHJcblxyXG4vLy9cclxuLy8vIERlZmluZXMgYSBudW1iZXIgdG8gYmUgYWRkZWQgb3Igc3VidHJhY3RlZCBmcm9tIGVhY2ggdW5pdCB3aGVuIGRlY2xhcmluZyBicmVha3BvaW50cyB3aXRoIGV4Y2x1c2l2ZSBpbnRlcnZhbHNcclxuLy8vXHJcbi8vLyBAZXhhbXBsZSBzY3NzIC0gSW50ZXJ2YWwgZm9yIHBpeGVscyBpcyBkZWZpbmVkIGFzIGAxYCBieSBkZWZhdWx0XHJcbi8vLyAgQGluY2x1ZGUgbWVkaWEoJz4xMjhweCcpIHt9XHJcbi8vL1xyXG4vLy8gIC8qIEdlbmVyYXRlczogKi9cclxuLy8vICBAbWVkaWEgKG1pbi13aWR0aDogMTI5cHgpIHt9XHJcbi8vL1xyXG4vLy8gQGV4YW1wbGUgc2NzcyAtIEludGVydmFsIGZvciBlbXMgaXMgZGVmaW5lZCBhcyBgMC4wMWAgYnkgZGVmYXVsdFxyXG4vLy8gIEBpbmNsdWRlIG1lZGlhKCc+MjBlbScpIHt9XHJcbi8vL1xyXG4vLy8gIC8qIEdlbmVyYXRlczogKi9cclxuLy8vICBAbWVkaWEgKG1pbi13aWR0aDogMjAuMDFlbSkge31cclxuLy8vXHJcbi8vLyBAZXhhbXBsZSBzY3NzIC0gSW50ZXJ2YWwgZm9yIHJlbXMgaXMgZGVmaW5lZCBhcyBgMC4xYCBieSBkZWZhdWx0LCB0byBiZSB1c2VkIHdpdGggYGZvbnQtc2l6ZTogNjIuNSU7YFxyXG4vLy8gIEBpbmNsdWRlIG1lZGlhKCc+Mi4wcmVtJykge31cclxuLy8vXHJcbi8vLyAgLyogR2VuZXJhdGVzOiAqL1xyXG4vLy8gIEBtZWRpYSAobWluLXdpZHRoOiAyLjFyZW0pIHt9XHJcbi8vL1xyXG4kdW5pdC1pbnRlcnZhbHM6IChcclxuICAncHgnOiAxLFxyXG4gICdlbSc6IDAuMDEsXHJcbiAgJ3JlbSc6IDAuMSxcclxuICAnJzogMFxyXG4pICFkZWZhdWx0O1xyXG5cclxuLy8vXHJcbi8vLyBEZWZpbmVzIHdoZXRoZXIgc3VwcG9ydCBmb3IgbWVkaWEgcXVlcmllcyBpcyBhdmFpbGFibGUsIHVzZWZ1bCBmb3IgY3JlYXRpbmcgc2VwYXJhdGUgc3R5bGVzaGVldHNcclxuLy8vIGZvciBicm93c2VycyB0aGF0IGRvbid0IHN1cHBvcnQgbWVkaWEgcXVlcmllcy5cclxuLy8vXHJcbi8vLyBAZXhhbXBsZSBzY3NzIC0gRGlzYWJsZXMgc3VwcG9ydCBmb3IgbWVkaWEgcXVlcmllc1xyXG4vLy8gICRpbS1tZWRpYS1zdXBwb3J0OiBmYWxzZTtcclxuLy8vICBAaW5jbHVkZSBtZWRpYSgnPj10YWJsZXQnKSB7XHJcbi8vLyAgICAuZm9vIHtcclxuLy8vICAgICAgY29sb3I6IHRvbWF0bztcclxuLy8vICAgIH1cclxuLy8vICB9XHJcbi8vL1xyXG4vLy8gIC8qIEdlbmVyYXRlczogKi9cclxuLy8vICAuZm9vIHtcclxuLy8vICAgIGNvbG9yOiB0b21hdG87XHJcbi8vLyAgfVxyXG4vLy9cclxuJGltLW1lZGlhLXN1cHBvcnQ6IHRydWUgIWRlZmF1bHQ7XHJcblxyXG4vLy9cclxuLy8vIFNlbGVjdHMgd2hpY2ggYnJlYWtwb2ludCB0byBlbXVsYXRlIHdoZW4gc3VwcG9ydCBmb3IgbWVkaWEgcXVlcmllcyBpcyBkaXNhYmxlZC4gTWVkaWEgcXVlcmllcyB0aGF0IHN0YXJ0IGF0IG9yXHJcbi8vLyBpbnRlcmNlcHQgdGhlIGJyZWFrcG9pbnQgd2lsbCBiZSBkaXNwbGF5ZWQsIGFueSBvdGhlcnMgd2lsbCBiZSBpZ25vcmVkLlxyXG4vLy9cclxuLy8vIEBleGFtcGxlIHNjc3MgLSBUaGlzIG1lZGlhIHF1ZXJ5IHdpbGwgc2hvdyBiZWNhdXNlIGl0IGludGVyY2VwdHMgdGhlIHN0YXRpYyBicmVha3BvaW50XHJcbi8vLyAgJGltLW1lZGlhLXN1cHBvcnQ6IGZhbHNlO1xyXG4vLy8gICRpbS1uby1tZWRpYS1icmVha3BvaW50OiAnZGVza3RvcCc7XHJcbi8vLyAgQGluY2x1ZGUgbWVkaWEoJz49dGFibGV0Jykge1xyXG4vLy8gICAgLmZvbyB7XHJcbi8vLyAgICAgIGNvbG9yOiB0b21hdG87XHJcbi8vLyAgICB9XHJcbi8vLyAgfVxyXG4vLy9cclxuLy8vICAvKiBHZW5lcmF0ZXM6ICovXHJcbi8vLyAgLmZvbyB7XHJcbi8vLyAgICBjb2xvcjogdG9tYXRvO1xyXG4vLy8gIH1cclxuLy8vXHJcbi8vLyBAZXhhbXBsZSBzY3NzIC0gVGhpcyBtZWRpYSBxdWVyeSB3aWxsIE5PVCBzaG93IGJlY2F1c2UgaXQgZG9lcyBub3QgaW50ZXJjZXB0IHRoZSBkZXNrdG9wIGJyZWFrcG9pbnRcclxuLy8vICAkaW0tbWVkaWEtc3VwcG9ydDogZmFsc2U7XHJcbi8vLyAgJGltLW5vLW1lZGlhLWJyZWFrcG9pbnQ6ICd0YWJsZXQnO1xyXG4vLy8gIEBpbmNsdWRlIG1lZGlhKCc+PWRlc2t0b3AnKSB7XHJcbi8vLyAgICAuZm9vIHtcclxuLy8vICAgICAgY29sb3I6IHRvbWF0bztcclxuLy8vICAgIH1cclxuLy8vICB9XHJcbi8vL1xyXG4vLy8gIC8qIE5vIG91dHB1dCAqL1xyXG4vLy9cclxuJGltLW5vLW1lZGlhLWJyZWFrcG9pbnQ6ICdkZXNrdG9wJyAhZGVmYXVsdDtcclxuXHJcbi8vL1xyXG4vLy8gU2VsZWN0cyB3aGljaCBtZWRpYSBleHByZXNzaW9ucyBhcmUgYWxsb3dlZCBpbiBhbiBleHByZXNzaW9uIGZvciBpdCB0byBiZSB1c2VkIHdoZW4gbWVkaWEgcXVlcmllc1xyXG4vLy8gYXJlIG5vdCBzdXBwb3J0ZWQuXHJcbi8vL1xyXG4vLy8gQGV4YW1wbGUgc2NzcyAtIFRoaXMgbWVkaWEgcXVlcnkgd2lsbCBzaG93IGJlY2F1c2UgaXQgaW50ZXJjZXB0cyB0aGUgc3RhdGljIGJyZWFrcG9pbnQgYW5kIGNvbnRhaW5zIG9ubHkgYWNjZXB0ZWQgbWVkaWEgZXhwcmVzc2lvbnNcclxuLy8vICAkaW0tbWVkaWEtc3VwcG9ydDogZmFsc2U7XHJcbi8vLyAgJGltLW5vLW1lZGlhLWJyZWFrcG9pbnQ6ICdkZXNrdG9wJztcclxuLy8vICAkaW0tbm8tbWVkaWEtZXhwcmVzc2lvbnM6ICgnc2NyZWVuJyk7XHJcbi8vLyAgQGluY2x1ZGUgbWVkaWEoJz49dGFibGV0JywgJ3NjcmVlbicpIHtcclxuLy8vICAgIC5mb28ge1xyXG4vLy8gICAgICBjb2xvcjogdG9tYXRvO1xyXG4vLy8gICAgfVxyXG4vLy8gIH1cclxuLy8vXHJcbi8vLyAgIC8qIEdlbmVyYXRlczogKi9cclxuLy8vICAgLmZvbyB7XHJcbi8vLyAgICAgY29sb3I6IHRvbWF0bztcclxuLy8vICAgfVxyXG4vLy9cclxuLy8vIEBleGFtcGxlIHNjc3MgLSBUaGlzIG1lZGlhIHF1ZXJ5IHdpbGwgTk9UIHNob3cgYmVjYXVzZSBpdCBpbnRlcmNlcHRzIHRoZSBzdGF0aWMgYnJlYWtwb2ludCBidXQgY29udGFpbnMgYSBtZWRpYSBleHByZXNzaW9uIHRoYXQgaXMgbm90IGFjY2VwdGVkXHJcbi8vLyAgJGltLW1lZGlhLXN1cHBvcnQ6IGZhbHNlO1xyXG4vLy8gICRpbS1uby1tZWRpYS1icmVha3BvaW50OiAnZGVza3RvcCc7XHJcbi8vLyAgJGltLW5vLW1lZGlhLWV4cHJlc3Npb25zOiAoJ3NjcmVlbicpO1xyXG4vLy8gIEBpbmNsdWRlIG1lZGlhKCc+PXRhYmxldCcsICdyZXRpbmEyeCcpIHtcclxuLy8vICAgIC5mb28ge1xyXG4vLy8gICAgICBjb2xvcjogdG9tYXRvO1xyXG4vLy8gICAgfVxyXG4vLy8gIH1cclxuLy8vXHJcbi8vLyAgLyogTm8gb3V0cHV0ICovXHJcbi8vL1xyXG4kaW0tbm8tbWVkaWEtZXhwcmVzc2lvbnM6ICgnc2NyZWVuJywgJ3BvcnRyYWl0JywgJ2xhbmRzY2FwZScpICFkZWZhdWx0O1xyXG5cclxuLy8vL1xyXG4vLy8gQ3Jvc3MtZW5naW5lIGxvZ2dpbmcgZW5naW5lXHJcbi8vLyBAYXV0aG9yIEtpdHR5IEdpcmF1ZGVsXHJcbi8vLyBAYWNjZXNzIHByaXZhdGVcclxuLy8vL1xyXG5cclxuXHJcbi8vL1xyXG4vLy8gTG9nIGEgbWVzc2FnZSBlaXRoZXIgd2l0aCBgQGVycm9yYCBpZiBzdXBwb3J0ZWRcclxuLy8vIGVsc2Ugd2l0aCBgQHdhcm5gLCB1c2luZyBgZmVhdHVyZS1leGlzdHMoJ2F0LWVycm9yJylgXHJcbi8vLyB0byBkZXRlY3Qgc3VwcG9ydC5cclxuLy8vXHJcbi8vLyBAcGFyYW0ge1N0cmluZ30gJG1lc3NhZ2UgLSBNZXNzYWdlIHRvIGxvZ1xyXG4vLy9cclxuQGZ1bmN0aW9uIGltLWxvZygkbWVzc2FnZSkge1xyXG4gIEBpZiBmZWF0dXJlLWV4aXN0cygnYXQtZXJyb3InKSB7XHJcbiAgICBAZXJyb3IgJG1lc3NhZ2U7XHJcbiAgfSBAZWxzZSB7XHJcbiAgICBAd2FybiAkbWVzc2FnZTtcclxuICAgICRfOiBub29wKCk7XHJcbiAgfVxyXG5cclxuICBAcmV0dXJuICRtZXNzYWdlO1xyXG59XHJcblxyXG5cclxuLy8vXHJcbi8vLyBXcmFwcGVyIG1peGluIGZvciB0aGUgbG9nIGZ1bmN0aW9uIHNvIGl0IGNhbiBiZSB1c2VkIHdpdGggYSBtb3JlIGZyaWVuZGx5XHJcbi8vLyBBUEkgdGhhbiBgQGlmIGltLWxvZygnLi4nKSB7fWAgb3IgYCRfOiBpbS1sb2coJy4uJylgLiBCYXNpY2FsbHksIHVzZSB0aGUgZnVuY3Rpb25cclxuLy8vIHdpdGhpbiBmdW5jdGlvbnMgYmVjYXVzZSBpdCBpcyBub3QgcG9zc2libGUgdG8gaW5jbHVkZSBhIG1peGluIGluIGEgZnVuY3Rpb25cclxuLy8vIGFuZCB1c2UgdGhlIG1peGluIGV2ZXJ5d2hlcmUgZWxzZSBiZWNhdXNlIGl0J3MgbXVjaCBtb3JlIGVsZWdhbnQuXHJcbi8vL1xyXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICRtZXNzYWdlIC0gTWVzc2FnZSB0byBsb2dcclxuLy8vXHJcbkBtaXhpbiBsb2coJG1lc3NhZ2UpIHtcclxuICBAaWYgaW0tbG9nKCRtZXNzYWdlKSB7fVxyXG59XHJcblxyXG5cclxuLy8vXHJcbi8vLyBGdW5jdGlvbiB3aXRoIG5vIGBAcmV0dXJuYCBjYWxsZWQgbmV4dCB0byBgQHdhcm5gIGluIFNhc3MgMy4zXHJcbi8vLyB0byB0cmlnZ2VyIGEgY29tcGlsaW5nIGVycm9yIGFuZCBzdG9wIHRoZSBwcm9jZXNzLlxyXG4vLy9cclxuQGZ1bmN0aW9uIG5vb3AoKSB7fVxyXG5cclxuLy8vXHJcbi8vLyBEZXRlcm1pbmVzIHdoZXRoZXIgYSBsaXN0IG9mIGNvbmRpdGlvbnMgaXMgaW50ZXJjZXB0ZWQgYnkgdGhlIHN0YXRpYyBicmVha3BvaW50LlxyXG4vLy9cclxuLy8vIEBwYXJhbSB7QXJnbGlzdH0gICAkY29uZGl0aW9ucyAgLSBNZWRpYSBxdWVyeSBjb25kaXRpb25zXHJcbi8vL1xyXG4vLy8gQHJldHVybiB7Qm9vbGVhbn0gLSBSZXR1cm5zIHRydWUgaWYgdGhlIGNvbmRpdGlvbnMgYXJlIGludGVyY2VwdGVkIGJ5IHRoZSBzdGF0aWMgYnJlYWtwb2ludFxyXG4vLy9cclxuQGZ1bmN0aW9uIGltLWludGVyY2VwdHMtc3RhdGljLWJyZWFrcG9pbnQoJGNvbmRpdGlvbnMuLi4pIHtcclxuICAkbm8tbWVkaWEtYnJlYWtwb2ludC12YWx1ZTogbWFwLWdldCgkYnJlYWtwb2ludHMsICRpbS1uby1tZWRpYS1icmVha3BvaW50KTtcclxuXHJcbiAgQGlmIG5vdCAkbm8tbWVkaWEtYnJlYWtwb2ludC12YWx1ZSB7XHJcbiAgICBAaWYgaW0tbG9nKCdgI3skaW0tbm8tbWVkaWEtYnJlYWtwb2ludH1gIGlzIG5vdCBhIHZhbGlkIGJyZWFrcG9pbnQuJykge31cclxuICB9XHJcblxyXG4gIEBlYWNoICRjb25kaXRpb24gaW4gJGNvbmRpdGlvbnMge1xyXG4gICAgQGlmIG5vdCBtYXAtaGFzLWtleSgkbWVkaWEtZXhwcmVzc2lvbnMsICRjb25kaXRpb24pIHtcclxuICAgICAgJG9wZXJhdG9yOiBnZXQtZXhwcmVzc2lvbi1vcGVyYXRvcigkY29uZGl0aW9uKTtcclxuICAgICAgJHByZWZpeDogZ2V0LWV4cHJlc3Npb24tcHJlZml4KCRvcGVyYXRvcik7XHJcbiAgICAgICR2YWx1ZTogZ2V0LWV4cHJlc3Npb24tdmFsdWUoJGNvbmRpdGlvbiwgJG9wZXJhdG9yKTtcclxuXHJcbiAgICAgIEBpZiAoJHByZWZpeCA9PSAnbWF4JyBhbmQgJHZhbHVlIDw9ICRuby1tZWRpYS1icmVha3BvaW50LXZhbHVlKSBvclxyXG4gICAgICAgICAgKCRwcmVmaXggPT0gJ21pbicgYW5kICR2YWx1ZSA+ICRuby1tZWRpYS1icmVha3BvaW50LXZhbHVlKSB7XHJcbiAgICAgICAgQHJldHVybiBmYWxzZTtcclxuICAgICAgfVxyXG4gICAgfSBAZWxzZSBpZiBub3QgaW5kZXgoJGltLW5vLW1lZGlhLWV4cHJlc3Npb25zLCAkY29uZGl0aW9uKSB7XHJcbiAgICAgIEByZXR1cm4gZmFsc2U7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBAcmV0dXJuIHRydWU7XHJcbn1cclxuXHJcbi8vLy9cclxuLy8vIFBhcnNpbmcgZW5naW5lXHJcbi8vLyBAYXV0aG9yIEtpdHR5IEdpcmF1ZGVsXHJcbi8vLyBAYWNjZXNzIHByaXZhdGVcclxuLy8vL1xyXG5cclxuXHJcbi8vL1xyXG4vLy8gR2V0IG9wZXJhdG9yIG9mIGFuIGV4cHJlc3Npb25cclxuLy8vXHJcbi8vLyBAcGFyYW0ge1N0cmluZ30gJGV4cHJlc3Npb24gLSBFeHByZXNzaW9uIHRvIGV4dHJhY3Qgb3BlcmF0b3IgZnJvbVxyXG4vLy9cclxuLy8vIEByZXR1cm4ge1N0cmluZ30gLSBBbnkgb2YgYD49YCwgYD5gLCBgPD1gLCBgPGAsIGDiiaVgLCBg4omkYFxyXG4vLy9cclxuQGZ1bmN0aW9uIGdldC1leHByZXNzaW9uLW9wZXJhdG9yKCRleHByZXNzaW9uKSB7XHJcbiAgQGVhY2ggJG9wZXJhdG9yIGluICgnPj0nLCAnPicsICc8PScsICc8JywgJ+KJpScsICfiiaQnKSB7XHJcbiAgICBAaWYgc3RyLWluZGV4KCRleHByZXNzaW9uLCAkb3BlcmF0b3IpIHtcclxuICAgICAgQHJldHVybiAkb3BlcmF0b3I7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAvLyBJdCBpcyBub3QgcG9zc2libGUgdG8gaW5jbHVkZSBhIG1peGluIGluc2lkZSBhIGZ1bmN0aW9uLCBzbyB3ZSBoYXZlIHRvXHJcbiAgLy8gcmVseSBvbiB0aGUgYGltLWxvZyguLilgIGZ1bmN0aW9uIHJhdGhlciB0aGFuIHRoZSBgbG9nKC4uKWAgbWl4aW4uIEJlY2F1c2VcclxuICAvLyBmdW5jdGlvbnMgY2Fubm90IGJlIGNhbGxlZCBhbnl3aGVyZSBpbiBTYXNzLCB3ZSBuZWVkIHRvIGhhY2sgdGhlIGNhbGwgaW5cclxuICAvLyBhIGR1bW15IHZhcmlhYmxlLCBzdWNoIGFzIGAkX2AuIElmIGFueWJvZHkgZXZlciByYWlzZSBhIHNjb3BpbmcgaXNzdWUgd2l0aFxyXG4gIC8vIFNhc3MgMy4zLCBjaGFuZ2UgdGhpcyBsaW5lIGluIGBAaWYgaW0tbG9nKC4uKSB7fWAgaW5zdGVhZC5cclxuICAkXzogaW0tbG9nKCdObyBvcGVyYXRvciBmb3VuZCBpbiBgI3skZXhwcmVzc2lvbn1gLicpO1xyXG59XHJcblxyXG5cclxuLy8vXHJcbi8vLyBHZXQgZGltZW5zaW9uIG9mIGFuIGV4cHJlc3Npb24sIGJhc2VkIG9uIGEgZm91bmQgb3BlcmF0b3JcclxuLy8vXHJcbi8vLyBAcGFyYW0ge1N0cmluZ30gJGV4cHJlc3Npb24gLSBFeHByZXNzaW9uIHRvIGV4dHJhY3QgZGltZW5zaW9uIGZyb21cclxuLy8vIEBwYXJhbSB7U3RyaW5nfSAkb3BlcmF0b3IgLSBPcGVyYXRvciBmcm9tIGAkZXhwcmVzc2lvbmBcclxuLy8vXHJcbi8vLyBAcmV0dXJuIHtTdHJpbmd9IC0gYHdpZHRoYCBvciBgaGVpZ2h0YCAob3IgcG90ZW50aWFsbHkgYW55dGhpbmcgZWxzZSlcclxuLy8vXHJcbkBmdW5jdGlvbiBnZXQtZXhwcmVzc2lvbi1kaW1lbnNpb24oJGV4cHJlc3Npb24sICRvcGVyYXRvcikge1xyXG4gICRvcGVyYXRvci1pbmRleDogc3RyLWluZGV4KCRleHByZXNzaW9uLCAkb3BlcmF0b3IpO1xyXG4gICRwYXJzZWQtZGltZW5zaW9uOiBzdHItc2xpY2UoJGV4cHJlc3Npb24sIDAsICRvcGVyYXRvci1pbmRleCAtIDEpO1xyXG4gICRkaW1lbnNpb246ICd3aWR0aCc7XHJcblxyXG4gIEBpZiBzdHItbGVuZ3RoKCRwYXJzZWQtZGltZW5zaW9uKSA+IDAge1xyXG4gICAgJGRpbWVuc2lvbjogJHBhcnNlZC1kaW1lbnNpb247XHJcbiAgfVxyXG5cclxuICBAcmV0dXJuICRkaW1lbnNpb247XHJcbn1cclxuXHJcblxyXG4vLy9cclxuLy8vIEdldCBkaW1lbnNpb24gcHJlZml4IGJhc2VkIG9uIGFuIG9wZXJhdG9yXHJcbi8vL1xyXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICRvcGVyYXRvciAtIE9wZXJhdG9yXHJcbi8vL1xyXG4vLy8gQHJldHVybiB7U3RyaW5nfSAtIGBtaW5gIG9yIGBtYXhgXHJcbi8vL1xyXG5AZnVuY3Rpb24gZ2V0LWV4cHJlc3Npb24tcHJlZml4KCRvcGVyYXRvcikge1xyXG4gIEByZXR1cm4gaWYoaW5kZXgoKCc8JywgJzw9JywgJ+KJpCcpLCAkb3BlcmF0b3IpLCAnbWF4JywgJ21pbicpO1xyXG59XHJcblxyXG5cclxuLy8vXHJcbi8vLyBHZXQgdmFsdWUgb2YgYW4gZXhwcmVzc2lvbiwgYmFzZWQgb24gYSBmb3VuZCBvcGVyYXRvclxyXG4vLy9cclxuLy8vIEBwYXJhbSB7U3RyaW5nfSAkZXhwcmVzc2lvbiAtIEV4cHJlc3Npb24gdG8gZXh0cmFjdCB2YWx1ZSBmcm9tXHJcbi8vLyBAcGFyYW0ge1N0cmluZ30gJG9wZXJhdG9yIC0gT3BlcmF0b3IgZnJvbSBgJGV4cHJlc3Npb25gXHJcbi8vL1xyXG4vLy8gQHJldHVybiB7TnVtYmVyfSAtIEEgbnVtZXJpYyB2YWx1ZVxyXG4vLy9cclxuQGZ1bmN0aW9uIGdldC1leHByZXNzaW9uLXZhbHVlKCRleHByZXNzaW9uLCAkb3BlcmF0b3IpIHtcclxuICAkb3BlcmF0b3ItaW5kZXg6IHN0ci1pbmRleCgkZXhwcmVzc2lvbiwgJG9wZXJhdG9yKTtcclxuICAkdmFsdWU6IHN0ci1zbGljZSgkZXhwcmVzc2lvbiwgJG9wZXJhdG9yLWluZGV4ICsgc3RyLWxlbmd0aCgkb3BlcmF0b3IpKTtcclxuXHJcbiAgQGlmIG1hcC1oYXMta2V5KCRicmVha3BvaW50cywgJHZhbHVlKSB7XHJcbiAgICAkdmFsdWU6IG1hcC1nZXQoJGJyZWFrcG9pbnRzLCAkdmFsdWUpO1xyXG4gIH0gQGVsc2Uge1xyXG4gICAgJHZhbHVlOiB0by1udW1iZXIoJHZhbHVlKTtcclxuICB9XHJcblxyXG4gICRpbnRlcnZhbDogbWFwLWdldCgkdW5pdC1pbnRlcnZhbHMsIHVuaXQoJHZhbHVlKSk7XHJcblxyXG4gIEBpZiBub3QgJGludGVydmFsIHtcclxuICAgIC8vIEl0IGlzIG5vdCBwb3NzaWJsZSB0byBpbmNsdWRlIGEgbWl4aW4gaW5zaWRlIGEgZnVuY3Rpb24sIHNvIHdlIGhhdmUgdG9cclxuICAgIC8vIHJlbHkgb24gdGhlIGBpbS1sb2coLi4pYCBmdW5jdGlvbiByYXRoZXIgdGhhbiB0aGUgYGxvZyguLilgIG1peGluLiBCZWNhdXNlXHJcbiAgICAvLyBmdW5jdGlvbnMgY2Fubm90IGJlIGNhbGxlZCBhbnl3aGVyZSBpbiBTYXNzLCB3ZSBuZWVkIHRvIGhhY2sgdGhlIGNhbGwgaW5cclxuICAgIC8vIGEgZHVtbXkgdmFyaWFibGUsIHN1Y2ggYXMgYCRfYC4gSWYgYW55Ym9keSBldmVyIHJhaXNlIGEgc2NvcGluZyBpc3N1ZSB3aXRoXHJcbiAgICAvLyBTYXNzIDMuMywgY2hhbmdlIHRoaXMgbGluZSBpbiBgQGlmIGltLWxvZyguLikge31gIGluc3RlYWQuXHJcbiAgICAkXzogaW0tbG9nKCdVbmtub3duIHVuaXQgYCN7dW5pdCgkdmFsdWUpfWAuJyk7XHJcbiAgfVxyXG5cclxuICBAaWYgJG9wZXJhdG9yID09ICc+JyB7XHJcbiAgICAkdmFsdWU6ICR2YWx1ZSArICRpbnRlcnZhbDtcclxuICB9IEBlbHNlIGlmICRvcGVyYXRvciA9PSAnPCcge1xyXG4gICAgJHZhbHVlOiAkdmFsdWUgLSAkaW50ZXJ2YWw7XHJcbiAgfVxyXG5cclxuICBAcmV0dXJuICR2YWx1ZTtcclxufVxyXG5cclxuXHJcbi8vL1xyXG4vLy8gUGFyc2UgYW4gZXhwcmVzc2lvbiB0byByZXR1cm4gYSB2YWxpZCBtZWRpYS1xdWVyeSBleHByZXNzaW9uXHJcbi8vL1xyXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICRleHByZXNzaW9uIC0gRXhwcmVzc2lvbiB0byBwYXJzZVxyXG4vLy9cclxuLy8vIEByZXR1cm4ge1N0cmluZ30gLSBWYWxpZCBtZWRpYSBxdWVyeVxyXG4vLy9cclxuQGZ1bmN0aW9uIHBhcnNlLWV4cHJlc3Npb24oJGV4cHJlc3Npb24pIHtcclxuICAvLyBJZiBpdCBpcyBwYXJ0IG9mICRtZWRpYS1leHByZXNzaW9ucywgaXQgaGFzIG5vIG9wZXJhdG9yXHJcbiAgLy8gdGhlbiB0aGVyZSBpcyBubyBuZWVkIHRvIGdvIGFueSBmdXJ0aGVyLCBqdXN0IHJldHVybiB0aGUgdmFsdWVcclxuICBAaWYgbWFwLWhhcy1rZXkoJG1lZGlhLWV4cHJlc3Npb25zLCAkZXhwcmVzc2lvbikge1xyXG4gICAgQHJldHVybiBtYXAtZ2V0KCRtZWRpYS1leHByZXNzaW9ucywgJGV4cHJlc3Npb24pO1xyXG4gIH1cclxuXHJcbiAgJG9wZXJhdG9yOiBnZXQtZXhwcmVzc2lvbi1vcGVyYXRvcigkZXhwcmVzc2lvbik7XHJcbiAgJGRpbWVuc2lvbjogZ2V0LWV4cHJlc3Npb24tZGltZW5zaW9uKCRleHByZXNzaW9uLCAkb3BlcmF0b3IpO1xyXG4gICRwcmVmaXg6IGdldC1leHByZXNzaW9uLXByZWZpeCgkb3BlcmF0b3IpO1xyXG4gICR2YWx1ZTogZ2V0LWV4cHJlc3Npb24tdmFsdWUoJGV4cHJlc3Npb24sICRvcGVyYXRvcik7XHJcblxyXG4gIEByZXR1cm4gJygjeyRwcmVmaXh9LSN7JGRpbWVuc2lvbn06ICN7JHZhbHVlfSknO1xyXG59XHJcblxyXG4vLy9cclxuLy8vIFNsaWNlIGAkbGlzdGAgYmV0d2VlbiBgJHN0YXJ0YCBhbmQgYCRlbmRgIGluZGV4ZXNcclxuLy8vXHJcbi8vLyBAYWNjZXNzIHByaXZhdGVcclxuLy8vXHJcbi8vLyBAcGFyYW0ge0xpc3R9ICRsaXN0IC0gTGlzdCB0byBzbGljZVxyXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRzdGFydCBbMV0gLSBTdGFydCBpbmRleFxyXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRlbmQgW2xlbmd0aCgkbGlzdCldIC0gRW5kIGluZGV4XHJcbi8vL1xyXG4vLy8gQHJldHVybiB7TGlzdH0gU2xpY2VkIGxpc3RcclxuLy8vXHJcbkBmdW5jdGlvbiBzbGljZSgkbGlzdCwgJHN0YXJ0OiAxLCAkZW5kOiBsZW5ndGgoJGxpc3QpKSB7XHJcbiAgQGlmIGxlbmd0aCgkbGlzdCkgPCAxIG9yICRzdGFydCA+ICRlbmQge1xyXG4gICAgQHJldHVybiAoKTtcclxuICB9XHJcblxyXG4gICRyZXN1bHQ6ICgpO1xyXG5cclxuICBAZm9yICRpIGZyb20gJHN0YXJ0IHRocm91Z2ggJGVuZCB7XHJcbiAgICAkcmVzdWx0OiBhcHBlbmQoJHJlc3VsdCwgbnRoKCRsaXN0LCAkaSkpO1xyXG4gIH1cclxuXHJcbiAgQHJldHVybiAkcmVzdWx0O1xyXG59XHJcblxyXG4vLy8vXHJcbi8vLyBTdHJpbmcgdG8gbnVtYmVyIGNvbnZlcnRlclxyXG4vLy8gQGF1dGhvciBLaXR0eSBHaXJhdWRlbFxyXG4vLy8gQGFjY2VzcyBwcml2YXRlXHJcbi8vLy9cclxuXHJcblxyXG4vLy9cclxuLy8vIENhc3RzIGEgc3RyaW5nIGludG8gYSBudW1iZXJcclxuLy8vXHJcbi8vLyBAcGFyYW0ge1N0cmluZyB8IE51bWJlcn0gJHZhbHVlIC0gVmFsdWUgdG8gYmUgcGFyc2VkXHJcbi8vL1xyXG4vLy8gQHJldHVybiB7TnVtYmVyfVxyXG4vLy9cclxuQGZ1bmN0aW9uIHRvLW51bWJlcigkdmFsdWUpIHtcclxuICBAaWYgdHlwZS1vZigkdmFsdWUpID09ICdudW1iZXInIHtcclxuICAgIEByZXR1cm4gJHZhbHVlO1xyXG4gIH0gQGVsc2UgaWYgdHlwZS1vZigkdmFsdWUpICE9ICdzdHJpbmcnIHtcclxuICAgICRfOiBpbS1sb2coJ1ZhbHVlIGZvciBgdG8tbnVtYmVyYCBzaG91bGQgYmUgYSBudW1iZXIgb3IgYSBzdHJpbmcuJyk7XHJcbiAgfVxyXG5cclxuICAkZmlyc3QtY2hhcmFjdGVyOiBzdHItc2xpY2UoJHZhbHVlLCAxLCAxKTtcclxuICAkcmVzdWx0OiAwO1xyXG4gICRkaWdpdHM6IDA7XHJcbiAgJG1pbnVzOiAoJGZpcnN0LWNoYXJhY3RlciA9PSAnLScpO1xyXG4gICRudW1iZXJzOiAoJzAnOiAwLCAnMSc6IDEsICcyJzogMiwgJzMnOiAzLCAnNCc6IDQsICc1JzogNSwgJzYnOiA2LCAnNyc6IDcsICc4JzogOCwgJzknOiA5KTtcclxuXHJcbiAgLy8gUmVtb3ZlICsvLSBzaWduIGlmIHByZXNlbnQgYXQgZmlyc3QgY2hhcmFjdGVyXHJcbiAgQGlmICgkZmlyc3QtY2hhcmFjdGVyID09ICcrJyBvciAkZmlyc3QtY2hhcmFjdGVyID09ICctJykge1xyXG4gICAgJHZhbHVlOiBzdHItc2xpY2UoJHZhbHVlLCAyKTtcclxuICB9XHJcblxyXG4gIEBmb3IgJGkgZnJvbSAxIHRocm91Z2ggc3RyLWxlbmd0aCgkdmFsdWUpIHtcclxuICAgICRjaGFyYWN0ZXI6IHN0ci1zbGljZSgkdmFsdWUsICRpLCAkaSk7XHJcblxyXG4gICAgQGlmIG5vdCAoaW5kZXgobWFwLWtleXMoJG51bWJlcnMpLCAkY2hhcmFjdGVyKSBvciAkY2hhcmFjdGVyID09ICcuJykge1xyXG4gICAgICBAcmV0dXJuIHRvLWxlbmd0aChpZigkbWludXMsIC0kcmVzdWx0LCAkcmVzdWx0KSwgc3RyLXNsaWNlKCR2YWx1ZSwgJGkpKVxyXG4gICAgfVxyXG5cclxuICAgIEBpZiAkY2hhcmFjdGVyID09ICcuJyB7XHJcbiAgICAgICRkaWdpdHM6IDE7XHJcbiAgICB9IEBlbHNlIGlmICRkaWdpdHMgPT0gMCB7XHJcbiAgICAgICRyZXN1bHQ6ICRyZXN1bHQgKiAxMCArIG1hcC1nZXQoJG51bWJlcnMsICRjaGFyYWN0ZXIpO1xyXG4gICAgfSBAZWxzZSB7XHJcbiAgICAgICRkaWdpdHM6ICRkaWdpdHMgKiAxMDtcclxuICAgICAgJHJlc3VsdDogJHJlc3VsdCArIG1hcC1nZXQoJG51bWJlcnMsICRjaGFyYWN0ZXIpIC8gJGRpZ2l0cztcclxuICAgIH1cclxuICB9XHJcblxyXG4gIEByZXR1cm4gaWYoJG1pbnVzLCAtJHJlc3VsdCwgJHJlc3VsdCk7XHJcbn1cclxuXHJcblxyXG4vLy9cclxuLy8vIEFkZCBgJHVuaXRgIHRvIGAkdmFsdWVgXHJcbi8vL1xyXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICR2YWx1ZSAtIFZhbHVlIHRvIGFkZCB1bml0IHRvXHJcbi8vLyBAcGFyYW0ge1N0cmluZ30gJHVuaXQgLSBTdHJpbmcgcmVwcmVzZW50YXRpb24gb2YgdGhlIHVuaXRcclxuLy8vXHJcbi8vLyBAcmV0dXJuIHtOdW1iZXJ9IC0gYCR2YWx1ZWAgZXhwcmVzc2VkIGluIGAkdW5pdGBcclxuLy8vXHJcbkBmdW5jdGlvbiB0by1sZW5ndGgoJHZhbHVlLCAkdW5pdCkge1xyXG4gICR1bml0czogKCdweCc6IDFweCwgJ2NtJzogMWNtLCAnbW0nOiAxbW0sICclJzogMSUsICdjaCc6IDFjaCwgJ3BjJzogMXBjLCAnaW4nOiAxaW4sICdlbSc6IDFlbSwgJ3JlbSc6IDFyZW0sICdwdCc6IDFwdCwgJ2V4JzogMWV4LCAndncnOiAxdncsICd2aCc6IDF2aCwgJ3ZtaW4nOiAxdm1pbiwgJ3ZtYXgnOiAxdm1heCk7XHJcblxyXG4gIEBpZiBub3QgaW5kZXgobWFwLWtleXMoJHVuaXRzKSwgJHVuaXQpIHtcclxuICAgICRfOiBpbS1sb2coJ0ludmFsaWQgdW5pdCBgI3skdW5pdH1gLicpO1xyXG4gIH1cclxuXHJcbiAgQHJldHVybiAkdmFsdWUgKiBtYXAtZ2V0KCR1bml0cywgJHVuaXQpO1xyXG59XHJcblxyXG4vLy9cclxuLy8vIFRoaXMgbWl4aW4gYWltcyBhdCByZWRlZmluaW5nIHRoZSBjb25maWd1cmF0aW9uIGp1c3QgZm9yIHRoZSBzY29wZSBvZlxyXG4vLy8gdGhlIGNhbGwuIEl0IGlzIGhlbHBmdWwgd2hlbiBoYXZpbmcgYSBjb21wb25lbnQgbmVlZGluZyBhbiBleHRlbmRlZFxyXG4vLy8gY29uZmlndXJhdGlvbiBzdWNoIGFzIGN1c3RvbSBicmVha3BvaW50cyAocmVmZXJyZWQgdG8gYXMgdHdlYWtwb2ludHMpXHJcbi8vLyBmb3IgaW5zdGFuY2UuXHJcbi8vL1xyXG4vLy8gQGF1dGhvciBLaXR0eSBHaXJhdWRlbFxyXG4vLy9cclxuLy8vIEBwYXJhbSB7TWFwfSAkdHdlYWtwb2ludHMgWygpXSAtIE1hcCBvZiB0d2Vha3BvaW50cyB0byBiZSBtZXJnZWQgd2l0aCBgJGJyZWFrcG9pbnRzYFxyXG4vLy8gQHBhcmFtIHtNYXB9ICR0d2Vhay1tZWRpYS1leHByZXNzaW9ucyBbKCldIC0gTWFwIG9mIHR3ZWFrZWQgbWVkaWEgZXhwcmVzc2lvbnMgdG8gYmUgbWVyZ2VkIHdpdGggYCRtZWRpYS1leHByZXNzaW9uYFxyXG4vLy9cclxuLy8vIEBleGFtcGxlIHNjc3MgLSBFeHRlbmQgdGhlIGdsb2JhbCBicmVha3BvaW50cyB3aXRoIGEgdHdlYWtwb2ludFxyXG4vLy8gIEBpbmNsdWRlIG1lZGlhLWNvbnRleHQoKCdjdXN0b20nOiA2NzhweCkpIHtcclxuLy8vICAgIC5mb28ge1xyXG4vLy8gICAgICBAaW5jbHVkZSBtZWRpYSgnPnBob25lJywgJzw9Y3VzdG9tJykge1xyXG4vLy8gICAgICAgLy8gLi4uXHJcbi8vLyAgICAgIH1cclxuLy8vICAgIH1cclxuLy8vICB9XHJcbi8vL1xyXG4vLy8gQGV4YW1wbGUgc2NzcyAtIEV4dGVuZCB0aGUgZ2xvYmFsIG1lZGlhIGV4cHJlc3Npb25zIHdpdGggYSBjdXN0b20gb25lXHJcbi8vLyAgQGluY2x1ZGUgbWVkaWEtY29udGV4dCgkdHdlYWstbWVkaWEtZXhwcmVzc2lvbnM6ICgnYWxsJzogJ2FsbCcpKSB7XHJcbi8vLyAgICAuZm9vIHtcclxuLy8vICAgICAgQGluY2x1ZGUgbWVkaWEoJ2FsbCcsICc+cGhvbmUnKSB7XHJcbi8vLyAgICAgICAvLyAuLi5cclxuLy8vICAgICAgfVxyXG4vLy8gICAgfVxyXG4vLy8gIH1cclxuLy8vXHJcbi8vLyBAZXhhbXBsZSBzY3NzIC0gRXh0ZW5kIGJvdGggY29uZmlndXJhdGlvbiBtYXBzXHJcbi8vLyAgQGluY2x1ZGUgbWVkaWEtY29udGV4dCgoJ2N1c3RvbSc6IDY3OHB4KSwgKCdhbGwnOiAnYWxsJykpIHtcclxuLy8vICAgIC5mb28ge1xyXG4vLy8gICAgICBAaW5jbHVkZSBtZWRpYSgnYWxsJywgJz5waG9uZScsICc8PWN1c3RvbScpIHtcclxuLy8vICAgICAgIC8vIC4uLlxyXG4vLy8gICAgICB9XHJcbi8vLyAgICB9XHJcbi8vLyAgfVxyXG4vLy9cclxuQG1peGluIG1lZGlhLWNvbnRleHQoJHR3ZWFrcG9pbnRzOiAoKSwgJHR3ZWFrLW1lZGlhLWV4cHJlc3Npb25zOiAoKSkge1xyXG4gIC8vIFNhdmUgZ2xvYmFsIGNvbmZpZ3VyYXRpb25cclxuICAkZ2xvYmFsLWJyZWFrcG9pbnRzOiAkYnJlYWtwb2ludHM7XHJcbiAgJGdsb2JhbC1tZWRpYS1leHByZXNzaW9uczogJG1lZGlhLWV4cHJlc3Npb25zO1xyXG5cclxuICAvLyBVcGRhdGUgZ2xvYmFsIGNvbmZpZ3VyYXRpb25cclxuICAkYnJlYWtwb2ludHM6IG1hcC1tZXJnZSgkYnJlYWtwb2ludHMsICR0d2Vha3BvaW50cykgIWdsb2JhbDtcclxuICAkbWVkaWEtZXhwcmVzc2lvbnM6IG1hcC1tZXJnZSgkbWVkaWEtZXhwcmVzc2lvbnMsICR0d2Vhay1tZWRpYS1leHByZXNzaW9ucykgIWdsb2JhbDtcclxuXHJcbiAgQGNvbnRlbnQ7XHJcblxyXG4gIC8vIFJlc3RvcmUgZ2xvYmFsIGNvbmZpZ3VyYXRpb25cclxuICAkYnJlYWtwb2ludHM6ICRnbG9iYWwtYnJlYWtwb2ludHMgIWdsb2JhbDtcclxuICAkbWVkaWEtZXhwcmVzc2lvbnM6ICRnbG9iYWwtbWVkaWEtZXhwcmVzc2lvbnMgIWdsb2JhbDtcclxufVxyXG5cclxuLy8vL1xyXG4vLy8gaW5jbHVkZS1tZWRpYSBwdWJsaWMgZXhwb3NlZCBBUElcclxuLy8vIEBhdXRob3IgRWR1YXJkbyBCb3VjYXNcclxuLy8vIEBhY2Nlc3MgcHVibGljXHJcbi8vLy9cclxuXHJcblxyXG4vLy9cclxuLy8vIEdlbmVyYXRlcyBhIG1lZGlhIHF1ZXJ5IGJhc2VkIG9uIGEgbGlzdCBvZiBjb25kaXRpb25zXHJcbi8vL1xyXG4vLy8gQHBhcmFtIHtBcmdsaXN0fSAgICRjb25kaXRpb25zICAtIE1lZGlhIHF1ZXJ5IGNvbmRpdGlvbnNcclxuLy8vXHJcbi8vLyBAZXhhbXBsZSBzY3NzIC0gV2l0aCBhIHNpbmdsZSBzZXQgYnJlYWtwb2ludFxyXG4vLy8gIEBpbmNsdWRlIG1lZGlhKCc+cGhvbmUnKSB7IH1cclxuLy8vXHJcbi8vLyBAZXhhbXBsZSBzY3NzIC0gV2l0aCB0d28gc2V0IGJyZWFrcG9pbnRzXHJcbi8vLyAgQGluY2x1ZGUgbWVkaWEoJz5waG9uZScsICc8PXRhYmxldCcpIHsgfVxyXG4vLy9cclxuLy8vIEBleGFtcGxlIHNjc3MgLSBXaXRoIGN1c3RvbSB2YWx1ZXNcclxuLy8vICBAaW5jbHVkZSBtZWRpYSgnPj0zNThweCcsICc8ODUwcHgnKSB7IH1cclxuLy8vXHJcbi8vLyBAZXhhbXBsZSBzY3NzIC0gV2l0aCBzZXQgYnJlYWtwb2ludHMgd2l0aCBjdXN0b20gdmFsdWVzXHJcbi8vLyAgQGluY2x1ZGUgbWVkaWEoJz5kZXNrdG9wJywgJzw9MTM1MHB4JykgeyB9XHJcbi8vL1xyXG4vLy8gQGV4YW1wbGUgc2NzcyAtIFdpdGggYSBzdGF0aWMgZXhwcmVzc2lvblxyXG4vLy8gIEBpbmNsdWRlIG1lZGlhKCdyZXRpbmEyeCcpIHsgfVxyXG4vLy9cclxuLy8vIEBleGFtcGxlIHNjc3MgLSBNaXhpbmcgZXZlcnl0aGluZ1xyXG4vLy8gIEBpbmNsdWRlIG1lZGlhKCc+PTM1MHB4JywgJzx0YWJsZXQnLCAncmV0aW5hM3gnKSB7IH1cclxuLy8vXHJcbkBtaXhpbiBtZWRpYSgkY29uZGl0aW9ucy4uLikge1xyXG4gIEBpZiAoJGltLW1lZGlhLXN1cHBvcnQgYW5kIGxlbmd0aCgkY29uZGl0aW9ucykgPT0gMCkgb3JcclxuICAgICAgKG5vdCAkaW0tbWVkaWEtc3VwcG9ydCBhbmQgaW0taW50ZXJjZXB0cy1zdGF0aWMtYnJlYWtwb2ludCgkY29uZGl0aW9ucy4uLikpIHtcclxuICAgIEBjb250ZW50O1xyXG4gIH0gQGVsc2UgaWYgKCRpbS1tZWRpYS1zdXBwb3J0IGFuZCBsZW5ndGgoJGNvbmRpdGlvbnMpID4gMCkge1xyXG4gICAgQG1lZGlhICN7dW5xdW90ZShwYXJzZS1leHByZXNzaW9uKG50aCgkY29uZGl0aW9ucywgMSkpKX0ge1xyXG4gICAgICAvLyBSZWN1cnNpdmUgY2FsbFxyXG4gICAgICBAaW5jbHVkZSBtZWRpYShzbGljZSgkY29uZGl0aW9ucywgMikuLi4pIHtcclxuICAgICAgICBAY29udGVudDtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxufVxyXG4iLCIvKipcbiogR2xvYmFsIHN0eWxlc1xuKi9cblxuKiB7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7IC8vIGNvbnNpc3RlbnQgYm94LXNpemluZyBmb3IgYWxsIGVsZW1lbnRzXG59XG5cbmh0bWwge1xuICBoZWlnaHQ6IDEwMCU7IC8vIGZvciBzdGlja3kgZm9vdGVyXG4gIGZvbnQtc2l6ZTogMTAwJTsgLy8gc2V0IHJvb3QgZm9udC1zaXplIGZvciByZW0gdW5pdHMgKDEwMCUgZXF1YXRlcyB0byAxNnB4KVxuICBsaW5lLWhlaWdodDogMS43OyAvLyBzZXQgZGVmYXVsdCBsaW5lIGhlaWdodFxufVxuXG5ib2R5IHtcbiAgbWluLWhlaWdodDogMTAwJTsgLy8gZm9yIHN0aWNreSBmb290ZXJcbiAgZGlzcGxheTogZ3JpZDsgLy8gZm9yIHN0aWNreSBmb290ZXJcbiAgZ3JpZC10ZW1wbGF0ZS1yb3dzOiBhdXRvIDFmciBhdXRvOyAvLyBmb3Igc3RpY2t5IGZvb3RlclxuICBtYXJnaW46IDA7IC8vIG1ha2Ugc3VyZSBib2R5IGVsZW1lbnQgaXMgZWRnZS10by1lZGdlXG4gIGJhY2tncm91bmQtY29sb3I6ICRib2R5Q29sb3I7XG4gIGNvbG9yOiAkZm9udENvbG9yO1xuICAvL2ZvbnQtZmFtaWx5OiBcIlJvYm90b1wiLCBzYW5zLXNlcmlmO1xuICBmb250LWZhbWlseTogJ01vbnRzZXJyYXQnLCBzYW5zLXNlcmlmO1xufVxuXG5oMSwgaDIsIGgzLCBoNCwgaDUsIGg2IHtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XG59XG5cbmgxIHtcbiAgbWFyZ2luLXRvcDogMDtcbiAgbWFyZ2luLWJvdHRvbTogMS40cmVtO1xuICBmb250LXNpemU6IDIuMnJlbTtcbn1cblxuaDIge1xuXG4gIG1hcmdpbi10b3A6IDA7XG4gIG1hcmdpbi1ib3R0b206IDEuM3JlbTtcbiAgZm9udC1zaXplOiAxLjhyZW07XG4gIGZvbnQtd2VpZ2h0OiA2MDA7XG4gIC8vdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgLy9mb250LXNpemU6IDIuNXJlbTtcbiAgbGluZS1oZWlnaHQ6IDEuMTU5MDllbTtcbn1cblxuaDMge1xuXG4gIG1hcmdpbi10b3A6IDA7XG4gIG1hcmdpbi1ib3R0b206IDFyZW07XG4gIC8vbWFyZ2luLWJvdHRvbTogMDtcbiAgLy90ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAvL2ZvbnQtc2l6ZTogMi4ycmVtO1xuICBsaW5lLWhlaWdodDogMS4xNTkwOWVtO1xuICBmb250LXNpemU6IDEuNnJlbTtcbn1cblxuaDQge1xuICBtYXJnaW4tdG9wOiAwO1xuICBmb250LXNpemU6IDEuNHJlbTtcbiAgbWFyZ2luLWJvdHRvbTogMXJlbTtcbn1cblxuaDUge1xuICBtYXJnaW4tdG9wOiAwO1xuICBmb250LXNpemU6IDEuM3JlbTtcbiAgbWFyZ2luLWJvdHRvbTogMXJlbTtcbn1cblxuaDYge1xuICBtYXJnaW4tdG9wOiAwO1xuICBmb250LXNpemU6IDEuMnJlbTtcbiAgbWFyZ2luLWJvdHRvbTogMXJlbTtcbn1cblxucCB7XG4gIG1hcmdpbjogMDtcbiAgcGFkZGluZy1ib3R0b206IDA7XG4gIGZvbnQtc2l6ZTogMS4xcmVtO1xuICBmb250LXdlaWdodDogNDAwO1xuICBsaW5lLWhlaWdodDogMS41O1xufVxuXG5hIHtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICBjb2xvcjogJGxpbmtDb2xvcjtcblxuICAmOmxpbmsge1xuXG4gIH1cblxuICAmOmhvdmVyIHtcblxuICB9XG5cbiAgJjphY3RpdmUge1xuXG4gIH1cblxuICAmOnZpc2l0ZWQge1xuXG4gIH1cbn1cblxuOmZvY3VzIHtcbi8vICBvdXRsaW5lOiAzcHggc29saWQgb3JhbmdlO1xufVxuXG51bCwgb2wge1xuICBtYXJnaW46IDA7XG4gIHBhZGRpbmc6IDA7XG4gIGxpc3Qtc3R5bGUtcG9zaXRpb246IGluc2lkZTtcbn1cblxuaW1nIHtcblxufVxuXG4vKiBiZWdpbiBidXR0b24gc3R5bGVzICovXG5idXR0b24ge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIGJvcmRlcjogbm9uZTtcbiAgLy9wYWRkaW5nOiAxcmVtIDJyZW07XG4gIHBhZGRpbmc6IDA7XG4gIG1hcmdpbjogMDtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICBiYWNrZ3JvdW5kOiBub25lO1xuICAvL2JhY2tncm91bmQ6ICMwMDY5ZWQ7XG4gIC8vY29sb3I6ICNmZmZmZmY7XG4gIC8vZm9udC1mYW1pbHk6IHNhbnMtc2VyaWY7XG4gIC8vZm9udC1zaXplOiAxcmVtO1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIC8vdGV4dC1hbGlnbjogY2VudGVyO1xuICAvL3RyYW5zaXRpb246IGJhY2tncm91bmQgMjUwbXMgZWFzZS1pbi1vdXQsXG4gIC8vICAgICAgICAgICAgdHJhbnNmb3JtIDE1MG1zIGVhc2U7XG4gIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTtcbiAgLW1vei1hcHBlYXJhbmNlOiBub25lO1xufVxuXG5idXR0b246aG92ZXIsXG5idXR0b246Zm9jdXMge1xuICAgIC8vYmFja2dyb3VuZDogIzAwNTNiYTtcbn1cblxuYnV0dG9uOmZvY3VzIHtcbiAgICAvL291dGxpbmU6IDFweCBzb2xpZCAjZmZmO1xuICAgIC8vb3V0bGluZS1vZmZzZXQ6IC00cHg7XG59XG5cbmJ1dHRvbjphY3RpdmUge1xuICAgIC8vdHJhbnNmb3JtOiBzY2FsZSgwLjk5KTtcbn1cbi8qIGVuZCBidXR0b24gc3R5bGVzICovXG4iLCIvKipcbiogSGVhZGVyIHN0eWxlc1xuKi9cblxuLmhlYWRlci13cmFwIHtcbiAgQGluY2x1ZGUgd3JhcDtcbiAgZ3JpZC1yb3ctc3RhcnQ6IDE7IC8vIGZvciBzdGlja3kgZm9vdGVyXG4gIGdyaWQtcm93LWVuZDogMjsgLy8gZm9yIHN0aWNreSBmb290ZXJcbiAgcG9zaXRpb246IHN0aWNreTtcbiAgdG9wOiAwO1xuICB6LWluZGV4OiA5OTk5O1xuICAvL2JvcmRlci10b3A6IDNweCBzb2xpZCAkZ3JheTtcbiAgLy9iYWNrZ3JvdW5kLWNvbG9yOiAkYnJhbmRQcmltYXJ5O1xuICAvL2JvcmRlci1ib3R0b206IDNweCBzb2xpZCBkYXJrZW4oJGJyYW5kUHJpbWFyeSwgMTAlKTtcbiAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAyMDBtcywgYm9yZGVyIDIwMG1zLCBib3gtc2hhZG93IDIwMG1zO1xuXG4gICYuYmctdmlzaWJsZSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGJyYW5kUHJpbWFyeTtcbiAgICBib3JkZXItYm90dG9tOiA1cHggc29saWQgJG9mZldoaXRlO1xuICAgIGJveC1zaGFkb3c6IDBweCAxcHggMTVweCAjMDAwO1xuICB9XG59XG4gIC50b3AtYmFyLWJnIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6ICR0b3BCYXJIZWlnaHQ7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMDtcbiAgICBsZWZ0OiAwO1xuICAgIHotaW5kZXg6IDY7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgICAvL2JvcmRlci1ib3R0b206IDFweCBzb2xpZCAkbWVkaXVtR3JheTtcbiAgICAvL2JhY2tncm91bmQtY29sb3I6ICRvZmZXaGl0ZTtcbiAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDIwMG1zO1xuXG4gICAgJi5iZy12aXNpYmxlIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICRicmFuZFByaW1hcnk7XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgbWVkaWEoXCI+PXRhYmxldFwiKSB7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICB9XG4gIH1cblxuICAuaGVhZGVyIHtcbiAgICBAaW5jbHVkZSBpbm5lci13cmFwO1xuICAgIGhlaWdodDogJGhlYWRlckhlaWdodE1vYmlsZTtcbiAgICBwYWRkaW5nLXRvcDogMDtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgLy9kaXNwbGF5OiBmbGV4O1xuICAgIC8vYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBkaXNwbGF5OiBncmlkO1xuICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogMWZyIDEwMHB4O1xuICAgIGdyaWQtdGVtcGxhdGUtcm93czogJGhlYWRlckhlaWdodE1vYmlsZSBhdXRvO1xuICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMjAwbXM7XG5cbiAgICAmLmJnLXZpc2libGUge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGJyYW5kUHJpbWFyeTtcbiAgICB9XG5cbiAgICBAaW5jbHVkZSBtZWRpYShcIj49dGFibGV0XCIpIHtcbiAgICAgIGhlaWdodDogY2FsYygkaGVhZGVySGVpZ2h0RGVza3RvcCArICR0b3BCYXJIZWlnaHQpO1xuICAgICAgcGFkZGluZy10b3A6ICR0b3BCYXJIZWlnaHQ7XG4gICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDFmciAxMDBweDtcbiAgICAgIGdyaWQtdGVtcGxhdGUtcm93czogMTIwcHggNzBweDtcbiAgICB9XG4gIH1cbiAgICAuaGVhZGVyLWJyYW5kIHtcbiAgICAgIEBpbmNsdWRlIGNvbnRhaW5lcjtcbiAgICAgIHBhZGRpbmctcmlnaHQ6IDA7IC8vIG5lZ2F0ZSByaWdodCBwYWRkaW5nIGZyb20gJ2NvbnRhaW5lcicgbWl4aW4gXl5eXG4gICAgICBoZWlnaHQ6ICRoZWFkZXJIZWlnaHRNb2JpbGU7XG4gICAgICBncmlkLWNvbHVtbjogMSAvIHNwYW4gMTtcbiAgICAgIGdyaWQtcm93OiAxIC8gc3BhbiAxO1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgei1pbmRleDogNTtcblxuICAgICAgQGluY2x1ZGUgbWVkaWEoXCI+PXRhYmxldFwiKSB7XG4gICAgICAgIC8vaGVpZ2h0OiAkaGVhZGVySGVpZ2h0RGVza3RvcDtcbiAgICAgICAgaGVpZ2h0OiA3MHB4O1xuICAgICAgICBtYXJnaW4tdG9wOiAtMzVweDtcbiAgICAgICAgLy9ncmlkLWNvbHVtbjogMSAvIHNwYW4gMTtcbiAgICAgICAgLy9ncmlkLXJvdzogMSAvIHNwYW4gMjtcbiAgICAgIH1cblxuICAgICAgQGluY2x1ZGUgbWVkaWEoXCI+PWRlc2t0b3BcIikge1xuICAgICAgICBtYXJnaW4tdG9wOiAwO1xuICAgICAgfVxuXG4gICAgICBAaW5jbHVkZSBtZWRpYShcIj49ZGVza3RvcC1sYXJnZVwiKSB7XG4gICAgICAgIGhlaWdodDogJGhlYWRlckhlaWdodERlc2t0b3A7XG4gICAgICAgIGdyaWQtY29sdW1uOiAxIC8gc3BhbiAxO1xuICAgICAgICBncmlkLXJvdzogMSAvIHNwYW4gMjtcblxuICAgICAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgICB9XG5cbiAgICAgIGEge1xuICAgICAgICBtYXgtd2lkdGg6IDQyMHB4O1xuICAgICAgICBoZWlnaHQ6ICRoZWFkZXJIZWlnaHRNb2JpbGU7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gICAgICAgIC8vZm9udC1mYW1pbHk6ICdUaW1lcyBOZXcgUm9tYW4nLCBzZXJpZjtcbiAgICAgICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICAgICAgY29sb3I6ICMwMDA7XG5cbiAgICAgICAgQGluY2x1ZGUgbWVkaWEoXCI+PXRhYmxldFwiKSB7XG4gICAgICAgICAgaGVpZ2h0OiA3MHB4O1xuICAgICAgICB9XG5cbiAgICAgICAgQGluY2x1ZGUgbWVkaWEoXCI+PWRlc2t0b3AtbGFyZ2VcIikge1xuICAgICAgICAgIGhlaWdodDogJGhlYWRlckhlaWdodERlc2t0b3A7XG4gICAgICAgIH1cblxuICAgICAgICAubG9nbyB7XG4gICAgICAgICAgd2lkdGg6IDQwcHg7XG4gICAgICAgICAgbWFyZ2luLXJpZ2h0OiAxNXB4O1xuICAgICAgICAgIGhlaWdodDogYXV0bztcbiAgICAgICAgICAvL2Rpc3BsYXk6IG5vbmU7XG4gICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgIC8vYmFja2dyb3VuZC1jb2xvcjogJG9mZldoaXRlO1xuICAgICAgICAgIC8vcGFkZGluZzogMTVweDtcblxuICAgICAgICAgIEBpbmNsdWRlIG1lZGlhKFwiPj1waG9uZS1sYXJnZVwiKSB7XG4gICAgICAgICAgICB3aWR0aDogNzBweDtcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgIH1cblxuICAgICAgICAgIEBpbmNsdWRlIG1lZGlhKFwiPj1kZXNrdG9wLWxhcmdlXCIpIHtcbiAgICAgICAgICAgIHdpZHRoOiAxNDRweDtcbiAgICAgICAgICAgIHdpZHRoOiBhdXRvO1xuICAgICAgICAgICAgaGVpZ2h0OiBjYWxjKCRoZWFkZXJIZWlnaHREZXNrdG9wKTtcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC5sb2dvLXRleHQge1xuICAgICAgICAgIC8vbGluZS1oZWlnaHQ6IDAuOTtcbiAgICAgICAgICAvL2Rpc3BsYXk6IG5vbmU7XG4gICAgICAgICAgLy9mb250LXNpemU6IDAuOHJlbTtcbiAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICBjb2xvcjogJG9mZldoaXRlO1xuICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDA7XG5cbiAgICAgICAgICBAaW5jbHVkZSBtZWRpYShcIj49cGhvbmUtbGFyZ2VcIikge1xuICAgICAgICAgICAgLy9kaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgIHBhZGRpbmctbGVmdDogMjBweDtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMXJlbTtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICAubG9nby10ZXh0LXRpdGxlIHtcbiAgICAgICAgICAgIG1hcmdpbjogMCBhdXRvO1xuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICBsaW5lLWhlaWdodDogMC45O1xuICAgICAgICAgICAgZm9udC1zaXplOiAxcmVtO1xuXG4gICAgICAgICAgICBzcGFuLnJlZ2lzdGVyZWQge1xuICAgICAgICAgICAgICBmb250LXNpemU6IDAuN3JlbTtcbiAgICAgICAgICAgICAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgICAgICAgICAgICAgdmVydGljYWwtYWxpZ246IHN1cGVyO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBAaW5jbHVkZSBtZWRpYShcIj49cGhvbmUtbGFyZ2VcIikge1xuICAgICAgICAgICAgICAvL2Rpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgICBmb250LXNpemU6IDEuNHJlbTtcblxuICAgICAgICAgICAgICBzcGFuLnJlZ2lzdGVyZWQge1xuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMC45cmVtO1xuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG5cblxuICAgICAgICAgIH1cblxuICAgICAgICAgIC5sb2dvLXRleHQtdGFnbGluZSB7XG4gICAgICAgICAgICAvL21hcmdpbi10b3A6IDhweDtcbiAgICAgICAgICAgIG1hcmdpbjogMTBweCBhdXRvIDAgYXV0bztcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAwLjg7XG4gICAgICAgICAgICAvL2Rpc3BsYXk6IG5vbmU7XG4gICAgICAgICAgICBmb250LXNpemU6IDAuNnJlbTtcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiBsaWdodGVyO1xuICAgICAgICAgICAgZm9udC1zdHlsZTogaXRhbGljO1xuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICBjb2xvcjogJG9mZldoaXRlO1xuXG4gICAgICAgICAgICBAaW5jbHVkZSBtZWRpYShcIj49cGhvbmUtbGFyZ2VcIikge1xuICAgICAgICAgICAgICAvL2Rpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgICBmb250LXNpemU6IDEuMXJlbTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICAuaGVhZGVyLW5hdiB7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIGhlaWdodDogMDtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHRvcDogJGhlYWRlckhlaWdodE1vYmlsZTtcbiAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICBvdmVyZmxvdzogaGlkZGVuO1xuXG4gICAgICAmLmJnLXZpc2libGUge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYnJhbmRQcmltYXJ5O1xuICAgICAgfVxuXG4gICAgICBAaW5jbHVkZSBtZWRpYShcIj49dGFibGV0XCIpIHtcbiAgICAgICAgaGVpZ2h0OiA2NXB4O1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgdG9wOiAwO1xuICAgICAgICBvdmVyZmxvdzogdmlzaWJsZTtcbiAgICAgIH1cbiAgICB9XG4gICAgICAubWFpbi1uYXYge1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgcGFkZGluZy1yaWdodDogMDtcbiAgICAgICAgcGFkZGluZy1sZWZ0OiAwO1xuICAgICAgICBoZWlnaHQ6IGF1dG87XG4gICAgICAgIHBvc2l0aW9uOiBzdGF0aWM7XG4gICAgICAgIHRvcDogYXV0bztcbiAgICAgICAgcmlnaHQ6IGF1dG87XG4gICAgICAgIHotaW5kZXg6IDY7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAvL2JhY2tncm91bmQtY29sb3I6ICRvZmZXaGl0ZTtcblxuICAgICAgICBAaW5jbHVkZSBtZWRpYShcIj49dGFibGV0XCIpIHtcbiAgICAgICAgICBAaW5jbHVkZSBjb250YWluZXI7XG4gICAgICAgICAgcGFkZGluZy1sZWZ0OiAwOyAvLyBuZWdhdGUgbGVmdCBwYWRkaW5nIGZyb20gJ2NvbnRhaW5lcicgbWl4aW4gXl5eXG4gICAgICAgICAgd2lkdGg6IGF1dG87XG4gICAgICAgICAgaGVpZ2h0OiA2NXB4O1xuICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICB0b3A6IDg1cHg7XG4gICAgICAgICAgcmlnaHQ6IDA7XG4gICAgICAgICAgLy96LWluZGV4OiA5OTk5O1xuICAgICAgICB9XG5cbiAgICAgICAgdWwge1xuICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgIGhlaWdodDogYXV0bztcbiAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgICBsaXN0LXN0eWxlOiBub25lO1xuICAgICAgICAgIC8vY29sdW1uLWdhcDogYXV0bztcbiAgICAgICAgICBib3JkZXItdG9wOiAxcHggc29saWQgJGdyYXk7XG5cbiAgICAgICAgICBAaW5jbHVkZSBtZWRpYShcIj49dGFibGV0XCIpIHtcbiAgICAgICAgICAgIHdpZHRoOiBhdXRvO1xuICAgICAgICAgICAgaGVpZ2h0OiA2NXB4O1xuICAgICAgICAgICAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgICAgICAgICAgIGNvbHVtbi1nYXA6IDEwcHg7XG4gICAgICAgICAgICBib3JkZXItdG9wOiB1bnNldDtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICBsaSB7XG4gICAgICAgICAgICBAaW5jbHVkZSBjb250YWluZXI7XG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgIGhlaWdodDogNDVweDtcbiAgICAgICAgICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG4gICAgICAgICAgICBib3JkZXItdG9wOiB1bnNldDtcbiAgICAgICAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAkZ3JheTtcbiAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAgICAgICAgICAgJjpob3ZlciA+IHVsIHtcblxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBAaW5jbHVkZSBtZWRpYShcIj49dGFibGV0XCIpIHtcbiAgICAgICAgICAgICAgcGFkZGluZy1yaWdodDogMDsgLy8gbmVnYXRlICdjb250YWluZXInIG1peGluIF5eXlxuICAgICAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDA7IC8vIG5lZ2F0ZSAnY29udGFpbmVyJyBtaXhpbiBeXl5cbiAgICAgICAgICAgICAgd2lkdGg6IGF1dG87XG4gICAgICAgICAgICAgIGhlaWdodDogNjVweDtcbiAgICAgICAgICAgICAgLy9ib3JkZXItdG9wOiAzcHggc29saWQgJGdyYXk7XG4gICAgICAgICAgICAgIGJvcmRlci1ib3R0b206IHVuc2V0O1xuICAgICAgICAgICAgICB0cmFuc2l0aW9uOiBkaXNwbGF5IDMwMG1zO1xuXG4gICAgICAgICAgICAgICY6aG92ZXIgPiB1bCB7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICAgICAgLy92aXNpYmlsaXR5OiB2aXNpYmxlO1xuICAgICAgICAgICAgICAgIC8vb3BhY2l0eTogMTtcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBhIHtcbiAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICAgIGhlaWdodDogNDVweDtcbiAgICAgICAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICAgICAgICAvL2xpc3Qtc3R5bGU6IG5vbmU7XG4gICAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICAgICAgICAgICAgICBmb250LXNpemU6IDAuOHJlbTtcbiAgICAgICAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICAgICAgICAgICAgY29sb3I6ICRvZmZXaGl0ZTtcblxuICAgICAgICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICAgICAgICAvL2NvbG9yOiAkZGFya0JsdWU7XG4gICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICBAaW5jbHVkZSBtZWRpYShcIj49dGFibGV0XCIpIHtcbiAgICAgICAgICAgICAgICB3aWR0aDogYXV0bztcbiAgICAgICAgICAgICAgICBoZWlnaHQ6IDY1cHg7XG4gICAgICAgICAgICAgICAgcGFkZGluZzogMCA1cHg7XG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiAwLjc1cmVtO1xuICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgQGluY2x1ZGUgbWVkaWEoXCI+PWxhcHRvcFwiKSB7XG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiAwLjhyZW07XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLm5hdi1jaGV2cm9uIHtcbiAgICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgICByaWdodDogMDtcblxuICAgICAgICAgICAgICBAaW5jbHVkZSBtZWRpYShcIj49dGFibGV0XCIpIHtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuXG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgdWwgeyAvLyBzdWItbmF2XG4gICAgICAgICAgICAgIHdpZHRoOiAyMjVweDtcbiAgICAgICAgICAgICAgaGVpZ2h0OiBhdXRvO1xuICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICAgIHRvcDogNjJweDtcbiAgICAgICAgICAgICAgcmlnaHQ6IDA7XG4gICAgICAgICAgICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG4gICAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRtZWRpdW1HcmF5O1xuICAgICAgICAgICAgICBib3JkZXItdG9wOiAxcHggc29saWQgJG9mZldoaXRlO1xuICAgICAgICAgICAgICAvL3Zpc2liaWxpdHk6IGhpZGRlbjtcbiAgICAgICAgICAgICAgLy9vcGFjaXR5OiAwO1xuICAgICAgICAgICAgICAvL3RyYW5zaXRpb246IHZpc2liaWxpdHkgMHMsIG9wYWNpdHkgMXMgbGluZWFyO1xuXG5cbiAgICAgICAgICAgICAgJjo6YmVmb3JlIHtcbiAgICAgICAgICAgICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgICAgICAgICAgIHdpZHRoOiAwO1xuICAgICAgICAgICAgICAgIGhlaWdodDogMDtcbiAgICAgICAgICAgICAgICBib3JkZXItdG9wOiAxMHB4IHNvbGlkIHRyYW5zcGFyZW50O1xuICAgICAgICAgICAgICAgIGJvcmRlci1ib3R0b206IDEwcHggc29saWQgdHJhbnNwYXJlbnQ7XG4gICAgICAgICAgICAgICAgYm9yZGVyLWxlZnQ6IDEwcHggc29saWQgJG1lZGl1bUdyYXk7XG4gICAgICAgICAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoNDVkZWcpO1xuICAgICAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgICAgICB0b3A6IC0xMnB4O1xuICAgICAgICAgICAgICAgIHJpZ2h0OiAtMXB4O1xuICAgICAgICAgICAgICAgIHotaW5kZXg6IDEwMDE7XG4gICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICBsaSB7XG4gICAgICAgICAgICAgICAgd2lkdGg6IDIyNXB4O1xuICAgICAgICAgICAgICAgIGhlaWdodDogMzVweDtcbiAgICAgICAgICAgICAgICBsaXN0LXN0eWxlOiBub25lO1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgICAgIGJvcmRlci10b3A6IDFweCBzb2xpZCAkb2ZmV2hpdGU7XG5cbiAgICAgICAgICAgICAgICAmOm50aC1jaGlsZCgxKSB7XG4gICAgICAgICAgICAgICAgICBib3JkZXItdG9wOiAxcHggc29saWQgJG1lZGl1bURhcmtHcmF5O1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICY6bnRoLWNoaWxkKDIpIHtcbiAgICAgICAgICAgICAgICAgIGJvcmRlci10b3A6IDFweCBzb2xpZCAkb2ZmV2hpdGU7XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgJjpudGgtY2hpbGQoMykge1xuICAgICAgICAgICAgICAgICAgYm9yZGVyLXRvcDogMXB4IHNvbGlkICRvZmZXaGl0ZTtcbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAmOm50aC1jaGlsZCg0KSB7XG4gICAgICAgICAgICAgICAgICBib3JkZXItdG9wOiAxcHggc29saWQgJG9mZldoaXRlO1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIGEge1xuICAgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICAgICAgICBoZWlnaHQ6IDM1cHg7XG4gICAgICAgICAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDEwcHg7XG4gICAgICAgICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgICAgICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcblxuICAgICAgICAgICAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICAgICAgICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xuICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICAudG9wLW5hdiB7XG4gICAgICAgIEBpbmNsdWRlIGNvbnRhaW5lcjtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIGhlaWdodDogJHRvcEJhckhlaWdodDtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICB0b3A6IGF1dG87XG4gICAgICAgIGxlZnQ6IGF1dG87XG4gICAgICAgIHotaW5kZXg6IDY7XG4gICAgICAgIC8vZGlzcGxheTogbm9uZTtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIC8vYmFja2dyb3VuZC1jb2xvcjogJG9mZldoaXRlO1xuICAgICAgICAvL2JvcmRlci1ib3R0b206IDFweCBzb2xpZCAkbWVkaXVtR3JheTtcbiAgICAgICAgY2xlYXI6IGJvdGg7XG5cbiAgICAgICAgQGluY2x1ZGUgbWVkaWEoXCI+PXRhYmxldFwiKSB7XG4gICAgICAgICAgd2lkdGg6IDUwJTsgLy8gYXJiaXRyYXJ5IC0ganVzdCBuZWVkcyB0byBiZSB3aWRlIGVub3VnaCB0byBhY2NvbW9kYXRlIG5hdiBpdGVtc1xuICAgICAgICAgIC8vcGFkZGluZy1yaWdodDogMDtcbiAgICAgICAgICAvL2hlaWdodDogMzVweDtcbiAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgdG9wOiAwO1xuICAgICAgICAgIHJpZ2h0OiAzNnB4O1xuICAgICAgICAgIHotaW5kZXg6IDY7XG4gICAgICAgICAgLy9yaWdodDogMDtcbiAgICAgICAgICAvL2Rpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgIC8vYmFja2dyb3VuZC1jb2xvcjogJGxpZ2h0R3JheTtcbiAgICAgICAgICAvL2NsZWFyOiBib3RoO1xuICAgICAgICB9XG5cbiAgICAgICAgdWwge1xuICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgIC8vaGVpZ2h0OiBhdXRvO1xuICAgICAgICAgIHBhZGRpbmctcmlnaHQ6IDYwcHg7XG4gICAgICAgICAgaGVpZ2h0OiAkdG9wQmFySGVpZ2h0O1xuICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgICAgICAgICBsaXN0LXN0eWxlOiBub25lO1xuICAgICAgICAgIGNvbHVtbi1nYXA6IDMwcHg7XG4gICAgICAgICAgZmxleC1mbG93OiByb3c7XG5cbiAgICAgICAgICBAaW5jbHVkZSBtZWRpYShcIj49dGFibGV0XCIpIHtcbiAgICAgICAgICAgIHdpZHRoOiBhdXRvO1xuICAgICAgICAgICAgZmxleC1mbG93OiByb3ctcmV2ZXJzZTtcbiAgICAgICAgICAgIC8vaGVpZ2h0OiAzNXB4O1xuICAgICAgICAgIH1cblxuICAgICAgICAgIGxpIHtcbiAgICAgICAgICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG4gICAgICAgICAgICAvL2Zsb2F0OiBsZWZ0O1xuICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cbiAgICAgICAgICAgIEBpbmNsdWRlIG1lZGlhKFwiPj10YWJsZXRcIikge1xuXG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIGEge1xuICAgICAgICAgICAgICAvL3BhZGRpbmc6IC41MjVlbSAzZW0gMCAwO1xuICAgICAgICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgICAgICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgICAgICAgICAgIGNvbG9yOiAkb2ZmV2hpdGU7XG4gICAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICAgICAgICAgICAgICBmb250LXNpemU6IDEycHg7XG4gICAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG5cblxuICAgICAgICAgICAgICBAaW5jbHVkZSBtZWRpYShcIj49dGFibGV0XCIpIHtcbiAgICAgICAgICAgICAgICBoZWlnaHQ6ICR0b3BCYXJIZWlnaHQ7XG4gICAgICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgICAgIC8vdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgLnNsaWRlLWxpbmUge1xuICAgICAgICBoZWlnaHQ6IDNweDtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJG9mZldoaXRlO1xuICAgICAgfVxuXG4gICAgLmhlYWRlci1idXR0b25zIHtcbiAgICAgIEBpbmNsdWRlIGNvbnRhaW5lcjtcbiAgICAgIC8vcGFkZGluZy1sZWZ0OiAwICFpbXBvcnRhbnQ7IC8vIG5lZ2F0ZSBsZWZ0IHBhZGRpbmcgZnJvbSAnY29udGFpbmVyJyBtaXhpbiBeXl5cbiAgICAgIHdpZHRoOiBhdXRvO1xuICAgICAgaGVpZ2h0OiAkaGVhZGVySGVpZ2h0TW9iaWxlO1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB0b3A6IDA7XG4gICAgICByaWdodDogMDtcbiAgICAgIHotaW5kZXg6IDY7XG5cbiAgICAgIEBpbmNsdWRlIG1lZGlhKFwiPj10YWJsZXRcIikge1xuICAgICAgICBoZWlnaHQ6ICR0b3BCYXJIZWlnaHQ7XG4gICAgICAgIHBhZGRpbmctbGVmdDogMDtcbiAgICAgIH1cbiAgICB9XG4gICAgICAuZ2xhc3Mge1xuICAgICAgICAvL2hlaWdodDogOTBweDtcbiAgICAgICAgcGFkZGluZzogOHB4IDEwcHg7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgIC8vcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB0b3A6IGF1dG87XG4gICAgICAgIC8vcmlnaHQ6IDQ1cHg7XG4gICAgICAgIC8vYm9yZGVyOiAxcHggc29saWQgJG9mZldoaXRlO1xuXG4gICAgICAgIEBpbmNsdWRlIG1lZGlhKFwiPj10YWJsZXRcIikge1xuICAgICAgICAgIGhlaWdodDogJHRvcEJhckhlaWdodDtcbiAgICAgICAgICAvL3RvcDogMDtcbiAgICAgICAgICAvL3JpZ2h0OiAwO1xuICAgICAgICAgIGJvcmRlcjogdW5zZXQ7XG4gICAgICAgIH1cblxuICAgICAgICBpIHtcbiAgICAgICAgICBjb2xvcjogJG9mZldoaXRlO1xuXG4gICAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICBjb2xvcjogJG1lZGl1bUdyYXk7XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgQGluY2x1ZGUgbWVkaWEoXCI+PXRhYmxldFwiKSB7XG4gICAgICAgICAgICBjb2xvcjogJG9mZldoaXRlO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICAuYnVyZ2VyIHtcbiAgICAgICAgLy9oZWlnaHQ6IDkwcHg7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgICAgICBwYWRkaW5nOiA4cHggMTBweDtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgLy9wb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIC8vdG9wOiBhdXRvO1xuICAgICAgICAvL3JpZ2h0OiAwO1xuICAgICAgICAvL2JvcmRlcjogMXB4IHNvbGlkICRvZmZXaGl0ZTtcblxuICAgICAgICBAaW5jbHVkZSBtZWRpYShcIj49MzQwcHhcIikge1xuICAgICAgICAgIG1hcmdpbi1sZWZ0OiAxMHB4O1xuICAgICAgICB9XG5cbiAgICAgICAgQGluY2x1ZGUgbWVkaWEoXCI+PXRhYmxldFwiKSB7XG4gICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgICAvL3RvcDogMDtcbiAgICAgICAgfVxuXG4gICAgICAgIGkge1xuICAgICAgICAgIGNvbG9yOiAkb2ZmV2hpdGU7XG5cbiAgICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICAgIGNvbG9yOiAkbWVkaXVtR3JheTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgIC5zaXRlLXNlYXJjaC13cmFwIHtcbiAgICAgIEBpbmNsdWRlIHdyYXA7XG4gICAgICBoZWlnaHQ6IGF1dG87XG4gICAgICAvL3BhZGRpbmc6IDQwcHggMDtcbiAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB0b3A6ICRoZWFkZXJIZWlnaHRNb2JpbGU7XG4gICAgICBsZWZ0OiAwO1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGJyYW5kUHJpbWFyeTtcbiAgICAgIHotaW5kZXg6IDY7XG4gICAgICBib3JkZXItYm90dG9tOiAycHggc29saWQgJGJyYW5kU2Vjb25kYXJ5O1xuXG4gICAgICBAaW5jbHVkZSBtZWRpYShcIj49dGFibGV0XCIpIHtcbiAgICAgICAgdG9wOiAkdG9wQmFySGVpZ2h0O1xuICAgICAgfVxuXG4gICAgICAuc2l0ZS1zZWFyY2gge1xuICAgICAgICBAaW5jbHVkZSBjb250YWluZXI7XG4gICAgICB9XG4gICAgfVxuICAgICAgLnNpdGUtc2VhcmNoIHtcbiAgICAgICAgQGluY2x1ZGUgaW5uZXItd3JhcDtcbiAgICAgICAgLy9AaW5jbHVkZSBjb250YWluZXI7XG4gICAgICAgIGhlaWdodDogYXV0bztcbiAgICAgICAgcGFkZGluZzogMzVweCAwO1xuICAgICAgICBkaXNwbGF5OiBncmlkO1xuICAgICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDFmciA1MHB4IDBweDtcbiAgICAgICAgZ3JpZC10ZW1wbGF0ZS1yb3dzOiBhdXRvIGF1dG87XG4gICAgICAgIC8vZ3JpZC1yb3ctZ2FwOiAxNXB4O1xuXG4gICAgICAgIEBpbmNsdWRlIG1lZGlhKFwiPj10YWJsZXRcIikge1xuICAgICAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogMS44ZnIgMS4yZnIgNTBweDtcbiAgICAgICAgICBncmlkLXRlbXBsYXRlLXJvd3M6IGF1dG8gMHB4O1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgICAgLnNlYXJjaC1xdWVyeSB7XG4gICAgICAgICAgaGVpZ2h0OiA1MHB4O1xuICAgICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgICAgZ3JpZC1jb2x1bW46IDEgLyBzcGFuIDI7XG4gICAgICAgICAgZ3JpZC1yb3c6IDE7XG4gICAgICAgICAgYWxpZ24tc2VsZjogY2VudGVyO1xuXG4gICAgICAgICAgQGluY2x1ZGUgbWVkaWEoXCI+PXRhYmxldFwiKSB7XG4gICAgICAgICAgICAvL3BhZGRpbmc6IDAgMTBweCAwIDA7XG4gICAgICAgICAgICAvL2hlaWdodDogODBweDtcbiAgICAgICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgICAgICBncmlkLWNvbHVtbjogMSAvIHNwYW4gMTtcbiAgICAgICAgICAgIGdyaWQtcm93OiAxO1xuICAgICAgICAgIH1cblxuICAgICAgICAgIGxhYmVsIHtcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgaGVpZ2h0OiAzMHB4O1xuICAgICAgICAgICAgY29sb3I6ICRvZmZXaGl0ZTtcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICAgICAgICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICAgIH1cblxuICAgICAgICAgIGlucHV0IHtcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgaGVpZ2h0OiA1MHB4O1xuICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiAyMHB4O1xuICAgICAgICAgICAgYm9yZGVyOiAycHggc29saWQgJG9mZldoaXRlO1xuICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogMjBweCAwIDAgMDtcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJG9mZldoaXRlOy8vdW5zZXQ7XG4gICAgICAgICAgICBjb2xvcjogJGJsYWNrO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC5zZWFyY2gtY29udGV4dCB7XG4gICAgICAgICAgaGVpZ2h0OiA1MHB4O1xuICAgICAgICAgIHBhZGRpbmc6IDAgMjBweCAwIDA7XG4gICAgICAgICAgZ3JpZC1jb2x1bW46IDEgLyBzcGFuIDE7XG4gICAgICAgICAgZ3JpZC1yb3c6IDI7XG4gICAgICAgICAgYWxpZ24tc2VsZjogY2VudGVyO1xuXG4gICAgICAgICAgQGluY2x1ZGUgbWVkaWEoXCI+PXRhYmxldFwiKSB7XG4gICAgICAgICAgICBncmlkLWNvbHVtbjogMiAvIHNwYW4gMTtcbiAgICAgICAgICAgIGdyaWQtcm93OiAxO1xuICAgICAgICAgICAgcGFkZGluZzogMCAyMHB4IDAgMDtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICBsYWJlbCB7XG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgIG1heC13aWR0aDogMTAwJTtcbiAgICAgICAgICAgIGhlaWdodDogMzBweDtcbiAgICAgICAgICAgIGNvbG9yOiAkb2ZmV2hpdGU7XG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgICAgICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICBzZWxlY3Qge1xuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICBoZWlnaHQ6IDUwcHg7XG4gICAgICAgICAgICAvL3BhZGRpbmctcmlnaHQ6IDE1cHg7XG4gICAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDE1cHg7XG4gICAgICAgICAgICBib3JkZXI6IDJweCBzb2xpZCAkb2ZmV2hpdGU7XG4gICAgICAgICAgICBib3JkZXItcmFkaXVzOiAwIDAgMjBweCAwO1xuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYnJhbmRTZWNvbmRhcnk7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOlxuICAgICAgICAgICAgICAvL2xpbmVhci1ncmFkaWVudCh0byBsZWZ0LCB0cmFuc3BhcmVudGl6ZSgkd2hpdGUsIDAuNSksIHRyYW5zcGFyZW50aXplKCR3aGl0ZSwgMC41KSAxNXB4LCB0cmFuc3BhcmVudCAxNXB4LCB0cmFuc3BhcmVudCAxMDAlKSxcbiAgICAgICAgICAgICAgLy9saW5lYXItZ3JhZGllbnQodG8gbGVmdCwgJGJyYW5kU2Vjb25kYXJ5LCAkYnJhbmRTZWNvbmRhcnkgMTVweCwgdHJhbnNwYXJlbnQgMTVweCwgdHJhbnNwYXJlbnQgMTAwJSlcbiAgICAgICAgICAgICAgbGluZWFyLWdyYWRpZW50KGxpZ2h0ZW4oJGJyYW5kU2Vjb25kYXJ5LCA1JSksIGRhcmtlbigkYnJhbmRTZWNvbmRhcnksIDUlKSlcbiAgICAgICAgICAgIDtcbiAgICAgICAgICAgIGNvbG9yOiAkb2ZmV2hpdGU7XG5cbiAgICAgICAgICAgIG9wdGlvbiB7XG4gICAgICAgICAgICAgIHBhZGRpbmctbGVmdDogMTVweDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAuc2VhcmNoLXN1Ym1pdCB7XG4gICAgICAgICAgd2lkdGg6IDUwcHg7XG4gICAgICAgICAgaGVpZ2h0OiA1MHB4O1xuICAgICAgICAgIGdyaWQtY29sdW1uOiAyIC8gc3BhbiAxO1xuICAgICAgICAgIGdyaWQtcm93OiAyO1xuICAgICAgICAgIGFsaWduLXNlbGY6IHN0YXJ0O1xuICAgICAgICAgIGNvbG9yOiAkYnJhbmRQcmltYXJ5O1xuICAgICAgICAgIGZvbnQtc2l6ZTogMS40cmVtO1xuICAgICAgICAgIC8vYm9yZGVyOiAycHggc29saWQgJGJyYW5kU2Vjb25kYXJ5O1xuICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDIwcHggMDtcbiAgICAgICAgICAvL2JhY2tncm91bmQtY29sb3I6IHVuc2V0O1xuICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRicmFuZFNlY29uZGFyeTtcbiAgICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiBsaW5lYXItZ3JhZGllbnQobGlnaHRlbigkbWVkaXVtR3JheSwgMTAlKSwgZGFya2VuKCRtZWRpdW1HcmF5LCAxMCUpKTtcbiAgICAgICAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDIwMG1zO1xuXG4gICAgICAgICAgQGluY2x1ZGUgbWVkaWEoXCI+PXRhYmxldFwiKSB7XG4gICAgICAgICAgICBncmlkLWNvbHVtbjogMyAvIHNwYW4gMTtcbiAgICAgICAgICAgIGdyaWQtcm93OiAxO1xuICAgICAgICAgICAgYWxpZ24tc2VsZjogc3RhcnQ7XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICAvL2JhY2tncm91bmQtY29sb3I6ICRncmF5O1xuICAgICAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogbGluZWFyLWdyYWRpZW50KCRtZWRpdW1HcmF5LCBkYXJrZW4oJG1lZGl1bUdyYXksIDIwJSkpO1xuICAgICAgICAgICAgLy9jb2xvcjogJG9mZldoaXRlO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuIiwiLyoqXG4qIENvbnRlbnQgc3R5bGVzXG4qL1xuXG4ubWFpbi13cmFwIHtcbiAgQGluY2x1ZGUgd3JhcDtcbiAgZ3JpZC1yb3ctc3RhcnQ6IDI7IC8vIGZvciBzdGlja3kgZm9vdGVyXG4gIGdyaWQtcm93LWVuZDogMzsgLy8gZm9yIHN0aWNreSBmb290ZXJcbiAgbWFyZ2luLXRvcDogY2FsYygtMSAqICgkaGVhZGVySGVpZ2h0TW9iaWxlICsgJHRvcEJhckhlaWdodCkpO1xuXG4gIC8vcG9zaXRpb246IGFic29sdXRlO1xuICAvL3RvcDogMDtcblxuICBAaW5jbHVkZSBtZWRpYShcIj49dGFibGV0XCIpIHtcbiAgICBtYXJnaW4tdG9wOiBjYWxjKC0xICogKCRoZWFkZXJIZWlnaHREZXNrdG9wICsgJHRvcEJhckhlaWdodCkpO1xuICB9XG59XG4gIC5tYWluIHtcbiAgICBoZWlnaHQ6IDEwMCU7IC8vIGZvciBzdGlja3kgZm9vdGVyOiBmaWxsIGFueSBlbXB0eSBzcGFjZSBkb3duIHRvIGZvb3RlclxuICAgIG92ZXJmbG93OiBoaWRkZW47IC8vIGV4dGVuZHMgaGVpZ2h0IHRvIGFjY29tb2RhdGUgY29udGVudCdzIG1hcmdpblxuICAgIC8vcGFkZGluZy10b3A6IDJyZW07XG4gIH1cblxuICAgIC5wYWdlLWNvbnRlbnQtd3JhcCB7XG4gICAgICAvL0BpbmNsdWRlIGlubmVyLXdyYXA7XG4gICAgICAvL0BpbmNsdWRlIGNvbnRhaW5lcjtcbiAgICAgIC8vQGluY2x1ZGUgc3BhY2VyLXRvcDtcbiAgICAgIC8vQGluY2x1ZGUgc3BhY2VyLWJvdHRvbTtcbiAgICB9XG4gICAgICAucGFnZS1jb250ZW50IHtcbiAgICAgICAgZGlzcGxheTogZ3JpZDtcbiAgICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAxZnI7XG4gICAgICAgIGdyaWQtdGVtcGxhdGUtcm93czogYXV0bztcblxuICAgICAgICBAaW5jbHVkZSBtZWRpYShcIj49dGFibGV0XCIpIHtcbiAgICAgICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDFmcjtcbiAgICAgICAgICBncmlkLXRlbXBsYXRlLXJvd3M6IGF1dG87XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgIC5wYWdlLWNvbnRlbnQuc2lkZSB7XG4gICAgICAgIC8vZGlzcGxheTogZ3JpZDtcbiAgICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAxZnIgMHB4O1xuICAgICAgICBncmlkLXRlbXBsYXRlLXJvd3M6IGF1dG8gYXV0bztcblxuICAgICAgICBAaW5jbHVkZSBtZWRpYShcIj49dGFibGV0XCIpIHtcbiAgICAgICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDFmciAyODZweDtcbiAgICAgICAgICBncmlkLXRlbXBsYXRlLXJvd3M6IGF1dG8gMHB4O1xuICAgICAgICB9XG4gICAgICB9XG4gICAgICAgIC5wYWdlLW1haW4ge1xuICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgIHBhZGRpbmctcmlnaHQ6IDA7XG4gICAgICAgICAgZ3JpZC1jb2x1bW46IDEgLyBzcGFuIDE7XG4gICAgICAgICAgZ3JpZC1yb3c6IDI7XG5cbiAgICAgICAgICBAaW5jbHVkZSBtZWRpYShcIj49dGFibGV0XCIpIHtcbiAgICAgICAgICAgIGdyaWQtY29sdW1uOiAxIC8gc3BhbiAxO1xuICAgICAgICAgICAgZ3JpZC1yb3c6IDE7XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgaDEge1xuICAgICAgICAgICAgLy9tYXJnaW4tdG9wOiA0MHB4O1xuICAgICAgICAgIH1cblxuICAgICAgICAgIGgyIHtcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IDUwcHg7XG5cbiAgICAgICAgICAgICY6Zmlyc3QtY2hpbGQge1xuICAgICAgICAgICAgICBtYXJnaW4tdG9wOiAwO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cblxuICAgICAgICAgIGgzIHtcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IDQwcHg7XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgaDQge1xuICAgICAgICAgICAgbWFyZ2luLXRvcDogNDBweDtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICBoNSB7XG4gICAgICAgICAgICBtYXJnaW4tdG9wOiA0MHB4O1xuICAgICAgICAgIH1cblxuICAgICAgICAgIGg2IHtcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IDQwcHg7XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgcCB7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAyNXB4O1xuICAgICAgICAgICAgLy9wYWRkaW5nLWJvdHRvbTogMjVweDtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICB1bCB7XG4gICAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDIwcHg7XG4gICAgICAgICAgICAvL3BhZGRpbmctYm90dG9tOiAyNXB4O1xuICAgICAgICAgICAgLy9mb250LXNpemU6IDEuMXJlbTtcbiAgICAgICAgICAgIC8vZm9udC13ZWlnaHQ6IDUwMDtcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAxLjU7XG4gICAgICAgICAgICBsaXN0LXN0eWxlLXBvc2l0aW9uOiBvdXRzaWRlO1xuXG4gICAgICAgICAgICBsaSB7XG4gICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDE1cHg7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLnNpZGUgLnBhZ2UtbWFpbiB7XG4gICAgICAgICAgcGFkZGluZy1yaWdodDogMDtcblxuICAgICAgICAgIEBpbmNsdWRlIG1lZGlhKFwiPj10YWJsZXRcIikge1xuICAgICAgICAgICAgcGFkZGluZy1yaWdodDogMTAwcHg7XG4gICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLnBhZ2UtaGVhZGVyIHtcbiAgICAgICAgICB3aWR0aDogMTAwJTtcblxuXG5cbiAgICAgICAgICBoZWlnaHQ6IGF1dG87XG4gICAgICAgICAgLy9tYXgtaGVpZ2h0OiBoZWlnaHQ6IGNhbGMoNTB2aCAtIDEyMHB4KTtcbiAgICAgICAgICAvL3BhZGRpbmctYm90dG9tOiA2MHB4O1xuICAgICAgICAgIC8vYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiLi4vaW1hZ2VzL2hvbWVfZmVhdHVyZV8yLmpwZ1wiKTtcbiAgICAgICAgICAvL2JhY2tncm91bmQtY29sb3I6ICRncmVlbjtcbiAgICAgICAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICAgICAgICAgIGJhY2tncm91bmQtc2l6ZTogY292ZXI7XG4gICAgICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyIDgwJTtcbiAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgICAgei1pbmRleDogMTtcbiAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYnJhbmRQcmltYXJ5O1xuICAgICAgICAgIGJhY2tncm91bmQtYmxlbmQtbW9kZTogc2NyZWVuO1xuXG4gICAgICAgICAgQGluY2x1ZGUgbWVkaWEoXCI+PXRhYmxldFwiKSB7XG4gICAgICAgICAgICAvL21pbi1oZWlnaHQ6IDI1MHB4O1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAgIC5wYWdlLWhlYWRlci1vdmVybGF5IHtcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgdG9wOiAwO1xuICAgICAgICAgICAgbGVmdDogMDtcbiAgICAgICAgICAgIHotaW5kZXg6IDI7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiBsaW5lYXItZ3JhZGllbnQoZGFya2VuKCR0cmFuc0dyYXksIDQwJSksIGRhcmtlbigkdHJhbnNHcmF5LCAyMCUpKTtcbiAgICAgICAgICAgIG9wYWNpdHk6IDAuNztcbiAgICAgICAgICAgIC8vYmFja2dyb3VuZC1ibGVuZC1tb2RlOiBtdWx0aXBseTtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICAucGFnZS1oZWFkZXItYm94LXdyYXAge1xuICAgICAgICAgICAgQGluY2x1ZGUgaW5uZXItd3JhcDtcbiAgICAgICAgICAgIG1pbi1oZWlnaHQ6IDEwMCU7XG4gICAgICAgICAgICBoZWlnaHQ6IGF1dG87XG4gICAgICAgICAgICBwYWRkaW5nLXRvcDogY2FsYygkaGVhZGVySGVpZ2h0TW9iaWxlICsgJHNwYWNlclBhZGRpbmdUYWJsZXQpO1xuICAgICAgICAgICAgLy9wYWRkaW5nOiAwO1xuICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICAgICAgei1pbmRleDogMztcbiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuXG4gICAgICAgICAgICBAaW5jbHVkZSBtZWRpYShcIj49dGFibGV0XCIpIHtcbiAgICAgICAgICAgICAgQGluY2x1ZGUgY29udGFpbmVyO1xuICAgICAgICAgICAgICBwYWRkaW5nLXRvcDogY2FsYygkaGVhZGVySGVpZ2h0RGVza3RvcCArICRzcGFjZXJQYWRkaW5nRGVza3RvcCk7Ly9cbiAgICAgICAgICAgICAgLy9oZWlnaHQ6IGF1dG87XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICAgICAgLnBhZ2UtaGVhZGVyLWJveCB7XG4gICAgICAgICAgICAgIEBpbmNsdWRlIGNvbnRhaW5lcjtcbiAgICAgICAgICAgICAgQGluY2x1ZGUgc3BhY2VyLXRvcDtcbiAgICAgICAgICAgICAgQGluY2x1ZGUgc3BhY2VyLWJvdHRvbTtcbiAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgICAgICAgLy9wYWRkaW5nOiA0MHB4IDMwcHg7XG4gICAgICAgICAgICAgIC8vcGFkZGluZy10b3A6IGNhbGMoJGhlYWRlckhlaWdodE1vYmlsZSArICRzcGFjZXJQYWRkaW5nVGFibGV0KTtcbiAgICAgICAgICAgICAgdGV4dC1hbGlnbjogbGVmdDtcblxuXG4gICAgICAgICAgICAgIEBpbmNsdWRlIG1lZGlhKFwiPj10YWJsZXRcIikge1xuICAgICAgICAgICAgICAgIC8vd2lkdGg6IDY3JTtcbiAgICAgICAgICAgICAgICAvL3dpZHRoOiAxMDAlO1xuICAgICAgICAgICAgICAgIC8vcGFkZGluZy10b3A6IGNhbGMoJGhlYWRlckhlaWdodERlc2t0b3AgKyAkc3BhY2VyUGFkZGluZ0Rlc2t0b3ApO1xuICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgLyoubG9nbyB7XG4gICAgICAgICAgICAgICAgd2lkdGg6IDEwMHB4O1xuICAgICAgICAgICAgICAgIGhlaWdodDogYXV0bztcbiAgICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICAgICAgdG9wOiA0MHB4O1xuICAgICAgICAgICAgICAgIHJpZ2h0OiA0MHB4O1xuICAgICAgICAgICAgICB9Ki9cblxuICAgICAgICAgICAgICAvKmEge1xuICAgICAgICAgICAgICAgIHBhZGRpbmctYm90dG9tOiAyNXB4O1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICAgICAgICAgICAgICAgIGNvbG9yOiAkb2ZmV2hpdGU7XG5cbiAgICAgICAgICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICAgICAgICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgfSovXG5cbiAgICAgICAgICAgICAgaDEge1xuICAgICAgICAgICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgICAgIGNvbG9yOiAkb2ZmV2hpdGU7XG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiAxLjZyZW07XG4gICAgICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDEuMztcbiAgICAgICAgICAgICAgICBwYWRkaW5nLWJvdHRvbTogMjVweDtcbiAgICAgICAgICAgICAgICBmb250LXN0eWxlOiBpdGFsaWM7XG5cbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBtZWRpYShcIj49dGFibGV0XCIpIHtcbiAgICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMi4ycmVtO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgIHAge1xuICAgICAgICAgICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IDFyZW07XG4gICAgICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgICAgICAgICAgICAgICBjb2xvcjogJG9mZldoaXRlO1xuXG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgbWVkaWEoXCI+PXRhYmxldFwiKSB7XG4gICAgICAgICAgICAgICAgICBmb250LXNpemU6IDEuMnJlbTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cblxuICAgICAgICAucGFnZS1zaWRlYmFyIHtcbiAgICAgICAgICBAaW5jbHVkZSBzcGFjZXItYm90dG9tO1xuICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgIGdyaWQtY29sdW1uOiAxIC8gc3BhbiAxO1xuICAgICAgICAgIGdyaWQtcm93OiAxO1xuXG4gICAgICAgICAgQGluY2x1ZGUgbWVkaWEoXCI+PXRhYmxldFwiKSB7XG4gICAgICAgICAgICBncmlkLWNvbHVtbjogMiAvIHNwYW4gMTtcbiAgICAgICAgICAgIGdyaWQtcm93OiAxO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAgIC5wYWdlLXNpZGViYXItaGVhZGluZyB7XG4gICAgICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgICAgICAgICAgZm9udC1zaXplOiAwLjhlbTtcbiAgICAgICAgICAgIG1hcmdpbjogMTBweCAwIDAgMDtcbiAgICAgICAgICAgIHBhZGRpbmc6IDE1cHggMCAxNXB4IDE1cHg7XG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgIGJvcmRlci10b3A6IDNweCBzb2xpZCAkbWVkaXVtR3JheTtcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRncmF5O1xuICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDkwMDtcbiAgICAgICAgICAgIGNvbG9yOiAkb2ZmV2hpdGU7XG5cbiAgICAgICAgICAgICY6Zmlyc3QtY2hpbGQge1xuICAgICAgICAgICAgICBtYXJnaW46IDAgMCAwIDA7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgLnNpZGUtbmF2IHtcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgaGVpZ2h0OiBhdXRvO1xuXG4gICAgICAgICAgICB1bC5tZW51IHtcbiAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICAgIGhlaWdodDogYXV0bztcbiAgICAgICAgICAgICAgLy9kaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAgICAvL2ZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICAgICAgICAgIC8vYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG4gICAgICAgICAgICAgIC8vY29sdW1uLWdhcDogYXV0bztcbiAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGdyYXk7XG4gICAgICAgICAgICAgIC8vYm9yZGVyLXRvcDogMXB4IHNvbGlkICRncmF5O1xuXG4gICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRtZWRpdW1HcmF5O1xuXG4gICAgICAgICAgICAgIGxpIHtcbiAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgICAgICBtaW4taGVpZ2h0OiA0NXB4O1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG4gICAgICAgICAgICAgICAgLy9ib3JkZXItdG9wOiB1bnNldDtcbiAgICAgICAgICAgICAgICAvL2JvcmRlci1ib3R0b206IDFweCBzb2xpZCAkZ3JheTtcbiAgICAgICAgICAgICAgICAvL3Bvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgICAgICAgICBsaW5lLWhlaWdodDogNDVweDtcblxuICAgICAgICAgICAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAkb2ZmV2hpdGU7XG5cbiAgICAgICAgICAgICAgICBhIHtcbiAgICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgICAgICAgaGVpZ2h0OiA0NXB4O1xuICAgICAgICAgICAgICAgICAgcGFkZGluZzogMCAwIDAgMTVweDtcbiAgICAgICAgICAgICAgICAgIC8vcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICAgICAgICAgICAgLy9kaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAgICAgICAgLy9hbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICAgICAgICAgICAgLy9saXN0LXN0eWxlOiBub25lO1xuICAgICAgICAgICAgICAgICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gICAgICAgICAgICAgICAgICBmb250LXNpemU6IDAuOHJlbTtcbiAgICAgICAgICAgICAgICAgIC8vdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICAgICAgICAgICAgICAgIGNvbG9yOiAkb2ZmV2hpdGU7XG4gICAgICAgICAgICAgICAgICBsaW5lLWhlaWdodDogNDVweDtcblxuICAgICAgICAgICAgICAgICAgY29sb3I6ICRibGFjaztcblxuICAgICAgICAgICAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICAgICAgICAgIGNvbG9yOiAkZGFya0JsdWU7XG4gICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgLyouY3VycmVudF9wYWdlX2l0ZW0ge1xuICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGdyYXk7XG4gICAgICAgICAgICAgICAgICBjb2xvcjogJG9mZldoaXRlO1xuXG4gICAgICAgICAgICAgICAgICBhIHtcbiAgICAgICAgICAgICAgICAgICAgY29sb3I6ICRvZmZXaGl0ZTtcbiAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9Ki9cblxuICAgICAgICAgICAgICAgIC5uYXYtY2hldnJvbiB7XG4gICAgICAgICAgICAgICAgICAvL2Rpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICAgICAgICAvL3Bvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgICAgICAgIC8vcmlnaHQ6IDA7XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgdWwuc3ViLW1lbnUge1xuICAgICAgICAgICAgICAgICAgLy90b3A6IDM1cHg7XG4gICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkbWVkaXVtR3JheTtcblxuICAgICAgICAgICAgICAgICAgbGkge1xuICAgICAgICAgICAgICAgICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgJG9mZldoaXRlO1xuXG4gICAgICAgICAgICAgICAgICAgIGEge1xuICAgICAgICAgICAgICAgICAgICAgIHBhZGRpbmctbGVmdDogMzBweDtcbiAgICAgICAgICAgICAgICAgICAgICBjb2xvcjogJGJsYWNrO1xuICAgICAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAgICAgdWwuc3ViLW1lbnUge1xuICAgICAgICAgICAgICAgICAgICAgIC8vdG9wOiAzNXB4O1xuICAgICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRvZmZXaGl0ZTtcblxuICAgICAgICAgICAgICAgICAgICAgIGxpIHtcblxuICAgICAgICAgICAgICAgICAgICAgICAgYSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgIHBhZGRpbmctbGVmdDogNDVweDtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG5cbiAgICAgICAgICAubGlzdGluZ3Mge1xuXG4gICAgICAgICAgfVxuICAgICAgICAgICAgLmxpc3Rpbmcge1xuICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAyMHB4O1xuICAgICAgICAgICAgICBwYWRkaW5nLWJvdHRvbTogMjBweDtcbiAgICAgICAgICAgICAgZGlzcGxheTogZ3JpZDtcbiAgICAgICAgICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAyODBweCAxZnI7XG4gICAgICAgICAgICAgIGJvcmRlci1ib3R0b206IDJweCBzb2xpZCAkbGlnaHRHcmF5O1xuXG4gICAgICAgICAgICAgICY6bGFzdC1jaGlsZCB7XG4gICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICAgICAgICAgICAgICBwYWRkaW5nLWJvdHRvbTogMTVweDtcbiAgICAgICAgICAgICAgICBib3JkZXItYm90dG9tOiBub25lO1xuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAgIC5saXN0aW5nLWxlZnQge1xuICAgICAgICAgICAgICAgIHBhZGRpbmc6IDIwcHg7XG4gICAgICAgICAgICAgICAgZ3JpZC1jb2x1bW46IDEgLyBzcGFuIDE7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGRhcmtCbHVlO1xuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMC45cmVtO1xuICAgICAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuXG4gICAgICAgICAgICAgICAgaW1nIHtcbiAgICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMTBweDtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAubGlzdGluZy1yaWdodCB7XG4gICAgICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiAyMHB4O1xuICAgICAgICAgICAgICAgIGdyaWQtY29sdW1uOiAyIC8gc3BhbiAxO1xuICAgICAgICAgICAgICB9XG5cbi5jb21pbmctc29vbi13cmFwIHtcbiAgQGluY2x1ZGUgd3JhcDtcbn1cbiAgLmNvbWluZy1zb29uIHtcbiAgICBAaW5jbHVkZSBpbm5lci13cmFwO1xuICAgIEBpbmNsdWRlIGNvbnRhaW5lcjtcbiAgICBAaW5jbHVkZSBzcGFjZXItdG9wO1xuICAgIEBpbmNsdWRlIHNwYWNlci1ib3R0b207XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuXG4gICAgaDIge1xuICAgICAgY29sb3I6ICRicmFuZFByaW1hcnk7XG4gICAgfVxuICB9XG5cbi8qXG4gIC5wYWdlLXNlYXJjaC1zZWFyY2gtd3JhcCB7XG4gICAgQGluY2x1ZGUgd3JhcDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYnJhbmRQcmltYXJ5O1xuICB9XG4gICAgLnBhZ2Utc2VhcmNoLXNlYXJjaC13cmFwIHtcbiAgICAgIEBpbmNsdWRlIGNvbnRhaW5lcjtcbiAgICAgIC8vQGluY2x1ZGUgc3BhY2VyLXRvcDtcbiAgICB9XG5cbiAgLnBhZ2Utc2VhcmNoLXdyYXAge1xuICAgIEBpbmNsdWRlIHdyYXA7XG4gIH1cbiAgICAucGFnZS1zZWFyY2gtd3JhcCB7XG4gICAgICBAaW5jbHVkZSBjb250YWluZXI7XG4gICAgICBAaW5jbHVkZSBzcGFjZXItdG9wO1xuICAgIH1cbiovXG4iLCIvKipcbiogRm9vdGVyIHN0eWxlc1xuKi9cblxuLmZvb3Rlci13cmFwIHtcbiAgZ3JpZC1yb3ctc3RhcnQ6IDM7IC8vIGZvciBzdGlja3kgZm9vdGVyXG4gIGdyaWQtcm93LWVuZDogNDsgLy8gZm9yIHN0aWNreSBmb290ZXJcbiAgYmFja2dyb3VuZC1jb2xvcjogJGJyYW5kUHJpbWFyeTtcbiAgLy9ib3JkZXItdG9wOiAzcHggc29saWQgbGlnaHRlbigkYnJhbmRQcmltYXJ5LCAxMCUpO1xuICBib3JkZXItdG9wOiAzcHggc29saWQgJG9mZldoaXRlO1xufVxuICAuZm9vdGVyIHtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjsgLy8gZXh0ZW5kcyBoZWlnaHQgdG8gYWNjb21vZGF0ZSBjb250ZW50J3MgbWFyZ2luXG4gICAgcGFkZGluZy10b3A6IDJyZW07XG4gICAgcGFkZGluZy1ib3R0b206IDJyZW07XG4gICAgY29sb3I6ICRvZmZXaGl0ZTtcbiAgfVxuICAgIC5mb290ZXItbmF2IHtcbiAgICAgIC8vd2lkdGg6IDEwMCU7XG4gICAgICBwYWRkaW5nLWJvdHRvbTogMzBweDtcbiAgICAgIGRpc3BsYXk6IG5vbmU7XG5cbiAgICAgIEBpbmNsdWRlIG1lZGlhKFwiPj10YWJsZXRcIikge1xuICAgICAgICAvL0BpbmNsdWRlIGNvbnRhaW5lcjtcbiAgICAgICAgLy9wYWRkaW5nLWxlZnQ6IDA7IC8vIG5lZ2F0ZSBsZWZ0IHBhZGRpbmcgZnJvbSAnY29udGFpbmVyJyBtaXhpbiBeXl5cbiAgICAgICAgd2lkdGg6IGF1dG87XG4gICAgICAgIC8vaGVpZ2h0OiA2NXB4O1xuICAgICAgICAvL3Bvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgLy90b3A6IDM1cHg7XG4gICAgICAgIC8vcmlnaHQ6IDA7XG4gICAgICB9XG5cbiAgICAgIHVsIHtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIGhlaWdodDogYXV0bztcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgbGlzdC1zdHlsZTogbm9uZTtcbiAgICAgICAgLy9jb2x1bW4tZ2FwOiBhdXRvO1xuICAgICAgICAvL2JvcmRlci10b3A6IDFweCBzb2xpZCAkZ3JheTtcblxuICAgICAgICBAaW5jbHVkZSBtZWRpYShcIj49dGFibGV0XCIpIHtcbiAgICAgICAgICB3aWR0aDogYXV0bztcbiAgICAgICAgICAvL2hlaWdodDogNjVweDtcbiAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICAgICAgICAgIC8vY29sdW1uLWdhcDogMTBweDtcbiAgICAgICAgICAvL2JvcmRlci10b3A6IHVuc2V0O1xuICAgICAgICB9XG5cbiAgICAgICAgbGkge1xuICAgICAgICAgIEBpbmNsdWRlIGNvbnRhaW5lcjtcbiAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICBoZWlnaHQ6IDQ1cHg7XG4gICAgICAgICAgbGlzdC1zdHlsZTogbm9uZTtcbiAgICAgICAgICAvL2JvcmRlci10b3A6IHVuc2V0O1xuICAgICAgICAgIC8vYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICRncmF5O1xuICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAgICAgICAgICY6aG92ZXIgPiB1bCB7XG5cbiAgICAgICAgICB9XG5cbiAgICAgICAgICBAaW5jbHVkZSBtZWRpYShcIj49dGFibGV0XCIpIHtcbiAgICAgICAgICAgIC8vcGFkZGluZy1yaWdodDogMDsgLy8gbmVnYXRlICdjb250YWluZXInIG1peGluIF5eXlxuICAgICAgICAgICAgLy9wYWRkaW5nLWxlZnQ6IDA7IC8vIG5lZ2F0ZSAnY29udGFpbmVyJyBtaXhpbiBeXl5cbiAgICAgICAgICAgIHdpZHRoOiBhdXRvO1xuICAgICAgICAgICAgLy9oZWlnaHQ6IDY1cHg7XG4gICAgICAgICAgICAvL2JvcmRlci10b3A6IDNweCBzb2xpZCAkZ3JheTtcbiAgICAgICAgICAgIC8vYm9yZGVyLWJvdHRvbTogdW5zZXQ7XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgYSB7XG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgIGhlaWdodDogNDVweDtcbiAgICAgICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgICAgIC8vbGlzdC1zdHlsZTogbm9uZTtcbiAgICAgICAgICAgIC8vZm9udC13ZWlnaHQ6IGJvbGQ7XG4gICAgICAgICAgICBmb250LXNpemU6IDFyZW07XG4gICAgICAgICAgICAvL3RleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgICAgICAgICBjb2xvcjogJG9mZldoaXRlO1xuICAgICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuXG4gICAgICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICAgICAgLy9jb2xvcjogJGRhcmtCbHVlO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBAaW5jbHVkZSBtZWRpYShcIj49dGFibGV0XCIpIHtcbiAgICAgICAgICAgICAgd2lkdGg6IGF1dG87XG4gICAgICAgICAgICAgIC8vaGVpZ2h0OiA2NXB4O1xuICAgICAgICAgICAgICBwYWRkaW5nOiAwIDVweDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICAuY29weXJpZ2h0IHtcbiAgICAgIG1hcmdpbjogMDtcbiAgICAgIHBhZGRpbmc6IDA7XG4gICAgICBmb250LXNpemU6IDEwcHg7XG4gICAgfVxuIiwiLyoqXG4qIE1pc2NlbGxhbmVvdXMgc3R5bGVzXG4qL1xuIiwiQGltcG9ydCAnX2NvbW1vbic7ICAgICAgLy8gY29tbW9uIHN0eWxlc1xuXG4vL0BpbXBvcnQgJ3BhcnRpYWxzL3BhZ2VzL19ob21lJzsgICAgICAvLyBob21lIHBhZ2Ugc3R5bGVzXG5cbi5ob21lLWJhbm5lciB7XG4gIHdpZHRoOiAxMDAlO1xuICAvL21pbi1oZWlnaHQ6IDMwMHB4O1xuICAvL2hlaWdodDogY2FsYyg0NXZoIC0gMTIwcHgpO1xuICBtaW4taGVpZ2h0OiAzMDBweDtcbiAgaGVpZ2h0OiBhdXRvO1xuICAvL2JhY2tncm91bmQtaW1hZ2U6IHVybChcIi4uL2ltYWdlcy9ob21lX2Jhbm5lci5qcGdcIik7XG4gIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gIGJhY2tncm91bmQtc2l6ZTogY292ZXI7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlcjtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gIEBpbmNsdWRlIG1lZGlhKFwiPj10YWJsZXRcIikge1xuICAgIC8vbWluLWhlaWdodDogNDAwcHg7XG4gICAgLy9oZWlnaHQ6IGNhbGMoNTV2aCAtIDEyMHB4KTtcbiAgfVxufVxuICAuaG9tZS1iYW5uZXItb3ZlcmxheSB7XG5cbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDA7XG4gICAgbGVmdDogMDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkdHJhbnNHcmF5O1xuXG4gICAgLyoubG9nbyB7XG4gICAgICB3aWR0aDogNjBweDtcbiAgICAgIGhlaWdodDogYXV0bztcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHRvcDogMjBweDtcbiAgICAgIHJpZ2h0OiAyMHB4O1xuXG4gICAgICBAaW5jbHVkZSBtZWRpYShcIj49dGFibGV0XCIpIHtcbiAgICAgICAgd2lkdGg6IDEwMHB4O1xuICAgICAgICB0b3A6IDQwcHg7XG4gICAgICAgIHJpZ2h0OiA0MHB4O1xuICAgICAgfVxuICAgIH0qL1xuXG4gICAgICAuaG9tZS1iYW5uZXItYm94LXdyYXAge1xuICAgICAgICBAaW5jbHVkZSBjb250YWluZXI7XG4gICAgICAgIC8vd2lkdGg6IDcwJTtcbiAgICAgICAgLy9tYXgtd2lkdGg6IDEwMCU7XG4gICAgICAgIG1hcmdpbjogMCBhdXRvO1xuICAgICAgICBwYWRkaW5nLXRvcDogJGhlYWRlckhlaWdodE1vYmlsZTtcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICAvL2JvdHRvbTogLTIwcHg7XG4gICAgICAgIC8vcG9zaXRpb246IGFic29sdXRlO1xuXG4gICAgICAgIEBpbmNsdWRlIG1lZGlhKFwiPj10YWJsZXRcIikge1xuICAgICAgICAgIHBhZGRpbmctdG9wOiAkaGVhZGVySGVpZ2h0RGVza3RvcDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgICAuaG9tZS1iYW5uZXItYm94IHtcbiAgICAgICAgICBAaW5jbHVkZSBpbm5lci13cmFwO1xuICAgICAgICAgIC8vQGluY2x1ZGUgY29udGFpbmVyO1xuICAgICAgICAgIEBpbmNsdWRlIHNwYWNlci10b3A7XG4gICAgICAgICAgQGluY2x1ZGUgc3BhY2VyLWJvdHRvbTtcbiAgICAgICAgICB3aWR0aDogYXV0bztcbiAgICAgICAgICAvL21hcmdpbi1ib3R0b206IDMwcHg7XG4gICAgICAgICAgLy9kaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAvL2JhY2tncm91bmQtY29sb3I6ICRkYXJrR3JheTtcbiAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgICAgb3BhY2l0eTogMC44O1xuICAgICAgICAgIG1hcmdpbjogMCBhdXRvO1xuXG4gICAgICAgICAgQGluY2x1ZGUgbWVkaWEoXCI+PXRhYmxldFwiKSB7XG5cbiAgICAgICAgICB9XG5cbiAgICAgICAgICBzcGFuIHtcbiAgICAgICAgICAgIHdpZHRoOiBhdXRvO1xuICAgICAgICAgICAgcGFkZGluZzogMzBweCA0MHB4O1xuICAgICAgICAgICAgZm9udC1zaXplOiAxLjZlbTtcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAxO1xuICAgICAgICAgICAgY29sb3I6ICRvZmZXaGl0ZTtcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuXG4gICAgICAgICAgICBAaW5jbHVkZSBtZWRpYShcIj49dGFibGV0XCIpIHtcbiAgICAgICAgICAgICAgcGFkZGluZzogNDBweCA1MHB4O1xuICAgICAgICAgICAgICBmb250LXNpemU6IDIuOGVtO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAvKmEge1xuICAgICAgICBAaW5jbHVkZSBidXR0b247XG4gICAgICB9Ki9cbiAgICB9XG5cbi5ob21lLWluZm8td3JhcCB7XG4gIEBpbmNsdWRlIHdyYXA7XG4gIGJhY2tncm91bmQtY29sb3I6ICRvZmZXaGl0ZTtcbiAgLy9ib3JkZXItdG9wOiAzcHggc29saWQgbGlnaHRlbigkYnJhbmRQcmltYXJ5LCAxMCUpO1xufVxuICAuaG9tZS1pbmZvIHtcbiAgICBAaW5jbHVkZSBpbm5lci13cmFwO1xuICAgIEBpbmNsdWRlIGNvbnRhaW5lcjtcbiAgICBAaW5jbHVkZSBzcGFjZXItdG9wO1xuICAgIEBpbmNsdWRlIHNwYWNlci1ib3R0b207XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuXG4gICAgaDIge1xuICAgICAgbWFyZ2luLXRvcDogMDtcbiAgICAgIG1hcmdpbi1ib3R0b206IDIwcHg7XG4gICAgICBjb2xvcjogJGJyYW5kUHJpbWFyeTtcbiAgICB9XG5cbiAgICAuaG9tZS1zZWFyY2gge1xuICAgICAgbWFyZ2luLXRvcDogMzBweDtcbiAgICAgIG1hcmdpbi1ib3R0b206IDMwcHg7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYnJhbmRQcmltYXJ5O1xuICAgICAgYm9yZGVyLXJhZGl1czogMjhweCAwO1xuICAgICAgcGFkZGluZy1yaWdodDogMTJweDtcbiAgICAgIHBhZGRpbmctbGVmdDogMTJweDtcblxuICAgICAgLnNpdGUtc2VhcmNoIHtcbiAgICAgICAgLy9AaW5jbHVkZSBjb250YWluZXI7XG4gICAgICAgIHBhZGRpbmctdG9wOiAxMHB4O1xuICAgICAgICBwYWRkaW5nLWJvdHRvbTogMTBweDtcbiAgICAgIH1cblxuICAgICAgLmhlYWRlci1zZWFyY2gtcXVlcnkge1xuXG4gICAgICAgIGlucHV0IHtcbiAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkbWVkaXVtR3JheTtcbiAgICAgICAgICBjb2xvcjogJGJyYW5kUHJpbWFyeTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIHAge1xuICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICAgIGZvbnQtc2l6ZTogMS4ycmVtO1xuICAgICAgY29sb3I6ICRicmFuZFByaW1hcnk7XG4gICAgfVxuXG4gICAgLmJ1dHRvbiB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkb2ZmV2hpdGU7XG4gICAgICBjb2xvcjogJGJyYW5kUHJpbWFyeTtcbiAgICB9XG4gIH1cblxuICAuaG9tZS1ub29rcy13cmFwIHtcbiAgICBAaW5jbHVkZSB3cmFwO1xuICAgIC8vcGFkZGluZy1yaWdodDogNTBweDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkbGlnaHRHcmF5O1xuICAgIC8vYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiLi4vaW1hZ2VzL2JsdWVfd2luZy5wbmdcIik7XG4gICAgLy9iYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICAgIC8vYmFja2dyb3VuZC1wb3NpdGlvbjogLTIwJSAyMCU7XG4gICAgLy9iYWNrZ3JvdW5kLXNpemU6IGF1dG8gNjAlO1xuICB9XG4gICAgLmhvbWUtbm9va3Mge1xuICAgICAgQGluY2x1ZGUgaW5uZXItd3JhcDtcbiAgICAgIEBpbmNsdWRlIGNvbnRhaW5lcjtcbiAgICAgIEBpbmNsdWRlIHNwYWNlci10b3A7XG4gICAgICBAaW5jbHVkZSBzcGFjZXItYm90dG9tO1xuICAgIH1cbiAgICAgIC5ob21lLW5vb2tzLWhlYWRlciB7XG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgcGFkZGluZy1ib3R0b206IDQwcHg7XG4gICAgICAgIGNvbG9yOiAkYnJhbmRQcmltYXJ5O1xuICAgICAgfVxuICAgICAgICAuaG9tZS1ub29rcy1ib29rcyB7XG4gICAgICAgICAgZGlzcGxheTogZ3JpZDtcbiAgICAgICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdCgxLCAxZnIpO1xuICAgICAgICAgIC8vZ3JpZC10ZW1wbGF0ZS1yb3dzOiBhdXRvIGF1dG8gYXV0byBhdXRvIGF1dG87XG4gICAgICAgICAgZ3JpZC1jb2x1bW4tZ2FwOiAwO1xuICAgICAgICAgIGdyaWQtcm93LWdhcDogMzBweDtcblxuICAgICAgICAgIEBpbmNsdWRlIG1lZGlhKFwiPj10YWJsZXRcIikge1xuICAgICAgICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoNiwgMWZyKTtcbiAgICAgICAgICAgIC8vZ3JpZC10ZW1wbGF0ZS1yb3dzOiBhdXRvO1xuICAgICAgICAgICAgZ3JpZC1jb2x1bW4tZ2FwOiAyJTtcbiAgICAgICAgICAgIGdyaWQtcm93LWdhcDogMDtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgICAuaG9tZS1ub29rIHtcbiAgICAgICAgICAgIC8vbWF4LXdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgbWluLXdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgICAgICAvL3dpZHRoOiAxMDAlO1xuICAgICAgICAgICAgLy9oZWlnaHQ6IDEwMCU7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYnJhbmRQcmltYXJ5O1xuICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogNDAlIDAgNDAlIDA7XG4gICAgICAgICAgICBhc3BlY3QtcmF0aW86IDEvMTtcbiAgICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgICAgIGNvbG9yOiAkb2ZmV2hpdGU7XG5cbiAgICAgICAgICAgIC5ob21lLW5vb2staW5uZXIge1xuICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgICAgbWFyZ2luOiAwIGF1dG87XG4gICAgICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgICAgICAgaSB7XG4gICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMTVweDtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IDNyZW07XG4gICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICBoMyB7XG4gICAgICAgICAgICAgICAgLy93aWR0aDogMTAwJTtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgICAgICAvL2NvbG9yOiAkb2ZmV2hpdGU7XG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiAxLjJyZW07XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG5cbi5ob21lLWNvbm5lY3Rpb25zLXdyYXAge1xuICBAaW5jbHVkZSB3cmFwO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkbGlnaHRHcmF5O1xuICAvL2JhY2tncm91bmQtc2l6ZTogY292ZXI7XG4gIC8vYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgLy9iYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXI7XG4gIC8vYmFja2dyb3VuZC1jb2xvcjogJGJyYW5kUHJpbWFyeTtcbiAgLy9iYWNrZ3JvdW5kLWJsZW5kLW1vZGU6IHNjcmVlbjtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xufVxuICAuaG9tZS1jb25uZWN0aW9ucy1vdmVybGF5IHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMDtcbiAgICBsZWZ0OiAwO1xuICAgIC8vei1pbmRleDogMjtcbiAgICAvL2JhY2tncm91bmQtaW1hZ2U6IGxpbmVhci1ncmFkaWVudChkYXJrZW4oJHRyYW5zR3JheSwgNDAlKSwgZGFya2VuKCR0cmFuc0dyYXksIDIwJSkpO1xuICAgIC8vb3BhY2l0eTogMC43O1xuICAgIC8vYmFja2dyb3VuZC1ibGVuZC1tb2RlOiBtdWx0aXBseTtcbiAgfVxuXG4gIC5ob21lLWNvbm5lY3Rpb25zIHtcbiAgICBAaW5jbHVkZSBpbm5lci13cmFwO1xuICAgIEBpbmNsdWRlIGNvbnRhaW5lcjtcbiAgICBAaW5jbHVkZSBzcGFjZXItdG9wO1xuICAgIEBpbmNsdWRlIHNwYWNlci1ib3R0b207XG4gICAgLy9jb2xvcjogJG9mZldoaXRlO1xuICAgIGNvbG9yOiAkYnJhbmRQcmltYXJ5O1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgei1pbmRleDogMztcblxuICAgIGgyIHtcblxuICAgIH1cblxuICAgIHAge1xuICAgICAgbWFyZ2luLWJvdHRvbTogNDBweDtcbiAgICB9XG4gIH1cbiAgICAuaG9tZS1jb25uZWN0aW9ucy1jb25uZWN0aW9ucyB7XG4gICAgICAvL0BpbmNsdWRlIGlubmVyLXdyYXA7XG4gICAgICAvL0BpbmNsdWRlIGNvbnRhaW5lcjtcbiAgICAgIC8vQGluY2x1ZGUgc3BhY2VyLXRvcDtcbiAgICAgIC8vQGluY2x1ZGUgc3BhY2VyLWJvdHRvbTtcbiAgICAgIGRpc3BsYXk6IGdyaWQ7XG4gICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDFmcjtcbiAgICAgIGdyaWQtdGVtcGxhdGUtcm93czogYXV0byBhdXRvO1xuICAgICAgZ3JpZC1jb2x1bW4tZ2FwOiAwO1xuICAgICAgZ3JpZC1yb3ctZ2FwOiAzMHB4O1xuXG4gICAgICBAaW5jbHVkZSBtZWRpYShcIj49dGFibGV0XCIpIHtcbiAgICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAxZnIgMWZyO1xuICAgICAgICBncmlkLXRlbXBsYXRlLXJvd3M6IGF1dG87XG4gICAgICAgIGdyaWQtY29sdW1uLWdhcDogNSU7XG4gICAgICAgIGdyaWQtcm93LWdhcDogMDtcbiAgICAgIH1cbiAgICB9XG4gICAgICAuaG9tZS1jb25uZWN0aW9uIHtcbiAgICAgICAgbWluLWhlaWdodDogMjgwcHg7XG4gICAgICAgIG1heC13aWR0aDogMTAwJTtcbiAgICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyO1xuICAgICAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICAgICAgICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDI1cHggMDtcbiAgICAgICAgLy9ib3JkZXI6IDJweCBzb2xpZCAkb2ZmV2hpdGU7XG4gICAgICAgIGJvcmRlcjogMnB4IHNvbGlkICRicmFuZFByaW1hcnk7XG5cbiAgICAgICAgJjpudGgtY2hpbGQoMSkge1xuICAgICAgICAgIGdyaWQtY29sdW1uOiAxIC8gc3BhbiAxO1xuICAgICAgICAgIGdyaWQtcm93OiAxIC8gc3BhbiAxO1xuXG4gICAgICAgICAgQGluY2x1ZGUgbWVkaWEoXCI+PXRhYmxldFwiKSB7XG4gICAgICAgICAgICBncmlkLWNvbHVtbjogMSAvIHNwYW4gMTtcbiAgICAgICAgICAgIGdyaWQtcm93OiAxIC8gc3BhbiAxO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgICY6bnRoLWNoaWxkKDIpIHtcbiAgICAgICAgICBncmlkLWNvbHVtbjogMSAvIHNwYW4gMTtcbiAgICAgICAgICBncmlkLXJvdzogMiAvIHNwYW4gMTtcblxuICAgICAgICAgIEBpbmNsdWRlIG1lZGlhKFwiPj10YWJsZXRcIikge1xuICAgICAgICAgICAgZ3JpZC1jb2x1bW46IDIgLyBzcGFuIDE7XG4gICAgICAgICAgICBncmlkLXJvdzogMSAvIHNwYW4gMTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAvKiY6bnRoLWNoaWxkKDMpIHtcbiAgICAgICAgICBncmlkLWNvbHVtbjogMSAvIHNwYW4gMTtcbiAgICAgICAgICBncmlkLXJvdzogMyAvIHNwYW4gMTtcblxuICAgICAgICAgIEBpbmNsdWRlIG1lZGlhKFwiPj10YWJsZXRcIikge1xuICAgICAgICAgICAgZ3JpZC1jb2x1bW46IDMgLyBzcGFuIDE7XG4gICAgICAgICAgICBncmlkLXJvdzogMSAvIHNwYW4gMTtcbiAgICAgICAgICB9XG4gICAgICAgIH0qL1xuXG4gICAgICAgIGEge1xuICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgICAgIC5ob21lLWNvbm5lY3Rpb24tdGl0bGUge1xuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICBtaW4taGVpZ2h0OiA2MHB4O1xuICAgICAgICAgICAgcGFkZGluZzogMTVweDtcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICR0cmFuc0dyYXk7XG4gICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgYm90dG9tOiAwO1xuICAgICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICAgICAgICAgICAgY29sb3I6ICNmZmY7XG4gICAgICAgICAgICBib3JkZXItcmFkaXVzOiAwIDAgMjVweCAwO1xuICAgICAgICAgIH1cbiJdfQ== */
